From d5786ed5bcb549ad4ea37437b2acc48d0bac9413 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 21 二月 2024 16:05:50 +0800
Subject: [PATCH] 11

---
 src/views/project/externalperson/index.vue |  111 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 90 insertions(+), 21 deletions(-)

diff --git a/src/views/project/externalperson/index.vue b/src/views/project/externalperson/index.vue
index 5e6b2eb..995715b 100644
--- a/src/views/project/externalperson/index.vue
+++ b/src/views/project/externalperson/index.vue
@@ -73,7 +73,7 @@
           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
             v-hasPermi="['project:externalperson:edit']">淇敼</el-button>
           <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
-            v-hasPermi="['project:externalperson:remove']">鍒犻櫎</el-button>
+            >鍒犻櫎</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -81,7 +81,7 @@
     <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
       @pagination="getList" />
 
-    <!-- 娣诲姞鎴栦慨鏀瑰鍥村崟浣嶄汉鍛樺璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀逛汉鍛�/鍗曚綅璐﹀彿淇℃伅瀵硅瘽妗� -->
     <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
         <el-row>
@@ -93,7 +93,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="璐﹀彿缂栧彿" prop="userno">
-              <el-input v-model="form.userno" placeholder="璇疯緭鍏ヨ处鍙风紪鍙�" /> </el-form-item>
+              <el-input disabled=true v-model="form.userno" placeholder="璇疯緭鍏ヨ处鍙风紪鍙�" /> </el-form-item>
           </el-col>
         </el-row>
         <el-row>
@@ -102,8 +102,8 @@
               <el-input v-model="form.username" placeholder="璇疯緭鍏ヨ处鍙峰悕绉�" /> </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="鍚敤鐘舵��" prop="userstatus">
-              <el-radio-group v-model="form.userstatus" :disabled="ismanager==false">
+            <el-form-item label="鍚敤鐘舵��" prop="userstatus" :disabled="ismanager == false">
+              <el-radio-group v-model="form.userstatus">
                 <el-radio v-for="dict in dict.type.sys_0_1" :key="dict.value" :label="parseInt(dict.value)">{{ dict.label
                 }}</el-radio>
               </el-radio-group>
@@ -133,7 +133,11 @@
         <el-row v-if="form.usertype != 'org'">
           <el-col :span="12">
             <el-form-item label="鎵�鍦ㄥ崟浣�" prop="unitname">
-              <el-input v-model="form.unitname" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�" /> </el-form-item>
+              <el-select v-model="form.unitname" placeholder="鎵�鍦ㄥ崟浣�" clearable filterable allow-create style="width: 100%">
+                <el-option v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname"
+                  :value="spec.organizationid"></el-option>
+              </el-select>
+            </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="鍗曚綅宸ュ彿" prop="personnelunitno">
@@ -186,7 +190,16 @@
   addExternalperson,
   updateExternalperson,
   exportExternalperson,
+  getOnlyCode,
 } from "@/api/project/externalperson";
+
+import {
+  listOrganization,
+  getOrganization,
+  listReportname,
+  listUser
+} from "@/api/project/organization";
+
 import { getUserProfile } from "@/api/system/user";
 
 export default {
@@ -195,7 +208,7 @@
   data() {
     return {
       // 閬僵灞�
-      loading: true,
+      loading: false,
       // 瀵煎嚭閬僵灞�
       exportLoading: false,
       // 閫変腑鏁扮粍
@@ -210,6 +223,9 @@
       total: 0,
       // 澶栧洿鍗曚綅浜哄憳琛ㄦ牸鏁版嵁
       externalpersonList: [],
+
+      //鍖荤枟鏈烘瀯鍒楄〃
+      unitList: [],
       // 寮瑰嚭灞傛爣棰�
       title: "",
       // 鏄惁鏄剧ず寮瑰嚭灞�
@@ -222,17 +238,41 @@
         username: null,
         usertype: null,
       },
+
+      // 鏌ヨ鏈�鏂板簭鍙峰弬鏁�
+      seqnoParams: {
+        businessType: "externalperson",
+        datequery: false,
+      },
       // 琛ㄥ崟鍙傛暟
       form: {},
       // 琛ㄥ崟鏍¢獙
-      rules: {},
+      rules: {
+        usertype: [
+          { required: true, message: "璇疯緭鍏ヨ处鎴风被鍨�", trigger: "blur" }
+        ],
+        username: [
+          { required: true, message: "璇疯緭鍏ヨ处鎴峰悕绉�", trigger: "blur" }
+        ],
+        idcardno: [
+          { required: true, message: "璇疯緭鍏ヨ韩浠借瘉鍙风爜", trigger: "blur" }
+        ],
+        bankcardno: [
+          { required: true, message: "璇疯緭鍏ラ摱琛岃处鍙�", trigger: "blur" }
+        ],
+        depositbank: [
+          { required: true, message: "璇疯緭鍏ュ紑鎴烽摱琛�", trigger: "blur" }
+        ]
+      },
       //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳
       ismanager: false,
     };
   },
   created() {
     this.getUserProfile();
-    this.getList();
+    this.getUnitList();
+    // 榛樿涓嶆墦寮�
+    // this.getList();
   },
   methods: {
     //鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
@@ -250,13 +290,18 @@
       });
     },
 
