From 5ae8e4be782cc6ec8a5597d38301a703a43ec774 Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Fri, 31 May 2024 20:56:58 +0800 Subject: [PATCH 01/19] =?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/expense-manage/index.js | 6 + src/api/project-manage/index.js | 2 +- src/api/special-fund/index.js | 18 +++ src/components/AttachmentUpload.vue | 11 +- .../DetailComponent/ExpenseDetail.vue | 20 +-- src/components/DetailComponent/Opinion.vue | 9 +- src/components/TagAndFileUpload.vue | 118 ++++++++++++++++++ src/components/Tinymce.vue | 2 +- src/views/expense-management/share/add.vue | 36 +++++- src/views/expense-management/share/detail.vue | 82 +++++++++--- src/views/project-demand/requirement/add.vue | 46 ++++++- .../project-demand/requirement/detail.vue | 37 ++++-- .../project-demand/requirement/index.vue | 37 +++--- src/views/project-demand/summary/add.vue | 104 +++++++++------ src/views/project-demand/summary/index.vue | 9 +- .../project-management/filing/attachment.vue | 26 +++- .../project-management/filing/conclusion.vue | 2 + src/views/project-management/filing/index.vue | 2 +- .../implementation/attachment.vue | 2 +- .../implementation/check.vue | 2 + .../implementation/index.vue | 2 +- .../implementation/upload.vue | 4 +- .../project-management/initiation/apply.vue | 7 ++ .../project-management/initiation/index.vue | 6 +- .../project-management/initiation/upload.vue | 11 ++ src/views/special-fund/add.vue | 19 +-- src/views/special-fund/detail.vue | 21 ++-- src/views/special-fund/index.vue | 37 ++++-- .../workflow/process/common/InsertButton.vue | 20 +-- .../process/config/FormAuthorityConfig.vue | 1 - src/views/workflow/process/index.vue | 4 +- vite.config.js | 14 +-- 32 files changed, 550 insertions(+), 167 deletions(-) create mode 100644 src/components/TagAndFileUpload.vue create mode 100644 src/views/project-management/initiation/upload.vue diff --git a/src/api/expense-manage/index.js b/src/api/expense-manage/index.js index 8126b9c..926bfc2 100644 --- a/src/api/expense-manage/index.js +++ b/src/api/expense-manage/index.js @@ -13,3 +13,9 @@ export const getAllocationDetail = (allocationId) => { method: "get" }); }; +export const getAllocationProcess = () => { + return request({ + url: '/workflow/mosr/cost/allocation/process', + method: "get" + }); +}; diff --git a/src/api/project-manage/index.js b/src/api/project-manage/index.js index eb54d16..42a57b9 100644 --- a/src/api/project-manage/index.js +++ b/src/api/project-manage/index.js @@ -79,7 +79,7 @@ export const addLedger = (data) => { export const getTags = (projectId) => { return request({ - url: '/workflow/mosr/project/implementation/tags', + url: '/workflow/mosr/project/implementation/option', method: "get", params:{ projectId:projectId diff --git a/src/api/special-fund/index.js b/src/api/special-fund/index.js index 2b82339..f76b2c4 100644 --- a/src/api/special-fund/index.js +++ b/src/api/special-fund/index.js @@ -1,11 +1,29 @@ import request from '@/utils/request.js' export const getFundDetail = (specialFundId) => { + return request({ + url: `/workflow/mosr/special/fund/from/${specialFundId}`, + method: "get" + }); +}; +export const getFundDetailProcess = (specialFundId) => { return request({ url: `/workflow/mosr/special/fund/info/${specialFundId}`, method: "get" }); }; +export const getFundOption = () => { + return request({ + url: '/workflow/mosr/special/fund/option', + method: "get" + }); +}; +export const getFundProcess = (specialFundId) => { + return request({ + url: '/workflow/mosr/special/fund/process', + method: "get" + }); +}; export const addFund= (data) => { return request({ url: '/workflow/mosr/special/fund', diff --git a/src/components/AttachmentUpload.vue b/src/components/AttachmentUpload.vue index 0b74133..765e88f 100644 --- a/src/components/AttachmentUpload.vue +++ b/src/components/AttachmentUpload.vue @@ -110,19 +110,20 @@ watch(() => props.showTable, (newVal) => { props.showTable = newVal }, {deep: true}) watch(() => props.otherFileList, (newVal) => { - newVal.forEach(item => { - allFileList.value.push(item) - }) + console.log('new',newVal) + // newVal?.forEach(item => { + allFileList.value=newVal + // }) }, {deep: true}) watch(() => props.formData.fileList, (newVal) => { if (props.preview) { - newVal.forEach(item => { + newVal?.forEach(item => { allFileList.value.push(item) }) } }, {deep: true}) watch(() => props.formData.singleFile, (newVal) => { - // singleFile.value = {} + console.log('singleFile',newVal) singleFile.value = newVal }, {deep: true}) const getAttachment = (val) => { diff --git a/src/components/DetailComponent/ExpenseDetail.vue b/src/components/DetailComponent/ExpenseDetail.vue index 5afbe05..47d95a6 100644 --- a/src/components/DetailComponent/ExpenseDetail.vue +++ b/src/components/DetailComponent/ExpenseDetail.vue @@ -2,16 +2,16 @@
- - - {{ formData.shareName }} - - - - - {{ formData.apportionmentMonth }} - - + + + + + + + + + + diff --git a/src/components/DetailComponent/Opinion.vue b/src/components/DetailComponent/Opinion.vue index 76e964a..d5f00b5 100644 --- a/src/components/DetailComponent/Opinion.vue +++ b/src/components/DetailComponent/Opinion.vue @@ -37,7 +37,8 @@ const schema = computed(() => { props: { placeholder: '请输入审核意见', type: 'textarea', - maxlength: 140 + // maxlength: 140, + rows:3 } } ] @@ -59,6 +60,12 @@ const back = () => { case 'Requirement/detail': router.push({name: 'Requirement'}) break; + case 'Fund/detail': + router.push({name: 'Fund'}) + break; + case 'Share/detail': + router.push({name: 'Expense/share'}) + break; } } // 驳回 diff --git a/src/components/TagAndFileUpload.vue b/src/components/TagAndFileUpload.vue new file mode 100644 index 0000000..5b2289a --- /dev/null +++ b/src/components/TagAndFileUpload.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/src/components/Tinymce.vue b/src/components/Tinymce.vue index 0295cdb..d619231 100644 --- a/src/components/Tinymce.vue +++ b/src/components/Tinymce.vue @@ -74,7 +74,7 @@ const props = defineProps({ }, height:{ type: Number, - default: 450 + default: 650 } }) const content = ref(props.value); diff --git a/src/views/expense-management/share/add.vue b/src/views/expense-management/share/add.vue index a1c26d1..0a30660 100644 --- a/src/views/expense-management/share/add.vue +++ b/src/views/expense-management/share/add.vue @@ -113,6 +113,10 @@
添加一行
+
+ + +
提交 返回 @@ -123,12 +127,17 @@ - diff --git a/src/views/project-demand/requirement/add.vue b/src/views/project-demand/requirement/add.vue index ffc189c..5d9880e 100644 --- a/src/views/project-demand/requirement/add.vue +++ b/src/views/project-demand/requirement/add.vue @@ -29,13 +29,35 @@ /> + + + + + + + + + + + + + + + + + + + v-model:value="formData.collectExplain" /> - diff --git a/src/views/project-management/implementation/check.vue b/src/views/project-management/implementation/check.vue index 7a820a2..0266215 100644 --- a/src/views/project-management/implementation/check.vue +++ b/src/views/project-management/implementation/check.vue @@ -85,6 +85,7 @@ const handleSubmit = (instance) => { if (!valid) return if(JSON.stringify(file.value) === "{}"){ attachment.value.validate() + return; }else { attachment.value.clearValidate() } @@ -139,6 +140,7 @@ const handleResubmit = (instance) => { let fileArray if (JSON.stringify(file.value) === "{}"||attachment.value.singleFile===null) { attachment.value.validate() + return; } else { attachment.value.clearValidate() } diff --git a/src/views/project-management/implementation/index.vue b/src/views/project-management/implementation/index.vue index 55e114e..0443dea 100644 --- a/src/views/project-management/implementation/index.vue +++ b/src/views/project-management/implementation/index.vue @@ -172,7 +172,7 @@ const tableConfig = reactive({ }, { prop: 'economicEstimate', - label: '经济概况', + label: '经济概算', align: 'center' }, { diff --git a/src/views/project-management/implementation/upload.vue b/src/views/project-management/implementation/upload.vue index c266eba..2740749 100644 --- a/src/views/project-management/implementation/upload.vue +++ b/src/views/project-management/implementation/upload.vue @@ -29,7 +29,7 @@ diff --git a/src/views/special-fund/add.vue b/src/views/special-fund/add.vue index d0d431d..259c35b 100644 --- a/src/views/special-fund/add.vue +++ b/src/views/special-fund/add.vue @@ -5,16 +5,16 @@ - + + v-model:value="formData.introduce"/> - From f4ad8718315745209486bfd2cc16dd501d7c7d7f Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Sat, 1 Jun 2024 00:45:13 +0800 Subject: [PATCH 05/19] =?UTF-8?q?fix=20:=20=E4=BF=AE=E6=94=B9=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E9=A1=B5=E6=95=B0=E6=8D=AE=E5=9B=9E=E6=98=BE=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E5=8F=8A=E7=AE=80=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DetailComponent/CollectionDetail.vue | 31 +--- .../DetailComponent/SummaryDetail.vue | 141 ++++++++---------- .../project-demand/requirement/detail.vue | 4 +- src/views/project-demand/summary/detail.vue | 40 +---- .../project-management/filing/detail.vue | 40 ++--- src/views/project-management/filing/index.vue | 7 +- .../implementation/detail.vue | 46 ++---- .../implementation/index.vue | 4 +- .../project-management/initiation/detail.vue | 85 ++--------- .../project-management/initiation/index.vue | 4 +- 10 files changed, 108 insertions(+), 294 deletions(-) diff --git a/src/components/DetailComponent/CollectionDetail.vue b/src/components/DetailComponent/CollectionDetail.vue index ffed32d..a5aebfa 100644 --- a/src/components/DetailComponent/CollectionDetail.vue +++ b/src/components/DetailComponent/CollectionDetail.vue @@ -7,17 +7,17 @@ {{ formData.requirementName }} - - - {{ formData.companyIds }} - - + + + + + {{ formData.collectType }} - + {{ formData.deadline }} @@ -71,13 +71,11 @@ diff --git a/src/components/TagAndFileUpload.vue b/src/components/TagAndFileUpload.vue index 5b2289a..d29dac5 100644 --- a/src/components/TagAndFileUpload.vue +++ b/src/components/TagAndFileUpload.vue @@ -2,8 +2,8 @@ - - + + handleDelete(row), type: 'primary'}) // } - // if (buttons.has("report")) { + if (buttons.has("report")) { btn.push({label: '需求上报', prem: ['mosr:requirement:info'], func: () => handleReport(row), type: 'primary'}) - // } + } return (
{ diff --git a/src/views/project-demand/requirement/upload.vue b/src/views/project-demand/requirement/upload.vue new file mode 100644 index 0000000..6c0bff8 --- /dev/null +++ b/src/views/project-demand/requirement/upload.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/src/views/project-demand/summary/api/index.js b/src/views/project-demand/summary/api/index.js index 3baa2ef..531c4a4 100644 --- a/src/views/project-demand/summary/api/index.js +++ b/src/views/project-demand/summary/api/index.js @@ -38,3 +38,11 @@ export const resubmitReported = (data) => { data: data }); }; + +export const getCollectAttachment = (params) => { + return request({ + url: '/workflow/mosr/requirement/collect/attachments', + method: "get", + params:params + }); +}; diff --git a/src/views/project-demand/summary/upload.vue b/src/views/project-demand/summary/upload.vue new file mode 100644 index 0000000..6c0bff8 --- /dev/null +++ b/src/views/project-demand/summary/upload.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/src/views/project-management/filing/attachment.vue b/src/views/project-management/filing/attachment.vue index 0752f87..ebda94b 100644 --- a/src/views/project-management/filing/attachment.vue +++ b/src/views/project-management/filing/attachment.vue @@ -1,111 +1,204 @@ - diff --git a/src/views/project-management/filing/index.vue b/src/views/project-management/filing/index.vue index 4cb549a..d72753c 100644 --- a/src/views/project-management/filing/index.vue +++ b/src/views/project-management/filing/index.vue @@ -207,9 +207,9 @@ const tableConfig = reactive({ if (buttons.has("details")) { 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'}) - } + // } if (buttons.has("entry")) { btn.push({label: '结项', prem: ['mosr:requirement:del'], func: () => handleConclusion(row), type: 'primary'}) } @@ -265,8 +265,8 @@ const handleAttachment = (row) => { router.push({ name: 'Filing/attachment', query: { - id: row.requirementId, - projectId: row.projectId + id: row.projectId, + requirementId:row.requirementId } }) } diff --git a/src/views/project-management/filing/upload.vue b/src/views/project-management/filing/upload.vue new file mode 100644 index 0000000..6c0bff8 --- /dev/null +++ b/src/views/project-management/filing/upload.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/src/views/project-management/implementation/attachment.vue b/src/views/project-management/implementation/attachment.vue index b0a6f48..88e2215 100644 --- a/src/views/project-management/implementation/attachment.vue +++ b/src/views/project-management/implementation/attachment.vue @@ -1,7 +1,7 @@ From 6391ab458bf4c24f6de9e0193d15ba20019db45a Mon Sep 17 00:00:00 2001 From: lilinyuan <1084668738@qq.com> Date: Sat, 1 Jun 2024 16:07:57 +0800 Subject: [PATCH 10/19] =?UTF-8?q?feat:=20=E9=80=80=E5=87=BA=E6=97=B6?= =?UTF-8?q?=E5=A4=9A=E6=A0=87=E7=AD=BE=E9=A1=B5=E5=85=A8=E9=83=A8=E6=B8=85?= =?UTF-8?q?=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/navbar/index.vue | 3 +++ src/stores/tagsview.js | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/layout/navbar/index.vue b/src/layout/navbar/index.vue index 71bf04f..9dbef25 100644 --- a/src/layout/navbar/index.vue +++ b/src/layout/navbar/index.vue @@ -26,9 +26,11 @@ import Breadcrumb from './Breadcrumb.vue'; import Hamburger from './Hamburger.vue'; import {useAuthStore} from '@/stores/userstore.js' import {usePermisstionStroe} from '@/stores/permisstion' +import { useTagsView } from '@/stores/tagsview'; const authStore = useAuthStore() const permisstionStore = usePermisstionStroe() +const tagsViewStore = useTagsView() const userInfo = ref({}) const visitedP = ref(false) const router = useRouter() @@ -58,6 +60,7 @@ const handleLogout = () => { authStore.userLogout() permisstionStore.removeMenu() permisstionStore.setIsSuccessReq() + tagsViewStore.removeAllTagView() router.push('/login') } diff --git a/src/stores/tagsview.js b/src/stores/tagsview.js index b278540..268d088 100644 --- a/src/stores/tagsview.js +++ b/src/stores/tagsview.js @@ -56,11 +56,16 @@ export const useTagsView = defineStore('tagsView',()=>{ router.push(lastTagView.path) } + const removeAllTagView = () => { + visitedViews.value.length = 0 + } + return { visitedViews, addVisitedViews, delVisitedViews, delOtherVisitedViews, - delViewAndGoView + delViewAndGoView, + removeAllTagView } }) From d2f9bfcb331db4a1301fb06df83e4d0b7383ae30 Mon Sep 17 00:00:00 2001 From: lilinyuan <1084668738@qq.com> Date: Sat, 1 Jun 2024 16:24:40 +0800 Subject: [PATCH 11/19] =?UTF-8?q?fix:=20=E9=A1=B9=E7=9B=AE=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E8=AF=A6=E6=83=85=E6=9F=A5=E8=AF=A2=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99=E5=85=B3=E9=97=ADloading?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/project-management/implementation/detail.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/project-management/implementation/detail.vue b/src/views/project-management/implementation/detail.vue index 13281b2..29333c4 100644 --- a/src/views/project-management/implementation/detail.vue +++ b/src/views/project-management/implementation/detail.vue @@ -55,6 +55,7 @@ const getAllInfo = async (state) => { message: msg, type: 'error' }) + loading.close() } if(data===undefined)return; commonForm.value = data From b0199c8fd9a87c609241232c99deac1e5ce39476 Mon Sep 17 00:00:00 2001 From: lilinyuan <1084668738@qq.com> Date: Sat, 1 Jun 2024 17:03:43 +0800 Subject: [PATCH 12/19] =?UTF-8?q?fix:=20=E9=83=A8=E5=88=86=E6=9D=83?= =?UTF-8?q?=E9=99=90=E6=A0=87=E8=AF=86,=20=E4=BF=AE=E5=A4=8D=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E7=BC=96=E8=BE=91bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/ToolToShowUserPicker.vue | 2 +- src/views/system/department/edit.vue | 2 +- src/views/system/department/index.vue | 2 +- src/views/system/role/index.vue | 16 ++++++++-------- src/views/system/user/index.vue | 4 ++-- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/views/system/department/components/ToolToShowUserPicker.vue b/src/views/system/department/components/ToolToShowUserPicker.vue index 9f499ff..bd909ad 100644 --- a/src/views/system/department/components/ToolToShowUserPicker.vue +++ b/src/views/system/department/components/ToolToShowUserPicker.vue @@ -1,6 +1,6 @@ diff --git a/src/views/system/department/edit.vue b/src/views/system/department/edit.vue index d084b20..3d3bccd 100644 --- a/src/views/system/department/edit.vue +++ b/src/views/system/department/edit.vue @@ -82,7 +82,7 @@ const getInfo = async () => { const formatIdsToNames = (ids, infoList, key, viewKey) => { const resArr = [] - if(!ids.length) return '--' + if(!ids?.length) return ids.forEach(item=>{ infoList.forEach(v=>{ item == v[key] && resArr.push(v[viewKey]) diff --git a/src/views/system/department/index.vue b/src/views/system/department/index.vue index 10cdf82..b063ea9 100644 --- a/src/views/system/department/index.vue +++ b/src/views/system/department/index.vue @@ -35,7 +35,7 @@ diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue index bdf3eee..843176f 100644 --- a/src/views/system/role/index.vue +++ b/src/views/system/role/index.vue @@ -135,14 +135,14 @@ const tableConfig = reactive({ showOverflowTooltip: false, currentRender: ({row, index}) => { let btn = [{label: '修改', auth: auths.edit, func: ()=>handleEdit(row) , type: 'primary'}] - btn.push( - { - label: '分配用户', - auth: auths.edit, - func: ()=>handleAssign(row), - type: 'primary' - } - ) + // btn.push( + // { + // label: '分配用户', + // auth: auths.edit, + // func: ()=>handleAssign(row), + // type: 'primary' + // } + // ) if(authStore.roles.includes('superAdmin')) { btn.push({label: '删除', auth: auths.edit, func: ()=>handleDel(row) , type: 'danger'}) } else if(!row.template) { diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index 9ed57b2..45b2763 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -119,10 +119,10 @@ const tableConfig = reactive({ currentRender: ({row, index}) => { return (
- handleEdit(row)}>编辑 + handleEdit(row)} v-perm={['admin:user:edit']}>编辑 { row.userType != 0 ? - handleDel(row)}>删除 : + handleDel(row)} v-perm={['admin:user:del']}>删除 : null } From dd046f645f78ec1adbd5c4536210bce0cd8d1730 Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Sat, 1 Jun 2024 18:30:11 +0800 Subject: [PATCH 13/19] =?UTF-8?q?fix=20:=20=E4=BF=AE=E5=A4=8D=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=BD=92=E6=A1=A3=E4=BA=94=E4=B8=AA=E9=99=84=E4=BB=B6?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=8A=9F=E8=83=BD=E3=80=81=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E6=A1=86=E3=80=81=E6=96=87=E4=BB=B6=E5=A4=9A=E9=80=89=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E3=80=81=E8=AF=A6=E6=83=85=E9=A9=B3=E5=9B=9E/?= =?UTF-8?q?=E5=90=8C=E6=84=8F=E8=B7=AF=E7=94=B1=E8=B7=B3=E8=BD=AC=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/project-demand/index.js | 7 + src/api/project-manage/index.js | 14 ++ src/components/AttachmentUpload.vue | 51 ++++--- src/components/DetailComponent/Opinion.vue | 11 +- src/components/FileUpload.vue | 53 ++++--- src/views/expense-management/share/index.vue | 23 ++- src/views/project-demand/requirement/add.vue | 14 +- .../project-demand/requirement/detail.vue | 4 +- .../project-demand/requirement/index.vue | 7 +- .../project-demand/requirement/upload.vue | 135 +++++++++++++++++- src/views/project-demand/summary/api/index.js | 7 + src/views/project-demand/summary/upload.vue | 135 +++++++++++++++++- .../project-management/filing/attachment.vue | 2 +- src/views/project-management/filing/index.vue | 6 +- .../project-management/filing/upload.vue | 135 +++++++++++++++++- .../implementation/index.vue | 4 +- .../project-management/initiation/index.vue | 2 +- .../project-management/initiation/upload.vue | 135 +++++++++++++++++- src/views/workflow/process/ProcessEdit.vue | 2 - 19 files changed, 659 insertions(+), 88 deletions(-) diff --git a/src/api/project-demand/index.js b/src/api/project-demand/index.js index de4098d..9a5a163 100644 --- a/src/api/project-demand/index.js +++ b/src/api/project-demand/index.js @@ -90,3 +90,10 @@ export const getRequirementAttachment = (params) => { params:params }); }; +export const uploadRequirementAttachment= (data) => { + return request({ + url: '/workflow/mosr/requirement/upload', + method: "post", + data: data + }); +}; diff --git a/src/api/project-manage/index.js b/src/api/project-manage/index.js index d746e48..0189260 100644 --- a/src/api/project-manage/index.js +++ b/src/api/project-manage/index.js @@ -34,6 +34,13 @@ export const getInitiationAttachment = (params) => { params:params }); }; +export const uploadInitiationAttachment= (data) => { + return request({ + url: '/workflow/mosr/project/approval/upload', + method: "post", + data: data + }); +}; //项目实施 export const getCheckDetail = (projectId) => { return request({ @@ -126,3 +133,10 @@ export const getFilingAttachment = (params) => { params:params }); }; +export const uploadFilingAttachment= (data) => { + return request({ + url: '/workflow/mosr/project/filing/upload', + method: "post", + data: data + }); +}; diff --git a/src/components/AttachmentUpload.vue b/src/components/AttachmentUpload.vue index 8709334..f5d791e 100644 --- a/src/components/AttachmentUpload.vue +++ b/src/components/AttachmentUpload.vue @@ -10,7 +10,7 @@ 删除 @@ -63,20 +63,21 @@ const tableConfig = reactive({ align: 'center', currentRender: ({row, index}) => (parseInt(row.size / 1024) + 'KB') }, - // { - // prop: 'oper', - // label: '操作', - // align: 'center', - // showOverflowTooltip: false, - // currentRender: ({row, index}) => { - // return ( - //
- // handleDownload(row)}>下载 - // deleteOtherFile(row)}>删除 - //
- // ) - // } - // } + { + prop: 'oper', + label: '操作', + align: 'center', + showOverflowTooltip: false, + currentRender: ({row, index}) => { + return ( +
+ handleDownload(row)}>下载 +
+ ) + } + } + + // deleteOtherFile(row)}>删除 ] }) const rules = reactive({ @@ -84,6 +85,7 @@ const rules = reactive({ }) const applyForm = ref() const singleFile = ref() +const isSingleFile = ref(false) const allFileList = ref([]) const props = defineProps({ showFileList: { @@ -110,12 +112,17 @@ watch(() => props.showTable, (newVal) => { props.showTable = newVal }, {deep: true}) watch(() => props.otherFileList, (newVal) => { - console.log('new',newVal) - // newVal?.forEach(item => { + console.log('newotherFileList',newVal) + if (props.preview) { + newVal?.forEach(item => { + allFileList.value.push(item) + }) + }else { allFileList.value=newVal - // }) + } }, {deep: true}) watch(() => props.formData.fileList, (newVal) => { + console.log('newVal-fileList',newVal) if (props.preview) { newVal?.forEach(item => { allFileList.value.push(item) @@ -127,6 +134,7 @@ watch(() => props.formData.singleFile, (newVal) => { singleFile.value = newVal }, {deep: true}) const getAttachment = (val) => { + isSingleFile.value=true emit('getAttachment', val) } const getOtherFile = (val) => { @@ -135,7 +143,12 @@ const getOtherFile = (val) => { const deleteAttachment = (val) => { deleteFile(val).then(res => { if (res.code === 1000) { - ElMessage.success("删除成功"); + ElNotification({ + title: '提示', + message:"删除成功", + type:'success' + }) + isSingleFile.value=false } }); } diff --git a/src/components/DetailComponent/Opinion.vue b/src/components/DetailComponent/Opinion.vue index d5f00b5..4e6738b 100644 --- a/src/components/DetailComponent/Opinion.vue +++ b/src/components/DetailComponent/Opinion.vue @@ -37,8 +37,7 @@ const schema = computed(() => { props: { placeholder: '请输入审核意见', type: 'textarea', - // maxlength: 140, - rows:3 + rows: 3 } } ] @@ -52,7 +51,13 @@ const back = () => { router.push({name: 'Filing'}) break; case 'Implementation/detail': - router.push({name: 'Implementation'}) + if (route.query.step === '20') { + router.push({name: 'Initiation'}) + } else if (route.query.step === '40') { + router.push({name: 'Implementation'}) + } else if (route.query.step === '50') { + router.push({name: 'Filing'}) + } break; case 'Summary/detail': router.push({name: 'Summary'}) diff --git a/src/components/FileUpload.vue b/src/components/FileUpload.vue index 2d4b863..2a6a16d 100644 --- a/src/components/FileUpload.vue +++ b/src/components/FileUpload.vue @@ -4,7 +4,7 @@ :headers="headers" :limit="maxSize" with-credentials - :multiple="maxSize > 0" + :multiple="multiple" :data="uploadParams" :show-file-list="showFileList" :auto-upload="true" @@ -19,8 +19,9 @@ @@ -108,6 +106,7 @@ a { font-size: 14px; color: #2a99ff; } + :deep(.el-upload-list) { width: 400px; } diff --git a/src/views/expense-management/share/index.vue b/src/views/expense-management/share/index.vue index 91565a4..a4908e4 100644 --- a/src/views/expense-management/share/index.vue +++ b/src/views/expense-management/share/index.vue @@ -89,21 +89,18 @@ const tableConfig = reactive({ if(row.buttons){ buttons = new Set(Array.from(row.buttons)) } - // if (buttons.has("details")) { + 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 (
{ @@ -119,11 +116,11 @@ const tableConfig = reactive({ )) } { - // buttons.has("delete") ? + buttons.has("delete") ? handleDelete(row)}/> - // : '' + : '' }
) diff --git a/src/views/project-demand/requirement/add.vue b/src/views/project-demand/requirement/add.vue index 6c4e942..9ae3ca5 100644 --- a/src/views/project-demand/requirement/add.vue +++ b/src/views/project-demand/requirement/add.vue @@ -236,11 +236,6 @@ const init = async () => { const resFund = await getFundOption() specialFundOption.value = resFund.data getWorkflowInfo().then(res => { - ElNotification({ - title: '提示', - message: res.msg, - type: res.code === 1000 ? 'success' : 'error' - }) if (res.code === 1000) { let data = res.data processInstanceData.value = data @@ -256,7 +251,12 @@ const init = async () => { nextTick(() => { processDiagramViewer.value = true }) - } else { + }else { + ElNotification({ + title: '提示', + message: res.msg, + type: 'error' + }) } }) } @@ -367,7 +367,7 @@ onMounted(async () => { margin-top: 0; } :deep(.el-table--fit ){ - height: 400px; + height: 600px; } .add-block { //display: flex; diff --git a/src/views/project-demand/requirement/detail.vue b/src/views/project-demand/requirement/detail.vue index b97729c..783f02c 100644 --- a/src/views/project-demand/requirement/detail.vue +++ b/src/views/project-demand/requirement/detail.vue @@ -272,7 +272,9 @@ onMounted(async () => { :deep(.el-empty__description) { margin-top: 0; } - +:deep(.el-table--fit ){ + height: 600px; +} .detail-block { overflow: hidden; padding-right: 10px; diff --git a/src/views/project-demand/requirement/index.vue b/src/views/project-demand/requirement/index.vue index 7d74176..962ea41 100644 --- a/src/views/project-demand/requirement/index.vue +++ b/src/views/project-demand/requirement/index.vue @@ -112,12 +112,9 @@ const tableConfig = reactive({ 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'}) - // } + } return (
{ diff --git a/src/views/project-demand/requirement/upload.vue b/src/views/project-demand/requirement/upload.vue index 6c0bff8..ca3f0ae 100644 --- a/src/views/project-demand/requirement/upload.vue +++ b/src/views/project-demand/requirement/upload.vue @@ -1,9 +1,142 @@