From cc32dc8d26f71497ce7f7e43930ec03035e6fe90 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期三, 20 十一月 2024 14:23:14 +0800
Subject: [PATCH] #
---
pages/order/orderComb.vue | 87 ++++++-------
pages.json | 9 +
pages/order/orderSelect.vue | 248 +++++++++++++++++++++++++++++++++++++++++
3 files changed, 298 insertions(+), 46 deletions(-)
diff --git a/pages.json b/pages.json
index 853f6cf..ca2ab5c 100644
--- a/pages.json
+++ b/pages.json
@@ -388,6 +388,15 @@
}
}
+ ,{
+ "path" : "pages/order/orderSelect",
+ "style" :
+ {
+ "navigationBarTitleText": "閫夋嫨璁㈠崟",
+ "enablePullDownRefresh": false
+ }
+
+ }
],
"globalStyle": {
"navigationBarTextStyle": "black",
diff --git a/pages/order/orderComb.vue b/pages/order/orderComb.vue
index af177b6..0668df0 100644
--- a/pages/order/orderComb.vue
+++ b/pages/order/orderComb.vue
@@ -20,10 +20,10 @@
<input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode" :focus="barcodeFocus"
@input="barcodeInput()">
</view>
- <view class="item">
+ <!-- <view class="item">
<view class="code-decs">璁㈠崟鍙�:</view>
<uni-combox :candidates="orderNoList" placeholder="璇烽�夋嫨璁㈠崟" v-model="orderNo" @input="getOrderDet"></uni-combox>
- </view>
+ </view> -->
</view>
<view class="mat-list-title">
<view style="width: 200rpx;"></view>
@@ -32,49 +32,21 @@
</view>
<scroll-view>
<checkbox-group class="list" v-for="(item,i) in dataList" :key="i" @change="checkboxChange">
- <view class="aside">
- <!-- <checkbox :value="item.matnr" :checked="item.checked" @click="set(i)"/> -->
- </view>
<view class="list-left" style="margin: 0;">
<view class="list-left-item">
- <view class="desc">No锛�</view>
- <view class="left-item">{{i + 1}}</view>
+ <view class="desc">No锛歿{i + 1}}</view>
</view>
<view class="list-left-item">
- <view class="desc">璁㈠崟鍙凤細</view>
- <view class="left-item">
- <uni-tag :text="item.orderNo" type="primary"></uni-tag>
- </view>
+ <view class="desc">璁㈠崟鍙凤細{{item.orderNo}}</view>
</view>
<view class="list-left-item">
- <view class="desc">鏂欏彿锛�</view>
- <view class="left-item">
- <uni-tag :text="item.matnr" type="primary"></uni-tag>
- </view>
+ <view class="desc">鏂欏彿锛歿{item.matnr}}</view>
</view>
<view class="list-left-item">
- <view class="desc">鍚嶇О锛�</view>
- <view class="left-item">{{item.maktx}}</view>
+ <view class="desc">鎵瑰彿锛歿{item.batch}}</view>
</view>
- <view class="list-left-item">
- <view class="desc">瑙勬牸锛�</view>
- <view class="left-item">{{item.specs}}</view>
- </view>
- <view class="list-left-item">
- <view class="desc">鎵瑰彿锛�</view>
- <view class="left-item">
- <uni-tag :text="item.batch" type="warning"></uni-tag>
- </view>
- </view>
- <!-- <view class="list-left-item">
- <view class="desc">閲嶉噺锛�</view>
- <view class="left-item">
- <uni-tag :text="item.weight" type="warning"></uni-tag>
- </view>
- </view> -->
- <view class="list-left-item">
- <view class="desc">鍓╀綑鏁伴噺锛�</view>
- <view class="left-item">{{item.anfme}}</view>
+ <view class="list-left-item" >
+ <view class="desc">鏁伴噺锛歿{item.anfme}}</view>
</view>
</view>
<view class="list-right">
@@ -113,7 +85,7 @@
<view class="popup-item">
<view class="popup-item-left">鏁伴噺:</view>
<view class="popup-item-right" style="border: none;justify-content: center;">
- <uni-number-box :value="count" :step='1' :max="9999999" color="#747474"
+ <uni-number-box :value="count" :step='1' :max="maxCount" color="#747474"
@change="changeValue" />
</view>
</view>
@@ -191,6 +163,7 @@
removeNum: 0,
orderNoList: [],
orderNo: '',
+ maxCount: 0
}
},
onShow() {
@@ -212,14 +185,35 @@
this.dataList[e].checked = ck ? false:true
},
getChecked() {
- var checkedList = []
- for(var i = 0; i < this.dataList.length; i++) {
- var t = !this.dataList[i].checked
- if (this.dataList[i].checked) {
- checkedList.push(this.dataList[i])
+ let _this = this
+ uni.navigateTo({
+ url: './orderSelect',
+ success(res) {
+ res.eventChannel.emit('matList', {
+ matList: _this.dataList
+ })
+ },
+ events: {
+ pickList: function(data) {
+ for (let k of data.data) {
+ let add = true
+ if (_this.dataList.length == 0) {
+ _this.dataList.push(k)
+ continue
+ }
+ for (let m of _this.dataList) {
+ if (k.matnr == m.matnr && k.orderNo == k.orderNo) {
+ add = false
+ }
+ }
+ if (add) {
+ k['maxCount'] = k.anfme
+ _this.dataList.push(k)
+ }
+ }
+ }
}
- }
- this.dataList = checkedList
+ })
},
getOrderDet() {
let that = this
@@ -459,6 +453,7 @@
this.count = this.dataList[i].anfme
this.batch = this.dataList[i].batch
this.weight = this.dataList[i].weight
+ this.maxCount = this.dataList[i].maxCount
this.rowNum = i
this.eject()
},
@@ -542,7 +537,7 @@
.code {
width: 100%;
position: fixed;
- min-height: 200rpx;
+ min-height: 100rpx;
background-color: #FFF;
z-index: 10;
}
@@ -583,7 +578,7 @@
width: 100%;
background-color: white;
position: fixed;
- margin-top: 200rpx;
+ margin-top: 100rpx;
z-index: 9;
/* border-top: 1px solid #DCDFE6; */
text-align: center;
diff --git a/pages/order/orderSelect.vue b/pages/order/orderSelect.vue
new file mode 100644
index 0000000..6fa2fbe
--- /dev/null
+++ b/pages/order/orderSelect.vue
@@ -0,0 +1,248 @@
+<template>
+ <view>
+ <view class="code">
+ <view style="display: flex;align-items: center;">
+ <view style="width: 70rpx;padding-left: 20rpx;">{{searchType}}</view>
+ <view style="flex: 1;margin-left: -8rpx;background-color: white;padding: 4px;margin: 4px;border-radius: 4px;">
+ <!-- <uni-search-bar v-model="searchValue"
+ maxlength="500" ancel="cancel" @confirm="getMatList()" @clear="clear" placeholder="杈撳叆 / 鎵弿">
+ </uni-search-bar> -->
+ <uni-combox :candidates="orderNoList" placeholder="璇烽�夋嫨璁㈠崟" v-model="orderNo" @input="getOrderDet"></uni-combox>
+ </view>
+ </view>
+ <view class="code-title">
+ <view style="flex: 1;"></view>
+ <view style="width: 100%;text-align: center;margin: 16rpx 0;flex: 1;">{{searchValue}} 鎬绘暟閲忥細- {{dataList.length}} -</view>
+ <view style="flex: 1;display: flex;align-items: center;"><button size="mini" type="primary" @click="allSelect()">{{seltitle}}</button></view>
+ </view>
+ </view>
+
+ <view class="order__list" v-for="(orderDetl,index) in dataList" :key="index">
+ <view class="order__list__left">
+ <view>No锛歿{index + 1}}</view>
+ <view>璁㈠崟鍙凤細{{orderDetl.orderNo}}</view>
+ <view>鏂欏彿锛歿{orderDetl.matnr}}</view>
+ <view>鎵瑰彿锛歿{orderDetl.batch}}</view>
+ <view>鍙敤鏁伴噺锛歿{orderDetl.enableQty}}</view>
+ </view>
+ <view class="order__list__right">
+ <!-- <uni-icons type="folder-add" size="25" color="#fff"></uni-icons> -->
+ <label @click="checkboxChange(orderDetl)">
+ <checkbox :value="orderDetl.matnr" :checked="orderDetl.checked" style="transform:scale(0.7)" /><text></text>
+ </label>
+ </view>
+ </view>
+ <!-- 搴曢儴鎿嶄綔鎸夐挳 -->
+ <view class="buttom">
+ <button size="mini" type="primary" @click="addItems()">鎻愬彇</button>
+ </view>
+ <view style="height: 100rpx;width: 100%;text-align: center;line-height: 100rpx;">- 宸茬粡鍒板簳浜� -</view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ baseUrl: '',
+ token: '',
+ storeId: 0,
+ store: '',
+ total: 0,
+ searchType: '璁㈠崟',
+ searchValue: '',
+ dataList: [],
+ selectedList: [],
+ matnr: '',
+ orderNo: '',
+ orderNoList: [],
+ seltitle: '鍏ㄩ��'
+ }
+ },
+ onShow() {
+ let _this = this
+ this.baseUrl = uni.getStorageSync('baseUrl');
+ this.token = uni.getStorageSync('token');
+ this.storeId = uni.getStorageSync('store')
+ if (this.storeId == 1) {
+ this.store = '瀹佹尝浠�'
+ }
+ if (this.storeId == 2) {
+ this.store = '鏂版槍浠�'
+ }
+ const eventChannel = this.getOpenerEventChannel();
+ eventChannel.on('item', function(data) {
+ _this.matnr = data.item.matnr
+ _this.getMatList()
+ })
+ this.getOrderNoList()
+ },
+ methods: {
+ addItems() {
+ let pickList = []
+ for (let k of this.dataList) {
+ if (k.checked) {
+ pickList.push(k)
+ }
+ }
+ this.getOpenerEventChannel().emit('pickList', {data: pickList});
+ uni.navigateBack({
+
+ })
+ },
+ checkboxChange(e) {
+ let items = this.dataList,
+ values = e.matnr;
+ if (e.checked) {
+ this.$set(e,'checked',false)
+ } else {
+ this.$set(e,'checked',true)
+ }
+ var count = 0
+ for (let k of items) {
+ if (k.checked) {
+ count++
+ }
+ }
+ if (count == items.length && count > 0) {
+ this.seltitle = '鍙栨秷鍏ㄩ��'
+ } else {
+ this.seltitle = '鍏ㄩ��'
+ }
+ },
+ allSelect() {
+ if (this.seltitle == '鍏ㄩ��') {
+ for (let k of this.dataList) {
+ k.checked = true
+ }
+ this.seltitle = '鍙栨秷鍏ㄩ��'
+ } else {
+ for (let k of this.dataList) {
+ k.checked = false
+ }
+ this.seltitle = '鍏ㄩ��'
+ }
+
+ },
+ getOrderDet() {
+ let that = this
+ uni.request({
+ url: that.baseUrl + '/order/list/orderNo',
+ data: {orderNo: that.orderNo} ,
+ method: 'GET',
+ success(res) {
+ res = res.data;
+ if (res.code === 200) {
+ that.dataList = res.data
+ for (var i = 0; i < that.dataList.length; i++) {
+ that.$set(that.dataList[i],'checked',false)
+ }
+ }
+ }
+ })
+ },
+ getOrderNoList() {
+ let that = this
+ uni.request({
+ url: this.baseUrl + '/order/comb/list/all',
+ header: {
+ 'token': uni.getStorageSync('token')
+ },
+ method: 'POST',
+ success(res) {
+ res = res.data
+ for (var i = 0; i < res.data.length; i++) {
+ that.orderNoList.push(res.data[i].order_no)
+ }
+ }
+ })
+ },
+ clear() {
+ this.searchValue = ''
+ this.getOrderNoList(this.locNo)
+ },
+ back() { uni.navigateBack({}) },
+ set(e) {
+ var ck = this.dataList[e].checked
+ this.dataList[e].checked = ck ? false : true
+ },
+ getMatList() {
+ let that = this
+ let searchParam = {
+ orderNo: that.searchValue,
+ matnr: that.matnr,
+ }
+ console.log(searchParam);
+ uni.request({
+ url: that.baseUrl + '/mobile/outBound/mat/list',
+ header: {
+ 'token': uni.getStorageSync('token')
+ },
+ data: searchParam,
+ method: 'GET',
+ success(res) {
+ res = res.data;
+ if (res.code === 200) {
+ that.total = res.data.length
+ const result1 = res.data.filter(obj1 =>
+ !that.selectedList.some(obj2 => obj1.matnr === obj2.matnr && obj1.orderNo === obj2.orderNo)
+ );
+ that.dataList = result1
+ that.total = result1.length
+ } else if (res.code == 403) {
+ uni.showToast({ title: res.msg, icon: "error", position: 'center' })
+ setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000);
+ } else {
+ uni.showToast({ title: res.msg, icon: "error", position: 'center' })
+ }
+ }
+ })
+
+ },
+ addItem(mat) {
+ this.getOpenerEventChannel().emit('sMat', {data: mat});
+ uni.navigateBack({
+
+ })
+ }
+ }
+ }
+</script>
+
+<style>
+ @import url('../../static/css/wms.css/wms.css');
+ .code {
+ background-color: #d9d9d9;
+ z-index: 99;
+ position: sticky;
+ top: 0rpx;
+ left: 0;
+ }
+ .code-title {
+ display: flex;
+ }
+ .order__list {
+ margin: 20rpx;
+ font-size: 14px;
+ background-color: #fff;
+ border-radius: 20rpx;
+ border: 1px solid #eeeeee;
+ display: flex;
+ position: relative;
+ background-color: #3eb689;
+ color: #FFF;
+ }
+ .order__list__left {
+ flex: 1;
+ padding: 20rpx;
+ position: relative;
+ }
+ .order__list__right {
+ width: 70rpx;
+ border-left: 1px solid #eeeeee;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+</style>
+
--
Gitblit v1.9.1