|
|
@ -13,28 +13,44 @@ |
|
|
<div style="height: 60px;padding: 10px;border-radius: 8px;background-color: #fff;margin-bottom: 10px;"> |
|
|
<div style="height: 60px;padding: 10px;border-radius: 8px;background-color: #fff;margin-bottom: 10px;"> |
|
|
<div style="display:flex;"> |
|
|
<div style="display:flex;"> |
|
|
<div> |
|
|
<div> |
|
|
<span>登记日期:</span> |
|
|
|
|
|
|
|
|
<span>{{ dateTypeName }}日期</span> |
|
|
<el-date-picker v-model="query.startDate" type="date" placeholder="起始日期" size="small" |
|
|
<el-date-picker v-model="query.startDate" type="date" placeholder="起始日期" size="small" |
|
|
style="width:90px;" :picker-options="pickerOptions" /> |
|
|
style="width:90px;" :picker-options="pickerOptions" /> |
|
|
<span style="margin: 0 3px;">至</span> |
|
|
<span style="margin: 0 3px;">至</span> |
|
|
<el-date-picker v-model="query.endDate" type="date" placeholder="截止日期" size="small" |
|
|
<el-date-picker v-model="query.endDate" type="date" placeholder="截止日期" size="small" |
|
|
style="width:90px;" :picker-options="pickerOptions" /> |
|
|
style="width:90px;" :picker-options="pickerOptions" /> |
|
|
</div> |
|
|
</div> |
|
|
<div style="margin-left:10px;"> |
|
|
|
|
|
<el-button type="primary" class="commonbutton" @click="Query" size="small" |
|
|
|
|
|
style="width:95px;">查询</el-button> |
|
|
|
|
|
|
|
|
<div> |
|
|
|
|
|
<span class="query">条码号</span> |
|
|
|
|
|
<el-input ref="tmh" placeholder="条码号" v-model="query.patientRegisterNo" size="small" |
|
|
|
|
|
style="width: 120px;" clearable /> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div> |
|
|
|
|
|
<span class="query">档案号</span> |
|
|
|
|
|
<el-input placeholder="档案号" v-model="query.patientNo" size="small" style="width: 90px;" clearable /> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div style="display:flex;justify-content: space-between;"> |
|
|
<div style="display:flex;"> |
|
|
<div style="display:flex;"> |
|
|
<el-radio-group v-model="query.chargeFlag" @input="Query" size="mini" style="margin-top:8px;"> |
|
|
|
|
|
|
|
|
<div> |
|
|
|
|
|
<span>姓名</span> |
|
|
|
|
|
<el-input placeholder="姓名" v-model="query.patientName" size="small" style="width: 100px;" |
|
|
|
|
|
clearable /> |
|
|
|
|
|
</div> |
|
|
|
|
|
<el-radio-group v-model="query.chargeFlag" @input="btnQuery" size="mini" style="margin-top:8px;margin-left: 21px;"> |
|
|
<el-radio label="N">未收费</el-radio> |
|
|
<el-radio label="N">未收费</el-radio> |
|
|
<el-radio label="Y">已收费</el-radio> |
|
|
<el-radio label="Y">已收费</el-radio> |
|
|
<el-radio label="B">已退费</el-radio> |
|
|
<el-radio label="B">已退费</el-radio> |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
<div v-if="query.chargeFlag != 'N'" style="margin-left:20px;"> |
|
|
|
|
|
|
|
|
<div v-if="query.chargeFlag != 'N'" style="margin-left:21px;"> |
|
|
<span>发票号</span> |
|
|
<span>发票号</span> |
|
|
<el-input placeholder="发票/收据号" v-model="query.invoiceNo" size="small" |
|
|
<el-input placeholder="发票/收据号" v-model="query.invoiceNo" size="small" |
|
|
style="margin-left: 3px; width: 100px;" clearable @change="Query('invoiceNo')" /> |
|
|
|
|
|
|
|
|
style="width: 90px;" clearable /> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div> |
|
|
|
|
|
<el-button type="primary" class="commonbutton" @click="btnQuery" size="small" |
|
|
|
|
|
style="width:60px;">查询</el-button> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
@ -45,7 +61,22 @@ |
|
|
<!-- |
|
|
<!-- |
|
|
<el-table-column prop="patientRegisterId" label="体检记录ID" /> |
|
|
<el-table-column prop="patientRegisterId" label="体检记录ID" /> |
|
|
--> |
|
|
--> |
|
|
<el-table-column prop="customerOrgParentName" label="单位" width="180"> |
|
|
|
|
|
|
|
|
<el-table-column type="index" label="序号" width="40" align="center" /> |
|
|
|
|
|
<el-table-column v-if="query.chargeFlag == 'Y'" label="收费时间" prop="chargeTime" width="140" |
|
|
|
|
|
align="center" /> |
|
|
|
|
|
<el-table-column v-if="query.chargeFlag == 'Y'" label="收费人" prop="chargeName" width="80" |
|
|
|
|
|
align="center" /> |
|
|
|
|
|
<el-table-column v-if="query.chargeFlag == 'Y'" label="收费金额" prop="chargeMoney" width="80" |
|
|
|
|
|
align="center" /> |
|
|
|
|
|
|
|
|
|
|
|
<el-table-column v-if="query.chargeFlag == 'B'" label="退费时间" prop="chargeBackTime" width="140" |
|
|
|
|
|
align="center" /> |
|
|
|
|
|
<el-table-column v-if="query.chargeFlag == 'B'" label="退费人" prop="chargeBackName" width="80" |
|
|
|
|
|
align="center" /> |
|
|
|
|
|
<el-table-column v-if="query.chargeFlag == 'B'" label="退费金额" prop="chargeBackMoney" width="80" |
|
|
|
|
|
align="center" /> |
|
|
|
|
|
|
|
|
|
|
|
<el-table-column prop="customerOrgParentName" label="单位" width="150"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgParentName : |
|
|
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgParentName : |
|
|
scope.row.customerOrgName }} |
|
|
scope.row.customerOrgName }} |
|
|
@ -53,12 +84,12 @@ |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column prop="patientName" label="姓名" /> |
|
|
<el-table-column prop="patientName" label="姓名" /> |
|
|
<el-table-column prop="sexId" label="性别" /> |
|
|
|
|
|
<el-table-column prop="age" label="年龄" /> |
|
|
|
|
|
<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"> |
|
|
|
|
|
|
|
|
<el-table-column prop="sexId" label="性别" width="40" align="center" /> |
|
|
|
|
|
<el-table-column prop="age" label="年龄" width="40" align="center" /> |
|
|
|
|
|
<el-table-column prop="patientRegisterNo" label="条码号" width="120" align="center" /> |
|
|
|
|
|
<el-table-column prop="patientNo" label="档案号" width="80" align="center" /> |
|
|
|
|
|
<el-table-column prop="medicalTimes" label="体检次数" width="80" align="center" /> |
|
|
|
|
|
<el-table-column prop="isVip" label="VIP" width="30" align="center"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<div>{{ scope.row.isVip == "Y" ? "是" : "否" }}</div> |
|
|
<div>{{ scope.row.isVip == "Y" ? "是" : "否" }}</div> |
|
|
</template> |
|
|
</template> |
|
|
@ -78,25 +109,26 @@ |
|
|
</el-table> |
|
|
</el-table> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<!-- 收费操作 --> |
|
|
<!-- 收费操作 --> |
|
|
<div :style="`display: block;margin-left:10px;width: ${Math.floor(bodyWidth * 2 / 5)}px;`"> |
|
|
<div :style="`display: block;margin-left:10px;width: ${Math.floor(bodyWidth * 2 / 5)}px;`"> |
|
|
<!-- 查询信息 --> |
|
|
|
|
|
|
|
|
<!-- 人员信息 --> |
|
|
<div style="height: 40px; background-color: #fff;border-radius: 8px;margin-bottom: 10px;"> |
|
|
<div style="height: 40px; background-color: #fff;border-radius: 8px;margin-bottom: 10px;"> |
|
|
<div style="display: flex; flex-wrap: wrap;height:40px; width: 100%;align-items: center;"> |
|
|
<div style="display: flex; flex-wrap: wrap;height:40px; width: 100%;align-items: center;"> |
|
|
<div class="query"> |
|
|
<div class="query"> |
|
|
<span>条码号</span> |
|
|
<span>条码号</span> |
|
|
<el-input placeholder="条码号" v-model="query.patientRegisterNo" size="small" |
|
|
|
|
|
style="margin-left: 3px; width: 120px;" clearable @change="Query('patientRegisterNo')" /> |
|
|
|
|
|
|
|
|
<el-input v-model="info.patientRegisterNo" size="small" |
|
|
|
|
|
style="margin-left: 3px; width: 120px;" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
<div class="query"> |
|
|
<div class="query"> |
|
|
<span>档案号</span> |
|
|
<span>档案号</span> |
|
|
<el-input placeholder="档案号" v-model="query.patientNo" size="small" |
|
|
|
|
|
style="margin-left: 3px; width: 80px;" clearable @change="Query('patientNo')" /> |
|
|
|
|
|
|
|
|
<el-input v-model="info.patientNo" size="small" |
|
|
|
|
|
style="margin-left: 3px; width: 90px;" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
<div class="query"> |
|
|
<div class="query"> |
|
|
<span>姓名</span> |
|
|
<span>姓名</span> |
|
|
<el-input placeholder="姓名" v-model="query.patientName" size="small" |
|
|
|
|
|
style="margin-left: 3px; width: 70px;" disabled @change="Query" /> |
|
|
|
|
|
|
|
|
<el-input v-model="info.patientName" size="small" |
|
|
|
|
|
style="margin-left: 3px; width: 80px;" disabled /> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
@ -359,6 +391,13 @@ export default { |
|
|
invoiceNo: '', |
|
|
invoiceNo: '', |
|
|
patientName: '', |
|
|
patientName: '', |
|
|
},//查询条件 |
|
|
},//查询条件 |
|
|
|
|
|
|
|
|
|
|
|
info:{ |
|
|
|
|
|
patientRegisterNo: '', |
|
|
|
|
|
patientNo: '', |
|
|
|
|
|
patientName:'' |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
patientList: [],//人员列表 |
|
|
patientList: [],//人员列表 |
|
|
formInit: {}, |
|
|
formInit: {}, |
|
|
form: { |
|
|
form: { |
|
|
@ -444,19 +483,37 @@ export default { |
|
|
|
|
|
|
|
|
//挂载完成 |
|
|
//挂载完成 |
|
|
mounted() { |
|
|
mounted() { |
|
|
//this.enterToQuery() |
|
|
|
|
|
|
|
|
this.enterToQuery() |
|
|
|
|
|
|
|
|
if (this.patientRegisterNo){ |
|
|
if (this.patientRegisterNo){ |
|
|
this.Query('patientRegisterNo'); |
|
|
|
|
|
} else { |
|
|
|
|
|
this.Query(); |
|
|
|
|
|
|
|
|
this.query.patientRegisterNo = this.patientRegisterNo |
|
|
|
|
|
this.query.chargeFlag = 'N' |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
this.btnQuery(); |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
computed: { |
|
|
computed: { |
|
|
...mapState(["pickerOptions", "window", "dict", "dataTransOpts", "patientRegister", "customerOrg"]), |
|
|
...mapState(["pickerOptions", "window", "dict", "dataTransOpts", "patientRegister", "customerOrg"]), |
|
|
|
|
|
|
|
|
|
|
|
dateTypeName() { |
|
|
|
|
|
let ret = '登记' |
|
|
|
|
|
switch (this.query.chargeFlag) { |
|
|
|
|
|
case 'N': |
|
|
|
|
|
break; |
|
|
|
|
|
case 'Y': |
|
|
|
|
|
ret = '收费' |
|
|
|
|
|
break; |
|
|
|
|
|
case 'B': |
|
|
|
|
|
ret = '退费' |
|
|
|
|
|
break; |
|
|
|
|
|
default: |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
return ret |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
tableListHeight() { |
|
|
tableListHeight() { |
|
|
let tempH = this.window.pageHeight < 600 ? 600 : this.window.pageHeight |
|
|
let tempH = this.window.pageHeight < 600 ? 600 : this.window.pageHeight |
|
|
return tempH - 175 - 30 - 35 |
|
|
return tempH - 175 - 30 - 35 |
|
|
@ -474,8 +531,8 @@ export default { |
|
|
dddw, moment, |
|
|
dddw, moment, |
|
|
|
|
|
|
|
|
//查询人员列表数据 |
|
|
//查询人员列表数据 |
|
|
Query(type) { |
|
|
|
|
|
let url = '', ltype = type, body = {}; |
|
|
|
|
|
|
|
|
btnQuery() { |
|
|
|
|
|
let url = '', body = {}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// { |
|
|
// { |
|
|
@ -490,22 +547,13 @@ export default { |
|
|
// "maxResultCount": 0 |
|
|
// "maxResultCount": 0 |
|
|
// } |
|
|
// } |
|
|
|
|
|
|
|
|
if (this.patientRegisterNo) { |
|
|
|
|
|
this.query.patientRegisterNo = this.patientRegisterNo |
|
|
|
|
|
ltype = 'patientRegisterNo' |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
console.log('query', ltype, this.query, this.patientRegisterNo); |
|
|
|
|
|
|
|
|
//console.log('query', this.query); |
|
|
|
|
|
|
|
|
if (ltype == 'patientRegisterNo') { |
|
|
|
|
|
if (!this.query.patientRegisterNo) return; |
|
|
|
|
|
|
|
|
if(this.query.patientRegisterNo){ |
|
|
body = { patientRegisterNo: this.query.patientRegisterNo }; |
|
|
body = { patientRegisterNo: this.query.patientRegisterNo }; |
|
|
} else if (ltype == 'patientNo') { |
|
|
|
|
|
if (!this.query.patientNo) return; |
|
|
|
|
|
|
|
|
}else if(this.query.patientNo){ |
|
|
body = { patientNo: this.query.patientNo }; |
|
|
body = { patientNo: this.query.patientNo }; |
|
|
} else if (ltype == 'invoiceNo' && this.query.chargeFlag != 'N') { |
|
|
|
|
|
if (!this.query.invoiceNo) return; |
|
|
|
|
|
|
|
|
}else if(this.query.invoiceNo && this.query.chargeFlag != 'N'){ |
|
|
body = { invoiceNo: this.query.invoiceNo }; |
|
|
body = { invoiceNo: this.query.invoiceNo }; |
|
|
}else{ |
|
|
}else{ |
|
|
if (this.query.startDate && this.query.endDate) { |
|
|
if (this.query.startDate && this.query.endDate) { |
|
|
@ -515,6 +563,7 @@ export default { |
|
|
this.$message.warning("起始日期不能大于截止日期,数据校验不通过!") |
|
|
this.$message.warning("起始日期不能大于截止日期,数据校验不通过!") |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
|
|
|
if(this.query.patientName) body.patientName = this.query.patientName |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -533,6 +582,14 @@ export default { |
|
|
break; |
|
|
break; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 查询前,清除其他收费或人员信息数据 |
|
|
|
|
|
this.info.patientName = '' |
|
|
|
|
|
this.info.patientNo = '' |
|
|
|
|
|
this.info.patientRegisterNo = '' |
|
|
|
|
|
this.form = Object.assign({}, this.formInit) |
|
|
|
|
|
this.chargePays = [] |
|
|
|
|
|
this.asbItemsForFee = [] |
|
|
|
|
|
|
|
|
// const loading = this.$loading({ |
|
|
// const loading = this.$loading({ |
|
|
// lock: true, |
|
|
// lock: true, |
|
|
// text: 'Loading', |
|
|
// text: 'Loading', |
|
|
@ -570,9 +627,10 @@ export default { |
|
|
|
|
|
|
|
|
//人员列表点击 |
|
|
//人员列表点击 |
|
|
rowClick(row) { |
|
|
rowClick(row) { |
|
|
this.query.patientRegisterNo = row.patientRegisterNo; |
|
|
|
|
|
this.query.patientName = row.patientName; |
|
|
|
|
|
this.query.patientNo = row.patientNo; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.info.patientRegisterNo = row.patientRegisterNo; |
|
|
|
|
|
this.info.patientName = row.patientName; |
|
|
|
|
|
this.info.patientNo = row.patientNo; |
|
|
|
|
|
|
|
|
this.chargePays = deepCopy(this.chargePaysInit); |
|
|
this.chargePays = deepCopy(this.chargePaysInit); |
|
|
//console.log(this.chargePays, this.chargePaysInit); |
|
|
//console.log(this.chargePays, this.chargePaysInit); |
|
|
@ -593,10 +651,8 @@ export default { |
|
|
this.form.invoiceOrgName = row.patientName; |
|
|
this.form.invoiceOrgName = row.patientName; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//获取个人会员卡信息 |
|
|
|
|
|
this.getCardRegister(row.idNo); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//获取个人会员卡信息 (废弃) |
|
|
|
|
|
//this.getCardRegister(row.idNo); |
|
|
|
|
|
|
|
|
switch (this.query.chargeFlag) { |
|
|
switch (this.query.chargeFlag) { |
|
|
case 'N': |
|
|
case 'N': |
|
|
@ -1114,9 +1170,9 @@ export default { |
|
|
//console.log('body',body); |
|
|
//console.log('body',body); |
|
|
postapi('/api/app/registerasbitem/registerasbitemcharge', body).then(res => { |
|
|
postapi('/api/app/registerasbitem/registerasbitemcharge', body).then(res => { |
|
|
if (res.code != -1) { |
|
|
if (res.code != -1) { |
|
|
|
|
|
|
|
|
this.form.id = res.data.chargeId; //可防止重复提交收费 |
|
|
this.form.id = res.data.chargeId; //可防止重复提交收费 |
|
|
|
|
|
|
|
|
|
|
|
// 壳端 才有打印提示 |
|
|
this.$confirm("操作成功, 是否打印发票?", "提示", { |
|
|
this.$confirm("操作成功, 是否打印发票?", "提示", { |
|
|
confirmButtonText: "是", |
|
|
confirmButtonText: "是", |
|
|
cancelButtonText: "否", |
|
|
cancelButtonText: "否", |
|
|
@ -1124,12 +1180,12 @@ export default { |
|
|
}).then(() => { |
|
|
}).then(() => { |
|
|
this.chargePrint('0007', false, res.data.chargeId) |
|
|
this.chargePrint('0007', false, res.data.chargeId) |
|
|
setTimeout(() => { |
|
|
setTimeout(() => { |
|
|
this.Query(); |
|
|
|
|
|
|
|
|
this.btnQuery(); |
|
|
}, 1000) |
|
|
}, 1000) |
|
|
}).catch((err) => { |
|
|
}).catch((err) => { |
|
|
if (err == "cancel") { |
|
|
if (err == "cancel") { |
|
|
//this.$message.info("已取消删除"); |
|
|
//this.$message.info("已取消删除"); |
|
|
this.Query(); |
|
|
|
|
|
|
|
|
this.btnQuery(); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
@ -1207,7 +1263,7 @@ export default { |
|
|
if (res.code != -1) { |
|
|
if (res.code != -1) { |
|
|
console.log("操作成功!"); |
|
|
console.log("操作成功!"); |
|
|
this.form.chargeFlag = '1'; //防止重复提交退费 |
|
|
this.form.chargeFlag = '1'; //防止重复提交退费 |
|
|
this.Query(); |
|
|
|
|
|
|
|
|
this.btnQuery(); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
@ -1486,9 +1542,15 @@ export default { |
|
|
console.log(input.getAttribute('placeholder'), input.value) |
|
|
console.log(input.getAttribute('placeholder'), input.value) |
|
|
let placeholder = input.getAttribute('placeholder') |
|
|
let placeholder = input.getAttribute('placeholder') |
|
|
switch (placeholder) { |
|
|
switch (placeholder) { |
|
|
|
|
|
case '条码号': |
|
|
|
|
|
case '档案号': |
|
|
|
|
|
case '发票/收据号': |
|
|
|
|
|
if (input.value) this.btnQuery() |
|
|
|
|
|
input.select() |
|
|
|
|
|
break; |
|
|
case '卡号': |
|
|
case '卡号': |
|
|
if (input.value) this.btnQueryCard() |
|
|
if (input.value) this.btnQueryCard() |
|
|
//input.select() |
|
|
|
|
|
|
|
|
input.select() |
|
|
break; |
|
|
break; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -1515,13 +1577,15 @@ export default { |
|
|
|
|
|
|
|
|
//监听事件() |
|
|
//监听事件() |
|
|
watch: { |
|
|
watch: { |
|
|
|
|
|
// 从登记页面,跳至收费页面时,始终默认为未收费方式 |
|
|
"dataTransOpts.refresh.charge.S": { |
|
|
"dataTransOpts.refresh.charge.S": { |
|
|
//immediate: true, // 立即执行 |
|
|
//immediate: true, // 立即执行 |
|
|
// // deep: true, // 深度监听复杂类型内变化 |
|
|
// // deep: true, // 深度监听复杂类型内变化 |
|
|
handler(newVal, oldVal) { |
|
|
handler(newVal, oldVal) { |
|
|
console.log(`watch: 收费 newVal: ${newVal}, oldVal: ${oldVal}, 人员条码号: `, this.patientRegisterNo) |
|
|
console.log(`watch: 收费 newVal: ${newVal}, oldVal: ${oldVal}, 人员条码号: `, this.patientRegisterNo) |
|
|
this.query.patientRegisterNo = this.patientRegisterNo |
|
|
this.query.patientRegisterNo = this.patientRegisterNo |
|
|
this.Query("patientRegisterNo") |
|
|
|
|
|
|
|
|
this.query.chargeFlag = 'N' |
|
|
|
|
|
this.btnQuery() |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
|