Browse Source

完善出库管理

master
guoxing 10 months ago
parent
commit
8997cea62a
  1. 140
      src/api/outStorage/outStorage.js
  2. 528
      src/views/outStorage/alreadyOutStorage/index.vue
  3. 325
      src/views/outStorage/toAllocated/index.vue
  4. 481
      src/views/outStorage/toOutStorage/index.vue
  5. 529
      src/views/outStorage/zeroPicking/index.vue
  6. 12
      src/views/system/organizationManage/organizationManage.vue

140
src/api/outStorage/outStorage.js

@ -5,7 +5,7 @@ export default {
// 查询分页列表
listPage: function(params) {
return request({
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseoutbill/listPage',
method: 'post',
data: params,
@ -15,53 +15,80 @@ export default {
})
},
// 修改承运商
updateCarrier: function(data) {
return request({
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseoutbill/updateCarrier',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
});
},
// 修改运单号
updateWaybillNumber: function(data) {
return request({
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseoutbill/updateWaybillNumber',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
});
},
// 订单商品明细
orderGoodsDetail: function(data) {
return request({
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseoutbilldetail/selectDetailsByBillSid',
method: 'get',
data: data
params: data
});
},
// 库位分配
orderRackDistributionDetail: function(data) {
return request({
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseinvoice/details',
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseoutlocation/details',
method: 'get',
data: data
params: data
});
},
// 收货地址
orderReceivingAddressDetail: function(data) {
return request({
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseinvoice/details',
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseoutbill/getAddresseeBySid',
method: 'get',
data: data
params: data
});
},
// 发票明细
orderInvoiveDetail: function(data) {
return request({
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseinvoice/details',
method: 'get',
data: data
params: data
});
},
// 保存发票明细
saveOrderInvoive: function(data) {
return request({
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/apiadmin/warehouseinvoice/saveOrUpdate',
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseinvoice/saveOrUpdate',
method: 'post',
data: params,
data: data,
headers: {
'Content-Type': 'application/json'
}
@ -71,24 +98,99 @@ export default {
// 备注/留言
orderRemarksDetail: function(data) {
return request({
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseinvoice/details',
method: 'get',
data: data
params: data
});
},
// 操作记录
orderOperationDetail: function(data) {
return request({
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseinvoice/details',
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/operationrecord/details',
method: 'get',
params: data
});
},
// 查询商品可用库位分配
selAvailableBySkuSid: function(data) {
return request({
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseinventory/selAvailableBySkuSid',
method: 'get',
data: data
params: data
});
},
// 保存商品可用库位分配
saveSelAvailable: function(data) {
return request({
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseoutlocation/saveOrUpdate',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
});
},
// 打到零拣 --> 零拣打单
toBePickOut: function(data) {
return request({
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseoutbill/toBePickOut',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
});
},
// 撤回待分配 -->待分配
toBeAllocated: function(data) {
return request({
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseoutbill/toBeAllocated',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
});
},
// 确认打单-->待出库
toBeOutbound: function(data) {
return request({
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseoutbill/toBeOutbound',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
});
},
// 待出库-->确认出库
confirmOutbound: function(data) {
return request({
// baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseoutbill/confirmOutbound',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
});
},
// // 查询分页列表
// listPage: function(params) {
// return request({

528
src/views/outStorage/alreadyOutStorage/index.vue

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="待分配管理" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<button-bar ref="btnbar" view-title="已出库管理" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">
@ -13,7 +13,10 @@
<el-input v-model="queryParams.params.externalOrderNumber" placeholder="" clearable />
</el-form-item>
<el-form-item label="承运商">
<el-input v-model="queryParams.params.carrier" placeholder="" clearable />
<el-select v-model="queryParams.params.carrier" placeholder="请选择" style="width: 200px;">
<el-option v-for="(item,i) in carrierList" :key="i" :label="item.dictValue" :value="item.dictKey">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="运单号">
<el-input v-model="queryParams.params.waybillNumber" placeholder="" clearable />
@ -50,7 +53,7 @@
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">待分配列表</div>
<div class="tit">已出库列表</div>
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
@ -69,8 +72,20 @@
<el-table-column prop="outboundType" width="120" label="出库类型" align="center" />
<el-table-column prop="inventoryStatus" width="120" label="库存状态" align="center" />
<el-table-column prop="shipper" width="100" label="货主" align="center" />
<el-table-column prop="carrier" width="120" label="承运商" align="center" />
<el-table-column prop="waybillNumber" width="120" label="运单号" align="center" />
<el-table-column label="承运商" align="center" width="150">
<template slot-scope="scope">
<el-select v-model="scope.row.carrier" placeholder="请选择" @change="selectCarrier(scope.row,$event)">
<el-option v-for="(item,i) in carrierList" :key="i" :label="item.dictValue" :value="item.dictKey">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="运单号" align="center" min-width="200">
<template slot-scope="scope">
<el-input ref="" v-model="scope.row.waybillNumber" clearable placeholder=""
@change="itemWaybillNumber(scope.row)" />
</template>
</el-table-column>
<el-table-column prop="deliveryMethod" width="100" label="配送方式" align="center" />
<el-table-column prop="buyer" width="100" label="买家" align="center" />
<el-table-column prop="consignee" width="100" label="收货人" align="center" />
@ -99,73 +114,135 @@
<!-- 列表底部信息 -->
<div class="">
<el-tabs v-model="activeName" type="border-card">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%"
@selection-change="selectionLineChangeHandle" @row-click="rowItemClick">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="externalState" width="100" label="外部状态" align="center" />
<el-table-column prop="billNo" width="150" label="订单号" align="center" />
<el-table-column prop="externalOrderNumber" width="150" label="外部单号" align="center" />
<el-table-column prop="onlineOrderNumber" width="150" label="线上订单号" align="center" />
<el-table-column prop="paymentTime" width="160" label="付款时间" align="center" />
<el-table-column prop="outboundType" width="120" label="出库类型" align="center" />
<el-table-column prop="inventoryStatus" width="120" label="库存状态" align="center" />
<el-table-column prop="shipper" width="100" label="货主" align="center" />
<el-table-column label="承运商" align="center" width="150">
<template slot-scope="scope">
<el-select v-model="scope.row.carrier" placeholder="请选择" @change="selectCarrier(scope.row,$event)">
<el-option v-for="(item,i) in carrierList" :key="i" :label="item.dictValue" :value="item.dictKey">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="运单号" align="center" min-width="200">
<template slot-scope="scope">
<el-input ref="" v-model="scope.row.waybillNumber" clearable placeholder=""
@change="itemWaybillNumber(scope.row)" />
</template>
</el-table-column>
<el-table-column prop="deliveryMethod" width="100" label="配送方式" align="center" />
<el-table-column prop="buyer" width="100" label="买家" align="center" />
<el-table-column prop="consignee" width="100" label="收货人" align="center" />
<el-table-column prop="address" width="250" label="详细地址" align="center" />
<el-table-column prop="mobile" width="120" label="手机号" align="center" />
<el-table-column prop="actualPayment" width="80" label="实付" align="center" />
<el-table-column prop="discount" width="80" label="优惠" align="center" />
<el-table-column prop="freight" min-width="80" label="运费" align="center" />
<el-table-column prop="weight" width="80" label="重量" align="center" />
<el-table-column prop="weightEstimation" width="80" label="估重" align="center" />
<el-table-column prop="volume" width="80" label="体积" align="center" />
<el-table-column prop="quantity" width="100" label="商品总数" align="center" />
<el-table-column prop="orderTime" width="160" label="下单时间" align="center" />
<el-table-column prop="deliveryTime" width="160" label="到货时间" align="center" />
<el-table-column prop="latestDeliveryTime" width="160" label="最晚发货时间" align="center" />
</el-table>
</div>
<!-- End 项目列表 -->
<!-- <div class="pages">
<div class="tit" /> -->
<!-- 翻页 -->
<!-- <pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div> -->
<!-- 列表底部信息 -->
<div class="">
<el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
<el-tab-pane name="first">
<span slot="label">订单明细(: {{from.detailsList.length}} )</span>
<el-table :data="from.detailsList" border style="width: 100%">
<span slot="label">订单明细(: {{from.first .length}} )</span>
<el-table :data="from.first " border style="width: 100%">
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" width="120" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" width="120" align="center" />
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" />
<el-table-column prop="barCode" label="商品条码" align="center" />
<el-table-column prop="barCode" label="商品条码" width="120" align="center" />
<el-table-column prop="unit" label="单位" align="center" />
<el-table-column prop="price" label="单价" align="center" />
<el-table-column prop="orderCount" label="数量" align="center" />
<el-table-column prop="actualPrice" label="应收" align="center" />
<el-table-column prop="salesAmount" label="实际成交单价" align="center" />
<el-table-column prop="serialNumber" label="销售金额" align="center" />
<el-table-column prop="batchNumber" label="序列号" align="center" />
<el-table-column prop="reack" label="库位" align="center" />
<el-table-column prop="batchNumber" label="指定批次号" align="center" />
<el-table-column prop="dateOfManufacture" label="指定生产日期" align="center" />
<el-table-column prop="expirationDate" label="指定过期日期" align="center" />
<el-table-column prop="batchExpansion" label="指定批次扩展属性" align="center" />
<el-table-column prop="remarks" label="明细备注" align="center" />
<el-table-column prop="salesAmount" label="实际成交单价" width="160" align="center" />
<el-table-column prop="salesAmount" label="销售金额" width="160" align="center" />
<el-table-column prop="serialNumber" label="序列号" align="center" />
<el-table-column label="库位" align="center">
<template slot-scope="scope">
<div style="color: #1890FF; text-decoration: underline ; cursor:pointer;"
@click="showStock(scope.row)">
{{scope.row.reackState}}
</div>
</template>
</el-table-column>
<el-table-column prop="batchNumber" label="指定批次号" width="160" align="center" />
<el-table-column prop="dateOfManufacture" label="指定生产日期" width="160" align="center" />
<el-table-column prop="expirationDate" label="指定过期日期" width="160" align="center" />
<el-table-column prop="batchExpansion" label="指定批次扩展属性" width="160" align="center" />
<el-table-column prop="remarks" label="明细备注" width="120" align="center" />
</el-table>
</el-tab-pane>
<el-tab-pane name="two" label="库位分配">
<el-table :data="from.detailsList" border style="width: 100%">
<el-table :data="from.two" border style="width: 100%">
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="goodsSkuTitle" label="商品名称" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" />
<el-table-column prop="specValue" label="规格" align="center" />
<el-table-column prop="remarks" label="库位编码" align="center" />
<el-table-column prop="spec" label="规格" align="center" />
<el-table-column prop="rackCode" label="库位编码" align="center" />
<el-table-column prop="count" label="分配数量" align="center" />
</el-table>
</el-tab-pane>
<el-tab-pane name="three" label="收件地址">
<el-form ref="consignee" :model="from" class="formaddcopy02">
<el-form ref="consignee" :model="from.three" class="formaddcopy02">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8">
<div class="span-sty">收货人</div>
<el-form-item> <span class="addinputInfo">{{ from.consignee }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.consignee }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">固话</div>
<el-form-item> <span class="addinputInfo">{{ from.fixedLine }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.fixedLine }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">手机号</div>
<el-form-item> <span class="addinputInfo">{{ from.mobile }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.mobile }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty"></div>
<el-form-item> <span class="addinputInfo">{{ from.province }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.province }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"></div>
<el-form-item> <span class="addinputInfo">{{ from.city }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.city }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"></div>
<el-form-item> <span class="addinputInfo">{{ from.county }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.county }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">详细地址</div>
<el-form-item> <span class="addinputInfo">{{ from.address }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.address }}</span></el-form-item>
</el-col>
</el-row>
</el-form>
@ -175,11 +252,12 @@
<div style="display: flex;flex-direction: row;">
<div style="flex: 1;">
<el-form ref="consignee" :model="from" class="formaddcopy02" style="margin-top: -10px;">
<el-form ref="consignee" :model="from.four" class="formaddcopy02" style="margin-top: -10px;">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8">
<div class="span-sty">发票类型</div>
<el-select v-model="from.billState" placeholder="请选择" class="addinputInfo addinputw">
<el-select v-model="from.four.invoiceTypeValue" placeholder="请选择" class="addinputInfo addinputw"
@change="selectInvoiceTypeChange">
<el-option v-for="(item,i) in billingTypeList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey">
</el-option>
@ -187,39 +265,40 @@
</el-col>
<el-col :span="8">
<div class="span-sty">开票方</div>
<el-form-item> <el-input v-model="from.waybillNumber" placeholder="" clearable
<el-form-item> <el-input v-model="from.four.invoicingParty" placeholder="" clearable
class="addinputInfo addinputw" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">抬头</div>
<el-form-item> <el-input v-model="from.waybillNumber" placeholder="" clearable
<el-form-item> <el-input v-model="from.four.rise" placeholder="" clearable
class="addinputInfo addinputw" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">开票总金额</div>
<el-form-item> <el-input v-model="from.waybillNumber" placeholder="" clearable
<el-form-item> <el-input v-model="from.four.totalAmount" placeholder="" clearable
class="addinputInfo addinputw" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">税号</div>
<el-form-item> <el-input v-model="from.waybillNumber" placeholder="" clearable
<el-form-item> <el-input v-model="from.four.dutyParagraph" placeholder="" clearable
class="addinputInfo addinputw" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">发票备注</div>
<el-form-item> <el-input v-model="from.waybillNumber" placeholder="" clearable
<el-form-item> <el-input v-model="from.four.remarks" placeholder="" clearable
class="addinputInfo addinputw" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">内容类型</div>
<el-form-item> <el-radio-group v-model="from.state" size="small" class="addinputInfo addinputw">
<el-radio :label="2">发票商品</el-radio>
<el-radio :label="3">自定义明细</el-radio>
<el-form-item> <el-radio-group v-model="from.four.contentType" size="small"
class="addinputInfo addinputw">
<el-radio :label="'1'">发票商品</el-radio>
<el-radio :label="'2'">自定义明细</el-radio>
</el-radio-group></el-form-item>
</el-col>
</el-row>
@ -229,16 +308,22 @@
</el-form>
</div>
<div style="flex: 1;" v-show="from.state==3">
<div style="flex: 1;" v-show="from.four.contentType=='2'">
<div style="margin-bottom: 5px">
<el-button type="primary" size="small" @click="chooseGoods">选择商品</el-button>
</div>
<el-table :data="from.detailsList" border style="width: 100%">
<el-table :data="from.four.detailsList" border style="width: 100%">
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="goodsSkuTitle" label="商品名称" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" />
<el-table-column prop="specValue" label="规格" align="center" />
<el-table-column prop="remarks" label="库位编码" align="center" />
<el-table-column fixed label="操作" width="100" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="delGoods(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="unit" label="商品单位" align="center" />
<el-table-column prop="price" label="商品单价" align="center" />
<el-table-column prop="orderCount" label="数量" align="center" />
<el-table-column prop="salesAmount" label="金额" align="center" />
</el-table>
</div>
@ -270,7 +355,7 @@
</div>
</el-tab-pane>
<el-tab-pane name="six" label="操作记录">
<el-table :data="from.operationList" border style="width: 100%">
<el-table :data="from.six" border style="width: 100%">
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="createTime" label="操作时间" width="250" align="center" />
<el-table-column prop="userName" label="操作账号" width="180" align="center" />
@ -283,6 +368,50 @@
</div>
</div>
<el-dialog title="选择商品" :visible.sync="dialogVisible" :before-close="handleClose" style="width:100%;">
<el-table :data="from.first" border style="width: 100%;margin-top: -20px"
@selection-change="handleSelectionChange" ref="main">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="unit" label="商品单位" align="center" />
<el-table-column prop="price" label="商品单价" align="center" />
<el-table-column prop="orderCount" label="数量" align="center" />
<el-table-column prop="salesAmount" label="金额" align="center" />
</el-table>
<div style="display: flex;flex-direction: row;width: 100%;justify-content: center;align-items: center;">
<el-button type="primary" style="margin-top: 20px;" @click="saveData"> </el-button>
</div>
</el-dialog>
<el-dialog title="库位分配选择" :visible.sync="dialogVisible2" :before-close="handleClose2" style="width:100%;">
<el-table :data="goodsStockList" border style="width: 100%;margin-top: -20px;" ref="main">
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="warehouseName" label="仓库" align="center" />
<el-table-column prop="areaName" label="库区" align="center" />
<el-table-column prop="rackName" label="库位" align="center" />
<el-table-column prop="rackCode" label="库位编码" align="center" />
<el-table-column prop="useCount" label="可用库存" align="center" />
<el-table-column label="分配数量" align="center" min-width="200">
<template slot-scope="scope">
<el-input v-model="scope.row.count" clearable placeholder=""
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</template>
</el-table-column>
</el-table>
<div style="display: flex;flex-direction: row;width: 100%;justify-content: center;align-items: center;">
<el-button type="primary" style="margin-top: 20px;" @click="saveData2"> </el-button>
</div>
</el-dialog>
</div>
</template>
@ -309,21 +438,23 @@
data() {
return {
activeName: "first",
activeIndex: "1",
activeIndex: "first",
dialogVisible: false,
dialogVisible2: false,
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '打到零拣'
},
btnList: [
// {
// type: 'primary',
// size: 'small',
// icon: 'plus',
// btnKey: 'toAdd',
// btnLabel: ''
// },
// {
// type: 'success',
// size: 'small',
@ -366,20 +497,28 @@
"menuUrl": "",
"orgPath": "",
"userSid": "",
"billState": "0", //0 1 2 3
"billState": "3", //0 1 2 3
}
},
sids: [],
selectionList: [],
rowItemSid: "",
billingTypeList: [],
carrierList: [],
outboundTypeList: [{
sid: "1",
name: "销售出库"
}],
from: {
detailsList: [],
operationList: []
first: [],
two: [],
three: {},
four: {},
five: {},
six: []
},
goodsList: [],
goodsStockList: []
}
},
@ -402,12 +541,17 @@
}
})
},
typeValues({
type: 'carrier'
}).then((res) => {
if (res.success) {
this.carrierList = res.data
}
})
rowItemClick(row) {
console.log("row", row);
this.rowItemSid = row.sid
},
handleClick(table) {
console.log("handleClick", table.name);
if (this.rowItemSid == '') {
this.$message({
@ -417,20 +561,82 @@
})
return
}
this.activeIndex = table.name
//
if (table.name == 'first') {
this.from.first = []
req.orderGoodsDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.first = resp.data
}).catch(() => {})
}
//
if (table.name == 'two') {
this.from.two = []
req.orderRackDistributionDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.two = resp.data
}).catch(() => {})
}
//
if (table.name == 'three') {
this.from.three = {}
req.orderReceivingAddressDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.three = resp.data
}).catch(() => {})
}
//
if (table.name == 'four') {
this.from.four = {}
req.orderInvoiveDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.four = resp.data
}).catch(() => {})
}
// /
if (table.name == 'five') {
this.from.five = {}
req.orderRemarksDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.five = resp.data
}).catch(() => {})
}
//
if (table.name == 'six') {
this.from.six = []
req.orderOperationDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.six = resp.data
}).catch(() => {})
}
req.init({
sid: row.sid
}).then((resp) => {
this.from = resp.data
}).catch(() => {})
},
rowItemClick(row) {
console.log("row", row);
// this.handleSelect(this.activeIndex)
},
if (row.sid == '') {
this.$message({
type: 'warning',
showClose: true,
message: '暂无数据'
})
return
}
this.rowItemSid = row.sid
var table = {
name: this.activeIndex
}
this.handleClick(table)
handleSelect(val) {
console.log("val", val);
this.activeIndex = val
},
selectionLineChangeHandle(val) {
@ -486,6 +692,14 @@
this.queryParams.total = data.total
this.dataList = data.records
this.rowItemClick(this.dataList[0])
this.from = {
first: [],
two: [],
three: {},
four: {},
five: {},
six: []
}
} else {
// resp.code
this.dataList = []
@ -527,24 +741,49 @@
"menuUrl": "",
"orgPath": "",
"userSid": "",
"billState": "0", //0 1 2 3
"billState": "3", //0 1 2 3
}
}
this.loadList()
},
toAdd() {
this.dialogParams.params.userSid = window.sessionStorage.getItem('userSid')
this.dialogParams.params.orgPath = window.sessionStorage.getItem('orgSidPath')
this.dialogParams.params.menuUrl = this.$route.path
req.getReservationBill(this.dialogParams).then((resp) => {
console.log("rgetReservationBill>>>>>", resp)
if (resp.success) {
this.billList = resp.data.records
this.dialogVisible = true
}
}).catch(() => {})
if (this.sids.length > 0) {
const tip = '请确认是否提交所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.toBePickOut(this.sids).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({
type: 'warning',
showClose: true,
message: '请至少选择一条记录进行操作'
})
}
},
toPrintBill() {
@ -589,13 +828,128 @@
resetState() {
this.viewState = 1
},
selectInvoiceTypeChange(val) {
const choose = this.billingTypeList.filter((item) => item.dictKey == val)
console.log('>>>>>>>>>selectInvoiceTypeChange', choose)
this.from.four.invoiceType = choose[0].dictKey
this.from.four.invoiceTypeValue = choose[0].dictValue
},
saveInvoice() {
req.saveOrderInvoive(this.from.four).then((resp) => {
}).catch(() => {})
},
chooseGoods() {
this.goodsList = []
this.dialogVisible = true
},
handleClose() {
this.dialogVisible = false
},
handleSelectionChange(val) {
console.log("val", val);
this.goodsList = val
},
saveData() {
this.from.four.detailsList = this.goodsList
this.dialogVisible = false
},
delGoods(index) {
this.from.four.detailsList.splice(index, 1)
},
selectCarrier(row, val) {
console.log("selectCarrier", val);
const choose = this.carrierList.filter((item) => item.dictKey == val)
console.log('>>>>>>>>>selectCarrier', choose)
row.carrier = choose[0].dictValue
row.carrierSid = choose[0].dictKey
var query = {
sid: row.sid,
carrier: row.carrier,
carrierSid: row.carrierSid,
userSid: window.sessionStorage.getItem('userSid')
}
req.updateCarrier(query).then((res) => {})
},
itemWaybillNumber(row) {
console.log("itemWaybillNumber", row);
var query = {
sid: row.sid,
waybillNumber: row.waybillNumber,
userSid: window.sessionStorage.getItem('userSid')
}
req.updateWaybillNumber(query).then((res) => {})
},
showStock(row) {
console.log("showStock", row);
req.selAvailableBySkuSid({
skuSid: row.sid,
sourceBillSid: this.rowItemSid,
orgSid: window.sessionStorage.getItem('orgSid')
}).then((res) => {
console.log("selAvailableBySkuSid", res);
if (res.success) {
this.goodsStockList = res.data
this.dialogVisible2 = true
} else {
// resp.code
}
})
},
handleClose2() {
this.dialogVisible2 = false
},
saveData2() {
console.log("saveData2", this.goodsStockList);
var goodsStocks = []
for (var i = 0; i < this.goodsStockList.length; i++) {
var item = this.goodsStockList[i]
if (Number(item.count) > 0) {
goodsStocks.push({
"sid": item.locationSid,
"sourceBillSid": this.rowItemSid,
"goodsSkuSid": item.goodsSkuSid,
"goodsSpuName": item.goodsSpuName,
"goodsSpuTitle": "",
"goodsSkuCode": '',
"count": item.count,
"rackSid": item.rackSid,
"rackCode": item.rackCode,
"inventorySid": item.sid,
"initialCount": item.initialCount
})
}
}
req.saveSelAvailable(goodsStocks).then((res) => {
console.log("saveSelAvailable", res);
if (res.success) {
this.dialogVisible2 = false
} else {
// resp.code
}
})
}
}
}
</script>

