From 6e4895d817ae01d3b3caa96add2eccafe427374f Mon Sep 17 00:00:00 2001
From: Mr.Zhang <710666463@qq.com>
Date: 星期四, 31 八月 2023 18:12:31 +0800
Subject: [PATCH] 小程序

---
 minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue      |  494 +++++++++++++++++
 minipro_standard/pages/inspectComplete/inspectComplete.vue      |  228 ++++++++
 minipro_standard/common/config.js                               |   26 
 minipro_standard/components/Tooling.vue                         |  144 +++++
 minipro_standard/pages.json                                     |   36 +
 minipro_standard/common/css/lib.css                             |    4 
 minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue   |   10 
 minipro_standard/pages/linePatrol/linePatrol.vue                |  225 ++++++++
 minipro_standard/components/selectMaterial.vue                  |    3 
 minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue |    2 
 web_standard/public/template/material_import_template.xlsx      |    0 
 minipro_standard/pages/inspectPatrol/inspectPatrol.vue          |  227 ++++++++
 minipro_standard/components/SelectMultipleMaterial.vue          |  274 +++++++++
 13 files changed, 1,655 insertions(+), 18 deletions(-)

diff --git a/minipro_standard/common/config.js b/minipro_standard/common/config.js
index 1ee7ea5..db36bef 100644
--- a/minipro_standard/common/config.js
+++ b/minipro_standard/common/config.js
@@ -1,11 +1,17 @@
-module.exports = {
-    // baseUrl: 'http://106.14.20.42/test_hfznzz/',
-    // baseUrl: 'https://hefei.dtkey.cn/test_hfznzz/',
-    baseUrl: 'https://dmtest.ahapp.net/doumeeplant_api/',
-		phoneRegular: /^1[3456789]\d{9}$/,
-		mailboxRegular: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
-		positiveInteger: /^[0-9]*[1-9][0-9]*$/,
-		decimal: /^0$|^[1-9]\d{0,15}$|^[1-9]\d{0,15}\.{1}\d{1,4}$|^0\.{1}\d{1,4}$/g,
-		positiveIntegerDecimal: /^([1-9][0-9]*|0)(\.[0-9]?[1-9][1-9][1-9])?$/,
-		number: /^\d+(?:\.\d{1,4})?$/
+module.exports = {
+	// baseUrl: 'http://106.14.20.42/test_hfznzz/',
+	// baseUrl: 'https://hefei.dtkey.cn/test_hfznzz/',
+	baseUrl: 'https://dmtest.ahapp.net/doumeeplant_api/',
+	phoneRegular: /^1[3456789]\d{9}$/,
+	mailboxRegular: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
+	positiveInteger: /^[0-9]*[1-9][0-9]*$/,
+	decimal: /^0$|^[1-9]\d{0,15}$|^[1-9]\d{0,15}\.{1}\d{1,4}$|^0\.{1}\d{1,4}$/g,
+	positiveIntegerDecimal: /^([1-9][0-9]*|0)(\.[0-9]?[1-9][1-9][1-9])?$/,
+	number: /^\d+(?:\.\d{1,4})?$/,
+	Attribute: {
+		HH: 'APPLIANCE_MIX',
+		HG: 'APPLIANCE_ONTEST',
+		BL: 'APPLIANCE_OFFTEST',
+		BF: 'APPLIANCE_USELESS'
+	}
 }
diff --git a/minipro_standard/common/css/lib.css b/minipro_standard/common/css/lib.css
index 6e1fac3..3de5db6 100644
--- a/minipro_standard/common/css/lib.css
+++ b/minipro_standard/common/css/lib.css
@@ -77,7 +77,7 @@
 .ibm{ display: inline-block; vertical-align: middle;}
 .bbox{ box-sizing: border-box;}
 .rauto{ margin-left:auto; margin-right:auto}
-.fixedBottom{position: fixed;		left: 0;		bottom: 0;		width: 100%;}
+.fixedBottom{position: fixed;		left: 0;		bottom: env(safe-area-inset-bottom);		width: 100%;}
 .lh1-6{line-height: 1.6;}
 .lh1-6{line-height: 1.6;}
 .lh1-8{line-height: 1.8;}
@@ -132,6 +132,6 @@
 /* /deep/ .uicon-close .u-icon--right{ position: absolute; right: 30rpx; top: 30rpx; z-index: 999;} */
 .popCloseBtn{ position: absolute; width:50rpx; height:50rpx; right: 20rpx; top: 20rpx;}
 .fixedTL{ position: absolute; left: 0; top: 0;}
-.fixedTR{ position: absolute; right: 0; top: 0;}
+.fixedTR{ position: absolute; right: 0; top: 0;}
 
 .beyondO { white-space: nowrap; text-overflow: ellipsis; -webkit-text-overflow: ellipsis; overflow: hidden;}
diff --git a/minipro_standard/components/SelectMultipleMaterial.vue b/minipro_standard/components/SelectMultipleMaterial.vue
new file mode 100644
index 0000000..4939502
--- /dev/null
+++ b/minipro_standard/components/SelectMultipleMaterial.vue
@@ -0,0 +1,274 @@
+<template>
+	<u-popup :show="show" :round="10" closeable @close="show=false">
+		<view class="material-content bbox p30 rp">
+			<view class="tc b f24 c2 mb20">閫夋嫨鐗╂枡</view>
+			<v-Search ref="V" @searchInput="searchInput" @submit="submit" :isShow="false" placeholder="鎼滅储鐗╂枡鍚嶇О/缂栫爜">
+			</v-Search>
+			<div class="content_total">鍏眥{pages.total}}鏉℃暟鎹�</div>
+			<view class="scroll-content">
+				<u-list @scrolltoupper="scrolltoupper" @scrolltolower="scrolltolower">
+					<u-list-item v-for="(item1, index) in list" :key="index">
+						<view class="flex mb20" @click="selectMaterialAction(index)">
+							<view class="img36 mr20 pt10">
+								<u-checkbox-group style="display: block;" name="" @change="selectMaterialAction(index)">
+									<u-checkbox :checked="item1.isActive"></u-checkbox>
+								</u-checkbox-group>
+							</view>
+							<view class="fx1">
+								<div class="page_content_title_top">
+									<span>{{ item1.materialName + ' | ' + item1.materialCode }}</span>
+								</div>
+								<div class="page_content_title_bottom">
+									<span class="green" v-if="item1.qualityType == 0">
+										鍚堟牸
+										<text class="c1" decode>{{ splite }}</text>
+									</span>
+									<span class="orange" v-else-if="item1.qualityType == 1">
+										涓嶈壇
+										<text class="c1" decode>{{ splite }}</text>
+									</span>
+									<span class="red" v-else-if="item1.qualityType == 2">
+										鎶ュ簾
+										<text class="c1" decode>{{ splite }}</text>
+									</span>
+									<span v-else>
+										-
+										<text class="c1" decode>{{ splite }}</text>
+									</span>
+									<span>
+										{{item1.procedureName ? item1.procedureName : '-'}}
+										<text class="c1" decode>{{ splite }}</text>
+									</span>
+									<span>{{item1.batch ? item1.batch : '-'}}</span>
+								</div>
+								<div class="mt20 plr25 ptb20 bg_f7 f26">
+									<div class="c2 mb10"><span class="c6">璐т綅锛�</span>{{ item1.locationName }}</div>
+									<div class="c2"><span class="c6">鏁伴噺锛�</span>{{ item1.num }}{{ item1.unitName }}</div>
+								</div>
+							</view>
+						</view>
+					</u-list-item>
+				</u-list>
+			</view>
+				<view style="height: 98rpx;"></view>
+			<!-- <view class="">
+				<u-safe-bottom></u-safe-bottom>
+			</view> -->
+			<view class="fixedBottom bottom cY">
+				<view class="fx1 bbox plr30">
+					<u-checkbox-group style="display: block;" name="" @change="selectAll()">
+						<u-checkbox :checked="isAll" label="鍏ㄩ��"></u-checkbox>
+					</u-checkbox-group>
+				</view>
+				<view class="submit sbtn_green bbox tc">鎻愪氦()</view>
+			</view>
+		</view>
+	</u-popup>
+</template>
+
+<script>
+	import vSearch from '@/components/Search.vue'
+	export default {
+		name: "selectMaterial",
+		components: {
+			vSearch
+		},
+		data() {
+			return {
+				show: false,
+				splite:'&nbsp;|&nbsp;',
+				isAll: false,
+				pages: {
+					size: 10,
+					index: 1,
+					total: 0
+				},
+				list: []
+			};
+		},
+		methods: {
+			open(target) {
+				this.show = true
+				this.workorderId = target.workorderId
+				this.deviceId = target.deviceId
+				this.list = []
+				this.pages = {
+					size: 10,
+					index: 1,
+					total: 0
+				}
+				this.loadData()
+			},
+			loadData() {
+				this.list = [{
+					batch: '1',
+					materialName: 'dsadas',
+					materialCode: '1m0001',
+					locationName: 'a浠�2鍙蜂綅',
+					num: '1',
+					unitName: '鍧�',
+					qualityType: 0,
+					procedureName: '鍘嬪埗',
+					isActive: false
+				},
+				{
+					batch: '1',
+					materialName: 'dsadas',
+					materialCode: '1m0001',
+					locationName: 'a浠�2鍙蜂綅',
+					num: '1',
+					unitName: '鍧�',
+					qualityType: 0,
+					procedureName: '鍘嬪埗',
+					isActive: false
+				},
+				{
+					batch: '1',
+					materialName: 'dsadas',
+					materialCode: '1m0001',
+					locationName: 'a浠�2鍙蜂綅',
+					num: '1',
+					unitName: '鍧�',
+					qualityType: 0,
+					procedureName: '鍘嬪埗',
+					isActive: false
+				},
+				{
+					batch: '1',
+					materialName: 'dsadas',
+					materialCode: '1m0001',
+					locationName: 'a浠�2鍙蜂綅',
+					num: '1',
+					unitName: '鍧�',
+					qualityType: 0,
+					procedureName: '鍘嬪埗',
+					isActive: false
+				},
+				{
+					batch: '1',
+					materialName: 'dsadas',
+					materialCode: '1m0001',
+					locationName: 'a浠�2鍙蜂綅',
+					num: '1',
+					unitName: '鍧�',
+					qualityType: 0,
+					procedureName: '鍘嬪埗',
+					isActive: false
+				},
+				{
+					batch: '1',
+					materialName: 'dsadas',
+					materialCode: '1m0001',
+					locationName: 'a浠�2鍙蜂綅',
+					num: '1',
+					unitName: '鍧�',
+					qualityType: 0,
+					procedureName: '鍘嬪埗',
+					isActive: false
+				},
+				{
+					batch: '1',
+					materialName: 'dsadas',
+					materialCode: '1m0001',
+					locationName: 'a浠�2鍙蜂綅',
+					num: '1',
+					unitName: '鍧�',
+					qualityType: 0,
+					procedureName: '鍘嬪埗',
+					isActive: false
+				}
+				]
+			},
+			scrolltoupper() {
+				this.loadData()
+			},
+			scrolltolower() {
+				this.loadData()
+			},
+			selectMaterialAction(index) {
+				// console.log('12');
+				this.list[index].isActive = !this.list[index].isActive
+			},
+			selectAll() {}
+		}
+	}
+	/* 
+	*/
+</script>
+
+<style lang="scss" scoped>
+	.material-content {
+		display: flex;
+		flex-direction: column;
+		height: 1200rpx;
+		box-sizing: border-box;
+		.scroll-content {
+			height: calc(1100rpx - env(safe-area-inset-bottom));
+			overflow: scroll;
+		}
+	}
+
+	.content_total {
+		margin-top: 20rpx;
+		margin-bottom: 20rpx;
+		// padding: 24rpx 30rpx;
+		// background: #F7F7F7;
+		font-size: 24rpx;
+		font-weight: 400;
+		color: #666666;
+	}
+
+	.page_content_title_top {
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+
+		span {
+			&:nth-child(1) {
+				font-size: 30rpx;
+				font-weight: 500;
+				color: #222222;
+			}
+
+			&:nth-child(2) {
+				flex-shrink: 0;
+				font-size: 24rpx;
+				font-weight: 400;
+				color: #333333;
+
+				// span {
+				// 	font-size: 24rpx;
+				// 	color: $nav-color;
+				// }
+			}
+		}
+	}
+
+	.page_content_title_bottom {
+		margin-top: 24rpx;
+
+		span {
+			font-size: 24rpx;
+			font-weight: 400;
+			color: #666666;
+		}
+	}
+
+	.page_content_title {
+		display: flex;
+		flex-direction: column;
+		margin-bottom: 10rpx;
+		
+
+
+
+	}
+	.bottom {
+		height: 98rpx;
+		.submit {
+			width: 272rpx;
+			height: 98rpx;
+			line-height: 98rpx;
+		}
+	}
+</style>
diff --git a/minipro_standard/components/Tooling.vue b/minipro_standard/components/Tooling.vue
new file mode 100644
index 0000000..8bf3186
--- /dev/null
+++ b/minipro_standard/components/Tooling.vue
@@ -0,0 +1,144 @@
+<template>
+	<u-popup :show="show" position="bottom" :round="10" closeable @close="show=false">
+		<div class="content">
+			<div :class="{ 'content_top': status }" class="content_search">
+				<v-Search ref="V" @searchInput="searchInput" @submit="submit" :isShow="false" placeholder="鎼滅储宸ヨ缂栫爜">
+				</v-Search>
+				<template v-if="classification">
+					<div class="content_search_x"></div>
+					<v-LableSelection :TagList="tagList" :isShow="false" @change="clickTag"></v-LableSelection>
+				</template>
+			</div>
+			<div class="content_total">鍏眥{page.total}}鏉℃暟鎹�</div>
+			<div class="content_list">
+				<u-list>
+					<u-list-item v-for="(item, i) in list" :key="i">
+						<div class="content_list_item" @click="jump(item)">
+							<div class="content_list_item_status success" v-if="item.smodelLabel === Attribute.HG">
+								[{{item.smodelCode}}]</div>
+							<div class="content_list_item_status warning" v-else-if="item.smodelLabel === Attribute.BL">
+								[{{item.smodelCode}}]</div>
+							<div class="content_list_item_status serious" v-else-if="item.smodelLabel === Attribute.BF">
+								[{{item.smodelCode}}]</div>
+							<div class="content_list_item_status black" v-else-if="item.smodelLabel === Attribute.HH">
+								[{{item.smodelCode}}]</div>
+							<div class="content_list_item_name">{{item.cmodel1BigName}}-{{item.code}}</div>
+						</div>
+					</u-list-item>
+				</u-list>
+			</div>
+		</div>
+	</u-popup>
+</template>
+
+<script>
+	import vSearch from '@/components/Search.vue'
+	import vLableSelection from '@/components/LabelSelection.vue'
+	import {
+		Attribute
+	} from '@/common/config.js'
+	export default {
+		name: "Tooling",
+		components: {
+			vSearch,
+			vLableSelection
+		},
+		data() {
+			return {
+				show: false,
+				classification: false,
+				attribute: '',
+				tagList: [],
+				statusname: '1,2,3',
+				list: [],
+				page: {
+					total: 0,
+					size: 10,
+					index: 1
+				}
+			};
+		},
+		methods: {
+			open(target) {
+				this.show = true
+				this.classification = target.classification
+				this.attribute = target.attribute
+				this.statusname = target.statusname
+			},
+			searchInput(v) {},
+			submit() {},
+			clickTag() {},
+			jump(item) {}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content {
+		.content_code {
+			position: fixed;
+			right: 30rpx;
+			bottom: 100rpx;
+
+			img {
+				width: 138rpx;
+				height: 138rpx;
+			}
+		}
+
+		.content_top {
+			top: 0 !important;
+		}
+
+		.content_search {
+			padding: 30rpx;
+			background: white;
+			position: sticky;
+			top: 88rpx;
+			z-index: 9;
+
+			.content_search_x {
+				height: 24rpx;
+			}
+		}
+
+		.content_total {
+			padding: 24rpx 30rpx;
+			background: #F7F7F7;
+			font-size: 24rpx;
+			font-weight: 400;
+			color: #666666;
+		}
+
+		.content_list {
+			width: 100%;
+			height: 100%;
+			display: flex;
+			flex-direction: column;
+
+			.content_list_item {
+				padding: 30rpx;
+				display: flex;
+				border-bottom: 1rpx solid #ececec;
+
+				// .serious {
+				//     color: $nav-stateColor4 !important;
+				// }
+				// .success {
+				//     color: $nav-stateColor2 !important;
+				// }
+				// .warning {
+				//     color: $nav-stateColor5 !important;
+				// }
+				.content_list_item_status {
+					font-size: 28rpx;
+					margin-right: 10rpx;
+				}
+
+				.content_list_item_name {
+					font-size: 28rpx;
+				}
+			}
+		}
+	}
+</style>
diff --git a/minipro_standard/components/selectMaterial.vue b/minipro_standard/components/selectMaterial.vue
index a892fe5..c2250fe 100644
--- a/minipro_standard/components/selectMaterial.vue
+++ b/minipro_standard/components/selectMaterial.vue
@@ -69,7 +69,6 @@
 					unitName: '鍧�',
 					qualityType: 0,
 					procedureName: '鍘嬪埗',
-
 				}]
 			},
 			scrolltoupper() {
@@ -90,7 +89,7 @@
 
 <style lang="scss" scoped>
 	.material-content {
-		height: 800rpx;
+		height: 1100rpx;
 	}
 
 	.page_content_title_top {
diff --git a/minipro_standard/pages.json b/minipro_standard/pages.json
index 1504f4e..668f70b 100644
--- a/minipro_standard/pages.json
+++ b/minipro_standard/pages.json
@@ -90,6 +90,42 @@
             }
             
         }
