From ea640ebc01dba1455d7e2dbece470c3b83a5be38 Mon Sep 17 00:00:00 2001
From: lkk <364857242@qq.com>
Date: 星期四, 05 十二月 2024 13:56:21 +0800
Subject: [PATCH] 20241205

---
 src/views/system/tijian/index.vue |  473 ++++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 321 insertions(+), 152 deletions(-)

diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue
index 01a76ae..65631ab 100644
--- a/src/views/system/tijian/index.vue
+++ b/src/views/system/tijian/index.vue
@@ -574,6 +574,9 @@
                   :data="packagedataList"
                   node-key="proId"
                   :props="defaultpackProps"
+                  :filter-node-method="filterpackage"
+                  @check-change="handlePackageChecked"
+                  :default-checked-keys="checkedListkey1"
                   :render-content="renderContent"
                 >
                 </el-tree>
@@ -1320,6 +1323,31 @@
         </el-table>
       </div>
     </el-dialog>
+    <el-dialog
+      title="鎻愮ず"
+      :visible.sync="cardreader"
+      width="30%"
+      :close-on-press-escape="false"
+      :close-on-click-modal="false"
+    >
+      <template>
+        <el-radio-group v-model="cardreaderradio" @input="changeradio">
+          <el-radio :label="3">韬唤璇�</el-radio>
+          <el-radio :label="6">鍋ュ悍鐮�</el-radio>
+        </el-radio-group>
+        <div style="margin-top: 10px" v-show="cardreaderradio == 6">
+          <el-input
+            v-model="inputSSS"
+            ref="tableHeadFilterInp"
+            placeholder="璇疯緭鍏ュ唴瀹�"
+          ></el-input>
+        </div>
+      </template>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="cardreader = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="cardreadercopes">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
     <div style="position: absolute; bottom: 100px; width: 360px; display: none">
       <div
         id="printBill"
@@ -1355,12 +1383,7 @@
       </span> -->
     <!-- </el-dialog> -->
     <historyTj :cusIdCard="form.cusIdcard" ref="historyTj"></historyTj>
-    <el-dialog
-      title="鎻愮ず"
-      :visible.sync="dialogVisiblese"
-      width="30%"
-      :before-close="handleClose"
-    >
+    <el-dialog title="鎻愮ず" :visible.sync="dialogVisiblese" width="30%">
       <span>鏄惁澶嶅埗鏈�杩戜竴娆$殑浣撴椤圭洰锛�</span>
       <span slot="footer" class="dialog-footer">
         <el-button @click="dialogVisiblese = false">鍙� 娑�</el-button>
@@ -1382,7 +1405,7 @@
 } from "@/api/hosp/customer";
 import { getPrintSetUp } from "@/api/system/examcharge";
 import axios from "axios";
