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

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