Procházet zdrojové kódy

检验意见通知书调整

xy před 4 dny
rodič
revize
6fc5619cb0

+ 4 - 4
yudao-ui-admin-vue3/src/views/pressure2/boilerchecker/AuditCheckRecord.vue

@@ -148,13 +148,13 @@
 
   <CustomDialog
     ref="customUnitDialogRef"
-    title="选择审人"
+    title="选择审人"
     v-model="approvalUserVisible"
     width="650px"
     :dialogAttrs="{ zIndex: 10006 }"
   >
     <el-form ref="approveFormRef" :model="approveFormData" :rules="approveFormRules" label-width="135px">
-      <el-form-item label="检验方案批准人" prop="inspectionApproveId">
+      <el-form-item label="审批人" prop="inspectionApproveId">
         <el-select v-model="approveFormData.inspectionApproveId" clearable placeholder="请选择">
           <el-option
             v-for="item in optionList.schemeApproveList.list"
@@ -529,7 +529,7 @@ import ReportListUploadModal from '@/views/pressure2/boilerchecker/components/re
         params = props.apiParams
       }
 
-      if(props.reportType === PressureReportType.INSPECTIONPLAN && props.rowInfo?.currentNode?.includes("审核")) {
+      if([PressureReportType.INSPECTIONPLAN,PressureReportType.SUGGUESTION].includes(props.reportType) && props.rowInfo?.currentNode?.includes("审核")) {
         params = {
           ...params,
           ratifyId: approveFormData.value.inspectionApproveId,
@@ -590,7 +590,7 @@ import ReportListUploadModal from '@/views/pressure2/boilerchecker/components/re
     if(!canSubmit) return
 
     //检验方案审批需要选择校核人
-    if (props.reportType === PressureReportType['INSPECTIONPLAN'] && props.rowInfo?.currentNode?.includes("审核")){
+    if ([PressureReportType.INSPECTIONPLAN,PressureReportType.SUGGUESTION].includes(props.reportType) && props.rowInfo?.currentNode?.includes("审核")){
       getSchemeReviewerList()
       return;
     }

+ 7 - 7
yudao-ui-admin-vue3/src/views/pressure2/boilerchecker/BoilerAuditInspectionCommentsNotice.vue

@@ -269,13 +269,13 @@ const columns = ref<SmartTableColumn[]>([
       showOverflowTooltip: true,
       align: 'center'
     },
-    search: {
-      type: 'selectUserModal',
-      prop: 'bpmUserId'
-    },
-    render: (row, val) => {
-      return !val ? '-' : val?.nickname
-    }
+    // search: {
+    //   type: 'selectUserModal',
+    //   prop: 'bpmUserId'
+    // },
+    // render: (row, val) => {
+    //   return !val ? '-' : val?.nickname
+    // }
   },
   {
     label: '提交人',

+ 64 - 6
yudao-ui-admin-vue3/src/views/pressure2/boilerchecker/components/StatusOperationPanel.vue

@@ -851,6 +851,32 @@
       </el-button>
     </template>
   </Dialog>
+
+  <CustomDialog
+    ref="customUnitDialogRef"
+    title="选择审核人"
+    v-model="approvalUserVisible"
+    width="650px"
+    :dialogAttrs="{ zIndex: 10006 }"
+  >
+    <el-form ref="formRef" :model="formData" :rules="formRules" label-width="150px">
+      <el-form-item label="意见通知书审核人" prop="inspectionAuditId">
+        <el-select v-model="formData.inspectionAuditId" clearable placeholder="请选择">
+          <el-option
+            v-for="item in optionList.schemeReviewerList.list"
+            :key="item.id"
+            :label="item.nickname"
+            :value="item.id"
+          />
+        </el-select>
+      </el-form-item>
+    </el-form>
+    <template #footer>
+      <el-button @click="approvalUserVisible = false">取消</el-button>
+      <el-button type="primary" @click="handleSubmitUser">确定</el-button>
+    </template>
+  </CustomDialog>
+
 </template>
 
 <script setup lang="tsx">
@@ -1010,6 +1036,35 @@ const reportInitData=ref<InitParams>(
     opType: 1, // 0:excel,1: pdf
   });
 
+// 选择检验意见审核人
+const formRef = ref<InstanceType<typeof ElForm>>()
+const optionList = reactive<{
+  schemeReviewerList: Recordable[]
+}>({
+  schemeReviewerList: []
+})
+const formData = ref<Recordable>({})
+const formRules = reactive({
+  inspectionAuditId: [{ required: true, message: '请选择审核人', trigger: 'change' }]
+})
+const approvalUserVisible = ref(false)
+const handleSubmitUser = () => {
+  formRef.value?.validate(async (valid) => {
+    if (valid) {
+      const submitResult = await BoilerTaskOrderApi.submitOpinionNoticeApproval({
+        id: templateParams.value?.id,
+        auditUserIds: [formData.value.inspectionAuditId],
+        reportType: PressureReportType['SUGGUESTION']
+      })
+      if (submitResult) {
+        approvalUserVisible.value = false
+        // 这里可以做页面刷新
+        emit('template-confirm')
+      }
+    }
+  })
+}
+
 // 获取可以批量提交的报告
 const getCanSubmitRecheckReport = computed(() => {
   if(!props.reportList || !props.reportList.length) return []
@@ -1766,12 +1821,8 @@ const handleSubmitAudit = async () => {
   //   return handleUploadAPIReportPreviewBlob(handleSubmitAudit)
   // }
 
-  // 检验意见通知书 && 重大问题线索通知 不需要选择审核人
-  if (
-    [PressureReportType['SUGGUESTION'], PressureReportType['MAINQUESTION']].includes(
-      templateParams.value?.reportType
-    )
-  ) {
+  // 重大问题线索通知 不需要选择审核人
+  if ([PressureReportType['MAINQUESTION']].includes(templateParams.value?.reportType)) {
     ElMessageBox.confirm(`确定提交【${templateParams.value?.reportName}】`, '提示', {
       confirmButtonText: '确定',
       cancelButtonText: '取消'
@@ -1788,6 +1839,13 @@ const handleSubmitAudit = async () => {
       .catch(() => {
         console.log('用户取消提交审核')
       })
+  } else if ([PressureReportType['SUGGUESTION']].includes(templateParams.value?.reportType)) {
+
+    optionList.schemeReviewerList = await BoilerTaskOrderApi.getAuditList({
+      roleCode: 'Boiler Director'
+    })
+    approvalUserVisible.value = true
+
   } else {
     let res = await UserApi.getApprovalDetail({}) // 判断是否有审批信息
 

+ 5 - 6
yudao-ui-admin-vue3/src/views/pressure2/pipechecker/AuditCheckRecord.vue

@@ -148,13 +148,13 @@
 
   <CustomDialog
     ref="customUnitDialogRef"
-    title="选择审人"
+    title="选择审人"
     v-model="approvalUserVisible"
     width="650px"
     :dialogAttrs="{ zIndex: 10006 }"
   >
     <el-form ref="approveFormRef" :model="approveFormData" :rules="approveFormRules" label-width="135px">
-      <el-form-item label="检验方案批准人" prop="inspectionApproveId">
+      <el-form-item label="审批人" prop="inspectionApproveId">
         <el-select v-model="approveFormData.inspectionApproveId" clearable placeholder="请选择">
           <el-option
             v-for="item in optionList.schemeApproveList.list"
@@ -489,8 +489,7 @@ import ReportListUploadModal from '@/views/pressure2/pipechecker/components/repo
       } else {
         params = props.apiParams
       }
-
-      if(props.reportType === PressureReportType.INSPECTIONPLAN && props.rowInfo?.currentNode?.includes("审核")) {
+      if([PressureReportType.INSPECTIONPLAN,PressureReportType.SUGGUESTION].includes(props.reportType) && props.rowInfo?.currentNode?.includes("审核")) {
         params = {
           ...params,
           ratifyId: approveFormData.value.inspectionApproveId,
@@ -550,8 +549,8 @@ import ReportListUploadModal from '@/views/pressure2/pipechecker/components/repo
     const canSubmit = canSubmitMainReportType()
     if(!canSubmit) return
 
-    //检验方案审核时需要选择审批
-    if (props.reportType === PressureReportType['INSPECTIONPLAN'] && props.rowInfo?.currentNode?.includes("审核")){
+    //检验方案审批需要选择校核
+    if ([PressureReportType.INSPECTIONPLAN,PressureReportType.SUGGUESTION].includes(props.reportType) && props.rowInfo?.currentNode?.includes("审核")){
       getSchemeReviewerList()
       return;
     }

+ 7 - 7
yudao-ui-admin-vue3/src/views/pressure2/pipechecker/PipeAuditInspectionCommentsNotice.vue

@@ -269,13 +269,13 @@ const columns = ref<SmartTableColumn[]>([
       showOverflowTooltip: true,
       align: 'center'
     },
-    search: {
-      type: 'selectUserModal',
-      prop: 'bpmUserId'
-    },
-    render: (row, val) => {
-      return !val ? '-' : val?.nickname
-    }
+    // search: {
+    //   type: 'selectUserModal',
+    //   prop: 'bpmUserId'
+    // },
+    // render: (row, val) => {
+    //   return !val ? '-' : val?.nickname
+    // }
   },
   {
     label: '提交人',

+ 64 - 6
yudao-ui-admin-vue3/src/views/pressure2/pipechecker/components/StatusOperationPanel.vue

@@ -854,6 +854,32 @@
       </el-button>
     </template>
   </Dialog>
+
+  <CustomDialog
+    ref="customUnitDialogRef"
+    title="选择审核人"
+    v-model="approvalUserVisible"
+    width="650px"
+    :dialogAttrs="{ zIndex: 10006 }"
+  >
+    <el-form ref="formRef" :model="formData" :rules="formRules" label-width="150px">
+      <el-form-item label="意见通知书审核人" prop="inspectionAuditId">
+        <el-select v-model="formData.inspectionAuditId" clearable placeholder="请选择">
+          <el-option
+            v-for="item in optionList.schemeReviewerList.list"
+            :key="item.id"
+            :label="item.nickname"
+            :value="item.id"
+          />
+        </el-select>
+      </el-form-item>
+    </el-form>
+    <template #footer>
+      <el-button @click="approvalUserVisible = false">取消</el-button>
+      <el-button type="primary" @click="handleSubmitUser">确定</el-button>
+    </template>
+  </CustomDialog>
+
 </template>
 
 <script setup lang="tsx">
@@ -1001,6 +1027,35 @@ const editData=ref<InitParams>(
     opType: 0, // 0:excel,1: pdf
   });
 
+// 选择检验意见审核人
+const formRef = ref<InstanceType<typeof ElForm>>()
+const optionList = reactive<{
+  schemeReviewerList: Recordable[]
+}>({
+  schemeReviewerList: []
+})
+const formData = ref<Recordable>({})
+const formRules = reactive({
+  inspectionAuditId: [{ required: true, message: '请选择审核人', trigger: 'change' }]
+})
+const approvalUserVisible = ref(false)
+const handleSubmitUser = () => {
+  formRef.value?.validate(async (valid) => {
+    if (valid) {
+      const submitResult = await PipeTaskOrderApi.submitOpinionNoticeApproval({
+        id: templateParams.value?.id,
+        auditUserIds: [formData.value.inspectionAuditId],
+        reportType: PressureReportType['SUGGUESTION']
+      })
+      if (submitResult) {
+        approvalUserVisible.value = false
+        // 这里可以做页面刷新
+        emit('template-confirm')
+      }
+    }
+  })
+}
+
 const batchRecheckFormRef = ref()
 // const isShowReportPdf = ref([PressureCheckerMyTaskStatus.REPORT_INPUT,PressureCheckerMyTaskStatus.REPORT_AUDIT,PressureCheckerMyTaskStatus.REPORT_APPROVE,PressureCheckerMyTaskStatus.REPORT_END].includes(props.selectedItem.taskStatus)
 //   && ![400,500,600,700].includes(props.selectedItem.reportType))
@@ -1739,11 +1794,7 @@ const handleSubmitAudit = async () => {
   // }
 
   // 检验意见通知书 && 重大问题线索通知 不需要选择审核人
-  if (
-    [PressureReportType['SUGGUESTION'], PressureReportType['MAINQUESTION']].includes(
-      templateParams.value?.reportType
-    )
-  ) {
+  if ([PressureReportType['MAINQUESTION']].includes(templateParams.value?.reportType)) {
     ElMessageBox.confirm(`确定提交【${templateParams.value?.reportName}】`, '提示', {
       confirmButtonText: '确定',
       cancelButtonText: '取消'
@@ -1760,7 +1811,14 @@ const handleSubmitAudit = async () => {
       .catch(() => {
         console.log('用户取消提交审核')
       })
-  } else {
+  } else if ([PressureReportType['SUGGUESTION']].includes(templateParams.value?.reportType)) {
+
+    optionList.schemeReviewerList = await PipeTaskOrderApi.getAuditList({
+      roleCode: 'Pipeline Director'
+    })
+    approvalUserVisible.value = true
+
+  }  else {
     let res = await UserApi.getApprovalDetail({}) // 判断是否有审批信息
 
     if (res && res.approveUser) {