update: 降本地图片替换为线上图片
|
@ -5,10 +5,14 @@
|
||||||
<Title :title="item.title" />
|
<Title :title="item.title" />
|
||||||
</view>
|
</view>
|
||||||
<view class="box-content">
|
<view class="box-content">
|
||||||
<view v-for="(child, index) in item.child" :key="index" @click="(child as any).fn(child)">
|
<view
|
||||||
|
v-for="(child, index) in item.child"
|
||||||
|
:key="index"
|
||||||
|
@click="(child as any).fn(child)"
|
||||||
|
>
|
||||||
<view>
|
<view>
|
||||||
<up-image
|
<up-image
|
||||||
:src="`/pagesStatistics/static/${child.icon}`"
|
:src="`https://backend-common.obs.cn-east-3.myhuaweicloud.com/static/pagesStatistics/${child.icon}`"
|
||||||
mode="aspectFill"
|
mode="aspectFill"
|
||||||
width="60rpx"
|
width="60rpx"
|
||||||
height="60rpx"
|
height="60rpx"
|
||||||
|
@ -21,10 +25,12 @@
|
||||||
<view class="line" v-show="index < list.length - 1"></view>
|
<view class="line" v-show="index < list.length - 1"></view>
|
||||||
</view>
|
</view>
|
||||||
</Box>
|
</Box>
|
||||||
|
<TabBar></TabBar>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import Box from "@/components/Box/index.vue";
|
import Box from "@/components/Box/index.vue";
|
||||||
import Title from "@/components/Title/index.vue";
|
import Title from "@/components/Title/index.vue";
|
||||||
|
import TabBar from "@/components/TabBar/index.vue";
|
||||||
const list = reactive([
|
const list = reactive([
|
||||||
{
|
{
|
||||||
title: "收货",
|
title: "收货",
|
||||||
|
@ -35,8 +41,8 @@ const list = reactive([
|
||||||
fn: (item: any) => {
|
fn: (item: any) => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: "/pagesStatistics/receivePanel", // 要跳转到的页面路径
|
url: "/pagesStatistics/receivePanel", // 要跳转到的页面路径
|
||||||
})
|
});
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: "02.png",
|
icon: "02.png",
|
||||||
|
@ -44,9 +50,8 @@ const list = reactive([
|
||||||
fn: (item: any) => {
|
fn: (item: any) => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: "/pagesStatistics/supplierRanking", // 要跳转到的页面路径
|
url: "/pagesStatistics/supplierRanking", // 要跳转到的页面路径
|
||||||
})
|
});
|
||||||
}
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -59,8 +64,8 @@ const list = reactive([
|
||||||
fn: (item: any) => {
|
fn: (item: any) => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: "/pagesStatistics/shipmentPanel", // 要跳转到的页面路径
|
url: "/pagesStatistics/shipmentPanel", // 要跳转到的页面路径
|
||||||
})
|
});
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: "04.png",
|
icon: "04.png",
|
||||||
|
@ -68,8 +73,8 @@ const list = reactive([
|
||||||
fn: (item: any) => {
|
fn: (item: any) => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: "/pagesStatistics/customerRanking", // 要跳转到的页面路径
|
url: "/pagesStatistics/customerRanking", // 要跳转到的页面路径
|
||||||
})
|
});
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -82,8 +87,8 @@ const list = reactive([
|
||||||
fn: (item: any) => {
|
fn: (item: any) => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: "/pagesStatistics/businessOverview", // 要跳转到的页面路径
|
url: "/pagesStatistics/businessOverview", // 要跳转到的页面路径
|
||||||
})
|
});
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: "06.png",
|
icon: "06.png",
|
||||||
|
@ -91,8 +96,8 @@ const list = reactive([
|
||||||
fn: (item: any) => {
|
fn: (item: any) => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: "/pagesStatistics/supplierChecking", // 要跳转到的页面路径
|
url: "/pagesStatistics/supplierChecking", // 要跳转到的页面路径
|
||||||
})
|
});
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: "07.png",
|
icon: "07.png",
|
||||||
|
@ -100,8 +105,8 @@ const list = reactive([
|
||||||
fn: (item: any) => {
|
fn: (item: any) => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: "/pagesStatistics/customerChecking", // 要跳转到的页面路径
|
url: "/pagesStatistics/customerChecking", // 要跳转到的页面路径
|
||||||
})
|
});
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
Before Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 8.4 KiB |
Before Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 5.4 KiB |
|
@ -50,7 +50,7 @@
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import TimeDialog from "./components/TimeDialog.vue";
|
import TimeDialog from "./components/TimeDialog.vue";
|
||||||
import CEcharts from "../components/Echarts/echarts.vue";
|
import CEcharts from "@/components/Echarts/echarts.vue";
|
||||||
import ProductTypeDialog from "./components/ProductTypeDialog.vue";
|
import ProductTypeDialog from "./components/ProductTypeDialog.vue";
|
||||||
import { ReceiveApi } from "@/services";
|
import { ReceiveApi } from "@/services";
|
||||||
import { formatDate, getCurrentMonthStartAndEnd } from "@/utils";
|
import { formatDate, getCurrentMonthStartAndEnd } from "@/utils";
|
||||||
|
|
|
@ -8,11 +8,11 @@
|
||||||
>
|
>
|
||||||
<view class="left" @click="handleMsg()">
|
<view class="left" @click="handleMsg()">
|
||||||
<view class="msg-badge">
|
<view class="msg-badge">
|
||||||
<up-badge max="99" :value="'99'"></up-badge>
|
<up-badge max="99" :value="state.count"></up-badge>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<up-image
|
<up-image
|
||||||
src="/static/img/message.png"
|
src="https://backend-common.obs.cn-east-3.myhuaweicloud.com/static/pages/message.png"
|
||||||
width="42rpx"
|
width="42rpx"
|
||||||
height="36rpx"
|
height="36rpx"
|
||||||
></up-image>
|
></up-image>
|
||||||
|
@ -22,11 +22,16 @@
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { MessageApi } from '@/services';
|
||||||
|
|
||||||
const navbarRect = reactive({
|
const navbarRect = reactive({
|
||||||
height: 32,
|
height: 32,
|
||||||
top: 28,
|
top: 28,
|
||||||
msgCount: 10,
|
msgCount: 10,
|
||||||
});
|
});
|
||||||
|
const state = reactive({
|
||||||
|
count: 0
|
||||||
|
})
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// #ifdef APP-PLUS || MP-WEIXIN
|
// #ifdef APP-PLUS || MP-WEIXIN
|
||||||
|
@ -34,6 +39,12 @@ onMounted(() => {
|
||||||
navbarRect.height = menuButtonInfo.height;
|
navbarRect.height = menuButtonInfo.height;
|
||||||
navbarRect.top = menuButtonInfo.top;
|
navbarRect.top = menuButtonInfo.top;
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
|
MessageApi.getUserNoticeInfoNumVo().then((res: any) => {
|
||||||
|
if (res.code === 200) {
|
||||||
|
state.count = res.data.unreadNoticeNum
|
||||||
|
}
|
||||||
|
})
|
||||||
});
|
});
|
||||||
const handleMsg = () => {
|
const handleMsg = () => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
|
|
|
@ -0,0 +1,153 @@
|
||||||
|
<template>
|
||||||
|
<!-- 工作台底部菜单 -->
|
||||||
|
<uni-transition mode-class="fade" :duration="100" :show="true">
|
||||||
|
<view>
|
||||||
|
<view class="tabBar">
|
||||||
|
<view class="tabMenuBox">
|
||||||
|
<view class="circle-box"></view>
|
||||||
|
<u-grid :border="false">
|
||||||
|
<u-grid-item
|
||||||
|
v-for="(item, listIndex) in tabMenuList"
|
||||||
|
:key="listIndex"
|
||||||
|
@click="item.fn"
|
||||||
|
>
|
||||||
|
<up-image
|
||||||
|
:src="`https://backend-common.obs.cn-east-3.myhuaweicloud.com/static/pages/TabMenu/${
|
||||||
|
item.icon
|
||||||
|
}${
|
||||||
|
listIndex !== 1 && currentIndex === listIndex ? '1' : ''
|
||||||
|
}.png`"
|
||||||
|
width="33rpx"
|
||||||
|
height="40rpx"
|
||||||
|
mode="aspectFill"
|
||||||
|
class="grid-icon"
|
||||||
|
></up-image>
|
||||||
|
<text
|
||||||
|
class="grid-text"
|
||||||
|
:class="{ active: currentIndex === listIndex }"
|
||||||
|
:style="{ color: listIndex === 1 ? '#fff' : '' }"
|
||||||
|
>{{ item.title }}</text
|
||||||
|
>
|
||||||
|
</u-grid-item>
|
||||||
|
</u-grid>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</uni-transition>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { onLoad } from "@dcloudio/uni-app";
|
||||||
|
|
||||||
|
const tabMenuList = reactive([
|
||||||
|
{
|
||||||
|
icon: "statistics",
|
||||||
|
title: "统计",
|
||||||
|
fn: () => {
|
||||||
|
const pages: any = getCurrentPages();
|
||||||
|
if (
|
||||||
|
[
|
||||||
|
"pagesStatistics/index",
|
||||||
|
"pagesHome/index",
|
||||||
|
"pages/profile/index",
|
||||||
|
].indexOf(pages[pages.length - 1].route) === 0
|
||||||
|
) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
uni.redirectTo({
|
||||||
|
url: "/pagesStatistics/index", // 要跳转到的页面路径
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: "home",
|
||||||
|
title: "工作台",
|
||||||
|
fn: () => {
|
||||||
|
const pages: any = getCurrentPages();
|
||||||
|
if (
|
||||||
|
[
|
||||||
|
"pagesStatistics/index",
|
||||||
|
"pagesHome/index",
|
||||||
|
"pages/profile/index",
|
||||||
|
].indexOf(pages[pages.length - 1].route) === 1
|
||||||
|
) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
uni.redirectTo({
|
||||||
|
url: "/pagesHome/index", // 要跳转到的页面路径
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: "profile",
|
||||||
|
title: "我的",
|
||||||
|
fn: () => {
|
||||||
|
const pages: any = getCurrentPages();
|
||||||
|
if (
|
||||||
|
[
|
||||||
|
"pagesStatistics/index",
|
||||||
|
"pagesHome/index",
|
||||||
|
"pages/profile/index",
|
||||||
|
].indexOf(pages[pages.length - 1].route) === 2
|
||||||
|
) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
uni.redirectTo({
|
||||||
|
url: "/pages/profile/index", // 要跳转到的页面路径
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
const currentIndex = ref(1);
|
||||||
|
|
||||||
|
onLoad(() => {
|
||||||
|
const pages: any = getCurrentPages();
|
||||||
|
currentIndex.value = [
|
||||||
|
"pagesStatistics/index",
|
||||||
|
"pagesHome/index",
|
||||||
|
"pages/profile/index",
|
||||||
|
].indexOf(pages[pages.length - 1].route);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.tabBar {
|
||||||
|
background: url("/static/img/TabMenu/bg.png");
|
||||||
|
height: 140rpx;
|
||||||
|
background-size: cover;
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
bottom: 0px;
|
||||||
|
.tabMenuBox {
|
||||||
|
padding-top: 30rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
.grid-text {
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
.circle-box {
|
||||||
|
width: 154rpx;
|
||||||
|
height: 154rpx;
|
||||||
|
background: linear-gradient(0deg, #1992ef, #00f6ff);
|
||||||
|
box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 50, 100, 0.12);
|
||||||
|
border-radius: 50%;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #ffffff;
|
||||||
|
position: absolute;
|
||||||
|
margin-top: -49rpx;
|
||||||
|
margin-left: calc(50% - 78rpx);
|
||||||
|
}
|
||||||
|
.normal-box {
|
||||||
|
width: 150rpx;
|
||||||
|
height: 150rpx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.active {
|
||||||
|
color: rgba(0, 220, 238, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -59,13 +59,15 @@
|
||||||
/* 小程序特有相关 */
|
/* 小程序特有相关 */
|
||||||
"mp-weixin": {
|
"mp-weixin": {
|
||||||
"appid": "wx9251d74fe0e87028",
|
"appid": "wx9251d74fe0e87028",
|
||||||
|
"logoPath": "static/logo.png",
|
||||||
"setting": {
|
"setting": {
|
||||||
"urlCheck": false
|
"urlCheck": false
|
||||||
},
|
},
|
||||||
"usingComponents": true,
|
"usingComponents": true,
|
||||||
"optimization": {
|
"optimization": {
|
||||||
"subPackages": true //是否启用分包优化
|
"subPackages": true //是否启用分包优化
|
||||||
}
|
},
|
||||||
|
"lazyCodeLoading": "requiredComponents"
|
||||||
},
|
},
|
||||||
"mp-alipay": {
|
"mp-alipay": {
|
||||||
"usingComponents": true
|
"usingComponents": true
|
||||||
|
|
|
@ -245,7 +245,13 @@
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "客户详情"
|
"navigationBarTitleText": "客户详情"
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
// {
|
||||||
|
// "path": "uni_modules/lime-echart",
|
||||||
|
// "style": {
|
||||||
|
// "navigationBarTitleText": "组件库"
|
||||||
|
// }
|
||||||
|
// }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -443,7 +449,6 @@
|
||||||
"navigationBarTitleText": "收入详情"
|
"navigationBarTitleText": "收入详情"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
// {
|
// {
|
||||||
|
@ -463,5 +468,6 @@
|
||||||
"navigationBarTitleText": "智能回收",
|
"navigationBarTitleText": "智能回收",
|
||||||
"navigationBarBackgroundColor": "#F8F8F8",
|
"navigationBarBackgroundColor": "#F8F8F8",
|
||||||
"backgroundColor": "#F8F8F8"
|
"backgroundColor": "#F8F8F8"
|
||||||
}
|
},
|
||||||
|
"lazyCodeLoading": "requiredComponents"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,121 +0,0 @@
|
||||||
<template>
|
|
||||||
<view class="c-login-container">
|
|
||||||
<u-form
|
|
||||||
labelPosition="left"
|
|
||||||
:model="model1"
|
|
||||||
:rules="rules"
|
|
||||||
ref="loginForm"
|
|
||||||
:labelWidth="0"
|
|
||||||
>
|
|
||||||
<u-form-item prop="userInfo.name" borderBottom ref="item1">
|
|
||||||
<u-input
|
|
||||||
v-model="model1.userInfo.name"
|
|
||||||
placeholder="请输入手机号"
|
|
||||||
:shape="'circle'"
|
|
||||||
></u-input>
|
|
||||||
</u-form-item>
|
|
||||||
<u-form-item prop="userInfo.name" borderBottom ref="item1">
|
|
||||||
<u-input
|
|
||||||
v-model="model1.userInfo.name"
|
|
||||||
placeholder="请输入验证码"
|
|
||||||
:shape="'circle'"
|
|
||||||
>
|
|
||||||
<template #suffix>
|
|
||||||
<text>获取验证码</text>
|
|
||||||
</template>
|
|
||||||
</u-input>
|
|
||||||
</u-form-item>
|
|
||||||
<u-form-item prop="userInfo.name" borderBottom ref="item1">
|
|
||||||
<u-input
|
|
||||||
v-model="model1.userInfo.name"
|
|
||||||
placeholder="请设置密码"
|
|
||||||
:shape="'circle'"
|
|
||||||
:type="'password'"
|
|
||||||
></u-input>
|
|
||||||
</u-form-item>
|
|
||||||
<u-form-item>
|
|
||||||
<view class="c-flex-space-between">
|
|
||||||
<u-checkbox-group
|
|
||||||
v-model="checkboxValue1"
|
|
||||||
placement="column"
|
|
||||||
@change="checkboxChange"
|
|
||||||
>
|
|
||||||
<u-checkbox
|
|
||||||
:customStyle="{ fontSize: '8px' }"
|
|
||||||
:key="'1'"
|
|
||||||
:label="'记住密码'"
|
|
||||||
:name="'记住密码'"
|
|
||||||
/>
|
|
||||||
</u-checkbox-group>
|
|
||||||
<text class="f-s-15 l-h-28">无法收到验证码</text>
|
|
||||||
</view>
|
|
||||||
</u-form-item>
|
|
||||||
<u-form-item>
|
|
||||||
<view class="c-flex-space-between">
|
|
||||||
<view style="display: flex; line-height: 28px">
|
|
||||||
<view>
|
|
||||||
<u-checkbox-group
|
|
||||||
v-model="checkboxValue1"
|
|
||||||
placement="column"
|
|
||||||
@change="checkboxChange"
|
|
||||||
>
|
|
||||||
<u-checkbox :customStyle="{ fontSize: '8px' }" :key="'1'" />
|
|
||||||
</u-checkbox-group>
|
|
||||||
</view>
|
|
||||||
<view>
|
|
||||||
同意用户<a href="#">服务协议</a>和<a href="#">隐私政策</a>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<text class="f-s-15 l-h-28">忘记密码</text>
|
|
||||||
</view>
|
|
||||||
</u-form-item>
|
|
||||||
</u-form>
|
|
||||||
|
|
||||||
<u-button @click="submit">立即登录</u-button>
|
|
||||||
</view>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup lang="ts">
|
|
||||||
const loginForm = ref(null);
|
|
||||||
const checkboxValue1 = ref([]);
|
|
||||||
const model1 = ref({
|
|
||||||
userInfo: {
|
|
||||||
name: "",
|
|
||||||
sex: "",
|
|
||||||
},
|
|
||||||
});
|
|
||||||
const rules = ref({
|
|
||||||
"userInfo.name": {
|
|
||||||
type: "string",
|
|
||||||
required: true,
|
|
||||||
message: "请填写姓名",
|
|
||||||
trigger: ["blur", "change"],
|
|
||||||
},
|
|
||||||
"userInfo.sex": {
|
|
||||||
type: "string",
|
|
||||||
max: 1,
|
|
||||||
required: true,
|
|
||||||
message: "请选择男或女",
|
|
||||||
trigger: ["blur", "change"],
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
const checkboxChange = (n: any) => {
|
|
||||||
console.log("change", n);
|
|
||||||
};
|
|
||||||
const submit = () => {
|
|
||||||
(loginForm.value as any).validate();
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.c-login-container {
|
|
||||||
padding: 30px;
|
|
||||||
}
|
|
||||||
.c-flex-space-between {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
width: 100%;
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -1,7 +0,0 @@
|
||||||
<template>
|
|
||||||
待定价
|
|
||||||
</template>
|
|
||||||
<script setup lang="ts">
|
|
||||||
</script>
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
</style>
|
|
|
@ -1,7 +0,0 @@
|
||||||
<template>
|
|
||||||
待定价
|
|
||||||
</template>
|
|
||||||
<script setup lang="ts">
|
|
||||||
</script>
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
</style>
|
|
|
@ -2,7 +2,7 @@
|
||||||
<view class="c-login-container">
|
<view class="c-login-container">
|
||||||
<!-- logo -->
|
<!-- logo -->
|
||||||
<view class="logo">
|
<view class="logo">
|
||||||
<image :src="`/static/img/logo.png`" height="60rpx"></image>
|
<image :src="`https://backend-common.obs.cn-east-3.myhuaweicloud.com/static/pages/logo.png`" height="60rpx"></image>
|
||||||
</view>
|
</view>
|
||||||
<!-- form表单 -->
|
<!-- form表单 -->
|
||||||
<view class="login-form">
|
<view class="login-form">
|
||||||
|
|
|
@ -1,35 +1,99 @@
|
||||||
<template>
|
<template>
|
||||||
|
<page-view
|
||||||
|
@loadList="
|
||||||
|
(v) => {
|
||||||
|
getList(v);
|
||||||
|
}
|
||||||
|
"
|
||||||
|
:noMoreData="pageList.noMoreData"
|
||||||
|
:list="pageList.list"
|
||||||
|
:height="0"
|
||||||
|
:isLoading="pageList.isLoading"
|
||||||
|
>
|
||||||
<view class="msg-box">
|
<view class="msg-box">
|
||||||
<view class="u-page">
|
<view class="u-page">
|
||||||
<u-list @scrolltolower="scrolltolower">
|
<u-list>
|
||||||
<u-list-item v-for="(item, index) in 20" :key="index">
|
<u-list-item v-for="(item, index) in pageList.list" :key="index">
|
||||||
<u-cell>
|
<u-cell @click="handleItem(item)">
|
||||||
<view slot="title" class="u-slot-title">
|
<view slot="title" class="u-slot-title">
|
||||||
<view>
|
<view>
|
||||||
<view class="u-cell-text title"
|
<view class="u-cell-text title"
|
||||||
>系统通知
|
>{{ item.title }}
|
||||||
<text class="title-badge">
|
<text class="title-badge" v-if="item.status === 0"> </text>
|
||||||
</text>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="u-cell-text desc">你有一笔收货单待定价!</view>
|
<view class="u-cell-text desc">{{ item.content }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<template #value>
|
<template #value>
|
||||||
<text class="u-slot-value time">2024-2-21 13:15</text>
|
<text class="u-slot-value time">{{ item.createTime }}</text>
|
||||||
</template>
|
</template>
|
||||||
</u-cell>
|
</u-cell>
|
||||||
</u-list-item>
|
</u-list-item>
|
||||||
</u-list>
|
</u-list>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
</page-view>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
const scrolltolower = () => {
|
import PageView from "@/components/PageView/index.vue";
|
||||||
loadmore();
|
import { MessageApi } from "@/services";
|
||||||
|
const pageList: PageResult<any> = reactive({
|
||||||
|
isLoading: false,
|
||||||
|
noMoreData: false,
|
||||||
|
total: 0,
|
||||||
|
list: [],
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
});
|
||||||
|
const resetPageList = () => {
|
||||||
|
pageList.noMoreData = false;
|
||||||
|
pageList.total = 0;
|
||||||
|
pageList.list = [];
|
||||||
|
pageList.pageNum = 1;
|
||||||
|
pageList.pageSize = 10;
|
||||||
};
|
};
|
||||||
const loadmore = () => {
|
|
||||||
console.log("****** 加载更多");
|
const getList = (v?: boolean) => {
|
||||||
|
if (v) {
|
||||||
|
if (Math.ceil(pageList.total / pageList.pageSize) > pageList.pageNum) {
|
||||||
|
pageList.pageNum++;
|
||||||
|
} else {
|
||||||
|
pageList.noMoreData = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let params: any = {
|
||||||
|
pageSize: pageList.pageSize,
|
||||||
|
pageNum: pageList.pageNum,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pageList.isLoading = true;
|
||||||
|
MessageApi.getUserNoticeInfoVoPage({
|
||||||
|
...params,
|
||||||
|
}).then((res: any) => {
|
||||||
|
if (res.code === 200) {
|
||||||
|
pageList.isLoading = false;
|
||||||
|
(pageList as any).list = (pageList as any).list = pageList.list.concat(
|
||||||
|
res.data.list
|
||||||
|
);
|
||||||
|
pageList.total = (res.data as any).total;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleItem = (item:any) => {
|
||||||
|
if (item.status === 0) {
|
||||||
|
MessageApi.readNotice({ids: [item.id]}).then(res => {
|
||||||
|
if (res.code === 200) {
|
||||||
|
resetPageList();
|
||||||
|
getList();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onMounted(() => {
|
||||||
|
getList();
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.msg-box {
|
.msg-box {
|
||||||
|
@ -37,7 +101,7 @@ const loadmore = () => {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
.title {
|
.title {
|
||||||
font-size: 27rpx;
|
font-size: 28rpx;
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
|
@ -55,7 +119,7 @@ const loadmore = () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.desc {
|
.desc {
|
||||||
font-size: 21rpx;
|
font-size: 24rpx;
|
||||||
font-family: Source Han Sans CN;
|
font-family: Source Han Sans CN;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="profile">
|
<view class="profile">
|
||||||
<view>
|
<view>
|
||||||
<image class="bg" :src="`/static/img/profile/bg.png`" />
|
<image class="bg" :src="`https://backend-common.obs.cn-east-3.myhuaweicloud.com/static/pages/profile/bg.png`" />
|
||||||
</view>
|
</view>
|
||||||
<view class="baseinfo">
|
<view class="baseinfo">
|
||||||
<view class="head">
|
<view class="head">
|
||||||
<image :src="`/static/img/profile/user.png`" class="user"></image>
|
<image :src="`https://backend-common.obs.cn-east-3.myhuaweicloud.com/static/pages/profile/user.png`" class="user"></image>
|
||||||
<view>
|
<view>
|
||||||
<view>
|
<view>
|
||||||
<text class="name">{{ profile.userName || "-" }}</text>
|
<text class="name">{{ profile.userName || "-" }}</text>
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
>
|
>
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<view style="width: 40rpx">
|
<view style="width: 40rpx">
|
||||||
<image :src="`/static/img/profile/${item.icon}`" />
|
<image :src="`https://backend-common.obs.cn-east-3.myhuaweicloud.com/static/pages/profile/${item.icon}`" />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</u-cell>
|
</u-cell>
|
||||||
|
@ -37,11 +37,13 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<TabBar></TabBar>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ProfileApi } from "@/services/index";
|
import { ProfileApi } from "@/services/index";
|
||||||
import { reactive } from "vue";
|
import { reactive } from "vue";
|
||||||
import { useMemberStore } from "@/store/index";
|
import { useMemberStore } from "@/store/index";
|
||||||
|
import TabBar from '@/components/TabBar/index.vue'
|
||||||
const store = useMemberStore();
|
const store = useMemberStore();
|
||||||
const profile = store.profile.userInfo;
|
const profile = store.profile.userInfo;
|
||||||
const list = reactive([
|
const list = reactive([
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
>收款类型:<text>{{ getPayment(obj) }}</text></view
|
>收款类型:<text>{{ getPayment(obj) }}</text></view
|
||||||
>
|
>
|
||||||
<view
|
<view
|
||||||
>结算金额<text
|
>结算金额:<text
|
||||||
>¥ {{ obj.totalPrice }}</text
|
>¥ {{ obj.totalPrice }}</text
|
||||||
>
|
>
|
||||||
</view>
|
</view>
|
||||||
|
@ -21,18 +21,20 @@
|
||||||
<view
|
<view
|
||||||
>收款人:<text>{{ obj.revenueName }}</text></view
|
>收款人:<text>{{ obj.revenueName }}</text></view
|
||||||
>
|
>
|
||||||
<view
|
<view v-if="obj.orderNumber"
|
||||||
>出货单号:
|
>出货单号:
|
||||||
<text>{{ obj.orderNumber }}</text></view
|
<text>{{ obj.orderNumber }}</text></view
|
||||||
>
|
>
|
||||||
<up-image :show-loading="true" v-for="(item, index) in obj.fileLists" :key="index" :src="item.url" width="80px" height="80px"></up-image>
|
<up-image :show-loading="true" v-for="(item, index) in list" :key="index" :src="item.url" width="80px" height="80px"></up-image>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { FinanceApi, PictureApi } from "@/services";
|
import { FinanceApi, PictureApi } from "@/services";
|
||||||
import { ImagesType, OrderType } from "@/utils/enum";
|
import { ImagesType, OrderType } from "@/utils/enum";
|
||||||
import { onLoad } from "@dcloudio/uni-app";
|
import { onLoad } from "@dcloudio/uni-app";
|
||||||
const obj = ref<any>({});
|
const obj = ref<any>({
|
||||||
|
});
|
||||||
|
const list = ref<any>([])
|
||||||
const getPayment = (item: any) => {
|
const getPayment = (item: any) => {
|
||||||
return ["出货单收款", "其他收款"][
|
return ["出货单收款", "其他收款"][
|
||||||
item.paymentType
|
item.paymentType
|
||||||
|
@ -54,7 +56,7 @@ onLoad((option: any) => {
|
||||||
imagesType: ImagesType.NORMARL,
|
imagesType: ImagesType.NORMARL,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
obj.value.fileLists = res.data;
|
list.value = res.data;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
backgroundSize: 'cover',
|
backgroundSize: 'cover',
|
||||||
}" -->
|
}" -->
|
||||||
<view class="panel" v-for="(item, index) in summaryList" :key="index">
|
<view class="panel" v-for="(item, index) in summaryList" :key="index">
|
||||||
<image :src="`/static/img/${item.imgUrl}`" />
|
<image :src="`https://backend-common.obs.cn-east-3.myhuaweicloud.com/static/pages/${item.imgUrl}`" />
|
||||||
<view class="box">
|
<view class="box">
|
||||||
<view class="num">{{ item.num }}</view>
|
<view class="num">{{ item.num }}</view>
|
||||||
<view class="title">{{ item.title }}</view>
|
<view class="title">{{ item.title }}</view>
|
||||||
|
@ -30,7 +30,12 @@
|
||||||
<text class="title">收货入库</text>
|
<text class="title">收货入库</text>
|
||||||
<view class="data-receive">
|
<view class="data-receive">
|
||||||
<up-row justify="center" gutter="10">
|
<up-row justify="center" gutter="10">
|
||||||
<up-col span="3" v-for="(item, index) in receiveList" :key="index" @click="(item as any).fn()">
|
<up-col
|
||||||
|
span="3"
|
||||||
|
v-for="(item, index) in receiveList"
|
||||||
|
:key="index"
|
||||||
|
@click="(item as any).fn()"
|
||||||
|
>
|
||||||
<view
|
<view
|
||||||
class="box"
|
class="box"
|
||||||
:style="{
|
:style="{
|
||||||
|
@ -57,7 +62,12 @@
|
||||||
<text class="title title-shipment">出货销售</text>
|
<text class="title title-shipment">出货销售</text>
|
||||||
<view class="data-shipment">
|
<view class="data-shipment">
|
||||||
<up-row justify="center" gutter="10">
|
<up-row justify="center" gutter="10">
|
||||||
<up-col span="3" v-for="(item, index) in shipmentList" :key="index" @click="(item as any).fn()">
|
<up-col
|
||||||
|
span="3"
|
||||||
|
v-for="(item, index) in shipmentList"
|
||||||
|
:key="index"
|
||||||
|
@click="(item as any).fn()"
|
||||||
|
>
|
||||||
<view
|
<view
|
||||||
class="box"
|
class="box"
|
||||||
:style="{
|
:style="{
|
||||||
|
@ -88,9 +98,13 @@
|
||||||
<view class="app-list">
|
<view class="app-list">
|
||||||
<view class="name">常用应用</view>
|
<view class="name">常用应用</view>
|
||||||
<u-grid :border="false" col="4">
|
<u-grid :border="false" col="4">
|
||||||
<u-grid-item v-for="(item, listIndex) in appList" :key="listIndex" @click="item.fn">
|
<u-grid-item
|
||||||
|
v-for="(item, listIndex) in appList"
|
||||||
|
:key="listIndex"
|
||||||
|
@click="item.fn"
|
||||||
|
>
|
||||||
<up-image
|
<up-image
|
||||||
:src="`/pagesHome/static/${item.icon}`"
|
:src="`https://backend-common.obs.cn-east-3.myhuaweicloud.com/static/pagesHome/${item.icon}`"
|
||||||
width="60rpx"
|
width="60rpx"
|
||||||
height="60rpx"
|
height="60rpx"
|
||||||
></up-image>
|
></up-image>
|
||||||
|
@ -101,39 +115,13 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 工作台底部菜单 -->
|
<TabBar/>
|
||||||
<view>
|
|
||||||
<view class="tabBar">
|
|
||||||
<view class="tabMenuBox">
|
|
||||||
<view class="circle-box"></view>
|
|
||||||
<u-grid :border="false">
|
|
||||||
<u-grid-item
|
|
||||||
v-for="(item, listIndex) in tabMenuList"
|
|
||||||
:key="listIndex"
|
|
||||||
@click="item.fn"
|
|
||||||
>
|
|
||||||
<up-image
|
|
||||||
:src="`/static/img/TabMenu/${item.icon}`"
|
|
||||||
width="33rpx"
|
|
||||||
height="40rpx"
|
|
||||||
mode="aspectFill"
|
|
||||||
class="grid-icon"
|
|
||||||
></up-image>
|
|
||||||
<text
|
|
||||||
class="grid-text"
|
|
||||||
:style="{ color: listIndex === 1 ? '#fff' : '' }"
|
|
||||||
>{{ item.title }}</text
|
|
||||||
>
|
|
||||||
</u-grid-item>
|
|
||||||
</u-grid>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useMemberStore } from "@/store/index";
|
import { useMemberStore } from "@/store/index";
|
||||||
import { ReceiveApi, ShipmentApi } from "@/services/index";
|
import { ReceiveApi, ShipmentApi } from "@/services/index";
|
||||||
|
import TabBar from '@/components/TabBar/index.vue'
|
||||||
const store = useMemberStore();
|
const store = useMemberStore();
|
||||||
const navbarRect = reactive({
|
const navbarRect = reactive({
|
||||||
height: 32,
|
height: 32,
|
||||||
|
@ -449,57 +437,46 @@ const appList = reactive([
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const tabMenuList = reactive([
|
|
||||||
{
|
|
||||||
icon: "statistics.png",
|
|
||||||
title: "统计",
|
|
||||||
fn: () => {
|
|
||||||
uni.navigateTo({
|
|
||||||
url: "/pagesStatistics/index", // 要跳转到的页面路径
|
|
||||||
});
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
icon: "home.png",
|
|
||||||
title: "工作台",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
icon: "profile.png",
|
|
||||||
title: "我的",
|
|
||||||
fn: () => {
|
|
||||||
uni.navigateTo({
|
|
||||||
url: "/pages/profile/index", // 要跳转到的页面路径
|
|
||||||
});
|
|
||||||
},
|
|
||||||
},
|
|
||||||
]);
|
|
||||||
|
|
||||||
// 收货入库相关信息
|
// 收货入库相关信息
|
||||||
ReceiveApi.countOrderByMonth().then((res) => {
|
ReceiveApi.countOrderByMonth().then((res) => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
const {totalReceipt, totalExpenditure, toBePriced, toBeTare, audit, toBePaid} = res.data
|
const {
|
||||||
summaryList[0].num = totalReceipt
|
totalReceipt,
|
||||||
summaryList[1].num = totalExpenditure
|
totalExpenditure,
|
||||||
receiveList[0].num = toBePriced
|
toBePriced,
|
||||||
receiveList[1].num = toBeTare
|
toBeTare,
|
||||||
receiveList[2].num = audit
|
audit,
|
||||||
receiveList[3].num = toBePaid
|
toBePaid,
|
||||||
|
} = res.data;
|
||||||
|
summaryList[0].num = totalReceipt;
|
||||||
|
summaryList[1].num = totalExpenditure;
|
||||||
|
receiveList[0].num = toBePriced;
|
||||||
|
receiveList[1].num = toBeTare;
|
||||||
|
receiveList[2].num = audit;
|
||||||
|
receiveList[3].num = toBePaid;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 出货相关信息
|
// 出货相关信息
|
||||||
ShipmentApi.countOrderByMonth().then((res) => {
|
ShipmentApi.countOrderByMonth().then((res) => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
const {totalShipment, totalIncome, toBeShipped, roughWeight, shipmentReview, toBeSettled} = res.data
|
const {
|
||||||
summaryList[2].num = totalShipment
|
totalShipment,
|
||||||
summaryList[3].num = totalIncome
|
totalIncome,
|
||||||
shipmentList[0].num = toBeShipped
|
toBeShipped,
|
||||||
shipmentList[1].num = roughWeight
|
roughWeight,
|
||||||
shipmentList[2].num = shipmentReview
|
shipmentReview,
|
||||||
shipmentList[3].num = toBeSettled
|
toBeSettled,
|
||||||
|
} = res.data;
|
||||||
|
summaryList[2].num = totalShipment;
|
||||||
|
summaryList[3].num = totalIncome;
|
||||||
|
shipmentList[0].num = toBeShipped;
|
||||||
|
shipmentList[1].num = roughWeight;
|
||||||
|
shipmentList[2].num = shipmentReview;
|
||||||
|
shipmentList[3].num = toBeSettled;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
@ -646,40 +623,4 @@ onMounted(() => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.tabBar {
|
|
||||||
background: url("/static/img/TabMenu/bg.png");
|
|
||||||
height: 140rpx;
|
|
||||||
background-size: cover;
|
|
||||||
position: sticky;
|
|
||||||
width: 100%;
|
|
||||||
bottom: 0px;
|
|
||||||
.tabMenuBox {
|
|
||||||
padding-top: 30rpx;
|
|
||||||
font-size: 28rpx;
|
|
||||||
font-family: Source Han Sans CN;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #999999;
|
|
||||||
|
|
||||||
.grid-text {
|
|
||||||
margin-top: 10rpx;
|
|
||||||
}
|
|
||||||
.circle-box {
|
|
||||||
width: 154rpx;
|
|
||||||
height: 154rpx;
|
|
||||||
background: linear-gradient(0deg, #1992ef, #00f6ff);
|
|
||||||
box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 50, 100, 0.12);
|
|
||||||
border-radius: 50%;
|
|
||||||
font-weight: 500;
|
|
||||||
color: #ffffff;
|
|
||||||
position: absolute;
|
|
||||||
margin-top: -49rpx;
|
|
||||||
margin-left: calc(50% - 78rpx);
|
|
||||||
}
|
|
||||||
.normal-box {
|
|
||||||
width: 150rpx;
|
|
||||||
height: 150rpx;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|
Before Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 4.3 KiB |
|
@ -10,7 +10,7 @@
|
||||||
>
|
>
|
||||||
<swiper-item v-for="(item, index) in list" :key="index">
|
<swiper-item v-for="(item, index) in list" :key="index">
|
||||||
<view class="image-box">
|
<view class="image-box">
|
||||||
<image :src="`./static/${item.imgUrl}`"></image>
|
<image :src="`https://backend-common.obs.cn-east-3.myhuaweicloud.com/static/pagesLaunch/${item.imgUrl}`"></image>
|
||||||
<view class="title">
|
<view class="title">
|
||||||
{{ item.title }}
|
{{ item.title }}
|
||||||
</view>
|
</view>
|
||||||
|
|
Before Width: | Height: | Size: 270 KiB |
Before Width: | Height: | Size: 237 KiB |
Before Width: | Height: | Size: 277 KiB |
Before Width: | Height: | Size: 89 KiB |
|
@ -9,3 +9,4 @@ export * as GoodsApi from './goods'
|
||||||
export * as SupplierApi from './supplier'
|
export * as SupplierApi from './supplier'
|
||||||
export * as CustomerApi from './customer'
|
export * as CustomerApi from './customer'
|
||||||
export * as FinanceApi from './finance'
|
export * as FinanceApi from './finance'
|
||||||
|
export * as MessageApi from './message'
|
|
@ -0,0 +1,25 @@
|
||||||
|
import { http } from '@/utils/http'
|
||||||
|
// 消息列表
|
||||||
|
export const getUserNoticeInfoVoPage = (data: any) => {
|
||||||
|
return http({
|
||||||
|
method: 'GET',
|
||||||
|
url: '/api/notice/getUserNoticeInfoVoPage',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 批量已读消息
|
||||||
|
export const readNotice = (data: any) => {
|
||||||
|
return http({
|
||||||
|
method: 'POST',
|
||||||
|
url: '/api/notice/readNotice',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询消息数量
|
||||||
|
export const getUserNoticeInfoNumVo = () => {
|
||||||
|
return http({
|
||||||
|
method: 'GET',
|
||||||
|
url: '/api/notice/getUserNoticeInfoNumVo',
|
||||||
|
})
|
||||||
|
}
|
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 2.9 KiB |