Browse Source

Merge branch 'dev' into pre-production

fix_bug_pro20231227
pref_mail@163.com 2 years ago
parent
commit
c555c6925a
  1. 10
      src/api/basicdata/basicClient.js
  2. 6
      src/api/distribution/distributionParcelList.js
  3. 13
      src/api/distribution/distributionReservation.js
  4. 10
      src/api/distribution/distributionStockArticle.js
  5. 2
      src/api/distribution/distributionStockList.js
  6. 7
      src/api/system/dept.js
  7. 17
      src/option/basicdata/basicdataWarehouse.js
  8. 6
      src/option/distribution/distributionReservation.js
  9. 2
      src/option/distribution/distributionReservationDetails.js
  10. 78
      src/option/distribution/distributionStockArticle.js
  11. 14
      src/option/distribution/distributionStockList.js
  12. 4
      src/option/distribution/distributionStockup.js
  13. 10
      src/option/distribution/distrilbutionBillLading.js
  14. 120
      src/views/basicdata/brand/basicClient.vue
  15. 2
      src/views/basicdata/brand/basicClientFrom.vue
  16. 765
      src/views/basicdata/warehouse/warehouse/basicdataWarehouse.vue
  17. 4
      src/views/distribution/deliverylist/distributionDeliveryListedt.vue
  18. 6
      src/views/distribution/inventory/carry/distributionStockCarry.vue
  19. 174
      src/views/distribution/inventory/delivery/distributionStockArticle.vue
  20. 303
      src/views/distribution/inventory/delivery/distributionStockArticleDiscuss.vue
  21. 466
      src/views/distribution/inventory/delivery/distributionStockArticleMarket.vue
  22. 171
      src/views/distribution/inventory/delivery/distributionStockArticleSelf.vue
  23. 11
      src/views/distribution/inventory/distributionStockArticleDetails.vue
  24. 32
      src/views/distribution/inventory/distributionStockList.vue
  25. 21
      src/views/distribution/inventory/distributionStockListDetails.vue
  26. 8
      src/views/distribution/inventory/distributionStockListDiscuss.vue
  27. 8
      src/views/distribution/inventory/distributionStockListMarket.vue
  28. 8
      src/views/distribution/inventory/distributionStockListSelf.vue
  29. 6
      src/views/distribution/inventory/distributionStockRoute.vue
  30. 12
      src/views/distribution/inventory/distrilbutionBillLading.vue
  31. 17
      src/views/distribution/reservation/reservation.vue
  32. 126
      src/views/distribution/reservation/reservationDetails.vue
  33. 29
      src/views/distribution/reservation/reservationFrom.vue
  34. 2
      src/views/distribution/signfor/distributionSignforedt.vue
  35. 14
      src/views/distribution/stockup/distributionStockupDetails.vue
  36. 239
      src/views/distribution/turndelivery/deliveryDiscuss.vue
  37. 14
      src/views/reservation/order_list.vue
  38. 12
      src/views/system/user.vue
  39. 14
      src/views/warehouse/warehousingentry/warehouseWarehousingEntry.vue

10
src/api/basicdata/basicClient.js

@ -11,6 +11,16 @@ export const getList = (current, size, params) => {
}
})
}
export const getListCode = (params) => {
return request({
url: '/api/logpm-basicdata/basicdataClient/listCode',
method: 'get',
params: {
...params,
}
})
}
export const getListClient = (current, size, params) => {
return request({
url: '/api/logpm-basicdata/basicdataClient/list',

6
src/api/distribution/distributionParcelList.js

@ -70,14 +70,12 @@ export const update = (row) => {
})
}
export const getPackageList = (current, size, params) => {
export const getPackageList = (params) => {
return request({
url: '/api/logpm-distribution/distributionParcelList/list',
method: 'get',
params: {
...params,
current,
size,
...params
}
})
}

13
src/api/distribution/distributionReservation.js

@ -171,6 +171,19 @@ export const getReservationPackageList = (reservationId,id) => {
})
}
export const getReservationStockListInfo = (reservationId) => {
return request({
url: '/api/logpm-distribution/reservation/getReservationStockListInfo',
method: 'get',
params: {
reservationId,
}
})
}

10
src/api/distribution/distributionStockArticle.js

@ -143,4 +143,14 @@ export const getStockAddValue = (id) => {
})
}
export const selectStockArticleAndParcel = (params) => {
return request({
url: '/api/logpm-distribution/distributionStockArticle/selectStockArticleAndParcel',
method: 'get',
params: {
...params,
}
})
}

2
src/api/distribution/distributionStockList.js

