From b1c3b9a3a545a6ed639f25ff093751193be422ea Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期三, 12 八月 2026 17:09:00 +0800
Subject: [PATCH] 上传到分支

---
 src/views/project/externalperson/index.vue |  316 ++++++++++++++--------------------------------------
 1 files changed, 86 insertions(+), 230 deletions(-)

diff --git a/src/views/project/externalperson/index.vue b/src/views/project/externalperson/index.vue
index a7be87d..c818a8a 100644
--- a/src/views/project/externalperson/index.vue
+++ b/src/views/project/externalperson/index.vue
@@ -1,148 +1,64 @@
 <template>
   <div class="app-container">
-    <el-form
-      :model="queryParams"
-      ref="queryForm"
-      :inline="true"
-      v-show="showSearch"
-      label-width="80px"
-    >
-      <el-form-item label="璐﹀彿缂栧彿" prop="userno">
-        <el-input
-          v-model="queryParams.userno"
-          placeholder="璇疯緭鍏ヨ处鍙风紪鍙�"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="璐﹀彿鍚嶇О" prop="username">
-        <el-input
-          v-model="queryParams.username"
-          placeholder="璇疯緭鍏ヨ处鍙峰悕绉�"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="80px">
+
       <el-form-item label="璐﹀彿绫诲埆" prop="usertype">
-        <el-select
-          v-model="queryParams.usertype"
-          placeholder="璇烽�夋嫨璐﹀彿绫诲埆"
-          clearable
-          size="small"
-        >
-          <el-option
-            v-for="dict in dict.type.sys_UserType"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
+        <el-select v-model="queryParams.usertype" placeholder="璇烽�夋嫨璐﹀彿绫诲埆" clearable size="small">
+          <el-option v-for="dict in dict.type.sys_UserType" :key="dict.value" :label="dict.label" :value="dict.value" />
         </el-select>
       </el-form-item>
+      <el-form-item label="璐﹀彿缂栧彿" prop="userno">
+        <el-input v-model="queryParams.userno" placeholder="璇疯緭鍏ヨ处鍙风紪鍙�" clearable size="small"
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="璐﹀彿鍚嶇О" prop="username">
+        <el-input v-model="queryParams.username" placeholder="璇疯緭鍏ヨ处鍙峰悕绉�" clearable size="small"
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="鎵�鍦ㄥ崟浣�" prop="unitname">
+        <el-input v-model="queryParams.unitname" placeholder="璇疯緭鍏ユ墍鍦ㄥ崟浣�" clearable size="small"
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
       <el-form-item>
-        <el-button
-          type="primary"
-          icon="el-icon-search"
-          size="mini"
-          @click="handleQuery"
-          >鎼滅储</el-button
-        >
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
-          >閲嶇疆</el-button
-        >
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
       </el-form-item>
     </el-form>
 
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['project:externalperson:add']"
-          >鏂板</el-button
-        >
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['project:externalperson:add']">鏂板</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['project:externalperson:edit']"
-          >淇敼</el-button
-        >
+        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['project:externalperson:edit']">淇敼</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['project:externalperson:remove']"
-          >鍒犻櫎</el-button
-        >
+        <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['project:externalperson:remove']">鍒犻櫎</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          :loading="exportLoading"
-          @click="handleExport"
-          v-hasPermi="['project:externalperson:export']"
-          >瀵煎嚭</el-button
-        >
+        <el-button type="warning" plain icon="el-icon-download" size="mini" :loading="exportLoading"
+          @click="handleExport" v-hasPermi="['project:externalperson:export']">瀵煎嚭</el-button>
       </el-col>
-      <right-toolbar
-        :showSearch.sync="showSearch"
-        @queryTable="getList"
-      ></right-toolbar>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table
-      v-loading="loading"
-      :data="externalpersonList"
-      @selection-change="handleSelectionChange"
-    >
+    <el-table v-loading="loading" :data="externalpersonList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="璐﹀彿绫诲埆" align="center" prop="usertype">
         <template slot-scope="scope">
