From 28ab9da809aa7c5d42e1871af5fd10c2de09ac66 Mon Sep 17 00:00:00 2001 From: 王恒 <318726284@qq.com> Date: 星期五, 26 九月 2025 14:04:57 +0800 Subject: [PATCH] '交接版本' --- policy/reportDetails/reportDetails.vue | 360 +++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 212 insertions(+), 148 deletions(-) diff --git a/policy/reportDetails/reportDetails.vue b/policy/reportDetails/reportDetails.vue index da7420a..706a3aa 100644 --- a/policy/reportDetails/reportDetails.vue +++ b/policy/reportDetails/reportDetails.vue @@ -1,149 +1,213 @@ -<template> - <view class="page-box"> - <view class="box"> - <view class="form"> - <view class="form-item"> - <view class="label">鎵ф硶涓婚</view> - <view class="input">{{details.enforceReason}}</view> - </view> - <view class="form-item"> - <view class="label">鎵ф硶瀵硅薄</view> - <view class="input">{{details.companyName}}</view> - </view> - <view class="form-item"> - <view class="label">鎵ф硶鏃堕棿</view> - <view class="input">{{details.planTime}}</view> - </view> - <view class="form-item"> - <view class="label">鎵ф硶绫诲瀷</view> - <view class="input">{{enforceType}}</view> - </view> - <view class="form-item"> - <view class="label">鎵ф硶浜哄憳</view> - <view class="input">{{details.executeUser}}</view> - </view> - <view class="form-item"> - <view class="label">鎵ф硶閮ㄩ棬</view> - <view class="input">{{details.executeDeptName}}</view> - </view> - </view> - </view> - <view class="box"> - <view class="form-input"> - <view class="form-input-item" style="margin-bottom: 40rpx;"> - <view class="form-label require" style="margin-bottom: 40rpx;">鎵ф硶缁撴灉</view> - <view> - <u-radio-group v-model="form.regionStatus"> - <u-radio shape="circle" label="姝e父" name="0"></u-radio> - <u-radio shape="circle" label="寰呮暣鏀�" name="1"></u-radio> - </u-radio-group> - </view> - </view> - <view class="form-input-item"> - <view class="form-label require">鎵ф硶缁撴灉璇存槑</view> - <u-textarea placeholder="璇疯緭鍏�..." count v-model="form.regionReason" maxlength="500"></u-textarea> - </view> - - <view class="form-input-item"> - <view class="form-label require">鎵ф硶鐓х墖</view> - <view> - <view class="show-hint">鍙笂浼�9寮犲浘锛屽崟寮犱笉寰楄秴杩�10M</view> - </view> - <view> - <uploadImage ref="uploadImage"></uploadImage> - </view> - </view> - </view> - </view> - <view class="down"> - <view class="button" @click="startReport"> - 涓婃姤缁撴灉 - </view> - </view> - </view> -</template> - -<script> - import uploadImage from '@/policy/components/upload.vue' - import { orderDetails,orderUpd } from '@/api/policy.js' - import { getDicts } from '@/api/data.js' - export default { - components: { - uploadImage - }, - data() { - return { - form: { - regionReason: '', - regionStatus: '0' - }, - fileList1: [], - details: {}, - enforceType: "" - } - }, - onLoad(options) { - this.orderDetails(options.id) - }, - methods: { - // 鑾峰彇鎵ф硶绫诲瀷鏋氫妇 - getDicts() { - getDicts('enforce_type').then(val => { - if(val.data.data) { - this.enforceType = val.data.data.find(item => item.dictCode == this.details.enforceType).dictLabel - } - }) - }, - // 鑾峰彇鎵ф硶鍗曡鎯� - orderDetails(id) { - orderDetails({orderId: id}).then(val => { - this.details = val.data.data - this.getDicts() - }) - }, - // 涓婃姤鎵ц缁撴灉 - startReport() { - if(!this.form.regionReason){ - uni.showToast({ - title: '璇峰~鍐欐墽娉曠粨鏋�', - icon: 'none' - }) - return - } - const image = this.$refs.uploadImage.imageList - if(!image.length){ - uni.showToast({ - title: '璇蜂笂浼犳墽娉曞浘鐗�', - icon: 'none' - }) - return - } - this.details.regionReason = this.form.regionReason - this.form.regionImgs = image.join() - this.form.orderId = this.details.orderId - orderUpd(this.form).then(val =>{ - if(val.data.code == 200) { - uni.showToast({ - title: '涓婃姤鎴愬姛', - icon: 'none' - }) - setTimeout(() => { - uni.navigateBack() - }, 500) - } - }) - } - } - } -</script> -<style> - page { - background-color: #F4F4F4; - } -</style> -<style lang="scss" scoped> - @import "./reportDetails.scss"; - /deep/ .u-radio{ - margin-right: 80rpx; - } +<template> + <view class="page-box"> + <view class="box"> + <view class="form"> + <view class="form-item"> + <view class="label">鎵ф硶涓婚</view> + <view class="input">{{details.enforceReason}}</view> + </view> + <view class="form-item"> + <view class="label">鎵ф硶瀵硅薄</view> + <view class="input">{{details.companyName}}</view> + </view> + <view class="form-item"> + <view class="label">鎵ф硶鏃堕棿</view> + <view class="input">{{details.planTime || details.planMonth || ''}}</view> + </view> + <view class="form-item"> + <view class="label">妫�鏌ユ柟寮�</view> + <view class="input">{{enforceType}}</view> + </view> + <view class="form-item"> + <view class="label">鎵ф硶浜哄憳</view> + <view class="input">{{details.executeUser}}</view> + </view> + <view class="form-item"> + <view class="label">鎵ф硶閮ㄩ棬</view> + <view class="input">{{details.executeDeptName}}</view> + </view> + </view> + </view> + <view class="box"> + <view class="form-input"> + <view class="form-input-item" style="margin-bottom: 40rpx;"> + <view class="form-label require" style="margin-bottom: 40rpx;">鎵ф硶缁撴灉</view> + <view> + <u-radio-group v-model="form.regionStatus"> + <u-radio shape="circle" label="姝e父" name="0"></u-radio> + <u-radio shape="circle" label="寰呮暣鏀�" name="1"></u-radio> + </u-radio-group> + </view> + </view> + <view class="form-input-item"> + <view class="form-label require">鎵ф硶缁撴灉璇存槑</view> + <u-textarea placeholder="璇疯緭鍏�..." count v-model="form.regionReason" maxlength="500"></u-textarea> + </view> + + <!-- 鏄惁鍒涘缓鏁存敼璁″垝 --> + <view class="form-input-item" style="margin-bottom: 40rpx;"> + <view class="form-label require" style="margin-bottom: 40rpx;">鏄惁鍒涘缓鏁存敼璁″垝</view> + <view> + <u-radio-group v-model="isRectify" @change="changeRectify"> + <u-radio shape="circle" label="鏄�" :name="1"></u-radio> + <u-radio shape="circle" label="鍚�" :name="0"></u-radio> + </u-radio-group> + </view> + </view> + <!-- 鏁存敼鏃堕棿 --> + <view v-if="isRectify == 1" class="form-input-item" style="margin-bottom: 40rpx;"> + <view class="form-label require" style="margin-bottom: 40rpx;">鏁存敼璁″垝鏃堕棿</view> + <view class="form-input-content" @click="showTimeFun"> + <input type="text" placeholder="璇烽�夋嫨鏁存敼璁″垝鏃堕棿" disabled v-model.trim="form.planTime" /> + <u-icon name="arrow-right"></u-icon> + </view> + </view> + + <view class="form-input-item"> + <view class="form-label require">鎵ф硶鐓х墖</view> + <view> + <view class="show-hint">鍙笂浼�9寮犲浘锛屽崟寮犱笉寰楄秴杩�10M</view> + </view> + <view> + <uploadImage ref="uploadImage"></uploadImage> + </view> + </view> + </view> + </view> + <view class="down"> + <view class="button" @click="startReport"> + 涓婃姤缁撴灉 + </view> + </view> + + <yt-dateTimePicker ref="myPicker" @submit="confirmTime" :time-init="timeInit" :start-year="year" :startMonth="month" + :time-hide="[true, true, true, true, false, false]" /> + </view> +</template> + +<script> + import uploadImage from '@/policy/components/upload.vue' + import { + orderDetails, + orderUpd + } from '@/api/policy.js' + import { + getDicts + } from '@/api/data.js' + export default { + components: { + uploadImage + }, + data() { + return { + form: { + regionReason: '', + regionStatus: '0', + planTime: null, // 鏁存敼璁″垝鏃堕棿 + }, + fileList1: [], + details: {}, + enforceType: "", + timeInit: '', + planTimeStr: '', + isRectify: 0, // 鏄惁鍒涘缓鏁存敼 + } + }, + onLoad(options) { + this.orderDetails(options.id) + }, + methods: { + changeRectify(e) { + console.log(e) + if (e == 0) { + this.form.planTime = null + this.timeInit = '' + this.planTimeStr = '' + } + }, + + // 鑾峰彇鎵ф硶绫诲瀷鏋氫妇 + getDicts() { + getDicts('enforce_type').then(val => { + if (val.data.data) { + this.enforceType = val.data.data.find(item => item.dictCode == this.details.enforceType).dictLabel + } + }) + }, + // 鑾峰彇鎵ф硶鍗曡鎯� + orderDetails(id) { + orderDetails({ + orderId: id + }).then(val => { + this.details = val.data.data + this.getDicts() + }) + }, + // 涓婃姤鎵ц缁撴灉 + startReport() { + if (!this.form.regionReason) { + uni.showToast({ + title: '璇峰~鍐欐墽娉曠粨鏋�', + icon: 'none' + }) + return + } + const image = this.$refs.uploadImage.imageList + if (!image.length) { + uni.showToast({ + title: '璇蜂笂浼犳墽娉曞浘鐗�', + icon: 'none' + }) + return + } + this.details.regionReason = this.form.regionReason + this.form.regionImgs = image.join() + this.form.orderId = this.details.orderId + orderUpd(this.form).then(val => { + if (val.data.code == 200) { + uni.showToast({ + title: '涓婃姤鎴愬姛', + icon: 'none' + }) + setTimeout(() => { + uni.navigateBack() + }, 500) + } + }) + }, + + showTimeFun() { + this.$refs.myPicker.show(); + }, + + confirmTime(e) { + this.form.planTime = e.year + '-' + e.month + '-' + +e.day + ' ' + e.hour + ":" + "00:00" + this.planTimeStr = e.year + '-' + e.month + '-' + +e.day + ' ' + e.hour + ":" + "00" + this.timeInit = this.$u.timeFormat(new Date(this.planTimeStr), 'yyyy-mm-dd hh:MM') + }, + } + } +</script> +<style> + page { + background-color: #F4F4F4; + } +</style> +<style lang="scss" scoped> + @import "./reportDetails.scss"; + + ::v-deep .u-radio { + margin-right: 80rpx; + } + + .form-input-content { + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + background-color: #F4F4F4; + border-radius: 12rpx; + padding: 10rpx 20rpx; + box-sizing: border-box; + } </style> \ No newline at end of file -- Gitblit v1.9.1