parent
d456b584e7
commit
1836a3eeb6
@ -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…
Reference in new issue