From 84a9297d616a8db97330e3daa6b92974bb738fa5 Mon Sep 17 00:00:00 2001
From: lkk <364857242@qq.com>
Date: 星期一, 28 七月 2025 16:38:30 +0800
Subject: [PATCH] 1

---
 src/views/system/tijian/index.vue |  225 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 143 insertions(+), 82 deletions(-)

diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue
index 602e058..01c0f03 100644
--- a/src/views/system/tijian/index.vue
+++ b/src/views/system/tijian/index.vue
@@ -181,7 +181,7 @@
                 trigger: 'blur',
               },
             ]">
-              <el-input v-model="form.cusPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" :disabled="isDisabled"
+              <el-input v-model="form.cusPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" :disabled="isDisabled" maxlength="11"
                 @input="form.cusPhone = $event.replace(/\s/g, '')" />
             </el-form-item>
 
@@ -248,7 +248,7 @@
                 <el-button v-show="lishi" type="primary" @click="cope" size="mini">涓�閿鍒�</el-button>
                 <el-button type="primary" @click="inputChanges" v-show="lishi" size="mini"
                   :disabled="confirm">鍘嗗彶浣撴璁板綍</el-button>
-                <el-button :disabled="isDisabled" type="primary" size="mini" @click="submitForm">鐧昏</el-button>
+                <el-button :disabled="butopen" type="primary" size="mini" @click="submitForm">鐧昏</el-button>
                 <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" @queryTable="getList">閲嶇疆</el-button>
               </div>
             </el-col>
@@ -284,8 +284,9 @@
     <el-dialog title="閫夋嫨濂楅" :visible.sync="taocan" width="70%" height="700px" :close-on-click-modal="false">
       <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" v-model="activeNames"
         @tab-click="handleClick">
-        <el-tab-pane label="濂楅" name="first">
-          <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-if="showSearch" label-width="auto" @submit.native.prevent="handle">
+        <el-tab-pane label="濂楅" name="first" :disabled ="form.sftj == 'Y'|| form.sftj == 'y'">
+          <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-if="showSearch" label-width="auto"
+            @submit.native.prevent="handle">
             <el-form-item label="濂楅鍚嶇О" prop="pacName">
               <el-input v-model="queryParam.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" clearable @keyup.enter.native="handle" />
             </el-form-item>
@@ -305,7 +306,7 @@
             </div>
           </div>
         </el-tab-pane>
-        <el-tab-pane label="缁勫悎" name="third">
+        <el-tab-pane label="缁勫悎" name="third" :disabled ="form.sftj == 'Y'|| form.sftj == 'y'">
           <el-row :gutter="20" style="width: 100%">
             <el-col :span="6" style="min-width: 200px">
               <div style="text-align: center; margin-bottom: 10px; margin-top: 10px;">
@@ -366,7 +367,7 @@
             </el-col>
           </el-row>
         </el-tab-pane>
-        <el-tab-pane label="鍗曢」" name="second">
+        <el-tab-pane label="鍗曢」" name="second" :disabled ="form.sftj == 'Y'|| form.sftj == 'y'">
           <el-row :gutter="20" style="width: 100%">
             <el-col :span="6" style="min-width: 200px">
               <div style="text-align: center; margin-bottom: 10px; margin-top: 10px;">
@@ -420,13 +421,37 @@
             </el-col>
           </el-row>
         </el-tab-pane>
