| | |
| | | <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="请输入负责人" /> |
| | | </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> |
| | |
| | | ]" |
| | | > |
| | | <el-input |
| | | @input="form.cusName = $event.replace(/\s/g, '')" |
| | | v-model="form.cusName" |
| | | placeholder="请输入姓名" |
| | | style="width: 99%" |
| | |
| | | }, |
| | | ]" |
| | | > |
| | | <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"> |
| | |
| | | <el-input |
| | | v-model="form.cusIdcard" |
| | | placeholder="请输入身份证号" |
| | | @input="inputChange" |
| | | @input="handleIdCardInput" |
| | | style="width: 190px" |
| | | /> |
| | | <!-- <i |
| | | style="font-size: 17px; margin-left: 3px" |
| | |
| | | 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" |
| | |
| | | <el-select |
| | | :disabled="isDisabled" |
| | | v-model="form.ageUnit" |
| | | style="width: 20%" |
| | | style="width: 19%" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_ageunit" |
| | |
| | | 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="请输入职业" |
| | |
| | | :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" |
| | |
| | | <!-- <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 |
| | |
| | | </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> |
| | |
| | | <el-form |
| | | :model="form" |
| | | :inline="true" |
| | | label-width="100px" |
| | | label-width="104px" |
| | | style="margin-left: 10px" |
| | | > |
| | | <el-form-item label="应收金额" style="margin-right: 20px"> |
| | |
| | | <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 |
| | | > |
| | |
| | | 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", |
| | |
| | | // } |
| | | // }; |
| | | 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: "", |
| | |
| | | valueUrls: "ws://127.0.0.1:6789/websocket", |
| | | dialogVisiblese: false, |
| | | cardreader: false, |
| | | cardreaderradio:3, |
| | | cardreaderradio: 3, |
| | | inputSSS: "", |
| | | lishi: false, |
| | | table: false, |
| | |
| | | |
| | | // 表单参数 |
| | | // 表单参数 |
| | | form1: { |
| | | company: "", |
| | | payType: "", |
| | | name: "", |
| | | phoe: "", |
| | | signingPic: "", |
| | | discount: "", |
| | | }, |
| | | form: { |
| | | cusIdcard: "", |
| | | tjType: '3', |
| | | tjType: "3", |
| | | category: "01", |
| | | cusSex: 1, |
| | | cusNational: "1", |
| | |
| | | }, |
| | | }, |
| | | 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]$/; |
| | |
| | | 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; |
| | |
| | | }; |
| | | var jStr = JSON.stringify(jsonObj); |
| | | this.websocket.send(jStr); |
| | | alert("请放身份证再点确认"); |
| | | // alert("请放身份证再点确认"); |
| | | var jsonObj = { |
| | | // name: "readCert", |
| | | }; |
| | |
| | | }; |
| | | |
| | | //接收到消息的回调方法 |
| | | websocket.onmessage = (event)=> { |
| | | websocket.onmessage = (event) => { |
| | | var resultObj = eval("(" + event.data + ")"); |
| | | //resultFlag为0代表读卡成功 |
| | | |
| | | |
| | | // TODO 以下代码可能是泾川使用的 |
| | | console.log(resultObj); |
| | | // this.jingChuanHandlerWebSocketResult(resultObj) |
| | | this.readCardWebSocket(resultObj) |
| | | this.readCardWebSocket(resultObj); |
| | | }; |
| | | |
| | | //连接关闭的回调方法 |
| | |
| | | }); |
| | | } |
| | | }, |
| | | // 最新使用webSocket通信 |
| | | readCardWebSocket(resultObj){ |
| | | // 最新使用webSocket通信 |
| | | 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 { |
| | |
| | | } |
| | | } else if (resultObj.resultFlag == "-2") { |
| | | //alert(resultObj.errorMsg); |
| | | } |
| | | } */ |
| | | }, |
| | | // TODO 以下代码可能是泾川使用的 |
| | | jingChuanHandlerWebSocketResult(resultObj) { |
| | |
| | | // this.form.cusName = param1[0].pacName; |
| | | // this.form.cusPhone = param1[0].pacRemark; |
| | | }, |
| | | |
| | | |
| | | changeradio() { |
| | | if (this.cardreaderradio != 3) { |
| | |
| | | } |
| | | } |
| | | _this.form.cusAddr = resultObj.data.addres; |
| | | |
| | | |
| | | _this.cardreader = false; |
| | | }; |
| | | |
| | |
| | | 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; |
| | |
| | | }; |
| | | } |
| | | }, |
| | | |
| | | |
| | | // checkSelectable(row, index) { |
| | | // if (!row) { |
| | |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | .dialog-footer2 { |
| | | width: 960px; |
| | | height: 36px; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | </style> |
| | | |
| | | |