From b8f643abe065d46064a2836e1954a99c5c44fe74 Mon Sep 17 00:00:00 2001 From: helen Date: Tue, 24 Dec 2024 15:53:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/manage/mkJigsaw/index.ts | 74 ++++ src/api/manage/mkJigsaw/types.ts | 206 ++++++++++ src/views/manage/activity/index.vue | 13 +- src/views/manage/hotel/index.vue | 8 +- src/views/manage/mkJigsaw/index.vue | 351 ++++++++++++++++++ src/views/manage/noteManage/index.vue | 81 +++- .../manage/{routeManage => route}/index.vue | 125 ++++--- 7 files changed, 788 insertions(+), 70 deletions(-) create mode 100644 src/api/manage/mkJigsaw/index.ts create mode 100644 src/api/manage/mkJigsaw/types.ts create mode 100644 src/views/manage/mkJigsaw/index.vue rename src/views/manage/{routeManage => route}/index.vue (89%) diff --git a/src/api/manage/mkJigsaw/index.ts b/src/api/manage/mkJigsaw/index.ts new file mode 100644 index 0000000..0b92000 --- /dev/null +++ b/src/api/manage/mkJigsaw/index.ts @@ -0,0 +1,74 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { MkJigsawVO, MkJigsawForm, MkJigsawQuery } from '@/api/manage/mkJigsaw/types'; + +/** + * 查询拼图游戏列表 + * @param query + * @returns {*} + */ + +export const listMkJigsaw = (query?: MkJigsawQuery): AxiosPromise => { + return request({ + url: '/manage/mkJigsaw/list', + method: 'get', + params: query + }); +}; + +/** + * 查询拼图游戏详细 + * @param id + */ +export const getMkJigsaw = (id: string | number): AxiosPromise => { + return request({ + url: '/manage/mkJigsaw/' + id, + method: 'get' + }); +}; + +/** + * 新增拼图游戏 + * @param data + */ +export const addMkJigsaw = (data: MkJigsawForm) => { + return request({ + url: '/manage/mkJigsaw', + method: 'post', + data: data + }); +}; + +/** + * 修改拼图游戏 + * @param data + */ +export const updateMkJigsaw = (data: MkJigsawForm) => { + return request({ + url: '/manage/mkJigsaw', + method: 'put', + data: data + }); +}; + +/** + * 删除拼图游戏 + * @param id + */ +export const delMkJigsaw = (id: string | number | Array) => { + return request({ + url: '/manage/mkJigsaw/' + id, + method: 'delete' + }); +}; +/** + * 商品下拉列表 + * @param query + */ +export const productall = (query: Array) => { + return request({ + url: '/manage/product/all', + method: 'gte', + params: query + }); +}; diff --git a/src/api/manage/mkJigsaw/types.ts b/src/api/manage/mkJigsaw/types.ts new file mode 100644 index 0000000..4c4ec2d --- /dev/null +++ b/src/api/manage/mkJigsaw/types.ts @@ -0,0 +1,206 @@ +export interface MkJigsawVO { + /** + * ID + */ + id: string | number; + + /** + * 任务名称 + */ + name: string; + + /** + * 任务类别 0-普适拼图任务 1-心愿拼图任务 + */ + category: number; + + /** + * 商品ID + */ + productId: string | number; + + /** + * 商品名称 + */ + productName: string; + + /** + * 活动开始时间 + */ + startDate: string; + + /** + * 活动结束时间 + */ + endDate: string; + + /** + * 拼图配置数量 + */ + jigsawConfigCount: number; + + /** + * 得奖配置人数 + */ + awardConfigCount: number; + + /** + * 控制得奖拼图 + */ + controlJigsawIndex: number; + + /** + * 参与人数 + */ + joinCount: number; + + /** + * 实际得奖人数 + */ + awardCount: number; + + /** + * 发布状态 0-未发布 1-已发布 + */ + status: number; + +} + +export interface MkJigsawForm extends BaseEntity { + /** + * ID + */ + id?: string | number; + + /** + * 任务名称 + */ + name?: string; + + /** + * 任务类别 0-普适拼图任务 1-心愿拼图任务 + */ + category?: number; + + /** + * 商品ID + */ + productId?: string | number; + + /** + * 商品名称 + */ + productName?: string; + + /** + * 活动开始时间 + */ + startDate?: string; + + /** + * 活动结束时间 + */ + endDate?: string; + + /** + * 拼图配置数量 + */ + jigsawConfigCount?: number; + + /** + * 得奖配置人数 + */ + awardConfigCount?: number; + + /** + * 控制得奖拼图 + */ + controlJigsawIndex?: number; + + /** + * 参与人数 + */ + joinCount?: number; + + /** + * 实际得奖人数 + */ + awardCount?: number; + + /** + * 发布状态 0-未发布 1-已发布 + */ + status?: number; + +} + +export interface MkJigsawQuery extends PageQuery { + + /** + * 任务名称 + */ + name?: string; + + /** + * 任务类别 0-普适拼图任务 1-心愿拼图任务 + */ + category?: number; + + /** + * 商品ID + */ + productId?: string | number; + + /** + * 商品名称 + */ + productName?: string; + + /** + * 活动开始时间 + */ + startDate?: string; + + /** + * 活动结束时间 + */ + endDate?: string; + + /** + * 拼图配置数量 + */ + jigsawConfigCount?: number; + + /** + * 得奖配置人数 + */ + awardConfigCount?: number; + + /** + * 控制得奖拼图 + */ + controlJigsawIndex?: number; + + /** + * 参与人数 + */ + joinCount?: number; + + /** + * 实际得奖人数 + */ + awardCount?: number; + + /** + * 发布状态 0-未发布 1-已发布 + */ + status?: number; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/views/manage/activity/index.vue b/src/views/manage/activity/index.vue index 4ff1c5b..daa86c6 100644 --- a/src/views/manage/activity/index.vue +++ b/src/views/manage/activity/index.vue @@ -5,7 +5,7 @@ - + @@ -238,8 +238,8 @@ const publisherAddress = ref({}); const Mapvalue = ref({}); const Mapvaluetwo = ref({}); const note_publish_list = ref([ - { value: 2, label: '已发布' }, - { value: 2, label: '未发布' }, + { value: 3, label: '已发布' }, + { value: 0, label: '未发布' }, { value: 1, label: '草稿' } ]); const activityFormRef = ref(); @@ -360,6 +360,9 @@ const handleQuery = () => { /** 重置按钮操作 */ const resetQuery = () => { + queryParams.value.status = ''; + queryParams.value.isSelected = ''; + queryParams.value.activityName = ''; queryFormRef.value?.resetFields(); handleQuery(); }; @@ -470,9 +473,7 @@ const registrationCountnum = async (row) => { activityUserstotal.value = res.total; numdialog.visible = true; }; -const chakanhandle = async (row?: ActivityVO) => { - -}; +const chakanhandle = async (row?: ActivityVO) => {}; onMounted(() => { getList(); }); diff --git a/src/views/manage/hotel/index.vue b/src/views/manage/hotel/index.vue index 8b90154..fddf3d9 100644 --- a/src/views/manage/hotel/index.vue +++ b/src/views/manage/hotel/index.vue @@ -83,8 +83,8 @@ v-model="form.number" placeholder="请输入联系电话" style="width: 300px" - oninput="if(value.length>11)value=value.slice(0,11)" - onkeyup="this.value = this.value.replace(/[^\d]/g,'');" + oninput="if(value.length>20)value=value.slice(0,20)" + οnkeyup="value=value.replace(/[^\d\-\d]/g,'')" /> @@ -267,6 +267,8 @@ const handleUpdate = async (row?: HotelVO) => { const res = await getHotel(_id); res.data.regionCode = res.data?.county || res.data?.city || res.data?.province; Object.assign(form.value, res.data); + center.value = { lat: row.latitude, lng: row.longitude }; + geometries.value = [{ styleId: 'marker', position: { lat: row.latitude, lng: row.longitude } }]; dialog.visible = true; dialog.title = '修改住宿'; }; @@ -429,3 +431,5 @@ onMounted(() => { getList(); }); + diff --git a/src/views/manage/mkJigsaw/index.vue b/src/views/manage/mkJigsaw/index.vue new file mode 100644 index 0000000..dbdaaa6 --- /dev/null +++ b/src/views/manage/mkJigsaw/index.vue @@ -0,0 +1,351 @@ + + + + diff --git a/src/views/manage/noteManage/index.vue b/src/views/manage/noteManage/index.vue index 9e3db06..1705c37 100644 --- a/src/views/manage/noteManage/index.vue +++ b/src/views/manage/noteManage/index.vue @@ -79,7 +79,7 @@ @@ -161,6 +161,17 @@
{{ formatlocation(form.location) }}
+ + +
+ +
+ +
@@ -168,6 +179,8 @@ import { listNotebook, getNotebook, delNotebook, addNotebook, updateNotebook, tagall, contentall } from '@/api/manage/notebook'; import { NotebookVO, NotebookQuery, NotebookForm } from '@/api/manage/notebook/types'; import { hotelall } from '@/api/manage/route'; +import { reactive } from 'vue'; +import { string } from "vue-types"; const { proxy } = getCurrentInstance() as ComponentInternalInstance; const notebookList = ref([]); @@ -184,8 +197,31 @@ const queryFormRef = ref(); const notebookFormRef = ref(); const value = ref(''); const tagvalue = ref(''); -const addressvalue = ref(''); +const comment = reactive({ + visible: false, + bizId: null +}); +//导入父组件传递的值 +const props = defineProps({ + noteBookTagIds: { + type: string, + default: () => '' + }, + autoTableHeight: { + type: Number, + default: 0 + }, + parentName: { + type: String, + default: () => '' + }, + sys_user_tagOptions: { + type: Array, + default: () => [] + } +}); +const addressvalue = ref(''); const statusoptions = [ { value: '1', @@ -243,6 +279,26 @@ const data = reactive>({ }); const { queryParams, form, rules } = toRefs(data); +// 查看评论详情 +const handleComment = async (row: any) => { + comment.bizId = row.id; + comment.visible = true; +}; +// 监听父组件传递的tagIds,当tagIds发生变化时,重新获取数据 +watch( + () => props.noteBookTagIds, + (newVal, oldVal) => { + console.log(newVal); + queryParams.value.tagIds = newVal; + if (newVal) { + //获取数据 + nextTick(() => { + getTableList(); + }); + } + }, + { immediate: true } +); /** * 标签格式化 */ @@ -262,12 +318,10 @@ const formatTag = (tagId: string | null) => { const formatlocation = (tagId: string | null) => { let tagString = ''; let arrlist = tagId?.split(',').map(Number); - for (let i = 0; i < sys_user_contentOptions.value.length; i++) { const element = sys_user_contentOptions.value[i]; for (let j = 0; j < arrlist.length; j++) { const conten = arrlist[j]; - if (conten == element.id) { tagString += ',' + element.name; } @@ -297,6 +351,7 @@ const getContent = async () => { const cancel = () => { reset(); dialog.visible = false; + comment.visible = false; }; /** 表单重置 */ @@ -337,7 +392,7 @@ const handleUpdate = async (row?: NotebookVO) => { const _id = row?.id || ids.value[0]; const res = await getNotebook(_id); Object.assign(form.value, res.data); - tagvalue.value = form.value.tagId.split(',').map(Number); + tagvalue.value = form.value.tagId.split(','); addressvalue.value = form.value.location.split(','); dialog.visible = true; dialog.title = '修改笔记'; @@ -409,7 +464,21 @@ const handleExport = () => { `notebook_${new Date().getTime()}.xlsx` ); }; - +// 监听父组件传递的tagIds,当tagIds发生变化时,重新获取数据 +watch( + () => props.noteBookTagIds, + (newVal, oldVal) => { + console.log(newVal); + queryParams.value.tagIds = newVal; + if (newVal) { + //获取数据 + nextTick(() => { + getTableList(); + }); + } + }, + { immediate: true } +); onMounted(() => { getList(); getTag(); //标签库 diff --git a/src/views/manage/routeManage/index.vue b/src/views/manage/route/index.vue similarity index 89% rename from src/views/manage/routeManage/index.vue rename to src/views/manage/route/index.vue index 2574815..ebfe6f2 100644 --- a/src/views/manage/routeManage/index.vue +++ b/src/views/manage/route/index.vue @@ -24,32 +24,37 @@ - - + + - + + + + @@ -68,15 +73,25 @@ 已发布 - +