From 0552bde02a9f07f52bcff9a044b9de3e64f868be Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期三, 19 十一月 2025 16:43:38 +0800
Subject: [PATCH] 1.生产报工、质量管理页面优化

---
 pages/zlgl/sjjy.vue | 1029 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 571 insertions(+), 458 deletions(-)

diff --git a/pages/zlgl/sjjy.vue b/pages/zlgl/sjjy.vue
index c2eec04..5ef68df 100644
--- a/pages/zlgl/sjjy.vue
+++ b/pages/zlgl/sjjy.vue
@@ -2,227 +2,231 @@
 	<view>
 		<page-nav title="棣栨妫�楠�"></page-nav>
 
-		<view v-if="processArr.length===0">
-			<div class="sacnBody">
-				<div class="scanImg" @click="topScanClick"></div>
-				<div class="scanText">鎵弿宸ュ簭浠诲姟鐮�</div>
-			</div>
-		</view>
 
+		<view class="flex_center" style="margin: 20rpx;">
 
-		<view v-if="processArr.length!==0" class="mainContent" style="height: 1340rpx;overflow: auto">
-			<view>
-				<u-gap height="10" bgColor="#eff0f1"></u-gap>
-				<view class="head" style="height: 386rpx;overflow: auto;">
-					<view class="head_block">
-						<view class="head_left">
-							<view class="head_bar"></view>
-							<view class="head_title" style="font-weight: bolder;">
-								宸ュ崟淇℃伅
-							</view>
-						</view>
-					</view>
+			<!-- #ifdef H5 -->
+			<u--input prefixIcon="search" prefixIconStyle="font-size: 22px;color: #909399" :placeholder="placeholder"
+				style="width:100%;background-color: #fff;border-radius: 40rpx;" border="surround" suffixIcon="scan"
+				suffixIconStyle="color: #909399;font-size: 22px;" v-model="inputBoxValue"
+				@change="confirmInputBoxValue">
+				<template slot="suffix">
+					<u-icon name="scan" color="#909399" size="24" @click="scanClick"></u-icon>
+				</template>
+			</u--input>
+			<!-- #endif -->
 
-					<view class="marginLeft20 marginRight20">
-						<view class="marginBottom20" style="display: flex;">
-							<view class="flex_column titleFont">
-								<view>鍗曟嵁缂栧彿锛�</view>
-								<view>鐗╂枡缂栫爜锛�</view>
-								<view>鐗╂枡鍚嶇О锛�</view>
-								<view>鐗╂枡瑙勬牸锛�</view>
-								<view>宸ュ簭缂栫爜锛�</view>
-								<view>宸ュ簭鍚嶇О锛�</view>
-							</view>
-							<view class="flex_column contentFont">
-								<view>{{processObj.wo_code}}</view>
-								<view>{{processObj.partcode}}</view>
-								<view>{{processObj.partname}}</view>
-								<view>{{processObj.partspec?processObj.partspec:'/'}}</view>
-								<view>{{processObj.stepcode}}</view>
-								<view>{{processObj.stepname}}</view>
-							</view>
-						</view>
-					</view>
-				</view>
+			<!-- #ifdef APP-PLUS -->
+			<u-input prefixIcon="search" prefixIconStyle="font-size: 22px;color: #909399" :placeholder="placeholder"
+				style="width:100%;background-color: #fff;border-radius: 40rpx;" border="surround" suffixIcon="scan"
+				suffixIconStyle="color: #909399;font-size: 22px;" v-model="inputBoxValue"
+				@change="confirmInputBoxValue">
+				<template slot="suffix">
+					<u-icon name="scan" color="#909399" size="24" @click="scanClick"></u-icon>
+				</template>
+			</u-input>
+			<!-- #endif -->
 
