first commit
This commit is contained in:
@@ -0,0 +1,234 @@
|
||||
<!--#
|
||||
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>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
Reference in New Issue
Block a user