Browse Source

开关状态修改前验证

milestone-20260128-新年活动
zhaowenkang 4 weeks ago
parent
commit
f5dd10f53c
  1. 26
      src/views/EventManagement/ContentConfiguration.vue

26
src/views/EventManagement/ContentConfiguration.vue

@ -62,7 +62,7 @@
"
active-text="ON"
inactive-text="OFF"
@change="changeState(scope.row)"
:before-change="() => beforeChangeState(scope.row)"
>
</el-switch>
</template>
@ -112,6 +112,7 @@
<el-form-item :label="nameConfig.label" :prop="nameConfig.prop">
<el-input
v-model="form[nameConfig.prop]"
:type="nameConfig.type"
autocomplete="off"
:placeholder="nameConfig.placeholder"
clearable
@ -214,13 +215,13 @@ const prizeTypeOptions = ref([
const nameConfig = computed(() => {
switch (form.type) {
case 1: // Token
return { label: "数量", placeholder: "请输入Token数量", prop: "num" };
return { label: "数量", placeholder: "请输入Token数量", prop: "num", type: "number" };
case 2: //
return { label: "数量", placeholder: "请输入金币数量", prop: "num" };
return { label: "数量", placeholder: "请输入金币数量", prop: "num", type: "number" };
case 3: //
return { label: "数量", placeholder: "请输入金豆数量", prop: "num" };
return { label: "数量", placeholder: "请输入金豆数量", prop: "num", type: "number" };
default: //
return { label: "名称", placeholder: "请输入物品名称", prop: "item_name" };
return { label: "名称", placeholder: "请输入物品名称", prop: "item_name", type: "text" };
}
});
const handleSuccess = (response, uploadFile) => {
@ -325,18 +326,23 @@ const datatotal = ref(0);
const currentPage = ref(1);
const pageSize = ref(15);
const changeState = async (row) => {
const beforeChangeState = (row) => {
return new Promise(async (resolve, reject) => {
try {
const res = await changeStatusApi({
const targetStatus = row.status === 1 ? 0 : 1;
await changeStatusApi({
token: token,
id: row.id,
status: row.status,
status: targetStatus,
});
ElMessage.success("状态更新成功");
fetchTableData();
resolve(true);
// fetchTableData();
} catch (error) {
//
// reject()switch
reject(new Error("状态更新失败"));
}
});
};
//

Loading…
Cancel
Save