-				<u-gap height="10" bgColor="#eff0f1"></u-gap>
-
-				<view class="head" style="height: 290rpx;overflow: auto;">
-					<view class="head_block">
-						<view class="head_left">
-							<view class="head_bar"></view>
-							<view class="head_title" style="font-weight: bolder;">
-								璐ㄦ鏂规
-							</view>
-						</view>
-					</view>
-
-					<view class="marginLeft20 marginRight20">
-						<view class="marginBottom20" style="display: flex;">
-							<view class="flex_column titleFont">
-								<view>鏂规鍚嶇О锛�</view>
-								<view>鎶芥牱鏂瑰紡锛�</view>
-								<view>鎶ュ伐鏁伴噺锛�</view>
-								<view>鏍锋湰鏁伴噺锛�</view>
-							</view>
-							<view class="flex_column contentFont">
-								<view>{{processObj.checkstandname}}</view>
-								<view>{{processObj.sampmethod==='FIXED'?'鍥烘椂鎶芥':'姣斾緥鎶芥'}}</view>
-								<view>{{processObj.good_qty}}</view>
-
-
-								<u-number-box inputWidth='50' v-model="processObj.sampscare" min='1'
-									:max='processObj.good_qty' class="contentFont"
-									@change="samplesChange"></u-number-box>
-							</view>
-						</view>
-					</view>
-				</view>
-
-
-				<u-gap height="10" bgColor="#eff0f1"></u-gap>
-				<view class="head" style="">
-					<view class="head_block">
-						<view class="head_left">
-							<view class="head_bar"></view>
-							<view class="head_title" style="font-weight: bolder;">
-								妫�楠岄」鐩�
-							</view>
-						</view>
-					</view>
-
-
-					<view class="marginBottom20 marginTop10"
-						style="display: flex;justify-content: space-around;align-items: center;">
-						<u-button type="primary" :disabled="checkNumber===1" @click="preTo"
-							style="width: 160rpx;height: 60rpx;" plain text="涓婁竴浠�"></u-button>
-						<view style="">{{checkNumber}}/{{processObj.sampscare}}</view>
-						<u-button type="primary"
-							:disabled="checkNumber===processObj.sampscare||processArr%processArr.filter(i=>i.isPlain!=='').length===0"
-							@click="nextTo" style="width: 160rpx;height: 60rpx; " plain text="涓嬩竴浠�"></u-button>
-					</view>
-
-					<u-gap height="6" style="width: 96%;margin-left: 2%;" bgColor="#eff0f1"></u-gap>
-
-
-					<view class="marginLeft20 marginRight20 marginTop20" style="margin-bottom: 132rpx;">
-						<view class="marginBottom20 flex_column" v-for="(item,index) in processArr"
-							v-if="item.checkNumber===checkNumber" :key="item.name+index+checkNumber">
-
-
-							<view class="flex_between marginLeft20 ">
-								<view class="titleFont">{{item.name}}</view>
-
-								<view class="contentFont" v-if="item.numberjudge==='N'"
-									style="display: flex;width: 280rpx;">
-
-									<u-button type="success" style="width: 130rpx;margin-left: 10%;height: 56rpx;"
-										shape="circle" @click="item.isPlain=true;$forceUpdate()" :plain='!item.isPlain'
-										text="鍚堟牸"></u-button>
-									<!-- :disabled="item.required==='Y'&&!item.real_value" -->
-
-									<u-button type="warning" style="width: 130rpx;margin-left: 4%;height: 56rpx;"
-										shape="circle" :plain='item.isPlain' @click="item.isPlain=false;$forceUpdate()"
-										text="涓嶅悎鏍�"></u-button>
-									<!-- :disabled="item.required==='Y'&&!item.real_value" -->
-
-								</view>
-
-							</view>
-
-							<view class="flex_between marginLeft20 ">
-								<view class="flex_column titleFont">
-									<view v-if="item.standvalue">鏍囧噯鍊�</view>
-									<view v-if="item.uppervalue">涓婇檺鍊�</view>
-									<view v-if="item.lowervalue">涓嬮檺鍊�</view>
-								</view>
-								<view class="flex_column titleFont marginRight20">
-									<view v-if="item.standvalue">{{item.standvalue}}</view>
-									<view v-if="item.uppervalue">{{item.uppervalue}}</view>
-									<view v-if="item.lowervalue">{{item.lowervalue}}</view>
-								</view>
-							</view>
-
-							<view class="titleFont marginLeft20 marginRight20">
-								<view v-if="item.stepcheckitem_desc">鎻忚堪 {{item.stepcheckitem_desc}}</view>
-							</view>
-
-							<view class="flex_between marginLeft20  marginTop10 marginBottom20">
-								<view class="titleFont  " style="display: flex;align-items: center;"
-									v-if="item.numberjudge==='Y'">
-									<view class="titleFont marginRight20">
-										瀹炴祴鍊�
-									</view>
-
-									<view class="inputClass " style="width:40%;">
-										<u--input style="" :adjustPosition='false' placeholder="璇疯緭鍏�" border="surround"
-											v-model="item.real_value" @change='val=>realValueBlur(val,item)'></u--input>
-									</view>
-
-									<view style="display: flex;width: 280rpx;margin-left: 12rpx;">
-										<u-button type="success" style="width: 130rpx;margin-left: 10%;height: 56rpx;"
-											shape="circle" @click="item.isPlain=true;$forceUpdate()"
-											:disabled="item.required==='Y'&&!item.real_value" :plain='!item.isPlain'
-											text="鍚堟牸"></u-button>
-
-
-										<u-button type="warning" style="width: 130rpx;margin-left: 4%;height: 56rpx;"
-											shape="circle" :plain='item.isPlain'
-											:disabled="item.required==='Y'&&!item.real_value"
-											@click="item.isPlain=false;$forceUpdate()" text="涓嶅悎鏍�"></u-button>
-									</view>
-								</view>
-
-							</view>
-
-							<!-- <view class=" marginLeft20 marginRight20 marginTop10">
-								<view class="titleFont"> 鎻忚堪锛歿{item.stepcheckitem_desc}}</view>
-							</view>
-							<view class=" marginLeft20 marginRight20 marginTop10 marginBottom20"
-								style="display: flex;align-items: center;">
-								<view class="contentFont"> 澶囨敞锛�</view>
-								<view class="inputClass " style="">
-									<u--input style="" placeholder="璇疯緭鍏�" border="surround"
-										v-model="item.stepcheckitem_remark"></u--input>
-								</view>
-							</view> -->
-
-							<u-gap height="6"
-								v-if="(index+1)%processArr.map(i=>i.checkNumber===1).filter(i=>i).length!==0"
-								style="width: 96%;margin-left: 2%;" bgColor="#eff0f1"></u-gap>
-
-						</view>
-					</view>
-
-				</view>
-
-
-
-
+			<view class="flex_center marginLeft20" @click="popupShow=true">
+				<u--text size='16' color='#909399' text="绛涢��"></u--text>
+				<u--image :showLoading="true" src="../../static/img/sift.png" width="20px" height="20px"></u--image>
 			</view>
 		</view>
 