-          <dict-tag
-            :options="dict.type.sys_UserType"
-            :value="scope.row.usertype"
-          />
+          <dict-tag :options="dict.type.sys_UserType" :value="scope.row.usertype" />
         </template>
       </el-table-column>
       <el-table-column label="璐﹀彿缂栧彿" align="center" prop="userno" />
       <el-table-column label="璐﹀彿鍚嶇О" align="center" prop="username" />
-      <el-table-column
-        label="韬唤璇佸彿"
-        width="200"
-        align="center"
-        prop="idcardno"
-      />
+      <el-table-column label="韬唤璇佸彿" width="200" align="center" prop="idcardno" />
       <el-table-column label="鑱岀О" align="center" prop="title">
         <template slot-scope="scope">
-          <dict-tag
-            :options="dict.type.sys_professionaltitle"
-            :value="scope.row.title"
-          /> </template
-      ></el-table-column>
-      <el-table-column
-        label="鍗曚綅鍚嶇О"
-        width="250"
-        align="center"
-        prop="unitname"
-      />
+          <dict-tag :options="dict.type.sys_professionaltitle" :value="scope.row.title" /> </template></el-table-column>
+      <el-table-column label="鎵�鍦ㄥ崟浣�" width="250" align="center" prop="unitname" />
       <!--
       <el-table-column label="鎬у埆" align="center" prop="sex">
         <template slot-scope="scope">
@@ -157,68 +73,32 @@
       </el-table-column>
       <el-table-column label="鑱旂郴鐢佃瘽" width="200" align="center" prop="telephone" />
       <el-table-column label="鑱旂郴鍦板潃" width="250" align="center" prop="address" />-->x
-      <el-table-column
-        label="鎿嶄綔"
-        align="center"
-        class-name="small-padding fixed-width"
-      >
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
-          <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)"
-            >鍒犻櫎</el-button
-          >
+          <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)">鍒犻櫎</el-button>
         </template>
       </el-table-column>
     </el-table>
 
-    <pagination
-      v-show="total > 0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
+    <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-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>
-          <el-col :span="12"
-            ><el-form-item label="璐﹀彿绫诲埆" prop="usertype">
+          <el-col :span="12"><el-form-item label="璐﹀彿绫诲埆" prop="usertype">
               <el-select v-model="form.usertype" placeholder="璇烽�夋嫨璐﹀彿绫诲埆">
-                <el-option
-                  v-for="dict in dict.type.sys_UserType"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
-                ></el-option>
+                <el-option v-for="dict in dict.type.sys_UserType" :key="dict.value" :label="dict.label"
+                  :value="dict.value"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="璐﹀彿缂栧彿" prop="userno">
-              <el-input
-                disabled="true"
-                v-model="form.userno"
-                placeholder="璇疯緭鍏ヨ处鍙风紪鍙�"
-              />
+              <el-input disabled="true" v-model="form.userno" placeholder="璇疯緭鍏ヨ处鍙风紪鍙�" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -229,18 +109,11 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item
-              label="鍚敤鐘舵��"
-              prop="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 v-for="dict in dict.type.sys_0_1" :key="dict.value" :label="parseInt(dict.value)">{{
+                  dict.label
+                }}</el-radio>
               </el-radio-group>
             </el-form-item>
           </el-col>
@@ -252,27 +125,17 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row v-if="form.usertype != 'org'"
-          ><el-col :span="12">
+        <el-row v-if="form.usertype != 'org'"><el-col :span="12">
             <el-form-item label="鎬у埆" prop="sex">
               <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
-                <el-option
-                  v-for="dict in dict.type.sys_user_sex"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
-                ></el-option> </el-select
-            ></el-form-item>
+                <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
+                  :value="dict.value"></el-option> </el-select></el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="鑱岀О" prop="title">
               <el-select v-model="form.title" placeholder="璇烽�夋嫨浜哄憳鑱岀О">
-                <el-option
-                  v-for="dict in dict.type.sys_professionaltitle"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
-                ></el-option>
+                <el-option v-for="dict in dict.type.sys_professionaltitle" :key="dict.value" :label="dict.label"
+                  :value="dict.label"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -280,47 +143,25 @@
         <el-row v-if="form.usertype != 'org'">
           <el-col :span="12">
             <el-form-item label="鎵�鍦ㄥ崟浣�" prop="unitname">
