pengjun 2 years ago
parent
commit
a831092e66
  1. 335
      src/components/doctorCheck/PatientRegisterListBak.vue
  2. 36
      src/components/patientRegister/PatientLis.vue
  3. 1791
      src/components/patientRegister/PatientRegisterEditBak240401.vue
  4. 1189
      src/components/patientRegister/PatientRegisterItem240407.vue
  5. 6
      src/views/customerOrg/patientLis.vue

335
src/components/doctorCheck/PatientRegisterListBak.vue

@ -1,335 +0,0 @@
<template>
<div>
<!-- 查询条件 -->
<div style="display: flex; flex-wrap: wrap; width: 100%">
<div class="block query">
<span class="demonstration">登记日期</span>
<el-date-picker v-model="patientRegister.query.dateRange" type="daterange" align="right" unlink-panels
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" size="small"
style="width: 240px">
</el-date-picker>
</div>
<div class="query">
<span>条码号</span>
<el-input placeholder="条码号" v-model="patientRegister.query.patientRegisterNo" size="small" clearable
style="width: 150px" />
</div>
<div class="query">
<span>档案号</span>
<el-input placeholder="档案号" v-model="patientRegister.query.patientNo" size="small" clearable
style="width: 135px" />
</div>
<div class="query">
<span>姓名</span>
<el-input placeholder="姓名" v-model="patientRegister.query.patientName" size="small" clearable
style="width: 100px" />
</div>
<div class="query">
<span>性别</span>
<el-select v-model="patientRegister.query.sex" placeholder="请选择" clearable style="width: 80px" size="small">
<el-option v-for="item in dict.forSex" :key="item.id" :label="item.displayName" :value="item.id">
</el-option>
</el-select>
</div>
<div class="query">
<span>身份证号</span>
<el-input placeholder="身份证号" v-model="patientRegister.query.idCardNo" size="small" clearable
style="width: 180px" />
</div>
<div class="query">
<el-cascader v-model="patientRegister.query.customerOrgId" :options="patientRegister.customerOrgTreeAll" :props="{
checkStrictly: true,
expandTrigger: 'hover',
...customerOrg.treeprops,
}" :show-all-levels="false" size="small" clearable placeholder="请选择单位">
</el-cascader>
<el-checkbox v-model="patientRegister.query.customerOrgFlag">单位作为查询条件</el-checkbox>
</div>
<div class="query">
<span>状态</span>
<el-select v-model="patientRegister.query.completeFlag" placeholder="请选择" clearable style="width: 80px"
size="small">
<el-option v-for="item in dict.completeFlag" :key="item.id" :label="item.displayName" :value="item.id">
</el-option>
</el-select>
</div>
</div>
<!-- 人员列表 -->
<div style="display: flex;margin-top: 10px;">
<el-table :data="dataList" border width="100%" height="430" row-key="id" size="small"
class="el-table__body-wrapper tbody" highlight-current-row @row-click="rowick" ref="dataList">
<el-table-column type="selection" width="40">
</el-table-column>
<el-table-column prop="completeFlag" label="体检进度">
<template slot-scope="scope">
<div>{{ ldddw(dict.completeFlag, "id", scope.row.completeFlag, "displayName") }}</div>
</template>
</el-table-column>
<el-table-column prop="isLock" label="锁住">
<template slot-scope="scope">
<div>{{ scope.row.isLock == "Y" ? "是" : "否" }}</div>
</template>
</el-table-column>
<el-table-column prop="customerOrgParentName" label="单位" width="180">
<template slot-scope="scope">
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgParentName : scope.row.customerOrgName }}</div>
</template>
</el-table-column>
<el-table-column prop="customerOrgName" label="部门" width="180">
<template slot-scope="scope">
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgName : "" }}</div>
</template>
</el-table-column>
<el-table-column prop="patientName" label="姓名" />
<el-table-column prop="sexId" label="性别">
<template slot-scope="scope">
<div>{{ ldddw(dict.sex, "id", scope.row.sexId, "displayName") }}</div>
</template>
</el-table-column>
<el-table-column prop="age" label="年龄" />
<el-table-column prop="patientRegisterNo" label="条码号" width="150" />
<el-table-column prop="patientNo" label="档案号" />
<el-table-column prop="medicalTimes" label="体检次数"></el-table-column>
<el-table-column label="分组/套餐" width="150">
<template slot-scope="scope">
<div v-if="scope.row.medicalPackageId !== dict.personOrgId && scope.row.customerOrgId === dict.personOrgId">
{{ ldddw(dict.medicalPackage, "id", scope.row.medicalPackageId, "displayName") }}
</div>
<div v-if="scope.row.medicalPackageId !== dict.personOrgId && scope.row.customerOrgId !== dict.personOrgId">
{{ ldddw(dict.customerOrgGroupAll, "id", scope.row.customerOrgGroupId, "displayName") }}
</div>
</template>
</el-table-column>
<el-table-column prop="nationId" label="民族">
<template slot-scope="scope">
<div>
{{ ldddw(dict.nation, "id", scope.row.nationId, "displayName") }}
</div>
</template>
</el-table-column>
<el-table-column prop="idNo" label="身份证" width="150" />
<el-table-column prop="birthDate" label="出生日期" width="100">
<template slot-scope="scope">
<div v-if="scope.row.birthDate">
{{ lmoment(scope.row.birthDate, "yyyy-MM-DD") }}
</div>
</template>
</el-table-column>
<el-table-column prop="email" label="邮箱" width="100" />
<el-table-column prop="mobileTelephone" label="手机" width="100" />
<el-table-column prop="telephone" label="电话" width="100" />
<el-table-column prop="address" label="地址" width="300" />
<el-table-column prop="medicalCardNo" label="体检卡号" />
<el-table-column prop="jobCardNo" label="工卡号" />
<el-table-column prop="maritalStatusId" label="婚姻状况">
<template slot-scope="scope">
<div>
{{ ldddw(dict.maritalStatus, "id", scope.row.maritalStatusId, "displayName") }}
</div>
</template>
</el-table-column>
<el-table-column prop="medicalTypeId" label="体检类别">
<template slot-scope="scope">
<div v-if="scope.row.medicalTypeId !== dict.personOrgId">
{{ ldddw(dict.medicalType, "id", scope.row.medicalTypeId, "displayName") }}
</div>
</template>
</el-table-column>
<el-table-column prop="personnelTypeId" label="人员类别">
<template slot-scope="scope">
<div v-if="scope.row.personnelTypeId !== dict.personOrgId">
{{ ldddw(dict.personnelType, "id", scope.row.personnelTypeId, "displayName") }}
</div>
</template>
</el-table-column>
<el-table-column prop="jobPost" label="职务" />
<el-table-column prop="jobTitle" label="职称" />
<el-table-column prop="salesman" label="介绍人" />
<el-table-column prop="isVip" label="是否VIP">
<template slot-scope="scope">
<div>{{ scope.row.isVip == "Y" ? "是" : "否" }}</div>
</template>
</el-table-column>
<el-table-column prop="creatorName" label="登记人" />
<el-table-column prop="creationTime" label="登记日期" width="100">
<template slot-scope="scope">
<div>{{ lmoment(scope.row.creationTime, "yyyy-MM-DD") }}</div>
</template>
</el-table-column>
<el-table-column prop="isUpload" label="是否上传">
<template slot-scope="scope">
<div>{{ scope.row.isUpload == "Y" ? "是" : "否" }}</div>
</template>
</el-table-column>
</el-table>
<div style="margin-left: 10px">
<div class="listBtn">
<el-button type="primary" @click="query">查询</el-button>
</div>
<div class="listBtn">
<el-button type="danger" @click="close">关闭</el-button>
</div>
</div>
</div>
</div>
</template>
<script>
import moment from "moment";
import { mapState, mapMutations } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { dddw, objCopy, arrayReduce } from "@/utlis/proFunc";
import PatientRegisterEdit from "../../components/patientRegister/PatientRegisterEdit.vue";
import Camera from "../../components/patientRegister/Camera.vue";
export default {
components: {
PatientRegisterEdit,
Camera,
},
props: ['win'],
data() {
return {
dataList: [], //
multipleSelection: [], //
dialogVisible: false,
dialogCamera: 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", "patientRegister", "customerOrg", "doctorCheck", "sumDoctorCheck"]),
},
methods: {
...mapMutations(['doctorCheckPrBaseInit', 'sumPREditInit']),
//
rowick(row) {
this.doctorCheckPrBaseInit()
this.doctorCheck.prBase.patientRegisterNo = row.patientRegisterNo
objCopy(row, this.doctorCheck.prBase) //
this.sumPREditInit()
objCopy(row, this.dataTransOpts.tableS.patient_register) //
},
ldddw(arrayData, key, value, display) {
return dddw(arrayData, key, value, display);
},
lmoment(date, forMat) {
return moment(new Date(date)).format(forMat);
},
//
query() {
let body = {}
console.log(`this.patientRegister.query`, this.patientRegister.query)
if (this.patientRegister.query.customerOrgFlag) {
if (this.patientRegister.query.customerOrgId) body.customerOrgId = this.patientRegister.query.customerOrgId[0]
}
if (this.patientRegister.query.sex) body.sexId = this.patientRegister.query.sex
if (this.patientRegister.query.patientName) body.patientName = this.patientRegister.query.patientName
if (this.patientRegister.query.completeFlag) body.completeFlag = this.patientRegister.query.completeFlag
//StartDate EndDate
if (this.patientRegister.query.dateRange) {
body.startDate = moment(new Date(this.patientRegister.query.dateRange[0])).format("yyyy-MM-DD")
body.endDate = moment(new Date(this.patientRegister.query.dateRange[1])).format("yyyy-MM-DD")
}
if (this.patientRegister.query.idCardNo) body = { idNo: this.patientRegister.query.idCardNo }
if (this.patientRegister.query.patientNo) body = { patientNo: this.patientRegister.query.patientNo }
if (this.patientRegister.query.patientRegisterNo) body = { patientRegisterNo: this.patientRegister.query.patientRegisterNo }
console.log('/api/app/patientregister/getlistinfilter', body)
postapi('/api/app/patientregister/getlistinfilter', body)
.then((res) => {
this.dataList = res.data;
});
},
//
close() {
//console.log('this.win',this.win)
if (this.win == 'doctorCheck') {
this.doctorCheck.doctorCheckDialogVisible = false
} else {
this.sumDoctorCheck.sumDoctorCheckDialogVisible = false
}
},
},
//
watch: {
},
};
</script>
<style scoped>
.box {
display: flex;
}
.query {
margin-left: 5px;
margin-bottom: 2px;
}
.listBtn {
margin-top: 10px;
}
</style>

36
src/components/patientRegister/PatientLis.vue

@ -4,9 +4,9 @@
<div style="display: flex"> <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> <div>
<el-table @body-scrolling="load" :data="tableData" border
:height="window.pageHeight < 600 ? 248 : Math.floor(((window.pageHeight - 250) * 2) / 3)"
highlight-current-row @row-click="rowClick" @row-dblclick="rowDblclick" size="small" row-key="id"
<el-table @body-scrolling="load" :data="tableData" border highlight-current-row
:height="window.pageHeight < 600 ? 238:Math.floor((window.pageHeight - 243)*2/3)"
@row-click="rowClick" @row-dblclick="rowDblclick" size="small" row-key="id"
@selection-change="handleSelectionChange" ref="info" id="info" :row-class-name="handleRowClassName"> @selection-change="handleSelectionChange" ref="info" id="info" :row-class-name="handleRowClassName">
<!-- 取消勾选改为选中 <!-- 取消勾选改为选中
<el-table-column type="selection" width="40" show-overflow-tooltip/> <el-table-column type="selection" width="40" show-overflow-tooltip/>
@ -109,7 +109,7 @@
<el-tabs v-model="tabChoosed" style="margin-top: -22px;"> <el-tabs v-model="tabChoosed" style="margin-top: -22px;">
<!-- 给合项目 --> <!-- 给合项目 -->
<el-tab-pane label="预览" name="1"> <el-tab-pane label="预览" name="1">
<div style="overflow: scroll; width: 100%;height: 240px;">
<div :style="`overflow: scroll; width: 100%;height: ${window.pageHeight < 600 ? 119:Math.floor((window.pageHeight - 243)/3)}px;`">
<el-image :src="lisLabel"> <el-image :src="lisLabel">
<div slot="placeholder" class="image-slot"> <div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span> 加载中<span class="dot">...</span>
@ -261,7 +261,7 @@ export default {
oneClick: 0, // 1 oneClick: 0, // 1
DbClick: 0, // 1 DbClick: 0, // 1
lisLabel:'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg',
lisLabel: 'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg',
}; };
}, },
@ -295,9 +295,17 @@ export default {
"customerOrg", "customerOrg",
]), ]),
//
peoplePhoto() { peoplePhoto() {
return photoParse(this.tableDataCurrentRow.photo) return photoParse(this.tableDataCurrentRow.photo)
},
//
tableHeight() {
let fixHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight
return Math.floor((fixHeight - 243) * 2 / 3)
} }
}, },
methods: { methods: {
...mapActions(["getCustomerOrgGroup", "getPatientRegisterAbs"]), ...mapActions(["getCustomerOrgGroup", "getPatientRegisterAbs"]),
@ -524,7 +532,7 @@ export default {
"yyyy-MM-DD" "yyyy-MM-DD"
); );
if (body.startDate > body.endDate) { if (body.startDate > body.endDate) {
this.$message.warning({ showClose: true, message: "起始日期不能大于截止日期,数据校验不通过!"});
this.$message.warning({ showClose: true, message: "起始日期不能大于截止日期,数据校验不通过!" });
return; return;
} }
} }
@ -544,8 +552,8 @@ export default {
}; };
console.log("/api/app/LisRequest/GetListInFilter", body); console.log("/api/app/LisRequest/GetListInFilter", body);
postapi("/api/app/LisRequest/GetListInFilter", body)
// /api/app/patientregister/getlistinfilter
postapi("/api/app/patientregister/getlistinfilter", body)
.then(res => { .then(res => {
if (res.code != -1) { if (res.code != -1) {
// //
@ -622,7 +630,7 @@ export default {
let isPrintLisRequest = false; let isPrintLisRequest = false;
let res = null; let res = null;
if (prId.length < 1) { if (prId.length < 1) {
this.$message.info({ showClose: true, message: "人员信息尚未保存,不可执行此操作!"});
this.$message.info({ showClose: true, message: "人员信息尚未保存,不可执行此操作!" });
return; return;
} }
@ -668,7 +676,7 @@ export default {
// //
lisPrint(prId, ReportCode, isPreview) { lisPrint(prId, ReportCode, isPreview) {
if (!this.$peisAPI) { if (!this.$peisAPI) {
this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!"});
this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!" });
return; return;
} }
@ -677,8 +685,8 @@ export default {
let toOutShell = { let toOutShell = {
ReportCode, ReportCode,
token, token,
isBuildImage:'N',
IsUploadPdf:'N',
isBuildImage: 'N',
IsUploadPdf: 'N',
preViewCanPrint: "N", preViewCanPrint: "N",
Parameters: [ Parameters: [
{ Name: "printer", Value: user }, { Name: "printer", Value: user },
@ -785,8 +793,8 @@ export default {
let toOutShell = { let toOutShell = {
ReportCode, ReportCode,
token, token,
isBuildImage:'N',
IsUploadPdf:'N',
isBuildImage: 'N',
IsUploadPdf: 'N',
preViewCanPrint: "Y", preViewCanPrint: "Y",
Parameters: [ Parameters: [
{ Name: "printer", Value: user }, { Name: "printer", Value: user },

1791
src/components/patientRegister/PatientRegisterEditBak240401.vue
File diff suppressed because it is too large
View File

1189
src/components/patientRegister/PatientRegisterItem240407.vue
File diff suppressed because it is too large
View File

6
src/views/customerOrg/patientLis.vue

@ -137,9 +137,9 @@ export default {
}); });
// //
getapi("/api/app/customer-org-group?MaxResultCount=1000").then((res) => {
if (res.code == 1) {
this.dict.customerOrgGroupAll = res.data.items;
getapi("/api/app/customerorggroup/getlistinfilter").then((res) => {
if (res.code > -1) {
this.dict.customerOrgGroupAll = res.data;
} }
}); });

Loading…
Cancel
Save