Commit a53123da authored by wanglianghe's avatar wanglianghe
parents cee33929 0eea2596
const fs = require('fs'); const fs = require('fs');
const root = "./src" const root = "./src"
const savePath = "./i18n-messages.txt"
let allFiles = [] let allFiles = []
function getFiles(dir){ function getFiles(dir){
let files = fs.readdirSync(dir) let files = fs.readdirSync(dir)
files.forEach(file => { files.forEach(file => {
...@@ -14,6 +14,11 @@ function getFiles(dir){ ...@@ -14,6 +14,11 @@ function getFiles(dir){
} }
getFiles(root) 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() let messages = new Set()
allFiles.forEach(file => { allFiles.forEach(file => {
let data = fs.readFileSync(file, {encoding: 'utf-8'}) let data = fs.readFileSync(file, {encoding: 'utf-8'})
...@@ -25,4 +30,5 @@ allFiles.forEach(file => { ...@@ -25,4 +30,5 @@ allFiles.forEach(file => {
} }
}) })
fs.writeFileSync("./i18n-messages.txt", Array.from(messages).join("\n")) fs.writeFileSync("./i18n-messages.txt", Array.from(messages).join("\n"))
console.log("done!") console.log(messages)
\ No newline at end of file console.warn(`共提取 ${messages.size} 个待翻译内容,保存于${savePath}`)
\ No newline at end of file
...@@ -154,7 +154,7 @@ export function cancelBillService(id) { ...@@ -154,7 +154,7 @@ export function cancelBillService(id) {
export function downloadBillService(params) { export function downloadBillService(params) {
return request({ return request({
url: "/shipment/make-bill-of-lading/download", url: "/shipment/make-bill-of-lading/download",
responseType: "arraybuffer", responseType: "blob",
method: "get", method: "get",
params, params,
}); });
...@@ -190,7 +190,7 @@ export function getBillService(params) { ...@@ -190,7 +190,7 @@ export function getBillService(params) {
export function zipDownload(params) { export function zipDownload(params) {
return request({ return request({
url: "/shipment/make-bill-of-lading/zipDownload", url: "/shipment/make-bill-of-lading/zipDownload",
responseType: "arraybuffer", responseType: "blob",
method: "get", method: "get",
params, params,
}); });
...@@ -284,7 +284,7 @@ export function downloadCustomFiles(params) { ...@@ -284,7 +284,7 @@ export function downloadCustomFiles(params) {
export function downloadLoadGoodsList(params) { export function downloadLoadGoodsList(params) {
return request({ return request({
url: "/ecw/box-preload-goods/downloadLoadGoodsList", url: "/ecw/box-preload-goods/downloadLoadGoodsList",
responseType: "arraybuffer", responseType: "blob",
method: "get", method: "get",
params, params,
}); });
...@@ -294,7 +294,7 @@ export function downloadLoadGoodsList(params) { ...@@ -294,7 +294,7 @@ export function downloadLoadGoodsList(params) {
export function downloadPreloadGoodsList(params) { export function downloadPreloadGoodsList(params) {
return request({ return request({
url: "/ecw/box-preload-goods/downloadPreloadGoodsList", url: "/ecw/box-preload-goods/downloadPreloadGoodsList",
responseType: "arraybuffer", responseType: "blob",
method: "get", method: "get",
params, params,
}); });
...@@ -304,7 +304,7 @@ export function downloadPreloadGoodsList(params) { ...@@ -304,7 +304,7 @@ export function downloadPreloadGoodsList(params) {
export function downloadReceivableList(params) { export function downloadReceivableList(params) {
return request({ return request({
url: "/ecw/box-preload-goods/downloadReceivableList", url: "/ecw/box-preload-goods/downloadReceivableList",
responseType: "arraybuffer", responseType: "blob",
method: "get", method: "get",
params, params,
}); });
......
...@@ -109,7 +109,7 @@ export function getReceivableItemDetail(query) { ...@@ -109,7 +109,7 @@ export function getReceivableItemDetail(query) {
// 获取收款单明细 // 获取收款单明细
export function getInvoicingItem(query) { export function getInvoicingItem(query) {
return request({ return request({
url: '/ecw/receipt/getInvoicingItem', url: '/ecw/receipt/getReceivableItemDetail',
method: 'get', method: 'get',
params: query params: query
}) })
......
...@@ -189,6 +189,15 @@ export function getWarehouseUpdateApprovalInfo(id) { ...@@ -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){ export function orderWarehouseInFinish(data){
return request({ return request({
......
...@@ -92,3 +92,12 @@ export function getOrderFeeById(query) { ...@@ -92,3 +92,12 @@ export function getOrderFeeById(query) {
params: query 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 @@ ...@@ -26,7 +26,7 @@
</el-radio-group> </el-radio-group>
</div> </div>
<el-row class="" :gutter="10"> <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-col :span="12" :key="item.value">
<el-card class="mb-10"> <el-card class="mb-10">
<div slot="header"> <div slot="header">
...@@ -51,6 +51,9 @@ ...@@ -51,6 +51,9 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作')" prop=""> <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}"> <template slot-scope="{row}">
<el-checkbox :checked="getSelectedIndex(row) > -1" @change="toggleChecker(row, $event)"></el-checkbox> <el-checkbox :checked="getSelectedIndex(row) > -1" @change="toggleChecker(row, $event)"></el-checkbox>
</template> </template>
...@@ -85,6 +88,7 @@ export default { ...@@ -85,6 +88,7 @@ export default {
selectedRoutes: [], // 勾选的路线渠道 selectedRoutes: [], // 勾选的路线渠道
hideMap: {}, // 折叠状态 hideMap: {}, // 折叠状态
checkAll: null, checkAll: null,
groupChecker: {}, // 分组全选状态
} }
}, },
...@@ -197,6 +201,14 @@ export default { ...@@ -197,6 +201,14 @@ export default {
}, },
methods:{ methods:{
// 全选、全不选 某个运输方式所有线路
toggleGroupChecker(index, selected){
let routerList = this.filteredRouterList[index].routerList
console.log(routerList.length, selected)
routerList.forEach(router => {
this.toggleChecker(router, selected)
})
},
getOpenedRouterList(){ getOpenedRouterList(){
let params = {} let params = {}
if(this.exportCity){ if(this.exportCity){
......
...@@ -143,9 +143,14 @@ export default { ...@@ -143,9 +143,14 @@ export default {
this.activeWarehouse = warehouse this.activeWarehouse = warehouse
if (!!warehouse.selected) { if (!!warehouse.selected) {
warehouse.selected = false warehouse.selected = false
return
} else if(this.activeWarehouseId !== warehouse.id) { } else if(this.activeWarehouseId !== warehouse.id) {
this.activeWarehouseId = warehouse.id this.activeWarehouseId = warehouse.id
} else { 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 warehouse.selected = true
// 区域被选,清空该区域下的位置 // 区域被选,清空该区域下的位置
...@@ -155,7 +160,6 @@ export default { ...@@ -155,7 +160,6 @@ export default {
k.selected = false k.selected = false
}) })
}) })
}
}, },
handleSelectPositionChild(position) { handleSelectPositionChild(position) {
if (!!position.selected) { if (!!position.selected) {
......
...@@ -198,6 +198,7 @@ export const DICT_TYPE = { ...@@ -198,6 +198,7 @@ export const DICT_TYPE = {
BOX_SHIPPING_PROCESS: 'shipping_process', // 海运出货流程 BOX_SHIPPING_PROCESS: 'shipping_process', // 海运出货流程
BOX_SHIPPING_BRAND_TYPE: 'shipping_brand_type', // 出货品牌类型 BOX_SHIPPING_BRAND_TYPE: 'shipping_brand_type', // 出货品牌类型
BOX_SHIPPING_NOTICE_TYPE: 'shipping_notice_type', // 出货通知类型 BOX_SHIPPING_NOTICE_TYPE: 'shipping_notice_type', // 出货通知类型
BOX_ORDER_SHIPMENT_STATE: 'order_shipment_state'
} }
/** /**
......
...@@ -321,6 +321,12 @@ export default { ...@@ -321,6 +321,12 @@ export default {
id: this.processInstance.businessKey, id: this.processInstance.businessKey,
path: this.processInstance.processDefinition?.formCustomViewPath 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()] return map[this.processInstance.processDefinition.formCustomViewPath.trim()]
} }
......
...@@ -2,42 +2,51 @@ ...@@ -2,42 +2,51 @@
<div class="app-container"> <div class="app-container">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <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>
<!-- <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-form-item :label="$t('提交时间')">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd" <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>
<!-- <el-form-item :label="$t('业务编号')" prop="name">
缺少字段
</el-form-item> -->
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$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-button icon="el-icon-refresh" @click="resetQuery">{{ $t('重置') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<!-- 列表 --> <!-- 列表 -->
<el-table v-loading="loading" :data="list"> <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="id" width="320" fixed/>
<el-table-column :label="$t('任务名称')" align="center" prop="processInstance.name" width="200" /> <el-table-column :label="$t('流程名')" align="center" prop="processInstance.name" width="200"/>
<!-- <el-table-column :label="$t('业务编号')" align="center" prop="" width="200" > <el-table-column :label="$t('业务编号')" align="center" prop="businessNo"/>
缺少字段 <el-table-column :label="$t('流程分类')" align="center" prop="category" width="200">
</el-table-column> --> <template slot-scope="scope">
<el-table-column :label="$t('流程分类')" align="center" prop="category" width="200" /> <dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category"/>
<el-table-column :label="$t('当前审批节点')" align="center" prop="name" width="200" /> </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 :label="$t('状态')" align="center" prop="" width="200" >
缺少字段 缺少字段
</el-table-column> --> </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"> <el-table-column :label="$t('结果')" align="center" prop="result">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT" :value="scope.row.result"/> <dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT" :value="scope.row.result"/>
...@@ -56,7 +65,8 @@ ...@@ -56,7 +65,8 @@
<el-table-column :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width"> <el-table-column :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleAudit(scope.row)" <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> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -73,8 +83,7 @@ import {getDate} from "@/utils/dateUtils"; ...@@ -73,8 +83,7 @@ import {getDate} from "@/utils/dateUtils";
export default { export default {
name: "Done", name: "Done",
components: { components: {},
},
data() { data() {
return { return {
// 遮罩层 // 遮罩层
...@@ -126,7 +135,7 @@ export default { ...@@ -126,7 +135,7 @@ export default {
}, },
/** 处理审批按钮 */ /** 处理审批按钮 */
handleAudit(row) { 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 @@ ...@@ -2,12 +2,13 @@
<div class="app-container"> <div class="app-container">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item :label="$t('流程名')" prop="name"> <el-form-item label="流程编号" prop="processInstanceId">
<el-input v-model="queryParams.name" :placeholder="$t('请输入流程名')" clearable @keyup.enter.native="handleQuery"/> <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>
<!-- <el-form-item label="编号" prop="name">
缺少字段
</el-form-item> -->
<el-form-item :label="$t('流程分类')" prop="category"> <el-form-item :label="$t('流程分类')" prop="category">
<el-select v-model="queryParams.category" :placeholder="$t('请选择流程分类')" clearable> <el-select v-model="queryParams.category" :placeholder="$t('请选择流程分类')" clearable>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY)" <el-option v-for="dict in this.getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY)"
...@@ -15,57 +16,63 @@ ...@@ -15,57 +16,63 @@
</el-select> </el-select>
</el-form-item> </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-form-item :label="$t('提交时间')">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd" <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>
<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-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$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-button icon="el-icon-refresh" @click="resetQuery">{{ $t('重置') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<!-- 列表 --> <!-- 列表 -->
<el-table v-loading="loading" :data="list"> <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="id" width="320"/>
<el-table-column :label="$t('流程名称')" align="center" prop="processInstance.name" 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"> <el-table-column :label="$t('流程分类')" align="center" prop="category">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category"/> <dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category"/>
</template> </template>
</el-table-column> </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="name"/>
<el-table-column :label="$t('状态')" align="center" prop="version" width="80"> <el-table-column :label="$t('状态')" align="center" prop="version" width="80">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag type="success" v-if="scope.row.suspensionState === 1">{{$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> <el-tag type="warning" v-if="scope.row.suspensionState === 2">{{ $t('挂起') }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column :label="$t('结果')" align="center" prop="processInstance.startUserNickname"> <el-table-column :label="$t('结果')" align="center" prop="result">
缺少字段 <template slot-scope="scope">
</el-table-column> --> <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"> <el-table-column :label="$t('提交时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span> <span>{{ parseTime(scope.row.createTime) }}</span>
</template> </template>
</el-table-column> </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"> <template slot-scope="scope">
缺少字段 <span>{{ parseTime(scope.row.endTime) }}</span>
</template> </template>
</el-table-column> --> </el-table-column>
<el-table-column :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width"> <el-table-column :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleAudit(scope.row)" <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> </el-button>
</template> </template>
</el-table-column> </el-table-column>
......
...@@ -101,12 +101,12 @@ ...@@ -101,12 +101,12 @@
<el-form-item label="有效期" prop="validateStart"> <el-form-item label="有效期" prop="validateStart">
<el-date-picker v-model="form.validateStart" @change="startChange" <el-date-picker v-model="form.validateStart" @change="startChange"
type="date" type="date"
placeholder="选择日期"> placeholder="选择日期" value-format="yyyy-MM-dd">
</el-date-picker> </el-date-picker>
~ ~
<el-date-picker v-model="form.validateEnd" <el-date-picker v-model="form.validateEnd"
type="date" type="date"
placeholder="选择日期"> placeholder="选择日期" value-format="yyyy-MM-dd">
</el-date-picker> </el-date-picker>
<span style="color:red;font-size:14px;">注意:留空则表示永久有效</span> <span style="color:red;font-size:14px;">注意:留空则表示永久有效</span>
</el-form-item> </el-form-item>
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('柜型')" prop="cabinetId"> <el-form-item :label="$t('柜型')" prop="cabinetId">
<el-select v-model="queryParams.cabinetId" :placeholder="$t('请选择柜型')"> <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-select>
</el-form-item> </el-form-item>
...@@ -43,9 +43,9 @@ ...@@ -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-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>
<el-form-item :label="$t('状态')" prop="boxStatus"> <el-form-item :label="$t('状态')">
<el-select v-model="queryParams.boxStatus" :placeholder="$t('请选择状态')" clearable size="small"> <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-select>
</el-form-item> </el-form-item>
...@@ -124,7 +124,7 @@ ...@@ -124,7 +124,7 @@
<el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item> <el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item>
<el-dropdown-item command="cost">{{$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 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-menu>
</el-dropdown> </el-dropdown>
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)"> <el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
...@@ -432,7 +432,7 @@ export default { ...@@ -432,7 +432,7 @@ export default {
case "editLadingBill": case "editLadingBill":
const cabinetLabel = this.getCabinetName(row.cabinetId); const cabinetLabel = this.getCabinetName(row.cabinetId);
const title = this.$t('查看提单 {selfNo} 柜号:{cubNo} 柜型:{cabinetLabel}`', { const title = this.$t('查看提单 {selfNo} 柜号:{cubNo} 柜型:{cabinetLabel}', {
selfNo: row.selfNo, selfNo: row.selfNo,
cubNo: row.cubNo, cubNo: row.cubNo,
cabinetLabel: cabinetLabel cabinetLabel: cabinetLabel
......
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
size="small" size="small"
> >
<el-option <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" :key="dict.value"
:label="$l(dict, 'label')" :label="$l(dict, 'label')"
:value="dict.value" :value="dict.value"
...@@ -226,7 +226,7 @@ ...@@ -226,7 +226,7 @@
<el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item> <el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item>
<el-dropdown-item command="cost">{{$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 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-menu>
</el-dropdown> </el-dropdown>
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)"> <el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
......
...@@ -89,7 +89,6 @@ import { ...@@ -89,7 +89,6 @@ import {
makeBillService, makeBillService,
getBillService, getBillService,
deleteBillService, deleteBillService,
zipDownload,
} from "@/api/ecw/box"; } from "@/api/ecw/box";
import { import {
getTotlContent, getTotlContent,
...@@ -98,7 +97,6 @@ import { ...@@ -98,7 +97,6 @@ import {
} from "../shippingSea/utils"; } from "../shippingSea/utils";
import makeLadingBill from "./makeLadingBill.vue"; import makeLadingBill from "./makeLadingBill.vue";
import previewBill from "./previewBill.vue"; import previewBill from "./previewBill.vue";
import FileSaver from "file-saver";
export default { export default {
name: "ladingBill", name: "ladingBill",
...@@ -145,10 +143,14 @@ export default { ...@@ -145,10 +143,14 @@ export default {
/* const title = `查看提单 ${this.shipmentObj.selfNo ?? ""} 柜号:${ /* const title = `查看提单 ${this.shipmentObj.selfNo ?? ""} 柜号:${
this.shipmentObj.cubNo ?? "" this.shipmentObj.cubNo ?? ""
} 柜型:${cabinetLabel}`; */ } 柜型:${cabinetLabel}`; */
const title = this.$t('查看提单 {selfNo} 柜号:{cubNo}', { const title = this.$t(
"查看提单 {selfNo} 柜号:{cubNo} 柜型:{cabinetLabel}",
{
selfNo: this.shipmentObj.selfNo, selfNo: this.shipmentObj.selfNo,
cubNo: this.shipmentObj.cubNo cubNo: this.shipmentObj.cubNo,
}) cabinetLabel,
}
);
this.$set(this.dialogCfg, "title", title); this.$set(this.dialogCfg, "title", title);
}, },
closeDialog(type) { closeDialog(type) {
...@@ -181,7 +183,7 @@ export default { ...@@ -181,7 +183,7 @@ export default {
downloadFile( downloadFile(
type, type,
{ shipmentId: this.shipmentObj.id }, { shipmentId: this.shipmentObj.id },
this.$t('已装单') + `(${this.shipmentObj.selfNo}).xlsx`, this.$t("已装单") + `(${this.shipmentObj.selfNo}).xlsx`,
"xlsx" "xlsx"
); );
return; return;
...@@ -189,7 +191,7 @@ export default { ...@@ -189,7 +191,7 @@ export default {
downloadFile( downloadFile(
type, type,
{ shipmentId: this.shipmentObj.id }, { shipmentId: this.shipmentObj.id },
this.$t('应收汇总表') + `(${this.shipmentObj.selfNo}).xlsx`, this.$t("应收汇总表") + `(${this.shipmentObj.selfNo}).xlsx`,
"xlsx" "xlsx"
); );
return; return;
...@@ -219,14 +221,17 @@ export default { ...@@ -219,14 +221,17 @@ export default {
this.currData = { this.currData = {
billContent: data?.billContent ?? "", billContent: data?.billContent ?? "",
orderNo: this.currRow.orderNo, orderNo: this.currRow.orderNo,
bpmProcessId: data.bpmProcessId,
}; };
}); });
}, },
clickZipDownload() { clickZipDownload() {
zipDownload({ shipmentId: this.shipmentObj.id }).then((res) => { downloadFile(
let blob = new Blob([res], { type: "application/zip" }); "zipDownload",
FileSaver.saveAs(blob, this.$t('打包文件') + ".zip"); { shipmentId: this.shipmentObj.id },
}); this.$t("打包文件") + ".zip",
"zip"
);
}, },
}, },
computed: { computed: {
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<work-flow xmlkey="bill_lading" v-model="selectedUsers"></work-flow> <work-flow xmlkey="bill_lading" v-model="selectedUsers"></work-flow>
</div> </div>
<div v-if="currRow.status === 1"> <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="canclAudit">{{$t('取消审核')}}</el-button>
<el-button plain type="primary" @click="showLoaingTemplate">{{$t('提单预览')}}</el-button> <el-button plain type="primary" @click="showLoaingTemplate">{{$t('提单预览')}}</el-button>
</div> </div>
...@@ -38,7 +38,7 @@ import { ...@@ -38,7 +38,7 @@ import {
updateBillService, updateBillService,
cancelBillService, cancelBillService,
} from "@/api/ecw/box"; } from "@/api/ecw/box";
import { serviceMsg } from "../shippingSea/utils"; import { serviceMsg, toReviewDetail } from "../shippingSea/utils";
import previewBill from "./previewBill.vue"; import previewBill from "./previewBill.vue";
import { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth";
...@@ -200,6 +200,10 @@ export default { ...@@ -200,6 +200,10 @@ export default {
close(type) { close(type) {
this.$emit("closeDialog", type); this.$emit("closeDialog", type);
}, },
jumpReviewDetail() {
const { bpmProcessId } = this.currData;
toReviewDetail.apply(this, [bpmProcessId]);
},
}, },
watch: { watch: {
currData: { currData: {
......
...@@ -9,9 +9,8 @@ ...@@ -9,9 +9,8 @@
</template> </template>
<script> <script>
import { downloadBillService } from "@/api/ecw/box";
import lodop from "@/utils/lodop"; import lodop from "@/utils/lodop";
import FileSaver from "file-saver"; import { downloadFile } from "../shippingSea/utils";
export default { export default {
name: "previewBill", name: "previewBill",
...@@ -22,10 +21,12 @@ export default { ...@@ -22,10 +21,12 @@ export default {
}, },
methods: { methods: {
download() { download() {
downloadBillService({ id: this.currRow.id }).then((res) => { downloadFile(
let blob = new Blob([res], { type: "application/pdf" }); "downloadBillService",
FileSaver.saveAs(blob, this.currRow.orderNo + ".pdf"); { id: this.currRow.id },
}); this.currRow.orderNo + ".pdf",
"pdf"
);
}, },
print() { print() {
lodop() lodop()
......
...@@ -103,7 +103,7 @@ ...@@ -103,7 +103,7 @@
</el-table> </el-table>
</el-card> </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 slot="header" class="card-title">{{$t('拆单信息')}}</div>
<div> <div>
...@@ -154,7 +154,7 @@ ...@@ -154,7 +154,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('计划装柜')" align="center"> <el-table-column :label="$t('计划装柜')" align="center">
{{$t('无')}} {{planCabinet}}
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作')" align="center"> <el-table-column :label="$t('操作')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -193,11 +193,23 @@ ...@@ -193,11 +193,23 @@
<el-option v-for="item in orderItems" :label="item.prodTitleEn" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in orderItems" :label="item.prodTitleEn" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="剩余箱数:"> <el-form-item label="剩余箱数:">
{{shopForm.sum||0}} {{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>
<el-form-item label="放入箱数:" prop="num"> <el-form-item label="放入数量(个):" prop="putQuantity">
<el-input-number v-model="shopForm.num" controls-position="right" :min="0" :max="shopForm.sum"></el-input-number> <el-input-number v-model="shopForm.putQuantity" controls-position="right" :min="0"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="备注信息:"> <el-form-item label="备注信息:">
<el-input v-model="shopForm.remarks"></el-input> <el-input v-model="shopForm.remarks"></el-input>
...@@ -215,7 +227,7 @@ ...@@ -215,7 +227,7 @@
<script> <script>
import { import {
getSplitList, getSplitList,
createSplit, quantitycheck,
createSplitItem, createSplitItem,
deleteSplitItem, deleteSplitItem,
} from "@/api/ecw/orderHandle"; } from "@/api/ecw/orderHandle";
...@@ -243,6 +255,7 @@ export default { ...@@ -243,6 +255,7 @@ export default {
loading: false, loading: false,
selectedUsers: [], selectedUsers: [],
tradeCityList: [], tradeCityList: [],
planCabinet: "",
shopOpen: false, shopOpen: false,
orderItems: [], orderItems: [],
...@@ -263,9 +276,6 @@ export default { ...@@ -263,9 +276,6 @@ export default {
trigger: "change", trigger: "change",
}, },
], ],
num: [
{ required: true, message: this.$t("请输入箱数"), trigger: "change" },
],
}, },
queryParams: { queryParams: {
orderId: 0, orderId: 0,
...@@ -274,6 +284,8 @@ export default { ...@@ -274,6 +284,8 @@ export default {
}; };
}, },
created() { created() {
const { shipmentObj } = this.$attrs;
this.planCabinet =`${shipmentObj.selfNo}-${this.currRow.sectionName}`
getTradeCityList().then((res) => (this.tradeCityList = res.data)); getTradeCityList().then((res) => (this.tradeCityList = res.data));
this.queryParams.orderId = this.currRow.orderId; this.queryParams.orderId = this.currRow.orderId;
this.getOrderDetail(); this.getOrderDetail();
...@@ -334,13 +346,9 @@ export default { ...@@ -334,13 +346,9 @@ export default {
orderId: this.currRow.orderId, orderId: this.currRow.orderId,
shipmentId: shipmentObj.id, shipmentId: shipmentObj.id,
}).then((res) => { }).then((res) => {
const orderSplitBackVOList = res.data; const data = res.data;
if (orderSplitBackVOList && orderSplitBackVOList.length) {
// 取拆单项 // 取拆单项
this.splitData = orderSplitBackVOList.filter( this.splitData = data.filter((item) => !item.isMaster)?.[0] ?? {};
(item) => !item.isMaster
)[0];
}
}); });
}, },
/* 查询拆单项 */ /* 查询拆单项 */
...@@ -350,16 +358,12 @@ export default { ...@@ -350,16 +358,12 @@ export default {
orderId: this.currRow.orderId, orderId: this.currRow.orderId,
shipmentType: 1, shipmentType: 1,
}).then((res) => { }).then((res) => {
console.log(res) const { orderSplitBackVOList } = res.data; // 取拆单项
const { orderSplitBackVOList } = res.data; const list =
if (orderSplitBackVOList && orderSplitBackVOList.length) { orderSplitBackVOList.filter((item) => !item.isMaster)?.[0] ?? {};
this.orderItems = this.currRow.goodsList ?? [];
console.log(this.orderItems); this.splitData.orderSplitItemBackVOList =
// 取拆单项 list.orderSplitItemBackVOList ?? [];
this.splitData = orderSplitBackVOList.filter(
(item) => !item.isMaster
)[0];
}
}); });
}, },
getOrderDetail() { getOrderDetail() {
...@@ -414,20 +418,6 @@ export default { ...@@ -414,20 +418,6 @@ export default {
leviteW, leviteW,
} }
); );
/* "下单统计:" +
orderSum +
" 箱 " +
orderV +
" m³ " +
orderW +
" kg " +
" 入仓统计:" +
leviteSum +
" 箱 " +
leviteV +
" m³ " +
leviteW +
" kg"; */
return sums; return sums;
}, },
...@@ -456,21 +446,46 @@ export default { ...@@ -456,21 +446,46 @@ export default {
this.shopForm = {}; this.shopForm = {};
this.shopOpen = true; this.shopOpen = true;
}, },
changeProdTitleZh() { async changeProdTitleZh() {
let list = []; const data = await this.getSelectData("zhId");
list = this.orderItems.filter((item) => item.id == this.shopForm.zhId); this.shopForm.enId = data.id;
this.shopForm.sum = this.shopForm = { ...this.shopForm };
this.currRow.num - this.currRow.installNum - this.totalSplitNum();
this.shopForm.orderItemId = list[0].orderItemId;
this.shopForm.prodTitleEn = list[0].prodTitleEn;
}, },
changeProdTitleEn() { async changeProdTitleEn() {
const data = await this.getSelectData("enId");
this.shopForm.zhId = data.id;
this.shopForm = { ...this.shopForm };
},
async getSelectData(key) {
let list = []; let list = [];
list = this.orderItems.filter((item) => item.id == this.shopForm.enId); list = this.orderItems.filter((item) => item.id == this.shopForm[key]);
this.shopForm.sum = this.shopForm.num = this.currRow.num - this.currRow.installNum;
this.currRow.num - this.currRow.installNum - this.totalSplitNum();
this.shopForm.orderItemId = list[0].orderItemId; const data = list[0];
this.shopForm.prodTitleZh = list[0].prodTitleZh; 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() { shopAdd() {
this.$refs["shopForm"].validate((valid) => { this.$refs["shopForm"].validate((valid) => {
...@@ -490,9 +505,14 @@ export default { ...@@ -490,9 +505,14 @@ export default {
this.$message.error(this.$t("放入箱数不能为0")); this.$message.error(this.$t("放入箱数不能为0"));
return; return;
} }
if (this.shopForm.putQuantity === 0) {
this.$message.error(this.$t("放入数量(个)不能为0"));
return;
}
let params = { let params = {
num: this.shopForm.num, num: this.shopForm.num,
quantity: this.shopForm.putQuantity,
orderItemId: this.shopForm.orderItemId, orderItemId: this.shopForm.orderItemId,
orderSplitId: this.splitData.id, orderSplitId: this.splitData.id,
remarks: this.shopForm.remarks, remarks: this.shopForm.remarks,
...@@ -500,6 +520,7 @@ export default { ...@@ -500,6 +520,7 @@ export default {
createSplitItem(params).then((res) => { createSplitItem(params).then((res) => {
this.$message.success(this.$t("放入成功")); this.$message.success(this.$t("放入成功"));
this.querySplitGoods(); this.querySplitGoods();
this.$refs["shopForm"].resetFields();
}); });
this.shopOpen = false; this.shopOpen = false;
} }
...@@ -528,6 +549,7 @@ export default { ...@@ -528,6 +549,7 @@ export default {
}); });
}, },
shopCancel() { shopCancel() {
this.$refs["shopForm"].resetFields();
this.shopOpen = false; this.shopOpen = false;
this.shopForm = {}; this.shopForm = {};
}, },
......
...@@ -233,7 +233,7 @@ ...@@ -233,7 +233,7 @@
</el-row> </el-row>
<el-table v-loading="toBePreLoading" :data="item.boxOrderItemList" border show-summary :summary-method="getSummaries"> <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 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"> <el-table-column :label="$t('备案')" align="center" prop="brandType">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_BRAND_TYPE" :value="scope.row.brandType" /> <dict-tag :type="DICT_TYPE.BOX_SHIPPING_BRAND_TYPE" :value="scope.row.brandType" />
......
This diff is collapsed.
...@@ -638,9 +638,7 @@ export default { ...@@ -638,9 +638,7 @@ export default {
// this.getList(); // this.getList();
const obj = { path: "/customer/customer" }; const obj = { path: "/customer/customer" };
this.$tab.closeOpenPage(obj); this.$tab.closeOpenPage(obj);
}).catch(e => { })
this.$modal.msgError(e.msg || this.$t('添加客户失败,请联系管理员'))
});
return; return;
} }
// 添加的提交 // 添加的提交
...@@ -650,9 +648,7 @@ export default { ...@@ -650,9 +648,7 @@ export default {
// this.getList(); // this.getList();
const obj = { path: "/customer/customer" }; const obj = { path: "/customer/customer" };
this.$tab.closeOpenPage(obj); this.$tab.closeOpenPage(obj);
}).catch(e => { })
this.$modal.msgError(e.msg || this.$t('添加客户失败,请联系管理员'))
});
}); });
}) })
}, },
......
...@@ -12,12 +12,13 @@ ...@@ -12,12 +12,13 @@
:key="item.channelId"></el-option> :key="item.channelId"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('开始时间')" prop="beginStartTime"> <el-form-item>
<el-date-picker v-model="queryParams.beginStartTime" :placeholder="$t('请选择开始时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <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-form-item> <!-- <el-date-picker v-model="queryParams.beginStartTime" :placeholder="$t('请选择开始时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>-->
<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-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-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
</el-form-item> </el-form-item>
...@@ -36,7 +37,7 @@ ...@@ -36,7 +37,7 @@
<dict-tag :type="DICT_TYPE.ECW_OFFER_STATUS" :value="scope.row.offerStatus"/> <dict-tag :type="DICT_TYPE.ECW_OFFER_STATUS" :value="scope.row.offerStatus"/>
</template> </template>
</el-table-column> </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="consignorName"/>
<el-table-column :label="$t('唛头')" align="center" prop="marks"/> <el-table-column :label="$t('唛头')" align="center" prop="marks"/>
<el-table-column :label="$t('是否控货')" align="center" prop="isCargoControl"> <el-table-column :label="$t('是否控货')" align="center" prop="isCargoControl">
...@@ -93,6 +94,7 @@ ...@@ -93,6 +94,7 @@
tableList: [], tableList: [],
// 弹出层标题 // 弹出层标题
title: "", title: "",
dateFilter:[],
detail: { detail: {
deptName: null, deptName: null,
targetType: null, targetType: null,
...@@ -214,6 +216,8 @@ ...@@ -214,6 +216,8 @@
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNo = 1; this.queryParams.pageNo = 1;
this.queryParams.beginStartTime=this.dateFilter[0];
this.queryParams.endStartTime=this.dateFilter[1];
this.getList(); this.getList();
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
......
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('应收金额')" align="center" prop="receivableAmount"> <el-table-column :label="$t('应收金额')" align="center" prop="receivableAmount">
<template slot-scope="scope" v-if="scope.row.type !== 'total'"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" width="220"> <el-table-column align="center" width="220">
...@@ -1147,6 +1147,7 @@ export default { ...@@ -1147,6 +1147,7 @@ export default {
this.saveBtnLoading = false this.saveBtnLoading = false
}) })
} else { } else {
params.currencyId = this.showCurrencyId
createReceipt(params).then(res => { createReceipt(params).then(res => {
this.$modal.msgSuccess(this.$t('保存成功')); this.$modal.msgSuccess(this.$t('保存成功'));
this.$router.back(); this.$router.back();
...@@ -1170,6 +1171,7 @@ export default { ...@@ -1170,6 +1171,7 @@ export default {
this.saveBtnLoading = false this.saveBtnLoading = false
}) })
} else { } else {
params.currencyId = this.showCurrencyId
createReceipt(params).then(res => { createReceipt(params).then(res => {
this.$modal.msgSuccess(this.$t('新增成功')); this.$modal.msgSuccess(this.$t('新增成功'));
this.$router.back(); this.$router.back();
......
...@@ -242,34 +242,19 @@ ...@@ -242,34 +242,19 @@
</el-card> </el-card>
<el-card class="card hexiaoCard"> <el-card class="card hexiaoCard">
<el-descriptions :column="3" border> <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-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.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>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> <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> </template>
{{ verificationData.writtenOff.toFixed(6) }} {{ verificationData.writtenOff.toFixed(6) }}
</el-descriptions-item> </el-descriptions-item>
...@@ -277,7 +262,7 @@ ...@@ -277,7 +262,7 @@
<template slot="label"> <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> </template>
{{ parseFloat(verificationData.WriteOffProportion/100).toFixed(2) }}% {{ verificationData.WriteOffProportion }}%
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-card> </el-card>
...@@ -474,6 +459,16 @@ export default { ...@@ -474,6 +459,16 @@ export default {
} }
if (groupList.length === 1) return groupList[0].currencyId if (groupList.length === 1) return groupList[0].currencyId
else return 1 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: { watch: {
......
...@@ -193,13 +193,13 @@ ...@@ -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 == 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 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" v-if="scope.row.state != 0"
size="mini" size="mini"
type="text" type="text"
@click="toprint(scope.row.id)" @click="toprint(scope.row.id)"
>{{ $t('打印') }}</el-button >{{ $t('打印') }}</el-button
> > -->
<el-button <el-button
v-if="scope.row.state != 0" v-if="scope.row.state != 0"
size="mini" size="mini"
...@@ -231,11 +231,11 @@ ...@@ -231,11 +231,11 @@
<i class="el-icon-close" @click="cancel"></i> <i class="el-icon-close" @click="cancel"></i>
</div> --> </div> -->
<div class="dialog-footer"> <div class="dialog-footer">
<el-button type="primary" style="width: 130px" @click="submitForm(1)" <el-button type="primary" style="width: 130px" @click="submitForm(1)" v-loading="downloading">{{ $t('国内账单') }}</el-button
>{{ $t('国内账单') }}</el-button
> >
<el-button <el-button
plain plain
v-loading="downloading"
type="primary" type="primary"
style="width: 130px; margin: 0" style="width: 130px; margin: 0"
@click="submitForm(2)" @click="submitForm(2)"
...@@ -298,6 +298,7 @@ export default { ...@@ -298,6 +298,7 @@ export default {
productRecord: null, productRecord: null,
followUpSalesmanId: null, followUpSalesmanId: null,
}, },
downloading: false, // 导出状态
}; };
}, },
created() { created() {
...@@ -376,11 +377,12 @@ export default { ...@@ -376,11 +377,12 @@ export default {
this.exportId = id; this.exportId = id;
}, },
submitForm(type) { submitForm(type) {
this.downloading = true
receiptExportExcel({ id: this.exportId, billType: type }).then((response) => { receiptExportExcel({ id: this.exportId, billType: type }).then((response) => {
this.$download.excel(response, `${type === 1 ? this.$t('国内账单') : "Debite_note"}.xls`); this.$download.excel(response, `${type === 1 ? this.$t('国内账单') : "Debite_note"}.xls`);
this.open = false; this.open = false;
} }
); ).finally(() => this.downloading = false)
}, },
/** 取消按钮 */ /** 取消按钮 */
// cancel() { // cancel() {
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<div class="contact"> <div class="contact">
<el-input v-model="form.consignorName" placeholder="选择或新建" disabled style="width:120px"/> <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/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> </div>
</el-form-item> </el-form-item>
<el-form-item :label="$t('发货人电话')" prop="consignorPhone"> <el-form-item :label="$t('发货人电话')" prop="consignorPhone">
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<div class="contact"> <div class="contact">
<el-input v-model="form.consigneeName" placeholder="请选择或新建" :disabled="true" style="width:120px"/> <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/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> </div>
</el-form-item> </el-form-item>
<el-form-item :label="$t('收货人电话')" prop="consigneePhone"> <el-form-item :label="$t('收货人电话')" prop="consigneePhone">
......
...@@ -221,7 +221,8 @@ export default { ...@@ -221,7 +221,8 @@ export default {
getOrderListFn() { getOrderListFn() {
getOrderPage({orderIdList: this.orderList}).then(r => { getOrderPage({orderIdList: this.orderList}).then(r => {
this.list = r.data.list 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 =>{ adjustLastWithStatus({orderId:this.list[0].orderId,lang:0}).then(r =>{
this.applyStatus = r.data this.applyStatus = r.data
if(r.data?.orderWarehouseAdjustBackVO?.status === 1){ if(r.data?.orderWarehouseAdjustBackVO?.status === 1){
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
<el-table-column :label="$t('体积') + '(m³)'" prop="pickVolume"></el-table-column> <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="tidanNo"></el-table-column>
<el-table-column :label="$t('备注')" prop="remarks"></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"> <el-table-column :label="$t('日期')" prop="createTime">
<template slot-scope="{row}"> <template slot-scope="{row}">
{{row.createTime|parseTime}} {{row.createTime|parseTime}}
......
...@@ -117,9 +117,6 @@ export default { ...@@ -117,9 +117,6 @@ export default {
id: [String, Number], id: [String, Number],
path: String path: String
}, },
components:{
PrintLandingBill: () => import('./PrintLadingBill.vue')
},
data(){ data(){
return { return {
type: null, type: null,
...@@ -190,15 +187,12 @@ export default { ...@@ -190,15 +187,12 @@ export default {
getChannel(this.order.channelId).then(res => { getChannel(this.order.channelId).then(res => {
this.channel = res.data this.channel = res.data
}) })
}, },/*
getBillService(){
},
getBillOfLandingInProcessing(){ getBillOfLandingInProcessing(){
getBillOfLandingInProcessing({orderId: this.detail.orderId}).then(res => { getBillOfLandingInProcessing({orderId: this.detail.orderId}).then(res => {
console.log(res) console.log(res)
}) })
} } */
} }
} }
</script> </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 @@ ...@@ -133,7 +133,7 @@
<div v-if="type === 4"> <div v-if="type === 4">
<p>申请理由</p> <p>申请理由</p>
<div> <div>
用户修改了订单中商品编号为【{{ FeeDetails.orderItemVOList[0].prodId }}】的【{{ FeeDetails.details.applyInfoVOList[0].newValue }}】信息: 用户修改了订单中商品编号为【{{ FeeDetails.orderItemVOList[0].prodId }}】的【{{ prodName }}】信息:
<ol> <ol>
<template v-for="item in FeeDetails.details.applyInfoVOList"> <template v-for="item in FeeDetails.details.applyInfoVOList">
<li v-if="item.orgValue === undefined">{{ item.name }}{{ item.newValue }}</li> <li v-if="item.orgValue === undefined">{{ item.name }}{{ item.newValue }}</li>
...@@ -184,7 +184,9 @@ export default { ...@@ -184,7 +184,9 @@ export default {
warehouseList:[], warehouseList:[],
channelList:[], channelList:[],
processInstanceID:undefined, processInstanceID:undefined,
list:[] list:[],
prodName: ''
} }
}, },
created() { created() {
...@@ -252,7 +254,10 @@ export default { ...@@ -252,7 +254,10 @@ export default {
getOrder(res.data.orderIds).then(r =>{ getOrder(res.data.orderIds).then(r =>{
this.FeeDetails = r.data this.FeeDetails = r.data
this.FeeDetails.details = JSON.parse(res.data.details) 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 break
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<div class="contact"> <div class="contact">
<el-input v-model="form.consignorName" placeholder="" :disabled="inWarehouse"/> <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/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> </div>
</el-form-item> </el-form-item>
<el-form-item :label="$t('发货人电话')" prop="consignorPhone"> <el-form-item :label="$t('发货人电话')" prop="consignorPhone">
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<div class="contact"> <div class="contact">
<el-input v-model="form.consigneeName" placeholder="" :disabled="inWarehouse"/> <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/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> </div>
</el-form-item> </el-form-item>
<el-form-item :label="$t('收货人电话')" prop="consigneePhone"> <el-form-item :label="$t('收货人电话')" prop="consigneePhone">
...@@ -425,8 +425,8 @@ ...@@ -425,8 +425,8 @@
</template> </template>
<template v-else> <template v-else>
<el-button type="primary" @click="submitForm(0)" v-if="!form.status">{{$t('保存草稿')}}</el-button> <!--草稿--> <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-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-else>{{$t('编辑订单')}}</el-button> <!--修改-->
</template> </template>
<el-button @click="$store.dispatch('tagsView/delCurrentView')">{{$t('返回')}}</el-button> <el-button @click="$store.dispatch('tagsView/delCurrentView')">{{$t('返回')}}</el-button>
</el-form-item> </el-form-item>
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item :label="$t('跟进业务')+':'"> <el-form-item :label="$t('客户经理')+':'">
<el-select v-model="queryParams.salesmanId" :placeholder="$t('请选择跟进业务')" clearable> <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-option v-for="item in creatorData" :key="item.id" :label="item.nickname" :value="item.id"/>
</el-select> </el-select>
......
...@@ -164,6 +164,7 @@ export default { ...@@ -164,6 +164,7 @@ export default {
}, },
handEdit(row){ handEdit(row){
// 未报价异常
if(row.orderExceptionType=='order_no_quote_exception'){ if(row.orderExceptionType=='order_no_quote_exception'){
if(row.orderItemId){ if(row.orderItemId){
var productData = this.orderData.orderItemVOList.find(item=>item.orderItemId==row.orderItemId) var productData = this.orderData.orderItemVOList.find(item=>item.orderItemId==row.orderItemId)
...@@ -181,11 +182,15 @@ export default { ...@@ -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({ this.$router.push({
path:"/order/weightDeal?id="+row.id+'&type='+row.orderExceptionType, path:"/order/weightDeal?id="+row.id+'&type='+row.orderExceptionType,
}) })
}else{ }
// 其他异常
else{
this.$router.push({ this.$router.push({
path:"/order/prepayDeal?id="+row.id, path:"/order/prepayDeal?id="+row.id,
}) })
......
This diff is collapsed.
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
</el-row> </el-row>
<el-form-item :label="$t('旧全包价')" v-if="orderItem.charging"> <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>
<el-form-item :label="$t('新全包价')" style="width: 400px" prop="clearanceFreight" v-if="orderItem.charging"> <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" /> <el-input v-model="form.freight" type="number" class="w-100" />
......
...@@ -482,11 +482,12 @@ export default { ...@@ -482,11 +482,12 @@ export default {
this.shopForm.orderItemId = list[0].orderItemId this.shopForm.orderItemId = list[0].orderItemId
this.shopForm.prodTitleEn = list[0].prodTitleEn this.shopForm.prodTitleEn = list[0].prodTitleEn
this.shopForm.prodTitleZh = list[0].prodTitleZh this.shopForm.prodTitleZh = list[0].prodTitleZh
var orderItemData = this.orderData.orderItemVOList.find(item=>item.orderItemId==this.shopForm.orderItemId)
var params = { var params = {
'seaFreightVolume':list[0].seaFreightVolume, 'seaFreightVolume':orderItemData.seaFreightVolume,
'clearanceFreightVolume':list[0].clearanceFreightVolume 'clearanceFreightVolume':orderItemData.clearanceFreightVolume
} }
console.log(params) console.log(orderItemData)
this.numcheck(params) this.numcheck(params)
}, },
numcheck(params){ numcheck(params){
......
...@@ -272,7 +272,12 @@ export default { ...@@ -272,7 +272,12 @@ export default {
if (!val) return if (!val) return
// 特殊需求回显 // 特殊需求回显
if (val.specialList) { 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) => { this.specialProducts.map((item, index) => {
if (keyed[item.specialDictType]) { if (keyed[item.specialDictType]) {
for (let field in item) { for (let field in item) {
...@@ -281,7 +286,7 @@ export default { ...@@ -281,7 +286,7 @@ export default {
} }
} }
} }
}) }) */
} }
}, },
'form.transportVolumeUnit'(val){ 'form.transportVolumeUnit'(val){
...@@ -353,6 +358,10 @@ export default { ...@@ -353,6 +358,10 @@ export default {
if(res.data.validateEndDate){ if(res.data.validateEndDate){
this.form.validateEndDate = parseTime(res.data.validateEndDate) this.form.validateEndDate = parseTime(res.data.validateEndDate)
} }
// 特需价格更新
this.lineList = [res.data] this.lineList = [res.data]
}) })
} }
......
...@@ -428,6 +428,14 @@ export default { ...@@ -428,6 +428,14 @@ export default {
resetQuery() { resetQuery() {
this.dateRangeLoginDate = []; this.dateRangeLoginDate = [];
this.dateRangeCreateTime = []; this.dateRangeCreateTime = [];
this.queryParams = {
page: 1,
rows: 10,
isDeal:undefined,// 是否成交
searchKey:undefined,//关键字
auditStatus:undefined,//审核状态
authType:undefined,//关键字
}
this.resetForm("queryForm"); this.resetForm("queryForm");
this.handleQuery(); this.handleQuery();
}, },
......
...@@ -7,20 +7,8 @@ ...@@ -7,20 +7,8 @@
<el-form-item :label="$t('关键字')" prop="nickname"> <el-form-item :label="$t('关键字')" prop="nickname">
<el-input v-model="queryParams.searchKey" :placeholder="$t('搜索昵称、姓名、手机、Email')" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.searchKey" :placeholder="$t('搜索昵称、姓名、手机、Email')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </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-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$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-button :loading="exportLoading" type="primary" @click="exportFn">{{$t('导 出')}}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -34,48 +22,19 @@ ...@@ -34,48 +22,19 @@
<el-table-column :label="$t('公司名称')" align="center" prop="enterpriseName" /> <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="nickname" />
<el-table-column :label="$t('真实姓名')" align="center" prop="identityName" /> <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'> <template v-slot:default = 'scope'>
+{{scope.row.areaCode ? `${scope.row.areaCode}`:''}} +{{scope.row.areaCode ? `${scope.row.areaCode}`:''}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('手机号')" show-overflow-tooltip align="center" prop="mobile" > <el-table-column :label="$t('手机号')" show-overflow-tooltip align="center" prop="mobile" >
</el-table-column> </el-table-column>
<el-table-column :label="$t('成交')" align="center" prop="" show-overflow-tooltip > <el-table-column :label="$t('提交审核时间')" align="center" prop="createTime">
<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"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('身份证审核状态')" align="center" prop="createTime" width="180"> <el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<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">
<template slot-scope="scope" > <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> <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> </template>
...@@ -150,7 +109,7 @@ import { ...@@ -150,7 +109,7 @@ import {
memberGetAuthEnterpriseInfo, memberGetAuthEnterpriseInfo,
memberUserAuditIdCard, memberUserAuditIdCard,
memberUserUpdateIdCard, memberUserUpdateIdCard,
memberUserUpdateEnterprise, setUserUpdateStatus, userCreateAuditEnterprise memberUserUpdateEnterprise, setUserUpdateStatus, userCreateAuditEnterprise, getWaitApprovePage
} from "@/api/member/user"; } from "@/api/member/user";
import {DICT_TYPE, getDictDatas} from "@/utils/dict"; import {DICT_TYPE, getDictDatas} from "@/utils/dict";
import FileUpload from "@/components/FileUpload" import FileUpload from "@/components/FileUpload"
...@@ -198,7 +157,7 @@ export default { ...@@ -198,7 +157,7 @@ export default {
isDeal:undefined,// 是否成交 isDeal:undefined,// 是否成交
searchKey:undefined,//关键字 searchKey:undefined,//关键字
auditStatus:1,//审核状态 auditStatus:1,//审核状态
authType:undefined,//关键字 authType:2,//关键字
}, },
// 表单参数 // 表单参数
form: {}, form: {},
...@@ -270,7 +229,7 @@ export default { ...@@ -270,7 +229,7 @@ export default {
this.addBeginAndEndTime(params, this.dateRangeLoginDate, 'loginDate'); this.addBeginAndEndTime(params, this.dateRangeLoginDate, 'loginDate');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime'); this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行查询 // 执行查询
getUserPage(params).then(response => { getWaitApprovePage(params).then(response => {
this.list = response.data.list; this.list = response.data.list;
this.total = response.data.total; this.total = response.data.total;
this.loading = false; this.loading = false;
...@@ -317,6 +276,14 @@ export default { ...@@ -317,6 +276,14 @@ export default {
this.dateRangeLoginDate = []; this.dateRangeLoginDate = [];
this.dateRangeCreateTime = []; this.dateRangeCreateTime = [];
this.resetForm("queryForm"); this.resetForm("queryForm");
this.queryParams = {
page: 1,
rows: 10,
isDeal:undefined,// 是否成交
searchKey:undefined,//关键字
auditStatus:1,//审核状态
authType:2,//关键字
}
this.handleQuery(); this.handleQuery();
}, },
...@@ -378,17 +345,6 @@ export default { ...@@ -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(){ submit(){
let p = { let p = {
cardNumber:this.enterpriseFrom.cardNumber, cardNumber:this.enterpriseFrom.cardNumber,
......
...@@ -262,7 +262,7 @@ export default { ...@@ -262,7 +262,7 @@ export default {
// 表单重置 // 表单重置
reset() { reset() {
this.form = { this.form = {
id: undefined, /* id: undefined,
parentId: 0, parentId: 0,
name: undefined, name: undefined,
enName: undefined, enName: undefined,
...@@ -272,9 +272,9 @@ export default { ...@@ -272,9 +272,9 @@ export default {
sort: undefined, sort: undefined,
keepalive: false, keepalive: false,
redirect: undefined, redirect: undefined,
status: CommonStatusEnum.ENABLE status: CommonStatusEnum.ENABLE */
}; };
this.resetForm("form"); /* this.resetForm("form"); */
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { 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