diff --git a/src/api/project-manage/index.js b/src/api/project-manage/index.js new file mode 100644 index 0000000..815ff34 --- /dev/null +++ b/src/api/project-manage/index.js @@ -0,0 +1,88 @@ +import request from '@/utils/request.js' +//项目立项 +export const getApplyProcess = () => { + return request({ + url: '/workflow/mosr/project/approval/initiation/process', + method: "post" + }); +}; +export const projectApply = (data) => { + return request({ + url: '/workflow/mosr/project/approval/initiation/apply', + method: "post", + data: data + }); +}; +export const getApplyDetail = (ProjectId) => { + return request({ + url: `/workflow/mosr/project/approval/info/${ProjectId}`, + method: "get" + }); +}; + +export const resubmitApply = (data) => { + return request({ + url: '/workflow/mosr/project/approval/initiation/resubmit', + method: "post", + data: data + }); +}; +//项目实施 +export const getCheckDetail = (projectId) => { + return request({ + url: `/workflow/mosr/project/implementation/info/${projectId}`, + method: "get" + }); +}; +export const resubmitCheck = (data) => { + return request({ + url: '/workflow/mosr/project/implementation/resubmit', + method: "post", + data: data + }); +}; + +export const projectCheck = (data) => { + return request({ + url: '/workflow/mosr/project/implementation/initiation/check', + method: "post", + data: data + }); +}; +export const getProjectCheckProcess = (data) => { + return request({ + url: '/workflow/mosr/project/implementation/process', + method: "post", + data: data + }); +}; + +//项目归档 +export const getConclusionDetail = (ProjectId) => { + return request({ + url: `/workflow/mosr/project/filing/info/${ProjectId}`, + method: "get" + }); +}; +export const resubmitConclusion = (data) => { + return request({ + url: '/workflow/mosr/project/filing/resubmit', + method: "post", + data: data + }); +}; + +export const projectConclusion = (data) => { + return request({ + url: '/workflow/mosr/project/filing/project/entry', + method: "post", + data: data + }); +}; +export const getProjectConclusionProcess = (data) => { + return request({ + url: '/workflow/mosr/project/filing/process', + method: "post", + data: data + }); +}; diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss index d2f3ceb..4f3a807 100644 --- a/src/assets/styles/index.scss +++ b/src/assets/styles/index.scss @@ -378,7 +378,7 @@ html, body, #app, .el-container, .el-aside, .el-main { .scale { margin-top: 10px; z-index: 666; - position: absolute; + position: static; //top: -20px; } diff --git a/src/components/AttachmentUpload.vue b/src/components/AttachmentUpload.vue new file mode 100644 index 0000000..0b74133 --- /dev/null +++ b/src/components/AttachmentUpload.vue @@ -0,0 +1,192 @@ + + + + + diff --git a/src/components/DetailComponent/ApprovalDetail.vue b/src/components/DetailComponent/ApprovalDetail.vue new file mode 100644 index 0000000..9e937f9 --- /dev/null +++ b/src/components/DetailComponent/ApprovalDetail.vue @@ -0,0 +1,158 @@ + + + + + diff --git a/src/components/DetailComponent/CollectionDetail.vue b/src/components/DetailComponent/CollectionDetail.vue new file mode 100644 index 0000000..f1fdfd4 --- /dev/null +++ b/src/components/DetailComponent/CollectionDetail.vue @@ -0,0 +1,178 @@ + + + + + diff --git a/src/components/DetailComponent/Opinion.vue b/src/components/DetailComponent/Opinion.vue new file mode 100644 index 0000000..9f6a03e --- /dev/null +++ b/src/components/DetailComponent/Opinion.vue @@ -0,0 +1,80 @@ + + + + + \ No newline at end of file diff --git a/src/components/DetailComponent/SummaryDetail.vue b/src/components/DetailComponent/SummaryDetail.vue new file mode 100644 index 0000000..e696307 --- /dev/null +++ b/src/components/DetailComponent/SummaryDetail.vue @@ -0,0 +1,323 @@ + + + + + diff --git a/src/components/FileUpload.vue b/src/components/FileUpload.vue index 76a8939..2ead4a1 100644 --- a/src/components/FileUpload.vue +++ b/src/components/FileUpload.vue @@ -11,13 +11,15 @@ :before-upload="beforeUpload" :on-success="handleUploadSuccess" :on-error="uploadError" + :before-remove="beforeRemove" + :on-remove="handleRemove" > 上传文件 + + diff --git a/src/components/PopoverDelete.vue b/src/components/PopoverDelete.vue index 8dbd829..4c04031 100644 --- a/src/components/PopoverDelete.vue +++ b/src/components/PopoverDelete.vue @@ -9,7 +9,7 @@ @cancel="handleCancel" > @@ -24,7 +24,7 @@ const props = defineProps({ }, btnType: { type: String, - default: 'text' + default: 'danger' }, type: { type: String, diff --git a/src/components/Tooltip.vue b/src/components/Tooltip.vue new file mode 100644 index 0000000..2cddc67 --- /dev/null +++ b/src/components/Tooltip.vue @@ -0,0 +1,49 @@ + + + diff --git a/src/components/steps/api/index.js b/src/components/steps/api/index.js new file mode 100644 index 0000000..a6d331c --- /dev/null +++ b/src/components/steps/api/index.js @@ -0,0 +1,15 @@ +import request from '@/utils/request' + +export const getBaseInfoApi = (projectId) => { + return request({ + url: '/workflow/details/info/'+projectId, + method: 'get', + }) +} + +export const getMapProjectStateInfo = (projectId, state) => { + return request({ + url: `/workflow/details/${projectId}/${state}`, + method: 'get' + }) +} \ No newline at end of file diff --git a/src/components/steps/index.vue b/src/components/steps/index.vue new file mode 100644 index 0000000..546904e --- /dev/null +++ b/src/components/steps/index.vue @@ -0,0 +1,256 @@ + + + + + diff --git a/src/utils/matterTree.js b/src/utils/matterTree.js new file mode 100644 index 0000000..24f791d --- /dev/null +++ b/src/utils/matterTree.js @@ -0,0 +1,13 @@ +export const matterTree = (array,data, id) => { + if (id) { + for (let i = 0; i < data.length; i++) { + if (data[i].value == id) { + array.push(data[i].label); + } + if (data[i].children && data[i].children.length > 0) { + matterTree(data[i].children) + } + } + return array; + } +} diff --git a/src/views/project-demand/collection/add.vue b/src/views/project-demand/collection/add.vue index faa33f5..bb9188d 100644 --- a/src/views/project-demand/collection/add.vue +++ b/src/views/project-demand/collection/add.vue @@ -36,7 +36,7 @@ - + diff --git a/src/views/project-management/filing/attachment.vue b/src/views/project-management/filing/attachment.vue new file mode 100644 index 0000000..1ed9890 --- /dev/null +++ b/src/views/project-management/filing/attachment.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/src/views/project-management/filing/conclusion.vue b/src/views/project-management/filing/conclusion.vue new file mode 100644 index 0000000..a32402b --- /dev/null +++ b/src/views/project-management/filing/conclusion.vue @@ -0,0 +1,260 @@ + + + + + diff --git a/src/views/project-management/filing/detail.vue b/src/views/project-management/filing/detail.vue new file mode 100644 index 0000000..f95826c --- /dev/null +++ b/src/views/project-management/filing/detail.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/views/project-management/filing/index.vue b/src/views/project-management/filing/index.vue index 8fb2d83..054ce9a 100644 --- a/src/views/project-management/filing/index.vue +++ b/src/views/project-management/filing/index.vue @@ -93,12 +93,12 @@ const tableIns = ref() const tableConfig = reactive({ columns: [ { - prop: 'name', + prop: 'projectName', label: '名称', align: 'center' }, { - prop: 'company', + prop: 'affiliatedCompany', label: '所属公司', align: 'center' }, @@ -108,31 +108,37 @@ const tableConfig = reactive({ align: 'center' }, { - prop: 'productMainBody', + prop: 'rdSubject', label: '研发主体', align: 'center' }, { - prop: 'projectEffect', + prop: 'projectImpact', label: '项目影响', align: 'center' }, { - prop: 'survey', - label: '经营概况', + prop: 'economicEstimate', + label: '经济概况', align: 'center' }, { - prop: 'time', + prop: 'startTime', label: '起止时间', align: 'center' }, { - prop: 'status', + prop: 'state', label: '状态', align: 'center', showOverflowTooltip: false, - currentRender: ({row, index}) => () + currentRender: ({row, index}) =>{ + if (row.state !== null) { + return () + } else { + return '--' + } + } }, { prop: 'oper', @@ -141,11 +147,12 @@ const tableConfig = reactive({ showOverflowTooltip: false, currentRender: ({row, index}) => { let btn = [{label: '详情', func: () => handleDetail(row), type: 'primary'}] - if (row.state === '3') { + // if (row.state === '3') { btn.push({label: '附件', func: () => handleCheck(row), type: 'primary'}) - } else if (row.state === '4') { - btn.push({label: '结项', func: () => handleStandingBook(row), type: 'primary'}) - } + // } else if (row.state === '4') { + btn.push({label: '结项', func: () => handleConclusion(row), type: 'primary'}) + btn.push({label: '编辑', func: () => handleEdit(row), type: 'primary'}) + // } return (
{ @@ -165,7 +172,7 @@ const tableConfig = reactive({ } } ], - api: '', + api: '/workflow/mosr/project/filing', params: {}, }) @@ -176,11 +183,28 @@ const search = (val) => { const handleDetail = (row) => { router.push({ - name:'Implementation/detail', + name:'Filing/detail', query: { id: row.requirementId } }) } - +const handleConclusion = (row) => { + router.push({ + name:'Filing/conclusion', + query: { + id: row.requirementId, + projectId: row.projectId + } + }) +} +const handleEdit = (row) => { + router.push({ + name:'Filing/edit', + query: { + id: row.requirementId, + projectId: row.projectId + } + }) +} diff --git a/src/views/project-management/implementation/account.vue b/src/views/project-management/implementation/account.vue index 2ac081f..b971574 100644 --- a/src/views/project-management/implementation/account.vue +++ b/src/views/project-management/implementation/account.vue @@ -1,6 +1,6 @@ diff --git a/src/views/project-management/initiation/index.vue b/src/views/project-management/initiation/index.vue index c47dcbc..30993ed 100644 --- a/src/views/project-management/initiation/index.vue +++ b/src/views/project-management/initiation/index.vue @@ -93,12 +93,12 @@ const tableIns = ref() const tableConfig = reactive({ columns: [ { - prop: 'name', + prop: 'projectName', label: '名称', align: 'center' }, { - prop: 'company', + prop: 'affiliatedCompanyId', label: '所属公司', align: 'center' }, @@ -108,31 +108,37 @@ const tableConfig = reactive({ align: 'center' }, { - prop: 'productMainBody', + prop: 'rdSubject', label: '研发主体', align: 'center' }, { - prop: 'projectEffect', + prop: 'projectImpact', label: '项目影响', align: 'center' }, { - prop: 'survey', - label: '经营概况', + prop: 'economicEstimate', + label: '经济概况', align: 'center' }, { - prop: 'time', + prop: 'startTime', label: '起止时间', align: 'center' }, { - prop: 'status', + prop: 'state', label: '状态', align: 'center', showOverflowTooltip: false, - currentRender: ({row, index}) => () + currentRender: ({row, index}) =>{ + if (row.state !== null) { + return () + } else { + return '--' + } + } }, { prop: 'oper', @@ -143,7 +149,7 @@ const tableConfig = reactive({ let btn = [{label: '详情', func: () => handleDetail(row), type: 'primary'}] if (row.state === '3') { btn.push({label: '编辑', func: () => handleEdit(row), type: 'primary'}) - } else if (row.state === '4') { + } else if (row.state === '0') { btn.push({label: '申请', func: () => handleApply(row), type: 'primary'}) } return ( @@ -165,7 +171,7 @@ const tableConfig = reactive({ } } ], - api: '', + api: '/workflow/mosr/project/approval', params: {}, }) @@ -178,7 +184,9 @@ const handleDetail = (row) => { router.push({ name:'Initiation/detail', query: { - id: row.requirementId + id: row.requirementId, + projectId: row.projectId, + state: 2 } }) } @@ -186,7 +194,8 @@ const handleEdit = (row) => { router.push({ name:'Initiation/edit', query: { - id: row.requirementId + id: row.requirementId, + projectId: row.projectId } }) } @@ -194,7 +203,8 @@ const handleApply = (row) => { router.push({ name:'Initiation/apply', query: { - id: row.requirementId + id: row.requirementId, + projectId: row.projectId } }) } diff --git a/src/views/projectdemand/demandcollection/add.vue b/src/views/projectdemand/demandcollection/add.vue deleted file mode 100644 index f29402c..0000000 --- a/src/views/projectdemand/demandcollection/add.vue +++ /dev/null @@ -1,314 +0,0 @@ - - - - - diff --git a/src/views/projectdemand/demandcollection/detail.vue b/src/views/projectdemand/demandcollection/detail.vue deleted file mode 100644 index 5e1eafc..0000000 --- a/src/views/projectdemand/demandcollection/detail.vue +++ /dev/null @@ -1,264 +0,0 @@ - - - - - diff --git a/src/views/projectdemand/demandcollection/index.vue b/src/views/projectdemand/demandcollection/index.vue deleted file mode 100644 index 5096d8f..0000000 --- a/src/views/projectdemand/demandcollection/index.vue +++ /dev/null @@ -1,157 +0,0 @@ - - - diff --git a/src/views/projectdemand/demandsummary/add.vue b/src/views/projectdemand/demandsummary/add.vue deleted file mode 100644 index 9591b33..0000000 --- a/src/views/projectdemand/demandsummary/add.vue +++ /dev/null @@ -1,182 +0,0 @@ - - - \ No newline at end of file diff --git a/src/views/projectdemand/demandsummary/api/index.js b/src/views/projectdemand/demandsummary/api/index.js deleted file mode 100644 index e7636c7..0000000 --- a/src/views/projectdemand/demandsummary/api/index.js +++ /dev/null @@ -1,12 +0,0 @@ -import request from '@/utils/request' - -export const fileUp = (url, data) => { - return request({ - url, - method: 'post', - data, - headers: { - 'Content-Type': 'multipart/form-data' - } - }) -} \ No newline at end of file diff --git a/src/views/projectdemand/demandsummary/components/FileUpload.vue b/src/views/projectdemand/demandsummary/components/FileUpload.vue deleted file mode 100644 index 241e812..0000000 --- a/src/views/projectdemand/demandsummary/components/FileUpload.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/views/projectdemand/demandsummary/index.vue b/src/views/projectdemand/demandsummary/index.vue deleted file mode 100644 index be505a6..0000000 --- a/src/views/projectdemand/demandsummary/index.vue +++ /dev/null @@ -1,168 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/views/steps/step/Step1.vue b/src/views/steps/step/Step1.vue new file mode 100644 index 0000000..6489d2e --- /dev/null +++ b/src/views/steps/step/Step1.vue @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/src/views/steps/step/Step2.vue b/src/views/steps/step/Step2.vue new file mode 100644 index 0000000..ab978ab --- /dev/null +++ b/src/views/steps/step/Step2.vue @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/src/views/steps/step/Step3.vue b/src/views/steps/step/Step3.vue new file mode 100644 index 0000000..6489d2e --- /dev/null +++ b/src/views/steps/step/Step3.vue @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/src/views/steps/step/Step4.vue b/src/views/steps/step/Step4.vue new file mode 100644 index 0000000..6489d2e --- /dev/null +++ b/src/views/steps/step/Step4.vue @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/src/views/steps/step/Step5.vue b/src/views/steps/step/Step5.vue new file mode 100644 index 0000000..18f3df9 --- /dev/null +++ b/src/views/steps/step/Step5.vue @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/src/views/steps/step/index.vue b/src/views/steps/step/index.vue new file mode 100644 index 0000000..111cea2 --- /dev/null +++ b/src/views/steps/step/index.vue @@ -0,0 +1,39 @@ + + + + + \ No newline at end of file diff --git a/src/views/workflow/common/OperationRender.vue b/src/views/workflow/common/OperationRender.vue index 960c0ec..fbfb469 100644 --- a/src/views/workflow/common/OperationRender.vue +++ b/src/views/workflow/common/OperationRender.vue @@ -10,53 +10,15 @@
+
- - - - - - - - - - - - - - +
{{ operation.operationName }}
{{ operation.remark }}
- - - - - - - - - - - - - - - - - - - -
@@ -71,6 +33,7 @@