Commit 56488a37 authored by 我在何方's avatar 我在何方
parents 11dad35f 8f46d5f4
......@@ -5,10 +5,10 @@ ENV = 'production'
VUE_APP_TITLE = 捷道管理系统
# 捷道管理系统/生产环境
VUE_APP_BASE_API = ''
VUE_APP_BASE_API = 'http://api2.groupage.cn'
# 根据服务器或域名修改
PUBLIC_PATH = 'http://jd.admtest.jdshangmen.com/'
# PUBLIC_PATH = 'http://jd.admtest.jdshangmen.com/'
# 二级部署路径
VUE_APP_APP_NAME =''
......
const fs = require('fs');
const root = "./src"
const savePath = "./i18n-messages.txt"
let allFiles = []
function getFiles(dir){
let files = fs.readdirSync(dir)
files.forEach(file => {
......@@ -14,6 +14,11 @@ function getFiles(dir){
}
getFiles(root)
/* allFiles = [
'src/views/ecw/box/shippingSea/utils.js',
'src/components/bpmnProcessDesigner/package/designer/plugins/content-pad/contentPadProvider.js'
]
console.log(allFiles) */
let messages = new Set()
allFiles.forEach(file => {
let data = fs.readFileSync(file, {encoding: 'utf-8'})
......@@ -25,4 +30,5 @@ allFiles.forEach(file => {
}
})
fs.writeFileSync("./i18n-messages.txt", Array.from(messages).join("\n"))
console.log("done!")
\ No newline at end of file
console.log(messages)
console.warn(`共提取 ${messages.size} 个待翻译内容,保存于${savePath}`)
\ No newline at end of file
......@@ -154,7 +154,7 @@ export function cancelBillService(id) {
export function downloadBillService(params) {
return request({
url: "/shipment/make-bill-of-lading/download",
responseType: "arraybuffer",
responseType: "blob",
method: "get",
params,
});
......@@ -190,7 +190,7 @@ export function getBillService(params) {
export function zipDownload(params) {
return request({
url: "/shipment/make-bill-of-lading/zipDownload",
responseType: "arraybuffer",
responseType: "blob",
method: "get",
params,
});
......@@ -284,7 +284,7 @@ export function downloadCustomFiles(params) {
export function downloadLoadGoodsList(params) {
return request({
url: "/ecw/box-preload-goods/downloadLoadGoodsList",
responseType: "arraybuffer",
responseType: "blob",
method: "get",
params,
});
......@@ -294,7 +294,7 @@ export function downloadLoadGoodsList(params) {
export function downloadPreloadGoodsList(params) {
return request({
url: "/ecw/box-preload-goods/downloadPreloadGoodsList",
responseType: "arraybuffer",
responseType: "blob",
method: "get",
params,
});
......@@ -304,7 +304,7 @@ export function downloadPreloadGoodsList(params) {
export function downloadReceivableList(params) {
return request({
url: "/ecw/box-preload-goods/downloadReceivableList",
responseType: "arraybuffer",
responseType: "blob",
method: "get",
params,
});
......
......@@ -91,4 +91,13 @@ export function getOrderFeeById(query) {
method: 'get',
params: query
})
}
// 根据工作流中传的业务ID,获取异常审核详情
export function getBmpDetailByBusinessId(businessId) {
return request({
url: '/ecw/order-exception/getBmpDetailByBusinessId',
method: 'get',
params: {businessId}
})
}
\ No newline at end of file
......@@ -43,6 +43,13 @@ export function getUserPage(params) {
params: params
})
}
export function getWaitApprovePage(params){
return request({
url:'/member/user/waitApprovePage',
method:'get',
params
})
}
// 导出用户 Excel
export function exportUserExcel(query) {
......
......@@ -88,7 +88,7 @@ export default {
selectedRoutes: [], // 勾选的路线渠道
hideMap: {}, // 折叠状态
checkAll: null,
groupChecker: {}, // 分组全选记录
groupChecker: {}, // 分组全选状态
}
},
......
......@@ -107,7 +107,7 @@ export default {
const area = r.data
area.forEach(e => {
// 仓库
e.children.forEach(f => {
e.children?.forEach(f => {
// 区域
f.selected = false
if(f.positionList) f.positionList.forEach(g => {
......@@ -143,19 +143,23 @@ export default {
this.activeWarehouse = warehouse
if (!!warehouse.selected) {
warehouse.selected = false
return
} else if(this.activeWarehouseId !== warehouse.id) {
this.activeWarehouseId = warehouse.id
} else {
warehouse.selected = true
console.log(this.inputValue.find(e => e.areaId === warehouse.id), warehouse.id)
if (this.inputValue.find(e => e.areaId === warehouse.id)){
return
}
}
warehouse.selected = true
// 区域被选,清空该区域下的位置
if(warehouse.positionList) warehouse.positionList?.forEach(g => {
g.selected = false
g.children?.forEach(k => {
k.selected = false
})
// 区域被选,清空该区域下的位置
if(warehouse.positionList) warehouse.positionList?.forEach(g => {
g.selected = false
g.children?.forEach(k => {
k.selected = false
})
}
})
},
handleSelectPositionChild(position) {
if (!!position.selected) {
......
......@@ -321,6 +321,12 @@ export default {
id: this.processInstance.businessKey,
path: this.processInstance.processDefinition?.formCustomViewPath
},
// 预付异常审核
prepay_excetion:{
component: () => import('@/views/ecw/order/components/PrepayExceptionDetail'),
id: this.processInstance.businessKey,
path: this.processInstance.processDefinition?.formCustomViewPath
},
}
return map[this.processInstance.processDefinition.formCustomViewPath.trim()]
}
......
......@@ -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="processInstanceId">
<el-input v-model="queryParams.processInstanceId" :placeholder="$t('流程编号')" clearable
<el-form-item label="编号" prop="processInstanceId">
<el-input v-model="queryParams.processInstanceId" :placeholder="$t('编号')" clearable
@keyup.enter.native="handleQuery"/>
</el-form-item>
<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('流程分类')" prop="category">
<el-select v-model="queryParams.category" :placeholder="$t('请选择流程分类')" clearable>
......@@ -34,8 +34,8 @@
<!-- 列表 -->
<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="processInstance.name" width="200"/>
<el-table-column :label="$t('编号')" align="center" prop="id" width="320" fixed/>
<el-table-column :label="$t('流程名')" align="center" prop="processInstance.name" width="200"/>
<el-table-column :label="$t('业务编号')" align="center" prop="businessNo"/>
<el-table-column :label="$t('流程分类')" align="center" prop="category" width="200">
<template slot-scope="scope">
......
......@@ -89,7 +89,6 @@ import {
makeBillService,
getBillService,
deleteBillService,
zipDownload,
} from "@/api/ecw/box";
import {
getTotlContent,
......@@ -98,7 +97,6 @@ import {
} from "../shippingSea/utils";
import makeLadingBill from "./makeLadingBill.vue";
import previewBill from "./previewBill.vue";
import FileSaver from "file-saver";
export default {
name: "ladingBill",
......@@ -145,11 +143,14 @@ export default {
/* const title = `查看提单 ${this.shipmentObj.selfNo ?? ""} 柜号:${
this.shipmentObj.cubNo ?? ""
} 柜型:${cabinetLabel}`; */
const title = this.$t('查看提单 {selfNo} 柜号:{cubNo} 柜型:{cabinetLabel}', {
selfNo: this.shipmentObj.selfNo,
cubNo: this.shipmentObj.cubNo,
cabinetLabel
})
const title = this.$t(
"查看提单 {selfNo} 柜号:{cubNo} 柜型:{cabinetLabel}",
{
selfNo: this.shipmentObj.selfNo,
cubNo: this.shipmentObj.cubNo,
cabinetLabel,
}
);
this.$set(this.dialogCfg, "title", title);
},
closeDialog(type) {
......@@ -182,7 +183,7 @@ export default {
downloadFile(
type,
{ shipmentId: this.shipmentObj.id },
this.$t('已装单') + `(${this.shipmentObj.selfNo}).xlsx`,
this.$t("已装单") + `(${this.shipmentObj.selfNo}).xlsx`,
"xlsx"
);
return;
......@@ -190,7 +191,7 @@ export default {
downloadFile(
type,
{ shipmentId: this.shipmentObj.id },
this.$t('应收汇总表') + `(${this.shipmentObj.selfNo}).xlsx`,
this.$t("应收汇总表") + `(${this.shipmentObj.selfNo}).xlsx`,
"xlsx"
);
return;
......@@ -220,14 +221,17 @@ export default {
this.currData = {
billContent: data?.billContent ?? "",
orderNo: this.currRow.orderNo,
bpmProcessId: data.bpmProcessId,
};
});
},
clickZipDownload() {
zipDownload({ shipmentId: this.shipmentObj.id }).then((res) => {
let blob = new Blob([res], { type: "application/zip" });
FileSaver.saveAs(blob, this.$t('打包文件') + ".zip");
});
downloadFile(
"zipDownload",
{ shipmentId: this.shipmentObj.id },
this.$t("打包文件") + ".zip",
"zip"
);
},
},
computed: {
......
......@@ -14,7 +14,7 @@
<work-flow xmlkey="bill_lading" v-model="selectedUsers"></work-flow>
</div>
<div v-if="currRow.status === 1">
<el-button type="primary" disabled>{{$t('审核中')}}</el-button>
<el-button type="primary" @click="jumpReviewDetail">{{$t('审核中')}}</el-button>
<el-button plain type="primary" @click="canclAudit">{{$t('取消审核')}}</el-button>
<el-button plain type="primary" @click="showLoaingTemplate">{{$t('提单预览')}}</el-button>
</div>
......@@ -38,7 +38,7 @@ import {
updateBillService,
cancelBillService,
} from "@/api/ecw/box";
import { serviceMsg } from "../shippingSea/utils";
import { serviceMsg, toReviewDetail } from "../shippingSea/utils";
import previewBill from "./previewBill.vue";
import { getToken } from "@/utils/auth";
......@@ -200,6 +200,10 @@ export default {
close(type) {
this.$emit("closeDialog", type);
},
jumpReviewDetail() {
const { bpmProcessId } = this.currData;
toReviewDetail.apply(this, [bpmProcessId]);
},
},
watch: {
currData: {
......
......@@ -9,9 +9,8 @@
</template>
<script>
import { downloadBillService } from "@/api/ecw/box";
import lodop from "@/utils/lodop";
import FileSaver from "file-saver";
import { downloadFile } from "../shippingSea/utils";
export default {
name: "previewBill",
......@@ -22,10 +21,12 @@ export default {
},
methods: {
download() {
downloadBillService({ id: this.currRow.id }).then((res) => {
let blob = new Blob([res], { type: "application/pdf" });
FileSaver.saveAs(blob, this.currRow.orderNo + ".pdf");
});
downloadFile(
"downloadBillService",
{ id: this.currRow.id },
this.currRow.orderNo + ".pdf",
"pdf"
);
},
print() {
lodop()
......
......@@ -3,6 +3,9 @@ import * as _BOX from "@/api/ecw/box";
import FileSaver from "file-saver";
import Decimal from "decimal.js";
import i18n from "@/i18n";
// 自动提取脚本只匹配$t,所以需要重新给个名字
const $t = (args) => i18n.t(...args)
/**
* 节点状态值
*
......@@ -11,67 +14,67 @@ import i18n from "@/i18n";
function getStatusName(statu) {
const statusName = new Map();
statusName.set(11, i18n.t("未订舱"));
statusName.set(12, i18n.t("已订舱"));
statusName.set(11, $t("未订舱"));
statusName.set(12, $t("已订舱"));
statusName.set(21, i18n.t("未预装"));
statusName.set(22, i18n.t("预装中"));
statusName.set(23, i18n.t("预装审核中"));
statusName.set(24, i18n.t("预装审核失败"));
statusName.set(25, i18n.t("预装审核成功"));
statusName.set(21, $t("未预装"));
statusName.set(22, $t("预装中"));
statusName.set(23, $t("预装审核中"));
statusName.set(24, $t("预装审核失败"));
statusName.set(25, $t("预装审核成功"));
statusName.set(2111, i18n.t("未理货"));
statusName.set(2112, i18n.t("已理货"));
statusName.set(2111, $t("未理货"));
statusName.set(2112, $t("已理货"));
statusName.set(31, i18n.t("未派车"));
statusName.set(32, i18n.t("已派车"));
statusName.set(31, $t("未派车"));
statusName.set(32, $t("已派车"));
statusName.set(41, i18n.t("未装柜"));
statusName.set(42, i18n.t("装柜中"));
statusName.set(43, i18n.t("已装柜、待封柜"));
statusName.set(44, i18n.t("封柜审核中"));
statusName.set(45, i18n.t("封柜审核失败"));
statusName.set(46, i18n.t("封柜审核成功"));
statusName.set(47, i18n.t("已封柜,待出仓"));
statusName.set(41, $t("未装柜"));
statusName.set(42, $t("装柜中"));
statusName.set(43, $t("已装柜、待封柜"));
statusName.set(44, $t("封柜审核中"));
statusName.set(45, $t("封柜审核失败"));
statusName.set(46, $t("封柜审核成功"));
statusName.set(47, $t("已封柜,待出仓"));
statusName.set(51, i18n.t("未报关"));
statusName.set(52, i18n.t("报关中"));
statusName.set(53, i18n.t("已报关"));
statusName.set(51, $t("未报关"));
statusName.set(52, $t("报关中"));
statusName.set(53, $t("已报关"));
statusName.set(61, i18n.t("未配船"));
statusName.set(62, i18n.t("已配船"));
statusName.set(61, $t("未配船"));
statusName.set(62, $t("已配船"));
statusName.set(71, i18n.t("未提单补料"));
statusName.set(72, i18n.t("已提单补料"));
statusName.set(71, $t("未提单补料"));
statusName.set(72, $t("已提单补料"));
statusName.set(81, i18n.t("未驳船"));
statusName.set(82, i18n.t("已驳船"));
statusName.set(81, $t("未驳船"));
statusName.set(82, $t("已驳船"));
statusName.set(91, i18n.t("未起运"));
statusName.set(92, i18n.t("已起运"));
statusName.set(91, $t("未起运"));
statusName.set(92, $t("已起运"));
statusName.set(101, i18n.t("未上传"));
statusName.set(102, i18n.t("已上传"));
statusName.set(101, $t("未上传"));
statusName.set(102, $t("已上传"));
statusName.set(111, i18n.t("未清关文件"));
statusName.set(112, i18n.t("已清关文件"));
statusName.set(111, $t("未清关文件"));
statusName.set(112, $t("已清关文件"));
statusName.set(121, i18n.t("未到港"));
statusName.set(122, i18n.t("已到港"));
statusName.set(121, $t("未到港"));
statusName.set(122, $t("已到港"));
statusName.set(131, i18n.t("未清关"));
statusName.set(132, i18n.t("已清关"));
statusName.set(131, $t("未清关"));
statusName.set(132, $t("已清关"));
statusName.set(181, i18n.t("未卸柜"));
statusName.set(182, i18n.t("卸柜中"));
statusName.set(183, i18n.t("卸柜审核中"));
statusName.set(184, i18n.t("卸柜审核失败"));
statusName.set(185, i18n.t("卸柜审核成功"));
statusName.set(186, i18n.t("已卸柜"));
statusName.set(181, $t("未卸柜"));
statusName.set(182, $t("卸柜中"));
statusName.set(183, $t("卸柜审核中"));
statusName.set(184, $t("卸柜审核失败"));
statusName.set(185, $t("卸柜审核成功"));
statusName.set(186, $t("已卸柜"));
statusName.set(191, i18n.t("未结算"));
statusName.set(192, i18n.t("结算中"));
statusName.set(193, i18n.t("已结算"));
statusName.set(191, $t("未结算"));
statusName.set(192, $t("结算中"));
statusName.set(193, $t("已结算"));
return statusName.get(statu);
}
......@@ -85,7 +88,7 @@ function seaBaseData() {
return [
[
{
title: i18n.t("订舱"),
title: $t("订舱"),
imgSrc: {
start: require("@/assets/images/shipping/dc-start.png"),
end: require("@/assets/images/shipping/dc-end.png"),
......@@ -106,7 +109,7 @@ function seaBaseData() {
],
[
{
title: i18n.t("排单"),
title: $t("排单"),
imgSrc: {
start: require("@/assets/images/shipping/yz-start.png"),
wait: require("@/assets/images/shipping/yz-wait.png"),
......@@ -139,7 +142,7 @@ function seaBaseData() {
],
[
{
title: i18n.t("理货"),
title: $t("理货"),
imgSrc: {
start: require("@/assets/images/shipping/lh-start.png"),
wait: require("@/assets/images/shipping/lh-wait.png"),
......@@ -159,7 +162,7 @@ function seaBaseData() {
},
},
{
title: i18n.t("拖车"),
title: $t("拖车"),
imgSrc: {
start: require("@/assets/images/shipping/tc-start.png"),
wait: require("@/assets/images/shipping/tc-wait.png"),
......@@ -181,7 +184,7 @@ function seaBaseData() {
],
[
{
title: i18n.t("装柜"),
title: $t("装柜"),
imgSrc: {
start: require("@/assets/images/shipping/zg-start.png"),
wait: require("@/assets/images/shipping/zg-wait.png"),
......@@ -203,7 +206,7 @@ function seaBaseData() {
],
[
{
title: i18n.t("报关"),
title: $t("报关"),
imgSrc: {
start: require("@/assets/images/shipping/bg-start.png"),
wait: require("@/assets/images/shipping/bg-wait.png"),
......@@ -243,7 +246,7 @@ function seaBaseData() {
},
},
{
title: i18n.t("提单补料"),
title: $t("提单补料"),
imgSrc: {
start: require("@/assets/images/shipping/tdcl-start.png"),
wait: require("@/assets/images/shipping/tdcl-wait.png"),
......@@ -265,7 +268,7 @@ function seaBaseData() {
],
[
{
title: i18n.t("驳船"),
title: $t("驳船"),
imgSrc: {
start: require("@/assets/images/shipping/bc-start.png"),
wait: require("@/assets/images/shipping/bc-wait.png"),
......@@ -287,7 +290,7 @@ function seaBaseData() {
],
[
{
title: i18n.t("起运"),
title: $t("起运"),
imgSrc: {
start: require("@/assets/images/shipping/qy-start.png"),
wait: require("@/assets/images/shipping/qy-wait.png"),
......@@ -309,7 +312,7 @@ function seaBaseData() {
],
[
{
title: i18n.t("提单Copy"),
title: $t("提单Copy"),
imgSrc: {
start: require("@/assets/images/shipping/tdcopy-start.png"),
wait: require("@/assets/images/shipping/tdcopy-wait.png"),
......@@ -335,7 +338,7 @@ function seaBaseData() {
wait: require("@/assets/images/shipping/qg-wait.png"),
end: require("@/assets/images/shipping/qg-end.png"),
},
title: i18n.t("清关文件"),
title: $t("清关文件"),
dataKey: "11", // 字典数据键值
/**
* 清关文件状态:111、未清关文件;112、已清关文件
......@@ -351,7 +354,7 @@ function seaBaseData() {
],
[
{
title: i18n.t("到港"),
title: $t("到港"),
imgSrc: {
start: require("@/assets/images/shipping/dg-start.png"),
wait: require("@/assets/images/shipping/dg-wait.png"),
......@@ -373,7 +376,7 @@ function seaBaseData() {
],
[
{
title: i18n.t("清关"),
title: $t("清关"),
imgSrc: {
start: require("@/assets/images/shipping/qg-start.png"),
wait: require("@/assets/images/shipping/qg-wait.png"),
......@@ -395,7 +398,7 @@ function seaBaseData() {
],
[
{
title: i18n.t("卸柜"),
title: $t("卸柜"),
imgSrc: {
start: require("@/assets/images/shipping/xg-start.png"),
wait: require("@/assets/images/shipping/xg-wait.png"),
......@@ -417,7 +420,7 @@ function seaBaseData() {
],
[
{
title: i18n.t("结算"),
title: $t("结算"),
imgSrc: {
start: require("@/assets/images/shipping/js-start.png"),
wait: require("@/assets/images/shipping/js-wait.png"),
......@@ -449,7 +452,7 @@ function seaAirBaseData() {
return [
[
{
title: i18n.t("订舱"),
title: $t("订舱"),
imgSrc: {
start: require("@/assets/images/shipping/dc-start.png"),
end: require("@/assets/images/shipping/dc-end.png"),
......@@ -470,7 +473,7 @@ function seaAirBaseData() {
],
[
{
title: i18n.t("排单"),
title: $t("排单"),
imgSrc: {
start: require("@/assets/images/shipping/yz-start.png"),
wait: require("@/assets/images/shipping/yz-wait.png"),
......@@ -503,7 +506,7 @@ function seaAirBaseData() {
],
[
{
title: i18n.t("理货"),
title: $t("理货"),
imgSrc: {
start: require("@/assets/images/shipping/lh-start.png"),
wait: require("@/assets/images/shipping/lh-wait.png"),
......@@ -523,7 +526,7 @@ function seaAirBaseData() {
},
},
{
title: i18n.t("拖车"),
title: $t("拖车"),
imgSrc: {
start: require("@/assets/images/shipping/tc-start.png"),
wait: require("@/assets/images/shipping/tc-wait.png"),
......@@ -545,7 +548,7 @@ function seaAirBaseData() {
],
[
{
title: i18n.t("装柜"),
title: $t("装柜"),
imgSrc: {
start: require("@/assets/images/shipping/zg-start.png"),
wait: require("@/assets/images/shipping/zg-wait.png"),
......@@ -567,7 +570,7 @@ function seaAirBaseData() {
],
[
{
title: i18n.t("报关"),
title: $t("报关"),
imgSrc: {
start: require("@/assets/images/shipping/bg-start.png"),
wait: require("@/assets/images/shipping/bg-wait.png"),
......@@ -587,7 +590,7 @@ function seaAirBaseData() {
},
},
{
title: i18n.t("配船"),
title: $t("配船"),
imgSrc: {
start: require("@/assets/images/shipping/pc-start.png"),
wait: require("@/assets/images/shipping/pc-wait.png"),
......@@ -607,7 +610,7 @@ function seaAirBaseData() {
},
},
{
title: i18n.t("提单补料"),
title: $t("提单补料"),
imgSrc: {
start: require("@/assets/images/shipping/tdcl-start.png"),
wait: require("@/assets/images/shipping/tdcl-wait.png"),
......@@ -629,7 +632,7 @@ function seaAirBaseData() {
],
[
{
title: i18n.t("驳船"),
title: $t("驳船"),
imgSrc: {
start: require("@/assets/images/shipping/bc-start.png"),
wait: require("@/assets/images/shipping/bc-wait.png"),
......@@ -651,7 +654,7 @@ function seaAirBaseData() {
],
[
{
title: i18n.t("起运"),
title: $t("起运"),
imgSrc: {
start: require("@/assets/images/shipping/qy-start.png"),
wait: require("@/assets/images/shipping/qy-wait.png"),
......@@ -673,7 +676,7 @@ function seaAirBaseData() {
],
[
{
title: i18n.t("提单Copy"),
title: $t("提单Copy"),
imgSrc: {
start: require("@/assets/images/shipping/tdcopy-start.png"),
wait: require("@/assets/images/shipping/tdcopy-wait.png"),
......@@ -699,7 +702,7 @@ function seaAirBaseData() {
wait: require("@/assets/images/shipping/qg-wait.png"),
end: require("@/assets/images/shipping/qg-end.png"),
},
title: i18n.t("清关文件"),
title: $t("清关文件"),
dataKey: "11", // 字典数据键值
/**
* 清关文件状态:111、未清关文件;112、已清关文件
......@@ -715,7 +718,7 @@ function seaAirBaseData() {
],
[
{
title: i18n.t("到港"),
title: $t("到港"),
imgSrc: {
start: require("@/assets/images/shipping/dg-start.png"),
wait: require("@/assets/images/shipping/dg-wait.png"),
......@@ -737,7 +740,7 @@ function seaAirBaseData() {
],
[
{
title: i18n.t("清关"),
title: $t("清关"),
imgSrc: {
start: require("@/assets/images/shipping/qg-start.png"),
wait: require("@/assets/images/shipping/qg-wait.png"),
......@@ -759,7 +762,7 @@ function seaAirBaseData() {
],
[
{
title: i18n.t("二程起飞"),
title: $t("二程起飞"),
imgSrc: {
start: require("@/assets/images/shipping/ecqf-start.png"),
wait: require("@/assets/images/shipping/ecqf-wait.png"),
......@@ -781,7 +784,7 @@ function seaAirBaseData() {
],
[
{
title: i18n.t("二程到港"),
title: $t("二程到港"),
imgSrc: {
start: require("@/assets/images/shipping/ecdg-start.png"),
wait: require("@/assets/images/shipping/ecdg-wait.png"),
......@@ -803,7 +806,7 @@ function seaAirBaseData() {
],
[
{
title: i18n.t("卸柜"),
title: $t("卸柜"),
imgSrc: {
start: require("@/assets/images/shipping/xg-start.png"),
wait: require("@/assets/images/shipping/xg-wait.png"),
......@@ -825,7 +828,7 @@ function seaAirBaseData() {
],
[
{
title: i18n.t("结算"),
title: $t("结算"),
imgSrc: {
start: require("@/assets/images/shipping/js-start.png"),
wait: require("@/assets/images/shipping/js-wait.png"),
......@@ -861,254 +864,254 @@ function getColmnMapping() {
key: "sono",
},
{
title: i18n.t("船公司类型"),
title: $t("船公司类型"),
key: "shipCompanyType",
type: "supplier",
},
{
title: i18n.t("驳船港"),
title: $t("驳船港"),
key: "bargePortId",
type: "dock",
},
{
title: i18n.t("大船港"),
title: $t("大船港"),
key: "bigPortId",
type: "dock",
},
{
title: i18n.t("目的港"),
title: $t("目的港"),
key: "destPortId",
type: "dock",
},
{
title: i18n.t("订舱公司"),
title: $t("订舱公司"),
key: "spaceCompanyId",
type: "supplier",
},
{
title: i18n.t("预计驳船时间"),
title: $t("预计驳船时间"),
key: "bargeTime",
type: "date",
},
{
title: i18n.t("预计开船时间"),
title: $t("预计开船时间"),
key: "sailTime",
type: "date",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
preInstallInfo: [
{
title: i18n.t("预装时间"),
title: $t("预装时间"),
key: "createTime",
type: "date",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
trailerInfo: [
{
title: i18n.t("货柜号"),
title: $t("货柜号"),
key: "tlContainerNo",
},
{
title: i18n.t("封条"),
title: $t("封条"),
key: "tlStripSeal",
},
{
title: i18n.t("拖车公司"),
title: $t("拖车公司"),
key: "tlCompanyId",
type: "supplier",
},
{
title: i18n.t("拖车时间"),
title: $t("拖车时间"),
key: "tlTime",
type: "date",
},
{
title: i18n.t("车牌"),
title: $t("车牌"),
key: "tlLicensePlate",
},
{
title: i18n.t("司机"),
title: $t("司机"),
key: "tlDriver",
},
{
title: i18n.t("联系方式"),
title: $t("联系方式"),
key: "tlDriverContact",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
tallyInfo: [
{
title: i18n.t("完成理货时间"),
title: $t("完成理货时间"),
key: "tyTime",
type: "datetime",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "tyOperator",
},
],
agentInfo: [
{
title: i18n.t("代理商"),
title: $t("代理商"),
key: "agentId",
type: "supplier",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
cabinetInfo: [
{
title: i18n.t("到仓时间"),
title: $t("到仓时间"),
key: "ldInWarehouseTime",
type: "date",
},
{
title: i18n.t("仓库类型"),
title: $t("仓库类型"),
key: "ldWarehouseType",
type: "warehouse",
},
{
title: i18n.t("装柜时间"),
title: $t("装柜时间"),
key: "ldBoxTime",
type: "date",
},
{
title: i18n.t("出仓时间"),
title: $t("出仓时间"),
key: "ldOutWarehouseTime",
type: "date",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
customsInfo: [
{
title: i18n.t("报关方式"),
title: $t("报关方式"),
key: "dcCustomsType",
type: "shipping_customs_type",
},
{
title: i18n.t("报关行公司"),
title: $t("报关行公司"),
key: "dcCompanyId",
type: "supplier",
},
{
title: i18n.t("截关时间"),
title: $t("截关时间"),
key: "dcCutOffTime",
type: "date",
},
{
title: i18n.t("状态"),
title: $t("状态"),
key: "dcCustomsStatus",
type: "shipping_dcCustoms_status",
},
{
title: i18n.t("放行时间"),
title: $t("放行时间"),
key: "dcPassTime",
type: "date",
},
{
title: i18n.t("新封条"),
title: $t("新封条"),
key: "dcStripSeal",
},
{
title: i18n.t("柜重"),
title: $t("柜重"),
key: "dcBoxWgt",
},
{
title: i18n.t("货重"),
title: $t("货重"),
key: "dcGoodsWgt",
},
{
title: i18n.t("VGM重量"),
title: $t("VGM重量"),
key: "dcVgmWgt",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
shipConfigInfo: [
{
title: i18n.t("已配/免配"),
title: $t("已配/免配"),
key: "saExmtStatus",
type: "saExmtStatus",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
ladingBillInfo: [
{
title: i18n.t("清关代理"),
title: $t("清关代理"),
key: "agentId",
type: "supplier",
},
{
title: i18n.t("提单品名"),
title: $t("提单品名"),
key: "blMblNo",
},
{
title: i18n.t("通知方"),
title: $t("通知方"),
key: "notifyingId",
type: "user",
},
{
title: i18n.t("提单备注"),
title: $t("提单备注"),
key: "remarks",
},
{
title: i18n.t("数量(个)"),
title: $t("数量(个)"),
key: "packageNum",
},
{
title: i18n.t("体积"),
title: $t("体积"),
key: "cbm",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
bargeInfo: [
{
title: i18n.t("驳船"),
title: $t("驳船"),
key: "bgExmtStatus",
type: "bgExmtStatus",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
shippingInfo: [
{
title: i18n.t("实际开船时间"),
title: $t("实际开船时间"),
key: "dtRealShipTime",
type: "datetime",
},
{
title: i18n.t("预计到港时间"),
title: $t("预计到港时间"),
key: "dtEstArrivalTime",
type: "date",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
......@@ -1124,128 +1127,128 @@ function getColmnMapping() {
type: "isFile",
},
{
title: i18n.t("出单方式"),
title: $t("出单方式"),
key: "cdOutBillType",
type: "billingMethod",
},
{
title: i18n.t("寄送时间"),
title: $t("寄送时间"),
key: "cdSendTime",
type: "date",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
arrivalInfo: [
{
title: i18n.t("实际到港时间"),
title: $t("实际到港时间"),
key: "apRealTime",
type: "datetime",
},
{
title: i18n.t("确认到港"),
title: $t("确认到港"),
key: "apConfirmTime",
type: "datetime",
},
{
title: i18n.t("卸港时间"),
title: $t("卸港时间"),
key: "apUnloadPortTime",
type: "date",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
clearanceInfo: [
{
title: i18n.t("预计清关时间"),
title: $t("预计清关时间"),
key: "clEstTime",
type: "date",
},
{
title: i18n.t("清关时间"),
title: $t("清关时间"),
key: "clClearTime",
type: "datetime",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
takeOffInfo: [
{
title: i18n.t("预计头程时间"),
title: $t("预计头程时间"),
key: "estHeadTime",
type: "datetime",
},
{
title: i18n.t("实际头程时间"),
title: $t("实际头程时间"),
key: "actHeadTime",
type: "datetime",
},
{
title: i18n.t("预计二程时间"),
title: $t("预计二程时间"),
key: "estSecondTime",
type: "date",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
airArrivalInfo: [
{
title: i18n.t("预计到达时间"),
title: $t("预计到达时间"),
key: "estTime",
type: "datetime",
},
{
title: i18n.t("实际到达时间"),
title: $t("实际到达时间"),
key: "actTime",
type: "datetime",
},
{
title: i18n.t("实际二程时间"),
title: $t("实际二程时间"),
key: "actSecondTime",
type: "datetime",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
cabinetUnloadInfo: [
{
title: i18n.t("到仓时间"),
title: $t("到仓时间"),
key: "ulWarehouseTime",
type: "date",
},
{
title: i18n.t("卸货时间"),
title: $t("卸货时间"),
key: "ulBoxTime",
type: "date",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
settlementInfo: [
{
title: i18n.t("可结算"),
title: $t("可结算"),
key: "slSettlementTime",
type: "date",
},
{
title: i18n.t("已结算"),
title: $t("已结算"),
key: "slSettledTime",
type: "date",
},
{
title: i18n.t("业务员"),
title: $t("业务员"),
key: "operator",
},
],
......@@ -1260,44 +1263,44 @@ const constantDict = {
saExmtStatus: [
{
value: "1",
label: i18n.t("免配"),
label: $t("免配"),
},
{
value: "2",
label: i18n.t("已配"),
label: $t("已配"),
},
],
// 驳船
bgExmtStatus: [
{
value: "1",
label: i18n.t("无驳船"),
label: $t("无驳船"),
},
{
value: "2",
label: i18n.t("有驳船"),
label: $t("有驳船"),
},
],
// 出单方式
billingMethod: [
{
value: "1",
label: i18n.t("电放"),
label: $t("电放"),
},
{
value: "2",
label: i18n.t("正本"),
label: $t("正本"),
},
],
// 是否有文件
isFile: [
{
value: "1",
label: i18n.t("无需"),
label: $t("无需"),
},
{
value: "2",
label: i18n.t("已做"),
label: $t("已做"),
},
],
};
......@@ -1510,15 +1513,22 @@ function toReviewDetail(bpmProcessId) {
function downloadFile(funName, params, fileName, fileFormat) {
_BOX[funName](params).then((res) => {
try {
let jsonData = JSON.parse(res);
if (jsonData.code === 0) {
window.ElementUI.$message.success("操作成功");
const reader = new FileReader();
reader.onload = (event) => {
try {
// 将读取的string转换为json
// 若果能转换成功 => 接口返回的是json数据,提示报错信息
const json = JSON.parse(event.target.result);
if (json.code) {
window.ElementUI.Message.error(json.msg);
}
} catch (err) {
let blob = new Blob([res], { type: `application/${fileFormat}` });
FileSaver.saveAs(blob, fileName);
}
} catch (error) {
let blob = new Blob([res], { type: `application/${fileFormat}` });
FileSaver.saveAs(blob, fileName);
}
};
reader.readAsText(res);
});
}
......
......@@ -234,7 +234,7 @@ export default {
let text = row.status === CommonStatusEnum.ENABLE ? "启用" : "停用";
this.$modal.confirm('确认要' + text + '"' + row.titleZh + '"吗?').then(function() {
// return changeUserStatus(row.id, row.status);
return updateCurrencyStatus({id:row.id,status:!row.status?CommonStatusEnum.DISABLE:CommonStatusEnum.ENABLE});
return updateCurrencyStatus(row);
}).then(() => {
this.$modal.msgSuccess(text + "成功");
......
......@@ -242,34 +242,22 @@
</el-card>
<el-card class="card hexiaoCard">
<el-descriptions :column="3" border>
<!-- <template v-for="(item, index) in form.receivableDetailList">
<el-descriptions-item :label="index === 0 ? '应收总金额' : ''" :key="index+3">
{{ item.amount }}
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="index + 1" />
</el-descriptions-item>
<el-descriptions-item :key="index">
<template v-if="showCurrencyId !== item.currencyId" slot="label">
汇率(<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="showCurrencyId" />
</template>
<span v-if="showCurrencyId !== item.currencyId">{{ item.rate }}</span>
</el-descriptions-item>
</template> -->
<!-- <el-descriptions-item>
<template slot="label">
应收总金额(<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="showCurrencyId" />
</template>
{{ form.receivableTotalAmount }}
</el-descriptions-item> -->
<el-descriptions-item :label="$t('已核销总金额')">
<el-tag>{{ verificationData.usCount.toFixed(6) }}{{$t('美元')}}</el-tag>
<!-- <el-tag>{{ verificationData.usCount.toFixed(6) }}{{$t('美元')}}</el-tag>
<el-tag>{{ verificationData.rmbCount.toFixed(6) }}{{$t('人民币')}}</el-tag>
<el-tag>{{ verificationData.nairaCount.toFixed(6) }}{{$t('奈拉')}}</el-tag>
<el-tag>{{ verificationData.nairaCount.toFixed(6) }}{{$t('奈拉')}}</el-tag> -->
<template v-if="!Object.keys(writeOffTotal).length">
0
</template>
<div v-else>
<div v-for="(amount, currency) in writeOffTotal" :key="currency">
{{amount}}<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="currency" />
</div>
</div>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
{{ $t('已核销金额') }}<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="showCurrencyId" />
{{ $t('核销基准金额') }}<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="showCurrencyId" />
</template>
{{ verificationData.writtenOff.toFixed(6) }}
</el-descriptions-item>
......@@ -277,7 +265,7 @@
<template slot="label">
{{ $t('已核销比例') }}<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="showCurrencyId" />
</template>
{{ parseFloat(verificationData.WriteOffProportion/100).toFixed(2) }}%
{{ verificationData.WriteOffProportion }}%
</el-descriptions-item>
</el-descriptions>
</el-card>
......@@ -474,6 +462,18 @@ export default {
}
if (groupList.length === 1) return groupList[0].currencyId
else return 1
},
// 已核销总金额
writeOffTotal(){
let total = {}
this.detailed.forEach(item => {
if(item.status){
if(!total[item.currencyId]){
total[item.currencyId] = item.amount
}else total[item.currencyId] = NP.plus(total[item.currencyId], item.amount)
}
})
return total
}
},
watch: {
......
......@@ -193,13 +193,13 @@
>
<el-button v-if="scope.row.state == 1 || scope.row.state == 2 || scope.row.state == 3" size="mini" type="text" @click="verificationCancelClick(scope.row)">{{ $t('收款') }}</el-button>
<el-button v-if="scope.row.state == 0 || scope.row.state == 1" size="mini" type="text" @click="deleteClick(scope.row)">{{ $t('删除') }}</el-button>
<el-button
<!-- <el-button
v-if="scope.row.state != 0"
size="mini"
type="text"
@click="toprint(scope.row.id)"
>{{ $t('打印') }}</el-button
>
> -->
<el-button
v-if="scope.row.state != 0"
size="mini"
......@@ -231,11 +231,11 @@
<i class="el-icon-close" @click="cancel"></i>
</div> -->
<div class="dialog-footer">
<el-button type="primary" style="width: 130px" @click="submitForm(1)"
>{{ $t('国内账单') }}</el-button
<el-button type="primary" style="width: 130px" @click="submitForm(1)" v-loading="downloading">{{ $t('国内账单') }}</el-button
>
<el-button
plain
v-loading="downloading"
type="primary"
style="width: 130px; margin: 0"
@click="submitForm(2)"
......@@ -298,6 +298,7 @@ export default {
productRecord: null,
followUpSalesmanId: null,
},
downloading: false, // 导出状态
};
},
created() {
......@@ -376,11 +377,12 @@ export default {
this.exportId = id;
},
submitForm(type) {
this.downloading = true
receiptExportExcel({ id: this.exportId, billType: type }).then((response) => {
this.$download.excel(response, `${type === 1 ? this.$t('国内账单') : "Debite_note"}.xls`);
this.open = false;
}
);
).finally(() => this.downloading = false)
},
/** 取消按钮 */
// cancel() {
......
......@@ -23,7 +23,7 @@
<div class="contact">
<el-input v-model="form.consignorName" placeholder="选择或新建" disabled style="width:120px"/>
<img src="@/assets/images/phonebook.png" class="phonebook" @click="contactChooseType='consignor'" />
<img src="@/assets/images/new_customer.png" class="phonebook" @click="quickCreateType='1'" />
<img src="@/assets/images/new_customer.png" class="phonebook" @click="quickCreateType='0'" />
</div>
</el-form-item>
<el-form-item :label="$t('发货人电话')" prop="consignorPhone">
......@@ -42,7 +42,7 @@
<div class="contact">
<el-input v-model="form.consigneeName" placeholder="请选择或新建" :disabled="true" style="width:120px"/>
<img src="@/assets/images/phonebook.png" class="phonebook" @click="contactChooseType='consignee'" />
<img src="@/assets/images/new_customer.png" class="phonebook" @click="quickCreateType='2'" />
<img src="@/assets/images/new_customer.png" class="phonebook" @click="quickCreateType='1'" />
</div>
</el-form-item>
<el-form-item :label="$t('收货人电话')" prop="consigneePhone">
......
......@@ -48,7 +48,7 @@
<el-table-column :label="$t('体积') + '(m³)'" prop="pickVolume"></el-table-column>
<el-table-column :label="$t('提单号')" prop="tidanNo"></el-table-column>
<el-table-column :label="$t('备注')" prop="remarks"></el-table-column>
<el-table-column :label="$t('操作人')" prop="name"></el-table-column>
<el-table-column :label="$t('操作人')" prop="operator"></el-table-column>
<el-table-column :label="$t('日期')" prop="createTime">
<template slot-scope="{row}">
{{row.createTime|parseTime}}
......
......@@ -117,9 +117,6 @@ export default {
id: [String, Number],
path: String
},
components:{
PrintLandingBill: () => import('./PrintLadingBill.vue')
},
data(){
return {
type: null,
......@@ -190,15 +187,12 @@ export default {
getChannel(this.order.channelId).then(res => {
this.channel = res.data
})
},
getBillService(){
},
},/*
getBillOfLandingInProcessing(){
getBillOfLandingInProcessing({orderId: this.detail.orderId}).then(res => {
console.log(res)
})
}
} */
}
}
</script>
......
<!--拆单审核中的申请信息部分-->
<template>
<div v-if="order">
<el-descriptions :column="4" v-if="order" :colon="false">
<el-descriptions-item :label="$t('订单号')">{{order.orderNo}}</el-descriptions-item>
<el-descriptions-item :label="$t('运输方式')">
<dict-tag class="mr-10" :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" />
</el-descriptions-item>
<el-descriptions-item :label="$t('出货方式')">
{{channel ? channel.nameZh : '/'}}
</el-descriptions-item>
<el-descriptions-item :label="$t('订单状态')">
{{order.statusMsg}}
</el-descriptions-item>
<el-descriptions-item :label="$t('唛头')">{{order.marks}}</el-descriptions-item>
<el-descriptions-item :label="$t('始发仓')">
{{order.logisticsInfoDto.startTitleZh}}
</el-descriptions-item>
<el-descriptions-item :label="$t('目的仓')" :span="2">
{{order.logisticsInfoDto.destAddressZh}}
</el-descriptions-item>
</el-descriptions>
<el-form v-if="orderFee" class="prepay_exception_detail">
<el-row>
<el-form-item :label="$t('订单总金额')+':'">
<span style="margin-left: 8px;" v-for="(item, key) of orderFee.totalAmountList" :key="key">
{{item}}
{{currencyMap[key]}}
</span>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('应付预付金额')+':'">
<span style="margin-left: 8px;" v-for="(item, key) of orderFee.totalPaymentAmount" :key="key">{{item}}{{currencyMap[key]}}</span>
</el-form-item>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item :label="$t('已核销预付金额')+':'">
<span style="margin-left: 8px;" v-for="(item, key) of orderFee.writeOffAmount" :key="key">{{item}}{{currencyMap[key]}}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('已核销预付金额占总金额比例')+':'" label-width="200px">
{{orderFee.writeOffAmountScale}}%
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item :label="$t('预付商品货值')+':'">
{{orderFee.paymentGoodsWorth}} {{$t('人民币')}}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('预付商品货值占佣金额比例')+':'" label-width="200px">
{{orderFee.paymentGoodsWorthScale}}%
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-form-item :label="$t('预付商品方数')+':'">
{{orderFee.paymentGoodsVolume}} {{$t('立方米')}}
</el-form-item>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item :label="$t('订单总方数')+':'">
{{orderFee.totalVolume}} {{$t('立方米')}}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('预付商品方数占总方数比例')+':'" label-width="200px">
{{orderFee.paymentGoodsVolumeScale}}%
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
import {getOrder} from '@/api/ecw/order'
import {getChannel} from '@/api/ecw/channel'
import {getUnitList} from "@/api/ecw/unit"
import { getCurrencyList } from '@/api/ecw/currency'
import Decimal from 'decimal.js'
import {getBmpDetailByBusinessId} from '@/api/ecw/orderException'
export default {
name: 'PrepayExceptionDetail',
props:{
id: [String, Number],
path: String
},
data(){
return {
orderFee: null,
order: null,
channel: null,
unitList:[],
currencyList:[],
}
},
watch:{
id(){
this.getData()
},
order(){
if(this.order.channelId){
this.getChannel()
}
},
orderFee(){
}
},
computed:{
currencyMap(){
let map = {}
this.currencyList.forEach(item => {
map[item.id] = this.$l(item, 'title')
})
return map
},
unitMap(){
let map = {}
this.unitList.forEach(item => {
map[item.id] = this.$l(item, 'title')
})
return map
}
},
created(){
getCurrencyList().then(res => this.currencyList = res.data)
if(this.id){
this.getData()
}
},
methods:{
Decimal,
getData(){
getBmpDetailByBusinessId(this.id).then(res => {
this.orderFee = res.data
if(res.data.orderId){
getOrder(res.data.orderId).then(res => {
this.order = res.data
})
}
})
},
getChannel(){
getChannel(this.order.channelId).then(res => {
this.channel = res.data
})
},
}
}
</script>
<style scoped lang="scss">
.title{
padding: 10px 0;
span{
font-size: 14px;
font-weight: bold;
}
}
.bold{
font-weight: bold;
}
::v-deep .prepay_exception_detail .el-form-item{
margin-bottom: 0;
}
</style>
\ No newline at end of file
......@@ -133,7 +133,7 @@
<div v-if="type === 4">
<p>申请理由</p>
<div>
用户修改了订单中商品编号为【{{ FeeDetails.orderItemVOList[0].prodId }}】的【{{ FeeDetails.details.applyInfoVOList[0].newValue }}】信息:
用户修改了订单中商品编号为【{{ FeeDetails.orderItemVOList[0].prodId }}】的【{{ prodName }}】信息:
<ol>
<template v-for="item in FeeDetails.details.applyInfoVOList">
<li v-if="item.orgValue === undefined">{{ item.name }}{{ item.newValue }}</li>
......@@ -184,7 +184,9 @@ export default {
warehouseList:[],
channelList:[],
processInstanceID:undefined,
list:[]
list:[],
prodName: ''
}
},
created() {
......@@ -252,7 +254,10 @@ export default {
getOrder(res.data.orderIds).then(r =>{
this.FeeDetails = r.data
this.FeeDetails.details = JSON.parse(res.data.details)
// this.FeeDetails.details = res.data.details
const orderItem = this.FeeDetails.orderItemVOList.find(e => e.brand === this.FeeDetails.details.brand)
if (orderItem){
this.prodName = orderItem.prodTitleZh + '(' + orderItem.prodTitleEn + ')'
}
})
})
break
......
......@@ -18,7 +18,7 @@
<div class="contact">
<el-input v-model="form.consignorName" placeholder="" :disabled="inWarehouse"/>
<img v-if="!inWarehouse" src="@/assets/images/phonebook.png" class="phonebook" @click="contactChooseType='consignor'" />
<img v-if="!inWarehouse" src="@/assets/images/new_customer.png" class="phonebook" @click="quickCreateType='1'" />
<img v-if="!inWarehouse" src="@/assets/images/new_customer.png" class="phonebook" @click="quickCreateType='0'" />
</div>
</el-form-item>
<el-form-item :label="$t('发货人电话')" prop="consignorPhone">
......@@ -38,7 +38,7 @@
<div class="contact">
<el-input v-model="form.consigneeName" placeholder="" :disabled="inWarehouse"/>
<img v-if="!inWarehouse" src="@/assets/images/phonebook.png" class="phonebook" @click="contactChooseType='consignee'" />
<img v-if="!inWarehouse" src="@/assets/images/new_customer.png" class="phonebook" @click="quickCreateType='2'" />
<img v-if="!inWarehouse" src="@/assets/images/new_customer.png" class="phonebook" @click="quickCreateType='1'" />
</div>
</el-form-item>
<el-form-item :label="$t('收货人电话')" prop="consigneePhone">
......
......@@ -55,7 +55,7 @@
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('跟进业务')+':'">
<el-form-item :label="$t('客户经理')+':'">
<el-select v-model="queryParams.salesmanId" :placeholder="$t('请选择跟进业务')" clearable>
<el-option v-for="item in creatorData" :key="item.id" :label="item.nickname" :value="item.id"/>
</el-select>
......
......@@ -164,6 +164,7 @@ export default {
},
handEdit(row){
// 未报价异常
if(row.orderExceptionType=='order_no_quote_exception'){
if(row.orderItemId){
var productData = this.orderData.orderItemVOList.find(item=>item.orderItemId==row.orderItemId)
......@@ -181,11 +182,15 @@ export default {
}
}else if(row.orderExceptionType == 'order_heavy_cargo_exception'||row.orderExceptionType=='order_bulky_cargo_exception'){
}
// 重泡货异常
else if(row.orderExceptionType == 'order_heavy_cargo_exception'||row.orderExceptionType=='order_bulky_cargo_exception'){
this.$router.push({
path:"/order/weightDeal?id="+row.id+'&type='+row.orderExceptionType,
})
}else{
}
// 其他异常
else{
this.$router.push({
path:"/order/prepayDeal?id="+row.id,
})
......
......@@ -3,23 +3,23 @@
<el-card>
<div slot="header" class="header">
<div class="card-title">{{$t('查看')}}</div>
<el-button type="primary" icon="el-icon-arrow-left" @click="$store.dispatch('tagsView/delCurrentView')">返回</el-button>
<el-button type="primary" icon="el-icon-arrow-left" @click="$store.dispatch('tagsView/delCurrentView')">{{$t('返回')}}</el-button>
</div>
<el-form :model="orderData" ref="queryForm" size="small" :inline="true" label-width="120px" class="card">
<el-form v-if="orderData" :model="orderData" ref="queryForm" size="small" :inline="true" label-width="120px" class="card">
<el-row>
<el-form-item :label="$t('订单号')+':'">
{{orderData?orderData.orderNo:''}}
{{orderData.orderNo || ''}}
</el-form-item>
</el-row>
<div v-if="orderExceptionData.orderExceptionType=='order_superfluous_box_exception'||orderExceptionData.orderExceptionType=='order_lack_box_exception'||orderExceptionData.orderExceptionType=='order_miss_exception'||orderExceptionData.orderExceptionType=='order_superfluous_goods_exception'||orderExceptionData.orderExceptionType=='order_in_water_exception'||orderExceptionData.orderExceptionType=='order_damage_exception'">
<div v-if="shopData">
<el-row>
<el-form-item :label="$t('产品名称')+':'" >
{{shopData?shopData.prodTitleZh:''}}
{{shopData.prodTitleZh || ''}}
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('产品英文名称')+':'">
{{shopData?shopData.prodTitleEn:''}}
{{shopData.prodTitleEn || ''}}
</el-form-item>
</el-row>
</div>
......@@ -29,276 +29,304 @@
{{orderData?getRouterNameById():''}}
</el-form-item>
</el-row>
<div v-if="orderExceptionData.orderExceptionType!='order_doc_exception'&&orderExceptionData.orderExceptionType!='order_consignor_exception'&&orderExceptionData.orderExceptionType!='order_other_exception'">
<el-row>
<!-- 单证异常,发货人异常,其他异常 不显示这部分内容 -->
<div v-if="['order_doc_exception','order_consignor_exception', 'order_other_exception'].indexOf(orderExceptionData.orderExceptionType) == -1">
<!-- 预付异常,提货异常是针对整个订单的 -->
<template v-if="['order_pay_exception','order_pick_up_exception'].indexOf(orderExceptionData.orderExceptionType) > -1">
<el-row>
<el-form-item :label="$t('填单参数')+':'">
<template v-if="orderData && orderData.costVO">
{{(orderData.costVO.totalNum||0)+$t('')+(orderData.costVO.totalVolume||0)+''+(orderData.costVO.totalWeight||0)+'kg '+(orderData.costVO.totalQuantity||0)+$t('')}}
</template>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('入仓参数')+':'">
<template v-if="orderData && orderData.costVO">
<span>{{(orderData.sumNum||0)+$t('')+(orderData.sumVolume||0)+''+(orderData.sumWeight||0)+'kg '+(orderData.sumQuantity||0) +$t('')}}</span>
</template>
</el-form-item>
</el-row>
</template>
<template v-else>
<el-row>
<el-form-item :label="$t('填单参数')+':'">
<template v-if="orderData && orderData.costVO">
{{(orderData.costVO.totalNum||0)+$t('')+(orderData.costVO.totalVolume||0)+''+(orderData.costVO.totalWeight||0)+'kg '+(orderData.costVO.totalQuantity||0)+$t('')}}
<template v-if="shopData">
{{$t('{num}箱 {volume}m³ {weight}kg {quantity}', {
num: shopData.num || 0,
volume: shopData.volume || 0,
weight: shopData.weight || 0,
quantity: shopData.quantity || 0
})}}
</template>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('入仓参数')+':'">
<span>{{(orderData.sumNum||0)+$t('箱')+(orderData.sumVolume||0)+'m³ '+(orderData.sumWeight||0)+'kg '+(orderData.sumQuantity||0) +$t('个')}}</span>
</el-form-item>
</el-row>
<el-row :span="12">
<el-form-item :label="$t('异常描述')+':'">
{{orderExceptionData.orderExceptionDescVO?orderExceptionData.orderExceptionDescVO.descZh:'无'}}
</el-form-item>
<el-button v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" type="primary" plain icon="el-icon-plus" style="margin-left: 200px;" @click="handleAdd">新增收款单</el-button>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('收费参数')+':'">
<span>{{orderData.sumNum||0}}{{$t('箱')}} {{orderData.wvolume||0}}m³ {{orderData.vweight||0}}Kg {{orderData.sumQuantity||0}}{{$t('个')}}</span>
</el-form-item>
</el-row>
<!-- <el-row :span="12">
<el-form-item label="详细内容:">
{{orderData.totalMoney||'无'}}
</el-form-item>
<el-button v-if="orderExceptionData.orderExceptionStatus==3" type="primary" plain icon="el-icon-plus" style="margin-left: 200px;" @click="handleAdd">新增收款单</el-button>
</el-row> -->
</el-row>
<el-row v-if="shopData">
<el-form-item :label="$t('入仓参数')+':'" v-if="shopData.warehouseInInfoVO">
{{$t('{num}箱 {volume}m³ {weight}kg {quantity}', {
num: shopData.warehouseInInfoVO.cartonsNum || 0,
volume: shopData.warehouseInInfoVO.volume || 0,
weight: shopData.warehouseInInfoVO.weight || 0,
quantity: shopData.warehouseInInfoVO.quantityAll || 0
})}}
<!-- <span>{{(orderData.sumNum||0)+$t('')+(orderData.sumVolume||0)+''+(orderData.sumWeight||0)+'kg '+(orderData.sumQuantity||0) +$t('')}}</span> -->
</el-form-item>
<template v-else>{{$t('无入仓数据')}}</template>
</el-row>
</template>
<el-row :span="12">
<el-form-item :label="$t('异常描述')+':'">
<dict-tag :type="DICT_TYPE.ORDER_ERROR_TYPE" :value="orderExceptionData.orderExceptionType" />
<!-- {{orderExceptionData.orderExceptionDescVO?orderExceptionData.orderExceptionDescVO.descZh:''}} -->
</el-form-item>
<el-button v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" type="primary" plain icon="el-icon-plus" style="margin-left: 200px;" @click="handleAdd">新增收款单</el-button>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionDetails">
<el-form-item :label="$t('详细内容')+':'">
<span>{{orderExceptionData.orderExceptionDetails}}</span>
</el-form-item>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('收费参数')+':'">
<span>{{orderData.sumNum||0}}{{$t('')}} {{orderData.wvolume||0}}m³ {{orderData.vweight||0}}Kg {{orderData.sumQuantity||0}}{{$t('')}}</span>
</el-form-item>
</el-row>
</div>
</el-form>
<!-- 预付异常的表格 -->
<el-table v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" v-loading="loading" border :data="preException">
<el-table-column :label="$t('品名')" align="center">
<template slot-scope="scope">
{{scope.row.titleZh+'('+scope.row.titleEn+')'}}
</template>
</el-table-column>
<el-table-column :label="$t('箱数')" prop="num" />
<el-table-column :label="$t('体积/重量')">
<template slot-scope="scope">
{{scope.row.volume+'/'+scope.row.weight}}
</template>
</el-table-column>
<el-table-column :label="$t('收款类型')">
<template >
{{$t('预付')}}
</template>
</el-table-column>
<el-table-column :label="$t('收入类型')">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.FEE_TYPE" :value="scope.row.feeType"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('应收金额')" prop="totalAmount" >
<template slot-scope="{row}">
{{row.totalAmount}}
{{ currentMap[row.currencyId] }}
</template>
</el-table-column>
<!-- <el-table-column label="总金额美元" align="center" prop="totalAmount">
<template slot-scope="{row}">
{{row.totalAmount}}({{row.exchangeRate}})
</template>
</el-table-column>
<el-table-column label="总金额RMB" align="center" prop="totalAmount">
<template slot-scope="{row}">
{{row.totalAmount}}({{row.exchangeRate}})
<el-table-column :label="$t('品名')" align="center">
<template slot-scope="scope">
{{scope.row.titleZh+'('+scope.row.titleEn+')'}}
</template>
</el-table-column>
<el-table-column :label="$t('箱数')" prop="num" />
<el-table-column :label="$t('体积/重量')">
<template slot-scope="scope">
{{scope.row.volume+'/'+scope.row.weight}}
</template>
</el-table-column>
<el-table-column :label="$t('收款类型')">
<template >
{{$t('预付')}}
</template>
</el-table-column>
<el-table-column label="实收金额" prop="volume" /> -->
<el-table-column :label="$t('付款人')">
<template slot-scope="scope">
<span>{{scope.row.consigneeName}}({{$t('收货人')}})</span>
</el-table-column>
<el-table-column :label="$t('收入类型')">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.FEE_TYPE" :value="scope.row.feeType"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('应收金额')" prop="totalAmount" >
<template slot-scope="{row}">
{{row.totalAmount}}
{{ currencyMap[row.currencyId] }}
</template>
</el-table-column>
<el-table-column :label="$t('付款人')">
<template slot-scope="scope">
<span>{{scope.row.consigneeName}}({{$t('收货人')}})</span>
</template>
</el-table-column>
<el-table-column :label="$t('付款状态')" prop="worth">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_RECEIPT_STATE" :value="scope.row.state"></dict-tag>
</template>
</el-table-column>
</el-table>
<!-- 单证异常,发货人异常,其他异常的表格 -->
<el-table v-if="['order_doc_exception', 'order_consignor_exception', 'order_other_exception'].indexOf(orderExceptionData.orderExceptionType) > -1" v-loading="loading" border :data="orderData.orderItemVOList">
<el-table-column :label="$t('序号')" align="center" prop="id" type="index">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('中文名')" align="center" prop="prodTitleZh" />
<el-table-column :label="$t('英文名')" align="center" prop="prodTitleEn" />
<el-table-column :label="$t('品牌')" align="center" prop="brandType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.brandType"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('填单箱数')" prop="num" />
<el-table-column :label="$t('入仓箱数')">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.cartonsNum:0}}
</template>
</el-table-column>
<el-table-column :label="$t('方数')" prop="volume">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.volume:0}}
</template>
</el-table-column>
<el-table-column :label="$t('付款状态')" prop="worth">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_RECEIPT_STATE" :value="scope.row.state"></dict-tag>
</template>
</el-table-column>
</el-table>
<el-table v-if="orderExceptionData.orderExceptionType=='order_doc_exception'||orderExceptionData.orderExceptionType=='order_consignor_exception'||orderExceptionData.orderExceptionType=='order_other_exception'" v-loading="loading" border :data="orderData.orderItemVOList">
<el-table-column :label="$t('序号')" align="center" prop="id" type="index">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('中文名')" align="center" prop="prodTitleZh" />
<el-table-column :label="$t('英文名')" align="center" prop="prodTitleEn" />
<el-table-column :label="$t('品牌')" align="center" prop="brandType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.brandType"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('填单箱数')" prop="num" />
<el-table-column :label="$t('入仓箱数')">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.cartonsNum:0}}
</template>
</el-table-column>
<el-table-column :label="$t('方数')" prop="volume">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.volume:0}}
</template>
</el-table-column>
<el-table-column :label="$t('重量')" prop="weight">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.weight:0}}
</template>
</el-table-column>
<el-table-column :label="$t('数量')" prop="quantity">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.quantityAll:0}}
</template>
</el-table-column>
<el-table-column :label="$t('货值')" prop="worth" />
</el-table>
<el-form :model="handlerParams" ref="queryForms" size="small" :inline="true" label-width="120px" class="card">
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('订单总金额')+':'">
<span style="margin-left: 8px;" v-for="(item, key) of orderFee.totalAmountList">{{item}}{{key}}</span>
</el-form-item>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('应付预付金额')+':'">
<span style="margin-left: 8px;" v-for="(item, key) of orderFee.totalPaymentAmount">{{item}}{{key}}</span>
</el-form-item>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-col :span="6">
<el-form-item :label="$t('已核销预付金额')+':'">
{{orderFee.writeOffAmount}}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('已核销预付金额占总金额比例')+':'" label-width="200px">
{{orderFee.writeOffAmountScale}}
</el-form-item>
</el-col>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" >
<el-col :span="6">
<el-form-item :label="$t('预付商品货值')+':'">
{{orderFee.paymentGoodsWorth}}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('预付商品货值占佣金额比例')+':'" label-width="200px">
{{orderFee.paymentGoodsWorthScale}}
</el-form-item>
</el-col>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('预付商品方数')+':'">
{{orderFee.paymentGoodsVolume}}
</el-form-item>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-col :span="6">
<el-form-item :label="$t('订单总方数')+':'">
{{orderFee.totalVolume}}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('预付商品方数占总方数比例')+':'" label-width="200px">
{{orderFee.paymentGoodsVolumeScale}}
</el-form-item>
</el-col>
</el-row>
<el-row :span="8" v-if="orderExceptionData.orderExceptionType=='order_doc_exception'">
<el-form-item :label="$t('报关资料')+':'" size="medium">
<file-upload v-model="handlerParams.fileList" :value="orderExceptionData.file" ></file-upload>
</el-form-item>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'">
<el-form-item :label="$t('处理结果')+':'" required>
<el-select v-model="handlerParams.orderExceptionHandlerResult" placeholder="请选择" clearable>
<template v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')">
<el-option v-if="orderFee && orderFee.result && orderFee.result.indexOf(dict.value) > -1" :key="dict.value" :label="$l(dict, 'label')" :value="dict.value"/>
</template>
</el-select>
</el-form-item>
</el-row>
<el-row :span="8" v-if="orderExceptionData.orderExceptionType=='order_pick_up_exception'&&handlerParams.orderExceptionHandlerResult=='cost_required'">
<el-form-item :label="$t('送货费用')+':'" size="medium">
<el-input style="width: 100px;" type="text" v-model="handlerParams.amount" />
<el-select v-model="handlerParams.currency" style="width: 100px;margin-left: 10px;" clearable>
<el-option v-for="dict in getDictDatas('shipping_price_unit') "
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
</el-row>
<el-row :span="8" v-if="orderExceptionData.orderExceptionType!='order_lack_box_exception'&&orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'&&orderExceptionData.orderExceptionType!='order_other_exception'&&orderExceptionData.orderExceptionType!='order_lack_box_exception'">
<el-form-item :label="$t('备注')+':'" size="medium">
<el-input style="width: 500px;" type="textarea" v-model="handlerParams.orderExceptionHandlerRemark" />
</el-form-item>
</el-row>
<div v-if="orderExceptionData.orderExceptionType=='order_miss_exception'||orderExceptionData.orderExceptionType=='order_superfluous_goods_exception'||orderExceptionData.orderExceptionType=='order_in_water_exception'||orderExceptionData.orderExceptionType=='order_damage_exception'">
<!-- <el-row>
<el-form-item :label="$t('详细内容:')">
{{orderExceptionData.orderExceptionDetails||'无'}}
</el-form-item>
</el-row> -->
<el-row >
<el-form-item :label="$t('状态')+':'">
<el-radio-group v-model="handlerParams.orderExceptionStatus" @change="changeExceptionStatus">
<el-radio label="1">{{$t('处理中')}}</el-radio>
<el-radio label="2">{{$t('已处理')}}</el-radio>
</el-radio-group>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('处理结果')+':'" required v-if="handlerParams.orderExceptionStatus==2">
<el-select v-model="handlerParams.orderExceptionHandlerResult" placeholder="请选择" clearable>
<el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_don_result')"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
</el-row>
<el-row >
<el-form-item :label="$t('赔付金额')+':'" size="medium" required v-if="handlerParams.orderExceptionStatus==2">
<el-input style="width: 100px;" type="text" v-model="handlerParams.amount" />
<el-select v-model="handlerParams.currency" style="width: 100px;margin-left: 10px;" clearable>
<el-option v-for="dict in getDictDatas('shipping_price_unit') "
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('查明原因')+':'" required v-if="handlerParams.orderExceptionStatus==1">
<el-select v-model="handlerParams.orderExceptionHandlerResult" clearable>
<el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
</el-row>
</div>
</el-form>
</el-card>
<!-- 只有不需要预付才需要审核 -->
<template v-if="showWorkFlow">
<div class="page-title">审批流程</div>
<work-flow xmlkey="commission_config" v-model="handlerParams.ccIds" />
</template>
<div slot="footer" class="dialog-footer">
<!-- 审核中显示 -->
<template v-if="orderExceptionData.bpmStatus == 1">
<el-button type="primary" @click="$router.push(`/bpm/process-instance/detail?id=`+orderExceptionData.bpmId)">{{$t('审核中')}}</el-button>
<el-button plain type="primary" @click="dialogVisible = true">{{$t('取消审核')}}</el-button>
<el-button plain type="primary" @click="$store.dispatch('tagsView/delCurrentView')">{{$t('返回')}}</el-button>
<el-table-column :label="$t('重量')" prop="weight">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.weight:0}}
</template>
</el-table-column>
<el-table-column :label="$t('数量')" prop="quantity">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.quantityAll:0}}
</template>
<div v-else>
<el-button type="primary" @click="submitForm">{{$t('提交')}}</el-button>
<el-button plain type="primary" @click="$store.dispatch('tagsView/delCurrentView')">{{$t('取消')}}</el-button>
</div>
</el-table-column>
<el-table-column :label="$t('货值')" prop="worth" />
</el-table>
<!-- <div v-else-if="orderExceptionData.orderExceptionStatus!='order_pay_exception'">
<el-button type="primary" @click="submitForm">{{$t('提交')}}</el-button>
<el-button plain type="primary" @click="$store.dispatch('tagsView/delCurrentView')">{{$t('取消')}}</el-button>
</div>
<div v-else-if="orderExceptionData.orderExceptionStatus=='order_pay_exception'&&!orderExceptionData.bpmId">
<el-button type="primary" @click="submitForm">{{$t('提交')}}</el-button>
<el-button plain type="primary" @click="$store.dispatch('tagsView/delCurrentView')">{{$t('取消')}}</el-button>
</div> -->
<!-- <el-button v-if="orderExceptionData.orderExceptionStatus=='order_pay_exception'" type="primary" @click="submitForm">转交</el-button> -->
</div>
<el-form :model="handlerParams" ref="queryForms" size="small" :inline="true" label-width="120px" class="card">
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('订单总金额')+':'">
<span style="margin-left: 8px;" v-for="(item, key) of orderFee.totalAmountList" :key="key">
{{item}}
{{currencyMap[key]}}
</span>
</el-form-item>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('应付预付金额')+':'">
<span style="margin-left: 8px;" v-for="(item, key) of orderFee.totalPaymentAmount" :key="key">{{item}}{{currencyMap[key]}}</span>
</el-form-item>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-col :span="6">
<el-form-item :label="$t('已核销预付金额')+':'">
<span style="margin-left: 8px;" v-for="(item, key) of orderFee.writeOffAmount" :key="key">{{item}}{{currencyMap[key]}}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('已核销预付金额占总金额比例')+':'" label-width="200px">
{{orderFee.writeOffAmountScale}}%
</el-form-item>
</el-col>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" >
<el-col :span="6">
<el-form-item :label="$t('预付商品货值')+':'">
{{orderFee.paymentGoodsWorth}} {{$t('人民币')}}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('预付商品货值占佣金额比例')+':'" label-width="200px">
{{orderFee.paymentGoodsWorthScale}}%
</el-form-item>
</el-col>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('预付商品方数')+':'">
{{orderFee.paymentGoodsVolume}} {{$t('立方米')}}
</el-form-item>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-col :span="6">
<el-form-item :label="$t('订单总方数')+':'">
{{orderFee.totalVolume}} {{$t('立方米')}}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('预付商品方数占总方数比例')+':'" label-width="200px">
{{orderFee.paymentGoodsVolumeScale}}%
</el-form-item>
</el-col>
</el-row>
<el-row :span="8" v-if="orderExceptionData.orderExceptionType=='order_doc_exception'">
<el-form-item :label="$t('报关资料')+':'" size="medium">
<file-upload v-model="handlerParams.fileList" :value="orderExceptionData.file" ></file-upload>
</el-form-item>
</el-row>
<!--预付异常的备选需要根据接口数据过滤-->
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('处理结果')+':'" required>
<el-select v-model="handlerParams.orderExceptionHandlerResult" placeholder="请选择" clearable>
<template v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')">
<el-option v-if="orderFee && orderFee.result && orderFee.result.indexOf(dict.value) > -1" :key="dict.value" :label="$l(dict, 'label')" :value="dict.value"/>
</template>
</el-select>
</el-form-item>
</el-row>
<el-row v-else-if="orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'">
<el-form-item :label="$t('处理结果')+':'" required>
<el-select v-model="handlerParams.orderExceptionHandlerResult" placeholder="请选择" clearable>
<template v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')">
<el-option :key="dict.value" :label="$l(dict, 'label')" :value="dict.value"/>
</template>
</el-select>
</el-form-item>
</el-row>
<el-row :span="8" v-if="orderExceptionData.orderExceptionType=='order_pick_up_exception'&&handlerParams.orderExceptionHandlerResult=='cost_required'">
<el-form-item :label="$t('送货费用')+':'" size="medium">
<el-input style="width: 100px;" type="text" v-model="handlerParams.amount" />
<el-select v-model="handlerParams.currency" style="width: 100px;margin-left: 10px;" clearable>
<el-option v-for="dict in getDictDatas('shipping_price_unit') "
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
</el-row>
<el-row :span="8" v-if="orderExceptionData.orderExceptionType!='order_lack_box_exception'&&orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'&&orderExceptionData.orderExceptionType!='order_other_exception'&&orderExceptionData.orderExceptionType!='order_lack_box_exception'">
<el-form-item :label="$t('备注')+':'" size="medium">
<el-input style="width: 500px;" type="textarea" v-model="handlerParams.orderExceptionHandlerRemark" />
</el-form-item>
</el-row>
<div v-if="orderExceptionData.orderExceptionType=='order_miss_exception'||orderExceptionData.orderExceptionType=='order_superfluous_goods_exception'||orderExceptionData.orderExceptionType=='order_in_water_exception'||orderExceptionData.orderExceptionType=='order_damage_exception'">
<el-row >
<el-form-item :label="$t('状态')+':'">
<el-radio-group v-model="handlerParams.orderExceptionStatus" @change="changeExceptionStatus">
<el-radio label="1">{{$t('处理中')}}</el-radio>
<el-radio label="2">{{$t('已处理')}}</el-radio>
</el-radio-group>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('处理结果')+':'" required v-if="handlerParams.orderExceptionStatus==2">
<el-select v-model="handlerParams.orderExceptionHandlerResult" placeholder="请选择" clearable>
<el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_don_result')"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
</el-row>
<el-row >
<el-form-item :label="$t('赔付金额')+':'" size="medium" required v-if="handlerParams.orderExceptionStatus==2">
<el-input style="width: 100px;" type="text" v-model="handlerParams.amount" />
<el-select v-model="handlerParams.currency" style="width: 100px;margin-left: 10px;" clearable>
<el-option v-for="dict in getDictDatas('shipping_price_unit') "
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('查明原因')+':'" required v-if="handlerParams.orderExceptionStatus==1">
<el-select v-model="handlerParams.orderExceptionHandlerResult" clearable>
<el-option v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
</el-row>
</div>
</el-form>
</el-card>
<!-- 只有不需要预付才需要审核 -->
<template v-if="showWorkFlow">
<div class="page-title">{{$t('审批流程')}}</div>
<work-flow xmlkey="commission_config" v-model="handlerParams.ccIds" />
</template>
<div slot="footer" class="dialog-footer">
<!-- bpmStatus
异常流程状态,1处理中2通过3不通过4已取消
待审核可能没有bpmStatus字段
-->
<template v-if="orderExceptionData.bpmStatus == 1 || (orderExceptionData.bpmId && !orderExceptionData.bpmStatus)">
<el-button type="primary" @click="$router.push(`/bpm/process-instance/detail?id=`+orderExceptionData.bpmId)">{{$t('审核中')}}</el-button>
<el-button plain type="primary" @click="cancelAudit">{{$t('取消审核')}}</el-button>
<el-button plain type="primary" @click="$store.dispatch('tagsView/delCurrentView')">{{$t('返回')}}</el-button>
</template>
<template v-else>
<el-button type="primary" @click="submitForm">{{$t('提交')}}</el-button>
<el-button plain type="primary" @click="$store.dispatch('tagsView/delCurrentView')">{{$t('取消')}}</el-button>
</template>
</div>
</div>
</template>
......@@ -310,6 +338,7 @@
import {getExceptionById,handlerExceptionByExceptionId,getOrderItemById,getOrderFeeById} from "@/api/ecw/orderException"
import {getFirstReceivableListByOrderId} from '@/api/ecw/financial'
import WorkFlow from '@/components/WorkFlow'
import {cancelProcessInstance} from '@/api/bpm/processInstance'
export default {
name: "PrepayDeal",
components: {
......@@ -331,7 +360,7 @@
orderExceptionStatus:"1",
orderExceptionHandlerResult:''
},
shopData:{},
//发货/收货人信息
consigneeData:[],
routerList:[],
......@@ -359,13 +388,18 @@
}
},
computed: {
currentMap(){
currencyMap(){
let map = {}
this.currencyList.forEach(item => {
map[item.id] = this.$l(item, 'title')
})
return map
},
shopData(){
if(this.orderExceptionData.orderItemId && this.orderData && this.orderData.orderItemVOList){
return this.orderData.orderItemVOList.find(item => item.orderItemId == this.orderExceptionData.orderItemId)
}
}
},
methods: {
/** 查询列表 */
......@@ -416,11 +450,11 @@
// })
});
},
getShopData(id){
/* getShopData(id){
getOrderItemById(id).then(res=>{
this.shopData = res.data
})
},
}, */
handleSelectionChange(val) {
this.multipleSelection = val;
},
......@@ -438,7 +472,7 @@
}
handlerExceptionByExceptionId(this.handlerParams).then(res=>{
this.$modal.msgSuccess(this.$t('提交成功'));
this.$store.dispatch('tagsView/delCurrentView')
this.$redirect('/order/pending?id=' + this.orderData.orderId)
})
},
/** 跟进按钮操作 */
......@@ -450,7 +484,18 @@
}
});
},
// 取消审核
cancelAudit(){
this.$prompt("请输入取消原因", {
inputPattern: /[\S]+/,
inputErrorMessage: '不能为空'
}).then(({value}) => {
return cancelProcessInstance(this.orderExceptionData.bpmId, value)
})
.then(res => {
this.getList()
})
}
}
};
</script>
......@@ -475,6 +520,6 @@
width: 60%;
align-items: center;
display: flex;
justify-content: space-between;
/* justify-content: space-between; */
}
</style>
</style>
\ No newline at end of file
......@@ -500,7 +500,6 @@ export default {
if (this.warehousing.brand && this.warehousing.brand !== 0){
this.form.brand = this.warehousing.brand.toString() || ''
}
t
this.handleBrandChange(this.form.brand)
getWarehouseLastUpdateApprovalInfo({
orderItemId: this.warehousing.orderItemId,
......
......@@ -272,7 +272,12 @@ export default {
if (!val) return
// 特殊需求回显
if (val.specialList) {
let keyed = arrryToKeyedObjectBy(val.specialList, 'specialDictType')
val.specialList.forEach(item => {
let index = this.specialProducts.findIndex(special => special.specialDictType == item.specialDictType)
if(index > -1)this.specialProducts[index] = item
})
// this.specialProducts = val.specialList
/* let keyed = arrryToKeyedObjectBy(val.specialList, 'specialDictType')
this.specialProducts.map((item, index) => {
if (keyed[item.specialDictType]) {
for (let field in item) {
......@@ -281,7 +286,7 @@ export default {
}
}
}
})
}) */
}
},
'form.transportVolumeUnit'(val){
......@@ -353,6 +358,10 @@ export default {
if(res.data.validateEndDate){
this.form.validateEndDate = parseTime(res.data.validateEndDate)
}
// 特需价格更新
this.lineList = [res.data]
})
}
......
......@@ -7,20 +7,8 @@
<el-form-item :label="$t('关键字')" prop="nickname">
<el-input v-model="queryParams.searchKey" :placeholder="$t('搜索昵称、姓名、手机、Email')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="成交" prop="mobile">
<el-select v-model="queryParams.isDeal">
<el-option v-for="item in [{label:$t('全部'),value:''},{label:$t('是'),value:true},{label:$t('否'),value:false}]" :value="item.value" :label="item.label" :key="item.value" ></el-option>
</el-select>
</el-form-item>
<el-form-item label="认证" prop="password">
<el-select v-model="queryParams.authType">
<el-option v-for="item in [{label: $t('全部'),value: ''},{label:$t('营业执照认证'),value:1},{label:$t('身份证认证'),value:2},{label:$t('双认证'),value:3}]" :key="item.value" :value="item.value" :label="item.label"></el-option>
</el-select>
</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>
<el-button :loading="exportLoading" type="primary" @click="exportFn">{{$t('导 出')}}</el-button>
</el-form-item>
</el-form>
......@@ -34,48 +22,19 @@
<el-table-column :label="$t('公司名称')" align="center" prop="enterpriseName" />
<el-table-column :label="$t('用户昵称')" align="center" prop="nickname" />
<el-table-column :label="$t('真实姓名')" align="center" prop="identityName" />
<el-table-column :label="$t('区号')">
<el-table-column align="center" :label="$t('区号')">
<template v-slot:default = 'scope'>
+{{scope.row.areaCode ? `${scope.row.areaCode}`:''}}
</template>
</el-table-column>
<el-table-column :label="$t('手机号')" show-overflow-tooltip align="center" prop="mobile" >
</el-table-column>
<el-table-column :label="$t('成交')" align="center" prop="" show-overflow-tooltip >
<template v-slot="{row}">
{{row.customerStatus === 3 ? $t('成交') : $t('非成交')}}
</template>
</el-table-column>
<el-table-column label="认证" align="center" :formatter="authentication" />
<el-table-column label="状态" align="center" prop="status" >
<template slot-scope="scope">
<el-switch v-model="scope.row.status" :active-value="0" :inactive-value="1" @change="handleStatusChange(scope.row)" />
</template>
</el-table-column>
<el-table-column :label="$t('身份证审核状态')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<div v-if="!scope.row.identityAuditStatus">{{$t('未提交')}}</div>
<dict-tag v-else :type="DICT_TYPE.AUDIT_STATUS" :value="scope.row.identityAuditStatus" ></dict-tag>
<el-tooltip v-if="scope.row.identityAuditStatus === 3" class="item" effect="dark" :content="scope.row.identityAuditRemark" placement="bottom">
<i class="el-icon-question"></i>
</el-tooltip>
</template>
</el-table-column>
<el-table-column :label="$t('营业执照审核状态')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<div v-if="!scope.row.enterpriseAuditStatus">{{$t('未提交')}}</div>
<dict-tag v-else :type="DICT_TYPE.AUDIT_STATUS" :value="scope.row.enterpriseAuditStatus" ></dict-tag>
<el-tooltip v-if="scope.row.enterpriseAuditStatus === 3" class="item" effect="dark" :content="scope.row.rowenterpriseAuditRemark" placement="bottom">
<i class="el-icon-question"></i>
</el-tooltip>
</template>
</el-table-column>
<el-table-column :label="$t('提交审核时间')" align="center" prop="createTime" width="180">
<el-table-column :label="$t('提交审核时间')" align="center" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.identityAuditCreateTime) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="200px">
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope" >
<el-button v-if="scope.row.identityAuditStatus !== 0 && scope.row.identityAuditStatus !== undefined" size="mini" type="text" @click="identityFn(scope.row , '1')">{{$t('身份证审核')}}</el-button>
</template>
......@@ -139,25 +98,20 @@
<script>
import {
createUser,
updateUser,
deleteUser,
getUserPage,
exportUserExcel,
operationLogApi,
seTupdateBackletter,
memberGetAuthIdcardInfo,
memberGetAuthEnterpriseInfo,
memberUserAuditIdCard,
memberUserUpdateIdCard,
memberUserUpdateEnterprise, setUserUpdateStatus, userCreateAuditEnterprise
setUserUpdateStatus, userCreateAuditEnterprise, getWaitApprovePage
} from "@/api/member/user";
import {DICT_TYPE, getDictDatas} from "@/utils/dict";
import FileUpload from "@/components/FileUpload"
import ImageUpload from "@/components/ImageUpload";
import uploadImage from "@/components/UploadImage";
import {CommonStatusEnum} from "@/utils/constants";
import {changeUserStatus, listServiceUser, listSimpleUsers} from "@/api/system/user";
export default {
name: "underReview",
......@@ -189,8 +143,6 @@ export default {
title: "",
// 是否显示弹出层
open: false,
dateRangeLoginDate: [],
dateRangeCreateTime: [],
// 查询参数
queryParams: {
page: 1,
......@@ -198,7 +150,7 @@ export default {
isDeal:undefined,// 是否成交
searchKey:undefined,//关键字
auditStatus:1,//审核状态
authType:undefined,//关键字
authType:2,//关键字
},
// 表单参数
form: {},
......@@ -229,7 +181,6 @@ export default {
},
methods: {
deleteFn(row){
console.log(row)
this.$modal.confirm(`${this.$t('是否要删除昵称为')}${row.nickname}${this.$t('的会员')}`).then(function (){
return deleteUser(row.id)
}).then( res => {
......@@ -267,10 +218,8 @@ export default {
this.loading = true;
// 处理查询参数
let params = {...this.queryParams};
this.addBeginAndEndTime(params, this.dateRangeLoginDate, 'loginDate');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行查询
getUserPage(params).then(response => {
getWaitApprovePage(params).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
......@@ -314,8 +263,6 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.dateRangeLoginDate = [];
this.dateRangeCreateTime = [];
this.resetForm("queryForm");
this.queryParams = {
page: 1,
......@@ -323,7 +270,7 @@ export default {
isDeal:undefined,// 是否成交
searchKey:undefined,//关键字
auditStatus:1,//审核状态
authType:undefined,//关键字
authType:2,//关键字
}
this.handleQuery();
},
......@@ -386,17 +333,6 @@ export default {
}
})
},
authentication(row){
if(!row.identityAuditStatus && !row.enterpriseAuditRemark){
return this.$t('')
}else if(row.identityAuditStatus >= 0 && row.enterpriseAuditRemark >= 0){
return this.$t('双认证')
} else if(row.identityAuditStatus >= 0){
return this.$t('身份')
}else if(row.enterpriseAuditRemark >= 0){
return this.$t('营业')
}
},
submit(){
let p = {
cardNumber:this.enterpriseFrom.cardNumber,
......
......@@ -262,7 +262,7 @@ export default {
// 表单重置
reset() {
this.form = {
id: undefined,
/* id: undefined,
parentId: 0,
name: undefined,
enName: undefined,
......@@ -272,9 +272,9 @@ export default {
sort: undefined,
keepalive: false,
redirect: undefined,
status: CommonStatusEnum.ENABLE
status: CommonStatusEnum.ENABLE */
};
this.resetForm("form");
/* this.resetForm("form"); */
},
/** 搜索按钮操作 */
handleQuery() {
......
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