sunqijun 2 miesięcy temu
rodzic
commit
fb26e6d80a

+ 10 - 0
src/api/production-safety/responsibility-implementation/index.ts

@@ -158,6 +158,16 @@ export function safetyResponsibilityDeptBatchSign(params) {
   });
 }
 
+/**
+ * 查询当前用户的安全责任书节点等级
+ * @returns Promise<any> 安全责任书节点等级
+ */
+export function queryNodeLevel(id) {
+  return http.request({
+    url: `/safetyResponsibility/admin/queryNodeLevel?id=${id}`,
+    method: 'get',
+  });
+}
 
 
 /**

+ 17 - 11
src/views/production-safety/implement-safety-duty/responsibility-agree-manage-dept.vue

@@ -226,6 +226,7 @@
     safetyResponsibilityDeptQueryPage,
     safetyResponsibilityDeptSignOrFeedback,
     safetyResponsibilityDeptBatchSign,
+    queryNodeLevel,
     queryAvailableUserList,
   } from '@/api/production-safety/responsibility-implementation';
   import { omit } from 'lodash-es';
@@ -246,7 +247,8 @@
   const groupList = ref<any[]>([]);
   const submitLoading = ref(false);
   const { id: userId } = useUserInfoHook();
-  const signerId = ref('');
+  const signerId = ref<any>();
+  const hasSignerId = ref(false);
   const queryParams = reactive<any>({
     pageNumber: 1,
     pageSize: 10,
@@ -265,12 +267,12 @@
     total: 0,
   });
 
-  const hasSignerId = computed(
-    () =>
-      !!selectedRows.value.every(
-        (item: any) => item.departmentName === '所/中心级部门' || item.departmentName === '科室',
-      ),
-  );
+  // const hasSignerId = computed(
+  //   () =>
+  //     !!selectedRows.value.every(
+  //       (item: any) => item.departmentName === '所/中心级部门' || item.departmentName === '科室',
+  //     ),
+  // );
 
   const attachment = ref<any[]>([]);
   const userOptions = ref<any[]>([]);
@@ -310,16 +312,20 @@
   };
 
   const handleOpenBatchSign = () => {
-    if (!selectedRows.value.length) {
+    const selectedData = selectedRows.value;
+    if (!selectedData.length) {
       ElMessage.warning('请选择需要批量签署的责任书');
       return;
     }
-    if (!selectedRows.value.every((item: any, i, data: any[]) => item.departmentName === data[0]?.departmentName)) {
+    if (!selectedData.every((item: any, i, data: any[]) => item.departmentName === data[0]?.departmentName)) {
       ElMessage.warning('请选择相同类别的责任书');
       return;
     }
-    console.log('@@:', selectedRows.value);
-    batchSignDialogVisible.value = true;
+    queryNodeLevel(selectedData[0]?.id).then((res) => {
+      hasSignerId.value = res;
+
+      batchSignDialogVisible.value = true;
+    });
   };
 
   const handleCloseBatchSign = () => {

+ 15 - 28
src/views/production-safety/implement-safety-duty/sign-agree-dept.vue

@@ -251,8 +251,6 @@
     signRecords: [],
   });
 
-  const recordImageList = ref<string[]>([]);
-
   const rules = reactive({
     signsUpload: [
       {
@@ -262,14 +260,6 @@
     ],
   });
 
-  const handleUploadChange = (fileList) => {
-    // console.log('files', val);
-    // console.log('files', uploadImagesRef.value!.getUploadedImages());
-    // ruleFormData.drillImagesFile = uploadImagesRef.value!.getUploadedImages();
-    recordImageList.value = uploadImagesRef.value!.getUploadedImages();
-    console.log('@recordImageList:', recordImageList.value);
-  };
-
   const signRecords = computed(() => {
     return {
       level1: formData.signRecords.filter((item) => item.signLevel === 1),
@@ -340,6 +330,7 @@
             ElMessage.warning('请上传签署材料');
             return;
           }
+
           if (signerId.value) {
             handleSubmitSign(firstSignItem).then(() => {
               handleSafetyResponsibilityDeptSaveSign(signerId.value, nextLevel, nextOrder);
@@ -393,31 +384,27 @@
 
   const handleSubmitSign = (firstItem) => {
     submiting.value = true;
-    try {
-      const params = {
-        ids: [route.query.id],
-        attachment: JSON.stringify(firstItem?.attachment),
-      };
+    const params = {
+      ids: [route.query.id],
+      attachment: JSON.stringify(firstItem?.attachment),
+    };
 
-      safetyResponsibilityDeptBatchSign(params)
-        .then((res) => {
-          router.push({
-            name: 'responsibilityAgreeManageDept',
-          });
-          ElMessage.success('责任书签署成功');
-        })
-        .finally(() => {
-          submiting.value = false;
+    return safetyResponsibilityDeptBatchSign(params)
+      .then((res) => {
+        router.push({
+          name: 'responsibilityAgreeManageDept',
         });
-    } catch (e: Error | any) {
-      ElMessage.error(e.message);
-      submiting.value = false;
-    }
+        ElMessage.success('责任书签署成功');
+      })
+      .finally(() => {
+        submiting.value = false;
+      });
   };
 
   const handleDialogConfirm = () => {
     if (signerId.value) {
       dialogVisible.value = false;
+      console.log('....', signerId.value);
     } else {
       ElMessage.warning('请选择签署人');
     }

+ 19 - 5
src/views/production-safety/implement-safety-duty/view-recipients.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="safety-platform-container">
     <header class="safety-platform-container__header">
-      <div class="breadcrumb-title"> <BreadcrumbBack /> 查看下发对象 </div>
+      <div class="breadcrumb-title"> <BreadcrumbBack /> {{ $route.meta.title }} </div>
       <div class="detail-content">
         <span>类别名称:{{ detailData?.departmentName }} </span>
         <span>创建人:{{ detailData?.createdByName }} </span>
@@ -58,9 +58,10 @@
           <el-table-column label="责任书名称" prop="responsibilityName" width="180" />
           <el-table-column label="状态" prop="statusName" width="100" />
           <el-table-column label="类别名称" prop="departmentName" />
-          <el-table-column label="查看下发对象" prop="responsibilityPersonName" />
-          <el-table-column label="是否并签" prop="signConfigName" />
           <el-table-column label="分组名称" prop="userGroupName" />
+
+          <el-table-column label="责任人姓名" prop="responsiblePersonName" />
+          <el-table-column label="是否并签" prop="signConfigName" />
           <el-table-column label="计划完成时间" prop="planEndTime" />
           <el-table-column fixed="right" width="200" label="操作">
             <template #default="scope">
@@ -97,9 +98,11 @@
       <div class="pagination-container">
         <el-pagination
           background
+          layout="prev, pager, next, jumper,sizes, total"
           :current-page="queryParams.pageNumber"
           :page-size="queryParams.pageSize"
           :total="tableData.total"
+          :page-sizes="[10, 20, 50, 100]"
           @size-change="handleSizeChange"
           @current-change="handleCurrentChange"
         />
@@ -162,8 +165,14 @@
     });
   };
 
-  const handleSizeChange = () => {};
-  const handleCurrentChange = () => {};
+  const handleSizeChange = (value) => {
+    queryParams.pageSize = value;
+    queryTableList();
+  };
+  const handleCurrentChange = (value) => {
+    queryParams.pageNumber = value;
+    queryTableList();
+  };
   const handleDownloadLink = (scope) => {
     const attachment = unformatAttachment(scope.row.attachment);
     attachment?.forEach((item: any) => {
@@ -334,4 +343,9 @@
     display: flex;
     justify-content: flex-end;
   }
+  .pagination-container {
+    margin-top: 20px;
+    display: flex;
+    justify-content: flex-end;
+  }
 </style>