From 907dd146485aea96dde432901f2cbefda905ee18 Mon Sep 17 00:00:00 2001 From: whycq <123456> Date: 星期四, 21 四月 2022 09:49:18 +0800 Subject: [PATCH] # --- pages/basics/offline.vue | 460 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ pages/basics/Template.vue | 8 + 2 files changed, 468 insertions(+), 0 deletions(-) diff --git a/pages/basics/Template.vue b/pages/basics/Template.vue new file mode 100644 index 0000000..48d48ea --- /dev/null +++ b/pages/basics/Template.vue @@ -0,0 +1,8 @@ +<template> +</template> + +<script> +</script> + +<style> +</style> diff --git a/pages/basics/offline.vue b/pages/basics/offline.vue new file mode 100644 index 0000000..23c8002 --- /dev/null +++ b/pages/basics/offline.vue @@ -0,0 +1,460 @@ +<template> + <view > + <scroll-view scroll-y catch:touchmove="touchmove"> + <view class="pak-seach-box"> + <view class="box-top"> + <view class="color-block-blue"></view> + <text class="title">鎵樼洏鏉$爜</text> + </view> + <view class="box-buttom"> + <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆"> + <view class="search-icon"> + <uni-icons type="closeempty" size="20" color="#a5a5a5" @click="removeBarcode()"></uni-icons> + </view> + </view> + </view> + <view class="pak-seach-box"> + <view class="box-top"> + <view class="color-block-blue"></view> + <text class="title">鐗╂枡鏉$爜</text> + </view> + <view class="box-buttom"> + <input v-model="matNo" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()"> + <view class="search-icon"> + <uni-icons type="closeempty" size="20" color="#a5a5a5" @click="removeMat()"></uni-icons> + </view> + </view> + </view> + <view class="pak-data-box"> + <view class="box-top"> + <view class="color-block-blue"></view> + <text class="title">鍟嗗搧鍒楄〃</text> + </view> + </view> + <view class="pak-data-box" v-show="matList.length === 0"> + <view style="text-align: center;">鏆傛棤鏇村鏁版嵁</view> + </view> + <checkbox-group> + <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" > + <view class="data-list-left"> + <view class="matnr">{{item.barcode}}</view> + </view> + <view class="data-list-right"> + <!-- <label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons></label> --> + <label><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label> + </view> + </view> + </checkbox-group> + </scroll-view> + <view class="footer flex justify-around"> + <view> + <button class="cu-btn lg" @click="resst()">閲嶇疆</button> + </view> + <view> + <button class="cu-btn lg pakin-btn bg-blue" @click="comb()">缁勬墭</button> + </view> + </view> + <view> + <!-- 鎻愮ず淇℃伅寮圭獥 --> + <uni-popup ref="message" type="message"> + <uni-popup-message :type="msgType" :message="messageText" :duration="2000"></uni-popup-message> + </uni-popup> + </view> + <view> + <!-- 淇敼鏁伴噺 --> + <uni-popup ref="revise" background-color="#fff" @change="change"> + <view class="revise-box"> + <view class="revise-box-top"> + <view class="color-block-blue"></view> + <text class="title">缁勬墭鏁伴噺</text> + </view> + <view class="text-box"> + <text>鍙粍鏁伴噺锛歿{enableQty}}</text> + </view> + <view class="changeBox"> + <view class="num-box"> + <uni-number-box v-model="count" :min="minCount" :max="maxCount" color="#747474" @change="changeValue"/> + </view> + </view> + <view class="revise-box-buttom"> + <view> + <button class="cu-btn bg-blue" @click="confirm()">纭</button> + </view> + </view> + + </view> + </uni-popup> + </view> + </view> +</template> + +<script> + import permision from "@/common/permission.js" + export default { + data() { + return { + barcode: '', + matList:[], + matNo:'', + mat:null, + type: 'center', + searchBox: 'hide', + pick:'hide', + result: '', + count:'', + minCount:0, + maxCount:'', + rowNum:'', + enableQty:'', + msgType: 'success', + messageText: '杩欐槸涓�鏉℃垚鍔熸彁绀�', + } + }, + mounted(){ + const UIP = uni.getStorageSync('UIP'); + this.baseIP = UIP; + const UPORT = uni.getStorageSync('UPORT'); + this.basePORT = UPORT + }, + methods: { + messageToggle(type) { + this.msgType = type + this.messageText = `杩欐槸涓�鏉�${type}娑堟伅鎻愮ず` + this.$refs.message.open() + }, + resst() { + this.matList = [] + this.barcode = '' + this.matNo = '' + uni.vibrateShort(); + }, + removeBarcode() { + this.barcode = '' + uni.vibrateShort(); + }, + removeMat() { + this.matNo = '' + uni.vibrateShort(); + }, + eject(type) { + this.type = type + // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴�� + this.$refs.revise.open(type) + }, + initAnfme() { + for (var i = 0; i < this.matList.length; i++) { + this.matList[i].anfme = 1 + this.matList[i].matnr = this.matList[i].barcode + } + }, + changeValue() { + + }, + remove(item,index) { + this.matList.splice(index,1) + uni.vibrateShort(); + }, + confirm() { + this.matList[this.rowNum].anfme = this.count + this.$refs.revise.close() + }, + comb() { + uni.vibrateShort(); + let that = this; + if (that.barcode === '') { + this.messageToggle('warn') + this.messageText = '璇锋壂鎻忔墭鐩樼爜' + return; + } + if (that.barcode.length !== 8) { + this.messageToggle('warn') + this.messageText = '鎵樼洏鐮佸繀椤讳负8浣�' + return; + } + if (that.matList.length === 0) { + uni.showToast({title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: "none", position: 'top'}); + return; + } + for (var i = 0; i < that.matList.length; i++) { + if (that.matList[i].anfme === 0) { + uni.showToast({title: '鍟嗗搧缁勬墭鏁伴噺涓�0涓嶈兘缁勬墭', icon: "none", position: 'top'}); + return; + } + } + uni.showLoading(); + uni.request({ + url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pack/comb/auth', + data: JSON.stringify({ + barcode: that.barcode, + combMats: that.matList + }), + method: 'POST', + header: { + 'token':uni.getStorageSync('token') + }, + success(result) { + uni.showLoading(); + var res = result.data + if (res.code === 200) { + uni.showToast({ + title: res.msg, + position: 'bottom', + duration: 1000 + }); + that.barcode = '' + that.orderNo = '' + that.order = '' + that.matList = [] + } else if (res.code == 403) { + uni.showToast({title: res.msg, icon: "none", position: 'top'}) + setTimeout(() => { + uni.reLaunch({ + url: '../login/login' + }); + }, 1000); + } else { + uni.showToast({title: res.msg, icon: "none",position: 'top'}) + } + } + }); + }, + findMat() { + let that = this + uni.request({ + url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pack/get/auth', + data: { + barcode: that.matNo + }, + header: { + 'token':uni.getStorageSync('token') + }, + success(result) { + let res = result.data + if (res.code === 200) { + if(res.data) { + that.mat = res.data + that.addMatList(that.mat) + that.initAnfme() + } else { + this.messageToggle('warn') + this.messageText = '璇烽噸鏂版壂鐮� \ 杈撳叆' + } + } else if (res.code == 403) { + uni.showToast({title: res.msg, icon: "none", position: 'top'}) + setTimeout(() => { + uni.reLaunch({ + url: '../login/login' + }); + }, 1000); + } else { + uni.showToast({title: res.msg, icon: "none",position: 'top'}) + } + } + }); + }, + addMatList(mat) { + let barcode = this.mat.barcode + let toUnshift = true + for (var i = 0; i < this.matList.length; i++) { + if (barcode === this.matList[i].barcode) { + this.messageToggle('warn') + this.messageText = barcode + '宸茬粡鎵弿锛岃鍕块噸澶嶆壂鎻�' + toUnshift = false + } + } + if (toUnshift) { + this.matList.unshift(mat) + } + }, + change(e) { + // console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show); + }, + toggle(type) { + this.type = type + // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴�� + this.$refs.goodsSearch.open(type) + }, + } + } +</script> + +<style> + /* @import "../../colorui/main.css"; + @import "../../colorui/icon.css"; */ + + .pak-seach-box { + background-color: #FFFFFF; + margin: 15rpx 15rpx 0rpx 15rpx; + width: 96%; + height: 150rpx; + border-radius: 20rpx; + } + .box-top{ + display: block; + height: 60rpx; + width: 720rpx; + } + .color-block-blue { + background-color: #1E9FFF; + display: inline-block; + float: left; + margin: 15rpx 15rpx 0 15rpx; + width: 12rpx; + height: 40rpx; + border: 5rpx solid #1E9FFF; + border-radius: 20rpx; + } + .title { + display: inline-block; + float: left; + font-size: 34rpx; + font-weight: 700; + height: 50rpx; + line-height: 50rpx; + margin-top: 10rpx; + } + .box-buttom { + display: inline-block; + background-color: #ededed; + width: 96%; + height: 60rpx; + border-radius: 20rpx; + margin: 15rpx 15rpx 0rpx 15rpx; + } + .box-buttom input { + width: 75%; + float: left; + margin: 8rpx 10rpx 0rpx 25rpx; + } + .box-buttom .search-icon{ + width: 60rpx; + height: 60rpx; + float: right; + margin-top: 5rpx; + margin-right: 10rpx; + } + .pak-seach-box button { + background-color: #1E9FFF; + color: #ffffff; + display: inline-block; + float: right; + width: 150rpx; + height: 60rpx; + margin: 15rpx 15rpx 0rpx 15rpx; + line-height: 60rpx; + } + .pakin-btn { + background-color: #1E9FFF; + } + .pak-data-box { + background-color: #F1F1F1; + margin: 15rpx 15rpx 0rpx 15rpx; + width: 96%; + height: 70rpx; + border-radius: 20rpx; + } + .pak-data-box .box-top { + background-color: #FFFFFF; + height: 70rpx; + border-radius: 20rpx 20rpx 20rpx 20rpx; + } + .bg-false { + background-color: #FFFFFF; + } + .bg-true { + background-color: #ebebeb; + } + .data-list { + border-bottom: 1px solid #d8d8d8; + height: 130rpx; + margin: 15rpx; + border-radius: 20rpx; + } + .data-list:first-child { + margin-top: 20rpx; + } + .data-list:last-child { + margin-bottom: 160rpx; + } + /* .data-list-left { + display: inline-block; + float: left; + text-align: center; + width: 100rpx; + height: 180rpx; + line-height: 180rpx; + } */ + .data-list-left { + width: 550rpx; + /* background-color: #007AFF; */ + display: inline-block; + float: left; + margin-left: 4%; + height: 130rpx; + color: #676767; + } + .matnr { + display: inline-block; + width: 100%; + font-size: 16px; + font-weight: 700; + height: 130rpx; + line-height: 130rpx; + } + .data-list-right { + /* background-color: #6739B6; */ + display: inline-block; + float: right; + width: 100rpx; + height: 130rpx; + line-height: 130rpx; + } + .data-list-right label { + display: inline-block; + float: left; + width: 100rpx; + height: 130rpx; + } + .revise-box { + width: 500rpx; + height: 500rpx; + } + .revise-box-top { + width: 100%; + height: 100rpx; + background-color: #fff; + padding: 10rpx; + } + .changeBox { + width: 100%; + height: 100rpx; + line-height: 120rpx; + text-align: center; + background-color: #FFF; + margin-top: 20rpx; + border-bottom: 1px solid #e3e3e3; + } + .text-box { + width: 100%; + height: 100rpx; + line-height: 120rpx; + text-align: center; + /* padding-left: 120rpx; */ + background-color: #FFF; + margin-top: 20rpx; + border-bottom: 1px solid #e3e3e3; + } + .changeBox .num-box { + display: inline-block; + } + .revise-box-buttom { + position: absolute; + width: 100%; + height: 100rpx; + line-height: 100rpx; + background-color: #FFFFFF; + bottom: 0; + text-align: center; + } + +</style> -- Gitblit v1.9.1