+        <el-tab-pane label="浜插睘濂楅" name="four" :disabled ="form.sftj == 'N'|| form.sftj == 'n'">
+          <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-if="showSearch" label-width="auto"
+            @submit.native.prevent="handle">
+            <el-form-item label="濮撳悕" prop="pacName">
+              <el-input v-model="queryParam.pacName" placeholder="璇疯緭鍏ュ鍚�" clearable @keyup.enter.native="handle" />
+            </el-form-item>
+            <el-form-item label="韬唤璇�" prop="pacName">
+              <el-input v-model="queryParam.pacName" placeholder="璇疯緭鍏ヨ韩浠借瘉" clearable @keyup.enter.native="handle" />
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" icon="el-icon-search" size="mini" @click="handle">鏌ヨ</el-button>
+            </el-form-item>
+          </el-form>
+          <div class="tab4">
+            <div class="grid-content bg-purple" style="margin-left: 5px; width: 98%">
+              <el-table v-loading="loading" element-loading-text="姝e湪鍔犺浇涓�..." element-loading-spinner="el-icon-loading"
+                border :data="newpacName" @selection-change="handleSelectionChange" height="450px" ref="tb">
+                <el-table-column type="selection" width="40px" align="center" label="閫夋嫨" />
+                <el-table-column label="濂楅鍚嶇О" align="center" prop="pacName" width="120px" />
+                <el-table-column label="濂楅浠锋牸" align="center" prop="price" width="120px" />
+                <el-table-column label="濂楅鏄庣粏" align="center" prop="allProName" :show-overflow-tooltip="true" />
+              </el-table>
+            </div>
+          </div>
+        </el-tab-pane>
       </el-tabs>
       <span slot="footer" class="dialog-footer">
         <el-button @click="cancel">鍙� 娑�</el-button>
         <el-button type="primary" @click="submit">纭� 瀹�</el-button>
       </span>
     </el-dialog>
-    <!-- -->
     <el-row v-if="tcShow">
       <el-col :span="15">
         <div class="grid-content bg-purple">
@@ -478,8 +503,15 @@
                   :max="10" :min="0" @change="debounceNumberChange" :disabled="isfalse"></el-input-number>
               </el-form-item>
               <el-form-item label="瀹炴敹閲戦">
-                <el-input placeholder="瀹炴敹閲戦" v-model="TotalPrice" style="width: 206px" @input="changeXianjia"
+                <el-input placeholder="瀹炴敹閲戦" v-model="TotalPrice" style="width: 205px" @input="changeXianjia"
                   @blur="numberChangeXianPrice(discount, discount)" />
+              </el-form-item>
+              <el-form-item label="鏄惁鏇挎" v-if="tjtype">
+                <!-- <el-input placeholder="鏄惁鏇挎" v-model="sftj" style="width: 150px"></el-input> -->
+                 <el-select  v-model="form.sftj" placeholder="鏄惁鏇挎" style="width: 150px">
+                  <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
+                    :value="dict.value"></el-option>
+                </el-select>
               </el-form-item>
               <br />
 
@@ -911,6 +943,7 @@
       // 闈炲崟涓鐢�
       single: true,
       cardreader: false,
+      butopen:false,
       // 闈炲涓鐢�
       multiple: true,
       nodeobj: {},
@@ -922,6 +955,8 @@
       proIds: [],
       // 鏄剧ず鎼滅储鏉′欢
       showSearch: true,
+      tjtype: false,
+      sftj: null,
       activeNames: "first",
       // 鏍戠姸褰㈢姸
       Treedata: [],
@@ -953,11 +988,10 @@
         pacName: null,
         pacRemark: null,
       },
-      // valueUrl: "ws://127.0.0.1:18890",
-      // valueUrl: "ws://192.168.1.3:6789/websocket",
       valueUrl: "ws://127.0.0.1:6789/websocket",
       valueUrls: "ws://127.0.0.1:6789/websocket",
-      // valueUrls: "ws://"+getIp() +":6789/websocket",
+      // valueUrl: "ws://192.168.1.244:6789/websocket",
+      // valueUrls: "ws://192.168.1.244:6789/websocket",
       webSocket: null,
       // 韬唤璇侀渶瑕�
       // socket: null,
