From d1958c0d72946b04b7949eee1a28c06430a73874 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期四, 13 六月 2024 10:59:23 +0800
Subject: [PATCH] bug修改

---
 src/layout/components/Register/index.vue                                  |    4 +
 src/views/safetyReview/projectSupplement/components/supplemenrtDialog.vue |   63 +++++++++++++--------
 src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue |   54 +++++++++++-------
 3 files changed, 76 insertions(+), 45 deletions(-)

diff --git a/src/layout/components/Register/index.vue b/src/layout/components/Register/index.vue
index de6d5b9..e419bde 100644
--- a/src/layout/components/Register/index.vue
+++ b/src/layout/components/Register/index.vue
@@ -615,6 +615,10 @@
 }
 
 const changeAttr=()=>{
+  state.registerForm.agency.area = []
+  state.registerForm.agency.province = ''
+  state.registerForm.agency.city = ''
+  state.registerForm.agency.district  = ''
   getArea()
 }
 
diff --git a/src/views/safetyReview/projectSupplement/components/supplemenrtDialog.vue b/src/views/safetyReview/projectSupplement/components/supplemenrtDialog.vue
index 1ec4eb6..ef6fed9 100644
--- a/src/views/safetyReview/projectSupplement/components/supplemenrtDialog.vue
+++ b/src/views/safetyReview/projectSupplement/components/supplemenrtDialog.vue
@@ -9,12 +9,12 @@
       <el-form :model="state.form" size="default" ref="suppleRef" :rules="state.formRules" label-width="110px" >
         <el-form-item label="所属机构:"  prop="agencyId">
           <el-input v-if="isAgency" v-model="state.agencyName" disabled></el-input>
-          <el-select v-model="state.form.agencyId" v-else style="width: 100%" :disabled="isReview" v-loadMore="loadMore" class="m-2" placeholder="请选择机构" popper-class="more_select_dropdown"   >
+          <el-select v-model="state.form.agencyName"  v-else style="width: 100%" @change="selectValue" :disabled="isReview" v-loadMore="loadMore" class="m-2" placeholder="请选择机构" popper-class="more_select_dropdown"   >
             <el-option
                 v-for="item in state.agencyList"
                 :key="item.id"
                 :label="item.name"
-                :value="item.id"
+                :value="item.name"
             />
           </el-select>
         </el-form-item>
@@ -118,8 +118,10 @@
   agencyId: '',
   agencyList: [],
   pageNum: 1,
-  pageSize: 10
+  pageSize: 10,
+  agency: {
 
+  }
 })
 
 const isAgency = ref(false);
@@ -130,7 +132,7 @@
     state.form.agencyId = userInfo.agentId;
     isAgency.value = true;
   } else {
-    getAgency()
+    getAgency('open')
   }
 }
 const openDialog = async (type, value) => {
@@ -151,6 +153,8 @@
           name: item.originName,
         }
       })
+      state.agency.id = res.data.agencyId;
+      state.agency.name = res.data.agencyName
       console.log('state.fileList',state.form)
     }else{
       ElMessage.warning(res.message)
@@ -354,27 +358,38 @@
 }
 
 const finshed = ref(false)
