Commit a53123da authored by wanglianghe's avatar wanglianghe
parents cee33929 0eea2596
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,
});
......
......@@ -109,7 +109,7 @@ export function getReceivableItemDetail(query) {
// 获取收款单明细
export function getInvoicingItem(query) {
return request({
url: '/ecw/receipt/getInvoicingItem',
url: '/ecw/receipt/getReceivableItemDetail',
method: 'get',
params: query
})
......
......@@ -189,6 +189,15 @@ export function getWarehouseUpdateApprovalInfo(id) {
})
}
// 获取最近的入仓修改审批单详情-修改页面使用
export function getWarehouseLastUpdateApprovalInfo(params) {
return request({
url: '/order/order-warehouse-in/get-last-update-approval-info',
method: 'get',
params
})
}
// 入仓完成
export function orderWarehouseInFinish(data){
return request({
......@@ -457,4 +466,4 @@ export function updateApply(data){
method:'put',
data
})
}
\ No newline at end of file
}
......@@ -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
......@@ -26,7 +26,7 @@
</el-radio-group>
</div>
<el-row class="" :gutter="10">
<template v-for="item in filteredRouterList">
<template v-for="(item, index) in filteredRouterList">
<el-col :span="12" :key="item.value">
<el-card class="mb-10">
<div slot="header">
......@@ -51,6 +51,9 @@
</template>
</el-table-column>
<el-table-column :label="$t('操作')" prop="">
<template slot="header">
<el-checkbox @change="toggleGroupChecker(index, $event)" v-model="groupChecker[item.value]"></el-checkbox>
</template>
<template slot-scope="{row}">
<el-checkbox :checked="getSelectedIndex(row) > -1" @change="toggleChecker(row, $event)"></el-checkbox>
</template>
......@@ -85,6 +88,7 @@ export default {
selectedRoutes: [], // 勾选的路线渠道
hideMap: {}, // 折叠状态
checkAll: null,
groupChecker: {}, // 分组全选状态
}
},
......@@ -197,6 +201,14 @@ export default {
},
methods:{
// 全选、全不选 某个运输方式所有线路
toggleGroupChecker(index, selected){
let routerList = this.filteredRouterList[index].routerList
console.log(routerList.length, selected)
routerList.forEach(router => {
this.toggleChecker(router, selected)
})
},
getOpenedRouterList(){
let params = {}
if(this.exportCity){
......
......@@ -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) {
......
......@@ -198,6 +198,7 @@ export const DICT_TYPE = {
BOX_SHIPPING_PROCESS: 'shipping_process', // 海运出货流程
BOX_SHIPPING_BRAND_TYPE: 'shipping_brand_type', // 出货品牌类型
BOX_SHIPPING_NOTICE_TYPE: 'shipping_notice_type', // 出货通知类型
BOX_ORDER_SHIPMENT_STATE: 'order_shipment_state'
}
/**
......
......@@ -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()]
}
......
......@@ -2,42 +2,51 @@
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item :label="$t('任务名称')" prop="name">
<el-input v-model="queryParams.name" :placeholder="$t('请输入任务名称')" clearable @keyup.enter.native="handleQuery"/>
<el-form-item label="编号" 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>
<el-form-item :label="$t('流程分类')" prop="category">
<el-select v-model="queryParams.category" :placeholder="$t('请选择流程分类')" clearable>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item :label="$t('业务编号')" prop="businessNo">
<el-input v-model="queryParams.businessNo" :placeholder="$t('请输入业务编号')" clearable
@keyup.enter.native="handleQuery"/>
</el-form-item>
<!-- <el-form-item :label="$t('流程编号')" prop="name">
缺少字段
</el-form-item> -->
<!-- <el-form-item :label="$t('流程分类')" prop="name">
缺少字段
</el-form-item> -->
<el-form-item :label="$t('提交时间')">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
type="daterange" range-separator="-" :start-placeholder="$t('开始日期')"
:end-placeholder="$t('结束日期')"/>
</el-form-item>
<!-- <el-form-item :label="$t('业务编号')" prop="name">
缺少字段
</el-form-item> -->
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
<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-form-item>
</el-form>
<!-- 列表 -->
<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="" width="200" >
缺少字段
</el-table-column> -->
<el-table-column :label="$t('流程分类')" align="center" prop="category" width="200" />
<el-table-column :label="$t('当前审批节点')" align="center" prop="name" width="200" />
<el-table-column :label="$t('编号')" align="center" prop="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">
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category"/>
</template>
</el-table-column>
<el-table-column :label="$t('当前审批节点')" align="center" prop="name" width="200"/>
<!-- <el-table-column :label="$t('状态')" align="center" prop="" width="200" >
缺少字段
</el-table-column> -->
<el-table-column :label="$t('流程发起人')" align="center" prop="processInstance.startUserNickname" width="120" />
<el-table-column :label="$t('流程发起人')" align="center" prop="processInstance.startUserNickname" width="120"/>
<el-table-column :label="$t('结果')" align="center" prop="result">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT" :value="scope.row.result"/>
......@@ -56,7 +65,8 @@
<el-table-column :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleAudit(scope.row)"
v-hasPermi="['bpm:task:query']">{{$t('详情')}}</el-button>
v-hasPermi="['bpm:task:query']">{{ $t('详情') }}
</el-button>
</template>
</el-table-column>
</el-table>
......@@ -73,8 +83,7 @@ import {getDate} from "@/utils/dateUtils";
export default {
name: "Done",
components: {
},
components: {},
data() {
return {
// 遮罩层
......@@ -126,7 +135,7 @@ export default {
},
/** 处理审批按钮 */
handleAudit(row) {
this.$router.push({ path: "/bpm/process-instance/detail", query: { id: row.processInstance.id}});
this.$router.push({path: "/bpm/process-instance/detail", query: {id: row.processInstance.id}});
},
}
};
......
......@@ -2,12 +2,13 @@
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item :label="$t('流程名')" prop="name">
<el-input v-model="queryParams.name" :placeholder="$t('请输入流程名')" clearable @keyup.enter.native="handleQuery"/>
<el-form-item label="流程编号" 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>
<!-- <el-form-item label="编号" prop="name">
缺少字段
</el-form-item> -->
<el-form-item :label="$t('流程分类')" prop="category">
<el-select v-model="queryParams.category" :placeholder="$t('请选择流程分类')" clearable>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY)"
......@@ -15,57 +16,63 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('业务编号')" prop="businessNo">
<el-input v-model="queryParams.businessNo" :placeholder="$t('请输入业务编号')" clearable
@keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('提交时间')">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')"/>
type="daterange" range-separator="-" :start-placeholder="$t('开始日期')"
:end-placeholder="$t('结束日期')"/>
</el-form-item>
<el-form-item :label="$t('业务编号')" prop="businessNo">
<el-input v-model="queryParams.businessNo" :placeholder="$t('请输入业务编号')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item>
<el-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 type="primary" icon="el-icon-search" @click="handleQuery">{{ $t('搜索') }}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{ $t('重置') }}</el-button>
</el-form-item>
</el-form>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column :label="$t('编号')" align="center" prop="id" width="320"/>
<el-table-column :label="$t('流程名称')" align="center" prop="processInstance.name" width="320"/>
<el-table-column :label="$t('任务编号')" align="center" prop="id" width="320"/>
<el-table-column :label="$t('任务名称')" align="center" prop="processInstance.name" width="320"/>
<el-table-column :label="$t('业务编号')" align="center" prop="businessNo"/>
<el-table-column :label="$t('流程分类')" align="center" prop="category">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category"/>
</template>
</el-table-column>
<el-table-column :label="$t('业务编号')" align="center" prop="businessNo"/>
<el-table-column :label="$t('当前审批节点')" align="center" prop="name"/>
<el-table-column :label="$t('状态')" align="center" prop="version" width="80">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.suspensionState === 1">{{$t('激活')}}</el-tag>
<el-tag type="warning" v-if="scope.row.suspensionState === 2">{{$t('挂起')}}</el-tag>
<el-tag type="success" v-if="scope.row.suspensionState === 1">{{ $t('激活') }}</el-tag>
<el-tag type="warning" v-if="scope.row.suspensionState === 2">{{ $t('挂起') }}</el-tag>
</template>
</el-table-column>
<!-- <el-table-column :label="$t('结果')" align="center" prop="processInstance.startUserNickname">
缺少字段
</el-table-column> -->
<el-table-column :label="$t('结果')" align="center" prop="result">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT" :value="scope.row.result"/>
</template>
</el-table-column>
<el-table-column :label="$t('提交时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<!-- <el-table-column :label="$t('结束时间')" align="center" prop="createTime" width="180">
<el-table-column :label="$t('结束时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
缺少字段
<span>{{ parseTime(scope.row.endTime) }}</span>
</template>
</el-table-column> -->
</el-table-column>
<el-table-column :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleAudit(scope.row)"
v-hasPermi="['bpm:task:update']">{{$t('审批')}}
v-hasPermi="['bpm:task:update']">{{ $t('审批') }}
</el-button>
</template>
</el-table-column>
......
......@@ -61,7 +61,7 @@
<span>{{ formatTime(scope.row.validateStart) }}~{{ formatTime(scope.row.validateEnd) }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<span>{{ statusName(scope.row.status) }}</span>
......@@ -73,11 +73,11 @@
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" 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:banner-pop:update']">修改</el-button>
v-hasPermi="['ecw:banner-pop:update']">修改</el-button>
<el-button size="mini" type="text" @click="handleStatus(scope.row)"
v-hasPermi="['ecw:banner-pop:update']">{{scope.row.status == CommonStatusEnum.ENABLE ? '禁用' : '启用'}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
......@@ -101,16 +101,16 @@
<el-form-item label="有效期" prop="validateStart">
<el-date-picker v-model="form.validateStart" @change="startChange"
type="date"
placeholder="选择日期">
placeholder="选择日期" value-format="yyyy-MM-dd">
</el-date-picker>
~
<el-date-picker v-model="form.validateEnd"
type="date"
placeholder="选择日期">
placeholder="选择日期" value-format="yyyy-MM-dd">
</el-date-picker>
<span style="color:red;font-size:14px;">注意:留空则表示永久有效</span>
</el-form-item>
<el-form-item label="网页中文" prop="htmlWebZh">
<editor v-model="form.htmlWebZh" :min-height="150"/>
</el-form-item>
......@@ -216,7 +216,7 @@ export default {
}
}
},
},
computed: {
......@@ -291,7 +291,7 @@ export default {
/**开始日期变了 */
startChange(val) {
},
/** 搜索按钮操作 */
......
......@@ -17,7 +17,7 @@
</el-form-item>
<el-form-item :label="$t('柜型')" prop="cabinetId">
<el-select v-model="queryParams.cabinetId" :placeholder="$t('请选择柜型')">
<el-option v-for="item in cabinetList" :label="$l(item, 'name')" :value="item.name" :key="item.id"></el-option>
<el-option v-for="item in cabinetList" :label="$l(item, 'name')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
......@@ -43,9 +43,9 @@
<el-date-picker v-model="queryParams.dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item :label="$t('状态')" prop="boxStatus">
<el-form-item :label="$t('状态')">
<el-select v-model="queryParams.boxStatus" :placeholder="$t('请选择状态')" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BOX_SHIPMENT_STATUS)" :key="dict.value" :label="$l(dict, 'label')" :value="dict.value" />
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BOX_ORDER_SHIPMENT_STATE)" :key="dict.value" :label="$l(dict, 'label')" :value="dict.value" />
</el-select>
</el-form-item>
......@@ -124,7 +124,7 @@
<el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item>
<el-dropdown-item command="cost">{{$t('费用登记')}}</el-dropdown-item>
<el-dropdown-item command="delete">{{$t('删除')}}</el-dropdown-item>
<el-dropdown-item v-if="scope.row.ldStatus>42" command="editLadingBill">{{$t('编辑提货单')}}</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.ldStatus<42" command="editLadingBill">{{$t('编辑提货单')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
......@@ -432,7 +432,7 @@ export default {
case "editLadingBill":
const cabinetLabel = this.getCabinetName(row.cabinetId);
const title = this.$t('查看提单 {selfNo} 柜号:{cubNo} 柜型:{cabinetLabel}`', {
const title = this.$t('查看提单 {selfNo} 柜号:{cubNo} 柜型:{cabinetLabel}', {
selfNo: row.selfNo,
cubNo: row.cubNo,
cabinetLabel: cabinetLabel
......
......@@ -100,7 +100,7 @@
size="small"
>
<el-option
v-for="dict in this.getDictDatas(DICT_TYPE.BOX_SHIPMENT_STATUS)"
v-for="dict in this.getDictDatas(DICT_TYPE.BOX_ORDER_SHIPMENT_STATE)"
:key="dict.value"
:label="$l(dict, 'label')"
:value="dict.value"
......@@ -226,7 +226,7 @@
<el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item>
<el-dropdown-item command="cost">{{$t('费用登记')}}</el-dropdown-item>
<el-dropdown-item command="delete">{{$t('删除')}}</el-dropdown-item>
<el-dropdown-item v-if="scope.row.ldStatus>42" command="editLadingBill">{{$t('编辑提货单')}}</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.ldStatus<42" command="editLadingBill">{{$t('编辑提货单')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
......@@ -557,7 +557,7 @@ export default {
case "editLadingBill":
const cabinetLabel = this.getCabinetName(row.cabinetId);
/* const title =
/* const title =
`查看提单 ${row.selfNo ?? ""} 柜号:${
row.cubNo ?? ""
......
......@@ -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,10 +143,14 @@ export default {
/* const title = `查看提单 ${this.shipmentObj.selfNo ?? ""} 柜号:${
this.shipmentObj.cubNo ?? ""
} 柜型:${cabinetLabel}`; */
const title = this.$t('查看提单 {selfNo} 柜号:{cubNo}', {
selfNo: this.shipmentObj.selfNo,
cubNo: this.shipmentObj.cubNo
})
const title = this.$t(
"查看提单 {selfNo} 柜号:{cubNo} 柜型:{cabinetLabel}",
{
selfNo: this.shipmentObj.selfNo,
cubNo: this.shipmentObj.cubNo,
cabinetLabel,
}
);
this.$set(this.dialogCfg, "title", title);
},
closeDialog(type) {
......@@ -181,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;
......@@ -189,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;
......@@ -219,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()
......
......@@ -103,7 +103,7 @@
</el-table>
</el-card>
<el-card class="card" v-if="splitData">
<el-card class="card" v-if="splitData.id">
<!-- 列表 -->
<div slot="header" class="card-title">{{$t('拆单信息')}}</div>
<div>
......@@ -154,7 +154,7 @@
</template>
</el-table-column>
<el-table-column :label="$t('计划装柜')" align="center">
{{$t('无')}}
{{planCabinet}}
</el-table-column>
<el-table-column :label="$t('操作')" align="center">
<template slot-scope="scope">
......@@ -193,11 +193,23 @@
<el-option v-for="item in orderItems" :label="item.prodTitleEn" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="剩余箱数:">
{{shopForm.sum||0}}
<el-row>
<el-col :span="12">
<el-form-item label="剩余箱数:">
{{shopForm.num||0}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="剩余数量(个):">
{{shopForm.quantity||0}}
</el-form-item>
</el-col>
</el-row>
<el-form-item label="放入箱数:">
{{shopForm.num||0}}
</el-form-item>
<el-form-item label="放入箱数:" prop="num">
<el-input-number v-model="shopForm.num" controls-position="right" :min="0" :max="shopForm.sum"></el-input-number>
<el-form-item label="放入数量(个):" prop="putQuantity">
<el-input-number v-model="shopForm.putQuantity" controls-position="right" :min="0"></el-input-number>
</el-form-item>
<el-form-item label="备注信息:">
<el-input v-model="shopForm.remarks"></el-input>
......@@ -215,7 +227,7 @@
<script>
import {
getSplitList,
createSplit,
quantitycheck,
createSplitItem,
deleteSplitItem,
} from "@/api/ecw/orderHandle";
......@@ -243,6 +255,7 @@ export default {
loading: false,
selectedUsers: [],
tradeCityList: [],
planCabinet: "",
shopOpen: false,
orderItems: [],
......@@ -263,9 +276,6 @@ export default {
trigger: "change",
},
],
num: [
{ required: true, message: this.$t("请输入箱数"), trigger: "change" },
],
},
queryParams: {
orderId: 0,
......@@ -274,6 +284,8 @@ export default {
};
},
created() {
const { shipmentObj } = this.$attrs;
this.planCabinet =`${shipmentObj.selfNo}-${this.currRow.sectionName}`
getTradeCityList().then((res) => (this.tradeCityList = res.data));
this.queryParams.orderId = this.currRow.orderId;
this.getOrderDetail();
......@@ -334,13 +346,9 @@ export default {
orderId: this.currRow.orderId,
shipmentId: shipmentObj.id,
}).then((res) => {
const orderSplitBackVOList = res.data;
if (orderSplitBackVOList && orderSplitBackVOList.length) {
// 取拆单项
this.splitData = orderSplitBackVOList.filter(
(item) => !item.isMaster
)[0];
}
const data = res.data;
// 取拆单项
this.splitData = data.filter((item) => !item.isMaster)?.[0] ?? {};
});
},
/* 查询拆单项 */
......@@ -350,16 +358,12 @@ export default {
orderId: this.currRow.orderId,
shipmentType: 1,
}).then((res) => {
console.log(res)
const { orderSplitBackVOList } = res.data;
if (orderSplitBackVOList && orderSplitBackVOList.length) {
this.orderItems = this.currRow.goodsList ?? [];
console.log(this.orderItems);
// 取拆单项
this.splitData = orderSplitBackVOList.filter(
(item) => !item.isMaster
)[0];
}
const { orderSplitBackVOList } = res.data; // 取拆单项
const list =
orderSplitBackVOList.filter((item) => !item.isMaster)?.[0] ?? {};
this.splitData.orderSplitItemBackVOList =
list.orderSplitItemBackVOList ?? [];
});
},
getOrderDetail() {
......@@ -414,20 +418,6 @@ export default {
leviteW,
}
);
/* "下单统计:" +
orderSum +
" 箱 " +
orderV +
" m³ " +
orderW +
" kg " +
" 入仓统计:" +
leviteSum +
" 箱 " +
leviteV +
" m³ " +
leviteW +
" kg"; */
return sums;
},
......@@ -456,21 +446,46 @@ export default {
this.shopForm = {};
this.shopOpen = true;
},
changeProdTitleZh() {
let list = [];
list = this.orderItems.filter((item) => item.id == this.shopForm.zhId);
this.shopForm.sum =
this.currRow.num - this.currRow.installNum - this.totalSplitNum();
this.shopForm.orderItemId = list[0].orderItemId;
this.shopForm.prodTitleEn = list[0].prodTitleEn;
async changeProdTitleZh() {
const data = await this.getSelectData("zhId");
this.shopForm.enId = data.id;
this.shopForm = { ...this.shopForm };
},
async changeProdTitleEn() {
const data = await this.getSelectData("enId");
this.shopForm.zhId = data.id;
this.shopForm = { ...this.shopForm };
},
changeProdTitleEn() {
async getSelectData(key) {
let list = [];
list = this.orderItems.filter((item) => item.id == this.shopForm.enId);
this.shopForm.sum =
this.currRow.num - this.currRow.installNum - this.totalSplitNum();
this.shopForm.orderItemId = list[0].orderItemId;
this.shopForm.prodTitleZh = list[0].prodTitleZh;
list = this.orderItems.filter((item) => item.id == this.shopForm[key]);
this.shopForm.num = this.currRow.num - this.currRow.installNum;
const data = list[0];
this.shopForm.orderItemId = data.orderItemId;
this.shopForm.quantity = data.quantity;
this.shopForm.putQuantity = Decimal.div(
data.quantity,
this.shopForm.num
).toFixed(0);
await quantitycheck({
seaFreightVolume: data.seaFreightVolume,
clearanceFreightVolume: data.clearanceFreightVolume,
}).then((res) => {
if (res.data) {
this.shopRules.putQuantity = [
{
required: true,
message: this.$t("请输入数量(个)"),
trigger: "change",
},
];
} else {
delete this.shopRules.putQuantity;
}
});
return data;
},
shopAdd() {
this.$refs["shopForm"].validate((valid) => {
......@@ -490,9 +505,14 @@ export default {
this.$message.error(this.$t("放入箱数不能为0"));
return;
}
if (this.shopForm.putQuantity === 0) {
this.$message.error(this.$t("放入数量(个)不能为0"));
return;
}
let params = {
num: this.shopForm.num,
quantity: this.shopForm.putQuantity,
orderItemId: this.shopForm.orderItemId,
orderSplitId: this.splitData.id,
remarks: this.shopForm.remarks,
......@@ -500,6 +520,7 @@ export default {
createSplitItem(params).then((res) => {
this.$message.success(this.$t("放入成功"));
this.querySplitGoods();
this.$refs["shopForm"].resetFields();
});
this.shopOpen = false;
}
......@@ -528,6 +549,7 @@ export default {
});
},
shopCancel() {
this.$refs["shopForm"].resetFields();
this.shopOpen = false;
this.shopForm = {};
},
......
......@@ -233,7 +233,7 @@
</el-row>
<el-table v-loading="toBePreLoading" :data="item.boxOrderItemList" border show-summary :summary-method="getSummaries">
<el-table-column type="index" align="center" :label="$t('序号')" width="50" />
<el-table-column :label="$t('品名')" align="center" :prop="$t('prodTitle')" />
<el-table-column :label="$t('品名')" align="center" prop="prodTitleZh" />
<el-table-column :label="$t('备案')" align="center" prop="brandType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_BRAND_TYPE" :value="scope.row.brandType" />
......
This diff is collapsed.
......@@ -638,9 +638,7 @@ export default {
// this.getList();
const obj = { path: "/customer/customer" };
this.$tab.closeOpenPage(obj);
}).catch(e => {
this.$modal.msgError(e.msg || this.$t('添加客户失败,请联系管理员'))
});
})
return;
}
// 添加的提交
......@@ -650,9 +648,7 @@ export default {
// this.getList();
const obj = { path: "/customer/customer" };
this.$tab.closeOpenPage(obj);
}).catch(e => {
this.$modal.msgError(e.msg || this.$t('添加客户失败,请联系管理员'))
});
})
});
})
},
......
......@@ -12,12 +12,13 @@
:key="item.channelId"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('开始时间')" prop="beginStartTime">
<el-date-picker v-model="queryParams.beginStartTime" :placeholder="$t('请选择开始时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item :label="$t('结束时间')" prop="endStartTime">
<el-date-picker v-model="queryParams.endStartTime" :placeholder="$t('请选择结束时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item>
<el-date-picker v-model="dateFilter" type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<!-- <el-date-picker v-model="queryParams.beginStartTime" :placeholder="$t('请选择开始时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>-->
</el-form-item>
<!-- <el-form-item :label="$t('结束时间')" prop="endStartTime">-->
<!-- <el-date-picker v-model="queryParams.endStartTime" :placeholder="$t('请选择结束时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
</el-form-item>
......@@ -36,7 +37,7 @@
<dict-tag :type="DICT_TYPE.ECW_OFFER_STATUS" :value="scope.row.offerStatus"/>
</template>
</el-table-column>
<el-table-column :label="$t('订单号')" align="center" prop="orderId"/>
<el-table-column :label="$t('订单号')" align="center" prop="orderNo"/>
<el-table-column :label="$t('发货人')" align="center" prop="consignorName"/>
<el-table-column :label="$t('唛头')" align="center" prop="marks"/>
<el-table-column :label="$t('是否控货')" align="center" prop="isCargoControl">
......@@ -93,6 +94,7 @@
tableList: [],
// 弹出层标题
title: "",
dateFilter:[],
detail: {
deptName: null,
targetType: null,
......@@ -214,6 +216,8 @@
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.queryParams.beginStartTime=this.dateFilter[0];
this.queryParams.endStartTime=this.dateFilter[1];
this.getList();
},
/** 重置按钮操作 */
......
......@@ -266,7 +266,7 @@
</el-table-column>
<el-table-column :label="$t('应收金额')" align="center" prop="receivableAmount">
<template slot-scope="scope" v-if="scope.row.type !== 'total'">
{{ `${NP.minus(scope.row.receivableAmount, scope.row.discountTotal)}${scope.row.discountTotal > 0 ? `(${scope.row.receivableAmount} - ${scope.row.discountTotal})` : ''}` }}
{{ `${NP.minus(scope.row.receivableAmount, scope.row.discountTotal || 0)}${scope.row.discountTotal > 0 ? `(${scope.row.receivableAmount} - ${scope.row.discountTotal})` : ''}` }}
</template>
</el-table-column>
<el-table-column align="center" width="220">
......@@ -1147,6 +1147,7 @@ export default {
this.saveBtnLoading = false
})
} else {
params.currencyId = this.showCurrencyId
createReceipt(params).then(res => {
this.$modal.msgSuccess(this.$t('保存成功'));
this.$router.back();
......@@ -1170,6 +1171,7 @@ export default {
this.saveBtnLoading = false
})
} else {
params.currencyId = this.showCurrencyId
createReceipt(params).then(res => {
this.$modal.msgSuccess(this.$t('新增成功'));
this.$router.back();
......
......@@ -242,34 +242,19 @@
</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> -->
<div>
<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 +262,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 +459,16 @@ export default {
}
if (groupList.length === 1) return groupList[0].currencyId
else return 1
},
// 已核销总金额
writeOffTotal(){
let total = {}
this.detailed.forEach(item => {
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">
......
......@@ -221,7 +221,8 @@ export default {
getOrderListFn() {
getOrderPage({orderIdList: this.orderList}).then(r => {
this.list = r.data.list
warehouseAdjustmentList({id: this.list[0].startWarehouseId}).then(r => this.availableWarehouse = r.data)
console.log(this.list,'this.list[0].startWarehouseId');
warehouseAdjustmentList({id: this.list[0].adjustToStartWarehouseId ? this.list[0].adjustToStartWarehouseId : this.list[0].startWarehouseId}).then(r => this.availableWarehouse = r.data)
adjustLastWithStatus({orderId:this.list[0].orderId,lang:0}).then(r =>{
this.applyStatus = r.data
if(r.data?.orderWarehouseAdjustBackVO?.status === 1){
......
......@@ -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">
......@@ -425,8 +425,8 @@
</template>
<template v-else>
<el-button type="primary" @click="submitForm(0)" v-if="!form.status">{{$t('保存草稿')}}</el-button> <!--草稿-->
<el-button type="primary" @click="submitForm(2)" v-if="!form.orderId || !form.status">{{$t('提交报价')}}</el-button> <!--待入仓-->
<el-button type="primary" @click="submitForm(2)" v-else>{{$t('编辑')}}</el-button> <!--修改-->
<el-button type="primary" @click="submitForm(2)" v-if="!form.orderId || !form.status">{{$t('新建订单')}}</el-button> <!--待入仓-->
<el-button type="primary" @click="submitForm(2)" v-else>{{$t('编辑订单')}}</el-button> <!--修改-->
</template>
<el-button @click="$store.dispatch('tagsView/delCurrentView')">{{$t('返回')}}</el-button>
</el-form-item>
......
......@@ -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,
})
......
This diff is collapsed.
......@@ -18,7 +18,7 @@
<el-form-item :label="$t('是否预付')">
<dict-tag :type="DICT_TYPE.ECW_YESNO" :value="orderItem.isPayAdvance" />
</el-form-item>
<el-row v-if="!orderItem.charging">
<el-col :span="12">
<el-form-item :label="$t('旧运费')">
......@@ -45,15 +45,15 @@
</el-form-item>
</el-col>
</el-row>
<el-form-item :label="$t('旧全包价')" v-if="orderItem.charging">
{{form.freight}} {{ currentMap[form.freightCurrency] }} / {{ unitMap[form.freightVolume] }}
{{form.orgFreight}} {{ currentMap[form.freightCurrency] }} / {{ unitMap[form.freightVolume] }}
</el-form-item>
<el-form-item :label="$t('新全包价')" style="width: 400px" prop="clearanceFreight" v-if="orderItem.charging">
<el-input v-model="form.freight" type="number" class="w-100" />
{{ currentMap[form.freightCurrency] }} / {{ unitMap[form.freightVolume] }}
</el-form-item>
</el-form>
<div class="page-title">审批流程</div>
<work-flow xmlkey="special_apply" v-model="ccIdArr" />
......
......@@ -482,11 +482,12 @@ export default {
this.shopForm.orderItemId = list[0].orderItemId
this.shopForm.prodTitleEn = list[0].prodTitleEn
this.shopForm.prodTitleZh = list[0].prodTitleZh
var orderItemData = this.orderData.orderItemVOList.find(item=>item.orderItemId==this.shopForm.orderItemId)
var params = {
'seaFreightVolume':list[0].seaFreightVolume,
'clearanceFreightVolume':list[0].clearanceFreightVolume
'seaFreightVolume':orderItemData.seaFreightVolume,
'clearanceFreightVolume':orderItemData.clearanceFreightVolume
}
console.log(params)
console.log(orderItemData)
this.numcheck(params)
},
numcheck(params){
......
......@@ -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]
})
}
......
......@@ -428,6 +428,14 @@ export default {
resetQuery() {
this.dateRangeLoginDate = [];
this.dateRangeCreateTime = [];
this.queryParams = {
page: 1,
rows: 10,
isDeal:undefined,// 是否成交
searchKey:undefined,//关键字
auditStatus:undefined,//审核状态
authType:undefined,//关键字
}
this.resetForm("queryForm");
this.handleQuery();
},
......
......@@ -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" >
<el-table-column :label="$t('提交审核时间')" align="center" prop="createTime">
<template slot-scope="scope">
<el-switch v-model="scope.row.status" :active-value="0" :inactive-value="1" @change="handleStatusChange(scope.row)" />
<span>{{ parseTime(scope.row.identityAuditCreateTime) }}</span>
</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">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</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>
......@@ -150,7 +109,7 @@ import {
memberGetAuthEnterpriseInfo,
memberUserAuditIdCard,
memberUserUpdateIdCard,
memberUserUpdateEnterprise, setUserUpdateStatus, userCreateAuditEnterprise
memberUserUpdateEnterprise, setUserUpdateStatus, userCreateAuditEnterprise, getWaitApprovePage
} from "@/api/member/user";
import {DICT_TYPE, getDictDatas} from "@/utils/dict";
import FileUpload from "@/components/FileUpload"
......@@ -198,7 +157,7 @@ export default {
isDeal:undefined,// 是否成交
searchKey:undefined,//关键字
auditStatus:1,//审核状态
authType:undefined,//关键字
authType:2,//关键字
},
// 表单参数
form: {},
......@@ -270,7 +229,7 @@ export default {
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;
......@@ -317,6 +276,14 @@ export default {
this.dateRangeLoginDate = [];
this.dateRangeCreateTime = [];
this.resetForm("queryForm");
this.queryParams = {
page: 1,
rows: 10,
isDeal:undefined,// 是否成交
searchKey:undefined,//关键字
auditStatus:1,//审核状态
authType:2,//关键字
}
this.handleQuery();
},
......@@ -378,17 +345,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