Parcourir la source

选择人员改为部门人树。

jxq il y a 2 mois
Parent
commit
cb00b38df7

+ 23 - 51
src/views/pro-operation/appoint-out/applyFor.vue

@@ -38,38 +38,15 @@
             </div>
           </div>
         </el-form-item>
-        <el-form-item
-          :label="`委外产品[${formLabelAlign.details.length}]`"
-          prop="details"
-        >
-          <el-select
-            v-model="formLabelAlign.details"
-            multiple
-            placeholder="请选择"
-            value-key="value"
-          >
-            <el-option
-              v-for="item in processWorkSeq"
-              :key="item"
-              :label="item"
-              :value="item"
-            />
+        <el-form-item :label="`委外产品[${formLabelAlign.details.length}]`" prop="details">
+          <el-select v-model="formLabelAlign.details" multiple placeholder="请选择" value-key="value">
+            <el-option v-for="item in processWorkSeq" :key="item" :label="item" :value="item" />
           </el-select>
         </el-form-item>
 
         <el-form-item label="选择工序" prop="operations">
-          <el-select
-            v-model="formLabelAlign.operations"
-            multiple
-            placeholder="请选择连续的工序"
-            value-key="value"
-          >
-            <el-option
-              v-for="item in processOps"
-              :key="item"
-              :label="item.operationName"
-              :value="item.operationId"
-            />
+          <el-select v-model="formLabelAlign.operations" multiple placeholder="请选择连续的工序" value-key="value">
+            <el-option v-for="item in processOps" :key="item" :label="item.operationName" :value="item.operationId" />
           </el-select>
         </el-form-item>
 
@@ -78,19 +55,14 @@
         </el-form-item>
 
         <el-form-item label="审核人" prop="auditUser">
-          <el-select
+          <el-tree-select
             v-model="formLabelAlign.auditUser"
-            filterable
+            :data="userList"
             placeholder="请选择人员"
-            value-key="id"
-          >
-            <el-option
-              v-for="item in dictStroe.allUsers"
-              :key="item.id"
-              :label="item.userName"
-              :value="item.userName"
-            />
-          </el-select>
+            :default-expand-all="false"
+            filterable
+            clearable
+          />
         </el-form-item>
 
         <el-form-item label="备注" prop="remark">
@@ -98,15 +70,8 @@
         </el-form-item>
       </el-form>
       <div class="bottom-btns">
-        <el-button class="cancelBtn el-button-big" @click="cancelClick"
-          >重置</el-button
-        >
-        <el-button
-          class="sureBtn el-button-big"
-          type="primary"
-          @click="confirmClick"
-          >发起申请
-        </el-button>
+        <el-button class="cancelBtn el-button-big" @click="cancelClick">重置</el-button>
+        <el-button class="sureBtn el-button-big" type="primary" @click="confirmClick">发起申请 </el-button>
       </div>
     </div>
   </el-scrollbar>
@@ -118,6 +83,7 @@ import { useProcessStore } from "@/store/modules/processView";
 import { addAppointOut, getProcessOpInfo } from "@/api/process/appointOut";
 import { emitter, EventsNames } from "@/utils/common";
 import { useDictionaryStore } from "@/store";
+import { getUserTree } from "@/api/user";
 
 const dictStroe = useDictionaryStore();
 
@@ -133,9 +99,7 @@ const formLabelAlign = reactive({
   auditUser: "",
 });
 const rules = reactive({
-  manufacturers: [
-    { required: true, message: "请输入 委外厂商", trigger: "blur" },
-  ],
+  manufacturers: [{ required: true, message: "请输入 委外厂商", trigger: "blur" }],
   auditUser: [{ required: true, message: "请选择 ", trigger: "blur" }],
 });
 
