12 changed files with 2614 additions and 39 deletions
-
6src/components/doctorCheck/CheckItemList.vue
-
48src/components/doctorCheck/CheckSumSug.vue
-
34src/components/doctorCheck/QueueCheckList.vue
-
1699src/components/follow/FollowList.vue
-
237src/components/follow/FollowPlan.vue
-
400src/components/follow/FollowQuery.vue
-
173src/components/follow/follow.vue
-
2src/components/patientRegister/PatientRegisterEdit.vue
-
2src/components/patientRegister/PatientRegisterList.vue
-
39src/components/queue/Queue.vue
-
6src/router/index.js
-
3src/views/doctorCheck/doctorCheck.vue
1699
src/components/follow/FollowList.vue
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,237 @@ |
|||
<template> |
|||
<div> |
|||
<el-table :data="dataTransOpts.tableM.register_check_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 type="index" label="序号" width="50" align="center"/> |
|||
<el-table-column prop="asbitemName" label="随访内容" min-width="250"> |
|||
<template slot-scope="scope"> |
|||
<div> |
|||
<i class="el-icon-view" style="font-size: 14px;color: black;cursor: pointer;" @click="getAsbItems(scope.row)" /> |
|||
<el-tooltip class="item" effect="dark" content="标五角星表示属于分组或套餐的项目" placement="left"> |
|||
<i v-if="scope.row.isBelongGroupPackage == 'Y'" class="el-icon-star-on" |
|||
style="padding: 3px; font-size: 16px;color: purple;" /> |
|||
</el-tooltip> |
|||
{{ scope.row.asbitemName }} |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="creatorName" label="客户回复" min-width="200" align="center" /> |
|||
<el-table-column prop="creatorName" label="修改人" min-width="80" align="center" /> |
|||
<el-table-column prop="creationTime" label="修改日期" min-width="100" align="center"> |
|||
<template slot-scope="scope"> |
|||
<div>{{ moment(scope.row.creationTime).format("yyyy-MM-DD") }}</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="creatorName" label="登记人" min-width="80" align="center" /> |
|||
<el-table-column prop="creationTime" label="登记日期" min-width="100" 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> |
|||
import moment from "moment"; |
|||
import { mapState } from "vuex"; |
|||
import { dddw } from "../../utlis/proFunc"; |
|||
import { getapi, postapi, putapi, deletapi } from "../../api/api"; |
|||
|
|||
export default { |
|||
components: {}, |
|||
data() { |
|||
return { |
|||
asbItems: [], // 组合项目包含明细(全) |
|||
}; |
|||
}, |
|||
|
|||
created() { |
|||
|
|||
}, |
|||
|
|||
updated() { |
|||
this.$nextTick(() => { |
|||
this.$refs['patientRegister.patientRegisterAbs'].doLayout() |
|||
}) |
|||
}, |
|||
|
|||
//挂载完成 |
|||
mounted() { |
|||
this.dictInit() |
|||
this.retrieveregister_check_asbitem(this.dataTransOpts.tableS.patient_register.id) |
|||
}, |
|||
|
|||
computed: { |
|||
...mapState(["window", "dataTransOpts", "dict", "patientRegister"]), |
|||
}, |
|||
methods: { |
|||
dddw, moment, |
|||
|
|||
// 初始化字典信息 |
|||
dictInit() { |
|||
// 获取组合项目包含的明细 |
|||
postapi('/api/app/Asbitem/GetSimpleAsbitemWithDetails') |
|||
.then(res => { |
|||
if (res.code > -1) this.asbItems = res.data |
|||
}) |
|||
}, |
|||
|
|||
|
|||
// 弹出组合项目明细 |
|||
getAsbItems(row) { |
|||
let asbItems = this.asbItems.filter(e => { return e.asbitemId == row.asbitemId }) |
|||
|
|||
let content = "" |
|||
|
|||
let length = asbItems.length |
|||
let modeBase = 1,count = 0,pWidth=390 |
|||
|
|||
if(length >= 39){ |
|||
modeBase = 3 |
|||
pWidth=130 |
|||
}else if(length >= 20){ |
|||
modeBase = 2 |
|||
pWidth=195 |
|||
} |
|||
|
|||
// 数据项太多时,分列显示 |
|||
asbItems.forEach((e,i) => { |
|||
if(modeBase == 1){ |
|||
content += '<p>' + e.itemName + '</p>' |
|||
}else{ |
|||
if(i==0){ |
|||
count = 1 |
|||
content += `<div style="display: flex;"><p style="width: ${pWidth}px;">` + e.itemName + '</p>' |
|||
}else if((i+1)%modeBase == 0){ |
|||
content += `<p style="width: ${pWidth}px;">` + e.itemName + '</p></div><div style="display: flex;">' |
|||
count = 1 |
|||
}else{ |
|||
content += `<p style="width: ${pWidth}px;">` + e.itemName + '</p>' |
|||
count++ |
|||
} |
|||
} |
|||
}); |
|||
|
|||
if(modeBase > 1){ |
|||
for (let index = 0; index < 3; index++) { |
|||
if(modeBase == count) break |
|||
content += '<p></p>' |
|||
count++ |
|||
} |
|||
content += '</div>' |
|||
} |
|||
|
|||
// console.log('content',content) |
|||
|
|||
this.$alert(content, `${row.asbitemName} (共 ${asbItems.length} 项)`, { |
|||
dangerouslyUseHTMLString: true, |
|||
showClose: false |
|||
}); |
|||
}, |
|||
|
|||
|
|||
// 设置颜色 |
|||
setColor(checkCompleteFlag) { |
|||
let color = "#52555F" |
|||
switch (checkCompleteFlag) { |
|||
case '0': |
|||
color = "#FF5054" |
|||
break; |
|||
case '2': |
|||
color = "#396FFA" |
|||
break; |
|||
default: |
|||
break; |
|||
} |
|||
return color |
|||
}, |
|||
|
|||
// 刷新登记的项目 |
|||
retrieveregister_check_asbitem(id) { |
|||
this.dataTransOpts.tableM.register_check_asbitem = [] |
|||
if (!id) return |
|||
getapi(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`) |
|||
.then(res => { |
|||
console.log(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`, res) |
|||
if (res.code != -1) { |
|||
res.data.forEach(e => { |
|||
e.standTotal = e.amount * e.standardPrice |
|||
e.total = e.amount * e.chargePrice |
|||
}); |
|||
this.dataTransOpts.tableM.register_check_asbitem = res.data |
|||
} |
|||
}) |
|||
|
|||
}, |
|||
|
|||
// :row-class-name="tableRowClassName" |
|||
// tableRowClassName({ row, rowIndex }) { |
|||
// //console.log(row) |
|||
// if (row.groupPackageId) { |
|||
// //console.log('row.groupPackageId',row.groupPackageId) |
|||
// return 'purple-row'; //分组或套餐 |
|||
// } else { |
|||
// return ''; |
|||
// } |
|||
// }, |
|||
|
|||
//自定义计算列 |
|||
getSummaries(param) { |
|||
const { columns, data } = param; |
|||
const sumCol = [2, 5]; //需合计的列 |
|||
const sums = []; |
|||
columns.forEach((column, index) => { |
|||
//显示合计列 |
|||
if (index === 1) { |
|||
sums[index] = "合计"; |
|||
return; |
|||
} |
|||
|
|||
//不合计的列 |
|||
if (sumCol.indexOf(index) == -1) { |
|||
sums[index] = ""; |
|||
return; |
|||
} |
|||
|
|||
const values = data.map((item) => Number(item[column.property])); |
|||
if (!values.every((value) => isNaN(value))) { |
|||
sums[index] = values.reduce((prev, curr) => { |
|||
const value = Number(curr); |
|||
if (!isNaN(value)) { |
|||
return prev + curr; |
|||
} else { |
|||
return prev; |
|||
} |
|||
}, 0); |
|||
sums[index] = Math.floor(sums[index]*100)/100; |
|||
sums[index] += " 元"; |
|||
} else { |
|||
sums[index] = "N/A"; |
|||
} |
|||
}); |
|||
|
|||
return sums; |
|||
}, |
|||
}, |
|||
|
|||
//监听事件 |
|||
watch: { |
|||
//人员ID未切换换时 也可以强制刷新数据 |
|||
"dataTransOpts.refresh.register_check_asbitem.M": { |
|||
// immediate:true, |
|||
handler(newVal, oldVal) { |
|||
console.log(`watch 人员登记 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.patient_register.id}`); |
|||
if (newVal != oldVal) this.retrieveregister_check_asbitem(this.dataTransOpts.tableS.patient_register.id) |
|||
} |
|||
}, |
|||
} |
|||
}; |
|||
</script> |
|||
<style scoped> |
|||
@import "../../assets/css/global.css"; |
|||
|
|||
.box { |
|||
display: flex; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,400 @@ |
|||
<template> |
|||
<div style="display: flex;"> |
|||
<div |
|||
:style="'display: flex;flex-wrap: wrap;height: 80px;background-color: #fff;border-radius: 8px;margin-bottom: 15px;align-items: center;padding: 10px;width:' + (window.pageWidth - 145) + 'px;'"> |
|||
<div class="query"> |
|||
<span class="spanClass">体检单位</span> |
|||
<el-cascader v-model="patientRegister.query.customerOrgId" :options="patientRegister.customerOrgTreeAll" |
|||
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" placeholder="请选择单位" |
|||
:show-all-levels="false" clearable :disabled="orgEnable == 'Y' ? false : true" size="small" |
|||
style="width:120px;"> |
|||
</el-cascader> |
|||
</div> |
|||
<div class="query"> |
|||
|
|||
<el-select v-model="patientRegister.query.dateType" placeholder="请选择" style="width: 80px" size="small"> |
|||
<el-option label="登记日期" :value="'1'" /> |
|||
<el-option label="体检日期" :value="'2'" /> |
|||
<el-option label="登记或体检" :value="'3'" /> |
|||
</el-select> |
|||
<!-- dateType 1 登记,2 体检,3 体检或登记--> |
|||
|
|||
<el-date-picker v-model="patientRegister.query.startDate" type="date" placeholder="起始日期" size="small" |
|||
style="width:90px;" value-format="yyyy-MM-dd" :picker-options="pickerOptions" /> |
|||
<span class="spanClass">至</span> |
|||
<el-date-picker v-model="patientRegister.query.endDate" type="date" placeholder="截止日期" size="small" |
|||
style="width:90px;" value-format="yyyy-MM-dd" :picker-options="pickerOptions" /> |
|||
</div> |
|||
<div class="query"> |
|||
<span class="spanClass">条码号</span> |
|||
<el-input placeholder="条码号" v-model="patientRegister.query.patientRegisterNo" size="small" clearable |
|||
style="width: 120px" /> |
|||
</div> |
|||
<div class="query"> |
|||
<span class="spanClass">档案号</span> |
|||
<el-input placeholder="档案号" v-model="patientRegister.query.patientNo" size="small" clearable |
|||
style="width: 80px" /> |
|||
</div> |
|||
<div class="query"> |
|||
<span class="spanClass">姓名</span> |
|||
<el-input placeholder="姓名" v-model="patientRegister.query.patientName" size="small" clearable |
|||
style="width: 60px" /> |
|||
</div> |
|||
<div class="query"> |
|||
<span class="spanClass">检查条码</span> |
|||
<el-input placeholder="检查条码" v-model="patientRegister.query.pacsNo" size="small" clearable |
|||
style="width: 120px" /> |
|||
</div> |
|||
<div class="query"> |
|||
<span class="spanClass">检验条码</span> |
|||
<el-input placeholder="检验条码" v-model="patientRegister.query.lisNo" size="small" clearable |
|||
style="width: 120px" /> |
|||
</div> |
|||
<div class="query"> |
|||
<span class="spanClass">性别</span> |
|||
<el-select v-model="patientRegister.query.sex" placeholder="性别" style="width: 50px" 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 class="spanClass">手机号</span> |
|||
<el-input placeholder="手机号/电话" v-model="patientRegister.query.phone" size="small" clearable |
|||
style="width: 100px" /> |
|||
</div> |
|||
<div class="query"> |
|||
<span class="spanClass">身份证</span> |
|||
<el-input placeholder="身份证" v-model="patientRegister.query.idCardNo" size="small" clearable |
|||
style="width: 150px" /> |
|||
</div> |
|||
|
|||
<div class="query"> |
|||
<span class="spanClass">次数</span> |
|||
<el-select v-model="patientRegister.query.customerOrgRegister" placeholder="次数" |
|||
@change="changeCustomerOrgRegister" style="width: 50px;" size="small" value-key="id"> |
|||
<el-option v-for="item in customerOrgRegisterList" :key="item.id" :label="item.medicalTimes" :value="item">{{ |
|||
item.medicalTimes + '次' }}</el-option> |
|||
</el-select> |
|||
</div> |
|||
<div class="query"> |
|||
<span class="spanClass">体检类别</span> |
|||
<el-select v-model="patientRegister.query.medicalTypeIds" placeholder="请选择" clearable filterable |
|||
style="width: 170px" size="small" multiple collapse-tags> |
|||
<el-option v-for="item in dict.medicalType" :key="item.id" :label="item.displayName" :value="item.id" /> |
|||
</el-select> |
|||
</div> |
|||
<div class="query"> |
|||
<span class="spanClass">状态</span> |
|||
<el-select v-model="patientRegister.query.completeFlags" placeholder="请选择" clearable style="width: 100px" |
|||
size="small" multiple collapse-tags> |
|||
<el-option v-for="item in dict.completeFlag" :key="item.id" :label="item.displayName" :value="item.id"> |
|||
</el-option> |
|||
</el-select> |
|||
</div> |
|||
<div class="query"> |
|||
<span class="spanClass">随访状态</span> |
|||
<el-select v-model="patientRegister.query.completeFlags" placeholder="请选择" clearable style="width: 100px" |
|||
size="small" multiple collapse-tags> |
|||
<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="margin-left: 10px;margin-top: 5px;"> |
|||
<div v-show="checkPagePriv(pagePriv.privs, '查询')" class="listBtn"> |
|||
<el-button class="commonbutton" @click="btnQuery">查询</el-button> |
|||
</div> |
|||
<div class="listBtn"> |
|||
<el-button type="danger" class="commonbutton" @click="btnClear">清除条件</el-button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import { mapState } from "vuex"; |
|||
import { getapi, postapi, putapi, deletapi } from "@/api/api"; |
|||
import { getPagePriv, checkPagePriv, parsIcCardtoLocal, deepCopy } from '../../utlis/proFunc' |
|||
|
|||
export default { |
|||
components: {}, |
|||
props: ["orgEnable"], |
|||
data() { |
|||
return { |
|||
pagePriv: { |
|||
routeUrlorPageName: 'patientRegister', //当前页面归属路由或归属页面权限名称 |
|||
privs: [] // 页面权限 |
|||
}, |
|||
pickerOptions: { |
|||
disabledDate(time) { |
|||
return time.getTime() > Date.now(); |
|||
}, |
|||
shortcuts: [{ |
|||
text: '今天', |
|||
onClick(picker) { |
|||
picker.$emit('pick', new Date()); |
|||
} |
|||
}, { |
|||
text: '昨天', |
|||
onClick(picker) { |
|||
const date = new Date(); |
|||
date.setTime(date.getTime() - 3600 * 1000 * 24); |
|||
picker.$emit('pick', date); |
|||
} |
|||
}, { |
|||
text: '一周前', |
|||
onClick(picker) { |
|||
const date = new Date(); |
|||
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7); |
|||
picker.$emit('pick', date); |
|||
} |
|||
}] |
|||
}, |
|||
dialogVisible: false, |
|||
customerOrgRegisterList: [], |
|||
}; |
|||
}, |
|||
|
|||
created() { |
|||
//获取用户当前页面的权限 |
|||
let userPriv = window.sessionStorage.getItem('userPriv') |
|||
if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName)) |
|||
|
|||
let ldate = new Date(); |
|||
this.patientRegister.query.startDate = ldate; |
|||
this.patientRegister.query.endDate = ldate; |
|||
this.patientRegister.query.dateType = '2' |
|||
}, |
|||
|
|||
//挂载完成 |
|||
mounted() { |
|||
this.init(this.patientRegister.query.customerOrgId) |
|||
this.enterToQuery() |
|||
}, |
|||
|
|||
computed: { |
|||
...mapState(["window", "dict", "dataTransOpts", "patientRegister", "customerOrg"]), |
|||
}, |
|||
methods: { |
|||
checkPagePriv, |
|||
|
|||
btnClear() { |
|||
this.patientRegister.query.patientRegisterNo = '' |
|||
this.patientRegister.query.patientNo = '' |
|||
this.patientRegister.query.patientName = '' |
|||
this.patientRegister.query.pacsNo = '' |
|||
this.patientRegister.query.lisNo = '' |
|||
this.patientRegister.query.sex = '' |
|||
this.patientRegister.query.phone = '' |
|||
this.patientRegister.query.idCardNo = '' |
|||
}, |
|||
|
|||
init(customerOrgId) { |
|||
if (!customerOrgId || customerOrgId == this.dict.personOrgId) { |
|||
this.patientRegister.query.customerOrgRegister = null |
|||
this.customerOrgRegisterList = [] |
|||
if (customerOrgId == this.dict.personOrgId) { |
|||
let today = new Date() |
|||
this.patientRegister.query.startDate = today |
|||
this.patientRegister.query.endDate = today |
|||
} |
|||
return |
|||
} |
|||
|
|||
// 获取顶级ID |
|||
getapi(`/api/app/customer-org/parent/${customerOrgId}`).then(res => { |
|||
if (res.code > - 1) { |
|||
this.patientRegister.query.CustomerOrgParentId = res.data |
|||
return getapi(`/api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=${res.data}`) |
|||
} |
|||
}).then(res => { |
|||
if (res && res.code > -1) { |
|||
this.customerOrgRegisterList = res.data; |
|||
if (res.data.length > 0) { |
|||
this.patientRegister.query.customerOrgRegister = res.data[res.data.length - 1]; |
|||
this.changeCustomerOrgRegister(res.data[res.data.length - 1]) |
|||
} |
|||
// this.patientRegister.query.times++ |
|||
// console.log('this.patientRegister.query.customerOrgRegister',this.patientRegister.query.customerOrgRegister) |
|||
} |
|||
}); |
|||
|
|||
//体检类别 |
|||
getapi("/api/app/medical-type/in-filter").then((res) => { |
|||
if (res.code > -1) { |
|||
this.dict.medicalType = res.data; |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
|
|||
//查询 |
|||
btnQuery() { |
|||
this.patientRegister.query.times++; |
|||
console.log("this.patientRegister.query", this.patientRegister.query); |
|||
}, |
|||
|
|||
changeCustomerOrgRegister(v) { |
|||
this.patientRegister.query.startDate = new Date(v.beginTime) |
|||
if (v.isComplete == 'Y') { |
|||
this.patientRegister.query.endDate = new Date(v.endTime) |
|||
} else { |
|||
this.patientRegister.query.endDate = new Date() |
|||
} |
|||
}, |
|||
|
|||
//读身份证 |
|||
readIdCard() { |
|||
if (!this.$peisAPI) { |
|||
this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!" }) |
|||
return |
|||
} |
|||
this.$peisAPI.peopleIcCard().then(res => { |
|||
console.log('peopleIcCard', res) |
|||
let lres = JSON.parse(res) |
|||
if (lres.code > -1) { |
|||
let idNos = parsIcCardtoLocal(lres.data, this.dict.sex, this.dict.nation) |
|||
// this.form.patientName = idNos.Name |
|||
// this.form.birthDate = idNos.birthDate |
|||
// this.form.sexId = idNos.sexId |
|||
// this.form.age = idNos.age |
|||
// this.form.nationId = idNos.nationId |
|||
// this.form.idNo = idNos.IDCode |
|||
// this.form.address = idNos.Address |
|||
// this.patientRegister.photo = 'data:image/bmp;base64,' + idNos.Photo |
|||
this.patientRegister.query.patientName = idNos.Name |
|||
this.patientRegister.query.sex = idNos.sexId |
|||
this.patientRegister.query.idCardNo = idNos.IDCode |
|||
|
|||
this.patientRegister.query.times++; |
|||
|
|||
} else { |
|||
this.$message.error({ showClose: true, message: lres.message }) |
|||
} |
|||
}) |
|||
.catch(err => { |
|||
this.$message.error({ showClose: true, message: `读取身份证失败,原因:${err}` }) |
|||
}) |
|||
}, |
|||
|
|||
// 根据pacs条码查询 |
|||
onQueryByPacsNo(checkRequestNo) { |
|||
postapi('/api/app/PatientRegister/GetPatientRegisterNoByCheckRequestNo', { checkRequestNo }).then(res => { |
|||
if (res.code > 0) { |
|||
this.patientRegister.query.patientRegisterNo = res.data.patientRegisterNo |
|||
this.patientRegister.query.times++; |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
// 根据lis条码查询 |
|||
onQueryByLisNo(lisRequestNo) { |
|||
postapi('/api/app/PatientRegister/GetPatientRegisterNoByLisRequestNo', { lisRequestNo }).then(res => { |
|||
if (res.code > 0) { |
|||
this.patientRegister.query.patientRegisterNo = res.data.patientRegisterNo |
|||
this.patientRegister.query.times++; |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
//回车替代查询 |
|||
enterToQuery() { |
|||
// console.log('enterToTab'); |
|||
this.$nextTick(() => { |
|||
let inputs = document.querySelectorAll(["input"]); //用数组可以读取多个标签的元素 //.inline-input |
|||
|
|||
// 为每个输入框添加键盘事件监听器 |
|||
inputs.forEach((input, i) => { |
|||
// console.log('input',input); |
|||
input.addEventListener('keydown', (event) => { |
|||
if (event.keyCode === 13) { |
|||
// 阻止回车键的默认行为(换行) |
|||
event.preventDefault(); |
|||
|
|||
// 如果按下的是回车查询 |
|||
// console.log(input.getAttribute('placeholder'),input.value) |
|||
let placeholder = input.getAttribute('placeholder') |
|||
switch (placeholder) { |
|||
case '条码号': |
|||
case '档案号': |
|||
case '姓名': |
|||
case '预约手机号': |
|||
case '身份证': |
|||
if (input.value) this.patientRegister.query.times++; |
|||
input.select() |
|||
break; |
|||
case '检查条码': |
|||
if (input.value) this.onQueryByPacsNo(input.value) |
|||
input.select() |
|||
break; |
|||
case '检验条码': |
|||
if (input.value) this.onQueryByLisNo(input.value) |
|||
input.select() |
|||
break; |
|||
} |
|||
} |
|||
}); |
|||
|
|||
input.addEventListener('click', (event) => { |
|||
let placeholder = input.getAttribute('placeholder') |
|||
switch (placeholder) { |
|||
case '条码号': |
|||
case '档案号': |
|||
case '姓名': |
|||
case '预约手机号': |
|||
case '身份证': |
|||
case '检查条码': |
|||
case '检验条码': |
|||
input.select() |
|||
break; |
|||
} |
|||
}); |
|||
}); |
|||
}); |
|||
}, |
|||
}, |
|||
|
|||
watch: { |
|||
"dataTransOpts.plus.PatientRegisterEditQuery": { |
|||
// immediate: true, |
|||
handler(newVal, oldVal) { |
|||
console.log(`watch 体检单位切换 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.patientRegister.query.customerOrgId}`); |
|||
if (newVal != oldVal) this.init(this.patientRegister.query.customerOrgId) |
|||
} |
|||
}, |
|||
}, |
|||
|
|||
} |
|||
</script> |
|||
<style scoped> |
|||
@import "../../assets/css/global_button.css"; |
|||
@import "../../assets/css/global_input.css"; |
|||
@import "../../assets/css/global_font.css"; |
|||
|
|||
.query { |
|||
margin-right: 10px; |
|||
font-size: 14px; |
|||
color: #232748; |
|||
font-weight: 400; |
|||
font-family: "NotoSansSC-Regular"; |
|||
} |
|||
|
|||
.listBtn { |
|||
margin-top: 10px; |
|||
|
|||
text-align: center; |
|||
} |
|||
|
|||
.btnClass { |
|||
/* position: absolute; */ |
|||
/* left: 0; |
|||
top: 0; */ |
|||
width: 100px; |
|||
} |
|||
|
|||
.spanClass { |
|||
font-size: 14px; |
|||
padding: 0 2px 0 0; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,173 @@ |
|||
<template> |
|||
<div> |
|||
<div> |
|||
<div class="contenttitle"> |
|||
体检 /<span class="contenttitleBold">随访管理</span> |
|||
</div> |
|||
<div style="display: flex;"> |
|||
|
|||
<div> |
|||
<!-- 查询条件 --> |
|||
<FollowQuery /> |
|||
|
|||
<!-- 人员列表信息 --> |
|||
<FollowList /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import { mapState, mapActions } from "vuex"; |
|||
import { getapi, postapi, putapi, deletapi } from "@/api/api"; |
|||
import FollowQuery from "../../components/follow/FollowQuery.vue"; |
|||
import FollowList from "../../components/follow/FollowList.vue"; |
|||
|
|||
export default { |
|||
components: { |
|||
FollowQuery, |
|||
FollowList, |
|||
}, |
|||
data() { |
|||
return { |
|||
CustomerOrgTreeStyle: "", |
|||
CustomerOrgRightStyle: "margin-left: 10px;", |
|||
}; |
|||
}, |
|||
|
|||
//组件创建完成,一般页面初始布局放在这里 |
|||
created() { |
|||
// console.log("this.$route.query", this.$route.query) |
|||
if (this.$route.query.patient_register) { |
|||
this.dataTransOpts.tableS.patient_register = this.$route.query.patient_register |
|||
} else { |
|||
this.dataTransOpts.tableS.patient_register = { id: '', patientRegisterNo: '' } |
|||
} |
|||
this.dataTransOpts.refresh.register_check_asbitem.M++ |
|||
}, |
|||
|
|||
//页面挂载完成,一般页面渲染数据放在这里 |
|||
mounted() { |
|||
this.dictInit(); |
|||
}, |
|||
|
|||
computed: { |
|||
...mapState(["window","dataTransOpts", "dict", "patientRegister", "customerOrg"]), |
|||
}, |
|||
|
|||
methods: { |
|||
//数据初始化 |
|||
dictInit() { |
|||
//性别(仅档案用) |
|||
getapi("/api/app/sex").then((res) => { |
|||
if (res.code == 1) { |
|||
this.dict.sex = res.data; |
|||
} |
|||
}); |
|||
|
|||
//性别(查询) |
|||
getapi("/api/app/for-sex").then((res) => { |
|||
if (res.code == 1) { |
|||
this.dict.forSex = 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; |
|||
} |
|||
}); |
|||
|
|||
//人员类别 |
|||
getapi("/api/app/personnel-type/in-filter").then((res) => { |
|||
if (res.code == 1) { |
|||
this.dict.personnelType = res.data; |
|||
} |
|||
}); |
|||
|
|||
//婚姻状况 |
|||
getapi("/api/app/MaritalStatus/GetMaritalStatusList").then((res) => { |
|||
if (res.code == 1) { |
|||
this.dict.maritalStatus = res.data; |
|||
} |
|||
}); |
|||
|
|||
//性激素期 |
|||
getapi("/api/app/sex-hormone-term/in-filter").then((res) => { |
|||
if (res.code == 1) { |
|||
this.dict.sexHormoneTerm = res.data; |
|||
} |
|||
}); |
|||
|
|||
//民族 |
|||
getapi("/api/app/nation/in-filter").then((res) => { |
|||
if (res.code != -1) { |
|||
this.dict.nation = res.data; |
|||
} |
|||
}); |
|||
|
|||
//籍惯 ,出生地 |
|||
getapi("/api/app/birth-place/in-filter").then((res) => { |
|||
if (res.code == 1) { |
|||
this.dict.birthPlace = res.data; |
|||
} |
|||
}); |
|||
|
|||
//套餐 |
|||
postapi("/api/app/medicalpackage/GetBasicList",{}).then((res) => { |
|||
if (res.code == 1) { |
|||
this.dict.medicalPackage = res.data; |
|||
} |
|||
}); |
|||
|
|||
//分组,所有分组,不限单位,不限次数 |
|||
getapi("/api/app/customerorggroup/getlistinfilter").then((res) => { |
|||
if (res.code > -1) { |
|||
this.dict.customerOrgGroupAll = res.data; |
|||
} |
|||
}); |
|||
|
|||
//支付方式 |
|||
getapi("/api/app/pay-mode").then((res) => { |
|||
if (res.code == 1) { |
|||
this.dict.payMode = res.data; |
|||
} |
|||
}); |
|||
|
|||
}, |
|||
}, |
|||
|
|||
//监听事件() |
|||
watch: { |
|||
|
|||
}, |
|||
}; |
|||
</script> |
|||
<style scoped> |
|||
@import '../../assets/css/global_button.css'; |
|||
@import '../../assets/css/global_dialog.css'; |
|||
@import '../../assets/css/global_form.css'; |
|||
@import '../../assets/css/global_input.css'; |
|||
@import '../../assets/css/global_table.css'; |
|||
@import '../../assets/css/global.css'; |
|||
.box { |
|||
display: flex; |
|||
} |
|||
</style> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue