From e042325822ddd556f36f58f8e4df81f6515a4111 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 25 四月 2025 10:40:19 +0800
Subject: [PATCH] #
---
pages/home/home.vue | 21 +
pages/out/orderGiftDetls2.vue | 557 ++++++++++++++++++++++++++++++++++++++++++
pages.json | 17 +
pages/out/orderGift2.vue | 127 +++++++++
4 files changed, 715 insertions(+), 7 deletions(-)
diff --git a/pages.json b/pages.json
index 4d010d1..ff85347 100644
--- a/pages.json
+++ b/pages.json
@@ -250,6 +250,23 @@
"enablePullDownRefresh": false
}
+ },{
+ "path" : "pages/out/orderGift2",
+ "style" :
+ {
+ "navigationBarTitleText": "鏍稿鍗曟嵁鍒楄〃",
+ "enablePullDownRefresh": false
+ }
+
+ }
+ ,{
+ "path" : "pages/out/orderGiftDetls2",
+ "style" :
+ {
+ "navigationBarTitleText": "鎵弿鏉$爜",
+ "enablePullDownRefresh": false
+ }
+
}
],
"globalStyle": {
diff --git a/pages/home/home.vue b/pages/home/home.vue
index 39ae362..ea6fad8 100644
--- a/pages/home/home.vue
+++ b/pages/home/home.vue
@@ -52,13 +52,13 @@
cuIcon: 'pullup',
url: '/order/orderPakin2'
},
- {
- title: '鎵嬪姩鍏ュ簱',
- name: 'handIn',
- color: 'olive',
- cuIcon: 'pullup',
- url: '/out/handIn'
- },
+ // {
+ // title: '鎵嬪姩鍏ュ簱',
+ // name: 'handIn',
+ // color: 'olive',
+ // cuIcon: 'pullup',
+ // url: '/out/handIn'
+ // },
{
title: '鏍稿鍗曟嵁',
name: 'orderGift',
@@ -66,6 +66,13 @@
cuIcon: 'pullup',
url: '/out/orderGift'
},
+ {
+ title: '鏍稿',
+ name: 'orderGift2',
+ color: 'orange',
+ cuIcon: 'pullup',
+ url: '/out/orderGift2'
+ },
// {
// title: '缁勬墭鍏ュ簱',
// name: 'pakin',
diff --git a/pages/out/orderGift2.vue b/pages/out/orderGift2.vue
new file mode 100644
index 0000000..b971921
--- /dev/null
+++ b/pages/out/orderGift2.vue
@@ -0,0 +1,127 @@
+<template>
+ <view>
+ <view class="code">
+ <uni-search-bar :focus="searchValueFocus" v-model="searchValue"
+ maxlength="500" ancel="cancel" @confirm="searchValueInput2()" @clear="clear" placeholder="杈撳叆 / 鎵弿 璁㈠崟鍙�">
+ </uni-search-bar>
+ <view class="list" v-for="(item,index) in dataList">
+ <view class="list-left">
+ <view >
+ <text style="">鍗曟嵁缂栧彿锛�</text>
+ <text style="font-size: 18px;font-weight: 600;color: #333;">{{item.orderNo}}</text>
+ </view>
+ <view>绫诲瀷锛歿{item.docType$}}</view>
+ <view>鍒涘缓鏃堕棿锛歿{item.createTime$}}</view>
+ </view>
+ <view class="list-right" @click="toDetls(index)">
+ <uni-icons type="right" size="25" color="#55aaff"></uni-icons>
+ </view>
+ </view>
+ </view>
+ <view style="height: 20px;"></view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ baseUrl: '',
+ token: '',
+ searchValue: '',
+ searchValueFocus: false,
+ dataList: [],
+ data: {
+ curr: 1,
+ limit: 10,
+ order_no: '',
+
+ }
+ }
+ },
+ onShow() {
+ this.baseUrl = uni.getStorageSync('baseUrl');
+ this.token = uni.getStorageSync('token');
+ this.getOrder()
+ },
+ // 涓嬫媺鍒锋柊
+ onReachBottom() {
+ this.status = 'more';
+ this.getOrder(this.searchValue,10);
+ },
+ methods: {
+ getOrder(threeCode,limit) {
+ let _this = this
+ _this.data.order_no = threeCode
+ _this.data.limit = limit
+ uni.request({
+ url: `${_this.baseUrl}/orderGift/head/page/auth`,
+ header: {'token': uni.getStorageSync('token')},
+ data: _this.data,
+ method:'GET',
+ success(res) {
+ res = res.data
+ console.log(res);
+ if (res.code === 200) {
+ let list = res.data.records
+ _this.dataList = _this.dataList.concat(list);
+ _this.data.curr = _this.data.curr + 1
+ }
+ }
+ })
+ },
+ searchValueInput2() {
+ this.dataList = []
+ this.data.curr = 1
+ if (this.searchValue.length == 0) {
+ this.getOrder(this.searchValue,10)
+ } else {
+ this.getOrder(this.searchValue,10)
+ }
+
+ },
+ clear() {
+ this.dataList = []
+ this.data.curr = 1
+ setTimeout(()=> {
+ this.getOrder(this.searchValue,10)
+ },300)
+ },
+ toDetls(index) {
+ let _this = this
+ uni.navigateTo({
+ url: './orderGiftDetls2',
+ success(res) {
+ res.eventChannel.emit('item', {
+ item: _this.dataList[index]
+ })
+ },
+ })
+ }
+ }
+ }
+</script>
+
+<style>
+ .list {
+ margin: 20rpx;
+ font-size: 14px;
+ background-color: #fff;
+ border-radius: 20rpx;
+ border: 1px solid #eeeeee;
+ display: flex;
+ position: relative;
+ }
+ .list-left {
+ flex: 1;
+ padding: 20rpx;
+ position: relative;
+ }
+ .list-right {
+ width: 70rpx;
+ border-left: 1px solid #eeeeee;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+</style>
diff --git a/pages/out/orderGiftDetls2.vue b/pages/out/orderGiftDetls2.vue
new file mode 100644
index 0000000..1403833
--- /dev/null
+++ b/pages/out/orderGiftDetls2.vue
@@ -0,0 +1,557 @@
+<template>
+ <view>
+ <view class="code">
+ <view class="item">
+ <view class="code-decs">璁㈠崟鍙�:</view>
+ <span>{{orderNo}}</span>
+ </view>
+ <view class="item">
+ <view class="code-decs">鏉$爜:</view>
+ <textarea style="background-color: #f0f0f0;max-height: 100rpx;padding: 4px;margin: 4px;"
+ type="textarea" placeholder=" 鎵爜 / 杈撳叆" maxlength="1000" v-model="barcode" :focus="barcodeFocus"
+ @input="analysis()" />
+ </view>
+ </view>
+
+ <scroll-view>
+ <view class="list" v-for="(item,i) in dataList" :key="i">
+ <view class="list-left">
+ <view class="list-left-item">
+ <view class="desc">绠卞彿锛�</view>
+ <view class="left-item">{{item.boxNo}}</view>
+ </view>
+ <view class="list-left-item">
+ <view class="desc">鍑�閲嶏細</view>
+ <view class="left-item">{{item.netWeight}}</view>
+ </view>
+ <view class="list-left-item">
+ <view class="desc">鐘舵�侊細</view>
+ <view class="left-item">
+ <uni-tag :text="item.msg" :type="deadTimeType"></uni-tag>
+ </view>
+ </view>
+ </view>
+ </view>
+ </scroll-view>
+ <!-- 搴曢儴鎿嶄綔鎸夐挳 -->
+
+ <!-- 寮圭獥 -->
+ <!-- 淇敼鏁伴噺 -->
+ <view>
+ <uni-popup ref="revise" type="dialog">
+ <view class="popup">
+ <!-- 鏍囬 -->
+ <view class="title">淇敼</view>
+ <view class="popup-item">
+ <view class="popup-item-left">缂栫爜:</view>
+ <view class="popup-item-right">
+ <input type="text" v-model="matnr" disabled="true"
+ style="background-color: #f7f7f7;padding: 0;color: #d5d5d5;">
+ </view>
+ </view>
+ <!-- <view class="popup-item">
+ <view class="popup-item-left">鎵瑰彿:</view>
+ <view class="popup-item-right"><input type="text" v-model="batch"></view>
+ </view> -->
+ <!-- <view class="popup-item">
+ <view class="popup-item-left">閲嶉噺:</view>
+ <view class="popup-item-right"><input type="text" v-model="weight"></view>
+ </view> -->
+ <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='0.01' :max="9999999" color="#747474" @change="changeValue" />
+ </view>
+ </view>
+ <view class="btn">
+ <view class="btn-left" @click="reviseClose">鍙栨秷</view>
+ <view class="btn-right" @click="reviseConfirm()">淇敼</view>
+ </view>
+ </view>
+ </uni-popup>
+ </view>
+ <!-- 绉婚櫎纭 -->
+ <view>
+ <!-- 鎻愮ず绐楃ず渚� -->
+ <uni-popup ref="alertDialog" type="dialog">
+ <uni-popup-dialog :type="msgType" confirmText="绉婚櫎" :title="title" :content="content"
+ @confirm="removeConfirm()" @close="removeClose"></uni-popup-dialog>
+ </uni-popup>
+ </view>
+ <view>
+ <!-- 鎻愮ず淇℃伅寮圭獥 -->
+ <uni-popup ref="message" type="message">
+ <uni-popup-message :type="msgType1" :message="messageText" :duration="2000"></uni-popup-message>
+ </uni-popup>
+ </view>
+ <!-- 纭纭 -->
+ <view>
+ <uni-popup ref="combConfirm" type="dialog">
+ <uni-popup-dialog :type="msgType" cancelText="鍙栨秷" confirmText="纭" :title="title" :content="content"
+ @confirm="comb" @close="combClose"></uni-popup-dialog>
+ </uni-popup>
+ </view>
+ <!-- 纭閲嶇疆 -->
+ <view>
+ <uni-popup ref="resetConfirm" type="dialog">
+ <uni-popup-dialog :type="msgType" cancelText="鍙栨秷" confirmText="纭" :title="title" :content="content"
+ @confirm="resetConfirm" @close="resetClose"></uni-popup-dialog>
+ </uni-popup>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ baseUrl: '',
+ token: '',
+ barcode: '',
+ dataList: [],
+ count: 0,
+ rowNum: '',
+ matnr: '',
+ batch: '',
+ weight: '',
+ msgType1: 'success',
+ msgType: 'success',
+ messageText: '',
+ title: '',
+ content: '',
+ barcodeFocus: true,
+ matFocus: false,
+ matData: '',
+ removeNum: 0,
+ targetBatch: '',
+ deadTimeType: 'error',
+ orderNo:''
+ }
+ },
+ onLoad() {
+ let _this = this
+ const eventChannel = _this.getOpenerEventChannel();
+ // 鐩戝惉acceptDataFromOpenerPage浜嬩欢锛岃幏鍙栦笂涓�椤甸潰閫氳繃eventChannel浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
+ eventChannel.on('item', function(data) {
+ _this.orderNo = data.item.orderNo
+ })
+
+ },
+ onShow() {
+ this.baseUrl = uni.getStorageSync('baseUrl');
+ this.token = uni.getStorageSync('token');
+
+
+ },
+ methods: {
+ messageToggle(type) {
+ this.msgType1 = type
+ this.$refs.message.open()
+ },
+ analysis() {
+ let _this = this
+ var matObj= {
+ rollNo: '', // 鍗峰彿
+ boxNo: '', // 绠卞彿
+ specs: '', // 瑙勬牸
+ length: '', // 闀垮害
+ netWeight: '', // 鍑�閲�
+ grossWeight: '', // 姣涢噸
+ splices: '', // 鎺ュご 涓�
+ }
+ // 鍒涘缓涓�涓� Map 瀵硅薄
+ const resultMap = new Map();
+
+ // 浣跨敤鎹㈣绗︿綔涓哄垎闅旂鍒嗗壊瀛楃涓�
+ const lines = this.barcode.split('\n');
+ console.log(lines);
+ lines.forEach(line => {
+ // 浣跨敤涓枃鍐掑彿浣滀负鍒嗛殧绗�
+ const match = line.split('锛�');
+ if (match.length === 2) {
+ const key = match[0].trim(); // 涓枃閮ㄥ垎浣滀负閿�
+ const value = match[1].trim(); // 鍚庨潰鐨勫瓧绗︿覆浣滀负鍊�
+ resultMap.set(key, value); // 灏嗛敭鍊煎瀛樺叆 Map
+ }
+ });
+
+ // 杈撳嚭缁撴灉
+ console.log(resultMap);
+
+
+
+ // 濡傛灉闇�瑕佸皢 Map 杞崲涓烘櫘閫氬璞�
+ const resultObject = Object.fromEntries(resultMap);
+ console.log(resultObject.鍑�閲�);
+ console.log(lines);
+ matObj.rollNo = resultObject.鍗峰彿
+ matObj.boxNo = resultObject.绠卞彿
+ matObj.specs = resultObject.瑙勬牸
+ matObj.length = resultObject.闀垮害
+ matObj.netWeight = resultObject.鍑�閲�
+ matObj.grossWeight = resultObject.姣涢噸
+ matObj.splices = resultObject.鎺ュご
+ matObj.orderNo = this.orderNo
+ console.log(matObj);
+ this.barcodeInput(matObj)
+ // this.checkMatObj(matObj)
+ this.barcodeFocus = false;
+ this.matFocus = false;
+ setTimeout(() => {
+ this.matnr = '';
+ this.matFocus = true;
+ }, 100);
+ },
+ checkMatObj(mat) {
+ var len = this.dataList.length
+ var add = true
+ for (let k of this.dataList) {
+ if (mat.boxNo == k.boxNo) {
+ add = false
+ }
+ }
+ if (add) {
+ this.dataList.unshift(mat)
+ }
+ },
+ // barcode input 浜嬩欢
+ barcodeInput(code) {
+ let _this = this
+ let newBarcode = code
+ uni.request({
+ url: _this.baseUrl + '/mobile/order/search/batch/new/auth',
+ header: {'token': uni.getStorageSync('token')},
+ data: newBarcode,
+ method:'POST',
+ success(res) {
+ res = res.data
+ if (res.code === 200) {
+ let items = {
boxNo: code.boxNo,
netWeight: code.netWeight,
msg : res.msg
}
+ _this.dataList.push(items)
+ _this.barcodeFocuss();
+ } else if (res.code == 403) {
+ _this.messageText = res.msg
+ _this.messageToggle('error')
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '../login/login'
+ });
+ }, 1000);
+ } else {
+ let items = {
+ boxNo: code.boxNo,
+ netWeight: code.netWeight,
+ msg : res.msg
+ }
+ _this.dataList.push(items)
+ _this.barcodeFocuss();
+ }
+
+ }
+ })
+ },
+ // 鎵樼洏鐮佹湁璇噸缃�
+ barcodeFocuss() {
+ let that = this;
+ that.barcodeFocus = false;
+ setTimeout(() => {
+ that.barcode = '';
+ that.barcodeFocus = true;
+ }, 100);
+ },
+ // 鍟嗗搧鍏夋爣娓呯┖閲嶇疆
+ focuss() {
+ this.focus = false;
+ setTimeout(() => {
+ this.matnr = '';
+ this.matFocus = true;
+ }, 100);
+ },
+ // 鎼滅储鐗╂枡
+ findMat() {
+ let that = this
+ uni.request({
+ url: that.baseUrl + '/mat/auth',
+ data: {
+ matnr: that.matnr
+ },
+ header: {
+ 'token': uni.getStorageSync('token')
+ },
+ success(result) {
+ result = result.data
+ if (result.code === 200 && result.data) {
+ that.matData = result.data
+ that.matnr = ''
+ that.matData['batch'] = ''
+ uni.navigateTo({
+ url: "../mat/matSelected",
+ // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+ success: function(res) {
+ res.eventChannel.emit('mat', {
+ data: result.data
+ })
+ },
+ // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
+ events: {
+ matList: function(data) {
+ that.checkMat(data.data)
+ that.focuss()
+ },
+ },
+ });
+ } else if (result.code == 403) {
+ uni.showToast({
+ title: result.msg,
+ icon: "none",
+ position: 'top'
+ })
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '../login/login'
+ });
+ }, 1000);
+ } else {
+ uni.showToast({
+ title: result.msg,
+ icon: "none",
+ position: 'top'
+ })
+ }
+
+ }
+ });
+
+ },
+ selectMat() {
+ let that = this
+ uni.navigateTo({
+ url: "../mat/matQuery",
+ success: function(res) {
+ // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑
+ res.eventChannel.emit('commonUrl', {
+ commonUrl: ''
+ })
+ },
+ events: {
+ // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨�
+ acceptDataFromOpenedPage: function(data) {
+ that.matnr = data.data
+ that.findMat(that.matnr)
+ },
+ },
+
+
+ });
+ that.matnr = ''
+ },
+ checkMat(mat) {
+ var len = this.dataList.length
+ var add = true ,sameItem = false
+ for (var i = 0; i < len; i++) {
+ if (mat.matnr == this.dataList[i].matnr) {
+ for (var j = 0; j < len; j++) {
+ if (mat.batch == this.dataList[j].batch) {
+ sameItem = true
+ }
+ }
+ // 鐩稿悓鐗╂枡 涓嶅悓鎵瑰彿 鏂板姞鍒楄〃
+ if (mat.batch != this.dataList[i].batch) {
+ this.$forceUpdate() // 寮哄埗鍒锋柊
+ if (sameItem) {
+ add = false
+ } else {
+ add = true
+ }
+
+ } else {
+ // 鐩稿悓鐗╂枡鐩稿悓鎵瑰彿 鏁伴噺绱姞
+ this.dataList[i].anfme += mat.anfme
+ this.$forceUpdate() // 寮哄埗鍒锋柊
+ add = false
+ }
+ }
+ }
+ if (add) {
+ this.dataList.unshift(mat)
+ }
+ },
+ // 淇敼鎵瑰彿
+ revise(item, i) {
+ this.matnr = this.dataList[i].matnr
+ this.count = this.dataList[i].anfme
+ this.batch = this.dataList[i].batch
+ this.weight = this.dataList[i].weight
+ this.rowNum = i
+ this.eject()
+ },
+ eject(type) {
+ this.type = type
+ this.$refs.revise.open(type)
+ },
+ // 鍒楄〃绉婚櫎鎸夐挳
+ remove(item, i, type) {
+ this.removeNum = i
+ this.msgType = type
+ this.title = '璀﹀憡'
+ this.content = '鏄惁绉婚櫎褰撳墠鍟嗗搧!'
+ this.$refs.alertDialog.open(i)
+ },
+ // 纭绉婚櫎
+ removeConfirm() {
+ this.messageText = "绉婚櫎鎴愬姛"
+ this.messageToggle('success')
+ this.dataList.splice(this.removeNum, 1)
+ },
+ // 鍙栨秷绉婚櫎
+ removeClose() {
+ this.$refs.alertDialog.close()
+ },
+ reviseConfirm() {
+ this.dataList[this.rowNum].anfme = this.count
+ this.dataList[this.rowNum].batch = this.batch
+ this.dataList[this.rowNum].weight = this.weight
+ this.matnr = ''
+ this.messageText = "淇敼鎴愬姛"
+ this.messageToggle('success')
+ this.$refs.revise.close()
+ },
+ reviseClose() {
+ this.$refs.revise.close()
+ },
+ changeValue(value) {
+ this.count = value
+ },
+ combConfirm(type) {
+ this.msgType = type
+ this.title = '璀﹀憡'
+ this.content = '鏄惁鐜板湪纭!'
+ this.$refs.combConfirm.open()
+ },
+ combClose() {
+ this.$refs.combConfirm.close()
+ },
+ comb() {
+ let that = this;
+ console.log(that.dataList[0]);
+ var matObj= {
+ rollNo: that.dataList[0].model, // 鍗峰彿
+ boxNo: that.dataList[0].batch, // 绠卞彿
+ specs: that.dataList[0].matnr, // 瑙勬牸
+ length: that.dataList[0].price, // 闀垮害
+ netWeight: that.dataList[0].weight, // 鍑�閲�
+ grossWeight: that.dataList[0].volume, // 姣涢噸
+ splices: that.dataList[0].specs, // 鎺ュご 涓�
+ }
+ uni.request({
+ url: that.baseUrl + '/mobile/order/search/batch/auth',
+ data: matObj,
+ method: 'POST',
+ header: {'token': uni.getStorageSync('token')},
+ success(result) {
+ let res = result.data
+ if (res.code === 200) {
+ that.dataList = []
+ that.barcode = ''
+ that.messageText = "纭鎴愬姛"
+ that.messageToggle('success')
+ } else if (res.code == 403) {
+ that.messageText = res.msg
+ that.messageToggle('error')
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '../login/login'
+ });
+ }, 1000);
+ } else {
+ that.messageText = res.msg
+ that.messageToggle('error')
+ }
+ }
+ });
+ },
+ reset(type) {
+ this.msgType = type
+ this.title = '璀﹀憡'
+ this.content = '鏄惁閲嶇疆!'
+ this.$refs.resetConfirm.open()
+ },
+ // 纭閲嶇疆
+ resetConfirm() {
+ this.dataList = []
+ this.barcode = ''
+ this.targetBatch = ''
+ this.messageText = "閲嶇疆瀹屾垚"
+ this.messageToggle('success')
+ },
+ // 鍙栨秷閲嶇疆
+ resetClose() {
+
+ },
+ // 娓呯┖
+ resst() {
+ this.dataList = []
+ this.barcode = ''
+ this.targetBatch = ''
+ this.barcodeFocuss()
+ },
+ }
+ }
+</script>
+
+<style>
+ @import url('../../static/css/wms.css/wms.css');
+
+ .list:first-child {
+ margin-top: 320rpx;
+ }
+ .code {
+ width: 100%;
+ position: fixed;
+ min-height: 100rpx;
+ background-color: #FFF;
+ z-index: 10;
+ }
+
+ .item {
+ display: flex;
+ align-items: center;
+ height: 130rpx;
+ margin-left: 20rpx;
+ border-bottom: 1px solid #DCDFE6;
+ }
+
+ .item input {
+ height: 50rpx;
+ line-height: 50rpx;
+ /* font-family: PingFang SC; uniapp 榛樿瀛椾綋涓嶅眳涓� */
+ font-size: 36upx;
+ font-family: PingFang SC;
+ width: 55vw;
+
+ }
+
+ .code-decs {
+ width: 20vw;
+ font-size: 18px;
+ color: #303133;
+ }
+
+ .item-right {
+ margin-left: auto;
+ margin-right: 20rpx;
+ }
+
+ .mat-list-title {
+ height: 80rpx;
+ line-height: 80rpx;
+ width: 100%;
+ background-color: white;
+ position: fixed;
+ margin-top: 130rpx;
+ z-index: 9;
+ /* border-top: 1px solid #DCDFE6; */
+ text-align: center;
+ box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
+ }
+</style>
--
Gitblit v1.9.1