Commit 01427304 authored by Administrator's avatar Administrator

Merge branch 'pre-release' into 'jd_dev'

Pre release合并到release分支

See merge request !135
parents f2b79406 c97ff655
This diff is collapsed.
......@@ -35,19 +35,29 @@ export function getReceiptList(data) {
// 获取应收款列表
export function getReceivableList(query) {
let params = {
page: query.page,
rows: query.rows
}
return request({
url: "/ecw/receivable/page",
method: "get",
params: query
method: "post",
params,
data: query
})
}
// 获取应收款总额
export function getReceivableAmount(query) {
let params = {
page: query.page,
rows: query.rows
}
return request({
url: "/ecw/receivable/page/amount",
method: "get",
params: query
method: "post",
params,
data: query
})
}
......@@ -285,10 +295,15 @@ export function deletePayable(id) {
// 获取应付款列表
export function getPayableList(query) {
let params = {
page: query.page,
rows: query.rows
}
return request({
url: "/ecw/payable/page",
method: "get",
params: query
method: "post",
params,
data: query
})
}
......@@ -328,10 +343,15 @@ export function commissionPayment(data) {
// 获取付款单列表
export function getPaymentList(query) {
let params = {
page: query.page,
rows: query.rows
}
return request({
url: "/ecw/payment/page",
method: "get",
params: query
method: "post",
params,
data: query
})
}
......@@ -439,20 +459,32 @@ export function paymentVerifyCancel(data) {
}
//获取佣金应付款
export function payablePage(params) {
export function payablePage(query) {
let params = {
page: query.page,
rows: query.rows
}
return request({
url: "/ecw/commission-payable/page",
method: "get",
params
method: "post",
params,
data: query
})
}
//获取佣金付款单
export function commissionPaymentPage(params) {
export function commissionPaymentPage(query) {
let params = {
page: query.page,
rows: query.rows
}
return request({
url: "/ecw/commission-payment/page",
method: "get",
params
method: "post",
params,
data: query
})
}
......@@ -929,3 +961,31 @@ export function loadReceivablePage(data) {
params
})
}
//应收报表列表
export function loadStatementsReceivableList(data) {
let params = {
page: data.page,
rows: data.rows
}
return request({
url: "/ecw/receivable/box/report",
method: "post",
data,
params
})
}
//应收报表列表-自编号的订单费用汇总
export function loadSelfNoSummaryList(data) {
let params = {
page: data.page,
rows: data.rows
}
return request({
url: "/ecw/orderCount/containerNumber/orderSummary/new",
method: "post",
data,
params
})
}
......@@ -4838,5 +4838,43 @@
"开票税率": "Tax rate of billing",
"汇率有效期": "Validity period of exchange rate",
"收款明细税率": "Collection details tax rate",
"请输入收款明细税率": "Please enter the tax rate of the collection details"
"请输入收款明细税率": "Please enter the tax rate of the collection details",
"财务结算": "financial settlement",
"应收款(Accounts receivable)": "Accounts receivable",
"汇总 Total": "Total",
"结算币种 settlement currency": "settlement currency",
"应收款明细 RECEIVABLE DEATAILS": "RECEIVABLE DEATAILS",
"额外费用(副币种) EXTRAL FEE": " EXTRAL FEE(Vice currency)",
"目的国实收": "Actual receipt in the destination country",
"应收款明细": "Details of receivables",
"应收款-原币": "Receivables - original currency",
"始发国实收": "Received in the country of origin",
"未收款明细": "No payment details",
"应收款": "account receivable",
"额外费用(副币种)": "EXTRAL FEE(Vice currency)",
"筛选合计信息:": "Filter total information:",
"未收款明细 Accounts receivable": "Accounts receivable",
"订单时间类型": "Order time type",
"是否泡货": "Whether to bubble or not",
"折后总金额": "Total discounted amount:",
"折扣金额": "discount amount",
"未收总金额": "Total amount not received:",
"折后应收金额": "Discounted amount receivable",
"已收金额": "amount received",
"未收金额": "Amount not received",
"应收": "receivable",
"批量处理成功": "Batch processing is successful",
"批量处理失败": "Batch processing failed",
"请选择需要批量操作的任务。": "Select the task that you want to batch.",
"批量通过": "Pass in batches",
"批量不通过": "Batch does not pass",
"审批意见不能为空。": "The approval opinion cannot be empty.",
"请输入审批意见": "Please enter the approval opinion",
"审批意见": "approval opinion",
"结算币种金额合计": "Total amount of settlement currency",
"实收金额合计": "Total amount received",
"收款账号": "shroff account number",
"结算币种": "settlement currency",
"汇总": "total",
"实收金额汇总": "Summary of amount received"
}
......@@ -285,7 +285,9 @@ export const DICT_TYPE = {
RECEIPT_GENERATE_PATH: "receipt_generate_path", //收款单生成路径
RECEIPT_LINK: "receipt_link", //应收款日志环节
ECW_INCOME_RELATION_SYMBOL: "income_relation_symbol", //银行收支明细查询关系符号
LADING_BILL_STATUS_DATA: "lading_Bill_Status_Data"
LADING_BILL_STATUS_DATA: "lading_Bill_Status_Data", //提单制作
ATTRIBUTION_OF_INCOME: "attribution_of_income", //收入归属
PICKUP_RATE_COMPARISON_SYMBOLS: "pickup_rate_comparison_symbols" //提货率比较符号
}
/**
......
......@@ -43,9 +43,11 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('收入归属')" prop="baIncomeBelong">
<el-select v-model="queryParams.baIncomeBelong" :placeholder="$t('请选择')" clearable>
<dict-selector :type="DICT_TYPE.ATTRIBUTION_OF_INCOME" v-model="queryParams.baIncomeBelong" clearable></dict-selector>
<!-- <el-select v-model="queryParams.baIncomeBelong" :placeholder="$t('请选择')" clearable>
<el-option v-for="countryItem in countryList" :key="countryItem.id" :label="$l(countryItem, 'title')" :value="countryItem.id" />
</el-select>
</el-select> -->
</el-form-item>
<el-form-item :label="$t('币种')" prop="baCurrency">
<el-select v-model="queryParams.baCurrency" :placeholder="$t('请选择')" clearable>
......@@ -77,8 +79,8 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column :label="$t('银行账号编号')" align="center" prop="id" />
<el-table-column :label="$t('户名')" align="center" prop="baAccountName" />
<el-table-column :label="$t('银行账号编号')" fixed="left" align="center" prop="id" />
<el-table-column :label="$t('户名')" fixed="left" align="center" prop="baAccountName" />
<el-table-column :label="$t('开户银行')" align="center" prop="baBankName" />
<el-table-column :label="$t('银行账号')" align="center" prop="baAccountNum" />
<el-table-column :label="$t('银行代码')" align="center" prop="baSwiftCode" />
......@@ -89,7 +91,11 @@
<dict-tag :type="DICT_TYPE.ECW_BANK_TYPE" :value="scope.row.baType" />
</template>
</el-table-column>
<el-table-column :label="$t('收入归属')" align="center" :prop="$l('baIncomeBelong')" />
<el-table-column :label="$t('收入归属')" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ATTRIBUTION_OF_INCOME" :value="scope.row.baIncomeBelong" />
</template>
</el-table-column>
<el-table-column :label="$t('币种')" align="center" prop="baCurrency">
<template slot-scope="scope">
{{ $l(getCurrencyData(scope.row.baCurrency), "title") }}
......@@ -113,10 +119,13 @@
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('操作')" fixed="right" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['ecw:bank-account:update']">{{ $t("修改") }}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['ecw:bank-account:delete']">{{ $t("删除") }}</el-button>
<el-button size="mini" type="text" @click="$router.push({ path: '/financial/bankAccount/bankBalanceDetails', query: { platformAccountIds: scope.row.id } })">{{ $t("收支明细") }}</el-button>
<!-- /financial/bankAccount/bankBalanceDetails -->
</template>
</el-table-column>
</el-table>
......@@ -155,9 +164,10 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('收入归属')" prop="baIncomeBelong">
<el-select v-model="form.baIncomeBelong" :placeholder="$t('请选择收入归属')" clearable>
<dict-selector :type="DICT_TYPE.ATTRIBUTION_OF_INCOME" formatter="number" v-model="form.baIncomeBelong" clearable></dict-selector>
<!-- <el-select v-model="form.baIncomeBelong" :placeholder="$t('请选择收入归属')" clearable>
<el-option v-for="countryItem in countryList" :key="countryItem.id" :label="$l(countryItem, 'title')" :value="countryItem.id" />
</el-select>
</el-select> -->
</el-form-item>
<el-form-item :label="$t('余额')" prop="baBalance">
<el-input v-model="form.baBalance" :placeholder="$t('请输入开户银行地址')" />
......@@ -208,7 +218,7 @@ export default {
// 导出遮罩层
exportLoading: false,
// 显示搜索条件
showSearch: true,
showSearch: false,
// 总条数
total: 0,
// 银行账户列表
......
......@@ -47,7 +47,9 @@
</el-table-column>
<el-table-column :label="$t('箱数')" align="center" prop="sumNum">
<template slot-scope="scope">
{{ scope.row.sumNum }}<span v-if="scope.row.mixStatus === 1">{{$t('混箱')}}</span>
<el-link type="primary" @click.native="showWarehouseLogs(scope.row)">
{{ scope.row.sumNum }}<span v-if="scope.row.mixStatus === 1">{{$t('混箱')}}</span>
</el-link>
</template>
</el-table-column>
<el-table-column :label="$t('纸箱尺寸')" align="center">
......@@ -82,19 +84,30 @@
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.rows" @pagination="getList" />
</el-row>
</el-row>
<warehouse-detail :order="order" :orderItemId="showWarehouseInItemId" v-if="showWarehouseInItemId" @close="showWarehouseInItemId=null" />
<realated-order :orderItemId="showRelatedItemId" v-if="showRelatedItemId" @close="showRelatedItemId=null"></realated-order>
</div>
</template>
<script>
import { getUnPkgPage, createPkgOrder, createBatchPkgOrder } from '@/api/ecw/boxAir'
import { getUnPkgPage, createPkgOrder, createBatchPkgOrder, getOrderTagList } from '@/api/ecw/boxAir'
import { formatDate, serviceMsg } from '../../utils'
import WarehouseDetail from "./warehouseDetail.vue";
import RealatedOrder from "../../../shippingSea/nodePage/tally/realatedOrder.vue";
import {getOrder} from "@/api/ecw/order";
export default {
components: {
WarehouseDetail,
RealatedOrder,
},
props: {
pkgData: Object,
shipmentObj: Object,
},
data() {
return {
showWarehouseInItemId: null,
showRelatedItemId: null,
pagList: [],
// 查询参数
queryParams: {
......@@ -113,7 +126,11 @@ export default {
methods: {
getList() {
getUnPkgPage(this.queryParams).then((res) => {
let list = [];
this.pagList = res.data.list || []
res.data.forEach((item) => {
})
this.total = res.data.total
})
},
......@@ -136,6 +153,17 @@ export default {
})
return data.toString()
},
// 显示入仓记录
showWarehouseLogs(row) {
getOrder(row.orderId).then((response) => {
this.order = response.data;
this.showWarehouseInItemId = row.orderId;
});
},
// 显示关联单
showRelatedOrder(row) {
this.showRelatedItemId = row.orderId
},
addPkg(row) {
let data = {
pkgId: this.pkgData.id,
......
<template>
<!-- 订单获取入仓记录 -->
<el-dialog title="入仓记录" visible :before-close="closeDialog" :close-on-click-modal="false" width="95%" append-to-body>
<el-table :data="warehouseItem">
<el-table-column type="index" :label="$t('序号')" />
<el-table-column :label="$t('箱数')" prop="cartonsNum">
<template slot-scope="{row}">
<template v-if="row.orderWarehouseInDetailsVOList && row.orderWarehouseInDetailsVOList.length">
<WarehouseRecordDetail v-model="row.orderWarehouseInDetailsVOList" :num="row.cartonsNum" text readonly />
</template>
<template v-else>{{ row.cartonsNum }}</template>
</template>
</el-table-column>
<el-table-column :label="$t('入仓类型')" prop="cartonsNum">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE" :value="row.specificationType" />
</template>
</el-table-column>
<el-table-column :label="$t('包装类型')" prop="unit">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="row.unit" />
</template>
</el-table-column>
<el-table-column :label="$t('长')" prop="boxGauge">
<template slot-scope="{row}">
{{row.boxGauge && row.boxGauge.split('*')[0]}}
</template>
</el-table-column>
<el-table-column :label="$t('宽')" prop="boxGauge">
<template slot-scope="{row}">
{{row.boxGauge && row.boxGauge.split('*')[1]}}
</template>
</el-table-column>
<el-table-column :label="$t('高')" prop="boxGauge">
<template slot-scope="{row}">
{{row.boxGauge && row.boxGauge.split('*')[2]}}
</template>
</el-table-column>
<el-table-column :label="$t('体积') + '(m³)'" prop="volume" />
<el-table-column :label="$t('重量') + '(kg)'" prop="weight" />
<el-table-column :label="$t('数量(个)')" prop="quantityAll" />
<el-table-column :label="$t('快递单号')" prop="expressNo" />
<el-table-column :label="$t('储位')" align="center" prop="positionNo" width="250px">
<template slot-scope="{row}">{{row.orderLocationBackVOList && row.orderLocationBackVOList.map(e => (e.areaName + (e.locationName === null ? '' : e.locationName))).join(',')}}</template>
</el-table-column>
<el-table-column :label="$t('首次入仓时间')" prop="inTime">
<template slot-scope="{row}">{{row.inTime|parseTime}}</template>
</el-table-column>
</el-table>
</el-dialog>
</template>
<script>
import { getOrder, getOrderWarehouseIn } from "@/api/ecw/order";
import WarehouseRecordDetail from '@/views/ecw/order/warehousing/components/WarehouseRecordDetail.vue'
import { parseTime } from "@/utils/ruoyi";
export default {
filters: { parseTime },
components: {
WarehouseRecordDetail
},
props: {
order: Object, // order 和 orderId 二选一
orderId: Number,
orderItemId: Number,
},
data() {
return {
orderDetail: null,
warehouseList: null,
};
},
computed: {
info() {
return this.orderDetail || this.order;
},
orderItem() {
if (!this.info) return null;
return this.info.orderItemVOList.find(
(item) => item.orderItemId == this.orderItemId
);
},
warehouseItem() {
if (!this.warehouseList) return [];
let dataList = []
this.warehouseList.map(
(item) => {
return item.orderWarehouseInBackItemDoList.map(v => {
dataList.push({...v})
})
}
)
console.log('dataList', dataList)
return dataList
},
title() {
if (!this.orderItem) return "-";
return this.$l(this.orderItem, "prodTitle") + " - " + this.$t("入仓记录");
}
},
created() {
this.show = true;
if (!this.order && this.orderId) {
getOrder(this.orderId).then((res) => {
this.orderDetail = res.data;
});
}
this.getOrderWarehouseIn();
},
methods: {
closeDialog() {
this.show = false;
this.$emit("close");
},
getOrderWarehouseIn() {
getOrderWarehouseIn(this.info.orderId).then((res) => {
this.warehouseList = res.data;
});
},
},
};
</script>
......@@ -44,7 +44,7 @@
</div>
<div class="table-box">
<el-table v-loading="loading" :data="list" border>
<el-table-column type="index" :index="indexMethod" />
<el-table-column type="index" :index="indexMethod" :label="$t('序号')" />
<el-table-column :label="$t('开户银行')" width="160" align="center" prop="accountBankName"> </el-table-column>
<el-table-column :label="$t('支/收')" width="160" align="center">
<template slot-scope="scope">
......@@ -114,6 +114,10 @@ export default {
}
},
async created() {
if (this.$route.query.platformAccountIds != null) {
this.queryParams.platformAccountIds = [this.$route.query.platformAccountIds * 1]
}
const { data } = await getBankAccountPage({ pageNo: 1, pageSize: 1000 })
this.bankData = data.list
this.handleQuery()
......@@ -123,7 +127,7 @@ export default {
},
methods: {
goBankReceiptDetailsList(row) {
this.$router.push({ path: "/financial/BankReceiptDetails", query: { receiptNo: row.receiptNo } })
this.$router.push({ path: "/financial/bankAccount/BankReceiptDetails", query: { receiptNo: row.receiptNo } })
},
indexMethod(index) {
return index * this.queryParams.pageNo + 1
......
......@@ -362,11 +362,22 @@ export default {
})
getChannelList().then((res) => (this.channelList = res.data))
this.init()
const orderNo = this.$route.query.orderNo || ""
if (orderNo) {
this.queryParams.orderNo = orderNo
}
this.handleQuery()
},
activated() {
const orderNo = this.$route.query.orderNo || ""
if (orderNo) {
this.queryParams.orderNo = orderNo
}
this.handleQuery()
},
methods: {
goBankReceiptDetailsList(row) {
this.$router.push({ path: "/financial/BankReceiptDetails", query: { receiptNo: row.receiptNo } })
this.$router.push({ path: "/financial/bankAccount/BankReceiptDetails", query: { receiptNo: row.receiptNo } })
},
getChannelName(channelId) {
const channel = this.channelList.filter((item) => item.channelId == channelId)
......
......@@ -26,7 +26,7 @@
<user-selector style="width: 260px" multiple manage v-model="formQuery.salesmanIds" clearable :placeholder="$t('请选择')" />
</el-form-item>
<el-form-item :label="$t('客户') + ':'" style="margin-bottom: 0; margin-top: 20px" label-width="100px" prop="customerName">
<el-input style="width: 260px" v-model="formQuery.customerName" :placeholder="$t('输入客户')"> ></el-input>
<el-input style="width: 260px" v-model="formQuery.customerName" :placeholder="$t('输入客户')"> ></el-input>
</el-form-item>
<el-form-item :label="$t('提交时间') + ':'" style="margin-bottom: 0; margin-top: 20px" label-width="100px" prop="endTimeData">
<el-date-picker v-model="formQuery.endTimeData" type="datetimerange" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')"></el-date-picker>
......
......@@ -6,7 +6,7 @@
<el-form-item :label="$t('流水号')">{{ bankReceiptDetails.serialNumber }}</el-form-item>
<el-form-item :label="$t('收款单号')">{{ bankReceiptDetails.receiptNo }}</el-form-item>
<el-form-item :label="$t('剩余应收金额')">
<span> {{ bankReceiptDetails.syValue }} </span>
<span>{{ getCurrencySymbol(bankReceiptDetails.writeOffCurrencyId) }} {{ bankReceiptDetails.syValue }} </span>
</el-form-item>
<el-form-item
:label="$t('收款账户')"
......@@ -455,7 +455,7 @@ export default {
}
}
}
this.$set(this.bankReceiptDetails, "writeOffAmount", Math.round(NP.times(this.bankReceiptDetails.rate || 0, this.bankReceiptDetails.amount || 0)), 2)
this.$set(this.bankReceiptDetails, "writeOffAmount", NP.round(NP.times(this.bankReceiptDetails.rate || 0, this.bankReceiptDetails.amount || 0), 2))
//已填写核销金额
this.$set(this.bankReceiptDetails, "currentWriteOffAmount", 0)
// 剩余核销金额
......
......@@ -124,18 +124,6 @@
</template>
</el-table-column>
</el-table>
<!-- <el-descriptions :column="2" border class="card">
<el-descriptions-item > -->
<!-- <el-form-item :label="$t('核销基准币种') + ':'" style="margin-bottom: 0; margin-top: 20px">
{{ getCurrencyLabel(showCurrencyId) }}
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="showCurrencyId" />
</el-form-item> -->
<!-- </el-descriptions-item>
<el-descriptions-item :label="$t('核销基准币种')">
</el-descriptions-item>
</el-descriptions> -->
</el-card>
<el-card class="card">
......@@ -371,11 +359,7 @@
</el-descriptions>
</el-card>
</el-form>
<!-- <div slot="footer" style="margin: 20px 0">
<el-button v-if="id==0||form.state==0" type="primary" :loading="saveBtnLoading" @click="submitForm(1)">{{ $t('保存草稿') }}</el-button>
<el-button v-else type="primary" :loading="saveBtnLoading" @click="$store.dispatch('tagsView/delCurrentView')">{{ $t('返回') }}</el-button>
<el-button type="primary" :loading="saveBtnLoading" @click="submitForm(0)">{{ id&&form.state!=0 ? $t('修改') : $t('新增收款单') }}</el-button>
</div> -->
<div slot="header" class="bpm-title">{{ $t("审核流程") }}</div>
<work-flow xmlkey="merge_order" v-model="form.copyUserList"></work-flow>
......@@ -383,9 +367,8 @@
<el-button type="primary" @click="submitForm(0)" v-hasPermi="['ecw:voucher:create:sumbit']">{{ $t("提交申请") }}</el-button>
<el-button v-if="id == 0 || form.state == 0" type="primary" :loading="saveBtnLoading" v-hasPermi="['ecw:voucher:create:save']" @click="submitForm(1)">{{ $t("保存草稿") }}</el-button>
<el-button v-if="orderData.inWarehouseState == 207" type="primary" v-hasPermi="['ecw:voucher:create:see']" @click="$router.push(`/bpm/process-instance/detail?id=` + orderApprovalBackVO.applyingFormId)">{{ $t("审核中") }}</el-button>
<!-- <el-button v-if="orderData.inWarehouseState==207" plain type="primary" @click="dialogVisible = true">{{$t('取消审核')}}</el-button> -->
<el-button plain type="primary" @click="$store.dispatch('tagsView/delCurrentView')">{{ $t("返回") }}</el-button>
<!-- <el-button type="primary" :loading="saveBtnLoading" @click="submitForm(0)">{{ id&&form.state!=0 ? $t('修改') : $t('新增收款单') }}</el-button> -->
</div>
<!-- 添加应收明细的弹窗 -->
......@@ -1151,7 +1134,8 @@ export default {
discountTotal: discountDollar,
currencyId: item.id,
receivableAmount: NP.round(dollar, 2),
writeOffRate: item.id == this.showCurrencyId ? 1 : this.getRate(item.id, this.showCurrencyId),
writeOffRate: item.id == this.showCurrencyId ? 1 : dollarList[0].exchangeRate,
// this.getRate(item.id, this.showCurrencyId),
platformAccountId: t?.platformAccountId || "",
collectionCurrencyId: item.id,
collectionRate: 1
......@@ -1174,40 +1158,6 @@ export default {
this.form.receivableTotalAmount = totalt.toFixed(2)
}
// receiptAccountList: [
// { currencyId: 1, receivableAmount: 0, writeOffRate: 1, writeOffAmount: 999, platformAccountId: '', currencyId: '', rate: 1, collectionAmount: 0 },
// { currencyId: 2, receivableAmount: 0, writeOffRate: 1, writeOffAmount: 999, platformAccountId: '', currencyId: '', rate: 1, collectionAmount: 0 },
// { currencyId: 3, receivableAmount: 0, writeOffRate: 1, writeOffAmount: 999, platformAccountId: '', currencyId: '', rate: 1, collectionAmount: 0 },
// ]
if (this.showCurrencyId === 1) {
// 美元
// const usCount = NP.plus(dollar, NP.times(this.RMBtoUS(), rmb), NP.times(this.NANtoUS(), naira))
// this.form.receivableDetailList[0].rate = 1
// this.form.receivableDetailList[0].amount = usCount
// this.form.receivableDetailList[1].rate || (this.form.receivableDetailList[1].rate = this.UStoRMB())
// this.form.receivableDetailList[2].rate || (this.form.receivableDetailList[2].rate = this.UStoNAN())
// this.form.receivableTotalAmount = usCount
// this.calculationCount(usCount)
} else if (this.showCurrencyId === 2) {
// 人民币
// const rmbCount = NP.plus(rmb, NP.times(this.UStoRMB(), dollar), NP.times(this.NANtoRMB(), naira))
// this.form.receivableDetailList[1].rate = 1
// this.form.receivableDetailList[1].amount = usCount
// this.form.receivableDetailList[0].rate || (this.form.receivableDetailList[0].rate = this.RMBtoUS())
// this.form.receivableDetailList[2].rate || (this.form.receivableDetailList[2].rate = this.RMBtoNAN())
// this.form.receivableTotalAmount = rmbCount
// this.calculationCount(rmbCount)
} else if (this.showCurrencyId === 3) {
// 奈拉
// const nairaCount = NP.plus(naira, NP.times(this.UStoNAN(), dollar), NP.times(this.RMBtoNAN(), rmb))
// this.form.receivableDetailList[2].rate = 1
// this.form.receivableDetailList[2].amount = nairaCount
// this.form.receivableDetailList[0].rate || (this.form.receivableDetailList[0].rate = this.NANtoUS())
// this.form.receivableDetailList[1].rate || (this.form.receivableDetailList[1].rate = this.NANtoRMB())
// this.form.receivableTotalAmount = nairaCount
// this.calculationCount(nairaCount)
}
this.$set(this.form, "receiptAccountList", [...this.form.receiptAccountList])
},
......
......@@ -143,7 +143,7 @@ export default {
},
methods: {
handleInvoiceOperate({ id, key }) {
this.$router.push("invoiceOperate?id=" + id + "&key=" + key)
this.$router.push("/financial/invoiceOperate?id=" + id + "&key=" + key)
},
async getInvoiceList() {
this.loading = true
......
......@@ -652,7 +652,7 @@ export default {
message: this.$t("成功"),
type: "success"
})
this.$router.push({ path: "/financial/voucher" })
this.$router.push({ path: "/financial/receivable/voucher" })
}
})
})
......
This diff is collapsed.
This diff is collapsed.
......@@ -225,7 +225,9 @@
<el-descriptions-item :label="$t('账单汇率有效期')">
{{ parseTime(form.rateValidateDate) }}
</el-descriptions-item>
<el-descriptions-item :label="$t('核销误差兑额外费用主币种金额')"> </el-descriptions-item>
<el-descriptions-item :label="$t('核销误差兑额外费用主币种金额')">
{{ form.writeOffDiffMainCurrency }}
</el-descriptions-item>
</el-descriptions>
</el-card>
......@@ -270,12 +272,12 @@
<el-table-column :label="$t('审核通过时间')" align="center" prop="approvalTime"> </el-table-column>
<el-table-column :label="$t('操作')" align="center" width="200">
<template slot-scope="scope">
<el-button v-if="scope.row.status == 0" v-hasPermi="['ecw:payment:detail:delete']" type="text" @click="deleteClick(scope.row)">{{ $t("删除") }}</el-button>
<el-button v-if="scope.row.status == 0" type="text" @click="detailClick(scope.row)" v-hasPermi="['ecw:payment:detail:detail']">{{ $t("详情") }}</el-button>
<el-button v-if="scope.row.status == 0 || scope.row.status == 4" v-hasPermi="['ecw:payment:detail:delete']" type="text" @click="deleteClick(scope.row)">{{ $t("删除") }}</el-button>
<el-button v-if="scope.row.status == 0 || scope.row.status == 4" type="text" @click="detailClick(scope.row)" v-hasPermi="['ecw:payment:detail:detail']">{{ $t("详情") }}</el-button>
<!--核销 提交 lanbm 2024-05-29 -->
<el-button v-if="scope.row.status == 0" type="text" @click="$router.push(`bankDetail?id=` + id + `&bankId=` + scope.row.id)" v-hasPermi="['ecw:payment:detail:writeOff']">{{ $t("提交") }}</el-button>
<el-button v-if="scope.row.status == 0 || scope.row.status == 4" type="text" @click="$router.push(`bankDetail?id=` + id + `&bankId=` + scope.row.id)" v-hasPermi="['ecw:payment:detail:writeOff']">{{ $t("提交") }}</el-button>
<el-button v-if="scope.row.status == 1" type="text" @click="showCancel(scope.$index)" v-hasPermi="['ecw:payment:detail:cancelWriteOff']">{{ $t("反核销") }}</el-button>
<el-button v-if="scope.row.status == 0" type="text" @click="editClick(scope.row)" v-hasPermi="['ecw:payment:detail:bankEdit']">{{ $t("编辑") }}</el-button>
<el-button v-if="scope.row.status == 0 || scope.row.status == 4" type="text" @click="editClick(scope.row)" v-hasPermi="['ecw:payment:detail:bankEdit']">{{ $t("编辑") }}</el-button>
<el-button v-if="scope.row.status == 2" type="text" @click="cancelClick(scope.$index, 1)" v-hasPermi="['ecw:payment:detail:cancelDetailApproval']">{{ $t("取消审核") }}</el-button>
<el-button v-if="scope.row.status == 3" type="text" @click="cancelClick(scope.$index, 2)" v-hasPermi="['ecw:payment:detail:cancelWriteOffNo']">{{ $t("取消反核销审核") }}</el-button>
<el-button v-if="scope.row.status == 3 || scope.row.status == 2" type="text" @click="$router.push(`/bpm/process-instance/detail?id=` + scope.row.bmpId)" v-hasPermi="['ecw:payment:detail:approval']">{{ $t("审核详情") }}</el-button>
......@@ -506,12 +508,13 @@
<el-form-item :label="$t('流水号')" v-if="addForm.id">{{ addForm.serialNumber }}</el-form-item>
<el-form-item :label="$t('收款单号')">{{ form.receiptNo }}</el-form-item>
<el-form-item :label="$t('剩余应收金额')">
<template v-if="surplusData.length == 0"> 0 </template>
<template> {{ getCurrencySymbol(showCurrencyId) }}{{ remainingAmountReceived }} </template>
<!-- <template v-if="surplusData.length == 0"> 0 </template>
<div v-else>
<div v-for="(amount, currency) in surplusData" :key="currency">
<span v-if="amount"> {{ amount }}{{ getCurrencyLabel(currency) }}</span>
</div>
</div>
</div> -->
</el-form-item>
<el-form-item
:label="$t('收款账户')"
......@@ -583,7 +586,7 @@
</el-form-item>
<el-form-item v-if="showCurrencyId != addForm.currencyId">
<template slot="label"> {{ $t("兑核销基准币种金额") }}{{ getCurrencyLabel(showCurrencyId) }} </template>
<span>{{ addForm.writeOffAmount ? parseFloat(addForm.writeOffAmount).toFixed(2) : "" }}</span>
<span>{{ addForm.writeOffAmount }}</span>
</el-form-item>
<el-form-item :label="$t('水单附件')" prop="attr">
<el-upload v-if="!isView" class="upload-demo" :action="uploadFileUrl" :headers="headers" :on-success="handleUploadSuccess" :before-upload="handleBeforeUpload" :on-error="handleUploadError" :before-remove="beforeRemove" :file-list="addForm.attr" multiple>
......@@ -896,11 +899,11 @@ export default {
return "XX"
}
},
// 已核销总金额
//实收 已核销总金额
writeOffTotal() {
let total = {}
this.detailed.forEach((item) => {
if (item.status) {
if (item.status == 1 || item.status == 3) {
if (!total[item.currencyId]) {
total[item.currencyId] = item.amount
} else total[item.currencyId] = NP.plus(total[item.currencyId], item.amount)
......@@ -912,7 +915,7 @@ export default {
writeOffAmount() {
let total = 0
this.detailed.forEach((item) => {
if (item.status) {
if (item.status == 1 || item.status == 3) {
total = NP.plus(total, item.writeOffAmount)
}
})
......@@ -930,7 +933,7 @@ export default {
let amountTotal = this.form.receiptAccountList.find((item) => item.type == "total").writeOffAmount
this.detailed.forEach((item) => {
if (item.status) {
if (item.status == 1 || item.status == 3) {
total = NP.plus(total, item.writeOffAmount)
}
})
......@@ -938,6 +941,17 @@ export default {
let portion = NP.divide(total, amountTotal)
if (!portion) return 0
return (portion * 100).toFixed(2)
},
remainingAmountReceived() {
let total = 0
let amountTotal = this.form.receiptAccountList.find((item) => item.type == "total").writeOffAmount
this.detailed.forEach((item) => {
if (item.status != 0 || item.status != 4) {
total = NP.plus(total, item.writeOffAmount)
}
})
return NP.minus(amountTotal, total)
}
},
watch: {
......@@ -1159,13 +1173,6 @@ export default {
// 已填写核销金额
this.addForm.currentWriteOffAmount = NP.minus(this.addForm.writeOffAmount, writeOffAmount)
},
//银行收款明细基准金额
// addFormCurrentWriteOffAmount(writeOffAmount) {
// this.addForm.currentWriteOffAmount = NP.round(writeOffAmount, 2)
// console.log("8888", this.addForm.currentWriteOffAmount)
// return this.addForm.currentWriteOffAmount
// },
//根据ID 获取收款单应收明细列表信息
async getReceiptItemList() {
await getInvoicingItem({ id: this.$route.query.id }).then((res) => {
this.list = [...res.data]
......@@ -1269,7 +1276,7 @@ export default {
}
}
}
this.$set(this.addForm, "writeOffAmount", Math.round(NP.times(this.addForm.rate || 0, this.addForm.amount || 0)), 2)
this.$set(this.addForm, "writeOffAmount", NP.round(NP.times(this.addForm.rate || 0, this.addForm.amount || 0), 2))
//已填写核销金额
this.$set(this.addForm, "currentWriteOffAmount", 0)
// 剩余核销金额
......@@ -1511,7 +1518,7 @@ export default {
}
})
if (this.addForm.remainingWriteOffAmount != 0) {
this.$modal.msgError(this.$t(`未填写核销金额>0 ,请检查`))
this.$modal.msgError(this.$t(`未填写核销金额不为0 ,请检查`))
throw new Error("Exit loop")
}
if (totalInput > this.addForm.writeOffAmount) {
......@@ -1688,6 +1695,9 @@ export default {
this.currentReceiptItemId = null
loadBankReceiptItemList({ receiptId: this.$route.query.id }).then((res) => {
this.bankReceiptItemList = res.data
this.bankReceiptItemList.forEach((item) => {
item.writeOffAmount = 0
})
this.addForm = {}
this.openAddDialog = true
......
......@@ -10,80 +10,75 @@
<!-- 搜索工作栏 -->
<el-card v-show="showSearch">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="80px" class="card">
<el-row>
<el-form-item :label="$t('始发地')">
<el-select v-model="queryParams.departureId" :placeholder="$t('请选择始发地')" clearable>
<el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的地')">
<el-select v-model="queryParams.objectiveId" :placeholder="$t('请选择目的地')" clearable>
<el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('运输方式')">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportId" formatter="number" clearable />
</el-form-item>
<el-form-item :label="$t('控货')">
<dict-selector :type="DICT_TYPE.INFRA_BOOLEAN_STRING" v-model="queryParams.isCargoControl" clearable />
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('订单状态')">
<dict-selector :type="DICT_TYPE.ORDER_STATUS" v-model="queryParams.status" clearable />
</el-form-item>
<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="$t('订单号')">
<el-input style="max-width: 188px" v-model="queryParams.orderNo" :placeholder="$t('请输入订单编号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('品名')">
<el-input style="max-width: 188px" v-model="queryParams.title" :placeholder="$t('请输入品名')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('提单号')">
<el-input style="max-width: 188px" v-model="queryParams.tidanNo" :placeholder="$t('请输入提单号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('唛头')">
<el-input style="max-width: 188px" v-model="queryParams.marks" :placeholder="$t('请输入唛头')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<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="$t('发货人')">
<el-form-item :label="$t('始发地')">
<el-select class="custom-form-item" v-model="queryParams.departureIdList" multiple :placeholder="$t('请选择始发地')" clearable>
<el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的地')">
<el-select class="custom-form-item" v-model="queryParams.objectiveIdList" multiple :placeholder="$t('请选择目的地')" clearable>
<el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('运输方式')">
<dict-selector class="custom-form-item" :type="DICT_TYPE.ECW_TRANSPORT_TYPE" multiple v-model="queryParams.transportIdList" formatter="number" clearable />
</el-form-item>
<el-form-item :label="$t('控货')">
<dict-selector class="custom-form-item" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" v-model="queryParams.isCargoControl" clearable />
</el-form-item>
<el-form-item :label="$t('订单状态')">
<dict-selector class="custom-form-item" :type="DICT_TYPE.ORDER_STATUS" multiple v-model="queryParams.statusList" clearable />
</el-form-item>
<el-form-item :label="$t('报关方式')">
<dict-selector class="custom-form-item" :type="DICT_TYPE.ECW_CUSTOMS_TYPE" multiple v-model="queryParams.customsTypeList" clearable />
</el-form-item>
<el-form-item :label="$t('订单号')">
<el-input class="custom-form-item" v-model="queryParams.orderNo" :placeholder="$t('请输入订单编号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('品名')">
<el-input class="custom-form-item" v-model="queryParams.title" :placeholder="$t('请输入品名')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('提单号')">
<el-input class="custom-form-item" v-model="queryParams.tidanNo" :placeholder="$t('请输入提单号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('唛头')">
<el-input class="custom-form-item" v-model="queryParams.marks" :placeholder="$t('请输入唛头')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('费用类型')">
<dict-selector class="custom-form-item" :type="DICT_TYPE.FEE_TYPE" multiple v-model="queryParams.feeTypeList" clearable></dict-selector>
</el-form-item>
<!-- <el-form-item :label="$t('发货人')">
<customer-selector
v-model="queryParams.consignorNameOrPhone"
@change="consignor = $event"
clearable
/>
</el-form-item> -->
<el-form-item label="发货人:">
<el-input style="max-width: 188px" v-model="queryParams.consignorNameOrPhone" :placeholder="$t('请输入发货人')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('收货人')">
<el-input style="max-width: 188px" v-model="queryParams.consigneeNameOrPhone" :placeholder="$t('请输入收货人')" clearable @keyup.enter.native="handleQuery" />
<!-- <customer-selector
<el-form-item label="发货人:">
<el-input class="custom-form-item" v-model="queryParams.consignorNameOrPhone" :placeholder="$t('请输入发货人')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('收货人')">
<el-input class="custom-form-item" v-model="queryParams.consigneeNameOrPhone" :placeholder="$t('请输入收货人')" clearable @keyup.enter.native="handleQuery" />
<!-- <customer-selector
v-model="queryParams.consigneeNameOrPhone"
@change="consignor = $event"
clearable
/> -->
</el-form-item>
<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="$t('请选择日期')" :end-placeholder="$t('请选择日期')"> </el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</el-form-item>
</el-row>
</el-form-item>
<el-form-item :label="$t('创建时间')">
<!-- <dict-selector :type="DICT_TYPE.BEGINTIME_TYPE_ENDTIME" v-model="queryParams.date"></dict-selector> -->
<el-date-picker placement="bottom-start" v-model="dateType" type="datetimerange" range-separator="-" value-format="yyyy-MM-dd" :start-placeholder="$t('请选择日期')" :end-placeholder="$t('请选择日期')"> </el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</el-form-item>
</el-form>
</el-card>
<div v-loading="loading">
<el-row :gutter="10" class="mb8 pad-t20">
<el-row :gutter="0" class="mb8 pad-t20">
<div class="card-title">
<div class="gird-cell">
<div>{{ $t("合计:") }}</div>
......@@ -255,8 +250,8 @@ export default {
},
/** 新增按钮操作 */
handleAdd(row) {
if (!row) return this.$router.push("creatCollection")
return this.$router.push("creatCollection?orderId=" + row.orderId)
if (!row) return this.$router.push("/financial/creatCollection")
return this.$router.push("/financial/creatCollection?orderId=" + row.orderId)
},
submitForm() {}
}
......@@ -264,6 +259,9 @@ export default {
</script>
<style scoped>
::v-deep .custom-form-item {
width: 200px;
}
.card {
margin-top: 20px;
}
......
This diff is collapsed.
......@@ -9,13 +9,15 @@
<el-input style="max-width: 188px" v-model="queryParams.receiptNo" :placeholder="$t('请输入收款单号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('客户名称')">
<customer-selector v-model="queryParams.customerId" @change="changeCustomerId" clearable />
<el-select multiple :remote-method="customerDropDownFn" remote clearable filterable v-model="queryParams.customerIdList" :placeholder="$t('请输入关键词')">
<el-option v-for="(item, index) in customeList" :key="item.id" :value="item.id" :label="item.name"> </el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('状态')">
<dict-selector :type="DICT_TYPE.ECW_RECEIPT_STATE" v-model="queryParams.state" clearable />
<dict-selector multiple :type="DICT_TYPE.ECW_RECEIPT_STATE" v-model="queryParams.stateList" clearable />
</el-form-item>
<el-form-item :label="$t('业务员')">
<el-select v-model="queryParams.salesmanId" :placeholder="$t('请选择业务员')" clearable>
<el-select multiple v-model="queryParams.salesmanIdList" :placeholder="$t('请选择业务员')" clearable>
<el-option v-for="item in creatorData" :key="item.id" :label="item.nickname" :value="item.id" />
</el-select>
</el-form-item>
......@@ -65,7 +67,7 @@
</template>
</el-table-column>
<!--lanbm 2024-06-06 添加链接-->
<el-table-column :label="$t('收款单号')" fixed="left" align="center" prop="receiptNo">
<el-table-column :label="$t('收款单号')" width="150" fixed="left" align="center" prop="receiptNo">
<template slot-scope="scope">
<span style="color: #1890ff" @click="verificationCancelClick(scope.row)">{{ scope.row.receiptNo }}</span>
</template>
......@@ -254,6 +256,8 @@
</template>
<script>
import { customerDropDownList } from "@/api/ecw/customerCommissionInfo"
import { getCustomerList } from "@/api/ecw/customer"
import { listSimpleUsers } from "@/api/system/user"
import { DICT_TYPE } from "@/utils/dict"
import CustomerSelector from "@/components/CustomerSelector"
......@@ -320,10 +324,15 @@ export default {
dateType: [],
loading: "",
params: {},
customeList: [],
// 查询参数
queryParams: {
page: 1,
rows: 20,
customerIdList: [],
stateList: null,
salesmanIdList: [],
numberNo: null,
dateType: null,
date: null,
originId: null,
......@@ -369,18 +378,35 @@ export default {
}
},
activated() {
this.customerDropDownFn()
const orderNo = this.$route.query.orderNo || ""
if (orderNo) {
this.queryParams.numberNo = orderNo
}
this.getList()
},
computed: {},
created() {
this.customerDropDownFn()
//获取汇率 lanbm 2024-06-06 add
getCurrencyPage(this.params).then((res) => (this.currencyList = res.data.list))
let that = this
listSimpleUsers().then((res) => (that.creatorData = res.data))
const orderNo = this.$route.query.orderNo || ""
if (orderNo) {
this.queryParams.numberNo = orderNo
}
this.getList()
},
methods: {
customerDropDownFn(val) {
customerDropDownList({ pageNo: 1, pageSize: 200, searchKey: val }).then((res) => {
if (res.code === 0) {
this.customeList = res.data.list
}
})
},
continueUpload() {
this.$message.success(this.$t("正在提交,请稍后。"))
this.$refs.upload.handleStart(this.fileCopy.raw)
......@@ -468,7 +494,7 @@ export default {
},
//发票新增/编辑页面
goInvoiceOperate({ id, key }) {
this.$router.push("invoiceOperate?id=" + id + "&key=" + key)
this.$router.push("/financial/invoiceOperate?id=" + id + "&key=" + key)
},
/** 查询列表 */
getList() {
......@@ -509,7 +535,7 @@ export default {
},
verificationCancelClick(row) {
const id = row.id
return this.$router.push("receiptDetail?id=" + id)
return this.$router.push("/financial/receiptDetail?id=" + id)
// this.$modal
// .confirm("您确认要反核销吗?")
// .then(function () {
......@@ -740,13 +766,13 @@ export default {
},
/** 新增按钮操作 */
handleAdd(id) {
return this.$router.push("creatCollection?id=" + id)
return this.$router.push("/financial/creatCollection?id=" + id)
},
toprint(id) {
return this.$router.push("printVoucher?id=" + id)
return this.$router.push("/financial/printVoucher?id=" + id)
},
openInvoice(id) {
return this.$router.push("openInvoice?id=" + id)
return this.$router.push("/financial/openInvoice?id=" + id)
},
exportReceipt(id) {
this.open = true
......
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