体检移动端
This commit is contained in:
+195
@@ -0,0 +1,195 @@
|
|||||||
|
package com.budwk.app.zhgh.dayofficework.healthCheckup.h5controller;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import cn.dev33.satoken.annotation.SaMode;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.budwk.app.base.page.Pagination;
|
||||||
|
import com.budwk.app.base.param.PageForm;
|
||||||
|
import com.budwk.app.base.result.Result;
|
||||||
|
import com.budwk.app.base.service.BaseService;
|
||||||
|
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||||
|
import com.budwk.app.zhgh.dayofficework.healthCheckup.model.HealthCheckupCampus;
|
||||||
|
import com.budwk.app.zhgh.dayofficework.healthCheckup.model.HealthCheckupProject;
|
||||||
|
import com.budwk.app.zhgh.dayofficework.healthCheckup.model.HealthCheckupUserSelection;
|
||||||
|
import com.budwk.app.zhgh.dayofficework.healthCheckup.service.HealthCheckupProjectService;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||||
|
import org.nutz.dao.Cnd;
|
||||||
|
import org.nutz.dao.Sqls;
|
||||||
|
import org.nutz.dao.sql.Sql;
|
||||||
|
import org.nutz.ioc.aop.Aop;
|
||||||
|
import org.nutz.ioc.loader.annotation.Inject;
|
||||||
|
import org.nutz.ioc.loader.annotation.IocBean;
|
||||||
|
import org.nutz.lang.Lang;
|
||||||
|
import org.nutz.lang.util.NutMap;
|
||||||
|
import org.nutz.mvc.annotation.At;
|
||||||
|
import org.nutz.mvc.annotation.Ok;
|
||||||
|
import org.nutz.mvc.annotation.Param;
|
||||||
|
import org.nutz.trans.Trans;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author : hongqiwei
|
||||||
|
* @description :
|
||||||
|
* @createDate : 2025/9/11 14:31
|
||||||
|
*/
|
||||||
|
|
||||||
|
@IocBean
|
||||||
|
@Ok("json:full")
|
||||||
|
@At("/platform/healthCheckup/h5")
|
||||||
|
public class H5HealthCheckupController {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private BaseService baseService;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private HealthCheckupProjectService healthCheckupProjectService;
|
||||||
|
|
||||||
|
@At("/list")
|
||||||
|
@Ok("beetl:/platform/zhghh5/dayofficework/healthCheckup/list/index.html")
|
||||||
|
@SaCheckPermission("h5.healthCheckup.list")
|
||||||
|
public void list() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@At("/mine")
|
||||||
|
@Ok("beetl:/platform/zhghh5/dayofficework/healthCheckup/mine/index.html")
|
||||||
|
@SaCheckPermission("h5.healthCheckup.mine")
|
||||||
|
public void mine() {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@At
|
||||||
|
@ApiOperation("获取项目列表")
|
||||||
|
@SaCheckPermission(value = {"h5.healthCheckup.list", "h5.healthCheckup.mine"}, mode = SaMode.OR)
|
||||||
|
public Object pageData(PageForm pageForm,
|
||||||
|
String status,
|
||||||
|
String name) {
|
||||||
|
Sql sql = Sqls.create("""
|
||||||
|
select
|
||||||
|
*,
|
||||||
|
(select count(*) from health_checkup_user_selection s where s.projectId=p.id and s.selectUserId=@userId) as selectCount
|
||||||
|
from
|
||||||
|
health_checkup_project p
|
||||||
|
$condition
|
||||||
|
""");
|
||||||
|
sql.setParam("userId", SecurityUtil.getUserId());
|
||||||
|
Cnd cnd = Cnd.NEW();
|
||||||
|
// 根据 status 参数筛选进行中或已结束的项目
|
||||||
|
if ("ongoing".equals(status)) {
|
||||||
|
// 进行中的项目:结束时间大于等于当前时间
|
||||||
|
cnd.and("p.choiceTimeEnd", ">=", DateUtil.now());
|
||||||
|
} else if ("finished".equals(status)) {
|
||||||
|
// 已结束的项目:结束时间小于当前时间
|
||||||
|
cnd.and("p.choiceTimeEnd", "<", DateUtil.now());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 只有当name参数不为空时才添加名称查询条件
|
||||||
|
if (StrUtil.isNotBlank(name)) {
|
||||||
|
cnd.and("p.name", "like", "%" + name + "%");
|
||||||
|
}
|
||||||
|
cnd.asc("selectCount");
|
||||||
|
sql.setCondition(cnd);
|
||||||
|
return Result.success(healthCheckupProjectService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql));
|
||||||
|
}
|
||||||
|
|
||||||
|
@At
|
||||||
|
@SaCheckPermission(value = {"h5.healthCheckup.list", "h5.healthCheckup.mine"}, mode = SaMode.OR)
|
||||||
|
public Object mineData(PageForm pageForm, String status) {
|
||||||
|
Sql sql = Sqls.create("""
|
||||||
|
SELECT
|
||||||
|
us.*,
|
||||||
|
p.name,
|
||||||
|
p.choiceTimeStart,
|
||||||
|
p.choiceTimeEnd,
|
||||||
|
p.cover
|
||||||
|
FROM
|
||||||
|
health_checkup_user_selection us
|
||||||
|
LEFT JOIN health_checkup_project p ON us.projectId = p.id
|
||||||
|
$condition
|
||||||
|
""");
|
||||||
|
Cnd cnd = Cnd.NEW();
|
||||||
|
cnd.and("us.selectUserId", "=", SecurityUtil.getUserId());
|
||||||
|
// 根据 status 参数筛选进行中或已结束的项目
|
||||||
|
if ("ongoing".equals(status)) {
|
||||||
|
// 进行中的项目:结束时间大于等于当前时间
|
||||||
|
cnd.and("p.choiceTimeEnd", ">=", DateUtil.now());
|
||||||
|
} else if ("finished".equals(status)) {
|
||||||
|
// 已结束的项目:结束时间小于当前时间
|
||||||
|
cnd.and("p.choiceTimeEnd", "<", DateUtil.now());
|
||||||
|
}
|
||||||
|
sql.setCondition(cnd);
|
||||||
|
Pagination pagination = baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||||
|
return Result.success(pagination);
|
||||||
|
}
|
||||||
|
|
||||||
|
@At
|
||||||
|
@Aop(TransAop.READ_COMMITTED)
|
||||||
|
@SaCheckPermission(value = {"h5.healthCheckup.list", "h5.healthCheckup.mine"}, mode = SaMode.OR)
|
||||||
|
public Result doSubmit(@Param("userSelection") HealthCheckupUserSelection userSelection) {
|
||||||
|
if (StrUtil.isNotBlank(userSelection.getId())) {
|
||||||
|
baseService.dao().clearLinks(userSelection, "companionList");
|
||||||
|
baseService.dao().delete(HealthCheckupUserSelection.class, userSelection.getId());
|
||||||
|
userSelection.setId(null);
|
||||||
|
}
|
||||||
|
userSelection.setSelectUserId(SecurityUtil.getUserId());
|
||||||
|
userSelection.setSelectTime(new Date());
|
||||||
|
baseService.dao().insertWith(userSelection, "companionList");
|
||||||
|
return Result.success("提交成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
@At
|
||||||
|
@Aop(TransAop.READ_COMMITTED)
|
||||||
|
@SaCheckPermission(value = {"h5.healthCheckup.list", "h5.healthCheckup.mine"}, mode = SaMode.OR)
|
||||||
|
public Result cancel(String id, String projectId) {
|
||||||
|
HealthCheckupProject checkupProject = baseService.dao().fetch(HealthCheckupProject.class, projectId);
|
||||||
|
if (DateUtil.compare(new Date(), checkupProject.getChoiceTimeEnd()) > 0) {
|
||||||
|
return Result.error("抱歉,当前时间已经不能取消");
|
||||||
|
}
|
||||||
|
HealthCheckupUserSelection userSelection = baseService.dao().fetch(HealthCheckupUserSelection.class, id);
|
||||||
|
baseService.dao().clearLinks(userSelection, "companionList");
|
||||||
|
baseService.dao().delete(HealthCheckupUserSelection.class, userSelection.getId());
|
||||||
|
return Result.success("取消成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@At
|
||||||
|
@SaCheckPermission(value = {"h5.healthCheckup.list", "h5.healthCheckup.mine"}, mode = SaMode.OR)
|
||||||
|
public Object getCampus() {
|
||||||
|
return Result.success(baseService.dao().query(HealthCheckupCampus.class, Cnd.NEW().asc("campusCode")));
|
||||||
|
}
|
||||||
|
|
||||||
|
@At
|
||||||
|
@SaCheckPermission(value = {"h5.healthCheckup.list", "h5.healthCheckup.mine"}, mode = SaMode.OR)
|
||||||
|
public Object selectInfo(String projectId) {
|
||||||
|
HealthCheckupUserSelection userSelection = healthCheckupProjectService.dao().fetch(HealthCheckupUserSelection.class,
|
||||||
|
Cnd.where("projectId", "=", projectId).and("selectUserId", "=", SecurityUtil.getUserId()));
|
||||||
|
if (userSelection != null) {
|
||||||
|
baseService.dao().fetchLinks(userSelection, "companionList");
|
||||||
|
NutMap nutMap = Lang.obj2map(userSelection, NutMap.class);
|
||||||
|
if (userSelection.getCompanionList().size() > 0) {
|
||||||
|
nutMap.put("isFamily", "是");
|
||||||
|
} else {
|
||||||
|
nutMap.put("isFamily", "否");
|
||||||
|
}
|
||||||
|
return Result.success(nutMap);
|
||||||
|
}
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
// @At
|
||||||
|
// public Object validCondition(String cndId) {
|
||||||
|
// if(StrUtil.isBlank(cndId)) {
|
||||||
|
// return Result.success();
|
||||||
|
// }
|
||||||
|
// NutMap nutMap = healthCheckupProjectService.validCondition(cndId);
|
||||||
|
// if(!nutMap.getBoolean("flag")) {
|
||||||
|
// return Result.error("选择条件:" + nutMap.getString("msg"));
|
||||||
|
// }
|
||||||
|
// return null;
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,214 @@
|
|||||||
|
<!--#
|
||||||
|
layout("/layouts/platform_h5.html"){
|
||||||
|
#-->
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.list-card {
|
||||||
|
position: relative;
|
||||||
|
margin: 10px;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 6px;
|
||||||
|
box-shadow: 0 8px 12px #ebedf0;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-card > .content {
|
||||||
|
padding: 8px 5px;
|
||||||
|
display: flex;
|
||||||
|
max-height: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-right {
|
||||||
|
width: calc(100% - 150px);
|
||||||
|
max-width: calc(100% - 150px);
|
||||||
|
padding-left: 15px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cr-title {
|
||||||
|
line-height: 20px;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.concat, .mobile, .union {
|
||||||
|
font-size: 13px;
|
||||||
|
line-height: 18px;
|
||||||
|
width: 100%;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.desc_info div {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tag {
|
||||||
|
position: absolute;
|
||||||
|
display: inline-block;
|
||||||
|
background-color: #1867b0;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 14px;
|
||||||
|
top: 0px;
|
||||||
|
border-radius: 6px;
|
||||||
|
right: -3px;
|
||||||
|
padding: 0px 6px;
|
||||||
|
transform: rotate(16deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div id="app">
|
||||||
|
<van-nav-bar @click-left="historyBack" left-arrow left-text="返回" title="体检项目选择" placeholder fixed></van-nav-bar>
|
||||||
|
<van-sticky offset-top="46px">
|
||||||
|
<van-search
|
||||||
|
:reverse-color="false"
|
||||||
|
:show-action="false"
|
||||||
|
@search="doSearch"
|
||||||
|
input-align="left"
|
||||||
|
placeholder="请输入项目名称搜索"
|
||||||
|
v-model="pageForm.name"
|
||||||
|
></van-search>
|
||||||
|
<van-tabs v-model="pageForm.status"
|
||||||
|
@change="onStatusChange">
|
||||||
|
<van-tab title="进行中" name="ongoing"></van-tab>
|
||||||
|
<van-tab title="已结束" name="finished"></van-tab>
|
||||||
|
</van-tabs>
|
||||||
|
</van-sticky>
|
||||||
|
|
||||||
|
<table-list api="/platform/healthCheckup/h5/pageData" :page_form.sync="pageForm" ref="tableListRef"
|
||||||
|
@ready="doSearch">
|
||||||
|
<template v-slot="{index,row}">
|
||||||
|
<div class="list-card">
|
||||||
|
<div class="content" @click="viewProjectDetail(row)">
|
||||||
|
<van-image
|
||||||
|
height="76"
|
||||||
|
radius="8"
|
||||||
|
:src="FILE_STREAM_PREVIEW_ADDRESS+'?id='+row.cover"
|
||||||
|
width="100"
|
||||||
|
fit="cover">
|
||||||
|
<template #loading>
|
||||||
|
<van-loading type="spinner" size="20" />
|
||||||
|
</template>
|
||||||
|
<template #error>
|
||||||
|
<div style="font-size: 12px; color: #999;">暂无图片</div>
|
||||||
|
</template>
|
||||||
|
</van-image>
|
||||||
|
<div class="content-right">
|
||||||
|
<div v-if="row.selectCount <= 0" class="tag">未选择</div>
|
||||||
|
<div v-else class="tag" style="background-color: green">已选择</div>
|
||||||
|
<div class="cr-title">
|
||||||
|
<span>{{row.name}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="desc_info">
|
||||||
|
<div class="concat">
|
||||||
|
<span>开始时间:</span>
|
||||||
|
{{row.choiceTimeStart}}
|
||||||
|
</div>
|
||||||
|
<div class="mobile">
|
||||||
|
<span>结束时间:</span>
|
||||||
|
{{row.choiceTimeEnd}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style="text-align: right; padding: 0 10px 10px 0;">
|
||||||
|
<div class="action-btn" @click="onView(row)">
|
||||||
|
<i class="fa fa-edit"></i>
|
||||||
|
<span>报名</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</table-list>
|
||||||
|
|
||||||
|
<h5-project-manage-from ref="h5ProjectManageFromRef" @submit_success="doSearch"></h5-project-manage-from>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
<!--#include('../projectManageForm.js'){}#-->
|
||||||
|
const vue = new Vue({
|
||||||
|
el: "#app",
|
||||||
|
store,
|
||||||
|
components: {
|
||||||
|
"h5-project-manage-from":H5_PROJECT_MANAGE_FROM,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
viewShow: false,
|
||||||
|
yearList: [],
|
||||||
|
pageForm: {
|
||||||
|
pageNumber: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
totalCount: 0,
|
||||||
|
year: "",
|
||||||
|
status: "ongoing", // 默认为进行中
|
||||||
|
name: "" // 添加搜索名称字段
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 查看项目详情
|
||||||
|
viewProjectDetail(row) {
|
||||||
|
// 这里可以添加查看项目详情的逻辑
|
||||||
|
console.log('查看项目详情:', row);
|
||||||
|
},
|
||||||
|
|
||||||
|
onView(row) {
|
||||||
|
if(row.selectCount > 0) {
|
||||||
|
vant.Dialog.alert({
|
||||||
|
title: '温馨提示',
|
||||||
|
message: '此项活动您已选择',
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 检查项目是否已结束
|
||||||
|
const now = new Date();
|
||||||
|
const endTime = new Date(row.choiceTimeEnd);
|
||||||
|
if (now > endTime) {
|
||||||
|
vant.Toast('报名已经结束');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.viewShow = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
row.projectId=row.id
|
||||||
|
this.$refs.h5ProjectManageFromRef.onOpen(row)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
doSearch() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.pageForm.pageNumber = 1
|
||||||
|
this.pageForm.totalCount = 0
|
||||||
|
this.$refs.tableListRef.doSearch()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 新增状态切换处理方法
|
||||||
|
onStatusChange() {
|
||||||
|
this.doSearch();
|
||||||
|
},
|
||||||
|
initData() {
|
||||||
|
for (let i = new Date().getFullYear() - 10; i <= new Date().getFullYear(); i++) {
|
||||||
|
this.yearList.unshift({value: i, text: i + "年"})
|
||||||
|
}
|
||||||
|
this.$set(this.pageForm, "year", this.yearList[0].value)
|
||||||
|
// 初始化状态
|
||||||
|
this.$set(this.pageForm, "status", "ongoing")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.initData()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!--#
|
||||||
|
}
|
||||||
|
#-->
|
||||||
@@ -0,0 +1,130 @@
|
|||||||
|
<!--#
|
||||||
|
layout("/layouts/platform_h5.html"){
|
||||||
|
#-->
|
||||||
|
|
||||||
|
<div id="app">
|
||||||
|
<van-nav-bar @click-left="historyBack" left-arrow left-text="返回" title="我的体检" placeholder fixed></van-nav-bar>
|
||||||
|
<van-sticky offset-top="46px">
|
||||||
|
<van-tabs v-model="pageForm.status"
|
||||||
|
@change="onStatusChange">
|
||||||
|
<van-tab title="进行中" name="ongoing"></van-tab>
|
||||||
|
<van-tab title="已结束" name="finished"></van-tab>
|
||||||
|
</van-tabs>
|
||||||
|
</van-sticky>
|
||||||
|
|
||||||
|
|
||||||
|
<table-list api="/platform/healthCheckup/h5/mineData" :page_form.sync="pageForm" ref="tableListRef"
|
||||||
|
@ready="doSearch" title="healthCheckupName">
|
||||||
|
<template v-slot="{index,row}">
|
||||||
|
<table-column label="项目名称">{{row.name}}</table-column>
|
||||||
|
<table-column label="开始时间">{{row.choiceTimeStart}}</table-column>
|
||||||
|
<table-column label="结束时间">{{row.choiceTimeEnd}}</table-column>
|
||||||
|
</template>
|
||||||
|
<template #actions="{index,row}">
|
||||||
|
<div class="action-btn" @click="edit(row)" v-if="new Date().getTime() < new Date(row.choiceTimeEnd).getTime()">
|
||||||
|
<i class="fa fa-edit"></i>
|
||||||
|
<span>修改</span>
|
||||||
|
</div>
|
||||||
|
<div class="action-btn" @click="cancel(row)" v-if="new Date().getTime() < new Date(row.choiceTimeEnd).getTime()">
|
||||||
|
<i class="fa fa-edit"></i>
|
||||||
|
<span>取消</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</table-list>
|
||||||
|
|
||||||
|
<h5-project-manage-from ref="h5ProjectManageFromRef"></h5-project-manage-from>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
<!--#include('../projectManageForm.js'){}#-->
|
||||||
|
const vue = new Vue({
|
||||||
|
el: "#app",
|
||||||
|
store,
|
||||||
|
components: {
|
||||||
|
"h5-project-manage-from":H5_PROJECT_MANAGE_FROM,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
viewShow: false,
|
||||||
|
yearList: [],
|
||||||
|
pageForm: {
|
||||||
|
pageNumber: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
totalCount: 0,
|
||||||
|
year: "",
|
||||||
|
status: "ongoing", // 默认为进行中
|
||||||
|
name: "" // 添加搜索名称字段
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
edit(row) {
|
||||||
|
this.$refs.h5ProjectManageFromRef.onOpen(row)
|
||||||
|
},
|
||||||
|
async cancel(o) {
|
||||||
|
vant.Dialog.confirm({
|
||||||
|
title: '温馨提醒',
|
||||||
|
message: '您确定要取消此选择吗?',
|
||||||
|
}).then(async () => {
|
||||||
|
const res = await $.post('/platform/healthCheckup/h5/cancel', {id: o.id, projectId: o.projectId})
|
||||||
|
if (res.code === 0) {
|
||||||
|
vant.Toast.success('取消成功')
|
||||||
|
this.doSearch()
|
||||||
|
} else {
|
||||||
|
vant.Toast(res.msg)
|
||||||
|
}
|
||||||
|
}).catch(() => {
|
||||||
|
})
|
||||||
|
},
|
||||||
|
tabChange(val) {
|
||||||
|
this.tabName = val
|
||||||
|
this.startLoading()
|
||||||
|
this.tableData = []
|
||||||
|
this.pageForm.pageNumber = 1
|
||||||
|
this.pageData()
|
||||||
|
this.closeLoading()
|
||||||
|
},
|
||||||
|
doSearch() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.pageForm.pageNumber = 1
|
||||||
|
this.pageForm.totalCount = 0
|
||||||
|
this.$refs.tableListRef.doSearch()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 新增状态切换处理方法
|
||||||
|
onStatusChange() {
|
||||||
|
this.doSearch();
|
||||||
|
},
|
||||||
|
init() {
|
||||||
|
this.startLoading()
|
||||||
|
this.pageForm.tabName = 'ing'
|
||||||
|
this.pageData()
|
||||||
|
this.closeLoading()
|
||||||
|
},
|
||||||
|
initData() {
|
||||||
|
for (let i = new Date().getFullYear() - 10; i <= new Date().getFullYear(); i++) {
|
||||||
|
this.yearList.unshift({value: i, text: i + "年"})
|
||||||
|
}
|
||||||
|
this.$set(this.pageForm, "year", this.yearList[0].value)
|
||||||
|
// 初始化状态
|
||||||
|
this.$set(this.pageForm, "status", "ongoing")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.initData()
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
window.onload = () => {
|
||||||
|
window.addEventListener('pageshow', e => {
|
||||||
|
if (e.persisted) {
|
||||||
|
window.location.reload()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<!--#
|
||||||
|
}
|
||||||
|
#-->
|
||||||
+301
@@ -0,0 +1,301 @@
|
|||||||
|
let H5_PROJECT_MANAGE_FROM = {
|
||||||
|
template: /*language=HTML*/ `
|
||||||
|
<van-action-sheet v-model="visible" title="体检套餐选择">
|
||||||
|
<div class="form-container">
|
||||||
|
<van-form ref="formRef" @submit="doSubmit">
|
||||||
|
<van-cell-group title="体检套餐">
|
||||||
|
<div class="van-card-body">
|
||||||
|
<van-radio-group v-model="formData.subjectId" class="basic">
|
||||||
|
<van-cell-group>
|
||||||
|
<van-cell
|
||||||
|
v-for="item in project.healthCheckupProjectSubjects"
|
||||||
|
:key="item.id"
|
||||||
|
:title="item.optionName">
|
||||||
|
<template #label>
|
||||||
|
<div style="display: flex; justify-content: space-between; margin-left: 8px">
|
||||||
|
<div>{{ item.optionName }}</div>
|
||||||
|
<div @click="viewDesc(item)" style="color: #0e78c5">查看说明</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template #right-icon>
|
||||||
|
<van-radio :name="item.id"></van-radio>
|
||||||
|
</template>
|
||||||
|
</van-cell>
|
||||||
|
</van-cell-group>
|
||||||
|
</van-radio-group>
|
||||||
|
</div>
|
||||||
|
</van-cell-group>
|
||||||
|
|
||||||
|
<van-cell-group title="基础信息">
|
||||||
|
<div class="van-card-body">
|
||||||
|
<van-field
|
||||||
|
@click="campusVisible = true"
|
||||||
|
readonly
|
||||||
|
is-link
|
||||||
|
label="院区"
|
||||||
|
name="campus"
|
||||||
|
placeholder="请选择体检院区"
|
||||||
|
v-model="formData.campusName"
|
||||||
|
:rules="[{ required: true, message: '请选择体检院区' }]">
|
||||||
|
</van-field>
|
||||||
|
<van-field
|
||||||
|
:rules="[{ required: true, message: '请选择家属是否体检' }]"
|
||||||
|
label="家属体检"
|
||||||
|
name="isFamily">
|
||||||
|
<template #input>
|
||||||
|
<van-radio-group direction="horizontal" v-model="formData.isFamily">
|
||||||
|
<van-radio name="是" shape="square">是</van-radio>
|
||||||
|
<van-radio name="否" shape="square">否</van-radio>
|
||||||
|
</van-radio-group>
|
||||||
|
</template>
|
||||||
|
</van-field>
|
||||||
|
</div>
|
||||||
|
</van-cell-group>
|
||||||
|
|
||||||
|
<van-cell-group title="家属信息" v-if="formData.isFamily === '是'">
|
||||||
|
<div style="padding: 10px;">
|
||||||
|
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
|
||||||
|
<span>家属信息</span>
|
||||||
|
<div>
|
||||||
|
<van-tag @click="delCompanion" size="large" type="primary" color="lightgrey">
|
||||||
|
删除家属
|
||||||
|
</van-tag>
|
||||||
|
<van-tag @click="addCompanion" size="large" type="primary" color="#1867b0">
|
||||||
|
添加家属
|
||||||
|
</van-tag>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="formData.companionList && formData.companionList.length > 0">
|
||||||
|
<van-tabs v-model="active" type="card" color="#0e78c5" animated>
|
||||||
|
<van-tab
|
||||||
|
v-for="(item, index) in formData.companionList"
|
||||||
|
:key="index"
|
||||||
|
:title="'家属' + (index + 1)">
|
||||||
|
<van-field
|
||||||
|
label="姓名"
|
||||||
|
name="userName"
|
||||||
|
placeholder="请填写姓名"
|
||||||
|
v-model="item.userName"
|
||||||
|
:rules="[{ required: true, message: '请填写姓名' }]">
|
||||||
|
</van-field>
|
||||||
|
<van-field
|
||||||
|
:rules="[{ required: true, message: '请选择性别' }]"
|
||||||
|
label="性别"
|
||||||
|
name="sex">
|
||||||
|
<template #input>
|
||||||
|
<van-radio-group direction="horizontal" v-model="item.sex">
|
||||||
|
<van-radio name="男" shape="square">男</van-radio>
|
||||||
|
<van-radio name="女" shape="square">女</van-radio>
|
||||||
|
</van-radio-group>
|
||||||
|
</template>
|
||||||
|
</van-field>
|
||||||
|
<van-field
|
||||||
|
:rules="[{ required: true, message: '请选择婚否' }]"
|
||||||
|
label="婚否"
|
||||||
|
name="marry">
|
||||||
|
<template #input>
|
||||||
|
<van-radio-group direction="horizontal" v-model="item.marry">
|
||||||
|
<van-radio name="未婚" shape="square">未婚</van-radio>
|
||||||
|
<van-radio name="已婚" shape="square">已婚</van-radio>
|
||||||
|
</van-radio-group>
|
||||||
|
</template>
|
||||||
|
</van-field>
|
||||||
|
<van-field
|
||||||
|
label="年龄"
|
||||||
|
name="age"
|
||||||
|
placeholder="请填写年龄"
|
||||||
|
type="digit"
|
||||||
|
:rules="[{ required: true, message: '请填写年龄' }]"
|
||||||
|
v-model="item.age">
|
||||||
|
</van-field>
|
||||||
|
<van-field
|
||||||
|
label="身份证号"
|
||||||
|
name="idCard"
|
||||||
|
placeholder="请填写身份证号"
|
||||||
|
type="digit"
|
||||||
|
:rules="[{ required: true, message: '请填写身份证号' }]"
|
||||||
|
v-model="item.idCard">
|
||||||
|
</van-field>
|
||||||
|
<van-field
|
||||||
|
label="手机号"
|
||||||
|
name="mobile"
|
||||||
|
placeholder="请填写手机号"
|
||||||
|
type="digit"
|
||||||
|
:rules="[{ required: true, message: '请填写手机号' }]"
|
||||||
|
v-model="item.mobile">
|
||||||
|
</van-field>
|
||||||
|
</van-tab>
|
||||||
|
</van-tabs>
|
||||||
|
</div>
|
||||||
|
<div v-else class="empty_text">
|
||||||
|
<span>如有家属,请添加家属</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</van-cell-group>
|
||||||
|
|
||||||
|
<!-- 按钮区域 -->
|
||||||
|
<div class="form-actions">
|
||||||
|
<van-button type="primary" native-type="submit">提交</van-button>
|
||||||
|
</div>
|
||||||
|
</van-form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--体检院区弹出框-->
|
||||||
|
<van-popup position="bottom" round v-model="campusVisible">
|
||||||
|
<van-picker
|
||||||
|
title="院区"
|
||||||
|
show-toolbar
|
||||||
|
:columns="campusList"
|
||||||
|
value-key="campusName"
|
||||||
|
@confirm="onCampusConfirm"
|
||||||
|
@cancel="campusVisible = false">
|
||||||
|
</van-picker>
|
||||||
|
</van-popup>
|
||||||
|
|
||||||
|
<!--查看说明-->
|
||||||
|
<van-popup position="bottom" round v-model="descVisible" :style="{ height: '60%' }">
|
||||||
|
<div v-html="desc" class="pre_text"></div>
|
||||||
|
</van-popup>
|
||||||
|
</van-action-sheet>
|
||||||
|
`, dicts: ["ASSET_USAGE_STATE"], data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
viewData: {},
|
||||||
|
row: null,
|
||||||
|
formData: {
|
||||||
|
subjectId: '', campus: '', campusName: '', isFamily: '否', companionList: [], projectId: ''
|
||||||
|
},
|
||||||
|
assetUsageStateNameOption: [],
|
||||||
|
showAssetUsageStateNamePopup: false,
|
||||||
|
assetUseUserOption: [],
|
||||||
|
assetUseNameShow: false,
|
||||||
|
searchKeyword: "",
|
||||||
|
active: 0,
|
||||||
|
campusList: [],
|
||||||
|
campusVisible: false,
|
||||||
|
descVisible: false,
|
||||||
|
desc: '',
|
||||||
|
project: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 打开表单
|
||||||
|
async onOpen(row) {
|
||||||
|
this.row = row;
|
||||||
|
this.visible = true;
|
||||||
|
await this.getCampus()
|
||||||
|
await this.findSubject(row.projectId)
|
||||||
|
if (row.projectId) {
|
||||||
|
this.selectInfo(row);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
async selectInfo(row) {
|
||||||
|
//this.formData.projectId = row.projectId;
|
||||||
|
const resp = await $.post('/platform/healthCheckup/h5/selectInfo', {projectId: row.projectId});
|
||||||
|
if (resp.data !== null) {
|
||||||
|
this.formData = resp.data;
|
||||||
|
const o = this.campusList.find(o => o.id === this.formData.campus)
|
||||||
|
this.formData.campusName = o.campusName
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查看说明
|
||||||
|
viewDesc(item) {
|
||||||
|
if (item.description) {
|
||||||
|
this.desc = item.description;
|
||||||
|
this.descVisible = true;
|
||||||
|
} else {
|
||||||
|
vant.Toast('暂无详细说明');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 执行提交
|
||||||
|
async doSubmit() {
|
||||||
|
const loading = this.$toast.loading({
|
||||||
|
message: "报名中...",
|
||||||
|
forbidClick: true,
|
||||||
|
overlay: true,
|
||||||
|
duration: 0
|
||||||
|
})
|
||||||
|
const formData = clone(this.formData);
|
||||||
|
formData.projectId = this.row.projectId;
|
||||||
|
if (formData.isFamily === '否') {
|
||||||
|
formData.companionList = [];
|
||||||
|
} else {
|
||||||
|
// 过滤空的家属信息
|
||||||
|
formData.companionList = formData.companionList.filter(item => item.userName && item.userName.trim() !== '');
|
||||||
|
}
|
||||||
|
|
||||||
|
const resp = await $.post('/platform/healthCheckup/h5/doSubmit', {
|
||||||
|
userSelection: JSON.stringify(formData),
|
||||||
|
});
|
||||||
|
loading.clear()
|
||||||
|
if (resp.code === 0) {
|
||||||
|
this.visible = false;
|
||||||
|
this.$toast.success(resp.msg)
|
||||||
|
this.$emit('submit_success');
|
||||||
|
} else {
|
||||||
|
this.$toast.fail(resp.msg)
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
// 添加家属
|
||||||
|
addCompanion() {
|
||||||
|
// 检查是否已达到最大数量限制
|
||||||
|
if (this.companionList && this.formData.companionList.length >= 5) {
|
||||||
|
vant.Toast('最多只能添加5个家属');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!this.formData.companionList) {
|
||||||
|
this.$set(this.formData, 'companionList', []);
|
||||||
|
}
|
||||||
|
this.formData.companionList.push({
|
||||||
|
userName: '', sex: '', marry: '', age: '', idCard: '', mobile: ''
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除家属
|
||||||
|
delCompanion() {
|
||||||
|
if (this.formData.companionList && this.formData.companionList.length > 0) {
|
||||||
|
this.formData.companionList.splice(this.active, 1);
|
||||||
|
// 确保active索引有效
|
||||||
|
if (this.active >= this.formData.companionList.length && this.active > 0) {
|
||||||
|
this.active = this.formData.companionList.length - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 院区选择确认
|
||||||
|
onCampusConfirm(value) {
|
||||||
|
this.formData.campusName = value.campusName;
|
||||||
|
this.formData.campus = value.id;
|
||||||
|
this.campusVisible = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询体检套餐
|
||||||
|
async findSubject(id) {
|
||||||
|
try {
|
||||||
|
const resp = await $.post('/platform/healthCheckup/project/mange/findOne', {
|
||||||
|
id: id
|
||||||
|
});
|
||||||
|
this.project = resp.data || {};
|
||||||
|
} catch (error) {
|
||||||
|
console.error('获取体检套餐失败:', error);
|
||||||
|
vant.Toast('获取体检套餐失败');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取院区
|
||||||
|
async getCampus() {
|
||||||
|
try {
|
||||||
|
const resp = await $.post('/platform/healthCheckup/h5/getCampus');
|
||||||
|
this.campusList = resp.data || [];
|
||||||
|
} catch (error) {
|
||||||
|
vant.Toast('获取院区失败');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+2
-3
@@ -11,8 +11,7 @@ layout("/layouts/platform_h5.html"){
|
|||||||
|
|
||||||
<div class="form-container">
|
<div class="form-container">
|
||||||
<van-form ref="formRef" >
|
<van-form ref="formRef" >
|
||||||
<!-- 子女信息 -->
|
<van-cell-group title="信息填报" class="form-section">
|
||||||
<van-cell-group title="子女信息" class="form-section">
|
|
||||||
<van-field label="经办人" v-model="formData.userName" placeholder="从信息中心获取" readonly></van-field>
|
<van-field label="经办人" v-model="formData.userName" placeholder="从信息中心获取" readonly></van-field>
|
||||||
<van-field label="工号" v-model="formData.loginName" placeholder="从信息中心获取" readonly></van-field>
|
<van-field label="工号" v-model="formData.loginName" placeholder="从信息中心获取" readonly></van-field>
|
||||||
|
|
||||||
@@ -302,7 +301,7 @@ layout("/layouts/platform_h5.html"){
|
|||||||
<div class="form-actions">
|
<div class="form-actions">
|
||||||
<van-button plain @click="onSave" type="info">保存</van-button>
|
<van-button plain @click="onSave" type="info">保存</van-button>
|
||||||
<van-button @click="onSubmit" type="primary" v-if="!taskId">提交</van-button>
|
<van-button @click="onSubmit" type="primary" v-if="!taskId">提交</van-button>
|
||||||
<van-button @click="onSubmitAgain" type="primary" v-else>提交1</van-button>
|
<van-button @click="onSubmitAgain" type="primary" v-else>提交</van-button>
|
||||||
</div>
|
</div>
|
||||||
</van-form>
|
</van-form>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -45,14 +45,8 @@ const UNION_REIMBURSE_INFO = {
|
|||||||
<van-cell title="发票号码" v-if="viewData.reimburseType === 'UNION_REIMBURSE_TYPE_1'">{{ viewData.invoice }}</van-cell>
|
<van-cell title="发票号码" v-if="viewData.reimburseType === 'UNION_REIMBURSE_TYPE_1'">{{ viewData.invoice }}</van-cell>
|
||||||
<van-cell title="支付内容">{{ viewData.paymentNotes }}</van-cell>
|
<van-cell title="支付内容">{{ viewData.paymentNotes }}</van-cell>
|
||||||
<van-cell title="附件">
|
<van-cell title="附件">
|
||||||
<div style="display: flex; flex-wrap: wrap;">
|
<file-preview :files="viewData.files" complete_result></file-preview>
|
||||||
<template v-for="(item,index) in viewData.files">
|
</van-cell>
|
||||||
<div v-if="item.url" :key="index" @click="previewOptionImg(viewData.files,index)" style="margin-right: 10px; margin-bottom: 10px;">
|
|
||||||
<van-icon name="description" /> {{ getFileName(item.name) }}
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</div>
|
|
||||||
</van-cell>
|
|
||||||
</van-cell-group>
|
</van-cell-group>
|
||||||
|
|
||||||
<template v-for="(task,index) in doneTasks">
|
<template v-for="(task,index) in doneTasks">
|
||||||
@@ -111,21 +105,6 @@ const UNION_REIMBURSE_INFO = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 获取文件名
|
|
||||||
getFileName(url) {
|
|
||||||
if (!url) return '';
|
|
||||||
const fileName = url.split('/').pop();
|
|
||||||
return fileName.length > 15 ? fileName.substring(0, 15) + '...' : fileName;
|
|
||||||
},
|
|
||||||
|
|
||||||
//预览文件
|
|
||||||
previewOptionImg(files, index) {
|
|
||||||
const file = files[index];
|
|
||||||
if (!file || !file.url) return;
|
|
||||||
|
|
||||||
// 所有文件都在新窗口打开
|
|
||||||
window.open(file.url, '_blank');
|
|
||||||
},
|
|
||||||
onOpen(row) {
|
onOpen(row) {
|
||||||
this.row = row
|
this.row = row
|
||||||
this.visible = true
|
this.visible = true
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
const childManageInfo = {
|
const CHILD_MANAGE_INFO = {
|
||||||
template:
|
template:
|
||||||
/*language=HTML*/`
|
/*language=HTML*/`
|
||||||
<div>
|
<van-action-sheet v-model="visible" title="查看详情">
|
||||||
<div class="process-title">子女信息</div>
|
<div class="detail-container">
|
||||||
<van-cell-group>
|
<van-cell-group>
|
||||||
<van-cell title="姓名">{{ viewData.childrenName }}</van-cell>
|
<van-cell title="姓名">{{ viewData.childrenName }}</van-cell>
|
||||||
<van-cell title="就读年级">
|
<van-cell title="就读年级">
|
||||||
@@ -32,10 +32,13 @@
|
|||||||
</van-cell>
|
</van-cell>
|
||||||
</van-cell-group>
|
</van-cell-group>
|
||||||
</div>
|
</div>
|
||||||
|
<slot></slot>
|
||||||
|
</van-action-sheet>
|
||||||
`,
|
`,
|
||||||
dicts: ["CHILD_MANAGE_GRADE"],
|
dicts: ["CHILD_MANAGE_GRADE"],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
visible:false,
|
||||||
viewData: {},
|
viewData: {},
|
||||||
activeName: "first",
|
activeName: "first",
|
||||||
isScrollNow: "0"
|
isScrollNow: "0"
|
||||||
@@ -43,12 +46,28 @@
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onOpen(row) {
|
onOpen(row) {
|
||||||
this.$axios.post("/platform/childManage/write/findOne", { id: row.id }).then((res) => {
|
this.row = row
|
||||||
|
this.visible = true
|
||||||
|
this.getInfo()
|
||||||
|
},
|
||||||
|
// 关闭
|
||||||
|
onClose(){
|
||||||
|
this.visible = false
|
||||||
|
},
|
||||||
|
// 获取申请信息
|
||||||
|
getInfo() {
|
||||||
|
this.$axios.post("/platform/childManage/write/findOne", {id: this.row.id}).then((res) => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.viewData = res.data
|
this.viewData = res.data
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
},
|
||||||
|
// 查看
|
||||||
|
openView(id) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.infoDialogRef.onOpen(id)
|
||||||
|
})
|
||||||
|
},
|
||||||
},
|
},
|
||||||
style: /*language=CSS*/ `
|
style: /*language=CSS*/ `
|
||||||
|
|
||||||
|
|||||||
@@ -53,15 +53,7 @@ layout("/layouts/platform_h5.html"){
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</table-list>
|
</table-list>
|
||||||
<van-popup :style="{ height: '100%',width: '100%'}" position="right" safe-area-inset-bottom v-model="viewShow">
|
<child-manage-info ref="childManageInfoRef"></child-manage-info>
|
||||||
<van-sticky>
|
|
||||||
<van-nav-bar @click-left="viewShow = false" left-arrow left-text="返回" title="详细信息"></van-nav-bar>
|
|
||||||
</van-sticky>
|
|
||||||
<div style="height: calc(100vh - 44px); overflow-y: auto">
|
|
||||||
<info ref="infoRef"></info>
|
|
||||||
</div>
|
|
||||||
</van-popup>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@@ -72,12 +64,13 @@ layout("/layouts/platform_h5.html"){
|
|||||||
store,
|
store,
|
||||||
dicts: ["CHILD_MANAGE_GRADE"],
|
dicts: ["CHILD_MANAGE_GRADE"],
|
||||||
components: {
|
components: {
|
||||||
info:childManageInfo
|
"child-manage-info":CHILD_MANAGE_INFO
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
viewShow: false,
|
viewShow: false,
|
||||||
yearList: [],
|
yearList: [],
|
||||||
|
infoShow: false,
|
||||||
pageForm: {
|
pageForm: {
|
||||||
pageNumber: 1,
|
pageNumber: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
@@ -88,10 +81,8 @@ layout("/layouts/platform_h5.html"){
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onView(row) {
|
onView(row) {
|
||||||
this.viewShow = true
|
this.showApprovalForm = false
|
||||||
this.$nextTick(() => {
|
this.$refs.childManageInfoRef.onOpen(row)
|
||||||
this.$refs.infoRef.onOpen(row)
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
onEdit(row) {
|
onEdit(row) {
|
||||||
window.location.href = '/platform/childManage/write/h5?bizId=' + row.id
|
window.location.href = '/platform/childManage/write/h5?bizId=' + row.id
|
||||||
|
|||||||
@@ -46,15 +46,7 @@ layout("/layouts/platform_h5.html"){
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</table-list>
|
</table-list>
|
||||||
<van-popup :style="{ height: '100%',width: '100%'}" position="right" safe-area-inset-bottom v-model="viewShow">
|
<child-manage-info ref="childManageInfoRef"></child-manage-info>
|
||||||
<van-sticky>
|
|
||||||
<van-nav-bar @click-left="viewShow = false" left-arrow left-text="返回" title="详细信息"></van-nav-bar>
|
|
||||||
</van-sticky>
|
|
||||||
<div style="height: calc(100vh - 44px); overflow-y: auto">
|
|
||||||
<info ref="infoRef"></info>
|
|
||||||
</div>
|
|
||||||
</van-popup>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@@ -65,12 +57,13 @@ layout("/layouts/platform_h5.html"){
|
|||||||
store,
|
store,
|
||||||
dicts: ["CHILD_MANAGE_GRADE"],
|
dicts: ["CHILD_MANAGE_GRADE"],
|
||||||
components: {
|
components: {
|
||||||
info:childManageInfo
|
"child-manage-info":CHILD_MANAGE_INFO
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
viewShow: false,
|
viewShow: false,
|
||||||
yearList: [],
|
yearList: [],
|
||||||
|
infoShow: false,
|
||||||
pageForm: {
|
pageForm: {
|
||||||
pageNumber: 1,
|
pageNumber: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
@@ -81,10 +74,8 @@ layout("/layouts/platform_h5.html"){
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onView(row) {
|
onView(row) {
|
||||||
this.viewShow = true
|
this.showApprovalForm = false
|
||||||
this.$nextTick(() => {
|
this.$refs.childManageInfoRef.onOpen(row)
|
||||||
this.$refs.infoRef.onOpen(row)
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
onEdit(row) {
|
onEdit(row) {
|
||||||
window.location.href = '/platform/childManage/write/h5?bizId=' + row.id
|
window.location.href = '/platform/childManage/write/h5?bizId=' + row.id
|
||||||
|
|||||||
Reference in New Issue
Block a user