From e4717b437f7b4ef27c9801508f252f811fc65b3e Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期三, 09 四月 2025 13:43:22 +0800 Subject: [PATCH] 111 --- src/views/system/tijianall/index.vue | 457 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 370 insertions(+), 87 deletions(-) diff --git a/src/views/system/tijianall/index.vue b/src/views/system/tijianall/index.vue index 8c1c7e8..afbce3f 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%" @@ -89,7 +181,11 @@ }, ]" > - <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 +229,8 @@ <el-input v-model="form.cusIdcard" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" - @input="inputChange" + @input="handleIdCardInput" + style="width: 190px" /> <!-- <i style="font-size: 17px; margin-left: 3px" @@ -151,14 +248,18 @@ 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 +279,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 +299,14 @@ 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="璇疯緭鍏ヨ亴涓�" @@ -227,7 +331,7 @@ v-for="dict in dict.type.dict_team" :key="dict.value" :label="dict.label" - :value="parseInt(dict.value)" + :value="dict.value" ></el-option> </el-select> </el-form-item> @@ -240,14 +344,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 +382,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 @@ -650,9 +777,7 @@ </el-collapse-item> </div> </el-collapse> --> - <h3 style="font-weight: 600"> - 鍚堣锛歿{ marryall }}鍏� - </h3> + <h3 style="font-weight: 600">鍚堣锛歿{ marryall }}鍏�</h3> </div> </el-col> </el-row> @@ -713,7 +838,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"> @@ -728,14 +853,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 > @@ -991,16 +1117,19 @@ getTransitionList, getProParentIdDxList, getProSonDxList, - getaddTj,getconfigKey, + getaddTj, + getconfigKey, getHistryTjOrderProByCusIdCard, delTbBycusCardIdAndProId, } 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, - historyTj,Packages + historyTj, + Packages, }, dicts: [ "dict_user_national", @@ -1052,6 +1181,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: "", @@ -1065,7 +1211,7 @@ valueUrls: "ws://127.0.0.1:6789/websocket", dialogVisiblese: false, cardreader: false, - cardreaderradio:3, + cardreaderradio: 3, inputSSS: "", lishi: false, table: false, @@ -1211,9 +1357,17 @@ // 琛ㄥ崟鍙傛暟 // 琛ㄥ崟鍙傛暟 + form1: { + company: "", + payType: "", + name: "", + phoe: "", + signingPic: "", + discount: "", + }, form: { cusIdcard: "", - tjType: 2, + tjType: "3", category: "01", cusSex: 1, cusNational: "1", @@ -1277,9 +1431,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]$/; @@ -1576,6 +1811,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; @@ -1653,72 +1894,28 @@ this.websocket = websocket; // 杩炴帴璁惧 var jsonObj = { - name: "connect", + type: "1", }; var jStr = JSON.stringify(jsonObj); this.websocket.send(jStr); - alert("璇锋斁韬唤璇佸啀鐐圭‘璁�"); + // 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; }; //鎺ユ敹鍒版秷鎭殑鍥炶皟鏂规硶 - websocket.onmessage = function (event) { + websocket.onmessage = (event) => { var resultObj = eval("(" + event.data + ")"); //resultFlag涓�0浠h〃璇诲崱鎴愬姛 - if ( - resultObj.name == "readCard" || - resultObj.name == "readCert" || - resultObj.name == "PushWithImg" || - resultObj.name == "PushWithOutImg" - ) { - if (resultObj.resultFlag == "0") { - //鍥炴樉鐩稿叧鏁版嵁 - _this.form.cusName = resultObj.resultContent.partyName; - _this.form.cusSex = - resultObj.resultContent.gender == "0" ? "濂�" : "鐢�"; - _this.form.cusNational = resultObj.resultContent.nation; - _this.form.cusBrithday = resultObj.resultContent.bornDay; - if (_this.form.cusBrithday) { - _this.form.cusBrithday = _this.form.cusBrithday.replace( - /^(\d{4})(\d{2})(\d{2})$/, - "$1-$2-$3" - ); - } - _this.form.cusAddr = resultObj.resultContent.certAddress; - _this.form.cusIdcard = resultObj.resultContent.certNumber; - _this.imageUrl = - "data:image/jpeg;base64," + - resultObj.resultContent.identityPic; - if ( - resultObj.name == "readCert" || - resultObj.name == "PushWithImg" - ) { - this.imageUrl = - "data:image/jpeg;base64," + - resultObj.resultContent.identityPrintPic; - } - } else if (resultObj.resultFlag == "-1") { - if (resultObj.errorMsg == "绔彛鎵撳紑澶辫触") { - //alert("璇诲崱鍣ㄦ湭杩炴帴"); - } else { - //alert(resultObj.errorMsg); - } - } else if (resultObj.resultFlag == "-2") { - //alert(resultObj.errorMsg); - } - } else if (resultObj.name == "getStatus") { - if (resultObj.resultFlag == "0") { - if (resultObj.status == "0") { - } else { - alert("璁惧杩炴帴宸叉柇寮�锛岃妫�鏌ヨ鍗″櫒杩炴帴"); - } - } - } + + // TODO 浠ヤ笅浠g爜鍙兘鏄尘宸濅娇鐢ㄧ殑 + console.log(resultObj); + // this.jingChuanHandlerWebSocketResult(resultObj) + this.readCardWebSocket(resultObj); }; //杩炴帴鍏抽棴鐨勫洖璋冩柟娉� @@ -1764,7 +1961,89 @@ }); } }, - + // 鏈�鏂颁娇鐢╳ebSocket閫氫俊 + readCardWebSocket(resultObj) { + let _this = this; + if (resultObj.code === 200 && resultObj.data.name != null) { + //鍥炴樉鐩稿叧鏁版嵁 + _this.form.cusName = resultObj.data.name; + _this.form.cusSex = resultObj.data.sex == "0" ? "濂�" : "鐢�"; + _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; + _this.imageUrl = "data:image/jpeg;base64," + resultObj.data.img; + if (resultObj.name == "readCert" || resultObj.name == "PushWithImg") { + this.imageUrl = "data:image/jpeg;base64," + resultObj.data.img; + } + } else { + this.$message.warning("璇锋斁缃韩浠借瘉鍚庡啀鐐瑰嚮璇诲彇"); + } + /* else if (resultObj.resultFlag == "-1") { + if (resultObj.errorMsg == "绔彛鎵撳紑澶辫触") { + //alert("璇诲崱鍣ㄦ湭杩炴帴"); + } else { + //alert(resultObj.errorMsg); + } + } else if (resultObj.resultFlag == "-2") { + //alert(resultObj.errorMsg); + } */ + }, + // TODO 浠ヤ笅浠g爜鍙兘鏄尘宸濅娇鐢ㄧ殑 + jingChuanHandlerWebSocketResult(resultObj) { + let _this = this; + if ( + resultObj.name == "readCard" || + resultObj.name == "readCert" || + resultObj.name == "PushWithImg" || + resultObj.name == "PushWithOutImg" + ) { + if (resultObj.resultFlag == "0") { + //鍥炴樉鐩稿叧鏁版嵁 + _this.form.cusName = resultObj.resultContent.partyName; + _this.form.cusSex = + resultObj.resultContent.gender == "0" ? "濂�" : "鐢�"; + _this.form.cusNational = resultObj.resultContent.nation; + _this.form.cusBrithday = resultObj.resultContent.bornDay; + if (_this.form.cusBrithday) { + _this.form.cusBrithday = _this.form.cusBrithday.replace( + /^(\d{4})(\d{2})(\d{2})$/, + "$1-$2-$3" + ); + } + _this.form.cusAddr = resultObj.resultContent.certAddress; + _this.form.cusIdcard = resultObj.resultContent.certNumber; + _this.imageUrl = + "data:image/jpeg;base64," + resultObj.resultContent.identityPic; + if (resultObj.name == "readCert" || resultObj.name == "PushWithImg") { + this.imageUrl = + "data:image/jpeg;base64," + + resultObj.resultContent.identityPrintPic; + } + } else if (resultObj.resultFlag == "-1") { + if (resultObj.errorMsg == "绔彛鎵撳紑澶辫触") { + //alert("璇诲崱鍣ㄦ湭杩炴帴"); + } else { + //alert(resultObj.errorMsg); + } + } else if (resultObj.resultFlag == "-2") { + //alert(resultObj.errorMsg); + } + } else if (resultObj.name == "getStatus") { + if (resultObj.resultFlag == "0") { + if (resultObj.status == "0") { + } else { + alert("璁惧杩炴帴宸叉柇寮�锛岃妫�鏌ヨ鍗″櫒杩炴帴"); + } + } + } + }, handleChanges(param1) { if (this.form.pacCode == "涓嶈") { this.form.cusIdcard = param1[0].xh; @@ -1775,7 +2054,6 @@ // this.form.cusName = param1[0].pacName; // this.form.cusPhone = param1[0].pacRemark; }, - changeradio() { if (this.cardreaderradio != 3) { @@ -1870,7 +2148,7 @@ } } _this.form.cusAddr = resultObj.data.addres; - + _this.cardreader = false; }; @@ -1943,13 +2221,13 @@ 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.nation == "姹夋棌") { + _this.form.cusNational = "1"; } - if(resultObj.data.gender == "鐢�"){ + if (resultObj.data.gender == "鐢�") { _this.form.cusSex = 0; - }else{ + } else { _this.form.cusSex = 1; } _this.form.cusBrithday = resultObj.data.birthday; @@ -1995,7 +2273,6 @@ }; } }, - // checkSelectable(row, index) { // if (!row) { @@ -2811,6 +3088,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