Browse Source

Merge branch 'dev' of http://47.108.105.48:3000/java_project/logpm_page into dev

fix_bug_pro20231227
zhangsiyu 2 years ago
parent
commit
9c0ea10897
  1. 2
      index.html
  2. 50
      src/api/distribution/distributionLoadscanAbnormal.js
  3. 8
      src/api/distribution/distributionReservation.js
  4. 302
      src/option/basic/basicMaterial.js
  5. 166
      src/option/distribution/distributionLoadscanAbnormal.js
  6. 14
      src/views/basicdata/brand/basicClient.vue
  7. 2
      src/views/basicdata/warehouse/tray/basicdataTrayedt.vue
  8. 2
      src/views/basicdata/warehouse/tray/basicdataTrayhistory.vue
  9. 56
      src/views/basicdata/warehouse/warehouse/basicdataWarehouse.vue
  10. 1
      src/views/distribution/inventory/distributionStockArticleDetails.vue
  11. 18
      src/views/distribution/inventory/distributionStockList.vue
  12. 95
      src/views/distribution/inventory/distributionStockListDiscuss.vue
  13. 676
      src/views/distribution/inventory/distributionStockListMarket.vue
  14. 148
      src/views/distribution/inventory/distributionStockListSelf.vue
  15. 351
      src/views/distribution/loadscanabnormal/distributionLoadscanAbnormal.vue
  16. 107
      src/views/distribution/reservation/reservation.vue
  17. 51
      src/views/distribution/reservation/reservationAddFrom.vue
  18. 52
      src/views/distribution/reservation/reservationDetails.vue
  19. 54
      src/views/distribution/signdetail/distributionSigndetail.vue
  20. 5
      src/views/distribution/signdetail/distributionSigndetaledt.vue
  21. 64
      src/views/distribution/signfor/distributionSignforedt.vue
  22. 42
      src/views/distribution/stockup/distributionStockup.vue
  23. 39
      src/views/distribution/stockup/distributionStockupDiscuss.vue
  24. 46
      src/views/distribution/stockup/distributionStockupMarket.vue
  25. 39
      src/views/distribution/stockup/distributionStockupSelf.vue
  26. 72
      src/views/warehouse/updownGoods/warehouseUpdownGoodsLog.vue
  27. 49
      src/views/warehouse/warehousingentry/warehouseWarehouseingAddReceipt.vue
  28. 2
      vite.config.js

2
index.html

@ -23,7 +23,7 @@
</script>
<script type="text/javascript"
src='https://webapi.amap.com/maps?v=2.0&key=f003ec4feb3fcc4cf0742e94f569fd33&plugin=AMap.PlaceSearch,AMap.Geocoder,Map3D,ElasticMarker,AMap.Driving,AMap.TruckDriving'></script>
src='https://webapi.amap.com/maps?v=1.4.15&key=f003ec4feb3fcc4cf0742e94f569fd33&plugin=AMap.PlaceSearch,AMap.Geocoder,Map3D,ElasticMarker,AMap.Driving,AMap.TruckDriving'></script>
<script src="//webapi.amap.com/ui/1.1/main.js"></script>
<script type="text/javascript"
src="https://api.map.baidu.com/api?v=1.0&type=webgl&ak=FpjVxjf9nGo47eLj9I0ZuUvSZm1wGGqr"></script>

50
src/api/distribution/distributionLoadscanAbnormal.js

@ -0,0 +1,50 @@
import request from '@/axios';
export const getList = (current, size, params) => {
return request({
url: '/api/logpm-distribution/loadscanAbnormal/list',
method: 'get',
params: {
...params,
current,
size,
}
})
}
export const getDetail = (id) => {
return request({
url: '/api/logpm-distribution/loadscanAbnormal/detail',
method: 'get',
params: {
id
}
})
}
export const remove = (ids) => {
return request({
url: '/api/logpm-distribution/loadscanAbnormal/remove',
method: 'post',
params: {
ids,
}
})
}
export const add = (row) => {
return request({
url: '/api/logpm-distribution/loadscanAbnormal/submit',
method: 'post',
data: row
})
}
export const update = (row) => {
return request({
url: '/api/logpm-distribution/loadscanAbnormal/submit',
method: 'post',
data: row
})
}

8
src/api/distribution/distributionReservation.js

@ -201,6 +201,14 @@ export const getReservationStockListInfo = (reservationId) => {
})
}
export const patchPrintList = (ids) => {
return request({
url: '/api/logpm-distribution/deliveryList/printBatchByReservation',
method: 'post',
params: ids
});
}

302
src/option/basic/basicMaterial.js

