pengjun 7 days ago
parent
commit
07692bd1ab
  1. 552
      src/components/common/PreAsbitem.vue
  2. 87
      src/components/common/PreviewCusGrant.vue
  3. 33
      src/components/patientRegister/PatientRegisterList.vue
  4. 4
      src/store/index.js
  5. 74
      src/views/doctorCheck/doctorCheck.vue
  6. 25
      src/views/doctorCheck/sumDoctorCheck.vue
  7. 9
      src/views/fee-settings/Asbitem.vue
  8. 33
      src/views/report/report.vue

552
src/components/common/PreAsbitem.vue

@ -0,0 +1,552 @@
<template>
<div>
<div :style="'display: flex;width:' + (window.pageWidth - 45 - 110) + 'px;'">
<!--未选组合项目-->
<div style="display: block; width:260px;">
<div>
<span style="padding: 5px;font-size: 14px;font-weight: 400;color: #232748;font-family: NotoSansSC-Regular;margin-bottom: 10px;">项目类别</span>
<el-cascader :options="dict.itemTypeTree" v-model="itemTypeIds"
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" popper-class="example" @change="getAsbItemByItemType" size="small" ref="itemTypeIds">
</el-cascader>
</div>
<div class="box">
<el-table :data="dict.asbItem" size="small" highlight-current-row
:height="window.pageHeight < 600 ? 190:Math.floor((window.pageHeight - 230) / 2)"
@row-dblclick="dbClickChoosedAsb" row-key="id" border
@selection-change="selectLeft"
@row-click="chooseAsbItem">
<!--
<el-table-column type="selection" align="center" ></el-table-column>
-->
<el-table-column type="index" align="center" min-width="40" label="序号"/>
<el-table-column
label="未选组合项目" min-width="170"
prop="displayName" align="center"
></el-table-column>
</el-table>
</div>
</div>
<!--中间操作按钮-->
<div style="display: flex;margin: 0px 10px 0px;flex-direction: column;justify-content: center;">
<div>
<el-button class="commonbutton" @click="addAbs(asbItemChoosed,'choosed')" >添加 <i class="el-icon-arrow-right"></i></el-button>
</div>
<div style="margin-top: 10px">
<el-button class="difference" @click="addAbs(asbItemChoosed,'all')">全部添加</el-button>
</div>
<div style="margin-top: 10px">
<el-button class="commonbutton"
@click="delAbs(medicalPackageAsbitemsChoosed,'choosed')">移除 <i class="el-icon-arrow-left"></i
></el-button>
</div>
<div style="margin-top: 10px">
<el-button class="difference" @click="delAbs(medicalPackageAsbitemsChoosed,'all')">全部移除</el-button>
</div>
</div>
<!--已选组合项目-->
<div :style="'display: block; width:' + (window.pageWidth - 310 - 280 - 120 - 45 - 110) + 'px;'">
<div style="height:32px;">
<span style="padding: 5px;font-size: 14px;font-weight: 400;color: #232748;font-family: NotoSansSC-Regular;margin-bottom: 10px;">快速选择</span>
<el-select v-model="asbItemId" placeholder="快速选择组合项目" size="small"
filterable default-first-option :filter-method="filterMethod"
clearable @clear="quickAsb = deepCopy(dict.asbItemQuick)"
@change="quickChoosedAsb" ref="quickAsbOCX">
<el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" />
</el-select>
</div>
<div class="box">
<el-table :data="medicalPackageAsbitems" size="small" border
@selection-change="selectRight" highlight-current-row
:height="window.pageHeight < 600 ? 190:Math.floor((window.pageHeight - 230) / 2)"
@row-dblclick="removeAbs"
@row-click="removeAsbItem" ref="tablemedicalPackageAsbitems">
<!--
<el-table-column type="selection"></el-table-column>
-->
<el-table-column type="index" min-width="40" align="center" label="序号"/>
<el-table-column
label="已选组合项目"
min-width="120"
prop="displayName"
></el-table-column>
</el-table>
</div>
</div>
<!--批量操作按钮复制套餐与分组-->
<div style="margin: 190px 0 0 10px;">
<el-button class="commonbutton" @click="btnSave">确定</el-button>
</div>
</div>
</div>
</template>
<script>
import moment from 'moment';
import { mapState } from "vuex";
import { getapi, postapi, putapi } from "@/api/api";
import { arrayExistObj, tcdate, arrayFilter, arrayReduce, deepCopy,dddw } from "../../utlis/proFunc";
export default {
props:['asbitemId','PreAsbitemBrush'],
data() {
return {
packagePrice:0, //
medicalPackageAsbitems:[], //
medicalPackageAsbitemsChoosed:[], //()
itemTypeIds:[], //
asbItemId:'', //ID
quickAsb:[], //
asbItemChoosed: [], //
startPoint:-1,
PstartPoint:-1,
medicalPackageVisble:false, //
curPackageId:'', //ID
packageAsbitems:[], //
selecteddata: [], //
unselecteddata: [], //
rightselctedata: [], //
options: [],
value: "",
dialogVisible: false,
copyGroupdialogVisible: false,
packagelist: [],
tabledata: [],
temporaryselection: [], //table
copegroupdata: [], //
addrulst: [], //Id
price: "", //
title: 1,
};
},
computed: {
...mapState(["window","dict","customerOrg"]),
},
created() {
this.dictInit()
},
updated () {
this.refreshTable('tablemedicalPackageAsbitems')
},
methods: {
moment,dddw,deepCopy,
//
refreshTable(tableRef){
this.$nextTick(() => {
this.$refs[tableRef].doLayout()
})
},
//
dictInit(){
//
getapi("/api/app/item-type/by-code-all").then((res) => {
if (res.code != -1) {
this.dict.itemTypeTree = res.data;
tcdate(this.dict.itemTypeTree);
}
});
//
postapi("/api/app/asbitem/GetBasicList",{isFilterActive:'Y'}).then((res) => {
if (res.code != -1) {
this.dict.asbItemAll = res.data;
this.dict.asbItemAll.forEach(e => {
e.choosed = false
})
this.dict.asbItem = deepCopy(this.dict.asbItemAll);
this.dict.asbItemQuick = deepCopy(res.data);
this.quickAsb = deepCopy(res.data);
}
});
//
postapi("/api/app/medicalpackage/getmedicalpackagelist",{}).then((res) => {
if (res.code != -1) {
this.dict.medicalPackage = res.data;
}
});
},
//
getAsbItemByItemTypeAll() {
//console.log('getAsbItemByItemType', typeof this.itemTypeIds, this.itemTypeIds)
let lv = "";
if (typeof this.itemTypeIds === "object") {
lv = this.itemTypeIds[this.itemTypeIds.length - 1];
}
if (lv) {
this.dict.asbItem = arrayFilter(this.dict.asbItemAll, "itemTypeId", lv);
} else {
this.dict.asbItem = deepCopy(this.dict.asbItemAll);
}
//console.log('lv,this.dict.asbItem', lv, this.dict.asbItem)
this.dict.asbItemQuick = deepCopy(this.dict.asbItemAll);
},
//
getAsbItemByItemType(e) {
this.getAsbItemByItemTypeAll()
//
let choosed = [].concat(this.medicalPackageAsbitems,[{asbitemId:this.asbitemId}])
arrayReduce(this.dict.asbItem, choosed, "id=asbitemId");
arrayReduce(this.dict.asbItemQuick, choosed, "id=asbitemId");
this.quickAsb = Object.assign(this.dict.asbItemQuick)
if(e){
this.$refs.itemTypeIds.toggleDropDownVisible();
}
},
//
filterMethod(keyWords) {
//console.log('filterMethod',this.dict.asbItemQuick)
if (keyWords) {
this.quickAsb = [];
this.dict.asbItemQuick.forEach(item => {
if (item.displayName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1
|| item.simpleCode.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1
|| item.shortName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1) {
this.quickAsb.push(item);
}
});
} else {
this.quickAsb = deepCopy(this.dict.asbItemQuick);
}
},
//
///api/app/register-asbitem/many/3fa85f64-5717-4562-b3fc-2c963f66afa6'
async addAbs(asbItemChoosed,oprType) {
// console.log('this.medicalPackage',this.medicalPackage)
// console.log('asbItemChoosed', asbItemChoosed)
if(!this.asbitemId){
this.$message.warning({ showClose: true, message: "请先选中组合项目"})
return
}
let lfind = -1
//oprType
// start
if(oprType && oprType == 'all'){
asbItemChoosed = deepCopy(this.dict.asbItem)
}else if(oprType && oprType == 'choosed'){
asbItemChoosed = []
this.dict.asbItem.forEach(e =>{
if(e.choosed){
asbItemChoosed.push(e)
e.choosed = false
}
})
}
// end
if (asbItemChoosed.length < 1) {
this.$message.warning({ showClose: true, message: "请选择要添加的组合项目"})
return
}
//
arrayReduce(asbItemChoosed, this.medicalPackageAsbitems, "id=asbitemId")
for (let i = 0; i < asbItemChoosed.length; i++) {
let pojo = {
asbitemId: asbItemChoosed[i].id,
displayName:asbItemChoosed[i].displayName
}
this.medicalPackageAsbitems.push(pojo)
//this.medicalPackageAsbitems.push({ ...pojo, asbitemName: asbItemChoosed[i].displayName })
lfind = arrayExistObj(this.dict.asbItem, 'id', asbItemChoosed[i].id)
if (lfind > -1) this.dict.asbItem.splice(lfind, 1)
lfind = arrayExistObj(this.dict.asbItemQuick, 'id', asbItemChoosed[i].id)
if (lfind > -1) this.dict.asbItemQuick.splice(lfind, 1)
}
},
//
dbClickChoosedAsb(row) {
this.addAbs([row]);
},
//
quickChoosedAsb(v) {
// value-key value console.log('quickChoosedAsb',v)
let lfind = -1
if (v) {
lfind = arrayExistObj(this.dict.asbItemQuick, 'id', v)
if (lfind > -1) {
this.addAbs([this.dict.asbItemQuick[lfind]])
}
}
this.$nextTick(() => {
this.$refs['quickAsbOCX'].blur(); //total asbItemId
this.asbItemId = ''
this.quickAsb = deepCopy(this.dict.asbItemQuick)
this.$refs['quickAsbOCX'].focus(); //total asbItemId
});
},
//
chooseAsbItem(row){
this.dict.asbItem.forEach((e,index) => {
e.index = index;
return e
});
// shift
if (this.window.shift) {
//
this.dict.asbItem.forEach(e => {
e.choosed = false;
return e
});
if (this.startPoint == - 1) {
this.dict.asbItem[row.index].choosed = true;
this.startPoint = row.index;
return
}
if (this.startPoint > row.index) {
for (let i = row.index; i <= this.startPoint; i++) {
this.dict.asbItem[i].choosed = true
}
} else if (this.startPoint <= row.index) {
for (let i = this.startPoint; i <= row.index; i++) {
this.dict.asbItem[i].choosed = true
}
}
return
}
// ctrl
if (this.window.ctrl) {
console.log('this.window.ctrl',this.window.ctrl,this.dict.asbItem)
this.dict.asbItem[row.index].choosed = true;
this.startPoint = row.index;
return
}
// ctrl shift
//
//console.log('')
this.dict.asbItem.forEach(e => {
e.choosed = false;
return e
});
this.dict.asbItem[row.index].choosed = true;
this.startPoint = row.index;
},
//
///api/app/register-asbitem/many?RegisterAsbitemIds=3fa85f64-5717-4562-b3fc-2c963f66afa6
delAbs(absForDel,oprType) {
if(!this.asbitemId){
this.$message.warning({ showClose: true, message: "请先选中组合项目"})
return
}
let lfind = -1
// start
if(oprType && oprType == 'all'){
absForDel = deepCopy(this.medicalPackageAsbitems)
}else if(oprType && oprType == 'choosed'){
absForDel = []
this.medicalPackageAsbitems.forEach(e =>{
if(e.choosed){
absForDel.push(deepCopy(e))
e.choosed = false
}
})
}
// end
if (absForDel.length < 1) {
this.$message.warning({ showClose: true, message: "请选择要移除的组合项目"})
return
}
for (let i = 0; i < absForDel.length; i++) {
lfind = arrayExistObj(this.medicalPackageAsbitems, 'asbitemId', absForDel[i].asbitemId)
if (lfind > -1) this.medicalPackageAsbitems.splice(lfind, 1)
absForDel.splice(i, 1)
i--
continue
}
//
this.getAsbItemByItemType()
},
//
removeAbs(row) {
this.delAbs([row]);
},
//
removeAsbItem(row){
this.medicalPackageAsbitems.forEach((e,index) => {
e.index = index;
return e
});
// shift
if (this.window.shift) {
//
this.medicalPackageAsbitems.forEach(e => {
e.choosed = false;
return e
});
if (this.PstartPoint == - 1) {
this.medicalPackageAsbitems[row.index].choosed = true;
this.PstartPoint = row.index;
return
}
if (this.PstartPoint > row.index) {
for (let i = row.index; i <= this.PstartPoint; i++) {
this.medicalPackageAsbitems[i].choosed = true
}
} else if (this.PstartPoint <= row.index) {
for (let i = this.PstartPoint; i <= row.index; i++) {
this.medicalPackageAsbitems[i].choosed = true
}
}
return
}
// ctrl
if (this.window.ctrl) {
console.log('this.window.ctrl',this.window.ctrl,this.medicalPackageAsbitems)
this.medicalPackageAsbitems[row.index].choosed = true;
this.PstartPoint = row.index;
return
}
// ctrl shift
//
//console.log('')
this.medicalPackageAsbitems.forEach(e => {
e.choosed = false;
return e
});
this.medicalPackageAsbitems[row.index].choosed = true;
this.PstartPoint = row.index;
},
//
btnSave() {
if(!this.asbitemId){
this.$message.warning({ showClose: true, message: "请先选中组合项目"})
return
}
let body = {
asbitemId:this.asbitemId,
mutualExclusionAsbitemIds:[]
}
this.medicalPackageAsbitems.forEach(e =>{
body.mutualExclusionAsbitemIds.push(e.asbitemId)
})
// /api/app/medical-package-detail/many
postapi('/api/app/AsbitemMutualExclusion/UpdateAsbitemMutualExclusion',body
).then(res => {
if(res.code > -1){
this.$message.success({showClose:true,message:'操作成功!'})
}
})
},
//
selectRight(val) {
this.medicalPackageAsbitemsChoosed = val;
},
//
selectLeft(val) {
this.asbItemChoosed = val;
},
//
getPreAsbitems(asbitemId) {
if(asbitemId){
postapi('/api/app/AsbitemMutualExclusion/GetAsbitemMutualExclusionByAsbitemId',{asbitemId}).then((res) => {
if(res.code != -1){
this.medicalPackageAsbitems = res.data.details;
this.medicalPackageAsbitems.forEach(e => {
e.asbitemId = e.mutualExclusionAsbitemId
e.displayName = e.mutualExclusionAsbitemName
});
this.getAsbItemByItemType()
}
});
}else{
this.medicalPackageAsbitems = []
this.getAsbItemByItemType()
}
},
},
//
watch: {
//
"PreAsbitemBrush"(newVal, oldVal) {
console.log("asbitemId ",newVal,oldVal);
if (newVal != oldVal) {
this.getPreAsbitems(this.asbitemId);
}
},
},
};
</script>
<style scoped>
.box {
margin-top: 5px;
}
</style>

