设备绑定所属的销售
This commit is contained in:
@@ -132,7 +132,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="所属机构" prop="dealershipId">
|
<el-form-item label="所属机构" prop="dealershipId">
|
||||||
<el-select v-model="deviceForm.dealershipId" placeholder="请选择所属机构" style="width: 100%">
|
<el-select v-model="deviceForm.dealershipId" placeholder="请选择所属机构" style="width: 100%" @change="handleDealershipChange">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in dealershipOptions"
|
v-for="item in dealershipOptions"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@@ -142,7 +142,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="绑定用户" prop="bindUserId">
|
<el-form-item label="绑定用户" prop="bindUserId">
|
||||||
<el-select v-model="deviceForm.bindUserId" placeholder="请选择绑定用户" style="width: 100%">
|
<el-select v-model="deviceForm.bindUserId" placeholder="请选择绑定用户" style="width: 100%" @change="handleUserChange">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in userOptions"
|
v-for="item in userOptions"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@@ -250,7 +250,10 @@ export default {
|
|||||||
deviceCode: '',
|
deviceCode: '',
|
||||||
tenantId: '',
|
tenantId: '',
|
||||||
dealershipId: '',
|
dealershipId: '',
|
||||||
|
dealershipName: '',
|
||||||
bindUserId: '',
|
bindUserId: '',
|
||||||
|
salesName: '',
|
||||||
|
salesPhone: '',
|
||||||
projectId: '',
|
projectId: '',
|
||||||
bindStatus: false
|
bindStatus: false
|
||||||
},
|
},
|
||||||
@@ -299,9 +302,12 @@ export default {
|
|||||||
getDealershipOptions() {
|
getDealershipOptions() {
|
||||||
getDealershipList({ size: 1000 }).then(response => {
|
getDealershipList({ size: 1000 }).then(response => {
|
||||||
if (response && response.code === 20000) {
|
if (response && response.code === 20000) {
|
||||||
this.dealershipOptions = response.data.map(item => ({
|
// 处理可能的分页数据结构
|
||||||
|
const dealershipData = response.data.records || response.data.data || response.data || []
|
||||||
|
this.dealershipOptions = dealershipData.map(item => ({
|
||||||
value: item.id,
|
value: item.id,
|
||||||
label: item.dealershipName
|
label: item.dealershipName,
|
||||||
|
dealershipName: item.dealershipName
|
||||||
}))
|
}))
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(response?.message || '获取机构列表失败')
|
this.$message.error(response?.message || '获取机构列表失败')
|
||||||
@@ -310,10 +316,10 @@ export default {
|
|||||||
console.error('获取机构列表失败:', error)
|
console.error('获取机构列表失败:', error)
|
||||||
// 开发环境使用模拟数据
|
// 开发环境使用模拟数据
|
||||||
this.dealershipOptions = [
|
this.dealershipOptions = [
|
||||||
{ value: '1', label: 'DCC演示' },
|
{ value: '1', label: 'DCC演示', dealershipName: 'DCC演示' },
|
||||||
{ value: '2', label: '销售演示-上汽' },
|
{ value: '2', label: '销售演示-上汽', dealershipName: '销售演示-上汽' },
|
||||||
{ value: '3', label: '销售演示-奔驰' },
|
{ value: '3', label: '销售演示-奔驰', dealershipName: '销售演示-奔驰' },
|
||||||
{ value: '4', label: '销售演示-比亚迪' }
|
{ value: '4', label: '销售演示-比亚迪', dealershipName: '销售演示-比亚迪' }
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -322,10 +328,21 @@ export default {
|
|||||||
getUserOptions() {
|
getUserOptions() {
|
||||||
getSalesList({ pageSize: 1000 }).then(response => {
|
getSalesList({ pageSize: 1000 }).then(response => {
|
||||||
if (response && response.code === 20000) {
|
if (response && response.code === 20000) {
|
||||||
this.userOptions = response.data.map(item => ({
|
// 处理可能的分页数据结构
|
||||||
|
const salesData = response.data.records || response.data.data || response.data || []
|
||||||
|
console.log('获取用户列表响应数据:', salesData)
|
||||||
|
this.userOptions = salesData.map(item => {
|
||||||
|
// 优先使用 loginAccount 作为手机号(后端返回的手机号存储在 loginAccount 字段中)
|
||||||
|
const salesPhone = item.loginAccount || item.salesPhone || item.phone || ''
|
||||||
|
console.log('用户数据:', item, '手机号字段 - loginAccount:', item.loginAccount, 'salesPhone:', item.salesPhone, 'phone:', item.phone, '最终使用:', salesPhone)
|
||||||
|
return {
|
||||||
value: item.id,
|
value: item.id,
|
||||||
label: `${item.salesName}(${item.salesName})`
|
label: `${item.salesName}(${item.salesName})`,
|
||||||
}))
|
salesName: item.salesName,
|
||||||
|
salesPhone: salesPhone
|
||||||
|
}
|
||||||
|
})
|
||||||
|
console.log('处理后的用户选项:', this.userOptions)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(response?.message || '获取用户列表失败')
|
this.$message.error(response?.message || '获取用户列表失败')
|
||||||
}
|
}
|
||||||
@@ -333,9 +350,9 @@ export default {
|
|||||||
console.error('获取用户列表失败:', error)
|
console.error('获取用户列表失败:', error)
|
||||||
// 开发环境使用模拟数据
|
// 开发环境使用模拟数据
|
||||||
this.userOptions = [
|
this.userOptions = [
|
||||||
{ value: '1', label: '罗先生(罗先生)' },
|
{ value: '1', label: '罗先生(罗先生)', salesName: '罗先生', salesPhone: '13800138001' },
|
||||||
{ value: '2', label: '刘先生(刘先生)' },
|
{ value: '2', label: '刘先生(刘先生)', salesName: '刘先生', salesPhone: '13800138002' },
|
||||||
{ value: '3', label: '粤语销售(粤语销售)' }
|
{ value: '3', label: '粤语销售(粤语销售)', salesName: '粤语销售', salesPhone: '13800138003' }
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -512,7 +529,10 @@ export default {
|
|||||||
deviceCode: '',
|
deviceCode: '',
|
||||||
tenantId: '',
|
tenantId: '',
|
||||||
dealershipId: '',
|
dealershipId: '',
|
||||||
|
dealershipName: '',
|
||||||
bindUserId: '',
|
bindUserId: '',
|
||||||
|
salesName: '',
|
||||||
|
salesPhone: '',
|
||||||
projectId: '',
|
projectId: '',
|
||||||
bindStatus: false
|
bindStatus: false
|
||||||
}
|
}
|
||||||
@@ -530,6 +550,21 @@ export default {
|
|||||||
this.dialogTitle = '编辑设备'
|
this.dialogTitle = '编辑设备'
|
||||||
this.isEdit = true
|
this.isEdit = true
|
||||||
this.deviceForm = { ...row }
|
this.deviceForm = { ...row }
|
||||||
|
// 如果没有salesName和salesPhone,根据bindUserId从userOptions中查找
|
||||||
|
if (this.deviceForm.bindUserId && (!this.deviceForm.salesName || !this.deviceForm.salesPhone)) {
|
||||||
|
const selectedUser = this.userOptions.find(item => item.value === this.deviceForm.bindUserId)
|
||||||
|
if (selectedUser) {
|
||||||
|
this.deviceForm.salesName = this.deviceForm.salesName || selectedUser.salesName || ''
|
||||||
|
this.deviceForm.salesPhone = this.deviceForm.salesPhone || selectedUser.salesPhone || ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 如果没有dealershipName,根据dealershipId从dealershipOptions中查找
|
||||||
|
if (this.deviceForm.dealershipId && !this.deviceForm.dealershipName) {
|
||||||
|
const selectedDealership = this.dealershipOptions.find(item => item.value === this.deviceForm.dealershipId)
|
||||||
|
if (selectedDealership) {
|
||||||
|
this.deviceForm.dealershipName = selectedDealership.dealershipName || ''
|
||||||
|
}
|
||||||
|
}
|
||||||
this.dialogVisible = true
|
this.dialogVisible = true
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -558,6 +593,23 @@ export default {
|
|||||||
handleSubmit() {
|
handleSubmit() {
|
||||||
this.$refs.deviceForm.validate(valid => {
|
this.$refs.deviceForm.validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
// 提交前再次确认 salesName 和 salesPhone 已设置
|
||||||
|
if (this.deviceForm.bindUserId) {
|
||||||
|
const selectedUser = this.userOptions.find(item => item.value === this.deviceForm.bindUserId)
|
||||||
|
if (selectedUser) {
|
||||||
|
this.deviceForm.salesName = this.deviceForm.salesName || selectedUser.salesName || ''
|
||||||
|
this.deviceForm.salesPhone = this.deviceForm.salesPhone || selectedUser.salesPhone || ''
|
||||||
|
console.log('提交前确认 - salesName:', this.deviceForm.salesName, 'salesPhone:', this.deviceForm.salesPhone)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 提交前再次确认 dealershipName 已设置
|
||||||
|
if (this.deviceForm.dealershipId) {
|
||||||
|
const selectedDealership = this.dealershipOptions.find(item => item.value === this.deviceForm.dealershipId)
|
||||||
|
if (selectedDealership) {
|
||||||
|
this.deviceForm.dealershipName = this.deviceForm.dealershipName || selectedDealership.dealershipName || ''
|
||||||
|
console.log('提交前确认 - dealershipName:', this.deviceForm.dealershipName)
|
||||||
|
}
|
||||||
|
}
|
||||||
const submitFunc = this.isEdit ? updateDevice : addDevice
|
const submitFunc = this.isEdit ? updateDevice : addDevice
|
||||||
submitFunc(this.deviceForm).then(response => {
|
submitFunc(this.deviceForm).then(response => {
|
||||||
if (response.code === 20000) {
|
if (response.code === 20000) {
|
||||||
@@ -576,6 +628,34 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 用户选择变化
|
||||||
|
handleUserChange(userId) {
|
||||||
|
console.log('用户选择变化,userId:', userId)
|
||||||
|
const selectedUser = this.userOptions.find(item => item.value === userId)
|
||||||
|
console.log('选中的用户:', selectedUser)
|
||||||
|
if (selectedUser) {
|
||||||
|
this.deviceForm.salesName = selectedUser.salesName || ''
|
||||||
|
this.deviceForm.salesPhone = selectedUser.salesPhone || ''
|
||||||
|
console.log('设置后的表单数据 - salesName:', this.deviceForm.salesName, 'salesPhone:', this.deviceForm.salesPhone)
|
||||||
|
} else {
|
||||||
|
this.deviceForm.salesName = ''
|
||||||
|
this.deviceForm.salesPhone = ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 机构选择变化
|
||||||
|
handleDealershipChange(dealershipId) {
|
||||||
|
console.log('机构选择变化,dealershipId:', dealershipId)
|
||||||
|
const selectedDealership = this.dealershipOptions.find(item => item.value === dealershipId)
|
||||||
|
console.log('选中的机构:', selectedDealership)
|
||||||
|
if (selectedDealership) {
|
||||||
|
this.deviceForm.dealershipName = selectedDealership.dealershipName || ''
|
||||||
|
console.log('设置后的表单数据 - dealershipName:', this.deviceForm.dealershipName)
|
||||||
|
} else {
|
||||||
|
this.deviceForm.dealershipName = ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// 对话框关闭
|
// 对话框关闭
|
||||||
handleDialogClose() {
|
handleDialogClose() {
|
||||||
this.$refs.deviceForm.resetFields()
|
this.$refs.deviceForm.resetFields()
|
||||||
|
|||||||
Reference in New Issue
Block a user