@@ -147,6 +111,13 @@ const cancelClick = () => {
 
 const processOps = ref<any[]>([]); //工序列表
 
+// ================= 人员树结构
+const userList = ref([]);
+const queryUserList = () => {
+  getUserTree().then((data) => {
+    userList.value = data.data;
+  });
+};
 onMounted(() => {
   breakReportInfoById(processStore.scanInfo.id).then((res: any) => {
     processWorkSeq.value = res.data.processWorkSeq || [];
@@ -154,6 +125,7 @@ onMounted(() => {
   getProcessOpInfo(processStore.scanInfo.id).then((res: any) => {
     processOps.value = res.data || [];
   });
+  queryUserList();
 });
 
 const confirmClick = () => {

+ 31 - 68
src/views/pro-operation/remove/index.vue

@@ -3,17 +3,8 @@
     <!-- 剔除 -->
 
     <el-scrollbar class="containerBox">
-      <div
-        style="margin-bottom: 10px; display: flex"
-        :style="{ justifyContent: !formStatus ? 'center' : '' }"
-      >
-        <el-button
-          type="primary"
-          style="font-size: 16px"
-          v-if="formStatus"
-          @click="toAdd"
-          >新增</el-button
-        >
+      <div style="margin-bottom: 10px; display: flex" :style="{ justifyContent: !formStatus ? 'center' : '' }">
+        <el-button type="primary" style="font-size: 16px" v-if="formStatus" @click="toAdd">新增</el-button>
         <el-button type="primary" v-else @click="toList">返回</el-button>
       </div>
 
@@ -30,12 +21,7 @@
           </el-table-column>
           <el-table-column label="操作">
             <template #default="{ row }">
-              <el-button
-                v-if="row.state == '0'"
-                link
-                type="danger"
-                @click="del(row.id)"
-                style="font-size: 20px"
+              <el-button v-if="row.state == '0'" link type="danger" @click="del(row.id)" style="font-size: 20px"
                 >删除</el-button
               >
             </template>
@@ -51,12 +37,7 @@
       </template>
       <template v-else>
         <el-scrollbar class="form">
-          <el-form
-            ref="ruleFormRef1"
-            :model="ruleForm1"
-            :rules="rules1"
-            label-width="100"
-          >
+          <el-form ref="ruleFormRef1" :model="ruleForm1" :rules="rules1" label-width="100">
             <el-form-item
               label="流转卡号"
               prop="seqs"
@@ -65,18 +46,8 @@
                 trigger: 'change',
               }"
             >
-              <el-select
-                v-model="ruleForm1.seqs"
-                multiple
-                placeholder="请选择"
-                value-key="value"
-              >
-                <el-option
-                  v-for="item in infoData?.processWorkSeq"
-                  :key="item"
-                  :label="item"
-                  :value="item"
-                />
+              <el-select v-model="ruleForm1.seqs" multiple placeholder="请选择" value-key="value">
+                <el-option v-for="item in infoData?.processWorkSeq" :key="item" :label="item" :value="item" />
               </el-select>
             </el-form-item>
             <el-form-item
@@ -130,19 +101,14 @@
                 trigger: 'change',
               }"
             >
-              <el-select
+              <el-tree-select
                 v-model="ruleForm1.remark1.user1"
-                filterable
+                :data="userList"
                 placeholder="请选择人员"
-                value-key="id"
-              >
-                <el-option
-                  v-for="item in dictStroe.allUsers"
-                  :key="item.id"
-                  :label="item.userName"
-                  :value="item.userName"
-                />
-              </el-select>
+                :default-expand-all="false"
+                filterable
+                clearable
+              />
             </el-form-item>
             <el-form-item
               label="发生日期"
@@ -167,19 +133,14 @@
                 trigger: 'change',
               }"
             >
-              <el-select
+              <el-tree-select
                 v-model="ruleForm1.remark2.user2"
-                filterable
+                :data="userList"
                 placeholder="请选择人员"
-                value-key="id"
-              >
-                <el-option
-                  v-for="item in dictStroe.allUsers"
-                  :key="item.id"
-                  :label="item.userName"
-                  :value="item.userName"
-                />
-              </el-select>
+                :default-expand-all="false"
+                filterable
+                clearable
+              />
             </el-form-item>
           </el-form>
         </el-scrollbar>
@@ -192,19 +153,11 @@
 </template>
 
 <script setup>
-import {
-  breakReportInfoById,
-  operationListByIds,
-} from "@/api/process/reportBreak";
-import {
-  addRework,
-  addRework1,
-  getList,
-  getList1,
-  delError,
-} from "@/api/rework";
+import { breakReportInfoById, operationListByIds } from "@/api/process/reportBreak";
+import { addRework, addRework1, getList, getList1, delError } from "@/api/rework";
 import { useProcessStore } from "@/store/modules/processView";
 import { useDictionaryStore } from "@/store/modules/dictionary";
+import { getUserTree } from "@/api/user/index";
 const dictStroe = useDictionaryStore();
 const processStore = useProcessStore();
 const ruleForm = ref({
@@ -260,6 +213,7 @@ const getPagination1 = async () => {
     type: "eliminate",
     pageNo: page.value,
     pageSize: limit.value,
+    workOrderCode: processStore.odersData.workOrderCode,
   });
   tableData.value = data.records;
   total.value = data.totalCount;
@@ -314,8 +268,17 @@ const rules1 = reactive({
     },
   ],
 });
+
+// ================= 人员树结构
+const userList = ref([]);
+const queryUserList = () => {
+  getUserTree().then((data) => {
+    userList.value = data.data;
+  });
+};
 onMounted(() => {
   getPagination1();
+  queryUserList();
 });
 </script>
 

+ 26 - 62
src/views/pro-operation/report-break/index.vue

@@ -34,12 +34,7 @@
                 <div class="info-item">
                   <div class="item-label">阶段</div>
                   <div class="item-value">
-                    {{
-                      dictStroe.getLableByValue(
-                        "stage",
-                        infoData?.stageDictValue
-                      )
-                    }}
+                    {{ dictStroe.getLableByValue("stage", infoData?.stageDictValue) }}
                   </div>
                 </div>
                 <div class="info-item">
@@ -48,10 +43,7 @@
                 </div>
               </div>
             </el-form-item>
-            <el-form-item
-              :label="`报故数量[${formLabelAlign.seqNoList.length}]`"
-              prop="seqNoList"
-            >
+            <el-form-item :label="`报故数量[${formLabelAlign.seqNoList.length}]`" prop="seqNoList">
               <el-select
                 v-model="formLabelAlign.seqNoList"
                 multiple
@@ -59,12 +51,7 @@
                 value-key="value"
                 @change="selectProcessWorkSeqChange"
               >
-                <el-option
-                  v-for="item in infoData?.processWorkSeq"
-                  :key="item"
-                  :label="item"
-                  :value="item"
-                />
+                <el-option v-for="item in infoData?.processWorkSeq" :key="item" :label="item" :value="item" />
               </el-select>
             </el-form-item>
 
@@ -95,12 +82,7 @@
                     placeholder="请选择"
                     value-key="id"
                   >
-                    <el-option
-                      v-for="item in quexianList"
-                      :key="item.id"
-                      :label="item.bugName"
-                      :value="item"
-                    />
+                    <el-option v-for="item in quexianList" :key="item.id" :label="item.bugName" :value="item" />
                   </el-select>
                 </el-form-item>
               </el-col>
@@ -113,12 +95,7 @@
               </el-radio-group>
             </el-form-item>
             <el-form-item label="不合格品分布情况及工序" prop="processesList">
-              <el-select
-                v-model="formLabelAlign.processesList"
-                multiple
-                placeholder="请选择"
-                value-key="operationId"
-              >
+              <el-select v-model="formLabelAlign.processesList" multiple placeholder="请选择" value-key="operationId">
                 <el-option
                   v-for="item in operationList"
                   :key="item.operationId"
@@ -129,30 +106,21 @@
             </el-form-item>
 
             <el-form-item label="责任/经办者" prop="personResponsible">
-              <el-select
+              <el-tree-select
                 v-model="formLabelAlign.personResponsible"
+                :data="userList"
+                placeholder="请选择人员"
+                :default-expand-all="false"
                 filterable
-                placeholder="请选择"
-                value-key="id"
-              >
-                <el-option
-                  v-for="item in dictStroe.allUsers"
-                  :key="item.id"
-                  :label="item.userName"
-                  :value="item.userName"
-                />
-              </el-select>
+                clearable
+              />
             </el-form-item>
             <el-form-item label="缺陷图片" prop="fileList">
               <MultiUpload v-model="formLabelAlign.fileList" />
             </el-form-item>
 
             <el-form-item label="备注" prop="remark">
-              <el-input
-                v-model="formLabelAlign.remark"
-                :rows="3"
-                type="textarea"
-              />
+              <el-input v-model="formLabelAlign.remark" :rows="3" type="textarea" />
             </el-form-item>
           </el-form>
         </div>
@@ -161,25 +129,19 @@
     <template #footer>
       <div class="bottom-btns">
         <el-button class="cancelBtn" @click="cancelClick">取消</el-button>
-        <el-button class="sureBtn" type="primary" @click="confirmClick"
-          >报故
-        </el-button>
+        <el-button class="sureBtn" type="primary" @click="confirmClick">报故 </el-button>
       </div>
     </template>
   </el-drawer>
 </template>
 
 <script lang="ts" setup>
-import {
-  addBreakReport,
-  basebugsByType,
-  breakReportInfoById,
-  operationListByIds,
-} from "@/api/process/reportBreak";
+import { addBreakReport, basebugsByType, breakReportInfoById, operationListByIds } from "@/api/process/reportBreak";
 import { useProcessStore } from "@/store/modules/processView";
 import { useDictionaryStore } from "@/store/modules/dictionary";
 import { getProcessInfo } from "@/api/prosteps";
 import MultiUpload from "@/components/Upload/MultiUpload.vue";
+import { getUserTree } from "@/api/user";
 
 const processStore = useProcessStore();
 const dictStroe = useDictionaryStore();
@@ -200,18 +162,19 @@ const formLabelAlign = reactive({
   remark: "",
 });
 const rules = reactive({
-  trackingNumber: [
-    { required: true, message: "请输入 追踪卡号", trigger: "blur" },
-  ],
-  workOrderNumber: [
-    { required: true, message: "请输入 工作令号", trigger: "blur" },
-  ],
-  archiveNumber: [
-    { required: true, message: "请输入 归档编号", trigger: "blur" },
-  ],
+  trackingNumber: [{ required: true, message: "请输入 追踪卡号", trigger: "blur" }],
+  workOrderNumber: [{ required: true, message: "请输入 工作令号", trigger: "blur" }],
+  archiveNumber: [{ required: true, message: "请输入 归档编号", trigger: "blur" }],
   seqNoList: [{ required: true, message: "请选择 ", trigger: "blur" }],
 });
 
+// ================= 人员树结构
+const userList = ref([]);
+const queryUserList = () => {
+  getUserTree().then((data) => {
+    userList.value = data.data;
+  });
+};
 const openReportBreakDrawer = () => {
   getProcessInfo(processStore.scanInfo.id).then((res) => {
     processStore.scanInfo.currentState = res.data.currentState;
@@ -225,6 +188,7 @@ const openReportBreakDrawer = () => {
       });
     }
   });
+  queryUserList();
 };
 
 // 报故数量,选择工序号相关. 选择之后获取工序列表