Browse Source

LISLAB

master
pengjun 11 months ago
parent
commit
3bac85f3fc
  1. 32
      src/components/common/LocalConfig.vue
  2. 57
      src/components/doctorCheck/RegisterCheckList.vue
  3. 32
      src/views/lis/LisTakeSample.vue

32
src/components/common/LocalConfig.vue

@ -143,14 +143,32 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="6">
<el-form-item label="发送worklist">
<el-checkbox v-model="LocalConfig.doctorCheck.isPacsWorklist" size="small" true-label="Y"
false-label="N" />
</el-form-item>
</el-col>
<el-col :span="6" v-if="LocalConfig.doctorCheck.isPacsWorklist == 'Y'">
<el-form-item label="scheduledAet">
<el-input v-model="LocalConfig.doctorCheck.scheduledAet" size="small" />
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="采血室"> <el-tab-pane label="采血室">
<el-form label-width="100px" size="medium"> <el-form label-width="100px" size="medium">
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="默认标本">
<el-checkbox v-model="LocalConfig.lisLab.specimens" size="small" />
<el-form-item label="默认标本类型">
<el-select v-model="LocalConfig.lisLab.specimens" placeholder="请选择" clearable filterable
size="small" multiple collapse-tags>
<el-option v-for="item in dict.specimens" :key="item.id" :label="item.displayName"
:value="item.id" />
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -198,13 +216,17 @@ export default {
isSelectAll: 'N', // isSelectAll: 'N', //
isAutoNext: 'N', isAutoNext: 'N',
pacsType: 'image', pacsType: 'image',
isQueue: 'N', // isQueue: 'N', //
queueRoom: '', // queueRoom: '', //
queueItemTypeIds: [], // queueItemTypeIds: [], //
isBroadcast: 'N', // 广 isBroadcast: 'N', // 广
isPacsWorklist: 'N', // DCM-worklist
scheduledAet: '', //scheduledAet
}, },
lisLab:{
specimens:[], // ID
lisLab: {
specimens: [], // ID
} }
}, },
LocalConfigInit: {}, LocalConfigInit: {},
@ -264,7 +286,7 @@ export default {
}); });
// //
getapi("/api/app/menuinfo/getmymenuinfolist").then((res) => {
getapi("/api/app/sample-type/in-filter").then((res) => {
if (res.code != -1) { if (res.code != -1) {
this.dict.specimens = res.data; this.dict.specimens = res.data;
} }

57
src/components/doctorCheck/RegisterCheckList.vue

@ -29,25 +29,37 @@
<el-collapse-item v-if="registerCheckList2.length > 0" title="特检" name="2"> <el-collapse-item v-if="registerCheckList2.length > 0" title="特检" name="2">
<el-table :data="registerCheckList2" style="width: 100%;" border highlight-current-row @row-click="rowClick" <el-table :data="registerCheckList2" style="width: 100%;" border highlight-current-row @row-click="rowClick"
:show-header="false" :row-style="{ height: '28px' }"> :show-header="false" :row-style="{ height: '28px' }">
<el-table-column prop="asbitemName" label="组合项目" width="184">
<el-table-column prop="asbitemName" label="组合项目" :width="LocalConfig.doctorCheck.isPacsWorklist == 'Y' ? 153:184">
<template slot-scope="scope"> <template slot-scope="scope">
<div :style="`padding: 0 5px;color: ${setCheckStatusColor(scope.row.completeFlag)};`"> <div :style="`padding: 0 5px;color: ${setCheckStatusColor(scope.row.completeFlag)};`">
{{ scope.row.asbitemName }} {{ scope.row.asbitemName }}
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="LocalConfig.doctorCheck.isPacsWorklist == 'Y'" width="30" align="center">
<template slot-scope="scope">
<i class="el-icon-s-order" @click="pacsRequest(scope.row.checkRequestNo)"
style="font-size: 24px;color: blue;cursor:pointer;"></i>
</template>
</el-table-column>
</el-table> </el-table>
</el-collapse-item> </el-collapse-item>
<el-collapse-item v-if="registerCheckList3.length > 0" title="放射" name="3"> <el-collapse-item v-if="registerCheckList3.length > 0" title="放射" name="3">
<el-table :data="registerCheckList3" style="width: 100%;" border highlight-current-row @row-click="rowClick" <el-table :data="registerCheckList3" style="width: 100%;" border highlight-current-row @row-click="rowClick"
:show-header="false" :row-style="{ height: '28px' }"> :show-header="false" :row-style="{ height: '28px' }">
<el-table-column prop="asbitemName" label="组合项目" width="184">
<el-table-column prop="asbitemName" label="组合项目" :width="LocalConfig.doctorCheck.isPacsWorklist == 'Y' ? 153:184">
<template slot-scope="scope"> <template slot-scope="scope">
<div :style="`padding: 0 5px;color: ${setCheckStatusColor(scope.row.completeFlag)};`"> <div :style="`padding: 0 5px;color: ${setCheckStatusColor(scope.row.completeFlag)};`">
{{ scope.row.asbitemName }} {{ scope.row.asbitemName }}
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="LocalConfig.doctorCheck.isPacsWorklist == 'Y'" width="30" align="center">
<template slot-scope="scope">
<i class="el-icon-s-order" @click="pacsRequest(scope.row.checkRequestNo)"
style="font-size: 24px;color: blue;cursor:pointer;"></i>
</template>
</el-table-column>
</el-table> </el-table>
</el-collapse-item> </el-collapse-item>
</el-collapse> </el-collapse>
@ -64,14 +76,32 @@ export default {
data() { data() {
return { return {
activeNames: ['0', '1', '2', '3'], activeNames: ['0', '1', '2', '3'],
LocalConfig: {
doctorCheck: { //
isPacsWorklist: 'N', // DCM-worklist
scheduledAet: '', //scheduledAet
}
},
}; };
}, },
created() { },
created() {
let LocalConfigStr = window.localStorage.getItem("LocalConfig") || null
if(LocalConfigStr){
try {
let LocalConfig = JSON.parse(LocalConfigStr)
if(LocalConfig?.doctorCheck?.isPacsWorklist) this.LocalConfig.doctorCheck.isPacsWorklist = LocalConfig.doctorCheck.isPacsWorklist
if(LocalConfig?.doctorCheck?.scheduledAet) this.LocalConfig.doctorCheck.scheduledAet = LocalConfig.doctorCheck.scheduledAet
} catch (error) {
console.log('error',error)
}
}
},
// //
mounted() { mounted() {
this.registerCheckList(this.dataTransOpts.tableS.patient_register.id) this.registerCheckList(this.dataTransOpts.tableS.patient_register.id)
}, },
computed: { computed: {
@ -147,16 +177,16 @@ export default {
if (res.data.length > 0) { if (res.data.length > 0) {
this.doctorCheck.RegisterCheckId = res.data[0].id this.doctorCheck.RegisterCheckId = res.data[0].id
this.dataTransOpts.tableS.register_check.id = res.data[0].id this.dataTransOpts.tableS.register_check.id = res.data[0].id
this.doctorCheck.asbitemName = res.data[0].asbitemName this.doctorCheck.asbitemName = res.data[0].asbitemName
this.doctorCheck.checkRequestNo = res.data[0].checkRequestNo this.doctorCheck.checkRequestNo = res.data[0].checkRequestNo
// this.doctorCheck.RegisterCheckEdit = res.data[0] // this.doctorCheck.RegisterCheckEdit = res.data[0]
// this.$refs['doctorCheck_RegisterCheckList'].setCurrentRow(res.data[0]) // this.$refs['doctorCheck_RegisterCheckList'].setCurrentRow(res.data[0])
} else { } else {
this.dataTransOpts.tableS.register_check.id = ''
this.dataTransOpts.tableS.register_check.id = ''
this.doctorCheck.asbitemName = "" this.doctorCheck.asbitemName = ""
this.doctorCheck.checkRequestNo = "" this.doctorCheck.checkRequestNo = ""
} }
@ -174,7 +204,20 @@ export default {
handleRegisterCheckList(registerCheckList) { handleRegisterCheckList(registerCheckList) {
this.doctorCheck.RegisterCheckList = listOrderBy(registerCheckList, [{ colName: 'checkTypeFlag', sortType: 'A' }, { colName: 'itemTypeDisplayOrder', sortType: 'A' }, { colName: 'asbitemDisplayOrder', sortType: 'A' }]) this.doctorCheck.RegisterCheckList = listOrderBy(registerCheckList, [{ colName: 'checkTypeFlag', sortType: 'A' }, { colName: 'itemTypeDisplayOrder', sortType: 'A' }, { colName: 'asbitemDisplayOrder', sortType: 'A' }])
}
},
// pacsDCM-Worklist
pacsRequest(checkRequestNo){
let body = {
scheduledAet: this.LocalConfig.doctorCheck.scheduledAet,
checkRequestNo
}
postapi('/api/app/Worklist/CreateRegisterCheckWorklist',body).then(res => {
if(res.code > -1){
this.$message.success({showClose:true,message:"往 DCM-Worklist 发送申请成功!"})
}
})
},
}, },

32
src/views/lis/LisTakeSample.vue

@ -14,10 +14,10 @@
</div> </div>
<div :style="`height: ${window.pageHeight - 130}px;`"></div> <div :style="`height: ${window.pageHeight - 130}px;`"></div>
<!-- 人员列表 -->
<!-- 人员列表 -->
<div v-if="false" style="padding: 10px 0 0 0;border-radius: 8px;background-color: #fff;"> <div v-if="false" style="padding: 10px 0 0 0;border-radius: 8px;background-color: #fff;">
<el-table :data="patientList" border highlight-current-row ref="patientList" <el-table :data="patientList" border highlight-current-row ref="patientList"
:height="Math.floor(tableListHeight / 2)" @row-click="rowClick" size="small">
:height="Math.floor(tableListHeight / 2)" @row-click="rowClick" size="small">
<el-table-column type="index" label="序号" width="40" align="center" /> <el-table-column type="index" label="序号" width="40" align="center" />
<el-table-column prop="chargeSumMoney" label="金额" width="80" align="center" /> <el-table-column prop="chargeSumMoney" label="金额" width="80" align="center" />
<el-table-column prop="patientName" label="姓名" /> <el-table-column prop="patientName" label="姓名" />
@ -85,7 +85,7 @@ import { tcdate, dddw, arrayExistObj, deepCopy } from "../../utlis/proFunc";
export default { export default {
components: { components: {
}, },
data() { data() {
return { return {
@ -103,11 +103,16 @@ export default {
patientList: [],// patientList: [],//
curPatient: {}, // curPatient: {}, //
details: [], // details: [], //
LocalConfig: {
lisLab: { //
specimens: [], //
}
},
}; };
}, },
created() {
this.formInit = Object.assign({}, this.form)
created() {
this.dictInit(); this.dictInit();
}, },
@ -169,13 +174,23 @@ export default {
this.details = row.appointRegisterAsbitemDetail this.details = row.appointRegisterAsbitemDetail
}, },
// //
dictInit() { dictInit() {
this.formInit = Object.assign({}, this.form)
this.query.startDate = new Date() this.query.startDate = new Date()
this.query.endDate = this.query.startDate this.query.endDate = this.query.startDate
let LocalConfigStr = window.localStorage.getItem("LocalConfig") || null
if (LocalConfigStr) {
try {
let LocalConfig = JSON.parse(LocalConfigStr)
if (LocalConfig?.lisLab?.specimens) this.LocalConfig.lisLab.specimens = LocalConfig.lisLab.specimens
} catch (error) {
console.log('error', error)
}
}
}, },
@ -236,7 +251,8 @@ export default {
takeSample(lisRequestNos) { takeSample(lisRequestNos) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let body = { let body = {
lisRequestNos,SampleTypeIds:[]
lisRequestNos,
sampleTypeIds: this.LocalConfig.lisLab.specimens
} }
postapi('/api/app/LisRequest/SetLisRequestSamplerStatus', body) postapi('/api/app/LisRequest/SetLisRequestSamplerStatus', body)
.then(res => { .then(res => {

Loading…
Cancel
Save