From c140987b3ef6fd47e3b795fc3a2c6f880f49f9c2 Mon Sep 17 00:00:00 2001
From: qx <1084500556@qq.com>
Date: 星期三, 12 三月 2025 13:41:28 +0800
Subject: [PATCH] qx

---
 src/views/system/tijianall/index.vue |  271 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 254 insertions(+), 17 deletions(-)

diff --git a/src/views/system/tijianall/index.vue b/src/views/system/tijianall/index.vue
index 5df77de..bbbb03a 100644
--- a/src/views/system/tijianall/index.vue
+++ b/src/views/system/tijianall/index.vue
@@ -1,5 +1,96 @@
 <template>
   <div class="app-container">
+    <el-dialog
+      :title="title"
+      :visible.sync="open1"
+      width="1000px"
+      append-to-body
+    >
+      <el-form
+        ref="form1"
+        :model="form1"
+        :rules="rules1"
+        label-width="100px"
+        :inline="true"
+      >
+        <el-form-item label="鍗曚綅鍚嶇О" prop="cnName">
+          <el-input v-model="form1.cnName" placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�" />
+        </el-form-item>
+        <el-form-item label="鑱旂郴浜�" prop="contactPerson">
+          <el-input v-model="form1.contactPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉" />
+        </el-form-item>
+        <el-form-item label="鑱旂郴鐢佃瘽" prop="contactPhone">
+          <el-input v-model="form1.contactPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
+        </el-form-item>
+        <el-form-item label="绋庡彿" prop="taxNumber">
+          <el-input v-model="form1.taxNumber" placeholder="璇疯緭鍏ョ◣鍙�" />
+        </el-form-item>
+        <el-form-item label="娉曚汉" prop="legalPerson">
+          <el-input v-model="form1.legalPerson" placeholder="璇疯緭鍏ユ硶浜�" />
+        </el-form-item>
+        <el-form-item label="娉ㄥ唽鍦板潃" prop="registerAddress">
+          <el-input
+            v-model="form1.registerAddress"
+            placeholder="璇疯緭鍏ユ敞鍐屽湴鍧�"
+          />
+        </el-form-item>
+        <el-form-item label="閫氳鍦板潃" prop="mailingAddress">
+          <el-input
+            v-model="form1.mailingAddress"
+            placeholder="璇疯緭鍏ラ�氳鍦板潃"
+          />
+        </el-form-item>
+        <el-form-item label="寮�鎴烽摱琛�" prop="bankAccount">
+          <el-input v-model="form1.bankAccount" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" />
+        </el-form-item>
+        <el-form-item label="閾惰璐︽埛" prop="countNum">
+          <el-input v-model="form1.countNum" placeholder="璇疯緭鍏ラ摱琛岃处鎴�" />
+        </el-form-item>
+        <el-form-item label="閭" prop="email">
+          <el-input v-model="form1.email" placeholder="璇疯緭鍏ラ偖绠�" />
+        </el-form-item>
+        <el-form-item label="璐熻矗浜�" prop="principal">
+          <el-input v-model="form1.principal" placeholder="璇疯緭鍏ヨ礋璐d汉" />
+        </el-form-item>
+        <el-form-item label="缃戝潃" prop="url">
+          <el-input v-model="form1.url" placeholder="璇疯緭鍏ョ綉鍧�" />
+        </el-form-item>
+        <el-form-item label="浼犵湡" prop="faxNumber">
+          <el-input v-model="form1.faxNumber" placeholder="璇疯緭鍏ヤ紶鐪�" />
+        </el-form-item>
+        <el-form-item label="琛屾斂鍖哄垝鍚嶇О" prop="areaName">
+          <el-input v-model="form1.areaName" placeholder="璇疯緭鍏ヨ鏀垮尯鍒掑悕绉�" />
+        </el-form-item>
+        <el-form-item label="鎺掑簭" prop="orderNum">
+          <el-input v-model="form1.orderNum" placeholder="璇疯緭鍏ユ帓搴�" />
+        </el-form-item>
+        <el-form-item label="鏈夋晥鏃堕棿" prop="validTime">
+          <el-date-picker
+            clearable
+            v-model="form1.validTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨鏈夋晥鏃堕棿"
+          >
+          </el-date-picker> </el-form-item
+        ><br />
+        <el-form-item label="澶囨敞" prop="remark">
+          <el-input
+            v-model="form1.remark"
+            type="textarea"
+            placeholder="璇疯緭鍏ュ唴瀹�"
+            :rows="2"
+            label-width="400px"
+            style="width: 830px"
+            resize="none"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer2">
+        <el-button type="primary" @click="submitFormS">纭� 瀹�</el-button>
+        <el-button @click="cancel1">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
     <el-row>
       <el-col :span="18">
         <div>
