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