客户管理bug修改

This commit is contained in:
ll
2026-02-09 21:57:43 +08:00
parent ab3efaa405
commit 01c6b1a909

View File

@@ -9,6 +9,19 @@
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="所在地区">
<el-cascader
v-model="queryArea"
:options="areaOptions"
:props="{ checkStrictly: true, ...areaProps }"
placeholder="请选择地区"
clearable
style="width: 200px"
@change="handleQueryAreaChange"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
@@ -61,12 +74,25 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="客户名称" align="center" prop="name" />
<el-table-column label="客户电话" align="center" prop="phone" sortable="custom" />
<el-table-column label="客户地址" align="center">
<el-table-column label="所在地区" align="center" width="150" show-overflow-tooltip>
<template #default="scope">
{{ scope.row.province }}{{ scope.row.city }}{{ scope.row.district }}{{ scope.row.address }}
{{ (scope.row.province || '') + (scope.row.city || '') + (scope.row.district || '') }}
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="详细地址" align="center" prop="address" show-overflow-tooltip />
<el-table-column label="创建人" align="center" prop="createBy" width="100" />
<el-table-column label="创建日期" align="center" prop="createTime" width="180">
<template #default="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['customer:customer:edit']">修改</el-button>
@@ -92,7 +118,7 @@
<el-form-item label="客户电话" prop="phone">
<el-input v-model="form.phone" placeholder="请输入客户电话" />
</el-form-item>
<el-form-item label="所在地区" required>
<el-form-item label="所在地区">
<el-cascader
v-model="selectedArea"
:options="areaOptions"
@@ -143,20 +169,26 @@ const areaProps = {
value: 'label',
children: 'children'
}
// 表单用的地区绑定
const selectedArea = ref([])
// 查询用的地区绑定
const queryArea = ref([])
const data = reactive({
form: {},
queryParams: {
pageNum: 1,
pageSize: 20, // 默认为20
pageSize: 20,
name: null,
orderByColumn: null, // 增加排序字段
isAsc: null // 增加排序方式
province: null, //
city: null, // 新增
district: null, // 新增
orderByColumn: null,
isAsc: null
},
rules: {
name: [{ required: true, message: "客户名称不能为空", trigger: "blur" }],
address: [{ required: true, message: "详细地址不能为空", trigger: "blur" }]
// address 校验已移除,改为可选
}
})
@@ -175,6 +207,19 @@ function getList() {
})
}
// 处理查询栏地区变化
function handleQueryAreaChange(val) {
if (val && val.length > 0) {
queryParams.value.province = val[0] || null
queryParams.value.city = val[1] || null
queryParams.value.district = val[2] || null
} else {
queryParams.value.province = null
queryParams.value.city = null
queryParams.value.district = null
}
}
// 处理排序变化
function handleSortChange({ column, prop, order }) {
queryParams.value.orderByColumn = prop
@@ -209,10 +254,14 @@ function handleQuery() {
function resetQuery() {
proxy.resetForm("queryRef")
// 重置时也要清空排序
// 重置地区选择
queryArea.value = []
queryParams.value.province = null
queryParams.value.city = null
queryParams.value.district = null
queryParams.value.orderByColumn = null
queryParams.value.isAsc = null
// 如果el-table需要清除UI上的排序图标可调用clearSort此处简化处理
handleQuery()
}
@@ -246,8 +295,9 @@ function handleUpdate(row) {
})
}
// 处理表单提交时的地区数据
function handleAddress() {
if (selectedArea.value.length > 0) {
if (selectedArea.value && selectedArea.value.length > 0) {
form.value.province = selectedArea.value[0] || ''
form.value.city = selectedArea.value[1] || ''
form.value.district = selectedArea.value[2] || ''