From 30a8ceb4243d99f3985e4f0262c71cf485de72ed Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Mon, 27 May 2024 22:38:15 +0800 Subject: [PATCH 01/16] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E9=A6=96?= =?UTF-8?q?=E9=A1=B5=E6=9F=A5=E7=9C=8B=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/home/index.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/views/home/index.vue b/src/views/home/index.vue index b4b96c7..6249b3a 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -166,7 +166,7 @@ const handleView = (row) => { name: 'Summary/detail', query: { id: row.targetId, - projectId: row.projectId, + projectId: row.targetId, state: row.state } }) @@ -175,7 +175,7 @@ const handleView = (row) => { name: 'Initiation/detail', query: { id: row.targetId, - projectId: row.projectId, + projectId: row.targetId, state: row.state } }) @@ -184,7 +184,7 @@ const handleView = (row) => { name: 'Implementation/detail', query: { id: row.targetId, - projectId: row.projectId, + projectId: row.targetId, state: row.state } }) @@ -193,7 +193,7 @@ const handleView = (row) => { name: 'Filing/detail', query: { id: row.targetId, - projectId: row.projectId, + projectId: row.targetId, state: row.state } }) From 554c7d2be7668d973bd62c7b379308bad1e45345 Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Mon, 27 May 2024 23:10:34 +0800 Subject: [PATCH 02/16] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E9=A6=96?= =?UTF-8?q?=E9=A1=B5=E6=9F=A5=E7=9C=8B=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/home/index.vue | 33 ++----------------- .../implementation/detail.vue | 1 + 2 files changed, 4 insertions(+), 30 deletions(-) diff --git a/src/views/home/index.vue b/src/views/home/index.vue index fddca86..fa6bd63 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -165,41 +165,14 @@ const handleView = (row) => { id: row.targetId } }) - } - else if(row.targetState=='10'&&row.targetId){ - router.push({ - name: 'Summary/detail', - query: { - id: row.targetId, - projectId: row.targetId, - state: row.state - } - }) - }else if(row.targetState=='20'&&row.targetId){ - router.push({ - name: 'Initiation/detail', - query: { - id: row.targetId, - projectId: row.targetId, - state: row.state - } - }) - }else if(row.targetState=='40'&&row.targetId){ + } else{ router.push({ name: 'Implementation/detail', query: { id: row.targetId, projectId: row.targetId, - state: row.state - } - }) - }else if(row.targetState=='50'&&row.targetId){ - router.push({ - name: 'Filing/detail', - query: { - id: row.targetId, - projectId: row.targetId, - state: row.state + state: row.state, + step: row.targetState } }) } diff --git a/src/views/project-management/implementation/detail.vue b/src/views/project-management/implementation/detail.vue index 9422df4..210b912 100644 --- a/src/views/project-management/implementation/detail.vue +++ b/src/views/project-management/implementation/detail.vue @@ -50,6 +50,7 @@ const summaryProcessViewer = ref(true) const processStore = useProcessStore() const companyOption = ref([]) const cuurentStep = ref() +route.query.step == '10' && (cuurentStep.value = 1) route.query.step == '20' && (cuurentStep.value = 2) route.query.step == '40' && (cuurentStep.value = 3) route.query.step == '50' && (cuurentStep.value = 4) From 63e94af451ad0fe28a9f3f2d26661727c54aa6e1 Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Tue, 28 May 2024 12:05:31 +0800 Subject: [PATCH 03/16] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=AE=9E=E6=96=BD=E4=B8=AD=E5=8A=9F=E8=83=BD=E7=BB=86?= =?UTF-8?q?=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/project-manage/index.js | 18 +- src/views/home/index.vue | 1 - src/views/project-demand/requirement/add.vue | 1 + .../project-demand/requirement/index.vue | 25 ++- src/views/project-demand/summary/add.vue | 3 +- src/views/project-demand/summary/index.vue | 1 + .../project-management/filing/conclusion.vue | 3 +- .../implementation/account.vue | 37 ++-- .../implementation/attachment.vue | 68 +++++-- .../implementation/check.vue | 3 +- .../implementation/index.vue | 26 +-- .../implementation/upload.vue | 57 ++++++ .../implementation/uploadFee.vue | 172 +++++++++++------- .../project-management/initiation/apply.vue | 3 +- 14 files changed, 294 insertions(+), 124 deletions(-) create mode 100644 src/views/project-management/implementation/upload.vue diff --git a/src/api/project-manage/index.js b/src/api/project-manage/index.js index d4b0d08..03ea52b 100644 --- a/src/api/project-manage/index.js +++ b/src/api/project-manage/index.js @@ -55,7 +55,22 @@ export const getProjectCheckProcess = (projectId) => { method: "get" }); }; - +export const getImplementationAttachment = (projectId) => { + return request({ + url: '/workflow/mosr/project/implementation/tags', + method: "get", + params:{ + projectId:projectId + } + }); +}; +export const addLedger = (data) => { + return request({ + url: '/workflow/mosr/expense/ledger', + method: "post", + data: data + }); +}; //项目归档 export const getConclusionDetail = (ProjectId) => { return request({ @@ -84,3 +99,4 @@ export const getProjectConclusionProcess = () => { method: "get" }); }; + diff --git a/src/views/home/index.vue b/src/views/home/index.vue index fa6bd63..d8fd861 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -169,7 +169,6 @@ const handleView = (row) => { router.push({ name: 'Implementation/detail', query: { - id: row.targetId, projectId: row.targetId, state: row.state, step: row.targetState diff --git a/src/views/project-demand/requirement/add.vue b/src/views/project-demand/requirement/add.vue index caa2ec4..68c2bfc 100644 --- a/src/views/project-demand/requirement/add.vue +++ b/src/views/project-demand/requirement/add.vue @@ -235,6 +235,7 @@ const submitParam = (item) => { item.fileList.forEach(item => { let obj = { fileId: item.fileId, + tag: item.tag } files.push(obj) }) diff --git a/src/views/project-demand/requirement/index.vue b/src/views/project-demand/requirement/index.vue index ba4e8de..8bb7a27 100644 --- a/src/views/project-demand/requirement/index.vue +++ b/src/views/project-demand/requirement/index.vue @@ -11,7 +11,7 @@ import {useAuthStore} from '@/stores/userstore.js' import Tag from '@/components/Tag.vue' import fvSelect from '@/fvcomponents/fvSelect/index.vue' -import {ElMessage} from "element-plus"; +import {ElMessage, ElNotification} from "element-plus"; import {deleteDemand} from "@/api/project-demand"; const authStore = useAuthStore() @@ -140,20 +140,27 @@ const tableConfig = reactive({ params: {} }) -console.log('userInfo', userInfo.value.userName) - const search = (val) => { tableConfig.params = {...val} tableIns.value.refresh() } const handleAdd = () => { + try{ + router.push({ + name:'Requirement/add', + query: { + isAdd: 1 + } + }) + }catch (err){ + ElNotification({ + title: '提示', + message: '该用户无新增权限', + type: 'warning' + }) + } //新增 - router.push({ - name:'Requirement/add', - query: { - isAdd: 1 - } - }) + } const handleEdit = (row) => { router.push({ diff --git a/src/views/project-demand/summary/add.vue b/src/views/project-demand/summary/add.vue index 44eca8b..0ad225a 100644 --- a/src/views/project-demand/summary/add.vue +++ b/src/views/project-demand/summary/add.vue @@ -316,7 +316,8 @@ const getOtherFile = (val) => { } const getFileParam = (item) => { return { - fileId: item.fileId + fileId: item.fileId, + tag: item.tag } } const handleSubmit = async (instance) => { diff --git a/src/views/project-demand/summary/index.vue b/src/views/project-demand/summary/index.vue index fad2ccc..f0a9542 100644 --- a/src/views/project-demand/summary/index.vue +++ b/src/views/project-demand/summary/index.vue @@ -123,6 +123,7 @@ const tableConfig = reactive({ currentRender: ({row, index}) => { let btn = [] let buttons = new Set(Array.from(row.buttons)) + console.log('buttons',buttons.has("details")) if (buttons.has("details")) { btn.push({label: '详情', prem: ['mosr:collect:info'], func: () => handleDetail(row), type: 'primary'}) } diff --git a/src/views/project-management/filing/conclusion.vue b/src/views/project-management/filing/conclusion.vue index 06ee770..af87adb 100644 --- a/src/views/project-management/filing/conclusion.vue +++ b/src/views/project-management/filing/conclusion.vue @@ -121,7 +121,8 @@ const getOtherFile = (val) => { const getFileParam = (item) => { return { - fileId: item.fileId + fileId: item.fileId, + tag: item.tag } } const handleSubmit = (instance) => { diff --git a/src/views/project-management/implementation/account.vue b/src/views/project-management/implementation/account.vue index b971574..ccc8ca2 100644 --- a/src/views/project-management/implementation/account.vue +++ b/src/views/project-management/implementation/account.vue @@ -11,7 +11,7 @@ const searchConfig = reactive([ { label: '名称', - prop: 'requirementName', + prop: 'projectName', component: 'el-input', props: { placeholder: '请输入名称查询', @@ -22,7 +22,7 @@ const searchConfig = reactive([ }, { label: '项目费用', - prop: 'requirementName', + prop: 'projectCost', component: 'el-input', props: { placeholder: '请输入项目费用查询', @@ -33,7 +33,7 @@ const searchConfig = reactive([ }, { label: '起始时间', - prop: 'datetime', + prop: 'time', component: 'el-date-picker', props: { placeholder: '请选择起始时间', @@ -48,41 +48,48 @@ const tableConfig = reactive({ prop: 'name', type: 'index', label: '序号', - width:'80' + width:'80', + align: 'center' }, { - prop: 'name', + prop: 'projectName', + label: '项目名称', + align: 'center' + },{ + prop: 'time', label: '时间', align: 'center' }, { - prop: 'projectType', + prop: 'projectCost', label: '项目费用', align: 'center' }, { - prop: 'productMainBody', + prop: 'researchStage', label: '研发阶段', align: 'center' }, { - prop: 'projectEffect', + prop: 'digest', label: '摘要', align: 'center' }, { - prop: 'survey', + prop: 'afterTax', label: '税后余额(元)', align: 'center' } ], - api: '', + api: '/workflow/mosr/expense/ledger', params: {}, btns: [ {name: '上传费用', key: 'add', color: '#DED0B2',auth: ''} ] }) const router = useRouter() +const route = useRoute() +const tableIns=ref() const headBtnClick = (key) => { switch (key) { case 'add': @@ -93,9 +100,17 @@ const headBtnClick = (key) => { const handleUploadFee = () => { router.push({ name: 'Implementation/uploadFee', - query: {} + query: { + id:route.query.id + } }) } + +const search = (val) => { + console.log('val',val) + tableConfig.params = {...val} + tableIns.value.refresh() +} diff --git a/src/views/project-management/implementation/uploadFee.vue b/src/views/project-management/implementation/uploadFee.vue index cc94c34..3c8fac6 100644 --- a/src/views/project-management/implementation/uploadFee.vue +++ b/src/views/project-management/implementation/uploadFee.vue @@ -1,84 +1,120 @@ - diff --git a/src/views/project-management/initiation/apply.vue b/src/views/project-management/initiation/apply.vue index 71fe9d5..b35577b 100644 --- a/src/views/project-management/initiation/apply.vue +++ b/src/views/project-management/initiation/apply.vue @@ -118,7 +118,8 @@ const getOtherFile = (val) => { } const getFileParam = (item) => { return { - fileId: item.fileId + fileId: item.fileId, + tag: item.tag } } const handleSubmit = (instance) => { From ba86f54369c3ac9f3bce3379a17e705e37a2da7d Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Tue, 28 May 2024 16:36:03 +0800 Subject: [PATCH 04/16] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E4=B8=93?= =?UTF-8?q?=E9=A1=B9=E8=B5=84=E9=87=91=E9=A1=B5=E9=9D=A2=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/special-fund/index.js | 22 ++ .../DetailComponent/CollectionDetail.vue | 4 +- .../DetailComponent/SpecialFundDetail.vue | 204 +++++++++++++++ src/views/project-demand/requirement/add.vue | 34 +-- .../project-demand/requirement/index.vue | 16 +- src/views/project-demand/summary/index.vue | 1 - .../implementation/attachment.vue | 1 - src/views/special-fund/add.vue | 241 ++++++++++++++++++ src/views/special-fund/detail.vue | 48 ++++ src/views/special-fund/index.vue | 140 ++++++++++ 10 files changed, 682 insertions(+), 29 deletions(-) create mode 100644 src/api/special-fund/index.js create mode 100644 src/components/DetailComponent/SpecialFundDetail.vue create mode 100644 src/views/special-fund/add.vue create mode 100644 src/views/special-fund/detail.vue create mode 100644 src/views/special-fund/index.vue diff --git a/src/api/special-fund/index.js b/src/api/special-fund/index.js new file mode 100644 index 0000000..2b82339 --- /dev/null +++ b/src/api/special-fund/index.js @@ -0,0 +1,22 @@ +import request from '@/utils/request.js' + +export const getFundDetail = (specialFundId) => { + return request({ + url: `/workflow/mosr/special/fund/info/${specialFundId}`, + method: "get" + }); +}; +export const addFund= (data) => { + return request({ + url: '/workflow/mosr/special/fund', + method: "post", + data + }); +}; +export const resubmitFund= (data) => { + return request({ + url: '/workflow/mosr/special/fund/resubmit', + method: "post", + data + }); +}; diff --git a/src/components/DetailComponent/CollectionDetail.vue b/src/components/DetailComponent/CollectionDetail.vue index f1fdfd4..ffed32d 100644 --- a/src/components/DetailComponent/CollectionDetail.vue +++ b/src/components/DetailComponent/CollectionDetail.vue @@ -146,7 +146,7 @@ const handleDownload = (row) => { a.click() }) } -const getDataSourceOptionItem = (val) => { +const getCompanyOptionItem = (val) => { if (val instanceof Array) { val.forEach(item => { matterTree(companyNameArray.value, props.companyOption, item) @@ -165,7 +165,7 @@ watch(() => props.companyOption, (newVal) => { }, {deep: true}) watch(() => props.formData, (newVal) => { if(newVal!=null){ - props.formData.companyIds = getDataSourceOptionItem(newVal.companyIds) + props.formData.companyIds = getCompanyOptionItem(newVal.companyIds) } }, {deep: true}) watch(() => props.processViewer, (newVal) => { diff --git a/src/components/DetailComponent/SpecialFundDetail.vue b/src/components/DetailComponent/SpecialFundDetail.vue new file mode 100644 index 0000000..5434aec --- /dev/null +++ b/src/components/DetailComponent/SpecialFundDetail.vue @@ -0,0 +1,204 @@ + + + + + diff --git a/src/views/project-demand/requirement/add.vue b/src/views/project-demand/requirement/add.vue index 68c2bfc..0d2df9c 100644 --- a/src/views/project-demand/requirement/add.vue +++ b/src/views/project-demand/requirement/add.vue @@ -2,7 +2,6 @@
-
@@ -30,7 +29,6 @@ /> -
handleDownload(row)}>下载 - handleDelete(row)}>删除
) } + // handleDelete(row)}>删除 } ] }) @@ -176,11 +174,13 @@ const handleDownload = (row) => { }) } const compositeParam = (item) => { - console.log('router.currentRoute.value.path',router.currentRoute.value.path) + let name=router.currentRoute.value.name let tag = '' - // if (!formData.value.collectType && router.currentRoute.value.path === 'Requirement/add') { - // tag = '需求征集' - // } + if (!formData.value.collectType && name === 'Requirement/add') { + tag = '需求征集' + }else if(name === 'Requirement/edit'){ + tag = '需求征集' + } return { fileId: item.id, size: item.size, @@ -254,28 +254,32 @@ const handleSubmit = async (instance) => { if (!instance) return instance.validate(async (valid) => { if (!valid) return - let res = await addRequirement(submitParam(formData.value)) - if (res.code === 1000) { - ElMessage.success(res.msg) + const {msg,code} = await addRequirement(submitParam(formData.value)) + ElNotification({ + title: '提示', + message: msg, + type: code === 1000 ? 'success' : 'error' + }) + if (code === 1000) { tagsViewStore.delVisitedViews(router.currentRoute.value.path) await router.push({ name: 'Requirement' }) - } else { - ElMessage.error(res.msg) } }) } const handleResubmit = () => { resubmit(submitParam(formData.value)).then(res => { + ElNotification({ + title: '提示', + message: res.msg, + type: res.code === 1000 ? 'success' : 'error' + }) if (res.code === 1000) { - ElMessage.success(res.msg) tagsViewStore.delVisitedViews(router.currentRoute.value.path) router.push({ name: 'Requirement' }) - } else { - ElMessage.error(res.msg) } }) } diff --git a/src/views/project-demand/requirement/index.vue b/src/views/project-demand/requirement/index.vue index 8bb7a27..3199e05 100644 --- a/src/views/project-demand/requirement/index.vue +++ b/src/views/project-demand/requirement/index.vue @@ -148,19 +148,15 @@ const handleAdd = () => { try{ router.push({ name:'Requirement/add', - query: { - isAdd: 1 - } + query:{} }) }catch (err){ - ElNotification({ - title: '提示', - message: '该用户无新增权限', - type: 'warning' - }) + // ElNotification({ + // title: '提示', + // message: '该用户无新增权限', + // type: 'warning' + // }) } - //新增 - } const handleEdit = (row) => { router.push({ diff --git a/src/views/project-demand/summary/index.vue b/src/views/project-demand/summary/index.vue index f0a9542..fad2ccc 100644 --- a/src/views/project-demand/summary/index.vue +++ b/src/views/project-demand/summary/index.vue @@ -123,7 +123,6 @@ const tableConfig = reactive({ currentRender: ({row, index}) => { let btn = [] let buttons = new Set(Array.from(row.buttons)) - console.log('buttons',buttons.has("details")) if (buttons.has("details")) { btn.push({label: '详情', prem: ['mosr:collect:info'], func: () => handleDetail(row), type: 'primary'}) } diff --git a/src/views/project-management/implementation/attachment.vue b/src/views/project-management/implementation/attachment.vue index 85dde95..369ce80 100644 --- a/src/views/project-management/implementation/attachment.vue +++ b/src/views/project-management/implementation/attachment.vue @@ -71,7 +71,6 @@ const tableConfig = reactive({ return (
handleDownload(row)}>下载 - beforeRemove(row)}>删除
) } diff --git a/src/views/special-fund/add.vue b/src/views/special-fund/add.vue new file mode 100644 index 0000000..a0b3c08 --- /dev/null +++ b/src/views/special-fund/add.vue @@ -0,0 +1,241 @@ + + + + + diff --git a/src/views/special-fund/detail.vue b/src/views/special-fund/detail.vue new file mode 100644 index 0000000..ddd0651 --- /dev/null +++ b/src/views/special-fund/detail.vue @@ -0,0 +1,48 @@ + + + + diff --git a/src/views/special-fund/index.vue b/src/views/special-fund/index.vue new file mode 100644 index 0000000..f0892ce --- /dev/null +++ b/src/views/special-fund/index.vue @@ -0,0 +1,140 @@ + + + + + + From beb07edc73120a0cca8f8772502adbb414a0f625 Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Tue, 28 May 2024 16:39:37 +0800 Subject: [PATCH 05/16] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E4=B8=93?= =?UTF-8?q?=E9=A1=B9=E8=B5=84=E9=87=91=E9=A1=B5=E9=9D=A2=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/special-fund/index.vue | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/views/special-fund/index.vue b/src/views/special-fund/index.vue index f0892ce..477614f 100644 --- a/src/views/special-fund/index.vue +++ b/src/views/special-fund/index.vue @@ -1,6 +1,10 @@ @@ -67,10 +71,10 @@ const tableConfig = reactive({ let btn = [] // let buttons = new Set(Array.from(row.buttons)) // if (buttons.has("details")) { - btn.push({label: '详情', prem: ['mosr:collect:info'], func: () => handleDetail(row), type: 'primary'}) + btn.push({label: '详情', prem: ['mosr:collect:info'], func: () => handleDetail(row), type: 'primary'}) // } // if (buttons.has("edit")) { - btn.push({label: '编辑',prem: ['mosr:collect:resubmit'], func: () => handleEdit(row), type: 'primary'}) + btn.push({label: '编辑', prem: ['mosr:collect:resubmit'], func: () => handleEdit(row), type: 'primary'}) // } // if (buttons.has("delete")) { // btn.push({label: '删除',prem: ['mosr:requirement:del'], func: () => handleDelete(row), type: 'primary'}) @@ -101,25 +105,30 @@ const tableConfig = reactive({ {name: '导出', key: '_export', color: '#DED0B2', auth: ''}, ] }) +const tableIns = ref() +const search = (val) => { + tableConfig.params = {...val} + tableIns.value.refresh() +} const handleDetail = (row) => { router.push({ - name:'Fund/detail', + name: 'Fund/detail', query: { - id:row.id + id: row.id } }) } const handleAdd = () => { router.push({ - name:'Fund/add', + name: 'Fund/add', query: {} }) } const handleEdit = (row) => { router.push({ - name:'Fund/edit', + name: 'Fund/edit', query: { - id:row.id + id: row.id } }) } From dd406e4ba63c80bb4f6e0e39e85bb3d5d29fd239 Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Tue, 28 May 2024 16:42:05 +0800 Subject: [PATCH 06/16] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E4=B8=93?= =?UTF-8?q?=E9=A1=B9=E8=B5=84=E9=87=91=E9=A1=B5=E9=9D=A2=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/special-fund/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/special-fund/index.vue b/src/views/special-fund/index.vue index 477614f..523aeab 100644 --- a/src/views/special-fund/index.vue +++ b/src/views/special-fund/index.vue @@ -15,7 +15,7 @@ const router = useRouter() const searchConfig = reactive([ { label: '专项资金名称', - prop: 'requirementName', + prop: 'name', component: 'el-input', props: { placeholder: '请输入名称查询' From be367ead6eb79fde9a8e7ddb9a41980e59f6775a Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Tue, 28 May 2024 18:00:42 +0800 Subject: [PATCH 07/16] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=AE=9E=E6=96=BD=E9=99=84=E4=BB=B6=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/project-manage/index.js | 11 +++ src/components/FileUpload.vue | 6 +- .../implementation/attachment.vue | 85 +++++++++++++------ 3 files changed, 74 insertions(+), 28 deletions(-) diff --git a/src/api/project-manage/index.js b/src/api/project-manage/index.js index 03ea52b..7826909 100644 --- a/src/api/project-manage/index.js +++ b/src/api/project-manage/index.js @@ -100,3 +100,14 @@ export const getProjectConclusionProcess = () => { }); }; +//文件查询 +export const searchFile = (targetId,tag) => { + return request({ + url: '/workflow/process/file/query', + method: "get", + params:{ + targetId:targetId, + tag:tag + } + }); +}; diff --git a/src/components/FileUpload.vue b/src/components/FileUpload.vue index 2ead4a1..2d4b863 100644 --- a/src/components/FileUpload.vue +++ b/src/components/FileUpload.vue @@ -14,7 +14,7 @@ :before-remove="beforeRemove" :on-remove="handleRemove" > - 上传文件 + 上传文件 @@ -26,7 +26,6 @@ const uploadFileUrl = ref(baseURL + "/workflow/process/file/upload") const headers = reactive({ authorization: getToken() }) -const disabled = ref(false) const loading = ref(false) const showTable = ref(false) const uploadParams = ref({}) @@ -44,6 +43,9 @@ const props = defineProps({ showFileList: { type: Boolean, default: false + },disabled: { + type: Boolean, + default: false } }) diff --git a/src/views/project-management/implementation/attachment.vue b/src/views/project-management/implementation/attachment.vue index 369ce80..9c5cf8b 100644 --- a/src/views/project-management/implementation/attachment.vue +++ b/src/views/project-management/implementation/attachment.vue @@ -1,19 +1,20 @@ diff --git a/src/views/expense-management/ledger/index.vue b/src/views/expense-management/ledger/index.vue new file mode 100644 index 0000000..7966eb8 --- /dev/null +++ b/src/views/expense-management/ledger/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/views/expense-management/share/add.vue b/src/views/expense-management/share/add.vue new file mode 100644 index 0000000..a1c26d1 --- /dev/null +++ b/src/views/expense-management/share/add.vue @@ -0,0 +1,232 @@ + + + diff --git a/src/views/expense-management/share/detail.vue b/src/views/expense-management/share/detail.vue new file mode 100644 index 0000000..47d2c65 --- /dev/null +++ b/src/views/expense-management/share/detail.vue @@ -0,0 +1,48 @@ + + + + diff --git a/src/views/expense-management/share/index.vue b/src/views/expense-management/share/index.vue new file mode 100644 index 0000000..1120d54 --- /dev/null +++ b/src/views/expense-management/share/index.vue @@ -0,0 +1,153 @@ + + + + + From 9198837d6507aa93e18a5ca1025be4fca6bc315b Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Tue, 28 May 2024 23:17:34 +0800 Subject: [PATCH 09/16] =?UTF-8?q?feat=20:=20=E9=A1=B9=E7=9B=AE=E5=AE=9E?= =?UTF-8?q?=E6=96=BD=E7=9A=84=E9=98=B6=E6=AE=B5=E5=8F=98=E6=9B=B4=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../implementation/index.vue | 10 +- .../implementation/phase.vue | 151 ++++++++++++++++++ 2 files changed, 160 insertions(+), 1 deletion(-) create mode 100644 src/views/project-management/implementation/phase.vue diff --git a/src/views/project-management/implementation/index.vue b/src/views/project-management/implementation/index.vue index 5933c51..050022e 100644 --- a/src/views/project-management/implementation/index.vue +++ b/src/views/project-management/implementation/index.vue @@ -181,7 +181,7 @@ const tableConfig = reactive({ btn.push({label: '查看分摊', prem: ['mosr:requirement:info'], func: () => handleShare(row), type: 'primary'}) } if (buttons.has("phaseChange")) { - btn.push({label: '阶段变更', prem: ['mosr:requirement:info'], func: () => handleChange(row), type: 'primary'}) + btn.push({label: '阶段变更', prem: ['mosr:requirement:info'], func: () => handlePhaseChange(row), type: 'primary'}) } return (
@@ -267,4 +267,12 @@ const handleShare = (row) => { } }) } +const handlePhaseChange = (row) => { + router.push({ + name: 'Phase/change', + query: { + id: row.requirementId + } + }) +} diff --git a/src/views/project-management/implementation/phase.vue b/src/views/project-management/implementation/phase.vue new file mode 100644 index 0000000..422761c --- /dev/null +++ b/src/views/project-management/implementation/phase.vue @@ -0,0 +1,151 @@ + + + + + From 6ac425f7de9d4e089080c9e7ef68dfb9edd7cb48 Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Tue, 28 May 2024 23:54:05 +0800 Subject: [PATCH 10/16] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E9=9C=80?= =?UTF-8?q?=E6=B1=82=E4=B8=8A=E6=8A=A5=E4=B8=8B=E6=8B=89=E6=A1=86=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/project-demand/summary/add.vue | 124 ++++++++++++----------- src/views/tool/dict/index.vue | 2 +- 2 files changed, 65 insertions(+), 61 deletions(-) diff --git a/src/views/project-demand/summary/add.vue b/src/views/project-demand/summary/add.vue index 0ad225a..ec42aa4 100644 --- a/src/views/project-demand/summary/add.vue +++ b/src/views/project-demand/summary/add.vue @@ -56,7 +56,7 @@ - + + + - - - - + + + + - - - + + + + + + + @@ -257,7 +258,10 @@ const deploymentId = ref() const showTable = ref(true) const otherFileList = ref([]) const file = ref({}) -const formData = ref({}) +const formData = ref({ + industryUniversityResearch:0, + governmentDeclaration:0, +}) const rules = reactive({ projectName: [{required: true, message: '请输入名称', trigger: 'blur'}], specialFund: [{required: true, message: '请选择专项资金', trigger: 'blur'}], @@ -339,43 +343,43 @@ const handleSubmit = async (instance) => { otherFileList.value.forEach(item => { otherFiles.push(getFileParam(item)) }) - let params = { - "specialFund": "2", - "projectName": "重新提交全流程测试2024520", - "startTime": "2024-05-24 00:00:00", - "endTime": "2024-05-29 00:00:00", - "projectType": "3", - "investmentType": "3", - "businessSegment": "2", - "technicalStandard": "2", - "governmentDeclaration": "2", - "inventionPatent": "3", - "newPatent": "3", - "economicEstimate": "3", - "other": "3", - "copyright": "3", - "softwareCopyright": "3", - "industryUniversityResearch": "2", - "intellectualProperty": "00", - "resultForm": "3", - "projectImpact": "3", - "rdSubject": "3", - // "affiliatedCompanyId": formData.value.affiliatedCompanyId, - "serviceDescription": "3", - "contentDescription": "3", - "specialFundAmount": "3", - deploymentId: deploymentId.value, - "singleFile": singleFile, - "fileList": otherFiles, - "requirementId":route.query.id - } // let params = { - // ...formData.value, + // "specialFund": "2", + // "projectName": "重新提交全流程测试2024520", + // "startTime": "2024-05-24 00:00:00", + // "endTime": "2024-05-29 00:00:00", + // "projectType": "3", + // "investmentType": "3", + // "businessSegment": "2", + // "technicalStandard": "2", + // "governmentDeclaration": 0, + // "inventionPatent": "3", + // "newPatent": "3", + // "economicEstimate": "3", + // "other": "3", + // "copyright": "3", + // "softwareCopyright": "3", + // "industryUniversityResearch": 0, + // "intellectualProperty": "00", + // "resultForm": "3", + // "projectImpact": "3", + // "rdSubject": "3", + // // "affiliatedCompanyId": formData.value.affiliatedCompanyId, + // "serviceDescription": "3", + // "contentDescription": "3", + // "specialFundAmount": "3", // deploymentId: deploymentId.value, - // fileList: otherFiles, - // singleFile: singleFile, - // requirementId: route.query.id + // "singleFile": singleFile, + // "fileList": otherFiles, + // "requirementId":route.query.id // } + let params = { + ...formData.value, + deploymentId: deploymentId.value, + fileList: otherFiles, + singleFile: singleFile, + requirementId: route.query.id + } let res = await requirementReported(params) ElNotification({ title: '提示', diff --git a/src/views/tool/dict/index.vue b/src/views/tool/dict/index.vue index 13f5831..554b479 100644 --- a/src/views/tool/dict/index.vue +++ b/src/views/tool/dict/index.vue @@ -385,7 +385,7 @@ const restDataForm = () => { state: "1", // isDefault:0, isType: true, - theme: 'dark', + theme: 'plain', listClass: 'primary', }; }; From dd3f793ac2448bb8ba171f17274f54f36065ef76 Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Wed, 29 May 2024 20:53:26 +0800 Subject: [PATCH 11/16] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E8=B4=B9?= =?UTF-8?q?=E7=94=A8=E5=88=86=E6=91=8A=E8=AF=A6=E6=83=85=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DetailComponent/ExpenseDetail.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/DetailComponent/ExpenseDetail.vue b/src/components/DetailComponent/ExpenseDetail.vue index c0ceaff..5afbe05 100644 --- a/src/components/DetailComponent/ExpenseDetail.vue +++ b/src/components/DetailComponent/ExpenseDetail.vue @@ -19,7 +19,7 @@ - + @@ -79,7 +79,7 @@ const searchConfig = reactive([ }, { label: '姓名', - prop: 'projectName', + prop: 'researchPersonnel', component: 'el-input', props: { placeholder: '请输入姓名查询', From 04c1175cf86eb49dac8e30b8fc80d253ab46a18f Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Wed, 29 May 2024 21:34:37 +0800 Subject: [PATCH 12/16] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E6=8F=90?= =?UTF-8?q?=E4=BA=A4/=E9=87=8D=E6=96=B0=E6=8F=90=E4=BA=A4=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/project-demand/requirement/add.vue | 10 +- src/views/project-demand/summary/add.vue | 10 +- .../project-management/filing/conclusion.vue | 4 +- .../implementation/check.vue | 4 +- .../implementation/uploadFee.vue | 139 ++++++++++-------- .../project-management/initiation/apply.vue | 55 +++---- 6 files changed, 116 insertions(+), 106 deletions(-) diff --git a/src/views/project-demand/requirement/add.vue b/src/views/project-demand/requirement/add.vue index 0d2df9c..de6c83b 100644 --- a/src/views/project-demand/requirement/add.vue +++ b/src/views/project-demand/requirement/add.vue @@ -50,8 +50,8 @@
- 提交 - 重新提交 + 提交 + 重新提交 返回
@@ -90,6 +90,7 @@ const formData = ref({ fileList: [] }) const showTinymce = ref(true) +const routerName = ref(router.currentRoute.value.name) const processDiagramViewer = ref(false) const typeOption = ref([ { @@ -174,11 +175,10 @@ const handleDownload = (row) => { }) } const compositeParam = (item) => { - let name=router.currentRoute.value.name let tag = '' - if (!formData.value.collectType && name === 'Requirement/add') { + if (!formData.value.collectType && routerName.value === 'Requirement/add') { tag = '需求征集' - }else if(name === 'Requirement/edit'){ + }else if(routerName.value === 'Requirement/edit'){ tag = '需求征集' } return { diff --git a/src/views/project-demand/summary/add.vue b/src/views/project-demand/summary/add.vue index ec42aa4..e0ed07f 100644 --- a/src/views/project-demand/summary/add.vue +++ b/src/views/project-demand/summary/add.vue @@ -4,8 +4,8 @@ - - + + @@ -227,9 +227,9 @@
- 存为草稿 - 发布 - 重新发布 + 存为草稿 + 发布 + 重新发布
diff --git a/src/views/project-management/filing/conclusion.vue b/src/views/project-management/filing/conclusion.vue index af87adb..a5374d1 100644 --- a/src/views/project-management/filing/conclusion.vue +++ b/src/views/project-management/filing/conclusion.vue @@ -11,8 +11,8 @@
- 提交 - 重新提交 + 提交 + 重新提交
diff --git a/src/views/project-management/implementation/check.vue b/src/views/project-management/implementation/check.vue index 8d2eb12..7a820a2 100644 --- a/src/views/project-management/implementation/check.vue +++ b/src/views/project-management/implementation/check.vue @@ -18,8 +18,8 @@
- 提交 - 重新提交 + 提交 + 重新提交
diff --git a/src/views/project-management/implementation/uploadFee.vue b/src/views/project-management/implementation/uploadFee.vue index 3c8fac6..8423f1a 100644 --- a/src/views/project-management/implementation/uploadFee.vue +++ b/src/views/project-management/implementation/uploadFee.vue @@ -1,54 +1,58 @@ @@ -28,7 +29,7 @@ import {useTagsView} from '@/stores/tagsview.js' import {ElMessage, ElNotification} from "element-plus"; import ProcessDiagramViewer from '@/views/workflow/common/ProcessDiagramViewer.vue'; -import {getApplyProcess, projectApply,resubmitApply,getApplyDetail} from "@/api/project-manage"; +import {getApplyProcess, projectApply, resubmitApply, getApplyDetail} from "@/api/project-manage"; import {useProcessStore} from '@/stores/processStore.js'; const tagsViewStore = useTagsView() @@ -88,10 +89,10 @@ const tableConfig = reactive({ const loading = ref(false) const processInstanceData = ref() const processDiagramViewer = ref(true) -const name=ref(router.currentRoute.value.name) +const name = ref(router.currentRoute.value.name) const compositeParam = (item) => { let tag = '' - if (name.value === 'Initiation/apply'||name.value === 'Initiation/edit') { + if (name.value === 'Initiation/apply' || name.value === 'Initiation/edit') { tag = '项目立项申请' } return { @@ -100,12 +101,12 @@ const compositeParam = (item) => { originalFileName: item.originalFilename, fileType: item.fileType, url: item.url, - tag:tag + tag: tag } } const getAttachment = (val) => { console.log('上传文件getAttachment', val) - file.value=compositeParam(val) + file.value = compositeParam(val) } const getOtherFile = (val) => { console.log('上传文件getOtherFile', val) @@ -125,15 +126,15 @@ const getFileParam = (item) => { const handleSubmit = (instance) => { if (!instance) return instance.validate(async (valid) => { - if(JSON.stringify(file.value) === "{}"){ + if (JSON.stringify(file.value) === "{}") { attachment.value.validate() - }else { + } else { attachment.value.clearValidate() } if (!valid) return let files = [] - let singleFile={} - if(file.value.fileId!==undefined){ + let singleFile = {} + if (file.value.fileId !== undefined) { singleFile = { fileId: file.value.fileId } @@ -146,9 +147,9 @@ const handleSubmit = (instance) => { requirementId: route.query.id, fileList: files, singleFile: singleFile, - projectId:route.query.projectId, + projectId: route.query.projectId, } - console.log('params',params) + console.log('params', params) let res = await projectApply(params) ElNotification({ title: '提示', @@ -163,27 +164,27 @@ const handleSubmit = (instance) => { } }) } -const handleResubmit =async () => { +const handleResubmit = async () => { let files = [] - let singleFile={} + let singleFile = {} let fileArray - if (JSON.stringify(file.value) === "{}"||attachment.value.singleFile===null) { + if (JSON.stringify(file.value) === "{}" || attachment.value.singleFile === null) { attachment.value.validate() } else { attachment.value.clearValidate() } - if(attachment.value.singleFile!==null&&name.value === 'Initiation/edit'){ + if (attachment.value.singleFile !== null && name.value === 'Initiation/edit') { singleFile = { fileId: attachment.value.singleFile.fileId } - fileArray=attachment.value.allFileList - }else { + fileArray = attachment.value.allFileList + } else { if (file.value.fileId !== undefined) { singleFile = { fileId: file.value.fileId } } - fileArray=otherFileList.value + fileArray = otherFileList.value } fileArray.forEach(item => { files.push(getFileParam(item)) @@ -193,9 +194,9 @@ const handleResubmit =async () => { requirementId: route.query.id, fileList: files, singleFile: singleFile, - projectId:route.query.projectId, + projectId: route.query.projectId, } - console.log('params',params) + console.log('params', params) let res = await resubmitApply(params) ElNotification({ title: '提示', @@ -218,11 +219,11 @@ const getDetailInfo = async () => { }) if (res.code === 1000) { formData.value = res.data.formData - loading.value=false + loading.value = false } }) } -const init = () => { +const init = () => { getApplyProcess(route.query.projectId).then(res => { ElNotification({ title: '提示', @@ -232,7 +233,7 @@ const init = () => { processDiagramViewer.value = false if (res.code === 1000) { let data = res.data - deploymentId.value=data.deploymentId + deploymentId.value = data.deploymentId processInstanceData.value = data processStore.setDesign(data) processStore.runningList.value = data.runningList; @@ -250,7 +251,7 @@ init() onMounted(async () => { await init() if (name.value === 'Initiation/edit') { - loading.value=true + loading.value = true await getDetailInfo() } }) From 94528cfa065a9b8e7d7fb80ea7d82fbbc5403d1d Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Thu, 30 May 2024 16:05:09 +0800 Subject: [PATCH 13/16] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/project-manage/index.js | 27 ++-- src/views/expense-management/ledger/index.vue | 4 +- src/views/expense-management/share/index.vue | 41 ++--- src/views/project-demand/requirement/add.vue | 6 +- .../project-demand/requirement/index.vue | 2 +- src/views/project-demand/summary/add.vue | 16 +- src/views/project-demand/summary/index.vue | 98 +++++++----- .../project-management/filing/conclusion.vue | 137 ++++++++--------- src/views/project-management/filing/index.vue | 4 +- .../implementation/account.vue | 13 +- .../implementation/attachment.vue | 92 ++++------- .../implementation/index.vue | 4 +- .../implementation/share.vue | 4 +- .../implementation/upload.vue | 100 +++++++++++- .../implementation/uploadFee.vue | 144 +++++++++++------- .../project-management/initiation/index.vue | 13 +- src/views/special-fund/add.vue | 6 +- src/views/special-fund/index.vue | 2 +- 18 files changed, 412 insertions(+), 301 deletions(-) diff --git a/src/api/project-manage/index.js b/src/api/project-manage/index.js index 7826909..d35ab80 100644 --- a/src/api/project-manage/index.js +++ b/src/api/project-manage/index.js @@ -55,13 +55,18 @@ export const getProjectCheckProcess = (projectId) => { method: "get" }); }; -export const getImplementationAttachment = (projectId) => { +export const getImplementationAttachment = (params) => { return request({ - url: '/workflow/mosr/project/implementation/tags', + url: '/workflow/mosr/project/implementation/attachments', method: "get", - params:{ - projectId:projectId - } + params:params + }); +}; +export const uploadAttachment= (data) => { + return request({ + url: '/workflow/mosr/project/implementation/upload', + method: "post", + data: data }); }; export const addLedger = (data) => { @@ -99,15 +104,3 @@ export const getProjectConclusionProcess = () => { method: "get" }); }; - -//文件查询 -export const searchFile = (targetId,tag) => { - return request({ - url: '/workflow/process/file/query', - method: "get", - params:{ - targetId:targetId, - tag:tag - } - }); -}; diff --git a/src/views/expense-management/ledger/index.vue b/src/views/expense-management/ledger/index.vue index 7966eb8..fb0a6f8 100644 --- a/src/views/expense-management/ledger/index.vue +++ b/src/views/expense-management/ledger/index.vue @@ -12,11 +12,11 @@ const router = useRouter() const route = useRoute() const searchConfig = reactive([ { - label: '名称', + label: '需求名称', prop: 'requirementName', component: 'el-input', props: { - placeholder: '请输入名称查询', + placeholder: '请输入需求名称查询', clearable: true, filterable: true, checkStrictly: true diff --git a/src/views/expense-management/share/index.vue b/src/views/expense-management/share/index.vue index 1120d54..dc44199 100644 --- a/src/views/expense-management/share/index.vue +++ b/src/views/expense-management/share/index.vue @@ -11,11 +11,11 @@ const router = useRouter(); const searchConfig = reactive([ { - label: '名称', + label: '项目名称', prop: 'projectName', component: 'el-input', props: { - placeholder: '请输入名称查询', + placeholder: '请输入项目名称查询', clearable: true, filterable: true, checkStrictly: true @@ -36,17 +36,17 @@ const tableIns = ref() const tableConfig = reactive({ columns: [ { - prop: 'requirementName', + prop: 'shareName', label: '分摊名称', align: 'center' }, { - prop: 'collectType', + prop: 'apportionmentMonth', label: '分摊月份', align: 'center' }, { - prop: 'deadline', + prop: 'generationTime', label: '生成时间', align: 'center' }, @@ -54,9 +54,8 @@ const tableConfig = reactive({ prop: 'state', label: '状态', align: 'center', - width: 200, showOverflowTooltip: false, - currentRender: ({row, index}) => () + currentRender: ({row, index}) => () }, { prop: 'oper', @@ -65,22 +64,25 @@ const tableConfig = reactive({ showOverflowTooltip: false, currentRender: ({row, index}) => { let btn = [] - let buttons = new Set(Array.from(row.buttons)) - if (buttons.has("details")) { + let buttons + if(row.buttons){ + buttons = new Set(Array.from(row.buttons)) + } + // if (buttons.has("details")) { btn.push({label: '详情', prem: ['mosr:requirement:info'], func: () => handleDetail(row), type: 'primary'}) - } - if (buttons.has("edit")) { + // } + // if (buttons.has("edit")) { btn.push({label: '编辑', prem: ['mosr:requirement:resubmit'], func: () => handleEdit(row), type: 'primary'}) - } + // } // if (buttons.has("delete")) { // btn.push({label: '删除',prem: ['mosr:requirement:del'], func: () => handleDelete(row), type: 'primary'}) // } - if (buttons.has("report")) { + // if (buttons.has("report")) { btn.push({label: '明细导出', prem: ['mosr:requirement:info'], func: () => handleReport(row), type: 'primary'}) - } - if (buttons.has("report")) { + // } + // if (buttons.has("report")) { btn.push({label: '汇总导出', prem: ['mosr:requirement:info'], func: () => handleReport(row), type: 'primary'}) - } + // } return (
{ @@ -96,17 +98,18 @@ const tableConfig = reactive({ )) } { - buttons.has("delete") ? + // buttons.has("delete") ? handleDelete(row)}/> : '' + onDelete={() => handleDelete(row)}/> + // : '' }
) } } ], - api: '', + api: '/workflow/mosr/cost/allocation', btns: [ {name: '添加分摊', key: 'add', color: '#DED0B2'} ], diff --git a/src/views/project-demand/requirement/add.vue b/src/views/project-demand/requirement/add.vue index de6c83b..8c9c1a6 100644 --- a/src/views/project-demand/requirement/add.vue +++ b/src/views/project-demand/requirement/add.vue @@ -2,8 +2,8 @@
- - + + - - + {{item.label}} - - + {{item.label}} @@ -259,11 +261,11 @@ const showTable = ref(true) const otherFileList = ref([]) const file = ref({}) const formData = ref({ - industryUniversityResearch:0, - governmentDeclaration:0, + industryUniversityResearch:'0', + governmentDeclaration:'0', }) const rules = reactive({ - projectName: [{required: true, message: '请输入名称', trigger: 'blur'}], + projectName: [{required: true, message: '请输入项目名称', trigger: 'blur'}], specialFund: [{required: true, message: '请选择专项资金', trigger: 'blur'}], startTime: [{required: true, message: '请选择开始时间', trigger: 'blur'}], rdSubject: [{required: true, message: '请输入研发主体', trigger: 'blur'}], diff --git a/src/views/project-demand/summary/index.vue b/src/views/project-demand/summary/index.vue index fad2ccc..94a39fa 100644 --- a/src/views/project-demand/summary/index.vue +++ b/src/views/project-demand/summary/index.vue @@ -7,7 +7,6 @@ import {reactive, ref, shallowRef} from 'vue'; import fvSelect from '@/fvcomponents/fvSelect/index.vue' import {useRouter} from 'vue-router'; - const localData = reactive({}) const tableIns = ref() @@ -16,10 +15,12 @@ const router = useRouter() const searchConfig = reactive([ { - label: '名称', + label: '需求名称', prop: 'requirementName', props: { - placeholder: '请输入' + placeholder: '请输入需求名称', + clearable: true, + checkStrictly: true }, component: 'el-input', colProps: {} @@ -28,42 +29,52 @@ const searchConfig = reactive([ label: '项目类型', prop: 'projectType', component: shallowRef(fvSelect), - props: {}, + props: { + placeholder: '请选择项目类型', + cacheKey: 'project_type', + clearable: true, + filterable: true, + }, colProps: {} }, { label: '研发主体', prop: 'productMainBody', component: shallowRef(fvSelect), - props: {}, - colProps: {} - }, - { - label: '项目影响', - prop: 'projectEffect', - component: shallowRef(fvSelect), - props: {}, - colProps: {} - }, - { - label: '起止时间', - prop: 'startTime', - component: 'el-date-picker', - props: {}, - colProps: {} - }, - { - label: '最小金额', - prop: 'minMoney', - component: 'el-input', - colProps: {} - }, - { - label: '最大金额', - prop: 'maxMoney', - component: 'el-input', + props: { + placeholder: '请选择研发主体', + cacheKey: 'rd_subject', + clearable: true, + filterable: true + }, colProps: {} }, + // { + // label: '项目影响', + // prop: 'projectEffect', + // component: shallowRef(fvSelect), + // props: {}, + // colProps: {} + // }, + // { + // label: '起止时间', + // prop: 'startTime', + // component: 'el-date-picker', + // props: {}, + // colProps: {} + // }, + // { + // label: '最小金额', + // prop: 'minMoney', + // component: 'el-input', + // colProps: {} + // }, + // { + // label: '最大金额', + // prop: 'maxMoney', + // component: 'el-input', + // colProps: {} + // }, ]) const tableConfig = reactive({ @@ -100,7 +111,10 @@ const tableConfig = reactive({ { prop: 'startTime', label: '起止时间', - align: 'center' + align: 'center', + currentRender: ({row}) => { + return row.startTime + ' 至 ' + row.endTime + } }, { prop: 'state', @@ -108,7 +122,7 @@ const tableConfig = reactive({ align: 'center', showOverflowTooltip: false, currentRender: ({row, index}) => { - if (row.state !== null&&row.state != 0) { + if (row.state !== null && row.state != 0) { return () } else { return '--' @@ -127,13 +141,13 @@ const tableConfig = reactive({ btn.push({label: '详情', prem: ['mosr:collect:info'], func: () => handleDetail(row), type: 'primary'}) } if (buttons.has("edit")) { - btn.push({label: '编辑',prem: ['mosr:collect:resubmit'], func: () => handleEdit(row), type: 'primary'}) + btn.push({label: '编辑', prem: ['mosr:collect:resubmit'], func: () => handleEdit(row), type: 'primary'}) } // if (buttons.has("delete")) { // btn.push({label: '删除',prem: ['mosr:requirement:del'], func: () => handleEdit(row), type: 'primary'}) // } if (buttons.has("report")) { - btn.push({label: '上报',prem: ['mosr:collect:reported'], func: () => handleAdd(row), type: 'primary'}) + btn.push({label: '上报', prem: ['mosr:collect:reported'], func: () => handleAdd(row), type: 'primary'}) } return (
@@ -175,26 +189,26 @@ const search = (val) => { const handleAdd = (row) => { router.push({ - name:'Summary/add', + name: 'Summary/add', query: { - id:row.requirementId + id: row.requirementId } }) } const handleEdit = (row) => { router.push({ - name:'Summary/edit', + name: 'Summary/edit', query: { - id:row.requirementId, - projectId:row.projectId + id: row.requirementId, + projectId: row.projectId } }) } const handleDetail = (row) => { router.push({ - name:'Summary/detail', + name: 'Summary/detail', query: { - id:row.requirementId, + id: row.requirementId, projectId: row.projectId, state: row.state } diff --git a/src/views/project-management/filing/conclusion.vue b/src/views/project-management/filing/conclusion.vue index a5374d1..390e722 100644 --- a/src/views/project-management/filing/conclusion.vue +++ b/src/views/project-management/filing/conclusion.vue @@ -1,17 +1,16 @@