sunqijun пре 3 месеци
родитељ
комит
1586101247

+ 32 - 39
src/views/production-safety/implement-safety-duty/components/IssueSafetyResponsibility.vue

@@ -6,7 +6,7 @@
     width="700"
     @close="clearData"
   >
-    <el-form label-width="140px" :model="formData" ref="ruleFormRef" :rules="rules">
+    <el-form label-width="auto" :model="formData" ref="ruleFormRef" :rules="rules">
       <!-- <el-form-item label="下发部门名称" prop="deptId">
         <el-cascader
           ref="cascadeRef"
@@ -56,13 +56,12 @@
           filterable
           :remote-method="(q) => remoteMethod(q, 'signPersonList')"
         >
-          <el-option v-for="l in optionsGroups.signPersonList" :key="l.value" :label="l.label" :value="l.value" />
+          <el-option v-for="l in userList.signPersonList" :key="l.value" :label="l.label" :value="l.value" />
         </el-select>
       </el-form-item>
       <template v-if="currentDepartmentKey === 'A'">
         <el-form-item label="党委书记" prop="leader1">
           <el-select
-            :disabled="!userList.length"
             size="large"
             v-model="formData.leader1"
             placeholder="请选择党委书记"
@@ -71,12 +70,11 @@
             remote
             :remote-method="(q) => remoteMethod(q, 'leader1List')"
           >
-            <el-option v-for="l in optionsGroups.leader1List" :key="l.value" :label="l.label" :value="l.value" />
+            <el-option v-for="l in userList.leader1List" :key="l.value" :label="l.label" :value="l.value" />
           </el-select>
         </el-form-item>
         <el-form-item label="院长" prop="leader2">
           <el-select
-            :disabled="!userList.length"
             size="large"
             v-model="formData.leader2"
             placeholder="请选择院长"
@@ -85,28 +83,26 @@
             remote
             :remote-method="(q) => remoteMethod(q, 'leader2List')"
           >
-            <el-option v-for="l in optionsGroups.leader2List" :key="l.value" :label="l.label" :value="l.value" />
+            <el-option v-for="l in userList.leader2List" :key="l.value" :label="l.label" :value="l.value" />
           </el-select>
         </el-form-item>
       </template>
       <template v-if="currentDepartmentKey === 'B'">
-        <el-form-item label="党支部书记" prop="leader1">
+        <el-form-item label="党书记" prop="leader1">
           <el-select
-            :disabled="!userList.length"
             size="large"
             v-model="formData.leader1"
-            placeholder="请选择党支部书记"
+            placeholder="请选择党书记"
             style="width: 100%"
             filterable
             remote
             :remote-method="(q) => remoteMethod(q, 'leader1List')"
           >
-            <el-option v-for="l in optionsGroups.leader1List" :key="l.value" :label="l.label" :value="l.value" />
+            <el-option v-for="l in userList.leader1List" :key="l.value" :label="l.label" :value="l.value" />
           </el-select>
         </el-form-item>
         <el-form-item label="院长" prop="leader2">
           <el-select
-            :disabled="!userList.length"
             size="large"
             v-model="formData.leader2"
             placeholder="请选择院长"
@@ -115,44 +111,41 @@
             remote
             :remote-method="(q) => remoteMethod(q, 'leader2List')"
           >
-            <el-option v-for="l in optionsGroups.leader2List" :key="l.value" :label="l.label" :value="l.value" />
+            <el-option v-for="l in userList.leader2List" :key="l.value" :label="l.label" :value="l.value" />
           </el-select>
         </el-form-item>
       </template>
       <template v-if="currentDepartmentKey === 'C'">
-        <el-form-item label="党支部书记(一级部门)" prop="leader1">
+        <el-form-item label="党委书记" prop="leader1">
           <el-select
-            :disabled="!userList.length"
             size="large"
             v-model="formData.leader1"
-            placeholder="请选择党支部书记(一级部门)"
+            placeholder="请选择党委书记"
             style="width: 100%"
             filterable
             :remote-method="(q) => remoteMethod(q, 'leader1List')"
             remote
           >
-            <el-option v-for="l in optionsGroups.leader1List" :key="l.value" :label="l.label" :value="l.value" />
+            <el-option v-for="l in userList.leader1List" :key="l.value" :label="l.label" :value="l.value" />
           </el-select>
         </el-form-item>
-        <el-form-item label="所长/部长(一级部门)" prop="leader2">
+        <el-form-item label="所长/部长" prop="leader2">
           <el-select
-            :disabled="!userList.length"
             size="large"
             v-model="formData.leader2"
-            placeholder="请选择所长/部长(一级部门)"
+            placeholder="请选择所长/部长"
             style="width: 100%"
             filterable
             :remote-method="(q) => remoteMethod(q, 'leader2List')"
             remote
           >
-            <el-option v-for="l in optionsGroups.leader2List" :key="l.value" :label="l.label" :value="l.value" />
+            <el-option v-for="l in userList.leader2List" :key="l.value" :label="l.label" :value="l.value" />
           </el-select>
         </el-form-item>
       </template>
       <template v-if="currentDepartmentKey === 'D'">
         <el-form-item label="部门负责人" prop="leader1">
           <el-select
