From 64a7f738aadbf552bfb1ce24c46b1924767bf526 Mon Sep 17 00:00:00 2001 From: Mr.Zhang <710666463@qq.com> Date: 星期二, 05 九月 2023 16:00:16 +0800 Subject: [PATCH] 小程序 --- minipro_standard/components/SelectMultipleMaterial.vue | 314 ++++++++++++++++++++++++---------------------------- 1 files changed, 146 insertions(+), 168 deletions(-) diff --git a/minipro_standard/components/SelectMultipleMaterial.vue b/minipro_standard/components/SelectMultipleMaterial.vue index 4939502..b081ce0 100644 --- a/minipro_standard/components/SelectMultipleMaterial.vue +++ b/minipro_standard/components/SelectMultipleMaterial.vue @@ -6,61 +6,65 @@ </v-Search> <div class="content_total">鍏眥{pages.total}}鏉℃暟鎹�</div> <view class="scroll-content"> - <u-list @scrolltoupper="scrolltoupper" @scrolltolower="scrolltolower"> - <u-list-item v-for="(item1, index) in list" :key="index"> - <view class="flex mb20" @click="selectMaterialAction(index)"> - <view class="img36 mr20 pt10"> - <u-checkbox-group style="display: block;" name="" @change="selectMaterialAction(index)"> - <u-checkbox :checked="item1.isActive"></u-checkbox> - </u-checkbox-group> - </view> - <view class="fx1"> - <div class="page_content_title_top"> - <span>{{ item1.materialName + ' | ' + item1.materialCode }}</span> - </div> - <div class="page_content_title_bottom"> - <span class="green" v-if="item1.qualityType == 0"> - 鍚堟牸 - <text class="c1" decode>{{ splite }}</text> - </span> - <span class="orange" v-else-if="item1.qualityType == 1"> - 涓嶈壇 - <text class="c1" decode>{{ splite }}</text> - </span> - <span class="red" v-else-if="item1.qualityType == 2"> - 鎶ュ簾 - <text class="c1" decode>{{ splite }}</text> - </span> - <span v-else> - - - <text class="c1" decode>{{ splite }}</text> - </span> - <span> - {{item1.procedureName ? item1.procedureName : '-'}} - <text class="c1" decode>{{ splite }}</text> - </span> - <span>{{item1.batch ? item1.batch : '-'}}</span> - </div> - <div class="mt20 plr25 ptb20 bg_f7 f26"> - <div class="c2 mb10"><span class="c6">璐т綅锛�</span>{{ item1.locationName }}</div> - <div class="c2"><span class="c6">鏁伴噺锛�</span>{{ item1.num }}{{ item1.unitName }}</div> - </div> - </view> + <scroll-view scroll-y="true" refresher-enabled="true" :refresher-triggered="refreshing" @scrolltolower="loadMore" + @refresherrefresh="onRefresh"> + <view v-for="(item1, index) in list" :key="index" class="flex mb20" @click="selectMaterialAction(index)"> + <view class="img36 mr20 pt10"> + <u-checkbox-group style="display: block;" name="" @change="selectMaterialAction(index)"> + <u-checkbox :checked="selectIndex.includes(index)"></u-checkbox> + </u-checkbox-group> </view> - </u-list-item> - </u-list> - </view> - <view style="height: 98rpx;"></view> - <!-- <view class=""> - <u-safe-bottom></u-safe-bottom> - </view> --> - <view class="fixedBottom bottom cY"> - <view class="fx1 bbox plr30"> - <u-checkbox-group style="display: block;" name="" @change="selectAll()"> - <u-checkbox :checked="isAll" label="鍏ㄩ��"></u-checkbox> - </u-checkbox-group> - </view> - <view class="submit sbtn_green bbox tc">鎻愪氦()</view> + <view class="fx1"> + <div class="page_content_title_top"> + <span>{{ item1.materialName + ' | ' + item1.materialCode }}</span> + </div> + <div class="page_content_title_bottom"> + <span class="green" v-if="item1.qualityType == 0"> + 鍚堟牸 + <text class="c1" decode>{{ splite }}</text> + </span> + <span class="orange" v-else-if="item1.qualityType == 1"> + 涓嶈壇 + <text class="c1" decode>{{ splite }}</text> + </span> + <span class="red" v-else-if="item1.qualityType == 2"> + 鎶ュ簾 + <text class="c1" decode>{{ splite }}</text> + </span> + <span v-else> + - + <text class="c1" decode>{{ splite }}</text> + </span> + <span> + {{item1.procedureName ? item1.procedureName : '-'}} + <text class="c1" decode>{{ splite }}</text> + </span> + <span>{{item1.batch ? item1.batch : '-'}}</span> + </div> + <div class="mt20 plr25 ptb20 bg_f7 f26"> + <div class="c2 mb10"><span class="c6">璐т綅锛�</span>{{ item1.locationName }}</div> + <div class="c2"><span class="c6">鏁伴噺锛�</span>{{ item1.num }}{{ item1.unitName }}</div> + </div> + </view> + </view> + </scroll-view> + <!-- <u-list @scrolltoupper="scrolltoupper" @scrolltolower="scrolltolower"> + <u-list-item v-for="(item1, index) in list" :key="index"> + + </u-list-item> + </u-list> --> + </view> + <view style="height: 98rpx;"></view> + <!-- <view class=""> + <u-safe-bottom></u-safe-bottom> + </view> --> + <view class="fixedBottom bottom cY"> + <view class="fx1 bbox plr30"> + <u-checkbox-group style="display: block;" name="" @change="selectAll()"> + <u-checkbox :checked="isAll" label="鍏ㄩ��"></u-checkbox> + </u-checkbox-group> + </view> + <view class="submit sbtn_green bbox tc" @click="submitAction">{{ `鎻愪氦(${selectIndex.length})`}}</view> </view> </view> </u-popup> @@ -68,6 +72,10 @@ <script> import vSearch from '@/components/Search.vue' + import { + choiceStockListPage, + choiceStockPageForStandard + } from '@/util/api/agencyAPI' export default { name: "selectMaterial", components: { @@ -75,141 +83,109 @@ }, data() { return { - show: false, - splite:' | ', + show: false, + splite: ' | ', isAll: false, + refreshing: false, pages: { - size: 10, - index: 1, + capacity: 10, + page: 1, total: 0 }, - list: [] + list: [], + selectIndex: [] }; }, methods: { open(target) { - this.show = true + this.show = true + this.refreshing = false this.workorderId = target.workorderId this.deviceId = target.deviceId - this.list = [] + this.list = [] + this.selectIndex = [] + + // console.log(this.selectIndex); this.pages = { - size: 10, - index: 1, + capacity: 10, + page: 1, total: 0 } this.loadData() }, loadData() { - this.list = [{ - batch: '1', - materialName: 'dsadas', - materialCode: '1m0001', - locationName: 'a浠�2鍙蜂綅', - num: '1', - unitName: '鍧�', - qualityType: 0, - procedureName: '鍘嬪埗', - isActive: false - }, - { - batch: '1', - materialName: 'dsadas', - materialCode: '1m0001', - locationName: 'a浠�2鍙蜂綅', - num: '1', - unitName: '鍧�', - qualityType: 0, - procedureName: '鍘嬪埗', - isActive: false - }, - { - batch: '1', - materialName: 'dsadas', - materialCode: '1m0001', - locationName: 'a浠�2鍙蜂綅', - num: '1', - unitName: '鍧�', - qualityType: 0, - procedureName: '鍘嬪埗', - isActive: false - }, - { - batch: '1', - materialName: 'dsadas', - materialCode: '1m0001', - locationName: 'a浠�2鍙蜂綅', - num: '1', - unitName: '鍧�', - qualityType: 0, - procedureName: '鍘嬪埗', - isActive: false - }, - { - batch: '1', - materialName: 'dsadas', - materialCode: '1m0001', - locationName: 'a浠�2鍙蜂綅', - num: '1', - unitName: '鍧�', - qualityType: 0, - procedureName: '鍘嬪埗', - isActive: false - }, - { - batch: '1', - materialName: 'dsadas', - materialCode: '1m0001', - locationName: 'a浠�2鍙蜂綅', - num: '1', - unitName: '鍧�', - qualityType: 0, - procedureName: '鍘嬪埗', - isActive: false - }, - { - batch: '1', - materialName: 'dsadas', - materialCode: '1m0001', - locationName: 'a浠�2鍙蜂綅', - num: '1', - unitName: '鍧�', - qualityType: 0, - procedureName: '鍘嬪埗', - isActive: false - } - ] + choiceStockPageForStandard({ + ...this.pages, + model: { + workorderId: this.workorderId, + deviceId: this.deviceId + } + }).then(res => { + let {data} = res + if (data.page == 1) { + this.list = []; + } + this.pages.page = data.page + this.pages.total = data.total + this.list.push(...data.records) + }).catch((err) => { + + }) + .finally(() => { + this.refreshing = false; + }) }, - scrolltoupper() { + loadMore() { + this.pages.page += 1 this.loadData() }, - scrolltolower() { + onRefresh() { + if (this.refreshing) return + this.refreshing = true; + this.pages.page = 1 this.loadData() }, selectMaterialAction(index) { - // console.log('12'); - this.list[index].isActive = !this.list[index].isActive + let i = this.selectIndex.findIndex(item => item==index) + if (i == -1 ) { + this.selectIndex.push(index) + } else { + this.selectIndex.splice(i) + } + }, + selectAll() { + this.selectIndex = [] + this.selectIndex = [...new Array(this.list.length).keys()] }, - selectAll() {} + submitAction () { + this.show = false + let selectValue = [] + this.selectIndex.forEach(item => { + selectValue.push(this.list[item]) + }) + this.$emit('selectes', { materials: selectValue }) + } } - } - /* - */ + } + /* + */ </script> <style lang="scss" scoped> - .material-content { - display: flex; - flex-direction: column; - height: 1200rpx; - box-sizing: border-box; - .scroll-content { - height: calc(1100rpx - env(safe-area-inset-bottom)); - overflow: scroll; + .material-content { + display: flex; + flex-direction: column; + height: 1200rpx; + box-sizing: border-box; + + .scroll-content { + height: calc(1100rpx - env(safe-area-inset-bottom)); + overflow: scroll; } } - .content_total { - margin-top: 20rpx; + .content_total { + margin-top: 20rpx; margin-bottom: 20rpx; // padding: 24rpx 30rpx; // background: #F7F7F7; @@ -258,17 +234,19 @@ display: flex; flex-direction: column; margin-bottom: 10rpx; - - } - .bottom { - height: 98rpx; - .submit { - width: 272rpx; - height: 98rpx; - line-height: 98rpx; - } + + } + + .bottom { + height: 98rpx; + + .submit { + width: 272rpx; + height: 98rpx; + line-height: 98rpx; + } } </style> -- Gitblit v1.9.3