From 1df2f72ad0321815d5874b4083aac2999bd2da18 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期三, 05 七月 2023 17:11:46 +0800 Subject: [PATCH] 修改 --- src/views/Admin/sameLevel.vue | 235 ++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 137 insertions(+), 98 deletions(-) diff --git a/src/views/Admin/sameLevel.vue b/src/views/Admin/sameLevel.vue index 8832d14..9e82507 100644 --- a/src/views/Admin/sameLevel.vue +++ b/src/views/Admin/sameLevel.vue @@ -2,12 +2,12 @@ <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-button v-if="unittype && unittype !== null" type="primary" @click="editData('add',{})">新增用户</a-button> </a-col> - <a-col :span="20"> + <a-col :span="20" v-if="unittype == null || !unittype"> <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-cascader :options="areaData" v-model="areaVal" placeholder="行政规划" expandTrigger="hover" :fieldNames="fieldNames" changeOnSelect @change="onChange" style="width: 100%"/> </a-col> <a-col :span="4"> <a-button type="primary" @click="getUserList">查询</a-button> @@ -17,30 +17,35 @@ </a-col> </a-row> <div class="table-cont"> - <a-table :columns="columns" :data-source="tableData" :pagination="pagination" :rowKey="record=>record.name" bordered> - <template #levels="level"> + <a-table :columns="columns" :data-source="tableData" :pagination="pagination" :rowKey="record=>record.id" bordered> + <template #unittype="unittype"> <a-tag - :color="level === 1 ? 'pink' : level === 2 ? 'blue' : 'green'" + :color="unittype === 1 ? 'purple' : unittype === 2 ? 'blue' : unittype === 3 ? 'cyan' : 'green'" > - {{ level === 1 ? '省级' : level === 2 ? '地(市、州)级' : level === 3 ? '区县级' : '村(乡、镇)级' }} + {{ unittype==1?'省级':unittype==2?'地(市、州)级':unittype==3?'区县级':unittype==4?'村(乡、镇)级':'管理员' }} </a-tag> </template> - <template #area="area"> - {{findAreaById(areaData,area)}} + <template #area="text,row"> + <span v-if="row.province !== null && row.province !== ''">{{row.province}}</span> + <span v-if="row.city !== null && row.city !== ''">-{{row.city}}</span> + <span v-if="row.area !== null && row.area !== ''">-{{row.area}}</span> + <span v-if="row.town !== null && row.town !== ''">-{{row.town}}</span> </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" class="delBtn" @click="delData(row)">删除</a-button> </template> </a-table> </div> - <same-level-mod ref="sameLevelMod" @refrech="getUserList"></same-level-mod> + <same-level-mod ref="sameLevelMod" @refresh="getUserList"></same-level-mod> </div> </template> <script> -import {getUser} from '@/api/user' +import {delRecipient, delUser, getRecipient, getUser} from '@/api/user' import sameLevelMod from "@/views/Admin/components/sameLevelMod" +import {getUserInfo} from "@/util/storage"; +import {getDistrictInfo} from "@/api/login"; export default { name: 'sameLevel', components: { @@ -49,23 +54,28 @@ data () { return { areaVal: [], + unittype: null, + districtId: null, search:{ pageIndex: 1, pageSize: 10, searchParams:{ - districtId: null + province: '', + city: '', + area: '', + town: '' } }, columns:[ { title: '单位名称', - dataIndex: 'depName', - key: 'depName' + dataIndex: 'company', + key: 'company' }, { title: '接收人姓名', - dataIndex: 'name', - key: 'name' + dataIndex: 'recipientName', + key: 'recipientName' }, { title: '手机号码', @@ -74,14 +84,14 @@ }, { title: '级别', - dataIndex: 'level', - key: 'level', - scopedSlots: { customRender: 'levels' } + dataIndex: 'unittype', + // key: 'unittype', + scopedSlots: { customRender: 'unittype' } }, { title: '行政区划', dataIndex: 'area', - key: 'area', + // key: 'area', scopedSlots: { customRender: 'area' } }, { @@ -90,80 +100,60 @@ scopedSlots: { customRender: 'action' } }, ], - tableData: [ - { - depName: '阿勒泰地区自然资源局', - name: 'John Brown', - phone: '15261806177', - level: 1, - area: 111 - }, - { - depName: '阿勒泰地区公安局', - name: 'Jim Green', - phone: '15261806178', - level: 2, - area: 211 - }, - { - depName: '阿勒泰地区自然资源局', - name: 'Joe Black', - phone: '15261806176', - level: 3, - area: 11 - }, - ], + tableData: [], pagination: { current: 1, defaultCurrent: 1, defaultPageSize: 10, - total: 11, - onChange: ( page, pageSize ) => this.onPageChange(page,pageSize) + total: 0, + onChange: ( page, pageSize ) => this.onPageChange(page,pageSize), + showTotal: total => `共 ${total} 条` }, - areaData: [ - { - value: 1, - label: '江苏省', - children: [ - { - value: 11, - label: '苏州市', - children: [ - { - value: 111, - label: '工业园区', - }, - ], - }, - ], - }, - { - value: 2, - label: '新疆维吾尔自治区', - children: [ - { - value: 21, - label: '乌鲁木齐市', - children: [ - { - value: 211, - label: '国泰新华', - }, - ], - }, - ], - }, - ] + areaData: [], + fieldNames:{ + label: 'name', + value: 'id', + children: 'children' + } } }, created() { const t = this + t.unittype = getUserInfo().unittype + t.districtId = getUserInfo().districtId t.getUserList() + t.getDistrictInfo() }, methods:{ async getUserList(){ const t = this - const res = await getUser(t.search) + if(t.search.searchParams.province == '' && t.search.searchParams.city == '' && t.search.searchParams.area == '' ){ + const {searchParams,...data} = t.search + const res = await getRecipient(data) + if(res.data.code == 100){ + t.tableData = res.data.data + t.pagination.total = res.data.total + }else{ + t.$message.warning(res.data.msg); + } + }else{ + const res = await getRecipient(t.search) + if(res.data.code == 100){ + t.tableData = res.data.data + t.pagination.total = res.data.total + }else{ + t.$message.warning(res.data.msg); + } + } + }, + + async getDistrictInfo(){ + let res = await getDistrictInfo() + if(res.data.code == 100){ + this.areaData = res.data.data + } else { + this.$message.warning(res.data.msg); + } }, resetSearch(){ @@ -173,7 +163,10 @@ pageIndex: 1, pageSize: 10, searchParams:{ - districtId: null + province: '', + city: '', + area: '', + town: '' } } t.getUserList() @@ -183,31 +176,77 @@ const t = this t.$refs.sameLevelMod.openDialog(type,data) t.$refs.sameLevelMod.areaData = t.areaData + t.$refs.sameLevelMod.form.unittype = t.unittype + t.$refs.sameLevelMod.form.districtId = t.districtId + }, + + async delData(row){ + const t = this + this.$confirm({ + title: '提示', + content: h => <div>是否删除该条用户信息?</div>, + cancelText: '取消', + okText: '确认', + centered: true, + onOk() { + delRecipient(row.id).then(res=>{ + if(res.data.code == 100){ + t.$message.success('删除用户信息成功'); + t.getUserList() + }else{ + t.$message.warning(res.data.msg); + } + }) + }, + onCancel() { + console.log('Cancel'); + }, + }); + }, + + // 根据id查对象 + findCodeById(data,value) { + for (const node of data) { + if (node.id === value) { + return node; + } + if (node.children) { + const foundNode = this.findCodeById(node.children, value); + if (foundNode) { + return foundNode; + } + } + } + return null; }, onPageChange(page, pageSize) { const t= this t.pagination.current = page + t.search.pageIndex = page + t.getUserList() }, 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; - } - } + t.search.searchParams = { + province: '', + city: '', + area: '', + town: '' } - return null; - } + if(value[0]){ + t.search.searchParams.province = t.findCodeById(t.areaData,value[0]).name + } + if(value[1]){ + t.search.searchParams.city = t.findCodeById(t.areaData,value[1]).name + } + if(value[2]){ + t.search.searchParams.area = t.findCodeById(t.areaData,value[2]).name + } + if(value[3]){ + t.search.searchParams.town = t.findCodeById(t.areaData,value[3]).name + } + }, } } </script> -- Gitblit v1.9.2