Commit 3abc43ec authored by 我在何方's avatar 我在何方
parents b07cd6fb 68b7bb0e
......@@ -275,7 +275,6 @@ export function downloadSoncapFiles(params) {
export function downloadCustomFiles(params) {
return request({
url: "/ecw/box-preload-goods/downloadCustomFiles",
responseType: "arraybuffer",
method: "get",
params,
});
......
......@@ -701,6 +701,21 @@ export function batchUnload(data) {
});
}
/**
* 单个卸柜
*
* @export
* @param {*} data
* @return {*}
*/
export function singleUnload(data) {
return request({
url: "/ecw/box-load-info/singleUnload",
method: "post",
data,
});
}
/**
* 一键卸柜
*
......
......@@ -149,10 +149,18 @@ export function getMyCustomerService(query){
})
}
//获取会员列表
export function userMemberUserList(){
export function userMemberUserList(params){
return request({
url:'/member/user/member-user-list',
method:'get'
method:'get',
params
})
}
export function memberUserList(params){
return request({
url:'/member/user/list',
method:'get',
params
})
}
//查看某客户授权的品牌
......
......@@ -21,11 +21,11 @@ export function itemTypeListApi(query){
})
}
//
export function customerDropDownList(query){
export function customerDropDownList(params){
return request({
url:'/ecw/customer/select',
method:'get',
query,
params,
})
}
//商品
......
......@@ -13,7 +13,7 @@
<div style="text-align: center">区域</div>
<div style="background-color: #efefef;padding: 10px 10px 0;border: #dcdcdc solid 1px;border-radius: 2px">
<el-row :gutter="20">
<el-col :span="12" v-for="(warehouse, i) in item.children" :key="i">
<el-col :span="12" v-for="warehouse in item.children" :key="warehouse.id">
<div
class="warehouse-block"
:class="{'warehouse-block-selected': warehouse.selected, 'warehouse-block-active': warehouse.id === activeWarehouse.id}"
......@@ -28,14 +28,25 @@
<div>
<div style="text-align: center">仓位</div>
<div class="position-group">
<div class="position" v-for="position in activeWarehouse.positionList" :key="item.id">
<div class="position" v-for="position in activeWarehouse.positionList" :key="position.id" @click="handleSelectPosition(position)">
<template v-if="position.children">
<div
class="position-item"
v-for="item in position.children"
@click="handleSelectPosition(item)"
:key="item.id"
@click.stop="handleSelectPositionChild(item)"
:class="{'position-item-active': item.selected}">
{{ item.code }}
</div>
</template>
<template v-else>
<div
class="position-item"
:class="{'position-item-active': position.selected}">
{{ position.code }}
</div>
</template>
</div>
</div>
</div>
......@@ -82,7 +93,8 @@ export default {
activeName: '0',
selectedWarehouse: [],
selectedPosition: [],
activeWarehouse: {}
activeWarehouse: {},
activeWarehouseId: undefined
};
},
......@@ -100,6 +112,7 @@ export default {
f.selected = false
if(f.positionList) f.positionList.forEach(g => {
// 位置
g.selected = false
g.children?.forEach(k => {
// 子位置
k.selected = false
......@@ -130,18 +143,21 @@ export default {
this.activeWarehouse = warehouse
if (!!warehouse.selected) {
warehouse.selected = false
} else if(this.activeWarehouseId !== warehouse.id) {
this.activeWarehouseId = warehouse.id
} else {
warehouse.selected = true
// 区域被选,清空该区域下的位置
if(warehouse.positionList) warehouse.positionList.forEach(g => {
if(warehouse.positionList) warehouse.positionList?.forEach(g => {
g.selected = false
g.children?.forEach(k => {
k.selected = false
})
})
}
},
handleSelectPosition(position) {
handleSelectPositionChild(position) {
if (!!position.selected) {
position.selected = false
......@@ -150,7 +166,7 @@ export default {
if (!parentAre.selected) {
// 检查父区域下是否所有位置被反选
let hasSelected = false
parentAre.positionList.forEach(g => {
parentAre.positionList?.forEach(g => {
// 位置
g.children?.forEach(k => {
// 子位置
......@@ -166,6 +182,17 @@ export default {
// 选位置时,父区域反选
this.area.find(e => e.id === position.domainId).children.find(f => f.id === position.areaId).selected = false
}
},
handleSelectPosition(position) {
if (!!position.selected) {
position.selected = false
} else {
position.selected = true
// 选位置时,父区域反选
this.area.find(e => e.id === position.domainId).children.find(f => f.id === position.areaId).selected = false
}
}
},
......@@ -179,17 +206,17 @@ export default {
selected() {
const result = []
this.area.forEach(e => {
this.area?.forEach(e => {
// 仓库
e.children.forEach(f => {
e.children?.forEach(f => {
// 区域
if (f.selected) result.push(f.code)
else if(f.positionList) f.positionList.forEach(g => {
else f.positionList?.forEach(g => {
// 位置
if (g.selected) result.push(k.code)
g.children?.forEach(k => {
if (g.selected) result.push(f.code + g.code)
else if(g.children) g.children?.forEach(k => {
// 子位置
if (k.selected) result.push(k.code)
if (k.selected) result.push(f.code + k.code)
})
})
})
......@@ -200,16 +227,17 @@ export default {
inputValue(){
const result = []
this.area.forEach(e => {
this.area?.forEach(e => {
// 仓库
e.children.forEach(f => {
e.children?.forEach(f => {
// 区域
if (f.selected) result.push({
orderId: this.orderId,
wareId: f.pid,
areaId: f.id
})
else if(f.positionList) f.positionList.forEach(g => {
else {
f.positionList?.forEach(g => {
// 位置
if (g.selected) result.push({
orderId: this.orderId,
......@@ -217,7 +245,7 @@ export default {
areaId: g.areaId,
locationId: g.id
})
else g.children.forEach(k => {
else g.children?.forEach(k => {
// 子位置
if (k.selected) result.push({
orderId: this.orderId,
......@@ -227,6 +255,7 @@ export default {
})
})
})
}
})
})
......@@ -269,9 +298,10 @@ export default {
border: 1px #EFEFEF solid;
gap: 1px;
min-height: 64px;
flex-flow: wrap;
}
.position{
width: 20%;
width: calc(20% - 1px);
height: 64px;
display: flex;
flex-direction: column;
......
......@@ -9,67 +9,67 @@
</el-select>
</el-form-item>
<el-form-item label="自编号" prop="selfNo">
<el-input v-model="queryParams.selfNo" placeholder="请输入自编号" clearable @keyup.enter.native="handleQuery" />
<el-form-item :label="$t('自编号')" prop="selfNo">
<el-input v-model="queryParams.selfNo" :placeholder="$t('请输入自编号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="柜号" prop="cubNo">
<el-input v-model="queryParams.cubNo" placeholder="请输入柜号" clearable @keyup.enter.native="handleQuery" />
<el-form-item :label="$t('柜号')" prop="cubNo">
<el-input v-model="queryParams.cubNo" :placeholder="$t('请输入柜号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="柜型" prop="cabinetId">
<el-select v-model="queryParams.cabinetId" placeholder="请选择柜型">
<el-option v-for="item in cabinetList" :label="item.name" :value="item.name" :key="item.id"></el-option>
<el-form-item :label="$t('柜型')" prop="cabinetId">
<el-select v-model="queryParams.cabinetId" :placeholder="$t('请选择柜型')">
<el-option v-for="item in cabinetList" :label="$l(item, 'name')" :value="item.name" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="始发地" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" placeholder="请选择始发地">
<el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
<el-form-item :label="$t('始发地')" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发地')">
<el-option v-for="item in exportWarehouseList" :label="$l(item, 'titleZh')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的地" prop="destWarehouseId">
<el-select v-model="queryParams.destWarehouseId" placeholder="请选择目的地">
<el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
<el-form-item :label="$t('目的地')" prop="destWarehouseId">
<el-select v-model="queryParams.destWarehouseId" :placeholder="$t('请选择目的地')">
<el-option v-for="item in importWarehouseList" :label="$l(item, 'titleZh')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="" prop="date">
<el-select v-model="queryParams.dateType" placeholder="请选择时间类型" clearable size="small">
<el-option v-for="item in dateTypes" :key="item.value" :label="item.label" :value="item.value" />
<el-select v-model="queryParams.dateType" :placeholder="$t('请选择时间类型')" clearable size="small">
<el-option v-for="item in dateTypes" :key="item.value" :label="$l(item, 'label')" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-date-picker v-model="queryParams.dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" />
<el-date-picker v-model="queryParams.dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item label="状态" prop="boxStatus">
<el-select v-model="queryParams.boxStatus" placeholder="请选择状态" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BOX_SHIPMENT_STATUS)" :key="dict.value" :label="dict.label" :value="dict.value" />
<el-form-item :label="$t('状态')" prop="boxStatus">
<el-select v-model="queryParams.boxStatus" :placeholder="$t('请选择状态')" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BOX_SHIPMENT_STATUS)" :key="dict.value" :label="$l(dict, 'label')" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="国家">
<el-select v-model="queryParams.countryId" placeholder="请选择国家">
<el-option v-for="item in countryList" :key="item.id" :label="item.titleZh" :value="item.id">
<el-form-item :label="$t('国家')">
<el-select v-model="queryParams.countryId" :placeholder="$t('请选择国家')">
<el-option v-for="item in countryList" :key="item.id" :label="$l(item, 'titleZh')" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['shipment:box:create']">出货安排
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['shipment:box:create']">{{$t('出货安排')}}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" v-hasPermi="['shipment:box:export']">导出
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" v-hasPermi="['shipment:box:export']">{{$t('导出')}}
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
......@@ -77,54 +77,54 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="自编号" align="center" prop="selfNo">
<el-table-column :label="$t('自编号')" align="center" prop="selfNo">
<template slot-scope="scope">
<a href="javascript:void(0)" @click="handleCommand(scope.row, 'detail')">{{ scope.row.selfNo }}</a>
</template>
</el-table-column>
<el-table-column label="柜号" align="center" prop="cubNo" />
<el-table-column label="柜型" align="center" prop="cabinetId">
<el-table-column :label="$t('柜号')" align="center" prop="cubNo" />
<el-table-column :label="$t('柜型')" align="center" prop="cabinetId">
<template slot-scope="scope">
<span>{{ getCabinetName(scope.row.cabinetId) }}</span>
</template>
</el-table-column>
<el-table-column label="运输方式" align="center" prop="transportType">
<el-table-column :label="$t('运输方式')" align="center" prop="transportType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportType" />
</template>
</el-table-column>
<el-table-column label="方数(预装/已装)" align="center" prop="">
<el-table-column :label="$t('方数(预装/已装)')" align="center" prop="">
<template slot-scope="{row}">
{{row.boxStatistics.volume}}/{{row.boxStatistics.loadVolume}}
</template>
</el-table-column>
<el-table-column label="重量(预装/已装)" align="center" prop="weight">
<el-table-column :label="$t('重量(预装/已装)')" align="center" prop="weight">
<template slot-scope="{row}">
{{row.boxStatistics.weight}}/{{row.boxStatistics.loadWeight}}
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="shipmentStatusText" />
<el-table-column :label="$t('状态')" align="center" prop="shipmentStatusText" />
<el-table-column label="日期" align="center" prop="createTime" width="180">
<el-table-column :label="$t('日期')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ new Date(scope.row.createTime).format('yyyy-MM-dd hh:mm:ss') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200px">
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="200px">
<template slot-scope="scope">
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)" style="marginRight:10px;">
<el-button type="primary">
操作<i class="el-icon-arrow-down el-icon--right"></i>
{{$t('操作')}}<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="edit">编辑</el-dropdown-item>
<el-dropdown-item command="sea">操作-海运</el-dropdown-item>
<el-dropdown-item command="error">异常登记</el-dropdown-item>
<el-dropdown-item command="cost">费用登记</el-dropdown-item>
<el-dropdown-item command="delete">删除</el-dropdown-item>
<el-dropdown-item v-if="scope.row.ldStatus>42" command="editLadingBill">编辑提货单</el-dropdown-item>
<el-dropdown-item command="edit">{{$t('编辑')}}</el-dropdown-item>
<el-dropdown-item command="sea">{{$t('操作-海运')}}</el-dropdown-item>
<el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item>
<el-dropdown-item command="cost">{{$t('费用登记')}}</el-dropdown-item>
<el-dropdown-item command="delete">{{$t('删除')}}</el-dropdown-item>
<el-dropdown-item v-if="scope.row.ldStatus>42" command="editLadingBill">{{$t('编辑提货单')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
......@@ -166,17 +166,17 @@
<div class="notice-title">您有{{noticeList.length}}个待处理出货操作,请尽快前往处理:</div>
<el-table :data="noticeList" height="500px" border>
<el-table-column :label="$t('自编号')" align="center" prop="selfNo" />
<el-table-column label="类型" align="center">
<el-table-column :label="$t('类型')" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_NOTICE_TYPE" :value="String(scope.row.noticeType)" />
</template>
</el-table-column>
<el-table-column label="预计时间" align="center">
<el-table-column :label="$t('预计时间')" align="center">
<template slot-scope="scope">
{{formatDate(scope.row.createTime)}}
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="80">
<el-table-column :label="$t('操作')" align="center" width="80">
<template slot-scope="scope">
<el-button type="text" @click="handleCommand(scope.row, 'sea')">处理</el-button>
</template>
......
......@@ -192,6 +192,7 @@ export default {
}
this.currRow = row;
this.$set(this.dialogCfg, "type", type);
this.$set(this.dialogCfg, "width", "750px");
this.$set(this.dialogCfg, "visible", true);
},
makeBill(row) {
......@@ -201,11 +202,10 @@ export default {
}).then((res) => {
const { data } = res;
const { titleZh = "", contentZh = "" } = data?.ladingTemplate ?? {};
let billContent = `${titleZh}${data.orderInfo}${contentZh}`,
orderNo = data.orderInfo?.orderNo ?? "";
let billContent = `${titleZh}${data.orderInfo}${contentZh}`;
this.currData = {
billContent,
orderNo,
orderNo: this.currRow.orderNo,
};
});
},
......
......@@ -3,7 +3,9 @@
<el-row>
<div class="title-orderNo">订单号:{{orderNo}}</div>
</el-row>
<vue-ueditor-wrap v-model="billContent" :config="editorConfig" editor-id="billUeditor" />
<el-row class="ueditor-row">
<vue-ueditor-wrap v-model="billContent" :config="editorConfig" editor-id="billUeditor" style="max-width: 690px;" />
</el-row>
<!-- 审核流程 -->
<el-row class="process-area">
......@@ -22,7 +24,7 @@
</div>
</el-row>
<el-dialog :title="dialogCfg.title" :visible.sync="visible" width="80%" append-to-body class="shippingSea-dialog">
<el-dialog :title="dialogCfg.title" :visible.sync="visible" width="850px" append-to-body class="shippingSea-dialog">
<previewBill v-if="visible" :contentHtml="billContent" :currRow="currRow" :type="dialogCfg.type" />
</el-dialog>
</el-row>
......@@ -234,5 +236,9 @@ export default {
text-align: center;
}
}
.ueditor-row {
display: flex;
justify-content: center;
}
}
</style>
<template>
<el-row>
<div v-html="contentHtml"></div>
<div v-html="contentHtml" class="contentHtml"></div>
<el-row v-if="currRow.status === 2 && type === 'previewBill'" style="text-align: center;">
<el-button type="primary" @click="download">下载</el-button>
<el-button type="primary" @click="print">打印</el-button>
......@@ -55,6 +55,11 @@ export default {
};
</script>
<style lang="scss" scoped>
::v-deep .contentHtml {
> table {
width: 96% !important;
margin-left: 2%;
}
}
</style>
......@@ -16,7 +16,7 @@
{{getVolumeWeight(loadDetail.totalStatistics)}}
</el-descriptions-item>
<el-descriptions-item label="货柜状态">
{{getCabinetStatus(boxBackVO)}}
{{boxBackVO.shipmentStatusText}}
</el-descriptions-item>
</el-descriptions>
......@@ -47,7 +47,7 @@
{{getVolumeWeight(loadDetail.totalStatistics)}}
</el-descriptions-item>
<el-descriptions-item label="货柜状态">
{{getCabinetStatus(boxBackVO)}}
{{boxBackVO.shipmentStatusText}}
</el-descriptions-item>
</el-descriptions>
......
......@@ -182,15 +182,15 @@
<el-form ref="shopForm" :model="shopForm" :rules="shopRules" label-width="100px">
<el-row>
<el-form-item label="中文品名:" prop="prodTitleZh">
<el-select v-model="shopForm.prodTitleZh" placeholder="请选择中文品名" @change="changeProdTitleZh">
<el-option v-for="item in orderItems" :label="item.prodTitleZh" :value="item.prodTitleZh" :key="item.prodTitleZh"></el-option>
<el-select v-model="shopForm.zhId" placeholder="请选择中文品名" @change="changeProdTitleZh">
<el-option v-for="item in orderItems" :label="item.prodTitleZh" :value="iitem.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="英文品名:" prop="prodTitleEn">
<el-select v-model="shopForm.prodTitleEn" placeholder="请选择英文品名" @change="changeProdTitleEn">
<el-option v-for="item in orderItems" :label="item.prodTitleEn" :value="item.prodTitleEn" :key="item.prodTitleEn"></el-option>
<el-select v-model="shopForm.enId" placeholder="请选择英文品名" @change="changeProdTitleEn">
<el-option v-for="item in orderItems" :label="item.prodTitleEn" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="剩余箱数:">
......@@ -318,8 +318,6 @@ export default {
},
/* 打开拆单 */
getSplit() {
this.querySplitGoods().then((res) => {
if (res) {
if (this.currRow.goodsList && this.currRow.goodsList.length) {
const [orderItem] = this.currRow.goodsList;
createSplit({
......@@ -332,8 +330,6 @@ export default {
this.querySplitGoods();
});
}
}
});
},
/* 查询拆单项 */
querySplitGoods() {
......@@ -346,6 +342,7 @@ export default {
const { orderSplitBackVOList } = res.data;
if (orderSplitBackVOList && orderSplitBackVOList.length) {
this.orderItems = this.currRow.goodsList ?? [];
console.log(this.orderItems)
// 取拆单项
this.splitData = orderSplitBackVOList.filter(
(item) => !item.isMaster
......@@ -389,8 +386,14 @@ export default {
leviteSum,
column.warehouseInInfoVO?.cartonsNum ?? 0
).toNumber();
leviteV += Decimal.add(leviteV, column.warehouseInInfoVO?.volume ?? 0).toFixed(2);
leviteW += Decimal.add(leviteW, column.warehouseInInfoVO?.weight ?? 0).toFixed(2);
leviteV = Decimal.add(
leviteV,
column.warehouseInInfoVO?.volume ?? 0
).toFixed(2);
leviteW = Decimal.add(
leviteW,
column.warehouseInInfoVO?.weight ?? 0
).toFixed(2);
});
sums[1] =
"下单统计:" +
......@@ -438,7 +441,7 @@ export default {
changeProdTitleZh() {
let list = [];
list = this.currRow.goodsList.filter(
(item) => item.prodTitleZh == this.shopForm.prodTitleZh
(item) => item.id == this.shopForm.zhId
);
this.shopForm.sum =
this.currRow.num - this.currRow.installNum - this.totalSplitNum();
......@@ -448,7 +451,7 @@ export default {
changeProdTitleEn() {
let list = [];
list = this.orderData.orderItemVOList.filter(
(item) => item.prodTitleEn == this.shopForm.prodTitleEn
(item) => item.id == this.shopForm.enId
);
this.shopForm.sum =
this.currRow.num - this.currRow.installNum - this.totalSplitNum();
......@@ -460,7 +463,10 @@ export default {
if (valid) {
// 输入箱数大于实装箱数
const total = this.totalSplitNum();
const canSplitNum = Decimal.sub(this.currRow.num, this.currRow.installNum).toNumber();
const canSplitNum = Decimal.sub(
this.currRow.num,
this.currRow.installNum
).toNumber();
const remain = Decimal.sub(canSplitNum, total).toNumber();
if (this.shopForm.num > remain) {
this.$message.error("放入箱数不能大于总箱数");
......
......@@ -545,7 +545,7 @@ export default {
},
/* 是否显示拆单 */
isShowSplitOrder(row) {
if (row.num > row.installNum) {
if (row.num > row.installNum && row.installNum !== 0) {
return true;
}
return false;
......
......@@ -159,7 +159,7 @@ import {
formatDateStr,
serviceMsg,
toReviewDetail,
downloadFile,
downloadFileByUrl,
} from "../utils";
import ImageUpload from "@/components/ImageUpload";
import Decimal from "decimal.js";
......@@ -477,12 +477,7 @@ export default {
},
/* 下载报关单 */
downloadCusFile() {
downloadFile(
"downloadCustomFiles",
{ shipmentId: this.shipmentObj.id },
`报关单(${this.shipmentObj.selfNo}).xlsx`,
"xlsx"
);
downloadFileByUrl('downloadCustomFiles', { shipmentId: this.shipmentObj.id });
},
},
watch: {
......
......@@ -5,8 +5,9 @@
<el-row class="number-area">
<p class="label-font">自编号:</p>
<p class="label-font">{{selfNo}}</p>
<el-input v-model="labelNo" placeholder="请输入标签号"></el-input>
<el-input v-model="labelNo" placeholder="请输入"></el-input>
<div>
<el-button type="primary" @click="modifyUnload">提交</el-button>
<el-button type="primary" @click="modifyBatchUnload">批量输入</el-button>
<el-button type="primary" @click="modifyAllUnload">一键卸柜</el-button>
</div>
......@@ -122,6 +123,7 @@ import {
approvalCreate,
approvalCancel,
getSectionList,
singleUnload,
} from "@/api/ecw/boxSea";
import { serviceMsg, getTotlContent, toReviewDetail } from "../../utils";
import WorkFlow from "@/components/WorkFlow";
......@@ -190,14 +192,30 @@ export default {
this.loading = false;
});
},
/* 单个卸柜 */
modifyUnload() {
if (!this.labelNo) {
this.$message.error("请输入箱号标签");
return;
}
singleUnload({
orderNumCode: this.labelNo,
shipmentId: this.$attrs.shipmentObj.id,
}).then((res) => {
serviceMsg(res, this).then((res) => {
this.labelNo = "";
this.getLoadGoodsList();
});
});
},
/* 批量输入 */
modifyBatchUnload() {
if (!this.labelNo) {
this.$message.error("请输入标签");
this.$message.error("请输入订单");
return;
}
batchUnload({
orderNumCode: this.labelNo,
orderNo: this.labelNo,
shipmentId: this.$attrs.shipmentObj.id,
}).then((res) => {
serviceMsg(res, this).then((res) => {
......
......@@ -20,7 +20,7 @@
{{importCityName(shipmentObj.destWarehouseId)}}
</el-descriptions-item>
<el-descriptions-item label="状态">
{{statusLabel}}
{{shipmentObj.shipmentStatusText}}
</el-descriptions-item>
</el-descriptions>
</el-card>
......
......@@ -282,8 +282,8 @@
>
<template v-slot = "{row}">
<el-form-item label="">
<el-select v-model="row.userid" @change="selectBD" size="mini" filterable>
<el-option v-for="(item,index) in memberList" :value="item.id" :key="item.id" :label="item.nickname + '(' + item.mobile + ')'" ></el-option>
<el-select v-model="row.userid" remote :remote-method="getUserMemberUserFn" @change="selectBD" size="mini" filterable>
<el-option v-for="(item,index) in userMemberUser" :value="item.id" :key="index" :label="item.nickname + '(' + item.mobile + ')'" ></el-option>
</el-select>
</el-form-item>
</template>
......@@ -408,7 +408,7 @@ import {
createCustomer,
getCustomer,
getCustomerList,
getCustomerPage,
getCustomerPage, memberUserList,
updateCustomer,
userMemberUserList,
} from '@/api/ecw/customer'
......@@ -440,16 +440,23 @@ export default {
created() {
this.getCustomerSelect()
this.reset()
this.getUserMemberUserFn()
if(this.customerId !== '0') {
// 编辑客户
this.getCustomer(this.customerId).then(() => {
getCustomerContactsListByCustomer({customerId: this.customerId}).then(r => {
this.form.customerContacts = r.data
let list = this.form.customerContacts.map(item => item.userid);
if(list.length >0){
memberUserList({ids:list.join(',')}).then(r=>{
this.selectMemberList = r.data
})
}
if(this.form.promoter){
getCustomerList({ids:this.form.promoter}).then(r => {
console.log(r,'r');
this.recommended = r.data;
})
}
})
})
} else {
......@@ -478,10 +485,6 @@ export default {
getCountryListAll().then(r => {
this.countryList = r.data
})
userMemberUserList().then(r => {
this.memberList = r.data
})
this.getZhongPao()
},
data(){
......@@ -532,10 +535,16 @@ export default {
zhongLines: [], // 重货线路
paoLines: [], // 泡货线路
memberList:[],//会员列表
selectMemberList:[]//选中会员列表
}
},
methods: {
getUserMemberUserFn(val){
userMemberUserList({pageNo:1,pageSize:100,searchKey:val}).then(r => {
this.memberList = r.data.list
})
},
remoteMethod(val){
this.getCustomerSelect(val);
},
......@@ -585,8 +594,12 @@ export default {
this.form.customerContacts[0].isDefault = 1
}
},
selectBD(){
this.$forceUpdate();
selectBD(val){
let i = this.selectMemberList.find(item => item.id === val);
if(i === undefined){
this.selectMemberList.push(this.memberList.find(item => item.id === val))
}
this.getUserMemberUserFn()
},
/** 取消按钮 */
cancel() {
......@@ -743,6 +756,12 @@ export default {
}
},
computed: {
userMemberUser(){
let list = this.memberList.filter(item => {
return this.selectMemberList.findIndex(i => i.id === item.id) < 0
})
return [...this.selectMemberList,...list]
},
productListFilter(){
return this.productList.filter((p) => p.typeId === this.form.productType)
},
......
......@@ -406,7 +406,7 @@ import {
orderStatistics,
creditLogCreate,
creditScoreStatistic,
infoListReceiptPage, userMemberUserList
infoListReceiptPage, userMemberUserList, memberUserList
} from '@/api/ecw/customer'
import { DICT_TYPE, getDictDataLabel, getDictDatas2 } from '@/utils/dict'
import { getProductTypeList } from '@/api/ecw/productType'
......@@ -444,6 +444,10 @@ export default {
getCustomerContactsListByCustomer({customerId: this.id}).then(r => {
this.customerContacts = r.data
let list = this.customerContacts.map(r => r.userid)
memberUserList({ids:list.join(',')}).then(r => {
this.memberList = r.data
})
})
getCountry(this.customer.country ? this.customer.country : 0 ).then(r => {
......@@ -469,9 +473,7 @@ export default {
this.creditScoreStatisticFn()
this.infoListReceiptFn()
userMemberUserList().then(r => {
this.memberList = r.data
})
},
data() {
return {
......
......@@ -5,13 +5,15 @@
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item :label="$t('客户名称')" prop="customerId" >
<el-select
:remote-method="customerDropDownFn"
remote
clearable
filterable
v-model="queryParams.customerId"
:placeholder="$t('请输入关键词')">
<el-option
v-for="(item, index) in customeList"
:key="index"
v-for="(item, index) in customerNameFn"
:key="item.id"
:value="item.id"
:label="item.name"
>
......@@ -140,6 +142,7 @@ import {deleteCustomerCommission, getCustomerCommissionPage, exportCustomerCommi
import {DICT_TYPE, getDictDatas} from "@/utils/dict";
import {getTradeCityList} from "@/api/ecw/region";
import {customerDropDownList} from "@/api/ecw/customerCommissionInfo";
import {getCustomerList} from "@/api/ecw/customer";
export default {
name: "CustomerCommission",
......@@ -187,6 +190,7 @@ export default {
darkReturnType: [{ required: true, message: this.$t('暗佣类型 1产品2达标不能为空'), trigger: "change" }],
},
customeList:[],
selectCustomeList:[]
};
},
computed:{
......@@ -198,16 +202,24 @@ export default {
exportCityList(){
return this.tradeCityList.filter(item => item.type == 2)
},
customerNameFn(){
if(this.selectCustomeList.length > 0){
let i = this.customeList.findIndex(item => item.id === this.selectCustomeList[0].id)
if(i < 0){
this.customeList.unshift(this.selectCustomeList[0])
}
}
return this.customeList
}
},
created() {
customerDropDownList().then(res => {
console.log(res);
if (res.code === 0) {
this.customeList = res.data
}
})
this.customerDropDownFn()
if(this.$route.query.customerId){
this.queryParams.customerId = Number(this.$route.query.customerId)
getCustomerList({ids:this.queryParams.customerId}).then(r =>{
console.log(r,'rrr');
this.selectCustomeList = r.data
})
}
this.getList();
getTradeCityList().then(res => {
......@@ -215,6 +227,13 @@ export default {
})
},
methods: {
customerDropDownFn(val){
customerDropDownList({pageNo:1,pageSize: 100,searchKey:val}).then(res => {
if (res.code === 0) {
this.customeList = res.data.list
}
})
},
/** 查询列表 */
getList() {
this.loading = true;
......
......@@ -3,29 +3,29 @@
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="订单号" prop="orderCode">
<el-input v-model="queryParams.orderCode" placeholder="请输入订单号" clearable @keyup.enter.native="handleQuery"/>
<el-form-item :label="$t('订单号')" prop="orderCode">
<el-input v-model="queryParams.orderCode" :placeholder="$t('请输入订单号')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="咨询类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择咨询类型" clearable size="small">
<el-form-item :label="$t('咨询类型')" prop="type">
<el-select v-model="queryParams.type" :placeholder="$t('请选择咨询类型')" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.ECW_MESSAGE_LEAVE_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-form-item :label="$t('状态')" prop="status">
<el-select v-model="queryParams.status" :placeholder="$t('请选择状态')" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.ECW_MESSAGE_LEAVE_STATUS)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-form-item :label="$t('创建时间')">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" />
type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</el-form>
......@@ -33,43 +33,43 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ecw:message-leave:create']">新增</el-button>
v-hasPermi="['ecw:message-leave:create']">{{$t('新增')}}</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ecw:message-leave:export']">导出</el-button>
v-hasPermi="['ecw:message-leave:export']">{{$t('导出')}}</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="主键" align="center" prop="id" />
<el-table-column label="姓名" align="center" prop="name" />
<el-table-column label="联系方式" align="center" prop="phone" />
<el-table-column label="订单号" align="center" prop="orderCode" />
<el-table-column label="留言内容" align="center" prop="content" />
<el-table-column label="咨询类型" align="center" prop="type">
<el-table-column :label="$t('主键')" align="center" prop="id" />
<el-table-column :label="$t('姓名')" align="center" prop="name" />
<el-table-column :label="$t('联系方式')" align="center" prop="phone" />
<el-table-column :label="$t('订单号')" align="center" prop="orderCode" />
<el-table-column :label="$t('留言内容')" align="center" prop="content" />
<el-table-column :label="$t('咨询类型')" align="center" prop="type">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_MESSAGE_LEAVE_TYPE" :value="scope.row.type" />
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status">
<el-table-column :label="$t('状态')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_MESSAGE_LEAVE_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="咨询时间" align="center" prop="createTime" width="180">
<el-table-column :label="$t('咨询时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:message-leave:update']">查看</el-button>
v-hasPermi="['ecw:message-leave:update']">{{$t('查看')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:message-leave:delete']">删除</el-button>
v-hasPermi="['ecw:message-leave:delete']">{{$t('删除')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -80,83 +80,83 @@
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入姓名" :disabled="form.id ? true : false"/>
<el-form-item :label="$t('姓名')" prop="name">
<el-input v-model="form.name" :placeholder="$t('请输入姓名')" :disabled="form.id ? true : false"/>
</el-form-item>
<el-form-item label="联系方式" prop="phone">
<el-input v-model="form.phone" placeholder="请输入联系方式" :disabled="form.id ? true : false"/>
<el-form-item :label="$t('联系方式')" prop="phone">
<el-input v-model="form.phone" :placeholder="$t('请输入联系方式')" :disabled="form.id ? true : false"/>
</el-form-item>
<el-form-item label="订单号" prop="orderCode">
<el-input v-model="form.orderCode" placeholder="请输入订单号" :disabled="form.id ? true : false"/>
<el-form-item :label="$t('订单号')" prop="orderCode">
<el-input v-model="form.orderCode" :placeholder="$t('请输入订单号')" :disabled="form.id ? true : false"/>
</el-form-item>
<el-form-item label="咨询类型" prop="type">
<el-select v-model="form.type" placeholder="请选择咨询类型" :disabled="form.id ? true : false">
<el-form-item :label="$t('咨询类型')" prop="type">
<el-select v-model="form.type" :placeholder="$t('请选择咨询类型')" :disabled="form.id ? true : false">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.ECW_MESSAGE_LEAVE_TYPE)"
:key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item label="留言内容">
<el-form-item :label="$t('留言内容')">
<el-input
v-model="form.content" :disabled="form.id ? true : false"
type="textarea"
:rows="4"
placeholder="请输入留言内容">
:placeholder="$t('请输入留言内容')">
</el-input>
</el-form-item>
<el-form-item label="回复内容" :hidden="form.id ? false : true">
<el-form-item :label="$t('回复内容')" :hidden="form.id ? false : true">
<el-input
v-model="form.replyContent"
type="textarea"
:rows="4"
placeholder="请输入留言内容">
:placeholder="$t('请输入留言内容')">
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="submitForm">{{$t('确 定')}}</el-button>
<el-button @click="cancel">{{$t('取 消')}}</el-button>
</div>
</el-dialog>
<!-- 留言详情-->
<el-dialog title="留言详情" :visible.sync="leavingShow" width="500px" append-to-body>
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">姓名:</el-col><el-col :span="12">{{messageVal.name ? messageVal.name : ''}}</el-col>
<el-col :span="4">{{$t('姓名')}}:</el-col><el-col :span="12">{{messageVal.name ? messageVal.name : ''}}</el-col>
</el-row>
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">联系方式:</el-col><el-col :span="12">{{messageVal.phone}}</el-col>
<el-col :span="4">{{$t('联系方式')}}:</el-col><el-col :span="12">{{messageVal.phone}}</el-col>
</el-row>
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">当前状态:</el-col><el-col :span="12">{{messageVal.status === 1 ? '待回复' : '已回复'}}</el-col>
<el-col :span="4">{{$t('当前状态')}}:</el-col><el-col :span="12">{{messageVal.status === 1 ? '待回复' : '已回复'}}</el-col>
</el-row>
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">订单编号:</el-col><el-col :span="12">{{messageVal.orderCode}}</el-col>
<el-col :span="4">{{$t('订单编号')}}:</el-col><el-col :span="12">{{messageVal.orderCode}}</el-col>
</el-row>
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">留言类型:</el-col><el-col :span="12">{{messageVal.type === 1 ? '咨询':'建议'}}</el-col>
<el-col :span="4">{{$t('留言类型')}}:</el-col><el-col :span="12">{{messageVal.type === 1 ? '咨询':'建议'}}</el-col>
</el-row>
<div style="background-color:#cccccc;padding:10px 20px;">
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">{{messageVal.type === 1 ? '咨询':'建议'}}时间:</el-col><el-col :span="12">{{parseTime(messageVal.createTime)}}</el-col>
<el-col :span="4">{{messageVal.type === 1 ? $t('咨询'):$t('建议')}}{{$t('时间')}}:</el-col><el-col :span="12">{{parseTime(messageVal.createTime)}}</el-col>
</el-row>
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">{{messageVal.type === 1 ? '咨询':'建议'}}内容:</el-col><el-col :span="12">{{messageVal.content}}</el-col>
<el-col :span="4">{{messageVal.type === 1 ? $t('咨询'):$t('建议')}}{{$t('内容')}}:</el-col><el-col :span="12">{{messageVal.content}}</el-col>
</el-row>
</div>
<div style="background-color:#f6f6f6;padding:10px 20px;margin-top: 20px;">
<el-row v-if="messageVal.status === 2" class="el-row-leaving" :gutter="10">
<el-col :span="4">回复人:</el-col><el-col :span="12">{{messageVal.replyUserId}}</el-col>
<el-col :span="4">{{$t('回复人')}}:</el-col><el-col :span="12">{{messageVal.replyUserId}}</el-col>
</el-row>
<el-row v-if="messageVal.status === 2" class="el-row-leaving" :gutter="10">
<el-col :span="4">回复时间:</el-col><el-col :span="12">{{parseTime(messageVal.replyTime)}}</el-col>
<el-col :span="4">{{$t('回复时间')}}:</el-col><el-col :span="12">{{parseTime(messageVal.replyTime)}}</el-col>
</el-row>
<el-row class="el-row-leaving" :gutter="10">
<el-col :span="4">回复内容:</el-col><el-col :span="12"><el-input type="textarea" v-model="messageVal.replyContent" :disabled="messageVal.status === 2"></el-input></el-col><el-col :span="4"><el-button v-if="messageVal.status === 1" @click="replyFn">回复</el-button></el-col>
<el-col :span="4">{{$t('回复内容')}}:</el-col><el-col :span="12"><el-input type="textarea" v-model="messageVal.replyContent" :disabled="messageVal.status === 2"></el-input></el-col><el-col :span="4"><el-button v-if="messageVal.status === 1" @click="replyFn">{{$t('回复')}}</el-button></el-col>
</el-row>
</div>
<div slot="footer" style="text-align: center;">
<el-button type="primary" @click="leavingShow = false;">关 闭</el-button>
<el-button type="primary" @click="leavingShow = false;">{{$t('关 闭')}}</el-button>
</div>
</el-dialog>
</div>
......@@ -271,7 +271,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "添加留言";
this.title = this.$t('添加留言');
},
/** 修改按钮操作 */
handleUpdate(row) {
......@@ -291,7 +291,7 @@ export default {
}
// 添加的提交
createMessageLeave(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$modal.msgSuccess(this.$t('新增成功'));
this.open = false;
this.getList();
});
......@@ -300,11 +300,11 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除留言编号为"' + id + '"的数据项?').then(function() {
this.$modal.confirm(this.$t('是否确认删除留言编号为"') + id + this.$t('"的数据项?')).then(function() {
return deleteMessageLeave(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
this.$modal.msgSuccess(this.$t('删除成功'));
}).catch(() => {});
},
/** 导出按钮操作 */
......@@ -315,7 +315,7 @@ export default {
params.pageSize = undefined;
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行导出
this.$modal.confirm('是否确认导出所有留言数据项?').then(() => {
this.$modal.confirm(this.$t('是否确认导出所有留言数据项?')).then(() => {
this.exportLoading = true;
return exportMessageLeaveExcel(params);
}).then(response => {
......@@ -325,7 +325,7 @@ export default {
},
replyFn(){
replyMessageLeave({id:this.messageVal.id, replyContent:this.messageVal.replyContent,}).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t('修改成功'));
this.leavingShow = false;
this.getList();
});
......
......@@ -84,7 +84,10 @@
<el-descriptions-item :label="$t('联系电话')">
<el-input :disabled="type == 2" v-model="params.phone"></el-input>
</el-descriptions-item>
<el-descriptions-item :label="$t('出仓日期')" >
<el-descriptions-item>
<template slot="label">
<span style="color: red;font-size: 20px;margin-right: 5px;">*</span>{{$t('出仓日期')}}
</template>
<el-date-picker
:disabled="type == 2"
value-format="yyyy-MM-dd HH:mm:ss"
......
......@@ -174,13 +174,16 @@
<el-tab-pane label="添加新品名" name="second" v-if="!edit">
<el-descriptions border :column="2">
<el-descriptions-item label="中文品名">
<el-descriptions-item>
<template slot="label"><span style="color: red">*</span> 中文品名</template>
<product-selector v-model="form1.prodId" @change="onProductChange"/>
</el-descriptions-item>
<el-descriptions-item label="英文品名">
<el-descriptions-item>
<template slot="label"><span style="color: red">*</span> 英文品名</template>
<product-selector lang="En" v-model="form1.prodId" @change="onProductChange"/>
</el-descriptions-item>
<el-descriptions-item label="品牌">
<template slot="label"><span style="color: red">*</span> 品牌</template>
<el-select
v-model="form1.brand"
placeholder="可修改"
......@@ -195,8 +198,14 @@
</el-option>
</el-select>
</el-descriptions-item>
<el-descriptions-item label="是否备案">{{ isBeian1 }}</el-descriptions-item>
<el-descriptions-item label="收费模式">{{ feeType1 }}</el-descriptions-item>
<el-descriptions-item label="是否备案">
<template slot="label"><span style="color: red">*</span> 是否备案</template>
{{ isBeian1 }}
</el-descriptions-item>
<el-descriptions-item label="收费模式">
<template slot="label"><span style="color: red">*</span> 收费模式</template>
{{ feeType1 }}
</el-descriptions-item>
<el-descriptions-item label="填单参数">非填单货物</el-descriptions-item>
</el-descriptions>
<el-form ref="form" :model="form" label-width="80px" style="margin-top: 20px">
......@@ -219,6 +228,9 @@
:data="tableData1"
style="width: 100%">
<el-table-column label="箱数" width="150px">
<template v-slot:header>
<span style="color: red">*</span> 箱数
</template>
<template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.cartonsNum" :prop="$index + '.cartonsNum'">
<span v-if="tableData1[$index].id">
......@@ -232,6 +244,9 @@
</template>
</el-table-column>
<el-table-column label="包装类型" width="100px">
<template v-slot:header>
<span style="color: red">*</span> 包装类型
</template>
<template v-slot="{r,c,$index}">
<el-form-item>
<span v-if="tableData1[$index].id">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, tableData1[$index].unit) }}</span>
......@@ -264,6 +279,9 @@
</template>
</el-table-column>
<el-table-column label="体积(m³)">
<template v-slot:header>
<span style="color: red">*</span> 体积(m³)
</template>
<template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.volume" :prop="$index + '.volume'">
<span v-if="tableData1[$index].id">{{ tableData1[$index].volume }}</span>
......@@ -272,6 +290,9 @@
</template>
</el-table-column>
<el-table-column label="重量(Kg)">
<template v-slot:header>
<span style="color: red">*</span> 重量(Kg)
</template>
<template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.weight" :prop="$index + '.weight'">
<span v-if="tableData1[$index].id">{{ tableData1[$index].weight }}</span>
......@@ -280,6 +301,9 @@
</template>
</el-table-column>
<el-table-column label="数量" width="130px">
<template v-slot:header>
<span style="color: red">*</span> 数量
</template>
<template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.quantityAll" :prop="$index + '.quantityAll'">
<span v-if="tableData1[$index].id">{{ tableData1[$index].quantityAll }}</span>
......@@ -424,7 +448,7 @@ export default {
quantityAll: [{required: true, message: "数量不能为空", trigger: "change"}]
},
form1: {
"brand": "0",
"brand": undefined,
"brandType": 0,
"inTime": "",
"material": "",
......@@ -463,7 +487,7 @@ export default {
opened(val) {
if (val) {
this.form.material = this.warehousing.material
this.form.brand = this.warehousing.brand || '0'
this.form.brand = this.warehousing.brand
this.handleBrandChange(this.form.brand)
} else {
this.$emit('update:visible', false)
......
......@@ -5,60 +5,60 @@
<order-base-info :order="order"></order-base-info>
<div style="margin-top: 20px">
<span>储位{{ ($refs.area ? $refs.area.selected : []).join(',') }}</span>
<el-button type="primary" size="mini" @click="areaVisible = true" style="margin-left: 15px">选择</el-button>
<span>{{$t('储位')}}{{ ($refs.area ? $refs.area.selected : []).join(',') }}</span>
<el-button type="primary" size="mini" @click="areaVisible = true" style="margin-left: 15px">{{$t('选择')}}</el-button>
</div>
<h2>货物信息</h2>
<h2>{{$t('货物信息')}}</h2>
<el-table
:data="order.orderItemVOList || []"
style="width: 100%">
<el-table-column
type="index"
width="50"
label="序号">
:label="$t('序号')">
</el-table-column>
<el-table-column
prop="prodTitleZh"
label="品名">
:label="$t('品名')">
<template v-slot="{row}">
{{ row.prodTitleZh }}<br>
{{ row.prodTitleEn }}
</template>
</el-table-column>
<el-table-column
label="填单货物属性">
:label="$t('填单货物属性')">
<template v-slot="{row}">
<span v-if="row.isWarehouseInAdd">非填单货物信息</span>
<span v-if="row.isWarehouseInAdd">{{$t('非填单货物信息')}}</span>
<template v-else>
品牌:{{ ['无牌', '有牌', '中性'][row.brandType] }}<br>
箱数{{ row.num }}<br>
体积{{ row.volume }}<br>
重量{{ row.weight }}Kg
{{$t('品牌')}}{{ [$t('无牌'), $t('有牌'), $t('中性')][row.brandType] }}<br>
{{$t('箱数')}}{{ row.num }}<br>
{{$t('体积')}}{{ row.volume }}<br>
{{$t('重量')}}{{ row.weight }}Kg
</template>
</template>
</el-table-column>
<el-table-column
label="入库货物属性">
:label="$t('入库货物属性')">
<template v-slot="{row}">
<template v-if="row.warehouseInInfoVO">
品牌:{{ ['无牌', '有牌', '中性'][row.feeType] }}<br>
箱数{{ row.warehouseInInfoVO.cartonsNum }}<br>
体积{{ row.warehouseInInfoVO.volume }}<br>
重量{{ row.warehouseInInfoVO.weight }}Kg
{{$t('品牌')}}{{ [$t('无牌'), $t('有牌'), $t('中性')][row.feeType] }}<br>
{{$t('箱数')}}{{ row.warehouseInInfoVO.cartonsNum }}<br>
{{$t('体积')}}{{ row.warehouseInInfoVO.volume }}<br>
{{$t('重量')}}{{ row.warehouseInInfoVO.weight }}Kg
</template>
<span v-else>暂无入仓信息</span>
<span v-else>{{$t('暂无入仓信息')}}</span>
</template>
</el-table-column>
<el-table-column
prop="expressNo"
v-slot="{row}"
label="快递单号">
:label="$t('快递单号')">
{{ row.warehouseInInfoVO ? row.warehouseInInfoVO.expressNo : '' }}
</el-table-column>
<el-table-column
prop="createTime"
label="最后操作时间">
:label="$t('最后操作时间')">
<template v-slot="{row}">
{{ parseTime(row.createTime) }}
</template>
......@@ -66,29 +66,29 @@
<el-table-column
prop="diffType"
v-slot="{row}"
label="状态">
:label="$t('状态')">
<dict-tag v-if="row.warehouseInInfoVO && row.warehouseInInfoVO.diffType" :type="DICT_TYPE.ORDER_WAREHOUSE_IN_STATUS" :value="row.warehouseInInfoVO.diffType" class="red" :class="{green: row.warehouseInInfoVO.diffType === 4}"/>
<span class="red" v-if="row.warehouseInInfoVO && row.warehouseInInfoVO.cartonsNumDiff">{{ row.warehouseInInfoVO.cartonsNumDiff }}</span>
<span class="red" v-if="row.warehouseInInfoVO && row.warehouseInInfoVO.cartonsNumDiff">{{ row.warehouseInInfoVO.cartonsNumDiff }}{{$t('箱')}}</span>
</el-table-column>
<el-table-column
prop="address"
label="操作">
:label="$t('操作')">
<template v-slot="{ row, column, $index }">
<el-button v-if="isEdit" size="mini" type="text" @click="handleWarehousing($index)">修改</el-button>
<el-button v-if="isEdit" size="mini" type="text" @click="handleWarehousing($index)">{{$t('修改')}}</el-button>
<template v-else-if="orderItemList[$index] && orderItemList[$index].orderWarehouseInBackItemDoList && orderItemList[$index].orderWarehouseInBackItemDoList.length > 0">
<el-button size="mini" type="text" @click="handleWarehousing($index)">追加</el-button>
<el-button size="mini" type="text" @click="handleWarehousingReturn(row)">退仓</el-button>
<el-button size="mini" type="text" @click="handleWarehousing($index)">{{$t('追加')}}</el-button>
<el-button size="mini" type="text" @click="handleWarehousingReturn(row)">{{$t('退仓')}}</el-button>
</template>
<el-button v-else size="mini" type="text" @click="handleWarehousing($index)">入仓</el-button>
<el-button v-else size="mini" type="text" @click="handleWarehousing($index)">{{$t('入仓')}}</el-button>
</template>
</el-table-column>
</el-table>
<h2 v-if="orderSpecialNeeds.length > 0">特殊需求</h2>
<h2 v-if="orderSpecialNeeds.length > 0">{{$t('特殊需求')}}</h2>
<el-form ref="form" :model="form" label-width="120px">
<el-form-item :label="item.label" v-for="(item, index) in orderSpecialNeeds" :key="item.value" style="width: 400px">
<el-input v-model="form.orderSpecialNeedReceivableReqVoList[index].receivableMoney" :placeholder="'请输入' + item.label">
<el-select v-model="form.orderSpecialNeedReceivableReqVoList[index].receivableMoneyCurrency" placeholder="请选择" slot="append" style="width: 100px">
<el-input v-model="form.orderSpecialNeedReceivableReqVoList[index].receivableMoney" :placeholder="$t('请输入') + item.label">
<el-select v-model="form.orderSpecialNeedReceivableReqVoList[index].receivableMoneyCurrency" :placeholder="$t('请选择')" slot="append" style="width: 100px">
<el-option
v-for="item in currencyList"
:key="item.id"
......@@ -99,21 +99,21 @@
</el-input>
</el-form-item>
<h2>订单数据</h2>
<el-form-item label="总方数" style="width: 300px">
<el-input v-model="form.sumVolume" placeholder="请输入总方数" readonly>
<h2>{{$t('订单数据')}}</h2>
<el-form-item :label="$t('总方数')" style="width: 300px">
<el-input v-model="form.sumVolume" :placeholder="$t('请输入总方数')" readonly>
<span slot="append"></span>
</el-input>
</el-form-item>
<el-form-item label="总重量" style="width: 300px">
<el-input v-model="form.sumWeight" placeholder="请输入总重量" readonly>
<el-form-item :label="$t('总重量')" style="width: 300px">
<el-input v-model="form.sumWeight" :placeholder="$t('请输入总重量')" readonly>
<span slot="append">kg</span>
</el-input>
</el-form-item>
<el-card style="margin-top: 15px;">
<div slot="header" class="clearfix">
<span style="font-size: 18px">入仓影像</span>
<span style="font-size: 18px">{{$t('入仓影像')}}</span>
</div>
<div>
<image-and-video-upload :fileSize="50" :isShowTip="true" v-model="form.urls" ></image-and-video-upload>
......@@ -121,7 +121,7 @@
</el-card>
<template v-if="order.parentOrderId && isEdit">
<h2>标签箱号</h2>
<h2>{{$t('标签箱号')}}</h2>
<div v-for="(item, index) in label.orderLabelDtoList" :key="index" style="margin-bottom: 10px">
<el-input-number v-model="item.start" controls-position="right"></el-input-number> -
......@@ -130,12 +130,12 @@
<el-button icon="el-icon-plus" circle @click="handleLabelAdd(index)"></el-button>
</div>
<div style="text-align: center">
<el-button type="primary" @click="handleLabelSubmit">修改箱号</el-button>
<el-button type="primary" @click="handleLabelSubmit">{{$t('修改箱号')}}</el-button>
</div>
</template>
<div style="text-align: center;margin-top: 15px" v-if="!isEdit">
<el-button @click="escapeBol = true;" type="primary">转异</el-button>
<el-button type="primary" @click="finishVisible = true">完成入仓</el-button>
<el-button @click="escapeBol = true;" type="primary">{{$t('转异')}}</el-button>
<el-button type="primary" @click="finishVisible = true">{{$t('完成入仓')}}</el-button>
</div>
</el-form>
......@@ -146,33 +146,33 @@
<!-- 完成入仓 -->
<el-dialog
title="确认入仓"
:title="$t('确认入仓')"
:visible.sync="finishVisible"
width="300px">
<div style="text-align: center">在完成入仓前,您还可以</div>
<div style="text-align: center">{{$t('在完成入仓前,您还可以')}}</div>
<div style="text-align: center;padding: 15px 0">
<el-button type="info" @click="areaVisible = true">选择储位</el-button>
<el-button type="info" @click="isShowPrintTag = true">打印标签</el-button>
<el-button type="info" @click="areaVisible = true">{{$t('选择储位')}}</el-button>
<el-button type="info" @click="isShowPrintTag = true">{{$t('打印标签')}}</el-button>
</div>
<div style="text-align: center">
<el-button type="primary" @click="handleSubmit()">确 定</el-button>
<el-button type="primary" @click="handleSubmit()">{{$t('确 定')}}</el-button>
</div>
</el-dialog>
<el-dialog :title="order.orderNo + '订单转异'" center :visible.sync="escapeBol">
<el-dialog :title="order.orderNo + $t('订单转异')" center :visible.sync="escapeBol">
<el-form label-position="top" label-width="200">
<el-form-item label="原因类型">
<el-form-item :label="$t('原因类型')">
<dict-selector v-model="form.manualExceptionType" form-type="checkbox" :type="DICT_TYPE.MANUAL_EXCEPTION_TYPE" multiple ></dict-selector>
</el-form-item>
<el-form-item required label="附件">
<el-form-item required :label="$t('附件')">
<image-upload v-model="form.exceptionUrls"></image-upload>
</el-form-item>
<el-form-item label="详细信息">
<el-form-item :label="$t('详细信息')">
<el-input v-model="form.descZh" type="textarea"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleSubmit">确认并完成入仓</el-button>
<el-button @click="escapeBol = false">取消</el-button>
<el-button type="primary" @click="handleSubmit">{{$t('确认并完成入仓')}}</el-button>
<el-button @click="escapeBol = false">{{$t('取消')}}</el-button>
</span>
</el-dialog>
......@@ -280,7 +280,7 @@ export default {
orderId: this.orderId
}).then(r => {
if (r.code === 0){
this.$message.success(r.msg || '修改标签箱号成功')
this.$message.success(r.msg || this.$t('修改标签箱号成功'))
}
})
},
......@@ -317,9 +317,9 @@ export default {
},
async handleSubmit() {
if (this.specialHas0()) {
const confirm = await this.$confirm('有特需费用为0或未填写,请问是否继续?', '注意', {
confirmButtonText: '继续',
cancelButtonText: '取消',
const confirm = await this.$confirm(this.$t('有特需费用为0或未填写,请问是否继续?'), this.$t('注意'), {
confirmButtonText: this.$t('继续'),
cancelButtonText: this.$t('取消'),
type: 'warning'
})
if (confirm !== 'confirm'){
......@@ -337,26 +337,26 @@ export default {
if (this.escapeBol) {
form.exceptionUrls = this.form.exceptionUrls.split(',');
form.descZh = this.form.descZh;
form.manualExceptionType = this.form.manualExceptionType
form.manualExceptionType = this.form.manualExceptionType.join(',')
}
orderWarehouseInFinish(form).then(r => {
if (r.code === 0) {
this.escapeBol = false;
this.finishVisible = false
const message = !r.data ? '该订单已成功入仓,是否打印?' : "<h3>货物已入仓,存在异常</h3>该订单已成功入仓,是否打印?"
const message = !r.data ? this.$t('该订单已成功入仓,是否打印?') : `<h3>${this.$t('货物已入仓,存在异常')}</h3>${this.$t('该订单已成功入仓,是否打印?')}`
this.$confirm(
message,
'货物已入仓',
this.$t('货物已入仓'),
{
confirmButtonText: '',
cancelButtonText: '',
confirmButtonText: this.$t(''),
cancelButtonText: this.$t(''),
dangerouslyUseHTMLString: true
}
).then(() => {
this.isShowPrint = true
}).catch(() => {
// this.$store.dispatch('tagsView/delVisitedView')
this.$message.success('入仓成功')
this.$message.success(this.$t('入仓成功'))
this.$tab.closePage()
})
}
......@@ -367,9 +367,9 @@ export default {
this.warehousingVisible = true
},
handleWarehousingReturn(item){
this.$confirm(item.prodTitleZh + '退仓后不可恢复,是否确认退仓?', '确定要退仓?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
this.$confirm(item.prodTitleZh + this.$t('退仓后不可恢复,是否确认退仓?'), this.$t('确定要退仓?'), {
confirmButtonText: this.$t('确定'),
cancelButtonText: this.$t('取消'),
type: 'warning'
}).then(() => {
rollbackDelete({
......@@ -378,7 +378,7 @@ export default {
}).then(() => {
this.$message({
type: 'success',
message: '货物退仓成功!'
message: this.$t('货物退仓成功!')
});
getOrderWarehouseIn(this.orderId).then(r => this.orderItemList = r.data.reverse())
......
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