Commit 5fb02d14 authored by dcy's avatar dcy

Merge remote-tracking branch 'origin/dev' into dev

parents 61576009 08046989
......@@ -367,7 +367,7 @@ export function secGoodsList(params) {
}
/**
* 获得订单预装分页
* 获得预装分页
*
* @export
* @param {*} params
......@@ -375,7 +375,7 @@ export function secGoodsList(params) {
*/
export function preloadPage(params) {
return request({
url: "/ecw/order/preloadPage",
url: "/ecw/box-preload-goods/preloadPage",
method: "get",
params,
});
......
......@@ -125,5 +125,13 @@ export function deptList(data) {
})
}
/** 修改其他服务 */
export function serviceConfig(data) {
return request({
url: '/ecw/warehouse/serviceConfig',
method: 'post',
data: data
})
}
......@@ -106,7 +106,7 @@ export default {
warehouse.selected = true
// 区域被选,清空该区域下的位置
warehouse.positionList.forEach(g => {
if(warehouse.positionList) warehouse.positionList.forEach(g => {
g.children.forEach(k => {
k.selected = false
})
......@@ -154,7 +154,7 @@ export default {
e.children.forEach(f => {
// 区域
f.selected = false
f.positionList.forEach(g => {
if(f.positionList) f.positionList.forEach(g => {
// 位置
g.children.forEach(k => {
// 子位置
......@@ -177,7 +177,7 @@ export default {
e.children.forEach(f => {
// 区域
if (f.selected) result.push(f.code)
f.positionList.forEach(g => {
else if(f.positionList) f.positionList.forEach(g => {
// 位置
if (g.selected) result.push(k.code)
g.children.forEach(k => {
......@@ -202,7 +202,7 @@ export default {
wareId: f.pid,
areaId: f.id
})
else f.positionList.forEach(g => {
else if(f.positionList) f.positionList.forEach(g => {
// 位置
if (g.selected) result.push({
orderId: this.orderId,
......
......@@ -182,6 +182,7 @@ export const DICT_TYPE = {
BOX_SHIPPING_PRICE_UNIT: 'shipping_price_unit', // 金额单位
BOX_SHIPPING_TICKET_EXCEPTION: 'shipping_ticket_exception', // 票异常
BOX_SHIPPING_PROCESS: 'shipping_process', // 海运出货流程
BOX_SHIPPING_BRAND_TYPE: 'shipping_brand_type', // 出货品牌类型
}
/**
......
......@@ -53,7 +53,7 @@
<el-row style="marginTop:15px">
<el-table :data="loadDetail.sectionOrderList" border>
<el-table-column prop="" label="部分" align="center"></el-table-column>
<el-table-column prop="sectionName" label="部分" align="center"></el-table-column>
<el-table-column prop="orderNo" label="订单号" align="center">
<template v-slot="{row}">
<el-button type="text" @click="jumpOrderDetail(row)">{{row.orderNo}}</el-button>
......
......@@ -43,7 +43,7 @@
<el-row class="right-title">
<div>货物筛选</div>
<div>当前装柜:{{partData.title}}</div>
<div>可预装方数:无返回m³,重量:无返回Kg</div>
<div>可预装方数:{{unloadStatistics.volume}}m³,重量:{{unloadStatistics.weight}}Kg</div>
</el-row>
<!-- 搜索工作栏 -->
......@@ -76,7 +76,7 @@
<div>
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item.customsType" />
</div>
<div>入仓时间:{{item.rucangtime}}</div>
<div>入仓时间:{{formatDate(item.rucangTime)}}</div>
<div>
<el-button type="text" @click="handleGoods('all', item)">[全部预装]</el-button>
<el-button type="text" @click="foldTable(index, item)">[{{item.fold ? '展开' : '收起'}}]</el-button>
......@@ -84,12 +84,12 @@
</el-row>
<el-collapse-transition>
<div v-show="!item.fold">
<el-table v-loading="loading" :data="item.orderItemList" border>
<el-table v-loading="loading" :data="item.boxOrderItemList" border>
<el-table-column label="序号" type="index" align="center" width="50" />
<el-table-column label="品名" align="center" prop="prodTitleZh" min-width="500" />
<el-table-column label="品牌" align="center" prop="brandType" width="120">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="scope.row.brandType" />
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_BRAND_TYPE" :value="scope.row.brandType" />
</template>
</el-table-column>
<el-table-column label="箱数" align="center" prop="num" width="120" />
......@@ -103,7 +103,9 @@
<p v-if="scope.row.weight">{{scope.row.weight}}kg</p>
</template>
</el-table-column>
<el-table-column label="预装柜" align="center" prop="weight" width="120" />
<el-table-column label="预装柜" align="center" prop="" width="120">
无返回
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">
<template slot-scope="scope">
<el-button type="text" size="small" @click="handleGoods('singele',scope.row)">预装</el-button>
......@@ -125,11 +127,11 @@
<el-col :span="6" class="totle-info">
<div>
<p>总计:</p>
<p>111</p>
<p>无返回</p>
</div>
<div>
<p>容量:</p>
<p>111</p>
<p>无返回</p>
</div>
</el-col>
</el-row>
......@@ -149,6 +151,7 @@ import {
createGoods,
remove,
} from "@/api/ecw/boxSea";
import { formatDate } from "../../utils";
/**
* 补单
*/
......@@ -174,6 +177,7 @@ export default {
toBePreList: [],
total: 0,
loading: false,
unloadStatistics: {},
};
},
created() {
......@@ -211,8 +215,10 @@ export default {
...this.queryParams,
};
preloadPage({ ...params, ...this.pageParam }).then((res) => {
this.toBePreList = res.data.list;
this.total = res.data.total;
const { data } = res;
this.toBePreList = data.dataList?.list ?? [];
this.total = data.dataList?.total ?? 0;
this.unloadStatistics = data.unloadStatistics ?? {};
this.loading = false;
});
},
......@@ -317,6 +323,7 @@ export default {
})
.catch((_) => {});
},
formatDate,
},
computed: {
/** 目的地 */
......
<template>
<div>
<el-form ref="cusDeclarationForm" :rules="rules" :model="cusDeclarationObj" label-width="120px">
<el-form-item label="单证要求">我司全代 <el-button type="primary" style="margin-left:10px;" @click="downloadVGM">VGM声明</el-button>
<el-form-item label="单证要求">无返回 <el-button type="primary" style="margin-left:10px;" @click="downloadVGM">VGM声明</el-button>
</el-form-item>
<el-form-item label="柜重" prop="dcBoxWgt">
<el-input v-model="cusDeclarationObj.dcBoxWgt" placeholder="请输入柜重" clearable />
......
......@@ -31,7 +31,7 @@
</el-select>
</el-form-item>
<el-form-item label="订单号" prop="toBePreOrderNo">
<el-input v-model="queryParams.orderNo" placeholder="请输入订单号码" clearable />
<el-input v-model="queryParams.toBePreOrderNo" placeholder="请输入订单号码" clearable />
</el-form-item>
<el-form-item label="已预装单号" prop="preOrderNo">
<el-input v-model="queryParams.preOrderNo" placeholder="请输入已预装单号" clearable />
......@@ -126,7 +126,7 @@
<el-table-column type="selection" align="center" width="55" fixed="left" />
<el-table-column label="订单号" align="center" prop="orderNo" width="120" />
<el-table-column label="目的地" align="center" prop="destWarehouseName" width="120" />
<el-table-column label="入仓时间" align="center" prop="rucangtime" width="120" />
<el-table-column label="入仓时间" align="center" prop="rucangTime" width="120" />
<el-table-column label="品名" align="center" prop="prodTitleZh" width="120" />
<el-table-column label="箱数" align="center" prop="num" />
<el-table-column label="体积/重量/重货比" align="center" width="140" prop="volumeWeight">
......@@ -142,7 +142,7 @@
</el-table-column>
<el-table-column label="备案" align="center" prop="productRecord" width="100">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="scope.row.productRecord" />
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_BRAND_TYPE" :value="scope.row.productRecord" />
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width" fixed="right">
......@@ -169,15 +169,15 @@
<div class="preinstall-title preinstalled">
<div class="red-label">
<p>筛选后待预装数量:</p>
<p>无返回</p>
<p>{{unloadStatistics.num}}箱</p>
</div>
<div class="red-label">
<p>方数:</p>
<p>无返回</p>
<p>{{unloadStatistics.volume}}m³</p>
</div>
<div class="red-label">
<p>重量:</p>
<p>无返回</p>
<p>{{unloadStatistics.weight}}kg</p>
</div>
</div>
</el-row>
......@@ -199,7 +199,7 @@
</div>
<div>
<p>入仓时间:</p>
<p>{{item.rucangtime}}</p>
<p>{{formatDate(item.rucangTime)}}</p>
</div>
<div>
<p>重货比:</p>
......@@ -214,12 +214,12 @@
</el-dropdown>
</div>
</el-row>
<el-table v-loading="toBePreLoading" :data="item.orderItemList" border show-summary :summary-method="getSummaries">
<el-table v-loading="toBePreLoading" :data="item.boxOrderItemList" border show-summary :summary-method="getSummaries">
<el-table-column type="index" align="center" label="序号" width="50" />
<el-table-column label="品名" align="center" prop="prodTitleZh" />
<el-table-column label="备案" align="center" prop="brandType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="scope.row.brandType" />
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_BRAND_TYPE" :value="scope.row.brandType" />
</template>
</el-table-column>
<el-table-column label="箱数" align="center" prop="num" />
......@@ -229,8 +229,14 @@
<p v-if="scope.row.weight">{{scope.row.weight}}kg</p>
</template>
</el-table-column>
<el-table-column label="报关方式" align="center" prop="" />
<el-table-column label="包装类型" align="center" prop="" />
<el-table-column label="报关方式" align="center" prop="">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item.customsType" />
</el-table-column>
<el-table-column label="包装类型" align="center" prop="">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_PACKAGE_TYPE" :value="scope.row.unit" />
</template>
</el-table-column>
<el-table-column label="材质" align="center" prop="material" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
......@@ -278,6 +284,7 @@ import {
approvalCreate,
} from "@/api/ecw/boxSea";
import userSelect from "./common/userSelect.vue";
import { formatDate } from "../utils";
/**
* 预装
......@@ -309,6 +316,7 @@ export default {
toBePreLoading: false,
toBePreList: [],
total: 0,
unloadStatistics: {},
// 显示搜索条件
showSearch: true,
......@@ -345,6 +353,7 @@ export default {
this.handleQuery("toBePre");
},
methods: {
formatDate,
/* 获取城市 */
importCityName(id) {
var arr = this.$attrs.warehouseList.filter((item) => item.id == id);
......@@ -358,9 +367,10 @@ export default {
getSecGoods() {
this.preLoading = true;
// 处理查询参数
let params = { ...this.queryParams };
let params = this.getParams();
// 已预装单号
params.orderNo = params.preOrderNo;
delete params.preOrderNo;
params.shipmentId = this.shipmentObj.id;
secGoodsList(params).then((res) => {
this.preList = res.data;
......@@ -371,12 +381,15 @@ export default {
getPreLoad() {
this.toBePreLoading = true;
// 处理查询参数
let params = { ...this.queryParams };
let params = this.getParams();
// 订单号
params.orderNo = params.toBePreOrderNo;
delete params.toBePreOrderNo;
preloadPage({ ...params, ...this.pageParam }).then((res) => {
this.toBePreList = res.data.list;
this.total = res.data.total;
const { data } = res;
this.toBePreList = data.dataList?.list ?? [];
this.total = data.dataList?.total ?? 0;
this.unloadStatistics = data.unloadStatistics ?? {};
this.toBePreLoading = false;
});
},
......@@ -525,6 +538,15 @@ export default {
this.pageParam.pageNo = 1;
this.getPreLoad();
},
getParams() {
const { rucangtime = [] } = this.queryParams;
delete this.queryParams.rucangtime;
return {
...this.queryParams,
rucangTimeStart: rucangtime[0],
rucangTimeEnd: rucangtime[1],
};
},
},
};
</script>
......
......@@ -18,9 +18,9 @@
<el-select v-model="currPart" placeholder="请选择当前部分">
</el-select>
<p>
<span>13</span>
<span>10.83m3</span>
<span>210kg</span>
<span>无返回 </span>
<span>无返回 m3</span>
<span>无返回 kg</span>
</p>
</el-row>
......@@ -62,15 +62,16 @@
<div class="label-font">
<p>
<span>总计:</span>
<span>{{pageData.totalStatistics ? pageData.totalStatistics.num : 0}}箱</span>
<span>无返回</span>
<!-- <span>{{pageData.totalStatistics ? pageData.totalStatistics.num : 0}}箱</span>
<span>{{pageData.totalStatistics ? pageData.totalStatistics.volume : 0}}m3</span>
<span>{{pageData.totalStatistics ? pageData.totalStatistics.weight : 0}}kg</span>
<span>{{pageData.totalStatistics ? pageData.totalStatistics.weight : 0}}kg</span> -->
</p>
</div>
<div class="label-font">
<p>
<span>已卸:</span>
<span>0</span>
<span>无返回</span>
</p>
</div>
</el-row>
......
......@@ -859,6 +859,11 @@ function formatDateStr(obj, keys, format = "YYYY-MM-DD") {
return obj;
}
function formatDate(date, format = "YYYY-MM-DD") {
if (!date) return date;
return dayjs(date).format(format);
}
function getSeaStatus(val) {
let currNodeStatus = 11,
isBreak = false,
......@@ -911,4 +916,5 @@ export {
formatStringNumber,
formatDateStr,
formatNumberString,
formatDate,
};
......@@ -42,6 +42,14 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="简码" prop="code">
<el-input
v-model="form.code"
placeholder="请输入简码"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="归属仓库" prop="warehouseIds">
<!-- <el-select v-model="form.wareHouseIds">
......@@ -105,22 +113,22 @@
</el-radio-group>
</el-form-item> -->
</el-card>
<el-card shadow="never">
<div slot="header" class="clearfix">
<span>渠道收费规则</span>
</div>
<el-form-item label="清关单价" prop="customsClearUnit">
<el-input v-model="form.customsClearUnit" placeholder="请输入清关单价">
<span slot="append">$</span>
</el-input>
</el-form-item>
<el-form-item label="每0.5KG单价" prop="weightUnitPrice">
<el-input v-model="form.weightUnitPrice" placeholder="此字段名暂缺" >
<span slot="append">$</span>
</el-input>
</el-form-item>
</el-card>
<!-- <el-card shadow="never">-->
<!-- <div slot="header" class="clearfix">-->
<!-- <span>渠道收费规则</span>-->
<!-- </div>-->
<!-- -->
<!-- <el-form-item label="清关单价" prop="customsClearUnit">-->
<!-- <el-input v-model="form.customsClearUnit" placeholder="请输入清关单价">-->
<!-- <span slot="append">$</span>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="每0.5KG单价" prop="weightUnitPrice">-->
<!-- <el-input v-model="form.weightUnitPrice" placeholder="此字段名暂缺" >-->
<!-- <span slot="append">$</span>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- </el-card>-->
</el-form>
<div>
<el-button type="primary" @click="submitForm">确 定</el-button>
......
......@@ -74,7 +74,7 @@
<!-- <el-table-column label="名称-英文" align="center" prop="nameEn" /> -->
<el-table-column label="内部名称" align="center" prop="internalNameZh" />
<!-- <el-table-column label="内部名称-英文" align="center" prop="internalNameEn" />
<el-table-column label="类型编码" align="center" prop="typeNumber" />
<el-table-column label="类型编码" align="center" prop="typeNumber" />-->
<!-- <el-table-column label="仓库id字符串" align="center" prop="warehouseIds" /> -->
<el-table-column label="仓库名" align="center" prop="warehouseNameList" width="180">
<template slot-scope="scope">
......@@ -88,6 +88,7 @@
</el-scrollbar>
</template>
</el-table-column>
<el-table-column label="简码" align="center" prop="code" />
<el-table-column label="排序" align="center" prop="sort" />
<el-table-column label="快递公司" align="center" prop="companyName" />
<el-table-column label="预计时间(天)" align="center" prop="etaTime" />
......@@ -202,6 +203,7 @@ export default {
internalNameZh: undefined,
internalNameEn: undefined,
typeNumber: undefined,
code: undefined,
warehouseIds: undefined,
sort: undefined,
expressId: undefined,
......
......@@ -174,13 +174,6 @@
</el-checkbox-group>
</el-form-item>
<el-form-item label="其他服务" prop="otherServiceList">
<el-checkbox-group v-model="form.otherServiceList">
<el-checkbox v-for="item in serviceGroup" :label="item.id" :key="item.id" :value="item.id"> {{item.text}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="网点详情" prop="contentZh">
<editor v-model="form.contentZh" :min-height="150"/>
</el-form-item>
......@@ -264,11 +257,6 @@ export default {
pageSize: 10
},
serviceGroup: [
{id: '1', text: '送货上门'},
{id: '2', text: '非控货订单代收货款'}
],
dateRangeCreateTime: [],
// 查询参数
queryParams: {
......@@ -278,7 +266,6 @@ export default {
// 表单参数
form: {
checkList:[],
otherServiceList:[],
},
// 表单校验
rules: {
......@@ -475,8 +462,7 @@ export default {
worktime: undefined,
adminId: undefined,
aorder: undefined,
checkList: [],
otherServiceList: []
checkList: []
};
this.resetForm("form");
......@@ -504,7 +490,6 @@ export default {
const id = row.id;
getNode(id).then(response => {
this.form = response.data;
this.form.otherServiceList = [];
this.changeContinents(response.data.zhou);
this.changeCountry(response.data.guojia);
......@@ -513,13 +498,6 @@ export default {
let ckList = response.data.freight.split(',');
this.$set(this.form, 'checkList', ckList);
// console.log('11111111');
if(response.data.otherService) {
let otherService = response.data.otherService.split(",");
this.$set(this.form, 'otherServiceList', otherService);
}
this.open = true;
this.title = "修改服务网点";
});
......@@ -542,11 +520,6 @@ export default {
freight = freight.substring(0, freight.length - 1);
this.form.freight = freight;
var otherService = this.form.otherServiceList.join(',');
this.form.otherService= otherService;
// console.log(otherService);
// return;
// 修改的提交
if (this.form.id != null) {
updateNode(this.form).then(response => {
......
......@@ -122,12 +122,21 @@
</template>
</el-table-column>
<el-table-column label="路线服务" align="center" prop="otherService">
<template slot-scope="scope">
<div>{{ serviceNames(scope.row.otherService) }}</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="routeStatusClick(scope.row)"
v-hasPermi="['ecw:warehouse:routerQuery']">{{scope.row.lineId ? '关闭线路' : '开通线路'}}</el-button>
<el-button size="mini" type="primary" @click="templateClick(scope.row)" v-if="scope.row.lineId != null"
v-hasPermi="['ecw:warehouse:routerQuery']">设置路线提单模板</el-button>
<el-button size="mini" type="primary" @click="serviceClick(scope.row)" v-if="scope.row.lineId != null"
v-hasPermi="['ecw:warehouse:routerQuery']">开通服务</el-button>
</template>
</el-table-column>
</el-table>
......@@ -266,6 +275,22 @@
</div>
</el-dialog>
<!--设置服务-->
<el-dialog title="设置服务" :visible.sync="serviceOpen" width="1000px" append-to-body>
<el-form ref="form" :model="lineform" :rules="rules" label-width="80px">
<el-form-item label="其他服务" prop="otherServiceList">
<el-checkbox-group v-model="lineform.serviceList">
<el-checkbox v-for="item in serviceGroup" :label="item.id" :key="item.id" :value="item.id"> {{item.text}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitLineForm">保 存</el-button>
</div>
</el-dialog>
<!-- 对话框(添加 / 修改) -->
<el-dialog title="设置路线提单模板" :visible.sync="templateOpen" width="1000px" @close="ladingFormClose()" append-to-body>
<el-form ref="form" :model="ladingform" :rules="rules" label-width="80px">
......@@ -340,7 +365,7 @@
<script>
import { createWarehouse, updateWarehouse, deleteWarehouse, getWarehouse, getWarehousePage,createTemplate,getLadingTemplate,
exportWarehouseExcel,routerList,changeRouteStatus,deptBind,deptList } from "@/api/ecw/warehouse";
exportWarehouseExcel,routerList,changeRouteStatus,deptBind,deptList,serviceConfig } from "@/api/ecw/warehouse";
import { getNodePage } from "@/api/ecw/node";
import { getListTree } from "@/api/ecw/region";
import { getDictDatas, DICT_TYPE } from '@/utils/dict'
......@@ -404,6 +429,11 @@ export default {
//市信息列表
cityList: [],
serviceGroup: [
{id: '1', text: '送货上门'},
{id: '2', text: '非控货订单代收货款'}
],
// 总条数
total: 0,
// 仓库列表
......@@ -415,6 +445,8 @@ export default {
templateOpen:false,
dateRangeCreateTime: [],
serviceOpen: false,
isUpdate: false,
nodeList: [],
......@@ -457,6 +489,8 @@ export default {
// 表单参数
form: {checkList:[],},
ladingform: {prefixCounter:null,titleZh:null,contentZh:null,account:null,acctArr:[]},
lineform: {serviceList:[]},
// 表单校验
rules: {
nodeId: [{ required: true, message: "服务网点不能为空", trigger: "blur" }],
......@@ -521,6 +555,25 @@ export default {
}
}
},
serviceNames() {
return otherService => {
if(!otherService) return '';
let serviceList = otherService.split(",");
let names = [];
for(let index in serviceList) {
let item = serviceList[index];
for(let dictIndex in this.serviceGroup) {
let dictItem = this.serviceGroup[dictIndex];
if(dictItem.id == item) {
names.push(dictItem.text);
break;
}
}
}
return names.join(',');
}
}
},
watch: {
......@@ -712,6 +765,33 @@ export default {
this.templateOpen = true;
},
serviceClick(row) {
if(row.otherService) {
this.lineform.serviceList = row.otherService.split(",");
} else {
this.lineform.serviceList = [];
}
this.serviceOpen = true;
this.lineform.lineId = row.lineId;
},
submitLineForm() {
let otherService = this.lineform.serviceList.join(',');
this.lineform.otherService = otherService;
serviceConfig(this.lineform).then(res => {
this.$modal.msgSuccess("操作成功");
for(let index in this.routeList) {
let routeItem = this.routeList[index];
if(routeItem.lineId && routeItem.lineId == this.lineform.lineId) {
// routeItem.otherService = otherService;
this.$set(routeItem, 'otherService', otherService);
}
}
this.serviceOpen = false;
})
},
routeStatusClick(row) {
this.routeQueryParam.transportType = row.transportType;
this.routeQueryParam.warehouseId = row.id;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment