Browse Source

商配计划车辆司机搜索,已签订单,修复若干bug

pre-production
马远东 1 year ago
parent
commit
b4af907700
  1. 9
      src/api/distribution/disStockListDetail.js
  2. 22
      src/option/warehouse/distributionStockArticle.js
  3. 1
      src/views/aftersales/aftersalesWorkOrderAdd.vue
  4. 61
      src/views/distribution/reservation/reservationAddFrom.vue
  5. 181
      src/views/distribution/stockup/distributionStockupDetailsSelf.vue
  6. 1
      src/views/distribution/stockup/distributionStockupSelf.vue
  7. 186
      src/views/distribution/turndelivery/deliveryDiscuss.vue
  8. 20
      src/views/warehouse/parcelList/distributionParcelList.vue
  9. 186
      src/views/warehouse/warehousesignedorder/distributionStockArticle.vue

9
src/api/distribution/disStockListDetail.js

@ -21,7 +21,14 @@ export const getDisStockList = (params) => {
} }
}) })
} }
// 库存品查看详情
export const $_detailOwnSelfInventoryDetail = (params) => {
return request({
url: '/api/logpm-distribution/distributionStockup/detailOwnSelfInventoryDetail',
method: 'get',
params,
})
}
/** /**
* 库存品打印模板 * 库存品打印模板
* @param params * @param params

22
src/option/warehouse/distributionStockArticle.js

@ -11,7 +11,7 @@ export const columnList = [
label: '序号', label: '序号',
type: 12, type: 12,
values: '', values: '',
width: 55, width:80,
fixed: true, fixed: true,
}, },
{ {
@ -39,9 +39,9 @@ export const columnList = [
{ {
prop: 'orderCode', prop: 'orderCode',
label: '订单自编号', label: '订单自编号',
type: 2, type: 13,
values: '', values: '',
width: '150', width: '280',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -140,9 +140,9 @@ export const columnList = [
{ {
prop: 'earliestWarehouseEntryTime', prop: 'earliestWarehouseEntryTime',
label: '首次入库时间', label: '首次入库时间',
type: 2, type: 4,
values: '', values: '',
width: '150', width: '180',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -153,7 +153,7 @@ export const columnList = [
label: '最新入库时间', label: '最新入库时间',
type: 4, type: 4,
values: '', values: '',
width: '150', width: '180',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -195,7 +195,7 @@ export const columnList = [
{ {
prop: 'orderStatusName', prop: 'orderStatusName',
label: '订单状态', label: '订单状态',
type: 2, type: 1,
values: '', values: '',
width: '150', width: '150',
checkarr: [], checkarr: [],
@ -206,7 +206,7 @@ export const columnList = [
{ {
prop: 'orderReservationStatusName', prop: 'orderReservationStatusName',
label: '预约状态', label: '预约状态',
type: 2, type: 1,
values: '', values: '',
width: '150', width: '150',
checkarr: [], checkarr: [],
@ -217,7 +217,7 @@ export const columnList = [
{ {
prop: 'reservationInfo', prop: 'reservationInfo',
label: '预约信息', label: '预约信息',
type: 2, type: 13,
values: '', values: '',
width: '150', width: '150',
checkarr: [], checkarr: [],
@ -307,7 +307,7 @@ export const columnList = [
{ {
prop: 'createTime', prop: 'createTime',
label: '创建时间', label: '创建时间',
type: 4, type: 1,
values: '', values: '',
width: '150', width: '150',
checkarr: [], checkarr: [],
@ -318,7 +318,7 @@ export const columnList = [
{ {
prop: 'createUserName', prop: 'createUserName',
label: '创建人', label: '创建人',
type: 2, type: 1,
values: '', values: '',
width: '150', width: '150',
checkarr: [], checkarr: [],

1
src/views/aftersales/aftersalesWorkOrderAdd.vue

@ -1483,7 +1483,6 @@ const ConfirmForm = () => {
delete DataSubmit.processor; // delete DataSubmit.processor; //
console.log(DataSubmit, '处理好的数据'); console.log(DataSubmit, '处理好的数据');
// stringify // stringify
return;
Addloading.value = true; // Addloading.value = true; //
$_submit(DataSubmit) $_submit(DataSubmit)
.then(res => { .then(res => {

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

@ -124,8 +124,8 @@
</el-row> </el-row>
</el-form> </el-form>
<el-tabs type="border-card" @tab-click="handleClick"> <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
<el-tab-pane label="订单"> <el-tab-pane name='orderTab' label="订单">
<el-button class="el-btn-xz" type="primary" link @click="handleAddOrder"> </el-button> <el-button class="el-btn-xz" type="primary" link @click="handleAddOrder"> </el-button>
<tablecmt <tablecmt
class="tablesc" class="tablesc"
@ -174,7 +174,7 @@
</tablecmt> </tablecmt>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="库存品"> <el-tab-pane name='InventoryTab' label="库存品">
<el-button class="el-btn-xz" link @click="handleAddInventory"> </el-button> <el-button class="el-btn-xz" link @click="handleAddInventory"> </el-button>
<tablecmt <tablecmt
class="tablesc" class="tablesc"
@ -497,18 +497,18 @@ import {
} from '@/api/distribution/distributionStockArticle'; } from '@/api/distribution/distributionStockArticle';
import { getDetailDelivery } from '@/api/distribution/distributionDelivery'; import { getDetailDelivery } from '@/api/distribution/distributionDelivery';
import { getInventoryList, selectInventoryDetail } from '@/api/distribution/distributionStockList'; import { getInventoryList, selectInventoryDetail } from '@/api/distribution/distributionStockList';
import { ElMessage } from 'element-plus';
import option from '@/option/distribution/distributionStockArticle'; import option from '@/option/distribution/distributionStockArticle';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import { getDictionaryBiz } from '@/api/system/dict'; import { getDictionaryBiz } from '@/api/system/dict';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import { entryNum, updateEntryNum } from '@/api/distribution/distributionParcelNumber'; import { entryNum, updateEntryNum } from '@/api/distribution/distributionParcelNumber';
import { setNodeHeight, removeZeroWidth } from '@/utils/util.js'; import { setNodeHeight, removeZeroWidth } from '@/utils/util.js';
import { ElMessage, ElMessageBox } from 'element-plus'
export default { export default {
name: '/distribution/reservation/reservationAddFrom', name: '/distribution/reservation/reservationAddFrom',
data() { data() {
return { return {
activeName:'orderTab',
Inventoryloading: true, // Inventoryloading: true, //
packageQuery: {}, packageQuery: {},
reservationloading: false, reservationloading: false,
@ -2011,7 +2011,7 @@ export default {
}, },
mounted() { mounted() {
this.init(); this.init();
this.Copyfrom= JSON.parse(JSON.stringify(this.form))
this.onLoad(this.page); this.onLoad(this.page);
this.getDictionary(); this.getDictionary();
@ -2531,9 +2531,8 @@ export default {
this.$store.commit('DEL_TAG_CURRENT'); this.$store.commit('DEL_TAG_CURRENT');
}, },
// //
onSubmit(formEl) { async onSubmit(formEl) {
// if (!formEl) return; this.$refs.ruleForm.validate(async valid => {
this.$refs.ruleForm.validate(async valid => {
if (valid) { if (valid) {
console.log('submit!'); console.log('submit!');
try { try {
@ -2646,17 +2645,52 @@ export default {
message: '操作成功!', message: '操作成功!',
}); });
this.back(); this.back();
} else { } else {
this.form.reservationStatus = '20'; this.form.reservationStatus = '20';
const res = await autonomouslySave(this.form); const res = await autonomouslySave(this.form);
console.log('res :>> ', res); console.log('res :>> ', res);
if (res.data.code !== 200) return; if (res.data.code !== 200) return;
ElMessageBox.confirm(
this.$message({ '当前预约已完成,是否继续添加预约?',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
)
.then(() => {
this.form=this.Copyfrom
this.Copyfrom= JSON.parse(JSON.stringify(this.form))
this.$refs.ruleForm.resetFields(); //
this.renderOrderData=[]//
this.serveType=[];//
this.renderInventoryData=[]//
this.orderList=[]
this.orderData = []
this.packageListInfo=[]
this.stockArticleInfo=[]
this.inventoryDat= []
this.inventoryData=[]
this.inventoryList=[]
delete this.query.marketName
this.marketName=''
this.activeName='orderTab',
console.log(this.orderList,'');
})
.catch(() => {
this.$message({
type: 'success', type: 'success',
message: '操作成功!', message: '操作成功!',
}); });
this.back(); this.back();
})
// this.$message({
// type: 'success',
// message: '!',
// });
// this.back();
} }
} catch (error) { } catch (error) {
console.log('error :>> ', error); console.log('error :>> ', error);
@ -3274,6 +3308,7 @@ export default {
if (code !== 200) return; if (code !== 200) return;
console.log('this.orderList',this.orderList)
const _chooseArr = [...this.orderList]; const _chooseArr = [...this.orderList];
this.stockArticleInfo = records; this.stockArticleInfo = records;

181
src/views/distribution/stockup/distributionStockupDetailsSelf.vue

@ -74,6 +74,7 @@
> >
<el-tab-pane label="自提列表" name="reservation"> <el-tab-pane label="自提列表" name="reservation">
<tablecmt <tablecmt
class="tableNode"
:columnList="columnList1" :columnList="columnList1"
:tableData="data3" :tableData="data3"
:loading="loading" :loading="loading"
@ -105,6 +106,7 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="订单列表" name="library"> <el-tab-pane label="订单列表" name="library">
<tablecmt <tablecmt
class="tableNode"
:columnList="columnList2" :columnList="columnList2"
:tableData="dataPare" :tableData="dataPare"
:loading="loading" :loading="loading"
@ -139,6 +141,7 @@
>备货</el-button >备货</el-button
> >
<tablecmt <tablecmt
class="tableNode"
:columnList="columnList3" :columnList="columnList3"
:tableData="data1" :tableData="data1"
:loading="loading" :loading="loading"
@ -183,6 +186,7 @@
<el-tab-pane label="库存品" name="enter"> <el-tab-pane label="库存品" name="enter">
<el-button @click="handleBatchDetail1('2')">批量打印</el-button> <el-button @click="handleBatchDetail1('2')">批量打印</el-button>
<tablecmt <tablecmt
class="tableNode"
:columnList="columnList4" :columnList="columnList4"
:tableData="data2" :tableData="data2"
:loading="loading" :loading="loading"
@ -198,8 +202,19 @@
@click="onDetail(slotProps.scope.row)" @click="onDetail(slotProps.scope.row)"
>明细</el-text >明细</el-text
> >
<template v-if="slotProps.scope.column.label === '操作'">
<el-text
@click="Inventorydetails(slotProps.scope.row)"
>查看详情</el-text
>
</template>
<!-- <el-text size="small" @click="editsolt(slotProps.scope)"> </el-text> --> <!-- <el-text size="small" @click="editsolt(slotProps.scope)"> </el-text> -->
</template> </template>
</tablecmt> </tablecmt>
<div class="avue-crud__pagination" style="width: 100%"> <div class="avue-crud__pagination" style="width: 100%">
<!-- 分页模块 --> <!-- 分页模块 -->
@ -259,6 +274,7 @@
> >
<tablecmt <tablecmt
class="tableNode"
:columnList="columnInventoryBatch" :columnList="columnInventoryBatch"
:tableData="packageCodeList" :tableData="packageCodeList"
:loading="loading" :loading="loading"
@ -354,6 +370,36 @@
</template> </template>
</el-dialog> </el-dialog>
</div> </div>
<!-- 库存品查看详情 -->
<el-dialog
v-model="dialogInventory"
title="详情"
width="60%"
>
<tablecmt
class="tableNodeS"
:columnList="TccolumnInventory"
:tableData="TccolumnInventoryData"
:loading="TcloadingInventory"
@inputTxt="inputsc"
@timeCheck="timesc"
@btnCheck="btnsc"
@selectCheck="selectsc"
@selection="selectionChange"
>
<template #default="slotProps">
</template>
</tablecmt>
<template #footer>
<div class="dialog-footer">
<el-button @click="dialogInventory = false">关闭</el-button>
</div>
</template>
</el-dialog>
</basic-container> </basic-container>
</template> </template>
@ -374,10 +420,11 @@ import {
getListUser, getListUser,
} from '@/api/distribution/distributionStockup'; } from '@/api/distribution/distributionStockup';
import option from '@/option/distribution/distributionStockup'; import option from '@/option/distribution/distributionStockup';
import { setNodeHeight } from '@/utils/util';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import { getDictionaryBiz } from '@/api/system/dict'; import { getDictionaryBiz } from '@/api/system/dict';
import { getParcelListOwn, getParcelListOwnSelf } from '@/api/distribution/distributionParcelList'; import { getParcelListOwn, getParcelListOwnSelf } from '@/api/distribution/distributionParcelList';
import { getDisStockList, getPrintDetail } from '@/api/distribution/disStockListDetail'; import { getDisStockList, getPrintDetail,$_detailOwnSelfInventoryDetail } from '@/api/distribution/disStockListDetail';
import { stockUp } from '@/api/basicdata/basicdataGoodsArea'; import { stockUp } from '@/api/basicdata/basicdataGoodsArea';
import { getStockDetail } from '@/api/distribution/distributionStock'; import { getStockDetail } from '@/api/distribution/distributionStock';
import { getStockTemplate, showOrderPackgeCode } from '@/api/distribution/distributionStockArticle'; import { getStockTemplate, showOrderPackgeCode } from '@/api/distribution/distributionStockArticle';
@ -389,11 +436,97 @@ export default {
data() { data() {
return { return {
html: '', // html: '', //
Inventoryform:{},
dialogInventory:false,//
dialogVisible: false, // dialogVisible: false, //
dialogPack: false, // dialogPack: false, //
height: 0, height: 0,
TcloadingInventory:false,
activeName: 'reservation', activeName: 'reservation',
packageCodeList: [], packageCodeList: [],
TccolumnInventoryData:[],
TccolumnInventory:[
{
prop: 'pickupBatch',
label: '自提批次号',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: true,
sortable: true,
head: false,
},
{
prop: 'reservationTime',
label: '计划创建时间',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: true,
sortable: true,
head: false,
},
{
prop: 'codeCreatedTime',
label: '二维码生成时间',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: true,
sortable: true,
head: false,
},
{
prop: 'stockScanTime',
label: '备货扫描时间',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: true,
sortable: true,
head: false,
},
{
prop: 'descriptionGoods',
label: '物料名称',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: true,
sortable: true,
head: false,
},
{
prop: 'stockPackageCode',
label: '包条码',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: true,
sortable: true,
head: false,
},
{
prop: 'qrCode',
label: '下架库位',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: true,
sortable: true,
head: false,
},
],
columnInventoryBatch: [ columnInventoryBatch: [
{ {
prop: '', prop: '',
@ -1474,6 +1607,38 @@ export default {
this.packageCodeList = s; this.packageCodeList = s;
}); });
}, },
heightTC(){
const _node = document.querySelectorAll('.tableNode');
setNodeHeight(_node, '', true);
},
//
Inventorydetails(val){
this.TcloadingInventory=true
console.log(val,'val');
this.Inventoryform={}
this.dialogInventory=true;//
let data={
billLadingId:val.billLadingId,
stockListId:val.stockListId,
}
if(this.$route.query.type==3){
$_detailOwnSelfInventoryDetail(data).then(res=>{
console.log(res,'库存品详情');
if(res.data.code == 200){
this.TccolumnInventoryData=res.data.data
}else{
this.TccolumnInventoryData=[]
}
const _node = document.querySelector('.tableNodeS');
setNodeHeight(_node, '', true);
this.TcloadingInventory=false;
})
}
},
// //
printTemplate() { printTemplate() {
// const orderNodeList = document.querySelectorAll('.el-dialog__body>div>div>div'); // const orderNodeList = document.querySelectorAll('.el-dialog__body>div>div>div');
@ -1589,20 +1754,22 @@ export default {
this.goodsAreaIdData = fo; this.goodsAreaIdData = fo;
}); });
}, },
handleClick(tab, event) { async handleClick(tab, event) {
console.log(tab, event); console.log(tab, event);
console.log(tab.props.name); console.log(tab.props.name);
this.leibiao = tab.props.name; this.leibiao = tab.props.name;
if (this.leibiao == 'library') { if (this.leibiao == 'library') {
// //
this.getOrderList(this.page); await this.getOrderList(this.page);
} else if (this.leibiao == 'outbound') { } else if (this.leibiao == 'outbound') {
// //
this.getStockUpParcelsList(this.page1); await this.getStockUpParcelsList(this.page1);
} else if (this.leibiao == 'enter') { } else if (this.leibiao == 'enter') {
// //
this.getInventoryList(this.page2); await this.getInventoryList(this.page2);
} }
this.heightTC()
}, },
init() { init() {
this.height = this.setPx(document.body.clientHeight - 570); this.height = this.setPx(document.body.clientHeight - 570);
@ -1839,6 +2006,7 @@ export default {
this.loading = false; this.loading = false;
this.billStockListPage(page); this.billStockListPage(page);
this.heightTC()
}); });
}, },
@ -1916,6 +2084,7 @@ export default {
this.page1.total = a.data.data.total; this.page1.total = a.data.data.total;
this.loading = false; this.loading = false;
this.selectionClear(); this.selectionClear();
this.heightTC()
}, },
// //
async getOrderList(page) { async getOrderList(page) {
@ -1934,6 +2103,7 @@ export default {
this.page.total = a.data.data.total; this.page.total = a.data.data.total;
this.loading = false; this.loading = false;
this.selectionClear(); this.selectionClear();
this.heightTC()
}, },
// //
async getInventoryList(page) { async getInventoryList(page) {
@ -1952,6 +2122,7 @@ export default {
this.page2.total = a.data.data.total; this.page2.total = a.data.data.total;
this.loading = false; this.loading = false;
this.selectionClear(); this.selectionClear();
this.heightTC()
}, },
// //
getOwnServer(row, name, list) { getOwnServer(row, name, list) {

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

@ -1000,6 +1000,7 @@ export default {
query: { query: {
id: row.row.id, id: row.row.id,
name: '备货明细', name: '备货明细',
type:'3'
}, },
}); });
}, },

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

@ -15,13 +15,19 @@
:model="StockInfo" :model="StockInfo"
v-if="kind" v-if="kind"
> >
<div class="leftInfo"> <div class="leftInfo el_sj" >
<el-form-item label="配送司机"> <el-form-item label="配送司机">
<el-input class="el_msj" @change='SjCxChange' clearable v-model="sjInput" placeholder="请输入要查询的司机" />
<el-select <el-select
v-model="StockInfo.Sj" v-model="StockInfo.Sj"
placeholder="请选择司机信息" placeholder="请选择司机信息"
multiple multiple
@change="SJchangeSelect" @change="SJchangeSelect"
ref='sjSelect'
remote
:loading='sjloading'
loading-text='正在加载中'
> >
<el-option-group <el-option-group
v-for="group in StockInfo.DriverInformation" v-for="group in StockInfo.DriverInformation"
@ -39,11 +45,15 @@
</el-form-item> </el-form-item>
<el-form-item label="配送车辆"> <el-form-item label="配送车辆">
<el-input class="el_mcl" @change='CLCxChange' clearable v-model="clInput" placeholder="请输入要查询的车辆" />
<el-select <el-select
v-model="StockInfo.Cl" v-model="StockInfo.Cl"
placeholder="请选择配送车辆" placeholder="请选择配送车辆"
multiple multiple
@change="CLchangeSelect" @change="CLchangeSelect"
:loading='clloading'
loading-text='正在加载中'
ref='clSelect'
> >
<el-option-group <el-option-group
v-for="group in StockInfo.VehicleInformation" v-for="group in StockInfo.VehicleInformation"
@ -673,10 +683,13 @@ import { updateEntryNum, entryNum } from '@/api/distribution/distributionParcelN
import { deepClone } from '@/utils/util.js'; import { deepClone } from '@/utils/util.js';
const route = useRoute(); const route = useRoute();
const router = useRouter(); const router = useRouter();
// vuex // vuex
const StockInfoCopy=ref({})//
const $store = useStore(); const $store = useStore();
console.log($store, '仓库'); console.log($store, '仓库');
const sjInput=ref('');//
const clInput=ref('');//
// //
const numTab = ref([ const numTab = ref([
{ {
@ -689,6 +702,8 @@ const numTab = ref([
}, },
]); ]);
const num = ref(null); // const num = ref(null); //
const sjSelect=ref(null)
const clSelect=ref(null)
const Totalnumberoforders = ref(0); // const Totalnumberoforders = ref(0); //
const Totalnumberofitemsinstock = ref(0); // const Totalnumberofitemsinstock = ref(0); //
const kind = ref(true); // const kind = ref(true); //
@ -753,6 +768,8 @@ const inputValue = ref('number'); //零担输入的值
const dataInfoID = ref(); //ID const dataInfoID = ref(); //ID
/** 编辑时, 初始化司机信息 */ /** 编辑时, 初始化司机信息 */
const chooseDriverIds = ref([]); const chooseDriverIds = ref([]);
const sjloading=ref(true)
const clloading=ref(true)
/** 编辑时, 初始化车辆信息 */ /** 编辑时, 初始化车辆信息 */
const chooseCarIds = ref([]); const chooseCarIds = ref([]);
@ -760,6 +777,9 @@ const chooseCarIds = ref([]);
// //
// //
// radio1 // radio1
const DriverInformationCopy=ref([]);//
const VehicleInformationCopy=ref([]);//
const StockInfo = ref({ const StockInfo = ref({
createDate: new Date(), // createDate: new Date(), //
radio: 1, radio: 1,
@ -798,6 +818,49 @@ const StockInfo = ref({
TemporaryDriver: [], // TemporaryDriver: [], //
TemporaryVehicles: [], // TemporaryVehicles: [], //
}); });
//
const SjCxChange = () => {
if (sjInput.value) {
console.log(sjInput.value, '查询的司机');
console.log(StockInfo.value, '司机');
StockInfo.value.DriverInformation[1].options = StockInfo.value.DriverInformation[1].options.filter(res => res.name.includes(sjInput.value));
console.log(sjSelect.value, 'sjSelect.value');
} else {
StockInfo.value.DriverInformation[1].options = DriverInformationCopy.value;
}
sjSelect.value[0].visible = true; //
}
//
const CLCxChange = () => {
if (clInput.value) {
console.log(clInput.value, '查询的车牌');
console.log(StockInfo.value, '车辆信息');
StockInfo.value.VehicleInformation[1].options = StockInfo.value.VehicleInformation[1].options.filter(res => res.vehicleNub.includes(clInput.value));
} else {
StockInfo.value.VehicleInformation[1].options = VehicleInformationCopy.value;
}
clSelect.value[0].visible = true; //
}
function deepCopy(obj) {
if (obj === null || typeof obj !== 'object') {
return obj;
}
//
const copy = Array.isArray(obj) ? [] : {};
//
for (let key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
copy[key] = deepCopy(obj[key]);
}
}
return copy;
}
const selectable = (row, index) => { const selectable = (row, index) => {
// row.orderPackageReservationStatusName == '' || // row.orderPackageReservationStatusName == '' ||
@ -807,6 +870,7 @@ const selectable = (row, index) => {
return true; // return true; //
} }
}; };
const DataSubmitCopy=ref({})
// //
const DataSubmit = ref({ const DataSubmit = ref({
allocationInfo: [ allocationInfo: [
@ -871,19 +935,31 @@ const btnClass = type => {
// //
async function Info() { async function Info() {
// //
getVehicleList().then(res => { await getVehicleList().then(res => {
console.log(res, '车辆信息'); console.log(res, '车辆信息');
StockInfo.value.VehicleInformation[1].options = res.data.data; StockInfo.value.VehicleInformation[1].options = res.data.data;
vehicle.value = res.data.data; // 使 vehicle.value = res.data.data; // 使
VehicleInformationCopy.value = res.data.data; //
console.log(StockInfo.value.VehicleInformation, 'StockInfo.VehicleInformation'); console.log(StockInfo.value.VehicleInformation, 'StockInfo.VehicleInformation');
}).catch(()=>{
}).finally(()=>{
clloading.value=false
}); });
// //
getDriverList().then(res => { await getDriverList().then(res => {
console.log(res, '司机信息'); console.log(res, '司机信息');
// StockInfo.value.DriverInformation = res.data.data; // StockInfo.value.DriverInformation = res.data.data;
StockInfo.value.DriverInformation[1].options = res.data.data; StockInfo.value.DriverInformation[1].options = res.data.data;
DriverInformationCopy.value=res.data.data;//
driver.value = res.data.data; // 使 driver.value = res.data.data; // 使
console.log(StockInfo.value.DriverInformation, '全部司机信息'); console.log(StockInfo.value.DriverInformation, '全部司机信息');
}).catch(()=>{
}).finally(()=>{
sjloading.value=false
}); });
// //
await getListUser().then(res => { await getListUser().then(res => {
@ -903,7 +979,7 @@ async function Info() {
StockInfo.value.StockPersonnel = data; StockInfo.value.StockPersonnel = data;
}); });
// //
$_stockUpInfo({ await $_stockUpInfo({
params: deptId.value, params: deptId.value,
}).then(res => { }).then(res => {
console.log(res, '备货区域'); console.log(res, '备货区域');
@ -911,16 +987,23 @@ async function Info() {
console.log(StockInfo.value.StockUpArea, ' StockInfo.value.StockUpArea'); console.log(StockInfo.value.StockUpArea, ' StockInfo.value.StockUpArea');
}); });
// //
getListTeamInfo(deptId.value).then(res => { await getListTeamInfo(deptId.value).then(res => {
console.log(res.data.data, '装卸班组'); console.log(res.data.data, '装卸班组');
StockInfo.value.UnloadingTeam = res.data.data; // StockInfo.value.UnloadingTeam = res.data.data; //
StockInfo.value.LoadingTeam = res.data.data; // StockInfo.value.LoadingTeam = res.data.data; //
}); });
// - // -
getDictionaryBiz('tripartite_source').then(res => { await getDictionaryBiz('tripartite_source').then(res => {
StockInfo.value.OutsourcingSources = res.data.data; StockInfo.value.OutsourcingSources = res.data.data;
console.log(StockInfo.value.OutsourcingSources, '外协来源'); console.log(StockInfo.value.OutsourcingSources, '外协来源');
}); });
StockInfoCopy.value = deepCopy(StockInfo.value);
console.log(StockInfoCopy.value,'StockInfoCopy.value123');
DataSubmitCopy.value= deepCopy(DataSubmit.value);
} }
// //
const tabClick = val => { const tabClick = val => {
@ -1036,7 +1119,7 @@ const menuData = ref([
label: '序号', label: '序号',
type: 12, type: 12,
values: '', values: '',
width: 55, width: 80,
checkarr: [], checkarr: [],
fixed: true, fixed: true,
sortable: false, sortable: false,
@ -1092,7 +1175,7 @@ const menuData = ref([
label: '订单总件数', label: '订单总件数',
type: 2, type: 2,
values: '', values: '',
width: '130', width: '140',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -1118,7 +1201,7 @@ const menuData = ref([
label: '运单收货人', label: '运单收货人',
type: 2, type: 2,
values: '', values: '',
width: '130', width: '140',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -1129,7 +1212,7 @@ const menuData = ref([
label: '运单收货人电话', label: '运单收货人电话',
type: 1, type: 1,
values: '', values: '',
width: '150', width: '170',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -1151,7 +1234,7 @@ const menuData = ref([
label: '商场编号', label: '商场编号',
type: 1, type: 1,
values: '', values: '',
width: '130', width: '140',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -1162,7 +1245,7 @@ const menuData = ref([
label: '经销商编码', label: '经销商编码',
type: 1, type: 1,
values: '', values: '',
width: '130', width: '140',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -1400,7 +1483,7 @@ const wrap = ref([
label: '序号', label: '序号',
type: 12, type: 12,
values: '', values: '',
width: 55, width: 100,
checkarr: [], checkarr: [],
fixed: true, fixed: true,
sortable: false, sortable: false,
@ -2450,11 +2533,14 @@ function removeDuplicatesById(arr) {
} }
// //
const StockPersonnel = val => { const StockPersonnel = val => {
console.log(val); if(val){
console.log(val);
let data = []; let data = [];
data = findObjectById(val, StockInfo.value.StockPersonnel); data = findObjectById(val, StockInfo.value.StockPersonnel);
DataSubmit.value.stockup.forkliftId = data.id; //ID DataSubmit.value.stockup.forkliftId = data.id; //ID
DataSubmit.value.stockup.forkliftName = data.realName; // DataSubmit.value.stockup.forkliftName = data.realName; //
}
}; };
// //
const StockUpSera = val => { const StockUpSera = val => {
@ -2466,35 +2552,44 @@ const StockUpSera = val => {
}; };
// //
const Loading = val => { const Loading = val => {
if(val){
let data = []; let data = [];
data = findObjectById(val, StockInfo.value.LoadingTeam); data = findObjectById(val, StockInfo.value.LoadingTeam);
console.log(data, '装车'); console.log(data, '装车');
DataSubmit.value.stockup.loaderId = data.id; //ID DataSubmit.value.stockup.loaderId = data.id; //ID
DataSubmit.value.stockup.loaderName = data.groupName; // DataSubmit.value.stockup.loaderName = data.groupName; //
}
}; };
// //
const unload = val => { const unload = val => {
if(val){
let data = []; let data = [];
data = findObjectById(val, StockInfo.value.UnloadingTeam); //ID data = findObjectById(val, StockInfo.value.UnloadingTeam); //ID
DataSubmit.value.stockup.unloaderId = data.id; DataSubmit.value.stockup.unloaderId = data.id;
DataSubmit.value.stockup.unloaderName = data.groupName; //ID DataSubmit.value.stockup.unloaderName = data.groupName; //ID
console.log(data, '卸车'); console.log(data, '卸车');
}
}; };
// //
const Outsourcing = val => { const Outsourcing = val => {
let data = []; if(val){
let data = [];
data = findObjectById(val, StockInfo.value.OutsourcingSources); data = findObjectById(val, StockInfo.value.OutsourcingSources);
console.log(data); console.log(data);
DataSubmit.value.tripartite.distributionCompany = data.dictValue; // DataSubmit.value.tripartite.distributionCompany = data.dictValue; //
}
}; };
// //
const SJchangeSelect = val => { const SJchangeSelect = val => {
if (val.length === 0) { if (!val.length) {
DataSubmit.value.masterDriverName = null; // DataSubmit.value.masterDriverName = null; //
StockInfo.value.VehicleInformation[1].options = vehicle.value; // StockInfo.value.VehicleInformation[1].options = vehicle.value; //
return; return;
} }
if (val.length > 0) { if (val.length) {
let SJname = null; // let SJname = null; //
SJname = CurrentVehicle(val, StockInfo.value.DriverInformation[1].options); SJname = CurrentVehicle(val, StockInfo.value.DriverInformation[1].options);
console.log(SJname[0].name, '司机'); console.log(SJname[0].name, '司机');
@ -2534,7 +2629,7 @@ const SJchangeSelect = val => {
// //
const CLchangeSelect = val => { const CLchangeSelect = val => {
if (val.length === 0) { if (!val.length) {
StockInfo.value.DriverInformation[1].options = driver.value; // StockInfo.value.DriverInformation[1].options = driver.value; //
DataSubmit.value.masterVehicleNub = null; // DataSubmit.value.masterVehicleNub = null; //
return; return;
@ -2544,7 +2639,7 @@ const CLchangeSelect = val => {
let dataInfo = []; // let dataInfo = []; //
let ClData = []; // let ClData = []; //
let ClName = null; // let ClName = null; //
if (val.length > 0) { if (val.length) {
ClName = CurrentVehicle(val, StockInfo.value.VehicleInformation[1].options); ClName = CurrentVehicle(val, StockInfo.value.VehicleInformation[1].options);
DataSubmit.value.masterVehicleNub = ClName[0].vehicleNub; // DataSubmit.value.masterVehicleNub = ClName[0].vehicleNub; //
data = CurrentVehicle(val, StockInfo.value.VehicleInformation[1].options); data = CurrentVehicle(val, StockInfo.value.VehicleInformation[1].options);
@ -2729,6 +2824,7 @@ const handleBack = () => {
// //
const SubmitCommercial = async () => { const SubmitCommercial = async () => {
let code = null; let code = null;
try { try {
//kind //kind
@ -2807,18 +2903,27 @@ const SubmitCommercial = async () => {
if (code !== 200) return; if (code !== 200) return;
state.value = false; // state.value = false; //
ElMessage.success('操作成功'); ElMessageBox.confirm(
'计划添加成功,是否继续添加?',
ElMessageBox.alert('操作成功', '', { '提示',
confirmButtonText: '关闭', {
callback: (action: Action) => { confirmButtonText: '确定',
handleBack(); cancelButtonText: '取消',
}, type: 'warning',
type: 'success', }
draggable: true, )
}).catch(() => { .then(() => {
StockInfo.value = StockInfoCopy.value
StockInfoCopy.value = deepCopy(StockInfo.value);
DataSubmit.value = DataSubmitCopy.value
DataSubmitCopy.value= deepCopy(DataSubmit.value);
dataInfo.value=[]
})
.catch(() => {
handleBack(); handleBack();
}); })
} }
console.log(DataSubmit.value, '准备提交的信息'); console.log(DataSubmit.value, '准备提交的信息');
}; };
@ -3396,4 +3501,23 @@ const SubmitCommercial = async () => {
min-width: 300px; min-width: 300px;
font-size: 14px; font-size: 14px;
} }
:deep(.el_sj){
position: relative;
.el-form-item__label{
margin-bottom: 30px;
}
}
.el_msj{
position: absolute;
top: -32px;
width: 66.8%;
}
.el_mcl{
position: absolute;
top: -32px;
width: 66.8%;
}
</style> </style>

20
src/views/warehouse/parcelList/distributionParcelList.vue

@ -314,7 +314,7 @@ export default {
label: '服务类型', label: '服务类型',
type: 2, type: 2,
values: '', values: '',
width: '80', width: '140',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -325,7 +325,7 @@ export default {
label: '提货批次', label: '提货批次',
type: 2, type: 2,
values: '', values: '',
width: '80', width: '140',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -336,7 +336,7 @@ export default {
label: '装车时间', label: '装车时间',
type: 2, type: 2,
values: '', values: '',
width: '100', width: '140',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -348,7 +348,7 @@ export default {
label: '客户车次号', label: '客户车次号',
type: 2, type: 2,
values: '', values: '',
width: '130', width: '140',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -390,7 +390,7 @@ export default {
label: '备货状态', label: '备货状态',
type: 3, type: 3,
values: '', values: '',
width: '130', width: '140',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -439,7 +439,7 @@ export default {
label: '上架状态', label: '上架状态',
type: 3, type: 3,
values: '', values: '',
width: '90', width: '140',
checkarr: [ checkarr: [
{ {
label: '待上架', label: '待上架',
@ -468,7 +468,7 @@ export default {
label: '预约单编号', label: '预约单编号',
type: 2, type: 2,
values: '', values: '',
width: '130', width: '140',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -508,7 +508,7 @@ export default {
label: '实际装车人', label: '实际装车人',
type: 2, type: 2,
values: '', values: '',
width: '130', width: '140',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -528,7 +528,7 @@ export default {
label: '实际签收人', label: '实际签收人',
type: 2, type: 2,
values: '', values: '',
width: '130', width: '140',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,
@ -548,7 +548,7 @@ export default {
label: '配送车次号', label: '配送车次号',
type: 2, type: 2,
values: '', values: '',
width: '130', width: '150',
checkarr: [], checkarr: [],
fixed: false, fixed: false,
sortable: true, sortable: true,

186
src/views/warehouse/warehousesignedorder/distributionStockArticle.vue

@ -5,12 +5,48 @@
<!-- 搜索模块 --> <!-- 搜索模块 -->
<el-row v-if="search"> <el-row v-if="search">
<!-- 查询模块 --> <!-- 查询模块 -->
<el-form :inline="true" :model="query" class="el-fr-d"> <!-- 查询模块 -->
<el-form :inline="true" :model="TopQuery" class="el-fr-d">
<!-- 查询按钮 --> <!-- 查询按钮 -->
<el-form-item class="el-btn">
<el-button type="primary" icon="el-icon-search" @click="searchChange"> </el-button> <div class="el_top_left">
<el-button icon="el-icon-delete" @click="searchReset()"> </el-button> <div>
</el-form-item>
<el-form-item label="最新入库时间">
<el-date-picker
v-model="TopQuery.warehouseEntryTime"
type="datetimerange"
start-placeholder="开始日期"
end-placeholder="结束日期"
format="YYYY-MM-DD"
date-format="YYYY/MM/DD"
time-format="A"
@change="Toptiem"
/>
</el-form-item>
<el-form-item label="文员复核时间">
<el-date-picker
v-model="TopQuery.signinTime"
type="datetimerange"
start-placeholder="开始日期"
end-placeholder="结束日期"
format="YYYY-MM-DD"
date-format="YYYY/MM/DD"
time-format="A"
@change="Toptiem"
/>
</el-form-item>
</div>
<!-- 查询按钮 -->
<el-form-item class="el-btn">
<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>
</div>
</el-form> </el-form>
</el-row> </el-row>
@ -19,8 +55,7 @@
<div class="avue-crud__header"> <div class="avue-crud__header">
<!-- 头部左侧按钮模块 --> <!-- 头部左侧按钮模块 -->
<div class="avue-crud__left"> <div class="avue-crud__left">
<el-button type="primary" @click="AddInfo"> <el-button type="primary" @click="AddInfo"><el-icon><Download /></el-icon></el-button
<el-icon><Plus /></el-icon></el-button
> >
</div> </div>
<!-- 头部右侧按钮模块 --> <!-- 头部右侧按钮模块 -->
@ -36,7 +71,7 @@
<el-row> <el-row>
<!-- 列表模块 --> <!-- 列表模块 -->
<tablecmt <tablecmt
class="tableNode" class="tableNode"
:columnList="columnList" :columnList="columnList"
:tableData="data" :tableData="data"
:loading="loadingObj.list" :loading="loadingObj.list"
@ -47,6 +82,27 @@
@selection="selectionChange" @selection="selectionChange"
> >
<template #default="slotProps"> <template #default="slotProps">
<template v-if="slotProps.scope.column.label === '订单自编号'">
<el-text class="el_textBtn" @click="OrdernumberClick(slotProps.scope.row)">
{{
slotProps.scope.column.label === '订单自编号'
? slotProps.scope.row.orderCode
: ''
}}
</el-text>
</template>
<template v-if="slotProps.scope.column.label === '预约信息'">
<el-text class="el_textBtn" @click="informationClick(slotProps.scope.row)">
{{
slotProps.scope.column.label === '预约信息'
? slotProps.scope.row.reservationInfo
: ''
}}
</el-text>
</template>
<template v-if="slotProps.scope.column.label === '操作'"> <template v-if="slotProps.scope.column.label === '操作'">
<div class="ElBtnClass"> <div class="ElBtnClass">
<el-button @click="view(slotProps.scope)">查看</el-button> <el-button @click="view(slotProps.scope)">查看</el-button>
@ -89,12 +145,15 @@
import { ref, reactive, toRefs, computed, onMounted, nextTick, watch } from 'vue'; import { ref, reactive, toRefs, computed, onMounted, nextTick, watch } from 'vue';
import { columnList } from '@/option/warehouse/distributionStockArticle.js'; import { columnList } from '@/option/warehouse/distributionStockArticle.js';
import { getDictionaryBiz } from '@/api/system/dict'; // import { getDictionaryBiz } from '@/api/system/dict'; //
import { processRowProperty,setNodeHeight } from '@/utils/util'; import { processRowProperty, setNodeHeight } from '@/utils/util';
import {$_signforList } from '@/api/distribution/distributionStockArticle.js'; import { $_signforList } from '@/api/distribution/distributionStockArticle.js';
import functions from '@/utils/functions.js'; import functions from '@/utils/functions.js';
import { ElMessageBox } from 'element-plus'; import { ElMessageBox } from 'element-plus';
import { downloadXls } from '@/utils/util'; const $router = useRouter();//
import { useStore } from 'vuex';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
const TopQuery = ref({});
const queryCarn = ref({});
const details = reactive({ const details = reactive({
/** 是否开启搜索 */ /** 是否开启搜索 */
search: false, search: false,
@ -136,7 +195,7 @@ const details = reactive({
columnList, columnList,
/** 列表数据 */ /** 列表数据 */
data: [{}], data: [],
/** 页面loading */ /** 页面loading */
loadingObj: { loadingObj: {
/** 列表加载loading */ /** 列表加载loading */
@ -213,7 +272,6 @@ const showdrawer = _flag => {
const inputsc = (index, row) => { const inputsc = (index, row) => {
details.query[row.prop] = index; details.query[row.prop] = index;
processRowProperty(index, row, details); processRowProperty(index, row, details);
}; };
// //
@ -244,31 +302,56 @@ const selectionChange = list => {
}; };
// //
const searchChange = () => { const searchChange = () => {
details.search = false; // //
if (TopQuery.value.warehouseEntryTime) {
queryCarn.value.startTaskTime = dayjs(TopQuery.value.time[0]).format('YYYY-MM-DD HH:mm:ss'); //
queryCarn.value.endTaskTime = dayjs(TopQuery.value.time[1]).format('YYYY-MM-DD HH:mm:ss'); //
} else {
delete queryCarn.value.warehouseEntryTimestartTaskTime;
delete queryCarn.value.warehouseEntryTimeendTaskTime;
}
if (TopQuery.value.signinTime) {
queryCarn.value.startTaskTime = dayjs(TopQuery.value.time[0]).format('YYYY-MM-DD HH:mm:ss'); //
queryCarn.value.endTaskTime = dayjs(TopQuery.value.time[1]).format('YYYY-MM-DD HH:mm:ss'); //
} else {
delete queryCarn.value.signinTimestartTaskTime;
delete queryCarn.value.signinTimeendTaskTime;
}
getrain(); getrain();
}; };
// //
const sizeChange = val => { const sizeChange = val => {
page.value.pageSize = val; page.value.pageSize = val;
getrain();
}; };
/** 页码改变执行的回调 */ /** 页码改变执行的回调 */
const currentChange = val => { const currentChange = val => {
page.value.currentPage = val; page.value.currentPage = val;
getrain();
}; };
// //
const searchChangeS = () => { const searchChangeS = () => {
// details.columnList.forEach(item => {
// item.values = '';
// });
details.search = false; // details.search = false; //
getrain();
}; };
// //
const searchHide = () => { const searchHide = () => {
console.log(details); console.log(details);
details.search = !details.search; details.search = !details.search;
const _node = document.querySelector('.tableNode'); const _node = document.querySelector('.tableNode');
setNodeHeight(_node, '', true); setNodeHeight(_node, '', true);
}; };
//
const searchReset = () => {
details.query = {};
details.columnList.forEach(item => {
item.values = '';
});
details.page.total = 0;
details.data = [];
};
// //
function updateDictionary(targetArray, dictionaryType) { function updateDictionary(targetArray, dictionaryType) {
getDictionaryBiz(dictionaryType).then(res => { getDictionaryBiz(dictionaryType).then(res => {
@ -309,28 +392,61 @@ function updateDictionary(targetArray, dictionaryType) {
// }; // };
// onLoad(); // onLoad();
// //
const getrain=()=>{ const getrain = () => {
let data={ let data = {
current:details.page.currentPage, current: details.page.currentPage,
size:details.page.pageSize, size: details.page.pageSize,
...details.query, ...details.query,
...queryCarn.value,
};
details.loadingObj.list = true;
$_signforList(data)
.then(res => {
console.log(res, '当前参数');
details.page.total = res.data.data.total;
details.data = res.data.data.records;
})
.catch(() => {})
.finally(() => {
details.loadingObj.list = false;
});
};
// getrain();
const removeParentheses=(str)=>{
const index = str.indexOf("("); //
if (index !== -1) {
return str.substring(0, index); //
}
return str;
} }
details.loadingObj.list=true //
$_signforList(data).then(res=>{ const informationClick=(val)=>{
console.log(res,'当前参数'); console.log(val,'预约信息');
details.page.total = res.data.data.total let data= removeParentheses(val.reservationInfo)
details.data = res.data.data.records console.log(data,'处理好的数据');
}).catch(()=>{ $router.push({
path: '/distribution/signfor/distributionSignforedt',
query: {
id:'1772931455518982145',
reservationId:'1772875103987769346',
name: '1772875103987769346' + '-预约单详情',
},
});
}
}).finally(()=>{ const OrdernumberClick=(val)=>{
details.loadingObj.list=false $router.push({
}) path: '/distribution/inventory/distributionStockArticleDetails',
query: {
id:val.id,
name: `${val.orderCode}预约单详情`,
isZero:0,
},
});
} }
getrain()
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

Loading…
Cancel
Save