Files
UNION_HUTB/target/classes/views/platform/hd/xhdgl/hdxxglindex.html
T
2026-09-09 09:14:28 +08:00

2171 lines
99 KiB
HTML

<!--校活动信息管理 djx 2019-6-12-->
<!--#
layout("/layouts/platform.html"){
#-->
<style>
.dia .el-dialog__body {
padding: 10px 20px;
}
.el-form--label-top .el-form-item__label {
padding: 0px;
}
.el-form {
margin-left: 30px;
}
.el-form-item__label {
line-height: 20px;
font-size: 14px;
}
.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
margin-bottom: 8px;
}
.el-divider--horizontal {
margin: 16px 0px;
}
.editor {
width: 100%;
height: 160px;
}
label {
margin-bottom: 0px;
}
.el-card__body {
padding: 10px;
}
.el-input--suffix .el-input__inner {
padding-right: 0px;
}
.el-dropdown-menu__item {
padding: 0px 15px;
}
.el-step__title {
font-size: 14px;
line-height: 24px;
}
.el-step__icon {
width: 20px;
height: 20px;
}
.el-card__body {
padding: 10px 20px 0px;
}
.el-divider__text {
color: #f56c6c;
}
#query .el-card__body {
padding: 10px;
}
.el-date-editor .el-range-separator {
padding: 0px;
}
.el-range-editor.el-input__inner {
padding: 3px 6px;
}
.el-date-editor .el-range-input {
width: 42%;
}
.el-date-editor .el-range__close-icon {
width: 18px;
}
.bmqk .el-card__body {
padding: 10px 20px;
}
#first .el-card__body {
padding: 0px;
}
#addDialog .el-table--medium td, .el-table--medium th {
padding: 4px 0px;
}
#hdrs {
height: 30px;
padding: 0px 10px;
}
.el-table-container {
padding-top: 100px;
padding-left: 5px;
padding-right: 5px;
}
.v-0x2323544 {
text-align: center;
color: rgb(180, 180, 180);
}
.v-0x345756765 {
text-align: center;
}
</style>
<div id="app" v-cloak>
<transition name="el-zoom-in-center">
<div style="padding: 10px" v-show="isshow">
<el-card id="first">
<!--快捷查询-->
<el-row class="header navbar bg-white shadow">
<span>基础查询:</span>
<div class="btn-group tool-button mt5">
<el-date-picker v-model="pageForm.year" value-format="yyyy" type="year"
:clearable="false" placeholder="选择年度"></el-date-picker>
</div>
<div class="btn-group tool-button mt5">
<el-input style="width:180px;" placeholder="可按活动名称查询" v-model="pageForm.searchKeyword"
clearable></el-input>
</div>
<div class="btn-group tool-button mt5">
<el-select placeholder="请选择活动类型" v-model="pageForm.hdlx" style="width: 160px;" clearable="true"
filterable="true">
<el-option v-for="item in queryHdlx" :label="item.name" :value="item.id"></el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-select placeholder="请选择活动项目" v-model="pageForm.hdxm" style="width: 160px;" clearable="true"
filterable="true">
<el-option v-for="item in queryHdxm" :label="item.name" :value="item.id"></el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-select placeholder="竞赛模式" v-model="pageForm.jsms" style="width: 120px;" clearable="true"
filterable="true">
<el-option label="竞赛类" value="竞赛类"></el-option>
<el-option label="非竞赛类" value="非竞赛类"></el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-button type="primary" icon="el-icon-search" @click="loading = true,doSearch()"></el-button>
</div>
<div class="pull-right offscreen-right mt5">
<el-button size="medium" @click="openAdd"><i class="ti-plus"></i> 创建文体活动</el-button>
</div>
<el-row style="margin-bottom: 5px">
<div class="btn-group tool-button mt5">
<span>一键查询:</span>
</div>
<div class="btn-group tool-button mt5">
<el-button size="medium" @click="loading = true,pageForm.zt='未开启',pageData()">未开启</el-button>
</div>
<div class="btn-group tool-button mt5">
<el-button size="medium" @click="loading = true,pageForm.zt='报名中',pageData()">报名中</el-button>
</div>
<div class="btn-group tool-button mt5">
<el-button size="medium" @click="loading = true,pageForm.zt='报名结束',pageData()">报名结束</el-button>
</div>
<div class="btn-group tool-button mt5">
<el-button size="medium" @click="loading = true,pageForm.zt='活动进行中',pageData()">正在进行</el-button>
</div>
<div class="btn-group tool-button mt5">
<el-button size="medium" @click="loading = true,pageForm.zt='活动结束',pageData()">已结束</el-button>
</div>
</el-row>
</el-row>
</el-card>
<!--表格-->
<el-row class="el-table-container">
<el-table :data="tableData" size="small" v-loading="loading" element-loading-text="拼命加载中"
element-loading-spinner="el-icon-loading" element-loading-background="white">
<el-table-column align="center" header-align="center" label="序号" type="index">
<template scope="scope">
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span></template>
</el-table-column>
<el-table-column align="center" width="200" :show-overflow-tooltip="true" header-align="center"
label="活动名称" prop="xhdmc"></el-table-column>
<el-table-column align="center" width="140" :show-overflow-tooltip="true" header-align="center"
label="活动地点" prop="hddz"></el-table-column>
<el-table-column align="center" header-align="center" label="活动类型" prop="hdlx"></el-table-column>
<el-table-column align="center" header-align="center" label="活动项目" prop="hdxm"></el-table-column>
<el-table-column align="center" header-align="center" label="竞赛模式" prop="jsfs">
<template slot-scope="scope">
<el-tag type="primary" :disable-transitions="true" v-if="scope.row.jsfs=='竞赛类'">
{{scope.row.jsfs}}
</el-tag>
<el-tag type="warning" :disable-transitions="true" v-if="scope.row.jsfs=='非竞赛类'">
{{scope.row.jsfs}}
</el-tag>
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="报名开始时间" prop="bmkssj"></el-table-column>
<el-table-column align="center" header-align="center" label="报名结束时间" prop="bmjssj"></el-table-column>
<el-table-column align="center" header-align="center" label="活动开始时间" prop="hdks"></el-table-column>
<el-table-column align="center" header-align="center" label="活动状态" prop="zt">
<template slot-scope="scope">
<el-tag type="info" v-if="scope.row.zt=='未开启' && scope.row.sdjs!='1'">{{scope.row.zt}}</el-tag>
<el-tag type="warning" v-if="scope.row.zt=='报名中' && scope.row.sdjs!='1'">{{scope.row.zt}}
</el-tag>
<el-tag type="parimay" v-if="scope.row.zt=='报名结束' && scope.row.sdjs!='1'">{{scope.row.zt}}
</el-tag>
<el-tag type="success" v-if="scope.row.zt=='活动进行中' && scope.row.sdjs!='1'">{{scope.row.zt}}
</el-tag>
<el-tag type="danger" v-if="scope.row.zt=='活动结束' && scope.row.sdjs!='1'">{{scope.row.zt}}
</el-tag>
<el-tag type="danger" v-if="scope.row.sdjs=='1'">活动结束</el-tag>
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="已报名人数" prop="bmrs"></el-table-column>
<el-table-column align="center" label="操作" width="140px">
<template slot-scope="scope">
<el-dropdown trigger="click">
<el-button type="primary" size="mini">
请选择操作<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="openInfo(scope)">查看</el-dropdown-item>
<el-dropdown-item @click.native="openEdit(scope)">编辑</el-dropdown-item>
<el-dropdown-item @click.native="openGzRy(scope)">设置活动工作人员</el-dropdown-item>
<el-dropdown-item @click.native="openXgCsry(scope)">修改参赛人员</el-dropdown-item>
<el-dropdown-item @click.native="jshd(scope)">结束活动</el-dropdown-item>
<!--#if(@shiro.hasRole('sysadmin')){#-->
<el-dropdown-item @click.native="deleteDo2(scope)">删除</el-dropdown-item>
<!--#}else{#-->
<el-dropdown-item @click.native="deleteDo(scope)">删除</el-dropdown-item>
<!--#}#-->
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
</el-row>
<!--分页-->
<el-row class="el-pagination-container">
<el-pagination
@size-change="pageSizeChange"
@current-change="pageNumberChange"
:current-page="pageForm.pageNumber"
:page-sizes="[10, 20, 30, 50]"
:page-size="pageForm.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="pageForm.totalCount">
</el-pagination>
</el-row>
</div>
</transition>
<!--新增-->
<el-dialog title="创建文体活动" id="addDialog" v-if="addDialogVisible" class="dia" :close-on-click-modal="false" @close="pageData()"
:visible.sync="addDialogVisible" custom-class="ViewDialogClass" width="76%" top="3%">
<el-divider v-if="active=='1'" content-position="left"><span style="color: #409eff">填写活动基本信息</span></el-divider>
<el-divider v-if="active=='2'" content-position="left"><span style="color: #409eff">分配报名人员名额</span></el-divider>
<el-form v-show="active=='1'" :model="formData" label-position="top" ref="addForm" :rules="formRules"
size="small" label-width="86px">
<el-row>
<el-col :span="8">
<el-form-item label="计划名称">
<el-select v-model="formData.jhid" filterable @change="selChange" placeholder="请选择计划"
style="width: 88%">
<el-option label="选择其他" value=""></el-option>
<el-option
v-for="item in hdjhOptions"
:label="item.jhmc"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="活动名称">
<el-input maxlength="100" placeholder="请输入活动名称"
v-model="formData.xhdmc" style="width: 88%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="活动地址">
<el-input maxlength="100" placeholder="请输入活动地址"
v-model="formData.hddz" style="width: 88%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="活动类型">
<el-select v-model="formData.hdlxid" filterable placeholder="请选择活动类型" style="width: 88%">
<el-option
v-for="item in hdlxOptions"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="活动项目">
<el-select v-model="formData.hdxmid" filterable placeholder="请选择活动项目" style="width: 88%">
<el-option
v-for="item in hdxmOptions"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报名日期">
<el-date-picker
style="width: 96%"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
v-model="addBm"
type="daterange"
range-separator="至"
start-placeholder="报名开始日期"
end-placeholder="报名结束日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="主办单位">
<el-select v-model="formData.zbdw" filterable placeholder="请选择主办单位" style="width: 88%">
<el-option
v-for="item in dwOptions"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="协办单位">
<el-select v-model="formData.xbdw" multiple filterable placeholder="请选择协办单位" style="width: 88%">
<el-option
v-for="item in dwOptions"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="活动日期">
<el-date-picker
style="width: 96%"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss"
v-model="addHd"
type="datetimerange"
range-separator="至"
start-placeholder="活动开始日期"
end-placeholder="活动结束日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="竞赛方式">
<el-radio v-model="formData.jsfs" border label="竞赛类">竞赛类</el-radio>
<el-radio v-model="formData.jsfs" border label="非竞赛类">非竞赛类</el-radio>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="颁奖模式">
<el-radio v-model="formData.bjms" border label="团体">团体</el-radio>
<el-radio v-model="formData.bjms" border label="个人">个人</el-radio>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="活动经费预算">
<el-input maxlength="100" placeholder="请输入活动经费预算"
v-model="formData.jfys" style="width: 88%"
auto-complete="off" tabindex="4" type="number">
<template slot="append"></template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="报名方式">
<el-radio v-model="formData.bmfs" border label="个人报名">个人报名</el-radio>
<el-radio v-model="formData.bmfs" border label="院级工会报名">院级工会报名</el-radio>
<el-radio style="margin-right: 10px;" v-model="formData.bmfs" border label="名额分配">院级工会名额分配
</el-radio>
<!--<el-button @click="open" size="medium" type="primary" icon="el-icon-edit" circle></el-button>-->
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="组合方式">
<el-radio v-model="formData.zhfs" :disabled="zhfsDis" border label="男女组">男女组</el-radio>
<el-radio v-model="formData.zhfs" border label="普通组">普通组</el-radio>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="是否推送日历">
<el-radio-group v-model="formData.sfrl">
<el-radio label="1"></el-radio>
<el-radio label="2"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="推送人员">
<el-checkbox-group v-model="formData.qx">
<el-checkbox label="H10">校活动管理员</el-checkbox>
<el-checkbox label="H04">院级工会管理员</el-checkbox>
<el-checkbox label="H01">会员用户</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="formData.zhfs=='普通组'&&formData.bmfs!='名额分配'">
<el-col :span="8">
<el-form-item label="总人数(包含教练及领队人数)">
<el-input maxlength="100" placeholder="请输入总人数"
v-model="formData.hdrs" style="width: 88%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="formData.zhfs=='男女组'">
<el-col :span="8">
<el-form-item label="男队人数">
<el-input maxlength="100" placeholder="请输入男队人数"
v-model="formData.manrs" style="width: 88%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="女队人数">
<el-input maxlength="100" placeholder="请输入女队人数"
v-model="formData.womenrs" style="width: 88%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="总人数(包含教练及领队人数)">
<el-input maxlength="100" placeholder="请输入总人数"
v-model="formData.hdrs" style="width: 88%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="报名办法" class="js" style="display: none">
<div id="bmEditor" ref="bmEditor"></div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="竞赛办法" class="js" style="display: none">
<div id="jsEditor" ></div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="奖励办法" class="js" style="display: none">
<div id="jlEditor" ></div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="注意事项" class="js" style="display: none">
<div id="zysxEditor" ></div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="活动通知" class="fjs">
<div id="hdtzEditor"></div>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-row v-show="active=='2'" style="text-align: right">
<el-input id="hdrs" size="mini" style="width: 13%;" placeholder="统一设置活动人数" v-model="hdrs"
type="number"></el-input>
<el-input size="mini" style="width: 40.5%;margin-right: 10px;margin-left: 18px;" placeholder="统一设置报名要求"
v-model="bmyq" type="textarea" :rows="1"></el-input>
</el-row>
<el-table v-show="active=='2'" :data="meTableData" size="medium">
<el-table-column align="center" header-align="center" label="工会名称" prop="unionname"></el-table-column>
<el-table-column align="center" width="160px" header-align="center" label="活动人数" prop="hdrs">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.hdrs" type="number"></el-input>
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="报名要求" prop="bmyq">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.bmyq" type="textarea" :rows="1"></el-input>
</template>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button @click="addDialogVisible = false">取 消</el-button>
<el-button type="warning" @click="active='2'" v-if="formData.bmfs=='名额分配'&&active=='1'">下一步</el-button>
<el-button type="warning" @click="active='1'" v-if="formData.bmfs=='名额分配'&&active=='2'">上一步</el-button>
<el-button type="primary" @click="doAdd">保 存</el-button>
<el-button type="success" @click="queding">确 定</el-button>
</span>
</el-dialog>
<!--编辑-->
<el-dialog title="编辑活动信息" id="editDialog" class="dia" :close-on-click-modal="false"
:visible.sync="editDialogVisible" custom-class="ViewDialogClass" width="76%" top="3%">
<el-divider v-if="active=='1'" content-position="left"><span style="color: #409eff">填写活动基本信息</span></el-divider>
<el-divider v-if="active=='2'" content-position="left"><span style="color: #409eff">分配报名人员名额</span></el-divider>
<el-form v-show="active=='1'" :model="editFormData" label-position="top" ref="editForm" :rules="editFormRules"
size="small" label-width="86px">
<el-row>
<el-col :span="8">
<el-form-item label="计划名称">
<el-select :disabled="disabled" filterable @change="editSelChange" v-model="editFormData.jhid"
placeholder="请选择计划" style="width: 88%">
<el-option label="选择其他" value=""></el-option>
<el-option
v-for="item in editHdjhOptions"
:label="item.jhmc"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="活动名称">
<el-input maxlength="100" placeholder="请输入活动名称"
v-model="editFormData.xhdmc" style="width: 88%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="活动地址">
<el-input maxlength="100" placeholder="请输入活动地址"
v-model="editFormData.hddz" style="width: 88%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="活动类型">
<el-select v-model="editFormData.hdlxid" filterable placeholder="请选择活动类型" style="width: 88%">
<el-option
v-for="item in hdlxOptions"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="活动项目">
<el-select v-model="editFormData.hdxmid" filterable placeholder="请选择活动项目" style="width: 88%">
<el-option
v-for="item in hdxmOptions"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报名日期">
<el-date-picker
style="width: 96%"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
v-model="editBm"
type="daterange"
range-separator="至"
start-placeholder="报名开始日期"
end-placeholder="报名结束日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="主办单位">
<el-select v-model="editFormData.zbdw" filterable placeholder="请选择主办单位" style="width: 88%">
<el-option
v-for="item in dwOptions"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="协办单位">
<el-select v-model="editFormData.xbdw" multiple filterable placeholder="请选择协办单位"
style="width: 88%">
<el-option
v-for="item in dwOptions"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="活动日期">
<el-date-picker
style="width: 96%"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss"
v-model="editHd"
type="datetimerange"
range-separator="至"
start-placeholder="活动开始日期"
end-placeholder="活动结束日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="竞赛方式">
<el-radio v-model="editFormData.jsfs" :disabled="disabled" border label="竞赛类">竞赛类</el-radio>
<el-radio v-model="editFormData.jsfs" :disabled="disabled" border label="非竞赛类">非竞赛类</el-radio>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="颁奖模式">
<el-radio v-model="editFormData.bjms" :disabled="disabled" border label="团体">团体</el-radio>
<el-radio v-model="editFormData.bjms" :disabled="disabled" border label="个人">个人</el-radio>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="活动经费预算">
<el-input maxlength="100" placeholder="请输入活动经费预算"
v-model="editFormData.jfys" style="width: 88%"
auto-complete="off" tabindex="4" type="number">
<template slot="append"></template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="报名方式">
<el-radio v-model="editFormData.bmfs" border label="个人报名">个人报名</el-radio>
<el-radio v-model="editFormData.bmfs" border label="院级工会报名">院级工会报名</el-radio>
<el-radio style="margin-right: 10px;" v-model="editFormData.bmfs" border label="名额分配">基层工会名额分配
</el-radio>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="组合方式">
<el-radio v-model="editFormData.zhfs" :disabled="editzhfsDis" border label="男女组">男女组</el-radio>
<el-radio v-model="editFormData.zhfs" border label="普通组">普通组</el-radio>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="是否推送日历">
<el-radio-group v-model="editFormData.sfrl">
<el-radio label="1"></el-radio>
<el-radio label="2"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="推送人员">
<el-checkbox-group v-model="editFormData.qx">
<el-checkbox label="H10">校活动管理员</el-checkbox>
<el-checkbox label="H04">院级工会管理员</el-checkbox>
<el-checkbox label="H01">会员用户</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="editFormData.zhfs=='普通组'&&editFormData.bmfs!='名额分配'">
<el-col :span="8">
<el-form-item label="总人数(包含教练及领队人数)">
<el-input maxlength="100" placeholder="请输入总人数"
v-model="editFormData.hdrs" style="width: 88%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="editFormData.zhfs=='男女组'">
<el-col :span="8">
<el-form-item label="男队人数">
<el-input maxlength="100" placeholder="请输入男队人数"
v-model="editFormData.manrs" style="width: 88%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="女队人数">
<el-input maxlength="100" placeholder="请输入女队人数"
v-model="editFormData.womenrs" style="width: 88%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="总人数(包含教练及领队人数)">
<el-input maxlength="100" placeholder="请输入总人数"
v-model="editFormData.hdrs" style="width: 88%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="报名办法" v-show="editFormData.jsfs=='竞赛类'">
<div id="editbmEditor" ></div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="竞赛办法" v-show="editFormData.jsfs=='竞赛类'">
<div id="editjsEditor" ></div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="奖励办法" v-show="editFormData.jsfs=='竞赛类'">
<div id="editjlEditor" ></div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="注意事项" v-show="editFormData.jsfs=='竞赛类'">
<div id="editzysxEditor" ></div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="活动通知" v-show="editFormData.jsfs=='非竞赛类'">
<div id="edithdtzEditor" ></div>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-row v-show="active=='2'" style="text-align: right">
<el-input id="hdrs" size="mini" style="width: 13%;" placeholder="统一设置活动人数" v-model="edithdrs"
type="number"></el-input>
<el-input size="mini" style="width: 40.5%;margin-right: 10px;margin-left: 18px;" placeholder="统一设置报名要求"
v-model="editbmyq" type="textarea" :rows="1"></el-input>
</el-row>
<el-table v-show="active=='2'" :data="editmeTableData" size="medium">
<el-table-column align="center" header-align="center" label="工会名称" prop="unionname"></el-table-column>
<el-table-column align="center" width="160px" header-align="center" label="活动人数" prop="hdrs">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.hdrs" type="number"></el-input>
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="报名要求" prop="bmyq">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.bmyq" type="textarea" :rows="1"></el-input>
</template>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button @click="editDialogVisible = false">取 消</el-button>
<el-button type="warning" @click="active='2'" v-if="editFormData.bmfs=='名额分配'&&active=='1'">下一步</el-button>
<el-button type="warning" @click="active='1'" v-if="editFormData.bmfs=='名额分配'&&active=='2'">上一步</el-button>
<el-button type="primary" @click="doEdit">确 定</el-button>
</span>
</el-dialog>
<transition name="el-zoom-in-center">
<div style="padding: 10px 50px" v-show="!isshow">
<div class="text-primary pointer" style="font-size: 20px" @click="isshow=true">
<i class="el-icon-arrow-left"></i>
返回
</div>
<el-tabs v-model="xqactive">
<el-tab-pane label="活动详细信息" name="1">
<table class="table table-bordered">
<tr>
<td colspan="6" class="text-center" style="font-size: 16px;background-color: #f5f5f5">
{{viewData.xhdmc}}
</td>
</tr>
<tr>
<td class="v-0x345756765">活动地点</td>
<td class="v-0x2323544" colspan="2">{{viewData.hddz}}</td>
<td class="v-0x345756765">主办单位</td>
<td class="v-0x2323544" colspan="2">{{viewData.unit}}</td>
</tr>
<tr>
<td class="v-0x345756765">活动类型</td>
<td class="v-0x2323544">{{viewData.hdlx}}</td>
<td class="v-0x345756765">活动项目</td>
<td class="v-0x2323544">{{viewData.hdxm}}</td>
<td class="v-0x345756765">活动经费预算</td>
<td class="v-0x2323544">{{viewData.jfys}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="v-0x345756765">报名开始时间</td>
<td class="v-0x2323544">{{viewData.bmkssj}}</td>
<td class="v-0x345756765">报名截止时间</td>
<td class="v-0x2323544">{{viewData.bmjssj}}</td>
<td class="v-0x345756765">活动年份</td>
<td class="v-0x2323544">{{viewData.hdnf}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="v-0x345756765">活动开始时间</td>
<td class="v-0x2323544">{{viewData.hdks}}</td>
<td class="v-0x345756765">活动结束时间</td>
<td class="v-0x2323544">{{viewData.hdjs}}</td>
<td class="v-0x345756765">组合方式</td>
<td class="v-0x2323544">{{viewData.zhfs}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="v-0x345756765">颁奖模式</td>
<td class="v-0x2323544">{{viewData.bjms}}</td>
<td class="v-0x345756765">竞赛模式</td>
<td class="v-0x2323544">{{viewData.jsfs}}</td>
<td class="v-0x345756765">报名方式</td>
<td class="v-0x2323544" v-if="viewData.bmfs!='名额分配'">{{viewData.bmfs}}</td>
<td class="v-0x2323544" v-else>院级工会报名</td>
</tr>
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
<td colspan="6" class="text-center"
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5">报名办法</td>
</tr>
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
<td colspan="6">
<div class="v-0x2323544" v-html="viewData.bmbf"></div>
</td>
</tr>
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
<td colspan="6" class="text-center"
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5">竞赛办法</td>
</tr>
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
<td colspan="6">
<div class="v-0x2323544" v-html="viewData.jsbf"></div>
</td>
</tr>
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
<td colspan="6" class="text-center"
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5">奖励办法</td>
</tr>
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
<td colspan="6">
<div class="v-0x2323544" v-html="viewData.jlbf"></div>
</td>
</tr>
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
<td colspan="6" class="text-center"
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5">其他注意事项</td>
</tr>
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
<td colspan="6">
<div class="v-0x2323544" v-html="viewData.zysx"></div>
</td>
</tr>
<tr v-show="viewData.jsfs=='非竞赛类'" style="border: 1px solid rgb(220,220,220);">
<td colspan="6" class="text-center"
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5">活动通知</td>
</tr>
<tr v-show="viewData.jsfs=='非竞赛类'" style="border: 1px solid rgb(220,220,220);">
<td colspan="6">
<div class="v-0x2323544" v-html="viewData.hdtz"></div>
</td>
</tr>
</table>
</el-tab-pane>
<el-tab-pane label="活动工作人员列表" name="2">
<el-table :data="gzryListTableData" size="small" >
<el-table-column label="人员身份" prop="shmc" header-align="center"
align="center"></el-table-column>
<el-table-column label="姓名" prop="username" header-align="center"
align="center"></el-table-column>
<el-table-column label="所属单位" prop="name" header-align="center"
align="center"></el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="活动报名情况" name="3">
<el-table :data="bmTableData" max-height="320px" height="320px" size="small" >
<el-table-column label="序号" type="index" index="1" header-align="center"
align="center"></el-table-column>
<el-table-column v-if="bmfs == '院级工会报名' || bmfs == '名额分配'" label="报名单位"
prop="unionname" header-align="center" align="center"></el-table-column>
<el-table-column v-if="bmfs == '院级工会报名' || bmfs == '名额分配'" label="报名人员" prop="cyry"
header-align="center" align="center"></el-table-column>
<el-table-column v-if="bmfs == '个人报名'" label="工资号" prop="loginname" header-align="center"
align="center"></el-table-column>
<el-table-column v-if="bmfs == '个人报名'" label="姓名" prop="username" header-align="center"
align="center"></el-table-column>
<el-table-column v-if="bmfs == '个人报名'" label="性别" prop="sex" header-align="center"
align="center"></el-table-column>
<el-table-column v-if="bmfs == '个人报名'" label="单位" prop="name"
header-align="center" align="center"></el-table-column>
<el-table-column v-if="bmfs == '个人报名'" label="联系电话" prop="mobile" header-align="center"
align="center"></el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="活动获奖情况" name="4">
<el-table :data="hjTableData" size="small" >
<el-table-column v-if="hdms == '团体'" label="获奖单位" prop="name" header-align="center"
align="center"></el-table-column>
<el-table-column v-if="hdms == '个人'" label="获奖人" prop="username" header-align="center"
align="center"></el-table-column>
<el-table-column v-if="hdms == '个人'" label="获奖人单位" prop="name" header-align="center"
align="center"></el-table-column>
<el-table-column label="获奖信息" prop="mc" header-align="center" align="center"></el-table-column>
<el-table-column label="奖品名称" prop="jpmc" header-align="center" align="center">
<template slot-scope="scope">
<el-label v-if="scope.row.jpmc!='' && scope.row.jpmc!=null">{{scope.row.jpmc}}
</el-label>
<el-label v-else>无(现金奖励)</el-label>
</template>
</el-table-column>
<el-table-column label="金额" prop="money" header-align="center" align="center"></el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</div>
</transition>
<!--修改参赛人员-->
<el-dialog title="修改参赛人员" width="60%" custom-class="ViewDialogClass" :visible.sync="csryDialogVisible" top="6%">
<div class="block">
<el-select
size="small"
style="width: 60%"
class="span_n"
v-model="selUsers"
multiple
filterable
remote
default-first-option
reserve-keyword
:remote-method="remoteMethod"
placeholder="请输入姓名或工资号或单位名称"
>
<el-option
v-for="item in dbUsers"
:label="item.display"
:value="item.id">
</el-option>
</el-select>
<el-dropdown @command="addCsRy" trigger="click">
<el-button type="primary" @click="clickGrBm(scope)" size="mini">
添加参赛人员<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown" v-if="dropDownIsShow">
<el-dropdown-item command="9">领队</el-dropdown-item>
<el-dropdown-item command="10">教练</el-dropdown-item>
<el-dropdown-item command="11">运动员(参与者)</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-button size="small" @click="removeCsRy" type="danger" style="margin-left: 60px;">移除参赛人员</el-button>
</div>
<div class="btn-group tool-button mt5">
<el-input style="width:180px;" placeholder="可按姓名、工资号查询" size="mini" v-model="xgPageForm.csWord"
clearable></el-input>
</div>
<div class="btn-group tool-button mt5">
<el-select placeholder="请选择工会" size="mini" filterable v-model="xgPageForm.csUnion" style="width: 220px;"
clearable="true" filterable="true">
<el-option v-for="item in ghOptions" :label="item.unionname" :value="item.id"></el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-button type="primary" size="mini" icon="el-icon-search" @click="csPageData()"></el-button>
</div>
<el-table
:data="xgTableData"
size="small"
header-align="center"
style="width: 100%;margin-top: 8px;"
@selection-change="userSelectionChange">
<el-table-column
type="selection"
width="40">
</el-table-column>
<el-table-column align="center" header-align="center" label="序号" type="index">
<template scope="scope">
<span>{{scope.$index+(xgPageForm.pageNumber - 1) * xgPageForm.pageSize + 1}} </span></template>
</el-table-column>
<el-table-column align="center" width="80px" header-align="center" label="姓名"
prop="username"></el-table-column>
<el-table-column align="center" width="68px" header-align="center" label="工资号"
prop="loginname"></el-table-column>
<el-table-column align="center" header-align="center" label="单位" prop="name"></el-table-column>
<el-table-column align="center" header-align="center" label="电话" prop="mobile"></el-table-column>
<el-table-column align="center" width="50px" header-align="center" label="性别" prop="sex"></el-table-column>
<el-table-column align="center" width="96px" header-align="center" label="审核状态" prop="sex">
<template slot-scope="scope">
<el-tag type="warning" v-if="scope.row.shzt=='1'" size="small">待审核</el-tag>
<el-tag type="primary" v-if="scope.row.shzt=='3'" size="small">审核拒绝</el-tag>
<el-tag type="success" v-if="scope.row.shzt=='2'" size="small">审核通过</el-tag>
</template>
</el-table-column>
</el-table>
<el-row class="el-pagination-container">
<el-pagination
@size-change="xgpageSizeChange"
@current-change="xgpageNumberChange"
:current-page="xgPageForm.pageNumber"
:page-sizes="[10, 20, 30, 50]"
:page-size="xgPageForm.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="xgPageForm.totalCount">
</el-pagination>
</el-row>
</el-dialog>
<!--设置活动工作人员-->
<el-dialog title="设置活动工作人员" class="dia"
:visible.sync="gzryDialogVisible" custom-class="ViewDialogClass" width="46%" top="3%">
<el-steps :active="active" align-center>
<el-step title="选择活动工作人员"></el-step>
<el-step title="设置工作人员信息"></el-step>
</el-steps>
<el-row style="margin-top: 20px;" v-show="active=='1'">
<div class="btn-group tool-button mt5">
<el-input style="width:180px;" size="mini" placeholder="可按姓名、工资号查询" v-model="gzryPageForm.searchKeyword"
clearable></el-input>
</div>
<div class="btn-group tool-button mt5">
<el-select placeholder="请选择工会" size="mini" v-model="gzryPageForm.union" style="width: 160px;"
clearable="true" filterable="true">
<el-option v-for="item in ghOptions" :label="item.unionname" :value="item.id"></el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-button type="primary" size="mini" icon="el-icon-search" @click="doGgrySearch"></el-button>
</div>
</el-row>
<el-table :data="gzryTableData" ref="gzryTable" size="small" :row-key="rowKey" @selection-change="changeFun"
v-show="active=='1'">
<el-table-column :reserve-selection="true"
@selection-change="changeFun"
type="selection"
width="40">
</el-table-column>
<el-table-column align="center" header-align="center" label="序号" type="index">
<template scope="scope">
<span>{{scope.$index+(gzryPageForm.pageNumber - 1) * gzryPageForm.pageSize + 1}} </span></template>
</el-table-column>
<el-table-column align="center" width="80px" header-align="center" label="姓名"
prop="username"></el-table-column>
<el-table-column align="center" width="68px" header-align="center" label="工资号"
prop="loginname"></el-table-column>
<el-table-column align="center" header-align="center" label="单位" prop="name"></el-table-column>
<el-table-column align="center" width="100px" header-align="center" label="电话"
prop="mobile"></el-table-column>
<el-table-column align="center" width="60px" header-align="center" label="性别" prop="sex"></el-table-column>
</el-table>
<el-row class="el-pagination-container" v-show="active=='1'">
<el-pagination
@size-change="gzrypageSizeChange"
@current-change="gzrypageNumberChange"
:current-page="gzryPageForm.pageNumber"
:page-sizes="[10, 20, 30, 50]"
:page-size="gzryPageForm.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="gzryPageForm.totalCount">
</el-pagination>
</el-row>
<el-card class="box-card" v-show="active=='2'" style="margin-top: 20px">
<div slot="header" class="clearfix">
<span style="color: #ebb563">请填写以下人员的身份信息</span>
<el-button @click="gzryDo" style="float: right; padding: 6px 6px;" type="primary" icon="el-icon-check"
circle></el-button>
</div>
<el-form :model="formData" label-position="top" style="margin-left: 0px;" size="small" label-width="86px">
<el-row>
<el-col :span="8"
style="text-align: center;margin-bottom: 8px;background-color: #EBEEF5;color: black;font-weight: bold">
姓名
</el-col>
<el-col :span="8"
style="text-align: center;margin-bottom: 8px;background-color: #EBEEF5;color: black;font-weight: bold">
性别
</el-col>
<el-col :span="8"
style="text-align: center;margin-bottom: 8px;background-color: #EBEEF5;color: black;font-weight: bold">
身份信息
</el-col>
</el-row>
<el-row v-for="item in multipleSelection">
<el-col :span="8" style="text-align: center;margin-bottom: 8px;">
<el-lebel style="color: grey">{{item.username}}</el-lebel>
</el-col>
<el-col :span="8" style="text-align: center;margin-bottom: 8px;">
<el-lebel style="color: grey">{{item.sex}}</el-lebel>
</el-col>
<el-col :span="8" style="text-align: center;margin-bottom: 8px;">
<el-select placeholder="请选择人员身份" size="mini" v-model="item.rysf" style="width: 160px;"
clearable="true" filterable="true">
<el-option v-for="item in sfxx" :label="item.shmc" :value="item.sfid"></el-option>
</el-select>
</el-col>
</el-row>
<el-row style="margin: 20px 0px;" v-if="multipleSelection.length==0">
<el-divider content-position="center">您还没有选择工作人员</el-divider>
</el-row>
</el-form>
</el-card>
<span slot="footer" class="dialog-footer">
<el-button @click="gzryDialogVisible = false">取 消</el-button>
<el-button type="warning" @click="active = '1'" v-if="active == '2'">上一步</el-button>
<el-button type="primary" @click="active = '2'" v-if="active == '1'">下一步</el-button>
<el-button type="primary" @click="gzryDo" v-if="active == '2'">&emsp;</el-button>
</span>
</el-dialog>
</div>
<script>
let E = window.wangEditor
let bmEditor = null
let jsEditor = null
let jlEditor = null
let zysxEditor = null
let hdtzEditor = null
let editbmEditor = null
let editjsEditor = null
let editjlEditor = null
let editzysxEditor = null
let edithdtzEditor = null
const vue = new Vue({
el: "#app",
data() {
return {
/*列表*/
tableData: [],
pageForm: {
pageNumber: 1,
pageSize: 10,
totalCount: 0,
searchKeyword: "",
hdlx: "",
hdxm: "",
zt: "",
year:""
},
queryHdlx: [],
queryHdxm: [],
loading: true,
/*新增*/
addDialogVisible: false,
formData: {
hdlxid: "",
hdxmid: "",
xbdw: [],
xhdmc: "",
zhfs: "",
jsfs: "非竞赛类",
},
hdrs: "",
bmyq: "",
zhfsDis: false,
editzhfsDis: false,
active: "1",
meTableData: [],//名额分配表格数据
formRules: {},
hdlxOptions: [],//活动类型
hdxmOptions: [],//活动项目
hdjhOptions: [],//活动计划
dwOptions: [],
ghOptions:[],
putongShow: false,
nannvShow: false,
addBm: [],
addHd: [],
/*编辑*/
editDialogVisible: false,
edithdrs: "",
editbmyq: "",
editmeTableData: [],
editHdjhOptions: [],
editFormData: {
hdlxid: "",
hdxmid: "",
xbdw: [],
},
editFormRules: {},
editBm: [],
editHd: [],
disabled: false,
/*查看*/
infoDialogVisible: false,
activeName: '1',
viewData: [],
bmTableData: [],
bmfs: "",
hdms: "",
hjTableData: [],
gzryListTableData: [],
/*查询参赛人员*/
csryData: [],
csryDialogVisible: false,
/*修改参赛人员*/
xgTableData: [],
selUsers: [],
dbUsers: [],
xgPageForm: {
pageNumber: 1,
pageSize: 10,
totalCount: 0,
searchKeyword: "",
id: "",
csUnit: "",
csWord: "",
csUnion:""
},
temp: [],
userSelection: [],
dropDownIsShow: true,
/*设置活动工作人员*/
gzryDialogVisible: false,
gzryPageForm: {
pageNumber: 1,
pageSize: 10,
totalCount: 0,
searchKeyword: "",
id: "",
union:""
},
gzryTableData: [],
formData: {},
multipleSelection: [],
sfxx: [],
editFlag: [],
saveid: "",
xbdwSave: [],
xqactive:"1",
isshow:true
}
},
methods: {
pageData () {
sublime.showLoadingbar();//显示loading
$.post(base + "/platform/hd/xhdgl/xhdxxgl/data", this.pageForm).then(data=>{
sublime.closeLoadingbar();//关闭loading
if (data.code == 0) {
this.tableData = data.data.hds.list;
this.pageForm.totalCount = data.data.hds.totalCount;
this.hdlxOptions = data.data.hdlx;
this.queryHdlx = data.data.hdlx;
this.hdjhOptions = data.data.hdjh;
this.dwOptions = data.data.dw;
this.ghOptions=data.data.union;
this.sfxx = data.data.sfxx;
this.pageForm.zt = "";
this.loading = false;
this.meTableData = data.data.union;
}else{
this.loading = false;
}
});
},
/*分页*/
pageSizeChange (val) {
this.pageForm.pageSize = val;
this.pageData();
},
pageNumberChange (val) {
this.pageForm.pageNumber = val;
this.pageData();
},
xgpageSizeChange (val) {
this.xgPageForm.pageSize = val;
this.xgFlag();
},
xgpageNumberChange (val) {
this.xgPageForm.pageNumber = val;
this.xgFlag();
},
gzrypageSizeChange (val) {
this.gzryPageForm.pageSize = val;
this.gzryPageData();
},
gzrypageNumberChange (val) {
this.gzryPageForm.pageNumber = val;
this.gzryPageData();
},
doSearch() {
this.pageForm.pageNumber = 1;
this.pageData();
},
selChange (obj) {
if (obj == "" || obj == null) {
this.formData.xhdmc = "";
this.formData.hdlxid = "";
this.formData.hdxmid = "";
} else {
for (var i = 0; i < this.hdjhOptions.length; i++) {
if (obj == this.hdjhOptions[i].id) {
this.formData.xhdmc = this.hdjhOptions[i].jhmc;
if (this.hdjhOptions[i].hdlxid != null && this.hdjhOptions[i].hdlxid != "") {
this.formData.hdlxid = this.hdjhOptions[i].hdlxid;
}
if (this.hdjhOptions[i].hdxmid != null && this.hdjhOptions[i].hdxmid != "") {
setTimeout(function () {
this.formData.hdxmid = this.hdjhOptions[i].hdxmid;
}, 80)
}
return;
}
}
}
},
editSelChange (obj) {
if (obj == "" || obj == null) {
this.editFormData.xhdmc = this.editFlag[0];
this.editFormData.hdlxid = this.editFlag[1];
this.editFormData.hdxmid = this.editFlag[2];
} else {
for (var i = 0; i < this.hdjhOptions.length; i++) {
if (obj == this.hdjhOptions[i].id) {
this.editFormData.xhdmc = this.hdjhOptions[i].jhmc;
if (this.hdjhOptions[i].hdlxid != null && this.hdjhOptions[i].hdlxid != "") {
this.editFormData.hdlxid = this.hdjhOptions[i].hdlxid;
}
if (this.hdjhOptions[i].hdxmid != null && this.hdjhOptions[i].hdxmid != "") {
setTimeout(function () {
this.editFormData.hdxmid = this.hdjhOptions[i].hdxmid;
}, 80)
}
return;
}
}
}
},
/*新增*/
openAdd () {
this.saveid = "";
this.active = "1";
this.formData = {
hdlxid: "",
hdxmid: "",
xbdw: [],
xhdmc: "",
zhfs: "",
jsfs: "非竞赛类",
qx:[]
};
vue.$nextTick(function () {
//实例化编辑器
bmEditor = new wangEditor("#bmEditor")
bmEditor.create()
jsEditor = new wangEditor("#jsEditor")
jsEditor.create()
jlEditor = new wangEditor("#jlEditor")
jlEditor.create()
zysxEditor = new wangEditor("#zysxEditor")
zysxEditor.create()
hdtzEditor = new wangEditor("#hdtzEditor")
hdtzEditor.create()
});
this.addDialogVisible = true;
},
doAdd () {
if (this.addBm) {
this.formData.bmkssj = this.addBm[0];
this.formData.bmjssj = this.addBm[1];
}
if (this.addHd) {
this.formData.hdkssj = this.addHd[0];
this.formData.hdjssj = this.addHd[1];
}
if (this.formData.hdkssj.substring(0, 10) < this.formData.bmkssj && this.formData.hdkssj.substring(0, 10) < this.formData.bmjssj) {
this.$alert("活动开始日期需在活动报名截止之后!", "温馨提示", {
type: 'warning',
closeOnPressEscape: true,
closeOnClickModal: true,
});
return;
}
this.formData.bmbf = bmEditor.txt.text();
this.formData.jsbf = jsEditor.txt.text();
this.formData.jlbf = jlEditor.txt.text();
this.formData.zysx = zysxEditor.txt.text();
this.formData.hdtz = hdtzEditor.txt.text();
this.xbdwSave = this.formData.xbdw;
this.formData.xbdw = this.formData.xbdw.toString();
this.formData.qx=this.formData.qx.toString();
this.formData.sfbc=0;
this.$refs["addForm"].validate().then(res=>{
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
$.post(base + "/platform/hd/xhdgl/xhdxxgl/addDo?id=" + this.saveid, this.formData).then(data=>{
loading.close();
if (data.code == 0) {
if (this.formData.bmfs != "名额分配") {
this.$message({
message: data.msg,
type: 'success'
});
this.pageData();
//this.addDialogVisible = false;
} else {
var array = new Array();
this.meTableData.forEach( obj=> {
array.push({
hdid: data.data,
unionid: obj.id,
hdrs: obj.hdrs,
bmyq: obj.bmyq,
});
});
$.post(base + "/platform/hd/xhdgl/xhdxxgl/saveMe", {
data: JSON.stringify(array),
id: this.saveid
}).then(data=>{
if (data.code == 0) {
this.$message({
message: data.msg,
type: 'success'
});
}
})
}
this.saveid = data.data;
this.formData.xbdw = this.xbdwSave;
}
}).catch(data=>{});
}).catch(res=>{});
},
queding () {
if (this.addBm) {
this.formData.bmkssj = this.addBm[0];
this.formData.bmjssj = this.addBm[1];
}
if (this.addHd) {
this.formData.hdkssj = this.addHd[0];
this.formData.hdjssj = this.addHd[1];
}
if (this.formData.hdkssj.substring(0, 10) < this.formData.bmkssj && this.formData.hdkssj.substring(0, 10) < this.formData.bmjssj) {
this.$alert("活动开始日期需在活动报名截止之后!", "温馨提示", {
type: 'warning',
closeOnPressEscape: true,
closeOnClickModal: true,
});
return;
}
this.formData.bmbf = bmEditor.txt.text();
this.formData.jsbf = jsEditor.txt.text();
this.formData.jlbf = jlEditor.txt.text();
this.formData.zysx = zysxEditor.txt.text();
this.formData.hdtz = hdtzEditor.txt.text();
this.xbdwSave = this.formData.xbdw;
this.formData.qx=this.formData.qx.toString();
this.formData.xbdw = this.formData.xbdw.toString();
this.formData.sfbc=1;
this.$refs["addForm"].validate().then(res=>{
$.post(base + "/platform/hd/xhdgl/xhdxxgl/addDo?id=" + this.saveid, this.formData).then(data=>{
if (data.code == 0) {
if (this.formData.bmfs != "名额分配") {
this.$message({
message: data.msg,
type: 'success'
});
this.pageData();
this.addDialogVisible = false;
} else {
var array = new Array();
this.meTableData.forEach( obj=> {
array.push({
hdid: data.data,
unionid: obj.unioninfomgr_id,
hdrs: obj.hdrs,
bmyq: obj.bmyq,
});
});
$.post(base + "/platform/hd/xhdgl/xhdxxgl/saveMe", {
data: JSON.stringify(array),
id: this.saveid
}).then(data=>{
if (data.code == 0) {
this.$message({
message: data.msg,
type: 'success'
});
}
})
}
this.saveid = data.data;
this.formData.xbdw = this.xbdwSave;
}
});
});
},
/*编辑*/
openEdit (scope) {
this.editBm = [];
this.editHd = [];
this.editFlag = [];
this.editHdjhOptions = [];
this.active = "1";
if (moment().format("YYYY-MM-DD HH:mm:ss") >= scope.row.hdkssj) {
this.disabled = true;
} else {
this.disabled = false;
}
$.post(base + "/platform/hd/xhdgl/xhdxxgl/findHd", {id: scope.row.id}).then(data=>{
if (data.code == 0) {
this.editBm.push(data.data.xhd.bmkssj);
this.editBm.push(data.data.xhd.bmjssj);
this.editHd.push(data.data.xhd.hdkssj);
this.editHd.push(data.data.xhd.hdjssj);
this.editmeTableData = data.data.fpme;
this.editFlag.push(data.data.xhd.xhdmc);
this.editFlag.push(data.data.xhd.hdlxid);
this.editFlag.push(data.data.xhd.hdxmid);
this.editDialogVisible = true;
vue.$nextTick(function () {
//实例化编辑器
editbmEditor = new wangEditor("#editbmEditor")
editbmEditor.create()
editjsEditor = new wangEditor("#editjsEditor")
editjsEditor.create()
editjlEditor = new wangEditor("#editjlEditor")
editjlEditor.create()
editzysxEditor = new wangEditor("#editzysxEditor")
editzysxEditor.create()
edithdtzEditor = new wangEditor("#edithdtzEditor")
edithdtzEditor.create()
if (data.data.xhd.bmbf != "" && data.data.xhd.bmbf != null) {
editbmEditor.txt.html(data.data.xhd.bmbf);
}
if (data.data.xhd.jsbf != "" && data.data.xhd.jsbf != null) {
editjsEditor.txt.html(data.data.xhd.jsbf);
}
if (data.data.xhd.jlbf != "" && data.data.xhd.jlbf != null) {
editjlEditor.txt.html(data.data.xhd.jlbf);
}
if (data.data.xhd.zysx != "" && data.data.xhd.zysx != null) {
editzysxEditor.txt.html(data.data.xhd.zysx);
}
if (data.data.xhd.hdtz != "" && data.data.xhd.hdtz != null) {
edithdtzEditor.txt.html(data.data.xhd.hdtz);
}
});
this.editFormData = data.data.xhd;
if (data.data.xhd.qx!=null&&data.data.xhd.qx!=undefined){
//this.editFormData.qx=this.editFormData.qx.split(",")
this.$set(this.editFormData,"qx",this.editFormData.qx.split(","))
} else{
//this.editFormData.qx=[];
this.$set(this.editFormData,"qx",[])
}
this.hdxmOptions = data.data.hdxm;
if (data.data.hdjh.length > 0) {
this.editHdjhOptions = data.data.hdjh;
}
this.editHdjhOptions.push({
id: data.data.xhd.jhid,
jhmc: data.data.xhd.jhmc,
hdlxid: data.data.xhd.hdlxid,
hdxmid: data.data.xhd.hdxmid
});
if (data.data.xhd.xbdw.length != 0) {
this.editFormData.xbdw = data.data.xhd.xbdw.split(",");
} else {
this.editFormData.xbdw = [];
}
}
});
},
doEdit () {
if (this.editBm) {
this.editFormData.bmkssj = this.editBm[0];
this.editFormData.bmjssj = this.editBm[1];
}
if (this.editHd) {
this.editFormData.hdkssj = this.editHd[0];
this.editFormData.hdjssj = this.editHd[1];
}
this.editFormData.bmbf = editbmEditor.txt.text();
this.editFormData.jsbf = editjsEditor.txt.text();
this.editFormData.jlbf = editjlEditor.txt.text();
this.editFormData.zysx = editzysxEditor.txt.text();
this.editFormData.xbdw = this.editFormData.xbdw.toString();
this.editFormData.qx=this.editFormData.qx.toString();
if (this.editFormData.hdkssj.substring(0, 10) < this.editFormData.bmkssj && this.editFormData.hdkssj.substring(0, 10) < this.editFormData.bmjssj) {
this.$alert("活动开始日期需在活动报名截止之后!", "温馨提示", {
type: 'warning',
closeOnPressEscape: true,
closeOnClickModal: true,
});
return;
}
this.$refs["editForm"].validate().then(res=>{
$.post(base + "/platform/hd/xhdgl/xhdxxgl/editDo", this.editFormData).then(data=>{
if (data.code == 0) {
if (this.editFormData.bmfs != "名额分配") {
this.$message({
message: data.msg,
type: 'success'
});
} else {
var array = new Array();
this.editmeTableData.forEach( obj=> {
array.push({
hdid: this.editFormData.id,
unionid: obj.unioninfomgr_id,
hdrs: obj.hdrs,
bmyq: obj.bmyq,
});
});
$.post(base + "/platform/hd/xhdgl/xhdxxgl/fpmeEdit", {
data: JSON.stringify(array),
hdid: this.editFormData.id
}).then(data=>{
if (data.code == 0) {
this.$message({
message: data.msg,
type: 'success'
});
}
})
}
this.pageData();
this.editDialogVisible = false;
}
});
});
},
/*查看*/
openInfo (scope) {
this.bmfs = scope.row.bmfs;
this.hdms = scope.row.bjms;
$.post(base + "/platform/hd/xhdgl/xhdxxgl/findById", {
id: scope.row.id,
bmfs: scope.row.bmfs,
bjms: scope.row.bjms
}).then(data=>{
if (data.code == 0) {
this.viewData = data.data.xhd;
this.bmTableData = data.data.cyry;
this.hjTableData = data.data.hj;
this.gzryListTableData = data.data.gzry;
//this.infoDialogVisible = true;
this.isshow=false;
}
});
},
/*删除*/
deleteDo2(scope) {
this.$confirm("此操作将永久删除该活动, 是否继续?", "温馨提示", {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback(a, b) {
if ("confirm" == a) {
$.post(base + "/platform/hd/xhdgl/xhdxxgl/deleteDo", {id: scope.row.id}).then(data=>{
if (data.code == 0) {
vue.$message({
message: data.msg,
type: 'success'
});
vue.pageData();
} else {
vue.$message({
message: data.msg,
type: 'error'
});
}
});
}
}
});
},
/*删除*/
deleteDo(scope) {
if (scope.row.hdkssj <= moment().format("YYYY-MM-DD")) {
this.$alert("此活动已开始,不能删除!", "温馨提示", {
type: 'error',
closeOnPressEscape: true,
closeOnClickModal: true,
});
return;
}
this.$confirm("此操作将永久删除该活动, 是否继续?", "温馨提示", {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback(a, b) {
if ("confirm" == a) {
$.post(base + "/platform/hd/xhdgl/xhdxxgl/deleteDo", {id: scope.row.id}).then(data=>{
if (data.code == 0) {
vue.$message({
message: data.msg,
type: 'success'
});
vue.pageData();
} else {
vue.$message({
message: data.msg,
type: 'error'
});
}
});
}
}
});
},
/*修改参赛人员*/
openXgCsry(scope) {
var self = this;
self.temp = scope.row;
self.xgPageForm.id = scope.row.id;
self.csPageData();
},
csPageData() {
var self = this;
$.post(base + "/platform/hd/xhdgl/xhdxxgl/findCsry", self.xgPageForm, function (data) {
if (data.code == 0) {
self.xgTableData = data.data.csry.list;
self.xgPageForm.totalCount = data.data.csry.totalCount;
self.csryDialogVisible = true;
}
}, "json");
},
xgFlag() {
var self = this;
$.post(base + "/platform/hd/xhdgl/xhdxxgl/findCsry", self.xgPageForm, function (data) {
if (data.code == 0) {
self.xgTableData = data.data.csry.list;
self.xgPageForm.totalCount = data.data.csry.totalCount;
self.csryDialogVisible = true;
}
}, "json");
},
remoteMethod(obj) {
var self = this;
$.post(base + "/platform/hd/xhdgl/xhdxxgl/findXgRy", {obj: obj, hdid: self.temp.id}, function (data) {
if (data.code == 0) {
self.dbUsers = data.data;
}
}, "json");
},
userSelectionChange(val) {
this.userSelection = val;
},
addCsRy(command) {
var self = this;
$.post(base + "/platform/hd/xhdgl/xhdxxgl/addCsRy", {
hdid: self.temp.id,
users: self.selUsers.toString(),
rysf: command
}, function (data) {
if (data.code == 0) {
self.$message({
message: "添加成功!",
type: 'success'
});
self.selUsers = [];
self.xgFlag();
self.pageData();
}
}, "json");
},
removeCsRy() {
var self = this;
var array = new Array();
for (var i = 0; i < self.userSelection.length; i++) {
array.push(self.userSelection[i].id);
}
$.post(base + "/platform/hd/xhdgl/xhdxxgl/removeCsRy", {
hdid: self.temp.id,
users: array.toString()
}, function (data) {
if (data.code == 0) {
self.$message({
message: "移除成功!",
type: 'success'
});
self.selUsers = [];
self.xgFlag();
self.pageData();
}
}, "json");
},
openGzRy(scope) {
var self = this;
self.temp = scope.row;
self.multipleSelection = [];
self.gzryPageForm.id = scope.row.id;
$.post(base + "/platform/hd/xhdgl/xhdxxgl/findGzryUser", self.gzryPageForm, function (data) {
if (data.code == 0) {
self.gzryTableData = data.data.list;
self.gzryPageForm.totalCount = data.data.totalCount;
self.active = "1";
self.gzryDialogVisible = true;
}
}, "json");
},
gzryPageData() {
var self = this;
$.post(base + "/platform/hd/xhdgl/xhdxxgl/findGzryUser", self.gzryPageForm, function (data) {
if (data.code == 0) {
self.gzryTableData = data.data.list;
self.gzryPageForm.totalCount = data.data.totalCount;
self.active = "1";
self.gzryDialogVisible = true;
}
}, "json");
},
rowKey(row) {
var self = this;
return row.id;
},
doGgrySearch() {
this.gzryPageData();
},
changeFun(val) {
this.multipleSelection = val;
},
gzryDo() {
var self = this;
if (self.multipleSelection.length == 0) {
self.$message({
message: "您还没有选择工作人员!",
type: 'error'
});
return;
}
for (var i = 0; i < self.multipleSelection.length; i++) {
if (self.multipleSelection[i].rysf == null || self.multipleSelection[i].rysf == "") {
self.$message({
message: "有人员身份信息尚未填写!",
type: 'error'
});
return;
}
}
$.post(base + "/platform/hd/xhdgl/xhdxxgl/gzryDo", {
data: JSON.stringify(self.multipleSelection),
hdid: self.temp.id
}, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
self.multipleSelection = [];
setTimeout(function () {
self.$refs.gzryTable.clearSelection();
}, 500)
self.gzryDialogVisible = false;
}
}, "json");
},
jshd(scope) {
var self = this;
self.$confirm("您是否要结束此活动?", "温馨提示", {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback(a, b) {
if ("confirm" == a) {
$.post(base + "/platform/hd/xhdgl/xhdxxgl/jshd", {
id: scope.row.id,
hdjssj: moment().format("YYYY-MM-DD HH:mm:ss"),
sdjs: "1"
}, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
}
}, "json");
}
}
});
}
},
created() {
this.pageData();
},
watch: {
"formData.hdlxid"(obj) {
var self = this;
if (obj != "" && obj != null && obj != "undefined") {
self.formData.hdxmid = "";
$.post(base + "/platform/hd/xhdgl/xhdxxgl/findHdXm", {id: obj}, function (data) {
if (data.code == 0) {
self.hdxmOptions = data.data;
self.formData.hdxmid = data.data[0].id;
}
}, "json");
}
},
"editFormData.hdlxid"(obj) {
var self = this;
if (obj != "" && obj != null && obj != "undefined") {
self.editFormData.hdxmid = "";
$.post(base + "/platform/hd/xhdgl/xhdxxgl/findHdXm", {id: obj}, function (data) {
if (data.code == 0) {
self.hdxmOptions = data.data;
var flag = 0;
for (var i = 0; i < data.data.length; i++) {
if (data.data[i].id == self.editFlag[2]) {
flag = 1;
break;
} else {
flag = 2;
}
}
if (flag == 2) {
self.editFormData.hdxmid = data.data[0].id;
} else {
self.editFormData.hdxmid = self.editFlag[2];
}
}
}, "json");
}
},
"pageForm.hdlx"(obj) {
var self = this;
if (obj != "" && obj != null && obj != "undefined") {
self.pageForm.hdxm = "";
$.post(base + "/platform/hd/xhdgl/xhdxxgl/findHdXm", {id: obj}, function (data) {
if (data.code == 0) {
self.queryHdxm = data.data;
console.log(data.data)
self.pageForm.hdxm = data.data[0].id;
}
}, "json");
}
},
"formData.jsfs"(obj) {
if (obj == "竞赛类") {
$(".js").show();
$(".fjs").hide();
} else if (obj == "非竞赛类") {
$(".js").hide();
$(".fjs").show();
} else if (obj == "" || obj == null) {
$(".js").hide();
$(".fjs").hide();
}
},
"formData.bmfs"(obj) {
var self = this;
if (obj == "名额分配") {
self.formData.zhfs = "普通组";
self.zhfsDis = true;
} else {
self.formData.zhfs = "";
self.zhfsDis = false;
}
},
"editFormData.bmfs"(obj) {
var self = this;
if (obj == "名额分配") {
self.editFormData.zhfs = "普通组";
self.editzhfsDis = true;
} else {
self.editzhfsDis = false;
}
},
"hdrs"(obj) {
var self = this;
self.meTableData.forEach(function (value) {
value.hdrs = obj;
});
},
"bmyq"(obj) {
var self = this;
self.meTableData.forEach(function (value) {
value.bmyq = obj;
});
},
"edithdrs"(obj) {
var self = this;
self.editmeTableData.forEach(function (value) {
value.hdrs = obj;
});
},
"editbmyq"(obj) {
var self = this;
self.editmeTableData.forEach(function (value) {
value.bmyq = obj;
});
},
},
})
</script>
<!--#
}
#-->