From 7923fea0db3be2c020de47731519caeaeecd85a9 Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Mon, 20 Jan 2025 18:27:08 +0800 Subject: [PATCH] add tid1807 logic --- src/pages.json | 16 +++- src/pages/menu/forth.vue | 10 +- src/store/actions.js | 33 ++++++- .../message/components/edit/fixed_button.vue | 4 +- .../message/components/edit/info_edit.vue | 78 ++++++++++++++-- .../message/components/edit/upload_img.vue | 104 +++++++++++++++++++-- src/subpackage/message/components/fixed_button.vue | 2 +- src/subpackage/message/components/message_item.vue | 21 ++++- src/subpackage/message/js/api.js | 11 +++ src/subpackage/message/js/server.js | 9 ++ src/subpackage/message/pages/complaint/edit.vue | 73 +++++++++++++-- src/subpackage/message/pages/complaint/list.vue | 62 +++++++++++- src/subpackage/message/pages/work_order/edit.vue | 99 ++++++++++++++++++++ 13 files changed, 484 insertions(+), 38 deletions(-) create mode 100644 src/subpackage/message/js/api.js create mode 100644 src/subpackage/message/js/server.js create mode 100644 src/subpackage/message/pages/work_order/edit.vue diff --git a/src/pages.json b/src/pages.json index a118cdf..678e51a 100644 --- a/src/pages.json +++ b/src/pages.json @@ -1,6 +1,10 @@ { "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages { + "path": "pages/index/index", + "style": { } + }, + { "path": "pages/menu/forth", "style": { "navigationBarTitleText": "个人中心", @@ -11,11 +15,7 @@ } } }, - { - "path": "pages/index/index", - "style": { - } - }, + { "path": "pages/login/login", "style": { @@ -932,6 +932,12 @@ "style" : { "navigationBarTitleText": "投诉详情" } + }, + { + "path": "pages/work_order/edit", + "style" : { + "navigationBarTitleText": "提交工单" + } } ] }, diff --git a/src/pages/menu/forth.vue b/src/pages/menu/forth.vue index aefd4df..637ab5c 100644 --- a/src/pages/menu/forth.vue +++ b/src/pages/menu/forth.vue @@ -13,7 +13,12 @@ 帮助中心 教练助手 - 收银系统 + + + + 总后台(admin.ouxuanzhineng.cn 复制) 投诉建议 解绑退出 @@ -63,4 +68,7 @@ export default { height: 30upx; } } + .fm-copy{ + @include flcw(32upx, 44upx, $mColor); + } \ No newline at end of file diff --git a/src/store/actions.js b/src/store/actions.js index d0cf110..2babf68 100644 --- a/src/store/actions.js +++ b/src/store/actions.js @@ -1,6 +1,8 @@ // 异步方法 import { servers } from '../js/server'; import { API } from '../js/api'; +import { showLoad, hideLoad, showModal } from '../utils/util'; + export default { getBrandInfo({commit, state}){ if(state?.brandInfo?.brand?.id)return Promise.resolve(state.brandInfo); @@ -24,5 +26,34 @@ export default { .catch(err=>{ console.warn('actions getOrderRefundList err -->', err); }) - } + }, + + // 获取门店列表 + getStadiumLs({ commit, state }, brand_id){ + showLoad(); + return servers.post({ + url: API.stadiumList, + data: { page_size: 9999, page: 1, brand_id }, + isDefaultGet: false, + }) + .then(res => { + hideLoad(); + let _data = res?.data || {}; + if(_data.code === 0){ + let _ls = _data?.data?.list || []; + return _ls; + }else{ + return Promise.reject(_data); + } + }) + .catch(err => { + hideLoad(); + showModal({ + title: '提示', + content: err.message || '加载店铺失败!' + }) + console.warn('store actions getStadiumLs err --->', err); + // return Promise.reject(err); + }) + }, } \ No newline at end of file diff --git a/src/subpackage/message/components/edit/fixed_button.vue b/src/subpackage/message/components/edit/fixed_button.vue index 5ddd100..fa8b4e1 100644 --- a/src/subpackage/message/components/edit/fixed_button.vue +++ b/src/subpackage/message/components/edit/fixed_button.vue @@ -1,7 +1,7 @@ diff --git a/src/subpackage/message/components/edit/info_edit.vue b/src/subpackage/message/components/edit/info_edit.vue index 80e49ee..63f54eb 100644 --- a/src/subpackage/message/components/edit/info_edit.vue +++ b/src/subpackage/message/components/edit/info_edit.vue @@ -1,11 +1,11 @@ @@ -65,6 +124,7 @@ export default { } .ie-tarea{ height: 306upx; + width: auto; } .ie-stadium{ @include ctf; diff --git a/src/subpackage/message/components/edit/upload_img.vue b/src/subpackage/message/components/edit/upload_img.vue index 162457c..c410911 100644 --- a/src/subpackage/message/components/edit/upload_img.vue +++ b/src/subpackage/message/components/edit/upload_img.vue @@ -1,12 +1,12 @@ @@ -50,7 +143,6 @@ export default { width: 100%; height: 100%; border-radius: 10upx; - background: skyblue; } .ui-close{ position: absolute; diff --git a/src/subpackage/message/components/fixed_button.vue b/src/subpackage/message/components/fixed_button.vue index 513eff5..5a301eb 100644 --- a/src/subpackage/message/components/fixed_button.vue +++ b/src/subpackage/message/components/fixed_button.vue @@ -1,6 +1,6 @@ diff --git a/src/subpackage/message/components/message_item.vue b/src/subpackage/message/components/message_item.vue index 24abe22..40bdf5b 100644 --- a/src/subpackage/message/components/message_item.vue +++ b/src/subpackage/message/components/message_item.vue @@ -4,10 +4,10 @@ - 标题 - 返回的状态 + {{ title || '-' }} + {{ status || '-' }} - 巴拉巴拉巴拉.... + {{ content || '-' }} @@ -16,7 +16,20 @@ diff --git a/src/subpackage/message/js/api.js b/src/subpackage/message/js/api.js new file mode 100644 index 0000000..a8137d6 --- /dev/null +++ b/src/subpackage/message/js/api.js @@ -0,0 +1,11 @@ +import { ORIGIN } from '@/js/api'; + +export const MESSAGE_API = { + zs_message_imgs:`${ORIGIN}/upload/file/zs_message_imgs`, // 投诉/工单图片 + complaintSubmit:`${ORIGIN}/admin/assistant/complaint/submit`, // 投诉提交 + complaintList:`${ORIGIN}/admin/assistant/complaint/list`, // 投诉列表 + workorderSubmit:`${ORIGIN}/admin/assistant/workorder/submit`, // 工单提交 +} + + +export default { ORIGIN, MESSAGE_API }; \ No newline at end of file diff --git a/src/subpackage/message/js/server.js b/src/subpackage/message/js/server.js new file mode 100644 index 0000000..c06aecb --- /dev/null +++ b/src/subpackage/message/js/server.js @@ -0,0 +1,9 @@ +import { Server } from '@/js/server'; + +class _server extends Server { + constructor(props){ + super(props) + } +} + +export default new _server(); \ No newline at end of file diff --git a/src/subpackage/message/pages/complaint/edit.vue b/src/subpackage/message/pages/complaint/edit.vue index cfce4fe..b0a409e 100644 --- a/src/subpackage/message/pages/complaint/edit.vue +++ b/src/subpackage/message/pages/complaint/edit.vue @@ -1,9 +1,12 @@ @@ -11,12 +14,68 @@ import infoEdit from "../../components/edit/info_edit.vue"; import uploadImg from "../../components/edit/upload_img.vue"; import fixedButton from "../../components/edit/fixed_button.vue"; +import { routeTo, debounce, showLoad, hideLoad, showModal, showNone } from "@/utils/util.js"; +import { MESSAGE_API } from "../../js/api.js"; +import server from "../../js/server.js"; export default { - components: { - infoEdit, - uploadImg, - fixedButton, + components: { infoEdit, uploadImg, fixedButton }, + data() { + return { + brand_id: '', + } }, + onLoad(options) { + let _bid = options?.brand_id ?? ''; + this.brand_id = _bid; + }, + methods: { + cancelBtn: routeTo, + submitBtn: debounce(async function(){ + try{ + let { brand_id } = this; + let _infoData = await this.$refs?.infoEdit?.getData?.(); + let { urls, temps } = await this.$refs?.uploadImg?.getUrls?.(); + this.complaintSubmit({ + brand_id, + title: _infoData?.title ?? '', + content: _infoData?.content ?? '', + showimgs: urls ?? [], + }) + }catch(err){ + hideLoad(); + console.warn('subpackage message pages complaint edit submitBtn err --->', err); + } + }, 300, true), + + // 投诉提交 + complaintSubmit({ brand_id, title = '', content = '', showimgs = [] }){ + showLoad(); + return server.post({ + url: MESSAGE_API.complaintSubmit, + data: { brand_id: +brand_id, title, content, showimgs }, + isDefaultGet: false, + }) + .then(res => { + hideLoad(); + let _data = res?.data || {}; + if(_data.code === 0){ + showNone(_data?.message ?? '操作成功!'); + setTimeout(routeTo, 1000); + }else{ + return Promise.reject(_data); + } + }) + .catch(err => { + hideLoad(); + showModal({ + title: '提示', + content: err.message || '操作失败!' + }) + console.warn('subpackage message pages complaint edit complaintSubmit err --->', err); + // return Promise.reject(err); + }) + }, + } } diff --git a/src/subpackage/message/pages/complaint/list.vue b/src/subpackage/message/pages/complaint/list.vue index 69249c9..d491087 100644 --- a/src/subpackage/message/pages/complaint/list.vue +++ b/src/subpackage/message/pages/complaint/list.vue @@ -1,20 +1,78 @@ diff --git a/src/subpackage/message/pages/work_order/edit.vue b/src/subpackage/message/pages/work_order/edit.vue new file mode 100644 index 0000000..7863694 --- /dev/null +++ b/src/subpackage/message/pages/work_order/edit.vue @@ -0,0 +1,99 @@ + + + + + \ No newline at end of file