客户管理,账号状态修改

This commit is contained in:
fengerli
2025-07-18 14:54:44 +08:00
parent 84aa490c20
commit e1738a6ea1

View File

@ -9,10 +9,10 @@
<el-input v-model="queryParams.blurry" placeholder="请输入客户名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="客户状态" prop="status">
<el-select v-model="queryParams.enabled" clearable placeholder="客户状态" class="filter-item">
<el-select v-model="queryParams.status" clearable placeholder="客户状态" class="filter-item">
<el-option label="全部" :value="''" />
<el-option label="启用" :value="true" />
<el-option label="禁用" :value="false" />
<el-option label="启用" :value="0" />
<el-option label="禁用" :value="1" />
</el-select>
</el-form-item>
<el-form-item label="创建时间" style="width: 308px">
@ -53,10 +53,10 @@
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="客户名称" align="center" prop="nickName" />
<el-table-column label="客户账号" align="center" prop="userName" :show-overflow-tooltip="true" />
<el-table-column label="客户状态" align="center" prop="enabled">
<el-table-column label="客户状态" align="center" prop="status">
<template #default="scope">
<div @click="handleStatusChange(scope.row)">
<el-switch v-model="scope.row.enabled" />
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1" />
</div>
</template>
</el-table-column>
@ -104,7 +104,7 @@
<el-row>
<el-col :span="24">
<el-form-item v-if="form.customerId === ''" label="账号密码" prop="password">
<el-input v-model="form.password" placeholder="请输入账号密码" />
<el-input v-model="form.password" placeholder="请输入账号密码" />
</el-form-item>
</el-col>
</el-row>
@ -171,8 +171,16 @@ const initData: PageData<UserForm, UserQuery> = {
trigger: 'blur'
}
],
password: [
{ required: true, message: '请输入账号密码', trigger: 'blur' },
{
min: 5,
max: 20,
message: '用户密码长度必须介于 5 和 20 之间',
trigger: 'blur'
},
{ pattern: /^[^<>"'|\\]+$/, message: '不能包含非法字符:< > " \' \\ |', trigger: 'blur' }
],
}
};
@ -199,6 +207,7 @@ const handleQuery = () => {
const resetQuery = () => {
dateRange.value = ['', ''];
queryParams.value.pageNum = 1;
queryParams.value.status=''
handleQuery();
};
@ -227,19 +236,24 @@ const handleDelete = async (row?: UserVO) => {
/** 用户状态修改 */
const handleStatusChange = async (row: any) => {
console.log(row, '33333333');
const newStatus = row.enabled; // 获取新的状态值(取反)
const text = newStatus ? '启用' : '停用';
// 计算新状态(取反)
const originalStatus = row.status;
const actionText = row.status == 0 ? '启用' : '停用';
try {
await proxy?.$modal.confirm(`确认要${text}"${row.nickName}"客户吗?`);
await proxy?.$modal.confirm(`确认要${actionText}"${row.nickName}"客户吗?`);
await api.updateCustomer({
customerId: row.customerId,
enabled: newStatus
enabled: originalStatus == 0 ? true : false
});
proxy?.$modal.msgSuccess(text + '成功');
proxy?.$modal.msgSuccess(actionText + '成功');
await getList();
} catch (err) {
row.enabled = !newStatus; // 回滚状态
if (err == 'cancel') { // 这里假设confirm方法在用户取消时reject with 'cancel'
console.log(err, 'errr');
proxy?.$modal.msgWarning('操作已取消');
await getList();
}
}
};