import { ElMessage, ElMessageBox } from 'element-plus';
|
import { UseStatusEnum } from '/@/views/types';
|
import request from '/@/utils/request';
|
/**
|
* 改变当前行的使用状态
|
* @param row
|
* @param updateUseStatusApi
|
*/
|
export const changeStatus = (row: any, updateUseStatusApi, req: any = request, label?: string) => {
|
const targetStatus = row.UseStatus;
|
// 并不需要立马改变, row.UseStatus 为原始值
|
row.UseStatus = row.UseStatus === UseStatusEnum.Disable ? UseStatusEnum.Enable : UseStatusEnum.Disable;
|
const confirmKeyword = targetStatus === UseStatusEnum.Enable ? '启用' : '禁用';
|
const tip = row.Name ? `确定${confirmKeyword}:【${row.Name}】?` : `确定${confirmKeyword}${label}?`;
|
ElMessageBox.confirm(tip, '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning',
|
}).then(async () => {
|
const res = await updateUseStatusApi({ ID: row.ID, UseStatus: targetStatus }, req);
|
if (res?.Code === 0) {
|
if (!res.Data) {
|
ElMessage.error('状态设置失败');
|
} else {
|
row.UseStatus = row.UseStatus === UseStatusEnum.Disable ? UseStatusEnum.Enable : UseStatusEnum.Disable;
|
targetStatus === UseStatusEnum.Disable ? ElMessage.warning('已禁用') : ElMessage.success('已启用');
|
}
|
} else {
|
ElMessage.error('状态设置失败' + (res?.Message ? `,${JSON.stringify(res.Message)}` : ''));
|
}
|
});
|
};
|