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 | 359 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 296 insertions(+), 63 deletions(-) diff --git a/src/views/system/tijianall/index.vue b/src/views/system/tijianall/index.vue index 4ac24cb..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 @@ -650,9 +768,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 +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"> @@ -728,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 > @@ -991,16 +1108,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 +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: "", @@ -1065,7 +1202,7 @@ valueUrls: "ws://127.0.0.1:6789/websocket", dialogVisiblese: false, cardreader: false, - cardreaderradio:3, + cardreaderradio: 3, inputSSS: "", lishi: false, table: false, @@ -1211,9 +1348,17 @@ // 琛ㄥ崟鍙傛暟 // 琛ㄥ崟鍙傛暟 + form1: { + company: "", + payType: "", + name: "", + phoe: "", + signingPic: "", + discount: "", + }, form: { cusIdcard: "", - tjType: '3', + tjType: "3", category: "01", cusSex: 1, cusNational: "1", @@ -1277,11 +1422,90 @@ }, }, created() { + this.getCompanyList(); + this.getList1(); - console.log(this.dict.type.dict_team,999); - + 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]$/; @@ -1578,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; @@ -1659,7 +1889,7 @@ }; var jStr = JSON.stringify(jsonObj); this.websocket.send(jStr); - alert("璇锋斁韬唤璇佸啀鐐圭‘璁�"); + // alert("璇锋斁韬唤璇佸啀鐐圭‘璁�"); var jsonObj = { // name: "readCert", }; @@ -1669,14 +1899,14 @@ }; //鎺ユ敹鍒版秷鎭殑鍥炶皟鏂规硶 - websocket.onmessage = (event)=> { + websocket.onmessage = (event) => { var resultObj = eval("(" + event.data + ")"); //resultFlag涓�0浠h〃璇诲崱鎴愬姛 - + // TODO 浠ヤ笅浠g爜鍙兘鏄尘宸濅娇鐢ㄧ殑 console.log(resultObj); // this.jingChuanHandlerWebSocketResult(resultObj) - this.readCardWebSocket(resultObj) + this.readCardWebSocket(resultObj); }; //杩炴帴鍏抽棴鐨勫洖璋冩柟娉� @@ -1722,32 +1952,31 @@ }); } }, -// 鏈�鏂颁娇鐢╳ebSocket閫氫俊 -readCardWebSocket(resultObj){ + // 鏈�鏂颁娇鐢╳ebSocket閫氫俊 + readCardWebSocket(resultObj) { let _this = this; - if (resultObj.code === 200) { - //鍥炴樉鐩稿叧鏁版嵁 - _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 if (resultObj.resultFlag == "-1") { + 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 { @@ -1755,7 +1984,7 @@ } } else if (resultObj.resultFlag == "-2") { //alert(resultObj.errorMsg); - } + } */ }, // TODO 浠ヤ笅浠g爜鍙兘鏄尘宸濅娇鐢ㄧ殑 jingChuanHandlerWebSocketResult(resultObj) { @@ -1816,7 +2045,6 @@ // this.form.cusName = param1[0].pacName; // this.form.cusPhone = param1[0].pacRemark; }, - changeradio() { if (this.cardreaderradio != 3) { @@ -1911,7 +2139,7 @@ } } _this.form.cusAddr = resultObj.data.addres; - + _this.cardreader = false; }; @@ -1984,13 +2212,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; @@ -2036,7 +2264,6 @@ }; } }, - // checkSelectable(row, index) { // if (!row) { @@ -2852,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