lilei %!s(int64=3) %!d(string=hai) anos
pai
achega
aa00448207
Modificáronse 2 ficheiros con 35 adicións e 5 borrados
  1. 15 2
      pages/common/partList.vue
  2. 20 3
      pages/shuntBackManage/cancellingStocks.vue

+ 15 - 2
pages/common/partList.vue

@@ -9,7 +9,7 @@
 		<view class="partList-list">
 			<view class="partList-list-box" v-for="item in partList" :key="item.id">
 				<view class="product flex align_center">
-					<view class="checkbox"><u-checkbox v-model="item.checked" :name="item.id" @change="checkChange" size="40" shape="circle"></u-checkbox></view>
+					<view class="checkbox" v-if="model == 'checkbox'"><u-checkbox v-model="item.checked" :name="item.id" @change="checkChange" size="40" shape="circle"></u-checkbox></view>
 					<view class="flex align_center flex_1">
 						<view class="pimgs">
 							<u-image width="128" height="128" border-radius="10"></u-image>
@@ -29,7 +29,7 @@
 						</view>
 					</view>
 				</view>
-				<view class="ptools flex align_center justify_between">
+				<view v-if="model == 'checkbox'" class="ptools flex align_center justify_between">
 					<view></view>
 					<view class="pcurnums">
 						<text>实退数量</text>
@@ -56,6 +56,15 @@
 			noDataText: {
 				type: String,
 				default: '暂无配件'
+			},
+			title: {
+				type: String,
+				default: '列表'
+			},
+			// model: checkbox 可选择模式,view 只显示
+			model: {
+				type: String,
+				default: 'checkbox'
 			}
 		},
 		watch: {
@@ -92,6 +101,10 @@
 				// 判断是否全选
 				const isAllNoChecked = this.partList.filter(item => !item.checked)
 				this.$emit('allChecked',isAllNoChecked.length == 0)
+			},
+			// 获取所有选择的
+			getAllChecked(){
+				return this.partList.filter(item => item.checked)
 			}
 		}
 	}

+ 20 - 3
pages/shuntBackManage/cancellingStocks.vue

@@ -19,7 +19,7 @@
 			</view>
 			<view class="part-list">
 				<!-- 配件列表 -->
-				<partList ref="partList" :list="partList" @allChecked="allCheckedCallback"></partList>
+				<partList title="配件列表" ref="partList" :list="partList" @allChecked="allCheckedCallback"></partList>
 			</view>
 		</view>
 		<view class="cancelStockPages-footer">
@@ -27,14 +27,14 @@
 				<u-checkbox size="40" @change="allCheckeChange" v-model="allChecked" shape="circle">{{allChecked?'取消全选':'全选'}}</u-checkbox>
 			</view>
 			<view>
-				<u-button shape="circle" :custom-style="{background:$config('primaryColor')}" type="primary">确定退库</u-button>
+				<u-button @click="submit" shape="circle" :custom-style="{background:$config('primaryColor')}" type="primary">确定退库</u-button>
 			</view>
 		</view>
 	</view>
 </template>
 
 <script>
-	import { shelfRecallFindBySn, detailQueryCount, shelfRecallDetail } from '@/api/shelfRecall.js'
+	import { shelfRecallFindBySn, detailQueryCount, shelfRecallDetail, shelfRecallConfirm } from '@/api/shelfRecall.js'
 	import partList from '../common/partList.vue'
 	export default {
 		components: {
@@ -67,6 +67,7 @@
 			allCheckedCallback(val){
 				this.allChecked = val
 			},
+			// 查询详情
 			getDetail(){
 				shelfRecallFindBySn({sn:this.recallBillSn}).then(res => {
 					if(res.status == 200){
@@ -74,12 +75,28 @@
 					}
 				})
 			},
+			// 查询配件列表
 			getPartList(){
 				shelfRecallDetail({recallBillSn:this.recallBillSn}).then(res => {
 					if(res.status == 200){
 						this.partList = res.data.data
 					}
 				})
+			},
+			// 确定退货
+			submit(){
+				const result =this.$refs.partList.getAllChecked()
+				if(result.length){
+					shelfRecallConfirm().then(res => {
+						if(res.status == 200){
+							uni.$emit("refreshBL")
+							uni.navigateBack()
+						}
+						this.toashMsg(res.message)
+					})
+				}else{
+					this.toashMsg("请选择配件!")
+				}
 			}
 		}
 	}