@@ -1229,6 +1263,7 @@
       this.title = "娣诲姞浣撴鍗曚綅淇℃伅缁存姢";
     },
     idFn1() {
+      this.tjtype = true
       if (this.form.firmName) {
         const originalCompId = this.form.firmId;
         this.CompanyList.forEach((item) => {
@@ -1709,45 +1744,59 @@
     },
     /** 鐧昏鎻愪氦鎸夐挳 */
     /** 鐧昏鎻愪氦鎸夐挳 */
-    submitForm() { 
+    submitForm() {
       let _this = this;
+      _this.butopen = true;
       if (!this.form.cusPhone || !this.form.cusName) {
         this.$message.warning("璇峰~閫夊繀濉」");
-      } else {
-        this.$refs["form"].validate((valid) => {
-          if (valid) {
-            // 鍒涘缓琛ㄥ崟鏁版嵁鐨勫壇鏈苟鍘婚櫎绌烘牸
-            const formData = { ...this.form };
-            formData.cusName = formData.cusName ? formData.cusName.replace(/\s/g, '') : '';
-            formData.cusPhone = formData.cusPhone ? formData.cusPhone.replace(/\s/g, '') : '';
-            formData.cusIdcard = formData.cusIdcard ? formData.cusIdcard.replace(/\s/g, '') : '';
-
-            // 澶勭悊鎬у埆鍊�
-            if (formData.cusSex === "濂�") {
-              formData.cusSex = 1;
-            }
-            if (formData.cusSex === "鐢�") {
-              formData.cusSex = 0;
-            }
-            if (formData.cusSex === "鏈煡") {
-              formData.cusSex = 2;
-            }
-            if (formData.tjType === "") {
-              formData.tjType = this.dict.type.dict_team[0].value;
-            
-            }
-
-            addCustomer(formData).then((response) => {
-              this.responseList = response.data;
-              this.form.tjType = this.dict.type.dict_team[0].value;
-              this.$modal.msgSuccess("鏂板鎴愬姛");
-              _this.tcShow = true;
-              _this.isDisabled = true;
-              _this.top = false;
-            });
-          }
-        });
+        return;
       }
+
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          // 鍒涘缓琛ㄥ崟鏁版嵁鐨勫壇鏈苟鍘婚櫎绌烘牸
+          const formData = { ...this.form };
+          formData.cusName = formData.cusName ? formData.cusName.replace(/\s/g, '') : '';
+          formData.cusPhone = formData.cusPhone ? formData.cusPhone.replace(/\s/g, '') : '';
+          formData.cusIdcard = formData.cusIdcard ? formData.cusIdcard.replace(/\s/g, '') : '';
+          // 娣诲姞 sfzImg 瀛楁
+          formData.sfzImg = this.imageUrl || ''; // 浣跨敤 base64 鏍煎紡鐨勫ご鍍忔暟鎹紝鑻ヤ负绌哄垯浼犵┖瀛楃涓�
+
+          // 澶勭悊鎬у埆鍊�
+          if (formData.cusSex === "濂�") {
+            formData.cusSex = 1;
+          }
+          if (formData.cusSex === "鐢�") {
+            formData.cusSex = 0;
+          }
+          if (formData.cusSex === "鏈煡") {
+            formData.cusSex = 2;
+          }
+          if (formData.tjType === "") {
+            formData.tjType = this.dict.type.dict_team[0].value;
+          }
+
+          // 鍙�夛細妫�鏌� sfzImg 鏄惁瀛樺湪
+          // if (!formData.sfzImg) {
+          //   this.$message.warning("璇峰厛鑾峰彇韬唤璇佸ご鍍�");
+          //   return;
+          // }
+
+          addCustomer(formData).then((response) => {
+             _this.butopen = false;
+            this.responseList = response.data;
+            this.form.tjType = this.dict.type.dict_team[0].value;
+            this.$modal.msgSuccess("鏂板鎴愬姛");
+            _this.tcShow = true;
+            _this.isDisabled = true;
+            _this.top = false;
+          }).catch((error) => {
+             _this.butopen = false;
+            this.$modal.msgError("鐧昏澶辫触锛岃妫�鏌ユ暟鎹�");
+            console.error("Error in addCustomer:", error);
+          });
+        }
+      });
     },
 
     getmailType() {
@@ -1926,11 +1975,15 @@
     // 鏈�鏂颁娇鐢╳ebSocket閫氫俊
     readCardWebSocket(resultObj) {
       let _this = this;
-
+      const isChineseChar = (char) => /[\u4E00-\u9FA5]/.test(char)
       if (resultObj.code === 200 && resultObj.data.name != null) {
         //鍥炴樉鐩稿叧鏁版嵁
         _this.form.cusName = resultObj.data.name;
-        _this.form.cusSex = resultObj.data.sex == "0" ? "濂�" : "鐢�";
+        if (isChineseChar(resultObj.data.sex)) {
+          _this.form.cusSex = resultObj.data.sex == "濂�" ? 1 : 0
+        } else {
+          _this.form.cusSex = resultObj.data.sex ==  "1" ? 0 : 1;
+        }
         _this.form.cusNational = resultObj.data.mz;
         _this.form.cusBrithday = resultObj.data.csrq;
         if (_this.form.cusBrithday) {
@@ -1985,7 +2038,7 @@
           //鍥炴樉鐩稿叧鏁版嵁
           _this.form.cusName = resultObj.resultContent.partyName;
           _this.form.cusSex =
-            resultObj.resultContent.gender == "0" ? "濂�" : "鐢�";
+            resultObj.resultContent.gender;
           _this.form.cusNational = resultObj.resultContent.nation;
           _this.form.cusBrithday = resultObj.resultContent.bornDay;
           if (_this.form.cusBrithday) {
@@ -2077,7 +2130,13 @@
         websocket.onmessage = function (event) {
           var resultObj = JSON.parse(event.data);
           _this.form.cusName = resultObj.data.name;
-          _this.form.cusSex = resultObj.data.sex;
+            const isChineseChar = (char) => /[\u4E00-\u9FA5]/.test(char)
+          // _this.form.cusSex = resultObj.data.sex;
+           if (isChineseChar(resultObj.data.sex)) {
+          _this.form.cusSex = resultObj.data.sex == "濂�" ? 1 : 0
+        } else {
+          _this.form.cusSex = resultObj.data.sex ==  "1" ? 0 : 1;
+        }
           _this.form.cusNational = resultObj.data.mz;
           _this.form.cusBrithday = resultObj.data.csrq;
           if (_this.form.cusBrithday) {
@@ -2235,11 +2294,6 @@
       this.form.cusIdcard = params[0].sfzh;
       this.handleQuery();
     },
-
-    // 涓婁紶澶村儚
-    handleAvatarSuccess(res, file) {
-      this.imageUrl = URL.createObjectURL(file.raw);
-    },
     beforeAvatarUpload(file) {
       const isJPG = file.type === "image/jpeg";
       const isLt2M = file.size / 1024 / 1024 < 2;
@@ -2282,7 +2336,7 @@
         dwId: this.form.firmId,
       };
       if (this.name) {
-        let name= this.name.toLowerCase()
+        let name = this.name.toLowerCase()
         getPackageListName(name).then((response) => {
           this.newpacName = response.data;
           this.loading = false;
@@ -2367,6 +2421,11 @@
           });
         } else if (!this.form.firmId && this.form.firmName) {
           this.taocan = true;
+          if(this.form.sftj == "Y" || this.form.sftj == "y"){
+            this.activeNames = "four"
+          }else{
+            this.activeNames = "first"
+          }
           this.loading = true;
           deptTreeSelect(cusSex).then((response) => {
             this.newpacName = response.rows;
@@ -2392,6 +2451,11 @@
 
         else {
           this.taocan = true;
+            if(this.form.sftj == "Y" || this.form.sftj == "y"){
+            this.activeNames = "four"
+          }else{
+            this.activeNames = "first"
+          }
           this.loading = true;
           tuantiSelect(param).then((res) => {
             this.newpacName = res.data;
@@ -2416,6 +2480,11 @@
         }
       } else {
         this.taocan = true;
+          if(this.form.sftj == "Y" || this.form.sftj == "y"){
+            this.activeNames = "four"
+          }else{
+            this.activeNames = "first"
+          }
         this.loading = true;
         deptTreeSelect(cusSex).then((response) => {
           this.newpacName = response.rows;
@@ -2934,15 +3003,17 @@
 
     // 澶勭悊璁㈠崟椤圭洰
     processOrderItems(cusId) {
-      console.log(11222)
       getTransitionList1(cusId).then((response) => {
         this.tableData1 = response.data;
+        // if (response.data.tjCategory != null) {
+        //   this.tjCategory = response.data.tjCategory;
+        // }
         let Price = 0;
         if (this.tableData1) {
           this.tableData1.forEach((item) => {
-            if (typeof item.nowPrice  === 'number') {
-              item.nowPrice  = Number(item.nowPrice.toFixed(3));
-          }
+            if (typeof item.nowPrice === 'number') {
+              item.nowPrice = Number(item.nowPrice.toFixed(3));
+            }
             if (item.tjCategory != null) {
               this.tjCategory = item.tjCategory;
             }
@@ -2956,7 +3027,7 @@
             Price += item.nowPrice || 0; // 绱姞瀹炴敹閲戦
             this.TotalPrice = Price.toFixed(2);
           });
-          console.log( this.TotalPrice1,this.TotalPrice)
+          console.log(this.TotalPrice1, this.TotalPrice)
           // 璁$畻鎶樻墸
           this.discount = this.TotalPrice1 > 0 ?
             (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10 : 0;
@@ -3247,7 +3318,7 @@
       let _this = this;
       this.loadingSubmit = true;
       if (_this.tjCategory !== "") {
-        let List = _this.tableData1; //鍗曚釜椤圭洰淇℃伅
+        let List = _this.tableData1; // 鍗曚釜椤圭洰淇℃伅
         if (this.responseList.cusId) {
           var userId = this.responseList.cusId;
         } else {
@@ -3258,7 +3329,7 @@
           var pacId = this.tableData[0].pacId;
         }
 
-        //tjOrderList//杩欎釜鏄鐞嗗畬鐨勬瘡涓�椤瑰椁愪俊鎭�
+        // tjOrderList 澶勭悊
         List.forEach((item) => {
           if (item.list) {
             item.list.forEach((item1) => {
@@ -3284,27 +3355,30 @@
             });
           }
         });
+
         let copeWith = this.TotalPrice1;
         let paidIn = this.TotalPrice.toString();
         let discount = this.discount;
         this.tjFlowingWater = { copeWith, paidIn, discount };
+
         const newArray = this.tableData1
-          .filter((item) => item.discount < 10) // 杩囨护鍑� discount < 10 鐨勯」
+          .filter((item) => item.discount < 10)
           .map((item) => ({
             discount: item.discount,
             parentProId: item.parentProId,
             cusIdCard: item.cusId,
-            yhj: item.nowPrice
-          })); // 鍒涘缓鏂扮殑瀵硅薄锛屽寘鍚� discount 鍜� id
+            yhj: item.nowPrice,
+          }));
+
         gaibianzhekou(newArray).then((res) => {
           this.loadingSubmit = false;
           if (res.code === 200) {
-
             let data;
 
             if (pacId || this.tjOrderList.length > 0) {
               data = {
-                photo: this.srcUrl,
+                photo: this.srcUrl, // 淇濈暀鍘熸湁 photo 瀛楁锛堝鏋滃悗绔粛闇�瑕侊級
+                sfzImg: this.imageUrl, // 娣诲姞 sfzImg 瀛楁锛屼紭鍏堜娇鐢ㄦ湇鍔″櫒URL锛岃嫢鏃犲垯浣跨敤base64
                 pacId,
                 tjOrderList: this.tjOrderList,
                 tjFlowingWater: this.tjFlowingWater,
@@ -3317,23 +3391,10 @@
               };
 
               this.listgetOrder(data);
-            } else if (pacId || this.tjOrderList.length > 0) {
-              data = {
-                photo: this.srcUrl,
-                tjOrderList: this.tjOrderList,
-                tjFlowingWater: this.tjFlowingWater,
-                userId,
-                tjType,
-                tjCategory: this.tjCategory,
-                firmId: this.form.firmId,
-                firmName: this.form.firmName,
-                firmDeptName: this.form.firmDeptName,
-              };
-              this.listgetOrder(data);
             } else {
               this.loadingSubmit = false;
               this.$message({
-                type: "warning ",
+                type: "warning",
                 message: "璇烽�夋嫨濂楅!",
               });
             }

--
Gitblit v1.8.0