diff --git a/src/api/modules/activities.ts b/src/api/modules/activities.ts index a4ded33..3635e02 100644 --- a/src/api/modules/activities.ts +++ b/src/api/modules/activities.ts @@ -19,10 +19,10 @@ export const queryGiftList = params => { { params } ); }; -export const queryAdornmentList = () => { +export const queryAdornmentList = (params) => { return http.request( "get", - "/adminapi/Activities/decorate_list"); + "/adminapi/Activities/decorate_list", { params }); }; export const getActivitiesBoxInfo = params => { return http.request( diff --git a/src/api/modules/level.ts b/src/api/modules/level.ts index e47e8e9..790e91f 100644 --- a/src/api/modules/level.ts +++ b/src/api/modules/level.ts @@ -81,4 +81,29 @@ export const deleteSingData = data => { return http.request("post", "/adminapi/SingerSong/singerLevelDel", { data }); -} \ No newline at end of file +} +// Cp +export const queryCpList = (params) => { + return http.request( + "get", + "/adminapi/UserCp/userCpLevelList", + { params } + ); +}; +export const editCpData = data => { + return http.request("post", "/adminapi/UserCp/userCpLevelEdit", { + data + }); +} +export const deleteCpData = data => { + return http.request("post", "/adminapi/UserCp/userCpLevelDel", { + data + }); +} +export const getCpInfo = (params) => { + return http.request( + "get", + "/adminapi/UserCp/userCpLevelInfo", + { params } + ); +}; \ No newline at end of file diff --git a/src/views/Level/cpLevel/detail.vue b/src/views/Level/cpLevel/detail.vue new file mode 100644 index 0000000..e0830af --- /dev/null +++ b/src/views/Level/cpLevel/detail.vue @@ -0,0 +1,45 @@ + + + \ No newline at end of file diff --git a/src/views/Level/cpLevel/form.vue b/src/views/Level/cpLevel/form.vue new file mode 100644 index 0000000..60ba511 --- /dev/null +++ b/src/views/Level/cpLevel/form.vue @@ -0,0 +1,111 @@ + + + diff --git a/src/views/Level/cpLevel/hook.tsx b/src/views/Level/cpLevel/hook.tsx new file mode 100644 index 0000000..7de6442 --- /dev/null +++ b/src/views/Level/cpLevel/hook.tsx @@ -0,0 +1,189 @@ +import { ref, h } from "vue"; +import editForm from "./form.vue"; +import detailView from './detail.vue'; +import { message } from "@/utils/message"; +import { + queryCpList, + editCpData, + deleteCpData +} from "@/api/modules/level"; +import { addDialog } from "@/components/ReDialog"; +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 tableLabel = ref([ + { + label: "ID", + prop: "id" + }, + { + label: "等级", + prop: "level" + }, + { + label: "等级名称", + prop: "name" + }, + { + label: "经验值", + prop: "change_value" + }, + { + label: "等级图标", + prop: "image", + cellRenderer: ({ row }) => ( + + ), + }, + // { + // label: "状态", + // prop: "status", + // cellRenderer: ({ row }) => ( + // {row.status === 1 ? '显示' : '隐藏'} + // ) + // }, + { + label: "发布时间", + prop: "createtime" + }, + { + label: "操作", + fixed: "right", + width: 210, + slot: "operation" + } + ]); + const onSearch = async () => { + loading.value = true; + const { data, code } = await queryCpList({ + page: pagination.value.currentPage, + page_limit: pagination.value.pageSize + }); + if (code) { + tableList.value = data.lists; + pagination.value.total = data.count; + pagination.value.currentPage = data.page; + } + loading.value = false; + }; + const handleSizeChange = (val: number) => { + pagination.value.pageSize = val; + onSearch(); + }; + const handleCurrentChange = (val: number) => { + pagination.value.currentPage = val; + onSearch(); + }; + const handleDelete = async rowData => { + const { code } = await deleteCpData({ id: rowData.id }); + if (code) { + message(`删除成功`, { + type: "success" + }); + onSearch(); + } + }; + // 新增 + const openDialog = (title = "新增", rowData: any) => { + addDialog({ + title: `${title}CP等级`, + props: { + formInline: { + level: rowData?.level ?? "", + name: rowData?.name ?? "", + image: rowData?.image ?? "", + change_value: rowData?.change_value ?? "", + rights_icon: rowData?.rights_icon ?? "", + dress_id: rowData?.dress_id ?? "", + jiajia_id: rowData?.jiajia_id ?? "", + pendant: rowData?.pendant ?? "", + direction: rowData?.direction ?? "" + } + }, + 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 => { + // 新增不传id + const { code, msg } = await editCpData(form); + if (code) { + message("新增成功", { type: "success" }); + onSearch(); + done(); + } else { + message(msg, { type: "error" }); + } + }; + const updateData = async form => { + const { code, msg } = await editCpData({ + ...form, + id: rowData.id + }); + if (code) { + message("修改成功", { type: "success" }); + onSearch(); + done(); + } else { + message(msg, { type: "error" }); + } + }; + FormRef.validate(valid => { + if (valid) { + // 表单规则校验通过 + if (title === "新增") { + // 实际开发先调用新增接口,再进行下面操作 + saveData(curData); + } else { + // 实际开发先调用修改接口,再进行下面操作 + updateData(curData); + } + } + }); + } + }); + }; + // 查看 + const viewDetail = (rowData) => { + addDialog({ + title: `查看CP等级详情`, + props: { + roomDetail: rowData, + }, + fullscreen: false, + hideFooter: true, + closeOnClickModal: false, + contentRenderer: () => h(detailView, { ref: formRef, formInline: null }) + }); + } + return { + onSearch, + isShow, + tableList, + tableLabel, + pagination, + handleSizeChange, + handleCurrentChange, + loading, + handleDelete, + openDialog, + viewDetail + }; +} diff --git a/src/views/Level/cpLevel/index.vue b/src/views/Level/cpLevel/index.vue new file mode 100644 index 0000000..9814a7e --- /dev/null +++ b/src/views/Level/cpLevel/index.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/src/views/room/hourlyChart/reward.vue b/src/views/room/hourlyChart/reward.vue index 161a9ea..ba328e3 100644 --- a/src/views/room/hourlyChart/reward.vue +++ b/src/views/room/hourlyChart/reward.vue @@ -47,7 +47,8 @@ const getList = async () => { // 道具 const AdornmentList = ref([]) const getAdornmentList = async () => { - const { data, code } = await queryAdornmentList() + + const { data, code } = await queryAdornmentList({}) AdornmentList.value = code ? data : [] } // 选择礼物