Files
UNION_NSI/target/classes/views/platform/jdh/two/dbgl.html
T
2026-09-08 19:49:21 +08:00

235 lines
9.7 KiB
HTML

<!--#
layout("/layouts/platform.html"){
#-->
<div id="app" v-cloak>
<guava ref="guava">
<el-card shadow="never">
<div class="btn-group tool-button mt5">
<el-input placeholder="请输入内容" clearable v-model="pageForm.searchKeyword"
@keyup.enter.native="doSearch">
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询类型"
style="width: 100px;">
<el-option label="姓名" value="u.username"></el-option>
<el-option label="工号" value="u.loginname"></el-option>
</el-select>
</el-input>
</div>
<div class="btn-group tool-button">
<el-select clearable v-model="pageForm.unionid" placeholder="请选择分工会" @change="getJdhList">
<el-option v-for="i in fghList" :label="i.unionname" :value="i.id" :key="i.id"></el-option>
</el-select>
</div>
<div class="btn-group tool-button">
<el-select v-model="pageForm.jdhid" placeholder="请选择教代会">
<el-option v-for="i in jdhList" :label="i.jdhallname" :value="i.id" :key="i.id"></el-option>
</el-select>
</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 mt5">
<el-button type="primary" @click="openAdd">添加代表</el-button>
</div>
</el-card>
<el-card shadow="never" class="mt20">
<el-table
:data="tableData"
@sort-change='pageOrder'>
<el-table-column label="序号" type="index" width="50"></el-table-column>
<el-table-column
align="center"
header-align="center"
v-for="column in tableColumns"
:label="column.label"
:prop="column.prop"
:sortable="column.sortable"
show-overflow-tooltip></el-table-column>
<el-table-column prop="userOnline" align="center" header-align="center" label="操作"
width="150px">
<template scope="{row}">
<el-button size="mini" type="danger" :loading="row.loading" @click="doDelete(row)">删除
</el-button>
</template>
</el-table-column>
</el-table>
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
</guava>
<el-dialog :title="dbTitle" :visible.sync="addDialogVisible" width="40%">
<el-form :model="formData" ref="AddForm" :rules="rules" label-width="80px">
<el-form-item prop="unionid" label="分工会:">
<el-select clearable v-model="formData.unionid" placeholder="请选择分工会" @change="getJdhList2"
style="width: 100%">
<el-option v-for="i in fghList" :label="i.unionname" :value="i.id" :key="i.id"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="jdhid" label="教代会:">
<el-select v-model="formData.jdhid" placeholder="请选择教代会" style="width: 100%">
<el-option v-for="i in jdhList2" :label="i.jdhallname" :value="i.id" :key="i.id"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="userList" label="用户">
<el-select
v-model="formData.userList"
value-key="id"
filterable
remote
multiple
reserve-keyword
placeholder="请输入工号或者姓名"
:remote-method="queryNotDbUser" style="width: 100%">
<el-option
v-for="item in notUserList"
:key="item.id"
:label="item.username+'-'+item.loginname+'-'+item.unitname"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="doAdd">确 定</el-button>
</span>
</el-dialog>
</div>
<script>
var vue = new Vue({
el: '#app',
mixins: [initTableMixins],
data() {
return {
dbTitle: "新增代表",
addDialogVisible: false,
pageForm: {
searchName: "u.username",
jdhid: ""
},
fghList: [],
jdhList: [],
jdhList2: [],
notUserList: [],
tableColumns: [
{prop: 'loginname', label: '工号', sortable: true},
{prop: 'username', label: '姓名', sortable: true},
{prop: 'sex', label: '性别', sortable: true},
{prop: 'mobile', label: '联系方式', sortable: true},
{prop: 'unitname', label: '所属单位', sortable: true},
{prop: 'unionname', label: '所属工会', sortable: true},
{prop: 'jdhallname', label: '教代会', sortable: true},
],
formData: {
jdhid: "",
userList: ""
},
rules: {
unionid: [{required: true, trigger: ['blur', 'change'], message: '请选择工会'}],
userList: [{required: true, trigger: ['blur', 'change'], message: '请选择代表'}],
},
}
},
methods: {
doDelete(row) {
const {id, userid, jdhid} = row
this.$confirm('确定要删除该代表吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback: async (a, b) => {
if ("confirm" === a) {//确认后再执行
this.$set(row, "loading", true)
const resp = await $.post(loc() + "/doDelete", {id: id, userid: userid, jdhid: jdhid});
this.$set(row, "loading", false)
this.pageData()
}
}
})
},
doAdd() {
this.$refs['AddForm'].validate(async valid => {
if (valid) {
const loading = this.$loading({
lock: true,
text: '正在添加中,请稍后...',
spinner: 'el-icon-loading',
background: "rgba(0,0,0,.45)"
});
this.formData.userList = JSON.stringify(this.formData.userList)
const {data} = await $.post(loc() + "/doAdd", this.formData)
this.pageData()
this.addDialogVisible = false
loading.close()
}
})
},
async openAdd() {
this.fghList = await getUnion()
if ("${@shiro.hasRole('H04')}" === 'true') {
this.formData.unionid = this.fghList[0].id
await this.getJdhList2()
}
this.addDialogVisible = true
if (this.$refs["AddForm"]) this.$refs["AddForm"].resetFields()
},
async queryNotDbUser(key) {
if (this.formData.unionid === '') {
this.$message.info('请先选择分工会')
return
}
this.formData.keyword = key
const {data} = await $.post(loc() + "/queryNotUser", this.formData)
this.notUserList = data.list
},
async getJdhList() {
this.jdhList = []
this.pageForm.jdhid = ""
const resp = await $.post(loc() + "/getJdhList", {unionid: this.pageForm.unionid})
if (resp.length > 0 && this.pageForm.unionid) {
this.jdhList = resp
this.pageForm.jdhid = resp[0].id
} else {
this.jdhList = []
}
},
async getJdhList2() {
this.jdhList2 = []
this.formData.jdhid = ""
const resp = await $.post(loc() + "/getJdhList", {unionid: this.formData.unionid})
if (resp.length > 0 && this.formData.unionid) {
this.jdhList2 = resp
this.formData.jdhid = resp[0].id
} else {
this.jdhList2 = []
}
},
},
async created() {
this.fghList = await getUnions()
if ("${@shiro.hasRole('H04')}" === 'true') {
this.pageForm.unionid = this.fghList[0].id
await this.getJdhList()
}
this.pageData()
}
})
</script>
<!--#
}
#-->