325
src/views/outStorage/toAllocated/index.vue

@ -13,7 +13,10 @@
<el-input v-model="queryParams.params.externalOrderNumber" placeholder="" clearable />
</el-form-item>
<el-form-item label="承运商">
<el-input v-model="queryParams.params.carrier" placeholder="" clearable />
<el-select v-model="queryParams.params.carrier" placeholder="请选择" style="width: 200px;">
<el-option v-for="(item,i) in carrierList" :key="i" :label="item.dictValue" :value="item.dictKey">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="运单号">
<el-input v-model="queryParams.params.waybillNumber" placeholder="" clearable />
@ -62,20 +65,32 @@
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="externalState" width="100" label="外部状态" align="center" />
<el-table-column prop="billNo" width="120" label="订单号" align="center" />
<el-table-column prop="externalOrderNumber" width="120" label="外部单号" align="center" />
<el-table-column prop="onlineOrderNumber" width="120" label="线上订单号" align="center" />
<el-table-column prop="billNo" width="150" label="订单号" align="center" />
<el-table-column prop="externalOrderNumber" width="150" label="外部单号" align="center" />
<el-table-column prop="onlineOrderNumber" width="150" label="线上订单号" align="center" />
<el-table-column prop="paymentTime" width="160" label="付款时间" align="center" />
<el-table-column prop="outboundType" width="120" label="出库类型" align="center" />
<el-table-column prop="inventoryStatus" width="120" label="库存状态" align="center" />
<el-table-column prop="shipper" width="100" label="货主" align="center" />
<el-table-column prop="carrier" width="120" label="承运商" align="center" />
<el-table-column prop="waybillNumber" width="120" label="运单号" align="center" />
<el-table-column label="承运商" align="center" width="150">
<template slot-scope="scope">
<el-select v-model="scope.row.carrier" placeholder="请选择" @change="selectCarrier(scope.row,$event)">
<el-option v-for="(item,i) in carrierList" :key="i" :label="item.dictValue" :value="item.dictKey">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="运单号" align="center" min-width="200">
<template slot-scope="scope">
<el-input ref="" v-model="scope.row.waybillNumber" clearable placeholder=""
@change="itemWaybillNumber(scope.row)" />
</template>
</el-table-column>
<el-table-column prop="deliveryMethod" width="100" label="配送方式" align="center" />
<el-table-column prop="buyer" width="100" label="买家" align="center" />
<el-table-column prop="consignee" width="100" label="收货人" align="center" />
<el-table-column prop="address" width="200" label="详细地址" align="center" />
<el-table-column prop="mobile" width="100" label="手机号" align="center" />
<el-table-column prop="address" width="250" label="详细地址" align="center" />
<el-table-column prop="mobile" width="120" label="手机号" align="center" />
<el-table-column prop="actualPayment" width="80" label="实付" align="center" />
<el-table-column prop="discount" width="80" label="优惠" align="center" />
<el-table-column prop="freight" min-width="80" label="运费" align="center" />
@ -104,32 +119,40 @@
<span slot="label">订单明细(: {{from.first .length}} )</span>
<el-table :data="from.first " border style="width: 100%">
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" width="120" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" width="120" align="center" />
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" />
<el-table-column prop="barCode" label="商品条码" align="center" />
<el-table-column prop="barCode" label="商品条码" width="120" align="center" />
<el-table-column prop="unit" label="单位" align="center" />
<el-table-column prop="price" label="单价" align="center" />
<el-table-column prop="orderCount" label="数量" align="center" />
<el-table-column prop="actualPrice" label="应收" align="center" />
<el-table-column prop="salesAmount" label="实际成交单价" align="center" />
<el-table-column prop="serialNumber" label="销售金额" align="center" />
<el-table-column prop="batchNumber" label="序列号" align="center" />
<el-table-column prop="reack" label="库位" align="center" />
<el-table-column prop="batchNumber" label="指定批次号" align="center" />
<el-table-column prop="dateOfManufacture" label="指定生产日期" align="center" />
<el-table-column prop="expirationDate" label="指定过期日期" align="center" />
<el-table-column prop="batchExpansion" label="指定批次扩展属性" align="center" />
<el-table-column prop="remarks" label="明细备注" align="center" />
<el-table-column prop="salesAmount" label="实际成交单价" width="160" align="center" />
<el-table-column prop="salesAmount" label="销售金额" width="160" align="center" />
<el-table-column prop="serialNumber" label="序列号" align="center" />
<el-table-column label="库位" align="center">
<template slot-scope="scope">
<div style="color: #1890FF; text-decoration: underline ; cursor:pointer;"
@click="showStock(scope.row)">
{{scope.row.rackStateValue}}
</div>
</template>
</el-table-column>
<el-table-column prop="batchNumber" label="指定批次号" width="160" align="center" />
<el-table-column prop="dateOfManufacture" label="指定生产日期" width="160" align="center" />
<el-table-column prop="expirationDate" label="指定过期日期" width="160" align="center" />
<el-table-column prop="batchExpansion" label="指定批次扩展属性" width="160" align="center" />
<el-table-column prop="remarks" label="明细备注" width="120" align="center" />
</el-table>
</el-tab-pane>
<el-tab-pane name="two" label="库位分配">
<el-table :data="from.two" border style="width: 100%">
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="goodsSkuTitle" label="商品名称" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" />
<el-table-column prop="specValue" label="规格" align="center" />
<el-table-column prop="remarks" label="库位编码" align="center" />
<el-table-column prop="spec" label="规格" align="center" />
<el-table-column prop="rackCode" label="库位编码" align="center" />
<el-table-column prop="count" label="分配数量" align="center" />
</el-table>
</el-tab-pane>
<el-tab-pane name="three" label="收件地址">
@ -218,7 +241,7 @@
<el-row>
<el-col :span="24">
<div class="span-sty">内容类型</div>
<el-form-item> <el-radio-group v-model="from.four.contentTypeValue" size="small"
<el-form-item> <el-radio-group v-model="from.four.contentType" size="small"
class="addinputInfo addinputw">
<el-radio :label="'1'">发票商品</el-radio>
<el-radio :label="'2'">自定义明细</el-radio>
@ -231,7 +254,7 @@
</el-form>
</div>
<div style="flex: 1;" v-show="from.four.contentTypeValue=='2'">
<div style="flex: 1;" v-show="from.four.contentType=='2'">
<div style="margin-bottom: 5px">
<el-button type="primary" size="small" @click="chooseGoods">选择商品</el-button>
</div>
@ -245,8 +268,8 @@
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="unit" label="商品单位" align="center" />
<el-table-column prop="price" label="商品单价" align="center" />
<el-table-column prop="count" label="数量" align="center" />
<el-table-column prop="totalAmount" label="金额" align="center" />
<el-table-column prop="orderCount" label="数量" align="center" />
<el-table-column prop="salesAmount" label="金额" align="center" />
</el-table>
</div>
@ -278,7 +301,7 @@
</div>
</el-tab-pane>
<el-tab-pane name="six" label="操作记录">
<el-table :data="from.six.operationList" border style="width: 100%">
<el-table :data="from.six" border style="width: 100%">
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="createTime" label="操作时间" width="250" align="center" />
<el-table-column prop="userName" label="操作账号" width="180" align="center" />
@ -291,17 +314,17 @@
</div>
</div>
<el-dialog title="选择预约单" :visible.sync="dialogVisible" :before-close="handleClose"
style="width:150%;margin-left: -20%;">
<el-dialog title="选择商品" :visible.sync="dialogVisible" :before-close="handleClose" style="width:100%;">
<el-table :data="from.first" border style="width: 100%" @selection-change="handleSelectionChange" ref="main">
<el-table :data="from.first" border style="width: 100%;margin-top: -20px"
@selection-change="handleSelectionChange" ref="main">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="unit" label="商品单位" align="center" />
<el-table-column prop="price" label="商品单价" align="center" />
<el-table-column prop="count" label="数量" align="center" />
<el-table-column prop="totalAmount" label="金额" align="center" />
<el-table-column prop="orderCount" label="数量" align="center" />
<el-table-column prop="salesAmount" label="金额" align="center" />
</el-table>
<div style="display: flex;flex-direction: row;width: 100%;justify-content: center;align-items: center;">
@ -310,6 +333,28 @@
</el-dialog>
<el-dialog title="库位分配选择" :visible.sync="dialogVisible2" :before-close="handleClose2" style="width:100%;">
<el-table :data="goodsStockList" border style="width: 100%;margin-top: -20px;" ref="main">
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="warehouseName" label="仓库" align="center" />
<el-table-column prop="areaName" label="库区" align="center" />
<el-table-column prop="rackName" label="库位" align="center" />
<el-table-column prop="rackCode" label="库位编码" align="center" />
<el-table-column prop="useCount" label="可用库存" align="center" />
<el-table-column label="分配数量" align="center" min-width="200">
<template slot-scope="scope">
<el-input v-model="scope.row.count" clearable placeholder=""
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</template>
</el-table-column>
</el-table>
<div style="display: flex;flex-direction: row;width: 100%;justify-content: center;align-items: center;">
<el-button type="primary" style="margin-top: 20px;" @click="saveData2"> </el-button>
</div>
</el-dialog>
</div>
@ -338,8 +383,9 @@
data() {
return {
activeName: "first",
activeIndex: "1",
activeIndex: "first",
dialogVisible: false,
dialogVisible2: false,
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
@ -402,6 +448,7 @@
selectionList: [],
rowItemSid: "",
billingTypeList: [],
carrierList: [],
outboundTypeList: [{
sid: "1",
name: "销售出库"
@ -414,7 +461,8 @@
five: {},
six: []
},
goodsList: []
goodsList: [],
goodsStockList: []
}
},
@ -437,17 +485,36 @@
}
})
typeValues({
type: 'carrier'
}).then((res) => {
if (res.success) {
this.carrierList = res.data
}
})
},
handleClick(table) {
console.log("handleClick", table.name);
if (this.rowItemSid == '') {
this.$message({
type: 'warning',
showClose: true,
message: '暂无数据'
})
return
}
this.activeIndex = table.name
//
if (table.name == 'first') {
this.from.first = []
req.orderGoodsDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.first = resp.data
if (resp.success && resp.data != null) {
this.from.first = resp.data
}
}).catch(() => {})
}
//
@ -456,7 +523,10 @@
req.orderRackDistributionDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.two = resp.data
if (resp.success && resp.data != null) {
this.from.two = resp.data
}
}).catch(() => {})
}
//
@ -465,7 +535,10 @@
req.orderReceivingAddressDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.three = resp.data
if (resp.success && resp.data != null) {
this.from.three = resp.data
}
}).catch(() => {})
}
//
@ -474,7 +547,10 @@
req.orderInvoiveDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.four = resp.data
if (resp.success && resp.data != null) {
this.from.four = resp.data
}
}).catch(() => {})
}
// /
@ -483,7 +559,10 @@
req.orderRemarksDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.five = resp.data
if (resp.success && resp.data != null) {
this.from.five = resp.data
}
}).catch(() => {})
}
//
@ -492,7 +571,10 @@
req.orderOperationDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.six = resp.data
if (resp.success && resp.data != null) {
this.from.six = resp.data
}
}).catch(() => {})
}
@ -500,9 +582,8 @@
rowItemClick(row) {
console.log("row", row);
this.rowItemSid = row.sid
if (this.rowItemSid == '') {
if (row.sid == '') {
this.$message({
type: 'warning',
showClose: true,
@ -510,6 +591,11 @@
})
return
}
this.rowItemSid = row.sid
var table = {
name: this.activeIndex
}
this.handleClick(table)
},
selectionLineChangeHandle(val) {
@ -573,10 +659,6 @@
five: {},
six: []
}
var table = {
name: 'first'
}
this.handleClick(table)
} else {
// resp.code
this.dataList = []
@ -625,17 +707,49 @@
},
toAdd() {
this.dialogParams.params.userSid = window.sessionStorage.getItem('userSid')
this.dialogParams.params.orgPath = window.sessionStorage.getItem('orgSidPath')
this.dialogParams.params.menuUrl = this.$route.path
req.getReservationBill(this.dialogParams).then((resp) => {
console.log("rgetReservationBill>>>>>", resp)
if (resp.success) {
this.billList = resp.data.records
this.dialogVisible = true
}
}).catch(() => {})
if (this.sids.length > 0) {
const tip = '请确认是否提交所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
var params = {
billState: "1", // 0 1 2 3
userSid: window.sessionStorage.getItem('userSid'),
sid: this.sids.join(",")
}
req.toBePickOut(params).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({
type: 'warning',
showClose: true,
message: '请至少选择一条记录进行操作'
})
}
},
toPrintBill() {
@ -689,7 +803,11 @@
},
saveInvoice() {
req.saveOrderInvoive(this.from.four).then((resp) => {
this.$message({
type: 'success',
message: "保存成功",
showClose: true
})
}).catch(() => {})
},
chooseGoods() {
@ -710,6 +828,95 @@
},
delGoods(index) {
this.from.four.detailsList.splice(index, 1)
},
selectCarrier(row, val) {
console.log("selectCarrier", val);
const choose = this.carrierList.filter((item) => item.dictKey == val)
console.log('>>>>>>>>>selectCarrier', choose)
row.carrier = choose[0].dictValue
row.carrierSid = choose[0].dictKey
var query = {
sid: row.sid,
carrier: row.carrier,
carrierSid: row.carrierSid,
userSid: window.sessionStorage.getItem('userSid')
}
req.updateCarrier(query).then((res) => {})
},
itemWaybillNumber(row) {
console.log("itemWaybillNumber", row);
var query = {
sid: row.sid,
waybillNumber: row.waybillNumber,
userSid: window.sessionStorage.getItem('userSid')
}
req.updateWaybillNumber(query).then((res) => {})
},
showStock(row) {
console.log("showStock", row);
req.selAvailableBySkuSid({
skuSid: row.goodsSkuSid,
sourceBillSid: this.rowItemSid,
orgSid: window.sessionStorage.getItem('orgSid')
}).then((res) => {
console.log("selAvailableBySkuSid", res);
if (res.success) {
this.goodsStockList = res.data
this.dialogVisible2 = true
} else {
// resp.code
}
})
},
handleClose2() {
this.dialogVisible2 = false
},
saveData2() {
console.log("saveData2", this.goodsStockList);
var goodsStocks = []
for (var i = 0; i < this.goodsStockList.length; i++) {
var item = this.goodsStockList[i]
if (Number(item.count) > 0) {
goodsStocks.push({
"sid": item.locationSid,
"sourceBillSid": this.rowItemSid,
"goodsSkuSid": item.goodsSkuSid,
"goodsSpuName": item.goodsSpuName,
"goodsSpuTitle": "",
"goodsSkuCode": '',
"count": item.count,
"rackSid": item.rackSid,
"rackCode": item.rackCode,
"inventorySid": item.sid,
"initialCount": item.initialCount
})
}
}
req.saveSelAvailable(goodsStocks).then((res) => {
console.log("saveSelAvailable", res);
if (res.success) {
this.dialogVisible2 = false
} else {
// resp.code
}
})
}
}

