From abfb84c633a2bd1773cf9be27e753f787f1ed641 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期五, 07 二月 2025 11:48:18 +0800
Subject: [PATCH] ll

---
 h5/pages/inventory/detail.vue                 | 1024 +++++++++++++++++++++++++++++---------------------------
 h5/pages/polling/empty.vue                    |   15 
 admin/src/views/stock/components/AssetSel.vue |   16 
 h5/pages/workOrder/wait.vue                   |    6 
 admin/src/views/stock/out.vue                 |    2 
 h5/pages/login.vue                            |    4 
 admin/src/api/store/index.js                  |    3 
 7 files changed, 551 insertions(+), 519 deletions(-)

diff --git a/admin/src/api/store/index.js b/admin/src/api/store/index.js
index bcd9b21..0b2aa17 100644
--- a/admin/src/api/store/index.js
+++ b/admin/src/api/store/index.js
@@ -7,7 +7,8 @@
 }
 export function ywOutinboundEx (data) {
   return request.post('/visitsAdmin/cloudService/business/ywOutinbound/exportExcel', data, {
-    trim: true
+    trim: true,
+    download: true
   })
 }
 export function ywOutinboundDetail (id) {
diff --git a/admin/src/views/stock/components/AssetSel.vue b/admin/src/views/stock/components/AssetSel.vue
index d4bb919..f06fbda 100644
--- a/admin/src/views/stock/components/AssetSel.vue
+++ b/admin/src/views/stock/components/AssetSel.vue
@@ -21,14 +21,14 @@
     </el-form>
     <!--  -->
     <el-table @selection-change="handleSelectionChange" :data="list" stripe>
-      <el-table-column type="selection"  width="55" />
+      <el-table-column type="selection" width="55" />
       <el-table-column prop="code" label="鐗╂枡缂栫爜" min-width="100px"></el-table-column>
       <el-table-column prop="name" label="鐗╂枡鍚嶇О" min-width="80px"></el-table-column>
       <el-table-column prop="qrcode" label="鏉$爜" min-width="100px"></el-table-column>
       <el-table-column prop="brand" label="鍝佺墝" min-width="80px"></el-table-column>
       <el-table-column prop="attr" label="瑙勬牸鍨嬪彿" min-width="80px"></el-table-column>
       <el-table-column prop="unitName" label="鍗曚綅" min-width="80px"></el-table-column>
-      <el-table-column prop="maxStock" label="搴撳瓨" min-width="80px"></el-table-column>
+      <el-table-column v-if="isOut" prop="maxStock" label="搴撳瓨" min-width="80px"></el-table-column>
     </el-table>
     <Pagination class="mt10" @size-change="handleSizeChange" @current-change="getList" :pagination="pagination">
     </Pagination>
@@ -82,19 +82,19 @@
     getList(page) {
       const { pagination, searchForm, isOut, warehouseId } = this
       this.listLoading = true
-      if(page){pagination.page = page}
-      console.log('isOut', isOut);
-      
+      if (page) { pagination.page = page }
+      console.log('isOut', isOut)
+
       let fn = isOut ? ywStockPage : fetchList
       fn({
         capacity: pagination.pageSize,
         page: pagination.page,
-        model: {...searchForm,status: 0, warehouseId}
+        model: { ...searchForm, status: 0, warehouseId }
       }).then((res) => {
         this.listLoading = false
         this.list = res.records
         this.pagination.total = res.total || 0
-        if(isOut){
+        if (isOut) {
           this.list.forEach(item => {
             item.brand = item.materialBrand
             item.attr = item.materialAttr
@@ -123,7 +123,7 @@
       if (e && e.length == 2) {
         this.$set(this.searchForm, 'cateId', e[1])
         this.$set(this.searchForm, 'parentCateId', '')
-      }else if((e && e.length == 1)){
+      } else if ((e && e.length == 1)) {
         this.$set(this.searchForm, 'parentCateId', e[0])
         this.$set(this.searchForm, 'cateId', '')
       } else {
diff --git a/admin/src/views/stock/out.vue b/admin/src/views/stock/out.vue
index f181d40..aee91e5 100644
--- a/admin/src/views/stock/out.vue
+++ b/admin/src/views/stock/out.vue
@@ -40,7 +40,7 @@
 import dayjs from 'dayjs'
 import duration from 'dayjs/plugin/duration'
 dayjs.extend(duration)
-import { ywOutinboundPage } from '@/api'
+import { ywOutinboundPage, ywOutinboundEx } from '@/api'
 import { fetchList as getStoreList } from '@/api/ywWarehouse'
 import { StoreTypeOps, rules } from './components/config'
 export default {
diff --git a/h5/pages/inventory/detail.vue b/h5/pages/inventory/detail.vue
index 29a92e6..268f979 100644
--- a/h5/pages/inventory/detail.vue
+++ b/h5/pages/inventory/detail.vue
@@ -32,7 +32,7 @@
 						<view class="line">瑙勬牸鍨嬪彿锛歿{ item.materialAttr }}</view>
 						<view class="line" v-if="item.status == 0">
 							<view class="">璐﹂潰鏁伴噺锛歿{ item.stock }}{{ item.materialUnitName }}</view>
-							<view @click.stop="openEheck(item)" class="btn">鎵ц鐩樼偣</view>
+							<view v-if="info.status == 1" @click.stop="openEheck(item)" class="btn">鎵ц鐩樼偣</view>
 						</view>
 						<view class="static" v-if="item.status == 1">
 							<view class="ite">
@@ -81,13 +81,15 @@
 						<view class="line">
 							<view class="la">鐩樼偣鏁伴噺锛�</view>
 							<view class="val">
-								<view class="wrap">
-									<template v-if="!modalForm.handleType">
-										<image v-if="!modalForm.actStock" src="@/static/side/btn_jian_grey@2x.png" mode=""></image>
-										<image v-else @click="changeAct(-1)" src="@/static/side/btn_jian@3x.png" mode=""></image>
+								<view class="wrap">
+									<template v-if="!modalForm.handleType">
+										<image v-if="!modalForm.actStock" src="@/static/side/btn_jian_grey@2x.png" mode=""></image>
+										<image v-else @click="changeAct(-1)" src="@/static/side/btn_jian@3x.png" mode=""></image>
 									</template>
-									<input :disabled="Boolean(modalForm.handleType && modalForm.handleType == 'detail')" type="digit" v-model="modalForm.actStock"></input>
-									<image v-if="!modalForm.handleType" @click="changeAct(1)" src="@/static/side/btn_jia@3x.png" mode=""></image>
+									<input :disabled="Boolean(modalForm.handleType && modalForm.handleType == 'detail')" type="digit"
+										v-model="modalForm.actStock"></input>
+									<image v-if="!modalForm.handleType" @click="changeAct(1)" src="@/static/side/btn_jia@3x.png" mode="">
+									</image>
 								</view>
 								<view class="unit">{{ modalForm.materialUnitName }}</view>
 							</view>
@@ -95,8 +97,9 @@
 					</view>
 					<view class="remark">
 						<view class="la">澶囨敞锛�</view>
-						<textarea v-model="modalForm.remark" :disabled="Boolean(modalForm.handleType && modalForm.handleType == 'detail')" placeholder="璇峰~鍐欏娉�" :maxlength="-1" placeholder-class="placeholder9"
-							cols="30" rows="10"></textarea>
+						<textarea v-model="modalForm.remark"
+							:disabled="Boolean(modalForm.handleType && modalForm.handleType == 'detail')" placeholder="璇峰~鍐欏娉�"
+							:maxlength="-1" placeholder-class="placeholder9" cols="30" rows="10"></textarea>
 					</view>
 					<view v-if="!modalForm.handleType" class="btns">
 						<view class="btn" @click="showModal = false">鍙栨秷</view>
@@ -127,557 +130,574 @@
 </template>
 
 <script>
-import {
-	ywStocktakingDetail,
-	getYwStocktakingRecord,
-	takingDataOpen,
-	ywStocktaFinishById
-} from '@/api'
-import {
-	Html5Qrcode
-} from 'html5-qrcode'
-export default {
-	data() {
-		return {
-			param: {},
-			info: {},
-			id: '',
-			activeTab: 0,
+	import {
+		ywStocktakingDetail,
+		getYwStocktakingRecord,
+		takingDataOpen,
+		ywStocktaFinishById
+	} from '@/api'
+	import {
+		Html5Qrcode
+	} from 'html5-qrcode'
+	export default {
+		data() {
+			return {
+				param: {},
+				info: {},
+				id: '',
+				activeTab: 0,
 
-			list: [],
-			page: 0,
-			total: 0,
+				list: [],
+				page: 0,
+				total: 0,
 
-			showModal: false,
-			showTip: false,
-			modalForm: {},
+				showModal: false,
+				showTip: false,
+				modalForm: {},
 
-			html5Qrcode: null,
-			isScaning: false,
+				html5Qrcode: null,
+				isScaning: false,
 
-		}
-	},
-	onLoad(op) {
-		this.id = op.id
-		this.getDetail()
-		this.getList()
-	},
-	methods: {
-		itemClick(item) {
-			if(item.status == 1){
-				this.showItem(item)
-			}
-		},
-		showItem(item){
-			this.showModal = true
-			this.modalForm = {
-				...item,
-				handleType: this.info.status != 1 ? 'detail' : ''
-			}
-			console.log('modalForm', this.modalForm);
-		},
-		getDetail() {
-			const {
-				id
-			} = this
-			ywStocktakingDetail(id).then(res => {
-				this.info = res.data
-
-			})
-		},
-		handleQuery(str) {
-			this.list = []
-			this.page = 1
-			this.getList(str)
-		},
-		getList(str) {
-			const {
-				page,
-				activeTab,
-				id,
-				param
-			} = this
-			getYwStocktakingRecord({
-				capacity: 20,
-				page,
-				model: {
-					status: str || activeTab,
-					stocktakingId: id,
-					...param
-				}
-			}).then(res => {
-				this.list = [...this.list, ...res.data.records]
-				this.total = res.data.total
-				if (this.param.materialQrcode && this.list.length == 1) {
-					this.openEheck(this.list[0])
-					this.$set(this.param, 'materialQrcode', null)
-				}
-			})
-		},
-		scrolltolower() {
-			const {
-				total,
-				list
-			} = this
-			if (list.length < total) {
-				this.page = this.page + 1
-				this.getList()
-			} else {
-				this.showToast('鏆傛棤鏇村鏁版嵁')
 			}
 		},
-		openEheck(item) {
-			this.modalForm = {
-				...item
-			}
-			this.showModal = true
-		},
-		onSubmit() {
-			const {
-				modalForm
-			} = this
-			if (!modalForm.actStock) return this.showToast('璇疯緭鍏ユ纭殑鐩樼偣鏁伴噺')
-			takingDataOpen({
-				...modalForm
-			}).then(res => {
-				if (res.code == 200) {
-					this.showToast('鎻愪氦鎴愬姛')
-					this.handleQuery()
-					this.getDetail()
-					this.showModal = false
-				}
-			})
-		},
-		changeAct(val) {
-			const actStock = this.modalForm.actStock || 0
-			this.$set(this.modalForm, 'actStock', actStock + val)
-		},
-		tabsClick(val) {
-			this.activeTab = val
-			this.page = 0
-			this.list = []
+		onLoad(op) {
+			this.id = op.id
+			this.getDetail()
 			this.getList()
 		},
-		tipSub() {
-			const { info } = this
-			ywStocktaFinishById(info.id).then(res => {
-				this.showTip = false
-				uni.navigateBack()
-			})
-
-		},
-		openQrcode() {
-			this.isScaning = true
-			Html5Qrcode.getCameras().then((devices) => {
-				if (devices && devices.length) {
-					this.html5Qrcode = new Html5Qrcode('reader')
-					this.html5Qrcode.start({
-						facingMode: 'environment'
-					}, {
-						focusMode: 'continuous', //璁剧疆杩炵画鑱氱劍妯″紡
-						fps: 5, //璁剧疆鎵爜璇嗗埆閫熷害
-						qrbox: 280 //璁剧疆浜岀淮鐮佹壂鎻忔澶у皬
-					},
-						(decodeText, decodeResult) => {
-							if (decodeText) { //杩欓噷decodeText灏辨槸閫氳繃鎵弿浜岀淮鐮佸緱鍒扮殑鍐呭
-								this.stopScan()
-								this.$set(this.param, 'materialQrcode', decodeText)
-								this.handleQuery('null')
-							}
-						},
-						(err) => {
-							// console.log(err);  //閿欒淇℃伅
-						}
-					)
+		methods: {
+			itemClick(item) {
+				if (item.status == 1) {
+					this.showItem(item)
 				}
-			})
-		},
+			},
+			showItem(item) {
+				this.showModal = true
+				this.modalForm = {
+					...item,
+					handleType: this.info.status != 1 ? 'detail' : ''
+				}
+				console.log('modalForm', this.modalForm);
+			},
+			getDetail() {
+				const {
+					id
+				} = this
+				ywStocktakingDetail(id).then(res => {
+					this.info = res.data
 
-		stopScan() {
-			console.log('鍋滄鎵爜')
-			this.isScaning = false
-			if (this.html5Qrcode) {
-				this.html5Qrcode.stop()
+				})
+			},
+			handleQuery() {
+				this.list = []
+				this.page = 1
+				this.getList()
+			},
+			getList() {
+				const {
+					page,
+					activeTab,
+					id,
+					param
+				} = this
+				getYwStocktakingRecord({
+					capacity: 20,
+					page,
+					model: {
+						status: activeTab,
+						stocktakingId: id,
+						...param
+					}
+				}).then(res => {
+					this.list = [...this.list, ...res.data.records || []]
+					this.total = res.data.total
+					if (this.param.materialQrcode && this.total == 1) {
+						this.openEheck(this.list[0])
+						this.param = {}
+					} else if (this.param.materialQrcode && this.total == 0) {
+						this.param = {}
+						uni.showModal({
+							content: '鏈尮閰嶅埌鐗╂枡锛岃閲嶆柊鎵爜',
+							showCancel: false,
+							success: (res) => {
+								if (res.confirm) {
+									this.getList()
+								}
+							}
+						});
+					}
+
+				})
+			},
+			scrolltolower() {
+				const {
+					total,
+					list
+				} = this
+				if (list.length < total) {
+					this.page = this.page + 1
+					this.getList()
+				} else {
+					this.showToast('鏆傛棤鏇村鏁版嵁')
+				}
+			},
+			openEheck(item) {
+				this.modalForm = {
+					...item
+				}
+				this.showModal = true
+			},
+			onSubmit() {
+				const {
+					modalForm
+				} = this
+				if (!modalForm.actStock) return this.showToast('璇疯緭鍏ユ纭殑鐩樼偣鏁伴噺')
+				takingDataOpen({
+					...modalForm
+				}).then(res => {
+					if (res.code == 200) {
+						this.showToast('鎻愪氦鎴愬姛')
+						this.handleQuery()
+						this.getDetail()
+						this.showModal = false
+					}
+				})
+			},
+			changeAct(val) {
+				const actStock = this.modalForm.actStock || 0
+				this.$set(this.modalForm, 'actStock', actStock + val)
+			},
+			tabsClick(val) {
+				this.activeTab = val
+				this.page = 0
+				this.list = []
+				this.getList()
+			},
+			tipSub() {
+				const {
+					info
+				} = this
+				ywStocktaFinishById(info.id).then(res => {
+					this.showTip = false
+					uni.navigateBack()
+				})
+
+			},
+			openQrcode() {
+				this.isScaning = true
+				Html5Qrcode.getCameras().then((devices) => {
+					if (devices && devices.length) {
+						this.html5Qrcode = new Html5Qrcode('reader')
+						this.html5Qrcode.start({
+								facingMode: 'environment'
+							}, {
+								focusMode: 'continuous', //璁剧疆杩炵画鑱氱劍妯″紡
+								fps: 5, //璁剧疆鎵爜璇嗗埆閫熷害
+								qrbox: 280 //璁剧疆浜岀淮鐮佹壂鎻忔澶у皬
+							},
+							(decodeText, decodeResult) => {
+								if (decodeText) { //杩欓噷decodeText灏辨槸閫氳繃鎵弿浜岀淮鐮佸緱鍒扮殑鍐呭
+									this.stopScan()
+									this.$set(this.param, 'materialQrcode', decodeText)
+									this.handleQuery()
+								}
+							},
+							(err) => {
+								// console.log(err);  //閿欒淇℃伅
+							}
+						)
+					}
+				})
+			},
+
+			stopScan() {
+				console.log('鍋滄鎵爜')
+				this.isScaning = false
+				if (this.html5Qrcode) {
+					this.html5Qrcode.stop()
+				}
 			}
 		}
 	}
-}
 </script>
 
 <style lang="scss">
-.main_app {
-	padding: 0 30rpx;
-	overflow: hidden;
-}
+	.main_app {
+		padding: 0 30rpx;
+		overflow: hidden;
+	}
 
-.tabs {
-	display: flex;
-	width: 750rpx;
-	margin: 12rpx -30rpx 20rpx;
-	border-bottom: 1rpx solid #E5E5E5;
-
-	.tab {
-		font-size: 30rpx;
-		color: #666666;
-		flex: 1;
+	.tabs {
 		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: flex-end;
-		height: 72rpx;
+		width: 750rpx;
+		margin: 12rpx -30rpx 20rpx;
+		border-bottom: 1rpx solid #E5E5E5;
 
-		.name {
+		.tab {
+			font-size: 30rpx;
+			color: #666666;
+			flex: 1;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			justify-content: flex-end;
+			height: 72rpx;
+
+			.name {
+				display: flex;
+				align-items: center;
+			}
+
+			.border {
+				width: 54rpx;
+				height: 6rpx;
+				background-color: #fff;
+				border-radius: 3rpx;
+				margin-top: 12rpx;
+			}
+		}
+
+		.active {
+			font-weight: 600;
+			font-size: 32rpx;
+			color: #222222;
+
+			.border {
+				background-color: $primaryColor;
+			}
+
+		}
+
+	}
+
+	.head_wrap {
+		display: flex;
+		align-items: center;
+		margin-bottom: 36rpx;
+
+		.search_wrap {
 			display: flex;
 			align-items: center;
+			width: 100%;
+			height: 76rpx;
+			background: #F7F7F7;
+			border-radius: 38rpx;
+			padding-left: 30rpx;
+
+			input {
+				flex: 1;
+			}
+
+			.search {
+				width: 28rpx;
+				height: 28rpx;
+			}
 		}
 
-		.border {
-			width: 54rpx;
-			height: 6rpx;
+	}
+
+	.scroll_Y {
+		height: calc(100vh - 350rpx);
+	}
+
+	.list {
+
+		.item {
+			border-bottom: 1rpx solid #E5E5E5;
+			padding-bottom: 24rpx;
+			margin-bottom: 16rpx;
+
+			.title {
+				font-weight: 600;
+				font-size: 34rpx;
+				color: #222222;
+				margin-bottom: 10rpx;
+				flex: 1;
+			}
+
+			.head {
+				display: flex;
+				// align-items: center;
+				justify-content: space-between;
+				color: #666666;
+
+				.status {
+					width: 76rpx;
+					text-align: right;
+					padding-top: 3rpx;
+				}
+			}
+
+			.line {
+				height: 60rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				color: #666666;
+
+				.btn {
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					height: 60rpx;
+					padding: 0 20rpx;
+					background: #0068FF;
+					box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(0, 104, 255, 0.3);
+					border-radius: 30rpx;
+					font-size: 26rpx;
+					color: #FFFFFF;
+				}
+			}
+
+			.static {
+				display: flex;
+				height: 84rpx;
+				background: #F7F7F7;
+				font-size: 30rpx;
+				margin-top: 12rpx;
+				padding: 16rpx 0;
+
+				.spi {
+					border: 1rpx solid #E5E5E5;
+				}
+
+				.ite {
+					flex: 1;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+
+					.val {
+						font-weight: 500;
+					}
+				}
+			}
+		}
+	}
+
+	.footer_btn {
+		padding: 20rpx 40rpx 0;
+		border-top: 1px solid #e5e5e5;
+		width: 750rpx;
+		margin: 0 -30rpx;
+
+		.sweep {
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			font-size: 32rpx;
+			font-weight: 500;
+			width: 670rpx;
+			height: 88rpx;
+			background: #0068FF;
+			box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0, 104, 255, 0.3);
+			border-radius: 44rpx;
+			color: #FFFFFF;
+		}
+
+		.sub_result {
 			background-color: #fff;
-			border-radius: 3rpx;
-			margin-top: 12rpx;
+			color: #FF0000;
+			border: 1rpx solid #FF0000;
+			box-shadow: none
+		}
+
+		image {
+			width: 32rpx;
+			height: 32rpx;
+			margin-right: 6rpx;
 		}
 	}
 
-	.active {
-		font-weight: 600;
-		font-size: 32rpx;
-		color: #222222;
+	.modal_wrap {
+		padding: 36rpx 30rpx;
 
-		.border {
-			background-color: $primaryColor;
+		.modal_title {
+			font-weight: 500;
+			font-size: 32rpx;
+			color: #222222;
+			margin-bottom: 40rpx;
+			text-align: center;
 		}
-
-	}
-
-}
-
-.head_wrap {
-	display: flex;
-	align-items: center;
-	margin-bottom: 36rpx;
-
-	.search_wrap {
-		display: flex;
-		align-items: center;
-		width: 100%;
-		height: 76rpx;
-		background: #F7F7F7;
-		border-radius: 38rpx;
-		padding-left: 30rpx;
-
-		input {
-			flex: 1;
-		}
-
-		.search {
-			width: 28rpx;
-			height: 28rpx;
-		}
-	}
-
-}
-
-.scroll_Y {
-	height: calc(100vh - 350rpx);
-}
-
-.list {
-
-	.item {
-		border-bottom: 1rpx solid #E5E5E5;
-		padding-bottom: 24rpx;
-		margin-bottom: 16rpx;
 
 		.title {
 			font-weight: 600;
 			font-size: 34rpx;
 			color: #222222;
-			margin-bottom: 10rpx;
-			flex: 1;
 		}
-		.head{
-			display: flex;
-			// align-items: center;
-			justify-content: space-between;
-			color: #666666;
-			.status{
-				width: 76rpx;
-				text-align: right;
-				padding-top: 3rpx;
-			}
-		}
-		.line {
-			height: 60rpx;
+
+		.item {
+			font-size: 28rpx;
+			color: #666666;
+			height: 56rpx;
 			display: flex;
 			align-items: center;
-			justify-content: space-between;
-			color: #666666;
-			
-			.btn {
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				height: 60rpx;
-				padding: 0 20rpx;
-				background: #0068FF;
-				box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(0, 104, 255, 0.3);
-				border-radius: 30rpx;
-				font-size: 26rpx;
-				color: #FFFFFF;
-			}
 		}
 
-		.static {
-			display: flex;
-			height: 84rpx;
-			background: #F7F7F7;
-			font-size: 30rpx;
-			margin-top: 12rpx;
-			padding: 16rpx 0;
+		.content {
+			border-top: 1rpx solid #E5E5E5;
+			margin-top: 16rpx;
 
-			.spi {
-				border: 1rpx solid #E5E5E5;
-			}
-
-			.ite {
-				flex: 1;
+			.line {
+				height: 84rpx;
 				display: flex;
 				align-items: center;
-				justify-content: center;
+				justify-content: space-between;
+
+				.la {
+					font-weight: 500;
+					font-size: 32rpx;
+					color: #222222;
+				}
 
 				.val {
-					font-weight: 500;
-				}
-			}
-		}
-	}
-}
-
-.footer_btn {
-	padding: 20rpx 40rpx 0;
-	border-top: 1px solid #e5e5e5;
-	width: 750rpx;
-	margin: 0 -30rpx;
-
-	.sweep {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		font-size: 32rpx;
-		font-weight: 500;
-		width: 670rpx;
-		height: 88rpx;
-		background: #0068FF;
-		box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0, 104, 255, 0.3);
-		border-radius: 44rpx;
-		color: #FFFFFF;
-	}
-
-	.sub_result {
-		background-color: #fff;
-		color: #FF0000;
-		border: 1rpx solid #FF0000;
-		box-shadow: none
-	}
-
-	image {
-		width: 32rpx;
-		height: 32rpx;
-		margin-right: 6rpx;
-	}
-}
-
-.modal_wrap {
-	padding: 36rpx 30rpx;
-
-	.modal_title {
-		font-weight: 500;
-		font-size: 32rpx;
-		color: #222222;
-		margin-bottom: 40rpx;
-		text-align: center;
-	}
-
-	.title {
-		font-weight: 600;
-		font-size: 34rpx;
-		color: #222222;
-	}
-
-	.item {
-		font-size: 28rpx;
-		color: #666666;
-		height: 56rpx;
-		display: flex;
-		align-items: center;
-	}
-
-	.content {
-		border-top: 1rpx solid #E5E5E5;
-		margin-top: 16rpx;
-
-		.line {
-			height: 84rpx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-
-			.la {
-				font-weight: 500;
-				font-size: 32rpx;
-				color: #222222;
-			}
-
-			.val {
-				display: flex;
-				justify-content: flex-end;
-				align-items: center;
-				flex: 1;
-
-				.wrap {
 					display: flex;
+					justify-content: flex-end;
 					align-items: center;
+					flex: 1;
 
-					input {
-						width: 120rpx;
-						height: 72rpx;
-						border-radius: 8rpx;
-						border: 2rpx solid #0068FF;
-						margin: 0 16rpx;
-						padding: 0 10rpx;
-						text-align: center;
+					.wrap {
+						display: flex;
+						align-items: center;
+
+						input {
+							width: 120rpx;
+							height: 72rpx;
+							border-radius: 8rpx;
+							border: 2rpx solid #0068FF;
+							margin: 0 16rpx;
+							padding: 0 10rpx;
+							text-align: center;
+						}
+					}
+
+					.unit {
+						font-size: 30rpx;
+						color: #666666;
+						margin-left: 20rpx;
 					}
 				}
 
-				.unit {
-					font-size: 30rpx;
-					color: #666666;
-					margin-left: 20rpx;
+				image {
+					width: 72rpx;
+					height: 72rpx;
+				}
+			}
+		}
+
+		.remark {
+			margin-top: 16rpx;
+
+			.la {
+				font-size: 30rpx;
+				color: #222222;
+				margin-bottom: 16rpx;
+			}
+
+			textarea {
+				width: 690rpx;
+				height: 240rpx;
+				background: #F7F7F7;
+				border-radius: 12rpx;
+				padding: 10rpx 20rpx;
+			}
+		}
+
+		.btns {
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			margin-top: 80rpx;
+
+			.btn {
+				width: 336rpx;
+				height: 88rpx;
+				border-radius: 44rpx;
+				border: 2rpx solid $primaryColor;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				font-size: 32rpx;
+				color: $primaryColor;
+			}
+
+			.sub {
+				background-color: $primaryColor;
+				color: #fff;
+			}
+		}
+	}
+
+
+	.modal_t {
+		width: 520rpx;
+		text-align: center;
+		display: flex;
+		flex-direction: column;
+
+		.h1 {
+			height: 86rpx;
+			font-weight: 500;
+			font-size: 32rpx;
+			color: #333333;
+			display: flex;
+			align-items: flex-end;
+			justify-content: center;
+		}
+
+		.content {
+			flex: 1;
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+			align-items: center;
+			padding: 30rpx 0;
+		}
+
+		.btns {
+			height: 102rpx;
+			display: flex;
+			align-items: center;
+			border-top: 1rpx solid #E5E5E5;
+
+			.btn {
+				height: 102rpx;
+				flex: 1;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				border-right: 1rpx solid #E5E5E5;
+				font-weight: 400;
+				font-size: 32rpx;
+				color: #999999;
+
+				&:nth-last-child(1) {
+					border-right: none;
 				}
 			}
 
-			image {
-				width: 72rpx;
-				height: 72rpx;
+			.sub {
+				color: $primaryColor;
 			}
 		}
 	}
 
-	.remark {
-		margin-top: 16rpx;
-
-		.la {
-			font-size: 30rpx;
-			color: #222222;
-			margin-bottom: 16rpx;
-		}
-
-		textarea {
-			width: 690rpx;
-			height: 240rpx;
-			background: #F7F7F7;
-			border-radius: 12rpx;
-			padding: 10rpx 20rpx;
-		}
+	.reader-box {
+		position: fixed;
+		top: 0;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		background-color: rgba(0, 0, 0, 0.5);
 	}
 
-	.btns {
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-		margin-top: 80rpx;
-
-		.btn {
-			width: 336rpx;
-			height: 88rpx;
-			border-radius: 44rpx;
-			border: 2rpx solid $primaryColor;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			font-size: 32rpx;
-			color: $primaryColor;
-		}
-
-		.sub {
-			background-color: $primaryColor;
-			color: #fff;
-		}
+	.reader {
+		width: 100%;
+		// width: 540rpx;
+		// height: 540rpx;
+		position: absolute;
+		top: 50%;
+		left: 50%;
+		transform: translate(-50%, -50%);
 	}
-}
-
-
-.modal_t {
-	width: 520rpx;
-	text-align: center;
-	display: flex;
-	flex-direction: column;
-
-	.h1 {
-		height: 86rpx;
-		font-weight: 500;
-		font-size: 32rpx;
-		color: #333333;
-		display: flex;
-		align-items: flex-end;
-		justify-content: center;
-	}
-
-	.content {
-		flex: 1;
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		padding: 30rpx 0;
-	}
-
-	.btns {
-		height: 102rpx;
-		display: flex;
-		align-items: center;
-		border-top: 1rpx solid #E5E5E5;
-
-		.btn {
-			height: 102rpx;
-			flex: 1;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			border-right: 1rpx solid #E5E5E5;
-			font-weight: 400;
-			font-size: 32rpx;
-			color: #999999;
-
-			&:nth-last-child(1) {
-				border-right: none;
-			}
-		}
-
-		.sub {
-			color: $primaryColor;
-		}
-	}
-}
-
-.reader-box {
-	position: fixed;
-	top: 0;
-	bottom: 0;
-	left: 0;
-	right: 0;
-	background-color: rgba(0, 0, 0, 0.5);
-}
-
-.reader {
-	width: 100%;
-	// width: 540rpx;
-	// height: 540rpx;
-	position: absolute;
-	top: 50%;
-	left: 50%;
-	transform: translate(-50%, -50%);
-}
 </style>
\ No newline at end of file
diff --git a/h5/pages/login.vue b/h5/pages/login.vue
index 2a7e31a..134d69c 100644
--- a/h5/pages/login.vue
+++ b/h5/pages/login.vue
@@ -101,7 +101,7 @@
 										})
 									} else {
 										uni.redirectTo({
-											url: "/pages/polling/empty"
+											url: "/pages/polling/empty?message=" + res.message
 										})
 									}
 								})
@@ -164,7 +164,7 @@
 										})
 									} else {
 										uni.redirectTo({
-											url: "/pages/polling/empty"
+											url: "/pages/polling/empty?message=" + res.message
 										})
 									}
 								})
diff --git a/h5/pages/polling/empty.vue b/h5/pages/polling/empty.vue
index 00181a5..9b78f4f 100644
--- a/h5/pages/polling/empty.vue
+++ b/h5/pages/polling/empty.vue
@@ -1,6 +1,7 @@
 <template>
 	<view class="main_app">
 		<image class="logo" src="@/static/side/default_empty@2x.png" mode=""></image>
+		<view class="message">{{message}}</view>
 		<view class="btn" @click="backHome">杩斿洖涓婚〉</view>
 	</view>
 </template>
@@ -9,8 +10,11 @@
 	export default {
 		data() {
 			return {
-				
-			};
+				message: ''
+			};	
+		},
+		onLoad(op) {
+			this.message = op.message || ''
 		},
 		methods: {
 			backHome(){
@@ -29,6 +33,13 @@
 		height: 228rpx;
 		margin: 60% auto 0;
 	}
+	.message{
+		font-weight: 500;
+		font-size: 30rpx;
+		color: #222222;
+		margin-top: 20rpx;
+		text-align: center;
+	}
 	.btn{
 		position: fixed;
 		bottom: 64rpx;
diff --git a/h5/pages/workOrder/wait.vue b/h5/pages/workOrder/wait.vue
index d3fd3e1..6d0ee7c 100644
--- a/h5/pages/workOrder/wait.vue
+++ b/h5/pages/workOrder/wait.vue
@@ -28,7 +28,7 @@
 							<view v-if="item.status == 0 && item.param3 == 0 && (item.type == 0 || item.type == 1)" class="status">鏈紑濮�
 							</view>
 							<view v-if="item.status == 0 && item.param3 == 1 && (item.type == 0 || item.type == 1)"
-								class="status green">杩涜涓�</view>
+								class="status green">{{ item.type == 0 ? '鐩樼偣涓�' : '杩涜涓�' }}</view>
 							<view v-if="item.status == 1 && item.type == 2" class="status gray">宸插鐞�</view>
 							<view v-if="item.status == 1 && (item.type == 0 || item.type == 1)" class="status gray">宸插畬鎴�</view>
 						</view>
@@ -37,7 +37,7 @@
 							<view class="text">鎵ц鏃堕棿锛歿{item.obj.key3}}</view>
 							<view class="text">
 								<view class="">宸℃璐熻矗浜猴細{{item.obj.key4}}</view>
-								<view class="btn" @click.stop="openSc(item)">
+								<view v-if="queryStatus == 0" class="btn" @click.stop="openSc(item)">
 									<image src="@/static/side/ic_saoma@2x.png" mode=""></image>
 									<view v-if="item.status == 0" class="">鎵爜宸℃</view>
 								</view>
@@ -249,7 +249,7 @@
 		.tabs {
 			display: flex;
 			width: 750rpx;
-			margin: 12rpx 0rpx 0;
+			margin: 0rpx 0rpx 0;
 			border-bottom: 1rpx solid #E5E5E5;
 			background-color: #fff;
 

--
Gitblit v1.9.3