Browse Source

charge

master
pengjun 2 years ago
parent
commit
b73e7ee3e7
  1. 14
      src/components/report/PatientRegisterQueryNobtn.vue
  2. 162
      src/views/charge/charge.vue

14
src/components/report/PatientRegisterQueryNobtn.vue

@ -30,8 +30,7 @@
<div class="query">
<span>性别</span>
<el-select v-model="patientRegister.query.sex" placeholder="请选择" style="width: 80px" size="small">
<el-option v-for="item in dict.forSex" :key="item.id" :label="item.displayName" :value="item.id">
</el-option>
<el-option v-for="item in dict.sex" :key="item.id" :label="item.displayName" :value="item.id"/>
</el-select>
</div>
<div class="query">
@ -40,11 +39,14 @@
style="width: 180px" />
</div>
<div class="query">
<span>体检单位/次数</span>
<el-cascader v-model="patientRegister.query.customerOrgId" :options="patientRegister.customerOrgTreeAll"
:props="{checkStrictly: true,expandTrigger: 'hover',...customerOrg.treeprops,}" placeholder="请选择单位"
:show-all-levels="false" clearable :disabled="orgEnable == 'Y' ? false : true" size="small">
:show-all-levels="false" clearable size="small" @change="changeCustomerOrgId">
</el-cascader>
<el-checkbox v-model="patientRegister.query.customerOrgFlag">单位作为查询条件</el-checkbox>
<el-select v-model="patientRegister.query.sex" placeholder="次数" style="width: 80px" size="small">
<el-option v-for="item in dict.sex" :key="item.id" :label="item.displayName" :value="item.id"/>
</el-select>
</div>
<div class="query">
<span>状态</span>
@ -112,6 +114,10 @@ export default {
},
methods: {
changeCustomerOrgId(v){
console.log(v)
},
},
};
</script>

162
src/views/charge/charge.vue