@@ -29,6 +120,7 @@
               ]"
             >
               <el-input
+              @input="form.cusName = $event.replace(/\s/g, '')"
                 v-model="form.cusName"
                 placeholder="璇疯緭鍏ュ鍚�"
                 style="width: 99%"
@@ -88,8 +180,9 @@
                   trigger: 'blur',
                 },
               ]"
-            >
-              <el-input v-model="form.cusPhone" placeholder="璇疯緭鍏ョ數璇�" />
+            > 
+              
+              <el-input v-model="form.cusPhone" placeholder="璇疯緭鍏ョ數璇�"   @input="form.cusPhone = $event.replace(/\s/g, '')"/>
             </el-form-item>
 
             <el-form-item label="濠氬Щ" prop="cusMarryStatus">
@@ -133,7 +226,9 @@
               <el-input
                 v-model="form.cusIdcard"
                 placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�"
-                @input="inputChange"
+                @input="handleIdCardInput"
+                style="width: 190px"
+                
               />
               <!-- <i
                 style="font-size: 17px; margin-left: 3px"
@@ -151,14 +246,15 @@
             label-width="106px"
           >
             <el-form-item label="閭" prop="cusEmail">
-              <el-input v-model="form.cusEmail" placeholder="璇疯緭鍏ラ偖绠�" />
+          
+              <el-input v-model="form.cusEmail" placeholder="璇疯緭鍏ラ偖绠�"      @input="form.cusEmail = $event.replace(/\s/g, '')"/>
             </el-form-item>
             <el-form-item label="姘戞棌" prop="cusNational">
               <el-select
                 filterable
                 v-model="form.cusNational"
                 placeholder="璇烽�夋嫨姘戞棌"
-                style="width: 93%"
+                style="width: 94%"
               >
                 <el-option
                   v-for="dict in dict.type.dict_user_national"
@@ -178,7 +274,7 @@
               <el-select
                 :disabled="isDisabled"
                 v-model="form.ageUnit"
-                style="width: 20%"
+                style="width: 19%"
               >
                 <el-option
                   v-for="dict in dict.type.dict_ageunit"
@@ -198,11 +294,10 @@
             label-width="106px"
           >
             <el-form-item label="鍗″彿" prop="indexCard">
-              <el-input v-model="form.indexCard" placeholder="璇疯緭鍏ュ崱鍙�" />
+              <el-input v-model="form.indexCard" placeholder="璇疯緭鍏ュ崱鍙�"   @input="form.indexCard = $event.replace(/\s/g, '')"/>
             </el-form-item>
             <el-form-item label="鑱屼笟" prop="career">
               <el-select
-                filterable
                 :disabled="isDisabled"
                 v-model="form.career"
                 placeholder="璇疯緭鍏ヨ亴涓�"
@@ -240,14 +335,33 @@
             :rules="rules"
             label-width="106px"
           >
