You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

177 lines
5.6 KiB

<template>
<div>
<div style="display: flex">
<el-table :data="dataTransOpts.tableM.register_asbitem" border
:height="window.pageHeight < 600 ? 100 : Math.floor((window.pageHeight - 302) / 3)" size="small"
highlight-current-row :summary-method="getSummaries" show-summary
ref="patientRegister.patientRegisterAbs">
<el-table-column label="序号" width="50" align="center">
<template slot-scope="scope">
<div><i v-if="scope.row.groupPackageId" class="el-icon-star-on" style="font-size: 16px;color: purple;"></i>{{ scope.$index + 1 }}</div>
</template>
</el-table-column>
<el-table-column prop="asbitemName" label="已选组合项目" width="120" />
<el-table-column prop="standardPrice" label="标准价" align="center" />
<el-table-column prop="discount" label="折扣" align="center" />
<el-table-column prop="amount" label="数量" width="50" align="center" />
<el-table-column prop="chargePrice" label="价格" align="center" />
<el-table-column prop="payTypeFlag" label="支付方式" align="center" >
<template slot-scope="scope">
<div>{{ dddw(dict.payType, "id", scope.row.payTypeFlag, "displayName") }}</div>
</template>
</el-table-column>
<el-table-column prop="isCharge" label="收费" min-width="50" align="center">
<template slot-scope="scope">
<el-checkbox :value="scope.row.isCharge == 'Y'" align="center" />
</template>
</el-table-column>
<el-table-column prop="checkCompleteFlag" label="状态" min-width="50" align="center" >
<template slot-scope="scope">
<div>
{{
dddw(
dict.checkCompleteFlag,
"id",
scope.row.checkCompleteFlag,
"displayName"
)
}}
</div>
</template>
</el-table-column>
<el-table-column prop="isLock" label="锁" min-width="50" align="center" >
<template slot-scope="scope">
<el-checkbox :value="scope.row.isLock == 'Y'" align="center" />
</template>
</el-table-column>
<el-table-column prop="creatorName" label="登记人" min-width="70" align="center" />
<el-table-column prop="creationTime" label="登记日期" min-width="90" align="center" >
<template slot-scope="scope">
<div>{{ moment(scope.row.creationTime).format("yyyy-MM-DD") }}</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
</template>
<script>
import moment from "moment";
import { mapState } from "vuex";
import { dddw } from "../../utlis/proFunc";
import { getapi, postapi, putapi, deletapi } from "../../api/api";
export default {
components: {},
data() {
return {};
},
created() {
},
updated(){
this.$nextTick(() => {
this.$refs['patientRegister.patientRegisterAbs'].doLayout()
})
},
//挂载完成
mounted() { },
computed: {
...mapState(["window", "dataTransOpts", "dict", "patientRegister"]),
},
methods: {
dddw,moment,
// 刷新登记的项目
retrieveRegister_asbitem(id){
if(!id){
this.dataTransOpts.tableM.register_asbitem = []
return
}
getapi(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`)
.then(res => {
console.log(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`, res)
if (res.code != -1) {
res.data.forEach(e => {
e.standTotal = e.amount * e.standardPrice
e.total = e.amount * e.chargePrice
});
this.dataTransOpts.tableM.register_asbitem = res.data
}
})
},
// :row-class-name="tableRowClassName"
// tableRowClassName({ row, rowIndex }) {
// //console.log(row)
// if (row.groupPackageId) {
// //console.log('row.groupPackageId',row.groupPackageId)
// return 'purple-row'; //分组或套餐
// } else {
// return '';
// }
// },
//自定义计算列
getSummaries(param) {
const { columns, data } = param;
const sumCol = [2, 5]; //需合计的列
const sums = [];
columns.forEach((column, index) => {
//显示合计列
if (index === 1) {
sums[index] = "合计";
return;
}
//不合计的列
if (sumCol.indexOf(index) == -1) {
sums[index] = "";
return;
}
const values = data.map((item) => Number(item[column.property]));
if (!values.every((value) => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index] = Math.round(sums[index], 2);
sums[index] += " 元";
} else {
sums[index] = "N/A";
}
});
return sums;
},
},
//监听事件
watch: {
//人员ID未切换换时 也可以强制刷新数据
"dataTransOpts.refresh.register_asbitem.M":{
immediate:true,
handler(newVal, oldVal) {
console.log(`watch 人员登记 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.patient_register.id}`);
this.retrieveRegister_asbitem(this.dataTransOpts.tableS.patient_register.id)
}
},
}
};
</script>
<style scoped>
@import "../../assets/css/global.css";
.box {
display: flex;
}
</style>