379422ca by lihua

质量评估,价值评估支持不走流程配置

1 parent 8b2d5d18
...@@ -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>
......
...@@ -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">
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!