mch 2 years ago
parent
commit
a722efce3a
  1. 103
      src/components/doctorCheck/RegisterCheckEdit.vue
  2. 2
      src/components/doctorCheck/RegisterCheckList.vue
  3. 7
      src/components/patientRegister/PatientRegisterEdit.vue
  4. 38
      src/components/sumDoctorCheck/ButtonList.vue
  5. 17
      src/store/index.js
  6. 15
      src/views/doctorCheck/doctorCheck.vue
  7. 210
      src/views/doctorCheck/sumDoctorCheck.vue

103
src/components/doctorCheck/RegisterCheckEdit.vue

@ -0,0 +1,103 @@
<template>
<div style="display: flex">
<div style="display: flex; flex-wrap: wrap; width: 100%">
<div class="query">
<span>检查医生</span>
<el-input v-model="doctorCheck.RegisterCheckEdit.checkDoctorId" size="small" style="width: 110px" />
</div>
<div class="query">
<span>检查日期</span>
<el-date-picker v-model="doctorCheck.RegisterCheckEdit.checkDate" type="date" style="width: 130px" size="small" />
</div>
<div class="query">
<span>操作者</span>
<el-input v-model="doctorCheck.RegisterCheckEdit.LastModifierId" size="small" style="width: 110px" disabled/>
</div>
<div class="query">
<span>操作日期</span>
<el-input :value="doctorCheck.RegisterCheckEdit.LastModificationTime ? lmoment(doctorCheck.RegisterCheckEdit.LastModificationTime, 'yyyy-MM-DD') :''" style="width: 120px" size="small" disabled></el-input>
</div>
<div class="query">
<span>状态</span>
<el-select v-model="doctorCheck.RegisterCheckEdit.completeFlag" style="width: 80px" size="small" disabled>
<el-option v-for="item in dict.checkCompleteFlag" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
</div>
</div>
</div>
</template>
<script>
import moment from "moment";
import { mapState } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
export default {
components: {},
data() {
return {
dialogVisible: false,
pickerOptions: {
shortcuts: [
{
text: "最近一周",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit("pick", [start, end]);
},
},
],
},
};
},
created() {},
//
mounted() {},
computed: {
...mapState(["dict", "doctorCheck","patientRegister", "customerOrg"]),
lmoment(date, forMat) {
return moment(new Date(date)).format(forMat);
},
},
methods: {
//
btnQuery() {
this.doctorCheck.RegisterCheckEdit.times++;
console.log("this.doctorCheck.RegisterCheckEdit", this.doctorCheck.RegisterCheckEdit);
},
//
readIdCard() {
alert("读身份证");
},
},
};
</script>
<style scoped>
.query {
margin-left: 10px;
}
</style>

2
src/components/doctorCheck/RegisterCheckList.vue

@ -1,6 +1,6 @@
<template>
<div>
<el-table :data="doctorCheck.RegisterCheckList" style="width: 100%" height="700" border
<el-table :data="doctorCheck.RegisterCheckList" style="width: 100%" height="750" border
:row-class-name="tableRowClassName" @row-click="rowClick">
<el-table-column prop="asbitemName" label="组合项目" width="180" />
</el-table>

7
src/components/patientRegister/PatientRegisterEdit.vue

@ -79,12 +79,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="出生日期" prop="birthDate">
<el-date-picker
v-model="form.birthDate"
type="date"
placeholder="出生日期"
style="width: 135px"
/>
<el-date-picker v-model="form.birthDate" type="date" placeholder="出生日期" style="width: 135px"/>
</el-form-item>
</el-col>
<el-col :span="6">

38
src/components/sumDoctorCheck/ButtonList.vue

