From 639073fd37ec8aaeed4334114da26051c83ae556 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 18 十月 2023 11:16:20 +0800
Subject: [PATCH] 1.模具点检  100%

---
 pages/mjgl/wxsq.vue |  407 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 406 insertions(+), 1 deletions(-)

diff --git a/pages/mjgl/wxsq.vue b/pages/mjgl/wxsq.vue
index 02409e3..2482ce5 100644
--- a/pages/mjgl/wxsq.vue
+++ b/pages/mjgl/wxsq.vue
@@ -1,8 +1,413 @@
 <template>
+	<view>
+		<page-nav title="妯″叿缁翠慨鐢宠"></page-nav>
+
+
+		<view v-show="topContent.length===0">
+			<div class="sacnBody">
+				<div class="scanImg" @click="topScanClick"></div>
+				<div class="scanText">鎵弿缁翠慨妯″叿</div>
+			</div>
+		</view>
+
+
+		<view v-show="topContent.length!==0">
+			<view class="mainContent">
+				<view>
+					<u-gap height="10" bgColor="#eff0f1"></u-gap>
+					<view class="head" style="max-height: 370rpx;overflow:scroll;">
+						<view class="head_block">
+							<view class="head_left">
+								<view class="head_bar"></view>
+								<view class="head_title">
+									鎵弿缁翠慨宸ヤ綅
+								</view>
+							</view>
+
+							<view class="marginRight20">
+								<u-icon name="scan" @click="topScanClick" color="red" size="56"></u-icon>
+							</view>
+
+						</view>
+
+						<view class="marginTop20 marginLeft20 marginRight20 flex_column">
+							<!-- <u-radio-group class=""> -->
+							<view class="marginBottom20 flex_between" @click="groupChange(item.code)"
+								v-for="item in topContent" :key="item.code">
+								<view style="display: flex;">
+									<view class="flex_column titleFont">
+										<view>宸ヤ綅缂栫爜锛�</view>
+										<view>宸ヤ綅鍚嶇О锛�</view>
+										<view>鐢熶骇杞﹂棿锛�</view>
+									</view>
+									<view class="flex_column contentFont">
+										<view>{{item.code}}</view>
+										<view>{{item.name}}</view>
+										<view>{{item.wksp_name}}</view>
+									</view>
+								</view>
+								<!-- 	<u-radio size='40' :key="item.code" :name="item.code"
+										@change="groupChange(item.code)" activeColor="red"></u-radio> -->
+							</view>
+							<!-- </u-radio-group> -->
+						</view>
+
+					</view>
+					<u-gap height="20" bgColor="#eff0f1"></u-gap>
+
+					<view class="head" style="padding-bottom: 10rpx;">
+						<view class="head_block" style="margin-bottom: 10rpx;margin-top:20rpx;">
+							<view class="head_left">
+								<view class="head_bar"></view>
+								<view class="head_title">
+									鏁呴殰鏉ユ簮
+								</view>
+							</view>
+
+							<view class="marginRight20" style="width: 200rpx;">
+								<uni-data-select v-model="selectValue" :clear="false" :localdata="selectRange"
+									@change="selectChange">
+								</uni-data-select>
+							</view>
+						</view>
+					</view>
+					<u-gap height="20" bgColor="#eff0f1"></u-gap>
+
+					<view class="head" style="padding-bottom: 10rpx;">
+						<view class="head_block" style="margin-bottom: 10rpx;margin-top:20rpx;">
+							<view class="head_left">
+								<view class="head_bar"></view>
+								<view class="head_title">
+									鏁呴殰鎻忚堪
+								</view>
+							</view>
+						</view>
+						<view class='inputClass  contentFont' style="margin: 0 20rpx; width: 95%;">
+							<u--textarea placeholder="璇疯緭鍏�" confirm-type="send" border="surround" height='140'
+								v-model="descMessage">
+							</u--textarea>
+						</view>
+
+
+
+						<view style="display: flex;">
+							<view v-for="(pic,index) in fileList" :key="pic.name">
+								<view style="margin: 20rpx 0rpx 20rpx 20rpx;position: relative;">
+									<u-icon name="close" color="#fff" size="26"
+										style="position: absolute;z-index: 10;right: 0;background-color: black;border-radius:50%;"
+										@click="deletePic(pic)"></u-icon>
+
+									<image :src="pic.uri" @click="imgPreview(pic)" class="upLoadImg"></image>
+								</view>
+							</view>
+							<image v-if="fileList.length<3" src="../../static/img/uploadImg.png" style="width: 100rpx;height: 100rpx;border: 1rpx solid #eff0f1;border-radius: 20rpx;
+							margin: 20rpx;padding: 30rpx;
+							" @click="selectPics">
+						</view>
+
+					</view>
+
+				</view>
+			</view>
+
+
+
+			<u-button size="large" :loading="isDisabledSubmitButton" loadingText="姝e湪鎻愪氦,璇风◢绛�..." type="primary"
+				@click="submit" :disabled="descMessage.toString().length===0" text="纭鎻愪氦">
+			</u-button>
+
+		</view>
+
+
+		<scan-code></scan-code>
+	</view>
 </template>
 
 <script>
