first commit
This commit is contained in:
@@ -0,0 +1,924 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<!--
|
||||
三八妇女活动管理
|
||||
-->
|
||||
<style>
|
||||
.w-e-text-container {
|
||||
min-height: 200px !important;
|
||||
max-height: 700px !important;
|
||||
height: auto !important;
|
||||
}
|
||||
|
||||
.w-e-text {
|
||||
min-height: 200px !important;
|
||||
max-height: 700px !important;
|
||||
height: auto !important;
|
||||
}
|
||||
|
||||
.ViewDialogClass .el-collapse-item__header {
|
||||
font-size: 12px;
|
||||
color: rgb(150, 150, 150);
|
||||
/*font-weight: bold;*/
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.el-collapse-item__wrap {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.el-collapse-item__header {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.avatar-uploader .el-upload {
|
||||
border: 1px dashed #d9d9d9;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.avatar-uploader .el-upload:hover {
|
||||
border-color: #409EFF;
|
||||
}
|
||||
|
||||
.el-upload--picture-card {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
line-height: 80px;
|
||||
}
|
||||
|
||||
.el-upload-list--picture-card .el-upload-list__item {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
line-height: 80px;
|
||||
}
|
||||
|
||||
.avatar-uploader-icon {
|
||||
font-size: 28px;
|
||||
color: #8c939d;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
line-height: 80px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.avatar {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.iphonex_box {
|
||||
width: 366px;
|
||||
height: 720px;
|
||||
background: url("https://www.qmwtp.com/assets/www/ActivityPc2/img/iphoneX.png") no-repeat;
|
||||
background-size: 100% 100%;
|
||||
position: relative;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.box_title {
|
||||
position: absolute;
|
||||
width: 40%;
|
||||
top: 68px;
|
||||
color: white;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: 0 auto;
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.new_frame {
|
||||
position: absolute;
|
||||
width: 321px;
|
||||
height: 576px;
|
||||
top: 94px;
|
||||
left: 24px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.clearfix:after {
|
||||
content: '';
|
||||
display: block;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.clearfix:after {
|
||||
content: '';
|
||||
display: block;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.clearfix:after {
|
||||
content: '';
|
||||
display: block;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.clearfix:after {
|
||||
visibility: hidden;
|
||||
display: block;
|
||||
font-size: 0;
|
||||
content: " ";
|
||||
clear: both;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.clearfix:after {
|
||||
content: '';
|
||||
display: block;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.style_every {
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
border-radius: 4px;
|
||||
position: relative;
|
||||
float: left;
|
||||
margin-right: 10px;
|
||||
cursor: pointer;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
li {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.style_every input {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
top: 0px;
|
||||
left: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.style_every img {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
left: 7px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ViewDialogClass .el-form-item {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<el-card shadow="never">
|
||||
<div class="btn-group tool-button ">
|
||||
<el-date-picker
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="选择年">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-input placeholder="请输入内容" v-model="pageForm.hdname">
|
||||
<template slot="prepend">活动主题</template>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-button icon="el-icon-search" @click="doSearch" type="primary"></el-button>
|
||||
</div>
|
||||
<div class="pull-right offscreen-right">
|
||||
<el-button size="medium" @click="openAdd"><i class="ti-plus"></i> 创建活动
|
||||
</el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
<el-card shadow="never" class="mt20">
|
||||
<el-table
|
||||
:data="tableData"
|
||||
header-align="center"
|
||||
style="width: 100%">
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
header-align="center"
|
||||
align="center">
|
||||
<template scope="scope">
|
||||
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="hdname"
|
||||
label="主题"
|
||||
header-align="center"
|
||||
show-overflow-tooltip="true"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="cjr"
|
||||
label="创建人"
|
||||
header-align="center"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="hdcjsj"
|
||||
label="创建时间"
|
||||
header-align="center"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="time"
|
||||
label="活动时间"
|
||||
header-align="center"
|
||||
width="300px"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.hdkssj}} -- {{scope.row.hdjssj}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="hdflag"
|
||||
label="状态"
|
||||
header-align="center"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<i v-if="!scope.row.hdflag"
|
||||
class="fa fa-circle text-danger ml5"></i>
|
||||
<i v-if="scope.row.hdflag"
|
||||
class="fa fa-circle text-success ml5"></i>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
width="400"
|
||||
header-align="center"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button v-if="scope.row.hdflag==false" type="success" size="mini"
|
||||
@click="changeStatus(scope.row.hdid,true)">开启
|
||||
</el-button>
|
||||
<el-button v-else type="info" size="mini"
|
||||
@click="changeStatus(scope.row.hdid,false)">关闭
|
||||
</el-button>
|
||||
<el-button size="mini" type="primary" @click="sendMsg(scope.row)">
|
||||
通知
|
||||
</el-button>
|
||||
<el-button size="mini" type="primary" @click="openCode(scope.row.hdid)">
|
||||
二维码
|
||||
</el-button>
|
||||
<el-button type="primary" size="mini" @click="openEdit(scope.row.hdid)"
|
||||
v-if="scope.row.isSysadminH10">编辑
|
||||
</el-button>
|
||||
<el-button type="danger" size="mini" @click="doDelete(scope.row.hdid)"
|
||||
v-if="scope.row.isSysadminH10">删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<template #edit>
|
||||
<el-row type="flex">
|
||||
<el-col :span="9" style="position: relative;text-align: center">
|
||||
<div class="iphonex_box">
|
||||
<div class="box_title">{{formData.hdname}}</div>
|
||||
<iframe class="new_frame" id="myIframe" scrolling="auto" frameborder="none;"
|
||||
src="/platform/hd/cahdMange/mobileBox">
|
||||
|
||||
</iframe>
|
||||
</div>
|
||||
<el-button type="info" style="margin-top: 10px" icon="el-icon-refresh"
|
||||
@click="refreshBox" round>刷新
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :span="14" offset="1">
|
||||
<el-form :model="formData" style="padding-top: 20px;padding-right: 10px"
|
||||
ref="addForm"
|
||||
label-position="left" :rules="formRules" size="medium"
|
||||
label-width="90px">
|
||||
<el-form-item prop="hdname" label="活动主题">
|
||||
<el-input placeholder="请输入活动主题" v-model="formData.hdname"></el-input>
|
||||
</el-form-item>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item prop="time" label="活动时间">
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
v-model="formData.time"
|
||||
type="datetimerange"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="结束时间"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
:default-time="['00:00:00']">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item prop="hdlb" label="活动类别">
|
||||
<el-row v-for="lb,idx in formData.lbs" style="padding-bottom: 5px">
|
||||
<el-col :span="20">
|
||||
<el-input placeholder="请输入名称" v-model="lb.lname"></el-input>
|
||||
</el-col>
|
||||
<el-col :span="2" style="text-align: center">
|
||||
<el-button type="warning" icon="el-icon-plus" circle
|
||||
@click="formData.lbs.splice(idx+1,0,{zplbs:[{}]})"></el-button>
|
||||
</el-col>
|
||||
<el-col :span="2" style="text-align: center">
|
||||
<el-button type="danger" :disabled="idx==0"
|
||||
icon="el-icon-delete" circle
|
||||
@click="formData.lbs.splice(idx,1)"></el-button>
|
||||
</el-col>
|
||||
<el-col style="padding: 5px 0">
|
||||
<el-row v-for="zplb,idx2 in lb.zplbs"
|
||||
style="padding-bottom: 5px">
|
||||
<el-col :span="20">
|
||||
<el-col :span="4"><span v-if="idx2==0"
|
||||
class="el-form-item__label">作品类别</span><span
|
||||
v-else> </span>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-input placeholder="请输入名称"
|
||||
v-model="zplb.zname"></el-input>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="2" style="text-align: center">
|
||||
<el-button type="warning" icon="el-icon-plus" circle
|
||||
@click="lb.zplbs.splice(idx2+1,0,{})"></el-button>
|
||||
</el-col>
|
||||
<el-col :span="2" style="text-align: center">
|
||||
<el-button type="danger" :disabled="idx2==0"
|
||||
icon="el-icon-delete" circle
|
||||
@click="lb.zplbs.splice(idx2,1)"></el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item label="参加人员范围" prop="activityGroupId">
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 99%">
|
||||
<el-select placeholder="请选择参加人员范围"
|
||||
v-model="formData.activityGroupId" style="width: 99%"
|
||||
clearable
|
||||
filterable>
|
||||
<el-option v-for="item in activityGroupList"
|
||||
:label="item.groupName"
|
||||
:value="item.groupId"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div>
|
||||
<el-button @click="$refs.drawerUserScope.userScopeDialog = true"
|
||||
type="primary">设置
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<el-form-item prop="xlFlag" label="活动提醒">
|
||||
<el-switch
|
||||
v-model="formData.xlFlag"
|
||||
active-color="#13ce66"
|
||||
inactive-color="#ff4949">
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item prop="hdjs" label="活动介绍">
|
||||
<el-collapse>
|
||||
<el-collapse-item>
|
||||
<template slot="title">
|
||||
点击展开 <i class="header-icon el-icon-thumb"
|
||||
style="margin-left: 5px"></i>
|
||||
</template>
|
||||
<div id="hdjsEditor"></div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</el-form-item>
|
||||
<el-form-item prop="hdcjry" label="参加人员">
|
||||
<el-collapse>
|
||||
<el-collapse-item>
|
||||
<template slot="title">
|
||||
点击展开 <i class="header-icon el-icon-thumb"
|
||||
style="margin-left: 5px"></i>
|
||||
</template>
|
||||
<div id="cjryEditor"></div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</el-form-item>
|
||||
<el-form-item prop="hdjlfs" label="奖励方式">
|
||||
<el-collapse>
|
||||
<el-collapse-item>
|
||||
<template slot="title">
|
||||
点击展开 <i class="header-icon el-icon-thumb"
|
||||
style="margin-left: 5px"></i>
|
||||
</template>
|
||||
<div id="jlfsEditor"></div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</el-form-item>
|
||||
<el-form-item prop="hdnr" label="活动内容">
|
||||
<el-collapse>
|
||||
<el-collapse-item>
|
||||
<template slot="title">
|
||||
点击展开 <i class="header-icon el-icon-thumb"
|
||||
style="margin-left: 5px"></i>
|
||||
</template>
|
||||
<div id="hdnrEditor"></div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</el-form-item>
|
||||
<el-form-item prop="hdlxr" label="联系人">
|
||||
<el-collapse>
|
||||
<el-collapse-item>
|
||||
<template slot="title">
|
||||
点击展开 <i class="header-icon el-icon-thumb"
|
||||
style="margin-left: 5px"></i>
|
||||
</template>
|
||||
<div id="lxrEditor"></div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</el-form-item>
|
||||
<el-form-item prop="hdother" label="其他">
|
||||
<el-collapse>
|
||||
<el-collapse-item>
|
||||
<template slot="title">
|
||||
点击展开 <i class="header-icon el-icon-thumb"
|
||||
style="margin-left: 5px"></i>
|
||||
</template>
|
||||
<div id="otherEditor"></div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</el-form-item>
|
||||
<el-form-item label="活动封面">
|
||||
<file-upload :files.sync="formData.files"></file-upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="配色">
|
||||
<ul class="style_box old_stylebox clearfix"
|
||||
style="display: block;padding-left: 0;">
|
||||
<li class="style_every" v-for="color,idx in colorList"
|
||||
@click="colorChange(color)"
|
||||
:style="'background: '+color">
|
||||
<img src="https://www.qmwtp.com/assets/www/ActivityPc2/img/duihao.png"
|
||||
:style="'display: '+(formData.hdcolor==color?'block':'none')">
|
||||
<input type="radio" name="sex" checked="checked" value="1">
|
||||
</li>
|
||||
</ul>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row type="flex" justify="end">
|
||||
<el-button type="success" v-show="selected=='add'" @click="save">保 存</el-button>
|
||||
<el-button type="primary" @click="doSubmit">确 定</el-button>
|
||||
</el-row>
|
||||
</template>
|
||||
</guava>
|
||||
|
||||
<el-dialog :visible.sync="dialogVisible">
|
||||
<img width="100%" :src="dialogImageUrl" alt="">
|
||||
</el-dialog>
|
||||
<drawer-user-scope
|
||||
@group_change="getActivityGroup"
|
||||
ref="drawerUserScope"
|
||||
:group_id.sync="formData.activityGroupId"
|
||||
></drawer-user-scope>
|
||||
|
||||
<send-msg ref="sendMsg" :url="url"></send-msg>
|
||||
|
||||
<open-qr-code ref="openQRCode" :url="url"></open-qr-code>
|
||||
|
||||
</div>
|
||||
<a id="download"></a>
|
||||
<script>
|
||||
var editor = {
|
||||
hdjsEditor: null,
|
||||
cjryEditor: null,
|
||||
jlfsEditor: null,
|
||||
hdnrEditor: null,
|
||||
lxrEditor: null,
|
||||
otherEditor: null,
|
||||
}
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
var self = this
|
||||
var checkHdlb = function (rule, value, callback) {
|
||||
if (self.formData.lbs.length == 0) {
|
||||
callback(new Error("必填"))
|
||||
}
|
||||
self.formData.lbs.forEach(function (v) {
|
||||
v.zplbs.forEach(function (v2) {
|
||||
if (self.isNull(v2.zname)) {
|
||||
callback(new Error("有类别未填写名称"))
|
||||
}
|
||||
})
|
||||
if (self.isNull(v.lname)) {
|
||||
callback(new Error("有类别未填写名称"))
|
||||
}
|
||||
})
|
||||
callback()
|
||||
};
|
||||
return {
|
||||
hdid: GetQueryString("hdid"),
|
||||
selected: '',
|
||||
colorList: ['#6A005F', '#31cab1', '#e54242', '#ff8939', '#ffb712', '#1dc47b', '#4495f7', '#ff5e8b', '#5d6e7f'],
|
||||
fileList: [],
|
||||
delFiles: [],
|
||||
dialogImageUrl: '',
|
||||
activeNames: '',
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
year: moment().format('YYYY'),
|
||||
hdtype: 2,
|
||||
searchName: "",
|
||||
searchKeyword: "",
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
pageOrderName: "",
|
||||
pageOrderBy: "",
|
||||
hdname: ""
|
||||
},
|
||||
formData: {},
|
||||
codeDialogVisible: false,
|
||||
addDialogVisible: false,
|
||||
editDialogVisible: false,
|
||||
dialogVisible: false,
|
||||
formRules: {
|
||||
hdname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
hdjs: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
hdcjry: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
hdjlfs: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
hdnr: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
hdlxr: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
// hdother: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
time: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
hdlb: [{required: true, validator: checkHdlb, trigger: ['blur', 'change']}],
|
||||
},
|
||||
isNull: function (val) {
|
||||
if (val === null || val === undefined || val === '') {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
},
|
||||
id: '',
|
||||
activityGroupList: [],
|
||||
url: '',
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'send-msg': httpVueLoader('/components/plugins/SendMsgByGroupId.vue'),
|
||||
'drawer-user-scope': httpVueLoader('/components/plugins/DrawerUserScope.vue'),
|
||||
'open-qr-code': httpVueLoader('/components/plugins/OpenQRCode.vue'),
|
||||
},
|
||||
methods: {
|
||||
async getActivityGroup() {
|
||||
const resp = await $.get('/platform/activity/basic/scope/getActivityUserScopeGroup')
|
||||
this.activityGroupList = resp.data
|
||||
},
|
||||
share: function () {
|
||||
const id = this.id
|
||||
$.get("/platform/hd/wmhdMange/findOne", {hdid: id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
window.open("http://connect.qq.com/widget/shareqq/index.html?url=" + HOST_URL + "/staffActivities?id=" + id + "&title=" + data.data.hdname + "&desc=" + data.data.hdname + "")
|
||||
}
|
||||
}
|
||||
)
|
||||
},
|
||||
openCode(id) {
|
||||
this.$refs.openQRCode.openCode("/childrenActivities?id=" + id)
|
||||
},
|
||||
sendMsg(row) {
|
||||
this.url = `<a href="` + (APP_DOMAIN + "/childrenActivities?id=" + row.hdid) + `">点击参与</a>`
|
||||
this.$refs.sendMsg.openDialog(row.activitygroupid)
|
||||
},
|
||||
doSubmit: function () {
|
||||
if (this.selected === 'add') {
|
||||
this.doAdd()
|
||||
} else if (this.selected === 'edit') {
|
||||
this.doEdit()
|
||||
}
|
||||
},
|
||||
changeStatus: function (hdid, flag) {
|
||||
$.post(base + "/platform/hd/wmhdMange/changeStatus", {
|
||||
hdid: hdid,
|
||||
flag: flag
|
||||
}, function (data) {
|
||||
if (data.code == 0) {
|
||||
vue.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
vue.pageData();
|
||||
} else {
|
||||
vue.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
save: function () {
|
||||
vue.changeFormEditorData()
|
||||
localStorage.setItem("wmhd_savedata2", JSON.stringify(vue.formData))
|
||||
vue.$message({
|
||||
message: '保存成功!',
|
||||
type: 'success'
|
||||
});
|
||||
},
|
||||
changeFormEditorDataTxt() {
|
||||
this.$set(this.formData, 'hdjs', editor.hdjsEditor.txt.html())
|
||||
this.$set(this.formData, 'hdcjry', editor.cjryEditor.txt.html())
|
||||
this.$set(this.formData, 'hdjlfs', editor.jlfsEditor.txt.html())
|
||||
this.$set(this.formData, 'hdnr', editor.hdnrEditor.txt.html())
|
||||
this.$set(this.formData, 'hdlxr', editor.lxrEditor.txt.html())
|
||||
this.$set(this.formData, 'hdother', editor.otherEditor.txt.html())
|
||||
},
|
||||
changeFormEditorData() {
|
||||
this.$set(this.formData, 'hdjs', editor.hdjsEditor.txt.html())
|
||||
this.$set(this.formData, 'hdcjry', editor.cjryEditor.txt.html())
|
||||
this.$set(this.formData, 'hdjlfs', editor.jlfsEditor.txt.html())
|
||||
this.$set(this.formData, 'hdnr', editor.hdnrEditor.txt.html())
|
||||
this.$set(this.formData, 'hdlxr', editor.lxrEditor.txt.html())
|
||||
this.$set(this.formData, 'hdother', editor.otherEditor.txt.html())
|
||||
},
|
||||
refreshBox: function () {
|
||||
vue.changeFormEditorData()
|
||||
var fileList = []
|
||||
vue.fileList.forEach(function (file) {
|
||||
fileList.push(file.url)
|
||||
})
|
||||
vue.$set(vue.formData, 'fileList', fileList)
|
||||
localStorage.setItem("wmhd_boxdata", JSON.stringify(vue.formData))
|
||||
$('#myIframe').attr('src', $('#myIframe').attr('src'));
|
||||
},
|
||||
colorChange: function (color, idx) {
|
||||
this.formData.hdcolor = color
|
||||
},
|
||||
handlePictureCardPreview: function (file) {
|
||||
this.dialogImageUrl = file.url;
|
||||
this.dialogVisible = true;
|
||||
},
|
||||
handleChange: function (file, fileList) {
|
||||
var self = this;
|
||||
if (file.size == 0) {
|
||||
self.$message.warning("您选择的是空文件!");
|
||||
for (var i = 0; i < fileList.length; i++) {
|
||||
if (file == fileList[i]) {
|
||||
fileList.splice(i, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
self.fileList = fileList;
|
||||
},
|
||||
handleRemove: function (file, fileList) {
|
||||
var self = this;
|
||||
self.fileList = fileList;
|
||||
if (file.status == 'ok') {
|
||||
console.log("增加要删除的文件:" + file.name)
|
||||
self.delFiles.push({uid: file.uid, url: file.urlx})
|
||||
}
|
||||
},
|
||||
doDelete: function (id) {
|
||||
var self = this;
|
||||
this.$confirm('确定要删除吗?这将会删除目前所有已提交的作品数据!', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: function (a, b) {
|
||||
if ("confirm" == a) {//确认后再执行
|
||||
$.post(base + "/platform/hd/wmhdMange/delete", {hdid: 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");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
async openEdit(id) {
|
||||
this.formData = {};
|
||||
this.fileList = []
|
||||
this.delFiles = []
|
||||
this.selected = 'edit'
|
||||
if (this.$refs["addForm"])
|
||||
this.$refs["addForm"].resetFields();
|
||||
const data = await $.get("/platform/hd/wmhdMange/findOne", {hdid: id})
|
||||
if (data.code == 0) {
|
||||
data.data.time = [data.data.hdkssj, data.data.hdjssj]
|
||||
this.formData = data.data
|
||||
this.$refs.guava.edit()
|
||||
this.$nextTick(() => {
|
||||
E = window.wangEditor
|
||||
for (key in editor) {
|
||||
$('#' + key).html("")
|
||||
editor[key] = new E('#' + key)
|
||||
editor[key].create()
|
||||
}
|
||||
editor.hdjsEditor.txt.html(vue.formData.hdjs)
|
||||
editor.cjryEditor.txt.html(vue.formData.hdcjry)
|
||||
editor.jlfsEditor.txt.html(vue.formData.hdjlfs)
|
||||
editor.hdnrEditor.txt.html(vue.formData.hdnr)
|
||||
editor.lxrEditor.txt.html(vue.formData.hdlxr)
|
||||
editor.otherEditor.txt.html(vue.formData.hdother)
|
||||
this.refreshBox()
|
||||
})
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
},
|
||||
async doEdit() {
|
||||
this.changeFormEditorDataTxt()
|
||||
this.$refs["addForm"].validate(async valid => {
|
||||
if (valid) {
|
||||
this.changeFormEditorData()
|
||||
this.formData.hdkssj = this.formData.time[0]
|
||||
this.formData.hdjssj = this.formData.time[1]
|
||||
|
||||
let loading = this.$loading({
|
||||
lock: true,
|
||||
text: '数据正在提交中,请稍后...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
|
||||
const reps = await $.post("/platform/hd/wmhdMange/doEdit", {hdxx: JSON.stringify(this.formData)})
|
||||
loading.close()
|
||||
if (reps.code === 0) {
|
||||
this.$message.success(reps.msg)
|
||||
this.$refs.guava.index()
|
||||
this.pageData()
|
||||
} else {
|
||||
this.$message.warning(reps.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
doAdd() {
|
||||
this.changeFormEditorDataTxt()
|
||||
this.$refs["addForm"].validate(async valid => {
|
||||
if (valid) {
|
||||
this.changeFormEditorData()
|
||||
this.formData.hdkssj = this.formData.time[0]
|
||||
this.formData.hdjssj = this.formData.time[1]
|
||||
|
||||
var loading = this.$loading({
|
||||
lock: true,
|
||||
text: '数据正在提交中,请稍后...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
const reps = await $.post("/platform/hd/wmhdMange/doAdd", {hdxx: JSON.stringify(this.formData)})
|
||||
loading.close()
|
||||
if (reps.code === 0) {
|
||||
this.$message.success(reps.msg)
|
||||
this.$refs.guava.index()
|
||||
localStorage.removeItem("wmhd_savedata")
|
||||
this.pageData()
|
||||
} else {
|
||||
this.$message.warning(reps.msg)
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
openAdd () {
|
||||
var self = this;
|
||||
this.selected = 'add'
|
||||
|
||||
if (localStorage.getItem("wmhd_savedata2")) {
|
||||
try {
|
||||
this.formData = JSON.parse(localStorage.getItem("wmhd_savedata2"))
|
||||
} catch (e) {
|
||||
localStorage.removeItem('wmhd_savedata2')
|
||||
this.formData = {
|
||||
hdtype: 2,
|
||||
hdcolor: this.colorList[0],
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
hdcjsj: moment().format('YYYY-MM-DD'),
|
||||
lbs: [{zplbs: [{}]}],
|
||||
};
|
||||
}
|
||||
} else {
|
||||
this.formData = {
|
||||
hdtype: 2,
|
||||
hdcolor: this.colorList[0],
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
hdcjsj: moment().format('YYYY-MM-DD'),
|
||||
lbs: [{zplbs: [{}]}],
|
||||
};//打开新增窗口,表单先清空
|
||||
}
|
||||
|
||||
this.fileList = []
|
||||
if (this.$refs["addForm"])
|
||||
this.$refs["addForm"].resetFields();
|
||||
// this.addDialogVisible = true;
|
||||
this.$refs.guava.edit()
|
||||
vue.$nextTick(function () {
|
||||
E = window.wangEditor
|
||||
menu = [
|
||||
'head', // 标题
|
||||
'bold', // 粗体
|
||||
'fontSize', // 字号
|
||||
'fontName', // 字体
|
||||
'italic', // 斜体
|
||||
'underline', // 下划线
|
||||
'strikeThrough', // 删除线
|
||||
'foreColor', // 文字颜色
|
||||
// 'backColor', // 背景颜色
|
||||
'link', // 插入链接
|
||||
'list', // 列表
|
||||
'justify', // 对齐方式
|
||||
'quote', // 引用
|
||||
'emoticon', // 表情
|
||||
// 'image', // 插入图片
|
||||
'table', // 表格
|
||||
// 'code', // 插入代码
|
||||
// 'undo', // 撤销
|
||||
// 'redo' // 重复
|
||||
]
|
||||
for (key in editor) {
|
||||
$('#' + key).html("")
|
||||
editor[key] = new E('#' + key)
|
||||
editor[key].config.menus = menu
|
||||
editor[key].create()
|
||||
}
|
||||
editor.hdjsEditor.txt.html(vue.formData.hdjs)
|
||||
editor.cjryEditor.txt.html(vue.formData.hdcjry)
|
||||
editor.jlfsEditor.txt.html(vue.formData.hdjlfs)
|
||||
editor.hdnrEditor.txt.html(vue.formData.hdnr)
|
||||
editor.lxrEditor.txt.html(vue.formData.hdlxr)
|
||||
editor.otherEditor.txt.html(vue.formData.hdother)
|
||||
|
||||
if (localStorage.getItem("wmhd_savedata2")) {
|
||||
vue.refreshBox()
|
||||
} else {
|
||||
$('#myIframe').attr('src', $('#myIframe').attr('src'));
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
pageData: function () {//加载分页数据
|
||||
var self = this;
|
||||
sublime.showLoadingbar();//显示loading
|
||||
$.post(base + "/platform/hd/wmhdMange/data", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
data.data.list.forEach(v => {
|
||||
if ("${@shiro.hasRole('sysadmin')}" === 'false') {
|
||||
const user = "${@shiro.getPrincipalProperty('id')}"
|
||||
return v.isSysadminH10 = v.hdcjr === user
|
||||
}
|
||||
return v.isSysadminH10 = true
|
||||
})
|
||||
self.tableData = data.data.list;
|
||||
self.pageForm.totalCount = data.data.totalCount;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
,
|
||||
},
|
||||
created() {
|
||||
this.pageData();
|
||||
this.getActivityGroup()
|
||||
if (this.hdid) {
|
||||
setTimeout(() => {
|
||||
this.openAdd()
|
||||
}, 500)
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,177 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<div id="app">
|
||||
<guava>
|
||||
<el-card shadow="never">
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<el-cascader placeholder="请选择活动主题"
|
||||
filterable
|
||||
v-model="pageForm.hdids" :options="hdxxlist"
|
||||
@change="(v)=>{ pageForm.hdid = clone(v).pop() }"
|
||||
clearable></el-cascader>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<el-input placeholder="请输入内容" v-model="pageForm.searchKeyword" @keyup.enter.native="doSearch" clearable>
|
||||
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询类型" style="width: 120px;"
|
||||
clearable>
|
||||
<!-- <el-option v-if="hasSuperAdminOrXghRole" label="分工会" value="gh.unionname"></el-option>-->
|
||||
<!-- <el-option label="单位" value="dw.name"></el-option>-->
|
||||
<el-option label="教职工姓名" value="sbr.username"></el-option>
|
||||
<el-option label="工资号" value="sbr.loginname"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
|
||||
<el-row class="btn-group tool-button">
|
||||
<el-select v-if="hasSuperAdminOrXghRole" placeholder="所属工会" v-model="pageForm.union"
|
||||
style="width: 200px;"
|
||||
clearable="true"
|
||||
filterable="true" @change="unionChange">
|
||||
<el-option v-for="item in unions" :label="item.unionname" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-row>
|
||||
|
||||
<el-row class="btn-group tool-button">
|
||||
<el-select placeholder="所属单位" v-model="pageForm.unit" style="width: 200px;" clearable="true"
|
||||
filterable="true">
|
||||
<el-option v-for="item in units" :label="item.name" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-row>
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</div>
|
||||
|
||||
<div class="pull-right offscreen-right">
|
||||
<el-button size="medium" @click="exportExcel(1)">
|
||||
<i class="el-icon-tickets"></i>
|
||||
导出获奖人员名单
|
||||
</el-button>
|
||||
<el-button size="medium" @click="exportExcel(2)" v-if="hasSuperAdminOrXghRole">
|
||||
<i class="el-icon-tickets"></i>
|
||||
导出分工会获奖信息
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
</el-card>
|
||||
<el-card shadow="never" class="mt20">
|
||||
<el-table :data="tableData">
|
||||
<el-table-column label="序号" type="index" header-align="center" align="center" width="50">
|
||||
<template scope="scope">
|
||||
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="username" label="姓名" header-align="center" align="center"
|
||||
sortable></el-table-column>
|
||||
<el-table-column prop="loginname" label="工资号" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="dwname" label="单位" header-align="center" align="center" show-overflow-tooltip
|
||||
sortable></el-table-column>
|
||||
<el-table-column prop="ghname" label="分工会" header-align="center" align="center" show-overflow-tooltip
|
||||
sortable></el-table-column>
|
||||
<el-table-column prop="hjcount" label="获奖次数" header-align="center" align="center"
|
||||
show-overflow-tooltip></el-table-column>
|
||||
</el-table>
|
||||
<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>
|
||||
</el-card>
|
||||
</guava>
|
||||
|
||||
|
||||
</div>
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
data: function () {
|
||||
return {
|
||||
unions: [],
|
||||
units: [],
|
||||
|
||||
hasSuperAdminOrXghRole:"${@shiro.hasAnyRoles('sysadmin,A06',',')}" === 'true' ? true : false,
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
hdid: null,
|
||||
searchName: 'sbr.username'
|
||||
},
|
||||
tableData: [],
|
||||
hdxxlist: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async unionChange() {
|
||||
this.$set(this.pageForm, "unit", null)
|
||||
this.units = await getUnits(this.pageForm.union)
|
||||
},
|
||||
|
||||
pageData: function () {
|
||||
var self = this;
|
||||
sublime.showLoadingbar();
|
||||
$.post(base + "/platform/hd/childhd/hjxx/pageData", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.list;
|
||||
self.pageForm.totalCount = data.data.totalCount;
|
||||
}
|
||||
});
|
||||
},
|
||||
pageSizeChange: function (val) {
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange: function (val) {
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
exportExcel: function (num) {
|
||||
var self = this;
|
||||
var hdid = self.pageForm.hdid;
|
||||
if (hdid === '') {
|
||||
this.$message.warning('请先选择活动主题');
|
||||
return;
|
||||
}
|
||||
window.location.href = base + '/platform/hd/childhd/hjxx/exportExcel?num=' + num + '&hdid=' + hdid;
|
||||
},
|
||||
doSearch: function () {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
initHdxxlist() {
|
||||
$.post(base + '/platform/hd/childhd/zpxx/initHdxxlist').then(data => {
|
||||
if (data.code == 0) {
|
||||
this.yearActivityList = data.data
|
||||
let activityList = []
|
||||
data.data.map(v => {
|
||||
activityList = activityList.concat(v.children)
|
||||
})
|
||||
this.hdxxlist = activityList
|
||||
this.$set(this.pageForm, 'hdid', this.hdxxlist ? this.hdxxlist[0].value : []);
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
$.ajaxSettings.async = false;
|
||||
this.initHdxxlist();
|
||||
this.pageData();
|
||||
$.ajaxSettings.async = true;
|
||||
this.unions = await getUnions()
|
||||
this.units = await getUnits()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,871 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!-- 在 head 标签中添加 meta 标签,并设置 viewport-fit=cover 值 -->
|
||||
<meta name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover">
|
||||
<title></title>
|
||||
<!-- 引入样式文件 -->
|
||||
<link rel="stylesheet" href="https://cdn.staticfile.org/vant/2.12.5/index.min.css">
|
||||
<link rel="stylesheet" href="https://res.wx.qq.com/open/libs/weui/2.2.0/weui.min.css">
|
||||
|
||||
<!-- 引入 Vue 和 Vant 的 JS 文件 -->
|
||||
<script src="https://cdn.staticfile.org/vue/2.6.9/vue.min.js"></script>
|
||||
<script src="https://cdn.staticfile.org/vant/2.12.5/vant.js"></script>
|
||||
<script src="https://cdn.staticfile.org/jquery/2.2.4/jquery.js"></script>
|
||||
<script src="/assets/platform/plugins/moment/moment.min.js"></script>
|
||||
</head>
|
||||
<style>
|
||||
html, body {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
max-width: 600px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
html::-webkit-scrollbar {
|
||||
display: none
|
||||
}
|
||||
|
||||
[v-clock] {
|
||||
display: none
|
||||
}
|
||||
|
||||
html, body {
|
||||
font-family: PingFang SC, 'Helvetica Neue', Arial, sans-serif;
|
||||
}
|
||||
|
||||
.page-v {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
.detail-v {
|
||||
margin-top: 15px;
|
||||
padding-bottom: 30px;
|
||||
}
|
||||
|
||||
.p15 {
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
.njuColor {
|
||||
color: rgb(106, 0, 95);
|
||||
}
|
||||
|
||||
.title-v {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.form-v {
|
||||
/*margin-top: 20px;*/
|
||||
}
|
||||
|
||||
.van-doc-demo-block__title {
|
||||
margin: 0;
|
||||
padding: 0 16px;
|
||||
color: rgba(69, 90, 100, 0.6);
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
.goods-card {
|
||||
margin: 0;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.delete-button {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.van-swipe-cell__wrapper {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.van-nav-bar__content {
|
||||
background-color: #081776;
|
||||
}
|
||||
|
||||
.van-nav-bar__title, .van-icon-arrow-left::before {
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<div v-clock id="app" v-if="showPage">
|
||||
<van-nav-bar title="亲子作品征集" fixed placeholder safe-area-inset-top @click-left="history.back()"
|
||||
:left-arrow="leftArrow"></van-nav-bar>
|
||||
<div>
|
||||
<van-swipe v-if="boxData.files&&boxData.files.length>0" class="my-swipe" :autoplay="3000"
|
||||
indicator-color="white">
|
||||
<van-swipe-item v-for="bgi in boxData.files">
|
||||
<van-image
|
||||
width="100%"
|
||||
height="200px"
|
||||
fit="cover"
|
||||
:src="FILE_DOMAIN+'/fileStreamPreview?id='+bgi.id"
|
||||
></van-image>
|
||||
</van-swipe-item>
|
||||
</van-swipe>
|
||||
<van-image
|
||||
v-else
|
||||
width="100%"
|
||||
height="200px"
|
||||
fit="cover"
|
||||
src="***"
|
||||
>
|
||||
<template v-slot:error>封面图片</template>
|
||||
</van-image>
|
||||
</div>
|
||||
<div v-if="active==0" class="page-v">
|
||||
<div class="detail-v">
|
||||
<div class="title-v p15">
|
||||
<h3 :style="'color: '+boxData.hdcolor">活动介绍</h3>
|
||||
<div class="van-hairline--top"></div>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="p15">
|
||||
<div v-html="boxData.hdjs"></div>
|
||||
</div>
|
||||
<div class="title-v p15">
|
||||
<br/>
|
||||
<h3 :style="'color: '+boxData.hdcolor">参加人员</h3>
|
||||
<div class="van-hairline--top"></div>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="p15">
|
||||
<div v-html="boxData.hdcjry"></div>
|
||||
</div>
|
||||
<div class="title-v p15">
|
||||
<br/>
|
||||
<h3 :style="'color: '+boxData.hdcolor">奖励方式</h3>
|
||||
<div class="van-hairline--top"></div>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="p15">
|
||||
<div v-html="boxData.hdjlfs"></div>
|
||||
</div>
|
||||
<div class="title-v p15">
|
||||
<br/>
|
||||
<h3 :style="'color: '+boxData.hdcolor">活动内容</h3>
|
||||
<div class="van-hairline--top"></div>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="p15">
|
||||
<div v-html="boxData.hdnr"></div>
|
||||
</div>
|
||||
<div class="title-v p15">
|
||||
<br/>
|
||||
<h3 :style="'color: '+boxData.hdcolor">活动联系人</h3>
|
||||
<div class="van-hairline--top"></div>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="p15" style="line-height:24pt;">
|
||||
<div v-html="boxData.hdlxr"></div>
|
||||
</div>
|
||||
<div class="title-v p15" v-if="!isNull(boxData.hdother.replace(/<.*?>/g,''))">
|
||||
<br/>
|
||||
<h3 :style="'color: '+boxData.hdcolor">其他</h3>
|
||||
<div class="van-hairline--top"></div>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="p15" style="line-height:24pt;" v-if="!isNull(boxData.hdother.replace(/<.*?>/g,''))">
|
||||
<div v-html="boxData.hdother"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="active==1" class="page-v">
|
||||
<div class="detail-v" style="margin-top: 0">
|
||||
<div class="weui-msg" v-if="showMsg">
|
||||
<div class="weui-msg__icon-area">
|
||||
<van-circle
|
||||
layer-color="rgb(240,240,240)"
|
||||
color="#07c160"
|
||||
stroke-width="50"
|
||||
v-if="showPlan"
|
||||
v-model="percent"
|
||||
:rate="percent"
|
||||
:clockwise="false"
|
||||
:text="percent+' %'"
|
||||
></van-circle>
|
||||
<span v-if="showPlan==false">
|
||||
<i v-if="flag" class="weui-icon-success weui-icon_msg"></i>
|
||||
<i v-if="!flag" class="weui-icon-warn weui-icon_msg"></i>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
<div class="weui-msg__text-area">
|
||||
<h2 class="weui-msg__title" v-if="showPlan">上传中...</h2>
|
||||
<h2 class="weui-msg__title" v-if="!showPlan&&flag">上传成功!</h2>
|
||||
<h2 class="weui-msg__title" v-if="!showPlan&&!flag">上传失败!</h2>
|
||||
<div v-html="msg"></div>
|
||||
</div>
|
||||
<div class="weui-msg__opr-area">
|
||||
<p class="weui-btn-area">
|
||||
<a v-if="!showPlan" @click="showMsg=false"
|
||||
:class="flag?'weui-btn weui-btn_primary':'weui-btn weui-btn_warn'">{{flag ? '确定' : '返回'}}</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-v" v-if="!showMsg">
|
||||
<van-form @submit="doSubmit">
|
||||
<div style="width: 100%;padding: 16px 0;">
|
||||
<h2 class="van-doc-demo-block__title" :style="'font-weight: bolder;color: '+boxData.hdcolor">
|
||||
基本信息</h2>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field
|
||||
@input="doInput"
|
||||
required
|
||||
v-model="formData.loginname"
|
||||
name="工资号"
|
||||
label="工资号"
|
||||
placeholder="工资号"
|
||||
:rules="[{ required: true, message: '请填写工资号' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
disabled
|
||||
v-model="formData.username"
|
||||
name="姓名"
|
||||
label="姓  名"
|
||||
:placeholder="getPlaceholder(formData,'username')"
|
||||
></van-field>
|
||||
<van-field
|
||||
disabled
|
||||
v-model="formData.unionname"
|
||||
name="所属工会"
|
||||
label="所属工会"
|
||||
:placeholder="getPlaceholder(formData,'unionname')"
|
||||
></van-field>
|
||||
<van-field
|
||||
required
|
||||
v-model="formData.mobile"
|
||||
name="mobile"
|
||||
label="手机号码" type="tel"
|
||||
placeholder="手机号码"
|
||||
:rules="[{ required: true, message: '请填写手机号码' }]"
|
||||
></van-field>
|
||||
</van-cell-group>
|
||||
<div style="width: 100%;padding: 16px 0;">
|
||||
<h2 class="van-doc-demo-block__title" :style="'font-weight: bolder;color: '+boxData.hdcolor">
|
||||
子女信息</h2>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field
|
||||
required
|
||||
v-model="formData.znxm"
|
||||
name="znxm"
|
||||
label="姓  名"
|
||||
placeholder="姓名" maxlength="30"
|
||||
:rules="[{ required: true, message: '请填写子女姓名' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
required
|
||||
v-model="formData.znnl"
|
||||
name="znnl"
|
||||
label="年  龄" type="digit"
|
||||
placeholder="年龄"
|
||||
:rules="[{ required: true, message: '请填写子女年龄' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
readonly
|
||||
clickable
|
||||
name="znxb"
|
||||
:value="formData.znxb"
|
||||
label="性  别"
|
||||
placeholder="点击选择"
|
||||
@click="znxbShowPicker = true"
|
||||
required
|
||||
:rules="[{ required: true, message: '请选择子女性别' }]"
|
||||
></van-field>
|
||||
<van-popup v-model="znxbShowPicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="['男','女']"
|
||||
@confirm="function(val){formData.znxb=val;znxbShowPicker=false}"
|
||||
@cancel="zngxShowPicker = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
<van-field
|
||||
readonly
|
||||
clickable
|
||||
name="zngx"
|
||||
:value="formData.zngx"
|
||||
label="子女关系"
|
||||
placeholder="点击选择"
|
||||
@click="zngxShowPicker = true"
|
||||
required
|
||||
:rules="[{ required: true, message: '请选择子女关系' }]"
|
||||
></van-field>
|
||||
<van-popup v-model="zngxShowPicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="zngxArr"
|
||||
@confirm="function(val){formData.zngx=val;zngxShowPicker=false}"
|
||||
@cancel="zngxShowPicker = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
</van-cell-group>
|
||||
</van-cell-group>
|
||||
<div style="width: 100%;padding: 16px 0;">
|
||||
<span class="van-doc-demo-block__title" :style="'font-weight: bolder;color: '+boxData.hdcolor">
|
||||
作品信息</span>
|
||||
<p class="van-doc-demo-block__title" style="margin-top: 5px;color: red">
|
||||
(如同时参加以下多个活动,或有多个主题,请分别提交)</p>
|
||||
</div>
|
||||
<van-tabs v-model="formData.hdlb_i" :color="boxData.hdcolor" type="line">
|
||||
<van-tab v-for="(lb,i) in boxData.lbs" :name="i" :title="lb.lname">
|
||||
<div v-if="formData.hdlb_i==i">
|
||||
<van-field style="padding-top: 30px" maxlength="15"
|
||||
:rules="[{ required: true, message: '请填写作品主题' }]"
|
||||
v-model="fd[i].zpzt"
|
||||
required
|
||||
show-word-limit
|
||||
label="作品主题" placeholder="主题"></van-field>
|
||||
<van-field
|
||||
required
|
||||
readonly
|
||||
clickable
|
||||
name="picker"
|
||||
:value="fd[i].zplb_name"
|
||||
label="作品类别"
|
||||
placeholder="点击选择作品类别"
|
||||
@click="showPicker = true"
|
||||
:rules="[{ required: true, message: '请选择作品类别' }]"
|
||||
></van-field>
|
||||
<van-popup v-model="showPicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
value-key="zname"
|
||||
:columns="lb.zplbs"
|
||||
@confirm="function(val){fd[i].zplb=val.zid;fd[i].zplb_name=val.zname;showPicker=false}"
|
||||
@cancel="showPicker = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
<van-field type="textarea" show-word-limit maxlength="100" autosize
|
||||
v-model="fd[i].zpms"
|
||||
label="作品介绍"
|
||||
placeholder="介绍"></van-field>
|
||||
|
||||
<van-field label="图  片" disabled placeholder="(左滑删除单个文件)"
|
||||
style="border: none;"
|
||||
input-align="right"></van-field>
|
||||
<van-swipe-cell v-for="(img,idx) in fd[i].imgList"
|
||||
style="border: none;padding-top: 20px;">
|
||||
<van-row style="padding: 0 15px">
|
||||
<van-col :span="6">
|
||||
<van-image
|
||||
v-if="img.id"
|
||||
width="100%"
|
||||
height="25vw"
|
||||
fit="cover"
|
||||
:src="FILE_DOMAIN+'/fileStreamPreview?id='+img.id"
|
||||
></van-image>
|
||||
<van-image
|
||||
v-else
|
||||
width="100%"
|
||||
height="25vw"
|
||||
fit="cover"
|
||||
:src="img.content"
|
||||
></van-image>
|
||||
</van-col>
|
||||
|
||||
</van-row>
|
||||
|
||||
<van-button
|
||||
native-type="button"
|
||||
@click="imgDelete(idx,i,img.filepath)"
|
||||
slot="right"
|
||||
square
|
||||
text="删除"
|
||||
type="danger"
|
||||
class="delete-button"
|
||||
></van-button>
|
||||
</van-swipe-cell>
|
||||
<van-field>
|
||||
<template #input>
|
||||
<van-uploader multiple :preview-image="false" :before-read="beforeReadImg"
|
||||
accept="image/*"
|
||||
:max-count="5"
|
||||
v-model="fd[i].imgList">
|
||||
</van-uploader>
|
||||
</template>
|
||||
</van-field>
|
||||
<van-field label-width="150" label="音/视频、文档" disabled style="border: none;"
|
||||
input-align="right"></van-field>
|
||||
<van-swipe-cell v-for="video,idx in fd[i].videoList"
|
||||
style="border: none;padding-top: 20px;">
|
||||
<van-row style="padding: 0 15px">
|
||||
<van-col :span="6">
|
||||
<van-image
|
||||
width="100%"
|
||||
height="25vw"
|
||||
fit="cover"
|
||||
src="1"
|
||||
>
|
||||
<template v-slot:error>
|
||||
<i class="van-icon van-icon-description van-uploader__file-icon">
|
||||
<!----></i>
|
||||
<div class="van-uploader__file-name van-ellipsis">
|
||||
{{video.filename ? video.filename : video.file.name }}
|
||||
</div>
|
||||
</template>
|
||||
</van-image>
|
||||
</van-col>
|
||||
|
||||
</van-row>
|
||||
|
||||
<van-button
|
||||
native-type="button"
|
||||
@click="videoDelete(idx,i,video.filepath)"
|
||||
slot="right"
|
||||
square
|
||||
text="删除"
|
||||
type="danger"
|
||||
class="delete-button"
|
||||
></van-button>
|
||||
</van-swipe-cell>
|
||||
<van-field>
|
||||
<template #input>
|
||||
<van-uploader :preview-image="false" result-type="file"
|
||||
@oversize="vue.$toast.fail('文件大小不能超过200M!')"
|
||||
:max-size="209715200"
|
||||
:before-read="beforeReadVideo" accept="*" :max-count="2"
|
||||
v-model="fd[i].videoList"></van-uploader>
|
||||
</template>
|
||||
</van-field>
|
||||
</div>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
|
||||
<span style="padding-left: 15px;font-size: 12px;color: rgb(160,160,160)">(注意:图片最多5张,视频最大200M。)</span>
|
||||
<div style="margin: 16px;">
|
||||
<van-button :disabled="subDis" round block :color="boxData.hdcolor" type="info"
|
||||
native-type="submit">
|
||||
提交
|
||||
</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<van-tabbar
|
||||
style="max-width: 600px;position: fixed;left: 0;bottom: 0;right: 0;margin: auto"
|
||||
v-model="active"
|
||||
:active-color="boxData.hdcolor"
|
||||
inactive-color="#000"
|
||||
>
|
||||
<van-tabbar-item icon="label-o">介绍</van-tabbar-item>
|
||||
<van-tabbar-item icon="edit">报名</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
<van-number-keyboard safe-area-inset-bottom/>
|
||||
</div>
|
||||
<script src="https://cdn.staticfile.org/js-cookie/2.2.1/js.cookie.min.js"></script>
|
||||
<script>
|
||||
const FILE_DOMAIN = "${AppFileDomain!}"
|
||||
|
||||
function getQueryVariable(variable) {
|
||||
var query = window.location.search.substring(1);
|
||||
var vars = query.split("&");
|
||||
for (var i = 0; i < vars.length; i++) {
|
||||
var pair = vars[i].split("=");
|
||||
if (pair[0] == variable) {
|
||||
return pair[1];
|
||||
}
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
var xhrOnProgress = function (fun) {
|
||||
xhrOnProgress.onprogress = fun; //绑定监听
|
||||
//使用闭包实现监听绑
|
||||
return function () {
|
||||
//通过$.ajaxSettings.xhr();获得XMLHttpRequest对象
|
||||
var xhr = $.ajaxSettings.xhr();
|
||||
//判断监听函数是否为函数
|
||||
if (typeof xhrOnProgress.onprogress !== 'function')
|
||||
return xhr;
|
||||
//如果有监听函数并且xhr对象支持绑定时就把监听函数绑定上去
|
||||
if (xhrOnProgress.onprogress && xhr.upload) {
|
||||
xhr.upload.onprogress = xhrOnProgress.onprogress;
|
||||
}
|
||||
return xhr;
|
||||
}
|
||||
}
|
||||
|
||||
function getSuffix(filename) {
|
||||
return /\.[^\.]+$/.exec(filename)
|
||||
}
|
||||
|
||||
var vue = new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
readytodelfile: [],
|
||||
leftArrow: false,
|
||||
zngxArr: ['父亲', '母亲', '第三代'],
|
||||
boxData: {},
|
||||
subDis: false,
|
||||
showPage: false,
|
||||
znxbShowPicker: false,
|
||||
zngxShowPicker: false,
|
||||
showPicker: false,
|
||||
showMsg: false,
|
||||
percent: 0,
|
||||
flag: true,
|
||||
showPlan: true,
|
||||
msg: '',
|
||||
formData: {
|
||||
hdlb_i: 0,
|
||||
},
|
||||
fd: [],
|
||||
active: 0,
|
||||
isNull(val) {
|
||||
if (val === null || val === undefined || val === '') {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
},
|
||||
imgtype: ['gif', 'jpg', 'png', 'jpeg'],
|
||||
audiotype: ['mp3', 'wma', 'flac', 'wav', 'm4a', 'amr', 'au'],
|
||||
doctype: ['doc', 'docx', 'txt'],
|
||||
videotype: ['flv', 'swf', 'mkv', 'avi', 'rm', 'rmvb', 'wmv', 'mp4', 'mov', 'mpg', 'mpeg', 'quicktime'],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
imgDelete(idx, i, filepath) {
|
||||
this.fd[i].imgList.splice(idx, 1)
|
||||
this.readytodelfile.push(filepath);
|
||||
},
|
||||
videoDelete(idx, i, filepath) {
|
||||
this.fd[i].videoList.splice(idx, 1)
|
||||
this.readytodelfile.push(filepath);
|
||||
},
|
||||
onConfirm: function (value) {
|
||||
this.formData.hdzplx2 = value.zname;
|
||||
this.showPicker = false;
|
||||
},
|
||||
getPlaceholder: function (formData, key) {
|
||||
if (vue.isNull(formData.userid)) {
|
||||
return "输入工资号后自动匹配"
|
||||
} else {
|
||||
if (vue.isNull(formData[key])) {
|
||||
return '暂无'
|
||||
}
|
||||
return formData[key]
|
||||
}
|
||||
},
|
||||
async doInput(val) {
|
||||
this.$set(this.formData, 'username', undefined)
|
||||
this.$set(this.formData, 'unionname', undefined)
|
||||
this.$set(this.formData, 'userid', undefined)
|
||||
const data = await $.get("/childrenActivities/queryUserByLoginname", {loginname: val})
|
||||
if (data.code == 0) {
|
||||
if (!this.isNull(data.data)) {
|
||||
this.$set(this.formData, 'userid', data.data.id)
|
||||
this.$set(this.formData, 'username', data.data.username)
|
||||
this.$set(this.formData, 'unionname', data.data.unionname)
|
||||
this.$set(this.formData, 'loginname', data.data.loginname)
|
||||
}
|
||||
}
|
||||
},
|
||||
async doSubmit() {
|
||||
if (vue.isNull(vue.formData.userid)) {
|
||||
vue.$toast.fail("请正确填写您的工资号!")
|
||||
return
|
||||
}
|
||||
const i = vue.formData.hdlb_i
|
||||
|
||||
if (vue.fd[i].videoList.length == 0 && vue.fd[i].imgList.length == 0) {
|
||||
vue.$toast.fail("请您选择要上传的作品!")
|
||||
return
|
||||
}
|
||||
|
||||
const confirm = await vue.$dialog.confirm({
|
||||
title: '提醒',
|
||||
message: '您当前选择的是“' + vue.boxData.lbs[i].lname + '”,是否确认上传?上传后您将不能对已上传的作品进行更改'
|
||||
})
|
||||
if (confirm === "confirm") {
|
||||
setTimeout(() => {
|
||||
this.showMsg = true
|
||||
this.showPlan = true
|
||||
this.percent = 0
|
||||
this.msg = ''
|
||||
|
||||
let formData1 = {}
|
||||
let formData2 = new FormData();
|
||||
if (!this.isNull(this.formData.id)) {
|
||||
this.$set(formData1, "id", getQueryVariable("zpid"))
|
||||
this.$set(formData1, "hdid", getQueryVariable("id"))
|
||||
|
||||
this.$set(formData1, "sbr", this.formData.userid)
|
||||
this.$set(formData1, "mobile", this.formData.mobile)
|
||||
this.$set(formData1, "hdlb", this.boxData.lbs[i].lid)
|
||||
this.$set(formData1, "znxm", this.formData.znxm)
|
||||
this.$set(formData1, "znnl", this.formData.znnl)
|
||||
this.$set(formData1, "znxb", this.formData.znxb)
|
||||
this.$set(formData1, "zngx", this.formData.zngx)
|
||||
|
||||
this.$set(formData1, "zplb", this.fd[i].zplb)
|
||||
this.$set(formData1, "zpzt", this.fd[i].zpzt)
|
||||
this.$set(formData1, "zpms", this.fd[i].zpms)
|
||||
this.$set(formData1, "sbsj", moment().format('YYYY-MM-DD HH:mm:ss'))
|
||||
|
||||
|
||||
} else {
|
||||
formData2.append("hdid", getQueryVariable("id"))
|
||||
|
||||
formData2.append("sbr", this.isNull(this.formData.userid) ? '' : this.formData.userid);
|
||||
formData2.append("mobile", vue.isNull(vue.formData.mobile) ? '' : this.formData.mobile);
|
||||
formData2.append("hdlb", vue.isNull(vue.boxData.lbs[i].lid) ? '' : this.boxData.lbs[i].lid)
|
||||
|
||||
formData2.append("znxm", this.isNull(this.formData.znxm) ? '' : this.formData.znxm);
|
||||
formData2.append("znnl", this.isNull(this.formData.znnl) ? '' : this.formData.znnl);
|
||||
formData2.append("znxb", this.isNull(this.formData.znxb) ? '' : this.formData.znxb);
|
||||
formData2.append("zngx", this.isNull(this.formData.zngx) ? '' : this.formData.zngx);
|
||||
|
||||
formData2.append("zplb", this.isNull(this.fd[i].zplb) ? '' : this.fd[i].zplb);
|
||||
formData2.append("zpzt", this.isNull(this.fd[i].zpzt) ? '' : this.fd[i].zpzt);
|
||||
formData2.append("zpms", this.isNull(this.fd[i].zpms) ? '' : this.fd[i].zpms);
|
||||
formData2.append("sbsj", moment().format('YYYY-MM-DD HH:mm:ss'));
|
||||
|
||||
vue.fd[i].imgList.forEach(function (val) {
|
||||
formData2.append("files", val.file, vue.isNull(val.ms) ? val.file.name : val.ms + getSuffix(val.file.name));
|
||||
});
|
||||
vue.fd[i].videoList.forEach(function (val) {
|
||||
formData2.append("files", val.file, vue.isNull(val.ms) ? val.file.name : val.ms + getSuffix(val.file.name));
|
||||
});
|
||||
}
|
||||
|
||||
if (!this.isNull(this.formData.id)) {
|
||||
formData2.append("data", JSON.stringify(formData1));
|
||||
formData2.append("readytodelfile", JSON.stringify(this.readytodelfile));
|
||||
this.fd[i].imgList.forEach(val => {
|
||||
formData2.append("file", val.file);
|
||||
});
|
||||
this.fd[i].videoList.forEach(val => {
|
||||
formData2.append("file", val.file);
|
||||
});
|
||||
$.ajax({
|
||||
url: "/platform/hd/childhd/sczp/doEdit",
|
||||
type: "post",
|
||||
data: formData2,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
xhr: xhrOnProgress(function (e) {
|
||||
if (e.total == 0) {
|
||||
vue.percent = 0
|
||||
} else {
|
||||
vue.percent = ((e.loaded / e.total) * 100).toFixed(0);//文件上传百分比
|
||||
}
|
||||
|
||||
}),
|
||||
success: function (data) {
|
||||
if (data.code === 0) {
|
||||
|
||||
vue.formData.znxm = ''
|
||||
vue.formData.znnl = ''
|
||||
vue.formData.znxb = ''
|
||||
vue.formData.zngx = ''
|
||||
|
||||
vue.fd[i].zplb = ''
|
||||
vue.fd[i].zplb_name = ''
|
||||
vue.fd[i].zpzt = ''
|
||||
vue.fd[i].zpms = ''
|
||||
vue.fd[i].sbsj = ''
|
||||
vue.fd[i].imgList = []
|
||||
vue.fd[i].videoList = []
|
||||
vue.fd[i].audioList = []
|
||||
Cookies.remove('ca_formData');
|
||||
|
||||
|
||||
vue.msg = '<p class="weui-msg__desc">我们已收到您的作品!<br/>非常感谢您的支持!</p>'
|
||||
vue.flag = true
|
||||
} else {
|
||||
|
||||
vue.msg = '<p class="weui-msg__desc">非常抱歉对您造成的不便!<br/>请联系系统管理员进行修复!</p>'
|
||||
vue.flag = false
|
||||
}
|
||||
vue.showPlan = false
|
||||
window.history.back()
|
||||
},
|
||||
error: function (data) {
|
||||
vue.msg = '<p class="weui-msg__desc">非常抱歉对您造成的不便!<br/>请联系系统管理员进行修复!</p>'
|
||||
vue.flag = false
|
||||
vue.showPlan = false
|
||||
}
|
||||
});
|
||||
|
||||
} else {
|
||||
$.ajax({
|
||||
url: "/childrenActivities/doSubmit",
|
||||
type: "post",
|
||||
data: formData2,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
xhr: xhrOnProgress(function (e) {
|
||||
if (e.total == 0) {
|
||||
vue.percent = 0
|
||||
} else {
|
||||
vue.percent = ((e.loaded / e.total) * 100).toFixed(0);//文件上传百分比
|
||||
}
|
||||
|
||||
}),
|
||||
success: function (data) {
|
||||
if (data.code === 0) {
|
||||
|
||||
vue.formData.znxm = ''
|
||||
vue.formData.znnl = ''
|
||||
vue.formData.znxb = ''
|
||||
vue.formData.zngx = ''
|
||||
|
||||
vue.fd[i].zplb = ''
|
||||
vue.fd[i].zplb_name = ''
|
||||
vue.fd[i].zpzt = ''
|
||||
vue.fd[i].zpms = ''
|
||||
vue.fd[i].sbsj = ''
|
||||
vue.fd[i].imgList = []
|
||||
vue.fd[i].videoList = []
|
||||
vue.fd[i].audioList = []
|
||||
Cookies.remove('ca_formData');
|
||||
|
||||
|
||||
vue.msg = '<p class="weui-msg__desc">我们已收到您的作品!<br/>非常感谢您的支持!</p>'
|
||||
vue.flag = true
|
||||
} else {
|
||||
|
||||
vue.msg = '<p class="weui-msg__desc">非常抱歉对您造成的不便!<br/>请联系系统管理员进行修复!</p>'
|
||||
vue.flag = false
|
||||
}
|
||||
vue.showPlan = false
|
||||
},
|
||||
error: function (data) {
|
||||
vue.msg = '<p class="weui-msg__desc">非常抱歉对您造成的不便!<br/>请联系系统管理员进行修复!</p>'
|
||||
vue.flag = false
|
||||
vue.showPlan = false
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
,
|
||||
500
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
// 返回布尔值
|
||||
beforeReadImg: function (file) {
|
||||
return true;
|
||||
},
|
||||
// 返回布尔值
|
||||
beforeReadVideo: function (file, detail) {
|
||||
var suffix = getSuffix(file.name)
|
||||
if (suffix == null) {
|
||||
vue.$toast('获取不到后缀名!');
|
||||
return false;
|
||||
}
|
||||
// var type = suffix.toString().substring(suffix.lastIndexOf(".") + 2)
|
||||
// if (vue.videotype.indexOf(type) == -1 && vue.audiotype.indexOf(type) == -1 && vue.doctype.indexOf(type) == -1) {
|
||||
// vue.$toast('不支持的文件类型!');
|
||||
// return false;
|
||||
// }
|
||||
return true;
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
const loginname = "${@shiro.getPrincipalProperty('loginname')}"
|
||||
this.$set(this.formData, "loginname", loginname)
|
||||
this.doInput(loginname)
|
||||
const zpid = GetQueryString("zpid")
|
||||
GetQueryString("client") == "mobile" ? this.leftArrow = true : this.leftArrow = false
|
||||
this.$set(this.formData, "loginname", loginname)
|
||||
this.doInput(loginname)
|
||||
var self = this
|
||||
if (window.innerWidth > 800) {
|
||||
self.$notify({type: 'warning', message: '当前窗口宽度过大!部分区域显示会出现大小偏差'});
|
||||
}
|
||||
|
||||
if (!this.isNull(getQueryVariable("id"))) {
|
||||
$.get("/platform/hd/wmhdMange/findOne", {hdid: getQueryVariable("id")}, function (data) {
|
||||
if (data.code == 0) {
|
||||
document.getElementsByTagName("title")[0].innerText = data.data.hdname;
|
||||
data.data.lbs.forEach(function (lb, idx) {
|
||||
self.fd.push({
|
||||
zpzt: '',
|
||||
zpms: '',
|
||||
zplb: '',
|
||||
imgList: [],
|
||||
videoList: [],
|
||||
})
|
||||
})
|
||||
self.boxData = data.data
|
||||
self.formData.hdlb_i = 0
|
||||
self.showPage = true
|
||||
|
||||
if (!data.data.hdflag) {
|
||||
self.$toast.fail("当前活动未开启!");
|
||||
self.subDis = true
|
||||
} else {
|
||||
if (!(new Date(data.data.hdkssj.replace(/-/g, '/')).getTime() < new Date().getTime() && new Date().getTime() < new Date(data.data.hdjssj.replace(/-/g, '/')).getTime())) {
|
||||
self.$toast.fail("不在活动时间范围内!");
|
||||
self.subDis = true
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
if (!this.isNull(zpid)) {
|
||||
const {data, code, msg} = await $.get("/platform/hd/wmhd/findOneById", {id: zpid})
|
||||
const refs = await $.get("/mobile/cahd/list/findOne", {id: zpid})
|
||||
this.$set(this.formData, "id", refs[0].id)
|
||||
this.$set(this.formData, "hdid", refs[0].id)
|
||||
this.$set(this.formData, "userid", refs[0].sbr)
|
||||
this.$set(this.formData, "mobile", refs[0].mobile)
|
||||
this.$set(this.boxData.lbs[this.formData.hdlb_i], "lid", refs[0].hdlb)
|
||||
this.$set(this.formData, "znxm", refs[0].znxm)
|
||||
this.$set(this.formData, "znnl", refs[0].znnl)
|
||||
this.$set(this.formData, "znxb", refs[0].znxb)
|
||||
this.$set(this.formData, "zngx", refs[0].zngx)
|
||||
this.$set(this.fd[this.formData.hdlb_i], "zplb", refs[0].zplb)
|
||||
this.$set(this.fd[this.formData.hdlb_i], "zpzt", refs[0].zpzt)
|
||||
this.$set(this.fd[this.formData.hdlb_i], "zpms", refs[0].zpms)
|
||||
this.$set(this.fd[this.formData.hdlb_i], "zplb_name", refs[0].zname)
|
||||
data.forEach((v, i) => {
|
||||
v.filename = v.filename
|
||||
v.fjurl = v.filepath
|
||||
v.url = FILE_DOMAIN + v.filepath
|
||||
v.content = FILE_DOMAIN + v.filepath
|
||||
const filetype = v.filename.substring(v.filename.lastIndexOf(".") + 1)
|
||||
const aa = this.audiotype.concat(this.videotype)
|
||||
if (this.imgtype.indexOf(filetype) > -1) {
|
||||
this.fd[this.formData.hdlb_i].imgList.push(v)
|
||||
} else if (aa.indexOf(filetype) > -1) {
|
||||
this.fd[this.formData.hdlb_i].videoList.push(v);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
function GetQueryString(name) {
|
||||
const reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
|
||||
const r = window.location.search.substr(1).match(reg);
|
||||
if (r != null) return unescape(r[2]);
|
||||
return "";
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,640 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!-- 在 head 标签中添加 meta 标签,并设置 viewport-fit=cover 值 -->
|
||||
<meta name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover">
|
||||
<title>Title</title>
|
||||
<!-- 引入样式文件 -->
|
||||
<link rel="stylesheet" href="https://cdn.staticfile.org/vant/2.12.5/index.min.css">
|
||||
<link rel="stylesheet" href="https://res.wx.qq.com/open/libs/weui/2.2.0/weui.min.css">
|
||||
|
||||
<!-- 引入 Vue 和 Vant 的 JS 文件 -->
|
||||
<script src="https://cdn.staticfile.org/vue/2.6.9/vue.min.js"></script>
|
||||
<script src="https://cdn.staticfile.org/vant/2.12.5/vant.min.js"></script>
|
||||
<script src="https://cdn.staticfile.org/jquery/1.11.1/jquery.min.js"></script>
|
||||
<script src="/assets/platform/plugins/moment/moment.min.js"></script>
|
||||
|
||||
</head>
|
||||
<style>
|
||||
html, body {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
max-width: 600px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
html::-webkit-scrollbar {
|
||||
display: none
|
||||
}
|
||||
|
||||
[v-clock] {
|
||||
display: none
|
||||
}
|
||||
|
||||
html, body {
|
||||
font-family: PingFang SC, 'Helvetica Neue', Arial, sans-serif;
|
||||
}
|
||||
|
||||
.page-v {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
.detail-v {
|
||||
margin-top: 15px;
|
||||
padding-bottom: 30px;
|
||||
}
|
||||
|
||||
.p15 {
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
.njuColor {
|
||||
color: rgb(106, 0, 95);
|
||||
}
|
||||
|
||||
.title-v {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.form-v {
|
||||
/*margin-top: 20px;*/
|
||||
}
|
||||
|
||||
.van-doc-demo-block__title {
|
||||
margin: 0;
|
||||
padding: 0 16px;
|
||||
color: rgba(69, 90, 100, 0.6);
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
.goods-card {
|
||||
margin: 0;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.delete-button {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.van-swipe-cell__wrapper {
|
||||
border: none;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<div v-clock id="app">
|
||||
<div>
|
||||
<van-swipe v-if="boxData.files&&boxData.files.length>0" class="my-swipe" :autoplay="3000" indicator-color="white">
|
||||
<van-swipe-item v-for="url in boxData.files">
|
||||
<van-image
|
||||
width="100%"
|
||||
height="200px"
|
||||
fit="cover"
|
||||
:src="'${AppFileDomain!}/fileStreamPreview?id='+url.id"
|
||||
></van-image>
|
||||
</van-swipe-item>
|
||||
</van-swipe>
|
||||
<van-image
|
||||
v-else
|
||||
width="100%"
|
||||
height="200px"
|
||||
fit="cover"
|
||||
src="***"
|
||||
>
|
||||
<template v-slot:error>封面图片</template>
|
||||
</van-image>
|
||||
</div>
|
||||
<div v-if="active==0" class="page-v">
|
||||
<div class="detail-v">
|
||||
<div class="title-v p15">
|
||||
<h3 :style="'color: '+boxData.hdcolor">活动介绍</h3>
|
||||
<div class="van-hairline--top"></div>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="p15">
|
||||
<div v-html="boxData.hdjs"></div>
|
||||
</div>
|
||||
<div class="title-v p15">
|
||||
<br/>
|
||||
<h3 :style="'color: '+boxData.hdcolor">参加人员</h3>
|
||||
<div class="van-hairline--top"></div>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="p15">
|
||||
<div v-html="boxData.hdcjry"></div>
|
||||
</div>
|
||||
<div class="title-v p15">
|
||||
<br/>
|
||||
<h3 :style="'color: '+boxData.hdcolor">奖励方式</h3>
|
||||
<div class="van-hairline--top"></div>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="p15">
|
||||
<div v-html="boxData.hdjlfs"></div>
|
||||
</div>
|
||||
<div class="title-v p15">
|
||||
<br/>
|
||||
<h3 :style="'color: '+boxData.hdcolor">活动内容</h3>
|
||||
<div class="van-hairline--top"></div>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="p15">
|
||||
<div v-html="boxData.hdnr"></div>
|
||||
</div>
|
||||
<div class="title-v p15">
|
||||
<br/>
|
||||
<h3 :style="'color: '+boxData.hdcolor">活动联系人</h3>
|
||||
<div class="van-hairline--top"></div>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="p15" style="line-height:24pt;">
|
||||
<div v-html="boxData.hdlxr"></div>
|
||||
</div>
|
||||
<div class="title-v p15" v-if="!isNull(boxData.hdother.replace(/<.*?>/g,''))">
|
||||
<br/>
|
||||
<h3 :style="'color: '+boxData.hdcolor">其他</h3>
|
||||
<div class="van-hairline--top"></div>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="p15" style="line-height:24pt;" v-if="!isNull(boxData.hdother.replace(/<.*?>/g,''))">
|
||||
<div v-html="boxData.hdother"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="active==1" class="page-v">
|
||||
<div class="detail-v" style="margin-top: 0">
|
||||
<div class="weui-msg" v-if="showMsg">
|
||||
<div class="weui-msg__icon-area">
|
||||
<van-circle
|
||||
layer-color="rgb(240,240,240)"
|
||||
color="#07c160"
|
||||
stroke-width="50"
|
||||
v-if="showPlan"
|
||||
v-model="percent"
|
||||
:rate="percent"
|
||||
:clockwise="false"
|
||||
:text="percent+' %'"
|
||||
></van-circle>
|
||||
<span v-if="showPlan==false">
|
||||
<i v-if="flag" class="weui-icon-success weui-icon_msg"></i>
|
||||
<i v-if="!flag" class="weui-icon-warn weui-icon_msg"></i>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
<div class="weui-msg__text-area">
|
||||
<h2 class="weui-msg__title" v-if="showPlan">上传中...</h2>
|
||||
<h2 class="weui-msg__title" v-if="!showPlan&&flag">上传成功!</h2>
|
||||
<h2 class="weui-msg__title" v-if="!showPlan&&!flag">上传失败!</h2>
|
||||
<div v-html="msg"></div>
|
||||
</div>
|
||||
<div class="weui-msg__opr-area">
|
||||
<p class="weui-btn-area">
|
||||
<a v-if="!showPlan" @click="showMsg=false"
|
||||
:class="flag?'weui-btn weui-btn_primary':'weui-btn weui-btn_warn'">{{flag ? '确定' : '返回'}}</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-v" v-if="!showMsg">
|
||||
<div style="width: 100%;padding: 16px 0;">
|
||||
<h2 class="van-doc-demo-block__title" :style="'font-weight: bolder;color: '+boxData.hdcolor">
|
||||
基本信息</h2>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field
|
||||
@input="doInput"
|
||||
required
|
||||
v-model="formData.loginname"
|
||||
name="工资号"
|
||||
label="工资号"
|
||||
placeholder="工资号"
|
||||
:rules="[{ required: true, message: '请填写工资号' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
disabled
|
||||
v-model="formData.username"
|
||||
name="姓名"
|
||||
label="姓  名"
|
||||
:placeholder="getPlaceholder(formData,'username')"
|
||||
></van-field>
|
||||
<van-field
|
||||
disabled
|
||||
v-model="formData.unionname"
|
||||
name="所属工会"
|
||||
label="所属工会"
|
||||
:placeholder="getPlaceholder(formData,'unionname')"
|
||||
></van-field>
|
||||
<van-field
|
||||
required
|
||||
v-model="formData.mobile"
|
||||
name="znnl"
|
||||
label="手机号码" type="tel"
|
||||
placeholder="手机号码"
|
||||
:rules="[{ required: true, message: '请填写手机号码' }]"
|
||||
></van-field>
|
||||
</van-cell-group>
|
||||
<div style="width: 100%;padding: 16px 0;">
|
||||
<h2 class="van-doc-demo-block__title" :style="'font-weight: bolder;color: '+boxData.hdcolor">
|
||||
子女信息</h2>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field
|
||||
required
|
||||
v-model="formData.znxm"
|
||||
name="znxm"
|
||||
label="姓  名"
|
||||
placeholder="姓名" maxlength="30"
|
||||
:rules="[{ required: true, message: '请填写子女姓名' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
required
|
||||
v-model="formData.znnl"
|
||||
name="znnl"
|
||||
label="年  龄" type="digit"
|
||||
placeholder="年龄"
|
||||
:rules="[{ required: true, message: '请填写子女年龄' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
readonly
|
||||
clickable
|
||||
name="znxb"
|
||||
:value="formData.znxb"
|
||||
label="性  别"
|
||||
placeholder="点击选择"
|
||||
@click="znxbShowPicker = true"
|
||||
required
|
||||
:rules="[{ required: true, message: '请选择子女性别' }]"
|
||||
></van-field>
|
||||
<van-popup v-model="znxbShowPicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="['男','女']"
|
||||
@confirm="function(val){formData.znxb=val;znxbShowPicker=false}"
|
||||
@cancel="zngxShowPicker = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
<van-field
|
||||
readonly
|
||||
clickable
|
||||
name="zngx"
|
||||
:value="formData.zngx"
|
||||
label="子女关系"
|
||||
placeholder="点击选择"
|
||||
@click="zngxShowPicker = true"
|
||||
required
|
||||
:rules="[{ required: true, message: '请选择子女关系' }]"
|
||||
></van-field>
|
||||
<van-popup v-model="zngxShowPicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="zngxArr"
|
||||
@confirm="function(val){formData.zngx=val;zngxShowPicker=false}"
|
||||
@cancel="zngxShowPicker = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
</van-cell-group>
|
||||
</van-cell-group>
|
||||
<div style="width: 100%;padding: 16px 0;">
|
||||
<span class="van-doc-demo-block__title" :style="'font-weight: bolder;color: '+boxData.hdcolor">
|
||||
作品信息</span>
|
||||
<p class="van-doc-demo-block__title" style="margin-top: 5px;color: red">
|
||||
(如同时参加以下多个活动,或有多个主题,请分别提交)</p>
|
||||
|
||||
</div>
|
||||
<van-tabs v-model="formData.hdlb_i" :color="boxData.hdcolor" type="line">
|
||||
<van-tab v-for="lb,i in boxData.lbs" :name="i" :title="lb.lname">
|
||||
<div v-if="formData.hdlb_i==i">
|
||||
<van-field style="padding-top: 30px" maxlength="15"
|
||||
:rules="[{ required: true, message: '请填写作品主题' }]"
|
||||
v-model="fd[i].zpzt"
|
||||
required
|
||||
show-word-limit
|
||||
label="作品主题" placeholder="主题"></van-field>
|
||||
<van-field
|
||||
required
|
||||
readonly
|
||||
clickable
|
||||
name="picker"
|
||||
:value="fd[i].zplb_name"
|
||||
label="作品类别"
|
||||
placeholder="点击选择作品类别"
|
||||
@click="showPicker = true"
|
||||
:rules="[{ required: true, message: '请选择作品类别' }]"
|
||||
></van-field>
|
||||
<van-popup v-model="showPicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
value-key="zname"
|
||||
:columns="lb.zplbs"
|
||||
@confirm="function(val){fd[i].zplb=val.zid;fd[i].zplb_name=val.zname;showPicker=false}"
|
||||
@cancel="showPicker = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
<van-field type="textarea" show-word-limit maxlength="100" autosize
|
||||
v-model="fd[i].zpms"
|
||||
label="作品介绍"
|
||||
placeholder="介绍"></van-field>
|
||||
|
||||
<van-field label="图  片" disabled placeholder="(左滑删除单个文件)"
|
||||
style="border: none;"
|
||||
input-align="right"></van-field>
|
||||
<van-swipe-cell v-for="img,idx in fd[i].imgList"
|
||||
style="border: none;padding-top: 20px;">
|
||||
<van-row style="padding: 0 15px">
|
||||
<van-col :span="6">
|
||||
<van-image
|
||||
width="100%"
|
||||
height="25vw"
|
||||
fit="cover"
|
||||
:src="img.content"
|
||||
></van-image>
|
||||
</van-col>
|
||||
<van-col :span="18">
|
||||
<van-field style="width: 100%;height: 25vm;padding-right: 0;" autosize
|
||||
v-model="img.ms"
|
||||
type="textarea" rows="2"
|
||||
maxlength="50"
|
||||
:show-word-limit="!isNull(img.ms)"
|
||||
placeholder="请输入描述信息"></van-field>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
<van-button
|
||||
native-type="button"
|
||||
@click="fd[i].imgList.splice(idx,1)"
|
||||
slot="right"
|
||||
square
|
||||
text="删除"
|
||||
type="danger"
|
||||
class="delete-button"
|
||||
></van-button>
|
||||
</van-swipe-cell>
|
||||
<van-field>
|
||||
<template #input>
|
||||
<van-uploader multiple :preview-image="false" :before-read="beforeReadImg"
|
||||
accept="image/*"
|
||||
:max-count="5"
|
||||
v-model="fd[i].imgList">
|
||||
</van-uploader>
|
||||
</template>
|
||||
</van-field>
|
||||
<van-field label-width="150" label="音/视频、文档" disabled style="border: none;"
|
||||
input-align="right"></van-field>
|
||||
<van-swipe-cell v-for="video,idx in fd[i].videoList"
|
||||
style="border: none;padding-top: 20px;">
|
||||
<van-row style="padding: 0 15px">
|
||||
<van-col :span="6">
|
||||
<van-image
|
||||
width="100%"
|
||||
height="25vw"
|
||||
fit="cover"
|
||||
src="1"
|
||||
>
|
||||
<template v-slot:error>
|
||||
<i class="van-icon van-icon-description van-uploader__file-icon">
|
||||
<!----></i>
|
||||
<div class="van-uploader__file-name van-ellipsis">
|
||||
{{video.file.name}}
|
||||
</div>
|
||||
</template>
|
||||
</van-image>
|
||||
</van-col>
|
||||
<van-col :span="18">
|
||||
<van-field style="width: 100%;padding-right: 0;" autosize v-model="video.ms"
|
||||
type="textarea" rows="2"
|
||||
maxlength="50"
|
||||
:show-word-limit="!isNull(video.ms)"
|
||||
placeholder="请输入描述信息"></van-field>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
<van-button
|
||||
native-type="button"
|
||||
@click="fd[i].videoList.splice(idx,1)"
|
||||
slot="right"
|
||||
square
|
||||
text="删除"
|
||||
type="danger"
|
||||
class="delete-button"
|
||||
></van-button>
|
||||
</van-swipe-cell>
|
||||
<van-field>
|
||||
<template #input>
|
||||
<van-uploader :preview-image="false" result-type="file"
|
||||
@oversize="vue.$toast.fail('文件大小不能超过200M!')"
|
||||
:max-size="209715200"
|
||||
:before-read="beforeReadVideo" accept="*" :max-count="2"
|
||||
v-model="fd[i].videoList"></van-uploader>
|
||||
</template>
|
||||
</van-field>
|
||||
</div>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
<span style="padding-left: 15px;font-size: 12px;color: rgb(160,160,160)">(注意:图片最多5张,视频最大200M。)</span>
|
||||
<div style="margin: 16px;">
|
||||
<van-button round block :color="boxData.hdcolor" type="info"
|
||||
native-type="submit">
|
||||
提交
|
||||
</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<van-tabbar
|
||||
style="max-width: 600px;position: fixed;left: 0;bottom: 0;right: 0;margin: auto"
|
||||
v-model="active"
|
||||
:active-color="boxData.hdcolor"
|
||||
inactive-color="#000"
|
||||
>
|
||||
<van-tabbar-item icon="label-o">介绍</van-tabbar-item>
|
||||
<van-tabbar-item icon="edit">报名</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
<van-number-keyboard safe-area-inset-bottom/>
|
||||
</div>
|
||||
<script src="https://cdn.staticfile.org/js-cookie/2.2.1/js.cookie.min.js"></script>
|
||||
<script>
|
||||
|
||||
|
||||
var xhrOnProgress = function (fun) {
|
||||
xhrOnProgress.onprogress = fun; //绑定监听
|
||||
//使用闭包实现监听绑
|
||||
return function () {
|
||||
//通过$.ajaxSettings.xhr();获得XMLHttpRequest对象
|
||||
var xhr = $.ajaxSettings.xhr();
|
||||
//判断监听函数是否为函数
|
||||
if (typeof xhrOnProgress.onprogress !== 'function')
|
||||
return xhr;
|
||||
//如果有监听函数并且xhr对象支持绑定时就把监听函数绑定上去
|
||||
if (xhrOnProgress.onprogress && xhr.upload) {
|
||||
xhr.upload.onprogress = xhrOnProgress.onprogress;
|
||||
}
|
||||
return xhr;
|
||||
}
|
||||
}
|
||||
|
||||
function getSuffix(filename) {
|
||||
return /\.[^\.]+$/.exec(filename)
|
||||
}
|
||||
|
||||
var vue = new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
fd: [],
|
||||
boxData: {},
|
||||
zngxArr: ['父亲', '母亲', '第三代'],
|
||||
znxbShowPicker: false,
|
||||
zngxShowPicker: false,
|
||||
showPicker: false,
|
||||
showMsg: false,
|
||||
percent: 0,
|
||||
flag: true,
|
||||
showPlan: true,
|
||||
msg: '',
|
||||
hdzplx: '1',
|
||||
formData: {
|
||||
hdlb_i: 0,
|
||||
},
|
||||
formData2: {
|
||||
hdsbzpzt: '',
|
||||
hdsbzpms: '',
|
||||
imgList: [],
|
||||
videoList: [],
|
||||
},
|
||||
active: 0,
|
||||
isNull: function (val) {
|
||||
if (val == null || val == undefined || val == '') {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
},
|
||||
imgtype: ['gif', 'jpg', 'png', 'jpeg'],
|
||||
audiotype: ['mp3', 'wma', 'flac', 'wav', 'm4a', 'amr', 'au'],
|
||||
doctype: ['doc', 'docx', 'txt'],
|
||||
videotype: ['flv', 'swf', 'mkv', 'avi', 'rm', 'rmvb', 'wmv', 'mp4', 'mov', 'mpg', 'mpeg', 'quicktime'],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onConfirm: function (value) {
|
||||
this.formData.hdzplx2 = value.zname;
|
||||
this.showPicker = false;
|
||||
},
|
||||
getPlaceholder: function (formData, key) {
|
||||
if (vue.isNull(formData.userid)) {
|
||||
return "输入工资号后自动匹配"
|
||||
} else {
|
||||
if (vue.isNull(formData[key])) {
|
||||
return '暂无'
|
||||
}
|
||||
return formData[key]
|
||||
}
|
||||
},
|
||||
doInput: function (val) {
|
||||
vue.$set(vue.formData, 'username', undefined)
|
||||
vue.$set(vue.formData, 'unionname', undefined)
|
||||
vue.$set(vue.formData, 'userid', undefined)
|
||||
$.get("/platform/hd/wm/wmMobile/queryUserByLoginname", {loginname: val}, function (data) {
|
||||
if (data.code == 0) {
|
||||
if (!vue.isNull(data.data)) {
|
||||
vue.$set(vue.formData, 'userid', data.data.id)
|
||||
vue.$set(vue.formData, 'username', data.data.username)
|
||||
vue.$set(vue.formData, 'unionname', data.data.unionname)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
doSubmit: function () {
|
||||
if (vue.isNull(vue.formData.userid)) {
|
||||
vue.$toast.fail("请正确填写您的工资号!")
|
||||
return
|
||||
}
|
||||
if (vue.hdzplx == 1 && vue.formData.videoList.length == 0 && vue.formData.imgList.length == 0) {
|
||||
vue.$toast.fail("请您选择要上传的作品!")
|
||||
return
|
||||
} else if (vue.hdzplx == 2 && vue.formData2.videoList.length == 0 && vue.formData2.imgList.length == 0) {
|
||||
vue.$toast.fail("请您选择要上传的作品!")
|
||||
return
|
||||
}
|
||||
|
||||
var str = vue.hdzplx == 1 ? '巾帼担当篇' : '巾帼温馨篇'
|
||||
|
||||
vue.$dialog.confirm({
|
||||
title: '提醒',
|
||||
message: '您当前选择的是“' + str + '”,是否确认上传?上传后您将不能对已上传的作品进行更改'
|
||||
}).then(function (value) {
|
||||
|
||||
}).catch(function (reason) {
|
||||
|
||||
});
|
||||
},
|
||||
// 返回布尔值
|
||||
beforeReadImg: function (file) {
|
||||
return true;
|
||||
},
|
||||
// 返回布尔值
|
||||
beforeReadVideo: function (file, detail) {
|
||||
var suffix = getSuffix(file.name)
|
||||
if (suffix == null) {
|
||||
vue.$toast('获取不到后缀名!');
|
||||
return false;
|
||||
}
|
||||
// var type = suffix.toString().substring(suffix.lastIndexOf(".") + 2)
|
||||
// if (vue.videotype.indexOf(type) == -1 && vue.audiotype.indexOf(type) == -1 && vue.doctype.indexOf(type) == -1) {
|
||||
// vue.$toast('不支持的文件类型!');
|
||||
// return false;
|
||||
// }
|
||||
return true;
|
||||
},
|
||||
},
|
||||
created: function () {
|
||||
var self = this
|
||||
if (window.innerWidth > 800) {
|
||||
self.$notify({type: 'warning', message: '当前窗口宽度过大!部分区域显示会出现大小偏差'});
|
||||
}
|
||||
var wmhd_boxdata = localStorage.getItem("wmhd_boxdata")
|
||||
if (wmhd_boxdata != undefined && wmhd_boxdata != null) {
|
||||
this.boxData = JSON.parse(wmhd_boxdata)
|
||||
localStorage.removeItem("wmhd_boxdata")
|
||||
} else {
|
||||
this.boxData = {
|
||||
hdjs: '填写活动介绍',
|
||||
hdcjry: '填写活动参加人员',
|
||||
hdjlfs: '填写活动奖励方式',
|
||||
hdnr: '填写活动内容',
|
||||
hdlxr: '填写活动联系人',
|
||||
hdother: '其他内容',
|
||||
hdcolor: '#6A005F',
|
||||
fileList: [],
|
||||
lbs: [{lname: '活动类别1', zplbs: [{zname: '作品类别1'}, {zname: '作品类别2'}]}, {
|
||||
lname: '活动类别2',
|
||||
zplbs: [{zname: '作品类别1'}, {zname: '作品类别2'}]
|
||||
}]
|
||||
}
|
||||
}
|
||||
|
||||
this.boxData.lbs.forEach(function (lb, idx) {
|
||||
self.fd.push({
|
||||
zpzt: '',
|
||||
zpms: '',
|
||||
zplb: '',
|
||||
imgList: [],
|
||||
videoList: [],
|
||||
})
|
||||
})
|
||||
self.formData.hdlb_i = 0
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,858 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
|
||||
.tpa {
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
width: 12%;
|
||||
color: #a0a9b4;
|
||||
background-color: rgb(250, 250, 250);
|
||||
border: 1px solid rgb(220, 220, 220);
|
||||
}
|
||||
|
||||
.tpb {
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
color: #4f576b;
|
||||
width: 15%;
|
||||
border: 1px solid rgb(220, 220, 220);
|
||||
}
|
||||
|
||||
.filedialog .el-dialog__header i {
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
.filedialog .el-dialog__body {
|
||||
padding: 20px 0 0 0;
|
||||
}
|
||||
|
||||
/*video{
|
||||
width: 100%!important;
|
||||
height: 500px!important;
|
||||
outline:none;
|
||||
}*/
|
||||
.video-js {
|
||||
width: 100%;
|
||||
height: 450px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.vjs-tech, .video-js button {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#app .el-table th.gutter {
|
||||
display: table-cell !important
|
||||
}
|
||||
|
||||
.filedialog .el-dialog {
|
||||
min-height: 500px;
|
||||
}
|
||||
|
||||
|
||||
.video-js .vjs-big-play-button { /* 中间大的播放按钮 */
|
||||
font-size: 2.5em;
|
||||
line-height: 2.3em;
|
||||
height: 2.5em;
|
||||
width: 2.5em;
|
||||
-webkit-border-radius: 2.5em;
|
||||
-moz-border-radius: 2.5em;
|
||||
border-radius: 2.5em;
|
||||
background-color: rgba(115, 133, 159, .5);
|
||||
border-width: 0.12em;
|
||||
margin-top: -1.25em;
|
||||
margin-left: -1.75em;
|
||||
}
|
||||
|
||||
.video-js.vjs-paused .vjs-big-play-button { /* 视频暂停时显示播放按钮 */
|
||||
display: block;
|
||||
}
|
||||
|
||||
.video-js.vjs-error .vjs-big-play-button { /* 视频加载出错时隐藏播放按钮 */
|
||||
display: none;
|
||||
}
|
||||
|
||||
.vjs-loading-spinner { /* 加载圆圈 */
|
||||
font-size: 2.5em;
|
||||
width: 2em;
|
||||
height: 2em;
|
||||
border-radius: 1em;
|
||||
margin-top: -1em;
|
||||
margin-left: -1.5em;
|
||||
}
|
||||
|
||||
.el-image {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.el-divider__text {
|
||||
color: #abc5df;
|
||||
}
|
||||
|
||||
.el-divider {
|
||||
background-color: #e5edf6;
|
||||
}
|
||||
|
||||
.view-myvideo-tab {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background-color: #C0C4CC;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.video-toggle-i:hover .el-icon-video-camera-solid {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.video-toggle-i:hover .el-icon-video-play {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
|
||||
.view-myvideo-tab .el-icon-video-camera-solid, .view-myvideo-tab .el-icon-video-play, .view-myvideo-tab .el-icon-document {
|
||||
color: #000000;
|
||||
line-height: 80px;
|
||||
font-size: 40px;
|
||||
}
|
||||
|
||||
|
||||
.view-myvideo-tab .el-icon-download {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.el-icon-video-play {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ckdialogclass .el-dialog__body {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.el-icon-download {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.file-down-span {
|
||||
background: black;
|
||||
opacity: 0.5;
|
||||
z-index: 1000;
|
||||
width: 100px;
|
||||
text-align: center;
|
||||
/*position: absolute;*/
|
||||
position: relative;
|
||||
bottom: -100px;
|
||||
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.file-down-span:hover {
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.ckdialogclass .el-icon-circle-close {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.el-image-viewer__wrapper {
|
||||
z-index: 99999 !important;
|
||||
}
|
||||
|
||||
.el-col > .el-cascader, .el-col > .el-select, .el-col > .el-date-editor {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
<link rel="stylesheet" href="${base!}/assets/platform/plugins/video/css/video-js.min.css">
|
||||
<script src="${base!}/assets/platform/plugins/video/js/video.min.js"></script>
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<el-card shadow="never">
|
||||
<el-row>
|
||||
<el-row type="flex" :gutter="20">
|
||||
<el-col :span="6">
|
||||
<!-- <el-cascader placeholder="请选择活动主题"-->
|
||||
<!-- v-model="pageForm.hdids" :options="hdxxlist" @change="hdchange"-->
|
||||
<!-- clearable></el-cascader>-->
|
||||
<el-date-picker v-model="pageForm.year"
|
||||
placeholder="年度"
|
||||
type="year"
|
||||
@change="yearChange"
|
||||
value-format="yyyy"></el-date-picker>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="6">
|
||||
<el-select v-model="pageForm.hdid" @change="hdchange" clearable>
|
||||
<el-option v-for="i in hdxxlist"
|
||||
:key="i.value"
|
||||
:label="i.label"
|
||||
:value="i.value"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="6">
|
||||
<el-select v-model="pageForm.hdlb" placeholder="请选择活动类型" clearable @change="hdlbchange">
|
||||
<el-option v-for="o in hdlblist" :label="o.lname" :value="o.lid"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="6">
|
||||
<el-select v-model="pageForm.zplb" placeholder="请选择作品类型" clearable>
|
||||
<el-option v-for="o in hdzplblist" :label="o.zname" :value="o.zid"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row type="flex" :gutter="20" class="mt20">
|
||||
<el-col :span="6">
|
||||
<el-input placeholder="请输入内容" v-model="pageForm.searchKeyword"
|
||||
@keyup.enter.native="doSearch" clearable>
|
||||
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询类型"
|
||||
clearable
|
||||
style="width: 120px">
|
||||
<el-option label="教职工姓名" value="sbr.username"></el-option>
|
||||
<el-option label="工资号" value="sbr.loginname"></el-option>
|
||||
<el-option label="子女姓名" value="xx.znxm"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="6">
|
||||
<el-select v-if="hasSuperAdminOrXghRole" placeholder="所属工会" v-model="pageForm.union"
|
||||
style="width: 200px;"
|
||||
clearable="true"
|
||||
filterable="true" @change="unionChange">
|
||||
<el-option v-for="item in unions" :label="item.unionname" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="6">
|
||||
<el-select placeholder="所属单位" v-model="pageForm.unit" style="width: 200px;" clearable="true"
|
||||
filterable="true">
|
||||
<el-option v-for="item in units" :label="item.name" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="6">
|
||||
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-row>
|
||||
|
||||
</el-card>
|
||||
<el-card shadow="never" class="mt20">
|
||||
<el-table :data="tableData">
|
||||
<el-table-column label="序号" type="index" header-align="center" align="center" width="50">
|
||||
<template scope="scope">
|
||||
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="hdname" label="活动主题" header-align="center" align="center"
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="zpzt" label="作品主题" header-align="center" align="center"
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="znxm" label="子女姓名" header-align="center" align="center"
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="sbrname" label="教职工姓名" header-align="center" align="center"
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="zngx" label="与子女关系" header-align="center" align="center"
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="loginname" label="工资号" header-align="center" align="center"
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="ghname" label="分工会" header-align="center" align="center" sortable
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="dwname" label="单位" header-align="center" align="center" sortable
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="hdlbname" label="活动类别" header-align="center" align="center" sortable
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<!-- <el-table-column prop="zplbname" label="作品类别" header-align="center" align="center" sortable-->
|
||||
<!-- show-overflow-tooltip></el-table-column>-->
|
||||
<el-table-column prop="sbsj" label="上传时间" header-align="center" align="center" sortable
|
||||
show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="操作" header-align="center" align="center" width="100">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<el-dropdown @command="dropdownCommand">
|
||||
<el-button plain size="mini">
|
||||
<i class="ti-settings"></i>
|
||||
<span class="ti-angle-down"></span>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="{action:viewInfo,value:scope}">
|
||||
查看
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
:command="{action:dodelete,value:scope.row.id}">
|
||||
删除
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<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>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<!-- <template #view>
|
||||
<table style="width: 100%">
|
||||
<tr style="border: 1px solid rgb(220, 220, 220);">
|
||||
<td colspan="4"
|
||||
style="text-align: center;padding: 10px;background-color: #0e78c5;color: white;font-size: 18px;font-weight:500">
|
||||
作品信息
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">姓名</td>
|
||||
<td class="tpb">{{viewData.sbrname}}</td>
|
||||
<td class="tpa">工资号</td>
|
||||
<td class="tpb">{{viewData.loginname}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">单位</td>
|
||||
<td class="tpb">{{viewData.dwname}}</td>
|
||||
<td class="tpa">工会</td>
|
||||
<td class="tpb">{{viewData.ghname}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">子女姓名</td>
|
||||
<td class="tpb">{{viewData.znxm}}</td>
|
||||
<td class="tpa">子女年龄</td>
|
||||
<td class="tpb">{{viewData.znnl}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">子女性别</td>
|
||||
<td class="tpb">{{viewData.znxb}}</td>
|
||||
<td class="tpa">关系</td>
|
||||
<td class="tpb">{{viewData.zngx}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">活动类别</td>
|
||||
<td class="tpb">
|
||||
<span>{{viewData.hdlbname}}</span>
|
||||
</td>
|
||||
<td class="tpa">作品类别</td>
|
||||
<td class="tpb">
|
||||
<span>{{viewData.zplbname}}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">作品主题</td>
|
||||
<td class="tpb" colspan="3">{{viewData.zpzt}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">作品描述</td>
|
||||
<td class="tpb" colspan="3">{{viewData.zpms}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">作品信息</td>
|
||||
<td class="tpb" colspan="3">
|
||||
<el-row>
|
||||
<el-divider>照片 <i class="el-icon-picture-outline"></i></el-divider>
|
||||
<div style="text-align: left;" v-if="img2List.length>0">
|
||||
<div v-for="item in img2List"
|
||||
style="display: inline-block;width: 100px;margin-right:10px">
|
||||
<el-image lazy :z-index="999999999"
|
||||
style="width: 100px;height: 100px;"
|
||||
:src="item.url"
|
||||
:preview-src-list="prevImgList">
|
||||
</el-image>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-else style="text-align: center;color: #c2bbbb;font-size: 10px;">
|
||||
没有照片。
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-divider>视频 <i class="el-icon-video-camera"></i></el-divider>
|
||||
<div style="text-align: left;" v-if="videoList.length>0">
|
||||
<div v-for="item in videoList">
|
||||
<el-tooltip class="item" effect="dark" placement="right-start">
|
||||
<div slot="content">{{item.fjname}}</div>
|
||||
<div class="view-myvideo-tab">
|
||||
<div class="video-toggle-i"
|
||||
@click="playVideo('${AppFileDomain!}'+item.filepath)">
|
||||
<i class="el-icon-video-camera-solid"></i>
|
||||
<i class="el-icon-video-play"></i>
|
||||
</div>
|
||||
|
||||
<span class="file-down-span"
|
||||
style="bottom: 0;height: 20px;display: inline-block;"
|
||||
@click="dd3s.download(item.filepath,item.filename)">
|
||||
<i class="el-icon-download"></i>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-else style="text-align: center;color: #c2bbbb;font-size: 10px;">
|
||||
没有视频。
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-divider>音频 <i class="el-icon-video-camera"></i></el-divider>
|
||||
<div style="text-align: left;" v-if="audioList.length>0">
|
||||
<div v-for="item in audioList">
|
||||
<audio id="amusic" preload="auto" controls style="width: 100%;outline: none;">
|
||||
<source :src="'${AppFileDomain!}'+item.filepath"/>
|
||||
</audio>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else style="text-align: center;color: #c2bbbb;font-size: 10px;">
|
||||
没有音频。
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-divider>文档 <i class="el-icon-document-copy"></i></el-divider>
|
||||
<div style="text-align: left;" v-if="docList.length>0">
|
||||
<div v-for="item in docList">
|
||||
<el-tooltip class="item" effect="dark" placement="right-start">
|
||||
<div slot="content">{{item.fjname}}</div>
|
||||
<div class="view-myvideo-tab" style="background-color: #f6f6f6">
|
||||
<div class="video-toggle-i" @click="dd3s.preview(item.filepath,item.id)">
|
||||
<i class="el-icon-document"></i>
|
||||
</div>
|
||||
|
||||
<span class="file-down-span"
|
||||
style="bottom: 0;height: 20px;display: inline-block;"
|
||||
@click="dd3s.download(item.filepath,item.filename)">
|
||||
<i class="el-icon-download"></i>
|
||||
</span>
|
||||
</div>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else style="text-align: center;color: #c2bbbb;font-size: 10px;">
|
||||
没有文档。
|
||||
</div>
|
||||
</el-row>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</template>-->
|
||||
<template #view>
|
||||
|
||||
<el-form label-suffix=":" label-position="left" style="padding: 40px" label-width="110px">
|
||||
<el-form-item class="item-center"></el-form-item>
|
||||
|
||||
<el-row gutter="40">
|
||||
<vi-title title="基础信息"></vi-title>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="姓名">{{viewData.sbrname}}</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="工资号">{{viewData.loginname}}</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="单位">{{viewData.dwname}}</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="工会">{{viewData.ghname}}</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="子女性别">{{viewData.znxb}}</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="关系">{{viewData.zngx}}</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
|
||||
<el-row gutter="40">
|
||||
<vi-title title="作品信息"></vi-title>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="活动类别">{{viewData.hdlbname}}</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="作品类别">{{viewData.zplbname}}</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="作品主题">{{viewData.zpzt}}</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="作品描述">{{viewData.zpms}}</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row gutter="40">
|
||||
<vi-title title="照片"></vi-title>
|
||||
<div style="text-align: left;" v-if="img2List.length>0">
|
||||
<div v-for="item in img2List"
|
||||
style="display: inline-block;width: 100px;margin-right:10px">
|
||||
<el-image lazy :z-index="999999999"
|
||||
style="width: 100px;height: 100px;"
|
||||
:src="item.url"
|
||||
:preview-src-list="prevImgList">
|
||||
</el-image>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-else style="text-align: center;color: #c2bbbb;font-size: 10px;">
|
||||
没有照片。
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
<el-row gutter="40">
|
||||
<vi-title title="视频"></vi-title>
|
||||
<div style="text-align: left;" v-if="videoList.length>0">
|
||||
<div v-for="item in videoList">
|
||||
<el-tooltip class="item" effect="dark" placement="right-start">
|
||||
<div slot="content">{{item.fjname}}</div>
|
||||
<div class="view-myvideo-tab">
|
||||
<div class="video-toggle-i"
|
||||
@click="playVideo(item.url)">
|
||||
<i class="el-icon-video-camera-solid"></i>
|
||||
<i class="el-icon-video-play"></i>
|
||||
</div>
|
||||
|
||||
<span class="file-down-span"
|
||||
style="bottom: 0;height: 20px;display: inline-block;"
|
||||
@click="dd3s.download(item.filepath,item.filename)">
|
||||
<i class="el-icon-download"></i>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-else style="text-align: center;color: #c2bbbb;font-size: 10px;">
|
||||
没有视频。
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
|
||||
<el-row gutter="40">
|
||||
<vi-title title="音频"></vi-title>
|
||||
<div style="text-align: left;" v-if="audioList.length>0">
|
||||
<div v-for="item in audioList">
|
||||
<audio id="amusic" preload="auto" controls style="width: 100%;outline: none;">
|
||||
<!-- <source :src="https://cdn.moefe.org/music/mp3/thing.mp3" />-->
|
||||
<source :src="item.url"/>
|
||||
</audio>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else style="text-align: center;color: #c2bbbb;font-size: 10px;">
|
||||
没有音频。
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
|
||||
<el-row gutter="40">
|
||||
<vi-title title="文档"></vi-title>
|
||||
<div style="text-align: left;" v-if="docList.length>0">
|
||||
<div v-for="item in docList">
|
||||
<el-tooltip class="item" effect="dark" placement="right-start">
|
||||
<div slot="content">{{item.fjname}}</div>
|
||||
<div class="view-myvideo-tab" style="background-color: #f6f6f6">
|
||||
<div class="video-toggle-i" @click="dd3s.preview(item.filepath,item.id)">
|
||||
<i class="el-icon-document"></i>
|
||||
</div>
|
||||
|
||||
<span class="file-down-span"
|
||||
style="bottom: 0;height: 20px;display: inline-block;"
|
||||
@click="dd3s.download(item.filepath,item.filename)">
|
||||
<i class="el-icon-download"></i>
|
||||
</span>
|
||||
</div>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else style="text-align: center;color: #c2bbbb;font-size: 10px;">
|
||||
没有文档。
|
||||
</div>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</template>
|
||||
|
||||
</guava>
|
||||
|
||||
<el-dialog title="查看详情" :visible.sync="viewDialogVisible" style="z-index: 99" width="60%"
|
||||
:close-on-click-modal="false" class="ckdialogclass" top="1%">
|
||||
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog :visible.sync="fileDialogVisible" class="filedialog" @close="filedialogClose"
|
||||
:close-on-click-modal="false">
|
||||
<div id="videoContainer"></div>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
unions: [],
|
||||
units: [],
|
||||
|
||||
currenttime: moment().format('YYYY-MM-DD HH:MM:SS'),
|
||||
candelete: false,
|
||||
hasSuperAdminRole: "${@shiro.hasRole('sysadmin')}" === 'true' ? true : false,
|
||||
hasSuperAdminOrXghRole: "${@shiro.hasAnyRoles('sysadmin','A06')}" === 'true' ? true : false,
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
hdid: '',
|
||||
hdlb: '',
|
||||
zplb: '',
|
||||
searchName: 'sbr.username',
|
||||
searchKeyword: '',
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
},
|
||||
videoSrc: '',
|
||||
viewDialogVisible: false,
|
||||
fileDialogVisible: false,
|
||||
imgSrc: '',
|
||||
fileList: [],
|
||||
viewData: {},
|
||||
imgtype: ['gif', 'jpg', 'png', 'jpeg'],
|
||||
videotype: ['flv', 'swf', 'mkv', 'avi', 'rm', 'rmvb', 'wmv', 'mp4', 'mov', 'mpg', 'mpeg'],
|
||||
doctype: ['doc', 'docx'],
|
||||
audiotype: ['mp3', 'wma', 'flac', 'wav', 'm4a', 'amr', 'au'],
|
||||
prevImgList: [],
|
||||
img2List: [],
|
||||
videoList: [],
|
||||
docList: [],
|
||||
audioList: [],
|
||||
hdxxlist: [],
|
||||
hdlblist: [],
|
||||
hdzplblist: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
yearChange(val) {
|
||||
let activityList = []
|
||||
if (val === null) {
|
||||
this.yearActivityList.map(v => {
|
||||
activityList = activityList.concat(v.children)
|
||||
})
|
||||
} else {
|
||||
let enen = this.yearActivityList.filter(v => v.value == val)
|
||||
enen.map(v => {
|
||||
activityList = activityList.concat(v.children)
|
||||
})
|
||||
}
|
||||
|
||||
this.hdxxlist = activityList
|
||||
this.$set(this.pageForm, "hdid", null)
|
||||
this.$set(this.pageForm, "hdlb", null)
|
||||
this.$set(this.pageForm, "zplb", null)
|
||||
},
|
||||
dropdownCommand({action, value}) {
|
||||
if (action) action(value)
|
||||
},
|
||||
|
||||
async unionChange() {
|
||||
this.$set(this.pageForm, "unit", null)
|
||||
this.units = await getUnits(this.pageForm.union)
|
||||
},
|
||||
|
||||
pageData() {
|
||||
sublime.showLoadingbar();
|
||||
$.post('/platform/hd/childhd/zpxx/pageData', this.pageForm).then(res => {
|
||||
sublime.closeLoadingbar();
|
||||
if (res.code == 0) {
|
||||
this.tableData = res.data.list;
|
||||
this.pageForm.totalCount = res.data.totalCount;
|
||||
}
|
||||
});
|
||||
},
|
||||
pageSizeChange: function (val) {
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange: function (val) {
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
doSearch: function () {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
viewInfo(scope) {
|
||||
this.img2List = [];
|
||||
this.prevImgList = [];
|
||||
this.videoList = [];
|
||||
this.audioList = [];
|
||||
this.docList = [];
|
||||
this.viewData = scope.row;
|
||||
$.post(base + '/platform/hd/childhd/zpxx/findOneById', {id: scope.row.id}).then(data => {
|
||||
if (data.code == 0) {
|
||||
data.data.forEach(val => {
|
||||
val.fjname = val.filename
|
||||
val.fjurl = val.filepath
|
||||
val.url = FILE_DOMAIN+'/fileStreamPreview?id='+val.id
|
||||
let filetype = val.fjname.substring(val.fjname.lastIndexOf('.') + 1, val.fjname.length).toLowerCase();
|
||||
if (this.videotype.indexOf(filetype) > -1) {
|
||||
this.videoList.push(val);
|
||||
} else if (this.imgtype.indexOf(filetype) > -1) {
|
||||
this.prevImgList.push(FILE_DOMAIN+'/fileStreamPreview?id='+val.id)
|
||||
this.img2List.push(val);
|
||||
} else if (this.doctype.indexOf(filetype) > -1) {
|
||||
this.docList.push(val);
|
||||
} else if (this.audiotype.indexOf(filetype) > -1) {
|
||||
this.audioList.push(val);
|
||||
}
|
||||
});
|
||||
// this.viewDialogVisible = true
|
||||
this.$refs.guava.view()
|
||||
}
|
||||
});
|
||||
},
|
||||
playVideo(fjurl) {
|
||||
this.fileDialogVisible = true;
|
||||
this.videoShow = true;
|
||||
this.$nextTick(function () {
|
||||
let vc = document.getElementById('videoContainer');
|
||||
let newVideo = document.createElement("div");//创建一个标签
|
||||
newVideo.innerHTML = '<video id="my-video" class="video-js vjs-default-skin vjs-big-play-centered" controls preload="auto"></video>';
|
||||
vc.appendChild(newVideo);
|
||||
let option = {autoplay: false, language: 'zh-CN'};
|
||||
let myPlayer = videojs('my-video', option, function onPlayerReady() {
|
||||
let myPlayer = this;
|
||||
myPlayer.src({src: fjurl, type: "video/mp4"});
|
||||
/*videojs.log("播放器已经准备好了!");*/
|
||||
//this.play();
|
||||
});
|
||||
})
|
||||
},
|
||||
filedialogClose() {
|
||||
//关闭的时候需要销毁video 但是随之dom元素也会被删除!!!!
|
||||
this.imgShow = false;
|
||||
this.videoShow = false;
|
||||
videojs('my-video').dispose();
|
||||
},
|
||||
downLoad: function (item) {
|
||||
window.open('/platform/hd/wmhd/download?filepath=' + item.fjurl + '&filename=' + item.fjname + "&username=" + this.ckusername);
|
||||
},
|
||||
YlDoc: function (item) {
|
||||
var self = this;
|
||||
window.open('/platform/hd/wmhd/YlDoc?fjurl=' + item.fjurl);
|
||||
},
|
||||
exportExcel() {
|
||||
let hdid = this.pageForm.hdid;
|
||||
if (hdid === '') {
|
||||
this.$message.warning('请先选择活动主题');
|
||||
return;
|
||||
}
|
||||
let hdarr = this.hdxxlist.filter(o => {
|
||||
return o.hdid == hdid;
|
||||
});
|
||||
let hdname = hdarr[0].hdname;
|
||||
window.open('/platform/hd/childhd/zpxx/exportExcel?hdid=' + hdid + '&hdname=' + hdname);
|
||||
},
|
||||
initHdxxlist() {
|
||||
$.post(base + '/platform/hd/childhd/zpxx/initHdxxlist').then(data => {
|
||||
if (data.code == 0) {
|
||||
this.yearActivityList = data.data
|
||||
let activityList = []
|
||||
data.data.map(v => {
|
||||
activityList = activityList.concat(v.children)
|
||||
})
|
||||
this.hdxxlist = activityList
|
||||
}
|
||||
});
|
||||
},
|
||||
hdchange(v) {
|
||||
this.$set(this.pageForm, 'hdlb', '');
|
||||
this.$set(this.pageForm, 'zplb', '');
|
||||
$.post('/platform/hd/childhd/zpxx/gethdlblist', {id: v}).then(data => {
|
||||
if (data.code == 0) {
|
||||
this.hdlblist = data.data;
|
||||
}
|
||||
});
|
||||
},
|
||||
hdlbchange(id) {
|
||||
this.$set(this.pageForm, 'zplb', '');
|
||||
$.post('/platform/hd/childhd/zpxx/gethdzplblist', {id: id}).then(data => {
|
||||
if (data.code == 0) {
|
||||
this.hdzplblist = data.data;
|
||||
}
|
||||
});
|
||||
},
|
||||
yearChange(val) {
|
||||
let activityList = []
|
||||
if (val === null) {
|
||||
this.yearActivityList.map(v => {
|
||||
activityList = activityList.concat(v.children)
|
||||
})
|
||||
} else {
|
||||
let enen = this.yearActivityList.filter(v => v.value == val)
|
||||
enen.map(v => {
|
||||
activityList = activityList.concat(v.children)
|
||||
})
|
||||
}
|
||||
|
||||
this.hdxxlist = activityList
|
||||
this.$set(this.pageForm, "hdid", null)
|
||||
this.$set(this.pageForm, "hdlb", null)
|
||||
this.$set(this.pageForm, "zplb", null)
|
||||
},
|
||||
dodelete(id) {
|
||||
|
||||
this.$confirm('此操作将永久删除该记录, 确定吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
$.post('/platform/hd/childhd/zpxx/dodelete', {id: id}).then(data => {
|
||||
if (data.code == 0) {
|
||||
this.doSearch();
|
||||
this.$message.success(data.msg);
|
||||
}
|
||||
});
|
||||
}).catch(() => {
|
||||
|
||||
});
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'pageForm.hdid'(val) {
|
||||
this.$set(this.pageForm, "hdlb", null)
|
||||
this.$set(this.pageForm, "zplb", null)
|
||||
},
|
||||
'pageForm.hdlb'(val) {
|
||||
this.$set(this.pageForm, "zplb", null)
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.initHdxxlist();
|
||||
this.pageData();
|
||||
if (this.hasSuperAdminRole) {
|
||||
this.candelete = true;
|
||||
}
|
||||
|
||||
this.unions = await getUnions()
|
||||
this.units = await getUnits()
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,883 @@
|
||||
<!--分会活动信息管理 djx 2019-07-08-->
|
||||
<!--#
|
||||
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 {
|
||||
|
||||
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-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;
|
||||
}
|
||||
|
||||
#query .el-card__body {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.el-card__body {
|
||||
padding: 10px 20px 0px;
|
||||
}
|
||||
|
||||
.bmqk .el-card__body {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
#first .el-card__body {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.el-table-container {
|
||||
padding-top: 0px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.v-0x2323544 {
|
||||
text-align: center;
|
||||
color: rgb(180, 180, 180);
|
||||
}
|
||||
|
||||
.v-0x345756765 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.v-0x2392939 {
|
||||
|
||||
}
|
||||
|
||||
</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">
|
||||
<span>基础查询:</span>
|
||||
<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" v-if="curr == '1'">
|
||||
<el-select placeholder="请选择院级工会" v-model="pageForm.unionid" style="width: 180px;" clearable="true"
|
||||
filterable="true">
|
||||
<el-option v-for="item in unionOptions" :label="item.unionname"
|
||||
:value="item.id"></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>
|
||||
|
||||
<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 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="160" :show-overflow-tooltip="true" header-align="center"
|
||||
label="分会活动名称" prop="fhdmc"></el-table-column>
|
||||
<el-table-column align="center" width="160" :show-overflow-tooltip="true" header-align="center"
|
||||
label="院级工会" prop="unionname"></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="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.zt}}</el-tag>
|
||||
<el-tag type="warning" v-if="scope.row.zt=='报名中'">{{scope.row.zt}}</el-tag>
|
||||
<el-tag type="parimay" v-if="scope.row.zt=='报名结束'">{{scope.row.zt}}</el-tag>
|
||||
<el-tag type="success" v-if="scope.row.zt=='活动进行中'">{{scope.row.zt}}</el-tag>
|
||||
<el-tag type="danger" v-if="scope.row.zt=='活动结束'">{{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"
|
||||
width="80px"></el-table-column>
|
||||
<el-table-column align="center" label="操作" width="240px">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" @click="exporthdhymd(scope.row.id)">导出</el-button>
|
||||
<el-button @click="openInfo(scope)" 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>
|
||||
</el-row>
|
||||
</div>
|
||||
</transition>
|
||||
<transition name="el-zoom-in-center">
|
||||
<div style="padding: 10px" 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" style="width: 100%">
|
||||
<tr style="border: 1px solid rgb(220,220,220);" class="text-center">
|
||||
<td colspan="6" style="font-size: 20px;background-color: #f5f5f5">{{viewData.fhdmc}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">活动类型</td>
|
||||
<td class="v-0x2323544" >{{viewData.hdlx}}</td>
|
||||
<td class="v-0x345756765">活动项目</td>
|
||||
<td class="v-0x2323544" >{{viewData.hdxm}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">活动地点</td>
|
||||
<td class="v-0x2323544" >{{viewData.hddz}}</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.jfys}}</td>
|
||||
<td class="v-0x345756765">是否推送日历</td>
|
||||
<td class="v-0x2323544" >
|
||||
<div v-if="viewData.sfrl==1">是</div>
|
||||
<div v-else>否</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">主办院级工会</td>
|
||||
<td class="v-0x2323544" >{{viewData.unionname}}</td>
|
||||
<td class="v-0x345756765">人数限制</td>
|
||||
<td class="v-0x2323544" >{{viewData.hdrs}}</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>
|
||||
</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>
|
||||
</tr>
|
||||
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="text-center"
|
||||
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
|
||||
colspan="6">报名办法
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div class="v-0x2392939 v-0x2323544" v-html="viewData.bmbf"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="text-center"
|
||||
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
|
||||
colspan="6">活动内容
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div class="v-0x2392939 v-0x2323544" v-html="viewData.hdnr"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="text-center"
|
||||
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
|
||||
colspan="6">奖励办法
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div class="v-0x2392939 v-0x2323544" v-html="viewData.jlbf"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="text-center"
|
||||
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
|
||||
colspan="6">其他注意事项
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div class="v-0x2392939 v-0x2323544" v-html="viewData.zysx"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="活动报名情况" name="2">
|
||||
<el-table :data="bmTableData" size="small" border
|
||||
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<el-table-column label="序号" type="index" index="1" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="职工号" prop="loginname" 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="mobile" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="所属单位" prop="name" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="院级工会" prop="unionname" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
|
||||
</transition>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
let E = window.wangEditor
|
||||
let bmEditor = null
|
||||
let nrEditor = null
|
||||
let jlEditor = null
|
||||
let zysxEditor = null
|
||||
let editbmEditor = null
|
||||
let editnrEditor = null
|
||||
let editjlEditor = null
|
||||
let editzysxEditor = null
|
||||
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
/*列表*/
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword: "",
|
||||
hdlx: "",
|
||||
hdxm: "",
|
||||
zt: "",
|
||||
unionid: "",
|
||||
},
|
||||
queryHdlx: [],
|
||||
queryHdxm: [],
|
||||
loading: true,
|
||||
|
||||
/*新增*/
|
||||
addDialogVisible: false,
|
||||
formData: {
|
||||
hdxmid: "",
|
||||
fhdmc: "",
|
||||
},
|
||||
hdlxOptions: [],//活动类型
|
||||
hdxmOptions: [],//活动项目
|
||||
unionOptions: [],
|
||||
addBm: [],
|
||||
addHd: [],
|
||||
hdjhOptions: [],
|
||||
fzrOptions: [],
|
||||
|
||||
/*编辑*/
|
||||
editDialogVisible: false,
|
||||
editFormData: {
|
||||
hdlxid: "",
|
||||
hdxmid: "",
|
||||
},
|
||||
editFormRules: {},
|
||||
editBm: [],
|
||||
editHd: [],
|
||||
editHdjhOptions: [],
|
||||
disabled: false,
|
||||
|
||||
/*查看*/
|
||||
infoDialogVisible: false,
|
||||
activeName: '1',
|
||||
viewData: [],
|
||||
bmTableData: [],
|
||||
bmfs: "",
|
||||
|
||||
editFlag: [],
|
||||
unionidFlag: "",
|
||||
curr: "",
|
||||
xqactive: "1",
|
||||
isshow: true,
|
||||
formRules: {
|
||||
fhdmc: [{required: true, message: '请填写活动名称', trigger: ['blur', 'change']}],
|
||||
hddz: [{required: true, message: '请填写活动地址', trigger: ['blur', 'change']}],
|
||||
jfys: [{required: true, message: '请选择活动经费预算', trigger: ['blur', 'change']}],
|
||||
unionid: [{required: true, message: '请选择院级工会', trigger: ['blur', 'change']}],
|
||||
addBm: [{required: true, message: '请填写报名日期', trigger: ['blur', 'change']}],
|
||||
addHd: [{required: true, message: '请填写活动日期', trigger: ['blur', 'change']}],
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
pageData: function () {
|
||||
|
||||
var self = this;
|
||||
sublime.showLoadingbar();//显示loading
|
||||
$.post(base + "/platform/hd/fhdgl/fhdxxgl/data", self.pageForm).then(data => {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.hds.list;
|
||||
self.pageForm.totalCount = data.data.hds.totalCount;
|
||||
self.hdlxOptions = data.data.hdlx;
|
||||
self.queryHdlx = data.data.hdlx;
|
||||
self.unionOptions = data.data.unions;
|
||||
self.hdjhOptions = data.data.hdjh;
|
||||
self.pageForm.zt = "";
|
||||
if (data.data.flag != null && data.data.flag != "") {
|
||||
self.unionidFlag = data.data.flag;
|
||||
}
|
||||
self.curr = data.data.curr;
|
||||
self.loading = false;
|
||||
} else {
|
||||
self.loading = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/*分页*/
|
||||
pageSizeChange: function (val) {
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange: function (val) {
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
doSearch: function () {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
/*新增*/
|
||||
openAdd: function () {
|
||||
|
||||
var self = this;
|
||||
self.fzrOptions = [];
|
||||
self.formData = {
|
||||
hdlxid: "",
|
||||
hdxmid: "",
|
||||
fhdmc: "",
|
||||
unionid: self.unionidFlag,
|
||||
qx: []
|
||||
};
|
||||
|
||||
self.addDialogVisible = 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()
|
||||
nrEditor = new wangEditor("#nrEditor")
|
||||
nrEditor.create()
|
||||
});
|
||||
|
||||
},
|
||||
doAdd: 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 < self.formData.bmkssj || self.formData.hdkssj < self.formData.bmjssj) {
|
||||
self.$alert("活动开始日期需在活动报名截止之后!", "温馨提示", {
|
||||
type: 'warning',
|
||||
closeOnPressEscape: true,
|
||||
closeOnClickModal: true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
self.formData.bmbf = bmEditor.txt.text();
|
||||
self.formData.hdnr = nrEditor.txt.text();
|
||||
self.formData.jlbf = jlEditor.txt.text();
|
||||
self.formData.zysx = zysxEditor.txt.text();
|
||||
self.formData.qx = self.formData.qx.toString();
|
||||
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/fhdgl/fhdxxgl/addDo", self.formData, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.addDialogVisible = false;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
loading.close()
|
||||
}, "json");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/*编辑*/
|
||||
openEdit: function (scope) {
|
||||
|
||||
var self = this;
|
||||
|
||||
self.editBm = [];
|
||||
self.editHd = [];
|
||||
self.editFlag = [];
|
||||
self.editHdjhOptions = [];
|
||||
if (moment().format("YYYY-MM-DD HH:mm:ss") >= scope.row.hdkssj) {
|
||||
self.disabled = true;
|
||||
} else {
|
||||
self.disabled = false;
|
||||
}
|
||||
$.post(base + "/platform/hd/fhdgl/fhdxxgl/findHd", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.editDialogVisible = true;
|
||||
|
||||
|
||||
self.$nextTick(function () {
|
||||
//实例化编辑器
|
||||
editbmEditor = new wangEditor("#editbmEditor")
|
||||
editbmEditor.create()
|
||||
editnrEditor = new wangEditor("#editnrEditor")
|
||||
editnrEditor.create()
|
||||
editjlEditor = new wangEditor("#editjlEditor")
|
||||
editjlEditor.create()
|
||||
editzysxEditor = new wangEditor("#editzysxEditor")
|
||||
editzysxEditor.create()
|
||||
|
||||
|
||||
if (data.data.fhd.bmbf != "" && data.data.fhd.bmbf != null) {
|
||||
editbmEditor.txt.html(data.data.fhd.bmbf);
|
||||
}
|
||||
|
||||
|
||||
if (data.data.fhd.hdnr != "" && data.data.fhd.hdnr != null) {
|
||||
editnrEditor.txt.html(data.data.fhd.hdnr);
|
||||
}
|
||||
|
||||
|
||||
if (data.data.fhd.jlbf != "" && data.data.fhd.jlbf != null) {
|
||||
editjlEditor.txt.html(data.data.fhd.jlbf);
|
||||
}
|
||||
|
||||
|
||||
if (data.data.fhd.zysx != "" && data.data.fhd.zysx != null) {
|
||||
editzysxEditor.txt.html(data.data.fhd.zysx);
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
self.hdxmOptions = data.data.hdxm;
|
||||
self.editFormData = data.data.fhd;
|
||||
if (data.data.fhd.qx != null && data.data.fhd.qx != undefined) {
|
||||
self.editFormData.qx = self.editFormData.qx.split(",")
|
||||
} else {
|
||||
self.editFormData.qx = [];
|
||||
}
|
||||
self.fzrOptions = [{id: data.data.fhd.fzr, display: data.data.fhd.display}];
|
||||
if (data.data.hdjh.length > 0) {
|
||||
self.editHdjhOptions = data.data.hdjh;
|
||||
}
|
||||
self.editHdjhOptions.push({
|
||||
id: data.data.fhd.jhid,
|
||||
jhmc: data.data.fhd.jhmc,
|
||||
hdlxid: data.data.fhd.hdlxid,
|
||||
hdxmid: data.data.fhd.hdxmid
|
||||
});
|
||||
|
||||
if (data.data.fhd.bmkssj != "" && data.data.fhd.bmkssj != null) {
|
||||
self.editBm.push(data.data.fhd.bmkssj);
|
||||
}
|
||||
if (data.data.fhd.bmjssj != "" && data.data.fhd.bmjssj != null) {
|
||||
self.editBm.push(data.data.fhd.bmjssj);
|
||||
}
|
||||
if (data.data.fhd.hdkssj != "" && data.data.fhd.hdkssj != null) {
|
||||
self.editHd.push(data.data.fhd.hdkssj);
|
||||
}
|
||||
if (data.data.fhd.hdjssj != "" && data.data.fhd.hdjssj != null) {
|
||||
self.editHd.push(data.data.fhd.hdjssj);
|
||||
}
|
||||
|
||||
self.editFlag.push(data.data.fhd.fhdmc);
|
||||
self.editFlag.push(data.data.fhd.hdlxid);
|
||||
self.editFlag.push(data.data.fhd.hdxmid);
|
||||
}
|
||||
}, "json");
|
||||
|
||||
},
|
||||
doEdit: function () {
|
||||
|
||||
var self = this;
|
||||
if (self.editBm) {
|
||||
self.editFormData.bmkssj = self.editBm[0];
|
||||
self.editFormData.bmjssj = self.editBm[1];
|
||||
}
|
||||
if (self.editHd) {
|
||||
self.editFormData.hdkssj = self.editHd[0];
|
||||
self.editFormData.hdjssj = self.editHd[1];
|
||||
}
|
||||
self.editFormData.bmbf = editbmEditor.txt.html();
|
||||
self.editFormData.hdnr = editnrEditor.txt.html();
|
||||
self.editFormData.jlbf = editjlEditor.txt.html();
|
||||
self.editFormData.zysx = editzysxEditor.txt.html();
|
||||
self.editFormData.qx = self.editFormData.qx.toString();
|
||||
self.$refs["editForm"].validate(function (valid) {
|
||||
if (valid) {
|
||||
|
||||
$.post(base + "/platform/hd/fhdgl/fhdxxgl/editDo", self.editFormData, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.editDialogVisible = false;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
selChange: function (obj) {
|
||||
var self = this;
|
||||
if (obj == "" || obj == null) {
|
||||
self.formData.fhdmc = "";
|
||||
self.formData.hdlxid = "";
|
||||
self.formData.hdxmid = "";
|
||||
} else {
|
||||
for (var i = 0; i < self.hdjhOptions.length; i++) {
|
||||
if (obj == self.hdjhOptions[i].id) {
|
||||
self.formData.fhdmc = self.hdjhOptions[i].jhmc;
|
||||
if (self.hdjhOptions[i].hdlxid != null && self.hdjhOptions[i].hdlxid != "") {
|
||||
self.formData.hdlxid = self.hdjhOptions[i].hdlxid;
|
||||
}
|
||||
if (self.hdjhOptions[i].hdxmid != null && self.hdjhOptions[i].hdxmid != "") {
|
||||
setTimeout(function () {
|
||||
self.formData.hdxmid = self.hdjhOptions[i].hdxmid;
|
||||
}, 80)
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
editSelChange: function (obj) {
|
||||
var self = this;
|
||||
if (obj == "" || obj == null) {
|
||||
self.editFormData.fhdmc = self.editFlag[0];
|
||||
self.editFormData.hdlxid = self.editFlag[1];
|
||||
self.editFormData.hdxmid = self.editFlag[2];
|
||||
} else {
|
||||
for (var i = 0; i < self.editHdjhOptions.length; i++) {
|
||||
if (obj == self.editHdjhOptions[i].id) {
|
||||
self.editFormData.fhdmc = self.editHdjhOptions[i].jhmc;
|
||||
if (self.editHdjhOptions[i].hdlxid != null && self.editHdjhOptions[i].hdlxid != "") {
|
||||
self.editFormData.hdlxid = self.editHdjhOptions[i].hdlxid;
|
||||
}
|
||||
if (self.editHdjhOptions[i].hdxmid != null && self.editHdjhOptions[i].hdxmid != "") {
|
||||
setTimeout(function () {
|
||||
self.editFormData.hdxmid = self.editHdjhOptions[i].hdxmid;
|
||||
}, 80)
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
remoteMethod: function (obj) {
|
||||
var self = this;
|
||||
$.post(base + "/platform/hd/fhdgl/fhdxxgl/findFzr", {obj: obj}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.fzrOptions = data.data;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
selFzrChange: function (obj) {
|
||||
var self = this;
|
||||
for (var i = 0; i < self.fzrOptions.length; i++) {
|
||||
if (self.fzrOptions[i].id == obj) {
|
||||
vue.$set(self.formData, 'phone', self.fzrOptions[i].mobile)
|
||||
return;
|
||||
}
|
||||
}
|
||||
},
|
||||
editSelFzrChange: function (obj) {
|
||||
var self = this;
|
||||
for (var i = 0; i < self.fzrOptions.length; i++) {
|
||||
if (self.fzrOptions[i].id == obj) {
|
||||
vue.$set(self.editFormData, 'phone', self.fzrOptions[i].mobile)
|
||||
return;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/*查看*/
|
||||
openInfo: function (scope) {
|
||||
|
||||
var self = this;
|
||||
$.post(base + "/platform/hd/fhdgl/fhdxxgl/findById", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.viewData = data.data.fhd;
|
||||
self.bmTableData = data.data.cyry;
|
||||
self.isshow = false;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*删除*/
|
||||
deleteDo: function (scope) {
|
||||
|
||||
var self = this;
|
||||
|
||||
if (scope.row.hdkssj <= moment().format("YYYY-MM-DD")) {
|
||||
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/fhdgl/fhdxxgl/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");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
exporthdhymd(id) {
|
||||
window.location.href = '/platform/hd/fhdgl/fhdxxgl/exporthdhymd?id=' + id
|
||||
}
|
||||
},
|
||||
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;
|
||||
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": function (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;
|
||||
self.pageForm.hdxm = data.data[0].id;
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,628 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="${lang,escape}">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1">
|
||||
<meta name="description" content="${AppName!}">
|
||||
<title>${AppName!}</title>
|
||||
<meta charset="UTF-8">
|
||||
<!-- import CSS -->
|
||||
<link rel="stylesheet" href="/assets/platform/plugins/bootstrap/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="/assets/platform/plugins/element-ui/lib/theme-chalk/index.css">
|
||||
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
|
||||
<link rel="stylesheet" href="/assets/platform/fonts/themify-icons.css">
|
||||
<link rel="stylesheet" href="/assets/platform/fonts/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/common.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/main.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/elmain.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/panel.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/dialogview.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/pic.css">
|
||||
<!-- import Vue before Element -->
|
||||
<script src="/assets/platform/plugins/vue/vue.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
|
||||
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/assets/platform/plugins/viewer/viewer.min.css">
|
||||
|
||||
<!-- import JavaScript -->
|
||||
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
|
||||
<!--<script src="/assets/platform/plugins/element-ui/lib/index.js"></script>-->
|
||||
<script src="/assets/platform/plugins/jquery/jquery-1.11.1.min.js"></script>
|
||||
<script src="/assets/platform/plugins/slimscroll/jquery.slimscroll.min.js"></script>
|
||||
<!-- pjax是异步加载html片段的工具,模拟前端路由机制 -->
|
||||
<script src="/assets/platform/plugins/pjax/jquery.pjax.js"></script>
|
||||
<script src="/assets/platform/plugins/bootstrap/js/bootstrap.js"></script>
|
||||
<!-- Array数组增加findIndex等方法,TreeTable用得到,兼容IE8 -->
|
||||
<script src="/assets/platform/plugins/polyfill/polyfill.js"></script>
|
||||
<!--FlexPaper预览插件-->
|
||||
<script src="/assets/platform/plugins/flexPaper/flexpaper_flash.js"></script>
|
||||
<script src="/assets/platform/plugins/flexPaper/flexpaper_flash_debug.js"></script>
|
||||
<!-- 时间日期处理工具类 -->
|
||||
<script src="/assets/platform/plugins/moment/moment.min.js"></script>
|
||||
<!-- 浏览器通知 -->
|
||||
<script src="/assets/platform/plugins/push/push.min.js"></script>
|
||||
<script src="/assets/platform/js/main.js"></script>
|
||||
<script src="/assets/platform/js/offscreen.js"></script>
|
||||
|
||||
|
||||
<!--editor-->
|
||||
<script src="https://s1.bdstatic.com/r/www/cache/ecom/etpl/3-2-0/etpl.js"></script>
|
||||
<link href="/assets/platform/plugins/umeditor/themes/default/css/umeditor.css" type="text/css"
|
||||
rel="stylesheet">
|
||||
<script type="text/javascript" charset="utf-8"
|
||||
src="/assets/platform/plugins/umeditor/umeditor.config.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="/assets/platform/plugins/umeditor/umeditor.js"></script>
|
||||
<script type="text/javascript" src="/assets/platform/plugins/umeditor/lang/zh-cn/zh-cn.js"></script>
|
||||
|
||||
<link rel="stylesheet" href="/assets/platform/plugins/myframe/css/myframe.css">
|
||||
<!--viewer-->
|
||||
<script src="/assets/platform/plugins/viewer/viewer.min.js"></script>
|
||||
<script src="/assets/platform/plugins/viewer/jquery-viewer.min.js"></script>
|
||||
|
||||
</head>
|
||||
<body style="background-color: white">
|
||||
<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;
|
||||
}
|
||||
|
||||
.bmqk .el-card__body {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.v-modal{
|
||||
background-color: transparent;
|
||||
}
|
||||
.navbar{
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.el-table-container{
|
||||
padding-top: 0px;
|
||||
}
|
||||
|
||||
|
||||
.v-0x2323544 {
|
||||
text-align: center;
|
||||
color: rgb(180, 180, 180);
|
||||
}
|
||||
|
||||
.v-0x345756765 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.v-0x2392939 {
|
||||
|
||||
}
|
||||
|
||||
</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" >
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input style="width:180px;" placeholder="可按活动名称查询" v-model="pageForm.searchKeyword" clearable></el-input>
|
||||
<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>
|
||||
<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>
|
||||
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
<!--表格-->
|
||||
<el-row class="el-table-container">
|
||||
<el-table :data="tableData" size="small">
|
||||
<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="160" :show-overflow-tooltip="true" header-align="center"
|
||||
label="院工会活动名称" prop="fhdmc"></el-table-column>
|
||||
<el-table-column align="center" width="160" :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" width="200" header-align="center" label="基层工会"-->
|
||||
<!-- prop="unionname"></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="bmrs"
|
||||
width="80px"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="活动人数" prop="hdrs"
|
||||
width="68px"></el-table-column>
|
||||
<el-table-column align="center" label="操作" width="180px">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
|
||||
<el-button type="primary" @click="bmhd(scope)" size="mini" v-if="scope.row.sfbm=='0'">报名</el-button>
|
||||
<el-button type="danger" @click="qxbm(scope)" size="mini" v-if="scope.row.sfbm>'0'">取消报名
|
||||
</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: 10px" 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" style="width: 100%">
|
||||
<tr style="border: 1px solid rgb(220,220,220);" class="text-center">
|
||||
<td colspan="6" style="font-size: 20px;background-color: #f5f5f5">{{viewData.fhdmc}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">活动类型</td>
|
||||
<td class="v-0x2323544" >{{viewData.hdlx}}</td>
|
||||
<td class="v-0x345756765">活动项目</td>
|
||||
<td class="v-0x2323544" >{{viewData.hdxm}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">活动地点</td>
|
||||
<td class="v-0x2323544" >{{viewData.hddz}}</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.jfys}}</td>
|
||||
<td class="v-0x345756765">是否推送日历</td>
|
||||
<td class="v-0x2323544" >
|
||||
<div v-if="viewData.sfrl==1">是</div>
|
||||
<div v-else>否</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">主办院级工会</td>
|
||||
<td class="v-0x2323544" >{{viewData.unionname}}</td>
|
||||
<td class="v-0x345756765">人数限制</td>
|
||||
<td class="v-0x2323544" >{{viewData.hdrs}}</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>
|
||||
</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>
|
||||
</tr>
|
||||
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="text-center"
|
||||
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
|
||||
colspan="6">报名办法
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div class="v-0x2392939 v-0x2323544" v-html="viewData.bmbf"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="text-center"
|
||||
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
|
||||
colspan="6">活动内容
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div class="v-0x2392939 v-0x2323544" v-html="viewData.hdnr"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="text-center"
|
||||
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
|
||||
colspan="6">奖励办法
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div class="v-0x2392939 v-0x2323544" v-html="viewData.jlbf"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="text-center"
|
||||
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
|
||||
colspan="6">其他注意事项
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div class="v-0x2392939 v-0x2323544" v-html="viewData.zysx"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="活动报名情况" name="2">
|
||||
<el-table :data="bmTableData" size="small" border
|
||||
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<el-table-column label="序号" type="index" index="1" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="职工号" prop="loginname" 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="mobile" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="所属单位" prop="name" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="院级工会" prop="unionname" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
|
||||
</transition>
|
||||
|
||||
<!--查看-->
|
||||
<el-dialog title="查看" class="dia"
|
||||
:visible.sync="infoDialogVisible" custom-class="ViewDialogClass" width="70%" top="3%">
|
||||
|
||||
<el-collapse v-model="activeName" accordion>
|
||||
<el-collapse-item title="活动详细信息" name="1">
|
||||
<el-card>
|
||||
<table style="width: 100%">
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6" style="font-size: 18px;">{{viewData.fhdmc}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">活动类型</td>
|
||||
<td class="tpb">{{viewData.hdlx}}</td>
|
||||
<td class="tpa">活动项目</td>
|
||||
<td class="tpb">{{viewData.hdxm}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">活动地点</td>
|
||||
<td class="tpb">{{viewData.hddz}}</td>
|
||||
<td class="tpa">活动年份</td>
|
||||
<td class="tpb">{{viewData.hdnf}}</td>
|
||||
<!--<td class="tpa" >活动经费预算</td>
|
||||
<td class="tpb">{{viewData.jfys}}</td>-->
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">主办基层工会</td>
|
||||
<td class="tpb">{{viewData.unionname}}</td>
|
||||
<td class="tpa">活动人数</td>
|
||||
<td class="tpb">{{viewData.hdrs}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">报名开始时间</td>
|
||||
<td class="tpb">{{viewData.bmkssj}}</td>
|
||||
<td class="tpa">报名截止时间</td>
|
||||
<td class="tpb">{{viewData.bmjssj}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">活动开始时间</td>
|
||||
<td class="tpb">{{viewData.hdks}}</td>
|
||||
<td class="tpa">活动结束时间</td>
|
||||
<td class="tpb">{{viewData.hdjs}}</td>
|
||||
</tr>
|
||||
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">报名办法</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.bmbf"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">活动内容</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.hdnr"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">奖励办法</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.jlbf"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">其他注意事项</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.zysx"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item title="活动报名情况" name="2">
|
||||
<el-card class="box-card bmqk">
|
||||
<el-table :data="bmTableData" size="small" border
|
||||
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<el-table-column label="序号" type="index" index="1" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="职工号" prop="loginname" 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="mobile" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="所属单位" width="172px" prop="name" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<!--<el-table-column label="基层工会" width="172px" prop="unionname" header-align="center" align="center" ></el-table-column>-->
|
||||
</el-table>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
|
||||
</el-collapse>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="infoDialogVisible = false">取 消</el-button>
|
||||
|
||||
<el-button type="primary" @click="bmhd(infoFlag)" v-if="flag!='1'&&infoTemp.sfbm=='0'">报名</el-button>
|
||||
<el-button type="warning" @click="qxbm(infoFlag)" v-if="flag!='1'&&infoTemp.sfbm>'0'">取消报名</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
/*列表*/
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword: "",
|
||||
hdlx: "",
|
||||
hdxm: "",
|
||||
},
|
||||
queryHdlx: [],
|
||||
queryHdxm: [],
|
||||
flag: "",
|
||||
|
||||
/*查看*/
|
||||
infoDialogVisible: false,
|
||||
activeName: '1',
|
||||
viewData: [],
|
||||
bmTableData: [],
|
||||
infoTemp: [],
|
||||
infoFlag: [],
|
||||
isshow:true,
|
||||
xqactive:"1"
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
pageData: function () {
|
||||
|
||||
var self = this;
|
||||
sublime.showLoadingbar();//显示loading
|
||||
$.post("/platform/hd/fhdgl/fhhdbm/data", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.hds.list;
|
||||
self.pageForm.totalCount = data.data.hds.totalCount;
|
||||
self.queryHdlx = data.data.hdlx;
|
||||
self.flag = data.data.flag;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*分页*/
|
||||
pageSizeChange: function (val) {
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange: function (val) {
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
doSearch: function () {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
/*查看*/
|
||||
openInfo: function (scope) {
|
||||
|
||||
var self = this;
|
||||
self.infoFlag = scope;
|
||||
self.infoTemp.sfbm = scope.row.sfbm;
|
||||
$.post("/platform/hd/fhdgl/fhhdbm/findById", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.viewData = data.data.fhd;
|
||||
self.bmTableData = data.data.cyry;
|
||||
self.isshow = false;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*报名*/
|
||||
bmhd: function (scope) {
|
||||
var self = this;
|
||||
if (moment().format("YYYY-MM-DD") > scope.row.bmjssj) {
|
||||
self.$alert("当前活动报名已结束,不能报名!", "温馨提示", {
|
||||
type: 'warning',
|
||||
closeOnPressEscape: true,
|
||||
closeOnClickModal: true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
self.$confirm("您确定要报名此活动吗?", "温馨提示", {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: function (a, b) {
|
||||
if ("confirm" == a) {
|
||||
$.post("/platform/hd/fhdgl/fhhdbm/bmhd", {
|
||||
id: scope.row.id,
|
||||
hdrs: scope.row.hdrs
|
||||
}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: "报名成功!",
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.isshow = true;
|
||||
} else if (data.code == -1) {
|
||||
setTimeout(function () {
|
||||
self.$alert("您已经报名此活动,不能重复报名!", "温馨提示", {
|
||||
type: 'error',
|
||||
closeOnPressEscape: true,
|
||||
closeOnClickModal: true,
|
||||
});
|
||||
}, 200);
|
||||
} else if (data.code == -2) {
|
||||
setTimeout(function () {
|
||||
self.$alert("抱歉,此活动报名人数已满!", "温馨提示", {
|
||||
type: 'error',
|
||||
closeOnPressEscape: true,
|
||||
closeOnClickModal: true,
|
||||
});
|
||||
}, 200);
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
qxbm: function (scope) {
|
||||
var self = this;
|
||||
if (moment().format("YYYY-MM-DD") > scope.row.bmjssj) {
|
||||
self.$alert("当前活动报名已结束,不能取消!", "温馨提示", {
|
||||
type: 'warning',
|
||||
closeOnPressEscape: true,
|
||||
closeOnClickModal: true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
self.$confirm("您是否要取消此活动的报名?", "温馨提示", {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: function (a, b) {
|
||||
if ("confirm" == a) {
|
||||
$.post("/platform/hd/fhdgl/fhhdbm/qxbm", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.infoDialogVisible = false;
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
created: function () {
|
||||
this.pageData();
|
||||
},
|
||||
watch: {
|
||||
"pageForm.hdlx": function (obj) {
|
||||
var self = this;
|
||||
if (obj != "" && obj != null && obj != "undefined") {
|
||||
self.pageForm.hdxm = "";
|
||||
$.post("/platform/hd/xhdgl/xhdxxgl/findHdXm", {id: obj}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.queryHdxm = data.data;
|
||||
self.pageForm.hdxm = data.data[0].id;
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,969 @@
|
||||
<!--分会活动计划 djx 2019-07-08 -->
|
||||
<!--#
|
||||
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;
|
||||
}
|
||||
|
||||
.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-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;
|
||||
}
|
||||
</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">
|
||||
<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-date-picker v-model="pageForm.year" value-format="yyyy" type="year"
|
||||
placeholder="选择年度时间"></el-date-picker>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5" v-if="curr == '1'">
|
||||
<el-select placeholder="请选择院级工会" v-model="pageForm.unionid" style="width: 180px;" clearable="true"
|
||||
filterable="true">
|
||||
<el-option v-for="item in unionOptions" :label="item.unionname"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</div>
|
||||
|
||||
<!--#if(@shiro.hasRole('sysadmin')){#-->
|
||||
<div class="pull-right offscreen-right mt5">
|
||||
<el-button size="medium" @click="openAdd"><i class="ti-plus"></i>新建活动计划</el-button>
|
||||
</div>
|
||||
<!--#}else{#-->
|
||||
<div class="pull-right offscreen-right mt5" v-if="curr!='1'">
|
||||
<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="unionname" 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)" v-if="curr!='1'"
|
||||
:disabled="(scope.row.ct>0 && scope.row.evtime==2)?true:false" size="mini">创建活动
|
||||
</el-button>
|
||||
|
||||
<el-button type="primary" @click="openEdit(scope)" v-if="curr!='1'" size="mini">编辑</el-button>
|
||||
<el-button type="danger" @click="deleteDo(scope)" v-if="curr!='1'"
|
||||
: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>
|
||||
|
||||
<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>
|
||||
|
||||
<!--查看-->
|
||||
<el-dialog title="查看" width="60%" 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="6" class="text-center" style="font-size: 20px;background-color: #f5f5f5">
|
||||
{{viewData.jhmc}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td >计划预计时间</td>
|
||||
<td colspan="2">{{viewData.jhsj}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td >活动类型</td>
|
||||
<td colspan="2">{{viewData.hdlx}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td >活动项目</td>
|
||||
<td colspan="2">{{viewData.hdxm}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td >计划状态</td>
|
||||
<td v-if="viewData.ct>0 && viewData.evtime==2">已执行</td>
|
||||
<td v-else>未执行</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td colspan="2" 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="2" v-html="viewData.jhnr"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</el-card>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog title="新增" id="addDialog" class="dia" :close-on-click-modal="false"
|
||||
v-if="addHdDialogVisible"
|
||||
:visible.sync="addHdDialogVisible"
|
||||
custom-class="ViewDialogClass" width="66%" top="3%">
|
||||
|
||||
<el-divider content-position="left"><span style="color: rgb(121, 187, 255)">此功能进行活动创建,各个院级工会上报人员名单</span>
|
||||
</el-divider>
|
||||
<el-form :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.fhdmc" 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.fzr" @change="selFzrChange" :remote-method="remoteMethod"
|
||||
filterable remote placeholder="请根据教工号、姓名、单位查询" style="width: 88%">
|
||||
<el-option
|
||||
v-for="item in fzrOptions"
|
||||
:key="item.id"
|
||||
:label="item.display"
|
||||
: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.phone" 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.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="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-select v-model="formData.unionid" filterable
|
||||
:disabled="(unionidFlag!=null&&unionidFlag!='')?true:false" placeholder="请选择院级工会"
|
||||
style="width: 88%">
|
||||
<el-option
|
||||
v-for="item in unionOptions"
|
||||
:label="item.unionname"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<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-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-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="number"></el-input>
|
||||
</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="H11">校活动管理员</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>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="活动内容">
|
||||
<div id="nrEditor"></div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="报名办法">
|
||||
<div id="bmEditor"></div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="奖励办法">
|
||||
<div id="jlEditor"></div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="注意事项">
|
||||
<div id="zysxEditor"></div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-form>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="addHdDialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="doHdAdd">确 定</el-button>
|
||||
</span>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
let E = window.wangEditor
|
||||
let jhnrEditor = null
|
||||
let editjhnrEditor = null
|
||||
let bmEditor = null
|
||||
let jlEditor = null
|
||||
let zysxEditor = null
|
||||
let nrEditor = null
|
||||
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
pageForm: {//分页
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword: "",
|
||||
year: "",
|
||||
unionid: "",
|
||||
},
|
||||
tableData: [],//表格
|
||||
flag: "",
|
||||
|
||||
/*新增*/
|
||||
addDialogVisible: false,
|
||||
formData: {},
|
||||
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,
|
||||
unionOptions: [],
|
||||
hdxmOptions: [],
|
||||
addHd: [],
|
||||
addBm: [],
|
||||
fzrOptions: [],
|
||||
hdjhOptions: [],
|
||||
unionidFlag: "",
|
||||
curr: "",
|
||||
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/fhdgl/fhhdjh/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.unionOptions = data.data.unions;
|
||||
if (data.data.flag != null && data.data.flag != "") {
|
||||
self.unionidFlag = data.data.flag;
|
||||
}
|
||||
self.curr = data.data.curr;
|
||||
} 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/fhdgl/fhhdjh/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/fhdgl/fhhdjh/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/fhdgl/fhhdjh/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");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
selFzrChange: function (obj) {
|
||||
var self = this;
|
||||
for (var i = 0; i < self.fzrOptions.length; i++) {
|
||||
if (self.fzrOptions[i].id == obj) {
|
||||
self.formData.phone = self.fzrOptions[i].mobile;
|
||||
return;
|
||||
}
|
||||
}
|
||||
},
|
||||
remoteMethod: function (obj) {
|
||||
var self = this;
|
||||
$.post(base + "/platform/hd/fhdgl/fhdxxgl/findFzr", {obj: obj}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.fzrOptions = data.data;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
openHdAdd: function (scope) {
|
||||
var self = this;
|
||||
if (scope.row.hdcount > 0) {
|
||||
self.$alert("此计划已创建活动!", "温馨提示", {
|
||||
type: 'error',
|
||||
closeOnPressEscape: true,
|
||||
closeOnClickModal: true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
self.fzrOptions = [];
|
||||
self.formData = {
|
||||
hdlxid: "",
|
||||
hdxmid: "",
|
||||
fhdmc: "",
|
||||
unionid: self.unionidFlag,
|
||||
qx:[]
|
||||
};
|
||||
self.hdjhOptions = [{id: scope.row.id, jhmc: scope.row.jhmc}];
|
||||
self.formData.jhid = scope.row.id;
|
||||
self.formData.fhdmc = 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()
|
||||
nrEditor = new wangEditor("#nrEditor")
|
||||
nrEditor.create()
|
||||
jlEditor = new wangEditor("#jlEditor")
|
||||
jlEditor.create()
|
||||
zysxEditor = new wangEditor("#zysxEditor")
|
||||
zysxEditor.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 < self.formData.bmkssj || self.formData.hdkssj < self.formData.bmjssj) {
|
||||
self.$alert("活动开始日期需在活动报名截止之后!", "温馨提示", {
|
||||
type: 'warning',
|
||||
closeOnPressEscape: true,
|
||||
closeOnClickModal: true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
self.formData.bmbf = bmEditor.txt.text();
|
||||
self.formData.hdnr = nrEditor.txt.text();
|
||||
self.formData.jlbf = jlEditor.txt.text();
|
||||
self.formData.zysx = zysxEditor.txt.text();
|
||||
self.formData.qx=self.formData.qx.toString();
|
||||
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/fhdgl/fhdxxgl/addDo", self.formData, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.addHdDialogVisible = false;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
loading.close();
|
||||
}, "json");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/*查看*/
|
||||
openInfo: function (scope) {
|
||||
var self = this;
|
||||
$.post(base + "/platform/hd/fhdgl/fhhdjh/findById", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.viewData = data.data.hdjh;
|
||||
self.infoDialogVisible = true;
|
||||
}
|
||||
}, "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/fhdgl/fhhdjh/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");
|
||||
}
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,593 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="${lang,escape}">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1">
|
||||
<meta name="description" content="${AppName!}">
|
||||
<title>${AppName!}</title>
|
||||
<meta charset="UTF-8">
|
||||
<!-- import CSS -->
|
||||
<link rel="stylesheet" href="/assets/platform/plugins/bootstrap/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="/assets/platform/plugins/element-ui/lib/theme-chalk/index.css">
|
||||
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
|
||||
<link rel="stylesheet" href="/assets/platform/fonts/themify-icons.css">
|
||||
<link rel="stylesheet" href="/assets/platform/fonts/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/common.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/main.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/elmain.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/panel.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/dialogview.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/pic.css">
|
||||
<!-- import Vue before Element -->
|
||||
<script src="/assets/platform/plugins/vue/vue.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
|
||||
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/assets/platform/plugins/viewer/viewer.min.css">
|
||||
|
||||
<!-- import JavaScript -->
|
||||
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
|
||||
<!--<script src="/assets/platform/plugins/element-ui/lib/index.js"></script>-->
|
||||
<script src="/assets/platform/plugins/jquery/jquery-1.11.1.min.js"></script>
|
||||
<script src="/assets/platform/plugins/slimscroll/jquery.slimscroll.min.js"></script>
|
||||
<!-- pjax是异步加载html片段的工具,模拟前端路由机制 -->
|
||||
<script src="/assets/platform/plugins/pjax/jquery.pjax.js"></script>
|
||||
<script src="/assets/platform/plugins/bootstrap/js/bootstrap.js"></script>
|
||||
<!-- Array数组增加findIndex等方法,TreeTable用得到,兼容IE8 -->
|
||||
<script src="/assets/platform/plugins/polyfill/polyfill.js"></script>
|
||||
<!--FlexPaper预览插件-->
|
||||
<script src="/assets/platform/plugins/flexPaper/flexpaper_flash.js"></script>
|
||||
<script src="/assets/platform/plugins/flexPaper/flexpaper_flash_debug.js"></script>
|
||||
<!-- 时间日期处理工具类 -->
|
||||
<script src="/assets/platform/plugins/moment/moment.min.js"></script>
|
||||
<!-- 浏览器通知 -->
|
||||
<script src="/assets/platform/plugins/push/push.min.js"></script>
|
||||
<script src="/assets/platform/js/main.js"></script>
|
||||
<script src="/assets/platform/js/offscreen.js"></script>
|
||||
|
||||
|
||||
<!--editor-->
|
||||
<script src="https://s1.bdstatic.com/r/www/cache/ecom/etpl/3-2-0/etpl.js"></script>
|
||||
<link href="/assets/platform/plugins/umeditor/themes/default/css/umeditor.css" type="text/css"
|
||||
rel="stylesheet">
|
||||
<script type="text/javascript" charset="utf-8"
|
||||
src="/assets/platform/plugins/umeditor/umeditor.config.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="/assets/platform/plugins/umeditor/umeditor.js"></script>
|
||||
<script type="text/javascript" src="/assets/platform/plugins/umeditor/lang/zh-cn/zh-cn.js"></script>
|
||||
|
||||
<link rel="stylesheet" href="/assets/platform/plugins/myframe/css/myframe.css">
|
||||
<!--viewer-->
|
||||
<script src="/assets/platform/plugins/viewer/viewer.min.js"></script>
|
||||
<script src="/assets/platform/plugins/viewer/jquery-viewer.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body style="background-color: white">
|
||||
|
||||
<style>
|
||||
|
||||
.el-divider--horizontal {
|
||||
margin: 12px 0px 14px 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-transfer-panel {
|
||||
width: 40%;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.el-transfer-panel__filter {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.el-transfer {
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
.el-transfer-panel .el-transfer-panel__footer {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.el-dialog__footer {
|
||||
padding: 2px 20px 20px;
|
||||
}
|
||||
|
||||
.el-message-box {
|
||||
width: 450px;
|
||||
}
|
||||
|
||||
.el-checkbox {
|
||||
margin-right: 0px;
|
||||
}
|
||||
|
||||
.el-transfer-panel__list.is-filterable {
|
||||
height: 320px;
|
||||
}
|
||||
|
||||
.bmqk .el-card__body {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.el-transfer-panel{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.v-modal{
|
||||
background-color: transparent;
|
||||
}
|
||||
.el-table-container{
|
||||
padding-top: 0px;
|
||||
}
|
||||
.navbar{
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
|
||||
.v-0x2323544 {
|
||||
text-align: center;
|
||||
color: rgb(180, 180, 180);
|
||||
}
|
||||
|
||||
.v-0x345756765 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.v-0x2392939 {
|
||||
|
||||
}
|
||||
|
||||
</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" >
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input style="width:180px;" placeholder="可按活动名称查询" v-model="pageForm.searchKeyword" clearable></el-input>
|
||||
<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>
|
||||
<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>
|
||||
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</div>
|
||||
|
||||
|
||||
</el-row>
|
||||
|
||||
<!--表格-->
|
||||
<el-row class="el-table-container">
|
||||
<el-table :data="tableData" size="small">
|
||||
<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="160" :show-overflow-tooltip="true" header-align="center" label="院工会活动名称" prop="fhdmc"></el-table-column>
|
||||
<el-table-column align="center" width="160" :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="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="bmrs" width="80px"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="活动人数" prop="hdrs" width="68px"></el-table-column>
|
||||
<el-table-column align="center" label="操作" width="200px">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
|
||||
<el-button type="primary" @click="openBm(scope)" 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: 10px" 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" style="width: 100%">
|
||||
<tr style="border: 1px solid rgb(220,220,220);" class="text-center">
|
||||
<td colspan="6" style="font-size: 20px;background-color: #f5f5f5">{{viewData.fhdmc}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">活动类型</td>
|
||||
<td class="v-0x2323544" >{{viewData.hdlx}}</td>
|
||||
<td class="v-0x345756765">活动项目</td>
|
||||
<td class="v-0x2323544" >{{viewData.hdxm}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">活动地点</td>
|
||||
<td class="v-0x2323544" >{{viewData.hddz}}</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.jfys}}</td>
|
||||
<td class="v-0x345756765">是否推送日历</td>
|
||||
<td class="v-0x2323544" >
|
||||
<div v-if="viewData.sfrl==1">是</div>
|
||||
<div v-else>否</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">主办院级工会</td>
|
||||
<td class="v-0x2323544" >{{viewData.unionname}}</td>
|
||||
<td class="v-0x345756765">人数限制</td>
|
||||
<td class="v-0x2323544" >{{viewData.hdrs}}</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>
|
||||
</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>
|
||||
</tr>
|
||||
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="text-center"
|
||||
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
|
||||
colspan="6">报名办法
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div class="v-0x2392939 v-0x2323544" v-html="viewData.bmbf"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="text-center"
|
||||
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
|
||||
colspan="6">活动内容
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div class="v-0x2392939 v-0x2323544" v-html="viewData.hdnr"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="text-center"
|
||||
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
|
||||
colspan="6">奖励办法
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div class="v-0x2392939 v-0x2323544" v-html="viewData.jlbf"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="text-center"
|
||||
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
|
||||
colspan="6">其他注意事项
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div class="v-0x2392939 v-0x2323544" v-html="viewData.zysx"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="活动报名情况" name="2">
|
||||
<el-table :data="bmTableData" size="small" border
|
||||
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<el-table-column label="序号" type="index" index="1" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="职工号" prop="loginname" 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="mobile" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="所属单位" prop="name" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="院级工会" prop="unionname" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
|
||||
</transition>
|
||||
|
||||
<el-dialog title="统一报名" class="dia" :close-on-click-modal="false"
|
||||
:visible.sync="bmDialogVisible" custom-class="ViewDialogClass" width="70%" top="3%">
|
||||
|
||||
<el-row>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input style="width:180px;" size="mini" placeholder="可按姓名、工号查询" v-model="bmPageForm.searchKeyword" clearable></el-input>
|
||||
<el-button type="primary" size="mini" icon="el-icon-search" @click="bmSearch"></el-button>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="pull-right offscreen-right mt5">
|
||||
<el-label style="color: #409EFF">【{{temp.fhdmc}}】人数限制为<span style="color: red">{{temp.hdrs}}</span>人,目前已报名人数为<span style="color: red">{{temp.bmrs}}</span>人</el-label>
|
||||
</div>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-table :row-key="rowKey" ref="bmTable" @selection-change="handleSelectionChange" :data="tybmTableData" size="small">
|
||||
<el-table-column :reserve-selection="true" type="selection" width="46"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="序号" type="index">
|
||||
<template scope="scope"><span>{{scope.$index+(bmPageForm.pageNumber - 1) * bmPageForm.pageSize + 1}} </span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名" prop="username" header-align="center" align="center" ></el-table-column>
|
||||
<el-table-column label="教工号" prop="loginname" header-align="center" align="center" ></el-table-column>
|
||||
<el-table-column label="单位" width="240px" prop="name" header-align="center" align="center" ></el-table-column>
|
||||
<el-table-column label="电话" prop="mobile" header-align="center" align="center" ></el-table-column>
|
||||
<el-table-column label="性别" prop="sex" header-align="center" align="center" ></el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
<!--分页-->
|
||||
<el-row class="el-pagination-container">
|
||||
<el-pagination
|
||||
background
|
||||
@size-change="bmpageSizeChange"
|
||||
@current-change="bmpageNumberChange"
|
||||
:current-page="bmPageForm.pageNumber"
|
||||
:page-sizes="[5, 10, 15, 20]"
|
||||
:page-size="bmPageForm.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="bmPageForm.totalCount">
|
||||
</el-pagination>
|
||||
</el-row>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="bmDialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="bmDo">报 名</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
/*列表*/
|
||||
tableData:[],
|
||||
pageForm:{
|
||||
pageNumber:1,
|
||||
pageSize:10,
|
||||
totalCount:0,
|
||||
searchKeyword:"",
|
||||
hdlx:"",
|
||||
hdxm:"",
|
||||
},
|
||||
queryHdlx:[],
|
||||
queryHdxm:[],
|
||||
|
||||
/*查看*/
|
||||
infoDialogVisible:false,
|
||||
activeName: '1',
|
||||
viewData:[],
|
||||
bmTableData:[],
|
||||
|
||||
bmDialogVisible:false,
|
||||
bmPageForm:{
|
||||
pageNumber:1,
|
||||
pageSize:10,
|
||||
totalCount:0,
|
||||
searchKeyword:"",
|
||||
id:"",
|
||||
},
|
||||
tybmTableData:[],
|
||||
multipleSelection:[],
|
||||
temp:[],
|
||||
isshow:true,
|
||||
xqactive:"1"
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
pageData:function () {
|
||||
|
||||
var self = this;
|
||||
sublime.showLoadingbar();//显示loading
|
||||
$.post("/platform/hd/fhdgl/tybm/data", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.hds.list;
|
||||
self.pageForm.totalCount=data.data.hds.totalCount;
|
||||
self.queryHdlx = data.data.hdlx;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*分页*/
|
||||
pageSizeChange:function (val) {
|
||||
this.pageForm.pageSize=val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange:function (val) {
|
||||
this.pageForm.pageNumber=val;
|
||||
this.pageData();
|
||||
},
|
||||
bmpageSizeChange:function (val) {
|
||||
this.bmPageForm.pageSize=val;
|
||||
this.bmPageData();
|
||||
},
|
||||
bmpageNumberChange:function (val) {
|
||||
this.bmPageForm.pageNumber=val;
|
||||
this.bmPageData();
|
||||
},
|
||||
|
||||
doSearch:function () {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
bmSearch:function () {
|
||||
this.bmPageData();
|
||||
},
|
||||
rowKey:function (row) {
|
||||
var self = this;
|
||||
return row.id;
|
||||
},
|
||||
handleSelectionChange:function (val) {
|
||||
this.multipleSelection = val;
|
||||
},
|
||||
|
||||
/*查看*/
|
||||
openInfo:function (scope) {
|
||||
|
||||
var self = this;
|
||||
$.post("/platform/hd/fhdgl/fhhdbm/findById", {id:scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.viewData = data.data.fhd;
|
||||
self.bmTableData = data.data.cyry;
|
||||
self.isshow = false;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
openBm:function (scope) {
|
||||
var self = this;
|
||||
self.temp = scope.row;
|
||||
self.bmPageForm.id=scope.row.id;
|
||||
self.multipleSelection=[];
|
||||
self.bmPageData();
|
||||
self.bmDialogVisible = true;
|
||||
},
|
||||
bmPageData:function () {
|
||||
var self = this;
|
||||
$.post("/platform/hd/fhdgl/tybm/findUser", self.bmPageForm, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.tybmTableData = data.data.user.list;
|
||||
self.bmPageForm.totalCount=data.data.user.totalCount;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*报名*/
|
||||
bmDo:function () {
|
||||
var self = this;
|
||||
|
||||
if(self.temp.bmrs >= self.temp.hdrs) {
|
||||
self.$alert("抱歉,此活动报名人数已满!","温馨提示",{
|
||||
type:'error',
|
||||
closeOnPressEscape:true,
|
||||
closeOnClickModal:true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
if((self.multipleSelection.length + self.temp.bmrs) > self.temp.hdrs) {
|
||||
|
||||
self.$alert("<span>该活动人数限制为<span style='color: red'>"+self.temp.hdrs+"</span>人,当前已报名<span style='color: red'>"+self.temp.bmrs+"</span>人,您已选择<span style='color: red'>"+self.multipleSelection.length+"</span>人</span></span>","温馨提示",{
|
||||
dangerouslyUseHTMLString:true,
|
||||
type:'warning',
|
||||
closeOnPressEscape:true,
|
||||
closeOnClickModal:true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
var array = new Array();
|
||||
for(var i = 0; i < self.multipleSelection.length; i++) {
|
||||
array.push({
|
||||
id:self.multipleSelection[i].id,
|
||||
unionid:self.multipleSelection[i].unionid,
|
||||
});
|
||||
}
|
||||
self.$confirm("您确定要批量报名吗?","温馨提示",{
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback:function (a,b) {
|
||||
if("confirm" == a) {
|
||||
$.post("/platform/hd/fhdgl/tybm/tybm", {id:self.bmPageForm.id,userid:JSON.stringify(array)}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: "报名成功!",
|
||||
type: 'success'
|
||||
});
|
||||
self.bmDialogVisible = false;
|
||||
setTimeout(function () {
|
||||
self.$refs.bmTable.clearSelection();
|
||||
},500)
|
||||
self.pageData();
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
created:function () {
|
||||
this.pageData();
|
||||
},
|
||||
watch:{
|
||||
"pageForm.hdlx":function (obj) {
|
||||
var self = this;
|
||||
if(obj != "" && obj != null && obj!="undefined") {
|
||||
self.pageForm.hdxm = "";
|
||||
$.post("/platform/hd/xhdgl/xhdxxgl/findHdXm", {id:obj}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.queryHdxm = data.data;
|
||||
self.pageForm.hdxm = data.data[0].id;
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,691 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.el-icon-download {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.file-down-span {
|
||||
background: black;
|
||||
opacity: 0.5;
|
||||
z-index: 1000;
|
||||
width: 100px;
|
||||
text-align: center;
|
||||
/*position: absolute;*/
|
||||
position: relative;
|
||||
bottom: -100px;
|
||||
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.file-down-span:hover {
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.el-icon-circle-close {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.textareaDiv {
|
||||
white-space: pre-wrap;
|
||||
white-space: -moz-pre-wrap;
|
||||
white-space: -o-pre-wrap;
|
||||
word-wrap: break-word;
|
||||
text-align: left;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<el-row class="header navbar bg-white shadow">
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input placeholder="请输入内容" clearable v-model="pageForm.searchKeyWord" class="input-with-select">
|
||||
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="请选择" style="width: 120px">
|
||||
<el-option label="文件名称" value="file.title"></el-option>
|
||||
<!-- <el-option label="活动名称" value="hdname"></el-option>-->
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-date-picker
|
||||
style="width: 200px"
|
||||
v-model="pageForm.year"
|
||||
type="year" value-format="yyyy"
|
||||
@change="yearChange('hdOptions','pageForm');pageForm.hdid_arr=null"
|
||||
placeholder="选择年份" clearable>
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-cascader style="width: 100%" clearable placeholder="请选择所属活动" :options="hdOptions"
|
||||
v-model="pageForm.hdid_arr"
|
||||
filterable :props="hdProps"></el-cascader>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-button type="primary" @click="doSearch" icon="el-icon-search"></el-button>
|
||||
</div>
|
||||
<div class="pull-right offscreen-right mt5">
|
||||
<el-button size="medium" @click="openAdd"><i class="el-icon-upload2"></i> 上传活动资料</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
<el-row class="el-table-container">
|
||||
<el-table
|
||||
:data="tableData"
|
||||
size="mini"
|
||||
header-align="center"
|
||||
@sort-change="pageOrder"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-table-column label="序号" type="index" header-align="center" align="center">
|
||||
<template scope="scope">
|
||||
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="year"
|
||||
label="年份"
|
||||
header-align="center" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="title"
|
||||
label="资料名称"
|
||||
header-align="center" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="hdtype"
|
||||
label="活动类型"
|
||||
header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.hdtype==1">校工会活动</span>
|
||||
<span v-if="scope.row.hdtype==2">基层工会活动</span>
|
||||
<span v-if="scope.row.hdtype==3">协会活动</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="hdname"
|
||||
label="活动名称"
|
||||
header-align="center" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="username"
|
||||
label="上传人"
|
||||
header-align="center" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="create_time"
|
||||
label="上传时间"
|
||||
header-align="center" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="userOnline"
|
||||
label="操作"
|
||||
width="250" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" @click="openView(scope.row.id)">查看</el-button>
|
||||
<el-button type="primary" @click="openEdit(scope.row.id)" size="mini">编辑</el-button>
|
||||
<el-button type="danger" @click="doDelete(scope.row.id)" 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>
|
||||
|
||||
<!-- 新建-->
|
||||
<el-dialog
|
||||
title="上传活动资料"
|
||||
:visible.sync="addDialogVisible"
|
||||
:close-on-click-modal="false"
|
||||
width="50%"
|
||||
>
|
||||
|
||||
<el-form :model="formData" ref="addForm" :rules="formRules" size="medium" label-width="100px">
|
||||
<el-divider content-position="left"><span style="color: #409eff">资料信息</span></el-divider>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="year" label="年  份">
|
||||
<el-date-picker
|
||||
style="width: 100%;"
|
||||
v-model="formData.year"
|
||||
type="year" value-format="yyyy"
|
||||
@change="yearChange('formHdOptions','formData');formData.hdid_arr=null"
|
||||
placeholder="选择年份" clearable>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="hdid_arr" label="所属活动">
|
||||
<el-cascader style="width: 100%" @change="hdChange" placeholder="请选择所属活动"
|
||||
:options="formHdOptions"
|
||||
v-model="formData.hdid_arr"
|
||||
filterable :props="hdProps"></el-cascader>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item prop="title" label="资料名称">
|
||||
<el-input maxlength="100" placeholder="请填写资料名称" v-model="formData.title" type="text"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="description" label="资料描述">
|
||||
<el-input maxlength="500" :autosize="{ minRows: 4, maxRows: 8}" placeholder="请填写资料描述"
|
||||
v-model="formData.description" type="textarea"></el-input>
|
||||
</el-form-item>
|
||||
<el-divider content-position="left"><span style="color: #409eff">资料文件</span></el-divider>
|
||||
<el-form-item prop="fjs" label="文  件">
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
accept="*"
|
||||
action="****"
|
||||
list-type="picture"
|
||||
:on-remove="handleRemove"
|
||||
:on-change="handleChange"
|
||||
:auto-upload="false"
|
||||
limit="5"
|
||||
:file-list="fileList">
|
||||
<el-button size="small" type="primary">点击上传</el-button>
|
||||
<div slot="tip" class="el-upload__tip">只能上传jpg/jpeg/png/doc/docx/pdf/xls/xlsx/rar/zip/7z文件</div>
|
||||
</el-upload>
|
||||
</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>
|
||||
|
||||
<!-- 编辑-->
|
||||
<el-dialog
|
||||
title="修改活动资料"
|
||||
:visible.sync="editDialogVisible"
|
||||
:close-on-click-modal="false"
|
||||
width="50%"
|
||||
>
|
||||
<el-form :model="formData" ref="editForm" :rules="formRules" size="medium" label-width="100px">
|
||||
<el-divider content-position="left"><span style="color: #409eff">资料信息</span></el-divider>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="year" label="年  份">
|
||||
<el-date-picker
|
||||
style="width: 100%;"
|
||||
v-model="formData.year"
|
||||
type="year" value-format="yyyy"
|
||||
@change="yearChange('formHdOptions','formData');formData.hdid_arr=null"
|
||||
placeholder="选择年份" clearable>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="hdid_arr" label="所属活动">
|
||||
<el-cascader style="width: 100%" @change="hdChange" placeholder="请选择所属活动"
|
||||
:options="formHdOptions"
|
||||
v-model="formData.hdid_arr"
|
||||
filterable :props="hdProps"></el-cascader>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item prop="title" label="资料名称">
|
||||
<el-input maxlength="100" placeholder="请填写资料名称" v-model="formData.title" type="text"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="description" label="资料描述">
|
||||
<el-input maxlength="500" :autosize="{ minRows: 4, maxRows: 8}" placeholder="请填写资料描述"
|
||||
v-model="formData.description" type="textarea"></el-input>
|
||||
</el-form-item>
|
||||
<el-divider content-position="left"><span style="color: #409eff">资料文件</span></el-divider>
|
||||
<el-form-item prop="fjs" label="文  件">
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
accept="*"
|
||||
action="****"
|
||||
:on-remove="handleRemove"
|
||||
:on-change="handleChange"
|
||||
:auto-upload="false"
|
||||
limit="5"
|
||||
:file-list="fileList">
|
||||
<el-button size="small" type="primary">点击上传</el-button>
|
||||
<div slot="tip" class="el-upload__tip">只能上传jpg/jpeg/png/doc/docx/pdf/xls/xlsx/rar/zip/7z文件</div>
|
||||
</el-upload>
|
||||
</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="查看活动资料"
|
||||
:visible.sync="viewDialogVisible"
|
||||
:close-on-click-modal="false" custom-class="ViewDialogClass"
|
||||
width="50%"
|
||||
>
|
||||
<el-collapse v-model="activeNames">
|
||||
<el-collapse-item title="资料信息" name="1">
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td class="tpa">资料名称</td>
|
||||
<td class="tpb" colspan="3">{{viewData.title}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tpa">年份</td>
|
||||
<td class="tpb">{{viewData.year}}</td>
|
||||
<td class="tpa">所属活动</td>
|
||||
<td class="tpb">{{viewData.hdname}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tpa">上传人</td>
|
||||
<td class="tpb">{{viewData.username}}</td>
|
||||
<td class="tpa">上传时间</td>
|
||||
<td class="tpb">{{viewData.create_time}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tpa">资料描述</td>
|
||||
<td class="tpb textareaDiv" colspan="3">{{viewData.description}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item title="资料文件" name="2">
|
||||
|
||||
<div style="text-align: left;padding: 10px" v-if="viewData.fjs&&viewData.fjs.length">
|
||||
<div v-for="item in viewData.fjs" style="display: inline-block;width: 100px;margin-right:10px">
|
||||
<div class="file-down-span" @click="downLoad(item)">
|
||||
<i class="el-icon-download"></i>
|
||||
</div>
|
||||
<el-image fit="cover" v-if="isImage(item.fjurl)"
|
||||
style="width: 100px;height: 100px;box-shadow: 0 0 5px rgb(200,200,200)"
|
||||
:src="'/platform/base/Common/showPic?fjurl='+item.fjurl"
|
||||
:preview-src-list="prevImgList">
|
||||
</el-image>
|
||||
<el-image v-else style="width: 100px;height: 100px;box-shadow: 0 0 5px rgb(200,200,200)"
|
||||
src="***">
|
||||
<div slot="error" class="image-slot"
|
||||
style="width: 100%;height: 100%; display:flex;align-items: center;text-align: center">
|
||||
<span style="font-size: 12px;color: rgb(180,180,180);width: 100%;text-align: center;overflow: hidden;padding: 0 10px;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical">{{item.fjname}}</span>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-else
|
||||
style="width: 100%;height: 50px;line-height: 50px;text-align: center;color: rgb(180,180,180)">暂无文件
|
||||
</div>
|
||||
|
||||
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="viewDialogVisible = false">关闭</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
data() {
|
||||
var valiHdid_arr = (rule, value, callback) => {
|
||||
console.log(value)
|
||||
if (!value) {
|
||||
callback(new Error('请选择所属活动'));
|
||||
} else if (value && value.length == 1) {
|
||||
callback(new Error('请选择所属活动'));
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
};
|
||||
return {
|
||||
activeNames: ['1', '2'],
|
||||
fileList: [],
|
||||
userOptions: [],
|
||||
loading: false,
|
||||
formData: {},
|
||||
addDialogVisible: false,
|
||||
editDialogVisible: false,
|
||||
viewDialogVisible: false,
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
searchName: "file.title",
|
||||
searchKeyword: "",
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
pageOrderName: "",
|
||||
pageOrderBy: ""
|
||||
},
|
||||
formRules: {
|
||||
hdid_arr: [{validator: valiHdid_arr, trigger: ['blur', 'change']}],
|
||||
year: [{required: true, message: '请选择年份', trigger: ['blur', 'change']}],
|
||||
// hdid_arr: [{required: true, message: '请选择所属活动', trigger: ['blur', 'change']}],
|
||||
title: [{required: true, message: '请填写资料名称', trigger: ['blur', 'change']}],
|
||||
},
|
||||
hdOptions: [],
|
||||
formHdOptions: [],
|
||||
hdProps: {
|
||||
value: 'id',
|
||||
label: 'name',
|
||||
},
|
||||
delFiles: [],
|
||||
viewData: {},
|
||||
prevImgList: [],
|
||||
getSuffix: (name) => {
|
||||
return name.substr(name.lastIndexOf('.') + 1).toLowerCase()
|
||||
},
|
||||
isImage: (path) => {
|
||||
const imageType = ['jpg', 'jpeg', 'png']
|
||||
return imageType.includes(this.getSuffix(path))
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async get_hd_options(year) {
|
||||
let {data} = await $.post(base + "/platform/hd/file/manger/getHdOptions", {year: year}).then()
|
||||
return data;
|
||||
},
|
||||
async yearChange(key, key2) {
|
||||
const year = this[key2].year;
|
||||
this[key] = await this.get_hd_options(year)
|
||||
},
|
||||
downLoad: function (item) {
|
||||
location.href = '/platform/base/Common/download?filepath=' + item.fjurl + '&filename=' + item.fjname
|
||||
},
|
||||
openView(id) {
|
||||
this.prevImgList = []
|
||||
$.post(base + "/platform/hd/file/manger/findOne", {id: id}, (data) => {
|
||||
if (data.code == 0) {
|
||||
|
||||
const getSuffix = (name) => {
|
||||
return name.substr(name.lastIndexOf('.') + 1).toLowerCase()
|
||||
}
|
||||
const imageType = ['jpg', 'jpeg', 'png']
|
||||
|
||||
const {fjs} = data.data
|
||||
data.data.images = []
|
||||
data.data.files = []
|
||||
fjs.forEach(fj => {
|
||||
if (imageType.includes(getSuffix(fj.fjname))) {
|
||||
data.data.images.push(fj)
|
||||
this.prevImgList.push('/platform/base/Common/showPic?fjurl=' + fj.fjurl)
|
||||
} else {
|
||||
data.data.files.push(fj)
|
||||
}
|
||||
})
|
||||
|
||||
this.viewData = data.data;//加载后台表单数据
|
||||
this.viewDialogVisible = true;//打开编辑窗口
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
doDelete(id) {
|
||||
this.$confirm('确定要删除吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: function (a, b) {
|
||||
if ("confirm" == a) {//确认后再执行
|
||||
$.post(base + "/platform/hd/file/manger/delete", {id: id}, (data) => {
|
||||
if (data.code == 0) {
|
||||
vue.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
vue.pageData();
|
||||
} else {
|
||||
vue.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
hdChange(e) {
|
||||
|
||||
},
|
||||
handleChange(file, fileList) {
|
||||
const del = () => {
|
||||
fileList.splice(fileList.indexOf(file), 1);
|
||||
}
|
||||
if (file.size == 0) {
|
||||
this.$message.warning("您选择的是空文件!");
|
||||
del()
|
||||
}
|
||||
const type = ['jpg', 'jpeg', 'png', 'doc', 'docx', 'pdf', 'xls', 'xlsx', 'rar', 'zip', '7z']
|
||||
const suffix = file.name.substr(file.name.lastIndexOf('.') + 1).toLowerCase()
|
||||
if (!type.includes(suffix)) {
|
||||
this.$message.warning('不支持的文件类型!');
|
||||
del()
|
||||
}
|
||||
|
||||
this.fileList = fileList;
|
||||
}
|
||||
,
|
||||
handleRemove(file, fileList) {
|
||||
this.fileList = fileList;
|
||||
if (file.status == 'ok') {
|
||||
this.delFiles.push(file.id)
|
||||
}
|
||||
},
|
||||
doEdit() {
|
||||
this.$refs["editForm"].validate((valid) => {
|
||||
if (valid) {
|
||||
let hdid_arr = this.formData.hdid_arr
|
||||
this.formData.hdtype = hdid_arr[0]
|
||||
this.formData.hdid = hdid_arr[1]
|
||||
|
||||
var formdata = new FormData();
|
||||
for (key in this.formData) {
|
||||
formdata.append(key, this.formData[key] && key != 'fileList' && key != 'fjs' ? this.formData[key] : '')
|
||||
}
|
||||
|
||||
this.fileList.forEach(function (val) {
|
||||
if (val.status == 'ready') {
|
||||
formdata.append("files", val.raw, val.raw.name);
|
||||
}
|
||||
});
|
||||
|
||||
formdata.append("delFiles", JSON.stringify(this.delFiles))
|
||||
|
||||
var loading = this.$loading({
|
||||
lock: true,
|
||||
text: '数据正在提交中,请稍后...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: "/platform/hd/file/manger/doEdit",
|
||||
type: "post",
|
||||
data: formdata,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: (data) => {
|
||||
if (data.code === 0) {
|
||||
this.$message.success('修改成功!');
|
||||
this.editDialogVisible = false;
|
||||
this.pageData()
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
loading.close()
|
||||
},
|
||||
error: (data) => {
|
||||
this.$message.error("应用程序出现异常!");
|
||||
loading.close()
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
,
|
||||
openEdit(id) {
|
||||
this.fileList = []
|
||||
$.post(base + "/platform/hd/file/manger/findOne", {id: id}, (data) => {
|
||||
if (data.code == 0) {
|
||||
data.data.year = data.data.year + ''
|
||||
data.data.fjs.forEach((fj) => {
|
||||
this.fileList.push({
|
||||
id: fj.id,
|
||||
name: fj.fjname,
|
||||
status: 'ok'
|
||||
})
|
||||
})
|
||||
data.data.hdid_arr = [data.data.hdtype + '', data.data.hdid]
|
||||
this.formData = data.data;//加载后台表单数据
|
||||
this.yearChange('formHdOptions', 'formData')
|
||||
this.editDialogVisible = true;//打开编辑窗口
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
,
|
||||
doAdd() {
|
||||
this.$refs["addForm"].validate((valid) => {
|
||||
if (valid) {
|
||||
let hdid_arr = this.formData.hdid_arr
|
||||
this.formData.hdtype = hdid_arr[0]
|
||||
this.formData.hdid = hdid_arr[1]
|
||||
|
||||
var formdata = new FormData();
|
||||
for (key in this.formData) {
|
||||
formdata.append(key, this.formData[key] ? this.formData[key] : '')
|
||||
}
|
||||
|
||||
this.fileList.forEach(function (val) {
|
||||
formdata.append("files", val.raw, val.raw.name);
|
||||
});
|
||||
|
||||
var loading = this.$loading({
|
||||
lock: true,
|
||||
text: '数据正在提交中,请稍后...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: "/platform/hd/file/manger/doAdd",
|
||||
type: "post",
|
||||
data: formdata,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: (data) => {
|
||||
if (data.code === 0) {
|
||||
this.$message.success('创建成功!');
|
||||
this.addDialogVisible = false;
|
||||
this.pageData()
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
loading.close()
|
||||
},
|
||||
error: (data) => {
|
||||
this.$message.error("应用程序出现异常!");
|
||||
loading.close()
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
,
|
||||
openAdd() {
|
||||
this.formData = {
|
||||
year: new Date().getFullYear() + ''
|
||||
};//打开新增窗口,表单先清空
|
||||
this.yearChange('formHdOptions', 'formData')
|
||||
this.fileList = []
|
||||
this.userOptions = []
|
||||
if (this.$refs["addForm"])
|
||||
this.$refs["addForm"].resetFields();
|
||||
this.addDialogVisible = true;
|
||||
}
|
||||
,
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.pageData()
|
||||
}
|
||||
,
|
||||
pageOrder(column) {//按字段排序
|
||||
this.pageForm.pageOrderName = column.prop;
|
||||
this.pageForm.pageOrderBy = column.order;
|
||||
this.pageData();
|
||||
}
|
||||
,
|
||||
pageNumberChange(val) {//页码更新操作
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
}
|
||||
,
|
||||
pageSizeChange(val) {//分页大小更新操作
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
}
|
||||
,
|
||||
pageData() {//加载分页数据
|
||||
sublime.showLoadingbar();//显示loading
|
||||
|
||||
if (this.pageForm.hdid_arr) {
|
||||
this.pageForm.hdid = this.pageForm.hdid_arr[1]
|
||||
}
|
||||
|
||||
$.post(base + "/platform/hd/file/manger/pageData", this.pageForm, (data) => {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
this.tableData = data.data.list;
|
||||
this.pageForm.totalCount = data.data.totalCount;
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
getHdOptions() {
|
||||
$.post(base + "/platform/hd/file/manger/getHdOptions", (data) => {
|
||||
if (data.code == 0) {
|
||||
this.hdOptions = data.data;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.pageData();
|
||||
// this.getHdOptions()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,376 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
|
||||
<style>
|
||||
.clearBtn {
|
||||
position: absolute;
|
||||
right: 20px;
|
||||
top: 20px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<el-row class="header navbar bg-white shadow">
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-date-picker
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
value-format="yyyy" style="width: 150px"
|
||||
placeholder="选择年">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input placeholder="请输入内容" clearable v-model="pageForm.searchKeyword"
|
||||
@keyup.enter.native="doSearch">
|
||||
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询类型"
|
||||
style="width: 120px;">
|
||||
<el-option label="活动名称" value="hd.name"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button mt5" v-if="all">
|
||||
<el-select v-model="pageForm.type" placeholder="活动组织单位" filterable clearable style="width: 160px;">
|
||||
<el-option
|
||||
v-for="item in [{id:1,name:'校工会活动'},{id:2,name:'院级工会活动'},{id:3,name:'协会活动'}]"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button mt5" v-if="all">
|
||||
<el-select v-model="pageForm.unionId" placeholder="工会" filterable clearable
|
||||
:disabled="[1].includes(pageForm.type)" style="width: 160px;">
|
||||
<el-option
|
||||
v-for="item in unions"
|
||||
:key="item.id"
|
||||
:label="item.unionname"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button mt5" v-if="all">
|
||||
<el-select v-model="pageForm.clubId" placeholder="协会" filterable clearable
|
||||
:disabled="[1].includes(pageForm.type)" style="width: 160px;">
|
||||
<el-option
|
||||
v-for="item in clubs"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
<el-row class="el-table-container">
|
||||
<el-table :data="tableData" style="width: 100%" row-key="id" @sort-change="pageOrder">
|
||||
<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 label="活动名称" prop="name" header-align="center" align="left" show-overflow-tooltip>
|
||||
<template scope="{row}">
|
||||
<el-link type="primary" @click="openView(row)"><i>{{row.name}}</i></el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="活动类型" prop="style" header-align="center"
|
||||
align="center" sortable></el-table-column>
|
||||
|
||||
<el-table-column label="活动项目" prop="project" header-align="center"
|
||||
align="center" sortable></el-table-column>
|
||||
|
||||
<el-table-column label="活动组织单位" prop="be_time" header-align="center"
|
||||
align="center" sortable>
|
||||
<template scope="{row:{type,unionname,clubname}}">
|
||||
<span v-if="type==1">校工会活动</span>
|
||||
<span v-if="type==2&&unionname">{{unionname}}</span>
|
||||
<span v-if="type==3&&clubname">{{clubname}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="活动日期" prop="be_time" header-align="center"
|
||||
align="center" sortable>
|
||||
<template scope="{row:{be_time,end_time}}">
|
||||
{{moment(be_time).format('YYYY-MM-DD')}}
|
||||
<!-- {{be_time}} - {{end_time}}-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="活动状态" prop="status" header-align="center"
|
||||
align="center" sortable>
|
||||
<template scope="{row:{apply_be_time,apply_end_time,be_time,end_time}}">
|
||||
<div v-html="getStatus(apply_be_time,apply_end_time,be_time,end_time)"></div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column align="center" header-align="center" label="操作" width="180px">
|
||||
<template scope="{row}">
|
||||
<el-button size="mini" icon="el-icon-zoom-in" @click="openView(row)">查看</el-button>
|
||||
<el-button icon="el-icon-upload" size="mini" @click="openAdd(row)">上传</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</template>
|
||||
|
||||
<template #edit>
|
||||
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-width="120px">
|
||||
<el-form-item label="填写资料信息 " label-width="135px" class="view-header">
|
||||
</el-form-item>
|
||||
|
||||
<el-row gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="activity_name" label="活  动">
|
||||
<el-input disabled v-model="formData.activity_name" type="text"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="username" label="上传人">
|
||||
<el-input disabled v-model="formData.username" type="text"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="name" label="资料名称">
|
||||
<el-input maxlength="100" placeholder="请填写资料名称" v-model="formData.name"
|
||||
type="text"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="type" label="资料类型">
|
||||
<el-select v-model="formData.type" placeholder="请选择资料类型"
|
||||
style="width: 100%;">
|
||||
<el-option
|
||||
v-for="item in fileType"
|
||||
:key="item.name"
|
||||
:label="item.name"
|
||||
:value="item.name">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="files" label="文  件">
|
||||
<file-upload :files.sync="formData.files" card></file-upload>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-form>
|
||||
|
||||
<div style="float: right;margin: 20px 0">
|
||||
<el-button plain type="primary" @click="doAdd">确 定</el-button>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<div class="block">
|
||||
<el-timeline>
|
||||
<el-timeline-item v-for="(v,k) in files" :timestamp="k" placement="top" icon="el-icon-more"
|
||||
type="primary">
|
||||
<el-card v-for="file,i in v" style="margin-bottom: 20px;position: relative">
|
||||
|
||||
<div class="clearBtn">
|
||||
<el-button circle icon="el-icon-delete" @click="doDelete(k,i,file.id)"></el-button>
|
||||
</div>
|
||||
|
||||
<div style="display: flex;flex-direction:row;">
|
||||
<h4>{{file.name}} </h4>
|
||||
<h4><span style="font-size: 14px;color: rgb(200,200,200)">{{file.type}}</span></h4>
|
||||
</div>
|
||||
|
||||
<div style="margin: 20px 0">
|
||||
<file-upload :files="file.files"
|
||||
:view="true"></file-upload>
|
||||
</div>
|
||||
|
||||
<div style="text-align: right" class="text-primary">{{file.user_name}}</div>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
</el-timeline>
|
||||
</div>
|
||||
</template>
|
||||
</guava>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
const all = "${@shiro.hasAnyRoles('sysadmin,A06,xghhdwy')}" === 'true'
|
||||
const union = "${@shiro.hasAnyRoles('H04,gh08')}" === 'true'
|
||||
const club = "${@shiro.hasAnyRoles('H02')}" === 'true'
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
searchName: 'hd.name',
|
||||
year: moment().format("YYYY")
|
||||
},
|
||||
formRules: {
|
||||
username: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
activity_name: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
name: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
type: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
files: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
},
|
||||
unions: [],
|
||||
clubs: [],
|
||||
all, union, club,
|
||||
fileType: [],
|
||||
files: {},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
||||
'file-upload': httpVueLoader('/components/plugins/FileUpload.vue'),
|
||||
},
|
||||
methods: {
|
||||
getStatus(apply_start_time, apply_end_time, start_time, end_time) {
|
||||
// if (close) {
|
||||
// return `<span class="el-tag el-tag--info el-tag--light">活动已关闭</span>`
|
||||
// }
|
||||
const now = moment().valueOf()
|
||||
const dateNow = moment(moment(moment().format('YYYY-MM-DD')).valueOf()).valueOf()
|
||||
|
||||
if (dateNow < moment(apply_start_time).valueOf()) {
|
||||
return `<span class="el-tag el-tag--danger el-tag--light">未开始报名</span>`
|
||||
} else if (moment(apply_start_time).valueOf() <= dateNow && dateNow <= moment(apply_end_time).valueOf()) {
|
||||
return `<span class="el-tag el-tag--success el-tag--light">活动报名中</span>`
|
||||
} else if (moment(apply_end_time).valueOf() < now && now < moment(start_time).valueOf()) {
|
||||
return `<span class="el-tag el-tag--warning el-tag--light">报名已结束</span>`
|
||||
} else if (moment(start_time).valueOf() < now && now < moment(end_time).valueOf()) {
|
||||
return `<span class="el-tag el-tag--light">活动进行中</span>`
|
||||
} else if (moment(end_time).valueOf() < now) {
|
||||
return `<span class="el-tag el-tag--info el-tag--light">活动已结束</span>`
|
||||
}
|
||||
},
|
||||
doDelete(key, index, id) {
|
||||
this.$confirm('确定要删除吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: (a, b) => {
|
||||
if ("confirm" == a) {//确认后再执行
|
||||
$.post(loc() + "/delete", {id: id}, (data) => {
|
||||
if (data.code == 0) {
|
||||
this.$message.success(data.msg)
|
||||
|
||||
this.files[key].splice(index, 1)
|
||||
|
||||
if (!this.files[key].length) {
|
||||
delete this.files[key]
|
||||
|
||||
let i = 0
|
||||
for (let k in this.files) {
|
||||
i += this.files[k].length
|
||||
}
|
||||
if (!i) {
|
||||
this.$refs.guava.index()
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
doAdd() {
|
||||
this.$refs["form"].validate(async (valid) => {
|
||||
if (valid) {
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '正在提交...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: COVER_LAYER_COLOR
|
||||
});
|
||||
|
||||
const resp = await $.post(location.href + "/doAdd", {
|
||||
data: JSON.stringify(this.formData),
|
||||
})
|
||||
|
||||
closeLoadingFunc(loading, resp, async () => {
|
||||
this.$refs.guava.index()
|
||||
this.openView({id: this.formData.activity_id})
|
||||
}, (data, msg) => {
|
||||
this.$message.error(msg);
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
async openView(row) {
|
||||
const {id} = row
|
||||
|
||||
this.$set(row, "loading", true)
|
||||
|
||||
const resp = await $.get(loc() + "/getFiles", {id})
|
||||
|
||||
requestLaterFun(resp, (v) => {
|
||||
this.$set(row, "loading", false)
|
||||
if (!Object.keys(v).length) {
|
||||
this.$notify({
|
||||
title: '警告',
|
||||
message: '该活动尚未上传资料!',
|
||||
type: 'warning'
|
||||
});
|
||||
this.$refs.guava.index()
|
||||
return
|
||||
}
|
||||
|
||||
this.files = v
|
||||
this.$refs.guava.view()
|
||||
})
|
||||
},
|
||||
openAdd(row) {
|
||||
this.formData = {
|
||||
activity_id: row.id,
|
||||
activity_name: row.name,
|
||||
username: "${@shiro.getPrincipalProperty('username')}"
|
||||
}
|
||||
this.$refs.guava.edit()
|
||||
if (this.$refs['form']) {
|
||||
this.$refs['form'].resetFields()
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.pageData();
|
||||
if (all) {
|
||||
this.unions = await getUnions()
|
||||
this.clubs = await getClubs()
|
||||
}
|
||||
this.fileType = await getFileType()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,112 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.el-card__body {
|
||||
padding: 0px;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-clock>
|
||||
<el-card class="box-card">
|
||||
<el-row class="header navbar bg-white shadow" style="padding-left: 5px;padding-right: 5px;background-color: #e6f1fe;">
|
||||
<div class="btn-group tool-button mt5" style="width: 100%">
|
||||
<el-date-picker style="width: 100%"
|
||||
@change="init"
|
||||
v-model="year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="选择年">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
<el-card class="box-card" >
|
||||
<div slot="header" class="clearfix" >
|
||||
<span style="font-size: 18px">基层工会活动场地使用情况</span>
|
||||
</div>
|
||||
<div class="text item" style="height: 500px;" >
|
||||
<div id="container1" style="height:100%;width: 100%"></div>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
<script>
|
||||
window.vue = new Vue({
|
||||
el: '#app',
|
||||
data() {
|
||||
return {
|
||||
cd:[],
|
||||
count:[],
|
||||
year:moment().format('YYYY')
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
mounted(){
|
||||
this.init()
|
||||
},
|
||||
methods: {
|
||||
init(){
|
||||
$.ajaxSettings.async=false;
|
||||
$.post(base + "/platform/hd/hdcxtj/zhtj/cdTj",{year:this.year}).then(res=>{
|
||||
this.cd = res.data.cd
|
||||
this.count = res.data.count
|
||||
})
|
||||
$.ajaxSettings.async=true;
|
||||
let self=this
|
||||
let option = {
|
||||
title : {
|
||||
// text: '场地使用情况统计',
|
||||
// x:'left'
|
||||
},
|
||||
tooltip : {
|
||||
trigger: 'item',
|
||||
formatter: "使用率: <br/>{b} : {c} ({d}%)"
|
||||
},
|
||||
toolbox: {
|
||||
show: true,
|
||||
feature: {
|
||||
|
||||
},
|
||||
right:16,
|
||||
},
|
||||
legend: {
|
||||
right: 'right',
|
||||
data: self.cd,
|
||||
},
|
||||
series : [
|
||||
{
|
||||
name: '数据',
|
||||
type: 'pie',
|
||||
radius : '70%',
|
||||
center: ['45%', '50%'],
|
||||
label: {
|
||||
normal: {
|
||||
textStyle : {
|
||||
fontWeight : 'normal',
|
||||
fontSize : 18
|
||||
}
|
||||
}
|
||||
},
|
||||
data: self.count,
|
||||
itemStyle: {
|
||||
emphasis: {
|
||||
shadowBlur: 10,
|
||||
shadowOffsetX: 0,
|
||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
let dom = document.getElementById("container1");
|
||||
let myChart = echarts.init(dom,'westeros');
|
||||
myChart.setOption(option, true);
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,659 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.is-plain{
|
||||
background: #FFF;
|
||||
border-color: #409EFF;
|
||||
color: #409EFF;
|
||||
}
|
||||
.el-card__body {
|
||||
padding: 0px;
|
||||
}
|
||||
.el-table-container {
|
||||
padding-top: 0px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<transition name="el-zoom-in-center">
|
||||
<div style="padding: 10px" v-show="isshow">
|
||||
<el-card class="box-card">
|
||||
<el-row class="header navbar bg-white " style="padding-left: 5px;padding-right: 5px;background-color: #e6f1fe;">
|
||||
<div class="btn-group tool-button mt5" style="width: 100%">
|
||||
<el-date-picker style="width: 100%"
|
||||
@change="yearChange"
|
||||
v-model="year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="选择年">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<el-card class="box-card" id="first">
|
||||
<div slot="header" class="clearfix">
|
||||
<span style="font-size: 18px">活动概览</span>
|
||||
</div>
|
||||
<div style="display: flex;justify-content: space-around">
|
||||
<el-button plain type="primary">基层工会数量:{{buttonData.fhcount}}</el-button>
|
||||
<el-button plain type="primary">协会数量:{{buttonData.stcount}}</el-button>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<el-button :class="{'is-plain':pageForm.val==3}" @click="pageData(3)">校工会活动数量:{{buttonData.xhd}}</el-button>
|
||||
<el-button :class="{'is-plain':pageForm.val==4}" @click="pageData(4)">基层工会活动数量:{{buttonData.fhhd}}</el-button>
|
||||
<el-button :class="{'is-plain':pageForm.val==5}" @click="pageData(5)">协会活动数量:{{buttonData.sthd}}</el-button>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<el-button :class="{'is-plain':pageForm.val==6}" @click="pageData(6)">校工会正在进行活动:{{buttonData.xhdjx}}</el-button>
|
||||
<el-button :class="{'is-plain':pageForm.val==7}" @click="pageData(7)">基层工会正在进行活动:{{buttonData.fhhdjx}}</el-button>
|
||||
<el-button :class="{'is-plain':pageForm.val==8}" @click="pageData(8)">协会正在进行活动:{{buttonData.sthdjx}}</el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-row class="el-table-container">
|
||||
<el-table :data="tabledata" size="small" header-align="center">
|
||||
<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 align="center" label="活动名称" prop="hdmc"></el-table-column>
|
||||
<el-table-column align="center" label="活动地址" prop="hddz"></el-table-column>
|
||||
<el-table-column align="center" label="活动开始时间" prop="hdkssj"></el-table-column>
|
||||
<el-table-column align="center" label="活动结束时间" prop="hdjssj"></el-table-column>
|
||||
<el-table-column align="center" label="操作" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" @click="openview(scope)">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="pageForm.pageNumber"
|
||||
:page-sizes="[5, 10, 15, 20]"
|
||||
:page-size="pageForm.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="pageForm.totalCount">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</transition>
|
||||
|
||||
<transition name="el-zoom-in-center">
|
||||
<div style="padding: 10px" 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: 20px;background-color: #f5f5f5">
|
||||
{{viewData.xhdmc}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td >活动地点</td>
|
||||
<td colspan="2">{{viewData.hddz}}</td>
|
||||
<td>主办单位</td>
|
||||
<td colspan="2">{{viewData.unit}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>活动类型</td>
|
||||
<td>{{viewData.hdlx}}</td>
|
||||
<td>活动项目</td>
|
||||
<td>{{viewData.hdxm}}</td>
|
||||
<td>活动经费预算</td>
|
||||
<td>{{viewData.jfys}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td>报名开始时间</td>
|
||||
<td>{{viewData.bmkssj}}</td>
|
||||
<td>报名截止时间</td>
|
||||
<td>{{viewData.bmjssj}}</td>
|
||||
<td>活动年份</td>
|
||||
<td>{{viewData.hdnf}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td>活动开始时间</td>
|
||||
<td>{{viewData.hdks}}</td>
|
||||
<td>活动结束时间</td>
|
||||
<td>{{viewData.hdjs}}</td>
|
||||
<td>组合方式</td>
|
||||
<td>{{viewData.zhfs}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td>颁奖模式</td>
|
||||
<td>{{viewData.bjms}}</td>
|
||||
<td>竞赛模式</td>
|
||||
<td>{{viewData.jsfs}}</td>
|
||||
<td>报名方式</td>
|
||||
<td v-if="viewData.bmfs!='名额分配'">{{viewData.bmfs}}</td>
|
||||
<td 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 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 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 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 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 v-html="viewData.hdtz"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="活动工作人员列表" v-if="viewData.type=='xhd'" 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="活动获奖情况" v-if="viewData.type=='xhd'" 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="查看" :visible.sync="xhdDialogVisible" custom-class="ViewDialogClass" width="60%" top="3%">
|
||||
<el-collapse v-model="activeName" accordion>
|
||||
<el-collapse-item title="活动详细信息" name="1">
|
||||
<el-card>
|
||||
<table class="table table-bordered">
|
||||
<tr>
|
||||
<td colspan="6" class="text-center" style="font-size: 20px;background-color: #f5f5f5">
|
||||
{{viewData.xhdmc}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td >活动地点</td>
|
||||
<td colspan="2">{{viewData.hddz}}</td>
|
||||
<td>主办单位</td>
|
||||
<td colspan="2">{{viewData.unit}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>活动类型</td>
|
||||
<td>{{viewData.hdlx}}</td>
|
||||
<td>活动项目</td>
|
||||
<td>{{viewData.hdxm}}</td>
|
||||
<td>活动经费预算</td>
|
||||
<td>{{viewData.jfys}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td>报名开始时间</td>
|
||||
<td>{{viewData.bmkssj}}</td>
|
||||
<td>报名截止时间</td>
|
||||
<td>{{viewData.bmjssj}}</td>
|
||||
<td>活动年份</td>
|
||||
<td>{{viewData.hdnf}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td>活动开始时间</td>
|
||||
<td>{{viewData.hdks}}</td>
|
||||
<td>活动结束时间</td>
|
||||
<td>{{viewData.hdjs}}</td>
|
||||
<td>组合方式</td>
|
||||
<td>{{viewData.zhfs}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td>颁奖模式</td>
|
||||
<td>{{viewData.bjms}}</td>
|
||||
<td>竞赛模式</td>
|
||||
<td>{{viewData.jsfs}}</td>
|
||||
<td>报名方式</td>
|
||||
<td v-if="viewData.bmfs!='名额分配'">{{viewData.bmfs}}</td>
|
||||
<td 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 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 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 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 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 v-html="viewData.hdtz"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item title="活动工作人员列表" name="2">
|
||||
<el-card class="box-card">
|
||||
<el-table :data="gzryListTableData" size="small" border :header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<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-row>
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item title="基层工会报名情况" name="3">
|
||||
<el-card class="box-card">
|
||||
<el-table :data="bmTableData" height="400" size="small" border :header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<el-table-column label="序号" type="index" index="1" header-align="center" align="center" ></el-table-column>
|
||||
<el-table-column v-if="bmfs == '基层工会报名'" label="报名单位" width="220" prop="unionname" header-align="center" align="center" ></el-table-column>
|
||||
<el-table-column v-if="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 == '个人报名'" width="240px" 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-row>
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item title="活动获奖情况" name="4">
|
||||
<el-card class="box-card">
|
||||
<el-table :data="hjTableData" size="small" border :header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<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-card>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog title="查看" :visible.sync="fhdDialogVisible" custom-class="ViewDialogClass" width="60%" top="3%">
|
||||
<el-collapse v-model="activeName" accordion>
|
||||
<el-collapse-item title="活动详细信息" name="1">
|
||||
<el-card>
|
||||
<table style="width: 100%">
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6" style="font-size: 18px;">{{viewData.fhdmc}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">活动类型</td>
|
||||
<td class="tpb">{{viewData.hdlx}}</td>
|
||||
<td class="tpa">活动项目</td>
|
||||
<td class="tpb">{{viewData.hdxm}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">活动地点</td>
|
||||
<td class="tpb">{{viewData.hddz}}</td>
|
||||
<td class="tpa">活动年份</td>
|
||||
<td class="tpb">{{viewData.hdnf}}</td>
|
||||
<!--<td class="tpa" >活动经费预算</td>
|
||||
<td class="tpb">{{viewData.jfys}}</td>-->
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">主办基层工会</td>
|
||||
<td class="tpb">{{viewData.unionname}}</td>
|
||||
<td class="tpa">人数限制</td>
|
||||
<td class="tpb">{{viewData.hdrs}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">报名开始时间</td>
|
||||
<td class="tpb">{{viewData.bmkssj}}</td>
|
||||
<td class="tpa">报名截止时间</td>
|
||||
<td class="tpb">{{viewData.bmjssj}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">活动开始时间</td>
|
||||
<td class="tpb">{{viewData.hdks}}</td>
|
||||
<td class="tpa">活动结束时间</td>
|
||||
<td class="tpb">{{viewData.hdjs}}</td>
|
||||
</tr>
|
||||
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">报名办法</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.bmbf"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">活动内容</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.hdnr"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">奖励办法</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.jlbf"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">其他注意事项</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.zysx"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item title="活动报名情况" name="2">
|
||||
<el-card class="box-card bmqk">
|
||||
<el-table :data="bmTableData" size="small" border height="400"
|
||||
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<el-table-column label="序号" type="index" index="1" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="职工号" prop="loginname" 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="mobile" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="所属单位" width="172px" prop="name" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="基层工会" width="172px" prop="unionname" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog title="查看" :visible.sync="sthdDialogVisible" custom-class="ViewDialogClass" width="60%" top="3%">
|
||||
<el-collapse v-model="activeName" accordion>
|
||||
<el-collapse-item title="活动详细信息" name="1">
|
||||
<el-card>
|
||||
<table style="width: 100%">
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6" style="font-size: 18px;">{{viewData.hdmc}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" >主要负责人</td>
|
||||
<td class="tpb" >{{viewData.username}}</td>
|
||||
<td class="tpa" >联系电话</td>
|
||||
<td class="tpb" >{{viewData.phone}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" >活动类型</td>
|
||||
<td class="tpb" >{{viewData.hdlx}}</td>
|
||||
<td class="tpa" >活动项目</td>
|
||||
<td class="tpb" >{{viewData.hdxm}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" >活动经费</td>
|
||||
<td class="tpb" >{{viewData.jfys}}</td>
|
||||
<td class="tpa" >成员人数</td>
|
||||
<td class="tpb">{{viewData.cyrs}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" >报名开始时间</td>
|
||||
<td class="tpb">{{viewData.bmkssj}}</td>
|
||||
<td class="tpa" >报名截止时间</td>
|
||||
<td class="tpb">{{viewData.bmjssj}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" >活动开始时间</td>
|
||||
<td class="tpb">{{viewData.hdks}}</td>
|
||||
<td class="tpa" >活动结束时间</td>
|
||||
<td class="tpb">{{viewData.hdjs}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" >活动地址</td>
|
||||
<td class="tpb" colspan="3">{{viewData.hddz}}</td>
|
||||
</tr>
|
||||
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6" >活动主要内容</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6"><div v-html="viewData.hdnr"></div></td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6" >活动宗旨</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6"><div v-html="viewData.hdzz"></div></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item title="活动报名情况" name="2">
|
||||
<el-card class="box-card">
|
||||
<el-table :data="bmTableData" height="400" size="small" border :header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<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-column label="基层工会" prop="unionname" header-align="center" align="center" ></el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
window.vue = new Vue({
|
||||
el: '#app',
|
||||
data() {
|
||||
return {
|
||||
buttonData:{},
|
||||
pageForm:{
|
||||
pageNumber:1,
|
||||
pageSize:10,
|
||||
totalCount:0,
|
||||
val:1,
|
||||
year:moment().format('YYYY')
|
||||
},
|
||||
tabledata:[],
|
||||
xhdDialogVisible:false,
|
||||
viewData:{},
|
||||
bmTableData:[],
|
||||
hjTableData:[],
|
||||
gzryListTableData:[],
|
||||
activeName:['1'],
|
||||
bmfs:"",
|
||||
hdms:"",
|
||||
fhdDialogVisible:false,
|
||||
sthdDialogVisible:false,
|
||||
year:moment().format('YYYY'),
|
||||
isshow:true,
|
||||
xqactive:"1"
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.gethdCount();
|
||||
this.pageData(3);
|
||||
},
|
||||
methods: {
|
||||
yearChange(val){
|
||||
this.gethdCount();
|
||||
this.pageForm.year=val;
|
||||
this.pageForm.val=3;
|
||||
this.pageData(3);
|
||||
},
|
||||
gethdCount(){
|
||||
$.post(base+'/platform/hd/hdcounttj/hdcount',{year:this.year}).then(res=>{
|
||||
this.buttonData=res
|
||||
})
|
||||
},
|
||||
pageData(val){
|
||||
this.pageForm.pageNumber=1;
|
||||
this.pageForm.val=val;
|
||||
$.post(base+'/platform/hd/hdcounttj/pageData',this.pageForm).then(res=>{
|
||||
//if()
|
||||
this.tabledata = res.data.list
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
});
|
||||
},
|
||||
handleSizeChange(val){
|
||||
this.pageForm.pageSize=val;
|
||||
this.pageData();
|
||||
},
|
||||
handleCurrentChange(val){
|
||||
this.pageForm.pageNumber=val;
|
||||
this.pageData();
|
||||
},
|
||||
openview(scope){
|
||||
if(scope.row.type=='xhd'){
|
||||
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(res=>{
|
||||
this.viewData = res.data.xhd;
|
||||
this.viewData.type=scope.row.type;
|
||||
this.bmTableData = res.data.cyry;
|
||||
this.hjTableData = res.data.hj;
|
||||
//this.gzryListTableData = res.data.gzry;
|
||||
this.isshow = false;
|
||||
|
||||
})
|
||||
}else if(scope.row.type=='fhd'){
|
||||
$.post(base + "/platform/hd/fhdgl/fhdxxgl/findById", {id: scope.row.id}).then(res=>{
|
||||
this.viewData = res.data.fhd;
|
||||
this.viewData.type=scope.row.type;
|
||||
this.bmTableData = res.data.cyry;
|
||||
//this.fhdDialogVisible = true;
|
||||
this.isshow = false;
|
||||
});
|
||||
}else if(scope.row.type=='sthd'){
|
||||
this.temp=scope.row;
|
||||
$.post(base + "/platform/hd/sthdgl/hdxxgl/findById", {id:scope.row.id}).then(res=>{
|
||||
this.viewData = res.data.sthd;
|
||||
this.viewData.type=scope.row.type;
|
||||
this.bmTableData = res.data.cyry;
|
||||
//this.sthdDialogVisible = true;
|
||||
this.isshow = false;
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,515 @@
|
||||
<!--年度活动统计 djx -->
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.text {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.item {
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
|
||||
.clearfix {
|
||||
font-weight: bold;
|
||||
|
||||
}
|
||||
|
||||
.el-card__header {
|
||||
background-color: #ebeef5;
|
||||
/*ebb563*/
|
||||
padding: 8px 10px;
|
||||
border-bottom: 1px solid #EBEEF5;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.el-input--mini .el-input__inner {
|
||||
height: 23px;
|
||||
line-height: 23px;
|
||||
}
|
||||
|
||||
.el-card__body {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.el-table-containera {
|
||||
padding-top: 5px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.picClass .el-dialog {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.picClass .el-dialog__headerbtn {
|
||||
font-size: 70px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.picClass .el-dialog__body {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.picClass .el-dialog__header {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.picClass .el-dialog__headerbtn .el-dialog__close {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.el-pagination-container {
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.el-card {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<el-card class="box-card">
|
||||
<el-row class="header navbar bg-white shadow"
|
||||
style="padding-left: 5px;padding-right: 5px;background-color: #e6f1fe;">
|
||||
|
||||
<div class="btn-group tool-button mt5" style="width: 100%">
|
||||
<el-date-picker style="width: 100%" @change="pageData();container1()"
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="选择年">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<el-row class="el-table-containera">
|
||||
<div style="float: left;width: 100%;">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>活动类型统计</span>
|
||||
</div>
|
||||
<div class="text item" style="height: 230px;">
|
||||
<div id="container1" style="height:100%;width: 100%"></div>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
<el-row class="header navbar bg-white shadow">
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-button @click="loading = true;pageForm.name='';pageData()">查询所有数据</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
<!--表格-->
|
||||
<el-row class="el-table-container">
|
||||
<el-card class="box-card">
|
||||
<el-table :data="tableData" v-loading="loading" element-loading-text="拼命加载中"
|
||||
element-loading-spinner="el-icon-loading" element-loading-background="white" size="small"
|
||||
:header-cell-style="{background:'#F5F5F5',color:'#606266'}">
|
||||
<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="xhdmc" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="活动地点" prop="hddz" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="活动开始时间" prop="kssj" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="活动结束时间" prop="jssj" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="参与活动人数" prop="cyrs" 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 align="center" label="操作" width="80px">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--分页-->
|
||||
<el-row class="el-pagination-container">
|
||||
<el-pagination
|
||||
@size-change="pageSizeChange"
|
||||
@current-change="pageNumberChange"
|
||||
:current-page="pageForm.pageNumber"
|
||||
:page-sizes="[5, 10, 15, 20]"
|
||||
:page-size="pageForm.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="pageForm.totalCount">
|
||||
</el-pagination>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</el-row>
|
||||
|
||||
<!--查看-->
|
||||
<el-dialog title="查看" class="dia"
|
||||
:visible.sync="infoDialogVisible" custom-class="ViewDialogClass" width="48%" top="3%">
|
||||
|
||||
<el-collapse v-model="activeName" accordion>
|
||||
<el-collapse-item title="活动详细信息" name="1">
|
||||
<el-card>
|
||||
<table style="width: 100%">
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6" style="font-size: 18px;">{{viewData.xhdmc}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">活动地点</td>
|
||||
<td class="tpb" colspan="2">{{viewData.hddz}}</td>
|
||||
<td class="tpa">主办单位</td>
|
||||
<td class="tpb" colspan="2">{{viewData.unit}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">活动类型</td>
|
||||
<td class="tpb">{{viewData.hdlx}}</td>
|
||||
<td class="tpa">活动项目</td>
|
||||
<td class="tpb">{{viewData.hdxm}}</td>
|
||||
<td class="tpa">活动经费预算</td>
|
||||
<td class="tpb">{{viewData.jfys}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">活动年份</td>
|
||||
<td class="tpb">{{viewData.hdnf}}</td>
|
||||
<td class="tpa">活动人数</td>
|
||||
<td class="tpb">{{viewData.hdrs}}</td>
|
||||
<td class="tpa">男队人数</td>
|
||||
<td class="tpb">{{viewData.manrs}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">报名开始时间</td>
|
||||
<td class="tpb">{{viewData.bmkssj}}</td>
|
||||
<td class="tpa">报名截止时间</td>
|
||||
<td class="tpb">{{viewData.bmjssj}}</td>
|
||||
<td class="tpa">女队人数</td>
|
||||
<td class="tpb">{{viewData.womenrs}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">活动开始时间</td>
|
||||
<td class="tpb">{{viewData.hdks}}</td>
|
||||
<td class="tpa">活动结束时间</td>
|
||||
<td class="tpb">{{viewData.hdjs}}</td>
|
||||
<td class="tpa">组合方式</td>
|
||||
<td class="tpb">{{viewData.zhfs}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">颁奖模式</td>
|
||||
<td class="tpb">{{viewData.bjms}}</td>
|
||||
<td class="tpa">竞赛模式</td>
|
||||
<td class="tpb">{{viewData.jsfs}}</td>
|
||||
<td class="tpa">报名方式</td>
|
||||
<td class="tpb">{{viewData.bmfs}}</td>
|
||||
</tr>
|
||||
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">报名办法</td>
|
||||
</tr>
|
||||
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.bmbf"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">竞赛办法</td>
|
||||
</tr>
|
||||
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.jsbf"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">奖励办法</td>
|
||||
</tr>
|
||||
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.jlbf"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">其他注意事项</td>
|
||||
</tr>
|
||||
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.zysx"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-show="viewData.jsfs=='非竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">活动通知</td>
|
||||
</tr>
|
||||
<tr v-show="viewData.jsfs=='非竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.hdtz"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item title="活动工作人员列表" name="2">
|
||||
<el-card class="box-card">
|
||||
<el-table :data="gzryListTableData" size="small" border
|
||||
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<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-row>
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item title="基层工会报名情况" name="3">
|
||||
<el-card class="box-card">
|
||||
<el-table :data="bmTableData" size="small" border
|
||||
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<el-table-column label="序号" type="index" index="1" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column v-if="bmfs == '基层工会报名'" label="报名单位" width="220" prop="unionname"
|
||||
header-align="center" align="center"></el-table-column>
|
||||
<el-table-column v-if="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 == '个人报名'" width="240px" 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-row>
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item title="活动获奖情况" name="4">
|
||||
<el-card class="box-card">
|
||||
<el-table :data="hjTableData" size="small" border
|
||||
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<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-card>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
pageForm: {//分页
|
||||
pageNumber: 1,
|
||||
pageSize: 5,
|
||||
totalCount: 0,
|
||||
searchKeyword: "",
|
||||
name: "",
|
||||
year: new Date().getFullYear() + ''
|
||||
},
|
||||
tableData: [],//表格
|
||||
total: "",
|
||||
loading: true,
|
||||
|
||||
/*查看*/
|
||||
infoDialogVisible: false,
|
||||
activeName: '1',
|
||||
viewData: [],
|
||||
bmTableData: [],
|
||||
bmfs: "",
|
||||
hdms: "",
|
||||
hjTableData: [],
|
||||
gzryListTableData: [],
|
||||
|
||||
hdxm: [],
|
||||
hdxmTj: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
pageData: function () {//表格展示数据
|
||||
var self = this;
|
||||
|
||||
sublime.showLoadingbar();//显示loading
|
||||
$.post(base + "/platform/hd/hdcxtj/hdlxtj/data", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.data.list;
|
||||
self.pageForm.totalCount = data.data.data.totalCount;
|
||||
setTimeout(function () {
|
||||
self.loading = false;
|
||||
}, 200);
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*分页*/
|
||||
pageSizeChange: function (val) {
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange: function (val) {
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
/*查看*/
|
||||
openInfo: function (scope) {
|
||||
|
||||
var self = this;
|
||||
self.bmfs = scope.row.bmfs;
|
||||
self.hdms = scope.row.bjms;
|
||||
$.post(base + "/platform/hd/xhdgl/xhdxxgl/findById", {
|
||||
id: scope.row.id,
|
||||
bmfs: scope.row.bmfs,
|
||||
bjms: scope.row.bjms
|
||||
}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.viewData = data.data.xhd;
|
||||
self.bmTableData = data.data.cyry;
|
||||
self.hjTableData = data.data.hj;
|
||||
self.gzryListTableData = data.data.gzry;
|
||||
self.infoDialogVisible = true;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
container1: function () {
|
||||
var self = this;
|
||||
var dom = document.getElementById("container1");
|
||||
var myChart = echarts.init(dom);
|
||||
option = null;
|
||||
$.post(base + "/platform/hd/hdcxtj/hdlxtj/lxTj", {year: self.pageForm.year}, function (data) {
|
||||
|
||||
if (data.code == 0) {
|
||||
self.hdxm = data.data.hdxm;
|
||||
self.hdxmTj = data.data.hdxmTj;
|
||||
//加载柱状图
|
||||
option = {
|
||||
title: {
|
||||
// text: '根据活动分类进行统计',
|
||||
/*subtext: '人数'*/
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: { // 坐标轴指示器,坐标轴触发有效
|
||||
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: ["活动数量"],
|
||||
},
|
||||
toolbox: {
|
||||
show: true,
|
||||
feature: {
|
||||
saveAsImage: {}
|
||||
},
|
||||
right: 16,
|
||||
},
|
||||
height: 170,
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
triggerEvent: true,
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: self.hdxm,
|
||||
triggerEvent: true,
|
||||
},
|
||||
color: [
|
||||
"#46A3FF",
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: "活动数量",
|
||||
data: self.hdxmTj,
|
||||
type: 'bar',
|
||||
markPoint: {
|
||||
data: [
|
||||
{type: 'max', name: '最大值', symbolSize: [40, 40]},
|
||||
{type: 'min', name: '最小值', symbolSize: [40, 40]}
|
||||
]
|
||||
},
|
||||
markLine: {
|
||||
data: [
|
||||
{type: 'average', name: '平均值'}
|
||||
]
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#60C0DD', //圈圈的颜色
|
||||
lineStyle: {
|
||||
color: '#FE8463' //线的颜色
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
]
|
||||
};
|
||||
myChart.on("click", function (obj) {
|
||||
self.pageForm.name = obj.name;
|
||||
self.loading = true;
|
||||
$.post(base + "/platform/hd/hdcxtj/hdlxtj/data", self.pageForm, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.data.list;
|
||||
self.pageForm.totalCount = data.data.data.totalCount;
|
||||
setTimeout(function () {
|
||||
self.loading = false;
|
||||
}, 200);
|
||||
}
|
||||
}, "json");
|
||||
});
|
||||
if (option && typeof option === "object") {
|
||||
myChart.setOption(option, true);
|
||||
}
|
||||
//完毕-------------------
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
|
||||
},
|
||||
},
|
||||
created: function () {
|
||||
this.pageData();
|
||||
},
|
||||
mounted: function () {
|
||||
this.container1();
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,266 @@
|
||||
<!--年度活动统计 djx -->
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
|
||||
.el-divider--horizontal {
|
||||
margin: 46px 0px;
|
||||
}
|
||||
|
||||
.layout .header {
|
||||
background-color: #e6a23c;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.text {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.item {
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
|
||||
.clearfix {
|
||||
font-weight: bold;
|
||||
|
||||
}
|
||||
|
||||
.el-card__header {
|
||||
background-color: #ebeef5;
|
||||
/*ebb563*/
|
||||
padding: 8px 10px;
|
||||
border-bottom: 1px solid #EBEEF5;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.el-input--mini .el-input__inner {
|
||||
height: 23px;
|
||||
line-height: 23px;
|
||||
}
|
||||
|
||||
.el-card__body {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.el-table-containera {
|
||||
padding-top: 5px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.el-card__header {
|
||||
background-color: #ebeef5;
|
||||
/*ebb563*/
|
||||
padding: 8px 10px;
|
||||
border-bottom: 1px solid #EBEEF5;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<div style="text-align: center;font-size: 16px;">文体活动一览表</div>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card class="box-card">
|
||||
<el-row class="header bg-white shadow"
|
||||
style="padding-left: 5px;padding-right: 5px;background-color: #e6f1fe;">
|
||||
<el-row gutter="5">
|
||||
<el-col :span="20">
|
||||
<div class="btn-group tool-button mt5" style="width: 100%">
|
||||
<el-select v-model="value" @change="selVal" placeholder="请选择" style="width: 100%">
|
||||
<el-option label="校工会活动" value="1"></el-option>
|
||||
<el-option label="院级工会活动" value="2"></el-option>
|
||||
<el-option label="协会活动" value="3"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<div class="btn-group tool-button mt5" style="width: 100%">
|
||||
<el-date-picker style="width: 100%" @change="selVal(value)"
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="选择年">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
<!--表格-->
|
||||
<el-row class="el-table-container" v-show="xhdShow">
|
||||
<el-card class="box-card">
|
||||
<el-table :data="tableData" v-loading="loading" element-loading-text="拼命加载中"
|
||||
element-loading-spinner="el-icon-loading" element-loading-background="white" size="medium"
|
||||
:header-cell-style="{background:'#F5F5F5',color:'#606266'}">
|
||||
<el-table-column label="序号" header-align="center" align="center" type="index">
|
||||
<template scope="scope"><span>{{scope.$index+1}}</span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="活动名称" prop="xhdmc" header-align="center" align="center"></el-table-column>
|
||||
|
||||
<el-table-column label="时间" prop="name" header-align="center" align="center">
|
||||
<template scope="scope"><span>{{scope.row.hdkssj}} 至 {{scope.row.hdjssj}}</span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="活动情况" prop="name" header-align="center" align="center">
|
||||
<template scope="scope"><span>{{scope.row.cjdw}}个分会参加活动,参与活动人数共计:{{scope.row.ybmnumber}}人,工作人员数共计:{{scope.row.gznumber}}人</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center">
|
||||
<template scope="scope">
|
||||
<el-button @click="exportFFmd(scope.row.id)">
|
||||
导出名单
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
</el-row>
|
||||
|
||||
<el-row class="el-table-container" v-show="fhdShow">
|
||||
<el-card class="box-card">
|
||||
<el-table :data="fhData" v-loading="loading" element-loading-text="拼命加载中"
|
||||
element-loading-spinner="el-icon-loading" element-loading-background="white" size="medium"
|
||||
:header-cell-style="{background:'#F5F5F5',color:'#606266'}">
|
||||
<el-table-column label="序号" header-align="center" align="center" type="index">
|
||||
<template scope="scope"><span>{{scope.$index+1}}</span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="活动名称" prop="fhdmc" header-align="center" align="center"></el-table-column>
|
||||
|
||||
<el-table-column label="时间" prop="name" header-align="center" align="center">
|
||||
<template scope="scope"><span>{{scope.row.hdkssj}} 至 {{scope.row.hdjssj}}</span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="基层工会" prop="unionname" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="活动情况" prop="name" header-align="center" align="center">
|
||||
<template scope="scope"><span>参与活动人数共计:{{scope.row.rs}}人,取消报名共计:{{scope.row.qxrs}}人</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
</el-row>
|
||||
|
||||
<el-row class="el-table-container" v-show="stShow">
|
||||
<el-card class="box-card">
|
||||
<el-table :data="stData" v-loading="loading" element-loading-text="拼命加载中"
|
||||
element-loading-spinner="el-icon-loading" element-loading-background="white" size="medium"
|
||||
:header-cell-style="{background:'#F5F5F5',color:'#606266'}">
|
||||
<el-table-column label="序号" header-align="center" align="center" type="index">
|
||||
<template scope="scope"><span>{{scope.$index+1}}</span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="活动名称" prop="hdmc" header-align="center" align="center"></el-table-column>
|
||||
|
||||
<el-table-column label="时间" prop="name" header-align="center" align="center">
|
||||
<template scope="scope"><span>{{scope.row.hdkssj}} 至 {{scope.row.hdjssj}}</span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="所属协会" prop="stmc" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="活动情况" prop="name" header-align="center" align="center">
|
||||
<template scope="scope"><span>参与活动人数共计:{{scope.row.rs}}人,取消报名共计:{{scope.row.qxrs}}人</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
</el-row>
|
||||
|
||||
<el-divider content-position="left"><span style="font-size: 16px;color: #409eff">参与活动总人次:{{total.count}} 人次;</span>
|
||||
</el-divider>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
pageForm: {//分页
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword: "",
|
||||
year: new Date().getFullYear() + '',
|
||||
},
|
||||
tableData: [],//表格
|
||||
total: "",
|
||||
value: "",
|
||||
xhdShow: true,
|
||||
fhdShow: false,
|
||||
stShow: false,
|
||||
loading: true,
|
||||
|
||||
fhData: [],
|
||||
stData: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
exportFFmd(id) {
|
||||
window.location.href = '/platform/hd/hdcxtj/ndhdtj/exportFFmd?id=' + id
|
||||
},
|
||||
pageData: function () {//表格展示数据
|
||||
var self = this;
|
||||
|
||||
$.post(base + "/platform/hd/hdcxtj/ndhdtj/data", {year: self.pageForm.year}, function (data) {
|
||||
|
||||
if (data.code == 0) {
|
||||
self.value = '1';
|
||||
self.tableData = data.data.data;
|
||||
console.log(data.data.data)
|
||||
self.total = data.data.total;
|
||||
setTimeout(function () {
|
||||
self.loading = false;
|
||||
}, 200);
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
selVal: function (obj) {
|
||||
var self = this;
|
||||
self.loading = true;
|
||||
if (obj == "2") {
|
||||
self.xhdShow = false;
|
||||
self.fhdShow = true;
|
||||
self.stShow = false;
|
||||
$.post(base + "/platform/hd/hdcxtj/ndhdtj/fhData", {year: self.pageForm.year}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.fhData = data.data.data;
|
||||
self.total = data.data.total;
|
||||
}
|
||||
}, "json");
|
||||
} else if (obj == "3") {
|
||||
self.xhdShow = false;
|
||||
self.fhdShow = false;
|
||||
self.stShow = true;
|
||||
$.post(base + "/platform/hd/hdcxtj/ndhdtj/stData", {year: self.pageForm.year}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.stData = data.data.data;
|
||||
self.total = data.data.total;
|
||||
}
|
||||
}, "json");
|
||||
} else if (obj == "1") {
|
||||
self.xhdShow = true;
|
||||
self.fhdShow = false;
|
||||
self.stShow = false;
|
||||
self.pageData();
|
||||
}
|
||||
setTimeout(function () {
|
||||
self.loading = false;
|
||||
}, 200);
|
||||
}
|
||||
},
|
||||
created: function () {
|
||||
this.pageData();
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,485 @@
|
||||
<!--综合统计 djx -->
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.text {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.item {
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
|
||||
.clearfix {
|
||||
font-weight: bold;
|
||||
|
||||
}
|
||||
|
||||
.el-card__header {
|
||||
background-color: #ebeef5;
|
||||
/*ebb563*/
|
||||
padding: 8px 10px;
|
||||
border-bottom: 1px solid #EBEEF5;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.el-input--mini .el-input__inner {
|
||||
height: 23px;
|
||||
line-height: 23px;
|
||||
}
|
||||
|
||||
.el-card__body {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.el-table-containera {
|
||||
padding-top: 5px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.picClass .el-dialog {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.picClass .el-dialog__headerbtn {
|
||||
font-size: 70px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.picClass .el-dialog__body {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.picClass .el-dialog__header {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.picClass .el-dialog__headerbtn .el-dialog__close {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.el-pagination-container {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.el-card {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.el-divider--vertical {
|
||||
height: 2em;
|
||||
margin: 0px 28px;
|
||||
}
|
||||
|
||||
#first .el-card__body {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.but {
|
||||
padding: 12px 8px;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<transition name="el-zoom-in-center">
|
||||
<div style="padding: 10px" v-show="isshow">
|
||||
<el-card class="box-card">
|
||||
<el-row class="header bg-white shadow"
|
||||
style="padding-left: 5px;padding-right: 5px;background-color: #e6f1fe;">
|
||||
|
||||
<div class="btn-group tool-button mt5" style="width: 100%">
|
||||
<el-date-picker style="width: 100%" @change="pageData"
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="选择年">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<!--表格-->
|
||||
<el-row class="el-table-container">
|
||||
<!--<el-card class="box-card">
|
||||
<div slot="header" class="clearfix" >
|
||||
<span>活动获奖情况:</span>
|
||||
</div>
|
||||
|
||||
</el-card>-->
|
||||
<el-table :data="tableData" v-loading="loading" element-loading-text="拼命加载中"
|
||||
element-loading-spinner="el-icon-loading" element-loading-background="white" 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="xhdmc" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="活动地点" prop="hddz" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="活动开始时间" prop="kssj" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="活动结束时间" prop="jssj" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="活动状态" prop="zt" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="参与活动人数" prop="ybmnumber" header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span class="label label-sm label-success"
|
||||
style="padding: .2em .6em .2em;">{{scope.row.ybmnumber}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="活动获奖人数" prop="hjcount" header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span class="label label-sm label-danger"
|
||||
style="padding: .2em .6em .2em;">{{scope.row.hjcount}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作" width="80px">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--分页-->
|
||||
<el-row class="el-pagination-container">
|
||||
<el-pagination
|
||||
@size-change="pageSizeChange"
|
||||
@current-change="pageNumberChange"
|
||||
:current-page="pageForm.pageNumber"
|
||||
:page-sizes="[5, 10, 15, 20]"
|
||||
:page-size="pageForm.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="pageForm.totalCount">
|
||||
</el-pagination>
|
||||
</el-row>
|
||||
</el-row>
|
||||
</div>
|
||||
</transition>
|
||||
<transition name="el-zoom-in-center">
|
||||
<div style="padding: 10px" 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: 20px;background-color: #f5f5f5">
|
||||
{{viewData.xhdmc}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td >活动地点</td>
|
||||
<td colspan="2">{{viewData.hddz}}</td>
|
||||
<td>主办单位</td>
|
||||
<td colspan="2">{{viewData.unit}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>活动类型</td>
|
||||
<td>{{viewData.hdlx}}</td>
|
||||
<td>活动项目</td>
|
||||
<td>{{viewData.hdxm}}</td>
|
||||
<td>活动经费预算</td>
|
||||
<td>{{viewData.jfys}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td>报名开始时间</td>
|
||||
<td>{{viewData.bmkssj}}</td>
|
||||
<td>报名截止时间</td>
|
||||
<td>{{viewData.bmjssj}}</td>
|
||||
<td>活动年份</td>
|
||||
<td>{{viewData.hdnf}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td>活动开始时间</td>
|
||||
<td>{{viewData.hdks}}</td>
|
||||
<td>活动结束时间</td>
|
||||
<td>{{viewData.hdjs}}</td>
|
||||
<td>组合方式</td>
|
||||
<td>{{viewData.zhfs}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td>颁奖模式</td>
|
||||
<td>{{viewData.bjms}}</td>
|
||||
<td>竞赛模式</td>
|
||||
<td>{{viewData.jsfs}}</td>
|
||||
<td>报名方式</td>
|
||||
<td v-if="viewData.bmfs!='名额分配'">{{viewData.bmfs}}</td>
|
||||
<td 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 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 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 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 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 v-html="viewData.hdtz"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="活动工作人员列表" name="2">
|
||||
<el-table :data="gzryListTableData" size="small" border
|
||||
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<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" size="small" border
|
||||
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<el-table-column label="序号" type="index" index="1" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column v-if="bmfs == '基层工会报名'" label="报名单位" width="220" prop="unionname"
|
||||
header-align="center" align="center"></el-table-column>
|
||||
<el-table-column v-if="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 == '个人报名'" width="240px" 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" border
|
||||
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<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>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
pageForm: {//分页
|
||||
pageNumber: 1,
|
||||
pageSize: 5,
|
||||
totalCount: 0,
|
||||
name: "",
|
||||
year: new Date().getFullYear() + ''
|
||||
},
|
||||
tableData: [],//表格
|
||||
total: "",
|
||||
loading: true,
|
||||
|
||||
/*查看*/
|
||||
infoDialogVisible: false,
|
||||
activeName: '1',
|
||||
viewData: [],
|
||||
bmTableData: [],
|
||||
bmfs: "",
|
||||
hdms: "",
|
||||
hjTableData: [],
|
||||
gzryListTableData: [],
|
||||
|
||||
hdxm: [],
|
||||
hdxmTj: [],
|
||||
|
||||
buttonData: [],
|
||||
|
||||
/*场地*/
|
||||
cc: [],
|
||||
count: [],
|
||||
isshow:true,
|
||||
xqactive:"1"
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
pageData: function () {//表格展示数据
|
||||
var self = this;
|
||||
|
||||
sublime.showLoadingbar();//显示loading
|
||||
$.post(base + "/platform/hd/hdcxtj/zhtj/data", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.second.list;
|
||||
self.buttonData = data.data.first;
|
||||
self.pageForm.totalCount = data.data.second.totalCount;
|
||||
setTimeout(function () {
|
||||
self.loading = false;
|
||||
}, 200);
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*分页*/
|
||||
pageSizeChange: function (val) {
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange: function (val) {
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
/*查看*/
|
||||
openInfo: function (scope) {
|
||||
|
||||
var self = this;
|
||||
self.bmfs = scope.row.bmfs;
|
||||
self.hdms = scope.row.bjms;
|
||||
$.post(base + "/platform/hd/xhdgl/xhdxxgl/findById", {
|
||||
id: scope.row.id,
|
||||
bmfs: scope.row.bmfs,
|
||||
bjms: scope.row.bjms
|
||||
}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.viewData = data.data.xhd;
|
||||
self.bmTableData = data.data.cyry;
|
||||
self.hjTableData = data.data.hj;
|
||||
self.gzryListTableData = data.data.gzry;
|
||||
self.isshow = false;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
container1: function () {
|
||||
var self = this;
|
||||
var dom = document.getElementById("container1");
|
||||
var myChart = echarts.init(dom, 'westeros');
|
||||
option = null;
|
||||
$.post(base + "/platform/hd/hdcxtj/zhtj/cdTj", null, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.cd = data.data.cd;
|
||||
self.count = data.data.count;
|
||||
option = {
|
||||
title: {
|
||||
text: '场地使用情况统计',
|
||||
x: 'left'
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: "使用率: <br/>{b} : {c} ({d}%)"
|
||||
},
|
||||
toolbox: {
|
||||
show: true,
|
||||
feature: {
|
||||
saveAsImage: {}
|
||||
},
|
||||
right: 16,
|
||||
},
|
||||
legend: {
|
||||
right: 'center',
|
||||
data: self.cd,
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '数据',
|
||||
type: 'pie',
|
||||
radius: '55%',
|
||||
center: ['45%', '50%'],
|
||||
data: self.count,
|
||||
itemStyle: {
|
||||
emphasis: {
|
||||
shadowBlur: 10,
|
||||
shadowOffsetX: 0,
|
||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
if (option && typeof option === "object") {
|
||||
myChart.setOption(option, true);
|
||||
}
|
||||
//完毕-----
|
||||
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
|
||||
},
|
||||
},
|
||||
created: function () {
|
||||
this.pageData();
|
||||
},
|
||||
mounted: function () {
|
||||
this.container1();
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,364 @@
|
||||
<!--活动类型管理 何鹏飞 2019-6-12 -->
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.el-popper[x-placement^=bottom] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.el-select .el-input .el-select__caret.is-reverse {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.el-select .el-input .el-select__caret {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.el-divider--horizontal {
|
||||
margin: 0;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<el-row class="header navbar bg-white shadow">
|
||||
<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="name" header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<el-tooltip effect="light" class="item" effect="dark" placement="right-start">
|
||||
<div slot="content">
|
||||
<div v-if="scope.row.hdxm!=''&&scope.row.hdxm!=null" style="line-height: 24px;"
|
||||
v-for="item in scope.row.hdxm">{{item.name}}
|
||||
<el-divider></el-divider>
|
||||
</div>
|
||||
<div v-if="scope.row.hdxm==''||scope.row.hdxm==null">暂无活动项目</div>
|
||||
</div>
|
||||
<el-link @click="openInfo(scope)" :underline="false" type="primary"><i
|
||||
class="el-icon-view el-icon--left"></i>{{scope.row.name}}
|
||||
</el-link>
|
||||
</el-tooltip>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="300" header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
|
||||
<el-button type="primary" @click="openEdit(scope)" size="mini">编辑</el-button>
|
||||
<el-button type="danger" @click="deleteDo(scope)" 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>
|
||||
|
||||
<!--新增-->
|
||||
<el-dialog title="新增" width="40%" custom-class="ViewDialogClass" :visible.sync="addDialogVisible">
|
||||
|
||||
<el-form label-width="80px" size="small" :model="formData" :rules="formRules" ref="addForm">
|
||||
<el-form-item label="活动类型">
|
||||
<el-input maxlength="30" placeholder="类型名称"
|
||||
auto-complete="off" tabindex="3" type="text" v-model="formData.name"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="活动项目">
|
||||
<el-select
|
||||
v-model="formData.hdxm"
|
||||
multiple
|
||||
filterable
|
||||
style="width: 100%"
|
||||
allow-create
|
||||
default-first-option
|
||||
placeholder="可以输入多个项目名称,按回车确认">
|
||||
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="排序编号">
|
||||
<el-input maxlength="30" placeholder="排序编号"
|
||||
auto-complete="off" tabindex="3" type="text" v-model="formData.pxbh"></el-input>
|
||||
</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>
|
||||
|
||||
<!--编辑-->
|
||||
<el-dialog title="编辑" width="40%" custom-class="ViewDialogClass" :visible.sync="editDialogVisible">
|
||||
|
||||
<el-form label-width="80px" size="small" :model="editFormData" :rules="editFormRules" ref="editForm">
|
||||
<el-form-item label="活动类型">
|
||||
<el-input maxlength="30" placeholder="类型名称"
|
||||
auto-complete="off" tabindex="3" type="text" v-model="editFormData.name"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="活动项目">
|
||||
<el-select
|
||||
v-model="editFormData.hdxm"
|
||||
multiple
|
||||
filterable
|
||||
style="width: 100%"
|
||||
allow-create
|
||||
default-first-option
|
||||
placeholder="可以输入多个项目名称,按回车确认">
|
||||
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="排序编号">
|
||||
<el-input maxlength="30" placeholder="排序编号"
|
||||
auto-complete="off" tabindex="3" type="text" v-model="editFormData.pxbh"></el-input>
|
||||
</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="36%" custom-class="ViewDialogClass" :visible.sync="infoDialogVisible" top="3%">
|
||||
<table style="width: 100%">
|
||||
<tr style="width: 100%">
|
||||
<td class="tpa">活动类型名称</td>
|
||||
<td class="tpb" style="width: 30%;">{{viewData.name}}</td>
|
||||
</tr>
|
||||
<tr style="width: 100%">
|
||||
<td class="tpa">活动项目</td>
|
||||
<td class="tpb" style="width: 30%;">{{viewData.hdxm}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
pageForm: {//分页
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword: "",
|
||||
},
|
||||
tableData: [],//表格
|
||||
|
||||
/*新增*/
|
||||
addDialogVisible: false,
|
||||
formData: {
|
||||
hdxm: [],
|
||||
},
|
||||
formRules: {
|
||||
name: [
|
||||
{required: true, message: '请输入活动类型名称', trigger: ['blur', 'change']}
|
||||
],
|
||||
hdxm: [
|
||||
{required: true, message: '请输入活动项目', trigger: ['blur', 'change']}
|
||||
],
|
||||
pxbh: [
|
||||
{required: true, message: '请输入活动项目', trigger: ['blur', 'change']}
|
||||
],
|
||||
},
|
||||
|
||||
/*编辑*/
|
||||
editDialogVisible: false,
|
||||
editFormData: {
|
||||
hdxm: [],
|
||||
id: "",
|
||||
name: "",
|
||||
pxbh: "",
|
||||
},
|
||||
editFormRules: {},
|
||||
|
||||
/*查看*/
|
||||
infoDialogVisible: false,
|
||||
viewData: [],
|
||||
}
|
||||
},
|
||||
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/hdtype/data", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
|
||||
self.tableData = data.data.type.list;
|
||||
self.pageForm.totalCount = data.data.type.totalCount;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
doSearch: function () {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
/*新增*/
|
||||
openAdd: function () {
|
||||
var self = this;
|
||||
self.formData={};
|
||||
self.addDialogVisible = true;
|
||||
},
|
||||
doAdd: function () {
|
||||
var self = this;
|
||||
self.$refs["addForm"].validate(function (valid) {
|
||||
if (valid) {
|
||||
|
||||
$.post(base + "/platform/hd/hdtype/addDo", self.formData, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.addDialogVisible = false;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/*编辑*/
|
||||
openEdit: function (scope) {
|
||||
var self = this;
|
||||
self.editFormData.hdxm = [];
|
||||
self.editFormData.id = scope.row.id;
|
||||
$.post(base + "/platform/hd/hdtype/findById", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.editFormData.name = data.data.hd.name;
|
||||
self.editFormData.pxbh = data.data.hd.pxbh;
|
||||
for (var i = 0; i < data.data.hdxm.length; i++) {
|
||||
self.editFormData.hdxm.push(data.data.hdxm[i].name);
|
||||
}
|
||||
self.editDialogVisible = true;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
doEdit: function () {
|
||||
var self = this;
|
||||
self.$refs["editForm"].validate(function (valid) {
|
||||
if (valid) {
|
||||
|
||||
$.post(base + "/platform/hd/hdtype/editDo", self.editFormData, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.editDialogVisible = false;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/*查看*/
|
||||
openInfo: function (scope) {
|
||||
var self = this;
|
||||
$.post(base + "/platform/hd/hdtype/lookInfo", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.viewData = data.data.hd[0];
|
||||
self.infoDialogVisible = true;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*删除*/
|
||||
deleteDo: function (scope) {
|
||||
var self = this;
|
||||
if (scope.row.hdxm != null && scope.row.hdxm != "") {
|
||||
self.$alert("【" + scope.row.name + "】下包含活动项目,不能删除。", "温馨提示", {type: "info"});
|
||||
} else {
|
||||
self.$confirm("此操作将永久删除该类型, 是否继续?", "温馨提示", {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: function (a, b) {
|
||||
if ("confirm" == a) {
|
||||
$.post(base + "/platform/hd/hdtype/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();
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,885 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<div id="app" v-cloak>
|
||||
<transition name="el-zoom-in-center">
|
||||
<div style="padding: 10px" v-show="isshow">
|
||||
<el-row class="header bg-white " >
|
||||
<div class="pull-right offscreen-right mt5">
|
||||
<el-button size="medium" icon="el-icon-plus" @click="openAdd">新增</el-button>
|
||||
<el-button size="medium" @click="readMore" :disabled="selectData.length==0&&pageForm.activeName!='first'" @click="">标记已读</el-button>
|
||||
<el-button size="medium" @click="readAll" :disabled="pageForm.activeName!='first'">全部已读</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
<el-row class="el-table-container">
|
||||
<el-tabs v-model="pageForm.activeName" @tab-click="pageData(),selectData=[]">
|
||||
<el-tab-pane label="收件箱" name="first" >
|
||||
<el-table
|
||||
:data="tableData"
|
||||
@sort-change='pageOrder'
|
||||
size="small"
|
||||
header-align="center"
|
||||
style="width: 100%"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="35">
|
||||
</el-table-column>
|
||||
<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
|
||||
sortable
|
||||
prop="type"
|
||||
label="消息类型"
|
||||
header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="'system'==scope.row.type">预设团体</span>
|
||||
<span v-if="'user'==scope.row.type">自定义人员</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
||||
label="所属模块"
|
||||
header-align="center"
|
||||
:show-overflow-tooltip="true">
|
||||
<template scope="scope">
|
||||
<div v-if="scope.row.ssmk=='hd'">活动管理</div>
|
||||
<div v-if="scope.row.ssmk=='zg'">职工服务</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="title"
|
||||
label="标题"
|
||||
header-align="center"
|
||||
:show-overflow-tooltip="true">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="opAt"
|
||||
label="读取时间"
|
||||
header-align="center">
|
||||
<template slot-scope="scope">
|
||||
{{formatAt(scope.row.readat)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="delFlag"
|
||||
label="消息状态">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.status==0">
|
||||
未读
|
||||
</div>
|
||||
<div v-if="scope.row.status==1">
|
||||
已读
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<!--<el-dropdown @command="dropdownCommand">
|
||||
<el-button size="mini">
|
||||
<i class="ti-settings"></i>
|
||||
<span class="ti-angle-down"></span>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="{type:'select',id:scope.row.id,name:scope.row.title,scope:scope.row}">
|
||||
查看
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :command="{type:'delete',id:scope.row.id,name:scope.row.title}">
|
||||
删除
|
||||
</el-dropdown-item>
|
||||
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>-->
|
||||
<el-button @click="dropdownCommand('select',scope.row.id,scope.row.title,scope)" size="mini">查看</el-button>
|
||||
<el-button @click="dropdownCommand('delete',scope.row.id,scope.row.title,scope)" type="danger" size="mini">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="发件箱" name="second" >
|
||||
<el-table
|
||||
:data="tableData"
|
||||
@sort-change='pageOrder'
|
||||
size="small"
|
||||
header-align="center"
|
||||
style="width: 100%"
|
||||
>
|
||||
<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
|
||||
prop="username"
|
||||
label="接收用户"
|
||||
header-align="center"
|
||||
:show-overflow-tooltip="true">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="type"
|
||||
label="消息类型"
|
||||
header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="'system'==scope.row.type">预设团体</span>
|
||||
<span v-if="'user'==scope.row.type">自定义人员</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
||||
label="所属模块"
|
||||
header-align="center"
|
||||
:show-overflow-tooltip="true">
|
||||
<template scope="scope">
|
||||
<div v-if="scope.row.ssmk=='hd'">活动管理</div>
|
||||
<div v-if="scope.row.ssmk=='zg'">职工服务</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="title"
|
||||
label="标题"
|
||||
header-align="center"
|
||||
:show-overflow-tooltip="true">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="opAt"
|
||||
label="发送时间"
|
||||
header-align="center">
|
||||
<template slot-scope="scope">
|
||||
{{formatAt(scope.row.sendat)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="delFlag"
|
||||
label="消息状态">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<div v-if="scope.row.delflag">
|
||||
已删除
|
||||
</div>
|
||||
<div v-if="!scope.row.delflag">
|
||||
已发送
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="操作">
|
||||
<template slot-scope="scope">
|
||||
<!--<el-dropdown @command="dropdownCommand">
|
||||
<el-button size="mini">
|
||||
<i class="ti-settings"></i>
|
||||
<span class="ti-angle-down"></span>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="{type:'select',id:scope.row.id,name:scope.row.title,scope:scope.row}">
|
||||
查看
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :command="{type:'delete',id:scope.row.id,name:scope.row.title}">
|
||||
删除
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>-->
|
||||
<el-button @click="dropdownCommand('select',scope.row.id,scope.row.title,scope)" size="mini">查看</el-button>
|
||||
<el-button @click="dropdownCommand('delete',scope.row.id,scope.row.title,scope)" type="danger" size="mini">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="消息管理" name="three">
|
||||
<el-table
|
||||
:data="tableData"
|
||||
@sort-change='pageOrder'
|
||||
size="small"
|
||||
header-align="center"
|
||||
style="width: 100%"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<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
|
||||
sortable
|
||||
prop="type"
|
||||
label="消息类型"
|
||||
header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="'system'==scope.row.type">预设团体</span>
|
||||
<span v-if="'user'==scope.row.type">自定义人员</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
||||
label="所属模块"
|
||||
header-align="center"
|
||||
:show-overflow-tooltip="true">
|
||||
<template scope="scope">
|
||||
<div v-if="scope.row.ssmk=='hd'">活动管理</div>
|
||||
<div v-if="scope.row.ssmk=='zg'">职工服务</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="title"
|
||||
label="标题"
|
||||
header-align="center"
|
||||
:show-overflow-tooltip="true">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="all_num"
|
||||
label="总接收用户"
|
||||
header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="small" @click="viewUserList('all',scope.row.id)">{{scope.row.all_num}}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="unread_num"
|
||||
label="未读用户"
|
||||
header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="small" @click="viewUserList('unread',scope.row.id)">{{scope.row.unread_num}}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="opAt"
|
||||
label="发送时间"
|
||||
header-align="center">
|
||||
<template slot-scope="scope">
|
||||
{{formatAt(scope.row.sendat)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
sortable
|
||||
prop="delFlag"
|
||||
label="消息状态"
|
||||
header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.delflag">
|
||||
已删除
|
||||
</div>
|
||||
<div v-if="!scope.row.delflag">
|
||||
已发送
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="操作">
|
||||
<template slot-scope="scope">
|
||||
<!--<el-dropdown @command="dropdownCommand">
|
||||
<el-button size="mini">
|
||||
<i class="ti-settings"></i>
|
||||
<span class="ti-angle-down"></span>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="{type:'select',id:scope.row.id,name:scope.row.title,scope:scope.row}">
|
||||
查看
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :command="{type:'delete',id:scope.row.id,name:scope.row.title}">
|
||||
删除
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>-->
|
||||
<el-button @click="dropdownCommand('select',scope.row.id,scope.row.title,scope)" size="mini">查看</el-button>
|
||||
<el-button @click="dropdownCommand('delete',scope.row.id,scope.row.title,scope)" type="danger" size="mini">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</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="新增通知" :close-on-click-modal="false"
|
||||
:visible.sync="addDialogVisible" custom-class="ViewDialogClass" width="50%">
|
||||
<el-form :model="formData" v-show="active==2" ref="addForm" size="small" label-width="70px">
|
||||
<el-form-item label="标题" prop="phone">
|
||||
<el-input maxlength="100" placeholder="标题"
|
||||
v-model="formData.title" style="width: 100%"
|
||||
auto-complete="off" tabindex="4" type="text"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="链接地址" prop="phone">
|
||||
<el-input maxlength="100" placeholder="链接地址"
|
||||
v-model="formData.url" style="width: 100%"
|
||||
auto-complete="off" tabindex="4" type="text"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="消息内容" prop="phone">
|
||||
<!-- <el-input maxlength="100" placeholder="消息内容"
|
||||
v-model="formData.note" style="width: 100%"
|
||||
rows="4" type="textarea"></el-input>-->
|
||||
<div ref="xx" class="xx"></div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-form :model="formData" v-show="active==1" ref="addForm" size="small" label-width="70px">
|
||||
<el-form-item prop="type" label="发送对象">
|
||||
<el-radio-group v-model="formData.type">
|
||||
<el-radio label="system">预设团体</el-radio>
|
||||
<el-radio label="user">自定义人员</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户列表" v-if="formData.type=='user'" prop="phone">
|
||||
<el-row>
|
||||
<el-button icon="el-icon-search" @click="openSelect">选择用户</el-button>
|
||||
<el-button icon="el-icon-delete" @click="formData.users=[]" type="danger">清空用户</el-button>
|
||||
|
||||
</el-row>
|
||||
<el-table :data="formData.users" height="250" size="small">
|
||||
<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 :show-overflow-tooltip="true" label="工号" prop="loginname"></el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" label="姓名" prop="username"></el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" label="手机号" prop="mobile"></el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" label="单位" prop="unitname"></el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" label="院级工会" prop="unionname"></el-table-column>
|
||||
</el-table>
|
||||
</el-form-item>
|
||||
<el-form-item label="发送人员" v-if="formData.type=='system'">
|
||||
<el-checkbox-group v-model="formData.rylist">
|
||||
<el-checkbox label="H04">院级工会管理员</el-checkbox>
|
||||
<el-checkbox label="H01">全校工会会员</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-form :model="formData" v-if="active==0" ref="addForm" size="small" label-width="110px">
|
||||
<el-form-item label="所属模块" prop="phone">
|
||||
<el-select v-model="formData.ssmk" @change="getSj(formData.ssmk)" style="width: 100%">
|
||||
<el-option label="活动管理" value="hd"></el-option>
|
||||
<el-option label="职工服务" value="zg"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="发送方式" prop="phone">
|
||||
<el-checkbox-group v-model="formData.fsfs">
|
||||
<el-checkbox label="系统消息">系统消息</el-checkbox>
|
||||
<el-checkbox label="邮件发送">邮件发送</el-checkbox>
|
||||
<el-checkbox label="短信发送">短信发送</el-checkbox>
|
||||
<el-checkbox label="微信发送">微信发送</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
<el-form-item prop="type" 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-form>
|
||||
|
||||
<el-steps :active="active" finish-status="success">
|
||||
<el-step title="选择发送方式">
|
||||
|
||||
</el-step>
|
||||
<el-step title="选择接收对象">
|
||||
|
||||
</el-step>
|
||||
<el-step title="填写发送内容">
|
||||
|
||||
</el-step>
|
||||
</el-steps>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="addDialogVisible = false">取 消</el-button>
|
||||
<el-button style="margin-top: 12px;" v-if="active!=0" @click="back">上一步</el-button>
|
||||
<el-button style="margin-top: 12px;" v-if="active!=2" @click="next">下一步</el-button>
|
||||
<el-button type="primary" v-if="active==2" @click="doAdd">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
<el-dialog
|
||||
title="选择用户"
|
||||
:visible.sync="selectDialogVisible"
|
||||
width="65%">
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input placeholder="请输入内容" v-model="selectPageForm.searchKeyword" @keyup.enter.native="doSearch">
|
||||
<el-select v-model="selectPageForm.searchName" slot="prepend" placeholder="查询类型" style="width: 120px;">
|
||||
<el-option label="工号" value="loginname"></el-option>
|
||||
<el-option label="姓名" value="username"></el-option>
|
||||
<el-option label="手机" value="mobile"></el-option>
|
||||
</el-select>
|
||||
<el-button slot="append" icon="el-icon-search" @click="doSelectSearch"></el-button>
|
||||
|
||||
</el-input>
|
||||
</div>
|
||||
<el-table
|
||||
:data="selectTableData"
|
||||
@sort-change='selectPageOrder'
|
||||
header-align="center"
|
||||
style="width: 100%;margin-top: 10px;margin-bottom: 10px;"
|
||||
:default-sort="{prop: 'opAt', order: 'descending'}"
|
||||
@selection-change="UserhandleSelectionChange"
|
||||
size="mini"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="35">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
fixed
|
||||
prop="loginname"
|
||||
label="用户名">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="username"
|
||||
label="姓名">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="mobile"
|
||||
label="手机">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="unitname"
|
||||
label="所属单位">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="unionname"
|
||||
label="院级工会">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
@size-change="selectPageSizeChange"
|
||||
@current-change="selectPageNumberChange"
|
||||
:current-page="selectPageForm.pageNumber"
|
||||
:page-sizes="[10, 20, 30, 50]"
|
||||
:page-size="selectPageForm.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="selectPageForm.totalCount">
|
||||
</el-pagination>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="selectDialogVisible = false"> 取 消 </el-button>
|
||||
<el-button type="primary" @click="AddUser"> 确 定 </el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog
|
||||
:title="viewUserTitle"
|
||||
:visible.sync="viewDialogVisible"
|
||||
width="65%">
|
||||
<el-table
|
||||
:data="viewTableData"
|
||||
@sort-change='viewPageOrder'
|
||||
header-align="center"
|
||||
style="width: 100%;margin-top: 10px;margin-bottom: 10px;"
|
||||
:default-sort="{prop: 'opAt', order: 'descending'}"
|
||||
size="small"
|
||||
>
|
||||
<el-table-column
|
||||
fixed
|
||||
prop="loginname"
|
||||
label="用户名"
|
||||
width="150">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="username"
|
||||
label="姓名"
|
||||
width="120">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="mobile"
|
||||
label="手机">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="email"
|
||||
label="邮箱">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="unitname"
|
||||
label="所属单位">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
@size-change="viewPageSizeChange"
|
||||
@current-change="viewPageNumberChange"
|
||||
:current-page="viewPageForm.pageNumber"
|
||||
:page-sizes="[10, 20, 30, 50]"
|
||||
:page-size="viewPageForm.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="viewPageForm.totalCount">
|
||||
</el-pagination>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="viewDialogVisible = false"> 关 闭 </el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
<transition name="el-zoom-in-center">
|
||||
<div style="padding: 10px" v-show="!isshow">
|
||||
<header class="header navbar bg-white ">
|
||||
<div class="btn-group tool-button m5">
|
||||
<a class="el-button el-button--default el-button--medium" @click="isshow=true" data-pjax><i
|
||||
class="ti-angle-left"></i>返回</a>
|
||||
</div>
|
||||
</header>
|
||||
<div class="content-wrap">
|
||||
<div class="wrapper" style="min-height:500px;">
|
||||
<section class="panel">
|
||||
<div class="row mb10">
|
||||
<div class="col-lg-12">
|
||||
<div style="text-align:center">
|
||||
<h4>{{viewForm.title}}</h4>
|
||||
</div>
|
||||
<div style="text-align:center;font-size: 14px;line-height: 24px;">
|
||||
{{formatAt(viewForm.sendat)}}
|
||||
</div>
|
||||
<div style="text-align:center;font-size: 14px;line-height: 24px;">
|
||||
<el-link :href="viewForm.url" >{{viewForm.url}}</el-link>
|
||||
</div>
|
||||
<div style="margin-top: 16px !important;border-bottom: 1px solid #DDD;"></div>
|
||||
<div style="margin-top: 16px !important;">
|
||||
{{viewForm.note}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
</div>
|
||||
<script>
|
||||
let E = window.wangEditor
|
||||
let editor = null
|
||||
const vue=new Vue({
|
||||
el:"#app",
|
||||
data(){
|
||||
return{
|
||||
addDialogVisible:false,
|
||||
selectDialogVisible:false,
|
||||
active:0,
|
||||
formData:{users:[],rylist:[],type:"system",fsfs:[]},
|
||||
tableData:[],
|
||||
pageForm: {
|
||||
searchType: "",
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
pageOrderName: "",
|
||||
pageOrderBy: "",
|
||||
activeName:"first"
|
||||
},
|
||||
selectTableData:[],
|
||||
selectPageForm: {
|
||||
searchName: "username",
|
||||
searchKeyword: "",
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
pageOrderName: "",
|
||||
pageOrderBy: ""
|
||||
},
|
||||
activeName:"first",
|
||||
selectData:[],
|
||||
sjlist:[],
|
||||
selectUsers:[],
|
||||
viewDialogVisible:false,
|
||||
viewPageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
pageOrderName: "",
|
||||
pageOrderBy: "",
|
||||
type: "",
|
||||
id: ""
|
||||
},
|
||||
viewUserTitle:false,
|
||||
viewTableData:[],
|
||||
isshow:true,
|
||||
viewForm:{}
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
handleSelectionChange (val) {
|
||||
this.selectData = val;
|
||||
},
|
||||
selectPageOrder (column) {//按字段排序
|
||||
this.selectPageForm.pageOrderName = column.prop;
|
||||
this.selectPageForm.pageOrderBy = column.order;
|
||||
this.selectPageData();
|
||||
},
|
||||
selectPageNumberChange (val) {//页码更新操作
|
||||
this.selectPageForm.pageNumber = val;
|
||||
this.selectPageData();
|
||||
},
|
||||
selectPageSizeChange (val) {//分页大小更新操作
|
||||
this.selectPageForm.pageSize = val;
|
||||
this.selectPageData();
|
||||
},
|
||||
doSelectSearch () {
|
||||
this.selectPageForm.pageNumber = 1;
|
||||
this.selectPageData();
|
||||
},
|
||||
selectPageData () {//加载分页数据
|
||||
|
||||
$.post(base + "/platform/hd/hdmsg/user_data", this.selectPageForm, data=> {
|
||||
if (data.code == 0) {
|
||||
this.selectTableData = data.data.list;
|
||||
this.selectPageForm.totalCount = data.data.totalCount;
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
UserhandleSelectionChange (val) {
|
||||
this.selectUsers = val;
|
||||
},
|
||||
async openAdd(){
|
||||
this.formData={users:[],rylist:[],type:"system",fsfs:[]};
|
||||
this.active=0;
|
||||
this.addDialogVisible=true;
|
||||
await this.$nextTick()
|
||||
if (editor==null){
|
||||
editor = new wangEditor(this.$refs.xx)
|
||||
editor.create()
|
||||
}
|
||||
|
||||
},
|
||||
doAdd(){
|
||||
|
||||
var users = [];
|
||||
if (this.formData.users) {
|
||||
this.formData.users.forEach(function (o) {
|
||||
users.push(o.loginname);
|
||||
});
|
||||
}
|
||||
this.formData.note=editor.txt.text();
|
||||
this.formData.users=users.toString();
|
||||
this.formData.rylist=this.formData.rylist.toString();
|
||||
this.formData.fsfs=this.formData.fsfs.toString();
|
||||
$.post(base+"/platform/hd/hdmsg/addDo",this.formData).then(data=>{
|
||||
|
||||
vue.$message({
|
||||
message: '发送成功!',
|
||||
type: 'success'
|
||||
});
|
||||
vue.addDialogVisible = false;
|
||||
|
||||
})
|
||||
},
|
||||
next() {
|
||||
if (this.active++ > 2) this.active = 0;
|
||||
},
|
||||
back(){
|
||||
this.active--;
|
||||
},
|
||||
pageOrder (column) {//按字段排序
|
||||
this.pageForm.pageOrderName = column.prop;
|
||||
this.pageForm.pageOrderBy = column.order;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange(val) {//页码更新操作
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageSizeChange(val) {//分页大小更新操作
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageData () {//加载分页数据
|
||||
|
||||
$.post(base + "/platform/hd/hdmsg/pageData", this.pageForm, data=> {
|
||||
if (data.code == 0) {
|
||||
this.tableData = data.data.list;
|
||||
this.pageForm.totalCount = data.data.totalCount;
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
openSelect() {
|
||||
this.selectDialogVisible = true;
|
||||
this.selectUsers=[];
|
||||
this.selectPageData();
|
||||
},
|
||||
AddUser(){
|
||||
this.formData.users=this.selectUsers
|
||||
this.selectDialogVisible=false;
|
||||
},
|
||||
formatAt(val) {
|
||||
if (val && val > 0)
|
||||
return moment(val * 1000).format("YYYY-MM-DD HH:mm");
|
||||
return "";
|
||||
},
|
||||
getSj(ssmk){
|
||||
$.post(base+"/platform/hd/hdmsg/getSj",{ssmk:ssmk},data=>{
|
||||
this.sjlist=data.data;
|
||||
})
|
||||
},
|
||||
readMore () {
|
||||
|
||||
if (this.selectData.length == 0) {
|
||||
this.$message({
|
||||
message: "请选择消息",
|
||||
type: 'warning'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
let ids = [];
|
||||
this.selectData.forEach(val=> {
|
||||
ids.push(val.msgid);
|
||||
});
|
||||
this.$confirm('您确定要标记选中的 '+ids.length+' 条消息为已读吗? ', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: function (a, b) {
|
||||
if ("confirm" == a) {//确认后再执行
|
||||
$.post(base + "/platform/hd/hdmsg/read", {ids: ids.toString()}, data=> {
|
||||
if (data.code == 0) {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
this.pageData();
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
readAll () {
|
||||
|
||||
this.$confirm('您确定要标记全部消息为已读吗? ', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(()=>{
|
||||
$.post(base + "/platform/hd/hdmsg/readAll", {}).then(res=>{
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
this.pageData();
|
||||
}else{
|
||||
this.$message.error(res.msg)
|
||||
}
|
||||
});
|
||||
}).catch(()=>{});
|
||||
},
|
||||
delMore: function () {
|
||||
|
||||
if (this.selectData.length == 0) {
|
||||
this.$message.warning('请选择消息')
|
||||
return
|
||||
}
|
||||
var ids = [];
|
||||
this.selectData.forEach( val=> {
|
||||
ids.push(val.msgid);
|
||||
});
|
||||
this.$confirm('您确定要删除选中的 '+ids.length+' 条消息? ', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(()=>{
|
||||
$.post(base + "/platform/hd/hdmsg/delete", {ids: ids.toString()}).then(res=>{
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
this.pageData();
|
||||
}else{
|
||||
this.$message.error(res.msg)
|
||||
}
|
||||
})
|
||||
}).catch(()=>{})
|
||||
},
|
||||
dropdownCommand (type,id,name,scope) {//监听下拉框事件
|
||||
|
||||
if ("delete" == type) {
|
||||
this.$confirm('此操作将删除 ' + name, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(()=>{
|
||||
$.post(base + "/platform/hd/hdmsg/clean",{id:id,activeName:this.pageForm.activeName}).then(res=>{
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg);
|
||||
this.pageData();
|
||||
}else{
|
||||
this.$message.error(res.msg)
|
||||
}
|
||||
})
|
||||
}).catch(()=>{})
|
||||
}
|
||||
if ("select"==type){
|
||||
this.viewForm=scope.row;
|
||||
this.isshow=false;
|
||||
}
|
||||
},
|
||||
viewUserList (type, id) {
|
||||
|
||||
if ("all" == type) {
|
||||
this.viewUserTitle = "全部用户";
|
||||
}
|
||||
if ("unread" == type) {
|
||||
this.viewUserTitle = "未读用户";
|
||||
}
|
||||
this.viewDialogVisible = true;
|
||||
this.viewPageForm.type = type;
|
||||
this.viewPageForm.id = id;
|
||||
this.viewPageLoad();
|
||||
},
|
||||
viewPageOrder (column) {//按字段排序
|
||||
this.viewPageForm.pageOrderName = column.prop;
|
||||
this.viewPageForm.pageOrderBy = column.order;
|
||||
this.viewPageLoad();
|
||||
},
|
||||
viewPageNumberChange (val) {//页码更新操作
|
||||
this.viewPageForm.pageNumber = val;
|
||||
this.viewPageLoad();
|
||||
},
|
||||
viewPageSizeChange (val) {//分页大小更新操作
|
||||
this.viewPageForm.pageSize = val;
|
||||
this.viewPageLoad();
|
||||
},
|
||||
viewPageLoad () {//加载分页数据
|
||||
|
||||
$.post(base + "/platform/sys/msg/user_view_data", this.viewPageForm, data=>{
|
||||
if (data.code == 0) {
|
||||
this.viewTableData = data.data.list;
|
||||
this.viewPageForm.totalCount = data.data.totalCount;
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
},
|
||||
created(){
|
||||
this.pageData();
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,227 @@
|
||||
<!--数据看板 djx 2019-07-24-->
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.clearfix {
|
||||
font-weight: bold;
|
||||
|
||||
}
|
||||
|
||||
.el-card__header {
|
||||
background-color: #ebeef5;
|
||||
/*ebb563*/
|
||||
padding: 8px 10px;
|
||||
border-bottom: 1px solid #EBEEF5;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.el-card__body {
|
||||
padding: 15px 5px 5px 5px;
|
||||
}
|
||||
|
||||
.el-card {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.el-calendar-table .current {
|
||||
height: 150px !important;
|
||||
}
|
||||
|
||||
.el-calendar-table .el-calendar-day {
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
padding: 8px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.el-calendar-table th {
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<!-- <el-row class="header navbar bg-white shadow" style="padding-left: 5px;padding-right: 5px;background-color: #e6f1fe;">-->
|
||||
<!-- <div class="btn-group tool-button mt5" style="width: 100%">-->
|
||||
<!-- <el-date-picker-->
|
||||
<!-- v-model="year"-->
|
||||
<!-- type="year"-->
|
||||
<!-- style="width: 100%"-->
|
||||
<!-- value-format="yyyy"-->
|
||||
<!-- :clearable="true"-->
|
||||
<!-- placeholder="选择年份">-->
|
||||
<!-- </el-date-picker>-->
|
||||
<!-- </div>-->
|
||||
<!-- </el-row>-->
|
||||
|
||||
<div style="float: left;width: 100%;">
|
||||
<el-card class="box-card">
|
||||
<!-- <div slot="header" class="clearfix">
|
||||
<span>活动日历:</span>
|
||||
</div>-->
|
||||
<div class="text item">
|
||||
<el-calendar v-model="day">
|
||||
<!-- 这里使用的是 2.5 slot 语法,对于新项目请使用 2.6 slot 语法-->
|
||||
<template
|
||||
slot="dateCell"
|
||||
slot-scope="{date, data}">
|
||||
<p :class="data.isSelected ? 'is-selected' : ''">
|
||||
{{ data.day.split('-').slice(1).join('-') }}
|
||||
</p>
|
||||
<div v-for="item,index in yy.filter(v => data.day.toString() == v.lab.substring(0, 10).toString())">
|
||||
<el-popover
|
||||
placement="top-start"
|
||||
:title="item.val"
|
||||
width="280"
|
||||
trigger="hover"
|
||||
>
|
||||
<div style="font-size: 8px;margin-bottom: 20px">
|
||||
<el-row>
|
||||
<el-col :span="8"><b>主办单位</b>:</el-col>
|
||||
<el-col :span="16">{{item.zbdwname}}</el-col>
|
||||
</el-row>
|
||||
<el-row style="margin-top: 10px">
|
||||
<el-col :span="8"><b>开始时间</b>:</el-col>
|
||||
<el-col :span="16">{{item.lab.substring(5,16)}}</el-col>
|
||||
</el-row>
|
||||
<el-row style="margin-top: 10px">
|
||||
<el-col :span="8"><b>报名链接</b>:</el-col>
|
||||
<el-col :span="16">
|
||||
<el-link style="font-size: 8px" type="primary" href="/platform/hd/hdbm" target="_blank">
|
||||
点击报名
|
||||
</el-link>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<div slot="reference"
|
||||
style="font-size: 8px;margin-bottom: 20px">
|
||||
<el-row style="margin-top: 10px">
|
||||
<el-col :span="8"><b>活动{{index+1}}</b>:</el-col>
|
||||
<el-col :span="16">{{item.val}}</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-popover>
|
||||
|
||||
</div>
|
||||
<div v-for="item,index in msglist.filter(v => data.day.toString()==formatAt(v.sendat))">
|
||||
<el-popover
|
||||
placement="top-start"
|
||||
:title="item.title"
|
||||
width="250"
|
||||
trigger="hover"
|
||||
>
|
||||
<div style="font-size: 8px;margin-bottom: 20px">
|
||||
|
||||
<el-row style="margin-top: 10px">
|
||||
<el-col :span="8"><b>发送时间</b>:</el-col>
|
||||
<el-col :span="16">{{formatAt(item.sendat)}}</el-col>
|
||||
</el-row>
|
||||
<el-row style="margin-top: 10px">
|
||||
<el-col :span="8"><b>发送人</b>:</el-col>
|
||||
<el-col :span="16">{{item.username}}</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<div slot="reference"
|
||||
style="font-size: 8px;margin-bottom: 20px">
|
||||
<el-row>
|
||||
<el-col :span="8"><b>通知{{index+1}}</b>:</el-col>
|
||||
<el-col :span="16">{{item.title}}</el-col>
|
||||
</el-row>
|
||||
<!-- <el-row style="margin-top: 10px">
|
||||
<el-col :span="8"><b>发送时间</b>:</el-col>
|
||||
<el-col :span="16">{{formatAt(item.sendat)}}</el-col>
|
||||
</el-row>
|
||||
<el-row style="margin-top: 10px">
|
||||
<el-col :span="8"><b>发送人</b>:</el-col>
|
||||
<el-col :span="16">{{item.username}}</el-col>
|
||||
</el-row>-->
|
||||
</div>
|
||||
</el-popover>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
</el-calendar>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
/*列表*/
|
||||
tableData: [],
|
||||
year: "",
|
||||
|
||||
first: [],
|
||||
xhdJf: [],
|
||||
fhhdJf: [],
|
||||
sthdJf: [],
|
||||
|
||||
hdxm: [],
|
||||
xhd: [],
|
||||
fhhd: [],
|
||||
sthd: [],
|
||||
|
||||
xhdgs: [],
|
||||
fhdgs: [],
|
||||
sthdgs: [],
|
||||
yylist: [],
|
||||
yy: [],
|
||||
day: "",
|
||||
msglist: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
formatAt(val) {
|
||||
if (val && val > 0)
|
||||
return moment(val * 1000).format("YYYY-MM-DD");
|
||||
return "";
|
||||
},
|
||||
yyxx: function () {
|
||||
|
||||
$.post(base + "/platform/hdsjkb/getYyxx").then(res => {
|
||||
this.yylist = res.data;
|
||||
this.yylist.xhd.forEach(val => {
|
||||
this.yy.push({"lab": val.hdkssj, val: val.xhdmc, zbdwname: val.zbdwname})
|
||||
})
|
||||
this.yylist.fhd.forEach(val => {
|
||||
this.yy.push({"lab": val.hdkssj, val: val.fhdmc, zbdwname: val.zbdwname})
|
||||
})
|
||||
this.yylist.sthd.forEach(val => {
|
||||
this.yy.push({"lab": val.hdkssj, val: val.hdmc, zbdwname: val.zbdwname})
|
||||
})
|
||||
})
|
||||
},
|
||||
msg: function () {
|
||||
$.post(base + "/platform/hdsjkb/getMessage").then(res => {
|
||||
this.msglist = res.data;
|
||||
})
|
||||
}
|
||||
},
|
||||
created: function () {
|
||||
this.yyxx();
|
||||
this.msg();
|
||||
},
|
||||
mounted: function () {
|
||||
|
||||
},
|
||||
watch: {
|
||||
"day": function (val, oldval) {
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,172 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<div id="app" v-cloak>
|
||||
<el-row class="header navbar bg-white shadow">
|
||||
<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="name" header-align="center" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column label="活动类型编号" prop="name" header-align="center" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="300" header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="primary" @click="openEdit(scope)" size="mini">编辑</el-button>
|
||||
<el-button type="danger" @click="deleteDo(scope.row.id)" 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>
|
||||
|
||||
<!--新增-->
|
||||
<el-dialog title="新增" width="40%" custom-class="ViewDialogClass" :visible.sync="addDialogVisible">
|
||||
|
||||
<el-form label-width="80px" size="small" :model="formData" :rules="formRules" ref="addForm">
|
||||
<el-form-item label="活动类型名称">
|
||||
<el-input maxlength="30" placeholder="活动类型名称"
|
||||
auto-complete="off" tabindex="3" type="text" v-model="formData.name"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="活动类型编号">
|
||||
<el-input maxlength="30" placeholder="活动类型编号"
|
||||
auto-complete="off" tabindex="3" type="text" v-model="formData.pxbh"></el-input>
|
||||
</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>
|
||||
|
||||
<!--编辑-->
|
||||
<el-dialog title="编辑" width="40%" custom-class="ViewDialogClass" :visible.sync="editDialogVisible">
|
||||
|
||||
<el-form label-width="80px" size="small" :model="editFormData" :rules="editFormRules" ref="editForm">
|
||||
<el-form-item label="活动类型名称">
|
||||
<el-input maxlength="30" placeholder="活动类型名称"
|
||||
auto-complete="off" tabindex="3" type="text" v-model="editFormData.name"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="活动类型编号">
|
||||
<el-input maxlength="30" placeholder="活动类型编号"
|
||||
auto-complete="off" tabindex="3" type="text" v-model="editFormData.pxbh"></el-input>
|
||||
</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>
|
||||
|
||||
|
||||
</div>
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
data(){
|
||||
return{
|
||||
pageForm: {//分页
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword: "",
|
||||
},
|
||||
tableData: [],//表格
|
||||
|
||||
/*新增*/
|
||||
addDialogVisible: false,
|
||||
formData: {},
|
||||
formRules: {
|
||||
name: [
|
||||
{required: true, message: '请输入活动类型名称', trigger: ['blur', 'change']}
|
||||
],
|
||||
},
|
||||
/*编辑*/
|
||||
editDialogVisible: false,
|
||||
editFormData: {},
|
||||
editFormRules: {},
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
pageNumberChange(val) {//页码更新操作
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageSizeChange(val) {//分页大小更新操作
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
async pageData() {//表格展示数据
|
||||
this.loading = true
|
||||
$.post('/mobile/ta/myta/pageData',this.pageForm).then(res=>{
|
||||
this.loading = false
|
||||
if(res.code===0){
|
||||
this.tableData = res.data.list
|
||||
this.pageForm.totalCount = data.totalCount
|
||||
}
|
||||
})
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
openAdd(){
|
||||
this.addDialogVisible=true;
|
||||
this.formData={};
|
||||
},
|
||||
openEdit(scope){
|
||||
this.editDialogVisible=true;
|
||||
this.editFormData=scope.row;
|
||||
},
|
||||
deleteDo(id){
|
||||
this.$confirm('确定删除这条记录吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(async () => {
|
||||
await POST('/platfotm/ry/gr/grsq/doDel',{id:id})
|
||||
this.doSearch()
|
||||
this.editDialogVisible=false;
|
||||
}).catch(() => {})
|
||||
},
|
||||
doAdd(){
|
||||
|
||||
},
|
||||
doEdit(){
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<!--#}#-->
|
||||
@@ -0,0 +1,565 @@
|
||||
<!--数据看板 djx 2019-07-24-->
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.clearfix {
|
||||
font-weight: bold;
|
||||
|
||||
}
|
||||
|
||||
.el-card__header {
|
||||
background-color: #ebeef5;
|
||||
/*ebb563*/
|
||||
padding: 8px 10px;
|
||||
border-bottom: 1px solid #EBEEF5;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.el-card__body {
|
||||
padding: 15px 5px 5px 5px;
|
||||
}
|
||||
|
||||
.el-card {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.el-calendar-table .el-calendar-day {
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
padding: 8px;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<el-row class="header navbar bg-white shadow"
|
||||
style="padding-left: 5px;padding-right: 5px;background-color: #e6f1fe;">
|
||||
<div class="btn-group tool-button mt5" style="width: 100%">
|
||||
<el-date-picker
|
||||
v-model="year"
|
||||
type="year"
|
||||
style="width: 100%"
|
||||
value-format="yyyy"
|
||||
:clearable="true"
|
||||
placeholder="选择年份">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
<!-- <div style="float: left;width: 100%;">-->
|
||||
<!-- <el-card class="box-card" >-->
|
||||
<!-- <div slot="header" class="clearfix" >-->
|
||||
<!-- <span>活动日历:</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="text item" >-->
|
||||
<!-- <el-calendar v-model="day">-->
|
||||
<!-- <!– 这里使用的是 2.5 slot 语法,对于新项目请使用 2.6 slot 语法–>-->
|
||||
<!-- <template-->
|
||||
<!-- slot="dateCell"-->
|
||||
<!-- slot-scope="{date, data}">-->
|
||||
<!-- <p :class="data.isSelected ? 'is-selected' : ''">-->
|
||||
<!-- {{ data.day.split('-').slice(1).join('-') }}-->
|
||||
<!-- </p>-->
|
||||
<!-- <div v-for="item in yy">-->
|
||||
<!-- <div v-if="data.day.toString()==item.lab.substring(0,10).toString()" style="font-size: 8px;margin-bottom: 10px">-->
|
||||
<!-- <div >活动名称:{{item.val}}</div>-->
|
||||
<!-- <div>开始时间:{{item.lab.substring(10,16)}}</div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- </div>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-calendar>-->
|
||||
<!-- </div>-->
|
||||
<!-- </el-card>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div style="float: left;width: 50%;">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
|
||||
</div>
|
||||
<div class="text item" style="height: 378px;">
|
||||
<div id="container1" style="height:100%;width: 100%"></div>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
<div style="float: left;width: 50%;">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
|
||||
</div>
|
||||
<div class="text item" style="height: 378px;">
|
||||
<div id="container2" style="height:100%;width: 100%"></div>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
<div style="float: left;width: 100%;">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
|
||||
</div>
|
||||
<div class="text item" style="height: 328px;">
|
||||
<div id="container3" style="height:100%;width: 100%"></div>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
var vue = new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
/*列表*/
|
||||
tableData: [],
|
||||
year: "",
|
||||
|
||||
first: [],
|
||||
xhdJf: [],
|
||||
fhhdJf: [],
|
||||
sthdJf: [],
|
||||
|
||||
hdxm: [],
|
||||
xhd: [],
|
||||
fhhd: [],
|
||||
sthd: [],
|
||||
|
||||
xhdgs: [],
|
||||
fhdgs: [],
|
||||
sthdgs: [],
|
||||
yylist: [],
|
||||
yy: [],
|
||||
day: ""
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
container1: function () {
|
||||
|
||||
var self = this;
|
||||
var dom = document.getElementById("container1");
|
||||
var myChart = echarts.init(dom, 'westeros');
|
||||
option = null;
|
||||
$.post(base + "/platform/hdsjkb/first", {year: self.year}, function (data) {
|
||||
|
||||
if (data.code == 0) {
|
||||
self.first = data.data.finally;
|
||||
option = {
|
||||
title: {
|
||||
text: '活动统计',
|
||||
subtext: '个数',
|
||||
x: 'left',
|
||||
textStyle: {
|
||||
fontSize: 15,
|
||||
fontWeight: 'normal',
|
||||
}
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: "{a} <br/>{b} : {c} ({d}%)"
|
||||
},
|
||||
toolbox: {
|
||||
show: true,
|
||||
feature: {
|
||||
saveAsImage: {}
|
||||
},
|
||||
right: 16,
|
||||
},
|
||||
legend: {
|
||||
right: 'center',
|
||||
data: ['校工会活动', '基层工会活动', '协会活动']
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '数据',
|
||||
type: 'pie',
|
||||
radius: '55%',
|
||||
center: ['45%', '50%'],
|
||||
data: self.first,
|
||||
itemStyle: {
|
||||
emphasis: {
|
||||
shadowBlur: 10,
|
||||
shadowOffsetX: 0,
|
||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
if (option && typeof option === "object") {
|
||||
myChart.setOption(option, true);
|
||||
}
|
||||
//完毕-----
|
||||
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
container2: function () {
|
||||
|
||||
var self = this;
|
||||
var dom = document.getElementById("container2");
|
||||
var myChart = echarts.init(dom, 'westeros');
|
||||
option = null;
|
||||
$.post(base + "/platform/hdsjkb/second", {year: self.year}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.xhdJf = data.data.xhd;
|
||||
self.fhhdJf = data.data.fhhd;
|
||||
self.sthdJf = data.data.sthd;
|
||||
for (var i = 0; i < self.xhdJf.length; i++) {
|
||||
if (self.xhdJf[i] == null || self.xhdJf[i] == "") {
|
||||
self.xhdJf[i] = 0;
|
||||
}
|
||||
}
|
||||
for (var i = 0; i < self.fhhdJf.length; i++) {
|
||||
if (self.fhhdJf[i] == null || self.fhhdJf[i] == "") {
|
||||
self.fhhdJf[i] = 0;
|
||||
}
|
||||
}
|
||||
for (var i = 0; i < self.sthdJf.length; i++) {
|
||||
if (self.sthdJf[i] == null || self.sthdJf[i] == "") {
|
||||
self.sthdJf[i] = 0;
|
||||
}
|
||||
}
|
||||
//加载折线图
|
||||
option = {
|
||||
title: {
|
||||
text: '活动经费统计',
|
||||
subtext: '费用',
|
||||
textStyle: {
|
||||
fontSize: 15,
|
||||
fontWeight: 'normal',
|
||||
}
|
||||
},
|
||||
height: 280,
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
legend: {
|
||||
data: ["校工会活动", "基层工会活动", "协会活动"],
|
||||
|
||||
},
|
||||
toolbox: {
|
||||
show: true,
|
||||
feature: {
|
||||
saveAsImage: {}
|
||||
},
|
||||
right: 16,
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
data: ['1~3月', '4~6月', '7~9月', '10~12月'],
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLabel: {
|
||||
formatter: '{value}'
|
||||
}
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: "校工会活动",
|
||||
type: 'line',
|
||||
data: self.xhdJf,
|
||||
markPoint: {
|
||||
data: [
|
||||
{type: 'max', name: '最大值', symbolSize: [40, 40]},
|
||||
{type: 'min', name: '最小值', symbolSize: [40, 40]}
|
||||
]
|
||||
},
|
||||
markLine: {
|
||||
data: [
|
||||
{type: 'average', name: '平均值'}
|
||||
]
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#94C2A5'
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "基层工会活动",
|
||||
type: 'line',
|
||||
data: self.fhhdJf,
|
||||
markPoint: {
|
||||
data: [
|
||||
{type: 'max', name: '最大值', symbolSize: [40, 40]},
|
||||
{type: 'min', name: '最小值', symbolSize: [40, 40]}
|
||||
]
|
||||
},
|
||||
markLine: {
|
||||
data: [
|
||||
{type: 'average', name: '平均值'}
|
||||
]
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#5FC0DB'
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "协会活动",
|
||||
type: 'line',
|
||||
data: self.sthdJf,
|
||||
markPoint: {
|
||||
data: [
|
||||
{type: 'max', name: '最大值', symbolSize: [40, 40]},
|
||||
{type: 'min', name: '最小值', symbolSize: [40, 40]}
|
||||
]
|
||||
},
|
||||
markLine: {
|
||||
data: [
|
||||
{type: 'average', name: '平均值'}
|
||||
]
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#ECACCF'
|
||||
}
|
||||
},
|
||||
},
|
||||
]
|
||||
};
|
||||
if (option && typeof option === "object") {
|
||||
myChart.setOption(option, true);
|
||||
}
|
||||
;
|
||||
//完毕-------------------
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
container3: function () {
|
||||
var self = this;
|
||||
var dom = document.getElementById("container3");
|
||||
var myChart = echarts.init(dom, 'westeros');
|
||||
option = null;
|
||||
$.post(base + "/platform/hdsjkb/third", {year: self.year}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.hdxm = data.data.hdxm;
|
||||
self.xhd = data.data.xhd;
|
||||
self.fhhd = data.data.fhhd;
|
||||
self.sthd = data.data.sthd;
|
||||
self.xhdgs = data.data.xhdgs;
|
||||
self.fhdgs = data.data.fhdgs;
|
||||
self.sthdgs = data.data.sthdgs;
|
||||
for (var i = 0; i < self.xhd.length; i++) {
|
||||
if (self.xhd[i] == null || self.xhd[i] == "") {
|
||||
self.xhd[i] = 0;
|
||||
}
|
||||
}
|
||||
for (var i = 0; i < self.fhhd.length; i++) {
|
||||
if (self.fhhd[i] == null || self.fhhd[i] == "") {
|
||||
self.fhhd[i] = 0;
|
||||
}
|
||||
}
|
||||
for (var i = 0; i < self.sthd.length; i++) {
|
||||
if (self.sthd[i] == null || self.sthd[i] == "") {
|
||||
self.sthd[i] = 0;
|
||||
}
|
||||
}
|
||||
//加载柱状图
|
||||
option = {
|
||||
title: {
|
||||
text: '活动参与人数',
|
||||
subtext: '人数',
|
||||
textStyle: {
|
||||
fontSize: 15,
|
||||
fontWeight: 'normal',
|
||||
}
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: { // 坐标轴指示器,坐标轴触发有效
|
||||
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: ["校工会活动参与人数", "基层工会活动参与人数", "协会活动参与人数", "校工会活动数量", "基层工会活动数量", "协会活动数量"],
|
||||
},
|
||||
toolbox: {
|
||||
show: true,
|
||||
feature: {
|
||||
saveAsImage: {}
|
||||
},
|
||||
right: 16,
|
||||
},
|
||||
height: 240,
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
boundaryGap: true,
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: self.hdxm,
|
||||
boundaryGap: true,
|
||||
axisLabel: {
|
||||
interval: 0
|
||||
}
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: "校工会活动数量",
|
||||
data: self.xhdgs,
|
||||
type: 'bar',
|
||||
stack: '校工会活动',
|
||||
label: {
|
||||
normal: {
|
||||
show: true,
|
||||
position: 'inside'
|
||||
}
|
||||
},
|
||||
color: '#46AED8'
|
||||
},
|
||||
{
|
||||
name: "校工会活动参与人数",
|
||||
data: self.xhd,
|
||||
type: 'bar',
|
||||
stack: '校工会活动',
|
||||
label: {
|
||||
normal: {
|
||||
show: true,
|
||||
position: 'inside'
|
||||
}
|
||||
},
|
||||
color: '#70E0B8'
|
||||
},
|
||||
{
|
||||
name: "基层工会活动数量",
|
||||
data: self.fhdgs,
|
||||
type: 'bar',
|
||||
stack: '基层工会活动',
|
||||
label: {
|
||||
normal: {
|
||||
show: true,
|
||||
position: 'inside'
|
||||
}
|
||||
},
|
||||
color: '#676C8A'
|
||||
},
|
||||
{
|
||||
name: "基层工会活动参与人数",
|
||||
data: self.fhhd,
|
||||
type: 'bar',
|
||||
stack: '基层工会活动',
|
||||
label: {
|
||||
normal: {
|
||||
show: true,
|
||||
position: 'inside'
|
||||
}
|
||||
},
|
||||
color: '#A2A4DB'
|
||||
},
|
||||
{
|
||||
name: "协会活动数量",
|
||||
data: self.sthdgs,
|
||||
type: 'bar',
|
||||
stack: '协会活动',
|
||||
label: {
|
||||
normal: {
|
||||
show: true,
|
||||
position: 'inside'
|
||||
}
|
||||
},
|
||||
color: '#C5E5A5'
|
||||
},
|
||||
{
|
||||
name: "协会活动参与人数",
|
||||
data: self.sthd,
|
||||
type: 'bar',
|
||||
stack: '协会活动',
|
||||
label: {
|
||||
normal: {
|
||||
show: true,
|
||||
position: 'inside'
|
||||
}
|
||||
},
|
||||
color: '#99D9DD'
|
||||
},
|
||||
]
|
||||
};
|
||||
if (option && typeof option === "object") {
|
||||
myChart.setOption(option, true);
|
||||
}
|
||||
//完毕-------------------
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
|
||||
},
|
||||
yyxx: function () {
|
||||
var self = this;
|
||||
$.post(base + "/platform/hdsjkb/getYyxx", function (data) {
|
||||
self.yylist = data.data;
|
||||
self.yylist.xhd.forEach(function (val) {
|
||||
self.yy.push({"lab": val.hdkssj, val: val.xhdmc})
|
||||
})
|
||||
self.yylist.fhd.forEach(function (val) {
|
||||
self.yy.push({"lab": val.hdkssj, val: val.fhdmc})
|
||||
})
|
||||
self.yylist.sthd.forEach(function (val) {
|
||||
self.yy.push({"lab": val.hdkssj, val: val.hdmc})
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
created: function () {
|
||||
// this.yyxx();
|
||||
},
|
||||
mounted: function () {
|
||||
this.container1();
|
||||
this.container2();
|
||||
this.container3();
|
||||
|
||||
},
|
||||
watch: {
|
||||
"year": function (obj) {
|
||||
this.container1();
|
||||
this.container2();
|
||||
this.container3();
|
||||
},
|
||||
"day": function (val, oldval) {
|
||||
console.log(moment(val).format('YYYY-MM-DD'));
|
||||
/*location.href=base+"/platform/hdsjkb/bm?day="+moment(val).format('YYYY-MM-DD')*/
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,589 @@
|
||||
<!--协会信息管理 djx 2019-07-08-->
|
||||
<!--#
|
||||
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 20px;
|
||||
}
|
||||
|
||||
.el-input--suffix .el-input__inner {
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
.el-dropdown-menu__item {
|
||||
padding: 0px 15px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<!--快捷查询-->
|
||||
<el-row class="header navbar bg-white shadow">
|
||||
|
||||
<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-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</div>
|
||||
|
||||
</el-row>
|
||||
|
||||
<!--表格-->
|
||||
<el-row class="el-table-container">
|
||||
<el-table :data="tableData">
|
||||
<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" :show-overflow-tooltip="true" header-align="center" label="协会名称"
|
||||
prop="stmc"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="成立时间" prop="clsj"></el-table-column>
|
||||
<el-table-column align="center" :show-overflow-tooltip="true" header-align="center" label="主要负责人"
|
||||
prop="username"></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="phone"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="负责人邮箱" prop="email"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="成员人数" prop="rs"></el-table-column>
|
||||
<el-table-column align="center" label="操作" width="180px">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
|
||||
<el-button type="primary" @click="openSzcy(scope)" 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>
|
||||
|
||||
<!--设置成员-->
|
||||
<el-dialog title="设置成员" class="dia"
|
||||
:visible.sync="szcyDialogVisible" custom-class="ViewDialogClass" width="50%" top="3%">
|
||||
|
||||
<el-steps :active="active" align-center>
|
||||
<el-step title="选择人员"></el-step>
|
||||
<el-step title="设置是否缴费"></el-step>
|
||||
</el-steps>
|
||||
|
||||
<el-row v-show="active=='1'">
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input style="width:180px;" size="mini" placeholder="可按姓名、工号查询" v-model="szcyPageForm.searchKeyword"
|
||||
clearable></el-input>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-select size="mini" placeholder="请选择单位" v-model="szcyPageForm.unit" style="width: 160px;"
|
||||
clearable="true" filterable="true">
|
||||
<el-option v-for="item in units" :label="item.name" :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="szcySearch"></el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
<el-row style="margin-top: 6px;">
|
||||
<el-label style="color: #409EFF">协会最少组建人数为<span style="color: red">{{cyrs}}</span>人,目前协会成员已有<span
|
||||
style="color: red">{{rs}}</span>人
|
||||
</el-label>
|
||||
</el-row>
|
||||
<el-row v-show="active=='1'">
|
||||
<el-table :row-key="rowKey" ref="upTable" @selection-change="handleSelectionChange" :data="upTableData"
|
||||
size="small">
|
||||
<el-table-column :reserve-selection="true" type="selection" width="46"></el-table-column>
|
||||
<el-table-column label="姓名" prop="username" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="教工号" prop="loginname" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="单位" width="280px" prop="name" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="电话" prop="mobile" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column label="性别" prop="sex" header-align="center" align="center"></el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
<!--分页-->
|
||||
<el-row class="el-pagination-container" style="margin-bottom: 26px;" v-show="active=='1'">
|
||||
<el-pagination
|
||||
background
|
||||
@size-change="szcypageSizeChange"
|
||||
@current-change="szcypageNumberChange"
|
||||
:current-page="szcyPageForm.pageNumber"
|
||||
:page-sizes="[5, 10, 15, 20]"
|
||||
:page-size="szcyPageForm.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="szcyPageForm.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="szcyDo" 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-radio v-model="item.jnjf" label="1">已缴费</el-radio>
|
||||
<el-radio v-model="item.jnjf" label="2">未缴费</el-radio>
|
||||
</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="szcyDialogVisible = 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="szcyDo" v-if="active == '2'">确 定</el-button>
|
||||
</span>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
<!--查看-->
|
||||
<el-dialog title="查看" class="dia"
|
||||
:visible.sync="infoDialogVisible" custom-class="ViewDialogClass" width="60%" top="3%">
|
||||
|
||||
<el-collapse v-model="activeName" accordion>
|
||||
<el-collapse-item title="协会详细信息" name="1">
|
||||
<el-card>
|
||||
<table style="width: 100%">
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6" style="font-size: 18px;">{{viewData.stmc}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">主要负责人</td>
|
||||
<td class="tpb">{{viewData.username}}</td>
|
||||
<td class="tpa">单位</td>
|
||||
<td class="tpb">{{viewData.name}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">电话</td>
|
||||
<td class="tpb">{{viewData.phone}}</td>
|
||||
<td class="tpa">邮箱</td>
|
||||
<td class="tpb">{{viewData.email}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">最少人数</td>
|
||||
<td class="tpb">{{viewData.cyrs}}</td>
|
||||
<td class="tpa">成立时间</td>
|
||||
<td class="tpb">{{viewData.clsj}}</td>
|
||||
</tr>
|
||||
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">申请理由</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.sqly"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">协会介绍</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.stjs"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">协会章程</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.stzc"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item title="协会成员列表" name="2">
|
||||
<el-card class="box-card">
|
||||
<el-divider content-position="left">
|
||||
<el-label style="color: #409eff">点击缴费可修改缴费状态</el-label>
|
||||
</el-divider>
|
||||
<el-table :data="ryTableData" size="small" border
|
||||
:header-cell-style="{background:'#F5F5F5',color:'#606266'}">
|
||||
<el-table-column label="人员身份" width="80px" prop="cysf" header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-lable v-if="scope.row.cysf=='1'">负责人</el-lable>
|
||||
<el-lable v-if="scope.row.cysf=='2'">成员</el-lable>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名" width="120px" 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-column label="电话" width="120px" prop="mobile" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="是否缴费" width="80px" prop="jnjf" header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-link type="success" @click="editJf(scope)" v-if="scope.row.jnjf=='1'" size="small"
|
||||
:underline="false" style="font-size: 12px;">已缴费<i class="el-icon-thumb"></i>
|
||||
</el-link>
|
||||
<el-link type="warning" @click="editJf(scope)" v-if="scope.row.jnjf=='2'" size="small"
|
||||
:underline="false" style="font-size: 12px;">未缴费<i class="el-icon-thumb"></i>
|
||||
</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
var vue = new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
/*列表*/
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword: "",
|
||||
},
|
||||
|
||||
/*设置成员*/
|
||||
szcyPageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword: "",
|
||||
unit: "",
|
||||
stid: "",
|
||||
},
|
||||
szcyDialogVisible: false,
|
||||
upTableData: [],
|
||||
downTableData: [],
|
||||
units: [],
|
||||
temp: [],
|
||||
cyrs: "",
|
||||
strs: "",
|
||||
rs: "",
|
||||
|
||||
/*查看*/
|
||||
infoDialogVisible: false,
|
||||
viewData: [],
|
||||
ryTableData: [],
|
||||
activeName: "1",
|
||||
active: "1",
|
||||
multipleSelection: [],
|
||||
formData: {},
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
pageData: function () {
|
||||
var self = this;
|
||||
sublime.showLoadingbar();//显示loading
|
||||
$.post(base + "/platform/hd/stgl/stcygl/data", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.stxx.list;
|
||||
self.pageForm.totalCount = data.data.stxx.totalCount;
|
||||
self.units = data.data.unit;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*分页*/
|
||||
pageSizeChange: function (val) {
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange: function (val) {
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
/*分页*/
|
||||
szcypageSizeChange: function (val) {
|
||||
this.szcyPageForm.pageSize = val;
|
||||
this.szcyData();
|
||||
this.closeChecked();
|
||||
},
|
||||
szcypageNumberChange: function (val) {
|
||||
this.szcyPageForm.pageNumber = val;
|
||||
this.szcyData();
|
||||
this.closeChecked();
|
||||
},
|
||||
|
||||
doSearch: function () {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
szcySearch: function () {
|
||||
this.szcyPageForm.pageNumber = 1;
|
||||
this.szcyData();
|
||||
},
|
||||
|
||||
szcyData: function () {
|
||||
var self = this;
|
||||
|
||||
$.post(base + "/platform/hd/stgl/stcygl/szcyData", self.szcyPageForm, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.upTableData = data.data.user.list;
|
||||
self.szcyPageForm.totalCount = data.data.user.totalCount;
|
||||
self.strs = data.data.strs;
|
||||
self.active = "1";
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*查看*/
|
||||
openInfo: function (scope) {
|
||||
var self = this;
|
||||
$.post(base + "/platform/hd/stgl/stcygl/findById", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.viewData = data.data.st;
|
||||
self.ryTableData = data.data.ry;
|
||||
self.infoDialogVisible = true;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
openSzcy: function (scope) {
|
||||
var self = this;
|
||||
self.cyrs = scope.row.cyrs;
|
||||
//self.multipleSelection=[];
|
||||
self.rs = scope.row.rs;
|
||||
self.szcyPageForm.pageNumber = 1;
|
||||
self.szcyPageForm.stid = scope.row.id;
|
||||
self.szcyData();
|
||||
self.active = "1";
|
||||
self.szcyDialogVisible = true;
|
||||
},
|
||||
|
||||
handleSelectionChange: function (val) {
|
||||
this.multipleSelection = val;
|
||||
this.multipleSelection.forEach(function (val,index) {
|
||||
vue.$set(vue.multipleSelection[index],'jnjf','1');
|
||||
})
|
||||
},
|
||||
rowKey: function (row) {
|
||||
var self = this;
|
||||
return row.id;
|
||||
},
|
||||
|
||||
szcyDo: function () {
|
||||
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].jnjf == null || self.multipleSelection[i].jnjf == "") {
|
||||
self.$message({
|
||||
message: "有人员缴费信息尚未选择!",
|
||||
type: 'error'
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if ((self.strs * 1 + self.multipleSelection.length * 1) < self.cyrs) {
|
||||
if (self.multipleSelection.length < self.cyrs) {
|
||||
self.$alert("<span>最少人数限制为<span style='color: red'>" + self.cyrs + "</span>人,当前<span style='color: red'>" + self.multipleSelection.length + "</span>人</span>", "温馨提示", {
|
||||
dangerouslyUseHTMLString: true,
|
||||
type: 'warning',
|
||||
closeOnPressEscape: true,
|
||||
closeOnClickModal: true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var array = new Array();
|
||||
for (var i = 0; i < self.multipleSelection.length; i++) {
|
||||
array.push(
|
||||
{
|
||||
stid: self.szcyPageForm.stid,
|
||||
userid: self.multipleSelection[i].id,
|
||||
rssj: moment().format("YYYY-MM-DD"),
|
||||
jnjf: self.multipleSelection[i].jnjf,
|
||||
cysf: "2",
|
||||
}
|
||||
);
|
||||
}
|
||||
$.post(base + "/platform/hd/stgl/stcygl/szcyDo", {array: JSON.stringify(array)}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.multipleSelection = [];
|
||||
setTimeout(function () {
|
||||
self.$refs.upTable.clearSelection();
|
||||
}, 500)
|
||||
self.szcyDialogVisible = false;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
editJf: function (scope) {
|
||||
var self = this;
|
||||
var flag = 0;
|
||||
|
||||
if (scope.row.jnjf == "1") {
|
||||
self.$confirm("确定要修改为未缴费吗?", "温馨提示", {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: function (a, b) {
|
||||
if ("confirm" == a) {
|
||||
flag = 2;
|
||||
$.post(base + "/platform/hd/stgl/stcygl/editJf", {
|
||||
stid: scope.row.stid,
|
||||
userid: scope.row.id,
|
||||
jnjf: flag
|
||||
}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.ryTableData = data.data;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
} else if (scope.row.jnjf == "2") {
|
||||
self.$confirm("确定要修改为已缴费吗?", "温馨提示", {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: function (a, b) {
|
||||
if ("confirm" == a) {
|
||||
flag = 1;
|
||||
$.post(base + "/platform/hd/stgl/stcygl/editJf", {
|
||||
stid: scope.row.stid,
|
||||
userid: scope.row.id,
|
||||
jnjf: flag
|
||||
}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.ryTableData = data.data;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
created: function () {
|
||||
this.pageData();
|
||||
},
|
||||
watch: {},
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,977 @@
|
||||
<!--协会信息管理 djx 2019-07-08-->
|
||||
<!--#
|
||||
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 20px;
|
||||
}
|
||||
|
||||
.el-input--suffix .el-input__inner {
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
.el-dropdown-menu__item {
|
||||
padding: 0px 15px;
|
||||
}
|
||||
|
||||
.el-dialog__footer {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
input[type="file"] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<!--快捷查询-->
|
||||
<el-row class="header navbar bg-white shadow">
|
||||
|
||||
<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-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" v-if="flag==1"><i class="ti-plus"></i> 创建协会</el-button>
|
||||
</div>
|
||||
|
||||
</el-row>
|
||||
|
||||
<!--表格-->
|
||||
<el-row class="el-table-container">
|
||||
<el-table :data="tableData">
|
||||
<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" :show-overflow-tooltip="true" header-align="center" label="协会名称"
|
||||
prop="stmc"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="成立时间" prop="clsj"></el-table-column>
|
||||
<el-table-column align="center" :show-overflow-tooltip="true" header-align="center" label="主要负责人"
|
||||
prop="username"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="负责人单位" prop="name"></el-table-column>
|
||||
<el-table-column align="center" width="120px" header-align="center" label="负责人电话"
|
||||
prop="phone"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="负责人邮箱" prop="email"></el-table-column>
|
||||
<el-table-column align="center" width="80px" header-align="center" label="最少人数"
|
||||
prop="cyrs"></el-table-column>
|
||||
<el-table-column align="center" width="120px" header-align="center" label="状态" prop="shjg">
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.shjg != '1' && scope.row.shjg != '2' && scope.row.jsst != '1'">审批中</el-tag>
|
||||
<el-tag v-if="scope.row.shjg == '1' && scope.row.jsst != '1'" type="success">审批通过</el-tag>
|
||||
<el-tag v-if="scope.row.shjg == '2' && scope.row.jsst == '1'" type="danger">审批驳回</el-tag>
|
||||
<i v-if="scope.row.jsst == '1'" class="fa fa-circle text-danger ml5">已解散</i>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作" width="300px">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
|
||||
<el-button type="primary" @click="openInfo(scope)" v-if="scope.row.shjg!='1' && flag=='1'"
|
||||
size="mini">审核
|
||||
</el-button>
|
||||
<el-button type="primary" @click="openEdit(scope)" v-if="scope.row.shjg!='1'" size="mini">编辑
|
||||
</el-button>
|
||||
|
||||
<!--#if(@shiro.hasRole('sysadmin')){#-->
|
||||
<el-button type="danger" @click="deleteDo(scope)" size="mini"
|
||||
style="margin-left: 9px;">删除
|
||||
</el-button>
|
||||
<!--#}else{#-->
|
||||
<el-button type="danger" @click="deleteDo(scope)" v-if="scope.row.shjg!='1'" size="mini"
|
||||
style="margin-left: 9px;">删除
|
||||
</el-button>
|
||||
<!--#}#-->
|
||||
|
||||
|
||||
<el-button type="danger" @click="jsstDo(scope)"
|
||||
v-if="scope.row.shjg=='1' && flag=='1' && scope.row.jsst!='1'" 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>
|
||||
|
||||
<!--新增-->
|
||||
<el-dialog title="创建协会" width="60%" custom-class="ViewDialogClass" :close-on-click-modal="false" top="3%"
|
||||
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 :model="formData" label-position="top" ref="addForm" :rules="formRules" size="small"
|
||||
label-width="86px">
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="协会名称" prop="stmc">
|
||||
<el-input maxlength="100" placeholder="请输入协会名称"
|
||||
v-model="formData.stmc" 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="cyrs">
|
||||
<el-input maxlength="100" placeholder="请输入最少人数"
|
||||
v-model="formData.cyrs" style="width: 88%"
|
||||
auto-complete="off" tabindex="4" type="number"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="主要负责人" prop="fzr">
|
||||
<el-select v-model="formData.fzr" @change="selChange" :remote-method="remoteMethod" filterable
|
||||
remote placeholder="请根据教工号、姓名、单位查询" style="width: 88%">
|
||||
<el-option
|
||||
v-for="item in fzrOptions"
|
||||
:key="item.id"
|
||||
:label="item.display"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="负责人单位" prop="unitname">
|
||||
<el-input maxlength="100" disabled
|
||||
v-model="formData.unitname" style="width: 88%"
|
||||
auto-complete="off" tabindex="4" type="text"></el-input>
|
||||
<el-input style="display: none" v-model="formData.unit" type="text"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="负责人电话" prop="phone">
|
||||
<el-input maxlength="100"
|
||||
v-model="formData.phone" 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="email">
|
||||
<el-input maxlength="100"
|
||||
v-model="formData.email" 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="附件上传">
|
||||
<el-upload
|
||||
name="file"
|
||||
ref="upload"
|
||||
action="****"
|
||||
:on-remove="handleRemove"
|
||||
:on-change="handleChange"
|
||||
:on-exceed="handleExceed"
|
||||
:auto-upload="false"
|
||||
:file-list="fileList"
|
||||
:limit="1">
|
||||
<el-button size="small" type="primary">选择文件</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="申请理由">
|
||||
<script id="lyEditor" type="text/plain" class="editor"></script>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="协会介绍">
|
||||
<script id="jsEditor" type="text/plain" class="editor"></script>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="协会章程">
|
||||
<script id="zcEditor" type="text/plain" class="editor"></script>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</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>
|
||||
|
||||
<!--编辑-->
|
||||
<el-dialog title="编辑协会信息" id="editDialog" class="dia" :close-on-click-modal="false"
|
||||
v-if="editDialogVisible" :visible.sync="editDialogVisible" custom-class="ViewDialogClass" width="60%" top="3%">
|
||||
|
||||
<el-divider content-position="left"><span style="color: rgb(121, 187, 255)">请确认以下协会信息</span></el-divider>
|
||||
<el-form :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.stmc" 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-input maxlength="100" placeholder="请输入最少人数"
|
||||
v-model="editFormData.cyrs" style="width: 88%"
|
||||
auto-complete="off" tabindex="4" type="number"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="主要负责人">
|
||||
<el-select v-model="editFormData.fzr" @change="editSelChange" :remote-method="remoteMethod"
|
||||
filterable remote placeholder="请根据教工号、姓名、单位查询" style="width: 88%">
|
||||
<el-option
|
||||
v-for="item in fzrOptions"
|
||||
:key="item.id"
|
||||
:label="item.display"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="负责人单位">
|
||||
<el-input maxlength="100" disabled
|
||||
v-model="editFormData.unitname" style="width: 88%"
|
||||
auto-complete="off" tabindex="4" type="text"></el-input>
|
||||
<el-input style="display: none" v-model="formData.unit" type="text"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="负责人电话">
|
||||
<el-input maxlength="100"
|
||||
v-model="editFormData.phone" 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-input maxlength="100"
|
||||
v-model="editFormData.email" 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="附件上传">
|
||||
<el-upload
|
||||
name="file"
|
||||
ref="upload"
|
||||
action="****"
|
||||
:on-remove="handleRemove"
|
||||
:on-change="handleChange"
|
||||
:on-exceed="handleExceed"
|
||||
:auto-upload="false"
|
||||
:file-list="fileList"
|
||||
:limit="1">
|
||||
<el-button size="small" type="primary">选择文件</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="申请理由">
|
||||
<script id="editlyEditor" v-if="editDialogVisible" type="text/plain" class="editor"></script>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="协会介绍">
|
||||
<script id="editjsEditor" v-if="editDialogVisible" type="text/plain" class="editor"></script>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="协会章程">
|
||||
<script id="editzcEditor" v-if="editDialogVisible" type="text/plain" class="editor"></script>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</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="temp.shjg=='1'?'查看':'审核'" class="dia"
|
||||
:visible.sync="infoDialogVisible" custom-class="ViewDialogClass" width="60%" top="3%">
|
||||
|
||||
<el-collapse v-model="activeName" accordion>
|
||||
<el-collapse-item title="协会详细信息" name="1">
|
||||
<el-card>
|
||||
<table style="width: 100%">
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6" style="font-size: 18px;">{{viewData.stmc}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">主要负责人</td>
|
||||
<td class="tpb">{{viewData.username}}</td>
|
||||
<td class="tpa">单位</td>
|
||||
<td class="tpb">{{viewData.name}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">电话</td>
|
||||
<td class="tpb">{{viewData.phone}}</td>
|
||||
<td class="tpa">邮箱</td>
|
||||
<td class="tpb">{{viewData.email}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa">最少人数</td>
|
||||
<td class="tpb">{{viewData.cyrs}}</td>
|
||||
<td class="tpa">成立时间</td>
|
||||
<td class="tpb">{{viewData.clsj}}</td>
|
||||
</tr>
|
||||
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">申请理由</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.sqly"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">协会介绍</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.stjs"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6">协会章程</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6">
|
||||
<div v-html="viewData.stzc"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item title="协会成员列表" name="2">
|
||||
<el-card class="box-card">
|
||||
<el-table :data="ryTableData" size="small" border
|
||||
:header-cell-style="{background:'#F5F5F5',color:'#606266'}">
|
||||
<el-table-column label="人员身份" width="80px" prop="cysf" header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-lable v-if="scope.row.cysf=='1'">负责人</el-lable>
|
||||
<el-lable v-if="scope.row.cysf=='2'">成员</el-lable>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名" width="120px" 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-column label="电话" width="120px" prop="mobile" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="是否缴费" width="80px" prop="jnjf" header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-lable v-if="scope.row.jnjf=='1'">已缴费</el-lable>
|
||||
<el-lable v-if="scope.row.jnjf=='2'">未缴费</el-lable>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<!--<el-button type="primary" v-if="temp.shjg=='1'" @click="infoDialogVisible=false">确 定</el-button>-->
|
||||
<el-button type="danger" v-if="temp.shjg!='1' && flag=='1'" @click="sp(2)">驳 回</el-button>
|
||||
<el-button type="success" v-if="temp.shjg!='1' && flag=='1'" @click="sp(1)">通 过</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
var vue = new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
/*列表*/
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword: "",
|
||||
},
|
||||
flag: "",
|
||||
|
||||
/*新增*/
|
||||
addDialogVisible: false,
|
||||
formData: {
|
||||
phone: "",
|
||||
email: "",
|
||||
},
|
||||
formRules: {
|
||||
stmc: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
cyrs: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
fzr: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
unitname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
phone: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
email: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
},
|
||||
fzrOptions: [],
|
||||
visible: false,
|
||||
|
||||
/*编辑*/
|
||||
editDialogVisible: false,
|
||||
editFormData: {
|
||||
phone: "",
|
||||
email: "",
|
||||
},
|
||||
editFormRules: {
|
||||
stmc: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
cyrs: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
fzr: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
unitname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
phone: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
email: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
},
|
||||
|
||||
|
||||
/*查看*/
|
||||
infoDialogVisible: false,
|
||||
viewData: [],
|
||||
ryTableData: [],
|
||||
temp: [],
|
||||
activeName: '1',
|
||||
|
||||
fileList: [],
|
||||
stid: "",
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
pageData: function () {
|
||||
|
||||
var self = this;
|
||||
sublime.showLoadingbar();//显示loading
|
||||
$.post(base + "/platform/hd/stgl/stxxgl/data", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.stxx.list;
|
||||
self.pageForm.totalCount = data.data.stxx.totalCount;
|
||||
self.flag = data.data.flag;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*分页*/
|
||||
pageSizeChange: function (val) {
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange: function (val) {
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
doSearch: function () {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
/*新增*/
|
||||
openAdd: function () {
|
||||
var self = this;
|
||||
self.formData = {
|
||||
phone: "",
|
||||
email: "",
|
||||
};
|
||||
self.fzrOptions = [];
|
||||
self.fileList = [];
|
||||
self.addDialogVisible = true;
|
||||
|
||||
UM.delEditor('lyEditor')
|
||||
UM.delEditor('jsEditor')
|
||||
UM.delEditor('zcEditor')
|
||||
|
||||
self.$nextTick(function () {
|
||||
//实例化编辑器
|
||||
lyEditor = UM.getEditor('lyEditor', {
|
||||
// toolbar: ['undo redo | bold italic underline'],
|
||||
toolbar: ['removeformat | undo redo | bold italic underline | justifyleft justifyright justifycenter | insertorderedlist insertunorderedlist | cleardoc'],
|
||||
initialFrameWidth: '96%',//设置编辑器高度
|
||||
});
|
||||
jsEditor = UM.getEditor('jsEditor', {
|
||||
// toolbar: ['undo redo | bold italic underline'],
|
||||
toolbar: ['removeformat | undo redo | bold italic underline | justifyleft justifyright justifycenter | insertorderedlist insertunorderedlist | cleardoc'],
|
||||
initialFrameWidth: '96%',//设置编辑器高度
|
||||
});
|
||||
zcEditor = UM.getEditor('zcEditor', {
|
||||
// toolbar: ['undo redo | bold italic underline'],
|
||||
toolbar: ['removeformat | undo redo | bold italic underline | justifyleft justifyright justifycenter | insertorderedlist insertunorderedlist | cleardoc'],
|
||||
initialFrameWidth: '96%',//设置编辑器高度
|
||||
});
|
||||
lyEditor.setContent("");
|
||||
jsEditor.setContent("");
|
||||
zcEditor.setContent("");
|
||||
|
||||
});
|
||||
|
||||
},
|
||||
doAdd: function () {
|
||||
var self = this;
|
||||
self.$refs["addForm"].validate(function (valid) {
|
||||
if (valid) {
|
||||
|
||||
var NewFormData = new FormData(); //以formdata的形式发送到后台
|
||||
|
||||
if (self.fileList != null && self.fileList.length > 0) {
|
||||
self.fileList.forEach(function (val) {
|
||||
if (self.fileList[0].raw.name.split(".")[1] != "doc" && self.fileList[0].raw.name.split(".")[1] != "docx"
|
||||
&& self.fileList[0].raw.name.split(".")[1] != "pdf" && self.fileList[0].raw.name.split(".")[1] != "xls"
|
||||
&& self.fileList[0].raw.name.split(".")[1] != "xlsx"
|
||||
) {
|
||||
self.$message.warning("仅支持.pdf,.doc,.docx类型的文件上传!");
|
||||
return;
|
||||
} else {
|
||||
NewFormData.append("file", val.raw, val.raw.name);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
self.$message.warning("请上传附件!");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
NewFormData.append("stmc", self.formData.stmc);
|
||||
NewFormData.append("cyrs", self.formData.cyrs);
|
||||
NewFormData.append("fzr", self.formData.fzr);
|
||||
NewFormData.append("unit", self.formData.unit);
|
||||
if (self.formData.phone == "" || self.formData.phone == null) {
|
||||
NewFormData.append("phone", "");
|
||||
} else {
|
||||
NewFormData.append("phone", self.formData.phone);
|
||||
}
|
||||
if (self.formData.email == "" || self.formData.email == null) {
|
||||
NewFormData.append("email", "");
|
||||
} else {
|
||||
NewFormData.append("email", self.formData.email);
|
||||
}
|
||||
NewFormData.append("sqly", lyEditor.getContent());
|
||||
NewFormData.append("stjs", jsEditor.getContent());
|
||||
NewFormData.append("stzc", zcEditor.getContent());
|
||||
|
||||
$.ajax({
|
||||
url: base + "/platform/hd/stgl/stxxgl/addDo",
|
||||
type: "post",
|
||||
data: NewFormData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function (data) {
|
||||
if (data.code == 0) {
|
||||
self.addDialogVisible = false;
|
||||
self.pageData();
|
||||
self.$message.success("操作成功!");
|
||||
} else if (data.code == -1) {
|
||||
self.$message.error("不允许创建重复协会!");
|
||||
}
|
||||
},
|
||||
error: function (data) {
|
||||
self.$message.error("应用程序出现异常!");
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
remoteMethod: function (obj) {
|
||||
var self = this;
|
||||
$.post(base + "/platform/hd/stgl/stxxgl/findFzr", {obj: obj}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.fzrOptions = data.data;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
selChange: function (obj) {
|
||||
var self = this;
|
||||
for (var i = 0; i < self.fzrOptions.length; i++) {
|
||||
if (self.fzrOptions[i].id == obj) {
|
||||
vue.$set(self.formData,"unitname",self.fzrOptions[i].depname)
|
||||
vue.$set(self.formData,"unit",self.fzrOptions[i].unitid)
|
||||
vue.$set(self.formData,"phone",self.fzrOptions[i].mobile)
|
||||
vue.$set(self.formData,"email",self.fzrOptions[i].email)
|
||||
return;
|
||||
}
|
||||
}
|
||||
},
|
||||
editSelChange: function (obj) {
|
||||
var self = this;
|
||||
for (var i = 0; i < self.fzrOptions.length; i++) {
|
||||
if (self.fzrOptions[i].id == obj) {
|
||||
vue.$set(self.editFormData,"unitname",self.fzrOptions[i].depname)
|
||||
vue.$set(self.editFormData,"unit",self.fzrOptions[i].unitid)
|
||||
vue.$set(self.editFormData,"phone",self.fzrOptions[i].mobile)
|
||||
vue.$set(self.editFormData,"email",self.fzrOptions[i].email)
|
||||
return;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/*审批*/
|
||||
sp: function (obj) {
|
||||
var self = this;
|
||||
if (obj == "3") {
|
||||
self.visible = false;
|
||||
self.$alert("状态为已审核不可进行此操作!", "温馨提示", {
|
||||
confirmButtonText: '确定',
|
||||
type: 'error',
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
$.post(base + "/platform/hd/stgl/stxxgl/spSt", {id: self.temp.id, obj: obj}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: '操作成功',
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.infoDialogVisible = false;
|
||||
}
|
||||
}, "json");
|
||||
|
||||
},
|
||||
|
||||
/*编辑*/
|
||||
openEdit: function (scope) {
|
||||
var self = this;
|
||||
self.stid = scope.row.id;
|
||||
if (scope.row.shjg == "1") {
|
||||
self.$alert("状态为审核通过不可进行修改!", "温馨提示", {
|
||||
confirmButtonText: '确定',
|
||||
type: 'error',
|
||||
});
|
||||
return;
|
||||
}
|
||||
self.fileList = [];
|
||||
if (scope.row.wjname != null && scope.row.wjname != "" && scope.row.wjname != "undefined") {
|
||||
$.post(base + "/platform/hd/stgl/stxxgl/findflfgfj", {
|
||||
wjname: scope.row.wjname,
|
||||
id: scope.row.id,
|
||||
url: scope.row.wjurl
|
||||
}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.fileList = data.data;
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
$.post(base + "/platform/hd/stgl/stxxgl/findSt", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.fzrOptions = [{id: data.data.st.fzr, display: data.data.st.display}];
|
||||
self.editFormData = data.data.st;
|
||||
self.editDialogVisible = true;
|
||||
|
||||
UM.delEditor('editlyEditor')
|
||||
UM.delEditor('editjsEditor')
|
||||
UM.delEditor('editzcEditor')
|
||||
|
||||
self.$nextTick(function () {
|
||||
//实例化编辑器
|
||||
editlyEditor = UM.getEditor('editlyEditor', {
|
||||
toolbar: ['removeformat | undo redo | bold italic underline | justifyleft justifyright justifycenter | insertorderedlist insertunorderedlist | cleardoc'],
|
||||
initialFrameWidth: '96%',//设置编辑器高度
|
||||
});
|
||||
editjsEditor = UM.getEditor('editjsEditor', {
|
||||
toolbar: ['removeformat | undo redo | bold italic underline | justifyleft justifyright justifycenter | insertorderedlist insertunorderedlist | cleardoc'],
|
||||
initialFrameWidth: '96%',//设置编辑器高度
|
||||
});
|
||||
editzcEditor = UM.getEditor('editzcEditor', {
|
||||
toolbar: ['removeformat | undo redo | bold italic underline | justifyleft justifyright justifycenter | insertorderedlist insertunorderedlist | cleardoc'],
|
||||
initialFrameWidth: '96%',//设置编辑器高度
|
||||
});
|
||||
|
||||
editlyEditor.ready(function () {
|
||||
if (data.data.st.sqly != "" && data.data.st.sqly != null) {
|
||||
editlyEditor.setContent(data.data.st.sqly);
|
||||
}
|
||||
});
|
||||
editjsEditor.ready(function () {
|
||||
if (data.data.st.stjs != "" && data.data.st.stjs != null) {
|
||||
editjsEditor.setContent(data.data.st.stjs);
|
||||
}
|
||||
});
|
||||
editzcEditor.ready(function () {
|
||||
if (data.data.st.stzc != "" && data.data.st.stzc != null) {
|
||||
editzcEditor.setContent(data.data.st.stzc);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
doEdit: function () {
|
||||
var self = this;
|
||||
self.$refs["editForm"].validate(function (valid) {
|
||||
if (valid) {
|
||||
var NewFormData = new FormData();
|
||||
NewFormData.append("id", self.stid);
|
||||
NewFormData.append("stmc", self.editFormData.stmc);
|
||||
NewFormData.append("cyrs", self.editFormData.cyrs);
|
||||
NewFormData.append("fzr", self.editFormData.fzr);
|
||||
NewFormData.append("unit", self.editFormData.unit);
|
||||
NewFormData.append("phone", self.editFormData.phone);
|
||||
NewFormData.append("email", self.editFormData.email);
|
||||
NewFormData.append("sqly", editlyEditor.getContent());
|
||||
NewFormData.append("stjs", editjsEditor.getContent());
|
||||
NewFormData.append("stzc", editzcEditor.getContent());
|
||||
|
||||
if (self.fileList != null && self.fileList.length > 0) {
|
||||
|
||||
if (self.fileList[0].uid != self.stid) {
|
||||
if (self.fileList[0].raw.name.split(".")[1] != "doc" && self.fileList[0].raw.name.split(".")[1] != "docx"
|
||||
&& self.fileList[0].raw.name.split(".")[1] != "pdf" && self.fileList[0].raw.name.split(".")[1] != "xls"
|
||||
&& self.fileList[0].raw.name.split(".")[1] != "xlsx"
|
||||
) {
|
||||
self.$message.warning("仅支持.pdf,.doc,.docx类型的文件上传!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
self.fileList.forEach(function (val) {
|
||||
if (self.fileid != "" && self.fileid != null && self.fileid != "undefined") {
|
||||
NewFormData.append("fileid", self.fileid);
|
||||
NewFormData.append("fileurl", self.fileurl);
|
||||
NewFormData.append("file", val.raw, val.raw.name);
|
||||
}
|
||||
});
|
||||
$.ajax({
|
||||
url: base + "/platform/hd/stgl/stxxgl/editDo",
|
||||
type: "post",
|
||||
data: NewFormData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function (data) {
|
||||
if (data.code == 0) {
|
||||
self.editDialogVisible = false;
|
||||
self.pageData();
|
||||
self.$message.success("操作成功!");
|
||||
}
|
||||
},
|
||||
error: function (data) {
|
||||
self.$message.error("应用程序出现异常!");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
self.$message.warning("请上传附件!");
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/*查看*/
|
||||
openInfo: function (scope) {
|
||||
|
||||
var self = this;
|
||||
self.temp = scope.row;
|
||||
$.post(base + "/platform/hd/stgl/stxxgl/findById", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.viewData = data.data.st;
|
||||
self.ryTableData = data.data.ry;
|
||||
self.infoDialogVisible = true;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*删除*/
|
||||
deleteDo: function (scope) {
|
||||
var self = this;
|
||||
if ('${@shiro.hasRole("sysadmin")}' == 'false' && scope.row.shjg == "1") {
|
||||
self.$alert("状态为审核通过不可进行删除!", "温馨提示", {
|
||||
confirmButtonText: '确定',
|
||||
type: 'error',
|
||||
});
|
||||
return;
|
||||
}
|
||||
self.$confirm("此操作将永久删除该协会, 是否继续?", "温馨提示", {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: function (a, b) {
|
||||
if ("confirm" == a) {
|
||||
$.post(base + "/platform/hd/stgl/stxxgl/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");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
handleRemove: function (file, fileList) {
|
||||
var self = this;
|
||||
self.fileList = fileList;
|
||||
if (file.status == "success") {
|
||||
self.fileid = file.uid;
|
||||
self.fileurl = file.url;
|
||||
}
|
||||
/*self.formData.stmc = "";*/
|
||||
},
|
||||
handleChange: function (file, fileList) {
|
||||
var self = this;
|
||||
if (file.size == 0) {
|
||||
self.$message.warning("您选择的是空文件!");
|
||||
for (var i = 0; i < fileList.length; i++) {
|
||||
if (file == fileList[i]) {
|
||||
fileList.splice(i, 1);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/*self.formData.stmc = file.raw.name;*/
|
||||
}
|
||||
self.fileList = fileList;
|
||||
},
|
||||
handleExceed: function (file, fileList) {
|
||||
this.$message.warning("您只能上传一个文件!");
|
||||
},
|
||||
|
||||
jsstDo: function (scope) {
|
||||
var self = this;
|
||||
self.$confirm("您确定要解散此协会吗?", "温馨提示", {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: function (a, b) {
|
||||
if ("confirm" == a) {
|
||||
$.post(base + "/platform/hd/stgl/stxxgl/jsstDo", {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: {},
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,785 @@
|
||||
<!--协会活动信息管理 djx 2019-07-08-->
|
||||
<!--#
|
||||
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;
|
||||
}
|
||||
|
||||
.tpa {
|
||||
padding: 8px;
|
||||
text-align: center;
|
||||
width: 12%;
|
||||
background-color: rgb(250, 250, 250);
|
||||
border: 1px solid rgb(220, 220, 220);
|
||||
}
|
||||
|
||||
.tpb {
|
||||
padding: 8px;
|
||||
text-align: center;
|
||||
color: #a0a9b4;
|
||||
width: 16%;
|
||||
border: 1px solid rgb(220, 220, 220);
|
||||
}
|
||||
|
||||
.tpc {
|
||||
padding: 8px;
|
||||
color: #a0a9b4;
|
||||
width: 15%;
|
||||
border: 1px solid rgb(220, 220, 220);
|
||||
}
|
||||
|
||||
.el-card__body {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.el-input--suffix .el-input__inner {
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
.el-dropdown-menu__item {
|
||||
padding: 0px 15px;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.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-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-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</div>
|
||||
|
||||
<!--#if(@shiro.hasRole('sysadmin')){#-->
|
||||
<div class="pull-right offscreen-right mt5">
|
||||
<el-button size="medium" @click="openAdd"><i class="ti-plus"></i> 创建协会活动</el-button>
|
||||
</div>
|
||||
<!--#}else{#-->
|
||||
<div class="pull-right offscreen-right mt5">
|
||||
<el-button size="medium" @click="openAdd" v-if="flag!='1'"><i class="ti-plus"></i> 创建协会活动
|
||||
</el-button>
|
||||
</div>
|
||||
<!--#}#-->
|
||||
|
||||
|
||||
<div style=""></div>
|
||||
</el-row>
|
||||
|
||||
<!--表格-->
|
||||
<el-row class="el-table-container">
|
||||
<el-table :data="tableData" size="small">
|
||||
<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="160" :show-overflow-tooltip="true" header-align="center"
|
||||
label="协会活动名称" prop="hdmc"></el-table-column>
|
||||
<el-table-column align="center" width="160" :show-overflow-tooltip="true" header-align="center"
|
||||
label="所属协会" prop="stmc"></el-table-column>
|
||||
<el-table-column align="center" width="160" :show-overflow-tooltip="true" header-align="center"
|
||||
label="活动地点" prop="hddz"></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="username"
|
||||
width="80px"></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="ybm"
|
||||
width="68px"></el-table-column>
|
||||
<el-table-column align="center" label="操作" width="300px">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" @click="doExport(scope.row.id)">导出</el-button>
|
||||
<el-button @click="openInfo(scope)" 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: 10px" 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 style="border: 1px solid rgb(220,220,220);">
|
||||
<td colspan="6" class="text-center" style="font-size: 20px;background-color: #f5f5f5">
|
||||
{{viewData.hdmc}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">主要负责人</td>
|
||||
<td class="v-0x2323544">{{viewData.username}}</td>
|
||||
<td class="v-0x345756765">联系电话</td>
|
||||
<td class="v-0x2323544">{{viewData.phone}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">活动类型</td>
|
||||
<td class="v-0x2323544">{{viewData.hdlx}}</td>
|
||||
<td class="v-0x345756765">活动项目</td>
|
||||
<td class="v-0x2323544">{{viewData.hdxm}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">活动经费</td>
|
||||
<td class="v-0x2323544">{{viewData.jfys}}</td>
|
||||
<td class="v-0x345756765">成员人数</td>
|
||||
<td class="v-0x2323544">{{viewData.cyrs}}</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>
|
||||
</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>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">活动地址</td>
|
||||
<td class="v-0x2323544" colspan="3">{{viewData.hddz}}</td>
|
||||
</tr>
|
||||
|
||||
<tr 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 style="border: 1px solid rgb(220,220,220);">
|
||||
<td colspan="6">
|
||||
<div v-html="viewData.hdnr" class="v-0x2323544"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr 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 style="border: 1px solid rgb(220,220,220);">
|
||||
<td colspan="6">
|
||||
<div v-html="viewData.hdzz" class="v-0x2323544"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="活动报名情况" name="2">
|
||||
<el-table :data="bmTableData" size="small" border
|
||||
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<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-column label="基层工会" prop="unionname" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
|
||||
</el-tabs>
|
||||
|
||||
</div>
|
||||
</transition>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
let nrEditor = null
|
||||
let zzEditor = null
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
/*列表*/
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword: "",
|
||||
hdlx: "",
|
||||
hdxm: "",
|
||||
},
|
||||
queryHdlx: [],
|
||||
queryHdxm: [],
|
||||
|
||||
/*新增*/
|
||||
stidFlag: "",
|
||||
addDialogVisible: false,
|
||||
formData: {
|
||||
hdxmid: "",
|
||||
hdmc: "",
|
||||
},
|
||||
formRules: {},
|
||||
hdlxOptions: [],//活动类型
|
||||
hdxmOptions: [],//活动项目
|
||||
stOptions: [],
|
||||
fzrOptions: [],
|
||||
visible: false,
|
||||
addBm: [],
|
||||
addHd: [],
|
||||
hdjhOptions: [],
|
||||
|
||||
/*编辑*/
|
||||
editDialogVisible: false,
|
||||
editFormData: {
|
||||
hdlxid: "",
|
||||
hdxmid: "",
|
||||
},
|
||||
editFormRules: {},
|
||||
editBm: [],
|
||||
editHd: [],
|
||||
editHdjhOptions: [],
|
||||
|
||||
/*查看*/
|
||||
infoDialogVisible: false,
|
||||
activeName: '1',
|
||||
viewData: [],
|
||||
bmTableData: [],
|
||||
bmfs: "",
|
||||
temp: [],
|
||||
flag: "",
|
||||
curUser: [],
|
||||
|
||||
editFlag: [],
|
||||
isshow: true,
|
||||
xqactive: "1"
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
doExport(id) {
|
||||
window.location.href = '/platform/hd/sthdgl/export/export?id=' + id
|
||||
},
|
||||
pageData: function () {
|
||||
|
||||
var self = this;
|
||||
sublime.showLoadingbar();//显示loading
|
||||
$.post(base + "/platform/hd/sthdgl/hdxxgl/data", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.hds.list;
|
||||
self.pageForm.totalCount = data.data.hds.totalCount;
|
||||
self.hdlxOptions = data.data.hdlx;
|
||||
self.queryHdlx = data.data.hdlx;
|
||||
self.stOptions = data.data.stxx;
|
||||
self.curUser = data.data.curUser;
|
||||
self.hdjhOptions = data.data.hdjh;
|
||||
if (data.data.stid != null && data.data.stid != "") {
|
||||
self.formData.stid = data.data.stid;
|
||||
self.stidFlag = data.data.stid;
|
||||
|
||||
}
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*分页*/
|
||||
pageSizeChange: function (val) {
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange: function (val) {
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
doSearch: function () {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
/*新增*/
|
||||
openAdd: function () {
|
||||
|
||||
var self = this;
|
||||
self.formData = {
|
||||
hdlxid: "",
|
||||
hdxmid: "",
|
||||
hdmc: "",
|
||||
stid: self.stidFlag,
|
||||
qx: []
|
||||
};
|
||||
self.addDialogVisible = true;
|
||||
if (self.$refs['addForm'] !== undefined) {
|
||||
self.$refs['addForm'].resetFields();
|
||||
}
|
||||
|
||||
|
||||
self.$nextTick(function () {
|
||||
//实例化编辑器
|
||||
nrEditor = new wangEditor("#nrEditor")
|
||||
nrEditor.create()
|
||||
|
||||
zzEditor = new wangEditor("#zzEditor")
|
||||
zzEditor.create()
|
||||
});
|
||||
|
||||
},
|
||||
doAdd: 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 < self.formData.bmkssj || self.formData.hdkssj < self.formData.bmjssj) {
|
||||
self.$alert("活动开始日期需在活动报名截止之后!", "温馨提示", {
|
||||
type: 'warning',
|
||||
closeOnPressEscape: true,
|
||||
closeOnClickModal: true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
self.formData.hdnr = nrEditor.txt.text();
|
||||
self.formData.hdzz = zzEditor.txt.text();
|
||||
self.formData.qx = self.formData.qx.toString();
|
||||
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/sthdgl/hdxxgl/addDo", self.formData, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.addDialogVisible = false;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
loading.close();
|
||||
}, "json");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
remoteMethod: function (obj) {
|
||||
var self = this;
|
||||
$.post(base + "/platform/hd/sthdgl/hdxxgl/findFzr", {obj: obj}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.fzrOptions = data.data;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
selChange: function (obj) {
|
||||
var self = this;
|
||||
for (var i = 0; i < self.fzrOptions.length; i++) {
|
||||
if (self.fzrOptions[i].id == obj) {
|
||||
vue.$set(self.formData, 'phone', self.fzrOptions[i].mobile)
|
||||
return;
|
||||
}
|
||||
}
|
||||
},
|
||||
editSelChange: function (obj) {
|
||||
var self = this;
|
||||
for (var i = 0; i < self.fzrOptions.length; i++) {
|
||||
if (self.fzrOptions[i].id == obj) {
|
||||
vue.$set(self.editFormData, 'phone', self.fzrOptions[i].mobile)
|
||||
return;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
jhSelChange: function (obj) {
|
||||
var self = this;
|
||||
if (obj == "" || obj == null) {
|
||||
self.formData.hdmc = "";
|
||||
self.formData.hdlxid = "";
|
||||
self.formData.hdxmid = "";
|
||||
} else {
|
||||
for (var i = 0; i < self.hdjhOptions.length; i++) {
|
||||
if (obj == self.hdjhOptions[i].id) {
|
||||
self.formData.hdmc = self.hdjhOptions[i].jhmc;
|
||||
if (self.hdjhOptions[i].hdlxid != null && self.hdjhOptions[i].hdlxid != "") {
|
||||
self.formData.hdlxid = self.hdjhOptions[i].hdlxid;
|
||||
}
|
||||
if (self.hdjhOptions[i].hdxmid != null && self.hdjhOptions[i].hdxmid != "") {
|
||||
setTimeout(function () {
|
||||
self.formData.hdxmid = self.hdjhOptions[i].hdxmid;
|
||||
}, 80)
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
editJhSelChange: function (obj) {
|
||||
var self = this;
|
||||
if (obj == "" || obj == null) {
|
||||
self.editFormData.hdmc = self.editFlag[0];
|
||||
self.editFormData.hdlxid = self.editFlag[1];
|
||||
self.editFormData.hdxmid = self.editFlag[2];
|
||||
} else {
|
||||
for (var i = 0; i < self.editHdjhOptions.length; i++) {
|
||||
if (obj == self.editHdjhOptions[i].id) {
|
||||
self.editFormData.hdmc = self.editHdjhOptions[i].jhmc;
|
||||
if (self.editHdjhOptions[i].hdlxid != null && self.editHdjhOptions[i].hdlxid != "") {
|
||||
self.editFormData.hdlxid = self.editHdjhOptions[i].hdlxid;
|
||||
}
|
||||
if (self.editHdjhOptions[i].hdxmid != null && self.editHdjhOptions[i].hdxmid != "") {
|
||||
setTimeout(function () {
|
||||
self.editFormData.hdxmid = self.editHdjhOptions[i].hdxmid;
|
||||
}, 80)
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/*编辑*/
|
||||
openEdit: function (scope) {
|
||||
|
||||
var self = this;
|
||||
self.editBm = [];
|
||||
self.editHd = [];
|
||||
self.editHdjhOptions = [];
|
||||
self.editFlag = [];
|
||||
|
||||
$.post(base + "/platform/hd/sthdgl/hdxxgl/findSthd", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.editDialogVisible = true;
|
||||
|
||||
|
||||
self.$nextTick(function () {
|
||||
//实例化编辑器
|
||||
editnrEditor = new wangEditor("#editnrEditor")
|
||||
editnrEditor.create()
|
||||
|
||||
editzzEditor = new wangEditor("#editzzEditor")
|
||||
editzzEditor.create()
|
||||
|
||||
|
||||
if (data.data.sthd.hdnr != "" && data.data.sthd.hdnr != null) {
|
||||
editnrEditor.txt.text(data.data.sthd.hdnr);
|
||||
}
|
||||
|
||||
if (data.data.sthd.hdzz != "" && data.data.sthd.hdzz != null) {
|
||||
editzzEditor.txt.text(data.data.sthd.hdzz);
|
||||
}
|
||||
});
|
||||
|
||||
self.hdxmOptions = data.data.hdxm;
|
||||
self.editFormData = data.data.sthd;
|
||||
if (data.data.sthd.qx != null && data.data.sthd.qx != undefined) {
|
||||
this.editFormData.qx = this.editFormData.qx.split(",")
|
||||
} else {
|
||||
this.editFormData.qx = [];
|
||||
}
|
||||
self.fzrOptions = [{id: data.data.sthd.fzr, display: data.data.sthd.display}];
|
||||
if (data.data.hdjh.length > 0) {
|
||||
self.editHdjhOptions = data.data.hdjh;
|
||||
}
|
||||
self.editHdjhOptions.push({
|
||||
id: data.data.sthd.jhid,
|
||||
jhmc: data.data.sthd.jhmc,
|
||||
hdlxid: data.data.sthd.hdlxid,
|
||||
hdxmid: data.data.sthd.hdxmid
|
||||
});
|
||||
|
||||
if (data.data.sthd.bmkssj != "" && data.data.sthd.bmkssj != null) {
|
||||
self.editBm.push(data.data.sthd.bmkssj);
|
||||
}
|
||||
if (data.data.sthd.bmjssj != "" && data.data.sthd.bmjssj != null) {
|
||||
self.editBm.push(data.data.sthd.bmjssj);
|
||||
}
|
||||
if (data.data.sthd.hdkssj != "" && data.data.sthd.hdkssj != null) {
|
||||
self.editHd.push(data.data.sthd.hdkssj);
|
||||
}
|
||||
if (data.data.sthd.hdjssj != "" && data.data.sthd.hdjssj != null) {
|
||||
self.editHd.push(data.data.sthd.hdjssj);
|
||||
}
|
||||
self.editFlag.push(data.data.sthd.hdmc);
|
||||
self.editFlag.push(data.data.sthd.hdlxid);
|
||||
self.editFlag.push(data.data.sthd.hdxmid);
|
||||
|
||||
}
|
||||
}, "json");
|
||||
|
||||
},
|
||||
doEdit: function () {
|
||||
|
||||
var self = this;
|
||||
if (self.editBm) {
|
||||
self.editFormData.bmkssj = self.editBm[0];
|
||||
self.editFormData.bmjssj = self.editBm[1];
|
||||
}
|
||||
if (self.editHd) {
|
||||
self.editFormData.hdkssj = self.editHd[0];
|
||||
self.editFormData.hdjssj = self.editHd[1];
|
||||
}
|
||||
|
||||
self.editFormData.hdnr = editnrEditor.txt.text();
|
||||
self.editFormData.hdzz = editzzEditor.txt.text();
|
||||
self.$refs["editForm"].validate(function (valid) {
|
||||
if (valid) {
|
||||
|
||||
$.post(base + "/platform/hd/sthdgl/hdxxgl/editDo", self.editFormData, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.editDialogVisible = false;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/*查看*/
|
||||
openInfo: function (scope) {
|
||||
|
||||
var self = this;
|
||||
self.temp = scope.row;
|
||||
$.post(base + "/platform/hd/sthdgl/hdxxgl/findById", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.viewData = data.data.sthd;
|
||||
self.bmTableData = data.data.cyry;
|
||||
self.isshow = false;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*删除*/
|
||||
deleteDo: function (scope) {
|
||||
|
||||
var self = this;
|
||||
|
||||
/*if(scope.row.shjg == "1") {
|
||||
self.$alert("状态为审核通过不可进行删除!","温馨提示",{
|
||||
confirmButtonText: '确定',
|
||||
type: 'error',
|
||||
});
|
||||
return;
|
||||
}*/
|
||||
self.$confirm("此操作将永久删除该活动, 是否继续?", "温馨提示", {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: function (a, b) {
|
||||
if ("confirm" == a) {
|
||||
$.post(base + "/platform/hd/sthdgl/hdxxgl/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");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
sp: function (obj) {
|
||||
var self = this;
|
||||
if (obj == "3") {
|
||||
self.visible = false;
|
||||
self.$alert("状态为已审核不可进行此操作!", "温馨提示", {
|
||||
confirmButtonText: '确定',
|
||||
type: 'error',
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
$.post(base + "/platform/hd/sthdgl/hdxxgl/spSt", {id: self.temp.id, obj: obj}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: '操作成功',
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.infoDialogVisible = false;
|
||||
}
|
||||
}, "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") {
|
||||
$.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": function (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;
|
||||
self.pageForm.hdxm = data.data[0].id;
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,112 @@
|
||||
<!--活动报名 lyw-->
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
[v-cloak] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
iframe {
|
||||
border: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.el-tabs__content {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.el-tab-pane {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/*.el-tabs__header{*/
|
||||
/* margin-bottom: 0;*/
|
||||
/*}*/
|
||||
.el-tabs {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
/*border-top: 1px solid #DCDFE6;*/
|
||||
}
|
||||
|
||||
.el-tabs__content {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.el-tabs__item {
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak style="width: 100%;height: 100%;" v-loading="loading">
|
||||
<el-tabs v-model="activeName" stretch style="width: 100%;height: 100%" type="border-card">
|
||||
<el-tab-pane name="first" v-if="xhdShow" :lazy="true">
|
||||
<span slot="label"><i class="el-icon-trophy"></i> 校工会活动报名</span>
|
||||
<iframe src="/platform/hd/xhdgl/hdbm">
|
||||
|
||||
</iframe>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="second" v-if="fhhdShow" :lazy="true">
|
||||
<span slot="label"><i class="el-icon-medal-1"></i> 院级工会活动个人报名</span>
|
||||
<iframe src="/platform/hd/fhdgl/fhhdbm">
|
||||
|
||||
</iframe>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="three" v-if="fhdtyShow" :lazy="true">
|
||||
<span slot="label"><i class="el-icon-medal-1"></i> 院级工会活动统一报名</span>
|
||||
<iframe src="/platform/hd/fhdgl/tybm">
|
||||
|
||||
</iframe>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="four" v-if="sthdShow" :lazy="true">
|
||||
<span slot="label"><i class="el-icon-medal"></i> 协会活动报名</span>
|
||||
<iframe src="/platform/hd/sthdgl/sthdbm">
|
||||
|
||||
</iframe>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
loading: true,
|
||||
xhdShow: false,
|
||||
fhhdShow: false,
|
||||
fhdtyShow: false,
|
||||
sthdShow: false,
|
||||
activeName: 'first',
|
||||
}
|
||||
},
|
||||
methods: {},
|
||||
created() {
|
||||
$.get(base + "/platform/hd/hdbm/getHasRole", function (data) {
|
||||
if (data.code == 0) {
|
||||
vue.xhdShow = data.data.xhdshow
|
||||
vue.fhhdShow = data.data.fhhdshow
|
||||
vue.fhdtyShow = data.data.fhdtyshow
|
||||
vue.sthdShow = data.data.sthdshow
|
||||
if (vue.xhdShow) {
|
||||
vue.activeName = 'first'
|
||||
} else if (vue.fhhdShow) {
|
||||
vue.activeName = 'second'
|
||||
} else if (vue.fhdtyShow) {
|
||||
vue.activeName = 'three'
|
||||
} else if (vue.sthdShow) {
|
||||
vue.activeName = 'four'
|
||||
}
|
||||
}
|
||||
vue.loading = false
|
||||
}, "json");
|
||||
},
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,626 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="${lang,escape}">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1">
|
||||
<meta name="description" content="${AppName!}">
|
||||
<title>${AppName!}</title>
|
||||
<meta charset="UTF-8">
|
||||
<!-- import CSS -->
|
||||
<link rel="stylesheet" href="/assets/platform/plugins/bootstrap/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="/assets/platform/plugins/element-ui/lib/theme-chalk/index.css">
|
||||
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
|
||||
<link rel="stylesheet" href="/assets/platform/fonts/themify-icons.css">
|
||||
<link rel="stylesheet" href="/assets/platform/fonts/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/common.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/main.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/elmain.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/panel.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/dialogview.css">
|
||||
<link rel="stylesheet" href="/assets/platform/css/pic.css">
|
||||
<link rel="stylesheet" href="${base!}/assets/platform/plugins/myframe/css/myframe.css">
|
||||
<!-- import Vue before Element -->
|
||||
<script src="/assets/platform/plugins/vue/vue.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
|
||||
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/assets/platform/plugins/viewer/viewer.min.css">
|
||||
|
||||
<!-- import JavaScript -->
|
||||
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
|
||||
<!--<script src="/assets/platform/plugins/element-ui/lib/index.js"></script>-->
|
||||
<script src="/assets/platform/plugins/jquery/jquery-1.11.1.min.js"></script>
|
||||
<script src="/assets/platform/plugins/slimscroll/jquery.slimscroll.min.js"></script>
|
||||
<!-- pjax是异步加载html片段的工具,模拟前端路由机制 -->
|
||||
<script src="/assets/platform/plugins/pjax/jquery.pjax.js"></script>
|
||||
<script src="/assets/platform/plugins/bootstrap/js/bootstrap.js"></script>
|
||||
<!-- Array数组增加findIndex等方法,TreeTable用得到,兼容IE8 -->
|
||||
<script src="/assets/platform/plugins/polyfill/polyfill.js"></script>
|
||||
<!--FlexPaper预览插件-->
|
||||
<script src="/assets/platform/plugins/flexPaper/flexpaper_flash.js"></script>
|
||||
<script src="/assets/platform/plugins/flexPaper/flexpaper_flash_debug.js"></script>
|
||||
<!-- 时间日期处理工具类 -->
|
||||
<script src="/assets/platform/plugins/moment/moment.min.js"></script>
|
||||
<!-- 浏览器通知 -->
|
||||
<script src="/assets/platform/plugins/push/push.min.js"></script>
|
||||
<script src="/assets/platform/js/main.js"></script>
|
||||
<script src="/assets/platform/js/offscreen.js"></script>
|
||||
|
||||
|
||||
<!--editor-->
|
||||
<script src="https://s1.bdstatic.com/r/www/cache/ecom/etpl/3-2-0/etpl.js"></script>
|
||||
<link href="/assets/platform/plugins/umeditor/themes/default/css/umeditor.css" type="text/css"
|
||||
rel="stylesheet">
|
||||
<script type="text/javascript" charset="utf-8"
|
||||
src="/assets/platform/plugins/umeditor/umeditor.config.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="/assets/platform/plugins/umeditor/umeditor.js"></script>
|
||||
<script type="text/javascript" src="/assets/platform/plugins/umeditor/lang/zh-cn/zh-cn.js"></script>
|
||||
|
||||
<!--umeditor-->
|
||||
<!--<script type="text/javascript" charset="utf-8"
|
||||
src="/assets/platform/plugins/ueditor/ueditor.config.js"></script>
|
||||
<script type="text/javascript" charset="utf-8"
|
||||
src="/assets/platform/plugins/ueditor/ueditor.all.js"></script>
|
||||
<script type="text/javascript" charset="utf-8"
|
||||
src="/assets/platform/plugins/ueditor/lang/zh-cn/zh-cn.js"></script>-->
|
||||
|
||||
<!--echars-->
|
||||
<script src="/assets/platform/js/echarts.min.js"></script>
|
||||
<script src="/assets/platform/js/infographic.js"></script><!--主题-->
|
||||
<script src="/assets/platform/js/westeros.js"></script><!--主题-->
|
||||
<script src="/assets/platform/js/walden.js"></script><!--主题-->
|
||||
<script src="/assets/platform/js/macarons.js"></script><!--主题-->
|
||||
|
||||
|
||||
|
||||
<!--viewer-->
|
||||
<script src="/assets/platform/plugins/viewer/viewer.min.js"></script>
|
||||
<script src="/assets/platform/plugins/viewer/jquery-viewer.min.js"></script>
|
||||
|
||||
<!--百度地图-->
|
||||
<script type="text/javascript"
|
||||
src="http://api.map.baidu.com/getscript?v=2.0&ak=CN9wyItrokzVpb2rTp3fwPEE5RgAjkQE"></script>
|
||||
<script type="text/javascript"
|
||||
src="https://api.map.baidu.com/library/TextIconOverlay/1.2/src/TextIconOverlay_min.js"></script>
|
||||
<script type="text/javascript"
|
||||
src="https://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script>
|
||||
|
||||
<!--# if(@shiro.getPrincipalProperty('loginTheme')!=null){ #-->
|
||||
<link rel="stylesheet" href="/assets/platform/css/skins/${@shiro.getPrincipalProperty('loginTheme')}"
|
||||
id="skin">
|
||||
<!--# }else{ #-->
|
||||
<link rel="stylesheet" href="/assets/platform/css/skins/palette.css" id="skin">
|
||||
<!--# } #-->
|
||||
</head>
|
||||
<body style="background-color: white">
|
||||
<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;
|
||||
}
|
||||
.tpa {
|
||||
padding: 8px;
|
||||
text-align: center;
|
||||
width:12%;
|
||||
background-color: rgb(250,250,250);
|
||||
border: 1px solid rgb(220,220,220);
|
||||
}
|
||||
.tpb {
|
||||
padding: 8px;
|
||||
text-align: center;
|
||||
color: #a0a9b4;
|
||||
width:16%;
|
||||
border: 1px solid rgb(220,220,220);
|
||||
}
|
||||
.tpc {
|
||||
padding: 8px;
|
||||
color: #a0a9b4;
|
||||
width:15%;
|
||||
border: 1px solid rgb(220,220,220);
|
||||
}
|
||||
.el-card__body{
|
||||
padding: 10px;
|
||||
}
|
||||
.el-input--suffix .el-input__inner{
|
||||
padding-right: 0px;
|
||||
}
|
||||
.el-dropdown-menu__item{
|
||||
padding: 0px 15px;
|
||||
}
|
||||
|
||||
.v-modal{
|
||||
background-color: transparent;
|
||||
}
|
||||
.el-table-container{
|
||||
padding-top: 0px;
|
||||
}
|
||||
|
||||
|
||||
.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 v-show="isshow">
|
||||
<!--快捷查询-->
|
||||
<el-row class="header navbar bg-white">
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input style="width:180px;" placeholder="可按活动名称查询" v-model="pageForm.searchKeyword" clearable></el-input>
|
||||
<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>
|
||||
<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>
|
||||
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</div>
|
||||
|
||||
<div style=""></div>
|
||||
</el-row>
|
||||
|
||||
<!--表格-->
|
||||
<el-row class="el-table-container">
|
||||
<el-table :data="tableData" size="small">
|
||||
<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="160" :show-overflow-tooltip="true" header-align="center" label="协会活动名称" prop="hdmc"></el-table-column>
|
||||
<el-table-column align="center" width="160" :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="cyrs"></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="bmrs"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="活动状态" prop="hdzt">
|
||||
<template slot-scope="scope">
|
||||
<el-tag type="info" v-if="scope.row.hdzt=='0'">未开始</el-tag>
|
||||
<el-tag type="success" v-if="scope.row.hdzt=='1'">正在报名</el-tag>
|
||||
<el-tag type="warning" v-if="scope.row.hdzt=='2'">报名结束</el-tag>
|
||||
<el-tag type="success" v-if="scope.row.hdzt=='3'">正在进行</el-tag>
|
||||
<el-tag type="info" v-if="scope.row.hdzt=='4'">已结束s</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="报名状态" prop="sfbm">
|
||||
<template slot-scope="scope">
|
||||
<el-tag type="success" v-if="scope.row.sfbm=='1'">已报名</el-tag>
|
||||
<el-tag type="info" v-if="scope.row.sfbm=='0'">未报名</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作" width="180px">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
|
||||
<el-button type="primary" @click="bmhd(scope)" size="mini" v-if="scope.row.sfbm=='0'">报名</el-button>
|
||||
<el-button type="danger" @click="qxbm(scope)" size="mini" v-if="scope.row.sfbm>'0'">取消报名</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: 10px" 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 style="border: 1px solid rgb(220,220,220);">
|
||||
<td colspan="6" class="text-center" style="font-size: 20px;background-color: #f5f5f5">
|
||||
{{viewData.hdmc}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">主要负责人</td>
|
||||
<td class="v-0x2323544" >{{viewData.username}}</td>
|
||||
<td class="v-0x345756765">联系电话</td>
|
||||
<td class="v-0x2323544" >{{viewData.phone}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">活动类型</td>
|
||||
<td class="v-0x2323544" >{{viewData.hdlx}}</td>
|
||||
<td class="v-0x345756765">活动项目</td>
|
||||
<td class="v-0x2323544" >{{viewData.hdxm}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">活动经费</td>
|
||||
<td class="v-0x2323544" >{{viewData.jfys}}</td>
|
||||
<td class="v-0x345756765">成员人数</td>
|
||||
<td class="v-0x2323544" >{{viewData.cyrs}}</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>
|
||||
</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>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="v-0x345756765">活动地址</td>
|
||||
<td class="v-0x2323544" colspan="3" >{{viewData.hddz}}</td>
|
||||
</tr>
|
||||
|
||||
<tr 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 style="border: 1px solid rgb(220,220,220);">
|
||||
<td colspan="6"><div v-html="viewData.hdnr" class="v-0x2323544"></div></td>
|
||||
</tr>
|
||||
<tr 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 style="border: 1px solid rgb(220,220,220);">
|
||||
<td colspan="6"><div v-html="viewData.hdzz" class="v-0x2323544"></div></td>
|
||||
</tr>
|
||||
</table>
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="活动报名情况" name="2">
|
||||
<el-table :data="bmTableData" size="small" border :header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<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-column label="基层工会" prop="unionname" header-align="center" align="center" ></el-table-column>
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
|
||||
</el-tabs>
|
||||
|
||||
</div>
|
||||
</transition>
|
||||
<!-- <!–查看–>
|
||||
<el-dialog title="查看" class="dia"
|
||||
:visible.sync="infoDialogVisible" custom-class="ViewDialogClass" width="70%" top="3%">
|
||||
|
||||
<el-collapse v-model="activeName" accordion>
|
||||
<el-collapse-item title="活动详细信息" name="1">
|
||||
<el-card>
|
||||
<table style="width: 100%">
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6" style="font-size: 18px;">{{viewData.hdmc}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" >主要负责人</td>
|
||||
<td class="tpb" >{{viewData.username}}</td>
|
||||
<td class="tpa" >联系电话</td>
|
||||
<td class="tpb" >{{viewData.phone}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" >活动类型</td>
|
||||
<td class="tpb" >{{viewData.hdlx}}</td>
|
||||
<td class="tpa" >活动项目</td>
|
||||
<td class="tpb" >{{viewData.hdxm}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" >活动经费</td>
|
||||
<td class="tpb" >{{viewData.jfys}}</td>
|
||||
<td class="tpa" >成员人数</td>
|
||||
<td class="tpb">{{viewData.cyrs}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" >报名开始时间</td>
|
||||
<td class="tpb">{{viewData.bmkssj}}</td>
|
||||
<td class="tpa" >报名截止时间</td>
|
||||
<td class="tpb">{{viewData.bmjssj}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" >活动开始时间</td>
|
||||
<td class="tpb">{{viewData.hdks}}</td>
|
||||
<td class="tpa" >活动结束时间</td>
|
||||
<td class="tpb">{{viewData.hdjs}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" >活动地址</td>
|
||||
<td class="tpb" colspan="3">{{viewData.hddz}}</td>
|
||||
</tr>
|
||||
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6" >活动主要内容</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6"><div v-html="viewData.hdnr"></div></td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6" >活动宗旨</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6"><div v-html="viewData.hdzz"></div></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item title="活动报名情况" name="2">
|
||||
<el-card class="box-card">
|
||||
<el-table :data="bmTableData" size="small" border :header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<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-column label="基层工会" prop="unionname" header-align="center" align="center" ></el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</el-collapse-item>
|
||||
|
||||
</el-collapse>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="infoDialogVisible = false">取 消</el-button>
|
||||
|
||||
<el-button type="primary" @click="bmhd(infoFlag)" v-if="infoTemp.sfbm=='0'">报名</el-button>
|
||||
<el-button type="warning" @click="qxbm(infoFlag)" v-if="infoTemp.sfbm>'0'">取消报名</el-button>
|
||||
</span>
|
||||
</el-dialog>-->
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
/*列表*/
|
||||
tableData:[],
|
||||
pageForm:{
|
||||
pageNumber:1,
|
||||
pageSize:10,
|
||||
totalCount:0,
|
||||
searchKeyword:"",
|
||||
hdlx:"",
|
||||
hdxm:"",
|
||||
},
|
||||
queryHdlx:[],
|
||||
queryHdxm:[],
|
||||
|
||||
/*查看*/
|
||||
infoDialogVisible:false,
|
||||
activeName: '1',
|
||||
viewData:[],
|
||||
bmTableData:[],
|
||||
bmfs:"",
|
||||
infoTemp:[],
|
||||
infoFlag:[],
|
||||
isshow:true,
|
||||
xqactive:"1"
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
pageData:function () {
|
||||
|
||||
var self = this;
|
||||
sublime.showLoadingbar();//显示loading
|
||||
$.post("/platform/hd/sthdgl/sthdbm/data", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.hds.list;
|
||||
for(var i=0; i < self.tableData.length; i++) {
|
||||
var bmkssj = self.tableData[i].bmkssj;
|
||||
var bmjssj = self.tableData[i].bmjssj;
|
||||
var hdkssj = self.tableData[i].hdkssj;
|
||||
var hdjssj = self.tableData[i].hdjssj;
|
||||
var now = new Date();
|
||||
now = Date.parse(now);
|
||||
var asacstauts=0;
|
||||
if(Date.parse(bmkssj)>now)//报名开始时间大于当前时间 活动未开始
|
||||
{
|
||||
asacstauts=0;
|
||||
}else//报名开始
|
||||
{
|
||||
if(Date.parse(bmjssj)<now)//报名结束时间小于当前时间 报名结束
|
||||
{
|
||||
if(Date.parse(hdkssj)>now)//活动开始时间大于当前时间 报名结束但是活动未开始
|
||||
{
|
||||
asacstauts=2;//报名结束时间大于当前时间并且活动开始日期大于当前日期 报名已结束 活动未开始
|
||||
}else
|
||||
{
|
||||
if(Date.parse(hdjssj)<now)//活动结束时间大于当前时间 并且活动结束时间小于当前时间 活动结束
|
||||
{
|
||||
asacstauts=4;//活动结束
|
||||
}else
|
||||
{
|
||||
asacstauts=3;//活动结束时间大于当前时间 正在进行
|
||||
}
|
||||
}
|
||||
|
||||
}else//报名结束时间大于等于当前时间 报名结束
|
||||
{
|
||||
asacstauts=1;
|
||||
}
|
||||
}
|
||||
self.tableData[i].hdzt = asacstauts;
|
||||
}
|
||||
console.log(self.tableData)
|
||||
self.pageForm.totalCount=data.data.hds.totalCount;
|
||||
self.hdlxOptions = data.data.hdlx;
|
||||
self.queryHdlx = data.data.hdlx;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*分页*/
|
||||
pageSizeChange:function (val) {
|
||||
this.pageForm.pageSize=val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange:function (val) {
|
||||
this.pageForm.pageNumber=val;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
doSearch:function () {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
/*查看*/
|
||||
openInfo:function (scope) {
|
||||
|
||||
var self = this;
|
||||
self.infoFlag = scope;
|
||||
self.infoTemp.sfbm = scope.row.sfbm;
|
||||
$.post("/platform/hd/sthdgl/sthdbm/findById", {id:scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.viewData = data.data.sthd;
|
||||
self.bmTableData = data.data.cyry;
|
||||
self.isshow = false;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*报名*/
|
||||
bmhd:function (scope) {
|
||||
var self = this;
|
||||
|
||||
if(moment().format("YYYY-MM-DD")>=scope.row.bmjssj) {
|
||||
self.$alert("当前活动报名已结束,不能报名!","温馨提示",{
|
||||
type:'warning',
|
||||
closeOnPressEscape:true,
|
||||
closeOnClickModal:true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
self.$confirm("您确定要报名此活动吗?","温馨提示",{
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback:function (a,b) {
|
||||
if("confirm" == a) {
|
||||
$.post("/platform/hd/sthdgl/sthdbm/bmhd", {id:scope.row.id,hdrs:scope.row.cyrs}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: "报名成功!",
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.infoDialogVisible = false;
|
||||
}else if(data.code == -1) {
|
||||
setTimeout(function () {
|
||||
self.$alert("您已经报名此活动,不能重复报名!","温馨提示",{
|
||||
type:'error',
|
||||
closeOnPressEscape:true,
|
||||
closeOnClickModal:true,
|
||||
});
|
||||
},200);
|
||||
}else if(data.code == -2) {
|
||||
setTimeout(function () {
|
||||
self.$alert("抱歉,此活动报名人数已满!","温馨提示",{
|
||||
type:'error',
|
||||
closeOnPressEscape:true,
|
||||
closeOnClickModal:true,
|
||||
});
|
||||
},200);
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
qxbm:function (scope) {
|
||||
var self = this;
|
||||
if(moment().format("YYYY-MM-DD") >= scope.row.bmjssj) {
|
||||
self.$alert("当前活动报名已结束,不能取消!","温馨提示",{
|
||||
type:'warning',
|
||||
closeOnPressEscape:true,
|
||||
closeOnClickModal:true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
self.$confirm("您是否要取消此活动的报名?","温馨提示",{
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback:function (a,b) {
|
||||
if("confirm" == a) {
|
||||
$.post("/platform/hd/sthdgl/sthdbm/qxbm", {id:scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.infoDialogVisible = false;
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
created:function () {
|
||||
this.pageData();
|
||||
},
|
||||
watch:{
|
||||
"pageForm.hdlx":function (obj) {
|
||||
var self = this;
|
||||
if(obj != "" && obj != null && obj!="undefined") {
|
||||
self.pageForm.hdxm = "";
|
||||
$.post("/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");
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,980 @@
|
||||
<!--协会活动计划 -->
|
||||
<!--#
|
||||
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;
|
||||
}
|
||||
|
||||
.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-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;
|
||||
}
|
||||
</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="stmc" 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>
|
||||
|
||||
<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>
|
||||
|
||||
|
||||
<!-- <!–编辑–>
|
||||
<el-dialog title="修改活动计划" width="50%" custom-class="ViewDialogClass" class="dia" :close-on-click-modal="false"
|
||||
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="24">
|
||||
<el-form-item label="计划名称">
|
||||
<el-input maxlength="100" placeholder="请输入计划名称"
|
||||
v-model="editFormData.jhmc" style="width: 94%"
|
||||
auto-complete="off" tabindex="4" type="text"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<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-col :span="12">
|
||||
<el-form-item label="所属协会">
|
||||
<el-select v-model="editFormData.stid" filterable placeholder="请选择协会" style="width: 88%">
|
||||
<el-option
|
||||
v-for="item in stOptions"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</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="60%" 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="6" class="text-center" style="font-size: 20px;background-color: #f5f5f5">
|
||||
{{viewData.jhmc}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td >计划预计时间</td>
|
||||
<td colspan="2">{{viewData.jhsj}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td >活动类型</td>
|
||||
<td colspan="2">{{viewData.hdlx}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td >活动项目</td>
|
||||
<td colspan="2">{{viewData.hdxm}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td >计划状态</td>
|
||||
<td v-if="viewData.ct>0 && viewData.evtime==2">已执行</td>
|
||||
<td v-else>未执行</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td colspan="2" 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="2" v-html="viewData.jhnr"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</el-card>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog title="新增" id="addDialog" class="dia" :close-on-click-modal="false"
|
||||
v-if="addHdDialogVisible"
|
||||
:visible.sync="addHdDialogVisible"
|
||||
custom-class="ViewDialogClass" width="66%" top="3%">
|
||||
|
||||
<el-divider content-position="left"><span style="color: rgb(121, 187, 255)">创建协会活动</span></el-divider>
|
||||
<el-form :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.stid" filterable placeholder="请选择协会" style="width: 88%">
|
||||
<el-option
|
||||
v-for="item in stOptions"
|
||||
: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.jhid" disabled 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.hdmc" 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.fzr" @change="selChange" :remote-method="remoteMethod" filterable
|
||||
remote placeholder="请根据教工号、姓名、单位查询" style="width: 88%">
|
||||
<el-option
|
||||
v-for="item in fzrOptions"
|
||||
:key="item.id"
|
||||
:label="item.display"
|
||||
: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.phone" 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-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="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-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-col :span="8">
|
||||
<el-form-item label="活动人数限制">
|
||||
<el-input maxlength="100" placeholder="请输入参与活动人数限制"
|
||||
v-model="formData.cyrs" style="width: 88%"
|
||||
auto-complete="off" tabindex="4" type="number"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="活动主要内容">
|
||||
<div id="nrEditor"></div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="活动宗旨">
|
||||
<div id="zzEditor"></div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-form>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="addHdDialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="doHdAdd">确 定</el-button>
|
||||
</span>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
let jhnrEditor = null
|
||||
let nrEditor = null
|
||||
let zzEditor = null
|
||||
const vue= new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
pageForm: {//分页
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword: "",
|
||||
year: "",
|
||||
},
|
||||
tableData: [],//表格
|
||||
|
||||
/*新增*/
|
||||
addDialogVisible: false,
|
||||
formData: {},
|
||||
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,
|
||||
stOptions: [],
|
||||
hdjhOptions: [],
|
||||
addBm: [],
|
||||
addHd: [],
|
||||
fzrOptions: [],
|
||||
hdxmOptions: [],
|
||||
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/sthdgl/sthdjh/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.stOptions = data.data.stxx;
|
||||
} 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: "",
|
||||
};
|
||||
if(self.stOptions.length>0){
|
||||
self.formData.stid = self.stOptions[0].id;
|
||||
}
|
||||
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/sthdgl/sthdjh/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/sthdgl/sthdjh/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/sthdgl/sthdjh/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");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
remoteMethod: function (obj) {
|
||||
var self = this;
|
||||
$.post(base + "/platform/hd/sthdgl/hdxxgl/findFzr", {obj: obj}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.fzrOptions = data.data;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
selChange: function (obj) {
|
||||
var self = this;
|
||||
for (var i = 0; i < self.fzrOptions.length; i++) {
|
||||
if (self.fzrOptions[i].id == obj) {
|
||||
self.formData.phone = self.fzrOptions[i].mobile;
|
||||
return;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
openHdAdd: function (scope) {
|
||||
var self = this;
|
||||
if (scope.row.hdcount > 0) {
|
||||
self.$alert("此计划已创建活动!", "温馨提示", {
|
||||
type: 'error',
|
||||
closeOnPressEscape: true,
|
||||
closeOnClickModal: true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
self.formData = {
|
||||
hdlxid: "",
|
||||
hdxmid: "",
|
||||
hdmc: "",
|
||||
};
|
||||
if (self.stOptions.length>0){
|
||||
self.formData.stid = self.stOptions[0].id;
|
||||
|
||||
}
|
||||
self.hdjhOptions = [{id: scope.row.id, jhmc: scope.row.jhmc}];
|
||||
self.formData.jhid = scope.row.id;
|
||||
self.formData.hdmc = 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 () {
|
||||
//实例化编辑器
|
||||
nrEditor = new wangEditor("#nrEditor")
|
||||
nrEditor.create()
|
||||
|
||||
zzEditor = new wangEditor("#zzEditor")
|
||||
zzEditor.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 < self.formData.bmkssj || self.formData.hdkssj < self.formData.bmjssj) {
|
||||
self.$alert("活动开始日期需在活动报名截止之后!", "温馨提示", {
|
||||
type: 'warning',
|
||||
closeOnPressEscape: true,
|
||||
closeOnClickModal: true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
self.formData.hdnr = nrEditor.txt.text();
|
||||
self.formData.hdzz = zzEditor.txt.text();
|
||||
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/sthdgl/hdxxgl/addDo", self.formData, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.addHdDialogVisible = false;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
loading.close();
|
||||
}, "json");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/*查看*/
|
||||
openInfo: function (scope) {
|
||||
var self = this;
|
||||
$.post(base + "/platform/hd/sthdgl/sthdjh/findById", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.viewData = data.data.hdjh;
|
||||
self.infoDialogVisible = true;
|
||||
}
|
||||
}, "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/sthdgl/sthdjh/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");
|
||||
}
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,583 @@
|
||||
<!--协会日常活动 djx 2019-07-08-->
|
||||
<!--#
|
||||
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: 360px;
|
||||
}
|
||||
label{
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.tpa {
|
||||
padding: 8px;
|
||||
text-align: center;
|
||||
width:12%;
|
||||
background-color: rgb(250,250,250);
|
||||
border: 1px solid rgb(220,220,220);
|
||||
}
|
||||
.tpb {
|
||||
padding: 8px;
|
||||
text-align: center;
|
||||
color: #a0a9b4;
|
||||
width:16%;
|
||||
border: 1px solid rgb(220,220,220);
|
||||
}
|
||||
.tpc {
|
||||
padding: 8px;
|
||||
color: #a0a9b4;
|
||||
width:15%;
|
||||
border: 1px solid rgb(220,220,220);
|
||||
}
|
||||
.el-card__body{
|
||||
padding: 10px;
|
||||
}
|
||||
.el-input--suffix .el-input__inner{
|
||||
padding-right: 0px;
|
||||
}
|
||||
.el-dropdown-menu__item{
|
||||
padding: 0px 15px;
|
||||
}
|
||||
|
||||
</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-select placeholder="请选择协会" :disabled="flag=='1'?false:true" v-model="pageForm.stid" clearable="true" filterable="true">
|
||||
<el-option v-for="item in stOptions" :label="item.stmc" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</div>
|
||||
<!--#if(@shiro.hasRole('sysadmin')){#-->
|
||||
<div class="pull-right offscreen-right mt5">
|
||||
<el-button size="medium" @click="openAdd"><i class="ti-plus"></i> 创建活动计划</el-button>
|
||||
</div>
|
||||
<!--#}else{#-->
|
||||
<div class="pull-right offscreen-right mt5">
|
||||
<el-button size="medium" @click="openAdd" v-if="flag!='1'"><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 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" :show-overflow-tooltip="true" header-align="center" label="协会名称" prop="stmc"></el-table-column>
|
||||
<el-table-column align="center" :show-overflow-tooltip="true" header-align="center" label="通知名称" prop="jhmc"></el-table-column>
|
||||
<el-table-column align="center" :show-overflow-tooltip="true" header-align="center" label="通知内容" prop="jhnr"></el-table-column>
|
||||
<el-table-column align="center" label="操作" width="240px">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
|
||||
<el-button type="primary" v-if="flag!='1'" @click="openEdit(scope)" size="mini">编辑</el-button>
|
||||
<el-button type="danger" v-if="flag!='1'" @click="deleteDo(scope)" 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="top" ref="addForm" :rules="formRules" size="small" label-width="86px">
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="协会名称">
|
||||
<el-select v-model="formData.stid" disabled filterable placeholder="请选择协会" style="width: 88%">
|
||||
<el-option
|
||||
v-for="item in stOptions"
|
||||
:label="item.stmc"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<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-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="通知内容">
|
||||
<div id="nrEditor"></div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-form>
|
||||
|
||||
<span style="float: right;margin-top: 15px">
|
||||
<el-button type="primary" @click="doAdd">确 定</el-button>
|
||||
</span>
|
||||
</div>
|
||||
</transition>
|
||||
<!-- <!–新增–>
|
||||
<el-dialog title="创建活动计划" id="addDialog" class="dia" :close-on-click-modal="false"
|
||||
v-if="addDialogVisible"
|
||||
:visible.sync="addDialogVisible"
|
||||
custom-class="ViewDialogClass" width="60%" top="3%">
|
||||
|
||||
<el-divider content-position="left"><span style="color: rgb(121, 187, 255)">创建协会日常活动计划</span></el-divider>
|
||||
<el-form :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-select v-model="formData.stid" disabled filterable placeholder="请选择协会" style="width: 88%">
|
||||
<el-option
|
||||
v-for="item in stOptions"
|
||||
:label="item.stmc"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<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-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="通知内容">
|
||||
<div id="nrEditor"></div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</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="top" ref="editForm" :rules="editFormRules" size="small" label-width="86px">
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="协会名称">
|
||||
<el-select v-model="editFormData.stid" filterable placeholder="请选择协会" style="width: 88%">
|
||||
<el-option
|
||||
v-for="item in stOptions"
|
||||
:label="item.stmc"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<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-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="通知内容">
|
||||
<div id="editnrEditor"></div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-form>
|
||||
|
||||
<span style="float: right;margin-top: 15px">
|
||||
<el-button type="primary" @click="doEdit">确 定</el-button>
|
||||
</span>
|
||||
</div>
|
||||
</transition>
|
||||
|
||||
|
||||
<!-- <!–编辑–>
|
||||
<el-dialog title="修改活动计划" id="editDialog" class="dia" :close-on-click-modal="false"
|
||||
v-if="editDialogVisible"
|
||||
:visible.sync="editDialogVisible"
|
||||
custom-class="ViewDialogClass" width="60%" top="3%">
|
||||
|
||||
<el-divider content-position="left"><span style="color: rgb(121, 187, 255)">请确认以下信息</span></el-divider>
|
||||
<el-form :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-select v-model="editFormData.stid" filterable placeholder="请选择协会" style="width: 88%">
|
||||
<el-option
|
||||
v-for="item in stOptions"
|
||||
:label="item.stmc"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<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-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="通知内容">
|
||||
<div id="editnrEditor"></div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</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="查看" class="dia"
|
||||
:visible.sync="infoDialogVisible" custom-class="ViewDialogClass" width="60%" top="3%">
|
||||
|
||||
<el-card>
|
||||
<table style="width: 100%">
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6" style="font-size: 18px;">{{viewData.stmc}}日常计划</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" >通知名称</td>
|
||||
<td class="tpb" >{{viewData.jhmc}}</td>
|
||||
</tr>
|
||||
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpa" colspan="6" >活动主要内容</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td class="tpc" colspan="6"><div v-html="viewData.jhnr"></div></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</el-card>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
let nrEditor = null
|
||||
var vue = new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
/*列表*/
|
||||
tableData:[],
|
||||
pageForm:{
|
||||
pageNumber:1,
|
||||
pageSize:10,
|
||||
totalCount:0,
|
||||
searchKeyword:"",
|
||||
stid:"",
|
||||
},
|
||||
stOptions:[],
|
||||
|
||||
/*新增*/
|
||||
addDialogVisible:false,
|
||||
formData:{
|
||||
|
||||
},
|
||||
formRules:{
|
||||
|
||||
},
|
||||
|
||||
/*编辑*/
|
||||
editDialogVisible:false,
|
||||
editFormData:{
|
||||
|
||||
},
|
||||
editFormRules:{
|
||||
|
||||
},
|
||||
|
||||
/*查看*/
|
||||
infoDialogVisible:false,
|
||||
viewData:[],
|
||||
flag:"",
|
||||
stid:"",
|
||||
isshow:true,
|
||||
addshow:false,
|
||||
editshow:false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
pageData:function () {
|
||||
|
||||
var self = this;
|
||||
sublime.showLoadingbar();//显示loading
|
||||
$.post(base + "/platform/hd/sthdgl/rchdjh/data", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.jhs.list;
|
||||
for(var i=0; i < self.tableData.length; i++) {
|
||||
self.tableData[i].jhnr = self.tableData[i].jhnr.replace(/<[^>]+>|&[^>]+;/g, "");
|
||||
}
|
||||
self.pageForm.totalCount=data.data.jhs.totalCount;
|
||||
self.stOptions = data.data.stxx;
|
||||
self.flag = data.data.flag;
|
||||
self.stid = data.data.stid;
|
||||
if(data.data.flag != "" && data.data.flag != null) {
|
||||
self.pageForm.stid = data.data.stid;
|
||||
}
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*分页*/
|
||||
pageSizeChange:function (val) {
|
||||
this.pageForm.pageSize=val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange:function (val) {
|
||||
this.pageForm.pageNumber=val;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
doSearch:function () {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
/*新增*/
|
||||
openAdd:function () {
|
||||
|
||||
var self = this;
|
||||
self.formData = {
|
||||
hdxmid:"",
|
||||
stid:self.stid,
|
||||
};
|
||||
self.addshow = true;
|
||||
self.isshow=false;
|
||||
|
||||
self.$nextTick(function () {
|
||||
//实例化编辑器
|
||||
if (nrEditor==null){
|
||||
nrEditor = new wangEditor("#nrEditor")
|
||||
nrEditor.create()
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
doAdd:function () {
|
||||
|
||||
var self = this;
|
||||
|
||||
self.formData.jhnr = nrEditor.txt.text();
|
||||
self.$refs["addForm"].validate(function (valid) {
|
||||
if (valid) {
|
||||
$.post(base + "/platform/hd/sthdgl/rchdjh/addDo", self.formData, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.addDialogVisible = false;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/*编辑*/
|
||||
openEdit:function (scope) {
|
||||
|
||||
var self = this;
|
||||
|
||||
$.post(base + "/platform/hd/sthdgl/rchdjh/findJh", {id:scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.editFormData = data.data;
|
||||
self.editshow = true;
|
||||
self.isshow=false;
|
||||
|
||||
self.$nextTick(function () {
|
||||
//实例化编辑器
|
||||
editnrEditor = new editnrEditor("#nrEditor")
|
||||
editnrEditor.create()
|
||||
|
||||
|
||||
if(data.data.jhnr!="" && data.data.jhnr!=null) {
|
||||
editnrEditor.txt.text(data.data.jhnr);
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
|
||||
},
|
||||
doEdit:function () {
|
||||
|
||||
var self = this;
|
||||
self.editFormData.jhnr = editnrEditor.getContent();
|
||||
self.$refs["editForm"].validate(function (valid) {
|
||||
if (valid) {
|
||||
|
||||
$.post(base + "/platform/hd/sthdgl/rchdjh/editDo", self.editFormData, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.editDialogVisible = false;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/*查看*/
|
||||
openInfo:function (scope) {
|
||||
|
||||
var self = this;
|
||||
$.post(base + "/platform/hd/sthdgl/rchdjh/findById", {id:scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.viewData = data.data;
|
||||
self.infoDialogVisible = true;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*删除*/
|
||||
deleteDo:function (scope) {
|
||||
|
||||
var self = this;
|
||||
|
||||
self.$confirm("此操作将永久删除该计划, 是否继续?","温馨提示",{
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback:function (a,b) {
|
||||
if("confirm" == a) {
|
||||
$.post(base + "/platform/hd/sthdgl/rchdjh/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:{
|
||||
|
||||
},
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,456 @@
|
||||
<!--活动报名提醒 djx 2019-6-12-->
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.el-card__body{
|
||||
padding: 5px;
|
||||
}
|
||||
.bmqk .el-card__body{
|
||||
padding: 10px 20px;
|
||||
}
|
||||
.el-dialog__body{
|
||||
padding: 0px 10px 10px 10px;
|
||||
}
|
||||
.el-table__expanded-cell[class*=cell]{
|
||||
padding: 6px 50px;
|
||||
}
|
||||
.el-divider--horizontal{
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
|
||||
.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-input style="width:180px;" placeholder="可按活动名称查询" v-model="pageForm.searchKeyword" clearable></el-input>
|
||||
<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>
|
||||
<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>
|
||||
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</div>
|
||||
|
||||
</el-row>
|
||||
|
||||
<!--表格-->
|
||||
<el-row class="el-table-container">
|
||||
<el-table :data="tableData" size="small">
|
||||
<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="240" :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="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" label="操作" width="200px">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
|
||||
<el-button type="primary" @click="openTx(scope)" 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: 10px" 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" style="margin-right: 150px;margin-left: 150px">
|
||||
<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="发送提醒" class="dia"
|
||||
:visible.sync="txDialogVisible" custom-class="ViewDialogClass" width="60%" top="3%">
|
||||
|
||||
<el-divider content-position="left"><el-button @click="sendAllMsg" type="primary" size="mini"><i class="el-icon-position"></i> 一键发送提醒</el-button></el-divider>
|
||||
|
||||
<el-card>
|
||||
<el-table :data="txData" size="small" :header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
||||
<el-table-column type="expand" class="info">
|
||||
<template slot-scope="props">
|
||||
<el-form label-position="left" inline class="demo-table-expand">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="教 练" style="margin-bottom: 0px;">
|
||||
<span>{{ props.row.jiaolian }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="领 队" style="margin-bottom: 0px;">
|
||||
<span>{{ props.row.lingdui }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item label="运动员" style="margin-bottom: 0px;">
|
||||
<span>{{ props.row.yundongyuan }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="院级工会名称" prop="unionname" header-align="center" align="center" ></el-table-column>
|
||||
<el-table-column label="联系电话" prop="phone" header-align="center" align="center" ></el-table-column>
|
||||
<el-table-column label="操作" width="140px" prop="cyry" header-align="center" align="center" >
|
||||
<template slot-scope="scope">
|
||||
<el-link type="success" v-if="scope.row.cyry!=null && scope.row.cyry!=''" style="font-size: 12px;cursor: text" :underline="false">该院级工会完成报名</el-link>
|
||||
<el-button @click="sendMsg(scope)" type="primary" v-else size="mini" icon="el-icon-message"></el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
new Vue({
|
||||
el: "#app",
|
||||
data: function () {
|
||||
return {
|
||||
/*列表*/
|
||||
tableData:[],
|
||||
pageForm:{
|
||||
pageNumber:1,
|
||||
pageSize:10,
|
||||
totalCount:0,
|
||||
searchKeyword:"",
|
||||
hdlx:"",
|
||||
hdxm:"",
|
||||
year:"",
|
||||
},
|
||||
queryHdlx:[],
|
||||
queryHdxm:[],
|
||||
|
||||
/*查看*/
|
||||
infoDialogVisible:false,
|
||||
activeName: '1',
|
||||
viewData:[],
|
||||
bmTableData:[],
|
||||
bmfs:"",
|
||||
hdms:"",
|
||||
hjTableData:[],
|
||||
gzryListTableData:[],
|
||||
|
||||
/*发送提醒*/
|
||||
txDialogVisible:false,
|
||||
txData:[],
|
||||
temp:[],
|
||||
isshow:true,
|
||||
xqactive:"1"
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
pageData:function () {
|
||||
|
||||
var self = this;
|
||||
sublime.showLoadingbar();//显示loading
|
||||
$.post(base + "/platform/hd/xhdgl/hdbmtx/data", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.hds.list;
|
||||
self.pageForm.totalCount=data.data.hds.totalCount;
|
||||
self.queryHdlx = data.data.hdlx;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
/*分页*/
|
||||
pageSizeChange:function (val) {
|
||||
this.pageForm.pageSize=val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange:function (val) {
|
||||
this.pageForm.pageNumber=val;
|
||||
this.pageData();
|
||||
},
|
||||
doSearch:function () {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
/*查看*/
|
||||
openInfo:function (scope) {
|
||||
var self = this;
|
||||
self.bmfs = scope.row.bmfs;
|
||||
self.hdms = scope.row.bjms;
|
||||
$.post(base + "/platform/hd/xhdgl/xhdxxgl/findById", {id:scope.row.id,bmfs:scope.row.bmfs,bjms:scope.row.bjms}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.viewData = data.data.xhd;
|
||||
self.bmTableData = data.data.cyry;
|
||||
self.hjTableData = data.data.hj;
|
||||
self.gzryListTableData = data.data.gzry;
|
||||
self.isshow = false;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
openTx:function (scope) {
|
||||
var self = this;
|
||||
self.temp = scope.row;
|
||||
$.post(base + "/platform/hd/xhdgl/hdbmtx/findUnion", {id:scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.txData = data.data.data;
|
||||
self.txDialogVisible = true;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
sendMsg:function (scope) {
|
||||
var self = this;
|
||||
if(scope.row.phone == "" || scope.row.phone == null) {
|
||||
self.$alert("该院级工会联系方式为空无法发送短信进行提醒!","温馨提示",{
|
||||
confirmButtonText: '确定',
|
||||
type: 'error',
|
||||
});
|
||||
return;
|
||||
}
|
||||
self.$confirm("确定要发送提醒短信给【"+scope.row.unionname+"】的负责人吗?","温馨提示",{
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback:function (a,b) {
|
||||
if("confirm" == a) {
|
||||
$.post(base + "/platform/hd/xhdgl/hdbmtx/sendMsg", {phone:scope.row.phone,unionname:scope.row.unionname}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
sendAllMsg:function () {
|
||||
var self = this;
|
||||
self.$confirm(" 确定发送提醒短信给所有未报名的院级工会吗?","温馨提示",{
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback:function (a,b) {
|
||||
if("confirm" == a) {
|
||||
$.post(base + "/platform/hd/xhdgl/hdbmtx/sendAllMsg", {id:self.temp.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
},
|
||||
created:function () {
|
||||
this.pageData();
|
||||
},
|
||||
watch:{
|
||||
"pageForm.hdlx":function (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;
|
||||
self.pageForm.hdxm = data.data[0].id;
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,867 @@
|
||||
<!--活动成绩管理 djx 2019-6-28 -->
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
|
||||
.dia .el-dialog__body {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.el-step__title {
|
||||
font-size: 14px;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.el-step__icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.el-card__body {
|
||||
padding: 10px 20px 0px;
|
||||
}
|
||||
|
||||
[class*=el-col-] {
|
||||
text-align: center;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.el-divider__text {
|
||||
color: #f56c6c;
|
||||
}
|
||||
|
||||
.bmqk .el-card__body {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
|
||||
.v-0x2323544 {
|
||||
text-align: center;
|
||||
color: rgb(180, 180, 180);
|
||||
}
|
||||
|
||||
.v-0x345756765 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<el-row class="header navbar bg-white shadow">
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input style="width:180px;" placeholder="可按活动名称查询" v-model="pageForm.name"
|
||||
clearable></el-input>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-select v-model="pageForm.hdxm" placeholder="请选择活动项目" filterable clearable
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in events"
|
||||
:key="item.id"
|
||||
:label="item.allName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-select placeholder="竞赛模式" v-model="pageForm.jsms" clearable="true"
|
||||
filterable="true">
|
||||
<el-option label="竞赛类" value="1"></el-option>
|
||||
<el-option label="非竞赛类" value="2"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
<!--表格-->
|
||||
<el-row class="el-table-container">
|
||||
<el-table :data="tableData" style="width: 100%;margin-bottom: 20px" row-key="id" class="vi-table">
|
||||
|
||||
<el-table-column align="center" header-align="center" type="index" :index="indexMethod"
|
||||
label="序号"
|
||||
width="80px"></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
align="center"
|
||||
header-align="center"
|
||||
v-for="column in tableColumns"
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable">
|
||||
|
||||
<template v-if="column.prop=='events'" scope="{row}">
|
||||
<span>{{row.allName}}</span>
|
||||
</template>
|
||||
|
||||
<template v-else-if="column.prop=='gameStyle'" scope="{row}">
|
||||
<span>{{activity.school.gameStyle[row.gameStyle]}}</span>
|
||||
</template>
|
||||
|
||||
<template v-else-if="column.prop=='startTime'" scope="{row}">
|
||||
{{moment(row.startTime).format('YYYY-MM-DD')}} -
|
||||
{{moment(row.endTime).format('YYYY-MM-DD')}}
|
||||
</template>
|
||||
|
||||
<template v-else-if="column.prop=='state'"
|
||||
scope="{row:{close,applyStartTime,applyEndTime,startTime,endTime}}">
|
||||
<div v-html="activity.school.getStatus(close,applyStartTime,applyEndTime,startTime,endTime)"></div>
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column align="center" label="操作" width="220px">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="openView(scope)" size="mini">查看</el-button>
|
||||
<el-button type="primary" @click="openCj(scope)" 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>
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<info ref="info"></info>
|
||||
</template>
|
||||
</guava>
|
||||
|
||||
<!--分配成绩-->
|
||||
<el-dialog title="团队获奖设置" class="dia"
|
||||
:visible.sync="tdDialogVisible" custom-class="ViewDialogClass" width="60%" top="3%">
|
||||
|
||||
<el-row style="text-align: right">
|
||||
<el-select placeholder="请选择奖品类型" style="width: 16%" size="mini" @change="changeVal" v-model="jplx"
|
||||
clearable="true" filterable="true">
|
||||
<el-option label="奖品" value="奖品"></el-option>
|
||||
<el-option label="现金奖赏" value="现金奖赏"></el-option>
|
||||
</el-select>
|
||||
<el-input size="mini" v-if="isShow" style="width: 14%" placeholder="统一设置奖品名称" v-model="jpmc"></el-input>
|
||||
<el-input size="mini" style="width: 14%" placeholder="统一设置金额" v-model="money" type="number">
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</el-row>
|
||||
|
||||
<el-table :data="tdTableData" size="small">
|
||||
<el-table-column align="center" width="280" header-align="center" label="获奖单位" prop="unitid">
|
||||
<template slot-scope="scope">
|
||||
<el-select placeholder="请选择获奖单位" size="small" v-model="scope.row.unitid" style="width: 68%;"
|
||||
clearable="true" filterable="true">
|
||||
<el-option v-for="item in unitSel" :label="item.name" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
<el-popover popper-class="aa"
|
||||
placement="top-start"
|
||||
width="280"
|
||||
trigger="click"
|
||||
@show="popShow(scope)">
|
||||
<el-table :data="cyUser" max-height="260" size="mini">
|
||||
<el-table-column width="120" property="username" label="姓名"></el-table-column>
|
||||
<el-table-column width="120" property="sex" label="性别"></el-table-column>
|
||||
</el-table>
|
||||
<el-link v-show="cyUser!=null" slot="reference" type="primary" :underline="false"
|
||||
style="margin-left: 6px;margin-bottom: 6px;">参赛人员
|
||||
</el-link>
|
||||
</el-popover>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="荣誉奖项" prop="mc">
|
||||
<template slot-scope="scope">
|
||||
<el-input size="small" v-model="scope.row.mc"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column v-if="isShow" align="center" header-align="center" label="奖品名称" prop="jpmc">
|
||||
<template slot-scope="scope">
|
||||
<el-input size="small" v-model="scope.row.jpmc"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="金额" prop="money">
|
||||
<template slot-scope="scope">
|
||||
<el-input size="small" v-model="scope.row.money" type="number">
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作" width="60px">
|
||||
<template slot-scope="scope">
|
||||
<i v-if="scope.$index == 0" type="success" style="font-size: 2.8em;color:#67C23A;cursor: pointer"
|
||||
@click="addRow(scope)" class="el-icon-circle-plus" circle></i>
|
||||
<i v-if="scope.$index > 0" type="success" style="font-size: 2.8em;color:#f56c6c;cursor: pointer"
|
||||
@click="delRow(scope)" class="el-icon-error" circle></i>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="tdDialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="tdSave">保 存</el-button>
|
||||
<el-button type="success" @click="tdDo">提 交</el-button>
|
||||
</span>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
<!--个人-->
|
||||
<el-dialog title="设置活动获奖人员" class="dia"
|
||||
:visible.sync="grDialogVisible" custom-class="ViewDialogClass" width="60%" 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="grPageForm.searchKeyword"
|
||||
clearable></el-input>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-select placeholder="请选择单位" size="mini" v-model="grPageForm.unit" style="width: 160px;"
|
||||
clearable="true" filterable="true">
|
||||
<el-option v-for="item in unit" :label="item.name" :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="doGrSearch"></el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
<el-table :data="grTableData" ref="grTable" 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+(grPageForm.pageNumber - 1) * grPageForm.pageSize + 1}} </span></template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="教工号" prop="loginname"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="姓名" prop="username"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="性别" prop="sex"></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>
|
||||
<el-row class="el-pagination-container" v-show="active=='1'">
|
||||
<el-pagination
|
||||
@size-change="grpageSizeChange"
|
||||
@current-change="grpageNumberChange"
|
||||
:current-page="grPageForm.pageNumber"
|
||||
:page-sizes="[10, 20, 30, 50]"
|
||||
:page-size="grPageForm.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="grPageForm.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-input size="mini" style="width: 20%;float: right;" placeholder="统一设置金额" v-model="money"
|
||||
type="number">
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
<el-input size="mini" v-if="isShow" style="width: 20%;float: right;margin-left: 8px;margin-right: 8px;"
|
||||
placeholder="统一设置奖品名称" v-model="jpmc"></el-input>
|
||||
<el-select placeholder="请选择奖品类型" style="width: 20%;float: right;" size="mini" @change="changeVal"
|
||||
v-model="jplx" clearable="true" filterable="true">
|
||||
<el-option label="奖品" value="奖品"></el-option>
|
||||
<el-option label="现金奖赏" value="现金奖赏"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<el-form :model="formData" label-position="top" size="small" label-width="86px">
|
||||
|
||||
<el-row>
|
||||
<el-col :span="3" style="background-color: #EBEEF5;color: black;font-weight: bold">姓名</el-col>
|
||||
<el-col :span="3" style="background-color: #EBEEF5;color: black;font-weight: bold">性别</el-col>
|
||||
<el-col :span="isShow==true?'6':'9'"
|
||||
style="background-color: #EBEEF5;color: black;font-weight: bold">获奖信息
|
||||
</el-col>
|
||||
<el-col :span="6" v-if="isShow" style="background-color: #EBEEF5;color: black;font-weight: bold">
|
||||
奖品名称
|
||||
</el-col>
|
||||
<el-col :span="isShow==true?'6':'9'"
|
||||
style="background-color: #EBEEF5;color: black;font-weight: bold">金额
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
<el-row v-for="item in multipleSelection">
|
||||
<el-col :span="3">
|
||||
<el-lebel style="color: grey">{{item.username}}</el-lebel>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<el-lebel style="color: grey">{{item.sex}}</el-lebel>
|
||||
</el-col>
|
||||
<el-col :span="isShow==true?'6':'9'">
|
||||
<el-input maxlength="100" placeholder="请输入获奖信息" size="mini" v-model="item.mc" style="width: 88%"
|
||||
auto-complete="off" tabindex="4" type="text"></el-input>
|
||||
</el-col>
|
||||
<el-col :span="6" v-if="isShow">
|
||||
<el-input maxlength="100" placeholder="请输入奖品名称" size="mini" v-model="item.jpmc"
|
||||
style="width: 88%" auto-complete="off" tabindex="4" type="text"></el-input>
|
||||
</el-col>
|
||||
<el-col :span="isShow==true?'6':'9'">
|
||||
<el-input maxlength="100" placeholder="请输入金额" size="mini" v-model="item.money"
|
||||
style="width: 88%" auto-complete="off" tabindex="4" type="number">
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</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="grDialogVisible = 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="grSave" v-if="active == '2'">保 存</el-button>
|
||||
<el-button type="success" @click="grjxDo" v-if="active == '2'">提 交</el-button>
|
||||
</span>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
mixins: [initTableMixins],
|
||||
data: function () {
|
||||
return {
|
||||
events: [],
|
||||
pageForm: {//分页
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword: "",
|
||||
hdlx: "",
|
||||
hdxm: "",
|
||||
},
|
||||
tableData: [],//表格
|
||||
queryHdlx: [],
|
||||
queryHdxm: [],
|
||||
/*团队获奖设置*/
|
||||
tdDialogVisible: false,
|
||||
tdTableData: [],
|
||||
unitSel: [],
|
||||
temp: [],
|
||||
cyUser: [],
|
||||
/*个人获奖设置*/
|
||||
grDialogVisible: false,
|
||||
grTableData: [],
|
||||
grPageForm: {//分页
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword: "",
|
||||
id: "",
|
||||
unit: "",
|
||||
},
|
||||
unit: [],
|
||||
multipleSelection: [],
|
||||
active: "1",
|
||||
formData: {},
|
||||
|
||||
/*查看*/
|
||||
infoDialogVisible: false,
|
||||
activeName: '1',
|
||||
viewData: [],
|
||||
bmTableData: [],
|
||||
bmfs: "",
|
||||
hdms: "",
|
||||
hjTableData: [],
|
||||
gzryListTableData: [],
|
||||
|
||||
jplx: "",
|
||||
isShow: true,
|
||||
jpmc: "",
|
||||
money: "",
|
||||
isshow: true,
|
||||
xqactive: "1",
|
||||
tableColumns: [
|
||||
{prop: 'name', label: '活动名称'},
|
||||
{prop: 'address', label: '活动地点'},
|
||||
{prop: 'allName', label: '活动项目'},
|
||||
{prop: 'gameStyle', label: '活动类型'},
|
||||
{prop: 'startTime', label: '活动日期'},
|
||||
{prop: 'state', label: '活动状态'},
|
||||
{prop: 'applyNum', label: '已报名人数'},
|
||||
]
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
||||
'info': httpVueLoader('/components/activity/school/Info.vue'),
|
||||
},
|
||||
methods: {
|
||||
pageData: function () {
|
||||
|
||||
var self = this;
|
||||
sublime.showLoadingbar();//显示loading
|
||||
$.post(base + "/platform/hd/xhdgl/hdcj/data", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.hds.list;
|
||||
self.pageForm.totalCount = data.data.hds.totalCount;
|
||||
self.queryHdlx = data.data.hdlx;
|
||||
self.unit = data.data.unit;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
openView(data) {
|
||||
this.$refs.info.getInfo(data.row.id)
|
||||
this.$refs.guava.view()
|
||||
},
|
||||
/*分页*/
|
||||
pageSizeChange: function (val) {
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange: function (val) {
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
grpageSizeChange: function (val) {
|
||||
this.grPageForm.pageSize = val;
|
||||
this.flag();
|
||||
},
|
||||
grpageNumberChange: function (val) {
|
||||
this.grPageForm.pageNumber = val;
|
||||
this.flag();
|
||||
},
|
||||
|
||||
doSearch: function () {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
doGrSearch: function () {
|
||||
var self = this;
|
||||
self.flag();
|
||||
},
|
||||
|
||||
flag: function () {
|
||||
$.post(base + "/platform/hd/xhdgl/hdcj/findGrUser", self.grPageForm, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.grTableData = data.data.list;
|
||||
self.grPageForm.totalCount = data.data.totalCount;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
changeVal: function (obj) {
|
||||
var self = this;
|
||||
if (obj == "现金奖赏") {
|
||||
self.isShow = false;
|
||||
} else if (obj == "奖品") {
|
||||
self.isShow = true;
|
||||
}
|
||||
},
|
||||
|
||||
openCj: function (scope) {
|
||||
var self = this;
|
||||
self.jplx = "";
|
||||
self.tdTableData = [{
|
||||
unitid: "",
|
||||
mc: "",
|
||||
jpmc: "",
|
||||
money: "",
|
||||
}];
|
||||
self.temp = scope.row;
|
||||
if (scope.row.awardsMode.includes(2)) {
|
||||
$.post(base + "/platform/hd/xhdgl/hdcj/findUnit", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.unitSel = data.data;
|
||||
}
|
||||
}, "json");
|
||||
setTimeout(function () {
|
||||
$.post(base + "/platform/hd/xhdgl/hdcj/findSaveCj", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
if (data.data.length == 0) {
|
||||
self.tdTableData = [{
|
||||
unitid: "",
|
||||
mc: "",
|
||||
jpmc: "",
|
||||
money: "",
|
||||
}];
|
||||
} else {
|
||||
self.jplx = data.data[0].jplx;
|
||||
self.tdTableData = data.data;
|
||||
}
|
||||
}
|
||||
}, "json");
|
||||
}, 200);
|
||||
self.tdDialogVisible = true;
|
||||
} else if (scope.row.awardsMode.includes(1)) {
|
||||
self.grPageForm.id = scope.row.id;
|
||||
self.active = "1";
|
||||
$.post(base + "/platform/hd/xhdgl/hdcj/findGrUser", self.grPageForm, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.grTableData = data.data.list;
|
||||
self.grPageForm.totalCount = data.data.totalCount;
|
||||
self.grDialogVisible = true;
|
||||
}
|
||||
}, "json");
|
||||
setTimeout(function () {
|
||||
$.post(base + "/platform/hd/xhdgl/hdcj/findGrCj", {id: scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
if (data.data.length > 0) {
|
||||
self.jplx = data.data[0].jplx;
|
||||
} else {
|
||||
self.jplx = "";
|
||||
}
|
||||
|
||||
for (var i = 0; i < data.data.length; i++) {
|
||||
|
||||
for (var d = 0; d < self.grTableData.length; d++) {
|
||||
|
||||
if (data.data[i].id == self.grTableData[d].id) {
|
||||
self.grTableData[d].mc = data.data[i].mc;
|
||||
self.grTableData[d].jpmc = data.data[i].jpmc;
|
||||
self.grTableData[d].money = data.data[i].money;
|
||||
/*self.grTableData[d]=data.data[i];*/
|
||||
self.$refs.grTable.toggleRowSelection(self.grTableData[d], true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}, "json");
|
||||
}, 200);
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
addRow: function (scope) {
|
||||
var self = this;
|
||||
var list = {
|
||||
unitid: "",
|
||||
mc: "",
|
||||
jpmc: self.jpmc,
|
||||
money: self.money,
|
||||
};
|
||||
self.tdTableData.push(list);
|
||||
},
|
||||
|
||||
delRow: function (scope) {
|
||||
var self = this;
|
||||
self.tdTableData.splice(scope.$index, 1);
|
||||
},
|
||||
|
||||
popShow: function (scope) {
|
||||
var self = this;
|
||||
$.post(base + "/platform/hd/xhdgl/hdcj/findCyRy", {
|
||||
unitid: scope.row.unitid,
|
||||
hdid: self.temp.id
|
||||
}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.cyUser = data.data;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
tdSave: function () {
|
||||
var self = this;
|
||||
var array = new Array();
|
||||
self.tdTableData.forEach(function (obj) {
|
||||
array.push({
|
||||
hdid: self.temp.id,
|
||||
mc: obj.mc,
|
||||
unitid: obj.unitid,
|
||||
hdms: self.temp.awardsMode,
|
||||
jpmc: obj.jpmc,
|
||||
money: obj.money,
|
||||
jplx: self.jplx,
|
||||
});
|
||||
});
|
||||
$.post(base + "/platform/hd/xhdgl/hdcj/tdDo", {
|
||||
data: JSON.stringify(array),
|
||||
hdid: self.temp.id,
|
||||
save: "0"
|
||||
}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.tdDialogVisible = false;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
tdDo: function () {
|
||||
var self = this;
|
||||
var array = new Array();
|
||||
self.tdTableData.forEach(function (obj) {
|
||||
array.push({
|
||||
hdid: self.temp.id,
|
||||
mc: obj.mc,
|
||||
unitid: obj.unitid,
|
||||
hdms: self.temp.awardsMode,
|
||||
jpmc: obj.jpmc,
|
||||
money: obj.money,
|
||||
jplx: self.jplx,
|
||||
});
|
||||
});
|
||||
if (self.jplx == "" || self.jplx == null) {
|
||||
self.$message({
|
||||
message: "请选择奖品类型!",
|
||||
type: 'warning'
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (self.jplx == "奖品") {
|
||||
var flag = 0;
|
||||
self.tdTableData.forEach(function (obj) {
|
||||
if (obj.unitid == "" || obj.mc == "" || obj.jpmc == "" || obj.money == "") {
|
||||
flag = 1;
|
||||
return;
|
||||
}
|
||||
});
|
||||
if (flag == 1) {
|
||||
self.$message({
|
||||
message: "请填写相应的信息!",
|
||||
type: 'warning'
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (self.jplx == "现金奖赏") {
|
||||
var flag = 0;
|
||||
self.tdTableData.forEach(function (obj) {
|
||||
if (obj.unitid == "" || obj.mc == "" || obj.money == "") {
|
||||
flag = 1;
|
||||
return;
|
||||
}
|
||||
});
|
||||
if (flag == 1) {
|
||||
self.$message({
|
||||
message: "请填写相应的信息!",
|
||||
type: 'warning'
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
self.$confirm("一旦提交不可修改,确定提交吗?", "温馨提示", {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: function (a, b) {
|
||||
if ("confirm" == a) {
|
||||
$.post(base + "/platform/hd/xhdgl/hdcj/tdDo", {
|
||||
data: JSON.stringify(array),
|
||||
hdid: self.temp.id,
|
||||
save: "1"
|
||||
}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.tdDialogVisible = false;
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
grSave: function () {
|
||||
var self = this;
|
||||
var array = new Array();
|
||||
self.multipleSelection.forEach(function (obj) {
|
||||
array.push({
|
||||
hdid: self.temp.id,
|
||||
userid: obj.id,
|
||||
mc: obj.mc,
|
||||
unitid: obj.unitid,
|
||||
hdms: self.temp.awardsMode,
|
||||
jpmc: obj.jpmc,
|
||||
money: obj.money,
|
||||
jplx: self.jplx,
|
||||
});
|
||||
});
|
||||
$.post(base + "/platform/hd/xhdgl/hdcj/grjxDo", {
|
||||
data: JSON.stringify(array),
|
||||
hdid: self.temp.id,
|
||||
save: "0"
|
||||
}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.grDialogVisible = false;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
grjxDo: function () {
|
||||
var self = this;
|
||||
|
||||
if (self.multipleSelection.length == 0) {
|
||||
self.$message({
|
||||
message: "您还没有选择获奖人员!",
|
||||
type: 'error'
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (self.jplx == "" || self.jplx == null) {
|
||||
self.$message({
|
||||
message: "请选择奖品类型!",
|
||||
type: 'warning'
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (self.jplx == "奖品") {
|
||||
var flag = 0;
|
||||
self.multipleSelection.forEach(function (obj) {
|
||||
if (obj.mc == "" || obj.jpmc == "" || obj.money == "") {
|
||||
flag = 1;
|
||||
return;
|
||||
}
|
||||
});
|
||||
if (flag == 1) {
|
||||
self.$message({
|
||||
message: "请填写相应的信息!",
|
||||
type: 'warning'
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (self.jplx == "现金奖赏") {
|
||||
var flag = 0;
|
||||
self.multipleSelection.forEach(function (obj) {
|
||||
if (obj.mc == "" || obj.money == "") {
|
||||
flag = 1;
|
||||
return;
|
||||
}
|
||||
});
|
||||
if (flag == 1) {
|
||||
self.$message({
|
||||
message: "请填写相应的信息!",
|
||||
type: 'warning'
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var array = new Array();
|
||||
self.multipleSelection.forEach(function (obj) {
|
||||
array.push({
|
||||
hdid: self.temp.id,
|
||||
userid: obj.id,
|
||||
mc: obj.mc,
|
||||
unitid: obj.unitid,
|
||||
hdms: self.temp.awardsMode,
|
||||
jpmc: obj.jpmc,
|
||||
money: obj.money,
|
||||
jplx: self.jplx,
|
||||
});
|
||||
});
|
||||
self.$confirm("一旦提交不可修改,确定提交吗?", "温馨提示", {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: function (a, b) {
|
||||
if ("confirm" == a) {
|
||||
$.post(base + "/platform/hd/xhdgl/hdcj/grjxDo", {
|
||||
data: JSON.stringify(array),
|
||||
hdid: self.temp.id,
|
||||
save: "1"
|
||||
}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.multipleSelection = [];
|
||||
setTimeout(function () {
|
||||
self.$refs.grTable.clearSelection();
|
||||
}, 500)
|
||||
self.grDialogVisible = false;
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
rowKey: function (row) {
|
||||
var self = this;
|
||||
return row.id;
|
||||
},
|
||||
|
||||
changeFun: function (val) {
|
||||
this.multipleSelection = val;
|
||||
},
|
||||
|
||||
},
|
||||
async created() {
|
||||
this.pageData();
|
||||
this.events = await activity.getEvents()
|
||||
},
|
||||
watch: {
|
||||
"pageForm.hdlx": function (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;
|
||||
self.pageForm.hdxm = data.data[0].id;
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
},
|
||||
"jpmc": function (obj) {
|
||||
var self = this;
|
||||
self.tdTableData.forEach(function (value) {
|
||||
value.jpmc = obj;
|
||||
});
|
||||
self.multipleSelection.forEach(function (value) {
|
||||
value.jpmc = obj;
|
||||
});
|
||||
},
|
||||
"money": function (obj) {
|
||||
var self = this;
|
||||
self.tdTableData.forEach(function (value) {
|
||||
value.money = obj;
|
||||
});
|
||||
self.multipleSelection.forEach(function (value) {
|
||||
value.money = obj;
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,544 @@
|
||||
<!--校活动报名 djx 2019-6-18 -->
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
|
||||
.el-divider--horizontal{
|
||||
margin: 12px 0px 20px 0px;
|
||||
}
|
||||
.dia .el-dialog__body{
|
||||
padding: 10px 20px;
|
||||
}
|
||||
.el-badge__content.is-fixed{
|
||||
top:6px;
|
||||
right: 14px;
|
||||
}
|
||||
.el-badge__content{
|
||||
font-size: 8px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
padding: 0px 4px;
|
||||
}
|
||||
.bmqk .el-card__body{
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
</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-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="doSearch"></el-button>
|
||||
</div>
|
||||
|
||||
<!--<div class="pull-right offscreen-right mt5">
|
||||
<el-button size="medium" type="warning" @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 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="bmfs">
|
||||
<template slot-scope="scope">
|
||||
<el-lable v-if="scope.row.bmfs!='名额分配'">{{scope.row.bmfs}}</el-lable>
|
||||
<el-lable v-else>院级工会报名</el-lable>
|
||||
</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="220px">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
|
||||
<el-badge :value="scope.row.sqrs" class="item">
|
||||
<el-button type="primary" @click="openSh(scope)" size="mini">审核</el-button>
|
||||
</el-badge>
|
||||
</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="审核" class="dia"
|
||||
:visible.sync="shDialogVisible" custom-class="ViewDialogClass" width="60%" top="3%">
|
||||
|
||||
<el-table :data="shTableData" @selection-change="handleSelectionChange" size="small" v-show="temp.bmfs=='院级工会报名' || temp.bmfs=='名额分配'">
|
||||
<el-table-column type="selection" width="46"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="序号" type="index">
|
||||
<template scope="scope"><span>{{scope.$index+(shPageForm.pageNumber - 1) * shPageForm.pageSize + 1}} </span></template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" width="160px" label="基层工会名称" prop="unionname"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="报名人员名单" prop="cyry"></el-table-column>
|
||||
<el-table-column align="center" label="操作" width="120px">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="success" @click="shDo(scope,2)" size="mini" icon="el-icon-check" circle></el-button>
|
||||
<el-button type="danger" @click="shDo(scope,3)" size="mini" icon="el-icon-close" circle></el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
|
||||
<el-table :data="grTableData" @selection-change="handleSelectionChange" size="small" v-show="temp.bmfs=='个人报名'">
|
||||
<el-table-column type="selection" width="46"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="序号" type="index">
|
||||
<template scope="scope"><span>{{scope.$index+(grPageForm.pageNumber - 1) * grPageForm.pageSize + 1}} </span></template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" width="120px" label="报名人员名单" prop="username"></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="unionname"></el-table-column>
|
||||
<el-table-column align="center" label="操作" width="120px">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="success" @click="grDo(scope,2)" size="mini" icon="el-icon-check" circle></el-button>
|
||||
<el-button type="danger" @click="grDo(scope,3)" size="mini" icon="el-icon-close" circle></el-button>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="shDialogVisible = false">取 消</el-button>
|
||||
<el-button type="danger" @click="plshDo(3)">驳 回</el-button>
|
||||
<el-button type="success" @click="plshDo(2)">通 过</el-button>
|
||||
</span>
|
||||
|
||||
</el-dialog>
|
||||
|
||||
<!--查看-->
|
||||
<transition name="el-zoom-in-center">
|
||||
<div style="padding: 10px" 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: 20px;background-color: #f5f5f5">
|
||||
{{viewData.xhdmc}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td >活动地点</td>
|
||||
<td colspan="2">{{viewData.hddz}}</td>
|
||||
<td>主办单位</td>
|
||||
<td colspan="2">{{viewData.unit}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>活动类型</td>
|
||||
<td>{{viewData.hdlx}}</td>
|
||||
<td>活动项目</td>
|
||||
<td>{{viewData.hdxm}}</td>
|
||||
<td>活动经费预算</td>
|
||||
<td>{{viewData.jfys}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td>报名开始时间</td>
|
||||
<td>{{viewData.bmkssj}}</td>
|
||||
<td>报名截止时间</td>
|
||||
<td>{{viewData.bmjssj}}</td>
|
||||
<td>活动年份</td>
|
||||
<td>{{viewData.hdnf}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td>活动开始时间</td>
|
||||
<td>{{viewData.hdks}}</td>
|
||||
<td>活动结束时间</td>
|
||||
<td>{{viewData.hdjs}}</td>
|
||||
<td>组合方式</td>
|
||||
<td>{{viewData.zhfs}}</td>
|
||||
</tr>
|
||||
<tr style="border: 1px solid rgb(220,220,220);">
|
||||
<td>颁奖模式</td>
|
||||
<td>{{viewData.bjms}}</td>
|
||||
<td>竞赛模式</td>
|
||||
<td>{{viewData.jsfs}}</td>
|
||||
<td>报名方式</td>
|
||||
<td v-if="viewData.bmfs!='名额分配'">{{viewData.bmfs}}</td>
|
||||
<td 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 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 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 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 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 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>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
new Vue({
|
||||
el:"#app",
|
||||
data:function () {
|
||||
return{
|
||||
pageForm:{//分页
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword:"",
|
||||
hdlx:"",
|
||||
hdxm:"",
|
||||
},
|
||||
queryHdlx:[],
|
||||
queryHdxm:[],
|
||||
shPageForm:{//分页
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword:"",
|
||||
},
|
||||
grPageForm:{//分页
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword:"",
|
||||
},
|
||||
tableData:[],//表格
|
||||
|
||||
/*审核*/
|
||||
shDialogVisible:false,
|
||||
shTableData:[],
|
||||
temp:[],
|
||||
|
||||
grTableData:[],
|
||||
|
||||
/*查看*/
|
||||
infoDialogVisible:false,
|
||||
activeName: '1',
|
||||
viewData:[],
|
||||
gzryListTableData:[],
|
||||
bmTableData:[],
|
||||
hjTableData:[],
|
||||
bmfs:"",
|
||||
hdms:"",
|
||||
multipleSelection:[],
|
||||
isshow:true,
|
||||
xqactive:"1"
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
pageData:function () {
|
||||
|
||||
var self = this;
|
||||
sublime.showLoadingbar();//显示loading
|
||||
$.post(base + "/platform/hd/xhdgl/hdsh/data", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.hds.list;
|
||||
self.queryHdlx = data.data.hdlx;
|
||||
self.pageForm.totalCount=data.data.hds.totalCount;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*分页*/
|
||||
pageSizeChange:function (val) {
|
||||
this.pageForm.pageSize=val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange:function (val) {
|
||||
this.pageForm.pageNumber=val;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
doSearch:function () {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
|
||||
openSh:function (scope) {
|
||||
var self = this;
|
||||
|
||||
self.multipleSelection=[];
|
||||
self.temp = scope.row;
|
||||
if(scope.row.sqrs != 0) {
|
||||
self.fhFlag();
|
||||
}else{
|
||||
self.$alert("此活动暂无人员报名!","温馨提示",{
|
||||
type:'warning',
|
||||
closeOnPressEscape:true,
|
||||
closeOnClickModal:true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
},
|
||||
fhFlag:function () {
|
||||
var self = this;
|
||||
$.post(base + "/platform/hd/xhdgl/hdsh/findBmRy", {id:self.temp.id,bmfs:self.temp.bmfs}, function (data) {
|
||||
if (data.code == 0) {
|
||||
|
||||
self.shTableData = data.data.hds;
|
||||
self.grTableData = data.data.hds;
|
||||
self.shDialogVisible = true;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*查看*/
|
||||
openInfo:function (scope) {
|
||||
|
||||
var self = this;
|
||||
self.bmfs = scope.row.bmfs;
|
||||
self.hdms = scope.row.bjms;
|
||||
$.post(base + "/platform/hd/xhdgl/xhdxxgl/findById", {id:scope.row.id,bmfs:scope.row.bmfs,bjms:scope.row.bjms}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.viewData = data.data.xhd;
|
||||
self.bmTableData = data.data.cyry;
|
||||
self.hjTableData = data.data.hj;
|
||||
self.gzryListTableData = data.data.gzry;
|
||||
self.isshow = false;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*审核*/
|
||||
shDo:function (scope,obj) {
|
||||
var self = this;
|
||||
|
||||
$.post(base + "/platform/hd/xhdgl/hdsh/shDo", {unionid:scope.row.id,hdid:scope.row.hdid,shzt:obj}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.fhFlag();
|
||||
//self.shDialogVisible = false;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
handleSelectionChange:function (val) {
|
||||
this.multipleSelection = val;
|
||||
},
|
||||
|
||||
plshDo:function (obj) {
|
||||
var self = this;
|
||||
if(self.multipleSelection.length == 0) {
|
||||
self.$message({
|
||||
message: "请在左侧选择!",
|
||||
type: 'warning'
|
||||
});
|
||||
return;
|
||||
}
|
||||
var array = new Array();
|
||||
var flag;
|
||||
if(self.temp.bmfs == "个人报名") {
|
||||
flag = "1";
|
||||
for(var i=0; i<self.multipleSelection.length; i++) {
|
||||
array.push(self.multipleSelection[i].id);
|
||||
}
|
||||
}else{
|
||||
flag = "2";
|
||||
for(var i=0; i<self.multipleSelection.length; i++) {
|
||||
array.push(self.multipleSelection[i].id);
|
||||
}
|
||||
}
|
||||
$.post(base + "/platform/hd/xhdgl/hdsh/plshDo", {hdid:self.temp.id,id:array.toString(),flag:flag,obj:obj}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: "操作成功!",
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.shDialogVisible = false;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*个人报名审核*/
|
||||
grDo:function (scope,obj) {
|
||||
var self = this;
|
||||
$.post(base + "/platform/hd/xhdgl/hdsh/grDo", {hdid:self.temp.id,shzt:obj,userid:scope.row.id}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
self.pageData();
|
||||
self.fhFlag();
|
||||
//self.shDialogVisible = false;
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
|
||||
},
|
||||
created:function () {
|
||||
this.pageData();
|
||||
},
|
||||
watch:{
|
||||
"pageForm.hdlx":function (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");
|
||||
}
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,452 @@
|
||||
<!--校活动秩序册 djx 2019-6-28 -->
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
|
||||
.el-loading-mask.is-fullscreen .el-loading-spinner{
|
||||
font-size: 28px;
|
||||
}
|
||||
.el-dialog__body{
|
||||
padding: 10px 20px;
|
||||
}
|
||||
.el-divider--horizontal{
|
||||
margin: 10px 0px 28px 0px;
|
||||
}
|
||||
.el-radio.is-bordered+.el-radio.is-bordered{
|
||||
margin-left: 40px;
|
||||
}
|
||||
.el-dialog__footer{
|
||||
padding:0px 20px 20px;
|
||||
}
|
||||
.el-card__body{
|
||||
padding: 4px;
|
||||
}
|
||||
.el-card__header{
|
||||
padding: 14px 20px;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<el-row class="header navbar bg-white shadow">
|
||||
<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="doSearch"></el-button>
|
||||
</div>
|
||||
|
||||
<!--<div class="pull-right offscreen-right mt5">
|
||||
<el-button size="medium" type="warning" @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 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="bmfs"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="已报名人数" prop="bmrs"></el-table-column>
|
||||
<el-table-column align="center" label="操作" width="220px">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="exportZxc(scope)" size="mini">导出秩序册</el-button>
|
||||
<el-button type="primary" @click="sendTz(scope)" 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>
|
||||
|
||||
<el-dialog title="发送通知" width="50%" custom-class="ViewDialogClass" :close-on-click-modal="false" top="3%" class="dia" :visible.sync="fstzDialogVisible">
|
||||
|
||||
<el-divider content-position="left"><span style="color: #409eff">请选择发送方式</span></el-divider>
|
||||
<el-row style="text-align: center;margin-bottom: 28px;">
|
||||
<el-radio v-model="send" label="1" border size="medium">邮件发送</el-radio>
|
||||
<el-radio v-model="send" label="2" border size="medium">短信发送</el-radio>
|
||||
<!--<el-radio v-model="send" label="3" border size="medium">微信发送</el-radio>-->
|
||||
</el-row>
|
||||
|
||||
<el-divider content-position="left"><span style="color: #409eff">请选择发送对象</span></el-divider>
|
||||
<el-row style="text-align: center;margin-bottom: 8px;">
|
||||
<el-radio v-model="sendTo" label="1" border size="medium">基层工会管理员</el-radio>
|
||||
<el-radio v-model="sendTo" label="2" style="margin-left: 88px;" border size="medium">全体教职工</el-radio>
|
||||
</el-row>
|
||||
|
||||
<el-card class="box-card" v-show="isShow">
|
||||
<div slot="header" class="clearfix">
|
||||
<span style="color: #e6a23c">{{title}}</span>
|
||||
<el-button style="float: right;" @click="sendAll" type="primary" size="mini"><i class="el-icon-position"></i> 一键发送</el-button>
|
||||
</div>
|
||||
<el-row class="el-table-container">
|
||||
<el-table :data="tzTableData" ref="tzTableData" :row-key="rowKey" @selection-change="changeFun" size="small" v-loading="tzloading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" element-loading-background="white">
|
||||
<el-table-column :reserve-selection="true" @selection-change="changeFun"
|
||||
type="selection"
|
||||
width="40">
|
||||
</el-table-column>
|
||||
<el-table-column label="序号" header-align="center" align="center" type="index">
|
||||
<template scope="scope"><span>{{scope.$index+(tzPageForm.pageNumber - 1) * tzPageForm.pageSize + 1}}</span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名" width="80px" prop="username" header-align="center" align="center" ></el-table-column>
|
||||
<el-table-column label="性别" width="80px" prop="sex" header-align="center" align="center" ></el-table-column>
|
||||
<el-table-column label="邮箱" prop="email" header-align="center" align="center" ></el-table-column>
|
||||
<el-table-column label="手机" width="120px" prop="mobile" header-align="center" align="center" ></el-table-column>
|
||||
<el-table-column label="单位" :show-overflow-tooltip="true" prop="name" header-align="center" align="center" ></el-table-column>
|
||||
<el-table-column label="基层工会" :show-overflow-tooltip="true" prop="unionname" header-align="center" align="center" ></el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
<el-row class="el-pagination-container" style="margin-bottom: 0px;">
|
||||
<el-pagination
|
||||
@size-change="tzPageSizeChange"
|
||||
@current-change="tzPageNumberChange"
|
||||
:current-page="tzPageForm.pageNumber"
|
||||
:page-sizes="[10, 20, 30, 50]"
|
||||
:page-size="tzPageForm.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="tzPageForm.totalCount">
|
||||
</el-pagination>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="fstzDialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="sendDo">发 送</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el:"#app",
|
||||
data:function () {
|
||||
return{
|
||||
pageForm:{//分页
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword:"",
|
||||
hdlx:"",
|
||||
hdxm:"",
|
||||
},
|
||||
tableData:[],//表格
|
||||
queryHdlx:[],
|
||||
queryHdxm:[],
|
||||
|
||||
/*发送通知*/
|
||||
fstzDialogVisible:false,
|
||||
send:"",
|
||||
sendTo:"",
|
||||
tzTableData:[],
|
||||
tzPageForm:{//分页
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
searchKeyword:"",
|
||||
},
|
||||
isShow:false,
|
||||
title:"",
|
||||
tzloading:true,
|
||||
multipleSelection:[],
|
||||
temp:[],
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
pageData:function () {
|
||||
|
||||
var self = this;
|
||||
sublime.showLoadingbar();//显示loading
|
||||
$.post(base + "/platform/hd/xhdgl/hdzxc/data", self.pageForm, function (data) {
|
||||
sublime.closeLoadingbar();//关闭loading
|
||||
if (data.code == 0) {
|
||||
self.tableData = data.data.hds.list;
|
||||
self.pageForm.totalCount=data.data.hds.totalCount;
|
||||
self.queryHdlx = data.data.hdlx;
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
/*分页*/
|
||||
pageSizeChange:function (val) {
|
||||
this.pageForm.pageSize=val;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange:function (val) {
|
||||
this.pageForm.pageNumber=val;
|
||||
this.pageData();
|
||||
},
|
||||
tzPageSizeChange:function (val) {
|
||||
this.tzPageForm.pageSize=val;
|
||||
this.tzPageData();
|
||||
},
|
||||
tzPageNumberChange:function (val) {
|
||||
this.tzPageForm.pageNumber=val;
|
||||
this.tzPageData();
|
||||
},
|
||||
|
||||
doSearch:function () {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
rowKey:function (row) {
|
||||
return row.id;
|
||||
},
|
||||
|
||||
changeFun:function(val) {
|
||||
var self = this;
|
||||
this.multipleSelection = val;
|
||||
},
|
||||
|
||||
exportZxc:function (scope) {
|
||||
var self = this;
|
||||
window.location.href=base + "/platform/hd/xhdgl/hdzxc/exportZxc?id="+scope.row.id+"&bmfs="+scope.row.bmfs;
|
||||
},
|
||||
|
||||
sendTz:function (scope) {
|
||||
var self = this;
|
||||
self.temp = scope.row;
|
||||
self.fstzDialogVisible = true;
|
||||
},
|
||||
tzPageData:function () {
|
||||
var self = this;
|
||||
$.post(base + "/platform/hd/xhdgl/hdzxc/findUser", self.tzPageForm, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.tzTableData = data.data.list.list;
|
||||
self.tzPageForm.totalCount=data.data.list.totalCount;
|
||||
setTimeout(function () {
|
||||
self.tzloading = false;
|
||||
},200);
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
|
||||
sendDo:function () {
|
||||
var self = this;
|
||||
if(self.send==null || self.send=="") {
|
||||
self.$message({message: "请选择发送方式!", type: 'warning'});
|
||||
return;
|
||||
}
|
||||
if(self.sendTo==null || self.sendTo=="") {
|
||||
self.$message({message: "请选择发送对象!", type: 'warning'});
|
||||
return;
|
||||
}
|
||||
if(self.multipleSelection.length==0) {
|
||||
self.$message({message: "请从下面列表中选择人员!", type: 'warning'});
|
||||
return;
|
||||
}
|
||||
var email = new Array();
|
||||
var mobile = new Array();
|
||||
for(var i=0; i<self.multipleSelection.length; i++) {
|
||||
email.push(self.multipleSelection[i].email);
|
||||
mobile.push({
|
||||
name:self.multipleSelection[i].username,
|
||||
mobile:self.multipleSelection[i].mobile,
|
||||
});
|
||||
}
|
||||
var loading = self.$loading({
|
||||
lock: true,
|
||||
text: '正在发送中...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
|
||||
self.$confirm("确定要发送通知吗?","温馨提示",{
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback:function (a,b) {
|
||||
if("confirm" == a) {
|
||||
if(self.send=="1") {
|
||||
$.post(base + "/platform/hd/xhdgl/hdzxc/sendEmail", {id:self.temp.id,bmfs:self.temp.bmfs,email:email.toString()}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: "发送成功!",
|
||||
type: 'success'
|
||||
});
|
||||
loading.close();
|
||||
self.fstzDialogVisible = false;
|
||||
}
|
||||
}, "json");
|
||||
}else if(self.send=="2") {
|
||||
$.post(base + "/platform/hd/xhdgl/hdzxc/sendMsg", {id:self.temp.id,mobile:JSON.stringify(mobile)}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: "发送成功!",
|
||||
type: 'success'
|
||||
});
|
||||
loading.close();
|
||||
self.fstzDialogVisible = false;
|
||||
}
|
||||
}, "json");
|
||||
}else if(self.send=="3") {
|
||||
alert("暂未开放,敬请期待!");
|
||||
loading.close();
|
||||
}
|
||||
self.$refs.tzTableData.clearSelection();
|
||||
}else{
|
||||
loading.close();
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
sendAll:function () {
|
||||
var self = this;
|
||||
var str = "";
|
||||
if(self.send==null || self.send=="") {
|
||||
self.$message({message: "请选择发送方式!", type: 'warning'});
|
||||
return;
|
||||
}
|
||||
if(self.sendTo == "1") {
|
||||
str="确定要一键发送给所有基层工会管理员吗?";
|
||||
}else if(self.sendTo == "2") {
|
||||
str="确定要一键发送给所有教职工吗?";
|
||||
}
|
||||
var loading = self.$loading({
|
||||
lock: true,
|
||||
text: '正在发送中...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
self.$confirm(str,"温馨提示",{
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback:function (a,b) {
|
||||
if("confirm" == a) {
|
||||
if(self.send=="1") {
|
||||
$.post(base + "/platform/hd/xhdgl/hdzxc/sendAllEmail", {id:self.temp.id,bmfs:self.temp.bmfs,obj:self.tzPageForm.obj}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: "发送成功!",
|
||||
type: 'success'
|
||||
});
|
||||
loading.close();
|
||||
self.fstzDialogVisible = false;
|
||||
}
|
||||
}, "json");
|
||||
}else if(self.send=="2") {
|
||||
$.post(base + "/platform/hd/xhdgl/hdzxc/sendAllMsg", {id:self.temp.id,obj:self.tzPageForm.obj}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: "发送成功!",
|
||||
type: 'success'
|
||||
});
|
||||
loading.close();
|
||||
self.fstzDialogVisible = false;
|
||||
}
|
||||
}, "json");
|
||||
}else if(self.send=="3") {
|
||||
alert("暂未开放,敬请期待!");
|
||||
loading.close();
|
||||
}
|
||||
}else{
|
||||
loading.close();
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
sendEmail:function (scope) {
|
||||
var self = this;
|
||||
var loading = self.$loading({
|
||||
lock: true,
|
||||
text: '正在发送中...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
setTimeout(function () {
|
||||
loading.close();
|
||||
},1000);
|
||||
return;
|
||||
$.post(base + "/platform/hd/xhdgl/hdzxc/sendEmail", {id:scope.row.id,bmfs:scope.row.bmfs}, function (data) {
|
||||
if (data.code == 0) {
|
||||
self.$message({
|
||||
message: "发送成功!",
|
||||
type: 'success'
|
||||
});
|
||||
loading.close();
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
|
||||
},
|
||||
created:function () {
|
||||
this.pageData();
|
||||
},
|
||||
watch:{
|
||||
"pageForm.hdlx":function (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;
|
||||
self.pageForm.hdxm = data.data[0].id;
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
},
|
||||
"sendTo":function (obj) {
|
||||
var self = this;
|
||||
if(obj != null && obj != "") {
|
||||
self.isShow = true;
|
||||
}
|
||||
if(obj == "1") {
|
||||
self.title = "以下是基层工会管理员名单";
|
||||
}else{
|
||||
self.title = "以下是全体教职工名单";
|
||||
}
|
||||
self.tzloading = true;
|
||||
self.tzPageForm.obj = obj;
|
||||
self.$refs.tzTableData.clearSelection();
|
||||
vue.tzPageData();
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,306 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<!-- 在线答题-答题页面 -->
|
||||
<style>
|
||||
#qsmEditor .w-e-text-container {
|
||||
height: 450px !important;
|
||||
}
|
||||
|
||||
#qsmEditor div {
|
||||
z-index: 0 !important;
|
||||
}
|
||||
|
||||
.el-divider {
|
||||
background-color: #409EFF;
|
||||
}
|
||||
|
||||
.el-divider__text {
|
||||
color: #409EFF;
|
||||
}
|
||||
|
||||
.inputParent input {
|
||||
border: none;
|
||||
border-bottom: 1px solid rgb(220, 223, 230);
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.issueList > .el-table__header-wrapper {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.issueList .el-table__expanded-cell {
|
||||
background-color: rgb(250, 250, 250) !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<el-row class="transition-row">
|
||||
<transition name="el-zoom-in-center">
|
||||
<div v-show="v=='index'" class="transition-item">
|
||||
<el-row class="header navbar bg-white shadow">
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input placeholder="请输入内容" v-model="pageForm.searchKeyword">
|
||||
<template slot="prepend">试卷名称</template>
|
||||
</el-input>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-button icon="el-icon-search" @click="doSearch"
|
||||
style="background-color:#409eff;color: white;"></el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
<el-row class="el-table-container">
|
||||
<el-table :data="tableData" size="medium" header-align="center" align="center" style="width: 100%">
|
||||
<el-table-column
|
||||
label="序号" type="index" header-align="center" align="center">
|
||||
<template scope="scope">
|
||||
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="name" label="试卷名称" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="explain_txt" label="说明" show-overflow-tooltip header-align="center"
|
||||
align="center">
|
||||
<template scope="scope">
|
||||
<span v-html="scope.row.explain_txt"></span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="answer_start_time" label="答题时间" header-align="center" align="center">
|
||||
<template scope="scope">
|
||||
<span>{{scope.row.answer_start_time}}-{{scope.row.answer_end_time}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="answer_num" label="答题次数" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="fraction" label="分值" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="create_time" label="创建时间" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="操作" header-align="center" align="center" width="200px">
|
||||
<template scope="scope">
|
||||
<el-button type="primary" plain size="small" @click="openAdd(scope.row)">开始答题
|
||||
</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 v-show="v=='add'" class="transition-item">
|
||||
<el-card class="box-card v-box" shadow="never">
|
||||
<div slot="header" class="clearfix">
|
||||
<el-button icon="el-icon-back" type="text" @click="v='index'"
|
||||
style="font-size: 18px">返回
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<div style="padding: 0 5%; height:calc(100vh - 150px);overflow-y: scroll">
|
||||
<div style="padding-left: 20px;padding-right: 20px">
|
||||
<el-row style="text-align: center;margin-bottom: 20px">
|
||||
<h2>{{viewData.name}}</h2>
|
||||
<span style="color: rgb(120,120,120)">考试时间:{{viewData.answer_start_time}} - {{viewData.answer_end_time}}</span>
|
||||
<span style="color: rgb(120,120,120)">分值:({{viewData.fraction}})</span>
|
||||
</el-row>
|
||||
<el-row style="margin-bottom: 20px">
|
||||
<div v-html="viewData.explain_txt"></div>
|
||||
</el-row>
|
||||
|
||||
<el-row v-for="sub,idx in viewData.subjects"
|
||||
style="border-bottom: 1px solid rgb(200,200,200);padding: 20px 0;margin-bottom: 20px">
|
||||
<el-col :span="1">
|
||||
<span style="font-weight: bolder;color: rgb(120,120,120)">第 {{idx+1}} 题:</span>
|
||||
</el-col>
|
||||
<el-col :span="23">
|
||||
<el-row>
|
||||
<div v-html="sub.name" style="display: inline-block"></div>
|
||||
<span style="color: rgb(180,180,180)" v-if="sub.type==1">[单选题]</span>
|
||||
<span style="color: rgb(180,180,180)" v-if="sub.type==2">[多选题]</span>
|
||||
</el-row>
|
||||
|
||||
<el-checkbox-group v-model="sub.val">
|
||||
<el-row v-for="ans in sub.answer">
|
||||
<el-row style="margin-top: 5px">
|
||||
<el-radio v-if="sub.type==1" :label="ans.id" v-model="sub.val">
|
||||
{{ans.option_txt}}
|
||||
</el-radio>
|
||||
|
||||
<el-checkbox v-if="sub.type==2" :label="ans.id">{{ans.option_txt}}
|
||||
</el-checkbox>
|
||||
</el-row>
|
||||
</el-row>
|
||||
</el-checkbox-group>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<div style="width: 100%;text-align: center;margin-top: 30px">
|
||||
<el-button type="primary" @click="doAdd" style="width: 70%">提交试卷</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
</transition>
|
||||
</el-row>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
searchName: "name",
|
||||
searchKeyword: "",
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
pageOrderName: "",
|
||||
pageOrderBy: "",
|
||||
},
|
||||
tableData: [],
|
||||
formData: [],
|
||||
viewData: {},
|
||||
v: 'index',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openAdd(row) {
|
||||
this.formData = []
|
||||
/*if (moment().format("HH:mm:ss") < row.answer_start_time) {
|
||||
this.$message.warning("未到答题时间")
|
||||
return
|
||||
} else if (moment().format("HH:mm:ss") > row.answer_end_time) {
|
||||
this.$message.warning("答题时间已过")
|
||||
return
|
||||
}*/
|
||||
|
||||
$.get("/platform/hd/zxdt/answer/findOne", {id: row.id}, (res) => {
|
||||
const {code, data, msg} = res
|
||||
if (!data) {
|
||||
this.$message.warning("您今日的答题次数已用完")
|
||||
return
|
||||
}
|
||||
if (code == 0) {
|
||||
data.subjects.forEach(v => {
|
||||
v.val = v.type == 1 ? "" : []
|
||||
})
|
||||
this.viewData = data
|
||||
this.v = 'add'
|
||||
} else {
|
||||
this.$message.warning(msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
doAdd() {
|
||||
if (moment().format("HH:mm:ss") > this.viewData.answer_end_time) {
|
||||
this.$notify({
|
||||
title: '警告',
|
||||
message: "您已超时,此次作废!",
|
||||
type: 'warning'
|
||||
});
|
||||
this.v = 'index'
|
||||
return
|
||||
}
|
||||
|
||||
let subject = this.viewData.subjects
|
||||
for (let i = 0; i < subject.length; i++) {
|
||||
if (subject[i].val == "" || subject[i].val == []) {
|
||||
this.$notify({
|
||||
title: '警告',
|
||||
message: "第" + (i + 1) + "题未答",
|
||||
type: 'warning'
|
||||
});
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
this.viewData.subjects.forEach(v => {
|
||||
if (v.type == 1) {
|
||||
this.formData.push({"papers_id": this.viewData.id, "subject_id": v.id, "answer_id": v.val})
|
||||
} else if (v.type == 2) {
|
||||
v.val.forEach(x => {
|
||||
this.formData.push({"papers_id": this.viewData.id, "subject_id": v.id, "answer_id": x})
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '数据提交中...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
|
||||
$.post(base + "/platform/hd/zxdt/answer/doAdd", {replyList: JSON.stringify(this.formData)}, (data) => {
|
||||
if (data.code == 0) {
|
||||
this.pageData()
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: "试卷已提交",
|
||||
type: 'success'
|
||||
});
|
||||
} else {
|
||||
this.$notify({
|
||||
title: '错误',
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
loading.close()
|
||||
this.v = 'index'
|
||||
}, "json");
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
pageOrder(column) {//按字段排序
|
||||
this.pageForm.pageOrderName = column.prop;
|
||||
this.pageForm.pageOrderBy = column.order;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange(val) {//页码更新操作
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageSizeChange(val) {//分页大小更新操作
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageData() {
|
||||
sublime.showLoadingbar();
|
||||
$.post(base + "/platform/hd/zxdt/answer/pageData", this.pageForm, (res) => {
|
||||
const {code, msg, data} = res
|
||||
if (code == 0) {
|
||||
this.tableData = data.list;
|
||||
this.pageForm.totalCount = data.totalCount;
|
||||
sublime.closeLoadingbar();
|
||||
} else {
|
||||
this.$message.error(msg);
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.pageData();
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,174 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
[v-clock] {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<div v-clock id="app" style="padding: 0 10px;">
|
||||
<div v-show="showMsg"
|
||||
style="margin: 1.2rem 0.20rem 0.4rem 0.20rem;padding: 0.3rem 0.34rem;text-align: center">
|
||||
<div class="weui-msg">
|
||||
<div class="weui-msg__icon-area">
|
||||
<i v-if="flag" class="weui-icon-success weui-icon_msg"></i>
|
||||
<i v-else class="weui-icon-warn weui-icon_msg"></i>
|
||||
</div>
|
||||
<div class="weui-msg__text-area">
|
||||
<h2 class="weui-msg__title">{{msg}}</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-show="!showMsg" style="padding-top: 20px">
|
||||
<div style="width: 100%;text-align: center;color: #1ea0fa"><h2>{{viewData.name}}</h2></div>
|
||||
<div style="width: 100%;margin-top: 20px;font-size: 14px; text-align: center;color: rgb(120,120,120)">
|
||||
<span>考试时间:{{viewData.answer_start_time}} - {{viewData.answer_end_time}}</span>
|
||||
<span>分值:({{viewData.fraction}})</span>
|
||||
</div>
|
||||
<div style="width: 100%;margin-top: 20px" v-if="viewData.explain_txt" v-html="viewData.explain_txt">
|
||||
</div>
|
||||
<hr v-if="viewData.explain_txt"
|
||||
style="margin-top: 20px;border: none;border-bottom: 1px rgb(150,150,150) dashed"/>
|
||||
|
||||
<div style="margin-top: 50px">
|
||||
<van-panel style="margin: 20px 0;box-shadow: 0 0 10px rgb(220,220,220)"
|
||||
v-for="sub,idx in viewData.subjects" :title="(idx+1)+'. '+ getTxt(sub.name)">
|
||||
<!-- 单选-->
|
||||
<div style="padding: 10px" v-if="sub.type==1">
|
||||
<van-radio v-for="ans in sub.answer" :name="ans.id" v-model="sub.val"
|
||||
style="padding: 10px 10px;margin: 0;box-sizing: border-box;">
|
||||
<div style="width: 100%;margin: 5px 0" v-html="ans.option_txt"></div>
|
||||
</van-radio>
|
||||
</div>
|
||||
|
||||
<!-- 多选-->
|
||||
<div style="padding: 10px" v-if="sub.type==2">
|
||||
<van-checkbox-group style="position: relative;box-sizing: border-box;" v-model="sub.val">
|
||||
|
||||
<van-checkbox v-for="ans in sub.answer" shape="square" :name="ans.id"
|
||||
style="padding: 10px 10px;margin: 0;box-sizing: border-box;">
|
||||
<div style="width: 100%;margin: 5px 0" v-html="ans.option_txt"></div>
|
||||
|
||||
</van-checkbox>
|
||||
|
||||
</van-checkbox-group>
|
||||
</div>
|
||||
</van-panel>
|
||||
</div>
|
||||
|
||||
<div style="width: 100%;text-align: center;margin-top: 30px;margin-bottom: 10px">
|
||||
<van-button color="#1ea0fa" v-show="viewData!={}" type="primary" :loading="loading" @click.native="subData"
|
||||
style="width: 70%">
|
||||
提交试卷
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
showMsg: false,
|
||||
showPage: false,
|
||||
msg: '',
|
||||
flag: false,
|
||||
viewData: {},
|
||||
formData: [],
|
||||
getTxt(val) {
|
||||
if (val) {
|
||||
return val.replace(/<(style|script|iframe)[^>]*?>[\s\S]+?<\/\1\s*>/gi, '').replace(/<[^>]+?>/g, '').replace(/\s+/g, ' ').replace(/ /g, ' ').replace(/>/g, ' ');
|
||||
}
|
||||
return ''
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
subData() {
|
||||
this.formData = []
|
||||
let subject = this.viewData.subjects
|
||||
|
||||
if (moment().format("HH:mm:ss") > this.viewData.answer_end_time) {
|
||||
this.$notify({type: 'danger', message: "您已超时,此次作废!"})
|
||||
this.flag = true
|
||||
this.showMsg = true
|
||||
return
|
||||
}
|
||||
|
||||
for (let i = 0; i < subject.length; i++) {
|
||||
if (subject[i].val == "" || subject[i].val == []) {
|
||||
this.$notify({type: 'warning', message: "第" + (i + 1) + "题未答"})
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
this.viewData.subjects.forEach(v => {
|
||||
if (v.type == 1) {
|
||||
this.formData.push({"papers_id": this.viewData.id, "subject_id": v.id, "answer_id": v.val})
|
||||
} else if (v.type == 2) {
|
||||
v.val.forEach(x => {
|
||||
this.formData.push({"papers_id": this.viewData.id, "subject_id": v.id, "answer_id": x})
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
this.loading = true
|
||||
$.post("/platform/hd/zxdt/mobile/answer/doAdd", {replyList: JSON.stringify(this.formData)}, (res) => {
|
||||
if (res.code == 0) {
|
||||
this.loading = false
|
||||
this.msg = '您的答卷已提交,感谢您的参与!'
|
||||
this.flag = true
|
||||
this.showMsg = true
|
||||
} else {
|
||||
this.$notify({type: 'danger', message: res.msg})
|
||||
}
|
||||
})
|
||||
},
|
||||
pageData() {
|
||||
this.formData = []
|
||||
$.get("/platform/hd/zxdt/mobile/answer/findOne", (res) => {
|
||||
const {code, data, msg} = res
|
||||
if (!data) {
|
||||
this.msg = "您今日的答题次数已用完"
|
||||
this.flag = true
|
||||
this.showMsg = true
|
||||
return
|
||||
}
|
||||
|
||||
if (code == 0) {
|
||||
|
||||
if (moment().format("HH:mm:ss") < data.answer_start_time) {
|
||||
this.msg = "未到答题时间"
|
||||
this.flag = true
|
||||
this.showMsg = true
|
||||
return
|
||||
} else if (moment().format("HH:mm:ss") > data.answer_end_time) {
|
||||
this.msg = "答题时间已过"
|
||||
this.flag = true
|
||||
this.showMsg = true
|
||||
return
|
||||
}
|
||||
|
||||
data.subjects.forEach(v => {
|
||||
v.val = v.type === 1 ? "" : []
|
||||
})
|
||||
this.viewData = data
|
||||
this.showMsg = false
|
||||
} else {
|
||||
this.msg = msg
|
||||
this.showMsg = true
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,665 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<!-- 在线答题-试卷管理 -->
|
||||
<style>
|
||||
#qsmEditor .w-e-text-container {
|
||||
height: 450px !important;
|
||||
}
|
||||
|
||||
#qsmEditor div {
|
||||
z-index: 0 !important;
|
||||
}
|
||||
|
||||
.el-divider {
|
||||
background-color: #409EFF;
|
||||
}
|
||||
|
||||
.el-divider__text {
|
||||
color: #409EFF;
|
||||
}
|
||||
|
||||
.inputParent input {
|
||||
border: none;
|
||||
border-bottom: 1px solid rgb(220, 223, 230);
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.issueList > .el-table__header-wrapper {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.issueList .el-table__expanded-cell {
|
||||
background-color: rgb(250, 250, 250) !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<el-row class="transition-row">
|
||||
<transition name="el-zoom-in-center">
|
||||
<div v-show="v=='index'" class="transition-item">
|
||||
<el-row class="header navbar bg-white shadow">
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input placeholder="请输入内容" v-model="pageForm.searchKeyword">
|
||||
<template slot="prepend">试卷名称</template>
|
||||
</el-input>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-button icon="el-icon-search" @click="doSearch"
|
||||
style="background-color:#409eff;color: white;"></el-button>
|
||||
</div>
|
||||
|
||||
<div class="pull-right offscreen-right mt5">
|
||||
<el-button size="medium" type="primary" plain @click="openAdd"><i class="ti-plus"></i>新建试卷
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
<el-row class="el-table-container">
|
||||
<el-table :data="tableData" size="medium" header-align="center" align="center" style="width: 100%">
|
||||
<el-table-column
|
||||
label="序号" type="index" header-align="center" align="center">
|
||||
<template scope="scope">
|
||||
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="name" label="试卷名称" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="explain_txt" label="说明" show-overflow-tooltip header-align="center"
|
||||
align="center">
|
||||
<template scope="scope">
|
||||
<span v-html="scope.row.explain_txt"></span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="answer_start_time" label="答题时间" header-align="center" align="center">
|
||||
<template scope="scope">
|
||||
<span>{{scope.row.answer_start_time}}-{{scope.row.answer_end_time}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="answer_num" label="答题次数" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="fraction" label="分值" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="create_time" label="创建时间" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column align="center" label="在线答题二维码">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="small" plain type="primary" @click="saveCode(scope.row.id)">保存二维码
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" header-align="center" align="center" width="200px">
|
||||
<template scope="scope">
|
||||
<el-button size="small" @click="openView(scope.row.id)">查看</el-button>
|
||||
<el-button size="small" type="primary"
|
||||
@click="openEdit(scope.row.id)" plain>编辑
|
||||
</el-button>
|
||||
<el-button size="small" type="danger"
|
||||
@click="doDelete(scope.row.id)" plain>删除
|
||||
</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 v-show="v=='add'||v=='edit'" class="transition-item">
|
||||
<el-card class="box-card v-box" shadow="never">
|
||||
<div slot="header" class="clearfix">
|
||||
<el-button icon="el-icon-back" type="text" @click="v='index'"
|
||||
style="font-size: 18px">返回
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<div style="padding: 0 5%; height:calc(100vh - 150px);overflow-y: scroll">
|
||||
<el-row v-loading="loading">
|
||||
|
||||
<el-steps :active="stepActive" simple finish-status="success">
|
||||
<el-step title="试卷信息" description=""></el-step>
|
||||
<el-step title="选择题目" description=""></el-step>
|
||||
</el-steps>
|
||||
|
||||
<transition name="el-zoom-in-top">
|
||||
<div v-show="stepActive==0" class="transition-box" style="margin-top: 20px;">
|
||||
<el-form ref="addForm" :model="formData" label-width="60px" label-position="right"
|
||||
:rules="formRules">
|
||||
|
||||
<el-form-item label="试卷名称" class="is-required" prop="name" label-width="120px">
|
||||
<el-input v-model="formData.name"
|
||||
placeholder="请填写试卷名称"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="7">
|
||||
<el-form-item label="可答次数" class="is-required" prop="answer_num"
|
||||
label-width="120px">
|
||||
<el-input-number style="width: 100%" v-model="formData.answer_num"
|
||||
controls-position="right"
|
||||
:min="1" :max="100"></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="分值" class="is-required" prop="fraction"
|
||||
label-width="120px">
|
||||
<el-input-number style="width: 100%" v-model="formData.fraction"
|
||||
controls-position="right"
|
||||
:min="1" :max="200"></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="答题时间" prop="answer_time"
|
||||
label-width="200px">
|
||||
<el-time-picker
|
||||
value-format="HH:mm:ss"
|
||||
style="width: 100%"
|
||||
is-range
|
||||
v-model="formData.answer_time"
|
||||
range-separator="-"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="结束时间"
|
||||
placeholder="选择时间范围">
|
||||
</el-time-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item label="说明" prop="explain_txt" label-width="120px">
|
||||
<div id="qsmEditor"></div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<div style="float: right;margin: 20px 0">
|
||||
<el-button type="primary" @click="next">下一步</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
<transition name="el-zoom-in-bottom">
|
||||
<div v-show="stepActive==1" class="transition-box" style="margin-top: 20px;">
|
||||
<el-row type="flex" justify="end" :gutter="20">
|
||||
|
||||
<div class="btn-group tool-button mt5" style="margin-right: 5px">
|
||||
<el-input placeholder="请输入题目" size="small"
|
||||
v-model="subjectForm.searchKeyword"></el-input>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button mt5" style="margin-right: 5px">
|
||||
<el-select v-model="subjectForm.type" clearable size="small"
|
||||
placeholder="题型">
|
||||
<el-option
|
||||
v-for="item in typeOptions"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="pull-right offscreen-right mt5">
|
||||
<el-button icon="el-icon-search" @click="doSubjectSearch"
|
||||
style="background-color:#409eff;color: white;"
|
||||
size="small"></el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
<el-table :data="subjectTable" row-key="id" ref="multipleSubject"
|
||||
@selection-change="handleSelectionChange" size="medium"
|
||||
@select="selectCheckbox">
|
||||
|
||||
<el-table-column type="selection" width="55"
|
||||
reserve-selection></el-table-column>
|
||||
|
||||
<el-table-column align="center" type="index" header-align="center"
|
||||
label="序号" width="55">
|
||||
<template scope="scope">
|
||||
<span>{{scope.$index+(subjectForm.pageNumber - 1) * subjectForm.pageSize + 1}} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="name" show-overflow-tooltip label="题目"
|
||||
header-align="center"
|
||||
align="center"></el-table-column>
|
||||
|
||||
<el-table-column prop="type" label="题型" header-align="center" align="center"
|
||||
width="80px">
|
||||
<template scope="scope">
|
||||
<span v-if="scope.row.type==1">单选</span>
|
||||
<span v-if="scope.row.type==2">多选</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="option_txt" show-overflow-tooltip label="正确答案"
|
||||
header-align="center"
|
||||
align="center"></el-table-column>
|
||||
|
||||
</el-table>
|
||||
|
||||
<el-row class="el-pagination-container">
|
||||
<el-pagination
|
||||
@size-change="subjectSizeChange"
|
||||
@current-change="subjectNumberChange"
|
||||
:current-page="subjectForm.pageNumber"
|
||||
:page-sizes="[10, 20, 30, 50]"
|
||||
:page-size="subjectForm.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="subjectForm.totalCount">
|
||||
</el-pagination>
|
||||
</el-row>
|
||||
|
||||
<div style="float: right;margin: 20px 0">
|
||||
<el-button @click="stepActive=0">上一步</el-button>
|
||||
<el-button type="primary" :disabled="subDis" @click="operation">提
|
||||
交
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
</transition>
|
||||
|
||||
<!-- 查看 -->
|
||||
<transition name="el-zoom-in-center">
|
||||
<div v-show="v=='view'" class="transition-item">
|
||||
<el-card class="box-card v-box" shadow="never">
|
||||
<div slot="header" class="clearfix">
|
||||
<el-button icon="el-icon-back" type="text" @click="v='index'"
|
||||
style="font-size: 18px">返回
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<div style="padding: 0 5%; height:calc(100vh - 150px);overflow-y: scroll">
|
||||
<div style="padding-left: 20px;padding-right: 20px">
|
||||
<el-row style="text-align: center;margin-bottom: 20px">
|
||||
<h2>{{viewData.name}}</h2>
|
||||
<span style="color: rgb(120,120,120)">考试时间:{{viewData.answer_start_time}} - {{viewData.answer_end_time}}</span>
|
||||
<span style="color: rgb(120,120,120)">分值:({{viewData.fraction}})</span>
|
||||
</el-row>
|
||||
<el-row style="margin-bottom: 20px">
|
||||
<div v-html="viewData.explain_txt"></div>
|
||||
</el-row>
|
||||
|
||||
<el-row v-for="sub,idx in viewData.subjects"
|
||||
style="border-bottom: 1px solid rgb(200,200,200);padding: 20px 0;margin-bottom: 20px">
|
||||
<el-col :span="1">
|
||||
<span style="font-weight: bolder">{{idx+1}}.</span>
|
||||
</el-col>
|
||||
<el-col :span="23">
|
||||
<el-row>
|
||||
<div v-html="sub.name"></div>
|
||||
</el-row>
|
||||
|
||||
<el-checkbox-group v-model="sub.val">
|
||||
|
||||
<el-row v-for="ans,idx2 in sub.answer">
|
||||
<el-row style="margin-top: 5px">
|
||||
<el-radio v-if="sub.type==1" :label="ans.id" v-model="sub.val">
|
||||
{{ans.option_txt}}
|
||||
</el-radio>
|
||||
|
||||
<el-checkbox v-if="sub.type==2" :label="ans.id">
|
||||
{{ans.option_txt}}
|
||||
</el-checkbox>
|
||||
</el-row>
|
||||
</el-row>
|
||||
|
||||
</el-checkbox-group>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
</transition>
|
||||
</el-row>
|
||||
|
||||
<a id="download" style="display: none"></a>
|
||||
<div id="qrcode" style="display: none;width: 500px;height: 500px"></div>
|
||||
</div>
|
||||
<script src="/assets/platform/js/jquery.qrcode.min.js"></script>
|
||||
<script>
|
||||
let qsmEditor
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
searchName: "name",
|
||||
searchKeyword: "",
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
pageOrderName: "",
|
||||
pageOrderBy: "",
|
||||
},
|
||||
subjectForm: {
|
||||
searchName: "sub.name",
|
||||
searchKeyword: "",
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
pageOrderName: "",
|
||||
pageOrderBy: "",
|
||||
type: ""
|
||||
},
|
||||
viewData: {},
|
||||
formData: {},
|
||||
subjectTable: [],
|
||||
tableData: [],
|
||||
multipleSelection: [],
|
||||
multipleSelection2: [],
|
||||
stepActive: 0,
|
||||
tabKey: new Date().getTime(),
|
||||
v: 'index',
|
||||
loading: false,
|
||||
subDis: false,
|
||||
redirect_uri: location.protocol + "//" + location.host,
|
||||
formRules: {
|
||||
name: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
fraction: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
answer_num: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
answer_time: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
},
|
||||
typeOptions: [{id: 1, name: "单选题"}, {id: 2, name: "多选题"}],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
IEVersion() {
|
||||
let userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
|
||||
let isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
|
||||
let isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
|
||||
let isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
|
||||
if (isIE) {
|
||||
let reIE = new RegExp("MSIE (\\d+\\.\\d+);");
|
||||
reIE.test(userAgent);
|
||||
let fIEVersion = parseFloat(RegExp["$1"]);
|
||||
if (fIEVersion == 7) {
|
||||
return 7;
|
||||
} else if (fIEVersion == 8) {
|
||||
return 8;
|
||||
} else if (fIEVersion == 9) {
|
||||
return 9;
|
||||
} else if (fIEVersion == 10) {
|
||||
return 10;
|
||||
} else {
|
||||
return 6;//IE版本<=7
|
||||
}
|
||||
} else if (isEdge) {
|
||||
return 'edge';//edge
|
||||
} else if (isIE11) {
|
||||
return 11; //IE11
|
||||
} else {
|
||||
return -1;//不是ie浏览器
|
||||
}
|
||||
},
|
||||
dwnCode(name) {
|
||||
let type = 'png';
|
||||
if (this.IEVersion() != -1) {
|
||||
let blob = $("canvas").get(0).msToBlob();
|
||||
window.navigator.msSaveBlob(blob, name + '_' + (new Date()).getTime() + '.' + type);
|
||||
} else {
|
||||
$('#download').attr({
|
||||
href: $("canvas").get(0).toDataURL('image/png').replace("image/png", "image/octet-stream"),
|
||||
download: name + '_' + (new Date()).getTime() + '.' + type
|
||||
}).get(0).click();
|
||||
}
|
||||
},
|
||||
saveCode(id) {
|
||||
let self = this
|
||||
$("#qrcode").html("")
|
||||
$("#qrcode").qrcode({
|
||||
render: "canvas",
|
||||
width: $("#qrcode").width(),
|
||||
height: $("#qrcode").width(),
|
||||
text: self.redirect_uri + '/platform/hd/zxdt/mobile/answer?papers_id=' + id,
|
||||
correctLevel: 3
|
||||
});
|
||||
this.$nextTick(() => {
|
||||
this.dwnCode("在线答题")
|
||||
})
|
||||
},
|
||||
selectCheckbox(selection, row) {
|
||||
const checked = selection.some(v => v.id == row.id)
|
||||
if (checked) {
|
||||
this.multipleSelection2.push(row.id)
|
||||
} else {
|
||||
this.multipleSelection2.splice(this.multipleSelection2.findIndex(v => v == row.id), 1)
|
||||
}
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val;
|
||||
},
|
||||
next() {
|
||||
if (!this.formData.explain_txt || !dd3s.html2txt(this.formData.explain_txt)) {
|
||||
this.$message.warning("请填写说明")
|
||||
return
|
||||
}
|
||||
this.$refs["addForm"].validate((valid) => {
|
||||
if (valid) {
|
||||
this.stepActive = 1
|
||||
}
|
||||
})
|
||||
},
|
||||
openView(id) {
|
||||
$.get("/platform/hd/zxdt/papers/findOne", {id: id}, (res) => {
|
||||
const {code, data, msg} = res
|
||||
if (code == 0) {
|
||||
this.viewData = data
|
||||
data.subjects.forEach(v => {
|
||||
if (v.type == 2) {
|
||||
v.val = []
|
||||
v.answer.map((x) => {
|
||||
if (x.is_yes) {
|
||||
v.val.push(x.id)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
v.val = v.answer.find(x => x.is_yes).id
|
||||
}
|
||||
})
|
||||
this.v = 'view'
|
||||
} else {
|
||||
this.$message.error(msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
doDelete(id) {
|
||||
let that = this
|
||||
this.$confirm('确定要删除吗', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback(a, b) {
|
||||
if ("confirm" == a) {
|
||||
$.post(base + "/platform/hd/zxdt/papers/delete", {id: id}, (data) => {
|
||||
if (data.code == 0) {
|
||||
that.$message.success(data.msg);
|
||||
that.pageData();
|
||||
} else {
|
||||
that.$message.error(data.msg);
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
openAdd() {
|
||||
this.v = 'add'
|
||||
this.formData = {}
|
||||
this.stepActive = 0
|
||||
this.tabKey = new Date().getTime()
|
||||
this.multipleSelection = []
|
||||
this.subjectTable = []
|
||||
this.$nextTick(() => {
|
||||
$('#qsmEditor').html("")
|
||||
E = window.wangEditor
|
||||
qsmEditor = new E('#qsmEditor')
|
||||
qsmEditor.config.uploadImgShowBase64 = true
|
||||
qsmEditor.config.onchange = (html) => {
|
||||
this.$set(this.formData, "explain_txt", html)
|
||||
}
|
||||
qsmEditor.create()
|
||||
})
|
||||
this.subjectData()
|
||||
},
|
||||
openEdit(id) {
|
||||
this.stepActive = 0
|
||||
this.tabKey = new Date().getTime()
|
||||
this.multipleSelection = []
|
||||
this.subjectTable = []
|
||||
$.get("/platform/hd/zxdt/papers/findOne", {id: id}, (res) => {
|
||||
const {code, data, msg} = res
|
||||
if (code == 0) {
|
||||
$('#qsmEditor').html(data.explain_txt)
|
||||
E = window.wangEditor
|
||||
qsmEditor = new E('#qsmEditor')
|
||||
|
||||
qsmEditor.config.onchange = (html) => {
|
||||
this.$set(this.formData, "explain_txt", html)
|
||||
}
|
||||
qsmEditor.create()
|
||||
this.formData = data
|
||||
if (this.formData.answer_start_time && this.formData.answer_end_time) {
|
||||
this.$set(this.formData, 'answer_time', [this.formData.answer_start_time, this.formData.answer_end_time])
|
||||
}
|
||||
|
||||
this.multipleSelection = data.subjects.map(v => {
|
||||
return v.id
|
||||
})
|
||||
this.multipleSelection2 = this.multipleSelection
|
||||
|
||||
this.subjectData()
|
||||
this.v = "edit"
|
||||
} else {
|
||||
this.$message.error(msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
operation() {
|
||||
let url
|
||||
if (this.v == 'edit') {
|
||||
url = "/platform/hd/zxdt/papers/doEdit"
|
||||
} else if (this.v == 'add') {
|
||||
url = "/platform/hd/zxdt/papers/doAdd"
|
||||
}
|
||||
|
||||
if (this.multipleSelection.length == 0) {
|
||||
this.$message.warning('请选择题目!');
|
||||
return
|
||||
}
|
||||
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '数据提交中...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
|
||||
this.formData.answer_start_time = this.formData.answer_time[0]
|
||||
this.formData.answer_end_time = this.formData.answer_time[1]
|
||||
|
||||
this.$refs["addForm"].validate((valid) => {
|
||||
if (valid) {
|
||||
$.post(base + url, {
|
||||
papers: JSON.stringify(this.formData),
|
||||
subject: JSON.stringify(this.multipleSelection)
|
||||
}, (data) => {
|
||||
if (data.code == 0) {
|
||||
this.v = 'index'
|
||||
this.pageData()
|
||||
this.$message.success(data.msg)
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
loading.close()
|
||||
}, "json");
|
||||
}
|
||||
})
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
pageOrder(column) {//按字段排序
|
||||
this.pageForm.pageOrderName = column.prop;
|
||||
this.pageForm.pageOrderBy = column.order;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange(val) {//页码更新操作
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageSizeChange(val) {//分页大小更新操作
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
doSubjectSearch() {
|
||||
this.subjectForm.pageNumber = 1;
|
||||
this.subjectData();
|
||||
},
|
||||
subjectNumberChange(val) {//页码更新操作
|
||||
this.subjectForm.pageNumber = val;
|
||||
this.subjectData();
|
||||
},
|
||||
subjectSizeChange(val) {//分页大小更新操作
|
||||
this.subjectForm.pageSize = val;
|
||||
this.subjectData();
|
||||
},
|
||||
pageData() {//加载分页数据
|
||||
sublime.showLoadingbar();
|
||||
$.post(base + "/platform/hd/zxdt/papers/pageData", this.pageForm, (res) => {
|
||||
const {code, msg, data} = res
|
||||
if (code == 0) {
|
||||
this.tableData = data.list;
|
||||
this.pageForm.totalCount = data.totalCount;
|
||||
sublime.closeLoadingbar();
|
||||
} else {
|
||||
this.$message.error(msg);
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
subjectData() {
|
||||
sublime.showLoadingbar();
|
||||
$.post(base + "/platform/hd/zxdt/papers/findSubject", this.subjectForm, (res) => {
|
||||
const {code, msg, data} = res
|
||||
if (code == 0) {
|
||||
this.subjectTable = data.list;
|
||||
this.subjectForm.totalCount = data.totalCount;
|
||||
this.$nextTick(() => {
|
||||
const arr = JSON.parse(JSON.stringify(this.multipleSelection2))
|
||||
this.subjectTable.forEach(v => {
|
||||
if (arr.includes(v.id)) {
|
||||
this.$refs.multipleSubject.toggleRowSelection(v, true)
|
||||
}
|
||||
})
|
||||
})
|
||||
sublime.closeLoadingbar();
|
||||
} else {
|
||||
this.$message.error(msg);
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.pageData();
|
||||
},
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,240 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<!-- 在线答题-数据分析 -->
|
||||
<style>
|
||||
#qsmEditor .w-e-text-container {
|
||||
height: 450px !important;
|
||||
}
|
||||
|
||||
#qsmEditor div {
|
||||
z-index: 0 !important;
|
||||
}
|
||||
|
||||
.el-divider {
|
||||
background-color: #409EFF;
|
||||
}
|
||||
|
||||
.el-divider__text {
|
||||
color: #409EFF;
|
||||
}
|
||||
|
||||
.inputParent input {
|
||||
border: none;
|
||||
border-bottom: 1px solid rgb(220, 223, 230);
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.subList > .el-table__header-wrapper {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.subList .el-table__expanded-cell {
|
||||
background-color: rgb(250, 250, 250) !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<el-row class="transition-row">
|
||||
<transition name="el-zoom-in-center">
|
||||
<div v-show="v=='index'" class="transition-item">
|
||||
<el-row class="header navbar bg-white shadow">
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input placeholder="请输入内容" v-model="pageForm.searchKeyword">
|
||||
<template slot="prepend">试卷名称</template>
|
||||
</el-input>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-button icon="el-icon-search" @click="doSearch"
|
||||
style="background-color:#409eff;color: white;"></el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
<el-row class="el-table-container">
|
||||
<el-table :data="tableData" size="medium" header-align="center" align="center" style="width: 100%">
|
||||
<el-table-column
|
||||
label="序号" type="index" header-align="center" align="center">
|
||||
<template scope="scope">
|
||||
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="name" label="试卷名称" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="explain_txt" label="说明" show-overflow-tooltip header-align="center"
|
||||
align="center">
|
||||
<template scope="scope">
|
||||
<span v-html="scope.row.explain_txt"></span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="answer_start_time" label="答题时间" header-align="center" align="center">
|
||||
<template scope="scope">
|
||||
<span>{{scope.row.answer_start_time}}-{{scope.row.answer_end_time}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="answer_num" label="答题次数" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="fraction" label="分值" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="create_time" label="创建时间" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="操作" header-align="center" align="center" width="200px">
|
||||
<template scope="scope">
|
||||
<el-button type="primary" plain size="small" @click="openView(scope.row.id)">查看详情
|
||||
</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 v-show="v=='view'" class="transition-item">
|
||||
<el-card class="box-card v-box" shadow="never">
|
||||
<div slot="header" class="clearfix">
|
||||
<el-button icon="el-icon-back" type="text" @click="v='index'"
|
||||
style="font-size: 18px">返回
|
||||
</el-button>
|
||||
</div>
|
||||
<div style="padding: 0 5%; height:calc(100vh - 150px);overflow-y: scroll">
|
||||
<el-row style="text-align: center;margin-bottom: 20px">
|
||||
<h2>{{viewData.hd_papers.name}}</h2>
|
||||
<span style="color: rgb(120,120,120)">考试时间:{{viewData.hd_papers.answer_start_time}} - {{viewData.hd_papers.answer_end_time}}</span>
|
||||
<span style="color: rgb(120,120,120)">分值:({{viewData.hd_papers.fraction}})</span>
|
||||
</el-row>
|
||||
<el-row style="margin-bottom: 20px">
|
||||
<div v-html="viewData.hd_papers.explain_txt"></div>
|
||||
</el-row>
|
||||
|
||||
<el-row v-for="sub,idx in viewData.hd_papers.subjects">
|
||||
<el-row>
|
||||
<span style="font-weight: bolder;color: rgb(120,120,120)">第 {{idx+1}} 题:</span>
|
||||
<div v-html="sub.name" style="display: inline-block"></div>
|
||||
<span style="color: rgb(180,180,180)" v-if="sub.type==1">[单选题]</span>
|
||||
<span style="color: rgb(180,180,180)" v-if="sub.type==2">[多选题]</span>
|
||||
</el-row>
|
||||
|
||||
<el-row style="margin: 20px 0">
|
||||
<el-table :row-class-name="tableRowClassName" :data="sub.answer"
|
||||
header-align="center"
|
||||
style="width: 100%">
|
||||
<el-table-column prop="option_txt" label="选项" header-align="center" align="center">
|
||||
<template scope="scope">
|
||||
{{scope.row.option_txt}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="xj" label="小计" header-align="center" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="bl" label="比例" header-align="center" align="center">
|
||||
<template scope="scope">
|
||||
<el-progress v-if="scope.row.bl!=undefined"
|
||||
:percentage="scope.row.bl"></el-progress>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
</transition>
|
||||
</el-row>
|
||||
</div>
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
searchName: "name",
|
||||
searchKeyword: "",
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
pageOrderName: "",
|
||||
pageOrderBy: "",
|
||||
},
|
||||
viewData: {hd_papers: {subjects: [{answer: []}]}},
|
||||
tableData: [],
|
||||
v: 'index',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
tableRowClassName(row) {
|
||||
if (!row.row.bl) {
|
||||
return 'last-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
openView(id) {
|
||||
$.get("/platform/hd/zxdt/result/findOne", {id: id}, (res) => {
|
||||
const {code, data, msg} = res
|
||||
if (code == 0) {
|
||||
data.hd_papers.subjects.forEach((sub) => {
|
||||
sub.answer.forEach((ans) => {
|
||||
ans.xj = data[sub.id].hasOwnProperty(ans.id) ? data[sub.id][ans.id] : 0
|
||||
ans.bl = (ans.xj / data[sub.id].yxs).toFixed(2) * 100
|
||||
ans.bl = isNaN(ans.bl) ? 0 : ans.bl
|
||||
})
|
||||
sub.answer.push({option_txt: '本题有效填写人次', xj: data[sub.id].yxs})
|
||||
}
|
||||
)
|
||||
this.viewData = data
|
||||
this.v = 'view'
|
||||
} else {
|
||||
this.$message.error(msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
pageOrder(column) {//按字段排序
|
||||
this.pageForm.pageOrderName = column.prop;
|
||||
this.pageForm.pageOrderBy = column.order;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange(val) {//页码更新操作
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageSizeChange(val) {//分页大小更新操作
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageData() {//加载分页数据
|
||||
sublime.showLoadingbar();
|
||||
$.post(base + "/platform/hd/zxdt/result/pageData", this.pageForm, (res) => {
|
||||
const {code, msg, data} = res
|
||||
if (code == 0) {
|
||||
this.tableData = data.list;
|
||||
this.pageForm.totalCount = data.totalCount;
|
||||
sublime.closeLoadingbar();
|
||||
} else {
|
||||
this.$message.error(msg);
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.pageData();
|
||||
},
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,486 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<!-- 在线答题-题库管理 -->
|
||||
<style>
|
||||
.el-divider {
|
||||
background-color: #409EFF;
|
||||
}
|
||||
|
||||
.el-divider__text {
|
||||
color: #409EFF;
|
||||
}
|
||||
|
||||
.inputParent input {
|
||||
border: none;
|
||||
border-bottom: 1px solid rgb(220, 223, 230);
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.issueList > .el-table__header-wrapper {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.issueList .el-table__expanded-cell {
|
||||
background-color: rgb(250, 250, 250) !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<el-row class="transition-row">
|
||||
<transition name="el-zoom-in-center">
|
||||
<div v-show="v=='index'" class="transition-item">
|
||||
<el-row class="header navbar bg-white shadow">
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input placeholder="请输入内容" v-model="pageForm.searchKeyword">
|
||||
<template slot="prepend">题目</template>
|
||||
</el-input>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-select v-model="pageForm.type" clearable
|
||||
placeholder="题型">
|
||||
<el-option
|
||||
v-for="item in typeOptions"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-button icon="el-icon-search" @click="doSearch"
|
||||
style="background-color:#409eff;color: white;"></el-button>
|
||||
</div>
|
||||
|
||||
<div class="pull-right offscreen-right mt5">
|
||||
<el-button size="medium" type="primary" plain @click="openAdd"><i class="ti-plus"></i>新建题目
|
||||
</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
<el-row class="el-table-container">
|
||||
<el-table :data="tableData" size="medium" header-align="center" align="center" style="width: 100%">
|
||||
<el-table-column
|
||||
label="序号" type="index" header-align="center" align="center">
|
||||
<template scope="scope">
|
||||
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="name" show-overflow-tooltip label="题目" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="type" label="题型" header-align="center" align="center">
|
||||
<template scope="scope">
|
||||
<span v-if="scope.row.type==1">单选</span>
|
||||
<span v-if="scope.row.type==2">多选</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="create_time" label="创建时间" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
<el-table-column label="操作" header-align="center" align="center" width="200px">
|
||||
<template scope="scope">
|
||||
<el-button size="small" @click="openView(scope.row.id)">查看</el-button>
|
||||
<el-button size="small" type="primary"
|
||||
@click="openEdit(scope.row.id)" plain>编辑
|
||||
</el-button>
|
||||
<el-button size="small" type="danger"
|
||||
@click="doDelete(scope.row.id)" plain>删除
|
||||
</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 v-show="v=='add'||v=='edit'" class="transition-item">
|
||||
<el-card class="box-card v-box" shadow="never">
|
||||
<div slot="header" class="clearfix">
|
||||
<el-button icon="el-icon-back" type="text" @click="v='index'"
|
||||
style="font-size: 18px">返回
|
||||
</el-button>
|
||||
<div class="pull-right offscreen-right mt5">
|
||||
<el-button size="medium" type="primary" plain @click="operation">确 定</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="padding: 0 5%; height:calc(100vh - 150px);overflow-y: scroll">
|
||||
<el-form :model="formData" ref="addForm" label-position="right" :rules="formRules" size="small"
|
||||
label-width="80px">
|
||||
<el-form-item prop="name" label="题目名称">
|
||||
<el-input size="medium" type="textarea" placeholder="请输入题目名称"
|
||||
v-model="formData.name"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="type" label="题目类型">
|
||||
<el-radio-group v-model="formData.type">
|
||||
<el-radio :label="1">单选</el-radio>
|
||||
<el-radio :label="2">多选</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="22">
|
||||
<el-divider content-position="left" class="dia">
|
||||
<span style="color: #3ea1ec;">题目选项</span>
|
||||
</el-divider>
|
||||
</el-col>
|
||||
<el-col :span="2" style="text-align: right">
|
||||
<el-button @click="formData.answer.push({option_txt:''})"
|
||||
style="margin-top: 10px"
|
||||
icon="el-icon-plus"
|
||||
type="warning" size="mini"></el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-checkbox-group v-model="checkVal">
|
||||
<el-table :data="formData.answer" header-align="center"
|
||||
style="width: 100%">
|
||||
<el-table-column type="index" label="序号"></el-table-column>
|
||||
<el-table-column prop="option_txt" label="选项" header-align="center"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-input placeholder="请输入选项名" maxlength="100"
|
||||
v-model="scope.row.option_txt"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="is_yes" label="正确答案" header-align="center" width="100px"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<el-radio v-model="is_yes" :label="scope.$index+1"
|
||||
v-if="formData.type==1">
|
||||
</el-radio>
|
||||
|
||||
<el-checkbox :label="scope.$index+1"
|
||||
v-if="formData.type==2">
|
||||
</el-checkbox>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" header-align="center" width="150px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button icon="el-icon-delete" type="danger"
|
||||
@click="delOptionX(scope)"></el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-checkbox-group>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
</transition>
|
||||
|
||||
<transition name="el-zoom-in-center">
|
||||
<div v-show="v=='view'" class="transition-item">
|
||||
<el-card class="box-card v-box" shadow="never">
|
||||
<div slot="header" class="clearfix">
|
||||
<el-button icon="el-icon-back" type="text" @click="v='index'"
|
||||
style="font-size: 18px">返回
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<div style="padding: 0 5%; height:calc(100vh - 150px);overflow-y: scroll">
|
||||
<el-form :model="viewData" ref="addForm" label-position="right" size="small"
|
||||
label-width="80px">
|
||||
<el-form-item prop="name" label="题目名称">
|
||||
<el-input readonly size="medium" type="textarea"
|
||||
v-model="viewData.name"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="type" label="题目类型">
|
||||
<el-radio-group v-model="viewData.type">
|
||||
<el-radio disabled :label="1">单选</el-radio>
|
||||
<el-radio disabled :label="2">多选</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="22">
|
||||
<el-divider content-position="left" class="dia">
|
||||
<span style="color: #3ea1ec;">题目选项</span>
|
||||
</el-divider>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-checkbox-group v-model="checkVal">
|
||||
<el-table :data="viewData.answer" header-align="center"
|
||||
style="width: 100%">
|
||||
<el-table-column type="index" label="序号"></el-table-column>
|
||||
<el-table-column prop="option_txt" label="选项" header-align="center"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-input readonly maxlength="100"
|
||||
v-model="scope.row.option_txt"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column readonly prop="is_yes" label="正确答案" header-align="center"
|
||||
width="100px"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<el-radio disabled v-model="is_yes" :label="scope.$index+1"
|
||||
v-if="viewData.type==1">
|
||||
</el-radio>
|
||||
|
||||
<el-checkbox disabled :label="scope.$index+1"
|
||||
v-if="viewData.type==2">
|
||||
</el-checkbox>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-checkbox-group>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
</transition>
|
||||
</el-row>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
searchName: "name",
|
||||
searchKeyword: "",
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
pageOrderName: "",
|
||||
pageOrderBy: "",
|
||||
type: ""
|
||||
},
|
||||
viewData: {},
|
||||
formData: {type: 1, answer: [{}, {}, {}, {}]},
|
||||
checkVal: [],
|
||||
is_yes: '',
|
||||
tableData: [],
|
||||
delOption: [],
|
||||
v: 'index',
|
||||
formRules: {
|
||||
name: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
type: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
option_txt: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
},
|
||||
typeOptions: [{id: 1, name: "单选题"}, {id: 2, name: "多选题"}]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
delOptionX(scope) {
|
||||
this.delOption = []
|
||||
if (scope.row.id) {
|
||||
this.delOption.push(scope.row.id)
|
||||
}
|
||||
if (this.formData.type == 1 && scope.$index == this.is_yes - 1) {
|
||||
this.is_yes = ''
|
||||
}
|
||||
if (this.formData.type == 2) {
|
||||
this.checkVal.splice(this.checkVal.indexOf(scope.$index + 1), 1)
|
||||
}
|
||||
this.formData.answer.splice(scope.$index, 1)
|
||||
},
|
||||
openView(id) {
|
||||
$.get("/platform/hd/zxdt/subject/findOne", {id: id}, (res) => {
|
||||
const {code, data, msg} = res
|
||||
if (code == 0) {
|
||||
this.viewData = data
|
||||
if (data.type == 2) {
|
||||
data.answer.forEach((val, idx) => {
|
||||
if (val.is_yes) {
|
||||
this.checkVal.push(idx + 1)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
data.answer.forEach((val, idx) => {
|
||||
if (val.is_yes) {
|
||||
this.is_yes = idx + 1
|
||||
}
|
||||
})
|
||||
}
|
||||
this.v = 'view'
|
||||
} else {
|
||||
this.$message.error(msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
doDelete(id) {
|
||||
let that = this
|
||||
this.$confirm('确定要删除吗', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback(a, b) {
|
||||
if ("confirm" == a) {//确认后再执行
|
||||
$.get(base + "/platform/hd/zxdt/subject/delete", {id: id}).then(res => {
|
||||
if (res.code == 0) {
|
||||
that.$message.success(res.msg);
|
||||
that.pageData();
|
||||
} else {
|
||||
that.$message.warning(res.msg);
|
||||
}
|
||||
}).catch(err => {
|
||||
that.$message.error(err.msg);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
openAdd() {
|
||||
this.formData = {type: 1, answer: [{}, {}, {}, {}]}
|
||||
this.is_yes = ''
|
||||
this.checkVal = []
|
||||
this.v = 'add'
|
||||
},
|
||||
openEdit(id) {
|
||||
$.get("/platform/hd/zxdt/subject/findOne", {id: id}, (res) => {
|
||||
const {code, data, msg} = res
|
||||
if (code == 0) {
|
||||
this.formData = data
|
||||
if (data.type == 2) {
|
||||
data.answer.forEach((val, idx) => {
|
||||
if (val.is_yes) {
|
||||
this.checkVal.push(idx + 1)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
data.answer.forEach((val, idx) => {
|
||||
if (val.is_yes) {
|
||||
this.is_yes = idx + 1
|
||||
}
|
||||
})
|
||||
}
|
||||
this.v = "edit"
|
||||
} else {
|
||||
this.$message.error(msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
operation() {
|
||||
let url
|
||||
if (this.formData.answer.length < 0) {
|
||||
this.$message.warning('请至少添加一个选项!');
|
||||
return
|
||||
}
|
||||
|
||||
for (let i = 0; i < this.formData.answer.length; i++) {
|
||||
if (!this.formData.answer[i].option_txt) {
|
||||
this.$message.warning('第 ' + (i + 1) + " 个选项的名字未填写!");
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if (this.formData.type == '2') {
|
||||
if (this.checkVal.length < 1) {
|
||||
this.$message.warning('请至少选择一个选项为正确答案!');
|
||||
return
|
||||
}
|
||||
} else {
|
||||
if (!this.is_yes) {
|
||||
this.$message.warning('请至少选择一个选项为正确答案!');
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if (this.v == 'edit') {
|
||||
url = "/platform/hd/zxdt/subject/doEdit"
|
||||
} else if (this.v == 'add') {
|
||||
url = "/platform/hd/zxdt/subject/doAdd"
|
||||
}
|
||||
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '数据提交中...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
|
||||
this.$refs["addForm"].validate((valid) => {
|
||||
if (valid) {
|
||||
this.formData.answer.forEach((value) => {
|
||||
value.is_yes = false
|
||||
})
|
||||
if (this.formData.type == "2") {
|
||||
this.checkVal.forEach((v) => {
|
||||
this.formData.answer[parseInt([v]) - 1].is_yes = true
|
||||
})
|
||||
} else {
|
||||
this.formData.answer[parseInt([this.is_yes]) - 1].is_yes = true
|
||||
}
|
||||
|
||||
$.post(base + url, {
|
||||
subject: JSON.stringify(this.formData),
|
||||
delOption: JSON.stringify(this.delOption)
|
||||
}, (data) => {
|
||||
if (data.code == 0) {
|
||||
this.v = 'index'
|
||||
this.pageData()
|
||||
this.$message.success(data.msg)
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
loading.close()
|
||||
}, "json");
|
||||
}
|
||||
})
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1;
|
||||
this.pageData();
|
||||
},
|
||||
pageOrder(column) {//按字段排序
|
||||
this.pageForm.pageOrderName = column.prop;
|
||||
this.pageForm.pageOrderBy = column.order;
|
||||
this.pageData();
|
||||
},
|
||||
pageNumberChange(val) {//页码更新操作
|
||||
this.pageForm.pageNumber = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageSizeChange(val) {//分页大小更新操作
|
||||
this.pageForm.pageSize = val;
|
||||
this.pageData();
|
||||
},
|
||||
pageData() {//加载分页数据
|
||||
sublime.showLoadingbar();
|
||||
$.post(base + "/platform/hd/zxdt/subject/pageData", this.pageForm, (res) => {
|
||||
const {code, msg, data} = res
|
||||
if (code == 0) {
|
||||
this.tableData = data.list;
|
||||
this.pageForm.totalCount = data.totalCount;
|
||||
sublime.closeLoadingbar();
|
||||
} else {
|
||||
this.$message.error(msg);
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
,
|
||||
},
|
||||
created() {
|
||||
this.pageData();
|
||||
},
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
Reference in New Issue
Block a user