Browse Source

pacs

master
pengjun 11 months ago
parent
commit
9cb7c64115
  1. 2
      src/components/doctorCheck/PacsDcmList.vue
  2. 708
      src/components/doctorCheck/PacsImgPreview.vue
  3. 537
      src/components/patientRegister/PatientRegisterList.vue
  4. 4
      src/views/doctorCheck/doctorCheck.vue

2
src/components/doctorCheck/PacsDcmList.vue

@ -8,7 +8,7 @@
:style="`overflow-y: auto;width: ${window.pageWidth - 330}px;height: ${window.pageHeight - 105}px;`">
<div v-for="item in checkPictures" :key="item.id" style="margin-bottom: 5px;">
<el-image :src="imageFilePlus(item.pictureFilename)" :preview-src-list="previewSrcList(checkPictures, item)"
:style="`overflow-y: auto;width: ${window.pageWidth - 330}px;height: auto;`"></el-image>
:style="`overflow-y: auto;max-width: ${window.pageWidth - 330}px;height: auto;`"></el-image>
<div style="display: flex;justify-content: space-between;margin-top: -26px;">
<div></div>
<div style="display: flex;width: 60px;">

708
src/components/doctorCheck/PacsImgPreview.vue

@ -0,0 +1,708 @@
<template>
<div style="display: flex;">
<div :style="`overflow-y: scroll;width:140px;height:${window.pageHeight - 195}px`">
<div v-for="(item, index) in checkPictures" :key="item.id"
style="display: inline-block; padding: 0 0 0 2px">
<div style="
position: relative;
font-size: 24px;
margin: -6px 0 0 55px;
height: 30px;
z-index: 2;
">
<el-tooltip content="删除该图" placement="bottom" effect="light">
<i class="el-icon-close" @click="btnDelImage(index)" v-show="!doctorBtnDisabled('btnDelImage')"
style="color: red; cursor: pointer"></i>
</el-tooltip>
</div>
<div style="margin-top: -25px">
<el-image style="width: 120px; height: 120px; border-radius: 5px" :src="imageFilePlus(item.pictureFilename)"
@click="imgClick(item)">
</el-image>
</div>
<div style="display: flex;margin-bottom: 10px;">
<div style="margin: -6px 2px 0 1px">
<el-tooltip content="是否打印" placement="bottom" effect="light">
<el-checkbox v-model="item.isPrintTrans" @change="btnSavePic"
:disabled="doctorBtnDisabled('btnSavePic')"></el-checkbox>
</el-tooltip>
</div>
<div style="font-size: 12px; margin: -2px 0 0 1px">打印</div>
<div style="font-size: 15px; margin: -5px 2px 0 2px">
<el-tooltip content="保存后,图片将按序号从小到大排序" placement="bottom" effect="light">
<input placeholder="排序" v-model="item.displayOrder" @onkeyup="validateInteger(e, index)"
style="width: 30px" :disabled="doctorBtnDisabled('btnSavePic')" />
</el-tooltip>
</div>
<div style="margin: -6px 0 0 2px">
<el-tooltip content="是否报告图片" placement="bottom" effect="light">
<el-checkbox v-model="item.pictureFileType" @change="btnSavePic" true-label="1" false-label="0"
:disabled="doctorBtnDisabled('btnSavePic')"></el-checkbox>
</el-tooltip>
</div>
<div style="font-size: 12px; margin: -2px 0 0 1px">报告</div>
</div>
</div>
</div>
<div :style="`width: ${window.pageWidth - 470}px;`">
<el-image :src="imageFile" :preview-src-list="previewSrcLists"
:style="`overflow-y: auto;max-width: ${window.pageWidth - 470}px;height: auto;`"></el-image>
</div>
</div>
</template>
<script>
import moment from "moment";
import { mapState } from "vuex";
import { Loading } from "element-ui";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { getPagePriv, checkPagePriv, deepCopy, arrayExistObj } from "../../utlis/proFunc";
import { hadoopGet, hadoopPost, hadoopPut, hadoopDel } from "../../api/hadoopApi"
import CheckPictureUpload from "./CheckPictureUpload.vue";
import PacsTemplate from "./PacsTemplate.vue";
import PacsCutPic from "./PacsCutPic.vue";
export default {
components: {
CheckPictureUpload, PacsTemplate, PacsCutPic
},
props: ["doctorBtnDisabled", "save"],
data() {
return {
sysConfig: {}, //
pagePriv: {
routeUrlorPageName: 'doctorCheck', //
privs: [] //
},
checkRequestNo: '',
dialogDcm: false,
iframeSrc: '',
pacsParams: {
from: 'dcm',
refresh: -1,
row: {},
index: 0,
result: '',
summary: ''
},
tabPosition: 'top',
tabChoosed: "0",
checkPictures: [
// {
// id: "1",
// registerCheckId: "registerCheckId",
// isPrint: "Y",
// isPrintTrans: true,
// pictureFilename:
// "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg",
// },
// {
// id: "2",
// registerCheckId: "registerCheckId",
// isPrint: "Y",
// isPrintTrans: true,
// pictureFilename:
// "https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg",
// },
],
//
dialogCheckPictureUpload: false,
uploadSeq: 0, //
//
dialogWinCutPic: false,
cutPicParam: {},
pictureFileType: '1',
imageFile:"",
previewSrcLists:[],
};
},
created() {
//
let userPriv = window.sessionStorage.getItem('userPriv')
if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
this.sysConfig = JSON.parse(window.sessionStorage.getItem('sysConfig'))
// console.log('this.sysConfig checkPictures', this.sysConfig)
},
//
mounted() {
this.getCheckPictures(this.dataTransOpts.tableS.register_check.id);
},
computed: {
...mapState([
"window",
"dict",
"dialogWin",
"dataTransOpts",
"doctorCheck",
"patientRegister",
"customerOrg"
]),
lmoment(date, forMat) {
return moment(new Date(date)).format(forMat);
},
},
methods: {
checkPagePriv,
// checkId
getCheckPictures(registerCheckId) {
this.checkPictures = [];
if (!registerCheckId) {
return;
}
// {
// "registerCheckId": "3a0f6a3c-88a5-d5f7-d59b-ef3b3807490b",
// "pictureFilename": "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg",
// "isPrint": "N",
// "displayOrder": 1,
// "creatorName": "admin",
// "lastModifierName": "admin",
// "lastModificationTime": "2023-12-15T15:24:08",
// "lastModifierId": "3a0c4180-107c-0c89-b25b-0bd34666dcec",
// "creationTime": "2023-12-15T15:24:06",
// "creatorId": "3a0c4180-107c-0c89-b25b-0bd34666dcec",
// "id": "3a0f6a3c-88a5-d5f7-d59b-ef3b38074901"
// }
hadoopGet('pacsApi', `/api/app/registercheckpicture/getregistercheckpictureinregistercheckid?RegisterCheckId=${registerCheckId}`)
// getapi(`/api/app/registercheckpicture/getregistercheckpictureinregistercheckid?RegisterCheckId=${registerCheckId}`)
.then((res) => {
if (res.code > -1) {
this.checkPictures = res.data
this.checkPictures.forEach(e => {
e.isPrintTrans = e.isPrint == "Y" ? true : false
});
}
});
},
imgClick(item){
this.imageFile = this.imageFilePlus(item.pictureFilename)
this.previewSrcLists = this.previewSrcList(this.checkPictures, item)
},
//
previewSrcList(oriList, curImag) {
let srcList = []
let image = curImag.pictureFilename.indexOf('http') > -1
? curImag.pictureFilename
: (this.sysConfig.pacsApi || this.sysConfig.apiurl) + curImag.pictureFilename;
srcList.push(image)
let lfind = arrayExistObj(oriList, 'id', curImag.id)
if (lfind > -1) {
for (let i = lfind + 1; i < oriList.length; i++) {
let e = oriList[i];
image = this.imageFilePlus(e.pictureFilename)
srcList.push(image)
}
for (let index = 0; index < lfind; index++) {
let e = oriList[index];
image = this.imageFilePlus(e.pictureFilename)
srcList.push(image)
}
}
return srcList
},
//
delSum(index) {
this.$confirm("此操作将删除该记录, 是否继续?", "提示", {
confirmButtonText: "是",
cancelButtonText: "否",
type: "warning",
}).then(() => {
this.doctorCheck.checkSummaryList.splice(index, 1);
}).catch(err => {
if (err == "cancel") {
// this.$message.info("");
console.log('已取消删除')
}
});
},
//
imageFilePlus(fileName) {
if (fileName.indexOf('base64') > -1 || fileName.indexOf('http') > -1) {
return fileName
} else {
return (this.sysConfig.pacsApi || this.sysConfig.apiurl) + fileName
}
},
//
btnGetPic() {
if (!this.doctorCheck.RegisterCheckId) {
this.$message.warning({ showClose: true, message: "未选中组合项目!" });
return;
}
if (!this.$peisAPI) {
this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!" })
return
}
let toOutShell = {
barCode: this.doctorCheck.checkRequestNo,
patientName: this.dataTransOpts.tableS.patient_register.patientName,
sexName: this.dataTransOpts.tableS.patient_register.sexName,
age: (this.dataTransOpts.tableS.patient_register.age || '') + '',
asbitemName: this.doctorCheck.asbitemName
}
// console.log('this.$peisAPI.imageAcquisition', JSON.stringify(toOutShell))
let loading = Loading.service({
lock: true,
text: "正在加载中,请稍后",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0)",
customClass: "boxStyle"
});
this.$peisAPI.imageAcquisition(JSON.stringify(toOutShell))
.then(async (res) => {
let lres = JSON.parse(res)
console.log('this.$peisAPI.imageAcquisition', lres)
if (lres.code > -1) {
for (let i = 0; i < lres.data.length; i++) {
let item = lres.data[i];
// FilePath:
// Image
// ImageFormat
let baseHead = 'data:image/jpeg;base64,'
switch (item.ImageFormat) {
case 'png':
case 'bmp':
baseHead = `data:image/${item.ImageFormat};base64,`
break;
default:
break;
}
this.checkPictures.push({ pictureFilename: baseHead + item.Image })
let fileName = item.FilePath
let dotIndex = fileName.lastIndexOf('\\');
if (dotIndex > -1) fileName = fileName.substring(dotIndex, fileName.length);
let body = {
registerCheckId: this.dataTransOpts.tableS.register_check.id,
pictureBaseStrs: [{
fileName,
localPathName: item.FilePath,
pictureBaseStr: baseHead + item.Image
}],
pictureFileType: '0' //01 this.pictureFileType
}
try {
//await postapi('/api/app/RegisterCheckPicture/InstrumentMapping', body)
await hadoopPost('pacsApi', '/api/app/RegisterCheckPicture/InstrumentMapping', body)
} catch (error) {
console.log('btnGetPic err', error)
}
}
this.getCheckPictures(this.dataTransOpts.tableS.register_check.id)
} else {
console.log('this.$peisAPI.imageAcquisition', lres.message)
}
}).catch(err => {
this.$message.error(err)
}).finally(() => {
loading.close()
});
},
// tab
dispLabel(itemName) {
return itemName.length > 5 ? (itemName.substring(0, 4) + "…") : itemName
},
//
btnClear(seq) {
if (this.doctorBtnDisabled('save')) {
this.$message.warning({ showClose: true, message: "已保存,不可操作!" })
return
}
this.doctorCheck.checkItemList[seq].result = ''
},
//
btnDefResult(seq) {
if (this.doctorBtnDisabled('save')) {
this.$message.warning({ showClose: true, message: "已保存,不可操作!" })
return
}
this.doctorCheck.checkItemList[seq].result = this.doctorCheck.checkItemList[seq].defaultResult
},
// Dcm
btnBrowseDcm() {
this.checkRequestNo = this.doctorCheck.checkRequestNo
this.pacsParams.result = this.doctorCheck.checkItemList[0].result
let summary = ''
this.doctorCheck.checkSummaryList.forEach(e => {
summary += e.summary
});
this.pacsParams.summary = summary
this.pacsParams.row = deepCopy(this.doctorCheck.checkItemList[0])
this.pacsParams.index = 0
this.pacsParams.refresh++
// console.log('pacsParams', this.pacsParams)
let token = window.sessionStorage.getItem('token')
this.iframeSrc = `${this.sysConfig.dcmViewers}/?mrn=${this.doctorCheck.checkRequestNo}&token=${token}&pacsapi=${this.sysConfig.pacsApiHttps}`
// this.iframeSrc = `${this.sysConfig.dcmViewers}/viewer?StudyInstanceUIDs=1.3.12.2.1107.5.1.4.79623.30000024091203062645300000022`
this.tabPosition = this.doctorCheck.checkItemList.length > 2 ? 'left' : 'top'
this.tabChoosed = "0"
this.dialogDcm = true
},
//
btnChooseBigtext() {
// console.log('this.pacsParams', this.pacsParams)
this.pacsParams.index = parseInt(this.tabChoosed)
this.pacsParams.refresh++
this.dialogWin.PacsTemplate = true
},
//
btnOkBigtext() {
console.log('this.pacsParams', this.pacsParams)
// this.doctorCheck.checkItemList[0].result = this.pacsParams.result
/*
this.doctorCheck.checkSummaryList = [{
id: Math.random(),
registerCheckId: this.doctorCheck.RegisterCheckEdit.id,
summary: this.pacsParams.summary,
summaryFlag: 'N',
}]
*/
if (this.doctorCheck.checkSummaryList.length == 0) {
this.$message.warning({ showClose: true, message: "请填写检查结论" })
return
}
this.save()
this.dialogDcm = false
},
// pacs
handlePacsResult(row, index, pacsResult) {
Object.assign(this.pacsParams, pacsResult)
},
// Dcm
btnBrowseDcmBak() {
if (!this.doctorCheck.RegisterCheckId) {
this.$message.warning({ showClose: true, message: "未选中组合项目!" });
return;
}
// <a>
let a = document.createElement('a');
// href URL
a.href = `${this.sysConfig.dcmViewers}/?mrn=24071610696`;
// target
a.target = '_blank';
//
a.rel = 'noopener noreferrer';
// <a> DOM
// <a>
// document.body.appendChild(a);
// <a>
a.click();
// DOM <a>
// <a> DOM
// document.body.removeChild(a);
},
btnBrowseDcmBak2() {
let userName = "peis", key = "peis@123"
// let encodedAuthstring = btoa(this.stringToAscIIBytes(`${userName}:${key}`));
let encodedAuthstring = this.toBase64FromUtf8(`${userName}:${key}`);
console.log('encodedAuthstring', encodedAuthstring)
const url = 'http://192.168.4.161:8042/ohif/viewer?url=../studies/dcdc7b20-fe11f38d-f5357ad7-139cd2cd-c0bd3701/ohif-dicom-json';
const Authorization = 'Basic ' + encodedAuthstring;
fetch(url, {
headers: {
'Authorization': Authorization
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
},
toBase64FromUtf8(str) {
// 使 TextEncoder UTF-8
const encoder = new TextEncoder();
const bytes = encoder.encode(str);
//
let binaryString = '';
for (let byte of bytes) {
binaryString += String.fromCharCode(byte);
}
// 使 btoa Base64
return btoa(binaryString);
},
//
btnExpPic() {
if (!this.doctorCheck.RegisterCheckId) {
this.$message.warning({ showClose: true, message: "未选中组合项目!" });
return;
}
this.uploadSeq++;
this.dialogCheckPictureUpload = true;
},
btnClean() {
if (!this.doctorCheck.RegisterCheckId) {
this.$message.warning({ showClose: true, message: "未选中组合项目!" });
return;
}
postapi("/api/app/PacsBusiness/DeletePacsCheckDicomDataByRegisterCheckId", {
registerCheckId: this.doctorCheck.RegisterCheckId
})
.then((res) => {
if (res.code > -1) {
}
});
},
// //
btnCutPicBak() {
//
this.dialogWinCutPic = true
this.$refs.imgCutterModal.handleOpen({
name: "1.png",
src: "http://192.168.2.74:9529/PacsCheckPictureImg/pacs/2024/8/29//3a141f59-cf4c-5e34-966d-aec0a0eea94c//2408010001_0005.jpg.jpg",
});
},
btnCutPic() {
if (this.checkPictures.length == 0) {
this.$message.warning({ showClose: true, message: "暂无可裁图片!" });
return;
}
if (!this.$peisAPI) {
this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!" })
return
}
let token = window.sessionStorage.getItem("token");
let toOutShell = {
asbitemName: this.doctorCheck.asbitemName,
images: this.checkPictures,
token,
};
this.$peisAPI.imageCut(JSON.stringify(toOutShell))
.then(res => {
let lres = JSON.parse(res)
if (lres.code > -1) {
this.getCheckPictures(this.dataTransOpts.tableS.register_check.id);
} else {
console.log('裁图失败', lres.message)
}
})
.catch(err => {
console.log('裁图失败', err)
})
},
//
closePicUpload() {
this.dialogCheckPictureUpload = false;
},
btnSavePic() {
if (!this.doctorCheck.RegisterCheckId) {
this.$message.warning({ showClose: true, message: "未选中组合项目!" });
return;
}
let body = [];
// [
// {
// "registerCheckPictureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", //
// "registerCheckId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
// "pictureFilename": "string",
// "isPrint": "string",
// "displayOrder": 0
// }
// ]
if (this.checkPictures.length == 0) {
this.$message.warning({ showClose: true, message: "没有可保存的图片数据!" });
return;
}
let checkPictures = deepCopy(this.checkPictures);
checkPictures.sort((a, b) => {
let seq1 = 0;
let seq2 = 0;
try {
seq1 = parseInt(a.displayOrder);
} catch (error) {
seq1 = 0;
}
try {
seq2 = parseInt(b.displayOrder);
} catch (error) {
seq2 = 0;
}
return seq1 - seq2;
});
checkPictures.forEach((e) => {
let item = {
registerCheckId: e.registerCheckId,
pictureFilename: e.pictureFilename,
pictureFileType: e.pictureFileType
};
if (e.id) item.registerCheckPictureId = e.id;
if (e.isPrintTrans) {
item.isPrint = "Y";
} else {
item.isPrint = "N";
}
body.push(item);
});
postapi("/api/app/registercheckpicture/UpdateRegisterCheckPictureStatusMany", body)
.then((res) => {
if (res.code > -1) {
this.getCheckPictures(checkPictures[0].registerCheckId);
}
});
},
//
btnDelImage(index) {
let body = [this.checkPictures[index].id];
this.$confirm("此操作将永久删除该记录, 是否继续?", "提示", {
confirmButtonText: "是",
cancelButtonText: "否",
type: "warning",
})
.then(() => {
return postapi(`/api/app/registercheckpicture/deleteregistercheckpicturemany`, body);
})
.then((res) => {
if (res && res.code > -1) {
this.checkPictures.splice(index, 1);
}
})
.catch((err) => {
if (err == "cancel") {
this.$message.info({ showClose: true, message: "已取消" });
}
});
},
validateInteger(e, index) {
var regex = /^[0-9]*$/;
console.log(e, index);
if (!regex.test(e.value)) {
//
e.value = "";
}
},
//
onQueryByPacsNo(checkRequestNo) {
this.checkRequestNo = checkRequestNo
this.$refs['checkRequestNo'].select()
postapi('/api/app/PacsBusiness/GetPatientRegisterWithCheckResultByCheckRequestNo', { checkRequestNo })
.then(res => {
if (res.code > -1) {
//
this.dataTransOpts.tableS.patient_register = res.data.patientRegisterDetail
//
this.doctorCheck.RegisterCheckList = [res.data.registerCheckDetail]
//
this.doctorCheck.checkItemList = res.data.registerCheckItemDetails
//
this.doctorCheck.checkSummaryList = res.data.registerCheckSummaryDetails
this.doctorCheck.checkSuggestionList = res.data.registerCheckSuggestionDetails
//
this.doctorCheck.preResult = res.data.lastTimeAsbitemResultDetail
//
this.doctorCheck.RegisterCheckEdit = res.data.registerCheckDetail
//
this.checkPictures = res.data.registerCheckPictureDetails
this.checkPictures.forEach(e => {
e.isPrintTrans = e.isPrint == "Y" ? true : false
});
this.iframeSrc = ''
this.btnBrowseDcm()
}
})
},
onFocus(event) {
this.$refs['checkRequestNo'].select()
}
},
//
watch: {
//
"dataTransOpts.refresh.register_check_item.M": {
// immediate: true,
handler(newVal, oldVal) {
console.log(`watch 检查图片 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.register_check.id}`);
if (newVal != oldVal) this.getCheckPictures(this.dataTransOpts.tableS.register_check.id);
}
},
},
};
</script>
<style scoped>
.query {
margin-left: 10px;
margin-right: 2px;
padding: 1px 1px;
}
.btnClass {
margin: 2px 2px 0;
height: 26px;
min-width: 40px;
padding: 5px 5px;
/*原始 默认值 10px 10px */
}
/* 强制出现滚动条 */
::-webkit-scrollbar {
height: 0.5rem;
}
::-webkit-scrollbar-thumb {
background-color: #ccc;
border-radius: 0.25rem;
}
</style>

537
src/components/patientRegister/PatientRegisterList.vue

@ -2,74 +2,40 @@
<div>
<!--组件主体-->
<div style="display: flex">
<div
:style="'width:' + (window.pageWidth - 200 - 145) + 'px;'"
@contextmenu.prevent="onContextmenu"
>
<div :style="'width:' + (window.pageWidth - 200 - 145) + 'px;'" @contextmenu.prevent="onContextmenu">
<div>
<u-table
:data="tableData"
border
:height="
window.pageHeight < 600
? 248
: Math.floor(((window.pageHeight - 250) * 2) / 3)
"
highlight-current-row
@row-click="rowClick"
size="small"
row-key="id"
@selection-change="handleSelectionChange"
@row-contextmenu="onCellRightClick"
ref="info"
id="info"
:row-class-name="handleRowClassName"
use-virtual
:row-height="30"
@table-body-scroll="scrollFull"
big-data-checkbox
:data-changes-scroll-top="false"
>
<u-table-column
type="selection"
width="40"
align="center"
></u-table-column>
<u-table-column
v-for="(item, index) in dragCol"
:key="index"
:type="dragCol[index].type"
:min-width="dragCol[index].minWidth"
:align="dragCol[index].align"
:label="item.label"
:prop="dragCol[index].prop"
:sortable="
dragCol[index].type || dragCol[index].prop == 'sn'
? false
: true
"
>
<u-table :data="tableData" border :height="window.pageHeight < 600
? 248
: Math.floor(((window.pageHeight - 250) * 2) / 3)
" highlight-current-row @row-click="rowClick" size="small" row-key="id"
@selection-change="handleSelectionChange" @row-contextmenu="onCellRightClick" ref="info" id="info"
:row-class-name="handleRowClassName" use-virtual :row-height="30" @table-body-scroll="scrollFull"
big-data-checkbox :data-changes-scroll-top="false">
<u-table-column type="selection" width="40" align="center"></u-table-column>
<u-table-column v-for="(item, index) in dragCol" :key="index" :type="dragCol[index].type"
:min-width="dragCol[index].minWidth" :align="dragCol[index].align" :label="item.label"
:prop="dragCol[index].prop" :sortable="dragCol[index].type || dragCol[index].prop == 'sn'
? false
: true
">
<template slot-scope="scope" v-if="!dragCol[index].type">
<div v-if="!dragCol[index].type">
<div v-if="dragCol[index].prop == 'sn'">
{{ scope.$index + 1 }}
</div>
<div
v-else-if="dragCol[index].prop == 'completeFlag'"
:style="`color: ${setPrStatusColor(
scope.row.isAudit,
scope.row.completeFlag
)}`"
>
<div v-else-if="dragCol[index].prop == 'completeFlag'" :style="`color: ${setPrStatusColor(
scope.row.isAudit,
scope.row.completeFlag
)}`">
{{
scope.row.isAudit == "Y"
? "已审核"
: dddw(
dict.completeFlag,
"id",
scope.row.completeFlag,
"displayName"
)
dict.completeFlag,
"id",
scope.row.completeFlag,
"displayName"
)
}}
</div>
<div v-else-if="dragCol[index].prop == 'qztlType'">
@ -83,37 +49,26 @@
}}
</div>
<div v-else-if="dragCol[index].prop == 'guidePrintTimes'">
<i
class="el-icon-printer"
v-if="scope.row.guidePrintTimes > 0"
style="font-size: 20px; color: green"
/>
<i class="el-icon-printer" v-if="scope.row.guidePrintTimes > 0"
style="font-size: 20px; color: green" />
</div>
<div v-else-if="dragCol[index].prop == 'isLock'">
<i
class="el-icon-lock"
v-if="scope.row.isLock == 'Y'"
style="font-size: 20px; color: red"
/>
<i class="el-icon-lock" v-if="scope.row.isLock == 'Y'" style="font-size: 20px; color: red" />
</div>
<div
v-else-if="
dragCol[index].prop == 'isVip' ||
dragCol[index].prop == 'isUpload' ||
dragCol[index].prop == 'qztlIsMain' ||
dragCol[index].prop == 'qztlIsCy' ||
dragCol[index].prop == 'qztlIsCw' ||
dragCol[index].prop == 'qztlIsGt' ||
dragCol[index].prop == 'qztlIsWh' ||
dragCol[index].prop == 'qztlIsFj'
"
>
<div v-else-if="
dragCol[index].prop == 'isVip' ||
dragCol[index].prop == 'isUpload' ||
dragCol[index].prop == 'qztlIsMain' ||
dragCol[index].prop == 'qztlIsCy' ||
dragCol[index].prop == 'qztlIsCw' ||
dragCol[index].prop == 'qztlIsGt' ||
dragCol[index].prop == 'qztlIsWh' ||
dragCol[index].prop == 'qztlIsFj'
">
{{ scope.row[dragCol[index].prop] == "Y" ? "是" : "否" }}
</div>
<div
v-else-if="dragCol[index].prop == 'customerOrgParentName'"
>
<div v-else-if="dragCol[index].prop == 'customerOrgParentName'">
{{
scope.row.customerOrgParentName
? scope.row.customerOrgParentName
@ -131,12 +86,10 @@
}}
</div>
<div v-else-if="dragCol[index].prop == 'groupPack'">
<div
v-if="
scope.row.medicalPackageId !== dict.personOrgId &&
scope.row.customerOrgId === dict.personOrgId
"
>
<div v-if="
scope.row.medicalPackageId !== dict.personOrgId &&
scope.row.customerOrgId === dict.personOrgId
">
{{
dddw(
dict.medicalPackage,
@ -146,12 +99,10 @@
)
}}
</div>
<div
v-if="
scope.row.medicalPackageId !== dict.personOrgId &&
scope.row.customerOrgId !== dict.personOrgId
"
>
<div v-if="
scope.row.medicalPackageId !== dict.personOrgId &&
scope.row.customerOrgId !== dict.personOrgId
">
{{
dddw(
dict.customerOrgGroupAll,
@ -176,8 +127,8 @@
{{
scope.row[dragCol[index].prop]
? moment(scope.row[dragCol[index].prop]).format(
"yyyy-MM-DD"
)
"yyyy-MM-DD"
)
: ""
}}
</div>
@ -217,7 +168,7 @@
<div v-else-if="dragCol[index].prop == 'customerOrgName'">
{{
scope.row[dragCol[index].prop] ==
scope.row["customerOrgParentName"]
scope.row["customerOrgParentName"]
? ""
: scope.row[dragCol[index].prop]
}}
@ -259,12 +210,10 @@
<div style="display: flex; justify-content: space-between">
<div></div>
<div>
<span style="font-size: 12px"
>{{ loadOpts.totalCount }} 条记录当前显示{{
tableData.length
}}
</span
>
<span style="font-size: 12px">{{ loadOpts.totalCount }} 条记录当前显示{{
tableData.length
}}
</span>
</div>
</div>
</div>
@ -277,53 +226,23 @@
</el-tabs>
</div>
<div style="margin-left: 10px">
<div
v-show="checkPagePriv(pagePriv.privs, '导入青藏数据')"
class="listBtn"
>
<el-button
type="success"
class="commonbutton"
@click="btnImportOrgData"
>导入青藏数据</el-button
>
<div v-show="checkPagePriv(pagePriv.privs, '导入青藏数据')" class="listBtn">
<el-button type="success" class="commonbutton" @click="btnImportOrgData">导入青藏数据</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '人员登记')" class="listBtn">
<el-button type="success" class="commonbutton" @click="btnAdd"
>人员登记</el-button
>
<el-button type="success" class="commonbutton" @click="btnAdd">人员登记</el-button>
</div>
<div
v-show="checkPagePriv(pagePriv.privs, '批量正式登记')"
class="listBtn"
>
<el-button
type="success"
class="commonbutton"
@click="btnAddBatch('1')"
>批量正式登记</el-button
>
<div v-show="checkPagePriv(pagePriv.privs, '批量正式登记')" class="listBtn">
<el-button type="success" class="commonbutton" @click="btnAddBatch('1')">批量正式登记</el-button>
</div>
<div
v-show="checkPagePriv(pagePriv.privs, '批量转预登记')"
class="listBtn"
>
<el-button
type="success"
class="commonbutton"
@click="btnAddBatch('0')"
>批量转预登记</el-button
>
<div v-show="checkPagePriv(pagePriv.privs, '批量转预登记')" class="listBtn">
<el-button type="success" class="commonbutton" @click="btnAddBatch('0')">批量转预登记</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '编辑')" class="listBtn">
<el-button type="primary" class="commonbutton" @click="btnEdit"
>编辑</el-button
>
<el-button type="primary" class="commonbutton" @click="btnEdit">编辑</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '删除')" class="listBtn">
<el-button type="danger" class="deleteButton" @click="btnDel"
>删除</el-button
>
<el-button type="danger" class="deleteButton" @click="btnDel">删除</el-button>
</div>
<!--
<div class="listBtn">
@ -339,74 +258,29 @@
<el-button type="" class="btnClass commonbutton">健康档案</el-button>
</div>
-->
<div
v-show="checkPagePriv(pagePriv.privs, '批量调整分组')"
class="listBtn"
>
<el-button type="" class="commonbutton" @click="btnGroupBatch"
>批量调整分组</el-button
>
<div v-show="checkPagePriv(pagePriv.privs, '批量调整分组')" class="listBtn">
<el-button type="" class="commonbutton" @click="btnGroupBatch">批量调整分组</el-button>
</div>
<div
v-show="checkPagePriv(pagePriv.privs, '批量调整项目')"
class="listBtn"
>
<el-button type="" class="commonbutton" @click="btnAsbBatch"
>批量调整项目</el-button
>
<div v-show="checkPagePriv(pagePriv.privs, '批量调整项目')" class="listBtn">
<el-button type="" class="commonbutton" @click="btnAsbBatch">批量调整项目</el-button>
</div>
<div
v-show="checkPagePriv(pagePriv.privs, '指引单打印')"
class="listBtn"
>
<el-button
type=""
class="commonbutton"
@click="guidePrint('0001', false)"
>指引单打印</el-button
>
<div v-show="checkPagePriv(pagePriv.privs, '指引单打印')" class="listBtn">
<el-button type="" class="commonbutton" @click="guidePrint('0001', false)">指引单打印</el-button>
</div>
<div
v-show="checkPagePriv(pagePriv.privs, '指引单预览')"
class="listBtn"
>
<el-button
type=""
class="commonbutton"
@click="guidePrint('0001', true)"
>指引单预览</el-button
>
<div v-show="checkPagePriv(pagePriv.privs, '指引单预览')" class="listBtn">
<el-button type="" class="commonbutton" @click="guidePrint('0001', true)">指引单预览</el-button>
</div>
<div
v-show="checkPagePriv(pagePriv.privs, '人员检验检查条码')"
class="listBtn"
>
<el-button
type=""
class="commonbutton"
@click="printPromise()"
style="font-size: 12px"
>人员检验检查条码</el-button
>
<div v-show="checkPagePriv(pagePriv.privs, '人员检验检查条码')" class="listBtn">
<el-button type="" class="commonbutton" @click="printPromise()" style="font-size: 12px">人员检验检查条码</el-button>
</div>
<div
v-show="checkPagePriv(pagePriv.privs, '人员信息导出')"
class="listBtn"
>
<download-excel
:fields="jsonFields"
:fetch="btnExport"
type="xls"
:name="tableName"
>
<div v-show="checkPagePriv(pagePriv.privs, '人员信息导出')" class="listBtn">
<download-excel :fields="jsonFields" :fetch="btnExport" type="xls" :name="tableName">
<el-button type="" style="width:100%">人员信息导出</el-button>
</download-excel>
<!-- <el-button type="" class="commonbutton" @click="btnExport('info')">人员信息导出</el-button> -->
</div>
<div class="listBtn">
<el-button type="" class="commonbutton" @click="btnDragColDesign"
>设计列排序</el-button
>
<el-button type="" class="commonbutton" @click="btnDragColDesign">设计列排序</el-button>
</div>
<!-- elProgress.display dialogWin.LocalConfig
<div class="listBtn">
@ -417,40 +291,25 @@
<div class="listBtn">
<el-button type="" class="btnClass commonbutton" @click="rowSelected(tableData)">选中</el-button>
</div>
--></div>
-->
</div>
</div>
<!--组件弹窗-->
<div>
<!-- 体检人员登记 :title="patientRegister.patientRegisterRd.id ? '体检人员--编辑' : '体检人员--新增'" -->
<el-dialog
:title="
dataTransOpts.tableS.patient_register.id
? '体检人员--编辑'
: '体检人员--新增'
"
:visible.sync="dialogWin.PatientRegisterEdit"
:close-on-click-modal="false"
fullscreen
@close="close_dialogWin_PatientRegisterEdit"
>
<el-dialog :title="dataTransOpts.tableS.patient_register.id
? '体检人员--编辑'
: '体检人员--新增'
" :visible.sync="dialogWin.PatientRegisterEdit" :close-on-click-modal="false" fullscreen
@close="close_dialogWin_PatientRegisterEdit">
<!-- :formInitData="patientRegister.patientRegisterRd" -->
<PatientRegisterEdit
:isDoctor="'1'"
:patientRegisterId="patientRegister.patientRegisterRd.id"
:editTimes="editTimes"
:refFuncSetData="refFuncSetData"
/>
<PatientRegisterEdit :isDoctor="'1'" :patientRegisterId="patientRegister.patientRegisterRd.id"
:editTimes="editTimes" :refFuncSetData="refFuncSetData" />
</el-dialog>
<!-- 修改信息 -->
<el-dialog
:title="`修改信息--${upBaseInfo.label}`"
:visible.sync="upBaseInfo.visble"
width="400"
:show-close="false"
:append-to-body="true"
:close-on-click-modal="false"
>
<el-dialog :title="`修改信息--${upBaseInfo.label}`" :visible.sync="upBaseInfo.visble" width="400" :show-close="false"
:append-to-body="true" :close-on-click-modal="false">
<div>
<div style="display: flex; margin-bottom: 20px">
<span style="padding: 5px 0 0 10px; width: 100px">{{
@ -461,183 +320,90 @@
<div style="display: flex; justify-content: space-between">
<div></div>
<div>
<el-button class="commonbutton" @click="btnUpBaseInfo"
>提交</el-button
>
<el-button
class="commonbutton"
@click="close_dialogWin_upBaseInfo"
>关闭</el-button
>
<el-button class="commonbutton" @click="btnUpBaseInfo">提交</el-button>
<el-button class="commonbutton" @click="close_dialogWin_upBaseInfo">关闭</el-button>
</div>
</div>
</div>
</el-dialog>
<el-dialog
title="修改信息--体检日期"
:visible.sync="dialogEditMedicalStartDate"
width="400"
:show-close="false"
:append-to-body="true"
:close-on-click-modal="false"
>
<el-dialog title="修改信息--体检日期" :visible.sync="dialogEditMedicalStartDate" width="400" :show-close="false"
:append-to-body="true" :close-on-click-modal="false">
<div>
<div style="display: flex; margin-bottom: 20px">
<span style="padding: 5px 0 0 10px; width: 100px">体检日期</span>
<el-date-picker
v-model="upBaseInfo.medicalStartDate"
type="date"
placeholder="体检日期"
size="small"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions"
/>
<el-date-picker v-model="upBaseInfo.medicalStartDate" type="date" placeholder="体检日期" size="small"
value-format="yyyy-MM-dd" :picker-options="pickerOptions" />
</div>
<div style="display: flex; justify-content: space-between">
<div></div>
<div>
<el-button class="commonbutton" @click="btnEditMedicalStartDate"
>提交</el-button
>
<el-button
class="commonbutton"
@click="dialogEditMedicalStartDate = false"
>关闭</el-button
>
<el-button class="commonbutton" @click="btnEditMedicalStartDate">提交</el-button>
<el-button class="commonbutton" @click="dialogEditMedicalStartDate = false">关闭</el-button>
</div>
</div>
</div>
</el-dialog>
<!-- 分诊排队 -->
<el-dialog
title="分诊排队"
:visible.sync="dialogWin.queue"
width="800px"
:append-to-body="true"
:close-on-click-modal="false"
>
<el-dialog title="分诊排队" :visible.sync="dialogWin.queue" width="800px" :append-to-body="true"
:close-on-click-modal="false">
<Queue :refParams="queueParams" />
</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"
>
<el-dialog title="拍照" :visible.sync="patientRegister.cameraVisble" width="400" height="800" :show-close="false"
:append-to-body="true" :close-on-click-modal="false">
<Camera :id="patientRegister.patientRegisterId" />
</el-dialog>
<!-- 导入企业数据 -->
<el-dialog
title="导入企业数据"
:visible.sync="dialogWin.ImportOrgData"
width="800px"
:append-to-body="true"
:close-on-click-modal="false"
>
<el-dialog title="导入企业数据" :visible.sync="dialogWin.ImportOrgData" width="800px" :append-to-body="true"
:close-on-click-modal="false">
<ImportOrgData />
</el-dialog>
<!-- 列排序 -->
<el-dialog
title="列排序"
:visible.sync="dialogColSort"
width="300px"
:append-to-body="true"
:close-on-click-modal="false"
>
<el-table
id="elTable_dragCol"
:data="dragColDesign"
row-key="prop"
border
height="600"
>
<el-dialog title="列排序" :visible.sync="dialogColSort" width="300px" :append-to-body="true"
:close-on-click-modal="false">
<el-table id="elTable_dragCol" :data="dragColDesign" row-key="prop" border height="600">
<el-table-column type="index" label="序号" width="40" align="center">
</el-table-column>
<el-table-column
label="列名"
prop="label"
min-width="120"
align="center"
></el-table-column>
<el-table-column label="列名" prop="label" min-width="120" align="center"></el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button class="commonbutton" @click="dialogColSort = false"
>取消</el-button
>
<el-button class="commonbutton" @click="btnDragColDesignOk"
>确定</el-button
>
<el-button class="commonbutton" @click="dialogColSort = false">取消</el-button>
<el-button class="commonbutton" @click="btnDragColDesignOk">确定</el-button>
</span>
</el-dialog>
<!-- 批量调整分组 -->
<el-dialog
title="批量调整分组"
:visible.sync="dialogWin.PatientRegisterEditGroupBatch"
width="600px"
height="800px"
:append-to-body="true"
:close-on-click-modal="false"
>
<el-dialog title="批量调整分组" :visible.sync="dialogWin.PatientRegisterEditGroupBatch" width="600px" height="800px"
:append-to-body="true" :close-on-click-modal="false">
<PatientRegisterEditGroupBatch :multipleSelection="multipleSelection" />
</el-dialog>
<!-- 批量调整项目 -->
<el-dialog
title="批量调整项目"
:visible.sync="dialogWin.PatientRegisterEditItemBatch"
width="610px"
height="800px"
:append-to-body="true"
:close-on-click-modal="false"
>
<el-dialog title="批量调整项目" :visible.sync="dialogWin.PatientRegisterEditItemBatch" width="610px" height="800px"
:append-to-body="true" :close-on-click-modal="false">
<PatientRegisterEditItemBatch :multipleSelection="multipleSelection" />
</el-dialog>
<!-- 批量调整检查项目医生 -->
<el-dialog
title="批量调整检查项目医生"
:visible.sync="dialogWin.PatientRegisterEditDoctorBatch"
width="610px"
:append-to-body="true"
:close-on-click-modal="false"
>
<PatientRegisterEditDoctorBatch
:multipleSelection="multipleSelection"
/>
<el-dialog title="批量调整检查项目医生" :visible.sync="dialogWin.PatientRegisterEditDoctorBatch" width="610px"
:append-to-body="true" :close-on-click-modal="false">
<PatientRegisterEditDoctorBatch :multipleSelection="multipleSelection" />
</el-dialog>
<!-- 通用进度条 -->
<el-dialog
title="数据处理中……"
:visible.sync="elProgress.display"
width="600px"
height="400"
:show-close="false"
:close-on-click-modal="false"
:append-to-body="true"
>
<el-dialog title="数据处理中……" :visible.sync="elProgress.display" width="600px" height="400" :show-close="false"
:close-on-click-modal="false" :append-to-body="true">
<ElProgressOCX />
</el-dialog>
<!--通用本地参数设置-->
<el-dialog
title="本地参数设置"
:visible.sync="dialogWin.LocalConfig"
:close-on-click-modal="false"
:append-to-body="true"
width="800px"
height="600px"
>
<el-dialog title="本地参数设置" :visible.sync="dialogWin.LocalConfig" :close-on-click-modal="false"
:append-to-body="true" width="800px" height="600px">
<LocalConfig />
</el-dialog>
</div>
@ -854,7 +620,7 @@ export default {
},
},
LocalConfigInit: {},
tableName:""//
tableName: ""//
};
},
@ -1534,7 +1300,7 @@ export default {
if (
this.loadOpts.skipCount != 0 &&
this.loadOpts.skipCount * this.loadOpts.maxResultCount >=
this.loadOpts.totalCount
this.loadOpts.totalCount
)
return;
// console.log('getPrList', this.loadOpts)
@ -1697,8 +1463,17 @@ export default {
this.tableData = [];
}
}
if (curLoad.length > 0) {
if (this.patientRegister.query.isSeries == "Y") {
//
let lfind = arrayExistObj(this.tableData, 'id', curLoad[0].id)
if (lfind == -1) this.tableData = this.tableData.concat(curLoad)
} else {
this.tableData = this.tableData.concat(curLoad);
}
}
this.tableData = this.tableData.concat(curLoad);
// else {
// // ,
// oldCount = this.tableData.length
@ -1721,7 +1496,7 @@ export default {
if (scroll.judgeFlse) {
if (
(Number(this.loadOpts.skipCount) + 1) *
Number(this.loadOpts.maxResultCount) >=
Number(this.loadOpts.maxResultCount) >=
Number(this.loadOpts.totalCount)
) {
return;
@ -2345,34 +2120,34 @@ export default {
this.dragCol.forEach((e) => {
this.jsonFields[e.label] = e.prop;
});
let tableDatas=deepCopy(this.tableData)
tableDatas.forEach(e=>{
if(e.completeFlag)e.completeFlag=e.isAudit == "Y"? "已审核": dddw(this.dict.completeFlag,"id",e.completeFlag,"displayName")
if(e.guidePrintTimes)e.guidePrintTimes=e.guidePrintTimes > 0?'打印':''
if(e.isLock)e.isLock=e.isLock=='Y'?'锁住':''
if(e.sexId)e.sexId=dddw(this.dict.sex,"id",e.sexId,"displayName")
if(e.medicalPackageId !== this.dict.personOrgId &&e.customerOrgId === this.dict.personOrgId){
e.groupPack=dddw(this.dict.medicalPackage,"id",e.medicalPackageId,"displayName")
}else if(e.medicalPackageId !== this.dict.personOrgId &&e.customerOrgId !== this.dict.personOrgId){
e.groupPack=dddw(this.dict.customerOrgGroupAll,"id",e.customerOrgGroupId,"displayName")
let tableDatas = deepCopy(this.tableData)
tableDatas.forEach(e => {
if (e.completeFlag) e.completeFlag = e.isAudit == "Y" ? "已审核" : dddw(this.dict.completeFlag, "id", e.completeFlag, "displayName")
if (e.guidePrintTimes) e.guidePrintTimes = e.guidePrintTimes > 0 ? '打印' : ''
if (e.isLock) e.isLock = e.isLock == 'Y' ? '锁住' : ''
if (e.sexId) e.sexId = dddw(this.dict.sex, "id", e.sexId, "displayName")
if (e.medicalPackageId !== this.dict.personOrgId && e.customerOrgId === this.dict.personOrgId) {
e.groupPack = dddw(this.dict.medicalPackage, "id", e.medicalPackageId, "displayName")
} else if (e.medicalPackageId !== this.dict.personOrgId && e.customerOrgId !== this.dict.personOrgId) {
e.groupPack = dddw(this.dict.customerOrgGroupAll, "id", e.customerOrgGroupId, "displayName")
}
if(e.nationId)e.nationId=dddw(this.dict.nation,"id",e.nationId,"displayName")
if(e.idNo)e.idNo=e.idNo+'&'
if(e.birthDate)e.birthDate=moment(e.birthDate).format("yyyy-MM-DD")
if(e.maritalStatusId)e.maritalStatusId=dddw(this.dict.maritalStatus,"id",e.maritalStatusId,"displayName")
if(e.medicalTypeId)e.medicalTypeId=dddw(this.dict.medicalType,"id",e.medicalTypeId,"displayName")
if(e.personnelTypeId)e.personnelTypeId=dddw(this.dict.personnelType,"id",e.personnelTypeId,"displayName")
if(e.isVip)e.isVip=e.isVip == "Y" ? "是" : "否"
if(e.isUpload)e.isUpload=e.isUpload == "Y" ? "是" : "否"
if(e.qztlType)e.qztlType=dddw(this.dict.qztlType,"id",e.qztlType,"displayName")
if(e.qztlIsMain)e.qztlIsMain=e.qztlIsMain == "Y" ? "是" : "否"
if(e.qztlIsCy)e.qztlIsCy=e.qztlIsCy == "Y" ? "是" : "否"
if(e.qztlIsCw)e.qztlIsCw=e.qztlIsCw == "Y" ? "是" : "否"
if(e.qztlIsGt)e.qztlIsGt=e.qztlIsGt == "Y" ? "是" : "否"
if(e.qztlIsWh)e.qztlIsWh=e.qztlIsWh == "Y" ? "是" : "否"
if(e.qztlIsFj)e.qztlIsFj=e.qztlIsFj == "Y" ? "是" : "否"
if (e.nationId) e.nationId = dddw(this.dict.nation, "id", e.nationId, "displayName")
if (e.idNo) e.idNo = e.idNo + '&'
if (e.birthDate) e.birthDate = moment(e.birthDate).format("yyyy-MM-DD")
if (e.maritalStatusId) e.maritalStatusId = dddw(this.dict.maritalStatus, "id", e.maritalStatusId, "displayName")
if (e.medicalTypeId) e.medicalTypeId = dddw(this.dict.medicalType, "id", e.medicalTypeId, "displayName")
if (e.personnelTypeId) e.personnelTypeId = dddw(this.dict.personnelType, "id", e.personnelTypeId, "displayName")
if (e.isVip) e.isVip = e.isVip == "Y" ? "是" : "否"
if (e.isUpload) e.isUpload = e.isUpload == "Y" ? "是" : "否"
if (e.qztlType) e.qztlType = dddw(this.dict.qztlType, "id", e.qztlType, "displayName")
if (e.qztlIsMain) e.qztlIsMain = e.qztlIsMain == "Y" ? "是" : "否"
if (e.qztlIsCy) e.qztlIsCy = e.qztlIsCy == "Y" ? "是" : "否"
if (e.qztlIsCw) e.qztlIsCw = e.qztlIsCw == "Y" ? "是" : "否"
if (e.qztlIsGt) e.qztlIsGt = e.qztlIsGt == "Y" ? "是" : "否"
if (e.qztlIsWh) e.qztlIsWh = e.qztlIsWh == "Y" ? "是" : "否"
if (e.qztlIsFj) e.qztlIsFj = e.qztlIsFj == "Y" ? "是" : "否"
})
this.tableName='人员登记列表'+moment(new Date()).format('yyyyMMDDHHmmss')+'.xls'
this.tableName = '人员登记列表' + moment(new Date()).format('yyyyMMDDHHmmss') + '.xls'
return tableDatas;
// const columns = this.$refs.info.getColumns(); //
// const data = this.$refs.info.getData(); //

4
src/views/doctorCheck/doctorCheck.vue

@ -53,7 +53,7 @@
</div>
</el-tab-pane>
<el-tab-pane v-if="isCheckPicture" label="图片预览" name="imgPre">
<PacsImgPreview :doctorBtnDisabled="doctorBtnDisabled" :save="save"/>
</el-tab-pane>
<el-tab-pane v-if="isCheckPicture" label="DCM" name="dcm">
<PacsDcmPreview />
@ -91,6 +91,7 @@ import QueueCheckList from "../../components/doctorCheck/QueueCheckList.vue";
import CheckItemList from "../../components/doctorCheck/CheckItemList.vue";
import CheckSumSug from "../../components/doctorCheck/CheckSumSug.vue";
import RegisterCheckEdit from "../../components/doctorCheck/RegisterCheckEdit.vue";
import PacsImgPreview from "../../components/doctorCheck/PacsImgPreview.vue";
import PacsDcmPreview from "../../components/doctorCheck/PacsDcmPreview.vue";
import FollowCriticalCheck from "../../components/follow/FollowCriticalCheck.vue";
@ -108,6 +109,7 @@ export default {
CheckItemList,
CheckSumSug,
RegisterCheckEdit,
PacsImgPreview,
PacsDcmPreview,
FollowCriticalCheck,
},

Loading…
Cancel
Save