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 | 330 +++++++++++++++++++++++++++++++++++------------------- 1 files changed, 212 insertions(+), 118 deletions(-) diff --git a/policy/reportDetails/reportDetails.vue b/policy/reportDetails/reportDetails.vue index ad98574..706a3aa 100644 --- a/policy/reportDetails/reportDetails.vue +++ b/policy/reportDetails/reportDetails.vue @@ -1,119 +1,213 @@ -<template> - <view class="page-box"> - <view class="box"> - <view class="form"> - <view class="form-item"> - <view class="label">鎵ф硶涓婚</view> - <view class="input">24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view> - </view> - <view class="form-item"> - <view class="label">鎵ф硶瀵硅薄</view> - <view class="input">24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view> - </view> - <view class="form-item"> - <view class="label">鎵ф硶鏃堕棿</view> - <view class="input">24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view> - </view> - <view class="form-item"> - <view class="label">鎵ф硶绫诲瀷</view> - <view class="input">24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view> - </view> - <view class="form-item"> - <view class="label">鎵ф硶浜哄憳</view> - <view class="input">24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view> - </view> - <view class="form-item"> - <view class="label">鎵ф硶閮ㄩ棬</view> - <view class="input">24骞�5鏈堜唤娑堥槻绐佸嚮妫�鏌�</view> - </view> - </view> - </view> - <view class="box"> - <view class="form-input"> - <view class="form-input-item"> - <view class="form-label require">鎵ф硶缁撴灉</view> - <u-textarea count v-model="form.reasoon" maxlength="500"></u-textarea> - </view> - <view class="form-input-item"> - <view class="form-label require">鎵ф硶鐓х墖</view> - <view> - <u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple - :maxCount="10"></u-upload> - </view> - </view> - </view> - </view> - <view class="down"> - <view class="button"> - 涓婃姤璁板綍 - </view> - </view> - </view> -</template> - -<script> - export default { - data() { - return { - form: { - reasoon: '' - }, - fileList1: [] - } - }, - methods: { - // 鍒犻櫎鍥剧墖 - deletePic(event) { - this[`fileList${event.name}`].splice(event.index, 1) - }, - // 鏂板鍥剧墖 - async afterRead(event) { - // 褰撹缃� multiple 涓� true 鏃�, file 涓烘暟缁勬牸寮忥紝鍚﹀垯涓哄璞℃牸寮� - let lists = [].concat(event.file) - let fileListLen = this[`fileList${event.name}`].length - lists.map((item) => { - this[`fileList${event.name}`].push({ - ...item, - status: 'uploading', - message: '涓婁紶涓�' - }) - }) - for (let i = 0; i < lists.length; i++) { - const result = await this.uploadFilePromise(lists[i].url) - let item = this[`fileList${event.name}`][fileListLen] - this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, { - status: 'success', - message: '', - url: result - })) - fileListLen++ - } - }, - uploadFilePromise(url) { - return new Promise((resolve, reject) => { - let a = uni.uploadFile({ - url: 'http://192.168.2.21:7001/upload', // 浠呬负绀轰緥锛岄潪鐪熷疄鐨勬帴鍙e湴鍧� - filePath: url, - name: 'file', - formData: { - user: 'test' - }, - success: (res) => { - setTimeout(() => { - resolve(res.data.data) - }, 1000) - } - }); - }) - }, - } - } -</script> -<style> - page { - background-color: #F4F4F4; - } -</style> -<style lang="scss" scoped> - @import "./reportDetails.scss"; +<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