diff --git a/src/components/customerOrg/customerOrgGroupAsbitem.vue b/src/components/customerOrg/customerOrgGroupAsbitem.vue index 8406a7e..913c9cd 100644 --- a/src/components/customerOrg/customerOrgGroupAsbitem.vue +++ b/src/components/customerOrg/customerOrgGroupAsbitem.vue @@ -46,7 +46,7 @@
保存
@@ -65,47 +65,45 @@
+ :summary-method="getSummaries" show-summary + :row-class-name="handleRowClassName" @row-dblclick="removeAbs" + @row-click="removeAsbItem" ref="tableCustomerOrgGroupAsbitems"> - + - - - - + + - + + + + + + +
@@ -165,8 +163,18 @@ export default { created() { this.dictInit() }, - + + updated () { + this.refreshTable('tableCustomerOrgGroupAsbitems') + }, methods: { + //表格强制刷新 + refreshTable(tableRef){ + this.$nextTick(() => { + this.$refs[tableRef].doLayout() + }) + }, + //初始数据 dictInit(){ //体检类别 树结构 @@ -284,8 +292,8 @@ export default { // "price": 0, console.log('asbItemChoosed.length', asbItemChoosed.length) for (let i = 0; i < asbItemChoosed.length; i++) { - if (this.customerOrgGroup.forSexId == 'U') break //未选性别时,无需判断组合项目性别限制 - if (asbItemChoosed[i].forSexId == 'A') continue + if (this.customerOrgGroup.forSexId == 'A') break //未选性别时,无需判断组合项目性别限制 + if (asbItemChoosed[i].forSexId == 'A' || asbItemChoosed[i].forSexId == 'U') continue if (asbItemChoosed[i].forSexId != this.customerOrgGroup.sexId) { this.$message.warning(`所选项目:${asbItemChoosed[i].displayName},不适合当前人员性别`) checked = false @@ -298,13 +306,16 @@ export default { for (let i = 0; i < asbItemChoosed.length; i++) { let pojo = { asbitemId: asbItemChoosed[i].id, - patientRegisterId: this.customerOrgGroup.id, - standardPrice: asbItemChoosed[i].price, - chargePrice: asbItemChoosed[i].price, - amount: 1, - total: asbItemChoosed[i].price, + displayName:asbItemChoosed[i].displayName, + discount:100, + customerOrgGroupDetailAmount:1, + price:asbItemChoosed[i].price, + customerOrgGroupDetailPrice:asbItemChoosed[i].price, + customerOrgGroupDetailMoney: asbItemChoosed[i].price, + asbitemMoney: asbItemChoosed[i].price, } + this.customerOrgGroupAsbitems.push(pojo) //this.customerOrgGroupAsbitems.push({ ...pojo, asbitemName: asbItemChoosed[i].displayName }) @@ -488,11 +499,49 @@ export default { }, + changePrices(index){ + this.customerOrgGroupAsbitems[index].customerOrgGroupDetailMoney = + (this.customerOrgGroupAsbitems[index].customerOrgGroupDetailPrice * this.customerOrgGroupAsbitems[index].customerOrgGroupDetailAmount).toFixed(2) + + this.customerOrgGroupAsbitems[index].discount = (this.customerOrgGroupAsbitems[index].customerOrgGroupDetailPrice * 100 / this.customerOrgGroupAsbitems[index].price).toFixed(2) + this.refreshTable('tableCustomerOrgGroupAsbitems') + }, + //合计 - getSummaries(){ + getSummaries(param) { + console.log('getSummaries param',param) + const { columns, data } = param; + const sumCol = [6, 7] //需合计的列 + const sums = []; + columns.forEach((column, index) => { + //console.log('column, index,data',column, index,data) + //显示合计列 + if (index === 1) { + sums[index] = '合计'; + return; + } + //不合计的列 + if (sumCol.indexOf(index) == -1) { + sums[index] = ''; + return; + } + + sums[index] = 0 + data.forEach(e => { + if (!isNaN(e[column.property])) sums[index] += e[column.property]// * e['amount'] + }) + sums[index] = sums[index].toFixed(2) //+ ' 元'; + + }); + //this.totalStand = sums[2]; + console.log('getSummaries',sums) + // if (!this.totalFoucs) this.total = sums[5]; + // if (!this.discountFoucs) this.discount = Number(this.total * 100 / this.totalStand).toFixed(2); + return sums; }, + changingprices(price) { this.price = price; }, @@ -509,63 +558,40 @@ export default { this.price = row.price; console.log(this.price); }, + //保存按钮 - Onsubmit() { - if (!this.personnelUnit.customerOrgGroupId) { - alert("请先选择单位分组"); - return; - } else { - console.log(this.personnelUnit.nogroupselected); - postapi("/api/app/customer-org-group-detail/many", this.addrulst).then( - (res) => { - this.$message.success("操作成功"); - console.log(this.addrulst); - } - ); + btnSave() { + if(!this.customerOrgGroup.id){ + this.$message.warning("请先选中单位分组") + return } - - }, - //移除按钮 - addselecteditems() { - let lfind = -1; - console.log(this.personnelUnit.id); - if (this.personnelUnit.form.id == "") { - alert("请先选择单位类别"); - } else { - // 让按钮恢复禁用 - this.saveornot = false; - //personnelUnit.nogroupselected - if (this.rightselctedata.length == 0) { - this.$message.warning("已选数据为空无法移动"); - } else { - // this.title = 2; - let count = this.rightselctedata.length - 1; - for (var i = count; i >= 0; i--) { - if ([...new Set(this.tabledata)]) { - this.tabledata.push(this.rightselctedata[i]); - this.personnelUnit.nogroupselected.splice(i, 1); - } - } - console.log(this.personnelUnit.customerOrgGroupId); - // this. - this.rightselctedata.forEach((item) => { - lfind = arrayExistObj( - this.personnelUnit.nogroupselected, - "id", - item.id - ); - - if (lfind > -1) this.personnelUnit.nogroupselected.splice(lfind, 1); - this.addrulst.push({ - asbitemId: item.id, - price: item.price, - // price: this.price, - customerOrgGroupId: this.personnelUnit.customerOrgGroupId, - }); - }); + let body = [] + // [ + // { + // "customerOrgGroupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + // "asbitemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + // "price": 0, + // "amount": 0 + // } + // ] + this.customerOrgGroupAsbitems.forEach(e =>{ + body.push({ + customerOrgGroupId:this.customerOrgGroup.id, + asbitemId:e.asbitemId, + price:e.customerOrgGroupDetailPrice, + amount:e.customerOrgGroupDetailAmount + }) + }) + + postapi('/api/app/customerorggroupdetail/createcustomerorggroupdetailmany',body).then(res => { + if(res.code != -1){ + this.$message.success("操作成功"); } - } + }) + }, + + //右侧勾选按钮 selecteditems(val) { this.rightselctedata = val; @@ -586,13 +612,16 @@ export default { if(customerOrgGroupId){ getapi( `/api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=${customerOrgGroupId}` - ).then((res) => { - this.customerOrgGroupAsbitems = res.data; + ).then((res) => { + if(res.code != -1){ + this.customerOrgGroupAsbitems = res.data; + this.getAsbItemByItemType() + } }); }else{ this.customerOrgGroupAsbitems = [] - } - this.getAsbItemByItemTypeAll() + this.getAsbItemByItemType() + } }, },