Browse Source

choosegroup

master
pengjun 2 years ago
parent
commit
8fb8d8bcbd
  1. 20
      src/components/customerOrg/ContactPerson.vue
  2. 205
      src/components/patientRegister/PatientRegisterItem.vue

20
src/components/customerOrg/ContactPerson.vue

@ -150,28 +150,14 @@
>
<el-table-column prop="contactMethodType" label="类型">
<template slot-scope="scope">
<el-select
v-model="
customerOrg.contactMethodList[scope.$index].contactMethodType
"
>
<el-option
v-for="item in Methodtypes"
:key="item.value"
:label="item.label"
:value="item.value"
/>
<el-select v-model="customerOrg.contactMethodList[scope.$index].contactMethodType">
<el-option v-for="item in Methodtypes" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</template>
</el-table-column>
<el-table-column prop="contactMethodValue" label="联系方式">
<template slot-scope="scope">
<el-input
v-model="
customerOrg.contactMethodList[scope.$index].contactMethodValue
"
required
/>
<el-input v-model="customerOrg.contactMethodList[scope.$index].contactMethodValue" required/>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="60">

205
src/components/patientRegister/PatientRegisterItem.vue

@ -2,69 +2,59 @@
<div style="margin-left: 10px">
<div>
<span>项目类别</span>
<el-cascader
:options="dict.itemTypeTree"
:props="{
checkStrictly: true,
expandTrigger: 'hover',
...customerOrg.treeprops,
}"
:show-all-levels="false"
clearable
filterable
@change="getAsbItemByItemType"
>
<el-cascader :options="dict.itemTypeTree" v-model="itemTypeIds"
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" :show-all-levels="false"
clearable filterable @change="getAsbItemByItemType">
</el-cascader>
</div>
<div class="mainareaBox">
<el-table
:header-cell-style="{ background: '#eef1f6' }"
:data="dict.asbItem"
height="350"
@selection-change="handleSelectionChange"
>
<el-table :header-cell-style="{ background: '#eef1f6' }" :data="dict.asbItem" height="350"
@selection-change="handleSelectionChange" size="small">
<el-table-column type="selection"></el-table-column>
<el-table-column
label="未选组合项目"
prop="displayName"
></el-table-column>
<el-table-column label="未选组合项目" prop="displayName"></el-table-column>
</el-table>
</div>
<div class="mainbutton">
<div style="margin-left: 10px">
<el-button type="primary" @click="removedata"
>添加 <i class="el-icon-bottom"></i>
<el-button type="primary" @click="removedata">添加 <i class="el-icon-bottom"></i>
</el-button>
</div>
<div style="margin-left: 10px">
<el-button type="primary" @click="addselecteditems"
>移除 <i class="el-icon-top"></i>
<el-button type="primary" @click="addselecteditems">移除 <i class="el-icon-top"></i>
</el-button>
</div>
<div style="margin-left: 10px">
<el-button type="success" @click="Onsubmit"
>保存 <i class="el-icon-check"></i>
<el-button type="success" @click="Onsubmit">保存 <i class="el-icon-check"></i>
</el-button>
</div>
</div>
<div class="mainareaBox">
<el-table
:header-cell-style="{ background: '#eef1f6' }"
:data="patientRegister.patientRegisterAbs"
height="350"
@selection-change="selecteditems"
>
<el-table :header-cell-style="{ background: '#eef1f6' }" :data="patientRegister.patientRegisterAbs" height="350"
@selection-change="selecteditems" size="small">
<!-- temporaryselection personnelUnit.nogroupselected-->
<el-table-column type="selection"></el-table-column>
<el-table-column label="已选组合项目" width="110" prop="asbitemName" />
<el-table-column label="标准价格" prop="standardPrice" />
<el-table-column label="折扣" prop="amount" />
<el-table-column label="实收价格" prop="chargePrice" />
<el-table-column label="支付方式" prop="payTypeFlag" />
<el-table-column label="是否收费" prop="isCharge" />
<el-table-column label="实收价格" prop="chargePrice" >
<template slot-scope="scope">
<el-input v-model="patientRegister.patientRegisterAbs[scope.$index].chargePrice" />
</template>
</el-table-column>
<el-table-column label="数量" prop="amount">
<template slot-scope="scope">
<el-input v-model="patientRegister.patientRegisterAbs[scope.$index].amount" />
</template>
</el-table-column>
<el-table-column label="支付方式" prop="payTypeFlag" width="100">
<template slot-scope="scope">
<el-select v-model="patientRegister.patientRegisterAbs[scope.$index].payTypeFlag">
<el-option v-for="item in dict.payType" :key="item.id" :label="item.displayName" :value="item.id" width="100"/>
</el-select>
</template>
</el-table-column>
</el-table>
</div>
</div>
@ -78,25 +68,26 @@ export default {
data() {
return {
itemType: [], //
itemTypeIds:'', //ID
asbItemChoosed: [], //
//patientRegisterAbs:[], // vuex
patientRegisterAbsChoosed: [], //
patientRegisterAbsNew: [], //
patientRegisterAbsAdd: [], //
patientRegisterAbsEdit: [], //
patientRegisterAbsDel: [], //
patientRegisterAbsRd: {
id: null,
id: null, //
asbitemId: null, // string($uuid)
asbitemName:'', //
patientRegisterId: null, //string($uuid)
standardPrice: 0, //number($double)
chargePrice: 0, // number($double)
payTypeFlag: "0000", // string ,
isCharge: "N", // string
lisRequestId: null, // string($uuid)LISID
//lisRequestId: null, // string($uuid)LISID
amount: 1, // integer($int32)
groupPackageId: null, // string($uuid) ID
}, //
@ -106,18 +97,18 @@ export default {
...mapState(["dict", "customerOrg", "patientRegister", "personnelUnit"]),
},
mounted() {},
mounted() { },
methods: {
//...mapActions(['getMedicalPackageAsb','getMedicalPackageAsb']),
//
Onsubmit() {},
Onsubmit() { },
//
addselecteditems() {},
addselecteditems() { },
//
selecteditems(val) {},
selecteditems(val) { },
//
removedata() {},
removedata() { },
//
handleSelectionChange(val) {
@ -127,11 +118,11 @@ export default {
},
//
getAsbItemByItemType(v) {
getAsbItemByItemType() {
//console.log('getAsbItemByItemType',typeof v)
let lv = "";
if (typeof v === "object") {
lv = v[v.length - 1];
if (typeof this.itemTypeIds === "object") {
lv = this.itemTypeIds[itemTypeIds.length - 1];
}
if (lv) {
@ -141,11 +132,7 @@ export default {
}
//
arrayReduce(
this.dict.asbItem,
[...this.patientRegister.patientRegisterAbs],
"id=asbitemId"
);
arrayReduce(this.dict.asbItem,[...this.patientRegister.patientRegisterAbs],"id=asbitemId");
},
//
@ -163,7 +150,7 @@ export default {
},
//
getCustomerOrgGroupAsb(customerOrgGroupId) {
getCustomerOrgGroupAsb(customerOrgGroupId,oldVal) {
console.log("getCustomerOrgGroupAsb");
getapi(
`/api/app/customer-org-group-detail/customer-org-group-detail-in-asbitem?CustomerOrgGroupId=${customerOrgGroupId}`
@ -176,20 +163,16 @@ export default {
this.addCustomerOrgGroupAsb(customerOrgGroupId);
//
this.removeGroupPackageAsb(customerOrgGroupId);
this.removeGroupPackageAsb(oldVal);
//
arrayReduce(
this.dict.asbItem,
[...this.patientRegister.patientRegisterAbs],
"id=asbitemId"
);
this.getAsbItemByItemType()
}
});
},
//
getMedicalPackageAsb(medicalPackageId) {
getMedicalPackageAsb(medicalPackageId,oldVal) {
console.log(
`/api/app/medical-package-detail/medical-package-in-asbitem?MedicalPackageId=${medicalPackageId}`
);
@ -204,44 +187,32 @@ export default {
this.addMedicalPackageAsb(medicalPackageId);
//
this.removeGroupPackageAsb(medicalPackageId);
this.removeGroupPackageAsb(oldVal);
//
arrayReduce(
this.dict.asbItem,
[...this.patientRegister.patientRegisterAbs],
"id=asbitemId"
);
this.getAsbItemByItemType()
}
});
},
//
addCustomerOrgGroupAsb(groupPackageId) {
console.log('addCustomerOrgGroupAsb')
let finded = false;
for (let i = 0; i < this.patientRegister.customerOrgGroupAsb.lenth; i++) {
for (let i = 0; i < this.patientRegister.customerOrgGroupAsb.length; i++) {
finded = false;
for (
let j = 0;
j < this.patientRegister.patientRegisterAbs.lenth;
j++
) {
if (
this.patientRegister.customerOrgGroupAsb[i].asbitemId ==
this.patientRegister.patientRegisterAbs[j].asbitemId
) {
this.patientRegister.patientRegisterAbs[j].groupPackageId =
groupPackageId;
this.patientRegisterAbsEdit.push({
...this.patientRegister.patientRegisterAbs[j],
});
finded = true;
break;
console.log('i',i,finded)
for (let j = 0; j < this.patientRegister.patientRegisterAbs.length; j++) {
if (this.patientRegister.customerOrgGroupAsb[i].asbitemId == this.patientRegister.patientRegisterAbs[j].asbitemId) {
this.patientRegister.patientRegisterAbs[j].groupPackageId = groupPackageId
this.patientRegisterAbsEdit.push({ ...this.patientRegister.patientRegisterAbs[j], })
finded = true
}
}
if (!finded) {
let asbItem = {
asbitemId: this.patientRegister.customerOrgGroupAsb[i].asbitemId, // string($uuid)
asbitemId: this.patientRegister.customerOrgGroupAsb[i].id, // string($uuid)
asbitemName: this.patientRegister.customerOrgGroupAsb[i].displayName, // string($uuid)
patientRegisterId: this.patientRegisterForm.id, //string($uuid)
standardPrice: this.patientRegister.customerOrgGroupAsb[i].price, //number($double)
chargePrice: this.patientRegister.customerOrgGroupAsb[i].price, // number($double)
@ -251,7 +222,8 @@ export default {
amount: 1, // integer($int32)
groupPackageId: groupPackageId, // string($uuid) ID
};
this.patientRegister.customerOrgGroupAsb.push();
console.log('i',i,asbItem)
this.patientRegister.patientRegisterAbs.push(asbItem);
this.patientRegisterAbsAdd.push(asbItem);
}
}
@ -260,29 +232,19 @@ export default {
//
addMedicalPackageAsb(groupPackageId) {
let finded = false;
for (let i = 0; i < this.patientRegister.medicalPackageAsb.lenth; i++) {
for (let i = 0; i < this.patientRegister.medicalPackageAsb.length; i++) {
finded = false;
for (
let j = 0;
j < this.patientRegister.patientRegisterAbs.lenth;
j++
) {
if (
this.patientRegister.medicalPackageAsb[i].asbitemId ==
this.patientRegister.patientRegisterAbs[j].asbitemId
) {
this.patientRegister.patientRegisterAbs[j].groupPackageId =
groupPackageId;
this.patientRegisterAbsEdit.push({
...this.patientRegister.patientRegisterAbs[j],
});
finded = true;
break;
for (let j = 0; j < this.patientRegister.patientRegisterAbs.length; j++) {
if (this.patientRegister.medicalPackageAsb[i].asbitemId == this.patientRegister.patientRegisterAbs[j].asbitemId) {
this.patientRegister.patientRegisterAbs[j].groupPackageId = groupPackageId
this.patientRegisterAbsEdit.push({...this.patientRegister.patientRegisterAbs[j],})
finded = true
}
}
if (!finded) {
let asbItem = {
asbitemId: this.patientRegister.medicalPackageAsb[i].asbitemId, // string($uuid)
asbitemId: this.patientRegister.medicalPackageAsb[i].id, // string($uuid)
asbitemName: this.patientRegister.medicalPackageAsb[i].displayName, // string($uuid)
patientRegisterId: this.patientRegisterForm.id, //string($uuid)
standardPrice: this.patientRegister.medicalPackageAsb[i].price, //number($double)
chargePrice: this.patientRegister.medicalPackageAsb[i].price, // number($double)
@ -292,7 +254,7 @@ export default {
amount: 1, // integer($int32)
groupPackageId: groupPackageId, // string($uuid) ID
};
this.patientRegister.customerOrgGroupAsb.push(asbItem);
this.patientRegister.patientRegisterAbs.push(asbItem);
this.patientRegisterAbsAdd.push(asbItem);
}
}
@ -300,14 +262,9 @@ export default {
//
removeGroupPackageAsb(groupPackageId) {
for (let i = 0; i < this.patientRegister.patientRegisterAbs.lenth; i++) {
if (
this.patientRegister.patientRegisterAbs[i].groupPackageId ==
groupPackageId
) {
this.patientRegisterAbsDel.push({
id: this.patientRegister.patientRegisterAbs[i].id,
});
for (let i = 0; i < this.patientRegister.patientRegisterAbs.length; i++) {
if (this.patientRegister.patientRegisterAbs[i].groupPackageId == groupPackageId) {
this.patientRegisterAbsDel.push({id: this.patientRegister.patientRegisterAbs[i].id,});
this.patientRegister.patientRegisterAbs.splice(i, 1);
i--;
}
@ -319,27 +276,17 @@ export default {
watch: {
//
"patientRegisterForm.customerOrgGroupId"(newVal, oldVal) {
console.log(
"watch patientRegisterForm.customerOrgGroupId newVal:",
newVal,
" oldVal:",
oldVal
);
console.log("watch patientRegisterForm.customerOrgGroupId newVal:",newVal," oldVal:",oldVal);
if (newVal != oldVal) {
this.getCustomerOrgGroupAsb(newVal);
this.getCustomerOrgGroupAsb(newVal,oldVal);
}
},
//
"patientRegisterForm.medicalPackageId"(newVal, oldVal) {
console.log(
"watch patientRegisterForm.medicalPackageId newVal:",
newVal,
" oldVal:",
oldVal
);
console.log("watch patientRegisterForm.medicalPackageId newVal:",newVal," oldVal:",oldVal);
if (newVal != oldVal) {
this.getMedicalPackageAsb(newVal);
this.getMedicalPackageAsb(newVal,oldVal);
}
},
},

Loading…
Cancel
Save