From 2ffea51205b7eb94cf3fb7221aede7ff66669fc1 Mon Sep 17 00:00:00 2001
From: wjt <1797368093@qq.com>
Date: 星期一, 29 七月 2024 15:59:04 +0800
Subject: [PATCH] 新需求修改

---
 policy/translate/translate.vue |  156 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 130 insertions(+), 26 deletions(-)

diff --git a/policy/translate/translate.vue b/policy/translate/translate.vue
index 31976b5..5fe7646 100644
--- a/policy/translate/translate.vue
+++ b/policy/translate/translate.vue
@@ -1,40 +1,63 @@
 <template>
 	<view class="page-box">
 		<view class="list">
-			<view class="select-box" v-for="(item,index) in list" :key="index" :class="{start: isJudege}">
-				<view class="select-image" v-if="isJudege" @click="setIsSelect(index)">
+			<view class="select-box" @click="setIsSelect(index)" v-for="(item,index) in list" :key="index" :class="{start: isJudege}">
+				<view class="select-image" v-if="isJudege" >
 					<image src="/static/policy/checkbox.png" mode="widthFix" v-show="item.isSelect"></image>
 					<image src="/static/policy/none-checkbox.png" mode="widthFix" v-show="!item.isSelect"></image>
 				</view>
 				<view class="list-item">
 					<view class="top-title">
-						<text>24骞�5鏈堢獊鍑绘鏌ユ秷闃插畨鍏�</text>
+						<text>{{item.enforceReason}}</text>
 						<text class="status">寰呭鎵�</text>
 					</view>
 					<view class="user-info">
-						<text>鐜嬫�濋洦</text>
-						<view class="driver"></view>
-						<text>鎵ф硶涓�澶ч槦</text>
+						<text>{{item.applyUser}}</text>
+					<!-- 	<view class="driver"></view>
+						<text>{{item.checkDeptName}}</text> -->
+					</view>
+					<view class="user-info">
+						<!-- <text>{{item.applyUser}}</text>
+						<view class="driver"></view> -->
+						<text>{{item.checkDeptName}}</text>
 					</view>
 					<view class="set-line">
-						<text>鎵ф硶瀵硅薄锛�</text>娌冲崡瑙夐啋绉戞妧鏈夐檺鍏徃
+						<text>鎵ф硶瀵硅薄锛�</text>{{item.companyName}}
 					</view>
+					
 					<view class="line"></view>
 					<view class="set-flex set-start set-flex-content-between">
-						<view>
+						<view style="width: 75%;">
 							<view class="set-line1">
-								<text>鎵ф硶鏃堕棿锛�</text>2024-05-12 12:00
+								<text>鎵ф硶鏃堕棿锛�</text>{{item.planTime}}
 							</view>
 							<view class="set-line1">
-								<text>鐢宠鏃堕棿锛�</text>2024-05-12 12:00:12
+								<text>鐢宠鏃堕棿锛�</text>{{item.applyTime}}
 							</view>
+							<view class="look" v-if="item.show">
+								<view class="set-line">
+									<text>鎵ф硶涓婚锛�</text>{{item.enforceReason}}
+								</view>
+								<view class="set-line">
+									<text>鎵ф硶绫诲瀷锛�</text>{{handlerType(item.enforceType)}}
+								</view>
+								<view class="set-line set-line-flex">
+									<text>鎵ф硶鍐呭锛�</text> <view>{{item.enforceContent}}</view>
+								</view>
+							</view>
+							
 						</view>
-						<view class="button" v-if="!isJudege" @click="goStartJudeg">
+						<view class="button" v-if="!isJudege" @click.self="goStartJudeg([item.orderId])">
 							瀹℃壒
 						</view>
 					</view>
+					<view @click="showItem(item)" class="icon" style="text-align: center;display: flex;justify-content: center;align-items: center;">
+						<u-icon name="arrow-down" color="#bfbfbf" size="20" v-if="!item.show"></u-icon>
+						<u-icon name="arrow-up" color="#bfbfbf" size="20" v-else></u-icon>
+					</view>
 				</view>
 			</view>
+			<u-empty v-if="!list.length" style="margin-top: 200rpx;"></u-empty>
 		</view>
 		<view class="down" v-if="!isJudege">
 			<view class="button" @click="goRecord">瀹℃壒璁板綍</view>