-              <el-select
-                v-model="form.unitno"
-                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 v-model="form.unitno" 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">
-              <el-input
-                v-model="form.personnelunitno"
-                placeholder="璇疯緭鍏ユ墍鍦ㄥ崟浣嶇殑宸ュ彿"
-              />
+              <el-input v-model="form.personnelunitno" placeholder="璇疯緭鍏ユ墍鍦ㄥ崟浣嶇殑宸ュ彿" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
-          <el-col :span="24"
-            ><el-form-item label="寮�鎴烽摱琛�" prop="depositbank">
-              <el-input
-                v-model="form.depositbank"
-                placeholder="璇疯緭鍏ュ紑鎴烽摱琛屽悕绉�"
-              />
+          <el-col :span="24"><el-form-item label="寮�鎴烽摱琛�" prop="depositbank">
+              <el-input v-model="form.depositbank" placeholder="璇疯緭鍏ュ紑鎴烽摱琛屽悕绉�" />
             </el-form-item>
           </el-col>
-          <el-col :span="24"
-            ><el-form-item label="閾惰鍗″彿" prop="bankcardno">
-              <el-input
-                v-model="form.bankcardno"
-                placeholder="璇疯緭鍏ラ摱琛屽崱鍙�"
-              />
+          <el-col :span="24"><el-form-item label="閾惰鍗″彿" prop="bankcardno">
+              <el-input v-model="form.bankcardno" placeholder="璇疯緭鍏ラ摱琛屽崱鍙�" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -362,6 +203,7 @@
   addExternalperson,
   updateExternalperson,
   exportExternalperson,
+  getInfoByIDCardNo,
   getOnlyCode
 } from "@/api/project/externalperson";
 
@@ -464,6 +306,7 @@
 
     /** 鏌ヨ鍗曚綅銆佷汉鍛樿处鍙峰垪琛� */
     getList() {
+      /*
       if (
         this.queryParams.username === null ||
         this.queryParams.username.replace(/\s/g, "") == ""
@@ -473,6 +316,7 @@
         );
         return;
       }
+      */
 
       // this.loading = true;
       listExternalperson(this.queryParams).then(response => {
@@ -507,7 +351,7 @@
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
-      console.log("handleQuery", this.queryParams);
+      /*
       if (
         this.queryParams.username === null ||
         this.queryParams.username.replace(/\s/g, "") == ""
@@ -517,6 +361,7 @@
         );
         return;
       }
+      */
 
       this.queryParams.pageNum = 1;
       this.getList();
@@ -566,15 +411,26 @@
               this.getList();
             });
           } else {
-            getOnlyCode(this.seqnoParams).then(res => {
-              this.form.userno = res.data.currentvalue;
+            //妫�鏌ヨ韩浠借瘉鍞竴
+            getInfoByIDCardNo(this.form.idcardno).then(res => {
+              if (res.data.length > 1) {
+                this.$modal.msgWarning("韬唤璇佸彿淇℃伅宸茶鐧昏锛岃妫�鏌ヨ韩浠借瘉鍙凤紒"
+                );
+                return;
+              }
 
-              addExternalperson(this.form).then(response => {
-                this.$modal.msgSuccess("鏂板鎴愬姛");
-                this.open = false;
-                this.queryParams.username = this.form.username;
-                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();
+                });
               });
+
             });
           }
         }
@@ -585,14 +441,14 @@
       const ids = row.id || this.ids;
       this.$modal
         .confirm('鏄惁纭鍒犻櫎浜哄憳/鍗曚綅璐﹀彿淇℃伅缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�')
-        .then(function() {
+        .then(function () {
           return delExternalperson(ids);
         })
         .then(() => {
           this.getList();
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
-        .catch(() => {});
+        .catch(() => { });
     },
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
@@ -607,7 +463,7 @@
           this.$download.name(response.msg);
           this.exportLoading = false;
         })
-        .catch(() => {});
+        .catch(() => { });
     },
 
     //鑾峰彇鍖荤枟鏈烘瀯鍒楄〃

--
Gitblit v1.9.3