291 lines
13 KiB
HTML
291 lines
13 KiB
HTML
<!--#
|
|
layout("/layouts/platform.html"){
|
|
#-->
|
|
<style>
|
|
.flexbox {
|
|
display: flex;
|
|
}
|
|
|
|
.flexbox .el-form-item {
|
|
width: 50%;
|
|
}
|
|
|
|
.el-form .el-select, .el-form .el-date-editor {
|
|
width: 100%;
|
|
}
|
|
|
|
.el-loading-spinner {
|
|
font-size: 30px;
|
|
}
|
|
|
|
.el-divider {
|
|
background-color: #409EFF;
|
|
}
|
|
|
|
.el-divider__text {
|
|
color: #409EFF;
|
|
}
|
|
|
|
</style>
|
|
<div id="app" v-cloak>
|
|
<transition name="el-zoom-in-center">
|
|
<div v-show="smm.status==='table'">
|
|
<el-row class="header navbar bg-white shadow">
|
|
<div class="btn-group tool-button mt5">
|
|
<el-date-picker
|
|
placeholder="年度"
|
|
value-format="yyyy"
|
|
format="yyyy年"
|
|
v-model="pageForm.year"
|
|
type="year">
|
|
</el-date-picker>
|
|
</div>
|
|
<div class="btn-group tool-button mt5">
|
|
</div>
|
|
<div class="btn-group tool-button mt5">
|
|
<el-button icon="el-icon-search" @click="doSearch" type="primary"></el-button>
|
|
</div>
|
|
</el-row>
|
|
|
|
<el-row class="el-table-container">
|
|
<el-table :data="tableData" @sort-change='pageOrder'>
|
|
<el-table-column label="序号" type="index">
|
|
<template scope="scope"><span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="sqrusername" label="申请人"></el-table-column>
|
|
<el-table-column prop="wwrusername" label="被慰问人"></el-table-column>
|
|
<el-table-column prop="wwbm" label="慰问部门"></el-table-column>
|
|
<el-table-column prop="wwuserzc" label="职称"></el-table-column>
|
|
<el-table-column prop="wwsqje" label="申请金额(元)"></el-table-column>
|
|
<el-table-column prop="planwwsj" label="拟慰问时间"></el-table-column>
|
|
<el-table-column sortable prop="sqsj" label="申请时间"></el-table-column>
|
|
<el-table-column sortable prop="status" label="状态">
|
|
<template scope="{row}">
|
|
<span v-if="row.status==0">待申请人修改</span>
|
|
<span v-if="row.status==1">待基层工会审核</span>
|
|
<span v-if="row.status==2">待校工会审核</span>
|
|
<span v-if="row.status==3">基层工会审核不通过</span>
|
|
<span v-if="row.status==4">校工会审核不通过</span>
|
|
<span v-if="row.status==5">审核通过</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
label="操作"
|
|
width="300">
|
|
<template slot-scope="{row}">
|
|
<el-button size="mini" @click="openView(row)">查看</el-button>
|
|
<el-button v-if="row.status===5" size="mini" @click="exportWwj(row.id)">导出</el-button>
|
|
<el-button v-if="[0,1].includes(row.status)" type="primary" size="mini"
|
|
@click="openEdit(row)">编辑
|
|
</el-button>
|
|
<el-button v-if="[0,1].includes(row.status)" type="danger" size="mini"
|
|
@click="doDelete(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>
|
|
|
|
<el-dialog title="慰问金申请信息编辑" top="5%" :visible.sync="editDialogVisible" width="65%">
|
|
<div slot="header">
|
|
慰问金申请
|
|
</div>
|
|
<el-form :model="formData" label-width="120px" ref="editForm" :rules="formRules">
|
|
<el-divider content-position="left">基本信息</el-divider>
|
|
<el-form-item label="申请人">
|
|
<el-input placeholder="姓名" value="${@shiro.getPrincipalProperty('username')}"
|
|
readonly="true"></el-input>
|
|
</el-form-item>
|
|
<div class="flexbox">
|
|
<el-form-item label="慰问对象" prop="wwuserid">
|
|
<el-select v-model="formData.wwuserid"
|
|
@change="wwuserChange"
|
|
filterable
|
|
remote
|
|
clearable
|
|
reserve-keyword
|
|
placeholder="输入工号或姓名查找,职称和慰问部门会自动匹配,如果缺失请手动补全"
|
|
:remote-method="querySqr">
|
|
<el-option v-for="o in wwuserlist" :label="o.username+'-'+o.loginname" :value="o.id"
|
|
:key="o.id"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="职称" prop="wwuserzc">
|
|
<el-input v-model="formData.wwuserzc"></el-input>
|
|
</el-form-item>
|
|
</div>
|
|
<div>
|
|
<el-form-item label="慰问部门" prop="wwbm">
|
|
<el-input v-model="formData.wwbm"></el-input>
|
|
</el-form-item>
|
|
</div>
|
|
<div class="flexbox">
|
|
<el-form-item label="拟慰问时间" prop="planwwsj">
|
|
<el-date-picker value-format="yyyy-MM-dd" v-model="formData.planwwsj">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item label="申请金额(元)" prop="wwsqje">
|
|
<el-input-number v-model="formData.wwsqje"
|
|
precision="1"
|
|
:controls="false"
|
|
min="0.0"
|
|
max="10000.0"
|
|
></el-input-number>
|
|
</el-form-item>
|
|
</div>
|
|
<div>
|
|
<el-form-item label="申请事由" prop="wwsqsy">
|
|
<el-input placeholder="请填写慰问金申请事由" type="textarea" :autosize="{ minRows: 4, maxRows: 8}"
|
|
maxlength="1000" v-model.trim="formData.wwsqsy"></el-input>
|
|
</el-form-item>
|
|
</div>
|
|
<div>
|
|
<sign prefix="wwjsq" :qz.sync="formData.sqrqz"></sign>
|
|
</div>
|
|
</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>
|
|
</transition>
|
|
|
|
|
|
<wwj-info :smm.sync="smm"/>
|
|
|
|
</div>
|
|
<script>
|
|
const rules = {
|
|
wwuserid: [{required: true, message: '请查询并选择慰问对象', trigger: ['blur', 'change']}],
|
|
wwuserzc: [{required: true, message: '请填写慰问对象职称', trigger: ['blur', 'change']}],
|
|
planwwsj: [{required: true, message: '请填写拟慰问时间', trigger: ['blur', 'change']}],
|
|
wwsqje: [{required: true, message: '请填写申请金额(元)', trigger: ['blur', 'change']}],
|
|
wwsqsy: [{required: true, message: '请填写申请事由', trigger: ['blur', 'change']}],
|
|
wwbm: [{required: true, message: '请填写慰问部门', trigger: ['blur', 'change']}]
|
|
}
|
|
|
|
let vue = new Vue({
|
|
el: '#app',
|
|
mixins: [ddmixins],
|
|
components: {
|
|
'wwj-info': httpVueLoader('/components/zgfw/wwj/wwj.vue'),
|
|
'sign':httpVueLoader('/components/sign/sign.vue?v=1.0.0')
|
|
},
|
|
data() {
|
|
return {
|
|
smm:{status:'table',id:''},
|
|
wwuserlist: [],
|
|
tableData: [],
|
|
formData: {},
|
|
editDialogVisible: false,
|
|
formRules: rules,
|
|
pageForm:{
|
|
year:moment().format('YYYY')
|
|
}
|
|
}
|
|
},
|
|
methods: {
|
|
async querySqr(key) {
|
|
const data = await selectUser(key, 10)
|
|
this.wwuserlist = data.list
|
|
},
|
|
wwuserChange(val) {
|
|
if (val === '') {
|
|
this.$set(this.formData, 'wwuserzc', '')
|
|
this.$set(this.formData, 'wwbm', '')
|
|
} else {
|
|
let u = this.wwuserlist.find(u => u.id = val)
|
|
this.$set(this.formData, 'wwuserzc', u.zc)
|
|
this.$set(this.formData, 'wwbm', u.dwname)
|
|
}
|
|
},
|
|
pageData() {
|
|
$.post('/platform/zgfw/wwjsqxx/pageData', this.pageForm).then(res => {
|
|
if (res.code === 0) {
|
|
if (res.data.list.length === 0 && this.pageForm.pageNumber > 1) {
|
|
this.pageForm.pageNumber = this.pageForm.pageNumber - 1;
|
|
this.pageData();
|
|
}
|
|
this.tableData = res.data.list;
|
|
this.pageForm.totalCount = res.data.totalCount;
|
|
} else {
|
|
this.$message.error(res.msg);
|
|
}
|
|
});
|
|
},
|
|
doDelete(id) {
|
|
this.$confirm('是否确定删除该申请记录?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(()=>{
|
|
$.post(base + '/platform/zgfw/wwjsqxx/doDelete', {id: id}).then(res => {
|
|
if (res.code === 0) {
|
|
this.$message.success('删除成功!');
|
|
this.doSearch();
|
|
}
|
|
})
|
|
}).catch(()=>{})
|
|
},
|
|
openEdit(row) {
|
|
if (this.$refs["editForm"]) {
|
|
this.$refs["editForm"].resetFields();
|
|
}
|
|
this.wwuserlist = [{
|
|
username:row.wwrusername,
|
|
loginname:row.wwrloginname,
|
|
id:row.wwuserid,
|
|
dwname:row.wwbm,
|
|
zc:row.wwuserzc}]
|
|
this.formData = row
|
|
this.editDialogVisible = true
|
|
},
|
|
doEdit() {
|
|
this.$refs["editForm"].validate(valid => {
|
|
if (valid) {
|
|
$.post('/platform/zgfw/wwjsqxx/doEdit', this.formData).then(res => {
|
|
if (res.code === 0) {
|
|
this.editDialogVisible = false
|
|
this.$message.success(res.msg)
|
|
this.pageData()
|
|
}
|
|
})
|
|
}
|
|
});
|
|
},
|
|
openView(row){
|
|
this.smm={
|
|
status: 'detail',
|
|
id:row.id,
|
|
data:row,
|
|
activeName:'1'
|
|
}
|
|
},
|
|
exportWwj(id) {
|
|
window.location='/platform/zgfw/wwjsqxx/export?id=' + id
|
|
}
|
|
},
|
|
created() {
|
|
this.pageData()
|
|
}
|
|
})
|
|
</script>
|
|
|
|
<!--#
|
|
}
|
|
#-->
|