-            <el-form-item label="鍗曚綅" prop="company">
-              <el-input v-model="form.company" placeholder="璇疯緭鍏ュ伐浣滃崟浣�" />
+            <el-form-item label="鍗曚綅鍚嶇О" prop="compName">
+              <el-select
+                :disabled="isDisabled"
+                v-model="form.compName"
+                remote
+                default-first-option
+                allow-create
+                filterable
+                style="width: 200px"
+                placeholder="璇烽�夋嫨鍗曚綅鍚嶇О"
+                clearable
+                @change="idFn1"
+              >
+                <el-option
+                  v-for="dict in CompanyList"
+                  :key="dict.cnName"
+                  :label="dict.cnName"
+                  :value="dict.cnName"
+                />
+              </el-select>
+              <!-- <i class="el-icon-circle-plus-outline" @click="handleAdd1"></i> -->
             </el-form-item>
-            <el-form-item label="浣撴绫诲埆" prop="category">
+            <el-form-item label="浣撴绫诲埆" prop="category" label-width="95px">
               <el-select
                 v-model="form.category"
                 placeholder="璇烽�夋嫨浣撴绫诲埆"
-                style="width: 95%"
+                style="width: 94%"
               >
                 <el-option
                   v-for="dict in dict.type.dict_tjtype"
@@ -259,7 +373,11 @@
               <!-- <el-input v-model="form.category" placeholder="璇疯緭鍏ヤ綋妫�绫诲埆" /> -->
             </el-form-item>
             <el-form-item label="閮ㄩ棬" prop="department">
-              <el-input v-model="form.department" placeholder="璇疯緭鍏ラ儴闂�" />
+              <el-input
+                v-model="form.department"
+                placeholder="璇疯緭鍏ラ儴闂�"
+                style="width: 93%"
+              />
             </el-form-item>
           </el-form>
           <el-form
@@ -711,7 +829,7 @@
             <el-form
               :model="form"
               :inline="true"
-              label-width="100px"
+              label-width="104px"
               style="margin-left: 10px"
             >
               <el-form-item label="搴旀敹閲戦" style="margin-right: 20px">
@@ -726,14 +844,15 @@
                 <el-input-number style="width: 140px" v-model="discount" :precision="2" :step="0.1" :max="10" :min="1"
                   @change="numberChange" :disabled="isfalse"></el-input-number>
               </el-form-item> -->
-              <el-form-item label="瀹炴敹閲戦">
+              <el-form-item label="瀹炴敹閲戦" label-width="96px">
                 <el-input
                   placeholder="瀹炴敹閲戦"
                   v-model="TotalPrice"
                   disabled
+                  style="width: 192px"
                 ></el-input>
               </el-form-item>
-              <el-form-item>
+              <el-form-item style="margin-left: 50px">
                 <el-button type="primary" @click="Package" size="mini"
                   >閫夋嫨濂楅</el-button
                 >
@@ -996,6 +1115,7 @@
 } from "@/api/system/tijian";
 import VTreeTransfer from "../tijian/TreeTransfer.vue";
 import historyTj from "@/components/historyTj/index";
