2025-08-19 17:07:46 +08:00
|
|
|
<template>
|
2026-02-05 15:10:53 +08:00
|
|
|
<view class="work-container">
|
|
|
|
|
<!-- 轮播图 -->
|
|
|
|
|
<uni-swiper-dot :current="current" :info="data" class="uni-swiper-dot-box" field="content">
|
|
|
|
|
<swiper :current="swiperDotIndex" class="swiper-box" @change="changeSwiper">
|
|
|
|
|
<swiper-item v-for="(item, index) in data" :key="index">
|
|
|
|
|
<view class="swiper-item" @click="clickBannerItem(item)">
|
|
|
|
|
<image :draggable="false" :src="item.image" mode="aspectFill"/>
|
|
|
|
|
</view>
|
|
|
|
|
</swiper-item>
|
|
|
|
|
</swiper>
|
|
|
|
|
</uni-swiper-dot>
|
|
|
|
|
|
|
|
|
|
<!-- 宫格组件 -->
|
2026-02-09 16:37:48 +08:00
|
|
|
<uni-section title="订单管理" type="line"></uni-section>
|
2026-02-05 15:10:53 +08:00
|
|
|
<view class="grid-body">
|
2026-03-19 10:01:55 +08:00
|
|
|
<uni-grid :column="3" :showBorder="false" @change="changeGrid">
|
|
|
|
|
<uni-grid-item @click="gotoOrderManager" v-if="checkRole(['shangwu','shangyeUser','gylzy','gylfujinli','zhangmj','dazhongadmin'])">
|
|
|
|
|
<view class="grid-item-box">
|
|
|
|
|
<uni-icons size="30" type="person-filled"></uni-icons>
|
|
|
|
|
<text class="text">订单管理</text>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-grid-item>
|
|
|
|
|
<uni-grid-item @click="gotoOrder" v-if="checkRole(['gylzy','scshoukuan','gddingdancangku','zjdingdancangku','scdindanshenhe','gylfujinli','dazhongadmin','gspcangku'])">
|
|
|
|
|
<view class="grid-item-box">
|
|
|
|
|
<uni-icons size="30" type="compose"></uni-icons>
|
|
|
|
|
<text class="text">订单审核</text>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-grid-item>
|
|
|
|
|
<uni-grid-item @click="gotoFinalcial" v-if="checkRole(['gylzy','scshoukuan','gddingdancangku','gylfujinli','zjhexiaocaiwushenhe','DLMshenhe'
|
|
|
|
|
,'dazhongadmin','zjshouzhang','HOPdingdancangku'])">
|
2026-02-05 15:10:53 +08:00
|
|
|
<view class="grid-item-box">
|
2026-03-09 08:25:36 +08:00
|
|
|
<uni-icons size="30" type="list"></uni-icons>
|
2026-02-05 15:10:53 +08:00
|
|
|
<text class="text">财务审批</text>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-grid-item>
|
2026-03-19 10:01:55 +08:00
|
|
|
<uni-grid-item @click="gotoBusiness" v-if="checkRole(['shangwu','gylzy','gylfujinli','zhangmj','dazhongadmin','daqu_zongbu'])">
|
2026-02-05 15:10:53 +08:00
|
|
|
<view class="grid-item-box">
|
2026-03-09 08:25:36 +08:00
|
|
|
<uni-icons size="30" type="staff"></uni-icons>
|
2026-02-05 15:10:53 +08:00
|
|
|
<text class="text">商务审批</text>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-grid-item>
|
2026-03-19 10:01:55 +08:00
|
|
|
<uni-grid-item @click="gotoOrderSearchQuery" v-if="checkRole(['shangwu','daqu_dong','shangyeUser','gylzy','scshoukuan','gddingdancangku',
|
|
|
|
|
'zjdingdancangku','scdindanshenhe','gylfujinli','chaxun','baishufei','zhangmj','fuzongjian','zhangp','dazhongadmin','zjkaipiao','zjshouzhang','gspcangku',
|
|
|
|
|
'daqu_nan','daqu_xi','daqu_bei','daqu_zongbu'])">
|
2026-03-10 10:13:43 +08:00
|
|
|
<view class="grid-item-box">
|
|
|
|
|
<uni-icons size="30" type="person-filled"></uni-icons>
|
|
|
|
|
<text class="text">订单综合查询</text>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-grid-item>
|
2026-02-09 16:40:45 +08:00
|
|
|
</uni-grid>
|
|
|
|
|
</view>
|
2026-03-11 10:46:43 +08:00
|
|
|
<uni-section title="开户管理" type="line" />
|
|
|
|
|
<view class="grid-body">
|
|
|
|
|
<uni-grid :column="4" :showBorder="false" @change="changeGrid">
|
2026-03-19 10:01:55 +08:00
|
|
|
<uni-grid-item @click="navigateTo('/pages/work/AccountPricePreliminaryRreview/index')" v-if="checkRole(['daqu_dong','gylzy','gylfujinli','fuzongjian',
|
|
|
|
|
'dazhongadmin','daqu_nan','daqu_xi','daqu_bei','daqu_zongbu'])">
|
2026-03-11 10:46:43 +08:00
|
|
|
<view class="grid-item-box">
|
|
|
|
|
<uni-icons size="30" type="person-filled"></uni-icons>
|
|
|
|
|
<text class="text">账期价格初审</text>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-grid-item>
|
2026-03-19 10:01:55 +08:00
|
|
|
<uni-grid-item @click="navigateTo('/pages/work/AccountPriceFinallReview/index')" v-if="checkRole(['gylzy','gylfujinli','dazhongadmin'])">
|
2026-03-11 10:46:43 +08:00
|
|
|
<view class="grid-item-box">
|
|
|
|
|
<uni-icons size="30" type="person-filled"></uni-icons>
|
|
|
|
|
<text class="text">账期价格复审</text>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-grid-item>
|
2026-02-09 16:40:45 +08:00
|
|
|
</uni-grid>
|
|
|
|
|
</view>
|
|
|
|
|
|
2026-02-13 13:51:37 +08:00
|
|
|
<!-- <uni-section title="系统设置" type="line"></uni-section>
|
2026-02-09 16:40:45 +08:00
|
|
|
<view class="grid-body">
|
|
|
|
|
<uni-grid :column="4" :showBorder="false" @change="changeGrid">
|
2026-02-05 15:10:53 +08:00
|
|
|
<uni-grid-item>
|
|
|
|
|
<view class="grid-item-box" @click="jiansheing">
|
|
|
|
|
<uni-icons size="30" type="staff-filled"></uni-icons>
|
|
|
|
|
<text class="text">角色管理</text>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-grid-item>
|
|
|
|
|
<uni-grid-item>
|
|
|
|
|
<view class="grid-item-box" @click="jiansheing">
|
|
|
|
|
<uni-icons size="30" type="color"></uni-icons>
|
|
|
|
|
<text class="text">菜单管理</text>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-grid-item>
|
|
|
|
|
<uni-grid-item>
|
|
|
|
|
<view class="grid-item-box" @click="jiansheing">
|
|
|
|
|
<uni-icons size="30" type="settings-filled"></uni-icons>
|
|
|
|
|
<text class="text">部门管理</text>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-grid-item>
|
|
|
|
|
<uni-grid-item>
|
|
|
|
|
<view class="grid-item-box" @click="jiansheing">
|
|
|
|
|
<uni-icons size="30" type="heart-filled"></uni-icons>
|
|
|
|
|
<text class="text">岗位管理</text>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-grid-item>
|
|
|
|
|
<uni-grid-item>
|
|
|
|
|
<view class="grid-item-box" @click="jiansheing">
|
|
|
|
|
<uni-icons size="30" type="bars"></uni-icons>
|
|
|
|
|
<text class="text">字典管理</text>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-grid-item>
|
|
|
|
|
<uni-grid-item>
|
|
|
|
|
<view class="grid-item-box" @click="jiansheing">
|
|
|
|
|
<uni-icons size="30" type="gear-filled"></uni-icons>
|
|
|
|
|
<text class="text">参数设置</text>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-grid-item>
|
|
|
|
|
<uni-grid-item>
|
|
|
|
|
<view class="grid-item-box">
|
|
|
|
|
<uni-icons size="30" type="chat-filled"></uni-icons>
|
|
|
|
|
<text class="text">通知公告</text>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-grid-item>
|
|
|
|
|
<uni-grid-item>
|
|
|
|
|
<view class="grid-item-box">
|
|
|
|
|
<uni-icons size="30" type="wallet-filled"></uni-icons>
|
|
|
|
|
<text class="text">日志管理</text>
|
|
|
|
|
</view>
|
|
|
|
|
</uni-grid-item>
|
|
|
|
|
</uni-grid>
|
2026-02-13 13:51:37 +08:00
|
|
|
</view> -->
|
2025-08-19 17:07:46 +08:00
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup>
|
2026-03-19 10:01:55 +08:00
|
|
|
import { getCurrentInstance, onMounted, ref } from "vue"
|
|
|
|
|
import { navigateTo } from "../../utils/utils";
|
|
|
|
|
import { useUserStore } from '@/store'
|
|
|
|
|
import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
|
2025-08-19 17:07:46 +08:00
|
|
|
|
2026-03-19 10:01:55 +08:00
|
|
|
const { proxy } = getCurrentInstance()
|
2026-02-05 15:10:53 +08:00
|
|
|
const current = ref(0)
|
|
|
|
|
const swiperDotIndex = ref(0)
|
2026-02-09 16:37:28 +08:00
|
|
|
const data = ref([{image: '/static/images/banner/background.jpg'}])
|
2026-03-19 10:01:55 +08:00
|
|
|
const userStore = useUserStore()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 检查角色
|
|
|
|
|
// function checkRole(roles) {
|
|
|
|
|
// const userRoles = userStore.roles || []
|
|
|
|
|
// return userRoles.some(role => roles.includes(role))
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// 检查权限
|
|
|
|
|
// function checkPermi(permissions) {
|
|
|
|
|
// const userPermissions = userStore.permissions || []
|
|
|
|
|
// return permissions.some(perm => userPermissions.includes(perm))
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
onMounted(async () => {
|
|
|
|
|
try {
|
|
|
|
|
await userStore.getInfo()
|
|
|
|
|
} finally {
|
|
|
|
|
}
|
|
|
|
|
})
|
2025-08-19 17:07:46 +08:00
|
|
|
|
2026-02-05 15:10:53 +08:00
|
|
|
function clickBannerItem(item) {
|
2025-08-19 17:07:46 +08:00
|
|
|
console.info(item)
|
2026-02-05 15:10:53 +08:00
|
|
|
}
|
2025-08-19 17:07:46 +08:00
|
|
|
|
2026-02-05 15:10:53 +08:00
|
|
|
function changeSwiper(e) {
|
2025-08-19 17:07:46 +08:00
|
|
|
current.value = e.detail.current
|
2026-02-05 15:10:53 +08:00
|
|
|
}
|
2025-08-19 17:07:46 +08:00
|
|
|
|
2026-02-05 15:10:53 +08:00
|
|
|
function changeGrid(e) {
|
2025-08-20 13:59:17 +08:00
|
|
|
// proxy.$modal.showToast('模块建设中~')
|
2026-02-05 15:10:53 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function jiansheing(e) {
|
2025-08-25 09:19:35 +08:00
|
|
|
proxy.$modal.showToast('模块建设中~')
|
2026-02-05 15:10:53 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const gotoBusiness = () => {
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: '/pages/work/BusinessApproval/index'
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
const gotoFinalcial = () => {
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: '/pages/work/FinancialApproval/index'
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
const gotoOrder = () => {
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: '/pages/work/OrderApproval/index'
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
const gotoOrderManager = () => {
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: '/pages/work/OrderManager/index'
|
|
|
|
|
})
|
|
|
|
|
}
|
2026-03-10 10:13:43 +08:00
|
|
|
const gotoOrderSearchQuery = () => {
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
url: '/pages/work/OrderSearchQuery/index'
|
|
|
|
|
})
|
|
|
|
|
}
|
2025-08-19 17:07:46 +08:00
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
2026-02-05 15:10:53 +08:00
|
|
|
/* #ifndef APP-NVUE */
|
|
|
|
|
page {
|
2025-08-19 17:07:46 +08:00
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
min-height: 100%;
|
|
|
|
|
height: auto;
|
2026-02-05 15:10:53 +08:00
|
|
|
}
|
2025-08-19 17:07:46 +08:00
|
|
|
|
2026-02-05 15:10:53 +08:00
|
|
|
view {
|
2025-08-19 17:07:46 +08:00
|
|
|
font-size: 14px;
|
|
|
|
|
line-height: inherit;
|
2026-02-05 15:10:53 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* #endif */
|
2025-08-19 17:07:46 +08:00
|
|
|
|
2026-02-05 15:10:53 +08:00
|
|
|
.text {
|
2025-08-19 17:07:46 +08:00
|
|
|
text-align: center;
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
margin-top: 10rpx;
|
2026-02-05 15:10:53 +08:00
|
|
|
}
|
2025-08-19 17:07:46 +08:00
|
|
|
|
2026-02-05 15:10:53 +08:00
|
|
|
.grid-item-box {
|
2025-08-19 17:07:46 +08:00
|
|
|
flex: 1;
|
|
|
|
|
/* #ifndef APP-NVUE */
|
|
|
|
|
display: flex;
|
|
|
|
|
/* #endif */
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
padding: 15px 0;
|
2026-02-05 15:10:53 +08:00
|
|
|
}
|
2025-08-19 17:07:46 +08:00
|
|
|
|
2026-02-05 15:10:53 +08:00
|
|
|
.uni-margin-wrap {
|
2025-08-19 17:07:46 +08:00
|
|
|
width: 690rpx;
|
2026-02-05 15:10:53 +08:00
|
|
|
width: 100%;;
|
|
|
|
|
}
|
2025-08-19 17:07:46 +08:00
|
|
|
|
2026-02-05 15:10:53 +08:00
|
|
|
.swiper {
|
2025-08-19 17:07:46 +08:00
|
|
|
height: 300rpx;
|
2026-02-05 15:10:53 +08:00
|
|
|
}
|
2025-08-19 17:07:46 +08:00
|
|
|
|
2026-02-05 15:10:53 +08:00
|
|
|
.swiper-box {
|
2025-08-19 17:07:46 +08:00
|
|
|
height: 150px;
|
2026-02-05 15:10:53 +08:00
|
|
|
}
|
2025-08-19 17:07:46 +08:00
|
|
|
|
2026-02-05 15:10:53 +08:00
|
|
|
.swiper-item {
|
2025-08-19 17:07:46 +08:00
|
|
|
/* #ifndef APP-NVUE */
|
|
|
|
|
display: flex;
|
|
|
|
|
/* #endif */
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
align-items: center;
|
|
|
|
|
color: #fff;
|
|
|
|
|
height: 300rpx;
|
|
|
|
|
line-height: 300rpx;
|
2026-02-05 15:10:53 +08:00
|
|
|
}
|
2025-08-19 17:07:46 +08:00
|
|
|
|
2026-02-05 15:10:53 +08:00
|
|
|
@media screen and (min-width: 500px) {
|
2025-08-19 17:07:46 +08:00
|
|
|
.uni-swiper-dot-box {
|
2026-02-05 15:10:53 +08:00
|
|
|
width: 400px;
|
|
|
|
|
/* #ifndef APP-NVUE */
|
|
|
|
|
margin: 0 auto;
|
|
|
|
|
/* #endif */
|
|
|
|
|
margin-top: 8px;
|
2025-08-19 17:07:46 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.image {
|
2026-02-05 15:10:53 +08:00
|
|
|
width: 100%;
|
2025-08-19 17:07:46 +08:00
|
|
|
}
|
2026-02-05 15:10:53 +08:00
|
|
|
}
|
2025-08-19 17:07:46 +08:00
|
|
|
</style>
|