Browse Source

完善出库管理

master
guoxing 10 months ago
parent
commit
85f98bafda
  1. 185
      src/api/outStorage/outStorage.js
  2. 26
      src/api/system/dictType/index.js
  3. 38
      src/router/index.js
  4. 649
      src/views/outStorage/alreadyOutStorage/index.vue
  5. 0
      src/views/outStorage/outStorage/distributionAdd.vue
  6. 0
      src/views/outStorage/outStorage/index.vue
  7. 0
      src/views/outStorage/outStorage/outStorageAdd.vue
  8. 0
      src/views/outStorage/outStorage/outStorageInfo.vue
  9. 0
      src/views/outStorage/outStorage/relation/chooseproducts.vue
  10. 765
      src/views/outStorage/toAllocated/index.vue
  11. 649
      src/views/outStorage/toOutStorage/index.vue
  12. 649
      src/views/outStorage/zeroPicking/index.vue
  13. 181
      src/views/system/menuManage/menuManage.vue
  14. 9
      src/views/system/userManage/userManageList.vue

185
src/api/outStorage/outStorage.js

@ -5,7 +5,8 @@ export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/wms/apiadmin/WmsOutBill/listPage',
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseoutbill/listPage',
method: 'post',
data: params,
headers: {
@ -14,86 +15,172 @@ export default {
})
},
// 详情初始化
init: function(data) {
// 订单商品明细
orderGoodsDetail: function(data) {
return request({
url: '/wms/apiadmin/WmsOutBill/details',
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseoutbilldetail/selectDetailsByBillSid',
method: 'get',
data: data
});
},
// 初始配货单
initDistribution: function(data) {
// 库位分配
orderRackDistributionDetail: function(data) {
return request({
url: '/wms/apiadmin/WmsDistributeBill/getInit',
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseinvoice/details',
method: 'get',
data: data
});
},
// 新增、保存
save: function(data) {
// 收货地址
orderReceivingAddressDetail: function(data) {
return request({
url: '/wms/apiadmin/WmsOutBill/saveOrUpdateOutBill',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseinvoice/details',
method: 'get',
data: data
});
},
// 确认
submit: function(data) {
// 发票明细
orderInvoiveDetail: function(data) {
return request({
url: '/wms/apiadmin/WmsOutBill/confirm',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseinvoice/details',
method: 'get',
data: data
});
},
// 新增、保存 配货单
saveDistribution: function(data) {
// 保存发票明细
saveOrderInvoive: function(data) {
return request({
url: '/wms/apiadmin/WmsDistributeBill/saveOrUpdateBill',
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/apiadmin/warehouseinvoice/saveOrUpdate',
method: 'post',
data: data,
data: params,
headers: {
'Content-Type': 'application/json'
}
});
},
deleteBySids: function(data) {
// 备注/留言
orderRemarksDetail: function(data) {
return request({
url: '/wms/apiadmin/WmsShelfBill/delBySids',
method: 'DELETE',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseinvoice/details',
method: 'get',
data: data
});
},
// 查询分页列表
getGoodsListPage: function(params) {
// 操作记录
orderOperationDetail: function(data) {
return request({
url: '/wms/apiadmin/WmsOutBill/getInventoryList',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
url: '/wms/apiadmin/warehouseinvoice/details',
method: 'get',
data: data
});
},
// // 查询分页列表
// listPage: function(params) {
// return request({
// url: '/wms/apiadmin/WmsOutBill/listPage',
// method: 'post',
// data: params,
// headers: {
// 'Content-Type': 'application/json'
// }
// })
// },
// // 详情初始化
// init: function(data) {
// return request({
// url: '/wms/apiadmin/WmsOutBill/details',
// method: 'get',
// data: data
// });
// },
// // 初始配货单
// initDistribution: function(data) {
// return request({
// url: '/wms/apiadmin/WmsDistributeBill/getInit',
// method: 'get',
// data: data
// });
// },
// // 新增、保存
// save: function(data) {
// return request({
// url: '/wms/apiadmin/WmsOutBill/saveOrUpdateOutBill',
// method: 'post',
// data: data,
// headers: {
// 'Content-Type': 'application/json'
// }
// });
// },
// // 确认
// submit: function(data) {
// return request({
// url: '/wms/apiadmin/WmsOutBill/confirm',
// method: 'post',
// data: data,
// headers: {
// 'Content-Type': 'application/json'
// }
// });
// },
// // 新增、保存 配货单
// saveDistribution: function(data) {
// return request({
// url: '/wms/apiadmin/WmsDistributeBill/saveOrUpdateBill',
// method: 'post',
// data: data,
// headers: {
// 'Content-Type': 'application/json'
// }
// });
// },
// deleteBySids: function(data) {
// return request({
// url: '/wms/apiadmin/WmsShelfBill/delBySids',
// method: 'DELETE',
// data: data,
// headers: {
// 'Content-Type': 'application/json'
// }
// })
// },
// // 查询分页列表
// getGoodsListPage: function(params) {
// return request({
// url: '/wms/apiadmin/WmsOutBill/getInventoryList',
// method: 'post',
// data: params,
// headers: {
// 'Content-Type': 'application/json'
// }
// })
// },
}

26
src/api/system/dictType/index.js

@ -20,7 +20,11 @@ export function putDictType(data) {
return request({
url: '/wms/apiadmin/dicttypes/update/' + data.sid,
method: 'POST',
data: qs.stringify(data)
data: data,
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
@ -30,7 +34,10 @@ export function saveDictType(data) {
url: '/wms/apiadmin/dicttypes/save',
method: 'POST',
data: data,
headers: { 'Content-Type': 'application/json', 'token': tokens }
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
@ -49,7 +56,10 @@ export function saveMappingList(data) {
url: '/wms/apiadmin/sysmapping/saveMappingList',
method: 'POST',
data: data,
headers: { 'Content-Type': 'application/json', 'token': tokens }
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
@ -59,7 +69,10 @@ export function selectMappingListInfo(data) {
url: '/wms/apiadmin/sysmapping/selectMappingListInfo',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json', 'token': tokens }
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
@ -69,6 +82,9 @@ export function delDictType(data) {
url: '/wms/apiadmin/dicttypes/delete/' + data.sid,
method: 'DELETE',
data: data,
headers: { 'Content-Type': 'application/json', 'token': tokens }
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}

38
src/router/index.js

@ -226,13 +226,49 @@ export const constantRoutes = [
},
children: [{
path: '/outStorage/index',
component: () => import('@/views/outStorage/index'),
component: () => import('@/views/outStorage/outStorage/index'),
name: 'OutStorage',
meta: {
title: '出库单管理',
noCache: true
}
},
{
path: '/toAllocated/index',
component: () => import('@/views/outStorage/toAllocated/index'),
name: 'ToAllocated',
meta: {
title: '待分配',
noCache: true
}
},
{
path: '/zeroPicking/index',
component: () => import('@/views/outStorage/zeroPicking/index'),
name: 'ZeroPicking',
meta: {
title: '零拣打单',
noCache: true
}
},
{
path: '/toOutStorage/index',
component: () => import('@/views/outStorage/toOutStorage/index'),
name: 'ToOutStorage',
meta: {
title: '待出库',
noCache: true
}
},
{
path: '/alreadyOutStorage/index',
component: () => import('@/views/outStorage/alreadyOutStorage/index'),
name: 'AlreadyOutStorage',
meta: {
title: '已出库',
noCache: true
}
},
]
},

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

@ -0,0 +1,649 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<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">
{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="外部单号">
<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-form-item>
<el-form-item label="运单号">
<el-input v-model="queryParams.params.waybillNumber" placeholder="" clearable />
</el-form-item>
<el-form-item label="买家">
<el-input v-model="queryParams.params.buyer" placeholder="" clearable />
</el-form-item>
<el-form-item label="手机号">
<el-input v-model="queryParams.params.mobile" placeholder="" clearable />
</el-form-item>
<el-form-item label="详细地址">
<el-input v-model="queryParams.params.address" placeholder="" clearable />
</el-form-item>
<el-form-item label="出库类型">
<el-select v-model="queryParams.params.outboundType" placeholder="请选择" style="width: 200px;">
<el-option v-for="(item,i) in outboundTypeList" :key="i" :label="item.name" :value="item.sid">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="下单时间">
<el-date-picker v-model="queryParams.params.orderTimeStart" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
</el-date-picker>
<el-date-picker v-model="queryParams.params.orderTimeEnd" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
</el-date-picker>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<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>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<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="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="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 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="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">
<el-tab-pane name="first">
<span slot="label">订单明细(: {{from.detailsList.length}} )</span>
<el-table :data="from.detailsList" 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="goodsSkuOwnSpec" label="规格" align="center" />
<el-table-column prop="barCode" 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="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>
</el-tab-pane>
<el-tab-pane name="two" label="库位分配">
<el-table :data="from.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>
</el-tab-pane>
<el-tab-pane name="three" label="收件地址">
<el-form ref="consignee" :model="from" 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-col>
<el-col :span="8">
<div class="span-sty">固话</div>
<el-form-item> <span class="addinputInfo">{{ from.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-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-col>
<el-col :span="8">
<div class="span-sty"></div>
<el-form-item> <span class="addinputInfo">{{ from.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-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-col>
</el-row>
</el-form>
</el-tab-pane>
<el-tab-pane name="four" label="发票信息">
<div style="display: flex;flex-direction: row;">
<div style="flex: 1;">
<el-form ref="consignee" :model="from" 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-option v-for="(item,i) in billingTypeList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey">
</el-option>
</el-select>
</el-col>
<el-col :span="8">
<div class="span-sty">开票方</div>
<el-form-item> <el-input v-model="from.waybillNumber" 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
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
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
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
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-radio-group></el-form-item>
</el-col>
</el-row>
<div style="text-align: center;margin-top: 5px">
<el-button type="primary" size="small" @click="saveInvoice">保存</el-button>
</div>
</el-form>
</div>
<div style="flex: 1;" v-show="from.state==3">
<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-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>
</div>
</div>
</el-tab-pane>
<el-tab-pane name="five" label="备注/留言">
<div style="display: flex;flex-direction: row;justify-content: flex-start;">
<div style="width: 300px;">
<div><el-divider direction="vertical"></el-divider><span style="font-weight: bold;"></span></div>
<div style="background-color: #f5f6f7;margin-top: 10px;min-height: 200px">
<div style="margin-left: 15px">
</div>
</div>
</div>
<div style="width: 300px;margin-left: 5px">
<div><el-divider direction="vertical"></el-divider><span style="font-weight: bold;">线</span></div>
<div style="background-color: #f5f6f7;margin-top: 10px;min-height: 200px">
<div style="margin-left: 10px">
</div>
</div>
</div>
<div style="width: 300px;margin-left: 5px">
<div><el-divider direction="vertical"></el-divider><span style="font-weight: bold;"></span></div>
<div style="background-color: #f5f6f7;margin-top: 10px;min-height: 200px">
<div style="margin-left: 10px">
</div>
</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane name="six" label="操作记录">
<el-table :data="from.operationList" 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" />
<el-table-column prop="content" label="操作内容" align="center" />
</el-table>
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/outStorage/outStorage.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
// import divAdd from './inStorageAdd.vue'
// import divInfo from './inStorageInfo.vue'
import {
// getTypeValueList,
typeValues,
choiceSupplierInfo
} from '@/api/Common/dictcommons'
export default {
components: {
ButtonBar,
Pagination,
pageye,
// divAdd,
// divInfo,
},
data() {
return {
activeName: "first",
activeIndex: "1",
dialogVisible: 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: '打到零拣'
},
// {
// type: 'success',
// size: 'small',
// icon: 'export',
// btnKey: 'toPrintBill',
// btnLabel: ''
// },
// {
// type: 'success',
// size: 'small',
// icon: 'export',
// btnKey: 'toBuild',
// btnLabel: ''
// },
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
"billNo": "",
"externalOrderNumber": "",
"onlineOrderNumber": "",
"buyer": "",
"waybillNumber": "",
"platform": "",
"carrier": "",
"mobile": "",
"outboundType": "",
"address": "",
"orderTimeStart": "",
"orderTimeEnd": "",
"menuUrl": "",
"orgPath": "",
"userSid": "",
"billState": "0", //0 1 2 3
}
},
sids: [],
selectionList: [],
billingTypeList: [],
outboundTypeList: [{
sid: "1",
name: "销售出库"
}],
from: {
detailsList: [],
operationList: []
},
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.init()
this.loadList()
},
methods: {
init() {
typeValues({
type: 'billingType'
}).then((res) => {
if (res.success) {
this.billingTypeList = res.data
}
})
},
rowItemClick(row) {
console.log("row", row);
this.rowItemSid = row.sid
if (this.rowItemSid == '') {
this.$message({
type: 'warning',
showClose: true,
message: '暂无数据'
})
return
}
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
},
selectionLineChangeHandle(val) {
console.log("val", val);
this.selectionList = val
const aa = []
val.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'toPrintBill':
this.toPrintBill()
break
case 'toPrintCode':
this.toPrintCode()
break
case 'toBuild':
this.toBuild()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
this.queryParams.params.userSid = window.sessionStorage.getItem('userSid')
this.queryParams.params.orgPath = window.sessionStorage.getItem('orgSidPath')
this.queryParams.params.menuUrl = this.$route.path
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
this.rowItemClick(this.dataList[0])
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
"billNo": "",
"externalOrderNumber": "",
"onlineOrderNumber": "",
"buyer": "",
"waybillNumber": "",
"platform": "",
"carrier": "",
"mobile": "",
"outboundType": "",
"address": "",
"orderTimeStart": "",
"orderTimeEnd": "",
"menuUrl": "",
"orgPath": "",
"userSid": "",
"billState": "0", //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(() => {})
},
toPrintBill() {
if (this.selectionList.length != 1) {
this.$message({
type: 'warning',
message: "请选择一条数据。",
showClose: true
})
return
}
if (this.selectionList[0].billState == '新建') {
this.$message({
type: 'warning',
message: "此记录未完成,不可操作。",
showClose: true
})
return
}
this.viewState = 5
this.$refs['divAddupShelfRecord'].showEdit(this.selectionList[0])
},
toPrintCode(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toBuild(row) {
this.viewState = 4
this.$refs['divinfo'].showEdit(row)
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 4
this.$refs['divinfo'].showAdd(row)
},
resetState() {
this.viewState = 1
},
saveInvoice() {
},
chooseGoods() {
}
}
}
</script>
<style scoped>
/deep/ .el-form-item__error {
margin-left: 120px !important;
}
.must {
color: #f00;
}
.span-sty {
width: 90px !important;
}
.addinputInfo {
margin-left: 80px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 80px !important;
width: calc(100% - 75px);
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.el-menu-item.is-active {
background-color: #3370ff !important;
color: #fff;
span {
color: #fff;
}
}
.el-submenu__title.is-active {
background: #1c88cf !important;
color: #fff !important;
}
</style>

0
src/views/outStorage/distributionAdd.vue → src/views/outStorage/outStorage/distributionAdd.vue

0
src/views/outStorage/index.vue → src/views/outStorage/outStorage/index.vue

0
src/views/outStorage/outStorageAdd.vue → src/views/outStorage/outStorage/outStorageAdd.vue

0
src/views/outStorage/outStorageInfo.vue → src/views/outStorage/outStorage/outStorageInfo.vue

0
src/views/outStorage/relation/chooseproducts.vue → src/views/outStorage/outStorage/relation/chooseproducts.vue

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

@ -0,0 +1,765 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<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">
{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="外部单号">
<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-form-item>
<el-form-item label="运单号">
<el-input v-model="queryParams.params.waybillNumber" placeholder="" clearable />
</el-form-item>
<el-form-item label="买家">
<el-input v-model="queryParams.params.buyer" placeholder="" clearable />
</el-form-item>
<el-form-item label="手机号">
<el-input v-model="queryParams.params.mobile" placeholder="" clearable />
</el-form-item>
<el-form-item label="详细地址">
<el-input v-model="queryParams.params.address" placeholder="" clearable />
</el-form-item>
<el-form-item label="出库类型">
<el-select v-model="queryParams.params.outboundType" placeholder="请选择" style="width: 200px;">
<el-option v-for="(item,i) in outboundTypeList" :key="i" :label="item.name" :value="item.sid">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="下单时间">
<el-date-picker v-model="queryParams.params.orderTimeStart" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
</el-date-picker>
<el-date-picker v-model="queryParams.params.orderTimeEnd" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
</el-date-picker>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<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>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<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="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="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 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="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.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="goodsSkuOwnSpec" label="规格" align="center" />
<el-table-column prop="barCode" 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="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>
</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="goodsSkuCode" label="商品编码" align="center" />
<el-table-column prop="specValue" label="规格" align="center" />
<el-table-column prop="remarks" label="库位编码" align="center" />
</el-table>
</el-tab-pane>
<el-tab-pane name="three" label="收件地址">
<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.three.consignee }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">固话</div>
<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.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.three.province }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"></div>
<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.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.three.address }}</span></el-form-item>
</el-col>
</el-row>
</el-form>
</el-tab-pane>
<el-tab-pane name="four" label="发票信息">
<div style="display: flex;flex-direction: row;">
<div style="flex: 1;">
<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.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>
</el-select>
</el-col>
<el-col :span="8">
<div class="span-sty">开票方</div>
<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.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.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.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.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.four.contentTypeValue" 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>
<div style="text-align: center;margin-top: 5px">
<el-button type="primary" size="small" @click="saveInvoice">保存</el-button>
</div>
</el-form>
</div>
<div style="flex: 1;" v-show="from.four.contentTypeValue=='2'">
<div style="margin-bottom: 5px">
<el-button type="primary" size="small" @click="chooseGoods">选择商品</el-button>
</div>
<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 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="count" label="数量" align="center" />
<el-table-column prop="totalAmount" label="金额" align="center" />
</el-table>
</div>
</div>
</el-tab-pane>
<el-tab-pane name="five" label="备注/留言">
<div style="display: flex;flex-direction: row;justify-content: flex-start;">
<div style="width: 300px;">
<div><el-divider direction="vertical"></el-divider><span style="font-weight: bold;"></span></div>
<div style="background-color: #f5f6f7;margin-top: 10px;min-height: 200px">
<div style="margin-left: 15px">
</div>
</div>
</div>
<div style="width: 300px;margin-left: 5px">
<div><el-divider direction="vertical"></el-divider><span style="font-weight: bold;">线</span></div>
<div style="background-color: #f5f6f7;margin-top: 10px;min-height: 200px">
<div style="margin-left: 10px">
</div>
</div>
</div>
<div style="width: 300px;margin-left: 5px">
<div><el-divider direction="vertical"></el-divider><span style="font-weight: bold;"></span></div>
<div style="background-color: #f5f6f7;margin-top: 10px;min-height: 200px">
<div style="margin-left: 10px">
</div>
</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane name="six" label="操作记录">
<el-table :data="from.six.operationList" 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" />
<el-table-column prop="content" label="操作内容" align="center" />
</el-table>
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
<el-dialog title="选择预约单" :visible.sync="dialogVisible" :before-close="handleClose"
style="width:150%;margin-left: -20%;">
<el-table :data="from.first" border style="width: 100%" @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>
<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>
</div>
</template>
<script>
import req from '@/api/outStorage/outStorage.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
// import divAdd from './inStorageAdd.vue'
// import divInfo from './inStorageInfo.vue'
import {
// getTypeValueList,
typeValues,
choiceSupplierInfo
} from '@/api/Common/dictcommons'
export default {
components: {
ButtonBar,
Pagination,
pageye,
// divAdd,
// divInfo,
},
data() {
return {
activeName: "first",
activeIndex: "1",
dialogVisible: 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: '打到零拣'
},
// {
// type: 'success',
// size: 'small',
// icon: 'export',
// btnKey: 'toPrintBill',
// btnLabel: ''
// },
// {
// type: 'success',
// size: 'small',
// icon: 'export',
// btnKey: 'toBuild',
// btnLabel: ''
// },
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
"billNo": "",
"externalOrderNumber": "",
"onlineOrderNumber": "",
"buyer": "",
"waybillNumber": "",
"platform": "",
"carrier": "",
"mobile": "",
"outboundType": "",
"address": "",
"orderTimeStart": "",
"orderTimeEnd": "",
"menuUrl": "",
"orgPath": "",
"userSid": "",
"billState": "0", //0 1 2 3
}
},
sids: [],
selectionList: [],
rowItemSid: "",
billingTypeList: [],
outboundTypeList: [{
sid: "1",
name: "销售出库"
}],
from: {
first: [],
two: [],
three: {},
four: {},
five: {},
six: []
},
goodsList: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.init()
this.loadList()
},
methods: {
init() {
typeValues({
type: 'billingType'
}).then((res) => {
if (res.success) {
this.billingTypeList = res.data
}
})
},
handleClick(table) {
console.log("handleClick", 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(() => {})
}
},
rowItemClick(row) {
console.log("row", row);
this.rowItemSid = row.sid
if (this.rowItemSid == '') {
this.$message({
type: 'warning',
showClose: true,
message: '暂无数据'
})
return
}
},
selectionLineChangeHandle(val) {
console.log("val", val);
this.selectionList = val
const aa = []
val.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'toPrintBill':
this.toPrintBill()
break
case 'toPrintCode':
this.toPrintCode()
break
case 'toBuild':
this.toBuild()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
this.queryParams.params.userSid = window.sessionStorage.getItem('userSid')
this.queryParams.params.orgPath = window.sessionStorage.getItem('orgSidPath')
this.queryParams.params.menuUrl = this.$route.path
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
this.rowItemClick(this.dataList[0])
this.from = {
first: [],
two: [],
three: {},
four: {},
five: {},
six: []
}
var table = {
name: 'first'
}
this.handleClick(table)
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
"billNo": "",
"externalOrderNumber": "",
"onlineOrderNumber": "",
"buyer": "",
"waybillNumber": "",
"platform": "",
"carrier": "",
"mobile": "",
"outboundType": "",
"address": "",
"orderTimeStart": "",
"orderTimeEnd": "",
"menuUrl": "",
"orgPath": "",
"userSid": "",
"billState": "0", //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(() => {})
},
toPrintBill() {
if (this.selectionList.length != 1) {
this.$message({
type: 'warning',
message: "请选择一条数据。",
showClose: true
})
return
}
if (this.selectionList[0].billState == '新建') {
this.$message({
type: 'warning',
message: "此记录未完成,不可操作。",
showClose: true
})
return
}
this.viewState = 5
this.$refs['divAddupShelfRecord'].showEdit(this.selectionList[0])
},
toPrintCode(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toBuild(row) {
this.viewState = 4
this.$refs['divinfo'].showEdit(row)
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 4
this.$refs['divinfo'].showAdd(row)
},
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)
}
}
}
</script>
<style scoped>
/deep/ .el-form-item__error {
margin-left: 120px !important;
}
.must {
color: #f00;
}
.span-sty {
width: 90px !important;
}
.addinputInfo {
margin-left: 80px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 80px !important;
width: calc(100% - 75px);
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.el-menu-item.is-active {
background-color: #3370ff !important;
color: #fff;
span {
color: #fff;
}
}
.el-submenu__title.is-active {
background: #1c88cf !important;
color: #fff !important;
}
</style>

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

@ -0,0 +1,649 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<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">
{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="外部单号">
<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-form-item>
<el-form-item label="运单号">
<el-input v-model="queryParams.params.waybillNumber" placeholder="" clearable />
</el-form-item>
<el-form-item label="买家">
<el-input v-model="queryParams.params.buyer" placeholder="" clearable />
</el-form-item>
<el-form-item label="手机号">
<el-input v-model="queryParams.params.mobile" placeholder="" clearable />
</el-form-item>
<el-form-item label="详细地址">
<el-input v-model="queryParams.params.address" placeholder="" clearable />
</el-form-item>
<el-form-item label="出库类型">
<el-select v-model="queryParams.params.outboundType" placeholder="请选择" style="width: 200px;">
<el-option v-for="(item,i) in outboundTypeList" :key="i" :label="item.name" :value="item.sid">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="下单时间">
<el-date-picker v-model="queryParams.params.orderTimeStart" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
</el-date-picker>
<el-date-picker v-model="queryParams.params.orderTimeEnd" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
</el-date-picker>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<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>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<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="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="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 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="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">
<el-tab-pane name="first">
<span slot="label">订单明细(: {{from.detailsList.length}} )</span>
<el-table :data="from.detailsList" 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="goodsSkuOwnSpec" label="规格" align="center" />
<el-table-column prop="barCode" 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="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>
</el-tab-pane>
<el-tab-pane name="two" label="库位分配">
<el-table :data="from.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>
</el-tab-pane>
<el-tab-pane name="three" label="收件地址">
<el-form ref="consignee" :model="from" 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-col>
<el-col :span="8">
<div class="span-sty">固话</div>
<el-form-item> <span class="addinputInfo">{{ from.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-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-col>
<el-col :span="8">
<div class="span-sty"></div>
<el-form-item> <span class="addinputInfo">{{ from.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-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-col>
</el-row>
</el-form>
</el-tab-pane>
<el-tab-pane name="four" label="发票信息">
<div style="display: flex;flex-direction: row;">
<div style="flex: 1;">
<el-form ref="consignee" :model="from" 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-option v-for="(item,i) in billingTypeList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey">
</el-option>
</el-select>
</el-col>
<el-col :span="8">
<div class="span-sty">开票方</div>
<el-form-item> <el-input v-model="from.waybillNumber" 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
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
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
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
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-radio-group></el-form-item>
</el-col>
</el-row>
<div style="text-align: center;margin-top: 5px">
<el-button type="primary" size="small" @click="saveInvoice">保存</el-button>
</div>
</el-form>
</div>
<div style="flex: 1;" v-show="from.state==3">
<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-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>
</div>
</div>
</el-tab-pane>
<el-tab-pane name="five" label="备注/留言">
<div style="display: flex;flex-direction: row;justify-content: flex-start;">
<div style="width: 300px;">
<div><el-divider direction="vertical"></el-divider><span style="font-weight: bold;"></span></div>
<div style="background-color: #f5f6f7;margin-top: 10px;min-height: 200px">
<div style="margin-left: 15px">
</div>
</div>
</div>
<div style="width: 300px;margin-left: 5px">
<div><el-divider direction="vertical"></el-divider><span style="font-weight: bold;">线</span></div>
<div style="background-color: #f5f6f7;margin-top: 10px;min-height: 200px">
<div style="margin-left: 10px">
</div>
</div>
</div>
<div style="width: 300px;margin-left: 5px">
<div><el-divider direction="vertical"></el-divider><span style="font-weight: bold;"></span></div>
<div style="background-color: #f5f6f7;margin-top: 10px;min-height: 200px">
<div style="margin-left: 10px">
</div>
</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane name="six" label="操作记录">
<el-table :data="from.operationList" 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" />
<el-table-column prop="content" label="操作内容" align="center" />
</el-table>
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/outStorage/outStorage.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
// import divAdd from './inStorageAdd.vue'
// import divInfo from './inStorageInfo.vue'
import {
// getTypeValueList,
typeValues,
choiceSupplierInfo
} from '@/api/Common/dictcommons'
export default {
components: {
ButtonBar,
Pagination,
pageye,
// divAdd,
// divInfo,
},
data() {
return {
activeName: "first",
activeIndex: "1",
dialogVisible: 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: '打到零拣'
},
// {
// type: 'success',
// size: 'small',
// icon: 'export',
// btnKey: 'toPrintBill',
// btnLabel: ''
// },
// {
// type: 'success',
// size: 'small',
// icon: 'export',
// btnKey: 'toBuild',
// btnLabel: ''
// },
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
"billNo": "",
"externalOrderNumber": "",
"onlineOrderNumber": "",
"buyer": "",
"waybillNumber": "",
"platform": "",
"carrier": "",
"mobile": "",
"outboundType": "",
"address": "",
"orderTimeStart": "",
"orderTimeEnd": "",
"menuUrl": "",
"orgPath": "",
"userSid": "",
"billState": "0", //0 1 2 3
}
},
sids: [],
selectionList: [],
billingTypeList: [],
outboundTypeList: [{
sid: "1",
name: "销售出库"
}],
from: {
detailsList: [],
operationList: []
},
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.init()
this.loadList()
},
methods: {
init() {
typeValues({
type: 'billingType'
}).then((res) => {
if (res.success) {
this.billingTypeList = res.data
}
})
},
rowItemClick(row) {
console.log("row", row);
this.rowItemSid = row.sid
if (this.rowItemSid == '') {
this.$message({
type: 'warning',
showClose: true,
message: '暂无数据'
})
return
}
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
},
selectionLineChangeHandle(val) {
console.log("val", val);
this.selectionList = val
const aa = []
val.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'toPrintBill':
this.toPrintBill()
break
case 'toPrintCode':
this.toPrintCode()
break
case 'toBuild':
this.toBuild()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
this.queryParams.params.userSid = window.sessionStorage.getItem('userSid')
this.queryParams.params.orgPath = window.sessionStorage.getItem('orgSidPath')
this.queryParams.params.menuUrl = this.$route.path
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
this.rowItemClick(this.dataList[0])
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
"billNo": "",
"externalOrderNumber": "",
"onlineOrderNumber": "",
"buyer": "",
"waybillNumber": "",
"platform": "",
"carrier": "",
"mobile": "",
"outboundType": "",
"address": "",
"orderTimeStart": "",
"orderTimeEnd": "",
"menuUrl": "",
"orgPath": "",
"userSid": "",
"billState": "0", //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(() => {})
},
toPrintBill() {
if (this.selectionList.length != 1) {
this.$message({
type: 'warning',
message: "请选择一条数据。",
showClose: true
})
return
}
if (this.selectionList[0].billState == '新建') {
this.$message({
type: 'warning',
message: "此记录未完成,不可操作。",
showClose: true
})
return
}
this.viewState = 5
this.$refs['divAddupShelfRecord'].showEdit(this.selectionList[0])
},
toPrintCode(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toBuild(row) {
this.viewState = 4
this.$refs['divinfo'].showEdit(row)
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 4
this.$refs['divinfo'].showAdd(row)
},
resetState() {
this.viewState = 1
},
saveInvoice() {
},
chooseGoods() {
}
}
}
</script>
<style scoped>
/deep/ .el-form-item__error {
margin-left: 120px !important;
}
.must {
color: #f00;
}
.span-sty {
width: 90px !important;
}
.addinputInfo {
margin-left: 80px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 80px !important;
width: calc(100% - 75px);
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.el-menu-item.is-active {
background-color: #3370ff !important;
color: #fff;
span {
color: #fff;
}
}
.el-submenu__title.is-active {
background: #1c88cf !important;
color: #fff !important;
}
</style>

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

@ -0,0 +1,649 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<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">
{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="外部单号">
<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-form-item>
<el-form-item label="运单号">
<el-input v-model="queryParams.params.waybillNumber" placeholder="" clearable />
</el-form-item>
<el-form-item label="买家">
<el-input v-model="queryParams.params.buyer" placeholder="" clearable />
</el-form-item>
<el-form-item label="手机号">
<el-input v-model="queryParams.params.mobile" placeholder="" clearable />
</el-form-item>
<el-form-item label="详细地址">
<el-input v-model="queryParams.params.address" placeholder="" clearable />
</el-form-item>
<el-form-item label="出库类型">
<el-select v-model="queryParams.params.outboundType" placeholder="请选择" style="width: 200px;">
<el-option v-for="(item,i) in outboundTypeList" :key="i" :label="item.name" :value="item.sid">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="下单时间">
<el-date-picker v-model="queryParams.params.orderTimeStart" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
</el-date-picker>
<el-date-picker v-model="queryParams.params.orderTimeEnd" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;">
</el-date-picker>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<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>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<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="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="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 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="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">
<el-tab-pane name="first">
<span slot="label">订单明细(: {{from.detailsList.length}} )</span>
<el-table :data="from.detailsList" 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="goodsSkuOwnSpec" label="规格" align="center" />
<el-table-column prop="barCode" 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="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>
</el-tab-pane>
<el-tab-pane name="two" label="库位分配">
<el-table :data="from.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>
</el-tab-pane>
<el-tab-pane name="three" label="收件地址">
<el-form ref="consignee" :model="from" 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-col>
<el-col :span="8">
<div class="span-sty">固话</div>
<el-form-item> <span class="addinputInfo">{{ from.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-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-col>
<el-col :span="8">
<div class="span-sty"></div>
<el-form-item> <span class="addinputInfo">{{ from.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-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-col>
</el-row>
</el-form>
</el-tab-pane>
<el-tab-pane name="four" label="发票信息">
<div style="display: flex;flex-direction: row;">
<div style="flex: 1;">
<el-form ref="consignee" :model="from" 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-option v-for="(item,i) in billingTypeList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey">
</el-option>
</el-select>
</el-col>
<el-col :span="8">
<div class="span-sty">开票方</div>
<el-form-item> <el-input v-model="from.waybillNumber" 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
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
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
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
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-radio-group></el-form-item>
</el-col>
</el-row>
<div style="text-align: center;margin-top: 5px">
<el-button type="primary" size="small" @click="saveInvoice">保存</el-button>
</div>
</el-form>
</div>
<div style="flex: 1;" v-show="from.state==3">
<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-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>
</div>
</div>
</el-tab-pane>
<el-tab-pane name="five" label="备注/留言">
<div style="display: flex;flex-direction: row;justify-content: flex-start;">
<div style="width: 300px;">
<div><el-divider direction="vertical"></el-divider><span style="font-weight: bold;"></span></div>
<div style="background-color: #f5f6f7;margin-top: 10px;min-height: 200px">
<div style="margin-left: 15px">
</div>
</div>
</div>
<div style="width: 300px;margin-left: 5px">
<div><el-divider direction="vertical"></el-divider><span style="font-weight: bold;">线</span></div>
<div style="background-color: #f5f6f7;margin-top: 10px;min-height: 200px">
<div style="margin-left: 10px">
</div>
</div>
</div>
<div style="width: 300px;margin-left: 5px">
<div><el-divider direction="vertical"></el-divider><span style="font-weight: bold;"></span></div>
<div style="background-color: #f5f6f7;margin-top: 10px;min-height: 200px">
<div style="margin-left: 10px">
</div>
</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane name="six" label="操作记录">
<el-table :data="from.operationList" 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" />
<el-table-column prop="content" label="操作内容" align="center" />
</el-table>
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/outStorage/outStorage.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
// import divAdd from './inStorageAdd.vue'
// import divInfo from './inStorageInfo.vue'
import {
// getTypeValueList,
typeValues,
choiceSupplierInfo
} from '@/api/Common/dictcommons'
export default {
components: {
ButtonBar,
Pagination,
pageye,
// divAdd,
// divInfo,
},
data() {
return {
activeName: "first",
activeIndex: "1",
dialogVisible: 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: '打到零拣'
},
// {
// type: 'success',
// size: 'small',
// icon: 'export',
// btnKey: 'toPrintBill',
// btnLabel: ''
// },
// {
// type: 'success',
// size: 'small',
// icon: 'export',
// btnKey: 'toBuild',
// btnLabel: ''
// },
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
"billNo": "",
"externalOrderNumber": "",
"onlineOrderNumber": "",
"buyer": "",
"waybillNumber": "",
"platform": "",
"carrier": "",
"mobile": "",
"outboundType": "",
"address": "",
"orderTimeStart": "",
"orderTimeEnd": "",
"menuUrl": "",
"orgPath": "",
"userSid": "",
"billState": "0", //0 1 2 3
}
},
sids: [],
selectionList: [],
billingTypeList: [],
outboundTypeList: [{
sid: "1",
name: "销售出库"
}],
from: {
detailsList: [],
operationList: []
},
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.init()
this.loadList()
},
methods: {
init() {
typeValues({
type: 'billingType'
}).then((res) => {
if (res.success) {
this.billingTypeList = res.data
}
})
},
rowItemClick(row) {
console.log("row", row);
this.rowItemSid = row.sid
if (this.rowItemSid == '') {
this.$message({
type: 'warning',
showClose: true,
message: '暂无数据'
})
return
}
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
},
selectionLineChangeHandle(val) {
console.log("val", val);
this.selectionList = val
const aa = []
val.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'toPrintBill':
this.toPrintBill()
break
case 'toPrintCode':
this.toPrintCode()
break
case 'toBuild':
this.toBuild()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
this.queryParams.params.userSid = window.sessionStorage.getItem('userSid')
this.queryParams.params.orgPath = window.sessionStorage.getItem('orgSidPath')
this.queryParams.params.menuUrl = this.$route.path
req.listPage(this.queryParams).then((resp) => {
this.tableLoading = false
if (resp.success) {
const data = resp.data
this.queryParams.total = data.total
this.dataList = data.records
this.rowItemClick(this.dataList[0])
} else {
// resp.code
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
"billNo": "",
"externalOrderNumber": "",
"onlineOrderNumber": "",
"buyer": "",
"waybillNumber": "",
"platform": "",
"carrier": "",
"mobile": "",
"outboundType": "",
"address": "",
"orderTimeStart": "",
"orderTimeEnd": "",
"menuUrl": "",
"orgPath": "",
"userSid": "",
"billState": "0", //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(() => {})
},
toPrintBill() {
if (this.selectionList.length != 1) {
this.$message({
type: 'warning',
message: "请选择一条数据。",
showClose: true
})
return
}
if (this.selectionList[0].billState == '新建') {
this.$message({
type: 'warning',
message: "此记录未完成,不可操作。",
showClose: true
})
return
}
this.viewState = 5
this.$refs['divAddupShelfRecord'].showEdit(this.selectionList[0])
},
toPrintCode(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toBuild(row) {
this.viewState = 4
this.$refs['divinfo'].showEdit(row)
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toRelevancy(row) {
this.viewState = 4
this.$refs['divinfo'].showAdd(row)
},
resetState() {
this.viewState = 1
},
saveInvoice() {
},
chooseGoods() {
}
}
}
</script>
<style scoped>
/deep/ .el-form-item__error {
margin-left: 120px !important;
}
.must {
color: #f00;
}
.span-sty {
width: 90px !important;
}
.addinputInfo {
margin-left: 80px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 80px !important;
width: calc(100% - 75px);
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.el-menu-item.is-active {
background-color: #3370ff !important;
color: #fff;
span {
color: #fff;
}
}
.el-submenu__title.is-active {
background: #1c88cf !important;
color: #fff !important;
}
</style>

181
src/views/system/menuManage/menuManage.vue

@ -92,12 +92,10 @@
<td>
<!-- <el-input v-model="form.pname" :disabled="true" style="width:300px" /> -->
<el-select v-model="form.pname" placeholder="请选择" style="width:300px"
:disabled="form.pname!=''&&form.psid!=''">
<el-select v-model="form.pname" placeholder="请选择" style="width:300px" :disabled="true">
<el-option hidden :key="form.psid" :label="form.pname" :value="form.pname"></el-option>
<el-tree :data="treedata" ref="Tree" show-checkbox accordion node-key="sid"
:default-checked-keys="checkedId" :default-expand-all='true' :check-strictly='true'
:props="defaultProps" @check-change="checkchange" @node-click="departmentClick">
<el-tree :data="treedata" ref="Tree" accordion node-key="sid" :default-checked-keys="checkedId"
:default-expand-all='true' :check-strictly='true' :props="defaultProps">
</el-tree>
</el-select>
@ -106,7 +104,7 @@
<tr>
<td>类型分类</td>
<td>
<el-radio-group v-model="editMenuType" @change="menuTypeChangeRadio" style="width:300px">
<el-radio-group v-model="editMenuType" @change="menuTypeChangeRadio">
<el-radio :label="'0'">目录</el-radio>
<el-radio :label="'1'">菜单</el-radio>
<el-radio :label="'2'">按钮</el-radio>
@ -116,43 +114,43 @@
<tr>
<td>菜单名称</td>
<td>
<el-input v-model="form.name" style="width:300px" />
<el-input v-model="form.name" />
</td>
</tr>
<tr>
<td>路由名称</td>
<td>
<el-input v-model="form.menuUrl" style="width:300px" />
<el-input v-model="form.menuUrl" />
</td>
</tr>
<tr>
<td>路由路径</td>
<td>
<el-input v-model="form.pageUrl" style="width:300px" />
<el-input v-model="form.pageUrl" />
</td>
</tr>
<tr>
<td>菜单图片</td>
<td>
<el-input v-model="form.iconUrl" style="width:300px" />
<el-input v-model="form.iconUrl" />
</td>
</tr>
<tr>
<td>组件路径</td>
<td>
<el-input v-model="form.pageName" style="width:300px" />
<el-input v-model="form.pageName" />
</td>
</tr>
<tr v-show="editMenuType=='2'">
<td>权限标识</td>
<td>
<el-input v-model="form.cid" style="width:300px" />
<el-input v-model="form.cid" />
</td>
</tr>
<tr>
<td>是否手机端权限</td>
<td>
<el-radio-group v-model="editPhoneFunction" @change="changeRadio4" style="width:300px">
<el-radio-group v-model="editPhoneFunction" @change="changeRadio4">
<el-radio :label="'0'"></el-radio>
<el-radio :label="'1'"></el-radio>
</el-radio-group>
@ -161,7 +159,7 @@
<tr>
<td>是否可见</td>
<td>
<el-radio-group v-model="editShow" @change="changeRadio" style="width:300px">
<el-radio-group v-model="editShow" @change="changeRadio">
<el-radio :label="'0'"></el-radio>
<el-radio :label="'1'"></el-radio>
</el-radio-group>
@ -170,7 +168,7 @@
<tr>
<td>排序号</td>
<td>
<el-input v-model="form.sortNo" style="width:300px" />
<el-input v-model="form.sortNo" />
</td>
</tr>
<tr>
@ -210,14 +208,13 @@
:props="defaultProps" @check-change="checkchange">
</el-tree> -->
<el-select v-model="form.pname" placeholder="请选择" style="width:300px"
:disabled="form.pname!=''&&form.psid!=''">
<el-select v-model="form.pname" placeholder="请选择" style="width:300px" ref="treeSelect" :disabled="disabled">
<el-option hidden :key="form.psid" :label="form.pname" :value="form.pname"></el-option>
<el-tree :data="treedata" ref="Tree" show-checkbox accordion node-key="sid"
:default-checked-keys="checkedId" :default-expand-all='true' :check-strictly='true'
:props="defaultProps" @check-change="checkchange">
<el-tree :data="treedata" ref="Tree" accordion node-key="sid" :default-checked-keys="checkedId"
:default-expand-all='true' :check-strictly='true' :props="defaultProps" @node-click="nodeClick">
</el-tree>
</el-select>
</td>
</tr>
<tr>
@ -320,6 +317,7 @@
data() {
return {
loading: false,
disabled: false,
activeName: 'roleList',
editDialog: false,
dialogTitle: '',
@ -330,6 +328,7 @@
isShow: '1',
menuName: '',
menuUrl: '',
menuType: "0",
pageAliasName: '',
pageName: '',
pageUrl: '',
@ -338,9 +337,9 @@
remarks: '',
sortNo: 0,
cid: '',
sourceName: 'wms',
sourceName: '',
phoneFunction: "0",
sourceSid: 'd936f1ba-03c3-11ec-bf08-48452053aa33'
sourceSid: ''
},
tableData: [],
page: {
@ -350,8 +349,8 @@
params: {
name: '',
psid: '',
sourceName: 'wms',
sourceSid: 'd936f1ba-03c3-11ec-bf08-48452053aa33'
// sourceName: 'wms',
// sourceSid: 'd936f1ba-03c3-11ec-bf08-48452053aa33'
}
},
rank: '1',
@ -382,35 +381,21 @@
// })
},
methods: {
departmentClick(data) {
console.log("departmentClick", data);
this.form.psid = data.sid
this.form.pname = data.name
this.$refs.Tree.visible = false
},
checkchange(data, checked) {
console.log("checkchange", data);
console.log("checkchange", checked);
if (checked) {
if (data.sid == 'd936f1ba-03c3-11ec-bf08-48452053aa33') {
this.form.psid = '0'
this.form.pname = '顶级菜单'
} else {
this.form.psid = data.psid
this.form.pname = data.pname
}
let arr = []
arr = [data.sid];
this.$refs.Tree.setCheckedKeys(arr);
console.log("checkchange", this.form.pname);
console.log("checkchange", this.form.psid);
return;
nodeClick(val) {
console.log("nodeClick", val);
if (val.isSource == '1') {
//
this.form.psid = '0'
this.form.pname = '顶级菜单'
} else {
this.form.psid = val.sid
this.form.pname = val.name
}
this.form.sourceName = val.sourceName
this.form.sourceSid = val.sourceSid
this.$refs.treeSelect.visible = false
},
@ -469,46 +454,76 @@
})
},
handleClick(tab, event) {
console.log("handleClick", event);
if (tab.name == 'addrole') {
this.form = {}
this.dialogTitle = '新增'
this.form.isShow = '1'
this.form.menuType = '0'
// this.form.psid = row.sid || 0
this.form.sourceName = 'wms'
this.form.sourceSid = 'd936f1ba-03c3-11ec-bf08-48452053aa33'
this.form.pname = '顶级菜单'
this.form.psid = '0'
// this.sourceMenus()
// this.$refs.Tree.setCheckedKeys([]);
this.form = {
pname: '',
iconUrl: '',
isShow: '1',
menuName: '',
menuUrl: '',
menuType: "0",
pageAliasName: '',
pageName: '',
pageUrl: '',
pageUrlRedirect: '',
psid: '',
remarks: '',
sortNo: 0,
cid: '',
sourceName: '',
phoneFunction: "0",
sourceSid: ''
}
this.disabled = false
this.addMenuType = '0'
this.editMenuType = '0'
this.addPhoneFunction = "0"
this.editPhoneFunction = "0"
} else {
this.getPageList()
}
},
add(row) {
console.log("editRow22222222222", row);
this.form = {
pname: row.name,
iconUrl: '',
isShow: '1',
menuName: '',
menuUrl: '',
menuType: "0",
pageAliasName: '',
pageName: '',
pageUrl: '',
pageUrlRedirect: '',
psid: row.sid,
remarks: '',
sortNo: 0,
cid: '',
sourceName: row.sourceName,
phoneFunction: "0",
sourceSid: row.sourceSid
}
this.disabled = true
this.dialogTitle = '新增'
this.activeName = 'addrole'
// if(row == 0){
// this.isadd = false
// }else{
// this.isadd = true
// }
// this.dialogTitle = ''
// this.editDialog = true
this.form.isShow = '1'
this.form.menuType = '0'
// this.form.psid = row.sid || 0
this.form.pname = row.name
this.form.psid = row.sid
this.form.sourceName = row.sourceName
this.form.sourceSid = row.sourceSid
if (row.isSource == '1') {
this.form.psid = 0
this.form.pname = "顶级菜单"
} else {
this.form.psid = row.sid
this.form.pname = row.name
}
let arr = []
arr = [row.sid];
this.$refs.Tree.setCheckedKeys(arr);
this.addMenuType = '0'
this.editMenuType = '0'
this.addPhoneFunction = "0"
this.editPhoneFunction = "0"
// let arr = []
// arr = [row.sid];
// this.$refs.Tree.setCheckedKeys(arr);
},
editRow(row) {
@ -519,15 +534,14 @@
this.editShow = this.form.isShow
this.editMenuType = this.form.menuType
let arr = []
arr = [row.sid];
this.$refs.Tree.setCheckedKeys(arr);
// let arr = []
// arr = [row.sid];
// this.$refs.Tree.setCheckedKeys(arr);
// this.form.isShow = 1
this.form.pname = row.psid == '0' ? '顶级菜单' : row.pname
},
save() {
if (this.form.name == '') {
this.$message({
message: '菜单名称不能为空',
@ -549,7 +563,6 @@
}
if (this.form.sid) {
putMenusInfo(this.form).then(res => {
this.editDialog = false
this.getPageList()

9
src/views/system/userManage/userManageList.vue

@ -33,16 +33,16 @@
</el-table-column>
<el-table-column label="操作" width="350px" align="center">
<template slot-scope="scope">
<el-button @click="setRole(scope.row)" type="primary" size="mini">
<el-button @click="setRole(scope.row)" type="primary" size="mini" v-show="scope.row.accountType!='1'">
设置角色
</el-button>
<el-button @click="initPwd(scope.row)" type="danger" size="mini">
初始化密码
</el-button>
<el-button @click="userinfoChange(scope.row)" type="primary" size="mini">
<el-button @click="userinfoChange(scope.row)" type="primary" size="mini" v-show="scope.row.accountType!='1'">
编辑
</el-button>
<el-button @click="del(scope.row)" type="danger" size="mini">
<el-button @click="del(scope.row)" type="danger" size="mini" v-show="scope.row.accountType!='1'">
删除
</el-button>
</template>
@ -55,6 +55,7 @@
</el-table-column>
<el-table-column prop="name" label="姓名" align="center"></el-table-column>
<el-table-column prop="roleName" label="角色" align="center"></el-table-column>
<el-table-column prop="departmentName" label="部门" align="center"></el-table-column>
<!-- <el-table-column label="角色名称" :formatter='sysRoleVosName'></el-table-column> -->
<!-- <el-table-column label="角色名称" align="center">
<template slot-scope="scope">
@ -560,7 +561,7 @@
},
//
userinfoChange(row) {
row.defaultDeptSid = row.departmentSid
row.defaultDeptSid = row.orgSid
initUserInfo(row).then(res => {
if (res.code == '200') {
this.editDialog = true

Loading…
Cancel
Save