Commit c06f53d4 authored by 吴滔's avatar 吴滔
parents 310b3f53 7de4f13f
...@@ -9,7 +9,8 @@ yarn-error.log* ...@@ -9,7 +9,8 @@ yarn-error.log*
tests/**/coverage/ tests/**/coverage/
tests/e2e/reports tests/e2e/reports
selenium-debug.log selenium-debug.log
# 提取的需要翻译的文件列表
messages.txt
# Editor directories and files # Editor directories and files
.idea .idea
.vscode .vscode
......
const fs = require('fs');
const root = "./src"
let allFiles = []
function getFiles(dir){
let files = fs.readdirSync(dir)
files.forEach(file => {
let path = dir + '/' + file
if(fs.lstatSync(path).isDirectory()){
getFiles(path)
}else allFiles.push(path)
})
}
getFiles(root)
let messages = new Set()
allFiles.forEach(file => {
let data = fs.readFileSync(file, {encoding: 'utf-8'})
let matched = data.matchAll(/\$t\([\'\"]{1}([^\"\']+)[\'\"]{1}\)/g)
let i = 0
for(let item of matched){
i ++
messages.add(item[1])
}
})
fs.writeFileSync("./messages.txt", Array.from(messages).join("\n"))
console.log("done!")
\ No newline at end of file
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
<el-descriptions-item label="唛头">{{ order.marks }}</el-descriptions-item> <el-descriptions-item label="唛头">{{ order.marks }}</el-descriptions-item>
<el-descriptions-item label="已到箱数/总箱数">{{ order.sumNum }}/{{ order.costVO.totalNum }}</el-descriptions-item> <el-descriptions-item label="已到箱数/总箱数">{{ order.sumNum }}/{{ order.costVO.totalNum }}</el-descriptions-item>
<el-descriptions-item label="订单状态"><dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="order.status" :class="{red: order.status === 1, green: order.status === 5 || order.status === 2}" /></el-descriptions-item> <el-descriptions-item label="订单状态"><dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="order.status" :class="{red: order.status === 1, green: order.status === 5 || order.status === 2}" /></el-descriptions-item>
<el-descriptions-item label="送货时间">{{ order.deliveryDate || '' }}</el-descriptions-item>
<el-descriptions-item label="运输方式"> <el-descriptions-item label="运输方式">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.logisticsInfoDto.transportId"></dict-tag> <dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.logisticsInfoDto.transportId"></dict-tag>
</el-descriptions-item> </el-descriptions-item>
...@@ -16,6 +15,7 @@ ...@@ -16,6 +15,7 @@
<el-descriptions-item label="收货人姓名">{{ order.consigneeVO && order.consigneeVO.name || ''}}</el-descriptions-item> <el-descriptions-item label="收货人姓名">{{ order.consigneeVO && order.consigneeVO.name || ''}}</el-descriptions-item>
<el-descriptions-item label="收货人公司">{{ order.consigneeVO && order.consigneeVO.company || '' }}</el-descriptions-item> <el-descriptions-item label="收货人公司">{{ order.consigneeVO && order.consigneeVO.company || '' }}</el-descriptions-item>
<el-descriptions-item label="收货人电话">{{ order.consigneeVO &&(order.consigneeVO.countryCode + order.consigneeVO.phone) || '' }}</el-descriptions-item> <el-descriptions-item label="收货人电话">{{ order.consigneeVO &&(order.consigneeVO.countryCode + order.consigneeVO.phone) || '' }}</el-descriptions-item>
<el-descriptions-item label="送货时间">{{ order.deliveryDate || '' }}</el-descriptions-item>
<el-descriptions-item label="入仓类型">{{ getDictDataLabel(DICT_TYPE.ECW_WAREHOUSING_TYPE, order.warehouseType) }}</el-descriptions-item> <el-descriptions-item label="入仓类型">{{ getDictDataLabel(DICT_TYPE.ECW_WAREHOUSING_TYPE, order.warehouseType) }}</el-descriptions-item>
<el-descriptions-item label="订单号">{{ order.orderNo }}</el-descriptions-item> <el-descriptions-item label="订单号">{{ order.orderNo }}</el-descriptions-item>
</el-descriptions> </el-descriptions>
......
...@@ -3,14 +3,14 @@ ...@@ -3,14 +3,14 @@
<template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow"> <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
<app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)"> <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)">
<el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}"> <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}">
<item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" /> <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="$l(onlyOneChild.meta, 'title')" />
</el-menu-item> </el-menu-item>
</app-link> </app-link>
</template> </template>
<el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body> <el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body>
<template slot="title"> <template slot="title">
<item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" /> <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="$l(item.meta, 'title')" />
</template> </template>
<sidebar-item <sidebar-item
v-for="child in item.children" v-for="child in item.children"
......
...@@ -154,6 +154,7 @@ export const DICT_TYPE = { ...@@ -154,6 +154,7 @@ export const DICT_TYPE = {
DISBURSEMENT_TYPE: 'disbursement_type',//垫付类型 DISBURSEMENT_TYPE: 'disbursement_type',//垫付类型
DRAWEE: 'drawee', // 付款人 DRAWEE: 'drawee', // 付款人
ORDER_STATUS: 'order_status',//订单状态 ORDER_STATUS: 'order_status',//订单状态
ORDER_ITEM_STATUS:'order_item_status',
BEGINTIME_TYPE_ENDTIME: 'begintime_type_endtime',//订单日期筛选类别 BEGINTIME_TYPE_ENDTIME: 'begintime_type_endtime',//订单日期筛选类别
ORDER_ERROR_TYPE:'order_error_type',//订单异常类型 ORDER_ERROR_TYPE:'order_error_type',//订单异常类型
ORDER_EXCEPTION_STATUS:'order_exception_status',//异常订单状态 ORDER_EXCEPTION_STATUS:'order_exception_status',//异常订单状态
......
<template> <template>
<div class="app-container"> <div class="app-container">
<doc-alert title="工作流" url="https://doc.iocoder.cn/bpm" /> <doc-alert title="工作流1" url="https://doc.iocoder.cn/bpm" />
<!-- 列表 --> <!-- 列表 -->
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
...@@ -168,8 +168,8 @@ export default { ...@@ -168,8 +168,8 @@ export default {
}; };
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
.my-process-designer { /* .my-process-designer {
height: calc(100vh - 200px); height: calc(100vh - 200px);
} } */
</style> </style>
...@@ -538,8 +538,8 @@ export default { ...@@ -538,8 +538,8 @@ export default {
}; };
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
.my-process-designer { /* .my-process-designer {
height: calc(100vh - 200px); height: calc(100vh - 200px);
} } */
</style> </style>
<template> <template>
<div class="app-container"> <div class="app-container">
<!-- 流程设计器,负责绘制流程等 --> <!-- 流程设计器,负责绘制流程等 -->
<my-process-designer :key="`designer-${reloadIndex}`" v-model="xmlString" v-bind="controlForm" <my-process-designer :key="`designer-${reloadIndex}`" v-model="xmlString" v-bind="controlForm"
keyboard ref="processDesigner" @init-finished="initModeler" keyboard ref="processDesigner" @init-finished="initModeler"
...@@ -130,6 +129,9 @@ export default { ...@@ -130,6 +129,9 @@ export default {
// display: inline-grid; // display: inline-grid;
// grid-template-columns: 100px auto max-content; // grid-template-columns: 100px auto max-content;
//} //}
.app-container{
min-height: calc(100vh - 84px);
}
.demo-control-bar { .demo-control-bar {
position: fixed; position: fixed;
right: 8px; right: 8px;
...@@ -172,9 +174,9 @@ export default { ...@@ -172,9 +174,9 @@ export default {
color: #fafafa; color: #fafafa;
} }
.my-process-designer { /* .my-process-designer {
height: calc(100vh - 84px); height: calc(100vh - 84px);
} } */
.process-panel__container { .process-panel__container {
position: absolute; position: absolute;
right: 0; right: 0;
......
...@@ -164,9 +164,9 @@ export default { ...@@ -164,9 +164,9 @@ export default {
</script> </script>
<style lang="scss"> <style lang="scss">
.my-process-designer { /* .my-process-designer {
height: calc(100vh - 200px); height: calc(100vh - 200px);
} } */
.box-card { .box-card {
width: 100%; width: 100%;
......
...@@ -2,11 +2,8 @@ ...@@ -2,11 +2,8 @@
<div class="app-container"> <div class="app-container">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<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="name"> <el-form-item label="流程名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入流程名" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.name" placeholder="流程名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="所属流程" prop="processDefinitionId">
<el-input v-model="queryParams.processDefinitionId" placeholder="请输入流程定义的编号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="流程分类" prop="category"> <el-form-item label="流程分类" prop="category">
<el-select v-model="queryParams.category" placeholder="请选择流程分类" clearable> <el-select v-model="queryParams.category" placeholder="请选择流程分类" clearable>
...@@ -38,10 +35,10 @@ ...@@ -38,10 +35,10 @@
<!-- 操作工具栏 --> <!-- 操作工具栏 -->
<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="['bpm:process-instance:query']">发起流程</el-button> v-hasPermi="['bpm:process-instance:query']">发起流程</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>
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
<div class="app-container"> <div class="app-container">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<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="name"> <el-form-item label="任务名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入流程名" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.name" placeholder="请输入任务名" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="流程分类" prop="category"> <el-form-item label="流程分类" prop="category">
<el-select v-model="queryParams.category" placeholder="请选择流程分类" clearable> <el-select v-model="queryParams.category" placeholder="请选择流程分类" clearable>
......
<template> <template>
<el-row :gutter="40" class="panel-group" v-if="data"> <el-row :gutter="40" class="panel-group" v-if="data">
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
<div class="card-panel" @click="handleSetLineChartData('newVisitis')"> <div class="card-panel" @click="checkPermi(['member:user']) ? $router.push('/member/member-user') : $alert($t('暂无权限'))">
<div class="card-panel-icon-wrapper icon-people"> <div class="card-panel-icon-wrapper icon-people">
<svg-icon icon-class="peoples" class-name="card-panel-icon" /> <svg-icon icon-class="peoples" class-name="card-panel-icon" />
</div> </div>
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
</div> </div>
</el-col> </el-col>
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
<div class="card-panel" @click="handleSetLineChartData('messages')"> <div class="card-panel" @click="$router.push('/system/internalMessage/my-internal-message?status=0')">
<div class="card-panel-icon-wrapper icon-message"> <div class="card-panel-icon-wrapper icon-message">
<svg-icon icon-class="message" class-name="card-panel-icon" /> <svg-icon icon-class="message" class-name="card-panel-icon" />
</div> </div>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
</div> </div>
</el-col> </el-col>
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
<div class="card-panel" @click="handleSetLineChartData('purchases')"> <div class="card-panel" @click="$router.push('/task/todo')">
<div class="card-panel-icon-wrapper icon-money"> <div class="card-panel-icon-wrapper icon-money">
<svg-icon icon-class="date" class-name="card-panel-icon" /> <svg-icon icon-class="date" class-name="card-panel-icon" />
</div> </div>
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
</div> </div>
</el-col> </el-col>
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
<div class="card-panel" @click="handleSetLineChartData('shoppings')"> <div class="card-panel" @click="$router.push('/order/mine')">
<div class="card-panel-icon-wrapper icon-shopping"> <div class="card-panel-icon-wrapper icon-shopping">
<svg-icon icon-class="shopping" class-name="card-panel-icon" /> <svg-icon icon-class="shopping" class-name="card-panel-icon" />
</div> </div>
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
<script> <script>
import CountTo from 'vue-count-to' import CountTo from 'vue-count-to'
import {panelData} from '@/api/system/pannel' import {panelData} from '@/api/system/pannel'
import {checkPermi} from '@/utils/permission'
export default { export default {
components: { components: {
CountTo CountTo
...@@ -70,7 +71,8 @@ export default { ...@@ -70,7 +71,8 @@ export default {
methods: { methods: {
handleSetLineChartData(type) { handleSetLineChartData(type) {
this.$emit('handleSetLineChartData', type) this.$emit('handleSetLineChartData', type)
} },
checkPermi
}, },
created(){ created(){
panelData().then(res => { panelData().then(res => {
......
...@@ -163,7 +163,7 @@ ...@@ -163,7 +163,7 @@
</template> </template>
<template v-if="dialogCfg.dialogType === 'notice'"> <template v-if="dialogCfg.dialogType === 'notice'">
<div class="notice-dialog"> <div class="notice-dialog">
<div class="notice-title">您有一个/多个待处理出货操作,请尽快前往处理:</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="自编号" align="center" prop="selfNo" /> <el-table-column label="自编号" align="center" prop="selfNo" />
<el-table-column label="类型" align="center"> <el-table-column label="类型" align="center">
......
...@@ -63,7 +63,8 @@ ...@@ -63,7 +63,8 @@
<template v-slot="{row}"> <template v-slot="{row}">
<section> <section>
<div v-for="(item, index) in row.goodsList" :key="index"> <div v-for="(item, index) in row.goodsList" :key="index">
{{index+1}}{{item.prodTitleZh}} <div>{{index+1}}{{item.prodTitleZh}}</div>
<div>{{index+1}}{{item.prodTitleEn}}</div>
</div> </div>
</section> </section>
</template> </template>
...@@ -97,6 +98,7 @@ import { ...@@ -97,6 +98,7 @@ import {
} from "./shippingSea/utils"; } from "./shippingSea/utils";
import { getCabinetPage } from "@/api/ecw/cabinet"; import { getCabinetPage } from "@/api/ecw/cabinet";
import { getChannelList } from "@/api/ecw/channel"; import { getChannelList } from "@/api/ecw/channel";
import Decimal from "decimal.js";
/** /**
* 出货审核详情 * 出货审核详情
...@@ -162,13 +164,13 @@ export default { ...@@ -162,13 +164,13 @@ export default {
calcSum(goodsList) { calcSum(goodsList) {
let sum = 0; let sum = 0;
goodsList.forEach((element) => { goodsList.forEach((element) => {
sum = sum + element.num; sum = Decimal.add(sum, element.num);
}); });
return sum; return sum;
}, },
/* 跳转订单详情 */ /* 跳转订单详情 */
jumpOrderDetail(row) { jumpOrderDetail(row) {
this.$router.push("/order/associated-order/" + row.orderId); this.$router.push("/order/detail?orderId=" + row.orderId);
}, },
}, },
watch: { watch: {
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
{{orderData.status==99?'异常':'正常'}} {{orderData.status==99?'异常':'正常'}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="送货日期"> <el-descriptions-item label="送货日期">
{{orderData.consigneeVO?orderData.consigneeVO.deliveryDate:''}} {{orderData.deliveryDate}}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-descriptions :column="4"> <el-descriptions :column="4">
...@@ -95,9 +95,10 @@ ...@@ -95,9 +95,10 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="状态" align="center"> <el-table-column label="状态" align="center">
<template slot-scope="scope"> {{orderData.abnormalState!=0?$t('异常'):$t('正常')}}
<!-- <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" /> <dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" />
</template> </template> -->
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-card> </el-card>
...@@ -223,6 +224,7 @@ import WorkFlow from "@/components/WorkFlow"; ...@@ -223,6 +224,7 @@ import WorkFlow from "@/components/WorkFlow";
import { getOrder } from "@/api/ecw/order"; import { getOrder } from "@/api/ecw/order";
import { serviceMsg, toReviewDetail } from "../../utils"; import { serviceMsg, toReviewDetail } from "../../utils";
import { createApproval, approvalCancel } from "@/api/ecw/boxSea"; import { createApproval, approvalCancel } from "@/api/ecw/boxSea";
import Decimal from "decimal.js";
export default { export default {
name: "splitOrder", name: "splitOrder",
...@@ -310,7 +312,7 @@ export default { ...@@ -310,7 +312,7 @@ export default {
let _total = 0; let _total = 0;
const { orderSplitItemBackVOList = [] } = this.splitData; const { orderSplitItemBackVOList = [] } = this.splitData;
orderSplitItemBackVOList.forEach((v) => { orderSplitItemBackVOList.forEach((v) => {
_total += Number(v.num); _total = Decimal.add(_total, Number(v.num));
}); });
return _total; return _total;
}, },
...@@ -380,12 +382,15 @@ export default { ...@@ -380,12 +382,15 @@ export default {
let leviteV = 0; let leviteV = 0;
let leviteW = 0; let leviteW = 0;
this.orderData.orderItemVOList.forEach((column, index) => { this.orderData.orderItemVOList.forEach((column, index) => {
orderSum += column.num ?? 0; orderSum = Decimal.add(orderSum, column.num ?? 0);
orderV += column.volume ?? 0; orderV = Decimal.add(orderV, column.volume ?? 0);
orderW += column.weight ?? 0; orderW = Decimal.add(orderW, column.weight ?? 0);
leviteSum += column.warehouseInInfoVO?.cartonsNum ?? 0; leviteSum = Decimal.add(
leviteV += column.warehouseInInfoVO?.volume ?? 0; leviteSum,
leviteW += column.warehouseInInfoVO?.weight ?? 0; column.warehouseInInfoVO?.cartonsNum ?? 0
);
leviteV += Decimal.add(leviteV, column.warehouseInInfoVO?.volume ?? 0);
leviteW += Decimal.add(leviteW, column.warehouseInInfoVO?.weight ?? 0);
}); });
sums[1] = sums[1] =
"下单统计:" + "下单统计:" +
...@@ -455,8 +460,8 @@ export default { ...@@ -455,8 +460,8 @@ export default {
if (valid) { if (valid) {
// 输入箱数大于实装箱数 // 输入箱数大于实装箱数
const total = this.totalSplitNum(); const total = this.totalSplitNum();
const canSplitNum = this.currRow.num - this.currRow.installNum; const canSplitNum = Decimal.sub(this.currRow.num, this.currRow.installNum);
const remain = canSplitNum - total; const remain = Decimal.sub(canSplitNum, total);
if (this.shopForm.num > remain) { if (this.shopForm.num > remain) {
this.$message.error("放入箱数不能大于总箱数"); this.$message.error("放入箱数不能大于总箱数");
return; return;
......
...@@ -147,7 +147,7 @@ ...@@ -147,7 +147,7 @@
<el-option v-for="warehouse in $attrs.warehouseList" :key="warehouse.id" :label="warehouse.titleZh" :value="warehouse.id"></el-option> <el-option v-for="warehouse in $attrs.warehouseList" :key="warehouse.id" :label="warehouse.titleZh" :value="warehouse.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="预计时间">{{preinstallDate}}</el-form-item> <el-form-item label="预装日期">{{preinstallDate}}</el-form-item>
<el-form-item label="选择柜型" prop="cabinetId"> <el-form-item label="选择柜型" prop="cabinetId">
<el-select v-model="modifyCabinetObj.cabinetId" placeholder="请选择柜型"> <el-select v-model="modifyCabinetObj.cabinetId" placeholder="请选择柜型">
<el-option v-for="item in cabinetList" :label="item.name" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in cabinetList" :label="item.name" :value="item.id" :key="item.id"></el-option>
...@@ -262,6 +262,7 @@ import { ...@@ -262,6 +262,7 @@ import {
} from "../../utils"; } from "../../utils";
import splitOrder from "./splitOrder.vue"; import splitOrder from "./splitOrder.vue";
import WorkFlow from "@/components/WorkFlow"; import WorkFlow from "@/components/WorkFlow";
import Decimal from "decimal.js";
/** /**
* 开始装柜 * 开始装柜
...@@ -618,8 +619,10 @@ export default { ...@@ -618,8 +619,10 @@ export default {
}, },
/* 预计时间 */ /* 预计时间 */
preinstallDate() { preinstallDate() {
if (this.shipmentObj.yzDate) { if (this.shipmentObj.preInstallInfo.createTime) {
return dayjs(this.shipmentObj.yzDate).format("YYYY-MM-DD HH:mm:ss"); return dayjs(this.shipmentObj.preInstallInfo.createTime).format(
"YYYY-MM-DD HH:mm:ss"
);
} }
return null; return null;
}, },
...@@ -639,7 +642,7 @@ export default { ...@@ -639,7 +642,7 @@ export default {
this.listData.forEach((item) => { this.listData.forEach((item) => {
const { sectionOrderList = [] } = item; const { sectionOrderList = [] } = item;
sectionOrderList.forEach((item) => { sectionOrderList.forEach((item) => {
count = count + item.installNum; count = Decimal.add(count, item.installNum);
}); });
}); });
} }
......
...@@ -156,6 +156,7 @@ import { ...@@ -156,6 +156,7 @@ import {
downloadFile, downloadFile,
} from "../utils"; } from "../utils";
import ImageUpload from "@/components/ImageUpload"; import ImageUpload from "@/components/ImageUpload";
import Decimal from 'decimal.js'
/** /**
* 报关 * 报关
...@@ -403,7 +404,7 @@ export default { ...@@ -403,7 +404,7 @@ export default {
this.$set( this.$set(
this.cusDeclarationObj, this.cusDeclarationObj,
"dcVgmWgt", "dcVgmWgt",
dcBoxWgtTmp + dcGoodsWgtTmp Decimal.add(dcBoxWgtTmp, dcGoodsWgtTmp)
); );
}, },
// 审核详情 // 审核详情
......
...@@ -142,6 +142,7 @@ ...@@ -142,6 +142,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<p v-if="scope.row.volume">{{getTotlContent(scope.row,['volume'])}}</p> <p v-if="scope.row.volume">{{getTotlContent(scope.row,['volume'])}}</p>
<p v-if="scope.row.weight">{{getTotlContent(scope.row,['weight'])}}</p> <p v-if="scope.row.weight">{{getTotlContent(scope.row,['weight'])}}</p>
<p>{{getRatioMax(scope.row)}}</p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="报关方式" align="center" prop="customsType" width="120"> <el-table-column label="报关方式" align="center" prop="customsType" width="120">
...@@ -323,6 +324,7 @@ import { ...@@ -323,6 +324,7 @@ import {
} from "../utils"; } from "../utils";
import dayjs from "dayjs"; import dayjs from "dayjs";
import WorkFlow from "@/components/WorkFlow"; import WorkFlow from "@/components/WorkFlow";
import Decimal from "decimal.js";
/** /**
* 预装 * 预装
...@@ -370,7 +372,9 @@ export default { ...@@ -370,7 +372,9 @@ export default {
operatorData: {}, operatorData: {},
// 校验 // 校验
rules: { rules: {
noticeUser: [{ required: true, message: "目的地操作员必填", trigger: "change" }], noticeUser: [
{ required: true, message: "目的地操作员必填", trigger: "change" },
],
}, },
// 出货信息 // 出货信息
shipmentObj: this.$attrs.shipmentObj, shipmentObj: this.$attrs.shipmentObj,
...@@ -511,7 +515,7 @@ export default { ...@@ -511,7 +515,7 @@ export default {
return values.reduce((prev, curr) => { return values.reduce((prev, curr) => {
const value = Number(curr); const value = Number(curr);
if (!isNaN(value)) { if (!isNaN(value)) {
return prev + curr; return Decimal.add(prev, curr);
} else { } else {
return prev; return prev;
} }
...@@ -638,6 +642,11 @@ export default { ...@@ -638,6 +642,11 @@ export default {
toReviewDetail.apply(this, [shipmentObj[currNode.voName].bpmProcessId]); toReviewDetail.apply(this, [shipmentObj[currNode.voName].bpmProcessId]);
this.$emit("closeDialog"); this.$emit("closeDialog");
}, },
getRatioMax(row) {
let volume = row.volume ?? 0;
let weight = row.weight ?? 0;
return Decimal.div(volume, weight).toFixed(2);
},
}, },
}; };
</script> </script>
......
...@@ -33,16 +33,20 @@ export default { ...@@ -33,16 +33,20 @@ export default {
}, },
created() { created() {
const { currNode, shipmentObj } = this.$attrs; const { currNode, shipmentObj } = this.$attrs;
const { preInstallBackInfo, cabinetUnloadBackApprovalInfo } = shipmentObj;
if (currNode.type === "preinstall") { if (currNode.type === "preinstall") {
this.isReview = shipmentObj["preInstallBackInfo"] ? true : false; this.isReview = preInstallBackInfo ? true : false;
this.bpmProcessId = shipmentObj["preInstallBackInfo"]?.bpmProcessId; if (preInstallBackInfo && preInstallBackInfo.approvalStatus !== 1) {
this.isReview = false;
}
this.bpmProcessId = preInstallBackInfo?.bpmProcessId;
} }
if (currNode.type === "unloading") { if (currNode.type === "unloading") {
this.isReview = shipmentObj["cabinetUnloadBackApprovalInfo"] this.isReview = cabinetUnloadBackApprovalInfo ? true : false;
? true if (cabinetUnloadBackApprovalInfo && cabinetUnloadBackApprovalInfo.approvalStatus !== 1) {
: false; this.isReview = false;
this.bpmProcessId = }
shipmentObj["cabinetUnloadBackApprovalInfo"]?.bpmProcessId; this.bpmProcessId = cabinetUnloadBackApprovalInfo?.bpmProcessId;
} }
}, },
methods: { methods: {
......
...@@ -125,6 +125,7 @@ import { ...@@ -125,6 +125,7 @@ import {
} 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";
import Decimal from "decimal.js";
/** /**
* 开始卸柜 * 开始卸柜
...@@ -328,7 +329,7 @@ export default { ...@@ -328,7 +329,7 @@ export default {
let count = 0; let count = 0;
if (this.pageData.sectionOrderList) { if (this.pageData.sectionOrderList) {
this.pageData.sectionOrderList.forEach((item) => { this.pageData.sectionOrderList.forEach((item) => {
count = count + item.unloadNum; count = Decimal.add(count, item.unloadNum);
}); });
} }
return count; return count;
......
import dayjs from "dayjs"; import dayjs from "dayjs";
import * as _BOX from "@/api/ecw/box"; import * as _BOX from "@/api/ecw/box";
import FileSaver from "file-saver"; import FileSaver from "file-saver";
import Decimal from "decimal.js";
/** /**
* 节点状态值 * 节点状态值
...@@ -1436,13 +1437,13 @@ function sumStatistics(val) { ...@@ -1436,13 +1437,13 @@ function sumStatistics(val) {
const { secStatistics } = item; const { secStatistics } = item;
if (secStatistics) { if (secStatistics) {
if (!Number.isNaN(Number(secStatistics.num))) { if (!Number.isNaN(Number(secStatistics.num))) {
count.num = count.num + Number(secStatistics.num); count.num = Decimal.add(count.num, Number(secStatistics.num));
} }
if (!Number.isNaN(Number(secStatistics.volume))) { if (!Number.isNaN(Number(secStatistics.volume))) {
count.volume = count.volume + Number(secStatistics.volume); count.volume = Decimal.add(count.volume, Number(secStatistics.volume));
} }
if (!Number.isNaN(Number(secStatistics.weight))) { if (!Number.isNaN(Number(secStatistics.weight))) {
count.weight = count.weight + Number(secStatistics.weight); count.weight = Decimal.add(count.weight, Number(secStatistics.weight));
} }
} }
}); });
......
...@@ -4,8 +4,19 @@ ...@@ -4,8 +4,19 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<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="customerId" > <el-form-item label="客户名称" prop="customerId" >
<el-input v-model="queryParams.customerId" placeholder="请选择客户id" clearable size="small"> <el-select
</el-input> clearable
filterable
v-model="queryParams.customerId"
placeholder="请输入关键词">
<el-option
v-for="(item, index) in customeList"
:key="index"
:value="item.id"
:label="item.name"
>
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="联系电话" prop="type"> <el-form-item label="联系电话" prop="type">
<el-input v-model="queryParams.defaultContactPhone" placeholder="请输入电话" clearable size="small"> <el-input v-model="queryParams.defaultContactPhone" placeholder="请输入电话" clearable size="small">
...@@ -128,6 +139,7 @@ ...@@ -128,6 +139,7 @@
import {deleteCustomerCommission, getCustomerCommissionPage, exportCustomerCommissionExcel } from "@/api/ecw/customerCommission"; import {deleteCustomerCommission, getCustomerCommissionPage, exportCustomerCommissionExcel } from "@/api/ecw/customerCommission";
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";
export default { export default {
name: "CustomerCommission", name: "CustomerCommission",
...@@ -173,7 +185,8 @@ export default { ...@@ -173,7 +185,8 @@ export default {
customerId: [{ required: true, message: "客户id不能为空", trigger: "change" }], customerId: [{ required: true, message: "客户id不能为空", trigger: "change" }],
type: [{ required: true, message: "佣金类型不能为空", trigger: "change" }], type: [{ required: true, message: "佣金类型不能为空", trigger: "change" }],
darkReturnType: [{ required: true, message: "暗佣类型 1产品2达标不能为空", trigger: "change" }], darkReturnType: [{ required: true, message: "暗佣类型 1产品2达标不能为空", trigger: "change" }],
} },
customeList:[],
}; };
}, },
computed:{ computed:{
...@@ -187,8 +200,14 @@ export default { ...@@ -187,8 +200,14 @@ export default {
}, },
}, },
created() { created() {
customerDropDownList().then(res => {
console.log(res);
if (res.code === 0) {
this.customeList = res.data
}
})
if(this.$route.query.customerId){ if(this.$route.query.customerId){
this.queryParams.customerId = this.$route.query.customerId this.queryParams.customerId = Number(this.$route.query.customerId)
} }
this.getList(); this.getList();
getTradeCityList().then(res => { getTradeCityList().then(res => {
......
...@@ -294,7 +294,7 @@ export default { ...@@ -294,7 +294,7 @@ export default {
{ {
productType:0,//商品类型 productType:0,//商品类型
productAttr: 0,//暗佣 产品属性 productAttr: 0,//暗佣 产品属性
darkCommission: 1,//暗佣 佣金 darkCommission: '',//暗佣 佣金
darkCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),// 暗佣 货币 darkCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),// 暗佣 货币
darkUnit:undefined,// 暗佣 单位 darkUnit:undefined,// 暗佣 单位
} }
......
...@@ -3,46 +3,60 @@ ...@@ -3,46 +3,60 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<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="number"> <el-form-item :label="$t('客户编号')" prop="number">
<el-input v-model="queryParams.number" placeholder="请输入客户编号" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.number" placeholder="请输入客户编号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="客户名称" prop="name"> <el-form-item :label="$t('客户名称')" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入客户名称" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.name" placeholder="请输入客户名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="客户等级" prop="level"> <el-form-item :label="$t('客户等级')" prop="level">
<el-select v-model="queryParams.level" placeholder="请选择客户等级" clearable size="small"> <el-select clearable v-model="queryParams.level" :placeholder="$t('请选择客户等级')" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
: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="source"> <el-form-item :label="$t('联系方式')">
<el-select v-model="queryParams.source" placeholder="请选择客户来源" clearable size="small"> <el-input :placeholder="$t('请输入联系方式')" v-model="queryParams.defaultContactPhone"></el-input>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)" </el-form-item>
:key="dict.value" :label="dict.label" :value="dict.value"/> <el-form-item :label="$t('客户类别')" prop="level">
<dict-selector :type="DICT_TYPE.CUSTOMER_TYPE" multiple v-model="queryParams.type"></dict-selector>
</el-form-item>
<el-form-item :label="$t('客户经理')" prop="customerService">
<el-select clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" clearable size="small">
<el-option v-for="dict in customerServiceList"
:key="dict.id" :label="dict.nickname" :value="dict.id"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="客户经理" prop="customerService"> <el-form-item :label="$t('客户来源')" prop="source">
<el-select v-model="queryParams.customerService" placeholder="请选择客户经理" clearable size="small"> <el-select clearable v-model="queryParams.source" :placeholder="$t('请选择客户来源')" clearable size="small">
<el-option v-for="dict in serviceStaffOptions" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key="dict.id" :label="dict.nickname" :value="dict.id"/> :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="source">
<el-select v-model="queryParams.status" placeholder="请选择客户状态" clearable size="small"> <el-select clearable v-model="form.country" :placeholder="$t('请选择国家')">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.CUSTOMER_STATUS)" <el-option v-for="dict in countryList"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.id" :label="dict.nameZh" :value="parseInt(dict.id)" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="部门" prop="department"> <el-form-item :label="$t('客户状态')" prop="status">
<el-input v-model="queryParams.department" placeholder="请输入部门" clearable @keyup.enter.native="handleQuery"/> <el-select clearable v-model="queryParams.status" :placeholder="$t('请选择客户状态')" clearable size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</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 clearable 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 :label="$t('信用等级')" prop="department">
<el-select clearable v-model="form.level" >
<el-option v-for="(item,index) in creditList" :label="item.nameZh" :key="index" :value="item.id" ></el-option>
</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>
...@@ -58,38 +72,36 @@ ...@@ -58,38 +72,36 @@
<!-- 列表 --> <!-- 列表 -->
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<el-table-column label="客户编号" align="center" prop="number" /> <el-table-column :label="$t('客户编号')" align="center" prop="number" />
<el-table-column label="客户名称" align="center" prop="name" /> <el-table-column :label="$t('客户名称')" align="center" prop="name" />
<el-table-column label="客户等级" align="center" prop="level"> <el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" /> <dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="国家" align="center" prop="country"> <el-table-column :label="$t('信用等级')" prop="creditLevelNameZh"></el-table-column>
<template slot-scope="scope"> <el-table-column :label="$t('客户状态')" align="center" prop="status">
<dict-tag :type="DICT_TYPE.COUNTRY" :value="scope.row.country" />
</template>
</el-table-column>
<el-table-column label="客户经理" align="center" prop="customerService" :formatter="customerServiceFn">
</el-table-column>
<el-table-column label="客户状态" align="center" prop="status">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_STATUS" :value="scope.row.status" /> <dict-tag :type="DICT_TYPE.CUSTOMER_STATUS" :value="scope.row.status" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="部门" align="center" prop="department" /> <el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180"> <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone"></el-table-column>
<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="$t('客户经理')" align="center" prop="customerService" :formatter="customerServiceFn">
</el-table-column>
<el-table-column :label="$t('国家')" align="center" prop="country" :formatter="countryFormatter"></el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" 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-delete" @click="handleConfirmService(scope.row)" <el-button size="mini" type="text" @click="handleConfirmService(scope.row)"
v-hasPermi="['ecw:customer:update']">确认接收</el-button> v-hasPermi="['ecw:customer:update']">确认接收</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handOver(scope.row)" <el-button size="mini" type="text" @click="handOver(scope.row)"
v-hasPermi="['ecw:customer:update']">移交</el-button> v-hasPermi="['ecw:customer:update']">移交</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <el-button size="mini" type="text" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:customer:update']">完善</el-button> v-hasPermi="['ecw:customer:update']">完善</el-button>
</template> </template>
</el-table-column> </el-table-column>
...@@ -314,6 +326,8 @@ import { listServiceUser } from "@/api/system/user" ...@@ -314,6 +326,8 @@ import { listServiceUser } from "@/api/system/user"
import { getDictDatas, DICT_TYPE } from '@/utils/dict' import { getDictDatas, DICT_TYPE } from '@/utils/dict'
import {CommonStatusEnum} from '@/utils/constants' import {CommonStatusEnum} from '@/utils/constants'
import {handOverCustomer} from "../../../api/ecw/customer"; import {handOverCustomer} from "../../../api/ecw/customer";
import {getCountryListAll} from "@/api/ecw/country";
import {getCreditPage} from "@/api/customer/credit";
...@@ -360,17 +374,33 @@ export default { ...@@ -360,17 +374,33 @@ export default {
weightUnit: [{ required: true, message: "重货标准(CBM)不能为空", trigger: "blur" }], weightUnit: [{ required: true, message: "重货标准(CBM)不能为空", trigger: "blur" }],
}, },
serviceStaffOptions: [] serviceStaffOptions: [],
customerServiceList:[],
countryList:[],
creditList:[]
}; };
}, },
created() { created() {
this.getList(); this.getList();
getCreditPage({page:1,rows:999}).then(r => {
this.creditList = r.data.list
})
// 获得客服人员列表 // 获得客服人员列表
listServiceUser().then(response => { listServiceUser().then(response => {
this.serviceStaffOptions = response.data; this.serviceStaffOptions = response.data;
}) })
listServiceUser().then(r=>{
this.customerServiceList = r.data;
})
getCountryListAll().then(r => {
this.countryList = r.data
})
}, },
methods: { methods: {
countryFormatter(row, column, cellValue) {
const country = this.countryList.find((e) => e.id === cellValue)
return country?.nameZh
},
customerServiceFn(row){ customerServiceFn(row){
let obj = this.serviceStaffOptions.find(item => item.id === row.customerService) let obj = this.serviceStaffOptions.find(item => item.id === row.customerService)
return obj ? obj.nickname : ''; return obj ? obj.nickname : '';
......
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
v-for="item in bankData" v-for="item in bankData"
:key="item.id" :key="item.id"
:label="item.bankName + '(' + item.bankAccount+ ')'" :label="item.bankName + '(' + item.bankAccount+ ')'"
:value="item.id" :value="item.bankAccount"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -471,9 +471,10 @@ export default { ...@@ -471,9 +471,10 @@ export default {
...res.data, ...res.data,
latestPayAt: this.parseTime(res.data.latestPayAt, '{y}-{m}-{d}'), latestPayAt: this.parseTime(res.data.latestPayAt, '{y}-{m}-{d}'),
applicationAt: this.parseTime(res.data.applicationAt, '{y}-{m}-{d}'), applicationAt: this.parseTime(res.data.applicationAt, '{y}-{m}-{d}'),
supplierBankAccount: Number(res.data.supplierBankAccount),
invoiceStatus: String(res.data.invoiceStatus), invoiceStatus: String(res.data.invoiceStatus),
} }
this.$set(this.form,'supplierBankAccount',res.data.supplierBankAccount)
console.log(this.form)
}) })
getPaymentItem({ id: this.id }).then(res => { getPaymentItem({ id: this.id }).then(res => {
this.list = [...res.data] this.list = [...res.data]
...@@ -613,7 +614,6 @@ export default { ...@@ -613,7 +614,6 @@ export default {
}, },
selectChangeBank(val){ selectChangeBank(val){
this.$forceUpdate() this.$forceUpdate()
console.log(this.form.supplierBankAccount)
}, },
selectChange(val) { selectChange(val) {
this.bankData = [] this.bankData = []
...@@ -621,7 +621,8 @@ export default { ...@@ -621,7 +621,8 @@ export default {
if(val){ if(val){
getSupplier(val).then((res)=>{ getSupplier(val).then((res)=>{
this.bankData = res.data.bankList this.bankData = res.data.bankList
this.form.supplierBankAccount='' var bank = this.bankData.find(item=>item.bankAccount==this.form.supplierBankAccount)
if(this.bankData.length==0||!bank) this.form.supplierBankAccount=''
}) })
} }
......
...@@ -289,13 +289,13 @@ ...@@ -289,13 +289,13 @@
<el-form-item label="收款单号">{{ form.receiptNo }}</el-form-item> <el-form-item label="收款单号">{{ form.receiptNo }}</el-form-item>
<el-form-item label="剩余应收金额"> <el-form-item label="剩余应收金额">
<div> <div>
<div>{{ remainingAmount.usAmount }}美元</div> <div>{{ remainingAmount.usAmount.toFixed(6) }}美元</div>
<div>{{ remainingAmount.rmbAmount }}人民币</div> <div>{{ remainingAmount.rmbAmount.toFixed(6) }}人民币</div>
<div>{{ remainingAmount.nairaAmount }}奈拉</div> <div>{{ remainingAmount.nairaAmount.toFixed(6) }}奈拉</div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="收款账户" prop="accountNo" :rules="{ required: true, trigger: ['blur', 'change'], message: '收款账户不能为空' }"> <el-form-item label="收款账户" prop="accountNo" :rules="{ required: true, trigger: ['blur', 'change'], message: '收款账户不能为空' }">
<el-select v-if="!isView" v-model="addForm.accountNo" placeholder="请选择收款账户" style="width: 220px"> <el-select v-if="!isView" v-model="addForm.accountNo" placeholder="请选择收款账户" style="width: 220px" @change="accountChange">
<el-option v-for="item in bankData" :key="item.id" :label="item.baAccountName + '(' + item.baAccountNum + ')'" :value="item.id" /> <el-option v-for="item in bankData" :key="item.id" :label="item.baAccountName + '(' + item.baAccountNum + ')'" :value="item.id" />
</el-select> </el-select>
<span v-else>{{ addForm.accountNo }}</span> <span v-else>{{ addForm.accountNo }}</span>
...@@ -344,7 +344,7 @@ ...@@ -344,7 +344,7 @@
汇率(<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="showCurrencyId" /> 汇率(<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="showCurrencyId" />
</template> </template>
<el-input v-if="!isView" v-model="addForm.rate" style="width: 220px"></el-input> <el-input v-if="!isView" v-model="addForm.rate" style="width: 220px"></el-input>
<span v-else>{{ addForm.rate }}</span> <span v-else>{{ addForm.rate}}</span>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-if="showCurrencyId != addForm.currencyId" v-if="showCurrencyId != addForm.currencyId"
...@@ -352,7 +352,7 @@ ...@@ -352,7 +352,7 @@
<template slot="label"> <template slot="label">
金额(<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="showCurrencyId" /> 金额(<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="showCurrencyId" />
</template> </template>
<span>{{ addForm.writeOffAmount }}</span> <span>{{ addForm.writeOffAmount?parseFloat(addForm.writeOffAmount).toFixed(6):'' }}</span>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="水单附件" label="水单附件"
...@@ -398,7 +398,7 @@ ...@@ -398,7 +398,7 @@
import { getBankAccountPage } from "@/api/ecw/bankAccount"; import { getBankAccountPage } from "@/api/ecw/bankAccount";
import { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth";
import { getCustomer } from '@/api/ecw/customer' import { getCustomer } from '@/api/ecw/customer'
import { import {
getReceiptInfoByIds, getReceiptInfoByIds,
getInvoicingItem, getInvoicingItem,
receiptItemCreate, receiptItemCreate,
...@@ -543,7 +543,7 @@ export default { ...@@ -543,7 +543,7 @@ export default {
}) })
}) })
} }
this.getList() this.getList()
}, },
methods: { methods: {
...@@ -596,6 +596,10 @@ export default { ...@@ -596,6 +596,10 @@ export default {
} }
} }
}, },
accountChange(val){
var data = this.bankData.find(item=>item.id==val)
this.$set(this.addForm,'accountName',data.baAccountName)
},
RMBtoUS() { RMBtoUS() {
return NP.divide(100, this.currencyList.find(v => v.titleEn === 'USD').huilv) return NP.divide(100, this.currencyList.find(v => v.titleEn === 'USD').huilv)
}, },
...@@ -635,6 +639,7 @@ export default { ...@@ -635,6 +639,7 @@ export default {
...v, ...v,
amountDate: this.parseTime(v.amountDate, '{y}-{m}-{d}'), amountDate: this.parseTime(v.amountDate, '{y}-{m}-{d}'),
accountNo: +v.accountNo, accountNo: +v.accountNo,
rate:parseFloat(v.rate).toFixed(6),
attr: v.attr ? v.attr.split(',').map(t => ({ name: t.slice(t.lastIndexOf('/') + 1), url: t })) : [] attr: v.attr ? v.attr.split(',').map(t => ({ name: t.slice(t.lastIndexOf('/') + 1), url: t })) : []
})) }))
this.calculation() this.calculation()
...@@ -663,7 +668,7 @@ export default { ...@@ -663,7 +668,7 @@ export default {
}) })
} }
}) })
}, },
toEdit() { toEdit() {
return this.$router.push("creatCollection?id=" + this.id); return this.$router.push("creatCollection?id=" + this.id);
...@@ -674,6 +679,7 @@ export default { ...@@ -674,6 +679,7 @@ export default {
this.isView = true this.isView = true
setTimeout(() => { setTimeout(() => {
this.addForm = { ...row } this.addForm = { ...row }
this.setWriteOffAmount()
}, 0) }, 0)
}, },
editClick(row) { editClick(row) {
...@@ -683,6 +689,7 @@ export default { ...@@ -683,6 +689,7 @@ export default {
this.isView = false this.isView = false
setTimeout(() => { setTimeout(() => {
this.addForm = { ...row } this.addForm = { ...row }
this.setWriteOffAmount()
}, 0) }, 0)
}, },
deleteClick(row) { deleteClick(row) {
...@@ -773,7 +780,7 @@ export default { ...@@ -773,7 +780,7 @@ export default {
}); });
this.addForm.attr = arr; this.addForm.attr = arr;
}, 300) }, 300)
this.loading.close(); this.loading.close();
}, },
handleBeforeUpload() { handleBeforeUpload() {
this.loading = this.$loading({ this.loading = this.$loading({
...@@ -827,4 +834,4 @@ export default { ...@@ -827,4 +834,4 @@ export default {
width: 22%; width: 22%;
} }
} }
</style> </style>
\ No newline at end of file
...@@ -115,11 +115,17 @@ ...@@ -115,11 +115,17 @@
</el-table-column> </el-table-column>
<el-table-column label="收款单号" align="center" prop="receiptNo"> <el-table-column label="收款单号" align="center" prop="receiptNo">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" @click="verificationCancelClick(scope.row)">{{ scope.row.receiptNo }}</el-button> <span style="color: #1890ff;" @click="verificationCancelClick(scope.row)">{{scope.row.receiptNo}}</span>
<!-- <el-button size="mini" type="text" @click="verificationCancelClick(scope.row)">{{ scope.row.receiptNo }}</el-button> -->
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="自编号" align="center" prop="orderNo" /> --> <!-- <el-table-column label="自编号" align="center" prop="orderNo" /> -->
<el-table-column label="订单号" align="center" prop="orderNo" /> <el-table-column label="订单号" align="center" prop="orderNo">
<template slot-scope="scope">
<span style="color: #1890ff;" @click="verificationCancelClick(scope.row)">{{scope.row.orderNo}}</span>
<!-- <el-button size="mini" type="text" @click="verificationCancelClick(scope.row)">{{ scope.row.receiptNo }}</el-button> -->
</template>
</el-table-column>
<el-table-column label="客户名称" align="center" prop="customerName" /> <el-table-column label="客户名称" align="center" prop="customerName" />
<el-table-column label="创建日期" align="center" prop="createTime"> <el-table-column label="创建日期" align="center" prop="createTime">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -371,7 +377,7 @@ export default { ...@@ -371,7 +377,7 @@ export default {
}, },
submitForm(type) { submitForm(type) {
receiptExportExcel({ id: this.exportId, billType: type }).then((response) => { receiptExportExcel({ id: this.exportId, billType: type }).then((response) => {
this.$download.excel(response, `${type === 2 ? "国外账单" : "Debite_note"}.xls`); this.$download.excel(response, `${type === 1 ? "国内账单" : "Debite_note"}.xls`);
this.open = false; this.open = false;
} }
); );
......
...@@ -71,10 +71,6 @@ ...@@ -71,10 +71,6 @@
<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:customer:export']">{{$t('导出')}}</el-button> v-hasPermi="['ecw:customer:export']">{{$t('导出')}}</el-button>
</el-col> </el-col>
<el-col :span="1.5">
<el-button :disabled="selectCustomerList.length === 0" type="primary" size="mini" @click="show = true;" :loading="exportLoading"
v-hasPermi="['ecw:customer:export']">{{$t('批量移交')}}</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
......
...@@ -203,14 +203,14 @@ import { getDictDatas, DICT_TYPE } from '@/utils/dict'; ...@@ -203,14 +203,14 @@ import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import {CommonStatusEnum} from '@/utils/constants' import {CommonStatusEnum} from '@/utils/constants'
import {listUser} from "@/api/system/user"; import {listUser} from "@/api/system/user";
import Editor from '@/components/Editor'; import Editor from '@/components/Editor';
export default { export default {
name: "Node", name: "Node",
components: { components: {
Editor, Editor,
}, },
data() { data() {
var areaCheck = (rule, value, callback) => { const areaCheck = (rule, value, callback) => {
if(!this.form.zhou) { if(!this.form.zhou) {
callback(new Error('请选择大洲')); callback(new Error('请选择大洲'));
} else if(!this.form.guojia){ } else if(!this.form.guojia){
...@@ -221,7 +221,6 @@ export default { ...@@ -221,7 +221,6 @@ export default {
callback(); callback();
} }
}; };
return { return {
// 遮罩层 // 遮罩层
loading: true, loading: true,
......
...@@ -70,11 +70,6 @@ ...@@ -70,11 +70,6 @@
<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:customer:export']">{{$t('导出')}}</el-button> v-hasPermi="['ecw:customer:export']">{{$t('导出')}}</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" size="mini" @click="batchHandover"
:disabled="multipleSelection.length === 0"
>{{$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>
......
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
<template v-if="darkCommission"> <template v-if="darkCommission">
{{$t('暗佣')}}{{darkCommission}} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }} {{$t('暗佣')}}{{darkCommission}} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
</template> </template>
<el-link type="primary" @click.native="$router.push('/customer/customerCommission?customerId=' + customerId)">去设置</el-link> <el-link type="primary" @click.native="$router.push('/customer/customerCommission?customerId=' + offer.relationId)">去设置</el-link>
</div> </div>
<div v-if="form.commissionType == 1 || form.commissionType == 3">{{$t('销售价')}}{{form.orgSeaFreight + form.shadeCommissionAmount + form.lightCommissionAmount }} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}</div> <div v-if="form.commissionType == 1 || form.commissionType == 3">{{$t('销售价')}}{{form.orgSeaFreight + form.shadeCommissionAmount + form.lightCommissionAmount }} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}</div>
......
...@@ -18,43 +18,43 @@ ...@@ -18,43 +18,43 @@
<label>{{$t('报价单所属')}}{{list.relation?list.relation==1?$t('发货人'):$t('收货人'):$t('发货人')}}</label> <label>{{$t('报价单所属')}}{{list.relation?list.relation==1?$t('发货人'):$t('收货人'):$t('发货人')}}</label>
</div> </div>
<el-descriptions :column="3" border class="card"> <el-descriptions :column="3" border class="card">
<el-descriptions-item :label="$t('发货人:')"> <el-descriptions-item :label="$t('发货人')+':'">
{{consignorData.contactsName||$t('')}} {{consignorData.contactsName||$t('')}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('手机号:')"> <el-descriptions-item :label="$t('手机号')+':'">
{{consignorData?(checkCode(consignorData.areaCode)+consignorData.phoneNew)||$t(''):$t('')}} {{consignorData?(checkCode(consignorData.areaCode)+consignorData.phoneNew)||$t(''):$t('')}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('联系地址:')"> <el-descriptions-item :label="$t('联系地址')+':'">
{{consignorData.address||$t('')}} {{consignorData.address||$t('')}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('客户来源:')"> <el-descriptions-item :label="$t('客户来源')+':'">
{{consignorData.source||$t('')}} {{consignorData.source||$t('')}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('发货人公司名称:')"> <el-descriptions-item :label="$t('发货人公司名称')+':'">
{{consignorData.company||$t('')}} {{consignorData.company||$t('')}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('社交软件:')"> <el-descriptions-item :label="$t('社交软件')+':'">
{{consignorData.social||$t('')+' '+consignorData.socialNumber||''}} {{consignorData.social||$t('')+' '+consignorData.socialNumber||''}}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-descriptions :column="3" border class="card"> <el-descriptions :column="3" border class="card">
<el-descriptions-item :label="$t('收货人:')"> <el-descriptions-item :label="$t('收货人')+':'">
{{consigneeData.contactsName||$t('')}} {{consigneeData.contactsName||$t('')}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('手机号:')"> <el-descriptions-item :label="$t('手机号')+':'">
{{consigneeData?(checkCode(consigneeData.areaCode)+consigneeData.phoneNew)||$t(''):$t('')}} {{consigneeData?(checkCode(consigneeData.areaCode)+consigneeData.phoneNew)||$t(''):$t('')}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('联系地址:')"> <el-descriptions-item :label="$t('联系地址')+':'">
{{consigneeData.address||$t('')}} {{consigneeData.address||$t('')}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('客户来源:')"> <el-descriptions-item :label="$t('客户来源')+':'">
{{consigneeData.source||$t('')}} {{consigneeData.source||$t('')}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('发货人公司名称:')"> <el-descriptions-item :label="$t('发货人公司名称')+':'">
{{consigneeData.company||$t('')}} {{consigneeData.company||$t('')}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('社交软件:')"> <el-descriptions-item :label="$t('社交软件')+':'">
{{consigneeData.social||$t('')+' '+consigneeData.socialNumber||''}} {{consigneeData.social||$t('')+' '+consigneeData.socialNumber||''}}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
...@@ -105,10 +105,10 @@ ...@@ -105,10 +105,10 @@
<dict-tag :value="scope.row.unit" :type="DICT_TYPE.ECW_PACKAGING_TYPE" defaultable /> <dict-tag :value="scope.row.unit" :type="DICT_TYPE.ECW_PACKAGING_TYPE" defaultable />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('箱规(m)')" width="120px" prop="boxGauge" /> <el-table-column :label="$t('箱规') + '(m)'" width="120px" prop="boxGauge" />
<el-table-column :label="$t('体积(m³)')" width="100px" prop="volume" /> <el-table-column :label="$t('体积') + '(m³)'" width="100px" prop="volume" />
<el-table-column :label="$t('重量(kg)')" width="100px" prop="weight" /> <el-table-column :label="$t('重量') + '(kg)'" width="100px" prop="weight" />
<el-table-column :label="$t('货值(RMB)')" width="100px" prop="worth" /> <el-table-column :label="$t('货值') + '(RMB)'" width="100px" prop="worth" />
<el-table-column :label="$t('商品特性')" width="200px" prop="prodAttrName" /> <el-table-column :label="$t('商品特性')" width="200px" prop="prodAttrName" />
<el-table-column :label="$t('是否预付')"> <el-table-column :label="$t('是否预付')">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -139,19 +139,19 @@ ...@@ -139,19 +139,19 @@
<el-card class="card"> <el-card class="card">
<div slot="header" class="card-title">{{$t('费用小计')}}</div> <div slot="header" class="card-title">{{$t('费用小计')}}</div>
<el-descriptions border class="card" :column="5"> <el-descriptions border class="card" :column="5">
<el-descriptions-item :label="$t('总件数:')"> <el-descriptions-item :label="$t('总件数')+':'">
{{list.estCostVO?list.estCostVO.totalNum||'0':0}} {{list.estCostVO?list.estCostVO.totalNum||'0':0}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('总体积:')"> <el-descriptions-item :label="$t('总体积')+':'">
{{list.estCostVO?(list.estCostVO.totalVolume+'m³')||'0':0}} {{list.estCostVO?(list.estCostVO.totalVolume+'m³')||'0':0}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('总重量:')"> <el-descriptions-item :label="$t('总重量')+':'">
{{list.estCostVO?(list.estCostVO.totalWeight+'kg')||'0':0}} {{list.estCostVO?(list.estCostVO.totalWeight+'kg')||'0':0}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('总数量:')"> <el-descriptions-item :label="$t('总数量')+':'">
{{list.estCostVO?list.estCostVO.totalQuantity||'0':0}} {{list.estCostVO?list.estCostVO.totalQuantity||'0':0}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('总货值(RMB):')"> <el-descriptions-item :label="$t('总货值(RMB)')+':'">
{{list.estCostVO?list.estCostVO.totalWorth||'0':0}} {{list.estCostVO?list.estCostVO.totalWorth||'0':0}}
</el-descriptions-item> </el-descriptions-item>
<!-- <el-descriptions-item :label="报价费:"> <!-- <el-descriptions-item :label="报价费:">
......
...@@ -139,11 +139,15 @@ ...@@ -139,11 +139,15 @@
</div> </div>
<el-table :data="form.prodCreateReqVOList" border class="product-list"> <el-table :data="form.prodCreateReqVOList" border class="product-list">
<el-table-column :label="$t('序号')" width="60px" fixed> <el-table-column :label="$t('序号')" width="60px" fixed>
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.$index + 1}} {{scope.$index + 1}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('中文品名')" width="160px"> <el-table-column :label="$t('中文品名')" width="160px">
<template slot="header" slot-scope="scope">
{{$t('中文品名')}} <span class="red">*</span>
</template>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item label="" <el-form-item label=""
:prop="`prodCreateReqVOList.${scope.$index}.prodId`" :prop="`prodCreateReqVOList.${scope.$index}.prodId`"
...@@ -157,11 +161,17 @@ ...@@ -157,11 +161,17 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('英文品名')" width="160px"> <el-table-column :label="$t('英文品名')" width="160px">
<template slot="header" slot-scope="scope">
{{$t('英文品名')}} <span class="red">*</span>
</template>
<template slot-scope="{row}"> <template slot-scope="{row}">
<product-selector lang="En" v-model="row.prodId" @change="onProductChange(row, $event)" :disabled="!canAddProduct" /> <product-selector lang="En" v-model="row.prodId" @change="onProductChange(row, $event)" :disabled="!canAddProduct" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('品牌')" width="100px"> <el-table-column width="100px">
<template slot="header" slot-scope="scope">
{{$t('品牌')}} <span class="red">*</span>
</template>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item label="" <el-form-item label=""
:prop="`prodCreateReqVOList.${scope.$index}.brand`" :prop="`prodCreateReqVOList.${scope.$index}.brand`"
...@@ -176,11 +186,17 @@ ...@@ -176,11 +186,17 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('件数')" width="90px"> <el-table-column :label="$t('件数')" width="90px">
<template slot="header" slot-scope="scope">
{{$t('件数')}} <span class="red">*</span>
</template>
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-input v-model.number="row.num" @input="calculationPrice" :disabled="!canAddProduct" /> <el-input v-model.number="row.num" @input="calculationPrice" :disabled="!canAddProduct" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('包装单位')"> <el-table-column :label="$t('包装单位')" width="100px">
<template slot="header" slot-scope="scope">
{{$t('包装单位')}} <span class="red">*</span>
</template>
<template slot-scope="{row}"> <template slot-scope="{row}">
<dict-selector v-model="row.unit" :type="DICT_TYPE.ECW_PACKAGING_TYPE" defaultable @input="calculationPrice" :disabled="!canAddProduct" /> <dict-selector v-model="row.unit" :type="DICT_TYPE.ECW_PACKAGING_TYPE" defaultable @input="calculationPrice" :disabled="!canAddProduct" />
</template> </template>
...@@ -200,7 +216,10 @@ ...@@ -200,7 +216,10 @@
<el-input v-model="row.weight" @input="calculationPrice" :disabled="!canAddProduct" /> <el-input v-model="row.weight" @input="calculationPrice" :disabled="!canAddProduct" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('总货值') + '(RMB)'" width="100px"> <el-table-column :label="$t('总货值') + '(RMB)'" width="120px">
<template slot="header" slot-scope="scope">
{{$t('总货值')}}(RMB) <span class="red">*</span>
</template>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item label="" <el-form-item label=""
:prop="`prodCreateReqVOList.${scope.$index}.worth`" :prop="`prodCreateReqVOList.${scope.$index}.worth`"
...@@ -1038,6 +1057,7 @@ export default { ...@@ -1038,6 +1057,7 @@ export default {
let arr = [] let arr = []
this.form.prodCreateReqVOList.forEach(item => { this.form.prodCreateReqVOList.forEach(item => {
let tmp = {...item} let tmp = {...item}
tmp.prodAttrIds = tmp.prodAttrArr.join(',')
if(!tmp.volume)tmp.volume = 1 if(!tmp.volume)tmp.volume = 1
if(!tmp.weight)tmp.weight = 1 if(!tmp.weight)tmp.weight = 1
if(!tmp.quantity)tmp.quantity = 1 if(!tmp.quantity)tmp.quantity = 1
...@@ -1073,4 +1093,10 @@ export default { ...@@ -1073,4 +1093,10 @@ export default {
::v-deep .product-list .el-form-item__error{ ::v-deep .product-list .el-form-item__error{
position: static; position: static;
} }
::v-deep .el-table__cell .cell{
white-space: nowrap;
.red{
color: red;
}
}
</style> </style>
...@@ -15,7 +15,23 @@ ...@@ -15,7 +15,23 @@
<dict-selector :type="DICT_TYPE.ECW_WAREHOUSING_TYPE" v-model="form.warehousingType" /> <dict-selector :type="DICT_TYPE.ECW_WAREHOUSING_TYPE" v-model="form.warehousingType" />
</el-form-item> </el-form-item>
<el-form-item label="关联订单" prop="orderIds"> <el-form-item label="关联订单" prop="orderIds">
<el-input v-model="form.orderIds" style="width: 206px;"></el-input> <!-- <el-input v-model="form.orderIds" style="width: 206px;"></el-input> -->
<el-select
v-model="form.orderNo"
filterable
remote
reserve-keyword
placeholder="订单号"
@focus="checkOptions"
:remote-method="remoteMethod"
:loading="selectLoading">
<el-option
v-for="item in orderNoList"
:key="item.value"
:label="item.value"
:value="item.value">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</template> </template>
<template v-else> <template v-else>
...@@ -39,6 +55,7 @@ import RoutersSelector from '@/components/RoutersSelector' ...@@ -39,6 +55,7 @@ import RoutersSelector from '@/components/RoutersSelector'
import ProductsSelector from '@/components/ProductsSelector' import ProductsSelector from '@/components/ProductsSelector'
import Editor from '@/components/Editor' import Editor from '@/components/Editor'
import Selector from '@/components/Selector/index' import Selector from '@/components/Selector/index'
import {getOrderNoSearch} from '@/api/ecw/order'
export default { export default {
name: "OfferResult", name: "OfferResult",
components: { CustomersSelector, RoutersSelector, ProductsSelector, Editor, Selector }, components: { CustomersSelector, RoutersSelector, ProductsSelector, Editor, Selector },
...@@ -59,7 +76,9 @@ export default { ...@@ -59,7 +76,9 @@ export default {
// 表单校验 // 表单校验
rules: { rules: {
warehousingType: {required: true, message: '请选择入仓类型'} warehousingType: {required: true, message: '请选择入仓类型'}
} },
selectLoading: false,
orderNoList: []
}; };
}, },
computed: { computed: {
...@@ -97,6 +116,19 @@ export default { ...@@ -97,6 +116,19 @@ export default {
}); });
}); });
}, },
remoteMethod(query){
this.selectLoading = true
getOrderNoSearch({key: query, pageSize: 200}).then(res => {
this.orderNoList = res.data.list
}).finally(res => {
this.selectLoading = false
})
},
checkOptions(){
if(!this.orderNoList.length){
this.remoteMethod("")
}
}
}, },
}; };
</script> </script>
\ No newline at end of file
...@@ -31,8 +31,10 @@ ...@@ -31,8 +31,10 @@
<div>重量:{{ row.sumWeight || 0 }}KG</div> <div>重量:{{ row.sumWeight || 0 }}KG</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="入仓时间"> <el-table-column label="入仓时间" prop="rucangTime">
<template v-slot="{row}">
{{parseTime(row.rucangTime)}}
</template>
</el-table-column> </el-table-column>
<el-table-column label="运输方式"> <el-table-column label="运输方式">
<template v-slot={row}> <template v-slot={row}>
......
...@@ -19,10 +19,19 @@ ...@@ -19,10 +19,19 @@
<el-descriptions-item :label="$t('目的仓')" :span="2"> <el-descriptions-item :label="$t('目的仓')" :span="2">
{{order.logisticsInfoDto.destAddressZh}} {{order.logisticsInfoDto.destAddressZh}}
</el-descriptions-item> </el-descriptions-item>
<!-- 提单审核 --> <!-- 优惠申请 -->
<el-descriptions-item v-if="path == 'order_landing_bill'"> <el-descriptions-item :label="$t('申请理由')" v-if="type == 1" :span="4">
<el-button type="primary" @click="getBillOfLandingInProcessing">查看提单</el-button> <div class="bold">
<div>
{{$t('原运费')}}{{detail.orgFreight}} {{ currentMap[detail.freightCurrency] }} / {{ unitMap[detail.freightVolume] }}
{{$t('新运费')}}{{detail.freight}} {{ currentMap[detail.freightCurrency] }} / {{ unitMap[detail.freightVolume] }}
</div>
<div>
{{$t('原清关费')}}{{detail.orgClearanceFreight}} {{ currentMap[detail.clearanceFreightCurrency] }} / {{ unitMap[detail.clearanceFreightVolume] }}
{{$t('新清关费')}}{{detail.clearanceFreight}} {{ currentMap[detail.clearanceFreightCurrency] }} / {{ unitMap[detail.clearanceFreightVolume] }}
</div>
</div>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
...@@ -33,7 +42,11 @@ ...@@ -33,7 +42,11 @@
import {getOrder, getApproval} from '@/api/ecw/order' import {getOrder, getApproval} from '@/api/ecw/order'
import {getChannel} from '@/api/ecw/channel' import {getChannel} from '@/api/ecw/channel'
import {getBillOfLandingInProcessing, getBillService} from '@/api/ecw/box' import {getBillOfLandingInProcessing, getBillService} from '@/api/ecw/box'
import {getUnitList} from "@/api/ecw/unit"
import { getCurrencyList } from '@/api/ecw/currency'
/* /*
type含义
优惠申请 1 优惠申请 1
管理优惠 2 管理优惠 2
佣金设置 3 佣金设置 3
...@@ -64,10 +77,14 @@ export default { ...@@ -64,10 +77,14 @@ export default {
}, },
data(){ data(){
return { return {
type: null,
detail: null, detail: null,
order: null, order: null,
channel: null, channel: null,
ShowLandingBill: false ShowLandingBill: false,
unitList:[],
currencyList:[],
} }
}, },
watch:{ watch:{
...@@ -81,6 +98,29 @@ export default { ...@@ -81,6 +98,29 @@ export default {
if(this.order.channelId){ if(this.order.channelId){
this.getChannel() this.getChannel()
} }
},
type(){
if([1,2,3,4,5].indexOf(this.type) > -1){
// 加载费用体积单位
getUnitList().then(res => this.unitList = res.data)
getCurrencyList().then(res => this.currencyList = res.data)
}
}
},
computed:{
currentMap(){
let map = {}
this.currencyList.forEach(item => {
map[item.id] = this.$l(item, 'title')
})
return map
},
unitMap(){
let map = {}
this.unitList.forEach(item => {
map[item.id] = this.$l(item, 'title')
})
return map
} }
}, },
created(){ created(){
...@@ -91,6 +131,7 @@ export default { ...@@ -91,6 +131,7 @@ export default {
methods:{ methods:{
getData(){ getData(){
getApproval(this.id).then(res => { getApproval(this.id).then(res => {
this.type = res.data.type
this.detail = JSON.parse(res.data.details) this.detail = JSON.parse(res.data.details)
}) })
}, },
...@@ -123,4 +164,7 @@ export default { ...@@ -123,4 +164,7 @@ export default {
font-weight: bold; font-weight: bold;
} }
} }
.bold{
font-weight: bold;
}
</style> </style>
\ No newline at end of file
<!--拆单审核中的申请信息部分--> <!--拆单审核中的申请信息部分-->
<template> <template>
<div v-if="order"> <div v-if="order">
<el-descriptions :column="4" v-if="order" :colon="false"> <el-descriptions :column="4" v-if="order" :colon="true">
<el-descriptions-item :label="$t('订单号')">{{order.orderNo}}</el-descriptions-item> <el-descriptions-item :label="$t('订单号')">{{order.orderNo}}</el-descriptions-item>
<el-descriptions-item :label="$t('运输方式')"> <el-descriptions-item :label="$t('运输方式')">
<dict-tag class="mr-10" :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" /> <dict-tag class="mr-10" :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" />
...@@ -19,12 +19,8 @@ ...@@ -19,12 +19,8 @@
<el-descriptions-item :label="$t('目的仓')" :span="2"> <el-descriptions-item :label="$t('目的仓')" :span="2">
{{order.logisticsInfoDto.destAddressZh}} {{order.logisticsInfoDto.destAddressZh}}
</el-descriptions-item> </el-descriptions-item>
<!-- 提单审核 -->
<el-descriptions-item>
<el-button type="primary" @click="ShowLandingBill=true">查看提单</el-button>
</el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-button type="primary" @click="ShowLandingBill=true">查看提单</el-button>
<el-dialog title="查看提单" :visible.sync="ShowLandingBill"> <el-dialog title="查看提单" :visible.sync="ShowLandingBill">
<div style="text-align:center; width: 600px; margin: auto" v-html="billContent" /> <div style="text-align:center; width: 600px; margin: auto" v-html="billContent" />
......
...@@ -133,7 +133,14 @@ ...@@ -133,7 +133,14 @@
<div v-if="type === 4"> <div v-if="type === 4">
<p>申请理由</p> <p>申请理由</p>
<div> <div>
{{ FeeDetails.details || '' }} 用户修改了订单中商品编号为【{{ FeeDetails.orderItemVOList[0].prodId }}】的【{{ FeeDetails.details.applyInfoVOList[0].newValue }}】信息:
<ol>
<template v-for="item in FeeDetails.details.applyInfoVOList">
<li v-if="item.orgValue === undefined">{{ item.name }}{{ item.newValue }}</li>
<li v-else-if="item.newValue === undefined">删除入仓</li>
<li v-else-if="item.newValue !== item.orgValue">{{ item.name }}从【{{ item.orgValue }}】改为【{{ item.newValue }}</li>
</template>
</ol>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -103,6 +103,9 @@ ...@@ -103,6 +103,9 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('中文品名')" width="160px"> <el-table-column :label="$t('中文品名')" width="160px">
<template slot="header" slot-scope="scope">
{{$t('中文品名')}} <span class="red">*</span>
</template>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item label="" <el-form-item label=""
:prop="`orderItemVOList.${scope.$index}.prodId`" :prop="`orderItemVOList.${scope.$index}.prodId`"
...@@ -116,6 +119,9 @@ ...@@ -116,6 +119,9 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('英文品名')" width="160px"> <el-table-column :label="$t('英文品名')" width="160px">
<template slot="header" slot-scope="scope">
{{$t('英文品名')}} <span class="red">*</span>
</template>
<template slot-scope="scope"> <template slot-scope="scope">
<product-selector lang="En" v-model="scope.row.prodId" @change="onProductChange(scope.row, $event)" :disabled="!canAddProduct || !productEditable" /> <product-selector lang="En" v-model="scope.row.prodId" @change="onProductChange(scope.row, $event)" :disabled="!canAddProduct || !productEditable" />
</template> </template>
...@@ -127,6 +133,9 @@ ...@@ -127,6 +133,9 @@
</el-table-column> --> </el-table-column> -->
<el-table-column :label="$t('品牌')" width="100px"> <el-table-column :label="$t('品牌')" width="100px">
<template slot="header" slot-scope="scope">
{{$t('品牌')}} <span class="red">*</span>
</template>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item label="" <el-form-item label=""
:prop="`orderItemVOList.${scope.$index}.brandType`" :prop="`orderItemVOList.${scope.$index}.brandType`"
...@@ -140,11 +149,17 @@ ...@@ -140,11 +149,17 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('件数')" width="90px"> <el-table-column :label="$t('件数')" width="90px">
<template slot="header" slot-scope="scope">
{{$t('件数')}} <span class="red">*</span>
</template>
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-input v-model.number="row.num" :disabled="!canAddProduct || !productEditable" /> <el-input v-model.number="row.num" :disabled="!canAddProduct || !productEditable" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('包装单位')"> <el-table-column :label="$t('包装单位')" width="100px">
<template slot="header" slot-scope="scope">
{{$t('包装单位')}} <span class="red">*</span>
</template>
<template slot-scope="{row}"> <template slot-scope="{row}">
<dict-selector v-model="row.unit" :type="DICT_TYPE.ECW_PACKAGING_TYPE" defaultable :disabled="!canAddProduct || !productEditable" /> <dict-selector v-model="row.unit" :type="DICT_TYPE.ECW_PACKAGING_TYPE" defaultable :disabled="!canAddProduct || !productEditable" />
</template> </template>
...@@ -165,6 +180,9 @@ ...@@ -165,6 +180,9 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('总货值') + '(RMB)'" width="100px"> <el-table-column :label="$t('总货值') + '(RMB)'" width="100px">
<template slot="header" slot-scope="scope">
{{$t('货值')}}(RMB) <span class="red">*</span>
</template>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item label="" <el-form-item label=""
:prop="`orderItemVOList.${scope.$index}.worth`" :prop="`orderItemVOList.${scope.$index}.worth`"
...@@ -313,7 +331,7 @@ ...@@ -313,7 +331,7 @@
</el-form-item> </el-form-item>
</div> </div>
<div v-if="homeDeliveryService && form.harvestMethod == 2"> <div v-if="homeDeliveryService && form.harvestMethod == 2">
<el-form-item :label="$t('收货地区')"> <el-form-item :label="$t('收货地区')" prop="country">
<area-selector <area-selector
:country="form.consigneeVO ? form.consigneeVO.country : undefined" :country="form.consigneeVO ? form.consigneeVO.country : undefined"
:province="form.consigneeVO ? form.consigneeVO.province : undefined" :province="form.consigneeVO ? form.consigneeVO.province : undefined"
...@@ -406,8 +424,9 @@ ...@@ -406,8 +424,9 @@
<el-button type="primary" @click="$router.push('/bpm/process-instance/detail?id=' + form.formId)">{{$t('审核中')}}</el-button> <el-button type="primary" @click="$router.push('/bpm/process-instance/detail?id=' + form.formId)">{{$t('审核中')}}</el-button>
</template> </template>
<template v-else> <template v-else>
<el-button type="primary" @click="submitForm(0)">{{$t('保存')}}</el-button> <!--草稿--> <el-button type="primary" @click="submitForm(0)" v-if="!form.status">{{$t('保存草稿')}}</el-button> <!--草稿-->
<el-button type="primary" @click="submitForm(2)" v-if="!form.orderId">{{$t('新建')}}</el-button> <!--待入仓--> <el-button type="primary" @click="submitForm(2)" v-if="!form.orderId || !form.status">{{$t('提交报价')}}</el-button> <!--待入仓-->
<el-button type="primary" @click="submitForm(2)" v-else>{{$t('编辑')}}</el-button> <!--修改-->
</template> </template>
<el-button @click="$store.dispatch('tagsView/delCurrentView')">{{$t('返回')}}</el-button> <el-button @click="$store.dispatch('tagsView/delCurrentView')">{{$t('返回')}}</el-button>
</el-form-item> </el-form-item>
...@@ -517,7 +536,8 @@ export default { ...@@ -517,7 +536,8 @@ export default {
type:[], type:[],
isExternalWarehouse: false, isExternalWarehouse: false,
externalWarehouseDtoList:[{}], externalWarehouseDtoList:[{}],
orderItemVOList:[] orderItemVOList:[],
drawee: 2
}, },
ccIdArr: [], ccIdArr: [],
// 表单校验 // 表单校验
...@@ -542,7 +562,8 @@ export default { ...@@ -542,7 +562,8 @@ export default {
lineId : [{required: true, message: this.$t('请选择路线')}], lineId : [{required: true, message: this.$t('请选择路线')}],
channelId : [{required: true, message: this.$t('请选择出货渠道')}], channelId : [{required: true, message: this.$t('请选择出货渠道')}],
deliveryDate : [{required: true, message: this.$t('请选择送货日期')}], deliveryDate : [{required: true, message: this.$t('请选择送货日期')}],
consigneeAddress : [{required: true, message: this.$t('请填写详细地址')}] consigneeAddress : [{required: true, message: this.$t('请填写详细地址')}],
country : [{required: true, message: this.$t('收货地区填写不完整')}]
}, },
labelStyle: 'width:120px', labelStyle: 'width:120px',
showBatchImportDialog: false, // 显示批量导入弹窗 showBatchImportDialog: false, // 显示批量导入弹窗
...@@ -912,6 +933,16 @@ export default { ...@@ -912,6 +933,16 @@ export default {
return this.$showFormValidateErrors(errors) return this.$showFormValidateErrors(errors)
} }
if(this.form.harvestMethod == 2){
if(!this.form.country || !this.form.province || !this.form.city){
return this.$notify({
title: '提示',
message: "收货地区填写不完整",
type: 'warning'
});
}
}
this.form.orderItemVOList.map(item => { this.form.orderItemVOList.map(item => {
item.prodAttrIds = item.prodAttrArr.join(',') item.prodAttrIds = item.prodAttrArr.join(',')
}) })
...@@ -924,6 +955,7 @@ export default { ...@@ -924,6 +955,7 @@ export default {
// 修改的提交 // 修改的提交
if (this.form.orderNo != null) { if (this.form.orderNo != null) {
let data = Object.assign({}, this.form, { let data = Object.assign({}, this.form, {
status: submitType,
customDraweeVOList: this.customDraweeList, customDraweeVOList: this.customDraweeList,
// transportUpdateReqVOList: this.transportList.filter(item => item._enabled), // transportUpdateReqVOList: this.transportList.filter(item => item._enabled),
orderItemVOList: this.getProductListWithDefaultValue(), orderItemVOList: this.getProductListWithDefaultValue(),
...@@ -1024,4 +1056,10 @@ export default { ...@@ -1024,4 +1056,10 @@ export default {
::v-deep .product-list .el-form-item__error{ ::v-deep .product-list .el-form-item__error{
position: static; position: static;
} }
::v-deep .el-table__cell .cell{
white-space: nowrap;
.red{
color: red;
}
}
</style> </style>
...@@ -12,50 +12,50 @@ ...@@ -12,50 +12,50 @@
<span style="margin: 0 8px;">{{$t('')}}</span> <span style="margin: 0 8px;">{{$t('')}}</span>
<el-date-picker clearable v-model="queryParams.endCreateTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('请选择结束日期')" /> <el-date-picker clearable v-model="queryParams.endCreateTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('请选择结束日期')" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('始发地:')"> <el-form-item :label="$t('始发地')+':'">
<el-select v-model="queryParams.originId" :placeholder="$t('请选择始发地')" clearable> <el-select v-model="queryParams.originId" :placeholder="$t('请选择始发地')" clearable>
<el-option v-for="item in expoerCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in expoerCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('目的地:')" > <el-form-item :label="$t('目的地')+':'" >
<el-select v-model="queryParams.destinationId" :placeholder="$t('请选择目的地')" clearable> <el-select v-model="queryParams.destinationId" :placeholder="$t('请选择目的地')" clearable>
<el-option v-for="item in importCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id" ></el-option> <el-option v-for="item in importCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id" ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('运输方式:')" > <el-form-item :label="$t('运输方式')+':'" >
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :clearable="true" v-model="queryParams.transportId" /> <dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :clearable="true" v-model="queryParams.transportId" />
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item :label="$t('控货:')"> <el-form-item :label="$t('控货')+':'">
<dict-selector :type="DICT_TYPE.ECW_YESNO" :clearable="true" v-model="queryParams.isCargoControl" @keyup.enter.native="handleQuery"/> <dict-selector :type="DICT_TYPE.ECW_YESNO" :clearable="true" v-model="queryParams.isCargoControl" @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('异常状态:')"> <el-form-item :label="$t('异常状态')+':'">
<dict-selector :type="DICT_TYPE.ORDER_EXCEPTION_STATUS" :clearable="true" v-model="queryParams.orderExceptionStatus" @keyup.enter.native="handleQuery"/> <dict-selector :type="DICT_TYPE.ORDER_EXCEPTION_STATUS" :clearable="true" v-model="queryParams.orderExceptionStatus" @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('异常类型:')"> <el-form-item :label="$t('异常类型')+':'">
<dict-selector :type="DICT_TYPE.ORDER_ERROR_TYPE" :clearable="true" v-model="queryParams.orderExceptionType" @keyup.enter.native="handleQuery"/> <dict-selector :type="DICT_TYPE.ORDER_ERROR_TYPE" :clearable="true" v-model="queryParams.orderExceptionType" @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('订单号:')"> <el-form-item :label="$t('订单号')+':'">
<el-input v-model="queryParams.orderNo" :placeholder="$t('请输入订单号')" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.orderNo" :placeholder="$t('请输入订单号')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item :label="$t('发货人:')"> <el-form-item :label="$t('发货人')+':'">
<customer-selector v-model="queryParams.consignor" :clearable="true" @change="consignor = $event" /> <customer-selector v-model="queryParams.consignor" :clearable="true" @change="consignor = $event" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('唛头:')"> <el-form-item :label="$t('唛头')+':'">
<el-input v-model="queryParams.marks" :placeholder="$t('请输入唛头')" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.marks" :placeholder="$t('请输入唛头')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('品名:')"> <el-form-item :label="$t('品名')+':'">
<product-selector v-model="queryParams.goodsName" :clearable="true" @keyup.enter.native="handleQuery" /> <product-selector v-model="queryParams.goodsName" :clearable="true" @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('备案:')"> <el-form-item :label="$t('备案')+':'">
<dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :clearable="true" v-model="queryParams.productRecord" @keyup.enter.native="handleQuery"/> <dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :clearable="true" v-model="queryParams.productRecord" @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item :label="$t('跟进业务:')"> <el-form-item :label="$t('跟进业务')+':'">
<el-select v-model="queryParams.salesmanId" :placeholder="$t('请选择跟进业务')" clearable> <el-select v-model="queryParams.salesmanId" :placeholder="$t('请选择跟进业务')" clearable>
<el-option v-for="item in creatorData" :key="item.id" :label="item.nickname" :value="item.id"/> <el-option v-for="item in creatorData" :key="item.id" :label="item.nickname" :value="item.id"/>
</el-select> </el-select>
......
...@@ -228,7 +228,8 @@ ...@@ -228,7 +228,8 @@
<template v-if=" <template v-if="
exclude(scope.row.status, [0,2]) && exclude(scope.row.status, [0,2]) &&
exclude(scope.row.abnormalState, [1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14]) && exclude(scope.row.abnormalState, [1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14]) &&
exclude(scope.row.shipmentState, [320,322,323]) exclude(scope.row.shipmentState, [320,322,323]) &&
exclude(scope.row.inWarehouseState, [201])
"> ">
<el-dropdown-item @click.native="$router.push(`/order/release?orderId=${scope.row.orderId}`)" >{{$t('确认提货')}}</el-dropdown-item> <el-dropdown-item @click.native="$router.push(`/order/release?orderId=${scope.row.orderId}`)" >{{$t('确认提货')}}</el-dropdown-item>
</template> </template>
...@@ -237,7 +238,8 @@ ...@@ -237,7 +238,8 @@
<template v-if=" <template v-if="
exclude(scope.row.status, [0,2]) && exclude(scope.row.status, [0,2]) &&
exclude(scope.row.abnormalState, [1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14]) && exclude(scope.row.abnormalState, [1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14]) &&
scope.row.shipmentState < 320 scope.row.shipmentState < 320 &&
exclude(scope.row.inWarehouseState, [201])
"> ">
<el-dropdown-item @click.native="$router.push(`/order/singleApply?orderNo=${scope.row.orderNo}`)" >{{$t('合单申请')}}</el-dropdown-item> <el-dropdown-item @click.native="$router.push(`/order/singleApply?orderNo=${scope.row.orderNo}`)" >{{$t('合单申请')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push(`/order/splitApply?orderId=${scope.row.orderId}`)" >{{$t('拆单申请')}}</el-dropdown-item> <el-dropdown-item @click.native="$router.push(`/order/splitApply?orderId=${scope.row.orderId}`)" >{{$t('拆单申请')}}</el-dropdown-item>
......
...@@ -68,8 +68,8 @@ ...@@ -68,8 +68,8 @@
}}</template> }}</template>
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<template v-slot:default='scope'> <template v-slot='{row}'>
<el-button type="text" @click ="guanlianOrderByOrderId(scope.row.orderId)"> <el-button type="text" @click ="guanlianOrderByOrderId(row)">
移出 移出
</el-button> </el-button>
</template> </template>
...@@ -136,8 +136,8 @@ export default { ...@@ -136,8 +136,8 @@ export default {
} }
}) })
}, },
guanlianOrderByOrderId(id){ guanlianOrderByOrderId(row){
deleteGuanlianOrderByOrderId({orderId:this.orderId,mutualOrderId:id}).then(r =>{ deleteGuanlianOrderByOrderId({orderId:this.orderId,mutualOrderId:row.mutualOrderId}).then(r =>{
if(r.code === 0){ if(r.code === 0){
this.getList() this.getList()
this.$message.success('操作成功'); this.$message.success('操作成功');
......
...@@ -19,11 +19,11 @@ ...@@ -19,11 +19,11 @@
<el-descriptions-item :label="$t('运输方式')"> <el-descriptions-item :label="$t('运输方式')">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="orderData.transportId" /> <dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="orderData.transportId" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('始发地')" :span="2"> <el-descriptions-item :label="$t('始发地')">
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.startAddressZh:$t('')}} {{orderData.logisticsInfoDto?orderData.logisticsInfoDto.startTitleZh:$t('')}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('目的地')"> <el-descriptions-item :label="$t('目的地')">
{{orderData.logisticsInfoDto?orderData.logisticsInfoDto.destAddressZh:$t('')}} {{orderData.logisticsInfoDto?orderData.logisticsInfoDto.destTitleZh:$t('')}}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-descriptions :column="4"> <el-descriptions :column="4">
...@@ -178,7 +178,7 @@ export default { ...@@ -178,7 +178,7 @@ export default {
let url = '../../lineProject/product-price/edit' let url = '../../lineProject/product-price/edit'
this.$router.push(url) this.$router.push(url)
}) })
} }
}else if(row.orderExceptionType == 'order_heavy_cargo_exception'||row.orderExceptionType=='order_bulky_cargo_exception'){ }else if(row.orderExceptionType == 'order_heavy_cargo_exception'||row.orderExceptionType=='order_bulky_cargo_exception'){
......
...@@ -7,47 +7,47 @@ ...@@ -7,47 +7,47 @@
</div> </div>
<el-form :model="orderData" ref="queryForm" size="small" :inline="true" label-width="120px" class="card"> <el-form :model="orderData" ref="queryForm" size="small" :inline="true" label-width="120px" class="card">
<el-row> <el-row>
<el-form-item :label="$t('订单号:')"> <el-form-item :label="$t('订单号')+':'">
{{orderData?orderData.orderNo:''}} {{orderData?orderData.orderNo:''}}
</el-form-item> </el-form-item>
</el-row> </el-row>
<div v-if="orderExceptionData.orderExceptionType=='order_superfluous_box_exception'||orderExceptionData.orderExceptionType=='order_lack_box_exception'||orderExceptionData.orderExceptionType=='order_miss_exception'||orderExceptionData.orderExceptionType=='order_superfluous_goods_exception'||orderExceptionData.orderExceptionType=='order_in_water_exception'||orderExceptionData.orderExceptionType=='order_damage_exception'"> <div v-if="orderExceptionData.orderExceptionType=='order_superfluous_box_exception'||orderExceptionData.orderExceptionType=='order_lack_box_exception'||orderExceptionData.orderExceptionType=='order_miss_exception'||orderExceptionData.orderExceptionType=='order_superfluous_goods_exception'||orderExceptionData.orderExceptionType=='order_in_water_exception'||orderExceptionData.orderExceptionType=='order_damage_exception'">
<el-row> <el-row>
<el-form-item :label="$t('产品名称:')" > <el-form-item :label="$t('产品名称')+':'" >
{{shopData?shopData.prodTitleZh:''}} {{shopData?shopData.prodTitleZh:''}}
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item :label="$t('产品英文名称:')"> <el-form-item :label="$t('产品英文名称')+':'">
{{shopData?shopData.prodTitleEn:''}} {{shopData?shopData.prodTitleEn:''}}
</el-form-item> </el-form-item>
</el-row> </el-row>
</div> </div>
<el-row> <el-row>
<el-form-item :label="$t('运输路线:')" > <el-form-item :label="$t('运输路线')+':'" >
<span v-if="orderData"><dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="orderData.transportId" /></span> <span v-if="orderData"><dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="orderData.transportId" /></span>
{{orderData?getRouterNameById():''}} {{orderData?getRouterNameById():''}}
</el-form-item> </el-form-item>
</el-row> </el-row>
<div v-if="orderExceptionData.orderExceptionType!='order_doc_exception'&&orderExceptionData.orderExceptionType!='order_consignor_exception'&&orderExceptionData.orderExceptionType!='order_other_exception'"> <div v-if="orderExceptionData.orderExceptionType!='order_doc_exception'&&orderExceptionData.orderExceptionType!='order_consignor_exception'&&orderExceptionData.orderExceptionType!='order_other_exception'">
<el-row> <el-row>
<el-form-item :label="$t('填单参数:')"> <el-form-item :label="$t('填单参数')+':'">
{{(shopData.num||0)+$t('')+(shopData.volume||0)+''+(shopData.weight||0)+'kg '+(shopData.quantity||0)+$t('')}} {{(shopData.num||0)+$t('')+(shopData.volume||0)+''+(shopData.weight||0)+'kg '+(shopData.quantity||0)+$t('')}}
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item :label="$t('入仓参数:')"> <el-form-item :label="$t('入仓参数')+':'">
<span>{{(shopData.warehouseInInfoVO?shopData.warehouseInInfoVO.cartonsNum:0)+$t('')+(shopData.warehouseInInfoVO?shopData.warehouseInInfoVO.volume:0)+''+(shopData.warehouseInInfoVO?shopData.warehouseInInfoVO.weight:0)+'kg '+(shopData.warehouseInInfoVO?shopData.warehouseInInfoVO.quantityAll:0) +$t('')}}</span> <span>{{(shopData.warehouseInInfoVO?shopData.warehouseInInfoVO.cartonsNum:0)+$t('')+(shopData.warehouseInInfoVO?shopData.warehouseInInfoVO.volume:0)+''+(shopData.warehouseInInfoVO?shopData.warehouseInInfoVO.weight:0)+'kg '+(shopData.warehouseInInfoVO?shopData.warehouseInInfoVO.quantityAll:0) +$t('')}}</span>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row :span="12"> <el-row :span="12">
<el-form-item :label="$t('异常描述:')"> <el-form-item :label="$t('异常描述')+':'">
{{orderExceptionData.orderExceptionDescVO?orderExceptionData.orderExceptionDescVO.descZh:''}} {{orderExceptionData.orderExceptionDescVO?orderExceptionData.orderExceptionDescVO.descZh:''}}
</el-form-item> </el-form-item>
<el-button v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" type="primary" plain icon="el-icon-plus" style="margin-left: 200px;" @click="handleAdd">新增收款单</el-button> <el-button v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" type="primary" plain icon="el-icon-plus" style="margin-left: 200px;" @click="handleAdd">新增收款单</el-button>
</el-row> </el-row>
<el-row> <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('收费参数:')"> <el-form-item :label="$t('收费参数')+':'">
<span>{{orderData.entryNum||0}}{{$t('')}} {{orderData.entryVolume||0}}{{orderData.entryWeight||0}}Kg {{orderData.entryQuantity||0}}{{$t('')}}</span> <span>{{orderData.entryNum||0}}{{$t('')}} {{orderData.entryVolume||0}}{{orderData.entryWeight||0}}Kg {{orderData.entryQuantity||0}}{{$t('')}}</span>
</el-form-item> </el-form-item>
</el-row> </el-row>
...@@ -130,63 +130,63 @@ ...@@ -130,63 +130,63 @@
</el-table> </el-table>
<el-form :model="handlerParams" ref="queryForms" size="small" :inline="true" label-width="120px" class="card"> <el-form :model="handlerParams" ref="queryForms" size="small" :inline="true" label-width="120px" class="card">
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'"> <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('订单总金额:')"> <el-form-item :label="$t('订单总金额')+':'">
<span style="margin-left: 8px;" v-for="(item, key) of orderFee.totalAmountList">{{item}}{{key}}</span> <span style="margin-left: 8px;" v-for="(item, key) of orderFee.totalAmountList">{{item}}{{key}}</span>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'"> <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('应付预付金额:')"> <el-form-item :label="$t('应付预付金额')+':'">
<span style="margin-left: 8px;" v-for="(item, key) of orderFee.totalPaymentAmount">{{item}}{{key}}</span> <span style="margin-left: 8px;" v-for="(item, key) of orderFee.totalPaymentAmount">{{item}}{{key}}</span>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'"> <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('已核销预付金额:')"> <el-form-item :label="$t('已核销预付金额')+':'">
{{orderFee.writeOffAmount}} {{orderFee.writeOffAmount}}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="$t('已核销预付金额占总金额比例:')" label-width="200px"> <el-form-item :label="$t('已核销预付金额占总金额比例')+':'" label-width="200px">
{{orderFee.writeOffAmountScale}} {{orderFee.writeOffAmountScale}}
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" > <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" >
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('预付商品货值:')"> <el-form-item :label="$t('预付商品货值')+':'">
{{orderFee.paymentGoodsWorth}} {{orderFee.paymentGoodsWorth}}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="$t('预付商品货值占佣金额比例:')" label-width="200px"> <el-form-item :label="$t('预付商品货值占佣金额比例')+':'" label-width="200px">
{{orderFee.paymentGoodsWorthScale}} {{orderFee.paymentGoodsWorthScale}}
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'"> <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('预付商品方数:')"> <el-form-item :label="$t('预付商品方数')+':'">
{{orderFee.paymentGoodsVolume}} {{orderFee.paymentGoodsVolume}}
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'"> <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('订单总方数:')"> <el-form-item :label="$t('订单总方数')+':'">
{{orderFee.totalVolume}} {{orderFee.totalVolume}}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="$t('预付商品方数占总方数比例:')" label-width="200px"> <el-form-item :label="$t('预付商品方数占总方数比例')+':'" label-width="200px">
{{orderFee.paymentGoodsVolumeScale}} {{orderFee.paymentGoodsVolumeScale}}
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :span="8" v-if="orderExceptionData.orderExceptionType=='order_doc_exception'"> <el-row :span="8" v-if="orderExceptionData.orderExceptionType=='order_doc_exception'">
<el-form-item :label="$t('报关资料:')" size="medium"> <el-form-item :label="$t('报关资料')+':'" size="medium">
<file-upload v-model="handlerParams.fileList" :value="orderExceptionData.file" ></file-upload> <file-upload v-model="handlerParams.fileList" :value="orderExceptionData.file" ></file-upload>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'"> <el-row v-if="orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'">
<el-form-item :label="$t('处理结果:')" required> <el-form-item :label="$t('处理结果')+':'" required>
<el-select v-model="handlerParams.orderExceptionHandlerResult" placeholder="请选择" clearable> <el-select v-model="handlerParams.orderExceptionHandlerResult" placeholder="请选择" clearable>
<el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')" <el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
...@@ -194,7 +194,7 @@ ...@@ -194,7 +194,7 @@
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row :span="8" v-if="orderExceptionData.orderExceptionType=='order_pick_up_exception'&&handlerParams.orderExceptionHandlerResult=='cost_required'"> <el-row :span="8" v-if="orderExceptionData.orderExceptionType=='order_pick_up_exception'&&handlerParams.orderExceptionHandlerResult=='cost_required'">
<el-form-item :label="$t('送货费用:')" size="medium"> <el-form-item :label="$t('送货费用')+':'" size="medium">
<el-input style="width: 100px;" type="text" v-model="handlerParams.amount" /> <el-input style="width: 100px;" type="text" v-model="handlerParams.amount" />
<el-select v-model="handlerParams.currency" style="width: 100px;margin-left: 10px;" clearable> <el-select v-model="handlerParams.currency" style="width: 100px;margin-left: 10px;" clearable>
<el-option v-for="dict in getDictDatas('shipping_price_unit') " <el-option v-for="dict in getDictDatas('shipping_price_unit') "
...@@ -203,7 +203,7 @@ ...@@ -203,7 +203,7 @@
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row :span="8" v-if="orderExceptionData.orderExceptionType!='order_lack_box_exception'&&orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'&&orderExceptionData.orderExceptionType!='order_other_exception'&&orderExceptionData.orderExceptionType!='order_lack_box_exception'"> <el-row :span="8" v-if="orderExceptionData.orderExceptionType!='order_lack_box_exception'&&orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'&&orderExceptionData.orderExceptionType!='order_other_exception'&&orderExceptionData.orderExceptionType!='order_lack_box_exception'">
<el-form-item :label="$t('备注:')" size="medium"> <el-form-item :label="$t('备注')+':'" size="medium">
<el-input style="width: 500px;" type="textarea" v-model="handlerParams.orderExceptionHandlerRemark" /> <el-input style="width: 500px;" type="textarea" v-model="handlerParams.orderExceptionHandlerRemark" />
</el-form-item> </el-form-item>
</el-row> </el-row>
...@@ -215,13 +215,15 @@ ...@@ -215,13 +215,15 @@
</el-form-item> </el-form-item>
</el-row> --> </el-row> -->
<el-row > <el-row >
<el-form-item :label="$t('状态:')"> <el-form-item :label="$t('状态')+':'">
<el-radio v-model="handlerParams.orderExceptionStatus" label="1">{{$t('处理中')}}</el-radio> <el-radio-group v-model="handlerParams.orderExceptionStatus" @change="changeExceptionStatus">
<el-radio v-model="handlerParams.orderExceptionStatus" label="2">{{$t('已处理')}}</el-radio> <el-radio label="1">{{$t('处理中')}}</el-radio>
<el-radio label="2">{{$t('已处理')}}</el-radio>
</el-radio-group>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item :label="$t('处理结果:')" required v-if="handlerParams.orderExceptionStatus==2"> <el-form-item :label="$t('处理结果')+':'" required v-if="handlerParams.orderExceptionStatus==2">
<el-select v-model="handlerParams.orderExceptionHandlerResult" placeholder="请选择" clearable> <el-select v-model="handlerParams.orderExceptionHandlerResult" placeholder="请选择" clearable>
<el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_don_result')" <el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_don_result')"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
...@@ -229,7 +231,7 @@ ...@@ -229,7 +231,7 @@
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row > <el-row >
<el-form-item :label="$t('赔付金额:')" size="medium" required v-if="handlerParams.orderExceptionStatus==2&&handlerParams.orderExceptionHandlerResult=='confirm_loss'"> <el-form-item :label="$t('赔付金额')+':'" size="medium" required v-if="handlerParams.orderExceptionStatus==2">
<el-input style="width: 100px;" type="text" v-model="handlerParams.amount" /> <el-input style="width: 100px;" type="text" v-model="handlerParams.amount" />
<el-select v-model="handlerParams.currency" style="width: 100px;margin-left: 10px;" clearable> <el-select v-model="handlerParams.currency" style="width: 100px;margin-left: 10px;" clearable>
<el-option v-for="dict in getDictDatas('shipping_price_unit') " <el-option v-for="dict in getDictDatas('shipping_price_unit') "
...@@ -238,7 +240,7 @@ ...@@ -238,7 +240,7 @@
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item :label="$t('查明原因:')" required v-if="handlerParams.orderExceptionStatus==1"> <el-form-item :label="$t('查明原因')+':'" required v-if="handlerParams.orderExceptionStatus==1">
<el-select v-model="handlerParams.orderExceptionHandlerResult" clearable> <el-select v-model="handlerParams.orderExceptionHandlerResult" clearable>
<el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')" <el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
...@@ -333,6 +335,9 @@ ...@@ -333,6 +335,9 @@
}); });
}, },
changeExceptionStatus(){
this.$set(this.handlerParams,'orderExceptionHandlerResult','')
},
getOrderData(){ getOrderData(){
getOrder(this.orderId).then(response => { getOrder(this.orderId).then(response => {
this.orderData = response.data this.orderData = response.data
......
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
<template v-if="darkCommission"> <template v-if="darkCommission">
{{$t('暗佣')}}{{darkCommission}} {{ currencyMap[form.freightCurrency] }} / {{ unitMap[form.freightVolume] }} {{$t('暗佣')}}{{darkCommission}} {{ currencyMap[form.freightCurrency] }} / {{ unitMap[form.freightVolume] }}
</template> </template>
<el-link type="primary" @click.native="$router.push('/customer/customerCommission?customerId=' + customerId)">{{$t('去设置')}}</el-link> <el-link type="primary" @click.native="$router.push('/customer/customerCommission?customerId=' + order.customerId)">{{$t('去设置')}}</el-link>
</div> </div>
<div v-if="form.commissionType == 1 || form.commissionType == 3">{{$t('销售价')}}{{Decimal(form.freight).plus(form.lightCommissionAmount) }} {{ currencyMap[form.freightCurrency] }} / {{ unitMap[form.freightVolume] }}</div> <div v-if="form.commissionType == 1 || form.commissionType == 3">{{$t('销售价')}}{{Decimal(form.freight).plus(form.lightCommissionAmount) }} {{ currencyMap[form.freightCurrency] }} / {{ unitMap[form.freightVolume] }}</div>
......
...@@ -85,16 +85,16 @@ ...@@ -85,16 +85,16 @@
<span>{{$t('体积')}}{{scope.row.volume||$t('未填')}}</span> <span>{{$t('体积')}}{{scope.row.volume||$t('未填')}}</span>
</el-row> </el-row>
<el-row> <el-row>
<span>{{$t('重量')}}{{scope.row.weight||t('未填')}}kg</span> <span>{{$t('重量')}}{{scope.row.weight||$t('未填')}}kg</span>
</el-row> </el-row>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('入库货物属性')" align="center" width="400"> <el-table-column :label="$t('入库货物属性')" align="center" width="400">
<template slot-scope="scope"> <template slot-scope="scope">
<el-row> <el-row v-if="scope.row.warehouseInInfoVO">
<span>{{$t('规格')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.boxGauge:0}}</span> <span>{{$t('规格')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.boxGauge:0}}</span>
</el-row> </el-row>
<el-row> <el-row v-if="scope.row.warehouseInInfoVO">
<span>{{$t('品牌')}} <span>{{$t('品牌')}}
<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.brandType" /> <dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.brandType" />
</span> </span>
...@@ -102,6 +102,9 @@ ...@@ -102,6 +102,9 @@
<span style="margin-left: 10px;">{{$t('体积')}}{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.volume}}</span> <span style="margin-left: 10px;">{{$t('体积')}}{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.volume}}</span>
<span style="margin-left: 10px;">{{$t('重量')}}{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.weight}}kg</span> <span style="margin-left: 10px;">{{$t('重量')}}{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.weight}}kg</span>
</el-row> </el-row>
<el-row v-if="!scope.row.warehouseInInfoVO">
<span>{{$t('暂时没有入仓信息')}}</span>
</el-row>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('最后操作时间')" align="center"> <el-table-column :label="$t('最后操作时间')" align="center">
...@@ -111,8 +114,8 @@ ...@@ -111,8 +114,8 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('状态')" align="center"> <el-table-column :label="$t('状态')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{orderData.abnormalState!=0?$t('异常'):$t('正常')}} <!-- {{orderData.abnormalState!=0?$t('异常'):$t('正常')}} -->
<!-- <dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" /> --> <dict-tag :type="DICT_TYPE.ORDER_ITEM_STATUS" :value="scope.row.itemStatus" />
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -134,7 +137,8 @@ ...@@ -134,7 +137,8 @@
<div> <div>
<el-button v-if="index==0" disabled type="primary" @click="addShop(index)">{{$t('放入')}}</el-button> <el-button v-if="index==0" disabled type="primary" @click="addShop(index)">{{$t('放入')}}</el-button>
<el-button v-if="index!=0" type="primary" @click="addShop(index)">{{$t('放入')}}</el-button> <el-button v-if="index!=0" type="primary" @click="addShop(index)">{{$t('放入')}}</el-button>
<el-button type="primary" plain @click="deleteSplit(item.id)">{{$t('删除')}}</el-button> <el-button v-if="index==0" disabled type="primary" plain @click="deleteSplit(item.id)">{{$t('删除')}}</el-button>
<el-button v-if="index!=0" type="primary" plain @click="deleteSplit(item.id)">{{$t('删除')}}</el-button>
</div> </div>
</div> </div>
<el-table v-if="item.orderSplitItemBackVOList" border :data="item.orderSplitItemBackVOList"> <el-table v-if="item.orderSplitItemBackVOList" border :data="item.orderSplitItemBackVOList">
...@@ -186,12 +190,12 @@ ...@@ -186,12 +190,12 @@
<el-dialog :title="$t('新建拆单')" :visible.sync="open" width="400px" append-to-body> <el-dialog :title="$t('新建拆单')" :visible.sync="open" width="400px" append-to-body>
<el-form ref="formSplit" :model="form" :rules="rules" label-width="80px"> <el-form ref="formSplit" :model="form" :rules="rules" label-width="80px">
<el-row> <el-row>
<el-form-item :label="$t('运输方式')"> <el-form-item :label="$t('运输方式')+':'">
<dict-selector :clearable="true" :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="form.transportId" formatter="number"/> <dict-selector :clearable="true" :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="form.transportId" formatter="number"/>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item :label="$t('目的仓库:')" > <el-form-item :label="$t('目的仓库')+':'" >
<el-select v-model="form.destWarehouseId" :placeholder="$t('请选择目的仓库')" clearable> <el-select v-model="form.destWarehouseId" :placeholder="$t('请选择目的仓库')" clearable>
<el-option v-for="item in importCityList" :label="item.titleZh" :value="item.id" :key="item.id" ></el-option> <el-option v-for="item in importCityList" :label="item.titleZh" :value="item.id" :key="item.id" ></el-option>
</el-select> </el-select>
...@@ -213,25 +217,25 @@ ...@@ -213,25 +217,25 @@
<el-dialog :title="$t('放入品名')" :visible.sync="shopOpen" width="400px" append-to-body> <el-dialog :title="$t('放入品名')" :visible.sync="shopOpen" width="400px" append-to-body>
<el-form ref="shopForm" :model="shopForm" :rules="shopRules" label-width="80px"> <el-form ref="shopForm" :model="shopForm" :rules="shopRules" label-width="80px">
<el-row> <el-row>
<el-form-item :label="$t('中文品名:')" v-if="splitData.length>0"> <el-form-item :label="$t('中文品名')+':'" v-if="splitData.length>0">
<el-select v-model="shopForm.prodTitleZh" :placeholder="$t('请选择中文品名')" @change="changeProdTitleZh" clearable> <el-select v-model="shopForm.prodTitleZh" :placeholder="$t('请选择中文品名')" @change="changeProdTitleZh" clearable>
<el-option v-for="item in splitData[0].orderSplitItemBackVOList" :label="item.prodTitleZh" :value="item.prodTitleZh" :key="item.prodTitleZh" ></el-option> <el-option v-for="item in splitData[0].orderSplitItemBackVOList" :label="item.prodTitleZh" :value="item.prodTitleZh" :key="item.prodTitleZh" ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item :label="$t('英文品名:')" v-if="splitData.length>0"> <el-form-item :label="$t('英文品名')+':'" v-if="splitData.length>0">
<el-select v-model="shopForm.prodTitleEn" :placeholder="$t('请选择英文品名')" @change="changeProdTitleEn" clearable> <el-select v-model="shopForm.prodTitleEn" :placeholder="$t('请选择英文品名')" @change="changeProdTitleEn" clearable>
<el-option v-for="item in splitData[0].orderSplitItemBackVOList" :label="item.prodTitleEn" :value="item.prodTitleEn" :key="item.prodTitleEn" ></el-option> <el-option v-for="item in splitData[0].orderSplitItemBackVOList" :label="item.prodTitleEn" :value="item.prodTitleEn" :key="item.prodTitleEn" ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('剩余箱数:')"> <el-form-item :label="$t('剩余箱数')+':'">
{{shopForm.sum||0}} {{shopForm.sum||0}}
</el-form-item> </el-form-item>
<el-form-item :label="$t('放入箱数:')"> <el-form-item :label="$t('放入箱数')+':'">
<el-input-number v-model="shopForm.num" controls-position="right" :min="1" :max="shopForm.sum"></el-input-number> <el-input-number v-model="shopForm.num" controls-position="right" :min="1" :max="shopForm.sum"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item :label="$t('备注信息:')"> <el-form-item :label="$t('备注信息')+':'">
<el-input v-model="shopForm.remarks"></el-input> <el-input v-model="shopForm.remarks"></el-input>
</el-form-item> </el-form-item>
</el-row> </el-row>
...@@ -290,6 +294,7 @@ export default { ...@@ -290,6 +294,7 @@ export default {
form:{ form:{
}, },
importCityList:[],
selectedUsers:[], selectedUsers:[],
shopOpen:false, shopOpen:false,
...@@ -318,7 +323,10 @@ export default { ...@@ -318,7 +323,10 @@ export default {
}, },
created() { created() {
this.getChannel() this.getChannel()
getWarehouseList().then(res => this.tradeCityList = res.data) getWarehouseList().then(res => {
this.tradeCityList = res.data
this.importCityList = this.tradeCityList.filter(item => item.type == 1)
})
if (this.$route.query.orderId) { if (this.$route.query.orderId) {
this.queryParams.orderId = this.$route.query.orderId this.queryParams.orderId = this.$route.query.orderId
} }
...@@ -352,9 +360,6 @@ export default { ...@@ -352,9 +360,6 @@ export default {
}, },
getDictDatas(){ getDictDatas(){
return getDictDatas return getDictDatas
},
importCityList(){
return this.tradeCityList.filter(item => item.type == 1)
} }
}, },
methods: { methods: {
...@@ -454,6 +459,16 @@ export default { ...@@ -454,6 +459,16 @@ export default {
this.shopOpen = true this.shopOpen = true
}, },
addSplit(){ addSplit(){
this.form.transportId = this.orderData.transportId
this.form.destWarehouseId = this.orderData.destWarehouseId
if(this.orderData.logisticsInfoDto&&this.orderData.logisticsInfoDto.destTitleZh){
this.form.destWarehouseId = this.importCityList.find(item=>item.titleZh==this.orderData.logisticsInfoDto.destTitleZh).id
if(this.orderData.logisticsInfoDto&&this.orderData.logisticsInfoDto.channelId){
this.form.channelId = this.orderData.logisticsInfoDto.channelId
}
}
this.open = true this.open = true
}, },
changeProdTitleZh(){ changeProdTitleZh(){
......
...@@ -296,8 +296,18 @@ ...@@ -296,8 +296,18 @@
</div> </div>
<span slot="footer"> <span slot="footer">
<el-button @click="opened = false">关 闭</el-button> <template v-if="true">
<el-button type="primary" @click="handleSubmit()">{{ edit ? '确认修改' : '提 交' }}</el-button> <el-button @click="opened = false">关 闭</el-button>
<el-button type="primary" @click="handleSubmit()">{{ edit ? '确认修改' : '提 交' }}</el-button>
</template>
<template v-else>
<el-button type="primary">审核中</el-button>
<el-button type="primary">取消审核</el-button>
<el-button @click="opened = false">返回</el-button>
</template>
<template v-else>
</template>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
...@@ -372,30 +382,30 @@ export default { ...@@ -372,30 +382,30 @@ export default {
opened: false, opened: false,
brandList: [], brandList: [],
form: { form: {
"brand": "0", // "brand": "0",
"brandType": 0, // "brandType": 0,
"inTime": "", // "inTime": "",
"material": "", // "material": "",
"orderId": 0, // "orderId": 0,
"orderItemId": 0, // "orderItemId": 0,
"orderNo": "", // "orderNo": "",
"orderWarehouseInItemDoList": [], "orderWarehouseInItemDoList": [],
"prodAttrIds": "", "prodAttrIds": "",
"prodId": 0, "prodId": 0,
"prodTitleEn": "", // "prodTitleEn": "",
"prodTitleZh": "", // "prodTitleZh": "",
"prodType": 0, // "prodType": 0,
"type": 0, // "type": 0,
feeType: 0, feeType: 0,
recordMode: undefined recordMode: undefined
}, },
tableFormRules: { tableFormRules: {
cartonsNum: [{required: true, message: "箱数不能为空", trigger: "blur"}], cartonsNum: [{required: true, message: this.$t("箱数不能为空"), trigger: "blur"}],
boxGauge1: [{required: true, message: "货物长不能为空", trigger: "blur"}], boxGauge1: [{required: true, message: this.$t("货物长不能为空"), trigger: "blur"}],
boxGauge2: [{required: true, message: "货物宽不能为空", trigger: "blur"}], boxGauge2: [{required: true, message: this.$t("货物宽不能为空"), trigger: "blur"}],
boxGauge3: [{required: true, message: "货物高不能为空", trigger: "blur"}], boxGauge3: [{required: true, message: this.$t("货物高不能为空"), trigger: "blur"}],
volume: [{required: true, message: "体积不能为空", trigger: "blur"}], volume: [{required: true, message: this.$t("体积不能为空"), trigger: "blur"}],
weight: [{required: true, message: "重量不能为空", trigger: "blur"}], weight: [{required: true, message: this.$t("重量不能为空"), trigger: "blur"}],
quantityAll: [{required: true, message: "数量不能为空", trigger: "blur"}] quantityAll: [{required: true, message: "数量不能为空", trigger: "blur"}]
}, },
form1: { form1: {
...@@ -533,7 +543,16 @@ export default { ...@@ -533,7 +543,16 @@ export default {
orderId: this.warehousing.orderId, orderId: this.warehousing.orderId,
orderItemId: this.warehousing.orderItemId, orderItemId: this.warehousing.orderItemId,
orderNo: this.warehousing.orderNo, orderNo: this.warehousing.orderNo,
"orderWarehouseInUpdateItemDoList": orderWarehouseInItemDoList, num: this.warehousing.num,
volume: this.warehousing.volume.toFixed(2),
weight: this.warehousing.weight.toFixed(2),
prodId: this.warehousing.prodId,
"orderWarehouseInUpdateItemDoList": this.tableData.map(e => {
return {
...e,
boxGauge: e.boxGauge1 + '*' + e.boxGauge2 + '*' + e.boxGauge3
}
}),
copyUserId: this.selectedUsers copyUserId: this.selectedUsers
}).then(r => { }).then(r => {
if (r.data) { if (r.data) {
......
...@@ -101,12 +101,12 @@ ...@@ -101,12 +101,12 @@
<h2>订单数据</h2> <h2>订单数据</h2>
<el-form-item label="总方数" style="width: 300px"> <el-form-item label="总方数" style="width: 300px">
<el-input v-model="form.sumVolume" placeholder="请输入总方数"> <el-input v-model="form.sumVolume" placeholder="请输入总方数" 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="总重量" style="width: 300px">
<el-input v-model="form.sumWeight" placeholder="请输入总重量"> <el-input v-model="form.sumWeight" placeholder="请输入总重量" readonly>
<span slot="append">kg</span> <span slot="append">kg</span>
</el-input> </el-input>
</el-form-item> </el-form-item>
...@@ -133,7 +133,7 @@ ...@@ -133,7 +133,7 @@
<el-button type="primary" @click="handleLabelSubmit">修改箱号</el-button> <el-button type="primary" @click="handleLabelSubmit">修改箱号</el-button>
</div> </div>
</template> </template>
<div style="text-align: center;margin-top: 15px" v-if="order.status !== 5"> <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">转异</el-button>
<el-button type="primary" @click="finishVisible = true">完成入仓</el-button> <el-button type="primary" @click="finishVisible = true">完成入仓</el-button>
</div> </div>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<el-dialog <el-dialog
:title="brandName" :title="brandName"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="900px" width="1080px"
:before-close="handleClose()"> :before-close="handleClose()">
<el-tabs v-model="activeName"> <el-tabs v-model="activeName">
<el-tab-pane label="未授权客户" name="first"> <el-tab-pane label="未授权客户" name="first">
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="phone" prop="phone"
:formatter="(row, column, cellValue) => '+' + cellValue"
label="客户号码"> label="客户号码">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -78,6 +79,7 @@ ...@@ -78,6 +79,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="phone" prop="phone"
:formatter="(row, column, cellValue) => '+' + cellValue"
label="客户号码"> label="客户号码">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
......
...@@ -270,6 +270,11 @@ export default { ...@@ -270,6 +270,11 @@ export default {
/* getProductType(this.product.typeId).then(res => { /* getProductType(this.product.typeId).then(res => {
this.productType = res.data this.productType = res.data
}) */ }) */
this.$set(this.form, 'needBook', this.product.needBook)
this.$set(this.form, 'square', this.product.square)
this.$set(this.form, 'dayLimit', this.product.dayLimit)
this.$set(this.form, 'containerLocation', this.product.containerLocation)
}, },
form(val) { form(val) {
if (!val) return if (!val) return
......
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
<el-button v-if="!$route.query.product_id" type="primary" plain icon="el-icon-setting" size="mini" @click="batchOff" :disabled="multiple">{{$t('批量下架')}}</el-button> <el-button v-if="!$route.query.product_id" type="primary" plain icon="el-icon-setting" size="mini" @click="batchOff" :disabled="multiple">{{$t('批量下架')}}</el-button>
<!--指定商品--> <!--指定商品-->
<el-button v-if="$route.query.product_id" type="primary" plain icon="el-icon-setting" size="mini" @click="batchSetSingleProductPrice">{{$t('批量设置单个商品的路线路线')}}</el-button> <el-button v-if="$route.query.product_id" type="primary" plain icon="el-icon-setting" size="mini" @click="batchSetSingleProductPrice">{{$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"
......
...@@ -143,9 +143,9 @@ export default { ...@@ -143,9 +143,9 @@ export default {
padding: 8px; padding: 8px;
} }
} }
.my-process-designer { /* .my-process-designer {
height: calc(100vh - 200px); height: calc(100vh - 200px);
} } */
.box-card { .box-card {
width: 100%; width: 100%;
......
...@@ -207,13 +207,13 @@ export default { ...@@ -207,13 +207,13 @@ export default {
}; };
</script> </script>
<style rel="stylesheet/scss" lang="scss"> <style lang="scss" scoped>
.login { .login {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
height: 100%; height: 100%;
background-image: url("https://musician-release-1305250541.file.myqcloud.com/static/bg-login.png"); background-image: url(../assets/images/bg-login.png);
background-size: cover; background-size: cover;
} }
.title { .title {
......
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