工会干部培训
This commit is contained in:
+1
-1
@@ -149,7 +149,7 @@ public class ActivityCultureApplyActivityController {
|
||||
}
|
||||
return Result.success();
|
||||
}
|
||||
if (tissue.getIsUnseal() && tissue.getIsEnrollSystem()) {
|
||||
if (tissue.getIsUnseal()!=null && tissue.getIsUnseal() && tissue.getIsEnrollSystem()) {
|
||||
Sys_home_activity sysHomeActivity = tissue.covertToSysHomeActivity();
|
||||
activityCultureService.insertOrUpdate(sysHomeActivity);
|
||||
}
|
||||
|
||||
+1
-1
@@ -137,7 +137,7 @@ public class ActivityCultureAuditActivityController {
|
||||
public Result doReview(@Param("data") String param, String id) {
|
||||
Dict args = Json.fromJson(Dict.class, param);
|
||||
ActivityTissue tissue = activityCultureService.dao().fetch(ActivityTissue.class, id);
|
||||
if (tissue.getIsUnseal() && args.getInt("submitType") == 1) {
|
||||
if (tissue.getIsUnseal()!=null &&tissue.getIsUnseal() && args.getInt("submitType") == 1) {
|
||||
Sys_home_activity sysHomeActivity = tissue.covertToSysHomeActivity();
|
||||
activityCultureService.insertOrUpdate(sysHomeActivity);
|
||||
}
|
||||
|
||||
@@ -231,6 +231,7 @@ public class ActivityTissue extends BaseModel implements Serializable, SysHomeCo
|
||||
|
||||
@Column
|
||||
@Comment("是否开启")
|
||||
@Default("0")
|
||||
@ColDefine(type = ColType.BOOLEAN)
|
||||
private Boolean isUnseal;
|
||||
|
||||
|
||||
+4
@@ -3,9 +3,12 @@ package com.budwk.app.zhgh.dayofficework.cadreTraining.controller;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
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.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.dayofficework.cadreTraining.model.CadreTrainingAct;
|
||||
import com.budwk.app.zhgh.dayofficework.cadreTraining.service.CadreTrainingActService;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -14,6 +17,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.util.cri.Static;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
|
||||
+30
-3
@@ -1,10 +1,12 @@
|
||||
package com.budwk.app.zhgh.dayofficework.cadreTraining.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
@@ -13,7 +15,9 @@ import com.budwk.app.flow.engine.FlowEngine;
|
||||
import com.budwk.app.flow.entity.ProcessInstance;
|
||||
import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
|
||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.activity.culture.models.ActivityTissuePerson;
|
||||
import com.budwk.app.zhgh.dayofficework.cadreTraining.model.CadreTrainingAct;
|
||||
import com.budwk.app.zhgh.dayofficework.cadreTraining.model.CadreTrainingSignUp;
|
||||
import com.budwk.app.zhgh.dayofficework.cadreTraining.service.CadreTrainingActService;
|
||||
@@ -25,8 +29,10 @@ import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.Static;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
@@ -59,19 +65,26 @@ public class CadreTrainingSignUpController {
|
||||
@At
|
||||
@SaCheckPermission("cadreTraining.branchUnionSignUp")
|
||||
@ApiOperation("分页查询")
|
||||
public Result pageData(@Valid PageForm pageForm,Integer year) {
|
||||
public Result pageData(@Valid PageForm pageForm,Integer year, boolean isEnrolled) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
info.*
|
||||
info.*,
|
||||
CASE WHEN cts.id IS NOT NULL THEN 1 ELSE 0 END AS isEnrolled
|
||||
FROM
|
||||
cadre_training info
|
||||
LEFT JOIN cadre_training_signup cts on cts.cadreTrainingActId=info.id AND (cts.applyUserId = @userId OR cts.userId = @userId)
|
||||
$condition
|
||||
""");
|
||||
""").setParam("userId", SecurityUtil.getUserId());
|
||||
Cnd cnd = Cnd.NEW();
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(),
|
||||
RoleConstant.BRANCH_UNION_CHAIRMAN.name())) {
|
||||
cnd.and(new Static("(SELECT COUNT(1) FROM activity_user_scope WHERE groupId=activityGroupId AND userId='%s') >0".formatted(SecurityUtil.getUserId())));
|
||||
}
|
||||
cnd.andEX("year(signUpStartTime)", "=", year);
|
||||
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
cnd.where().andLike(CadreTrainingAct::getName, pageForm.getSearchKeyword());
|
||||
}
|
||||
cnd.and("cts.id", isEnrolled ? "IS NOT" : "IS", null);
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = cadreTrainingActService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
@@ -98,6 +111,20 @@ public class CadreTrainingSignUpController {
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckLogin
|
||||
@ApiOperation(value = "队友搜索")
|
||||
public Result queryTeammate(@Valid String keyword) {
|
||||
Sql sql = Sqls.create("select id userId,username userName,loginname loginName,sex,mobile,unitName,unionId,unionName from vw_user $condition limit 0,10");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.or(Cnd.likeEX("username", keyword));
|
||||
cnd.or(Cnd.likeEX("loginname", keyword));
|
||||
cnd.and("unionid", "=", SecurityUtil.getUnionId());
|
||||
sql.setCondition(cnd);
|
||||
List<NutMap> list = cadreTrainingActService.listMap(sql);
|
||||
return Result.success(list);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@At
|
||||
|
||||
+5
@@ -37,6 +37,11 @@ public class CadreTrainingAct extends BaseModel {
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String name;
|
||||
|
||||
@Column
|
||||
@Comment("活动范围Id")
|
||||
@ColDefine(type = ColType.INT, width = 32)
|
||||
private Integer activityGroupId;
|
||||
|
||||
@Column
|
||||
@Comment("报名开始时间")
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
|
||||
+10
@@ -28,6 +28,16 @@ public class CadreTrainingSignUp extends BaseModel {
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String cadreTrainingActId;
|
||||
|
||||
@Column
|
||||
@Comment("报名人ID")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String applyUserId;
|
||||
|
||||
@Column
|
||||
@Comment("报名人姓名")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String applyUserUserName;
|
||||
|
||||
@Column
|
||||
@Comment("用户ID")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
|
||||
+2
@@ -33,6 +33,7 @@ import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||
import org.nutz.dao.util.cri.Static;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
@@ -119,6 +120,7 @@ public class MutualInsuranceApplyController {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("`year`", "=", year == null ? DateUtil.thisYear() : year);
|
||||
cnd.and("isOpen", "=", true);
|
||||
cnd.and(new Static("(SELECT COUNT(1) FROM activity_user_scope WHERE groupId=activityGroupId AND userId='%s') >0".formatted(SecurityUtil.getUserId())));
|
||||
List<MutualInsuranceProject> query = mutualInsuranceProjectService.query(cnd);
|
||||
return Result.success(query);
|
||||
}
|
||||
|
||||
+10
@@ -40,6 +40,16 @@ public class MutualInsuranceProject extends BaseModel implements Serializable {
|
||||
@ColDefine(type = ColType.VARCHAR, width = 255)
|
||||
private String projectName;
|
||||
|
||||
@Column
|
||||
@Comment("活动范围Id")
|
||||
@ColDefine(type = ColType.INT, width = 32)
|
||||
private Integer activityGroupId;
|
||||
|
||||
@Column
|
||||
@Comment("活动范围名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 40)
|
||||
private String activityGroupName;
|
||||
|
||||
@Column
|
||||
@Comment("开始时间")
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
|
||||
@@ -354,20 +354,20 @@ layout("/layouts/v4/baseLayout.html"){
|
||||
</div>
|
||||
|
||||
<!-- 字母过滤 -->
|
||||
<div class="apps-filter">
|
||||
<div class="apps-filter-title">首字母:</div>
|
||||
<div class="apps-filter-tags alphabet-filter">
|
||||
<div :class="['filter-tag', activeAlphabet === '' ? 'active' : '']" @click="changeAlphabet('')">全部</div>
|
||||
<div
|
||||
v-for="letter in alphabets"
|
||||
:key="letter"
|
||||
:class="['alphabet-item', activeAlphabet === letter ? 'active' : '']"
|
||||
@click="changeAlphabet(letter)"
|
||||
>
|
||||
{{ letter }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="apps-filter">-->
|
||||
<!-- <div class="apps-filter-title">首字母:</div>-->
|
||||
<!-- <div class="apps-filter-tags alphabet-filter">-->
|
||||
<!-- <div :class="['filter-tag', activeAlphabet === '' ? 'active' : '']" @click="changeAlphabet('')">全部</div>-->
|
||||
<!-- <div-->
|
||||
<!-- v-for="letter in alphabets"-->
|
||||
<!-- :key="letter"-->
|
||||
<!-- :class="['alphabet-item', activeAlphabet === letter ? 'active' : '']"-->
|
||||
<!-- @click="changeAlphabet(letter)"-->
|
||||
<!-- >-->
|
||||
<!-- {{ letter }}-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
|
||||
<!-- 应用网格 -->
|
||||
|
||||
@@ -42,8 +42,8 @@ const singleSignUp = {
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="报名方式">
|
||||
<span v-if="viewData.signUpMethod===1">个人报名</span>
|
||||
<span v-else-if="viewData.signUpMethod===2">分工会报名</span>
|
||||
<span v-else-if="viewData.signUpMethod===3">组队报名</span>
|
||||
<span v-else-if="viewData.signUpMethod===2">组队报名</span>
|
||||
<span v-else-if="viewData.signUpMethod===3">分工会报名</span>
|
||||
<span v-else-if="!viewData.signUpMethod">无需报名</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="是否用于报名">
|
||||
|
||||
+46
-1
@@ -9,12 +9,41 @@ const formEdit = {
|
||||
<!-- Step 1: 基础信息 -->
|
||||
<div v-show="activeStep === 0">
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-width="120px" class="form-container">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="活动名称" prop="name">
|
||||
<el-input v-model="formData.name" placeholder="请输入活动名称" maxlength="50"
|
||||
show-word-limit>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="activityGroupId" label="可报名人员范围">
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 99%">
|
||||
<el-select prop="groupId" placeholder="参加人员范围"
|
||||
v-model="formData.activityGroupId"
|
||||
style="width: 99%;"
|
||||
clearable
|
||||
filterable>
|
||||
<el-option v-for="item in activityGroupList"
|
||||
:label="item.groupName"
|
||||
:value="item.groupId"
|
||||
:key="item.groupId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div>
|
||||
<el-button
|
||||
@click="$refs.drawerUserScope.userScopeDialog = true"
|
||||
type="primary">设置
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="报名开始时间" prop="signUpStartTime">
|
||||
@@ -107,8 +136,16 @@ const formEdit = {
|
||||
{{ submitting ? '提交中...' : '确定' }}
|
||||
</el-button>
|
||||
</div>
|
||||
<drawer-user-scope
|
||||
@group_change="getActivityGroup"
|
||||
ref="drawerUserScope"
|
||||
:group_id.sync="formData.activityGroupId"
|
||||
></drawer-user-scope>
|
||||
</el-dialog>
|
||||
`,
|
||||
components: {
|
||||
"drawer-user-scope": httpVueLoader("/components/module/activity/DrawerUserScope.vue")
|
||||
},
|
||||
data() {
|
||||
// 日期验证器
|
||||
const validateDateRange = (rule, value, callback) => {
|
||||
@@ -142,6 +179,7 @@ const formEdit = {
|
||||
visible: false,
|
||||
activeStep: 0,
|
||||
submitting: false,
|
||||
activityGroupList: [],
|
||||
formData: {
|
||||
quotas: []
|
||||
},
|
||||
@@ -188,6 +226,10 @@ const formEdit = {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getActivityGroup() {
|
||||
const { data } = await $.get("/platform/activity/basic/scope/getActivityUserScopeGroup")
|
||||
this.activityGroupList = data
|
||||
},
|
||||
// 处理关闭弹窗
|
||||
handleClose() {
|
||||
this.visible = false;
|
||||
@@ -367,6 +409,9 @@ const formEdit = {
|
||||
})
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
await this.getActivityGroup()
|
||||
},
|
||||
style: /*language=CSS*/ `
|
||||
.form-container {
|
||||
padding: 0 50px;
|
||||
|
||||
+7
-1
@@ -15,7 +15,12 @@ layout("/layouts/platform.html"){
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never">
|
||||
<table-tool></table-tool>
|
||||
<table-tool label="活动列表">
|
||||
<el-radio-group v-model="pageForm.isEnrolled" @change="doSearch" size="mini" class="ml10">
|
||||
<el-radio-button :label="true">已报名</el-radio-button>
|
||||
<el-radio-button :label="false">未报名</el-radio-button>
|
||||
</el-radio-group>
|
||||
</table-tool>
|
||||
<el-table :data="tableData">
|
||||
<el-table-column type="index" width="50px" label="序号" :index="indexMethod"></el-table-column>
|
||||
<el-table-column prop="name" label="名称" show-overflow-tooltip></el-table-column>
|
||||
@@ -65,6 +70,7 @@ layout("/layouts/platform.html"){
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
isEnrolled: false,
|
||||
year: new Date().getFullYear().toString(),
|
||||
searchKeyword: ""
|
||||
},
|
||||
|
||||
+72
-6
@@ -5,9 +5,12 @@ const signForm = {
|
||||
<snaker-start slot="header" define_key="GBPX" label="活动报名"></snaker-start>
|
||||
</div>
|
||||
<el-descriptions :column="2" border class="margin-top" style="margin: 10px" title="">
|
||||
<el-descriptions-item label="活动名称" span="2">
|
||||
<el-descriptions-item label="活动名称" >
|
||||
<span class="item-center"> {{ viewData.name }}</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="分工会名额">
|
||||
{{ quota }}人 / 剩余: {{ remainingQuota }}人
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="报名开始时间">
|
||||
{{ viewData.signUpStartTime }}
|
||||
</el-descriptions-item>
|
||||
@@ -20,16 +23,32 @@ const signForm = {
|
||||
<el-descriptions-item label="结束时间">
|
||||
{{ viewData.endTime }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="分工会名额">
|
||||
{{ quota }}人 / 剩余: {{ remainingQuota }}人
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="活动内容" span="2">
|
||||
<div v-html="viewData.notice"></div>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<!-- 个人报名信息 -->
|
||||
<div class="process-title">个人报名信息</div>
|
||||
<div class="process-title">选择报名人员</div>
|
||||
<el-select
|
||||
|
||||
v-model="searchTeammateUserId"
|
||||
filterable
|
||||
clearable
|
||||
remote
|
||||
reserve-keyword
|
||||
placeholder="请输入关键词"
|
||||
:remote-method="queryTeammate">
|
||||
<el-option
|
||||
v-for="item in teammateOptions"
|
||||
:key="item.userId"
|
||||
:label="item.userName + '(' + item.loginName + ')'"
|
||||
:value="item.userId">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-button class="ml5" type="primary" icon="el-icon-plus"
|
||||
@click="addTeamUser">添加
|
||||
</el-button>
|
||||
<el-table :data="teamUsers" class="mt10">
|
||||
<el-table-column label="序号" type="index" width="60px"></el-table-column>
|
||||
<el-table-column prop="userName" label="姓名"></el-table-column>
|
||||
@@ -42,6 +61,12 @@ const signForm = {
|
||||
<el-input v-model="scope.row.remark" placeholder="请输入备注"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="100px">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="danger" size="mini" @click="removeTeamUser(scope.$index)">删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<el-row type="flex" justify="end" class="mt20">
|
||||
@@ -54,9 +79,12 @@ const signForm = {
|
||||
store,
|
||||
data() {
|
||||
return {
|
||||
//搜索框
|
||||
searchTeammateUserId: null,
|
||||
teammateOptions: [],
|
||||
dialogVisible: false,
|
||||
viewData: {},
|
||||
formData: {}, // 将 signUpData 改为 formData
|
||||
formData: {},
|
||||
id: null,
|
||||
//表格用户(实际上只包含当前用户)
|
||||
teamUsers: [],
|
||||
@@ -88,6 +116,44 @@ const signForm = {
|
||||
this.loadUserData()
|
||||
},
|
||||
|
||||
//查询队友信息
|
||||
queryTeammate(val) {
|
||||
if (val) {
|
||||
this.$axios.post("/platform/cadreTraining/branchUnionSignUp/queryTeammate", {
|
||||
keyword: val,
|
||||
tissueId: this.id,
|
||||
}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
res.data.map(v => v.applyUserId = this.$store.state.user.id)
|
||||
this.teammateOptions = res.data
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//添加队友
|
||||
addTeamUser() {
|
||||
if (!this.searchTeammateUserId) {
|
||||
this.$message.error("请先选择后再添加")
|
||||
return
|
||||
}
|
||||
if (this.teamUsers.some((v) => v.userId === this.searchTeammateUserId)) {
|
||||
this.$message.error("请勿重复添加")
|
||||
return
|
||||
}
|
||||
if (this.teamUsers.length >= this.viewData.teamNum) {
|
||||
this.$message.error("已满员")
|
||||
return
|
||||
}
|
||||
this.teamUsers.push(this.teammateOptions.find((v) => v.userId === this.searchTeammateUserId))
|
||||
this.searchTeammateUserId = null
|
||||
},
|
||||
|
||||
//移除队友
|
||||
removeTeamUser(index) {
|
||||
this.teamUsers.splice(index, 1)
|
||||
},
|
||||
|
||||
// 加载用户数据
|
||||
async loadUserData() {
|
||||
try {
|
||||
|
||||
+46
-42
@@ -109,65 +109,66 @@ layout("/layouts/platform.html"){
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="planNumber" label="计划书号码">
|
||||
<el-input v-model="formData.planNumber" placeholder="请输入计划书号码"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="12">-->
|
||||
<!-- <el-form-item prop="planNumber" label="计划书号码">-->
|
||||
<!-- <el-input v-model="formData.planNumber" placeholder="请输入计划书号码"></el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="isRenewal" label="是否续保">
|
||||
<el-select v-model="formData.isRenewal" placeholder="请选择是否续保" style="width: 100%">
|
||||
<el-option label="是" value="1"></el-option>
|
||||
<el-option label="否" value="0"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="12">-->
|
||||
<!-- <el-form-item prop="isRenewal" label="是否续保">-->
|
||||
<!-- <el-select v-model="formData.isRenewal" placeholder="请选择是否续保" style="width: 100%">-->
|
||||
<!-- <el-option label="是" value="1"></el-option>-->
|
||||
<!-- <el-option label="否" value="0"></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="guaranteedStartTime" label="保障开始时间">
|
||||
<el-date-picker
|
||||
v-model="formData.guaranteedStartTime"
|
||||
type="date"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
clearable
|
||||
placeholder="请选择保障开始时间"
|
||||
@change="calculateEndTime">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="12">-->
|
||||
<!-- <el-form-item prop="guaranteedStartTime" label="保障开始时间">-->
|
||||
<!-- <el-date-picker-->
|
||||
<!-- v-model="formData.guaranteedStartTime"-->
|
||||
<!-- type="date"-->
|
||||
<!-- format="yyyy-MM-dd"-->
|
||||
<!-- value-format="yyyy-MM-dd"-->
|
||||
<!-- clearable-->
|
||||
<!-- placeholder="请选择保障开始时间"-->
|
||||
<!-- @change="calculateEndTime">-->
|
||||
<!-- </el-date-picker>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="guaranteedEndTime" label="保障结束时间">
|
||||
<el-date-picker
|
||||
v-model="formData.guaranteedEndTime"
|
||||
type="date"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
clearable
|
||||
placeholder="请选择保障结束时间"
|
||||
:readonly="true">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="12">-->
|
||||
<!-- <el-form-item prop="guaranteedEndTime" label="保障结束时间">-->
|
||||
<!-- <el-date-picker-->
|
||||
<!-- v-model="formData.guaranteedEndTime"-->
|
||||
<!-- type="date"-->
|
||||
<!-- format="yyyy-MM-dd"-->
|
||||
<!-- value-format="yyyy-MM-dd"-->
|
||||
<!-- clearable-->
|
||||
<!-- placeholder="请选择保障结束时间"-->
|
||||
<!-- :readonly="true">-->
|
||||
<!-- </el-date-picker>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="dangerTime" label="出险时间">
|
||||
<el-form-item prop="dangerTime" label="入院时间">
|
||||
<el-date-picker
|
||||
v-model="formData.dangerTime"
|
||||
type="datetime"
|
||||
format="yyyy-MM-dd HH:mm"
|
||||
value-format="yyyy-MM-dd HH:mm"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
placeholder="请选择出险时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="dangerAddress" label="出险地点">
|
||||
<el-form-item prop="dangerAddress" label="入院地点">
|
||||
<el-input v-model="formData.dangerAddress" placeholder="请输入出险地点"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -254,7 +255,6 @@ layout("/layouts/platform.html"){
|
||||
idCard: [{ required: true, message: '请填写身份证号', trigger: 'blur' }, {pattern: /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/, message: '请输入正确的身份证号码', trigger: 'blur'}],
|
||||
age: [{ required: true, message: '请输入年龄', trigger: 'blur' }, { type: 'number', min: 16, max: 60, message: '年龄必须在16-60岁之间', trigger: 'blur', transform: (value) => Number(value) }],
|
||||
bankCardNumber: [ { pattern: /^([1-9]{1})(\d{15}|\d{18})$/, message: '请输入正确的银行卡号', trigger: 'blur' }],
|
||||
sign: [{ required: true, message: '请签字', trigger: 'change' }]
|
||||
},
|
||||
projectList: [],
|
||||
}
|
||||
@@ -421,6 +421,10 @@ layout("/layouts/platform.html"){
|
||||
})
|
||||
},
|
||||
onView() {
|
||||
if (!this.formData.projectId) {
|
||||
this.$message.warning('请先选择所属事项');
|
||||
return;
|
||||
}
|
||||
this.$refs.guava.view(() => {
|
||||
this.$refs.projectInfoRef.onOpen(this.formData.projectId)
|
||||
})
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ layout("/layouts/platform.html"){
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column type="index" width="50px" label="序号" :index="indexMethod"></el-table-column>
|
||||
<el-table-column prop="loginName" label="工号"></el-table-column>
|
||||
<el-table-column prop="userName" label="职工姓名"></el-table-column>
|
||||
<el-table-column prop="userName" label="姓名"></el-table-column>
|
||||
<el-table-column prop="sex" label="性别"></el-table-column>
|
||||
<el-table-column prop="age" label="年龄"></el-table-column>
|
||||
<el-table-column prop="unionName" label="所属工会"></el-table-column>
|
||||
|
||||
+45
-1
@@ -2,11 +2,39 @@ const formEdit = {
|
||||
template: /*language=HTML*/ `
|
||||
<el-dialog :title="formData.id ? '编辑项目' : '新增项目'" :visible="visible" width="70%" :close-on-click-modal="false" :before-close="handleClose">
|
||||
<el-form :model="formData" :rules="formRules" label-width="110px" ref="form">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="事项名称" prop="projectName">
|
||||
<el-input v-model="formData.projectName" placeholder="请输入事项名称" maxlength="50"
|
||||
show-word-limit></el-input>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="activityGroupId" label="可报名人员范围">
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 99%">
|
||||
<el-select prop="groupId" placeholder="参加人员范围"
|
||||
v-model="formData.activityGroupId"
|
||||
style="width: 99%;"
|
||||
clearable
|
||||
filterable>
|
||||
<el-option v-for="item in activityGroupList"
|
||||
:label="item.groupName"
|
||||
:value="item.groupId"
|
||||
:key="item.groupId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div>
|
||||
<el-button
|
||||
@click="$refs.drawerUserScope.userScopeDialog = true"
|
||||
type="primary">设置
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="开始时间" prop="startTime">
|
||||
@@ -49,8 +77,16 @@ const formEdit = {
|
||||
<el-button @click="handleClose">取消</el-button>
|
||||
<el-button @click="doSubmit" type="primary" :loading="submitting">确定</el-button>
|
||||
</div>
|
||||
<drawer-user-scope
|
||||
@group_change="getActivityGroup"
|
||||
ref="drawerUserScope"
|
||||
:group_id.sync="formData.activityGroupId"
|
||||
></drawer-user-scope>
|
||||
</el-dialog>
|
||||
`,
|
||||
components: {
|
||||
"drawer-user-scope": httpVueLoader("/components/module/activity/DrawerUserScope.vue")
|
||||
},
|
||||
data() {
|
||||
// 日期验证器
|
||||
const validateDateRange = (rule, value, callback) => {
|
||||
@@ -70,6 +106,7 @@ const formEdit = {
|
||||
visible: false,
|
||||
submitting: false,
|
||||
formData: {},
|
||||
activityGroupList: [],
|
||||
formRules: {
|
||||
projectName: [
|
||||
{ required: true, message: "请输入事项名称", trigger: "blur" },
|
||||
@@ -106,6 +143,10 @@ const formEdit = {
|
||||
})
|
||||
}
|
||||
},
|
||||
async getActivityGroup() {
|
||||
const { data } = await $.get("/platform/activity/basic/scope/getActivityUserScopeGroup")
|
||||
this.activityGroupList = data
|
||||
},
|
||||
|
||||
async doSubmit() {
|
||||
const valid = await this.$refs['form'].validate()
|
||||
@@ -131,5 +172,8 @@ const formEdit = {
|
||||
this.submitting = false;
|
||||
})
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
await this.getActivityGroup()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ layout("/layouts/platform.html"){
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column type="index" width="50px" label="序号" :index="indexMethod"></el-table-column>
|
||||
<el-table-column prop="loginName" label="工号"></el-table-column>
|
||||
<el-table-column prop="userName" label="职工姓名"></el-table-column>
|
||||
<el-table-column prop="userName" label="姓名"></el-table-column>
|
||||
<el-table-column prop="sex" label="性别"></el-table-column>
|
||||
<el-table-column prop="age" label="年龄"></el-table-column>
|
||||
<el-table-column prop="unionName" label="所属工会"></el-table-column>
|
||||
|
||||
Reference in New Issue
Block a user