-            :disabled="!userList.length"
             size="large"
             v-model="formData.leader1"
             placeholder="部门负责人"
@@ -161,7 +154,7 @@
             :remote-method="(q) => remoteMethod(q, 'leader1List')"
             remote
           >
-            <el-option v-for="l in optionsGroups.leader1List" :key="l.value" :label="l.label" :value="l.value" />
+            <el-option v-for="l in userList.leader1List" :key="l.value" :label="l.label" :value="l.value" />
           </el-select>
         </el-form-item>
       </template>
@@ -204,7 +197,7 @@
 </template>
 
 <script setup lang="ts">
-  import { ref, reactive, watch, computed } from 'vue';
+  import { ref, reactive, watch } from 'vue';
   import type { FormInstance } from 'element-plus';
   import dayjs from 'dayjs';
   import { queryAvailableUserList } from '@/api/production-safety/responsibility-implementation';
@@ -220,7 +213,13 @@
   const submitLoading = ref(false);
   const ruleFormRef = ref<FormInstance>();
 
-  const userList = ref<any[]>([]);
+  const userList = reactive<{
+    [key: string]: any[];
+  }>({
+    signPersonList: [],
+    leader1List: [],
+    leader2List: [],
+  });
 
   const formData = reactive<any>({
     signConfig: 0,
@@ -233,15 +232,6 @@
     isUrgent: 0,
   });
 
-  const optionsGroups = computed(() => {
-    const newList = [...userList.value];
-    return {
-      signPersonList: newList,
-      leader1List: newList,
-      leader2List: newList,
-    };
-  });
-
   watch(
     () => props.currentDepartmentKey,
     (a) => {
@@ -262,7 +252,7 @@
   };
 
   const remoteMethod = (query: string, dataName) => {
-    if (!query) return;
+    // if (!query) return;
     getUserData(dataName, query);
   };
 
@@ -285,6 +275,7 @@
     leader1: [{ required: true, message: '请选择相关责任负责人/领导', trigger: 'change' }],
 
     leader2: [
+      { required: true, message: '请选择相关责任负责人/领导', trigger: 'change' },
       {
         validator: (_: any, value: any, callback: any) => {
           const needLeader2 = ['A', 'B', 'C'].includes(props.currentDepartmentKey);
@@ -335,12 +326,14 @@
       queryParam: { realname },
     }).then((res: any) => {
       if (dataName === null) {
-        userList.value = (res.records || [])?.map((u: any) => ({
-          value: u.id,
-          label: u.realname,
-        }));
+        Object.keys(userList).forEach((key) => {
+          userList[key] = (res.records || [])?.map((u: any) => ({
+            value: u.id,
+            label: u.realname,
+          }));
+        });
       } else {
-        optionsGroups.value[dataName] = (res.records || [])?.map((u: any) => ({
+        userList[dataName] = (res.records || [])?.map((u: any) => ({
           value: u.id,
           label: u.realname,
         }));

+ 4 - 4
src/views/production-safety/implement-safety-duty/create-responsibility-agree.vue

@@ -48,10 +48,10 @@
             />
           </div>
         </el-form-item>
-        <el-form-item label=" ">
+        <!-- <el-form-item label=" ">
           <el-checkbox v-model="formValue.executeObject" label="创建下发执行对象" @change="handleExecuteObjectChange" />
-        </el-form-item>
-        <template v-if="Boolean(formValue.executeObject)">
+        </el-form-item> -->
+        <!-- <template v-if="Boolean(formValue.executeObject)">
           <el-form-item label="下发分组名称" prop="userGroupId">
             <el-select v-model="formValue.userGroupId" multiple size="large" placeholder="分组名称" style="width: 50%">
               <el-option v-for="group in groupList" :key="group.id" :label="group.name" :value="group.id" />
@@ -75,7 +75,7 @@
               <el-radio :value="1">是</el-radio>
             </el-radio-group>
           </el-form-item>
-        </template>
+        </template> -->
       </el-form>
     </main>
     <footer class="safety-platform-container__footer">

+ 4 - 4
src/views/production-safety/implement-safety-duty/edit-responsibility-agree.vue

@@ -45,10 +45,10 @@
             />
           </div>
         </el-form-item>
-        <el-form-item label=" ">
+        <!-- <el-form-item label=" ">
           <el-checkbox v-model="formValue.executeObject" label="创建下发执行对象" @change="handleExecuteObjectChange" />
-        </el-form-item>
-        <template v-if="Boolean(formValue.executeObject)">
+        </el-form-item> -->
+        <!-- <template v-if="Boolean(formValue.executeObject)">
           <el-form-item label="下发分组名称" prop="userGroupId">
             <el-select v-model="formValue.userGroupId" multiple size="large" placeholder="分组名称" style="width: 50%">
               <el-option v-for="group in groupList" :key="group.id" :label="group.name" :value="group.id" />
@@ -73,7 +73,7 @@
               <el-radio :value="1">是</el-radio>
             </el-radio-group>
           </el-form-item>
-        </template>
+        </template> -->
       </el-form>
     </main>
     <footer class="safety-platform-container__footer">