You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
682 lines
16 KiB
682 lines
16 KiB
<template>
|
|
<view style="width: 100%;height: 100%;">
|
|
<view v-show="!isShow" style="width: 100%;height: 100%;">
|
|
<image src="../../static/baseIcon/loading.gif" mode="aspectFill" style="width: 100%;height: 100%;"></image>
|
|
</view>
|
|
|
|
<view class="content" v-show="isShow">
|
|
|
|
<view class="whiteBg" style="display: flex;flex-direction: column;margin-top: 20px;">
|
|
|
|
<!--circular用来设置循环轮播 indicator-dots设置下面小圆点用来点击 -->
|
|
<swiper circular indicator-dots class="swiper" :autoplay="true" :interval="2000"
|
|
v-show="swipers.length>0">
|
|
<!-- v-for循环遍历数组 -->
|
|
<swiper-item v-for="(item,index) in swipers">
|
|
<image :src="item" @click="swiperClick(index)"></image>
|
|
</swiper-item>
|
|
</swiper>
|
|
|
|
<view style="display: flex;flex-direction: row;">
|
|
|
|
<!-- <view class="top_item" @click="topClick('1')">
|
|
<view class="top_item_icon">
|
|
<text class="top_item_icon_num" v-show="dbNum!=0">{{dbNum}}</text>
|
|
<image class="top_item_icon_img" src="https://supervise.yxtsoft.com/img/newApp/dbgz.png">
|
|
</image>
|
|
</view>
|
|
<text class="top_item_text">待办工作</text>
|
|
</view>
|
|
<view class="top_item" @click="topClick('2')">
|
|
<view class="top_item_icon">
|
|
<text class="top_item_icon_num" v-show="ybNum!=0">{{ybNum}}</text>
|
|
|
|
<image class="top_item_icon_img" src="https://supervise.yxtsoft.com/img/newApp/ybgz.png">
|
|
</image>
|
|
</view>
|
|
<text class="top_item_text">已办工作</text>
|
|
</view> -->
|
|
<view class="top_item" @click="topClick('3')">
|
|
<view class="top_item_icon">
|
|
<text class="top_item_icon_num" v-show="dyNum!=0">{{dyNum}}</text>
|
|
|
|
<image class="top_item_icon_img" src="https://supervise.yxtsoft.com/img/newApp/dygz.png">
|
|
</image>
|
|
</view>
|
|
<text class="top_item_text">待阅工作</text>
|
|
</view>
|
|
<view class="top_item" @click="topClick('4')">
|
|
<view class="top_item_icon">
|
|
<text class="top_item_icon_num" v-show="yyNum!=0">{{yyNum}}</text>
|
|
|
|
<image class="top_item_icon_img" src="https://supervise.yxtsoft.com/img/newApp/yygz.png">
|
|
</image>
|
|
</view>
|
|
<text class="top_item_text">已阅工作</text>
|
|
</view>
|
|
</view>
|
|
|
|
</view>
|
|
|
|
|
|
<!-- <view style="display: flex;flex-direction: row; align-items: center; margin-top: 7px;margin-bottom: 7px;" v-show="textArr.length>0">
|
|
|
|
<image style="width: 22px;height: 22px;margin-left: 10px;"
|
|
src="https://supervise.yxtsoft.com/img/newApp/notices.png" mode="aspectFit"></image>
|
|
<div class="textBox"> -->
|
|
|
|
<!-- <transition name="slide">
|
|
<text class="text" :key="text.id" @click="textClick(text)">{{text.val}} </text>
|
|
</transition>
|
|
-->
|
|
<!-- <div class="marquee-wrap">
|
|
<div class="marquee-list" :class="{'animate-up': animateUp}">
|
|
<li v-for="(item, index) in textArr" @click="textClick(item)">{{item}}</li>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</view> -->
|
|
|
|
<view class="whiteBg" style="display: flex;flex-direction: column;padding-top: 20px;margin-top: 20px;">
|
|
|
|
<view style="display: flex;flex-direction: row;margin-left: 20px;align-items: center;">
|
|
|
|
<image style="width: 22px;height: 22px;" src="https://supervise.yxtsoft.com/img/newApp/icon.png"
|
|
mode="aspectFit"></image>
|
|
<text style="margin-left: 5px; font-size: 16px;font-weight: 500;font-family: sans-serif;">更多</text>
|
|
|
|
</view>
|
|
|
|
<view style=" height: 1px;background: #eee;margin-left: 25px;margin-right: 25px;margin-top: 15px;">
|
|
</view>
|
|
|
|
<!-- <view style="margin-top: 20px;display: flex;flex-direction: row;width: 100%;margin-bottom: 20px;">
|
|
|
|
<view class="centre" @click="businessClick('1')">
|
|
<image class="centre_img" src="https://supervise.yxtsoft.com/img/newApp/ywsp.png"
|
|
mode="aspectFit">
|
|
</image>
|
|
<text class="centre_text">业务审批</text>
|
|
</view>
|
|
<view class="centre" @click="businessClick('2')">
|
|
<image class="centre_img" src="https://supervise.yxtsoft.com/img/newApp/gzdd.png"
|
|
mode="aspectFit">
|
|
</image>
|
|
<text class="centre_text">工作调度</text>
|
|
</view>
|
|
<view class="centre" @click="businessClick('3')">
|
|
<image class="centre_img" src="https://supervise.yxtsoft.com/img/newApp/fkgl.png"
|
|
mode="aspectFit">
|
|
</image>
|
|
<text class="centre_text">风控管理</text>
|
|
</view>
|
|
<view class="centre" @click="businessClick('4')">
|
|
<image class="centre_img" src="https://supervise.yxtsoft.com/img/newApp/sjbb.png"
|
|
mode="aspectFit">
|
|
</image>
|
|
<text class="centre_text">数据报表</text>
|
|
</view>
|
|
|
|
</view> -->
|
|
|
|
|
|
<view style="margin-top: 20px;display: flex;flex-direction: row;width: 100%;margin-bottom: 20px;">
|
|
|
|
<view class="centre" @click="warehouseClick('1')">
|
|
<image class="centre_img" src="https://supervise.yxtsoft.com/img/newApp/ycgl.png"
|
|
mode="aspectFit">
|
|
</image>
|
|
<text class="centre_text">云仓管理</text>
|
|
</view>
|
|
<!-- <view class="centre" @click="warehouseClick('2')">
|
|
<image class="centre_img" src="https://supervise.yxtsoft.com/img/newApp/kcfx.png"
|
|
mode="aspectFit">
|
|
</image>
|
|
<text class="centre_text">库存分析</text>
|
|
</view>
|
|
<view class="centre" @click="warehouseClick('3')">
|
|
<image class="centre_img" src="https://supervise.yxtsoft.com/img/newApp/hjjk.png"
|
|
mode="aspectFit">
|
|
</image>
|
|
<text class="centre_text">环境监控</text>
|
|
</view>
|
|
<view class="centre" @click="warehouseClick('4')">
|
|
<image class="centre_img" src="https://supervise.yxtsoft.com/img/newApp/jqrxk.png"
|
|
mode="aspectFit">
|
|
</image>
|
|
<text class="centre_text">机器人巡库</text>
|
|
</view> -->
|
|
|
|
<view class="centre" @click="warehouseClick('5')">
|
|
<image class="centre_img" src="https://supervise.yxtsoft.com/img/newApp/jqrxk.png"
|
|
mode="aspectFit">
|
|
</image>
|
|
<text class="centre_text">数据总览</text>
|
|
</view>
|
|
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
dbNum: 0,
|
|
ybNum: 0,
|
|
dyNum: 0,
|
|
yyNum: 0,
|
|
animateUp: false,
|
|
timer: null,
|
|
textArr: [
|
|
// '1 第一条公告',
|
|
// '2 第二条公告第二条公告',
|
|
// '3 第三条公告第三条公告第三条公告第三条公告第三条公告第三条公告第三条公告第三条公告第三条公告'
|
|
],
|
|
number: 0,
|
|
swipers: [
|
|
// 'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg',
|
|
// 'https://fuss10.elemecdn.com/1/34/19aa98b1fcb2781c4fba33d850549jpeg.jpeg',
|
|
// 'https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg',
|
|
// 'https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg',
|
|
// 'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg',
|
|
// 'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg'
|
|
],
|
|
isShow: false,
|
|
|
|
};
|
|
},
|
|
computed: {
|
|
text() {
|
|
return {
|
|
id: this.number,
|
|
val: this.textArr[this.number]
|
|
}
|
|
}
|
|
},
|
|
created() {
|
|
this.$bus.$on('wholeSpin', msg => {
|
|
//这里获取到http工具js文件中传过来的wholeSpin值
|
|
console.log(">>>>>", this.isShow)
|
|
|
|
var userSid = getApp().globalData.sid
|
|
console.log(">>>>>", userSid)
|
|
this.getData(userSid, msg)
|
|
});
|
|
},
|
|
|
|
mounted() {
|
|
this.startMove()
|
|
this.timer = setInterval(this.scrollAnimate, 1500);
|
|
},
|
|
// onLoad() {
|
|
|
|
// },
|
|
onShow() {
|
|
|
|
console.log('onShow', getApp().globalData.isLogin)
|
|
|
|
let token = uni.getStorageSync("Global-Auth-Token")
|
|
if (token != null && token.length != 0) {
|
|
getApp().globalData.token = token
|
|
}
|
|
let isLogin =uni.getStorageSync("isLogin")
|
|
if (isLogin != null && isLogin == 1) {
|
|
getApp().globalData.isLogin = isLogin
|
|
}
|
|
let sid = uni.getStorageSync("sid")
|
|
if (sid != null && sid.length != 0) {
|
|
getApp().globalData.sid = sid
|
|
}
|
|
|
|
console.log('用户Sid', getApp().globalData.sid)
|
|
console.log('token', getApp().globalData.token)
|
|
console.log('是否登陆', getApp().globalData.isLogin)
|
|
|
|
// setTimeout(() => {
|
|
if (getApp().globalData.isLogin) {
|
|
var userSid = getApp().globalData.sid
|
|
console.log(">>>>>", userSid)
|
|
this.getData(userSid, true)
|
|
// uni.setTabBarBadge({ //显示数字
|
|
// index: 0, //tabbar下标
|
|
// text: '100' //数字
|
|
// })
|
|
} else {
|
|
|
|
/* #ifdef MP-WEIXIN */
|
|
this.WxSilentLogin()
|
|
/* #endif */
|
|
|
|
/* #ifdef APP-PLUS */
|
|
uni.redirectTo({
|
|
url: '../login/login'
|
|
})
|
|
/* #endif */
|
|
}
|
|
// }, 1000)
|
|
|
|
// uni.removeTabBarBadge({ //隐藏数字标
|
|
// index:2
|
|
// })
|
|
// uni.showTabBarRedDot({ //显示红点
|
|
// index: 2
|
|
// })
|
|
// uni.hideTabBarRedDot({ //隐藏红点
|
|
// index:2
|
|
// })
|
|
},
|
|
destroyed() {
|
|
clearInterval(this.timer)
|
|
},
|
|
|
|
methods: {
|
|
scrollAnimate() {
|
|
this.animateUp = true
|
|
setTimeout(() => {
|
|
this.textArr.push(this.textArr[0])
|
|
this.textArr.shift()
|
|
this.animateUp = false
|
|
}, 500)
|
|
},
|
|
|
|
getData(userSid, msg) {
|
|
|
|
// let data = await axios.get('/api/portal/v1/flow/task/'+userSid)
|
|
// console.log('data', data)
|
|
var _this = this
|
|
console.log("getData>>>>>", userSid)
|
|
this.$api.getWorkData(userSid).then((resp) => {
|
|
// if (resp.success) {
|
|
console.log('1111', resp)
|
|
this.isShow = msg;
|
|
this.dbNum = resp.todoNumber
|
|
this.dyNum = resp.pendingMessages
|
|
this.textArr = resp.notice
|
|
this.swipers = resp.urls
|
|
|
|
if(this.dyNum!=0){
|
|
uni.setTabBarBadge({ //显示数字
|
|
index: 1, //tabbar下标
|
|
text: this.dyNum > 100 ? "99+" : this.dyNum + "" //数字
|
|
})
|
|
|
|
}
|
|
|
|
|
|
}).catch(e => {
|
|
console.log('eeeee', e)
|
|
})
|
|
},
|
|
|
|
topClick(index) {
|
|
switch (index) {
|
|
case "1":
|
|
// 待办
|
|
// uni.showToast({
|
|
// icon: "none",
|
|
// title: '待办',
|
|
// duration: 2000,
|
|
// });
|
|
uni.navigateTo({
|
|
url: '../index/WaitingProcessed'
|
|
});
|
|
break;
|
|
case "2":
|
|
// 已办
|
|
// uni.showToast({
|
|
// icon: "none",
|
|
// title: '已办',
|
|
// duration: 2000,
|
|
// });
|
|
uni.navigateTo({
|
|
url: '../index/AlreadyProcessed'
|
|
});
|
|
break;
|
|
case "3":
|
|
// 待阅
|
|
// uni.showToast({
|
|
// icon: "none",
|
|
// title: '待阅',
|
|
// duration: 2000,
|
|
// });
|
|
uni.navigateTo({
|
|
url: '../index/NotReadWork'
|
|
});
|
|
break;
|
|
case "4":
|
|
// 已阅
|
|
// uni.showToast({
|
|
// icon: "none",
|
|
// title: '已阅',
|
|
// duration: 2000,
|
|
// });
|
|
uni.navigateTo({
|
|
url: '../index/ReadWork'
|
|
});
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
},
|
|
|
|
startMove() {
|
|
// eslint-disable-next-line
|
|
let timer = setTimeout(() => {
|
|
if (this.number === 2) {
|
|
this.number = 0;
|
|
} else {
|
|
this.number += 1;
|
|
}
|
|
this.startMove();
|
|
}, 2000); // 滚动不需要停顿则将2000改成动画持续时间
|
|
},
|
|
textClick(item) {
|
|
|
|
console.log("111", item)
|
|
uni.showToast({
|
|
icon: "none",
|
|
title: '您点击了公告,内容为:' + item,
|
|
duration: 2000,
|
|
});
|
|
},
|
|
swiperClick(index) {
|
|
|
|
uni.showToast({
|
|
icon: "none",
|
|
title: '您点击了第' + (index + 1) + "张",
|
|
duration: 2000,
|
|
});
|
|
},
|
|
|
|
businessClick(index) {
|
|
switch (index) {
|
|
case "1":
|
|
// 业务审批
|
|
uni.showToast({
|
|
icon: "none",
|
|
title: '业务审批',
|
|
duration: 2000,
|
|
});
|
|
break;
|
|
case "2":
|
|
// 工作调度
|
|
uni.showToast({
|
|
icon: "none",
|
|
title: '工作调度',
|
|
duration: 2000,
|
|
});
|
|
break;
|
|
case "3":
|
|
// 风控管理
|
|
uni.showToast({
|
|
icon: "none",
|
|
title: '风控管理',
|
|
duration: 2000,
|
|
});
|
|
break;
|
|
case "4":
|
|
// 数据报表
|
|
uni.showToast({
|
|
icon: "none",
|
|
title: '数据报表',
|
|
duration: 2000,
|
|
});
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
},
|
|
|
|
warehouseClick(index) {
|
|
switch (index) {
|
|
case "1":
|
|
// 云仓管理
|
|
// uni.showToast({
|
|
// icon: "none",
|
|
// title: '云仓管理',
|
|
// duration: 2000,
|
|
// });
|
|
|
|
uni.navigateTo({
|
|
url: '../index/WarehouseManagement'
|
|
});
|
|
|
|
break;
|
|
case "2":
|
|
// 库存分析
|
|
uni.showToast({
|
|
icon: "none",
|
|
title: '库存分析',
|
|
duration: 2000,
|
|
});
|
|
break;
|
|
case "3":
|
|
// 环境监控
|
|
uni.showToast({
|
|
icon: "none",
|
|
title: '环境监控',
|
|
duration: 2000,
|
|
});
|
|
break;
|
|
case "4":
|
|
// 机器人巡库
|
|
uni.showToast({
|
|
icon: "none",
|
|
title: '机器人巡库',
|
|
duration: 2000,
|
|
});
|
|
break;
|
|
case "5":
|
|
// 数据总览
|
|
// uni.showToast({
|
|
// icon: "none",
|
|
// title: '数据总览',
|
|
// duration: 2000,
|
|
// });
|
|
uni.navigateTo({
|
|
url: '../index/DataAssembleList'
|
|
});
|
|
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
},
|
|
|
|
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
.content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
margin-left: 12px;
|
|
margin-right: 12px;
|
|
padding-bottom: 50px;
|
|
|
|
.whiteBg {
|
|
display: flex;
|
|
background-color: white;
|
|
border-radius: 20px;
|
|
|
|
.swiper {
|
|
width: 100%;
|
|
height: 180px;
|
|
border-radius: 20rpx;
|
|
overflow: hidden;
|
|
/* 兼容IOS,否则在swiper组件内的布局都不受border-radius和overflow的约束 */
|
|
transform: translateY(0);
|
|
|
|
|
|
image {
|
|
border-radius: 20rpx;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
}
|
|
|
|
.top_item {
|
|
margin-top: 25px;
|
|
margin-bottom: 20px;
|
|
align-items: center;
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
.top_item_icon {
|
|
// position: relative;
|
|
// width: 50px;
|
|
// height: 50px;
|
|
// margin-bottom: 10px;
|
|
// background-image: url('https://supervise.yxtsoft.com/img/newApp/round.png');
|
|
// background-size: 50px 50px;
|
|
|
|
position: relative;
|
|
width: 50px;
|
|
height: 50px;
|
|
|
|
.top_item_icon_num {
|
|
// position: relative;
|
|
// z-index: 1000;
|
|
// width: 10px;
|
|
// height: 10px;
|
|
// font-size: 6px;
|
|
// background-color: red;
|
|
// border-radius: 50%;
|
|
// padding: 5px;
|
|
// text-align: center;
|
|
// color: white;
|
|
z-index: 1000;
|
|
position: absolute;
|
|
color: white;
|
|
font-size: 12px;
|
|
background-color: red;
|
|
/*height: 24px;改前*/
|
|
min-height: 18px;
|
|
/*改后新增的代码*/
|
|
min-width: 18px;
|
|
/*改后新增的代码*/
|
|
line-height: 18px;
|
|
right: -16%;
|
|
top: -8px;
|
|
text-align: center;
|
|
-webkit-border-radius: 24px;
|
|
border-radius: 24px;
|
|
padding: 2px;
|
|
}
|
|
|
|
.top_item_icon_img {
|
|
width: 48px;
|
|
height: 48px;
|
|
// align-items: center;
|
|
// justify-content: center;
|
|
// width: 40px;
|
|
// height: 40px;
|
|
}
|
|
}
|
|
|
|
.top_item_text {
|
|
margin-top: 5px;
|
|
color: #101010;
|
|
font-size: 15px;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
.textBox {
|
|
flex: 1;
|
|
margin-right: 10px;
|
|
|
|
// .textBox-swiper{
|
|
// width: 100%;
|
|
// .text {
|
|
// font-size: 15px;
|
|
// font-weight: 600;
|
|
// font-family: sans-serif;
|
|
// color: #101010;
|
|
// overflow: hidden;
|
|
// text-overflow: ellipsis;
|
|
// display: -webkit-box;
|
|
// -webkit-line-clamp: 1;
|
|
// -webkit-box-orient: vertical;
|
|
// }
|
|
|
|
// }
|
|
|
|
.marquee-wrap {
|
|
width: 100%;
|
|
height: 40px;
|
|
overflow: hidden;
|
|
|
|
.marquee-list {
|
|
li {
|
|
width: 100%;
|
|
height: 100%;
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
list-style: none;
|
|
line-height: 40px;
|
|
color: #000;
|
|
font-size: 15px;
|
|
font-weight: 400;
|
|
}
|
|
}
|
|
|
|
.animate-up {
|
|
transition: all 0.8s ease-in-out;
|
|
transform: translateY(-40px);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
// .slide-enter-active,
|
|
// .slide-leave-active {
|
|
// transition: all 0.5s linear;
|
|
// }
|
|
|
|
// .slide-enter {
|
|
// transform: translateY(20px) scale(1);
|
|
// opacity: 1;
|
|
// }
|
|
|
|
// .slide-leave-to {
|
|
// transform: translateY(-20px) scale(0.8);
|
|
// opacity: 0;
|
|
// }
|
|
}
|
|
|
|
|
|
|
|
|
|
.centre {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
|
|
.centre_img {
|
|
width: 50px;
|
|
height: 59px;
|
|
}
|
|
|
|
.centre_text {
|
|
font-size: 15px;
|
|
color: #000;
|
|
margin-top: 5px;
|
|
}
|
|
}
|
|
</style>
|