Browse Source

doctor

master
pengjun 2 years ago
parent
commit
04ed7ceb05
  1. 69
      src/components/doctorCheck/ButtonList.vue
  2. 4
      src/components/doctorCheck/CheckItemList.vue
  3. 2
      src/components/doctorCheck/CheckPicture.vue
  4. 14
      src/components/doctorCheck/CheckSumSug.vue
  5. 2
      src/components/doctorCheck/RegisterCheckList.vue
  6. 2
      src/components/patientRegister/PatientRegisterItem.vue
  7. 566
      src/components/patientRegister/PatientRegisterList.vue
  8. 32
      src/components/patientRegister/customerOrgTreeAll.vue
  9. 102
      src/components/patientRegister/patientRegisterAsbItem.vue
  10. 2
      src/components/patientRegister/patientRegisterQuery.vue
  11. 29
      src/views/customerOrg/patientRegister.vue
  12. 44
      src/views/doctorCheck/doctorCheck.vue

69
src/components/doctorCheck/ButtonList.vue

@ -1,54 +1,54 @@
<template>
<div style="margin-left: 10px;">
<div v-show="checkPagePriv(pagePriv.privs,'人员列表')">
<el-button type="primary" class="btnClass" @click="prList">人员列表</el-button>
<div style="margin-left: 5px;">
<div v-show="checkPagePriv(pagePriv.privs,'人员列表')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="prList">人员列表</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'体检日期')">
<el-button type="primary" class="btnClass" @click="dialogVisibleSetStartDate = true">体检日期</el-button>
<div v-show="checkPagePriv(pagePriv.privs,'体检日期')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="dialogVisibleSetStartDate = true">体检日期</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'增加人员')">
<el-button type="primary" class="btnClass" @click="btnAddPr">增加人员</el-button>
<div v-show="checkPagePriv(pagePriv.privs,'增加人员')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="btnAddPr">增加人员</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'编辑人员')">
<el-button type="primary" class="btnClass" @click="btnEditPr">编辑人员</el-button>
<div v-show="checkPagePriv(pagePriv.privs,'编辑人员')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="btnEditPr">编辑人员</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'删除人员')">
<el-button type="primary" class="btnClass" @click="btnDelPr">删除人员</el-button>
<div v-show="checkPagePriv(pagePriv.privs,'删除人员')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="btnDelPr">删除人员</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'上一人')">
<el-button type="primary" class="btnClass" @click="btnStep(-1)">上一人</el-button>
<div v-show="checkPagePriv(pagePriv.privs,'上一人')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="btnStep(-1)">上一人</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'下一人')">
<el-button type="primary" class="btnClass" @click="btnStep(1)">下一人</el-button>
<div v-show="checkPagePriv(pagePriv.privs,'下一人')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="btnStep(1)">下一人</el-button>
</div>
<!--
<div>
<el-button type="primary" class="btnClass" @click="save">保存结果</el-button>
</div>
-->
<div v-show="checkPagePriv(pagePriv.privs,'修改结果')">
<el-button type="primary" class="btnClass" @click="btnEdit">修改结果</el-button>
<div v-show="checkPagePriv(pagePriv.privs,'修改结果')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="btnEdit">修改结果</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'删除结果')">
<el-button type="primary" class="btnClass" @click="btnDel">删除结果</el-button>
<div v-show="checkPagePriv(pagePriv.privs,'删除结果')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="btnDel">删除结果</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'放弃明细项目检查')">
<el-button type="primary" class="btnClass" @click="refuseItem" style="font-size:11px;">放弃明细项目检查</el-button>
<div v-show="checkPagePriv(pagePriv.privs,'放弃明细项目检查')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="refuseItem" style="font-size:11px;">放弃明细项目检查</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'删除明细项目')">
<el-button type="primary" class="btnClass" @click="delItem">删除明细项目</el-button>
<div v-show="checkPagePriv(pagePriv.privs,'删除明细项目')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="delItem">删除明细项目</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'取消审核')">
<el-button type="primary" class="btnClass" @click="unAudit">取消审核</el-button>
<div v-show="checkPagePriv(pagePriv.privs,'取消审核')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="unAudit">取消审核</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'历次结果')">
<el-button type="primary" class="btnClass" @click="btnCheckHistory">历次结果</el-button>
<div v-show="checkPagePriv(pagePriv.privs,'历次结果')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="btnCheckHistory">历次结果</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'体检报告')">
<el-button type="primary" class="btnClass" @click="report">体检报告</el-button>
<div v-show="checkPagePriv(pagePriv.privs,'体检报告')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="report">体检报告</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'总检')">
<el-button type="primary" class="btnClass" @click="toSumDoctorCheck">总检</el-button>
<div v-show="checkPagePriv(pagePriv.privs,'总检')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="toSumDoctorCheck">总检</el-button>
</div>
<!--
@ -616,10 +616,7 @@ export default {
<style scoped>
@import '../../assets/css/global_button.css';
.btnClass {
margin-top: 1px;
width: 100px;
height: 26px;
padding: 5px 5px; /*原始 默认值 10px 10px */
.divBtnClass {
margin-top: 5px;
}
</style>

4
src/components/doctorCheck/CheckItemList.vue

@ -5,8 +5,8 @@
style="width: 100%"
:height="
window.pageHeight < 600
? Math.floor(((420 - 40 - (isCheckPicture ? 110:0)) * 3) / 5)
: Math.floor(((window.pageHeight - 260 - 40 - (isCheckPicture ? 110:0)) * 3) / 5)
? Math.floor(((420 - (isCheckPicture ? 110:0)) * 3) / 5)
: Math.floor(((window.pageHeight - 260 - (isCheckPicture ? 110:0)) * 3) / 5)
"
border highlight-current-row
@row-click="rowClick" size="small"

2
src/components/doctorCheck/CheckPicture.vue

@ -30,7 +30,7 @@
</div>
</div>
<!-- -->
<div :style="`overflow-x: scroll;width:${Math.floor((window.pageWidth - 200 - 110 - 45 - 4))}px;`">
<div :style="`overflow-x: scroll;width:${Math.floor((window.pageWidth - 200 - 110 - 15 - 4))}px;`">
<div style="display: flex;">
<div
class="demo-image__preview"

14
src/components/doctorCheck/CheckSumSug.vue

@ -3,7 +3,7 @@
<div :style="`width:${sumWidth}px;`">
<el-table id="tableSummary" row-key="id" :data="doctorCheck.checkSummaryList" size="samll"
:height="sumHeight"
width="100%" border @row-click="rowClick">
width="100%" border>
<el-table-column type="index" width="25" align="center"/>
<el-table-column prop="summary" label="小结">
<template slot="header">
@ -44,7 +44,7 @@
<div :style="`margin-left:2px;width:${sumWidth}px;`">
<el-table id="tableSuggestion" row-key="id" :data="doctorCheck.checkSuggestionList" size="samll"
:height="sumHeight"
width="100%" border @row-click="rowClick">
width="100%" border>
<el-table-column type="index" width="25" align="center"/>
<el-table-column prop="suggestion" label="建议" >
<template slot-scope="scope">
@ -62,7 +62,7 @@
</div>
</div>
</template>
<script lang="ts">
<script>
import { mapState } from 'vuex';
import Sortable from "sortablejs";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
@ -96,12 +96,12 @@ export default {
//
sumWidth(){
return Math.floor((this.window.pageWidth - 200 - 110 - 45 - 4)/2);
return Math.floor((this.window.pageWidth - 200 - 110 - 15 - 4)/2);
},
//
sumHeight(){
return this.window.pageHeight < 600 ? Math.floor((395 - (this.isCheckPicture ? 110:0))*2/5):Math.floor((this.window.pageHeight - 205 - (this.isCheckPicture ? 110:0))*2/5);
return this.window.pageHeight < 600 ? Math.floor((480 - (this.isCheckPicture ? 110:0))*2/5):Math.floor((this.window.pageHeight - 120 - (this.isCheckPicture ? 110:0))*2/5);
}
},
@ -145,10 +145,6 @@ export default {
});
},
//
rowClick(row) {
},
//
rowDrop() {

2
src/components/doctorCheck/RegisterCheckList.vue

@ -2,7 +2,7 @@
<div>
<!-- :row-class-name="tableRowClassName" -->
<el-table :data="doctorCheck.RegisterCheckList" style="width: 100%"
:height="window.pageHeight < 600 ? 340:window.pageHeight-260"
:height="window.pageHeight < 600 ? 400:window.pageHeight-200"
border highlight-current-row ref='doctorCheck_RegisterCheckList'
@row-click="rowClick">
<el-table-column prop="asbitemName" label="组合项目" width="198">

2
src/components/patientRegister/PatientRegisterItem.vue

@ -79,7 +79,7 @@
filterable :filter-method="filterMethod" :disabled="isComplete"
clearable @clear="quickAsb = deepCopy(asbItemQuick)"
@change="quickChoosedAsb" default-first-option ref="quickAsbOCX"
style="width:150px;text-align: left;padding-right: 15px;">
style="width:240px;text-align: left;padding-right: 15px;">
<el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" />
</el-select>
</div>

566
src/components/patientRegister/PatientRegisterList.vue
File diff suppressed because it is too large
View File

32
src/components/patientRegister/customerOrgTreeAll.vue

@ -1,12 +1,12 @@
<template>
<template>
<div>
<div style="margin:2px 2px 2px 2px;">
<el-input placeholder="输入关键字进行过滤" v-model="filterText" size="small" />
<el-input placeholder="输入关键字进行过滤" v-model="filterText" size="small" />
</div>
<div :style="'overflow: scroll;height:' +(window.pageHeight < 600 ? 430 : window.pageHeight - 170) + 'px;'">
<el-tree :data="patientRegister.customerOrgTreeAll" :props="customerOrg.treeprops"
node-key="id" :filter-node-method="filterNode"
@node-click="treeclick" highlight-current ref="customerOrgTree">
<div>
<el-tree :style="'overflow: scroll;height:' + (window.pageHeight < 600 ? 465 : window.pageHeight - 135) + 'px;'"
:data="patientRegister.customerOrgTreeAll" :props="customerOrg.treeprops" node-key="id"
:filter-node-method="filterNode" @node-click="treeclick" highlight-current ref="customerOrgTree">
<span class="custom-tree-node" slot-scope="{ node, data }">
<div>
<span class="treeicons">
@ -14,11 +14,10 @@
class="el-icon-document-remove"
v-if="data.parentId == null"
></i> -->
<img style="width:20px;height:20px;vertical-align: sub;" src="@/assets/images/order.png" v-if="data.parentId == null"/>
<img style="width:20px;height:20px;vertical-align: sub;" src="@/assets/images/order.png"
v-if="data.parentId == null" />
</span>
<span
:class="data.parentId == null ? 'maxtitle' : 'mintitle'"
>{{ node.label }}
<span :class="data.parentId == null ? 'maxtitle' : 'mintitle'">{{ node.label }}
</span>
</div>
</span>
@ -34,15 +33,15 @@ export default {
components: {},
data() {
return {
filterText:'',
filterText: '',
};
},
//<el-tree :data="$store.state.customerOrg.customerOrgTree" :props="$store.state.customerOrg.treeprops" @node-click="treeclick"></el-tree>
computed: {
...mapState(["window","dict", "customerOrg", "patientRegister"]),
...mapState(["window", "dict", "customerOrg", "patientRegister"]),
},
//
created() {},
created() { },
//
mounted() {
@ -53,9 +52,9 @@ export default {
methods: {
//
getCustomerOrgTree() {
getapi("/api/app/customerorg/getbycodeall").then((res) => {
getapi("/api/app/customerorg/getbycodeall").then((res) => {
// console.log("res.data", res.data);
if(res.code != -1) this.patientRegister.customerOrgTreeAll = res.data;
if (res.code != -1) this.patientRegister.customerOrgTreeAll = res.data;
//tcdate(this.patientRegister.customerOrgTreeAll)
});
},
@ -92,7 +91,7 @@ export default {
},
},
watch: {
"filterText"(newVal,oldVal){
"filterText"(newVal, oldVal) {
this.$refs['customerOrgTree'].filter(newVal);
}
},
@ -100,6 +99,7 @@ export default {
</script>
<style scoped>
@import "../../assets/css/global_tree.css";
.treeicons {
font-size: 20px;
margin-right: 5px;

102
src/components/patientRegister/patientRegisterAsbItem.vue

@ -1,57 +1,55 @@
<template>
<div>
<div style="display: flex">
<el-table :data="dataTransOpts.tableM.register_asbitem" border
:height="window.pageHeight < 600 ? 113 : Math.floor((window.pageHeight - 261) / 3)" size="small"
highlight-current-row :summary-method="getSummaries" show-summary
ref="patientRegister.patientRegisterAbs">
<el-table-column label="序号" width="50" align="center">
<template slot-scope="scope">
<div><i v-if="scope.row.groupPackageId" class="el-icon-star-on" style="font-size: 16px;color: purple;"></i>{{ scope.$index + 1 }}</div>
</template>
</el-table-column>
<el-table-column prop="asbitemName" label="已选组合项目" width="120" />
<el-table-column prop="standardPrice" label="标准价" align="center" />
<el-table-column prop="discount" label="折扣" align="center" />
<el-table-column prop="amount" label="数量" width="50" align="center" />
<el-table-column prop="chargePrice" label="价格" align="center" />
<el-table-column prop="payTypeFlag" label="支付方式" align="center" >
<template slot-scope="scope">
<div>{{ dddw(dict.payType, "id", scope.row.payTypeFlag, "displayName") }}</div>
</template>
</el-table-column>
<el-table-column prop="isCharge" label="收费" min-width="50" align="center">
<template slot-scope="scope">
<el-checkbox :value="scope.row.isCharge == 'Y'" align="center" />
</template>
</el-table-column>
<el-table-column prop="checkCompleteFlag" label="状态" min-width="50" align="center" >
<template slot-scope="scope">
<div>
{{
dddw(
dict.checkCompleteFlag,
"id",
scope.row.checkCompleteFlag,
"displayName"
)
}}
</div>
</template>
</el-table-column>
<el-table-column prop="isLock" label="锁" min-width="50" align="center" >
<template slot-scope="scope">
<el-checkbox :value="scope.row.isLock == 'Y'" align="center" />
</template>
</el-table-column>
<el-table-column prop="creatorName" label="登记人" min-width="70" align="center" />
<el-table-column prop="creationTime" label="登记日期" min-width="90" align="center" >
<template slot-scope="scope">
<div>{{ moment(scope.row.creationTime).format("yyyy-MM-DD") }}</div>
</template>
</el-table-column>
</el-table>
</div>
<el-table :data="dataTransOpts.tableM.register_asbitem" border
:height="window.pageHeight < 600 ? 124 : Math.floor((window.pageHeight - 228) / 3)" size="small"
highlight-current-row :summary-method="getSummaries" show-summary
ref="patientRegister.patientRegisterAbs">
<el-table-column label="序号" width="50" align="center">
<template slot-scope="scope">
<div><i v-if="scope.row.groupPackageId" class="el-icon-star-on" style="font-size: 16px;color: purple;"></i>{{ scope.$index + 1 }}</div>
</template>
</el-table-column>
<el-table-column prop="asbitemName" label="已选组合项目" width="120" />
<el-table-column prop="standardPrice" label="标准价" align="center" />
<el-table-column prop="discount" label="折扣" align="center" />
<el-table-column prop="amount" label="数量" width="50" align="center" />
<el-table-column prop="chargePrice" label="价格" align="center" />
<el-table-column prop="payTypeFlag" label="支付方式" align="center" >
<template slot-scope="scope">
<div>{{ dddw(dict.payType, "id", scope.row.payTypeFlag, "displayName") }}</div>
</template>
</el-table-column>
<el-table-column prop="isCharge" label="收费" min-width="50" align="center">
<template slot-scope="scope">
<el-checkbox :value="scope.row.isCharge == 'Y'" align="center" />
</template>
</el-table-column>
<el-table-column prop="checkCompleteFlag" label="状态" min-width="50" align="center" >
<template slot-scope="scope">
<div>
{{
dddw(
dict.checkCompleteFlag,
"id",
scope.row.checkCompleteFlag,
"displayName"
)
}}
</div>
</template>
</el-table-column>
<el-table-column prop="isLock" label="锁" min-width="50" align="center" >
<template slot-scope="scope">
<el-checkbox :value="scope.row.isLock == 'Y'" align="center" />
</template>
</el-table-column>
<el-table-column prop="creatorName" label="登记人" min-width="70" align="center" />
<el-table-column prop="creationTime" label="登记日期" min-width="90" align="center" >
<template slot-scope="scope">
<div>{{ moment(scope.row.creationTime).format("yyyy-MM-DD") }}</div>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>

2
src/components/patientRegister/patientRegisterQuery.vue

@ -2,7 +2,7 @@
<div style="display: flex;">
<div :style="'margin-left: 5px;display: flex; flex-wrap: wrap; height:100px;width:' + (window.pageWidth - (orgEnable=='Y' ? 0:200) - 110 - 30) + 'px;'">
<div :style="'margin-left: 5px;display: flex; flex-wrap: wrap; height:100px;width:' + (window.pageWidth - (orgEnable=='Y' ? 0:200) - 110 - 10) + 'px;'">
<div class="query">
<span class="spanClass">登记日期</span>
<el-date-picker v-model="patientRegister.query.startDate" type="date" placeholder="起始日期" size="small" style="width:90px;"/>

29
src/views/customerOrg/patientRegister.vue

@ -1,30 +1,15 @@
<template>
<div>
<el-card>
<div slot="header">
体检人员登记
</div>
<div>
<div class="contenttitle">
体检登记 /<span class="contenttitleBold">体检人员登记</span>
</div>
<div style="display: flex;">
<!-- 单位树组件 -->
<div
:style="
'border: 0px solid #888;width:200px; height:' +
(window.pageHeight < 600 ? 470 : window.pageHeight - 130) +
'px;'
"
>
<div>
<CustomerOrgTreeAll />
</div>
<div
:style="
'display:block;width:' +
(window.pageWidth - 200 - 30) +
'px;height:' +
(window.pageHeight < 600 ? 470 : window.pageHeight - 130) +
'px;' +
(window.pageHeight < 600 ? 'overflow-y: scroll;' : '')
"
>
<div style="margin-left: 5px;">
<!-- 查询条件 -->
<PatientRegisterQuery />
@ -32,7 +17,7 @@
<PatientRegisterList />
</div>
</div>
</el-card>
</div>
</div>
</template>
<script>

44
src/views/doctorCheck/doctorCheck.vue

@ -1,23 +1,23 @@
<template>
<div>
<el-card style="display: block; ">
<div slot="header" style="height:24px;">
<div style="display: flex;justify-content:space-between;">
<div>体检医生诊台 </div>
<div>
<el-image
style="margin-top:-5px; margin-right:115px; width: 112px; height: 120px;"
:src="peoplePhoto"
>
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
</div>
<div>
<div style="display: flex;justify-content:space-between;">
<div class="contenttitle">
体检登记 /<span class="contenttitleBold">体检人员登记</span>
</div>
<div style="position: absolute;top:50px;right:10px;z-index: 2000;">
<el-image
style="margin-right:115px; width: 112px; height: 120px;"
:src="peoplePhoto"
>
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
</div>
<div style="display: flex;">
<div :style="'width:' + (window.pageWidth - 110 - 45) + 'px;'">
<div :style="`width:${window.pageWidth - 120}px;`">
<div style="display: flex;justify-content:space-between;z-index:-1;" >
<div>
<PatientRegisterBase />
@ -40,21 +40,21 @@
<RegisterCheckList />
</el-tab-pane>
<el-tab-pane label="叫号" name="call">
<div :style="`height:${window.pageHeight < 600 ? 340:window.pageHeight-260}px;`">叫号</div>
<div :style="`height:${window.pageHeight < 600 ? 400:window.pageHeight-200}px;`">叫号</div>
</el-tab-pane>
</el-tabs>
<div>
<div :style="'margin-left: 2px;width:' + (window.pageWidth - 200 - 110 - 45 - 2) + 'px;'" >
<div :style="'width:' + (window.pageWidth - 200 - 110 - 15) + 'px;'" >
<div :style="'margin-left: 2px;width:' + (window.pageWidth - 200 - 110 - 15 - 2) + 'px;'" >
<CheckItemList :isCheckPicture="isCheckPicture" :registerCheckId="dataTransOpts.tableS.register_check.id"/>
</div>
<div v-if="isCheckPicture" class="demo-image__preview" :style="'margin-top: 2px;margin-left: 2px;height:110px;width:' + (window.pageWidth - 200 - 110 - 45 - 2) + 'px;'">
<CheckPicture />
</div>
<div :style="'margin-top: 2px;margin-left: 2px;width:' + (window.pageWidth - 200 - 110 - 45 - 2) + 'px;'">
<div :style="'margin-top: 2px;margin-left: 2px;width:' + (window.pageWidth - 200 - 110 - 15 - 2) + 'px;'">
<CheckSumSug :registerCheckId="dataTransOpts.tableS.register_check.id" :isCheckPicture="isCheckPicture" :optGrant="optGrant" :addSummary="addSummary" :btnMakeDiagnosis="btnMakeDiagnosis" :save="save" :audit="audit" :unAudit="unAudit" :btnLineUp="btnLineUp"/>
</div>
<div :style="'margin-top: 2px;width:' + (window.pageWidth - 200 - 110 - 45 - 2) + 'px;'">
<div :style="'margin-top: 2px;width:' + (window.pageWidth - 200 - 110 - 15 - 2) + 'px;'">
<RegisterCheckEdit :registerCheckId="dataTransOpts.tableS.register_check.id"/>
</div>
</div>
@ -64,7 +64,7 @@
<ButtonList :optGrant="optGrant" :addSummary="addSummary" :btnMakeDiagnosis="btnMakeDiagnosis" :save="save" :audit="audit" :unAudit="unAudit"/>
</div>
</div>
</el-card>
</div>
</div>
</template>
<script>

Loading…
Cancel
Save