update: 降本地图片替换为线上图片

This commit is contained in:
admin 2024-04-11 11:12:19 +08:00
parent b1906b02b0
commit 8b64b99c1d
62 changed files with 388 additions and 311 deletions

View File

@ -5,10 +5,14 @@
<Title :title="item.title" />
</view>
<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>
<up-image
:src="`/pagesStatistics/static/${child.icon}`"
:src="`https://backend-common.obs.cn-east-3.myhuaweicloud.com/static/pagesStatistics/${child.icon}`"
mode="aspectFill"
width="60rpx"
height="60rpx"
@ -18,13 +22,15 @@
</view>
</view>
<view class="line" v-show="index < list.length -1"></view>
<view class="line" v-show="index < list.length - 1"></view>
</view>
</Box>
<TabBar></TabBar>
</template>
<script setup lang="ts">
import Box from "@/components/Box/index.vue";
import Title from "@/components/Title/index.vue";
import TabBar from "@/components/TabBar/index.vue";
const list = reactive([
{
title: "收货",
@ -35,8 +41,8 @@ const list = reactive([
fn: (item: any) => {
uni.navigateTo({
url: "/pagesStatistics/receivePanel", //
})
}
});
},
},
{
icon: "02.png",
@ -44,9 +50,8 @@ const list = reactive([
fn: (item: any) => {
uni.navigateTo({
url: "/pagesStatistics/supplierRanking", //
})
}
});
},
},
],
},
@ -59,8 +64,8 @@ const list = reactive([
fn: (item: any) => {
uni.navigateTo({
url: "/pagesStatistics/shipmentPanel", //
})
}
});
},
},
{
icon: "04.png",
@ -68,8 +73,8 @@ const list = reactive([
fn: (item: any) => {
uni.navigateTo({
url: "/pagesStatistics/customerRanking", //
})
}
});
},
},
],
},
@ -82,8 +87,8 @@ const list = reactive([
fn: (item: any) => {
uni.navigateTo({
url: "/pagesStatistics/businessOverview", //
})
}
});
},
},
{
icon: "06.png",
@ -91,8 +96,8 @@ const list = reactive([
fn: (item: any) => {
uni.navigateTo({
url: "/pagesStatistics/supplierChecking", //
})
}
});
},
},
{
icon: "07.png",
@ -100,8 +105,8 @@ const list = reactive([
fn: (item: any) => {
uni.navigateTo({
url: "/pagesStatistics/customerChecking", //
})
}
});
},
},
],
},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -50,7 +50,7 @@
</template>
<script setup lang="ts">
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 { ReceiveApi } from "@/services";
import { formatDate, getCurrentMonthStartAndEnd } from "@/utils";

View File

@ -8,11 +8,11 @@
>
<view class="left" @click="handleMsg()">
<view class="msg-badge">
<up-badge max="99" :value="'99'"></up-badge>
<up-badge max="99" :value="state.count"></up-badge>
</view>
<up-image
src="/static/img/message.png"
src="https://backend-common.obs.cn-east-3.myhuaweicloud.com/static/pages/message.png"
width="42rpx"
height="36rpx"
></up-image>
@ -22,11 +22,16 @@
</view>
</template>
<script setup lang="ts">
import { MessageApi } from '@/services';
const navbarRect = reactive({
height: 32,
top: 28,
msgCount: 10,
});
const state = reactive({
count: 0
})
onMounted(() => {
// #ifdef APP-PLUS || MP-WEIXIN
@ -34,6 +39,12 @@ onMounted(() => {
navbarRect.height = menuButtonInfo.height;
navbarRect.top = menuButtonInfo.top;
// #endif
MessageApi.getUserNoticeInfoNumVo().then((res: any) => {
if (res.code === 200) {
state.count = res.data.unreadNoticeNum
}
})
});
const handleMsg = () => {
uni.navigateTo({

View File

@ -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>

View File

@ -59,13 +59,15 @@
/* */
"mp-weixin": {
"appid": "wx9251d74fe0e87028",
"logoPath": "static/logo.png",
"setting": {
"urlCheck": false
},
"usingComponents": true,
"optimization": {
"subPackages": true //
}
},
"lazyCodeLoading": "requiredComponents"
},
"mp-alipay": {
"usingComponents": true

View File

@ -245,7 +245,13 @@
"style": {
"navigationBarTitleText": "客户详情"
}
}
},
// {
// "path": "uni_modules/lime-echart",
// "style": {
// "navigationBarTitleText": "组件库"
// }
// }
]
},
{
@ -443,7 +449,6 @@
"navigationBarTitleText": "收入详情"
}
}
]
}
// {
@ -463,5 +468,6 @@
"navigationBarTitleText": "智能回收",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
}
},
"lazyCodeLoading": "requiredComponents"
}

View File

@ -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>

View File

@ -1,7 +0,0 @@
<template>
待定价
</template>
<script setup lang="ts">
</script>
<style lang="scss" scoped>
</style>

View File

@ -1,7 +0,0 @@
<template>
待定价
</template>
<script setup lang="ts">
</script>
<style lang="scss" scoped>
</style>

View File

@ -2,7 +2,7 @@
<view class="c-login-container">
<!-- 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>
<!-- form表单 -->
<view class="login-form">

View File

