描述:企业增加地区、园区、楼宇

This commit is contained in:
SelfRidicule 2024-04-08 11:16:25 +08:00
parent b821378355
commit e97f708ac5

View File

@ -1,61 +1,84 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="5" :sm="15">
<a-form-item label="企业名称">
<a-input placeholder="请输入企业名称" v-model="queryParam.name"/>
<a-card :bordered='false'>
<div class='table-page-search-wrapper'>
<a-form layout='inline'>
<a-row :gutter='48'>
<a-col :md='5' :sm='15'>
<a-form-item label='所属地区'>
<a-select v-model='queryParam.tenantId' @change='selectTenant'>
<a-select-option v-for='item in tenantList' :key='item.id'>{{ item.name }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="联系人">
<a-input placeholder="请输入联系人" v-model="queryParam.contacts"/>
<a-col :md='5' :sm='15'>
<a-form-item label='所属园区'>
<a-select v-model='queryParam.parkId' @change='selectPark'>
<a-select-option v-for='item in parkList' :key='item.id'>{{ item.name }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="联系电话">
<a-input placeholder="请输入联系电话" v-model="queryParam.phone"/>
<a-col :md='5' :sm='15'>
<a-form-item label='所属楼宇'>
<a-select v-model='queryParam.buildingId' @change='selectBuilding'>
<a-select-option v-for='item in buildingList' :key='item.id'>{{ item.buildingName }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<span class="table-page-search-submitButtons">
<a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
<a-col :md='5' :sm='15'>
<a-form-item label='企业名称'>
<a-input placeholder='请输入企业名称' v-model='queryParam.name' />
</a-form-item>
</a-col>
<a-col :md='5' :sm='15'>
<a-form-item label='联系人'>
<a-input placeholder='请输入联系人' v-model='queryParam.contacts' />
</a-form-item>
</a-col>
<a-col :md='5' :sm='15'>
<a-form-item label='联系电话'>
<a-input placeholder='请输入联系电话' v-model='queryParam.phone' />
</a-form-item>
</a-col>
<a-col :md='8' :sm='24'>
<span class='table-page-search-submitButtons'>
<a-button type='primary' @click='$refs.table.refresh(true)'>查询</a-button>
<a-button style='margin-left: 8px' @click='() => queryParam = {}'>重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
<div class="table-operator">
<a-button v-if="addEnable" type="primary" icon="plus" @click="handleAdd()">新建</a-button>
<a-dropdown v-if="removeEnable&&selectedRowKeys.length > 0">
<a-button type="danger" icon="delete" @click="delByIds(selectedRowKeys)">删除</a-button>
<div class='table-operator'>
<a-button v-if='addEnable' type='primary' icon='plus' @click='handleAdd()'>新建</a-button>
<a-dropdown v-if='removeEnable&&selectedRowKeys.length > 0'>
<a-button type='danger' icon='delete' @click='delByIds(selectedRowKeys)'>删除</a-button>
</a-dropdown>
</div>
<s-table
size="default"
ref="table"
rowKey="id"
showPagination="true"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
:columns="columns"
:data="loadData"
:scroll="{ x: true }"
size='default'
ref='table'
rowKey='id'
showPagination='true'
:rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}'
:columns='columns'
:data='loadData'
:scroll='{ x: true }'
>
<span slot="type" slot-scope="text">
<span slot='type' slot-scope='text'>
{{ text | typeFilter }}
</span>
<span slot="customerStatus" slot-scope="text">
<span slot='customerStatus' slot-scope='text'>
{{ text | customerStatusFilter }}
</span>
<span slot="action" slot-scope="text, record">
<a v-if="editEnabel" @click="handleEdit(record.id)">编辑</a>
<a-divider type="vertical" />
<a v-if="removeEnable" @click="delByIds([record.id])">删除</a>
<span slot='action' slot-scope='text, record'>
<a v-if='editEnabel' @click='handleEdit(record.id)'>编辑</a>
<a-divider type='vertical' />
<a v-if='removeEnable' @click='delByIds([record.id])'>删除</a>
</span>
</s-table>
<customer-modal ref="modal" @ok="handleOk"/>
<customer-modal ref='modal' @ok='handleOk' />
</a-card>
</template>
@ -63,13 +86,17 @@
import { STable } from '@/components'
import { getCustomerList, delCustomer } from '@/api/admin/customer'
import { checkPermission } from '@/utils/permissions'
import { getTenantList } from '@/api/tenant'
import { getParkList } from '@/api/admin/park'
import { getBuildingList } from '@/api/admin/building'
import { getBuildingDetailList } from '@/api/admin/buildingDetail'
export default {
name: 'TableList',
components: {
STable
},
data () {
data() {
return {
labelCol: {
xs: { span: 24 },
@ -84,17 +111,31 @@ export default {
// /
advanced: false,
//
queryParam: {},
queryParam: {
tenantId: null,
parkId: null,
buildingId: null,
name: null,
contacts: null,
phone: null
},
//
columns: [
{
title: '所属地区',
dataIndex: 'tenantName'
},
{
title: '所属园区',
dataIndex: 'park.name',
fixed: 'left'
dataIndex: 'park.name'
},
{
title: '所属楼宇',
dataIndex: 'buildingName'
},
{
title: '企业名称',
dataIndex: 'name'
dataIndex: 'name',
},
{
title: '企业类型',
@ -167,18 +208,21 @@ export default {
selectedRows: [],
addEnable: checkPermission('admin:customer:add'),
editEnabel: checkPermission('admin:customer:edit'),
removeEnable: checkPermission('admin:customer:remove')
removeEnable: checkPermission('admin:customer:remove'),
tenantList: [], //
parkList: [], //
buildingList: [] //
}
},
filters: {
typeFilter (type) {
typeFilter(type) {
const typeMap = {
'COMPANY': '公司',
'PERSON': '个人'
}
return typeMap[type]
},
customerStatusFilter (customerStatus) {
customerStatusFilter(customerStatus) {
const customerStatusMap = {
'POTENTIAL': '潜在企业',
'PURPOSE': '意向企业',
@ -188,24 +232,64 @@ export default {
return customerStatusMap[customerStatus]
}
},
created () {
created() {
//
this.getTenantData()
},
methods: {
onSelectChange (selectedRowKeys, selectedRows) {
//
getTenantData() {
getTenantList().then(res => {
this.tenantList = res.rows
})
},
// ->
selectTenant(id) {
console.log('selectTenant', id)
//
this.queryParam.parkId = null //
this.queryParam.buildingId = null //
//
getParkList({
tenantId: id
}).then(res => {
this.parkList = res.rows
})
},
// ->
selectPark(id) {
console.log('selectPark', id)
//
this.queryParam.buildingId = null //
//
getBuildingList({
parkId: id
}).then(res => {
this.buildingList = res.rows
})
},
// ->
selectBuilding(id) {
console.log('selectBuilding', id)
console.log('this.queryParam', this.queryParam)
},
onSelectChange(selectedRowKeys, selectedRows) {
this.selectedRowKeys = selectedRowKeys
this.selectedRows = selectedRows
},
handleAdd () {
handleAdd() {
this.handleEdit()
},
handleEdit (customerId) {
handleEdit(customerId) {
this.$router.push({ name: 'customerEdit', query: { customerId: customerId } })
},
handleOk () {
handleOk() {
this.$refs.table.refresh(true)
console.log('handleSaveOk')
},
delByIds (ids) {
delByIds(ids) {
delCustomer({ ids: ids.join(',') }).then(res => {
if (res.code === 0) {
this.$message.success('删除成功')
@ -221,7 +305,7 @@ export default {
</script>
<style scoped>
.ant-table td {
white-space: nowrap;
}
.ant-table td {
white-space: nowrap;
}
</style>