From a89fe32c353040bbb95d7519cf7bafc4b5934f10 Mon Sep 17 00:00:00 2001
From: Mr.Zhang <710666463@qq.com>
Date: 星期三, 06 九月 2023 09:54:14 +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