pengjun 12 hours ago
parent
commit
3870e7f753
  1. 4
      src/components/doctorCheck/CheckItemList.vue
  2. 48
      src/components/doctorCheck/CheckPicture.vue
  3. 102
      src/components/doctorCheck/PatientRegisterList.vue
  4. 190
      src/components/patientRegister/PatientRegisterItem.vue
  5. 175
      src/components/sumDoctorCheck/SumSug.vue
  6. 1
      src/store/index.js
  7. 5
      src/views/fee-settings/ItemTemplate.vue
  8. 84
      src/views/fee-settings/cardRegister.vue

4
src/components/doctorCheck/CheckItemList.vue

@ -1126,14 +1126,14 @@ export default {
this.moreResult.result = result;
this.selection.start = this.selection.start + symbols.length;
this.selection.end = this.selection.start;
console.log('插入结果后光标',this.selection)
//console.log('',this.selection)
},
//
getCaretPosition() {
let input = document.getElementById("resultBox");
this.selection.start = input.selectionStart;
this.selection.end = input.selectionEnd;
console.log('点击后光标',this.selection)
//console.log('',this.selection)
},
watchSelection() {
this.$nextTick(() => {

48
src/components/doctorCheck/CheckPicture.vue

@ -41,7 +41,7 @@
z-index: 2;
">
<el-tooltip content="删除该图" placement="bottom" effect="light">
<i class="el-icon-close" @click="btnDelImage(index)" v-show="!doctorBtnDisabled('btnDelImage')"
<i v-if="false" class="el-icon-close" @click="btnDelImage(index)" v-show="!doctorBtnDisabled('btnDelImage')"
style="color: red; cursor: pointer"></i>
</el-tooltip>
</div>
@ -588,7 +588,7 @@ export default {
let dotIndex = fileName.lastIndexOf('\\');
let pointIndex = fileName.lastIndexOf('.');
if (dotIndex > -1) fileName = Date.now() + fileName.substring(dotIndex + 1, pointIndex || fileName.length);
let body = {
registerCheckId: this.dataTransOpts.tableS.register_check.id,
pictureBaseStrs: [{
@ -895,6 +895,11 @@ export default {
//
btnDelImage(index) {
let body = [this.checkPictures[index].id];
this.delImageBatch(body)
},
//
delImageBatch(body) {
this.$confirm("此操作将永久删除该记录, 是否继续?", "提示", {
confirmButtonText: "是",
cancelButtonText: "否",
@ -904,8 +909,12 @@ export default {
return postapi(`/api/app/registercheckpicture/deleteregistercheckpicturemany`, body);
})
.then((res) => {
if (res && res.code > -1) {
this.checkPictures.splice(index, 1);
if (res?.code > -1) {
let lfind = -1
body.forEach(id => {
lfind = arrayExistObj(this.checkPictures, 'id', id)
if (lfind > -1) this.checkPictures.splice(lfind, 1);
});
}
})
.catch((err) => {
@ -934,11 +943,11 @@ export default {
postapi('/api/app/RegisterCheckPicture/BatchUpdateRegisterCheckIdByRegisterCheckPictureId', body)
.then(res => {
if (res.code > -1) {
this.$message.success({showClose:true,message:'操作成功!'})
this.$message.success({ showClose: true, message: '操作成功!' })
if (imageSeq == -1) {
this.checkPictures = deepCopy(this.dataTransOpts.doctorCutPics)
}else{
this.checkPictures.splice(imageSeq,0,deepCopy(this.dataTransOpts.doctorCutPics))
} else {
this.checkPictures.splice(imageSeq, 0, deepCopy(this.dataTransOpts.doctorCutPics))
}
this.dataTransOpts.doctorCutPics = [] //
}
@ -1023,7 +1032,30 @@ export default {
}
}
//
if (picNum > 0) {
items.push({
label: "----------------"
})
if (imageSeq >= 0) {
items.push({
label: "删除当前图片",
onClick: () => {
this.delImageBatch([this.checkPictures[imageSeq].id])
},
})
}
items.push({
label: "删除所有图片",
onClick: () => {
let body = []
this.checkPictures.forEach(e => {
body.push(e.id)
});
this.delImageBatch(body)
},
})
}
// items.push({
// label: "",

102
src/components/doctorCheck/PatientRegisterList.vue

@ -92,14 +92,16 @@
<!-- 人员列表 -->
<el-table :data="dataList" border width="100%" :height="tableHeight" row-key="id" size="small" highlight-current-row
@row-click="rowClick" @row-dblclick="rowDblclick" ref="info" id="info" style="border-radius:10px;">
<el-table-column type="index" label="序号" width="40" align="center" />
@row-click="rowClick" @row-dblclick="rowDblclick" ref="info" id="info" style="border-radius:10px;"
:row-class-name="tableRowClassName">
<el-table-column type="index" label="序号" width="40" align="center" />
<el-table-column prop="customerOrgParentName" label="单位" width="120" sortable show-overflow-tooltip>
<template slot-scope="scope">
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgParentName : scope.row.customerOrgName }}</div>
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgParentName :
scope.row.customerOrgName }}</div>
</template>
</el-table-column>
<el-table-column prop="patientName" label="姓名" width="80" sortable align="center" />
</el-table-column>
<el-table-column prop="patientName" label="姓名" width="80" sortable align="center" show-overflow-tooltip/>
<el-table-column prop="sexName" label="性别" sortable align="center" />
<el-table-column prop="age" label="年龄" width="40" align="center" />
<el-table-column prop="customerOrgName" label="部门" width="100" sortable show-overflow-tooltip>
@ -107,10 +109,10 @@
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgName : "" }}</div>
</template>
</el-table-column>
<el-table-column prop="patientRegisterNo" label="条码号" width="150" sortable align="center" />
<el-table-column prop="patientNo" label="档案号" sortable align="center" />
<el-table-column prop="medicalTimes" label="体检次数" align="center" />
<el-table-column label="分组/套餐" width="150">
<el-table-column prop="patientRegisterNo" label="条码号" width="150" sortable align="center" show-overflow-tooltip/>
<el-table-column prop="patientNo" label="档案号" sortable align="center" show-overflow-tooltip/>
<el-table-column prop="medicalTimes" label="次数" align="center" />
<el-table-column label="分组/套餐" width="150" show-overflow-tooltip>
<template slot-scope="scope">
<div v-if="scope.row.medicalPackageId !== dict.personOrgId && scope.row.customerOrgId === dict.personOrgId">
{{ scope.row.medicalPackageName }}
@ -120,8 +122,8 @@
</div>
</template>
</el-table-column>
<el-table-column prop="nationName" label="民族" sortable align="center"/>
<el-table-column prop="idNo" label="身份证" sortable width="180" align="center" />
<el-table-column prop="nationName" label="民族" sortable align="center" show-overflow-tooltip/>
<el-table-column prop="idNo" label="身份证" sortable width="180" align="center" show-overflow-tooltip/>
<el-table-column prop="birthDate" label="出生日期" align="center" width="100">
<template slot-scope="scope">
<div v-if="scope.row.birthDate">
@ -129,24 +131,24 @@
</div>
</template>
</el-table-column>
<el-table-column prop="email" label="邮箱" width="150" />
<el-table-column prop="mobileTelephone" label="手机" width="130" />
<el-table-column prop="telephone" label="电话" width="130" />
<el-table-column prop="address" label="地址" width="400" />
<el-table-column prop="medicalCardNo" label="体检卡号" />
<el-table-column prop="jobCardNo" label="工卡号" />
<el-table-column prop="maritalStatusName" label="婚姻状况" align="center" />
<el-table-column prop="medicalTypeName" label="体检类别" sortable />
<el-table-column prop="personnelTypeName" label="人员类别" sortable />
<el-table-column prop="jobPost" label="职务" width="200" sortable/>
<el-table-column prop="jobTitle" label="职称" sortable/>
<el-table-column prop="salesman" label="介绍人" sortable/>
<el-table-column prop="email" label="邮箱" width="150" show-overflow-tooltip/>
<el-table-column prop="mobileTelephone" label="手机" width="130" show-overflow-tooltip/>
<el-table-column prop="telephone" label="电话" width="130" show-overflow-tooltip/>
<el-table-column prop="address" label="地址" width="400" sortable show-overflow-tooltip/>
<el-table-column prop="medicalCardNo" label="体检卡号" sortable show-overflow-tooltip/>
<el-table-column prop="jobCardNo" label="工卡号" sortable show-overflow-tooltip/>
<el-table-column prop="maritalStatusName" label="婚姻状况" align="center" sortable/>
<el-table-column prop="medicalTypeName" label="体检类别" sortable show-overflow-tooltip/>
<el-table-column prop="personnelTypeName" label="人员类别" sortable show-overflow-tooltip/>
<el-table-column prop="jobPost" label="职务" width="200" sortable />
<el-table-column prop="jobTitle" label="职称" sortable show-overflow-tooltip/>
<el-table-column prop="salesman" label="介绍人" sortable show-overflow-tooltip/>
<el-table-column prop="isVip" label="是否VIP" align="center" sortable>
<template slot-scope="scope">
<div>{{ scope.row.isVip == "Y" ? "是" : "否" }}</div>
</template>
</el-table-column>
<el-table-column prop="creatorName" label="登记人" sortable/>
<el-table-column prop="creatorName" label="登记人" sortable />
<el-table-column prop="creationTime" label="登记日期" width="100" align="center" sortable>
<template slot-scope="scope">
<div>{{ lmoment(scope.row.creationTime, "yyyy-MM-DD") }}</div>
@ -162,14 +164,14 @@
<div>{{ dddw(dict.completeFlag, "id", scope.row.completeFlag, "displayName") }}</div>
</template>
</el-table-column>
<el-table-column prop="isLock" label="锁住" align="center" sortable >
<el-table-column prop="isLock" label="锁住" align="center" sortable>
<template slot-scope="scope">
<div>{{ scope.row.isLock == "Y" ? "是" : "否" }}</div>
</template>
</el-table-column>
<el-table-column prop="summaryDoctorName" label="总检医生" sortable align="center">
<el-table-column prop="summaryDoctorName" label="总检医生" sortable align="center">
</el-table-column>
<el-table-column prop="auditDoctorName" label="审核医生" sortable align="center">
<el-table-column prop="auditDoctorName" label="审核医生" sortable align="center">
</el-table-column>
</el-table>
<div style="display: flex;justify-content:space-between;">
@ -231,7 +233,7 @@ export default {
isAuditCheck: '', //
medicalTypeIds: [],
checkDoctorIds: [],
summaryDoctorIds:[],
summaryDoctorIds: [],
},
completeFlag: []
},
@ -320,7 +322,7 @@ export default {
this.dict.sex = res.data;
}
});
//
getapi("/api/app/medical-type/in-filter").then((res) => {
if (res.code == 1) {
@ -449,7 +451,7 @@ export default {
if (this.report.dataCusOrgOCX.length > 0) {
this.report.dataCusOrgOCX.forEach(e => {
let dateType = '1'
switch (e.dateType) {
switch (e.dateType) {
case 'medicalStartDate':
dateType = '2'
break;
@ -495,15 +497,15 @@ export default {
if (this.local.query.haveImage) body.isPicture = 'Y'
if (this.local.query.checkCompleteFlag) body.asbitemCompleteFlag = this.local.query.checkCompleteFlag
if (this.local.query.isAuditCheck) body.asbitemIsAudit = this.local.query.isAuditCheck
if(Array.isArray(this.local.query.medicalTypeIds) && this.local.query.medicalTypeIds.length > 0){
if (Array.isArray(this.local.query.medicalTypeIds) && this.local.query.medicalTypeIds.length > 0) {
body.medicalTypeIds = this.local.query.medicalTypeIds
}
if(Array.isArray(this.local.query.checkDoctorIds) && this.local.query.checkDoctorIds.length > 0){
if (Array.isArray(this.local.query.checkDoctorIds) && this.local.query.checkDoctorIds.length > 0) {
body.checkDoctorIds = this.local.query.checkDoctorIds
}
if(Array.isArray(this.local.query.summaryDoctorIds) && this.local.query.summaryDoctorIds.length > 0){
if (Array.isArray(this.local.query.summaryDoctorIds) && this.local.query.summaryDoctorIds.length > 0) {
body.summaryDoctorIds = this.local.query.summaryDoctorIds
}
}
body.isFilterPreRegistration = 'Y' // Y= N= N (CompleteFlag0null)
// "patientName": "string",
@ -577,6 +579,18 @@ export default {
}
},
//
tableRowClassName({ row, rowIndex }) {
if(row.isAudit == 'Y' && row.completeFlag == '3'){
return 'complete4';
}else if(row.completeFlag == '3'){
return 'complete3';
}else if(row.completeFlag == '2'){
return 'complete2';
}
return '';
}
},
//
@ -586,6 +600,26 @@ export default {
};
</script>
<style scoped>
/* 部份已检 */
::v-deep .el-table .complete2 {
background: #b9cee9 !important;
}
/* 总检 */
::v-deep .el-table .complete3 {
background: #ff80ff !important;
}
/* 总检已审核 */
::v-deep .el-table .complete4 {
background: #ffff80 !important;
}
.el-table .complete2 {
background: #51db06;
}
.box {
display: flex;
}

190
src/components/patientRegister/PatientRegisterItem.vue

@ -119,17 +119,20 @@
<el-table-column label="标准价" prop="standardPrice" min-width="60" align="center" />
<el-table-column label="折扣" prop="discount" min-width="60">
<template slot-scope="scope">
<el-input type="number" v-model="scope.row.discount" size="small" @input="changeDiscount(scope.$index)" :disabled="scope.row.isCharge == 'Y' ? true:false"/>
<el-input type="number" v-model="scope.row.discount" size="small" @input="changeDiscount(scope.$index)"
:disabled="scope.row.isCharge == 'Y' ? true : false" />
</template>
</el-table-column>
<el-table-column label="数量" prop="amount" min-width="50">
<template slot-scope="scope">
<el-input type="number" v-model="scope.row.amount" size="small" @input="changeDiscount(scope.$index)" :disabled="scope.row.isCharge == 'Y' ? true:false"/>
<el-input type="number" v-model="scope.row.amount" size="small" @input="changeDiscount(scope.$index)"
:disabled="scope.row.isCharge == 'Y' ? true : false" />
</template>
</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)" :disabled="scope.row.isCharge == 'Y' ? true:false"/>
<el-input type="number" v-model="scope.row.chargePrice" size="small" @input="changePrice(scope.$index)"
:disabled="scope.row.isCharge == 'Y' ? true : false" />
<!--立即触发保存 @blur="onSubmit('')" -->
</template>
</el-table-column>
@ -333,6 +336,7 @@ export default {
this.packageAsbs = []
if (!id) {
this.dataTransOpts.tableM.register_check_asbitem = []
//
this.refreshAsbitem()
} else {
getapi(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`).then(res => {
@ -342,6 +346,7 @@ export default {
e.total = e.amount * e.chargePrice
});
this.dataTransOpts.tableM.register_check_asbitem = res.data
//
this.refreshAsbitem()
}
})
@ -364,6 +369,7 @@ export default {
e.checkCompleteFlag = '0'
e.isLock = 'N'
})
//
this.refreshAsbitem()
}
})
@ -598,9 +604,9 @@ export default {
}
//
//this.dataTransOpts.tableM.register_check_asbitem.push(pojo)
this.dataTransOpts.tableM.register_check_asbitem.splice(0,0,pojo)
this.dataTransOpts.tableM.register_check_asbitem.splice(0, 0, pojo)
}
//
this.refreshAsbitem()
},
@ -748,7 +754,7 @@ export default {
}
})
//
//
this.refreshAsbitem()
if (chargeComplete) {
@ -829,20 +835,21 @@ export default {
let lfind = -1
let tempRd = {}
//
this.setGroupPackageNull()
if (!newId) {
this.setGroupPackageNull()
//
this.refreshAsbitem()
return
}
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)
this.groupAsbs.forEach(e => {
lfind = arrayExistObj(this.dataTransOpts.tableM.register_check_asbitem, 'asbitemId', e.asbitemId)
if (lfind > -1) {
//
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
@ -851,52 +858,25 @@ export default {
this.dataTransOpts.tableM.register_check_asbitem[i].discount = tempRd.discount
}
} 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')) {
this.dataTransOpts.tableM.register_check_asbitem[i].groupPackageId = null
} else {
tempRd = Object.assign({}, this.dataTransOpts.tableM.register_check_asbitem.splice(i, 1)[0])
// if(tempRd.id) this.prAsbDels.push(tempRd)
tempRd = {
groupPackageId: newId,
isBelongGroupPackage: 'Y',
asbitemId: e.asbitemId,
asbitemName: e.displayName,
patientRegisterId: this.prForm.id,
standardPrice: e.price,
chargePrice: e.customerOrgGroupDetailPrice,
payTypeFlag,
isCharge: "N",
discount: e.discount,
amount: e.customerOrgGroupDetailAmount,
total: Math.round(e.customerOrgGroupDetailAmount * e.customerOrgGroupDetailPrice * 100) / 100
}
this.dataTransOpts.tableM.register_check_asbitem.push(tempRd)
}
}
// 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{
tempRd = {
groupPackageId: newId,
isBelongGroupPackage: 'Y',
asbitemId: e.asbitemId,
asbitemName: e.displayName,
patientRegisterId: this.prForm.id,
standardPrice: e.price,
chargePrice: e.customerOrgGroupDetailPrice,
payTypeFlag,
isCharge: "N",
discount: e.discount,
amount: e.customerOrgGroupDetailAmount,
total: Math.round(e.customerOrgGroupDetailAmount * e.customerOrgGroupDetailPrice * 100) / 100
}
// }
this.dataTransOpts.tableM.register_check_asbitem.push(tempRd)
})
});
//
this.refreshAsbitem()
},
@ -907,82 +887,74 @@ export default {
let lfind = -1
let tempRd = {}
this.setGroupPackageNull()
if (!newId) {
this.setGroupPackageNull()
//
this.refreshAsbitem()
return
}
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)
this.packageAsbs.forEach(e => {
lfind = arrayExistObj(this.dataTransOpts.tableM.register_check_asbitem, 'asbitemId', e.id)
if (lfind > -1) {
//
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
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].chargePrice = tempRd.medicalPackageDetailPrice
this.dataTransOpts.tableM.register_check_asbitem[i].chargePrice = tempRd.customerOrgGroupDetailPrice
this.dataTransOpts.tableM.register_check_asbitem[i].discount = tempRd.discount
}
} 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')) {
this.dataTransOpts.tableM.register_check_asbitem[i].groupPackageId = null
} else {
tempRd = Object.assign({}, this.dataTransOpts.tableM.register_check_asbitem.splice(i, 1)[0])
// if(tempRd.id) this.prAsbDels.push(tempRd)
tempRd = {
groupPackageId: newId,
isBelongGroupPackage: 'Y',
asbitemId: e.id,
asbitemName: e.displayName,
patientRegisterId: this.prForm.id,
standardPrice: e.price,
chargePrice: e.medicalPackageDetailPrice,
payTypeFlag,
isCharge: "N",
discount: e.discount,
amount: e.medicalPackageDetailAmount,
total: Math.round(e.medicalPackageDetailAmount * e.medicalPackageDetailPrice * 100) / 100
}
// }
this.dataTransOpts.tableM.register_check_asbitem.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{
tempRd = {
groupPackageId: newId,
isBelongGroupPackage: 'Y',
asbitemId: e.id,
asbitemName: e.displayName,
patientRegisterId: this.prForm.id,
standardPrice: e.price,
chargePrice: e.medicalPackageDetailPrice,
payTypeFlag,
isCharge: "N",
discount: e.discount,
amount: e.medicalPackageDetailAmount,
total: Math.round(e.medicalPackageDetailAmount * e.medicalPackageDetailPrice * 100) / 100
}
// }
this.dataTransOpts.tableM.register_check_asbitem.push(tempRd)
})
//
this.refreshAsbitem()
},
// / /
setGroupPackageNull() {
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => {
e.groupPackageId = null
e.isBelongGroupPackage = 'N'
})
//
// this.dataTransOpts.tableM.register_check_asbitem.forEach(e => {
// e.groupPackageId = null
// e.isBelongGroupPackage = 'N'
// })
try {
let length = this.dataTransOpts.tableM.register_check_asbitem.length
for (let i = length - 1; i > -1; i--) {
let e = this.dataTransOpts.tableM.register_check_asbitem[i];
//
if (!(e.isCharge == 'Y' || (e.checkCompleteFlag && e.checkCompleteFlag != '0'))) {
this.dataTransOpts.tableM.register_check_asbitem.splice(i, 1)
} else {
e.groupPackageId = null
e.isBelongGroupPackage = 'N'
}
}
} catch (error) {
console.error(error)
}
},
//
@ -1284,7 +1256,7 @@ export default {
// immediate: true, //
// deep: true, //
handler(newVal, oldVal) {
if (newVal != oldVal) this.refreshAsbitem()
if (newVal != oldVal) this.refreshAsbitem() //
}
},

175
src/components/sumDoctorCheck/SumSug.vue

@ -81,8 +81,12 @@
'展开' : '折叠' }}全部建议</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '新增建议')">
<el-button style="height: 28px;" class="commonbutton" @click="addSuggtion"
:disabled="sumBtnDisabled">新增建议</el-button>
<el-button style="width:50px;height: 28px;" class="commonbutton" @click="addSuggtion"
:disabled="sumBtnDisabled">新增</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '新增建议')">
<el-button style="margin-left:5px;width:50px;height: 28px;" class="commonbutton" @click="DelSuggtionAll"
:disabled="sumBtnDisabled">全删</el-button>
</div>
</div>
</div>
@ -373,7 +377,7 @@ export default {
rckParam: {
curRow: 0, //
rowNum: 1, //
cutRows: [] //
//cutRows: [] //
}, //
//autosize:{ minRows: 1, maxRows: 1 }
};
@ -569,7 +573,7 @@ export default {
//
addSuggtion() {
let id = String(new Date().getTime()) + String(this.sumDoctorCheck.suggestionList.length)
let id = Date.now() + String(this.sumDoctorCheck.suggestionList.length)
let pojo = {
id,
patientRegisterId: this.dataTransOpts.tableS.patient_register.id,
@ -605,6 +609,25 @@ export default {
})
},
//
DelSuggtionAll() {
this.$confirm("此操作将全删除建议记录, 是否继续?", "提示", {
confirmButtonText: "是",
cancelButtonText: "否",
type: "warning",
}).then(() => {
//
this.sumDoctorCheck.suggestionList = []
}).catch((err) => {
// if (err == 'cancel') {
// console.log(` ${err}`)
// } else {
// this.$message.error(` ${err}`)
// }
});
},
//
btnCollapseAll() {
this.collapse = !this.collapse
@ -801,13 +824,13 @@ export default {
//
getHistorySummary(patientRegisterId, isGetExistData) {
//
if(this.history_summary_years_limit == '0') return
if (this.history_summary_years_limit == '0') return
if (!patientRegisterId) {
this.sumDoctorCheck.historySummary = '';
return
}
let body = {
patientRegisterId,
isGetExistData,
@ -1302,20 +1325,28 @@ export default {
//
cutSugRows(cutNum) {
this.rckParam.cutRows = this.sumDoctorCheck.suggestionList.slice(this.rckParam.curRow, Number(this.rckParam.curRow) + Number(cutNum))
this.sumDoctorCheck.suggestionList = arrayReduce(this.sumDoctorCheck.suggestionList, this.rckParam.cutRows, "id=id")
// cutNum == 0
if (cutNum == 0) {
this.dataTransOpts.sumCutRows = this.sumDoctorCheck.suggestionList.slice()
this.sumDoctorCheck.suggestionList = []
} else {
this.dataTransOpts.sumCutRows = this.sumDoctorCheck.suggestionList.slice(this.rckParam.curRow, Number(this.rckParam.curRow) + Number(cutNum))
this.sumDoctorCheck.suggestionList = arrayReduce(this.sumDoctorCheck.suggestionList, this.dataTransOpts.sumCutRows, "id=id")
}
console.log('cutSugRows',cutNum,this.dataTransOpts.sumCutRows,this.sumDoctorCheck.suggestionList)
//this.sumDoctorCheck.suggestionList.splice(this.rckParam.curRow, cutNum)
},
//
insRows(step) {
this.rckParam.cutRows.forEach((e, i) => {
this.dataTransOpts.sumCutRows.forEach((e, i) => {
let num = Number(this.rckParam.curRow) + Number(i) + Number(step)
this.sumDoctorCheck.suggestionList.splice(num, 0, e)
});
//
this.rckParam.curRow = -1
this.rckParam.cutRows = []
this.dataTransOpts.sumCutRows = []
},
//
@ -1440,7 +1471,7 @@ export default {
// })
//
if (this.rckParam.cutRows.length > 0) {
if (this.dataTransOpts.sumCutRows.length > 0) {
items.push({
label: "粘贴到当前行前面",
onClick: () => {
@ -1453,62 +1484,68 @@ export default {
this.insRows(1)
},
})
}
//
items.push({
label: "剪切诊断(当前行)",
onClick: () => {
this.cutSugRows(1)
},
})
if (this.rckParam.curRow <= length - 2) {
items.push({
label: "剪切诊断(当前行及后 1 行)",
onClick: () => {
this.cutSugRows(2)
},
})
}
if (this.rckParam.curRow <= length - 3) {
items.push({
label: "剪切诊断(当前行及后 2 行)",
onClick: () => {
this.cutSugRows(3)
},
})
}
if (this.rckParam.curRow <= length - 4) {
//
items.push({
label: "剪切诊断(当前行及后 3 行)",
label: "剪切所有诊断",
onClick: () => {
this.cutSugRows(4)
this.cutSugRows(0)
},
})
}
if (this.rckParam.curRow <= length - 5) {
items.push({
label: "剪切诊断(当前行及后 4 行)",
label: "剪切诊断(当前行)",
onClick: () => {
this.cutSugRows(5)
this.cutSugRows(1)
},
})
if (this.rckParam.curRow <= length - 2) {
items.push({
label: "剪切诊断(当前行及后 1 行)",
onClick: () => {
this.cutSugRows(2)
},
})
}
if (this.rckParam.curRow <= length - 3) {
items.push({
label: "剪切诊断(当前行及后 2 行)",
onClick: () => {
this.cutSugRows(3)
},
})
}
if (this.rckParam.curRow <= length - 4) {
items.push({
label: "剪切诊断(当前行及后 3 行)",
onClick: () => {
this.cutSugRows(4)
},
})
}
if (this.rckParam.curRow <= length - 5) {
items.push({
label: "剪切诊断(当前行及后 4 行)",
onClick: () => {
this.cutSugRows(5)
},
})
}
}
//
items.push({
label: "向下合并诊断",
onClick: () => {
this.hisResultDetailDialogVisible = true
},
})
items.push({
label: "向上合并诊断",
onClick: () => {
this.hisResultDetailDialogVisible = true
},
})
// items.push({
// label: "",
// onClick: () => {
// this.hisResultDetailDialogVisible = true
// },
// })
// items.push({
// label: "",
// onClick: () => {
// this.hisResultDetailDialogVisible = true
// },
// })
this.$contextmenu({
items,
@ -1524,12 +1561,13 @@ export default {
},
//
onContextmenuSug(event) {
if (!this.$peisAPI) {
this.onContextmenuSugNoShell(event)
} else {
let length = this.sumDoctorCheck.suggestionList.length
if (length == 0) return
//if (length == 0) return
let menus = [
// { type: 'separator' },
@ -1544,19 +1582,18 @@ export default {
// ]
// }
]
//
if (this.rckParam.cutRows.length > 0) {
console.log('this.dataTransOpts.sumCutRows.length',this.dataTransOpts.sumCutRows.length)
if (this.dataTransOpts.sumCutRows.length > 0) {
menus.push({ type: 'separator' })
menus.push({ label: '粘贴诊断到当前行前面', itemId: '粘贴诊断到当前行前面', enabled: true })
menus.push({ label: '粘贴诊断到当前行后面', itemId: '粘贴诊断到当前行后面', enabled: true })
}
//
menus.push({ type: 'separator' })
menus.push({ label: '剪切所有诊断', itemId: '剪切所有诊断', enabled: true })
menus.push({ label: '剪切诊断(当前行)', itemId: '剪切诊断(当前行)', enabled: true })
if (this.rckParam.curRow <= length - 2) {
menus.push({ label: '剪切诊断(当前行及后 1 行)', itemId: '剪切诊断(当前行及后 1 行)', enabled: true })
@ -1590,14 +1627,21 @@ export default {
//
onContextMenuDIY(data) {
//this.$message({showClose:true,message:data})
console.log('onContextMenuDIY',data)
switch (data) {
case '粘贴诊断到当前行前面':
this.insRows(0)
break;
case '粘贴诊断到当前行后面':
this.insRows(1)
if(length == 0){
this.insRows(0)
}else{
this.insRows(1)
}
break;
case '剪切所有诊断':
this.cutSugRows(0)
break;
case '剪切诊断(当前行)':
this.cutSugRows(1)
break;
@ -1661,7 +1705,7 @@ export default {
}
/* 表格底色 .el-table__body .el-table__body-wrapper */
::v-deep .el-table {
::v-deep .el-table {
color: #000;
}
@ -1672,7 +1716,8 @@ export default {
::v-deep .el-textarea__inner {
color: #000;
}
::v-deep .el-input__inner {
::v-deep .el-input__inner {
color: #000;
}
@ -1709,7 +1754,7 @@ export default {
::v-deep .el-input__inner {
min-height: 23px;
height: 23px;
padding: 1px 15px 1px 2px;
padding: 1px 15px 1px 2px;
}
::v-deep .commonFont .el-textarea__inner {

1
src/store/index.js

@ -550,6 +550,7 @@ export default new Vuex.Store({
},
doctorCutPics:[], // 医生诊台剪切图片用
sumCutRows:[], // 总检剪切诊断用
},

5
src/views/fee-settings/ItemTemplate.vue

@ -22,10 +22,9 @@
? 210
: Math.floor((window.pageHeight - 220) / 2)
"
class="el-table__body-wrapper tbody"
border:stripe="true"
class="el-table__body-wrapper tbody"
@row-click="rowick"
ref="info"
ref="info" border
highlight-current-row
>
<el-table-column prop="id" label="编号" width="300">

84
src/views/fee-settings/cardRegister.vue

@ -19,52 +19,49 @@
margin-top: 7px;
">
<div class="query">
<el-select v-model="query.dateType" placeholder="请选择" filterable size="small" style="width: 90px">
<el-select v-model="query.dateType" placeholder="请选择" filterable size="small" style="width: 80px">
<el-option label="登记日期" value="createDate" />
<el-option label="有效日期" value="expiryDate" />
</el-select>
<el-date-picker v-model="query.startDate" type="date" placeholder="起始日期" size="small" />
<el-date-picker v-model="query.startDate" style="width:90px;" value-format="yyyy-MM-dd" type="date" placeholder="起始日期" size="small" />
<span>--</span>
<el-date-picker v-model="query.endDate" type="date" placeholder="截止日期" size="small" />
<el-date-picker v-model="query.endDate" style="width:90px;" value-format="yyyy-MM-dd" type="date" placeholder="截止日期" size="small" />
</div>
<div class="query">
<span>卡类别</span>
<el-select v-model="query.cardTypeId" placeholder="请选择" clearable size="small">
<span class="spanClass">卡类别</span>
<el-select v-model="query.cardTypeId" placeholder="请选择" clearable size="small" style="width:70px;">
<el-option v-for="item in dict.cardType" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
</div>
<div class="query">
<span>卡状态</span>
<span class="spanClass">卡状态</span>
<!--
<el-radio-group v-model="query.isActive">
<el-radio :label="1">启用</el-radio>
<el-radio :label="0">停用</el-radio>
</el-radio-group>
-->
<el-select v-model="query.isActive" placeholder="请选择" clearable size="small">
<el-select v-model="query.isActive" placeholder="请选择" style="width:60px;" clearable size="small">
<el-option label="启用" value="Y" />
<el-option label="停用" value="N" />
</el-select>
</div>
<div class="query">
<span>卡号</span>
<el-input placeholder="卡号" v-model="query.cardNo" size="small" clearable style="width: 190px" />
<span class="spanClass">卡号</span>
<el-input placeholder="卡号" v-model="query.cardNo" size="small" clearable style="width: 100px" />
</div>
<div class="query">
<span>卡主姓名</span>
<el-input placeholder="卡主姓名" v-model="query.customerName" size="small" clearable style="width: 190px" />
<span class="spanClass">卡主姓名</span>
<el-input placeholder="卡主姓名" v-model="query.customerName" size="small" clearable style="width: 70px" />
</div>
<div class="query">
<span>身份证号</span>
<el-input placeholder="身份证号" v-model="query.idNo" size="small" clearable style="width: 190px" />
<span class="spanClass">身份证号</span>
<el-input placeholder="身份证号" v-model="query.idNo" size="small" clearable style="width: 160px" />
</div>
<div class="query">
<span>电话</span>
<span class="spanClass">电话</span>
<el-input placeholder="手机号/电话" v-model="query.mobileTelephone" size="small" clearable
style="width: 190px" />
</div>
<div class="query">
<el-button class="commonbutton" @click="btnQuery">查询</el-button>
style="width: 120px" />
</div>
</div>
<div style="
@ -187,12 +184,15 @@
</div>
<div style="
margin-left: 10px;
margin-top: 3%;
margin-top: 50px;
position: absolute;
top: 0;
right: 0;
">
<div>
<el-button class="commonbutton" @click="btnQuery">查询</el-button>
</div>
<div style="margin-top: 10px">
<el-button class="commonbutton" @click="add">新增</el-button>
</div>
<div style="margin-top: 10px">
@ -598,6 +598,8 @@ export default {
],
},
dom:null,
curChoosedRow: {}, //
curChoosedId: "", //ID
@ -1011,16 +1013,17 @@ export default {
//
//
scrollFull() {
let obj = this.$refs['info'].bodyWrapper
console.log('obj', obj)
this.dom = this.$refs['info'].bodyWrapper
//console.log('obj', obj)
obj.addEventListener('scroll', async () => {
this.dom.addEventListener('scroll', async () => {
// console.log('scrollTop',this.dom.scrollTop,'clientHeight',this.dom.clientHeight,'scrollHeight',this.dom.scrollHeight);
if (obj.scrollTop + obj.clientHeight + 20 > obj.scrollHeight && !this.lazyLoading) {
if (this.dom.scrollTop + this.dom.clientHeight + 20 > this.dom.scrollHeight && !this.lazyLoading) {
//
console.log('scrollTop', obj.scrollTop, 'clientHeight', obj.clientHeight, 'scrollHeight', obj.scrollHeight);
// console.log('scrollTop', this.dom.scrollTop, 'clientHeight', this.dom.clientHeight, 'scrollHeight', this.dom.scrollHeight);
if (Number(this.loadOpts.skipCount) * Number(this.loadOpts.maxResultCount) >= Number(this.loadOpts.totalCount)) {
this.lazyLoading = false
this.$message.warning({showClose:true,message:'没有更多的数据可拉取!'})
} else {
this.lazyLoading = true
this.loadQuery()
@ -1040,8 +1043,8 @@ export default {
body.skipCount = this.loadOpts.skipCount
postapi("/api/app/cardregister/getcardregisterlist", body).then((res) => {
if (res.code != -1) {
this.dataList = this.dataList.concat(res.data.items);
if (res?.code > -1) {
this.dataList = this.dataList.concat(res?.data?.items||[]);
this.loadOpts.totalCount = res.data.totalCount
this.loadOpts.skipCount++
this.lazyLoading = false
@ -1428,33 +1431,19 @@ export default {
};
</script>
<style scoped>
@import "../../assets/css/global.css";
@import "../../assets/css/global_button.css";
@import "../../assets/css/global_dialog.css";
@import "../../assets/css/global_table.css";
@import "../../assets/css/global_form.css";
@import "../../assets/css/global_input.css";
@import "../../assets/css/global.css";
@import "../../assets/css/global_font.css";
::v-deep .el-input__inner {
/*text-align: center;*/
padding-left: 5px;
padding-right: 25px;
}
::v-deep .el-icon-date:before {
content: "";
}
.query {
margin-right: 15px;
display: flex;
justify-content: center;
align-items: center;
font-size: 14px;
color: #232748;
font-weight: 400;
font-family: "NotoSansSC-Regular";
}
.box {
display: flex;
@ -1485,7 +1474,18 @@ export default {
padding: 0px 20px 14px;
}
.query {
margin-right: 10px;
font-size: 14px;
color: #232748;
font-weight: 400;
font-family: "NotoSansSC-Regular";
}
.query:last-child {
margin-right: 0;
}
.spanClass {
font-size: 14px;
padding: 0 2px 0 0;
}
</style>
Loading…
Cancel
Save