Commit ccebc3e2 authored by houjn@hikoon.cn's avatar houjn@hikoon.cn
parents 12af9d20 1224594d
{ {
"ExpandedNodes": [ "ExpandedNodes": [
"", "",
"\\src" "\\src",
"\\src\\views",
"\\src\\views\\ecw",
"\\src\\views\\ecw\\order"
], ],
"SelectedNode": "\\src\\main.js",
"PreviewInSolutionExplorer": false "PreviewInSolutionExplorer": false
} }
\ No newline at end of file
No preview for this file type
...@@ -536,12 +536,27 @@ export function deleteGoods(id) { ...@@ -536,12 +536,27 @@ export function deleteGoods(id) {
*/ */
export function createGoods(data) { export function createGoods(data) {
return request({ return request({
url: "/ecw/box-preload-goods/create", url: "/ecw/box-preload-goods/v2/create",
method: "post", method: "post",
data, data,
}); });
} }
/**
* 获得订单所有关联列表
*
* @export
* @param {*} params
* @return {*}
*/
export function getAllRelateOrderList(params) {
return request({
url: "/order/guanlian/getAllRelateOrderList",
method: "get",
params,
});
}
/** /**
* 预装关联订单 * 预装关联订单
* *
......
import request from '@/utils/request' import request from '@/utils/request'
import {param} from "@/utils";
// 创建订单 // 创建订单
export function createOrder(data) { export function createOrder(data) {
...@@ -688,3 +687,56 @@ export function operateLogPage(params){ ...@@ -688,3 +687,56 @@ export function operateLogPage(params){
timeout: 5 * 60000 timeout: 5 * 60000
}) })
} }
// 取消拆单申请
export function splitCancelApply(data){
return request({
url: '/order/split/cancel-apply',
method: 'put',
data
})
}
// 撤销拆单
export function orderSplitRevoke(data){
return request({
url: '/order/split/revoke',
method: 'put',
data
})
}
/*根据订单ID获取撤销拆单详情*/
export function splitRevoke(orderId){
return request({
url: '/order/split/revoke/' + orderId,
method: 'get'
})
}
/*根据审批ID获取撤销拆单详情*/
export function splitRevokeApply(approvalId){
return request({
url: '/order/split/revoke/apply/' + approvalId,
method: 'get'
})
}
/*取消撤销拆单*/
export function cancelSplitRevoke(data){
return request({
url: '/order/split/cancel/revoke',
method: 'put',
data
})
}
/*修改拆单项*/
export function splitItemUpdate(data){
return request({
url: '/order/split-item/update',
method: 'post',
data
})
}
...@@ -9,6 +9,15 @@ export function createProduct(data) { ...@@ -9,6 +9,15 @@ export function createProduct(data) {
}) })
} }
// 创建产品
export function addProduct(data) {
return request({
url: '/ecw/product/add',
method: 'post',
data: data
})
}
// 更新产品 // 更新产品
export function updateProduct(data) { export function updateProduct(data) {
return request({ return request({
......
...@@ -13,6 +13,12 @@ ...@@ -13,6 +13,12 @@
<div class="value">{{item.contactsName}}</div> <div class="value">{{item.contactsName}}</div>
<el-tag v-if="item.isInOpenSea" type="danger" effect="dark">{{$t('')}}</el-tag> <el-tag v-if="item.isInOpenSea" type="danger" effect="dark">{{$t('')}}</el-tag>
</div> </div>
<!-- v1.7新增 -->
<div class="line">
<div class="label">{{$t('姓名(英文)')}}</div>
<div class="value">{{item.contactsNameEn}}</div>
<el-tag v-if="item.isInOpenSea" type="danger" effect="dark">{{$t('')}}</el-tag>
</div>
<div class="line"> <div class="line">
<div class="label">{{$t('电话')}}</div> <div class="label">{{$t('电话')}}</div>
<div class="value">+{{item.areaCode}} {{item.phoneNew}}</div> <div class="value">+{{item.areaCode}} {{item.phoneNew}}</div>
...@@ -25,6 +31,11 @@ ...@@ -25,6 +31,11 @@
<div class="label">{{$t('公司')}}</div> <div class="label">{{$t('公司')}}</div>
<div class="value">{{item.company}}</div> <div class="value">{{item.company}}</div>
</div> </div>
<!-- v1.7新增 -->
<div class="line">
<div class="label">{{$t('公司(英文)')}}</div>
<div class="value">{{item.companyEn}}</div>
</div>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -14,8 +14,12 @@ ...@@ -14,8 +14,12 @@
<el-option <el-option
v-for="(item, index) in list" v-for="(item, index) in list"
:key="item.id" :key="item.id"
:label="item['title' + lang]" :label="item['title' + lang] + (item.auditStatus === 2 ? '' : `(${lang === 'Zh' ? '待确定' : 'To be determined'})`)"
:value="index"> :value="index">
<span style="float: left">{{ item['title' + lang] }}</span>
<span style="float: right; color: #c76e6e; font-size: 13px">
{{ item.auditStatus === 2 ? '' : (lang === 'Zh' ? '待确定' : 'To be determined') }}
</span>
</el-option> </el-option>
</el-select> </el-select>
</template> </template>
...@@ -30,6 +34,16 @@ export default { ...@@ -30,6 +34,16 @@ export default {
lang: { lang: {
type: String, type: String,
default: 'Zh' default: 'Zh'
},
// 是否显示待确认商品,不传默认不显示
determined: {
type: Boolean,
default: false
},
// 是否显示已有商品,不传默认
status: {
type: [String, Number],
default: null
} }
}, },
data(){ data(){
...@@ -80,7 +94,9 @@ export default { ...@@ -80,7 +94,9 @@ export default {
}, },
remoteMethod(keyword){ remoteMethod(keyword){
let params = { let params = {
pageSize: keyword ? 100000 : 10 pageSize: keyword ? 100000 : 10,
filter: !this.determined,
status:this.status
} }
if(this.productType){ if(this.productType){
params.typeId = this.productType params.typeId = this.productType
......
...@@ -3844,5 +3844,37 @@ ...@@ -3844,5 +3844,37 @@
"慢": "slow", "慢": "slow",
"CTN NO": "", "CTN NO": "",
"请输入CTN NO": "请输入CTN NO", "请输入CTN NO": "请输入CTN NO",
"境内外类型": "Internal and external types" "境内外类型": "Internal and external types",
"为保证入仓数据准确性,入仓请带上一份装箱单(品名,件数,毛重,尺寸方数,是否有牌)": "To ensure the accuracy of warehousing information, please bring a packing list with goods when entrying the warehouse. (Packing list should contain: Product name, Number of cartons, Gross weight, Measurements, Branded or not)",
"姓名(英文)": "Name (English)",
"公司(英文)": "Company (English)",
"入仓体积": "",
"收费体积": "",
"入仓重量": "",
"收费重量": "",
"数据无效": "",
"客户英文名称": "the customer's English name",
"请输入客户英文名称": "Please enter the customer's English name",
"付款人姓名": "The sender's name",
"请输入付款人姓名": "Please enter the name of the payer",
"公司英文名称": "Company English Name",
"联系人英文名称": "Contact's English name",
"请输入联系人英文名称": "Please enter the contact's name in English",
"入仓修改时间": "",
"退仓图片": "",
"发货人中文名称": "The sender's Chinese name",
"发货人英文名称": "The sender's English name",
"发货人公司中文名称": "Sender Company's Chinese name",
"发货人公司英文名称": "Sender Company's English name",
"收货人中文名称": "Consignee's Chinese name",
"收货人英文名称": "Consignee's English name",
"收货人公司中文名称": "Consignee company Chinese name",
"收货人公司英文名称": "Consignee company English name",
"显示更多": "Show more",
"订单包含不接受货物,请检查": "The order contains goods that are not accepted. Please check.",
"撤销拆单": "Cancel split order",
"新增品名中文": "New product name in Chinese",
"新增品名英文": "New product name in English",
"{prods}等商品拆单总数据跟主单不匹配": "The total data for the split order of {prods} products does not match the main order.",
"入仓特性": ""
} }
\ No newline at end of file
...@@ -106,6 +106,9 @@ service.interceptors.response.use(res => { ...@@ -106,6 +106,9 @@ service.interceptors.response.use(res => {
} else if (code === 555) { } else if (code === 555) {
// 额外情况 // 额外情况
return Promise.reject(res.data) return Promise.reject(res.data)
} else if (code === 566) {
// 额外情况
return Promise.reject(res.data)
} else if (code !== 200) { } else if (code !== 200) {
Notification.error({ Notification.error({
title: msg title: msg
......
...@@ -386,6 +386,11 @@ export default { ...@@ -386,6 +386,11 @@ export default {
component: ()=>import('@/views/ecw/financial/components/commissionPaymentDetails.vue'), component: ()=>import('@/views/ecw/financial/components/commissionPaymentDetails.vue'),
id: this.processInstance.businessKey, id: this.processInstance.businessKey,
path: this.processInstance.processDefinition?.formCustomViewPath path: this.processInstance.processDefinition?.formCustomViewPath
},
/*撤销拆单*/
split_revoke:{
component: () => import("@/views/ecw/order/components/SplitRevokeDetail"),
id: this.processInstance.businessKey
} }
} }
console.log('formCustomViewPath', this.processInstance.processDefinition.formCustomViewPath.trim()) console.log('formCustomViewPath', this.processInstance.processDefinition.formCustomViewPath.trim())
......
...@@ -9,7 +9,22 @@ ...@@ -9,7 +9,22 @@
<el-row style="margin-top:15px"> <el-row style="margin-top:15px">
<el-table :data="billData.list" border max-height="500px"> <el-table :data="billData.list" border max-height="500px">
<el-table-column :label="$t('序号')" align="center" width="50" prop="tidanNo" /> <el-table-column :label="$t('序号')" align="center" width="50" prop="tidanNo" />
<el-table-column :label="$t('订单号')" align="center" prop="orderNo" /> <el-table-column :label="$t('订单号')" align="center" prop="orderNo">
<template slot-scope="scope">
<div>
{{scope.row.orderNo}}
</div>
<div style="color:blue;fontWeight:bold;">
{{ scope.row.drawee? scope.row.drawee:''}}
</div>
<div style="color:red;fontWeight:bold;">
{{ scope.row.applicationInfo? scope.row.applicationInfo : ''}}
</div>
<div style="color:red;fontWeight:bold;">
{{ scope.row.customsTypeName? scope.row.customsTypeName : ''}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('货物信息')" align="center" prop=""> <el-table-column :label="$t('货物信息')" align="center" prop="">
<template slot-scope="scope"> <template slot-scope="scope">
<section class="table-goodList"> <section class="table-goodList">
......
...@@ -50,6 +50,7 @@ import html2canvas from 'html2canvas'; ...@@ -50,6 +50,7 @@ import html2canvas from 'html2canvas';
import { jsPDF } from "jspdf"; import { jsPDF } from "jspdf";
import {uploadFile} from '@/api/infra/file' import {uploadFile} from '@/api/infra/file'
import FileSaver from 'file-saver' import FileSaver from 'file-saver'
import {getOrder, getOrderDetail} from "@/api/ecw/order";
window.html2canvas = html2canvas window.html2canvas = html2canvas
export default { export default {
name: "makeLadingBill", name: "makeLadingBill",
...@@ -175,7 +176,13 @@ export default { ...@@ -175,7 +176,13 @@ export default {
showLoaingTemplate() { showLoaingTemplate() {
this.visible = true; this.visible = true;
}, },
// 先获取订单信息,pdf用 订单号+唛头命名
createPdf(){ createPdf(){
getOrder(this.currRow.orderId).then(res => {
this.afterCreatePdf(res.data)
})
},
afterCreatePdf(orderData){
let loading = this.$loading() let loading = this.$loading()
html2canvas(document.querySelector("#html2canvas-container"), {dpi:144, useCORS: true}).then(canvas => { html2canvas(document.querySelector("#html2canvas-container"), {dpi:144, useCORS: true}).then(canvas => {
const doc = new jsPDF('p','pt','a4',true); const doc = new jsPDF('p','pt','a4',true);
...@@ -194,7 +201,7 @@ export default { ...@@ -194,7 +201,7 @@ export default {
/* doc.save("a4.pdf"); /* doc.save("a4.pdf");
return Promise.reject() */ return Promise.reject() */
let form = new FormData() let form = new FormData()
let file = this.selfNo + '-' + this.currRow.tidanNo + '.pdf' let file = this.currRow.orderNo + '-' + orderData.marks + '.pdf' //this.selfNo + '-' + this.currRow.tidanNo + '.pdf'
form.append('file', new File([doc.output('arraybuffer')], file, {type: 'application/pdf'})) form.append('file', new File([doc.output('arraybuffer')], file, {type: 'application/pdf'}))
form.append('path', `admin/shipment/${this.selfNo}/pdf/${file}`) // 最前面不能有/,否则返回的url会有两个/ form.append('path', `admin/shipment/${this.selfNo}/pdf/${file}`) // 最前面不能有/,否则返回的url会有两个/
......
...@@ -319,9 +319,9 @@ ...@@ -319,9 +319,9 @@
</el-row> </el-row>
<!-- 关联订单弹窗 --> <!-- 关联订单弹窗 -->
<el-dialog :title="relationOrderListDialog.title" :visible.sync="relationOrderListDialog.visible" width="30%" append-to-body> <el-dialog :title="relationOrderListDialog.title" :visible.sync="relationOrderListDialog.visible" width="30%" append-to-body>
<el-row v-for="(item,index) in relationOrderListDialog.data" :key="item.id"> <el-card>
{{index+1}}. {{item.orderNo}} <div v-html="relationOrderListDialog.data"></div>
</el-row> </el-card>
<el-row style="margin-top: 10px;text-align: center;"> <el-row style="margin-top: 10px;text-align: center;">
<el-button type="primary" @click="relationOrderListDialog.visible = false">{{$t('关闭窗口')}}</el-button> <el-button type="primary" @click="relationOrderListDialog.visible = false">{{$t('关闭窗口')}}</el-button>
</el-row> </el-row>
...@@ -343,6 +343,7 @@ import { ...@@ -343,6 +343,7 @@ import {
approvalCreate, approvalCreate,
approvalCancel, approvalCancel,
loadRelationOrder, loadRelationOrder,
getAllRelateOrderList
} from "@/api/ecw/boxSea"; } from "@/api/ecw/boxSea";
import userSelect from "./common/userSelect.vue"; import userSelect from "./common/userSelect.vue";
import { import {
...@@ -516,10 +517,12 @@ export default { ...@@ -516,10 +517,12 @@ export default {
}, },
/**查看关联订单 */ /**查看关联订单 */
getRelationOrder(item) { getRelationOrder(item) {
console.log(item) getAllRelateOrderList({orderId:item.orderId,orderNo:item.orderNo}).then(res=>{
this.relationOrderListDialog.title = item.orderNo+'关联订单' this.relationOrderListDialog.title = item.orderNo+'关联订单'
this.relationOrderListDialog.visible = true this.relationOrderListDialog.visible = true
this.relationOrderListDialog.data = item.relateOrderList this.relationOrderListDialog.data = res.msg.replace(/\n/g,'<br>')
})
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery(type) { handleQuery(type) {
...@@ -689,6 +692,22 @@ export default { ...@@ -689,6 +692,22 @@ export default {
this.queryAllData(); this.queryAllData();
}); });
} }
if (res.code === 566) {
this.$confirm(res.msg+this.$t('是否需要一起预装?'), this.$t("提示"), {
type: "warning",
})
.then((_) => {
createGoods({ ...params, relationStatus: 2 }).then((res) => {
serviceMsg(res, this).then(() => {
this.queryAllData();
});
});
})
.catch((_) => {
this.queryAllData();
});
}
}); });
} else { } else {
let params = { let params = {
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
<el-form-item :label="$t('申请理由')"> <el-form-item :label="$t('申请理由')">
<el-input v-model="reviewObj.applyReason" type="textarea" rows="2" :placeholder="$t('请输入申请理由')" :disabled="isReview"></el-input> <el-input v-model="reviewObj.applyReason" type="textarea" rows="2" :placeholder="$t('请输入申请理由')" :disabled="isReview"></el-input>
</el-form-item> </el-form-item>
<span v-if="voKey=='preInstallBackInfo'" style="color: red;margin-left: 120px;">{{$t('请注意,预装反审后,全部提单需重新制作')}}</span>
</el-form> </el-form>
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="success" @click="onSubmit" v-show="!isReview">{{$t('发起申请')}}</el-button> <el-button type="success" @click="onSubmit" v-show="!isReview">{{$t('发起申请')}}</el-button>
......
...@@ -17,6 +17,16 @@ ...@@ -17,6 +17,16 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item :label="$t('客户英文名称')">
<el-input v-model="form.nameEn" :placeholder="$t('请输入客户英文名称')"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('付款人姓名')">
<el-input v-model="form.payerName" :placeholder="$t('请输入付款人姓名')"></el-input>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('客户等级')" prop="level"> <el-form-item :label="$t('客户等级')" prop="level">
<el-select v-model="form.level" :placeholder="$t('请选择客户等级')" disabled> <el-select v-model="form.level" :placeholder="$t('请选择客户等级')" disabled>
...@@ -70,7 +80,6 @@ ...@@ -70,7 +80,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('客户生日')" prop="birthday"> <el-form-item :label="$t('客户生日')" prop="birthday">
<el-date-picker <el-date-picker
v-model="form.birthday" v-model="form.birthday"
...@@ -80,6 +89,11 @@ ...@@ -80,6 +89,11 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item :label="$t('公司英文名称')">
<el-input v-model="form.companyEn" :placeholder="$t('请输入客户英文名称')"></el-input>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('主营类别')" prop="productType"> <el-form-item :label="$t('主营类别')" prop="productType">
<el-row :gutter="10"> <el-row :gutter="10">
...@@ -268,6 +282,16 @@ ...@@ -268,6 +282,16 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column>
<template slot="header">
{{$t('联系人英文名称')}}
</template>
<template v-slot="{row, cellValue, $index}">
<el-form-item label="">
<el-input v-model="row.nameEn" :placeholder="$t('请输入联系人英文名称')" size="mini"/>
</el-form-item>
</template>
</el-table-column>
<el-table-column <el-table-column
prop="areaCode" prop="areaCode"
:label="$t('区号')" :label="$t('区号')"
...@@ -873,12 +897,15 @@ export default { ...@@ -873,12 +897,15 @@ export default {
id: undefined, id: undefined,
number: undefined, number: undefined,
name: undefined, name: undefined,
nameEn: undefined,
level: 1, level: 1,
country: undefined, country: undefined,
type: undefined, type: undefined,
transportType:[], transportType:[],
agentId: undefined, agentId: undefined,
company: undefined, company: undefined,
companyEn: undefined,
payerName:undefined,
address: undefined, address: undefined,
productType: undefined, productType: undefined,
productId: undefined, productId: undefined,
...@@ -948,6 +975,7 @@ export default { ...@@ -948,6 +975,7 @@ export default {
"social": undefined, "social": undefined,
"socialNumber": "", "socialNumber": "",
"userid": undefined, "userid": undefined,
"nameEn":"",
// "username": "" // "username": ""
}) })
}, },
......
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="name"> <el-table-column :label="$t('客户名称')" align="center" prop="name">
<template slot-scope="{row}"> <template slot-scope="{row}">
{{row.name}} <el-tag v-if="row.isInOpenSea" size="mini">{{ $t('') }}</el-tag> {{$l(row, 'name')}} <el-tag v-if="row.isInOpenSea" size="mini">{{ $t('') }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<el-table-column :label="$t('客户名称')" align="center" prop="name" > <el-table-column :label="$t('客户名称')" align="center" prop="name" >
<template v-slot="scope"> <template v-slot="scope">
<router-link :to="{path: '/customer/indirectInfo',query: {id: scope.row.id}}" class="link-type"> <router-link :to="{path: '/customer/indirectInfo',query: {id: scope.row.id}}" class="link-type">
<span>{{ scope.row.name }}</span> <span>{{ $l(scope.row,'name') }}</span>
</router-link> </router-link>
</template> </template>
</el-table-column> </el-table-column>
......
...@@ -15,7 +15,8 @@ ...@@ -15,7 +15,8 @@
<el-card style="margin-top: 15px;"> <el-card style="margin-top: 15px;">
<el-descriptions :column="4" border> <el-descriptions :column="4" border>
<el-descriptions-item :label="$t('客户编号')">{{ customer.number }}</el-descriptions-item> <el-descriptions-item :label="$t('客户编号')">{{ customer.number }}</el-descriptions-item>
<el-descriptions-item :label="$t('客户名称')">{{ customer.name }}</el-descriptions-item> <el-descriptions-item :label="$t('客户名称')">{{ customer.name}}</el-descriptions-item>
<el-descriptions-item :label="$t('客户英文名称')">{{customer.nameEn }}</el-descriptions-item>
<el-descriptions-item :label="$t('结算方式')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_BALANCE, customer.balance) }}</el-descriptions-item> <el-descriptions-item :label="$t('结算方式')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_BALANCE, customer.balance) }}</el-descriptions-item>
<el-descriptions-item :label="$t('客户生日')">{{ parseTime(customer.birthday, '{y}-{m}-{d}') }}</el-descriptions-item> <el-descriptions-item :label="$t('客户生日')">{{ parseTime(customer.birthday, '{y}-{m}-{d}') }}</el-descriptions-item>
<el-descriptions-item :label="$t('出货渠道')"> <el-descriptions-item :label="$t('出货渠道')">
...@@ -38,6 +39,7 @@ ...@@ -38,6 +39,7 @@
<el-descriptions-item :label="$t('推介人')">{{ customer.promoterName }}</el-descriptions-item> <el-descriptions-item :label="$t('推介人')">{{ customer.promoterName }}</el-descriptions-item>
<el-descriptions-item :label="$t('客户经理')">{{customerService }}</el-descriptions-item> <el-descriptions-item :label="$t('客户经理')">{{customerService }}</el-descriptions-item>
<el-descriptions-item :label="$t('公司名称')">{{ customer.company }}</el-descriptions-item> <el-descriptions-item :label="$t('公司名称')">{{ customer.company }}</el-descriptions-item>
<el-descriptions-item :label="$t('公司英文名称')">{{ customer.companyEn }}</el-descriptions-item>
<el-descriptions-item :label="$t('联系地址')">{{ customer.address }}</el-descriptions-item> <el-descriptions-item :label="$t('联系地址')">{{ customer.address }}</el-descriptions-item>
<el-descriptions-item :label="$t('创建时间')">{{ parseTime(customer.createTime) }}</el-descriptions-item> <el-descriptions-item :label="$t('创建时间')">{{ parseTime(customer.createTime) }}</el-descriptions-item>
<el-descriptions-item :label="$t('创建人')">{{ customer.founderName }}</el-descriptions-item> <el-descriptions-item :label="$t('创建人')">{{ customer.founderName }}</el-descriptions-item>
...@@ -48,7 +50,8 @@ ...@@ -48,7 +50,8 @@
<el-image v-show="!!customer.picture" :src="customer.picture" style="width: 100px;height: 100px"></el-image> <el-image v-show="!!customer.picture" :src="customer.picture" style="width: 100px;height: 100px"></el-image>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('备注')">{{ customer.remarks }}</el-descriptions-item> <el-descriptions-item :label="$t('备注')">{{ customer.remarks }}</el-descriptions-item>
<el-descriptions-item :label="$t('新老客户')">{{ customer.isNew ?$t('新客户') : $t('老客户') }}</el-descriptions-item> <el-descriptions-item :label="$t('业绩类型')">{{ customer.isNew ?$t('新客户') : $t('老客户') }}</el-descriptions-item>
<el-descriptions-item :label="$t('付款人姓名')">{{ customer.payerName }}</el-descriptions-item>
<el-descriptions-item v-if="permissions.includes('ecw:customer:query-card')" :label="$t('身份证姓名')">{{ customer.carName }}</el-descriptions-item> <el-descriptions-item v-if="permissions.includes('ecw:customer:query-card')" :label="$t('身份证姓名')">{{ customer.carName }}</el-descriptions-item>
<el-descriptions-item v-if="permissions.includes('ecw:customer:query-card')" :label="$t('身份证号码')">{{ customer.carNo }}</el-descriptions-item> <el-descriptions-item v-if="permissions.includes('ecw:customer:query-card')" :label="$t('身份证号码')">{{ customer.carNo }}</el-descriptions-item>
<!-- <el-descriptions-item :label="$t('信用等级')">{{ customer }}</el-descriptions-item>--> <!-- <el-descriptions-item :label="$t('信用等级')">{{ customer }}</el-descriptions-item>-->
...@@ -77,6 +80,12 @@ ...@@ -77,6 +80,12 @@
prop="name" prop="name"
:label="$t('联系人')" :label="$t('联系人')"
> >
</el-table-column>
<el-table-column
prop="nameEn"
:label="$t('联系人英文名称')"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="phoneNew" prop="phoneNew"
...@@ -165,7 +174,7 @@ ...@@ -165,7 +174,7 @@
@change="changeDate" @change="changeDate"
style="width: 240px" style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
type="daterange" type="datetimerange"
range-separator="-" range-separator="-"
:start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" /> :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item> </el-form-item>
...@@ -231,6 +240,11 @@ ...@@ -231,6 +240,11 @@
<!-- <dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" />--> <!-- <dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" />-->
<!-- </template>--> <!-- </template>-->
</el-table-column> </el-table-column>
<el-table-column :label="$t('入仓时间')">
<template v-slot="{row}">
{{parseTime(row.rucangTime)}}
</template>
</el-table-column>
</el-table> </el-table>
<pagination @pagination="getorderList" :page.sync="queryParams.page" :limit.sync="queryParams.rows" :total="orderTotal" ></pagination> <pagination @pagination="getorderList" :page.sync="queryParams.page" :limit.sync="queryParams.rows" :total="orderTotal" ></pagination>
</el-card> </el-card>
......
...@@ -85,7 +85,11 @@ ...@@ -85,7 +85,11 @@
</router-link> </router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="name" /> <el-table-column :label="$t('客户名称')" align="center" prop="name" >
<template v-slot="{row}">
{{$l(row, 'name')}}
</template>
</el-table-column>
<el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh"> <el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" /> <dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" />
......
...@@ -96,7 +96,11 @@ ...@@ -96,7 +96,11 @@
</router-link> </router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="name" /> <el-table-column :label="$t('客户名称')" align="center" prop="name" >
<template v-slot="{row}">
{{$l(row, 'name')}}
</template>
</el-table-column>
<el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh"> <el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" /> <dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" />
......
...@@ -73,6 +73,7 @@ ...@@ -73,6 +73,7 @@
<dict-tag :type="DICT_TYPE.CUSTOMER_ESOURCE_TYPE" :value="scope.row.customerType"/> <dict-tag :type="DICT_TYPE.CUSTOMER_ESOURCE_TYPE" :value="scope.row.customerType"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('业绩类型')" align="center" prop="achieveType"/>
<el-table-column :label="$t('报价单号')" align="center" width="180"> <el-table-column :label="$t('报价单号')" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.number}}</span> <span>{{scope.row.number}}</span>
......
...@@ -71,6 +71,7 @@ ...@@ -71,6 +71,7 @@
<dict-tag :type="DICT_TYPE.CUSTOMER_ESOURCE_TYPE" :value="scope.row.customerType"/> <dict-tag :type="DICT_TYPE.CUSTOMER_ESOURCE_TYPE" :value="scope.row.customerType"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('业绩类型')" align="center" prop="achieveType"/>
<el-table-column :label="$t('报价单号')" align="center" width="180"> <el-table-column :label="$t('报价单号')" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.number}}</span> <span>{{scope.row.number}}</span>
......
...@@ -70,6 +70,7 @@ ...@@ -70,6 +70,7 @@
<dict-tag :type="DICT_TYPE.CUSTOMER_ESOURCE_TYPE" :value="scope.row.customerType"/> <dict-tag :type="DICT_TYPE.CUSTOMER_ESOURCE_TYPE" :value="scope.row.customerType"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('业绩类型')" align="center" prop="achieveType"/>
<el-table-column :label="$t('报价单号')" align="center" width="180"> <el-table-column :label="$t('报价单号')" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.number}}</span> <span>{{scope.row.number}}</span>
......
...@@ -85,7 +85,11 @@ ...@@ -85,7 +85,11 @@
</router-link> </router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="name" /> <el-table-column :label="$t('客户名称')" align="center" prop="name" >
<template v-slot="{row}">
{{$l(row, 'name')}}
</template>
</el-table-column>
<el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh"> <el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" /> <dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" />
......
...@@ -90,7 +90,11 @@ ...@@ -90,7 +90,11 @@
</router-link> </router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="name" /> <el-table-column :label="$t('客户名称')" align="center" prop="name" >
<template v-slot="{row}">
{{$l(row, 'name')}}
</template>
</el-table-column>
<el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh"> <el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" /> <dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" />
......
...@@ -42,10 +42,7 @@ ...@@ -42,10 +42,7 @@
{{parseTime(row.rucangTime)}} {{parseTime(row.rucangTime)}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('状态')"> <el-table-column :label="$t('状态')" prop="statusMsg">
<template v-slot:default="scope">
<dict-tag :value="scope.row.status" :type="DICT_TYPE.ORDER_STATUS"></dict-tag>
</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作')"> <el-table-column :label="$t('操作')">
<template v-slot:default="scope"> <template v-slot:default="scope">
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('状态')" prop="status" > <el-table-column :label="$t('状态')" prop="status" >
<template v-slot:default="scope"> <template v-slot:default="scope">
<dict-tag :value="scope.row.orderBackVO.status" :type="DICT_TYPE.ORDER_STATUS" ></dict-tag> {{scope.row.orderBackVO.statusMsg}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作人')" prop="creator"> <el-table-column :label="$t('操作人')" prop="creator">
......
...@@ -57,6 +57,13 @@ ...@@ -57,6 +57,13 @@
<el-option :label="$t('自有仓')" :value="0"></el-option> <el-option :label="$t('自有仓')" :value="0"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('订单类型')" prop="number">
<el-select v-model="queryParams.type" :placeholder="$t('请选择')" clearable >
<el-option :label="$t('普通订单')" :value="0"></el-option>
<el-option :label="$t('集运服务')" :value="1"></el-option>
<el-option :label="$t('海外仓')" :value="2"></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 type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
......
<template>
<el-dialog :visible="true" title="撤销拆单" :before-close="close">
<el-form :model="form" label-width="100px">
<!--<el-form-item label="申请理由">
<el-input v-model="form.reason"></el-input>
</el-form-item>-->
<el-form-item label="抄送">
<work-flow v-model="form.ccIds" xmlkey="revoke_split_order"></work-flow>
</el-form-item>
</el-form>
<div slot="footer">
<template v-if="formId" >
<el-button type="primary" @click="toBpmDetail">审核中</el-button>
<el-button type="default" @click="cancelApproval">取消审核</el-button>
</template>
<el-button v-else type="primary" @click="submit" :loading="submitting" :disabled="submitting">确认</el-button>
</div>
</el-dialog>
</template>
<script>
import WorkFlow from "@/components/WorkFlow";
import {cancelSplitRevoke, orderSplitRevoke, splitRevoke} from '@/api/ecw/order'
export default {
name: "SplitRevoke",
components: { WorkFlow},
props:{
orderId: Number
},
data(){
return {
formId: null, // 审批ID
submitting: false,
form: {
ccIds: []
}
}
},
created() {
splitRevoke(this.orderId).then(res =>{
console.log(res)
if(res.data.formId){
this.formId = res.data.formId
}
})
},
methods:{
submit(){
console.log('提交')
if(this.submitting) return
this.submitting = true
orderSplitRevoke({
orderId: this.orderId,
copyUserId: this.form.ccIds
}).then(res => {
this.$message.success(res.msg || '操作成功')
this.close()
}).finally(() =>{
this.submitting = false
})
},
close(){
this.$emit('close')
},
toBpmDetail(){
this.$router.push(`/bpm/process-instance/detail?id=${this.formId}`)
this.close()
},
// 取消审核
cancelApproval(){
this.$prompt(this.$t("请输入取消原因")).then(res => {
return cancelSplitRevoke({orderId: this.orderId, reason: res.value})
}).then(res => {
this.$message.success(res.msg || this.$t('操作成功'))
this.close()
})
}
}
}
</script>
<style scoped>
</style>
<!--拆单审核中的申请信息部分-->
<template>
<div v-if="orders">
<el-table :data="orders">
<el-table-column :label="$t('订单编号')">
<template slot-scope="scope">{{scope.row.orderNo}}</template>
</el-table-column>
<el-table-column :label="$t('唛头')">
<template slot-scope="{row}">{{row.marks}}</template>
</el-table-column>
<el-table-column label="订单状态">
<template slot-scope="{row}">{{row.statusMsg}}</template>
</el-table-column>
<el-table-column :label="$t('填单统计')">
<template slot-scope="{row}">
{{row.costVO.totalNum}}{{$t('')}}<br/>{{row.costVO.totalVolume}}<br/>{{row.costVO.totalWeight}}kg
</template>
</el-table-column>
<el-table-column :label="$t('入仓统计')">
<template slot-scope="{row}">
{{row.sumNum}}{{$t('')}}<br/>{{row.sumVolume}}<br/>{{row.sumWeight}}kg
</template>
</el-table-column>
<el-table-column :label="$t('收费统计')">
<template slot-scope="{row}">
{{row.sumNum}}{{$t('')}}<br/>{{row.wvolume}}<br/>{{row.vweight}}kg
</template>
</el-table-column>
<el-table-column :label="$t('入仓时间')">
<template slot-scope="{row}">
{{row.rucangTime|parseTime}}
</template>
</el-table-column>
<el-table-column :label="$t('运输方式')">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="row.transportId" />
</template>
</el-table-column>
<el-table-column :label="$t('出货渠道')">
<template slot-scope="{row}">
{{getChannelName(row.channelId)}}
</template>
</el-table-column>
<el-table-column :label="$t('始发仓')">
<template slot-scope="{row}">{{jsonParse(row.departureVO.departure).titleZh}}</template>
</el-table-column>
<el-table-column :label="$t('目的仓')">
<template slot-scope="{row}">
{{jsonParse(row.objectiveVO.objective).titleZh}}
</template>
</el-table-column>
<el-table-column :label="$t('发货人')">
<template slot-scope="{row}">
{{row.consignorVO.name}}
</template>
</el-table-column>
<el-table-column :label="$t('收货人')">
<template slot-scope="{row}">
{{row.consigneeVO.name}}
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import {getApproval, getOrder, splitRevokeApply} from '@/api/ecw/order'
import {getMergeListByMergeId} from '@/api/ecw/orderHandle'
import {getChannelListByIds} from '@/api/ecw/channel'
import {parseTime} from '@/utils/ruoyi'
export default {
name: 'SplitRevokeDetail',
filters: {parseTime},
props:{
id: [String, Number]
},
data(){
return {
orders: null,
channels: []
}
},
watch:{
id(){
this.getData()
}
},
computed:{
jsonParse(){
return d => {
return JSON.parse(d)
}
},
getChannelName(){
return id => {
let channel = this.channels.find(item => item.channelId == id)
return channel ? channel.nameZh : '/'
}
}
},
created(){
if(this.id){
this.getData()
}
},
methods:{
getData(){
splitRevokeApply(this.id).then(res => {
this.orders = res.data.childrenOrderList
this.getChannels()
})
},
getChannels(){
let ids = []
this.orders.forEach(order => {
if(order.channelId){
ids.push(order.channelId)
}
})
if(!ids.length) return false
getChannelListByIds({ids: ids.join(',')}).then(res => {
this.channels = res.data
})
}
}
}
</script>
<style scoped lang="scss">
.title{
padding: 10px 0;
span{
font-size: 14px;
font-weight: bold;
}
}
</style>
...@@ -130,6 +130,16 @@ ...@@ -130,6 +130,16 @@
<div> <div>
{{ FeeDetails.details && FeeDetails.details.reason ? FeeDetails.details.reason :''}} {{ FeeDetails.details && FeeDetails.details.reason ? FeeDetails.details.reason :''}}
</div> </div>
<p>{{$t('退仓图片')}}</p>
<div>
<el-image
v-for="(item, index) in (FeeDetails.details.imgUrl || '').split(',')"
:key = 'index'
style="width: 100px; height: 100px;margin:10px;"
:src="item"
:preview-src-list="(FeeDetails.details.imgUrl || '').split(',')">
</el-image>
</div>
</div> </div>
<div v-if="type === 4"> <div v-if="type === 4">
<p>{{ $t('申请理由') }}</p> <p>{{ $t('申请理由') }}</p>
......
...@@ -6,29 +6,40 @@ ...@@ -6,29 +6,40 @@
<template v-if="order.tidanNo"> - {{order.tidanNo}}</template> <template v-if="order.tidanNo"> - {{order.tidanNo}}</template>
<template v-else-if="order.containerNumber"> - {{order.containerNumber}}</template> <template v-else-if="order.containerNumber"> - {{order.containerNumber}}</template>
</div> </div>
<el-row :gutter="20"> <el-row :gutter="24">
<el-col :span="8" v-if="order.consignorVO"> <el-col :span="12" v-if="order.consignorVO" style="position: relative;">
<el-descriptions class="margin-top" border :title="$t('发货人')" :column="1" :labelStyle="{width:'150px'}"> <span style="color:#409EFF;position: absolute;left:160px;top:0;font-size:16px" @click="consigneeChange">{{consigneeText}}</span>
<el-descriptions-item :label="$t('发货人')">{{order.consignorVO.name}}</el-descriptions-item> <el-descriptions class="margin-top" border :title="$t('发货人')" :column="3" :labelStyle="{width:'110px'}" :contentStyle="{width:'150px'}">
<el-descriptions-item :label="$t('发货人电话')"> <el-descriptions-item :label="$t('中文名称')">{{order.consignorVO.name}}</el-descriptions-item>
<!-- v1.7新增 -->
<el-descriptions-item :label="$t('英文名称')">{{order.consignorVO.nameEn}}</el-descriptions-item>
<el-descriptions-item :label="$t('电话')">
+{{order.consignorVO.countryCode}} {{order.consignorVO.phone}} +{{order.consignorVO.countryCode}} {{order.consignorVO.phone}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('发货人邮箱')">{{order.consignorVO.email}}</el-descriptions-item> <el-descriptions-item :label="$t('付款人')">
<el-descriptions-item :label="$t('发货人公司名称')"> <el-link v-if="order.drawee == 3" @click.native="showDarweeDialog=true" type="primary">{{ $t('自定义') }}</el-link>
<dict-tag v-else :type="DICT_TYPE.DRAWEE" :value="order.drawee"></dict-tag>
</el-descriptions-item>
</el-descriptions>
<el-descriptions border :class="showMore?'showInfo':'hiddenInfo'" :column="3" :labelStyle="{width:'110px'}" :contentStyle="{width:'150px'}">
<el-descriptions-item :label="$t('邮箱')">{{order.consignorVO.email}}</el-descriptions-item>
<el-descriptions-item :label="$t('公司中文名称')">
{{order.consignorVO.company}} {{order.consignorVO.company}}
</el-descriptions-item> </el-descriptions-item>
<!-- v1.7新增 -->
<el-descriptions-item :label="$t('公司英文名称')">
{{order.consignorVO.companyEn}}
</el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-col> </el-col>
<el-col :span="16" v-if="order.consigneeVO"> <el-col :span="12" v-if="order.consigneeVO">
<el-descriptions class="margin-top" border :title="$t('收货人')" :column="2" :labelStyle="{width:'150px'}"> <el-descriptions class="margin-top" border :title="$t('收货人')" :column="3" :labelStyle="{width:'110px'}" :contentStyle="{width:'150px'}">
<el-descriptions-item :label="$t('收货人')">{{order.consigneeVO.name}}</el-descriptions-item> <el-descriptions-item :label="$t('中文名称')">{{order.consigneeVO.name}}</el-descriptions-item>
<el-descriptions-item :label="$t('收货人电话')"> <!-- v1.7新增 -->
<el-descriptions-item :label="$t('英文名称')">{{order.consigneeVO.nameEn}}</el-descriptions-item>
<el-descriptions-item :label="$t('电话')">
+{{order.consigneeVO.countryCode}} {{order.consigneeVO.phone}} +{{order.consigneeVO.countryCode}} {{order.consigneeVO.phone}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('收货人邮箱')">{{order.consigneeVO.email}}</el-descriptions-item>
<el-descriptions-item :label="$t('收货人公司名称')">
{{order.consigneeVO.company}}
</el-descriptions-item>
<el-descriptions-item :label="$t('收货方式')"> <el-descriptions-item :label="$t('收货方式')">
<dict-tag :type="DICT_TYPE.ECW_HARVEST_METHOD" :value="order.consigneeVO.harvestMethod" /> <dict-tag :type="DICT_TYPE.ECW_HARVEST_METHOD" :value="order.consigneeVO.harvestMethod" />
</el-descriptions-item> </el-descriptions-item>
...@@ -39,25 +50,28 @@ ...@@ -39,25 +50,28 @@
{{order.consigneeVO.address}} {{order.consigneeVO.address}}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-col> <el-descriptions border :class="showMore?'showInfo':'hiddenInfo'" :column="3" :labelStyle="{width:'110px'}" :contentStyle="{width:'150px'}">
</el-row> <el-descriptions-item :label="$t('邮箱')">{{order.consigneeVO.email}}</el-descriptions-item>
<el-descriptions class="margin-top" border :column="1" :labelStyle="{width:'150px'}"> <el-descriptions-item :label="$t('公司中文名称')">
<el-descriptions-item :label="$t('付款人')"> {{order.consigneeVO.company}}
</el-descriptions-item>
<el-link v-if="order.drawee == 3" @click.native="showDarweeDialog=true" type="primary">{{ $t('自定义') }}</el-link> <!-- v1.7新增 -->
<dict-tag v-else :type="DICT_TYPE.DRAWEE" :value="order.drawee"></dict-tag> <el-descriptions-item :label="$t('公司英文名称')">
{{order.consigneeVO.companyEn}}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-col>
</el-row>
</el-card> </el-card>
<el-card class="card"> <el-card class="card">
<el-descriptions border :title="$t('物流信息')" :column="2"> <el-descriptions border :title="$t('物流信息')" :column="4">
<el-descriptions-item :label="$t('始发仓')">{{$l(order.logisticsInfoDto, 'startTitle')}}</el-descriptions-item> <el-descriptions-item :label="$t('始发仓')">{{$l(order.logisticsInfoDto, 'startTitle')}}</el-descriptions-item>
<el-descriptions-item :label="$t('目的仓')">{{$l(order.logisticsInfoDto, 'destTitle')}}</el-descriptions-item> <el-descriptions-item :label="$t('目的仓')">{{$l(order.logisticsInfoDto, 'destTitle')}}</el-descriptions-item>
<!-- <el-descriptions-item :label="$t('地址')" :span="2">{{order.logisticsInfoDto.startAddressZh}}</el-descriptions-item> --> <!-- <el-descriptions-item :label="$t('地址')" :span="2">{{order.logisticsInfoDto.startAddressZh}}</el-descriptions-item> -->
<el-descriptions-item :label="$t('运输方式')" :span="2"> <el-descriptions-item :label="$t('运输方式')" >
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" /> <dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('出货渠道')" :span="2">{{channelName}}</el-descriptions-item> <el-descriptions-item v-if="getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, order.transportId).cssClass == 'channel'":label="$t('出货渠道')" >{{channelName}}</el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-card> </el-card>
...@@ -92,6 +106,10 @@ ...@@ -92,6 +106,10 @@
<el-descriptions-item :label="$t('单证报关')"> <el-descriptions-item :label="$t('单证报关')">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="order.customsType" /> <dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="order.customsType" />
</el-descriptions-item> </el-descriptions-item>
</el-descriptions>
<el-collapse v-model="activeNames" @change="handleChange" >
<el-collapse-item :title="showText" name="1">
<el-descriptions class="mr-10" border :column="2">
<el-descriptions-item :label="$t('出单方式')"> <el-descriptions-item :label="$t('出单方式')">
<dict-tag :type="DICT_TYPE.ECW_SUING_METHOD" :value="order.issuingMethod" /> <dict-tag :type="DICT_TYPE.ECW_SUING_METHOD" :value="order.issuingMethod" />
</el-descriptions-item> </el-descriptions-item>
...@@ -127,6 +145,9 @@ ...@@ -127,6 +145,9 @@
{{order.createTime|parseTime}} {{order.createTime|parseTime}}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-collapse-item>
</el-collapse>
</el-card> </el-card>
<el-card class="card"> <el-card class="card">
<el-tabs v-model="activeName"> <el-tabs v-model="activeName">
...@@ -387,7 +408,7 @@ ...@@ -387,7 +408,7 @@
<script> <script>
import { getOrder, operateLogPage } from '@/api/ecw/order' import { getOrder, operateLogPage } from '@/api/ecw/order'
import { getDictDatas, DICT_TYPE } from '@/utils/dict'; import { getDictDatas, DICT_TYPE, getDictData } from '@/utils/dict';
import PrintWarehouseReceipt from './components/PrintWarehouseReceipt' import PrintWarehouseReceipt from './components/PrintWarehouseReceipt'
import PrintLadingBill from './components/PrintLadingBill' import PrintLadingBill from './components/PrintLadingBill'
import {getUnitList} from '@/api/ecw/unit' import {getUnitList} from '@/api/ecw/unit'
...@@ -443,6 +464,10 @@ export default { ...@@ -443,6 +464,10 @@ export default {
feeDetail: null, // 费用详情 feeDetail: null, // 费用详情
logsLoading: false, // 日志加载中 logsLoading: false, // 日志加载中
logs: [], // 操作日志 logs: [], // 操作日志
activeNames: [],//显示隐藏订单基本信息
showText:this.$t('显示更多'),
showMore:false,
consigneeText:this.$t('展示'),
} }
}, },
computed:{ computed:{
...@@ -460,6 +485,9 @@ export default { ...@@ -460,6 +485,9 @@ export default {
}) })
return map return map
}, },
getDictData(){
return (type, value) => getDictData(type, value) || {}
},
objective(){ objective(){
if(this.order && this.order.objectiveVO){ if(this.order && this.order.objectiveVO){
return JSON.parse(this.order.objectiveVO.objective) return JSON.parse(this.order.objectiveVO.objective)
...@@ -517,6 +545,15 @@ export default { ...@@ -517,6 +545,15 @@ export default {
}) })
return Array.from(new Set(arr)).join(",") return Array.from(new Set(arr)).join(",")
}, },
//订单信息显示更多
handleChange(val){
this.showText = val.length>0? this.$t('隐藏') : this.$t('显示更多')
},
//订单信息显示更多
consigneeChange(){
this.showMore = !this.showMore;
this.consigneeText = this.showMore? this.$t('隐藏') : this.$t('展示')
},
// 显示费用详情 // 显示费用详情
showFeeDetail(row, type){ showFeeDetail(row, type){
this.showFeeDetailDialog = true this.showFeeDetailDialog = true
...@@ -685,4 +722,17 @@ export default { ...@@ -685,4 +722,17 @@ export default {
.el-icon-arrow-down { .el-icon-arrow-down {
font-size: 12px; font-size: 12px;
} }
.hiddenInfo{
display:none;
}
.showInfo{
display:block;
}
/deep/ .el-collapse-item__header{
color:#409EFF !important;
}
/deep/ .el-collapse-item__wrap{
margin-left:-12px;
border:none !important;
}
</style> </style>
...@@ -22,41 +22,63 @@ ...@@ -22,41 +22,63 @@
</el-form-item> </el-form-item>
<div class="form-section"> <div class="form-section">
<el-form-item :label="$t('发货人')" prop="consignorContactsId" > <el-form-item :label="$t('发货人中文名称')" prop="consignorContactsId" >
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> --> <!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<div class="contact"> <div class="contact">
<el-input v-model="form.consignorName" placeholder="" :disabled2="inWarehouse"/> <el-input v-model="form.consignorName" placeholder="" :disabled2="inWarehouse"/>
<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='0'" /> <img src="@/assets/images/new_customer.png" class="phonebook" @click="quickCreateType='0'" />
</div> </div>
</el-form-item>
<!-- v1.7新增 -->
<el-form-item :label="$t('发货人英文名称')" prop="consignorNameEn" >
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<div class="contact">
<el-input v-model="form.consignorNameEn" placeholder="" :disabled2="inWarehouse"/>
</div>
</el-form-item> </el-form-item>
<el-form-item :label="$t('发货人电话')" prop="consignorPhone"> <el-form-item :label="$t('发货人电话')" prop="consignorPhone">
<area-code-selector v-model="form.consignorCountryCode" class="w-200 mr-10" disabled /> <area-code-selector v-model="form.consignorCountryCode" class="w-200 mr-10" disabled />
<el-input v-model="form.consignorPhone" class="w-200" disabled /> <el-input v-model="form.consignorPhone" class="w-200" disabled />
</el-form-item> </el-form-item>
<el-form-item :label="$t('发货人公司')" prop="consignorPhone"> <el-form-item :label="$t('发货人公司中文名称')" prop="consignorPhone">
<el-input v-model="form.consignorCompany" :disabled2="inWarehouse" /> <el-input v-model="form.consignorCompany" :disabled2="inWarehouse" />
</el-form-item> </el-form-item>
<!-- v1.7新增 -->
<el-form-item :label="$t('发货人公司英文名称')" prop="consignorPhone">
<el-input v-model="form.consignorCompanyEn" :disabled2="inWarehouse" />
</el-form-item>
<el-form-item label="Email" prop="consignorPhone"> <el-form-item label="Email" prop="consignorPhone">
<el-input v-model="form.consignorEmail" :disabled2="inWarehouse" /> <el-input v-model="form.consignorEmail" :disabled2="inWarehouse" />
</el-form-item> </el-form-item>
</div> </div>
<div class="form-section"> <div class="form-section">
<el-form-item :label="$t('收货人')" prop="consigneeContactsId"> <el-form-item :label="$t('收货人中文名称')" prop="consigneeContactsId">
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> --> <!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<div class="contact"> <div class="contact">
<el-input v-model="form.consigneeName" placeholder="" :disabled2="inWarehouse"/> <el-input v-model="form.consigneeName" placeholder="" :disabled2="inWarehouse"/>
<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='1'" /> <img src="@/assets/images/new_customer.png" class="phonebook" @click="quickCreateType='1'" />
</div> </div>
</el-form-item>
<!-- v1.7新增 -->
<el-form-item :label="$t('收货人英文名称')" prop="consigneeNameEn">
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<div class="contact">
<el-input v-model="form.consigneeNameEn" placeholder="" :disabled2="inWarehouse"/>
</div>
</el-form-item> </el-form-item>
<el-form-item :label="$t('收货人电话')" prop="consigneePhone"> <el-form-item :label="$t('收货人电话')" prop="consigneePhone">
<area-code-selector v-model="form.consigneeCountryCode" class="w-200 mr-10" disabled/> <area-code-selector v-model="form.consigneeCountryCode" class="w-200 mr-10" disabled/>
<el-input v-model="form.consigneePhone" class="w-200" disabled/> <el-input v-model="form.consigneePhone" class="w-200" disabled/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('收货人公司')" prop="consigneePhone"> <el-form-item :label="$t('收货人公司中文名称')" prop="consigneePhone">
<el-input v-model="form.consigneeCompany" :disabled2="inWarehouse" /> <el-input v-model="form.consigneeCompany" :disabled2="inWarehouse" />
</el-form-item> </el-form-item>
<!-- v1.7新增 -->
<el-form-item :label="$t('收货人公司英文名称')" prop="consigneePhone">
<el-input v-model="form.consigneeCompanyEn" :disabled2="inWarehouse" />
</el-form-item>
<el-form-item label="Email" prop="consigneePhone"> <el-form-item label="Email" prop="consigneePhone">
<el-input v-model="form.consigneeEmail" :disabled2="inWarehouse"/> <el-input v-model="form.consigneeEmail" :disabled2="inWarehouse"/>
</el-form-item> </el-form-item>
...@@ -227,7 +249,7 @@ ...@@ -227,7 +249,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('商品特性')" width="250px"> <el-table-column :label="$t('商品特性')" width="250px">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-checkbox-group v-model="row.prodAttrArr" @change="onProductAttrChange(row, $event)" :disabled="!canAddProduct || !productEditable"> <el-checkbox-group v-model="row.prodAttrArr" @change="onProductAttrChange(row, $event)" :disabled="row.prodAttrArr.indexOf(4)!=-1||!canAddProduct || !productEditable">
<el-checkbox v-for="item in productAttrList" :label="item.id" :key="item.id">{{$l(item, 'attrName')}}</el-checkbox> <el-checkbox v-for="item in productAttrList" :label="item.id" :key="item.id">{{$l(item, 'attrName')}}</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</template> </template>
...@@ -907,21 +929,25 @@ export default { ...@@ -907,21 +929,25 @@ export default {
this.form.packageTypeArr = this.form.packageType ? this.form.packageType.split(',').filter(item => item != '') : [] this.form.packageTypeArr = this.form.packageType ? this.form.packageType.split(',').filter(item => item != '') : []
if(res.data.consignorVO){ if(res.data.consignorVO){
this.$set(this.form, 'consignorCompany', res.data.consignorVO.company) this.$set(this.form, 'consignorCompany', res.data.consignorVO.company)
this.$set(this.form, 'consignorCompanyEn', res.data.consignorVO.companyEn)
this.$set(this.form, 'consignorContactsId', res.data.consignorVO.customerContactsId) this.$set(this.form, 'consignorContactsId', res.data.consignorVO.customerContactsId)
this.$set(this.form, 'consignorCountryCode', res.data.consignorVO.countryCode.replace('+', '')) this.$set(this.form, 'consignorCountryCode', res.data.consignorVO.countryCode.replace('+', ''))
this.$set(this.form, 'consignorEmail', res.data.consignorVO.email) this.$set(this.form, 'consignorEmail', res.data.consignorVO.email)
this.$set(this.form, 'consignorId', res.data.consignorVO.customerId) this.$set(this.form, 'consignorId', res.data.consignorVO.customerId)
this.$set(this.form, 'consignorName', res.data.consignorVO.name) this.$set(this.form, 'consignorName', res.data.consignorVO.name)
this.$set(this.form, 'consignorNameEn', res.data.consignorVO.nameEn)
this.$set(this.form, 'consignorPhone', res.data.consignorVO.phone) this.$set(this.form, 'consignorPhone', res.data.consignorVO.phone)
} }
if(res.data.consigneeVO){ if(res.data.consigneeVO){
this.$set(this.form, 'consigneeCompany', res.data.consigneeVO.company) this.$set(this.form, 'consigneeCompany', res.data.consigneeVO.company)
this.$set(this.form, 'consigneeCompanyEn', res.data.consigneeVO.companyEn)
this.$set(this.form, 'consigneeContactsId', res.data.consigneeVO.customerContactsId) this.$set(this.form, 'consigneeContactsId', res.data.consigneeVO.customerContactsId)
this.$set(this.form, 'consigneeCountryCode', res.data.consigneeVO.countryCode.replace('+', '')) this.$set(this.form, 'consigneeCountryCode', res.data.consigneeVO.countryCode.replace('+', ''))
this.$set(this.form, 'consigneeEmail', res.data.consigneeVO.email) this.$set(this.form, 'consigneeEmail', res.data.consigneeVO.email)
this.$set(this.form, 'consigneeId', res.data.consigneeVO.customerId) this.$set(this.form, 'consigneeId', res.data.consigneeVO.customerId)
this.$set(this.form, 'consigneeName', res.data.consigneeVO.name) this.$set(this.form, 'consigneeName', res.data.consigneeVO.name)
this.$set(this.form, 'consigneeNameEn', res.data.consigneeVO.nameEn)
this.$set(this.form, 'consigneePhone', res.data.consigneeVO.phone) this.$set(this.form, 'consigneePhone', res.data.consigneeVO.phone)
} }
...@@ -973,11 +999,13 @@ export default { ...@@ -973,11 +999,13 @@ export default {
this.contactChooseType = this.quickCreateType == 0 ? 'consignor' : 'consignee' this.contactChooseType = this.quickCreateType == 0 ? 'consignor' : 'consignee'
} }
this.$set(this.form, this.contactChooseType + 'Company', contact.company) this.$set(this.form, this.contactChooseType + 'Company', contact.company)
this.$set(this.form, this.contactChooseType + 'CompanyEn', contact.companyEn||'')
this.$set(this.form, this.contactChooseType + 'ContactsId', contact.customerContactsId) this.$set(this.form, this.contactChooseType + 'ContactsId', contact.customerContactsId)
this.$set(this.form, this.contactChooseType + 'CountryCode', contact.areaCode.replace('+', '')) this.$set(this.form, this.contactChooseType + 'CountryCode', contact.areaCode.replace('+', ''))
this.$set(this.form, this.contactChooseType + 'Email', contact.email) this.$set(this.form, this.contactChooseType + 'Email', contact.email)
this.$set(this.form, this.contactChooseType + 'Id', contact.customerId) this.$set(this.form, this.contactChooseType + 'Id', contact.customerId)
this.$set(this.form, this.contactChooseType + 'Name', contact.contactsName) this.$set(this.form, this.contactChooseType + 'Name', contact.contactsName)
this.$set(this.form, this.contactChooseType + 'NameEn', contact.contactsNameEn||'')
this.$set(this.form, this.contactChooseType + 'Phone', contact.phoneNew) this.$set(this.form, this.contactChooseType + 'Phone', contact.phoneNew)
this.contactChooseType = null this.contactChooseType = null
this.quickCreateType = null this.quickCreateType = null
...@@ -1112,10 +1140,21 @@ export default { ...@@ -1112,10 +1140,21 @@ export default {
}); });
} }
} }
let isInclude = false
this.form.orderItemVOList.map(item => { this.form.orderItemVOList.map(item => {
//如果商品特性包含不接受货物,不能创建订单或修改订单
if(item.prodAttrArr.indexOf(4)!=-1){
isInclude = true
}
item.prodAttrIds = item.prodAttrArr.join(',') item.prodAttrIds = item.prodAttrArr.join(',')
}) })
if(isInclude){
return this.$notify({
title: this.$t('提示'),
message: this.$t("订单包含不接受货物,请检查"),
type: 'warning'
});
}
this.transportList.map(item => { this.transportList.map(item => {
if(item._enabled){ if(item._enabled){
item.lineIds = Array.from(item.lineIdSet).join(',') item.lineIds = Array.from(item.lineIdSet).join(',')
......
...@@ -85,6 +85,13 @@ ...@@ -85,6 +85,13 @@
<el-option :label="$t('自有仓')" :value="0"></el-option> <el-option :label="$t('自有仓')" :value="0"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('订单类型')" prop="number">
<el-select v-model="queryParams.type" :placeholder="$t('请选择')" clearable >
<el-option :label="$t('普通订单')" :value="0"></el-option>
<el-option :label="$t('集运服务')" :value="1"></el-option>
<el-option :label="$t('海外仓')" :value="2"></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="reset">{{ $t('重置') }}</el-button> --> <!-- <el-button icon="el-icon-refresh" @click="reset">{{ $t('重置') }}</el-button> -->
...@@ -190,6 +197,7 @@ ...@@ -190,6 +197,7 @@
<el-button v-else-if="scope.row.orderExceptionType=='order_bulky_cargo_exception'" v-hasPermi="['ecw:exception:bulkyCargo']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button> <el-button v-else-if="scope.row.orderExceptionType=='order_bulky_cargo_exception'" v-hasPermi="['ecw:exception:bulkyCargo']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_pick_up_exception'" v-hasPermi="['ecw:exception:pickUp']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button> <el-button v-else-if="scope.row.orderExceptionType=='order_pick_up_exception'" v-hasPermi="['ecw:exception:pickUp']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='not_customer_service_exception'" v-hasPermi="['ecw:exception:notCustomer']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button> <el-button v-else-if="scope.row.orderExceptionType=='not_customer_service_exception'" v-hasPermi="['ecw:exception:notCustomer']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='goods_add_exception'" v-hasPermi="['ecw:exception:goodsAddException']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
......
...@@ -105,7 +105,13 @@ ...@@ -105,7 +105,13 @@
<dict-selector :type="DICT_TYPE.ECW_ORDER_APPROVAL_TYPE" v-model="queryParams.auditType" <dict-selector :type="DICT_TYPE.ECW_ORDER_APPROVAL_TYPE" v-model="queryParams.auditType"
@keyup.enter.native="handleQuery" clearable /> @keyup.enter.native="handleQuery" clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('订单类型')" prop="number">
<el-select v-model="queryParams.type" :placeholder="$t('请选择')" clearable >
<el-option :label="$t('普通订单')" :value="0"></el-option>
<el-option :label="$t('集运服务')" :value="1"></el-option>
<el-option :label="$t('海外仓')" :value="2"></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 icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
...@@ -316,6 +322,12 @@ ...@@ -316,6 +322,12 @@
<el-dropdown-item @click.native="$router.push(`/order/splitApply?orderId=${scope.row.orderId}`)" v-hasPermi="['ecw:order:split']">{{$t('拆单申请')}}</el-dropdown-item> <el-dropdown-item @click.native="$router.push(`/order/splitApply?orderId=${scope.row.orderId}`)" v-hasPermi="['ecw:order:split']">{{$t('拆单申请')}}</el-dropdown-item>
</template> </template>
<!--撤销拆单,拆单的子订单,预装前显示,预装后变灰不可点击-->
<template v-if="scope.row.parentOrderId && scope.row.status < 11">
<el-dropdown-item @click.native="splitRevoke(scope.row)" v-hasPermi="['ecw:order:split_revoke']">{{$t('撤销拆单')}}</el-dropdown-item>
</template>
<!-- 合单日志,提货日志 --> <!-- 合单日志,提货日志 -->
<template v-if="( <template v-if="(
scope.row.status > 2 scope.row.status > 2
...@@ -453,6 +465,7 @@ ...@@ -453,6 +465,7 @@
<fee-application :order-id="orderId" :currencys="JSON.stringify(currencyList)" :dialog-visible.sync="feeApplicationBol"></fee-application> <fee-application :order-id="orderId" :currencys="JSON.stringify(currencyList)" :dialog-visible.sync="feeApplicationBol"></fee-application>
<merge-log :order-no="showMergedLogOrderNo" v-if="showMergedLogOrderNo !== null" @close="showMergedLogOrderNo=null" /> <merge-log :order-no="showMergedLogOrderNo" v-if="showMergedLogOrderNo !== null" @close="showMergedLogOrderNo=null" />
<pickup-log v-if="showPickupLogOrderNo" :order-no="showPickupLogOrderNo" @close="showPickupLogOrderNo=null" @delete="getList" /> <pickup-log v-if="showPickupLogOrderNo" :order-no="showPickupLogOrderNo" @close="showPickupLogOrderNo=null" @delete="getList" />
<SplitRevoke v-if="splitRevokeOrderId" :order-id="splitRevokeOrderId" @close="splitRevokeOrderId=null;getList()"></SplitRevoke>
</div> </div>
</template> </template>
...@@ -462,7 +475,6 @@ import ProductSelector from '@/components/ProductSelector' ...@@ -462,7 +475,6 @@ import ProductSelector from '@/components/ProductSelector'
import { getProductAttrList } from '@/api/ecw/productAttr' import { getProductAttrList } from '@/api/ecw/productAttr'
import CustomerSelector from '@/components/CustomerSelector' import CustomerSelector from '@/components/CustomerSelector'
import specialNeeds from '@/views/ecw/order/components/specialNeeds'; import specialNeeds from '@/views/ecw/order/components/specialNeeds';
import { getTradeCityList } from '@/api/ecw/region'
import { import {
createOrder, createOrder,
updateOrder, updateOrder,
...@@ -488,7 +500,7 @@ import { ...@@ -488,7 +500,7 @@ import {
exportCustomsDatas, exportCustomsDatas,
exportShippingDatas, exportShippingDatas,
exportShipFee, exportShipFee,
exportUnload exportUnload, splitCancelApply, orderSplitRevoke
} from "@/api/ecw/order"; } from "@/api/ecw/order";
/* import { getDictDatas, DICT_TYPE } from '@/utils/dict'; */ /* import { getDictDatas, DICT_TYPE } from '@/utils/dict'; */
import PrintTag from './components/PrintTag' import PrintTag from './components/PrintTag'
...@@ -503,6 +515,7 @@ import MergeLog from '@/views/ecw/order/components/MergeLog' ...@@ -503,6 +515,7 @@ import MergeLog from '@/views/ecw/order/components/MergeLog'
import PickupLog from './components/PickupLog' import PickupLog from './components/PickupLog'
import {getWarehouseList} from '@/api/ecw/warehouse' import {getWarehouseList} from '@/api/ecw/warehouse'
import { getCurrencyPage } from "@/api/ecw/currency"; import { getCurrencyPage } from "@/api/ecw/currency";
import SplitRevoke from "@/views/ecw/order/components/SplitRevoke";
export default { export default {
name: "EcwOrderIndex", name: "EcwOrderIndex",
components: { components: {
...@@ -511,6 +524,7 @@ export default { ...@@ -511,6 +524,7 @@ export default {
BatchSingleApplication, BatchSingleApplication,
MergeLog, MergeLog,
PickupLog, PickupLog,
SplitRevoke,
CustomerSelector, ProductSelector, Selector,specialNeeds,PrintTag, PrintWarehouseReceipt, PrintLadingBill, BatchPickup,withdrawal CustomerSelector, ProductSelector, Selector,specialNeeds,PrintTag, PrintWarehouseReceipt, PrintLadingBill, BatchPickup,withdrawal
}, },
props: { props: {
...@@ -574,6 +588,8 @@ export default { ...@@ -574,6 +588,8 @@ export default {
}, },
currencyList:[], currencyList:[],
statistics: null ,// 统计数据 statistics: null ,// 统计数据
splitRevokeOrderId: null, // 撤销拆单的订单ID
}; };
}, },
watch:{ watch:{
...@@ -637,7 +653,7 @@ export default { ...@@ -637,7 +653,7 @@ export default {
} }
}, },
activated(){ activated(){
this.handleQuery() this.getList()
}, },
created() { created() {
this.getTransportFromRoute() this.getTransportFromRoute()
...@@ -649,6 +665,10 @@ export default { ...@@ -649,6 +665,10 @@ export default {
getCurrencyPage(this.params).then(res => this.currencyList = res.data.list) getCurrencyPage(this.params).then(res => this.currencyList = res.data.list)
}, },
methods: { methods: {
// 取消拆单申请
splitRevoke(row){
this.splitRevokeOrderId = row.orderId
},
// 获得导出函数 // 获得导出函数
getExportFunc(){ getExportFunc(){
let func = orderExportSearch let func = orderExportSearch
...@@ -741,10 +761,10 @@ export default { ...@@ -741,10 +761,10 @@ export default {
return this.$alert('不支持此操作') return this.$alert('不支持此操作')
} }
this.$confirm(action.confirm) this.$confirm(action.confirm)
.then(res => { .then(() => {
return action.callable(orderId) return action.callable(orderId)
}) })
.then(res => { .then(() => {
this.getList() this.getList()
}) })
}, },
...@@ -841,14 +861,13 @@ export default { ...@@ -841,14 +861,13 @@ export default {
specialRendering(val){ specialRendering(val){
if(val !== undefined){ if(val !== undefined){
let i = val.split(',') let i = val.split(',')
let special = this.getDictDatas(this.DICT_TYPE.ORDER_SPECIAL_NEEDS).filter(e => { return this.getDictDatas(this.DICT_TYPE.ORDER_SPECIAL_NEEDS).filter(e => {
return i.indexOf(e.value) > -1 return i.indexOf(e.value) > -1
}) })
return special
} }
}, },
deleteSpecial(id,orderId){ deleteSpecial(id,orderId){
this.$confirm(this.$t('确定删除此特需么?')).then(res => { this.$confirm(this.$t('确定删除此特需么?')).then(() => {
return orderSpecialNeed({orderId:orderId,advanceType:id}) return orderSpecialNeed({orderId:orderId,advanceType:id})
}).then(() => { }).then(() => {
this.getList() this.getList()
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('状态')" prop="status" > <el-table-column :label="$t('状态')" prop="status" >
<template v-slot:default="scope"> <template v-slot:default="scope">
<dict-tag :value="scope.row.orderBackVO.status" :type="DICT_TYPE.ORDER_STATUS" ></dict-tag> {{scope.row.orderBackVO.statusMsg}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作人')"> <el-table-column :label="$t('操作人')">
......
...@@ -42,10 +42,7 @@ ...@@ -42,10 +42,7 @@
{{parseTime(row.rucangTime)}} {{parseTime(row.rucangTime)}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('状态')"> <el-table-column :label="$t('状态')" prop="statusMsg" >
<template v-slot:default="scope">
<dict-tag :value="scope.row.status" :type="DICT_TYPE.ORDER_STATUS"></dict-tag>
</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作')"> <el-table-column :label="$t('操作')">
<template v-slot:default="scope"> <template v-slot:default="scope">
......
...@@ -127,6 +127,7 @@ ...@@ -127,6 +127,7 @@
<el-button v-else-if="scope.row.orderExceptionType=='order_bulky_cargo_exception'" v-hasPermi="['ecw:exception:bulkyCargo']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button> <el-button v-else-if="scope.row.orderExceptionType=='order_bulky_cargo_exception'" v-hasPermi="['ecw:exception:bulkyCargo']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_pick_up_exception'" v-hasPermi="['ecw:exception:pickUp']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button> <el-button v-else-if="scope.row.orderExceptionType=='order_pick_up_exception'" v-hasPermi="['ecw:exception:pickUp']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='not_customer_service_exception'" v-hasPermi="['ecw:exception:notCustomer']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button> <el-button v-else-if="scope.row.orderExceptionType=='not_customer_service_exception'" v-hasPermi="['ecw:exception:notCustomer']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='goods_add_exception'" v-hasPermi="['ecw:exception:goodsAddException']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
{{orderData.orderNo || ''}} {{orderData.orderNo || ''}}
</el-form-item> </el-form-item>
</el-row> </el-row>
<div v-if="shopData"> <div v-if="shopData&&orderExceptionData.orderExceptionType!='goods_add_exception'">
<el-row> <el-row>
<el-form-item :label="$t('产品名称')+':'" > <el-form-item :label="$t('产品名称')+':'" >
{{shopData.prodTitleZh || ''}} {{shopData.prodTitleZh || ''}}
...@@ -96,7 +96,7 @@ ...@@ -96,7 +96,7 @@
<span>{{orderExceptionData.orderExceptionDetails}}</span> <span>{{orderExceptionData.orderExceptionDetails}}</span>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'"> <el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'||orderExceptionData.orderExceptionType=='goods_add_exception'">
<el-form-item :label="$t('收费参数')+':'"> <el-form-item :label="$t('收费参数')+':'">
<span>{{orderData.sumNum||0}}{{$t('')}} {{orderData.wvolume||0}}m³ {{orderData.vweight||0}}Kg {{orderData.sumQuantity||0}}{{$t('')}}</span> <span>{{orderData.sumNum||0}}{{$t('')}} {{orderData.wvolume||0}}m³ {{orderData.vweight||0}}Kg {{orderData.sumQuantity||0}}{{$t('')}}</span>
</el-form-item> </el-form-item>
...@@ -326,13 +326,56 @@ ...@@ -326,13 +326,56 @@
</el-row> </el-row>
<el-row v-else-if="orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'"> <el-row v-else-if="orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'">
<el-form-item :label="$t('处理结果')+':'" required> <el-form-item :label="$t('处理结果')+':'" required>
<el-select v-model="handlerParams.orderExceptionHandlerResult" :placeholder="$t('请选择')" clearable> <el-select v-model="handlerParams.orderExceptionHandlerResult" :placeholder="$t('请选择')" clearable @change="handlerResultChange">
<template v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')"> <template v-for="dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')">
<el-option :disabled="dict.value=='pending'" :key="dict.value" :label="$l(dict, 'label')" :value="dict.value"/> <el-option :disabled="dict.value=='pending'" :key="dict.value" :label="$l(dict, 'label')" :value="dict.value"/>
</template> </template>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-row> </el-row>
<!-- v1.7新增商品异常 -->
<div v-if="shopData&&orderExceptionData.orderExceptionType=='goods_add_exception'&&handlerParams.orderExceptionHandlerResult=='goods_exists'">
<el-row :gutter="24">
<el-col :span="6">
<el-form-item :label="$t('新增品名中文')+':'" >
{{shopData.prodTitleZh || ''}}
</el-form-item>
</el-col>
<el-form-item label="中文品名"
:rules="{
required: true, message: $t('请选择产品'), trigger: 'blur'
}"
class="mb-0 mr-0"
>
<product-selector
:status="0"
@hook:mounted="onTableMounted"
v-model="productId2"
@change = "onProductChange($event)"
/>
</el-form-item>
</el-row>
<el-row :gutter="24">
<el-col :span="6">
<el-form-item :label="$t('新增品名英文')+':'">
{{shopData.prodTitleEn || ''}}
</el-form-item>
</el-col>
<el-form-item label="英文品名"
:rules="{
required: true, message: $t('请选择产品'), trigger: 'blur'
}"
class="mb-0 mr-0"
>
<product-selector
lang="En"
:status="0"
v-model="productId1"
@change = "onProductChange($event)"
/>
</el-form-item>
</el-row>
</div>
<el-row v-if="orderExceptionData.orderExceptionType=='not_customer_service_exception'&&handlerParams.orderExceptionHandlerResult=='allocate'"> <el-row v-if="orderExceptionData.orderExceptionType=='not_customer_service_exception'&&handlerParams.orderExceptionHandlerResult=='allocate'">
<el-form-item :label="$t('移交客户经理')+':'" required> <el-form-item :label="$t('移交客户经理')+':'" required>
<el-select v-model="handlerParams.customerService" :placeholder="$t('请选择客户经理')" clearable> <el-select v-model="handlerParams.customerService" :placeholder="$t('请选择客户经理')" clearable>
...@@ -362,7 +405,7 @@ ...@@ -362,7 +405,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row :span="8" v-if="orderExceptionData.orderExceptionType!='not_customer_service_exception'"> <el-row :span="8" v-if="orderExceptionData.orderExceptionType!='not_customer_service_exception'&&orderExceptionData.orderExceptionType!='goods_add_exception'">
<el-form-item :label="$t('备注')+':'" size="medium"> <el-form-item :label="$t('备注')+':'" size="medium">
<el-input style="width: 500px;" type="textarea" v-model="handlerParams.orderExceptionHandlerRemark" /> <el-input style="width: 500px;" type="textarea" v-model="handlerParams.orderExceptionHandlerRemark" />
</el-form-item> </el-form-item>
...@@ -444,10 +487,11 @@ ...@@ -444,10 +487,11 @@
import {listServiceUser} from "@/api/system/user"; import {listServiceUser} from "@/api/system/user";
import {cancelProcessInstance} from '@/api/bpm/processInstance' import {cancelProcessInstance} from '@/api/bpm/processInstance'
import {getCustomer} from '@/api/ecw/customer' import {getCustomer} from '@/api/ecw/customer'
import ProductSelector from '@/components/ProductSelector'
export default { export default {
name: "PrepayDeal", name: "PrepayDeal",
components: { components: {
FileUpload, WorkFlow,FilePreview FileUpload, WorkFlow,FilePreview,ProductSelector
}, },
data() { data() {
return { return {
...@@ -481,6 +525,8 @@ ...@@ -481,6 +525,8 @@
region:'', region:'',
customerData:{},//归属客户 customerData:{},//归属客户
customerServiceList:[],//客户经理 customerServiceList:[],//客户经理
productId1:null,
productId2:null
}; };
}, },
created() { created() {
...@@ -528,11 +574,20 @@ ...@@ -528,11 +574,20 @@
}, },
shopData(){ shopData(){
if(this.orderExceptionData.orderItemId && this.orderData && this.orderData.orderItemVOList){ if(this.orderExceptionData.orderItemId && this.orderData && this.orderData.orderItemVOList){
if(this.orderExceptionData.orderExceptionType=='goods_add_exception'&&!this.handlerParams.productId){
this.handlerParams.productId = this.orderData.orderItemVOList.find(item => item.orderItemId == this.orderExceptionData.orderItemId).prodId
// this.productId1 = this.handlerParams.productId
// this.productId2 = this.handlerParams.productId
}
console.log(this.orderData.orderItemVOList.find(item => item.orderItemId == this.orderExceptionData.orderItemId))
return this.orderData.orderItemVOList.find(item => item.orderItemId == this.orderExceptionData.orderItemId) return this.orderData.orderItemVOList.find(item => item.orderItemId == this.orderExceptionData.orderItemId)
} }
} }
}, },
methods: { methods: {
onTableMounted(e){
// console.warn('onTableMounted', e)
},
/** 查询列表 */ /** 查询列表 */
getCurrencyLabel(id){ getCurrencyLabel(id){
var label = this.currencyList.filter(item=>item.id == id) var label = this.currencyList.filter(item=>item.id == id)
...@@ -547,6 +602,7 @@ ...@@ -547,6 +602,7 @@
// that.orderExceptionData.orderExceptionType = 'order_other_exception' // that.orderExceptionData.orderExceptionType = 'order_other_exception'
// that.orderExceptionData.orderExceptionType = 'order_miss_exception' // that.orderExceptionData.orderExceptionType = 'order_miss_exception'
// that.orderExceptionData.orderExceptionType = 'not_customer_service_exception' // that.orderExceptionData.orderExceptionType = 'not_customer_service_exception'
// that.orderExceptionData.orderExceptionType = 'goods_add_exception'
that.loading = false; that.loading = false;
that.orderId = response.data.orderId that.orderId = response.data.orderId
that.getOrderData() that.getOrderData()
...@@ -612,6 +668,13 @@ ...@@ -612,6 +668,13 @@
} }
return this.$t('') return this.$t('')
}, },
//新增异常处理结果切换
handlerResultChange(){
// if(this.orderExceptionData.orderExceptionType=='goods_add_exception'){
// this.productId1 = this.handlerParams.productId
// this.productId2 = this.handlerParams.productId
// }
},
submitForm(){ submitForm(){
if(!this.handlerParams.orderExceptionHandlerResult){ if(!this.handlerParams.orderExceptionHandlerResult){
this.$modal.msgError(this.$t('请选择处理结果')); this.$modal.msgError(this.$t('请选择处理结果'));
...@@ -624,7 +687,18 @@ ...@@ -624,7 +687,18 @@
// } // }
this.handlerParams.files = Array.isArray(this.handlerParams.fileList) ? this.handlerParams.fileList.join(',') : this.handlerParams.fileList this.handlerParams.files = Array.isArray(this.handlerParams.fileList) ? this.handlerParams.fileList.join(',') : this.handlerParams.fileList
} }
if(this.orderExceptionData.orderExceptionType=='goods_add_exception'&&this.handlerParams.orderExceptionHandlerResult=='goods_absent'){
this.$redirect('/product/product-list?prodId=' + this.handlerParams.productId)
return
}
if(this.orderExceptionData.orderExceptionType=='goods_add_exception'&&this.handlerParams.orderExceptionHandlerResult=='goods_exists'){
if(this.productId1){
this.handlerParams.productId = this.productId1
}else{
this.$modal.msgError(this.$t('请选择产品'));
return
}
}
handlerExceptionByExceptionId(this.handlerParams).then(res=>{ handlerExceptionByExceptionId(this.handlerParams).then(res=>{
this.$modal.msgSuccess(this.$t('提交成功')); this.$modal.msgSuccess(this.$t('提交成功'));
this.$redirect('/order/pending?id=' + this.orderData.orderId) this.$redirect('/order/pending?id=' + this.orderData.orderId)
...@@ -688,6 +762,15 @@ ...@@ -688,6 +762,15 @@
onClickClosePreview(val){ onClickClosePreview(val){
this.IsPreview = val // 由组件内部传入的关闭数据赋值关闭 this.IsPreview = val // 由组件内部传入的关闭数据赋值关闭
}, },
onProductChange(product){
if(!product){
this.productId1 = null
this.productId2 = null
return false
}
this.productId1 = product.id
this.productId2 = product.id
},
} }
}; };
</script> </script>
...@@ -731,4 +814,7 @@ ...@@ -731,4 +814,7 @@
.filelist span{ .filelist span{
color: #1E98D7; color: #1E98D7;
} }
.red{
color: red;
}
</style> </style>
This diff is collapsed.
...@@ -8,15 +8,17 @@ ...@@ -8,15 +8,17 @@
<div class="title">{{$t('新增订单生成成功')}}</div> <div class="title">{{$t('新增订单生成成功')}}</div>
<div class="line">{{$t('订单号')}}{{order.orderNo}}</div> <div class="line">{{$t('订单号')}}{{order.orderNo}}</div>
<div class="line">{{$t('运输方式')}}<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" /></div> <div class="line">{{$t('运输方式')}}<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" /></div>
<div class="line">{{$t('路线')}}{{order.logisticsInfoDto.startTitleZh}} >> {{order.logisticsInfoDto.destTitleZh}}</div> <div class="line">{{$t('路线')}}{{$l(order.logisticsInfoDto, 'startTitle')}} >> {{$l(order.logisticsInfoDto, 'destTitle')}}</div>
<div class="line">{{$t('商品列表')}} <div class="line">{{$t('商品列表')}}
<span v-for="(item, index) in order.orderItemVOList" :key="index"> <span v-for="(item, index) in order.orderItemVOList" :key="index">
{{item.prodTitleZh}} {{$l(item, 'prodTitle')}}
<template v-if="index < order.orderItemVOList.length - 1">{{ $t('') }}</template> <template v-if="index < order.orderItemVOList.length - 1">{{ $t('') }}</template>
</span> </span>
</div> </div>
<div class="line">{{$t('仓库地址')}}:{{order.logisticsInfoDto.startAddressZh}}</div> <div class="line">{{$t('仓库地址')}}:{{$l(order.logisticsInfoDto, 'startAddress')}}</div>
<div class="line">{{$t('仓库电话')}}: {{order.logisticsInfoDto.startTell}}</div> <div class="line">{{$t('仓库电话')}}: {{order.logisticsInfoDto.startTell}}</div>
<!-- v1.7新增 -->
<div class="line">{{$t('为保证入仓数据准确性,入仓请带上一份装箱单(品名,件数,毛重,尺寸方数,是否有牌)')}}</div>
<div class="line"></div> <div class="line"></div>
<div class="line">{{$t('您的订单已提交,谢谢您选择捷道物流!')}}</div> <div class="line">{{$t('您的订单已提交,谢谢您选择捷道物流!')}}</div>
</el-col> </el-col>
......
...@@ -90,7 +90,6 @@ ...@@ -90,7 +90,6 @@
:title="$t('修改')" :title="$t('修改')"
:order="order" :order="order"
@close="getList"></warehouse> @close="getList"></warehouse>
<!-- <el-button v-if="isEdit" size="mini" type="text" @click="handleWarehousing(row)">{{$t('修改')}}</el-button>-->
<template v-else-if=" <template v-else-if="
wareItem(row.orderItemId) wareItem(row.orderItemId)
&& wareItem(row.orderItemId).orderWarehouseInBackItemDoList && wareItem(row.orderItemId).orderWarehouseInBackItemDoList
...@@ -103,7 +102,6 @@ ...@@ -103,7 +102,6 @@
:title="$t('追加')" :title="$t('追加')"
:order="order" :order="order"
@close="getList"></warehouse> @close="getList"></warehouse>
<!-- <el-button size="mini" type="text" @click="handleWarehousing(row)">{{$t('追加')}}</el-button>-->
<el-button size="mini" type="text" @click="handleWarehousingReturn(row)">{{$t('退仓')}}</el-button> <el-button size="mini" type="text" @click="handleWarehousingReturn(row)">{{$t('退仓')}}</el-button>
<!-- </template>--> <!-- </template>-->
</template> </template>
...@@ -114,7 +112,6 @@ ...@@ -114,7 +112,6 @@
:title="$t('入仓')" :title="$t('入仓')"
:order="order" :order="order"
@close="getList"></warehouse> @close="getList"></warehouse>
<!-- <el-button v-else size="mini" type="text" @click="handleWarehousing(row)">{{$t('入仓')}}</el-button>-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -179,8 +176,6 @@ ...@@ -179,8 +176,6 @@
<warehouse-area-dialog ref="area" :visible.sync="areaVisible" v-model="form.orderLocationCreateReqVOList" <warehouse-area-dialog ref="area" :visible.sync="areaVisible" v-model="form.orderLocationCreateReqVOList"
:order-id="orderId" :warehouse-id="warehouseId" :is-editing="isEdit"></warehouse-area-dialog> :order-id="orderId" :warehouse-id="warehouseId" :is-editing="isEdit"></warehouse-area-dialog>
<edit-dialog :order="order" :title="title" :order-id="order.orderId" :visible.sync="warehousingVisible" :warehousing="warehousing" :edit="isEdit" :is-jiyun="order.type === 1 || order.type === '1'"></edit-dialog>
<!-- 完成入仓 --> <!-- 完成入仓 -->
<el-dialog <el-dialog
:title="$t('确认入仓')" :title="$t('确认入仓')"
...@@ -231,7 +226,6 @@ import { ...@@ -231,7 +226,6 @@ import {
} from '@/api/ecw/order' } from '@/api/ecw/order'
import orderBaseInfo from "@/components/OrderBaseInfo" import orderBaseInfo from "@/components/OrderBaseInfo"
import WarehouseAreaDialog from '@/components/WarehouseAreaDialog' import WarehouseAreaDialog from '@/components/WarehouseAreaDialog'
import editDialog from '@/views/ecw/order/warehousing/components/editDialog'
import {DICT_TYPE} from "@/utils/dict" import {DICT_TYPE} from "@/utils/dict"
import PrintTag from "@/views/ecw/order/components/PrintTag" import PrintTag from "@/views/ecw/order/components/PrintTag"
import PrintWarehouseReceipt from "@/views/ecw/order/components/PrintWarehouseReceipt" import PrintWarehouseReceipt from "@/views/ecw/order/components/PrintWarehouseReceipt"
...@@ -245,7 +239,6 @@ export default { ...@@ -245,7 +239,6 @@ export default {
components: { components: {
orderBaseInfo, orderBaseInfo,
WarehouseAreaDialog, WarehouseAreaDialog,
editDialog,
PrintTag, PrintTag,
PrintWarehouseReceipt, PrintWarehouseReceipt,
imageUpload, imageUpload,
...@@ -477,11 +470,6 @@ export default { ...@@ -477,11 +470,6 @@ export default {
} }
}) })
}, },
handleWarehousing(row) {
let wareItem = this.orderItemList.find(item => item.orderItemId == row.orderItemId) || {}
this.warehousing = {...row, ...wareItem}
this.warehousingVisible = true
},
handleWarehousingReturn(item){ handleWarehousingReturn(item){
this.$confirm(item.prodTitleZh + this.$t('退仓后不可恢复,是否确认退仓?'), this.$t('确定要退仓?'), { this.$confirm(item.prodTitleZh + this.$t('退仓后不可恢复,是否确认退仓?'), this.$t('确定要退仓?'), {
confirmButtonText: this.$t('确定'), confirmButtonText: this.$t('确定'),
...@@ -507,12 +495,6 @@ export default { ...@@ -507,12 +495,6 @@ export default {
}, },
watch: { watch: {
warehousingVisible(val) {
if (!val){
this.getOrder()
this.getOrderItemList()
}
},
orderSpecialNeeds(val){ orderSpecialNeeds(val){
val.forEach(e => { val.forEach(e => {
this.form.orderSpecialNeedReceivableReqVoList.push({ this.form.orderSpecialNeedReceivableReqVoList.push({
......
...@@ -13,6 +13,9 @@ ...@@ -13,6 +13,9 @@
<el-form-item :label="$t('退仓原因')"> <el-form-item :label="$t('退仓原因')">
<el-input v-model="params.reason" style="width:500px" type="textarea"></el-input> <el-input v-model="params.reason" style="width:500px" type="textarea"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('图片')">
<image-and-video-upload :file-type="['png' , 'jpg', 'jpeg']" :fileSize="50" :isShowTip="true" v-model="params.imgUrl" ></image-and-video-upload>
</el-form-item>
</el-form> </el-form>
<el-divider></el-divider> <el-divider></el-divider>
<h2>{{$t('审批流程')}}</h2> <h2>{{$t('审批流程')}}</h2>
...@@ -37,6 +40,7 @@ import { ...@@ -37,6 +40,7 @@ import {
warehouseApprovalCancel warehouseApprovalCancel
} from "@/api/ecw/batchSingleApplication"; } from "@/api/ecw/batchSingleApplication";
import workFlow from "@/components/WorkFlow"; import workFlow from "@/components/WorkFlow";
import ImageAndVideoUpload from "@/components/ImageAndVideoUpload/index.vue";
export default { export default {
name: "withdrawal", name: "withdrawal",
...@@ -45,6 +49,7 @@ export default { ...@@ -45,6 +49,7 @@ export default {
dialogVisible:Boolean dialogVisible:Boolean
}, },
components:{ components:{
ImageAndVideoUpload,
workFlow workFlow
}, },
data(){ data(){
...@@ -55,6 +60,7 @@ export default { ...@@ -55,6 +60,7 @@ export default {
orderNo:undefined, orderNo:undefined,
reason:'', reason:'',
copyUserId:[], copyUserId:[],
imgUrl:[]
}, },
isExamine:true, isExamine:true,
details:{}, details:{},
...@@ -82,6 +88,7 @@ export default { ...@@ -82,6 +88,7 @@ export default {
submit(){ submit(){
this.params.orderId = this.orderDetails.orderId; this.params.orderId = this.orderDetails.orderId;
this.params.orderNo =this.orderDetails.orderNo; this.params.orderNo =this.orderDetails.orderNo;
this.params.imgUrl = this.params.imgUrl.join(',')
orderWarehouseInDelete(this.params).then(r => { orderWarehouseInDelete(this.params).then(r => {
if(r.code === 0){ if(r.code === 0){
this.$message.success(this.$t('退仓成功')); this.$message.success(this.$t('退仓成功'));
......
...@@ -159,6 +159,13 @@ ...@@ -159,6 +159,13 @@
</el-form-item> </el-form-item>
<el-form-item prop="auditStatus" :label="$t('是否审核')">
<template slot-scope="scope">
<el-select v-model="form.auditStatus">
<el-option v-for="auditStatusItem in auditStatusDictDatas" :key="auditStatusItem.id" :label="$l(auditStatusItem, 'label')" :value="parseInt(auditStatusItem.value)" />
</el-select>
</template>
</el-form-item>
<el-form-item :label="$t('商品编码')" prop="productCode"> <el-form-item :label="$t('商品编码')" prop="productCode">
<el-input v-model="form.productCode" :placeholder="$t('请输入商品编码')" /> <el-input v-model="form.productCode" :placeholder="$t('请输入商品编码')" />
</el-form-item> </el-form-item>
...@@ -328,6 +335,7 @@ export default { ...@@ -328,6 +335,7 @@ export default {
packagingList: getDictDatas(DICT_TYPE.ECW_PACKAGING_TYPE), packagingList: getDictDatas(DICT_TYPE.ECW_PACKAGING_TYPE),
locationList: getDictDatas(DICT_TYPE.ECW_CONTAINER_LOCATION), locationList: getDictDatas(DICT_TYPE.ECW_CONTAINER_LOCATION),
preferentialList:[], preferentialList:[],
exceptionProductId:0//新增商品异常传的id
}; };
}, },
...@@ -372,9 +380,19 @@ export default { ...@@ -372,9 +380,19 @@ export default {
if(this.$route.query.typeId != this.queryParams.typeId){ if(this.$route.query.typeId != this.queryParams.typeId){
this.queryParams.typeId = +this.$route.query.typeId || null this.queryParams.typeId = +this.$route.query.typeId || null
} }
//新增商品异常跳转商品修改
if(this.$route.query.prodId){
this.exceptionProductId = this.$route.query.prodId
this.handleUpdate({id:this.$route.query.prodId})
}
this.getList() this.getList()
}, },
created() { created() {
//新增商品异常跳转商品修改
if(this.$route.query.prodId){
this.exceptionProductId = this.$route.query.prodId
this.handleUpdate({id:this.$route.query.prodId})
}
let typeId = this.$route.query.typeId; let typeId = this.$route.query.typeId;
if (typeId) { if (typeId) {
this.queryParams.typeId = parseInt(typeId); this.queryParams.typeId = parseInt(typeId);
...@@ -382,6 +400,7 @@ export default { ...@@ -382,6 +400,7 @@ export default {
this.getAttrList(); this.getAttrList();
this.getTypeList(); this.getTypeList();
this.getList(); this.getList();
}, },
methods: { methods: {
/** 获取产品属性列表 */ /** 获取产品属性列表 */
...@@ -432,6 +451,7 @@ export default { ...@@ -432,6 +451,7 @@ export default {
params.filter=false; params.filter=false;
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime'); this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行查询 // 执行查询
params.status = 0;
getProductPage(params).then(response => { getProductPage(params).then(response => {
this.list = response.data.list; this.list = response.data.list;
this.total = response.data.total; this.total = response.data.total;
...@@ -487,10 +507,11 @@ export default { ...@@ -487,10 +507,11 @@ export default {
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
// this.reset(); // this.reset();
console.log(row);
const id = row.id; const id = row.id;
getProduct(id).then(response => { getProduct(id).then(response => {
this.form = {...response.data,couponIds:[]}; this.form = {...response.data,couponIds:[]};
let attrArray = this.form.attrId.split(','); let attrArray = this.form.attrId?this.form.attrId.split(','):[];
for (let index in attrArray) { for (let index in attrArray) {
let value = attrArray[index]; let value = attrArray[index];
attrArray[index] = parseInt(value); attrArray[index] = parseInt(value);
...@@ -519,9 +540,17 @@ export default { ...@@ -519,9 +540,17 @@ export default {
this.form.attrId = this.form.attrArray.join(','); this.form.attrId = this.form.attrArray.join(',');
// 修改的提交 // 修改的提交
if (this.form.id != null) { if (this.form.id != null) {
if(this.exceptionProductId){
this.form.productId = this.exceptionProductId
this.form.status = 0
}
updateProduct(this.form).then(response => { updateProduct(this.form).then(response => {
this.$modal.msgSuccess(this.$t("修改成功")); this.$modal.msgSuccess(this.$t("修改成功"));
this.open = false; this.open = false;
if(this.exceptionProductId){
this.exceptionProductId = null
this.$router.replace({ path: '/product/product-list'})
}
this.getList(); this.getList();
}); });
return; return;
......
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