-import { getIp } from '@/utils/auth'
+import { getIp } from "@/utils/auth";
 import {
   deptTreeSelect,
   projectGetList,
@@ -1441,11 +1464,13 @@
       proIdList: [],
       tableDatas: [],
       dialogVisiblese: false,
+      cardreaderradio: 3,
       lishi: false,
       table: false,
       HistoryList: {},
       index: 0,
       names: "",
+      inputSSS: "",
       dictType: [
         {
           value: 0,
@@ -1551,6 +1576,7 @@
       ids: [],
       // 闈炲崟涓鐢�
       single: true,
+      cardreader: false,
       // 闈炲涓鐢�
       multiple: true,
       nodeobj: {},
@@ -1570,6 +1596,7 @@
       treedataList: [],
       checkedkey: [],
       checkedListkey: [],
+      checkedListkey1: [],
       defaultProps: {
         children: [],
         label: "proName",
@@ -1592,10 +1619,11 @@
         pacName: null,
         pacRemark: null,
       },
-      valueUrl: "ws://127.0.0.1:18890",
+      // valueUrl: "ws://127.0.0.1:18890",
+      valueUrl: "ws://127.0.0.1:6789/websocket",
       valueUrls: "ws://127.0.0.1:6789/websocket",
       // valueUrls: "ws://"+getIp() +":6789/websocket",
-      WebSocket: null,
+      webSocket: null,
       // 韬唤璇侀渶瑕�
       // socket: null,
       // value: 1,
@@ -1625,12 +1653,13 @@
 
       // 琛ㄥ崟鍙傛暟
       // 琛ㄥ崟鍙傛暟
+      obj: {},
       form: {
         cusIdcard: "",
-        tjType: "2",
+        tjType: "3",
         cusSex: 1,
         cusNational: "1",
-        cusMarryStatus: "1",
+        cusMarryStatus: "5",
         idType: "1",
         ageUnit: "0",
       },
@@ -1663,7 +1692,10 @@
     this.getList1();
     // this.getData();
   },
- 
+  mounted(){
+    console.log(this.dict.type.dict_user_marry,555);
+    
+  },
 
   methods: {
     getCurrentDateTime() {
@@ -2170,7 +2202,7 @@
               this.discount = this.form.discount;
             }
             if (this.form.tjType === null) {
-              this.form.tjType = "2";
+              this.form.tjType = "3";
             }
             if (this.form.reservationId != null) {
               if (this.form.groupingId) {
@@ -2253,6 +2285,7 @@
       } else {
         let configKey = "getInfoFromSqlData";
         getconfigKey(configKey).then((res) => {
+          console.log(res);
           if (res.code == 200) {
             if (res.msg == "N") {
               var websocket = null;
@@ -2279,16 +2312,17 @@
                 this.websocket = websocket;
                 // 杩炴帴璁惧
                 var jsonObj = {
-                  name: "connect",
+                  // name: "connect",
+                  type: "1",
                 };
                 var jStr = JSON.stringify(jsonObj);
                 this.websocket.send(jStr);
                 alert("璇锋斁韬唤璇佸啀鐐圭‘璁�");
                 var jsonObj = {
-                  name: "readCert",
+                  // name: "readCert",
                 };
-                var jStr = JSON.stringify(jsonObj);
-                this.websocket.send(jStr);
+                // var jStr = JSON.stringify(jsonObj);
+                // this.websocket.send(jStr);
                 this.dialogVisible = false;
               };
 
@@ -2296,6 +2330,7 @@
               websocket.onmessage = function (event) {
                 var resultObj = eval("(" + event.data + ")");
                 //resultFlag涓�0浠h〃璇诲崱鎴愬姛
+
                 if (
                   resultObj.name == "readCard" ||
                   resultObj.name == "readCert" ||
@@ -2356,64 +2391,9 @@
               this.$refs.aaa.getAllList();
               this.$refs.aaa.title = "璇佷欢瀛楀吀";
             } else if (res.msg == "S") {
-              var websocket = null;
-              var url = this.valueUrls;
-              // var url = 'ws://'+ getIp() +':6789/websocket'
-              console.log(url)
-              if ("WebSocket" in window) {
-                websocket = new WebSocket(url);
-              } else if ("MozWebSocket" in window) {
-                websocket = new MozWebSocket(url);
-              } else {
-                // console.log("SockJS");
-              }
-              if (websocket == null) {
-                alert("11111");
-              }
-              websocket.onopen = function () {
-                try {
-                websocket.send("鍙戦��");
-              } catch (err) {
-                var tryTime = 0;
-                // 閲嶈瘯10娆★紝姣忔涔嬮棿闂撮殧3绉�
-                if (tryTime < 1) {
-                  var t1 = setTimeout(function () {
-                    tryTime++;
-                  
-                websocket.send("鍙戦��");
-              
-                  }, 1 * 1000);
-                } else {
-                  console.error("閲嶈繛澶辫触.");
-                }
-              }
-              };
-              websocket.onclose = function () {
-                alert("璇诲崱鍣ㄨ繛鎺ュ叧闂�");
-              };
-              websocket.onmessage = function (event) {
-              
-                var resultObj =JSON.parse(event.data);
-               _this.form.cusName = resultObj.data.name;
-                    _this.form.cusSex =
-                    resultObj.data.sex;
-                    _this.form.cusNational =resultObj.data.mz;
-                    _this.form.cusBrithday = resultObj.data.csrq;
-                    if (_this.form.cusBrithday) {
-                      _this.form.cusBrithday = _this.form.cusBrithday.replace(
-                        /^(\d{4})(\d{2})(\d{2})$/,
-                        "$1-$2-$3"
-                      );
-                    }
-                    _this.form.cusAddr = resultObj.data.addres;
-                    _this.form.cusIdcard = resultObj.data.card;
-              };
-
-              //杩炴帴鍙戠敓閿欒鐨勫洖璋冩柟娉�
-              websocket.onerror = function () {
-                alert("璇锋鏌ヨ鍗″櫒杩炴帴鏄惁姝e父");
-              };
-            
+              this.cardreader = true;
+              _this.cardreaderradio = 3;
+              _this.inputSSS = "";
               // let url = window.location.protocol + "//" + window.location.host;
               // console.log(url);
               // axios
@@ -2443,6 +2423,224 @@
             }
           }
         });
+      }
+    },
+    changeradio() {
+      if (this.cardreaderradio != 3) {
+        this.$nextTick(() => {
+          this.$refs.tableHeadFilterInp.focus();
+        });
+      }
+    },
+    cardreadercopes() {
+      let _this = this;
+
+      if (this.cardreaderradio == 3) {
+        var websocket = null;
+        var url = this.valueUrls;
+        // var url = 'ws://'+ getIp() +':6789/websocket'
+        if ("WebSocket" in window) {
+          websocket = new WebSocket(url);
+        } else if ("MozWebSocket" in window) {
+          websocket = new MozWebSocket(url);
+        } else {
+          // console.log("SockJS");
+        }
+        if (websocket == null) {
+          alert("11111");
+        }
+        websocket.onopen = function () {
+          try {
+            // 杩炴帴璁惧
+            var jsonObjs = {
+              type: 1,
+              data: {},
+            };
+            var jStrs = JSON.stringify(jsonObjs);
+            websocket.send(jStrs);
+          } catch (err) {
+            var tryTime = 0;
+            // 閲嶈瘯10娆★紝姣忔涔嬮棿闂撮殧3绉�
+            if (tryTime < 1) {
+              var t1 = setTimeout(function () {
+                tryTime++;
+                var jsonObjs = {
+                  type: 1,
+                  data: {},
+                };
+                var jStrs = JSON.stringify(jsonObjs);
+                websocket.send(jStrs);
+              }, 1 * 1000);
+            } else {
+              console.error("閲嶈繛澶辫触.");
+            }
+          }
+        };
+        websocket.onclose = function () {
+          alert("璇诲崱鍣ㄨ繛鎺ュ叧闂�");
+        };
+        websocket.onmessage = function (event) {
+          var resultObj = JSON.parse(event.data);
+          _this.form.cusName = resultObj.data.name;
+          _this.form.cusSex = resultObj.data.sex;
+          _this.form.cusNational = resultObj.data.mz;
+          _this.form.cusBrithday = resultObj.data.csrq;
+          if (_this.form.cusBrithday) {
+            _this.form.cusBrithday = _this.form.cusBrithday.replace(
+              /^(\d{4})(\d{2})(\d{2})$/,
+              "$1-$2-$3"
+            );
+          }
+          _this.form.cusIdcard = resultObj.data.card;
+          if (_this.form.cusIdcard) {
+            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]$/;
+            if (reg.test(_this.form.cusIdcard)) {
+              var org_birthday = _this.form.cusIdcard.substring(6, 14);
+              var birthday =
+                org_birthday.substring(0, 4) +
+                "-" +
+                org_birthday.substring(4, 6) +
+                "-" +
+                org_birthday.substring(6, 8);
+              var birthdays = new Date(birthday.replace(/-/g, "-"));
+              let d = new Date();
+              let age =
+                d.getFullYear() -
+                birthdays.getFullYear() -
+                (d.getMonth() < birthdays.getMonth() ||
+                (d.getMonth() == birthdays.getMonth() &&
+                  d.getDate() < birthdays.getDate())
+                  ? 1
+                  : 0);
+
+              _this.form.age = age;
+            }
+          }
+          _this.form.cusAddr = resultObj.data.addres;
+
+          _this.cardreader = false;
+        };
+
+        //杩炴帴鍙戠敓閿欒鐨勫洖璋冩柟娉�
+        websocket.onerror = function () {
+          alert("璇锋鏌ヨ鍗″櫒杩炴帴鏄惁姝e父");
+        };
+      } else {
+        // if (_this.inputSSS.indexOf(":1") != -1) {
+
+        //   var str1 = _this.inputSSS.indexOf(":1");
+        //   var result1 = _this.inputSSS.substring(0, str1);
+
+        //   var str2 = _this.inputSSS.indexOf(":1");
+        //   var result2 = _this.inputSSS.substring(
+        //     str2 + 2,
+        //     _this.inputSSS.length
+        //   );
+
+        //   _this.inputSSS = result1 + result2;
+        // }
+        _this.inputSSS = _this.inputSSS.replace(":1", "");
+        var websocket = null;
+        var url = this.valueUrls;
+        // var url = 'ws://'+ getIp() +':6789/websocket'
+        if ("WebSocket" in window) {
+          websocket = new WebSocket(url);
+        } else if ("MozWebSocket" in window) {
+          websocket = new MozWebSocket(url);
+        } else {
+          // console.log("SockJS");
+        }
+        if (websocket == null) {
+          alert("11111");
+        }
+        websocket.onopen = function () {
+          try {
+            // 杩炴帴璁惧
+            var jsonObjs = {
+              type: 2,
+              data: {
+                qrcode: _this.inputSSS,
+              },
+            };
+            var jStrs = JSON.stringify(jsonObjs);
+            websocket.send(jStrs);
+          } catch (err) {
+            var tryTime = 0;
+            // 閲嶈瘯10娆★紝姣忔涔嬮棿闂撮殧3绉�
+            if (tryTime < 1) {
+              var t1 = setTimeout(function () {
+                tryTime++;
+                var jsonObjs = {
+                  type: 2,
+                  data: {
+                    qrcode: _this.inputSSS,
+                  },
+                };
+                var jStrs = JSON.stringify(jsonObjs);
+                websocket.send(jStrs);
+              }, 1 * 1000);
+            } else {
+              console.error("閲嶈繛澶辫触.");
+            }
+          }
+        };
+        websocket.onclose = function () {
+          alert("璇诲崱鍣ㄨ繛鎺ュ叧闂�");
+        };
+        websocket.onmessage = function (event) {
+          var resultObj = JSON.parse(event.data);
+          _this.form.cusName = resultObj.data.name;
+
+          if (resultObj.data.nation == "姹夋棌") {
+            _this.form.cusNational = "1";
+          }
+          if (resultObj.data.gender == "鐢�") {
+            _this.form.cusSex = 0;
+          } else {
+            _this.form.cusSex = 1;
+          }
+          _this.form.cusBrithday = resultObj.data.birthday;
+          if (_this.form.cusBrithday) {
+            _this.form.cusBrithday = _this.form.cusBrithday.replace(
+              /^(\d{4})(\d{2})(\d{2})$/,
+              "$1-$2-$3"
+            );
+          }
+          _this.form.cusPhone = resultObj.data.phone;
+          _this.form.cusIdcard = resultObj.data.idenno;
+          if (_this.form.cusIdcard) {
+            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]$/;
+            if (reg.test(_this.form.cusIdcard)) {
+              var org_birthday = _this.form.cusIdcard.substring(6, 14);
+              var birthday =
+                org_birthday.substring(0, 4) +
+                "-" +
+                org_birthday.substring(4, 6) +
+                "-" +
+                org_birthday.substring(6, 8);
+              var birthdays = new Date(birthday.replace(/-/g, "-"));
+              let d = new Date();
+              let age =
+                d.getFullYear() -
+                birthdays.getFullYear() -
+                (d.getMonth() < birthdays.getMonth() ||
+                (d.getMonth() == birthdays.getMonth() &&
+                  d.getDate() < birthdays.getDate())
+                  ? 1
+                  : 0);
+
+              _this.form.age = age;
+            }
+          }
+          _this.cardreader = false;
+        };
+
+        //杩炴帴鍙戠敓閿欒鐨勫洖璋冩柟娉�
+        websocket.onerror = function () {
+          alert("璇锋鏌ヨ鍗″櫒杩炴帴鏄惁姝e父");
+        };
       }
     },
 
@@ -2730,33 +2928,6 @@
         getZhList().then((response) => {
           if (response.data) {
             this.packageList = response.data;
-            // this.checkedkeys.push(this.packageList[0].id);
-            // let datas = {
-            //   zhId: this.packageList[0].id,
-            // };
-            // getlistByZhId(datas).then((res) => {
-            //   this.packagedataList = res.data.tjProjectList;
-            //   for (var i = 0; i < this.packagedataList.length; i++) {
-            //     let proId = this.packagedataList[i].proId;
-            //     getProSonDxList(proId).then((res) => {
-            //       this.TreedataList = res.data.list;
-            //       this.TreedataList.forEach((item) => {
-            //         this.DataLists.push(item);
-            //         if (this.DataLists.length >= 1) {
-            //           this.marryalls = 0;
-            //           this.DataLists.forEach((item1) => {
-            //             this.marryalls += item1.proPrice;
-            //             this.packagedataList.forEach((item3) => {
-            //               if (item1.proParentId == item3.proId) {
-            //                 item1.propinName = item3.proName;
-            //               }
-            //             });
-            //           });
-            //         }
-            //       });
-            //     });
-            //   }
-            // });
           }
           this.loading = false;
         });
@@ -2774,6 +2945,8 @@
       this.loading = true;
       getProParentIdDxList().then((response) => {
         this.Treedata = response.data.list;
+        console.log(response, 77788);
+
         if (this.tableData[0]) {
           this.tableData[0].tjProjectList.forEach((selectionitem) => {
             this.Treedata.forEach((item) => {
@@ -2783,40 +2956,12 @@
             });
           });
         }
-        // if (this.DataLists.length != 0) {
-        //   this.DataLists.forEach((selectionitem) => {
-        //     this.Treedata.forEach((item) => {
-        //       if (selectionitem.propinName == item.proName) {
-        //         item.disabled = true;
-        //       }
-        //     });
-        //   });
-        // }
-        // this.checkedkey.push(this.Treedata[0].proId);
-        // let proId = this.Treedata[0].proId;
-        // getProSonDxList(proId).then((res) => {
-        //   this.TreedataList = res.data.list;
-        //   this.TreedataList.forEach((item) => {
-        //     this.checkedListkey.push(item.proId);
-        //     this.DataList.push(item);
-        //     this.DataList.forEach((item) => {
-        //       item.propinName = this.Treedata[0].proName;
-        //     });
-        //   });
-        //   this.TotalPrice1 = 0;
-        //   this.marryall = 0;
-        //   if (this.DataList.length != 0) {
-        //     this.list1 = false;
-        //     this.DataList.forEach((item) => {
-        //       this.TotalPrice1 = item.proPrice + this.TotalPrice1;
-        //       this.marryall += item.proPrice;
-        //     });
-        //   }
-        // });
         this.loading = false;
       });
     },
+
     handlepackage(data, checked, checkedNodes) {
+      this.dataObj = data;
       if (checked.checkedNodes.length != 0) {
         this.$refs.treas.setCheckedKeys([data.id]);
         let datas = {
@@ -2824,16 +2969,27 @@
         };
         getlistByZhId(datas).then((res) => {
           this.packagedataList = res.data.tjProjectList;
+          console.log(this.packagedataList, 1122);
+          this.DataLists = [];
+          this.checkedListkey1 = [];
           for (var i = 0; i < this.packagedataList.length; i++) {
             let proId = this.packagedataList[i].proId;
+            this.checkedListkey1.push(proId);
+            // this.DataLists.push(this.packagedataList[i]);
             getProSonDxList(proId).then((res) => {
               this.TreedataList = res.data.list;
+              console.log(this.TreedataList, 888);
+
               this.TreedataList.forEach((item) => {
+                // this.checkedListkey1.push(item.proId);
+
                 this.DataLists.push(item);
+                // console.log(this.DataLists,556644);
                 if (this.DataLists.length >= 1) {
                   this.marryalls = 0;
                   this.DataLists.forEach((item1) => {
                     this.marryalls += item1.proPrice;
+
                     this.packagedataList.forEach((item3) => {
                       if (item1.proParentId == item3.proId) {
                         item1.propinName = item3.proName;
@@ -2846,25 +3002,12 @@
           }
         });
       } else if (checked.checkedNodes.length == 0) {
-        // for (var i = 0; i < data.tjProjectList.length; i++) {
-        //   let proId = data.tjProjectList[i].proId;
-        //   getProSonDxList(proId).then((res) => {
-        //     this.TreedataList = res.data.list;
-        //     this.TreedataList.forEach((item) => {
-        //       this.DataLists.forEach((item1, index) => {
-        //         if (item.proId == item1.proId) {
-        //           this.DataLists.splice(index, 1);
-        //         }
-        //       });
-        //     });
-        //     this.marryalls = 0
-        //     if(this.DataLists.length != 0){
-        //       this.DataLists.forEach((item1, index) => {
-        //       this.marryalls += item1.proPrice;
-        //       })
-        //     }
-        //   });
-        // }
+        this.DataLists = [];
+        this.marryalls = 0; // 娓呴浂鎬讳环
+        this.checkedListkey1 = [];
+
+        // 浣犲彲浠ュ湪姝ゅ鏍规嵁闇�瑕佽繘琛屽叾浠栨搷浣滐紝濡傛洿鏂� UI
+        console.log("鍙栨秷閫変腑锛屾暟鎹凡娓呯┖锛屾�讳环宸查噸缃�");
       }
     },
     objectspanmethod({ row, column, rowIndex, columnIndex }) {
@@ -2897,17 +3040,43 @@
       //   return [rowspan, 1];
       // }
     },
-
+    handlePackageChecked(data, checked, checkedNodes) {
+      if (checked == false) {
+        this.DataLists.forEach((item, index) => {
+          if (item.proId == data.proId) {
+            this.DataLists.splice(index, 1);
+            this.marryalls = 0; // 閲嶇疆鍚堣閲戦
+            this.DataLists.forEach((item1) => {
+              this.marryalls += item1.proPrice; // 閲嶆柊璁$畻鍚堣閲戦
+            });
+          }
+        });
+      } else if (checked == true) {
+        this.DataLists.push(data); // 娣诲姞鏁版嵁鍒板凡閫夊垪琛�
+        this.DataLists.forEach((item1) => {
+          if (item1.proParentId == this.dataObj.proId) {
+            item1.propinName = this.dataObj.proName; // 璁剧疆鐖剁骇鍚嶇О
+          }
+        });
+        // this.spliceData();
+        this.marryalls = 0; // 閲嶇疆鍚堣閲戦
+        this.DataLists.forEach((item1) => {
+          this.marryalls += item1.proPrice; // 閲嶆柊璁$畻鍚堣閲戦
+        });
+      }
+    },
     // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐�
     handleCurrentChecked(data, checked, checkedNodes) {
       this.dataObj = data;
       if (checked.checkedNodes.length != 0) {
         this.$refs.tree.setCheckedKeys([data.proId]);
+
         let proId = data.proId;
         getProSonDxList(proId).then((res) => {
           this.TreedataList = res.data.list;
           this.TreedataList.forEach((item) => {
             this.checkedListkey.push(item.proId);
+
             this.DataList.push(item);
             this.spliceData();
             this.DataList.forEach((item1) => {

--
Gitblit v1.8.0