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 | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 100 insertions(+), 20 deletions(-) diff --git a/policy/translate/translate.vue b/policy/translate/translate.vue index f463722..5fe7646 100644 --- a/policy/translate/translate.vue +++ b/policy/translate/translate.vue @@ -1,41 +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>{{item.checkReason}}</text> + <text>{{item.enforceReason}}</text> <text class="status">寰呭鎵�</text> </view> <view class="user-info"> - <text>鐜嬫�濋洦</text> - <view class="driver"></view> + <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"></u-empty> + <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> @@ -55,7 +77,8 @@ <script> import popupCom from '@/policy/components/popup.vue' - import { checkLogList,checkUpd } from '@/api/policy.js' + import { checkLogList, checkUpd } from '@/api/policy.js' + import { getDicts } from '@/api/data.js' export default { components: { popupCom @@ -70,8 +93,12 @@ queryms: { pageNum: 1, pageSize: 10, - checkStatus: 0 - } + orderStatus: 1, + isAsc: "desc", + orderByColumn: "apply_time" + }, + recordList: [], + typeList: [] } }, computed: { @@ -85,7 +112,8 @@ } }, onLoad() { - this.checkLogList() + + this.getDicts() }, onReachBottom() { if(this.total == this.list.length) { @@ -93,8 +121,26 @@ } 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` @@ -103,7 +149,8 @@ click() { }, - goStartJudeg() { + goStartJudeg(id) { + this.recordList = id this.$refs.popup.open() }, // 鎵归噺瀹℃壒 @@ -114,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: '璇烽�夋嫨瀹℃壒', @@ -130,8 +183,22 @@ }) } }, - 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 @@ -141,6 +208,7 @@ 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 @@ -165,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