You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
5.3 KiB
154 lines
5.3 KiB
<template>
|
|
<div style="display: flex">
|
|
<div style="display: flex; flex-wrap: wrap; height:80px;">
|
|
<div class="query">
|
|
<span>体检单位/次数:</span>
|
|
<el-cascader v-model="patientRegister.query.customerOrgId" :options="patientRegister.customerOrgTreeAll"
|
|
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" placeholder="请选择单位"
|
|
:show-all-levels="false" clearable size="small" @change="changeCustomerOrgId" style="width:180px;">
|
|
</el-cascader>
|
|
<el-select v-model="patientRegister.query.customerOrgRegister" placeholder="次数" style="width: 60px" size="small"
|
|
:disabled="patientRegister.query.customerOrgId == dict.personOrgId" @change="changeMedicalTimes" value-key="id">
|
|
<el-option v-for="item in customerOrg.customerOrgRegisterList" :key="item.id" :label="item.medicalTimes"
|
|
:value="item" />
|
|
</el-select>
|
|
</div>
|
|
<div class="query">
|
|
<el-select v-model="patientRegister.query.dateType" placeholder="请选择" filterable clearable size="small"
|
|
style="width: 100px">
|
|
<el-option label="登记日期" value="creationTime" />
|
|
<el-option label="体检日期" value="medicalStartDate" />
|
|
<el-option label="总检日期" value="summaryDate" />
|
|
</el-select>
|
|
<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: 215px">
|
|
</el-date-picker>
|
|
</div>
|
|
<div class="query">
|
|
<span>组合项目:</span>
|
|
<el-select v-model="patientRegister.query.checkAsbs" multiple collapse-tags filterable clearable placeholder="请选择"
|
|
size="small" >
|
|
<el-option v-for="item in dict.asbItemAll" :key="item.value" :label="item.displayName" :value="item.id"/>
|
|
</el-select>
|
|
</div>
|
|
<div class="query">
|
|
<span>状态:</span>
|
|
<el-select v-model="patientRegister.query.checkCompleteFlag" placeholder="请选择" clearable style="width: 80px"
|
|
size="small">
|
|
<el-option v-for="item in dict.checkCompleteFlag" :key="item.id" :label="item.displayName" :value="item.id">
|
|
</el-option>
|
|
</el-select>
|
|
</div>
|
|
<div class="query">
|
|
<el-button type="primary" class="btnClass" @click="btnQuery" size="small">查询</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import { mapState } from "vuex";
|
|
import { getapi, postapi, putapi, deletapi } from "@/api/api";
|
|
|
|
export default {
|
|
components: {},
|
|
props: ["orgEnable"],
|
|
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(["window", "dict", "patientRegister", "customerOrg"]),
|
|
},
|
|
methods: {
|
|
|
|
//选择单位
|
|
changeCustomerOrgId(v) {
|
|
console.log(v)
|
|
if (!v) {
|
|
this.patientRegister.query.customerOrgRegister = null;
|
|
return;
|
|
}
|
|
|
|
let customerOrgId = v[0];
|
|
if (customerOrgId == this.dict.personOrgId) {
|
|
this.patientRegister.query.customerOrgRegister = null;
|
|
return;
|
|
}
|
|
getapi(
|
|
`/api/app/customer-org-register/in-customer-org-id/${customerOrgId}`
|
|
).then((res) => {
|
|
//console.log('res.data',res.data)
|
|
if (res.code != -1) {
|
|
this.customerOrg.customerOrgRegisterList = res.data;
|
|
if (res.data.length > 0) {
|
|
this.patientRegister.query.customerOrgRegister = res.data[res.data.length - 1];
|
|
this.patientRegister.query.dateRange = [
|
|
res.data[res.data.length - 1].beginTime,
|
|
res.data[res.data.length - 1].isComplete == 'N' ? new Date() : res.data[res.data.length - 1].endTime
|
|
]
|
|
}
|
|
}
|
|
});
|
|
},
|
|
|
|
//选择单位体检次数是,更新起止日期
|
|
changeMedicalTimes(v){
|
|
this.patientRegister.query.customerOrgRegister = v;
|
|
this.patientRegister.query.dateRange = [
|
|
v.beginTime,
|
|
v.isComplete == 'N' ? new Date() : v.endTime
|
|
];
|
|
},
|
|
|
|
btnQuery(){
|
|
console.log('query',this.patientRegister.query);
|
|
this.patientRegister.query.times++;
|
|
}
|
|
},
|
|
};
|
|
</script>
|
|
<style scoped>
|
|
.query {
|
|
margin-left: 10px;
|
|
}
|
|
</style>
|