c33ed4c9 by lihua

详情里评估的审批通过只有一级弹框

1 parent 6e952d11
...@@ -18,7 +18,7 @@ import { ...@@ -18,7 +18,7 @@ import {
18 } from "@/api/modules/dataAsset"; 18 } from "@/api/modules/dataAsset";
19 import { changeNum } from '@/utils/common' 19 import { changeNum } from '@/utils/common'
20 import { ElMessage, ElMessageBox } from "element-plus"; 20 import { ElMessage, ElMessageBox } from "element-plus";
21 import { passFlowData, rejectFlowData, revokeFlowData } from "@/api/modules/workFlowService"; 21 import { passFlowData, rejectFlowData, revokeFlowData, isMyFirstNode } from "@/api/modules/workFlowService";
22 import { onUploadFilePreview, onUploadFileDownload } from '@/api/modules/common'; 22 import { onUploadFilePreview, onUploadFileDownload } from '@/api/modules/common';
23 23
24 const router = useRouter(); 24 const router = useRouter();
...@@ -218,6 +218,8 @@ const toolBtns: any = computed(() => { ...@@ -218,6 +218,8 @@ const toolBtns: any = computed(() => {
218 return btnsArr; 218 return btnsArr;
219 }); 219 });
220 220
221 const getFirstNodePromise: any = ref();
222
221 const btnClick = (btn) => { 223 const btnClick = (btn) => {
222 const type = btn.value; 224 const type = btn.value;
223 if (type == 'cancel') { 225 if (type == 'cancel') {
...@@ -234,9 +236,27 @@ const btnClick = (btn) => { ...@@ -234,9 +236,27 @@ const btnClick = (btn) => {
234 }); 236 });
235 } 237 }
236 } else if (type == 'pass') { 238 } else if (type == 'pass') {
239 if (getFirstNodePromise.value) {
240 return;
241 }
242 getFirstNodePromise.value = isMyFirstNode({
243 deploymentId: deploymentId.value,
244 processInstanceId: processInstanceId.value,
245 staffGuid: userData.staffGuid
246 }).then((res: any) => {
247 getFirstNodePromise.value = null;
248 if (res?.code == proxy.$passCode) {
249 if (res.data) {
237 passDialogInfo.value.visible = true; 250 passDialogInfo.value.visible = true;
238 assessFormItems.value[2].placeholder = '按照本次评估目的及价值类型,该笔数据资产在评估基准日的评估值为人民币***元。本次评估结论在评估基准日后一年内有效,即自20*年*月*日至20*年*月*日止。超过一年,需重新举行资产评估。'; 251 assessFormItems.value[2].placeholder = '按照本次评估目的及价值类型,该笔数据资产在评估基准日的评估值为人民币***元。本次评估结论在评估基准日后一年内有效,即自20*年*月*日至20*年*月*日止。超过一年,需重新举行资产评估。';
239 qualityEvaluateFormItems.value[2].placeholder = '本次评估数据资产总体质量得分为**分\n准确性:\n一致性:\n可访问性:\n规范性:\n完整性:'; 252 qualityEvaluateFormItems.value[2].placeholder = '本次评估数据资产总体质量得分为**分\n准确性:\n一致性:\n可访问性:\n规范性:\n完整性:';
253 } else {
254 passCommonDialogInfo.value.visible = true;
255 }
256 } else {
257 proxy.$ElMessage.error(res.msg);
258 }
259 })
240 // if (assetDetailInfo.value.dataStartDate) { 260 // if (assetDetailInfo.value.dataStartDate) {
241 // qualityEvaluateFormItems.value[1].default = [assetDetailInfo.value.dataStartDate, assetDetailInfo.value.dataEndDate]; 261 // qualityEvaluateFormItems.value[1].default = [assetDetailInfo.value.dataStartDate, assetDetailInfo.value.dataEndDate];
242 // qualityEvaluateFormItems.value[1].disabled = true; 262 // qualityEvaluateFormItems.value[1].disabled = true;
...@@ -767,6 +787,70 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -767,6 +787,70 @@ const rejectDialogBtnClick = (btn, info) => {
767 rejectDialogInfo.value.visible = false; 787 rejectDialogInfo.value.visible = false;
768 } 788 }
769 }; 789 };
790
791 const passCommonDialogInfo = ref({
792 visible: false,
793 size: 460,
794 direction: "column",
795 header: {
796 title: "通过",
797 },
798 type: '',
799 contents: [
800 {
801 type: 'form',
802 title: '',
803 formInfo: {
804 id: 'batch-pass-form',
805 items: [
806 {
807 label: '',
808 type: "textarea",
809 placeholder: "请填写通过备注(选填)",
810 field: "approveSuggest",
811 clearable: true,
812 maxlength: 400,
813 block: true,
814 col: 'margin_b_0',
815 }
816 ]
817 }
818 }
819 ],
820 footer: {
821 btns: [
822 { type: "default", label: "取消", value: "cancel" },
823 { type: "primary", label: "确定", value: "submit" },
824 ],
825 },
826 });
827
828 const passCommonDialogBtnClick = (btn, info) => {
829 if (btn.value == 'submit') {
830 let params = {
831 guid: evaDetailInfo.value.approveVO.approveGuid || costAssessDetail.value.approveVO.approveGuid,
832 flowType: evaDetailInfo.value.approveVO.flowType || costAssessDetail.value.approveVO.flowType,
833 approveSuggest: info.approveSuggest,
834 approveStaffGuid: userData.staffGuid,
835 }
836 passFlowData(params, route.query.serviceTenantGuid).then((res: any) => {
837 if (res?.code == proxy.$passCode) {
838 if (res.data) {
839 ElMessage.success('驳回成功');
840 passCommonDialogInfo.value.visible = false;
841 getDetailInfo();
842 } else {
843 ElMessage.error('驳回失败');
844 }
845 } else {
846 ElMessage.error(res.msg);
847 }
848 })
849 } else if (btn.value == 'cancel') {
850 passCommonDialogInfo.value.visible = false;
851 }
852 }
853
770 // 格式化金额:千位分隔符 + 保留2位小数 854 // 格式化金额:千位分隔符 + 保留2位小数
771 const formattedAmount = computed(() => { 855 const formattedAmount = computed(() => {
772 return new Intl.NumberFormat('en-US', { 856 return new Intl.NumberFormat('en-US', {
...@@ -1073,6 +1157,7 @@ const handleClick = () => { ...@@ -1073,6 +1157,7 @@ const handleClick = () => {
1073 </div> 1157 </div>
1074 <Dialog :dialogInfo="passDialogInfo" @btnClick="passDialogBtnClick" @inputChange=passDialogInputChange /> 1158 <Dialog :dialogInfo="passDialogInfo" @btnClick="passDialogBtnClick" @inputChange=passDialogInputChange />
1075 <Dialog :dialogInfo="rejectDialogInfo" @btnClick="rejectDialogBtnClick" /> 1159 <Dialog :dialogInfo="rejectDialogInfo" @btnClick="rejectDialogBtnClick" />
1160 <Dialog :dialogInfo="passCommonDialogInfo" @btnClick="passCommonDialogBtnClick" />
1076 </div> 1161 </div>
1077 </template> 1162 </template>
1078 1163
......
...@@ -23,7 +23,7 @@ import { ...@@ -23,7 +23,7 @@ import {
23 getTenantDetailInfo, 23 getTenantDetailInfo,
24 getTenantInfo 24 getTenantInfo
25 } from "@/api/modules/queryService"; 25 } from "@/api/modules/queryService";
26 import { passFlowData, rejectFlowData, revokeFlowData } from "@/api/modules/workFlowService"; 26 import { passFlowData, rejectFlowData, revokeFlowData, isMyFirstNode } from "@/api/modules/workFlowService";
27 import useDataAssetStore from "@/store/modules/dataAsset"; 27 import useDataAssetStore from "@/store/modules/dataAsset";
28 import { changeNum, getDownloadUrl, download } from '@/utils/common'; 28 import { changeNum, getDownloadUrl, download } from '@/utils/common';
29 import { onUploadFilePreview, onUploadFileDownload } from '@/api/modules/common'; 29 import { onUploadFilePreview, onUploadFileDownload } from '@/api/modules/common';
...@@ -579,6 +579,8 @@ const toolBtns: any = computed(() => { ...@@ -579,6 +579,8 @@ const toolBtns: any = computed(() => {
579 return btnsArr; 579 return btnsArr;
580 }); 580 });
581 581
582 const getFirstNodePromise: any = ref();
583
582 const btnClick = (btn) => { 584 const btnClick = (btn) => {
583 const type = btn.value; 585 const type = btn.value;
584 if (type == 'cancel') { 586 if (type == 'cancel') {
...@@ -588,6 +590,17 @@ const btnClick = (btn) => { ...@@ -588,6 +590,17 @@ const btnClick = (btn) => {
588 name: detailType.value == 'qualityEvaluate' ? 'qualityEvaluate' : (detailType.value == 'costAssess' ? 'valueEvaluate' : (detailType.value == 'certificate' ? 'certificateManagement' : 'registerManagemant')) 590 name: detailType.value == 'qualityEvaluate' ? 'qualityEvaluate' : (detailType.value == 'costAssess' ? 'valueEvaluate' : (detailType.value == 'certificate' ? 'certificateManagement' : 'registerManagemant'))
589 }); 591 });
590 } else if (type == 'pass') { 592 } else if (type == 'pass') {
593 if (getFirstNodePromise.value) {
594 return;
595 }
596 getFirstNodePromise.value = isMyFirstNode({
597 deploymentId: deploymentId.value,
598 processInstanceId: processInstanceId.value,
599 staffGuid: userData.staffGuid
600 }).then((res: any) => {
601 getFirstNodePromise.value = null;
602 if (res?.code == proxy.$passCode) {
603 if (res.data) {
591 passDialogInfo.value.visible = true; 604 passDialogInfo.value.visible = true;
592 assessFormItems.value[2].placeholder = '按照本次评估目的及价值类型,该笔数据资产在评估基准日的评估值为人民币***元。本次评估结论在评估基准日后一年内有效,即自20*年*月*日至20*年*月*日止。超过一年,需重新举行资产评估。'; 605 assessFormItems.value[2].placeholder = '按照本次评估目的及价值类型,该笔数据资产在评估基准日的评估值为人民币***元。本次评估结论在评估基准日后一年内有效,即自20*年*月*日至20*年*月*日止。超过一年,需重新举行资产评估。';
593 qualityEvaluateFormItems.value[2].placeholder = '本次评估数据资产总体质量得分为**分\n准确性:\n一致性:\n可访问性:\n规范性:\n完整性:'; 606 qualityEvaluateFormItems.value[2].placeholder = '本次评估数据资产总体质量得分为**分\n准确性:\n一致性:\n可访问性:\n规范性:\n完整性:';
...@@ -598,6 +611,13 @@ const btnClick = (btn) => { ...@@ -598,6 +611,13 @@ const btnClick = (btn) => {
598 qualityEvaluateFormItems.value[1].default = null; 611 qualityEvaluateFormItems.value[1].default = null;
599 qualityEvaluateFormItems.value[1].disabled = false; 612 qualityEvaluateFormItems.value[1].disabled = false;
600 } 613 }
614 } else {
615 passCommonDialogInfo.value.visible = true;
616 }
617 } else {
618 proxy.$ElMessage.error(res.msg);
619 }
620 })
601 } else if (type == 'reject') { 621 } else if (type == 'reject') {
602 rejectDialogInfo.value.visible = true; 622 rejectDialogInfo.value.visible = true;
603 } else if (type == 'revoke') { 623 } else if (type == 'revoke') {
...@@ -1150,6 +1170,69 @@ const formattedDate = (dateVal) => { ...@@ -1150,6 +1170,69 @@ const formattedDate = (dateVal) => {
1150 return `${year}-${month}-${day}`; 1170 return `${year}-${month}-${day}`;
1151 } 1171 }
1152 1172
1173 const passCommonDialogInfo = ref({
1174 visible: false,
1175 size: 460,
1176 direction: "column",
1177 header: {
1178 title: "通过",
1179 },
1180 type: '',
1181 contents: [
1182 {
1183 type: 'form',
1184 title: '',
1185 formInfo: {
1186 id: 'batch-pass-form',
1187 items: [
1188 {
1189 label: '',
1190 type: "textarea",
1191 placeholder: "请填写通过备注(选填)",
1192 field: "approveSuggest",
1193 clearable: true,
1194 maxlength: 400,
1195 block: true,
1196 col: 'margin_b_0',
1197 }
1198 ]
1199 }
1200 }
1201 ],
1202 footer: {
1203 btns: [
1204 { type: "default", label: "取消", value: "cancel" },
1205 { type: "primary", label: "确定", value: "submit" },
1206 ],
1207 },
1208 });
1209
1210 const passCommonDialogBtnClick = (btn, info) => {
1211 if (btn.value == 'submit') {
1212 let params = {
1213 guid: detailInfo.value.approveVO.approveGuid,
1214 flowType: detailInfo.value.approveVO.flowType,
1215 approveSuggest: info.approveSuggest,
1216 approveStaffGuid: userData.staffGuid
1217 }
1218 passFlowData(params, serviceTenantGuid.value).then((res: any) => {
1219 if (res?.code == proxy.$passCode) {
1220 if (res.data) {
1221 ElMessage.success('驳回成功');
1222 passCommonDialogInfo.value.visible = false;
1223 getDetailInfo();
1224 } else {
1225 ElMessage.error('驳回失败');
1226 }
1227 } else {
1228 ElMessage.error(res.msg);
1229 }
1230 })
1231 } else if (btn.value == 'cancel') {
1232 passCommonDialogInfo.value.visible = false;
1233 }
1234 }
1235
1153 </script> 1236 </script>
1154 1237
1155 <template> 1238 <template>
...@@ -1903,6 +1986,7 @@ const formattedDate = (dateVal) => { ...@@ -1903,6 +1986,7 @@ const formattedDate = (dateVal) => {
1903 </div> 1986 </div>
1904 <Dialog :dialogInfo="passDialogInfo" @btnClick="passDialogBtnClick" @inputChange=passDialogInputChange /> 1987 <Dialog :dialogInfo="passDialogInfo" @btnClick="passDialogBtnClick" @inputChange=passDialogInputChange />
1905 <Dialog :dialogInfo="rejectDialogInfo" @btnClick="rejectDialogBtnClick" /> 1988 <Dialog :dialogInfo="rejectDialogInfo" @btnClick="rejectDialogBtnClick" />
1989 <Dialog :dialogInfo="passCommonDialogInfo" @btnClick="passCommonDialogBtnClick" />
1906 </div> 1990 </div>
1907 </template> 1991 </template>
1908 1992
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!