diff --git a/src/api/project-manage/index.js b/src/api/project-manage/index.js index b983f01..37ca9e1 100644 --- a/src/api/project-manage/index.js +++ b/src/api/project-manage/index.js @@ -138,3 +138,10 @@ export const getProjectConclusionProcess = () => { method: "get" }); }; +//获取前置流程 +export const getPreProcess= () => { + return request({ + url: '/workflow/details/pre/process', + method: "get" + }); +}; diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss index c14453a..633be36 100644 --- a/src/assets/styles/index.scss +++ b/src/assets/styles/index.scss @@ -549,3 +549,30 @@ html, body, #app, .el-container, .el-aside, .el-main { right: 15px; z-index: 5; } + +.approval-record { + //padding-bottom: 30px; + position: relative; + .approval-title { + display: flex; + align-items: center; + justify-content: space-between; + + .diagram { + display: flex; + align-items: center; + + .base-title { + margin-right: 10px; + } + + //.el-switch { + // margin-left: 15px; + //} + } + } + + .process { + position: relative; + } +} diff --git a/src/components/AttachmentUpload.vue b/src/components/AttachmentUpload.vue index 4a36418..34c444e 100644 --- a/src/components/AttachmentUpload.vue +++ b/src/components/AttachmentUpload.vue @@ -5,11 +5,11 @@ - @@ -307,6 +308,9 @@ const rules = reactive({ contentDescription: [{required: true, message: '请输入研发项目关键内容描述', trigger: 'blur'}] }) +const handleBack = () => { + history.back() +} const disabledDate = (time) => { return time.getTime() < new Date(formData.value.startTime).getTime(); } diff --git a/src/views/project-demand/summary/detail.vue b/src/views/project-demand/summary/detail.vue index 0f007c4..8b6bb28 100644 --- a/src/views/project-demand/summary/detail.vue +++ b/src/views/project-demand/summary/detail.vue @@ -28,7 +28,7 @@ import SummaryDetail from '@/components/DetailComponent/SummaryDetail.vue'; import {useProcessStore} from '@/stores/processStore.js'; import {getMapProjectStateInfo} from '@/components/steps/api'; import CollectionDetail from "@/components/DetailComponent/CollectionDetail.vue"; -import {ElNotification} from "element-plus"; +import {ElLoading, ElNotification} from "element-plus"; const route = useRoute() const summaryData = ref({}) @@ -40,36 +40,46 @@ const active = ref(route.query.state) const auditOpinion = ref('') const showActive = ref() const getInfo = async (state) => { - fileListShow.value = 'READ' - const projectId = route.query.projectId - summaryProcessViewer.value = false - loading.value = true - const {code, data, msg} = await getMapProjectStateInfo(projectId, state) - if (code === 1000) { - summaryData.value = data; - loading.value = false - processStore.setDesign(data) - processStore.runningList.value = data.runningList; - processStore.endList.value = data.endList; - processStore.noTakeList.value = data.noTakeList; - processStore.refuseList.value = data.refuseList; - processStore.passList.value = data.passList; - nextTick(() => { - summaryProcessViewer.value = true - if (data.formPermMap["fileList"]) { - fileListShow.value = data.formPermMap["fileList"].perm + const loading = ElLoading.service({fullscreen: true}) + try { + fileListShow.value = 'READ' + const projectId = route.query.projectId + summaryProcessViewer.value = false + loading.value = true + const {code, data, msg} = await getMapProjectStateInfo(projectId, state) + if (code === 1000) { + summaryData.value = data; + loading.value = false + if(data.runningList===null) { + loading.close() + return; } - }) - } else { - ElNotification({ - title: '提示', - message: msg, - type: 'error' - }) - if (msg === '查询结果为空') { - summaryData.value = [] + processStore.setDesign(data) + processStore.runningList.value = data.runningList; + processStore.endList.value = data.endList; + processStore.noTakeList.value = data.noTakeList; + processStore.refuseList.value = data.refuseList; + processStore.passList.value = data.passList; + nextTick(() => { + summaryProcessViewer.value = true + if (data.formPermMap["fileList"]) { + fileListShow.value = data.formPermMap["fileList"].perm + } + }) + loading.close() + } else { + ElNotification({ + title: '提示', + message: msg, + type: 'error' + }) + if (msg === '查询结果为空') { + summaryData.value = [] + } + loading.close() } - loading.value = false + } catch { + loading.close() } } diff --git a/src/views/project-demand/summary/index.vue b/src/views/project-demand/summary/index.vue index b3b055c..9525468 100644 --- a/src/views/project-demand/summary/index.vue +++ b/src/views/project-demand/summary/index.vue @@ -71,6 +71,11 @@ const searchConfig = reactive([ // colProps: {} // }, ]) +const auths = { + edit: ['mosr:collect:resubmit'], + detail: ['mosr:collect:info'], + report: ['mosr:collect:reported'], +} const tableConfig = reactive({ columns: [ { @@ -156,19 +161,17 @@ const tableConfig = reactive({ prop: 'oper', label: '操作', align: 'center', + fixed:'right', showOverflowTooltip: false, currentRender: ({row, index}) => { 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: auths.detail, 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: auths.edit, func: () => handleEdit(row), type: 'primary'}) } - // if (buttons.has("report")) { - // btn.push({label: '上报', prem: ['mosr:collect:reported'], func: () => handleAdd(row), type: 'primary'}) - // } return (
{ @@ -197,9 +200,9 @@ const tableConfig = reactive({ api: '/workflow/mosr/requirement/collect', params: {}, btns: [ - {name: '新增上报', key: 'add', color: '#DED0B2', auth: ''}, - {name: '年度计划导出', key: '_export', auth: ''}, - {name: '经费预算生成', key: 'preMonty', auth: ''}, + {name: '新增上报', key: 'add', color: '#DED0B2', auth:auths.report}, + // {name: '年度计划导出', key: '_export', auth: ''}, + // {name: '经费预算生成', key: 'preMonty', auth: ''}, ] }) const headBtnClick = (key) => { diff --git a/src/views/project-management/filing/attachment.vue b/src/views/project-management/filing/attachment.vue index db7d1c5..a72ca42 100644 --- a/src/views/project-management/filing/attachment.vue +++ b/src/views/project-management/filing/attachment.vue @@ -1,4 +1,6 @@ @@ -92,6 +93,9 @@ const handleDownload = (row) => { a.click() }) } +const handleBack = () => { + history.back() +} const compositeParam = (item) => { let tag = '' if (name.value === 'Filing/conclusion' || name.value === 'Filing/edit') { diff --git a/src/views/project-management/filing/index.vue b/src/views/project-management/filing/index.vue index 957c4fe..4dc848a 100644 --- a/src/views/project-management/filing/index.vue +++ b/src/views/project-management/filing/index.vue @@ -227,21 +227,22 @@ const tableConfig = reactive({ prop: 'oper', label: '操作', align: 'center', + fixed:'right', showOverflowTooltip: false, currentRender: ({row, index}) => { let btn = [] let buttons = new Set(Array.from(row.buttons)) if (buttons.has("details")) { - btn.push({label: '详情', prem: ['mosr:requirement:info'], func: () => handleDetail(row), type: 'primary'}) + btn.push({label: '详情', prem: ['project:management:filing:detail'], func: () => handleDetail(row), type: 'primary'}) } if (buttons.has("attachments")) { - btn.push({label: '附件', prem: ['mosr:requirement:resubmit'], func: () => handleAttachment(row), type: 'primary'}) + btn.push({label: '附件', prem: ['project:management:filing:attachment'], func: () => handleAttachment(row), type: 'primary'}) } if (buttons.has("entry")) { - btn.push({label: '结项', prem: ['mosr:requirement:del'], func: () => handleConclusion(row), type: 'primary'}) + btn.push({label: '结项', prem: ['project:management:filing:conclusion'], func: () => handleConclusion(row), type: 'primary'}) } if (buttons.has("edit")) { - btn.push({label: '编辑', prem: ['mosr:requirement:info'], func: () => handleEdit(row), type: 'primary'}) + btn.push({label: '编辑', prem: ['project:management:filing:conclusion'], func: () => handleEdit(row), type: 'primary'}) } return (
diff --git a/src/views/project-management/filing/upload.vue b/src/views/project-management/filing/upload.vue index 0e89e8f..a93a3cf 100644 --- a/src/views/project-management/filing/upload.vue +++ b/src/views/project-management/filing/upload.vue @@ -1,4 +1,6 @@