@ -0,0 +1,38 @@
<template>
<div>
<div class="listBtn">
<el-button type="primary">人员列表</el-button>
</div>
<div class="listBtn">
<el-button type="primary">医生诊台</el-button>
</div>
<div class="listBtn">
<el-button type="primary">保存</el-button>
</div>
<div class="listBtn">
<el-button type="primary">审核</el-button>
</div>
<div class="listBtn">
<el-button type="primary">修改</el-button>
</div>
<div class="listBtn">
<el-button type="primary">取消总检</el-button>
</div>
<div class="listBtn">
<el-button type="primary">体检报告</el-button>
</div>
<div class="listBtn">
<el-button type="primary">复查</el-button>
</div>
<div class="listBtn">
<el-button type="primary">干预措施</el-button>
</div>
</div>
</template>
<script>
</script>
<style scoped>
.listBtn {
margin-top: 10px;
}
</style>

17
src/store/index.js

@ -115,6 +115,17 @@ export default new Vuex.Store({
mobileTelephone:'', //手机
}, //人员体检登记显示基本信息
RegisterCheckEdit:{
id:'',
checkDoctorId:null,
checkDate:'',
completeFlag:'0',
LastModificationTime:'',
LastModifierId:null,
isAudit:'N',
auditorUserId:null,
auditTime:'',
}, //组合项目详情
RegisterCheckList:[], //人员体检 组合项目列表
checkItemList:[], //组合项目包含的明细项目
checkSummaryList:[], //小结
@ -140,6 +151,12 @@ export default new Vuex.Store({
{ id: "2", displayName: "部份已检" },
{ id: "3", displayName: "已总检" },
],
checkCompleteFlag: [
//体检完成标志
{ id: "0", displayName: "未检" },
{ id: "1", displayName: "已检" },
{ id: "2", displayName: "弃检" },
],
payType: [
//支付方式,比如是0自费、2免费、1单位支付
{ id: "0", displayName: "个人支付" },

15
src/views/doctorCheck/doctorCheck.vue

@ -5,12 +5,12 @@
<td colspan="2" width="90%">
<PatientRegisterBase/>
</td>
<td rowspan="3" width="10%">
<td rowspan="4" width="10%">
<ButtonList/>
</td>
</tr>
<tr>
<td rowspan="2" width="15%" >
<td rowspan="3" width="15%" >
<RegisterCheckList/>
</td>
<td width="75%">
@ -21,7 +21,12 @@
<td width="75%">
<CheckSumSug/>
</td>
</tr>
</tr>
<tr>
<td width="75%">
<RegisterCheckEdit/>
</td>
</tr>
</table>
</div>
</template>
@ -36,7 +41,8 @@
import RegisterCheckList from "../../components/doctorCheck/RegisterCheckList.vue";
import CheckItemList from "../../components/doctorCheck/CheckItemList.vue";
import CheckSumSug from "../../components/doctorCheck/CheckSumSug.vue";
import RegisterCheckEdit from "../../components/doctorCheck/RegisterCheckEdit.vue";
export default {
components: {
RegisterCheckList,
@ -44,6 +50,7 @@
ButtonList,
CheckItemList,
CheckSumSug,
RegisterCheckEdit
},
data() {
return {

210
src/views/doctorCheck/sumDoctorCheck.vue

@ -1,3 +1,209 @@
<template>
<div>开发中</div>
</template>
<div style="display: flex;">
<table width="100%">
<tr>
<td width="90%">
<PatientRegisterBase/>
</td>
<td rowspan="2" width="10%">
<ButtonList/>
</td>
</tr>
<tr>
<td width="90%">
<el-tabs style="margin-left: 10px" v-model="tabChoosed">
<el-tab-pane label="综述建议" name="1">
<RegisterCheckList/>
</el-tab-pane>
<el-tab-pane label="明细结果" name="2">
</el-tab-pane>
<el-tab-pane label="危急值" name="3">
</el-tab-pane>
<el-tab-pane label="项目对比" name="4">
</el-tab-pane>
<el-tab-pane label="横向对比" name="5">
</el-tab-pane>
<el-tab-pane label="历次综述" name="6">
</el-tab-pane>
</el-tabs>
</td>
</tr>
</table>
</div>
</template>
<script>
import { mapState, mapActions } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { tcdate } from "../../utlis/proFunc";
import PatientRegisterBase from "../../components/doctorCheck/PatientRegisterBase.vue";
import ButtonList from "../../components/sumDoctorCheck/ButtonList.vue";
import RegisterCheckList from "../../components/doctorCheck/RegisterCheckList.vue";
import CheckItemList from "../../components/doctorCheck/CheckItemList.vue";
import CheckSumSug from "../../components/doctorCheck/CheckSumSug.vue";
import RegisterCheckEdit from "../../components/doctorCheck/RegisterCheckEdit.vue";
export default {
components: {
RegisterCheckList,
PatientRegisterBase,
ButtonList,
CheckItemList,
CheckSumSug,
RegisterCheckEdit
},
data() {
return {
tabChoosed: "1",
};
},
created() {},
//
mounted() {
this.dictInit();
},
computed: {
...mapState(["dict", "patientRegister", "customerOrg"]),
},
methods: {
...mapActions(["getCustomerOrgGroup"]),
//
dictInit() {
//
getapi("/api/app/sex").then((res) => {
if (res.code == 1) {
this.dict.sex = res.data;
}
});
//
getapi("/api/app/organization-units/organization-unit-by-is-peis").then(
(res) => {
if (res.code == 1) {
this.dict.organization = res.data;
}
}
);
//
getapi("/api/app/customer-org/in-filter").then((res) => {
if (res.code == 1) {
this.dict.customerOrg = res.data.items;
}
});
//
getapi("/api/app/medical-type/in-filter").then((res) => {
if (res.code == 1) {
this.dict.medicalType = res.data.items;
}
});
//
getapi("/api/app/personnel-type/in-filter").then((res) => {
if (res.code == 1) {
this.dict.personnelType = res.data.items;
}
});
//
getapi("/api/app/marital-statuses").then((res) => {
if (res.code == 1) {
this.dict.maritalStatus = res.data.items;
}
});
//
getapi("/api/app/sex-hormone-term/in-filter").then((res) => {
if (res.code == 1) {
this.dict.sexHormoneTerm = res.data.items;
}
});
//
getapi("/api/app/nation/in-filter").then((res) => {
if (res.code == 1) {
this.dict.nation = res.data.items;
}
});
//
getapi("/api/app/birth-place/in-filter").then((res) => {
if (res.code == 1) {
this.dict.birthPlace = res.data.items;
}
});
//
getapi("/api/app/medical-package/in-filter").then((res) => {
if (res.code == 1) {
this.dict.medicalPackage = res.data.items;
}
});
//
getapi("/api/app/customer-org-group").then((res) => {
if (res.code == 1) {
this.dict.customerOrgGroupAll = res.data.items;
}
});
//
getapi("/api/app/pay-mode").then((res) => {
if (res.code == 1) {
this.dict.payMode = res.data;
}
});
//
getapi("/api/app/item-type/by-code-all").then((res) => {
if (res.code == 1) {
this.dict.itemTypeTree = res.data;
tcdate(this.dict.itemTypeTree);
}
});
getapi("/api/app/asbitem/in-filter?Filter").then((res) => {
if (res.code == 1) {
this.dict.asbItemAll = res.data.items;
}
});
console.log("dict", this.dict);
},
},
//()
watch: {
//1
"patientRegister.query.CustomerOrgParentld"(newVal, oldVal) {
console.log(
"watch patientRegister.query.CustomerOrgParentld newVal:",
newVal,
" oldVal:",
oldVal
);
if (newVal != oldVal && newVal !== this.dict.personOrgId) {
this.getCustomerOrgGroup(newVal);
}
},
},
};
</script>
<style scoped>
.box {
display: flex;
}
</style>
Loading…
Cancel
Save