From 2eb333bf91b49dffcf9e6c34605cd04247e569eb Mon Sep 17 00:00:00 2001 From: GiveMePast <1248298477@qq.com> Date: Wed, 25 Feb 2026 17:29:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=A0=E9=99=A4=E5=91=98?= =?UTF-8?q?=E5=B7=A5=EF=BC=8C=E4=BB=A5=E5=8F=8A=E5=88=A0=E9=99=A4=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E5=8D=95=E4=BD=8D=E7=9A=84js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/CustomersView.vue | 68 ++++++++++++++++++++++++++++--------- 1 file changed, 52 insertions(+), 16 deletions(-) diff --git a/src/views/CustomersView.vue b/src/views/CustomersView.vue index 775081a..4edc236 100644 --- a/src/views/CustomersView.vue +++ b/src/views/CustomersView.vue @@ -162,6 +162,7 @@ const submitCustomer = async () => { const res = await customerApi.addCustomerName({ company_name: customerForm.value.company_name }) + console.log('返回数据',res) if (res.code === 200) { ElMessage.success('客户单位创建成功') customerDialogVisible.value = false @@ -173,17 +174,47 @@ const submitCustomer = async () => { } const handleDeleteCustomer = (row) => { - ElMessageBox.confirm(`确定删除单位【${row.company_name}】吗?这将导致关联员工数据异常!`, '警告', { - type: 'error', - confirmButtonText: '确定删除', - cancelButtonText: '取消' - }).then(async () => { - // 这里应调用你后端的删除接口,例如: - // await customerApi.deleteCustomer(row.customer_id) - ElMessage.warning('请确保后端已实现删除逻辑') - fetchCustomers() - }).catch(() => {}) -} + ElMessageBox.confirm( + `确定删除单位【${row.company_name}】吗?这将同时移除该单位下所有员工,操作不可恢复!`, + '极其危险的操作', + { + confirmButtonText: '确定彻底删除', + cancelButtonText: '取消', + type: 'error', + // 让确定按钮看起来更显眼(红色) + confirmButtonClass: 'el-button--danger', + } + ).then(async () => { + // 1. 开启全局或表格的 loading 状态(如果有的话) + loading.value = true; + + try { + // 2. 调用接口,注意参数要包装成对象,匹配后端 $this->request->param('customer_id') + const res = await customerApi.deleteCustomer(row.customer_id); + + // 3. 根据返回结果进行反馈 + if (res.code === 200) { + ElMessage.success({ + message: `单位【${row.company_name}】及其员工已成功清理`, + showClose: true + }); + // 4. 刷新列表数据 + await fetchCustomers(); + } else { + ElMessage.error(res.msg || '删除失败,请联系管理员'); + } + } catch (error) { + console.error('删除客户出错:', error); + ElMessage.error('网络连接超时或服务器异常'); + } finally { + // 5. 无论成功失败都关闭 loading + loading.value = false; + } + }).catch(() => { + // 用户点击取消,无需处理 + console.log('用户取消删除'); + }); +}; // 4. 员工管理逻辑 const handleAddEmployee = () => { @@ -197,11 +228,13 @@ const submitEmployee = async () => { return ElMessage.error('请填写员工姓名并选择所属单位') } try { + // console.log('这个是姓名',employeeForm.value.employee_name) // 注意:确保你的 api 文件中有 addEmployee 方法 const res = await customerApi.addEmployee({ emp_name: employeeForm.value.employee_name, customer_id: employeeForm.value.customer_id }) + if (res.code === 200) { ElMessage.success('员工保存成功') employeeDialogVisible.value = false @@ -218,14 +251,17 @@ const showEmployeeDetails = (row) => { employeeDetailVisible.value = true } -// 需要修改,,这只是临时前端过滤,,并没有真正对接数据库 +//删除所属员工 const confirmDeleteEmployee = (empId) => { ElMessageBox.confirm('确定要从该单位移除此员工吗?', '提示', { type: 'warning' }).then(async () => { try { - // 假设接口:await customerApi.deleteEmployee(empId) - ElMessage.success('操作成功(请对接后端删除接口)') - // 临时前端过滤 - employeeList.value = employeeList.value.filter(e => e.employee_id !== empId) + // console.log('删除员工的ID',empId); + const res = await customerApi.deleteEmployee(empId) // 后端删除员工接口 + if (res.code == 200 || res.code == true){ + ElMessage.success('操作成功') + employeeDetailVisible.value = false; + fetchCustomers(); + } } catch (e) { ElMessage.error('删除失败') }