From a00ddcb072d20e6622081ca8ba87cac20a124b36 Mon Sep 17 00:00:00 2001
From: llj <132905093+newwwwwwtree@users.noreply.github.com>
Date: 星期三, 04 二月 2026 15:11:20 +0800
Subject: [PATCH] app小卫装箱
---
pages.json | 7
pages/zhuangxiang/snZhuangxiang_xiaowei.vue | 578 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
pages/index/index.vue | 7
3 files changed, 592 insertions(+), 0 deletions(-)
diff --git a/pages.json b/pages.json
index 9eedc88..c847723 100644
--- a/pages.json
+++ b/pages.json
@@ -1764,6 +1764,13 @@
{
"navigationBarTitleText" : "鎷嗙灏忓崼"
}
+ },
+ {
+ "path" : "pages/zhuangxiang/snZhuangxiang_xiaowei",
+ "style" :
+ {
+ "navigationBarTitleText" : "瑁呯锛堝皬鍗級"
+ }
}
diff --git a/pages/index/index.vue b/pages/index/index.vue
index a8de36f..fe24440 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -351,6 +351,13 @@
"id": 27,
"hidden": false
},
+ {
+ "img": "../../static/icon/icon21.png",
+ "text": "灏忓崼瑁呯",
+ "url": "/pages/zhuangxiang/snZhuangxiang_xiaowei",
+ "id": 28,
+ "hidden": false
+ },
],
}
},
diff --git a/pages/zhuangxiang/snZhuangxiang_xiaowei.vue b/pages/zhuangxiang/snZhuangxiang_xiaowei.vue
new file mode 100644
index 0000000..97faa11
--- /dev/null
+++ b/pages/zhuangxiang/snZhuangxiang_xiaowei.vue
@@ -0,0 +1,578 @@
+<template>
+ <view class="form">
+ <view class="form-base-info">
+ <view class="form-item">
+ <view class="title">sn鐮�</view>
+ <view class="right">
+ <input type="text" :focus="HBarCodePackFocus" v-model="HBarCode_Pack" @confirm="GetMeesageByBarCode_Pack(HBarCode_Pack)" />
+ </view>
+ <view class="right-icon">
+ <uni-icons class="right-icon" type="scan"
+ style="background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;" size="20"
+ @click="toScanCode"></uni-icons>
+ </view>
+ </view>
+ </view>
+ <view class="tabs">
+ <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">瑁呯淇℃伅</view>
+ <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">鍗曟嵁淇℃伅</view>
+ </view>
+ <!-- 鎷嗙淇℃伅 -->
+ <view v-if="tabs == 0">
+ <zb-table id="list-table" :fit="true" :style="{height: `${listTableHeight}px`}" :columns="columns" :data="listData"
+ :show-header="true" :border="true" :row-key="row => row.index" @toggleRowSelection="handleSelect"
+ @toggleAllSelection="handleSelectAll" />
+ </view>
+ <!-- 鍗曟嵁淇℃伅 -->
+ <view v-if="tabs == 1">
+ <view class="bill-info">
+ <view class="form-item">
+ <view class="title">鍗曟嵁鏃ユ湡</view>
+ <view class="right">
+ <uni-datetime-picker type="date" v-model="hform.HDate">
+ <input type="text" v-model="hform.HDate" />
+ </uni-datetime-picker>
+ </view>
+ </view>
+ </view>
+ <view class="bill-info">
+ <view class="form-item">
+ <view class="title">鍒跺崟浜�</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HMaker" />
+ </view>
+ </view>
+ </view>
+ <!-- <view class="bill-info">
+ <view class="form-item">
+ <view class="title">鍗曟嵁鍙�</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HBillNo" />
+ </view>
+ </view>
+ </view> -->
+ <!-- <view class="bill-info">
+ <view class="form-item">
+ <view class="title">鍗曟嵁ID</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HInterID" />
+ </view>
+ </view>
+ </view> -->
+ <view class="bill-info">
+ <view class="form-item">
+ <view class="title">缁勭粐</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HStockOrgName" />
+ </view>
+ </view>
+ </view>
+ </view>
+ <view class="bottom-btn" id="bottom-btn">
+ <button :class="EnableSubmit?'btn-a':'btn-c'" :disabled="!EnableSubmit" size="mini" @tap="cmdSubmit">鎷嗙</button>
+ <view style="flex: 1;"></view>
+ <!-- <button class="btn-d" size="mini" @tap="cmdDelete">鍒犻櫎</button> -->
+ <button class="btn-c" size="mini" @tap="cmdExit">閫�鍑�</button>
+ </view>
+ </view>
+</template>
+
+<script>
+ import dayjs from 'dayjs'
+ import {
+ getUserInfo
+ } from "../../utils/auth";
+ import {
+ CommonUtils
+ } from "@/utils/common.js"
+ import {
+ MpaasScan
+ } from "@/utils/mpaasScan.js"
+ export default {
+ data() {
+ return {
+ ItemidList:'',
+ EnableSubmit: true,
+ // 璁$畻鍒楄〃楂樺害
+ bottomBtnTop: 0,
+ listTableTop: 0,
+ // 鍏叡鍙橀噺
+ HBarCodePackFocus: false,
+ HBarCodeFocus: false,
+ HBarCode_Pack: '', //绠辨潯鐮�
+ HBarCode: '', // 鍖呮潯鐮�
+ tabs: 0,
+ HBillType: '3783',
+ HBillSubType: '1', //瀛愮被鍨嬶紙1鎷嗙銆�2鎷嗘墭锛�
+ OperationType: 1, //鎿嶄綔绫诲瀷锛�1鏂板銆�2浠庣紦瀛樺垪琛ㄤ腑杩斿洖锛�
+ HMaterNumber_Pack: "", //鎵樻潯鐮佸搴旂墿鏂欎唬鐮�
+ listOption: [],
+ listData: [],
+ columns: [
+ {
+ name: 'index',
+ label: '搴忓彿',
+ width: 60,
+ hidden: true,
+ },
+ // {
+ // name: '涓鐮�',
+ // label: '涓鐮�',
+ // width: 100,
+ // },
+ {
+ name: 'sn鐮�',
+ label: 'sn鐮�',
+ width: 100,
+ },
+ {
+ name: '鐗╂枡浠g爜',
+ label: '鐗╂枡浠g爜',
+ width: 100,
+ },
+ {
+ name: '鐗╂枡鍚嶇О',
+ label: '鐗╂枡鍚嶇О',
+ width: 100,
+ },
+
+ ],
+ selectedRows: [], // 瀛樺偍閫変腑鐨勬暟鎹�
+ HModName: "Sc_UnPackUnionBill_Packing_PDA",
+ ModRightName: "CE_UnPackUnionBill_Packing", //妯″潡鏉冮檺鍙傛暟
+ titleData: [], //涓嶉渶瑕佹樉绀虹殑瀛楁
+ OperationType: 1, //浠庣紦瀛樺垪琛ㄤ腑杩斿洖鏁版嵁绫诲瀷锛�1鏂板銆�2浠庣紦瀛樺垪琛ㄤ腑杩斿洖锛�
+ HBarCode_Pack_Temp: "", //浠庣紦瀛樺垪琛ㄤ腑杩斿洖绠辨潯鐮�
+
+ // 琛ㄥ崟鎻愪氦鍊�
+ hform: {
+ HDate: dayjs(new Date()).format('YYYY-MM-DD'),
+ HMaker: getUserInfo()['Czymc'],
+ HBillNo: '',
+ HInterID: '',
+ HStockOrgName: uni.getStorageSync("Organization"),
+ HStockOrgID: uni.getStorageSync("OrganizationID"),
+ },
+ // 鍒嗛〉妯″潡鍏冩暟鎹�
+ paginationMeta: {
+
+ }
+ }
+ },
+ methods: {
+ async HBarCodeFocusRefresh(){
+ this.HBarCode = ''
+ this.HBarCodeFocus = false
+ await this.$nextTick()
+ this.HBarCodeFocus = true
+ },
+ async HBarCodePackFocusRefresh(){
+ this.HBarCode_Pack = ''
+ this.HBarCodePackFocus = false
+ await this.$nextTick()
+ this.HBarCodePackFocus = true
+ },
+ toScanCode() {
+ MpaasScan.scanCode((scanCode) => {
+ this.HBarCode_Pack = scanCode
+ this.GetMeesageByBarCode_Pack(HBarCode_Pack)
+ })
+ },
+ GetMeesageByBarCode_Pack(HBarCode) {
+ // 鑾峰彇鍖呮潯鐮佸搴旂殑鏁版嵁
+ let HBarCode_Pack = this.HBarCode_Pack
+ let sOldBarCode = this.HBarCode_Pack
+ let HDeleteFlag = sOldBarCode.substring(0, 1)
+ let sBarCode = sOldBarCode.slice(1)
+ if (!HBarCode_Pack) {
+ return uni.showToast({
+ icon: 'none',
+ title: 'sn鏉$爜涓虹┖锛岃鍏堟壂鎻弒n鏉$爜',
+ })
+ }
+ let sBarCode_b = this.HBarCode_Pack
+ if (!sBarCode_b) {
+ return uni.showToast({
+ icon: 'none',
+ title: 'sn鏉$爜涓嶈兘涓虹┖锛岃鎵弿sn鏉$爜',
+ })
+ }
+ CommonUtils.doRequest2({
+ url: '/CheckBarcodeController/PackedBoxSn',
+ data: {
+
+ "HBarCode": sBarCode_b,
+ "HMaker":this.hform.HMaker,
+ "HDate":this.hform.HDate
+ //"HBarCode_Pack": HBarCode_Pack,
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ CommonUtils.playSound(1)
+ console.log(data[0])
+ //this.listData = []
+ var codeLength=data.length
+ for (let i = 0; i < codeLength; i++) {
+ const newItem = data[i]
+ const isExist = this.listData.some(item =>
+ item['sn鐮�'] === newItem['sn鐮�']
+ )
+
+ if (!isExist) {
+ this.listData.push(Object.assign(newItem, {
+ index: this.listData.length // 浣跨敤褰撳墠鍒楄〃闀垮害浣滀负鏂癷ndex
+ }))
+ }
+ this.ItemidList=this.ItemidList+newItem['HItemID']+","
+ console.log(this.ItemidList)
+ }
+ this.HBarCode_Pack = ''
+ this.HBarCodePackFocusRefresh()
+ } else {
+ CommonUtils.playSound(0)
+ this.HBarCodeFocusRefresh()
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ console.log(sBarCode_b)
+ }
+ })
+
+ },
+ handleSelect(selected, array) {
+ this.selectedRows = array
+ },
+ handleSelectAll(selected, array) {
+ this.selectedRows = array
+ },
+ getMaxNo() {
+ CommonUtils.doRequest2({
+ url: "/WEBSController/GetMaxBillNoAndID_Json",
+ data: {
+ "HBillType": this.HBillType
+ },
+ resFunction: (d) => {
+ console.log('d: ', d);
+ let {
+ count,
+ data,
+ Message
+ } = d.data
+ if (count == 1) {
+ this.hform.HInterID = data[0].HInterID;
+ this.hform.HBillNo = data[0].HBillNo
+ } else {
+
+ uni.showModal({
+ title: "娓╅Θ鎻愮ず",
+ showCancel: false,
+ content: Message
+
+ })
+
+ }
+ }
+ })
+ },
+ submitPreCheck() {
+ if (CommonUtils.isEmpty(this.hform.HInterID)) {
+ uni.showToast({
+ icon: 'none',
+ title: '鍗曟嵁鍐呯爜鑾峰彇澶辫触锛岄敊璇殑鍗曟嵁鍐呯爜锛�'
+ })
+ return false
+ }
+ if (CommonUtils.isEmpty(this.hform.HBillNo)) {
+ uni.showToast({
+ icon: 'none',
+ title: '鍗曟嵁鍙疯幏鍙栧け璐ワ紝閿欒鐨勫崟鎹彿锛�'
+ })
+ return false
+ }
+ if (this.listData.length < 1) {
+ uni.showToast({
+ icon: 'none',
+ title: '娌℃湁鎵爜淇℃伅锛岃鍏堟壂鎻忔潯鐮侊紝纭鏃犺鍚庡啀鎻愪氦锛�'
+ })
+ return false
+ }
+ return true
+ },
+ cmdDelete() {
+ console.log('this.selectedRows: ', this.selectedRows);
+ if (this.selectedRows.length != 1) {
+ return uni.showToast({
+ icon: 'none',
+ title: '璇烽�夋嫨涓�琛岃褰曪紝杩涜鍒犻櫎锛�'
+ })
+ }
+ uni.showModal({
+ title: '鍒犻櫎纭',
+ content: '纭瑕佸垹闄ら�変腑琛屾墍鏈夋壂鐮佽褰曪紵鍒犻櫎鍚庡皢涓嶅彲鎭㈠!',
+ success: () => {
+ if (confirm) {
+ CommonUtils.doRequest2({
+ url: '/WEBSController/set_DelPackUnionBill_Temp_Pack_Json',
+ data: {
+ HInterID: this.hform.HInterID,
+ HBillType: this.HBillType,
+ HBarCode: this.selectedRows[0].HBarCode
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ CommonUtils.playSound(1)
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ this.DisBillEntryList()
+ } else {
+ CommonUtils.playSound(0)
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ }
+ }
+ })
+ },
+ cmdSubmit() {
+ // let checkRes = this.submitPreCheck()
+ // if (!checkRes) {
+ // return
+ // }
+ this.EnableSubmit = false
+ let HItemIDs=this.ItemidList.slice(0,-1)
+ CommonUtils.doRequest2({
+ url: '/CheckBarcodeController/submitPackedBoxSn',
+ data: {
+
+ "HItemIDs": HItemIDs,
+ "HMaker":this.hform.HMaker,
+ "HDate":this.hform.HDate
+ },
+ resFunction: (res) => {
+ let {data, count, Message} = res.data
+ if(count == 1){
+ uni.showModal({
+ title: '鐢熸垚鐨勬潯鐮侊細',
+ content: res.data.data[0].HBackRemark,
+ confirmText: "鏂板",
+ cancelText: '鍏抽棴',
+ success: ({confirm,cancel}) => {
+ if(confirm) {
+ uni.redirectTo({
+ url: "/pages/zhuangxiang/snZhuangxiang_xiaowei"
+ })
+ }
+
+ if(cancel) {
+ uni.navigateBack()
+ }
+ }
+ })
+ }else {
+ uni.showToast({
+ icon:'none',
+ title: Message
+ })
+ }
+ }
+ })
+
+
+
+
+
+
+ },
+ cmdExit() {
+ uni.navigateBack()
+ }
+ },
+ computed: {
+ listTableHeight: {
+ get() {
+ return this.bottomBtnTop - this.listTableTop - 10
+ }
+ }
+ },
+ async onReady() {
+ // #ifndef MP-WEIXIN
+ let query = uni.createSelectorQuery().in(this)
+ query.select("#bottom-btn")
+ .boundingClientRect((data) => {
+ if (data) {
+ this.bottomBtnTop = data.top
+ } else {
+ console.log("鏈壘鍒�#bottom-btn鑺傜偣");
+ }
+ })
+ .exec();
+ query.select("#list-table")
+ .boundingClientRect((data) => {
+ if (data) {
+ this.listTableTop = data.top
+ } else {
+ console.log("鏈壘鍒�#list-table鑺傜偣");
+ }
+ })
+ .exec();
+ // #endif
+ },
+ onLoad(e) {
+ this.OperationType = e.OperationType || 1
+ this.HBarCode_Pack_Temp = e.CommonUtils || ""
+
+ // if (this.OperationType == 1) {
+ // this.getMaxNo()
+ // } else if (this.OperationType == 2) {
+
+ // }
+
+ this.HBarCodePackFocusRefresh()
+ }
+ }
+</script>
+
+<style lang="scss">
+ input {
+ width: inherit;
+ padding: 8rpx 20rpx;
+ font-size: 30rpx;
+ }
+
+ .form {
+ display: flex;
+ flex-direction: column;
+ gap: 20rpx;
+
+ .form-base-info {
+ display: flex;
+ flex-direction: column;
+ gap: 10rpx;
+ box-sizing: border-box;
+ padding: 30rpx;
+ }
+
+ .bill-info {
+ display: flex;
+ flex-direction: column;
+ gap: 10rpx;
+ box-sizing: border-box;
+ padding: 16rpx 30rpx;
+ }
+
+ .form-item {
+ display: flex;
+ flex-direction: row;
+ gap: 10rpx;
+
+ .title {
+ width: 5rem;
+ flex-shrink: 0;
+ }
+
+ .right {
+ flex: 1;
+ border-radius: 22rpx;
+ border: 1px solid #acacac;
+ }
+
+ .disabled {
+ border: 1px solid #e4e4e4;
+ background-color: #e4e4e4;
+ }
+
+ .right-icon {
+ flex-shrink: 0;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+
+ }
+ }
+
+ .tabs {
+ width: 100%;
+ display: flex;
+ border-bottom: 1px solid #ddd;
+ margin: 20rpx 0;
+
+ view {
+ width: 25%;
+ font-size: 30rpx;
+ color: #555;
+ text-align: center;
+ padding: 16rpx 0;
+ }
+
+ .on {
+ color: #3a78ff;
+ font-weight: bold;
+ border-bottom: 3px solid #3a78ff;
+ }
+ }
+
+ .bottom-btn {
+ width: 100%;
+ box-sizing: border-box;
+ // height: 120rpx;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ background-color: #fff;
+ box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+ padding: 30rpx 40rpx 40rpx 40rpx;
+ display: flex;
+ flex-direction: row;
+ gap: 10rpx;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 28rpx;
+ }
+
+ .btn-a {
+ background-color: #3A78FF;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #acacac;
+ color: #fff;
+ // position: absolute;
+ // right: 120rpx;
+ }
+
+ .btn-d {
+ background-color: #ff8901;
+ color: #fff;
+ }
+ }
+
+</style>
\ No newline at end of file
--
Gitblit v1.9.1