Commit 60ece7c1 authored by 我在何方's avatar 我在何方

应收款查询bug

parents e1c2fb3a 0f5df4c2
...@@ -10,7 +10,7 @@ tests/**/coverage/ ...@@ -10,7 +10,7 @@ tests/**/coverage/
tests/e2e/reports tests/e2e/reports
selenium-debug.log selenium-debug.log
# 提取的需要翻译的文件列表 # 提取的需要翻译的文件列表
messages.txt i18n-messages.txt
# Editor directories and files # Editor directories and files
.idea .idea
.vscode .vscode
......
...@@ -2,6 +2,7 @@ const fs = require('fs'); ...@@ -2,6 +2,7 @@ const fs = require('fs');
const root = "./src" const root = "./src"
let allFiles = [] let allFiles = []
function getFiles(dir){ function getFiles(dir){
let files = fs.readdirSync(dir) let files = fs.readdirSync(dir)
files.forEach(file => { files.forEach(file => {
...@@ -16,12 +17,12 @@ getFiles(root) ...@@ -16,12 +17,12 @@ getFiles(root)
let messages = new Set() let messages = new Set()
allFiles.forEach(file => { allFiles.forEach(file => {
let data = fs.readFileSync(file, {encoding: 'utf-8'}) let data = fs.readFileSync(file, {encoding: 'utf-8'})
let matched = data.matchAll(/\$t\([\'\"]{1}([^\"\']+)[\'\"]{1}\)/g) let matched = data.matchAll(/\$t\([\'\"]{1}([^\"\']+)[\'\"]{1}/g)
let i = 0 let i = 0
for(let item of matched){ for(let item of matched){
i ++ i ++
messages.add(item[1]) messages.add(item[1])
} }
}) })
fs.writeFileSync("./messages.txt", Array.from(messages).join("\n")) fs.writeFileSync("./i18n-messages.txt", Array.from(messages).join("\n"))
console.log("done!") console.log("done!")
\ No newline at end of file
...@@ -411,6 +411,21 @@ export function createSection(data) { ...@@ -411,6 +411,21 @@ export function createSection(data) {
}); });
} }
/**
* 创建预装部分
*
* @export
* @param {*} data
* @return {*}
*/
export function changeSection(data) {
return request({
url: "/ecw/box-preload-goods/changeSection",
method: "post",
data,
});
}
/** /**
* 查询出货单下的所有部分列表 * 查询出货单下的所有部分列表
* *
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<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>
<el-descriptions-item label="始发地">{{ order.logisticsInfoDto.startAddressZh || '' }}</el-descriptions-item> <el-descriptions-item label="始发地">{{ order.logisticsInfoDto.startTitleZh || '' }}<span v-if="order.isExternalWarehouse" style="color: red">(外部仓)</span></el-descriptions-item>
<el-descriptions-item label="目的地">{{ order.logisticsInfoDto.destTitleZh || '' }}</el-descriptions-item> <el-descriptions-item label="目的地">{{ order.logisticsInfoDto.destTitleZh || '' }}</el-descriptions-item>
<el-descriptions-item label="发货人姓名">{{ order.consignorVO && order.consignorVO.name || ''}}</el-descriptions-item> <el-descriptions-item label="发货人姓名">{{ order.consignorVO && order.consignorVO.name || ''}}</el-descriptions-item>
<el-descriptions-item label="发货人公司">{{ order.consignorVO && order.consignorVO.company || '' }}</el-descriptions-item> <el-descriptions-item label="发货人公司">{{ order.consignorVO && order.consignorVO.company || '' }}</el-descriptions-item>
......
...@@ -91,7 +91,7 @@ export default { ...@@ -91,7 +91,7 @@ export default {
if (val) { if (val) {
this.opened = true this.opened = true
getByWarehouseId({cityId: this.cityId,warehouseId: this.warehouseId }).then(r => { if (this.area.length === 0) getByWarehouseId({cityId: this.cityId,warehouseId: this.warehouseId }).then(r => {
const area = r.data const area = r.data
area.forEach(e => { area.forEach(e => {
// 仓库 // 仓库
......
...@@ -478,3 +478,8 @@ export default { ...@@ -478,3 +478,8 @@ export default {
} }
}; };
</script> </script>
<style scoped>
.my-process-designer{
height: calc(100vh - 84px - 40px);
}
</style>
...@@ -11,8 +11,8 @@ ...@@ -11,8 +11,8 @@
: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="processName"> <el-form-item label="任务名称" prop="processName">
<el-input v-model="queryParams.processName" placeholder="请输入流程名称" clearable/> <el-input v-model="queryParams.processName" placeholder="请输入任务名称" clearable/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('创建时间')"> <el-form-item :label="$t('创建时间')">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd" <el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.categoryId" /> <dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.categoryId" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="流程名称" align="center" prop="processName"/> <el-table-column label="任务名称" align="center" prop="processName"/>
<el-table-column label="流程发起人" align="center" prop="originatorName"/> <el-table-column label="流程发起人" align="center" prop="originatorName"/>
<el-table-column label="创建时间" align="center" prop="createTime" width="180"> <el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
......
...@@ -2,13 +2,27 @@ ...@@ -2,13 +2,27 @@
<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="$t('流程名')" prop="name"> <el-form-item :label="$t('任务名称')" prop="name">
<el-input v-model="queryParams.name" :placeholder="$t('请输入流程名')" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.name" :placeholder="$t('请输入任务名称')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('创建时间')"> <el-form-item :label="$t('流程编号')" prop="name">
<!--// TODO 缺少查询字段-->
<!-- <el-input v-model="queryParams.no" :placeholder="$t('请输入流程编号')" clearable @keyup.enter.native="handleQuery"/>-->
缺少字段
</el-form-item>
<el-form-item :label="$t('流程分类')" prop="name">
<!--// TODO 缺少查询字段-->
<!-- <el-input v-model="queryParams.no" :placeholder="$t('请输入流程编号')" clearable @keyup.enter.native="handleQuery"/>-->
缺少字段
</el-form-item>
<el-form-item :label="$t('提交时间')">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd" <el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" /> type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('业务编号')" prop="name">
缺少字段
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
...@@ -18,30 +32,37 @@ ...@@ -18,30 +32,37 @@
<!-- 列表 --> <!-- 列表 -->
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<el-table-column :label="$t('任务编号')" align="center" prop="id" width="320" fixed /> <el-table-column :label="$t('任务编号')" align="center" prop="id" width="320" fixed />
<el-table-column :label="$t('任务名称')" align="center" prop="name" width="200" /> <el-table-column :label="$t('任务名称')" align="center" prop="processInstance.name" width="200" />
<el-table-column :label="$t('所属流程')" align="center" prop="processInstance.name" width="200" /> <el-table-column :label="$t('业务编号')" align="center" prop="" width="200" >
缺少字段
</el-table-column>
<el-table-column :label="$t('流程分类')" align="center" prop="category" width="200" />
<el-table-column :label="$t('当前审批节点')" align="center" prop="name" width="200" />
<el-table-column :label="$t('状态')" align="center" prop="" width="200" >
缺少字段
</el-table-column>
<el-table-column :label="$t('流程发起人')" align="center" prop="processInstance.startUserNickname" width="120" /> <el-table-column :label="$t('流程发起人')" align="center" prop="processInstance.startUserNickname" width="120" />
<el-table-column :label="$t('结果')" align="center" prop="result"> <el-table-column :label="$t('结果')" align="center" prop="result">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT" :value="scope.row.result"/> <dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT" :value="scope.row.result"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('审批意见')" align="center" prop="comment" width="200" /> <!-- <el-table-column :label="$t('审批意见')" align="center" prop="comment" width="200" />-->
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180"> <el-table-column :label="$t('提交时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span> <span>{{ parseTime(scope.row.createTime) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('审批时间')" align="center" prop="endTime" width="180"> <el-table-column :label="$t('结束时间')" align="center" prop="endTime" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.endTime) }}</span> <span>{{ parseTime(scope.row.endTime) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('耗时')" align="center" prop="durationInMillis" width="180"> <!-- <el-table-column :label="$t('耗时')" align="center" prop="durationInMillis" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ getDateStar(scope.row.durationInMillis) }}</span> <span>{{ getDateStar(scope.row.durationInMillis) }}</span>
</template> </template>
</el-table-column> </el-table-column>-->
<el-table-column :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width"> <el-table-column :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleAudit(scope.row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleAudit(scope.row)"
......
...@@ -2,14 +2,12 @@ ...@@ -2,14 +2,12 @@
<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="$t('任务名称')" prop="name"> <el-form-item :label="$t('流程名')" prop="name">
<el-input v-model="queryParams.name" :placeholder="$t('请输入任务名')" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.name" :placeholder="$t('请输入流程名')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<!-- // TODO 接口暂不支持 <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-form-item> </el-form-item>
-->
<el-form-item :label="$t('流程分类')" prop="category"> <el-form-item :label="$t('流程分类')" prop="category">
<el-select v-model="queryParams.category" :placeholder="$t('请选择流程分类')" clearable> <el-select v-model="queryParams.category" :placeholder="$t('请选择流程分类')" clearable>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY)" <el-option v-for="dict in this.getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY)"
...@@ -21,16 +19,9 @@ ...@@ -21,16 +19,9 @@
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd" <el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')"/> type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')"/>
</el-form-item> </el-form-item>
<!-- // TODO 接口暂不支持
<el-form-item label="状态" prop="name">
</el-form-item> <el-form-item :label="$t('业务编号')" prop="businessNo">
<el-form-item label="结果" prop="name"> <el-input v-model="queryParams.businessNo" :placeholder="$t('请输入业务编号')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
-->
<el-form-item :label="$t('业务编码')" prop="businessNo">
<el-input v-model="queryParams.businessNo" :placeholder="$t('请输入业务编码')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -41,25 +32,34 @@ ...@@ -41,25 +32,34 @@
<!-- 列表 --> <!-- 列表 -->
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<el-table-column :label="$t('任务编号')" align="center" prop="id" width="320"/> <el-table-column :label="$t('编号')" align="center" prop="id" width="320"/>
<el-table-column :label="$t('业务编号')" align="center" prop="businessNo"/> <el-table-column :label="$t('流程名称')" align="center" prop="processInstance.name" width="320"/>
<el-table-column :label="$t('流程分类')" align="center" prop="category"> <el-table-column :label="$t('流程分类')" align="center" prop="category">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category"/> <dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('所属流程')" align="center" prop="processInstance.name"/> <el-table-column :label="$t('业务编号')" align="center" prop="businessNo"/>
<el-table-column :label="$t('当前审批任务')" align="center" prop="name"/>
<el-table-column :label="$t('流程发起人')" align="center" prop="processInstance.startUserNickname"/> <el-table-column :label="$t('当前审批节点')" align="center" prop="name"/>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180"> <el-table-column :label="$t('状态')" align="center" prop="version" width="80">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.suspensionState === 1">{{$t('激活')}}</el-tag>
<el-tag type="warning" v-if="scope.row.suspensionState === 2">{{$t('挂起')}}</el-tag>
</template>
</el-table-column>
<el-table-column :label="$t('结果')" align="center" prop="processInstance.startUserNickname">
缺少字段
</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="version" width="80"> <el-table-column :label="$t('结束时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag type="success" v-if="scope.row.suspensionState === 1">{{$t('激活')}}</el-tag> 缺少字段
<el-tag type="warning" v-if="scope.row.suspensionState === 2">{{$t('挂起')}}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width"> <el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<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="transportType"> <el-form-item :label="$t('运输方式')" prop="transportType">
<el-select v-model="queryParams.transportType" placeholder="请选择运输方式" clearable size="small"> <el-select v-model="queryParams.transportType" :placeholder="$t('请选择运输方式')" clearable size="small">
<el-option v-for="dict in transportTypes" :key="dict.value" :label="dict.label" :value="dict.value" /> <el-option v-for="dict in transportTypes" :key="dict.value" :label="$l(dict, 'label')" :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -165,13 +165,13 @@ ...@@ -165,13 +165,13 @@
<div class="notice-dialog"> <div class="notice-dialog">
<div class="notice-title">您有{{noticeList.length}}个待处理出货操作,请尽快前往处理:</div> <div class="notice-title">您有{{noticeList.length}}个待处理出货操作,请尽快前往处理:</div>
<el-table :data="noticeList" height="500px" border> <el-table :data="noticeList" height="500px" border>
<el-table-column label="自编号" align="center" prop="selfNo" /> <el-table-column :label="$t('自编号')" align="center" prop="selfNo" />
<el-table-column label="类型" align="center"> <el-table-column label="类型" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_NOTICE_TYPE" :value="String(scope.row.noticeType)" /> <dict-tag :type="DICT_TYPE.BOX_SHIPPING_NOTICE_TYPE" :value="String(scope.row.noticeType)" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作时间" align="center"> <el-table-column label="预计时间" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{formatDate(scope.row.createTime)}} {{formatDate(scope.row.createTime)}}
</template> </template>
......
...@@ -169,7 +169,7 @@ export default { ...@@ -169,7 +169,7 @@ export default {
orderId: this.currRow.orderId, orderId: this.currRow.orderId,
copyUserId: this.selectedUsers, copyUserId: this.selectedUsers,
}; };
if (['makeBill','resetBill'].includes(this.dialogCfg.type)) { if (["makeBill", "resetBill"].includes(this.dialogCfg.type)) {
createBillService({ ...params, status: 1 }).then((res) => { createBillService({ ...params, status: 1 }).then((res) => {
serviceMsg(res, this).then((res) => { serviceMsg(res, this).then((res) => {
this.close("query"); this.close("query");
......
...@@ -164,7 +164,7 @@ export default { ...@@ -164,7 +164,7 @@ export default {
calcSum(goodsList) { calcSum(goodsList) {
let sum = 0; let sum = 0;
goodsList.forEach((element) => { goodsList.forEach((element) => {
sum = Decimal.add(sum, element.num); sum = Decimal.add(sum, element.num).toNumber();
}); });
return sum; return sum;
}, },
......
...@@ -312,7 +312,7 @@ export default { ...@@ -312,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 = Decimal.add(_total, Number(v.num)); _total = Decimal.add(_total, Number(v.num)).toNumber();
}); });
return _total; return _total;
}, },
...@@ -382,15 +382,15 @@ export default { ...@@ -382,15 +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 = Decimal.add(orderSum, column.num ?? 0); orderSum = Decimal.add(orderSum, column.num ?? 0).toNumber();
orderV = Decimal.add(orderV, column.volume ?? 0); orderV = Decimal.add(orderV, column.volume ?? 0).toFixed(2);
orderW = Decimal.add(orderW, column.weight ?? 0); orderW = Decimal.add(orderW, column.weight ?? 0).toFixed(2);
leviteSum = Decimal.add( leviteSum = Decimal.add(
leviteSum, leviteSum,
column.warehouseInInfoVO?.cartonsNum ?? 0 column.warehouseInInfoVO?.cartonsNum ?? 0
); ).toNumber();
leviteV += Decimal.add(leviteV, column.warehouseInInfoVO?.volume ?? 0); leviteV += Decimal.add(leviteV, column.warehouseInInfoVO?.volume ?? 0).toFixed(2);
leviteW += Decimal.add(leviteW, column.warehouseInInfoVO?.weight ?? 0); leviteW += Decimal.add(leviteW, column.warehouseInInfoVO?.weight ?? 0).toFixed(2);
}); });
sums[1] = sums[1] =
"下单统计:" + "下单统计:" +
...@@ -460,8 +460,8 @@ export default { ...@@ -460,8 +460,8 @@ export default {
if (valid) { if (valid) {
// 输入箱数大于实装箱数 // 输入箱数大于实装箱数
const total = this.totalSplitNum(); const total = this.totalSplitNum();
const canSplitNum = Decimal.sub(this.currRow.num, this.currRow.installNum); const canSplitNum = Decimal.sub(this.currRow.num, this.currRow.installNum).toNumber();
const remain = Decimal.sub(canSplitNum, total); const remain = Decimal.sub(canSplitNum, total).toNumber();
if (this.shopForm.num > remain) { if (this.shopForm.num > remain) {
this.$message.error("放入箱数不能大于总箱数"); this.$message.error("放入箱数不能大于总箱数");
return; return;
......
...@@ -642,7 +642,7 @@ export default { ...@@ -642,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 = Decimal.add(count, item.installNum); count = Decimal.add(count, item.installNum).toNumber();
}); });
}); });
} }
......
...@@ -3,6 +3,9 @@ ...@@ -3,6 +3,9 @@
<el-form ref="cusDeclarationForm" :rules="rules" :model="cusDeclarationObj" label-width="120px"> <el-form ref="cusDeclarationForm" :rules="rules" :model="cusDeclarationObj" label-width="120px">
<el-form-item label="单证要求"> <el-form-item label="单证要求">
<template v-for="(item, index) in cusDeclarationObj.documentInfo"> <template v-for="(item, index) in cusDeclarationObj.documentInfo">
{{
(index === 0 || index === cusDeclarationObj.documentInfo.length) ? "" :"/"
}}
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item" :key="index" /> <dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item" :key="index" />
</template> </template>
<el-button type="primary" style="margin-left:10px;" @click="downloadVGM">{{getButtonLabel(cusDeclarationObj.documentInfo)}}</el-button> <el-button type="primary" style="margin-left:10px;" @click="downloadVGM">{{getButtonLabel(cusDeclarationObj.documentInfo)}}</el-button>
...@@ -22,6 +25,9 @@ ...@@ -22,6 +25,9 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="正常报关订单"> <el-form-item label="正常报关订单">
<div v-for="item in shipmentObj.normalOrderList" :key="item.orderId">
<a href="javascript:void(0)" @click="jumpOrderDetail(item)">{{ item.orderNo }}</a>
</div>
</el-form-item> </el-form-item>
<el-form-item label="报关公司名称"> <el-form-item label="报关公司名称">
<supplierSelect v-model="cusDeclarationObj.dcCompanyId" :companyType="'2'" placeholder="请选择报关公司名称" :allSupplier="this.$attrs.allSupplier" /> <supplierSelect v-model="cusDeclarationObj.dcCompanyId" :companyType="'2'" placeholder="请选择报关公司名称" :allSupplier="this.$attrs.allSupplier" />
...@@ -30,7 +36,7 @@ ...@@ -30,7 +36,7 @@
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cusDeclarationObj.dcCutOffTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker type="datetime" placeholder="请选择日期" v-model="cusDeclarationObj.dcCutOffTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="dcCustomsStatus"> <el-form-item label="状态" prop="dcCustomsStatus">
<el-radio-group v-model="cusDeclarationObj.dcCustomsStatus" :disabled="inReview || isCheckDeal"> <el-radio-group v-model="cusDeclarationObj.dcCustomsStatus" :disabled="inReview || isCheckDeal('status')">
<el-radio v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_DCCUSTOMS_STATUS)" :key="item.value" :label="item.value">{{item.label}}</el-radio> <el-radio v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_DCCUSTOMS_STATUS)" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
...@@ -38,7 +44,7 @@ ...@@ -38,7 +44,7 @@
<!-- 查验 --> <!-- 查验 -->
<div v-show="cusDeclarationObj.dcCustomsStatus === '3'"> <div v-show="cusDeclarationObj.dcCustomsStatus === '3'">
<el-form-item label="查验"> <el-form-item label="查验">
<el-radio-group v-model="cusDeclarationObj.dcCheckStatus" :disabled="inReview || isCheckDeal"> <el-radio-group v-model="cusDeclarationObj.dcCheckStatus" :disabled="inReview || isCheckDeal('check')">
<el-radio v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_CHECK_STATUS)" :key="item.value" :label="item.value" :disabled="disabledRadio(item)">{{item.label}}</el-radio> <el-radio v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_CHECK_STATUS)" :key="item.value" :label="item.value" :disabled="disabledRadio(item)">{{item.label}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
...@@ -78,8 +84,8 @@ ...@@ -78,8 +84,8 @@
<el-button type="primary" plain @click="canclAudit">{{cusDeclarationObj.dcCheckStatus === '1' ? '取消全部退场审核' : '取消部分退场审核'}}</el-button> <el-button type="primary" plain @click="canclAudit">{{cusDeclarationObj.dcCheckStatus === '1' ? '取消全部退场审核' : '取消部分退场审核'}}</el-button>
</el-row> </el-row>
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)" :disabled="isCheckDeal">保存</el-button> <el-button type="primary" @click="onSubmit(1)" :disabled="isCheckDeal('submit')">保存</el-button>
<el-button type="success" v-if="!inReview" @click="onSubmit(2)" :disabled="isCheckDeal">提交</el-button> <el-button type="success" v-if="!inReview" @click="onSubmit(2)" :disabled="isCheckDeal('submit')">提交</el-button>
<el-button @click="cancel">关闭</el-button> <el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="extraCost" v-show="cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCustomsStatus === '3'">额外费用</el-button> <el-button type="primary" @click="extraCost" v-show="cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCustomsStatus === '3'">额外费用</el-button>
</el-row> </el-row>
...@@ -156,7 +162,7 @@ import { ...@@ -156,7 +162,7 @@ import {
downloadFile, downloadFile,
} from "../utils"; } from "../utils";
import ImageUpload from "@/components/ImageUpload"; import ImageUpload from "@/components/ImageUpload";
import Decimal from 'decimal.js' import Decimal from "decimal.js";
/** /**
* 报关 * 报关
...@@ -203,6 +209,13 @@ export default { ...@@ -203,6 +209,13 @@ export default {
...this.shipmentObj[voName], ...this.shipmentObj[voName],
documentInfo: this.shipmentObj.documentInfo?.split(",") ?? [], documentInfo: this.shipmentObj.documentInfo?.split(",") ?? [],
}; };
if (!this.shipmentObj[voName]) {
oldData.dcCustomsType = oldData.dcCustomsType
? oldData.dcCustomsType
: this.getDcCustomsType(oldData.documentInfo);
}
oldData = formatDateStr(oldData, [ oldData = formatDateStr(oldData, [
"dcCutOffTime", "dcCutOffTime",
"dcCheckTime", "dcCheckTime",
...@@ -216,9 +229,25 @@ export default { ...@@ -216,9 +229,25 @@ export default {
this.cusDeclarationObj = oldData; this.cusDeclarationObj = oldData;
}, },
methods: { methods: {
/* 跳转订单详情 */
jumpOrderDetail(row) {
this.$router.push({
path: "/order/detail",
query: { orderId: row.orderId },
});
},
getDcCustomsType(documentInfo = []) {
const newList = Array.from(new Set(documentInfo));
if (newList.length > 1) {
return "3";
}
if (newList.length === 1) {
return newList[0] === "1" ? "1" : "2";
}
},
getButtonLabel(documentInfo = []) { getButtonLabel(documentInfo = []) {
const newList = Array.from(new Set(documentInfo)); const newList = Array.from(new Set(documentInfo));
return newList.length > 2 ? "混合报关" : "VGM声明"; return newList.length >= 2 ? "混合报关" : "VGM声明";
}, },
submitCustomsCreate(operateType) { submitCustomsCreate(operateType) {
customsCreate({ customsCreate({
...@@ -404,7 +433,7 @@ export default { ...@@ -404,7 +433,7 @@ export default {
this.$set( this.$set(
this.cusDeclarationObj, this.cusDeclarationObj,
"dcVgmWgt", "dcVgmWgt",
Decimal.add(dcBoxWgtTmp, dcGoodsWgtTmp) Decimal.add(dcBoxWgtTmp, dcGoodsWgtTmp).toFixed(2)
); );
}, },
// 审核详情 // 审核详情
...@@ -439,6 +468,7 @@ export default { ...@@ -439,6 +468,7 @@ export default {
if ( if (
checkExamineStatus === 2 && checkExamineStatus === 2 &&
dcCheckStatus === 2 && dcCheckStatus === 2 &&
checkDealStatus === 0 &&
item.value === "1" item.value === "1"
) { ) {
return true; return true;
...@@ -491,12 +521,16 @@ export default { ...@@ -491,12 +521,16 @@ export default {
computed: { computed: {
/* 获取报关审核退场状态文字 */ /* 获取报关审核退场状态文字 */
getCheckExamineStatus() { getCheckExamineStatus() {
const { checkExamineStatus, customsInfo = {} } = this.shipmentObj; const {
checkExamineStatus,
checkDealStatus,
customsInfo = {},
} = this.shipmentObj;
const { dcCheckStatus } = customsInfo; const { dcCheckStatus } = customsInfo;
if (checkExamineStatus === 1) { if (checkExamineStatus === 1) {
return dcCheckStatus === 1 ? "退场审核中" : "部分退场审核中"; return dcCheckStatus === 1 ? "退场审核中" : "部分退场审核中";
} }
if (checkExamineStatus === 2) { if (checkExamineStatus === 2 && checkDealStatus === 0) {
return dcCheckStatus === 1 return dcCheckStatus === 1
? "审核通过,退场中" ? "审核通过,退场中"
: "审核通过,部分退场中"; : "审核通过,部分退场中";
...@@ -505,21 +539,57 @@ export default { ...@@ -505,21 +539,57 @@ export default {
}, },
/* 判断是否已处理 */ /* 判断是否已处理 */
isCheckDeal() { isCheckDeal() {
return (type) => {
const { const {
checkExamineStatus, checkExamineStatus,
checkDealStatus, checkDealStatus,
customsInfo = {}, customsInfo = {},
} = this.shipmentObj; } = this.shipmentObj;
const { dcCheckStatus } = customsInfo; const { dcCheckStatus } = customsInfo;
// 退场未处理不能操作
// 状态
if (type === "status") {
// 退场/部分退场 审核通过未处理,禁用
if ( if (
checkExamineStatus === 2 && checkExamineStatus === 2 &&
dcCheckStatus === 1 && [1, 2].includes(dcCheckStatus) &&
checkDealStatus === 0 checkDealStatus === 0
) { ) {
return true; return true;
} }
}
// 查验
if (type === "check") {
// 退场 审核通过未处理,禁用
// 部分退场 审核通过未处理,由 disabledRadio 方法判断
if (
checkExamineStatus === 2 &&
[1].includes(dcCheckStatus) &&
checkDealStatus === 0
) {
return true;
}
}
// 提交/保存
if (type === "submit") {
const { dcCheckStatus: newCheckStatus } = this.cusDeclarationObj;
// 退场/部分退场 审核通过未处理
if (checkExamineStatus === 2 && checkDealStatus === 0) {
// 退场,禁用
if (dcCheckStatus === 1) return true;
// 部分退场
if (dcCheckStatus === 2) {
// 修改为查验后放行,可用,其他禁用
if (newCheckStatus === "3") return false;
return true;
}
}
}
return false; return false;
};
}, },
}, },
}; };
......
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
<p>{{preList.remainWeight}}kg</p> <p>{{preList.remainWeight}}kg</p>
</div> </div>
<div class="table-button"> <div class="table-button">
<el-button type="success" size="small" @click="addPart">增加</el-button> <el-button type="success" size="small" @click="addPart" :disabled="isAudit">增加</el-button>
</div> </div>
</el-row> </el-row>
<el-scrollbar style="height:calc(100% - 43px)"> <el-scrollbar style="height:calc(100% - 43px)">
...@@ -111,8 +111,8 @@ ...@@ -111,8 +111,8 @@
<p>{{getTotlContent(part.secStatistics)}}</p> <p>{{getTotlContent(part.secStatistics)}}</p>
</div> </div>
<div class="table-button"> <div class="table-button">
<el-button type="danger" size="small" @click="deletePart(part)">删除部分</el-button> <el-button type="danger" size="small" @click="deletePart(part)" :disabled="isAudit">删除部分</el-button>
<el-button type="danger" size="small" @click="deleteOrder('selected', part)">删除订单</el-button> <el-button type="danger" size="small" @click="deleteOrder('selected', part)" :disabled="isAudit">删除订单</el-button>
<el-button type="primary" size="small" @click="foldTable(index, part)">{{part.fold ? '展开' : '收起'}}</el-button> <el-button type="primary" size="small" @click="foldTable(index, part)">{{part.fold ? '展开' : '收起'}}</el-button>
</div> </div>
</el-row> </el-row>
...@@ -157,13 +157,13 @@ ...@@ -157,13 +157,13 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width" fixed="right"> <el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-dropdown trigger="click" @command="(command)=>handleGoods('singele',scope.row,command)"> <el-dropdown trigger="click" @command="(command)=>handleGoods('single',scope.row,command)" :disabled="isAudit">
<el-button type="primary" size="small" icon="el-icon-edit-outline" circle></el-button> <el-button type="primary" size="small" icon="el-icon-edit-outline" circle :disabled="isAudit"></el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="bPart" v-for="(bPart, index) in preList.sectionGoodList" :key="bPart.id" v-show="bPart.id !== part.id">{{index+1}}部分</el-dropdown-item> <el-dropdown-item :command="bPart" v-for="(bPart, index) in preList.sectionGoodList" :key="bPart.id" v-show="bPart.id !== part.id">{{index+1}}部分</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<el-button type="danger" size="small" icon="el-icon-minus" circle style="margin-left:10px;" @click="deleteOrder('row',scope.row)"></el-button> <el-button type="danger" size="small" icon="el-icon-minus" circle style="margin-left:10px;" @click="deleteOrder('row',scope.row)" :disabled="isAudit"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -220,8 +220,8 @@ ...@@ -220,8 +220,8 @@
</div> </div>
<div class="table-button"> <div class="table-button">
<el-dropdown trigger="click" @command="(command)=>handleGoods('all',item,command)"> <el-dropdown trigger="click" @command="(command)=>handleGoods('all',item,command)">
<el-button type="success" size="small">预装全部</el-button> <el-button type="success" size="small" :disabled="isAudit">预装全部</el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown" v-if="preList.sectionGoodList">
<el-dropdown-item :command="part" v-for="(part, index) in preList.sectionGoodList" :key="part.id">第{{index+1}}部分</el-dropdown-item> <el-dropdown-item :command="part" v-for="(part, index) in preList.sectionGoodList" :key="part.id">第{{index+1}}部分</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
...@@ -257,7 +257,7 @@ ...@@ -257,7 +257,7 @@
</el-table-column> </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-dropdown trigger="click" @command="(command)=>handleGoods('singele',scope.row,command)"> <el-dropdown trigger="click" @command="(command)=>handleGoods('single',scope.row,command)">
<el-button type="primary" size="small">预装</el-button> <el-button type="primary" size="small">预装</el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="part" v-for="(part, index) in preList" :key="part.id">第{{index+1}}部分</el-dropdown-item> <el-dropdown-item :command="part" v-for="(part, index) in preList" :key="part.id">第{{index+1}}部分</el-dropdown-item>
...@@ -311,6 +311,7 @@ import { ...@@ -311,6 +311,7 @@ import {
deleteSection, deleteSection,
createGoods, createGoods,
deleteGoods, deleteGoods,
changeSection,
approvalCreate, approvalCreate,
approvalCancel, approvalCancel,
} from "@/api/ecw/boxSea"; } from "@/api/ecw/boxSea";
...@@ -494,18 +495,22 @@ export default { ...@@ -494,18 +495,22 @@ export default {
return; return;
} }
if (column.property === "num") { if (column.property === "num") {
sums[index] = this.calcSum(column.property, data) ?? 0; sums[index] = new Decimal(
this.calcSum(column.property, data)
).toNumber();
} }
if (column.property === "volumeWeight") { if (column.property === "volumeWeight") {
const volume = this.calcSum("volume", data); let volume = this.calcSum("volume", data);
const weight = this.calcSum("weight", data); let weight = this.calcSum("weight", data);
volume = volume === 0 ? volume : new Decimal(volume).toFixed(2);
weight = weight === 0 ? weight : new Decimal(weight).toFixed(2);
sums[index] = getTotlContent({ volume, weight }, [ sums[index] = getTotlContent({ volume, weight }, [
"volume", "volume",
"weight", "weight",
]); ]);
sums[index] = sums[index].replace(" ", "\n");
} }
}); });
return sums; return sums;
}, },
/* 计算总和 */ /* 计算总和 */
...@@ -515,12 +520,13 @@ export default { ...@@ -515,12 +520,13 @@ 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 Decimal.add(prev, curr); return prev + curr;
} else { } else {
return prev; return prev;
} }
}, 0); }, 0);
} }
return 0;
}, },
/* 待预装订单分页 */ /* 待预装订单分页 */
pageChange(page) { pageChange(page) {
...@@ -558,23 +564,32 @@ export default { ...@@ -558,23 +564,32 @@ export default {
}, },
/** 预装 */ /** 预装 */
handleGoods(type, item, part) { handleGoods(type, item, part) {
if (type === "all") {
let params = { let params = {
secId: part.id, secId: part.id,
shipmentId: this.shipmentObj.id, shipmentId: this.shipmentObj.id,
orderId: item.orderId, orderId: item.orderId,
}; orderItemIdList: item.boxOrderItemList.map(
if (type === "all") {
params.orderItemIdList = item.boxOrderItemList.map(
(data) => data.orderItemId (data) => data.orderItemId
); ),
} else { };
params.orderItemIdList = [item.orderItemId];
}
createGoods(params).then((res) => { createGoods(params).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
this.queryAllData(); this.queryAllData();
}); });
}); });
} else {
let params = {
secId: part.id,
id: item.id,
};
changeSection(params).then((res) => {
serviceMsg(res, this).then(() => {
this.queryAllData();
});
});
}
}, },
/* 删除订单 */ /* 删除订单 */
deleteOrder(type, data) { deleteOrder(type, data) {
...@@ -735,6 +750,11 @@ export default { ...@@ -735,6 +750,11 @@ export default {
.tobePre-row { .tobePre-row {
margin-top: 10px; margin-top: 10px;
.el-table {
.cell {
white-space: pre-line;
}
}
} }
} }
} }
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="success" @click="onSubmit" :disabled="isReview">发起申请</el-button> <el-button type="success" @click="onSubmit" v-show="!isReview">发起申请</el-button>
<el-button type="primary" @click="jumpReviewDetail" :disabled="!isReview">审核中</el-button> <el-button type="primary" @click="jumpReviewDetail" v-show="isReview">审核中</el-button>
<el-button @click="cancel">关闭</el-button> <el-button @click="cancel">关闭</el-button>
</el-row> </el-row>
</div> </div>
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="箱数" align="center" prop="num" /> <el-table-column label="箱数" align="center" prop="num" />
<el-table-column label="纸箱尺寸" align="center" prop="boxGauge"> <el-table-column label="纸箱尺寸" align="center" prop="warehouseInInfo.boxGauge">
</el-table-column> </el-table-column>
<el-table-column label="体积" align="center" prop="volume"> <el-table-column label="体积" align="center" prop="volume">
</el-table-column> </el-table-column>
...@@ -130,8 +130,14 @@ export default { ...@@ -130,8 +130,14 @@ export default {
let list = []; let list = [];
res.data.forEach((item) => { res.data.forEach((item) => {
item.orderItemList.forEach((oItem) => { item.orderItemList.forEach((oItem) => {
let warehouseInInfo = {};
if (oItem.warehouseInInfo) {
warehouseInInfo = JSON.parse(oItem.warehouseInInfo ?? {});
}
list.push({ list.push({
...oItem, ...oItem,
warehouseInInfo,
positionNo: item.positionNo, positionNo: item.positionNo,
tallyStatus: item.tallyStatus, tallyStatus: item.tallyStatus,
tallyTime: item.tallyTime, tallyTime: item.tallyTime,
......
...@@ -329,7 +329,7 @@ export default { ...@@ -329,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 = Decimal.add(count, item.unloadNum); count = Decimal.add(count, item.unloadNum).toNumber();
}); });
} }
return count; return count;
......
<template> <template>
<div> <div>
<el-form ref="errorForm" :model="errorObj" label-width="100px"> <el-form ref="errorForm" :model="errorObj" label-width="100px" :rules="rules">
<el-form-item label="异常"> <el-form-item label="异常" prop="exceptionType">
<el-radio-group v-model="errorObj.exceptionType "> <el-radio-group v-model="errorObj.exceptionType">
<el-radio v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_UNLOADING_ERROR)" :key="item.value" :label="item.value">{{item.label}}</el-radio> <el-radio v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_UNLOADING_ERROR)" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<el-option v-for="(item, index) in goodsList" :key="index" :value="item.orderItemId" :label="item.prodTitleZh"></el-option> <el-option v-for="(item, index) in goodsList" :key="index" :value="item.orderItemId" :label="item.prodTitleZh"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="件数"> <el-form-item label="件数" prop="productNum">
<el-input-number v-model="errorObj.productNum" controls-position="right" :min="1"></el-input-number> <el-input-number v-model="errorObj.productNum" controls-position="right" :min="1"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="异常详情"> <el-form-item label="异常详情">
...@@ -39,6 +39,11 @@ export default { ...@@ -39,6 +39,11 @@ export default {
const { currRow } = this.$attrs; const { currRow } = this.$attrs;
return { return {
// 校验
rules: {
exceptionType: [{ required: true, message: "必填", trigger: "change" }],
productNum: [{ required: true, message: "必填", trigger: "change" }],
},
// 异常对象 // 异常对象
errorObj: { errorObj: {
productId: currRow.goodsList[0].orderItemId, productId: currRow.goodsList[0].orderItemId,
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
{{importCityName(shipmentObj.destWarehouseId)}} {{importCityName(shipmentObj.destWarehouseId)}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="状态"> <el-descriptions-item label="状态">
{{statusLabel}} {{shipmentObj.shipmentStatusText}}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-card> </el-card>
...@@ -117,7 +117,7 @@ export default { ...@@ -117,7 +117,7 @@ export default {
watch: { watch: {
/* 监听发货对象 */ /* 监听发货对象 */
shipmentObj(val) { shipmentObj(val) {
this.statusLabel = getStatusName(getSeaStatus(val)); // this.statusLabel = getStatusName(getSeaStatus(val));
}, },
}, },
}; };
......
...@@ -1415,10 +1415,14 @@ function getTotlContent(total, keys = ["num", "volume", "weight"]) { ...@@ -1415,10 +1415,14 @@ function getTotlContent(total, keys = ["num", "volume", "weight"]) {
content.push(`${total?.num ?? 0}`); content.push(`${total?.num ?? 0}`);
} }
if (key === "volume") { if (key === "volume") {
content.push(`${total?.volume ?? 0}m³`); let volume = total?.volume ?? 0;
volume = volume === 0 ? volume : new Decimal(volume).toFixed(2);
content.push(`${volume}m³`);
} }
if (key === "weight") { if (key === "weight") {
content.push(`${total?.weight ?? 0}kg`); let weight = total?.weight ?? 0;
weight = weight === 0 ? weight : new Decimal(weight).toFixed(2);
content.push(`${weight}kg`);
} }
} }
return content.join(" "); return content.join(" ");
...@@ -1437,13 +1441,22 @@ function sumStatistics(val) { ...@@ -1437,13 +1441,22 @@ 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 = Decimal.add(count.num, Number(secStatistics.num)); count.num = Decimal.add(
count.num,
Number(secStatistics.num)
).toNumber();
} }
if (!Number.isNaN(Number(secStatistics.volume))) { if (!Number.isNaN(Number(secStatistics.volume))) {
count.volume = Decimal.add(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 = Decimal.add(count.weight, Number(secStatistics.weight)); count.weight = Decimal.add(
count.weight,
Number(secStatistics.weight)
);
} }
} }
}); });
......
...@@ -351,6 +351,12 @@ export default { ...@@ -351,6 +351,12 @@ export default {
// 非优惠券则查询优惠券列表 // 非优惠券则查询优惠券列表
if(val && val != 1){ if(val && val != 1){
this.getCouponSelect() this.getCouponSelect()
// 非优惠券给默认数据
this.$set(this.form, 'documentDeclaration', ["1"])
this.$set(this.form, 'isCargoControl', ["0"])
this.$set(this.form, 'orderAttr', ["2","3","1"])
this.$set(this.form, 'brand', ["0","1"])
} }
}, },
'form.isSimilarSuperposition'(val){ 'form.isSimilarSuperposition'(val){
...@@ -377,7 +383,6 @@ export default { ...@@ -377,7 +383,6 @@ export default {
this.couponIds = couponIds.map(item => parseInt(item)) this.couponIds = couponIds.map(item => parseInt(item))
}) })
} }
/* this.costType = this.form.costType */
if(this.form.discountDetailedVOs){ if(this.form.discountDetailedVOs){
/* this[['clearanceFeeList', 'freightFeeList', 'discountList'][]] */ /* this[['clearanceFeeList', 'freightFeeList', 'discountList'][]] */
......
...@@ -103,7 +103,7 @@ ...@@ -103,7 +103,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('客户经理')" prop="customerService"> <el-form-item :label="$t('客户经理')" prop="customerService">
<el-select v-model="form.customerService" :placeholder="$t('请选择客户经理')" :disabled="customerId !== '0' && form.customerService"> <el-select v-model="form.customerService" :placeholder="$t('请选择客户经理')" :disabled="!!(customerId !== '0' && form.customerService)">
<el-option v-for="item in serviceUserList" <el-option v-for="item in serviceUserList"
:key="item.id" :label="item.nickname" :value="item.id" /> :key="item.id" :label="item.nickname" :value="item.id" />
</el-select> </el-select>
...@@ -125,9 +125,9 @@ ...@@ -125,9 +125,9 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('推介人')" prop="promoter"> <el-form-item :label="$t('推介人')" prop="promoter">
<el-select v-model="form.promoter" :placeholder="$t('请输入推介人')" filterable> <el-select clearable remote :remote-method="remoteMethod" v-model="form.promoter" :placeholder="$t('请输入推介人')" filterable>
<el-option <el-option
v-for="item in customerSelect" v-for="item in customerSelectFn"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id"> :value="item.id">
...@@ -404,7 +404,14 @@ ...@@ -404,7 +404,14 @@
<script> <script>
import { getDictDatas, DICT_TYPE } from '@/utils/dict'; import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import upload from '@/components/ImageUpload' import upload from '@/components/ImageUpload'
import {createCustomer, getCustomer, updateCustomer, userMemberUserList,} from '@/api/ecw/customer' import {
createCustomer,
getCustomer,
getCustomerList,
getCustomerPage,
updateCustomer,
userMemberUserList,
} from '@/api/ecw/customer'
import {getNodeList} from "@/api/ecw/node" import {getNodeList} from "@/api/ecw/node"
import { getProductTypeList } from '@/api/ecw/productType' import { getProductTypeList } from '@/api/ecw/productType'
import { getProductList } from '@/api/ecw/product' import { getProductList } from '@/api/ecw/product'
...@@ -418,6 +425,7 @@ import { getCustomerContactsListByCustomer } from '@/api/ecw/customerContacts' ...@@ -418,6 +425,7 @@ import { getCustomerContactsListByCustomer } from '@/api/ecw/customerContacts'
import { getCountryListAll } from '@/api/ecw/country' import { getCountryListAll } from '@/api/ecw/country'
import Template from "@/views/cms/template"; import Template from "@/views/cms/template";
import {validatorMobile} from "@/api/ecw/validate" import {validatorMobile} from "@/api/ecw/validate"
import {customerDropDownList} from "@/api/ecw/customerCommissionInfo";
export default { export default {
name: "edit", name: "edit",
...@@ -430,6 +438,7 @@ export default { ...@@ -430,6 +438,7 @@ export default {
CustomerLineTable CustomerLineTable
}, },
created() { created() {
this.getCustomerSelect()
this.reset() this.reset()
if(this.customerId !== '0') { if(this.customerId !== '0') {
...@@ -437,6 +446,10 @@ export default { ...@@ -437,6 +446,10 @@ export default {
this.getCustomer(this.customerId).then(() => { this.getCustomer(this.customerId).then(() => {
getCustomerContactsListByCustomer({customerId: this.customerId}).then(r => { getCustomerContactsListByCustomer({customerId: this.customerId}).then(r => {
this.form.customerContacts = r.data this.form.customerContacts = r.data
getCustomerList({ids:this.form.promoter}).then(r => {
console.log(r,'r');
this.recommended = r.data;
})
}) })
}) })
} else { } else {
...@@ -459,9 +472,6 @@ export default { ...@@ -459,9 +472,6 @@ export default {
getWarehouseList().then(r => { getWarehouseList().then(r => {
this.warehouseList = r.data this.warehouseList = r.data
}) })
getCustomerSelect().then(r => {
this.customerSelect = r.data
})
listSimpleUsers().then(r => { listSimpleUsers().then(r => {
this.serviceUserList = r.data this.serviceUserList = r.data
}) })
...@@ -515,6 +525,7 @@ export default { ...@@ -515,6 +525,7 @@ export default {
warehouseList: [], // 仓库列表 warehouseList: [], // 仓库列表
importCityList: [], // 进口地址 importCityList: [], // 进口地址
customerSelect: [], customerSelect: [],
recommended:[],
serviceUserList: [], serviceUserList: [],
countryList: [], countryList: [],
...@@ -525,6 +536,14 @@ export default { ...@@ -525,6 +536,14 @@ export default {
}, },
methods: { methods: {
remoteMethod(val){
this.getCustomerSelect(val);
},
getCustomerSelect(val = ''){
getCustomerSelect({pageNo:1,pageSize:30,searchKey:val}).then(res => {
this.customerSelect = res.data.list
})
},
phoneValidator(rule, value, callback){ phoneValidator(rule, value, callback){
if (!value) { if (!value) {
return callback(new Error(this.$t('请输入联系方式'))); return callback(new Error(this.$t('请输入联系方式')));
...@@ -727,6 +746,17 @@ export default { ...@@ -727,6 +746,17 @@ export default {
productListFilter(){ productListFilter(){
return this.productList.filter((p) => p.typeId === this.form.productType) return this.productList.filter((p) => p.typeId === this.form.productType)
}, },
customerSelectFn(){
if(this.recommended.length > 0){
let i = this.customerSelect.find(item => item.id === this.recommended[0].id)
if(!i){
this.customerSelect.push(this.recommended[0])
}
return this.customerSelect
}else {
return this.customerSelect
}
}
}, },
watch: { watch: {
zhongLines() { zhongLines() {
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<el-descriptions-item :label="$t('国家')">{{ country }}</el-descriptions-item> <el-descriptions-item :label="$t('国家')">{{ country }}</el-descriptions-item>
<!-- <el-descriptions-item :label="$t('业务员')">{{ customer }}</el-descriptions-item>--> <!-- <el-descriptions-item :label="$t('业务员')">{{ customer }}</el-descriptions-item>-->
<el-descriptions-item :label="$t('客户来源')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_SOURCE, customer.source) }}</el-descriptions-item> <el-descriptions-item :label="$t('客户来源')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_SOURCE, customer.source) }}</el-descriptions-item>
<el-descriptions-item :label="$t('客户类别')">{{ getDictDatas2(DICT_TYPE.CUSTOMER_TYPE, customer.type.split(',')).map(e => e.label).join(', ') }}</el-descriptions-item> <el-descriptions-item :label="$t('客户类别')">{{ getDictDatas2(DICT_TYPE.CUSTOMER_TYPE, (customer.type||'').split(',')).map(e => e.label).join(', ') }}</el-descriptions-item>
<!-- <el-descriptions-item :label="$t('联系方式')">{{ customer }}</el-descriptions-item>--> <!-- <el-descriptions-item :label="$t('联系方式')">{{ customer }}</el-descriptions-item>-->
<el-descriptions-item :label="$t('推介人')">{{ promoter }}</el-descriptions-item> <el-descriptions-item :label="$t('推介人')">{{ promoter }}</el-descriptions-item>
<el-descriptions-item :label="$t('客户经理')">{{ customerService }}</el-descriptions-item> <el-descriptions-item :label="$t('客户经理')">{{ customerService }}</el-descriptions-item>
...@@ -293,7 +293,7 @@ ...@@ -293,7 +293,7 @@
<el-table-column :label="$t('授权证明')"> <el-table-column :label="$t('授权证明')">
<template v-slot="{row}"> <template v-slot="{row}">
<div v-if="!!row.fileUrl && row.fileUrl.length > 0"> <div v-if="!!row.fileUrl && row.fileUrl.length > 0">
<span v-for="(item, index) in row.fileUrl.split(',')"> <span v-for="(item, index) in (row.fileUrl||'').split(',')">
<a :href="item" target="_blank">{{$t('附件')}}{{ index + 1 }}</a>, <a :href="item" target="_blank">{{$t('附件')}}{{ index + 1 }}</a>,
</span> </span>
</div> </div>
...@@ -446,7 +446,7 @@ export default { ...@@ -446,7 +446,7 @@ export default {
this.customerContacts = r.data this.customerContacts = r.data
}) })
getCountry(this.customer.country).then(r => { getCountry(this.customer.country ? this.customer.country : 0 ).then(r => {
this.country = r.data.nameZh this.country = r.data.nameZh
}) })
}) })
...@@ -455,7 +455,7 @@ export default { ...@@ -455,7 +455,7 @@ export default {
}) })
getCustomerSelect().then(r => { getCustomerSelect().then(r => {
this.customerSelect = r.data this.customerSelect = r.data.list
}) })
listServiceUser().then(r => { listServiceUser().then(r => {
this.serviceUserList = r.data this.serviceUserList = r.data
...@@ -586,6 +586,7 @@ export default { ...@@ -586,6 +586,7 @@ export default {
return pickupPoint ? pickupPoint.titleZh : '' return pickupPoint ? pickupPoint.titleZh : ''
}, },
promoter() { promoter() {
console.log(this.customerSelect,'this.customerSelect.find');
return this.customerSelect.find(e => e.id === this.customer.promoter)?.name || '' return this.customerSelect.find(e => e.id === this.customer.promoter)?.name || ''
}, },
customerService() { customerService() {
......
...@@ -3,12 +3,12 @@ ...@@ -3,12 +3,12 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<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="$t('客户名称')" prop="customerId" >
<el-select <el-select
clearable clearable
filterable filterable
v-model="queryParams.customerId" v-model="queryParams.customerId"
placeholder="请输入关键词"> :placeholder="$t('请输入关键词')">
<el-option <el-option
v-for="(item, index) in customeList" v-for="(item, index) in customeList"
:key="index" :key="index"
...@@ -18,41 +18,41 @@ ...@@ -18,41 +18,41 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="联系电话" prop="type"> <el-form-item :label="$t('联系电话')" prop="type">
<el-input v-model="queryParams.defaultContactPhone" placeholder="请输入电话" clearable size="small"> <el-input v-model="queryParams.defaultContactPhone" :placeholder="$t('请输入电话')" clearable size="small">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="佣金类型" prop="transportId"> <el-form-item :label="$t('佣金类型')" prop="transportId">
<el-select v-model="queryParams.type" clearable size="small"> <el-select v-model="queryParams.type" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_TYPE)" <el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="运输方式" prop="departureId"> <el-form-item :label="$t('运输方式')" prop="departureId">
<el-select v-model="queryParams.departureId" clearable size="small"> <el-select v-model="queryParams.departureId" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.ECW_TRANSPORT_TYPE)" <el-option v-for="dict in this.getDictDatas(DICT_TYPE.ECW_TRANSPORT_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="始发地" prop="objectiveId"> <el-form-item :label="$t('始发地')" prop="objectiveId">
<el-select v-model="queryParams.objectiveId" clearable size="small"> <el-select v-model="queryParams.objectiveId" clearable size="small">
<el-option v-for="dict in exportCityList" <el-option v-for="dict in exportCityList"
:key="dict.id" :label="dict.titleZh" :value="dict.id"/> :key="dict.id" :label="dict.titleZh" :value="dict.id"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="目的地" prop="customsType"> <el-form-item :label="$t('目的地')" prop="customsType">
<el-select v-model="queryParams.customsType" clearable size="small"> <el-select v-model="queryParams.customsType" clearable size="small">
<el-option v-for="dict in importCityList" <el-option v-for="dict in importCityList"
:key="dict.id" :label="dict.titleZh" :value="dict.id"/> :key="dict.id" :label="dict.titleZh" :value="dict.id"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="报关方式" prop="approval"> <el-form-item :label="$t('报关方式')" prop="approval">
<el-select v-model="queryParams.approval" clearable size="small"> <el-select v-model="queryParams.approval" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.SHIPPING_DECLARATION_TYPE)" <el-option v-for="dict in this.getDictDatas(DICT_TYPE.SHIPPING_DECLARATION_TYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="备案" prop="darkReturnType"> <el-form-item :label="$t('备案')" prop="darkReturnType">
<el-select v-model="queryParams.darkReturnType" clearable size="small"> <el-select v-model="queryParams.darkReturnType" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_PRODUCT_APPROVAL)" <el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_PRODUCT_APPROVAL)"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
...@@ -60,11 +60,11 @@ ...@@ -60,11 +60,11 @@
</el-form-item> </el-form-item>
<div style="width:100%;display: flex;justify-content: space-between;margin-bottom: 50px;"> <div style="width:100%;display: flex;justify-content: space-between;margin-bottom: 50px;">
<div style="flex: 1"> <div style="flex: 1">
<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></div> <el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button></div>
<div style="flex: 1; text-align: right;"> <div style="flex: 1; text-align: right;">
<router-link :to="'/customerCommissionInfo/'+ 0 "> <router-link :to="'/customerCommissionInfo/'+ 0 ">
<el-button type="primary">佣金设置</el-button> <el-button type="primary">{{$t('佣金设置')}}</el-button>
</router-link> </router-link>
</div> </div>
</div> </div>
...@@ -83,48 +83,48 @@ ...@@ -83,48 +83,48 @@
type="selection" type="selection"
width="55"> width="55">
</el-table-column> </el-table-column>
<el-table-column label="佣金编码" align="center" prop="customerId" /> <el-table-column :label="$t('佣金编码')" align="center" prop="customerId" />
<el-table-column label="客户名称" align="center" prop="customerName" show-overflow-tooltip > <el-table-column :label="$t('客户名称')" align="center" prop="customerName" show-overflow-tooltip >
</el-table-column> </el-table-column>
<el-table-column label="联系电话" align="center" prop="transportId" show-overflow-tooltip > <el-table-column :label="$t('联系电话')" align="center" prop="transportId" show-overflow-tooltip >
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{scope.row.defaultContactPhone}}</div> <div>{{scope.row.defaultContactPhone}}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="佣金类型" type="" align="center" prop="type"> <el-table-column :label="$t('佣金类型')" type="" align="center" prop="type">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_TYPE" :value="scope.row.type" /> <dict-tag :type="DICT_TYPE.COMMISSION_TYPE" :value="scope.row.type" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="暗佣返佣类型" align="center" prop="darkReturnType"> <el-table-column :label="$t('暗佣返佣类型')" align="center" prop="darkReturnType">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_DARK_TYPE" :value="scope.row.type" /> <dict-tag :type="DICT_TYPE.COMMISSION_DARK_TYPE" :value="scope.row.type" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="运输方式" align="center" prop="transportId"> <el-table-column :label="$t('运输方式')" align="center" prop="transportId">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag v-if="scope.row.transportId" :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportId" /> <dict-tag v-if="scope.row.transportId" :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportId" />
<div v-else>全部</div> <div v-else>{{$t('全部')}}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="始发地/目的地 " align="center" prop="departureId" show-overflow-tooltip :formatter="originDestination"> <el-table-column :label="$t('始发地/目的地')" align="center" prop="departureId" show-overflow-tooltip :formatter="originDestination">
</el-table-column> </el-table-column>
<el-table-column label="报关方式" align="center" prop="customsType" show-overflow-tooltip> <el-table-column :label="$t('报关方式')" align="center" prop="customsType" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag v-if="scope.row.customsType" :type="DICT_TYPE.SHIPPING_DECLARATION_TYPE" :value="scope.row.customsType" /> <dict-tag v-if="scope.row.customsType" :type="DICT_TYPE.SHIPPING_DECLARATION_TYPE" :value="scope.row.customsType" />
<div v-else>全部</div> <div v-else>{{$t('全部')}}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备案" align="center" prop="approval"> <el-table-column :label="$t('备案')" align="center" prop="approval">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag v-if="scope.row.approval" :type="DICT_TYPE.COMMISSION_PRODUCT_APPROVAL" :value="scope.row.approval" /> <dict-tag v-if="scope.row.approval" :type="DICT_TYPE.COMMISSION_PRODUCT_APPROVAL" :value="scope.row.approval" />
<div v-else>全部</div> <div v-else>{{$t('全部')}}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200px"> <el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="200px">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button>--> <!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button>-->
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button> <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">{{$t('删除')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -182,9 +182,9 @@ export default { ...@@ -182,9 +182,9 @@ export default {
form: {}, form: {},
// 表单校验 // 表单校验
rules: { rules: {
customerId: [{ required: true, message: "客户id不能为空", trigger: "change" }], customerId: [{ required: true, message: this.$t('客户id不能为空'), trigger: "change" }],
type: [{ required: true, message: "佣金类型不能为空", trigger: "change" }], type: [{ required: true, message: this.$t('佣金类型不能为空'), trigger: "change" }],
darkReturnType: [{ required: true, message: "暗佣类型 1产品2达标不能为空", trigger: "change" }], darkReturnType: [{ required: true, message: this.$t('暗佣类型 1产品2达标不能为空'), trigger: "change" }],
}, },
customeList:[], customeList:[],
}; };
...@@ -245,7 +245,7 @@ export default { ...@@ -245,7 +245,7 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const id = row.id; const id = row.id;
this.$modal.confirm('是否确认删除客户佣金类型编号为"' + id + '"的数据项?').then(function() { this.$modal.confirm(this.$t('是否确认删除客户佣金类型编号为"') + id + this.$t('"的数据项?')).then(function() {
return deleteCustomerCommission(id); return deleteCustomerCommission(id);
}).then(() => { }).then(() => {
this.getList(); this.getList();
...@@ -256,7 +256,7 @@ export default { ...@@ -256,7 +256,7 @@ export default {
let index1 = this.exportCityList.findIndex(item =>item.id == row.departureId); let index1 = this.exportCityList.findIndex(item =>item.id == row.departureId);
let index2 = this.importCityList.findIndex(item => item.id == row.objectiveId); let index2 = this.importCityList.findIndex(item => item.id == row.objectiveId);
let flag = `${index1 === -1 ? '全部' : this.exportCityList[index1].titleZh}/${index2 === -1 ? '全部' : this.importCityList[index2].titleZh}`; let flag = `${index1 === -1 ? this.$t('全部') : this.exportCityList[index1].titleZh}/${index2 === -1 ? this.$t('全部') : this.importCityList[index2].titleZh}`;
return flag return flag
}, },
} }
......
<template> <template>
<el-select v-if="options" v-model="selectVal" placeholder="请选择"> <el-select v-if="options" v-model="selectVal" :placeholder="$t('请选择')">
<el-option v-if="allShow" label="全部" :value='0'></el-option> <el-option v-if="allShow" :label="$t('全部')" :value='0'></el-option>
<el-option <el-option
v-for="item in options" v-for="item in options"
:key="item[valueKey]" :key="item[valueKey]"
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<template> <template>
<div class="app-container"> <div class="app-container">
<div slot="header" class="card-title">开票</div> <div slot="header" class="card-title">{{ $t('开票') }}</div>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form
:model="invoiceData" :model="invoiceData"
...@@ -11,10 +11,10 @@ ...@@ -11,10 +11,10 @@
class="card" class="card"
> >
<el-card class="card"> <el-card class="card">
<el-form-item label="发票号码:" prop="invoiceNumber" :rules="{ required: true, trigger: ['blur'], message: '发票号码不能为空' }"> <el-form-item :label="$t('发票号码')" prop="invoiceNumber" :rules="{ required: true, trigger: ['blur'], message: $t('发票号码不能为空') }">
<el-input v-model="invoiceData.invoiceNumber"></el-input> <el-input v-model="invoiceData.invoiceNumber"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="开票类型:" prop="invoicingTypeId" :rules="{ required: true, trigger: ['blur', 'change'], message: '开票类型不能为空' }"> <el-form-item :label="$t('开票类型')" prop="invoicingTypeId" :rules="{ required: true, trigger: ['blur', 'change'], message: $t('开票类型不能为空') }">
<dict-selector <dict-selector
:type="DICT_TYPE.ECW_INVOICING_TYPE" :type="DICT_TYPE.ECW_INVOICING_TYPE"
v-model="invoiceData.invoicingTypeId" v-model="invoiceData.invoicingTypeId"
...@@ -22,18 +22,18 @@ ...@@ -22,18 +22,18 @@
</el-form-item> </el-form-item>
</el-card> </el-card>
<el-card class="card"> <el-card class="card">
<div slot="header" class="card-title">开票资料</div> <div slot="header" class="card-title">{{ $t('开票资料') }}</div>
<el-descriptions title="" direction="vertical" :column="6" border> <el-descriptions title="" direction="vertical" :column="6" border>
<el-descriptions-item label="发票抬头">{{ invoiceData.invoice }}</el-descriptions-item> <el-descriptions-item :label="$t('发票抬头')">{{ invoiceData.invoice }}</el-descriptions-item>
<el-descriptions-item label="纳税人识别号">{{ invoiceData.taxpayer }}</el-descriptions-item> <el-descriptions-item :label="$t('纳税人识别号')">{{ invoiceData.taxpayer }}</el-descriptions-item>
<el-descriptions-item label="地址">{{ invoiceData.addressPhone }}</el-descriptions-item> <el-descriptions-item :label="$t('地址')">{{ invoiceData.addressPhone }}</el-descriptions-item>
<el-descriptions-item label="开户行">{{ invoiceData.accountBank }}</el-descriptions-item> <el-descriptions-item :label="$t('开户行')">{{ invoiceData.accountBank }}</el-descriptions-item>
<el-descriptions-item label="税率%"> <el-descriptions-item :label="$t('税率%')">
<el-form-item label=""> <el-form-item label="">
<el-input v-model="invoiceData.taxRate"></el-input> <el-input v-model="invoiceData.taxRate"></el-input>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="项目"> <el-descriptions-item :label="$t('项目')">
<el-form-item label=""> <el-form-item label="">
<el-input v-model="invoiceData.projectName"></el-input> <el-input v-model="invoiceData.projectName"></el-input>
</el-form-item> </el-form-item>
...@@ -49,15 +49,15 @@ ...@@ -49,15 +49,15 @@
show-summary show-summary
:summary-method="getSummaries" :summary-method="getSummaries"
> >
<el-table-column label="订单号" align="center" prop="orderNo" /> <el-table-column :label="$t('订单号')" align="center" prop="orderNo" />
<el-table-column label="品名" align="center" prop="titleZh"> <el-table-column :label="$t('品名')" align="center" prop="titleZh">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.titleZh || scope.row.titleEn ? scope.row.titleZh + "(" + scope.row.titleEn + ")" : '' }} {{ scope.row.titleZh || scope.row.titleEn ? scope.row.titleZh + "(" + scope.row.titleEn + ")" : '' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="箱数" align="center" prop="num" /> <el-table-column :label="$t('箱数')" align="center" prop="num" />
<el-table-column label="体积/重量" align="center" prop="weight"></el-table-column> <el-table-column :label="$t('体积/重量')" align="center" prop="weight"></el-table-column>
<el-table-column label="收入类型" align="center" prop="feeType"> <el-table-column :label="$t('收入类型')" align="center" prop="feeType">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag <dict-tag
:type="DICT_TYPE.FEE_TYPE" :type="DICT_TYPE.FEE_TYPE"
...@@ -65,25 +65,25 @@ ...@@ -65,25 +65,25 @@
></dict-tag> ></dict-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="单价金额" align="center" prop="unitPrice"> <el-table-column :label="$t('单价金额')" align="center" prop="unitPrice">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.unitPrice }}</span> <span>{{ scope.row.unitPrice }}</span>
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" /> <dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="总金额" align="center" prop="totalAmount"> <el-table-column :label="$t('总金额')" align="center" prop="totalAmount">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.totalAmount }}</span> <span>{{ scope.row.totalAmount }}</span>
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" /> <dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="税额" align="center" prop="tax"> <el-table-column :label="$t('税额')" align="center" prop="tax">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.tax }}</span> <span>{{ scope.row.tax }}</span>
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" /> <dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="价税合计" align="center" prop="taxAndTotalAmount"> <el-table-column :label="$t('价税合计')" align="center" prop="taxAndTotalAmount">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.taxAndTotalAmount }}</span> <span>{{ scope.row.taxAndTotalAmount }}</span>
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" /> <dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" />
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
</el-table> </el-table>
</el-card> </el-card>
<el-descriptions class="card" style="width: 50%"> <el-descriptions class="card" style="width: 50%">
<el-descriptions-item label="备注"> <el-descriptions-item :label="$t('备注')">
<el-input <el-input
v-model="invoiceData.invoicingRemark" v-model="invoiceData.invoicingRemark"
type="text" type="text"
...@@ -103,7 +103,7 @@ ...@@ -103,7 +103,7 @@
</el-descriptions> </el-descriptions>
</el-form> </el-form>
<div slot="footer" class="card"> <div slot="footer" class="card">
<el-button type="primary" @click="submitForm">确定</el-button> <el-button type="primary" @click="submitForm">{{ $t('确定') }}</el-button>
</div> </div>
</div> </div>
</template> </template>
...@@ -147,7 +147,7 @@ export default { ...@@ -147,7 +147,7 @@ export default {
v.taxAndTotalAmount = NP.plus(v.totalAmount, NP.times(v.totalAmount, this.invoiceData.taxRate/100)) v.taxAndTotalAmount = NP.plus(v.totalAmount, NP.times(v.totalAmount, this.invoiceData.taxRate/100))
}) })
const t = { const t = {
orderNo: '合计', orderNo: this.$t('合计'),
totalAmount: res.data.reduce((total, curr) => NP.plus(total, curr.totalAmount), 0), totalAmount: res.data.reduce((total, curr) => NP.plus(total, curr.totalAmount), 0),
tax: res.data.reduce((total, curr) => NP.plus(total, curr.tax), 0), tax: res.data.reduce((total, curr) => NP.plus(total, curr.tax), 0),
taxAndTotalAmount: res.data.reduce((total, curr) => NP.plus(total, curr.taxAndTotalAmount), 0) taxAndTotalAmount: res.data.reduce((total, curr) => NP.plus(total, curr.taxAndTotalAmount), 0)
...@@ -160,7 +160,7 @@ export default { ...@@ -160,7 +160,7 @@ export default {
if (valid) { if (valid) {
updateReceiptInvoicing(this.invoiceData).then(res => { updateReceiptInvoicing(this.invoiceData).then(res => {
this.open = false; this.open = false;
this.$modal.msgSuccess("操作成功"); this.$modal.msgSuccess(this.$t('操作成功'));
this.$router.back(); this.$router.back();
}) })
} }
...@@ -168,7 +168,7 @@ export default { ...@@ -168,7 +168,7 @@ export default {
}, },
getSummaries(param) { getSummaries(param) {
const t = this.list[this.list.length - 1].taxAndTotalAmount const t = this.list[this.list.length - 1].taxAndTotalAmount
return ['收款人', this.invoiceData.payeeName, '核销人', this.invoiceData.writeOffName, '开票人', this.invoiceData.issuerName, '', '价税合计大写', this.convertCurrency(t)]; return [this.$t('收款人'), this.invoiceData.payeeName, this.$t('核销人'), this.invoiceData.writeOffName, this.$t('开票人'), this.invoiceData.issuerName, '', this.$t('价税合计大写'), this.convertCurrency(t)];
}, },
convertCurrency(money) { convertCurrency(money) {
//汉字的数字 //汉字的数字
......
This diff is collapsed.
<template> <template>
<div class="app-container"> <div class="app-container">
<el-card> <el-card>
<div slot="header" class="card-title">付款单详情</div> <div slot="header" class="card-title">{{ $t('付款单详情') }}</div>
<el-form <el-form
ref="form" ref="form"
:model="form" :model="form"
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
label-position="left" label-position="left"
> >
<el-descriptions :column="3" class="card" border> <el-descriptions :column="3" class="card" border>
<el-descriptions-item label="供应商"> <el-descriptions-item :label="$t('供应商')">
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<!-- <customer-selector v-model="form.supplierId" @change="consignor = $event" /> --> <!-- <customer-selector v-model="form.supplierId" @change="consignor = $event" /> -->
<el-select <el-select
v-model="form.supplierId" v-model="form.supplierId"
placeholder="请选择供应商" :placeholder="$t('请选择供应商')"
disabled disabled
> >
<el-option <el-option
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="部门"> <el-descriptions-item :label="$t('部门')">
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="业务员"> <el-descriptions-item :label="$t('业务员')">
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="申请日期"> <el-descriptions-item :label="$t('申请日期')">
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
...@@ -86,7 +86,7 @@ ...@@ -86,7 +86,7 @@
/> />
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="供应商银行账号" style="width: 50%"> <el-descriptions-item :label="$t('供应商银行账号')" style="width: 50%">
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-descriptions :column="3" class="card" border> <el-descriptions :column="3" class="card" border>
<el-descriptions-item label="最后付款日期"> <el-descriptions-item :label="$t('最后付款日期')">
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
...@@ -122,7 +122,7 @@ ...@@ -122,7 +122,7 @@
/> />
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="结算方式"> <el-descriptions-item :label="$t('结算方式')">
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
...@@ -139,10 +139,10 @@ ...@@ -139,10 +139,10 @@
</el-form> </el-form>
</el-card> </el-card>
<el-card class="card"> <el-card class="card">
<div slot="header" class="card-title">费用信息</div> <div slot="header" class="card-title">{{ $t('费用信息') }}</div>
<el-table v-loading="loadings" :data="list" border :show-summary="!!list.length" :summary-method="getSummaries"> <el-table v-loading="loadings" :data="list" border :show-summary="!!list.length" :summary-method="getSummaries">
<el-table-column label="自编号" align="center" prop="payableNo" /> <el-table-column :label="$t('自编号')" align="center" prop="payableNo" />
<el-table-column label="费用类型" align="center" prop="feeType"> <el-table-column :label="$t('费用类型')" align="center" prop="feeType">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag <dict-tag
:type="DICT_TYPE.FEE_TYPE" :type="DICT_TYPE.FEE_TYPE"
...@@ -150,16 +150,16 @@ ...@@ -150,16 +150,16 @@
></dict-tag> ></dict-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="发票号码" align="center" prop="invoiceNumber" /> <el-table-column :label="$t('发票号码')" align="center" prop="invoiceNumber" />
<el-table-column label="应付金额" align="center" prop="totalAmount" /> <el-table-column :label="$t('应付金额')" align="center" prop="totalAmount" />
<el-table-column label="币种" align="center" prop="currencyId"> <el-table-column :label="$t('币种')" align="center" prop="currencyId">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" /> <dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="汇率" align="center" prop="exchangeRate" /> <el-table-column :label="$t('汇率')" align="center" prop="exchangeRate" />
<el-table-column label="税率%" align="center" prop="taxRate" /> <el-table-column :label="$t('税率%')" align="center" prop="taxRate" />
<el-table-column label="价税合计(RMB)" align="center" prop="total" > <el-table-column :label="$t('价税合计(RMB)')" align="center" prop="total" >
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.total = ((scope.row.totalAmount * scope.row.exchangeRate) + (scope.row.totalAmount * scope.row.exchangeRate) * (scope.row.taxRate/100)).toFixed(6) }}</span> <span>{{ scope.row.total = ((scope.row.totalAmount * scope.row.exchangeRate) + (scope.row.totalAmount * scope.row.exchangeRate) * (scope.row.taxRate/100)).toFixed(6) }}</span>
</template> </template>
...@@ -174,13 +174,13 @@ ...@@ -174,13 +174,13 @@
style="width: 50%" style="width: 50%"
> >
<el-descriptions :column="1" class="card" border> <el-descriptions :column="1" class="card" border>
<el-descriptions-item label="账单号"> <el-descriptions-item :label="$t('账单号')">
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
style="margin-bottom: 0" style="margin-bottom: 0"
required required
error="账单号不能为空" :error="$t('账单号不能为空')"
prop="accountNumber" prop="accountNumber"
> >
<el-input <el-input
...@@ -188,7 +188,7 @@ ...@@ -188,7 +188,7 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="发票"> <el-descriptions-item :label="$t('发票')">
<el-form-item <el-form-item
label="" label=""
label-width="0" label-width="0"
...@@ -199,8 +199,8 @@ ...@@ -199,8 +199,8 @@
v-model="form.invoiceStatus" v-model="form.invoiceStatus"
disabled disabled
> >
<el-option label="未开票" value="0" /> <el-option :label="$t('未开票')" value="0" />
<el-option label="已开票" value="1" /> <el-option :label="$t('已开票')" value="1" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
...@@ -209,7 +209,7 @@ ...@@ -209,7 +209,7 @@
</el-card> </el-card>
<div slot="footer" style="margin: 20px 0"> <div slot="footer" style="margin: 20px 0">
<!-- <el-button type="primary" @click="submitDraft">保 存</el-button> --> <!-- <el-button type="primary" @click="submitDraft">保 存</el-button> -->
<el-button type="primary" @click="$store.dispatch('tagsView/delCurrentView')">返回</el-button> <el-button type="primary" @click="$store.dispatch('tagsView/delCurrentView')">{{ $t('返回') }}</el-button>
</div> </div>
</div> </div>
</template> </template>
...@@ -348,7 +348,7 @@ export default { ...@@ -348,7 +348,7 @@ export default {
const { columns, data } = param; const { columns, data } = param;
const sums = new Array(columns.length).map(v => ''); const sums = new Array(columns.length).map(v => '');
const index = sums.length - 1 const index = sums.length - 1
sums[index - 1] = '价税合计大写' sums[index - 1] = this.$t('价税合计大写')
const t = data.map(v => v.total).reduce((prev, curr) => { const t = data.map(v => v.total).reduce((prev, curr) => {
return parseFloat(prev) + parseFloat(curr); return parseFloat(prev) + parseFloat(curr);
}, 0) }, 0)
...@@ -368,21 +368,21 @@ export default { ...@@ -368,21 +368,21 @@ export default {
if (this.list && this.list.length > 0) { if (this.list && this.list.length > 0) {
params.payableReqVOList = [...this.list] params.payableReqVOList = [...this.list]
}else{ }else{
this.$modal.msgError("请选择供应商未付款项"); this.$modal.msgError(this.$t('请选择供应商未付款项'));
return return
} }
if(!params.supplierBankAccount){ if(!params.supplierBankAccount){
this.$modal.msgError("请选择供应商银行账号"); this.$modal.msgError(this.$t('请选择供应商银行账号'));
return return
} }
if (this.id && this.id !== '0') { if (this.id && this.id !== '0') {
updatePayment(params).then(res => { updatePayment(params).then(res => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess(this.$t('修改成功'));
this.$router.back(); this.$router.back();
}) })
} else { } else {
createPayment(params).then(res => { createPayment(params).then(res => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess(this.$t('新增成功'));
this.$router.back(); this.$router.back();
}) })
} }
...@@ -398,21 +398,21 @@ export default { ...@@ -398,21 +398,21 @@ export default {
if (this.list && this.list.length > 0) { if (this.list && this.list.length > 0) {
params.payableReqVOList = [...this.list] params.payableReqVOList = [...this.list]
}else{ }else{
this.$modal.msgError("请选择供应商未付款项"); this.$modal.msgError(this.$t('请选择供应商未付款项'));
return return
} }
if(!params.supplierBankAccount){ if(!params.supplierBankAccount){
this.$modal.msgError("请选择供应商银行账号"); this.$modal.msgError(this.$t('请选择供应商银行账号'));
return return
} }
if (this.id && this.id !== '0') { if (this.id && this.id !== '0') {
updatePayment(params).then(res => { updatePayment(params).then(res => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess(this.$t('修改成功'));
this.$router.back(); this.$router.back();
}) })
} else { } else {
createPayment(params).then(res => { createPayment(params).then(res => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess(this.$t('新增成功'));
this.$router.back(); this.$router.back();
}) })
} }
......
<template> <template>
<div class="app-container examine-wrap"> <div class="app-container examine-wrap">
<el-card> <el-card>
<div slot="header" class="card-title">审核请款单</div> <div slot="header" class="card-title">{{ $t('审核请款单') }}</div>
<el-descriptions :column="3" class="card" border> <el-descriptions :column="3" class="card" border>
<el-descriptions-item label="供应商"> <el-descriptions-item :label="$t('供应商')">
{{ detail.supplierName }} {{ detail.supplierName }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="部门"> <el-descriptions-item :label="$t('部门')">
{{ findDepartmentName(detail.departmentId) }} {{ findDepartmentName(detail.departmentId) }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="业务员"> <el-descriptions-item :label="$t('业务员')">
{{ detail.salesmanName }} {{ detail.salesmanName }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="申请日期"> <el-descriptions-item :label="$t('申请日期')">
{{ detail.applicationAt }} {{ detail.applicationAt }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="供应商银行账号" style="width: 50%"> <el-descriptions-item :label="$t('供应商银行账号')" style="width: 50%">
{{ findBank(detail.supplierBankAccount) }} {{ findBank(detail.supplierBankAccount) }}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-descriptions :column="3" class="card" border> <el-descriptions :column="3" class="card" border>
<el-descriptions-item label="最后付款日期"> <el-descriptions-item :label="$t('最后付款日期')">
{{ detail.latestPayAt }} {{ detail.latestPayAt }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="结算方式"> <el-descriptions-item :label="$t('结算方式')">
<!-- {{ detail.settlementType }} --> <!-- {{ detail.settlementType }} -->
<dict-tag :type="DICT_TYPE.CUSTOMER_BALANCE" :value="detail.settlementType"></dict-tag> <dict-tag :type="DICT_TYPE.CUSTOMER_BALANCE" :value="detail.settlementType"></dict-tag>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-card> </el-card>
<el-card class="card"> <el-card class="card">
<div slot="header" class="card-title">费用信息</div> <div slot="header" class="card-title">{{ $t('费用信息') }}</div>
<el-table v-loading="loadings" :data="list" border :show-summary="!!list.length" :summary-method="getSummaries"> <el-table v-loading="loadings" :data="list" border :show-summary="!!list.length" :summary-method="getSummaries">
<el-table-column label="自编号" align="center" prop="payableNo" /> <el-table-column :label="$t('自编号')" align="center" prop="payableNo" />
<el-table-column label="费用类型" align="center" prop="feeType"> <el-table-column :label="$t('费用类型')" align="center" prop="feeType">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag <dict-tag
:type="DICT_TYPE.FEE_TYPE" :type="DICT_TYPE.FEE_TYPE"
...@@ -41,46 +41,46 @@ ...@@ -41,46 +41,46 @@
></dict-tag> ></dict-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="发票号码" align="center" prop="invoiceNumber"> <el-table-column :label="$t('发票号码')" align="center" prop="invoiceNumber">
<!-- <template slot-scope="scope"> <!-- <template slot-scope="scope">
<el-input v-model="scope.row.invoiceNumber"></el-input> <el-input v-model="scope.row.invoiceNumber"></el-input>
</template> --> </template> -->
</el-table-column> </el-table-column>
<el-table-column label="应付金额" align="center" prop="totalAmount" /> <el-table-column :label="$t('应付金额')" align="center" prop="totalAmount" />
<el-table-column label="币种" align="center" prop="currencyId"> <el-table-column :label="$t('币种')" align="center" prop="currencyId">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" /> <dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="汇率" align="center" prop="exchangeRate"> <el-table-column :label="$t('汇率')" align="center" prop="exchangeRate">
<!-- <template slot-scope="scope"> <!-- <template slot-scope="scope">
<el-input v-model="scope.row.exchangeRate"></el-input> <el-input v-model="scope.row.exchangeRate"></el-input>
</template> --> </template> -->
</el-table-column> </el-table-column>
<el-table-column label="税率" align="center" prop="taxRate" > <el-table-column :label="$t('税率%')" align="center" prop="taxRate" >
<!-- <template slot-scope="scope"> <!-- <template slot-scope="scope">
<el-input v-model="scope.row.taxRate"></el-input> <el-input v-model="scope.row.taxRate"></el-input>
</template> --> </template> -->
</el-table-column> </el-table-column>
<el-table-column label="价税合计(RMB)" align="center" prop="total" /> <el-table-column :label="$t('价税合计(RMB)')" align="center" prop="total" />
</el-table> </el-table>
<el-descriptions :column="1" class="card" border> <el-descriptions :column="1" class="card" border>
<el-descriptions-item label="账单号"> <el-descriptions-item :label="$t('账单号')">
{{ detail.accountNumber }} {{ detail.accountNumber }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="发票"> <el-descriptions-item :label="$t('发票')">
{{ detail.invoiceStatus == 0 ? '未开票' : '已开票' }} {{ detail.invoiceStatus == 0 ? $t('未开票') : $t('已开票') }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="审核备注"> <el-descriptions-item :label="$t('审核备注')">
<el-input type="textarea" :rows="2" v-model="notes"> <el-input type="textarea" :rows="2" v-model="notes">
</el-input> </el-input>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-card> </el-card>
<div slot="footer" style="margin: 20px 0"> <div slot="footer" style="margin: 20px 0">
<el-button type="primary" @click="examine('y')">审核通过</el-button> <el-button type="primary" @click="examine('y')">{{ $t('审核通过') }}</el-button>
<el-button type="danger" @click="examine('n')">审核驳回</el-button> <el-button type="danger" @click="examine('n')">{{ $t('审核驳回') }}</el-button>
</div> </div>
</div> </div>
</template> </template>
...@@ -150,7 +150,7 @@ export default { ...@@ -150,7 +150,7 @@ export default {
const { columns, data } = param; const { columns, data } = param;
const sums = new Array(columns.length).map(v => ''); const sums = new Array(columns.length).map(v => '');
const index = sums.length - 1 const index = sums.length - 1
sums[index - 1] = '价税合计大写' sums[index - 1] = this.$t('价税合计大写')
const t = data.map(v => v.total).reduce((prev, curr) => { const t = data.map(v => v.total).reduce((prev, curr) => {
return prev + curr; return prev + curr;
}, 0) }, 0)
...@@ -164,7 +164,7 @@ export default { ...@@ -164,7 +164,7 @@ export default {
verifyStatus: status verifyStatus: status
} }
paymentVerify(params).then(res => { paymentVerify(params).then(res => {
this.$modal.msgSuccess("操作成功"); this.$modal.msgSuccess(this.$t('操作成功'));
this.$router.back(); this.$router.back();
}) })
}, },
......
This diff is collapsed.
<template> <template>
<div class="app-container" > <div class="app-container" >
<div id="print" style="font-size: 18px;"> <div id="print" style="font-size: 18px;">
<div style="text-align: center;font-weight: bold;font-size: 20px;">付款单</div> <div style="text-align: center;font-weight: bold;font-size: 20px;">{{ $t('付款单') }}</div>
<div style="margin-top: 20px;"> <div style="margin-top: 20px;">
<div style="display: flex;width: 80%;align-items: center;margin-bottom: 10px;"> <div style="display: flex;width: 80%;align-items: center;margin-bottom: 10px;">
<div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">付款单号:</div><span>{{ form.paymentNo || '' }}</span></div> <div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">{{ $t('付款单号') }}</div><span>{{ form.paymentNo || '-' }}</span></div>
<div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">最后付款日:</div> <span>{{ form.latestPayAt || '' }}</span></div> <div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">{{ $t('最后付款日') }}</div> <span>{{ form.latestPayAt || '-' }}</span></div>
</div> </div>
<div style="display: flex;width: 80%;align-items: center;margin-bottom: 10px;"> <div style="display: flex;width: 80%;align-items: center;margin-bottom: 10px;">
<div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">申请日期:</div> <span>{{ form.applicationAt || '' }}</span></div> <div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">{{ $t('申请日期') }}</div> <span>{{ form.applicationAt || '-' }}</span></div>
<div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">结算方式:</div><span>{{ form.settlementType || '' }}</span></div> <div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">{{ $t('结算方式') }}</div><span>{{ form.settlementType || '-' }}</span></div>
</div> </div>
<div style="display: flex;width: 80%;align-items: center;margin-bottom: 10px;"> <div style="display: flex;width: 80%;align-items: center;margin-bottom: 10px;">
<div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">付款公司:</div><span>{{ form.supplierName || '' }}</span></div> <div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">{{ $t('付款公司') }}</div><span>{{ form.supplierName || '-' }}</span></div>
<div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">银行户名:</div><span>{{ findBank(form.supplierBankAccount).baAccountName || '' }}</span></div> <div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">{{ $t('银行户名') }}</div><span>{{ findBank(form.supplierBankAccount).baAccountName || '-' }}</span></div>
</div> </div>
<div style="display: flex;width: 80%;align-items: center;margin-bottom: 10px;"> <div style="display: flex;width: 80%;align-items: center;margin-bottom: 10px;">
<div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">银行名称:</div><span>{{ findBank(form.supplierBankAccount).baBankName || '' }}</span></div> <div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">{{ $t('银行名称') }}</div><span>{{ findBank(form.supplierBankAccount).baBankName || '-' }}</span></div>
<div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">银行账号:</div><span>{{ findBank(form.supplierBankAccount).baAccountNum || '' }}</span></div> <div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">{{ $t('银行账号') }}</div><span>{{ findBank(form.supplierBankAccount).baAccountNum || '-' }}</span></div>
</div> </div>
<!-- <div style="display: flex;width: 80%;align-items: center;margin-bottom: 10px;"> <!-- <div style="display: flex;width: 80%;align-items: center;margin-bottom: 10px;">
<div style="flex:1"><div style="width: 120px;text-align: right;">水单号:</div><span>{{form?form.accountBank:''}}</span></div> <div style="flex:1"><div style="width: 120px;text-align: right;">水单号:</div><span>{{form?form.accountBank:''}}</span></div>
<div style="flex:1"><div style="width: 120px;text-align: right;">手续费:</div><span>{{form?form.accountBank:''}}</span></div> <div style="flex:1"><div style="width: 120px;text-align: right;">手续费:</div><span>{{form?form.accountBank:''}}</span></div>
</div> --> </div> -->
<div style="display: flex;width: 80%;align-items: center;"> <div style="display: flex;width: 80%;align-items: center;">
<div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">备注:</div><span>{{ form.notes || '' }}</span></div> <div style="flex:1"><div style="width: 120px;text-align: right;display:inline-block;">{{ $t('备注') }}</div><span>{{ form.notes || '-' }}</span></div>
</div> </div>
</div> </div>
<table border="1" style="margin-top: 20px;width: 100%;text-align: center;border-collapse: collapse;line-height: 2 "> <table border="1" style="margin-top: 20px;width: 100%;text-align: center;border-collapse: collapse;line-height: 2 ">
<tr> <tr>
<th style="width: 6%;">序号</th> <th style="width: 6%;">{{ $t('序号') }}</th>
<th style="width: 15%;">自编号</th> <th style="width: 15%;">{{ $t('自编号') }}</th>
<th style="width: 15%;">费用类型</th> <th style="width: 15%;">{{ $t('费用类型') }}</th>
<th style="width: 15%;">币别</th> <th style="width: 15%;">{{ $t('币种') }}</th>
<th style="width: 10%;">汇率</th> <th style="width: 10%;">{{ $t('汇率') }}</th>
<th style="width: 15%;">发票号</th> <th style="width: 15%;">{{ $t('发票号') }}</th>
<th style="width: 12%;">应付金额</th> <th style="width: 12%;">{{ $t('应付金额') }}</th>
<th style="width: 12%;">申请金额</th> <th style="width: 12%;">{{ $t('申请金额') }}</th>
</tr> </tr>
<tr v-for="(item, index) in list" :key="index"> <tr v-for="(item, index) in list" :key="index">
<td>{{ index + 1 }}</td> <td>{{ index + 1 }}</td>
...@@ -56,23 +56,23 @@ ...@@ -56,23 +56,23 @@
<td>{{ item.total }}</td> <td>{{ item.total }}</td>
</tr> </tr>
<tr> <tr>
<td colspan="2">合计(大写)</td> <td colspan="2">{{ $t('合计(大写)') }}</td>
<td colspan="2">{{ convertCurrency(totalMoney()) }}</td> <td colspan="2">{{ convertCurrency(totalMoney()) }}</td>
<td colspan="2">合计付款</td> <td colspan="2">{{ $t('合计付款') }}</td>
<td>{{ totalMoney() }}</td> <td>{{ totalMoney() }}</td>
</tr> </tr>
</table> </table>
<div style="margin-top: 20px;"> <div style="margin-top: 20px;">
<div style="display: flex;width: 100%;align-items: center;"> <div style="display: flex;width: 100%;align-items: center;">
<div style="flex:1"><span style="width: 120px;">主管</span></div> <div style="flex:1"><span style="width: 120px;">{{ $t('主管') }}</span></div>
<div style="flex:1"><span style="width: 120px;">会计</span></div> <div style="flex:1"><span style="width: 120px;">{{ $t('会计') }}</span></div>
<div style="flex:1"><span style="width: 120px;">出纳</span></div> <div style="flex:1"><span style="width: 120px;">{{ $t('出纳') }}</span></div>
<div style="flex:1"><span style="width: 120px;">经手人</span></div> <div style="flex:1"><span style="width: 120px;">{{ $t('经手人') }}</span></div>
</div> </div>
</div> </div>
</div> </div>
<div slot="footer" class="card"> <div slot="footer" class="card">
<el-button type="primary" @click="print">确订打印</el-button> <el-button type="primary" @click="print">{{ $t('确订打印') }}</el-button>
</div> </div>
</div> </div>
</template> </template>
...@@ -169,7 +169,7 @@ ...@@ -169,7 +169,7 @@
console.log('打印哦') console.log('打印哦')
}).catch(err => { }).catch(err => {
console.error('lodop异常', err) console.error('lodop异常', err)
alert('请检查LODOP打印控件是否安装并启动'); alert(this.$t('请检查LODOP打印控件是否安装并启动'));
}) })
}, },
findBank(val) { findBank(val) {
......
...@@ -43,9 +43,10 @@ ...@@ -43,9 +43,10 @@
<td>{{ item.actualAmount }}</td> <td>{{ item.actualAmount }}</td>
</tr> </tr>
<tr> <tr>
<td>人民币应收合计</td> <td colspan="2">{{ $t('合计(大写)') }}</td>
<td >{{ convertCurrency(totalMoney()) }}</td> <td colspan="2">{{ convertCurrency(totalMoney()) }}</td>
<td>汇率</td> <td colspan="2">{{ $t('合计实收') }}</td>
<td>{{ totalMoney() }}</td> <td>{{ totalMoney() }}</td>
<td>收款金额(人民币)</td> <td>收款金额(人民币)</td>
<td colspan="3">234</td> <td colspan="3">234</td>
...@@ -106,7 +107,7 @@ ...@@ -106,7 +107,7 @@
</div> </div>
</div> </div>
<div slot="footer" class="card"> <div slot="footer" class="card">
<el-button type="primary" @click="print">确订打印</el-button> <el-button type="primary" @click="print">{{ $t('确订打印') }}</el-button>
</div> </div>
</div> </div>
</template> </template>
...@@ -200,7 +201,7 @@ ...@@ -200,7 +201,7 @@
console.log('打印哦') console.log('打印哦')
}).catch(err => { }).catch(err => {
console.error('lodop异常', err) console.error('lodop异常', err)
alert('请检查LODOP打印控件是否安装并启动'); alert(this.$t('请检查LODOP打印控件是否安装并启动'));
}) })
}, },
totalMoney() { totalMoney() {
......
This diff is collapsed.
<template> <template>
<div class="app-container"> <div class="app-container">
<div slot="header" class="card-title">待收款</div> <div slot="header" class="card-title">{{ $t('待收款') }}</div>
<!-- 操作工具栏 --> <!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8" style="margin-right: 60px"> <el-row :gutter="10" class="mb8" style="margin-right: 60px">
<el-button <el-button
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
type="primary" type="primary"
size="mini" size="mini"
@click="handleAdd(0)" @click="handleAdd(0)"
>新增收款单</el-button >{{ $t('新增收款单') }}</el-button
> >
<el-button <el-button
v-if="showSearch" v-if="showSearch"
...@@ -38,10 +38,10 @@ ...@@ -38,10 +38,10 @@
class="card" class="card"
> >
<el-row> <el-row>
<el-form-item label="始发城市:"> <el-form-item :label="$t('始发城市')">
<el-select <el-select
v-model="queryParams.departureId" v-model="queryParams.departureId"
placeholder="请选择始发城市" :placeholder="$t('请选择始发城市')"
clearable clearable
> >
<el-option <el-option
...@@ -52,10 +52,10 @@ ...@@ -52,10 +52,10 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="目的城市:"> <el-form-item :label="$t('目的城市')">
<el-select <el-select
v-model="queryParams.objectiveId" v-model="queryParams.objectiveId"
placeholder="请选择目的城市" :placeholder="$t('请选择目的城市')"
clearable clearable
> >
<el-option <el-option
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="运输方式:"> <el-form-item :label="$t('运输方式')">
<dict-selector <dict-selector
:type="DICT_TYPE.ECW_TRANSPORT_TYPE" :type="DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model="queryParams.transportId" v-model="queryParams.transportId"
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
clearable clearable
/> />
</el-form-item> </el-form-item>
<el-form-item label="控货:"> <el-form-item :label="$t('控货')">
<dict-selector <dict-selector
:type="DICT_TYPE.INFRA_BOOLEAN_STRING" :type="DICT_TYPE.INFRA_BOOLEAN_STRING"
v-model="queryParams.isCargoControl" v-model="queryParams.isCargoControl"
...@@ -83,66 +83,66 @@ ...@@ -83,66 +83,66 @@
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item label="订单状态:"> <el-form-item :label="$t('订单状态')">
<dict-selector <dict-selector
:type="DICT_TYPE.ORDER_STATUS" :type="DICT_TYPE.ORDER_STATUS"
v-model="queryParams.status" v-model="queryParams.status"
clearable clearable
/> />
</el-form-item> </el-form-item>
<el-form-item label="报关方式:"> <el-form-item :label="$t('报关方式')">
<dict-selector <dict-selector
:type="DICT_TYPE.ECW_CUSTOMS_TYPE" :type="DICT_TYPE.ECW_CUSTOMS_TYPE"
v-model="queryParams.customsType" v-model="queryParams.customsType"
clearable clearable
/> />
</el-form-item> </el-form-item>
<el-form-item label="订单号:"> <el-form-item :label="$t('订单号')">
<el-input <el-input
style="max-width: 188px" style="max-width: 188px"
v-model="queryParams.orderNo" v-model="queryParams.orderNo"
placeholder="请输入订单编号" :placeholder="$t('请输入订单编号')"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="品名:"> <el-form-item :label="$t('品名')">
<el-input <el-input
style="max-width: 188px" style="max-width: 188px"
v-model="queryParams.title" v-model="queryParams.title"
placeholder="请输入品名" :placeholder="$t('请输入品名')"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item label="提单号:"> <el-form-item :label="$t('提单号')">
<el-input <el-input
style="max-width: 188px" style="max-width: 188px"
v-model="queryParams.tidanNo" v-model="queryParams.tidanNo"
placeholder="请输入提单号" :placeholder="$t('请输入提单号')"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="唛头:"> <el-form-item :label="$t('唛头')">
<el-input <el-input
style="max-width: 188px" style="max-width: 188px"
v-model="queryParams.marks" v-model="queryParams.marks"
placeholder="请输入唛头" :placeholder="$t('请输入唛头')"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="费用类型:"> <el-form-item :label="$t('费用类型')">
<dict-selector <dict-selector
:type="DICT_TYPE.FEE_TYPE" :type="DICT_TYPE.FEE_TYPE"
v-model="queryParams.feeType" v-model="queryParams.feeType"
clearable clearable
></dict-selector> ></dict-selector>
</el-form-item> </el-form-item>
<el-form-item label="发货人:"> <el-form-item :label="$t('发货人')">
<customer-selector <customer-selector
v-model="queryParams.consignorNameOrPhone" v-model="queryParams.consignorNameOrPhone"
@change="consignor = $event" @change="consignor = $event"
...@@ -154,7 +154,7 @@ ...@@ -154,7 +154,7 @@
</el-form-item> --> </el-form-item> -->
</el-row> </el-row>
<el-row> <el-row>
<el-form-item label="收货人:"> <el-form-item :label="$t('收货人')">
<!-- <el-input style="max-width: 188px;" v-model="queryParams.consigneeNameOrPhone" placeholder="请输入收货人" clearable @keyup.enter.native="handleQuery"/> --> <!-- <el-input style="max-width: 188px;" v-model="queryParams.consigneeNameOrPhone" placeholder="请输入收货人" clearable @keyup.enter.native="handleQuery"/> -->
<customer-selector <customer-selector
v-model="queryParams.consigneeNameOrPhone" v-model="queryParams.consigneeNameOrPhone"
...@@ -162,24 +162,15 @@ ...@@ -162,24 +162,15 @@
clearable clearable
/> />
</el-form-item> </el-form-item>
<!-- <el-form-item label="自编号:"> <el-form-item :label="$t('创建时间')">
<el-input
style="max-width: 188px"
v-model="queryParams.selfNo"
placeholder="请输入自编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<el-form-item label="创建时间:">
<!-- <dict-selector :type="DICT_TYPE.BEGINTIME_TYPE_ENDTIME" v-model="queryParams.date"></dict-selector> --> <!-- <dict-selector :type="DICT_TYPE.BEGINTIME_TYPE_ENDTIME" v-model="queryParams.date"></dict-selector> -->
<el-date-picker <el-date-picker
v-model="dateType" v-model="dateType"
type="datetimerange" type="datetimerange"
range-separator="-" range-separator="-"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
start-placeholder="请选择日期" :start-placeholder="$t('请选择日期')"
end-placeholder="请选择日期" :end-placeholder="$t('请选择日期')"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
...@@ -194,23 +185,23 @@ ...@@ -194,23 +185,23 @@
</el-form> </el-form>
</el-card> </el-card>
<el-table v-loading="loadings" :data="list" border class="card"> <el-table v-loading="loadings" :data="list" border class="card">
<el-table-column label="订单号" align="center" prop="orderNo" /> <el-table-column :label="$t('订单号')" align="center" prop="orderNo" />
<el-table-column label="唛头" align="center" prop="marks" /> <el-table-column :label="$t('唛头')" align="center" prop="marks" />
<el-table-column label="品名" align="center" prop="title"> <el-table-column :label="$t('品名')" align="center" prop="title">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.titleZh? (scope.row.titleZh + "(" + scope.row.titleEn + ")"):'' }} {{ scope.row.titleZh? (scope.row.titleZh + "(" + scope.row.titleEn + ")"):'' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="箱数" align="center" prop="num" /> <el-table-column :label="$t('箱数')" align="center" prop="num" />
<el-table-column label="体积/重量" align="center" prop="weight" /> <el-table-column :label="$t('体积/重量')" align="center" prop="weight" />
<el-table-column label="发货人" align="center" prop="consignorName" /> <el-table-column :label="$t('发货人')" align="center" prop="consignorName" />
<el-table-column label="收货人" align="center" prop="consigneeName" /> <el-table-column :label="$t('收货人')" align="center" prop="consigneeName" />
<el-table-column label="订单状态" align="center" prop="status"> <el-table-column :label="$t('订单状态')" align="center" prop="status">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.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-column label="收入类型" align="center" prop="feeType"> <el-table-column :label="$t('收入类型')" align="center" prop="feeType">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag <dict-tag
:type="DICT_TYPE.FEE_TYPE" :type="DICT_TYPE.FEE_TYPE"
...@@ -218,26 +209,26 @@ ...@@ -218,26 +209,26 @@
></dict-tag> ></dict-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="单价" align="center" prop="unitPrice"> <el-table-column :label="$t('单价')" align="center" prop="unitPrice">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.unitPrice }}</span> <span>{{ scope.row.unitPrice }}</span>
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" /> <dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="总金额" align="center" prop="totalAmount"> <el-table-column :label="$t('总金额')" align="center" prop="totalAmount">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.totalAmount }}</span> <span>{{ scope.row.totalAmount }}</span>
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" /> <dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="操作" :label="$t('操作')"
align="center" align="center"
class-name="small-padding fixed-width" class-name="small-padding fixed-width"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" @click="handleAdd(scope.row.id)" <el-button size="mini" type="text" @click="handleAdd(scope.row.id)"
>收款</el-button >{{ $t('收款') }}</el-button
> >
</template> </template>
</el-table-column> </el-table-column>
......
This diff is collapsed.
...@@ -1021,6 +1021,7 @@ export default { ...@@ -1021,6 +1021,7 @@ export default {
console.log('产品未选择', item) console.log('产品未选择', item)
calcable = false calcable = false
} }
item.brandType = item.brand
}) })
if(this.calculating || !calcable) return false if(this.calculating || !calcable) return false
this.calculating = true this.calculating = true
......
<template> <template>
<div class="add-associated-order"> <div class="add-associated-order">
<h1 class="title">订单号:{{ orderDetails.orderNo }} 选择订单</h1> <h1 class="title">{{$t('订单号')}}{{ orderDetails.orderNo }} {{$t('选择订单')}}</h1>
<el-divider></el-divider> <el-divider></el-divider>
<el-form inline label-width="85px" label-position="left"> <el-form inline label-width="85px" label-position="left">
<el-form-item label="订单号"> <el-form-item :label="$t('订单号')">
<div class="content"> <div class="content">
<el-input v-model.trim="params.relateOrderNo"></el-input> <el-input v-model.trim="params.relateOrderNo"></el-input>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="getUnassociatedOrder">查询</el-button> <el-button @click="getUnassociatedOrder">{{$t('查询')}}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<h1 class="title"> <h1 class="title">
未加入关联订单列表 {{$t('未加入关联订单列表')}}
</h1> </h1>
<el-divider></el-divider> <el-divider></el-divider>
<el-table :data="list" @selection-change="handleSelectionChange"> <el-table :data="list" @selection-change="handleSelectionChange">
...@@ -21,10 +21,10 @@ ...@@ -21,10 +21,10 @@
type="selection" type="selection"
width="55" width="55"
></el-table-column> ></el-table-column>
<el-table-column label="序号" type="index"></el-table-column> <el-table-column :label="$t('序号')" type="index"></el-table-column>
<el-table-column label="订单号" prop="orderNo"></el-table-column> <el-table-column :label="$t('订单号')" prop="orderNo"></el-table-column>
<el-table-column label="唛头" prop="marks"></el-table-column> <el-table-column :label="$t('唛头')" prop="marks"></el-table-column>
<el-table-column label="货物数据"> <el-table-column :label="$t('货物数据')">
<template v-slot="{row}"> <template v-slot="{row}">
<div v-if="row.costVO"> <div v-if="row.costVO">
箱数:{{row.costVO.totalNum}} 箱数:{{row.costVO.totalNum}}
...@@ -33,19 +33,19 @@ ...@@ -33,19 +33,19 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="入仓时间" prop="rucangTime"> <el-table-column :label="$t('入仓时间')" prop="rucangTime">
<template v-slot="{row}"> <template v-slot="{row}">
{{parseTime(row.rucangTime)}} {{parseTime(row.rucangTime)}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="状态"> <el-table-column :label="$t('状态')">
<template v-slot:default="scope"> <template v-slot:default="scope">
<dict-tag :value="scope.row.status" :type="DICT_TYPE.ORDER_STATUS"></dict-tag> <dict-tag :value="scope.row.status" :type="DICT_TYPE.ORDER_STATUS"></dict-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('操作')">
<template v-slot:default="scope"> <template v-slot:default="scope">
<el-button type="text" size="mini" @click="joinAssociation(scope.row.orderId)">加入关联</el-button> <el-button type="text" size="mini" @click="joinAssociation(scope.row.orderId)">{{$t('加入关联')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -55,10 +55,10 @@ ...@@ -55,10 +55,10 @@
<el-col> <el-col>
<el-button type="primary" @click="batchJoin(multipleSelection.map(e => e.orderId))" <el-button type="primary" @click="batchJoin(multipleSelection.map(e => e.orderId))"
:disabled="multipleSelection.length === 0"> :disabled="multipleSelection.length === 0">
批量加入关联 {{$t('批量加入关联')}}
</el-button> </el-button>
<el-button @click="$router.push('/order/associated-order/'+ orderId);"> <el-button @click="$router.push('/order/associated-order/'+ orderId);">
取消 {{$t('取消')}}
</el-button> </el-button>
</el-col> </el-col>
</el-row> </el-row>
...@@ -120,7 +120,7 @@ export default { ...@@ -120,7 +120,7 @@ export default {
}, },
operation(r) { operation(r) {
if (r.code === 0) { if (r.code === 0) {
this.$message.success('操作成功') this.$message.success(this.$t('操作成功'))
this.getUnassociatedOrder(); this.getUnassociatedOrder();
} }
}, },
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<el-dialog <el-dialog
:title="title + ' - ' + warehousing.orderNo" :title="title + ' - ' + warehousing.orderNo"
:visible.sync="opened" :visible.sync="opened"
width="1080px" width="1280px"
> >
<el-tabs v-model="activeName" type="card" @tab-click="handleTabs"> <el-tabs v-model="activeName" type="card" @tab-click="handleTabs">
<el-tab-pane :label="edit ? '货物修改' : '货物入仓'" name="first"> <el-tab-pane :label="edit ? '货物修改' : '货物入仓'" name="first">
...@@ -73,6 +73,9 @@ ...@@ -73,6 +73,9 @@
:data="tableData" :data="tableData"
style="width: 100%"> style="width: 100%">
<el-table-column label="箱数" width="150px"> <el-table-column label="箱数" width="150px">
<template v-slot:header>
<span style="color: red">*</span> 箱数
</template>
<template v-slot="{r,c,$index}"> <template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.cartonsNum" :prop="$index + '.cartonsNum'"> <el-form-item :rules="tableFormRules.cartonsNum" :prop="$index + '.cartonsNum'">
<span v-if="tableData[$index].id && !edit"> <span v-if="tableData[$index].id && !edit">
...@@ -86,6 +89,9 @@ ...@@ -86,6 +89,9 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="包装类型" width="100px"> <el-table-column label="包装类型" width="100px">
<template v-slot:header>
<span style="color: red">*</span> 包装类型
</template>
<template v-slot="{r,c,$index}"> <template v-slot="{r,c,$index}">
<el-form-item> <el-form-item>
<span v-if="tableData[$index].id && !edit">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, tableData[$index].unit) }}</span> <span v-if="tableData[$index].id && !edit">{{ getDictDataLabel(DICT_TYPE.ECW_PACKAGING_TYPE, tableData[$index].unit) }}</span>
...@@ -118,22 +124,31 @@ ...@@ -118,22 +124,31 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="体积(m³)"> <el-table-column label="体积(m³)">
<template v-slot:header>
<span style="color: red">*</span> 体积(m³)
</template>
<template v-slot="{r,c,$index}"> <template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.volume" :prop="$index + '.volume'"> <el-form-item :rules="tableFormRules.volume" :prop="$index + '.volume'">
<span v-if="tableData[$index].id && !edit">{{ tableData[$index].volume }}</span> <span v-if="tableData[$index].id && !edit">{{ tableData[$index].volume }}</span>
<el-input v-else v-model.number="tableData[$index].volume" placeholder=""></el-input> <el-input v-else v-model="tableData[$index].volume" placeholder="" type="number"></el-input>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="重量(Kg)"> <el-table-column label="重量(Kg)">
<template v-slot:header>
<span style="color: red">*</span> 重量(Kg)
</template>
<template v-slot="{r,c,$index}"> <template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.weight" :prop="$index + '.weight'"> <el-form-item :rules="tableFormRules.weight" :prop="$index + '.weight'">
<span v-if="tableData[$index].id && !edit">{{ tableData[$index].weight }}</span> <span v-if="tableData[$index].id && !edit">{{ tableData[$index].weight }}</span>
<el-input v-else v-model.number="tableData[$index].weight" placeholder=""></el-input> <el-input v-else v-model="tableData[$index].weight" placeholder="" type="number"></el-input>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="数量" width="130px"> <el-table-column label="数量" width="130px">
<template v-slot:header>
<span style="color: red">*</span> 数量
</template>
<template v-slot="{r,c,$index}"> <template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.quantityAll" :prop="$index + '.quantityAll'"> <el-form-item :rules="tableFormRules.quantityAll" :prop="$index + '.quantityAll'">
<span v-if="tableData[$index].id && !edit">{{ tableData[$index].quantityAll }}</span> <span v-if="tableData[$index].id && !edit">{{ tableData[$index].quantityAll }}</span>
...@@ -400,13 +415,13 @@ export default { ...@@ -400,13 +415,13 @@ export default {
recordMode: undefined recordMode: undefined
}, },
tableFormRules: { tableFormRules: {
cartonsNum: [{required: true, message: this.$t("箱数不能为空"), trigger: "blur"}], cartonsNum: [{required: true, message: this.$t("箱数不能为空"), trigger: "change"}],
boxGauge1: [{required: true, message: this.$t("货物长不能为空"), trigger: "blur"}], boxGauge1: [{required: true, message: this.$t("货物长不能为空"), trigger: "change"}],
boxGauge2: [{required: true, message: this.$t("货物宽不能为空"), trigger: "blur"}], boxGauge2: [{required: true, message: this.$t("货物宽不能为空"), trigger: "change"}],
boxGauge3: [{required: true, message: this.$t("货物高不能为空"), trigger: "blur"}], boxGauge3: [{required: true, message: this.$t("货物高不能为空"), trigger: "change"}],
volume: [{required: true, message: this.$t("体积不能为空"), trigger: "blur"}], volume: [{required: true, message: this.$t("体积不能为空"), trigger: "change"}],
weight: [{required: true, message: this.$t("重量不能为空"), trigger: "blur"}], weight: [{required: true, message: this.$t("重量不能为空"), trigger: "change"}],
quantityAll: [{required: true, message: "数量不能为空", trigger: "blur"}] quantityAll: [{required: true, message: "数量不能为空", trigger: "change"}]
}, },
form1: { form1: {
"brand": "0", "brand": "0",
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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