You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
3.4 KiB
150 lines
3.4 KiB
<template>
|
|
<div>
|
|
<!--查询-->
|
|
<div>
|
|
<div ref="lxHeader">
|
|
<lx-header icon="md-apps" style="margin-bottom: 10px; border: 0px; margin-top: 15px" text="客户列表">
|
|
<div slot="content"></div>
|
|
|
|
<slot>
|
|
<div>
|
|
<Input placeholder="关键字搜索" style="width: 200px; margin-right: 10px"/>
|
|
|
|
<Button style="margin-left: 10px" type="primary">查询</Button>
|
|
<Button style="margin-left: 10px" type="primary"
|
|
@click="$refs['addCustomer'].type = 'add',$refs['addCustomer'].isShow = true">录入客户
|
|
</Button>
|
|
</div>
|
|
</slot>
|
|
</lx-header>
|
|
</div>
|
|
</div>
|
|
|
|
<xy-table
|
|
ref="table"
|
|
:total="total"
|
|
:list="list"
|
|
:table-item="tableItem"
|
|
@pageSizeChange="e => select.page_size = e"
|
|
@pageIndexChange="e => {select.page = e;getCustomers()}"
|
|
@editor="editor"
|
|
@delete="destroy">
|
|
</xy-table>
|
|
|
|
<add-customer ref="addCustomer" :disability-level="disabilityLevel" @refresh="getCustomers"></add-customer>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import {getList,destroy} from '@/api/customer'
|
|
import {getparameter} from '@/api/system/dictionary'
|
|
|
|
import addCustomer from "@/views/customer/component/addCustomer";
|
|
|
|
export default {
|
|
components: {
|
|
addCustomer
|
|
},
|
|
data() {
|
|
return {
|
|
select: {
|
|
page: 1,
|
|
page_size: 10,
|
|
keyword: ''
|
|
},
|
|
disabilityLevel: [],
|
|
|
|
total: 0,
|
|
list: [],
|
|
tableItem: [
|
|
{
|
|
prop: "name",
|
|
label: "姓名",
|
|
width: "180",
|
|
fixed:'left'
|
|
},
|
|
{
|
|
prop: "idcard",
|
|
label: "身份证号",
|
|
width: "220"
|
|
},
|
|
{
|
|
prop: "phone",
|
|
label: "手机号",
|
|
width: "160"
|
|
},
|
|
{
|
|
label: "委托人",
|
|
width: "180",
|
|
prop:'contact_name'
|
|
},
|
|
{
|
|
label: "委托人电话",
|
|
width: "160",
|
|
prop:'contact_phone'
|
|
},
|
|
{
|
|
prop:'idcard_address',
|
|
label:'户籍地址',
|
|
width: 140
|
|
},
|
|
{
|
|
label:'默认上门地址',
|
|
minWidth:300,
|
|
align:'left',
|
|
customFn:(row)=>{
|
|
return (
|
|
<div>
|
|
{
|
|
row.customer_address.filter(item => {
|
|
return item.default === 1
|
|
})[0]?.address || row.customer_address[0]?.address || '无'
|
|
}
|
|
</div>
|
|
)
|
|
}
|
|
},
|
|
{
|
|
label:'上门地址数',
|
|
prop:'customer_address_count',
|
|
width: 140
|
|
}
|
|
]
|
|
}
|
|
},
|
|
methods: {
|
|
async getDisabilityLevel() {
|
|
const res = await getparameter({number: 'disabilityLevel'})
|
|
this.disabilityLevel = res.detail
|
|
},
|
|
|
|
async getCustomers() {
|
|
const res = await getList(this.select)
|
|
this.list = res.data.data
|
|
this.total = res.data.total
|
|
},
|
|
|
|
editor(row){
|
|
this.$refs['addCustomer'].id = row.id
|
|
this.$refs['addCustomer'].type = 'editor'
|
|
this.$refs['addCustomer'].isShow = true
|
|
},
|
|
destroy(row){
|
|
destroy(row.id).then(res => {
|
|
this.$successMessage('destroy','客户')
|
|
this.getCustomers()
|
|
})
|
|
}
|
|
},
|
|
mounted() {
|
|
this.getDisabilityLevel()
|
|
this.getCustomers()
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
</style>
|
|
|