pengjun 2 years ago
parent
commit
15ebebecf7
  1. 6
      src/assets/css/global_input.css
  2. 54
      src/components/doctorCheck/PatientRegisterBase.vue
  3. 102
      src/components/patientRegister/PatientRegisterEdit.vue
  4. 11
      src/components/patientRegister/PatientRegisterForChoose.vue
  5. 492
      src/components/patientRegister/PatientRegisterItem.vue
  6. 2
      src/components/patientRegister/PatientRegisterList.vue
  7. 2
      src/components/patientRegister/patientRegisterAsbItem.vue
  8. 2
      src/store/index.js
  9. 3
      src/utlis/proFunc.js

6
src/assets/css/global_input.css

@ -7,6 +7,12 @@
/* 原始 默认 25 */ /* 原始 默认 25 */
} }
.el-input.is-disabled .el-input__inner {
color: #606060;
}
.el-textarea.is-disabled .el-textarea__inner {
color: #606060;
}
/* 带前标 输入框 左间距 */ /* 带前标 输入框 左间距 */

54
src/components/doctorCheck/PatientRegisterBase.vue

@ -15,9 +15,12 @@
</div> </div>
<div> <div>
<span class="query">性别</span> <span class="query">性别</span>
<!--
<el-select v-model="prBase.sexId" style="width: 80px;" size="small" disabled> <el-select v-model="prBase.sexId" style="width: 80px;" size="small" disabled>
<el-option v-for="item in dict.sex" :key="item.id" :label="item.displayName" :value="item.id" /> <el-option v-for="item in dict.sex" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select> </el-select>
-->
<el-input v-model="prBase.sexName" size="small" style="width: 80px;" disabled />
</div> </div>
<div> <div>
<span class="query">体检次数</span> <span class="query">体检次数</span>
@ -25,9 +28,12 @@
</div> </div>
<div> <div>
<span class="query">婚姻</span> <span class="query">婚姻</span>
<!--
<el-select v-model="prBase.maritalStatusId" style="width: 80px;" size="small" disabled> <el-select v-model="prBase.maritalStatusId" style="width: 80px;" size="small" disabled>
<el-option v-for="item in dict.maritalStatus" :key="item.id" :label="item.displayName" :value="item.id" /> <el-option v-for="item in dict.maritalStatus" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select> </el-select>
-->
<el-input v-model="prBase.maritalStatusName" size="small" style="width: 80px;" disabled />
</div> </div>
<div> <div>
<span class="query">体检日期</span> <span class="query">体检日期</span>
@ -44,21 +50,30 @@
</div> </div>
<div> <div>
<span class="query">体检类别</span> <span class="query">体检类别</span>
<!--
<el-select v-model="prBase.medicalTypeId" disabled style="width: 100px;" size="small"> <el-select v-model="prBase.medicalTypeId" disabled style="width: 100px;" size="small">
<el-option v-for="item in dict.medicalType" :key="item.id" :label="item.displayName" :value="item.id" /> <el-option v-for="item in dict.medicalType" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select> </el-select>
-->
<el-input :value="prBase.medicalTypeName" style="width: 100px;" size="small" disabled />
</div> </div>
<div> <div>
<span class="query">人员类别</span> <span class="query">人员类别</span>
<!--
<el-select v-model="prBase.personnelTypeId" disabled style="width: 100px;" size="small"> <el-select v-model="prBase.personnelTypeId" disabled style="width: 100px;" size="small">
<el-option v-for="item in dict.personnelType" :key="item.id" :label="item.displayName" :value="item.id" /> <el-option v-for="item in dict.personnelType" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select> </el-select>
-->
<el-input :value="prBase.personnelTypeName" style="width: 100px;" size="small" disabled />
</div> </div>
<div> <div>
<span class="query">民族</span> <span class="query">民族</span>
<!--
<el-select v-model="prBase.nationId" disabled style="width: 100px;" size="small"> <el-select v-model="prBase.nationId" disabled style="width: 100px;" size="small">
<el-option v-for="item in dict.nation" :key="item.id" :label="item.displayName" :value="item.id" /> <el-option v-for="item in dict.nation" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select> </el-select>
-->
<el-input :value="prBase.nationName" style="width: 100px;" size="small" disabled />
</div> </div>
<div> <div>
<span class="query">手机</span> <span class="query">手机</span>
@ -94,14 +109,19 @@ export default {
patientNo: '', // patientNo: '', //
patientName: '', // patientName: '', //
sexId: '', // sexId: '', //
sexName: '', //
medicalTimes: '', // medicalTimes: '', //
maritalStatusId: '', // maritalStatusId: '', //
maritalStatusName: '', //
medicalStartDate: '', // medicalStartDate: '', //
customerOrgParentName: '', // customerOrgParentName: '', //
customerOrgName: '', // customerOrgName: '', //
medicalTypeId: '', // medicalTypeId: '', //
medicalTypeName: '', //
personnelTypeId: '', // personnelTypeId: '', //
personnelTypeName: '', //
nationId: '', // nationId: '', //
nationName: '', //
mobileTelephone: '', // mobileTelephone: '', //
}, },
prBaseInit: {}, prBaseInit: {},
@ -153,13 +173,13 @@ export default {
onQueryByPatientRegisterNo() { onQueryByPatientRegisterNo() {
let patientRegisterNo = this.prBase.patientRegisterNo let patientRegisterNo = this.prBase.patientRegisterNo
let body = { let body = {
sType: 1,
// sType: 1,
patientRegisterNo, patientRegisterNo,
isFilterPreRegistration: 'Y' // Y= N= N (CompleteFlag0null)
// isFilterPreRegistration: 'Y' // Y= N= N (CompleteFlag0null)
} }
// console.log(`/api/app/patientregister/getpatientregisterorpatient`, body) // console.log(`/api/app/patientregister/getpatientregisterorpatient`, body)
this.dataTransOpts.tableS.patient_register = { id: '', patientRegisterNo } this.dataTransOpts.tableS.patient_register = { id: '', patientRegisterNo }
postapi('/api/app/patientregister/getpatientregisterorpatient', body)
postapi('/api/app/patientregister/GetAlreadyRegisterPatientRegisterByNo', body)
.then((res) => { .then((res) => {
if (res.code != -1) { if (res.code != -1) {
if (res.data) this.dataTransOpts.tableS.patient_register = deepCopy(res.data) if (res.data) this.dataTransOpts.tableS.patient_register = deepCopy(res.data)
@ -174,13 +194,13 @@ export default {
onQueryByPatientNo() { onQueryByPatientNo() {
let patientNo = this.prBase.patientNo let patientNo = this.prBase.patientNo
let body = { let body = {
sType: 2,
// sType: 2,
patientNo, patientNo,
isFilterPreRegistration: 'Y' // Y= N= N (CompleteFlag0null)
// isFilterPreRegistration: 'Y' // Y= N= N (CompleteFlag0null)
} }
// console.log(`/api/app/patientregister/getpatientregisterorpatient`, body)
// console.log(`/api/app/patientregister/getpatientregisterorpatient`, body)
this.dataTransOpts.tableS.patient_register = { id: '', patientNo } this.dataTransOpts.tableS.patient_register = { id: '', patientNo }
postapi('/api/app/patientregister/getpatientregisterorpatient', body)
postapi('/api/app/patientregister/GetAlreadyRegisterPatientRegisterByNo', body)
.then((res) => { .then((res) => {
if (res.code != -1) { if (res.code != -1) {
if (res.data) this.dataTransOpts.tableS.patient_register = deepCopy(res.data) if (res.data) this.dataTransOpts.tableS.patient_register = deepCopy(res.data)
@ -205,6 +225,7 @@ export default {
if (res.code != -1) { if (res.code != -1) {
if (res.data.items.length == 1) { if (res.data.items.length == 1) {
this.dataTransOpts.tableS.patient_register.id = res.data.items[0].id this.dataTransOpts.tableS.patient_register.id = res.data.items[0].id
this.dataTransOpts.tableS.patient_register.patientRegisterNo = res.data.items[0].patientRegisterNo
setTimeout(() => { setTimeout(() => {
this.dataTransOpts.refresh.patient_register.S++ this.dataTransOpts.refresh.patient_register.S++
}, 10); }, 10);
@ -228,21 +249,24 @@ export default {
// }, 20); // }, 20);
}, },
//ID
getPatientRegister(patientRegisterId) {
if (!patientRegisterId) {
this.afterFind({ id: '' })
//patientRegisterNo
getPatientRegister(patientRegisterNo) {
if (!patientRegisterNo) {
this.afterFind({ id: '', patientRegisterNo: '' })
return return
} }
postapi(`/api/app/patientregister/getinfoorpatient?PatientRegisterId=${patientRegisterId}`)
let body = { patientRegisterNo }
postapi('/api/app/patientregister/GetAlreadyRegisterPatientRegisterByNo', body)
.then((res) => { .then((res) => {
if (res.code != -1) { if (res.code != -1) {
this.dataTransOpts.tableS.patient_register = deepCopy(res.data)
if (res.data) this.dataTransOpts.tableS.patient_register = deepCopy(res.data)
} }
}) })
.finally(() => { .finally(() => {
this.afterFind(this.dataTransOpts.tableS.patient_register) this.afterFind(this.dataTransOpts.tableS.patient_register)
}); });
}, },
@ -307,8 +331,8 @@ export default {
"dataTransOpts.refresh.patient_register.S": { "dataTransOpts.refresh.patient_register.S": {
// immediate:true, // immediate:true,
handler(newVal, oldVal) { handler(newVal, oldVal) {
console.log(`watch 组合项目列表 newVal: ${newVal} oldVal: ${oldVal} patient_register.id: ${this.dataTransOpts.tableS.patient_register.id}`);
this.getPatientRegister(this.dataTransOpts.tableS.patient_register.id)
console.log(`watch 组合项目列表 newVal: ${newVal} oldVal: ${oldVal} patient_register.id: ${this.dataTransOpts.tableS.patient_register.patientRegisterNo}`);
this.getPatientRegister(this.dataTransOpts.tableS.patient_register.patientRegisterNo)
// this.dataTransOpts.refresh.register_check.M++ // this.dataTransOpts.refresh.register_check.M++
} }
}, },

102
src/components/patientRegister/PatientRegisterEdit.vue

@ -4,9 +4,19 @@
<div style="display: flex"> <div style="display: flex">
<div :style="'width:' + (window.pageWidth - 110 - 20) + 'px;'"> <div :style="'width:' + (window.pageWidth - 110 - 20) + 'px;'">
<!--查询条件--> <!--查询条件-->
<div v-show="checkPagePriv(pagePriv.privs, '查找')" style="position: absolute;top:28px;left:180px;">
<div style="position: absolute;top:28px;left:140px;display: flex;">
<div v-show="checkPagePriv(pagePriv.privs, '查找')">
<PatientRegisterEditQuery /> <PatientRegisterEditQuery />
</div> </div>
<div style="display: flex;margin-left: 5px;">
<div v-show="checkPagePriv(pagePriv.privs, '读身份证')">
<el-button @click="peopleIcCard" class="commonbutton">读身份证</el-button>
</div>
<div style="margin-left: 5px;" v-show="checkPagePriv(pagePriv.privs, '拍照')">
<el-button type="primary" class="commonbutton" @click="photoGrah" icon="el-icon-camera">拍照</el-button>
</div>
</div>
</div>
<div> <div>
<el-form ref="form" :model="form" label-width="80px" :rules="rules" size="medium"> <el-form ref="form" :model="form" label-width="80px" :rules="rules" size="medium">
<el-row> <el-row>
@ -14,7 +24,7 @@
<el-form-item label="单位名称" prop="customerOrgId"> <el-form-item label="单位名称" prop="customerOrgId">
<el-cascader v-model="form.customerOrgId" :options="patientRegister.customerOrgTreeAll" <el-cascader v-model="form.customerOrgId" :options="patientRegister.customerOrgTreeAll"
:style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" filterable :style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" filterable
popper-class="example"
popper-class="example" :show-all-levels="false"
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" :props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }"
:disabled="(form.completeFlag == '3' || isDoctor != '1') ? true : false" size="small"> :disabled="(form.completeFlag == '3' || isDoctor != '1') ? true : false" size="small">
</el-cascader> </el-cascader>
@ -332,7 +342,7 @@
</el-row> </el-row>
</el-form> </el-form>
<el-image <el-image
:style="'position: absolute;top:50px;right:' + (100 + Math.floor((window.pageWidth - 750) / 24)) + 'px; width: 150px; height: 160px;'"
:style="'position: absolute;top:70px;right:' + (100 + Math.floor((window.pageWidth - 680) / 24)) + 'px; width: 130px; height: 140px;'"
:src="peoplePhoto"> :src="peoplePhoto">
<div slot="placeholder" class="image-slot"> <div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span> 加载中<span class="dot">...</span>
@ -346,11 +356,9 @@
</div> </div>
</div> </div>
<div style="margin-left: 10px;"> <div style="margin-left: 10px;">
<div v-show="checkPagePriv(pagePriv.privs, '拍照')">
<el-button type="primary" class="commonbutton" @click="photoGrah" icon="el-icon-camera">拍照</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '读身份证')" class="btn">
<el-button @click="peopleIcCard" class="commonbutton">读身份证</el-button>
<div v-show="checkPagePriv(pagePriv.privs, '新增')">
<el-button type="primary" class="commonbutton" @click="btnAdd">新增</el-button>
</div> </div>
<div v-show="checkPagePriv(pagePriv.privs, '复制新增')" class="btn"> <div v-show="checkPagePriv(pagePriv.privs, '复制新增')" class="btn">
<el-button type="primary" class="commonbutton" @click="rdCopy">复制新增</el-button> <el-button type="primary" class="commonbutton" @click="rdCopy">复制新增</el-button>
@ -523,7 +531,7 @@ export default {
peisid: null, peisid: null,
peoplePhoto: '', peoplePhoto: '',
preCustomerOrgId:'', //
form: { form: {
registerManType: 'customer', //customer doctor registerManType: 'customer', //customer doctor
id: "", //id id: "", //id
@ -552,7 +560,7 @@ export default {
isVip: "N", //vip isVip: "N", //vip
remark: "", // remark: "", //
isLock: "N", // isLock: "N", //
completeFlag: "1", // 0:123
completeFlag: "1", // 0:123
isMedicalStart: "N", // isMedicalStart: "N", //
patientRegisterNo: "", // patientRegisterNo: "", //
medicalTimes: 1, // medicalTimes: 1, //
@ -687,8 +695,8 @@ export default {
...mapActions(['getPatientRegisterAbs']), ...mapActions(['getPatientRegisterAbs']),
dddw, moment, checkPagePriv, dddw, moment, checkPagePriv,
btnTest(){
console.log('form',this.form)
btnTest() {
console.log('form', this.form)
}, },
// //
dictInit() { dictInit() {
@ -798,48 +806,58 @@ export default {
// form // form
async initFormData(patientRegisterId) { async initFormData(patientRegisterId) {
this.peisid = window.sessionStorage.getItem('peisid'); this.peisid = window.sessionStorage.getItem('peisid');
this.preCustomerOrgId = this.preCustomerOrgId || this.patientRegister.query.customerOrgId
if (!patientRegisterId) { // if (!patientRegisterId) { //
objCopy(this.formInit, this.form); objCopy(this.formInit, this.form);
this.form.medicalCenterId = this.peisid; // this.form.medicalCenterId = this.peisid; //
this.form.customerOrgId = this.patientRegister.query.customerOrgId || this.dict.personOrgId //
this.form.customerOrgId = this.preCustomerOrgId || this.dict.personOrgId //
this.form.customerOrgParentId = await this.getParentCustomerOrgId(this.form.customerOrgId) // this.form.customerOrgParentId = await this.getParentCustomerOrgId(this.form.customerOrgId) //
} else { } else {
// let res = await getapi(`/api/app/patient-register/${patientRegisterId}`) // let res = await getapi(`/api/app/patient-register/${patientRegisterId}`)
let res = await postapi(`/api/app/patientregister/getinfoorpatient?PatientRegisterId=${patientRegisterId}`) let res = await postapi(`/api/app/patientregister/getinfoorpatient?PatientRegisterId=${patientRegisterId}`)
// this.form = res.data checkbox // this.form = res.data checkbox
objCopy(res.data,this.form)
objCopy(res.data, this.form)
} }
this.initBox(); this.initBox();
this.getPeoplePhoto(this.form.photo) this.getPeoplePhoto(this.form.photo)
this.dataTransOpts.refresh.register_check_asbitem.D++ //
// / // /
await this.changeCustomerOrgId(this.form.customerOrgId)
this.dataTransOpts.refresh.register_check_asbitem.M++ //
this.changeCustomerOrgId(this.form.customerOrgId)
}, },
// //
async changeCustomerOrgId(v) { async changeCustomerOrgId(v) {
// console.log('changeCustomerOrgId',v)
let customerOrgId = "" let customerOrgId = ""
if (Array.isArray(v) && v.length > 0) { if (Array.isArray(v) && v.length > 0) {
customerOrgId = v[v.length - 1] customerOrgId = v[v.length - 1]
} else { } else {
customerOrgId = v customerOrgId = v
} }
this.preCustomerOrgId = customerOrgId
let customerOrgParentId = await this.getParentCustomerOrgId(customerOrgId) let customerOrgParentId = await this.getParentCustomerOrgId(customerOrgId)
if (customerOrgParentId) { if (customerOrgParentId) {
if (customerOrgParentId != this.dict.personOrgId) this.getCustomerOrgRegisterList(customerOrgParentId)
if (customerOrgParentId == this.dict.personOrgId){
this.form.customerOrgRegisterId = "00000000-0000-0000-0000-000000000001"
}else{
//
this.getCustomerOrgRegisterList(customerOrgParentId)
}
// / // /
if (this.form.customerOrgParentId != customerOrgParentId) { if (this.form.customerOrgParentId != customerOrgParentId) {
this.form.customerOrgGroupId = null this.form.customerOrgGroupId = null
this.form.medicalPackageId = null this.form.medicalPackageId = null
//
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => {
e.isBelongGroupPackage = 'N'
});
if (customerOrgParentId == this.dict.personOrgId) { if (customerOrgParentId == this.dict.personOrgId) {
this.patientRegister.customerOrgGroup = [] this.patientRegister.customerOrgGroup = []
@ -863,7 +881,7 @@ export default {
if (!customerOrgId) return customerOrgParentId if (!customerOrgId) return customerOrgParentId
if (typeof customerOrgId == 'string') { if (typeof customerOrgId == 'string') {
try { try {
let res = await getapi(`/api/app/customer-org/parent/${this.form.customerOrgId}`)
let res = await getapi(`/api/app/customer-org/parent/${customerOrgId}`)
if (res.code != -1) customerOrgParentId = res.data if (res.code != -1) customerOrgParentId = res.data
} catch (error) { } catch (error) {
console.log('获取顶级单位ID出错:', error) console.log('获取顶级单位ID出错:', error)
@ -1058,6 +1076,7 @@ export default {
// //
changeIdNo() { changeIdNo() {
if(!this.form.idNo) return
this.Query(this.form.idNo) this.Query(this.form.idNo)
let ret = parseID(this.form.idNo) let ret = parseID(this.form.idNo)
if (ret.age != -1) { if (ret.age != -1) {
@ -1186,7 +1205,7 @@ export default {
} else { } else {
this.form[type] = 'N'; this.form[type] = 'N';
} }
console.log('Box-type',this.form[type + 'Box'],this.form[type])
console.log('Box-type', this.form[type + 'Box'], this.form[type])
}, },
initBox() { initBox() {
@ -1296,7 +1315,7 @@ export default {
return false return false
} }
let body = this.madePrBody() let body = this.madePrBody()
body.registerCheckAsbitems = this.dataTransOpts.tableM.register_check_asbitem
body.registerCheckAsbitems = deepCopy(this.dataTransOpts.tableM.register_check_asbitem)
if (this.form.id) { if (this.form.id) {
// //
@ -1309,10 +1328,13 @@ export default {
postapi(`/api/PatientRegister/CreatePatientRegister`, body) postapi(`/api/PatientRegister/CreatePatientRegister`, body)
.then(res => { .then(res => {
if (res.code == 1) { if (res.code == 1) {
this.form.id = res.data.id
objCopy(res.data,this.form)
this.dataTransOpts.tableS.patient_register = deepCopy(res.data) this.dataTransOpts.tableS.patient_register = deepCopy(res.data)
delete this.dataTransOpts.tableS.patient_register.registerCheckAsbitems delete this.dataTransOpts.tableS.patient_register.registerCheckAsbitems
// id
this.dataTransOpts.tableM.register_check_asbitem = deepCopy(res.data.registerCheckAsbitems) this.dataTransOpts.tableM.register_check_asbitem = deepCopy(res.data.registerCheckAsbitems)
// // // //
// this.prAsbOpraOpts.formId = res.data.id // this.prAsbOpraOpts.formId = res.data.id
@ -1332,13 +1354,19 @@ export default {
}); });
}, },
//
btnAdd(){
this.dataTransOpts.tableS.patient_register.id = ''
this.dataTransOpts.refresh.patient_register.S++
},
// //
rdCopy() { rdCopy() {
if (!this.form.id) { if (!this.form.id) {
this.$message.info("该信息尚未保存,不可执行此操作!"); this.$message.info("该信息尚未保存,不可执行此操作!");
return; return;
} }
this.dataTransOpts.tableS.patient_register.id = ''
this.patientRegister.photo = '/pic/Photo.jpg' this.patientRegister.photo = '/pic/Photo.jpg'
this.patientRegister.patientRegisterId = ''; this.patientRegister.patientRegisterId = '';
this.form.id = ''; this.form.id = '';
@ -1348,6 +1376,7 @@ export default {
this.form.medicalTimes = 1; this.form.medicalTimes = 1;
this.form.patientName = ''; this.form.patientName = '';
this.form.photo = ''; this.form.photo = '';
this.form.completeFlag = '1'; //
// this.patientRegister.patientRegisterAbs.forEach(e => { // this.patientRegister.patientRegisterAbs.forEach(e => {
// e.id = ''; // e.id = '';
@ -1356,14 +1385,19 @@ export default {
// e.checkCompleteFlag = '0' // e.checkCompleteFlag = '0'
// e.isLock = 'N' // e.isLock = 'N'
// }); // });
//
setTimeout(() => {
this.prAsbOpraOpts.copyNew++
}, 20);
//
// setTimeout(() => {
// this.prAsbOpraOpts.copyNew++
// }, 10);
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => {
delete e.id
e.patientRegisterId = ''
e.isCharge = 'N'
e.isLock = 'N'
});
// console.log('this.patientRegister.patientRegisterAbs',this.patientRegister.patientRegisterAbs) // console.log('this.patientRegister.patientRegisterAbs',this.patientRegister.patientRegisterAbs)
this.$message.info("操作成功,请记得点保存"); this.$message.info("操作成功,请记得点保存");
this
}, },
@ -1394,20 +1428,20 @@ export default {
return; return;
} }
if (!this.$peisAPI) { if (!this.$peisAPI) {
this.$message.info({showClose:true,message:"此功能,需要在壳客户端才可运行!"})
this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!" })
return return
} }
this.$peisAPI.photoGrah() this.$peisAPI.photoGrah()
.then(res => { .then(res => {
console.log('this.$peisAPI.photoGrah 原始返回结果',res)
console.log('this.$peisAPI.photoGrah 原始返回结果', res)
let lres = JSON.parse(res) let lres = JSON.parse(res)
if (lres.code == 1) { if (lres.code == 1) {
let uploadPhoto = { let uploadPhoto = {
patientRegisterId: this.form.id, patientRegisterId: this.form.id,
photo: lres.data.Photo, photo: lres.data.Photo,
}; };
this.peoplePhoto = `data:image/${lres.data.PhotoFormat == 'jpg' ? 'jpeg':lres.data.PhotoFormat};base64,${lres.data.Photo}`
this.patientRegister.photo = `data:image/${lres.data.PhotoFormat == 'jpg' ? 'jpeg':lres.data.PhotoFormat};base64,${lres.data.Photo}`
this.peoplePhoto = `data:image/${lres.data.PhotoFormat == 'jpg' ? 'jpeg' : lres.data.PhotoFormat};base64,${lres.data.Photo}`
this.patientRegister.photo = `data:image/${lres.data.PhotoFormat == 'jpg' ? 'jpeg' : lres.data.PhotoFormat};base64,${lres.data.Photo}`
return postapi(`/api/app/patient-register/up-load-img`, uploadPhoto) return postapi(`/api/app/patient-register/up-load-img`, uploadPhoto)
} else { } else {
this.$message.error("上传照片错误" + lres.code) this.$message.error("上传照片错误" + lres.code)

11
src/components/patientRegister/PatientRegisterForChoose.vue

@ -172,8 +172,8 @@ export default {
props:["params"], // params props:["params"], // params
data() { data() {
return { return {
patientRegisterId:'', // ID
patientRegisters:[], // patientRegisters:[], //
tableDataCurrentRow: {}, //
}; };
}, },
@ -206,7 +206,7 @@ export default {
// //
registerRowClick(row){ registerRowClick(row){
this.patientRegisterId = row.id
this.tableDataCurrentRow = deepCopy(row)
}, },
// //
@ -216,13 +216,14 @@ export default {
}, },
btnOk(){ btnOk(){
if(!this.patientRegisterId){
if(!this.tableDataCurrentRow.id){
this.$message.warning("请选择体检人员!") this.$message.warning("请选择体检人员!")
return return
} }
this.dataTransOpts.tableS.patient_register.id = this.patientRegisterId
setTimeout(() => {
this.dataTransOpts.tableS.patient_register = deepCopy(this.tableDataCurrentRow)
this.dataTransOpts.refresh.patient_register.S++ this.dataTransOpts.refresh.patient_register.S++
setTimeout(() => {
this.tableDataCurrentRow = {}
}, 10); }, 10);
this.dialogWin.PatientRegisterForChoose = false this.dialogWin.PatientRegisterForChoose = false
}, },

492
src/components/patientRegister/PatientRegisterItem.vue

@ -3,16 +3,17 @@
<div style="width:220px;"> <div style="width:220px;">
<div> <div>
<span>项目类别</span> <span>项目类别</span>
<el-cascader :options="dict.itemTypeTree" v-model="itemTypeIds" popper-class="example" style="margin-left: 3px;width:160px;"
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }"
clearable filterable @change="changeItemType" size="small" :disabled="isComplete">
<el-cascader :options="dict.itemTypeTree" v-model="itemTypeIds" popper-class="example"
style="margin-left: 3px;width:160px;"
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" clearable filterable
@change="changeItemType" size="small" :disabled="isComplete">
</el-cascader> </el-cascader>
</div> </div>
<div class="mainareaBox"> <div class="mainareaBox">
<el-table :data="asbItem" style="border-radius: 5px;" <el-table :data="asbItem" style="border-radius: 5px;"
:height="(window.pageHeight > 700 ? (window.pageHeight - 440) : 260)" @row-dblclick="dbClickChoosedAsb" highlight-current-row
@selection-change="handleSelectionChange" size="small" :row-class-name="handleRowClassName"
@row-click="chooseAsbItem">
:height="(window.pageHeight > 700 ? (window.pageHeight - 440) : 260)" @row-dblclick="dbClickChoosedAsb"
highlight-current-row @selection-change="handleSelectionChange" size="small"
:row-class-name="handleRowClassName" @row-click="chooseAsbItem">
<!-- <!--
<el-table-column type="selection" align="center" width="40" /> <el-table-column type="selection" align="center" width="40" />
--> -->
@ -34,20 +35,24 @@
</div> </div>
<div style="width:100px;margin-top: 70px;"> <div style="width:100px;margin-top: 70px;">
<div v-show="checkPagePriv(pagePriv.privs,'添加')" class="btnList">
<el-button class="commonbutton" @click="addAbs(asbItemChoosed,'choosed')" style="width:90px;" :disabled="isComplete">添加 <i class="el-icon-arrow-right"></i>
<div v-show="checkPagePriv(pagePriv.privs, '添加')" class="btnList">
<el-button class="commonbutton" @click="addAbs(asbItemChoosed, 'choosed')" style="width:90px;"
:disabled="isComplete">添加 <i class="el-icon-arrow-right"></i>
</el-button> </el-button>
</div> </div>
<div v-show="checkPagePriv(pagePriv.privs,'全添加')" class="btnList">
<el-button type="success" class="difference" @click="addAbs(asbItemChoosed,'all')" style="width:90px;" :disabled="isComplete">全添加 <i class="el-icon-d-arrow-right"></i>
<div v-show="checkPagePriv(pagePriv.privs, '全添加')" class="btnList">
<el-button type="success" class="difference" @click="addAbs(asbItemChoosed, 'all')" style="width:90px;"
:disabled="isComplete">全添加 <i class="el-icon-d-arrow-right"></i>
</el-button> </el-button>
</div> </div>
<div v-show="checkPagePriv(pagePriv.privs,'移除')" class="btnList">
<el-button type="warning" class="commonbutton" @click="delAbs(patientRegisterAbsChoosed,'choosed')" style="width:90px;" :disabled="isComplete"><i class="el-icon-arrow-left"> 移除</i>
<div v-show="checkPagePriv(pagePriv.privs, '移除')" class="btnList">
<el-button type="warning" class="commonbutton" @click="delAbs(patientRegisterAbsChoosed, 'choosed')"
style="width:90px;" :disabled="isComplete"><i class="el-icon-arrow-left"> 移除</i>
</el-button> </el-button>
</div> </div>
<div v-show="checkPagePriv(pagePriv.privs,'全移除')" class="btnList">
<el-button type="danger" class="difference" @click="delAbs(patientRegisterAbsChoosed,'all')" style="width:90px;" :disabled="isComplete"><i class="el-icon-d-arrow-left"> 全移除</i>
<div v-show="checkPagePriv(pagePriv.privs, '全移除')" class="btnList">
<el-button type="danger" class="difference" @click="delAbs(patientRegisterAbsChoosed, 'all')" style="width:90px;"
:disabled="isComplete"><i class="el-icon-d-arrow-left"> 全移除</i>
</el-button> </el-button>
</div> </div>
<!-- 不显示保存当已选组合有修改时失去焦点自动保存 <!-- 不显示保存当已选组合有修改时失去焦点自动保存
@ -72,32 +77,32 @@
<span>总金额 </span> <span>总金额 </span>
</el-tooltip> </el-tooltip>
<el-input style="width:70px;" v-model="total" size="small" type="number" @input="changeTotal" ref="total" <el-input style="width:70px;" v-model="total" size="small" type="number" @input="changeTotal" ref="total"
@focus="totalFoucs = true" @blur="totalFoucs = false"/>
@focus="totalFoucs = true" @blur="totalFoucs = false" />
</div> </div>
<div class="disTotal"> <div class="disTotal">
<el-select v-model="asbItemId" placeholder="快速选择组合项目" size="small"
filterable :filter-method="filterMethod" :disabled="isComplete"
clearable @clear="quickAsb = deepCopy(asbItemQuick)"
@change="quickChoosedAsb" default-first-option ref="quickAsbOCX"
style="width:240px;text-align: left;padding-right: 15px;">
<el-select v-model="asbItemId" placeholder="快速选择组合项目" size="small" filterable :filter-method="filterMethod"
:disabled="isComplete" clearable @clear="quickAsb = deepCopy(asbItemQuick)" @change="quickChoosedAsb"
default-first-option ref="quickAsbOCX" style="width:240px;text-align: left;padding-right: 15px;">
<el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" /> <el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" />
</el-select> </el-select>
</div> </div>
</div> </div>
<div class="mainareaBox"> <div class="mainareaBox">
<el-table :data="dataTransOpts.tableM.register_check_asbitem" highlight-current-row border ref="patientRegister_patientRegisterAbs" style="border-radius: 5px;"
:height="(window.pageHeight > 700 ? (window.pageHeight - 440) : 260)" width="100%" :summary-method="getSummaries"
show-summary :row-class-name="handleRowClassName" @row-dblclick="removeAbs" @selection-change="selecteditems" size="small"
@row-click="removeAsbItem">
<el-table :data="dataTransOpts.tableM.register_check_asbitem" highlight-current-row border
ref="patientRegister_patientRegisterAbs" style="border-radius: 5px;"
:height="(window.pageHeight > 700 ? (window.pageHeight - 440) : 260)" width="100%"
:summary-method="getSummaries" show-summary :row-class-name="handleRowClassName" @row-dblclick="removeAbs"
@selection-change="selecteditems" size="small" @row-click="removeAsbItem">
<!-- temporaryselection personnelUnit.nogroupselected--> <!-- temporaryselection personnelUnit.nogroupselected-->
<!-- 取消勾选换成选中 <!-- 取消勾选换成选中
<el-table-column type="selection" align="center"/> <el-table-column type="selection" align="center"/>
--> -->
<el-table-column label="已选组合项目" min-width="120" prop="asbitemName" >
<el-table-column label="已选组合项目" min-width="150" prop="asbitemName">
<template slot-scope="scope"> <template slot-scope="scope">
<div> <div>
<el-tooltip class="item" effect="dark" content="标五角星表示属于分组或套餐的项目" placement="top"> <el-tooltip class="item" effect="dark" content="标五角星表示属于分组或套餐的项目" placement="top">
<i v-if="scope.row.groupPackageId" class="el-icon-star-on" style="font-size: 14px;color: purple;"></i>
<i v-if="scope.row.isBelongGroupPackage == 'Y'" class="el-icon-star-on"
style="font-size: 14px;color: purple;"></i>
</el-tooltip> </el-tooltip>
{{ scope.row.asbitemName }} {{ scope.row.asbitemName }}
</div> </div>
@ -116,13 +121,13 @@
</el-table-column> </el-table-column>
<el-table-column label="实收价格" prop="chargePrice" min-width="70"> <el-table-column label="实收价格" prop="chargePrice" min-width="70">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input type="number" v-model="scope.row.chargePrice" size="small"
@input="changePrice(scope.$index)" /> <!--立即触发保存 @blur="onSubmit('')" -->
<el-input type="number" v-model="scope.row.chargePrice" size="small" @input="changePrice(scope.$index)" />
<!--立即触发保存 @blur="onSubmit('')" -->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="total" label="金额" min-width="70" align="center"/>
<el-table-column prop="total" label="金额" min-width="70" align="center" />
<el-table-column prop="standardPrice" label="标准金额" min-width="70" v-if="false" /> <el-table-column prop="standardPrice" label="标准金额" min-width="70" v-if="false" />
<el-table-column label="支付方式" prop="payTypeFlag" min-width="100">
<el-table-column label="支付方式" prop="payTypeFlag" width="80">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.payTypeFlag" size="small"> <el-select v-model="scope.row.payTypeFlag" size="small">
<el-option v-for="item in dict.payType" :key="item.id" :label="item.displayName" :value="item.id" /> <el-option v-for="item in dict.payType" :key="item.id" :label="item.displayName" :value="item.id" />
@ -147,11 +152,14 @@
<el-table-column prop="creatorName" label="登记人" min-width="70" align="center"></el-table-column> <el-table-column prop="creatorName" label="登记人" min-width="70" align="center"></el-table-column>
<el-table-column prop="creationTime" label="登记日期" win-width="90" align="center"> <el-table-column prop="creationTime" label="登记日期" win-width="90" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.creationTime ? moment(scope.row.creationTime).format('yyyy-MM-DD'):'' }}</div>
<div>{{ scope.row.creationTime ? moment(scope.row.creationTime).format('yyyy-MM-DD') : '' }}</div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<div style="position: absolute;bottom:28px;right:125px;font-size: 10px;">
{{ asbDesc }}
</div>
</div> </div>
</div> </div>
</template> </template>
@ -159,37 +167,37 @@
import moment from 'moment'; import moment from 'moment';
import { mapState, mapActions } from "vuex"; import { mapState, mapActions } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api"; import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { getPagePriv,checkPagePriv, arrayFilter, arrayReduce, arrayExistObj, dddw, deepCopy, tcdate} from "../../utlis/proFunc";
import { getPagePriv, checkPagePriv, arrayFilter, arrayReduce, arrayExistObj, dddw, deepCopy, tcdate } from "../../utlis/proFunc";
import proApi from "../../utlis/proApi"; import proApi from "../../utlis/proApi";
export default { export default {
props: ["prForm","prAsbOpraOpts","triggerHeadSave","refreshFormId"],
props: ["prForm", "prAsbOpraOpts", "triggerHeadSave", "refreshFormId"],
data() { data() {
return { return {
pagePriv:{
routeUrlorPageName:'PatientRegisterEdit', //
privs:[] //
pagePriv: {
routeUrlorPageName: 'PatientRegisterEdit', //
privs: [] //
}, },
oldFormId:'', //使
oldFormId: '', //使
itemType: [], // itemType: [], //
itemTypeIds: '', //ID itemTypeIds: '', //ID
asbItem:[], //
asbItemAll:[], //
asbItem: [], //
asbItemAll: [], //
asbItemChoosed: [], // asbItemChoosed: [], //
startPoint:-1,
startPoint: -1,
//patientRegisterAbs:[], // vuex //patientRegisterAbs:[], // vuex
patientRegisterAbsChoosed: [], // patientRegisterAbsChoosed: [], //
PstartPoint:-1,
PstartPoint: -1,
//patientRegisterAbsDel: [], // //patientRegisterAbsDel: [], //
prAsb:[], //
prAsbDels:[], //
// prAsb:[], //
// prAsbDels:[], //
groupAsbs:[], //
packageAsbs:[], //
groupAsbs: [], //
packageAsbs: [], //
asbItemId: '', asbItemId: '',
@ -197,29 +205,31 @@ export default {
total: 0, total: 0,
totalStand: 0, totalStand: 0,
quickAsb: [], quickAsb: [],
asbItemQuick:[],
asbItemQuick: [],
totalFoucs: false, // totalFoucs: false, //
discountFoucs: false, // discountFoucs: false, //
asbDesc:'', //
}; };
}, },
computed: { computed: {
...mapState(["window", "dataTransOpts", "dict", "customerOrg", "patientRegister", "personnelUnit"]), ...mapState(["window", "dataTransOpts", "dict", "customerOrg", "patientRegister", "personnelUnit"]),
// //
isComplete(){
return this.prForm.completeFlag == '3' ? true:false;
isComplete() {
return this.prForm.completeFlag == '3' ? true : false;
}, },
}, },
created(){
created() {
// //
let userPriv = window.sessionStorage.getItem('userPriv') let userPriv = window.sessionStorage.getItem('userPriv')
if(userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
this.dictInit() this.dictInit()
}, },
updated(){
updated() {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['patientRegister_patientRegisterAbs'].doLayout() this.$refs['patientRegister_patientRegisterAbs'].doLayout()
}) })
@ -230,10 +240,10 @@ export default {
methods: { methods: {
...mapActions(['getCustomerOrgGroup', 'getPatientRegisterAbs']), ...mapActions(['getCustomerOrgGroup', 'getPatientRegisterAbs']),
dddw,moment,deepCopy,checkPagePriv,
dddw, moment, deepCopy, checkPagePriv,
// //
dictInit(){
dictInit() {
// //
getapi("/api/app/item-type/by-code-all").then((res) => { getapi("/api/app/item-type/by-code-all").then((res) => {
@ -244,8 +254,8 @@ export default {
}); });
// //
postapi('/api/app/asbitem/GetBasicList',{isFilterActive:'Y'}).then(res =>{
if(res.code != -1){
postapi('/api/app/asbitem/GetBasicList', { isFilterActive: 'Y' }).then(res => {
if (res.code != -1) {
this.asbItem = res.data this.asbItem = res.data
this.asbItemAll = res.data this.asbItemAll = res.data
this.asbItemQuick = res.data this.asbItemQuick = res.data
@ -255,22 +265,25 @@ export default {
}, },
// //
async getPrAsb(id){
async getPrAsb(id) {
// debugger // debugger
// //
console.log('getPrAsb(id)',`getPrAsb(${id})`)
this.prAsbDels = []
console.log('getPrAsb(id)', `getPrAsb(${id})`)
// this.prAsbDels = []
this.groupAsbs = [] this.groupAsbs = []
this.packageAsbs = [] this.packageAsbs = []
if (!id) {
this.dataTransOpts.tableM.register_check_asbitem = []
} else {
let result = await proApi.getPrAsb(id) let result = await proApi.getPrAsb(id)
this.dataTransOpts.tableM.register_check_asbitem = result.data this.dataTransOpts.tableM.register_check_asbitem = result.data
}
this.refreshAsbitem() this.refreshAsbitem()
}, },
// //
async copyNew(){
if(this.oldFormId){
async copyNew() {
if (this.oldFormId) {
let result = await proApi.getPrAsb(this.oldFormId) let result = await proApi.getPrAsb(this.oldFormId)
this.dataTransOpts.tableM.register_check_asbitem = result.data this.dataTransOpts.tableM.register_check_asbitem = result.data
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { this.dataTransOpts.tableM.register_check_asbitem.forEach(e => {
@ -285,7 +298,7 @@ export default {
}, },
// //
refreshAsbitem(){
refreshAsbitem() {
let asbItemAll = deepCopy(this.asbItemAll) let asbItemAll = deepCopy(this.asbItemAll)
let choosedAsb = this.dataTransOpts.tableM.register_check_asbitem.filter(e => { let choosedAsb = this.dataTransOpts.tableM.register_check_asbitem.filter(e => {
return e.checkCompleteFlag == '0' || !(e.checkCompleteFlag) return e.checkCompleteFlag == '0' || !(e.checkCompleteFlag)
@ -306,8 +319,8 @@ export default {
}, },
// //
chooseAsbItem(row){
this.asbItem.forEach((e,index) => {
chooseAsbItem(row) {
this.asbItem.forEach((e, index) => {
e.index = index; e.index = index;
return e return e
}); });
@ -339,7 +352,7 @@ export default {
// ctrl // ctrl
if (this.window.ctrl) { if (this.window.ctrl) {
console.log('this.window.ctrl',this.window.ctrl,this.asbItem)
console.log('this.window.ctrl', this.window.ctrl, this.asbItem)
this.asbItem[row.index].choosed = true; this.asbItem[row.index].choosed = true;
this.startPoint = row.index; this.startPoint = row.index;
return return
@ -358,8 +371,8 @@ export default {
}, },
// //
removeAsbItem(row){
this.dataTransOpts.tableM.register_check_asbitem.forEach((e,index) => {
removeAsbItem(row) {
this.dataTransOpts.tableM.register_check_asbitem.forEach((e, index) => {
e.index = index; e.index = index;
return e return e
}); });
@ -391,7 +404,7 @@ export default {
// ctrl // ctrl
if (this.window.ctrl) { if (this.window.ctrl) {
console.log('this.window.ctrl',this.window.ctrl,this.dataTransOpts.tableM.register_check_asbitem)
console.log('this.window.ctrl', this.window.ctrl, this.dataTransOpts.tableM.register_check_asbitem)
this.dataTransOpts.tableM.register_check_asbitem[row.index].choosed = true; this.dataTransOpts.tableM.register_check_asbitem[row.index].choosed = true;
this.PstartPoint = row.index; this.PstartPoint = row.index;
return return
@ -414,27 +427,27 @@ export default {
let ret = false let ret = false
ret = await this.batchAddAsb() ret = await this.batchAddAsb()
if(!ret){
if(msg) this.$message.warning(`组合项目 ${msg} 失败!`)
if (!ret) {
if (msg) this.$message.warning(`组合项目 ${msg} 失败!`)
return return
} }
ret = await this.batchDelAsb() ret = await this.batchDelAsb()
if(!ret){
if(msg) this.$message.warning(`组合项目 ${msg} 失败!`)
if (!ret) {
if (msg) this.$message.warning(`组合项目 ${msg} 失败!`)
return return
} }
ret = await this.batchEditAsb() ret = await this.batchEditAsb()
if(!ret){
if(msg) this.$message.warning(`组合项目 ${msg} 失败!`)
if (!ret) {
if (msg) this.$message.warning(`组合项目 ${msg} 失败!`)
return return
} }
console.log('this.prAsbOpraOpts.formId',this.prAsbOpraOpts.formId)
if(this.prAsbOpraOpts.formId){
console.log('this.prAsbOpraOpts.formId', this.prAsbOpraOpts.formId)
if (this.prAsbOpraOpts.formId) {
this.refreshFormId() this.refreshFormId()
}else{
} else {
// //
this.triggerHeadSave() this.triggerHeadSave()
this.getPrAsb(this.prForm.id) this.getPrAsb(this.prForm.id)
@ -452,18 +465,18 @@ export default {
// //
///api/app/register-asbitem/many/3fa85f64-5717-4562-b3fc-2c963f66afa6' ///api/app/register-asbitem/many/3fa85f64-5717-4562-b3fc-2c963f66afa6'
addAbs(asbItemChoosed,oprType) {
addAbs(asbItemChoosed, oprType) {
let checked = true let checked = true
let payTypeFlag = '0' // let payTypeFlag = '0' //
// start // start
if(oprType && oprType == 'all'){
if (oprType && oprType == 'all') {
asbItemChoosed = deepCopy(this.asbItem) asbItemChoosed = deepCopy(this.asbItem)
}else if(oprType && oprType == 'choosed'){
} else if (oprType && oprType == 'choosed') {
asbItemChoosed = [] asbItemChoosed = []
this.asbItem.forEach(e =>{
if(e.choosed){
this.asbItem.forEach(e => {
if (e.choosed) {
asbItemChoosed.push(e) asbItemChoosed.push(e)
e.choosed = false e.choosed = false
} }
@ -500,13 +513,13 @@ export default {
let pojo = { let pojo = {
asbitemId: asbItemChoosed[i].id, asbitemId: asbItemChoosed[i].id,
asbitemName: asbItemChoosed[i].displayName, asbitemName: asbItemChoosed[i].displayName,
patientRegisterId: this.prForm.id||this.dict.personOrgId,
patientRegisterId: this.prForm.id || this.dict.personOrgId,
standardPrice: asbItemChoosed[i].price, standardPrice: asbItemChoosed[i].price,
chargePrice: asbItemChoosed[i].price, chargePrice: asbItemChoosed[i].price,
payTypeFlag, payTypeFlag,
isCharge: "N", isCharge: "N",
checkCompleteFlag:'0',
discount:100,
checkCompleteFlag: '0',
discount: 100,
amount: 1, amount: 1,
total: asbItemChoosed[i].price, total: asbItemChoosed[i].price,
} }
@ -526,7 +539,7 @@ export default {
async batchAddAsb() { async batchAddAsb() {
let ret = false let ret = false
let patientRegisterId = this.prForm.id || this.prAsbOpraOpts.formId let patientRegisterId = this.prForm.id || this.prAsbOpraOpts.formId
if(!patientRegisterId){
if (!patientRegisterId) {
this.$message.warning("人员基本信息未保存"); this.$message.warning("人员基本信息未保存");
return ret return ret
} }
@ -534,7 +547,7 @@ export default {
let registerAsbitems = [] let registerAsbitems = []
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { this.dataTransOpts.tableM.register_check_asbitem.forEach(e => {
if(!e.id){
if (!e.id) {
registerAsbitems.push({ registerAsbitems.push({
asbitemId: e.asbitemId, asbitemId: e.asbitemId,
patientRegisterId, patientRegisterId,
@ -548,19 +561,19 @@ export default {
} }
}) })
if(registerAsbitems.length == 0) return true
if (registerAsbitems.length == 0) return true
let body = { let body = {
medicalCenterId:this.prForm.medicalCenterId,
medicalCenterId: this.prForm.medicalCenterId,
registerAsbitems, registerAsbitems,
isAutoMerger:'Y'
isAutoMerger: 'Y'
} }
try { try {
let res = await postapi('/api/app/registerasbitem/createregisterasbitemmany', body) let res = await postapi('/api/app/registerasbitem/createregisterasbitemmany', body)
if(res.code != -1) ret = true
if (res.code != -1) ret = true
} catch (error) { } catch (error) {
console.log('批量添加组合项目失败',error)
console.log('批量添加组合项目失败', error)
} }
return ret return ret
@ -574,9 +587,9 @@ export default {
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { this.dataTransOpts.tableM.register_check_asbitem.forEach(e => {
if(e.id){
if (e.id) {
body.push({ body.push({
registerAsbitemId:e.id,
registerAsbitemId: e.id,
input: { input: {
chargePrice: e.chargePrice, chargePrice: e.chargePrice,
payTypeFlag: e.payTypeFlag, payTypeFlag: e.payTypeFlag,
@ -587,13 +600,13 @@ export default {
}) })
} }
}) })
if(body.length == 0) return true
if (body.length == 0) return true
try { try {
let res = await postapi(`/api/app/registerasbitem/updatemany`, body) let res = await postapi(`/api/app/registerasbitem/updatemany`, body)
if(res.code != -1) ret = true
if (res.code != -1) ret = true
} catch (error) { } catch (error) {
console.log('批量提交更新组合项目失败',error)
console.log('批量提交更新组合项目失败', error)
} }
return ret return ret
}, },
@ -601,40 +614,40 @@ export default {
// //
async batchDelAsb() { async batchDelAsb() {
let ret = false let ret = false
if(this.prAsbDels.length == 0) return true
// if(this.prAsbDels.length == 0) return true
let registerAsbitemIds=[]
// let registerAsbitemIds=[]
this.prAsbDels.forEach(e => {
registerAsbitemIds.push(e.id)
})
// this.prAsbDels.forEach(e => {
// registerAsbitemIds.push(e.id)
// })
console.log(`/api/app/registerasbitem/deletemany`, {registerAsbitemIds})
// console.log(`/api/app/registerasbitem/deletemany`, {registerAsbitemIds})
try {
let res = await postapi(`/api/app/registerasbitem/deletemany`, {registerAsbitemIds})
if(res.code != -1) ret = true
} catch (error) {
console.log('批量删除组合项目失败',error)
}
// try {
// let res = await postapi(`/api/app/registerasbitem/deletemany`, {registerAsbitemIds})
// if(res.code != -1) ret = true
// } catch (error) {
// console.log('',error)
// }
return ret return ret
}, },
// //
///api/app/register-asbitem/many?RegisterAsbitemIds=3fa85f64-5717-4562-b3fc-2c963f66afa6 ///api/app/register-asbitem/many?RegisterAsbitemIds=3fa85f64-5717-4562-b3fc-2c963f66afa6
delAbs(absForDel,oprType) {
delAbs(absForDel, oprType) {
let chargeComplete = '' let chargeComplete = ''
let lfind = -1 let lfind = -1
let tempRd = {} let tempRd = {}
// start // start
if(oprType && oprType == 'all'){
if (oprType && oprType == 'all') {
absForDel = deepCopy(this.dataTransOpts.tableM.register_check_asbitem) absForDel = deepCopy(this.dataTransOpts.tableM.register_check_asbitem)
}else if(oprType && oprType == 'choosed'){
} else if (oprType && oprType == 'choosed') {
absForDel = [] absForDel = []
this.dataTransOpts.tableM.register_check_asbitem.forEach(e =>{
if(e.choosed){
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => {
if (e.choosed) {
absForDel.push(e) absForDel.push(e)
e.choosed = false e.choosed = false
} }
@ -651,10 +664,10 @@ export default {
// //
if (e.isCharge == 'Y' || (e.checkCompleteFlag && e.checkCompleteFlag != '0')) { if (e.isCharge == 'Y' || (e.checkCompleteFlag && e.checkCompleteFlag != '0')) {
chargeComplete += e.asbitemName + ',' chargeComplete += e.asbitemName + ','
}else{
} else {
lfind = arrayExistObj(this.dataTransOpts.tableM.register_check_asbitem, 'asbitemId', e.asbitemId) lfind = arrayExistObj(this.dataTransOpts.tableM.register_check_asbitem, 'asbitemId', e.asbitemId)
if(lfind > -1){
tempRd = Object.assign({}, this.dataTransOpts.tableM.register_check_asbitem.splice(lfind,1)[0])
if (lfind > -1) {
tempRd = Object.assign({}, this.dataTransOpts.tableM.register_check_asbitem.splice(lfind, 1)[0])
// if(e.id) this.prAsbDels.push(tempRd) // if(e.id) this.prAsbDels.push(tempRd)
} }
} }
@ -671,7 +684,7 @@ export default {
// //
removeAbs(row) { removeAbs(row) {
if(this.isComplete){
if (this.isComplete) {
this.$message.info('人员已总检,不可 添加/删除 组合项目') this.$message.info('人员已总检,不可 添加/删除 组合项目')
return return
} }
@ -684,7 +697,7 @@ export default {
let asbItemAll = deepCopy(this.asbItemAll) let asbItemAll = deepCopy(this.asbItemAll)
let lv = ""; let lv = "";
if (typeof this.itemTypeIds == "object") { if (typeof this.itemTypeIds == "object") {
if(this.itemTypeIds.length > 0) lv = this.itemTypeIds[this.itemTypeIds.length - 1];
if (this.itemTypeIds.length > 0) lv = this.itemTypeIds[this.itemTypeIds.length - 1];
} }
if (lv) { if (lv) {
@ -698,8 +711,8 @@ export default {
// //
getGroupAsbs(id){
if(!id){
getGroupAsbs(id) {
if (!id) {
this.groupAsbs = [] this.groupAsbs = []
this.changeGroup(id) this.changeGroup(id)
return return
@ -707,7 +720,7 @@ export default {
getapi(`/api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=${id}`) getapi(`/api/app/customerorggroupdetail/getcustomerorggroupdetailinasbitem?CustomerOrgGroupId=${id}`)
.then((res) => { .then((res) => {
if(res.code != -1){
if (res.code != -1) {
this.groupAsbs = res.data this.groupAsbs = res.data
this.changeGroup(id) this.changeGroup(id)
} }
@ -716,16 +729,16 @@ export default {
}, },
// //
getPackageAsbs(id){
if(!id){
getPackageAsbs(id) {
if (!id) {
this.packageAsbs = [] this.packageAsbs = []
this.changePackage(id) this.changePackage(id)
return return
} }
postapi('/api/app/medicalpackagedetail/getmedicalpackageinasbitem',{medicalPackageId:id})
postapi('/api/app/medicalpackagedetail/getmedicalpackageinasbitem', { medicalPackageId: id })
.then((res) => { .then((res) => {
if(res.code != -1){
if (res.code != -1) {
this.packageAsbs = res.data this.packageAsbs = res.data
this.changePackage(id) this.changePackage(id)
} }
@ -733,38 +746,39 @@ export default {
}, },
// //
changeGroup(newId){
changeGroup(newId) {
//id //id
let payTypeFlag = '0' let payTypeFlag = '0'
let lfind = -1 let lfind = -1
let tempRd = {} let tempRd = {}
if(!newId){
if (!newId) {
this.setGroupPackageNull() this.setGroupPackageNull()
return return
} }
if (this.prForm.customerOrgId != this.dict.personOrgId) payTypeFlag = '1' // if (this.prForm.customerOrgId != this.dict.personOrgId) payTypeFlag = '1' //
for(let i = this.dataTransOpts.tableM.register_check_asbitem.length - 1;i>-1;i--){
lfind = arrayExistObj(this.groupAsbs,'asbitemId', this.dataTransOpts.tableM.register_check_asbitem[i].asbitemId)
if(lfind > -1){
for (let i = this.dataTransOpts.tableM.register_check_asbitem.length - 1; i > -1; i--) {
lfind = arrayExistObj(this.groupAsbs, 'asbitemId', this.dataTransOpts.tableM.register_check_asbitem[i].asbitemId)
if (lfind > -1) {
// //
tempRd = Object.assign({},this.groupAsbs.splice(lfind,1)[0])
tempRd = Object.assign({}, this.groupAsbs.splice(lfind, 1)[0])
this.dataTransOpts.tableM.register_check_asbitem[i].groupPackageId = newId this.dataTransOpts.tableM.register_check_asbitem[i].groupPackageId = newId
if( this.dataTransOpts.tableM.register_check_asbitem[i].isCharge != 'Y'){
this.dataTransOpts.tableM.register_check_asbitem[i].isBelongGroupPackage = 'Y'
if (this.dataTransOpts.tableM.register_check_asbitem[i].isCharge != 'Y') {
this.dataTransOpts.tableM.register_check_asbitem[i].payTypeFlag = payTypeFlag this.dataTransOpts.tableM.register_check_asbitem[i].payTypeFlag = payTypeFlag
this.dataTransOpts.tableM.register_check_asbitem[i].amount = tempRd.customerOrgGroupDetailAmount this.dataTransOpts.tableM.register_check_asbitem[i].amount = tempRd.customerOrgGroupDetailAmount
this.dataTransOpts.tableM.register_check_asbitem[i].standardPrice = tempRd.price this.dataTransOpts.tableM.register_check_asbitem[i].standardPrice = tempRd.price
this.dataTransOpts.tableM.register_check_asbitem[i].chargePrice = tempRd.customerOrgGroupDetailPrice this.dataTransOpts.tableM.register_check_asbitem[i].chargePrice = tempRd.customerOrgGroupDetailPrice
this.dataTransOpts.tableM.register_check_asbitem[i].discount = tempRd.discount this.dataTransOpts.tableM.register_check_asbitem[i].discount = tempRd.discount
} }
}else{
} else {
// //
if( this.dataTransOpts.tableM.register_check_asbitem[i].isCharge == 'Y' || ( this.dataTransOpts.tableM.register_check_asbitem[i].checkCompleteFlag && this.dataTransOpts.tableM.register_check_asbitem[i].checkCompleteFlag != '0')){
if (this.dataTransOpts.tableM.register_check_asbitem[i].isCharge == 'Y' || (this.dataTransOpts.tableM.register_check_asbitem[i].checkCompleteFlag && this.dataTransOpts.tableM.register_check_asbitem[i].checkCompleteFlag != '0')) {
this.dataTransOpts.tableM.register_check_asbitem[i].groupPackageId = null this.dataTransOpts.tableM.register_check_asbitem[i].groupPackageId = null
}else{
tempRd = Object.assign({}, this.dataTransOpts.tableM.register_check_asbitem.splice(i,1)[0])
} else {
tempRd = Object.assign({}, this.dataTransOpts.tableM.register_check_asbitem.splice(i, 1)[0])
// if(tempRd.id) this.prAsbDels.push(tempRd) // if(tempRd.id) this.prAsbDels.push(tempRd)
} }
} }
@ -772,36 +786,37 @@ export default {
// debugger // debugger
//() //()
this.groupAsbs.forEach(e =>{
lfind = arrayExistObj(this.prAsbDels,'asbitemId',e.asbitemId)
if(lfind > -1){
tempRd = Object.assign(this.prAsbDels.splice(lfind,1)[0],
{
groupPackageId:newId,
standardPrice:e.price,
chargePrice:e.customerOrgGroupDetailPrice,
payTypeFlag,
isCharge: "N",
discount:e.discount,
amount:e.customerOrgGroupDetailAmount,
total: Math.round(e.customerOrgGroupDetailAmount * e.customerOrgGroupDetailPrice * 100)/100
}
)
}else{
this.groupAsbs.forEach(e => {
// lfind = arrayExistObj(this.prAsbDels,'asbitemId',e.asbitemId)
// if(lfind > -1){
// tempRd = Object.assign(this.prAsbDels.splice(lfind,1)[0],
// {
// groupPackageId:newId,
// standardPrice:e.price,
// chargePrice:e.customerOrgGroupDetailPrice,
// payTypeFlag,
// isCharge: "N",
// discount:e.discount,
// amount:e.customerOrgGroupDetailAmount,
// total: Math.round(e.customerOrgGroupDetailAmount * e.customerOrgGroupDetailPrice * 100)/100
// }
// )
// }else{
tempRd = { tempRd = {
groupPackageId:newId,
asbitemId:e.asbitemId,
asbitemName:e.displayName,
patientRegisterId:this.prForm.id,
standardPrice:e.price,
chargePrice:e.customerOrgGroupDetailPrice,
groupPackageId: newId,
isBelongGroupPackage:'Y',
asbitemId: e.asbitemId,
asbitemName: e.displayName,
patientRegisterId: this.prForm.id,
standardPrice: e.price,
chargePrice: e.customerOrgGroupDetailPrice,
payTypeFlag, payTypeFlag,
isCharge: "N", isCharge: "N",
discount:e.discount,
amount:e.customerOrgGroupDetailAmount,
total: Math.round(e.customerOrgGroupDetailAmount * e.customerOrgGroupDetailPrice * 100)/100
}
discount: e.discount,
amount: e.customerOrgGroupDetailAmount,
total: Math.round(e.customerOrgGroupDetailAmount * e.customerOrgGroupDetailPrice * 100) / 100
} }
// }
this.dataTransOpts.tableM.register_check_asbitem.push(tempRd) this.dataTransOpts.tableM.register_check_asbitem.push(tempRd)
}) })
@ -809,74 +824,76 @@ export default {
}, },
// //
changePackage(newId){
changePackage(newId) {
//id //id
let payTypeFlag = '0' let payTypeFlag = '0'
let lfind = -1 let lfind = -1
let tempRd = {} let tempRd = {}
if(!newId){
if (!newId) {
this.setGroupPackageNull() this.setGroupPackageNull()
return return
} }
if (this.prForm.customerOrgId != this.dict.personOrgId) payTypeFlag = '1' // if (this.prForm.customerOrgId != this.dict.personOrgId) payTypeFlag = '1' //
for(let i = this.dataTransOpts.tableM.register_check_asbitem.length - 1;i>-1;i--){
lfind = arrayExistObj(this.packageAsbs,'id', this.dataTransOpts.tableM.register_check_asbitem[i].asbitemId)
if(lfind > -1){
for (let i = this.dataTransOpts.tableM.register_check_asbitem.length - 1; i > -1; i--) {
lfind = arrayExistObj(this.packageAsbs, 'id', this.dataTransOpts.tableM.register_check_asbitem[i].asbitemId)
if (lfind > -1) {
// //
tempRd = Object.assign({},this.packageAsbs.splice(lfind,1)[0])
tempRd = Object.assign({}, this.packageAsbs.splice(lfind, 1)[0])
this.dataTransOpts.tableM.register_check_asbitem[i].groupPackageId = newId this.dataTransOpts.tableM.register_check_asbitem[i].groupPackageId = newId
if( this.dataTransOpts.tableM.register_check_asbitem[i].isCharge != 'Y'){
this.dataTransOpts.tableM.register_check_asbitem[i].isBelongGroupPackage = 'Y'
if (this.dataTransOpts.tableM.register_check_asbitem[i].isCharge != 'Y') {
this.dataTransOpts.tableM.register_check_asbitem[i].payTypeFlag = payTypeFlag this.dataTransOpts.tableM.register_check_asbitem[i].payTypeFlag = payTypeFlag
this.dataTransOpts.tableM.register_check_asbitem[i].amount = tempRd.medicalPackageDetailAmount this.dataTransOpts.tableM.register_check_asbitem[i].amount = tempRd.medicalPackageDetailAmount
this.dataTransOpts.tableM.register_check_asbitem[i].standardPrice = tempRd.price this.dataTransOpts.tableM.register_check_asbitem[i].standardPrice = tempRd.price
this.dataTransOpts.tableM.register_check_asbitem[i].chargePrice = tempRd.medicalPackageDetailPrice this.dataTransOpts.tableM.register_check_asbitem[i].chargePrice = tempRd.medicalPackageDetailPrice
this.dataTransOpts.tableM.register_check_asbitem[i].discount = tempRd.discount this.dataTransOpts.tableM.register_check_asbitem[i].discount = tempRd.discount
} }
}else{
} else {
// //
if( this.dataTransOpts.tableM.register_check_asbitem[i].isCharge == 'Y' || ( this.dataTransOpts.tableM.register_check_asbitem[i].checkCompleteFlag && this.dataTransOpts.tableM.register_check_asbitem[i].checkCompleteFlag != '0')){
if (this.dataTransOpts.tableM.register_check_asbitem[i].isCharge == 'Y' || (this.dataTransOpts.tableM.register_check_asbitem[i].checkCompleteFlag && this.dataTransOpts.tableM.register_check_asbitem[i].checkCompleteFlag != '0')) {
this.dataTransOpts.tableM.register_check_asbitem[i].groupPackageId = null this.dataTransOpts.tableM.register_check_asbitem[i].groupPackageId = null
}else{
tempRd = Object.assign({}, this.dataTransOpts.tableM.register_check_asbitem.splice(i,1)[0])
} else {
tempRd = Object.assign({}, this.dataTransOpts.tableM.register_check_asbitem.splice(i, 1)[0])
// if(tempRd.id) this.prAsbDels.push(tempRd) // if(tempRd.id) this.prAsbDels.push(tempRd)
} }
} }
} }
//() //()
this.packageAsbs.forEach(e =>{
lfind = arrayExistObj(this.prAsbDels,'asbitemId',e.id)
if(lfind > -1){
tempRd = Object.assign(this.prAsbDels.splice(lfind,1)[0],
{
groupPackageId:newId,
standardPrice:e.price,
chargePrice:e.medicalPackageDetailPrice,
payTypeFlag,
isCharge: "N",
discount:e.discount,
amount:e.medicalPackageDetailAmount,
total: Math.round(e.medicalPackageDetailAmount * e.medicalPackageDetailPrice * 100)/100
}
)
}else{
this.packageAsbs.forEach(e => {
// lfind = arrayExistObj(this.prAsbDels,'asbitemId',e.id)
// if(lfind > -1){
// tempRd = Object.assign(this.prAsbDels.splice(lfind,1)[0],
// {
// groupPackageId:newId,
// standardPrice:e.price,
// chargePrice:e.medicalPackageDetailPrice,
// payTypeFlag,
// isCharge: "N",
// discount:e.discount,
// amount:e.medicalPackageDetailAmount,
// total: Math.round(e.medicalPackageDetailAmount * e.medicalPackageDetailPrice * 100)/100
// }
// )
// }else{
tempRd = { tempRd = {
groupPackageId:newId,
asbitemId:e.id,
asbitemName:e.displayName,
patientRegisterId:this.prForm.id,
standardPrice:e.price,
chargePrice:e.medicalPackageDetailPrice,
groupPackageId: newId,
isBelongGroupPackage: 'Y',
asbitemId: e.id,
asbitemName: e.displayName,
patientRegisterId: this.prForm.id,
standardPrice: e.price,
chargePrice: e.medicalPackageDetailPrice,
payTypeFlag, payTypeFlag,
isCharge: "N", isCharge: "N",
discount:e.discount,
amount:e.medicalPackageDetailAmount,
total: Math.round(e.medicalPackageDetailAmount * e.medicalPackageDetailPrice * 100)/100
}
discount: e.discount,
amount: e.medicalPackageDetailAmount,
total: Math.round(e.medicalPackageDetailAmount * e.medicalPackageDetailPrice * 100) / 100
} }
// }
this.dataTransOpts.tableM.register_check_asbitem.push(tempRd) this.dataTransOpts.tableM.register_check_asbitem.push(tempRd)
}) })
@ -884,15 +901,16 @@ export default {
}, },
// / / // / /
setGroupPackageNull(){
this.dataTransOpts.tableM.register_check_asbitem.forEach(e =>{
setGroupPackageNull() {
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => {
e.groupPackageId = null e.groupPackageId = null
e.isBelongGroupPackage = 'N'
}) })
}, },
// //
dbClickChoosedAsb(row) { dbClickChoosedAsb(row) {
if(this.isComplete){
if (this.isComplete) {
this.$message.info('人员已总检,不可 添加/删除 组合项目') this.$message.info('人员已总检,不可 添加/删除 组合项目')
return return
} }
@ -962,28 +980,28 @@ export default {
let qtyIsOneLast = 0 //1 let qtyIsOneLast = 0 //1
// console.log('this.total / this.totalStand',this.total , this.totalStand) // console.log('this.total / this.totalStand',this.total , this.totalStand)
this.discount = Math.round((100 * this.total / this.totalStand) * 100)/100
this.discount = Math.round((100 * this.total / this.totalStand) * 100) / 100
this.dataTransOpts.tableM.register_check_asbitem.forEach((e, index) => { this.dataTransOpts.tableM.register_check_asbitem.forEach((e, index) => {
if (e.amount == 1 && e.standardPrice != 0) qtyIsOneLast = index if (e.amount == 1 && e.standardPrice != 0) qtyIsOneLast = index
e.discount = this.discount e.discount = this.discount
e.chargePrice = Math.round((e.standardPrice * this.discount / 100) * 100)/100
e.total = Math.round((e.standardPrice * this.discount * e.amount / 100) * 100)/100
sumChargeDetails += Math.round((e.standardPrice * this.discount * e.amount / 100) * 100)/100
e.chargePrice = Math.round((e.standardPrice * this.discount / 100) * 100) / 100
e.total = Math.round((e.standardPrice * this.discount * e.amount / 100) * 100) / 100
sumChargeDetails += Math.round((e.standardPrice * this.discount * e.amount / 100) * 100) / 100
}); });
console.log('this.dataTransOpts.tableM.register_check_asbitem',this.dataTransOpts.tableM.register_check_asbitem)
console.log('this.dataTransOpts.tableM.register_check_asbitem', this.dataTransOpts.tableM.register_check_asbitem)
// console.log('this.total - sumChargeDetails', sumChargeDetails, this.total - sumChargeDetails) // console.log('this.total - sumChargeDetails', sumChargeDetails, this.total - sumChargeDetails)
// //
if (this.total != sumChargeDetails) { if (this.total != sumChargeDetails) {
console.log('qtyIsOneLast',qtyIsOneLast)
console.log('qtyIsOneLast', qtyIsOneLast)
this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].total = this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].total =
Math.round((Number( this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].total) + Number(this.total) - Number(sumChargeDetails))*100)/100
Math.round((Number(this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].total) + Number(this.total) - Number(sumChargeDetails)) * 100) / 100
this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].chargePrice = this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].chargePrice =
Math.round( this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].total * 100 / this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].amount)/100
if( this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].standardPrice != 0){
Math.round(this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].total * 100 / this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].amount) / 100
if (this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].standardPrice != 0) {
this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].discount = this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].discount =
Math.round( this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].chargePrice * 10000/ this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].standardPrice)/100
Math.round(this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].chargePrice * 10000 / this.dataTransOpts.tableM.register_check_asbitem[qtyIsOneLast].standardPrice) / 100
} }
} }
//this.onSubmit('') //this.onSubmit('')
@ -993,9 +1011,9 @@ export default {
changeDiscount(index) { changeDiscount(index) {
//console.log('index',index) //console.log('index',index)
if (!this.dataTransOpts.tableM.register_check_asbitem || this.dataTransOpts.tableM.register_check_asbitem.length == 0) return if (!this.dataTransOpts.tableM.register_check_asbitem || this.dataTransOpts.tableM.register_check_asbitem.length == 0) return
if (! this.dataTransOpts.tableM.register_check_asbitem[index].discount) return
if (!this.dataTransOpts.tableM.register_check_asbitem[index].discount) return
//console.log( this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice, this.dataTransOpts.tableM.register_check_asbitem[index].standardPrice) //console.log( this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice, this.dataTransOpts.tableM.register_check_asbitem[index].standardPrice)
this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice = Math.round( this.dataTransOpts.tableM.register_check_asbitem[index].standardPrice * this.dataTransOpts.tableM.register_check_asbitem[index].discount)/100
this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice = Math.round(this.dataTransOpts.tableM.register_check_asbitem[index].standardPrice * this.dataTransOpts.tableM.register_check_asbitem[index].discount) / 100
this.dataTransOpts.tableM.register_check_asbitem[index].total = this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice * this.dataTransOpts.tableM.register_check_asbitem[index].amount this.dataTransOpts.tableM.register_check_asbitem[index].total = this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice * this.dataTransOpts.tableM.register_check_asbitem[index].amount
// this.onSubmit('') // this.onSubmit('')
}, },
@ -1004,9 +1022,9 @@ export default {
changePrice(index) { changePrice(index) {
//console.log('index',index) //console.log('index',index)
if (!this.dataTransOpts.tableM.register_check_asbitem || this.dataTransOpts.tableM.register_check_asbitem.length == 0) return if (!this.dataTransOpts.tableM.register_check_asbitem || this.dataTransOpts.tableM.register_check_asbitem.length == 0) return
if (! this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice) return
if (!this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice) return
//console.log( this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice, this.dataTransOpts.tableM.register_check_asbitem[index].standardPrice) //console.log( this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice, this.dataTransOpts.tableM.register_check_asbitem[index].standardPrice)
this.dataTransOpts.tableM.register_check_asbitem[index].discount = Math.round( this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice * 10000 / this.dataTransOpts.tableM.register_check_asbitem[index].standardPrice)/100
this.dataTransOpts.tableM.register_check_asbitem[index].discount = Math.round(this.dataTransOpts.tableM.register_check_asbitem[index].chargePrice * 10000 / this.dataTransOpts.tableM.register_check_asbitem[index].standardPrice) / 100
// this.onSubmit('') // this.onSubmit('')
}, },
@ -1015,11 +1033,17 @@ export default {
const { columns, data } = param; const { columns, data } = param;
const sumCol = [1, 5] // const sumCol = [1, 5] //
const sums = []; const sums = [];
let count = this.dataTransOpts.tableM.register_check_asbitem.length
let pack = this.dataTransOpts.tableM.register_check_asbitem.filter(e => { return e.isBelongGroupPackage == 'Y'}).length
this.asbDesc = `共选 ${count} 个项目,其中套餐/分组 ${pack} 个,加做 ${count - pack}`
columns.forEach((column, index) => { columns.forEach((column, index) => {
//console.log('column, index,data',column, index,data) //console.log('column, index,data',column, index,data)
// //
if (index === 0) { if (index === 0) {
sums[index] = '合计';
sums[index] = `合计`;
return; return;
} }
@ -1031,15 +1055,15 @@ export default {
sums[index] = 0 sums[index] = 0
data.forEach(e => { data.forEach(e => {
if (!isNaN(e[column.property])){
if(index == 1){
if (!isNaN(e[column.property])) {
if (index == 1) {
sums[index] += e[column.property] * e['amount'] sums[index] += e[column.property] * e['amount']
}else{
} else {
sums[index] += e[column.property] sums[index] += e[column.property]
} }
} }
}) })
sums[index] = Math.round(sums[index] * 100)/100 //+ ' ';
sums[index] = Math.round(sums[index] * 100) / 100 //+ ' ';
// const values = data.map(item => Number(item[column.property])); // const values = data.map(item => Number(item[column.property]));
// if (!values.every(value => isNaN(value))) { // if (!values.every(value => isNaN(value))) {
@ -1061,7 +1085,7 @@ export default {
this.totalStand = sums[1]; this.totalStand = sums[1];
//console.log('this.totalFoucs/this.discountFoucs',this.totalFoucs,this.discountFoucs) //console.log('this.totalFoucs/this.discountFoucs',this.totalFoucs,this.discountFoucs)
if (!this.totalFoucs) this.total = sums[5]; if (!this.totalFoucs) this.total = sums[5];
if (!this.discountFoucs) this.discount = Math.round(this.total * 10000 / this.totalStand)/100;
if (!this.discountFoucs) this.discount = Math.round(this.total * 10000 / this.totalStand) / 100;
return sums; return sums;
}, },
}, },
@ -1094,22 +1118,22 @@ export default {
// } // }
// }, // },
"dataTransOpts.refresh.register_check_asbitem.D":{
"dataTransOpts.refresh.register_check_asbitem.D": {
// immediate: true, // // immediate: true, //
// deep: true, // // deep: true, //
handler(newVal,oldVal){
console.log('watch: 刷新 人员登记/编辑 时的组合项目: ',this.dataTransOpts.tableS.patient_register.id)
if(newVal != oldVal) this.getPrAsb(this.dataTransOpts.tableS.patient_register.id)
handler(newVal, oldVal) {
console.log('watch: 刷新 人员登记/编辑 时的组合项目: ', this.dataTransOpts.tableS.patient_register.id)
if (newVal != oldVal) this.getPrAsb(this.dataTransOpts.tableS.patient_register.id)
} }
}, },
// //
"prAsbOpraOpts.payTypeFlag":{
"prAsbOpraOpts.payTypeFlag": {
// immediate: true, // // immediate: true, //
// deep: true, // // deep: true, //
handler(newVal, oldVal) { handler(newVal, oldVal) {
if (newVal != oldVal && newVal != '') { if (newVal != oldVal && newVal != '') {
this.dataTransOpts.tableM.register_check_asbitem.forEach(e =>{
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => {
e.payTypeFlag = newVal; e.payTypeFlag = newVal;
return e; return e;
}); });
@ -1119,7 +1143,7 @@ export default {
}, },
// //
"prAsbOpraOpts.prAsbGroup":{
"prAsbOpraOpts.prAsbGroup": {
// immediate: true, // // immediate: true, //
// deep: true, // // deep: true, //
handler(newVal, oldVal) { handler(newVal, oldVal) {
@ -1130,7 +1154,7 @@ export default {
}, },
// //
"prAsbOpraOpts.prAsbPackage":{
"prAsbOpraOpts.prAsbPackage": {
// immediate: true, // // immediate: true, //
// deep: true, // // deep: true, //
handler(newVal, oldVal) { handler(newVal, oldVal) {
@ -1141,7 +1165,7 @@ export default {
}, },
// //
"prAsbOpraOpts.copyNew":{
"prAsbOpraOpts.copyNew": {
// immediate: true, // // immediate: true, //
// deep: true, // // deep: true, //
handler(newVal, oldVal) { handler(newVal, oldVal) {
@ -1182,7 +1206,5 @@ export default {
.disTotal { .disTotal {
margin-left: 10px; margin-left: 10px;
}
</style>
}</style>

2
src/components/patientRegister/PatientRegisterList.vue

@ -170,7 +170,7 @@
:visible.sync="dialogWin.PatientRegisterEdit" :close-on-click-modal="false" fullscreen :visible.sync="dialogWin.PatientRegisterEdit" :close-on-click-modal="false" fullscreen
@close="close_dialogWin_PatientRegisterEdit"> @close="close_dialogWin_PatientRegisterEdit">
<!-- :formInitData="patientRegister.patientRegisterRd" --> <!-- :formInitData="patientRegister.patientRegisterRd" -->
<PatientRegisterEdit :isDoctor="'0'" :patientRegisterId="patientRegister.patientRegisterRd.id"
<PatientRegisterEdit :isDoctor="'1'" :patientRegisterId="patientRegister.patientRegisterRd.id"
:editTimes="editTimes" :refreshRegister="refreshRegister" :refFuncSetData="refFuncSetData"/> :editTimes="editTimes" :refreshRegister="refreshRegister" :refFuncSetData="refFuncSetData"/>
</el-dialog> </el-dialog>

2
src/components/patientRegister/patientRegisterAsbItem.vue

@ -7,7 +7,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div> <div>
<el-tooltip class="item" effect="dark" content="标五角星表示属于分组或套餐的项目" placement="left"> <el-tooltip class="item" effect="dark" content="标五角星表示属于分组或套餐的项目" placement="left">
<i v-if="scope.row.groupPackageId" class="el-icon-star-on" style="font-size: 16px;color: purple;" />
<i v-if="scope.row.isBelongGroupPackage == 'Y'" class="el-icon-star-on" style="font-size: 16px;color: purple;" />
</el-tooltip> </el-tooltip>
{{ scope.$index + 1 }} {{ scope.$index + 1 }}
</div> </div>

2
src/store/index.js

@ -329,7 +329,7 @@ export default new Vuex.Store({
customer_org_group_detail: { id: '' }, // 单位分组包含的组合项目明细 customer_org_group_detail: { id: '' }, // 单位分组包含的组合项目明细
charge: { id: '' }, // 收费 charge: { id: '' }, // 收费
menu_info: { id: '' }, // 菜单与页面 menu_info: { id: '' }, // 菜单与页面
patient_register: { id: '' }, // 体检人员记录
patient_register: { id: '', patientRegisterNo: ''}, // 体检人员记录
register_check_asbitem: { id: '' }, // 体检人员登记的项目(合并前) register_check_asbitem: { id: '' }, // 体检人员登记的项目(合并前)
register_check: { id: '' }, // 体检人员登记的项目(合并后) register_check: { id: '' }, // 体检人员登记的项目(合并后)
register_check_item: { id: '' }, // 体检人员登记的明细项目 register_check_item: { id: '' }, // 体检人员登记的明细项目

3
src/utlis/proFunc.js

@ -180,9 +180,10 @@ exports.checkIDCode = checkIDCode;
function parseID(id) { function parseID(id) {
let ret = { let ret = {
birthday: null, birthday: null,
age: null,
age: -1,
sex: 'U', sex: 'U',
} }
if(!id) return ret
if (!checkIDCode(id)) return ret if (!checkIDCode(id)) return ret
let yearInMs = 1000 * 60 * 60 * 24 * 365.2425; let yearInMs = 1000 * 60 * 60 * 24 * 365.2425;

Loading…
Cancel
Save