From b73a87680e8ba1594b02f7b2d5431d7d703299ed Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期三, 21 二月 2024 12:58:06 +0800
Subject: [PATCH] #
---
pages/tzsk/pakin/locPick.vue | 324 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 301 insertions(+), 23 deletions(-)
diff --git a/pages/tzsk/pakin/locPick.vue b/pages/tzsk/pakin/locPick.vue
index f25296d..ca7a86f 100644
--- a/pages/tzsk/pakin/locPick.vue
+++ b/pages/tzsk/pakin/locPick.vue
@@ -1,12 +1,84 @@
<template>
<view>
- <view class="box" v-for="item in 10">
- <view class="box-left">
- <text class="text"> 搴撳尯 </text>
+ <view class="container" v-for="(item,i) in tree" :key="i">
+ <view :class="item.key">
+ <view class="title" >
+ <view style="width: 50%;">{{item.title}}</view>
+ <view @click="switchbtn(item)">
+ <uni-icons type="top" v-show="item.switch"></uni-icons>
+ <uni-icons type="bottom" v-show="!item.switch"></uni-icons>
+ </view>
+ </view>
+ <view class="name" v-show="item.key == 'user_id'" @click="back()">
+ <view>{{item.title}}</view>
+ </view>
+ <view class="sub1" v-for="sub in item.children" style="margin-left: 1em;" v-show="item.switch">
+ <view :class="sub.key" class="title sub-title" >
+ <view @click="chose(sub)">{{sub.title}}</view>
+ <view @click="switchbtn(sub)">
+ <uni-icons type="top" v-show="sub.switch"></uni-icons>
+ <uni-icons type="bottom" v-show="!sub.switch"></uni-icons>
+ </view>
+ </view>
+
+ <view :class="sub.key" class="name" v-show="sub.key == 'user_id'" @click="back()">
+ <view>{{sub.title}}</view>
+ </view>
+
+ <view class="sub2" v-for="it in sub.children" style="margin-left: 1em;" v-show="sub.switch">
+ <!-- <view :class="it.key" class="title sub-title" >{{it.title}}</view> -->
+ <view :class="it.key" class="locarea name" @click="chose(it)">
+ <view>{{it.title}}</view>
+ </view>
+ </view>
+ </view>
</view>
- <view class="box-right">
- <text class="text"> {{item}} </text>
+ </view>
+
+ <view class="pick-list" v-show="pickData != ''">
+ <view class="list-item">
+ <text class="list-title">璁㈠崟鍙凤細</text><text class="val-text">{{pickData.docNum ? pickData.docNum : '--'}}</text>
</view>
+ <view class="list-item">
+ <text>搴撲綅鍙凤細</text><text>{{pickData.locNo}}</text>
+ </view>
+ <view class="list-item">
+ <text>鎵樼洏鐮侊細</text><text>{{pickData.zpallet ? pickData.zpallet : '--'}}</text>
+ </view>
+ <view class="list-item">
+ <text>鏂欑鐮侊細</text><text>{{pickData.containerCode ? pickData.containerCode : '--'}}</text>
+ </view>
+ <view class="list-item">
+ <text>閿�鍞鍙凤細</text><text>{{pickData.csocode ? pickData.csocode : '--'}}</text>
+ </view>
+ <view class="list-item">
+ <text>璁㈠崟琛屽彿锛�</text><text>{{pickData.isoseg ? pickData.isoseg : '--'}}</text>
+ </view>
+ <view class="list-item">
+ <text>鐗╂枡鍙凤細</text><text>{{pickData.matnr ? pickData.matnr : '--'}}</text>
+ </view>
+ <view class="list-item">
+ <text>鐗╂枡鍚嶇О锛�</text><text>{{pickData.maktx}}</text>
+ </view>
+ <view class="list-item">
+ <text>鐘舵�侊細</text><text>{{pickData.status$}}</text>
+ </view>
+ <view class="list-item">
+ <text>鏁伴噺锛�</text><text class="val-num">{{pickData.anfme}}</text>
+ </view>
+ </view>
+
+ <view style="height: 100rpx;"></view>
+
+ <view class="z-floor" v-show="pickData != ''">
+ <button size="mini" type="primary" @click="picked()">鎷h揣</button>
+ </view>
+
+ <view>
+ <!-- 鎻愮ず淇℃伅寮圭獥 -->
+ <uni-popup ref="message" type="message">
+ <uni-popup-message :type="msgType1" :message="messageText" :duration="2000"></uni-popup-message>
+ </uni-popup>
</view>
</view>
</template>
@@ -15,37 +87,243 @@
export default {
data() {
return {
-
+ tree: [],
+ pickList: [],
+ pickData: '',
+ index: 1,
+ len: 5,
+ msgType1: 'success',
+ msgType: 'success',
+ messageText: '',
}
},
+ onShow() {
+ this.baseUrl = uni.getStorageSync('baseUrl');
+ this.token = uni.getStorageSync('token');
+ this.getNodeTree()
+ },
methods: {
+ getNodeTree() {
+ let _this = this
+ uni.request({
+ url: `${_this.baseUrl}/node/tree/auth`,
+ header: {'token': uni.getStorageSync('token')},
+ method: 'POST',
+ success(res) {
+ this.tree = []
+ res = res.data
+ // console.log(res.data[0].children);
+ if (res.data[0].children[0]) {
+ for (let k of res.data[0].children) {
+ // console.log(k);
+ if (k.children && k.children.length > 0) {
+ for (let i of k.children) {
+ i['switch'] = true
+ // console.log(i);
+ }
+ }
+ // console.log(k);
+ k['switch'] = true
+ _this.tree.push(k)
+ }
+ // console.log(_this.tree);
+ } else {
+ this.tree.push(res.data[0])
+ }
+ }
+ })
+ },
+ async getUserTree() {
+ let res = await user.getUserTree()
+ if (res.code === 200) {
+ this.tree = []
+ // console.log(res.data[0]);
+ if (res.data[0].children) {
+ for (let k of res.data[0].children) {
+
+ if (k.children && k.children.length > 0) {
+ for (let i of k.children) {
+ i['switch'] = true
+ // console.log(i);
+ }
+ }
+ // console.log(k);
+ k['switch'] = true
+ this.tree.push(k)
+ }
+ } else {
+ this.tree.push(res.data[0])
+ }
+ } else if (res.code === 403) {
+ this.backLogin(res)
+ }
+ console.log(this.tree);
+ },
+ switchbtn(item) {
+ // console.log(item);
+ item.switch = item.switch ? false : true
+ },
+ open(e) {
+ // console.log('open', e)
+ },
+ close(e) {
+ // console.log('close', e)
+ },
+ change(e) {
+ // console.log('change', e)
+ },
+ backLogin(res) {
+ uni.showToast({title: res.msg, icon: "none", position: 'top'})
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '../login/login'
+ });
+ }, 1000);
+ },
+ back() {
+ uni.$emit('isRefresh', 1)
+ uni.navigateBack({
+
+ })
+ },
+ chose(data) {
+ let that = this
+ uni.request({
+ url: `${that.baseUrl}/node/order/pakout`,
+ header: {'token': uni.getStorageSync('token')},
+ data: {locType: data.title},
+ success(res) {
+ // console.log(res);
+ res = res.data
+ if (res.code === 200 && res.data.length > 0) {
+ that.pickList = res.data
+ that.len = res.data.length
+ that.pickData = res.data[0]
+ that.index = 1
+ } else if (res.data.length == 0) {
+ that.getNodeTree()
+ }
+ }
+ })
+ this.tree = []
+ },
+ picked() {
+ let that = this
+ // console.log(that.len);
+ // console.log(that.index);
+ if (that.len < that.index) {
+ that.pickData = ''
+ that.index = 1
+ that.getNodeTree()
+ return
+ } else {
+ that.pickData.orderNo = that.pickData.docNum
+ uni.request({
+ url: `${that.baseUrl}/mobile/node/pakout`,
+ header: {'token': uni.getStorageSync('token')},
+ data: that.pickData,
+ method: 'POST'
+ }).then((res)=>{
+ res = res.data
+ // console.log(res);
+ if (res.code === 200) {
+ if (that.index == that.len) {
+ that.pickData = ''
+ that.index = 1
+ that.getNodeTree()
+ } else {
+ that.index++
+ that.pickData = that.pickList[that.index]
+ }
+ that.messageText = "鎷h揣鎴愬姛"
+ that.messageToggle('success')
+ }
+ })
+
+ }
+ },
+ messageToggle(type) {
+ this.msgType1 = type
+ this.$refs.message.open()
+ },
}
}
</script>
<style>
- .box {
- margin: 16rpx;
+ .container {
+ margin: 16rpx;
+ min-height: 35rpx;
+ background-color: #FFF;
+ padding: 16rpx;
+ }
+ .box1 {
+ background-color: aqua;
+ }
+ .title {
+ box-shadow: -3px 0px 0px #55aaff;
+ padding-left: 5px;
+ font-size: 15px;
+ font-weight: 700;
display: flex;
- align-items: stretch;
-
+ justify-content: space-between;
+ align-items: center;
}
- .box-left {
- height: 80rpx;
- line-height: 80rpx;
- background-color: #499bff;
- background-color: #26edcf;
- color: #F7F6F9;
+ .sub-title {
+ margin: 32rpx 0;
+ box-shadow: -3px 0px 0px #55aa7f;
}
- .box-right {
- flex: 1;
+ .name {
+ padding: 16rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ }
+ .locarea:active {
+ background-color: #55aa7f;
+ }
+ .pick-list {
+ margin: 8px;
+ background-color: #FFF;
+ min-height: 70rpx;
+ border-radius: 20rpx;
+ }
+ .list-item {
+ min-height: 70rpx;
display: flex;
align-items: center;
- background-color: #fff;
- color: #808080;
+ padding-left: 32rpx;
}
- .text {
- padding: 10rpx 20rpx;
+ .list-item:first-child {
+ padding-top: 8rpx;
}
-</style>
+ .list-item:last-child {
+ padding-bottom: 8rpx;
+ }
+ .z-floor {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ height: 100rpx;
+ width: 100%;
+ background-color: #FFF;
+ display: flex;
+ align-items: center;
+
+ }
+ .list-title {
+ vertical-align: text-bottom;
+ }
+ .val-text {
+ background-color: #00aeec;
+ padding: 2px 4px;
+ border-radius: 4px;
+ color: #FFF;
+ }
+ .val-num {
+ font-weight: 900;
+ color: #d19a66;
+ font-size: 16px;
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.1