@ -119,12 +119,12 @@
<el-row>
<el-col :span="12">
<el-form-item label="预收金额" prop="preTotal">
<el-input v-model="form.preTotal" @input="findBalance"/>
<el-input v-model="form.preTotal" @input="findBalance" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="找零" prop="balance">
<el-input v-model="form.balance" disabled/>
<el-input v-model="form.balance" disabled />
</el-form-item>
</el-col>
</el-row>
@ -171,7 +171,7 @@
@input="changeDiscount(scope.row)" />
</template>
</el-table-column>
<el-table-column label="数量" prop="amount" width="50" align="center"/>
<el-table-column label="数量" prop="amount" width="50" align="center" />
<el-table-column label="实收价格" prop="chargePrice" width="80">
<template slot-scope="scope">
<el-input type="number" v-model="scope.row.chargePrice"
@ -180,11 +180,9 @@
</el-table-column>
<el-table-column prop="total" label="金额" width="70" v-if="false" />
<el-table-column prop="standardPrice" label="标准金额" width="80" v-if="false" />
<el-table-column label="支付方式" prop="payTypeFlag" width="100">
<el-table-column label="支付方式" prop="payTypeFlag" width="100" align="center" >
<template slot-scope="scope">
<el-select v-model="scope.row.payTypeFlag" size="small">
<el-option v-for="item in dict.payType" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
<div>{{ dddw(dict.payType, "id", scope.row.payTypeFlag, "displayName") }}</div>
</template>
</el-table-column>
<el-table-column prop="checkCompleteFlag" label="状态" align="center">
@ -346,9 +344,9 @@ export default {
//
rowClick(row) {
if(this.query.chargeFlag == 'B'){
if (this.query.chargeFlag == 'B') {
this.form.chargeFlag = '1';
}else{
} else {
this.form.chargeFlag = '0';
}
@ -361,8 +359,19 @@ export default {
this.form.invoiceNo = '';
this.form.invoiceOrgName = row.patientName;
}
this.getCardRegister(row.idNo);
this.getAsbItemsForFee(row.patientRegisterId, row.chargeId);
if (this.query.chargeFlag == 'Y') {
this.getChargePayByChargeId(row.chargeId);
this.getChargeAsbByChargeid(row.chargeId);
} else if (this.query.chargeFlag == 'B') {
this.getChargeBackPayByChargeBackId(row.chargeBackId);
this.getChargeAsbByChargeid(row.chargeId);
}
},
//
@ -374,15 +383,18 @@ export default {
.then(res => {
if (res.code == 1) {
this.asbItemsForFee = res.data;
this.asbItemsForFee.forEach(e => {
if(e.isCharge == 'N'){
e.chargePriceOri = e.chargePrice;
e.discount = Math.round(10000 * e.chargePrice / e.standardPrice) / 100;
e.standTotal = e.amount * e.standardPrice;
e.total = e.amount * e.chargePrice;
return e;
for (let i = this.asbItemsForFee.length - 1; i >= 0; i--) {
if (this.asbItemsForFee[i].isCharge == 'Y') {
this.asbItemsForFee.splice(i, 1);
continue;
}
});
this.asbItemsForFee[i].chargePriceOri = this.asbItemsForFee[i].chargePrice;
this.asbItemsForFee[i].discount = Math.round(10000 * this.asbItemsForFee[i].chargePrice / this.asbItemsForFee[i].standardPrice) / 100;
this.asbItemsForFee[i].standTotal = this.asbItemsForFee[i].amount * this.asbItemsForFee[i].standardPrice;
this.asbItemsForFee[i].total = this.asbItemsForFee[i].amount * this.asbItemsForFee[i].chargePrice;
}
//
this.toCharge(patientRegisterId);
}
@ -398,6 +410,88 @@ export default {
}
},
// "chargeId": "3a0d5685-b3a0-0186-0dd4-3b3ac0d2d08c",
// "asbitemId": "3a0c657d-4e73-9bab-68da-56ab2f088bb1",
// "asbitemName": "",
// "asbitemPrice": 17,
// "chargePrice": 18,
// "amount": 1,
// "registerAsbitemId": "3a0c6589-9b27-68d1-32f6-51082031d11c",
// "creatorName": "admin",
// "lastModifierName": null,
// "lastModificationTime": null,
// "lastModifierId": null,
// "creationTime": "2023-08-30T10:49:48.753174",
// "creatorId": "3a0c4180-107c-0c89-b25b-0bd34666dcec",
// "id": "3a0d5685-b3bb-8dc2-0d14-56af1ddd11f9"
//
getCardRegister(idNo) {
let body = { cardModeId: '0', idNo };
this.cardRegister = [];
getapi(`/api/app/cardregister/getcardregisterlist`, body).then(res => {
if (res.code != - 1) {
this.cardRegister = res.data;
}
});
},
//
getChargeAsbByChargeid(ChargeId) {
this.asbItemsForFee = [];
getapi(`/api/app/chargeasbitem/getchargeasbiteminchargeid?ChargeId=${ChargeId}`).then(res => {
if (res.code != - 1) {
res.data.forEach(e => {
this.asbItemsForFee.push({
asbitemName: e.asbitemName,
standardPrice: e.asbitemPrice,
chargePrice: e.chargePrice,
chargePriceOri: e.chargePrice,
amount: e.amount,
discount: Math.round(10000 * e.chargePrice / e.asbitemPrice) / 100,
payTypeFlag: e.payTypeFlag,
checkCompleteFlag: e.checkCompleteFlag,
creatorName: e.creatorName,
creationTime: e.creationTime,
});
});
}
});
},
//
getChargePayByChargeId(ChargeId) {
let lfind = -1;
getapi(`/api/app/chargepay/getchargepayinchargeid?ChargeId=${ChargeId}`).then(res => {
if (res.code != - 1) {
res.data.forEach(e => {
lfind = arrayExistObj(this.chargePays, 'payModeId', e.payModeId);
if (lfind > - 1) {
this.chargePays[lfind].chargeMoney = e.chargeMoney;
this.chargePays[lfind].cardRegisterId = e.cardBillId;
}
});
}
});
},
//退
getChargeBackPayByChargeBackId(ChargeBackId) {
let lfind = -1;
getapi(`/api/app/chargebackpay/getchargebackpayinchargebackid?ChargeBackId=${ChargeBackId}`).then(res => {
if (res.code != - 1) {
res.data.forEach(e => {
lfind = arrayExistObj(this.chargePays, 'payModeId', e.payModeId);
if (lfind > - 1) {
this.chargePays[lfind].chargeMoney = e.backMoeny;
this.chargePays[lfind].cardRegisterId = e.cardBillId;
}
});
}
});
},
//
toCharge(patientRegisterId) {
//
@ -459,7 +553,7 @@ export default {
totalOri += Math.round(100 * e.amount * e.chargePriceOri) / 100; //
});
if(totalOri != 0){
if (totalOri != 0) {
discount = Math.round(10000 * totalPlan / totalOri) / 100;
this.form.discount = discount;
}
@ -492,7 +586,7 @@ export default {
},
//
findBalance(){
findBalance() {
this.form.balance = this.form.preTotal - this.form.total;
},
@ -537,18 +631,18 @@ export default {
//
charge() {
let body={};
let body = {};
let total = 0;
let msg = '';
let chargePays = [];
let asbitems = [];
if(this.form.id){
if (this.form.id) {
this.$message.warning("已收费,不可重复操作!");
return;
}
this.$refs['form'].validate((valid,fields) => {
this.$refs['form'].validate((valid, fields) => {
if (!valid) {
msg = fields[Object.keys(fields)[0]][0].message;
return;
@ -603,9 +697,9 @@ export default {
});
body = {
patientRegisterId:this.form.patientRegisterId,
invoiceNo:this.form.invoiceNo,
invoiceOrgName:this.form.invoiceOrgName,
patientRegisterId: this.form.patientRegisterId,
invoiceNo: this.form.invoiceNo,
invoiceOrgName: this.form.invoiceOrgName,
chargePays,
asbitems,
};
@ -630,8 +724,8 @@ export default {
// ]
// }
//console.log('body',body);
postapi('/api/app/registerasbitem/registerasbitemcharge',body).then(res =>{
if(res.code != -1){
postapi('/api/app/registerasbitem/registerasbitemcharge', body).then(res => {
if (res.code != -1) {
this.$message.success("操作成功!");
this.form.id = "操作成功!"; //
this.Query();
@ -648,12 +742,12 @@ export default {
let total = 0;
let body = {};
if(!chargeId){
if (!chargeId) {
this.$message.warning("请选择待退费的记录!");
return;
}
if(this.form.chargeFlag == '1'){
if (this.form.chargeFlag == '1') {
this.$message.warning("已退费,不可重复操作!");
return;
}
@ -698,11 +792,11 @@ export default {
// }
// ]
// }
body ={
chargeId,chargeBackPays
body = {
chargeId, chargeBackPays
}
postapi('/api/app/registerasbitem/registerasbitemchargeback',body).then(res =>{
if(res.code != -1){
postapi('/api/app/registerasbitem/registerasbitemchargeback', body).then(res => {
if (res.code != -1) {
this.$message.success("操作成功!");
this.form.chargeFlag = '1'; //退
this.Query();
@ -758,7 +852,6 @@ export default {
}
},
//
dictInit() {
@ -882,6 +975,7 @@ export default {
console.log("dict", this.dict);
},
},
//()

Loading…
Cancel
Save