2 changed files with 334 additions and 0 deletions
@ -0,0 +1,328 @@ |
|||||
|
<template> |
||||
|
<div style="font-size: 14px;display: flex; width: 100%;"> |
||||
|
<div style="display: flex;"> |
||||
|
<div :style="`display: block; width: ${window.pageWidth - 10}px;`"> |
||||
|
<!-- 查询条件 与列表 --> |
||||
|
<div |
||||
|
:style="'display: flex;flex-wrap: wrap;height: 40px;background-color: #fff;border-radius: 8px;margin-bottom: 5px;align-items: center;padding: 10px;width:' + (window.pageWidth - 40) + 'px;'"> |
||||
|
|
||||
|
<div class="query"> |
||||
|
<span class="spanClass">条码号</span> |
||||
|
<el-input placeholder="条码号" v-model="query.patientRegisterNo" size="small" clearable style="width: 120px" /> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<div :style="`height: ${window.pageHeight - 130}px;`"></div> |
||||
|
<!-- 人员列表 --> |
||||
|
<div v-if="false" style="padding: 10px 0 0 0;border-radius: 8px;background-color: #fff;"> |
||||
|
<el-table :data="patientList" border highlight-current-row ref="patientList" |
||||
|
:height="Math.floor(tableListHeight / 2)" @row-click="rowClick" size="small"> |
||||
|
<el-table-column type="index" label="序号" width="40" align="center" /> |
||||
|
<el-table-column prop="chargeSumMoney" label="金额" width="80" align="center" /> |
||||
|
<el-table-column prop="patientName" label="姓名" /> |
||||
|
<el-table-column prop="sexId" label="性别" width="40" /> |
||||
|
<el-table-column prop="age" label="年龄" width="40" /> |
||||
|
<el-table-column prop="patientRegisterNo" label="条码号" width="150" /> |
||||
|
<el-table-column prop="patientNo" label="档案号" /> |
||||
|
<el-table-column prop="medicalTimes" label="体检次数" /> |
||||
|
<el-table-column prop="isVip" label="是否VIP"> |
||||
|
<template slot-scope="scope"> |
||||
|
<div>{{ scope.row.isVip == "Y" ? "是" : "否" }}</div> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="salesman" label="介绍人" /> |
||||
|
<!-- |
||||
|
<el-table-column prop="invoiceNo" label="发票号" /> |
||||
|
<el-table-column prop="invoiceOrgName" label="发票抬头" /> |
||||
|
<el-table-column prop="chargeId" label="介绍人" /> |
||||
|
<el-table-column prop="chargeBackId" label="介绍人" /> |
||||
|
--> |
||||
|
<el-table-column prop="email" label="邮箱" width="180" /> |
||||
|
<el-table-column prop="idNo" label="身份证" width="150" /> |
||||
|
<el-table-column prop="mobileTelephone" label="手机" width="100" /> |
||||
|
<el-table-column prop="telephone" label="电话" width="100" /> |
||||
|
<el-table-column prop="address" label="地址" width="300" /> |
||||
|
|
||||
|
|
||||
|
</el-table> |
||||
|
</div> |
||||
|
|
||||
|
<!-- 项目收费列表 --> |
||||
|
<div v-if="false" style="padding: 10px 0 5px 0;border-radius: 8px;background-color: #fff;"> |
||||
|
<el-table :data="details" border highlight-current-row :height="Math.floor(tableListHeight / 2) - 10" |
||||
|
size="small"> |
||||
|
<el-table-column label="序号" width="40" type="index" align="center" /> |
||||
|
<el-table-column label="组合项目" width="240" prop="asbitemName" /> |
||||
|
<el-table-column label="标准价格" prop="standardPrice" width="80" align="center" /> |
||||
|
<el-table-column label="折扣" prop="discount" width="80" align="center" /> |
||||
|
<el-table-column label="数量" prop="amount" width="50" align="center" /> |
||||
|
<el-table-column label="实收价格" prop="chargePrice" width="80" align="center" /> |
||||
|
<el-table-column prop="total" label="金额" width="70" v-if="false" /> |
||||
|
<el-table-column prop="standardPrice" label="标准金额" width="80" v-if="false" /> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<!-- |
||||
|
<div style="margin-left:10px;" class="btnDivClass"> |
||||
|
<div class="btnListClass"> |
||||
|
<el-button type="primary" class="commonbutton" @click="Query">查询</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
--> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
import moment from 'moment'; |
||||
|
import { mapState, mapActions } from "vuex"; |
||||
|
import { getapi, postapi, putapi, deletapi } from "@/api/api"; |
||||
|
import { tcdate, dddw, arrayExistObj, deepCopy } from "../../utlis/proFunc"; |
||||
|
|
||||
|
|
||||
|
|
||||
|
export default { |
||||
|
components: { |
||||
|
|
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
activeName: "peis", |
||||
|
query: { |
||||
|
dateType: '1', // 1登记 2体检 3缴费 |
||||
|
startDate: null, |
||||
|
endDate: null, |
||||
|
patientRegisterNo: '', |
||||
|
patientNo: '', |
||||
|
invoiceNo: '', // 发票号,订单号 |
||||
|
patientName: '', |
||||
|
idNo: "", // 身份证号 |
||||
|
},//查询条件 |
||||
|
patientList: [],//人员列表 |
||||
|
curPatient: {}, // 当前 |
||||
|
details: [], // 收费明细 |
||||
|
|
||||
|
LocalConfig: { |
||||
|
doctorCheck: { // 医生诊台 |
||||
|
scheduledAet: '', //scheduledAet |
||||
|
}, |
||||
|
lisLab: { // 实验室 |
||||
|
specimens: [], // 默认标本 |
||||
|
} |
||||
|
}, |
||||
|
}; |
||||
|
}, |
||||
|
|
||||
|
created() { |
||||
|
this.dictInit(); |
||||
|
}, |
||||
|
|
||||
|
//挂载完成 |
||||
|
mounted() { |
||||
|
this.enterToQuery() |
||||
|
}, |
||||
|
|
||||
|
computed: { |
||||
|
...mapState(["pickerOptions", "window", "dict", "dataTransOpts", "patientRegister", "customerOrg"]), |
||||
|
|
||||
|
tableListHeight() { |
||||
|
let tempH = this.window.pageHeight < 600 ? 600 : this.window.pageHeight |
||||
|
return tempH - 175 - 30 |
||||
|
}, |
||||
|
|
||||
|
bodyWidth() { |
||||
|
let tempW = this.window.pageWidth < 600 ? 600 : this.window.pageWidth |
||||
|
return tempW - 110 - 25 |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
methods: { |
||||
|
...mapActions(["getCustomerOrgGroup"]), |
||||
|
|
||||
|
dddw, moment, |
||||
|
|
||||
|
//查询人员列表数据 |
||||
|
Query() { |
||||
|
let loading = this.$loading({ |
||||
|
lock: true, |
||||
|
text: 'Loading', |
||||
|
spinner: 'el-icon-loading', |
||||
|
background: 'rgba(0, 0, 0, 0.7)' |
||||
|
}); |
||||
|
|
||||
|
this.query.startDate = moment(this.query.startDate).format("yyyy-MM-DD"); |
||||
|
this.query.endDate = moment(this.query.endDate).format("yyyy-MM-DD"); |
||||
|
|
||||
|
postapi('/api/app/AppointPatientRegister/GerAppointPatientRegisterWithAsbitemList', this.query) |
||||
|
.then(res => { |
||||
|
if (res.code > -1) { |
||||
|
this.patientList = res.data |
||||
|
if (this.patientList.length > 0) { |
||||
|
this.rowClick(this.patientList[0]) |
||||
|
this.$refs['patientList'].setCurrentRow(this.patientList[0]) |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
.finally(() => { |
||||
|
loading.close(); |
||||
|
}) |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
//人员列表点击 |
||||
|
rowClick(row) { |
||||
|
this.curPatient = row |
||||
|
this.details = row.appointRegisterAsbitemDetail |
||||
|
}, |
||||
|
|
||||
|
|
||||
|
//数据初始化 |
||||
|
dictInit() { |
||||
|
this.formInit = Object.assign({}, this.form) |
||||
|
this.query.startDate = new Date() |
||||
|
this.query.endDate = this.query.startDate |
||||
|
|
||||
|
let LocalConfigStr = window.localStorage.getItem("LocalConfig") || null |
||||
|
if (LocalConfigStr) { |
||||
|
try { |
||||
|
let LocalConfig = JSON.parse(LocalConfigStr) |
||||
|
if(LocalConfig?.doctorCheck?.scheduledAet) this.LocalConfig.doctorCheck.scheduledAet = LocalConfig.doctorCheck.scheduledAet |
||||
|
if (LocalConfig?.lisLab?.specimens) this.LocalConfig.lisLab.specimens = LocalConfig.lisLab.specimens |
||||
|
|
||||
|
} catch (error) { |
||||
|
console.log('error', error) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
}, |
||||
|
|
||||
|
//回车替代查询 |
||||
|
enterToQuery() { |
||||
|
// console.log('enterToTab'); |
||||
|
this.$nextTick(() => { |
||||
|
let inputs = document.querySelectorAll(["input"]); //用数组可以读取多个标签的元素 //.inline-input |
||||
|
|
||||
|
// 为每个输入框添加键盘事件监听器 |
||||
|
inputs.forEach((input, i) => { |
||||
|
// console.log('input',input); |
||||
|
input.addEventListener('keydown', (event) => { |
||||
|
if (event.keyCode === 13) { |
||||
|
// 阻止回车键的默认行为(换行) |
||||
|
event.preventDefault(); |
||||
|
|
||||
|
// 如果按下的是回车查询 |
||||
|
// console.log(input.getAttribute('placeholder'),input.value) |
||||
|
let placeholder = input.getAttribute('placeholder') |
||||
|
switch (placeholder) { |
||||
|
case '条码号': |
||||
|
// 扫码 |
||||
|
this.pacsRequest(input.value) |
||||
|
.then(() => { }) |
||||
|
.catch(err => { |
||||
|
console.log('pacsRequest.err', err) |
||||
|
}) |
||||
|
.finally(() => { |
||||
|
input.select() |
||||
|
}) |
||||
|
break; |
||||
|
case '检查条码': |
||||
|
if (input.value) this.onQueryByPacsNo(input.value) |
||||
|
input.select() |
||||
|
break; |
||||
|
case '检验条码': |
||||
|
if (input.value) this.onQueryByLisNo(input.value) |
||||
|
input.select() |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
input.addEventListener('click', (event) => { |
||||
|
let placeholder = input.getAttribute('placeholder') |
||||
|
switch (placeholder) { |
||||
|
case '条码号': |
||||
|
input.select() |
||||
|
break; |
||||
|
} |
||||
|
}); |
||||
|
}); |
||||
|
}); |
||||
|
}, |
||||
|
|
||||
|
// 发送pacs申请(有DCM-Worklist才有) |
||||
|
pacsRequest(checkRequestNo) { |
||||
|
return new Promise((resolve, reject) => { |
||||
|
let body = { |
||||
|
scheduledAet: this.LocalConfig.doctorCheck.scheduledAet, |
||||
|
checkRequestNo |
||||
|
} |
||||
|
postapi('/api/app/Worklist/CreateRegisterCheckWorklist', body) |
||||
|
.then(res => { |
||||
|
if (res.code > -1) { |
||||
|
resolve(res.data) |
||||
|
} else { |
||||
|
reject(res.message) |
||||
|
} |
||||
|
}) |
||||
|
.catch(err => { |
||||
|
reject(err) |
||||
|
}) |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
//监听事件() |
||||
|
watch: { |
||||
|
// "dataTransOpts.refresh.charge.S": { |
||||
|
// immediate: true, // 立即执行 |
||||
|
// // // deep: true, // 深度监听复杂类型内变化 |
||||
|
// handler(newVal, oldVal) { |
||||
|
// console.log(`watch: 收费 newVal: ${newVal}, oldVal: ${oldVal}, 人员条码号: `, this.patientRegisterNo) |
||||
|
// this.query.patientRegisterNo = this.patientRegisterNo |
||||
|
// this.Query("patientRegisterNo") |
||||
|
// } |
||||
|
// }, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
<style scoped> |
||||
|
@import '../../assets/css/global_button.css'; |
||||
|
@import '../../assets/css/global_card.css'; |
||||
|
@import '../../assets/css/global_dialog.css'; |
||||
|
@import '../../assets/css/global_form.css'; |
||||
|
@import '../../assets/css/global_input.css'; |
||||
|
@import '../../assets/css/global_table.css'; |
||||
|
@import '../../assets/css/global.css'; |
||||
|
|
||||
|
|
||||
|
.query { |
||||
|
margin-left: 5px; |
||||
|
font-size: 14px; |
||||
|
color: #232748; |
||||
|
font-weight: 400; |
||||
|
font-family: "NotoSansSC-Regular"; |
||||
|
} |
||||
|
|
||||
|
.btnDivClass { |
||||
|
display: block; |
||||
|
width: 100px; |
||||
|
margin-left: 10px; |
||||
|
} |
||||
|
|
||||
|
.btnListClass { |
||||
|
margin-top: 10px; |
||||
|
} |
||||
|
|
||||
|
.btnClass { |
||||
|
width: 100px; |
||||
|
} |
||||
|
|
||||
|
:deep .el-form-item--mini.el-form-item, |
||||
|
.el-form-item--small.el-form-item { |
||||
|
margin-bottom: 10px; |
||||
|
} |
||||
|
</style> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue