928 lines
39 KiB
HTML
928 lines
39 KiB
HTML
<!--活动成绩管理 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-card shadow="never">
|
|
<div class="search">
|
|
<div class="search-item">
|
|
<div class="search-item-label"></div>
|
|
<div class="search-item-option">
|
|
<el-date-picker
|
|
v-model="pageForm.year"
|
|
type="year"
|
|
value-format="yyyy" style="width: 100%"
|
|
placeholder="选择年">
|
|
</el-date-picker>
|
|
</div>
|
|
</div>
|
|
<div class="search-item">
|
|
<div class="search-item-label"></div>
|
|
<div class="search-item-option">
|
|
<el-select v-model="pageForm.activityId" placeholder="请选择活动名称" filterable clearable
|
|
style="width: 100%" @change="getEvents">
|
|
<el-option
|
|
v-for="item in activitys"
|
|
:key="item.id"
|
|
:label="item.name"
|
|
:value="item.id">
|
|
</el-option>
|
|
</el-select>
|
|
</div>
|
|
</div>
|
|
<div class="search-item">
|
|
<div class="search-item-label"></div>
|
|
<div class="search-item-option">
|
|
<el-select v-model="pageForm.eventId" placeholder="请选择项目名称" filterable clearable
|
|
style="width: 100%">
|
|
<el-option
|
|
v-for="item in events"
|
|
:key="item.id"
|
|
:label="item.allname"
|
|
:value="item.eventid">
|
|
</el-option>
|
|
</el-select>
|
|
</div>
|
|
</div>
|
|
<div class="search-query">
|
|
<el-button type="primary" icon="el-icon-search" @click="doSearch">搜索</el-button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- <el-row type="flex" :gutter="20" align="center" class="search-card">-->
|
|
<!-- <el-col :span="7">-->
|
|
<!-- <el-date-picker-->
|
|
<!-- v-model="pageForm.year"-->
|
|
<!-- type="year"-->
|
|
<!-- value-format="yyyy" style="width: 100%"-->
|
|
<!-- placeholder="选择年">-->
|
|
<!-- </el-date-picker>-->
|
|
<!-- </el-col>-->
|
|
<!-- <el-col :span="7">-->
|
|
<!-- <el-select v-model="pageForm.activityId" placeholder="请选择活动名称" filterable clearable-->
|
|
<!-- style="width: 100%" @change="getEvents">-->
|
|
<!-- <el-option-->
|
|
<!-- v-for="item in activitys"-->
|
|
<!-- :key="item.id"-->
|
|
<!-- :label="item.name"-->
|
|
<!-- :value="item.id">-->
|
|
<!-- </el-option>-->
|
|
<!-- </el-select>-->
|
|
<!-- </el-col>-->
|
|
<!-- <el-col :span="7">-->
|
|
|
|
<!-- </el-col>-->
|
|
<!-- <el-col :span="1">-->
|
|
<!-- <div class="btn-group tool-button mt5">-->
|
|
<!-- <el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>-->
|
|
<!-- </div>-->
|
|
<!-- </el-col>-->
|
|
|
|
<!-- </el-row>-->
|
|
|
|
</el-card>
|
|
|
|
|
|
<!--表格-->
|
|
<el-card shadow="never" class="mt10">
|
|
<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>
|
|
<!--#include("/layouts/pagination.html"){}#-->
|
|
</el-card>
|
|
|
|
</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 filterable>
|
|
<el-option
|
|
v-for="item in unitSel"
|
|
:key="item.id"
|
|
:label="item.unitname"
|
|
:value="item.unitid">
|
|
</el-option>
|
|
<!-- <el-option v-for="item in unitSel" :label="item.unitname" :value="item.unitId"></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="unitname"></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>
|
|
var vue = new Vue({
|
|
el: "#app",
|
|
mixins: [initTableMixins],
|
|
data: function () {
|
|
return {
|
|
activitys: [],
|
|
events: [],
|
|
pageForm: {//分页
|
|
pageNumber: 1,
|
|
pageSize: 10,
|
|
totalCount: 0,
|
|
searchKeyword: "",
|
|
hdlx: "",
|
|
hdxm: "",
|
|
year: new Date().getFullYear() + "",
|
|
},
|
|
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/activity/school/grades/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() {
|
|
this.flag();
|
|
},
|
|
|
|
flag() {
|
|
$.post(base + "/platform/activity/school/grades/findGrUser", this.grPageForm, (data) => {
|
|
if (data.code == 0) {
|
|
this.grTableData = data.data.list;
|
|
this.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 == 2) {
|
|
$.post(base + "/platform/activity/school/grades/findUnit", {id: scope.row.id}, function (data) {
|
|
if (data.code == 0) {
|
|
self.unitSel = data.data;
|
|
|
|
}
|
|
}, "json");
|
|
setTimeout(function () {
|
|
$.post(base + "/platform/activity/school/grades/findSaveCj", {
|
|
id: scope.row.id,
|
|
eventId: scope.row.eventId
|
|
}, 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 == 1) {
|
|
self.grPageForm.id = scope.row.id;
|
|
self.grPageForm.eventId = scope.row.eventId;
|
|
self.active = "1";
|
|
$.post(base + "/platform/activity/school/grades/findGrUser", self.grPageForm, (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/activity/school/grades/findGrCj", {
|
|
id: scope.row.id,
|
|
eventId: scope.row.eventId
|
|
}, 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/activity/school/grades/findCyRy", {
|
|
unitid: scope.row.unitId,
|
|
activityId: 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({
|
|
activityId: self.temp.id,
|
|
eventId: self.temp.eventId,
|
|
mc: obj.mc,
|
|
unitId: obj.unitId,
|
|
hdms: self.temp.awardsMode,
|
|
jpmc: obj.jpmc,
|
|
money: obj.money,
|
|
jplx: self.jplx,
|
|
});
|
|
});
|
|
$.post(base + "/platform/activity/school/grades/tdDo", {
|
|
data: JSON.stringify(array),
|
|
activityId: self.temp.id,
|
|
}, 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({
|
|
activityId: self.temp.id,
|
|
eventId: self.temp.eventId,
|
|
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: async (a, b) => {
|
|
if ("confirm" == a) {
|
|
|
|
const resp = await $.post("/platform/activity/school/grades/tdDo", {
|
|
grades: JSON.stringify(array),
|
|
unitid: array.unitId,
|
|
eventId: eventId
|
|
})
|
|
if (resp.code===0){
|
|
self.pageData();
|
|
self.tdDialogVisible = false;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
},
|
|
|
|
grSave: function () {
|
|
var self = this;
|
|
var array = new Array();
|
|
self.multipleSelection.forEach(function (obj) {
|
|
array.push({
|
|
activityId: 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/activity/school/grades/grjxDo", {
|
|
data: JSON.stringify(array),
|
|
}, 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({
|
|
activityId: self.temp.id,
|
|
userId: obj.userid,
|
|
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/activity/school/grades/grjxDo", {
|
|
grades: JSON.stringify(array),
|
|
}, 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 getActivitys() {
|
|
const {data} = await $.get("/platform/activity/remind/getActivitys")
|
|
return data;
|
|
|
|
},
|
|
async getEvents() {
|
|
const resp = await $.post("/platform/activity/apply/getEvents", {activityId: this.pageForm.activityId})
|
|
this.events = resp
|
|
}
|
|
|
|
},
|
|
async created() {
|
|
this.pageData();
|
|
this.activitys = await this.getActivitys()
|
|
/*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>
|
|
<!--#
|
|
}
|
|
#-->
|