-		<view class="footer" v-if="processArr.length!==0">
-			<u-button v-if="processArr.length!==0" type="primary" size='large'
-				:disabled="!(processArr.filter(i=>i.isPlain==='').length===0)" :hairline="true" @click="navigateTo"
-				text="涓嬩竴姝�"></u-button>
+
+		<u-alert :title="alertTitle" type="info"></u-alert>
+
+
+		<!-- 鎶樺彔闈㈡澘 -->
+		<!-- <u-collapse @change="change" @close="close" @open="open"> -->
+		<!-- @change="collapseChange" -->
+		<u-collapse style="max-height: 590px;overflow: auto;">
+			<!-- :value='parseFloat(item.ordergoodqty)+"/"+parseFloat(item.orderqty)' -->
+			<scroll-view scroll-y :style="{height: 590 + 'px'}" @scrolltolower="loadMore">
+				<u-collapse-item style="position: relative;" :title="item.ordercode" :name='item.ordercode'
+					v-if='item.children.length!==0' :value='parseFloat(item.ordergoodqty)+"/"+parseFloat(item.orderqty)'
+					:label="item.children.length===0?'鏈淳鍙�':''" :disabled='item.children.length===0'
+					v-for="item in collapseArr" :key="item.ordercode">
+
+
+					<view style="position: absolute;left: 30rpx;top:34px;font-size: 24rpx;color: #999;">
+						{{item.partname}} {{item.partspec}}
+					</view>
+
+					<!-- <view style="position: absolute;width: 26%;left: 44%;top:16px;"> -->
+					<view style="position: absolute;width: 120px;left: 44%;top:16px;color:#0659ff"
+						@click="progressClick(item.ordercode)">
+						<!-- {{item.partname}}{{item.partspec}} -->
+						<u-line-progress :percentage="parseFloat((item.ordergoodqty*100/item.orderqty).toFixed(2))"
+							inactiveColor="#d1d6f5" height="10" activeColor="#0659ff"></u-line-progress>
+					</view>
+
+					<!-- 			<view style="position: absolute;width: 100px;right: 33px;  top:13px; ">
+					<view class="" style="display: flex;justify-content: flex-end;">
+						<view style="color: #0659ff;">
+							{{parseFloat(item.ordergoodqty)}}
+						</view>
+						<view>
+							/{{ parseFloat(item.orderqty)}}
+						</view>
+					</view>
+				</view>
+ -->
+
+
+					<view v-if="radiovalue==='鐢熶骇宸ュ崟'" style="margin:0 0  5px">
+						<view class="flex_column">
+							<view style="display:flex">
+								<view class="titleFont" style="font-size: 14px;">浜у搧缂栫爜锛�</view>
+								<view class="contentFont" style="font-size: 14px;">{{item.partcode}}</view>
+							</view>
+							<view style="display:flex">
+								<view class="titleFont" style="font-size: 14px;">浜у搧鍚嶇О锛�</view>
+								<view class="contentFont" style="font-size: 14px;">{{item.partname}}</view>
+							</view>
+							<view style="display:flex">
+								<view class="titleFont" style="font-size: 14px;">浜у搧瑙勬牸锛�</view>
+								<view class="contentFont" style="font-size: 14px;">{{item.partspec?item.partspec:'/'}}
+								</view>
+							</view>
+						</view>
+					</view>
+
+
+					<!-- {{item.children}} -->
+					<!-- <u--text class="u-collapse-content"> -->
+					<u-steps :current="-1" inactiveColor='#0659FF' direction="column">
+						<view v-for="(it,ind) in item.children" :key="item.ordercode+it.name+ind"
+							@click="gotoPage(item.ordercode,it.code)" style="display: flex;align-items: center;">
+
+							<!-- <u-steps-item :title="it.code+'/'+it.name+it.spec"></u-steps-item> -->
+							<u-steps-item :title="it.code+'/'+it.name"></u-steps-item>
+							<view class="" style="width: 100px;">
+								<u-line-progress :percentage="parseFloat((it.goodqty*100/it.planqty).toFixed(2))"
+									inactiveColor="#d1d6f5" height="10" activeColor="#0659ff"></u-line-progress>
+							</view>
+							<view style="width: 30%;text-align: right;">
+								<view class="" style="display: flex;justify-content: flex-end;">
+									<view style="color: #0659ff;">
+										{{parseFloat(it.goodqty)}}
+									</view>
+									<view>
+										/{{ parseFloat(it.planqty)}}
+									</view>
+								</view>
+							</view>
+						</view>
+
+					</u-steps>
+					<!-- </u--text> -->
+
+
+				</u-collapse-item>
+			</scroll-view>
+		</u-collapse>
+
+
+		<!-- 寮瑰嚭灞� -->
+		<!-- closeIconPos='top-left' closeOnClickOverlay  closeable='true' -->
+		<u-popup :show="popupShow" mode="right" @close="popupClose" @open="popupOpen">
+			<view style="margin: 120px 10px 20px;" class="flex_column">
+
+				<view style="display: flex;">
+					<view>
+						鍗曟嵁绫诲瀷锛�
+					</view>
+
+					<u-radio-group v-model="radiovalue" placement="column" @change="groupChange"
+						style="margin-top: 4px;">
+						<u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in radiolist"
+							:key="index+item.name" :label="item.name" iconSize='16' labelSize='16' :name="item.name">
+
+						</u-radio>
+					</u-radio-group>
+				</view>
+
+				<u--input :placeholder="'璇疯緭鍏�'+placeholder2" style="border: 1rpx solid #eee;" :clearable='true'
+					v-model="order"></u--input>
+
+
+				<view style="margin-top: 20px;display: flex;align-items: center;">
+
+					<view class="">
+						浜у搧淇℃伅锛�
+					</view>
+					<view class="">
+						<u-button :hairline="true" shape="circle" icon="map" :plain="true"
+							style="width: 100px;height: 26px;" type="primary" text="閫夋嫨浜у搧" @click="chosePart"></u-button>
+					</view>
+
+				</view>
+
+
+				<view style="display: flex;flex-wrap: wrap;">
+					<u-tag style="width:220rpx;" :text="item.name" v-for="item in tagArr" :key="item.code"
+						:closable="true" :show="item.close" @close="tagClose(item)"></u-tag>
+				</view>
+
+
+
+				<!-- 		<view class="head" style="margin-top: 10px;">
+					<view class="head_block" style="height: 80rpx; display: flex;justify-content: space-around;">
+						<u-button :plain='today' style="width: 70px;height: 25px;" @click="dateChange('today')"
+							type="primary" shape="circle" text="浠婃棩">
+						</u-button>
+						<u-button :plain='month' style="width: 70px;height: 25px;" @click="dateChange('month')"
+							type="primary" shape="circle" text="鏈湀">
+						</u-button>
+						<u-button :plain='custom' style="width: 70px;height: 25px;" @click="dateChange('custom')"
+							type="primary" shape="circle" text="鑷畾涔�"></u-button>
+					</view>
+				</view> -->
+
+				<!-- 				<view v-if="!custom" class="flex_column"
+					style="display: flex;justify-content: space-around;width: 100%;">
+					<view class="" style="display: flex;justify-content: space-evenly;width: 100%;">
+						<view class="titleFont">寮�濮嬫棩鏈�</view>
+						<view class="titleFont">~</view>
+						<view class="titleFont">缁撴潫鏃ユ湡</view>
+					</view>
+
+					<u-button type="info" icon='calendar' iconColor="#0659FF" size="" @click="calendarClick"
+						:text="calendarRange">
+					</u-button>
+				</view>
+
+				<uni-calendar ref="calendar" :range='true' :insert="false" @confirm="calendarConfirm" /> -->
+
+			</view>
+		</u-popup>
+
+
+		<!-- <scan-code></scan-code> -->
+
+
+		<!-- 鎮诞鐞� -->
+		<view @click="scan2">
+			<drag-ball :x='300' :y="600"></drag-ball>
 		</view>
