罗斌杰 2 years ago
parent
commit
9defb9d411
  1. 103
      src/components/customerOrg/ContactPerson.vue
  2. 13
      src/components/customerOrg/customerOrgEdit.vue
  3. 27
      src/components/customerOrg/customerOrgGroupAsbitem.vue
  4. 161
      src/components/patientRegister/PatientRegisterEdit.vue
  5. 74
      src/components/patientRegister/PatientRegisterItem.vue
  6. 21
      src/components/patientRegister/PatientRegisterList.vue
  7. 27
      src/components/patientRegister/patientRegisterAsbItem.vue
  8. 84
      src/components/patientRegister/patientRegisterQuery.vue
  9. 2
      src/store/index.js
  10. 9
      src/views/customerOrg/customerOrgGroup.vue

103
src/components/customerOrg/ContactPerson.vue

@ -66,7 +66,7 @@
</div>
</div>
<!-- 联系人 -->
<el-dialog :title="formTitle" :visible.sync="dialogContactPerson" width="800px">
<el-dialog :title="formTitle" :visible.sync="dialogContactPerson" width="800px" @close="closeDialogPerson">
<el-form :model="form" ref="form" label-width="70px" :rules="rules" style="margin-top: -30px;">
<el-row>
<el-col :span="12">
@ -298,63 +298,104 @@ export default {
postapi("/api/app/contact-person", body)
.then((res) => {
//console.log('api/app/contact-person')
this.personId = res.data.id;
this.formTitle = "编辑";
return deletapi(`/api/app/contact-method/many/${this.personId}`);
if(res.code != -1){
this.form.id = res.data.id;
this.personId = res.data.id;
this.formTitle = "编辑";
return deletapi(`/api/app/contact-method/many/${this.personId}`);
}
})
.then((res) => {
//console.log(`deletapi api/app/contact-method/${this.personId}`)
let contactMethod = []; //form
this.contactMethodListEdit.forEach( item => {
contactMethod.push({
contactMethodValue: item.contactMethodValue,
contactMethodType: item.contactMethodType,
contactPersonId: this.personId,
if(res.code != -1){
let contactMethod = []; //form
this.contactMethodListEdit.forEach( item => {
contactMethod.push({
contactMethodValue: item.contactMethodValue,
contactMethodType: item.contactMethodType,
contactPersonId: this.personId,
});
});
});
if(contactMethod.length > 0) return postapi("/api/app/contact-method/many", contactMethod);
if(contactMethod.length > 0){
return postapi("/api/app/contact-method/many", contactMethod);
}else{
this.dialogContactPerson = false
}
}
})
.then((res) => {
//console.log('api/app/contact-method/many')
//this.getContactPersonList(this.customerOrgId); //
this.customerOrg.contactPersonList.push(res.data)
this.getContactMethodList(res.data.id)
if(res.code != -1){
this.$message.success("操作成功!");
this.dialogContactPerson = false
this.getContactMethodList(this.form.id)
this.$message.success("操作成功!");
this.dialogContactPerson = false
}
});
} else {
putapi(`/api/app/contact-person/${this.personId}`, body)
.then((res) => {
//console.log(`/api/app/contact-person/${this.personId}`)
return deletapi(`/api/app/contact-method/many/${this.personId}`);
if(res.code != -1){
return deletapi(`/api/app/contact-method/many/${this.personId}`);
}
})
.then((res) => {
console.log(`deletapi api/app/contact-method/${this.personId}`);
let contactMethod = []; //form
this.contactMethodListEdit.forEach((item, index) => {
contactMethod.push({
contactMethodValue: item.contactMethodValue,
contactMethodType: item.contactMethodType,
contactPersonId: this.personId,
if(res.code != -1){
let contactMethod = []; //form
this.contactMethodListEdit.forEach((item, index) => {
contactMethod.push({
contactMethodValue: item.contactMethodValue,
contactMethodType: item.contactMethodType,
contactPersonId: this.personId,
});
});
});
if(contactMethod.length > 0) return postapi("/api/app/contact-method/many", contactMethod);
if(contactMethod.length > 0){
return postapi("/api/app/contact-method/many", contactMethod);
}else{
this.dialogContactPerson = false
}
}
})
.then((res) => {
//console.log('api/app/contact-method/many')
//this.getContactPersonList(this.customerOrgId); //
let lfind = arrayExistObj(this.customerOrg.contactPersonList, 'id', this.personId)
if(lfind > - 1) objCopy(body,this.customerOrg.contactPersonList[lfind])
this.getContactMethodList(this.personId)
this.$message.success("操作成功!");
this.dialogContactPerson = false
if(res.code != -1){
this.getContactMethodList(this.form.id)
this.$message.success("操作成功!");
this.dialogContactPerson = false
}
});
}
})
},
//
closeDialogPerson(){
let currentRow = {}
let lfind = arrayExistObj(this.customerOrg.contactPersonList,'id',this.form.id)
if(lfind > -1){
objCopy(this.form,this.customerOrg.contactPersonList[lfind])
currentRow = this.customerOrg.contactPersonList[lfind]
}else if(this.form.id){
currentRow = deepCopy(this.form)
lfind = this.customerOrg.contactPersonList.length
this.customerOrg.contactPersonList.push(currentRow)
}
if(lfind > -1){
setTimeout(() => {
this.$refs['customerOrg.contactPersonList'].setCurrentRow(currentRow)
}, 100)
}
},
//
addMethod() {
this.contactMethodListEdit.push({

13
src/components/customerOrg/customerOrgEdit.vue

@ -1,6 +1,6 @@
<template>
<div style="display: flex">
<div>
<div :style="'margin-left: 5px;width:' + (window.pageWidth - 200 - 120 - 45) + 'px;'">
<!--overflow-y: scroll;height:200px;-->
<el-form ref="form" :model="form" label-width="85px" :rules="rules" size="medium">
<el-row>
@ -9,7 +9,7 @@
<el-cascader v-model="form.parentId" :options="customerOrg.customerOrgTree"
:props="{checkStrictly: true,expandTrigger: 'hover',...customerOrg.treeprops,}"
:show-all-levels="false" clearable filterable disabled
:style="'width:' + Math.floor((window.pageWidth - 616) / 3) + 'px;'">
:style="'width:' + Math.floor((window.pageWidth - 620) / 3) + 'px;'">
</el-cascader>
</el-form-item>
</el-col>
@ -23,6 +23,8 @@
<el-input v-model="form.shortName" placeholder="请输入单位简称" :disabled="customerOrg.oprStatus ? false:true"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="体检中心" prop="organizationUnitId">
<el-select
@ -30,7 +32,7 @@
placeholder="请选择"
filterable
:disabled="peisid ? true : false"
:style="'width:' + Math.floor((window.pageWidth - 616) / 3) + 'px;'"
:style="'width:' + Math.floor((window.pageWidth - 620) / 3) + 'px;'"
>
<el-option
v-for="item in data.organizationdata"
@ -47,7 +49,7 @@
v-model="form.orgTypeId"
placeholder="请选择"
filterable
:style="'width:' + Math.floor((window.pageWidth - 616) / 3) + 'px;'"
:style="'width:' + Math.floor((window.pageWidth - 620) / 3) + 'px;'"
>
<el-option
v-for="item in data.customerOrgType"
@ -76,6 +78,8 @@
<el-input v-model="form.telephone" placeholder="请输入联系电话" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="传真" prop="fax">
<el-input v-model="form.fax" placeholder="请输入传真" />
@ -105,7 +109,6 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="发票抬头" prop="invoiceName">

27
src/components/customerOrg/customerOrgGroupAsbitem.vue

@ -267,14 +267,15 @@
<script>
import moment from 'moment';
import { mapState } from "vuex";
import { getapi, postapi } from "@/api/api";
import { getapi, postapi, putapi } from "@/api/api";
import { arrayExistObj, tcdate, arrayFilter, arrayReduce, deepCopy,dddw } from "../../utlis/proFunc";
export default {
props:['customerOrgGroup'],
props:['customerOrgGroup','refreshMoney'],
data() {
return {
groupPrice:0, //
customerOrgGroupAsbitems:[], //
itemTypeIds:[], //
asbItemId:'', //ID
@ -759,8 +760,8 @@ export default {
sums[index] = sums[index].toFixed(2) //+ ' ';
});
//this.totalStand = sums[2];
console.log('getSummaries',sums)
this.groupPrice = sums[7];
// 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;
@ -905,10 +906,24 @@ export default {
amount:e.customerOrgGroupDetailAmount
})
})
postapi('/api/app/customerorggroupdetail/createcustomerorggroupdetailmany',body).then(res => {
let group = deepCopy(this.customerOrgGroup);
postapi('/api/app/customerorggroupdetail/createcustomerorggroupdetailmany',body
).then(res => {
if(res.code != -1){
delete group.id;
delete group.customerOrgId;
delete group.isComplete;
group.price = this.groupPrice
// console.log('this.customerOrgGroup',this.customerOrgGroup)
// console.log('group',group)
return putapi(`/api/app/customer-org-group/${this.customerOrgGroup.id}`, group)
}
}).then(res =>{
if(res.code != -1){
this.$message.success("操作成功");
group.id = this.customerOrgGroup.id
this.refreshMoney(group)
}
})

161
src/components/patientRegister/PatientRegisterEdit.vue

@ -293,7 +293,7 @@
<el-col :span="6">
<el-form-item label="创建时间">
<el-input :value="form.creationTime
? lmoment(form.creationTime, 'yyyy-MM-DD')
? moment(form.creationTime).format('yyyy-MM-DD')
: ''
" disabled size="small"></el-input>
</el-form-item>
@ -306,7 +306,7 @@
<el-col :span="6">
<el-form-item label="修改时间">
<el-input :value="form.lastModificationTime
? lmoment(form.lastModificationTime, 'yyyy-MM-DD')
? moment(form.lastModificationTime).format('yyyy-MM-DD')
: ''
" disabled size="small"></el-input>
</el-form-item>
@ -406,7 +406,7 @@
<el-table-column prop="lastTime" label="末次体检" width="100">
<template slot-scope="scope">
<div v-if="scope.row.lastTime">
{{ lmoment(scope.row.lastTime, "yyyy-MM-DD") }}
{{ moment(scope.row.lastTime).format("yyyy-MM-DD") }}
</div>
</template>
</el-table-column>
@ -415,28 +415,28 @@
<el-table-column prop="sexId" label="性别">
<template slot-scope="scope">
<div>
{{ ldddw(dict.sex, "id", scope.row.sexId, "displayName") }}
{{ dddw(dict.sex, "id", scope.row.sexId, "displayName") }}
</div>
</template>
</el-table-column>
<el-table-column prop="maritalStatusId" label="婚姻">
<template slot-scope="scope">
<div>
{{ ldddw(dict.maritalStatus, "id", scope.row.maritalStatusId, "displayName") }}
{{ dddw(dict.maritalStatus, "id", scope.row.maritalStatusId, "displayName") }}
</div>
</template>
</el-table-column>
<el-table-column prop="birthDate" label="出生日期" width="100">
<template slot-scope="scope">
<div v-if="scope.row.birthDate">
{{ lmoment(scope.row.birthDate, "yyyy-MM-DD") }}
{{ moment(scope.row.birthDate).format("yyyy-MM-DD") }}
</div>
</template>
</el-table-column>
<el-table-column prop="nationId" label="民族">
<template slot-scope="scope">
<div>
{{ ldddw(dict.nation, "id", scope.row.nationId, "displayName") }}
{{ dddw(dict.nation, "id", scope.row.nationId, "displayName") }}
</div>
</template>
</el-table-column>
@ -457,7 +457,7 @@
@row-click="registerRowClick" size="small">
<el-table-column prop="completeFlag" label="体检进度">
<template slot-scope="scope">
<div>{{ ldddw(dict.completeFlag, "id", scope.row.completeFlag, "displayName") }}</div>
<div>{{ dddw(dict.completeFlag, "id", scope.row.completeFlag, "displayName") }}</div>
</template>
</el-table-column>
<el-table-column prop="guidePrintTimes" label="打印" width="50">
@ -483,7 +483,7 @@
<el-table-column prop="patientName" label="姓名" />
<el-table-column prop="sexId" label="性别">
<template slot-scope="scope">
<div>{{ ldddw(dict.sex, "id", scope.row.sexId, "displayName") }}</div>
<div>{{ dddw(dict.sex, "id", scope.row.sexId, "displayName") }}</div>
</template>
</el-table-column>
<el-table-column prop="age" label="年龄" />
@ -493,17 +493,17 @@
<el-table-column label="分组/套餐" width="150">
<template slot-scope="scope">
<div v-if="scope.row.medicalPackageId !== dict.personOrgId && scope.row.customerOrgId === dict.personOrgId">
{{ ldddw(dict.medicalPackage, "id", scope.row.medicalPackageId, "displayName") }}
{{ dddw(dict.medicalPackage, "id", scope.row.medicalPackageId, "displayName") }}
</div>
<div v-if="scope.row.medicalPackageId !== dict.personOrgId && scope.row.customerOrgId !== dict.personOrgId">
{{ ldddw(dict.customerOrgGroupAll, "id", scope.row.customerOrgGroupId, "displayName") }}
{{ dddw(dict.customerOrgGroupAll, "id", scope.row.customerOrgGroupId, "displayName") }}
</div>
</template>
</el-table-column>
<el-table-column prop="nationId" label="民族">
<template slot-scope="scope">
<div>
{{ ldddw(dict.nation, "nationId", scope.row.nationId, "displayName") }}
{{ dddw(dict.nation, "nationId", scope.row.nationId, "displayName") }}
</div>
</template>
</el-table-column>
@ -511,7 +511,7 @@
<el-table-column prop="birthDate" label="出生日期" width="100">
<template slot-scope="scope">
<div v-if="scope.row.birthDate">
{{ lmoment(scope.row.birthDate, "yyyy-MM-DD") }}
{{ moment(scope.row.birthDate).format("yyyy-MM-DD") }}
</div>
</template>
</el-table-column>
@ -524,21 +524,21 @@
<el-table-column prop="maritalStatusId" label="婚姻状况">
<template slot-scope="scope">
<div>
{{ ldddw(dict.maritalStatus, "id", scope.row.maritalStatusId, "displayName") }}
{{ dddw(dict.maritalStatus, "id", scope.row.maritalStatusId, "displayName") }}
</div>
</template>
</el-table-column>
<el-table-column prop="medicalTypeId" label="体检类别">
<template slot-scope="scope">
<div v-if="scope.row.medicalTypeId !== dict.personOrgId">
{{ ldddw(dict.medicalType, "id", scope.row.medicalTypeId, "displayName") }}
{{ dddw(dict.medicalType, "id", scope.row.medicalTypeId, "displayName") }}
</div>
</template>
</el-table-column>
<el-table-column prop="personnelTypeId" label="人员类别">
<template slot-scope="scope">
<div v-if="scope.row.personnelTypeId !== dict.personOrgId">
{{ ldddw(dict.personnelType, "id", scope.row.personnelTypeId, "displayName") }}
{{ dddw(dict.personnelType, "id", scope.row.personnelTypeId, "displayName") }}
</div>
</template>
</el-table-column>
@ -553,7 +553,7 @@
<el-table-column prop="creatorName" label="登记人" />
<el-table-column prop="creationTime" label="登记日期" width="100">
<template slot-scope="scope">
<div>{{ lmoment(scope.row.creationTime, "yyyy-MM-DD") }}</div>
<div v-if="scope.row.creationTime">{{ moment(scope.row.creationTime).format("yyyy-MM-DD") }}</div>
</template>
</el-table-column>
<el-table-column prop="isUpload" label="是否上传">
@ -758,6 +758,7 @@ export default {
},
methods: {
...mapActions(['getPatientRegisterAbs']),
dddw,moment,
//form
initFormData(){
@ -781,7 +782,7 @@ export default {
`).then(res => {
if(res.code != - 1){
customerOrgParentId = res.data //ID
return getapi(`/api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=${res.data}`) //
return getapi(`/api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=${customerOrgParentId}`) //
}
}).then(res =>{
if(res.code != - 1){
@ -937,6 +938,118 @@ export default {
this.getCustomerOrgGroup(this.form.customerOrgRegisterId)
},
// /
getGroupPackageAsb(typeFlag, groupPackageId) {
let delBody = {};
let url = typeFlag == 'group' ?
'/api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId='
: '/api/app/medical-package-detail/medical-package-in-asbitem?MedicalPackageId=';
let msg = typeFlag == 'group' ? '更换分组' : '更换套餐';
console.log(`${url}${groupPackageId}`);
getapi(`${url}${groupPackageId}`)
.then((res) => {
console.log("getGroupPackageAsb", res);
if (res.code != -1) {
//
delBody = this.removeGroupPackageAsb();
//
this.addGroupPackageAsb(res.data, typeFlag,groupPackageId);
//console.log('delBody', delBody,delBody['registerAsbitemIds'].length);
if (delBody['registerAsbitemIds'].length > 0) {
return postapi(`/api/app/registerasbitem/deletemany`, delBody)
} else {
this.onSubmit(msg);
}
}
})
.then(res => {
//console.log('res', res);
if (res && res.code != -1) {
//
this.onSubmit(msg);
}
});
},
//
removeGroupPackageAsb() {
let body = { registerAsbitemIds: [] }
let registerAsbitemIds = []
let chargeComplete = ''
//
if (!this.form.id) {
this.patientRegister.patientRegisterAbs = [];
return body;
}
// groupPackageId null
for (let i = 0; i < this.patientRegister.patientRegisterAbs.length; i++) {
if (!this.patientRegister.patientRegisterAbs[i].id) {
this.patientRegister.patientRegisterAbs.splice(i, 1)
i--
continue
}
if (this.patientRegister.patientRegisterAbs[i].isCharge == 'Y' || this.patientRegister.patientRegisterAbs[i].checkCompleteFlag != '0') {
chargeComplete += this.patientRegister.patientRegisterAbs[i].asbitemName + ','
this.patientRegister.patientRegisterAbs[i].groupPackageId = null
} else {
//
if (this.patientRegister.patientRegisterAbs[i].id) {
registerAsbitemIds.push(this.patientRegister.patientRegisterAbs[i].id)
}
this.patientRegister.patientRegisterAbs.splice(i, 1)
i--
}
}
if (chargeComplete) {
this.$message({ type: "info", message: `所选项目:${chargeComplete}已收费或已检,不可删除!` });
}
body = { registerAsbitemIds };
return body;
},
///
addGroupPackageAsb(groupPackageAsb, typeFlag, groupPackageId) {
let payTypeFlag = '0'; //
let lfind = -1
if (this.form.customerOrgId != this.dict.personOrgId) payTypeFlag = '1' //
for (let i = 0; i < groupPackageAsb.length; i++) {
lfind = arrayExistObj(this.patientRegister.patientRegisterAbs, 'asbitemId', groupPackageAsb[i].id)
if (lfind > - 1) {
this.patientRegister.patientRegisterAbs[lfind].groupPackageId = groupPackageId
//editCount++
continue
}
let pojo = {
asbitemId: groupPackageAsb[i].id,
asbitemName: groupPackageAsb[i].displayName,
patientRegisterId: this.form.id,
standardPrice: groupPackageAsb[i].price,
chargePrice: typeFlag == 'group' ? groupPackageAsb[i].customerOrgGroupDetailPrice:groupPackageAsb[i].price,
payTypeFlag,
discount: typeFlag == 'group' ? groupPackageAsb[i].discount:100,
isCharge: "N",
amount: typeFlag == 'group' ? groupPackageAsb[i].customerOrgGroupDetailAmount:1,
groupPackageId: groupPackageId
}
this.patientRegister.patientRegisterAbs.push(pojo)
}
},
//
getCustomerOrgGroup(customerOrgRegisterId) {
this.patientRegister.customerOrgGroup = []
@ -1059,17 +1172,7 @@ export default {
this.registerVisible = false
this.getPatientRegisterAbs(this.registerChoosed.id)
},
ldddw(arrayData, key, value, display) {
return dddw(arrayData, key, value, display);
},
lmoment(date, forMat) {
return moment(new Date(date)).format(forMat);
},
changeBox(type) {
//
if (this.form[type + 'Box']) {

74
src/components/patientRegister/PatientRegisterItem.vue

@ -87,13 +87,19 @@
<div class="mainareaBox">
<el-table :data="patientRegister.patientRegisterAbs" highlight-current-row border ref="patientRegister_patientRegisterAbs"
:height="(window.pageHeight > 700 ? (window.pageHeight - 440) : 260)" width="100%" :summary-method="getSummaries"
show-summary :row-class-name="tableRowClassName" @row-dblclick="removeAbs" @selection-change="selecteditems" size="small"
show-summary :row-class-name="handleRowClassName" @row-dblclick="removeAbs" @selection-change="selecteditems" size="small"
@row-click="removeAsbItem">
<!-- temporaryselection personnelUnit.nogroupselected-->
<!-- 取消勾选换成选中
<el-table-column type="selection" align="center"/>
-->
<el-table-column label="已选组合项目" min-width="120" prop="asbitemName" />
<el-table-column label="已选组合项目" min-width="120" prop="asbitemName" >
<template slot-scope="scope">
<div>
<i v-if="scope.row.groupPackageId" class="el-icon-star-on" style="font-size: 14px;color: purple;"></i>{{ scope.row.asbitemName }}
</div>
</template>
</el-table-column>
<el-table-column label="标准价格" prop="standardPrice" min-width="70" align="center" />
<el-table-column label="折扣" prop="discount" min-width="60">
<template slot-scope="scope">
@ -212,19 +218,19 @@ export default {
...mapActions(['getCustomerOrgGroup', 'getPatientRegisterAbs']),
dddw,moment,deepCopy,
tableRowClassName({row, rowIndex}){
//console.log(row)
if (row.choosed) {
return 'current-row';
} else {
if (row.groupPackageId) {
//console.log('row.groupPackageId',row.groupPackageId)
return 'purple-row'; //
}else{
return '';
}
}
},
// tableRowClassName({row, rowIndex}){
// //console.log(row)
// if (row.choosed) {
// return 'current-row';
// } else {
// if (row.groupPackageId) {
// //console.log('row.groupPackageId',row.groupPackageId)
// return 'purple-row'; //
// }else{
// return '';
// }
// }
// },
handleRowClassName({ row, rowIndex }) {
// highLightBg 'selected'
@ -688,7 +694,7 @@ export default {
getGroupPackageAsb(typeFlag, groupPackageId) {
let delBody = {};
let url = typeFlag == 'group' ?
'/api/app/customer-org-group-detail/customer-org-group-detail-in-asbitem/'
'/api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId='
: '/api/app/medical-package-detail/medical-package-in-asbitem?MedicalPackageId=';
let msg = typeFlag == 'group' ? '更换分组' : '更换套餐';
@ -878,7 +884,7 @@ export default {
= (Number(this.patientRegister.patientRegisterAbs[qtyIsOneLast].chargePrice)
+ Number((this.total - sumChargeDetails) / this.patientRegister.patientRegisterAbs[qtyIsOneLast].amount)).toFixed(2)
}
this.onSubmit('')
//this.onSubmit('')
},
//
@ -904,12 +910,12 @@ export default {
//
getSummaries(param) {
const { columns, data } = param;
const sumCol = [2, 5] //
const sumCol = [1, 4] //
const sums = [];
columns.forEach((column, index) => {
//console.log('column, index,data',column, index,data)
//
if (index === 1) {
if (index === 0) {
sums[index] = '合计';
return;
}
@ -955,22 +961,22 @@ export default {
watch: {
//
"patientRegister.customerOrgGroupChange"(newVal, oldVal) {
console.log("watch patientRegister.customerOrgGroupChange newVal:", newVal, " oldVal:", oldVal);
if (newVal != oldVal && newVal > 0) {
//this.getCustomerOrgGroupAsb(this.patientRegisterForm.customerOrgGroupId);
this.getGroupPackageAsb('group', this.patientRegisterForm.customerOrgGroupId);
}
},
// "patientRegister.customerOrgGroupChange"(newVal, oldVal) {
// console.log("watch patientRegister.customerOrgGroupChange newVal", newVal, " oldVal", oldVal);
// if (newVal != oldVal && newVal > 0) {
// //this.getCustomerOrgGroupAsb(this.patientRegisterForm.customerOrgGroupId);
// this.getGroupPackageAsb('group', this.patientRegisterForm.customerOrgGroupId);
// }
// },
//
"patientRegister.medicalPackageChange"(newVal, oldVal) {
console.log("watch patientRegister.medicalPackageChange newVal:", newVal, " oldVal:", oldVal);
if (newVal != oldVal && newVal > 0) {
//this.getMedicalPackageAsb(this.patientRegisterForm.medicalPackageId);
this.getGroupPackageAsb('medical', this.patientRegisterForm.medicalPackageId);
}
},
// //
// "patientRegister.medicalPackageChange"(newVal, oldVal) {
// console.log("watch patientRegister.medicalPackageChange newVal", newVal, " oldVal", oldVal);
// if (newVal != oldVal && newVal > 0) {
// //this.getMedicalPackageAsb(this.patientRegisterForm.medicalPackageId);
// this.getGroupPackageAsb('medical', this.patientRegisterForm.medicalPackageId);
// }
// },
//
"patientRegister.saveTimes"(newVal, oldVal) {

21
src/components/patientRegister/PatientRegisterList.vue

@ -137,6 +137,7 @@
>删除</el-button
>
</div>
<!--
<div class="listBtn">
<el-button
type=""
@ -145,8 +146,7 @@
icon="el-icon-camera"
>拍照</el-button
>
</div>
<!--
</div>
<div class="listBtn">
<el-button type="" class="btnClass commonbutton">健康档案</el-button>
</div>
@ -908,13 +908,18 @@ export default {
let body = {maxResultCount:500};
console.log(`this.patientRegister.query`, this.patientRegister.query);
if (this.patientRegister.query.customerOrgFlag) {
if (this.patientRegister.query.CustomerOrgParentId) {
body.customerOrgId = this.patientRegister.query.CustomerOrgParentId;
} else {
if (this.patientRegister.query.customerOrgId)
body.customerOrgId = this.patientRegister.query.customerOrgId;
if (this.patientRegister.query.customerOrgFlag) {
// if (this.patientRegister.query.CustomerOrgParentId) {
// body.customerOrgId = this.patientRegister.query.CustomerOrgParentId;
// } else {
// if (this.patientRegister.query.customerOrgId)
// body.customerOrgId = this.patientRegister.query.customerOrgId;
// }
if (this.patientRegister.query.customerOrgId) body.customerOrgId = this.patientRegister.query.customerOrgId;
if(this.patientRegister.query.customerOrgId && this.patientRegister.query.customerOrgId != this.dict.personOrgId){
body.customerOrgRegisterId = this.patientRegister.query.customerOrgRegister.id
}
}
if (this.patientRegister.query.sex)

27
src/components/patientRegister/patientRegisterAsbItem.vue

@ -3,9 +3,13 @@
<div style="display: flex">
<el-table :data="patientRegister.patientRegisterAbs" border
:height="window.pageHeight < 600 ? 100 : Math.floor((window.pageHeight - 302) / 3)" size="small"
:row-class-name="tableRowClassName" highlight-current-row :summary-method="getSummaries" show-summary
highlight-current-row :summary-method="getSummaries" show-summary
ref="patientRegister.patientRegisterAbs">
<el-table-column type="index" label="序号" width="50" />
<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" />
@ -89,15 +93,16 @@ export default {
return moment(new Date(date)).format(forMat);
},
tableRowClassName({ row, rowIndex }) {
//console.log(row)
if (row.groupPackageId) {
//console.log('row.groupPackageId',row.groupPackageId)
return 'purple-row'; //
} else {
return '';
}
},
// :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) {

84
src/components/patientRegister/patientRegisterQuery.vue

@ -4,52 +4,69 @@
<div :style="'margin-left: 5px;display: flex; flex-wrap: wrap; height:100px;width:' + (window.pageWidth - (orgEnable=='Y' ? 0:200) - 110 - 50) + 'px;'">
<div class="query">
<span>登记日期</span>
<span class="spanClass">登记日期</span>
<el-date-picker v-model="patientRegister.query.startDate" type="date" placeholder="起始日期" size="small" style="width:90px;"/>
<span></span>
<span class="spanClass"></span>
<el-date-picker v-model="patientRegister.query.endDate" type="date" placeholder="截止日期" size="small" style="width:90px;"/>
</div>
<div class="query">
<span>条码号</span>
<span class="spanClass">条码号</span>
<el-input placeholder="条码号" v-model="patientRegister.query.patientRegisterNo" size="small" clearable
style="width: 150px" />
style="width: 130px" />
</div>
<div class="query">
<span>档案号</span>
<span class="spanClass">档案号</span>
<el-input placeholder="档案号" v-model="patientRegister.query.patientNo" size="small" clearable
style="width: 135px" />
style="width: 110px" />
</div>
<div class="query">
<span>姓名</span>
<span class="spanClass">姓名</span>
<el-input placeholder="姓名" v-model="patientRegister.query.patientName" size="small" clearable
style="width: 100px" />
style="width: 80px" />
</div>
<div class="query">
<span>性别</span>
<span class="spanClass">性别</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-select>
</div>
<div class="query">
<span>手机号</span>
<span class="spanClass">手机号</span>
<el-input placeholder="手机号/电话" v-model="patientRegister.query.phone" size="small" clearable
style="width: 110px" />
style="width: 100px" />
</div>
<div class="query">
<span>身份证号</span>
<span class="spanClass">身份证号</span>
<el-input placeholder="身份证号" v-model="patientRegister.query.idCardNo" size="small" clearable
style="width: 160px" />
style="width: 150px" />
</div>
<div class="query">
<el-checkbox v-model="patientRegister.query.customerOrgFlag">单位作为查询条件</el-checkbox>
<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">
</el-cascader>
<el-checkbox v-model="patientRegister.query.customerOrgFlag">单位作为查询条件</el-checkbox>
:show-all-levels="false" clearable :disabled="orgEnable == 'Y' ? false : true" size="small" style="width:120px;">
</el-cascader>
</div>
<div class="query">
<span class="spanClass">次数</span>
<el-select
v-model="patientRegister.query.customerOrgRegister"
placeholder="次数"
style="width: 60px;"
size="small"
value-key="id"
>
<el-option
v-for="item in customerOrgRegisterList"
:key="item.id"
:label="item.medicalTimes"
:value="item"
/>
</el-select>
</div>
<div class="query">
<span>状态</span>
<span class="spanClass">状态</span>
<el-select v-model="patientRegister.query.completeFlag" placeholder="请选择" clearable style="width: 80px"
size="small">
<el-option v-for="item in dict.completeFlag" :key="item.id" :label="item.displayName" :value="item.id">
@ -80,6 +97,7 @@ export default {
data() {
return {
dialogVisible: false,
customerOrgRegisterList:[],
};
},
@ -129,7 +147,33 @@ export default {
},
},
};
watch:{
'patientRegister.query.customerOrgId'(newVal,oldVal){
if(newVal != oldVal){
if(!newVal || newVal == this.dict.personOrgId){
this.patientRegister.query.customerOrgRegister = null
this.customerOrgRegisterList = []
}else{
getapi(`/api/app/customer-org/parent/${newVal}
`).then(res => {
if(res.code != - 1){
return getapi(`/api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=${res.data}`)
}
}).then(res => {
if (res.code != -1) {
this.customerOrgRegisterList = res.data;
if (res.data.length > 0) {
this.patientRegister.query.customerOrgRegister = res.data[res.data.length - 1];
}
}
});
}
}
},
},
}
</script>
<style scoped>
@import "../../assets/css/global_button.css";
@ -151,4 +195,8 @@ export default {
top: 0; */
width: 100px;
}
.spanClass{
font-size: 14px;
}
</style>

2
src/store/index.js

@ -131,7 +131,7 @@ export default new Vuex.Store({
checkAsbs: null,
patientName:'', //姓名
sex:'', //性别
idCardNo:'', //身份证号
idCardNo:'', //身份证号
}, //查询条件
customerOrgGroup: [], //分组(针对单位)
patientRegisterAbs: [], //人员已选组合项目

9
src/views/customerOrg/customerOrgGroup.vue

@ -151,7 +151,7 @@
<!--分组项目信息 -->
<div>
<CustomerOrgGroupAsbitem :customerOrgGroup="form" />
<CustomerOrgGroupAsbitem :customerOrgGroup="form" :refreshMoney="refreshMoney"/>
</div>
</el-card>
@ -304,6 +304,13 @@ export default {
methods: {
moment,
dddw,deepCopy,
//
refreshMoney(formData){
console.log('this is parent')
let lfind = arrayExistObj(this.customerOrgGroups,'id',formData.id)
if(lfind > -1) this.customerOrgGroups[lfind].price = formData.price
},
//
btnSort() {

Loading…
Cancel
Save