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