From 3cc4abeb92d11d7a8b365928c5aa9452679fe06c Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期一, 19 八月 2024 09:04:50 +0800 Subject: [PATCH] 责任人增加筛选条件 --- src/views/Admin/sameLevel.vue | 112 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 99 insertions(+), 13 deletions(-) diff --git a/src/views/Admin/sameLevel.vue b/src/views/Admin/sameLevel.vue index 14db0ed..df461d7 100644 --- a/src/views/Admin/sameLevel.vue +++ b/src/views/Admin/sameLevel.vue @@ -1,26 +1,38 @@ <template> <div class="inner"> <a-row type="flex" justify="space-between" style="margin-bottom: 20px"> - <a-col :span="4"> - <a-button v-if="unittype && unittype !== null" type="primary" @click="editData('add',{})">新增用户</a-button> + <a-col :span="4" v-if="unittype && unittype !== null" style="margin-bottom: 10px"> + <a-button type="primary" @click="editData('add',{})">新增用户</a-button> </a-col> - <a-col :span="20"> - <a-row type="flex" justify="end" :gutter="14"> - <a-col :span="6"> + <a-col :span="24"> + <a-row type="flex" :gutter="24"> + <a-col :span="4"> + <a-select v-model="search.searchParams.peerRecipientGroupId" placeholder="选择分组" style="width: 100%" @change="handleChange" allowClear show-search :filter-option="filterOption"> + <a-select-option v-for="item in groupData" :value="item.id" :key="item.id">{{item.name}}</a-select-option> + </a-select> + </a-col> + <a-col :span="3"> <a-input v-model="search.searchParams.company" placeholder="单位名称" style="width: 100%"/> </a-col> - <a-col :span="6" v-if="unittype == null || !unittype"> + <a-col :span="3"> + <a-input v-model="search.searchParams.name" placeholder="姓名" style="width: 100%"/> + </a-col> + <a-col :span="3"> + <a-input v-model="search.searchParams.phone" placeholder="电话" style="width: 100%"/> + </a-col> + <a-col :span="4" v-if="unittype == null || !unittype"> <a-cascader :options="areaData" v-model="areaVal" placeholder="所属区域" expandTrigger="hover" :fieldNames="fieldNames" changeOnSelect @change="onChange" style="width: 100%"/> </a-col> <a-col :span="6"> <a-button type="primary" @click="getUserList" v-preventReClick="1500">查询</a-button> <a-button style="margin-left: 12px" @click="resetSearch">重置</a-button> + <a-button type="danger" style="margin-left: 12px" @click="delBySet">批量删除</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> + <a-table :columns="columns" :data-source="tableData" :pagination="pagination" :rowKey="record=>record.id" bordered :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"> <template #unittype="unittype"> <a-tag :color="unittype === 1 ? 'purple' : unittype === 2 ? 'blue' : unittype === 3 ? 'cyan' : 'green'" @@ -45,7 +57,7 @@ </template> <script> -import {delRecipient, delUser, getRecipient, getUser} from '@/api/user' +import {delRecipient, delRecipientBatch, delUser, getRecipient, getSameLevelGroupList, getUser} from '@/api/user' import sameLevelMod from "@/views/Admin/components/sameLevelMod" import {getUserInfo} from "@/util/storage"; import {getDistrictInfo} from "@/api/login"; @@ -67,9 +79,13 @@ province: '', city: '', area: '', - town: '' + town: '', + name: '', + phone: '', + peerRecipientGroupId: undefined } }, + selectedRowKeys: [], columns:[ { title: '单位名称', @@ -80,6 +96,11 @@ title: '接收人姓名', dataIndex: 'recipientName', key: 'recipientName' + }, + { + title: '所属分组', + dataIndex: 'peerRecipientGroupName', + key: 'peerRecipientGroupName' }, { title: '手机号码', @@ -106,6 +127,7 @@ }, ], tableData: [], + groupData: [], pagination: { current: 1, defaultCurrent: 1, @@ -124,16 +146,19 @@ }, created() { const t = this + t.groupData = [] t.unittype = getUserInfo().unittype t.districtId = getUserInfo().districtId + t.getGroupList() t.getUserList() t.getDistrictInfo() }, methods:{ async getUserList(){ const t = this - if(t.search.searchParams.province == '' && t.search.searchParams.city == '' && t.search.searchParams.area == '' && t.search.searchParams.company == ''){ + if(t.search.searchParams.phone == '' && t.search.searchParams.recipientName == '' && t.search.searchParams.province == '' && t.search.searchParams.city == '' && t.search.searchParams.area == '' && t.search.searchParams.company == '' && t.search.searchParams.peerRecipientGroupId == undefined){ const {searchParams,...data} = t.search + console.log(data,'data') const res = await getRecipient(data) if(res.data.code == 100){ t.tableData = res.data.data @@ -161,6 +186,23 @@ } }, + async getGroupList() { + const t = this + const res = await getSameLevelGroupList(); + if(res.data.code == 100){ + if(res.data.data){ + let arr = res.data.data + t.groupData = arr.concat([{id: -1, name: '未分类'}]) + }else{ + t.groupData = [{ + id: -1, + name: '未分类' + }] + } + }else{ + this.$message.error(res.data.msg) + } + }, resetSearch(){ const t = this t.areaVal = [] @@ -172,7 +214,10 @@ province: '', city: '', area: '', - town: '' + town: '', + name: '', + phone: '', + peerRecipientGroupId: undefined } } t.getUserList() @@ -180,10 +225,16 @@ editData(type,data){ const t = this - t.$refs.sameLevelMod.openDialog(type,data) + t.$refs.sameLevelMod.openDialog(type,data,t.groupData) t.$refs.sameLevelMod.areaData = t.areaData t.$refs.sameLevelMod.form.unittype = t.unittype t.$refs.sameLevelMod.form.districtId = t.districtId + }, + + filterOption(input, option) { + return ( + option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0 + ); }, async delData(row){ @@ -226,6 +277,31 @@ return null; }, + async delBySet(){ + const t = this + this.$confirm({ + title: '提示', + content: h => <div>是否删除所选用户信息?</div>, + cancelText: '取消', + okText: '确认', + centered: true, + onOk() { + delRecipientBatch(t.selectedRowKeys.join(',')).then(res=>{ + if(res.data.code == 100){ + t.$message.success('删除用户信息成功'); + t.getUserList() + t.selectedRowKeys = [] + }else{ + t.$message.warning(res.data.msg); + } + }) + }, + onCancel() { + console.log('Cancel'); + }, + }); + }, + onPageChange(page, pageSize) { const t= this t.pagination.current = page @@ -239,7 +315,10 @@ province: '', city: '', area: '', - town: '' + town: '', + name: '', + phone: '', + peerRecipientGroupId: undefined } if(value[0]){ t.search.searchParams.province = t.findCodeById(t.areaData,value[0]).name @@ -254,6 +333,13 @@ t.search.searchParams.town = t.findCodeById(t.areaData,value[3]).name } }, + handleChange(value) { + console.log(`selected ${value}`); + this.getUserList() + }, + onSelectChange(selectedRowKeys) { + this.selectedRowKeys = selectedRowKeys; + }, } } </script> -- Gitblit v1.9.2