hldy_xcx/pages/index/index.vue

743 lines
16 KiB
Vue
Raw Normal View History

2025-06-27 08:56:14 +08:00
<template>
<view class="login-container">
2025-07-01 17:29:13 +08:00
<!-- <u-modal title="驳回原因" v-model="show" :content="content"></u-modal> -->
<model :show="show" @close="show=false" :content="content" />
2025-07-03 17:27:42 +08:00
<swiper style="width: 100%;" :duration="150" :style="{height: `100vh`}" :current="which" @change="swiperchange">
2025-06-30 17:33:35 +08:00
<view v-for="(item,index) in menuArray" :key="index">
<swiper-item style="position: relative;">
<view class="index-up">
<image class="index-up-img" src="https://www.focusnu.com/media/directive/index/indexgif.gif"
mode="widthFix" lazy-load="false" />
2025-06-27 08:56:14 +08:00
</view>
2025-06-30 17:33:35 +08:00
<view class="white-content-father-time">
<view class="white-content" v-if="item.comName">
<view class="white-bgc" style="font-size: 32rpx;">
2025-06-27 08:56:14 +08:00
2025-06-30 17:33:35 +08:00
{{item.comName}}
</view>
2025-06-27 08:56:14 +08:00
2025-06-30 17:33:35 +08:00
</view>
</view>
<view class="white-content-father">
2025-07-03 17:27:42 +08:00
<!-- <image
2025-06-30 17:33:35 +08:00
class="chuo-img" v-if="item.status!=`-1`&&item.status!=`2`"
:src=" `https://www.focusnu.com/media/directive/index/${statusarray[Number(item.status) - 1]}.png`"
2025-07-03 17:27:42 +08:00
/> -->
<view class="chuo-ball" @click="loadingData" v-if="item.status==`1`">
<image class="ball-img"
:src=" `https://www.focusnu.com/media/directive/index/refresh.png`" />
</view>
2025-06-30 17:33:35 +08:00
<view class="white-content" v-if="item.status==`1`">
2025-06-27 08:56:14 +08:00
<image class="white-content-img"
2025-07-03 17:27:42 +08:00
:src="`https://www.focusnu.com/media/directive/index/${statusarray[Number(item.status) - 1]}.png`"
2025-06-27 08:56:14 +08:00
lazy-load="false" />
<view class="white-font">
2025-06-30 17:33:35 +08:00
您提交的
<!-- <text style="font-weight: 600;">
"{{item.comName}}"
</text> -->
</view>
<view class="second-font">
<text>
"{{item.comName}}"
2025-06-27 08:56:14 +08:00
</text>
</view>
<view class="second-font">
2025-06-30 17:33:35 +08:00
加盟申请
2025-06-27 08:56:14 +08:00
<text style="color: #01A5FF;">
正在审核中
</text>
</view>
<view class="button-blue" @click="look(item)">
查看
</view>
</view>
2025-06-30 17:33:35 +08:00
<!-- </swiper-item> -->
2025-06-27 08:56:14 +08:00
2025-06-30 17:33:35 +08:00
<!-- <swiper-item v-if="item.status==`3`"> -->
<view class="white-content" v-if="item.status==`3`">
2025-06-27 08:56:14 +08:00
<image class="white-content-img"
2025-07-03 17:27:42 +08:00
:src="`https://www.focusnu.com/media/directive/index/${statusarray[Number(item.status) - 1]}.png`"
2025-06-27 08:56:14 +08:00
lazy-load="false" />
2025-06-30 17:33:35 +08:00
<!-- <view class="white-font" style="margin-top: 320rpx;">
2025-06-27 08:56:14 +08:00
您提交的
</view>
<view class="second-font">
{{item.comName}}
</view>
<view class="second-font">
加盟申请
<text style="color: #FF7744;">
审核不通过
</text>
2025-06-30 17:33:35 +08:00
</view> -->
<view class="white-font">
您提交的
2025-06-27 08:56:14 +08:00
</view>
2025-06-30 17:33:35 +08:00
<view class="second-font">
<text>
"{{item.comName}}"
</text>
</view>
<view class="second-font">
加盟申请
2025-06-27 08:56:14 +08:00
<text style="color: #FF7744;">
2025-06-30 17:33:35 +08:00
审核不通过
2025-06-27 08:56:14 +08:00
</text>
2025-06-30 17:33:35 +08:00
</view>
2025-06-27 08:56:14 +08:00
<view class="button-blue-spec" @click="again(item)">
重新提交
</view>
2025-06-30 17:33:35 +08:00
<view class="button-white-spec" @click="jumptolist(item.content)">
2025-06-27 08:56:14 +08:00
驳回原因
</view>
</view>
2025-06-30 17:33:35 +08:00
<!-- </swiper-item> -->
<!-- <swiper-item v-if="item.status==`2`"> -->
<view style="z-index: 1;width: 100%;" v-if="item.status==`2`">
<view class="zhiling-box">
<view class="">
单元清洁服务指令已执行完毕点击查看
</view>
<image class="zhiling-img"
2025-07-03 17:27:42 +08:00
src="https://www.focusnu.com/media/directive/index/mine/more.png" />
2025-06-27 08:56:14 +08:00
</view>
2025-06-30 17:33:35 +08:00
<view class="white-box-father">
<view v-for="(item,index) in buttonArray" :key="index" class="white-box">
<image class="box-img"
:src="`https://www.focusnu.com/media/directive/index/addjiji/${index}.png`" />
<view class="box-font">{{item}}</view>
2025-07-03 17:27:42 +08:00
<!-- <image
class="chuo-img" v-if="item.status!=`-1`&&item.status!=`2`"
:src=" `https://www.focusnu.com/media/directive/index/${statusarray[Number(item.status) - 1]}.png`"
/> -->
2025-06-30 17:33:35 +08:00
</view>
<view class="white-box">
<view style="font-weight: 600;font-size: 80rpx;">+</view>
</view>
2025-06-27 08:56:14 +08:00
</view>
</view>
2025-06-30 17:33:35 +08:00
<!-- </swiper-item> -->
</view>
2025-06-27 08:56:14 +08:00
2025-06-30 17:33:35 +08:00
<!-- <swiper-item> -->
<view class="white-content" style="margin: 0 auto;margin-top: 110rpx;" v-if="item.status==`-1`">
2025-06-27 08:56:14 +08:00
<image class="white-content-secondimg"
src="https://www.focusnu.com/media/directive/index/addjiji/addjigou.png"
lazy-load="false" />
<view class="button-blue" @click="addjigou">
添加机构
</view>
</view>
2025-06-30 17:33:35 +08:00
<!-- </swiper-item> -->
2025-06-27 08:56:14 +08:00
</swiper-item>
2025-06-30 17:33:35 +08:00
</view>
</swiper>
2025-06-27 08:56:14 +08:00
<view
style="z-index:999;position: fixed;bottom: 70rpx; width: 100%;display: flex;justify-content: center;margin-top: -25rpx;height: 100rpx;">
<view class="jia-box">
<view v-for="(item,index) in menuArray" :key="index" @click="changecard(index)">
2025-06-30 17:33:35 +08:00
<view :class="whichMenu==index? `black-box` :`gray-box`" v-if="index != menuArray.length - 1">
</view>
<view class="jia" @click="moveend" v-if="index == menuArray.length - 1">
<image class="jia-img" :src="`https://www.focusnu.com/media/directive/index/bluejia.png`" />
</view>
2025-06-27 08:56:14 +08:00
</view>
2025-06-30 17:33:35 +08:00
2025-06-27 08:56:14 +08:00
</view>
</view>
<downMenu :itemTarget="0" />
</view>
</template>
<script setup>
import {
reactive,
ref,
onMounted,
onUnmounted
} from 'vue';
import {
onLoad
} from '@dcloudio/uni-app';
import {
getMessageList
} from '@/pages/addjigou/api/addjigou.js'
// import tu from 'https://www.focusnu.com/media/directive/index/tu.png'
2025-06-30 17:33:35 +08:00
import request from '@/request/index.js' // 您封装的 uni.request
2025-06-27 08:56:14 +08:00
import downMenu from '@/compontent/public/downmenu.vue'
2025-07-03 17:27:42 +08:00
import model from "@/compontent/public/model.vue"
2025-06-27 08:56:14 +08:00
const tu = 'https://www.focusnu.com/media/directive/index/tu.png'
2025-06-30 17:33:35 +08:00
const show = ref(false);
const content = ref("");
2025-06-27 08:56:14 +08:00
// const itemArray = ["NU", "动态", "我的"];
const buttonArray = ref(["单元", "仓库", "后勤", "工区", "办公室 ", "员工", "机构维护"])
2025-06-30 17:33:35 +08:00
const statusarray = ["loading", "success", "fail"]
2025-06-27 08:56:14 +08:00
// const itemTarget = ref(0);
const which = ref(0);
// const scaning = ref(false)
const changecard = (e) => {
which.value = e
whichMenu.value = which.value
}
const moveend = () => {
which.value = menuArray.value.length
whichMenu.value = which.value
}
const addjigou = () => {
uni.setStorageSync('specicalid', "");
uni.setStorageSync("baddata", "")
uni.setStorageSync("backhuancun", {})
uni.navigateTo({
url: `/pages/addjigou/name`
});
}
const look = (element) => {
uni.navigateTo({
url: `/pages/addjigou/all?element=${JSON.stringify(element)}`
});
}
2025-06-30 17:33:35 +08:00
const jumptolist = (res) => {
// uni.navigateTo({
// url: `/pages/login/workjoin?type=1`
// });
if (res) {
content.value = res;
show.value = true
}
2025-06-27 08:56:14 +08:00
}
const again = (item) => {
console.log("????", item)
uni.setStorageSync("baddata", item)
uni.setStorageSync('specicalid', item.id);
uni.setStorageSync("backhuancun", {})
uni.navigateTo({
url: `/pages/addjigou/name`
});
}
const jumpTo = () => {
uni.navigateTo({
url: `/pages/login/index`
});
}
const whichMenu = ref(0);
const swiperchange = (res) => {
whichMenu.value = res.detail.current
which.value = res.detail.current
// console.log("res",res.detail.current)
}
// const addoldman = () => {
// uni.navigateTo({
// url: "/pages/addoldman/IDcard"
// });
// }
// const gotoPay = () => {
// uni.navigateTo({
// url: "/pages/pay/index"
// });
// }
// const qrResult = ref('')
// const scanning = ref(false)
// let html5QrCode = null
// async function cancelScan() {
// if (html5QrCode && scanning.value) {
// try {
// await html5QrCode.stop()
// } catch (e) {
// console.warn('停止扫码出错', e)
// }
// }
// scanning.value = false
// }
// function scanQrCode() {
// // 如果正在扫描,先停止一次
// if (html5QrCode && scanning.value) {
// html5QrCode.stop().catch(() => {}).finally(() => {
// scanning.value = false
// })
// return
// }
// // 标记为正在扫描,显示容器
// scanning.value = true
// qrResult.value = ''
// // 创建扫码实例指定容器ID
// html5QrCode = new Html5Qrcode("reader")
// // 扫码配置:每秒 10 帧,识别框大小 250×250
// const config = {
// fps: 10,
// qrbox: {
// width: 350,
// height: 350
// }
// }
// html5QrCode.start({
// facingMode: "environment"
// }, // 后置摄像头
// config,
// decodedText => {
// // 扫码成功回调
// qrResult.value = decodedText
// // 停止扫描并隐藏容器
// html5QrCode.stop().catch(console.warn).finally(() => {
// scanning.value = false
// })
// },
// errorMessage => {
// // 解析过程中报错,不用处理
// }
// ).catch(err => {
// console.error("扫码启动失败", err)
// scanning.value = false
// })
// }
const gotoWindy = () => {
uni.navigateTo({
url: "/pages/selectunit/map"
});
}
const goback = () => {
uni.navigateBack()
}
onMounted(async () => {
})
onUnmounted(() => {
// html5QrCode && html5QrCode.stop().catch(console.warn)
})
const menuArray = ref([])
2025-07-03 17:27:42 +08:00
const loadingData = () => {
2025-06-27 08:56:14 +08:00
uni.getStorage({
key: 'openid',
success: function(res) {
getMessageList(res.data).then(res => {
menuArray.value = res.result
2025-06-30 17:33:35 +08:00
menuArray.value.push({
status: `-1`
})
2025-06-27 08:56:14 +08:00
})
}
});
2025-07-03 17:27:42 +08:00
}
onLoad(() => {
loadingData()
2025-06-27 08:56:14 +08:00
})
</script>
<style lang="scss" scoped>
.login-container {
display: flex;
flex-direction: column;
2025-06-30 17:33:35 +08:00
min-height: calc(100vh + 90rpx);
2025-06-27 08:56:14 +08:00
width: 100%;
background-color: rgb(239, 241, 252);
position: relative;
2025-06-30 17:33:35 +08:00
// padding-top: 550rpx;
2025-06-27 08:56:14 +08:00
}
.index-up {
position: absolute;
2025-06-30 17:33:35 +08:00
top: 0rpx;
2025-06-27 08:56:14 +08:00
left: 0;
width: 100%;
.index-up-img {
width: 100%;
height: 20rpx;
}
}
.index-ball-father {
width: 100%;
display: flex;
justify-content: flex-end;
// margin-top: 35rpx;
position: fixed;
top: 120rpx;
left: 0;
z-index: 999;
margin-top: 120rpx;
.white-ball {
width: 60rpx;
height: 60rpx;
background-color: #fff;
border-radius: 50%;
margin-right: 20rpx;
2025-07-03 17:27:42 +08:00
// box-shadow: 2rpx 2rpx 4rpx rgba(0, 0, 0, 0.1);
2025-06-27 08:56:14 +08:00
display: flex;
justify-content: center;
align-items: center;
}
.super-white-ball {
width: 70rpx;
height: 60rpx;
background-color: #fff;
border-radius: 50%;
margin-right: 40rpx;
2025-07-03 17:27:42 +08:00
// box-shadow: 2rpx 2rpx 4rpx rgba(0, 0, 0, 0.1);
2025-06-27 08:56:14 +08:00
display: flex;
justify-content: center;
align-items: center;
}
.small-img {
width: 25rpx;
height: 25rpx;
}
}
.index-smallPhoto {
width: 100%;
display: flex;
justify-content: flex-end;
margin-top: 480rpx;
margin-bottom: 50rpx;
.photo-box {
margin-right: 40rpx;
height: 180rpx;
width: 250rpx;
// background-color: #fff;
z-index: 2;
position: relative;
.photo-box-img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
}
2025-06-30 17:33:35 +08:00
.white-content {
z-index: 1;
height: 650rpx;
width: 90%;
// margin-left: 2%;
background-color: #fff;
2025-07-03 17:27:42 +08:00
// box-shadow: 2rpx 2rpx 5rpx rgba(0, 0, 0, 0.1);
2025-06-30 17:33:35 +08:00
border-radius: 30rpx;
z-index: 2;
2025-06-27 08:56:14 +08:00
display: flex;
2025-06-30 17:33:35 +08:00
// justify-content: space-evenly;
align-items: center;
flex-direction: column;
position: relative;
2025-06-27 08:56:14 +08:00
2025-06-30 17:33:35 +08:00
.white-content-img {
position: absolute;
2025-07-03 17:27:42 +08:00
top: 110rpx;
2025-06-30 17:33:35 +08:00
left: 50%;
transform: translateX(-50%);
2025-07-03 17:27:42 +08:00
width: 200rpx;
height: 175rpx;
2025-06-30 17:33:35 +08:00
}
2025-06-27 08:56:14 +08:00
2025-06-30 17:33:35 +08:00
.white-content-secondimg {
position: absolute;
top: 20rpx;
left: 34%;
transform: translateX(-34%);
width: 610rpx;
height: 450rpx;
z-index: 1;
}
2025-06-27 08:56:14 +08:00
2025-06-30 17:33:35 +08:00
.white-font {
2025-07-03 17:27:42 +08:00
margin-top: 330rpx;
2025-06-30 17:33:35 +08:00
font-size: 30rpx;
// color: #222222;
}
2025-06-27 08:56:14 +08:00
2025-06-30 17:33:35 +08:00
.second-font {
margin-top: 10rpx;
font-size: 30rpx;
2025-07-03 17:27:42 +08:00
padding: 0 30rpx;
2025-06-30 17:33:35 +08:00
// color: #222222;
2025-06-27 08:56:14 +08:00
}
2025-06-30 17:33:35 +08:00
}
.white-content-father {
width: 100%;
display: flex;
justify-content: center;
margin-top: 30rpx;
z-index: 1;
position: relative;
2025-06-27 08:56:14 +08:00
}
.bottom-text {
font-size: 22rpx;
}
.white-content-father-time {
width: 100%;
display: flex;
justify-content: center;
2025-06-30 17:33:35 +08:00
margin-top: 600rpx;
2025-06-27 08:56:14 +08:00
.white-bgc {
width: 100%;
height: 100%;
background-color: #fff;
padding-left: 50rpx;
display: flex;
align-items: center;
// justify-content: center;
2025-07-03 17:27:42 +08:00
// box-shadow: 2rpx 2rpx 5rpx rgba(0, 0, 0, 0.1);
2025-06-27 08:56:14 +08:00
border: 2rpx solid #fff;
}
.white-content {
// margin-left: 30rpx;
height: 110rpx;
width: 92%;
overflow: hidden;
// background-repeat: no-repeat;
// background-position: center top;
/* 2. 水平方向拉满容器,垂直方向保持原始比例 */
background-size: 100% auto;
border-radius: 35rpx;
z-index: 2;
}
.white-shu {
height: 100%;
width: 2rpx;
background-color: #fff;
margin: 0 20rpx;
}
}
.bad-button {
width: 100%;
margin-top: 40rpx;
display: flex;
justify-content: flex-end;
.blue-button {
background: linear-gradient(to right, #00C9FF, #0076FF);
color: #fff;
font-size: 25rpx;
padding: 10rpx 20rpx;
border-radius: 35rpx;
margin-right: 40rpx;
}
}
.zhiling-box {
display: flex;
justify-content: space-around;
align-items: center;
width: 92%;
margin-left: 4%;
height: 110rpx;
background-color: #fff;
2025-07-03 17:27:42 +08:00
// box-shadow: 2rpx 2rpx 5rpx rgba(0, 0, 0, 0.1);
2025-06-27 08:56:14 +08:00
// margin-top: 20rpx;
border-radius: 35rpx;
2025-07-03 17:27:42 +08:00
font-size: 32rpx;
2025-06-27 08:56:14 +08:00
.zhiling-img {
width: 25rpx;
height: 25rpx;
}
}
.white-box-father {
display: flex;
width: 100%;
flex-wrap: wrap;
2025-07-03 17:27:42 +08:00
margin-left: 1%;
2025-06-27 08:56:14 +08:00
// margin-top: 10rpx;
.white-box {
margin-top: 35rpx;
width: 20%;
2025-07-03 17:27:42 +08:00
margin-left: 3%;
2025-06-27 08:56:14 +08:00
height: 220rpx;
background-color: #fff;
border-radius: 35rpx;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
2025-07-03 17:27:42 +08:00
// box-shadow: 2rpx 2rpx 5rpx rgba(0, 0, 0, 0.1);
2025-06-27 08:56:14 +08:00
.box-img {
width: 55rpx;
height: 55rpx;
margin-bottom: 25rpx;
}
.box-font {
2025-06-30 17:33:35 +08:00
font-size: 30rpx;
2025-06-27 08:56:14 +08:00
}
}
}
.result {
margin: 0 auto;
}
.jia-box {
position: absolute;
top: 0rpx;
left: 0;
display: flex;
height: 80rpx;
width: 100%;
justify-content: center;
}
.jia {
2025-07-01 17:29:13 +08:00
margin-top: -5rpx;
width: 25rpx;
height: 25rpx;
2025-06-27 08:56:14 +08:00
border-radius: 50%;
2025-06-30 17:33:35 +08:00
// background-color: rgb(1, 168, 255);
background-color: #fff;
// border: 1rpx black solid;
2025-06-27 08:56:14 +08:00
color: #fff;
display: flex;
justify-content: center;
align-items: center;
font-size: 30rpx;
.jia-img {
2025-07-01 17:29:13 +08:00
width: 18rpx;
height: 18rpx;
2025-06-27 08:56:14 +08:00
z-index: 2;
}
}
.gray-box {
border-radius: 20rpx;
2025-07-01 17:29:13 +08:00
height: 20rpx;
width: 35rpx;
2025-06-27 08:56:14 +08:00
margin-right: 15rpx;
2025-06-30 17:33:35 +08:00
background-color: #fff;
// border: 1rpx black solid;
2025-06-27 08:56:14 +08:00
}
.black-box {
border-radius: 20rpx;
2025-07-01 17:29:13 +08:00
height: 20rpx;
width: 35rpx;
2025-06-27 08:56:14 +08:00
margin-right: 15rpx;
2025-06-30 17:33:35 +08:00
background-color: black;
2025-06-27 08:56:14 +08:00
}
.button-blue {
position: absolute;
2025-07-03 17:27:42 +08:00
bottom: 45rpx;
2025-06-27 08:56:14 +08:00
width: 50%;
display: flex;
justify-content: center;
align-items: center;
height: 90rpx;
border-radius: 37rpx;
background: linear-gradient(to right, #00C9FF, #0076FF);
color: #fff;
font-size: 33rpx;
margin-top: 80rpx;
}
.button-blue-spec {
position: absolute;
bottom: 30rpx;
left: 8%;
width: 40%;
display: flex;
justify-content: center;
align-items: center;
height: 90rpx;
border-radius: 37rpx;
background: linear-gradient(to right, #00C9FF, #0076FF);
color: #fff;
font-size: 33rpx;
margin-top: 80rpx;
}
.button-white-spec {
position: absolute;
bottom: 30rpx;
right: 8%;
width: 40%;
display: flex;
justify-content: center;
align-items: center;
height: 90rpx;
border-radius: 37rpx;
background: linear-gradient(to bottom, #f3f3f5, #dee4e9);
border: 2rpx solid #b1c0ca;
// color: #fff;
font-size: 33rpx;
margin-top: 80rpx;
}
2025-07-03 17:27:42 +08:00
.chuo-img {
position: absolute;
top: 72rpx;
right: 235rpx;
width: 120rpx;
height: 110rpx;
z-index: 3;
}
.chuo-ball {
2025-06-30 17:33:35 +08:00
position: absolute;
2025-07-03 17:27:42 +08:00
top: 20rpx;
right: 60rpx;
width: 60rpx;
height: 60rpx;
2025-06-30 17:33:35 +08:00
z-index: 3;
2025-07-03 17:27:42 +08:00
background-color: rgb(242, 242, 242);
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
.ball-img {
width: 37rpx;
height: 37rpx;
}
2025-06-30 17:33:35 +08:00
}
2025-06-27 08:56:14 +08:00
</style>