-const getAgency = async () => {
-  const queryParams = {
-    pageNum: state.pageNum,
-    pageSize: state.pageSize,
-  }
-  const res = await getInsitutionList(queryParams)
-  if(res.code == 200){
-    if(res.data.pageNum === state.pageNum){
-      finshed.value = false;
-      if(state.pageNum == 1){
-        state.agencyList = res.data.list
-      }else {
-        state.agencyList =state.agencyList .concat(res.data.list)
-      }
-    }else {
-      finshed.value = true;
-    }
+const getAgency = async (type) => {
+  if (type === 'open' && state.pageNum !== 1) {
 
-  }else{
-    ElMessage.warning(res.message)
+  } else {
+    const queryParams = {
+      pageNum: state.pageNum,
+      pageSize: state.pageSize,
+    }
+    const res = await getInsitutionList(queryParams)
+    if(res.code == 200){
+      if(res.data.pageNum === state.pageNum){
+        finshed.value = false;
+        if(state.pageNum == 1){
+          state.agencyList = res.data.list
+        }else {
+          state.agencyList =state.agencyList .concat(res.data.list)
+        }
+      }else {
+        finshed.value = true;
+      }
+    }else{
+      ElMessage.warning(res.message)
+    }
   }
+}
+const selectValue = (val) => {
+  state.agencyList.forEach(item => {
+    if(item.name === val){
+      state.form.agencyId = item.id
+    }
+  })
+
 }
 //触底函数
 const loadMore = () => {
@@ -383,7 +398,7 @@
   setTimeout(() => {
     if (finshed.value) return //值为true,则代表没有数据了
     state.pageNum += 1
-    getAgency()
+    getAgency('')
   }, 500)
 }
 
diff --git a/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue b/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue
index ca97e72..0948596 100644
--- a/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue
+++ b/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue
@@ -40,12 +40,12 @@
                     <el-col :span="11">
                         <el-form-item label="所属机构:"  prop="agencyId" v-if="state.title !== '修改密码'">
                             <el-input v-if="isAgency" v-model="state.agencyName" disabled></el-input>
-                            <el-select v-model="state.form.agencyId" v-else style="width: 100%" v-loadMore="loadMore" class="m-2" placeholder="请选择机构" popper-class="more_select_dropdown"   >
+                            <el-select v-model="state.form.agencyName" @change="selectValue" v-else style="width: 100%" v-loadMore="loadMore" class="m-2" placeholder="请选择机构" popper-class="more_select_dropdown"   >
                                 <el-option
                                     v-for="item in state.agencyList"
                                     :key="item.id"
                                     :label="item.name"
-                                    :value="item.id"
+                                    :value="item.name"
                                 />
                             </el-select>
                         </el-form-item>
@@ -404,7 +404,7 @@
     console.log("attribute", attribute.value)
 
   } else {
-    getAgency()
+    getAgency('open')
   }
 }
 
@@ -421,7 +421,7 @@
         const res = await getUserById(param);
         if(res.code == 200){
             state.form = res.data
-          // debugger
+          state.form.agencyName = res.data.agency.name
             state.socialList = res.data.socialAttach.map(url => {
                 return {
                     url:  import.meta.env.VITE_APP_BASE_API +'/'+url.path,
@@ -457,7 +457,7 @@
                 })
               }
               state.form.majorShow = arr;
-              console.log(state.form.majorShow,'certificateList')
+              console.log(state.form,'certificateList')
             }
 
         }else{
@@ -755,27 +755,31 @@
     }
 }
 const finshed = ref(false)
-const getAgency = async () => {
+const getAgency = async (type) => {
+  if (type === 'open' && state.pageNum !== 1) {
+
+  } else {
     const queryParams = {
-        pageNum: state.pageNum,
-        pageSize: state.pageSize,
+      pageNum: state.pageNum,
+      pageSize: state.pageSize,
     }
     const res = await getInsitutionList(queryParams)
-    if(res.code == 200){
-        if(res.data.pageNum === state.pageNum){
-            finshed.value = false;
-            if(state.pageNum == 1){
-                state.agencyList = res.data.list
-            }else {
-                state.agencyList =state.agencyList .concat(res.data.list)
-            }
-        }else {
-            finshed.value = true;
+    if (res.code == 200) {
+      if (res.data.pageNum === state.pageNum) {
+        finshed.value = false;
+        if (state.pageNum == 1) {
+          state.agencyList = res.data.list
+        } else {
+          state.agencyList = state.agencyList.concat(res.data.list)
         }
+      } else {
+        finshed.value = true;
+      }
 
-    }else{
-        ElMessage.warning(res.message)
+    } else {
+      ElMessage.warning(res.message)
     }
+  }
 }
 
 
@@ -786,7 +790,7 @@
     setTimeout(() => {
       if (finshed.value) return //值为true,则代表没有数据了
       state.pageNum += 1
-      getAgency()
+      getAgency('')
     }, 500)
 }
 
@@ -795,6 +799,14 @@
     // state.form.selectMajorList= val;
     console.log('选中的xxxx',val)
 }
+const selectValue = (val) => {
+  state.agencyList.forEach(item => {
+    if(item.name === val){
+      state.form.agencyId = item.id
+    }
+  })
+
+}
 
 defineExpose({
     openDialog

--
Gitblit v1.9.2