|
@@ -1,225 +1,230 @@
|
|
|
<template>
|
|
|
<view>
|
|
|
- <view v-if="isLeader==false">
|
|
|
- <scroll-view>
|
|
|
- <view class="view-bg">
|
|
|
- <text class="title-txt">工程用料统计</text>
|
|
|
- <view>
|
|
|
- <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
- <view class="uni-list-cell-left">
|
|
|
- 行政区
|
|
|
- </view>
|
|
|
- <view class="uni-list-cell-db">
|
|
|
- <view v-if="this.isEmpty(this.XZQValue.dictValue)" style="margin-top: 10;"
|
|
|
- @click="pickerShow('xzq')">
|
|
|
- <span style="color: darkgray;">请选择行政区</span>
|
|
|
- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ <view v-if="isLeader=='sys_user'">
|
|
|
+ <scroll-view>
|
|
|
+ <view class="view-bg">
|
|
|
+ <text class="title-txt">工程用料统计</text>
|
|
|
+ <view>
|
|
|
+ <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
+ <view class="uni-list-cell-left">
|
|
|
+ 行政区
|
|
|
</view>
|
|
|
- <view v-else style="margin-top: 10;" @click="pickerShow('xzq')">
|
|
|
- <span style="color: black;">{{XZQValue.dictLabel}}</span>
|
|
|
- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ <view class="uni-list-cell-db">
|
|
|
+ <view v-if="this.isEmpty(this.XZQValue.dictValue)" style="margin-top: 10;"
|
|
|
+ @click="pickerShow('xzq')">
|
|
|
+ <span style="color: darkgray;">请选择行政区</span>
|
|
|
+ <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ </view>
|
|
|
+ <view v-else style="margin-top: 10;" @click="pickerShow('xzq')">
|
|
|
+ <span style="color: black;">{{XZQValue.dictLabel}}</span>
|
|
|
+ <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
|
|
|
- </view>
|
|
|
- <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
- <view class="uni-list-cell-left">
|
|
|
- 小区
|
|
|
</view>
|
|
|
- <view class="uni-list-cell-db">
|
|
|
- <view v-if="this.isEmpty(this.XQValue.id)" style="margin-top: 10;"
|
|
|
- @click="pickerShow('xq')">
|
|
|
- <span style="color: darkgray;">请选择小区</span>
|
|
|
- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
+ <view class="uni-list-cell-left">
|
|
|
+ 小区
|
|
|
</view>
|
|
|
- <view v-else style="margin-top: 10;" @click="pickerShow('xq')">
|
|
|
- <span style="color: black;">{{XQValue.name}}</span>
|
|
|
- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ <view class="uni-list-cell-db">
|
|
|
+ <view v-if="this.isEmpty(this.XQValue.id)" style="margin-top: 10;"
|
|
|
+ @click="pickerShow('xq')">
|
|
|
+ <span style="color: darkgray;">请选择小区</span>
|
|
|
+ <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ </view>
|
|
|
+ <view v-else style="margin-top: 10;" @click="pickerShow('xq')">
|
|
|
+ <span style="color: black;">{{XQValue.name}}</span>
|
|
|
+ <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
- <view class="uni-list-cell-left">
|
|
|
- 材料
|
|
|
- </view>
|
|
|
- <view class="uni-list-cell-db">
|
|
|
- <view v-if="this.isEmpty(this.materialValue.name)" style="margin-top: 10;"
|
|
|
- @click="pickerShow('cz')">
|
|
|
- <span style="color: darkgray;">请选择材料</span>
|
|
|
- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
+ <view class="uni-list-cell-left">
|
|
|
+ 材料
|
|
|
</view>
|
|
|
- <view v-else style="display: flex;align-items: center; justify-content: flex-end;">
|
|
|
- <view style="margin-top: 10; " @click="pickerShow('cz')">
|
|
|
- <span style="color: black;">{{materialValue.name}}</span>
|
|
|
- <!-- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image> -->
|
|
|
+ <view class="uni-list-cell-db">
|
|
|
+ <view v-if="this.isEmpty(this.materialValue.name)" style="margin-top: 10;"
|
|
|
+ @click="pickerShow('cz')">
|
|
|
+ <span style="color: darkgray;">请选择材料</span>
|
|
|
+ <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ </view>
|
|
|
+ <view v-else style="display: flex;align-items: center; justify-content: flex-end;">
|
|
|
+ <view style="margin-top: 10; " @click="pickerShow('cz')">
|
|
|
+ <span style="color: black;">{{materialValue.name}}</span>
|
|
|
+ <!-- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image> -->
|
|
|
+ </view>
|
|
|
+ <uni-icons type="clear" size="24" color="#999"
|
|
|
+ style="margin-left:20rpx ;margin-right: -20rpx;"
|
|
|
+ @click="clearMaterialInfo"></uni-icons>
|
|
|
</view>
|
|
|
- <uni-icons type="clear" size="24" color="#999"
|
|
|
- style="margin-left:20rpx ;margin-right: -20rpx;"
|
|
|
- @click="clearMaterialInfo"></uni-icons>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
- <view class="uni-list-cell-left">
|
|
|
- 规格
|
|
|
- </view>
|
|
|
- <view class="uni-list-cell-db">
|
|
|
- <view v-if="this.isEmpty(this.specificationValue.name)" style="margin-top: 10;"
|
|
|
- @click="pickerShow('gg')">
|
|
|
- <span style="color: darkgray;">请选择规格</span>
|
|
|
- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
+ <view class="uni-list-cell-left">
|
|
|
+ 规格
|
|
|
</view>
|
|
|
- <view v-else style="display: flex;align-items: center; justify-content: flex-end;">
|
|
|
- <view style="margin-top: 10;" @click="pickerShow('gg')">
|
|
|
- <span style="color: black;">{{specificationValue.name}}</span>
|
|
|
- <!-- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image> -->
|
|
|
+ <view class="uni-list-cell-db">
|
|
|
+ <view v-if="this.isEmpty(this.specificationValue.name)" style="margin-top: 10;"
|
|
|
+ @click="pickerShow('gg')">
|
|
|
+ <span style="color: darkgray;">请选择规格</span>
|
|
|
+ <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ </view>
|
|
|
+ <view v-else style="display: flex;align-items: center; justify-content: flex-end;">
|
|
|
+ <view style="margin-top: 10;" @click="pickerShow('gg')">
|
|
|
+ <span style="color: black;">{{specificationValue.name}}</span>
|
|
|
+ <!-- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image> -->
|
|
|
+ </view>
|
|
|
+ <uni-icons type="clear" size="24" color="#999"
|
|
|
+ style="margin-left:20rpx ;margin-right: -20rpx;"
|
|
|
+ @click="clearSpecificationInfo"></uni-icons>
|
|
|
</view>
|
|
|
- <uni-icons type="clear" size="24" color="#999"
|
|
|
- style="margin-left:20rpx ;margin-right: -20rpx;"
|
|
|
- @click="clearSpecificationInfo"></uni-icons>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
- </view>
|
|
|
+ </view>
|
|
|
|
|
|
|
|
|
- <view class="table">
|
|
|
- <view class="felx-row">
|
|
|
- <view class="h-tr" style="flex: 1">名称</view>
|
|
|
- <view class="h-tr" style="flex: 1;align-items: center;">预计用量</view>
|
|
|
- <view class="h-tr" style="flex: 1">实际用量</view>
|
|
|
+ <view class="table">
|
|
|
+ <view class="felx-row">
|
|
|
+ <view class="h-tr" style="flex: 1">名称</view>
|
|
|
+ <view class="h-tr" style="flex: 1;align-items: center;">预计用量</view>
|
|
|
+ <view class="h-tr" style="flex: 1">实际用量</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="felx-row" v-for="(item, index) in materialUsageList" :key="index">
|
|
|
+ <view class="h-td" style="flex: 1">{{ item.materialQuality }}</view>
|
|
|
+ <view class="h-td" style="flex: 1">{{ item.estimatedSize }}</view>
|
|
|
+ <view class="h-td" style="flex: 1">{{ item.realitySize }}</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view class="felx-row" v-for="(item, index) in materialUsageList" :key="index">
|
|
|
- <view class="h-td" style="flex: 1">{{ item.materialQuality }}</view>
|
|
|
- <view class="h-td" style="flex: 1">{{ item.estimatedSize }}</view>
|
|
|
- <view class="h-td" style="flex: 1">{{ item.realitySize }}</view>
|
|
|
- </view>
|
|
|
|
|
|
|
|
|
- </view>
|
|
|
+ </view>
|
|
|
|
|
|
- <view class="view-bg" style="margin-bottom: 40rpx;">
|
|
|
- <text class="title-txt">工程进度统计</text>
|
|
|
- <view>
|
|
|
- <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
- <view class="uni-list-cell-left">
|
|
|
- 行政区
|
|
|
- </view>
|
|
|
- <view class="uni-list-cell-db">
|
|
|
- <view v-if="this.isEmpty(this.XZQValue2.dictValue)" style="margin-top: 10;"
|
|
|
- @click="pickerShow('xzq2')">
|
|
|
- <span style="color: darkgray;">请选择行政区</span>
|
|
|
- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ <view class="view-bg" style="margin-bottom: 40rpx;">
|
|
|
+ <text class="title-txt">工程进度统计</text>
|
|
|
+ <view>
|
|
|
+ <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
+ <view class="uni-list-cell-left">
|
|
|
+ 行政区
|
|
|
</view>
|
|
|
- <view v-else style="margin-top: 10;" @click="pickerShow('xzq2')">
|
|
|
- <span style="color: black;">{{XZQValue2.dictLabel}}</span>
|
|
|
- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ <view class="uni-list-cell-db">
|
|
|
+ <view v-if="this.isEmpty(this.XZQValue2.dictValue)" style="margin-top: 10;"
|
|
|
+ @click="pickerShow('xzq2')">
|
|
|
+ <span style="color: darkgray;">请选择行政区</span>
|
|
|
+ <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ </view>
|
|
|
+ <view v-else style="margin-top: 10;" @click="pickerShow('xzq2')">
|
|
|
+ <span style="color: black;">{{XZQValue2.dictLabel}}</span>
|
|
|
+ <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
|
|
|
- </view>
|
|
|
- <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
- <view class="uni-list-cell-left"> 小区</view>
|
|
|
- <view class="uni-list-cell-db">
|
|
|
- <view v-if="this.isEmpty(this.XQValue2.id)" style="margin-top: 10;"
|
|
|
- @click="pickerShow('xq2')">
|
|
|
- <span style="color: darkgray;">请选择小区</span>
|
|
|
- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
- </view>
|
|
|
- <view v-else style="margin-top: 10;" @click="pickerShow('xq2')">
|
|
|
- <span style="color: black;">{{XQValue2.name}}</span>
|
|
|
- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
- </view>
|
|
|
</view>
|
|
|
-
|
|
|
- </view>
|
|
|
- <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
- <view class="uni-list-cell-left">楼栋</view>
|
|
|
- <view class="uni-list-cell-db">
|
|
|
- <view v-if="this.isEmpty(this.LDValue2.id)" style="margin-top: 10;"
|
|
|
- @click="pickerShow('ld2')">
|
|
|
- <span style="color: darkgray;">请选择楼栋</span>
|
|
|
- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
- </view>
|
|
|
- <view style="margin-top: 10;" @click="pickerShow('ld2')">
|
|
|
- <span style="color: black;">{{LDValue2.name}}</span>
|
|
|
- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
+ <view class="uni-list-cell-left"> 小区</view>
|
|
|
+ <view class="uni-list-cell-db">
|
|
|
+ <view v-if="this.isEmpty(this.XQValue2.id)" style="margin-top: 10;"
|
|
|
+ @click="pickerShow('xq2')">
|
|
|
+ <span style="color: darkgray;">请选择小区</span>
|
|
|
+ <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ </view>
|
|
|
+ <view v-else style="margin-top: 10;" @click="pickerShow('xq2')">
|
|
|
+ <span style="color: black;">{{XQValue2.name}}</span>
|
|
|
+ <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
- </view>
|
|
|
- <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
- <view class="uni-list-cell-left">单元</view>
|
|
|
- <view class="uni-list-cell-db">
|
|
|
- <view v-if="this.isEmpty(this.DYValue2.id)" style="margin-top: 10;"
|
|
|
- @click="pickerShow('dy2')">
|
|
|
- <span style="color: darkgray;">请选择单元</span>
|
|
|
- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ </view>
|
|
|
+ <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
+ <view class="uni-list-cell-left">楼栋</view>
|
|
|
+ <view class="uni-list-cell-db">
|
|
|
+ <view v-if="this.isEmpty(this.LDValue2.id)" style="margin-top: 10;"
|
|
|
+ @click="pickerShow('ld2')">
|
|
|
+ <span style="color: darkgray;">请选择楼栋</span>
|
|
|
+ <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ </view>
|
|
|
+ <view style="margin-top: 10;" @click="pickerShow('ld2')">
|
|
|
+ <span style="color: black;">{{LDValue2.name}}</span>
|
|
|
+ <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- <view v-else style="margin-top: 10;" @click="pickerShow('dy2')">
|
|
|
- <span style="color: black;">{{DYValue2.name}}</span>
|
|
|
- <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ <view class="uni-list-cell" style="border-bottom: 1px solid #f8f8f8;">
|
|
|
+ <view class="uni-list-cell-left">单元</view>
|
|
|
+ <view class="uni-list-cell-db">
|
|
|
+ <view v-if="this.isEmpty(this.DYValue2.id)" style="margin-top: 10;"
|
|
|
+ @click="pickerShow('dy2')">
|
|
|
+ <span style="color: darkgray;">请选择单元</span>
|
|
|
+ <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ </view>
|
|
|
+ <view v-else style="margin-top: 10;" @click="pickerShow('dy2')">
|
|
|
+ <span style="color: black;">{{DYValue2.name}}</span>
|
|
|
+ <image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
+
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
-
|
|
|
- </view>
|
|
|
- <image :src="loadImgSrc('lou-img-bg.png')" style="width: 110%;
|
|
|
+ <image :src="loadImgSrc('lou-img-bg.png')" style="width: 110%;
|
|
|
height: 121px;
|
|
|
position: absolute;
|
|
|
bottom: 15px;
|
|
|
left: -5px;
|
|
|
z-index: 1;
|
|
|
"></image>
|
|
|
- <scroll-view :scroll-x="true" class="view_bg_build" v-if="roomList.length > 0">
|
|
|
- <view class="HuaDongBiao">
|
|
|
- <view class="NeiRong" v-for="(item,index) in roomList" :key="index">
|
|
|
- <view class="Fang" v-for="(item2, index2) in roomList[index]" :key="index2">
|
|
|
- <view v-if="item2.roomStatus=='施工中'" class="ShiGongZhong">{{ item2.roomName }}</view>
|
|
|
- <view v-else-if="item2.roomStatus=='未施工'" class="WeiShiGong">{{ item2.roomName }}</view>
|
|
|
- <view v-else class="JunGong">{{ item2.roomName }}</view>
|
|
|
+ <scroll-view :scroll-x="true" class="view_bg_build" v-if="roomList.length > 0">
|
|
|
+ <view class="HuaDongBiao">
|
|
|
+ <view class="NeiRong" v-for="(item,index) in roomList" :key="index">
|
|
|
+ <view class="Fang" v-for="(item2, index2) in roomList[index]" :key="index2">
|
|
|
+ <view v-if="item2.roomStatus=='施工中'" class="ShiGongZhong">{{ item2.roomName }}
|
|
|
+ </view>
|
|
|
+ <view v-else-if="item2.roomStatus=='未施工'" class="WeiShiGong">{{ item2.roomName }}
|
|
|
+ </view>
|
|
|
+ <view v-else class="JunGong">{{ item2.roomName }}</view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view
|
|
|
- style="width: 48rpx;height: 63rpx;background: #C7EAFF; position:relative; left: 50%; transform: translateX(-50%); bottom: -10rpx;">
|
|
|
- </view>
|
|
|
+ <view
|
|
|
+ style="width: 48rpx;height: 63rpx;background: #C7EAFF; position:relative; left: 50%; transform: translateX(-50%); bottom: -10rpx;">
|
|
|
+ </view>
|
|
|
|
|
|
- </scroll-view>
|
|
|
- <view v-if="roomList.length == 0" style="padding:50rpx;text-align: center;">暂无数据</view>
|
|
|
- <view style="align-items: center; margin-top: 20rpx;">
|
|
|
- <view style="display: flex;align-items: center;justify-content:center">
|
|
|
- <image class="block-iv" :src="loadImgSrc('ic_legend.png')"></image>
|
|
|
- <text style="margin-right: 20px;margin-left: 5px;">图例: </text>
|
|
|
- <div class="block-iv" style="background-color: #80d9ae;"></div>
|
|
|
- <text style="margin-right: 20px;margin-left: 5px;">竣工</text>
|
|
|
- <div class="block-iv" style="background-color: #5bd3ff;"></div>
|
|
|
- <text style="margin-right: 20px;margin-left: 5px;">施工中</text>
|
|
|
- <div class="block-iv" style="background-color: #ffc881;"></div>
|
|
|
- <text style="margin-right: 20px;margin-left: 5px;">未施工</text>
|
|
|
- </view>
|
|
|
+ </scroll-view>
|
|
|
+ <view v-if="roomList.length == 0" style="padding:50rpx;text-align: center;">暂无数据</view>
|
|
|
+ <view style="align-items: center; margin-top: 20rpx;">
|
|
|
+ <view style="display: flex;align-items: center;justify-content:center">
|
|
|
+ <image class="block-iv" :src="loadImgSrc('ic_legend.png')"></image>
|
|
|
+ <text style="margin-right: 20px;margin-left: 5px;">图例: </text>
|
|
|
+ <div class="block-iv" style="background-color: #80d9ae;"></div>
|
|
|
+ <text style="margin-right: 20px;margin-left: 5px;">竣工</text>
|
|
|
+ <div class="block-iv" style="background-color: #5bd3ff;"></div>
|
|
|
+ <text style="margin-right: 20px;margin-left: 5px;">施工中</text>
|
|
|
+ <div class="block-iv" style="background-color: #ffc881;"></div>
|
|
|
+ <text style="margin-right: 20px;margin-left: 5px;">未施工</text>
|
|
|
+ </view>
|
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
- <SelectPicker :list="selectList" @change="changeSelect" v-if="open" @close="close" titleKey="name"
|
|
|
- subtitleKey="id" v-model="name"></SelectPicker>
|
|
|
+ <SelectPicker :list="selectList" @change="changeSelect" v-if="open" @close="close" titleKey="name"
|
|
|
+ subtitleKey="id" v-model="name"></SelectPicker>
|
|
|
|
|
|
- <SelectPicker :list="dictOptions" @change="changeSelect" v-if="openDict" @close="closeDict"
|
|
|
- titleKey="dictLabel" subtitleKey="dictValue" v-model="dictLabel"></SelectPicker>
|
|
|
- </scroll-view>
|
|
|
- </view>
|
|
|
- <view v-else-if="isLeader">
|
|
|
+ <SelectPicker :list="dictOptions" @change="changeSelect" v-if="openDict" @close="closeDict"
|
|
|
+ titleKey="dictLabel" subtitleKey="dictValue" v-model="dictLabel"></SelectPicker>
|
|
|
+ </scroll-view>
|
|
|
+ </view>
|
|
|
+ <view v-else-if="isLeader=='app_user'">
|
|
|
+
|
|
|
+
|
|
|
+ <lgd-tab v-model="tabIndex" :tabValue="tabValue" @change="changeTab" />
|
|
|
<cc-pullScroolView class="pullScrollView" ref="pullScroll" :pullDown="pullDown" :isDownLoading="true">
|
|
|
<view class="notice" v-for="(item,index) in list" :key="index">
|
|
|
- <view class="justify-content" @click="goDetails(item)">
|
|
|
+ <view class="justify-content" @click="chooseNode(item)">
|
|
|
<view class="font-forty">
|
|
|
- {{item.noticeTitle}}
|
|
|
+ {{item.areaName+item.buildingName+item.unitName+item.houseName}}
|
|
|
</view>
|
|
|
<view class="font-twenty-eight gray">
|
|
|
{{item.createTime}}
|
|
@@ -230,7 +235,29 @@
|
|
|
</view>
|
|
|
</cc-pullScroolView>
|
|
|
|
|
|
- </view>
|
|
|
+
|
|
|
+ <view class="share">
|
|
|
+ <view :class="{'share-box': shareState}" @click="handleHiddenShare">
|
|
|
+ </view>
|
|
|
+ <view class="share-item" :class="{'share-show': shareState}">
|
|
|
+ <view class="share-to">
|
|
|
+ <text>请选择</text>
|
|
|
+ </view>
|
|
|
+ <scroll-view scroll-y="true" class="scroll-Y">
|
|
|
+ <view class="content">
|
|
|
+ <view class="block" v-for="(item, index) in typeList" :key="index"
|
|
|
+ @click="showTypeSheet(item)">
|
|
|
+ <!-- <image :src="item.image" mode="aspectFill"></image> -->
|
|
|
+ <text>{{item.Type}}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </scroll-view>
|
|
|
+ <view class="cancel" @click.stop="handleHiddenShare">
|
|
|
+ <text>取消</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
@@ -238,11 +265,16 @@
|
|
|
import SelectPicker from '../../components/selectPicker/select_picker.vue'
|
|
|
import CCBProjectList from '../../uni_modules/cc-pullScroolView/components/cc-pullScroolView/cc-pullScroolView.vue';
|
|
|
import {
|
|
|
- getNoticeList,
|
|
|
+ gethistoryList,
|
|
|
} from '@/api/common'
|
|
|
+
|
|
|
+ import {
|
|
|
+ getUserType
|
|
|
+ } from '@/utils/auth';
|
|
|
import {
|
|
|
getDicts
|
|
|
} from "@/api/system/dict/data";
|
|
|
+ import user from '@/store/modules/user'
|
|
|
import {
|
|
|
getAreaList,
|
|
|
getBuildingList,
|
|
@@ -262,11 +294,15 @@
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- isLeader: false,
|
|
|
+ tabValue: ['旧改', '新建'],
|
|
|
+ tabIndex: 0,
|
|
|
+ isLeader: '',
|
|
|
list: [],
|
|
|
+ newlist: [],
|
|
|
pageSize: 10, // 条数
|
|
|
totalNum: '',
|
|
|
pageNum: 1, // 页数
|
|
|
+ typeList: '', //二次弹窗数据
|
|
|
villageIndex: 0,
|
|
|
specificationIndex: 0,
|
|
|
materialIndex: 0,
|
|
@@ -291,6 +327,7 @@
|
|
|
projectValue2: {
|
|
|
'dictValue': '0'
|
|
|
},
|
|
|
+ shareState: false,
|
|
|
XZQValue2: {},
|
|
|
XQValue2: {},
|
|
|
LDValue2: {},
|
|
@@ -301,15 +338,14 @@
|
|
|
materialList: [],
|
|
|
materialUsageList: [],
|
|
|
roomList: [],
|
|
|
- roomCount: 4
|
|
|
+ roomCount: 4,
|
|
|
+ nodeId: ''
|
|
|
}
|
|
|
},
|
|
|
created() {},
|
|
|
onLoad() {
|
|
|
+ this.isLeader = getUserType()
|
|
|
|
|
|
- if (this.isLeader) {
|
|
|
- this.getList()
|
|
|
- }
|
|
|
},
|
|
|
|
|
|
// 上拉加载
|
|
@@ -322,7 +358,12 @@
|
|
|
// 显示加载中
|
|
|
this.$refs.pullScroll.showUpLoading();
|
|
|
this.pageNum++;
|
|
|
- this.requestData();
|
|
|
+ if (this.tabIndex == 0) {
|
|
|
+ this.requestData();
|
|
|
+ } else {
|
|
|
+ this.requestDataNew();
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
},
|
|
@@ -330,6 +371,32 @@
|
|
|
isEmpty(str) {
|
|
|
return (!str || 0 === str.length);
|
|
|
},
|
|
|
+ // 显示二次弹窗
|
|
|
+ handleShowSheet() {
|
|
|
+ this.shareState = true;
|
|
|
+ },
|
|
|
+ // 隐藏二次弹窗
|
|
|
+ handleHiddenShare() {
|
|
|
+ this.shareState = false;
|
|
|
+ },
|
|
|
+
|
|
|
+ chooseNode(item) {
|
|
|
+ this.typeList = item.nodeReViewStateList
|
|
|
+ this.nodeId = item.id;
|
|
|
+ this.handleShowSheet();
|
|
|
+ },
|
|
|
+ showTypeSheet(item) {
|
|
|
+ let obj = {
|
|
|
+ id: this.nodeId,
|
|
|
+ type: item.Type
|
|
|
+ };
|
|
|
+ this.handleHiddenShare();
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/statistics/historyDetails?params=' + encodeURIComponent(JSON
|
|
|
+ .stringify(
|
|
|
+ obj))
|
|
|
+ })
|
|
|
+ },
|
|
|
pickerShow(e) {
|
|
|
this.type = e; //赋值类型
|
|
|
if (e == 'gczq') { //工程周期
|
|
@@ -581,10 +648,14 @@
|
|
|
pullDown(pullScroll) {
|
|
|
|
|
|
this.pageNum = 1;
|
|
|
+
|
|
|
setTimeout(() => {
|
|
|
this.requestData(pullScroll);
|
|
|
}, 1000);
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
},
|
|
|
getList() {
|
|
|
let myThis = this;
|
|
@@ -594,10 +665,25 @@
|
|
|
|
|
|
});
|
|
|
},
|
|
|
+ changeTab() {
|
|
|
+ this.pageSize = 10; // 条数
|
|
|
+ this.totalNum = '';
|
|
|
+ this.pageNum = 1; // 页数
|
|
|
+ this.requestData();
|
|
|
+
|
|
|
+ },
|
|
|
requestData() {
|
|
|
|
|
|
uni.showLoading()
|
|
|
- getNoticeList('1', this.pageNum, this.pageSize).then(res => {
|
|
|
+
|
|
|
+ let type = ''
|
|
|
+ if (this.tabIndex == 0) {
|
|
|
+ type = 'old_renovation'
|
|
|
+ } else {
|
|
|
+ type = 'new_built'
|
|
|
+
|
|
|
+ }
|
|
|
+ gethistoryList(type, user.state.name, this.pageNum, this.pageSize).then(res => {
|
|
|
|
|
|
this.totalNum = res.total
|
|
|
|
|
@@ -624,19 +710,22 @@
|
|
|
|
|
|
} else {
|
|
|
this.$modal.msg("暂无数据")
|
|
|
+ this.$refs.pullScroll.empty();
|
|
|
}
|
|
|
} else {
|
|
|
this.$modal.msg(res.msg + "")
|
|
|
+ this.$refs.pullScroll.error();
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
- }
|
|
|
+ },
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
-<style>
|
|
|
+<style lang="scss">
|
|
|
.to-right-icon {
|
|
|
width: 15px;
|
|
|
height: 15px;
|
|
@@ -878,4 +967,107 @@
|
|
|
border-left: 15rpx solid #3857F3;
|
|
|
padding-left: 20rpx;
|
|
|
}
|
|
|
+
|
|
|
+ .share {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .share-box {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ position: fixed;
|
|
|
+ top: 0rpx;
|
|
|
+ left: 0rpx;
|
|
|
+ bottom: 0rpx;
|
|
|
+ right: 0rpx;
|
|
|
+ background-color: rgba(0, 0, 0, 0.4);
|
|
|
+ transition: .3s;
|
|
|
+ z-index: 999;
|
|
|
+ }
|
|
|
+
|
|
|
+ .share-show {
|
|
|
+ transition: all 0.3s ease;
|
|
|
+ transform: translateY(0%) !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .scroll-Y {
|
|
|
+ height: 350rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .share-item {
|
|
|
+ position: fixed;
|
|
|
+ left: 0;
|
|
|
+ bottom: 0;
|
|
|
+ width: 100%;
|
|
|
+ height: auto;
|
|
|
+ background-color: #FFFFFF;
|
|
|
+ transition: all 0.3s ease;
|
|
|
+ transform: translateY(100%);
|
|
|
+ z-index: 1999;
|
|
|
+ border-top-left-radius: 40rpx;
|
|
|
+ border-top-right-radius: 40rpx;
|
|
|
+
|
|
|
+
|
|
|
+ .share-to {
|
|
|
+ width: 100%;
|
|
|
+ height: 3rem;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ &::after {
|
|
|
+ content: '';
|
|
|
+ width: 240rpx;
|
|
|
+ height: 0rpx;
|
|
|
+ border-top: 1px solid #E4E7ED;
|
|
|
+ -webkit-transform: scaleY(0.5);
|
|
|
+ transform: scaleY(0.5);
|
|
|
+ margin-left: 30rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ &::before {
|
|
|
+ content: '';
|
|
|
+ width: 240rpx;
|
|
|
+ height: 0rpx;
|
|
|
+ border-top: 1px solid #E4E7ED;
|
|
|
+ -webkit-transform: scaleY(0.5);
|
|
|
+ transform: scaleY(0.5);
|
|
|
+ margin-right: 30rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .content {
|
|
|
+ width: 100%;
|
|
|
+ height: 50%;
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+
|
|
|
+ .block {
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ height: 80rpx;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ text {
|
|
|
+ margin-top: 16rpx;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #606266;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .cancel {
|
|
|
+ width: 100%;
|
|
|
+ height: 3rem;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ border-top: 1rpx solid #E4E7ED;
|
|
|
+ }
|
|
|
+ }
|
|
|
</style>
|