qb 6 months ago
parent
commit
5f77d91499
  1. 8
      src/api/distribution/distributionDeliveryList.js
  2. 76
      src/option/distribution/DeliveryExceptionReview.js
  3. 5
      src/views/Pricesystem/ListOfPriceSystems.vue
  4. 41
      src/views/cost/Deliverycostmanagement/Deliverymaintenancecosts.vue
  5. 11
      src/views/cost/storagecost/Warehouserentalmanagement.vue
  6. 126
      src/views/distribution/deliverylist/distributionDeliveryListedt.vue
  7. 222
      src/views/distribution/reservation/reservationAddFrom.vue
  8. 130
      src/views/distribution/signfor/distributionSignfortreat.vue
  9. 116
      src/views/distribution/turndelivery/deliveryDiscuss.vue
  10. 14
      src/views/warehouse/warehousingentry/warehouseWarehouseingAddReceipt.vue

8
src/api/distribution/distributionDeliveryList.js

@ -370,6 +370,14 @@ export const $_showInventoryPackgeCode = params => {
params, params,
}); });
}; };
// 异常库存品查看二维码
export const $_showInventoryPackgeCodes = params => {
return request({
url: '/api/logpm-distribution/distributionStockList/showInventoryPackgeCodes',
method: 'get',
params,
});
};
// 驳回 // 驳回
export const $_loadingAbnormalPackageListTurnDown = params => { export const $_loadingAbnormalPackageListTurnDown = params => {

76
src/option/distribution/DeliveryExceptionReview.js

@ -49,7 +49,6 @@ export const AbnormalReview = [
head: false, head: false,
}, },
{ {
prop: 'orderCode', prop: 'orderCode',
label: '订单自编号', label: '订单自编号',
@ -62,8 +61,8 @@ export const AbnormalReview = [
head: false, head: false,
}, },
{ {
prop: 'materialName', prop: 'packageCode',
label: '货物名称', label: '包条码',
type: 1, type: 1,
values: '', values: '',
width: '100', width: '100',
@ -73,8 +72,32 @@ export const AbnormalReview = [
head: false, head: false,
}, },
{ {
prop: 'packageCode', prop: 'goodsTypeName',
label: '包条码', label: '货物类型',
type: 3,
values: '',
width: '100',
checkarr: [
{
label: '订制品',
value: '订制品',
},
{
label: '库存品',
value: '库存品',
},
{
label: '零担',
value: '零担',
},
],
fixed: false,
sortable: false,
head: false,
},
{
prop: 'materialName',
label: '物料名称',
type: 1, type: 1,
values: '', values: '',
width: '100', width: '100',
@ -216,6 +239,18 @@ export const AbnormalReview = [
sortable: false, sortable: false,
head: false, head: false,
}, },
{
prop: 'loadingQuantity',
label: '异常数量',
type: 1,
values: '',
width: '100',
checkarr: [],
fixed: false,
sortable: false,
head: false,
isshowSummary: true,
},
// { // {
// prop: 'materialCode', // prop: 'materialCode',
// label: '物料编号', // label: '物料编号',
@ -225,7 +260,7 @@ export const AbnormalReview = [
// checkarr: [], // checkarr: [],
// fixed: 'right', // fixed: 'right',
// sortable: false, // sortable: false,
// }, // },
// { // {
@ -251,17 +286,17 @@ export const AbnormalReview = [
head: false, head: false,
}, },
{ // {
prop: 'orderPackageFreezeStatusName', // prop: 'orderPackageFreezeStatusName',
label: '冻结状态', // label: '冻结状态',
type: 1, // type: 1,
values: '', // values: '',
width: '100', // width: '100',
checkarr: [], // checkarr: [],
fixed: false, // fixed: false,
sortable: false, // sortable: false,
head: false, // head: false,
}, // },
// { // {
// prop: 'orderPackageGroundingStatusName', // prop: 'orderPackageGroundingStatusName',
@ -383,7 +418,7 @@ export const AbnormalReview = [
{ {
prop: 'auditingStatusName', prop: 'auditingStatusName',
label: '审核状态', label: '异常状态',
type: 1, type: 1,
values: '', values: '',
width: '100', width: '100',
@ -405,7 +440,7 @@ export const AbnormalReview = [
}, },
{ {
prop: 'auditingTime', prop: 'auditingTime',
label: '审核时间', label: '操作时间',
type: 1, type: 1,
values: '', values: '',
width: '100', width: '100',
@ -413,12 +448,11 @@ export const AbnormalReview = [
fixed: false, fixed: false,
sortable: false, sortable: false,
head: false, head: false,
}, },
{ {
prop: 'auditingUser', prop: 'auditingUser',
label: '审核人', label: '操作人',
type: 1, type: 1,
values: '', values: '',
width: '100', width: '100',

5
src/views/Pricesystem/ListOfPriceSystems.vue

@ -724,11 +724,12 @@ const handleSubmitBasic = () => {
const res = await postBasicdataPrice(submitData); const res = await postBasicdataPrice(submitData);
const { code, msg } = res.data; const { code, msg } = res.data;
if (code !== 200) return; if (code !== 200) {
return;
}
ElMessage.success(msg); ElMessage.success(msg);
onLoad(); onLoad();
Historicalversion(HistoriBt.value);
} catch (error) { } catch (error) {
console.log('error :>> ', error); console.log('error :>> ', error);
} finally { } finally {

41
src/views/cost/Deliverycostmanagement/Deliverymaintenancecosts.vue

@ -30,7 +30,12 @@
</div> </div>
<div class="el_tc_dialog"> <div class="el_tc_dialog">
<!-- 配置计价规则 --> <!-- 配置计价规则 -->
<el-dialog v-model="form.dialogPricingrules" :title="dialogtitle" width="70%"> <el-dialog
v-model="form.dialogPricingrules"
:title="dialogtitle"
width="70%"
:close-on-click-modal="false"
>
<div v-loading="loading" element-loading-text="Loading..."> <div v-loading="loading" element-loading-text="Loading...">
<div class="el_content"> <div class="el_content">
<div style="width: 100%"> <div style="width: 100%">
@ -279,6 +284,7 @@ import {
$_expenseDispatchPriceRuledetail, $_expenseDispatchPriceRuledetail,
} from '@/api/storagecost/index.js'; } from '@/api/storagecost/index.js';
import { $_ObtainRegion } from '@/api/basicdata/basicdataWarehouse'; import { $_ObtainRegion } from '@/api/basicdata/basicdataWarehouse';
import { getList } from '@/api/basicdata/basicdataVehicleInfo';
import { getDictionaryBiz } from '@/api/system/dict'; // import { getDictionaryBiz } from '@/api/system/dict'; //
import { deepClone } from '@/utils/util'; import { deepClone } from '@/utils/util';
const emit = defineEmits(['request-data']); const emit = defineEmits(['request-data']);
@ -491,11 +497,12 @@ const asurcharge = ref([
const dispatchSubjoinCategory = ref([ const dispatchSubjoinCategory = ref([
{ label: '序号', prop: 'index', type: 'string', width: '50', disabled: true }, { label: '序号', prop: 'index', type: 'string', width: '50', disabled: true },
{ {
label: '车型', label: '车型1',
prop: 'carModel', prop: 'carModel',
type: 'select', type: 'select',
width: 'auto', width: 'auto',
disabled: true, disabled: true, //
show: true, //
}, },
{ label: '操作', prop: '', type: '', width: 'auto', disabled: true }, { label: '操作', prop: '', type: '', width: 'auto', disabled: true },
]); ]);
@ -773,13 +780,13 @@ const Categoryprocessing = (value, data, type) => {
const Oversizedbillingprocessing = (value, data) => { const Oversizedbillingprocessing = (value, data) => {
OversizedbillingData.value.forEach(item => { OversizedbillingData.value.forEach(item => {
console.log(item, '超区计费-----》'); console.log(item, '超区计费-----》');
// region // region
const [province, city, district] = item.region; const [province, city, district] = item.region;
// //
const provinceObj = item.options.find(option => option.value == province); const provinceObj = item.options.find(option => option.value == province);
// //
const cityObj = provinceObj?.children?.find(cityItem => cityItem.value == city); const cityObj = provinceObj?.children?.find(cityItem => cityItem.value == city);
@ -1079,11 +1086,31 @@ const onLoad = async () => {
}); });
} }
}; };
//
const Obtainvehiclemodel = async () => {
try {
let _res = await getList();
const { code, data } = _res.data;
if (code == 200) {
console.log(data, '车型');
optionsVehicle.value = data.map(item => {
return {
label: item.vehicleModel,
value: item.id,
};
});
initData();
}
} catch (e) {
console.log(e, 'error');
} finally {
}
};
// //
const onLoadPage = async () => { const onLoadPage = async () => {
await onLoad(); await onLoad();
updateDictionary(optionsVehicle.value, 'price_vehicle_type'); // Obtainvehiclemodel(); //
GetRegion(); // GetRegion(); //
}; };
onLoadPage(); onLoadPage();

11
src/views/cost/storagecost/Warehouserentalmanagement.vue

@ -534,13 +534,13 @@ const changetype = () => {
form.value.storageLocationCount = null; // form.value.storageLocationCount = null; //
form.value.leasedArea = null; // form.value.leasedArea = null; //
}; };
form.value.residualArea = null; //
form.value.singleStorageArea = null; //
const changewarehouse = async () => { const changewarehouse = async () => {
let data = { let data = {
warehouseId: form.value.warehouseId, warehouseId: form.value.warehouseId,
}; };
form.value.residualArea = null; //
form.value.singleStorageArea = null; //
formloading.value = true; formloading.value = true;
await $_residualArea(data) await $_residualArea(data)
.then(res => { .then(res => {
@ -600,7 +600,10 @@ const changestorageLocationCount = () => {
const Customeradded = () => { const Customeradded = () => {
ruleFormRef.value.validate(valid => { ruleFormRef.value.validate(valid => {
if (valid) { if (valid) {
if (form.value.storageLocationCount == null || form.value.leasedArea == null) { const { type, storageLocationCount, leasedArea } = form.value;
if ((type === 1 && leasedArea == null) || (type === 2 && storageLocationCount == null)) {
ElMessage({ ElMessage({
message: '请维护仓库基础资料', message: '请维护仓库基础资料',
type: 'warning', type: 'warning',

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

@ -778,9 +778,10 @@
:loading="AbnormalReviewloading" :loading="AbnormalReviewloading"
@inputTxt="inputscReservationPackage" @inputTxt="inputscReservationPackage"
@timeCheck="timescReservationPackage" @timeCheck="timescReservationPackage"
@selectCheck="selectscReservationPackage" @selectCheck="selectAbnormalpackage"
ref="YcwtableBox" ref="YcwtableBox"
@selection="selectionChange" @selection="selectionChange"
:isselectfun="ProhibitSelection"
> >
<template #default="slotProps"> <template #default="slotProps">
<template v-if="slotProps.scope.column.label == '操作'"> <template v-if="slotProps.scope.column.label == '操作'">
@ -801,17 +802,18 @@
</el-text> </el-text>
<el-text <el-text
@click="Canceldelivery(slotProps.scope.row)" @click="Canceldelivery(slotProps.scope.row)"
v-if="slotProps.scope.row.abnormalTypeName == '装车异常'" v-if="slotProps.scope.row.abnormalTypeName == '装车异常'"
>取消</el-text >取消</el-text
> >
</div> </div>
<el-text <el-text
@click="abnormalViewQRcode(2, slotProps.scope.row)" @click="abnormalViewQRcode(2, slotProps.scope.row)"
style="margin-left: 10px" style="margin-left: 10px"
type="primary" type="primary"
text text
v-if="slotProps.scope.row.packageCode"
> >
查看二维码 查看二维码
</el-text> </el-text>
@ -894,6 +896,7 @@ import {
printBatch, printBatch,
$_deliveryZeroPackage, $_deliveryZeroPackage,
$_showInventoryPackgeCode, $_showInventoryPackgeCode,
$_showInventoryPackgeCodes,
$_loadingAbnormalPackageListTurnDown, $_loadingAbnormalPackageListTurnDown,
$_retentionScan, $_retentionScan,
$_cancelLoadingAbnormal, $_cancelLoadingAbnormal,
@ -954,6 +957,7 @@ export default {
], ],
dialogViReject: false, // dialogViReject: false, //
RejectRow: {}, // RejectRow: {}, //
selectAbnormalpackageList: [], //list
yesOrNo: false, yesOrNo: false,
accessControl: '', accessControl: '',
html: '', html: '',
@ -3263,32 +3267,25 @@ export default {
}, },
methods: { methods: {
async abnormalViewQRcode(index, row) { async abnormalViewQRcode(index, row) {
let qr = {}; console.log(row, 'row');
if (index == 1) {
if (!this.selectionList.length) {
ElMessage({
message: `请勾选要查看二维码的数据`,
type: 'warning',
});
return;
}
qr.ids = this.selectionList.map(res => res.packageId).join(',');
} else {
qr.ids = row.packageId;
}
try { try {
if (index == 1 && !this.checkSelection()) return;
const qr = {};
let res = '';
if (index == 1) {
res = await this.handleIndexOne();
} else {
res = await this.handleNotIndexOne(row);
}
this.AbnormalReviewloading = true; this.AbnormalReviewloading = true;
this.html = ''; this.html = '';
const res = await showOrderPackgeCode(qr);
const { code, data } = res.data;
if (code !== 200) return; if (res.data.code !== 200) return;
for (let i = 0; i < data.moldList.length; i++) { this.html = res.data.data.moldList.join('');
const element = data.moldList[i];
this.html += element;
}
this.isShowPrint = true; // this.isShowPrint = true; //
} catch (error) { } catch (error) {
console.log('error :>> ', error); console.log('error :>> ', error);
@ -3296,6 +3293,51 @@ export default {
this.AbnormalReviewloading = false; this.AbnormalReviewloading = false;
} }
}, },
checkSelection() {
if (!this.selectionList.length) {
ElMessage({
message: '请勾选要查看二维码的数据',
type: 'warning',
});
return false;
}
if (!this.isUniformType()) {
ElMessage({
message: '请勾选同一种类型的数据',
type: 'warning',
});
return false;
}
return true;
},
isUniformType() {
const type = this.selectionList[0].goodsTypeName;
return this.selectionList.every(item => item.goodsTypeName === type);
},
async handleIndexOne() {
const qr = {};
if (this.selectionList[0].goodsTypeName === '订制品') {
qr.ids = this.selectionList.map(res => res.packageId).join(',');
return await showOrderPackgeCode(qr);
} else {
qr.orderPackgeCodes = this.selectionList.map(res => res.packageCode).join(',');
return await $_showInventoryPackgeCodes(qr);
}
},
async handleNotIndexOne(row) {
const qr = {};
if (row.goodsTypeName === '库存品') {
qr.orderPackgeCodes = row.packageCode;
return await $_showInventoryPackgeCodes(qr);
} else {
qr.ids = row.packageId;
return await showOrderPackgeCode(qr);
}
},
// //
viewAbnormalLoading(scope) { viewAbnormalLoading(scope) {
console.log(this.$refs.YcwtableBox, '2'); console.log(this.$refs.YcwtableBox, '2');
@ -3304,6 +3346,7 @@ export default {
this.AbnormalReviewloading = true; // this.AbnormalReviewloading = true; //
console.log(scope, 'scope'); console.log(scope, 'scope');
this.abnormalBox = true; this.abnormalBox = true;
this.AbnormalReview.forEach(item => (item.values = ''));
$_newLoadingAbnormalPackageListDetail(scope.signId) $_newLoadingAbnormalPackageListDetail(scope.signId)
.then(res => { .then(res => {
console.log(res, '异常审核查询'); console.log(res, '异常审核查询');
@ -3320,6 +3363,7 @@ export default {
} }
}); });
this.AbnormalReviewData = res.data.data; this.AbnormalReviewData = res.data.data;
this.selectAbnormalpackageList = res.data.data; //
}) })
.catch(res => { .catch(res => {
console.log(res, '关闭加载效果'); console.log(res, '关闭加载效果');
@ -3702,6 +3746,26 @@ export default {
} }
this.getWrapdetails(this.page); this.getWrapdetails(this.page);
}, },
//
selectAbnormalpackage(index, row) {
console.log(index, row);
console.log(index, 'indexxx');
if (!index) {
this.AbnormalReviewData = this.selectAbnormalpackageList;
} else {
this.AbnormalReviewData = this.selectAbnormalpackageList.filter(
item => item[row.prop] == row.values
);
}
},
ProhibitSelection(val, index) {
if (val.packageCode) {
return true;
} else {
return false;
}
},
selectscReservationInventoryPackage(index, row) { selectscReservationInventoryPackage(index, row) {
console.log(index, row); console.log(index, row);
if (row.prop === 'stockSignfoStatusName') { if (row.prop === 'stockSignfoStatusName') {
@ -3758,7 +3822,6 @@ export default {
// }; // };
this.html = ''; this.html = '';
const res = await showInventoryPackgeCode(row.reservationId, row.id); const res = await showInventoryPackgeCode(row.reservationId, row.id);
const { code, data } = res.data; const { code, data } = res.data;
if (code !== 200) return; if (code !== 200) return;
// this.orderPackageCode = res.data // this.orderPackageCode = res.data
@ -3860,12 +3923,15 @@ export default {
BatchcancellationAll() { BatchcancellationAll() {
if (!this.selectionList.length) { if (!this.selectionList.length) {
ElMessage({ ElMessage({
message: '请勾选要取消的数据,【审核状态】必须为待审核,斌且【异常类型】状态只能为装车异常', message:
'请勾选要取消的数据,【审核状态】必须为待审核,斌且【异常类型】状态只能为装车异常',
type: 'warning', type: 'warning',
}); });
return; return;
} }
let _state = this.selectionList.every(item => item.auditingStatusName =='待审核' && item.abnormalTypeName == '装车异常' ); let _state = this.selectionList.every(
item => item.auditingStatusName == '待审核' && item.abnormalTypeName == '装车异常'
);
console.log(_state); console.log(_state);
if (!_state) { if (!_state) {
ElMessage({ ElMessage({

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

@ -124,7 +124,9 @@
<el-col :span="10"> <el-col :span="10">
<el-form-item label="安&emsp;&emsp;装:" prop="serveType" label-width="100px"> <el-form-item label="安&emsp;&emsp;装:" prop="serveType" label-width="100px">
<el-radio-group v-model="form.isInstall" v-for="item in this.whetherData"> <el-radio-group v-model="form.isInstall" v-for="item in this.whetherData">
<el-radio :label="item.dictKey" :value="item.dictKey">{{ item.dictValue }}&emsp; </el-radio> <el-radio :label="item.dictKey" :value="item.dictKey"
>{{ item.dictValue }}&emsp;
</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -297,7 +299,7 @@
<!-- </template> --> <!-- </template> -->
<!-- 零担品类信息 --> <!-- 零担品类信息 -->
<el-dialog v-model="zeroOrderShow" title="零担品类信息" width="80%" :model="zeroOrderData"> <el-dialog v-model="zeroOrderShow" title="零担品类信息" width="60%" :model="zeroOrderData">
<el-row :gutter="24" class="rows"> <el-row :gutter="24" class="rows">
<el-col :xl="4" :lg="7" :md="8" :sm="24"> <el-col :xl="4" :lg="7" :md="8" :sm="24">
<h3> <h3>
@ -307,64 +309,27 @@
</el-row> </el-row>
<template v-if="zeroOrderData != null"> <template v-if="zeroOrderData != null">
<div v-for="(item, index) in zeroOrderData" :key="index"> <el-table :data="zeroOrderData" border style="width: 100%">
<el-row :gutter="24" class="rows"> <el-table-column fixed prop="firsts" label="名称" />
<el-col :xl="2" :lg="4" :md="4" :sm="12"> <el-table-column prop="quantity" label="总数量" />
<span>名称{{ item.firsts }}</span> <el-table-column prop="handQuantity" label="在库数量" />
</el-col> <el-table-column prop="deliveryQuantity" label="冻结数量" />
<el-col :xl="2" :lg="4" :md="4" :sm="12"> <el-table-column prop="outboundQuantity" label="出库数量" />
<span>总数量{{ item.number }} </span> <el-table-column prop="maxPlanNum" label="可用数量" />
</el-col> <el-table-column fixed="right" label="数量操作">
<el-col :xl="2" :lg="4" :md="4" :sm="12"> <template #default="scope">
<span>在库数量{{ item.handQuantity }} </span> <el-input-number
</el-col> size="small"
<el-col :xl="2" :lg="4" :md="4" :sm="12"> v-model="scope.row.reservationNum"
<span>冻结数量{{ item.deliveryQuantity }} </span> :max="scope.row.maxPlanNum"
</el-col> :min="0"
<el-col :xl="2" :lg="4" :md="4" :sm="12"> :value-on-clear="0"
<span>出库数量{{ item.outboundQuantity }} </span> />
</el-col> </template>
<!-- <el-col :xl="4" :lg="7" :md="8" :sm="24"> </el-table-column>
<span </el-table>
>可用数量{{
item.handQuantity - item.deliveryQuantity - item.outboundQuantity
}}</span
>
<span>可用数量{{(item.quantity)}}</span>
</el-col> -->
<el-col :xl="5" :lg="4" :md="4" :sm="12">
<div class="el_sumS">
<span>操作数量</span>
<el-input-number
v-if="this.isrReservationEntry"
v-model="item.reservationNum"
min="0"
:max="item.reservationNum"
placeholder="请输入预约数量"
></el-input-number>
<el-input-number
v-else
v-model="item.number"
min="0"
:max="maxSum"
placeholder="请输入预约数量"
></el-input-number>
</div>
</el-col>
</el-row>
<!-- <el-input-number v-model="item.reservationNum" min="0" :max="item.quantity - item.deliveryQuantity -item.outboundQuantity " placeholder="请输入预约数量"></el-input-number>-->
</div>
</template> </template>
<el-form-item style="margin-left: 37%; margin-top: 5px"> <el-form-item style="margin-left: 37%; margin-top: 5px">
<el-button
v-if="!isrReservationEntry"
type="primary"
icon="el-icon-circle-close"
@click="onSubmitUpdateZeroOrder"
>修改(零担订单)
</el-button>
<el-button type="primary" icon="el-icon-circle-close" @click="onSubmitZeroOrder" <el-button type="primary" icon="el-icon-circle-close" @click="onSubmitZeroOrder"
>提交(零担订单) >提交(零担订单)
</el-button> </el-button>
@ -1922,7 +1887,7 @@ export default {
}, },
// //
form: { form: {
isInstall:'1',// isInstall: '1', //
}, },
// //
selectionList: [], selectionList: [],
@ -2106,15 +2071,13 @@ export default {
async handleAddOrder() { async handleAddOrder() {
this.loading = true; this.loading = true;
this.orderList = [...this.orderData]; this.orderList = [...this.orderData];
this.query={} this.query = {};
this.stockArtcolumnList.forEach(item=>{ this.stockArtcolumnList.forEach(item => {
item.values='' item.values = '';
}) });
// //
await this.onLoadOrder(this.page); await this.onLoadOrder(this.page);
this.loading = false; this.loading = false;
this.orderShow = true; this.orderShow = true;
this.$nextTick(() => { this.$nextTick(() => {
@ -2324,24 +2287,12 @@ export default {
// //
console.log('order------------>', row.id); console.log('order------------>', row.id);
getReservationZeroOrderDetail(this.reservationId, row.id).then(res => { getReservationZeroOrderDetail(this.reservationId, row.id).then(res => {
let a = res.data.data;
a.forEach(item => {
item.zeroOrderMax =
item.handQuantity -
item.deliveryQuantity -
item.outboundQuantity +
item.reservationNum;
});
this.zeroOrderData = res.data.data; this.zeroOrderData = res.data.data;
// console.log(res.data.data); // console.log(res.data.data);
}); });
} else { } else {
getZeroOrderDetail(row.id).then(res => { getZeroOrderDetail(row.id).then(res => {
if (res.data.data != null) { if (res.data.data != null) {
let a = res.data.data;
a.forEach(item => {
item.zeroOrderMax = item.handQuantity - item.deliveryQuantity - item.outboundQuantity;
});
this.zeroOrderData = res.data.data; this.zeroOrderData = res.data.data;
} }
}); });
@ -2661,27 +2612,22 @@ export default {
// this.form.stockArticleList = this.packageList; // this.form.stockArticleList = this.packageList;
console.log('>>>>>>>>', this.form); console.log('>>>>>>>>', this.form);
if (this.reservationId) { if (this.reservationId) {
console.log(this.reservationId,'this.reservationId'); console.log(this.reservationId, 'this.reservationId');
// //
console.log(this.form.stockArticleList,'this.form.stockArticleList'); console.log(this.form.stockArticleList, 'this.form.stockArticleList');
const checkInfoValues = this.form.stockArticleList.every( const checkInfoValues = this.form.stockArticleList.every(
item => !item.reservationNum item => !item.reservationNum
); );
console.log(this.renderInventoryData,'renderInventoryData'); console.log(this.renderInventoryData, 'renderInventoryData');
console.log(this.renderOrderData,'renderOrderData'); console.log(this.renderOrderData, 'renderOrderData');
console.log(checkInfoValues,'checkInfoValues'); console.log(checkInfoValues, 'checkInfoValues');
if (!this.renderInventoryData.length && !this.renderOrderData.length) { if (!this.renderInventoryData.length && !this.renderOrderData.length) {
await ElMessageBox.prompt('当前计划为空是否"取消本次计划"?', '请填写取消原因', {
await ElMessageBox.prompt( confirmButtonText: '确认',
'当前计划为空是否"取消本次计划"?', cancelButtonText: '关闭',
'请填写取消原因', inputPattern: /^\S+$/,
{ inputErrorMessage: '请填写取消原因',
confirmButtonText: '确认', })
cancelButtonText: '关闭',
inputPattern: /^\S+$/,
inputErrorMessage: '请填写取消原因',
}
)
.then(value => { .then(value => {
let data = { let data = {
cancelReason: value.value, cancelReason: value.value,
@ -2708,14 +2654,11 @@ export default {
}) })
.catch(() => { .catch(() => {
console.log('关闭弹窗'); console.log('关闭弹窗');
}); });
return return;
} else { } else {
for (let i = 0; i < this.form.stockArticleList.length; i++) { for (let i = 0; i < this.form.stockArticleList.length; i++) {
if ( if (!this.form.stockArticleList[i].reservationNum) {
!this.form.stockArticleList[i].reservationNum
) {
ElMessageBox.confirm( ElMessageBox.confirm(
`订单自编号:${this.form.stockArticleList[i].orderCode}没有选择包件是否移除!`, `订单自编号:${this.form.stockArticleList[i].orderCode}没有选择包件是否移除!`,
'提示', '提示',
@ -2729,19 +2672,17 @@ export default {
this.renderOrderData.splice(i, 1); this.renderOrderData.splice(i, 1);
this.form.stockArticleList.splice(i, 1); this.form.stockArticleList.splice(i, 1);
}) })
.catch(() => { .catch(() => {});
});
return; return;
} }
} }
} }
// loading // loading
this.loadingObj.submitBtnLoading = true; this.loadingObj.submitBtnLoading = true;
this.reservationloading = true; // this.reservationloading = true; //
this.form.id = this.reservationId; this.form.id = this.reservationId;
console.log(this.form,'this.form'); console.log(this.form, 'this.form');
const res = await update(this.form); const res = await update(this.form);
console.log('res :>> ', res); console.log('res :>> ', res);
if (res.data.code !== 200) return; if (res.data.code !== 200) return;
@ -2751,10 +2692,10 @@ export default {
}); });
this.back(); this.back();
} else { } else {
if (!this.renderInventoryData.length && !this.renderOrderData.length) { if (!this.renderInventoryData.length && !this.renderOrderData.length) {
this.$message.warning('无效计划'); this.$message.warning('无效计划');
return return;
} }
// loading // loading
this.loadingObj.submitBtnLoading = true; this.loadingObj.submitBtnLoading = true;
this.reservationloading = true; // this.reservationloading = true; //
@ -3062,64 +3003,18 @@ export default {
this.zeroOrderShow = false; this.zeroOrderShow = false;
console.log('-------------->', this.zeroOrderData); console.log('-------------->', this.zeroOrderData);
}, },
//
onSubmitZeroOrder() { onSubmitZeroOrder() {
if (this.isrReservationEntry) { let _renderOrderData = this.renderOrderData.find(item => item.id === this.obj.id);
// _renderOrderData.parcelNumberVOS = this.zeroOrderData;
this.orderData.forEach(item => { //
if (this.obj.id === item.id) { let totalReservationNum = this.zeroOrderData.reduce((sum, item) => {
item.parcelNumberVOS = this.zeroOrderData; return sum + (item.reservationNum || 0); // reservationNum
} }, 0);
}); _renderOrderData.reservationNum = totalReservationNum;
} else { this.zeroOrderShow = false; //
//
let a = this.zeroOrderData;
if (a.length > 0) {
let n = 0;
a.forEach(item => {
n += item.number;
});
if (n > this.obj.handQuantity) {
this.$message({
type: 'error',
message: '录入数量超过订单在库数量!',
});
return;
}
let b = a.every(item => {
console.log(
'最大数量-------------->',
item.handQuantity + item.outboundQuantity + item.deliveryQuantity + item.number
);
if (
item.handQuantity + item.outboundQuantity + item.deliveryQuantity + item.number >
item.quantity
) {
return false;
}
return true;
});
console.log('----------------->', b);
if (!b) {
this.$message({
type: 'error',
message: '请输入正确数量!',
});
return;
}
}
entryNum(this.zeroOrderData).then(res => {
if (res) {
this.$message({
type: 'success',
message: '操作成功',
});
}
});
console.log('this.zeroOrderData------------->', this.zeroOrderData);
}
this.zeroOrderShow = false;
}, },
// //
onSubmitInventory() { onSubmitInventory() {
if (this.inventoryList.length === 0) { if (this.inventoryList.length === 0) {
@ -3600,6 +3495,5 @@ input[type='number'] {
span { span {
width: 100px; width: 100px;
} }
} }
</style> </style>

130
src/views/distribution/signfor/distributionSignfortreat.vue

@ -299,6 +299,16 @@
:headers="headers" :headers="headers"
multiple multiple
> >
<template #file="{ file }">
<el-tooltip :content="getTooltipContent(file)" placement="top">
<img
:src="file.url"
alt="photo"
style="width: 100%; height: 100%; cursor: pointer"
/>
</el-tooltip>
</template>
<el-icon><Plus /></el-icon> <el-icon><Plus /></el-icon>
</el-upload> </el-upload>
<el-dialog v-model="dialogVisibleA"> <el-dialog v-model="dialogVisibleA">
@ -321,6 +331,15 @@
:headers="headers" :headers="headers"
multiple multiple
> >
<template #file="{ file }">
<el-tooltip :content="getTooltipContent(file)" placement="top">
<img
:src="file.url"
alt="photo"
style="width: 100%; height: 100%; cursor: pointer"
/>
</el-tooltip>
</template>
<el-icon><Plus /></el-icon> <el-icon><Plus /></el-icon>
</el-upload> </el-upload>
<el-dialog v-model="dialogVisibleB"> <el-dialog v-model="dialogVisibleB">
@ -343,6 +362,15 @@
:headers="headers" :headers="headers"
multiple multiple
> >
<template #file="{ file }">
<el-tooltip :content="getTooltipContent(file)" placement="top">
<img
:src="file.url"
alt="photo"
style="width: 100%; height: 100%; cursor: pointer"
/>
</el-tooltip>
</template>
<el-icon><Plus /></el-icon> <el-icon><Plus /></el-icon>
</el-upload> </el-upload>
<el-dialog v-model="dialogVisibleC"> <el-dialog v-model="dialogVisibleC">
@ -365,6 +393,15 @@
:headers="headers" :headers="headers"
multiple multiple
> >
<template #file="{ file }">
<el-tooltip :content="getTooltipContent(file)" placement="top">
<img
:src="file.url"
alt="photo"
style="width: 100%; height: 100%; cursor: pointer"
/>
</el-tooltip>
</template>
<el-icon><Plus /></el-icon> <el-icon><Plus /></el-icon>
</el-upload> </el-upload>
<el-dialog v-model="dialogVisibleD"> <el-dialog v-model="dialogVisibleD">
@ -387,6 +424,15 @@
:headers="headers" :headers="headers"
multiple multiple
> >
<template #file="{ file }">
<el-tooltip :content="getTooltipContent(file)" placement="top">
<img
:src="file.url"
alt="photo"
style="width: 100%; height: 100%; cursor: pointer"
/>
</el-tooltip>
</template>
<el-icon><Plus /></el-icon> <el-icon><Plus /></el-icon>
</el-upload> </el-upload>
<el-dialog v-model="dialogVisibleE"> <el-dialog v-model="dialogVisibleE">
@ -2146,6 +2192,10 @@ export default {
this.signform = row; this.signform = row;
this.signBox = true; this.signBox = true;
getDetail(row.id).then(res => { getDetail(row.id).then(res => {
if (res.data.code !== 200) {
return;
}
console.log(res, '点击复核的返回值=='); console.log(res, '点击复核的返回值==');
this.form = res.data.data; this.form = res.data.data;
this.TcForm = res.data.data; this.TcForm = res.data.data;
@ -2155,24 +2205,64 @@ export default {
this.FragilePhotos = []; this.FragilePhotos = [];
this.HomePhotos = []; this.HomePhotos = [];
this.SignForPhotos = []; this.SignForPhotos = [];
if (res.data.data.printVOList.length) { if (res.data.data?.printVOList.length) {
res.data.data.printVOList.forEach(item => { const { printVOList } = res.data.data;
if (item.type == 'photo_1') { const photoTypeMap = {
this.DoorstepPhoto.push({ name: item.name, url: item.urlRoute }); photo_1: 'DoorstepPhoto',
} photo_2: 'StackingPhoto',
if (item.type == 'photo_2') { photo_3: 'FragilePhotos',
this.StackingPhoto.push({ name: item.name, url: item.urlRoute }); photo_4: 'HomePhotos',
} photo_5: 'SignForPhotos',
if (item.type == 'photo_3') { };
this.FragilePhotos.push({ name: item.name, url: item.urlRoute }); if (printVOList.length) {
} printVOList.forEach(item => {
if (item.type == 'photo_4') { const listName = photoTypeMap[item.type];
this.HomePhotos.push({ name: item.name, url: item.urlRoute }); if (listName) {
} this[listName].push({
if (item.type == 'photo_5') { name: item.name,
this.SignForPhotos.push({ name: item.name, url: item.urlRoute }); url: item.urlRoute,
} driverName: item.driverName,
}); });
}
});
}
// res.data.data.printVOList.forEach(item => {
// if (item.type == 'photo_1') {
// this.DoorstepPhoto.push({
// name: item.name,
// url: item.urlRoute,
// driverName: item.driverName,
// });
// }
// if (item.type == 'photo_2') {
// this.StackingPhoto.push({
// name: item.name,
// url: item.urlRoute,
// driverName: item.driverName,
// });
// }
// if (item.type == 'photo_3') {
// this.FragilePhotos.push({
// name: item.name,
// url: item.urlRoute,
// driverName: item.driverName,
// });
// }
// if (item.type == 'photo_4') {
// this.HomePhotos.push({
// name: item.name,
// url: item.urlRoute,
// driverName: item.driverName,
// });
// }
// if (item.type == 'photo_5') {
// this.SignForPhotos.push({
// name: item.name,
// url: item.urlRoute,
// driverName: item.driverName,
// });
// }
// });
} }
}); });
}, },
@ -2245,6 +2335,10 @@ export default {
}, },
}); });
}, },
getTooltipContent(file) {
console.log(file, 'file');
return `该图片由${file.driverName || '文员'}上传`;
},
btnsc(index, row) { btnsc(index, row) {
console.log(index, row); console.log(index, row);
}, },

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

@ -534,49 +534,25 @@
> >
<el-table :data="isZeroTable" border style="width: 100%"> <el-table :data="isZeroTable" border style="width: 100%">
<el-table-column fixed prop="firsts" label="名称" /> <el-table-column fixed prop="firsts" label="名称" />
<el-table-column prop="number" label="数量" /> <el-table-column prop="quantity" label="数量" />
<el-table-column prop="handQuantity" label="在库数量" /> <el-table-column prop="handQuantity" label="在库数量" />
<el-table-column prop="deliveryQuantity" label="冻结数量" /> <el-table-column prop="deliveryQuantity" label="冻结数量" />
<el-table-column prop="outboundQuantity" label="出库数量" /> <el-table-column prop="outboundQuantity" label="出库数量" />
<!-- <el-table-column label="可用数量"> <el-table-column prop="maxPlanNum" label="可用数量" />
<template #default="props">
<span>
{{
props.row.handQuantity - props.row.deliveryQuantity - props.row.outboundQuantity
}}</span
>
</template>
</el-table-column> -->
<!-- 在库=冻结-出库 -->
<el-table-column fixed="right" label="数量操作"> <el-table-column fixed="right" label="数量操作">
<template #default="scope"> <template #default="scope">
<el-input-number <el-input-number
v-if="!QuantityEntryStatus"
size="small"
v-model="scope.row.number"
:value-on-clear="0"
@change="isZeroNumber(scope.row)"
/>
<el-input-number
v-else
size="small" size="small"
:max="MaxSUM"
:min="0"
v-model="scope.row.reservationNum" v-model="scope.row.reservationNum"
@change="isZeroNumber(scope.row)" :max="scope.row.maxPlanNum"
:min="0"
:value-on-clear="0" :value-on-clear="0"
/> />
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="isZel-btn"> <div class="isZel-btn">
<el-button v-if="!QuantityEntryStatus" color="#172e60" type="success" @click="ModifyLCL" <el-button color="#172e60" type="success" @click="SubmitLoad">提交(零担订单)</el-button>
>修改(零担订单)</el-button
>
<el-button v-else color="#172e60" type="success" @click="SubmitLoad"
>提交(零担订单)</el-button
>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
@ -1377,9 +1353,9 @@ const submit = () => {
// //
dataInfo.value = removeDuplicates(dataInfo.value); dataInfo.value = removeDuplicates(dataInfo.value);
dataInfo.value.forEach(item=>{ dataInfo.value.forEach(item => {
item.Plannedquantity = item.reservationNum item.Plannedquantity = item.reservationNum;
}) });
console.log(dataInfo.value, ' dataInfo.value'); console.log(dataInfo.value, ' dataInfo.value');
// //
@ -1791,79 +1767,13 @@ const ModifyLCL = () => {
}; };
// //
const SubmitLoad = () => { const SubmitLoad = () => {
// //
// QuantityEntryStatus let totalReservationNum = isZeroTable.value.reduce((sum, item) => {
return sum + (item.reservationNum || 0);
let sum = 0; // }, 0);
let Numberoperations = 0;
isZeroTable.value.forEach(item => {
sum += item.deliveryQuantity;
Numberoperations += item.reservationNum;
});
let max = dataInfo.value[dataId.value].handQuantity - sum;
console.log(dataInfo.value, ' dataInfo.value[');
if (Numberoperations > max) {
ElMessage({
message: '操作数量总和不能大于冻结数量总和',
type: 'warning',
});
return;
}
if (QuantityEntryStatus.value) {
// if (RouteId.value) {
// for (let item of isZeroTable.value) {
// if (
// item.reservationNum >
// item.handQuantity - item.deliveryQuantity - item.outboundQuantity
// ) {
// ElMessage({
// message: item.firsts + item.reservationNum + '::',
// type: 'warning',
// });
// return;
// }
// }
// }
// console.log(dataInfo.value[dataId.value], '');
} else {
// +
// for (const item of isZeroTable.value) {
// if (item.number < item.deliveryQuantity + item.outboundQuantity) {
// ElMessage({
// message: item.firsts + '::+',
// type: 'warning',
// });
// return;
// }
// }
//
// for (const item of isZeroTable.value) {
// if (item.handQuantity + item.number > item.quantity) {
// ElMessage({
// message: item.firsts + '::(+)>',
// type: 'warning',
// });
// return;
// }
// }
entryNum(isZeroTable.value).then(res => {
console.log(res, '提交零担');
console.log(isZeroTable.value, '提交零担的值');
});
}
dataInfo.value[dataId.value].reservationNum = totalReservationNum;
dataInfo.value[dataId.value].parcelNumberVOS = isZeroTable.value; dataInfo.value[dataId.value].parcelNumberVOS = isZeroTable.value;
//
let _summation = 0;
dataInfo.value[0].parcelNumberVOS.forEach(item => {
_summation += item.reservationNum;
});
dataInfo.value[dataId.value].reservationNum = _summation;
comprehensive.value = false; // comprehensive.value = false; //
EnteringLibrary.value = false; // EnteringLibrary.value = false; //
QuantityEntryStatus.value = false; // QuantityEntryStatus.value = false; //

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

@ -147,7 +147,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="24"> <el-col :span="24">
<el-form-item label="服务类型" prop="serviceType"> <el-form-item label="服务类型" prop="serviceType">
<el-radio-group <el-radio-group
v-model="form.serviceType" v-model="form.serviceType"
@ -159,7 +159,7 @@
}}</el-radio> }}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> --> </el-col>
</el-form> </el-form>
</el-row> </el-row>
<el-row> <el-row>
@ -496,7 +496,6 @@ export default {
}, },
// //
form: { form: {
// serviceType: null,
}, },
formDetail: {}, formDetail: {},
// //
@ -1003,7 +1002,14 @@ export default {
getDictionaryBiz('distribution_type').then(res => { getDictionaryBiz('distribution_type').then(res => {
// console.log("...",res.data.data); // console.log("...",res.data.data);
this.distributionType = []; this.distributionType = [];
this.distributionType = res.data.data; this.distributionType= res.data.data.map(item=>{
if(item.dictKey=='2'){
console.log(item,'item==???/');
return item
}
})
this.form.serviceType='2'
// this.distributionType
}); });
getDictionaryBiz('logpm_unit').then(res => { getDictionaryBiz('logpm_unit').then(res => {
// console.log("...",res.data.data); // console.log("...",res.data.data);

Loading…
Cancel
Save