-    /** 鏌ヨ澶栧洿鍗曚綅浜哄憳鍒楄〃 */
+    /** 鏌ヨ鍗曚綅銆佷汉鍛樿处鍙峰垪琛� */
     getList() {
-      this.loading = true;
+      if (this.queryParams.username === null || this.queryParams.username.replace(/\s/g, '') == "") {
+        this.$modal.msgWarning("鏌ユ壘璐︽埛鏃讹紝璐︽埛鍚嶇О涓嶈兘涓虹┖锛岃杈撳叆璐︽埛鍚嶇О锛�");
+        return;
+      }
+
+      // this.loading = true;
       listExternalperson(this.queryParams).then((response) => {
         this.externalpersonList = response.rows;
         this.total = response.total;
-        this.loading = false;
+        // this.loading = false;
       });
     },
     // 鍙栨秷鎸夐挳
@@ -285,6 +330,12 @@
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
+      console.log("handleQuery", this.queryParams);
+      if (this.queryParams.username === null || this.queryParams.username.replace(/\s/g, '') == "") {
+        this.$modal.msgWarning("涓洪檺鍒舵壒閲忔煡鎵捐处鎴蜂俊鎭紝闄愬埗璐︽埛鍚嶇О涓哄繀杈撻」锛岃杈撳叆璐︽埛鍚嶇О鍚庡啀鎼滅储锛�");
+        return;
+      }
+
       this.queryParams.pageNum = 1;
       this.getList();
     },
@@ -303,7 +354,7 @@
     handleAdd() {
       this.reset();
       this.open = true;
-      this.title = "娣诲姞澶栧洿鍗曚綅浜哄憳";
+      this.title = "娣诲姞浜哄憳/鍗曚綅璐﹀彿淇℃伅";
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
@@ -312,7 +363,7 @@
       getExternalperson(id).then((response) => {
         this.form = response.data;
         this.open = true;
-        this.title = "浜哄憳淇℃伅淇敼";
+        this.title = "浜哄憳/鍗曚綅璐﹀彿淇℃伅淇敼";
       });
     },
     /** 鎻愪氦鎸夐挳 */
@@ -323,14 +374,19 @@
             updateExternalperson(this.form).then((response) => {
               this.$modal.msgSuccess("淇敼鎴愬姛");
               this.open = false;
+              this.queryParams.username = this.form.username;
               this.getList();
             });
           } else {
-            addExternalperson(this.form).then((response) => {
-              console.log("addExternalperson", response);
-              this.$modal.msgSuccess("鏂板鎴愬姛");
-              this.open = false;
-              this.getList();
+            getOnlyCode(this.seqnoParams).then((res) => {
+              this.form.userno = res.data.currentvalue;
+
+              addExternalperson(this.form).then((response) => {
+                this.$modal.msgSuccess("鏂板鎴愬姛");
+                this.open = false;
+                this.queryParams.username = this.form.username;
+                this.getList();
+              });
             });
           }
         }
@@ -340,7 +396,7 @@
     handleDelete(row) {
       const ids = row.id || this.ids;
       this.$modal
-        .confirm('鏄惁纭鍒犻櫎澶栧洿鍗曚綅浜哄憳缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�')
+        .confirm('鏄惁纭鍒犻櫎浜哄憳/鍗曚綅璐﹀彿淇℃伅缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�')
         .then(function () {
           return delExternalperson(ids);
         })
@@ -354,7 +410,7 @@
     handleExport() {
       const queryParams = this.queryParams;
       this.$modal
-        .confirm("鏄惁纭瀵煎嚭鎵�鏈夊鍥村崟浣嶄汉鍛樻暟鎹」锛�")
+        .confirm("鏄惁纭瀵煎嚭鎵�鏈変汉鍛�/鍗曚綅璐﹀彿淇℃伅鏁版嵁椤癸紵")
         .then(() => {
           this.exportLoading = true;
           return exportExternalperson(queryParams);
@@ -365,6 +421,19 @@
         })
         .catch(() => { });
     },
+
+    //鑾峰彇鍖荤枟鏈烘瀯鍒楄〃
+    getUnitList() {
+      listOrganization(3).then(response => {
+        for (let i = 0; i < response.rows.length; i++) {
+          this.unitList.push({
+            //organizationid: response.rows[i].organizationid,
+            organizationid: response.rows[i].id,
+            organizationname: response.rows[i].organizationname
+          });
+        }
+      });
+    },
   },
 };
 </script>

--
Gitblit v1.9.3