From dfc1da68ecd0ce95e63ae085ff33e084b8f50a5f Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期五, 04 七月 2025 14:00:09 +0800
Subject: [PATCH] 修改

---
 src/views/build/conpanyFunctionConsult/qualityObjectives/reportsituation/components/stationCompanyDialog.vue |   91 +++++++++++++++++++++------------------------
 1 files changed, 43 insertions(+), 48 deletions(-)

diff --git a/src/views/build/conpanyFunctionConsult/qualityObjectives/reportsituation/components/stationCompanyDialog.vue b/src/views/build/conpanyFunctionConsult/qualityObjectives/reportsituation/components/stationCompanyDialog.vue
index e0825a4..b7839d9 100644
--- a/src/views/build/conpanyFunctionConsult/qualityObjectives/reportsituation/components/stationCompanyDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/qualityObjectives/reportsituation/components/stationCompanyDialog.vue
@@ -11,26 +11,14 @@
       <el-form :model="state.form" size="default" ref="busRef" :rules="state.rules"   label-width="120" >
         <el-row :gutter="24">
           <el-col :span="24">
-            <el-form-item label="企业名称:" prop="companyName" v-if="state.isAdmin">
-              <el-select
-                  v-model="state.form.companyName"
-                  filterable
-                  remote
-                  :disabled="title == '查看' || title == '编辑' || !state.isAdmin"
-                  @change="selectValueCom"
-                  reserve-keyword
-                  placeholder="请输入企业名称"
-                  remote-show-suffix
-                  :remote-method="getCompanyList"
-                  style="width: 100%"
-
-              >
+            <el-form-item label="企业名称:" prop="companyId" v-if="state.isAdmin">
+              <el-select v-model="state.form.companyId" placeholder="请选择" clearable style="width: 100%" :disabled="title == '查看' || title == '编辑' || !state.isAdmin" @change="selectValueCom">
                 <el-option
                     v-for="item in state.companyList"
                     :key="item.id"
                     :label="item.name"
-                    :value="item.name"
-                />
+                    :value="item.id">
+                </el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -109,24 +97,13 @@
         </el-row>
         <el-row :gutter="24">
           <el-col :span="12">
-            <el-form-item :label="state.type == 1 ? '公司负责人:' : '部门负责人:'" prop="chargeName" >
-              <el-select
-                  :disabled="title === '查看'"
-                  v-model="state.form.chargeName"
-                  filterable
-                  remote
-                  @change="selectValue"
-                  reserve-keyword
-                  placeholder="请输入人员名称"
-                  remote-show-suffix
-                  :remote-method="getPeopleList"
-                  style="width: 240px"
-              >
+            <el-form-item :label="state.type == 1 ? '公司负责人:' : '部门负责人:'" prop="chargeId" >
+              <el-select clearable v-model="state.form.chargeId" :disabled="title =='查看'" filterable  style="width: 100%">
                 <el-option
                     v-for="item in state.peopleList"
                     :key="item.id"
                     :label="item.name"
-                    :value="item.name"
+                    :value="item.id"
                 />
               </el-select>
             </el-form-item>
@@ -183,10 +160,10 @@
     qualityTargets:[],
   },
   rules: {
-    companyName: [{ required: true, message: '请选择企业', trigger: 'blur' }],
+    companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
     qualityId: [{ required: true, message: '请选择质量目标', trigger: 'blur' }],
     serial: [{ required: true, message: '请输入序号', trigger: 'blur' }],
-    chargeName: [{ required: true, message: '请选择负责人', trigger: 'blur' }],
+    chargeId: [{ required: true, message: '请选择负责人', trigger: 'blur' }],
     chargeTime: [{ required: true, message: '请选择日期', trigger: 'blur' }],
     accomplish:[{ required: true, message: '请输入质量目标完成情况', trigger: 'blur' }],
     frequency:[{ required: true, message: '请选择考核时机', trigger: 'blur' }],
@@ -222,7 +199,7 @@
 
 
 });
-const openDialog = async (type, isCom, value) => {
+const openDialog = async (type, isCom, value,companyList) => {
 
   const userInfo = JSON.parse(Cookies.get('userInfo'))
   state.isAdmin = userInfo.userType === 0;
@@ -232,6 +209,7 @@
   if(state.isAdmin){
     state.form.companyId = value.companyId
     state.form.companyName = value.companyName
+    state.companyList = companyList
   }
   await getQualityList()
   title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
@@ -239,6 +217,8 @@
     state.form = JSON.parse(JSON.stringify(value));
     chooseQuality(state.form.qualityId)
   }
+
+  await   getPeopleList()
   dialogVisible.value = true;
 }
 
@@ -328,21 +308,22 @@
   state.companyList = []
   state.qualityList = []
 }
-const getPeopleList = async (val)=>{
-  if(val != ""){
-    const queryParams = {
-      companyId: state.form.companyId,
-      name: val
-    }
-    const res = await getUser(queryParams)
-    if (res.code == 200) {
-      state.peopleList = res.data.list
-
-    } else {
-      ElMessage.warning(res.message)
-    }
+const getPeopleList = async ()=> {
+  if(state.isAdmin && (state.form.companyId == 0 || state.form.companyId == null)){
+    return
   }
-}
+  const queryParams = {
+    pageNum: 1,
+    pageSize: 9999,
+    companyId: state.form.companyId
+  }
+  const res = await getUser(queryParams)
+  if(res.code == 200){
+    state.peopleList = res.data.list?res.data.list:[]
+  }else{
+    ElMessage.warning(res.message)
+  }
+};
 const selectValue = (val) => {
   state.peopleList.forEach(item => {
     if(item.name === val){
@@ -371,15 +352,18 @@
   state.qualityList = []
   state.form.qualityTargets = []
   state.message = ''
+  state.form.chargeId = null
+  state.form.chargeName = ''
   state.companyList.forEach(item => {
     if(item.name === val){
       state.form.companyId = item.id
     }
   })
   getQualityList()
+  getPeopleList()
 }
 const getCompanyList = async (val)=>{
-  if(val != ""){
+  if(val){
     const queryParams = {
       name: val
     }
@@ -390,6 +374,17 @@
     } else {
       ElMessage.warning(res.message)
     }
+  }else {
+    const queryParams = {
+      pageSize: 999,
+      pageNum: 1,
+    }
+    const res = await getCompany(queryParams)
+    if (res.code == 200) {
+      state.companyList = res.data.list
+    } else {
+      ElMessage.warning(res.message)
+    }
   }
 }
 defineExpose({

--
Gitblit v1.9.2