@ -7,157 +7,181 @@ export default {
border: true,
index: true,
viewBtn: true,
delBtn:true,
delBtn: true,
selection: false,
indexLabel: "序号",
indexLabel: '序号',
indexWidth: '80',
dialogClickModal: false,
column: [
{
label: "租户号",
prop: "tenantId",
type: "input",
label: '租户号',
prop: 'tenantId',
type: 'input',
width: '130',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "创建人",
prop: "createUser",
type: "input",
label: '创建人',
prop: 'createUser',
type: 'input',
width: '130',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "创建时间",
prop: "createTime",
type: "input",
label: '创建时间',
prop: 'createTime',
type: 'input',
width: '130',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "更新人",
prop: "updateUser",
type: "input",
label: '更新人',
prop: 'updateUser',
type: 'input',
width: '130',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "更新时间",
prop: "updateTime",
type: "input",
label: '更新时间',
prop: 'updateTime',
type: 'input',
width: '130',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "状态",
prop: "status",
type: "input",
label: '状态',
prop: 'status',
type: 'input',
width: '130',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "是否已删除",
prop: "isDeleted",
type: "input",
label: '是否已删除',
prop: 'isDeleted',
type: 'input',
width: '130',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "创建部门",
prop: "createDept",
type: "input",
label: '创建部门',
prop: 'createDept',
type: 'input',
width: '130',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "主键",
prop: "id",
type: "input",
label: '主键',
prop: 'id',
type: 'input',
width: '130',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "预留1",
prop: "reserve1",
type: "input",
label: '预留1',
prop: 'reserve1',
type: 'input',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "预留2",
prop: "reserve2",
type: "input",
label: '预留2',
prop: 'reserve2',
type: 'input',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "预留3",
prop: "reserve3",
type: "input",
label: '预留3',
prop: 'reserve3',
type: 'input',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "预留4",
prop: "reserve4",
type: "input",
label: '预留4',
prop: 'reserve4',
type: 'input',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "预留5",
prop: "reserve5",
type: "input",
label: '预留5',
prop: 'reserve5',
type: 'input',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
hide: true,
},
{
label: "产品编码",
prop: "productCode",
type: "input",
label: '产品编码',
prop: 'productCode',
type: 'input',
search: true,
width: 100,
width: '130',
rules: [
{
required: true,
message: '请输入产品编码',
trigger: 'blur',
},
],
overHidden: true,
},
{
label: "物品sku",
prop: "sku",
type: "input",
width: 100,
label: '物品sku',
prop: 'sku',
type: 'input',
width: '130',
rules: [
{
required: true,
message: '请输入物品sku',
trigger: 'blur',
},
],
overHidden: true,
},
{
label: "计量单位",
prop: "logpmUnit",
type: "select",
label: '计量单位',
prop: 'logpmUnit',
type: 'select',
width: '130',
dicUrl: '/blade-system/dict-biz/dictionary?code=logpm_unit',
props: {
label: 'dictValue',
@ -173,11 +197,18 @@ export default {
],
},
{
label: "名称",
prop: "name",
type: "input",
label: '名称',
prop: 'name',
type: 'input',
rules: [
{
required: true,
message: '请输入名称',
trigger: 'blur',
},
],
search: true,
width: 200,
width: '130',
overHidden: true,
},
// {
@ -196,9 +227,17 @@ export default {
// hide: false,
// },
{
label: "属性",
prop: "property",
type: "input",
label: '属性',
prop: 'property',
rules: [
{
required: true,
message: '请输入属性',
trigger: 'blur',
},
],
width: '130',
type: 'input',
},
// {
// label: "规格",
@ -206,78 +245,129 @@ export default {
// type: "input",
// },
{
label: "包装规格",
prop: "packingSpecification",
type: "input",
label: '包装规格',
prop: 'packingSpecification',
type: 'input',
width: '130',
rules: [
{
required: true,
message: '请输入包装规格',
trigger: 'blur',
},
],
},
{
label: "包装数量",
prop: "packageNum",
type: "input",
label: '包装数量',
prop: 'packageNum',
type: 'input',
width: '130',
rules: [
{
required: true,
message: '请输入包装数量',
trigger: 'blur',
},
],
},
{
label: "包装材质",
prop: "packagingMaterial",
type: "input",
label: '包装材质',
prop: 'packagingMaterial',
type: 'input',
width: '130',
rules: [
{
required: true,
message: '请输入包装材质',
trigger: 'blur',
},
],
},
{
label: "长",
prop: "extent",
type: "input",
width: 100,
label: '长',
prop: 'extent',
type: 'input',
width: '130',
overHidden: true,
rules: [
{
required: true,
message: '请输入长度',
trigger: 'blur',
},
],
},
{
label: "宽",
prop: "breadth",
type: "input",
width: 100,
label: '宽',
prop: 'breadth',
type: 'input',
width: '130',
rules: [
{
required: true,
message: '请输入宽度',
trigger: 'blur',
},
],
overHidden: true,
},
{
label: "高度",
prop: "altitude",
type: "input",
width: 100,
label: '高度',
prop: 'altitude',
type: 'input',
width: '130',
rules: [
{
required: true,
message: '请输入高度',
trigger: 'blur',
},
],
overHidden: true,
},
{
label: "体积",
prop: "volume",
type: "input",
width: 100,
label: '体积',
prop: 'volume',
type: 'input',
width: '130',
rules: [
{
required: true,
message: '请输入体积',
trigger: 'blur',
},
],
overHidden: true,
},
{
label: "重量",
prop: "weight",
type: "input",
label: '重量',
prop: 'weight',
width: '130',
type: 'input',
},
{
label: "备注",
prop: "remark",
type: "input",
label: '备注',
prop: 'remark',
width: '130',
type: 'input',
},
{
label: "物料图片",
prop: "picture",
type: "upload",
label: '物料图片',
prop: 'picture',
type: 'upload',
dataType: 'string',
listType: 'picture-img',
// hide: true,
labelWidth:'150',
span:10,
multiple:false,
width:"200px",
align:'left',
labelWidth: '150',
span: 10,
multiple: false,
width: '200px',
align: 'left',
action: '/blade-resource/oss/endpoint/put-file',
propsHttp: {
res: 'data',
url: 'link',
},
},
]
}
],
};

166
src/option/distribution/distributionLoadscanAbnormal.js

@ -0,0 +1,166 @@
export default {
expand: false,
index: true,
border: true,
selection: true,
column: [
{
label: "租户号",
prop: "tenantId",
display: false,
hide: true,
},
{
label: "创建人",
prop: "createUser",
display: false,
hide: true,
},
{
label: "创建时间",
prop: "createTime",
display: false,
hide: true,
},
{
label: "更新人",
prop: "updateUser",
display: false,
hide: true,
},
{
label: "更新时间",
prop: "updateTime",
display: false,
hide: true,
},
{
label: "状态",
prop: "status",
display: false,
hide: true,
},
{
label: "是否已删除",
prop: "isDeleted",
display: false,
hide: true,
},
{
label: "创建部门",
prop: "createDept",
display: false,
hide: true,
},
{
label: "主键",
prop: "id",
display: false,
hide: true,
},
{
label: "预约ID",
prop: "reservationId",
},
{
label: "配送管理ID",
prop: "deliveryListId",
},
{
label: "包件ID",
prop: "packageId",
},
{
label: "订单ID",
prop: "stockArticleId",
},
{
label: "扫描操作人",
prop: "sacnUser",
},
{
label: "扫描操作时间",
prop: "scanTime",
},
{
label: "包条码",
prop: "packageCode",
},
{
label: "车次号",
prop: "trainNumber",
},
{
label: "司机ID",
prop: "driverId",
},
{
label: "司机名称",
prop: "driverName",
},
{
label: "车辆ID",
prop: "vehicleId",
},
{
label: "车牌号",
prop: "vehicleName",
},
{
label: "司机电话",
prop: "driverPhone",
},
{
label: "仓库Id",
prop: "warehouseId",
},
{
label: "仓库名称",
prop: "warehouseName",
},
{
label: "审核人",
prop: "auditingUser",
},
{
label: "审核时间",
prop: "auditingTime",
},
{
label: "包件配送类型 1 - 商配 2-市配",
prop: "deliveryType",
},
{
label: "备注",
prop: "remarks",
},
{
label: "审核状态 1-未审核 2- 已审核 3 - 异常",
prop: "auditingStatus",
},
{
label: "装车数量",
prop: "loadingQuantity",
},
{
label: "预留1",
prop: "reserve1",
},
{
label: "预留2",
prop: "reserve2",
},
{
label: "预留3",
prop: "reserve3",
},
{
label: "预留4",
prop: "reserve4",
},
{
label: "预留5",
prop: "reserve5",
},
]
}

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

@ -464,7 +464,7 @@ export default {
columnList: [
{
prop: '',
label: '序号',
label: '全选',
type: 0,
values: '',
width: 55,
@ -476,7 +476,7 @@ export default {
label: '客户名称',
type: 2,
values: '',
width: 'fit-content',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
@ -487,7 +487,7 @@ export default {
label: '客户编码',
type: 2,
values: '',
width: 'fit-content',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
@ -498,7 +498,7 @@ export default {
label: '客户类型',
type: 3,
values: '',
width: 'fit-content',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
@ -509,7 +509,7 @@ export default {
label: '服务类型',
type: 1,
values: '',
width: 'fit-content',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
@ -553,7 +553,7 @@ export default {
label: '合同开始时间',
type: 5,
values: '',
width: '100',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
@ -563,7 +563,7 @@ export default {
label: '合同结束时间',
type: 5,
values: '',
width: '100',
width: '150',
checkarr: [],
fixed: false,
sortable: true,

2
src/views/basicdata/warehouse/tray/basicdataTrayedt.vue

@ -963,7 +963,7 @@ export default {
head: false,
},
{
prop: 'waybillNumber',
prop: 'waybillNo',
label: '运单号',
type: 1,
values: '',

2
src/views/basicdata/warehouse/tray/basicdataTrayhistory.vue

@ -226,7 +226,7 @@ export default {
},
{
label: '运单号',
prop: 'waybillNumber',
prop: 'waybillNo',
search: true,
width: '100px',
},

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

@ -89,7 +89,7 @@ export default {
dialogClickModal: false,
column: [
{
label: '租户号',
label: '租户号1',
prop: 'tenantId',
type: 'input',
addDisplay: false,
@ -228,7 +228,7 @@ export default {
],
span: 12,
labelWidth: '120',
width: 'fit-content',
width: '130',
},
{
label: '仓库编码',
@ -243,14 +243,14 @@ export default {
],
span: 12,
labelWidth: '120',
width: 'fit-conent',
width: '130',
},
{
label: '仓库简称',
prop: 'abbreviation',
type: 'input',
labelWidth: '120',
width: 'fit-conent',
width: '130',
},
{
label: '联系人',
@ -259,7 +259,7 @@ export default {
search: true,
span: 12,
labelWidth: '120',
width: 'fit-content',
width: '130',
rules: [
{
required: true,
@ -283,7 +283,7 @@ export default {
],
span: 12,
labelWidth: '120',
width: 'fit-content',
width: '130',
},
{
label: '事业线',
@ -324,7 +324,7 @@ export default {
leaf: 'leaf',
},
labelWidth: '120',
width: 'fit-conent',
width: '130',
},
{
label: '职能类型',
@ -332,7 +332,7 @@ export default {
type: 'select',
span: 12,
labelWidth: '120',
width: 'fit-conent',
width: '130',
search: true,
dicUrl: '/api/blade-system/dict-biz/dictionary?code=warehouse_function_type',
dataType: 'number',
@ -347,7 +347,7 @@ export default {
type: 'input',
span: 12,
labelWidth: '120',
width: 'fit-conent',
width: '130',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
@ -360,7 +360,7 @@ export default {
type: 'cascader',
search: true,
labelWidth: '120',
width: 'fit-conent',
width: '130',
clearable: true,
placeholder: '省/市/区',
dicUrl: '/blade-system/region/lazy-listAll',
@ -384,7 +384,7 @@ export default {
type: 'map',
span: 12,
labelWidth: '120',
width: 'fit-conent',
width: '130',
params: {
zoom: 8,
//
@ -397,10 +397,10 @@ export default {
{
required: true,
message: '请输入仓库地址',
trigger: 'blur',
trigger: 'change',
},
],
clearable: false,
clearable: true,
addDisplay: true,
editDisplay: true,
hide: true,
@ -411,7 +411,7 @@ export default {
type: 'input',
span: 12,
labelWidth: '120',
width: 'fit-content',
width: '130',
addDisplay: false,
editDisplay: false,
hide: true,
@ -422,7 +422,7 @@ export default {
type: 'input',
span: 12,
labelWidth: '120',
width: 'fit-content',
width: '130',
addDisplay: false,
editDisplay: false,
hide: true,
@ -433,7 +433,7 @@ export default {
type: 'input',
span: 12,
labelWidth: '120',
width: 'fit-content',
width: '130',
addDisplay: false,
editDisplay: false,
hide: true,
@ -445,7 +445,7 @@ export default {
type: 'tree',
span: 12,
labelWidth: '120',
width: 'fit-conent',
width: '130',
dicUrl: '/api/blade-system/dept/lazy-tree?parentId=0',
props: {
label: 'title',
@ -514,7 +514,7 @@ export default {
search: true,
span: 12,
labelWidth: '120',
width: 'fit-conent',
width: '130',
rules: [
{
required: true,
@ -535,7 +535,7 @@ export default {
},
span: 12,
labelWidth: '120',
width: 'fit-conent',
width: '130',
rules: [
{
required: true,
@ -583,7 +583,7 @@ export default {
},
span: 12,
labelWidth: '120',
width: 'fit-conent',
width: '130',
rules: [
{
required: true,
@ -603,7 +603,7 @@ export default {
},
span: 12,
labelWidth: '120',
width: 'fit-conent',
width: '130',
rules: [
{
required: true,
@ -618,7 +618,7 @@ export default {
type: 'input',
span: 12,
labelWidth: '120',
width: 'fit-content',
width: '130',
},
{
label: '电力类型',
@ -632,7 +632,7 @@ export default {
label: 'dictValue',
value: 'dictKey',
},
width: 'fit-conent',
width: '130',
rules: [
{
required: true,
@ -666,7 +666,7 @@ export default {
placeholder: '请选择租赁开始时间',
span: 12,
labelWidth: '120',
width: 'fit-content',
width: '130',
viewDisplay: true,
addDisplay: false,
editDisplay: false,
@ -681,7 +681,7 @@ export default {
placeholder: '请选择租赁结束时间',
span: 12,
labelWidth: '120',
width: 'fit-content',
width: '130',
viewDisplay: true,
addDisplay: false,
editDisplay: false,
@ -699,7 +699,7 @@ export default {
},
span: 12,
labelWidth: '120',
width: 'fit-conent',
width: '130',
rules: [
{
required: true,
@ -720,7 +720,7 @@ export default {
},
span: 12,
labelWidth: '120',
width: 'fit-conent',
width: '130',
rules: [
{
required: true,
@ -755,7 +755,7 @@ export default {
endPlaceholder: '租赁结束日期',
span: 12,
labelWidth: '120',
width: 'fit-content',
width: '130',
search: true,
searchRange: true,
searchSpan: 12,

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

@ -315,7 +315,6 @@
<span slot="footer" class="dialog-footer">
<!-- <el-button type="primary" @click="ddd"> </el-button>-->
<el-button type="primary" @click="printTemplate"> </el-button>
<el-button type="primary" @click="dialogVisible = false"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>

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

@ -134,7 +134,7 @@
>
<el-form :inline="true" :model="formInline" class="demo-form-inline" label-width="100">
<el-form-item label="SKU" style="width: 40%">
<el-input v-model="formInline.sku" placeholder="请输入sku" clearable />
<el-input v-model="formInline.sku" placeholder="请输入sku" clearable :disabled="Boolean(unpackFormDisable.sku)" />
</el-form-item>
<el-form-item label="货物名称" style="width: 40%">
<!-- <el-input v-model="formInline.descriptionGoods" placeholder="请输入货物名称" clearable />-->
@ -149,6 +149,7 @@
@change="getMethodName($event, '1')"
@blur="selectBlur"
:loading="loading"
clearable
>
<el-option
v-for="item in optionsName"
@ -167,6 +168,7 @@
reserve-keyword
remote-show-suffix
placeholder="请选择货物单位"
:disabled="Boolean(unpackFormDisable.cargoUnit)"
>
<el-option
v-for="item in distributionUnit"
@ -177,13 +179,13 @@
</el-select>
</el-form-item>
<el-form-item label="规格" style="width: 40%">
<el-input v-model="formInline.cargoNorms" placeholder="请输入规格" clearable />
<el-input v-model="formInline.cargoNorms" placeholder="请输入规格" clearable :disabled="Boolean(unpackFormDisable.cargoNorms)" />
</el-form-item>
<el-form-item label="产品编码" style="width: 40%">
<el-input v-model="formInline.cargoNumber" placeholder="请输入产品编码" clearable />
<el-input v-model="formInline.cargoNumber" placeholder="请输入产品编码" clearable :disabled="Boolean(unpackFormDisable.cargoNumber)"/>
</el-form-item>
<el-form-item label="包装数量" style="width: 40%">
<el-input v-model="formInline.packageNum" placeholder="请输入包装数量" clearable />
<el-input v-model="formInline.packageNum" placeholder="请输入包装数量" clearable :disabled="Boolean(unpackFormDisable.packageNum)"/>
</el-form-item>
<el-form-item label="拆箱数" style="width: 40%">
<el-input
@ -301,6 +303,8 @@ export default {
drawerShow: false,
distributionType: [],
distributionUnit: [],
//
unpackFormDisable: {},
columnList: [
{
prop: '',
@ -805,7 +809,10 @@ export default {
* 物料选择赋值
* */
getMethodName(row, num) {
console.log('名称选择事件', row);
if(!row) {
this.formInline = {}
this.unpackFormDisable = {}
}
switch (num) {
case '1':
let a = this.optionsName.find(i => i.id == row);
@ -818,6 +825,7 @@ export default {
this.formInline.packageNum = a.packageNum;
this.formInline.descriptionGoods = a.descriptionGoods;
this.formInline.sku = a.sku;
this.unpackFormDisable = this.formInline
}
break;
case '2':

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

@ -132,7 +132,7 @@
padding-left: 1%;
"
>
<el-form :inline="true" :model="formInline" class="demo-form-inline" label-width="100">
<!-- <el-form :inline="true" :model="formInline" class="demo-form-inline" label-width="100">
<el-form-item label="SKU" style="width: 40%">
<el-input v-model="formInline.sku" placeholder="请输入sku" clearable />
</el-form-item>
@ -171,6 +171,70 @@
clearable
/>
</el-form-item>
</el-form> -->
<el-form :inline="true" :model="formInline" class="demo-form-inline" label-width="100">
<el-form-item label="SKU" style="width: 40%">
<el-input v-model="formInline.sku" placeholder="请输入sku" clearable :disabled="Boolean(unpackFormDisable.sku)" />
</el-form-item>
<el-form-item label="货物名称" style="width: 40%">
<!-- <el-input v-model="formInline.descriptionGoods" placeholder="请输入货物名称" clearable />-->
<el-select
style="width: 100%"
v-model="formInline.materialIdName"
filterable
remote
reserve-keyword
placeholder="请输入物料名称"
:remote-method="remoteMethodName"
@change="getMethodName($event, '1')"
@blur="selectBlur"
:loading="loading"
clearable
>
<el-option
v-for="item in optionsName"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="货物单位" style="width: 40%">
<el-select
style="width: 100%"
v-model="formInline.cargoUnit"
filterable
remote
reserve-keyword
remote-show-suffix
placeholder="请选择货物单位"
:disabled="Boolean(unpackFormDisable.cargoUnit)"
>
<el-option
v-for="item in distributionUnit"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey"
/>
</el-select>
</el-form-item>
<el-form-item label="规格" style="width: 40%">
<el-input v-model="formInline.cargoNorms" placeholder="请输入规格" clearable :disabled="Boolean(unpackFormDisable.cargoNorms)" />
</el-form-item>
<el-form-item label="产品编码" style="width: 40%">
<el-input v-model="formInline.cargoNumber" placeholder="请输入产品编码" clearable :disabled="Boolean(unpackFormDisable.cargoNumber)"/>
</el-form-item>
<el-form-item label="包装数量" style="width: 40%">
<el-input v-model="formInline.packageNum" placeholder="请输入包装数量" clearable :disabled="Boolean(unpackFormDisable.packageNum)"/>
</el-form-item>
<el-form-item label="拆箱数" style="width: 40%">
<el-input
v-model="formInline.unpackingQuantity"
placeholder="请输入拆箱数"
clearable
/>
</el-form-item>
</el-form>
</div>
</div>
@ -280,6 +344,8 @@ export default {
drawerShow: false,
distributionType: [],
distributionUnit: [],
//
unpackFormDisable: {},
columnList: [
{
prop: '',
@ -749,6 +815,33 @@ export default {
},
},
methods: {
/**
* 物料选择赋值
* */
getMethodName(row, num) {
if(!row) {
this.formInline = {}
this.unpackFormDisable = {}
}
switch (num) {
case '1':
let a = this.optionsName.find(i => i.id == row);
console.log('aaaa>>', a);
if (!!a) {
this.formInline.materialCode = a.productCode;
this.formInline.cargoUnit = a.logpmUnit;
this.formInline.cargoNorms = a.packingSpecification;
this.formInline.cargoNumber = a.productCode;
this.formInline.packageNum = a.packageNum;
this.formInline.descriptionGoods = a.descriptionGoods;
this.formInline.sku = a.sku;
this.unpackFormDisable = this.formInline
}
break;
case '2':
break;
}
},
showdrawer(value) {
this.drawerShow = value;
},

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

File diff suppressed because it is too large Load Diff

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

@ -108,20 +108,47 @@
</div>
<div style="border-width: 1px 0 0 0; border-style: solid; border-color: black;margin-top: 5%;padding-top: 2%;padding-left: 1%">
<el-form :inline="true" :model="formInline" class="demo-form-inline" label-width="100">
<el-form-item label="SKU" style="width: 40%">
<el-input v-model="formInline.sku" placeholder="请输入sku" clearable />
<el-form-item label="SKU" style="width: 40%">
<el-input
v-model="formInline.sku"
placeholder="请输入sku"
clearable
:disabled="Boolean(unpackFormDisable.sku)"
/>
</el-form-item>
<el-form-item label="货物名称" style="width: 40%">
<el-input v-model="formInline.descriptionGoods" placeholder="请输入货物名称" clearable />
<el-form-item label="货物名称" style="width: 40%">
<!-- <el-input v-model="formInline.descriptionGoods" placeholder="请输入货物名称" clearable />-->
<el-select
style="width: 100%"
v-model="formInline.materialIdName"
filterable
remote
reserve-keyword
placeholder="请输入物料名称"
:remote-method="remoteMethodName"
@change="getMethodName($event, '1')"
@blur="selectBlur"
:loading="loading"
clearable
>
<el-option
v-for="item in optionsName"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="货物单位" style="width: 40%">
<el-select style="width: 100%;"
v-model="formInline.cargoUnit"
filterable
remote
reserve-keyword
remote-show-suffix
placeholder="请选择货物单位"
<el-form-item label="货物单位" style="width: 40%">
<el-select
style="width: 100%"
v-model="formInline.cargoUnit"
filterable
remote
reserve-keyword
remote-show-suffix
placeholder="请选择货物单位"
:disabled="Boolean(unpackFormDisable.cargoUnit)"
>
<el-option
v-for="item in distributionUnit"
@ -132,10 +159,35 @@
</el-select>
</el-form-item>
<el-form-item label="规格" style="width: 40%">
<el-input v-model="formInline.cargoNorms" placeholder="请输入规格" clearable />
<el-input
v-model="formInline.cargoNorms"
placeholder="请输入规格"
clearable
:disabled="Boolean(unpackFormDisable.cargoNorms)"
/>
</el-form-item>
<el-form-item label="产品编码" style="width: 40%">
<el-input
v-model="formInline.cargoNumber"
placeholder="请输入产品编码"
clearable
:disabled="Boolean(unpackFormDisable.cargoNumber)"
/>
</el-form-item>
<el-form-item label="包装数量" style="width: 40%">
<el-input
v-model="formInline.packageNum"
placeholder="请输入包装数量"
clearable
:disabled="Boolean(unpackFormDisable.packageNum)"
/>
</el-form-item>
<el-form-item label="拆箱数" style="width: 40%">
<el-input v-model="formInline.unpackingQuantity" placeholder="请输入拆箱数" clearable />
<el-input
v-model="formInline.unpackingQuantity"
placeholder="请输入拆箱数"
clearable
/>
</el-form-item>
</el-form>
</div>
@ -240,13 +292,17 @@ export default {
drawerShow: false,
distributionType:[],
distributionUnit:[],
//
unpackFormDisable: {},
//
optionsName: [],
columnList: [
{
prop: '',
label: '序号',
label: '全选',
type: 0,
values: '',
width: 55,
width: "55",
checkarr: [],
fixed: true,
},
@ -706,7 +762,63 @@ export default {
}
},
methods: {
selectBlur(e) {
// console.log(">>>>>><<<<<<<",e);
let value = e.target.value; //
if (value) {
//
// this.form.produce = value;
// console.log("",value);
this.formInline.materialIdName = value;
}
},
/**
* 查询
* */
async remoteMethodName(query) {
if (query) {
this.loading = true;
//
let asd = await getListMaterial(this.page.currentPage, this.page.pageSize, {
name: query,
pid: this.stockList.materialId,
}).then();
console.log('物料信息', asd.data.data);
if (!!asd.data.data) {
this.optionsName = asd.data.data.records;
}
this.loading = false;
} else {
this.optionsName = [];
}
},
/**
* 物料选择赋值
* */
getMethodName(row, num) {
if (!row) {
this.formInline = {};
this.unpackFormDisable = {};
}
switch (num) {
case '1':
let a = this.optionsName.find(i => i.id == row);
console.log('aaaa>>', a);
if (!!a) {
this.formInline.materialCode = a.productCode;
this.formInline.cargoUnit = a.logpmUnit;
this.formInline.cargoNorms = a.packingSpecification;
this.formInline.cargoNumber = a.productCode;
this.formInline.packageNum = a.packageNum;
this.formInline.descriptionGoods = a.descriptionGoods;
this.formInline.sku = a.sku;
this.unpackFormDisable = this.formInline;
}
break;
case '2':
break;
}
},
showdrawer(value){
this.drawerShow=value
},
@ -872,7 +984,7 @@ export default {
this.formInline.marketId =this.stockList.marketId;
this.formInline.storeId =this.stockList.storeId;
this.formInline.descriptionGoods = ''
console.log("提交的值",this.formInline);
addParcels(this.formInline).then(() => {
this.box = false;

351
src/views/distribution/loadscanabnormal/distributionLoadscanAbnormal.vue

@ -0,0 +1,351 @@
<template>
<basic-container>
<div class="avue-crud">
<el-row :hidden="!search" style="padding:6px 18px">
<!-- 查询模块 -->
<el-form :inline="true" :model="query">
<!-- 查询按钮 -->
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="searchChange"> </el-button>
<el-button icon="el-icon-delete" @click="searchReset()"> </el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<el-button type="primary" icon="el-icon-plus" @click="handleAdd"> </el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleDelete" plain> </el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>
<el-button icon="el-icon-search" @click="searchHide" circle></el-button>
</div>
</div>
</el-row>
<el-row>
<!-- 列表模块 -->
<el-table ref="table" v-loading="loading"
@selection-change="selectionChange"
:data="data"
:height="height"
style="width: 100%"
:border="option.border">
<el-table-column type="selection" v-if="option.selection" width="55" align="center"></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="50" align="center">
</el-table-column>
<template v-for="(item,index) in option.column">
<!-- table字段 -->
<el-table-column v-if="item.hide!==true"
:prop="item.prop"
:label="item.label"
:width="item.width"
:key="index">
</el-table-column>
</template>
<!-- 操作栏模块 -->
<el-table-column prop="menu" label="操作" :width="220" align="center">
<template #="{row}">
<el-button type="primary" text icon="el-icon-view" @click="handleView(row)">查看</el-button>
<el-button type="primary" text icon="el-icon-edit" @click="handleEdit(row)">编辑</el-button>
<el-button type="primary" text icon="el-icon-delete" @click="rowDel(row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<el-row>
<div class="avue-crud__pagination" style="width:100%">
<!-- 分页模块 -->
<el-pagination align="right"
background
@size-change="sizeChange"
@current-change="currentChange"
:current-page="page.currentPage"
:page-sizes="[10, 20, 30, 40, 50, 100]"
:page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total">
</el-pagination>
</div>
</el-row>
<!-- 表单模块 -->
<el-dialog :title="title"
v-model="box"
width="50%"
:before-close="beforeClose"
append-to-body>
<el-form :disabled="view" ref="form" :model="form" label-width="80px">
<!-- 表单字段 -->
<el-form-item label="预约ID" prop="reservationId">
<el-input v-model="form.reservationId" placeholder="请输入预约ID"/>
</el-form-item>
<el-form-item label="配送管理ID" prop="deliveryListId">
<el-input v-model="form.deliveryListId" placeholder="请输入配送管理ID"/>
</el-form-item>
<el-form-item label="包件ID" prop="packageId">
<el-input v-model="form.packageId" placeholder="请输入包件ID"/>
</el-form-item>
<el-form-item label="订单ID" prop="stockArticleId">
<el-input v-model="form.stockArticleId" placeholder="请输入订单ID"/>
</el-form-item>
<el-form-item label="扫描操作人" prop="sacnUser">
<el-input v-model="form.sacnUser" placeholder="请输入扫描操作人"/>
</el-form-item>
<el-form-item label="扫描操作时间" prop="scanTime">
<el-input v-model="form.scanTime" placeholder="请输入扫描操作时间"/>
</el-form-item>
<el-form-item label="包条码" prop="packageCode">
<el-input v-model="form.packageCode" placeholder="请输入包条码"/>
</el-form-item>
<el-form-item label="车次号" prop="trainNumber">
<el-input v-model="form.trainNumber" placeholder="请输入车次号"/>
</el-form-item>
<el-form-item label="司机ID" prop="driverId">
<el-input v-model="form.driverId" placeholder="请输入司机ID"/>
</el-form-item>
<el-form-item label="司机名称" prop="driverName">
<el-input v-model="form.driverName" placeholder="请输入司机名称"/>
</el-form-item>
<el-form-item label="车辆ID" prop="vehicleId">
<el-input v-model="form.vehicleId" placeholder="请输入车辆ID"/>
</el-form-item>
<el-form-item label="车牌号" prop="vehicleName">
<el-input v-model="form.vehicleName" placeholder="请输入车牌号"/>
</el-form-item>
<el-form-item label="司机电话" prop="driverPhone">
<el-input v-model="form.driverPhone" placeholder="请输入司机电话"/>
</el-form-item>
<el-form-item label="仓库Id" prop="warehouseId">
<el-input v-model="form.warehouseId" placeholder="请输入仓库Id"/>
</el-form-item>
<el-form-item label="仓库名称" prop="warehouseName">
<el-input v-model="form.warehouseName" placeholder="请输入仓库名称"/>
</el-form-item>
<el-form-item label="审核人" prop="auditingUser">
<el-input v-model="form.auditingUser" placeholder="请输入审核人"/>
</el-form-item>
<el-form-item label="审核时间" prop="auditingTime">
<el-input v-model="form.auditingTime" placeholder="请输入审核时间"/>
</el-form-item>
<el-form-item label="包件配送类型 1 - 商配 2-市配" prop="deliveryType">
<el-input v-model="form.deliveryType" placeholder="请输入包件配送类型 1 - 商配 2-市配"/>
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input v-model="form.remarks" placeholder="请输入备注"/>
</el-form-item>
<el-form-item label="审核状态 1-未审核 2- 已审核 3 - 异常" prop="auditingStatus">
<el-input v-model="form.auditingStatus" placeholder="请输入审核状态 1-未审核 2- 已审核 3 - 异常"/>
</el-form-item>
<el-form-item label="装车数量" prop="loadingQuantity">
<el-input v-model="form.loadingQuantity" placeholder="请输入装车数量"/>
</el-form-item>
<el-form-item label="预留1" prop="reserve1">
<el-input v-model="form.reserve1" placeholder="请输入预留1"/>
</el-form-item>
<el-form-item label="预留2" prop="reserve2">
<el-input v-model="form.reserve2" placeholder="请输入预留2"/>
</el-form-item>
<el-form-item label="预留3" prop="reserve3">
<el-input v-model="form.reserve3" placeholder="请输入预留3"/>
</el-form-item>
<el-form-item label="预留4" prop="reserve4">
<el-input v-model="form.reserve4" placeholder="请输入预留4"/>
</el-form-item>
<el-form-item label="预留5" prop="reserve5">
<el-input v-model="form.reserve5" placeholder="请输入预留5"/>
</el-form-item>
</el-form>
<!-- 表单按钮 -->
<template #footer>
<span v-if="!view" class="dialog-footer">
<el-button type="primary" icon="el-icon-circle-check" @click="handleSubmit"> </el-button>
<el-button icon="el-icon-circle-close" @click="box = false"> </el-button>
</span>
</template>
</el-dialog>
</div>
</basic-container>
</template>
<script>
import { getList, getDetail, add, update, remove } from "@/api/distribution/distributionLoadscanAbnormal";
import option from "@/option/distribution/distributionLoadscanAbnormal";
import { mapGetters } from "vuex";
export default {
data () {
return {
height: 0,
//
title: '',
//
box: false,
//
search: true,
//
loading: true,
//
view: false,
//
query: {},
//
page: {
currentPage: 1,
pageSize: 10,
total: 40
},
//
form: {},
//
selectionList: [],
//
option: option,
//
data: [],
}
},
mounted () {
this.init();
this.onLoad(this.page);
},
computed: {
...mapGetters(["permission"]),
ids () {
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.id);
});
return ids.join(",");
}
},
methods: {
init () {
this.height = this.setPx(document.body.clientHeight - 340);
},
searchHide () {
this.search = !this.search;
},
searchChange () {
this.onLoad(this.page);
},
searchReset () {
this.query = {};
this.page.currentPage = 1;
this.onLoad(this.page);
},
handleSubmit () {
if (!this.form.id) {
add(this.form).then(() => {
this.box = false;
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
});
} else {
update(this.form).then(() => {
this.box = false;
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
})
}
},
handleAdd () {
this.title = '新增'
this.form = {}
this.box = true
},
handleEdit (row) {
this.title = '编辑'
this.box = true
getDetail(row.id).then(res => {
this.form = res.data.data;
});
},
handleView (row) {
this.title = '查看'
this.view = true;
this.box = true;
getDetail(row.id).then(res => {
this.form = res.data.data;
});
},
handleDelete () {
if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据");
return;
}
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
return remove(this.ids);
})
.then(() => {
this.selectionClear();
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
});
},
rowDel (row) {
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
return remove(row.id);
})
.then(() => {
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
});
},
beforeClose (done) {
done()
this.form = {};
this.view = false;
},
selectionChange (list) {
this.selectionList = list;
},
selectionClear () {
this.selectionList = [];
this.$refs.table.clearSelection();
},
currentChange (currentPage) {
this.page.currentPage = currentPage;
this.onLoad(this.page);
},
sizeChange (pageSize) {
this.page.pageSize = pageSize;
this.onLoad(this.page);
},
onLoad (page, params = {}) {
this.loading = true;
getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
const data = res.data.data;
this.page.total = data.total;
this.data = data.records;
this.loading = false;
this.selectionClear();
});
}
}
};
</script>

107
src/views/distribution/reservation/reservation.vue

@ -41,8 +41,7 @@
<div class="avue-crud__left">
<el-button type="primary" icon="el-icon-plus" @click="handleAdd"
>添加预约
</el-button
>
</el-button>
<el-button
v-if="this.query.reservationStatus === '1'"
type="danger"
@ -206,6 +205,14 @@
plain
>批量转配送
</el-button>
<el-button
v-if="this.query.reservationStatus === '2'"
type="danger"
icon="el-icon-delete"
@click="batchPrintData"
plain
>批量打印
</el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
@ -262,6 +269,15 @@
>确认预约
</el-text
>
<el-text
size="small"
type="primary"
link
icon="el-icon-view"
@click="printData(slotProps.scope)"
>打印
</el-text
>
</template>
</tablecmt>
<!-- <el-popover :visible="visible" placement="top-start" :width="160">-->
@ -328,6 +344,17 @@
</el-pagination>
</div>
</el-row>
<el-dialog title="二维码" :visible.sync="dialogVisible" width="780px" v-model="dialogVisible">
<div>
<div v-html="html"></div>
</div>
<span slot="footer" class="dialog-footer">
<!-- <el-button type="primary" @click="ddd"> </el-button>-->
<el-button type="primary" @click="printTemplate"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
</div>
</basic-container>
<edittablehead
@ -395,7 +422,8 @@
remove,
confirms,
addReservations,
cancelReservation
cancelReservation,
patchPrintList
} from '@/api/distribution/distributionReservation';
import option from '@/option/distribution/distributionReservation';
import { mapGetters } from 'vuex';
@ -406,10 +434,15 @@
import { getListTeam } from '@/api/basicdata/basicdataTeamGroup';
import { stockUp } from '@/api/basicdata/basicdataGoodsArea';
import dayjs from 'dayjs';
import print from '@/utils/print';
export default {
data() {
return {
//
dialogVisible: false,
// html
html: '',
columnList: [
{
prop: '',
@ -1093,6 +1126,9 @@
this.height = this.setPx(document.body.clientHeight - 340);
},
handleClick() {
// ,
this.selectionList = []
if (this.activeName == 'yescheck') {
this.activeName = 'nocheck';
} else if (this.activeName == 'nocheck') {
@ -1511,12 +1547,73 @@
this.loading = false;
this.selectionClear();
});
}
},
/**
* 请求打印模版
*/
async batchPrint(ids){
const res = await patchPrintList({ids: ids.join(',')})
return res
},
/**
* 批量打印
*/
async batchPrintData(){
if(this.selectionList.length === 0) {
this.$message({
type: "error",
message: "最少选择一条数据哦"
})
return
}
const ids = this.selectionList.map(item => item.id)
const res = await this.batchPrint(ids)
const {code, data} = res.data
if(code === 200){
this.dialogVisible = true
console.log('data :>> ', data);
this.html = '';
data.forEach(item => {
return this.html += item.templateHtml
})
this.html ;
}
},
/**
* 单独打印
*/
async printData(rowData){
const res = await this.batchPrint([rowData.row.id])
const {code, data} = res.data
if(code === 200){
this.dialogVisible = true
console.log('data :>> ', data);
this.html = '';
data.forEach(item => {
return this.html += item.templateHtml
})
this.html ;
}
},
/**
* 调用打印机
*/
printTemplate() {
const orderNodeList = document.querySelectorAll('.el-dialog__body>div>div>div');
print(orderNodeList);
},
}
};
</script>
<style lang="scss">
<style lang="scss" scoped>
// .el-tab-pane{
// margin-top: -20px;
// }
:deep(.el-dialog){
width: fit-content !important;
}
</style>

51
src/views/distribution/reservation/reservationAddFrom.vue

@ -364,11 +364,12 @@
<el-dialog v-model="isaddvalue" title="包件信息" width="100%" :model="addvalue">
<!-- 列表模块 -->
<!-- :isselectfun="checkPackage"-->
<tablecmt
:columnList="columnParcels"
:tableData="packageData"
:checkselect="packageData"
:isselectfun="checkPackage"
:loading="loading"
@inputTxt="inputsc"
@timeCheck="timesc"
@ -1252,18 +1253,7 @@
},
{
prop: 'cargoNumber',
label: '货物编号',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false
},
{
prop: 'materialId',
label: '物料ID',
label: '物料编码',
type: 2,
values: '',
width: '150',
@ -1272,6 +1262,17 @@
sortable: true,
head: false
},
// {
// prop: 'materialId',
// label: 'ID',
// type: 2,
// values: '',
// width: '150',
// checkarr: [],
// fixed: false,
// sortable: true,
// head: false
// },
{
prop: 'descriptionGoods',
label: '物料名称',
@ -1912,13 +1913,13 @@
let packageInfo = row.parcelListVOS;
// this.packageData = row.parcelListVOS;
let packageListData = this.packageData;
if (row.packageList) {
if (row.packageList.length>0) {
let packageListInfo = row.packageList;
packageInfo.forEach((item, index) => {
packageListInfo.forEach(p => {
if (item.id === p.id) {
this.$nextTick(() => {
// this.$refs.packageList.toggleRowSelection(this.packageData[index], true);
this.$refs.packageList.toggleRowSelection(this.packageData[index], true);
});
}
});
@ -1945,8 +1946,8 @@
this.$nextTick(() => {
this.$refs.packageList.toggleRowSelection(this.packageData[index], true);
});
console.log('::', item);
this.checkPackage(item, index);
// console.log('::', item);
// this.checkPackage(item, index);
} else if (
item.orderPackageFreezeStatusName !== '已冻结' ||
item.orderPackageFreezeStatus !== '20'
@ -1964,14 +1965,14 @@
//
//
console.log(row, 'rowrowrowrowrowrow');
if (!this.reservationId) {
if (
row.orderPackageReservationStatusName === '已预约' ||
row.orderPackageReservationStatusName === '20'
) {
return true;
}
}
// if (!this.reservationId) {
// if (
// row.orderPackageReservationStatusName === '' ||
// row.orderPackageReservationStatusName === '20'
// ) {
// return true;
// }
// }
if (row.orderPackageFreezeStatus === '10' || row.orderPackageFreezeStatusName === '已冻结') {
return false;
} else {

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

@ -675,7 +675,7 @@
head: false
},
{
prop: 'orderCode',
prop: 'sku',
label: 'SKU码',
type: 2,
values: '',
@ -686,8 +686,18 @@
head: false
},
{
prop: 'orderCode',
label: '物料名称',
prop: 'marketName',
label: '商场名称',
type: 2,
values: '',
width: '160',
checkarr: [],
fixed: false,
sortable: true
},
{
prop: 'cargoNumber',
label: '物料编码',
type: 2,
values: '',
width: '160',
@ -707,7 +717,7 @@
},
{
prop: 'descriptionGoods',
label: '库存品名称',
label: '物料名称',
type: 2,
values: '',
width: '160',
@ -724,7 +734,8 @@
checkarr: [],
fixed: false,
sortable: true
},{
},
{
prop: 'reservationNum',
label: '预约数量',
type: 2,
@ -734,6 +745,7 @@
fixed: false,
sortable: true
},
{
prop: 'orderCode',
label: '备货件数',
@ -745,7 +757,7 @@
sortable: true
},
{
prop: 'orderCode',
prop: 'stockupNum',
label: '已备件数',
type: 2,
values: '',
@ -754,9 +766,19 @@
fixed: false,
sortable: true
},
// {
// prop: 'orderCode',
// label: '',
// type: 2,
// values: '',
// width: '160',
// checkarr: [],
// fixed: false,
// sortable: true
// },
{
prop: 'orderCode',
label: '备货时间',
prop: 'stockupArea',
label: '备货',
type: 2,
values: '',
width: '160',
@ -765,7 +787,7 @@
sortable: true
},
{
prop: 'orderCode',
prop: '',
label: '托盘码',
type: 2,
values: '',
@ -775,7 +797,7 @@
sortable: true
},
{
prop: 'orderCode',
prop: '',
label: '库位信息',
type: 2,
values: '',
@ -784,16 +806,6 @@
fixed: false,
sortable: true
},
{
prop: 'orderCode',
label: '备货区',
type: 2,
values: '',
width: '160',
checkarr: [],
fixed: false,
sortable: true
},
{
prop: '',
label: '操作',

54
src/views/distribution/signdetail/distributionSigndetail.vue

@ -142,17 +142,6 @@ export default {
sortable: true,
head: false,
},
// {
// prop: 'noteNumber',
// label: '',
// type: 2,
// values: '',
// width: '150',
// checkarr: [],
// fixed: true,
// sortable: true,
// head: false,
// },
{
prop: 'trainNumber',
label: '配送车次号',
@ -170,7 +159,16 @@ export default {
type: 3,
values: '',
width: '130',
checkarr: [],
checkarr: [
{
value: '2',
label: '市配',
},
{
value: '1',
label: '商配',
},
],
fixed: false,
sortable: true,
},
@ -195,16 +193,16 @@ export default {
fixed: false,
sortable: true,
},
{
prop: 'descriptionGoods',
label: '货物名称',
type: 2,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
// {
// prop: 'descriptionGoods',
// label: '',
// type: 2,
// values: '',
// width: '130',
// checkarr: [],
// fixed: false,
// sortable: true,
// },
{
prop: 'warehouse',
label: '仓库',
@ -277,6 +275,16 @@ export default {
fixed: false,
sortable: true,
},
{
prop: 'signfornum',
label: '签收件数',
type: 2,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'completeSet',
label: '是否齐套',
@ -627,7 +635,7 @@ export default {
selectionClear () {
this.selectionList = [];
// this.$refs.table.clearSelection();
},
currentChange (currentPage) {
this.page.currentPage = currentPage;

5
src/views/distribution/signdetail/distributionSigndetaledt.vue

@ -783,6 +783,7 @@ export default {
//
handlePackage(page){
let params={}
console.log(11111,22222,">>>>>>>>>>>>>>>>>")
params.deliveryId = this.orderdata.id
getpackdetail(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
console.log("查看>>>>>包间>>",res.data.data);
@ -943,6 +944,8 @@ export default {
this.getWrapdetails(this.wpage)
},
onLoad() {
console.log("初始化执行")
console.log('this.$route.query :>> ', this.$route.query);
//
const data = decodeURIComponent(this.$route.query.data);
this.orderdata = JSON.parse(data);
@ -954,7 +957,7 @@ export default {
const data = res.data.data
this.wpage.total = data.total;
this.packdata = data.records
this.data = this.packdata
});
this.loading = false;
}

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

@ -3,15 +3,9 @@
<div class="avue-crud">
<el-row :gutter="24" class="rows">
<el-col :xl="7" :lg="7" :md="8" :sm="24">
<el-steps :active="stepActive" finish-status="success" process-status="finish">
<!-- 步骤条 -->
<el-step
v-for="step in stepsList"
:key="step.title"
:icon="step.icon"
:title="step.title"
/>
</el-steps>
<span style="padding-left: 10%"
>当前签收单状态>>>>>>>>> {{ signfordata.signingStatusAll }}</span
>
</el-col>
</el-row>
<el-divider>基本信息</el-divider>
@ -25,9 +19,36 @@
<el-col :xl="5" :lg="7" :md="8" :sm="24">
<span>预约时间{{ signfordata.reservationDate }} </span>
</el-col>
<el-col :xl="3" :lg="7" :md="8" :sm="24">
<span>服务类型{{ signfordata.deliveryType }}</span>
<!-- <el-col :xl="3" :lg="7" :md="8" :sm="24">-->
<!-- <span>配送车次{{signfordata.deliveryType}}</span>-->
<!-- </el-col>-->
<!-- <el-col :xl="3" :lg="7" :md="8" :sm="24">-->
<!-- <span>服务类型{{signfordata.deliveryType}}</span>-->
<!-- </el-col>-->
</el-row>
<el-divider>配送信息</el-divider>
<el-row :gutter="24" class="rows">
<el-col :xl="5" :lg="7" :md="8" :sm="24">
<span>配送车次{{ signfordata.trainNumber }} </span>
</el-col>
<el-col :xl="5" :lg="7" :md="8" :sm="24">
<span>配送司机{{ signfordata.driverName }} </span>
</el-col>
<el-col :xl="4" :lg="7" :md="8" :sm="24">
<span>配送车辆{{ signfordata.vehicleName }} </span>
</el-col>
<el-col :xl="5" :lg="7" :md="8" :sm="24">
<span>装车班组{{ signfordata.loadingTeamName }} </span>
</el-col>
<el-col :xl="5" :lg="7" :md="8" :sm="24">
<span>卸车班组{{ signfordata.unLoadingTeamName }} </span>
</el-col>
<!-- <el-col :xl="3" :lg="7" :md="8" :sm="24">-->
<!-- <span>配送车次{{signfordata.deliveryType}}</span>-->
<!-- </el-col>-->
<!-- <el-col :xl="3" :lg="7" :md="8" :sm="24">-->
<!-- <span>服务类型{{signfordata.deliveryType}}</span>-->
<!-- </el-col>-->
</el-row>
<el-divider>收货人信息</el-divider>
<el-row :gutter="24" class="rows">
@ -46,7 +67,7 @@
<span>是否加急{{ signfordata.isUrgent }} </span>
</el-col>
<el-col :xl="7" :lg="7" :md="10" :sm="24">
<span>配送备注{{ signfordata.remarks }} </span>
<span>客户备注{{ signfordata.remarks }} </span>
</el-col>
</el-row>
<el-dialog v-model="fbox" title="增值服务" width="30%">
@ -1617,6 +1638,7 @@ export default {
if (data.orderInfo) {
this.orderData = data.orderInfo;
}
console.log('data111>>>>>>', data);
this.stepActive = this.stepsList.findIndex(item => item.title === data.signingStatusAll);
this.signfordata = data;
this.signfordata.address = 'aa';
@ -1624,6 +1646,24 @@ export default {
// this.getListOrders(this.page)
this.getListPackage();
});
// this.getListOrders(this.page)
this.getListPackage();
let a = {
signforId: id,
addvalueId: 1,
};
addvalueInfoList(a).then(res => {
console.log('res------------->', res.data.data);
const data = res.data.data;
if (data === null) {
this.addvalueData = [];
this.addvalueinfo = {};
} else {
this.addvalueinfo = data;
this.addvalueData = data.packageEntityList;
}
});
this.loading = false;
},

42
src/views/distribution/stockup/distributionStockup.vue

@ -602,49 +602,25 @@ export default {
},
//
async getFork(){
let ides = '';
let ide = { };
let b = false;
await getListUser().then(res =>{ //
// console.log("res>>>",res.data.data);
if(res.data.data.userName != 'admin'){
b = true;
}
ides = res.data.data.tenantId;
this.deptId = res.data.data.deptId;
})
await getPostList(ides).then(res =>{ //
// console.log(">>>>",res.data.data);
res.data.data.forEach(i =>{
if(i.postName == "叉车"){
ide = i;
}
})
})
// console.log("ied>>>>>",ide);
let params={
// postId: ide.id, //
deptId: this.deptId, //
// roleId: '', //
}
if(b){
// console.log("");
params.postId = ide.id;//
}
getListOwn(Object.assign(params, this.query)).then(res =>{ //
// console.log(".............",res.data.data);
// console.log(">>>",res.data.data);
let fo = [];
res.data.data.forEach( i =>{
let a ={
dictKey: i.id,
dictValue: i.name
dictValue: i.realName
};
fo.push(a);
if(!this.deptId){
this.deptId =i.deptId;
}
});
this.forkliftData = fo;
this.deptId = res.data.data.deptId;
})
await this.getStorageArea();
await this.getTeam();
await this.getStorageArea();
await this.getTeam();
},
//

39
src/views/distribution/stockup/distributionStockupDiscuss.vue

@ -729,47 +729,22 @@ export default {
},
//
async getFork(){
let ides = '';
let ide = { };
let b = false;
await getListUser().then(res =>{ //
// console.log("res>>>",res.data.data);
if(res.data.data.userName != 'admin'){
b = true;
}
ides = res.data.data.tenantId;
this.deptId = res.data.data.deptId;
})
await getPostList(ides).then(res =>{ //
// console.log(">>>>",res.data.data);
res.data.data.forEach(i =>{
if(i.postName == "叉车"){
ide = i;
}
})
})
// console.log("ied>>>>>",ide);
let params={
// postId: ide.id, //
deptId: this.deptId, //
// roleId: '', //
}
if(b){
// console.log("");
params.postId = ide.id;//
}
// console.log("",params);
getListOwn(Object.assign(params, this.query)).then(res =>{ //
// console.log(".............",res.data.data);
console.log("查询当前人信息>>>",res.data.data);
let fo = [];
res.data.data.forEach( i =>{
let a ={
dictKey: i.id,
dictValue: i.name
dictValue: i.realName
};
fo.push(a);
if(!this.deptId){
this.deptId =i.deptId;
}
});
this.forkliftData = fo;
this.deptId = res.data.data.deptId;
})
await this.getStorageArea();
await this.getTeam();

46
src/views/distribution/stockup/distributionStockupMarket.vue

@ -229,7 +229,6 @@
<script>
import { getList, getDetail, add, update, remove,getListUser,addAssign } from "@/api/distribution/distributionStockup";
import { getPostList } from '@/api/system/post';
import { stockUp } from '@/api/basicdata/basicdataGoodsArea';
import { getListOwn,getUser } from '@/api/system/user';
import option from "@/option/distribution/distributionStockup";
@ -237,6 +236,8 @@ import { mapGetters } from "vuex";
import { getListTeam } from '@/api/basicdata/basicdataTeamGroup';
import dayjs from 'dayjs';
import { getDictionaryBiz } from '@/api/system/dict';
import { getRoleTree } from '@/api/system/role';
import { getPostList } from '@/api/system/post';
export default {
data () {
@ -668,47 +669,22 @@ export default {
},
//
async getFork(){
let ides = '';
let ide = { };
let b = false;
await getListUser().then(res =>{ //
// console.log("res>>>",res.data.data);
if(res.data.data.userName != 'admin'){
b = true;
}
ides = res.data.data.tenantId;
this.deptId = res.data.data.deptId;
})
await getPostList(ides).then(res =>{ //
// console.log(">>>>",res.data.data);
res.data.data.forEach(i =>{
if(i.postName == "叉车"){
ide = i;
}
})
})
// console.log("ied>>>>>",ide);
let params={
// postId: ide.id, //
deptId: this.deptId, //
// roleId: '', //
}
if(b){
// console.log("");
params.postId = ide.id;//
}
// console.log("",params);
getListOwn(Object.assign(params, this.query)).then(res =>{ //
// console.log(".............",res.data.data);
console.log("查询当前人信息>>>",res.data.data);
let fo = [];
res.data.data.forEach( i =>{
let a ={
dictKey: i.id,
dictValue: i.name
dictValue: i.realName
};
fo.push(a);
if(!this.deptId){
this.deptId =i.deptId;
}
});
this.forkliftData = fo;
this.deptId = res.data.data.deptId;
})
await this.getStorageArea();
await this.getTeam();
@ -770,8 +746,8 @@ export default {
if(!a){
this.num = '3';
this.dialogFormCustomer = true;
this.getFork();
this.getTeam();
this.getFork(); //
this.getTeam();//
}else{
this.$message.warning("已指派,请勿重复指派!!!")
}

39
src/views/distribution/stockup/distributionStockupSelf.vue

@ -667,47 +667,22 @@ export default {
},
//
async getFork(){
let ides = '';
let ide = { };
let b = false;
await getListUser().then(res =>{ //
console.log("当前人信息res>>>",res.data.data);
if(res.data.data.userName != 'admin'){
b = true;
}
ides = res.data.data.tenantId;
this.deptId = res.data.data.deptId;
})
await getPostList(ides).then(res =>{ //
// console.log(">>>>",res.data.data);
res.data.data.forEach(i =>{
if(i.postName == "叉车"){
ide = i;
}
})
})
// console.log("ied>>>>>",ide);
let params={
// postId: ide.id, //
deptId: this.deptId, //
// roleId: '', //
}
if(b){
// console.log("");
params.postId = ide.id;//
}
// console.log("",params);
getListOwn(Object.assign(params, this.query)).then(res =>{ //
// console.log(".............",res.data.data);
console.log("查询当前人信息>>>",res.data.data);
let fo = [];
res.data.data.forEach( i =>{
let a ={
dictKey: i.id,
dictValue: i.name
dictValue: i.realName
};
fo.push(a);
if(!this.deptId){
this.deptId =i.deptId;
}
});
this.forkliftData = fo;
this.deptId = res.data.data.deptId;
})
await this.getStorageArea();
await this.getTeam();

72
src/views/warehouse/updownGoods/warehouseUpdownGoodsLog.vue

@ -1,6 +1,17 @@
<template>
<basic-container>
<div class="avue-crud">
<el-row>
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left"></div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>
</div>
</div>
</el-row>
<el-tabs type="border-card">
<el-tab-pane label="订制品">
<el-row>
@ -127,7 +138,14 @@
</template>
<script>
import { getDetail, getpage, update, remove,getinventorypage,gettruckloadpage } from '@/api/warehouse/warehouseUpdownGoodsLog';
import {
getDetail,
getpage,
update,
remove,
getinventorypage,
gettruckloadpage,
} from '@/api/warehouse/warehouseUpdownGoodsLog';
import option from '@/option/warehouse/warehouseUpdownGoodsLog';
import { mapGetters } from 'vuex';
@ -568,8 +586,8 @@ export default {
option: option,
//
data: [],
data1:[],
data2:[],
data1: [],
data2: [],
};
},
mounted() {
@ -664,6 +682,10 @@ export default {
},
},
methods: {
//
searchChange() {
this.onLoad(this.page);
},
showdrawer(value) {
this.drawerShow = value;
},
@ -744,28 +766,32 @@ export default {
},
onLoad(page, params = {}, uname) {
this.loading = true;
if (uname=='page1') {
getinventorypage(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
const data = res.data.data;
if (uname) {
this[uname].total = data.total;
if (uname == 'page1') {
getinventorypage(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(
res => {
const data = res.data.data;
if (uname) {
this[uname].total = data.total;
}
this.data1 = data.records;
this.data1 = this.$functions.newdatas(this.columnList1, this.data1);
this.loading = false;
this.selectionClear();
}
this.data1 = data.records;
this.data1 = this.$functions.newdatas(this.columnList1, this.data1);
this.loading = false;
this.selectionClear();
});
}else if(uname=='page2'){
gettruckloadpage(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
const data = res.data.data;
if (uname) {
this[uname].total = data.total;
);
} else if (uname == 'page2') {
gettruckloadpage(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(
res => {
const data = res.data.data;
if (uname) {
this[uname].total = data.total;
}
this.data2 = data.records;
this.data2 = this.$functions.newdatas(this.columnList2, this.data2);
this.loading = false;
this.selectionClear();
}
this.data2 = data.records;
this.data2 = this.$functions.newdatas(this.columnList2, this.data2);
this.loading = false;
this.selectionClear();
});
);
} else {
getpage(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
const data = res.data.data;

49
src/views/warehouse/warehousingentry/warehouseWarehouseingAddReceipt.vue

@ -13,7 +13,7 @@
>
<!-- 表单字段 -->
<el-col :span="24">
<el-form-item label="入库批次" prop="receiptBatch">
<el-form-item label="入库批次">
<el-input v-model="form.receiptBatch" clearable placeholder="请输入入库批次" />
</el-form-item>
<el-form-item label="入库时间" prop="receiptDate">
@ -75,7 +75,6 @@
</el-select>
</el-form-item>
<!-- <el-form-item label="门店名称" prop="storeName">-->
<el-form-item label="门店名称">
<!-- <el-input v-model="form.storeName" placeholder="请输入门店名称"/>-->
<el-select
@ -98,9 +97,16 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="物流公司">
<el-input v-model="form.logisticsCompany" clearable placeholder="请输入物流公司" />
</el-form-item>
<!-- <el-form-item label="物流单号" prop="trainNumber">-->
<el-form-item label="物流车次">
<el-input v-model="form.trainNumber" clearable placeholder="请输入物流车次" />
<el-form-item label="物流运单号">
<el-input
v-model="form.LogisticsWaybillNumber"
clearable
placeholder="请输入物流运单号"
/>
</el-form-item>
<!-- <el-form-item label="入库车牌" prop="licensePlate">-->
@ -134,6 +140,7 @@
:key="item.value"
:label="item.label"
:value="item.value"
:checked="store.length === 1"
/>
</el-select>
</el-form-item>
@ -171,10 +178,15 @@
<!-- <el-button type="danger" icon="el-icon-delete" @click="handleDelete" plain> </el-button>-->
</div>
<!-- 头部右侧按钮模块 -->
<!-- <div class="avue-crud__right">-->
<!-- <el-button icon="el-icon-refresh" @click="searchChange" circle :disabled="view"></el-button>-->
<!-- <el-button icon="el-icon-search" @click="searchHide" circle :disabled="view"></el-button>-->
<!-- </div>-->
<div class="avue-crud__right">
<el-button
icon="el-icon-refresh"
@click="searchChange"
circle
:disabled="view"
></el-button>
<!-- <el-button icon="el-icon-search" @click="searchHide" circle :disabled="view"></el-button> -->
</div>
</div>
</el-row>
<el-row>
@ -262,7 +274,7 @@
@click="handleSubmit"
:disabled="view && !this.$route.query.type == '3'"
v-if="this.$route.query.type"
> 1</el-button
> </el-button
>
<el-button
type="primary"
@ -524,6 +536,7 @@ export default {
licensePlate: [{ required: true, message: '请填写入库车牌', trigger: 'change' }],
warehouseId: [{ required: true, message: '请选择所在仓库', trigger: 'blur' }],
serviceType: [{ required: true, message: '请选择服务类型', trigger: 'blur' }],
clientCode: [{ required: true, message: '请选择客户编码', trigger: 'blur' }],
},
};
},
@ -820,7 +833,7 @@ export default {
if (query) {
// this.loading = true;
let cl = await getListCopy(this.page.currentPage, this.page.pageSize, { name: query });
// console.log(">>>>",cl.data.data.records);
console.log('仓库查询>>>>', cl.data.data.records);
this.store = [];
cl.data.data.records.forEach(i => {
let st = {
@ -829,6 +842,10 @@ export default {
};
this.store.push(st);
});
// ,
if (this.store.length === 1) {
this.form.warehouseId = this.store[0].value;
}
// setTimeout(() => {
// this.loading = false
// this.loading = this.list.filter((item) => {
@ -966,6 +983,14 @@ export default {
this.search = !this.search;
},
searchChange() {
//
if (!this.$route.query.type) {
//
this.form = {};
}
//
this.formDetail = {};
//
this.onLoad(this.page);
},
searchReset() {
@ -1197,6 +1222,10 @@ export default {
value: i.id,
};
this.store.push(st);
// ,
if (this.store.length === 1) {
console.log('this.store.length :>> ', [...this.store]);
this.form.warehouseId = this.store[0].value;}
});
/* if(b.data.data.deptCategory == "4"){

2
vite.config.js

@ -18,7 +18,7 @@ export default ({ mode, command }) => {
// target: 'http://192.168.10.75:8777',
// target: 'http://192.168.10.101:8888',
// target: 'http://192.168.10.29:13000',
// target: 'http://test.api.huitongys.com',
target: 'http://test.api.huitongys.com',
changeOrigin: true,
rewrite: path => path.replace(/^\/api/, ''),
},

Loading…
Cancel
Save