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

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>
<!--#
}
#-->