质量评估,价值评估支持不走流程配置
Showing
11 changed files
with
91 additions
and
12 deletions
| ... | @@ -444,6 +444,41 @@ export const getRegisterExchangeList = () => request({ | ... | @@ -444,6 +444,41 @@ export const getRegisterExchangeList = () => request({ |
| 444 | method: 'get' | 444 | method: 'get' |
| 445 | }) | 445 | }) |
| 446 | 446 | ||
| 447 | /** 获取合同列表 */ | ||
| 448 | export const getContractList = (params) => request({ | ||
| 449 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-contract/page-list`, | ||
| 450 | method: 'post', | ||
| 451 | data: params | ||
| 452 | }) | ||
| 453 | |||
| 454 | /** 新增合同 */ | ||
| 455 | export const saveDamContract = (params) => request({ | ||
| 456 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-contract/save`, | ||
| 457 | method: 'post', | ||
| 458 | data: params | ||
| 459 | }) | ||
| 460 | |||
| 461 | /** 更新合同 */ | ||
| 462 | export const updateDamContract = (params) => request({ | ||
| 463 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-contract/update`, | ||
| 464 | method: 'put', | ||
| 465 | data: params | ||
| 466 | }) | ||
| 467 | |||
| 468 | /** 删除合同 */ | ||
| 469 | export const delDamContract = (params) => request({ | ||
| 470 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-contract/delete`, | ||
| 471 | method: 'delete', | ||
| 472 | data: params | ||
| 473 | }) | ||
| 474 | |||
| 475 | /** 获取会员列表 */ | ||
| 476 | export const getTenantList = (params) => request({ | ||
| 477 | url: `${import.meta.env.VITE_APP_PERSONAL_URL}/tenant/singlePage`, | ||
| 478 | method: 'post', | ||
| 479 | data: params | ||
| 480 | }) | ||
| 481 | |||
| 447 | // API详情 | 482 | // API详情 |
| 448 | /** 查询域名和文根 */ | 483 | /** 查询域名和文根 */ |
| 449 | /** api类型,有表单类型,自定义sql. */ | 484 | /** api类型,有表单类型,自定义sql. */ | ... | ... |
| ... | @@ -78,3 +78,8 @@ export const crossPlatformApprove = (params) => request({ | ... | @@ -78,3 +78,8 @@ export const crossPlatformApprove = (params) => request({ |
| 78 | method: 'post', | 78 | method: 'post', |
| 79 | data: {} | 79 | data: {} |
| 80 | }) | 80 | }) |
| 81 | /** 功能流程配置-获取是否需要审批 */ | ||
| 82 | export const isNeedApprove = (params) => request({ | ||
| 83 | url: `${import.meta.env.VITE_APP_WORK_FLOW_URL}/func-flow-config/is-need-approve?funcCode=${params.funcCode}`, | ||
| 84 | method: 'get', | ||
| 85 | }) | ... | ... |
| ... | @@ -106,7 +106,7 @@ const getDrawerConRef = (refName) => { | ... | @@ -106,7 +106,7 @@ const getDrawerConRef = (refName) => { |
| 106 | } | 106 | } |
| 107 | // const drawerForm = drawerFormRef.value[0] || drawerFormRef.value; | 107 | // const drawerForm = drawerFormRef.value[0] || drawerFormRef.value; |
| 108 | if (refName == 'drawerFormRef') { | 108 | if (refName == 'drawerFormRef') { |
| 109 | const drawerForm = drawerFormRef.value[0] || drawerFormRef.value; | 109 | const drawerForm = drawerFormRef.value?.[0] || drawerFormRef.value; |
| 110 | return drawerForm | 110 | return drawerForm |
| 111 | } | 111 | } |
| 112 | } | 112 | } |
| ... | @@ -153,11 +153,13 @@ const tableBtnClick = (scope, btn) => { | ... | @@ -153,11 +153,13 @@ const tableBtnClick = (scope, btn) => { |
| 153 | const submitForm = async (formEl: FormInstance | undefined, btn) => { | 153 | const submitForm = async (formEl: FormInstance | undefined, btn) => { |
| 154 | if (!formEl) return; | 154 | if (!formEl) return; |
| 155 | await formEl.validate((valid, fields) => { | 155 | await formEl.validate((valid, fields) => { |
| 156 | const drawerForm = drawerFormRef.value[0] || drawerFormRef.value; | ||
| 156 | if (valid) { | 157 | if (valid) { |
| 157 | const drawerForm = drawerFormRef.value[0] || drawerFormRef.value; | ||
| 158 | const formInfo = drawerForm.formInline; | 158 | const formInfo = drawerForm.formInline; |
| 159 | emits("drawerBtnClick", btn, formInfo); | 159 | emits("drawerBtnClick", btn, formInfo); |
| 160 | } else { | 160 | } else { |
| 161 | var obj = fields && Object.keys(fields); | ||
| 162 | obj?.[0] && formEl?.scrollToField(obj?.[0]) | ||
| 161 | console.log("error submit!", fields); | 163 | console.log("error submit!", fields); |
| 162 | } | 164 | } |
| 163 | }); | 165 | }); | ... | ... |
| ... | @@ -1452,7 +1452,8 @@ const panelChange = (scope, row) => { | ... | @@ -1452,7 +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="开始日期" | 1455 | v-model="formInline[item.field]" type="daterange" range-separator="至" start-placeholder="开始日期" :format="item.format ?? null" |
| 1456 | :value-format="item.valueFormat ?? null" | ||
| 1456 | end-placeholder="结束日期" :unlink-panels="item.unlink ?? false" :shortcuts="item.shortcuts ?? []" | 1457 | end-placeholder="结束日期" :unlink-panels="item.unlink ?? false" :shortcuts="item.shortcuts ?? []" |
| 1457 | :default-value="item.defaultDate" :disabled="item.disabled ?? false" /> | 1458 | :default-value="item.defaultDate" :disabled="item.disabled ?? false" /> |
| 1458 | <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'" | ... | ... |
| ... | @@ -182,6 +182,10 @@ onMounted(() => { | ... | @@ -182,6 +182,10 @@ onMounted(() => { |
| 182 | <el-date-picker v-model="formInline[item.field]" type="datetimerange" start-placeholder="开始时间" | 182 | <el-date-picker v-model="formInline[item.field]" type="datetimerange" start-placeholder="开始时间" |
| 183 | end-placeholder="结束时间" /> | 183 | end-placeholder="结束时间" /> |
| 184 | </template> | 184 | </template> |
| 185 | <template v-else-if="item.type == 'date-range'"> | ||
| 186 | <el-date-picker v-model="formInline[item.field]" type="daterange" :start-placeholder="item.startPlaceholder ?? '开始日期'" format="YYYY-MM-DD" value-format="YYYY-MM-DD" | ||
| 187 | :end-placeholder="item.endPlaceholder ?? '结束日期'" /> | ||
| 188 | </template> | ||
| 185 | <template v-else-if="item.type == 'radio-button'"> | 189 | <template v-else-if="item.type == 'radio-button'"> |
| 186 | <el-radio-group v-model="formInline[item.field]" @change="radioGroupChange"> | 190 | <el-radio-group v-model="formInline[item.field]" @change="radioGroupChange"> |
| 187 | <el-radio-button v-for="opts in item.options" :label="opts.label" /> | 191 | <el-radio-button v-for="opts in item.options" :label="opts.label" /> | ... | ... |
| ... | @@ -217,6 +217,27 @@ const routes: RouteRecordRaw[] = [ | ... | @@ -217,6 +217,27 @@ const routes: RouteRecordRaw[] = [ |
| 217 | }, | 217 | }, |
| 218 | }, | 218 | }, |
| 219 | ] | 219 | ] |
| 220 | }, | ||
| 221 | { | ||
| 222 | path: '/data-asset-register/contract-progress', | ||
| 223 | component: Layout, | ||
| 224 | meta: { | ||
| 225 | title: '合同进度一览', | ||
| 226 | icon: 'ep:grid', | ||
| 227 | }, | ||
| 228 | children: [ | ||
| 229 | { | ||
| 230 | path: '', | ||
| 231 | name: 'contractProgress', | ||
| 232 | component: () => import('@/views/data_asset/contractProgress.vue'), | ||
| 233 | meta: { | ||
| 234 | title: '合同进度一览', | ||
| 235 | sidebar: false, | ||
| 236 | cache: true, | ||
| 237 | breadcrumb: false, | ||
| 238 | }, | ||
| 239 | }, | ||
| 240 | ] | ||
| 220 | } | 241 | } |
| 221 | ] | 242 | ] |
| 222 | export default routes | 243 | export default routes | ... | ... |
src/views/data_asset/contractProgress.vue
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
| ... | @@ -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 }]); |
| ... | @@ -1749,7 +1757,7 @@ const passCommonDialogBtnClick = (btn, info) => { | ... | @@ -1749,7 +1757,7 @@ const passCommonDialogBtnClick = (btn, info) => { |
| 1749 | </div> | 1757 | </div> |
| 1750 | </ContentWrap> | 1758 | </ContentWrap> |
| 1751 | <ContentWrap id="id-approveInfo" title="审批信息" expandSwicth style="margin-top: 15px" | 1759 | <ContentWrap id="id-approveInfo" title="审批信息" expandSwicth style="margin-top: 15px" |
| 1752 | :isExpand="approveInfoExpand" @expand="(v) => approveInfoExpand = v" v-if="route.query.type != 'certificate'"> | 1760 | :isExpand="approveInfoExpand" @expand="(v) => approveInfoExpand = v" v-if="tabsInfo.tabs.find(t => t.name == 'approveInfo') && route.query.type != 'certificate'"> |
| 1753 | <!-- <Table :tableInfo="approveTableInfo" /> --> | 1761 | <!-- <Table :tableInfo="approveTableInfo" /> --> |
| 1754 | <ApprovalProcess ref="approvalProcessRef" v-if="deploymentId" :deploymentId="deploymentId" | 1762 | <ApprovalProcess ref="approvalProcessRef" v-if="deploymentId" :deploymentId="deploymentId" |
| 1755 | :processInstanceId="processInstanceId"> | 1763 | :processInstanceId="processInstanceId"> | ... | ... |
This diff is collapsed.
Click to expand it.
-
Please register or sign in to post a comment