@ -88,7 +88,7 @@ export const update = (row) => {
*/
export const getInventoryList = (current, size, params) => {
return request({
url: '/api/logpm-distribution/distributionStockList/list',
url: '/api/logpm-distribution/distributionStockList/page',
method: 'get',
params: {
...params,

7
src/api/system/dept.js

@ -78,3 +78,10 @@ export const getDeptLazyTree = parentId => {
},
});
};
export const getDeptList = () => {
return request({
url: '/blade-system/dept/list',
method: 'get',
});
};

17
src/option/basicdata/basicdataWarehouse.js

@ -352,6 +352,16 @@ export default {
editDisplay: false,
hide: true,
},
{
label: "所属部门",
prop: "departmentName",
type: "input",
span:12,
labelWidth:'120',
width:'120',
addDisplay: false,
editDisplay: false,
},
{
label: "所属部门",
prop: "department",
@ -365,6 +375,10 @@ export default {
label: "title",
value: "id"
},
hide: true,
addDisplay: true,
editDisplay: true,
viewDisplay: false,
lazy: true,
treeLoad: (node, resolve) => {
// console.log(">>>>>>>>>>",node);
@ -374,6 +388,8 @@ export default {
let code = data.id;
let list = [];
let callback = () => {
console.log(">>>>>>>>>>",node);
this.departmentName = data.title;
resolve((list || []).map(ele => {
return Object.assign(ele, {
leaf: level >= stop_level
@ -403,6 +419,7 @@ export default {
callback()
})
} else {
list = []
callback()
}

6
src/option/distribution/distributionReservation.js

@ -303,7 +303,7 @@ export default {
},
{
label: '订单自编号',
prop: 'orderSelfNumbering',
prop: 'orderCode',
width: '100'
},
@ -421,7 +421,7 @@ export default {
},
{
label: '订单自编号',
prop: 'orderSelfNumbering',
prop: 'orderCode',
width: '100'
},
// {
@ -436,7 +436,7 @@ export default {
// head: false,
// },
// {
// prop: 'orderSelfNumbering',
// prop: 'orderCode',
// label: '订单自编号',
// type: 2,
// values: '',

2
src/option/distribution/distributionReservationDetails.js

@ -10,7 +10,7 @@ export default {
hide: true
},
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '订单自编号'
}, {
prop: 'waybillNumber',

78
src/option/distribution/distributionStockArticle.js

@ -83,7 +83,7 @@ export default {
},
{
label: '订单自编号',
prop: 'orderSelfNumbering'
prop: 'orderCode'
},
{
label: '商场名称',
@ -91,7 +91,7 @@ export default {
search: true
},
{
label: '仓库',
label: '所在仓库',
prop: 'warehouse',
search: true
},
@ -102,7 +102,7 @@ export default {
},
{
label: '服务类型',
prop: 'typeService',
prop: 'typeServerName',
search: true
}
@ -265,13 +265,21 @@ export default {
prop: 'warehouse'
},
{
label: '状态',
label: '包件类型',
prop: 'conditions',
search: true
},
{
label: '包件状态',
prop: 'orderPackageStatusName',
},
{
label: '冻结状态',
prop: 'orderPackageStatusName',
},
{
label: '包条码',
prop: 'packetBarCode'
prop: 'orderPackageCode'
},
{
label: '货位信息',
@ -294,7 +302,7 @@ export default {
prop: 'thirdProduct'
},
{
label: '物料',
label: '物料名称',
prop: 'material'
},
{
@ -302,7 +310,7 @@ export default {
prop: 'quantity'
},
{
label: '车次号',
label: '客户车次号',
prop: 'trainNumber'
}
],
@ -397,7 +405,7 @@ export default {
},
{
label: '订单自编号',
prop: 'orderSelfNumbering'
prop: 'orderCode'
},
{
label: '商场名称',
@ -474,10 +482,10 @@ export default {
label: '顾客地址',
prop: 'customerAddress'
},
{
label: '增值服务',
prop: 'fee'
}
// {
// label: '增值服务',
// prop: 'fee'
// }
// {
// label: "类型;1 预约单 2库存单",
// prop: "genre",
@ -580,7 +588,7 @@ export default {
},
{
label: '订单自编号',
prop: 'orderSelfNumbering',
prop: 'orderCode',
width: '100'
},
@ -622,6 +630,13 @@ export default {
search: true,
width: '100'
},
{
label: '订单状态',
prop: 'orderStatusName',
search: true,
width: '100'
},
{
label: '入库时间',
@ -660,13 +675,13 @@ export default {
display: false,
hide: true
},
{
label: '服务类型',
prop: 'typeService',
search: true,
width: '100'
// {
// label: '服务类型',
// prop: 'typeService',
// search: true,
// width: '100'
},
// },
{
label: '顾客名字',
prop: 'customerName',
@ -685,12 +700,12 @@ export default {
width: '100'
},
{
label: '增值服务',
prop: 'fee',
width: '100'
}
// {
// label: '增值服务',
// prop: 'fee',
// width: '100'
//
// }
// {
// label: "类型;1 预约单 2库存单",
// prop: "genre",
@ -711,7 +726,7 @@ export default {
},
{
label: '订单自编号',
prop: 'orderSelfNumbering',
prop: 'orderCode',
width: '100',
},
@ -727,7 +742,7 @@ export default {
// head: false,
// },
// {
// prop: 'orderSelfNumbering',
// prop: 'orderCode',
// label: '订单自编号',
// type: 2,
// values: '',
@ -835,13 +850,20 @@ export default {
label: '库存数量',
width: '100'
},
{
prop: 'applyNum',
label: '可用数量',
width: '100'
},
{
prop: 'quantityOccupied',
label: '冻结数量',
width: '100'
}, {
},
{
prop: 'outboundQuantity',
label: '出库数量',
width: '100'

14
src/option/distribution/distributionStockList.js

@ -99,7 +99,7 @@ export default {
},
{
label: "货位",
prop: "orderSelfNumbering",
prop: "orderCode",
search: true,
},
{
@ -213,7 +213,7 @@ export default {
},
{
label: "货位",
prop: "orderSelfNumbering",
prop: "storageLocation",
search: true,
},
{
@ -222,7 +222,7 @@ export default {
},
{
label: "上架时间",
prop: "warehousingTime",
prop: "groundingTime",
},
// {
// label: "入库数量",
@ -335,11 +335,11 @@ export default {
},
{
label: "出库类型",
prop: "outboundType",
prop: "outboundTypeName",
},
{
label: "订单自编号",
prop: "orderSelfNumbering",
prop: "orderCode",
},
{
label: "配送单号",
@ -468,7 +468,7 @@ export default {
},
{
label: "订单自编号",
prop: "orderSelfNumbering",
prop: "orderCode",
},
{
label: "运单编号",
@ -585,7 +585,7 @@ export default {
},
{
label: "订单自编号",
prop: "orderSelfNumbering",
prop: "orderCode",
},
{
label: "运单编号",

4
src/option/distribution/distributionStockup.js

@ -197,7 +197,7 @@ export default {
// },
{
label: "订单自编号",
prop: "orderSelfNumbering",
prop: "orderCode",
},
{
label: "货物名称",
@ -411,7 +411,7 @@ export default {
},
{
label: "订单编号",
prop: "orderSelfNumbering",
prop: "orderCode",
search: true,
},
{

10
src/option/distribution/distrilbutionBillLading.js

@ -90,7 +90,7 @@ export default {
},
{
label: "订单自编号",
prop: "orderSelfNumbering",
prop: "orderCode",
},
{
label: "一级品",
@ -223,7 +223,7 @@ export default {
},
{
label: "订单自编号",
prop: "orderSelfNumbering",
prop: "orderCode",
},
{
label: "商城名称",
@ -243,7 +243,7 @@ export default {
},
{
label: "可用数量",
prop: "quantityStock",
prop: "available",
},
// {
// label: "物流车次",
@ -655,7 +655,7 @@ export default {
// },
{
label: "订单自编号",
prop: "orderSelfNumbering",
prop: "orderCode",
},
{
label: "货物名称",
@ -869,7 +869,7 @@ export default {
},
{
label: "订单编号",
prop: "orderSelfNumbering",
prop: "orderCode",
search: true,
},
{

120
src/views/basicdata/brand/basicClient.vue

@ -191,11 +191,12 @@
v-model="box"
width="35%"
:before-close="beforeClose"
:close-on-click-modal="false"
append-to-body>
<el-form :disabled="view" ref="form" :model="form" :rules="rules" label-width="120px">
<!-- 表单字段 -->
<el-form-item label="客户编码" prop="reserve1">
<el-input v-model="form.reserve1" placeholder="请输入客户编码" style="width: 100%" />
<el-input v-model="form.reserve1" :validate-method="validateInput" placeholder="请输入客户编码" style="width: 100%" />
</el-form-item>
<el-form-item label="客户名称" prop="clientName">
<el-input v-model="form.clientName" placeholder="请输入客户名称" style="width: 100%" />
@ -290,6 +291,7 @@
:on-success="(response, file, fileList) => {uploadSuccess(fileList)}"
:on-remove="handleRemove"
:before-remove="beforeRemove"
:before-upload="beforeUploadFn"
:limit="3"
:on-exceed="handleExceed"
>
@ -371,7 +373,7 @@
</template>
<script>
import { getList, getDetail, add, update, updateCargoControl,remove } from '@/api/basicdata/basicClient';
import { getList, getDetail, add, update, updateCargoControl, remove, getListCode } from '@/api/basicdata/basicClient';
import option from '@/option/basicdata/basicClient';
import { mapGetters } from 'vuex';
import BasicShopSub from '@/views/basicdata/brand/basicShopSub.vue';
@ -474,13 +476,14 @@ export default {
reserve1: [
{ required: true, message: '请输入客户编码', trigger: 'blur' },
// { min: 3, max: 5, message: ' 3 5 ', trigger: 'blur' }
{ validator: this.validateInput, trigger: 'blur' }
],
clientName: [
{ required: true, message: '请输入客户名称', trigger: 'blur' },
// { min: 3, max: 5, message: ' 3 5 ', trigger: 'blur' }
],
typeService: [
{ required: true, message: '请选择客户端类型', trigger: 'change' }
{ required: true, message: '请选择客户端类型', trigger: 'blur' }
],
businessType: [
{ required: true, message: '请选择配送业务类型', trigger: 'change' },
@ -522,12 +525,7 @@ export default {
},
mounted() {
this.init();
getLazyTreeAll().then(res => {
if (res.data.success) {
this.optioner = res.data.data;
this.onLoad(this.page);
}
});
},
computed: {
...mapGetters(['permission']),
@ -549,9 +547,30 @@ export default {
}
},
methods: {
//
validateInput(value,a) {
// console.log("",value,a);
return new Promise((resolve, reject) => {
//
// { valid: true }
// 1
setTimeout(async () => {
const response = { valid: false }; //
await getListCode({ code: a }).then(res =>{
// console.log("smgsmg",res.data);
if (res.data.data.length > 0) {
reject(new Error('编码已存在')); // reject()
} else {
resolve(); // resolve()
}
})
}, 1000);
});
},
coverCharge(num) {
this.distriType = false;
console.log(num);
// console.log(num);
num.forEach(i =>{
if(i == '3'){
this.distriType = true;
@ -565,7 +584,7 @@ export default {
//
handleMall(row) {
console.log('>>>', row);
// console.log('>>>', row);
this.$router.push({
path: '/basicdata/brand/basicdataTripartiteMall',
query: {
@ -578,7 +597,7 @@ export default {
//
downloadLink(row) {
console.log('>>>>>', row);
window.open('http://192.168.2.100:8012/onlinePreview?url=' + encodeURIComponent(Base64.encode(row.leaseAccessories)));
window.open('http://192.168.10.100:8012/onlinePreview?url=' + encodeURIComponent(Base64.encode(row.leaseAccessories)));
},
//
makeCargo(row) {
@ -638,6 +657,20 @@ export default {
handleCo(file, fileList) {
this.showImgViewer = false;
},
//
beforeUploadFn (file, fileList) {
// console.log("");
let fileNameLength = file.name.lastIndexOf('.') //
let fileFormat = file.name.substring(fileNameLength + 1, (file.name).length)
fileFormat = fileFormat.toLowerCase()
let imgArr = ['txt']
if (imgArr.includes(fileFormat)) {
// this.warning(this.$t('lang.fileFormat'))
return false
} else {
return true
}
},
handlePreview(file) {
this.imgPreviewUrl[0] = file.response.data.link;
@ -685,6 +718,12 @@ export default {
// console.log('111', this.optioner);
this.height = this.setPx(document.body.clientHeight - 340);
getLazyTreeAll().then(res => {
if (res.data.success) {
this.optioner = res.data.data;
this.onLoad(this.page);
}
});
},
searchHide() {
this.search = !this.search;
@ -799,6 +838,9 @@ export default {
this.viewEntd = false;
getDetail(row.id).then(res => {
this.form = res.data.data;
if(this.form.detailedly == "0" || this.form.detailedly == "-1"){
this.form.detailedly = "";
}
let bus =[];
this.form.typeServiceBusiness.forEach(i =>{
bus.push(i.typeService);
@ -807,12 +849,21 @@ export default {
this.form.businessType = i.mold;
}
})
this.form.typeServiceList = bus;
if(!!bus){
this.form.typeServiceList = bus;
}
let a = [];
if (!!this.form.bladeRegionProvinceId) {
a.push(res.data.data.bladeRegionProvinceId);
a.push(res.data.data.bladeRegionCityId);
a.push(res.data.data.bladeRegionAreaId);
if(res.data.data?.bladeRegionProvinceId){
a.push(res.data.data.bladeRegionProvinceId);
}
if(res.data.data?.bladeRegionCityId){
a.push(res.data.data.bladeRegionCityId);
}
if(res.data.data?.bladeRegionAreaId){
a.push(res.data.data.bladeRegionAreaId);
}
}
this.form.bladeRegionProvinceId = a;
if (!!this.form.leaseAccessories) {
@ -846,27 +897,46 @@ export default {
// res.data.data.typeService = res.data.data.typeService.toString();
console.log('>>>>>', res.data.data);
this.form = res.data.data;
if(this.form.detailedly == "0" || this.form.detailedly == "-1"){
this.form.detailedly = "";
}
let bus =[];
// console.log("????><><><",this.form.typeServiceBusiness);
this.form.typeServiceBusiness.forEach(i =>{
bus.push(i.typeService);
if(i.typeService == '3'){
this.distriType = true;
i.businessType = i.mold;
// i.businessType = i.mold;
this.form.businessType= i.mold;
}
})
this.form.typeServiceList = bus;
if(!!bus){
this.form.typeServiceList = bus;
}
//
let a = [];
if (!!this.form.bladeRegionProvinceId) {
a.push(res.data.data.bladeRegionProvinceId);
a.push(res.data.data.bladeRegionCityId);
a.push(res.data.data.bladeRegionAreaId);
if(res.data.data?.bladeRegionProvinceId){
a.push(res.data.data.bladeRegionProvinceId);
}
if(res.data.data?.bladeRegionCityId){
a.push(res.data.data.bladeRegionCityId);
}
if(res.data.data?.bladeRegionAreaId){
a.push(res.data.data.bladeRegionAreaId);
}
}
console.log("aaa",a);
this.form.bladeRegionProvinceId = a;
//
if (!!this.form.leaseAccessories) {
if (this.form.leaseAccessories.includes(',')) {
let le = [];
let d = this.form.leaseAccessories.splice(',');
d.forEach(i => {
console.log(">>>>",i);
let q = {
name: '',
url: i
@ -876,7 +946,7 @@ export default {
this.fileList = le;
} else {
this.fileList = [{
name: '',
name: this.form.fileName,
url: this.form.leaseAccessories
}];
}
@ -1006,6 +1076,10 @@ export default {
this.form = {};
this.view = false;
},
onClose(done) {
console.log("执行了");
},
selectionChange(list) {
this.selectionList = list;
},
@ -1063,7 +1137,7 @@ export default {
return it.bladeRegionAreaId == i.value;
});
// console.log("========",JSON.parse(JSON.stringify(arrsheng)) );
dz = arrsheng[0].label + '/' + arrshi[0].label + '/' + arrqu[0].label;
dz = arrsheng[0].label + (arrshi[0].label?`/${arrshi[0].label}`:``) + (arrqu[0]?.label?`/${arrqu[0]?.label}`:'');
it.bladeRegionProvinceId = dz;
});

2
src/views/basicdata/brand/basicClientFrom.vue

@ -570,7 +570,7 @@ export default {
//
downloadLink(row) {
console.log('>>>>>', row);
window.open('http://192.168.2.100:8012/onlinePreview?url=' + encodeURIComponent(Base64.encode(row.leaseAccessories)));
window.open('http://192.168.10.100:8012/onlinePreview?url=' + encodeURIComponent(Base64.encode(row.leaseAccessories)));
},
//
makeCargo(row) {

765
src/views/basicdata/warehouse/warehouse/basicdataWarehouse.vue

@ -44,7 +44,8 @@
<script>
import {getList, getDetail, add, update, remove} from "@/api/basicdata/basicdataWarehouse";
import option from "@/option/basicdata/basicdataWarehouse";
import {getDeptList} from "@/api/system/dept";
// import option from "@/option/basicdata/basicdataWarehouse";
import {mapGetters} from "vuex";
import {exportBlob} from "@/api/common";
import {getToken} from '@/utils/auth';
@ -52,6 +53,8 @@
import {dateNow} from "@/utils/date";
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
import { getListUser } from '@/api/distribution/distributionStockup';
import { getPostList } from '@/api/system/post';
export default {
data() {
@ -66,8 +69,723 @@
total: 0
},
selectionList: [],
option: option,
data: []
department:'',
option: {
height:'auto',
calcHeight: 30,
tip: false,
searchShow: true,
searchMenuSpan: 6,
border: true,
index: true,
menu:true,
viewBtn: true,
addBtn:true,
selection: true,
indexLabel:"序号",
indexWidth:'80',
dialogClickModal: false,
column: [
{
label: "租户号",
prop: "tenantId",
type: "input",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "创建人",
prop: "createUser",
type: "input",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "创建时间",
prop: "createTime",
type: "input",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "更新人",
prop: "updateUser",
type: "input",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "更新时间",
prop: "updateTime",
type: "input",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "状态",
prop: "status",
type: "input",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "是否已删除",
prop: "isDeleted",
type: "input",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "创建部门",
prop: "createDept",
type: "input",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "主键",
prop: "id",
type: "input",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "预留1",
prop: "reserve1",
type: "input",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "预留2",
prop: "reserve2",
type: "input",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "预留3",
prop: "reserve3",
type: "input",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "预留4",
prop: "reserve4",
type: "input",
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "预留5",
prop: "reserve5",
type: "input",
viewDisplay: false,
addDisplay: false,
editDisplay: false,
hide: true,
},
{
label: "仓库名称",
prop: "name",
type: "input",
search:true,
rules:[{
required: true,
message: "请输入仓库名称",
trigger: "blur"
}],
span:12,
labelWidth:'120',
width:'120'
},
{
label: "仓库编码",
prop: "warehouseCode",
type: "input",
rules:[{
required: true,
message: "请输入仓库代码",
trigger: "blur"
}],
span:12,
labelWidth:'120',
width:'100'
},
{
label: "仓库简称",
prop: "abbreviation",
type: "input",
labelWidth:'120',
width:'100'
},
{
label: "联系人",
prop: "linkman",
type: "input",
search:true,
span:12,
labelWidth:'120',
width:'120',
rules:[{
required: true,
message: "请填写联系人",
trigger: "blur"
}],
},
{
label: "联系电话",
prop: "contactNumber",
type: "input",
search: true,
rules:[{
required: true,
message: "请填写联系电话",
trigger: "blur"
}],
span:12,
labelWidth:'120',
width:'120'
},
{
label: "事业线",
prop: "businessLine",
type: "input",
search:false,
span:12,
labelWidth:'120',
width:'90',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true
},
// {
// label: "",
// prop: "distributionMall",
// type: "input",
// span:12,
// labelWidth:'120',
// width:'100'
// },
{
label: "管理区域",
prop: "administrativeAreas",
type: "cascader",
search:true,
multiple:true,
span:12,
placeholder:'省/市/区',
dicUrl: '/blade-system/region/lazy-listAll',
checkStrictly:true,
// dicData:dicData ,
props: {
label:'label',
value:'value',
children:'children',
leaf:'leaf',
},
labelWidth:'120',
width:'100',
},
{
label: "职能类型",
prop: "functionType",
type: "select",
span:12,
labelWidth:'120',
width:'90',
search: true,
dicUrl: "/api/blade-system/dict-biz/dictionary?code=warehouse_function_type",
dataType: "number",
props:{
label: "dictValue",
value: "dictKey"
},
},
{
label: "仓库地址",
prop: "warehouseAddress",
type: "input",
span:12,
labelWidth:'120',
width:'180',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: false,
},
//
{
label: '仓库地区',
prop: 'addressInfo',
type: "cascader",
search: true,
labelWidth:'120',
width:'180',
clearable:true,
placeholder:'省/市/区',
dicUrl: '/blade-system/region/lazy-listAll',
checkStrictly:true,
// dicData:dicData ,
props: {
label:'label',
value:'value',
children:'children',
leaf:'leaf',
},
addDisplay: true,
editDisplay: false,
viewDisplay: true,
hide: false,
},
//
{
label: "仓库地址",
prop: "address",
type: "map",
span:12,
labelWidth:'120',
width:'180',
params:{
zoom: 8,
//
zoomEnable: true,
//
dragEnable: true,
value:''
},
rules:[{
required: true,
message: "请输入仓库地址",
trigger: "blur"
}],
clearable:false,
addDisplay: true,
editDisplay: true,
hide: true,
},
{
label: "经度",
prop: "longitude",
type: "input",
span:12,
labelWidth:'120',
width:'120',
addDisplay: false,
editDisplay: false,
hide: true,
},
{
label: "纬度",
prop: "latitude",
type: "input",
span:12,
labelWidth:'120',
width:'120',
addDisplay: false,
editDisplay: false,
hide: true,
},
{
label: "所属部门",
prop: "department",
type: "input",
span:12,
labelWidth:'120',
width:'120',
addDisplay: false,
editDisplay: false,
hide: true,
},
{
label: "所属部门",
prop: "departmentName",
search: true,
type: "tree",
span:12,
labelWidth:'120',
width:'100',
dicUrl: '/api/blade-system/dept/lazy-tree?parentId=0',
props:{
label: "title",
value: "title"
},
hide: false,
addDisplay: true,
editDisplay: true,
viewDisplay: false,
lazy: true,
checkStrictly:true,
treeLoad: (node, resolve) => {
let stop_level = 3;
let level = node.level; // 0
let data = node.data || {}
let code = data.id;
let list = [];
let callback = () => {
this.department = data.id;
console.log("this.department>>>>>>>>>",this.department);
resolve((list || []).map(ele => {
return Object.assign(ele, {
leaf: level >= stop_level
})
}));
}
if (level == 0) {
axios.get(`/api/blade-system/dept/lazy-tree?parentId=0`).then(res => {
list = res.data.data;
callback()
})
}
if (level == 1) {
axios.get(`/api/blade-system/dept/lazy-tree?parentId=${code}`).then(res => {
list = res.data.data;
callback()
})
} else if (level == 2) {
axios.get(`/api/blade-system/dept/lazy-tree?parentId=${code}`).then(res => {
list = res.data.data;
callback()
})
} else if (level == 3) {
axios.get(`/api/blade-system/dept/lazy-tree?parentId=${code}`).then(res => {
list = res.data.data;
callback()
})
} else {
list = []
callback()
}
},
},
{
label: "仓库类型",
prop: "warehouseType",
type: "select",
dicUrl: "/api/blade-system/dict-biz/dictionary?code=warehouse_type",
dataType: "number",
props:{
label: "dictValue",
value: "dictKey"
},
search:true,
span:12,
labelWidth:'120',
width:'100',
rules:[{
required: true,
message: "请选择仓库类型",
trigger: "change"
}],
},
{
label: "消防等级",
prop: "fireGrade",
type: "select",
search: true,
dicUrl: "/api/blade-system/dict-biz/dictionary?code=warehouse_grade",
props: {
label: "dictValue",
value: "dictKey"
},
span:12,
labelWidth:'120',
width:'100',
rules:[{
required: true,
message: "请选择消防等级",
trigger: "change"
}],
},
{
label: "是否有消防等级",
prop: "fireRatingNot",
type: "select",
dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
props: {
label: "dictValue",
value: "dictKey"
},
span:12,
labelWidth:'120',
width:'130'
},
// {
// label: "",
// prop: "merchantFactory",
// type: "select",
// dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
// props: {
// label: "dictValue",
// value: "dictKey"
// },
// span:12,
// labelWidth:'120',
// width:'90'
//
// },
{
label: "仓库结构",
prop: "warehouseStructure",
type: "select",
search: true,
dicUrl: "/api/blade-system/dict-biz/dictionary?code=warehouse_structure",
props: {
label: "dictValue",
value: "dictKey"
},
span:12,
labelWidth:'120',
width:'100',
rules:[{
required: true,
message: "请选择仓库结构",
trigger: "change"
}],
},
{
label: "是否高架",
prop: "elevatedNot",
type: "select",
dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
props: {
label: "dictValue",
value: "dictKey"
},
span:12,
labelWidth:'120',
width:'100',
rules:[{
required: true,
message: "请选择是否为高架",
trigger: "change"
}],
},
{
label: "仓库层高",
prop: "storeyHeight",
type: "input",
span:12,
labelWidth:'120',
width:'120'
},
{
label: "电力类型",
prop: "powerCondition",
type: "select",
span:12,
labelWidth:'120',
search: true,
dicUrl: "/api/blade-system/dict-biz/dictionary?code=power_condition",
props: {
label: "dictValue",
value: "dictKey"
},
width:'100',
rules:[{
required: true,
message: "请选择用电类型",
trigger: "change"
}],
},
{
label: "租金单价",
prop: "unitPrice",
type: "input",
span:12,
labelWidth:'120',
width:'70'
},
{
label: "面积",
prop: "acreage",
type: "input",
span:12,
labelWidth:'120',
width:'70'
},
{ label: "开始时间",
prop: "startDate",
type: "date",
format:'YYYY-MM-DD',
valueFormat:'YYYY-MM-DD',
placeholder:'请选择租赁开始时间',
span:12,
labelWidth:'120',
width:'120',
viewDisplay: true,
addDisplay: false,
editDisplay: false,
hide: false,
},
{ label: "到期时间",
prop: "endDate",
type: "date",
format:'YYYY-MM-DD',
valueFormat:'YYYY-MM-DD',
placeholder:'请选择租赁结束时间',
span:12,
labelWidth:'120',
width:'120',
viewDisplay: true,
addDisplay: false,
editDisplay: false,
hide: false,
},
{
label: "租金类型",
prop: "rentType",
type: "select",
search: true,
dicUrl: "/api/blade-system/dict-biz/dictionary?code=rent_type",
props: {
label: "dictValue",
value: "dictKey"
},
span:12,
labelWidth:'120',
width:'100',
rules:[{
required: true,
message: "请选择租金类型",
trigger: "change"
}],
},
{
label: "仓库等级",
prop: "grade",
type: "select",
search: true,
dicUrl: "/api/blade-system/dict-biz/dictionary?code=warehouse_grade",
props: {
label: "dictValue",
value: "dictKey"
},
span:12,
labelWidth:'120',
width:'100',
rules:[{
required: true,
message: "请选择仓库等级",
trigger: "change"
}],
},
{
label: "管理费",
prop: "administrativeFee",
type: "input",
span:12,
labelWidth:'120',
width:'90'
},
{
label: "库位数",
prop: "seating",
type: "input",
span:12,
labelWidth:'120',
width:'90'
},
{
label: "日期范围",
prop: "daterange",
type: "daterange",
format:'YYYY-MM-DD',
valueFormat:'YYYY-MM-DD',
startPlaceholder: '租赁开始日期',
endPlaceholder: '租赁结束日期',
span:12,
labelWidth:'120',
width:'120',
search: true,
searchRange: true,
searchSpan: 12,
rules:[{
required: true,
message: "请选择租赁时间",
trigger: "change"
}],
viewDisplay: false,
addDisplay: true,
editDisplay: true,
hide: true,
},
{
label: "备注",
prop: "remarks",
type: "input",
span:12,
labelWidth:'120',
width:'70'
},
{
label: "收款码",
prop: "paymentCodeUrl",
type: "upload",
dataType: 'string',
listType: 'picture-img',
hide: true,
labelWidth:'150',
span:11,
multiple:false,
width:"200px",
align:'left',
action: '/blade-resource/oss/endpoint/put-file',
propsHttp: {
res: 'data',
url: 'link',
},
addDisplay: true,
viewDisplay: true,
editDisplay: true,
},
]
}
,
data: [],
//ID
deptList:[],
};
},
computed: {
@ -121,7 +839,16 @@
}
//
if (!!this.form.administrativeAreas){
row.administrativeAreas = this.form.administrativeAreas.join(";")
console.log();
let str = [];
let kk= this.form.administrativeAreas;
kk.forEach(a=>{
str.push(a[a.length -1]);
})
row.administrativeAreas = str.join(",");
}
if (this.form.departmentName){
this.form.department = this.department;
}
console.log(row);
add(row).then(() => {
@ -137,8 +864,9 @@
});
},
rowUpdate(row, index, done, loading) {
console.log(">>>this.form",this.form);
//
let aa = this.form.administrativeAreas;
console.log("!!!!!!!!!",aa);
if (this.form.daterange){
let date =this.form.daterange
row.startDate = date[0];
@ -167,8 +895,20 @@
row.code = code[2];
}
}
//
// row.administrativeAreas = str.join(",");
console.log(this.form.administrativeAreas);
//
console.log(">>>>>>>>>",row);
if (!!this.form.administrativeAreas){
let str = [];
this.form.administrativeAreas.forEach(a=>{
str.push(a[a.length -1]);
})
row.administrativeAreas = str.join(",");
}
if (this.form.departmentName){
this.form.department = this.department;
}
update(row).then(() => {
this.onLoad(this.page);
this.$message({
@ -255,10 +995,10 @@
if (!!data.startDate && !!data.endDate){
this.form.daterange.push(res.data.data.startDate,res.data.data.endDate)
}
console.log(">>>>>>>>>",this.form);
console.log('>>>>>>>>>',data);
if (!!data.administrativeAreas){
data.administrativeAreas = data.administrativeAreas.split(",");
}
this.form = res.data.data;
console.log("this.form>>>>>>",this.form);
});
}
done();
@ -362,11 +1102,10 @@
const data = res.data.data;
this.page.total = data.total;
//
console.log('>>>>>>>>>',data.records);
data.records.forEach(item=>{
let b = [];
item.administrativeAreas = item.administrativeAreas.split(";")
item.administrativeAreas = item.administrativeAreas.split(",")
console.log("=============>",item.administrativeAreas);
if (item.provinceCode){
b.push((item.provinceCode))
}

4
src/views/distribution/deliverylist/distributionDeliveryListedt.vue

@ -631,7 +631,7 @@ export default {
},
{
label: "订单自编号",
prop: "orderSelfNumbering",
prop: "orderCode",
search: true,
width:"100px"
},
@ -688,7 +688,7 @@ export default {
column: [
{
label: "订单自编号",
prop: "orderSelfNumbering",
prop: "orderCode",
search: true,
width:"100px"
},

6
src/views/distribution/inventory/carry/distributionStockCarry.vue

@ -223,8 +223,8 @@
<el-form-item label="服务号" prop="serviceNumber">
<el-input v-model="form.serviceNumber" placeholder="请输入服务号"/>
</el-form-item>
<el-form-item label="订单自编号" prop="orderSelfNumbering">
<el-input v-model="form.orderSelfNumbering" placeholder="请输入订单自编号"/>
<el-form-item label="订单自编号" prop="orderCode">
<el-input v-model="form.orderCode" placeholder="请输入订单自编号"/>
</el-form-item>
<el-form-item label="商场名称" prop="mallName">
<el-input v-model="form.mallName" placeholder="请输入商场名称"/>
@ -485,7 +485,7 @@ export default {
case '1':
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.orderSelfNumbering);
ids.push(ele.orderCode);
});
this.formCall.waybill = ids;
this.dialogFormVisible = true;

174
src/views/distribution/inventory/delivery/distributionStockArticle.vue

@ -6,7 +6,7 @@
<!-- 查询模块 -->
<el-form :inline="true" :model="query">
<el-form-item label="订单自编号:">
<el-input v-model="query.orderSelfNumbering" placeholder="请输入订单自编号" ></el-input>
<el-input v-model="query.orderCode" placeholder="请输入订单自编号" ></el-input>
</el-form-item>
<!-- <el-form-item label="货物名称:">
<el-input v-model="query.descriptionGoods" placeholder="请输入货物名称"></el-input>
@ -211,8 +211,8 @@
<el-form-item label="服务号" prop="serviceNumber">
<el-input v-model="form.serviceNumber" placeholder="请输入服务号"/>
</el-form-item>
<el-form-item label="订单自编号" prop="orderSelfNumbering">
<el-input v-model="form.orderSelfNumbering" placeholder="请输入订单自编号"/>
<el-form-item label="订单自编号" prop="orderCode">
<el-input v-model="form.orderCode" placeholder="请输入订单自编号"/>
</el-form-item>
<el-form-item label="商场名称" prop="mallName">
<el-input v-model="form.mallName" placeholder="请输入商场名称"/>
@ -332,6 +332,7 @@ import option from "@/option/distribution/distributionStockArticle";
import { mapGetters } from "vuex";
import { getDictionaryBiz } from '@/api/system/dict';
import dayjs from 'dayjs';
import { getUser } from '@/api/system/user';
export default {
data () {
@ -369,7 +370,7 @@ export default {
head: false,
},
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '订单自编号',
type: 2,
values: '',
@ -400,7 +401,7 @@ export default {
},
{
prop: 'warehouse',
label: '仓库',
label: '所在仓库',
type: 2,
values: '',
width: '180',
@ -476,7 +477,7 @@ export default {
sortable: true,
},
{
prop: 'handQuantity',
prop: 'notReceived',
label: '未入库数量',
type: 1,
values: '',
@ -521,12 +522,28 @@ export default {
fixed: false,
sortable: true,
},{
prop: 'handQuantity',
prop: 'groundingStatusName',
label: '上架状态',
type: 1,
type: 3,
values: '',
width: '150',
checkarr: [],
checkarr: [
// {
// value: '0',
// label: '',
// },
// {
// value: '1',
// label: '',
// }, {
// value: '2',
// label: '',
// },
// {
// value: '3',
// label: '',
// },
],
fixed: false,
sortable: true,
},{
@ -559,19 +576,28 @@ export default {
sortable: true,
},
{
prop: 'freeze_status',
prop: 'freezeStatusName',
label: '冻结状态',
type: 1,
type: 3,
values: '',
width: '150',
checkarr: [],
checkarr: [
// {
// value: '1',
// label: '',
// },
// {
// value: '0',
// label: '',
// },
],
fixed: false,
sortable: true,
},
{
prop: 'state',
prop: 'orderStatesName',
label: '状态',
type: 2,
type: 3,
values: '',
width: '150',
checkarr: [],
@ -608,7 +634,7 @@ export default {
// sortable: true,
// },
{
prop: 'typeName',
prop: 'typeServerName',
label: '服务类型',
type: 3,
values: '',
@ -656,8 +682,9 @@ export default {
checkarr: [],
fixed: false,
sortable: true,
}, {
prop: 'createUser',
},
{
prop: 'createUserName',
label: '创建人',
type: 1,
values: '',
@ -665,7 +692,8 @@ export default {
checkarr: [],
fixed: false,
sortable: true,
}, {
},
{
prop: 'createTime',
label: '创建时间',
type: 1,
@ -683,7 +711,8 @@ export default {
checkarr: [],
fixed: false,
sortable: true,
}, {
},
{
prop: 'inventoryPerson',
label: '盘点人',
type: 1,
@ -693,6 +722,26 @@ export default {
fixed: false,
sortable: true,
},
{
prop: 'reservationStatusName',
label: '预约状态',
type: 3,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'stockupStatusName',
label: '备货状态',
type: 3,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: '',
label: '操作',
@ -738,6 +787,7 @@ export default {
//
data: [],
distributionType: [],
deliveryOrderStatus: [],
dialogTableVisible: false,
dialogFormVisible: false,
dialogFormCustomer: false, //
@ -885,8 +935,12 @@ export default {
},
selectsc(index, row) {
console.log(index, row);
if(row.prop ==='completeSetName'){
if(row.prop ==='freezeStatusName'){
this.query['freezeStatus'] = index;
}else if(row.prop ==='completeSetName'){
this.query['completeSet'] = index;
}else if(row.prop ==='orderStatesName'){
this.query['orderStatus'] = index;
}else if(row.prop ==='typeName'){
this.query['typeService'] = index;
}else{
@ -920,11 +974,11 @@ export default {
this.selectionList.some( i =>{
if(i.stateName === "已预约"){
st = true;
this.$message.warning(i.orderSelfNumbering+" - 已预约,请勿重复预约!!!");
this.$message.warning(i.orderCode+" - 已预约,请勿重复预约!!!");
}
if(i.typeService === 3){
st = true;
this.$message.warning(i.orderSelfNumbering+" - 为自提单,无法预约!!!");
this.$message.warning(i.orderCode+" - 为自提单,无法预约!!!");
}
})
if(st){
@ -1084,7 +1138,7 @@ export default {
case '1':
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.orderSelfNumbering);
ids.push(ele.orderCode);
});
this.formCall.waybill = ids;
this.dialogFormVisible = true;
@ -1102,7 +1156,43 @@ export default {
this.height = this.setPx(document.body.clientHeight - 340);
getDictionaryBiz('distribution_type').then(res => {
this.distributionType = res.data.data;
this.columnList[13].checkarr =res.data.data.map(item=>{
this.columnList[26].checkarr =res.data.data.map(item=>{
item.value=item.dictKey
item.label=item.dictValue
return item
});
});
getDictionaryBiz('order_package_status').then(res => {
this.deliveryOrderStatus = res.data.data;
this.columnList[24].checkarr =res.data.data.map(item=>{
item.value=item.dictKey
item.label=item.dictValue
return item
});
});
getDictionaryBiz('basic_grounding').then(res => {
this.columnList[19].checkarr =res.data.data.map(item=>{
item.value=item.dictKey
item.label=item.dictValue
return item
});
});
getDictionaryBiz('freeze_status').then(res => {
this.columnList[19].checkarr =res.data.data.map(item=>{
item.value=item.dictKey
item.label=item.dictValue
return item
});
});
getDictionaryBiz('stockup_status').then(res => {
this.columnList[36].checkarr =res.data.data.map(item=>{
item.value=item.dictKey
item.label=item.dictValue
return item
});
});
getDictionaryBiz('reservation_status').then(res => {
this.columnList[35].checkarr =res.data.data.map(item=>{
item.value=item.dictKey
item.label=item.dictValue
return item
@ -1225,7 +1315,7 @@ export default {
path: '/distribution/inventory/distributionStockArticleDetails',
query: {
id : row.row.id,
name: "详情 - "+row.row.orderSelfNumbering
name: "详情 - "+row.row.orderCode
},
})
@ -1296,13 +1386,43 @@ export default {
this.query.genre = 1;
getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
const data = res.data.data;
console.log(">>>>>>>",data.records);
this.page.total = data.total;
this.data = data.records;
this.data = this.data.map( i => {
// console.log("iiiii",i.createUser);
const freezeStatusMap = {
0: "未冻结",
1: "已冻结",
default: "无"
};
const nuMap = {
'-1': "0"
};
// const groundingStatusMap = {
// 0: "",
// 1: "",
// 2: "",
// 3: "",
// default: ""
// };
i.freezeStatusName = freezeStatusMap[i.freezeStatus] || freezeStatusMap.default;
// i.groundingStatusName = groundingStatusMap[i.groundingStatus] || groundingStatusMap.default;
i.handQuantity = nuMap[i.handQuantity] || i.handQuantity;
i.sortingQuantity = nuMap[i.sortingQuantity] || i.sortingQuantity;
i.deliveryQuantity = nuMap[i.deliveryQuantity] || i.deliveryQuantity;
i.signinQuantity = nuMap[i.signinQuantity] || i.signinQuantity;
i.transferQuantity = nuMap[i.transferQuantity] || i.transferQuantity;
i.availableQuantity = nuMap[i.availableQuantity] || i.availableQuantity;
// console.log("i.totalNumber",i.totalNumber,"i.handQuantitys",i.handQuantity);
i.notReceived = parseInt( i.totalNumber) - parseInt(i.handQuantity);
return i;
});
this.loading = false;
this.selectionClear();
});
}
},
}
};
</script>

303
src/views/distribution/inventory/delivery/distributionStockArticleDiscuss.vue

@ -6,7 +6,7 @@
<!-- 查询模块 -->
<el-form :inline="true" :model="query">
<el-form-item label="订单自编号:">
<el-input v-model="query.orderSelfNumbering" placeholder="请输入订单自编号" ></el-input>
<el-input v-model="query.orderCode" placeholder="请输入订单自编号" ></el-input>
</el-form-item>
<!-- <el-form-item label="货物名称:">-->
<!-- <el-input v-model="query.descriptionGoods" placeholder="请输入货物名称"></el-input>-->
@ -212,8 +212,8 @@
<el-form-item label="服务号" prop="serviceNumber">
<el-input v-model="form.serviceNumber" placeholder="请输入服务号"/>
</el-form-item>
<el-form-item label="订单自编号" prop="orderSelfNumbering">
<el-input v-model="form.orderSelfNumbering" placeholder="请输入订单自编号"/>
<el-form-item label="订单自编号" prop="orderCode">
<el-input v-model="form.orderCode" placeholder="请输入订单自编号"/>
</el-form-item>
<el-form-item label="商场名称" prop="mallName">
<el-input v-model="form.mallName" placeholder="请输入商场名称"/>
@ -370,7 +370,7 @@ export default {
head: false,
},
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '订单自编号',
type: 2,
values: '',
@ -401,7 +401,7 @@ export default {
},
{
prop: 'warehouse',
label: '仓库',
label: '所在仓库',
type: 2,
values: '',
width: '180',
@ -439,49 +439,6 @@ export default {
fixed: false,
sortable: true,
},
{
prop: 'dealerName',
label: '经销商名称',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'dealerCode',
label: '经销商编码',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'storeName',
label: '门店编码',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'storeCode',
label: '门店名称',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'consigneeUnit',
label: '收货单位',
@ -500,16 +457,6 @@ export default {
checkarr: [],
fixed: false,
sortable: true,
}
, {
prop: 'consigneeAddress',
label: '收货地址',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
}, {
prop: 'handQuantity',
label: '在库件数',
@ -530,7 +477,7 @@ export default {
sortable: true,
},
{
prop: 'handQuantity',
prop: 'notReceived',
label: '未入库数量',
type: 1,
values: '',
@ -575,12 +522,14 @@ export default {
fixed: false,
sortable: true,
},{
prop: 'handQuantity',
prop: 'groundingStatusName',
label: '上架状态',
type: 1,
type: 3,
values: '',
width: '150',
checkarr: [],
checkarr: [
],
fixed: false,
sortable: true,
},{
@ -613,19 +562,21 @@ export default {
sortable: true,
},
{
prop: 'freeze_status',
prop: 'freezeStatusName',
label: '冻结状态',
type: 1,
type: 3,
values: '',
width: '150',
checkarr: [],
checkarr: [
],
fixed: false,
sortable: true,
},
{
prop: 'state',
label: '状态',
type: 2,
prop: 'orderStatusName',
label: '订单状态',
type: 3,
values: '',
width: '150',
checkarr: [],
@ -662,9 +613,9 @@ export default {
// sortable: true,
// },
{
prop: 'typeName',
prop: 'typeServerName',
label: '服务类型',
type: 3,
type: 1,
values: '',
width: '150',
checkarr: [],
@ -711,7 +662,7 @@ export default {
fixed: false,
sortable: true,
}, {
prop: 'createUser',
prop: 'createUserName',
label: '创建人',
type: 1,
values: '',
@ -728,25 +679,26 @@ export default {
checkarr: [],
fixed: false,
sortable: true,
}, {
prop: 'inventoryDate',
label: '最新盘点时间',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
}, {
prop: 'inventoryPerson',
label: '盘点人',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
},
// {
// prop: 'inventoryDate',
// label: '',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// }, {
// prop: 'inventoryPerson',
// label: '',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
{
prop: '',
label: '操作',
@ -807,10 +759,6 @@ export default {
mounted () {
this.init();
this.onLoad(this.page);
/**
* 初始化获取本地缓存的编辑隐藏的列表
* 固定搭配不能更改
*/
/**
* 初始化获取本地缓存的编辑隐藏的列表
* 固定搭配不能更改
@ -906,16 +854,6 @@ export default {
}
},
methods: {
//
handleCallDeliveryOwn(row){
console.log("row",row);
this.formCustomer.name = row.row.customerName;
this.formCustomer.phone = row.row.customerTelephone;
this.formCustomer.address = row.row.customerAddress;
this.formCustomer.stockArticleId = row.row.id;
this.dialogFormCustomer = true;
this.dialogFormCustomerOwn = true;
},
showdrawer(value){
this.drawerShow=value
},
@ -951,10 +889,22 @@ export default {
btnsc(index, row) {
console.log(index, row);
},
/**
* 处理字段和名称不一致的问题
* @param {} index
* @param {*} row
*/
selectsc(index, row) {
console.log(index, row);
if(row.prop ==='completeSetName'){
if(row.prop ==='freezeStatusName'){
this.query['freezeStatus'] = index;
}else if(row.prop ==='orderStatusName'){
this.query['orderStatus'] = index;
}else if(row.prop ==='completeSetName'){
this.query['completeSet'] = index;
}else if(row.prop ==='typeName'){
this.query['typeService'] = index;
}else if (row.prop ==='groundingStatusName'){
this.query['groundingStatus'] = index;
}else{
this.query[row.prop] = index;
}
@ -973,6 +923,7 @@ export default {
},
inputsc(index, row) {
console.log(index, row);
// console.log(index, row.prop);
this.query[row.prop] = index;
this.onLoad(this.page);
},
@ -985,13 +936,16 @@ export default {
this.selectionList.some( i =>{
if(i.stateName === "已预约"){
st = true;
this.$message.warning(i.orderSelfNumbering+"已预约,请勿重复预约!!!");
this.$message.warning(i.orderCode+" - 已预约,请勿重复预约!!!");
}
if(i.typeService === 3){
st = true;
this.$message.warning(i.orderCode+" - 为自提单,无法预约!!!");
}
})
if(st){
return
}
// orderId
const notEqualFlag = this.selectionList.some(
(item) =>
@ -1000,29 +954,29 @@ export default {
&& ele.customerTelephone !== item.customerTelephone
&& ele.customerAddress !== item.customerAddress ).length >= 1
);
console.log("notEqualFlag=====",notEqualFlag);
// true,
// false,
if(!notEqualFlag){
this.$router.push({
path: '/distribution/reservation/reservationFrom',
query:{
id: this.ids,
name: '添加预约单'
}
});
}else{
this.$message.warning("请选择相同收货信息的订单!!!")
}
if(!notEqualFlag){
this.$router.push({
path: '/distribution/reservation/reservationFrom',
query:{
id: this.ids,
}
});
}else{
this.$message.warning("请选择相同收货信息的订单!!!")
}
},
async handleStockList(){
if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据");
return;
}else if (this.selectionList.length > 1){
}
this.getSock();
/*else if (this.selectionList.length > 1){
this.getSock();
}else if (this.selectionList.length < 2){
//
@ -1031,7 +985,7 @@ export default {
}
let a = await getListOwn(this.page.currentPage,this.page.pageSize,params);
console.log("aaaaaaa===",a.data.data);
// console.log("aaaaaaa===",a.data.data);
if(a.data.data.records.length > 0){
this.$router.push({
path: '/distribution/inventory/distributionStockArticleFrom',
@ -1043,7 +997,7 @@ export default {
}else{
this.getSock();
}
}
}*/
},
getSock(){
this.$confirm("确定将选择的订单转为库存品吗?", {
@ -1125,6 +1079,16 @@ export default {
}
});
},
//
handleCallDeliveryOwn(row){
console.log("row",row);
this.formCustomer.name = row.row.customerName;
this.formCustomer.phone = row.row.customerTelephone;
this.formCustomer.address = row.row.customerAddress;
this.formCustomer.stockArticleId = row.row.id;
this.dialogFormCustomer = true;
this.dialogFormCustomerOwn = true;
},
//
handleCallDelivery(ind){
if (this.selectionList.length === 0) {
@ -1132,22 +1096,20 @@ export default {
return;
}
switch (ind) {
case '1':
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.orderSelfNumbering);
});
this.formCall.waybill = ids;
this.dialogFormVisible = true;
break;
case '2':
this.dialogFormService = true;
break;
case '3':
this.dialogFormCustomer = true;
break;
case '1':
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.orderCode);
});
this.formCall.waybill = ids;
this.dialogFormVisible = true;
break;
case '2':
this.dialogFormService = true;
break;
case '3':
this.dialogFormCustomer = true;
break;
}
},
@ -1161,6 +1123,29 @@ export default {
// return item
// });
});
getDictionaryBiz('order_status').then(res => {
this.deliveryOrderStatus = res.data.data;
this.columnList[24].checkarr =res.data.data.map(item=>{
item.value=item.dictKey
item.label=item.dictValue
return item
});
});
getDictionaryBiz('basic_grounding').then(res => {
this.columnList[19].checkarr =res.data.data.map(item=>{
item.value=item.dictKey
item.label=item.dictValue
return item
});
});
getDictionaryBiz('freeze_status').then(res => {
this.columnList[23].checkarr =res.data.data.map(item=>{
item.value=item.dictKey
item.label=item.dictValue
return item
});
});
},
searchHide () {
@ -1262,7 +1247,7 @@ export default {
handleEdit (row) {
this.title = '编辑'
this.box = true
getDetail(row.id).then(res => {
getDetail(row.row.id).then(res => {
this.form = res.data.data;
});
},
@ -1273,11 +1258,12 @@ export default {
// getDetail(row.id).then(res => {
// this.form = res.data.data;
// });
// console.log("===",row.row);
this.$router.push({
path: '/distribution/inventory/distributionStockArticleDetails',
query: {
id : row.row.id,
name: "详情"+row.row.orderSelfNumbering
name: "详情 - "+row.row.orderCode
},
})
@ -1349,12 +1335,41 @@ export default {
this.query.typeService = 1;
getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
const data = res.data.data;
console.log(">>>>>>>",data.records);
this.page.total = data.total;
this.data = data.records;
this.data = this.data.map(i => {
// const freezeStatusMap = {
// 0: "",
// 1: "",
// default: ""
// };
const nuMap = {
'-1': "0"
};
// const groundingStatusMap = {
// 0: "",
// 1: "",
// 2: "",
// 3: "",
// default: ""
// };
// i.freezeStatusName = freezeStatusMap[i.freezeStatus] || freezeStatusMap.default;
// i.groundingStatusName = groundingStatusMap[i.groundingStatus] || groundingStatusMap.default;
i.handQuantity = nuMap[i.handQuantity] || i.handQuantity;
i.sortingQuantity = nuMap[i.sortingQuantity] || i.sortingQuantity;
i.deliveryQuantity = nuMap[i.deliveryQuantity] || i.deliveryQuantity;
i.signinQuantity = nuMap[i.signinQuantity] || i.signinQuantity;
i.transferQuantity = nuMap[i.transferQuantity] || i.transferQuantity;
i.availableQuantity = nuMap[i.availableQuantity] || i.availableQuantity;
i.notReceived = parseInt( i.totalNumber ) - parseInt( i.handQuantity);
return i;
});
this.loading = false;
this.selectionClear();
});
}
},
}
};
</script>

466
src/views/distribution/inventory/delivery/distributionStockArticleMarket.vue

@ -6,29 +6,29 @@
<!-- 查询模块 -->
<el-form :inline="true" :model="query">
<el-form-item label="订单自编号:">
<el-input v-model="query.orderSelfNumbering" placeholder="请输入订单自编号" ></el-input>
<el-input v-model="query.orderCode" placeholder="请输入订单自编号" ></el-input>
</el-form-item>
<!-- <el-form-item label="货物名称:">
<el-input v-model="query.descriptionGoods" placeholder="请输入货物名称"></el-input>
</el-form-item>
<el-form-item label="仓库:">
<el-input v-model="query.warehouse" placeholder="请输入仓库"></el-input>
</el-form-item>
<el-form-item label="是否齐套:">
<el-input v-model="query.completeSet" placeholder="请输入是否齐套"></el-input>
</el-form-item>
<el-form-item label="品牌:">
<el-input v-model="query.brand" placeholder="请输入品牌"></el-input>
</el-form-item>
<el-form-item label="服务类型:">
<el-input v-model="query.typeService" placeholder="请输入服务类型"></el-input>
</el-form-item>
<el-form-item label="类型;1 预约单 2库存单:">
<el-input v-model="query.genre" placeholder="请输入类型;1 预约单 2库存单"></el-input>
</el-form-item>
<el-form-item label="状态;1 配送 2 待配送:">
<el-input v-model="query.state" placeholder="请输入状态;1 配送 2 待配送"></el-input>
</el-form-item>-->
<!-- <el-form-item label="货物名称:">
<el-input v-model="query.descriptionGoods" placeholder="请输入货物名称"></el-input>
</el-form-item>
<el-form-item label="仓库:">
<el-input v-model="query.warehouse" placeholder="请输入仓库"></el-input>
</el-form-item>
<el-form-item label="是否齐套:">
<el-input v-model="query.completeSet" placeholder="请输入是否齐套"></el-input>
</el-form-item>
<el-form-item label="品牌:">
<el-input v-model="query.brand" placeholder="请输入品牌"></el-input>
</el-form-item>
<el-form-item label="服务类型:">
<el-input v-model="query.typeService" placeholder="请输入服务类型"></el-input>
</el-form-item>-->
<!-- <el-form-item label="类型;1 预约单 2库存单:">-->
<!-- <el-input v-model="query.genre" placeholder="请输入类型;1 预约单 2库存单"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="状态;1 配送 2 待配送:">-->
<!-- <el-input v-model="query.state" placeholder="请输入状态;1 配送 2 待配送"></el-input>-->
<!-- </el-form-item>-->
<!-- 查询按钮 -->
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="searchChange"> </el-button>
@ -37,37 +37,38 @@
</el-form>
</el-row>
<el-row>
<!-- <div class="avue-crud__header">
&lt;!&ndash; 头部左侧按钮模块 &ndash;&gt;
<div class="avue-crud__left">
<el-button type="primary" icon="el-icon-plus" @click="handleTrade" v-if="handler && taker || handler && trade"> 商配</el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleMunicipal" v-if="handler && taker || handler && trade">市配</el-button>
<el-button type="primary" icon="el-icon-plus" @click="handlePickUpStore" v-if="permission.stockArticle_add && handler && !trade || permission.stockArticle_add && !taker" >自提</el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleEntire" >全部</el-button>
<el-button type="primary" icon="el-icon-plus" @click="handleInform('2')" v-if = "!handler && !taker">未通知</el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleInform('1')" v-if = "!handler && !taker">已通知</el-button>
</div>
&lt;!&ndash; 头部右侧按钮模块 &ndash;&gt;
&lt;!&ndash; <div class="avue-crud__right">&ndash;&gt;
&lt;!&ndash; <el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>&ndash;&gt;
&lt;!&ndash; <el-button icon="el-icon-search" @click="searchHide" circle></el-button>&ndash;&gt;
&lt;!&ndash; </div>&ndash;&gt;
</div>-->
<!-- <div class="avue-crud__header">
&lt;!&ndash; 头部左侧按钮模块 &ndash;&gt;
<div class="avue-crud__left">
<el-button type="primary" icon="el-icon-plus" @click="handleTrade" v-if="handler && taker || handler && trade"> 商配</el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleMunicipal" v-if="handler && taker || handler && trade">市配</el-button>
<el-button type="primary" icon="el-icon-plus" @click="handlePickUpStore" v-if="permission.stockArticle_add && handler && !trade || permission.stockArticle_add && !taker" >自提</el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleEntire" >全部</el-button>
<el-button type="primary" icon="el-icon-plus" @click="handleInform('2')" v-if = "!handler && !taker">未通知</el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleInform('1')" v-if = "!handler && !taker">已通知</el-button>
</div>
&lt;!&ndash; 头部右侧按钮模块 &ndash;&gt;
&lt;!&ndash; <div class="avue-crud__right">&ndash;&gt;
&lt;!&ndash; <el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>&ndash;&gt;
&lt;!&ndash; <el-button icon="el-icon-search" @click="searchHide" circle></el-button>&ndash;&gt;
&lt;!&ndash; </div>&ndash;&gt;
</div>-->
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<el-button type="primary" icon="el-icon-plus" @click="handleAdd" v-if = "handler">创建异常</el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleMoke" v-if = "handler">转预约单</el-button>
<el-button type="primary" icon="el-icon-plus" @click="handleStockList" v-if = "handler">批量加配转库存品</el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleCallDelivery('3')" v-if = "handler">修改客户信息</el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleCallDelivery('2')" v-if = "handler">修改服务类型</el-button>
<el-button type="danger" icon="el-icon-edit" @click="handleMoke" v-if = "handler">转预约单</el-button>
<el-button type="primary" icon="el-icon-edit" @click="handleStockList" v-if = "handler">批量加配转库存品</el-button>
<el-button type="danger" icon="el-icon-edit" @click="handleCallDelivery('3')" v-if = "handler">修改客户信息</el-button>
<el-button type="danger" icon="el-icon-edit" @click="handleCallDelivery('2')" v-if = "handler">修改服务类型</el-button>
<!-- <el-button type="danger" icon="el-icon-plus" v-if = "handler">转配送</el-button>-->
</div>
<!-- <div class="avue-crud__left">
<div class="avue-crud__left">
<el-button type="primary" icon="el-icon-plus" @click="handlebill" v-if = "!handler">创建提货单</el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleCallDelivery('1')" v-if = "!handler">再次通知</el-button>
<el-button type="primary" icon="el-icon-plus" @click="handleCallDelivery('1')" v-if = "!handler">通知提货</el-button>
</div>-->
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>
@ -75,8 +76,6 @@
<el-button icon="el-icon-search" @click="searchHide" circle></el-button>
</div>
</div>
</el-row>
<el-row>
<!-- 列表模块 -->
@ -138,7 +137,7 @@
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogFormVisible = false">取消</el-button>
<!-- <el-button type="primary" @click="dialogFormVisible = false"> 确定 </el-button>-->
<!-- <el-button type="primary" @click="dialogFormVisible = false"> 确定 </el-button>-->
<el-button type="primary" @click="callFordelivery('1')"> 确定 </el-button>
</span>
</template>
@ -146,13 +145,13 @@
<el-dialog v-model="dialogFormService" title="修改服务类型">
<el-form :model="formService">
<el-form-item label="服务类型" :label-width="formLabelWidth">
<!-- <el-input v-model="formService.typeService" autocomplete="off" />-->
<!-- <el-input v-model="formService.typeService" autocomplete="off" />-->
<el-select v-model="formService.typeService" clearable placeholder="请选择服务类型">
<el-option
v-for="item in distributionType"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey">
v-for="item in distributionType"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey">
</el-option>
</el-select>
</el-form-item>
@ -171,7 +170,7 @@
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogFormService = false">取消</el-button>
<!-- <el-button type="primary" @click="dialogFormVisible = false"> 确定 </el-button>-->
<!-- <el-button type="primary" @click="dialogFormVisible = false"> 确定 </el-button>-->
<el-button type="primary" @click="callFordelivery('2')"> 确定 </el-button>
</span>
</template>
@ -196,7 +195,7 @@
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogFormCustomer = false">取消</el-button>
<!-- <el-button type="primary" @click="dialogFormVisible = false"> 确定 </el-button>-->
<!-- <el-button type="primary" @click="dialogFormVisible = false"> 确定 </el-button>-->
<el-button type="primary" @click="callFordelivery('3')"> 确定 </el-button>
</span>
</template>
@ -212,8 +211,8 @@
<el-form-item label="服务号" prop="serviceNumber">
<el-input v-model="form.serviceNumber" placeholder="请输入服务号"/>
</el-form-item>
<el-form-item label="订单自编号" prop="orderSelfNumbering">
<el-input v-model="form.orderSelfNumbering" placeholder="请输入订单自编号"/>
<el-form-item label="订单自编号" prop="orderCode">
<el-input v-model="form.orderCode" placeholder="请输入订单自编号"/>
</el-form-item>
<el-form-item label="商场名称" prop="mallName">
<el-input v-model="form.mallName" placeholder="请输入商场名称"/>
@ -225,7 +224,7 @@
<el-input v-model="form.warehouse" placeholder="请输入仓库"/>
</el-form-item>
<el-form-item label="入库时间" prop="warehouseEntryTime">
<!-- <el-input v-model="form.warehouseEntryTime" placeholder="请输入入库时间"/>-->
<!-- <el-input v-model="form.warehouseEntryTime" placeholder="请输入入库时间"/>-->
<el-date-picker
v-model="form.warehouseEntryTime"
type="datetime"
@ -245,12 +244,12 @@
</el-form-item>
<el-form-item label="是否齐套" prop="completeSet">
<el-select v-model="form.completeSet" clearable placeholder="请选择是否齐套">
<!-- <el-option-->
<!-- v-for="item in completeSetData"-->
<!-- :key="item.dictKey"-->
<!-- :label="item.dictValue"-->
<!-- :value="item.dictKey">-->
<!-- </el-option>-->
<!-- <el-option-->
<!-- v-for="item in completeSetData"-->
<!-- :key="item.dictKey"-->
<!-- :label="item.dictValue"-->
<!-- :value="item.dictKey">-->
<!-- </el-option>-->
<el-option label="是" value="2"></el-option>
<el-option label="否" value="1"></el-option>
</el-select>
@ -260,12 +259,12 @@
</el-form-item>
<el-form-item label="服务类型" prop="typeService">
<el-select v-model="form.typeService" clearable placeholder="请选择服务类型">
<!-- <el-option-->
<!-- v-for="item in typeServiceData"-->
<!-- :key="item.dictKey"-->
<!-- :label="item.dictValue"-->
<!-- :value="item.dictKey">-->
<!-- </el-option>-->
<!-- <el-option-->
<!-- v-for="item in typeServiceData"-->
<!-- :key="item.dictKey"-->
<!-- :label="item.dictValue"-->
<!-- :value="item.dictKey">-->
<!-- </el-option>-->
<el-option label="干" value="1"></el-option>
<el-option label="仓" value="2"></el-option>
<el-option label="配" value="3"></el-option>
@ -282,24 +281,24 @@
</el-form-item>
<el-form-item label="类型;1 预约单 2库存单" prop="genre">
<el-select v-model="form.genre" clearable placeholder="请选择类型;1 预约单 2库存单">
<!-- <el-option-->
<!-- v-for="item in genreData"-->
<!-- :key="item.dictKey"-->
<!-- :label="item.dictValue"-->
<!-- :value="item.dictKey">-->
<!-- </el-option>-->
<!-- <el-option-->
<!-- v-for="item in genreData"-->
<!-- :key="item.dictKey"-->
<!-- :label="item.dictValue"-->
<!-- :value="item.dictKey">-->
<!-- </el-option>-->
<el-option label="库存单" value="2">库存单</el-option>
<el-option label="预约单" value="1">预约单</el-option>
</el-select>
</el-form-item>
<el-form-item label="状态;1 配送 2 待配送" prop="state">
<el-select v-model="form.state" clearable placeholder="请选择状态;1 配送 2 待配送">
<!-- <el-option-->
<!-- v-for="item in stateData"-->
<!-- :key="item.dictKey"-->
<!-- :label="item.dictValue"-->
<!-- :value="item.dictKey">-->
<!-- </el-option>-->
<!-- <el-option-->
<!-- v-for="item in stateData"-->
<!-- :key="item.dictKey"-->
<!-- :label="item.dictValue"-->
<!-- :value="item.dictKey">-->
<!-- </el-option>-->
<el-option label="待配送" value="2">待配送</el-option>
<el-option label="配送" value="1">配送</el-option>
</el-select>
@ -370,7 +369,7 @@ export default {
head: false,
},
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '订单自编号',
type: 2,
values: '',
@ -401,7 +400,7 @@ export default {
},
{
prop: 'warehouse',
label: '仓库',
label: '所在仓库',
type: 2,
values: '',
width: '180',
@ -477,7 +476,7 @@ export default {
sortable: true,
},
{
prop: 'handQuantity',
prop: 'notReceived',
label: '未入库数量',
type: 1,
values: '',
@ -522,12 +521,14 @@ export default {
fixed: false,
sortable: true,
},{
prop: 'handQuantity',
prop: 'groundingStatusName',
label: '上架状态',
type: 1,
type: 3,
values: '',
width: '150',
checkarr: [],
checkarr: [
],
fixed: false,
sortable: true,
},{
@ -560,19 +561,34 @@ export default {
sortable: true,
},
{
prop: 'freeze_status',
prop: 'freezeStatusName',
label: '冻结状态',
type: 1,
type: 3,
values: '',
width: '150',
checkarr: [],
checkarr: [
],
fixed: false,
sortable: true,
},
{
prop: 'reservationStatusName',
label: '预约状态',
type: 3,
values: '',
width: '150',
checkarr: [
],
fixed: false,
sortable: true,
},
{
prop: 'state',
prop: 'orderStatusName',
label: '状态',
type: 2,
type: 3,
values: '',
width: '150',
checkarr: [],
@ -608,16 +624,16 @@ export default {
// fixed: false,
// sortable: true,
// },
{
prop: 'typeName',
label: '服务类型',
type: 3,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
// {
// prop: 'typeServerName',
// label: '',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
{
prop: 'customerName',
label: '顾客名字',
@ -658,7 +674,7 @@ export default {
fixed: false,
sortable: true,
}, {
prop: 'createUser',
prop: 'createUserName',
label: '创建人',
type: 1,
values: '',
@ -675,25 +691,26 @@ export default {
checkarr: [],
fixed: false,
sortable: true,
}, {
prop: 'inventoryDate',
label: '最新盘点时间',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
}, {
prop: 'inventoryPerson',
label: '盘点人',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
// {
// prop: 'inventoryDate',
// label: '',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// }, {
// prop: 'inventoryPerson',
// label: '',
// type: 1,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
{
prop: '',
label: '操作',
@ -849,16 +866,6 @@ export default {
}
},
methods: {
//
handleCallDeliveryOwn(row){
console.log("row",row);
this.formCustomer.name = row.row.customerName;
this.formCustomer.phone = row.row.customerTelephone;
this.formCustomer.address = row.row.customerAddress;
this.formCustomer.stockArticleId = row.row.id;
this.dialogFormCustomer = true;
this.dialogFormCustomerOwn = true;
},
showdrawer(value){
this.drawerShow=value
},
@ -895,13 +902,25 @@ export default {
console.log(index, row);
},
selectsc(index, row) {
console.log(index, row);
if(row.prop ==='completeSetName'){
if(row.prop ==='freezeStatusName'){
this.query['freezeStatus'] = index;
}else if(row.prop ==='orderStatusName'){
this.query['orderStatus'] = index;
}else if(row.prop ==='completeSetName'){
this.query['completeSet'] = index;
}else{
}else if(row.prop ==='typeName'){
this.query['typeService'] = index;
}else if (row.prop ==='groundingStatusName'){
this.query['groundingStatus'] = index;
}else if (row.prop ==='reservationStatusName'){
this.query['reservationStatus'] = index;
}
else{
this.query[row.prop] = index;
}
this.onLoad(this.page);
},
timesc(index, row) {
console.log(index, row);
@ -916,6 +935,7 @@ export default {
},
inputsc(index, row) {
console.log(index, row);
// console.log(index, row.prop);
this.query[row.prop] = index;
this.onLoad(this.page);
},
@ -928,7 +948,11 @@ export default {
this.selectionList.some( i =>{
if(i.stateName === "已预约"){
st = true;
this.$message.warning(i.orderSelfNumbering+"已预约,请勿重复预约!!!");
this.$message.warning(i.orderCode+" - 已预约,请勿重复预约!!!");
}
if(i.typeService === 3){
st = true;
this.$message.warning(i.orderCode+" - 为自提单,无法预约!!!");
}
})
if(st){
@ -945,27 +969,26 @@ export default {
console.log("notEqualFlag=====",notEqualFlag);
// true,
// false,
if(!notEqualFlag){
this.$router.push({
path: '/distribution/reservation/reservationFrom',
query:{
id: this.ids,
name: '添加预约单'
}
});
}else{
this.$message.warning("请选择相同收货信息的订单!!!")
}
if(!notEqualFlag){
this.$router.push({
path: '/distribution/reservation/reservationFrom',
query:{
id: this.ids,
}
});
}else{
this.$message.warning("请选择相同收货信息的订单!!!")
}
},
async handleStockList(){
if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据");
return;
}else if (this.selectionList.length > 1){
}
this.getSock();
/*else if (this.selectionList.length > 1){
this.getSock();
}else if (this.selectionList.length < 2){
//
@ -974,7 +997,7 @@ export default {
}
let a = await getListOwn(this.page.currentPage,this.page.pageSize,params);
console.log("aaaaaaa===",a.data.data);
// console.log("aaaaaaa===",a.data.data);
if(a.data.data.records.length > 0){
this.$router.push({
path: '/distribution/inventory/distributionStockArticleFrom',
@ -986,7 +1009,7 @@ export default {
}else{
this.getSock();
}
}
}*/
},
getSock(){
this.$confirm("确定将选择的订单转为库存品吗?", {
@ -1025,6 +1048,7 @@ export default {
case '2':
this.formService.stockArticleId = this.ids;
// console.log("",this.formService);
addService(this.formService).then(() =>{
this.$message({
type: "success",
@ -1069,40 +1093,90 @@ export default {
});
},
//
handleCallDeliveryOwn(row){
console.log("row",row);
this.formCustomer.name = row.row.customerName;
this.formCustomer.phone = row.row.customerTelephone;
this.formCustomer.address = row.row.customerAddress;
this.formCustomer.stockArticleId = row.row.id;
this.dialogFormCustomer = true;
this.dialogFormCustomerOwn = true;
},
//
handleCallDelivery(ind){
if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据");
return;
}
switch (ind) {
case '1':
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.orderSelfNumbering);
});
this.formCall.waybill = ids;
this.dialogFormVisible = true;
break;
case '2':
this.dialogFormService = true;
break;
case '3':
this.dialogFormCustomer = true;
break;
case '1':
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.orderCode);
});
this.formCall.waybill = ids;
this.dialogFormVisible = true;
break;
case '2':
this.dialogFormService = true;
break;
case '3':
this.dialogFormCustomer = true;
break;
}
},
/**
* 根据属性找寻数组中对应的元素
*/
checkcColumnList(prop,columnList){
for(var a=0;a<columnList.length;a++){
if(columnList[a].prop===prop){
console.log("1111111111111",columnList[a]);
return columnList[a];
}
}
},
init () {
this.height = this.setPx(document.body.clientHeight - 340);
getDictionaryBiz('distribution_type').then(res => {
this.distributionType = res.data.data;
/* this.columnList[12].checkarr =res.data.data.map(item=>{
// getDictionaryBiz('distribution_type').then(res => {
// // this.distributionType = res.data.data;
// // this.columnList[26].checkarr =res.data.data.map(item=>{
// // item.value=item.dictKey
// // item.label=item.dictValue
// // return item
// // });
// });
getDictionaryBiz('order_status').then(res => {
this.deliveryOrderStatus = res.data.data;
this.checkcColumnList("orderStatusName", this.columnList).checkarr=res.data.data.map(item=>{
item.value=item.dictKey
item.label=item.dictValue
return item
});
});
getDictionaryBiz('basic_grounding').then(res => {
this.checkcColumnList("groundingStatusName", this.columnList).checkarr=res.data.data.map(item=>{
item.value=item.dictKey
item.label=item.dictValue
return item
});
});
getDictionaryBiz('freeze_status').then(res => {
this.checkcColumnList("freezeStatusName", this.columnList).checkarr=res.data.data.map(item=>{
item.value=item.dictKey
item.label=item.dictValue
return item
});
});
getDictionaryBiz('order_reservation_status').then(res => {
this.checkcColumnList("reservationStatusName", this.columnList).checkarr=res.data.data.map(item=>{
item.value=item.dictKey
item.label=item.dictValue
return item
});*/
});
});
},
@ -1179,12 +1253,12 @@ export default {
let params = {};
this.query.typeService = '1';
switch (index) {
case '1':
this.query.notification = index;
break;
case '2':
this.query.notification = index;
break;
case '1':
this.query.notification = index;
break;
case '2':
this.query.notification = index;
break;
}
this.query.typeService = '1';
getList(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => {
@ -1205,7 +1279,7 @@ export default {
handleEdit (row) {
this.title = '编辑'
this.box = true
getDetail(row.id).then(res => {
getDetail(row.row.id).then(res => {
this.form = res.data.data;
});
},
@ -1216,11 +1290,12 @@ export default {
// getDetail(row.id).then(res => {
// this.form = res.data.data;
// });
// console.log("===",row.row);
this.$router.push({
path: '/distribution/inventory/distributionStockArticleDetails',
query: {
id : row.row.id,
name: "详情"+row.row.orderSelfNumbering
name: "详情 - "+row.row.orderCode
},
})
@ -1292,12 +1367,41 @@ export default {
this.query.typeService = 2;
getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
const data = res.data.data;
console.log(">>>>>>>",data.records);
this.page.total = data.total;
this.data = data.records;
this.data = this.data.map(i => {
// const freezeStatusMap = {
// 0: "",
// 1: "",
// default: ""
// };
const nuMap = {
'-1': "0"
};
// const groundingStatusMap = {
// 0: "",
// 1: "",
// 2: "",
// 3: "",
// default: ""
// };
// i.freezeStatusName = freezeStatusMap[i.freezeStatus] || freezeStatusMap.default;
// i.groundingStatusName = groundingStatusMap[i.groundingStatus] || groundingStatusMap.default;
i.handQuantity = nuMap[i.handQuantity] || i.handQuantity;
i.sortingQuantity = nuMap[i.sortingQuantity] || i.sortingQuantity;
i.deliveryQuantity = nuMap[i.deliveryQuantity] || i.deliveryQuantity;
i.signinQuantity = nuMap[i.signinQuantity] || i.signinQuantity;
i.transferQuantity = nuMap[i.transferQuantity] || i.transferQuantity;
i.availableQuantity = nuMap[i.availableQuantity] || i.availableQuantity;
i.notReceived = parseInt( i.totalNumber) - parseInt( i.handQuantity);
return i;
});
this.loading = false;
this.selectionClear();
});
}
},
}
};
</script>

171
src/views/distribution/inventory/delivery/distributionStockArticleSelf.vue

@ -6,7 +6,7 @@
<!-- 查询模块 -->
<el-form :inline="true" :model="query">
<el-form-item label="订单自编号:">
<el-input v-model="query.orderSelfNumbering" placeholder="请输入订单自编号" ></el-input>
<el-input v-model="query.orderCode" placeholder="请输入订单自编号" ></el-input>
</el-form-item>
<!-- <el-form-item label="货物名称:">
<el-input v-model="query.descriptionGoods" placeholder="请输入货物名称"></el-input>
@ -97,7 +97,7 @@
</template>
</tablecmt>
</el-row>
<el-row>
<el-row >
<div class="avue-crud__pagination" style="width:100%">
<!-- 分页模块 -->
<el-pagination align="right"
@ -165,7 +165,7 @@
</el-form-item>
</el-form>
<div class="avue-crud__pagination" style="width:100%">
<div class="avue-crud__pagination" style="width:100%" v-if="lishi">
<!-- 分页模块 -->
<el-pagination align="right"
background
@ -255,8 +255,8 @@
<el-form-item label="服务号" prop="serviceNumber">
<el-input v-model="form.serviceNumber" placeholder="请输入服务号"/>
</el-form-item>
<el-form-item label="订单自编号" prop="orderSelfNumbering">
<el-input v-model="form.orderSelfNumbering" placeholder="请输入订单自编号"/>
<el-form-item label="订单自编号" prop="orderCode">
<el-input v-model="form.orderCode" placeholder="请输入订单自编号"/>
</el-form-item>
<el-form-item label="商场名称" prop="mallName">
<el-input v-model="form.mallName" placeholder="请输入商场名称"/>
@ -414,7 +414,7 @@ export default {
head: false,
},
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '订单自编号',
type: 2,
values: '',
@ -445,7 +445,7 @@ export default {
},
{
prop: 'warehouse',
label: '仓库',
label: '所在仓库',
type: 2,
values: '',
width: '180',
@ -521,7 +521,7 @@ export default {
sortable: true,
},
{
prop: 'handQuantity',
prop: 'notReceived',
label: '未入库数量',
type: 1,
values: '',
@ -566,9 +566,9 @@ export default {
fixed: false,
sortable: true,
},{
prop: 'handQuantity',
prop: 'groundingStatusName',
label: '上架状态',
type: 1,
type: 3,
values: '',
width: '150',
checkarr: [],
@ -604,38 +604,34 @@ export default {
sortable: true,
},
{
prop: 'freeze_status',
prop: 'freezeStatusName',
label: '冻结状态',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'stateName',
label: '状态',
type: 3,
values: '',
width: '150',
checkarr: [
{
value: '1',
label: '待预约 ',
label: '已冻结',
},
{
value: '2',
label: '已预约',
}, {
value: '7 ',
label: '已完成',
value: '0',
label: '未冻结',
},
],
fixed: false,
sortable: true,
},
{
prop: 'orderStateName',
label: '状态',
type: 3,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'completeSetName',
label: '是否齐套',
@ -666,9 +662,9 @@ export default {
// sortable: true,
// },
{
prop: 'typeName',
prop: 'typeServerName',
label: '服务类型',
type: 3,
type: 1,
values: '',
width: '150',
checkarr: [],
@ -734,7 +730,7 @@ export default {
fixed: false,
sortable: true,
}, {
prop: 'createUser',
prop: 'createUserName',
label: '创建人',
type: 1,
values: '',
@ -822,6 +818,7 @@ export default {
data: [],
dataHistorical: [],
distributionType: [],
deliveryOrderStatus: [],
dialogTableVisible: false,
dialogFormVisible: false,
dialogFormCustomer: false, //
@ -980,8 +977,14 @@ export default {
},
selectsc(index, row) {
console.log(index, row);
if(row.prop ==='completeSetName'){
if(row.prop ==='freezeStatusName'){
this.query['freezeStatus'] = index;
}else if(row.prop ==='completeSetName'){
this.query['completeSet'] = index;
}else if(row.prop ==='orderStateName'){
this.query['state'] = index;
}else if(row.prop ==='typeName'){
this.query['typeService'] = index;
}else{
this.query[row.prop] = index;
}
@ -1140,10 +1143,23 @@ export default {
return;
}
let st = false;
let consigneePerson = '';
let consigneeMobile = '';
this.selectionList.some( i =>{
if(i.stateName === "已预约"){
st = true;
this.$message.warning(i.orderSelfNumbering+"已预约,请勿重复预约!!!");
this.$message.warning(i.orderCode+"已预约,请勿重复预约!!!");
}
// console.log("IIIIII",i);
if(!consigneePerson && !consigneeMobile){
consigneeMobile = i.consigneeMobile;
consigneePerson = i.consigneePerson;
}else{
if(consigneeMobile != i.consigneeMobile && consigneePerson != i.consigneePerson ){
st = true;
this.$message.warning("收货人不相同,请选择相同的收货人!!!");
}
}
})
if(st){
@ -1232,6 +1248,20 @@ export default {
// return item
// });
});
getDictionaryBiz('basic_order_state').then(res => {
this.columnList[24].checkarr =res.data.data.map(item=>{
item.value=item.dictKey
item.label=item.dictValue
return item
});
});
getDictionaryBiz('basic_grounding').then(res => {
this.columnList[19].checkarr =res.data.data.map(item=>{
item.value=item.dictKey
item.label=item.dictValue
return item
});
});
},
searchHide () {
@ -1344,11 +1374,12 @@ export default {
// getDetail(row.id).then(res => {
// this.form = res.data.data;
// });
// console.log("===",row.row);
this.$router.push({
path: '/distribution/inventory/distributionStockArticleDetails',
query: {
id : row.row.id,
name: "详情"+row.row.orderSelfNumbering
name: "详情 - "+row.row.orderCode
},
})
@ -1428,26 +1459,68 @@ export default {
this.query.typeService = 3;
getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
const data = res.data.data;
console.log(">>>>>>>",data.records);
this.page.total = data.total;
data.records.some(i =>{
if(i.notification == '1'){
i.notification = '未通知'
}else{
i.notification = '已通知'
}
if(i.state == '1'){
i.stateName = '待预约'
}else if(i.state == '2'){
i.stateName = '已预约'
}else if(i.state == '7'){
i.stateName = '已完成'
}
});
// data.records.some(i =>{
// if(i.notification == '1'){
// i.notification = ''
// }else{
// i.notification = ''
// }
// if(i.state == '1'){
// i.stateName = ''
// }else if(i.state == '2'){
// i.stateName = ''
// }else if(i.state == '7'){
// i.stateName = ''
// }
// });
this.data = data.records;
this.data = this.data.map(i => {
const notificationMap = {
'1': "已通知",
'2': "未通知",
default: "无"
};
// const stateMap = {
// '1': "",
// '2': "",
// '7': " ",
// default: ""
// };
const freezeStatusMap = {
0: "未冻结",
1: "已冻结",
default: "无"
};
const nuMap = {
'-1': "0"
};
// const groundingStatusMap = {
// 0: "",
// 1: "",
// 2: "",
// 3: "",
// default: ""
// };
// i.stateName = stateMap[i.state] || stateMap.default;
i.notification = notificationMap[i.notification] || notificationMap.default;
i.freezeStatusName = freezeStatusMap[i.freezeStatus] || freezeStatusMap.default;
// i.groundingStatusName = groundingStatusMap[i.groundingStatus] || groundingStatusMap.default;
i.handQuantity = nuMap[i.handQuantity] || i.handQuantity;
i.sortingQuantity = nuMap[i.sortingQuantity] || i.sortingQuantity;
i.deliveryQuantity = nuMap[i.deliveryQuantity] || i.deliveryQuantity;
i.signinQuantity = nuMap[i.signinQuantity] || i.signinQuantity;
i.transferQuantity = nuMap[i.transferQuantity] || i.transferQuantity;
i.availableQuantity = nuMap[i.availableQuantity] || i.availableQuantity;
i.notReceived = parseInt( i.totalNumber) - parseInt( i.handQuantity );
return i;
});
this.loading = false;
this.selectionClear();
});
}
},
}
};
</script>

11
src/views/distribution/inventory/distributionStockArticleDetails.vue

@ -332,7 +332,7 @@ export default {
case '1':
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.orderSelfNumbering);
ids.push(ele.orderCode);
});
this.formCall.waybill = ids;
this.dialogFormVisible = true;
@ -543,10 +543,17 @@ export default {
onLoadOwn (page, params = {}) {
this.loading = true;
getListOwn(page.currentPage, page.pageSize, {stockArticleId : this.$route.query.id}).then(res => {
console.log(">>>><>><",res.data.data);
console.log("包件明细》》》》》",res.data.data);
const data = res.data.data;
this.page.total = data.total;
this.dataPare = data.records;
this.dataPare.some( i =>{
if(i.conditions == '1'){
i.conditions = '定制品'
}else{
i.conditions = '库存品'
}
})
this.loading = false;
this.selectionClear();
});

32
src/views/distribution/inventory/distributionStockList.vue

@ -5,7 +5,7 @@
&lt;!&ndash; 查询模块 &ndash;&gt;
<el-form :inline="true" :model="query">
<el-form-item label="订单自编号:">
<el-input v-model="query.orderSelfNumbering" placeholder="请输入订单自编号"></el-input>
<el-input v-model="query.orderCode" placeholder="请输入订单自编号"></el-input>
</el-form-item>
<el-form-item label="商城名称:">
<el-input v-model="query.mallName" placeholder="请输入商城名称"></el-input>
@ -124,7 +124,7 @@
v-for="item in distributionUnit"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey"
:value="item.dictValue"
/>
</el-select>
</el-form-item>
@ -153,8 +153,8 @@
append-to-body>
<el-form :disabled="view" ref="form" :model="form" label-width="80px">
<!-- 表单字段 -->
<el-form-item label="订单自编号" prop="orderSelfNumbering">
<el-input v-model="form.orderSelfNumbering" placeholder="请输入订单自编号"/>
<el-form-item label="订单自编号" prop="orderCode">
<el-input v-model="form.orderCode" placeholder="请输入订单自编号"/>
</el-form-item>
<el-form-item label="入库批次号" prop="incomingBatch">
<el-input v-model="form.incomingBatch" placeholder="请输入入库批次号"/>
@ -270,7 +270,7 @@ export default {
head: false,
},
// {
// prop: 'orderSelfNumbering',
// prop: 'orderCode',
// label: '',
// type: 2,
// values: '',
@ -279,6 +279,16 @@ export default {
// fixed: false,
// sortable: true,
// },
{
prop: 'marketName',
label: '商场/客户',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'descriptionGoods',
label: '货物名称',
@ -398,16 +408,6 @@ export default {
fixed: false,
sortable: true,
},
{
prop: 'marketName',
label: '商场/客户',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'storeName',
label: '门店名称',
@ -867,7 +867,7 @@ export default {
this.formInline.id =this.stockList.id;
this.formInline.materialId =this.stockList.materialId;
this.formInline.marketId =this.stockList.marketId;
this.formInline.storeId =this.stockList.storeId;
this.formInline.storeId =!!this.stockList.storeId && this.stockList.storeId != '-1' ? this.stockList.storeId : null ;
console.log("提交的值",this.formInline);

21
src/views/distribution/inventory/distributionStockListDetails.vue

@ -33,20 +33,20 @@
<el-row>
<el-col :span="10">
<el-form-item label="货物单位:">
<span>{{queryOwn.unit}}</span>
<span>{{queryOwn.cargoUnit}}</span>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="门店:">
<span>{{queryOwn.storeName}}</span>
<span>{{!!queryOwn.storeName ? queryOwn.storeName : '无' }}</span>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-col :span="10">
<el-form-item label="库位信息:">
<span>{{query.orderSelfNumbering}}</span>
<span>{{query.orderCode}}</span>
</el-form-item>
</el-col>
@ -299,7 +299,7 @@ export default {
},
mounted () {
this.init();
this.onLoad(this.page);
},
computed: {
...mapGetters(["permission"]),
@ -328,6 +328,7 @@ export default {
},
init () {
this.height = this.setPx(document.body.clientHeight - 470);
this.onLoad(this.page);
},
searchHide () {
this.search = !this.search;
@ -485,6 +486,17 @@ export default {
this.query.stockListId = this.$route.query.id;
let b =await getListStock(page.currentPage, page.pageSize, Object.assign(params, this.query));
this.data1 = b.data.data.records;
this.data1.forEach( i =>{
if(i.outboundType == '1'){
i.outboundTypeName = "商配"
}
if(i.outboundType == '2'){
i.outboundTypeName = "市配"
}
if(i.outboundType == '3'){
i.outboundTypeName = "自提"
}
})
this.page1.total = b.data.data.total;
this.loading = false;
},
@ -514,6 +526,7 @@ export default {
this.query.storeId = !!this.queryOwn.storeId ? this.queryOwn.storeId : null;
let b =await getList(page.currentPage, page.pageSize, Object.assign(params, this.query));
this.data = b.data.data.records;
console.log("库存品信息",this.data);
this.page.total = b.data.data.total;
this.loading = false;
},

8
src/views/distribution/inventory/distributionStockListDiscuss.vue

@ -5,7 +5,7 @@
&lt;!&ndash; 查询模块 &ndash;&gt;
<el-form :inline="true" :model="query">
<el-form-item label="订单自编号:">
<el-input v-model="query.orderSelfNumbering" placeholder="请输入订单自编号"></el-input>
<el-input v-model="query.orderCode" placeholder="请输入订单自编号"></el-input>
</el-form-item>
<el-form-item label="商城名称:">
<el-input v-model="query.mallName" placeholder="请输入商城名称"></el-input>
@ -153,8 +153,8 @@
append-to-body>
<el-form :disabled="view" ref="form" :model="form" label-width="80px">
<!-- 表单字段 -->
<el-form-item label="订单自编号" prop="orderSelfNumbering">
<el-input v-model="form.orderSelfNumbering" placeholder="请输入订单自编号"/>
<el-form-item label="订单自编号" prop="orderCode">
<el-input v-model="form.orderCode" placeholder="请输入订单自编号"/>
</el-form-item>
<el-form-item label="入库批次号" prop="incomingBatch">
<el-input v-model="form.incomingBatch" placeholder="请输入入库批次号"/>
@ -270,7 +270,7 @@ export default {
head: false,
},
// {
// prop: 'orderSelfNumbering',
// prop: 'orderCode',
// label: '',
// type: 2,
// values: '',

8
src/views/distribution/inventory/distributionStockListMarket.vue

@ -5,7 +5,7 @@
&lt;!&ndash; 查询模块 &ndash;&gt;
<el-form :inline="true" :model="query">
<el-form-item label="订单自编号:">
<el-input v-model="query.orderSelfNumbering" placeholder="请输入订单自编号"></el-input>
<el-input v-model="query.orderCode" placeholder="请输入订单自编号"></el-input>
</el-form-item>
<el-form-item label="商城名称:">
<el-input v-model="query.mallName" placeholder="请输入商城名称"></el-input>
@ -153,8 +153,8 @@
append-to-body>
<el-form :disabled="view" ref="form" :model="form" label-width="80px">
<!-- 表单字段 -->
<el-form-item label="订单自编号" prop="orderSelfNumbering">
<el-input v-model="form.orderSelfNumbering" placeholder="请输入订单自编号"/>
<el-form-item label="订单自编号" prop="orderCode">
<el-input v-model="form.orderCode" placeholder="请输入订单自编号"/>
</el-form-item>
<el-form-item label="入库批次号" prop="incomingBatch">
<el-input v-model="form.incomingBatch" placeholder="请输入入库批次号"/>
@ -270,7 +270,7 @@ export default {
head: false,
},
// {
// prop: 'orderSelfNumbering',
// prop: 'orderCode',
// label: '',
// type: 2,
// values: '',

8
src/views/distribution/inventory/distributionStockListSelf.vue

@ -5,7 +5,7 @@
&lt;!&ndash; 查询模块 &ndash;&gt;
<el-form :inline="true" :model="query">
<el-form-item label="订单自编号:">
<el-input v-model="query.orderSelfNumbering" placeholder="请输入订单自编号"></el-input>
<el-input v-model="query.orderCode" placeholder="请输入订单自编号"></el-input>
</el-form-item>
<el-form-item label="商城名称:">
<el-input v-model="query.mallName" placeholder="请输入商城名称"></el-input>
@ -153,8 +153,8 @@
append-to-body>
<el-form :disabled="view" ref="form" :model="form" label-width="80px">
<!-- 表单字段 -->
<el-form-item label="订单自编号" prop="orderSelfNumbering">
<el-input v-model="form.orderSelfNumbering" placeholder="请输入订单自编号"/>
<el-form-item label="订单自编号" prop="orderCode">
<el-input v-model="form.orderCode" placeholder="请输入订单自编号"/>
</el-form-item>
<el-form-item label="入库批次号" prop="incomingBatch">
<el-input v-model="form.incomingBatch" placeholder="请输入入库批次号"/>
@ -270,7 +270,7 @@ export default {
head: false,
},
// {
// prop: 'orderSelfNumbering',
// prop: 'orderCode',
// label: '',
// type: 2,
// values: '',

6
src/views/distribution/inventory/distributionStockRoute.vue

@ -223,8 +223,8 @@
<el-form-item label="服务号" prop="serviceNumber">
<el-input v-model="form.serviceNumber" placeholder="请输入服务号"/>
</el-form-item>
<el-form-item label="订单自编号" prop="orderSelfNumbering">
<el-input v-model="form.orderSelfNumbering" placeholder="请输入订单自编号"/>
<el-form-item label="订单自编号" prop="orderCode">
<el-input v-model="form.orderCode" placeholder="请输入订单自编号"/>
</el-form-item>
<el-form-item label="商场名称" prop="mallName">
<el-input v-model="form.mallName" placeholder="请输入商场名称"/>
@ -485,7 +485,7 @@ export default {
case '1':
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.orderSelfNumbering);
ids.push(ele.orderCode);
});
this.formCall.waybill = ids;
this.dialogFormVisible = true;

12
src/views/distribution/inventory/distrilbutionBillLading.vue

@ -537,8 +537,8 @@ export default {
}
},
action() {
return '/api/logpm-basicdata/common/uploadFile'
// return '/api/blade-resource/oss/endpoint/put-file'
// return '/api/logpm-basicdata/common/uploadFile'
return '/api/blade-resource/oss/endpoint/put-file'
}
},
methods: {
@ -565,6 +565,9 @@ export default {
this.form.totalCost = s.totalCost.substring(0,s.totalCost.lastIndexOf("."))
this.dataList = s.stockArticleVOS;
this.data = s.stockListVOS;
this.data.forEach( i =>{
i.available = i.quantityStock - i.quantityOccupied;
})
if (!!s.printVOS) {
let le1 = [];
let le2 = [];
@ -643,7 +646,7 @@ export default {
if(e.target.value) { //
e.target.value = parseInt(e.target.value); //
}
if((e.target.value > row.quantityStock )) {
if((e.target.value > row.available )) {
this.$message.error('数量不能大于可用数量')
// e.target.value = row.quantityStock;
return
@ -988,6 +991,9 @@ export default {
const dataOwn = res.data.data;
this.pageStock.total = dataOwn.total;
this.dataOwn = dataOwn.records;
this.dataOwn.forEach( i =>{
i.available = i.quantityStock - i.quantityOccupied;
})
this.loading = false;
this.selectionClear();
});

17
src/views/distribution/reservation/reservation.vue

@ -94,6 +94,9 @@
<el-button size="small" @click="editsolt(slotProps.scope)">编辑</el-button>
<br/>
<el-button size="small" @click="cancelReservation(slotProps.scope)">取消预约</el-button>
<br/>
<!-- ${{slotProps.scope}}-->
<el-button v-if="this.query.reservationStatus==='1'?true:false " type="small" @click="confirmReservation(slotProps.scope)">确认预约</el-button>
</template>
</tablecmt>
<!-- <el-popover :visible="visible" placement="top-start" :width="160">-->
@ -883,6 +886,19 @@
});
});
},
confirmReservation(scope){
const { row } = scope;
let param = {};
param.ids = row.id;
addReservations(param).then(res => {
this.selectionClear();
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!'
});
});
},
handleSubmit() {
this.form.serveType = this.form.serveType.join(',');
update(this.form).then(() => {
@ -971,7 +987,6 @@
},
//
callFordelivery() {
this.info.ids = this.ids;
this.goodsAreaIdData.forEach(item=>{
console.log(item);

126
src/views/distribution/reservation/reservationDetails.vue

@ -18,7 +18,8 @@
<span>预约时间{{reservationData.reservationDate}} </span>
</el-col>
<el-col :xl="3" :lg="7" :md="8" :sm="24">
<span>服务类型{{reservationData.deliveryType}}</span>
<!-- <span>服务类型{{reservationData.deliveryType}}</span>-->
<span>市配</span>
</el-col>
</el-row>
<el-divider>收货人信息</el-divider>
@ -160,7 +161,7 @@
<el-tab-pane label="库存品信息">
<tablecmt
:columnList="stockListColumnList"
:tableData="data"
:tableData="stockList"
:loading="loading"
@inputTxt="inputsc"
@timeCheck="timesc"
@ -168,7 +169,7 @@
@selectCheck="selectsc"
@selection="selectionsc"
>
<el-button size="small" @click="costadd(slotProps.scope)">--</el-button>
<el-button size="small" @click="costadd(slotProps.scope)">--</el-button>
</tablecmt>
</el-tab-pane>
</el-tabs>
@ -280,7 +281,7 @@
<script>
import { getList, getDetail, add, update, remove, getDetailById } from '@/api/distribution/distributionSignfor';
import { getReservationDetail,getReservationPackage,getReservationPackageList } from '@/api/distribution/distributionReservation';
import { getReservationDetail,getReservationPackage,getReservationPackageList,getReservationStockListInfo } from '@/api/distribution/distributionReservation';
import { getStockAddValue } from '@/api/distribution/distributionStockArticle';
import option from '@/option/distribution/distributionReservationDetails';
@ -321,7 +322,7 @@
dialogVisible:false,
packageColumnList: [
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '订单自编号',
type: 2,
values: '',
@ -445,7 +446,7 @@
],
stockArticleColumnList: [
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '订单自编号',
type: 2,
values: '',
@ -569,7 +570,7 @@
],
stockListColumnList:[
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '订单自编号',
type: 2,
values: '',
@ -580,7 +581,7 @@
head: false
},
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: 'SKU码',
type: 2,
values: '',
@ -591,103 +592,123 @@
head: false
},
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '物料名称',
type: 2,
values: '',
width: '160',
checkarr: [],
fixed: true,
sortable: true,
head: false
fixed: false,
sortable: true
},
{
prop: 'orderSelfNumbering',
prop: 'cargoUnit',
label: '单位',
type: 2,
values: '',
width: '160',
checkarr: [],
fixed: true,
sortable: true,
head: false
fixed: false,
sortable: true
},
{
prop: 'descriptionGoods',
label: '库存品名称',
type: 2,
values: '',
width: '160',
checkarr: [],
fixed: false,
sortable: true
},
{
prop: 'orderSelfNumbering',
prop: 'brandName',
label: '品牌',
type: 2,
values: '',
width: '160',
checkarr: [],
fixed: false,
sortable: true
},{
prop: 'reservationNum',
label: '预约数量',
type: 2,
values: '',
width: '160',
checkarr: [],
fixed: false,
sortable: true
},
{
prop: 'orderCode',
label: '备货件数',
type: 2,
values: '',
width: '160',
checkarr: [],
fixed: true,
sortable: true,
head: false
fixed: false,
sortable: true
},
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '已备件数',
type: 2,
values: '',
width: '160',
checkarr: [],
fixed: true,
sortable: true,
head: false
fixed: false,
sortable: true
},
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '备货时间',
type: 2,
values: '',
width: '160',
checkarr: [],
fixed: true,
sortable: true,
head: false
fixed: false,
sortable: true
},
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '托盘码',
type: 2,
values: '',
width: '160',
checkarr: [],
fixed: true,
sortable: true,
head: false
fixed: false,
sortable: true
},
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '库位信息',
type: 2,
values: '',
width: '160',
checkarr: [],
fixed: true,
sortable: true,
head: false
fixed: false,
sortable: true
},
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '备货区',
type: 2,
values: '',
width: '160',
checkarr: [],
fixed: true,
sortable: true,
head: false
fixed: false,
sortable: true
},
{
prop: '',
label: '操作',
type: 0,
type: 6,
values: '',
width: '160',
width: '150',
checkarr: [],
fixed: true,
sortable: true,
head: false
fixed: 'right',
sortable: false
},
],
//
@ -712,7 +733,7 @@
column: []
},
//
data: [],
stockList: [],
//
basicdata: {},
//
@ -1045,10 +1066,10 @@
this.page.pageSize = pageSize;
this.onLoad(this.page);
},
onLoad(page) {
async onLoad(page) {
//
let id = this.reservationId;
getReservationDetail(id).then( async res => {
await getReservationDetail(id).then( async res => {
let data = res.data.data.data;
if (data.stockArticleList) {
let stockArticleList = data.stockArticleList;
@ -1068,9 +1089,16 @@
});
this.reservationData = data;
});
getReservationPackageList(id).then(res=>{
//
await getReservationPackageList(id).then(res=>{
this.parcelList = res.data.data;
})
//TODO
await getReservationStockListInfo(id).then(res=>{
console.log("<<<<<<<<<",res.data.data);
this.stockList = res.data.data;
})
this.loading = false;
}
}

29
src/views/distribution/reservation/reservationFrom.vue

@ -99,8 +99,7 @@
</el-col>
<el-col :span="10">
<el-form-item label="服务类型:" prop="serveType" label-width="100px">
<!-- <el-input v-model="form.serveType" clearable placeholder="请选择服务类型"/>-->
<el-form-item label="增值服务类型:" prop="serveType" label-width="100px">
<el-checkbox-group v-model="serveType" v-for="item in this.addvalueServeTypeData">
<el-checkbox :label="item.dictKey"
:value="item.dictKey">{{item.dictValue}}&emsp;
@ -154,11 +153,13 @@
<el-button type="primary" link icon="el-icon-view"
@click="viewStockArticlePackage(row)">查看包件
</el-button>
<!-- 2023 07 25 取消增值服务 -->
<!-- 2023 07 25 取消增值服务 -->
<!-- <el-button type="primary" link icon="el-icon-delete" @click="addvalueServe(row)">增值服务-->
<!-- </el-button>-->
<el-button type="primary" link icon="el-icon-edit" @click="removeStockArticle(row)">移除
</el-button>
</template>
</el-table-column>
</el-table>
@ -213,7 +214,7 @@
<!-- :before-close="handleClose"-->
<el-form :inline="true" :model="query">
<el-form-item label="订单自编号:">
<el-input v-model="query.orderSelfNumbering" placeholder="请输入商场名称"></el-input>
<el-input v-model="query.orderCode" placeholder="请输入商场名称"></el-input>
</el-form-item>
<el-form-item label="商场名称:">
<el-input v-model="query.mallName" placeholder="请输入货物名称"></el-input>
@ -283,7 +284,7 @@
<el-input v-model="query.marketCode" placeholder="请输入服务类型"></el-input>
</el-form-item>
<el-form-item label="订单自编号:">
<el-input v-model="query.orderSelfNumbering" placeholder="请输入服务类型"></el-input>
<el-input v-model="query.orderCode" placeholder="请输入服务类型"></el-input>
</el-form-item>
<el-form-item label="品牌:">
<el-input v-model="query.brand" placeholder="请输入服务类型"></el-input>
@ -601,10 +602,10 @@
});
this.onLoad(this.page);
},
//
handleAddOrder() {
this.query.typeService=2;
this.query.genre = "1";
let page =this.page;
let params = {};
selectStockArticleList(page.currentPage,page.pageSize,Object.assign(params,this.query)).then(res=>{
@ -619,9 +620,6 @@
})
this.selectionList = [];
this.orderShow = true;
console.log("?????????????",params);
},
handleAddInventory() {
let page =this.page;
@ -631,12 +629,14 @@
const inventoryList = res.data.data;
inventoryList.records.forEach(item => {
item.reservationNum = '0';
item.applyNum = item.quantityStock - item.quantityOccupied;
});
this.page.total = inventoryList.total;
this.inventoryInfo = inventoryList.records;
this.loading = false;
this.selectionClear();
});
this.query = {};
this.selectionList = [];
this.stockListShow = true;
},
@ -785,7 +785,7 @@
if (item.reservationNum === '0') {
this.$message({
type: 'warning',
message: '请选择' + item.orderSelfNumbering + '包件数量!'
message: '请选择' + item.orderCode + '包件数量!'
});
operation = false;
}
@ -797,7 +797,7 @@
if (item.reservationNum === '0' || item.reservationNum > item.quantityStock) {
this.$message({
type: 'warning',
message: '请输入' + item.orderSelfNumbering + '正确数量!'
message: '请输入' + item.orderCode + '正确数量!'
});
operation = false;
}
@ -1009,6 +1009,9 @@
this.loading = true;
this.form.deliveryType = "1";
this.form.deliveryWay = "1";
this.form.periodOfTime = "3";
this.form.otherFee = 0 ;
this.form.reservationDate = new Date();
if (this.orderIds) {
getStockArticleList(this.orderIds).then(res => {
console.log(res.data.data);
@ -1039,9 +1042,11 @@
const reservation = res.data.data;
this.orderData = reservation.stockArticleList;
this.inventoryData = reservation.inventoryList;
this.inventoryData.forEach(item=>{
item.applyNum =item.quantityStock - item.quantityOccupied;
})
this.form.deliveryType = reservation.deliveryType;
this.form.periodOfTime = reservation.periodOfTime;
this.form.periodOfTime = reservation.periodOfTime;
if (reservation.serveType) {
//','
this.serveType = Array.from(reservation.serveType).filter(s => {

2
src/views/distribution/signfor/distributionSignforedt.vue

@ -341,7 +341,7 @@ export default {
// fixed: true,
// },
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '订单自编号',
type: 2,
values: '',

14
src/views/distribution/stockup/distributionStockupDetails.vue

@ -639,12 +639,12 @@ export default {
const data = res.data.data;
this.data[0] = data;
const { serveType, deliveryWay, deliveryType } = this.data[0];
const serveTypes = serveType.split(',');
const deliveryWays = deliveryWay.split(',');
const deliveryTypes = deliveryType.split(',');
const serveTypeName = this.getOwnServer(serveTypes, '', this.serveTypeList) || null;
const deliveryWayName = this.getOwnServer(deliveryWays, '', this.deliveryWayList) || null;
const deliveryTypeName = this.getOwnServer(deliveryTypes, '', this.distributionType) || null;
const serveTypes = !!serveType ? serveType.split(',') : null;
const deliveryWays = !!deliveryWay ? deliveryWay.split(',') : null;
const deliveryTypes = !!deliveryType ? deliveryType.split(',') : null;
const serveTypeName =!!serveTypes ? this.getOwnServer(serveTypes, '', this.serveTypeList) || null : null;
const deliveryWayName =!!deliveryWays ? this.getOwnServer(deliveryWays, '', this.deliveryWayList) || null : null;
const deliveryTypeName =!!deliveryTypes ? this.getOwnServer(deliveryTypes, '', this.distributionType) || null : null;
Object.assign(this.data[0], {
serveTypeName,
deliveryWayName,
@ -722,7 +722,9 @@ export default {
},
//
getOwnServer(row,name,list){
console.log(">>>>>",row);
row.forEach( i =>{
console.log(i,"-=-=-=-");
let a = list.find( s => s.dictKey == i);
name += a.dictValue+' ';
});

239
src/views/distribution/turndelivery/deliveryDiscuss.vue

@ -397,12 +397,14 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="配车时间:" prop="collectFee" label-width="100px">
<el-date-picker v-model="form.taskTime"
type="datetime"
placeholder="请选择配车时间"
value-format="YYYY-MM-DD HH:mm:ss"
>
<el-form-item label="配车时间:" prop="taskTime" label-width="100px">
<!-- <el-date-picker v-model="form.taskTime"-->
<!-- type="datetime"-->
<!-- placeholder="请选择配车时间"-->
<!-- value-format="YYYY-MM-DD HH:mm:ss"-->
<!-- >-->
<!-- </el-date-picker>-->
<el-date-picker v-model="form.taskTime" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择配车时间">
</el-date-picker>
</el-form-item>
</el-col>
@ -540,9 +542,9 @@
<!-- @selection-change="selectionChange"-->
<el-table
ref="table"
ref="stockArticleTable"
v-loading="loading"
@selection-change="selectionChange"
@selection-change="selectionStockArticleChange"
:data="stockArticleInfo"
:height="height"
style="width: 100%; height: 80%"
@ -584,7 +586,6 @@
v-model="stockListShow"
title="库存品信息"
width="100%"
:model="addvalue"
:before-close="handleClose"
>
<el-form :inline="true" :model="query">
@ -647,10 +648,10 @@
</el-form-item>
</el-dialog>
<el-dialog v-model="isShowPackage" title="包件信息" width="100%" :model="addvalue">
<el-dialog v-model="isShowPackage" title="包件信息" width="100%">
<!-- 列表模块 -->
<el-table
ref="table"
ref="packageList"
v-loading="loading"
@selection-change="selectionChange"
:data="packageData"
@ -663,9 +664,13 @@
v-if="option.selection"
width="55"
align="center"
></el-table-column>
>
<!-- :selectable="checkPackage"-->
<!-- <el-checkbox v-model="checked"></el-checkbox>-->
</el-table-column>
<el-table-column type="expand" v-if="option.expand" align="center"></el-table-column>
<el-table-column v-if="option.index" label="序号" type="index" width="60" align="center">
<el-table-column v-if="option.index" label="序号" type="index" width="60" align="center">
</el-table-column>
<template v-for="(item, index) in option.columnPackage">
<!-- table字段 -->
@ -786,9 +791,11 @@
import { stockUpInfo } from '@/api/basicdata/basicdataGoodsArea';
import { getVehicleList } from '@/api/basicdata/basicdataVehicle';
import { getDriverList } from '@/api/basicdata/basicdataDriverArtery';
import { selectStockArticleList } from '@/api/distribution/distributionStockArticle';
import { selectStockArticleAndParcel } from '@/api/distribution/distributionStockArticle';
import { getInventoryList } from '@/api/distribution/distributionStockList';
import { getDeliveryList ,updateDeliveryList} from '@/api/distribution/distributionDeliveryList';
import { mapGetters } from 'vuex';
import dayjs from 'dayjs';
export default {
data() {
@ -804,6 +811,7 @@
pageSize: 10,
total: 40
},
query:{},
aaa: true,
bbb: false,
@ -857,8 +865,11 @@
multipleSelection: [],
//
multipleTable: {},
stockArticleTable: [],
stockArticleList:[],
driverList: [],
vehticleList: [],
packageList:[],
//
orderData:[],
//
@ -886,8 +897,29 @@
tripartiteSourceData:[],
deliveryListId:'',
isDisable:false,
checked:true,
obj:{
type:Object,
default:()=>({})
},
isInitialized:false,
isUpdate:false,
};
},
watch:{
// obj:{
// deep:true,
// handler(newVal,oldVal){
// if (this.isInitialized){
// console.log(''+JSON.stringify(oldVal)+''+JSON.stringify(newVal));
// //false;
// this.isUpdate = true;
// }else {
// this.isInitialized=true;
// }
// }
// }
},
created() {
this.$watch(
() => this.$route.params,
@ -898,14 +930,22 @@
// data observed
{ immediate: true }
);
this.getDictionary();
this.getFork();
this.getTeam();
this.getvehicleData();
this.getMasterDriverData();
},
computed: {},
computed: {
...mapGetters(['permission']),
ids() {
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.id);
});
return ids.join(',');
}
},
mounted() {
this.onLoad(this.page);
@ -995,8 +1035,24 @@
})
},
selectionChange(list) {
//
this.selectionList = list;
console.log(" this.selectionList = list", this.selectionList);
this.orderData.forEach(item=>{
if (item.id===this.obj.id){
item.isUpdate = true;
}
})
console.log("?????????????????",this.orderData);
//
// this.obj.
},
selectionStockArticleChange(list) {
console.log("selectionStockArticleChange",list);
this.stockArticleList = list;
},
//
getvehicleData() {
return new Promise((rv,rev)=>{
@ -1014,6 +1070,11 @@
this.deliveryListId = this.$route.query.id;
}
},
checkPackage(row,index){
console.log(">>>>>>>>>>>>",row,index);
// return false;
},
viewDriverInfo() {
console.log(this.driverInfo.length);
console.log(this.vehticleInfo.length);
@ -1038,39 +1099,89 @@
* 查看包件
*/
viewStockArticlePackage(row){
//
//
this.loading = true;
this.obj = row;
console.log("++++++++++++",this.obj);
if (this.deliveryListId){
//
let params={};
console.log("^^^^^^^^",row);
this.query.stockArticleId = row.id;
//TODO this.query.id = 1;
// this.query.typeService = 1;
// this.query.genre = '1';
getPackageList(Object.assign(params,this.query)).then(res=>{
console.log(res.data.data);
let data =res.data.data;
this.packageData =data.records;
let packageInfo =row.parcelListVOS
console.log("packageInfo",packageInfo);
this.packageData.forEach((item,index)=>{
packageInfo.forEach(p=>{
if (item.id===p.id){
this.selectionList.push(item);
this.$nextTick( ()=> {
this.$refs.packageList.toggleRowSelection(this.packageData[index],true);
})
}
})
})
this.selectionClear();
})
}else {
//
//
let params={};
console.log("^^^^^^^^",row);
this.query.stockArticleId = row.id;
getPackageList(Object.assign(params,this.query)).then(res=>{
console.log(res.data.data);
let data =res.data.data;
this.packageData =data.records;
this.packageData.forEach((item,index)=>{
this.$nextTick( ()=> {
this.$refs.packageList.toggleRowSelection(this.packageData[index],true);
})
})
this.selectionClear();
})
}
this.loading = false;
this.isShowPackage = true;
// this.loading = true;
this.orderData.forEach(item=>{
if (item.id===row.id){
item.packageList = [];
}
})
getPackageList('1', '10', { stockArticleId: row.id }).then(res => {
const packages = res.data.data;
console.log('>>>>>>>', packages);
this.packageData = packages.records;
this.loading = false;
});
},
/**
* 提交包件信息
*/
onSubmitPackage(){
//
if (this.selectionList.length === 0 ){
this.$message.warning('请选择至少一条数据');
return;
}
//
//
//
//
console.log(this.obj.parcelListVOS);
console.log("___________",this.obj);
this.orderData.forEach(item=>{
if (item.id===this.obj.id){
item.packageList = this.selectionList;
}
})
console.log( "**********",this.orderData);
// if (this.selectionList.length ===this.obj.parcelListVOS.length){
// //
// //
//
// console.log(this.obj);
// }
//
this.orderData.forEach(o=>{
this.selectionList.forEach(p=>{
if (p.stockArticleId === o.id){
o.packageList.push(p);
}
})
});
console.log("this.selectionList",this.selectionList);
this.isShowPackage = false;
console.log(this.orderData);
},
removeStockArticle(row) {
this.orderData.forEach((item, index) => {
@ -1155,8 +1266,8 @@
tripartite.distributionCompany = item.dictValue;
}
});
data.tripartite = tripartite;
}
data.tripartite = tripartite;
} else {
//
if (this.driverList.length !== this.vehticleList.length) {
@ -1200,6 +1311,7 @@
});
})
}else {
let data = {};
let stockup = {};
let tripartite = {};
let allocationInfo = [];
@ -1259,6 +1371,7 @@
tripartite.distributionCompany = item.dictValue;
}
});
data.tripartite = tripartite;
}
} else {
//
@ -1283,12 +1396,10 @@
allocationInfo = info;
}
}
let data = {};
data.stockup = stockup;
data.masterDriverName = this.form.masterDriverName;
data.masterVehicleNub = this.form.masterVehicleNub;
data.allocationInfo = allocationInfo;
data.tripartite = tripartite;
data.stockArticle = this.orderData;
let reservation = {};
reservation.deliveryType = this.form.deliveryType;
@ -1440,6 +1551,7 @@
this.form.deliveryType="1";
this.form.deliveryWay="1";
this.form.stockupDate = new Date()
this.form.taskTime = dayjs().format('YYYY-MM-DD HH:mm:ss');
},
ddd() {
if (this.deliveryListId){
@ -1457,22 +1569,43 @@
this.form.deliveryType="1";
this.form.deliveryWay="1";
this.form.stockupDate = new Date()
this.form.taskTime = dayjs().format('YYYY-MM-DD HH:mm:ss');
},
handleAddOrder() {
handleAddOrder() {
//TODO
this.query.typeService=1;
let page =this.page;
this.query.genre = "1";
let params = {};
selectStockArticleList(page.currentPage,page.pageSize,Object.assign(params,this.query)).then(res=>{
selectStockArticleAndParcel(Object.assign(params,this.query)).then(res=>{
console.log(res.data.data);
const data = res.data.data;
data.records.forEach(item => {
data.forEach(item => {
item.reservationNum = item.handQuantity;
});
this.page.total = data.total;
this.stockArticleInfo = data.records;
this.stockArticleInfo = data;
this.loading = false;
this.selectionClear();
this.query={};
// this.selectionClear();
if (this.deliveryListId) {
//
console.log("---->", this.stockArticleInfo);
this.stockArticleInfo.forEach((item, index) => {
console.log("aaa", item, index);
this.orderData.forEach(o => {
console.log("bbb", o);
if (item.id === o.id) {
this.$nextTick(() => {
this.$refs.stockArticleTable.toggleRowSelection(this.stockArticleInfo[index], true);
})
}
})
})
}
})
this.selectionList = [];
//
this.orderShow = true;
},
handleAddInventory() {
@ -1494,11 +1627,12 @@
this.stockListShow = true;
},
onSubmitOrder() {
this.orderData=this.selectionList;
this.orderData=this.stockArticleList;
this.orderShow = false;
},
selectionClear() {
this.selectionList = [];
this.query={};
// this.$refs.table.clearSelection();
},
async onLoad(page, params = {}) {
@ -1581,6 +1715,7 @@
this.form.deliveryType="1";
this.form.deliveryWay="1";
this.form.stockupDate = new Date()
this.form.taskTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
}
this.loading = false;

14
src/views/reservation/order_list.vue

@ -6,7 +6,7 @@
<!-- 查询模块 -->
<el-form :inline="true" :model="query">
<el-form-item label="订单自编号:">
<el-input v-model="query.orderSelfNumbering" placeholder="请输入订单自编号" ></el-input>
<el-input v-model="query.orderCode" placeholder="请输入订单自编号" ></el-input>
</el-form-item>
<!-- <el-form-item label="货物名称:">
<el-input v-model="query.descriptionGoods" placeholder="请输入货物名称"></el-input>
@ -212,8 +212,8 @@
<el-form-item label="服务号" prop="serviceNumber">
<el-input v-model="form.serviceNumber" placeholder="请输入服务号"/>
</el-form-item>
<el-form-item label="订单自编号" prop="orderSelfNumbering">
<el-input v-model="form.orderSelfNumbering" placeholder="请输入订单自编号"/>
<el-form-item label="订单自编号" prop="orderCode">
<el-input v-model="form.orderCode" placeholder="请输入订单自编号"/>
</el-form-item>
<el-form-item label="商场名称" prop="mallName">
<el-input v-model="form.mallName" placeholder="请输入商场名称"/>
@ -370,7 +370,7 @@
head: false,
},
{
prop: 'orderSelfNumbering',
prop: 'orderCode',
label: '订单自编号',
type: 2,
values: '',
@ -928,7 +928,7 @@
this.selectionList.some( i =>{
if(i.stateName === "已预约"){
st = true;
this.$message.warning(i.orderSelfNumbering+"已预约,请勿重复预约!!!");
this.$message.warning(i.orderCode+"已预约,请勿重复预约!!!");
}
})
if(st){
@ -1078,7 +1078,7 @@
case '1':
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.orderSelfNumbering);
ids.push(ele.orderCode);
});
this.formCall.waybill = ids;
this.dialogFormVisible = true;
@ -1220,7 +1220,7 @@
path: '/distribution/inventory/distributionStockArticleDetails',
query: {
id : row.row.id,
name: "详情"+row.row.orderSelfNumbering
name: "详情"+row.row.orderCode
},
})

12
src/views/system/user.vue

@ -57,14 +57,14 @@
@click="handleReset"
>密码重置
</el-button>
<el-button
<!-- <el-button
type="info"
plain
v-if="userInfo.role_name.includes('admin')"
icon="el-icon-setting"
@click="handlePlatform"
>平台配置
</el-button>
</el-button> -->
<el-button
type="info"
plain
@ -410,6 +410,14 @@ export default {
viewDisplay: false,
rules: [{ required: true, validator: validatePass2, trigger: 'blur' }],
},
{
label: '停用时间',
type: 'datetime',
prop: 'downTime',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
hide: true,
},
],
},
{

14
src/views/warehouse/warehousingentry/warehouseWarehousingEntry.vue

@ -385,7 +385,7 @@ export default {
tip: '请上传 .xls,.xlsx 标准格式文件',
action: '/api/logpm-warehouse/warehouseWarehousingEntry/import-WarehousingEntry',
},
{
/*{
label: '数据覆盖',
prop: 'isCovered',
type: 'switch',
@ -410,7 +410,7 @@ export default {
trigger: 'blur',
},
],
},
},*/
{
label: '模板下载',
prop: 'excelTemplate',
@ -612,11 +612,11 @@ export default {
//
handleTemplate() {
console.log("下载模板!!!");
// exportBlob(
// `/blade-system/user/export-template?${this.website.tokenHeader}=${getToken()}`
// ).then(res => {
// downloadXls(res.data, '.xlsx');
// });
exportBlob(
`/api/logpm-warehouse/warehouseWarehousingEntry/export-warehouseWarehousingEntry?${this.website.tokenHeader}=${getToken()}`
).then(res => {
downloadXls(res.data, '入库物品数据模板.xlsx');
});
},
handleImport(){
this.excelBox = true;

Loading…
Cancel
Save