2025-01-21 18:08:48 +08:00
|
|
|
|
<template>
|
|
|
|
|
|
<view class="fullHeight projectIndexPage" style="background-color: white">
|
2025-05-30 14:29:20 +08:00
|
|
|
|
<scroll-view class="scroll_view_main"
|
|
|
|
|
|
:class="accountType == 5 || accountType == 6 || accountType == 10 ? 'smallHeight' : ''" scroll-y>
|
2025-01-21 18:08:48 +08:00
|
|
|
|
<!-- <headers :showBack="accountType == 5 || accountType == 6 || accountType == 10 ? false : true"
|
|
|
|
|
|
:themeType="'white'">
|
|
|
|
|
|
<view class="headerName" @click="toDept">
|
|
|
|
|
|
{{ projectDetail.projectName }}
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</headers> -->
|
2025-04-11 14:24:29 +08:00
|
|
|
|
<view :style="{ height: ((mobileTopHeight * 1.5) + 239 ) * 2 + 'rpx' }" class="header_bg">
|
|
|
|
|
|
<view :style="{ height: mobileTopHeight + 'px' }" class="statusBar"></view>
|
2025-01-21 18:08:48 +08:00
|
|
|
|
<view class="login_logo">
|
|
|
|
|
|
<view class="logo_box">
|
2025-03-14 14:38:24 +08:00
|
|
|
|
<image v-if="userInfo.userId" src="@/static/bthgIcon/login_icon1.png" mode="" />
|
2025-01-21 18:08:48 +08:00
|
|
|
|
<text>神华包头煤制烯烃升级示范项目</text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<!-- <view>
|
|
|
|
|
|
智慧工地系统
|
|
|
|
|
|
</view> -->
|
|
|
|
|
|
<image src="@/static/bthgIcon/login_bg3.png" mode=""></image>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="userBox">
|
|
|
|
|
|
<!-- <image class="userImg" :src="url_config + 'image/' + userInfo.avatar" v-if="userInfo.avatar"></image>
|
|
|
|
|
|
<image class="userImg" src="@/static/userImg.png" v-else></image> -->
|
|
|
|
|
|
<view class="userBox_left">
|
|
|
|
|
|
<u-image class="userBox_left_image" :src="url_config + 'image/' + userInfo.avatar"
|
|
|
|
|
|
shape="circle" mode="scaleToFill">
|
|
|
|
|
|
<template v-slot:error>
|
2025-05-30 14:29:20 +08:00
|
|
|
|
<image class="image_error" src="@/static/userImg.png"></image>
|
2025-01-21 18:08:48 +08:00
|
|
|
|
</template>
|
2025-05-30 14:29:20 +08:00
|
|
|
|
|
2025-01-21 18:08:48 +08:00
|
|
|
|
</u-image>
|
|
|
|
|
|
<view v-if="userInfo.userId">
|
|
|
|
|
|
<text v-if="uid">{{userInfo.realName}}</text>
|
|
|
|
|
|
<text v-else>{{userInfo.account}}</text>
|
|
|
|
|
|
<text>
|
|
|
|
|
|
<!-- 欢迎来到智慧工地系统 -->
|
|
|
|
|
|
岗位(工种):{{userInfo.postWorkTypeName}}
|
|
|
|
|
|
</text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view v-else @click="goMoudleFn">
|
|
|
|
|
|
登录
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="userBox_right" v-if="userInfo.userId">
|
|
|
|
|
|
<image @click="onClickToSao" src="@/static/bthgIcon/project_icon9.png" mode=""></image>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="userBox_right" v-else>
|
|
|
|
|
|
<view>
|
|
|
|
|
|
{{ weatherInfo.temperature }}℃
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view>
|
|
|
|
|
|
{{getTimeWeek}}
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="moudleItem_all" v-if="!userInfo.userId">
|
|
|
|
|
|
<view class="all_title">
|
|
|
|
|
|
<view class="all_title_left">
|
|
|
|
|
|
<image src="@/static/bthgIcon/project_icon1.png" mode=""></image>
|
|
|
|
|
|
<view>
|
|
|
|
|
|
全部功能
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="moudleBox">
|
2025-05-30 14:29:20 +08:00
|
|
|
|
<view v-for="(item, index) in list" :key="index">
|
|
|
|
|
|
<view class="moudleItem" @click="goMoudleFn(item)"
|
|
|
|
|
|
v-if="item.operation && (item.moduleType == 2 ||item.moduleType == 10) && item.appShow == 1">
|
2025-01-21 18:08:48 +08:00
|
|
|
|
<view class="inner" v-if="COMPANY=='sanjiang'">
|
2025-05-30 14:29:20 +08:00
|
|
|
|
<!-- <view class="imgBox" v-if="iconType == 1">
|
2025-01-21 18:08:48 +08:00
|
|
|
|
<image class="img" :src="'/static/moudleImg/' + item.moduleIcon + '.png'"></image>
|
|
|
|
|
|
</view> -->
|
2025-05-30 14:29:20 +08:00
|
|
|
|
<view class="imgBox" v-if="item.bigModuleIcon">
|
|
|
|
|
|
<image class="img" :src="'/static/sjjtIcon/' + item.bigModuleIcon + '.png'"></image>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="desc">
|
|
|
|
|
|
{{ item.appName || item.moduleName }}
|
|
|
|
|
|
</view>
|
2025-01-21 18:08:48 +08:00
|
|
|
|
</view>
|
2025-05-30 14:29:20 +08:00
|
|
|
|
<view class="inner" v-else>
|
|
|
|
|
|
<!-- <view class="imgBox" v-if="iconType == 1">
|
2025-01-21 18:08:48 +08:00
|
|
|
|
<image class="img" :src="'/static/moudleImg/' + item.moduleIcon + '.png'"></image>
|
|
|
|
|
|
</view> -->
|
2025-05-30 14:29:20 +08:00
|
|
|
|
<!-- v-if="iconType == 2" -->
|
|
|
|
|
|
<view class="imgBox">
|
|
|
|
|
|
<image class="img" :src="'/static/bthgIcon/' + item.commonIcon + '.png'"></image>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="desc">
|
|
|
|
|
|
{{ item.appName || item.moduleName }}
|
|
|
|
|
|
</view>
|
2025-01-21 18:08:48 +08:00
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="login_main" v-else>
|
|
|
|
|
|
<view class="message_title" @click="toMessageCenter">
|
|
|
|
|
|
<image src="@/static/bthgIcon/project_icon2.png" mode=""></image>
|
|
|
|
|
|
<view class="message_text">
|
|
|
|
|
|
{{queryNoticeInfo.msg}}
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<uni-icons2 class="arrowright" type="arrowright"></uni-icons2>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="moudleItem_all">
|
|
|
|
|
|
<view class="all_title">
|
|
|
|
|
|
<view class="all_title_left">
|
|
|
|
|
|
<image src="@/static/bthgIcon/project_icon1.png" mode=""></image>
|
|
|
|
|
|
<view>
|
|
|
|
|
|
常用功能
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="all_title_right">
|
|
|
|
|
|
<view @click="toApplicationCenter">
|
|
|
|
|
|
全部应用
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view @click="toAppSettings">
|
|
|
|
|
|
<uni-icons2 class="tune" type="tune"></uni-icons2>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<swiper class="swiper" circular :indicator-dots="true" :interval="2000" :duration="500">
|
|
|
|
|
|
<swiper-item v-for="ele in listUp" :key="ele.id">
|
|
|
|
|
|
<view class="moudleBox">
|
|
|
|
|
|
<view class="moudleItem" @click="goMoudleFn(item)" v-for="(item, index) in ele"
|
|
|
|
|
|
:key="index">
|
|
|
|
|
|
<view class="inner" v-if="COMPANY=='sanjiang'">
|
|
|
|
|
|
<!-- <view class="imgBox" v-if="iconType == 1">
|
|
|
|
|
|
<image class="img" :src="'/static/moudleImg/' + item.moduleIcon + '.png'"></image>
|
|
|
|
|
|
</view> -->
|
|
|
|
|
|
<view class="imgBox" v-if="item.bigModuleIcon">
|
|
|
|
|
|
<image class="img" :src="'/static/sjjtIcon/' + item.bigModuleIcon + '.png'">
|
|
|
|
|
|
</image>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="desc">
|
|
|
|
|
|
{{ item.appName || item.moduleName }}
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="inner" v-else>
|
|
|
|
|
|
<!-- <view class="imgBox" v-if="iconType == 1">
|
|
|
|
|
|
<image class="img" :src="'/static/moudleImg/' + item.moduleIcon + '.png'"></image>
|
|
|
|
|
|
</view> -->
|
|
|
|
|
|
<!-- v-if="iconType == 2" -->
|
|
|
|
|
|
<view class="imgBox">
|
|
|
|
|
|
<image class="img" :src="'/static/bthgIcon/' + item.commonIcon + '.png'">
|
|
|
|
|
|
</image>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="desc">
|
|
|
|
|
|
{{ item.appName || item.moduleName }}
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</swiper-item>
|
|
|
|
|
|
</swiper>
|
|
|
|
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="module_workspace">
|
|
|
|
|
|
<view class="workspace_box_top">
|
|
|
|
|
|
<view class="workspace_box_top_left">
|
|
|
|
|
|
<view>
|
|
|
|
|
|
<image src="@/static/bthgIcon/project_icon3.png" mode=""></image>
|
|
|
|
|
|
<view>
|
|
|
|
|
|
我的待办
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view>
|
|
|
|
|
|
<view @click="toWorkspace(0)">
|
|
|
|
|
|
<view>
|
|
|
|
|
|
{{todoInfo.total}}
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view>
|
2025-02-24 17:13:51 +08:00
|
|
|
|
待办
|
2025-01-21 18:08:48 +08:00
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view @click="toWorkspace(1)">
|
|
|
|
|
|
<view>
|
|
|
|
|
|
{{todoInfo.needCall}}
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view>
|
|
|
|
|
|
待催办
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view @click="toWorkspace(2)">
|
|
|
|
|
|
<view>
|
|
|
|
|
|
{{todoInfo.done}}
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view>
|
|
|
|
|
|
已办结
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<!-- <view class="workspace_box_top_right">
|
|
|
|
|
|
<view @click="toSubmit">
|
|
|
|
|
|
<image src="@/static/bthgIcon/project_icon13.png" mode=""></image>
|
|
|
|
|
|
<view>创建审批</view>
|
|
|
|
|
|
<view></view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view @click="toWorkspace(2)">
|
|
|
|
|
|
<image src="@/static/bthgIcon/project_icon10.png" mode=""></image>
|
|
|
|
|
|
<view>已发起</view>
|
|
|
|
|
|
<view>{{todoInfo.userSubmitted}}</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view @click="toWorkspace(3)">
|
|
|
|
|
|
<image src="@/static/bthgIcon/project_icon11.png" mode=""></image>
|
|
|
|
|
|
<view>我的抄送</view>
|
|
|
|
|
|
<view>{{todoInfo.ccMe}}</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view> -->
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<!--<view class="workspace_box_bottom">
|
|
|
|
|
|
<view>
|
|
|
|
|
|
<view>
|
|
|
|
|
|
<image src="@/static/bthgIcon/project_icon4.png" mode=""></image>
|
|
|
|
|
|
<view>常用审批单</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view @click="toSubmit">
|
|
|
|
|
|
全部审批单
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view> -->
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="module_home">
|
|
|
|
|
|
<view class="all_title">
|
|
|
|
|
|
<view class="all_title_left">
|
|
|
|
|
|
<image src="@/static/bthgIcon/project_icon5.png" mode=""></image>
|
|
|
|
|
|
<view>
|
|
|
|
|
|
信息统计
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
2025-05-30 14:29:20 +08:00
|
|
|
|
<newhomePage v-if="projectDetail.projectSn && userInfo.accountType" :userInfo="userInfo">
|
|
|
|
|
|
</newhomePage>
|
2025-01-21 18:08:48 +08:00
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- <view class="moudleTitle">
|
|
|
|
|
|
未解锁模块
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="moudleBox moudleBox2">
|
|
|
|
|
|
<view class="moudleItem" v-for="(item,index) in list" :key="index" v-if="!item.operation&&item.moduleType==2&&item.appShow==1">
|
|
|
|
|
|
<view class="inner">
|
|
|
|
|
|
<view class="imgBox">
|
|
|
|
|
|
<image class="img" :src="'/static/moudleImg/'+item.moduleIcon+'.png'"></image>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="desc">
|
|
|
|
|
|
{{item.appName}}
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view> -->
|
|
|
|
|
|
</scroll-view>
|
|
|
|
|
|
<uni-popup ref="popupqrcode" type="center">
|
|
|
|
|
|
<view class="qrcodeItem">
|
|
|
|
|
|
<view class="title"> 打卡成功</view>
|
|
|
|
|
|
<view class="checkingPointName">
|
|
|
|
|
|
巡检点:{{ qrCode.checkingPointName }}
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="position"> 巡检点位置:{{ qrCode.position }}</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</uni-popup>
|
|
|
|
|
|
<!-- v-if="(accountType == 5 || accountType == 6 || accountType == 10) && projectDetail.projectSn" -->
|
|
|
|
|
|
<footers :activeTab="'projectEnd'"></footers>
|
2025-03-14 14:38:24 +08:00
|
|
|
|
<!-- <levitatedsphere v-if="projectDetail.projectSn" :x="100" :y="80"></levitatedsphere> -->
|
2025-01-21 18:08:48 +08:00
|
|
|
|
</view>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
import {
|
|
|
|
|
|
getUserTodoList,
|
|
|
|
|
|
getIdoList,
|
|
|
|
|
|
getUserSubmittedList,
|
|
|
|
|
|
getCcMeList,
|
|
|
|
|
|
getHomePageFlowCountApi
|
|
|
|
|
|
} from "@/api/model";
|
2025-03-14 14:38:24 +08:00
|
|
|
|
// import levitatedsphere from "@/components/levitatedsphere/levitatedsphere.vue"
|
2025-01-21 18:08:48 +08:00
|
|
|
|
import headers from '../../../components/headers/headers.vue'
|
|
|
|
|
|
import footers from '../../../components/footers/footers.vue'
|
|
|
|
|
|
import newhomePage from '@/pages/homePage/newhomePage.vue'
|
|
|
|
|
|
import checkVersion from '@/pages/lq-upgrade/checkVersion.js'
|
|
|
|
|
|
import {
|
|
|
|
|
|
closeBle
|
|
|
|
|
|
} from '@/static/js/BLEConn.js'
|
|
|
|
|
|
import {
|
2025-05-30 14:29:20 +08:00
|
|
|
|
getBottomLevelData,
|
|
|
|
|
|
decodeStr
|
2025-01-21 18:08:48 +08:00
|
|
|
|
} from "@/utils/tool.js"
|
|
|
|
|
|
import qrcodeMy from "@/utils/reqrcode.js"
|
|
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
|
components: {
|
|
|
|
|
|
headers,
|
|
|
|
|
|
footers,
|
|
|
|
|
|
newhomePage
|
|
|
|
|
|
},
|
|
|
|
|
|
data() {
|
|
|
|
|
|
return {
|
|
|
|
|
|
qrCode: {},
|
|
|
|
|
|
projectDetail: {
|
|
|
|
|
|
projectName: '',
|
|
|
|
|
|
contractPeriodEndTime: '',
|
|
|
|
|
|
contractPeriodStartTime: '', //-.-.-
|
|
|
|
|
|
contractPeriodType: 1, //1是正常 2是已延期
|
|
|
|
|
|
periodRatio: 0
|
|
|
|
|
|
},
|
|
|
|
|
|
userInfo: {},
|
|
|
|
|
|
searchsn: '',
|
|
|
|
|
|
accountType: 1,
|
|
|
|
|
|
list: [],
|
|
|
|
|
|
weatherInfo: {
|
|
|
|
|
|
city: '--',
|
|
|
|
|
|
weather: '-',
|
|
|
|
|
|
temperature: '--',
|
|
|
|
|
|
winddirection: '--',
|
|
|
|
|
|
windpower: '--',
|
|
|
|
|
|
humidity: '--'
|
|
|
|
|
|
},
|
|
|
|
|
|
iconType: '1',
|
|
|
|
|
|
systemInfo: {
|
|
|
|
|
|
statusBarHeight: 0
|
|
|
|
|
|
},
|
|
|
|
|
|
styType: '',
|
|
|
|
|
|
//天气
|
|
|
|
|
|
imgUrl: '',
|
|
|
|
|
|
date: '', //现在时间
|
|
|
|
|
|
// weatherInfo: '--',
|
|
|
|
|
|
adressDetail: '--',
|
|
|
|
|
|
city: '',
|
|
|
|
|
|
url: '',
|
|
|
|
|
|
versionData: '',
|
|
|
|
|
|
uid: "",
|
|
|
|
|
|
queryNoticeInfo: {},
|
|
|
|
|
|
todoInfo: {
|
|
|
|
|
|
userTodo: 0,
|
|
|
|
|
|
Ido: 0,
|
|
|
|
|
|
userSubmitted: 0,
|
|
|
|
|
|
ccMe: 0,
|
2025-05-30 14:29:20 +08:00
|
|
|
|
done: 0,
|
|
|
|
|
|
needCall: 0,
|
|
|
|
|
|
total: 0
|
2025-04-11 14:24:29 +08:00
|
|
|
|
},
|
|
|
|
|
|
mobileTopHeight: 0
|
2025-01-21 18:08:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
mounted() {
|
|
|
|
|
|
this.loadWeather();
|
|
|
|
|
|
console.log("最近使用", uni.getStorageSync("recentlyUsed"))
|
|
|
|
|
|
},
|
|
|
|
|
|
onShow() {
|
|
|
|
|
|
var userInfo = uni.getStorageSync('userInfo') ? JSON.parse(uni.getStorageSync('userInfo')) : null;
|
2025-04-11 14:24:29 +08:00
|
|
|
|
console.log("userInfo11111111", userInfo)
|
2025-01-21 18:08:48 +08:00
|
|
|
|
if (userInfo) {
|
|
|
|
|
|
this.uid = uni.getStorageSync('UID')
|
2025-04-11 14:24:29 +08:00
|
|
|
|
// localStorage.setItem('wflow-token', userInfo.token);
|
|
|
|
|
|
// localStorage.setItem('loginUser', JSON.stringify(userInfo));
|
|
|
|
|
|
// localStorage.setItem('projectSn', userInfo.sn);
|
2025-01-21 18:08:48 +08:00
|
|
|
|
this.getSystemLogoConfig()
|
|
|
|
|
|
if (this.accountType == 5 || this.accountType == 6) {
|
|
|
|
|
|
// this.searchsn = userInfo.sn
|
|
|
|
|
|
// let sn = uni.getStorageSync("dept");
|
|
|
|
|
|
// this.searchsn = getBottomLevelData([sn])[0].projectSn;
|
|
|
|
|
|
this.getProjectSn(() => {
|
|
|
|
|
|
this.getProjectDetail()
|
|
|
|
|
|
let arr = userInfo.menuAuthority.moduleList;
|
|
|
|
|
|
this.getAllModule(arr)
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
} else if (this.accountType == 10) {
|
|
|
|
|
|
// let sn = uni.getStorageSync("dept");
|
|
|
|
|
|
// this.searchsn = getBottomLevelData([sn])[0].projectSn;
|
|
|
|
|
|
this.getProjectSn(() => {
|
|
|
|
|
|
// console.log(sn, 888999)
|
|
|
|
|
|
this.getProjectDetail()
|
|
|
|
|
|
this.getAllModule([])
|
|
|
|
|
|
uni.setStorageSync('userInfo', JSON.stringify({
|
|
|
|
|
|
...this.userInfo,
|
|
|
|
|
|
sn: this.searchsn
|
|
|
|
|
|
}))
|
|
|
|
|
|
uni.setStorageSync('userInfoObj', {
|
|
|
|
|
|
...this.userInfo,
|
|
|
|
|
|
sn: this.searchsn
|
|
|
|
|
|
})
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
// this.sendRequest({
|
|
|
|
|
|
// url: 'xmgl/company/getTenantOrgTreeList',
|
|
|
|
|
|
// data: {
|
|
|
|
|
|
// userId: userInfo.userId,
|
|
|
|
|
|
// },
|
|
|
|
|
|
// method: 'POST',
|
|
|
|
|
|
// success(res) {
|
|
|
|
|
|
// console.log(res, '777888')
|
|
|
|
|
|
// if (res && res.result && res.result.length > 0) {
|
|
|
|
|
|
// let responseData = res.result;
|
|
|
|
|
|
// that.selectedDefaultProject(responseData[0])
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
// })
|
|
|
|
|
|
} else {
|
|
|
|
|
|
this.projectDetail = JSON.parse(uni.getStorageSync('projectDetail'))
|
|
|
|
|
|
this.loadWeather()
|
|
|
|
|
|
this.getAllModule()
|
|
|
|
|
|
}
|
|
|
|
|
|
closeBle()
|
|
|
|
|
|
.then((res) => {
|
|
|
|
|
|
// this.closeDiv = false
|
|
|
|
|
|
// this.clear()
|
|
|
|
|
|
// uni.hideLoading()
|
|
|
|
|
|
console.log('断开蓝牙成功')
|
|
|
|
|
|
})
|
|
|
|
|
|
.catch((err) => {
|
|
|
|
|
|
// uni.hideLoading()
|
|
|
|
|
|
console.log('断开蓝牙失败')
|
|
|
|
|
|
})
|
|
|
|
|
|
if (uni.getStorageSync('oldObj')) {
|
|
|
|
|
|
uni.removeStorageSync('oldObj')
|
|
|
|
|
|
}
|
|
|
|
|
|
if (uni.getStorageSync('buildObj')) {
|
|
|
|
|
|
uni.removeStorageSync('buildObj')
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
this.getProjectAll();
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
onLoad(options) {
|
|
|
|
|
|
var userInfo = uni.getStorageSync('userInfo') ? JSON.parse(uni.getStorageSync('userInfo')) : null;
|
|
|
|
|
|
console.log('userInfo===========', userInfo)
|
|
|
|
|
|
if (userInfo) {
|
|
|
|
|
|
this.userInfo = userInfo
|
|
|
|
|
|
this.accountType = userInfo.accountType
|
|
|
|
|
|
this.styType = userInfo.styleType
|
|
|
|
|
|
this.systemInfo = uni.getStorageSync('systemInfo')
|
|
|
|
|
|
this.getSystemLogoConfig()
|
|
|
|
|
|
if (!this.userInfo.personMail && options.fromPage && options.fromPage == 'loginPage') {
|
|
|
|
|
|
// this.checkInfoComplete()
|
|
|
|
|
|
}
|
|
|
|
|
|
// #ifdef APP-PLUS
|
|
|
|
|
|
this.viewVersionInfo()
|
|
|
|
|
|
// #endif
|
|
|
|
|
|
|
|
|
|
|
|
this.getqueryNoticePage();
|
2025-05-30 14:29:20 +08:00
|
|
|
|
|
2025-04-11 14:24:29 +08:00
|
|
|
|
// #ifdef H5
|
2025-01-21 18:08:48 +08:00
|
|
|
|
sessionStorage.setItem('wflow-token', userInfo.token);
|
|
|
|
|
|
sessionStorage.setItem('loginUser', JSON.stringify(userInfo));
|
|
|
|
|
|
sessionStorage.setItem('projectSn', userInfo.sn);
|
2025-04-11 14:24:29 +08:00
|
|
|
|
// #endif
|
|
|
|
|
|
uni.setStorageSync("wflow-token", userInfo.token);
|
|
|
|
|
|
uni.setStorageSync("loginUser", JSON.stringify(userInfo));
|
|
|
|
|
|
uni.setStorageSync('projectSn', userInfo.sn);
|
2025-01-21 18:08:48 +08:00
|
|
|
|
}
|
2025-04-11 14:24:29 +08:00
|
|
|
|
var that = this
|
|
|
|
|
|
uni.getSystemInfo({
|
|
|
|
|
|
success(res) {
|
|
|
|
|
|
that.mobileTopHeight = res.statusBarHeight ? res.statusBarHeight : 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
2025-01-21 18:08:48 +08:00
|
|
|
|
},
|
|
|
|
|
|
watch: {
|
|
|
|
|
|
projectDetail: {
|
2025-05-30 14:29:20 +08:00
|
|
|
|
handler(val) {
|
2025-01-21 18:08:48 +08:00
|
|
|
|
this.todoList();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
todoList() {
|
|
|
|
|
|
// const pramas = {
|
|
|
|
|
|
// pageSize: 10,
|
|
|
|
|
|
// pageNo: 1,
|
|
|
|
|
|
// code: "",
|
|
|
|
|
|
// }
|
|
|
|
|
|
// getUserTodoList(pramas).then(result => {
|
|
|
|
|
|
// console.log(7577, result)
|
|
|
|
|
|
// if (result.statusCode == 200) {
|
|
|
|
|
|
// this.todoInfo.userTodo = result.data.total;
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
// getIdoList(pramas).then(result => {
|
|
|
|
|
|
// console.log(7577, result)
|
|
|
|
|
|
// if (result.statusCode == 200) {
|
|
|
|
|
|
// this.todoInfo.Ido = result.data.total;
|
|
|
|
|
|
// }
|
|
|
|
|
|
// })
|
|
|
|
|
|
// getUserSubmittedList(pramas).then(result => {
|
|
|
|
|
|
// console.log(7577, result)
|
|
|
|
|
|
// if (result.statusCode == 200) {
|
|
|
|
|
|
// this.todoInfo.userSubmitted = result.data.total;
|
|
|
|
|
|
// }
|
|
|
|
|
|
// })
|
|
|
|
|
|
// getCcMeList(pramas).then(result => {
|
|
|
|
|
|
// console.log(7577, result)
|
|
|
|
|
|
// if (result.statusCode == 200) {
|
|
|
|
|
|
// this.todoInfo.ccMe = result.data.total;
|
|
|
|
|
|
// }
|
|
|
|
|
|
// })
|
2025-05-30 14:29:20 +08:00
|
|
|
|
|
|
|
|
|
|
|
2025-01-21 18:08:48 +08:00
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
|
getHomePageFlowCountApi({
|
2025-05-30 14:29:20 +08:00
|
|
|
|
projectSn: this.projectDetail.projectSn ? this.projectDetail.projectSn : this
|
|
|
|
|
|
.searchsn,
|
2025-01-21 18:08:48 +08:00
|
|
|
|
}).then(res => {
|
|
|
|
|
|
console.log(7577, res)
|
|
|
|
|
|
if (res.statusCode == 200) {
|
|
|
|
|
|
this.todoInfo = res.data.result;
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
// const that = this;
|
|
|
|
|
|
// this.sendRequest({
|
|
|
|
|
|
// url: 'xmgl/homePage/flow/count',
|
|
|
|
|
|
// data: {
|
|
|
|
|
|
// projectSn: this.projectDetail.projectSn,
|
|
|
|
|
|
// },
|
|
|
|
|
|
// method: 'GET',
|
|
|
|
|
|
// success(res) {
|
|
|
|
|
|
// if (res.success) {
|
|
|
|
|
|
// this.todoInfo = res.result;
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
// })
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
toSubmit() {
|
|
|
|
|
|
uni.redirectTo({
|
|
|
|
|
|
url: '/pages/submit/submit',
|
|
|
|
|
|
})
|
|
|
|
|
|
// /pages/workspace/workspace
|
|
|
|
|
|
},
|
|
|
|
|
|
toWorkspace(current) {
|
|
|
|
|
|
uni.redirectTo({
|
|
|
|
|
|
url: '/pages/workspace/workspace?current=' + current,
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
getProjectAll() {
|
|
|
|
|
|
const that = this;
|
|
|
|
|
|
this.sendRequest({
|
|
|
|
|
|
url: 'xmgl/baseModule/getProjectModuleAndMenuList',
|
|
|
|
|
|
data: {
|
|
|
|
|
|
projectSn: this.searchsn,
|
|
|
|
|
|
// userId: this.userInfo.userId,
|
|
|
|
|
|
moduleType: 2,
|
|
|
|
|
|
isApp: 1
|
|
|
|
|
|
},
|
|
|
|
|
|
method: 'POST',
|
|
|
|
|
|
success(res) {
|
|
|
|
|
|
if (res.success) {
|
|
|
|
|
|
var all = res.result.moduleList;
|
|
|
|
|
|
console.log("all", all);
|
|
|
|
|
|
all.forEach((element, index) => {
|
|
|
|
|
|
all[index].operation = true;
|
|
|
|
|
|
// res.result.menuList.forEach((element2) => {
|
|
|
|
|
|
// if (element2.moduleId == element.moduleId) {
|
|
|
|
|
|
// all[index].operation = true;
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
});
|
|
|
|
|
|
console.log("all111", all);
|
|
|
|
|
|
that.list = all;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
getqueryNoticePage() {
|
|
|
|
|
|
const that = this;
|
|
|
|
|
|
this.sendRequest({
|
|
|
|
|
|
url: 'xmgl/homePage/queryNoticePage',
|
|
|
|
|
|
data: {
|
|
|
|
|
|
projectSn: this.searchsn,
|
|
|
|
|
|
pageNo: 1,
|
|
|
|
|
|
pageSize: 1
|
|
|
|
|
|
},
|
|
|
|
|
|
method: 'POST',
|
|
|
|
|
|
success(res) {
|
|
|
|
|
|
if (res.success) {
|
|
|
|
|
|
if (Array.isArray(res.result.records) && res.result.records.length > 0) {
|
|
|
|
|
|
that.queryNoticeInfo = res.result.records[0];
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
checkInfoComplete() {
|
|
|
|
|
|
uni.showModal({
|
|
|
|
|
|
title: '温馨提示',
|
|
|
|
|
|
content: '系统检测到您未完善邮箱,请去后台中心完善,以免忘记密码时无法通过邮箱验证,导致重置密码失败!',
|
|
|
|
|
|
confirmText: "个人中心",
|
|
|
|
|
|
success: function(res) {
|
|
|
|
|
|
if (res.confirm) {
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '/pages/my/userInfo/userInfo'
|
|
|
|
|
|
})
|
|
|
|
|
|
} else if (res.cancel) {
|
|
|
|
|
|
console.log('用户点击取消');
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
getProjectSn(next) {
|
|
|
|
|
|
var userInfo = JSON.parse(uni.getStorageSync('userInfo'))
|
|
|
|
|
|
this.sendRequest({
|
|
|
|
|
|
url: "xmgl/company/getTenantOrgTreeList",
|
|
|
|
|
|
data: {
|
|
|
|
|
|
userId: userInfo.userId,
|
|
|
|
|
|
headquartersSn: uni.getStorageSync("company").headquartersSn
|
|
|
|
|
|
},
|
|
|
|
|
|
method: "POST",
|
|
|
|
|
|
success: (res) => {
|
|
|
|
|
|
console.log(res, "getTenantOrgTreeList");
|
|
|
|
|
|
let three = getBottomLevelData(res.result)[0];
|
|
|
|
|
|
console.log(three, "threeeeeee");
|
|
|
|
|
|
let dept = uni.getStorageSync("dept");
|
|
|
|
|
|
if (!dept) {
|
|
|
|
|
|
dept = three.projectSn;
|
|
|
|
|
|
uni.setStorageSync("dept", dept)
|
|
|
|
|
|
}
|
|
|
|
|
|
this.searchsn = dept;
|
|
|
|
|
|
next()
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
toDept() {
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: "/pages/deptList/deptList"
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
// 默认选中第一个组织的第一个项目
|
|
|
|
|
|
selectedDefaultProject(obj) {
|
|
|
|
|
|
console.log(obj.list, 888999)
|
|
|
|
|
|
// if (obj.list && obj.list.length > 0) {
|
|
|
|
|
|
// obj.list.map((item) => {
|
|
|
|
|
|
// this.selectedDefaultProject(item);
|
|
|
|
|
|
// });
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
// // this.searchsn = obj.sn
|
|
|
|
|
|
// let sn = uni.getStorageSync("dept");
|
|
|
|
|
|
// this.searchsn = getBottomLevelData([sn])[0].projectSn;
|
|
|
|
|
|
// console.log(obj.sn, 888999)
|
|
|
|
|
|
// this.getProjectDetail()
|
|
|
|
|
|
// this.getAllModule([])
|
|
|
|
|
|
// uni.setStorageSync('userInfo', JSON.stringify({
|
|
|
|
|
|
// ...this.userInfo,
|
|
|
|
|
|
// sn: this.searchsn
|
|
|
|
|
|
// }))
|
|
|
|
|
|
// }
|
|
|
|
|
|
},
|
|
|
|
|
|
viewVersionInfo() {
|
|
|
|
|
|
console.log('进入页面调用');
|
|
|
|
|
|
//fix 避开检查更新 罗劲章
|
|
|
|
|
|
// return false
|
|
|
|
|
|
var that = this
|
|
|
|
|
|
//获取当前应用版本
|
|
|
|
|
|
plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
|
|
|
|
|
|
// console.log('版本号的数据信息', widgetInfo.version);//其实是应用版本名称
|
|
|
|
|
|
console.log('应用版本名称', widgetInfo.version);
|
|
|
|
|
|
that.versionName = widgetInfo.version
|
|
|
|
|
|
console.log('应用版本号', widgetInfo.versionCode);
|
|
|
|
|
|
that.versionNo = widgetInfo.versionCode
|
|
|
|
|
|
})
|
|
|
|
|
|
console.log('viewVersionInfo', that.url_config)
|
|
|
|
|
|
// uni.navigateTo({
|
|
|
|
|
|
// url:'versionInfo'
|
|
|
|
|
|
// })
|
|
|
|
|
|
if (
|
|
|
|
|
|
this.systemInfo.platform.indexOf('android') != -1 &&
|
|
|
|
|
|
typeof plus !== 'undefined'
|
|
|
|
|
|
) {
|
|
|
|
|
|
//获取最新版本
|
|
|
|
|
|
that.sendRequest({
|
|
|
|
|
|
url: 'xmgl/appVersion/getAppVersion',
|
|
|
|
|
|
data: {},
|
|
|
|
|
|
method: 'POST',
|
|
|
|
|
|
success(res2) {
|
|
|
|
|
|
console.log('获取当前app应用版本名称', that.versionName);
|
|
|
|
|
|
console.log('获取平台版本名称', res2.result.versionName);
|
|
|
|
|
|
let jxjAppVersionName = res2.result.versionName
|
|
|
|
|
|
console.log('获取当前app应用版本号', that.versionNo);
|
|
|
|
|
|
console.log('获取平台版本号', res2.result.versionNo);
|
|
|
|
|
|
let jxjAppVersionNo = res2.result.versionNo
|
|
|
|
|
|
|
|
|
|
|
|
if (res2.result && jxjAppVersionNo !== that.versionNo) {
|
2025-03-14 14:38:24 +08:00
|
|
|
|
console.log("我进来了", res2.result)
|
2025-01-21 18:08:48 +08:00
|
|
|
|
let name = res2.result.versionName; //新版本名称
|
|
|
|
|
|
let code = res2.result.versionNo; //新版本号(数字)
|
|
|
|
|
|
let content = res2.result.versionDescribe; //更新内容
|
|
|
|
|
|
let url = JSON.parse(res2.result.downloadUrl)[0].url; //app下载链接,(演示请换成真正在下载链接)
|
|
|
|
|
|
let forceUpdate = false; //是否强制更新
|
|
|
|
|
|
checkVersion({
|
|
|
|
|
|
name, //最新版本名称
|
|
|
|
|
|
code, //最新版本号
|
|
|
|
|
|
content, //更新内容
|
|
|
|
|
|
url, //下载链接
|
|
|
|
|
|
forceUpdate //是否强制升级
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
// uni.showModal({
|
|
|
|
|
|
// title: '版本更新',
|
|
|
|
|
|
// content: '更新内容:' + res2.result.versionDescribe,
|
|
|
|
|
|
// // confirmText: '更新',
|
|
|
|
|
|
// showCancel: false,
|
|
|
|
|
|
// success(res) {
|
|
|
|
|
|
// if (res.confirm) {
|
|
|
|
|
|
// console.log('用户点击确定')
|
|
|
|
|
|
// // var url = that.url_config + 'image/' + JSON.parse(res2.result.downloadUrl)[0].url//地址拼错啦,直接返回的就是下载地址
|
|
|
|
|
|
// var url = JSON.parse(res2.result.downloadUrl)[0].url
|
|
|
|
|
|
// console.log('apk地址', url)
|
|
|
|
|
|
// uni.showModal({
|
|
|
|
|
|
// title: '提示',
|
|
|
|
|
|
// content: '正在后台下载更新资源,请耐心等待......',
|
|
|
|
|
|
// showCancel: false
|
|
|
|
|
|
// })
|
|
|
|
|
|
// uni.downloadFile({
|
|
|
|
|
|
// url: url,
|
|
|
|
|
|
// success: (res) => {
|
|
|
|
|
|
// // uni.hideLoading()
|
|
|
|
|
|
// console.log('res', res)
|
|
|
|
|
|
// if (res.statusCode === 200) {
|
|
|
|
|
|
// console.log('下载成功')
|
|
|
|
|
|
// var fileSaveUrl = plus.io
|
|
|
|
|
|
// .convertLocalFileSystemURL(
|
|
|
|
|
|
// res.tempFilePath
|
|
|
|
|
|
// )
|
|
|
|
|
|
// plus.runtime.openFile(res
|
|
|
|
|
|
// .tempFilePath) //选择软件打开文件
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
// })
|
|
|
|
|
|
// } else if (res.cancel) {
|
|
|
|
|
|
// console.log('用户点击取消')
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
// })
|
|
|
|
|
|
} else {
|
|
|
|
|
|
// uni.showToast({
|
|
|
|
|
|
// title: '您已经是最新版本啦!',
|
|
|
|
|
|
// icon: 'none'
|
|
|
|
|
|
// })
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
weatherIcon(index) {
|
|
|
|
|
|
if (index == "晴") {
|
|
|
|
|
|
return "w_sun";
|
|
|
|
|
|
} else if (index == "多云") {
|
|
|
|
|
|
return "w_overcast";
|
|
|
|
|
|
} else if (index == "阴") {
|
|
|
|
|
|
return "w_cloud";
|
|
|
|
|
|
} else if (index.indexOf("雨")) {
|
|
|
|
|
|
return "w_rain";
|
|
|
|
|
|
} else if (index.indexOf("雷")) {
|
|
|
|
|
|
return "w_thunder";
|
|
|
|
|
|
} else if (index.indexOf("雪")) {
|
|
|
|
|
|
return "w_snow";
|
|
|
|
|
|
} else if (index.indexOf("雾")) {
|
|
|
|
|
|
return "w_fog";
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return "w_cloud";
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
getSystemLogoConfig() {
|
|
|
|
|
|
var that = this
|
|
|
|
|
|
this.sendRequest({
|
|
|
|
|
|
url: 'xmgl/systemLogoConfig/selectSystemLogoConfig',
|
|
|
|
|
|
data: {},
|
|
|
|
|
|
method: 'GET',
|
|
|
|
|
|
success(res) {
|
|
|
|
|
|
console.log(res.result.iconType)
|
|
|
|
|
|
that.iconType = res.result.iconType ? res.result.iconType : '1'
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
loadWeather() {
|
|
|
|
|
|
console.log('进来了吗:==========');
|
|
|
|
|
|
//获取天气温度等信息
|
|
|
|
|
|
let that = this
|
|
|
|
|
|
uni.getLocation({
|
|
|
|
|
|
type: 'gcj02',
|
|
|
|
|
|
geocode: true,
|
|
|
|
|
|
isHighAccuracy: "true",
|
|
|
|
|
|
accuracy: "best", // 精度值为20m
|
|
|
|
|
|
success: function(res) {
|
|
|
|
|
|
console.log('当前位置的经度:' + res.longitude);
|
|
|
|
|
|
console.log('当前位置的纬度:' + res.latitude);
|
|
|
|
|
|
var location = res.longitude + ',' + res.latitude
|
|
|
|
|
|
//通过当前经纬度获取当前地址
|
|
|
|
|
|
uni.request({
|
|
|
|
|
|
url: "https://restapi.amap.com/v3/geocode/regeo",
|
|
|
|
|
|
data: {
|
|
|
|
|
|
key: "56c91fb2683e5bf0f46014ac200d4c1b", //高德地图key
|
|
|
|
|
|
location: location
|
|
|
|
|
|
},
|
|
|
|
|
|
method: "GET",
|
|
|
|
|
|
success(res) {
|
|
|
|
|
|
|
|
|
|
|
|
console.log("地址", res)
|
|
|
|
|
|
if (res.data.status == "1") {
|
|
|
|
|
|
var one = res.data.regeocode.formatted_address
|
|
|
|
|
|
if (one) {
|
|
|
|
|
|
that.adressDetail = one.substr(3, 3) + one.substr(9,
|
|
|
|
|
|
4) + one.substr(20, 7)
|
|
|
|
|
|
}
|
|
|
|
|
|
var city = res.data.regeocode.addressComponent.city
|
|
|
|
|
|
console.log("地址", that.adressDetail)
|
|
|
|
|
|
//通过当前城市,获取当前天气
|
|
|
|
|
|
uni.request({
|
|
|
|
|
|
url: "http://restapi.amap.com/v3/weather/weatherInfo",
|
|
|
|
|
|
data: {
|
|
|
|
|
|
key: "56c91fb2683e5bf0f46014ac200d4c1b",
|
|
|
|
|
|
city: city,
|
|
|
|
|
|
extensions: "base",
|
|
|
|
|
|
output: "JSON",
|
|
|
|
|
|
},
|
|
|
|
|
|
method: "GET",
|
|
|
|
|
|
success(res) {
|
|
|
|
|
|
if (res.data.status == "1") {
|
|
|
|
|
|
that.weatherInfo = res.data.lives[0]
|
|
|
|
|
|
console.log("成功获取天气", res)
|
|
|
|
|
|
//获取完地址天气等信息后,开始画水印
|
|
|
|
|
|
// that.canversImg();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
fail: function(msg) {
|
|
|
|
|
|
console.log("获取位置失败", msg)
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
// let city=this.projectDetail.cityCode
|
|
|
|
|
|
// uni.request({
|
|
|
|
|
|
// url: 'https://v0.yiketianqi.com/api', //仅为示例,并非真实接口地址。
|
|
|
|
|
|
// data: {
|
|
|
|
|
|
// key: '3b060f3a0ce4bafebeba1621dcd99c31',
|
|
|
|
|
|
// city:city ,
|
|
|
|
|
|
// extensions: 'base',
|
|
|
|
|
|
// output: 'JSON'
|
|
|
|
|
|
// }
|
|
|
|
|
|
// })
|
|
|
|
|
|
// .then((res) => {
|
|
|
|
|
|
// console.log('天气的数据', res)
|
|
|
|
|
|
// this.weatherInfo = res.data.lives[0]
|
|
|
|
|
|
// localStorage.setItem('weatherInfo', JSON.stringify(this.weatherInfo))
|
|
|
|
|
|
// })
|
|
|
|
|
|
},
|
|
|
|
|
|
goMoudleFnTest() {
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '/pages/projectEnd/trainPlan/list'
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
goMoudleFn(item) {
|
|
|
|
|
|
if (!this.userInfo.userId) {
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '/pages/login/login'
|
|
|
|
|
|
})
|
|
|
|
|
|
return
|
|
|
|
|
|
}
|
|
|
|
|
|
//添加虚拟模块 报警提示
|
|
|
|
|
|
// if(item.moduleName=="预警播报"){
|
|
|
|
|
|
// uni.navigateTo({
|
|
|
|
|
|
// url: '/pages/alarmPage/index'
|
|
|
|
|
|
// })
|
|
|
|
|
|
// return false;
|
|
|
|
|
|
// }
|
|
|
|
|
|
console.log('item=======item.plugin', item, item.plugin)
|
|
|
|
|
|
switch (item.plugin) {
|
|
|
|
|
|
// case 'markRoom':
|
|
|
|
|
|
// uni.navigateTo({
|
|
|
|
|
|
// url: '../markRoom/markRoom'
|
|
|
|
|
|
// })
|
|
|
|
|
|
// break
|
|
|
|
|
|
case "standardScheduleAg":
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '/pages/standardScheduleNews/home'
|
|
|
|
|
|
})
|
|
|
|
|
|
break;
|
|
|
|
|
|
case "inspectRoute":
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/InspectionRoute/inspection'
|
|
|
|
|
|
})
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'educationExam':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../trainPlan/list'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'markRoom':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../markRoom/markRoom'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'videoMonitor':
|
|
|
|
|
|
// uni.navigateTo({
|
|
|
|
|
|
// url: '../../videoManage/videoList?sn=' +
|
|
|
|
|
|
// this.projectDetail.projectSn +
|
|
|
|
|
|
// '&pageType=backEnd'
|
|
|
|
|
|
// })
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../videoManage/videoGroup'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'projectInfo':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../project/projectInfo'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'environmentMonitor':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../environment/menu'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'laborManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../laborManage/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'constructionLog':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../constructionLog/list'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'electricBoxMange':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../electricBox/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'lifterManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../lifterMonitoring/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'carManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../carManage/indexPage'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'towerManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../towerManage/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'dailyInspection':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../dailyCheck/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'qualitySpringback':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../qualitySpringback/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'unloadManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../unload/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'concreteMonitoring':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../concreteMonitoring/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'safeManage':
|
|
|
|
|
|
// uni.navigateTo({
|
|
|
|
|
|
// url: '../safeManage/index'
|
|
|
|
|
|
// })
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../safeManage/safeIndex'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
// uni.navigateTo({
|
|
|
|
|
|
// url: '../safeManage/addExamine'
|
|
|
|
|
|
// })
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'qualityManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../qualityManage/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'carWashManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../carWashManage/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'dangerBigProject':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../dangerBigProject/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'safeManageAG':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../safeSame/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'fileManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../fileManage/fileManage'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'materialsManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/materialsManage/materialsManage'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'ukashManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/ukashManage/ukashManage'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'ekashManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/ekashManage/ekashManage'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'visitorsManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/visitorsManage/visitorsManage'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'betonManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../betonManage/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'progressManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../progressManagement/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
// case 'dangerBroadcast':
|
|
|
|
|
|
// uni.navigateTo({
|
|
|
|
|
|
// url: '../../alarmPage/index'
|
|
|
|
|
|
// })
|
|
|
|
|
|
// break
|
|
|
|
|
|
case 'dangerBroadcast':
|
|
|
|
|
|
// uni.navigateTo({
|
|
|
|
|
|
// url: '../../alarmPage/indexTwo'
|
|
|
|
|
|
// })
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../alarmPage/pageIndex'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'carViolation':
|
|
|
|
|
|
// uni.navigateTo({
|
|
|
|
|
|
// url: '../../alarmPage/indexTwo'
|
|
|
|
|
|
// })
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../carViolation/pageIndex'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
|
|
|
|
|
|
case 'standardSchedule':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../standardSchedule/index',
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'smartBeamField':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../smartBeamField/beamMenu',
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'specialOperations':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/specialOperations/specialOperations'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'operationManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/operationManage/operationManage'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'emergencyDisposal':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/emergencyDisposal/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'pouringOrderLedger':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
// url: '../qualityManage/pouringOrderLedger/work'
|
|
|
|
|
|
url: '../../projectEnd/workflowTable/pouringOrderApplyfor/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'testingManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/testingManage/operationManage'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'startReportApproveManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/startReportApproveManage/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'controlPointGrading':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/controlPointGrading/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'buildUnqualifiedReport':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/workflowTable/buildUnqualifiedReport/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'welderAssessmentRequest':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/workflowTable/welderAssessmentRequest/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'unitProjectDivideReport':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/workflowTable/unitProjectDivideReport/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'engineeringSurveyRetest':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/workflowTable/engineeringSurveyRetest/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'waterElectricityRecordSettlement':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/workflowTable/waterElectricityRecordSettlement/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'roadUseApproval':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/workflowTable/roadUseApproval/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'centralizeAntisepticEntrust':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/centralizeAntisepticEntrust/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'pipelineWelding':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/pipelineWelding/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
|
|
|
|
|
|
case 'guidancePartyBuilding':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/guidancePartyBuilding/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
2025-05-30 14:29:20 +08:00
|
|
|
|
case 'purchasingManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/purchasingManage/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
2025-03-14 14:38:24 +08:00
|
|
|
|
case 'sunshineProject':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/sunshineProject/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
2025-01-21 18:08:48 +08:00
|
|
|
|
case 'videoLedger':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/videoLedger/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'buildEquipToolManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/buildEquipToolManage/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'schemeLedger':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/schemeLedger/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'winterConstructionManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/winterConstructionManage/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'firstModelManage':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/firstModelManage/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'civilConstruction':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/civilConstruction/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'qualitySurveillance':
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '../../projectEnd/qualitySurveillance/index'
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
case 'saosao':
|
|
|
|
|
|
console.log('打开saosao')
|
|
|
|
|
|
// let that = this;
|
|
|
|
|
|
uni.scanCode({
|
|
|
|
|
|
scanType: ['qrCode'],
|
|
|
|
|
|
success: function(res) {
|
|
|
|
|
|
console.log('扫一扫得到的数据:' + res.result)
|
|
|
|
|
|
// uni.navigateTo({
|
|
|
|
|
|
// url: '../scan/saoSao?data=' + res.result
|
|
|
|
|
|
// })
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: `${res.result}`
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
// let qrcodeVal=JSON.parse(res.result)
|
|
|
|
|
|
// let param={
|
|
|
|
|
|
// checkingPointId:qrcodeVal.checkingPointId,
|
|
|
|
|
|
// checkingPointName:qrcodeVal.checkingPointName,
|
|
|
|
|
|
// checkingPointUserId:that.userInfo.userId,
|
|
|
|
|
|
// checkingPointUserName:that.userInfo.realName||that.userInfo.account,
|
|
|
|
|
|
// position:qrcodeVal.position
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
// that.sendRequest({
|
|
|
|
|
|
// url: "xmgl/checkingPointInfo/add",
|
|
|
|
|
|
// data:param,
|
|
|
|
|
|
// method: "POST",
|
|
|
|
|
|
// success(res) {
|
|
|
|
|
|
// console.log(res,'res');
|
|
|
|
|
|
// console.log(param,'===')
|
|
|
|
|
|
// that.qrCode=param;
|
|
|
|
|
|
// that.$refs.popupqrcode.open();
|
|
|
|
|
|
// setTimeout(item=>{
|
|
|
|
|
|
// that.$refs.popupqrcode.close();
|
|
|
|
|
|
// },5000)
|
|
|
|
|
|
// }
|
|
|
|
|
|
// })
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
break
|
|
|
|
|
|
default:
|
|
|
|
|
|
uni.showToast({
|
|
|
|
|
|
icon: 'none',
|
|
|
|
|
|
title: '该产品暂未开放,敬请期待!'
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
toMessageCenter() {
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '/pages/messageCenter/messageCenter'
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
toApplicationCenter() {
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '/pages/projectEnd/projectIndex/applicationCenter'
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
toAppSettings() {
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: '/pages/projectEnd/projectIndex/appSettings'
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
getProjectDetail() {
|
|
|
|
|
|
var that = this
|
|
|
|
|
|
this.sendRequest({
|
|
|
|
|
|
url: 'xmgl/project/getProjectInfoBySn',
|
|
|
|
|
|
data: {
|
|
|
|
|
|
projectSn: this.searchsn
|
|
|
|
|
|
// 获取存储数组最底层的projectSn
|
|
|
|
|
|
},
|
|
|
|
|
|
method: 'POST',
|
|
|
|
|
|
success(res) {
|
|
|
|
|
|
that.projectDetail = res.result
|
|
|
|
|
|
uni.setStorageSync('projectDetail', JSON.stringify(res.result))
|
|
|
|
|
|
that.loadWeather()
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
// APP直接调用 uni.scanCode 接口
|
|
|
|
|
|
scanCodeAPP() {
|
|
|
|
|
|
uni.scanCode({
|
|
|
|
|
|
scanType: ['qrCode'],
|
|
|
|
|
|
success: function(res) {
|
|
|
|
|
|
console.log('扫一扫得到的数据:' + res.result)
|
|
|
|
|
|
// uni.navigateTo({
|
|
|
|
|
|
// url: '../scan/saoSao?data=' + res.result
|
|
|
|
|
|
// })
|
2025-05-30 14:29:20 +08:00
|
|
|
|
if (res.result.includes('http://')) {
|
2025-02-07 17:10:27 +08:00
|
|
|
|
uni.showToast({
|
|
|
|
|
|
icon: 'none',
|
|
|
|
|
|
title: '请使用微信扫一扫打开!'
|
|
|
|
|
|
})
|
|
|
|
|
|
return
|
|
|
|
|
|
}
|
2025-01-21 18:08:48 +08:00
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: `${res.result}`
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
// let qrcodeVal=JSON.parse(res.result)
|
|
|
|
|
|
// let param={
|
|
|
|
|
|
// checkingPointId:qrcodeVal.checkingPointId,
|
|
|
|
|
|
// checkingPointName:qrcodeVal.checkingPointName,
|
|
|
|
|
|
// checkingPointUserId:that.userInfo.userId,
|
|
|
|
|
|
// checkingPointUserName:that.userInfo.realName||that.userInfo.account,
|
|
|
|
|
|
// position:qrcodeVal.position
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
// that.sendRequest({
|
|
|
|
|
|
// url: "xmgl/checkingPointInfo/add",
|
|
|
|
|
|
// data:param,
|
|
|
|
|
|
// method: "POST",
|
|
|
|
|
|
// success(res) {
|
|
|
|
|
|
// console.log(res,'res');
|
|
|
|
|
|
// console.log(param,'===')
|
|
|
|
|
|
// that.qrCode=param;
|
|
|
|
|
|
// that.$refs.popupqrcode.open();
|
|
|
|
|
|
// setTimeout(item=>{
|
|
|
|
|
|
// that.$refs.popupqrcode.close();
|
|
|
|
|
|
// },5000)
|
|
|
|
|
|
// }
|
|
|
|
|
|
// })
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
// 获取文件地址函数
|
|
|
|
|
|
getObjectURL(file) {
|
|
|
|
|
|
var url = null
|
|
|
|
|
|
if (window.createObjectURL !== undefined) { // basic
|
|
|
|
|
|
url = window.createObjectURL(file)
|
|
|
|
|
|
} else if (window.URL !== undefined) { // mozilla(firefox)
|
|
|
|
|
|
url = window.URL.createObjectURL(file)
|
|
|
|
|
|
} else if (window.webkitURL !== undefined) { // webkit or chrome
|
|
|
|
|
|
url = window.webkitURL.createObjectURL(file)
|
|
|
|
|
|
}
|
|
|
|
|
|
return url
|
|
|
|
|
|
},
|
|
|
|
|
|
// H5通过拉起相机拍照来识别二维码
|
|
|
|
|
|
scanCodeH5() {
|
|
|
|
|
|
uni.chooseImage({
|
|
|
|
|
|
count: 1,
|
|
|
|
|
|
success: imgRes => {
|
|
|
|
|
|
qrcodeMy.decode(this.getObjectURL(imgRes.tempFiles[0]))
|
|
|
|
|
|
qrcodeMy.callback = (codeRes) => {
|
|
|
|
|
|
if (codeRes.indexOf('error') >= 0) {
|
|
|
|
|
|
// 二维码识别失败
|
|
|
|
|
|
// this.qrCodeRes = '不合法二维码:' + codeRes
|
|
|
|
|
|
uni.showToast({
|
|
|
|
|
|
icon: 'error',
|
|
|
|
|
|
title: '识别失败!'
|
|
|
|
|
|
})
|
|
|
|
|
|
} else {
|
|
|
|
|
|
// 二维码识别成功
|
|
|
|
|
|
// let r = decodeStr(codeRes)
|
|
|
|
|
|
console.log(codeRes);
|
|
|
|
|
|
// this.qrCodeRes = r
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: `${codeRes}`
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
onClickToSao() {
|
|
|
|
|
|
// #ifdef APP-PLUS
|
|
|
|
|
|
this.scanCodeAPP()
|
|
|
|
|
|
// #endif
|
|
|
|
|
|
|
|
|
|
|
|
// #ifdef H5
|
|
|
|
|
|
this.scanCodeH5()
|
|
|
|
|
|
// #endif
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
getAllModule(arr) {
|
|
|
|
|
|
var that = this
|
|
|
|
|
|
this.sendRequest({
|
|
|
|
|
|
url: 'xmgl/baseModule/queryAppUserModuleList',
|
|
|
|
|
|
data: {
|
|
|
|
|
|
projectSn: this.searchsn,
|
|
|
|
|
|
},
|
|
|
|
|
|
method: 'GET',
|
|
|
|
|
|
success(res) {
|
|
|
|
|
|
console.log(res.result)
|
|
|
|
|
|
that.list = res.result;
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
computed: {
|
|
|
|
|
|
getTimeWeek() {
|
|
|
|
|
|
let timeDate = new Date()
|
|
|
|
|
|
let mounth = timeDate.getMonth() + 1
|
|
|
|
|
|
let day = timeDate.getDate()
|
|
|
|
|
|
let week = timeDate.getDay()
|
|
|
|
|
|
let weekArr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
|
|
|
|
|
|
return `${mounth}月${day}日 ${weekArr[week]}`
|
|
|
|
|
|
},
|
|
|
|
|
|
listUp() {
|
|
|
|
|
|
const newList = this.list;
|
|
|
|
|
|
let newArr = [] //首先创建一个新的空数组。用来存放分割好的数组
|
|
|
|
|
|
for (let i = 0; i < newList.length;) { //注意:这里与for循环不太一样的是,没有i++
|
|
|
|
|
|
newArr.push(newList.slice(i, i += 10));
|
|
|
|
|
|
}
|
|
|
|
|
|
return newArr
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
2025-04-11 14:24:29 +08:00
|
|
|
|
.statusBar {
|
|
|
|
|
|
background-color: transparent;
|
|
|
|
|
|
}
|
2025-05-30 14:29:20 +08:00
|
|
|
|
|
2025-01-21 18:08:48 +08:00
|
|
|
|
.scroll_view_main {
|
|
|
|
|
|
padding-bottom: 100rpx;
|
|
|
|
|
|
}
|
2025-05-30 14:29:20 +08:00
|
|
|
|
|
2025-01-21 18:08:48 +08:00
|
|
|
|
.module_home {
|
|
|
|
|
|
border-radius: 30rpx 30rpx 0 0;
|
|
|
|
|
|
background-color: white;
|
|
|
|
|
|
padding: 30rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.module_workspace {
|
|
|
|
|
|
padding: 30rpx;
|
|
|
|
|
|
|
|
|
|
|
|
.workspace_box_bottom {
|
|
|
|
|
|
padding: 30rpx 10rpx;
|
|
|
|
|
|
background-color: white;
|
|
|
|
|
|
margin-top: 30rpx;
|
|
|
|
|
|
|
|
|
|
|
|
>view:first-child {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
|
|
|
|
>view:first-child {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
|
|
|
|
>image {
|
|
|
|
|
|
width: 38rpx;
|
|
|
|
|
|
height: 38rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>view {
|
|
|
|
|
|
color: #171717;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
margin-left: 10rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>view:last-child {
|
|
|
|
|
|
padding: 10rpx 30rpx;
|
|
|
|
|
|
border-radius: 26rpx;
|
|
|
|
|
|
border: 2rpx solid #2F8FF3;
|
|
|
|
|
|
color: #2D8EF3;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.workspace_box_top {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
|
|
|
|
.workspace_box_top_right {
|
|
|
|
|
|
// width: 336rpx;
|
|
|
|
|
|
width: 49%;
|
|
|
|
|
|
height: 264rpx;
|
|
|
|
|
|
background-color: white;
|
|
|
|
|
|
padding: 30rpx 12rpx;
|
|
|
|
|
|
border-radius: 16rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
|
|
|
|
>view {
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
// width: 314rpx;
|
|
|
|
|
|
// height: 90rpx;
|
|
|
|
|
|
height: 64rpx;
|
|
|
|
|
|
color: white;
|
|
|
|
|
|
border-radius: 16rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
padding: 0 30rpx;
|
|
|
|
|
|
|
|
|
|
|
|
>image {
|
|
|
|
|
|
width: 34rpx;
|
|
|
|
|
|
height: 34rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>view:last-child {
|
|
|
|
|
|
font-size: 38rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>view:nth-child(1) {
|
|
|
|
|
|
background-color: #2A45F9;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>view:nth-child(2) {
|
|
|
|
|
|
background-color: #2788FD;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>view:nth-child(3) {
|
|
|
|
|
|
background-color: #74B4FC;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.workspace_box_top_left {
|
|
|
|
|
|
// width: 336rpx;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 264rpx;
|
|
|
|
|
|
background-color: white;
|
|
|
|
|
|
padding: 30rpx 20rpx;
|
|
|
|
|
|
border-radius: 16rpx;
|
|
|
|
|
|
|
|
|
|
|
|
>view:first-child {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
|
|
|
|
>image {
|
|
|
|
|
|
width: 30rpx;
|
|
|
|
|
|
height: 34rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>view {
|
|
|
|
|
|
color: #171717;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
margin-left: 10rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>view:last-child {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
|
|
|
|
>view {
|
|
|
|
|
|
width: 32%;
|
|
|
|
|
|
// width: 142rpx;
|
|
|
|
|
|
height: 124rpx;
|
|
|
|
|
|
color: white;
|
|
|
|
|
|
border-radius: 16rpx;
|
|
|
|
|
|
margin-top: 40rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>view:first-child {
|
|
|
|
|
|
background-color: #FC9C45;
|
|
|
|
|
|
}
|
2025-05-30 14:29:20 +08:00
|
|
|
|
|
2025-01-21 18:08:48 +08:00
|
|
|
|
>view:nth-child(2) {
|
|
|
|
|
|
background-color: #4388FD;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>view:last-child {
|
|
|
|
|
|
background-color: #59C9CA;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.login_main {
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
|
|
|
|
.message_title {
|
|
|
|
|
|
width: calc(100% - 40rpx);
|
|
|
|
|
|
margin: 0 20rpx;
|
|
|
|
|
|
height: 96rpx;
|
|
|
|
|
|
padding: 20rpx;
|
|
|
|
|
|
background: #FFFFFF;
|
|
|
|
|
|
box-shadow: 0 8rpx 8rpx 0 rgba(0, 126, 255, 0.25);
|
|
|
|
|
|
border-radius: 16rpx;
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
top: -96rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
|
|
|
|
.message_text {
|
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
|
margin-left: 20rpx;
|
|
|
|
|
|
color: #2D8EF3;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>image {
|
|
|
|
|
|
width: 144rpx;
|
|
|
|
|
|
height: 56rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.arrowright {
|
|
|
|
|
|
font-size: 44rpx !important;
|
|
|
|
|
|
color: #359EFF !important;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.all_title {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
// justify-content: center;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
|
|
|
|
.all_title_left {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
// justify-content: center;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
|
|
|
|
>image {
|
|
|
|
|
|
width: 30rpx;
|
|
|
|
|
|
height: 30rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>view {
|
|
|
|
|
|
margin-left: 10rpx;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.all_title_right {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
// justify-content: center;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
|
|
|
|
.tune {
|
|
|
|
|
|
font-size: 44rpx !important;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>view:first-child {
|
|
|
|
|
|
margin-right: 10rpx;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
border-radius: 26rpx;
|
|
|
|
|
|
border: 2rpx solid #2F8FF3;
|
|
|
|
|
|
color: #2F8FF3;
|
|
|
|
|
|
padding: 8rpx 30rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>image {
|
|
|
|
|
|
width: 30rpx;
|
|
|
|
|
|
height: 30rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>view {
|
|
|
|
|
|
margin-left: 10rpx;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.moudleItem_all {
|
|
|
|
|
|
padding: 32rpx;
|
|
|
|
|
|
// box-shadow: 0px 8rpx 32rpx 0px rgba(212, 220, 236, 0.59);
|
|
|
|
|
|
background-color: white;
|
|
|
|
|
|
border-radius: 0 0 16rpx 16rpx;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.moudleBox {
|
|
|
|
|
|
margin-top: 20rpx;
|
|
|
|
|
|
|
|
|
|
|
|
.moudleItem {
|
|
|
|
|
|
width: 20%;
|
|
|
|
|
|
|
|
|
|
|
|
.inner {
|
|
|
|
|
|
border: none;
|
|
|
|
|
|
padding: 12rpx 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.swiper {
|
|
|
|
|
|
height: 388rpx !important;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-05-30 14:29:20 +08:00
|
|
|
|
:deep(uni-swiper .uni-swiper-dots-horizontal) {
|
2025-01-21 18:08:48 +08:00
|
|
|
|
bottom: 2rpx !important;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-05-30 14:29:20 +08:00
|
|
|
|
:deep(uni-swiper .uni-swiper-dot-active) {
|
2025-01-21 18:08:48 +08:00
|
|
|
|
background-color: #2B8DF3;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.header_bg {
|
|
|
|
|
|
width: 100vw;
|
2025-04-11 14:24:29 +08:00
|
|
|
|
// height: 478rpx;
|
2025-01-21 18:08:48 +08:00
|
|
|
|
background-image: url(@/static/bthgIcon/prjectIndex_bg1.png);
|
|
|
|
|
|
background-repeat: no-repeat;
|
|
|
|
|
|
background-size: 100% 100%;
|
|
|
|
|
|
// background: linear-gradient(180deg, #2B8DF3 0%, #F4F5FD 100%);
|
|
|
|
|
|
// position: absolute;
|
|
|
|
|
|
// top: 0;
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
|
|
|
|
.login_logo {
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
// top: 36rpx;
|
|
|
|
|
|
left: 50%;
|
|
|
|
|
|
transform: translateX(-50%);
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
padding-top: 88rpx;
|
|
|
|
|
|
|
|
|
|
|
|
.logo_box {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
font-size: 40rpx;
|
|
|
|
|
|
color: #FFFFFF;
|
|
|
|
|
|
|
|
|
|
|
|
>image {
|
|
|
|
|
|
width: 72rpx;
|
|
|
|
|
|
height: 48rpx;
|
2025-03-14 14:38:24 +08:00
|
|
|
|
transform: rotateX(180deg);
|
2025-01-21 18:08:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>view:last-child {
|
|
|
|
|
|
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
|
|
|
|
|
|
font-size: 38rpx;
|
|
|
|
|
|
color: #FFFFFF;
|
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>image {
|
|
|
|
|
|
width: 266rpx;
|
|
|
|
|
|
height: 62rpx;
|
|
|
|
|
|
margin-top: 20rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.userBox {
|
|
|
|
|
|
// position: absolute;
|
|
|
|
|
|
// top: 50%;
|
|
|
|
|
|
// transform: translateY(-50%);
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
padding: 0 62rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
margin-top: 40rpx;
|
|
|
|
|
|
|
|
|
|
|
|
.userBox_left {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
|
|
|
|
.userBox_left_image {
|
|
|
|
|
|
width: 100rpx !important;
|
|
|
|
|
|
height: 100rpx !important;
|
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
|
margin-right: 20rpx;
|
2025-05-30 14:29:20 +08:00
|
|
|
|
|
2025-01-21 18:08:48 +08:00
|
|
|
|
.image_error {
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 100%;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>view:last-child {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
justify-content: space-around;
|
|
|
|
|
|
color: white;
|
|
|
|
|
|
font-size: 30rpx;
|
|
|
|
|
|
margin-left: 24rpx;
|
|
|
|
|
|
|
|
|
|
|
|
>text:last-child {
|
|
|
|
|
|
font-size: 24rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.userBox_right {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
color: white;
|
|
|
|
|
|
|
|
|
|
|
|
>view:first-child {
|
|
|
|
|
|
font-size: 54rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
>image {
|
|
|
|
|
|
width: 88rpx;
|
|
|
|
|
|
height: 88rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.qrcodeItem {
|
|
|
|
|
|
padding: 40rpx 30rpx;
|
|
|
|
|
|
width: 480rpx;
|
|
|
|
|
|
|
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
|
border-radius: 8rpx;
|
|
|
|
|
|
|
|
|
|
|
|
.title {
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
margin-bottom: 12rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.topBoxContent {
|
|
|
|
|
|
color: white;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
// background: linear-gradient(360deg, #A59FFF 0%, #3258FF 100%);
|
|
|
|
|
|
height: 520rpx;
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
|
|
|
|
.dateBox {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
z-index: 2;
|
|
|
|
|
|
|
|
|
|
|
|
.item {
|
|
|
|
|
|
flex: 1;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.item2 {
|
|
|
|
|
|
border-left: 1px dashed white;
|
|
|
|
|
|
// border-right: 1px dashed white;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.progressBox {
|
|
|
|
|
|
width: 300rpx;
|
|
|
|
|
|
height: 300rpx;
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
margin: 0px auto 50rpx;
|
|
|
|
|
|
|
|
|
|
|
|
.title1 {
|
|
|
|
|
|
padding-top: 48rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.title2 {
|
|
|
|
|
|
font-size: 66rpx;
|
|
|
|
|
|
margin: 12rpx 0;
|
|
|
|
|
|
|
|
|
|
|
|
.unit {
|
|
|
|
|
|
font-size: 40rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.status {
|
|
|
|
|
|
width: 104rpx;
|
|
|
|
|
|
height: 104rpx;
|
|
|
|
|
|
background: #8fda5c;
|
|
|
|
|
|
border-radius: 24rpx;
|
|
|
|
|
|
display: inline-block;
|
|
|
|
|
|
line-height: 50rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.redStatus {
|
|
|
|
|
|
background: #ea6868;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.progressLine {
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
left: 0;
|
|
|
|
|
|
top: 0;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 100%;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.weatherBox {
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
top: 30rpx;
|
|
|
|
|
|
right: 30rpx;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
|
|
|
|
|
|
.top {
|
|
|
|
|
|
font-size: 54rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.weatherIcon {
|
|
|
|
|
|
width: 72rpx;
|
|
|
|
|
|
height: 72rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.bottom {
|
|
|
|
|
|
font-size: 20rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.projectIndexPage {
|
2025-05-30 14:29:20 +08:00
|
|
|
|
:deep(.headerBox) {
|
2025-01-21 18:08:48 +08:00
|
|
|
|
background-color: transparent;
|
|
|
|
|
|
border-bottom: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.progressBox {
|
|
|
|
|
|
width: 300rpx;
|
|
|
|
|
|
height: 300rpx;
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
margin: 0px auto 48rpx;
|
|
|
|
|
|
|
|
|
|
|
|
.title1 {
|
|
|
|
|
|
padding-top: 48rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.title2 {
|
|
|
|
|
|
font-size: 66rpx;
|
|
|
|
|
|
margin: 12rpx 0;
|
|
|
|
|
|
|
|
|
|
|
|
.unit {
|
|
|
|
|
|
font-size: 40rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.status {
|
|
|
|
|
|
width: 104rpx;
|
|
|
|
|
|
height: 50rpx;
|
|
|
|
|
|
background: #8fda5c;
|
|
|
|
|
|
border-radius: 24rpx;
|
|
|
|
|
|
display: inline-block;
|
|
|
|
|
|
line-height: 50rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.redStatus {
|
|
|
|
|
|
background: #ea6868;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.progressLine {
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
left: 0;
|
|
|
|
|
|
top: 0;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 100%;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.weatherBox {
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
top: 20rpx;
|
|
|
|
|
|
right: 30rpx;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
|
|
|
|
|
|
.top {
|
|
|
|
|
|
font-size: 54rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.weatherIcon {
|
|
|
|
|
|
width: 72rpx;
|
|
|
|
|
|
height: 72rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.bottom {
|
|
|
|
|
|
font-size: 20rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.moudleBox2 {
|
|
|
|
|
|
opacity: 0.6;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.moudleBox {
|
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
// margin: 40rpx 11px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.moudleItem {
|
|
|
|
|
|
float: left;
|
|
|
|
|
|
width: 33.33%;
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
margin-bottom: 20rpx;
|
|
|
|
|
|
|
|
|
|
|
|
.inner {
|
|
|
|
|
|
border: 1px solid rgba(18, 41, 75, 0.06);
|
|
|
|
|
|
padding: 30rpx 0 30rpx;
|
|
|
|
|
|
margin: 0 10rpx;
|
|
|
|
|
|
border-radius: 10rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.img {
|
|
|
|
|
|
// width: 80rpx;
|
|
|
|
|
|
// height: 80rpx;
|
|
|
|
|
|
// width: 64rpx;
|
|
|
|
|
|
// height: 64rpx;
|
|
|
|
|
|
width: 88rpx;
|
|
|
|
|
|
height: 88rpx;
|
|
|
|
|
|
color: red;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.desc {
|
|
|
|
|
|
margin-top: 12rpx;
|
|
|
|
|
|
color: rgba(38, 45, 71, 0.77);
|
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.moudleTitle {
|
|
|
|
|
|
color: rgba(42, 43, 91, 0.5);
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
margin: 0px 0 30rpx;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.smallHeight {
|
|
|
|
|
|
// padding-bottom: 63px;
|
|
|
|
|
|
height: calc(100% - 120rpx);
|
|
|
|
|
|
background-color: #F3F5F7;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.moudleContent {
|
|
|
|
|
|
box-shadow: 0px 8rpx 32rpx 0px rgba(212, 220, 236, 0.59);
|
|
|
|
|
|
border-radius: 16rpx;
|
|
|
|
|
|
padding: 30rpx;
|
|
|
|
|
|
// margin: 110rpx 30rpx 30rpx;
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
z-index: 2;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.projectIndexBG {
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 714rpx !important;
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
top: 0;
|
|
|
|
|
|
left: 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
</style>
|