154 lines
6.4 KiB
JavaScript
154 lines
6.4 KiB
JavaScript
const UNIT_LEADER_MANAGE_TEMPLATE = {
|
|
template: `
|
|
<div>
|
|
<el-card shadow="never" style="border: 1px solid var(--border-color-lighter); margin-top: 10px">
|
|
<el-row :gutter="10" type="flex">
|
|
<el-input placeholder="请输入内容" size="small" v-model="pageForm.searchKeyword"
|
|
clearable
|
|
@keyup.enter.native="doSearch" style="width: 300px">
|
|
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询类型" style="width: 80px">
|
|
<el-option label="姓名" value="username"></el-option>
|
|
<el-option label="工号" value="loginname"></el-option>
|
|
</el-select>
|
|
</el-input>
|
|
<el-button type="primary" class="ml5" size="small" icon="el-icon-search" @click="doSearch"></el-button>
|
|
</el-row>
|
|
</el-card>
|
|
<el-card shadow="never" style="border: 1px solid var(--border-color-lighter); margin-top: 10px">
|
|
<table-tool label="人员列表">
|
|
<el-button @click="openAdd" type="primary" size="small">新增</el-button>
|
|
</table-tool>
|
|
<el-table :data="tableData" size="mini">
|
|
<el-table-column label="序号" type="index" width="60">
|
|
<template v-slot="scope">{{scope.$index + (pageForm.pageNumber - 1) * pageForm.pageSize + 1}}</template>
|
|
</el-table-column>
|
|
<el-table-column label="姓名" prop="username"></el-table-column>
|
|
<el-table-column label="工号" prop="loginname"></el-table-column>
|
|
<el-table-column label="角色" prop="roleName"></el-table-column>
|
|
<el-table-column label="操作" width="100px">
|
|
<template v-slot="scope">
|
|
<el-button size="mini" type="danger" @click="doDelete(scope.row)">删除</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<!--#include("/layouts/pagination.html"){}#-->
|
|
</el-card>
|
|
<el-dialog title="添加" :visible.sync="dialogFormVisible" width="600px" :close-on-click-modal="false">
|
|
<el-form :model="formData" ref="form" size="small" label-width="60px">
|
|
<el-form-item prop="roleCode" label="角色">
|
|
<dict-select placeholder="请选择角色" v-model="formData.roleCode" code="UNIT_ROLES" @change="onRoleChange"></dict-select>
|
|
</el-form-item>
|
|
<el-form-item prop="userId" label="人员">
|
|
<user-select
|
|
placeholder="请选择人员"
|
|
style="width: 100%"
|
|
v-model="formData.userId"
|
|
api="/platform/sys/unit/listUserSelect"
|
|
:api_params="{ unitId: currentData?.id, roleCode: formData.roleCode }"
|
|
:option_label_func="
|
|
(item) => {
|
|
return item.username + item.loginname + '(' + item.unitName + ')'
|
|
}
|
|
"
|
|
></user-select>
|
|
</el-form-item>
|
|
</el-form>
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
|
<el-button type="primary" @click="doSubmit">确 定</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
</div>
|
|
`,
|
|
props: {
|
|
currentData: {
|
|
type: Object,
|
|
required: false
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
dialogFormVisible: false,
|
|
formData: {},
|
|
pageForm: {
|
|
unitName: "",
|
|
searchName: "username",
|
|
searchKeyword: "",
|
|
pageNumber: 1,
|
|
pageSize: 10,
|
|
totalCount: 0,
|
|
pageOrderName: "",
|
|
pageOrderBy: "",
|
|
audit: false
|
|
},
|
|
tableData: []
|
|
}
|
|
},
|
|
computed: {},
|
|
methods: {
|
|
onRoleChange() {
|
|
this.$set(this.formData, "userId", "")
|
|
},
|
|
doDelete({ userId, roleCode }) {
|
|
this.$confirm("您确定要删除吗?", "提示", {
|
|
confirmButtonText: "确定",
|
|
cancelButtonText: "取消",
|
|
type: "info"
|
|
}).then((res) => {
|
|
$.post("/platform/sys/unit/deleteUnitUserRole", {
|
|
userId,
|
|
roleCode,
|
|
unitId: this.currentData.id
|
|
}).then((res) => {
|
|
if (res.code === 0) {
|
|
this.$message.success(res.msg)
|
|
this.doSearch()
|
|
}
|
|
})
|
|
})
|
|
},
|
|
openAdd() {
|
|
this.dialogFormVisible = true
|
|
this.$nextTick(() => {
|
|
this.formData = {}
|
|
})
|
|
},
|
|
doSubmit() {
|
|
$.post("/platform/sys/unit/insertUnitUserRole", {
|
|
...this.formData,
|
|
unitId: this.currentData.id
|
|
}).then((res) => {
|
|
if (res.code === 0) {
|
|
this.dialogFormVisible = false
|
|
this.$message.success(res.msg)
|
|
this.doSearch()
|
|
}
|
|
})
|
|
},
|
|
doSearch() {
|
|
this.pageForm.pageNumber = 1
|
|
this.pageData()
|
|
},
|
|
pageNumberChange(val) {
|
|
this.pageForm.pageNumber = val
|
|
this.pageData()
|
|
},
|
|
pageSizeChange(val) {
|
|
this.pageForm.pageSize = val
|
|
this.pageData()
|
|
},
|
|
pageData() {
|
|
this.pageForm.unitId = this.currentData.id
|
|
this.$axios.post(loc() + "/leaderPageData", this.pageForm).then((res) => {
|
|
if (res.code === 0) {
|
|
this.tableData = res.data.list
|
|
this.pageForm.totalCount = res.data.totalCount
|
|
}
|
|
})
|
|
}
|
|
},
|
|
created() {
|
|
this.pageData()
|
|
}
|
|
}
|