From b5f084460e9e639358fbf91056a86be8d0a5c4b2 Mon Sep 17 00:00:00 2001
From: yaolonglong <yaolonglong15@163.com>
Date: 星期四, 09 十月 2025 20:18: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