+import { getCompany, queryCompany } from "@/api/team/tuanti";
 export default {
   components: {
     VTreeTransfer,
@@ -1052,6 +1172,23 @@
     //   }
     // };
     return {
+      rules1: {
+        cnName: [{ required: true, trigger: "blur" }],
+        contactPerson: [{ required: true, trigger: "blur" }],
+        contactPhone: [
+          {
+            required: true,
+            trigger: "blur",
+          },
+          {
+            pattern: /^1[3-9]\d{9}$/,
+            trigger: "blur",
+          },
+        ],
+      },
+      title: "",
+      open1: false,
+      CompanyList: [],
       marryall: 0,
       marryalls: 0,
       filterText: "",
@@ -1211,6 +1348,14 @@
 
       // 琛ㄥ崟鍙傛暟
       // 琛ㄥ崟鍙傛暟
+      form1: {
+        company: "",
+        payType: "",
+        name: "",
+        phoe: "",
+        signingPic: "",
+        discount: "",
+      },
       form: {
         cusIdcard: "",
         tjType: "3",
@@ -1277,10 +1422,90 @@
     },
   },
   created() {
+    this.getCompanyList();
+
     this.getList1();
     console.log(this.dict.type.dict_team, 999);
   },
   methods: {
+    getCompanyList() {
+      this.loading = true;
+      getconfigKey("team_reservation_default_day").then((res) => {
+        this.queryParams.yxts = res.msg;
+      });
+      getCompany(this.queryParam).then((response) => {
+        this.CompanyList = response.data;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    cancel1() {
+      this.open1 = false;
+      this.reset1();
+    },
+    submitFormS() {
+      this.$refs["form1"].validate((valid) => {
+        if (valid) {
+          addComp(this.form1).then((response) => {
+            this.$modal.msgSuccess("鏂板鎴愬姛");
+            this.open1 = false;
+            this.getCompanyList();
+          });
+        }
+      });
+    },
+    reset1() {
+      this.form1 = {
+        company: "",
+        payType: "",
+        name: "",
+        phoe: "",
+        signingPic: "",
+        discount: "",
+      };
+    },
+    handleAdd1() {
+      this.reset1();
+      this.open1 = true;
+      this.title = "娣诲姞浣撴鍗曚綅淇℃伅缁存姢";
+    },
+    idFn1(value) {
+      if (value) {
+        // 淇濆瓨淇敼鍓嶇殑 dictCompId
+        const originalCompId = this.form.dictCompId;
+
+        // 鏇存柊鍏徃鍚嶇О
+        this.form.compName = value;
+
+        // 閬嶅巻鍏徃鍒楄〃锛屾牴鎹叕鍙稿悕绉拌缃搴旂殑 drugManufacturerId
+        this.CompanyList.forEach((item) => {
+          if (item.cnName == this.form.compName) {
+            this.form.dictCompId = item.drugManufacturerId;
+          }
+        });
+
+        // 濡傛灉 dictCompId 娌℃湁鍙樺寲锛岄噸缃负绌�
+        if (this.form.dictCompId === originalCompId) {
+          this.form.dictCompId = '';
+        }
+      }
+    },
+
+    getRemoteData(query) {
+      if (query) {
+        let compName = query;
+        queryCompany(compName).then((response) => {
+          this.CompanyList = response.data;
+          this.CompanyList.forEach((item) => {
+            this.objs = item;
+          });
+        });
+      }
+    },
+    handleIdCardInput(value) {
+  this.form.cusIdcard = value.replace(/\s/g, '');
+  this.inputChange(); // 淇濈暀鍘熸湁鐨勮韩浠借瘉杈撳叆澶勭悊閫昏緫
+},
     inputChange() {
       const reg =
         /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
@@ -1577,6 +1802,12 @@
               if (this.form.tjType == null) {
                 this.form.tjType = 2;
               }
+              if (this.form.cusMarryStatus === "null") {
+                this.form.cusMarryStatus = "5";
+              }
+              if (this.form.cusNational === "null") {
+                this.form.cusNational = "1";
+              }
               this.loading = false;
               if (this.form) {
                 _this.tcShow = true;
@@ -1743,7 +1974,7 @@
           this.imageUrl = "data:image/jpeg;base64," + resultObj.data.img;
         }
       } else {
-        this.$message.warning("鏈煡鍒扮敤鎴蜂俊鎭�");
+        this.$message.warning("璇锋斁缃韩浠借瘉鍚庡啀鐐瑰嚮璇诲彇");
       }
       /* else if (resultObj.resultFlag == "-1") {
           if (resultObj.errorMsg == "绔彛鎵撳紑澶辫触") {
@@ -2848,6 +3079,12 @@
   display: flex;
   flex-direction: column;
 }
+.dialog-footer2 {
+  width: 960px;
+  height: 36px;
+  display: flex;
+  justify-content: center;
+}
 </style>
   
   
\ No newline at end of file

--
Gitblit v1.8.0