607 lines
24 KiB
HTML
607 lines
24 KiB
HTML
<!--#
|
|
layout("/layouts/platform.html"){
|
|
#-->
|
|
<style>
|
|
.demo-table-expand {
|
|
font-size: 0;
|
|
}
|
|
|
|
.demo-table-expand label {
|
|
width: 90px;
|
|
color: #99a9bf;
|
|
}
|
|
|
|
.demo-table-expand .el-form-item {
|
|
margin-right: 0;
|
|
margin-bottom: 0;
|
|
width: 50%;
|
|
}
|
|
|
|
.el-table .warning-row {
|
|
color: red;
|
|
}
|
|
</style>
|
|
<div id="app">
|
|
<!-- 头部 -->
|
|
<el-row class="header navbar bg-white shadow">
|
|
<div class="btn-group tool-button mt5">
|
|
|
|
<div class="block">
|
|
<el-date-picker
|
|
v-model="pageForm.time"
|
|
type="year"
|
|
placeholder="选择年"
|
|
value-format="yyyy">
|
|
</el-date-picker>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="btn-group tool-button mt5">
|
|
<el-select v-model="pageForm.jr" style="width: 160px" clearable placeholder="请选择发放节日">
|
|
<el-option
|
|
v-for="item in jjr"
|
|
:key="item"
|
|
:label="item"
|
|
:value="item">
|
|
</el-option>
|
|
</el-select>
|
|
</div>
|
|
<div class="btn-group tool-button mt5">
|
|
<el-input type="text" v-model="pageForm.searchName" clearable="true" placeholder="请输入福利项目"
|
|
style="width:150px">
|
|
</el-input>
|
|
</div>
|
|
<div class="btn-group tool-button mt5">
|
|
<el-button icon="el-icon-search" @click="pageForm.pageNumber=1;pageData()"
|
|
style="background-color:#409eff;color: white;"></el-button>
|
|
</div>
|
|
<div class="pull-right offscreen-right mt5" style="margin-right: 10px">
|
|
<el-button size="medium" @click="addlp"><i class="el-icon-present"></i> 新建福利项目
|
|
</el-button>
|
|
</div>
|
|
|
|
</el-row>
|
|
|
|
<!--数据-->
|
|
<el-row class="el-table-container">
|
|
<el-table
|
|
|
|
:data="tableData"
|
|
size="small"
|
|
header-align="center"
|
|
style="width: 100%"
|
|
>
|
|
<el-table-column type="expand">
|
|
<template slot-scope="props">
|
|
<el-form label-position="left" inline class="demo-table-expand">
|
|
<el-form-item label="弹性福利" v-for="o in props.row.hxlps">
|
|
<span>{{ o.lp_name }}</span>
|
|
</el-form-item>
|
|
</el-form>
|
|
</template>
|
|
</el-table-column>
|
|
<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
|
|
width="80"
|
|
prop="lp_year"
|
|
label="年份"
|
|
header-align="center"
|
|
align="center">
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop="lp_ms"
|
|
label="福利项目"
|
|
header-align="center"
|
|
align="center"
|
|
:show-overflow-tooltip="true">
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop="lp_jjr"
|
|
label="节假日"
|
|
header-align="center"
|
|
align="center"
|
|
>
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop="lp_name"
|
|
label="发放福利内容"
|
|
header-align="center"
|
|
align="center">
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop="unionname"
|
|
label="所属工会"
|
|
header-align="center"
|
|
align="center"
|
|
:show-overflow-tooltip="true">
|
|
<template scope="scope">
|
|
<span v-if="scope.row.unionname!=null">{{scope.row.unionname}}</span>
|
|
<span v-else>校工会</span>
|
|
</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
|
prop="userOnline"
|
|
label="操作"
|
|
header-align="center"
|
|
width="450px"
|
|
align="center">
|
|
<template slot-scope="scope">
|
|
|
|
<!--# if(@shiro.hasRole('sysadmin')||@shiro.hasRole('flwyh01')||@shiro.hasRole('A06')){ #-->
|
|
<el-button size="mini" :disabled="scope.row.flrs==0?false:true" @click="doffmd(scope.row.lp_id)">
|
|
生成福利名单
|
|
</el-button>
|
|
<!--# } else {#-->
|
|
<template v-if="scope.row.lp_ssgh">
|
|
<el-button size="mini" :disabled="scope.row.flrs==0?false:true"
|
|
@click="doffmd(scope.row.lp_id)">生成福利名单
|
|
</el-button>
|
|
</template>
|
|
<!--# } #-->
|
|
|
|
<el-button size="mini" :disabled="scope.row.flrs==0?true:false"
|
|
@click="exportFFmd(scope.row.lp_id)">导出名单
|
|
</el-button>
|
|
|
|
<!--# if(@shiro.hasRole('sysadmin')||@shiro.hasRole('flwyh01')||@shiro.hasRole('A06')){ #-->
|
|
<el-button type="success" size="mini" @click="openEdit(scope.row)">编辑</el-button>
|
|
<el-button type="danger" size="mini" @click="doDelete(scope.row)">删除
|
|
</el-button>
|
|
<!--# } else {#-->
|
|
<template v-if="scope.row.lp_ssgh">
|
|
<el-button type="success" size="mini" @click="openEdit(scope.row)">编辑</el-button>
|
|
<el-button type="danger" size="mini" @click="doDelete(scope.row)">删除
|
|
</el-button>
|
|
</template>
|
|
<!--# } #-->
|
|
|
|
</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
|
|
custom-class="ViewDialogClass"
|
|
title="新建福利"
|
|
:close-on-click-modal="false"
|
|
:visible.sync="addDialogVisible"
|
|
width="35%">
|
|
<el-form :model="formData" ref="jrlpForm" size="small" label-width="80px">
|
|
<el-form-item label="福利名称">
|
|
<el-input v-model="formData.lp_ms" placeholder="请填写福利名称(例:中秋节福利)"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="发放节日">
|
|
<el-select v-model="formData.lp_jjr" style="width: 100%" placeholder="请选择发放节日">
|
|
<el-option
|
|
v-for="item in jjr"
|
|
:key="item"
|
|
:label="item"
|
|
:value="item">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="是否弹性">
|
|
<el-switch v-model="formData.lp_sfhx"></el-switch>
|
|
</el-form-item>
|
|
<el-form-item label="截止时间" v-if="formData.lp_sfhx">
|
|
<div class="block">
|
|
<el-date-picker
|
|
format="yyyy-MM-dd"
|
|
value-format="yyyy-MM-dd"
|
|
v-model="formData.lp_jzrq"
|
|
type="date"
|
|
:picker-options="pickerOptions"
|
|
placeholder="选择日期">
|
|
</el-date-picker>
|
|
</div>
|
|
</el-form-item>
|
|
<el-form-item label="主 福 利">
|
|
<el-input v-model="formData.lp_name" placeholder="请填写主福利"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="弹性福利" v-if="formData.lp_sfhx">
|
|
<el-row v-for="lp,index in formData.hxlp" style="margin-bottom: 10px">
|
|
|
|
<el-col :span="19">
|
|
<el-input size="mini" style="width: 95%" placeholder="请填写礼品名"
|
|
v-model="lp.lp_name"
|
|
></el-input>
|
|
</el-col>
|
|
<el-col :span="3">
|
|
<el-radio v-model="sfmr" :label="index" @change="mr(index)">默认</el-radio>
|
|
</el-col>
|
|
<el-col :span="1">
|
|
<el-button type="danger" size="mini" icon="el-icon-delete"
|
|
@click="delJrlp(index)"></el-button>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row style="margin-top: 15px">
|
|
<el-col :span="1"> </el-col>
|
|
<el-col :span="1"> </el-col>
|
|
<el-col :span="8"> </el-col>
|
|
<el-col :span="12"> </el-col>
|
|
<el-col :span="1">
|
|
<el-button @click="addhxlp" type="warning" size="mini"
|
|
icon="el-icon-plus"></el-button>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form-item>
|
|
</el-form>
|
|
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="addDialogVisible = false">取 消</el-button>
|
|
<el-button type="primary" @click="save">保 存</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
|
|
<el-dialog
|
|
custom-class="ViewDialogClass"
|
|
title="编辑福利"
|
|
:close-on-click-modal="false"
|
|
:visible.sync="editDialogVisible"
|
|
width="35%">
|
|
<el-form :model="formData" ref="jrlpForm" size="small" label-width="80px">
|
|
<el-form-item label="福利名称">
|
|
<el-input v-model="formData.lp_ms" placeholder="请填写福利名称(例:中秋节福利)"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="发放节日">
|
|
<el-select v-model="formData.lp_jjr" style="width: 100%" placeholder="请选择发放节日">
|
|
<el-option
|
|
v-for="item in jjr"
|
|
:key="item"
|
|
:label="item"
|
|
:value="item">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="是否弹性">
|
|
<el-switch v-model="formData.lp_sfhx"></el-switch>
|
|
</el-form-item>
|
|
<el-form-item label="截止时间" v-if="formData.lp_sfhx">
|
|
<div class="block">
|
|
<el-date-picker
|
|
format="yyyy-MM-dd"
|
|
value-format="yyyy-MM-dd"
|
|
v-model="formData.lp_jzrq"
|
|
type="date"
|
|
:picker-options="pickerOptions"
|
|
placeholder="选择日期">
|
|
</el-date-picker>
|
|
</div>
|
|
</el-form-item>
|
|
<el-form-item label="主 福 利">
|
|
<el-input v-model="formData.lp_name" placeholder="请填写主福利"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="弹性福利" v-if="formData.lp_sfhx">
|
|
<el-row v-for="lp,index in formData.hxlp" style="margin-bottom: 10px">
|
|
|
|
<el-col :span="19">
|
|
<el-input size="mini" style="width: 95%" placeholder="请填写礼品名"
|
|
v-model="lp.lp_name"
|
|
></el-input>
|
|
</el-col>
|
|
<el-col :span="3">
|
|
<el-radio v-model="sfmr" :label="index" @change="mr(index)">默认</el-radio>
|
|
</el-col>
|
|
<el-col :span="1">
|
|
<el-button type="danger" size="mini" icon="el-icon-delete"
|
|
@click="delJrlp(index)"></el-button>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row style="margin-top: 15px">
|
|
<el-col :span="1"> </el-col>
|
|
<el-col :span="1"> </el-col>
|
|
<el-col :span="8"> </el-col>
|
|
<el-col :span="12"> </el-col>
|
|
<el-col :span="1">
|
|
<el-button @click="addhxlp" type="warning" size="mini"
|
|
icon="el-icon-plus"></el-button>
|
|
</el-col>
|
|
</el-row>
|
|
</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
|
|
custom-class="ViewDialogClass"
|
|
title="发放名单"
|
|
top="50px"
|
|
:visible.sync="ffmdDialogVisible"
|
|
width="50%">
|
|
|
|
<el-table :row-class-name="tableRowClassName" :data="ffmd" size="small" max-height="600">
|
|
|
|
<el-table-column align="center" header-align="center" width="140" label="工会" prop="unionname">
|
|
</el-table-column>
|
|
<el-table-column align="center" header-align="center" label="是否确认人员">
|
|
<template scope="scope">
|
|
<el-tag type="success" v-if="scope.row.sum!='0'">是</el-tag>
|
|
<el-tag type="errror" v-else>否</el-tag>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" header-align="center" label="联系人" prop="lxr">
|
|
<template scope="scope">
|
|
<span v-if="scope.row.lxr==''||scope.row.lxr==undefined">
|
|
暂无
|
|
</span>
|
|
<span v-else>
|
|
{{scope.row.lxr}}
|
|
</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" header-align="center" label="应发人数" prop="yf">
|
|
</el-table-column>
|
|
<el-table-column align="center" header-align="center" label="会员实发" prop="fts">
|
|
</el-table-column>
|
|
<el-table-column align="center" header-align="center" label="特殊人员" prop="ts">
|
|
</el-table-column>
|
|
<el-table-column align="center" header-align="center" label="发放总人数" prop="sum">
|
|
</el-table-column>
|
|
</el-table>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="ffmdDialogVisible = false">关 闭</el-button>
|
|
|
|
</span>
|
|
</el-dialog>
|
|
</div>
|
|
<script>
|
|
const vm = new Vue({
|
|
el: "#app",
|
|
data() {
|
|
return {
|
|
pageForm: {
|
|
pageNumber: 1,
|
|
pageSize: 10,
|
|
totalCount: 0,
|
|
jr: "",
|
|
time: moment().format('YYYY')
|
|
},
|
|
jjr: ['元旦', '春节', '清明节', '劳动节', '端午节', '中秋节', '国庆节', '其它'],
|
|
tableData: [],
|
|
addDialogVisible: false,
|
|
formData: {lp_sfhx: false, hxlp: []},
|
|
sfmr: 0,
|
|
ffmdDialogVisible: false,
|
|
ffmd: [],
|
|
pickerOptions: {
|
|
disabledDate(time) {
|
|
return time.getTime() < Date.now() - 8.64e6
|
|
}
|
|
},
|
|
editDialogVisible: false,
|
|
}
|
|
},
|
|
methods: {
|
|
exportFFmd(lp_id) {
|
|
window.location.href = '/platform/zgfw/lpffgl/exportFFmd?lp_id=' + lp_id
|
|
},
|
|
doEdit() {
|
|
if (!this.formData.lp_sfhx) {
|
|
this.formData.hxlp = []
|
|
}
|
|
$.post(base + "/platform/zgfw/lpffgl/doedit", {zgfw_jjrlp: JSON.stringify(this.formData)}, (data) => {
|
|
if (data.code === 0) {
|
|
this.$message.success(data.msg);
|
|
this.pageData();
|
|
this.editDialogVisible = false
|
|
} else {
|
|
this.$message.error(data.msg);
|
|
}
|
|
})
|
|
},
|
|
doffmd(id) {
|
|
var self = this;
|
|
this.$confirm('生成福利名单之前,请确保会员数据已更新!', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning',
|
|
callback(a, b) {
|
|
if ("confirm" == a) {//确认后再执行
|
|
const loading = self.$loading({
|
|
lock: true,
|
|
text: 'loading',
|
|
spinner: 'el-icon-loading',
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
});
|
|
$.post(base + "/platform/zgfw/lpffgl/doffmd", {id: id}, function (data) {
|
|
if (data.code == 0) {
|
|
self.$message({
|
|
message: data.msg,
|
|
type: 'success'
|
|
});
|
|
self.pageData();
|
|
} else {
|
|
self.$message({
|
|
message: data.msg,
|
|
type: 'error'
|
|
});
|
|
}
|
|
loading.close();
|
|
})
|
|
}
|
|
}
|
|
});
|
|
|
|
},
|
|
|
|
async findOne(id) {
|
|
const {data} = await $.get("/platform/zgfw/lpffgl/findOne", {id})
|
|
return data
|
|
},
|
|
async openEdit(row) {
|
|
this.formData = await this.findOne(row.lp_id)
|
|
this.editDialogVisible = true;
|
|
},
|
|
pageNumberChange(val) {//页码更新操作
|
|
this.pageForm.pageNumber = val;
|
|
this.pageData();
|
|
},
|
|
pageSizeChange(val) {//分页大小更新操作
|
|
this.pageForm.pageSize = val;
|
|
this.pageData();
|
|
},
|
|
delJrlp(index) {
|
|
this.formData.hxlp.splice(index, 1);
|
|
},
|
|
addlp() {
|
|
this.formData = {lp_sfhx: false, hxlp: []}
|
|
this.addDialogVisible = true
|
|
},
|
|
save() {
|
|
$.post(base + "/platform/zgfw/lpffgl/add", {zgfw_jjrlp: JSON.stringify(this.formData)}, (data) => {
|
|
if (data.code == 0) {
|
|
this.$message.success(data.msg);
|
|
this.pageData();
|
|
this.addDialogVisible = false
|
|
} else {
|
|
this.$message.error(data.msg);
|
|
}
|
|
})
|
|
},
|
|
pageData() {
|
|
$.post(base + "/platform/zgfw/lpffgl/data", this.pageForm, (data) => {
|
|
this.tableData = data.data.list;
|
|
this.pageForm.totalCount = data.data.totalCount;
|
|
})
|
|
},
|
|
mr(index) {
|
|
|
|
this.formData.hxlp.forEach(function (value) {
|
|
value.lp_sfmr = '0'
|
|
})
|
|
this.formData.hxlp[index].lp_sfmr = '1'
|
|
console.log(this.formData.hxlp)
|
|
},
|
|
tableRowClassName(row, rowIndex) {
|
|
|
|
if (row.row.wf != 0) {
|
|
return 'warning-row';
|
|
}
|
|
return '';
|
|
},
|
|
toffmd(id) {
|
|
var self = this;
|
|
$.post(base + "/platform/zgfw/lpffgl/ffmds", {ghid: id}, function (data) {
|
|
self.ffmd = data.data
|
|
self.ffmdDialogVisible = true;
|
|
})
|
|
},
|
|
todc(id) {
|
|
var self = this;
|
|
this.$confirm('确定要开始调查吗', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning',
|
|
callback(a, b) {
|
|
if ("confirm" == a) {//确认后再执行
|
|
$.post(base + "/platform/zgfw/lpffgl/dc", {lp_id: id}, function (data) {
|
|
if (data.code == 0) {
|
|
self.$message({
|
|
message: data.msg,
|
|
type: 'success'
|
|
});
|
|
self.pageData();
|
|
} else {
|
|
self.$message({
|
|
message: data.msg,
|
|
type: 'error'
|
|
});
|
|
}
|
|
})
|
|
}
|
|
}
|
|
});
|
|
},
|
|
addhxlp() {
|
|
if (this.formData.hxlp == "") {
|
|
this.formData.hxlp.push({lp_sfmr: '1'})
|
|
} else {
|
|
this.formData.hxlp.push({lp_sfmr: '0'})
|
|
}
|
|
|
|
},
|
|
fflp(row) {
|
|
var self = this;
|
|
var oDate1 = new Date(row.lp_jzrq);
|
|
var oDate2 = new Date(moment().format('YYYY-MM-DD'));
|
|
if (oDate1.getTime() > oDate2.getTime()) {
|
|
self.$message({
|
|
message: '当前活动正在调查中',
|
|
type: 'warning'
|
|
});
|
|
|
|
} else {
|
|
$.post(base + "/platform/zgfw/lpffgl/fflp", {id: row.lp_id}, function (data) {
|
|
if (data.code == 0) {
|
|
self.$message({
|
|
message: data.msg,
|
|
type: 'success'
|
|
});
|
|
self.pageData();
|
|
} else {
|
|
self.$message({
|
|
message: data.msg,
|
|
type: 'error'
|
|
});
|
|
}
|
|
})
|
|
|
|
}
|
|
},
|
|
doDelete(row) {
|
|
var self = this;
|
|
this.$confirm('本操作同时删除福利名单,确定要删除吗', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning',
|
|
callback(a, b) {
|
|
if ("confirm" == a) {//确认后再执行
|
|
$.post(base + "/platform/zgfw/lpffgl/del", {lp_id: row.lp_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() {
|
|
this.pageData();
|
|
}
|
|
})
|
|
</script>
|
|
<!--#
|
|
}
|
|
#--> |