-
-
-
 	</view>
 </template>
 
 
 <script>
 	import {
-		MesOrderStepCheckSearch,
-		MesOrderStepCheckItemList
+		ProductOrderSearch
 	} from '../../config/api.js';
-
 	export default {
 		onLoad(option) {
+			const _this = this
+			uni.$off('scancodedate') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
+			uni.$on('scancodedate', function(content) {
+				console.log("鎵弿鍒扮殑鍐呭涓�:", content)
+				_this.getCheckScanDeviceQrCodeData(content)
+			})
 
+
+			console.log(option, 8)
 		},
 
 		onPullDownRefresh() {
@@ -235,30 +239,81 @@
 
 		data() {
 			return {
+				topRightMessageCount: '',
+				inputBoxValue: '',
+				alertTitle: '',
+				popupShow: false, //寮瑰嚭灞傛槸鍚︽樉绀�
+				collapseArr: [ //鎶樺彔闈㈡澘鏁版嵁
+				],
+				collapseArrAll: [], //鎵�鏈�
+				placeholder: '璇疯緭鍏ュ伐鍗曚俊鎭�',
+				radiovalue: '鐢熶骇宸ュ崟', //鍗曟嵁绫诲瀷
+				// SO锛氶攢鍞鍗�  MO锛氱敓浜ц鍗�  PO锛氱敓浜у伐鍗�
+				radiolist: [{
+						name: '閿�鍞鍗�'
+					},
+					{
+						name: '鐢熶骇璁㈠崟'
+					},
+					{
+						name: '鐢熶骇宸ュ崟'
+					},
+				],
 
-				processObj: {
-					// wocode: '',
-					// partcode: '',
-					// partname: '',
-					// partspec: '',
-					// stepcode: '',
-					// stepname: '',
-					// checkstandcode: '',
-					// checkstandname: '',
-					// check_type: '',
-					// sampmethod: '', // FIXED(鍥烘椂鎶芥)  SCARE(姣斾緥鎶芥)
-					// sampscare: '',
-					// qualitystatus: '',
-					// good_qty: '', // 鎸囩殑鎶ュ伐鏁伴噺
-					// sampleqty: '',
-					// goodqty: '', // 鍚堟牸鏁伴噺
-					// ngqty: '', // 涓嶈壇鏁伴噺
-				}, //宸ュ簭妫�楠屽璞�
-				processArr: [], //宸ュ簭妫�楠屾暟缁�
+				today: true,
+				month: false,
+				custom: true,
+
+				// calendarRange: new Date().toISOString().slice(0, 10) + '~' + new Date().toISOString().slice(0,
+				// 10), //绯荤粺褰撳墠鏃ユ湡
+				calendarRange: new Date().getFullYear() + '-' + (new Date().getMonth() + 1).toString().padStart(
+					2, '0') + '-01' + '~' + new Date().toISOString().slice(0, 10), //褰撴湀鏃ユ湡
 
 
-				checkNumber: 1, //妫�楠岄」鐩腑鐨勬楠屾暟閲�  鐜板湪澶勪簬绗嚑涓�
+
+				tagArr: [
+					// {
+					// 	close: true,
+					// 	name: '鐢垫睜鍖�',
+					// 	code: '1002'
+					// }, {
+					// 	close: true,
+					// 	name: '鐢佃剳',
+					// 	code: '1003'
+					// }, {
+					// 	close: true,
+					// 	name: '8054鍏夋満',
+					// 	code: '1004'
+					// }, {
+					// 	close: true,
+					// 	name: 'G71674鍐查攱鏋�',
+					// 	code: '1005'
+					// }, {
+					// 	close: true,
+					// 	name: '8051鍏夋満',
+					// 	code: '1006'
+					// },
+				], //宸查�変腑鐨勪骇鍝佹爣绛�
+				order: '', //鍗曞彿
+				placeholder2: '鐢熶骇璁㈠崟'
+
 			}
+		},
+		// 鐩戝惉涓嬫媺鍒锋柊鍔ㄤ綔锛圲niApp 鍘熺敓鐢熷懡鍛ㄦ湡锛�
+		onPullDownRefresh() {
+			let that = this
+			uni.startPullDownRefresh({
+				success() {
+					that.getProductOrderSearch()
+					uni.showToast({
+						title: "涓嬫媺鍒锋柊",
+						icon: 'none'
+					})
+				},
+				complete() {
+					uni.stopPullDownRefresh()
+				}
+			})
 		},
 		created() {
 
@@ -266,228 +321,115 @@
 		mounted() {
 			this.init()
 
-			// this.getStepCheckSearch('MO-2024-01-0004_2;101')
-
+			this.getProductOrderSearch()
 		},
 		methods: {
 			init() {
 				uni.stopPullDownRefresh();
 			},
+			gotoPage(p1, p2) {
+				let orderstep = null
 
-			async getStepCheckSearch(orderstepqrcode) {
-				console.log('鎵ц浜�')
-				// 妫�楠屾柟寮廎irstCheck锛堥妫�锛� PatroCheck(宸℃) EndCheck(瀹屽伐妫�)
-				const data = {
-					// 'MO-2023-05-0003_1;Step06'
-					orderstepqrcode,
-					checktype: 'FirstCheck',
-					// stu_torgcode: uni.getStorageSync('stu_torgcode')
-				}
-				// const res = await MesOrderStepCheckSearch(this.global.formatData(data))
-				const res = await MesOrderStepCheckSearch(data)
-
-
-				if (res.code === '200') {
-					this.processObj = {
-						wo_code: res.data.labcont[0].wo_code,
-						partcode: res.data.labcont[0].partcode,
-						partname: res.data.labcont[0].partname,
-						partspec: res.data.labcont[0].partspec,
-						stepcode: res.data.labcont[0].stepcode,
-						stepname: res.data.labcont[0].stepname,
-						good_qty: res.data.labcont[0].good_qty,
-						checkstandcode: res.data.chekstand[0].checkstandcode,
-						checkstandname: res.data.chekstand[0].checkstandname,
-						sampmethod: res.data.chekstand[0].sampmethod,
-						sampscare: res.data.chekstand[0].sampmethod === 'FIXED' ? res.data.chekstand[0].sampscare :
-							Math.ceil(res.data.labcont[0].good_qty * res.data.chekstand[0].sampscare / 100)
-					}
-
-					this.processObj.sampscare = this.processObj.sampscare <= this.processObj.good_qty ? this.processObj
-						.sampscare : this.processObj.good_qty
-
-
-					await this.getStepCheckItemList(this.processObj.checkstandcode)
-
-				}
-			},
-
-			async getStepCheckItemList(checkstandcode) {
-				const data = {
-					checkstandcode
-				}
-				const res = await MesOrderStepCheckItemList(data)
-
-				this.processArr = []
-
-				for (var i = 0; i < this.processObj.sampscare; i++) {
-					res.data.forEach(j => {
-						this.processArr.push({
-							checkNumber: i + 1,
-							stepcheckitem_seq: j.stepcheckitem_seq,
-							name: j.name,
-							code: j.code,
-							standvalue: j.standvalue,
-							lowervalue: j.lowervalue,
-							uppervalue: j.uppervalue,
-							real_value: j.real_value,
-							unit: j.unit,
-							stepcheckitem_desc: j.stepcheckitem_desc,
-							stepcheckitem_remark: '',
-							isPlain: '',
-							required: j.required, //鏄惁蹇呭~
-							numberjudge: j.numberjudge, //鏁板�煎垽鏂�
-						})
-					})
-				}
-
-
-			},
-
-			// 鏍锋湰鏁伴噺鍊兼敼鍙樻椂
-			samplesChange(val) {
-
-				console.log(val.value)
-				const t = this.processArr.filter(i => i.checkNumber === 1)
-				let len = this.processArr.length / t.length
-
-				// 浠舵暟鍑忓皯鏃�
-				if (val.value < this.processArr.length / t.length) {
-					this.processArr.reverse()
-					const a = this.processArr.splice(0, t.length * (len - val.value))
-					this.processArr.reverse()
-					if (this.checkNumber > val.value) {
-						this.checkNumber = val.value
-					}
-				}
-
-
-				// 浠舵暟鍙樺鏃�
-				if (val.value > this.processArr.length / t.length) {
-
-					for (var i = val.value; i > len; i--) {
-						t.forEach(j => {
-							this.processArr.push({
-								checkNumber: i,
-								stepcheckitem_seq: j.stepcheckitem_seq,
-								name: j.name,
-								code: j.code,
-								standvalue: j.standvalue,
-								lowervalue: j.lowervalue,
-								uppervalue: j.uppervalue,
-								real_value: '',
-								unit: j.unit,
-								stepcheckitem_desc: j.stepcheckitem_desc,
-								stepcheckitem_remark: '',
-								isPlain: '',
-								required: j.required, //鏄惁蹇呭~
-								numberjudge: j.numberjudge, //鏁板�煎垽鏂�
-							})
-						})
-					}
-
-					this.processArr.sort((a, b) => a.checkNumber - b.checkNumber)
-
-				}
-
-				// console.log(this.processArr, 1)
-				// console.log(this.processArr.length, 1)
-				this.$forceUpdate()
-			},
-
-
-			// 涓婁竴浠�
-			preTo() {
-				if (this.checkNumber > 1) {
-					this.checkNumber--
-				}
-			},
-
-			//涓嬩竴浠�
-			nextTo() {
-				if (this.checkNumber < this.processObj.sampscare) {
-					this.checkNumber++
-				}
-				this.$forceUpdate()
-			},
-
-
-			// 瀹炴祴鍊艰緭鍏ユ椂澶辩劍鐘舵��
-			realValueBlur(val, item) {
-				console.log(val === '', item)
-
-
-				if (val.value !== '') {
-					if (item.numberjudge === 'Y') { //濡傛灉闇�瑕佽繘琛屾暟鍊煎垽鏂�
-
-						if (item.uppervalue === '' && item.lowervalue === '') { //涓婇檺鍊间负绌猴紝涓嬮檺鍊间负绌�
-							if (parseFloat(val) === parseFloat(item.standvalue)) {
-								item.isPlain = true
-							} else {
-								item.isPlain = false
-							}
-						}
-
-
-						if (item.uppervalue !== '' && item.lowervalue !== '') { //涓婇檺鍊间笉涓虹┖锛屼笅闄愬�间笉涓虹┖
-							if (parseFloat(val) >= parseFloat(item.lowervalue) && parseFloat(val) <=
-								parseFloat(item.uppervalue)) {
-								item.isPlain = true
-							} else {
-								item.isPlain = false
-							}
-						}
-
-
-						if (item.uppervalue !== '' && item.lowervalue === '') { //涓婇檺鍊间笉涓虹┖锛屼笅闄愬�间负绌�
-							if (parseFloat(val) <= parseFloat(item.uppervalue)) {
-								item.isPlain = true
-							} else {
-								item.isPlain = false
-							}
-						}
-
-						if (item.uppervalue === '' && item.lowervalue !== '') { //涓婇檺鍊间负绌猴紝涓嬮檺鍊间笉涓虹┖
-							if (parseFloat(val) >= parseFloat(item.lowervalue)) {
-								item.isPlain = true
-							} else {
-								item.isPlain = false
-							}
-						}
-
-					}
-				}
-
-
-				if (val === '') {
-					item.isPlain = ''
-				}
-				// this.$forceUpdate()
-			},
-
-
-
-			// 涓嬩竴姝�
-			navigateTo() {
-				// 璁$畻OK鍊�
-				let goodqty = 0;
-				for (var i = 0; i < this.processObj.sampscare; i++) {
-					let flag = this.processArr.filter(j => j.checkNumber === i + 1).every(j => j.isPlain)
-					if (flag) {
-						goodqty++
-					}
+				if (p1) {
+					orderstep = p1 + ';' + p2
+				} else {
+					orderstep = ''
 				}
 
 
 				uni.navigateTo({
-					url: './sjjy2?processObj=' + JSON.stringify(this.processObj) +
-						'&processArr=' + JSON.stringify(this.processArr) + '&goodqty=' + goodqty
-				});
+					url: './sjjy1?orderstep=' + orderstep
+				})
+			},
 
+			getCheckboxValue(val) {
+				this.tagArr = []
+				val.forEach(i => {
+					this.tagArr.push({
+						close: true,
+						name: i.split('/')[1].trim(),
+						code: i.split('/')[0].trim()
+					})
+				})
+			},
+
+			// 鎺ュ彛鑾峰彇
+			async getProductOrderSearch() {
+				let ordertype = '' // SO锛氶攢鍞鍗�  MO锛氱敓浜ц鍗�  PO锛氱敓浜у伐鍗�
+				switch (this.radiovalue) {
+					case '鐢熶骇宸ュ崟':
+						this.alertTitle = '宸ュ崟鏁伴噺锛堝叡/涓級'
+						this.placeholder = '璇疯緭鍏ュ伐鍗曚俊鎭�'
+						ordertype = 'PO'
+						break
+					case '鐢熶骇璁㈠崟':
+						// this.alertTitle = '鐢熶骇璁㈠崟鏁伴噺锛堝叡/涓級'
+						this.alertTitle = '宸ュ崟鏁伴噺锛堝叡/涓級'
+						this.placeholder = '璇疯緭鍏ョ敓浜ц鍗曚俊鎭�'
+						ordertype = 'MO'
+						break
+					case '閿�鍞鍗�':
+						// this.alertTitle = '閿�鍞鍗曟暟閲忥紙鍏�/涓級'
+						this.alertTitle = '宸ュ崟鏁伴噺锛堝叡/涓級'
+						this.placeholder = '璇疯緭鍏ラ攢鍞鍗曚俊鎭�'
+						ordertype = 'SO'
+						break
+				}
+
+
+				const data = {
+					ordertype,
+					partcode: this.tagArr.map(i => i.code).join(','),
+					ordercode: this.order,
+					Ratetime: '',
+					// Ratetime: this.calendarRange,
+
+				}
+				const {
+					data: res
+				} = await ProductOrderSearch(data)
+
+				this.collapseArr = res
+				this.collapseArrAll = res
+				this.alertTitle = this.alertTitle.split('/')[0] + this.collapseArr.length + this.alertTitle.split('/')[
+					1]
+
+			},
+			loadMore() {
 
 			},
 
-			// 鎵爜
+			//杈撳叆妗嗗洖杞︾‘璁や簨浠�
+			confirmInputBoxValue(val) {
+				this.collapseArr = this.collapseArrAll.filter((p) => {
+					return p.ordercode.indexOf(val) !== -1
+				})
+
+
+				switch (this.radiovalue) {
+					case '鐢熶骇宸ュ崟':
+						this.alertTitle = '宸ュ崟鏁伴噺锛堝叡/涓級'
+						break
+					case '鐢熶骇璁㈠崟':
+						this.alertTitle = '宸ュ崟鏁伴噺锛堝叡/涓級'
+						// this.alertTitle = '鐢熶骇璁㈠崟鏁伴噺锛堝叡/涓級'
+						break
+					case '閿�鍞鍗�':
+						this.alertTitle = '宸ュ崟鏁伴噺锛堝叡/涓級'
+						// this.alertTitle = '閿�鍞鍗曟暟閲忥紙鍏�/涓級'
+						break
+				}
+				this.alertTitle = this.alertTitle.split('/')[0] + this.collapseArr.length + this.alertTitle.split('/')[
+					1]
+
+			},
+
+			// 鐐瑰嚮鎵爜
+			scanClick() {
+				this.topScanClick()
+			},
+
+			// 鎵爜妗嗙偣鍑�
 			topScanClick() {
 				let that = this;
 
@@ -498,20 +440,9 @@
 					success: function(res) {
 						console.log('鏉$爜绫诲瀷锛�' + res.scanType);
 						console.log('鏉$爜鍐呭锛�' + res.result);
-						that.getStepCheckSearch(res.result)
-						// that.scanContent = res.result;
-						// let flag = false
-						// that.processArr.forEach(item => {
-						// 	if (item.hbarcode === res.result) {
-						// 		flag = true
-						// 	}
-						// })
-						// if (flag) {
-						// 	that.$u.toast('姝ゆ潯鐮佸凡鎵弿锛屽凡鍦ㄥ垪琛ㄤ腑锛�')
-						// } else {
-						// 	//澶勭悊鎵爜浜嬩欢
-						// 	// that.getStepCheckSearch(that.scanContent);
-						// }
+						that.scanContent = res.result;
+
+						that.getCheckScanDeviceQrCodeData(that.scanContent);
 					},
 					complete: function(res) {
 
@@ -524,11 +455,139 @@
 				});
 			},
 
-			fromSubmitData() {
-				this.processObj = {}
-				this.processArr = []
-				this.checkNumber = 1
-			}
+			scan2() {
+				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;
+
+						uni.navigateTo({
+							url: './scbg2?orderstep=' + res.result
+						})
+
+					},
+					complete: function(res) {
+
+					},
+					fail: function(res) {
+						console.log('鏉$爜绫诲瀷锛�' + res.scanType);
+						console.log('鏉$爜鍐呭锛�' + res.result);
+					}
+
+				});
+			},
+
+			getCheckScanDeviceQrCodeData(code) {
+				this.inputBoxValue = code
+				this.confirmInputBoxValue(this.inputBoxValue)
+			},
+
+
+			// 寮瑰嚭灞傛敹璧�
+			popupClose() {
+				this.getProductOrderSearch()
+				this.popupShow = false
+			},
+
+			// 寮瑰嚭灞傚脊鍑�
+			popupOpen() {
+
+			},
+
+			// 閫夋嫨浜у搧
+			chosePart() {
+				let arr = []
+				this.tagArr.forEach(i => {
+					arr.push(i.code + '/' + i.name)
+				})
+				uni.navigateTo({
+					url: '../znfx/chda?param=' + JSON.stringify(arr)
+				});
+			},
+
+			// tag鏍囩鍏抽棴
+			tagClose(val) {
+				this.tagArr.forEach((i, j) => {
+					if (i.code === val.code) {
+						i.close = false
+						this.tagArr.splice(j, 1)
+					}
+				})
+			},
+
+			// 鏃堕棿鑼冨洿鍒囨崲
+			dateChange(val) {
+				if (val === 'today') {
+					this.today = false
+					this.month = true
+					this.custom = true
+					this.calendarRange = new Date().toISOString().slice(0, 10) + '~' + new Date().toISOString().slice(0,
+						10)
+				} else if (val === 'month') {
+					this.today = true
+					this.month = false
+					this.custom = true
+
+					this.calendarRange = new Date().getFullYear() + '-' + (new Date().getMonth() + 1).toString().padStart(
+						2, '0') + '-01' + '~' + new Date().toISOString().slice(0, 10)
+
+				} else if (val === 'custom') {
+					this.today = true
+					this.month = true
+					this.custom = false
+					this.calendarRange = new Date().getFullYear() + '-' + (new Date().getMonth() + 1).toString().padStart(
+						2, '0') + '-01' + '~' + new Date().toISOString().slice(0, 10)
+				}
+			},
+
+			// 鏃ュ巻鏃堕棿鐐瑰嚮
+			calendarClick() {
+				this.$refs.calendar.open();
+			},
+
+			// 鏃ュ巻纭畾浜嬩欢鐐瑰嚮
+			calendarConfirm(val) {
+				if (val.range.before < val.range.after) {
+					this.calendarRange = val.range.before + '~' + val.range.after
+				} else {
+					this.calendarRange = val.range.after + '~' + val.range.before
+				}
+
+				if (val.range.before === '') {
+					this.calendarRange = new Date().toISOString().slice(0, 10) + '~' + val.range.after
+				}
+				if (val.range.after === '') {
+					this.calendarRange = val.range.before + '~' + new Date().toISOString().slice(0, 10)
+				}
+				if (val.range.before === '' && val.range.after === '') {
+					this.calendarRange = new Date().toISOString().slice(0, 10) + '~' + new Date().toISOString().slice(0,
+						10)
+				}
+				// this.getData()
+			},
+
+
+			// 鍗曢�夋寜閽垏鎹�
+			groupChange(val) {
+				console.log(val)
+				this.placeholder2 = val
+			},
+
+
+
+
+
+
+
+
+
+
 		}
 	}
 </script>