+	// import {
+	// 	MaintainScanDeviceApplyQrCodeData,
+	// 	MaintainScanDeviceApplySave
+	// } from '../../config/api.js'
+	// import {
+	// 	data
+	// } from '../../uni_modules/uview-ui/libs/mixin/mixin.js';
+	import scanCode from '@/components/scan-code/scan-code.vue'
+	export default {
+		components: {
+			scanCode
+		},
+		onLoad(option) {
+			//   const _this = this
+			// uni.$off('scancodedate') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
+			// uni.$on('scancodedate', function(content) {
+			// 	console.log("鎵弿鍒扮殑鍐呭涓�:", content)
+			// 	_this.getMaintainScanDeviceApplyQrCodeData(content)
+			// })
+		},
+		onPullDownRefresh() {
+			setTimeout(() => {
+				this.init(() => {
+					uni.stopPullDownRefresh();
+				})
+			}, 1000);
+		},
+		data() {
+			return {
+				topRightMessageCount: 0,
+
+				isDisabledSubmitButton: false,
+
+				topContent: [], //鎵弿淇濆吇宸ヤ綅鎵�甯﹀嚭鏉ョ殑鍐呭
+				centerContent: [], //淇濆吇椤圭洰鍐呭
+				scanContent: '', //鎵弿鎵嚭鏉ョ殑鍊�
+				// radioValue: '', //鍗曢�夋鐨勫��
+
+				selectValue: 'A',
+				selectRange: [{
+					value: 'A',
+					text: '璁惧鐐规'
+				}, {
+					value: 'B',
+					text: '璁惧淇濆吇'
+				}, {
+					value: 'C',
+					text: '瀹夌伅鍛煎彨'
+				}, {
+					value: 'D',
+					text: '鎵嬪伐'
+				}],
+				descMessage: '', //鏁呴殰鎻忚堪
+
+				imgPreviewSrcs: [], //鍥剧墖棰勮src
+				fileList: [], //鍥剧墖鏁扮粍
+			}
+		},
+		created() {
+
+		},
+		mounted() {
+			this.init()
+
+
+		},
+		methods: {
+
+			// 閫夋嫨鍥剧墖
+			selectPics() {
+				var that = this;
+				uni.chooseImage({
+					count: 3,
+					success: (res) => {
+						const files = res.tempFiles;
+						for (let i = 0; i < files.length; i++) {
+							let obj = new Object();
+							obj.name = 'photo' + i + new Date().getTime();
+							obj.uri = files[i].path;
+							that.fileList.push(obj);
+							if (obj.src == null || obj.src == '' || obj.src == undefined) {
+								that.imgPreviewSrcs.push(obj.uri)
+							} else {
+								that.imgPreviewSrcs.push(obj.src)
+							}
+
+						}
+					}
+				})
+			},
+			// 棰勮鍥剧墖
+			imgPreview(img) {
+				uni.previewImage({
+					current: this.fileList.findIndex(i => i.name === img.name),
+					indicator: "number",
+					loop: true,
+					urls: this.imgPreviewSrcs
+
+				})
+			},
+			// 鍒犻櫎鍥剧墖
+			deletePic(img) {
+				console.log(img)
+				this.fileList = this.fileList.filter(i => i.name !== img.name)
+				this.imgPreviewSrcs = this.imgPreviewSrcs.filter(i => i !== img.uri)
+			},
+			init() {
+				uni.stopPullDownRefresh();
+			},
+
+			selectChange(val) {
+				console.log(val)
+			},
+			// 鎵爜宸ヤ綅  鐨勬壂鐮佹鐐瑰嚮
+			topScanClick() {
+				// if (this.topContent.length > 0) {
+				// 	return uni.$u.toast('璇峰厛鎻愪氦姝ょ淮淇敵璇凤紒')
+				// }
+
+				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.topContent.forEach(item => {
+							if (item.code === res.result) {
+								flag = true
+							}
+						})
+						if (flag) {
+							that.$u.toast('姝ゆ潯鐮佸凡鎵弿锛屽凡鍦ㄥ垪琛ㄤ腑锛�')
+						} else {
+							//澶勭悊鎵爜浜嬩欢
+							that.getMaintainScanDeviceApplyQrCodeData(that.scanContent);
+						}
+					},
+					complete: function(res) {
+
+					},
+					fail: function(res) {
+						console.log('鏉$爜绫诲瀷锛�' + res.scanType);
+						console.log('鏉$爜鍐呭锛�' + res.result);
+					}
+
+				});
+			},
+
+			// 鑾峰彇缁翠慨宸ヤ綅    
+			async getMaintainScanDeviceApplyQrCodeData(val) {
+				const data = {
+					eqpcode: val
+				}
+
+				const res = await MaintainScanDeviceApplyQrCodeData(data)
+				if (res.code === '200') {
+					this.topContent = []
+					this.topContent.unshift(res.data[0])
+				}
+			},
+
+			// 纭鎻愪氦鎸夐挳
+			async submit() {
+				const header = {
+					// 'Content-Type': 'multipart/form-data',
+					'Content-Type': 'application/x-www-form-urlencoded',
+					'rediskey': uni.getStorageSync('rediskey'),
+					'admin': uni.getStorageSync('usercode'),
+					'username': encodeURIComponent(uni.getStorageSync('username')),
+					'navTabId': uni.getStorageSync('usercode'),
+					'userid': uni.getStorageSync('userid'),
+					'guid': uni.getStorageSync('guid'),
+					'usertype': 'APP'
+				}
+
+
+
+
+				/*
+					鍦ㄧ數鑴戜笂璇锋眰鏄渶瑕丠5鐨勪唬鐮� 
+					鎵嬫満涓婅姹傛槸闇�瑕丄PP-PLUS鐨勪唬鐮�
+				*/
+				// #ifdef H5
+				// console.log('H5')
+				// let formData = new FormData()
+				// formData.append("username", uni.getStorageSync('username'))
+				// formData.append("eqpcode", this.topContent[0].code)
+				// formData.append("wkshpcode", this.topContent[0].wksp_code)
+				// formData.append("faultsourcecode", this.selectValue)
+				// formData.append("faultdescr", this.descMessage)
+				// this.fileList.forEach((item, index) => {
+				// 	formData.append('files1', item.file)
+				// })
+				// MaintainScanDeviceApplySave(formData).then(res => {
+				// 	console.log(res, 1)
+				// })
+				// #endif
+
+
+
+
+
+				// #ifdef APP-PLUS ||MP  
+				// const temp = [{
+				// 	name: 'files1'
+				// }]
+
+				let formData = {
+					username: uni.getStorageSync('username'),
+					eqpcode: this.topContent[0].code,
+					wkshpcode: this.topContent[0].wksp_code,
+					faultsourcecode: this.selectValue,
+					faultdescr: this.descMessage,
+				}
+
+
+				console.log(formData)
+
+
+				this.isDisabledSubmitButton = true
+				uni.uploadFile({
+					url: this.$baseUrl + '/AppDeviceManage/MaintainScanDeviceApplySave',
+					files: this.fileList.length === 0 ? [{
+						uri: '/'
+					}] : this.fileList,
+					// files: [{"uri": "/"	}],
+					header: header,
+					formData: formData,
+					success: (res) => {
+						let result = JSON.parse(res.data)
+						if (res.statusCode == 200 && result.code == '200') {
+							uni.$u.toast('鎻愪氦鎴愬姛锛�')
+							this.fileList = []
+							this.imgPreviewSrcs = []
+							this.descMessage = ''
+							this.topContent = []
+							this.centerContent = []
+						} else {
+							uni.$u.toast(result.Message)
+						}
+						this.isDisabledSubmitButton = false
+					},
+					fail(res) {
+						uni.$u.toast('鎻愪氦澶辫触锛�')
+						this.isDisabledSubmitButton = false
+					},
+				})
+
+				// #endif
+
+
+			},
+		}
+	}
 </script>
 
-<style>
+<style lang="scss" scoped>
+	@import url('@/style/global.css');
+
+	::v-deep .uicon-arrow-left>span {
+		display: block;
+	}
+
+	::v-deep .uicon-camera-fill {
+		font-size: 60rpx !important;
+	}
+
+	.uploader {
+		/deep/.u-add-tips {
+			display: none;
+		}
+	}
+
+	::v-deep .uni-progress-bar {
+		background-color: transparent !important;
+	}
+
+	.upLoadImg {
+		width: 160rpx;
+		height: 160rpx;
+		border-radius: 20rpx;
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3