87
src/components/common/PreviewCusGrant.vue
File diff suppressed because it is too large
View File

33
src/components/patientRegister/PatientRegisterList.vue

@ -526,6 +526,12 @@
<Queue :refParams="queueParams" />
</el-dialog>
<!-- 知情同意书 -->
<el-dialog title="知情同意书" :visible.sync="dialogWin.previewCusGrant" :append-to-body="true"
:close-on-click-modal="false" width="900px">
<PreviewCusGrant :refParams="preCusGrantParams" />
</el-dialog>
<!-- 拍照 -->
<el-dialog title="拍照" :visible.sync="patientRegister.cameraVisble" width="400" height="800" :show-close="false"
:append-to-body="true" :close-on-click-modal="false">
@ -661,6 +667,7 @@ import PatientRegisterEditPersonnelTypeBatch from "./PatientRegisterEditPersonne
import PatientRegisterEditRemarkBatch from "./PatientRegisterEditRemarkBatch.vue";
import ImportOrgData from "./ImportOrgData.vue";
import Queue from "../../components/queue/Queue.vue";
import PreviewCusGrant from "@/components/common/PreviewCusGrant.vue";
import { UTable, UTableColumn } from "umy-ui";
export default {
@ -676,7 +683,7 @@ export default {
PatientRegisterEditRemarkBatch, //
ElProgressOCX,
ImportOrgData,
Queue,
Queue,PreviewCusGrant,
DownloadExcel: JsonExcel,
UTable,
UTableColumn,
@ -972,6 +979,12 @@ export default {
//
clickTime1: 0,
clickTime2: 0,
//
preCusGrantParams: {
patientRegisterId: '',
brushTimes: 0
}
};
},
@ -2192,6 +2205,13 @@ export default {
this.queueParams.queueTimes++
},
//
previewCusGrant(row){
this.dialogWin.previewCusGrant = true
this.preCusGrantParams.patientRegisterId = row.id
this.preCusGrantParams.brushTimes++
},
//
onCellRightClick(row, column) {
// console.log(row)
@ -2256,6 +2276,17 @@ export default {
},
});
if (
checkPagePriv(this.pagePriv.privs, "知情同意书") &&
row.completeFlag != "0"
)
items.push({
label: "知情同意书",
onClick: () => {
this.previewCusGrant(row);
},
});
if (
checkPagePriv(this.pagePriv.privs, "发送检验申请") &&
row.completeFlag != "0"

4
src/store/index.js

@ -566,6 +566,10 @@ export default new Vuex.Store({
dialogWin: {
acceptTemplate:false, // 知情书模板设计
acceptTemplate2:false,
previewCusGrant:false, // 显示知情书 -- 登记列表
previewCusGrant1:false, // 显示知情书 -- 医生诊台
previewCusGrant2:false, // 显示知情书 -- 总检台
previewCusGrant3:false, // 显示知情书 -- 体检报告
ContactPersonEdit: false, // 联系人
CustomerOrgGroupEdit: false, // 单位分组 新增/编辑
charge: false, // 收费窗口

74
src/views/doctorCheck/doctorCheck.vue

@ -100,18 +100,6 @@
<el-button type="primary" class="deleteButton" @click="btnDel"
:disabled="doctorBtnDisabled('btnDel')">删除结果</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '放弃明细项目检查')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="refuseItem" style="font-size:11px;"
:disabled="doctorBtnDisabled('refuseItem')">放弃明细项目检查</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '放弃项目检查')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="refuse"
:disabled="doctorBtnDisabled('refuse')">放弃项目检查</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '删除明细项目')" class="divBtnClass">
<el-button type="primary" class="deleteButton" @click="delItem"
:disabled="doctorBtnDisabled('delItem')">删除明细项目</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '取消审核')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="unAudit"
:disabled="doctorBtnDisabled('unAudit')">取消审核</el-button>
@ -153,7 +141,25 @@
<div class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="btnReset">重置</el-button>
</div>
<div class="divBtnClass">
<el-dropdown>
<el-button type="primary" class="commonbutton">
更多操作<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :disabled="doctorBtnDisabled('refuseItem')" @click.native="refuseItem"
v-show="checkPagePriv(pagePriv.privs, '放弃明细项目检查')">放弃明细项目检查</el-dropdown-item>
<el-dropdown-item :disabled="doctorBtnDisabled('refuse')" @click.native="refuse"
v-show="checkPagePriv(pagePriv.privs, '放弃项目检查')">放弃项目检查</el-dropdown-item>
<el-dropdown-item :disabled="doctorBtnDisabled('delItem')" @click.native="delItem"
v-show="checkPagePriv(pagePriv.privs, '删除明细项目')">删除明细项目</el-dropdown-item>
<el-dropdown-item :disabled="doctorBtnDisabled('btnCheckHistory')" @click.native="previewCusGrant"
v-show="checkPagePriv(pagePriv.privs, '知情同意书')">知情同意书</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<!--人员列表-->
<div v-show="dialogWin.doctorPrList"
:style="`z-index:2;border-radius: 10px;border: 1px solid #ddd;background-color:#FFF; position: absolute;top:${dialogMarginTop}px;right:120px;width:350px;height: ${window.pageHeight - 42 - 10}px;opacity:1;`">
@ -248,8 +254,13 @@
<el-dialog title="复查/随访" :visible.sync="dialogWin.FollowUp" width="900px" :close-on-click-modal="false"
:append-to-body="true">
<PhoneFollowUp
:refParams="refFollowUpParams" />
<PhoneFollowUp :refParams="refFollowUpParams" />
</el-dialog>
<!-- 知情同意书 -->
<el-dialog title="知情同意书" :visible.sync="dialogWin.previewCusGrant1" :append-to-body="true"
:close-on-click-modal="false" width="900px">
<PreviewCusGrant1 :refParams="preCusGrantParams" />
</el-dialog>
</div>
</div>
@ -283,6 +294,8 @@ import SumHistory from "../../components/sumDoctorCheck/SumHistory.vue";
import OccDisease from "../../components/occDisease/OccDisease.vue"
import ImageTextReport from "../../components/occDisease/ImageTextReport.vue";
import PhoneFollowUp from "../../components/follow/PhoneFollowUp.vue";
import PreviewCusGrant1 from "@/components/common/PreviewCusGrant.vue";
import MarkdownIt from "markdown-it";
const md = new MarkdownIt();
@ -306,7 +319,8 @@ export default {
SumHistory,
OccDisease,
ImageTextReport,
PhoneFollowUp
PhoneFollowUp,
PreviewCusGrant1
},
data() {
return {
@ -460,12 +474,17 @@ export default {
brushTimes: 0,
patientRegisterId: ''
},
refFollowUpParams:{
place: 'doctor',
followUpId: '',
patientRegisterId: 'patient_register.id',
criticalValueContents: '',
brushTimes: 0
refFollowUpParams: {
place: 'doctor',
followUpId: '',
patientRegisterId: 'patient_register.id',
criticalValueContents: '',
brushTimes: 0
},
//
preCusGrantParams: {
patientRegisterId: '',
brushTimes: 0
}
};
},
@ -1263,7 +1282,7 @@ export default {
// this.formData = Object.assign({},this.doctorCheck.prBase)
//console.log(this.patientRegister.patientRegisterRd,this.patientRegister.prList)
this.dialogWin.PatientRegisterEdit2 = true;
this.dialogWin.PatientRegisterEdit2 = true;
setTimeout(() => {
this.dataTransOpts.refresh.patient_register.S++
}, 20);
@ -1463,6 +1482,13 @@ export default {
this.refParams = Object.assign({}, this.refParams, { brushTimes: Number(this.refParams.brushTimes) + 1, patientRegisterId: this.patient_register.id })
},
//
previewCusGrant() {
this.dialogWin.previewCusGrant1 = true
this.preCusGrantParams.patientRegisterId = this.patient_register.id
this.preCusGrantParams.brushTimes++
},
//
async btnReport() {
@ -1531,8 +1557,8 @@ export default {
// /访
btnCall() {
if(!this.patient_register.id){
this.$message.warning({showClose:true,message:"没有选中人员"})
if (!this.patient_register.id) {
this.$message.warning({ showClose: true, message: "没有选中人员" })
return
}
this.dialogWin.FollowUp = true

25
src/views/doctorCheck/sumDoctorCheck.vue

@ -462,6 +462,10 @@
<div class="listBtn">
<el-button type="primary" class="commonbutton" @click="btnReset">重置</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '知情同意书')" class="listBtn">
<el-button type="primary" class="commonbutton" @click="previewCusGrant"
:disabled="manBtnDisabled">知情同意书</el-button>
</div>
<!-- AI诊断所有小结信息-->
<div v-show="AI.visible"
@ -546,6 +550,12 @@
<el-button @click="dialogDiagnosises = false">关闭</el-button>
</span>
</el-dialog>
<!-- 知情同意书 -->
<el-dialog title="知情同意书" :visible.sync="dialogWin.previewCusGrant2" :append-to-body="true"
:close-on-click-modal="false" width="900px">
<PreviewCusGrant2 :refParams="preCusGrantParams" />
</el-dialog>
</div>
</div>
</template>
@ -571,6 +581,7 @@ import AsbitemCriticalValue from "../../components/sumDoctorCheck/AsbitemCritica
import OccDisease from "../../components/occDisease/OccDisease.vue"
import PatientRegisterList1 from "../../components/doctorCheck/PatientRegisterList.vue";
import PhoneFollowUp from "../../components/follow/PhoneFollowUp.vue";
import PreviewCusGrant2 from "@/components/common/PreviewCusGrant.vue";
export default {
components: {
PatientRegisterBase2,
@ -584,7 +595,7 @@ export default {
AsbitemCriticalValue,
OccDisease,
PatientRegisterList1,
PhoneFollowUp
PhoneFollowUp,PreviewCusGrant2
},
data() {
return {
@ -697,6 +708,12 @@ export default {
displayTab: false//
}
},
//
preCusGrantParams: {
patientRegisterId: '',
brushTimes: 0
}
};
},
@ -1562,6 +1579,12 @@ export default {
this.refParamsQuery.brushTimes++
},
//
previewCusGrant() {
this.dialogWin.previewCusGrant2 = true
this.preCusGrantParams.patientRegisterId = this.patient_register.id
this.preCusGrantParams.brushTimes++
},
//
onContextMenuDIY(data) {

9
src/views/fee-settings/Asbitem.vue

@ -287,6 +287,10 @@
<el-tab-pane label="互斥组合项目" name="3">
<HcAsbitem :asbitemId="curRow.id" :HcAsbitemBrush="HcAsbitemBrush" />
</el-tab-pane>
<!-- 前置组合项目 -->
<el-tab-pane label="前置组合项目" name="4">
<PreAsbitem :asbitemId="curRow.id" :PreAsbitemBrush="PreAsbitemBrush" />
</el-tab-pane>
</el-tabs>
</div>
</div>
@ -787,10 +791,11 @@ import {
} from "@/request/commonapi";
import HcAsbitem from "../../components/common/HcAsbitem.vue";
import PreAsbitem from "../../components/common/PreAsbitem.vue";
import AcceptTemplate2 from "@/components/common/AcceptTemplate.vue";
export default {
components: {
HcAsbitem, AcceptTemplate2
HcAsbitem, PreAsbitem, AcceptTemplate2
},
data() {
return {
@ -1125,6 +1130,7 @@ export default {
},
],
HcAsbitemBrush: 0, //
PreAsbitemBrush: 0, //
clickTime1: 0,
clickTime2: 0,
@ -2100,6 +2106,7 @@ export default {
this.getobtainguidance(this.curRow.id);
this.publicapi();
this.HcAsbitemBrush++;
this.PreAsbitemBrush++;
},
rowick(row) {
this.clickTime1 = new Date().getTime();

33
src/views/report/report.vue

@ -60,7 +60,8 @@
<!-- String(scope.row[dragCol[index]?.prop]||'') 屏蔽没有字段-->
<!-- 身份证档案号条码号电话/手机工卡号 加连接串防科学计数-->
<div v-else>
{{ (tecCols.includes(dragCol[index]?.prop) ? '\u200C' : '') + String(scope.row[dragCol[index]?.prop] ||'') }}
{{ (tecCols.includes(dragCol[index]?.prop) ? '\u200C' : '') +
String(scope.row[dragCol[index]?.prop] ||'') }}
</div>
</template>
@ -132,6 +133,9 @@
</el-dropdown-menu>
</el-dropdown>
</div>
<div class="listBtn">
<el-button type="primary" class="commonbutton" @click="previewCusGrant">知情同意书</el-button>
</div>
<div class="listBtn" v-if="false">
<el-button type="primary" class="commonbutton" @click="btnTest">test</el-button>
</div>
@ -191,6 +195,12 @@
</el-tabs>
</div>
</el-dialog>
<!-- 知情同意书 -->
<el-dialog title="知情同意书" :visible.sync="dialogWin.previewCusGrant3" :append-to-body="true"
:close-on-click-modal="false" width="900px">
<PreviewCusGrant3 :refParams="preCusGrantParams" />
</el-dialog>
</div>
</div>
</template>
@ -219,6 +229,7 @@ import SumItems from "../../components/sumDoctorCheck/SumItems.vue";
import SumHistory from "../../components/sumDoctorCheck/SumHistory.vue";
import OccDisease from "../../components/occDisease/OccDisease.vue";
import ImageTextReport from "../../components/occDisease/ImageTextReport.vue";
import PreviewCusGrant3 from "@/components/common/PreviewCusGrant.vue";
import { exportJsonToExcel } from "../../utlis/Export2Excel";
import PatientRegisterAsbItem from "../../components/patientRegister/patientRegisterAsbItem.vue";
import { UTable, UTableColumn } from "umy-ui";
@ -228,7 +239,7 @@ export default {
RegisterCheckStatus,
PatientRegisterAsbItem, UTable, UTableColumn,
SumAsbItemStatus,
ElProgressOCX, CheckDetails, SumItemsType, SumItems, OccDisease, ImageTextReport
ElProgressOCX, CheckDetails, SumItemsType, SumItems, OccDisease, ImageTextReport,PreviewCusGrant3
},
data() {
return {
@ -349,7 +360,7 @@ export default {
// { label: "", prop: "chargeAmount", minWidth: 80, align: "center" },
// { label: "", prop: "chargePayMode", minWidth: 80, align: "center" },
],
tecCols:["idNo","patientRegisterNo","patientNo","mobileTelephone","telephone","medicalCardNo","jobCardNo"], //
tecCols: ["idNo", "patientRegisterNo", "patientNo", "mobileTelephone", "telephone", "medicalCardNo", "jobCardNo"], //
//
medical_report_print_after_summary_check_is_audit: 'N', // Y-N-
@ -369,6 +380,12 @@ export default {
brushSummary: 0,
brushTimes: 0,
patientRegisterId: ''
},
//
preCusGrantParams: {
patientRegisterId: '',
brushTimes: 0
}
};
},
@ -404,7 +421,7 @@ export default {
})
},
computed: {
...mapState(["window", "dict", "elProgress"]),
...mapState(["window", "dict", "elProgress","dialogWin"]),
},
methods: {
dddw, setPrStatusColor,
@ -1032,6 +1049,14 @@ export default {
},
//
previewCusGrant() {
if (!this.selectedRow.id) return;
this.dialogWin.previewCusGrant3 = true
this.preCusGrantParams.patientRegisterId = this.selectedRow.id
this.preCusGrantParams.brushTimes++
},
exportZip() {
if (!this.$peisAPI) {
this.$message.info({

Loading…
Cancel
Save