From f26f29d84e0a68831a6af14dab3eec5500496d2e Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 28 五月 2025 16:48:52 +0800
Subject: [PATCH] 初始化项目

---
 pages/wareHouse/outsource/report.vue |  160 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 160 insertions(+), 0 deletions(-)

diff --git a/pages/wareHouse/outsource/report.vue b/pages/wareHouse/outsource/report.vue
new file mode 100644
index 0000000..bd58f1b
--- /dev/null
+++ b/pages/wareHouse/outsource/report.vue
@@ -0,0 +1,160 @@
+<template>
+	<layout title="鎶ユ" @scanHandle="addScanCode">
+		<view style="padding-top: 100rpx;" v-if="list.length == 0">
+			<u-empty text="璇锋壂鐮�" mode="list" icon-color="black" color="black"></u-empty>
+		</view>
+		<view class="formWrap">
+			<view class="formBox" v-for="(item, index) in list" :key="item.certificateNo" :index="index">
+				<u-form class="form" :model="item" :rules="rules" :ref="item.certificateNo" label-position="left">
+					<u-form-item label="鎶ユ娴佹按鍙�" prop="no" label-width="180" >
+						<input v-model="item.no" placeholder="淇濆瓨鍚庤嚜鍔ㄧ敓鎴�" :disabled="true"></input>
+					</u-form-item>
+					<u-form-item label="鍚堟牸璇佸彿" prop="certificateNo" label-width="180" >
+						<input v-model="item.certificateNo" placeholder="" :disabled="true"></input>
+					</u-form-item>
+					<u-form-item label="闀垮害(km)" prop="len" label-width="180" >
+						<input v-model="item.len" placeholder="璇疯緭鍏ラ暱搴�" type="digit" ></input>
+					</u-form-item>
+					<u-form-item label="鍒涘缓鏃堕棿" prop="createTime" label-width="180" >
+						<input v-model="item.createTime" placeholder="" :disabled="true"></input>
+					</u-form-item>
+				</u-form>
+				<view class="delBtnWrap">
+					<u-button class="delBtn" type="primary" size="mini"  @click="deleteItem(item)">
+						<u-icon size="30" name="trash" class="icon"/>鍒犻櫎
+					</u-button>
+				</view>	
+			</view>
+			<view class="form-footer" v-if="list.length > 0">
+				<u-button class="btn" type="primary" @click="submit">鎶ユ</u-button>
+			</view>
+		</view>
+		<scan></scan>
+	</layout>
+</template>
+
+<script>
+	import scan from "@/components/scan/scan.vue";
+	import util from "@/util/ble/util.js";
+	import layout from "./layout";
+	export default {
+		components: {
+			scan,layout
+		},
+		data() {
+			return {
+				type: 'inspDeclaration',//inspDeclaration锛氭姤妫�  sampling锛氭娊妫�  declaration锛氭娴�  packaging锛氬寘瑁�  stock锛氬叆搴�
+				list: [
+					// {
+					// id: 0,
+					// no: null,
+					// certificateNo:'00004',
+					// len:0.2,
+					// createTime:util.formatTime(new Date())
+					// },
+				],
+				rules: {
+					// len: [{
+					// 	required: true,
+					// 	message: '闀垮害涓嶈兘涓虹┖',
+					// 	trigger: 'blur'
+					// }],
+				},
+				nowTime:util.formatTime(new Date())
+			}
+		},
+		onShow() {
+		
+			let that = this
+		
+			uni.$off('scan') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
+			uni.$on('scan', function(data) {
+				console.log('onscan');
+				//鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲�
+				console.log('鎵爜缁撴灉锛�', data.code);
+				that.addScanCode(data.code)
+				that.$forceUpdate();
+		
+			})
+		},
+		methods: {
+			//鑾峰彇鎵竴鎵暟鎹�
+			addScanCode(code){
+				//妫�娴嬫槸鍚﹀凡鎵繃
+				let that = this
+				// that.$u.api.outsource.queryReportExist().then(res => {
+				// 	let exist = false
+				// 	if (exist) {
+				// 		this.$u.toast('璇ュ悎鏍艰瘉鍙峰凡鎶ユ')
+				// 	} else {
+						//鏌ョ湅鍒楄〃涓瓨涓嶅瓨鍦�
+						let result = that.list.find(item => item.certificateNo==code)
+						if (result) {
+							this.$u.toast('宸插瓨鍦ㄥ垪琛ㄤ腑')
+						} else {
+							//娣诲姞涓�鏉℃姤妫�鏁版嵁
+							that.list.push({
+								id: 0,
+								no: null,
+								certificateNo:code,
+								len:0.2,
+								createTime:util.formatTime(new Date())
+								
+							})
+						}
+						
+				// 	}
+				// });
+				
+			},
+			//鎻愪氦
+			submit(){
+				for (var i = 0; i < this.list.length; i++) {
+					if (!this.list[i].len) {
+						this.$u.toast('璇峰~鍐欓暱搴�')
+						return
+					}
+				}
+				let param = []
+				for (var i = 0; i < this.list.length; i++) {
+					param.push({
+						// "id": null,
+						// "createTime": "",//鍒涘缓鏃堕棿
+						// "createUser": "",//鍒涘缓浜�
+						"certificateNumber": this.list[i].certificateNo,//鍚堟牸璇佸彿
+						// "inspState": null,// 妫�娴嬬姸鎬�   unInsp:寰呮娴� inspPass:妫�娴嬪悎鏍�  insp_un_pass:妫�娴嬩笉鍚堟牸  insp_reverse:妫�娴嬮��鍥�  insp_release:妫�娴嬫斁琛�
+						"inspectionQuantity": this.list[i].len,//鎶ユ闀垮害
+						// "inspectionSerialNo": null,//鎶ユ娴佹按鍙�
+						// "packagingOperator": null,//鍖呰浜哄憳
+						// "packagingState": null,//鏄惁鍖呰 0-鍚︼紝1-鏄�
+						// "samplingState": 1,//鏄惁鎶芥 0-鍚︼紝1-鏄�
+						// "state": '',//鐘舵��  unSampling锛氬緟鎶芥  unInsp锛氬緟妫�娴�  insped锛氬凡妫�娴�  packaging锛氬凡鍖呰  stock锛氬凡鍏ュ簱
+						// "stockOperator": '',//鍏ュ簱浜哄憳
+						// "stockState": '',//鏄惁鍏ュ簱 0-鍚︼紝1-鏄�
+						
+					}) 
+				}
+				this.$u.api.outsource.submitReport(param, this.type).then(res => {
+					if (res.code == 0) { 
+						this.$u.toast('鎻愪氦鎴愬姛')
+						this.list = []
+					} else {
+						this.$u.toast('鎻愪氦澶辫触')
+					}
+				});
+			},
+			deleteItem(model) {
+				uni.showModal({
+					title: '鎻愮ず',
+					content: '鏄惁纭畾鍒犻櫎?',
+					success: res => {
+						if (res.confirm) {
+							this.list = this.list.filter(item => item.certificateNo!=model.certificateNo)
+						}
+					}
+				});
+				
+			}
+		}
+	}
+</script>
\ No newline at end of file

--
Gitblit v1.9.3