From daa4b6c11281722578fa4e03ad690401d7c0ea4d Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期一, 05 六月 2023 17:24:57 +0800 Subject: [PATCH] 新增页面和配置 --- src/views/Admin/userManage.vue | 284 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 284 insertions(+), 0 deletions(-) diff --git a/src/views/Admin/userManage.vue b/src/views/Admin/userManage.vue new file mode 100644 index 0000000..7ca56eb --- /dev/null +++ b/src/views/Admin/userManage.vue @@ -0,0 +1,284 @@ +<template> + <div class="inner"> + <a-row type="flex" justify="space-between" style="margin-bottom: 20px"> + <a-col :span="4"> + <a-button type="primary" @click="editData('add',{})">新增用户</a-button> + </a-col> + <a-col :span="20"> + <a-row type="flex" justify="end" :gutter="12"> + <a-col :span="4"> + <a-cascader :options="areaData" v-model="areaVal" placeholder="行政规划" expandTrigger="hover" changeOnSelect @change="onChange" style="width: 100%"/> + </a-col> + <a-col :span="4"> + <a-select v-model="search.searchParams.unittype" placeholder="监管层级" style="width: 100%"> + <a-select-option :value="1"> + 省级 + </a-select-option> + <a-select-option :value="2"> + 地(市、州)级 + </a-select-option> + <a-select-option :value="3"> + 区县级 + </a-select-option> + <a-select-option :value="4"> + 村(乡、镇)级 + </a-select-option> + </a-select> + </a-col> + <a-col :span="4"> + <a-input v-model="search.searchParams.realName" placeholder="姓名" style="width: 100%"/> + </a-col> + <a-col :span="4"> + <a-button type="primary" @click="getUserList">查询</a-button> + <a-button style="margin-left: 12px" @click="resetSearch">重置</a-button> + </a-col> + </a-row> + </a-col> + </a-row> + <div class="table-cont"> + <a-table :columns="columns" :data-source="tableData" :pagination="pagination" :rowKey="record=>record.id" bordered> + <template #sex="sex"> + {{ sex == 0?'男':'女' }} + </template> + <template #level="level"> + <a-tag + :key="level" + :color="level === 1 ? 'pink' : level === 2 ? 'blue' : 'green'" + > + {{ level==1?'省级':level==2?'地(市、州)级':level==3?'区县级':'村(乡、镇)级' }} + </a-tag> + </template> + <template #area="area"> + {{findAreaById(areaData,area)}} + </template> + <template #role="role"> + {{ role == 1?'领导':'工作人员'}} + </template> + <template #action="action,row"> + <a-button type="link" @click="editData('edit',row)">编辑</a-button> + <a-button type="link" class="delBtn">删除</a-button> + <a-button type="link" @click="editPwd(row)">重置密码</a-button> + </template> + </a-table> + </div> + <user-mod ref="userMod" @refrech="getUserList"></user-mod> + <pwd-mod ref="pwdMod" @refrech="getUserList"></pwd-mod> + </div> +</template> + +<script> +import {getUser} from '@/api/user' +import userMod from "@/views/Admin/components/userMod" +import pwdMod from "@/views/Admin/components/pwdMod"; +export default { + name: 'user', + components: { + userMod, + pwdMod + }, + data () { + return { + areaVal: [], + search:{ + pageIndex: 1, + pageSize: 10, + searchParams:{ + realName: '', + districtId: null, + unittype: undefined + } + }, + columns:[ + { + title: '用户ID', + dataIndex: 'id', + key: 'id' + }, + { + title: '姓名', + dataIndex: 'name', + key: 'name' + }, + { + title: '手机号码', + dataIndex: 'phone', + key: 'phone' + }, + { + title: '用户名', + dataIndex: 'userName', + key: 'userName' + }, + { + title: '性别', + dataIndex: 'sex', + key: 'sex', + scopedSlots: { customRender: 'sex' }, + }, + { + title: '级别', + dataIndex: 'level', + key: 'level', + scopedSlots: { customRender: 'level' } + }, + { + title: '行政区划', + dataIndex: 'area', + key: 'area', + scopedSlots: { customRender: 'area' } + }, + { + title: '角色', + dataIndex: 'role', + key: 'role', + scopedSlots: { customRender: 'role' }, + }, + { + title: '操作', + key: 'action', + scopedSlots: { customRender: 'action' }, + }, + ], + tableData: [ + { + id: 1, + name: 'John Brown', + phone: '15261806177', + userName: 'JBrown', + sex: 0, + level: 1, + area: 111, + role: 1 + }, + { + id: 2, + name: 'Jim Green', + phone: '15261806178', + userName: 'JGreen', + sex: 1, + level: 2, + area: 211, + role: 2 + }, + { + id: 3, + name: 'Joe Black', + phone: '15261806176', + userName: 'JBlack', + sex: 0, + level: 3, + area: 11, + role: 1 + }, + ], + pagination: { + current: 1, + defaultCurrent: 1, + defaultPageSize: 10, + total: 11, + onChange: ( page, pageSize ) => this.onPageChange(page,pageSize) + }, + areaData: [ + { + value: 1, + label: '江苏省', + children: [ + { + value: 11, + label: '苏州市', + children: [ + { + value: 111, + label: '工业园区', + }, + ], + }, + ], + }, + { + value: 2, + label: '新疆维吾尔自治区', + children: [ + { + value: 21, + label: '乌鲁木齐市', + children: [ + { + value: 211, + label: '国泰新华', + }, + ], + }, + ], + }, + ] + } + }, + created() { + const t = this + t.getUserList() + }, + methods:{ + async getUserList(){ + const t = this + const res = await getUser(t.search) + }, + + resetSearch(){ + const t = this + t.areaVal = [] + t.search = { + pageIndex: 1, + pageSize: 10, + searchParams:{ + realName: '', + districtId: null, + unittype: undefined + } + } + t.getUserList() + }, + + editData(type,data){ + const t = this + t.$refs.userMod.openDialog(type,data) + t.$refs.userMod.areaData = t.areaData + }, + + editPwd(record){ + const t = this + t.$refs.pwdMod.form.id = record.id + t.$refs.pwdMod.visible = true + }, + + onPageChange(page, pageSize) { + const t= this + t.pagination.current = page + }, + onChange(value) { + const t = this + t.search.searchParams.districtId = value[value.length - 1] + }, + findAreaById(data,value) { + for (const node of data) { + if (node.value === value) { + return node.label; + } + if (node.children) { + const foundLabel = this.findAreaById(node.children, value); + if (foundLabel) { + return foundLabel; + } + } + } + return null; + } + } +} +</script> + +<style lang="less" scoped> +.delBtn{ + color: @danger +} +</style> -- Gitblit v1.9.2