| | |
| | | ref="inputName" |
| | | v-model="queryParams.name" |
| | | placeholder="请输入姓名" |
| | | style="width: 200px" |
| | | style="width: 150px" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | |
| | | ref="inputName" |
| | | v-model="queryParams.tjNum" |
| | | placeholder="请输入体检号" |
| | | style="width: 200px" |
| | | style="width: 150px" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | @blur="hb" |
| | |
| | | ref="inputName" |
| | | v-model="queryParams.xmmc" |
| | | placeholder="请输入体检项目" |
| | | style="width: 300px" |
| | | style="width: 150px" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | |
| | | <el-form-item |
| | | label="单位名称" |
| | | prop="tjCompName" |
| | | style="margin-left: 20px" |
| | | style="margin-left: 20px; margin-right: 500px" |
| | | > |
| | | <el-select |
| | | :remote-method="getRemoteData" |
| | | v-model="queryParams.tjCompName" |
| | | value-key="drugManufacturerId" |
| | | style="width: 300px" |
| | | style="width: 200px" |
| | | remote |
| | | filterable |
| | | placeholder="请选择单位名称" |
| | | clearable |
| | | @change="searchSelect" |
| | | |
| | | > |
| | | <el-option |
| | | v-for="dict in CompanyList" |
| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="登记时间" prop="createTimeList"> |
| | | <el-form-item label="状态" prop="zt"> |
| | | <el-select |
| | | :remote-method="getRemoteData" |
| | | v-model="queryParams.zt" |
| | | style="width: 150px" |
| | | remote |
| | | filterable |
| | | placeholder="请选择状态" |
| | | clearable |
| | | @change="searchSelect" |
| | | > |
| | | <el-option |
| | | v-for="item in ztList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="登记时间" |
| | | prop="createTimeList" |
| | | style="margin-right: 107px" |
| | | > |
| | | <el-date-picker |
| | | v-model="createTimeList" |
| | | type="datetimerange" |
| | |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div v-if="shijianlist.length > 0" style="margin-bottom: 20px"> |
| | | {{ findNameByTjnum(shijianlist[shijianlist.length - 1].tjNUm) }} |
| | | <el-steps |
| | | :space="200" |
| | | :active="shijianlist[shijianlist.length - 1].sjz" |
| | | finish-status="success" |
| | | align-center |
| | | > |
| | | <el-step title="未检"></el-step> |
| | | <el-step title="在检"></el-step> |
| | | <el-step title="已完成"></el-step> |
| | | <el-step title="已审核"></el-step> |
| | | <el-step title="生成报告"></el-step> |
| | | <el-step title="报告核收"></el-step> |
| | | <el-step title="已出报告"></el-step> |
| | | </el-steps> |
| | | </div> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | |
| | | :disabled="single" |
| | | v-hasPermi="['hosp:order:export']" |
| | | >打印补录单</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="ForceChexiao" |
| | | :disabled="single" |
| | | v-hasPermi="['qzcx']" |
| | | >强制撤销</el-button |
| | | > |
| | | </el-col> |
| | | <right-toolbar |
| | |
| | | </el-table-column> |
| | | <!-- <el-table-column label="创建人" align="center" prop="createBy" /> --> |
| | | <!-- <el-table-column label="更新人" align="center" prop="updateBy" /> --> |
| | | <!-- <el-table-column |
| | | <!-- <el-table-column |
| | | label="单位工号" |
| | | align="center" |
| | | prop="firmWorkId" |
| | | width="100px" |
| | | :show-overflow-tooltip="true" |
| | | /> --> |
| | | |
| | | |
| | | <!-- <el-table-column label="部门名" align="center" prop="firmDeptName" /> --> |
| | | |
| | | <!-- <el-table-column label="客户照片" align="center" prop="photo" /> --> |
| | |
| | | width="260px" |
| | | > |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="proPrice" label="原价" width="56px"> |
| | | </el-table-column> |
| | | |
| | |
| | | > |
| | | <el-table-column prop="propinName" label="检查项目"> |
| | | </el-table-column> |
| | | <el-table-column prop="proPrice" label="原价" width="56px"> |
| | | <el-table-column prop="sl" label="数量" width="56px"> |
| | | </el-table-column> |
| | | <el-table-column prop="proPrice" label="原价" width="56px"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="proName" |
| | |
| | | width="260px" |
| | | > |
| | | </el-table-column> |
| | | |
| | | |
| | | <el-table-column |
| | | label="操作" |
| | |
| | | style="width: 90px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="付款类型" prop="payType"> |
| | | <el-form-item label="付款类型"> |
| | | <el-select |
| | | style="width: 120px" |
| | | v-model="payType" |
| | |
| | | > |
| | | <el-table-column prop="propinName" label="检查项目"> |
| | | </el-table-column> |
| | | <el-table-column prop="proName" label="明细项目" width="260px"> |
| | | <el-table-column prop="proName" label="明细项目" width="200px"> |
| | | </el-table-column> |
| | | <el-table-column prop="sl" label="数量" width="56px"> |
| | | </el-table-column> |
| | | <el-table-column prop="proPrice" label="原价" width="56px"> |
| | | </el-table-column> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="heji"> |
| | | <el-form |
| | | :model="form" |
| | | inline |
| | | style="display: flex; justify-content: space-between; margin-top: 20px" |
| | | > |
| | | <!-- 体检类型 --> |
| | | <el-form-item label="体检类型" prop="tjType" style="display: flex"> |
| | | <div class="type"> |
| | | {{ { 1: "团队", 2: "个人", 3: "团体票" }[form.tjType] }} |
| | | </div> |
| | | </el-form-item> |
| | | |
| | | <!-- 原价 --> |
| | | <el-form-item label="原价" style="display: flex"> |
| | | <el-input |
| | | placeholder="原价" |
| | | :value="TotalPrice1" |
| | | disabled |
| | | style="width: 90px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <!-- 折扣设定 --> |
| | | <el-form-item label="折扣" style="display: flex"> |
| | | <el-input |
| | | style="width: 90px" |
| | | type="number" |
| | | v-model="discount" |
| | | :value="discount" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <!-- 应付金额 --> |
| | | <el-form-item label="应付" style="display: flex"> |
| | | <el-input |
| | | placeholder="应付金额" |
| | | :value="TotalPrice1 * (discount / 10)" |
| | | style="width: 90px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <!-- 付款类型 --> |
| | | <el-form-item label="付款类型" prop="payType" style="display: flex"> |
| | | <el-select |
| | | style="width: 120px" |
| | | v-model="payType" |
| | | placeholder="请选择付款类型" |
| | | @change="onPayTypeChange" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_pay_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <!-- 结算方式 --> |
| | | <el-form-item label="结算方式" prop="jsType" style="display: flex"> |
| | | <el-select |
| | | v-model="jsType" |
| | | placeholder="请选择结算方式" |
| | | style="width: 130px" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.reservation_pay_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <!-- 提交按钮 --> |
| | | <el-form-item style="display: flex"> |
| | | <el-button type="primary" @click="submitPrice1" :disabled="confirm"> |
| | | 提交 |
| | | </el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <!-- <div class="heji"> |
| | | <div class="o"> |
| | | <el-form |
| | | :model="form" |
| | |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="结算方式" prop="payType"> |
| | | <el-select |
| | | v-model="payType" |
| | | placeholder="请选择结算方式" |
| | | style="width: 130px" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.reservation_pay_type" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item style="display: flex"> |
| | | <el-button |
| | | type="primary" |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | </div> --> |
| | | </el-dialog> |
| | | |
| | | <!-- 添加或修改体检记录对话框 --> |
| | |
| | | getTransitionInfo, |
| | | getBlproByTjh, |
| | | revokeBlProByBldhAndTjh, |
| | | getForceChexiao, |
| | | } from "@/api/hosp/order"; |
| | | import moment from "moment"; |
| | | import { getZhList, getlistByZhId } from "@/api/system/package"; |
| | |
| | | import { getInfo } from "@/api/login"; |
| | | import ViewPdf from "@/components/ViewPdf"; |
| | | import { |
| | | projectGetList, |
| | | shijianzhou, |
| | | getaddtTransition, |
| | | getProParentIdDxList, |
| | | getProSonDxList, |
| | |
| | | queryCompany, |
| | | addbatch, |
| | | } from "@/api/team/tuanti"; |
| | | import { createLogger } from "vuex"; |
| | | export default { |
| | | components: { |
| | | ViewPdf, |
| | | }, |
| | | dicts: ["dict_pay_type", "dict_team"], |
| | | dicts: ["dict_pay_type", "dict_team", "reservation_pay_type"], |
| | | name: "Order", |
| | | data() { |
| | | return { |
| | | ztList: [ |
| | | { name: "未检", id: 0 }, |
| | | { name: "在检", id: 1 }, |
| | | { name: "已完成", id: 2 }, |
| | | { name: "已审核", id: 3 }, |
| | | { name: "生成报告", id: 4 }, |
| | | { name: "报告核收", id: 5 }, |
| | | { name: "已出报告", id: 6 }, |
| | | ], |
| | | DataList3: [], |
| | | bldhid: "", |
| | | budadaozhen: false, |
| | |
| | | packagedataList: [], |
| | | cusId: "", |
| | | payType: "0", |
| | | jsType: "0", |
| | | packageList: [], |
| | | checkedkeys: [], |
| | | dialogVisible: false, |
| | |
| | | TreedataList: [], |
| | | discount: 10, |
| | | DataList: [], |
| | | shijianlist: [], |
| | | // 套餐提交按钮 |
| | | confirm: false, |
| | | list1: true, |
| | |
| | | bgbeginTime: null, |
| | | bgendTime: null, |
| | | xmmc: null, |
| | | tjCompName:'', |
| | | dw:null |
| | | tjCompName: "", |
| | | dw: null, |
| | | }, |
| | | startTime: "", |
| | | startTime1: "", |
| | |
| | | }); |
| | | }, |
| | | methods: { |
| | | findNameByTjnum(tjnum) { |
| | | const order = this.orderList.find( |
| | | (orderItem) => orderItem.tjNumber === tjnum |
| | | ); |
| | | return order ? order.tjCustomerName : "未找到"; // 如果找不到对应的项,返回一个默认值 |
| | | }, |
| | | // 搜索 |
| | | getRemoteData(query) { |
| | | if (query) { |
| | |
| | | searchSelect(val) { |
| | | this.CheckBox = val; |
| | | this.queryParams.dw = this.CheckBox.cnName; |
| | | console.log(this.CheckBox,9999); |
| | | |
| | | console.log(this.CheckBox, 9999); |
| | | }, |
| | | onPayTypeChange() { |
| | | if (this.payType === "6" && this.form.tjType !== 3) { |
| | |
| | | this.total = response.data.total; |
| | | this.loading = false; |
| | | }); |
| | | // 获取单位信息集合 |
| | | getCompany(this.queryParams).then((response) => { |
| | | // 获取单位信息集合 |
| | | getCompany(this.queryParams).then((response) => { |
| | | this.CompanyList = response.data; |
| | | console.log( this.CompanyList,555); |
| | | |
| | | |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | |
| | | .catch(() => { |
| | | this.$message.error("无法获取用户信息!"); |
| | | }); |
| | | }, |
| | | |
| | | // 强制撤销按钮 |
| | | ForceChexiao() { |
| | | const tjNum = this.tjnumbers; |
| | | this.$confirm( |
| | | "您是否需要强制撤销?撤销后该人员本次体检记录不可恢复!", |
| | | "确认信息", |
| | | { |
| | | distinguishCancelAndClose: true, |
| | | confirmButtonText: "确认", |
| | | cancelButtonText: "取消", |
| | | customClass: "custom-message-box", |
| | | } |
| | | ) |
| | | |
| | | .then(() => { |
| | | getForceChexiao(tjNum).then((res) => { |
| | | this.$modal.msgSuccess("撤销成功"); |
| | | this.getList(); |
| | | }); |
| | | }) |
| | | .catch((action) => { |
| | | if (action === "cancel") { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "已取消", |
| | | }); |
| | | } |
| | | }); |
| | | this.$nextTick(() => { |
| | | // 确保弹框渲染后应用样式 |
| | | const messageBox = document.querySelector( |
| | | ".custom-message-box .el-message-box__message" |
| | | ); |
| | | if (messageBox) { |
| | | messageBox.style.color = "red"; // 通过 JS 强制设置颜色 |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | handleRevoke() { |
| | |
| | | djendTime: null, |
| | | bgbeginTime: null, |
| | | bgendTime: null, |
| | | dw: null |
| | | dw: null, |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | |
| | | bgbeginTime: null, |
| | | bgendTime: null, |
| | | xmmc: null, |
| | | tjCompName:'', |
| | | dw:null |
| | | } |
| | | tjCompName: "", |
| | | dw: null, |
| | | }; |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | let tjNUms = selection.map((item) => item.tjNumber); |
| | | selection.forEach((item) => { |
| | | this.orderIds = item.orderId; |
| | | this.tjnumbers = item.tjNumber; |
| | |
| | | }); |
| | | |
| | | this.ids = selection.map((item) => item.orderId); |
| | | // this.tjNumbers = selection.map((item) => item.tjNumber); |
| | | this.single = selection.length !== 1; |
| | | this.multiple = !selection.length; |
| | | if (tjNUms.length > 0) { |
| | | shijianzhou(tjNUms).then((res) => { |
| | | this.shijianlist = res.data; |
| | | }); |
| | | } else { |
| | | this.shijianlist = []; |
| | | } |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | // handleAdd() { |
| | |
| | | var discount = ""; |
| | | response.data.water.forEach((item) => { |
| | | copeWith += item.copeWith; |
| | | paidIn += item.copeWith; |
| | | paidIn += item.paidIn; |
| | | discount = item.discount; |
| | | }); |
| | | this.bill.push({ |
| | |
| | | var discount = ""; |
| | | response.data.water.forEach((item) => { |
| | | copeWith += item.copeWith; |
| | | paidIn += item.copeWith; |
| | | paidIn += item.paidIn; |
| | | discount = item.discount; |
| | | }); |
| | | this.bill.push({ |
| | |
| | | let datas = { |
| | | zhId: data.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.checkedListkey.push(item.proId); |
| | | this.DataList.push(item); |
| | | this.DataList3 = this.DataList.concat(this.Datalists); |
| | | console.log(this.DataList, 77777); |
| | | this.spliceData(); |
| | | this.DataList.forEach((item1) => { |
| | | if (item1.proParentId == data.proId) { |
| | |
| | | this.TotalPrice1 = 0; |
| | | if (this.DataList3.length != 0) { |
| | | this.DataList3.forEach((item) => { |
| | | this.TotalPrice1 += item.proPrice; |
| | | |
| | | this.TotalPrice1 += item.proPrice * item.sl; |
| | | }); |
| | | } |
| | | // this.TotalPrice1 = 0; |
| | |
| | | this.DataList.splice(index, 1); |
| | | this.TotalPrice1 = 0; |
| | | this.DataList.forEach((item1) => { |
| | | |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | |
| | | }); |
| | | if (this.marryalls != 0) { |
| | | this.TotalPrice1 += this.marryalls; |
| | |
| | | }); |
| | | } else if (checked == true) { |
| | | this.DataList.push(data); |
| | | console.log(this.DataList, 6666); |
| | | this.DataList.forEach((item1) => { |
| | | if (item1.proParentId == this.dataObj.proId) { |
| | | item1.propinName = this.dataObj.proName; |
| | |
| | | this.spliceData(); |
| | | this.TotalPrice1 = 0; |
| | | this.DataList.forEach((item1) => { |
| | | console.log(item1.proPrice,3322); |
| | | console.log(this.TotalPrice1,1122); |
| | | |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | }); |
| | | if (this.marryalls != 0) { |
| | |
| | | discount, |
| | | copeWith, |
| | | tjType, |
| | | payStasus:this.jsType, |
| | | orderId: this.orderIds, |
| | | tjProIds: this.proIds, |
| | | payType: this.payType, |
| | | }; |
| | | |
| | | getwater(data).then((res) => { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | this.mobanId = res.data.mobanId; |
| | |
| | | handleProjectssChange(selection) { |
| | | this.DataListss = []; |
| | | this.selection = []; |
| | | |
| | | this.bldhs = selection.map((item) => item.bldh); |
| | | selection.forEach((item) => { |
| | | item.projectList.forEach((item1) => { |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="scss"> |
| | | <style lang="scss" scoped> |
| | | .pag { |
| | | width: 100%; |
| | | display: flex; |
| | |
| | | // .el-dialog__body { |
| | | // padding: 20px; |
| | | // } |
| | | ::v-deep .el-message-box__message { |
| | | color: red !important; /* 强制设置颜色为红色 */ |
| | | } |
| | | // .custom-message-box .el-message-box__message { |
| | | // color: red !important; /* 设置文字为红色 */ |
| | | // } |
| | | .o { |
| | | margin-top: 8px; |
| | | } |
| | |
| | | flex-direction: column; |
| | | } |
| | | |
| | | ::v-deep .el-step__title.is-process { |
| | | color: rgb(24, 144, 255); |
| | | } |
| | | ::v-deep .el-step__head.is-process { |
| | | color: rgb(24, 144, 255); |
| | | border-color: rgb(24, 144, 255); |
| | | } |
| | | .shijian { |
| | | display: flex; |
| | | align-items: flex-start; |
| | | } |
| | | </style> |