master
mhsnet 2 months ago
parent d456b584e7
commit 1836a3eeb6

@ -34,6 +34,28 @@
}
},
// #endif
{
"path": "pages/work/index",
"style": {
"navigationStyle": "custom",
"app-plus": {
"titleNView": false,
"bounce": "none",
"softinputMode": "adjustPan" //adjustResize
}
}
},
{
"path": "pages/me/index",
"style": {
"navigationStyle": "custom",
"app-plus": {
"titleNView": false,
"bounce": "none",
"softinputMode": "adjustPan" //adjustResize
}
}
},
{
"path": "pages/login/index",
"style": {
@ -1008,33 +1030,46 @@
"color": "#303133",
"selectedColor": "#2979FF",
"backgroundColor": "#ffffff",
"list": [{
"pagePath": "pages/index/portal",
"text": "首页",
"iconPath": "static/image/tabbar/home.png",
"selectedIconPath": "static/image/tabbar/homeHL.png"
},
{
"pagePath": "pages/index/workFlow",
"text": "协同",
"iconPath": "static/image/tabbar/workFlow.png",
"selectedIconPath": "static/image/tabbar/workFlowHL.png"
},
"list": [
{
"pagePath": "pages/index/apply",
"pagePath": "pages/work/index",
"text": "工作台",
"iconPath": "static/image/tabbar/apply.png",
"selectedIconPath": "static/image/tabbar/applyHL.png"
"iconPath": "static/tabs/home_default.png",
"selectedIconPath": "static/tabs/home_selected.png"
},
{
"pagePath": "pages/index/index",
"text": "消息",
"iconPath": "static/image/tabbar/message.png",
"selectedIconPath": "static/image/tabbar/messageHL.png"
"pagePath": "pages/me/index",
"text": "我的",
"iconPath": "static/tabs/user_default.png",
"selectedIconPath": "static/tabs/user_selected.png"
},
// {
// "pagePath": "pages/index/portal",
// "text": "首页",
// "iconPath": "static/image/tabbar/home.png",
// "selectedIconPath": "static/image/tabbar/homeHL.png"
// },
// {
// "pagePath": "pages/index/workFlow",
// "text": "协同",
// "iconPath": "static/image/tabbar/workFlow.png",
// "selectedIconPath": "static/image/tabbar/workFlowHL.png"
// },
// {
// "pagePath": "pages/index/apply",
// "text": "工作台",
// "iconPath": "static/image/tabbar/apply.png",
// "selectedIconPath": "static/image/tabbar/applyHL.png"
// },
// {
// "pagePath": "pages/index/index",
// "text": "消息",
// "iconPath": "static/image/tabbar/message.png",
// "selectedIconPath": "static/image/tabbar/messageHL.png"
// },
{
"pagePath": "pages/index/my",
"text": "我的",
"text": "我",
"iconPath": "static/image/tabbar/my.png",
"selectedIconPath": "static/image/tabbar/myHL.png"
}

@ -1,105 +1,107 @@
<template>
<view class="launch-v">
<!-- #ifdef APP-PLUS -->
<view class="launch-box">
<view class="title">全新模式 为你而来</view>
<view class="version">VERSION3.2</view>
<view class="launch-img">
<image :src="startup" mode="widthFix"></image>
</view>
<view class="copyright">Copyright © 2023 引迈信息技术有限公司出品</view>
</view>
<!-- #endif -->
</view>
<view class="launch-v">
<!-- #ifdef APP-PLUS -->
<view class="launch-box">
<view class="title">全新模式 为你而来</view>
<view class="version">VERSION3.2</view>
<view class="launch-img">
<image :src="startup" mode="widthFix"></image>
</view>
<view class="copyright">Copyright © 2023 引迈信息技术有限公司出品</view>
</view>
<!-- #endif -->
</view>
</template>
<script>
import resources from '@/libs/resources.js'
export default {
data() {
return {
startup: resources.startup.main
}
},
onLoad() {
if (uni.getStorageSync('isUpdate')) return
const launchFlag = uni.getStorageSync('launchFlag');
const token = uni.getStorageSync("token") || '';
if (launchFlag) {
if (token) {
uni.switchTab({
url: '/pages/index/apply'
})
} else {
uni.redirectTo({
url: '/pages/login/index'
})
}
} else {
// #ifdef APP-PLUS
uni.redirectTo({
url: '/pages/launch/policy'
})
// #endif
// #ifndef APP-PLUS
if (token) {
uni.switchTab({
url: '/pages/index/apply'
})
} else {
uni.redirectTo({
url: '/pages/login/index'
})
}
// #endif
}
},
}
import resources from "@/libs/resources.js";
export default {
data() {
return {
startup: resources.startup.main,
};
},
onLoad() {
if (uni.getStorageSync("isUpdate")) return;
const launchFlag = uni.getStorageSync("launchFlag");
const token = uni.getStorageSync("token") || "";
if (launchFlag) {
if (token) {
uni.switchTab({
// url: '/pages/index/apply'
url: "/pages/work/index",
});
} else {
uni.redirectTo({
url: "/pages/login/index",
});
}
} else {
// #ifdef APP-PLUS
uni.redirectTo({
url: "/pages/launch/policy",
});
// #endif
// #ifndef APP-PLUS
if (token) {
uni.switchTab({
// url: '/pages/index/apply'
url: "/pages/work/index",
});
} else {
uni.redirectTo({
url: "/pages/login/index",
});
}
// #endif
}
},
};
</script>
<style lang="scss">
.launch-v {
.launch-box {
padding-top: 170rpx;
.launch-v {
.launch-box {
padding-top: 170rpx;
.title {
font-size: 50rpx;
line-height: 70rpx;
color: #5098FA;
text-align: center;
margin-bottom: 10rpx;
}
.title {
font-size: 50rpx;
line-height: 70rpx;
color: #5098fa;
text-align: center;
margin-bottom: 10rpx;
}
.version {
width: 250rpx;
margin: 0 auto;
text-align: center;
height: 50rpx;
border: 1px solid #5098FA;
border-radius: 25rpx;
line-height: 48rpx;
color: #5098FA;
letter-spacing: 2rpx;
}
.version {
width: 250rpx;
margin: 0 auto;
text-align: center;
height: 50rpx;
border: 1px solid #5098fa;
border-radius: 25rpx;
line-height: 48rpx;
color: #5098fa;
letter-spacing: 2rpx;
}
.launch-img {
margin: 0 auto;
width: 680rpx;
.launch-img {
margin: 0 auto;
width: 680rpx;
image {
width: 100%;
}
}
image {
width: 100%;
}
}
.copyright {
position: fixed;
bottom: 120rpx;
right: 0;
left: 0;
text-align: center;
color: #999999;
font-size: 24rpx;
}
}
}
.copyright {
position: fixed;
bottom: 120rpx;
right: 0;
left: 0;
text-align: center;
color: #999999;
font-size: 24rpx;
}
}
}
</style>

@ -268,7 +268,8 @@ export default {
.then((res) => {
uni.hideLoading();
uni.reLaunch({
url: "/pages/index/portal",
// url: "/pages/index/portal",
url: "/pages/work/index",
});
})
.catch(() => {
@ -290,7 +291,8 @@ export default {
.then((res) => {
uni.hideLoading();
uni.reLaunch({
url: "/pages/index/portal",
// url: "/pages/index/portal",
url: "/pages/work/index",
});
})
.catch(() => {
@ -422,7 +424,8 @@ export default {
.then((res) => {
uni.hideLoading();
uni.switchTab({
url: "/pages/index/portal",
// url: "/pages/index/portal",
url: "/pages/work/index",
});
this.show = false;
})
@ -527,7 +530,8 @@ export default {
.then((res) => {
this.loading = false;
uni.switchTab({
url: "/pages/index/portal",
url: "/pages/work/index",
// url: "/pages/index/portal",
});
})
.catch(() => {

@ -0,0 +1,23 @@
<template>
<u-navbar :is-back="false" title="" class="sty-nav">
<view class="slot-wrap">
<u-image
width="100%"
height="100%"
src="/static/images/yyslogo.png"
mode="aspectFit"
></u-image>
</view>
</u-navbar>
</template>
<style lang="scss" scope>
.sty-nav /deep/ .u-slot-content {
height: 100%;
.slot-wrap {
width: 100%;
height: 100%;
background: #375AC8;
}
}
</style>

@ -0,0 +1,83 @@
<template>
<view class="viewport">
<template v-if="isLoading">
<view class="loading-text">拼命加载中...</view>
</template>
<template v-else>
<CustomNavbar />
<view class="cont">
</view>
</template>
</view>
</template>
<script>
import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
import { mapGetters } from "vuex";
import { getIMReply, relocation } from "@/api/message.js";
import CustomNavbar from "./components/CustomNavbar";
export default {
components: {
CustomNavbar
},
mixins: [],
data() {
return {
isLoading: false,
categoryList: [
{
key: "product",
children: [
{
path: "productionReport",
name: "采购协同",
auth: true,
imgUrl: "/static/images/caigouxietong@1x.png",
defaultImgUrl: "/static/images/caigouxietong-wuquanxian@1x.png",
},
{
path: "assembleReport",
name: "报工确认",
auth: true,
imgUrl: "/static/images/baogongqueren@1x.png",
defaultImgUrl: "/static/images/baogongqueren-wuquanxian@1x.png",
},
],
},
],
};
},
watch: {},
computed: {},
onLoad() {
},
onUnload() {},
methods: {},
};
</script>
<style lang="scss">
page {
height: 100%;
overflow: hidden;
background-color: #f8fafd;
}
.viewport {
width: 100vw;
height: 100vh;
margin-bottom: 300rpx;
.cont {
//margin: 100rpx 0;
}
.loading-text {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
}
.barbox {
height: 50rpx;
}
</style>

@ -0,0 +1,102 @@
<template>
<view class="category">
<template v-if="list.length">
<view class="module" v-for="item in list">
<view
class="category-item"
hover-class="none"
v-for="item2 in item.children"
:key="item2.path"
@click="handleToBooking(item2)"
>
<image
v-if="item2.auth"
class="icon"
:src="item2.imgUrl"
mode="scaleToFill"
></image>
<image
v-else
class="icon"
:src="item2.defaultImgUrl"
mode="scaleToFill"
></image>
</view>
</view>
</template>
<view v-else class="empty-data">
<image
class="icon"
src="/static/images/home-empty.png"
mode="aspectFit"
></image>
</view>
</view>
</template>
<script>
import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
import { mapGetters } from "vuex";
import { getIMReply, relocation } from "@/api/message.js";
export default {
props: ["list"],
mixins: [],
data() {
return {
isLoading: false,
};
},
watch: {},
computed: {},
onLoad() {},
onUnload() {},
methods: {
handleToBooking(item) {
console.log(item);
},
},
};
</script>
<style lang="scss" scope>
.category {
padding: 32rpx 10rpx;
margin: 16rpx;
border-radius: 4rpx;
display: flex;
flex-wrap: wrap;
// min-height: 80vh;
.module {
width: 100%;
// margin: 10rpx 0;
.module-title {
font-size: 32rpx;
color: #1d2129;
}
.category-item {
border-radius: 16rpx;
margin: 40rpx 0;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
box-shadow: 0px 3px 12px 0px rgba(63, 112, 157, 0.5);
width: 100%;
.icon {
width: 100%;
height: 240rpx;
}
}
}
.empty-data {
position: absolute;
left: 50%;
top: 50%;
width: 480rpx;
height: 528rpx;
transform: translate(-50%, -50%);
}
}
</style>

@ -0,0 +1,23 @@
<template>
<u-navbar :is-back="false" title="" class="sty-nav">
<view class="slot-wrap">
<u-image
width="100%"
height="100%"
src="/static/images/yyslogo.png"
mode="aspectFit"
></u-image>
</view>
</u-navbar>
</template>
<style lang="scss" scope>
.sty-nav /deep/ .u-slot-content {
height: 100%;
.slot-wrap {
width: 100%;
height: 100%;
background: #375AC8;
}
}
</style>

@ -0,0 +1,87 @@
<template>
<view class="viewport">
<template v-if="isLoading">
<view class="loading-text">拼命加载中...</view>
</template>
<template v-else>
<CustomNavbar />
<view class="cont">
<CategoryPanel :list="categoryList" />
<footRight />
</view>
</template>
</view>
</template>
<script>
import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
import { mapGetters } from "vuex";
import { getIMReply, relocation } from "@/api/message.js";
import CustomNavbar from "./components/CustomNavbar";
import CategoryPanel from "./components/CategoryPanel";
export default {
components: {
CustomNavbar,
CategoryPanel
},
mixins: [],
data() {
return {
isLoading: false,
categoryList: [
{
key: "product",
children: [
{
path: "productionReport",
name: "采购协同",
auth: true,
imgUrl: "/static/images/caigouxietong@1x.png",
defaultImgUrl: "/static/images/caigouxietong-wuquanxian@1x.png",
},
{
path: "assembleReport",
name: "报工确认",
auth: true,
imgUrl: "/static/images/baogongqueren@1x.png",
defaultImgUrl: "/static/images/baogongqueren-wuquanxian@1x.png",
},
],
},
],
};
},
watch: {},
computed: {},
onLoad() {
},
onUnload() {},
methods: {},
};
</script>
<style lang="scss">
page {
height: 100%;
overflow: hidden;
background-color: #f8fafd;
}
.viewport {
width: 100vw;
height: 100vh;
margin-bottom: 300rpx;
.cont {
//margin: 100rpx 0;
}
.loading-text {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
}
.barbox {
height: 50rpx;
}
</style>
Loading…
Cancel
Save