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 | 88 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 76 insertions(+), 12 deletions(-) diff --git a/policy/translate/translate.vue b/policy/translate/translate.vue index 6058099..5fe7646 100644 --- a/policy/translate/translate.vue +++ b/policy/translate/translate.vue @@ -1,8 +1,8 @@ <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> @@ -13,29 +13,51 @@ </view> <view class="user-info"> <text>{{item.applyUser}}</text> - <view class="driver"></view> + <!-- <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>{{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>{{item.planTime}} </view> <view class="set-line1"> <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(item.orderId)"> + <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> @@ -56,6 +78,7 @@ <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 @@ -70,9 +93,12 @@ queryms: { pageNum: 1, pageSize: 10, - checkStatus: 0 + orderStatus: 1, + isAsc: "desc", + orderByColumn: "apply_time" }, - recordList: [] + recordList: [], + typeList: [] } }, computed: { @@ -86,7 +112,8 @@ } }, onLoad() { - this.checkLogList() + + this.getDicts() }, onReachBottom() { if(this.total == this.list.length) { @@ -94,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` @@ -116,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: '璇烽�夋嫨瀹℃壒', @@ -134,7 +185,7 @@ }, entery(form) { // 1浼佷笟瀹℃壒锛�2鎵ф硶鍗曞鎵� - checkUpd({...form, id: this.recordList, checkType: 2}).then(val => { + checkUpd({...form, ids: this.recordList, checkType: 2}).then(val => { if(val.data.code == 200) { uni.showToast({ title: '瀹℃壒鎴愬姛', @@ -157,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 @@ -181,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