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,37 +2,28 @@
<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)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</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>
<!-- // 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>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
......@@ -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() {
const {
checkExamineStatus,
checkDealStatus,
customsInfo = {},
} = this.shipmentObj;
const { dcCheckStatus } = customsInfo;
// 退场未处理不能操作
if (
checkExamineStatus === 2 &&
dcCheckStatus === 1 &&
checkDealStatus === 0
) {
return true;
}
return false;
return (type) => {
const {
checkExamineStatus,
checkDealStatus,
customsInfo = {},
} = this.shipmentObj;
const { dcCheckStatus } = customsInfo;
// 状态
if (type === "status") {
// 退场/部分退场 审核通过未处理,禁用
if (
checkExamineStatus === 2 &&
[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) {
let params = {
secId: part.id,
shipmentId: this.shipmentObj.id,
orderId: item.orderId,
};
if (type === "all") {
params.orderItemIdList = item.boxOrderItemList.map(
(data) => data.orderItemId
);
let params = {
secId: part.id,
shipmentId: this.shipmentObj.id,
orderId: item.orderId,
orderItemIdList: item.boxOrderItemList.map(
(data) => data.orderItemId
),
};
createGoods(params).then((res) => {
serviceMsg(res, this).then(() => {
this.queryAllData();
});
});
} else {
params.orderItemIdList = [item.orderItemId];
}
createGoods(params).then((res) => {
serviceMsg(res, this).then(() => {
this.queryAllData();
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)
);
}
}
});
......
This diff is collapsed.
......@@ -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.
This diff is collapsed.
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
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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