+        ,{
+            "path" : "pages/inspectComplete/inspectComplete",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "瀹屽伐妫�",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/selectWorkOrder/selectWorkOrder",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "閫夋嫨宸ュ崟",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/inspectPatrol/inspectPatrol",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "宸℃",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/linePatrol/linePatrol",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "宸$嚎",
+                "enablePullDownRefresh": false
+            }
+            
+        }
     ],
 	"subPackages": [
 		{
diff --git a/minipro_standard/pages/inspectComplete/inspectComplete.vue b/minipro_standard/pages/inspectComplete/inspectComplete.vue
new file mode 100644
index 0000000..72f566e
--- /dev/null
+++ b/minipro_standard/pages/inspectComplete/inspectComplete.vue
@@ -0,0 +1,228 @@
+<template>
+	<view class="inspection">
+		<div class="inspection_list">
+			<div class="inspection_list_item">
+				<span>妫�楠岀被鍨�</span>
+				<div class="right">
+					<div class="right_item active">瀹屽伐妫�</div>
+					<!-- <div class="right_item active" v-if="form.status == '1'">宸℃</div>
+		                    <div class="right_item active" v-if="form.status == '2'">瀹屽伐妫�</div> -->
+				</div>
+			</div>
+		</div>
+		<div class="x"></div>
+		<div class="inspection_list">
+			<div class="inspection_list_item" @click="jumpGD">
+				<span>妫�楠屽伐鍗�</span>
+				<div class="right1">
+					<span :style="form.gdmc ? 'color: #000;' : ''">{{ form.gdmc ? form.gdmc : '鐐瑰嚮閫夋嫨妫�楠屽伐鍗�'}}</span>
+					<u-icon name="arrow-right" color="#999999" size="18" />
+				</div>
+			</div>
+			<div class="inspection_list_item" v-if="form.gdmc">
+				<span>璁″垝鏁伴噺</span>
+				<div class="right1">
+					<span
+						style="color: black;">{{info.planNum}}{{info.umodel ? info.umodel.name : ''}}</span>
+				</div>
+			</div>
+		</div>
+		<div class="x"></div>
+		<div class="inspection_list">
+			<div class="inspection_list_item">
+				<span>鑹搧鏁�</span>
+				<div class="right1">
+					<input type="number" v-model="form.hgsl" placeholder="0" />
+					<span class="dw" v-if="info.umodel">{{info.umodel.name}}</span>
+				</div>
+			</div>
+			<div class="inspection_list_item">
+				<span>涓嶈壇鏁伴噺</span>
+				<div class="right1">
+					<input type="number" v-model="form.blsl" placeholder="0" />
+					<span class="dw" v-if="info.umodel">{{info.umodel.name}}</span>
+				</div>
+			</div>
+			<div class="inspection_list_item" @click="selectBad" v-show="form.blsl > 0">
+				<span>涓嶈壇璇存槑</span>
+				<div class="right1">
+					<span :style="form.blsm ? 'color: #000;' : ''">{{ form.blsm ? form.blsm : '鐐瑰嚮閫夋嫨涓嶈壇鍘熷洜'}}</span>
+					<u-icon name="arrow-right" color="#999999" size="18" />
+				</div>
+			</div>
+		</div>
+		<div class="inspection_footer">
+			<button class="inspection_footer_sub" @click="submit" v-preventReClick>鎻愪氦</button>
+		</div>
+		<u-picker :show="show1" title="璇烽�夋嫨涓嶈壇璇存槑" :columns="columns" @cancel="show1=false" @confirm="badConfirm"></u-picker>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				info: {},
+				show1: false,
+				columns: [['涓浗', '缇庡浗', '鏃ユ湰']],
+				columns1: [],
+				form: {
+					status: '0',
+					gdid: '',
+					gdmc: '',
+					jygz: '',
+					jygzmc: '',
+					hgsl: 0,
+					blsl: 1,
+					blgz: '',
+					blgzmc: '',
+					blsm: '',
+					dw: ''
+				}
+			};
+		},
+		onLoad() {
+			uni.$on('workOrder', (data) => {
+				this.form.gdmc = data.mmodel.name + '-' + data.pgmodel.name
+				this.form.gdid = data.id
+				this.info = data
+				
+			})
+		},
+		methods: {
+			jumpGD() {
+				uni.navigateTo({
+					url: '/pages/selectWorkOrder/selectWorkOrder'
+				})
+			},
+			openBL() {},
+			getValue1() {},
+			selectBad() {
+				console.log('------0-----');
+				this.show1 = true
+			},
+			badConfirm(value) {
+				console.log(value);
+				this.show1 = false
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.inspection {
+		width: 100%;
+		height: 100%;
+		position: absolute;
+		background: #F7F7F7;
+
+		.x {
+			height: 20rpx;
+		}
+
+		.inspection_list {
+			padding: 0 30rpx;
+			background: white;
+
+			.inspection_list_item {
+				height: 98rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				border-bottom: 1rpx solid #E5E5E5;
+
+				&:last-child {
+					border: none;
+				}
+
+				span {
+					font-size: 30rpx;
+					font-weight: 400;
+					color: #222222;
+				}
+
+				.right1 {
+					display: flex;
+					align-items: center;
+
+					span {
+						font-size: 28rpx;
+						font-weight: 400;
+						color: #999999;
+						margin-right: 10rpx;
+					}
+
+					input {
+						width: 180rpx;
+						height: 60rpx;
+						border-radius: 8rpx;
+						border: 1rpx solid #CCCCCC;
+						margin-right: 10rpx;
+						padding: 0 30rpx;
+						box-sizing: border-box;
+						font-size: 28rpx;
+					}
+
+					input::-webkit-input-placeholder {
+						font-size: 28rpx;
+						font-weight: 400;
+						color: #999999;
+					}
+
+					.dw {
+						font-size: 28rpx;
+						font-weight: 400;
+						color: #666666;
+					}
+				}
+
+				.right {
+					display: flex;
+					align-items: center;
+
+					.active {
+						background: $nav-color !important;
+						color: #ffffff !important;
+					}
+
+					.right_item {
+						padding: 18rpx 32rpx;
+						background: #F2F2F2;
+						border-radius: 8rpx;
+						font-size: 26rpx;
+						font-weight: 400;
+						color: #333333;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						margin-left: 20rpx;
+					}
+				}
+			}
+		}
+
+		.inspection_footer {
+			position: fixed;
+			bottom: 0;
+			left: 0;
+			width: calc(100% - 60rpx);
+			padding: 30rpx 30rpx 68rpx 30rpx;
+			background: #F7F7F7;
+
+			.inspection_footer_sub {
+				width: 100%;
+				height: 88rpx;
+				background: #4275FC;
+				box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.0800);
+				border-radius: 8rpx;
+				font-size: 30rpx;
+				font-weight: 500;
+				color: #FFFFFF;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				border: none;
+			}
+		}
+	}
+</style>
diff --git a/minipro_standard/pages/inspectPatrol/inspectPatrol.vue b/minipro_standard/pages/inspectPatrol/inspectPatrol.vue
new file mode 100644
index 0000000..be1dace
--- /dev/null
+++ b/minipro_standard/pages/inspectPatrol/inspectPatrol.vue
@@ -0,0 +1,227 @@
+<template>
+	<view class="inspection">
+		<div class="inspection_list">
+			<div class="inspection_list_item">
+				<span>妫�楠岀被鍨�</span>
+				<div class="right">
+					<div class="right_item active">宸℃</div>
+					<!-- <div class="right_item active" v-if="form.status == '1'">宸℃</div>
+		                    <div class="right_item active" v-if="form.status == '2'">瀹屽伐妫�</div> -->
+				</div>
+			</div>
+		</div>
+		<div class="x"></div>
+		<div class="inspection_list">
+			<div class="inspection_list_item" @click="jumpGD">
+				<span>妫�楠屽伐鍗�</span>
+				<div class="right1">
+					<span :style="form.gdmc ? 'color: #000;' : ''">{{ form.gdmc ? form.gdmc : '鐐瑰嚮閫夋嫨妫�楠屽伐鍗�'}}</span>
+					<u-icon name="arrow-right" color="#999999" size="18" />
+				</div>
+			</div>
+			<div class="inspection_list_item" v-if="form.gdmc">
+				<span>璁″垝鏁伴噺</span>
+				<div class="right1">
+					<span
+						style="color: black;">{{info.planNum}}{{info.umodel ? info.umodel.name : ''}}</span>
+				</div>
+			</div>
+		</div>
+		<div class="x"></div>
+		<div class="inspection_list">
+			<div class="inspection_list_item">
+				<span>鑹搧鏁�</span>
+				<div class="right1">
+					<input type="number" v-model="form.hgsl" placeholder="0" />
+					<span class="dw" v-if="info.umodel">{{info.umodel.name}}</span>
+				</div>
+			</div>
+			<div class="inspection_list_item">
+				<span>涓嶈壇鏁伴噺</span>
+				<div class="right1">
+					<input type="number" v-model="form.blsl" placeholder="0" />
+					<span class="dw" v-if="info.umodel">{{info.umodel.name}}</span>
+				</div>
+			</div>
+			<div class="inspection_list_item" @click="selectBad" v-show="form.blsl > 0">
+				<span>涓嶈壇璇存槑</span>
+				<div class="right1">
+					<span :style="form.blsm ? 'color: #000;' : ''">{{ form.blsm ? form.blsm : '鐐瑰嚮閫夋嫨涓嶈壇鍘熷洜'}}</span>
+					<u-icon name="arrow-right" color="#999999" size="18" />
+				</div>
+			</div>
+		</div>
+		<div class="inspection_footer">
+			<button class="inspection_footer_sub" @click="submit" v-preventReClick>鎻愪氦</button>
+		</div>
+		<u-picker :show="show1" title="璇烽�夋嫨涓嶈壇璇存槑" :columns="columns" @cancel="show1=false" @confirm="badConfirm"></u-picker>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				info: {},
+				show1: false,
+				columns: [['涓浗', '缇庡浗', '鏃ユ湰']],
+				columns1: [],
+				form: {
+					status: '0',
+					gdid: '',
+					gdmc: '',
+					jygz: '',
+					jygzmc: '',
+					hgsl: 0,
+					blsl: 1,
+					blgz: '',
+					blgzmc: '',
+					blsm: '',
+					dw: ''
+				}
+			};
+		},
+		onLoad() {
+			uni.$on('workOrder', (data) => {
+				this.form.gdmc = data.mmodel.name + '-' + data.pgmodel.name
+				this.form.gdid = data.id
+				this.info = data
+				
+			})
+		},
+		methods: {
+			jumpGD() {
+				uni.navigateTo({
+					url: '/pages/selectWorkOrder/selectWorkOrder'
+				})
+			},
+			openBL() {},
+			getValue1() {},
+			selectBad() {
+				console.log('------0-----');
+				this.show1 = true
+			},
+			badConfirm(value) {
+				this.show1 = false;
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.inspection {
+		width: 100%;
+		height: 100%;
+		position: absolute;
+		background: #F7F7F7;
+
+		.x {
+			height: 20rpx;
+		}
+
+		.inspection_list {
+			padding: 0 30rpx;
+			background: white;
+
+			.inspection_list_item {
+				height: 98rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				border-bottom: 1rpx solid #E5E5E5;
+
+				&:last-child {
+					border: none;
+				}
+
+				span {
+					font-size: 30rpx;
+					font-weight: 400;
+					color: #222222;
+				}
+
+				.right1 {
+					display: flex;
+					align-items: center;
+
+					span {
+						font-size: 28rpx;
+						font-weight: 400;
+						color: #999999;
+						margin-right: 10rpx;
+					}
+
+					input {
+						width: 180rpx;
+						height: 60rpx;
+						border-radius: 8rpx;
+						border: 1rpx solid #CCCCCC;
+						margin-right: 10rpx;
+						padding: 0 30rpx;
+						box-sizing: border-box;
+						font-size: 28rpx;
+					}
+
+					input::-webkit-input-placeholder {
+						font-size: 28rpx;
+						font-weight: 400;
+						color: #999999;
+					}
+
+					.dw {
+						font-size: 28rpx;
+						font-weight: 400;
+						color: #666666;
+					}
+				}
+
+				.right {
+					display: flex;
+					align-items: center;
+
+					.active {
+						background: $nav-color !important;
+						color: #ffffff !important;
+					}
+
+					.right_item {
+						padding: 18rpx 32rpx;
+						background: #F2F2F2;
+						border-radius: 8rpx;
+						font-size: 26rpx;
+						font-weight: 400;
+						color: #333333;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						margin-left: 20rpx;
+					}
+				}
+			}
+		}
+
+		.inspection_footer {
+			position: fixed;
+			bottom: 0;
+			left: 0;
+			width: calc(100% - 60rpx);
+			padding: 30rpx 30rpx 68rpx 30rpx;
+			background: #F7F7F7;
+
+			.inspection_footer_sub {
+				width: 100%;
+				height: 88rpx;
+				background: #4275FC;
+				box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.0800);
+				border-radius: 8rpx;
+				font-size: 30rpx;
+				font-weight: 500;
+				color: #FFFFFF;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				border: none;
+			}
+		}
+	}
+</style>
diff --git a/minipro_standard/pages/linePatrol/linePatrol.vue b/minipro_standard/pages/linePatrol/linePatrol.vue
new file mode 100644
index 0000000..094111a
--- /dev/null
+++ b/minipro_standard/pages/linePatrol/linePatrol.vue
@@ -0,0 +1,225 @@
+<template>
+	<view class="inspection">
+		<div class="inspection_list">
+			<div class="inspection_list_item">
+				<span>妫�楠岀被鍨�</span>
+				<div class="right">
+					<div class="right_item active">宸$嚎</div>
+				</div>
+			</div>
+		</div>
+		<div class="x"></div>
+		<div class="inspection_list">
+			<div class="inspection_list_item" @click="jumpGD">
+				<span>妫�楠屽伐鍗�</span>
+				<div class="right1">
+					<span :style="form.gdmc ? 'color: #000;' : ''">{{ form.gdmc ? form.gdmc : '鐐瑰嚮閫夋嫨妫�楠屽伐鍗�'}}</span>
+					<u-icon name="arrow-right" color="#999999" size="18" />
+				</div>
+			</div>
+			<div class="inspection_list_item" v-if="form.gdmc">
+				<span>璁″垝鏁伴噺</span>
+				<div class="right1">
+					<span
+						style="color: black;">{{info.planNum}}{{info.umodel ? info.umodel.name : ''}}</span>
+				</div>
+			</div>
+		</div>
+		<div class="x"></div>
+		<div class="inspection_list">
+			<div class="inspection_list_item">
+				<span>鑹搧鏁�</span>
+				<div class="right1">
+					<input type="number" v-model="form.hgsl" placeholder="0" />
+					<span class="dw" v-if="info.umodel">{{info.umodel.name}}</span>
+				</div>
+			</div>
+			<div class="inspection_list_item">
+				<span>涓嶈壇鏁伴噺</span>
+				<div class="right1">
+					<input type="number" v-model="form.blsl" placeholder="0" />
+					<span class="dw" v-if="info.umodel">{{info.umodel.name}}</span>
+				</div>
+			</div>
+			<div class="inspection_list_item" @click="selectBad" v-show="form.blsl > 0">
+				<span>涓嶈壇璇存槑</span>
+				<div class="right1">
+					<span :style="form.blsm ? 'color: #000;' : ''">{{ form.blsm ? form.blsm : '鐐瑰嚮閫夋嫨涓嶈壇鍘熷洜'}}</span>
+					<u-icon name="arrow-right" color="#999999" size="18" />
+				</div>
+			</div>
+		</div>
+		<div class="inspection_footer">
+			<button class="inspection_footer_sub" @click="submit" v-preventReClick>鎻愪氦</button>
+		</div>
+		<u-picker :show="show1" title="璇烽�夋嫨涓嶈壇璇存槑" :columns="columns" @cancel="show1=false" @confirm="badConfirm"></u-picker>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				info: {},
+				show1: false,
+				columns: [['涓浗', '缇庡浗', '鏃ユ湰']],
+				columns1: [],
+				form: {
+					status: '0',
+					gdid: '',
+					gdmc: '',
+					jygz: '',
+					jygzmc: '',
+					hgsl: 0,
+					blsl: 1,
+					blgz: '',
+					blgzmc: '',
+					blsm: '',
+					dw: ''
+				}
+			};
+		},
+		onLoad() {
+			uni.$on('workOrder', (data) => {
+				this.form.gdmc = data.mmodel.name + '-' + data.pgmodel.name
+				this.form.gdid = data.id
+				this.info = data
+				
+			})
+		},
+		methods: {
+			jumpGD() {
+				uni.navigateTo({
+					url: '/pages/selectWorkOrder/selectWorkOrder'
+				})
+			},
+			openBL() {},
+			getValue1() {},
+			selectBad() {
+				console.log('------0-----');
+				this.show1 = true
+			},
+			badConfirm() {
+				this.show1 = false;
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.inspection {
+		width: 100%;
+		height: 100%;
+		position: absolute;
+		background: #F7F7F7;
+
+		.x {
+			height: 20rpx;
+		}
+
+		.inspection_list {
+			padding: 0 30rpx;
+			background: white;
+
+			.inspection_list_item {
+				height: 98rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				border-bottom: 1rpx solid #E5E5E5;
+
+				&:last-child {
+					border: none;
+				}
+
+				span {
+					font-size: 30rpx;
+					font-weight: 400;
+					color: #222222;
+				}
+
+				.right1 {
+					display: flex;
+					align-items: center;
+
+					span {
+						font-size: 28rpx;
+						font-weight: 400;
+						color: #999999;
+						margin-right: 10rpx;
+					}
+
+					input {
+						width: 180rpx;
+						height: 60rpx;
+						border-radius: 8rpx;
+						border: 1rpx solid #CCCCCC;
+						margin-right: 10rpx;
+						padding: 0 30rpx;
+						box-sizing: border-box;
+						font-size: 28rpx;
+					}
+
+					input::-webkit-input-placeholder {
+						font-size: 28rpx;
+						font-weight: 400;
+						color: #999999;
+					}
+
+					.dw {
+						font-size: 28rpx;
+						font-weight: 400;
+						color: #666666;
+					}
+				}
+
+				.right {
+					display: flex;
+					align-items: center;
+
+					.active {
+						background: $nav-color !important;
+						color: #ffffff !important;
+					}
+
+					.right_item {
+						padding: 18rpx 32rpx;
+						background: #F2F2F2;
+						border-radius: 8rpx;
+						font-size: 26rpx;
+						font-weight: 400;
+						color: #333333;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						margin-left: 20rpx;
+					}
+				}
+			}
+		}
+
+		.inspection_footer {
+			position: fixed;
+			bottom: 0;
+			left: 0;
+			width: calc(100% - 60rpx);
+			padding: 30rpx 30rpx 68rpx 30rpx;
+			background: #F7F7F7;
+
+			.inspection_footer_sub {
+				width: 100%;
+				height: 88rpx;
+				background: #4275FC;
+				box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.0800);
+				border-radius: 8rpx;
+				font-size: 30rpx;
+				font-weight: 500;
+				color: #FFFFFF;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				border: none;
+			}
+		}
+	}
+</style>
diff --git a/minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue b/minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue
new file mode 100644
index 0000000..e6800a4
--- /dev/null
+++ b/minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue
@@ -0,0 +1,494 @@
+<template>
+	<view class="content">
+		<div :class="{ 'content_top': status }" class="content_search">
+			<v-Search @searchInput="searchInput" @submit="submit" @reset="reset" :isShow="true"
+				placeholder="鎼滅储宸ュ崟缂栫爜/宸ュ簭鍚嶇О">
+				<template v-slot:content>
+					<div class="Search_item">
+						<div class="Search_item_label">璁″垝鏃ユ湡</div>
+						<div class="Search_item_content" @click="isOpenDate=true">
+							<div class="Search_item_content_a" :style="form.startDate ? 'color: #000;' : ''">
+								{{ form.startDate ? form.startDate : '寮�濮嬫棩鏈�'}}</div>
+							<span>-</span>
+							<div class="Search_item_content_a" :style="form.endDate ? 'color: #000;' : ''">
+								{{ form.endDate ? form.endDate : '缁撴潫鏃ユ湡'}}</div>
+						</div>
+					</div>
+				</template>
+			</v-Search>
+			<div class="content_search_x"></div>
+			<v-LableSelection :TagList="tagList" :isShow="true" @change="clickTag"></v-LableSelection>
+		</div>
+		<div class="content_total">鍏眥{page.total}}鏉℃暟鎹�</div>
+		<div class="content_list">
+			<u-list @scrolltolower="scrolltolower" @scrolltoupper="scrolltoupper">
+				<u-list-item  v-for="(item, i) in list" :key="i">
+					<div class="content_list_item" @click="jump(item)">
+						<div class="content_list_item_top">
+							<div class="content_list_item_top_left">
+								<span v-if="item.mmodel">{{item.mmodel.name}} | {{item.procedureName}}</span>
+								<div class="content_list_item_top_left_tag" v-if="item.urgent">浼樺厛{{item.urgent}}</div>
+								<div class="content_list_item_top_left_tagW" v-if="item.paused === 1">鍋�</div>
+							</div>
+							<div class="content_list_item_top_right">
+								<span class="yellow" v-if="item.status === 0">宸插垱寤�</span>
+								<span class="green" v-if="item.status === 1">宸插鏂�</span>
+								<span v-if="item.status === 2">宸插畬宸�</span>
+								<span class="purple" v-if="item.status === 3">宸叉楠�</span>
+								<span v-if="item.status === 4">宸叉姤宸�</span>
+								<span v-if="item.status === 5">宸插叆搴�</span>
+								<span v-if="item.status === 6">宸插彇娑�</span>
+							</div>
+						</div>
+						<span>宸ュ崟缂栫爜: {{item.code}}</span>
+						<div class="content_list_item_content">
+							<div class="content_list_item_content_item">
+								<div class="content_list_item_content_item_label">鐗╂枡缂栫爜锛�</div>
+								<div class="content_list_item_content_item_nr" v-if="item.mmodel">{{item.mmodel.code}}
+								</div>
+							</div>
+							<div class="content_list_item_content_item">
+								<div class="content_list_item_content_item_label">璁″垝寮�宸ワ細</div>
+								<div class="content_list_item_content_item_nr">{{item.planDate}}</div>
+							</div>
+							<div class="content_list_item_content_item">
+								<div class="content_list_item_content_item_label">鐢熶骇鎵规锛�</div>
+								<div class="content_list_item_content_item_nr">{{item.batch}}</div>
+							</div>
+							<div class="content_list_item_content_item">
+								<div class="content_list_item_content_item_label">璁″垝鏁伴噺锛�</div>
+								<div class="content_list_item_content_item_nr" v-if="item.umodel">
+									{{item.planNum}}{{item.umodel.name}}</div>
+							</div>
+							<div class="content_list_item_content_item">
+								<div class="content_list_item_content_item_label">鐢熶骇璁惧锛�</div>
+								<div class="content_list_item_content_item_nr" v-if="item.pgmodel">{{item.pgmodel.name}}
+								</div>
+							</div>
+							<div class="content_list_item_content_item" v-if="item.status === 5">
+								<div class="content_list_item_content_item_label">瀹屽伐鏁伴噺锛�</div>
+								<div class="content_list_item_content_item_nr">{{item.proNum}}</div>
+							</div>
+						</div>
+					</div>
+				</u-list-item>
+			</u-list>
+		</div>
+		<!-- <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
+			<van-list v-model:loading="loading" :finished="finished" finished-text="娌℃湁鏇村浜唦" @load="onLoad">
+			</van-list>
+		</van-pull-refresh> -->
+		<u-calendar :show="isOpenDate" mode="range" @close="isOpenDate=false" @confirm="onConfirm"></u-calendar>
+		<!-- <van-calendar v-model:show="isOpenDate" type="range" :min-date="minDate" :max-date="maxDate" color="#4275FC"
+			@confirm="onConfirm" /> -->
+		<!-- <v-ScanCode
+		            :openCode="openCode"
+		            :infos="['绗竴娆℃壂鐮�']"
+		            @closePopup="closePopup"
+		            @onDecode="onDecode">
+		        </v-ScanCode> -->
+	</view>
+</template>
+
+<script>
+	import vSearch from '@/components/Search.vue'
+	import vLableSelection from '@/components/LabelSelection.vue'
+	import { gsdate } from '@/util/utils'
+	export default {
+		components: {
+			vSearch,
+			vLableSelection
+		},
+		data() {
+			return {
+				status: true,
+				isOpenDate: false,
+				// tagList: [1,2,3],
+				form: {
+					startDate: '',
+					endDate: ''
+				},
+				list: [
+					{
+						mmodel: { name: 'adsa', },
+						mmodel: { code: 'wl-001' },
+						umodel: { name: '鍚�' },
+						pgmodel: { name: '娑插帇鏈�' },
+						procedureName: '鍘嬪埗',
+						urgent: 10,
+						paused: 0,
+						status: 0,
+						code: '00100',
+						planDate: '2023-08-30',
+						batch: 'kk-yw',
+						planNum: 300,
+						proNum: 100,
+					},
+					{
+						mmodel: { name: 'adsa', },
+						mmodel: { code: 'wl-001' },
+						umodel: { name: '鍚�' },
+						pgmodel: { name: '娑插帇鏈�' },
+						procedureName: '鍘嬪埗',
+						urgent: 10,
+						paused: 0,
+						status: 1,
+						code: '00100',
+						planDate: '2023-08-30',
+						batch: 'kk-yw',
+						planNum: 300,
+						proNum: 100
+					},
+					{
+						mmodel: { name: 'adsa', },
+						mmodel: { code: 'wl-001' },
+						umodel: { name: '鍚�' },
+						pgmodel: { name: '娑插帇鏈�' },
+						procedureName: '鍘嬪埗',
+						urgent: 10,
+						paused: 0,
+						status: 2,
+						code: '00100',
+						planDate: '2023-08-30',
+						batch: 'kk-yw',
+						planNum: 300,
+						proNum: 100,
+					},
+					{
+						mmodel: { name: 'adsa', },
+						mmodel: { name: '鐗╂枡001', code: 'wl-001' },
+						umodel: { name: '鍚�' },
+						pgmodel: { name: '娑插帇鏈�' },
+						procedureName: '鍘嬪埗',
+						urgent: 10,
+						paused: 0,
+						status: 3,
+						code: '00100',
+						planDate: '2023-08-30',
+						batch: 'kk-yw',
+						planNum: 300,
+						proNum: 100,
+					},
+					{
+						mmodel: { name: 'adsa', },
+						mmodel: { code: 'wl-001' },
+						umodel: { name: '鍚�' },
+						pgmodel: { name: '娑插帇鏈�' },
+						procedureName: '鍘嬪埗',
+						urgent: 10,
+						paused: 0,
+						status: 4,
+						code: '00100',
+						planDate: '2023-08-30',
+						batch: 'kk-yw',
+						planNum: 300,
+						proNum: 100,
+					},
+					{
+						mmodel: { name: 'adsa', },
+						mmodel: { code: 'wl-001' },
+						umodel: { name: '鍚�' },
+						pgmodel: { name: '娑插帇鏈�' },
+						procedureName: '鍘嬪埗',
+						urgent: 10,
+						paused: 0,
+						status: 5,
+						code: '00100',
+						planDate: '2023-08-30',
+						batch: 'kk-yw',
+						planNum: 300,
+						proNum: 100,
+					},
+					{
+						mmodel: { name: 'adsa', },
+						mmodel: { code: 'wl-001' },
+						umodel: { name: '鍚�' },
+						pgmodel: { name: '娑插帇鏈�' },
+						procedureName: '鍘嬪埗',
+						urgent: 10,
+						paused: 0,
+						status: 6,
+						code: '00100',
+						planDate: '2023-08-30',
+						batch: 'kk-yw',
+						planNum: 300,
+						proNum: 100,
+					},
+					{
+						mmodel: { name: 'adsa', },
+						mmodel: { code: 'wl-001' },
+						umodel: { name: '鍚�' },
+						pgmodel: { name: '娑插帇鏈�' },
+						procedureName: '鍘嬪埗',
+						urgent: 10,
+						paused: 0,
+						status: 7,
+						code: '00100',
+						planDate: '2023-08-30',
+						batch: 'kk-yw',
+						planNum: 300,
+						proNum: 100,
+					},
+				],
+				page: {
+					size: 10,
+					index: 1,
+					total: 0
+				}
+			};
+		},
+		methods: {
+			reset() {},
+			submit() {},
+			onConfirm(value) {
+				const [start, end] = value
+				this.form.startDate = gsdate(start)
+				this.form.endDate = gsdate(end)
+				this.isOpenDate = false
+			},
+			scrolltolower() {},
+			scrolltoupper() {},
+			jump(item) {
+				uni.$emit('workOrder', item)
+				uni.navigateBack()
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.content {
+		.content_code {
+			position: fixed;
+			right: 30rpx;
+			bottom: 100rpx;
+
+			img {
+				width: 138rpx;
+				height: 138rpx;
+			}
+		}
+
+		.content_top {
+			top: 0 !important;
+		}
+
+		.content_search {
+			padding: 30rpx;
+			background: white;
+			position: sticky;
+			top: 88rpx;
+			z-index: 9;
+
+			.Search_item {
+				margin-bottom: 40rpx;
+
+				.Search_item_label {
+					font-size: 30rpx;
+					font-weight: 500;
+					color: #222222;
+				}
+
+				.Search_item_content {
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					margin-top: 30rpx;
+
+					.tag {
+						display: flex;
+						flex-wrap: wrap;
+						align-items: center;
+
+						.tag_active {
+							background: $nav-color !important;
+							color: #ffffff !important;
+						}
+
+						.tag_item {
+							width: 156rpx;
+							height: 70rpx;
+							box-sizing: border-box;
+							background: #F2F2F2;
+							border-radius: 8rpx;
+							font-size: 26rpx;
+							font-weight: 400;
+							color: #333333;
+							display: flex;
+							align-items: center;
+							justify-content: center;
+							margin-right: 22rpx;
+							margin-bottom: 22rpx;
+
+							&:nth-child(4n) {
+								margin-right: 0;
+							}
+						}
+					}
+
+					span {
+						font-size: 26rpx;
+						font-weight: 400;
+						color: #333333;
+					}
+
+					.Search_item_content_a {
+						width: 308rpx;
+						height: 70rpx;
+						background: #F7F7F7;
+						border-radius: 8rpx;
+						border: 1rpx solid #EEEEEE;
+						font-size: 26rpx;
+						font-weight: 400;
+						color: #B2B2B2;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+					}
+				}
+			}
+
+			.content_search_x {
+				height: 24rpx;
+			}
+		}
+
+		.content_total {
+			padding: 24rpx 30rpx;
+			background: #F7F7F7;
+			font-size: 24rpx;
+			font-weight: 400;
+			color: #666666;
+		}
+
+		.content_list {
+			width: 100%;
+			height: 100%;
+			display: flex;
+			flex-direction: column;
+
+			.content_list_item {
+				padding: 30rpx;
+				display: flex;
+				flex-direction: column;
+				border-bottom: 1rpx solid #ececec;
+				background: white;
+
+				span {
+					color: #5a5a5a;
+					margin-top: 15rpx;
+				}
+
+				.content_list_item_top {
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+
+					.content_list_item_top_left {
+						display: flex;
+						align-items: center;
+						width: 80%;
+
+						span {
+							font-size: 32rpx;
+							font-weight: 500;
+							color: #333333;
+							overflow: hidden;
+							white-space: nowrap;
+							text-overflow: ellipsis;
+							-o-text-overflow: ellipsis;
+						}
+
+						.content_list_item_top_left_tagW {
+							margin-top: 14rpx;
+							flex-shrink: 0;
+							box-sizing: border-box;
+							padding: 5rpx 10rpx;
+							background: $nav-stateColor5;
+							border-radius: 8rpx;
+							font-size: 22rpx;
+							font-weight: 400;
+							color: #FFFFFF;
+							margin-left: 16rpx;
+							display: flex;
+							align-items: center;
+							justify-content: center;
+						}
+
+						.content_list_item_top_left_tag {
+							margin-top: 14rpx;
+							flex-shrink: 0;
+							padding: 5rpx 10rpx;
+							background: $nav-stateColor4;
+							border-radius: 8rpx;
+							font-size: 22rpx;
+							font-weight: 400;
+							color: #FFFFFF;
+							margin-left: 16rpx;
+							display: flex;
+							align-items: center;
+							justify-content: center;
+						}
+					}
+
+					.content_list_item_top_right {
+						font-size: 26rpx;
+						font-weight: 400;
+						color: #666666;
+						flex-shrink: 0;
+
+						.purple {
+							color: $nav-color !important;
+						}
+
+						.green {
+							color: $nav-stateColor6 !important;
+						}
+
+						.yellow {
+							color: $nav-stateColor1 !important;
+						}
+					}
+				}
+
+				.content_list_item_content {
+					padding: 24rpx 30rpx;
+					background: #F7F7F7;
+					border-radius: 16rpx;
+					display: flex;
+					flex-wrap: wrap;
+					justify-content: space-between;
+					margin-top: 32rpx;
+
+					.content_list_item_content_item {
+						width: 50%;
+						display: flex;
+						margin-top: 24rpx;
+
+						&:nth-child(1) {
+							margin-top: 0 !important;
+						}
+
+						&:nth-child(2) {
+							margin-top: 0 !important;
+						}
+
+						.content_list_item_content_item_label {
+							font-size: 24rpx;
+							font-weight: 400;
+							color: #666666;
+							flex-shrink: 0;
+						}
+
+						.content_list_item_content_item_nr {
+							font-size: 24rpx;
+							font-weight: 400;
+							color: #222222;
+							margin-right: 10rpx;
+						}
+					}
+				}
+			}
+		}
+	}
+</style>
diff --git a/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue b/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue
index dae9d43..930fb69 100644
--- a/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue
+++ b/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue
@@ -213,7 +213,7 @@
 					<div class="bl_list_item" v-for="(item, i) in cateList" :key="i" @click="changeChecked(i)">
 						<div class="bl_list_item_left">
 							<u-checkbox-group>
-								<u-checkbox  :key="index" :checked="item.active" :label="item.name"
+								<u-checkbox :checked="item.active" :label="item.name"
 									:name="item.name">
 								</u-checkbox>
 							</u-checkbox-group>
diff --git a/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue b/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue
index e0e9a8d..3ac271f 100644
--- a/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue
+++ b/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue
@@ -48,13 +48,15 @@
 				</div>
 			</u-swipe-action-item>
 		</u-swipe-action>
-		<SelectMaterial ref="selectMaterial" @selectAction="getValue"/>
+		<SelectMaterial ref="selectMaterial" @selectAction="getValue"/>
+		<SelectMultipleMaterial ref="selectMultipleMaterial"/>
 	</view>
 </template>
 
 <script>
 	import workOrderInfo from '@/components/workOrderInfo.vue'
 	import SelectMaterial from '@/components/selectMaterial.vue'
+	import SelectMultipleMaterial from '@/components/SelectMultipleMaterial.vue'
 	
 	import {
 		positiveInteger,
@@ -63,7 +65,8 @@
 	export default {
 		components: {
 			workOrderInfo,
-			SelectMaterial
+			SelectMaterial,
+			SelectMultipleMaterial
 		},
 		data() {
 			return {
@@ -100,7 +103,8 @@
 		},
 		methods: {
 			open1(index) {
-				this.$refs.selectMaterial.open({})
+				// this.$refs.selectMaterial.open({})
+				this.$refs.selectMultipleMaterial.open({})
 			},
 			deleItem(index) {
 				if (this.materialList.length === 1) {
diff --git a/web_standard/public/template/material_import_template.xlsx b/web_standard/public/template/material_import_template.xlsx
index 6812b65..b8edec0 100644
--- a/web_standard/public/template/material_import_template.xlsx
+++ b/web_standard/public/template/material_import_template.xlsx
Binary files differ

--
Gitblit v1.9.3