From 138f4305197217769ba59c8008c87d933e585eee Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期五, 18 四月 2025 15:42:29 +0800 Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/pda-master into devlop --- pages/inspect/check.vue | 213 +++++++++--------- pages/listing/upper.vue | 1 pages/listing/disc.vue | 175 ++++++++++----- pages/home/index.vue | 21 - pages/listing/labour.vue | 4 pages/listing/untie.vue | 10 pages/inspect/bad.vue | 224 +++++++++++++++++++ 7 files changed, 453 insertions(+), 195 deletions(-) diff --git a/pages/home/index.vue b/pages/home/index.vue index 0c6f3d2..11fef82 100644 --- a/pages/home/index.vue +++ b/pages/home/index.vue @@ -43,13 +43,13 @@ </navigator> </view> - <view class="cu-item"> + <!-- <view class="cu-item"> <navigator hover-class='none' url="/pages/listing/untie" navigateTo> <view class="cuIcon-cardboardforbid text-blue"> </view> <text>瑙g粦</text> </navigator> - </view> + </view> --> <view class="cu-item"> <navigator hover-class='none' url="/pages/inspect/report" navigateTo> @@ -67,13 +67,13 @@ </navigator> </view> - <!-- <view class="cu-item"> + <view class="cu-item"> <navigator hover-class='none' url="/pages/inspect/bad" navigateTo> <view class="cuIcon-appreciate text-blue"> </view> - <text>璐х墿鏍囪</text> + <text>涓嶈壇鏍囪</text> </navigator> - </view> --> + </view> <view class="cu-item"> @@ -93,17 +93,6 @@ </view> </view> - - - - <!-- <view class="cu-list menu card-menu margin-top-xl margin-bottom-xl shadow-lg radius"> - <view class="cu-item arrow"> - <navigator class="content" url="/pages/userinfo/userinfo" hover-class="none"> - <text class="cuIcon-profile text-blue"></text> - <text class="text-grey">涓汉淇℃伅</text> - </navigator> - </view> - </view> --> <view class="padding flex flex-direction"> <view class="cu-btn bg-red margin-tb-sm lg round" @click="equit">閫�鍑虹櫥褰�</view> diff --git a/pages/inspect/bad.vue b/pages/inspect/bad.vue index 02409e3..e060cf0 100644 --- a/pages/inspect/bad.vue +++ b/pages/inspect/bad.vue @@ -1,8 +1,218 @@ -<template> -</template> - -<script> -</script> - -<style> +<template> + <view class="has-foot"> + <form> + <view class="cu-form-group margin-top"> + <view class="title">鎵樼洏鐮�</view> + <input placeholder="璇锋壂鎻忔墭鐩樼爜" v-model="container" focus></input> + <text class='cuIcon-search text-blue' </text> + </view> + + <view class="cu-form-group "> + <view class="title">鐗╂枡鏍囩</view> + <input placeholder="璇锋壂鎻忕墿鏂欐爣绛�" v-model="barcode"></input> + <text class='cuIcon-search text-blue' @click="search"></text> + </view> + </form> + + <view class="cu-list det menu sm-border padding"> + <block v-for="(item, index) in list" :key="index"> + <view class="cu-bar bg-white solid-bottom margin-top-sm"> + <view class="action"> + <!-- <view class="index"> + {{index+1}} + </view> --> + <view class="text-blue"> + {{`${item.maktx}`}} + </view> + </view> + + <view class="action"> + <view class='cu-tag radius bg-red'>涓嶅悎鏍�</view> + </view> + + + <!-- <view class="action" v-if="!isconfirm"> + <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text> + </view> --> + </view> + + <view class="cu-item"> + <view class="content"> + <text class="text-black">鐗╂枡缂栫爜:</text> + </view> + <view class="action"> + <text class="text-grey ">{{item.maktxCode}}</text> + </view> + </view> + + <view class="cu-item"> + <view class="content"> + <text class="text-black">鍗曞彿:</text> + </view> + <view class="action"> + <text class="text-grey ">{{item.asnCode}}</text> + </view> + </view> + + + <view class="cu-item"> + <view class="content"> + <text class="text-black">渚涘簲鍟嗘壒娆�:</text> + </view> + <view class="action"> + <text class="text-grey ">{{item.splrBatch}}</text> + </view> + </view> + + <view class="cu-item"> + <view class="content"> + <text class="text-black">搴撳瓨鍗曚綅:</text> + </view> + <view class="action"> + <text class="text-grey ">{{item.stockUnit}}</text> + </view> + </view> + + + <view class="cu-item"> + <view class="content"> + <view class="cu-form-group padding-lr-0"> + <view class="title text-blue">鏁伴噺:</view> + <input class="text-right" type="number" placeholder="璇疯緭鍏ユ暟閲�" v-model="item.receiptQty" + focus></input> + </view> + </view> + </view> + + <view class="margin-top-sm flex"> + <uni-data-checkbox mode="tag" v-model="item.status" :localdata="types"></uni-data-checkbox> + </view> + </block> + </view> + + <view class="cu-bar btn-group foot"> + <button class="cu-btn bg-blue shadow-blur" @click="confirm">鎻愪氦</button> + </view> + + </view> +</template> + +<script> + import { + request + } from '../../common/request.js' + + export default { + data() { + return { + barcode: '', + container: '', + list: [], + range: [], + isconfirm: false, + types: [{ + text: '寰呰繑淇�', + value: 1 + }, + { + text: '寰呮姤搴�', + value: 2 + }, + { + text: '闄嶇骇浣跨敤', + value: 3 + }, + { + text: '寰呭畾', + value: 4 + }, + ], + } + }, + computed: { + + }, + mounted() {}, + methods: { + async search() { + // const { + // code, + // data, + // msg + // } = await request('/asnOrderItem/trackCode/' + this.barcode, {}, "get") + // if (code === 200) { + // const find = this.list.find(el => el.id === data.id); + // !find && this.list.push(data) + // } else { + // uni.showToast({ + // title: msg, + // icon: "none", + // position: 'top' + // }) + // } + this.list = [{ + id: 1, + maktx: '鎷夋潌绠�', + maktxCode: '312312312', + asnCode: 'asn123412', + splrBatch: '3123123', + stockUnit: '涓�', + receiptQty: null + }] + }, + async confirm() { + // const { + // code, + // data, + // msg + // } = await request('/waitPakin/unbind', { + // items: this.list, + // barcode: this.container + // }) + // if (code === 200) { + // uni.showToast({ + // title: '鎻愪氦鎴愬姛' + // }) + // this.list = [] + // this.barcode = '' + // this.isconfirm = false + // } else { + // uni.showToast({ + // title: msg, + // icon: "none", + // position: 'top' + // }) + // } + + }, + + } + } +</script> + +<style> + .index { + border: 1px solid #e54d42; + color: #e54d42; + border-radius: 50%; + display: block; + width: 50rpx; + height: 50rpx; + line-height: 48rpx; + text-align: center; + margin-right: 20rpx; + font-size: 30rpx; + } + + .text-blue { + color: #0081ff !important; + + } + + .item { + position: relative; + display: flex; + min-height: 80upx; + align-items: center; + } </style> \ No newline at end of file diff --git a/pages/inspect/check.vue b/pages/inspect/check.vue index db45236..f3f1bbb 100644 --- a/pages/inspect/check.vue +++ b/pages/inspect/check.vue @@ -4,116 +4,115 @@ <view class="cu-form-group margin-top"> <view class="title">璐ㄦ鍗�</view> <input placeholder="璇锋壂鎻忚川妫�鍗�" v-model="isptCode" focus></input> + <text class='cuIcon-search text-blue' @click="search"></text> </view> <view class="cu-form-group "> <view class="title">鐗╂枡鐮�</view> <input placeholder="璇锋壂鎻忕墿鏂欑爜" v-model="barcode"></input> - <text class='cuIcon-search text-blue' @click="search"></text> + <text class='cuIcon-search text-blue' @click="scrollTo"></text> </view> </form> - - - <view class="cu-list det menu sm-border padding"> + <view class="padding-lr margin-top-sm"> <block v-for="(item, index) in list" :key="index"> - <view class="cu-bar bg-white solid-bottom margin-top-sm"> - <view class="action"> - <!-- <view class="index"> - {{index+1}} - </view> --> - <view class="text-blue"> - {{`${item.maktx}`}} + <view class="cu-list det menu sm-border margin-bottom-sm " :class="[item.matnrCode===barcode&&'act']" + :ref="item.matnrCode+'ref'"> + + <view class="cu-bar bg-white solid-bottom "> + <view class="action"> + <view class="index"> + {{index+1}} + </view> + <view class="text-blue"> + {{`${item.maktx}`}} + </view> + </view> + <view class="action"> + <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text> </view> </view> - <!-- <view class="action" > - <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text> - </view> --> - </view> - <view class="cu-item"> - <view class="content"> - <text class="text-black">ASN:</text> - </view> - <view class="action"> - <text class="text-grey ">{{item.asnCode}}</text> - </view> - </view> - - <view class="cu-item"> - <view class="content"> - <text class="text-black">渚涘簲鍟�:</text> - </view> - <view class="action"> - <text class="text-grey ">{{item.splrName}}</text> - </view> - </view> - - <view class="cu-item"> - <view class="content"> - <text class="text-black">渚涘簲鍟嗘壒娆�:</text> - </view> - <view class="action"> - <text class="text-grey ">{{item.splrBatch}}</text> - </view> - </view> - - - <view class="cu-item"> - <view class="content"> - <text class="text-black">鏀惰揣鏁伴噺: <text class="text-grey ">{{item.rcptQty}}</text></text> - </view> - - <view class="content"> - <text class="text-black">閫佽揣鏁伴噺: <text class="text-grey ">{{item.dlyQty}}</text></text> - </view> - </view> - - - - - <view class="cu-item"> - <view class="content"> - <view class="cu-form-group padding-lr-0"> - <view class="title text-blue">鍚堟牸鏁伴噺:</view> - <input type="number" placeholder="璇疯緭鍏ュ悎鏍兼暟閲�" v-model="item.safeQty"></input> + <view class="cu-item"> + <view class="content"> + <text class="text-black">ASN:</text> + </view> + <view class="action"> + <text class="text-grey ">{{item.asnCode}}</text> </view> </view> - </view> - <view class="cu-item"> - <view class="content"> - <view class="cu-form-group padding-lr-0"> - <view class="title text-blue">涓嶅悎鏍兼暟閲�:</view> - <input type="number" placeholder="璇疯緭鍏ヤ笉鍚堟牸鏁伴噺" v-model="item.disQty"></input> + <view class="cu-item"> + <view class="content"> + <text class="text-black">渚涘簲鍟�:</text> + </view> + <view class="action"> + <text class="text-grey ">{{item.splrName}}</text> </view> </view> - </view> - <view class="cu-item"> - <view class="content"> - <view class="cu-form-group padding-lr-0"> - <view class="title text-blue">璐ㄦ缁撹:</view> - - <uni-data-select placement='top' v-model="item.isptResult" :localdata="range" - placeholder="璇疯緭鍏ヨ川妫�缁撹"></uni-data-select> + <view class="cu-item"> + <view class="content"> + <text class="text-black">渚涘簲鍟嗘壒娆�:</text> + </view> + <view class="action"> + <text class="text-grey ">{{item.splrBatch}}</text> </view> </view> - </view> - <view class="cu-form-group align-start"> - <view class="title text-blue">澶囨敞</view> - <textarea v-model="item.memo" placeholder="璇疯緭鍏ュ娉�"></textarea> - </view> - <!-- <view class="cu-form-group"> + <view class="cu-item"> + <view class="content"> + <text class="text-black">鏀惰揣鏁伴噺: <text class="text-grey ">{{item.rcptQty}}</text></text> + </view> + + <view class="content"> + <text class="text-black">閫佽揣鏁伴噺: <text class="text-grey ">{{item.dlyQty}}</text></text> + </view> + </view> + + <view class="cu-item"> + <view class="content"> + <view class="cu-form-group padding-lr-0"> + <view class="title text-blue">鍚堟牸鏁伴噺:</view> + <input type="number" placeholder="璇疯緭鍏ュ悎鏍兼暟閲�" v-model="item.safeQty"></input> + </view> + </view> + </view> + + <view class="cu-item"> + <view class="content"> + <view class="cu-form-group padding-lr-0"> + <view class="title text-blue">涓嶅悎鏍兼暟閲�:</view> + <input type="number" placeholder="璇疯緭鍏ヤ笉鍚堟牸鏁伴噺" v-model="item.disQty"></input> + </view> + </view> + </view> + + <view class="cu-item"> + <view class="content"> + <view class="cu-form-group padding-lr-0"> + <view class="title text-blue">璐ㄦ缁撹:</view> + + <uni-data-select placement='top' v-model="item.isptResult" :localdata="range" + placeholder="璇疯緭鍏ヨ川妫�缁撹"></uni-data-select> + </view> + </view> + </view> + + <view class="cu-form-group align-start"> + <view class="title text-blue">澶囨敞</view> + <textarea v-model="item.memo" placeholder="璇疯緭鍏ュ娉�"></textarea> + </view> + + <!-- <view class="cu-form-group"> <uni-file-picker limit="9" title="鐓х墖"></uni-file-picker> </view> --> + + </view> </block> </view> - - <view class="cu-bar btn-group foot"> <button class="cu-btn text-blue line-blue shadow" @click="clear">娓呯┖</button> <button class="cu-btn bg-blue shadow-blur" @click="confirm">鎻愪氦</button> @@ -165,10 +164,9 @@ msg } = await request('/inspect/query', { isptCode: this.isptCode, - matnrCode: this.barcode }) if (code === 200) { - this.list = [data] + this.list = data } else { uni.showToast({ title: msg, @@ -186,33 +184,32 @@ this.list = [] this.barcode = '' }, - + scrollTo() { + const ref = this.$refs[`${this.barcode}ref`][0]; + uni.pageScrollTo({ + scrollTop: ref.$el.offsetTop, + duration: 300 + }) + }, async confirm() { - const row = this.list[0] - if (row.safeQty > 0 || row.disQty > 0) { - const { - code, - data, - msg - } = await request('/inspect/check/update', row) - if (code === 200) { - uni.showToast({ - title: '璐ㄦ鎴愬姛' - }) - this.list = [] - this.barcode = '' - } else { - uni.showToast({ - title: msg, - icon: "none", - }) - } + const { + code, + data, + msg + } = await request('/inspect/check/update', this.list) + if (code === 200) { + uni.showToast({ + title: '璐ㄦ鎴愬姛' + }) + this.list = [] + this.barcode = '' } else { uni.showToast({ - title: '璇峰~鍐欐暟閲�', + title: msg, icon: "none", }) } + }, @@ -240,6 +237,10 @@ } + .act { + border: 1px solid #e54d42; + } + .item { position: relative; display: flex; diff --git a/pages/listing/disc.vue b/pages/listing/disc.vue index 394051a..5cf8e53 100644 --- a/pages/listing/disc.vue +++ b/pages/listing/disc.vue @@ -4,6 +4,7 @@ <view class="cu-form-group margin-top"> <view class="title">瀹瑰櫒鍙�</view> <input placeholder="璇锋壂鎻忓鍣ㄥ彿" v-model="container" focus></input> + <text class='cuIcon-search text-blue' @click="getList"></text> </view> <view class="cu-form-group "> @@ -15,85 +16,98 @@ <view class="flex solid-bottom padding-sm justify-between"> <view class="text-blue">鐗╂枡鎬荤被:{{list.length}}</view> - <view class="text-blue">鐗╂枡鎬绘暟:{{allCount}}</view> + <view class="text-blue">缁勭洏鎬绘暟:{{allCount}}</view> </view> - <view class="cu-list det menu sm-border padding"> + <view class="padding-lr margin-top-sm"> <block v-for="(item, index) in list" :key="index"> - <view class="cu-bar bg-white solid-bottom margin-top-sm"> - <view class="action"> - <view class="index"> - {{index+1}} + <view class="cu-list det menu sm-border margin-bottom-sm " :class="[item.trackCode===barcode&&'act']" + :ref="item.trackCode+'ref'"> + <view class="cu-bar bg-white solid-bottom "> + <view class="action"> + <view class="index"> + {{index+1}} + </view> + <view class="text-blue"> + {{`${item.maktx}`}} + </view> </view> - <view class="text-blue"> - {{`${item.maktx}`}} + <view class="action" v-if="!isconfirm"> + <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text> </view> </view> - <view class="action" v-if="!isconfirm"> - <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text> - </view> - </view> - <view class="cu-item"> - <view class="content"> - <text class="text-black">ASN:</text> + <view class="cu-item"> + <view class="content"> + <text class="text-black">ASN:</text> + </view> + <view class="action"> + <text class="text-grey ">{{item.asnCode}}</text> + </view> </view> - <view class="action"> - <text class="text-grey ">{{item.asnCode}}</text> - </view> - </view> - <view class="cu-item"> - <view class="content"> - <text class="text-black">渚涘簲鍟嗘壒娆�:</text> + <view class="cu-item"> + <view class="content"> + <text class="text-black">鐗╂枡鏉$爜:</text> + </view> + <view class="action"> + <text class="text-grey ">{{item.trackCode}}</text> + </view> </view> - <view class="action"> - <text class="text-grey ">{{item.splrBatch}}</text> - </view> - </view> - <view class="cu-item"> - <view class="content"> - <text class="text-black">搴撳瓨鎵规:</text> + <view class="cu-item"> + <view class="content"> + <text class="text-black">渚涘簲鍟嗘壒娆�:</text> + </view> + <view class="action"> + <text class="text-grey ">{{item.splrBatch}}</text> + </view> </view> - <view class="action"> - <text class="text-grey ">{{item.batch}}</text> + + <view class="cu-item"> + <view class="content"> + <text class="text-black">搴撳瓨鎵规:</text> + </view> + <view class="action"> + <text class="text-grey ">{{item.batch}}</text> + </view> </view> - </view> - <view class="cu-item"> - <view class="content"> - <text class="text-black">骞冲彴琛屽彿: <text class="text-grey ">{{item.platformId}}</text></text> - </view> - <view class="content"> - <text class="text-black">璐ㄦ缁撴灉: <text class="text-grey ">{{item.inspect}}</text></text> - </view> - </view> - - <view class="cu-item"> - <view class="content"> - <text class="text-black">搴撳瓨鍗曚綅: <text class="text-grey ">{{item.stockUnit}}</text></text> + <view class="cu-item"> + <view class="content"> + <text class="text-black">骞冲彴琛屽彿: <text class="text-grey ">{{item.platformId}}</text></text> + </view> + <view class="content"> + <text class="text-black">璐ㄦ缁撴灉: <text class="text-grey ">{{item.inspect}}</text></text> + </view> </view> - <!-- <view class="content"> + <view class="cu-item"> + <view class="content"> + <text class="text-black">搴撳瓨鍗曚綅: <text class="text-grey ">{{item.stockUnit}}</text></text> + </view> + + <!-- <view class="content"> <text class="text-black">璁″垝鏀惰揣鏁�: <text class="text-grey ">{{item.anfme}}</text></text> </view> --> - </view> + </view> - <view class="cu-item"> - <view class="content"> - <view class="cu-form-group padding-lr-0"> - <view class="title text-blue"><text class="text-red text-xl vertical-middle">*</text>缁勭洏鏁伴噺: + <view class="cu-item"> + <view class="content"> + <view class="cu-form-group padding-lr-0"> + <view class="title text-blue"><text + class="text-red text-xl vertical-middle">*</text>缁勭洏鏁伴噺: + </view> + <input type="number" placeholder="璇疯緭鍏ョ粍鐩樻暟閲�" v-model="item.anfme"></input> </view> - <input type="number" placeholder="璇疯緭鍏ョ粍鐩樻暟閲�" v-model="item.receiptQty"></input> </view> </view> + </view> - - </block> + </view> @@ -128,20 +142,24 @@ computed: { ...mapState('user', ['dynamicFields']), allCount() { - return this.list.reduce((acc, row) => +row.receiptQty + acc, 0) || 0 + return this.list.reduce((acc, row) => +row.anfme + acc, 0) || 0 } }, mounted() {}, methods: { async search() { + const find = this.list.find(el => el.trackCode === this.barcode); + find ? this.scrollTo() : this.getDet(); + + }, + async getDet() { const { code, data, msg } = await request('/asnOrderItem/trackCode/' + this.barcode, {}, "get") if (code === 200) { - const find = this.list.find(el => el.id === data.id); - !find && this.list.push(data) + data && this.list.push(data); } else { uni.showToast({ title: msg, @@ -149,8 +167,31 @@ position: 'top' }) } - - + }, + async getList() { + const { + code, + data, + msg + } = await request('/asnOrderItem/container', { + barcode: this.container + }) + if (code === 200) { + this.list = data + } else { + uni.showToast({ + title: msg, + icon: "none", + position: 'top' + }) + } + }, + scrollTo() { + const ref = this.$refs[`${this.barcode}ref`][0]; + uni.pageScrollTo({ + scrollTop: ref.$el.offsetTop, + duration: 300 + }) }, remove(index) { this.list.splice(index, 1); @@ -173,12 +214,20 @@ this.isconfirm = false }, async confirm() { + const newArr = this.list.map(item => { + return { + ...item, + anfme: item.anfme === null ? 0 : +item.anfme + // receiptQty: item.receiptQty === null ? 0 : +item.receiptQty + }; + }); + const { code, data, msg } = await request('/waitPakin/merge', { - items: this.list, + items: newArr, barcode: this.container }) if (code === 200) { @@ -187,6 +236,7 @@ }) this.list = [] this.barcode = '' + this.container = '' this.isconfirm = false } else { uni.showToast({ @@ -195,10 +245,7 @@ position: 'top' }) } - - }, - } } </script> @@ -222,6 +269,10 @@ } + .act { + border: 1px solid #e54d42; + } + .item { position: relative; display: flex; diff --git a/pages/listing/labour.vue b/pages/listing/labour.vue index c22cac1..4e17f7f 100644 --- a/pages/listing/labour.vue +++ b/pages/listing/labour.vue @@ -31,9 +31,9 @@ {{`${item.maktx}`}} </view> </view> - <!-- <view class="action" > + <view class="action"> <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text> - </view> --> + </view> </view> <view class="cu-item"> diff --git a/pages/listing/untie.vue b/pages/listing/untie.vue index 9645a1a..b00f8ad 100644 --- a/pages/listing/untie.vue +++ b/pages/listing/untie.vue @@ -4,6 +4,7 @@ <view class="cu-form-group margin-top"> <view class="title">瀹瑰櫒鍙�</view> <input placeholder="璇锋壂鎻忓鍣ㄥ彿" v-model="container" focus></input> + <text class='cuIcon-search text-blue' </text> </view> <view class="cu-form-group "> @@ -142,8 +143,13 @@ position: 'top' }) } - - + }, + scrollTo() { + const ref = this.$refs[`${this.barcode}ref`][0]; + uni.pageScrollTo({ + scrollTop: ref.$el.offsetTop, + duration: 300 + }) }, remove(index) { this.list.splice(index, 1); diff --git a/pages/listing/upper.vue b/pages/listing/upper.vue index 41b88e6..8e1804c 100644 --- a/pages/listing/upper.vue +++ b/pages/listing/upper.vue @@ -153,6 +153,7 @@ }) } }, + remove(index) { this.list.splice(index, 1); }, -- Gitblit v1.9.1