@@ -540,20 +599,74 @@
 		display: block;
 	}
 
-	::v-deep .u-input {
-		padding: 6rpx 18rpx !important;
+	::v-deep .u-alert__text--info--light {
+		margin-bottom: 0;
+		font-size: 32rpx !important;
+		padding-left: 10rpx;
+		color: #212121 !important;
+		font-weight: lighter;
 	}
 
-	::v-deep .u-number-box__minus {
-		height: 50rpx !important;
+	::v-deep .u-alert--info--light {
+		background-color: rgba(255, 255, 255, 0.7);
 	}
 
-	::v-deep .u-number-box__input {
-		height: 50rpx !important;
+	::v-deep .u-steps-item__wrapper {
+		background-color: #eee;
+	}
+
+	::v-deep .u-steps-item__line--column {
+		display: none;
+	}
+
+	::v-deep .u-slide-right-enter-active {
+		width: 70%;
+	}
+
+	::v-deep .uicon-calendar {
+		font-size: 36rpx !important;
+	}
+
+	::v-deep .u-cell__title-text {
+		font-size: 28rpx;
+		color: #212121;
+	}
+
+	::v-deep .u-cell__value {
+		font-size: 28rpx;
+		// color: transparent;
+		color: #212121;
 
 	}
 
-	::v-deep .u-number-box__plus {
-		height: 50rpx !important;
+	::v-deep .u-cell__label {
+		margin-top: 0;
+		line-height: 12px;
+	}
+
+	::v-deep .uicon-arrow-right {
+		font-size: 14px !important;
+		color: #212121 !important;
+	}
+
+	::v-deep .u-line-progress__text {
+		// margin-right: -20px;
+		// color: #212121;
+		// width: 100px;
+		// margin-top: 10px;
+		display: none;
+
+	}
+
+	::v-deep .u-text__value--content {
+		font-size: 12px !important;
+	}
+
+	::v-deep .u-tag__close {
+		background: #436df5 !important;
+	}
+
+	::v-deep .u-cell__body {
+		padding-bottom: 40rpx;
 	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3