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

应收款查询bug

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