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 b7090eb..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";
-	::v-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