Merge pull request 'master' (#250) from master into prod
Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/250
This commit is contained in:
@@ -14,37 +14,37 @@
|
|||||||
{{ btn.name }}
|
{{ btn.name }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<!-- 列显示配置 -->
|
</div>
|
||||||
<div v-if="isSettingCol">
|
<!-- 列显示配置 -->
|
||||||
<el-tooltip effect="dark" content="列配置" placement="bottom">
|
<div v-if="isSettingCol" style="float: right">
|
||||||
<el-button ref="buttonRef" link>
|
<el-tooltip effect="dark" content="列配置" placement="bottom">
|
||||||
<el-icon size="18"><Setting /></el-icon>
|
<el-button ref="buttonRef" link>
|
||||||
</el-button>
|
<el-icon size="18"><Setting /></el-icon>
|
||||||
</el-tooltip>
|
</el-button>
|
||||||
<el-popover
|
</el-tooltip>
|
||||||
|
<el-popover
|
||||||
placement="bottom"
|
placement="bottom"
|
||||||
:width="200"
|
:width="200"
|
||||||
ref="popoverRef"
|
ref="popoverRef"
|
||||||
:virtual-ref="buttonRef"
|
:virtual-ref="buttonRef"
|
||||||
virtual-triggering
|
virtual-triggering
|
||||||
trigger="click">
|
trigger="click">
|
||||||
<div class="col-setting-checkall">
|
<div class="col-setting-checkall">
|
||||||
<el-checkbox label="列展示" v-model="localData.allColShow" :indeterminate="localData.indeterminate" @change="changeIsShowAll"></el-checkbox>
|
<el-checkbox label="列展示" v-model="localData.allColShow" :indeterminate="localData.indeterminate" @change="changeIsShowAll"></el-checkbox>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-setting-list">
|
<div class="col-setting-list">
|
||||||
<el-checkbox-group v-model="localData.checkGroup" @change="changeColShow">
|
<el-checkbox-group v-model="localData.checkGroup" @change="changeColShow">
|
||||||
<el-space direction="vertical" alignment="flex-start" :size="0">
|
<el-space direction="vertical" alignment="flex-start" :size="0">
|
||||||
<el-checkbox
|
<el-checkbox
|
||||||
v-for="item in tableConfig.columns"
|
v-for="item in tableConfig.columns"
|
||||||
:key="item.prop"
|
:key="item.prop"
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
:value="item.prop"
|
:value="item.prop"
|
||||||
/>
|
/>
|
||||||
</el-space>
|
</el-space>
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
</div>
|
</div>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- 表格部分 -->
|
<!-- 表格部分 -->
|
||||||
<div class="fv-table">
|
<div class="fv-table">
|
||||||
|
|||||||
@@ -8,39 +8,75 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="jsx">
|
<script setup lang="jsx">
|
||||||
|
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const searchConfig = reactive([
|
const searchConfig = reactive([
|
||||||
{
|
{
|
||||||
label: '需求名称',
|
label: '项目名称',
|
||||||
prop: 'requirementName',
|
prop: 'projectName',
|
||||||
component: 'el-input',
|
component: 'el-input',
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请输入需求名称查询',
|
placeholder: '请输入项目名称查询',
|
||||||
clearable: true,
|
|
||||||
filterable: true,
|
|
||||||
checkStrictly: true
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
label: '项目费用',
|
|
||||||
prop: 'requirementName',
|
|
||||||
component: 'el-input',
|
|
||||||
props: {
|
|
||||||
placeholder: '请输入项目费用查询',
|
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
checkStrictly: true
|
checkStrictly: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '起始时间',
|
label: '时间',
|
||||||
prop: 'time',
|
prop: 'time',
|
||||||
component: 'el-date-picker',
|
component: 'el-date-picker',
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请选择起始时间',
|
placeholder: '请选择时间',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
|
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
||||||
},
|
},
|
||||||
colProps: {}
|
colProps: {}
|
||||||
|
}, {
|
||||||
|
label: '项目费用',
|
||||||
|
prop: 'requirementName',
|
||||||
|
component: shallowRef(fvSelect),
|
||||||
|
props: {
|
||||||
|
placeholder: '请选择项目费用查询',
|
||||||
|
clearable: true,
|
||||||
|
filterable: true,
|
||||||
|
cacheKey: 'project_cost',
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
label: '研发阶段',
|
||||||
|
prop: 'researchStage',
|
||||||
|
component: shallowRef(fvSelect),
|
||||||
|
props: {
|
||||||
|
placeholder: '请选择研发阶段查询',
|
||||||
|
clearable: true,
|
||||||
|
filterable: true,
|
||||||
|
checkStrictly: true,
|
||||||
|
cacheKey: 'research_stage',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '税后余额',
|
||||||
|
prop: 'afterTax',
|
||||||
|
component: 'el-input',
|
||||||
|
props: {
|
||||||
|
placeholder: '请输入税后余额查询',
|
||||||
|
clearable: true,
|
||||||
|
filterable: true,
|
||||||
|
checkStrictly: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '摘要',
|
||||||
|
prop: 'digest',
|
||||||
|
component: 'el-input',
|
||||||
|
props: {
|
||||||
|
placeholder: '请输入摘要查询',
|
||||||
|
clearable: true,
|
||||||
|
filterable: true,
|
||||||
|
checkStrictly: true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
const tableIns = ref()
|
const tableIns = ref()
|
||||||
|
|||||||
@@ -8,29 +8,49 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="jsx">
|
<script setup lang="jsx">
|
||||||
|
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const searchConfig = reactive([
|
const searchConfig = reactive([
|
||||||
{
|
{
|
||||||
label: '项目名称',
|
label: '分摊名称',
|
||||||
prop: 'projectName',
|
prop: 'shareName',
|
||||||
component: 'el-input',
|
component: 'el-input',
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请输入项目名称查询',
|
placeholder: '请输入分摊名称查询',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
checkStrictly: true
|
checkStrictly: true
|
||||||
}
|
}
|
||||||
},
|
},{
|
||||||
{
|
label: '分摊月份',
|
||||||
label: '起始时间',
|
prop: 'apportionmentMonth',
|
||||||
prop: 'time',
|
|
||||||
component: 'el-date-picker',
|
component: 'el-date-picker',
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请选择起始时间',
|
placeholder: '请选择分摊月份',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
},
|
},
|
||||||
colProps: {}
|
colProps: {}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: '生成时间',
|
||||||
|
prop: 'generationTime',
|
||||||
|
component: 'el-date-picker',
|
||||||
|
props: {
|
||||||
|
placeholder: '请选择生成时间',
|
||||||
|
clearable: true,
|
||||||
|
},
|
||||||
|
colProps: {}
|
||||||
|
}, {
|
||||||
|
label: '状态',
|
||||||
|
prop: 'state',
|
||||||
|
component: shallowRef(fvSelect),
|
||||||
|
props: {
|
||||||
|
placeholder: '请选择状态',
|
||||||
|
clearable: true,
|
||||||
|
cacheKey: 'special_fund'
|
||||||
|
}
|
||||||
|
},
|
||||||
])
|
])
|
||||||
const tableIns = ref()
|
const tableIns = ref()
|
||||||
const tableConfig = reactive({
|
const tableConfig = reactive({
|
||||||
|
|||||||
@@ -38,7 +38,17 @@ const searchConfig = reactive([
|
|||||||
filterable: true,
|
filterable: true,
|
||||||
cacheKey: 'todo_type'
|
cacheKey: 'todo_type'
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
label: '状态',
|
||||||
|
prop: 'state',
|
||||||
|
component: shallowRef(fvSelect),
|
||||||
|
props: {
|
||||||
|
placeholder: '请选择状态',
|
||||||
|
clearable: true,
|
||||||
|
cacheKey: 'demand_collection'
|
||||||
|
}
|
||||||
|
},
|
||||||
])
|
])
|
||||||
const tableIns = ref()
|
const tableIns = ref()
|
||||||
const userInfo = ref(authStore.userinfo)
|
const userInfo = ref(authStore.userinfo)
|
||||||
|
|||||||
@@ -12,33 +12,63 @@ import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
|||||||
import {reactive, shallowRef} from "vue";
|
import {reactive, shallowRef} from "vue";
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
const shortcuts = [
|
||||||
|
{
|
||||||
|
text: '上周',
|
||||||
|
value: () => {
|
||||||
|
const end = new Date()
|
||||||
|
const start = new Date()
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
|
||||||
|
return [start, end]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '上月',
|
||||||
|
value: () => {
|
||||||
|
const end = new Date()
|
||||||
|
const start = new Date()
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
|
||||||
|
return [start, end]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '三月前',
|
||||||
|
value: () => {
|
||||||
|
const end = new Date()
|
||||||
|
const start = new Date()
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
|
||||||
|
return [start, end]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]
|
||||||
const searchConfig = reactive([
|
const searchConfig = reactive([
|
||||||
{
|
{
|
||||||
label: '需求名称',
|
label: '项目名称',
|
||||||
prop: 'requirementName',
|
prop: 'projectName',
|
||||||
component: 'el-input',
|
component: 'el-input',
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请输入需求名称查询',
|
placeholder: '请输入项目名称查询',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
|
||||||
checkStrictly: true
|
checkStrictly: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '项目类型',
|
label: '项目类型',
|
||||||
prop: 'collectType',
|
prop: 'projectType',
|
||||||
component: shallowRef(fvSelect),
|
component: shallowRef(fvSelect),
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请选择项目类型',
|
placeholder: '请选择项目类型',
|
||||||
|
cacheKey: 'project_type',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '项目影响',
|
label: '项目影响',
|
||||||
prop: 'projectEffect',
|
prop: 'projectImpact',
|
||||||
component: shallowRef(fvSelect),
|
component: shallowRef(fvSelect),
|
||||||
props: {
|
props: {
|
||||||
|
cacheKey: 'project_impact',
|
||||||
placeholder: '请选择项目影响',
|
placeholder: '请选择项目影响',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
@@ -47,47 +77,60 @@ const searchConfig = reactive([
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '研发主体',
|
label: '研发主体',
|
||||||
prop: 'collectType',
|
prop: 'rdSubject',
|
||||||
component: shallowRef(fvSelect),
|
component: shallowRef(fvSelect),
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请选择研发主体',
|
placeholder: '请选择研发主体',
|
||||||
|
cacheKey: 'rd_subject',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
label: '起始时间',
|
label: '起止时间',
|
||||||
prop: 'time',
|
prop: 'dateValue',
|
||||||
component: 'el-date-picker',
|
component: 'el-date-picker',
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请选择起止时间',
|
|
||||||
clearable: true,
|
clearable: true,
|
||||||
},
|
type: 'datetimerange',
|
||||||
colProps: {}
|
startPlaceholder: '开始日期',
|
||||||
},
|
endPlaceholder: '结束日期',
|
||||||
{
|
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
||||||
label: '最小金额',
|
shortcuts: shortcuts
|
||||||
prop: 'requirementName',
|
|
||||||
component: 'el-input',
|
|
||||||
props: {
|
|
||||||
placeholder: '请输入金额查询',
|
|
||||||
clearable: true,
|
|
||||||
filterable: true,
|
|
||||||
checkStrictly: true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '最大金额',
|
label: '状态',
|
||||||
prop: 'requirementName',
|
prop: 'state',
|
||||||
component: 'el-input',
|
component: shallowRef(fvSelect),
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请输入金额查询',
|
placeholder: '请选择状态',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
cacheKey: 'project_initiation'
|
||||||
checkStrictly: true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// label: '最小金额',
|
||||||
|
// prop: 'requirementName',
|
||||||
|
// component: 'el-input',
|
||||||
|
// props: {
|
||||||
|
// placeholder: '请输入金额查询',
|
||||||
|
// clearable: true,
|
||||||
|
// filterable: true,
|
||||||
|
// checkStrictly: true
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// label: '最大金额',
|
||||||
|
// prop: 'requirementName',
|
||||||
|
// component: 'el-input',
|
||||||
|
// props: {
|
||||||
|
// placeholder: '请输入金额查询',
|
||||||
|
// clearable: true,
|
||||||
|
// filterable: true,
|
||||||
|
// checkStrictly: true
|
||||||
|
// }
|
||||||
|
// },
|
||||||
])
|
])
|
||||||
const tableIns = ref()
|
const tableIns = ref()
|
||||||
const tableConfig = reactive({
|
const tableConfig = reactive({
|
||||||
@@ -130,7 +173,10 @@ const tableConfig = reactive({
|
|||||||
{
|
{
|
||||||
prop: 'startTime',
|
prop: 'startTime',
|
||||||
label: '起止时间',
|
label: '起止时间',
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
currentRender: ({row}) => {
|
||||||
|
return row.startTime + ' 至 ' + row.endTime
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'taskNode',
|
prop: 'taskNode',
|
||||||
@@ -142,7 +188,7 @@ const tableConfig = reactive({
|
|||||||
label: '状态',
|
label: '状态',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
showOverflowTooltip: false,
|
showOverflowTooltip: false,
|
||||||
currentRender: ({row, index}) =>{
|
currentRender: ({row, index}) => {
|
||||||
if (row.state !== null) {
|
if (row.state !== null) {
|
||||||
return (<Tag dictType={'project_initiation'} value={row.state}/>)
|
return (<Tag dictType={'project_initiation'} value={row.state}/>)
|
||||||
} else {
|
} else {
|
||||||
@@ -162,13 +208,18 @@ const tableConfig = reactive({
|
|||||||
btn.push({label: '详情', prem: ['mosr:requirement:info'], func: () => handleDetail(row), type: 'primary'})
|
btn.push({label: '详情', prem: ['mosr:requirement:info'], func: () => handleDetail(row), type: 'primary'})
|
||||||
}
|
}
|
||||||
if (buttons.has("attachments")) {
|
if (buttons.has("attachments")) {
|
||||||
btn.push({label: '附件',prem: ['mosr:requirement:resubmit'], func: () => handleAttachment(row), type: 'primary'})
|
btn.push({
|
||||||
|
label: '附件',
|
||||||
|
prem: ['mosr:requirement:resubmit'],
|
||||||
|
func: () => handleAttachment(row),
|
||||||
|
type: 'primary'
|
||||||
|
})
|
||||||
}
|
}
|
||||||
if (buttons.has("entry")) {
|
if (buttons.has("entry")) {
|
||||||
btn.push({label: '结项',prem: ['mosr:requirement:del'], func: () => handleConclusion(row), type: 'primary'})
|
btn.push({label: '结项', prem: ['mosr:requirement:del'], func: () => handleConclusion(row), type: 'primary'})
|
||||||
}
|
}
|
||||||
if (buttons.has("edit")) {
|
if (buttons.has("edit")) {
|
||||||
btn.push({label: '编辑',prem: ['mosr:requirement:info'], func: () => handleEdit(row), type: 'primary'})
|
btn.push({label: '编辑', prem: ['mosr:requirement:info'], func: () => handleEdit(row), type: 'primary'})
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div style={{width: '100%'}}>
|
<div style={{width: '100%'}}>
|
||||||
@@ -194,13 +245,19 @@ const tableConfig = reactive({
|
|||||||
})
|
})
|
||||||
|
|
||||||
const search = (val) => {
|
const search = (val) => {
|
||||||
tableConfig.params = {...val}
|
let obj = {...val}
|
||||||
|
if (obj.dateValue) {
|
||||||
|
obj.startTime = obj.dateValue[0]
|
||||||
|
obj.endTime = obj.dateValue[1]
|
||||||
|
delete obj.dateValue
|
||||||
|
}
|
||||||
|
tableConfig.params = obj
|
||||||
tableIns.value.refresh()
|
tableIns.value.refresh()
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleDetail = (row) => {
|
const handleDetail = (row) => {
|
||||||
router.push({
|
router.push({
|
||||||
name:'Implementation/detail',
|
name: 'Implementation/detail',
|
||||||
query: {
|
query: {
|
||||||
id: row.requirementId,
|
id: row.requirementId,
|
||||||
projectId: row.projectId,
|
projectId: row.projectId,
|
||||||
@@ -211,7 +268,7 @@ const handleDetail = (row) => {
|
|||||||
}
|
}
|
||||||
const handleAttachment = (row) => {
|
const handleAttachment = (row) => {
|
||||||
router.push({
|
router.push({
|
||||||
name:'Filing/attachment',
|
name: 'Filing/attachment',
|
||||||
query: {
|
query: {
|
||||||
id: row.requirementId,
|
id: row.requirementId,
|
||||||
projectId: row.projectId
|
projectId: row.projectId
|
||||||
@@ -220,7 +277,7 @@ const handleAttachment = (row) => {
|
|||||||
}
|
}
|
||||||
const handleConclusion = (row) => {
|
const handleConclusion = (row) => {
|
||||||
router.push({
|
router.push({
|
||||||
name:'Filing/conclusion',
|
name: 'Filing/conclusion',
|
||||||
query: {
|
query: {
|
||||||
id: row.requirementId,
|
id: row.requirementId,
|
||||||
projectId: row.projectId
|
projectId: row.projectId
|
||||||
@@ -229,7 +286,7 @@ const handleConclusion = (row) => {
|
|||||||
}
|
}
|
||||||
const handleEdit = (row) => {
|
const handleEdit = (row) => {
|
||||||
router.push({
|
router.push({
|
||||||
name:'Filing/edit',
|
name: 'Filing/edit',
|
||||||
query: {
|
query: {
|
||||||
id: row.requirementId,
|
id: row.requirementId,
|
||||||
projectId: row.projectId
|
projectId: row.projectId
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="jsx">
|
<script setup lang="jsx">
|
||||||
|
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
@@ -24,26 +25,59 @@ const searchConfig = reactive([
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
label: '时间',
|
||||||
|
prop: 'time',
|
||||||
|
component: 'el-date-picker',
|
||||||
|
props: {
|
||||||
|
placeholder: '请选择时间',
|
||||||
|
clearable: true,
|
||||||
|
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
||||||
|
},
|
||||||
|
colProps: {}
|
||||||
|
}, {
|
||||||
label: '项目费用',
|
label: '项目费用',
|
||||||
prop: 'projectCost',
|
prop: 'requirementName',
|
||||||
|
component: shallowRef(fvSelect),
|
||||||
|
props: {
|
||||||
|
placeholder: '请选择项目费用查询',
|
||||||
|
clearable: true,
|
||||||
|
filterable: true,
|
||||||
|
cacheKey: 'project_cost',
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
label: '研发阶段',
|
||||||
|
prop: 'researchStage',
|
||||||
|
component: shallowRef(fvSelect),
|
||||||
|
props: {
|
||||||
|
placeholder: '请选择研发阶段查询',
|
||||||
|
clearable: true,
|
||||||
|
filterable: true,
|
||||||
|
checkStrictly: true,
|
||||||
|
cacheKey: 'research_stage',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '税后余额',
|
||||||
|
prop: 'afterTax',
|
||||||
component: 'el-input',
|
component: 'el-input',
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请输入项目费用查询',
|
placeholder: '请输入税后余额查询',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
checkStrictly: true
|
checkStrictly: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '起始时间',
|
label: '摘要',
|
||||||
prop: 'time',
|
prop: 'digest',
|
||||||
component: 'el-date-picker',
|
component: 'el-input',
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请选择起始时间',
|
placeholder: '请输入摘要查询',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
},
|
filterable: true,
|
||||||
colProps: {}
|
checkStrictly: true
|
||||||
}
|
}
|
||||||
|
},
|
||||||
])
|
])
|
||||||
const tableConfig = reactive({
|
const tableConfig = reactive({
|
||||||
columns: [
|
columns: [
|
||||||
|
|||||||
@@ -12,6 +12,35 @@ import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
|||||||
import {reactive, shallowRef} from "vue";
|
import {reactive, shallowRef} from "vue";
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
const shortcuts = [
|
||||||
|
{
|
||||||
|
text: '上周',
|
||||||
|
value: () => {
|
||||||
|
const end = new Date()
|
||||||
|
const start = new Date()
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
|
||||||
|
return [start, end]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '上月',
|
||||||
|
value: () => {
|
||||||
|
const end = new Date()
|
||||||
|
const start = new Date()
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
|
||||||
|
return [start, end]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '三月前',
|
||||||
|
value: () => {
|
||||||
|
const end = new Date()
|
||||||
|
const start = new Date()
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
|
||||||
|
return [start, end]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]
|
||||||
const searchConfig = reactive([
|
const searchConfig = reactive([
|
||||||
{
|
{
|
||||||
label: '项目名称',
|
label: '项目名称',
|
||||||
@@ -30,6 +59,7 @@ const searchConfig = reactive([
|
|||||||
component: shallowRef(fvSelect),
|
component: shallowRef(fvSelect),
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请选择项目类型',
|
placeholder: '请选择项目类型',
|
||||||
|
cacheKey: 'project_type',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
}
|
}
|
||||||
@@ -40,6 +70,7 @@ const searchConfig = reactive([
|
|||||||
component: shallowRef(fvSelect),
|
component: shallowRef(fvSelect),
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请选择项目影响',
|
placeholder: '请选择项目影响',
|
||||||
|
cacheKey: 'project_impact',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
},
|
},
|
||||||
@@ -51,43 +82,56 @@ const searchConfig = reactive([
|
|||||||
component: shallowRef(fvSelect),
|
component: shallowRef(fvSelect),
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请选择研发主体',
|
placeholder: '请选择研发主体',
|
||||||
|
cacheKey: 'rd_subject',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
label: '起止时间',
|
label: '起止时间',
|
||||||
prop: 'startTime',
|
prop: 'dateValue',
|
||||||
component: 'el-date-picker',
|
component: 'el-date-picker',
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请选择起止时间',
|
|
||||||
clearable: true,
|
clearable: true,
|
||||||
},
|
type: 'datetimerange',
|
||||||
colProps: {}
|
startPlaceholder: '开始日期',
|
||||||
},
|
endPlaceholder: '结束日期',
|
||||||
{
|
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
||||||
label: '最小金额',
|
shortcuts: shortcuts
|
||||||
prop: 'requirementName',
|
|
||||||
component: 'el-input',
|
|
||||||
props: {
|
|
||||||
placeholder: '请输入金额查询',
|
|
||||||
clearable: true,
|
|
||||||
filterable: true,
|
|
||||||
checkStrictly: true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '最大金额',
|
label: '状态',
|
||||||
prop: 'requirementName',
|
prop: 'state',
|
||||||
component: 'el-input',
|
component: shallowRef(fvSelect),
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请输入金额查询',
|
placeholder: '请选择状态',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
cacheKey: 'project_initiation'
|
||||||
checkStrictly: true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// label: '最小金额',
|
||||||
|
// prop: 'requirementName',
|
||||||
|
// component: 'el-input',
|
||||||
|
// props: {
|
||||||
|
// placeholder: '请输入金额查询',
|
||||||
|
// clearable: true,
|
||||||
|
// filterable: true,
|
||||||
|
// checkStrictly: true
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// label: '最大金额',
|
||||||
|
// prop: 'requirementName',
|
||||||
|
// component: 'el-input',
|
||||||
|
// props: {
|
||||||
|
// placeholder: '请输入金额查询',
|
||||||
|
// clearable: true,
|
||||||
|
// filterable: true,
|
||||||
|
// checkStrictly: true
|
||||||
|
// }
|
||||||
|
// },
|
||||||
])
|
])
|
||||||
const tableIns = ref()
|
const tableIns = ref()
|
||||||
const tableConfig = reactive({
|
const tableConfig = reactive({
|
||||||
@@ -134,7 +178,10 @@ const tableConfig = reactive({
|
|||||||
{
|
{
|
||||||
prop: 'startTime',
|
prop: 'startTime',
|
||||||
label: '起止时间',
|
label: '起止时间',
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
currentRender: ({row}) => {
|
||||||
|
return row.startTime + ' 至 ' + row.endTime
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'taskNode',
|
prop: 'taskNode',
|
||||||
@@ -210,7 +257,13 @@ const tableConfig = reactive({
|
|||||||
})
|
})
|
||||||
|
|
||||||
const search = (val) => {
|
const search = (val) => {
|
||||||
tableConfig.params = {...val}
|
let obj = {...val}
|
||||||
|
if(obj.dateValue) {
|
||||||
|
obj.startTime = obj.dateValue[0]
|
||||||
|
obj.endTime = obj.dateValue[1]
|
||||||
|
delete obj.dateValue
|
||||||
|
}
|
||||||
|
tableConfig.params = obj
|
||||||
tableIns.value.refresh()
|
tableIns.value.refresh()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,23 +9,51 @@
|
|||||||
|
|
||||||
<script setup lang="jsx">
|
<script setup lang="jsx">
|
||||||
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||||
import {reactive, shallowRef} from "vue";
|
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
const shortcuts = [
|
||||||
|
{
|
||||||
|
text: '上周',
|
||||||
|
value: () => {
|
||||||
|
const end = new Date()
|
||||||
|
const start = new Date()
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
|
||||||
|
return [start, end]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '上月',
|
||||||
|
value: () => {
|
||||||
|
const end = new Date()
|
||||||
|
const start = new Date()
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
|
||||||
|
return [start, end]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '三月前',
|
||||||
|
value: () => {
|
||||||
|
const end = new Date()
|
||||||
|
const start = new Date()
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
|
||||||
|
return [start, end]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]
|
||||||
const searchConfig = reactive([
|
const searchConfig = reactive([
|
||||||
{
|
{
|
||||||
label: '需求名称',
|
label: '项目名称',
|
||||||
prop: 'requirementName',
|
prop: 'projectName',
|
||||||
component: 'el-input',
|
component: 'el-input',
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请输入需求名称查询',
|
placeholder: '请输入项目名称查询',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
checkStrictly: true
|
checkStrictly: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '项目类型',
|
label: '项目类型',
|
||||||
prop: 'collectType',
|
prop: 'projectType',
|
||||||
component: shallowRef(fvSelect),
|
component: shallowRef(fvSelect),
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请选择项目类型',
|
placeholder: '请选择项目类型',
|
||||||
@@ -36,7 +64,7 @@ const searchConfig = reactive([
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '项目影响',
|
label: '项目影响',
|
||||||
prop: 'projectEffect',
|
prop: 'projectImpact',
|
||||||
component: shallowRef(fvSelect),
|
component: shallowRef(fvSelect),
|
||||||
props: {
|
props: {
|
||||||
cacheKey: 'project_impact',
|
cacheKey: 'project_impact',
|
||||||
@@ -48,7 +76,7 @@ const searchConfig = reactive([
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '研发主体',
|
label: '研发主体',
|
||||||
prop: 'collectType',
|
prop: 'rdSubject',
|
||||||
component: shallowRef(fvSelect),
|
component: shallowRef(fvSelect),
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请选择研发主体',
|
placeholder: '请选择研发主体',
|
||||||
@@ -57,39 +85,51 @@ const searchConfig = reactive([
|
|||||||
filterable: true,
|
filterable: true,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
label: '起止时间',
|
label: '起止时间',
|
||||||
prop: 'time',
|
prop: 'dateValue',
|
||||||
component: 'el-date-picker',
|
component: 'el-date-picker',
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请选择起止时间',
|
|
||||||
clearable: true,
|
clearable: true,
|
||||||
},
|
type: 'datetimerange',
|
||||||
colProps: {}
|
startPlaceholder: '开始日期',
|
||||||
},
|
endPlaceholder: '结束日期',
|
||||||
{
|
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
||||||
label: '最小金额',
|
shortcuts: shortcuts
|
||||||
prop: 'requirementName',
|
|
||||||
component: 'el-input',
|
|
||||||
props: {
|
|
||||||
placeholder: '请输入金额查询',
|
|
||||||
clearable: true,
|
|
||||||
filterable: true,
|
|
||||||
checkStrictly: true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '最大金额',
|
label: '状态',
|
||||||
prop: 'requirementName',
|
prop: 'state',
|
||||||
component: 'el-input',
|
component: shallowRef(fvSelect),
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请输入金额查询',
|
placeholder: '请选择状态',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
cacheKey: 'project_initiation'
|
||||||
checkStrictly: true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// label: '最小金额',
|
||||||
|
// prop: 'requirementName',
|
||||||
|
// component: 'el-input',
|
||||||
|
// props: {
|
||||||
|
// placeholder: '请输入金额查询',
|
||||||
|
// clearable: true,
|
||||||
|
// filterable: true,
|
||||||
|
// checkStrictly: true
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// label: '最大金额',
|
||||||
|
// prop: 'requirementName',
|
||||||
|
// component: 'el-input',
|
||||||
|
// props: {
|
||||||
|
// placeholder: '请输入金额查询',
|
||||||
|
// clearable: true,
|
||||||
|
// filterable: true,
|
||||||
|
// checkStrictly: true
|
||||||
|
// }
|
||||||
|
// },
|
||||||
])
|
])
|
||||||
const tableIns = ref()
|
const tableIns = ref()
|
||||||
const tableConfig = reactive({
|
const tableConfig = reactive({
|
||||||
@@ -199,7 +239,13 @@ const tableConfig = reactive({
|
|||||||
})
|
})
|
||||||
|
|
||||||
const search = (val) => {
|
const search = (val) => {
|
||||||
tableConfig.params = {...val}
|
let obj = {...val}
|
||||||
|
if(obj.dateValue) {
|
||||||
|
obj.startTime = obj.dateValue[0]
|
||||||
|
obj.endTime = obj.dateValue[1]
|
||||||
|
delete obj.dateValue
|
||||||
|
}
|
||||||
|
tableConfig.params = obj
|
||||||
tableIns.value.refresh()
|
tableIns.value.refresh()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ const searchConfig = reactive([
|
|||||||
prop: 'name',
|
prop: 'name',
|
||||||
component: 'el-input',
|
component: 'el-input',
|
||||||
props: {
|
props: {
|
||||||
|
clearable: true,
|
||||||
placeholder: '请输入专项资金名称查询'
|
placeholder: '请输入专项资金名称查询'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -31,6 +32,31 @@ const searchConfig = reactive([
|
|||||||
cacheKey: 'special_fund'
|
cacheKey: 'special_fund'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: '资金金额',
|
||||||
|
prop: 'fundAmount',
|
||||||
|
component: 'el-input',
|
||||||
|
props: {
|
||||||
|
clearable: true,
|
||||||
|
placeholder: '请输入资金金额查询'
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
label: '剩余金额',
|
||||||
|
prop: 'residualAmount',
|
||||||
|
component: 'el-input',
|
||||||
|
props: {
|
||||||
|
clearable: true,
|
||||||
|
placeholder: '请输入剩余金额查询'
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
label: '项目数量',
|
||||||
|
prop: 'projectNumber',
|
||||||
|
component: 'el-input',
|
||||||
|
props: {
|
||||||
|
clearable: true,
|
||||||
|
placeholder: '请输入项目数量查询'
|
||||||
|
}
|
||||||
|
}
|
||||||
])
|
])
|
||||||
const tableConfig = reactive({
|
const tableConfig = reactive({
|
||||||
columns: [
|
columns: [
|
||||||
@@ -41,7 +67,7 @@ const tableConfig = reactive({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'fundAmount',
|
prop: 'fundAmount',
|
||||||
label: '专项资金金额',
|
label: '资金金额',
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -49,6 +75,11 @@ const tableConfig = reactive({
|
|||||||
label: '剩余金额',
|
label: '剩余金额',
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
prop: 'projectNumber',
|
||||||
|
label: '项目数量',
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
prop: 'state',
|
prop: 'state',
|
||||||
label: '状态',
|
label: '状态',
|
||||||
|
|||||||
Reference in New Issue
Block a user