From 8081e115c0d8ffd0dd572e02a4dfa28818ad2d5a Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期一, 12 五月 2025 17:09:40 +0800
Subject: [PATCH] 1.采购入库实现35%
---
pages/wlgl/cgrk3.vue | 483 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 483 insertions(+), 0 deletions(-)
diff --git a/pages/wlgl/cgrk3.vue b/pages/wlgl/cgrk3.vue
index e69de29..eb6da76 100644
--- a/pages/wlgl/cgrk3.vue
+++ b/pages/wlgl/cgrk3.vue
@@ -0,0 +1,483 @@
+<template>
+ <view>
+ <page-nav title="閲囪喘鍏ュ簱3"></page-nav>
+
+
+
+ <view v-if="purchorderArr.length===0">
+ <div class="sacnBody">
+ <div class="scanImg" @click="topScanClick"></div>
+ <div class="scanText">鎵弿鐗╂枡鏍囩</div>
+ </div>
+ </view>
+
+ <view v-if='purchorderArr.length!==0' class="mainContent" style="">
+ <view>
+ <u-gap height="10" bgColor="#eff0f1"></u-gap>
+ <view class="head">
+
+ <view style="max-height: 940rpx;overflow: auto;">
+
+ <view class="head" style="position: relative;">
+
+ <u-radio-group v-model="radioValue" class="flex_column">
+ <view class=" flex_column" style="width: 100%;" @click="radioValueClick(item.hbarcode)"
+ v-for="(item,index) in purchorderDetailArr" :key="item.hbarcode">
+
+
+ <view class="head_block" style="position: absolute;margin: 38rpx 0 0 0;">
+ <view class="head_left">
+ <view class="head_bar"></view>
+ <view class="head_title" style="font-weight: bold;">
+ 鏍囩淇℃伅
+ </view>
+ </view>
+ </view>
+
+
+ <view class="orderNumber" :key="item.hbarcode">
+ {{(index+1).toString().padStart(2,0)}}
+ </view>
+
+ <view class="trash" v-show="purchorderDetailArr.length>1"
+ @click="trashClick(index)">
+ <u-icon name="trash" size='20'></u-icon>
+ </view>
+
+ <view v-show="purchorderDetailArr.length===1" style="width: 48rpx;height: 48rpx;">
+ </view>
+
+
+
+ <view class="flex_between marginBottom20 marginLeft20 marginTop20">
+ <view style="display: flex;">
+ <view class="flex_column titleFont">
+ <view>鐗╂枡鏍囩锛�</view>
+ <view>鏍囩鏁伴噺锛�</view>
+ <view>渚涙柟淇℃伅锛�</view>
+ <view>閲囪喘鎵规锛�</view>
+ <view>璐ㄩ噺鐘舵�侊細</view>
+ </view>
+ <view class="flex_column contentFont">
+ <view>{{item.hbarcode}}</view>
+ <view>{{item.hqty}}</view>
+ <view class="ellipsis" style="width: 460rpx;">{{item.hcustomername}}
+ </view>
+ <view>{{item.hbatchno}}</view>
+ <!-- <view>{{item.qualitystatus?item.qualitystatus:'/'}}</view> -->
+ <view v-if="item.qualitystatus===null">/</view>
+ <view v-else style="display: flex;align-items: center;">
+ <!-- <u-icon
+ :name="item.qualitystatus==='OK'?'checkmark-circle-fill':'close-circle-fill'"
+ :color="item.qualitystatus==='OK'?'#55ff00':'#FF0000'"
+ size="40"></u-icon>
+ <view style="margin-left: 10rpx;">
+ {{item.qualitystatus==='OK'?'鍚堟牸':'涓嶅悎鏍�'}}
+ </view> -->
+
+ <u-icon name="more-circle-fill" color="#55aaff" size="20"></u-icon>
+ <view style="margin-left: 10rpx;">
+ 寰呮
+ </view>
+
+ </view>
+ </view>
+ </view>
+ <u-radio size='20' class="marginRight20" :key="item.hbarcode"
+ :name="item.hbarcode" activeColor="red"></u-radio>
+ </view>
+
+ <u-gap height="10" v-if="index!==purchorderDetailArr.length-1"
+ bgColor="#eff0f1"></u-gap>
+
+ </view>
+ </u-radio-group>
+ </view>
+
+ </view>
+
+ </view>
+ </view>
+ </view>
+
+ <!-- <view v-if='purchorderArr.length!==0' class="footer">
+ <view class="head_block" style="align-items: center;padding: 0 23rpx;">
+ <view class="head_left">
+ <view class="head_bar"></view>
+ <view class="head_title" style="font-weight: bold;">
+ 閫夋嫨璐ㄦ鏂规
+ </view>
+ </view>
+
+ <view class="flex_center" style="margin-right: 20rpx;">
+ <view @click='sheetClick' class="custominputClass">
+
+ <view v-show='sheetValue===""' style="color: rgb(192, 196, 204);">璇烽�夋嫨</view>
+ <view v-show='sheetValue!==""' class="ellipsis" style="width: 390rpx;">
+ {{sheetValue}}
+ </view>
+
+ <u-icon :name="!sheetShow?'arrow-down-fill':'arrow-up-fill'"></u-icon>
+ </view>
+ </view>
+
+ </view>
+ </view> -->
+
+ <u-picker :show="sheetShow" :columns="columns" :itemHeight='55' :closeOnClickOverlay='true'
+ @close='sheetShow=false' @confirm='pickerConfirm' @cancel='sheetShow=false'></u-picker>
+
+
+ <view class="footer">
+
+ <u-button :disabled="!sheetValue" v-if='purchorderArr.length!==0' type="primary" size='large'
+ :hairline="true" @click="navigateTo" text="涓嬩竴姝�"></u-button>
+ </view>
+
+
+ <!-- <scan-code></scan-code> -->
+
+ <!-- 鎮诞鐞� -->
+ <!-- <view v-show="purchorderArr.length!==0&&!sheetShow" @click="topScanClick">
+ <drag-ball :x='$DeviceInformation.screenWidth*0.8' :y="$DeviceInformation.screenHeight*0.7"></drag-ball>
+ </view> -->
+
+
+
+ <!-- <navigator :url="'./rcjy2?item='+ encodeURIComponent(JSON.stringify(item))"> -->
+ <!-- <navigator :url="'./rcjy2?item='+encodeURIComponent(1)">
+ </navigator>
+ -->
+ </view>
+</template>
+
+
+<script>
+ import {
+ MesAppPurchInStorScanLabCode
+ } from '../../config/api.js';
+ // import scanCode from '@/components/scan-code/scan-code.vue'
+ const App = getApp()
+ export default {
+ // components: {
+ // scanCode
+ // },
+ onLoad(option) {
+
+ // if (option.length !== undefined) {
+ // let t1 = JSON.parse(uni.getStorageSync('purchorderArr'))
+ // let t2 = JSON.parse(uni.getStorageSync('purchorderDetailArr'))
+ // // 鏄惁鍚屾鎵规
+ // if (option.issyncbatch === 'true') { //鏄�
+ // console.log('鎵ц1')
+ // this.purchorderArr = t1.filter(i => {
+ // return !(i.hbillno === option.hbillno && i.partcode === option.partcode && i.hbatchno ===
+ // option.hbatchno)
+ // })
+ // this.purchorderDetailArr = t2.filter(i => {
+ // console.log(!(i.hbillno === option.hbillno && i.partcode === option.partcode && i
+ // .hbatchno ===
+ // option.hbatchno))
+ // return !(i.hbillno === option.hbillno && i.partcode === option.partcode && i.hbatchno ===
+ // option.hbatchno)
+ // })
+
+ // } else if (option.issyncbatch === 'false') { //鍚�
+ // console.log('鎵ц2')
+ // this.purchorderDetailArr = t2.filter(i => i.hbarcode !== option.labcode)
+ // this.purchorderArr = t1.filter(i => i.hbarcode !== option.labcode)
+ // }
+ // console.log('鎵ц3')
+ // this.radioValue = this.purchorderDetailArr[0].hbarcode
+ // const t = this.purchorderDetailArr.find(i => i.hbarcode === this.radioValue).hbillno
+ // this.purchorderObj = this.purchorderArr.find(i => i.hbillno === t)
+ // this.$forceUpdate()
+ // }
+
+
+
+ },
+
+ onPullDownRefresh() {
+ setTimeout(() => {
+ this.init(() => {
+ uni.stopPullDownRefresh();
+ })
+ }, 1000);
+ },
+
+ data() {
+ return {
+
+
+ // "hbillno": "DH2303311361", //鍗曟嵁缂栧彿
+ // "partcode": "102", //浜у搧缂栫爜
+ // "partname": "鍐呭瓨", //浜у搧鍚嶇О
+ // "partspec": "", //浜у搧瑙勬牸
+ // "hbarcode": "DH2303311360", //鐗╂枡鏍囩
+ // "stocktype_code": "1", //瀛樿揣绫诲瀷缂栫爜
+ // "hqty": 300.00, //鏍囩鏁伴噺
+ // "hcustomercode": "0010002", //渚涘簲鍟嗙紪鐮�
+ // "hcustomername": "钂傛.鍏嬭檹浼彂鍔ㄦ満绯荤粺锛堝父宸烇級鏈夐檺鍏徃", //渚涘簲鍟嗗悕绉�
+ // "hbatchno": "2", //閲囪喘鎵规
+ // "qualitystatus": null //璐ㄩ噺鐘舵��
+
+ purchorderObj: {},
+ purchorderArr: [
+ // {
+ // hbillno: 'DH2304041465',
+ // partcode: 'ZG-Y-001',
+ // partname: 'ZG鍘熸潗鏂�001',
+ // partspec: '#001'
+ // },
+ // {
+ // hbillno: 'DH2304041463',
+ // partcode: 'ZG-Y-002',
+ // partname: 'ZG鍘熸潗鏂�002',
+ // partspec: '#002'
+ // }
+ ],
+ purchorderDetailArr: [
+ // {
+ // hbillno: 'DH2304041465',
+ // hbarcode: 'DH2304041464',
+ // hqty: 100,
+ // hcustomername: 'ZG澶栬喘渚涘簲鍟�',
+ // hbatchno: '#101',
+ // qualitystatus: 'NG'
+ // },
+ // {
+ // hbillno: 'DH2304041463',
+ // hbarcode: 'DH2304041462',
+ // hqty: 400,
+ // hcustomername: 'ZG澶栬喘渚涘簲鍟�',
+ // hbatchno: '#101',
+ // qualitystatus: 'OK'
+ // },
+ // {
+ // hbillno: 'DH2304041463',
+ // hbarcode: 'DH2304041461',
+ // hqty: 300,
+ // hcustomername: 'ZG澶栬喘渚涘簲鍟�',
+ // hbatchno: '#101',
+ // qualitystatus: 'NG'
+ // }, {
+ // hbillno: 'DH2304041463',
+ // hbarcode: 'DH2304041460',
+ // hqty: 200,
+ // hcustomername: 'ZG澶栬喘渚涘簲鍟�',
+ // hbatchno: '#101',
+ // qualitystatus: 'OK'
+ // },
+ ],
+ radioValue: '',
+
+ sheetShow: false, //涓婃媺鍒楄〃鏄惁灞曞紑
+ sheetValue: '',
+ sheetList: [],
+ columns: []
+ }
+ },
+ created() {
+
+ },
+ mounted() {
+ this.init()
+
+
+
+ this.getMesAppPurchInStorScanLabCode('DH25050900016')
+ },
+ methods: {
+ init() {
+ uni.stopPullDownRefresh();
+ },
+ //鏉ヨ嚜浜庨〉闈�3鐨勫�� 杩涜鏁版嵁澶勭悊
+ fromSubmitData(option) {
+
+ let t1 = JSON.parse(uni.getStorageSync('purchorderArr'))
+ let t2 = JSON.parse(uni.getStorageSync('purchorderDetailArr'))
+ // 鏄惁鍚屾鎵规
+ if (option.issyncbatch === 'Y') { //鏄�
+ console.log('鎵ц1')
+ this.purchorderArr = t1.filter(i => {
+ return !(i.hbillno === option.hbillno && i.partcode === option.partcode && i.hbatchno ===
+ option.hbatchno)
+ })
+ this.purchorderDetailArr = t2.filter(i => {
+ return !(i.hbillno === option.hbillno && i.partcode === option.partcode && i.hbatchno ===
+ option.hbatchno)
+ })
+
+ } else if (option.issyncbatch === 'N') { //鍚�
+ console.log('鎵ц2')
+ this.purchorderDetailArr = t2.filter(i => i.hbarcode !== option.labcode)
+ this.purchorderArr = t1.filter(i => i.hbarcode !== option.labcode)
+ }
+ console.log('鎵ц3')
+ if (this.purchorderDetailArr.length > 0) {
+ this.radioValue = this.purchorderDetailArr[0].hbarcode
+ const t = this.purchorderDetailArr.find(i => i.hbarcode === this.radioValue).hbillno
+ this.purchorderObj = this.purchorderArr.find(i => i.hbillno === t)
+ }
+
+ this.$forceUpdate()
+
+ },
+ // 鎵弿
+ topScanClick() {
+ let that = this;
+
+ uni.scanCode({
+ onlyFromCamera: true,
+ // scanType: ['barCode', 'qrCode'],
+ scanType: ['qrCode'],
+ success: function(res) {
+ console.log('鏉$爜绫诲瀷锛�' + res.scanType);
+ console.log('鏉$爜鍐呭锛�' + res.result);
+ that.scanContent = res.result;
+ let flag = false
+ that.purchorderDetailArr.forEach(item => {
+ if (item.hbarcode === res.result) {
+ flag = true
+ }
+ })
+ if (flag) {
+ that.$u.toast('姝ゆ潯鐮佸凡鎵弿锛屽凡鍦ㄥ垪琛ㄤ腑锛�')
+ } else {
+ //澶勭悊鎵爜浜嬩欢
+ that.getMesAppPurchInStorScanLabCode(that.scanContent);
+ }
+ },
+ complete: function(res) {
+
+ },
+ fail: function(res) {
+ console.log('鏉$爜绫诲瀷锛�' + res.scanType);
+ console.log('鏉$爜鍐呭锛�' + res.result);
+ }
+
+ });
+ },
+ // 鑾峰彇鏍囩淇℃伅
+ async getMesAppPurchInStorScanLabCode(labcode) {
+ const data = {
+ labcode
+ }
+ const res = await MesAppPurchInStorScanLabCode(this.global.formatData(data))
+
+ if (res.code === '200') {
+ console.log(res)
+ this.purchorderArr.unshift({
+ hbillno: res.data[0].hbillno,
+ partcode: res.data[0].partcode,
+ partname: res.data[0].partname,
+ partspec: res.data[0].partspec,
+ hbarcode: res.data[0].hbarcode,
+ hbatchno: res.data[0].hbatchno ? res.data[0].hbatchno : '/',
+ })
+
+ this.purchorderDetailArr.unshift({
+ hbillno: res.data[0].hbillno,
+ partcode: res.data[0].partcode,
+ hbarcode: res.data[0].hbarcode,
+ hqty: res.data[0].hqty,
+ hcustomername: res.data[0].hcustomername,
+ hcustomercode: res.data[0].hcustomercode,
+ hbatchno: res.data[0].hbatchno ? res.data[0].hbatchno : '/',
+ qualitystatus: res.data[0].qualitystatus,
+ })
+
+ this.purchorderObj = this.purchorderArr[0]
+
+ this.radioValue = res.data.labcont[0].hbarcode
+
+ }
+ },
+ // picker纭鎸夐挳
+ pickerConfirm(val) {
+ this.sheetValue = val.value[0]
+ this.sheetShow = false
+ },
+ // 閫夋嫨璐ㄦ鏂规
+ sheetClick(val) {
+ this.sheetShow = true
+ },
+ // 椤甸潰璺宠浆
+ navigateTo() {
+
+
+ uni.setStorageSync('purchorderArr', JSON.stringify(this.purchorderArr))
+ uni.setStorageSync('purchorderDetailArr', JSON.stringify(this.purchorderDetailArr))
+
+ // uni.navigateTo({
+ // url:'./rcjy2?purchorderObj=' + JSON.stringify(this.purchorderObj)+
+ // })
+
+
+
+ uni.navigateTo({
+ url: './rcjy2?checkstandcode=' + this.sheetList.find(i => i.name === this.sheetValue).code +
+ '&checkstandname=' + this.sheetValue + '&sampmethod=' + this.sheetList.find(i => i.name ===
+ this.sheetValue).sampmethod + '&sampscare=' + this.sheetList.find(i => i.name === this
+ .sheetValue).sampscare + '&purchorderObj=' + JSON.stringify(this
+ .purchorderObj) + '&radioSelectValue=' + JSON.stringify(this.purchorderDetailArr.find(
+ i => i.hbarcode === this.radioValue))
+
+
+ });
+ },
+ // 鍗曢�夋寜閽偣鍑讳簨浠�
+ radioValueClick(val) {
+ this.radioValue = val
+ const t = this.purchorderDetailArr.find(i => i.hbarcode === val).hbillno
+ this.purchorderObj = this.purchorderArr.find(i => i.hbillno === t)
+ },
+ // 鍒犻櫎浜嬩欢鐐瑰嚮
+ trashClick(val) {
+ this.purchorderDetailArr.splice(val, 1)
+ },
+
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ @import url('@/style/global.css');
+
+ ::v-deep .uicon-arrow-left>span {
+ display: block;
+ }
+
+
+
+ .orderNumber {
+ width: 60rpx;
+ height: 40rpx;
+ // margin: -22rpx 0 0 -30rpx;
+ background-color: #d3daf9;
+ color: #2979FF;
+ font-size: 26rpx;
+ padding: 4rpx 0 0 10rpx;
+ border-radius: 0 0 90% 0;
+ }
+
+ .trash {
+ width: 48rpx;
+ height: 48rpx;
+ margin: -26rpx 0 0 646rpx;
+ background-color: #d3daf9;
+ font-size: 26rpx;
+ padding: 6rpx 0 0 10rpx;
+ border-radius: 100%;
+ }
+
+ .custominputClass {
+ width: 424rpx;
+ display: flex;
+ justify-content: space-between;
+ border: 3rpx #eff0f1 solid;
+ border-radius: 10rpx;
+ padding: 0 10rpx;
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.3