Files
UNION_HUTB/target/classes/views/platform/jdh/zzjg/cbldxz.html
T
2026-09-09 09:14:28 +08:00

259 lines
11 KiB
HTML

<!--#
layout("/layouts/platform.html"){
#-->
<style>
.el-dialog .el-select {
width: 100% !important;
}
</style>
<div :style="{padding:(tabShow?'0':'10px')}" id="app" v-cloak>
<transition name="el-zoom-in-center">
<div v-show="tabShow">
<el-row class="header navbar bg-white shadow">
<div class="btn-group tool-button mt5">
<div>
<el-input @keyup.enter.native="doSearch" placeholder="请输入内容" v-model="pageForm.searchKeyword">
<el-select placeholder="查询" slot="prepend" style="width: 100px;"
v-model="pageForm.searchName">
<el-option label="工号" value="u.loginname"></el-option>
<el-option label="姓名" value="u.username"></el-option>
</el-select>
</el-input>
</div>
</div>
<div class="btn-group tool-button mt5">
<el-select clearable placeholder="请选择教代会" v-model="pageForm.jdhid">
<el-option
:key="item.id"
:label="item.jdhallname"
:value="item.id"
v-for="item in jdhList">
</el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-button @click="doSearch" icon="el-icon-search" type="primary"></el-button>
</div>
<div class="pull-right offscreen-right mt5">
<el-button @click="openAdd" size="medium"><i class="ti-plus"></i> 添加成员</el-button>
</div>
</el-row>
<el-row class="el-table-container">
<el-table :data="tableData" @sort-change='pageOrder'>
<el-table-column align="center" header-align="center" label="序号" type="index">
<template scope="scope">
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span></template>
</el-table-column>
<el-table-column label="工号" prop="loginname"></el-table-column>
<el-table-column label="姓名" prop="username"></el-table-column>
<el-table-column label="性别" prop="sex" sortable></el-table-column>
<el-table-column label="手机" prop="mobile"></el-table-column>
<el-table-column label="单位" prop="dwname" sortable></el-table-column>
<el-table-column label="教代会" prop="jdhallname" sortable></el-table-column>
<el-table-column label="身份" prop="sf" sortable>
<template slot-scope="{row}">
<span class="text-primary" v-if="row.sf===1">组员</span>
<span class="text-primary" v-if="row.sf===2">负责人</span>
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="操作" width="300">
<template slot-scope="{row}">
<el-dropdown>
<el-button size="mini">
<i class="ti-settings"></i>
<span class="ti-angle-down"></span>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="openView(row)">
查看
</el-dropdown-item>
<el-dropdown-item @click.native="doDelete(row.id, row.userid, row.jdhid)">
删除
</el-dropdown-item>
<el-dropdown-item @click.native="updateSf(row.id,1)" class="text-primary"
v-if="row.sf!==1">设置组员
</el-dropdown-item>
<el-dropdown-item @click.native="updateSf(row.id,2)" class="text-primary"
v-if="row.sf!==2">设置负责人
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
</el-row>
<!--#include("/layouts/pagination.html"){}#-->
<el-dialog :visible.sync="addDialogVisible" title="添加组员">
<el-form :model="formData" :rules="rules" label-width="100px" ref="addForm">
<el-form-item label="所属教代会" prop="jdhid">
<el-select @change="jdhChange" placeholder="选择教代会" v-model="formData.jdhid">
<el-option
:key="item.id"
:label="item.jdhallname"
:value="item.id"
v-for="item in jdhList">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="小组成员" prop="cyuser">
<el-select
:remote-method="queryUser"
filterable
multiple
placeholder="请输入用户工号或姓名关键字"
remote
reserve-keyword
v-model="formData.cyuser">
<el-option
:key="item.id"
:label="item.loginname+' '+item.username+' '+item.dwname"
:value="item.id"
v-for="item in userList">
</el-option>
</el-select>
</el-form-item>
</el-form>
<span class="dialog-footer" slot="footer">
<el-button @click="addDialogVisible = false">取 消</el-button>
<el-button @click="doAdd" type="primary">确 定</el-button>
</span>
</el-dialog>
</div>
</transition>
<db-info :active="'1'" :show="!tabShow" :uid="uid">
<template slot="title">
<div @click="tabShow=true" class="text-primary pointer" style="font-size: 20px">
<i class="el-icon-arrow-left"></i>
返回
</div>
</template>
</db-info>
</div>
<script>
let vue = new Vue({
el: "#app",
data() {
return {
visible: false,
tabShow: true,
rules: {
jdhid: [{required: true, message: '请选择教代会', trigger: ['blur', 'change']}],
cyuser: [{required: true, message: '请搜索并选择用户', trigger: ['blur', 'change']}]
},
addDialogVisible: false,
roleDialogVisible: false,
tableData: [],
jdhList: [],
userList: [],
pageForm: {
searchName: "u.username",
...getPageForm(),
jdhid: '',
},
roleData: {jdh_cbldxz: {}, sys_user: {}, sys_unit: {}, jdh_jdhxx: {}},
formData: {
cyuser: [],
jdhid: ''
},
dbModal: false,
uid: ''
}
},
components: {
'db-info': httpVueLoader('/components/jdh/dbinfo.vue')
},
methods: {
openView(row) {
this.tabShow = false
this.uid = row.userid
},
queryUser(query) {
if (this.formData.jdhid === '') {
this.$message.info('请先选择教代会')
return
}
if (query !== '') {
$.get(base + '/platform/jdh/zzjg/cbldxz/queryUser', {
keyword: query,
jdhid: this.formData.jdhid
}).then(res => {
this.userList = res.data.list
})
}
},
doDelete(id, userid, jdhid) {
this.$confirm('确定要删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
$.post(base + '/platform/jdh/zzjg/cbldxz/doDelete', {
id: id,
userid: userid,
jdhid: jdhid
}).then(res => {
if (res.code === 0) {
this.pageData()
this.$message.success(res.msg)
}
})
}).catch(() => {
})
},
jdhChange() {
this.userList = []
this.formData.cyuser = []
},
openAdd() {
this.formData = {cyuser: [], jdhid: this.pageForm.jdhid}
this.userList = []
this.addDialogVisible = true
},
doAdd() {
this.$refs["addForm"].validate(valid => {
if (valid) {
$.post(base + '/platform/jdh/zzjg/cbldxz/doAdd', {
jdhid: this.formData.jdhid,
userids: this.formData.cyuser
}).then(res => {
if (res.code === 0) {
this.addDialogVisible = false
this.pageData()
this.$message.success(res.msg)
}
})
}
})
},
updateSf(id, sf) {
$.post(base + '/platform/jdh/zzjg/cbldxz/updateSf', {id: id, sf: sf}).then(res => {
if (res.code === 0) {
this.$message.success(res.msg)
this.pageData()
}
})
},
...pageSomeThing
},
async created() {
this.pageData()
this.jdhList = await getAllJdh()
}
})
</script>
<!--#
}
#-->