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

1297 lines
56 KiB
HTML

<!--年度活动计划 djx 2019-6-17 -->
<!--#
layout("/layouts/platform.html"){
#-->
<style>
.el-divider--horizontal {
margin: 16px 0px;
}
.dia .el-dialog__body {
padding: 10px 20px;
}
.editor {
width: 100%;
height: 120px;
}
.el-form {
margin-left: 30px;
}
.need .el-form-item__label {
line-height: 20px;
font-size: 14px;
}
.need .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
margin-bottom: 8px;
}
.need .el-form--label-top .el-form-item__label {
padding: 0px;
}
.el-card__body {
padding: 0px;
}
.el-dialog__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;
}
#hdrs {
height: 30px;
padding: 0px 10px;
}
#addDialog .el-table--medium td, .el-table--medium th {
padding: 4px 0px;
}
.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-col-12 {
width: 50%;
margin-bottom: 15px;
}
.el-divider--horizontal {
margin: 30px 0px;
}
.el-select-dropdown {
z-index: 99999999 !important;
}
.el-picker-panel {
z-index: 99999999 !important;
}
.el-date-picker {
z-index: 99999999 !important;
}
.el-popper {
z-index: 99999999 !important;
}
.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-row class="header navbar bg-white shadow">
<div class="btn-group tool-button mt5">
<el-date-picker v-model="pageForm.year" value-format="yyyy" type="year"
placeholder="选择年度"></el-date-picker>
</div>
<div class="btn-group tool-button mt5">
<el-input placeholder="根据名称进行查询" clearable v-model="pageForm.searchKeyword">
</el-input>
</div>
<div class="btn-group tool-button mt5">
<el-button type="primary" icon="el-icon-search" @click="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>
<!--表格-->
<el-row class="el-table-container">
<el-table
:data="tableData"
size="small"
>
<el-table-column label="序号" header-align="center" align="center" type="index">
<template scope="scope">
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}}</span>
</template>
</el-table-column>
<el-table-column label="计划名称" prop="jhmc" header-align="center" align="center"></el-table-column>
<el-table-column label="计划预计时间" prop="jhsj" header-align="center" align="center"></el-table-column>
<el-table-column label="活动类型" prop="hdlx" header-align="center" align="center"></el-table-column>
<el-table-column label="活动项目" prop="hdxm" header-align="center" align="center"></el-table-column>
<el-table-column label="计划状态" prop="jhzt" header-align="center" align="center">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.ct>0 && scope.row.evtime==2">已执行</el-tag>
<el-tag type="danger" v-else>未执行</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="340" header-align="center" align="center">
<template slot-scope="scope">
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
<el-button type="primary" @click="openHdAdd(scope)"
:disabled="(scope.row.ct>0 && scope.row.evtime==2)?true:false" size="mini">创建活动
</el-button>
<el-button type="primary" @click="openEdit(scope)" size="mini">编辑</el-button>
<el-button type="danger" @click="deleteDo(scope)"
:disabled="(scope.row.ct>0 && scope.row.evtime==2)?true:false" size="mini">删除
</el-button>
</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>
<transition name="el-zoom-in-center">
<div style="padding: 40px;margin-left: 150px;margin-right: 150px" v-show="addshow">
<div class="text-primary pointer" style="font-size: 20px" @click="isshow=true,addshow=false">
<i class="el-icon-arrow-left"></i>
返回
</div>
<el-divider content-position="left"><span style="color: rgb(121, 187, 255)">请输入活动年度计划信息</span></el-divider>
<el-form :model="formData" label-position="left" ref="addForm" :rules="formRules" size="small"
label-width="86px">
<el-row>
<el-col :span="12">
<el-form-item label="计划名称" prop="jhmc">
<el-input maxlength="100" placeholder="请输入计划名称"
v-model="formData.jhmc" style="width: 88%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计划时间" prop="jhsj">
<el-date-picker style="width: 88%" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
v-model="formData.jhsj" type="date" placeholder="请选择计划时间"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="活动类型" prop="hdlxid">
<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="12">
<el-form-item label="活动项目" prop="hdxmid">
<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-row>
<el-form-item label="计划内容">
<div id="jhnrEditor"></div>
</el-form-item>
</el-form>
<span style="float: right;margin-top: 15px">
<el-button type="primary" @click="doAdd">确 定</el-button>
</span>
</div>
</transition>
<!-- &lt;!&ndash;新增&ndash;&gt;
<el-dialog title="创建活动计划" width="50%" custom-class="ViewDialogClass" :close-on-click-modal="false" top="6%"
class="dia"
v-if="addDialogVisible"
:visible.sync="addDialogVisible"
>
<el-divider content-position="left"><span style="color: rgb(121, 187, 255)">请填写以下信息</span></el-divider>
<el-form class="need" :model="formData" label-position="top" ref="addForm" :rules="formRules" size="small"
label-width="86px">
<el-row>
<el-col :span="12">
<el-form-item label="计划名称">
<el-input maxlength="100" placeholder="请输入计划名称"
v-model="formData.jhmc" style="width: 88%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计划时间">
<el-date-picker style="width: 88%" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
v-model="formData.jhsj" type="date" placeholder="请选择计划时间"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<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="12">
<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-row>
<el-form-item label="计划内容">
<div id="jhnrEditor" ></div>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="doAdd">确 定</el-button>
</span>
</el-dialog>-->
<transition name="el-zoom-in-center">
<div style="padding: 40px;margin-left: 150px;margin-right: 150px" v-show="editshow">
<div class="text-primary pointer" style="font-size: 20px" @click="isshow=true,editshow=false">
<i class="el-icon-arrow-left"></i>
返回
</div>
<el-divider content-position="left"><span style="color: rgb(121, 187, 255)">请输入活动年度计划信息</span></el-divider>
<el-form :model="editFormData" label-position="left" ref="editForm" :rules="editFormRules"
size="small" label-width="86px">
<el-row>
<el-col :span="12">
<el-form-item label="计划名称" prop="jhmc">
<el-input maxlength="100" placeholder="请输入计划名称"
v-model="editFormData.jhmc" style="width: 100%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计划时间" prop="jhsj">
<el-date-picker style="width: 100%" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
v-model="editFormData.jhsj" type="date"
placeholder="请选择计划时间"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="活动类型" prop="hdlxid">
<el-select v-model="editFormData.hdlxid" filterable placeholder="请选择活动类型"
style="width: 100%">
<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="12">
<el-form-item label="活动项目" prop="hdxmid">
<el-select v-model="editFormData.hdxmid" filterable placeholder="请选择活动项目"
style="width: 100%">
<el-option
v-for="item in hdxmOptions"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="计划内容">
<div id="editjhnrEditor"></div>
</el-form-item>
</el-form>
<span style="float: right;margin-top: 15px">
<el-button type="primary" @click="doEdit">确 定</el-button>
</span>
</div>
</transition>
<!-- &lt;!&ndash;编辑&ndash;&gt;
<el-dialog title="修改活动计划" width="50%" custom-class="ViewDialogClass" :close-on-click-modal="false" class="dia"
top="6%"
v-if="editDialogVisible"
:visible.sync="editDialogVisible"
>
<el-divider content-position="left"><span style="color: rgb(121, 187, 255)">请填写以下信息</span></el-divider>
<el-form class="need" :model="editFormData" label-position="top" ref="editForm" :rules="editFormRules"
size="small" label-width="86px">
<el-row>
<el-col :span="12">
<el-form-item label="计划名称">
<el-input maxlength="100" placeholder="请输入计划名称"
v-model="editFormData.jhmc" style="width: 88%"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计划时间">
<el-date-picker style="width: 88%" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
v-model="editFormData.jhsj" type="date" placeholder="请选择计划时间"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<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="12">
<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-row>
<el-form-item label="计划内容">
<div id="editjhnrEditor"></div>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="editDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="doEdit">确 定</el-button>
</span>
</el-dialog>-->
<!--查看-->
<el-dialog title="查看" width="50%" custom-class="ViewDialogClass" :visible.sync="infoDialogVisible" top="6%">
<el-card>
<table style="width: 100%" class="table table-bordered">
<tr style="border: 1px solid rgb(220,220,220);">
<td colspan="3" class="text-center" style="font-size: 16px;background-color: #f5f5f5">
{{viewData.jhmc}}
</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="v-0x345756765">计划预计时间</td>
<td colspan="2" class="v-0x2323544">{{viewData.jhsj}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="v-0x345756765">活动类型</td>
<td colspan="2" class="v-0x2323544">{{viewData.hdlx}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="v-0x345756765">活动项目</td>
<td colspan="2" class="v-0x2323544">{{viewData.hdxm}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="v-0x345756765">计划状态</td>
<td v-if="viewData.ct>0 && viewData.evtime==2" colspan="2">已执行</td>
<td v-else colspan="2" class="v-0x2323544">未执行</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td colspan="3" class="text-center"
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5">计划内容
</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td colspan="3" style="padding: 20px 10px;color: rgb(180, 180, 180)" v-html="viewData.jhnr"></td>
</tr>
</table>
</el-card>
</el-dialog>
<el-dialog title="创建活动" id="addDialog" class="dia" :close-on-click-modal="false" @close="pageData()"
v-if="addHdDialogVisible"
:visible.sync="addHdDialogVisible"
custom-class="ViewDialogClass" width="66%" 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" size="small"
label-width="86px">
<el-row>
<el-col :span="8">
<el-form-item label="计划名称">
<el-select v-model="formData.jhid" disabled placeholder="请选择计划" style="width: 88%">
<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-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"></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="addHdDialogVisible = 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="doHdAdd">保 存</el-button>
<el-button type="success" @click="queding">确 定</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 jhnrEditor = null
let editjhnrEditor = null
const vue = new Vue({
el: "#app",
data: function () {
return {
pageForm: {//分页
pageNumber: 1,
pageSize: 10,
totalCount: 0,
searchKeyword: "",
year: "",
},
tableData: [],//表格
/*新增*/
addDialogVisible: false,
formData: {
zhfs: "",
},
hdlxOptions: [],
formRules: {
jhmc: [
{required: true, message: '请输入计划名称', trigger: ['blur', 'change']}
],
jhsj: [
{type: 'string', required: true, message: '请选择计划时间', trigger: ['blur', 'change']}
],
hdlxid: [
{required: true, message: '请选择活动类型', trigger: ['blur', 'change']}
],
hdxmid: [
{required: true, message: '请选择活动项目', trigger: ['blur', 'change']}
],
},
/*编辑*/
editDialogVisible: false,
editFormData: {},
editFormRules: {
jhmc: [
{required: true, message: '请输入计划名称', trigger: ['blur', 'change']}
],
jhsj: [
{type: 'string', required: true, message: '请选择计划时间', trigger: ['blur', 'change']}
],
hdlxid: [
{required: true, message: '请选择活动类型', trigger: ['blur', 'change']}
],
hdxmid: [
{required: true, message: '请选择活动项目', trigger: ['blur', 'change']}
],
},
/*查看*/
infoDialogVisible: false,
viewData: [],
/*新建活动*/
addHdDialogVisible: false,
hdxmOptions: [],
addBm: [],
addHd: [],
dwOptions: [],
active: "1",
hdrs: "",
bmyq: "",
zhfsDis: false,
meTableData: [],//名额分配表格数据
hdjhOptions: [],
saveid: "",
xbdwSave: [],
addshow: false,
editshow: false,
isshow: true,
}
},
methods: {
pageNumberChange: function (val) {//页码更新操作
this.pageForm.pageNumber = val;
this.pageData();
},
pageSizeChange: function (val) {//分页大小更新操作
this.pageForm.pageSize = val;
this.pageData();
},
pageData: function () {//表格展示数据
var self = this;
sublime.showLoadingbar();//显示loading
$.post(base + "/platform/hd/xhdgl/xndhdjh/data", self.pageForm, function (data) {
sublime.closeLoadingbar();//关闭loading
if (data.code == 0) {
self.tableData = data.data.hdjh.list;
self.pageForm.totalCount = data.data.hdjh.totalCount;
self.hdlxOptions = data.data.hdlx;
self.dwOptions = data.data.dw;
self.meTableData = data.data.union;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
},
doSearch: function () {
this.pageForm.pageNumber = 1;
this.pageData();
},
/*新增*/
openAdd: function () {
var self = this;
self.formData = {
hdlxid: "",
hdxmid: "",
};
self.addshow = true;
self.isshow = false;
if (self.$refs['addForm'] !== undefined) {
self.$refs['addForm'].resetFields();
}
self.$nextTick(function () {
//实例化编辑器
if (jhnrEditor == null) {
jhnrEditor = new wangEditor("#jhnrEditor")
jhnrEditor.create()
}
});
},
doAdd: function () {
var self = this;
self.formData.jhnr = jhnrEditor.txt.text();
self.$refs["addForm"].validate(function (valid) {
if (valid) {
$.post(base + "/platform/hd/xhdgl/xndhdjh/addDo", self.formData, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
self.addshow = false;
self.isshow = true;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
}
});
},
/*编辑*/
openEdit: function (scope) {
var self = this;
$.post(base + "/platform/hd/xhdgl/xndhdjh/findJh", {id: scope.row.id}, function (data) {
if (data.code == 0) {
self.editFormData = data.data.hdjh;
self.editshow = true;
self.isshow = false;
if (self.$refs['editForm'] !== undefined) {
self.$refs['editForm'].resetFields();
}
self.$nextTick(function () {
//实例化编辑器
editjhnrEditor = new wangEditor("#editjhnrEditor")
editjhnrEditor.create()
if (data.data.hdjh.jhnr != "" && data.data.hdjh.jhnr != null) {
editjhnrEditor.txt.html(data.data.hdjh.jhnr);
}
});
}
}, "json");
},
doEdit: function () {
var self = this;
self.editFormData.jhnr = editjhnrEditor.txt.text();
self.$refs["editForm"].validate(function (valid) {
if (valid) {
$.post(base + "/platform/hd/xhdgl/xndhdjh/editDo", self.editFormData, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
self.editshow = false;
self.isshow = true;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
}
});
},
/*查看*/
openInfo: function (scope) {
var self = this;
$.post(base + "/platform/hd/xhdgl/xndhdjh/findById", {id: scope.row.id}, function (data) {
if (data.code == 0) {
self.viewData = data.data.hdjh;
self.infoDialogVisible = true;
}
}, "json");
},
openHdAdd: function (scope) {
var self = this;
self.saveid = "";
if (scope.row.hdcount > 0) {
self.$alert("此计划已创建活动!", "温馨提示", {
type: 'error',
closeOnPressEscape: true,
closeOnClickModal: true,
});
return;
}
self.formData = {
hdlxid: "",
hdxmid: "",
xbdw: [],
xhdmc: "",
zhfs: "",
jsfs: "非竞赛类",
qx: []
};
self.hdjhOptions = [{id: scope.row.id, jhmc: scope.row.jhmc}];
self.formData.jhid = scope.row.id;
self.formData.xhdmc = scope.row.jhmc;
if (scope.row.hdlxid != null && scope.row.hdlxid != "") {
self.formData.hdlxid = scope.row.hdlxid;
}
if (scope.row.hdxmid != null && scope.row.hdxmid != "") {
setTimeout(function () {
self.formData.hdxmid = scope.row.hdxmid;
}, 80)
}
self.addHdDialogVisible = true;
self.$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()
});
},
doHdAdd: function () {
var self = this;
if (self.addBm) {
self.formData.bmkssj = self.addBm[0];
self.formData.bmjssj = self.addBm[1];
}
if (self.addHd) {
self.formData.hdkssj = self.addHd[0];
self.formData.hdjssj = self.addHd[1];
}
if (self.formData.hdkssj.substring(0, 10) < self.formData.bmkssj && self.formData.hdkssj.substring(0, 10) < self.formData.bmjssj) {
self.$alert("活动开始日期需在活动报名截止之后!", "温馨提示", {
type: 'warning',
closeOnPressEscape: true,
closeOnClickModal: true,
});
return;
}
self.formData.bmbf = bmEditor.txt.text();
self.formData.jsbf = jsEditor.txt.text();
self.formData.jlbf = jlEditor.txt.text();
self.formData.zysx = zysxEditor.txt.text();
self.formData.hdtz = hdtzEditor.txt.text();
self.xbdwSave = self.formData.xbdw;
self.formData.xbdw = self.formData.xbdw.toString();
self.formData.qx = self.formData.qx.toString();
this.formData.sfbc = 0;
self.$refs["addForm"].validate(function (valid) {
if (valid) {
const loading = self.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
$.post(base + "/platform/hd/xhdgl/xhdxxgl/addDo?id=" + self.saveid, self.formData, function (data) {
loading.close();
if (data.code == 0) {
if (self.formData.bmfs != "名额分配") {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
//self.addHdDialogVisible = false;
} else {
var array = new Array();
self.meTableData.forEach(function (obj) {
array.push({
hdid: data.data,
unionid: obj.unioninfomgr_id,
hdrs: obj.hdrs,
bmyq: obj.bmyq,
});
});
$.post(base + "/platform/hd/xhdgl/xhdxxgl/saveMe?id=" + self.saveid, {data: JSON.stringify(array)}, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
self.addHdDialogVisible = false;
}
})
}
self.saveid = data.data;
self.formData.xbdw = self.xbdwSave;
}
}, "json");
}
});
},
queding: function () {
var self = this;
if (self.addBm) {
self.formData.bmkssj = self.addBm[0];
self.formData.bmjssj = self.addBm[1];
}
if (self.addHd) {
self.formData.hdkssj = self.addHd[0];
self.formData.hdjssj = self.addHd[1];
}
if (self.formData.hdkssj.substring(0, 10) < self.formData.bmkssj && self.formData.hdkssj.substring(0, 10) < self.formData.bmjssj) {
self.$alert("活动开始日期需在活动报名截止之后!", "温馨提示", {
type: 'warning',
closeOnPressEscape: true,
closeOnClickModal: true,
});
return;
}
self.formData.bmbf = bmEditor.txt.text();
self.formData.jsbf = jsEditor.txt.text();
self.formData.jlbf = jlEditor.txt.text();
self.formData.zysx = zysxEditor.txt.text();
self.formData.hdtz = hdtzEditor.txt.text();
self.xbdwSave = self.formData.xbdw;
self.formData.xbdw = self.formData.xbdw.toString();
self.formData.qx = self.formData.qx.toString();
this.formData.sfbc = 1;
self.$refs["addForm"].validate(function (valid) {
if (valid) {
$.post(base + "/platform/hd/xhdgl/xhdxxgl/addDo?id=" + self.saveid, self.formData, function (data) {
if (data.code == 0) {
if (self.formData.bmfs != "名额分配") {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
self.addHdDialogVisible = false;
} else {
var array = new Array();
self.meTableData.forEach(function (obj) {
array.push({
hdid: data.data,
unionid: obj.unioninfomgr_id,
hdrs: obj.hdrs,
bmyq: obj.bmyq,
});
});
$.post(base + "/platform/hd/xhdgl/xhdxxgl/saveMe?id=" + self.saveid, {data: JSON.stringify(array)}, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
self.addHdDialogVisible = false;
}
})
}
self.saveid = data.data;
self.formData.xbdw = self.xbdwSave;
}
}, "json");
}
});
},
/*删除*/
deleteDo: function (scope) {
var self = this;
if (scope.row.ct > 0 && scope.row.evtime == 2) {
self.$alert("此计划已执行,不能删除!", "温馨提示", {
type: 'error',
closeOnPressEscape: true,
closeOnClickModal: true,
});
return;
}
self.$confirm("此操作将永久删除该计划, 是否继续?", "温馨提示", {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback: function (a, b) {
if ("confirm" == a) {
$.post(base + "/platform/hd/xhdgl/xndhdjh/deleteDo", {id: scope.row.id}, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
}
}
});
}
},
created: function () {
this.pageData();
},
watch: {
"formData.hdlxid": function (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": function (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;
self.editFormData.hdxmid = data.data[0].id;
}
}, "json");
}
},
"formData.jsfs": function (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": function (obj) {
var self = this;
if (obj == "名额分配") {
self.formData.zhfs = "普通组";
self.zhfsDis = true;
} else {
self.formData.zhfs = "";
self.zhfsDis = false;
}
},
"hdrs": function (obj) {
var self = this;
self.meTableData.forEach(function (value) {
value.hdrs = obj;
});
},
"bmyq": function (obj) {
var self = this;
self.meTableData.forEach(function (value) {
value.bmyq = obj;
});
},
}
})
</script>
<!--#
}
#-->