This commit is contained in:
server
2025-11-01 09:57:06 +08:00
parent af130baaf7
commit 114dcf014c
26 changed files with 183 additions and 160 deletions
@@ -43,6 +43,7 @@ RoleConstant {
BRANCH_UNION_WENTI_WY("分工会文体委员"),
BRANCH_UNION_SHENGGHUO_WY("分工会生活委员"),
BRANCH_UNION_TIAOJIE_WY("分工会调解委员"),
BRANCH_UNION_FULI_WY("分工会福利委员"),
TEACHER_CONGRESS_DELEGATE_FORMAL("教代会正式代表"),
TEACHER_CONGRESS_DELEGATE_ATTENDANCE("教代会列席代表"),
@@ -168,6 +168,7 @@ public class SysLoginController {
}
sysUserService.loginPlus(user, LoginType.WE_APP, req);
// redisService.del(lockKey);
return Result.success("login.success").addData(StpUtil.getTokenInfo());
} catch (Exception e) {
log.error(e.getMessage(), e);
@@ -345,7 +345,14 @@ public class ActivityBasicScopeController {
cnd.and("TIMESTAMPDIFF(YEAR, u.birthday, CURDATE())", "between", activityUserScopePageParam.getAge());
}
}
}
if (StrUtil.isAllNotBlank(activityUserScopePageParam.getStartJoinDate(), activityUserScopePageParam.getEndJoinDate())) {
if (activityUserScopePageParam.getReverseSelection()) {
cnd.andNot("u.arrivalAtSchoolDate", "between", new String[]{activityUserScopePageParam.getStartJoinDate(), activityUserScopePageParam.getEndJoinDate()});
} else {
cnd.and("u.arrivalAtSchoolDate", "between", new String[]{activityUserScopePageParam.getStartJoinDate(), activityUserScopePageParam.getEndJoinDate()});
}
}
try {
@@ -1,6 +1,7 @@
package com.budwk.app.zhgh.activity.basic.param;
import com.budwk.app.base.param.PageForm;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -46,4 +47,12 @@ public class ActivityUserScopePageParam extends PageForm {
private String props;
@ApiModelProperty(value = "开始加入时间(会员)")
private String startJoinDate;
@ApiModelProperty(value = "结束加入时间(会员)")
private String endJoinDate;
}
@@ -156,9 +156,11 @@ public class ActivityCultureUserStatisticsController {
ActivityTissue tissue = dao.fetch(ActivityTissue.class, id);
Sql sql = Sqls.create("""
SELECT
atp.*
atp.*,
us.idcard idCard
FROM
`activity_tissue_person` atp
left join sys_user us on us.id=atp.userId
$condition
""");
Cnd cnd = Cnd.NEW();
@@ -126,7 +126,7 @@ public class QsvSurveyServiceImpl extends BaseServiceImpl<QsvUserAnswerRecord> i
}
// 查询用户答题记录
List<QsvUserAnswerRecord> answerRecords = dao().query(QsvUserAnswerRecord.class, Cnd.where(QsvUserAnswerRecord::getActivityId, "=", activityId));
List<QsvUserAnswerRecord> answerRecords = dao().query(QsvUserAnswerRecord.class, Cnd.where(QsvUserAnswerRecord::getActivityId, "=", activityId).and(QsvUserAnswerRecord::getIsFinish,"=",1));
// 将答题记录的扩展JSON转换为JSONObject列表
List<JSONObject> answerExtList = answerRecords.stream().map(QsvUserAnswerRecord::getExtJson).toList();
@@ -169,12 +169,17 @@ public class QsvSurveyServiceImpl extends BaseServiceImpl<QsvUserAnswerRecord> i
try {
// 查询用户答题记录
List<QsvUserAnswerRecord> answerRecords = dao().query(QsvUserAnswerRecord.class, Cnd.where(QsvUserAnswerRecord::getActivityId, "=", activityId));
List<QsvUserAnswerRecord> answerRecords = dao().query(QsvUserAnswerRecord.class, Cnd.where(QsvUserAnswerRecord::getActivityId, "=", activityId).and(QsvUserAnswerRecord::getIsFinish,"=",1));
// 将答题记录的扩展JSON转换为JSONObject列表
List<JSONObject> answerExtList = answerRecords.stream().map(QsvUserAnswerRecord::getExtJson).toList();
// 查询活动题目列表
List<QsvSubject> subjects = dao().query(QsvSubject.class, Cnd.where(QsvSubject::getActivityId, "=", activityId));
List<QsvSubject> subjects = dao().query(QsvSubject.class, Cnd.where(QsvSubject::getActivityId, "=", activityId).asc(QsvSubject::getSortNum));
for (QsvSubject subject : subjects) {
System.out.println(subject.getTitle());
}
// 将题目列表转换为Map
Map<String, QsvSubject> subjectMap = subjects.stream().collect(Collectors.toMap(QsvSubject::getId, v -> v));
// 获取题目ID列表
@@ -236,12 +236,9 @@ public class ActivitySportsApplyUserController {
cnd.and(group);
}
Sql sql = Sqls.create("select id,loginname,username,sex,mobile,unitId,birthday,idcard from `vw_user` $condition LIMIT 30");
Sql sql = Sqls.create("select id,loginname,username,sex,mobile,unitId,unionId,birthday,idcard from `vw_user` $condition LIMIT 30");
sql.setCondition(cnd);
sql.setCallback(Sqls.callback.entities());
sql.setEntity(activitySportsApplyUserService.getEntity());
List<Sys_user> list = dao.execute(sql).getList(Sys_user.class);
return Result.success(list);
return Result.success(activitySportsApplyUserService.listMap(sql));
}
}
@@ -132,10 +132,7 @@ public class ActivitySchoolApply extends BaseModel implements Serializable {
private Integer status;
@Column
@Comment("单位名称")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String unitname;
@Excel(name = "分工会", width = 30)
@@ -185,5 +182,11 @@ public class ActivitySchoolApply extends BaseModel implements Serializable {
private String sf;
private int age;
@Column
@Comment("单位名称")
@Excel(name = "单位名称", width = 40)
@ColDefine(type = ColType.VARCHAR, width = 100)
private String unitname;
}
@@ -380,7 +380,6 @@ public class ActivitySportsApplyUserServiceImpl extends BaseServiceImpl<Activity
apply.setApplyUser(SecurityUtil.getUserId());
apply.setStatus(pass ? 2 : 0);
apply.setApplyDate(DateUtil.now());
apply.setUnitId(basicUnit.getId());
apply.setActivityUnionId(basicUnion.getId());
apply.setActivityUnionName(basicUnion.getName());
}
@@ -116,7 +116,7 @@ public class ActivitySportsServiceImpl extends BaseServiceImpl<ActivitySchool> i
if (collect.size() > 0) {
collect.forEach(v -> {
dao().clear(ActivitySchoolApply.class,Cnd.where("activityId", "=", activitySchool.getId()).and("eventId", "=", v.getEventId()));
dao().clear(ActivitySchoolApply.class, Cnd.where("activityId", "=", activitySchool.getId()).and("eventId", "=", v.getEventId()));
dao().clear(ActivitySchoolEvent.class, Cnd.where("activityId", "=", activitySchool.getId()).and("eventId", "=", v.getEventId()));
dao().clear(ActivitySchoolTeam.class, Cnd.where("activityId", "=", activitySchool.getId()).and("eventId", "=", v.getEventId()));
});
@@ -182,7 +182,7 @@ public class ActivitySportsServiceImpl extends BaseServiceImpl<ActivitySchool> i
@Override
@Aop(TransAop.READ_COMMITTED)
public void doDelete(String id) {
dao().clear(ActivitySchoolApply.class,Cnd.where("activityId", "=", id));
dao().clear(ActivitySchoolApply.class, Cnd.where("activityId", "=", id));
dao().clear(ActivitySchoolEvent.class, Cnd.where("activityId", "=", id));
dao().clear(ActivitySchoolTeam.class, Cnd.where("activityId", "=", id));
this.delete(id);
@@ -200,6 +200,7 @@ public class ActivitySportsServiceImpl extends BaseServiceImpl<ActivitySchool> i
app.activityUnionName unionname,
app.sex,
app.mobile,
app.unitname,
u.idCard,
u.userState,
ev.allName,
@@ -220,7 +221,7 @@ public class ActivitySportsServiceImpl extends BaseServiceImpl<ActivitySchool> i
app.`team` asc
""").setParam("id", id);
if (Strings.isNotBlank(unionId)) {
sql.setVar("cnd", "and u.unionid='" + unionId + "'");
sql.setVar("cnd", "and app.activityUnionId='" + unionId + "'");
}
List<Record> list = list(sql);
String activityName;
@@ -235,7 +236,7 @@ public class ActivitySportsServiceImpl extends BaseServiceImpl<ActivitySchool> i
list.forEach(z -> {
ActivitySchoolApply schoolApply = z.toPojo(ActivitySchoolApply.class);
String s = schoolApply.getIdentity().stream().map(personType::getName).toList().toString();
schoolApply.setSf(s);
schoolApply.setSf(s.replace("[", "").replace("]", ""));
excels.add(schoolApply);
});
@@ -78,9 +78,9 @@ public class MemberStatisticsServiceImpl extends BaseServiceImpl<Sys_user> imple
if (StrUtil.isAllNotBlank(pageForm.getStartJoinDate(), pageForm.getEndJoinDate())) {
if (reverseSelection) {
cnd.andNot("DATE(u.memberJoinTime)", "between", new String[]{pageForm.getStartJoinDate(), pageForm.getEndJoinDate()});
cnd.andNot("u.arrivalAtSchoolDate", "between", new String[]{pageForm.getStartJoinDate(), pageForm.getEndJoinDate()});
} else {
cnd.and("DATE(u.memberJoinTime)", "between", new String[]{pageForm.getStartJoinDate(), pageForm.getEndJoinDate()});
cnd.and("u.arrivalAtSchoolDate", "between", new String[]{pageForm.getStartJoinDate(), pageForm.getEndJoinDate()});
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

@@ -50,7 +50,7 @@ module.exports = {
name: "HeaderUserAvatar",
store,
components: {
"user-info": httpVueLoader("/components/module/userInfo/index.vue")
"user-info": httpVueLoader("/components/module/userInfo/index.vue?v="+new Date().getTime())
},
data() {
return {
@@ -39,13 +39,13 @@
<el-row class="query-row">
<el-col class="query-title hidden-xs-only">性别</el-col>
<el-col class="query-content">
<el-col class="query-content query-row-content-tag">
<el-tag
:effect="pageForm.sexTypes.includes(item.name) ? 'dark' : 'plain'"
:key="item.code"
:type="item.name"
@click="tagClick('sexTypes', item.name)"
style="margin-right: 10px; cursor: pointer"
style="cursor: pointer;margin: 0;"
v-for="item in sexTypeOptions"
>
{{ item.name }}
@@ -55,13 +55,13 @@
<el-row class="query-row" v-if="is_A06 === true || is_sysadmin === true || is_H04 === true">
<el-col class="query-title">编制类型</el-col>
<el-col class="query-content">
<el-col class="query-content query-row-content-tag">
<el-tag
:effect="pageForm.personTypes.includes(item.name) ? 'dark' : 'plain'"
:key="item.code"
:type="item.name"
@click="tagClick('personTypes', item.name)"
style="margin-right: 10px; cursor: pointer"
style="cursor: pointer;margin: 0;"
v-for="item in personTypeOptions"
>
{{ item.name }}
@@ -94,13 +94,13 @@
<el-row class="query-row" v-if="is_A06 === true || is_sysadmin === true || is_H04 === true">
<el-col class="query-title">在职状态</el-col>
<el-col class="query-content">
<el-col class="query-content query-row-content-tag">
<el-tag
:effect="pageForm.userStates.includes(item.name) ? 'dark' : 'plain'"
:key="item.code"
:type="item.name"
@click="tagClick('userStates', item.name)"
style="margin-right: 10px; cursor: pointer"
style="cursor: pointer;margin: 0;"
v-for="item in userStateOptions"
>
{{ item.name }}
@@ -243,6 +243,22 @@
</el-col>
</el-row>
<el-row class="query-row" type="flex" align="middle">
<el-col class="query-title">入会日期</el-col>
<el-col class="query-content">
<el-date-picker
v-model="pageForm.startJoinDate"
type="date"
placeholder="选择开始日期">
</el-date-picker>
<el-date-picker
v-model="pageForm.endJoinDate"
type="date"
placeholder="选择结束日期">
</el-date-picker>
</el-col>
</el-row>
<!-- <el-row class="query-row"
v-if="is_H10===true||is_A06===true||is_sysadmin===true||is_H04===true">
<el-col class="query-title">条件匹配</el-col>
@@ -355,14 +371,6 @@ module.exports = {
{
code: "unionMember",
name: "工会会员"
},
{
code: "welfareMember",
name: "福利会员"
},
{
code: "sickFundMember",
name: "基金会员"
}
],
sexTypeOptions: [
@@ -389,7 +397,7 @@ module.exports = {
roleIds: [],
userId: [],
activityUserCnd: "",
reverseSelection: false
reverseSelection: false,
},
activityUnions: [],
unions: [],
@@ -504,6 +512,17 @@ module.exports = {
this.units = await this.$businessTool.listUnit(this.unionId)
}
},
determineStartDate() {
if (this.pageForm.endDate) {
if (Date.parse(this.pageForm.startDate) > Date.parse(this.pageForm.endDate)) {
this.pageForm.startDate = ""
this.$notify.warning("开始时间不能大于结束时间")
}
}
this.pageForm.startDate = this.pageForm.startDate.toLocaleDateString().replaceAll("/", "-")
},
async pageData() {
const pageForm = clone(this.pageForm)
pageForm.personTypes = JSON.stringify(pageForm.personTypes)
@@ -646,6 +665,13 @@ module.exports = {
margin-top: 5px;
}
.query-row-content-tag {
display: flex;
flex-wrap: wrap; /* 标签自动换行 */
align-items: center;
gap: 4px 6px; /* 横纵向间距 */
}
@media screen and (max-width: 992px) {
.query-row:nth-child(4) .query-content .el-col:not(:last-child) {
margin-bottom: 5px;
@@ -4,7 +4,7 @@
<el-descriptions :column="3" border class="descriptions-form">
<el-descriptions-item label="工号">{{ viewData.loginname }}</el-descriptions-item>
<el-descriptions-item label="姓名">{{ viewData.username }}</el-descriptions-item>
<el-descriptions-item label="姓名">{{ viewData.username }}</el-descriptions-item>
<el-descriptions-item label=""></el-descriptions-item>
<el-descriptions-item label="性别">{{ viewData.sex }}</el-descriptions-item>
<el-descriptions-item label="出生日期">
{{ viewData.birthday ? $moment(viewData.birthday).format("YYYY-MM-DD") : null }}
@@ -84,10 +84,10 @@
securityJsCode: "4fa1e1aeabba7eb9518129cf57ab17c1"
}
</script>
<!-- <script-->
<!-- type="text/javascript"-->
<!-- src="https://webapi.amap.com/maps?v=2.0&key=57f0d098ba1b881ecc436c4cfd23bbbf&plugin=AMap.PolyEditor,AMap.Geolocation,AMap.PlaceSearch"-->
<!-- ></script>-->
<!-- <script-->
<!-- type="text/javascript"-->
<!-- src="https://webapi.amap.com/maps?v=2.0&key=e913d40c4546d8bb4d521b4a8aef0fff&plugin=AMap.PolyEditor,AMap.Geolocation,AMap.PlaceSearch"-->
<!-- ></script>-->
<script type="text/javascript">
Vue.config.devtools = false
@@ -129,14 +129,14 @@ layout("/layouts/platform.html"){
</div>
<script>
<!--#include("../../../zhgh/staffmanage/member/common/audit/memberAuditChangeInfo.js"){}#-->
<!--#include("../../../zhgh/staffmanage/member/change/common/memberAllChangeInfo.js"){}#-->
new Vue({
el: "#app",
dicts: ["MEMBER_CHANGE_TYPE"],
mixins: [initTableMixins],
components: {
"member-audit-change-info": MEMBER_AUDIT_CHANGE_INFO
"member-audit-change-info": MEMBER_ALL_CHANGE_INFO
},
data() {
return {
@@ -177,7 +177,7 @@ layout("/layouts/platform.html"){
methods: {
openCurrentUserChangeInfo(row) {
this.$refs.guava.public(() => {
this.$refs.memberAuditChangeInfoRef.onOpen({recordId: row.userHistoryId, userId: row.id})
this.$refs.memberAuditChangeInfoRef.onOpen(row.id)
})
},
getChangeTypes(changeTypes) {
@@ -109,10 +109,8 @@ layout("/layouts/platform.html"){
</div>
</el-card>
<el-card shadow="never" class="mt10">
<table-tool :app="this" label="活动列表">
<template #func>
<table-tool label="活动列表">
<el-button icon="el-icon-plus" type="primary" size="small" @click="openAdd">创建活动</el-button>
</template>
</table-tool>
<el-table :data="tableData" style="width: 100%" row-key="_id" @sort-change="pageOrder"
v-loading="tabLoading">
@@ -129,15 +127,15 @@ layout("/layouts/platform.html"){
<el-table-column label="活动地址" prop="address"></el-table-column>
<el-table-column label="报名时间">
<template scope="scope">
{{moment(scope.row.applyStartTime).format('YYYY-MM-DD HH:mm:ss')}} -
{{moment(scope.row.applyEndTime).format('YYYY-MM-DD HH:mm:ss')}}
{{$moment(scope.row.applyStartTime).format('YYYY-MM-DD HH:mm:ss')}} -
{{$moment(scope.row.applyEndTime).format('YYYY-MM-DD HH:mm:ss')}}
</template>
</el-table-column>
<el-table-column label="活动时间">
<template scope="scope">
{{moment(scope.row.startTime).format('YYYY-MM-DD HH:mm:ss')}} -
{{moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss')}}
{{$moment(scope.row.startTime).format('YYYY-MM-DD HH:mm:ss')}} -
{{$moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss')}}
</template>
</el-table-column>
@@ -192,7 +190,7 @@ layout("/layouts/platform.html"){
<div v-show="stepActive==0" class="transition-box" style="margin-top: 20px;">
<el-form :model="formData" ref="form" :rules="formRules"
label-width="150px">
<vi-title title="填写活动信息"></vi-title>
<div class="process-title">填写活动信息</div>
<el-row :gutter="20" type="flex">
<el-col :span="12">
@@ -344,20 +342,20 @@ layout("/layouts/platform.html"){
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12" v-if="formData.isQuestion">
<el-form-item label="答题试卷" prop="questionId">
<el-select v-model="formData.questionId" filterable style="width: 100%"
clearable style="width: 100%"
placeholder="选择答题试卷">
<el-option
v-for="item in questionOptions"
:label="item.qtitle"
:key="item.qid"
:value="item.qid">
</el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="12" v-if="formData.isQuestion">-->
<!-- <el-form-item label="答题试卷" prop="questionId">-->
<!-- <el-select v-model="formData.questionId" filterable style="width: 100%"-->
<!-- clearable style="width: 100%"-->
<!-- placeholder="选择答题试卷">-->
<!-- <el-option-->
<!-- v-for="item in questionOptions"-->
<!-- :label="item.qtitle"-->
<!-- :key="item.qid"-->
<!-- :value="item.qid">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
</el-row>
@@ -403,6 +401,7 @@ layout("/layouts/platform.html"){
class="pictureUpload"
:auto-upload="false"
:limit="1"
action
list-type="picture-card"
:on-change="certificatePictureChange"
:on-remove="certificatePictureRemove"
@@ -413,7 +412,7 @@ layout("/layouts/platform.html"){
</el-col>
</el-row>
<el-row type="flex" gutter="20">
<el-row type="flex" :gutter="20">
<el-col :span="12" v-if="formData.activityModel === 'punch'">
<el-form-item label="报名时间" prop="applyTime"
:rules="[{ required:true, message: '请选择报名时间' }]">
@@ -682,13 +681,14 @@ layout("/layouts/platform.html"){
<el-form-item label="活动介绍" prop="note"
:rules="[{ required:true, message: '请填写活动介绍' }]">
<div id="noteEditor"></div>
<text-editor v-model="formData.note"></text-editor>
</el-form-item>
<el-form-item label="学习卡" prop="stepPics">
<el-upload
list-type="picture-card"
multiple
action
class="pictureUpload"
:on-change="stepPictureChange"
:on-remove="stepPictureRemove"
@@ -703,6 +703,7 @@ layout("/layouts/platform.html"){
class="pictureUpload"
:auto-upload="false"
:limit="1"
action
list-type="picture-card"
:on-change="pictureChange"
:on-remove="pictureRemove"
@@ -725,7 +726,7 @@ layout("/layouts/platform.html"){
<transition name="el-zoom-in-top">
<div v-show="stepActive==1" class="transition-box" style="margin-top: 20px;">
<el-form label-width="120px" label-position="left">
<vi-title title="创建点位坐标"></vi-title>
<div class="process-title">创建点位坐标</div>
</el-form>
<el-table :data="formData.pts" size="medium">
<el-table-column type="index" label=""></el-table-column>
@@ -746,6 +747,7 @@ layout("/layouts/platform.html"){
<template scope="scope">
<el-input-number type="text" v-model="scope.row.radius"
:min="0"
style="width: 100%"
:max="9999999"
placeholder="请填写点位半径">
<temnplate slot="append">m</temnplate>
@@ -869,7 +871,7 @@ layout("/layouts/platform.html"){
<!-- <el-form-item label="基础信息&emsp;" label-width="135px" class="view-header">-->
<!-- </el-form-item>-->
<el-row gutter="20">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="活动名称:">
{{viewData.name}}
@@ -883,32 +885,32 @@ layout("/layouts/platform.html"){
</el-row>
<el-row gutter="20">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="开始报名时间:">
{{moment(viewData.apply_start_time).format('YYYY-MM-DD HH:mm:ss')}}
{{$moment(viewData.apply_start_time).format('YYYY-MM-DD HH:mm:ss')}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="结束报名时间:">
{{moment(viewData.apply_end_time).format('YYYY-MM-DD HH:mm:ss')}}
{{$moment(viewData.apply_end_time).format('YYYY-MM-DD HH:mm:ss')}}
</el-form-item>
</el-col>
</el-row>
<el-row gutter="20">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="活动开始时间:">
{{moment(viewData.start_time).format('YYYY-MM-DD HH:mm:ss')}}
{{$moment(viewData.start_time).format('YYYY-MM-DD HH:mm:ss')}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="活动结束时间:">
{{moment(viewData.end_time).format('YYYY-MM-DD HH:mm:ss')}}
{{$moment(viewData.end_time).format('YYYY-MM-DD HH:mm:ss')}}
</el-form-item>
</el-col>
</el-row>
<el-row gutter="20">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="活动模式:">
<span v-if="viewData.activityModel=='punch'">打卡模式</span>
@@ -928,7 +930,7 @@ layout("/layouts/platform.html"){
</el-col>
</el-row>
<el-row gutter="20">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="活动介绍:">
<div v-if="!viewData.note">暂无</div>
@@ -936,13 +938,13 @@ layout("/layouts/platform.html"){
</el-form-item>
</el-col>
</el-row>
<el-row gutter="20">
<el-row :gutter="20">
<el-col :span="24">
</el-col>
</el-row>
<el-row gutter="20">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="活动封面:">
<el-image style="width: 100px; height: 100px" :src="picSrc" fit="cover"/>
@@ -974,7 +976,6 @@ layout("/layouts/platform.html"){
<script>
let E = window.wangEditor
let noteEditor = null
let icon = new AMap.Icon({
size: new AMap.Size(25, 34),
image: '//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png',
@@ -1002,7 +1003,9 @@ layout("/layouts/platform.html"){
viewDialogVisible: false,
dwDialogVisible: false,
tabLoading: false,
formData: {},
formData: {
pts: []
},
tableData: [],
pageForm: {
searchName: "name",
@@ -1062,8 +1065,7 @@ layout("/layouts/platform.html"){
}
},
components: {
'user-scope': httpVueLoader('/components/plugins/UserScope.vue'),
'drawer-user-scope': httpVueLoader('/components/plugins/DrawerUserScope.vue'),
"drawer-user-scope": httpVueLoader("/components/module/activity/DrawerUserScope.vue")
},
methods: {
pictureRemove() {
@@ -1233,16 +1235,6 @@ layout("/layouts/platform.html"){
})
}
this.$nextTick(() => {
$("#noteEditor").html("")
noteEditor = new E("#noteEditor")
noteEditor.config.onchange = (html) => {
this.formData.note = html
}
noteEditor.config.uploadImgShowBase64 = true // 使用 base64 保存图片
noteEditor.create()
noteEditor.txt.html(data.note)
})
if (data.tag !== "") {
this.hasChildrenAct = true
}
@@ -1280,7 +1272,7 @@ layout("/layouts/platform.html"){
let map = new AMap.Map("viewXlMap", {
resizeEnable: true,
center: [AppMapCenterPointX, AppMapCenterPointY],
center: [118.92, 32.11],
zoom: 16
});
@@ -1398,7 +1390,7 @@ layout("/layouts/platform.html"){
this.$nextTick(() => {
map = new AMap.Map("dwMap", {
resizeEnable: true,
center: [AppMapCenterPointX, AppMapCenterPointY],
center: [118.92, 32.11],
zoom: 16
});
this.placeSearchComponent = new AMap.PlaceSearch({
@@ -1527,7 +1519,7 @@ layout("/layouts/platform.html"){
xlMap() {
let map = new AMap.Map("xlMap", {
resizeEnable: true,
center: [AppMapCenterPointX, AppMapCenterPointY],
center: [118.92, 32.11],
zoom: 16
});
@@ -1804,16 +1796,6 @@ layout("/layouts/platform.html"){
})
}
this.$nextTick(() => {
$("#noteEditor").html("")
noteEditor = new E("#noteEditor")
noteEditor.config.onchange = (html) => {
this.formData.note = html
}
noteEditor.config.uploadImgShowBase64 = true // 使用 base64 保存图片
noteEditor.create()
noteEditor.txt.html(data.note)
})
if (data.tag !== "") {
this.hasChildrenAct = true
}
@@ -1888,15 +1870,6 @@ layout("/layouts/platform.html"){
this.stepActive = 0
await this.getActivityData()
this.$nextTick(() => {
$("#noteEditor").html("")
noteEditor = new E("#noteEditor")
noteEditor.config.onchange = (html) => {
this.formData.note = html
}
noteEditor.config.uploadImgShowBase64 = true // 使用 base64 保存图片
noteEditor.create()
})
},
async pageData() {
this.tabLoading = true
@@ -1931,28 +1904,28 @@ layout("/layouts/platform.html"){
})
},
async getWelfareProject() {
const resp = await this.$axios.post('/platform/welfare/common/welfareProjects')
if (resp.code === 0) {
const options = resp.data.find(v => v.label === new Date().getFullYear())
if (options && options.children.length > 0) {
this.welfareProjectOptions = options.children
}
}
// const resp = await this.$axios.post('/platform/welfare/common/welfareProjects')
// if (resp.code === 0) {
// const options = resp.data.find(v => v.label === new Date().getFullYear())
// if (options && options.children.length > 0) {
// this.welfareProjectOptions = options.children
// }
// }
}
},
watch: {
'formData.questionId': {
async handler(newVal, oldVal) {
if(newVal){
this.getIssueByQuestionId(newVal)
// this.formData.pts.map(v => v.issueIds = [])
}else{
this.formData.pts.map(v => v.issueIds = [])
}
},
deep: true,
immediate:true
},
// 'formData.questionId': {
// async handler(newVal, oldVal) {
// if(newVal){
// this.getIssueByQuestionId(newVal)
// // this.formData.pts.map(v => v.issueIds = [])
// }else{
// this.formData.pts.map(v => v.issueIds = [])
// }
// },
// deep: true,
// immediate:true
// },
'formData.groupId': {
async handler(newVal, oldVal) {
this.getActivityGroup()
@@ -1968,7 +1941,7 @@ layout("/layouts/platform.html"){
},
async created() {
this.getActivityGroup()
this.getQuestion()
// this.getQuestion()
// this.questionOptions = await Jsz.getQuestion()
this.pageForm.year = (new Date().getFullYear()).toString()
@@ -35,6 +35,7 @@ const answer = {
this.$axios.post("/platform/qsv/survey/userAnswer", { activityId: this.activityId }).then((res) => {
if (res.code === 0) {
this.tableColumns = res.data.tableColumns
console.log(this.tableColumns)
this.tableData = res.data.tableData
}
})
@@ -265,7 +265,7 @@ var ACTIVITY_SPORTS_APPLY_USER = {
:remote-method="querySearchAsync"
@change="addUserChange"
filterable
placeholder="请输入工号或者姓名查询"
placeholder="请输入工号或者姓名查询"
remote
reserve-keyword
style="width: 100%"
@@ -392,6 +392,7 @@ var ACTIVITY_SPORTS_APPLY_USER = {
this.$set(this.formData, 'loginname', user ? user.loginname : null)
this.$set(this.formData, 'username', user ? user.username : null)
this.$set(this.formData, 'unitId', user ? user.unitId : null)
this.$set(this.formData, 'unionId', user ? user.unionId : null)
this.$set(this.formData, 'sex', user ? user.sex : null)
this.$set(this.formData, 'idcard', user ? user.idCard : null)
this.$set(this.formData, 'mobile', user ? user.mobile : null)
@@ -113,7 +113,7 @@ layout("/layouts/platform.html"){
</div>
<div class="text item">
<span style="color: gray">活动时间:</span>
{{$moment(item.startTime).format('YYYY/MM/DD HH:mm')}} 至 {{$moment(item.endTime).format('YYYY/MM/DD')}}
{{$moment(item.startTime).format('YYYY/MM/DD')}} 至 {{$moment(item.endTime).format('YYYY/MM/DD')}}
</div>
</div>
</el-card>
@@ -154,12 +154,12 @@ layout("/layouts/platform.html"){
</div>
<div class="mr10 ml20" v-if="unionLeaderCoach">
领队:
<span style="color: #419bf8">{{leaderData.username?leaderData.username:'暂无'}}</span>
<span style="color: #419bf8">{{leaderData.username?leaderData.username:'暂无'}}</span><!--
&emsp13; 教练:
<span style="color: #419bf8">{{coachData.username ?coachData.username:'暂无'}}</span>
<span style="color: #419bf8">{{coachData.username ?coachData.username:'暂无'}}</span>-->
</div>
<div>
<el-button @click="openLeaderCoach" size="medium" type="primary" v-if="unionLeaderCoach">设置领队/教练</el-button>
<el-button @click="openLeaderCoach" size="medium" type="primary" v-if="unionLeaderCoach">设置领队</el-button>
</div>
</table-tool>
<el-table
@@ -241,10 +241,10 @@ layout("/layouts/platform.html"){
</template>
</guava>
<el-dialog :visible.sync="dialogLeaderCoach" title="添加领队/教练" width="60%">
<el-dialog :visible.sync="dialogLeaderCoach" title="添加领队" width="40%">
<el-form :model="headData" :rules="formRules" label-width="100px" ref="form" v-loading="formLoading">
<el-row :gutter="20">
<el-col :span="12">
<el-col :span="24">
<table-tool label="填写领队信息"></table-tool>
<el-form-item label="姓&emsp;&emsp;名" prop="userId">
<user-select
@@ -266,7 +266,7 @@ layout("/layouts/platform.html"){
<el-input maxlength="50" placeholder="请填写电话" type="text" v-model="leaderData.mobile"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<!--<el-col :span="12">
<table-tool label="填写教练信息"></table-tool>
<el-form-item label="姓&emsp;&emsp;名" prop="userId">
<user-select
@@ -287,7 +287,7 @@ layout("/layouts/platform.html"){
<el-form-item label="电&emsp;&emsp;话" prop="mobile">
<el-input maxlength="50" placeholder="请填写电话" type="text" v-model="coachData.mobile"></el-input>
</el-form-item>
</el-col>
</el-col>-->
</el-row>
</el-form>
<span class="dialog-footer" slot="footer">
@@ -362,7 +362,7 @@ layout("/layouts/platform.html"){
this.$set(this.leaderData, "unionLeader", true)
this.$set(this.leaderData, "unionId", user.unionId)
this.$set(this.leaderData, "identity", ["3"])
this.$set(this.leaderData, "status", 0)
this.$set(this.leaderData, "status", 2)
this.$set(this.leaderData, "awardsMode", 2)
this.$set(this.leaderData, "activityId", this.activityData.id)
}
@@ -380,7 +380,7 @@ layout("/layouts/platform.html"){
this.$set(this.coachData, "unionCoach", true)
this.$set(this.coachData, "unionId", user.unionId)
this.$set(this.coachData, "identity", ["2"])
this.$set(this.coachData, "status", 0)
this.$set(this.coachData, "status", 2)
this.$set(this.coachData, "awardsMode", 2)
this.$set(this.coachData, "activityId", this.activityData.id)
}
@@ -182,6 +182,7 @@ const CLUB_INFO_MANAGE_TEMPLATE = {
openAuth(row) {
this.authDialogVisible = true
this.authFormData = {
id: row.id,
userId: row.userId,
userName: row.userName,
loginName: row.loginName,
@@ -203,6 +204,7 @@ const CLUB_INFO_MANAGE_TEMPLATE = {
}).then((res) => {
this.$axios
.post("/platform/club/infoManage/manage/doAuthRole", {
id: this.authFormData.id,
userId: this.authFormData.userId,
clubId: this.authFormData.clubId,
roleCode: JSON.stringify(this.authFormData.roleCode)
@@ -115,8 +115,8 @@ layout("/layouts/platform.html"){
formData.sponsor = this.$refs.clubSponsorRef.sponsorData
.filter((o) => o.userId !== "" && o.userId !== undefined)
.map((o) => o.userId)
if (type === "doSubmit" && formData.sponsor && formData.sponsor.length < 3) {
this.$message.warning({ title: "警告", message: "发起人要求不少于3人" })
if (type === "doSubmit" && formData.sponsor && formData.sponsor.length < 1) {
this.$message.warning({ title: "警告", message: "发起人要求不少于1人" })
return
}
let manageValid = false
@@ -56,7 +56,7 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
<el-row class="query-row">
<el-col class="query-row-title">性别</el-col>
<el-col class="query-row-content">
<el-col class="query-row-content query-row-content-tag">
<el-tag
:effect="pageForm.sexTypes.includes(item.name)?'dark':'plain'"
:key="item.code"
@@ -62,9 +62,9 @@ layout("/layouts/platform.html"){
<el-table-column prop="maleMember" label="男会员" align="center" sortable></el-table-column>
<el-table-column prop="femaleMember" label="女会员" align="center" sortable></el-table-column>
<el-table-column prop="smallForty" label="小于等于40岁会员" align="center" sortable></el-table-column>
<el-table-column prop="smallFifty" label="40-50" align="center" sortable></el-table-column>
<el-table-column prop="smallFiftyFive" label="50-55" align="center" sortable></el-table-column>
<el-table-column prop="smallFiftyFive2" label="大于55" align="center" sortable></el-table-column>
<el-table-column prop="smallFifty" label="41-50" align="center" sortable></el-table-column>
<el-table-column prop="smallFiftyFive" label="51-55" align="center" sortable></el-table-column>
<el-table-column prop="smallFiftyFive2" label="大于等于56" align="center" sortable></el-table-column>
</el-table>
</el-card>
</template>
@@ -106,18 +106,13 @@ layout("/layouts/platform_h5.html"){
<p>{{index+1}}、{{ subject.title }}</p>
<div class="tag">
<van-tag v-if="subject.type === 'checkbox'" type="primary" size="large">多选</van-tag>
<van-tag v-if="subject.type === 'checkbox' && subject.maxSelectNum && subject.minSelectNum && subject.maxSelectNum === subject.minSelectNum" type="success" size="large">
只能选择{{subject.maxSelectNum}}项
</van-tag>
<van-tag v-if="subject.type === 'checkbox' && subject.maxSelectNum && (!subject.minSelectNum || subject.maxSelectNum !== subject.minSelectNum)" type="primary" size="large">
<van-tag v-if="subject.type === 'checkbox' && subject.maxSelectNum" type="primary" size="large">
最多可选{{subject.maxSelectNum}}
</van-tag>
<van-tag v-if="subject.type === 'checkbox' && subject.minSelectNum && subject.minSelectNum > 1 && (!subject.maxSelectNum || subject.maxSelectNum !== subject.minSelectNum)" type="warning" size="large">
<van-tag v-if="subject.type === 'checkbox' && subject.minSelectNum && subject.minSelectNum > 1" type="warning" size="large">
最少选择{{subject.minSelectNum}}
</van-tag>
<van-tag v-if="subject.type === 'radio'" type="primary" size="large">单选</van-tag>
<van-tag v-if="subject.score" type="primary" size="large">{{subject.score}}分</van-tag>
</div>
<!--单选、多选-->