@ -1,35 +1,99 @@
<template>
<view class="msg-box">
<view class="u-page">
<u-list @scrolltolower="scrolltolower">
<u-list-item v-for="(item, index) in 20" :key="index">
<u-cell>
<view slot="title" class="u-slot-title">
<view>
<view class="u-cell-text title"
>系统通知
<text class="title-badge">
</text>
<page-view
@loadList="
(v) => {
getList(v);
}
"
:noMoreData="pageList.noMoreData"
:list="pageList.list"
:height="0"
:isLoading="pageList.isLoading"
>
<view class="msg-box">
<view class="u-page">
<u-list>
<u-list-item v-for="(item, index) in pageList.list" :key="index">
<u-cell @click="handleItem(item)">
<view slot="title" class="u-slot-title">
<view>
<view class="u-cell-text title"
>{{ item.title }}
<text class="title-badge" v-if="item.status === 0"> </text>
</view>
<view class="u-cell-text desc">{{ item.content }}</view>
</view>
<view class="u-cell-text desc">你有一笔收货单待定价</view>
</view>
</view>
<template #value>
<text class="u-slot-value time">2024-2-21 13:15</text>
</template>
</u-cell>
</u-list-item>
</u-list>
<template #value>
<text class="u-slot-value time">{{ item.createTime }}</text>
</template>
</u-cell>
</u-list-item>
</u-list>
</view>
</view>
</view>
</page-view>
</template>
<script setup lang="ts">
const scrolltolower = () => {
loadmore();
import PageView from "@/components/PageView/index.vue";
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>
<style lang="scss">
.msg-box {
@ -37,7 +101,7 @@ const loadmore = () => {
width: 100%;
height: 100%;
.title {
font-size: 27rpx;
font-size: 28rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #000000;
@ -55,7 +119,7 @@ const loadmore = () => {
}
}
.desc {
font-size: 21rpx;
font-size: 24rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #999999;

View File

@ -1,11 +1,11 @@
<template>
<view class="profile">
<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 class="baseinfo">
<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>
<text class="name">{{ profile.userName || "-" }}</text>
@ -28,7 +28,7 @@
>
<template #icon>
<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>
</template>
</u-cell>
@ -37,11 +37,13 @@
</view>
</view>
</view>
<TabBar></TabBar>
</template>
<script setup lang="ts">
import { ProfileApi } from "@/services/index";
import { reactive } from "vue";
import { useMemberStore } from "@/store/index";
import TabBar from '@/components/TabBar/index.vue'
const store = useMemberStore();
const profile = store.profile.userInfo;
const list = reactive([

View File

@ -11,7 +11,7 @@
>收款类型<text>{{ getPayment(obj) }}</text></view
>
<view
>结算金额<text
>结算金额<text
> {{ obj.totalPrice }}</text
>
</view>
@ -21,18 +21,20 @@
<view
>收款人<text>{{ obj.revenueName }}</text></view
>
<view
<view v-if="obj.orderNumber"
>出货单号
<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>
</template>
<script setup lang="ts">
import { FinanceApi, PictureApi } from "@/services";
import { ImagesType, OrderType } from "@/utils/enum";
import { onLoad } from "@dcloudio/uni-app";
const obj = ref<any>({});
const obj = ref<any>({
});
const list = ref<any>([])
const getPayment = (item: any) => {
return ["出货单收款", "其他收款"][
item.paymentType
@ -54,7 +56,7 @@ onLoad((option: any) => {
imagesType: ImagesType.NORMARL,
}).then((res) => {
if (res.code === 200) {
obj.value.fileLists = res.data;
list.value = res.data;
}
});
});

View File

@ -16,7 +16,7 @@
backgroundSize: 'cover',
}" -->
<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="num">{{ item.num }}</view>
<view class="title">{{ item.title }}</view>
@ -30,7 +30,12 @@
<text class="title">收货入库</text>
<view class="data-receive">
<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
class="box"
:style="{
@ -57,7 +62,12 @@
<text class="title title-shipment">出货销售</text>
<view class="data-shipment">
<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
class="box"
:style="{
@ -88,9 +98,13 @@
<view class="app-list">
<view class="name">常用应用</view>
<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
:src="`/pagesHome/static/${item.icon}`"
:src="`https://backend-common.obs.cn-east-3.myhuaweicloud.com/static/pagesHome/${item.icon}`"
width="60rpx"
height="60rpx"
></up-image>
@ -101,39 +115,13 @@
</view>
</view>
<!-- 工作台底部菜单 -->
<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>
<TabBar/>
</template>
<script setup lang="ts">
import { useMemberStore } from "@/store/index";
import { ReceiveApi, ShipmentApi } from "@/services/index";
import TabBar from '@/components/TabBar/index.vue'
const store = useMemberStore();
const navbarRect = reactive({
height: 32,
@ -329,7 +317,7 @@ const appList = reactive([
});
},
},
{
icon: "04.png",
title: "出货明细",
@ -339,7 +327,7 @@ const appList = reactive([
});
},
},
{
icon: "06.png",
title: "出货作废",
@ -349,7 +337,7 @@ const appList = reactive([
});
},
},
{
icon: "08.png",
title: "客户管理",
@ -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) => {
if(res.code === 200) {
const {totalReceipt, totalExpenditure, toBePriced, toBeTare, audit, 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
if (res.code === 200) {
const {
totalReceipt,
totalExpenditure,
toBePriced,
toBeTare,
audit,
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) => {
if(res.code === 200) {
const {totalShipment, totalIncome, toBeShipped, roughWeight, shipmentReview, 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
if (res.code === 200) {
const {
totalShipment,
totalIncome,
toBeShipped,
roughWeight,
shipmentReview,
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(() => {
@ -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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -10,7 +10,7 @@
>
<swiper-item v-for="(item, index) in list" :key="index">
<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">
{{ item.title }}
</view>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

View File

@ -8,4 +8,5 @@ export * as StockCardApi from './stockCard'
export * as GoodsApi from './goods'
export * as SupplierApi from './supplier'
export * as CustomerApi from './customer'
export * as FinanceApi from './finance'
export * as FinanceApi from './finance'
export * as MessageApi from './message'

25
src/services/message.ts Normal file
View File

@ -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',
})
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB