Browse Source

finish tid1807

tid1867
刘嘉炜 3 months ago
parent
commit
82b50d7c20
  1. 30
      src/pages.json
  2. 2
      src/pages/index/index.vue
  3. 29
      src/pages/menu/forth.vue
  4. 32
      src/pages/menu/second.vue
  5. 117
      src/pages/menu/third.vue
  6. BIN
      src/static/images/third_pages/banner.png
  7. BIN
      src/static/images/third_pages/bg.png
  8. BIN
      src/static/images/third_pages/tab_a.png
  9. BIN
      src/static/images/third_pages/tab_b.png
  10. 2
      src/store/index.js
  11. 3
      src/subpackage/authorization/components/user_info/impower.vue
  12. 37
      src/subpackage/menu/components/bottom_logo.vue
  13. 6
      src/subpackage/message/components/edit/upload_img.vue
  14. 2
      src/subpackage/message/components/fixed_button.vue
  15. 2
      src/subpackage/message/pages/complaint/list.vue
  16. 2
      src/subpackage/message/pages/work_order/list.vue

30
src/pages.json

@ -10,6 +10,24 @@
} }
}, },
{ {
"path": "pages/menu/second",
"style": {
"navigationBarTitleText": "推广营销",
"componentPlaceholder": {
"bottom-logo": "view"
}
}
},
{
"path": "pages/menu/third",
"style": {
"navigationBarTitleText": "商家服务",
"componentPlaceholder": {
"bottom-logo": "view"
}
}
},
{
"path": "pages/menu/forth", "path": "pages/menu/forth",
"style": { "style": {
"navigationBarTitleText": "个人中心", "navigationBarTitleText": "个人中心",
@ -1003,6 +1021,18 @@
"selectedIconPath": "static/images/tab/ta_1.png" "selectedIconPath": "static/images/tab/ta_1.png"
}, },
{ {
"pagePath": "pages/menu/second",
"text": "推广营销",
"iconPath": "static/images/tab/tab_2.png",
"selectedIconPath": "static/images/tab/ta_2.png"
},
{
"pagePath": "pages/menu/third",
"text": "商家服务",
"iconPath": "static/images/tab/tab_3.png",
"selectedIconPath": "static/images/tab/ta_3.png"
},
{
"pagePath": "pages/menu/forth", "pagePath": "pages/menu/forth",
"text": "我的", "text": "我的",
"iconPath": "static/images/tab/tab_4.png", "iconPath": "static/images/tab/tab_4.png",

2
src/pages/index/index.vue

@ -121,7 +121,7 @@
}, },
{ {
id: 6, id: 6,
name: '设备管理',
name: '智能设备',
path: '/subpackage/device/pages/index/index', path: '/subpackage/device/pages/index/index',
serverKey: 1010 // serverKey: 1010 //
}, },

29
src/pages/menu/forth.vue

@ -6,10 +6,11 @@
@click:login="loginBtn" @click:login="loginBtn"
:nickname="userInfo.nickname" :nickname="userInfo.nickname"
:name="userInfo.actual_name" :name="userInfo.actual_name"
:account="userInfo.mobile"
:account="userInfo.mobile || userInfo.username || ''"
:photo="userInfo.avatar_url" :photo="userInfo.avatar_url"
@click:update="updateUser" @click:update="updateUser"
></mine-header> ></mine-header>
<!-- 后端 account-> 如果有手机号就显示手机号 没有的话显示username, 都没有的话就空好了 -->
<block v-if="menuPackageLoaded"> <block v-if="menuPackageLoaded">
<line-tab :icon-num='0'> <line-tab :icon-num='0'>
<template slot="default">账号管理</template> <template slot="default">账号管理</template>
@ -29,15 +30,14 @@
<view class="fm-copy" @click="copyLink(deadData.cashierSystemLink)">(复制网址)</view> <view class="fm-copy" @click="copyLink(deadData.cashierSystemLink)">(复制网址)</view>
</template> </template>
</line-tab> </line-tab>
<line-tab :icon-num='4'>
<template slot="default">总后台</template>
<template slot="right">
<view class="fm-copy" @click="copyLink(deadData.backstageLink)">(复制网址)</view>
</template>
<line-tab :icon-num='4' @click="toWebView(deadData.backstageLink)">
<view class="fm-admin">
<view class="fa-txt">总后台<text class="ft-txt">({{ deadData.backstageLink }})</text></view><view class="fa-copy" @click.stop="copyLink(deadData.backstageLink)">复制</view>
</view>
</line-tab> </line-tab>
</block> </block>
<!-- <line-tab :icon-num='4'>总后台(<text class="fm-txt">{{ deadData.backstageLink }}<text class="ft-copy" @click="copyLink(deadData.backstageLink)">复制</text></text>)</line-tab> -->
<line-tab :icon-num='5' @click="toComplaint">投诉建议</line-tab> <line-tab :icon-num='5' @click="toComplaint">投诉建议</line-tab>
<line-tab :icon-num='6' v-if="loginState" @click="unBindBtn">解绑退出</line-tab> <line-tab :icon-num='6' v-if="loginState" @click="unBindBtn">解绑退出</line-tab>
</block> </block>
@ -218,4 +218,19 @@ export default {
.fm-copy{ .fm-copy{
@include flcw(32upx, 44upx, $mColor); @include flcw(32upx, 44upx, $mColor);
} }
.fm-admin{
@include ctf;
.fa-txt{
@include flcw(32upx, 44upx, #9A9A9D);
@include tHide;
.ft-txt{
font-size: 28upx;
}
}
.fa-copy{
padding: 0upx 10upx;
flex-shrink: 0;
@include flcw(28upx, 44upx, $mColor);
}
}
</style> </style>

32
src/pages/menu/second.vue

@ -0,0 +1,32 @@
<template>
<view class="second-pages">
<view class="sp-post">
<view class="sp-box">
<view class="tl-tit">板块更新中</view>
</view>
</view>
<bottom-logo is-fixed></bottom-logo>
</view>
</template>
<script>
import bottomLogo from "@/subpackage/menu/components/bottom_logo.vue";
export default {
components:{ bottomLogo },
}
</script>
<style lang="scss">
.sp-post{
padding: 24upx;
.sp-box{
padding: 22upx 28upx;
height: 400upx;
background-image: linear-gradient(270deg, #d7d7da 0%, $mColor 100%);
.tl-tit{
@include flcw(43upx, 60upx, #fff, 500);
@include tHide;
}
}
}
</style>

117
src/pages/menu/third.vue

@ -0,0 +1,117 @@
<template>
<view class="third-page">
<view class="tp-container">
<image class="tc-post" mode="aspectFit" src="/static/images/third_pages/banner.png"></image>
<view class="tc-bot">
<view class="tb-left" @click="clickTap">
<image class="tl-bg" mode="aspectFill" src="/static/images/third_pages/bg.png"></image>
<view class="tl-tit">采购商城</view>
<view class="tl-txt">采购专业装备</view>
</view>
<view class="tb-right">
<view class="tr-item active" @click="clickTap">
<view class="ti-title">客服外包</view>
<view class="ti-text">客服外包</view>
<image class="tr-icon" src="/static/images/third_pages/tab_a.png"></image>
</view>
<view class="tr-item" @click="clickTap">
<view class="ti-title">敬请期待</view>
<view class="ti-text">敬请期待</view>
<image class="tr-icon" src="/static/images/third_pages/tab_b.png"></image>
</view>
<view class="tr-item" @click="clickTap">
<view class="ti-title">敬请期待</view>
<view class="ti-text">敬请期待</view>
<image class="tr-icon" src="/static/images/third_pages/tab_b.png"></image>
</view>
</view>
</view>
</view>
<bottom-logo is-fixed></bottom-logo>
</view>
</template>
<script>
import bottomLogo from "@/subpackage/menu/components/bottom_logo.vue";
import { showNone } from "@/utils/util";
export default {
components:{ bottomLogo },
methods: {
clickTap(){
showNone('板块更新中');
}
}
}
</script>
<style lang="scss">
.third-page{
.tp-container{
padding: 28upx 24upx 0upx;
.tc-post{
display: block;
height: 400upx;
width: 100%;
}
.tc-bot{
margin-top: 24upx;
display: flex;
align-items: stretch;
.tb-left{
position: relative;
flex-shrink: 0;
margin-right: 22upx;
padding: 22upx 28upx;
width: 340upx;
height: 420upx;
.tl-bg{
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: -1;
}
.tl-tit{
@include flcw(43upx, 60upx, #fff, 500);
@include tHide;
}
.tl-txt{
@include flcw(30upx, 42upx, #fff, 500);
@include tHide;
}
}
.tb-right{
flex-grow: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
.tr-item{
position: relative;
height: 124upx;
background-image: linear-gradient(270deg, #FFFFFF 0%, #C8C8CA 100%);
padding: 16upx;
&.active{
background-image: linear-gradient(270deg, #F2D286 0%, #E0A46F 100%);
}
.ti-title{
@include flcw(32upx, 44upx, #fff, 500);
@include tHide;
}
.ti-text{
@include flcw(22upx, 32upx, #fff, 500);
@include tHide;
}
.tr-icon{
position: absolute;
right: 6upx;
bottom: 0upx;
width: 136upx;
height: 104upx;
}
}
}
}
}
}
</style>

BIN
src/static/images/third_pages/banner.png

After

Width: 351  |  Height: 200  |  Size: 23 KiB

BIN
src/static/images/third_pages/bg.png

After

Width: 170  |  Height: 210  |  Size: 2.5 KiB

BIN
src/static/images/third_pages/tab_a.png

After

Width: 68  |  Height: 57  |  Size: 2.3 KiB

BIN
src/static/images/third_pages/tab_b.png

After

Width: 68  |  Height: 57  |  Size: 1.9 KiB

2
src/store/index.js

@ -38,7 +38,7 @@ export default new Vuex.Store({
'1007': '员工管理', '1007': '员工管理',
'1008': '核销查询', '1008': '核销查询',
'1009': '场地看板', '1009': '场地看板',
'1010': '设备管理',
'1010': '智能设备',
'1011': '商品零售', '1011': '商品零售',
// '1013': '课程管理', // '1013': '课程管理',
'1014': '储值卡管理', '1014': '储值卡管理',

3
src/subpackage/authorization/components/user_info/impower.vue

@ -27,7 +27,7 @@ export default {
watch: { watch: {
showAuthorizationModal(nVal, oVal){ showAuthorizationModal(nVal, oVal){
let { initData } = this; let { initData } = this;
if(!nVal&&oVal)initData?.close();
if(!nVal&&oVal)initData?.close?.();
} }
}, },
data() { data() {
@ -51,6 +51,7 @@ export default {
let _imgUrl = await this.uploadImg(info.avatar); let _imgUrl = await this.uploadImg(info.avatar);
let _editObj = { nickname: info.nickname, avatar_url: _imgUrl }; let _editObj = { nickname: info.nickname, avatar_url: _imgUrl };
await userEdit(_editObj); await userEdit(_editObj);
this.hide();
initData?.success?.(_editObj); initData?.success?.(_editObj);
}catch(err){ }catch(err){
console.warn('authorize components user info impower updatedUserInfoEvent err --->', err) console.warn('authorize components user info impower updatedUserInfoEvent err --->', err)

37
src/subpackage/menu/components/bottom_logo.vue

@ -1,27 +1,40 @@
<template> <template>
<view class="bottom-logo">
<view class="bl-space"></view>
<image class="bl-img" mode="aspectFit" src="/subpackage/menu/static/images/bot_logo.png"></image>
<view class="bottom-logo" :class="{ 'fixed-active': isFixed }" @click="toWebView">
<image @click="toWebView" class="bl-img" mode="aspectFit" src="/subpackage/menu/static/images/bot_logo.png"></image>
</view> </view>
</template> </template>
<script> <script>
import { routeTo, jsonStr } from '@/utils/util.js'
export default { export default {
props: {
isFixed: {
type: Boolean,
default: false
}
},
methods: {
toWebView(){
routeTo(`/pages/web_view/web_view?src=${jsonStr('https://www.ouxuanzhineng.cn/')}`, 'nT');
}
}
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.bl-space{
height: 152upx;
.bottom-logo{
height: 200upx;
width: 100%;
@include ctf(center);
&.fixed-active{
position: fixed;
left: 50%;
bottom: 0;
transform: translateX(-50%);
z-index: -1;
}
} }
.bl-img{ .bl-img{
position: fixed;
left: 50%;
bottom: 52upx;
z-index: -1;
transform: translateX(-50%);
display: block;
width: 312upx; width: 312upx;
height: 100upx; height: 100upx;
} }

6
src/subpackage/message/components/edit/upload_img.vue

@ -36,8 +36,10 @@ export default {
count: 3, count: 3,
sourceType: ['album', 'camera'], sourceType: ['album', 'camera'],
success: (res) => { success: (res) => {
let { imgTemLs } = this;
if(imgTemLs.length >= 3)return showModal({ content: '最多上传3张图片!' });
let { imgTemLs, max } = this;
let _curImgNum = imgTemLs?.length ?? 0;
let _temImgNum = res?.tempFilePaths?.length ?? 0;
if((_curImgNum + _temImgNum) > max)return showModal({ content: '最多上传3张图片!' });
this.imgTemLs = imgTemLs.concat(res.tempFilePaths); this.imgTemLs = imgTemLs.concat(res.tempFilePaths);
} }
}); });

2
src/subpackage/message/components/fixed_button.vue

@ -1,6 +1,6 @@
<template> <template>
<view class="fixed-button"> <view class="fixed-button">
<button class="fb-btn" hover-class="hover-active" @click="$emit('click')">新建投诉</button>
<button class="fb-btn" hover-class="hover-active" @click="$emit('click')">新建</button>
</view> </view>
</template> </template>

2
src/subpackage/message/pages/complaint/list.vue

@ -11,7 +11,7 @@
<view style="height: 24rpx;"></view> <view style="height: 24rpx;"></view>
</block> </block>
</view> </view>
<fixed-button @click="clickBtn"></fixed-button>
<fixed-button @click="clickBtn">新建投诉</fixed-button>
</view> </view>
</template> </template>

2
src/subpackage/message/pages/work_order/list.vue

@ -11,7 +11,7 @@
<view style="height: 24rpx;"></view> <view style="height: 24rpx;"></view>
</block> </block>
</view> </view>
<fixed-button @click="clickBtn"></fixed-button>
<fixed-button @click="clickBtn">新建工单</fixed-button>
</view> </view>
</template> </template>

Loading…
Cancel
Save