first commit
This commit is contained in:
@@ -0,0 +1,353 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
.el-divider--horizontal {
|
||||
margin-top: 50px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava>
|
||||
<el-card shadow="never">
|
||||
<div slot="header" class="clearfix">
|
||||
<h3 style="color: #1867b0">填写申请信息</h3>
|
||||
</div>
|
||||
<el-form :model="formData" ref="addform" :rules="formRules" label-width="120px">
|
||||
<el-row :gutter="20">
|
||||
<!--#if(@shiro.hasRole('sysadmin') || @shiro.hasRole('ghzl') ){#-->
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="sqrusername" label="姓名">
|
||||
<el-select
|
||||
style="width: 100%"
|
||||
v-model="formData.sqrusername"
|
||||
@change="userChange"
|
||||
filterable
|
||||
remote
|
||||
reserve-keyword
|
||||
placeholder="请输入姓名查找"
|
||||
:disabled="isModify"
|
||||
:remote-method="getSelfUnionUser">
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.id"
|
||||
:label="item.username"
|
||||
:value="item.username">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!--#}else{#-->
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="sqrusername" label="姓名">
|
||||
<el-input disabled v-model="formData.sqrusername"
|
||||
type="text">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!--#}#-->
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="sqrloginname" label="工号">
|
||||
<el-input disabled v-model="formData.sqrloginname"
|
||||
type="text"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="sex" label="性别">
|
||||
<el-select v-model="formData.sex" placeholder="请选择性别" clearable
|
||||
:disabled="formData.apply_mode==1" style="width: 100%">
|
||||
<el-option v-for="item in ['男','女']" :key="item" :label="item" :value="item">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="birthday" label="出生年月">
|
||||
<el-date-picker
|
||||
clearable
|
||||
style="width: 100%"
|
||||
v-model="formData.birthday"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="选择出生年月">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="lxfs" label="联系电话">
|
||||
<el-input maxlength="100" clearable placeholder="请填写联系电话" v-model="formData.lxfs"
|
||||
type="text"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="unitname" label="所在单位">
|
||||
<el-input maxlength="100" clearable placeholder="所在单位" v-model="formData.unitname"
|
||||
readonly
|
||||
type="text"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="unionname" label="所在分工会">
|
||||
<el-input maxlength="100" clearable placeholder="所在分工会" v-model="formData.unionname"
|
||||
readonly
|
||||
type="text"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="补助类型" prop="sq_bzlx">
|
||||
<el-select v-model="formData.sq_bzlx" @change="$set(formData,'sq_knlx','')"
|
||||
@clear="$set(formData,'sq_knlx','')" style="width: 100%">
|
||||
<el-option v-for="(v,k) in difficulty.subsidy" :label="v" :value="k"
|
||||
:key="k"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="困难类型" prop="sq_knlx">
|
||||
<el-select v-model="formData.sq_knlx" clearable style="width: 100%">
|
||||
<el-option v-for="(v,k) in difficulty.getHard(formData.sq_bzlx)" :key="k" :value="k"
|
||||
:label="v"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item prop="apply_reason" label="申请原因">
|
||||
<el-input maxlength="500" :autosize="{ minRows: 5, maxRows: 10}" placeholder="请简述申请原因"
|
||||
clearable
|
||||
v-model="formData.apply_reason"
|
||||
type="textarea"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="files" label="申请附件">
|
||||
<file-upload :files.sync="formData.files" card></file-upload>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="sqsign" label="申请签字">
|
||||
<sign :qz.sync="formData.sqsign"></sign>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
<div style="float: right;margin: 20px 0">
|
||||
<el-button type="primary" @click="operation">
|
||||
{{formData.zt==150?'重新提交':'提交'}}
|
||||
</el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
</guava>
|
||||
<el-dialog
|
||||
title="申请须知"
|
||||
:visible.sync="dialogVisible"
|
||||
width="60%">
|
||||
<h2 style="text-align: center;"><span
|
||||
style="font-family: 黑体;"><strong>关于开展“送温暖”活动的通知</strong></span></h2>
|
||||
<p style="text-align: left;"><span style="color: black;">各分工会:</span></p>
|
||||
<p style="text-indent: 32pt; text-align: left;"><span style="color: black;">为进一步做好困难教职工帮扶关怀工作,根据校工会工作计划,经研究,拟定于2026年春节前夕对我校生活困难的在职教职工开展“送温暖”活动。现将有关事宜通知如下:</span>
|
||||
</p>
|
||||
<p style="text-indent: 32.15pt;"><strong>一、活动内容</strong></p>
|
||||
<p style="text-indent: 24pt;">根据“照顾重点,兼顾一般”的原则。请各分工会认真做好宣传、调查和申报工作,开展送温暖活动。
|
||||
</p>
|
||||
<p style="text-indent: 32.15pt;"><strong>二、慰问对象的条件</strong></p>
|
||||
<p style="text-indent: 32pt;">1.本年度会员身患重大疾病,造成生活特别困难的;</p>
|
||||
<p style="text-indent: 32pt;">
|
||||
2.本年度会员直系亲属(指会员本人的父母、配偶、子女)身患重大疾病,造成生活特别困难的;</p>
|
||||
<p style="text-indent: 32pt;">3.本年度会员家庭因遭遇突发重大事件,造成生活特别困难等其它特殊情况。</p>
|
||||
<p style="text-indent: 32.15pt;"><strong>三、工作要求</strong></p>
|
||||
<p style="text-indent: 32pt;">
|
||||
1.请各分工会对照条件,摸清困难教职工的致困原因和家庭生活等详情,做到不漏报,确保申报工作的准确性。</p>
|
||||
<p style="text-indent: 32pt;">
|
||||
2.对符合申报要求者,请登录“智慧工会”系统办理(“职工服务”→“爱心帮扶系统”→“帮扶申请”),由分工会会员本人填报或各分工会委员代为填报。申请困难补助原因务必详尽,并请提供相关支撑材料(凡申请重病补助者须持本年度市以上医院出院记录或病情诊断书)。填报截止时间:2025年12月25日(周四)下午5点。</p>
|
||||
<p style="text-indent: 32pt;">
|
||||
3.机关一/机关二/机关三分工会均归口机关党委书记网上审核,其它分工会由党总支书记/直属党支部书记网上审核。待校工会审批通过后,会自动生成表单,无需提交纸质单据。</p>
|
||||
<p style="text-indent: 32pt;">
|
||||
校工会对符合条件的在职教职工,可确定为“送温暖”慰问对象,慰问标准根据当年实际情况而定。</p>
|
||||
<p style="text-indent: 32pt; text-align: right;">
|
||||
南京体育学院工会委员会</p>
|
||||
<p style="text-indent: 256pt; text-align: right;">2025年12月18日 </p>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="dialogVisible = false">我已知晓</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
components: {
|
||||
'apply': httpVueLoader('/components/difficulty/apply.vue'),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dialogVisible: true,
|
||||
formData: {
|
||||
sq_bzlx: "1",
|
||||
sqsj: moment().format('YYYY-MM-DD'),
|
||||
apply_mode: '1',
|
||||
jtcys: [],
|
||||
},
|
||||
formRules: {
|
||||
sq_knlx: [{required: true, message: '请选择困难类型', trigger: ['blur', 'change']}],
|
||||
apply_reason: [{required: true, message: '请输入申请困难补助的原因', trigger: ['blur', 'change']}],
|
||||
files: [{required: true, message: '请上传附件', trigger: ['blur', 'change']}],
|
||||
sqsign: [{required: true, message: '请签字', trigger: ['blur', 'change']}]
|
||||
},
|
||||
userList: [],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
isModify() {
|
||||
return GetQueryString("id") != null && GetQueryString("id") !== ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'formData.sq_knlx'(val) {
|
||||
if (['1', '2'].includes(val)) {
|
||||
this.formRules.files[0].message = '请上传市以上医院病情诊断复印件壹份'
|
||||
} else {
|
||||
this.formRules.files[0].message = '请上传相关证明材料'
|
||||
}
|
||||
if (this.$refs.addform) {
|
||||
this.$refs.addform.validateField(['files'], (val) => {
|
||||
console.log(val)
|
||||
})
|
||||
}
|
||||
},
|
||||
'formData.files'(val) {
|
||||
if (this.$refs.addform) {
|
||||
this.$refs.addform.validateField(['files'], (val) => {
|
||||
console.log(val)
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
async getSelfUnionUser(keyword) {
|
||||
const {data} = await $.get(loc() + '/getSelfUnionUser', {keyword})
|
||||
this.userList = data
|
||||
},
|
||||
userChange(userId) {
|
||||
const user = this.userList.find(v => v.username === userId)
|
||||
this.$set(this.formData, 'sqr', user.id)
|
||||
this.$set(this.formData, 'sqrloginname', user.loginname)
|
||||
this.$set(this.formData, 'sex', user.sex)
|
||||
this.$set(this.formData, 'birthday', user.birthday)
|
||||
this.$set(this.formData, 'lxfs', user.mobile)
|
||||
this.$set(this.formData, 'unitname', user.unitname)
|
||||
this.$set(this.formData, 'unionname', user.unionname)
|
||||
|
||||
// this.formData = u
|
||||
},
|
||||
|
||||
async getUserData() {
|
||||
const {data, code, msg} = await $.post(loc() + "/getUserData")
|
||||
if (code === 0) {
|
||||
this.$set(this.formData, 'sqr', data.id)
|
||||
this.$set(this.formData, 'sqrusername', data.username)
|
||||
this.$set(this.formData, 'sqrloginname', data.loginname)
|
||||
this.$set(this.formData, 'sex', data.sex)
|
||||
this.$set(this.formData, 'birthday', data.birthday)
|
||||
this.$set(this.formData, 'lxfs', data.mobile)
|
||||
this.$set(this.formData, 'unitname', data.unitname)
|
||||
this.$set(this.formData, 'unionname', data.unionname)
|
||||
|
||||
} else {
|
||||
this.$notify.error({title: '失败', message: msg});
|
||||
}
|
||||
},
|
||||
async operation() {
|
||||
let method = this.formData.id ? "/doEdit" : "/doAdd"
|
||||
|
||||
this.$refs["addform"].validate(async (valid) => {
|
||||
if (valid) {
|
||||
this.$confirm('您确定要提交吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(async () => {
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '正在提交...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: COVER_LAYER_COLOR
|
||||
})
|
||||
const {code, msg} = await $.post(loc() + method, {
|
||||
"knbf": JSON.stringify(this.formData),
|
||||
"sqsign": this.formData.sqsign
|
||||
})
|
||||
loading.close()
|
||||
if (code === 0) {
|
||||
this.$notify.success({title: '成功', message: msg});
|
||||
sublime.jumpPagePjax('/platform/fw/difficulty/applylist')
|
||||
} else {
|
||||
this.$notify.error({title: '失败', message: msg});
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
/* this.$refs["addform"].validate(async (valid) => {
|
||||
if (valid) {*/
|
||||
// const loading = this.$loading({
|
||||
// lock: true,
|
||||
// text: '正在提交...',
|
||||
// spinner: 'el-icon-loading',
|
||||
// background: COVER_LAYER_COLOR
|
||||
// });
|
||||
// const formData = Object.assign({}, this.formData);
|
||||
// /*formData.jtcys = JSON.stringify(formData.jtcys)*/
|
||||
// formData.files = JSON.stringify(formData.files)
|
||||
// formData.applicantsign = formData.sqsign
|
||||
// if (formData.apply_mode == 1) {
|
||||
// formData.bbzrusername = "${@shiro.getPrincipalProperty('id')}"
|
||||
// }
|
||||
// const resp = await $.post(loc() + method, formData)
|
||||
// if (resp.code === 0) {
|
||||
// sublime.jumpPagePjax('/platform/fw/difficulty/applylist')
|
||||
// loading.close()
|
||||
// } else {
|
||||
// this.$notify.error({title: '失败', message: resp.msg});
|
||||
// loading.close()
|
||||
// }
|
||||
},
|
||||
|
||||
async openEdit(id) {
|
||||
const resp = await $.get("/platform/fw/difficulty/applylist/findOne", {id})
|
||||
if (resp.code === 0) {
|
||||
if (resp.data.files) {
|
||||
resp.data.files = JSON.parse(resp.data.files)
|
||||
}
|
||||
this.formData = resp.data
|
||||
}
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
const id = GetQueryString("id")
|
||||
if (id) {
|
||||
this.openEdit(id)
|
||||
} else {
|
||||
await this.getUserData()
|
||||
}
|
||||
// id ? this.openEdit(id) : this.radioButton()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,229 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<el-card shadow="never">
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<div class="block">
|
||||
<el-date-picker
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="年度">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="btn-group tool-button">-->
|
||||
<!-- <el-select placeholder="所属工会" v-model="pageForm.unionId" style="width: 100%;"-->
|
||||
<!-- clearable="true"-->
|
||||
<!-- @change="flushUnits" @clear="flushUnits"-->
|
||||
|
||||
<!-- v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('H03')}"-->
|
||||
|
||||
<!-- filterable="true">-->
|
||||
<!-- <el-option v-for="item in unions" :label="item.unionname"-->
|
||||
<!-- :value="item.id"></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- <div class="btn-group tool-button">-->
|
||||
<!-- <el-select placeholder="所属单位" v-model="pageForm.unitId" style="width: 100%;"-->
|
||||
<!-- clearable="true"-->
|
||||
<!-- filterable="true">-->
|
||||
<!-- <el-option v-for="item in units" :label="item.name"-->
|
||||
<!-- :value="item.id"></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="btn-group tool-button">-->
|
||||
<!-- <div>-->
|
||||
<!-- <el-input placeholder="请输入内容" v-model="pageForm.searchKeyword">-->
|
||||
<!-- <el-select v-model="pageForm.searchName" slot="prepend"-->
|
||||
<!-- placeholder="查询类型"-->
|
||||
<!-- style="width: 140px;">-->
|
||||
<!-- <el-option label="申请人工号" value="sqr.loginname"></el-option>-->
|
||||
<!-- <el-option label="申请人姓名" value="sqr.username"></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-input>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<div class="btn-group tool-button">
|
||||
<el-button type="primary" @click="doSearch" icon="el-icon-search"></el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="mt20">
|
||||
<el-table
|
||||
:data="tableData"
|
||||
style="width: 100%"
|
||||
@sort-change="pageOrder"
|
||||
>
|
||||
<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 align="center" header-align="center" prop="sqrname"
|
||||
label="申请人姓名"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="sqrloginname"
|
||||
label="工号"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="sex"
|
||||
label="性别"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="birthday"
|
||||
label="出生年月"></el-table-column>
|
||||
<el-table-column sortable show-overflow-tooltip align="center"
|
||||
header-align="center" prop="sqrunionname"
|
||||
label="分工会"></el-table-column>
|
||||
<el-table-column sortable show-overflow-tooltip align="center"
|
||||
header-align="center" prop="sqrunitname"
|
||||
label="单位"></el-table-column>
|
||||
<el-table-column prop="lxfs" label="联系方式" header-align="center" align="center"
|
||||
show-overflow-tooltip
|
||||
min-width="100"></el-table-column>
|
||||
<!-- <el-table-column prop="sq_knlx" label="困难类型" header-align="center"-->
|
||||
<!-- align="center"-->
|
||||
<!-- show-overflow-tooltip min-width="100">-->
|
||||
<!-- <template slot-scope="{row}">-->
|
||||
<!-- <span> {{ difficulty.sq_knlx[row.sq_knlx] }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
|
||||
<el-table-column sortable align="center" header-align="center" prop="sqsj"
|
||||
label="申请时间"></el-table-column>
|
||||
<el-table-column align="center" prop="state_id" header-align="center"
|
||||
label="申请状态" sortable>
|
||||
<template scope="scope">
|
||||
<span :style="'color:'+scope.row.statecolor">{{scope.row.state_name}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="操作" fixed="right"
|
||||
width="120px">
|
||||
<template slot-scope="{row}">
|
||||
<el-dropdown @command="dropdownCommand">
|
||||
<el-button plain size="mini">
|
||||
<i class="ti-settings"></i>
|
||||
<span class="ti-angle-down"></span>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="{type:'view',data:row}">
|
||||
查看
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
:disabled="![95,96,100,150,155,156,157].includes(row.zt)"
|
||||
:command="{type:'edit',data:row}">
|
||||
编辑
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :command="{type:'delete',data:row}"
|
||||
:loading="row.delLoading"
|
||||
:disabled="![155].includes(row.zt)">
|
||||
删除
|
||||
</el-dropdown-item>
|
||||
<!-- <el-dropdown-item :disabled="row.zt!=500"-->
|
||||
<!-- :command="{type:'export',data:row}">-->
|
||||
<!-- 导出审批表-->
|
||||
<!-- </el-dropdown-item>-->
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<info ref="info"></info>
|
||||
</template>
|
||||
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
components: {
|
||||
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
||||
'info': httpVueLoader('/components/difficulty/info.vue'),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
unit: "",
|
||||
year: "",
|
||||
searchName: "sqr.username"
|
||||
},
|
||||
unions: [],
|
||||
units: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
dropdownCommand(command) {
|
||||
const {type, data} = command
|
||||
if (type == 'view') {
|
||||
this.openView(data)
|
||||
} else if (type == 'delete') {
|
||||
this.doDelete(data)
|
||||
} else if (type == 'edit') {
|
||||
this.openEdit(data)
|
||||
} else if (type == 'export') {
|
||||
window.location.href = "/platform/fw/difficulty/reading/export?id=" + data.id
|
||||
}
|
||||
},
|
||||
dodownloadAnnex(id) {
|
||||
window.location.href = "/platform/fw/difficulty/applylist/downloadAnnex?id=" + id
|
||||
},
|
||||
openView(row) {
|
||||
const {id} = row
|
||||
this.$refs.info.getInfo(id)
|
||||
this.$refs.guava.view()
|
||||
},
|
||||
openEdit(row) {
|
||||
const {id} = row
|
||||
sublime.jumpPagePjax('/platform/fw/difficulty/apply?id=' + id)
|
||||
},
|
||||
doDelete(row) {
|
||||
const {id} = row
|
||||
this.$confirm('确定要删除吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: async (a, b) => {
|
||||
if ("confirm" == a) {//确认后再执行
|
||||
this.$set(row, "delLoading", true)
|
||||
const resp = await $.get(loc() + '/doDelete', {id: id})
|
||||
this.$set(row, "delLoading", false)
|
||||
if (resp.code === 0) {
|
||||
this.pageData()
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
async flushUnits() {
|
||||
this.$set(this.pageForm, "unitId", "")
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('H03')}" === 'true') {
|
||||
this.units = await getUnits(this.pageForm.unionId)
|
||||
} else {
|
||||
this.units = await getUnits("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.pageData()
|
||||
this.unions = await getUnions()
|
||||
this.flushUnits()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,241 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<el-card shadow="never">
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<div class="block">
|
||||
<el-date-picker clearable value-format="yyyy-MM-dd"
|
||||
v-model="pageForm._dateRange"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-select placeholder="所属工会" v-model="pageForm.unionId" style="width: 100%;"
|
||||
clearable="true"
|
||||
@change="flushUnits" @clear="flushUnits"
|
||||
|
||||
v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('wyh02')||@shiro.hasRole('wyh03')||@shiro.hasRole('H03')}"
|
||||
|
||||
filterable="true">
|
||||
<el-option v-for="item in unions" :label="item.unionname" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<el-select placeholder="所属单位" v-model="pageForm.unitId" style="width: 100%;"
|
||||
clearable="true"
|
||||
filterable="true">
|
||||
<el-option v-for="item in units" :label="item.name" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<div>
|
||||
<el-input placeholder="请输入内容" v-model="pageForm.searchKeyword" clearable>
|
||||
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询类型"
|
||||
style="width: 140px;">
|
||||
<el-option label="申请人工号" value="sqr.loginname"></el-option>
|
||||
<el-option label="申请人姓名" value="sqr.username"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-button type="primary" @click="doSearch" icon="el-icon-search"></el-button>
|
||||
</div>
|
||||
<div class="pull-right offscreen-right">
|
||||
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="mt20">
|
||||
<vi-title2 title="申请列表">
|
||||
<template #func>
|
||||
<!--#if(@shiro.hasRole('A06')||@shiro.hasRole('wyh02')||@shiro.hasRole('wyh03')||@shiro.hasRole('H04')||@shiro.hasRole('sysadmin')){#-->
|
||||
<el-button type="primary" @click="doExcel" size="small"><i class="el-icon-download"></i>
|
||||
导出word
|
||||
</el-button>
|
||||
<el-button type="primary" @click="doExcel2" size="small"><i class="el-icon-download"></i>
|
||||
导出excel
|
||||
</el-button>
|
||||
<!--#}#-->
|
||||
</template>
|
||||
</vi-title2>
|
||||
<el-table
|
||||
:data="tableData"
|
||||
style="width: 100%"
|
||||
@sort-change="pageOrder"
|
||||
>
|
||||
<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 align="center" header-align="center" prop="sqrname"
|
||||
label="申请人姓名"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="sqrloginname"
|
||||
label="工号"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="sex"
|
||||
label="性别"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="birthday"
|
||||
label="出生年月"></el-table-column>
|
||||
<el-table-column sortable show-overflow-tooltip align="center"
|
||||
header-align="center" prop="sqrunionname"
|
||||
label="分工会"></el-table-column>
|
||||
<el-table-column sortable show-overflow-tooltip align="center"
|
||||
header-align="center" prop="sqrunitname"
|
||||
label="单位"></el-table-column>
|
||||
<el-table-column prop="lxfs" label="联系方式" header-align="center" align="center"
|
||||
show-overflow-tooltip
|
||||
min-width="100"></el-table-column>
|
||||
<!-- <el-table-column prop="sq_knlx" label="困难类型" header-align="center"-->
|
||||
<!-- align="center"-->
|
||||
<!-- show-overflow-tooltip min-width="100">-->
|
||||
<!-- <template slot-scope="{row}">-->
|
||||
<!-- <span> {{ difficulty.sq_knlx[row.sq_knlx] }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
|
||||
<el-table-column sortable align="center" header-align="center" prop="sqsj"
|
||||
label="申请时间"></el-table-column>
|
||||
<el-table-column align="center" prop="state_id" header-align="center"
|
||||
label="申请状态" sortable>
|
||||
<template scope="scope">
|
||||
<span :style="'color:'+scope.row.statecolor">{{scope.row.state_name}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="操作" fixed="right"
|
||||
width="120px">
|
||||
<template slot-scope="{row}">
|
||||
<el-dropdown @command="dropdownCommand">
|
||||
<el-button plain size="mini">
|
||||
<i class="ti-settings"></i>
|
||||
<span class="ti-angle-down"></span>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="{type:'view',data:row}">
|
||||
查看
|
||||
</el-dropdown-item>
|
||||
<!-- <el-dropdown-item
|
||||
:command="{type:'downloadAnnex',data:row}">
|
||||
下载
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :disabled="row.zt!=500"
|
||||
:command="{type:'export',data:row}">
|
||||
导出备案表
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :disabled="row.zt!=500"
|
||||
:command="{type:'doExport',data:row}">
|
||||
导出报销单
|
||||
</el-dropdown-item>-->
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<info ref="info"></info>
|
||||
</template>
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
components: {
|
||||
'info': httpVueLoader('/components/difficulty/info.vue'),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
unions: [],
|
||||
units: [],
|
||||
pageForm: {
|
||||
unitId: '',
|
||||
unionId: '',
|
||||
unit: "",
|
||||
year: "",
|
||||
searchName: "sqr.username"
|
||||
},
|
||||
unitOptions: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
doSearch() {
|
||||
this.tabKey = new Date().getTime()
|
||||
this.pageForm.pageNumber = 1
|
||||
|
||||
if (this.pageForm._dateRange && this.pageForm._dateRange.length) {
|
||||
this.pageForm.dateRange = JSON.stringify(this.pageForm._dateRange)
|
||||
} else {
|
||||
this.pageForm.dateRange = ""
|
||||
}
|
||||
|
||||
this.pageData()
|
||||
},
|
||||
dropdownCommand(command) {
|
||||
const {type, data} = command
|
||||
if (type == 'view') {
|
||||
this.openView(data)
|
||||
} else if (type == 'downloadAnnex') {
|
||||
window.location.href = "/platform/fw/difficulty/reading/downloadAnnex?id=" + data.id
|
||||
} else if (type == 'doExport') {
|
||||
window.location.href = "/platform/fw/difficulty/reading/doExport?id=" + data.id
|
||||
} else if (type == 'export') {
|
||||
window.location.href = "/platform/fw/difficulty/reading/export?id=" + data.id
|
||||
}
|
||||
},
|
||||
openView(row) {
|
||||
const {id} = row
|
||||
this.$refs.info.getInfo(id)
|
||||
this.$refs.guava.view()
|
||||
},
|
||||
doExcel() {
|
||||
const {unionId, unitId, _dateRange,searchName,searchKeyword} = this.pageForm
|
||||
// window.open("/platform/fw/difficulty/reading/doExcel?dateRange=" + JSON.stringify(_dateRange)
|
||||
// + "&unionId=" + unionId + "&unitId=" + unitId)
|
||||
window.open("/platform/fw/difficulty/reading/exportDifficult?dateRange=" + JSON.stringify(_dateRange)
|
||||
+ "&unionId=" + unionId + "&unitId=" + unitId+"&searchName="+searchName+"&searchKeyword="+searchKeyword)
|
||||
},
|
||||
doExcel2() {
|
||||
const {unionId, unitId, _dateRange} = this.pageForm
|
||||
// window.open("/platform/fw/difficulty/reading/doExcel?dateRange=" + JSON.stringify(_dateRange)
|
||||
// + "&unionId=" + unionId + "&unitId=" + unitId)
|
||||
window.open("/platform/fw/difficulty/reading/doExcel2?dateRange=" + JSON.stringify(_dateRange)
|
||||
+ "&unionId=" + unionId + "&unitId=" + unitId)
|
||||
},
|
||||
async flushUnits() {
|
||||
this.$set(this.pageForm, "unitId", "")
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('H03')}" === 'true') {
|
||||
this.units = await getUnits(this.pageForm.unionId)
|
||||
} else {
|
||||
this.units = await getUnits("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.pageData()
|
||||
this.unions = await getUnions()
|
||||
this.flushUnits()
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,327 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<!--校工会经办人-->
|
||||
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<el-card shadow="never">
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<div class="block">
|
||||
<el-date-picker
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="年度">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<el-select placeholder="所属工会" v-model="pageForm.unionId" style="width: 100%;"
|
||||
clearable="true"
|
||||
@change="flushUnits" @clear="flushUnits"
|
||||
|
||||
v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('H03')}"
|
||||
|
||||
filterable="true">
|
||||
<el-option v-for="item in unions" :label="item.unionname" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<el-select placeholder="所属单位" v-model="pageForm.unitId" style="width: 100%;"
|
||||
clearable="true"
|
||||
filterable="true">
|
||||
<el-option v-for="item in units" :label="item.name" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<div>
|
||||
<el-input placeholder="请输入内容" v-model="pageForm.searchKeyword">
|
||||
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询类型"
|
||||
style="width: 140px;">
|
||||
<el-option label="申请人工号" value="sqr.loginname"></el-option>
|
||||
<el-option label="申请人姓名" value="sqr.username"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-button type="primary" @click="doSearch" icon="el-icon-search"></el-button>
|
||||
</div>
|
||||
<div class="pull-right offscreen-right">
|
||||
<el-radio-group v-model="pageForm.isAudit" @change="doSearch">
|
||||
<el-radio-button :label="true">已审核</el-radio-button>
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="mt20">
|
||||
<el-table
|
||||
:data="tableData"
|
||||
style="width: 100%"
|
||||
@sort-change="pageOrder"
|
||||
>
|
||||
<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 align="center" header-align="center" prop="sqrname"
|
||||
label="申请人姓名"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="sqrloginname"
|
||||
label="工号"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="sex"
|
||||
label="性别"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="birthday"
|
||||
label="出生年月"></el-table-column>
|
||||
<el-table-column sortable show-overflow-tooltip align="center"
|
||||
header-align="center" prop="sqrunionname"
|
||||
label="分工会"></el-table-column>
|
||||
<el-table-column sortable show-overflow-tooltip align="center"
|
||||
header-align="center" prop="sqrunitname"
|
||||
label="单位"></el-table-column>
|
||||
<el-table-column prop="lxfs" label="联系方式" header-align="center" align="center"
|
||||
show-overflow-tooltip
|
||||
min-width="100"></el-table-column>
|
||||
<!-- <el-table-column prop="sq_knlx" label="困难类型" header-align="center"-->
|
||||
<!-- align="center"-->
|
||||
<!-- show-overflow-tooltip min-width="100">-->
|
||||
<!-- <template slot-scope="{row}">-->
|
||||
<!-- <span> {{ difficulty.sq_knlx[row.sq_knlx] }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
|
||||
<el-table-column sortable align="center" header-align="center" prop="sqsj"
|
||||
label="申请时间"></el-table-column>
|
||||
<el-table-column align="center" prop="state_id" header-align="center"
|
||||
label="申请状态" sortable>
|
||||
<template scope="scope">
|
||||
<span :style="'color:'+scope.row.statecolor">{{scope.row.state_name}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="操作" fixed="right"
|
||||
width="120px">
|
||||
<template slot-scope="{row}">
|
||||
<el-dropdown @command="dropdownCommand">
|
||||
<el-button plain size="mini">
|
||||
<i class="ti-settings"></i>
|
||||
<span class="ti-angle-down"></span>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="{type:'view',data:row}">
|
||||
查看
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :disabled="row.zt==250 || row.zt == 500"
|
||||
:command="{type:'openReview',data:row}">
|
||||
审核
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item v-if="row.zt==250 || row.zt==500"
|
||||
:command="{type:'revoke',data:row}">
|
||||
撤回
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<template #edit>
|
||||
<info ref="info2" :handle="true" label="校工会审核">
|
||||
<template #handle>
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-position="right"
|
||||
style="padding: 20px 0"
|
||||
label-width="120px">
|
||||
<el-row gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="username" label="审核人员">
|
||||
<el-input v-model="formData.username"
|
||||
disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="time" label="审核时间">
|
||||
<el-input v-model="formData.auditTime" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item prop="auditOpinion" label="审核意见">
|
||||
<el-input type="textarea" v-model="formData.auditOpinion" rows="4" maxlength="500"
|
||||
placeholder="请填写您的审核意见"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="auditSign" label="审核签字">
|
||||
<sign :qz.sync="formData.auditSign"></sign>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<div style="float: right;margin: 20px 0">
|
||||
<el-button type="danger" @click="doReview(1)" :disabled="subDis" :loading="subLoading1">
|
||||
拒绝
|
||||
</el-button>
|
||||
<!-- <el-button type="danger" @click="doReview(3)" :disabled="subDis" :loading="subLoading3">返回修改-->
|
||||
<!-- </el-button>-->
|
||||
<el-button type="primary" @click="doReview(2)" :disabled="subDis" :loading="subLoading2">
|
||||
通过
|
||||
</el-button>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
</info>
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<info ref="info"></info>
|
||||
</template>
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
components: {
|
||||
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
||||
'sign': httpVueLoader('/components/sign/sign.vue?v=2.0.0'),
|
||||
'info': httpVueLoader('/components/difficulty/info.vue'),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
unions: [],
|
||||
units: [],
|
||||
subDis: false,
|
||||
subLoading1: false,
|
||||
subLoading2: false,
|
||||
subLoading3: false,
|
||||
pageForm: {
|
||||
unit: "",
|
||||
year: "",
|
||||
isAudit: false,
|
||||
searchName: "sqr.username"
|
||||
},
|
||||
unitOptions: [],
|
||||
formRules: {
|
||||
auditOpinion: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
auditSign: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'formData.auditSign'(val) {
|
||||
this.$refs.form.validateField(['auditSign'], (val) => {
|
||||
console.log(val)
|
||||
})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
dropdownCommand(command) {
|
||||
const {type, data} = command
|
||||
if (type == 'view') {
|
||||
this.openView(data)
|
||||
} else if (type == 'openReview') {
|
||||
this.openReview(data)
|
||||
} else if (type == 'revoke') {
|
||||
this.revoke(data)
|
||||
}
|
||||
},
|
||||
revoke(row) {
|
||||
const {id} = row
|
||||
this.$confirm('您确定要撤回后重新审核吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: async (a, b) => {
|
||||
if ("confirm" == a) {//确认后再执行
|
||||
this.$set(row, "delLoading", true)
|
||||
const resp = await $.post(loc() + "/revoke", {id: id});
|
||||
this.$set(row, "delLoading", false)
|
||||
if (resp.code === 0) {
|
||||
this.pageData()
|
||||
this.notifySuccess(resp.msg)
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
openView(row) {
|
||||
const {id} = row
|
||||
this.$refs.info.getInfo(id)
|
||||
this.$refs.guava.view()
|
||||
},
|
||||
async openReview(row) {
|
||||
const {id} = row
|
||||
this.formData = {
|
||||
id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
}
|
||||
|
||||
this.$refs.info2.getInfo(id)
|
||||
this.$refs.guava.edit()
|
||||
if (this.$refs['form']) {
|
||||
this.$refs['form'].resetFields()
|
||||
}
|
||||
},
|
||||
async doReview(flag) {
|
||||
this.$refs["form"].validate(async (valid) => {
|
||||
if (valid) {
|
||||
this.formData.pass = flag
|
||||
|
||||
this.subDis = true
|
||||
if (flag == 1) {
|
||||
this.subLoading1 = true
|
||||
} else if (flag == 2) {
|
||||
this.subLoading2 = true
|
||||
} else {
|
||||
this.subLoading3 = true
|
||||
}
|
||||
|
||||
const resp = await $.post(loc() + "/doReview", this.formData)
|
||||
this.subDis = false
|
||||
this.subLoading1 = false
|
||||
this.subLoading2 = false
|
||||
if (resp.code === 0) {
|
||||
this.notifySuccess(resp.msg)
|
||||
this.pageData()
|
||||
this.$refs.guava.index()
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
async flushUnits() {
|
||||
this.$set(this.pageForm, "unitId", "")
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('H03')}" === 'true') {
|
||||
this.units = await getUnits(this.pageForm.unionId)
|
||||
} else {
|
||||
this.units = await getUnits("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.pageData()
|
||||
this.unions = await getUnions()
|
||||
this.flushUnits()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,288 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<!--校工会常务副主席审核-->
|
||||
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<el-row class="header navbar bg-white shadow">
|
||||
|
||||
<div class="btn-group tool-button mt5">
|
||||
<div class="block">
|
||||
<el-date-picker
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="年度">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-select v-model="pageForm.unit" filterable placeholder="请选择单位" clearable>
|
||||
<el-option
|
||||
v-for="item in unitOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<div>
|
||||
<el-input placeholder="请输入内容" v-model="pageForm.searchKeyword">
|
||||
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询类型"
|
||||
style="width: 140px;">
|
||||
<el-option label="受助人工号" value="sbzr.loginname"></el-option>
|
||||
<el-option label="受助人姓名" value="sbzr.username"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-button type="primary" @click="doSearch" icon="el-icon-search"></el-button>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-radio-group v-model="pageForm.isAudit" @change="doSearch">
|
||||
<el-radio-button :label="true">已审核</el-radio-button>
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</el-row>
|
||||
<el-row class="el-table-container">
|
||||
<el-table
|
||||
:data="tableData"
|
||||
size="mini"
|
||||
style="width: 100%"
|
||||
@sort-change="pageOrder"
|
||||
>
|
||||
<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
|
||||
align="center" header-align="center"
|
||||
prop="sqrloginname"
|
||||
label="工号"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center" header-align="center"
|
||||
prop="sqrname"
|
||||
label="姓名"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center" header-align="center"
|
||||
prop="unitname"
|
||||
label="单位"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column sortable
|
||||
align="center" header-align="center"
|
||||
prop="sqsj"
|
||||
label="申请时间"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" prop="state_id" header-align="center" label="申请状态" sortable>
|
||||
<template scope="scope">
|
||||
<span :style="'color:'+scope.row.statecolor">{{scope.row.state_name}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="操作" fixed="right"
|
||||
width="120px">
|
||||
<template slot-scope="{row}">
|
||||
<el-dropdown @command="dropdownCommand">
|
||||
<el-button plain size="mini">
|
||||
<i class="ti-settings"></i>
|
||||
<span class="ti-angle-down"></span>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="{type:'view',data:row}">
|
||||
查看
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :command="{type:'openReview',data:row}">
|
||||
审核
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</template>
|
||||
|
||||
<template #edit>
|
||||
<info ref="info2" :handle="true" label="校工会常务副主席审核" :panes="[2]">
|
||||
<template #handle>
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-position="right"
|
||||
style="padding: 20px 0"
|
||||
label-width="120px">
|
||||
<el-form-item label="审核信息 " label-width="135px" class="view-header">
|
||||
</el-form-item>
|
||||
|
||||
<el-row gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="username" label="审核人员">
|
||||
<el-input v-model="formData.username"
|
||||
disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="time" label="审核时间">
|
||||
<el-input v-model="formData.auditTime" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="jb" label="级  别">
|
||||
<el-select v-model="formData.jb" placeholder="请选择级别"
|
||||
clearable style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in jbOptions"
|
||||
:key="item"
|
||||
:label="item"
|
||||
:value="item">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="xghbzje" label="补助金额">
|
||||
<el-input v-model="formData.xghbzje"
|
||||
onKeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))"
|
||||
placeholder="请输入补助金额" type="number">
|
||||
<template style="border: none;background-color: white;" slot="append">元
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item prop="opinion" label="审核意见">
|
||||
<el-input type="textarea" v-model="formData.auditOpinion" rows="4" maxlength="500"
|
||||
placeholder="请填写您的审核意见"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="sign" label="签  字">
|
||||
<sign :qz.sync="formData.auditSign"></sign>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
|
||||
<div style="float: right;margin: 20px 0">
|
||||
<el-button @click="doReview(false)" :disabled="subDis" :loading="subLoading1">拒
|
||||
绝
|
||||
</el-button>
|
||||
<el-button type="primary" @click="doReview(true)" :disabled="subDis" :loading="subLoading2">通
|
||||
过
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</info>
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<info ref="info"></info>
|
||||
</template>
|
||||
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
components: {
|
||||
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
||||
'sign': httpVueLoader('/components/sign/sign.vue?v=2.0.0'),
|
||||
'info': httpVueLoader('/components/difficulty/info.vue'),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
jbOptions: ['甲级', '乙级', '丙级'],
|
||||
subDis: false,
|
||||
subLoading1: false,
|
||||
subLoading2: false,
|
||||
pageForm: {
|
||||
unit: "",
|
||||
year: "",
|
||||
isAudit: false,
|
||||
searchName: "sbzr.loginname"
|
||||
},
|
||||
unitOptions: [],
|
||||
formRules: {
|
||||
auditOpinion: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
dropdownCommand(command) {
|
||||
const {type, data} = command
|
||||
if (type == 'view') {
|
||||
this.openView(data)
|
||||
} else if (type == 'openReview') {
|
||||
this.openReview(data)
|
||||
}
|
||||
},
|
||||
openView(row) {
|
||||
const {id} = row
|
||||
this.$refs.info.getInfo(id)
|
||||
this.$refs.guava.view()
|
||||
},
|
||||
openReview(row) {
|
||||
const {id} = row
|
||||
|
||||
this.formData = {
|
||||
id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
}
|
||||
|
||||
this.$refs.info2.getInfo(id)
|
||||
this.$refs.guava.edit()
|
||||
if (this.$refs['form']) {
|
||||
this.$refs['form'].resetFields()
|
||||
}
|
||||
},
|
||||
async doReview(flag) {
|
||||
this.$refs["form"].validate(async (valid) => {
|
||||
if (valid) {
|
||||
this.formData.pass = flag
|
||||
|
||||
this.subDis = true
|
||||
flag ? this.subLoading2 = true : this.subLoading1 = true
|
||||
|
||||
const resp = await $.post(loc() + "/doReview", this.formData)
|
||||
this.subDis = false
|
||||
this.subLoading1 = false
|
||||
this.subLoading2 = false
|
||||
if(resp.code===0){
|
||||
this.pageData()
|
||||
this.$refs.guava.index()
|
||||
}else{
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.pageData()
|
||||
this.unitOptions = await getUnits(null)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,261 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<!--校工会副主席审核-->
|
||||
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<el-row class="header navbar bg-white shadow">
|
||||
|
||||
<div class="btn-group tool-button mt5">
|
||||
<div class="block">
|
||||
<el-date-picker
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="年度">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-select v-model="pageForm.unit" filterable placeholder="请选择单位" clearable>
|
||||
<el-option
|
||||
v-for="item in unitOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<div>
|
||||
<el-input placeholder="请输入内容" v-model="pageForm.searchKeyword">
|
||||
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询类型"
|
||||
style="width: 140px;">
|
||||
<el-option label="受助人工号" value="sbzr.loginname"></el-option>
|
||||
<el-option label="受助人姓名" value="sbzr.username"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-button type="primary" @click="doSearch" icon="el-icon-search"></el-button>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-radio-group v-model="pageForm.isAudit" @change="doSearch">
|
||||
<el-radio-button :label="true">已审核</el-radio-button>
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</el-row>
|
||||
<el-row class="el-table-container">
|
||||
<el-table
|
||||
:data="tableData"
|
||||
size="mini"
|
||||
style="width: 100%"
|
||||
@sort-change="pageOrder"
|
||||
>
|
||||
<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 align="center" header-align="center" prop="sbzrname"
|
||||
label="受补助人姓名">
|
||||
<template slot-scope="{row}">
|
||||
{{row.sbzrname?row.sbzrname:row.sqrname}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="sbzrloginname"
|
||||
label="受补助人工号"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="sqrname"
|
||||
label="申请人"></el-table-column>
|
||||
<el-table-column prop="lxfs" label="联系方式" header-align="center" align="center" show-overflow-tooltip
|
||||
min-width="100"></el-table-column>
|
||||
<el-table-column prop="sq_knlx" label="困难类型" header-align="center" align="center"
|
||||
show-overflow-tooltip min-width="100">
|
||||
<template slot-scope="{row}">
|
||||
<span> {{ difficulty.sq_knlx[row.sq_knlx] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column show-overflow-tooltip align="center" header-align="center" prop="unitname"
|
||||
label="单位">
|
||||
<template slot-scope="{row}">
|
||||
{{row.unitname?row.unitname:row.sqrname}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column sortable align="center" header-align="center" prop="sqsj"
|
||||
label="申请时间"></el-table-column>
|
||||
<el-table-column align="center" prop="state_id" header-align="center" label="申请状态" sortable>
|
||||
<template scope="scope">
|
||||
<span :style="'color:'+scope.row.statecolor">{{scope.row.state_name}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="操作" fixed="right"
|
||||
width="120px">
|
||||
<template slot-scope="{row}">
|
||||
<el-dropdown @command="dropdownCommand">
|
||||
<el-button plain size="mini">
|
||||
<i class="ti-settings"></i>
|
||||
<span class="ti-angle-down"></span>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="{type:'view',data:row}">
|
||||
查看
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :command="{type:'openReview',data:row}">
|
||||
审核
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</template>
|
||||
|
||||
<template #edit>
|
||||
<info ref="info2" :handle="true" label="校工会副主席审核" :panes="[2]">
|
||||
<template #handle>
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-position="right"
|
||||
style="padding: 20px 0"
|
||||
label-width="120px">
|
||||
<el-form-item label="审核信息 " label-width="135px" class="view-header">
|
||||
</el-form-item>
|
||||
|
||||
<el-row gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="username" label="审核人员">
|
||||
<el-input v-model="formData.username"
|
||||
disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="time" label="审核时间">
|
||||
<el-input v-model="formData.auditTime" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item prop="opinion" label="审核意见">
|
||||
<el-input type="textarea" v-model="formData.auditOpinion" rows="4" maxlength="500"
|
||||
placeholder="请填写您的审核意见"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="sign" label="签  字">
|
||||
<sign :qz.sync="formData.auditSign"></sign>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
|
||||
<div style="float: right;margin: 20px 0">
|
||||
<el-button @click="doReview(false)" :disabled="subDis" :loading="subLoading1">拒
|
||||
绝
|
||||
</el-button>
|
||||
<el-button type="primary" @click="doReview(true)" :disabled="subDis" :loading="subLoading2">通
|
||||
过
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</info>
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<info ref="info"></info>
|
||||
</template>
|
||||
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
components: {
|
||||
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
||||
'sign': httpVueLoader('/components/sign/sign.vue?v=2.0.0'),
|
||||
'info': httpVueLoader('/components/difficulty/info.vue'),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
subDis: false,
|
||||
subLoading1: false,
|
||||
subLoading2: false,
|
||||
pageForm: {
|
||||
unit: "",
|
||||
year: "",
|
||||
isAudit: false,
|
||||
searchName: "sbzr.loginname"
|
||||
},
|
||||
unitOptions: [],
|
||||
formRules: {
|
||||
auditOpinion: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
dropdownCommand(command) {
|
||||
const {type, data} = command
|
||||
if (type == 'view') {
|
||||
this.openView(data)
|
||||
} else if (type == 'openReview') {
|
||||
this.openReview(data)
|
||||
}
|
||||
},
|
||||
openView(row) {
|
||||
const {id} = row
|
||||
this.$refs.info.getInfo(id)
|
||||
this.$refs.guava.view()
|
||||
},
|
||||
openReview(row) {
|
||||
const {id} = row
|
||||
|
||||
this.formData = {
|
||||
id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
}
|
||||
|
||||
this.$refs.info2.getInfo(id)
|
||||
this.$refs.guava.edit()
|
||||
if (this.$refs['form']) {
|
||||
this.$refs['form'].resetFields()
|
||||
}
|
||||
},
|
||||
async doReview(flag) {
|
||||
this.$refs["form"].validate(async (valid) => {
|
||||
if (valid) {
|
||||
this.formData.pass = flag
|
||||
|
||||
this.subDis = true
|
||||
flag ? this.subLoading2 = true : this.subLoading1 = true
|
||||
const resp = await $.post(loc() + "/doReview", this.formData)
|
||||
this.subDis = false
|
||||
this.subLoading1 = false
|
||||
this.subLoading2 = false
|
||||
if(resp.code===0){
|
||||
this.pageData()
|
||||
this.$refs.guava.index()
|
||||
}else{
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.pageData()
|
||||
this.unitOptions = await getUnits(null)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,743 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
#app {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
input[type=file] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.card-title {
|
||||
margin-bottom: 20px;
|
||||
letter-spacing: 2px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.card-title .title-left {
|
||||
font-size: 25px;
|
||||
}
|
||||
|
||||
.card-title .title-right {
|
||||
text-align: right;
|
||||
font-size: 15px;
|
||||
color: #0e78c5;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.card-title .title-right:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.el-date-editor.el-input, .el-select, .el-input-number {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.addFormCard {
|
||||
|
||||
}
|
||||
|
||||
.excelCard {
|
||||
min-height: 650px;
|
||||
}
|
||||
|
||||
.excelBack {
|
||||
font-size: 15px;
|
||||
color: #0e78c5;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.excelBack:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.el-icon-loading {
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
.el-input-number__decrease, .el-input-number__increase {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.el-input-number .el-input__inner {
|
||||
padding: 0 15px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.el-icon-eleme:before {
|
||||
content: '元';
|
||||
}
|
||||
|
||||
.submitClass {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.ivu-upload {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.el-table th.gutter {
|
||||
display: table-cell !important
|
||||
|
||||
}
|
||||
|
||||
.el-table {
|
||||
margin-top: 100px;
|
||||
}
|
||||
|
||||
input::-webkit-outer-spin-button,
|
||||
input::-webkit-inner-spin-button {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
-moz-appearance: textfield;
|
||||
}
|
||||
|
||||
|
||||
input::-webkit-outer-spin-button,
|
||||
input::-webkit-inner-spin-button {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
.int_input .el-input-number__decrease {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.int_input .el-input-number__increase {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.int_input .el-input-number.is-controls-right .el-input__inner {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.border_table .el-table--border td, .el-table--border th, .el-table__body-wrapper .el-table--border.is-scrolling-left ~ .el-table__fixed {
|
||||
border-right: 1px solid #EBEEF5;
|
||||
border-right-width: 1px;
|
||||
border-right-style: solid;
|
||||
border-right-color: rgb(235, 238, 245);
|
||||
}
|
||||
|
||||
.border_table .el-table {
|
||||
border: 1px solid #EBEEF5;
|
||||
border-top-color: rgb(235, 238, 245);
|
||||
border-top-style: solid;
|
||||
border-top-width: 1px;
|
||||
border-right-color: rgb(235, 238, 245);
|
||||
border-right-style: solid;
|
||||
border-right-width: 1px;
|
||||
border-bottom-color: rgb(235, 238, 245);
|
||||
border-bottom-style: solid;
|
||||
border-bottom-width: 1px;
|
||||
border-left-color: rgb(235, 238, 245);
|
||||
border-left-style: solid;
|
||||
border-left-width: 1px;
|
||||
border-image-source: initial;
|
||||
border-image-slice: initial;
|
||||
border-image-width: initial;
|
||||
border-image-outset: initial;
|
||||
border-image-repeat: initial;
|
||||
}
|
||||
|
||||
.border_table .el-table--border::after, .el-table--group::after {
|
||||
width: 1px;
|
||||
}
|
||||
|
||||
.textareaDiv {
|
||||
white-space: pre-wrap;
|
||||
white-space: -moz-pre-wrap;
|
||||
white-space: -o-pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<transition name="el-zoom-in-top">
|
||||
<el-card class="addFormCard" v-show="AddFormCardShow">
|
||||
<div class="card-title">
|
||||
<span class="title-left" style="font-size: 18px;font-weight: bold">新增历史数据</span>
|
||||
<span class="title-right"
|
||||
@click="AddFormCardShow=!AddFormCardShow;ExcelCardShow=!AddFormCardShow;">
|
||||
从excel导入
|
||||
<span slot="suffix">
|
||||
<i class="el-icon-upload"></i>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<el-form :model="formData" style="width: 90%;margin: 0 auto" ref="addForm" :rules="formRules" size="medium"
|
||||
label-position="right"
|
||||
label-width="120px">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="year" label="年  份">
|
||||
<el-date-picker
|
||||
v-model="formData.year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="选择年">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="sqr" label="困难职工">
|
||||
<el-select
|
||||
v-model="formData.sqr"
|
||||
@change="userChange"
|
||||
filterable
|
||||
remote
|
||||
reserve-keyword
|
||||
placeholder="请输入姓名或工号查找"
|
||||
:remote-method="remoteMethod"
|
||||
:loading="loading">
|
||||
<el-option
|
||||
v-for="item in userOptions"
|
||||
:key="item.id"
|
||||
:label="item.username+'('+item.unitname+')'"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="sex" label="性  别">
|
||||
<el-select v-model="formData.sex" placeholder="请选择性别" clearable>
|
||||
<el-option
|
||||
v-for="item in ['男','女']"
|
||||
:key="item"
|
||||
:label="item"
|
||||
:value="item">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item prop="jtzz" label="家庭地址">
|
||||
<el-input maxlength="50" placeholder="请输入家庭地址" clearable v-model="formData.jtzz"
|
||||
type="text"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="lxfs" label="手机号码">
|
||||
<el-input maxlength="100" clearable placeholder="请填写手机号码" v-model="formData.lxfs"
|
||||
type="text"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="brnzsr" label="本人年收入" class="int_input">
|
||||
<el-input-number clearable style="width: 100%" v-model="formData.brnzsr" :min="0"
|
||||
:max="9999999"
|
||||
controls-position="right" placeholder="请填写年收入(元)">
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="jtnzsr" label="家庭年收入" class="int_input">
|
||||
<el-input-number clearable style="width: 100%" v-model="formData.jtnzsr" :min="0"
|
||||
:max="9999999"
|
||||
controls-position="right" placeholder="请填写年收入(元)">
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="jtrs" label="家庭人数" class="int_input">
|
||||
<el-input-number clearable style="width: 100%" v-model="formData.jtrs" :min="0" :max="99"
|
||||
controls-position="right" placeholder="请填写家庭人数">
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item prop="zyzkyybz" label="致困特殊原因">
|
||||
<el-input maxlength="500" placeholder="请简述原因" clearable v-model="formData.zyzkyybz"
|
||||
type="textarea"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<div class="submitClass">
|
||||
<el-button type="primary" @click="doAdd">确定</el-button>
|
||||
</div>
|
||||
|
||||
|
||||
</el-card>
|
||||
</transition>
|
||||
|
||||
<transition name="el-zoom-in-bottom">
|
||||
<el-card class="excelCard" v-show="ExcelCardShow">
|
||||
<div class="mb10">
|
||||
<span class="excelBack" @click="ExcelCardShow=!ExcelCardShow;AddFormCardShow=!ExcelCardShow;">< 返回</span>
|
||||
</div>
|
||||
<div class="mb20">
|
||||
<el-row class="header navbar">
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-button size="small" icon="el-icon-download" style="width: 100px"
|
||||
@click="location.href='/platform/knbf/sjdr/downLoadTemp'">下载模板
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<!-- <i-button icon="ios-cloud-download-outline" style="width: 100px" @click="download">下载模板</i-button>-->
|
||||
<el-upload :before-upload="handleUpload">
|
||||
<!--<i-button icon="ios-cloud-upload-outline" style="width: 100px">选择文件</i-button>-->
|
||||
<el-button icon="el-icon-upload" size="small" style="width: 100px">上传文件</el-button>
|
||||
</el-upload>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-date-picker size="small"
|
||||
v-model="year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="选择年">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div v-if="file!==null" style="height: 30px;">
|
||||
<el-row style="padding: 0 15px">
|
||||
<el-col :span="18">
|
||||
<span style="float: left;overflow: hidden;line-height: 30px;">
|
||||
<i class="el-icon-tickets"></i>
|
||||
{{file.name}} 
|
||||
<span style="font-size: 12px;color: #b49672;" v-if="tableData.length>0">共读取了{{tableData.length}}条数据</span>
|
||||
</span>
|
||||
</el-col>
|
||||
<span style="line-height: 30px;">
|
||||
<el-button size="mini" type="danger" @click="file=null">删除</el-button>
|
||||
<el-button size="mini" type="primary" @click="read">读取</el-button>
|
||||
</span>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
|
||||
<!--<i-button @click="ls">未提交数据</i-button>-->
|
||||
|
||||
|
||||
</div>
|
||||
<el-table :data="rows" empty-text="暂无数据,请上传文件">
|
||||
<el-table-column label="序号" type="index" header-align="center" align="center">
|
||||
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center" header-align="center"
|
||||
prop="unitname" show-overflow-tooltip width="250px"
|
||||
label="单位"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center" header-align="center" show-overflow-tooltip width="150px"
|
||||
prop="loginname"
|
||||
label="工号"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center" header-align="center" show-overflow-tooltip width="200px"
|
||||
prop="username"
|
||||
label="职工姓名"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center" header-align="center" show-overflow-tooltip width="100px"
|
||||
prop="sex"
|
||||
label="性别"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center" header-align="center" show-overflow-tooltip width="200px"
|
||||
prop="jtzz"
|
||||
label="家庭住址"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center" header-align="center" show-overflow-tooltip width="150px"
|
||||
prop="lxfs"
|
||||
label="联系电话"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center" header-align="center" show-overflow-tooltip width="200px"
|
||||
prop="zyzkyybz"
|
||||
label="致困特殊原因"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center" header-align="center" show-overflow-tooltip width="100px"
|
||||
prop="jtrs"
|
||||
label="家庭人数"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center" header-align="center" show-overflow-tooltip width="200px"
|
||||
prop="brnzsr"
|
||||
label="本人总收入(元)"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center" header-align="center" show-overflow-tooltip width="200px"
|
||||
prop="jtnzsr"
|
||||
label="家庭总收入(元)"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center" header-align="center" show-overflow-tooltip width="150px"
|
||||
prop="jb"
|
||||
label="级别"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" header-align="center" align="center" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="danger" size="mini" icon="el-icon-delete" circle
|
||||
@click="rows.splice(scope.$index,1)"></el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<div class="submitClass mt20 mr10">
|
||||
<el-button type="primary" @click="write">导 入</el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
</transition>
|
||||
</div>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data() {
|
||||
return {
|
||||
year: '',
|
||||
loading: false,
|
||||
userOptions: [],
|
||||
rows: [],
|
||||
file: null,
|
||||
AddFormCardShow: true,
|
||||
ExcelCardShow: false,
|
||||
ybOptions: ['统筹', '社保'],
|
||||
activeName: ['1'],
|
||||
zzyyOptions: ['本人大病', '供养直系亲属大病', '本人残疾', '家属残疾', '本人下岗失业', '家属下岗失业', '收入低', '自然灾害', '重大事故', '子女上学', '其他'],
|
||||
fclxOptions: ['商品房', '福利房', '经济适用房', '限价房', '自建房'],
|
||||
fclyOptions: ['购买', '接收赠与', '继承', '其他来源'],
|
||||
hyzkOptions: ['未婚', '已婚', '离异', '丧偶', '再婚'],
|
||||
zcOptions: ['教授', '副教授', '讲师', '助教'],
|
||||
mzOptions: [
|
||||
'汉族',
|
||||
'蒙古族',
|
||||
'回族',
|
||||
'藏族',
|
||||
'维吾尔族',
|
||||
'苗族',
|
||||
'彝族',
|
||||
'壮族',
|
||||
'布依族',
|
||||
'朝鲜族',
|
||||
'满族',
|
||||
'侗族',
|
||||
'瑶族',
|
||||
'白族',
|
||||
'土家族',
|
||||
'哈尼族',
|
||||
'哈萨克族',
|
||||
'傣族',
|
||||
'黎族',
|
||||
'傈僳族',
|
||||
'佤族',
|
||||
'畲族',
|
||||
'高山族',
|
||||
'拉祜族',
|
||||
'水族',
|
||||
'东乡族',
|
||||
'纳西族',
|
||||
'景颇族',
|
||||
'柯尔克孜族',
|
||||
'土族',
|
||||
'达翰尔族',
|
||||
'么佬族',
|
||||
'羌族',
|
||||
'布朗族',
|
||||
'撒拉族',
|
||||
'毛南族',
|
||||
'仡佬族',
|
||||
'锡伯族',
|
||||
'阿昌族',
|
||||
'普米族',
|
||||
'塔吉克族',
|
||||
'怒族',
|
||||
'乌孜别克族',
|
||||
'俄罗斯族',
|
||||
'鄂温克族',
|
||||
'德昂族',
|
||||
'保安族',
|
||||
'裕固族',
|
||||
'京族',
|
||||
'塔塔尔族',
|
||||
'独龙族',
|
||||
'鄂伦春族',
|
||||
'赫哲族',
|
||||
'门巴族',
|
||||
'珞巴族',
|
||||
'基诺族',
|
||||
],
|
||||
bzOptions: ['事业编制职工(正式职工)', '合同制职工', '人事代理职工', '集体职工', '流动编制职工', '非事业编制职工', '博士后进站人员', '劳务派遣人员', '聘用工(各二级单位聘用)'],
|
||||
ztObj: {
|
||||
1: {color: '#E6A23C', label: '待院级工会审核'},
|
||||
2: {color: '#E6A23C', label: '待二级党组织审核'},
|
||||
3: {color: '#E6A23C', label: '待校工会审核'},
|
||||
4: {color: '#67C23A', label: '审核通过'},
|
||||
5: {color: '#F56C6C', label: '审核不通过'},
|
||||
},
|
||||
subDis: false,
|
||||
formData: {
|
||||
zyzkyy: [],
|
||||
jtcys: [],
|
||||
jtfc: [],
|
||||
jtcc: [],
|
||||
},
|
||||
userData: {},
|
||||
viewData: {},
|
||||
viewDialogVisible: false,
|
||||
addDialogVisible: false,
|
||||
editDialogVisible: false,
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
searchName: "",
|
||||
searchKeyword: "",
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
pageOrderName: "",
|
||||
pageOrderBy: ""
|
||||
},
|
||||
formRules: {
|
||||
// parentUnit: [{validator: validateUnit, trigger: ['blur', 'change']}],
|
||||
idcard: [{
|
||||
required: false,
|
||||
message: '必填',
|
||||
trigger: ['blur', 'change']
|
||||
}, {
|
||||
pattern: /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
|
||||
message: '请输入正确的身份证号'
|
||||
}],
|
||||
year: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
sqr: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
username: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
sqrname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
loginname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
sqrloginname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
unitname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
sqrunitname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
zyzkyy: [{required: true, message: '必选', trigger: ['blur', 'change']}],
|
||||
brnzsr: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
jtnzsr: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
jtrs: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
yhmc: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
yhkh: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
rsbz: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
jtzz: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
sex: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
},
|
||||
isNull(val) {
|
||||
return val === null || val === undefined || val === ''
|
||||
}
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
arr2str(val) {
|
||||
if (val && val.length > 0) {
|
||||
let str = ""
|
||||
for (let i = 0; i < val.length; i++) {
|
||||
str += val[i]
|
||||
if (i < val.length - 1) {
|
||||
str += '、'
|
||||
}
|
||||
}
|
||||
return str
|
||||
}
|
||||
return ''
|
||||
},
|
||||
none2str(val) {
|
||||
if (val === null || val === undefined || val === '') {
|
||||
return '暂无'
|
||||
}
|
||||
return val
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
write() {
|
||||
if (this.year == "" || this.year == undefined) {
|
||||
this.$message.warning("请选择数据所属年份!");
|
||||
return;
|
||||
}
|
||||
|
||||
let obj = {
|
||||
zgfw_knbfs: JSON.stringify(this.rows),
|
||||
sqsj: this.year + "-01-01"
|
||||
}
|
||||
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '数据提交中...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
|
||||
$.post(base + "/platform/knbf/sjdr/write", obj, (data) => {
|
||||
if (data.code == 0) {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
this.rows = []
|
||||
this.file = null
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
this.subDis = false
|
||||
loading.close()
|
||||
}, "json");
|
||||
},
|
||||
read: function () {
|
||||
var self = this;
|
||||
|
||||
var formData = new FormData();
|
||||
formData.append("file", self.file);
|
||||
sublime.showLoadingbar()
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '数据读取中',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
$.ajax({
|
||||
url: base + "/platform/knbf/sjdr/getRow",
|
||||
type: "post",
|
||||
data: formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function (data) {
|
||||
if (data.code == 0) {
|
||||
console.log(data)
|
||||
loading.close();
|
||||
if (data.data.length > 0) {
|
||||
self.rows = data.data
|
||||
self.$message.success("读取成功!一共读取了" + self.rows.length + "条数据");
|
||||
} else {
|
||||
self.$message.warning("表格内没有数据,请重新导入文件");
|
||||
}
|
||||
|
||||
} else {
|
||||
loading.close();
|
||||
self.$message.error(data.msg);
|
||||
}
|
||||
sublime.closeLoadingbar()
|
||||
},
|
||||
error: function (data) {
|
||||
loading.close();
|
||||
sublime.closeLoadingbar()
|
||||
}
|
||||
});
|
||||
/* $.post((base + "/platform/knbf/sjdr/getRow", this.formData, (data => {
|
||||
if (data.code == 0) {
|
||||
console.log(1)
|
||||
loading.close();
|
||||
if (data.data.length > 0) {
|
||||
self.rows = data.data
|
||||
self.$message.success("读取成功!一共读取了" + self.rows.length + "条数据");
|
||||
} else {
|
||||
self.$message.warning("表格内没有数据,请重新导入文件");
|
||||
}
|
||||
} else {
|
||||
loading.close();
|
||||
self.$message.error(data.msg);
|
||||
}
|
||||
sublime.closeLoadingbar()
|
||||
})
|
||||
));*/
|
||||
},
|
||||
doAdd() {
|
||||
this.$refs["addForm"].validate((valid) => {
|
||||
if (valid) {
|
||||
this.subDis = true
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '数据提交中...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
this.formData.sqsj = this.formData.year + '-01-01'
|
||||
$.post(base + "/platform/knbf/sjdr/doAdd", this.formData, (data) => {
|
||||
if (data.code == 0) {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
this.formData = {}
|
||||
this.userOptions = []
|
||||
if (this.$refs["addForm"])
|
||||
this.$refs["addForm"].resetFields();
|
||||
} else {
|
||||
this.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
this.subDis = false
|
||||
loading.close()
|
||||
}, "json");
|
||||
}
|
||||
});
|
||||
},
|
||||
userChange(id) {
|
||||
this.userOptions.forEach(val => {
|
||||
if (val.id == id) {
|
||||
vue.$set(this.formData, 'username', val.username)
|
||||
vue.$set(this.formData, 'birthday', val.birthday)
|
||||
vue.$set(this.formData, 'sex', val.sex)
|
||||
vue.$set(this.formData, 'unitname', val.unitname)
|
||||
}
|
||||
})
|
||||
},
|
||||
remoteMethod(query) {
|
||||
this.loading = true
|
||||
this.userOptions = []
|
||||
$.post(base + "/platform/knbf/sjdr/queryUser", {query: query}, (data) => {
|
||||
if (data.code == 0) {
|
||||
this.userOptions = data.data.list;
|
||||
}
|
||||
this.loading = false
|
||||
}, "json");
|
||||
},
|
||||
zcBlur(e) {
|
||||
this.$set(this.formData, 'zc', e.target.value)
|
||||
},
|
||||
handleUpload(file) {
|
||||
var self = this;
|
||||
var typename = file.name.substring(file.name.lastIndexOf('.'), file.name.length);
|
||||
if (typename.indexOf('xls', 'xlsx') < 0) {
|
||||
self.$message.error('只能上传xls,xlsx格式的文件');
|
||||
return false;
|
||||
}
|
||||
self.file = file;
|
||||
return false;
|
||||
},
|
||||
},
|
||||
created() {
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,344 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<!--二级党组织-->
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<el-card shadow="never">
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<div class="block">
|
||||
<el-date-picker
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="年度">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<el-select placeholder="所属工会" v-model="pageForm.unionId" style="width: 100%;"
|
||||
clearable="true"
|
||||
@change="flushUnits" @clear="flushUnits"
|
||||
|
||||
v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('H03')}"
|
||||
|
||||
filterable="true">
|
||||
<el-option v-for="item in unions" :label="item.unionname" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<el-select placeholder="所属单位" v-model="pageForm.unitId" style="width: 100%;"
|
||||
clearable="true"
|
||||
filterable="true">
|
||||
<el-option v-for="item in units" :label="item.name" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<div>
|
||||
<el-input placeholder="请输入内容" v-model="pageForm.searchKeyword" clearable>
|
||||
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询类型"
|
||||
style="width: 140px;">
|
||||
<el-option label="申请人工号" value="sqr.loginname"></el-option>
|
||||
<el-option label="申请人姓名" value="sqr.username"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-button type="primary" @click="doSearch" icon="el-icon-search"></el-button>
|
||||
</div>
|
||||
<div class="pull-right offscreen-right">
|
||||
<el-radio-group v-model="pageForm.isAudit" @change="doSearch">
|
||||
<el-radio-button :label="true">已审核</el-radio-button>
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
|
||||
<el-card shadow="never" class="mt20">
|
||||
<el-table
|
||||
:data="tableData"
|
||||
style="width: 100%"
|
||||
@sort-change="pageOrder"
|
||||
>
|
||||
<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 align="center" header-align="center" prop="sqrname"
|
||||
label="申请人姓名"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="sqrloginname"
|
||||
label="工号"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="sex"
|
||||
label="性别"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="birthday"
|
||||
label="出生年月"></el-table-column>
|
||||
<el-table-column sortable show-overflow-tooltip align="center"
|
||||
header-align="center" prop="sqrunionname"
|
||||
label="分工会"></el-table-column>
|
||||
<el-table-column sortable show-overflow-tooltip align="center"
|
||||
header-align="center" prop="sqrunitname"
|
||||
label="单位"></el-table-column>
|
||||
<el-table-column prop="lxfs" label="联系方式" header-align="center" align="center"
|
||||
show-overflow-tooltip
|
||||
min-width="100"></el-table-column>
|
||||
<!-- <el-table-column prop="sq_knlx" label="困难类型" header-align="center"-->
|
||||
<!-- align="center"-->
|
||||
<!-- show-overflow-tooltip min-width="100">-->
|
||||
<!-- <template slot-scope="{row}">-->
|
||||
<!-- <span> {{ difficulty.sq_knlx[row.sq_knlx] }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
|
||||
<el-table-column sortable align="center" header-align="center" prop="sqsj"
|
||||
label="申请时间"></el-table-column>
|
||||
<el-table-column align="center" prop="state_id" header-align="center"
|
||||
label="申请状态" sortable>
|
||||
<template scope="scope">
|
||||
<span :style="'color:'+scope.row.statecolor">{{scope.row.state_name}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="操作" fixed="right"
|
||||
width="120px">
|
||||
<template slot-scope="{row}">
|
||||
<el-dropdown @command="dropdownCommand">
|
||||
<el-button plain size="mini">
|
||||
<i class="ti-settings"></i>
|
||||
<span class="ti-angle-down"></span>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="{type:'view',data:row}">
|
||||
查看
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :disabled="row.zt > 155"
|
||||
:command="{type:'openReview',data:row}">
|
||||
审核
|
||||
</el-dropdown-item>
|
||||
<!-- <el-dropdown-item :disabled="row.zt > 155" v-if="${@shiro.hasAnyRoles('sysadmin', 'A06')}"-->
|
||||
<!-- :command="{type:'urging',data:row}">-->
|
||||
<!-- 催办-->
|
||||
<!-- </el-dropdown-item>-->
|
||||
<el-dropdown-item v-if="row.zt==200"
|
||||
:command="{type:'revoke',data:row}">
|
||||
撤回
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<template #edit>
|
||||
<info ref="info2" :handle="true" label="二级党组织审核">
|
||||
<template #handle>
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-position="right"
|
||||
style="padding: 20px 0"
|
||||
label-width="120px">
|
||||
<el-row gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="username" label="审核人员">
|
||||
<el-input v-model="formData.username"
|
||||
disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="time" label="审核时间">
|
||||
<el-input v-model="formData.auditTime" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item prop="auditOpinion" label="审核意见">
|
||||
<el-input type="textarea" v-model="formData.auditOpinion" rows="4" maxlength="500"
|
||||
placeholder="请填写您的审核意见"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="auditSign" label="审核签字">
|
||||
<sign :qz.sync="formData.auditSign"></sign>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<div style="float: right;margin: 20px 0">
|
||||
<el-button type="danger" @click="doReview(1)" :disabled="subDis" :loading="subLoading1">
|
||||
拒绝
|
||||
</el-button>
|
||||
<!-- <el-button type="danger" @click="doReview(3)" :disabled="subDis" :loading="subLoading3">-->
|
||||
<!-- 返回修改-->
|
||||
<!-- </el-button>-->
|
||||
<el-button type="primary" @click="doReview(2)" :disabled="subDis" :loading="subLoading2">
|
||||
通过
|
||||
</el-button>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
</info>
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<info ref="info"></info>
|
||||
</template>
|
||||
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
components: {
|
||||
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
||||
'sign': httpVueLoader('/components/sign/sign.vue?v=2.0.0'),
|
||||
'info': httpVueLoader('/components/difficulty/info.vue'),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
unions: [],
|
||||
units: [],
|
||||
subDis: false,
|
||||
subLoading1: false,
|
||||
subLoading2: false,
|
||||
subLoading3: false,
|
||||
pageForm: {
|
||||
unit: "",
|
||||
year: "",
|
||||
isAudit: false,
|
||||
searchName: "sqr.username"
|
||||
},
|
||||
unitOptions: [],
|
||||
formRules: {
|
||||
auditOpinion: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
auditSign: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'formData.auditSign'(val) {
|
||||
this.$refs.form.validateField(['auditSign'], (val) => {
|
||||
console.log(val)
|
||||
})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
dropdownCommand(command) {
|
||||
const {type, data} = command
|
||||
if (type == 'view') {
|
||||
this.openView(data)
|
||||
} else if (type == 'openReview') {
|
||||
this.openReview(data)
|
||||
} else if (type == 'revoke') {
|
||||
this.revoke(data)
|
||||
}else if (type == 'urging') {
|
||||
this.doUrging(data)
|
||||
}
|
||||
},
|
||||
async doUrging(){
|
||||
const resp = await $.get("")
|
||||
if (resp.code === 0) {
|
||||
this.pageData()
|
||||
this.notifySuccess(resp.msg)
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
},
|
||||
revoke(row) {
|
||||
const {id} = row
|
||||
this.$confirm('您确定要撤回后重新审核吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: async (a, b) => {
|
||||
if ("confirm" == a) {//确认后再执行
|
||||
this.$set(row, "delLoading", true)
|
||||
const resp = await $.post("/platform/fw/difficulty/unionchairman/doEdit", {id: id});
|
||||
this.$set(row, "delLoading", false)
|
||||
if (resp.code === 0) {
|
||||
this.pageData()
|
||||
this.notifySuccess(resp.msg)
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
openView(row) {
|
||||
const {id} = row
|
||||
this.$refs.info.getInfo(id)
|
||||
this.$refs.guava.view()
|
||||
},
|
||||
async openReview(row) {
|
||||
const {id} = row
|
||||
this.formData = {
|
||||
id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
}
|
||||
|
||||
this.$refs.info2.getInfo(id)
|
||||
this.$refs.guava.edit()
|
||||
if (this.$refs['form']) {
|
||||
this.$refs['form'].resetFields()
|
||||
}
|
||||
},
|
||||
async doReview(flag) {
|
||||
this.$refs["form"].validate(async (valid) => {
|
||||
if (valid) {
|
||||
this.formData.pass = flag
|
||||
|
||||
this.subDis = true
|
||||
if (flag == 1) {
|
||||
this.subLoading1 = true
|
||||
} else if (flag == 2) {
|
||||
this.subLoading2 = true
|
||||
} else {
|
||||
this.subLoading3 = true
|
||||
}
|
||||
|
||||
const resp = await $.post(loc() + "/doReview", this.formData)
|
||||
this.subDis = false
|
||||
this.subLoading1 = false
|
||||
this.subLoading2 = false
|
||||
if (resp.code === 0) {
|
||||
this.notifySuccess(resp.msg)
|
||||
this.pageData()
|
||||
this.$refs.guava.index()
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
async flushUnits() {
|
||||
this.$set(this.pageForm, "unitId", "")
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('H03')}" === 'true') {
|
||||
this.units = await getUnits(this.pageForm.unionId)
|
||||
} else {
|
||||
this.units = await getUnits("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.pageData()
|
||||
this.unions = await getUnions()
|
||||
this.flushUnits()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,320 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<!--工会主席-->
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<el-card shadow="never">
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<div class="block">
|
||||
<el-date-picker
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="年度">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-select placeholder="所属工会" v-model="pageForm.unionId" style="width: 100%;"
|
||||
clearable="true"
|
||||
@change="flushUnits" @clear="flushUnits"
|
||||
|
||||
v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('H03')}"
|
||||
|
||||
filterable="true">
|
||||
<el-option v-for="item in unions" :label="item.unionname" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<el-select placeholder="所属单位" v-model="pageForm.unitId" style="width: 100%;"
|
||||
clearable="true"
|
||||
filterable="true">
|
||||
<el-option v-for="item in units" :label="item.name" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="btn-group tool-button">
|
||||
<div>
|
||||
<el-input placeholder="请输入内容" v-model="pageForm.searchKeyword">
|
||||
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询类型"
|
||||
style="width: 140px;">
|
||||
<el-option label="申请人工号" value="sqr.loginname"></el-option>
|
||||
<el-option label="申请人姓名" value="sqr.username"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-group tool-button">
|
||||
<el-button type="primary" @click="doSearch" icon="el-icon-search"></el-button>
|
||||
</div>
|
||||
<div class="pull-right offscreen-right">
|
||||
<el-radio-group v-model="pageForm.isAudit" @change="doSearch">
|
||||
<el-radio-button :label="true">已审核</el-radio-button>
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</el-card>
|
||||
<el-card shadow="never" class="mt20">
|
||||
<el-table
|
||||
:data="tableData"
|
||||
style="width: 100%"
|
||||
@sort-change="pageOrder"
|
||||
>
|
||||
<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 align="center" header-align="center" prop="sqrname"
|
||||
label="申请人姓名"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="sqrloginname"
|
||||
label="工号"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="sex"
|
||||
label="性别"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" prop="birthday"
|
||||
label="出生年月"></el-table-column>
|
||||
<el-table-column sortable show-overflow-tooltip align="center"
|
||||
header-align="center" prop="sqrunionname"
|
||||
label="分工会"></el-table-column>
|
||||
<el-table-column sortable show-overflow-tooltip align="center"
|
||||
header-align="center" prop="sqrunitname"
|
||||
label="分工会"></el-table-column>
|
||||
<el-table-column prop="lxfs" label="联系方式" header-align="center" align="center"
|
||||
show-overflow-tooltip
|
||||
min-width="100"></el-table-column>
|
||||
<!-- <el-table-column prop="sq_knlx" label="困难类型" header-align="center"-->
|
||||
<!-- align="center"-->
|
||||
<!-- show-overflow-tooltip min-width="100">-->
|
||||
<!-- <template slot-scope="{row}">-->
|
||||
<!-- <span> {{ difficulty.sq_knlx[row.sq_knlx] }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
|
||||
<el-table-column sortable align="center" header-align="center" prop="sqsj"
|
||||
label="申请时间"></el-table-column>
|
||||
<el-table-column align="center" prop="state_id" header-align="center"
|
||||
label="申请状态" sortable>
|
||||
<template scope="scope">
|
||||
<span :style="'color:'+scope.row.statecolor">{{scope.row.state_name}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column align="center" header-align="center" label="操作" fixed="right"
|
||||
width="120px">
|
||||
<template slot-scope="{row}">
|
||||
<el-dropdown @command="dropdownCommand">
|
||||
<el-button plain size="mini">
|
||||
<i class="ti-settings"></i>
|
||||
<span class="ti-angle-down"></span>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="{type:'view',data:row}">
|
||||
查看
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :disabled="pageForm.isAudit == true || row.zt!=100"
|
||||
:command="{type:'openReview',data:row}">
|
||||
审核
|
||||
</el-dropdown-item>
|
||||
|
||||
<el-dropdown-item v-if="[150,200].includes(row.zt)"
|
||||
:command="{type:'revoke',data:row}">
|
||||
撤回
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
|
||||
</template>
|
||||
|
||||
<template #edit>
|
||||
<info ref="info2" :handle="true" label="分工会审核" :panes="[2]">
|
||||
<template #handle>
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-position="right"
|
||||
style="padding: 20px 0"
|
||||
label-width="120px">
|
||||
<el-row gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="username" label="审核人员">
|
||||
<el-input v-model="formData.username"
|
||||
disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="time" label="审核时间">
|
||||
<el-input v-model="formData.auditTime" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item prop="auditOpinion" label="审核意见">
|
||||
<el-input type="textarea" v-model="formData.auditOpinion" rows="4" maxlength="500"
|
||||
placeholder="请填写您的审核意见"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="auditSign" label="审核签字">
|
||||
<sign :qz.sync="formData.auditSign"></sign>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
|
||||
<div style="float: right;margin: 20px 0">
|
||||
<el-button type="danger" @click="doReview(1)" :disabled="subDis" :loading="subLoading1">
|
||||
拒绝
|
||||
</el-button>
|
||||
<!-- <el-button type="danger" @click="doReview(2)" :disabled="subDis" :loading="subLoading3">-->
|
||||
<!-- 返回修改-->
|
||||
<!-- </el-button>-->
|
||||
<el-button type="primary" @click="doReview(3)" :disabled="subDis" :loading="subLoading2">
|
||||
通过
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</info>
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<info ref="info"></info>
|
||||
</template>
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
components: {
|
||||
'sign': httpVueLoader('/components/sign/sign.vue?v=2.0.0'),
|
||||
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
||||
'info': httpVueLoader('/components/difficulty/info.vue'),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
unions: [],
|
||||
units: [],
|
||||
subDis: false,
|
||||
subLoading1: false,
|
||||
subLoading2: false,
|
||||
subLoading3: false,
|
||||
pageForm: {
|
||||
unit: "",
|
||||
year: "",
|
||||
isAudit: false,
|
||||
searchName: "sqr.username"
|
||||
},
|
||||
unitOptions: [],
|
||||
formRules: {
|
||||
auditOpinion: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
auditSign: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
dropdownCommand(command) {
|
||||
const {type, data} = command
|
||||
if (type == 'view') {
|
||||
this.openView(data)
|
||||
} else if (type == 'openReview') {
|
||||
this.openReview(data)
|
||||
} else if (type == 'revoke') {
|
||||
this.revoke(data)
|
||||
}
|
||||
},
|
||||
revoke(row) {
|
||||
const {id} = row
|
||||
this.$confirm('您确定要撤回后重新审核吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: async (a, b) => {
|
||||
if ("confirm" == a) {//确认后再执行
|
||||
this.$set(row, "delLoading", true)
|
||||
const resp = await $.post(loc() + "/revoke", {id: id});
|
||||
this.$set(row, "delLoading", false)
|
||||
if (resp.code === 0) {
|
||||
this.pageData()
|
||||
this.notifySuccess(resp.msg)
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
openView(row) {
|
||||
const {id} = row
|
||||
this.$refs.info.getInfo(id)
|
||||
this.$refs.guava.view()
|
||||
},
|
||||
openReview(row) {
|
||||
const {id} = row
|
||||
this.formData = {
|
||||
id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
}
|
||||
this.subLoading1 = false
|
||||
this.subLoading2 = false
|
||||
this.subLoading3 = false
|
||||
this.$refs.info2.getInfo(id)
|
||||
this.$refs.guava.edit()
|
||||
if (this.$refs['form']) {
|
||||
this.$refs['form'].resetFields()
|
||||
}
|
||||
},
|
||||
async doReview(flag) {
|
||||
this.$refs["form"].validate(async (valid) => {
|
||||
if (valid) {
|
||||
this.formData.pass = flag
|
||||
this.subDis = true
|
||||
if (flag == 1) {
|
||||
this.subLoading1 = true
|
||||
} else if (flag == 2) {
|
||||
this.subLoading2 = true
|
||||
} else {
|
||||
this.subLoading3 = true
|
||||
}
|
||||
const resp = await $.post(loc() + "/doReview", this.formData)
|
||||
this.subDis = false
|
||||
this.subLoading1 = false
|
||||
this.subLoading2 = false
|
||||
if (resp.code === 0) {
|
||||
this.notifySuccess(resp.msg)
|
||||
this.pageData()
|
||||
this.$refs.guava.index()
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
async flushUnits() {
|
||||
this.$set(this.pageForm, "unitId", "")
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('H03')}" === 'true') {
|
||||
this.units = await getUnits(this.pageForm.unionId)
|
||||
} else {
|
||||
this.units = await getUnits("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.pageData()
|
||||
this.unions = await getUnions()
|
||||
this.flushUnits()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
Reference in New Issue
Block a user