质量评估,价值评估支持不走流程配置
Showing
7 changed files
with
160 additions
and
22 deletions
| ... | @@ -78,3 +78,9 @@ export const crossPlatformApprove = (params) => request({ | ... | @@ -78,3 +78,9 @@ export const crossPlatformApprove = (params) => request({ |
| 78 | method: 'post', | 78 | method: 'post', |
| 79 | data: {} | 79 | data: {} |
| 80 | }) | 80 | }) |
| 81 | |||
| 82 | /** 功能流程配置-获取是否需要审批 */ | ||
| 83 | export const isNeedApprove = (params) => request({ | ||
| 84 | url: `${import.meta.env.VITE_APP_WORK_FLOW_URL}/func-flow-config/is-need-approve?funcCode=${params.funcCode}`, | ||
| 85 | method: 'get', | ||
| 86 | }) | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -1452,8 +1452,8 @@ const panelChange = (scope, row) => { | ... | @@ -1452,8 +1452,8 @@ const panelChange = (scope, row) => { |
| 1452 | :disabled="item.disabled || readonly" @change="(val) => cascaderChange(val, item)" /> | 1452 | :disabled="item.disabled || readonly" @change="(val) => cascaderChange(val, item)" /> |
| 1453 | <template v-else-if="item.type && item.type.indexOf('date') > -1"> | 1453 | <template v-else-if="item.type && item.type.indexOf('date') > -1"> |
| 1454 | <el-date-picker :class="[item.col, { is_block: item.block }]" v-if="item.type == 'date-picker'" | 1454 | <el-date-picker :class="[item.col, { is_block: item.block }]" v-if="item.type == 'date-picker'" |
| 1455 | v-model="formInline[item.field]" type="daterange" range-separator="至" start-placeholder="开始日期" :format="item.format ?? ''" | 1455 | v-model="formInline[item.field]" type="daterange" range-separator="至" start-placeholder="开始日期" :format="item.format ?? null" |
| 1456 | :value-format="item.valueFormat ?? ''" | 1456 | :value-format="item.valueFormat ?? null" |
| 1457 | end-placeholder="结束日期" :unlink-panels="item.unlink ?? false" :shortcuts="item.shortcuts ?? []" | 1457 | end-placeholder="结束日期" :unlink-panels="item.unlink ?? false" :shortcuts="item.shortcuts ?? []" |
| 1458 | :default-value="item.defaultDate" :disabled="item.disabled ?? false" /> | 1458 | :default-value="item.defaultDate" :disabled="item.disabled ?? false" /> |
| 1459 | <el-date-picker :class="[item.col, { is_block: item.block }]" v-else-if="item.type == 'date-year'" | 1459 | <el-date-picker :class="[item.col, { is_block: item.block }]" v-else-if="item.type == 'date-year'" | ... | ... |
| ... | @@ -292,7 +292,7 @@ onMounted(() => { | ... | @@ -292,7 +292,7 @@ onMounted(() => { |
| 292 | <span v-else>{{ '--' }}</span> | 292 | <span v-else>{{ '--' }}</span> |
| 293 | </template> | 293 | </template> |
| 294 | <template #default="scope" v-else-if="item.type == 'approveTagBtn'"> | 294 | <template #default="scope" v-else-if="item.type == 'approveTagBtn'"> |
| 295 | <div v-if="scope.row[item.field] !== undefined" style="position: relative;"> | 295 | <div v-if="item.enableNoApprove == true ? (scope.row.isApprove != 'N' && scope.row[item.field] !== undefined) : (scope.row[item.field] !== undefined)" style="position: relative;"> |
| 296 | <el-tag :type="tagType(scope.row, item.field)">{{ | 296 | <el-tag :type="tagType(scope.row, item.field)">{{ |
| 297 | tagMethod(scope.row, item.field) | 297 | tagMethod(scope.row, item.field) |
| 298 | }}</el-tag> | 298 | }}</el-tag> | ... | ... |
| ... | @@ -15,13 +15,14 @@ import { | ... | @@ -15,13 +15,14 @@ import { |
| 15 | qualityAllow, | 15 | qualityAllow, |
| 16 | deleteQuality, | 16 | deleteQuality, |
| 17 | updatQuality, | 17 | updatQuality, |
| 18 | getTenantList | ||
| 18 | } from "@/api/modules/dataAsset"; | 19 | } from "@/api/modules/dataAsset"; |
| 19 | import useUserStore from "@/store/modules/user"; | 20 | import useUserStore from "@/store/modules/user"; |
| 20 | import useDataAssetStore from "@/store/modules/dataAsset"; | 21 | import useDataAssetStore from "@/store/modules/dataAsset"; |
| 21 | import { | 22 | import { |
| 22 | getStaffDetailInfo | 23 | getStaffDetailInfo |
| 23 | } from "@/api/modules/queryService"; | 24 | } from "@/api/modules/queryService"; |
| 24 | import { rejectFlowData, revokeFlowData, getCamundaDeploymentId, getProcessNodesPromise, isMyFirstNode, passFlowData } from "@/api/modules/workFlowService"; | 25 | import { isNeedApprove, rejectFlowData, revokeFlowData, getCamundaDeploymentId, getProcessNodesPromise, isMyFirstNode, passFlowData } from "@/api/modules/workFlowService"; |
| 25 | 26 | ||
| 26 | const assetStore = useDataAssetStore(); | 27 | const assetStore = useDataAssetStore(); |
| 27 | 28 | ||
| ... | @@ -51,9 +52,9 @@ const tableFields = ref([ | ... | @@ -51,9 +52,9 @@ const tableFields = ref([ |
| 51 | { label: "登记时间", field: "registerTime", width: 120 }, | 52 | { label: "登记时间", field: "registerTime", width: 120 }, |
| 52 | // { label: "企业名称", field: "tenantName", width: 240, align: "left" }, | 53 | // { label: "企业名称", field: "tenantName", width: 240, align: "left" }, |
| 53 | { label: "评估机构", field: "evaluationAgencyName", width: 250, align: "left" }, | 54 | { label: "评估机构", field: "evaluationAgencyName", width: 250, align: "left" }, |
| 54 | { label: "审批状态", field: "approveVO", type: "approveTag", width: 96, align: 'center' }, | 55 | { label: "审批状态", field: "approveVO", type: "approveTag", enableNoApprove: true, width: 96, align: 'center' }, |
| 55 | { | 56 | { |
| 56 | label: "主平台审批状态", field: "crossPlatformApproveState", type: "approveTagBtn", width: 150, align: 'center', btn: { | 57 | label: "主平台审批状态", field: "crossPlatformApproveState", enableNoApprove: true, type: "approveTagBtn", width: 150, align: 'center', btn: { |
| 57 | label: '查看', visible: (scope) => { | 58 | label: '查看', visible: (scope) => { |
| 58 | return scope.row.crossPlatformApproveState != null; | 59 | return scope.row.crossPlatformApproveState != null; |
| 59 | }, click: (scope) => { | 60 | }, click: (scope) => { |
| ... | @@ -66,7 +67,21 @@ const tableFields = ref([ | ... | @@ -66,7 +67,21 @@ const tableFields = ref([ |
| 66 | 67 | ||
| 67 | const deploymentId = ref(''); | 68 | const deploymentId = ref(''); |
| 68 | 69 | ||
| 69 | onMounted(() => { | 70 | const tenantList: any = ref([]); |
| 71 | |||
| 72 | onBeforeMount(() => { | ||
| 73 | getTenantList({ | ||
| 74 | bizState: 'Y', | ||
| 75 | pageSize: -1 | ||
| 76 | }).then((res: any) => { | ||
| 77 | tenantList.value = []; | ||
| 78 | if (res.code == proxy.$passCode) { | ||
| 79 | tenantList.value = res.data?.records || []; | ||
| 80 | formItems.value[1].options = tenantList.value; | ||
| 81 | } else { | ||
| 82 | proxy.$ElMessage.error(res.msg); | ||
| 83 | } | ||
| 84 | }) | ||
| 70 | }); | 85 | }); |
| 71 | 86 | ||
| 72 | onActivated(() => { | 87 | onActivated(() => { |
| ... | @@ -144,17 +159,31 @@ const getTableData = () => { | ... | @@ -144,17 +159,31 @@ const getTableData = () => { |
| 144 | }) | 159 | }) |
| 145 | } | 160 | } |
| 146 | 161 | ||
| 162 | let needApprovePromise = ref(); | ||
| 163 | |||
| 164 | const needApprove = ref(true); | ||
| 165 | |||
| 147 | const handleCreate = () => { | 166 | const handleCreate = () => { |
| 148 | if (!assetListData.value.length) { | 167 | if (!assetListData.value.length) { |
| 149 | ElMessage.warning('当前没有可发起质量评价的资产!'); | 168 | ElMessage.warning('当前没有可发起质量评价的资产!'); |
| 150 | return; | 169 | return; |
| 151 | } | 170 | } |
| 171 | if (needApprovePromise.value) { | ||
| 172 | return; | ||
| 173 | } | ||
| 174 | needApprovePromise.value = isNeedApprove({ funcCode: 'ZCZLPJ' }).then((res1: any) => { | ||
| 175 | needApprovePromise.value = null; | ||
| 176 | if (res1.code == proxy.$passCode) { | ||
| 177 | needApprove.value = res1.data; | ||
| 152 | formItems.value[0].visible = true; | 178 | formItems.value[0].visible = true; |
| 153 | formItems.value[0].default = ''; | 179 | formItems.value[0].default = ''; |
| 154 | formItems.value[1].visible = true; | 180 | formItems.value[1].visible = !needApprove.value; |
| 155 | formItems.value[1].default = []; | 181 | formItems.value[1].default = ''; |
| 182 | formItems.value[2].visible = true; | ||
| 183 | formItems.value[2].default = []; | ||
| 156 | dialogInfo.value.visible = true; | 184 | dialogInfo.value.visible = true; |
| 157 | dialogInfo.value.type = ''; | 185 | dialogInfo.value.type = ''; |
| 186 | if (needApprove.value) { | ||
| 158 | getCamundaDeploymentId('10018', userData.tenantGuid, userData.staffGuid).then((res: any) => { | 187 | getCamundaDeploymentId('10018', userData.tenantGuid, userData.staffGuid).then((res: any) => { |
| 159 | if (res.code == proxy.$passCode) { | 188 | if (res.code == proxy.$passCode) { |
| 160 | deploymentId.value = res.data; | 189 | deploymentId.value = res.data; |
| ... | @@ -163,6 +192,11 @@ const handleCreate = () => { | ... | @@ -163,6 +192,11 @@ const handleCreate = () => { |
| 163 | proxy.$ElMessage.error(res.msg); | 192 | proxy.$ElMessage.error(res.msg); |
| 164 | } | 193 | } |
| 165 | }) | 194 | }) |
| 195 | } | ||
| 196 | } else { | ||
| 197 | proxy.$ElMessage.error(res1.msg); | ||
| 198 | } | ||
| 199 | }) | ||
| 166 | } | 200 | } |
| 167 | 201 | ||
| 168 | const page = ref({ | 202 | const page = ref({ |
| ... | @@ -203,7 +237,13 @@ const tableInfo = ref({ | ... | @@ -203,7 +237,13 @@ const tableInfo = ref({ |
| 203 | 237 | ||
| 204 | const getTableBtns = (row) => { | 238 | const getTableBtns = (row) => { |
| 205 | let btnsArr: any[] = []; | 239 | let btnsArr: any[] = []; |
| 206 | const approveVO = row.approveVO || {}; | 240 | const approveVO = row.approveVO; |
| 241 | if (!approveVO && row.isApprove == 'N') { | ||
| 242 | btnsArr.push({ label: "编辑", value: "redit" }); | ||
| 243 | btnsArr.push({ label: "删除", value: "del" }); | ||
| 244 | btnsArr.push({ label: "详情", value: "detail" }); | ||
| 245 | return btnsArr; | ||
| 246 | } | ||
| 207 | const approveState = row.approveVO.approveState || null; | 247 | const approveState = row.approveVO.approveState || null; |
| 208 | const approveStaffGuids = approveVO.approveStaffGuids || []; | 248 | const approveStaffGuids = approveVO.approveStaffGuids || []; |
| 209 | const staffGuid = approveVO.staffGuid || ''; | 249 | const staffGuid = approveVO.staffGuid || ''; |
| ... | @@ -254,11 +294,21 @@ const tableBtnClick = (scope, btn) => { | ... | @@ -254,11 +294,21 @@ const tableBtnClick = (scope, btn) => { |
| 254 | currTableData.value = row; | 294 | currTableData.value = row; |
| 255 | console.log(row, '-------'); | 295 | console.log(row, '-------'); |
| 256 | if (type == "redit") { | 296 | if (type == "redit") { |
| 297 | isNeedApprove({ funcCode: 'ZCZLPJ' }).then((res1: any) => { | ||
| 298 | if (res1.code == proxy.$passCode) { | ||
| 299 | needApprove.value = res1.data; | ||
| 300 | formItems.value[0].visible = false; | ||
| 301 | formItems.value[0].default = row.damGuid; | ||
| 302 | formItems.value[1].visible = !needApprove.value; | ||
| 303 | formItems.value[1].default = row.evaluationAgencyGuid; | ||
| 304 | formItems.value[2].default = row.qualityEvaluationFile || []; | ||
| 305 | dialogInfo.value.contents[0].formInfo.items = formItems.value; | ||
| 257 | dialogInfo.value.visible = true; | 306 | dialogInfo.value.visible = true; |
| 258 | dialogInfo.value.type = 'reSubmit'; | 307 | dialogInfo.value.type = 'reSubmit'; |
| 259 | formItems.value[0].visible = false; | 308 | } else { |
| 260 | formItems.value[0].default = row.registerGuid; | 309 | proxy.$ElMessage.error(res1.msg); |
| 261 | formItems.value[1].default = row.qualityEvaluationFile || []; | 310 | } |
| 311 | }) | ||
| 262 | } else if (type == "del") { | 312 | } else if (type == "del") { |
| 263 | delTableOpen("此操作将永久删除该资产质量评价,是否继续?", "warning"); | 313 | delTableOpen("此操作将永久删除该资产质量评价,是否继续?", "warning"); |
| 264 | } else if (type === 'reject') { | 314 | } else if (type === 'reject') { |
| ... | @@ -390,6 +440,20 @@ const formItems = ref([{ | ... | @@ -390,6 +440,20 @@ const formItems = ref([{ |
| 390 | visible: true, | 440 | visible: true, |
| 391 | required: true | 441 | required: true |
| 392 | }, { | 442 | }, { |
| 443 | label: '评估机构', | ||
| 444 | type: 'select', | ||
| 445 | placeholder: '请选择', | ||
| 446 | field: 'evaluationAgencyGuid', | ||
| 447 | default: '', | ||
| 448 | block: true, | ||
| 449 | options: tenantList.value, | ||
| 450 | props: { | ||
| 451 | value: 'guid', | ||
| 452 | label: 'tenantName' | ||
| 453 | }, | ||
| 454 | visible: false, | ||
| 455 | required: true | ||
| 456 | }, { | ||
| 393 | label: '附件上传', | 457 | label: '附件上传', |
| 394 | tip: '支持格式:xls .xlsx .doc .docx .rar .zip', | 458 | tip: '支持格式:xls .xlsx .doc .docx .rar .zip', |
| 395 | type: 'upload-file', | 459 | type: 'upload-file', |
| ... | @@ -456,6 +520,62 @@ const dialogInfo = ref({ | ... | @@ -456,6 +520,62 @@ const dialogInfo = ref({ |
| 456 | /** 编辑质量评价发起资产申请按钮处理。 */ | 520 | /** 编辑质量评价发起资产申请按钮处理。 */ |
| 457 | const dialogBtnClick = (btn, info) => { | 521 | const dialogBtnClick = (btn, info) => { |
| 458 | if (btn.value == 'submit') { | 522 | if (btn.value == 'submit') { |
| 523 | if (!needApprove.value) { | ||
| 524 | // 不需要走流程审批的提交 | ||
| 525 | dialogInfo.value.footer.btns[1].loading = true; | ||
| 526 | if (dialogInfo.value.type == 'reSubmit') { | ||
| 527 | updatQuality({ | ||
| 528 | guid: currTableData.value.guid, | ||
| 529 | tenantGuid: userData.tenantGuid, | ||
| 530 | damGuid: currTableData.value.damGuid, | ||
| 531 | daName: currTableData.value.daName, | ||
| 532 | immediateApprove: true, | ||
| 533 | evaluationAgencyGuid: info.evaluationAgencyGuid, | ||
| 534 | qualityEvaluationFile: info.qualityEvaluationFile?.map(file => { | ||
| 535 | return { | ||
| 536 | name: file.name, | ||
| 537 | url: file.url | ||
| 538 | } | ||
| 539 | }) || [] | ||
| 540 | }).then((res: any) => { | ||
| 541 | dialogInfo.value.footer.btns[1].loading = false; | ||
| 542 | if (res?.code == proxy.$passCode) { | ||
| 543 | ElMessage.success('该资产质量评价重新提交成功'); | ||
| 544 | dialogInfo.value.visible = false; | ||
| 545 | page.value.curr = 1; | ||
| 546 | getTableData(); | ||
| 547 | } else { | ||
| 548 | ElMessage.error(res.msg); | ||
| 549 | } | ||
| 550 | }) | ||
| 551 | } else { | ||
| 552 | let daInfo = assetListData.value.find(a => a.guid == info.damGuid); | ||
| 553 | saveQuality({ | ||
| 554 | tenantGuid: userData.tenantGuid, | ||
| 555 | damGuid: info.damGuid, | ||
| 556 | daName: daInfo.damName, | ||
| 557 | immediateApprove: true, | ||
| 558 | evaluationAgencyGuid: info.evaluationAgencyGuid, | ||
| 559 | qualityEvaluationFile: info.qualityEvaluationFile?.map(file => { | ||
| 560 | return { | ||
| 561 | name: file.name, | ||
| 562 | url: file.url | ||
| 563 | } | ||
| 564 | }) || [] | ||
| 565 | }).then((res: any) => { | ||
| 566 | dialogInfo.value.footer.btns[1].loading = false; | ||
| 567 | if (res?.code == proxy.$passCode) { | ||
| 568 | ElMessage.success('质量评价发起成功'); | ||
| 569 | dialogInfo.value.visible = false; | ||
| 570 | page.value.curr = 1; | ||
| 571 | getTableData(); | ||
| 572 | } else { | ||
| 573 | ElMessage.error(res.msg); | ||
| 574 | } | ||
| 575 | }) | ||
| 576 | } | ||
| 577 | } else { | ||
| 578 | // 需要走流程的审批功能。 | ||
| 459 | dialogInfo.value.footer.btns[1].loading = true; | 579 | dialogInfo.value.footer.btns[1].loading = true; |
| 460 | let submitFunc = () => { | 580 | let submitFunc = () => { |
| 461 | getProcessNodesPromise({ | 581 | getProcessNodesPromise({ |
| ... | @@ -540,6 +660,7 @@ const dialogBtnClick = (btn, info) => { | ... | @@ -540,6 +660,7 @@ const dialogBtnClick = (btn, info) => { |
| 540 | } | 660 | } |
| 541 | }) | 661 | }) |
| 542 | } | 662 | } |
| 663 | } | ||
| 543 | } else if (btn.value == 'cancel') { | 664 | } else if (btn.value == 'cancel') { |
| 544 | dialogInfo.value.visible = false; | 665 | dialogInfo.value.visible = false; |
| 545 | } | 666 | } | ... | ... |
| ... | @@ -114,7 +114,7 @@ const getDetailInfo = () => { | ... | @@ -114,7 +114,7 @@ const getDetailInfo = () => { |
| 114 | if (res.code == proxy.$passCode) { | 114 | if (res.code == proxy.$passCode) { |
| 115 | const data = res.data || {}; | 115 | const data = res.data || {}; |
| 116 | evaDetailInfo.value = data; | 116 | evaDetailInfo.value = data; |
| 117 | deploymentId.value = data.approveVO.camundaDeploymentId; | 117 | deploymentId.value = data.approveVO?.camundaDeploymentId; |
| 118 | processInstanceId.value = data.approveVO?.camundaInstanceId; | 118 | processInstanceId.value = data.approveVO?.camundaInstanceId; |
| 119 | } else { | 119 | } else { |
| 120 | proxy.$ElMessage.error(res.msg); | 120 | proxy.$ElMessage.error(res.msg); |
| ... | @@ -127,7 +127,7 @@ const getDetailInfo = () => { | ... | @@ -127,7 +127,7 @@ const getDetailInfo = () => { |
| 127 | const data = res.data || {}; | 127 | const data = res.data || {}; |
| 128 | costAssessDetail.value = data; | 128 | costAssessDetail.value = data; |
| 129 | evaDetailInfo.value = data; | 129 | evaDetailInfo.value = data; |
| 130 | deploymentId.value = data.approveVO.camundaDeploymentId; | 130 | deploymentId.value = data.approveVO?.camundaDeploymentId; |
| 131 | processInstanceId.value = data.approveVO?.camundaInstanceId; | 131 | processInstanceId.value = data.approveVO?.camundaInstanceId; |
| 132 | } else { | 132 | } else { |
| 133 | proxy.$ElMessage.error(res.msg); | 133 | proxy.$ElMessage.error(res.msg); |
| ... | @@ -209,6 +209,9 @@ const toolBtns: any = computed(() => { | ... | @@ -209,6 +209,9 @@ const toolBtns: any = computed(() => { |
| 209 | label: "关闭", value: "cancel", plain: true | 209 | label: "关闭", value: "cancel", plain: true |
| 210 | }]; | 210 | }]; |
| 211 | let approveVO = evaDetailInfo.value.approveVO || costAssessDetail.value.approveVO; | 211 | let approveVO = evaDetailInfo.value.approveVO || costAssessDetail.value.approveVO; |
| 212 | if (!approveVO) { | ||
| 213 | return btnsArr; | ||
| 214 | } | ||
| 212 | let staffGuid = userData.staffGuid; | 215 | let staffGuid = userData.staffGuid; |
| 213 | if (approveVO && approveVO.approveState == 'A' && approveVO.approveStaffGuids && approveVO.approveStaffGuids.indexOf(staffGuid) > -1) { | 216 | if (approveVO && approveVO.approveState == 'A' && approveVO.approveStaffGuids && approveVO.approveStaffGuids.indexOf(staffGuid) > -1) { |
| 214 | btnsArr.push(...[{ label: "通过", value: "pass", type: 'primary' }, { label: "驳回", value: "reject", type: 'danger', plain: true }]); | 217 | btnsArr.push(...[{ label: "通过", value: "pass", type: 'primary' }, { label: "驳回", value: "reject", type: 'danger', plain: true }]); |
| ... | @@ -1171,7 +1174,7 @@ const handleClick = () => { | ... | @@ -1171,7 +1174,7 @@ const handleClick = () => { |
| 1171 | </div> | 1174 | </div> |
| 1172 | </ContentWrap> | 1175 | </ContentWrap> |
| 1173 | 1176 | ||
| 1174 | <ContentWrap v-if="route.query.type == 'qualityEvaluate' || route.query.type == 'costAssess'" id="id-approveInfo" | 1177 | <ContentWrap v-if="(route.query.type == 'qualityEvaluate' && evaDetailInfo.approveVO && evaDetailInfo.isApprove !='N') || (route.query.type == 'costAssess' && costAssessDetail.approveVO && costAssessDetail.isApprove !='N')" id="id-approveInfo" |
| 1175 | title="审批信息" description="" style="margin: 16px 16px 16px"> | 1178 | title="审批信息" description="" style="margin: 16px 16px 16px"> |
| 1176 | <ApprovalProcess ref="approvalProcessRef" v-if="deploymentId" :deploymentId="deploymentId" :processInstanceId="processInstanceId"> | 1179 | <ApprovalProcess ref="approvalProcessRef" v-if="deploymentId" :deploymentId="deploymentId" :processInstanceId="processInstanceId"> |
| 1177 | </ApprovalProcess> | 1180 | </ApprovalProcess> | ... | ... |
| ... | @@ -78,7 +78,7 @@ const getDetailInfo = () => { | ... | @@ -78,7 +78,7 @@ const getDetailInfo = () => { |
| 78 | const data = res.data || {}; | 78 | const data = res.data || {}; |
| 79 | evaDetailInfo.value = data; | 79 | evaDetailInfo.value = data; |
| 80 | detailInfo.value = data; | 80 | detailInfo.value = data; |
| 81 | deploymentId.value = data.approveVO.camundaDeploymentId; | 81 | deploymentId.value = data.approveVO?.camundaDeploymentId; |
| 82 | processInstanceId.value = data.approveVO?.camundaInstanceId; | 82 | processInstanceId.value = data.approveVO?.camundaInstanceId; |
| 83 | //需要显示质量评价信息 | 83 | //需要显示质量评价信息 |
| 84 | if (data.qualityScore != null) { | 84 | if (data.qualityScore != null) { |
| ... | @@ -90,6 +90,9 @@ const getDetailInfo = () => { | ... | @@ -90,6 +90,9 @@ const getDetailInfo = () => { |
| 90 | tabsInfo.value.tabs.splice(3, 1); | 90 | tabsInfo.value.tabs.splice(3, 1); |
| 91 | } | 91 | } |
| 92 | } | 92 | } |
| 93 | if (evaDetailInfo.value.isApprove == 'N') { | ||
| 94 | tabsInfo.value.tabs.pop(); | ||
| 95 | } | ||
| 93 | if (fullPath === route.fullPath) { | 96 | if (fullPath === route.fullPath) { |
| 94 | document.title = `详情-${data.daName}`; | 97 | document.title = `详情-${data.daName}`; |
| 95 | } | 98 | } |
| ... | @@ -124,7 +127,7 @@ const getDetailInfo = () => { | ... | @@ -124,7 +127,7 @@ const getDetailInfo = () => { |
| 124 | const data = res.data || {}; | 127 | const data = res.data || {}; |
| 125 | costAssessDetailInfo.value = data; | 128 | costAssessDetailInfo.value = data; |
| 126 | detailInfo.value = data; | 129 | detailInfo.value = data; |
| 127 | deploymentId.value = data.approveVO.camundaDeploymentId; | 130 | deploymentId.value = data.approveVO?.camundaDeploymentId; |
| 128 | processInstanceId.value = data.approveVO?.camundaInstanceId; | 131 | processInstanceId.value = data.approveVO?.camundaInstanceId; |
| 129 | // 需要显示价值评估信息 | 132 | // 需要显示价值评估信息 |
| 130 | if (data.assessmentMoney != null) { | 133 | if (data.assessmentMoney != null) { |
| ... | @@ -136,7 +139,9 @@ const getDetailInfo = () => { | ... | @@ -136,7 +139,9 @@ const getDetailInfo = () => { |
| 136 | tabsInfo.value.tabs.splice(3, 1); | 139 | tabsInfo.value.tabs.splice(3, 1); |
| 137 | } | 140 | } |
| 138 | } | 141 | } |
| 139 | 142 | if (costAssessDetailInfo.value.isApprove == 'N') { | |
| 143 | tabsInfo.value.tabs.pop(); | ||
| 144 | } | ||
| 140 | if (data.qualityScore) { | 145 | if (data.qualityScore) { |
| 141 | // 确保"质量评价"标签存在于tabs中,并插入到"价值评估"前面 | 146 | // 确保"质量评价"标签存在于tabs中,并插入到"价值评估"前面 |
| 142 | const qualityTabIndex = tabsInfo.value.tabs.findIndex(tab => tab.name === "qualityEvaluate"); | 147 | const qualityTabIndex = tabsInfo.value.tabs.findIndex(tab => tab.name === "qualityEvaluate"); |
| ... | @@ -285,8 +290,8 @@ const getDetailInfo = () => { | ... | @@ -285,8 +290,8 @@ const getDetailInfo = () => { |
| 285 | let { approveVO } = data; | 290 | let { approveVO } = data; |
| 286 | detailInfo.value = data; | 291 | detailInfo.value = data; |
| 287 | assetDetailInfo.value = data; | 292 | assetDetailInfo.value = data; |
| 288 | deploymentId.value = approveVO.camundaDeploymentId; | 293 | deploymentId.value = approveVO?.camundaDeploymentId; |
| 289 | processInstanceId.value = approveVO.camundaInstanceId; | 294 | processInstanceId.value = approveVO?.camundaInstanceId; |
| 290 | isTextTruncated(); | 295 | isTextTruncated(); |
| 291 | } else { | 296 | } else { |
| 292 | ElMessage.error(res.msg); | 297 | ElMessage.error(res.msg); |
| ... | @@ -446,6 +451,9 @@ const toolBtns: any = computed(() => { | ... | @@ -446,6 +451,9 @@ const toolBtns: any = computed(() => { |
| 446 | return btnsArr; | 451 | return btnsArr; |
| 447 | } | 452 | } |
| 448 | let approveVO = detailInfo.value.approveVO; | 453 | let approveVO = detailInfo.value.approveVO; |
| 454 | if (!approveVO) { | ||
| 455 | return btnsArr; | ||
| 456 | } | ||
| 449 | let staffGuid = userData.staffGuid; | 457 | let staffGuid = userData.staffGuid; |
| 450 | if (approveVO && approveVO.approveState == 'A' && approveVO.approveStaffGuids && approveVO.approveStaffGuids.indexOf(staffGuid) > -1) { | 458 | if (approveVO && approveVO.approveState == 'A' && approveVO.approveStaffGuids && approveVO.approveStaffGuids.indexOf(staffGuid) > -1) { |
| 451 | btnsArr.push(...[{ label: "通过", value: "pass", type: 'primary' }, { label: "驳回", value: "reject", type: 'danger', plain: true }]); | 459 | btnsArr.push(...[{ label: "通过", value: "pass", type: 'primary' }, { label: "驳回", value: "reject", type: 'danger', plain: true }]); |
| ... | @@ -1748,7 +1756,7 @@ const passCommonDialogBtnClick = (btn, info) => { | ... | @@ -1748,7 +1756,7 @@ const passCommonDialogBtnClick = (btn, info) => { |
| 1748 | </div> | 1756 | </div> |
| 1749 | </ContentWrap> | 1757 | </ContentWrap> |
| 1750 | <ContentWrap id="id-approveInfo" title="审批信息" expandSwicth style="margin-top: 15px" | 1758 | <ContentWrap id="id-approveInfo" title="审批信息" expandSwicth style="margin-top: 15px" |
| 1751 | :isExpand="approveInfoExpand" @expand="(v) => approveInfoExpand = v" v-if="route.query.type != 'certificate'"> | 1759 | :isExpand="approveInfoExpand" @expand="(v) => approveInfoExpand = v" v-if="tabsInfo.tabs.find(t => t.name == 'approveInfo') && route.query.type != 'certificate'"> |
| 1752 | <!-- <Table :tableInfo="approveTableInfo" /> --> | 1760 | <!-- <Table :tableInfo="approveTableInfo" /> --> |
| 1753 | <ApprovalProcess ref="approvalProcessRef" v-if="deploymentId" :deploymentId="deploymentId" | 1761 | <ApprovalProcess ref="approvalProcessRef" v-if="deploymentId" :deploymentId="deploymentId" |
| 1754 | :processInstanceId="processInstanceId"> | 1762 | :processInstanceId="processInstanceId"> | ... | ... |
This diff is collapsed.
Click to expand it.
-
Please register or sign in to post a comment