更新bug
This commit is contained in:
@@ -6,7 +6,8 @@ import {
|
||||
addDataProp,
|
||||
editDataProp,
|
||||
deleteDataProp,
|
||||
giveDecorate
|
||||
giveDecorate,
|
||||
queryClassifyList
|
||||
} from "@/api/modules/decorate";
|
||||
import { addDialog } from "@/components/ReDialog";
|
||||
import priceList from './priceList.vue'
|
||||
@@ -22,7 +23,7 @@ export function useData() {
|
||||
});
|
||||
const searchLabel = ref([
|
||||
{ label: "道具名称", prop: "name", type: "input" },
|
||||
{ label: "道具类型", prop: "type", type: "input" }
|
||||
{ label: "道具类型", prop: "type", type: "select", optionList: [] }
|
||||
]);
|
||||
const pagination = ref({
|
||||
total: 0,
|
||||
@@ -239,6 +240,17 @@ export function useData() {
|
||||
}
|
||||
});
|
||||
}
|
||||
const getType = async () => {
|
||||
const { data, code } = await queryClassifyList();
|
||||
if (code) {
|
||||
searchLabel.value[searchLabel.value.length - 1].optionList = data.map(ele => {
|
||||
return {
|
||||
value: ele.id,
|
||||
label: ele.name
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
return {
|
||||
searchForm,
|
||||
searchLabel,
|
||||
@@ -253,7 +265,8 @@ export function useData() {
|
||||
openDialog,
|
||||
handleDelete,
|
||||
settingPrice,
|
||||
sendGift
|
||||
sendGift,
|
||||
getType
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@@ -20,12 +20,14 @@ const {
|
||||
openDialog,
|
||||
handleDelete,
|
||||
settingPrice,
|
||||
sendGift
|
||||
sendGift,
|
||||
getType
|
||||
} = useData();
|
||||
defineOptions({
|
||||
name: "decorateList"
|
||||
});
|
||||
onMounted(() => {
|
||||
getType()
|
||||
onSearch(searchForm.value);
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import { ref, h } from "vue";
|
||||
import { message } from "@/utils/message";
|
||||
import {
|
||||
queryDecorateList
|
||||
queryDecorateList,
|
||||
queryClassifyList
|
||||
} from "@/api/modules/decorate";
|
||||
export function useData() {
|
||||
const formRef = ref();
|
||||
@@ -16,7 +17,10 @@ export function useData() {
|
||||
const searchLabel = ref([
|
||||
{ label: "用户ID", prop: "user_id", type: "input" },
|
||||
{ label: "道具ID", prop: "did", type: "input" },
|
||||
{ label: "道具分类", prop: "type", type: "input" }
|
||||
{
|
||||
label: "道具分类", prop: "type", type: "select",
|
||||
optionList: []
|
||||
}
|
||||
]);
|
||||
const pagination = ref({
|
||||
total: 0,
|
||||
@@ -94,6 +98,17 @@ export function useData() {
|
||||
pagination.value.currentPage = val;
|
||||
onSearch(searchForm.value);
|
||||
};
|
||||
const getType = async () => {
|
||||
const { data, code } = await queryClassifyList();
|
||||
if (code) {
|
||||
searchLabel.value[searchLabel.value.length - 1].optionList = data.map(ele => {
|
||||
return {
|
||||
value: ele.id,
|
||||
label: ele.name
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
return {
|
||||
searchForm,
|
||||
searchLabel,
|
||||
@@ -104,6 +119,7 @@ export function useData() {
|
||||
pagination,
|
||||
handleSizeChange,
|
||||
handleCurrentChange,
|
||||
getType,
|
||||
loading
|
||||
};
|
||||
}
|
||||
|
||||
@@ -15,12 +15,14 @@ const {
|
||||
handleSizeChange,
|
||||
handleCurrentChange,
|
||||
loading,
|
||||
getType,
|
||||
openDialog
|
||||
} = useData();
|
||||
defineOptions({
|
||||
name: "decorateUser"
|
||||
});
|
||||
onMounted(() => {
|
||||
getType()
|
||||
onSearch(searchForm.value);
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -4,6 +4,8 @@ import uploadImage from '@/components/UploadImage/index.vue';
|
||||
const ruleFormRef = ref();
|
||||
const formRules = ref({
|
||||
status: [{ required: true, message: "请选择状态", trigger: "change" }],
|
||||
default_index: [{ required: true, message: "请选择状态", trigger: "change" }],
|
||||
sort: [{ required: true, message: "请选择状态", trigger: "blur" }],
|
||||
label_icon: [{ required: true, message: "请上传图标", trigger: "change" }],
|
||||
label_icon_room: [{ required: true, message: "请上传房间内展示图标", trigger: "change" }],
|
||||
label_name: [{ required: true, message: "请输入标签名称", trigger: "blur" }, { min: 1, max: 10, message: '长度在 1 到 10 个字符', trigger: 'blur' }]
|
||||
@@ -14,7 +16,9 @@ const newFormInline = ref(
|
||||
? props.formInline
|
||||
: {
|
||||
label_name: "",
|
||||
status: ""
|
||||
status: "",
|
||||
default_index: "",
|
||||
sort: ""
|
||||
}
|
||||
);
|
||||
function getRef() {
|
||||
@@ -42,6 +46,17 @@ defineExpose({ getRef });
|
||||
<el-radio :label="2">隐藏</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="首页默认选中" prop="default_index">
|
||||
<el-radio-group v-model="newFormInline.default_index">
|
||||
<el-radio :label="1">是</el-radio>
|
||||
<el-radio :label="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="排序" prop="sort">
|
||||
<el-input-number v-model="newFormInline.sort" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="标签图标" prop="label_icon">
|
||||
<uploadImage @handleSuccess="handleFileSuccess" :limit="1" :echoUrl="newFormInline.label_icon" />
|
||||
</el-form-item>
|
||||
|
||||
@@ -68,6 +68,17 @@ export function useData() {
|
||||
// />
|
||||
// ),
|
||||
// },
|
||||
{
|
||||
label: "首页默认选中",
|
||||
prop: "default_index",
|
||||
cellRenderer: ({ row }) => (
|
||||
<span>{row.default_index == 1 ? '默认选中' : '未选中'}</span>
|
||||
),
|
||||
},
|
||||
{
|
||||
label: "排序",
|
||||
prop: "sort"
|
||||
},
|
||||
{
|
||||
label: "创建时间",
|
||||
prop: "createtime"
|
||||
@@ -120,7 +131,9 @@ export function useData() {
|
||||
label_name: rowData?.label_name ?? "",
|
||||
label_icon: rowData?.label_icon ?? "",
|
||||
label_icon_room: rowData?.label_icon_room ?? "",
|
||||
status: rowData?.status ?? ""
|
||||
status: rowData?.status ?? "",
|
||||
default_index: rowData?.default_index ?? "",
|
||||
sort: rowData?.sort ?? ""
|
||||
}
|
||||
},
|
||||
width: "40%",
|
||||
|
||||
71
src/views/system/Tasks/Reward/form.vue
Normal file
71
src/views/system/Tasks/Reward/form.vue
Normal file
@@ -0,0 +1,71 @@
|
||||
<script setup lang="ts">
|
||||
import {
|
||||
ref,
|
||||
onMounted
|
||||
} from "vue";
|
||||
import { queryGiftList, queryAdornmentList } from '@/api/modules/activities'
|
||||
const ruleFormRef = ref();
|
||||
const formRules = ref({
|
||||
num: [{ required: true, message: "数量为必填项", trigger: "blur" }],
|
||||
type: [{ required: true, message: "请选择类型", trigger: "change" }],
|
||||
gift_id: [{ required: true, message: "请选择", trigger: "change" }],
|
||||
});
|
||||
const props = defineProps(["formInline"]);
|
||||
const typeList = ref([]);
|
||||
const adornmentList = ref([]);
|
||||
const newFormInline = ref(
|
||||
props.formInline
|
||||
? props.formInline
|
||||
: {
|
||||
type: "",
|
||||
num: "",
|
||||
gift_id: "",
|
||||
gift_bag_id: "",
|
||||
}
|
||||
);
|
||||
function getRef() {
|
||||
return ruleFormRef.value;
|
||||
}
|
||||
const getList = async () => {
|
||||
const { data, code } = await queryGiftList({ type: 3 })
|
||||
typeList.value = code ? data : []
|
||||
}
|
||||
const getAdornmentList = async () => {
|
||||
const { data, code } = await queryAdornmentList()
|
||||
adornmentList.value = code ? data : []
|
||||
}
|
||||
onMounted(() => {
|
||||
getList()
|
||||
getAdornmentList()
|
||||
})
|
||||
defineExpose({ getRef });
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<el-form ref="ruleFormRef" :model="newFormInline" :rules="formRules" label-width="120px">
|
||||
<el-form-item label="类型" prop="type">
|
||||
<el-radio-group v-model="newFormInline.type">
|
||||
<el-radio label="金币" :value="1" />
|
||||
<el-radio label="礼物" :value="2" />
|
||||
<el-radio label="装扮" :value="3" />
|
||||
<el-radio label="钻石" :value="4" />
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="[1, 2, 4].includes(newFormInline.type)"
|
||||
:label="newFormInline.type === 1 ? '金币数量' : newFormInline.type === 2 ? '礼物数量' : newFormInline.type === 3 ? '装扮天数' : '钻石数量'"
|
||||
prop="num">
|
||||
<el-input-number v-model="newFormInline.num" :min="1" :max="10000" label="请输入"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="[2, 3].includes(newFormInline.type)" :label="`选择${newFormInline.type === 2 ? '礼物' : '装扮'}`"
|
||||
prop="gift_id">
|
||||
<el-select v-if="newFormInline.type === 2" v-model="newFormInline.gift_id" placeholder="请选择礼物">
|
||||
<el-option v-for="item in typeList" :key="item.gid" :label="item.gift_name" :value="item.gid">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-select v-else v-model="newFormInline.gift_id" placeholder="请选择装扮">
|
||||
<el-option v-for="item in adornmentList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
185
src/views/system/Tasks/Reward/hook.tsx
Normal file
185
src/views/system/Tasks/Reward/hook.tsx
Normal file
@@ -0,0 +1,185 @@
|
||||
import { ref, h } from "vue";
|
||||
import {
|
||||
queryList,
|
||||
addActivitiesBox,
|
||||
editActivitiesBox,
|
||||
deletectivitiesBox
|
||||
} from "@/api/modules/activities";
|
||||
import editForm from "./form.vue";
|
||||
import { addDialog } from "@/components/ReDialog";
|
||||
import { message } from "@/utils/message";
|
||||
export function useData() {
|
||||
const formRef = ref();
|
||||
const loading = ref(true);
|
||||
const tableList = ref([]);
|
||||
const isShow = ref(false);
|
||||
const pagination = ref({
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
pageSizes: [10, 20, 50, 100],
|
||||
currentPage: 1,
|
||||
background: true
|
||||
});
|
||||
const activeName = ref(0)
|
||||
// const typeList = ref([])
|
||||
const tableLabel = ref([
|
||||
{
|
||||
label: "礼盒ID",
|
||||
prop: "id"
|
||||
},
|
||||
{
|
||||
label: "礼物类型",
|
||||
prop: "gift_type_str"
|
||||
},
|
||||
{
|
||||
label: "礼物ID",
|
||||
prop: "gift_id"
|
||||
},
|
||||
{
|
||||
label: "礼物名称",
|
||||
prop: "gift_name"
|
||||
},
|
||||
{
|
||||
label: "封面图",
|
||||
prop: "base_image",
|
||||
cellRenderer: ({ row }) => (
|
||||
<el-image
|
||||
fit="cover"
|
||||
preview-teleported={true}
|
||||
src={row.base_image}
|
||||
preview-src-list={Array.of(row.base_image)}
|
||||
class="w-[50px] h-[50px] align-middle"
|
||||
/>
|
||||
)
|
||||
},
|
||||
{
|
||||
label: "数量",
|
||||
prop: "quantity_str"
|
||||
},
|
||||
{
|
||||
label: "金币价格",
|
||||
prop: "gift_price"
|
||||
},
|
||||
{
|
||||
label: "添加时间",
|
||||
prop: "createtime"
|
||||
},
|
||||
{
|
||||
label: "操作",
|
||||
fixed: "right",
|
||||
width: 210,
|
||||
slot: "operation"
|
||||
}
|
||||
]);
|
||||
const BagId = ref(0)
|
||||
const onSearch = async (id) => {
|
||||
loading.value = true;
|
||||
BagId.value = id ? id : BagId.value
|
||||
const { data, code } = await queryList({
|
||||
gift_bag_id: BagId.value,
|
||||
page: pagination.value.currentPage,
|
||||
page_limit: pagination.value.pageSize,
|
||||
});
|
||||
if (code) {
|
||||
// console.log(data)
|
||||
tableList.value = data.lists.map(ele => {
|
||||
return {
|
||||
...ele, ...data.total
|
||||
}
|
||||
});
|
||||
pagination.value.total = data.count;
|
||||
pagination.value.currentPage = data.page;
|
||||
}
|
||||
loading.value = false;
|
||||
};
|
||||
const handleSizeChange = (val: number) => {
|
||||
pagination.value.pageSize = val;
|
||||
onSearch(BagId.value);
|
||||
};
|
||||
const handleCurrentChange = (val: number) => {
|
||||
pagination.value.currentPage = val;
|
||||
onSearch(BagId.value);
|
||||
};
|
||||
const handleDelete = async rowData => {
|
||||
const { code } = await deletectivitiesBox({ id: rowData.id });
|
||||
if (code) {
|
||||
message(`您删除了这条数据`, {
|
||||
type: "success"
|
||||
});
|
||||
onSearch(BagId.value);
|
||||
}
|
||||
};
|
||||
const openDialog = async (title = "新增", rowData: any) => {
|
||||
addDialog({
|
||||
title: `${title}礼盒`,
|
||||
props: {
|
||||
formInline: {
|
||||
type: rowData?.gift_type ?? "",
|
||||
num: rowData?.quantity ?? "",
|
||||
gift_id: rowData?.gift_id ?? "",
|
||||
gift_bag_id: rowData?.gift_bag_id ?? "",
|
||||
}
|
||||
},
|
||||
width: "40%",
|
||||
closeOnClickModal: false,
|
||||
contentRenderer: () => h(editForm, { ref: formRef, formInline: null }),
|
||||
beforeSure: (done, { options }) => {
|
||||
const FormRef = formRef.value.getRef();
|
||||
const curData = options.props.formInline;
|
||||
const saveData = async form => {
|
||||
const { code } = await addActivitiesBox({
|
||||
...form,
|
||||
gift_bag_id: BagId.value,
|
||||
});
|
||||
if (code) {
|
||||
message("新增成功", { type: "success" });
|
||||
onSearch(BagId.value);
|
||||
done();
|
||||
} else {
|
||||
message("新增失败", { type: "error" });
|
||||
}
|
||||
};
|
||||
const updateData = async form => {
|
||||
const { code, msg } = await editActivitiesBox({
|
||||
...form,
|
||||
gift_bag_id: BagId.value,
|
||||
id: rowData.id
|
||||
});
|
||||
if (code) {
|
||||
message("修改成功", { type: "success" });
|
||||
onSearch(BagId.value);
|
||||
done();
|
||||
} else {
|
||||
message(msg, { type: "error" });
|
||||
}
|
||||
};
|
||||
FormRef.validate(valid => {
|
||||
if (valid) {
|
||||
console.log("curData", curData);
|
||||
// 表单规则校验通过
|
||||
if (title === "新增") {
|
||||
// 实际开发先调用新增接口,再进行下面操作
|
||||
saveData(curData);
|
||||
} else {
|
||||
// 实际开发先调用修改接口,再进行下面操作
|
||||
updateData(curData);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
return {
|
||||
onSearch,
|
||||
isShow,
|
||||
tableList,
|
||||
tableLabel,
|
||||
pagination,
|
||||
handleSizeChange,
|
||||
handleCurrentChange,
|
||||
loading,
|
||||
BagId,
|
||||
openDialog,
|
||||
handleDelete,
|
||||
};
|
||||
}
|
||||
79
src/views/system/Tasks/Reward/index.vue
Normal file
79
src/views/system/Tasks/Reward/index.vue
Normal file
@@ -0,0 +1,79 @@
|
||||
<script setup lang="ts">
|
||||
import { onMounted } from "vue";
|
||||
import { useData } from "./hook.tsx";
|
||||
import { PureTableBar } from "@/components/RePureTableBar";
|
||||
import { deviceDetection } from "@pureadmin/utils";
|
||||
import { useRenderIcon } from "@/components/ReIcon/src/hooks";
|
||||
import AddFill from "@iconify-icons/ri/add-circle-line";
|
||||
const props = defineProps(["tableData"]);
|
||||
const {
|
||||
onSearch,
|
||||
isShow,
|
||||
tableList,
|
||||
pagination,
|
||||
tableLabel,
|
||||
handleSizeChange,
|
||||
handleCurrentChange,
|
||||
loading,
|
||||
BagId,
|
||||
openDialog,
|
||||
handleDelete,
|
||||
} = useData();
|
||||
onMounted(() => {
|
||||
onSearch(props.tableData.bag_id)
|
||||
});
|
||||
defineOptions({
|
||||
name: "boxList"
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="main">
|
||||
<div ref="contentRef" :class="['flex', deviceDetection() ? 'flex-wrap' : '']">
|
||||
<PureTableBar title="奖励列表" :class="[isShow && !deviceDetection() ? '!w-[60vw]' : 'w-full']" :columns="tableLabel"
|
||||
@refresh="onSearch">
|
||||
<template #buttons>
|
||||
<el-button type="primary" :icon="useRenderIcon(AddFill)" @click="openDialog('新增', {})">
|
||||
添加
|
||||
</el-button>
|
||||
</template>
|
||||
<template v-slot="{ size, dynamicColumns }">
|
||||
<pure-table ref="tableRef" align-whole="center" showOverflowTooltip table-layout="auto" default-expand-all
|
||||
:loading="loading" :size="size" row-key="id" adaptive :adaptiveConfig="{ offsetBottom: 108 }"
|
||||
:data="tableList" :columns="dynamicColumns" :pagination="{ ...pagination, size }" :header-cell-style="{
|
||||
background: 'var(--el-fill-color-light)',
|
||||
color: 'var(--el-text-color-primary)'
|
||||
}" @page-current-change="handleCurrentChange" @page-size-change="handleSizeChange">
|
||||
<template #operation="{ row }">
|
||||
<el-button link type="primary" :size="size" @click="openDialog('编辑', row)">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-popconfirm :title="`是否确认删除这条数据`" @confirm="handleDelete(row)">
|
||||
<template #reference>
|
||||
<el-button link type="primary" :size="size"> 删除 </el-button>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
</template>
|
||||
</pure-table>
|
||||
</template>
|
||||
</PureTableBar>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<style scoped lang="scss">
|
||||
.content {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.content-flex {
|
||||
width: 100%;
|
||||
display: inline-flex;
|
||||
background-color: #fff;
|
||||
padding: 20px;
|
||||
text-align: center;
|
||||
align-items: center;
|
||||
justify-content: space-between
|
||||
}
|
||||
</style>
|
||||
@@ -9,7 +9,7 @@ const formRules = ref({
|
||||
target_quantity: [{ required: true, message: "请输入获得目标完成数量", trigger: "blur" }],
|
||||
sort: [{ required: true, message: "请输入排序", trigger: "blur" }]
|
||||
});
|
||||
const props = defineProps(["formInline"]);
|
||||
const props = defineProps(["formInline", "typeOptions"]);
|
||||
const newFormInline = ref(
|
||||
props.formInline
|
||||
? props.formInline
|
||||
@@ -39,29 +39,27 @@ defineExpose({ getRef });
|
||||
</el-form-item>
|
||||
<el-form-item label="任务类型" prop="task_type">
|
||||
<el-select v-model="newFormInline.task_type" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in [{ value: 1, label: '每日任务' }, { value: 2, label: '每日特殊任务' }, { value: 3, label: '平台常规任务' }]"
|
||||
:key="item.value" :label="item.label" :value="item.value">
|
||||
<el-option v-for="item in props.typeOptions" :key="item.id" :label="item.value" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务详细描述" prop="task_description">
|
||||
<!-- <el-form-item label="任务详细描述" prop="task_description">
|
||||
<el-input v-model="newFormInline.task_description" type="textarea" :rows="2"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="获得金币数量" prop="gold_reward">
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item label="获得金币数量" prop="gold_reward">
|
||||
<el-input-number v-model="newFormInline.gold_reward"></el-input-number>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="目标完成数量" prop="target_quantity">
|
||||
<el-input-number v-model="newFormInline.target_quantity"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="礼盒" prop="bag_id">
|
||||
<!-- <el-form-item label="礼盒" prop="bag_id">
|
||||
<el-select v-model="newFormInline.bag_id" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in [{ value: 0, label: '不配置礼盒' }, { value: 1, label: '初级礼盒' }, { value: 2, label: '高级礼盒' }]"
|
||||
:key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="排序" prop="sort">
|
||||
<el-input-number v-model="newFormInline.target_quantity"></el-input-number>
|
||||
</el-form-item>
|
||||
|
||||
@@ -7,9 +7,11 @@ import {
|
||||
editTaskData,
|
||||
upadteTaskData
|
||||
} from "@/api/modules/system";
|
||||
import detailView from './Reward/index.vue'
|
||||
import { addDialog } from "@/components/ReDialog";
|
||||
export function useData() {
|
||||
const formRef = ref();
|
||||
const typeList = ref([]);
|
||||
const loading = ref(true);
|
||||
const tableList = ref([]);
|
||||
const isShow = ref(false);
|
||||
@@ -112,6 +114,9 @@ export function useData() {
|
||||
});
|
||||
pagination.value.total = data.count;
|
||||
pagination.value.currentPage = data.page;
|
||||
Object.keys(data.task_type).forEach(ele => {
|
||||
typeList.value.push({ id: +ele, value: data.task_type[ele] })
|
||||
})
|
||||
}
|
||||
loading.value = false;
|
||||
};
|
||||
@@ -123,6 +128,19 @@ export function useData() {
|
||||
pagination.value.currentPage = val;
|
||||
onSearch(searchForm.value);
|
||||
};
|
||||
// 查看任务奖励
|
||||
const setTaskReward = (title, rowData) => {
|
||||
addDialog({
|
||||
title: title,
|
||||
props: {
|
||||
tableData: rowData
|
||||
},
|
||||
width: "60%",
|
||||
hideFooter: true,
|
||||
closeOnClickModal: false,
|
||||
contentRenderer: () => h(detailView)
|
||||
});
|
||||
}
|
||||
// 新增
|
||||
const openDialog = (title = "新增", rowData: any) => {
|
||||
addDialog({
|
||||
@@ -130,7 +148,8 @@ export function useData() {
|
||||
props: {
|
||||
formInline: {
|
||||
...rowData
|
||||
}
|
||||
},
|
||||
typeOptions: typeList.value
|
||||
},
|
||||
width: "40%",
|
||||
closeOnClickModal: false,
|
||||
@@ -171,6 +190,7 @@ export function useData() {
|
||||
handleSizeChange,
|
||||
handleCurrentChange,
|
||||
loading,
|
||||
openDialog
|
||||
openDialog,
|
||||
setTaskReward
|
||||
};
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ const {
|
||||
tableLabel,
|
||||
handleSizeChange,
|
||||
handleCurrentChange,
|
||||
handleDelete,
|
||||
setTaskReward,
|
||||
loading,
|
||||
openDialog
|
||||
} = useData();
|
||||
@@ -44,6 +44,7 @@ onMounted(() => {
|
||||
<el-button link type="primary" :size="size" @click="openDialog('编辑', row)">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button link type="primary" @click="setTaskReward('查看奖励', row)">任务奖励</el-button>
|
||||
</template>
|
||||
</pure-table>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user