Files
UNION_HUTB/target/classes/views/platform/fw/zgfl/jrlpgl.html
T
2026-09-09 09:14:28 +08:00

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="主&ensp;福&ensp;利">
<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">&nbsp;</el-col>
<el-col :span="1">&nbsp;</el-col>
<el-col :span="8">&nbsp;</el-col>
<el-col :span="12">&nbsp;</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="主&ensp;福&ensp;利">
<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">&nbsp;</el-col>
<el-col :span="1">&nbsp;</el-col>
<el-col :span="8">&nbsp;</el-col>
<el-col :span="12">&nbsp;</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>
<!--#
}
#-->