浏览代码

Merge branch 'master' of http://110.41.163.243:9980/kd-aiot/aiot-app

ysy 1 年之前
父节点
当前提交
b99c536cf7

+ 1 - 1
pages/maintenanceWorkorder/order/OrderTask.vue

@@ -22,7 +22,7 @@
 						</view>
 						<view class="item_box rx-bc">
 							<view class="item_one perce50 rx-sc">
-								<view class="lable">设备编码:</view>
+								<view class="lable">计划单号:</view>
 								<view>{{item.planCode}}</view>
 							</view>
 						</view>

+ 2 - 1
pages/warehouse/components/requisitionList.vue

@@ -172,6 +172,7 @@
 				getApplystoragedetail({
 					applyId: this.curItem.id
 				}).then(async res => {
+					console.log(this.type, 'tttttttttttttttttttttttttttttttttttttttttttttt')
 					if (this.type == 2) {
 						// 出库
 						let data = await getHierarchyFifo({
@@ -184,7 +185,7 @@
 							})
 						})
 						if (data?.length > 0) {
-							uni.$emit('requisitionSelect', data, {
+							uni.$emit('requisitionSelectC', data, {
 								sourceBizNo: this.curItem.code,
 								bizType: this.curItem.sourceType,
 								assetType: res.map(item => item.rootCategoryLevelId).join(',')

+ 119 - 62
pages/warehouse/enterHouse/addStock.vue

@@ -14,21 +14,26 @@
 
 		<u-form labelPosition="left" :model="formData" :rules="rules" ref="formRef" labelWidth="240" labelAlign="right"
 			class="baseForm">
-			<u-form-item label="物品类型" class="required-form" borderBottom prop="assetType">
+			<u-form-item label="物品类型" class="required-form" borderBottom prop="assetTypeName">
 				<view :style="{ color: assetTypeName ? 'black' : '#c0c4cc' }" class="assetType_box" @click="openPicker">
 					{{ assetTypeName ? assetTypeName : '请选择产品类型' }}
 				</view>
 			</u-form-item>
-			<u-form-item label="入库场景" class="required-form" prop="bizType" borderBottom>
-				<uni-data-select v-model="formData.bizType" :localdata="sceneState"></uni-data-select>
-				<!-- <picker :disabled="!!(productList && productList.length)" @change="e => handlePicker(e, sceneState, 'bizType')" :value="pickerIndex" :range="sceneState" range-key="text">
-					<u-input :value="sceneStateFilter(formData.bizType)" :disableColor="!!(productList && productList.length) ? '#F5F7FA' : '#fff'" placeholder="请选择" disabled type="select" />
-				</picker>
-				<u-icon slot="right" name="arrow-right"></u-icon> -->
-			</u-form-item>
 			<u-form-item label="来源单据" prop="documentSource" borderBottom>
 				<u-input type="text" placeholder="请输入" v-model="formData.sourceBizNo" @click.native="goToRequisition" />
 			</u-form-item>
+			<u-form-item label="入库类型" class="required-form" prop="bizType" borderBottom>
+				<uni-data-select v-model="formData.bizType" :localdata="sceneState"
+					@change="changeType"></uni-data-select>
+				<!-- <picker :disabled="!!(productList && productList.length)"
+					@change="handlePicker(e, sceneState, 'bizType')" :value="pickerIndex" :range="sceneState"
+					range-key="text">
+					<u-input :value="sceneStateFilter(formData.bizType)"
+						:disableColor="!!(productList && productList.length) ? '#F5F7FA' : '#fff'" placeholder="请选择"
+						disabled type="select" />
+				</picker> -->
+				<!-- <u-icon slot="right" name="arrow-right"></u-icon> -->
+			</u-form-item>
 			<u-form-item label="入库时间" prop="storageTime" borderBottom>
 				<view class="assetType_box" @click="timeShow = true">{{ storageTime ? formatter(storageTime) : '请选择' }}
 				</view>
@@ -52,7 +57,7 @@
 			<uni-collapse-item :typeOpen="1" title="" name="collapse1" :open="true" :key="detailOpen"
 				:show-animation="true">
 				<template v-slot:title>
-					<view class="detail-box">
+					<view class="detail-box flex_between">
 						<view data-v-41027c34="" class="uni-collapse-item__title-wrap">
 							<view data-v-41027c34=""
 								class="uni-collapse-item__title-box uni-collapse-item__title-box-base">
@@ -67,13 +72,13 @@
 					</view>
 				</template>
 
-				<u-form labelPosition="left" :model="{ productList: productList }" ref="lisrFormRef" labelWidth="120"
+				<u-form labelPosition="left" :model="{ productList: productList }" ref="lisrFormRef" labelWidth="160"
 					:rules="listRules" errorType="none" labelAlign="right" :labelStyle="{
 						fontSize: '28rpx'
 					}">
 					<view class="listContent">
 						<view class="listBox" v-for="(item, index) in productList" :key="index">
-							<view class="listTit">
+							<view class="listTit flex_between">
 								<view class="name">{{ item.categoryName }}</view>
 								<view class="btn">
 									<u-button v-if="item.isSave" type="primary" size="small" :hairline="true" text="编辑"
@@ -97,51 +102,80 @@
 									</u-form-item>
 								</view>
 								<view class="item">
-									<u-form-item label="批次号" :prop="`productList.${index}.batchNo`" required>
-										<u--input :disabled="item.isSave" placeholder="请输入" border="surround"
-											v-model="item.batchNo"></u--input>
+									<u-form-item label="批次号" :prop="`productList.${index}.batchNo`"
+										class="required-form">
+										<!-- <u--input :disabled="item.isSave" placeholder="请输入" border="surround"
+											v-model="item.batchNo"></u--input> -->
+										<u-input :disabled="item.isSave" placeholder="请输入" style="height: 30px;"
+											v-model="item.batchNo" />
 									</u-form-item>
 								</view>
 								<view class="item">
-									<u-form-item label="数量" :prop="`productList.${index}.packingQuantity`" required>
+									<u-form-item label="数量" :prop="`productList.${index}.packingQuantity`"
+										class="aa required-form">
 										<u--input :disabled="item.isSave" placeholder="请输入" border="surround"
 											v-model="item.packingQuantity"
 											@change="computeNum(item, index, true)"></u--input>
 									</u-form-item>
 								</view>
 								<view class="item">
-									<u-form-item label="包装单位" :prop="`productList.${index}.packingUnit`" required>
-										<u--input :disabled="item.isSave" placeholder="请选择" border="surround"
+									<u-form-item label="包装单位" :prop="`productList.${index}.packingUnit`"
+										class="dd required-form">
+										<!-- <u--input :disabled="item.isSave" placeholder="请选择" border="surround"
 											v-model="item.packingUnit"
-											@click.native="showPackingUnitPicker(item, index)"></u--input>
+											@click.native="showPackingUnitPicker(item, index)"></u--input> -->
+										<view
+											:style="{ color: item.packingUnit ? 'black' : '#c0c4cc',marginLeft:'9px' }"
+											class="assetType_box" :disabled="item.isSave"
+											@click="showPackingUnitPicker(item, index)">
+											{{ item.packingUnit ? item.packingUnit : '请选择' }}
+										</view>
 									</u-form-item>
 								</view>
 								<view class="item">
-									<u-form-item label="仓库" :prop="`productList.${index}.warehouseId`" required>
-										<u--input :disabled="item.isSave" placeholder="请选择" border="surround"
+									<u-form-item label="仓库" :prop="`productList.${index}.warehouseName`"
+										class="dd required-form">
+										<!-- 	<u--input :disabled="item.isSave" placeholder="请选择" border="surround"
 											v-model="item.warehouseName"
-											@click.native="showWarehousePicker(index)"></u--input>
+											@click.native="showWarehousePicker(index)"></u--input> -->
+										<view
+											:style="{ color: item.warehouseName ? 'black' : '#c0c4cc',marginLeft:'9px' }"
+											class="assetType_box" :disabled="item.isSave"
+											@click="showWarehousePicker( index)">
+											{{ item.warehouseName ? item.warehouseName : '请选择' }}
+										</view>
 									</u-form-item>
 								</view>
 								<view class="item w100">
-									<u-form-item label="供应商" :prop="`productList.${index}.supplierName`">
-										<u--input :disabled="item.isSave" placeholder="请选择" border="surround"
+									<u-form-item label="供应商" :prop="`productList.${index}.supplierName`" class="dd">
+										<!-- <u--input :disabled="item.isSave" placeholder="请选择" border="surround"
 											v-model="item.supplierName"
-											@click.native="showSupplierPicker(item, index)"></u--input>
+											@click.native="showSupplierPicker(item, index)"></u--input> -->
+										<view
+											:style="{ color: item.supplierName ? 'black' : '#c0c4cc',marginLeft:'9px' }"
+											class="assetType_box" :disabled="item.isSave"
+											@click="showSupplierPicker(item, index)">
+											{{ item.supplierName ? item.supplierName : '请选择' }}
+										</view>
 									</u-form-item>
 								</view>
-								<view class="item">
-									<u-form-item label="计量数量"
-										prop="measureQuantity">{{ item.measureQuantity }}</u-form-item>
-								</view>
-								<view class="item">
-									<u-form-item label="计量单位" prop="measureUnit">{{ item.measureUnit }}</u-form-item>
-								</view>
-								<view class="item">
-									<u-form-item label="重量" prop="weight">{{ item.weight }}</u-form-item>
+								<view class="flex_between w100">
+									<view class="item">
+										<u-form-item label="计量数量"
+											prop="measureQuantity">{{ item.measureQuantity }}</u-form-item>
+									</view>
+									<view class="item">
+										<u-form-item label="计量单位"
+											prop="measureUnit">{{ item.measureUnit }}</u-form-item>
+									</view>
 								</view>
-								<view class="item">
-									<u-form-item label="重量单位" prop="weightUnit">{{ item.weightUnit }}</u-form-item>
+								<view class="flex_between w100">
+									<view class="item">
+										<u-form-item label="重量" prop="weight">{{ item.weight }}</u-form-item>
+									</view>
+									<view class="item">
+										<u-form-item label="重量单位" prop="weightUnit">{{ item.weightUnit }}</u-form-item>
+									</view>
 								</view>
 								<view class="item">
 									<u-form-item label="是否拆包"
@@ -153,7 +187,8 @@
 								<view class="timeBox">
 									<u-button class="firstBtn" size="small" type="primary" text="选择时间类型"
 										@click="timeTypeShow = true"></u-button>
-									<u-button type="warning" size="small" :text="`批量设置${curDateTypeLabel[curDateType]}`"
+									<u-button type="warning" size="small"
+										:text="`批量设置${curDateType?curDateTypeLabel[curDateType]:''}`"
 										@click="typeTimeClick(index)"></u-button>
 								</view>
 							</view>
@@ -521,10 +556,9 @@
 			})
 			uni.$on('requisitionSelect', async (data, query) => {
 				console.log(data)
-				console.log(query)
 
 				this.formData.sourceBizNo = query.sourceBizNo
-				this.formData.bizType = query.bizType
+				this.formData.bizType = parseInt(query.bizType)
 				this.formData.extInfo.assetType = query.assetType.split(',')
 				let filterArray = this.formData.extInfo.assetType.map(item => {
 					return this.goodsLists.find(ite => ite.id == item).name
@@ -683,7 +717,7 @@
 				this.formData.outInDetailList = this.productList
 				let obj = uni.$u.deepClone(this.formData)
 				// 处理物品类型assetType
-				obj.extInfo.assetType = obj.extInfo.assetType.join(',')
+				obj.extInfo.assetType = obj.extInfo.assetType?.join(',')
 				// 处理仓库id
 				let warehouseId = []
 				let warehouseName = []
@@ -704,7 +738,7 @@
 					obj.isSkip = 0
 				}
 				// obj.isSkip = 1;
-				console.log(obj)
+				console.log(obj, '提交')
 				storage(obj)
 					.then(async res => {
 						console.log('入库成功', res)
@@ -913,6 +947,7 @@
 			},
 			// 生成包装
 			generateWrappers(row, productIndex, packingCodeList) {
+				console.log('row----', row)
 				console.log('是否拆包----', row.isUnpack)
 				console.log('包装规格----', row.packingSpecificationOption)
 				console.log('计量单位----', row.measureUnit)
@@ -924,24 +959,28 @@
 				if (this.formData.bizType == '1') {
 					// 生产入库
 					productionDate = `${obj.year}-${obj.month}-${obj.strDate} ${obj.hour}:${obj.minute}:${obj.second}`
-					this.curDateType = 'productionDate'
+					this.curDateType = productionDate
 				} else if (this.formData.bizType == '2') {
 					// 采购入库
 					purchaseDate = `${obj.year}-${obj.month}-${obj.strDate} ${obj.hour}:${obj.minute}:${obj.second}`
-					this.curDateType = 'purchaseDate'
+					this.curDateType = purchaseDate
 				}
+				console.log(this.curDateType, '----时间')
 				// 判断包装单位和计量单位是否为不拆物料层规格
 				let packingBoolen = !!this.getDict(row.packingUnit).dictValue
 				let measureBoolen = !!this.getDict(row.measureUnit).dictValue
 				let num = row.packingQuantity
 				let filterArr = []
 				// 处理包装单位为KG类的情况
+				console.log('packingBoolen----', packingBoolen)
+				console.log('measureBoolen', measureBoolen)
 				if (packingBoolen) {
 					filterArr = row.packingSpecificationOption.filter(item => {
 						return item.packageUnit == row.packingUnit && item.packageUnit != item.conversionUnit
 					})
 					num = Math.ceil(row.packingQuantity / filterArr[0].packageCell)
 				} else {
+					console.log(row.isUnpack, 'sssssssssss')
 					if (row.isUnpack) {
 						if (measureBoolen) {
 							// 处理包装单位不为KG类,计量单位为KG类的情况
@@ -1378,6 +1417,9 @@
 					// key2: 'value2',
 				})
 			},
+			changeType(e) {
+				this.formData.bizType = e
+			},
 			// 抬头下拉信息保存
 			handlePicker(e, list, idKey, nameKey) {
 				console.log('e?.detail--------------', e)
@@ -1773,25 +1815,44 @@
 <style lang="scss" scoped>
 	.mainBox {
 		padding-bottom: 120rpx;
+	}
 
-		/deep/.required-form .u-form-item__body__left__content__label::before {
-			content: '*';
-			color: red;
-		}
+	/deep/.required-form .u-form-item__body__left__content__label::before {
+		content: '*';
+		color: red;
 	}
 
 	.required-form-text {
 		/deep/ .u-form-item__body__right {
 			overflow: hidden;
+			// background-color: red;
+
 
 			.u-form-item__body__right__content {
 				width: 100%;
 				display: inline-block !important;
-				width: 100%;
 			}
 		}
 	}
 
+	// ::v-deep .listCont .u-input {
+	// 	height: 60rpx !important;
+	// }
+
+	::v-deep .dd .u-form-item__body__right {
+		border: 1px solid #e5e5e5 !important;
+		border-radius: 4px;
+		line-height: 60rpx;
+	}
+
+	.ellipsis {
+		max-width: 100%;
+		overflow: hidden;
+		white-space: nowrap;
+		text-overflow: ellipsis;
+	}
+
+
 	.picList {
 		display: flex;
 		align-items: center;
@@ -1814,7 +1875,7 @@
 		}
 	}
 
-	/deep/.picList .u-image {
+	/deep/ .picList .u-image {
 		margin-right: 10rpx;
 		margin-bottom: 10rpx;
 	}
@@ -1825,8 +1886,6 @@
 
 	.detail-box {
 		position: relative;
-		display: flex;
-		justify-content: space-between;
 		align-items: center;
 
 		/deep/uni-button {
@@ -1885,8 +1944,6 @@
 
 		.listTit {
 			width: 100%;
-			display: flex;
-			justify-content: space-between;
 			align-items: center;
 
 			/deep/uni-button {
@@ -1905,7 +1962,8 @@
 				white-space: nowrap;
 				-o-text-overflow: ellipsis;
 				text-overflow: ellipsis;
-				font-size: 24rpx;
+				font-size: 28rpx;
+				font-weight: bold;
 			}
 
 			.btn {
@@ -2109,22 +2167,16 @@
 
 		.u-input {
 			border: 1px solid rgb(229, 229, 229);
-			height: 15rpx !important;
+			height: 60rpx !important;
+			padding: 0 0 0 9px !important;
 		}
 
 		.item {
-			width: 47%;
+			width: 100%;
 			font-size: 28rpx;
 			margin-bottom: 10rpx;
 			margin-right: 3%;
 
-			// line-height: 45rpx;
-			// overflow: hidden;
-			// white-space: nowrap;
-			// text-overflow: ellipsis;
-			// -o-text-overflow: ellipsis;
-			// color: #000;
-			// display: flex;
 			/deep/.u-form-item__body {
 				padding: 0 !important;
 			}
@@ -2206,4 +2258,9 @@
 	.top-css {
 		border-bottom: 1px solid rgb(207, 204, 204);
 	}
+
+	.flex_between {
+		display: flex;
+		justify-content: space-between;
+	}
 </style>

+ 87 - 34
pages/warehouse/enterHouse/components/scanCodeList.vue

@@ -1,14 +1,17 @@
 <template>
 	<view class="mainBox">
 		<view class="main">
-			<uni-nav-bar fixed="true" statusBar="true" left-icon="back" right-icon="scan" title="扫码列表" @clickLeft="backAdd" @clickRight="HandlScanCode"></uni-nav-bar>
+			<uni-nav-bar fixed="true" statusBar="true" left-icon="back" right-icon="scan" title="扫码列表"
+				@clickLeft="backAdd" @clickRight="HandlScanCode"></uni-nav-bar>
 			<view class="wrapper">
 				<u-list class="listContent">
-					<checkbox-group v-for="(item, index) in listData" :key="index" @change.stop="e => selectVal(e, item, index)">
+					<checkbox-group v-for="(item, index) in listData" :key="index"
+						@change.stop="e => selectVal(e, item, index)">
 						<label>
 							<view class="listBox">
 								<view class="listBox-sel">
-									<checkbox :value="item.code" color="#fff" :disabled="item.disabled" :checked="item.checked" />
+									<uni-icons type="trash" size="20" color="red" @click="getDelete(index)"></uni-icons>
+									<!-- <checkbox :value="item.code" color="#fff" :disabled="item.disabled" :checked="item.checked" /> -->
 								</view>
 								<view class="listBox-con">
 									<view class="listBox-top">
@@ -47,20 +50,29 @@
 
 			<view class="footer">
 				<view class="bottom">
-					<checkbox v-if="!seletedAll" color="#fff" :checked="seletedAll" @tap="_seletedAll">全选</checkbox>
-					<checkbox class="select-all" color="#fff" v-else :checked="seletedAll" @tap="_seletedAll">取消全选</checkbox>
+					<!-- <checkbox v-if="!seletedAll" color="#fff" :checked="seletedAll" @tap="_seletedAll">全选</checkbox>
+					<checkbox class="select-all" color="#fff" v-else :checked="seletedAll" @tap="_seletedAll">取消全选
+					</checkbox> -->
 				</view>
-				<u-button type="success" size="small" class="u-reset-button" :disabled="!checkListLen" @click="jumpAdd">
-					<view class="selBtn">选择( {{ checkListLen }} )</view>
+				<u-button type="success" size="small" class="u-reset-button" @click="jumpAdd">
+					<view class="selBtn">确定</view>
 				</u-button>
+				<!-- 	<u-button type="success" size="small" class="u-reset-button" :disabled="!checkListLen" @click="jumpAdd">
+					<view class="selBtn">选择( {{ checkListLen }} )</view>
+				</u-button> -->
 			</view>
 		</view>
 	</view>
 </template>
 
 <script>
-	import { getDetailsByCode } from '@/api/warehouseManagement'
-	import { sceneState, outputSceneState } from '../../common'
+	import {
+		getDetailsByCode
+	} from '@/api/warehouseManagement'
+	import {
+		sceneState,
+		outputSceneState
+	} from '../../common'
 	export default {
 		data() {
 			return {
@@ -83,7 +95,9 @@
 				return this.listData.filter(el => el.checked).length
 			}
 		},
-		onLoad({ type }) {
+		onLoad({
+			type
+		}) {
 			this.type = type
 		},
 		onShow() {
@@ -127,38 +141,53 @@
 					}
 				})
 			},
-			//勾选
-			selectVal(e, val, index) {
-				this.$set(this.listData[index], 'checked', !this.listData[index].checked)
-				this.seletedAll = !this.listData.some(item => !item.checked)
-			},
-			//全选按钮
-			_seletedAll() {
-				if (!this.seletedAll) {
-					this.seletedAll = true
-					this.listData.map(item => {
-						this.$set(item, 'checked', true)
-					})
-				} else {
-					this.seletedAll = false
-					//this.checkListLen = 0;
-					this.listData.map(item => {
-						this.$set(item, 'checked', false)
-					})
-				}
-			},
+			// //勾选
+			// selectVal(e, val, index) {
+			// 	this.$set(this.listData[index], 'checked', !this.listData[index].checked)
+			// 	this.seletedAll = !this.listData.some(item => !item.checked)
+			// },
+			// //全选按钮
+			// _seletedAll() {
+			// 	if (!this.seletedAll) {
+			// 		this.seletedAll = true
+			// 		this.listData.map(item => {
+			// 			this.$set(item, 'checked', true)
+			// 		})
+			// 	} else {
+			// 		this.seletedAll = false
+			// 		//this.checkListLen = 0;
+			// 		this.listData.map(item => {
+			// 			this.$set(item, 'checked', false)
+			// 		})
+			// 	}
+			// },
 			//跳转回添加页面
 			async jumpAdd() {
+				// uni.$emit(
+				// 	'setSelectList',
+				// 	this.listData.filter(item => item.checked)
+				// )
 				uni.$emit(
 					'setSelectList',
-					this.listData.filter(item => item.checked)
+					this.listData
 				)
 				uni.navigateBack()
 			},
 			//返回添加页
 			backAdd() {
 				uni.navigateBack()
-			}
+			},
+			getDelete(index) {
+				uni.showModal({
+					title: '提示',
+					content: '是否删除当前数据',
+					success: res => {
+						if (res.confirm) {
+							this.listData.splice(index, 1)
+						}
+					}
+				})
+			},
 		}
 	}
 </script>
@@ -166,15 +195,18 @@
 <style lang="scss" scoped>
 	.mainBox {
 		height: 100vh;
+
 		.main {
 			height: 100%;
 			display: flex;
 			flex-direction: column;
 		}
+
 		.wrapper {
 			flex: 1;
 			overflow: hidden;
 		}
+
 		.searchBox {
 			padding: 10rpx 0;
 			box-sizing: border-box;
@@ -206,6 +238,7 @@
 				outline: none;
 				border: none;
 				width: 260rpx;
+
 				.icon-sousuo {
 					font-size: 22px;
 				}
@@ -215,6 +248,7 @@
 					margin-left: 10px;
 				}
 			}
+
 			.search-icon {
 				display: flex;
 				align-items: center;
@@ -222,6 +256,7 @@
 				font-size: 28rpx;
 				white-space: nowrap;
 				margin-left: 10rpx;
+
 				image {
 					width: 30rpx;
 					height: 30rpx;
@@ -280,6 +315,7 @@
 
 		.listContent {
 			height: 100% !important;
+
 			.listBox {
 				display: flex;
 				// height: 180rpx;
@@ -325,16 +361,19 @@
 						justify-content: space-between;
 						font-size: $uni-font-size-sm;
 						flex-wrap: wrap;
-						> view {
+
+						>view {
 							width: 50%;
 							overflow: hidden;
 							white-space: nowrap;
 							text-overflow: ellipsis;
 						}
+
 						.input_view {
 							display: flex;
 							align-items: center;
 							justify-content: center;
+
 							.u-input {
 								height: 36rpx;
 								padding: 0 !important;
@@ -342,12 +381,14 @@
 								border: 1px solid #ddd;
 							}
 						}
+
 						.w100 {
 							width: 100%;
 						}
 					}
 				}
 			}
+
 			.noDate {
 				height: 100%;
 			}
@@ -378,9 +419,11 @@
 				width: 150rpx;
 			}
 		}
+
 		.search-container {
 			width: 70vw;
 			padding: 30rpx 36rpx;
+
 			.footer {
 				position: absolute;
 				bottom: 0;
@@ -388,6 +431,7 @@
 				width: 100%;
 				display: flex;
 				box-shadow: 0 10rpx 30rpx 0 #000;
+
 				.btn {
 					width: 50%;
 					height: 80rpx;
@@ -396,20 +440,24 @@
 					display: flex;
 					justify-content: center;
 					align-items: center;
+
 					&.reset {
 						color: $j-primary-border-green;
 					}
 				}
 			}
 		}
+
 		.title {
 			font-weight: bold;
 			font-size: 30rpx;
 		}
+
 		.status-wrapper {
 			display: flex;
 			align-items: center;
 			justify-content: space-between;
+
 			view {
 				background-color: rgba(242, 242, 242, 1);
 				height: 60rpx;
@@ -418,23 +466,28 @@
 				text-align: center;
 				width: 160rpx;
 				border: 1rpx solid rgba(242, 242, 242, 1);
+
 				&.active {
 					color: #157a2c;
 					border-color: rgba(21, 122, 44, 1);
 				}
 			}
 		}
+
 		/deep/.uni-date {
 			.uni-icons {
 				display: none;
 			}
+
 			.uni-date-x {
 				padding: 0;
+
 				view {
 					margin: 0 20rpx;
 				}
 			}
 		}
+
 		/deep/.uni-date__x-input,
 		/deep/.uni-easyinput__content-input {
 			height: 60rpx;
@@ -443,4 +496,4 @@
 			background-color: rgba(242, 242, 242, 1);
 		}
 	}
-</style>
+</style>

+ 5 - 4
pages/warehouse/enterHouse/details.vue

@@ -284,7 +284,7 @@
 	// import dictMixins from '@/mixins/dictMixins.js'
 	export default {
 		components: {
-			WarehouseChoose,
+			WarehouseChoose,  
 			baTreePicker,
 			UploadFileNew
 		},
@@ -322,10 +322,11 @@
 							value: 2
 						}
 					]
-				], // 质检状态 0未检 1已检
+				], // 质检状态0未检 1待检 2已检
 				qualityResults: {
-					1: '合格',
-					2: '不合格'
+					0: '未检',
+					1: '待检',
+					2: '已检'
 				}, // 质检结果 1合格 2不合格
 				curDateTypeLabel: {
 					purchaseDate: '采购日期',

+ 12 - 6
pages/warehouse/outHouse/addStock.vue

@@ -16,12 +16,13 @@
 					{{ assetTypeName ? assetTypeName : '请选择产品类型' }}
 				</view>
 			</u-form-item>
-			<u-form-item label="出库场景" class="required-form" prop="bizType" borderBottom>
-				<uni-data-select v-model="formData.bizType" :localdata="outputSceneState"></uni-data-select>
-			</u-form-item>
 			<u-form-item label="来源单据" prop="documentSource" borderBottom>
 				<u-input type="text" placeholder="请输入" v-model="formData.sourceBizNo" @click.native="goToRequisition" />
 			</u-form-item>
+			<u-form-item label="出库类型" class="required-form" prop="bizType" borderBottom>
+				<uni-data-select v-model="formData.bizType" :localdata="outputSceneState"
+					@change="changeType"></uni-data-select>
+			</u-form-item>
 			<u-form-item label="出库登记人" prop="createUserName" borderBottom>
 				<u-input disableColor="#ffffff" v-model="formData.extInfo.createUserName" placeholder="请选择" disabled
 					type="text" />
@@ -394,7 +395,7 @@
 		},
 		beforeDestroy() {
 			uni.$off('setSelectList')
-			uni.$off('requisitionSelect')
+			uni.$off('requisitionSelectC')
 		},
 		onLoad() {
 			this.getListItems() // 物品类型
@@ -420,9 +421,11 @@
 					}, 0)
 				}
 			})
-			uni.$on('requisitionSelect', async (data, query) => {
+			uni.$on('requisitionSelectC', async (data, query) => {
+				console.log(data, 'data')
+				console.log(query, 'queryqueryqueryqueryqueryqueryqueryqueryquery')
 				this.formData.sourceBizNo = query.sourceBizNo
-				this.formData.bizType = query.bizType
+				this.formData.bizType = parseInt(query.bizType)
 				this.formData.extInfo.assetType = query.assetType.split(',')
 				let filterArray = this.formData.extInfo.assetType.map(item => {
 					return this.goodsLists.find(ite => ite.id == item).name
@@ -497,6 +500,9 @@
 			}
 		},
 		methods: {
+			changeType(e) {
+				this.formData.bizType = e
+			},
 			goToRequisition() {
 				uni.navigateTo({
 					url: '/pages/warehouse/components/requisitionList?type=' + 2

+ 49 - 7
pages/warehouse/picking/add.vue

@@ -4,7 +4,8 @@
 			<template slot="float"></template>
 		</uni-nav-bar>
 
-		<u-form class="baseForm" labelPosition="left" :model="formData" ref="formRef" labelWidth="260" labelAlign="right">
+		<u-form class="baseForm" labelPosition="left" :model="formData" ref="formRef" labelWidth="220"
+			labelAlign="right">
 			<u-form-item label="拣货编码" prop="code" borderBottom>
 				<u-input disableColor="#ffffff" v-model="formData.code" placeholder="请选择" disabled type="text" />
 			</u-form-item>
@@ -94,7 +95,10 @@
 
 <script>
 	// import ScanCode from '@/components/ScanCode.vue'
-	import { savePickgoods, getCode } from '@/api/warehouseManagement'
+	import {
+		savePickgoods,
+		getCode
+	} from '@/api/warehouseManagement'
 	export default {
 		data() {
 			return {
@@ -198,7 +202,8 @@
 					for (let i = 0; i < this.productList.length; i++) {
 						let obj = this.tableList.find(item => item.categoryCode == this.productList[i].categoryCode)
 						if (!!obj) {
-							if (this.productList[i].packingQuantity != obj.packingQuantity || this.productList[i].packingUnit != obj.packingUnit) {
+							if (this.productList[i].packingQuantity != obj.packingQuantity || this.productList[i]
+								.packingUnit != obj.packingUnit) {
 								uni.showToast({
 									title: '请检查拣货清单',
 									icon: 'none'
@@ -253,14 +258,17 @@
 		height: 100vh;
 		display: flex;
 		flex-direction: column;
+
 		/deep/.required-form .u-form-item__body__left__content__label::before {
 			content: '*';
 			color: red;
 		}
 	}
+
 	.required-form-text {
 		/deep/ .u-form-item__body__right {
 			overflow: hidden;
+
 			.u-form-item__body__right__content {
 				width: 100%;
 				display: inline-block !important;
@@ -275,6 +283,7 @@
 		align-items: center;
 		justify-content: center;
 	}
+
 	.tabs {
 		display: flex;
 		width: 100vw;
@@ -283,9 +292,10 @@
 		display: flex;
 		justify-content: flex-start;
 		align-items: flex-end;
-		margin-bottom: 20rpx;
+		margin: 20rpx 0;
 		padding: 0 10rpx;
 		box-sizing: border-box;
+
 		.tab-item {
 			flex: 1;
 			display: flex;
@@ -293,14 +303,19 @@
 			align-items: center;
 			padding: 10rpx 0;
 			box-sizing: border-box;
+			height: 72rpx;
+
+
 			.label {
 				margin-right: 10rpx;
 			}
+
 			&.active {
 				background: linear-gradient(180deg, rgba(75, 121, 2, 1) 0%, rgba(255, 255, 255, 1) 12%);
 				border-right: 1rpx solid #ccc;
 				border-left: 1rpx solid #ccc;
 				border-bottom: 1rpx solid #ccc;
+				border-radius: 10rpx;
 			}
 		}
 	}
@@ -311,10 +326,12 @@
 		justify-items: flex-start;
 		flex-wrap: wrap;
 	}
+
 	/deep/.baseForm {
 		.u-form-item__body {
-			padding: 0px !important;
+			padding: 4px !important;
 		}
+
 		.assetType_box {
 			padding: 12rpx 18rpx;
 			width: 100%;
@@ -323,6 +340,7 @@
 			text-overflow: ellipsis;
 		}
 	}
+
 	/deep/.picList .u-image {
 		margin-right: 10rpx;
 		margin-bottom: 10rpx;
@@ -342,6 +360,7 @@
 			margin: 0 !important;
 			width: 180rpx;
 		}
+
 		.selectEnterType {
 			margin-left: 10rpx !important;
 		}
@@ -376,18 +395,22 @@
 			margin-right: 8rpx !important;
 		}
 	}
+
 	.tableBox {
 		flex: 1;
 		overflow: hidden;
 		display: flex;
 		flex-direction: column;
+
 		.scrollList {
 			flex: 1;
 			height: 100% !important;
+
 			.listBox {
 				display: flex;
 				padding: 20rpx;
 				border-bottom: 2rpx solid #e5e5e5;
+
 				.listBox-con {
 					width: 100%;
 					align-items: center;
@@ -413,16 +436,20 @@
 						justify-content: space-between;
 						font-size: $uni-font-size-sm;
 						flex-wrap: wrap;
-						> view {
+
+						>view {
 							width: 50%;
 							overflow: hidden;
 							white-space: nowrap;
 							text-overflow: ellipsis;
+							line-height: 24px;
 						}
+
 						.input_view {
 							display: flex;
 							align-items: center;
 							justify-content: center;
+
 							.u-input {
 								height: 36rpx;
 								padding: 0 !important;
@@ -430,6 +457,7 @@
 								border: 1px solid #ddd;
 							}
 						}
+
 						.w100 {
 							width: 100%;
 						}
@@ -437,26 +465,31 @@
 				}
 			}
 		}
+
 		.no_data {
 			flex: 1;
 			display: flex;
 			align-items: center;
 			justify-content: center;
 		}
+
 		.list {
 			padding: 20rpx 10rpx;
 			border-bottom: 1px #f2f2f2 solid;
 			position: relative;
+
 			&.code {
 				.label {
 					width: 120rpx !important;
 				}
 			}
+
 			.listTit {
 				width: 100%;
 				display: flex;
 				justify-content: space-between;
 				align-items: center;
+
 				/deep/uni-button {
 					margin-right: 20rpx;
 					width: 100rpx;
@@ -465,6 +498,7 @@
 						width: 180rpx;
 					}
 				}
+
 				.name {
 					width: 50%;
 					margin-left: 10px;
@@ -507,8 +541,10 @@
 					margin-top: -14rpx;
 				}
 			}
+
 			.z_list {
 				max-height: 500rpx;
+
 				.material {
 					margin-top: 10rpx;
 
@@ -565,6 +601,7 @@
 								word-wrap: break-word;
 								flex-grow: 1 !important;
 							}
+
 							.input_box {
 								padding: 0 !important;
 							}
@@ -647,6 +684,7 @@
 					}
 				}
 			}
+
 			.more {
 				position: absolute;
 				bottom: 26rpx;
@@ -661,14 +699,17 @@
 		display: flex;
 		justify-content: flex-end;
 		margin-bottom: 10rpx;
+
 		.timeBox {
 			display: flex;
 			width: 500rpx;
+
 			.firstBtn {
 				margin-right: 10rpx;
 			}
 		}
 	}
+
 	.textBox {
 		border: 1px #f2f2f2 solid;
 		height: 160px;
@@ -680,7 +721,8 @@
 		width: 50%;
 		margin: 40rpx auto;
 	}
+
 	.top-css {
 		border-bottom: 1px solid rgb(207, 204, 204);
 	}
-</style>
+</style>

+ 176 - 72
pages/warehouse/picking/components/CardList.vue

@@ -1,31 +1,64 @@
 <template>
 	<view class="marginTop">
-		<view v-for="(item, index) in list" class="kd-row" :key="item.id" @click="goDetail(item)" v-show="list.length !== 0">
-			<!-- 进度组件 -->
-			<view class="kd-col">
-				<text class="title">{{ item.code }}</text>
-				<text>名称:{{ item.name }}</text>
-			</view>
-			<view class="kd-col">
-				<text>领料单号:{{ item.sourceNo }}</text>
-			</view>
-			<view class="kd-col">
-				<text>出库单号:{{ item.outInNo }}</text>
-			</view>
-			<view class="kd-col">
-				<text>拣货人:{{ item.createName }}</text>
-			</view>
-			<view class="kd-col">
-				<text class="text-danger">创建时间 {{ item.createTime }}</text>
-				<text class="status" :class="statusList[item.status && item.status] && statusList[item.status && item.status].class">{{ statusList[item.status] && statusList[item.status].label }}</text>
-			</view>
-			<view class="kd-col">
-				<text>仓库:{{ item.warehouseName }}</text>
-			</view>
-		</view>
-		<view v-show="list.length === 0" class="no_data">
-			<u-empty mode="data" textSize="22"></u-empty>
-		</view>
+		<u-list>
+			<u-list-item v-for="(item, index) in list" :key="item.id" v-show="list.length !== 0">
+				<view class="card_box" @click="goDetail(item)">
+					<view class="item_box flex_between">
+						<view class="rx-sc">
+							<view class="round">{{Number(index)+1}}</view>
+							<view class="orderId">{{item.code}} </view>
+						</view>
+						<view class="status"
+							:class="statusList[item.status && item.status] && statusList[item.status && item.status].class">
+							{{ statusList[item.status] && statusList[item.status].label }}
+						</view>
+					</view>
+					<view class="item_box rx-bc">
+						<view class="item_one perce50 rx-sc">
+							<view class="lable">名称:</view>
+							<view>{{item.name }}</view>
+						</view>
+					</view>
+					<view class="item_box rx-bc">
+						<view class="item_one perce50 rx-sc">
+							<view class="lable">领料单号:</view>
+							<view>{{item.sourceNo }}</view>
+						</view>
+					</view>
+					<view class="item_box rx-bc">
+						<view class="item_one perce50 rx-sc">
+							<view class="lable">出库单号:</view>
+							<view>{{item.outInNo }}</view>
+						</view>
+					</view>
+					<view class="item_box rx-bc">
+						<view class="item_one perce50 rx-sc">
+							<view class="lable">拣货人:</view>
+							<view>{{item.createName}}</view>
+						</view>
+					</view>
+					<view class="item_box rx-bc">
+						<view class="item_one perce50 rx-sc">
+							<view class="lable">创建时间:</view>
+							<view>{{item.createTime}}</view>
+						</view>
+					</view>
+					<view class="item_box rx-bc">
+						<view class="item_one perce50 rx-sc">
+							<view class="lable">仓库:</view>
+							<view>{{item.warehouseName}}</view>
+						</view>
+					</view>
+				</view>
+			</u-list-item>
+			<u-list-item v-if="list.length === 0">
+				<view style='margin-top: 20vh;'>
+					<u-empty iconSize='150' textSize='32' text='暂无数据'>
+					</u-empty>
+				</view>
+			</u-list-item>
+
+		</u-list>
 	</view>
 </template>
 
@@ -40,16 +73,25 @@
 		data() {
 			return {
 				statusList: {
-					0: { class: 'text-danger', label: '拣货中' },
-					1: { class: 'normal', label: '拣货完成' },
-					2: { class: 'text-primary', label: '已出库' }
+					0: {
+						class: 'text-danger',
+						label: '拣货中'
+					},
+					1: {
+						class: 'normal',
+						label: '拣货完成'
+					},
+					2: {
+						class: 'text-primary',
+						label: '已出库'
+					}
 				}
 			}
 		},
 		methods: {
-			goDetail({ outInNo }) {
+			goDetail(val) {
 				uni.navigateTo({
-					url: `/pages/warehouse/outHouse/details?&bizNo=${outInNo}`
+					url: `/pages/warehouse/outHouse/details?&bizNo=${val.outInNo}`
 				})
 			}
 		}
@@ -59,52 +101,114 @@
 <style lang="scss" scoped>
 	.marginTop {
 		border-top: 20rpx solid $page-bg;
+	}
 
-		.kd-row {
-			font-size: 28rpx;
-			padding: 14rpx 12rpx 6rpx;
-			border-bottom: 1rpx solid $page-bg;
-			.kd-col {
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-				padding: 2rpx;
-				color: #aaaaaa;
-
-				.status {
-					display: inline-block;
-					padding: 4rpx 10rpx;
-					border-radius: 18rpx;
-
-					&.normal {
-						background-color: $page-bg;
-					}
-					&.text-danger {
-						background-color: rgba($color: $uni-color-order-error, $alpha: 0.1);
-					}
-					&.text-primary {
-						background-color: rgba($color: $j-primary-green, $alpha: 0.1);
-					}
-				}
+	.card_box {
+		width: 750rpx;
+		padding: 16rpx 32rpx;
+		box-sizing: border-box;
+		border-bottom: 2rpx solid #E1E1E1;
+
+
+		.item_box {
+			margin-top: 10rpx;
+
+			.round {
+				width: 40rpx;
+				height: 40rpx;
+				line-height: 40rpx;
+				border-radius: 50%;
+				background: $theme-color;
+				color: #fff;
+				text-align: center;
+				font-size: 20rpx;
+			}
+
+			.orderId {
+				color: #000;
+				font-family: PingFang HK;
+				font-size: 28rpx;
+				font-style: normal;
+				font-weight: 600;
+				margin-left: 16rpx;
 			}
-			.title {
-				font-weight: bold;
-				color: #333333;
+
+			.item_one {
+				width: 100%;
+				font-size: 26rpx;
+				font-style: normal;
+				font-weight: 400;
+				line-height: 38rpx;
+				word-wrap: break-word;
+			}
+
+			.gylx {
+				color: $theme-color;
 			}
+
+			.perce50 {
+				width: 100%;
+			}
+		}
+
+		.flex_between {
+			display: flex;
+			justify-content: space-between;
+		}
+	}
+
+	.status {
+		font-size: 28rpx;
+		display: inline-block;
+		padding: 4rpx 10rpx;
+		border-radius: 18rpx;
+
+		&.normal {
+			background-color: $page-bg;
 		}
 
-		.center {
-			text-align: center;
-			margin-bottom: 10rpx;
-			color: #999;
+		&.text-danger {
+			background-color: rgba($color: $uni-color-order-error, $alpha: 0.1);
 		}
-		.no_data {
-			position: fixed;
-			top: 50%;
-			left: 50%;
-			transform: translate(-50%, -50%);
-			color: #999;
-			font-size: 28rpx;
+
+		&.text-primary {
+			background-color: rgba($color: $j-primary-green, $alpha: 0.1);
 		}
 	}
-</style>
+
+	// 	.kd-row {
+	// 		font-size: 28rpx;
+	// 		padding: 14rpx 12rpx 6rpx;
+	// 		border-bottom: 1rpx solid $page-bg;
+
+	// 		.kd-col {
+	// 			display: flex;
+	// 			justify-content: space-between;
+	// 			align-items: center;
+	// 			padding: 2rpx;
+	// 			color: #aaaaaa;
+
+
+	// 		}
+
+	// 		.title {
+	// 			font-weight: bold;
+	// 			color: #333333;
+	// 		}
+	// 	}
+
+	// 	.center {
+	// 		text-align: center;
+	// 		margin-bottom: 10rpx;
+	// 		color: #999;
+	// 	}
+
+	// 	.no_data {
+	// 		position: fixed;
+	// 		top: 50%;
+	// 		left: 50%;
+	// 		transform: translate(-50%, -50%);
+	// 		color: #999;
+	// 		font-size: 28rpx;
+	// 	}
+</style>