pengjun 12 months ago
parent
commit
40980bf85b
  1. 14
      src/components/common/LocalConfig.vue
  2. 96
      src/components/doctorCheck/CheckItemList.vue
  3. 34
      src/components/doctorCheck/CheckPicture.vue
  4. 4
      src/components/doctorCheck/PacsTemplate.vue
  5. 12
      src/components/doctorCheck/RegisterCheckEdit.vue
  6. 6
      src/views/doctorCheck/doctorCheck.vue

14
src/components/common/LocalConfig.vue

@ -83,12 +83,21 @@
<el-tab-pane label="医生诊台">
<el-form label-width="100px" size="medium">
<el-row>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="是否显示图片">
<el-checkbox v-model="LocalConfig.doctorCheck.isCheckPicture" size="small" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="采集卡图类别">
<el-select v-model="LocalConfig.doctorCheck.pictureFileType" placeholder="采集卡图类别" clearable filterable
size="small" >
<el-option label="0 - 非报告图" value="0" />
<el-option label="1 - 报告图片" value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="pacs分类">
<el-select v-model="LocalConfig.doctorCheck.pacsType" placeholder="pacs分类" clearable filterable
size="small" >
@ -168,6 +177,7 @@ export default {
},
doctorCheck: { //
isCheckPicture: false, //
pictureFileType:'0',
pacsType:'image',
isQueue: 'N', //
queueRoom: '', //

96
src/components/doctorCheck/CheckItemList.vue

@ -275,34 +275,34 @@
/>
</el-dialog>
<el-dialog
:title="curRow.itemName"
:visible.sync="previousResults"
width="500px"
:close-on-click-modal="true"
:show-close="false"
@close="resultsclose"
>
<el-tabs v-model="activeName">
<el-tab-pane label="文字结果" name="first">
<el-table :data="gridData">
<el-table-column
property="checkDate"
label="检查日期"
align="center"
></el-table-column>
<el-table-column
property="itemResult"
label="项目结果"
align="center"
></el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="折线图" name="second">
<div style="height: 400px; width: 500px" ref="chart1"></div>
</el-tab-pane>
</el-tabs>
</el-dialog>
<el-dialog
:title="curRow.itemName"
:visible.sync="previousResults"
width="500px"
:close-on-click-modal="true"
:show-close="false"
@close="resultsclose"
>
<el-tabs v-model="activeName">
<el-tab-pane label="文字结果" name="first">
<el-table :data="gridData">
<el-table-column
property="checkDate"
label="检查日期"
align="center"
></el-table-column>
<el-table-column
property="itemResult"
label="项目结果"
align="center"
></el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="折线图" name="second">
<div style="height: 400px; width: 500px" ref="chart1"></div>
</el-tab-pane>
</el-tabs>
</el-dialog>
</div>
</div>
</template>
@ -321,7 +321,7 @@ export default {
data() {
return {
activeName: "first",
previousResults:false,
previousResults: false,
gridData: [],
resultStatus: [], //
tipsNormal: {
@ -363,7 +363,11 @@ export default {
},
symbols: [], //
splitSymbols: [";", "、"], //
userId: "",
userInfo: {
operatorType: "0",
userId: "",
user: "",
},
// pacs
pacsParams: {
@ -374,7 +378,7 @@ export default {
result: "",
summary: "",
},
curRow:{}
curRow: {},
};
},
@ -385,8 +389,9 @@ export default {
//
mounted() {
this.checkItemList(this.dataTransOpts.tableS.register_check.id);
this.userId = window.sessionStorage.getItem("userId");
this.userInfo.operatorType = window.sessionStorage.getItem("operatorType") || '0';
this.userInfo.userId = window.sessionStorage.getItem("userId")||null;
this.userInfo.user = window.sessionStorage.getItem("user")||null;
},
computed: {
@ -477,21 +482,21 @@ export default {
itemId: row.itemId,
}).then((res) => {
if (res.code != -1) {
this.previousResults=true
this.previousResults = true;
this.gridData = res.data;
this.$nextTick(()=>{
this.$nextTick(() => {
this.initEcharts();
})
});
}
});
},
initEcharts() {
let yAxisData = [];
let xAxisData = [];
for(let i=0;i<this.gridData.length;i++){
if(this.gridData[i].checkDate){
xAxisData.push(this.gridData[i].checkDate)
yAxisData.push(this.gridData[i].itemResult)
for (let i = 0; i < this.gridData.length; i++) {
if (this.gridData[i].checkDate) {
xAxisData.push(this.gridData[i].checkDate);
yAxisData.push(this.gridData[i].itemResult);
}
}
let myChart = echarts.init(this.$refs.chart1);
@ -542,10 +547,10 @@ export default {
},
],
};
myChart.setOption(option1)
myChart.setOption(option1);
},
resultsclose(){
this.activeName="first"
resultsclose() {
this.activeName = "first";
},
// chartTabs(tab) {
// if (tab.name == "second") {
@ -902,7 +907,10 @@ export default {
});
}
if (this.doctorCheck.RegisterCheckEdit.completeFlag == "0") {
this.doctorCheck.RegisterCheckEdit.checkDoctorId = this.userId;
//
if(this.userInfo.operatorType == '1' || this.userInfo.operatorType == '3'){
this.doctorCheck.RegisterCheckEdit.checkDoctorId = this.userInfo.userId;
}
this.doctorCheck.RegisterCheckEdit.checkDate = new Date();
}
return getapi(

34
src/components/doctorCheck/CheckPicture.vue

@ -51,17 +51,27 @@
</el-image>
</div>
<div style="display: flex">
<div style="margin: -6px 0 0 1px">
<el-checkbox v-model="item.isPrintTrans" @change="btnSavePic"
:disabled="doctorBtnDisabled('btnSavePic')"></el-checkbox>
<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 0 0 2px">
-->
<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>
</div>
</div>
@ -229,6 +239,7 @@ export default {
//
dialogWinCutPic: false,
cutPicParam: {},
pictureFileType:'0'
};
},
@ -238,6 +249,8 @@ export default {
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)
let LocalConfig = JSON.parse(window.localStorage.getItem("LocalConfig") || null)
if (LocalConfig && LocalConfig.doctorCheck && LocalConfig.doctorCheck.pictureFileType) this.pictureFileType = LocalConfig.doctorCheck.pictureFileType
},
//
@ -355,15 +368,14 @@ export default {
this.$peisAPI.imageAcquisition(JSON.stringify(toOutShell))
.then(async (res) => {
let lres = JSON.parse(res)
console.log('this.$peisAPI.imageAcquisition', lres)
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
// ImageFormat
let baseHead = 'data:image/jpeg;base64,'
switch (item.ImageFormat) {
case 'png':
@ -383,8 +395,9 @@ export default {
pictureBaseStrs: [{
fileName,
localPathName: item.FilePath,
pictureBaseStr: baseHead + item.Image
}]
pictureBaseStr: baseHead + item.Image
}],
pictureFileType:this.pictureFileType
}
try {
//await postapi('/api/app/RegisterCheckPicture/InstrumentMapping', body)
@ -658,13 +671,14 @@ export default {
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);
});

4
src/components/doctorCheck/PacsTemplate.vue

@ -211,7 +211,7 @@ export default {
//
mounted() {
//
this.getPacsTemplateTree();
this.init();
},
@ -225,6 +225,8 @@ export default {
this.tabPosition =
this.doctorCheck.checkItemList.length > 5 ? "left" : "top";
console.log("init");
this.getPacsTemplateTree();
},
// tab

12
src/components/doctorCheck/RegisterCheckEdit.vue

@ -14,12 +14,12 @@
</div>
<div>
<span class="query">操作者</span>
<el-input v-model="doctorCheck.RegisterCheckEdit.LastModifierId" size="small" style="width: 80px" disabled />
<el-input v-model="doctorCheck.RegisterCheckEdit.lastModifierName" size="small" style="width: 80px" disabled />
</div>
<div>
<span class="query">操作日期</span>
<el-input
:value="doctorCheck.RegisterCheckEdit.LastModificationTime ? lmoment(doctorCheck.RegisterCheckEdit.LastModificationTime, 'yyyy-MM-DD') : ''"
:value="doctorCheck.RegisterCheckEdit.lastModificationTime ? lmoment(doctorCheck.RegisterCheckEdit.lastModificationTime, 'yyyy-MM-DD') : ''"
style="width: 90px" size="small" disabled></el-input>
</div>
<div>
@ -55,9 +55,7 @@ export default {
computed: {
...mapState(["window", "dataTransOpts", "dict", "doctorCheck", "patientRegister", "customerOrg"]),
lmoment(date, forMat) {
return moment(new Date(date)).format(forMat);
},
},
methods: {
//
@ -71,6 +69,10 @@ export default {
})
},
lmoment(date, forMat) {
return moment(new Date(date)).format(forMat);
},
//
// getRegisterCheck(id){
// if(id){

6
src/views/doctorCheck/doctorCheck.vue

@ -598,8 +598,12 @@ export default {
// ]
// }
let checkDate = this.doctorCheck.RegisterCheckEdit.checkDate || new Date();
checkDate = moment(new Date(checkDate)).format('yyyy-MM-DD HH:mm:ss'); //yyyy-MM-DD HH:mm:ss
checkDate = moment(new Date(checkDate)).format('yyyy-MM-DD HH:mm:ss'); //yyyy-MM-DD HH:mm:ss
let checkDoctorId = this.doctorCheck.RegisterCheckEdit.checkDoctorId || null;
if(!checkDoctorId){
this.$message.warning({ showClose: true, message: '检查医生不能为空,请选择检查医生!' })
return
}
let registerCheckId = this.doctorCheck.RegisterCheckEdit.id
//
let registerCheckItems = []

Loading…
Cancel
Save