From b2e8e233d59d107615a8336dce9da36f1f8bcde0 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期二, 03 十二月 2024 16:46:47 +0800 Subject: [PATCH] ll --- h5/pages/polling/point.vue | 236 +++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 149 insertions(+), 87 deletions(-) diff --git a/h5/pages/polling/point.vue b/h5/pages/polling/point.vue index 1df5fef..4711fbc 100644 --- a/h5/pages/polling/point.vue +++ b/h5/pages/polling/point.vue @@ -8,7 +8,8 @@ <template v-if="info.status == 1"> <view class="line"> <div class="la">宸℃缁撴灉锛�</div> - <div class="val primaryColor" :class="{red: info.dealStatus == 1}">{{ info.dealStatus == 0 ? '姝e父' : '寮傚父' }}</div> + <div class="val primaryColor" :class="{red: info.dealStatus == 1}">{{ info.dealStatus == 0 ? '姝e父' : '寮傚父' }} + </div> </view> <view class="line"> <div class="la">宸℃鏃堕棿锛�</div> @@ -23,12 +24,12 @@ </view> <!-- --> <view v-if="info.status == 1" class="content"> - <view class="title">宸℃璁板綍</view> - <view class="files"> - <view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.multifileList" :key="i"> - <image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image> - <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video> - </view> + <view class="title">宸℃璁板綍</view> + <view class="files"> + <view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.multifileList" :key="i"> + <image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image> + <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video> + </view> </view> <view class="desc">{{ info.dealInfo }}</view> <view class="line line_s"> @@ -54,7 +55,13 @@ <u-icon name="arrow-right"></u-icon> </view> </view> - + <view class="df_sb"> + <view class="">宸℃缁撴灉</view> + <view class="df_ac" @click="isShowRes = true" v-if="handleParam.dealDate"> + {{ handleParam.dealName }} + <u-icon name="arrow-right"></u-icon> + </view> + </view> <view class="label"> 涓婁紶鍥剧墖/瑙嗛 </view> @@ -74,7 +81,7 @@ <view class="label">澶勭悊璇存槑</view> <textarea v-model="handleParam.dealInfo" placeholder="璇峰~鍐欏鐞嗚鏄�" placeholder-class="placeholder9" /> </view> - </view> + </view> <view class="sub_btn" @click="onSubmit">纭宸℃</view> <!-- --> <u-popup :show="showUpload" @close="showUpload = false" closeOnClickOverlay> @@ -86,52 +93,98 @@ <!-- --> <u-datetime-picker :minDate="new Date().getTime()" :show="isShowHandleDate" @confirm="confirmHandleDate" @cancel="isShowHandleDate = false" mode="datetime"></u-datetime-picker> + <u-picker :show="isShowRes" keyName="name" @cancel="isShowRes = false" @confirm='confirmRes' + :columns="columns"></u-picker> + </view> </template> <script> import { - uploadUrl, - ywPatrolPointDetail, + uploadUrl, + ywPatrolPointDetail, patrolData } from '@/api' import dayjs from 'dayjs'; export default { data() { - return { - id: '', + return { + id: '', info: {}, + isShowRes: false, showUpload: false, isShowHandle: false, isShowHandleDate: false, - handleParam: { - dealStatus: 1 + handleParam: { + dealStatus: 0, + dealName: '姝e父' }, - fileList: [] + fileList: [], + columns: [ + [{ + id: 0, + name: '姝e父' + }, + { + id: 1, + name: '寮傚父' + }, + { + id: '', + name: '璺宠繃' + }, + ] + ], }; - }, - onLoad(option) { - this.id = option.id - this.getDetail() - this.$set(this.handleParam, 'dealDate', dayjs().format('YYYY-MM-DD HH:mm:ss')) + }, + onLoad(option) { + this.id = option.id + this.getDetail() + this.$set(this.handleParam, 'dealDate', dayjs().format('YYYY-MM-DD HH:mm:ss')) }, methods: { - onSubmit() { - const { handleParam, fileList, id } = this - patrolData({ - ...handleParam, - multifileList: fileList, - id, - }).then(res => { - this.showToast('鎿嶄綔鎴愬姛') - uni.navigateBack() + onSubmit() { + const { + handleParam, + fileList, + id + } = this + if (handleParam.dealStatus == 1) { + return uni.showModal({ + title: '娓╅Θ鎻愮ず', + content: '宸℃缁撴灉寮傚父锛屾槸鍚﹀墠寰�鎻愪氦宸ュ崟锛�', + success: function(res) { + if (res.confirm) { + patrolData({ + ...handleParam, + multifileList: fileList, + id, + }).then(res => { + this.showToast('鎿嶄綔鎴愬姛') + uni.navigateBack() + }) + } + } + }); + } else { + patrolData({ + ...handleParam, + multifileList: fileList, + id, + }).then(res => { + this.showToast('鎿嶄綔鎴愬姛') + uni.navigateBack() + }) + } + + }, + getDetail() { + const { + id + } = this + ywPatrolPointDetail(id).then(res => { + this.info = res.data }) - }, - getDetail(){ - const { id } = this - ywPatrolPointDetail(id).then(res => { - this.info = res.data - }) }, callPhone() { uni.makePhoneCall({ @@ -141,6 +194,11 @@ confirmHandleDate(e) { this.$set(this.handleParam, 'dealDate', dayjs(e.value).format('YYYY-MM-DD HH:mm:ss')); this.isShowHandleDate = false; + }, + confirmRes(e) { + this.$set(this.handleParam, 'dealStatus', e.value[0].id) + this.$set(this.handleParam, 'dealName', e.value[0].name) + this.isShowRes = false }, fileDel(str, i) { this[str].splice(i, 1); @@ -300,22 +358,24 @@ text-align: center; } } - .sub_btn{ - position: fixed; - bottom: 68rpx; - left: 40rpx; - width: 670rpx; - height: 88rpx; - background: $primaryColor; - box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0,104,255,0.3); - border-radius: 44rpx; - display: flex; - align-items: center; - justify-content: center; - font-weight: 500; - font-size: 32rpx; - color: #FFFFFF; + + .sub_btn { + position: fixed; + bottom: 68rpx; + left: 40rpx; + width: 670rpx; + height: 88rpx; + background: $primaryColor; + box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0, 104, 255, 0.3); + border-radius: 44rpx; + display: flex; + align-items: center; + justify-content: center; + font-weight: 500; + font-size: 32rpx; + color: #FFFFFF; } + .appr_modal { .label { text { @@ -372,41 +432,43 @@ margin-bottom: 30rpx; } - } - .files{ - display: flex; - margin-bottom: 20rpx; - } - .adduser_list_item_ipt1_upload { - margin-top: 24rpx; - width: 156rpx; - height: 156rpx; - margin-right: 24rpx; - border: 2rpx solid #e5e5e5; - background: #f7f7f7; - color: #666666; - font-size: 22rpx; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - position: relative; - - .close { - position: absolute; - right: -20rpx; - top: -20rpx; - z-index: 9999; - } - - image { - width: 100%; - height: 100%; - } - - video { - width: 100%; - height: 100%; - } + } + + .files { + display: flex; + margin-bottom: 20rpx; + } + + .adduser_list_item_ipt1_upload { + margin-top: 24rpx; + width: 156rpx; + height: 156rpx; + margin-right: 24rpx; + border: 2rpx solid #e5e5e5; + background: #f7f7f7; + color: #666666; + font-size: 22rpx; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + position: relative; + + .close { + position: absolute; + right: -20rpx; + top: -20rpx; + z-index: 9999; + } + + image { + width: 100%; + height: 100%; + } + + video { + width: 100%; + height: 100%; + } } </style> \ No newline at end of file -- Gitblit v1.9.3