|
@@ -1,85 +1,82 @@
|
|
<template>
|
|
<template>
|
|
<view class="modal-box">
|
|
<view class="modal-box">
|
|
- <view class="header_box">
|
|
|
|
- <view class="headerName u-flex">
|
|
|
|
- <text class="barBox"></text>
|
|
|
|
- <view class="shelfName u-line-1">{{ shelfName }}</view>
|
|
|
|
- <view class="screeningBox" @click="chooseShow = true">
|
|
|
|
- <text>滞销天数</text>
|
|
|
|
- <u-icon color="#666666" size="36" name="shaixuan" custom-prefix="iscm-icon"></u-icon>
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- <view class="searchBox">
|
|
|
|
- <view class="searchBox_l">
|
|
|
|
- <u-search
|
|
|
|
- placeholder="请输入产品编码或产品名称搜索"
|
|
|
|
- @change="getSearchCon"
|
|
|
|
- @search="getSearchCon"
|
|
|
|
- @custom="getSearchCon"
|
|
|
|
- @clear="clearSearch"
|
|
|
|
- v-model="keyword"
|
|
|
|
- bg-color="#FFF"
|
|
|
|
- shape="round"
|
|
|
|
- :show-action="false"
|
|
|
|
- ></u-search>
|
|
|
|
- </view>
|
|
|
|
- <view class="searchBox_r" @click="handleScanCode"><u-icon name="scan"></u-icon></view>
|
|
|
|
|
|
+ <view class="headerName u-flex">
|
|
|
|
+ <text class="barBox"></text>
|
|
|
|
+ <view class="shelfName u-line-1">{{ shelfName }}</view>
|
|
|
|
+ <view class="screeningBox" @click="chooseShow = true">
|
|
|
|
+ <text>滞销天数</text>
|
|
|
|
+ <u-icon color="#666666" size="36" name="shaixuan" custom-prefix="iscm-icon"></u-icon>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="backOrderCon">
|
|
<view class="backOrderCon">
|
|
<scroll-view scroll-y class="scroll-view" v-if="recallBillList && recallBillList.length>0" >
|
|
<scroll-view scroll-y class="scroll-view" v-if="recallBillList && recallBillList.length>0" >
|
|
- <u-checkbox-group :wrap="true" @change="checkGroupChange">
|
|
|
|
- <view class="partList-list-box" v-for="(item,index) in recallBillList" :key="item.id">
|
|
|
|
- <view class="product flex align_center">
|
|
|
|
- <u-checkbox class="checkbox" v-model="item.isChecked" :name="item.id" size="40" shape="circle">
|
|
|
|
- <view class="flex align_center flex_1">
|
|
|
|
- <view class="pimgs">
|
|
|
|
- <u-image :src="item.productImageUrl?item.productImageUrl:`../../static/${$config('themePath')}/def_img@2x.png`" width="128" height="128" border-radius="10"></u-image>
|
|
|
|
|
|
+ <div class="cpb_cart-list">
|
|
|
|
+ <view
|
|
|
|
+ v-for="(item, index) in recallBillList"
|
|
|
|
+ :key="'cpb_'+item.id"
|
|
|
|
+ >
|
|
|
|
+ <view class="nav-right-item flex align_center">
|
|
|
|
+ <view class="uni-col-1" @click="delDetail(item,index)">
|
|
|
|
+ <u-icon name="close-circle" color="#999" size="35"></u-icon>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="uni-col-9 flex">
|
|
|
|
+ <view class="item-imgs">
|
|
|
|
+ <u-image :src="item.productImageUrl?item.productImageUrl:`../../static/${$config('themePath')}/def_img@2x.png`" width="120" height="120" border-radius="10"></u-image>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="item-info">
|
|
|
|
+ <view class="item-name">
|
|
|
|
+ <text>{{item.shelfPlaceCode}}</text>
|
|
|
|
+ {{item.productCode}}
|
|
</view>
|
|
</view>
|
|
- <view class="pinfo">
|
|
|
|
- <view class="pname item-name">
|
|
|
|
- <text>{{item.shelfPlaceCode}}</text>
|
|
|
|
- {{item.productCode}}
|
|
|
|
- </view>
|
|
|
|
- <view class="productName u-line-2">
|
|
|
|
- {{item.productName}}
|
|
|
|
- </view>
|
|
|
|
- <view class="ptxt flex align_center">
|
|
|
|
- <view>
|
|
|
|
- 最大库容
|
|
|
|
- <text class="pnums">{{item.maxQty}}</text>
|
|
|
|
- </view>
|
|
|
|
- <view>
|
|
|
|
- /货架库存
|
|
|
|
- <text class="pnums">{{item.qty}}</text>
|
|
|
|
- </view>
|
|
|
|
- <view>
|
|
|
|
- /滞销
|
|
|
|
- <text class="pnums">{{!item.unsalableDays || (item.unsalableDays&&item.unsalableDays) == 0 ?'--天':item.unsalableDays}}</text>
|
|
|
|
|
|
+ <view class="item-name">
|
|
|
|
+ {{item.productName}}
|
|
|
|
+ </view>
|
|
|
|
+ <view class="item-detail">
|
|
|
|
+ <view class="item-detail-info align_center flex justify_between">
|
|
|
|
+ <view></view>
|
|
|
|
+ <view class="flex justify_end">
|
|
|
|
+ <view class="item-detail-text">
|
|
|
|
+ 最大库容:<text class="pnums">{{item.maxQty||0}}</text>
|
|
|
|
+ 货架库存:<text class="pnums">{{item.qty||0}}</text>
|
|
|
|
+ 门店库存:<text class="pnums">{{item.qplsStockQty||0}}</text>
|
|
|
|
+ </view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
- </u-checkbox>
|
|
|
|
</view>
|
|
</view>
|
|
- <view class="ptools flex align_center justify_between">
|
|
|
|
- <view class="ptools_l u-flex">
|
|
|
|
- <view v-if="item.replenishBillQty && item.replenishBillQty!=0">
|
|
|
|
- 补货在途
|
|
|
|
- <text class="pnums">{{item.replenishBillQty}}</text>
|
|
|
|
- </view>
|
|
|
|
- <view v-if="item.recallBillQty && item.recallBillQty!=0">
|
|
|
|
- {{item.replenishBillQty && item.replenishBillQty!=0 ? '/':''}}调回在途
|
|
|
|
- <text class="pnums">{{item.recallBillQty}}</text>
|
|
|
|
|
|
+ </view>
|
|
|
|
+ <view class="nav-right-item">
|
|
|
|
+ <view class="item-detail">
|
|
|
|
+ <view class="item-detail-info">
|
|
|
|
+ <view class="flex justify_between">
|
|
|
|
+ <view class="item-detail-text flex">
|
|
|
|
+ <view v-if="item.replenishBillQty">补货在途:<text class="pnums1">{{item.replenishBillQty||0}}</text></view>
|
|
|
|
+ <view v-if="item.recallBillQty">调回在途:<text class="pnums1">{{item.recallBillQty||0}}</text></view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="item-detail-text">
|
|
|
|
+ 补货数量:
|
|
|
|
+ <u-number-box
|
|
|
|
+ v-model="item.replenishQty"
|
|
|
|
+ :index="'cart_'+item.id"
|
|
|
|
+ :min="1"
|
|
|
|
+ @change="numsChange(item)"
|
|
|
|
+ :max="999999"></u-number-box>
|
|
|
|
+ </view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
- <view class="pcurnums flex align_center">
|
|
|
|
- <text>调回数量</text>
|
|
|
|
- <view class="u-ninput"><u-number-box color="#000" :input-height="60" bg-color="#fff" v-model="item.confirmQty" :min="1" :max="item.qty" @minus="minus" @plus="plus" @change="numberBoxChange"></u-number-box></view>
|
|
|
|
- </view>
|
|
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
- </u-checkbox-group>
|
|
|
|
|
|
+ </view>
|
|
|
|
+ <view v-if="recallBillList.length==0">
|
|
|
|
+ <view class="nodata">
|
|
|
|
+ 暂无产品,请点击
|
|
|
|
+ <view>
|
|
|
|
+ <text @click="toChooseProduct">选择产品</text>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ </div>
|
|
</scroll-view>
|
|
</scroll-view>
|
|
<u-empty :src="`/static/${$config('themePath')}/def_no_data@3x.png`" icon-size="200" :text="noDataText" img-width="120" v-else></u-empty>
|
|
<u-empty :src="`/static/${$config('themePath')}/def_no_data@3x.png`" icon-size="200" :text="noDataText" img-width="120" v-else></u-empty>
|
|
</view>
|
|
</view>
|
|
@@ -92,16 +89,14 @@
|
|
<view class="middle_l">
|
|
<view class="middle_l">
|
|
已选
|
|
已选
|
|
<text>{{chooseArr.length}}</text>
|
|
<text>{{chooseArr.length}}</text>
|
|
- 款/
|
|
|
|
- <text>{{totalNum}}</text>
|
|
|
|
- 件
|
|
|
|
|
|
+ 款
|
|
</view>
|
|
</view>
|
|
<view class="middle_r" @click="seeDetail">
|
|
<view class="middle_r" @click="seeDetail">
|
|
<text>查看明细</text>
|
|
<text>查看明细</text>
|
|
<u-icon name="arrow-up" color="#999" size="28"></u-icon>
|
|
<u-icon name="arrow-up" color="#999" size="28"></u-icon>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
- <view class="footerBox_r"><u-button type="primary" shape="circle" @click="addBackOrder">新增调回单</u-button></view>
|
|
|
|
|
|
+ <view class="footerBox_r"><u-button type="primary" shape="circle" @click="addBackOrder">确定</u-button></view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<!-- 弹窗 -->
|
|
<!-- 弹窗 -->
|
|
@@ -119,18 +114,16 @@
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</u-popup>
|
|
</u-popup>
|
|
- <!-- 查看明细弹窗 -->
|
|
|
|
- <detailModal ref="detailPopup" @clearList='clearOneList' @clearAllList="clearAll" @changeNumRecount="recount" :detailShow="detailFlag" :chooseData="chooseArr" @close="detailFlag=false"></detailModal>
|
|
|
|
</view>
|
|
</view>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
import { reportPage } from '@/api/vinLog';
|
|
import { reportPage } from '@/api/vinLog';
|
|
import { controlQueryList,insert } from '@/api/shelf';
|
|
import { controlQueryList,insert } from '@/api/shelf';
|
|
-import detailModal from './detailModal'
|
|
|
|
|
|
+import productList from './productList.vue'
|
|
export default {
|
|
export default {
|
|
components: {
|
|
components: {
|
|
- detailModal
|
|
|
|
|
|
+ productList
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
@@ -453,10 +446,6 @@ export default {
|
|
width: 100%;
|
|
width: 100%;
|
|
height: 100vh;
|
|
height: 100vh;
|
|
box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
- .header_box {
|
|
|
|
- width: 100%;
|
|
|
|
- height: 142rpx;
|
|
|
|
- padding: 0 20rpx 20rpx;
|
|
|
|
.headerName {
|
|
.headerName {
|
|
padding-bottom: 15rpx;
|
|
padding-bottom: 15rpx;
|
|
color: #222;
|
|
color: #222;
|
|
@@ -481,25 +470,7 @@ export default {
|
|
vertical-align: top;
|
|
vertical-align: top;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- }
|
|
|
|
- .searchBox {
|
|
|
|
- width: 100%;
|
|
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
- padding: 0 20rpx;
|
|
|
|
- border: 1rpx solid #e0e0e0;
|
|
|
|
- border-radius: 50rpx;
|
|
|
|
- box-sizing: border-box;
|
|
|
|
- .searchBox_l {
|
|
|
|
- width: 87%;
|
|
|
|
- }
|
|
|
|
- .searchBox_r {
|
|
|
|
- width: 13%;
|
|
|
|
- text-align: right;
|
|
|
|
- font-size: 46rpx;
|
|
|
|
- color: #999;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
.backOrderCon {
|
|
.backOrderCon {
|
|
width: 100%;
|
|
width: 100%;
|