@@ -54,32 +77,70 @@
 
 <script>
 	import popupCom from '@/policy/components/popup.vue'
+	import { checkLogList, checkUpd } from '@/api/policy.js'
+	import { getDicts } from '@/api/data.js'
 	export default {
 		components: {
 			popupCom
 		},
 		data() {
 			return {
-				list1: [{
-					name: '寰呬笂鎶�',
-				}, {
-					name: '宸蹭笂鎶�',
-				}],
 				isJudege: false,
 				list: [
-					{
-						isSelect: false
-					}
+					
 				],
+				total: 1,
+				queryms: {
+					pageNum: 1,
+					pageSize: 10,
+					orderStatus: 1,
+					isAsc: "desc",
+					orderByColumn: "apply_time"
+				},
+				recordList: [],
+				typeList: []
 			}
 		},
 		computed: {
 			isAllSelect(){
-				const value = this.list.every(item => item.isSelect)
-				return value
+				if(this.list.length) {
+					const value = this.list.every(item => item.isSelect)
+					return value
+				} else {
+					return false
+				}
 			}
 		},
+		onLoad() {
+			
+			this.getDicts()
+		},
+		onReachBottom() {
+			if(this.total == this.list.length) {
+				return
+			}
+			this.queryms.pageNum++
+			this.checkLogList()
+			
+		},
 		methods: {
+			showItem(item) {
+				item.show = !item.show
+			},
+			handlerType(type) {
+				const value = this.typeList.find(item => item.dictCode == type)
+				if(value) {
+					return value.dictLabel
+				} else {
+					return ''
+				}
+			},
+			getDicts(type) {
+				getDicts('enforce_type').then(val => {
+					this.typeList = val.data.data
+					this.checkLogList()
+				})
+			},
 			goRecord() {
 				uni.navigateTo({
 					url: `/policy/translateRecord/translateRecord`
@@ -88,7 +149,8 @@
 			click() {
 
 			},
-			goStartJudeg() {
+			goStartJudeg(id) {
+				this.recordList = id
 				this.$refs.popup.open()
 			},
 			// 鎵归噺瀹℃壒
@@ -99,15 +161,21 @@
 				this.isJudege = true
 			},
 			setIsSelect(index){
+				if(!this.isJudege) {
+					return
+				}
 				this.list[index].isSelect = !this.list[index].isSelect
 			},
 			allSelect() {
-				this.list.map(item => item.isSelect = !this.isAllSelect)
+				const value = this.isAllSelect
+				this.list.map(item => item.isSelect = !value)
 			},
 			moreStart() {
 				const value = this.list.some(item => item.isSelect)
 				if(value) {
-					this.goStartJudeg()
+					const valueData = this.list.filter(item => item.isSelect).map(item => item.orderId)
+					// console.log(valueData)
+					this.goStartJudeg(valueData)
 				} else {
 					uni.showToast({
 						title: '璇烽�夋嫨瀹℃壒',
@@ -115,12 +183,36 @@
 					})
 				}
 			},
-			entery() {
-				this.isJudege = false
+			entery(form) {
+				// 1浼佷笟瀹℃壒锛�2鎵ф硶鍗曞鎵�
+				checkUpd({...form, ids: this.recordList, checkType: 2}).then(val => {
+					if(val.data.code == 200) {
+						uni.showToast({
+							title: '瀹℃壒鎴愬姛',
+							icon: 'none'
+						})
+					}
+					this.list = []
+					this.queryms.pageNum = 1
+					this.checkLogList()
+					this.$refs.popup.close()
+					this.isJudege = false
+				})
+				
 			},
 			cancelSelect() {
 				this.isJudege = false
 				this.list.map(item => item.isSelect = false)
+			},
+			checkLogList() {
+				checkLogList(this.queryms).then(val => {
+					val.data.rows.map(item => {
+						item.isSelect = false
+						item.show = false
+					})
+					this.list = [...this.list,...val.data.rows ]
+					this.total = val.data.total
+				})
 			}
 		}
 	}
@@ -141,4 +233,16 @@
 		background-color: #F4F4F4 !important;
 		border: none;
 	}
+	.set-line-flex{
+		display: flex;
+		justify-content: flex-start;
+		align-items: flex-start;
+		text{
+			width: 28%;
+			display: inline-block;
+		}
+		& > view{
+			width: 70%;
+		}
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1