master
mhsnet 2 months ago
parent d456b584e7
commit 1836a3eeb6

@ -34,6 +34,28 @@
} }
}, },
// #endif // #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", "path": "pages/login/index",
"style": { "style": {
@ -1008,33 +1030,46 @@
"color": "#303133", "color": "#303133",
"selectedColor": "#2979FF", "selectedColor": "#2979FF",
"backgroundColor": "#ffffff", "backgroundColor": "#ffffff",
"list": [{ "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"
},
{ {
"pagePath": "pages/index/apply", "pagePath": "pages/work/index",
"text": "工作台", "text": "工作台",
"iconPath": "static/image/tabbar/apply.png", "iconPath": "static/tabs/home_default.png",
"selectedIconPath": "static/image/tabbar/applyHL.png" "selectedIconPath": "static/tabs/home_selected.png"
}, },
{ {
"pagePath": "pages/index/index", "pagePath": "pages/me/index",
"text": "消息", "text": "我的",
"iconPath": "static/image/tabbar/message.png", "iconPath": "static/tabs/user_default.png",
"selectedIconPath": "static/image/tabbar/messageHL.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", "pagePath": "pages/index/my",
"text": "我的", "text": "我",
"iconPath": "static/image/tabbar/my.png", "iconPath": "static/image/tabbar/my.png",
"selectedIconPath": "static/image/tabbar/myHL.png" "selectedIconPath": "static/image/tabbar/myHL.png"
} }

@ -14,47 +14,49 @@
</template> </template>
<script> <script>
import resources from '@/libs/resources.js' import resources from "@/libs/resources.js";
export default { export default {
data() { data() {
return { return {
startup: resources.startup.main startup: resources.startup.main,
} };
}, },
onLoad() { onLoad() {
if (uni.getStorageSync('isUpdate')) return if (uni.getStorageSync("isUpdate")) return;
const launchFlag = uni.getStorageSync('launchFlag'); const launchFlag = uni.getStorageSync("launchFlag");
const token = uni.getStorageSync("token") || ''; const token = uni.getStorageSync("token") || "";
if (launchFlag) { if (launchFlag) {
if (token) { if (token) {
uni.switchTab({ uni.switchTab({
url: '/pages/index/apply' // url: '/pages/index/apply'
}) url: "/pages/work/index",
});
} else { } else {
uni.redirectTo({ uni.redirectTo({
url: '/pages/login/index' url: "/pages/login/index",
}) });
} }
} else { } else {
// #ifdef APP-PLUS // #ifdef APP-PLUS
uni.redirectTo({ uni.redirectTo({
url: '/pages/launch/policy' url: "/pages/launch/policy",
}) });
// #endif // #endif
// #ifndef APP-PLUS // #ifndef APP-PLUS
if (token) { if (token) {
uni.switchTab({ uni.switchTab({
url: '/pages/index/apply' // url: '/pages/index/apply'
}) url: "/pages/work/index",
});
} else { } else {
uni.redirectTo({ uni.redirectTo({
url: '/pages/login/index' url: "/pages/login/index",
}) });
} }
// #endif // #endif
} }
}, },
} };
</script> </script>
<style lang="scss"> <style lang="scss">
@ -65,7 +67,7 @@
.title { .title {
font-size: 50rpx; font-size: 50rpx;
line-height: 70rpx; line-height: 70rpx;
color: #5098FA; color: #5098fa;
text-align: center; text-align: center;
margin-bottom: 10rpx; margin-bottom: 10rpx;
} }
@ -75,10 +77,10 @@
margin: 0 auto; margin: 0 auto;
text-align: center; text-align: center;
height: 50rpx; height: 50rpx;
border: 1px solid #5098FA; border: 1px solid #5098fa;
border-radius: 25rpx; border-radius: 25rpx;
line-height: 48rpx; line-height: 48rpx;
color: #5098FA; color: #5098fa;
letter-spacing: 2rpx; letter-spacing: 2rpx;
} }

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