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
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>
|