体检管理bug调整

This commit is contained in:
2026-04-11 17:46:16 +08:00
parent 91c5d8a446
commit ab7eb2fe3d
21 changed files with 403 additions and 95 deletions
@@ -82,6 +82,9 @@ layout("/layouts/platform.html"){
<el-button type="primary" size="small" @click="openImportMedicalExaminationReport"
v-if="$auth.hasPermissionOr(['healthCheckup.list.import.medicalExamination'])">导入体检报告
</el-button>
<el-button type="primary" size="small" @click="exportData"
v-if="$auth.hasRoleOr(['SYSADMIN','BRANCH_UNION_ADMIN','BRANCH_UNION_CHAIRMAN'])">导出
</el-button>
<el-button :disabled="!pageForm.projectId" type="primary" size="small"
@click="doAudit(true)">确认名单
</el-button>
@@ -133,11 +136,16 @@ layout("/layouts/platform.html"){
</template>
</el-table-column>
<el-table-column prop="userOnline" align="center" header-align="center"
label="操作" width="160px"
label="操作" width="250px"
fixed="right">
<template slot-scope="{row}">
<el-button @click="openEditRemarks(row)" size="mini"
v-if="$auth.hasRoleOr(['SYSADMIN','BRANCH_UNION_ADMIN','BRANCH_UNION_CHAIRMAN'])"
type="primary">
编辑备注
</el-button>
<el-button @click="openEditHealthCheckup(row)" size="mini"
v-if="$auth.hasRoleOr(['SYSADMIN'])"
v-if="$auth.hasRoleOr(['SYSADMIN','HEALTH_ADMIN'])"
type="primary">
编辑
</el-button>
@@ -192,6 +200,19 @@ layout("/layouts/platform.html"){
</el-button>
</el-row>
</el-dialog>
<el-dialog title="修改备注" :visible.sync="doEditRemarksDialog" width="50%"
:close-on-click-modal="false">
<el-form label-width="120px" ref="editRemarksForm" :model="doEditRemarks">
<el-form-item label="备注" prop="bz">
<el-input v-model="doEditRemarks.remarks" type="textarea" rows="5"
placeholder="请输入备注"></el-input>
</el-form-item>
</el-form>
<el-row type="flex" justify="end">
<el-button @click="doEditRemarksDialog=false" type="primary" plain>取消</el-button>
<el-button @click="doEditRemarksFun" type="primary" v-loading="loading">确定</el-button>
</el-row>
</el-dialog>
<excel-import
@@ -250,7 +271,12 @@ layout("/layouts/platform.html"){
//导入名单
importVisible: false,
importVisibleExaminationReport: false,
doEditRemarksDialog: false,
doEditRemarks: {
userId: "",
projectId: "",
remarks: "",
},
campusOptions: [],
}
},
@@ -419,6 +445,40 @@ layout("/layouts/platform.html"){
}
}
},
openEditRemarks(row){
this.doEditRemarks.userId = row.id;
this.doEditRemarks.projectId = this.pageForm.projectId;
this.doEditRemarksDialog = true;
},
async doEditRemarksFun(){
this.$refs['editRemarksForm'].validate(async valid => {
if (valid) {
this.loading = true
const resp = await $.post(loc() + "/doEditRemarks", this.doEditRemarks)
this.doEditRemarksDialog=false
if (resp.code === 0) {
this.notifySuccess(resp.msg)
this.doSearch()
} else {
this.notifyWarning(resp.msg)
}
this.loading = false
}
})
},
async exportData(){
const {year, searchKeyword, projectId, subjectId, unionId, unitId, physicalExaminationStatus, pageOrderName, pageOrderBy} = this.pageForm
window.open(loc() + '/exportHealthUser?year=' + year +
'&projectId=' + projectId +
'&unionId=' + (unionId ? unionId : '') +
'&searchKeyword=' + (searchKeyword ? searchKeyword : '') +
'&subjectId=' + (subjectId ? subjectId : '') +
'&unitId=' + (unitId ? unitId : '') +
'&physicalExaminationStatus=' + (physicalExaminationStatus ? physicalExaminationStatus : '') +
'&pageOrderName=' + (pageOrderName ? pageOrderName : '') +
'&pageOrderBy=' + (pageOrderBy ? pageOrderBy : '')
)
},
},
async created() {
this.unions = await this.$businessTool.listUnion()
@@ -426,8 +486,6 @@ layout("/layouts/platform.html"){
await this.yearChange()
this.pageData()
await this.queryCampus()
}
})
</script>
@@ -236,7 +236,10 @@ layout("/layouts/platform.html"){
</el-select>
</el-form-item>
</el-form>
<el-row justify="end" type="flex">
<el-row>
<span style="color: red; padding-left: 52px;">温馨提示:系统默认选择去年的体检项目,新入职教职工选用本年校医院套餐</span>
</el-row>
<el-row justify="end" type="flex" style="margin-top: 15px">
<el-button @click="selectLastYearProject=false">取消</el-button>
<el-button @click="selectOptionByLastYear" type="primary" :loading="loading">提交</el-button>
</el-row>
@@ -130,7 +130,7 @@ layout("/layouts/platform.html"){
</el-card>
<el-dialog title="费用报销须知" :visible.sync="noticeDialogVisible" v-model="noticeDialogVisible">
<div style="max-height: 50vh; overflow-y: auto; white-space: pre-line">
<div style="max-height: 50vh; overflow-y: auto; white-space: pre-line; ">
{{friendlyReminderText}}
</div>
<div slot="footer">
@@ -77,7 +77,7 @@ const applyForm = {
this.$set(this.formData, 'activityId', row.activityId)
this.$set(this.formData, 'courseId', row.id)
this.dynamicColumnsData = courseType ? courseType.trainMobileSignColumnList : []
this.dynamicColumnsData = courseType ? courseType.smartBenefitsMobileSignColumnList : []
this.dynamicColumnsData.forEach((item) => {
item.columnValue = this.$store.state.user[item.columnCode] || ""
})
@@ -62,6 +62,12 @@ layout("/layouts/platform_h5.html"){
<span>去报名</span>
</div>
</template>
<template v-else>
<div class="action-btn" @click="look(row)">
<van-icon name="eye-o" />
<span>查看</span>
</div>
</template>
</template>
</table-list>
@@ -132,6 +138,9 @@ layout("/layouts/platform_h5.html"){
// 初始化状态
this.$set(this.pageForm, "status", "ongoing")
},
look(row) {
this.$pjaxReplace("/platform/healthCheckup/h5/physicalExaminationList?projectId=" + row.id)
}
},
created() {
this.initData()
@@ -19,7 +19,7 @@ layout("/layouts/platform_h5.html"){
<van-nav-bar @click-left="historyBack" left-arrow left-text="返回" title="报名详情" placeholder
fixed></van-nav-bar>
<div style="padding: 15px 20px">
<van-button round type="primary" size="large" color="#0db776" class="buttonClass" @click="userMessage"><van-icon name="user-o" size="27px"/> 基础信息确认</van-button>
<van-button round type="primary" size="large" color="#0db776" class="buttonClass" @click="userMessage"><van-icon name="user-o" size="27px"/> 基础信息查询</van-button>
<van-button round type="primary" size="large" color="#2cabdd" class="buttonClass" @click="selectPhysicalExaminationHospital"><van-icon name="records-o" size="27px"/> 选择体检医院</van-button>
<van-button round type="primary" size="large" color="#eca807" class="buttonClass" @click="minePhysicalExaminationHospital"><van-icon name="idcard" size="27px"/> 我的体检医院</van-button>
</div>
@@ -88,13 +88,13 @@ layout("/layouts/platform_h5.html"){
let friendlyReminderStatus = sessionStorage.getItem("friendlyReminderStatus");
if (friendlyReminderStatus == "0" ) {
this.show = true;
this.confirmButtonText = '已知(' + this.count + ''
this.confirmButtonText = '已知' + this.count + ''
let timer = setInterval(() => {
this.count--;
this.confirmButtonText = '已知(' + this.count + ''
this.confirmButtonText = '已知' + this.count + ''
if (this.count <= 0) {
this.confirmDisabled = false;
this.confirmButtonText = '已知';
this.confirmButtonText = '已知';
clearInterval(timer);
}
}, 1000);
@@ -44,7 +44,6 @@ layout("/layouts/platform_h5.html"){
pageSize: 10,
totalCount: 0,
year: "",
status: "ongoing", // 默认为进行中
name: "", // 添加搜索名称字段
projectId: ""
},
@@ -99,12 +98,11 @@ layout("/layouts/platform_h5.html"){
this.yearList.unshift({value: i, text: i + "年"})
}
this.$set(this.pageForm, "year", this.yearList[0].value)
// 初始化状态
this.$set(this.pageForm, "status", "ongoing")
this.pageForm.projectId = GetQueryString("projectId");
},
look() {
this.$pjaxReplace("/platform/healthCheckup/h5/physicalExaminationList?projectId=" + this.pageForm.projectId)
look(row) {
this.$pjaxReplace("/platform/healthCheckup/h5/physicalExaminationList?projectId=" + row.projectId)
}
},
created() {
@@ -33,18 +33,36 @@ layout("/layouts/platform_h5.html"){
<van-cell title="出生年月">{{$moment(formData.birthday).format('YYYY-MM-DD')}}</van-cell>
<van-cell title="单位">{{formData.unitName}}</van-cell>
</van-cell-group>
<van-cell-group title="本年度预约体检医院">
<van-cell title="本年度预约体检医院">{{getSelectedOptionName}}</van-cell>
<van-field
input-align="right"
readonly
required
label="所选医院额度"
name="marriage"
placeholder="请选择医院"
v-model="formData.money"
:rules="[{ required: true, message: '请选择医院' }]"></van-field>
</van-cell-group>
<van-cell-group title="本年度预约体检医院">
<div class="van-card-body">
<van-radio-group v-model="formData.subjectId" class="basic" disabled >
<van-cell-group>
<van-cell
v-for="(item,index) in project.healthCheckupProjectSubjects"
:key="item.id"
:title="(index + 1) + '、' +item.optionName">
<template #label>
<div style="display: flex; justify-content: space-between; margin-left: 8px">
<div @click.stop="viewDesc(item)" style="color: #0e78c5; padding-left: 15px">查看说明</div>
</div>
</template>
<template #right-icon>
<van-radio :name="item.id" ></van-radio>
</template>
</van-cell>
</van-cell-group>
</van-radio-group>
</div>
<van-field
input-align="right"
readonly
required
label="所选医院额度"
name="marriage"
placeholder="请选择医院"
v-model="formData.money"
:rules="[{ required: true, message: '请选择医院' }]"></van-field>
</van-cell-group>
<van-cell-group title="上年度预约体检医院">
<div class="van-card-body">
<van-cell title="上年度体检医院" :value="formData.lastYearHospital" />
@@ -20,7 +20,7 @@ layout("/layouts/platform_h5.html"){
<van-cell title="性别">
<template #right-icon>
<van-radio-group v-model="formData.sex" direction="horizontal">
<van-radio-group v-model="formData.sex" direction="horizontal" disabled >
<van-radio name="男"></van-radio>
<van-radio name="女"></van-radio>
</van-radio-group>
@@ -31,6 +31,7 @@ layout("/layouts/platform_h5.html"){
input-align="right"
label="手机号码"
name="phone"
readonly
required
v-model="formData.phone"
:rules="[{ required: false, message: '手机号码',trigger: ['blur', 'change'] },{ pattern: /^1[3456789]\d{9}$/, message: '输入正确的手机号码'}]">
@@ -39,6 +40,7 @@ layout("/layouts/platform_h5.html"){
input-align="right"
label="身份证号"
name="card"
readonly
required
placeholder="请联系输入身份证号"
v-model="formData.card"
@@ -47,7 +49,7 @@ layout("/layouts/platform_h5.html"){
<van-cell title="人员类型">{{formData.personType}}</van-cell>
<van-cell title="婚姻状态">
<template #right-icon>
<van-radio-group v-model="formData.marriage" direction="horizontal">
<van-radio-group v-model="formData.marriage" direction="horizontal" disabled >
<van-radio name="已婚">已婚</van-radio>
<van-radio name="未婚">未婚</van-radio>
</van-radio-group>
@@ -56,10 +58,10 @@ layout("/layouts/platform_h5.html"){
</van-cell-group>
<!-- 按钮区域 -->
<div class="form-actions">
<van-button type="primary"
class="buttonClass"
<van-button class="buttonClass"
@click-left="historyBack"
block
native-type="submit">提交&修改</van-button>
native-type="submit">返回</van-button>
</div>
</van-form>
</div>