481
src/views/outStorage/toOutStorage/index.vue

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="分配管理" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<button-bar ref="btnbar" view-title="出库管理" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">
@ -13,7 +13,10 @@
<el-input v-model="queryParams.params.externalOrderNumber" placeholder="" clearable />
</el-form-item>
<el-form-item label="承运商">
<el-input v-model="queryParams.params.carrier" placeholder="" clearable />
<el-select v-model="queryParams.params.carrier" placeholder="请选择" style="width: 200px;">
<el-option v-for="(item,i) in carrierList" :key="i" :label="item.dictValue" :value="item.dictKey">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="运单号">
<el-input v-model="queryParams.params.waybillNumber" placeholder="" clearable />
@ -50,7 +53,7 @@
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">分配列表</div>
<div class="tit">出库列表</div>
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
@ -62,20 +65,32 @@
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="externalState" width="100" label="外部状态" align="center" />
<el-table-column prop="billNo" width="120" label="订单号" align="center" />
<el-table-column prop="externalOrderNumber" width="120" label="外部单号" align="center" />
<el-table-column prop="onlineOrderNumber" width="120" label="线上订单号" align="center" />
<el-table-column prop="billNo" width="150" label="订单号" align="center" />
<el-table-column prop="externalOrderNumber" width="150" label="外部单号" align="center" />
<el-table-column prop="onlineOrderNumber" width="150" label="线上订单号" align="center" />
<el-table-column prop="paymentTime" width="160" label="付款时间" align="center" />
<el-table-column prop="outboundType" width="120" label="出库类型" align="center" />
<el-table-column prop="inventoryStatus" width="120" label="库存状态" align="center" />
<el-table-column prop="shipper" width="100" label="货主" align="center" />
<el-table-column prop="carrier" width="120" label="承运商" align="center" />
<el-table-column prop="waybillNumber" width="120" label="运单号" align="center" />
<el-table-column label="承运商" align="center" width="150">
<template slot-scope="scope">
<el-select v-model="scope.row.carrier" placeholder="请选择" @change="selectCarrier(scope.row,$event)">
<el-option v-for="(item,i) in carrierList" :key="i" :label="item.dictValue" :value="item.dictKey">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="运单号" align="center" min-width="200">
<template slot-scope="scope">
<el-input ref="" v-model="scope.row.waybillNumber" clearable placeholder=""
@change="itemWaybillNumber(scope.row)" />
</template>
</el-table-column>
<el-table-column prop="deliveryMethod" width="100" label="配送方式" align="center" />
<el-table-column prop="buyer" width="100" label="买家" align="center" />
<el-table-column prop="consignee" width="100" label="收货人" align="center" />
<el-table-column prop="address" width="200" label="详细地址" align="center" />
<el-table-column prop="mobile" width="100" label="手机号" align="center" />
<el-table-column prop="address" width="250" label="详细地址" align="center" />
<el-table-column prop="mobile" width="120" label="手机号" align="center" />
<el-table-column prop="actualPayment" width="80" label="实付" align="center" />
<el-table-column prop="discount" width="80" label="优惠" align="center" />
<el-table-column prop="freight" min-width="80" label="运费" align="center" />
@ -91,81 +106,89 @@
</div>
<!-- End 项目列表 -->
<!-- <div class="pages">
<div class="tit" /> -->
<div class="tit" /> -->
<!-- 翻页 -->
<!-- <pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div> -->
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div> -->
<!-- 列表底部信息 -->
<div class="">
<el-tabs v-model="activeName" type="border-card">
<el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
<el-tab-pane name="first">
<span slot="label">订单明细(: {{from.detailsList.length}} )</span>
<el-table :data="from.detailsList" border style="width: 100%">
<span slot="label">订单明细(: {{from.first .length}} )</span>
<el-table :data="from.first " border style="width: 100%">
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" width="120" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" width="120" align="center" />
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" />
<el-table-column prop="barCode" label="商品条码" align="center" />
<el-table-column prop="barCode" label="商品条码" width="120" align="center" />
<el-table-column prop="unit" label="单位" align="center" />
<el-table-column prop="price" label="单价" align="center" />
<el-table-column prop="orderCount" label="数量" align="center" />
<el-table-column prop="actualPrice" label="应收" align="center" />
<el-table-column prop="salesAmount" label="实际成交单价" align="center" />
<el-table-column prop="serialNumber" label="销售金额" align="center" />
<el-table-column prop="batchNumber" label="序列号" align="center" />
<el-table-column prop="reack" label="库位" align="center" />
<el-table-column prop="batchNumber" label="指定批次号" align="center" />
<el-table-column prop="dateOfManufacture" label="指定生产日期" align="center" />
<el-table-column prop="expirationDate" label="指定过期日期" align="center" />
<el-table-column prop="batchExpansion" label="指定批次扩展属性" align="center" />
<el-table-column prop="remarks" label="明细备注" align="center" />
<el-table-column prop="salesAmount" label="实际成交单价" width="160" align="center" />
<el-table-column prop="salesAmount" label="销售金额" width="160" align="center" />
<el-table-column prop="serialNumber" label="序列号" align="center" />
<el-table-column label="库位" align="center">
<template slot-scope="scope">
<div style="color: #1890FF; text-decoration: underline ; cursor:pointer;"
@click="showStock(scope.row)">
{{scope.row.reackState}}
</div>
</template>
</el-table-column>
<el-table-column prop="batchNumber" label="指定批次号" width="160" align="center" />
<el-table-column prop="dateOfManufacture" label="指定生产日期" width="160" align="center" />
<el-table-column prop="expirationDate" label="指定过期日期" width="160" align="center" />
<el-table-column prop="batchExpansion" label="指定批次扩展属性" width="160" align="center" />
<el-table-column prop="remarks" label="明细备注" width="120" align="center" />
</el-table>
</el-tab-pane>
<el-tab-pane name="two" label="库位分配">
<el-table :data="from.detailsList" border style="width: 100%">
<el-table :data="from.two" border style="width: 100%">
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="goodsSkuTitle" label="商品名称" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" />
<el-table-column prop="specValue" label="规格" align="center" />
<el-table-column prop="remarks" label="库位编码" align="center" />
<el-table-column prop="spec" label="规格" align="center" />
<el-table-column prop="rackCode" label="库位编码" align="center" />
<el-table-column prop="count" label="分配数量" align="center" />
</el-table>
</el-tab-pane>
<el-tab-pane name="three" label="收件地址">
<el-form ref="consignee" :model="from" class="formaddcopy02">
<el-form ref="consignee" :model="from.three" class="formaddcopy02">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8">
<div class="span-sty">收货人</div>
<el-form-item> <span class="addinputInfo">{{ from.consignee }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.consignee }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">固话</div>
<el-form-item> <span class="addinputInfo">{{ from.fixedLine }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.fixedLine }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">手机号</div>
<el-form-item> <span class="addinputInfo">{{ from.mobile }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.mobile }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty"></div>
<el-form-item> <span class="addinputInfo">{{ from.province }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.province }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"></div>
<el-form-item> <span class="addinputInfo">{{ from.city }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.city }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"></div>
<el-form-item> <span class="addinputInfo">{{ from.county }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.county }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">详细地址</div>
<el-form-item> <span class="addinputInfo">{{ from.address }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.address }}</span></el-form-item>
</el-col>
</el-row>
</el-form>
@ -175,11 +198,12 @@
<div style="display: flex;flex-direction: row;">
<div style="flex: 1;">
<el-form ref="consignee" :model="from" class="formaddcopy02" style="margin-top: -10px;">
<el-form ref="consignee" :model="from.four" class="formaddcopy02" style="margin-top: -10px;">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8">
<div class="span-sty">发票类型</div>
<el-select v-model="from.billState" placeholder="请选择" class="addinputInfo addinputw">
<el-select v-model="from.four.invoiceTypeValue" placeholder="请选择" class="addinputInfo addinputw"
@change="selectInvoiceTypeChange">
<el-option v-for="(item,i) in billingTypeList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey">
</el-option>
@ -187,39 +211,40 @@
</el-col>
<el-col :span="8">
<div class="span-sty">开票方</div>
<el-form-item> <el-input v-model="from.waybillNumber" placeholder="" clearable
<el-form-item> <el-input v-model="from.four.invoicingParty" placeholder="" clearable
class="addinputInfo addinputw" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">抬头</div>
<el-form-item> <el-input v-model="from.waybillNumber" placeholder="" clearable
<el-form-item> <el-input v-model="from.four.rise" placeholder="" clearable
class="addinputInfo addinputw" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">开票总金额</div>
<el-form-item> <el-input v-model="from.waybillNumber" placeholder="" clearable
<el-form-item> <el-input v-model="from.four.totalAmount" placeholder="" clearable
class="addinputInfo addinputw" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">税号</div>
<el-form-item> <el-input v-model="from.waybillNumber" placeholder="" clearable
<el-form-item> <el-input v-model="from.four.dutyParagraph" placeholder="" clearable
class="addinputInfo addinputw" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">发票备注</div>
<el-form-item> <el-input v-model="from.waybillNumber" placeholder="" clearable
<el-form-item> <el-input v-model="from.four.remarks" placeholder="" clearable
class="addinputInfo addinputw" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">内容类型</div>
<el-form-item> <el-radio-group v-model="from.state" size="small" class="addinputInfo addinputw">
<el-radio :label="2">发票商品</el-radio>
<el-radio :label="3">自定义明细</el-radio>
<el-form-item> <el-radio-group v-model="from.four.contentType" size="small"
class="addinputInfo addinputw">
<el-radio :label="'1'">发票商品</el-radio>
<el-radio :label="'2'">自定义明细</el-radio>
</el-radio-group></el-form-item>
</el-col>
</el-row>
@ -229,16 +254,22 @@
</el-form>
</div>
<div style="flex: 1;" v-show="from.state==3">
<div style="flex: 1;" v-show="from.four.contentType=='2'">
<div style="margin-bottom: 5px">
<el-button type="primary" size="small" @click="chooseGoods">选择商品</el-button>
</div>
<el-table :data="from.detailsList" border style="width: 100%">
<el-table :data="from.four.detailsList" border style="width: 100%">
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="goodsSkuTitle" label="商品名称" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" />
<el-table-column prop="specValue" label="规格" align="center" />
<el-table-column prop="remarks" label="库位编码" align="center" />
<el-table-column fixed label="操作" width="100" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="delGoods(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="unit" label="商品单位" align="center" />
<el-table-column prop="price" label="商品单价" align="center" />
<el-table-column prop="orderCount" label="数量" align="center" />
<el-table-column prop="salesAmount" label="金额" align="center" />
</el-table>
</div>
@ -270,7 +301,7 @@
</div>
</el-tab-pane>
<el-tab-pane name="six" label="操作记录">
<el-table :data="from.operationList" border style="width: 100%">
<el-table :data="from.six" border style="width: 100%">
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="createTime" label="操作时间" width="250" align="center" />
<el-table-column prop="userName" label="操作账号" width="180" align="center" />
@ -283,6 +314,50 @@
</div>
</div>
<el-dialog title="选择商品" :visible.sync="dialogVisible" :before-close="handleClose" style="width:100%;">
<el-table :data="from.first" border style="width: 100%;margin-top: -20px"
@selection-change="handleSelectionChange" ref="main">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="unit" label="商品单位" align="center" />
<el-table-column prop="price" label="商品单价" align="center" />
<el-table-column prop="orderCount" label="数量" align="center" />
<el-table-column prop="salesAmount" label="金额" align="center" />
</el-table>
<div style="display: flex;flex-direction: row;width: 100%;justify-content: center;align-items: center;">
<el-button type="primary" style="margin-top: 20px;" @click="saveData"> </el-button>
</div>
</el-dialog>
<el-dialog title="库位分配选择" :visible.sync="dialogVisible2" :before-close="handleClose2" style="width:100%;">
<el-table :data="goodsStockList" border style="width: 100%;margin-top: -20px;" ref="main">
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="warehouseName" label="仓库" align="center" />
<el-table-column prop="areaName" label="库区" align="center" />
<el-table-column prop="rackName" label="库位" align="center" />
<el-table-column prop="rackCode" label="库位编码" align="center" />
<el-table-column prop="useCount" label="可用库存" align="center" />
<el-table-column label="分配数量" align="center" min-width="200">
<template slot-scope="scope">
<el-input v-model="scope.row.count" clearable placeholder=""
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</template>
</el-table-column>
</el-table>
<div style="display: flex;flex-direction: row;width: 100%;justify-content: center;align-items: center;">
<el-button type="primary" style="margin-top: 20px;" @click="saveData2"> </el-button>
</div>
</el-dialog>
</div>
</template>
@ -309,8 +384,9 @@
data() {
return {
activeName: "first",
activeIndex: "1",
activeIndex: "first",
dialogVisible: false,
dialogVisible2: false,
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
@ -322,7 +398,7 @@
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '打到零拣'
btnLabel: '确认出库'
},
// {
// type: 'success',
@ -366,20 +442,28 @@
"menuUrl": "",
"orgPath": "",
"userSid": "",
"billState": "0", //0 1 2 3
"billState": "2", //0 1 2 3
}
},
sids: [],
selectionList: [],
rowItemSid: "",
carrierList: [],
billingTypeList: [],
outboundTypeList: [{
sid: "1",
name: "销售出库"
}],
from: {
detailsList: [],
operationList: []
first: [],
two: [],
three: {},
four: {},
five: {},
six: []
},
goodsList: [],
goodsStockList: []
}
},
@ -402,12 +486,17 @@
}
})
},
typeValues({
type: 'carrier'
}).then((res) => {
if (res.success) {
this.carrierList = res.data
}
})
rowItemClick(row) {
console.log("row", row);
this.rowItemSid = row.sid
},
handleClick(table) {
console.log("handleClick", table.name);
if (this.rowItemSid == '') {
this.$message({
@ -418,19 +507,80 @@
return
}
req.init({
sid: row.sid
}).then((resp) => {
this.from = resp.data
}).catch(() => {})
this.activeIndex = table.name
//
if (table.name == 'first') {
this.from.first = []
req.orderGoodsDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.first = resp.data
}).catch(() => {})
}
//
if (table.name == 'two') {
this.from.two = []
req.orderRackDistributionDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.two = resp.data
}).catch(() => {})
}
//
if (table.name == 'three') {
this.from.three = {}
req.orderReceivingAddressDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.three = resp.data
}).catch(() => {})
}
//
if (table.name == 'four') {
this.from.four = {}
req.orderInvoiveDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.four = resp.data
}).catch(() => {})
}
// /
if (table.name == 'five') {
this.from.five = {}
req.orderRemarksDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.five = resp.data
}).catch(() => {})
}
//
if (table.name == 'six') {
this.from.six = []
req.orderOperationDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.six = resp.data
}).catch(() => {})
}
// this.handleSelect(this.activeIndex)
},
handleSelect(val) {
console.log("val", val);
this.activeIndex = val
rowItemClick(row) {
console.log("row", row);
if (row.sid == '') {
this.$message({
type: 'warning',
showClose: true,
message: '暂无数据'
})
return
}
this.rowItemSid = row.sid
var table = {
name: this.activeIndex
}
this.handleClick(table)
},
selectionLineChangeHandle(val) {
@ -486,6 +636,14 @@
this.queryParams.total = data.total
this.dataList = data.records
this.rowItemClick(this.dataList[0])
this.from = {
first: [],
two: [],
three: {},
four: {},
five: {},
six: []
}
} else {
// resp.code
this.dataList = []
@ -527,24 +685,56 @@
"menuUrl": "",
"orgPath": "",
"userSid": "",
"billState": "0", //0 1 2 3
"billState": "2", //0 1 2 3
}
}
this.loadList()
},
toAdd() {
this.dialogParams.params.userSid = window.sessionStorage.getItem('userSid')
this.dialogParams.params.orgPath = window.sessionStorage.getItem('orgSidPath')
this.dialogParams.params.menuUrl = this.$route.path
req.getReservationBill(this.dialogParams).then((resp) => {
console.log("rgetReservationBill>>>>>", resp)
if (resp.success) {
this.billList = resp.data.records
this.dialogVisible = true
}
}).catch(() => {})
if (this.sids.length > 0) {
const tip = '请确认是否提交所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
var params = {
billState: "3", // 0 1 2 3
userSid: window.sessionStorage.getItem('userSid'),
sid: this.sids.join(",")
}
req.confirmOutbound(params).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({
type: 'warning',
showClose: true,
message: '请至少选择一条记录进行操作'
})
}
},
toPrintBill() {
@ -589,10 +779,123 @@
resetState() {
this.viewState = 1
},
selectInvoiceTypeChange(val) {
const choose = this.billingTypeList.filter((item) => item.dictKey == val)
console.log('>>>>>>>>>selectInvoiceTypeChange', choose)
this.from.four.invoiceType = choose[0].dictKey
this.from.four.invoiceTypeValue = choose[0].dictValue
},
saveInvoice() {
req.saveOrderInvoive(this.from.four).then((resp) => {
}).catch(() => {})
},
chooseGoods() {
this.goodsList = []
this.dialogVisible = true
},
handleClose() {
this.dialogVisible = false
},
handleSelectionChange(val) {
console.log("val", val);
this.goodsList = val
},
saveData() {
this.from.four.detailsList = this.goodsList
this.dialogVisible = false
},
delGoods(index) {
this.from.four.detailsList.splice(index, 1)
},
selectCarrier(row, val) {
console.log("selectCarrier", val);
const choose = this.carrierList.filter((item) => item.dictKey == val)
console.log('>>>>>>>>>selectCarrier', choose)
row.carrier = choose[0].dictValue
row.carrierSid = choose[0].dictKey
var query = {
sid: row.sid,
carrier: row.carrier,
carrierSid: row.carrierSid,
userSid: window.sessionStorage.getItem('userSid')
}
req.updateCarrier(query).then((res) => {})
},
itemWaybillNumber(row) {
console.log("itemWaybillNumber", row);
var query = {
sid: row.sid,
waybillNumber: row.waybillNumber,
userSid: window.sessionStorage.getItem('userSid')
}
req.updateWaybillNumber(query).then((res) => {})
},
showStock(row) {
console.log("showStock", row);
req.selAvailableBySkuSid({
skuSid: row.goodsSkuSid,
sourceBillSid: this.rowItemSid,
orgSid: window.sessionStorage.getItem('orgSid')
}).then((res) => {
console.log("selAvailableBySkuSid", res);
if (res.success) {
this.goodsStockList = res.data
this.dialogVisible2 = true
} else {
// resp.code
}
})
},
handleClose2() {
this.dialogVisible2 = false
},
saveData2() {
console.log("saveData2", this.goodsStockList);
var goodsStocks = []
for (var i = 0; i < this.goodsStockList.length; i++) {
var item = this.goodsStockList[i]
if (Number(item.count) > 0) {
goodsStocks.push({
"sid": item.locationSid,
"sourceBillSid": this.rowItemSid,
"goodsSkuSid": item.goodsSkuSid,
"goodsSpuName": item.goodsSpuName,
"goodsSpuTitle": "",
"goodsSkuCode": '',
"count": item.count,
"rackSid": item.rackSid,
"rackCode": item.rackCode,
"inventorySid": item.sid,
"initialCount": item.initialCount
})
}
}
req.saveSelAvailable(goodsStocks).then((res) => {
console.log("saveSelAvailable", res);
if (res.success) {
this.dialogVisible2 = false
} else {
// resp.code
}
})
}

529
src/views/outStorage/zeroPicking/index.vue

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="待分配管理" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<button-bar ref="btnbar" view-title="零拣打单管理" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">
@ -13,7 +13,10 @@
<el-input v-model="queryParams.params.externalOrderNumber" placeholder="" clearable />
</el-form-item>
<el-form-item label="承运商">
<el-input v-model="queryParams.params.carrier" placeholder="" clearable />
<el-select v-model="queryParams.params.carrier" placeholder="请选择" style="width: 200px;">
<el-option v-for="(item,i) in carrierList" :key="i" :label="item.dictValue" :value="item.dictKey">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="运单号">
<el-input v-model="queryParams.params.waybillNumber" placeholder="" clearable />
@ -50,7 +53,7 @@
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">待分配列表</div>
<div class="tit">零拣打单列表</div>
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current"
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
@ -62,20 +65,32 @@
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="externalState" width="100" label="外部状态" align="center" />
<el-table-column prop="billNo" width="120" label="订单号" align="center" />
<el-table-column prop="externalOrderNumber" width="120" label="外部单号" align="center" />
<el-table-column prop="onlineOrderNumber" width="120" label="线上订单号" align="center" />
<el-table-column prop="billNo" width="150" label="订单号" align="center" />
<el-table-column prop="externalOrderNumber" width="150" label="外部单号" align="center" />
<el-table-column prop="onlineOrderNumber" width="150" label="线上订单号" align="center" />
<el-table-column prop="paymentTime" width="160" label="付款时间" align="center" />
<el-table-column prop="outboundType" width="120" label="出库类型" align="center" />
<el-table-column prop="inventoryStatus" width="120" label="库存状态" align="center" />
<el-table-column prop="shipper" width="100" label="货主" align="center" />
<el-table-column prop="carrier" width="120" label="承运商" align="center" />
<el-table-column prop="waybillNumber" width="120" label="运单号" align="center" />
<el-table-column label="承运商" align="center" width="150">
<template slot-scope="scope">
<el-select v-model="scope.row.carrier" placeholder="请选择" @change="selectCarrier(scope.row,$event)">
<el-option v-for="(item,i) in carrierList" :key="i" :label="item.dictValue" :value="item.dictKey">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="运单号" align="center" min-width="200">
<template slot-scope="scope">
<el-input ref="" v-model="scope.row.waybillNumber" clearable placeholder=""
@change="itemWaybillNumber(scope.row)" />
</template>
</el-table-column>
<el-table-column prop="deliveryMethod" width="100" label="配送方式" align="center" />
<el-table-column prop="buyer" width="100" label="买家" align="center" />
<el-table-column prop="consignee" width="100" label="收货人" align="center" />
<el-table-column prop="address" width="200" label="详细地址" align="center" />
<el-table-column prop="mobile" width="100" label="手机号" align="center" />
<el-table-column prop="address" width="250" label="详细地址" align="center" />
<el-table-column prop="mobile" width="120" label="手机号" align="center" />
<el-table-column prop="actualPayment" width="80" label="实付" align="center" />
<el-table-column prop="discount" width="80" label="优惠" align="center" />
<el-table-column prop="freight" min-width="80" label="运费" align="center" />
@ -99,73 +114,81 @@
<!-- 列表底部信息 -->
<div class="">
<el-tabs v-model="activeName" type="border-card">
<el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
<el-tab-pane name="first">
<span slot="label">订单明细(: {{from.detailsList.length}} )</span>
<el-table :data="from.detailsList" border style="width: 100%">
<span slot="label">订单明细(: {{from.first .length}} )</span>
<el-table :data="from.first " border style="width: 100%">
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" width="120" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" width="120" align="center" />
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" />
<el-table-column prop="barCode" label="商品条码" align="center" />
<el-table-column prop="barCode" label="商品条码" width="120" align="center" />
<el-table-column prop="unit" label="单位" align="center" />
<el-table-column prop="price" label="单价" align="center" />
<el-table-column prop="orderCount" label="数量" align="center" />
<el-table-column prop="actualPrice" label="应收" align="center" />
<el-table-column prop="salesAmount" label="实际成交单价" align="center" />
<el-table-column prop="serialNumber" label="销售金额" align="center" />
<el-table-column prop="batchNumber" label="序列号" align="center" />
<el-table-column prop="reack" label="库位" align="center" />
<el-table-column prop="batchNumber" label="指定批次号" align="center" />
<el-table-column prop="dateOfManufacture" label="指定生产日期" align="center" />
<el-table-column prop="expirationDate" label="指定过期日期" align="center" />
<el-table-column prop="batchExpansion" label="指定批次扩展属性" align="center" />
<el-table-column prop="remarks" label="明细备注" align="center" />
<el-table-column prop="salesAmount" label="实际成交单价" width="160" align="center" />
<el-table-column prop="salesAmount" label="销售金额" width="160" align="center" />
<el-table-column prop="serialNumber" label="序列号" align="center" />
<el-table-column label="库位" align="center">
<template slot-scope="scope">
<div style="color: #1890FF; text-decoration: underline ; cursor:pointer;"
@click="showStock(scope.row)">
{{scope.row.reackState}}
</div>
</template>
</el-table-column>
<el-table-column prop="batchNumber" label="指定批次号" width="160" align="center" />
<el-table-column prop="dateOfManufacture" label="指定生产日期" width="160" align="center" />
<el-table-column prop="expirationDate" label="指定过期日期" width="160" align="center" />
<el-table-column prop="batchExpansion" label="指定批次扩展属性" width="160" align="center" />
<el-table-column prop="remarks" label="明细备注" width="120" align="center" />
</el-table>
</el-tab-pane>
<el-tab-pane name="two" label="库位分配">
<el-table :data="from.detailsList" border style="width: 100%">
<el-table :data="from.two" border style="width: 100%">
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="goodsSkuTitle" label="商品名称" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" />
<el-table-column prop="specValue" label="规格" align="center" />
<el-table-column prop="remarks" label="库位编码" align="center" />
<el-table-column prop="spec" label="规格" align="center" />
<el-table-column prop="rackCode" label="库位编码" align="center" />
<el-table-column prop="count" label="分配数量" align="center" />
</el-table>
</el-tab-pane>
<el-tab-pane name="three" label="收件地址">
<el-form ref="consignee" :model="from" class="formaddcopy02">
<el-form ref="consignee" :model="from.three" class="formaddcopy02">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8">
<div class="span-sty">收货人</div>
<el-form-item> <span class="addinputInfo">{{ from.consignee }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.consignee }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">固话</div>
<el-form-item> <span class="addinputInfo">{{ from.fixedLine }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.fixedLine }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">手机号</div>
<el-form-item> <span class="addinputInfo">{{ from.mobile }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.mobile }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty"></div>
<el-form-item> <span class="addinputInfo">{{ from.province }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.province }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"></div>
<el-form-item> <span class="addinputInfo">{{ from.city }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.city }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"></div>
<el-form-item> <span class="addinputInfo">{{ from.county }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.county }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">详细地址</div>
<el-form-item> <span class="addinputInfo">{{ from.address }}</span></el-form-item>
<el-form-item> <span class="addinputInfo">{{ from.three.address }}</span></el-form-item>
</el-col>
</el-row>
</el-form>
@ -175,11 +198,12 @@
<div style="display: flex;flex-direction: row;">
<div style="flex: 1;">
<el-form ref="consignee" :model="from" class="formaddcopy02" style="margin-top: -10px;">
<el-form ref="consignee" :model="from.four" class="formaddcopy02" style="margin-top: -10px;">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="8">
<div class="span-sty">发票类型</div>
<el-select v-model="from.billState" placeholder="请选择" class="addinputInfo addinputw">
<el-select v-model="from.four.invoiceTypeValue" placeholder="请选择" class="addinputInfo addinputw"
@change="selectInvoiceTypeChange">
<el-option v-for="(item,i) in billingTypeList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey">
</el-option>
@ -187,39 +211,40 @@
</el-col>
<el-col :span="8">
<div class="span-sty">开票方</div>
<el-form-item> <el-input v-model="from.waybillNumber" placeholder="" clearable
<el-form-item> <el-input v-model="from.four.invoicingParty" placeholder="" clearable
class="addinputInfo addinputw" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">抬头</div>
<el-form-item> <el-input v-model="from.waybillNumber" placeholder="" clearable
<el-form-item> <el-input v-model="from.four.rise" placeholder="" clearable
class="addinputInfo addinputw" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">开票总金额</div>
<el-form-item> <el-input v-model="from.waybillNumber" placeholder="" clearable
<el-form-item> <el-input v-model="from.four.totalAmount" placeholder="" clearable
class="addinputInfo addinputw" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">税号</div>
<el-form-item> <el-input v-model="from.waybillNumber" placeholder="" clearable
<el-form-item> <el-input v-model="from.four.dutyParagraph" placeholder="" clearable
class="addinputInfo addinputw" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">发票备注</div>
<el-form-item> <el-input v-model="from.waybillNumber" placeholder="" clearable
<el-form-item> <el-input v-model="from.four.remarks" placeholder="" clearable
class="addinputInfo addinputw" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">内容类型</div>
<el-form-item> <el-radio-group v-model="from.state" size="small" class="addinputInfo addinputw">
<el-radio :label="2">发票商品</el-radio>
<el-radio :label="3">自定义明细</el-radio>
<el-form-item> <el-radio-group v-model="from.four.contentType" size="small"
class="addinputInfo addinputw">
<el-radio :label="'1'">发票商品</el-radio>
<el-radio :label="'2'">自定义明细</el-radio>
</el-radio-group></el-form-item>
</el-col>
</el-row>
@ -229,16 +254,22 @@
</el-form>
</div>
<div style="flex: 1;" v-show="from.state==3">
<div style="flex: 1;" v-show="from.four.contentType=='2'">
<div style="margin-bottom: 5px">
<el-button type="primary" size="small" @click="chooseGoods">选择商品</el-button>
</div>
<el-table :data="from.detailsList" border style="width: 100%">
<el-table :data="from.four.detailsList" border style="width: 100%">
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="goodsSkuTitle" label="商品名称" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" />
<el-table-column prop="specValue" label="规格" align="center" />
<el-table-column prop="remarks" label="库位编码" align="center" />
<el-table-column fixed label="操作" width="100" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="delGoods(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="unit" label="商品单位" align="center" />
<el-table-column prop="price" label="商品单价" align="center" />
<el-table-column prop="orderCount" label="数量" align="center" />
<el-table-column prop="salesAmount" label="金额" align="center" />
</el-table>
</div>
@ -270,7 +301,7 @@
</div>
</el-tab-pane>
<el-tab-pane name="six" label="操作记录">
<el-table :data="from.operationList" border style="width: 100%">
<el-table :data="from.six" border style="width: 100%">
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="createTime" label="操作时间" width="250" align="center" />
<el-table-column prop="userName" label="操作账号" width="180" align="center" />
@ -283,6 +314,50 @@
</div>
</div>
<el-dialog title="选择商品" :visible.sync="dialogVisible" :before-close="handleClose" style="width:100%;">
<el-table :data="from.first" border style="width: 100%;margin-top: -20px"
@selection-change="handleSelectionChange" ref="main">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" />
<el-table-column prop="unit" label="商品单位" align="center" />
<el-table-column prop="price" label="商品单价" align="center" />
<el-table-column prop="orderCount" label="数量" align="center" />
<el-table-column prop="salesAmount" label="金额" align="center" />
</el-table>
<div style="display: flex;flex-direction: row;width: 100%;justify-content: center;align-items: center;">
<el-button type="primary" style="margin-top: 20px;" @click="saveData"> </el-button>
</div>
</el-dialog>
<el-dialog title="库位分配选择" :visible.sync="dialogVisible2" :before-close="handleClose2" style="width:100%;">
<el-table :data="goodsStockList" border style="width: 100%;margin-top: -20px;" ref="main">
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="warehouseName" label="仓库" align="center" />
<el-table-column prop="areaName" label="库区" align="center" />
<el-table-column prop="rackName" label="库位" align="center" />
<el-table-column prop="rackCode" label="库位编码" align="center" />
<el-table-column prop="useCount" label="可用库存" align="center" />
<el-table-column label="分配数量" align="center" min-width="200">
<template slot-scope="scope">
<el-input v-model="scope.row.count" clearable placeholder=""
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</template>
</el-table-column>
</el-table>
<div style="display: flex;flex-direction: row;width: 100%;justify-content: center;align-items: center;">
<el-button type="primary" style="margin-top: 20px;" @click="saveData2"> </el-button>
</div>
</el-dialog>
</div>
</template>
@ -309,8 +384,9 @@
data() {
return {
activeName: "first",
activeIndex: "1",
activeIndex: "first",
dialogVisible: false,
dialogVisible2: false,
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
@ -322,7 +398,14 @@
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '打到零拣'
btnLabel: '确认打单'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '撤回分配'
},
// {
// type: 'success',
@ -366,20 +449,28 @@
"menuUrl": "",
"orgPath": "",
"userSid": "",
"billState": "0", //0 1 2 3
"billState": "1", //0 1 2 3
}
},
sids: [],
selectionList: [],
rowItemSid: "",
billingTypeList: [],
carrierList: [],
outboundTypeList: [{
sid: "1",
name: "销售出库"
}],
from: {
detailsList: [],
operationList: []
first: [],
two: [],
three: {},
four: {},
five: {},
six: []
},
goodsList: [],
goodsStockList: []
}
},
@ -402,12 +493,18 @@
}
})
},
typeValues({
type: 'carrier'
}).then((res) => {
if (res.success) {
this.carrierList = res.data
}
})
rowItemClick(row) {
console.log("row", row);
this.rowItemSid = row.sid
},
handleClick(table) {
console.log("handleClick", table.name);
if (this.rowItemSid == '') {
this.$message({
@ -417,20 +514,80 @@
})
return
}
this.activeIndex = table.name
//
if (table.name == 'first') {
this.from.first = []
req.orderGoodsDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.first = resp.data
}).catch(() => {})
}
//
if (table.name == 'two') {
this.from.two = []
req.orderRackDistributionDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.two = resp.data
}).catch(() => {})
}
//
if (table.name == 'three') {
this.from.three = {}
req.orderReceivingAddressDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.three = resp.data
}).catch(() => {})
}
//
if (table.name == 'four') {
this.from.four = {}
req.orderInvoiveDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.four = resp.data
}).catch(() => {})
}
// /
if (table.name == 'five') {
this.from.five = {}
req.orderRemarksDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.five = resp.data
}).catch(() => {})
}
//
if (table.name == 'six') {
this.from.six = []
req.orderOperationDetail({
sid: this.rowItemSid
}).then((resp) => {
this.from.six = resp.data
}).catch(() => {})
}
req.init({
sid: row.sid
}).then((resp) => {
this.from = resp.data
}).catch(() => {})
// this.handleSelect(this.activeIndex)
},
handleSelect(val) {
console.log("val", val);
this.activeIndex = val
rowItemClick(row) {
console.log("row", row);
if (row.sid == '') {
this.$message({
type: 'warning',
showClose: true,
message: '暂无数据'
})
return
}
this.rowItemSid = row.sid
var table = {
name: this.activeIndex
}
this.handleClick(table)
},
selectionLineChangeHandle(val) {
@ -458,6 +615,9 @@
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'toPrintBill':
this.toPrintBill()
break
@ -486,6 +646,14 @@
this.queryParams.total = data.total
this.dataList = data.records
this.rowItemClick(this.dataList[0])
this.from = {
first: [],
two: [],
three: {},
four: {},
five: {},
six: []
}
} else {
// resp.code
this.dataList = []
@ -527,25 +695,101 @@
"menuUrl": "",
"orgPath": "",
"userSid": "",
"billState": "0", //0 1 2 3
"billState": "1", //0 1 2 3
}
}
this.loadList()
},
toAdd() {
this.dialogParams.params.userSid = window.sessionStorage.getItem('userSid')
this.dialogParams.params.orgPath = window.sessionStorage.getItem('orgSidPath')
this.dialogParams.params.menuUrl = this.$route.path
req.getReservationBill(this.dialogParams).then((resp) => {
console.log("rgetReservationBill>>>>>", resp)
if (resp.success) {
this.billList = resp.data.records
this.dialogVisible = true
}
}).catch(() => {})
if (this.sids.length > 0) {
const tip = '请确认是否提交所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
var params = {
billState: "2", // 0 1 2 3
userSid: window.sessionStorage.getItem('userSid'),
sid: this.sids.join(",")
}
req.toBeOutbound(params).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({
type: 'warning',
showClose: true,
message: '请至少选择一条记录进行操作'
})
}
},
doDel() {
if (this.sids.length > 0) {
const tip = '请确认是否撤回所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
var params = {
billState: "0", // 0 1 2 3
userSid: window.sessionStorage.getItem('userSid'),
sid: this.sids.join(",")
}
req.toBeAllocated(params).then((resp) => {
loading.close()
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
this.loadList()
} else {
// resp.code
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
} else {
this.$message({
type: 'warning',
showClose: true,
message: '请至少选择一条记录进行操作'
})
}
},
toPrintBill() {
if (this.selectionList.length != 1) {
@ -589,10 +833,125 @@
resetState() {
this.viewState = 1
},
selectInvoiceTypeChange(val) {
const choose = this.billingTypeList.filter((item) => item.dictKey == val)
console.log('>>>>>>>>>selectInvoiceTypeChange', choose)
this.from.four.invoiceType = choose[0].dictKey
this.from.four.invoiceTypeValue = choose[0].dictValue
},
saveInvoice() {
req.saveOrderInvoive(this.from.four).then((resp) => {
}).catch(() => {})
},
chooseGoods() {
this.goodsList = []
this.dialogVisible = true
},
handleClose() {
this.dialogVisible = false
},
handleSelectionChange(val) {
console.log("val", val);
this.goodsList = val
},
saveData() {
this.from.four.detailsList = this.goodsList
this.dialogVisible = false
},
delGoods(index) {
this.from.four.detailsList.splice(index, 1)
},
selectCarrier(row, val) {
console.log("selectCarrier", val);
const choose = this.carrierList.filter((item) => item.dictKey == val)
console.log('>>>>>>>>>selectCarrier', choose)
row.carrier = choose[0].dictValue
row.carrierSid = choose[0].dictKey
var query = {
sid: row.sid,
carrier: row.carrier,
carrierSid: row.carrierSid,
userSid: window.sessionStorage.getItem('userSid')
}
req.updateCarrier(query).then((res) => {})
},
itemWaybillNumber(row) {
console.log("itemWaybillNumber", row);
var query = {
sid: row.goodsSkuSid,
waybillNumber: row.waybillNumber,
userSid: window.sessionStorage.getItem('userSid')
}
req.updateWaybillNumber(query).then((res) => {})
},
showStock(row) {
console.log("showStock", row);
req.selAvailableBySkuSid({
skuSid: row.sid,
sourceBillSid: this.rowItemSid,
orgSid: window.sessionStorage.getItem('orgSid')
}).then((res) => {
console.log("selAvailableBySkuSid", res);
if (res.success) {
this.goodsStockList = res.data
this.dialogVisible2 = true
} else {
// resp.code
}
})
},
handleClose2() {
this.dialogVisible2 = false
},
saveData2() {
console.log("saveData2", this.goodsStockList);
var goodsStocks = []
for (var i = 0; i < this.goodsStockList.length; i++) {
var item = this.goodsStockList[i]
if (Number(item.count) > 0) {
goodsStocks.push({
"sid": item.locationSid,
"sourceBillSid": this.rowItemSid,
"goodsSkuSid": item.goodsSkuSid,
"goodsSpuName": item.goodsSpuName,
"goodsSpuTitle": "",
"goodsSkuCode": '',
"count": item.count,
"rackSid": item.rackSid,
"rackCode": item.rackCode,
"inventorySid": item.sid,
"initialCount": item.initialCount
})
}
}
req.saveSelAvailable(goodsStocks).then((res) => {
console.log("saveSelAvailable", res);
if (res.success) {
this.dialogVisible2 = false
} else {
// resp.code
}
})
}

12
src/views/system/organizationManage/organizationManage.vue

@ -216,7 +216,7 @@
<tr>
<td>主管人员</td>
<td>
<el-select v-model="form.zgStaffSid" style="width:300px" filterable clearable>
<el-select v-model="form.zgNames" style="width:300px" filterable clearable @change="zgNamesChange">
<el-option v-for="item in staffdata" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
</td>
@ -443,8 +443,16 @@
getOrgTree() { //
orgList(window.sessionStorage.getItem('orgSid')).then(res => {
this.treedata = res.data
})
},
zgNamesChange(val) {
console.log('zgNamesChange:', val)
const choose = this.staffdata.filter((item) => item.sid == val)
console.log('>>>>>>>>>zgNamesChange', choose)
this.form.zgNames = choose[0].name
this.form.zgStaffSid = choose[0].sid
},
save() {
if (this.fgStaffSid.length > 0) {
this.form.fgStaffSid = this.fgStaffSid.join()
@ -514,7 +522,7 @@
if (this.form.fgStaffSid) {
this.fgStaffSid = response.data.fgStaffSid.split(',')
}
this.form.zgStaffName = response.data.zgNames
this.form.zgNames = response.data.zgNames
this.form.zgStaffSid = response.data.zgStaffSid
console.log('编辑回显的数据', this.form)
}

Loading…
Cancel
Save