pengjun 2 years ago
parent
commit
15ebebecf7
  1. 6
      src/assets/css/global_input.css
  2. 54
      src/components/doctorCheck/PatientRegisterBase.vue
  3. 86
      src/components/patientRegister/PatientRegisterEdit.vue
  4. 11
      src/components/patientRegister/PatientRegisterForChoose.vue
  5. 174
      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 */
}
.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>
<span class="query">性别</span>
<!--
<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-select>
-->
<el-input v-model="prBase.sexName" size="small" style="width: 80px;" disabled />
</div>
<div>
<span class="query">体检次数</span>
@ -25,9 +28,12 @@
</div>
<div>
<span class="query">婚姻</span>
<!--
<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-select>
-->
<el-input v-model="prBase.maritalStatusName" size="small" style="width: 80px;" disabled />
</div>
<div>
<span class="query">体检日期</span>
@ -44,21 +50,30 @@
</div>
<div>
<span class="query">体检类别</span>
<!--
<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-select>
-->
<el-input :value="prBase.medicalTypeName" style="width: 100px;" size="small" disabled />
</div>
<div>
<span class="query">人员类别</span>
<!--
<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-select>
-->
<el-input :value="prBase.personnelTypeName" style="width: 100px;" size="small" disabled />
</div>
<div>
<span class="query">民族</span>
<!--
<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-select>
-->
<el-input :value="prBase.nationName" style="width: 100px;" size="small" disabled />
</div>
<div>
<span class="query">手机</span>
@ -94,14 +109,19 @@ export default {
patientNo: '', //
patientName: '', //
sexId: '', //
sexName: '', //
medicalTimes: '', //
maritalStatusId: '', //
maritalStatusName: '', //
medicalStartDate: '', //
customerOrgParentName: '', //
customerOrgName: '', //
medicalTypeId: '', //
medicalTypeName: '', //
personnelTypeId: '', //
personnelTypeName: '', //
nationId: '', //
nationName: '', //
mobileTelephone: '', //
},
prBaseInit: {},
@ -153,13 +173,13 @@ export default {
onQueryByPatientRegisterNo() {
let patientRegisterNo = this.prBase.patientRegisterNo
let body = {
sType: 1,
// sType: 1,
patientRegisterNo,
isFilterPreRegistration: 'Y' // Y= N= N (CompleteFlag0null)
// isFilterPreRegistration: 'Y' // Y= N= N (CompleteFlag0null)
}
// console.log(`/api/app/patientregister/getpatientregisterorpatient`, body)
this.dataTransOpts.tableS.patient_register = { id: '', patientRegisterNo }
postapi('/api/app/patientregister/getpatientregisterorpatient', body)
postapi('/api/app/patientregister/GetAlreadyRegisterPatientRegisterByNo', body)
.then((res) => {
if (res.code != -1) {
if (res.data) this.dataTransOpts.tableS.patient_register = deepCopy(res.data)
@ -174,13 +194,13 @@ export default {
onQueryByPatientNo() {
let patientNo = this.prBase.patientNo
let body = {
sType: 2,
// sType: 2,
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 }
postapi('/api/app/patientregister/getpatientregisterorpatient', body)
postapi('/api/app/patientregister/GetAlreadyRegisterPatientRegisterByNo', body)
.then((res) => {
if (res.code != -1) {
if (res.data) this.dataTransOpts.tableS.patient_register = deepCopy(res.data)
@ -205,6 +225,7 @@ export default {
if (res.code != -1) {
if (res.data.items.length == 1) {
this.dataTransOpts.tableS.patient_register.id = res.data.items[0].id
this.dataTransOpts.tableS.patient_register.patientRegisterNo = res.data.items[0].patientRegisterNo
setTimeout(() => {
this.dataTransOpts.refresh.patient_register.S++
}, 10);
@ -228,21 +249,24 @@ export default {
// }, 20);
},
//ID
getPatientRegister(patientRegisterId) {
if (!patientRegisterId) {
this.afterFind({ id: '' })
//patientRegisterNo
getPatientRegister(patientRegisterNo) {
if (!patientRegisterNo) {
this.afterFind({ id: '', patientRegisterNo: '' })
return
}
postapi(`/api/app/patientregister/getinfoorpatient?PatientRegisterId=${patientRegisterId}`)
let body = { patientRegisterNo }
postapi('/api/app/patientregister/GetAlreadyRegisterPatientRegisterByNo', body)
.then((res) => {
if (res.code != -1) {
this.dataTransOpts.tableS.patient_register = deepCopy(res.data)
if (res.data) this.dataTransOpts.tableS.patient_register = deepCopy(res.data)
}
})
.finally(() => {
this.afterFind(this.dataTransOpts.tableS.patient_register)
});
},
@ -307,8 +331,8 @@ export default {
"dataTransOpts.refresh.patient_register.S": {
// immediate:true,
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++
}
},

86
src/components/patientRegister/PatientRegisterEdit.vue

@ -4,9 +4,19 @@
<div style="display: flex">
<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 />
</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>
<el-form ref="form" :model="form" label-width="80px" :rules="rules" size="medium">
<el-row>
@ -14,7 +24,7 @@
<el-form-item label="单位名称" prop="customerOrgId">
<el-cascader v-model="form.customerOrgId" :options="patientRegister.customerOrgTreeAll"
: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, }"
:disabled="(form.completeFlag == '3' || isDoctor != '1') ? true : false" size="small">
</el-cascader>
@ -332,7 +342,7 @@
</el-row>
</el-form>
<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">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
@ -346,11 +356,9 @@
</div>
</div>
<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 v-show="checkPagePriv(pagePriv.privs, '复制新增')" class="btn">
<el-button type="primary" class="commonbutton" @click="rdCopy">复制新增</el-button>
@ -523,7 +531,7 @@ export default {
peisid: null,
peoplePhoto: '',
preCustomerOrgId:'', //
form: {
registerManType: 'customer', //customer doctor
id: "", //id
@ -552,7 +560,7 @@ export default {
isVip: "N", //vip
remark: "", //
isLock: "N", //
completeFlag: "1", // 0:123
completeFlag: "1", // 0:123
isMedicalStart: "N", //
patientRegisterNo: "", //
medicalTimes: 1, //
@ -798,13 +806,12 @@ export default {
// form
async initFormData(patientRegisterId) {
this.peisid = window.sessionStorage.getItem('peisid');
this.preCustomerOrgId = this.preCustomerOrgId || this.patientRegister.query.customerOrgId
if (!patientRegisterId) { //
objCopy(this.formInit, this.form);
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) //
} else {
@ -815,31 +822,42 @@ export default {
}
this.initBox();
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) {
// console.log('changeCustomerOrgId',v)
let customerOrgId = ""
if (Array.isArray(v) && v.length > 0) {
customerOrgId = v[v.length - 1]
} else {
customerOrgId = v
}
this.preCustomerOrgId = customerOrgId
let customerOrgParentId = await this.getParentCustomerOrgId(customerOrgId)
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) {
this.form.customerOrgGroupId = null
this.form.medicalPackageId = null
//
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => {
e.isBelongGroupPackage = 'N'
});
if (customerOrgParentId == this.dict.personOrgId) {
this.patientRegister.customerOrgGroup = []
@ -863,7 +881,7 @@ export default {
if (!customerOrgId) return customerOrgParentId
if (typeof customerOrgId == 'string') {
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
} catch (error) {
console.log('获取顶级单位ID出错:', error)
@ -1058,6 +1076,7 @@ export default {
//
changeIdNo() {
if(!this.form.idNo) return
this.Query(this.form.idNo)
let ret = parseID(this.form.idNo)
if (ret.age != -1) {
@ -1296,7 +1315,7 @@ export default {
return false
}
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) {
//
@ -1309,10 +1328,13 @@ export default {
postapi(`/api/PatientRegister/CreatePatientRegister`, body)
.then(res => {
if (res.code == 1) {
this.form.id = res.data.id
objCopy(res.data,this.form)
this.dataTransOpts.tableS.patient_register = deepCopy(res.data)
delete this.dataTransOpts.tableS.patient_register.registerCheckAsbitems
// id
this.dataTransOpts.tableM.register_check_asbitem = deepCopy(res.data.registerCheckAsbitems)
// //
// 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() {
if (!this.form.id) {
this.$message.info("该信息尚未保存,不可执行此操作!");
return;
}
this.dataTransOpts.tableS.patient_register.id = ''
this.patientRegister.photo = '/pic/Photo.jpg'
this.patientRegister.patientRegisterId = '';
this.form.id = '';
@ -1348,6 +1376,7 @@ export default {
this.form.medicalTimes = 1;
this.form.patientName = '';
this.form.photo = '';
this.form.completeFlag = '1'; //
// this.patientRegister.patientRegisterAbs.forEach(e => {
// e.id = '';
@ -1356,14 +1385,19 @@ export default {
// e.checkCompleteFlag = '0'
// 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)
this.$message.info("操作成功,请记得点保存");
this
},

11
src/components/patientRegister/PatientRegisterForChoose.vue

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

174
src/components/patientRegister/PatientRegisterItem.vue

@ -3,16 +3,17 @@
<div style="width:220px;">
<div>
<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>
</div>
<div class="mainareaBox">
<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" />
-->
@ -35,19 +36,23 @@
<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>
<el-button class="commonbutton" @click="addAbs(asbItemChoosed, 'choosed')" style="width:90px;"
:disabled="isComplete">添加 <i class="el-icon-arrow-right"></i>
</el-button>
</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>
<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>
</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>
<el-button type="warning" class="commonbutton" @click="delAbs(patientRegisterAbsChoosed, 'choosed')"
style="width:90px;" :disabled="isComplete"><i class="el-icon-arrow-left"> 移除</i>
</el-button>
</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>
<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>
</div>
<!-- 不显示保存当已选组合有修改时失去焦点自动保存
@ -75,29 +80,29 @@
@focus="totalFoucs = true" @blur="totalFoucs = false" />
</div>
<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-select>
</div>
</div>
<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-->
<!-- 取消勾选换成选中
<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">
<div>
<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>
{{ scope.row.asbitemName }}
</div>
@ -116,13 +121,13 @@
</el-table-column>
<el-table-column label="实收价格" prop="chargePrice" min-width="70">
<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>
</el-table-column>
<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 label="支付方式" prop="payTypeFlag" min-width="100">
<el-table-column label="支付方式" prop="payTypeFlag" width="80">
<template slot-scope="scope">
<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" />
@ -152,6 +157,9 @@
</el-table-column>
</el-table>
</div>
<div style="position: absolute;bottom:28px;right:125px;font-size: 10px;">
{{ asbDesc }}
</div>
</div>
</div>
</template>
@ -185,8 +193,8 @@ export default {
//patientRegisterAbsDel: [], //
prAsb:[], //
prAsbDels:[], //
// prAsb:[], //
// prAsbDels:[], //
groupAsbs: [], //
packageAsbs: [], //
@ -200,6 +208,8 @@ export default {
asbItemQuick: [],
totalFoucs: false, //
discountFoucs: false, //
asbDesc:'', //
};
},
computed: {
@ -259,12 +269,15 @@ export default {
// debugger
//
console.log('getPrAsb(id)', `getPrAsb(${id})`)
this.prAsbDels = []
// this.prAsbDels = []
this.groupAsbs = []
this.packageAsbs = []
if (!id) {
this.dataTransOpts.tableM.register_check_asbitem = []
} else {
let result = await proApi.getPrAsb(id)
this.dataTransOpts.tableM.register_check_asbitem = result.data
}
this.refreshAsbitem()
},
@ -601,22 +614,22 @@ export default {
//
async batchDelAsb() {
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
},
@ -752,6 +765,7 @@ export default {
//
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].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].amount = tempRd.customerOrgGroupDetailAmount
@ -773,23 +787,24 @@ export default {
// 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{
// 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 = {
groupPackageId: newId,
isBelongGroupPackage:'Y',
asbitemId: e.asbitemId,
asbitemName: e.displayName,
patientRegisterId: this.prForm.id,
@ -801,7 +816,7 @@ export default {
amount: e.customerOrgGroupDetailAmount,
total: Math.round(e.customerOrgGroupDetailAmount * e.customerOrgGroupDetailPrice * 100) / 100
}
}
// }
this.dataTransOpts.tableM.register_check_asbitem.push(tempRd)
})
@ -828,6 +843,7 @@ export default {
//
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].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].amount = tempRd.medicalPackageDetailAmount
@ -848,23 +864,24 @@ export default {
//()
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{
// 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 = {
groupPackageId: newId,
isBelongGroupPackage: 'Y',
asbitemId: e.id,
asbitemName: e.displayName,
patientRegisterId: this.prForm.id,
@ -876,7 +893,7 @@ export default {
amount: e.medicalPackageDetailAmount,
total: Math.round(e.medicalPackageDetailAmount * e.medicalPackageDetailPrice * 100) / 100
}
}
// }
this.dataTransOpts.tableM.register_check_asbitem.push(tempRd)
})
@ -887,6 +904,7 @@ export default {
setGroupPackageNull() {
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => {
e.groupPackageId = null
e.isBelongGroupPackage = 'N'
})
},
@ -1015,11 +1033,17 @@ export default {
const { columns, data } = param;
const sumCol = [1, 5] //
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) => {
//console.log('column, index,data',column, index,data)
//
if (index === 0) {
sums[index] = '合计';
sums[index] = `合计`;
return;
}
@ -1182,7 +1206,5 @@ export default {
.disTotal {
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
@close="close_dialogWin_PatientRegisterEdit">
<!-- :formInitData="patientRegister.patientRegisterRd" -->
<PatientRegisterEdit :isDoctor="'0'" :patientRegisterId="patientRegister.patientRegisterRd.id"
<PatientRegisterEdit :isDoctor="'1'" :patientRegisterId="patientRegister.patientRegisterRd.id"
:editTimes="editTimes" :refreshRegister="refreshRegister" :refFuncSetData="refFuncSetData"/>
</el-dialog>

2
src/components/patientRegister/patientRegisterAsbItem.vue

@ -7,7 +7,7 @@
<template slot-scope="scope">
<div>
<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>
{{ scope.$index + 1 }}
</div>

2
src/store/index.js

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

3
src/utlis/proFunc.js

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

Loading…
Cancel
Save