Commit c701cb14 authored by chenjiuping's avatar chenjiuping

Merge branch 'dev' into bmp

parents 4b401103 80e053f9
......@@ -19985,7 +19985,7 @@ UE.plugins['table'] = function () {
"averagedistributerow":1
};
me.ready(function () {
utils.cssRule('table',
/* utils.cssRule('table',
//选中的td上的样式
'.selectTdClass{background-color:#edf5fa !important}' +
'table.noBorderTable td,table.noBorderTable th,table.noBorderTable caption{border:1px dashed #ddd !important}' +
......@@ -19996,7 +19996,7 @@ UE.plugins['table'] = function () {
'th{border-top:1px solid #BBB;background-color:#F7F7F7;}' +
'table tr.firstRow th{border-top-width:2px;}' +
'.ue-table-interlace-color-single{ background-color: #fcfcfc; } .ue-table-interlace-color-double{ background-color: #f7faff; }' +
'td p{margin:0;padding:0;}', me.document);
'td p{margin:0;padding:0;}', me.document); */
var tableCopyList, isFullCol, isFullRow;
//注册del/backspace事件
......@@ -870,6 +870,22 @@ export function extraCostList(params) {
});
}
/**
* 获得额外报关费用列表
*
* @export
* @param {*} data
* @return {*}
*/
export function customsOrderList(data) {
return request({
url: "/shipment/box/customsOrderList",
method: "post",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
data: jsonToFormData(data),
});
}
/***************************** 报关费用 end **********************************/
/***************************** 理货 start **********************************/
......
......@@ -197,7 +197,7 @@ export function customerCreditLogPage(params){
//客户详情订单分页
export function infoListOrderPage(params){
return request({
url:'/customer/detail/infoList/orderPage',
url:'/ecw/order/customer-order-page',
method:'get',
params
})
......@@ -278,11 +278,11 @@ export function creatDelayApproval(data){
}
// 取消客户延期调入公海池的审批申请
export function cancelDelayApproval(data) {
export function cancelDelayApproval(query) {
return request({
url: '/ecw/customer/cancel/delay/approval',
method: 'put',
data: data,
params:query,
})
}
......@@ -293,4 +293,12 @@ export function getApproval(id) {
method: 'get',
params: {id}
})
}
\ No newline at end of file
}
//调入公海池
export function testEnterToOpenSea(customerId) {
return request({
url: '/ecw/customer/test-enter-to-open-sea',
method: 'get',
params: {customerId}
})
}
......@@ -36,6 +36,13 @@ export function getCustomerFollow(id) {
// 获得跟进分页
export function getCustomerFollowPage(query) {
return request({
url: '/customer/detail/infoList/followPage',
method: 'get',
params: query
})
}
export function getCustomerFollowPage2(query) {
return request({
url: '/ecw/customer-follow/page',
method: 'get',
......
......@@ -39,9 +39,10 @@ export function updateCustomer(data) {
}
// 根据客户ID获得联系人列表
export function getCustomerContactsListByCustomer(id) {
export function getCustomerContactsListByCustomer(query) {
return request({
url: '/ecw/indirect-customer-contacts/list-by-customer/get?customerId=' + id,
method: 'get'
url: '/ecw/indirect-customer-contacts/list-by-customer',
method: 'get',
params: query
})
}
......@@ -181,6 +181,15 @@ export function orderWarehouseInUpdateLabel(data){
})
}
// 入仓修改储位
export function saveOrUpdateOrderLocation(data){
return request({
url: '/order/order-warehouse-in/save-or-update-order-location',
method: 'post',
data
})
}
// 获取入仓修改审批单详情-审批使用
export function getWarehouseUpdateApprovalInfo(id) {
return request({
......
......@@ -47,13 +47,13 @@
>
</el-table-column>
<el-table-column
prop="followUserId"
label="跟进业务"
:formatter="(row, column, cellValue) => serviceUserList.find(e => e.id === cellValue) ? serviceUserList.find(e => e.id === cellValue).nickname : ''"
prop="followUserName"
label="客户经理 "
>
</el-table-column>
</el-table>
<pagination :total="total" :page.sync="pageNo" :limit.sync="pageSize"
@pagination="getCustomerFollowList"/>
<el-dialog
append-to-body
title="客户跟进"
......@@ -65,7 +65,8 @@
<el-row :gutter="10">
<el-col>
<el-form-item label="跟进类型" required>
<dict-selector ref="dictType" form-type="radio" v-model="customerFollow.form.followType" :type="DICT_TYPE.CUSTOMER_FOLLOW_TYPE"></dict-selector>
<!-- <dict-selector ref="dictType" form-type="radio" v-model="customerFollow.form.followType" :type="DICT_TYPE.CUSTOMER_FOLLOW_TYPE"></dict-selector> -->
<el-radio v-model="customerFollow.form.followType" label="3">{{$t('投诉回访')}}</el-radio>
</el-form-item>
</el-col>
<el-col :span="12">
......@@ -86,7 +87,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="跟进业务" required>
<el-form-item label="客户经理" required>
<el-select v-model="customerFollow.form.followUserId" placeholder="请选择">
<el-option
v-for="item in serviceUserList"
......@@ -123,7 +124,7 @@
</template>
<script>
import {createCustomerFollow, getCustomerFollowPage} from "@/api/ecw/customerFollow"
import {createCustomerFollow, getCustomerFollowPage, getCustomerFollowPage2} from "@/api/ecw/customerFollow"
import { DICT_TYPE, getDictDataLabel } from '@/utils/dict'
import { getCustomerContactsListByCustomer } from '@/api/ecw/customerContacts'
import {listServiceUser} from "@/api/system/user"
......@@ -152,8 +153,13 @@ export default {
customerFollow: {
dialogVisible: false,
form: {}
form: {
followType:'3'
}
},
pageNo:1,
pageSize:10,
total:10,
}
},
......@@ -227,13 +233,21 @@ export default {
"result": undefined,
"customerId":this.customerId
}
this.$refs.dictType.changeValue(this.customerFollow.form.followType);
// this.$refs.dictType.changeValue(this.customerFollow.form.followType);
this.$refs.dictMethod.changeValue(this.customerFollow.form.followMethod);
},
getCustomerFollowList() {
getCustomerFollowPage({bizId: this.id}).then(r => {
this.customerFollowList = r.data.list
if(this.$route.name === 'customerQuery'){
getCustomerFollowPage({customerId: this.customerId,pageNo:this.pageNo,pageSize:this.pageSize}).then(r => {
this.customerFollowList = r.data.list;
this.total = r.data.total;
})
}else {
getCustomerFollowPage2({bizId: this.id,followType:3,pageNo:this.pageNo,pageSize:this.pageSize}).then(r => {
this.customerFollowList = r.data.list;
this.total = r.data.total;
})
}
}
}
......
......@@ -117,7 +117,7 @@ export default {
if (this.fileType) {
let fileExtension = "";
if (file.name.lastIndexOf(".") > -1) {
fileExtension = file.name.slice(file.name.lastIndexOf(".") + 1);
fileExtension = file.name.slice(file.name.lastIndexOf(".") + 1).toLowerCase();
}
const isTypeOk = this.fileType.some((type) => {
if (file.type.indexOf(type) > -1) return true;
......
......@@ -213,10 +213,10 @@ export default {
methods:{
changeOption(){
if(!this.option) return
this.importCity = +this.option.importCity
this.exportCity = +this.option.exportCity
this.transportType = this.option.transportId
this.channelId = +this.option.channelId
this.importCity = +this.option.importCity || null
this.exportCity = +this.option.exportCity || null
this.transportType = this.option.transportId || null
this.channelId = +this.option.channelId || null
},
// 全选、全不选 某个运输方式所有线路
toggleGroupChecker(index, selected){
......
......@@ -4,7 +4,7 @@
id="editor"
v-model="valueSync"
:config="ueditorConfig"
style="line-height: 20px; max-width: 600px;"
style="line-height: 20px;"
></vue-ueditor-wrap>
</div>
</template>
......
......@@ -64,7 +64,8 @@
</template>
<script>
import { getByWarehouseId } from '@/api/ecw/warehouseArea'
import {getByWarehouseId} from '@/api/ecw/warehouseArea'
import {saveOrUpdateOrderLocation} from "@/api/ecw/order"
export default {
name: 'WarehouseAreaDialog',
......@@ -82,6 +83,11 @@ export default {
warehouseId: {
type: Number,
default: undefined
},
// 是否入仓修改
isEditing: {
type: Boolean,
default: false
}
},
......@@ -102,26 +108,6 @@ export default {
visible(val) {
if (val) {
this.opened = true
if (this.area.length === 0) getByWarehouseId({cityId: this.cityId,warehouseId: this.warehouseId }).then(r => {
const area = r.data
area.forEach(e => {
// 仓库
e.children?.forEach(f => {
// 区域
f.selected = false
if(f.positionList) f.positionList.forEach(g => {
// 位置
g.selected = false
g.children?.forEach(k => {
// 子位置
k.selected = false
})
})
})
})
this.area = area
})
} else {
}
},
......@@ -134,9 +120,45 @@ export default {
},
methods: {
updateArea(){
this.initArea()
},
initArea(){
return getByWarehouseId({ cityId: this.cityId, warehouseId: this.warehouseId }).then(r => {
const area = r.data
area.forEach(e => {
// 仓库
e.children?.forEach(f => {
// 区域
f.selected = this.isSelected(e.id, f.id)
if(f.positionList) f.positionList.forEach(g => {
// 位置
g.selected = this.isSelected(e.id, f.id, g.id)
g.children?.forEach(k => {
// 子位置
k.selected = this.isSelected(e.id, f.id, k.id)
})
})
})
})
this.area = area
})
},
// 用于储位回显选中
isSelected(warehouse, area, position = 0){
return !!this.value.find(e => warehouse === e.wareId && area === e.areaId && position === e.locationId)
},
handleSubmit() {
this.$emit('input', this.inputValue)
this.opened = false
if (this.isEditing) {
this.$nextTick(() => {
saveOrUpdateOrderLocation({
"orderId": this.orderId,
"orderLocationCreateReqVOList": this.inputValue
})
})
}
},
handleClose() {},
handleSelectWarehouse(warehouse) {
......@@ -146,7 +168,6 @@ export default {
return
} else if(this.activeWarehouseId !== warehouse.id) {
this.activeWarehouseId = warehouse.id
console.log(this.inputValue.find(e => e.areaId === warehouse.id), warehouse.id)
if (this.inputValue.find(e => e.areaId === warehouse.id)){
return
}
......@@ -202,7 +223,6 @@ export default {
},
mounted() {
console.log('area dialog mounted')
},
computed: {
......
......@@ -12,7 +12,7 @@
</div>
<el-form label-position="left" label-width="100px">
<el-form-item :label="$t('抄送')">
<el-select v-model="valueSync" multiple :placeholder="$t('请选择抄送人')" style="width:100%">
<el-select v-model="valueSync" multiple :placeholder="$t('请选择抄送人')" style="width:100%" filterable >
<el-option
v-for="item in users"
:key="item.id"
......
......@@ -116,6 +116,7 @@ export const DICT_TYPE = {
ECW_PRICE_AUDIT_STATUS: 'price_audit_status', // 路线价格审核状态
ECW_CANCEL_PICK_TYPE: 'cancel_pick_type', // 取消放货类型
ECW_CUSTOMER_RESOURCE_TYPE: 'customer_resource_type', // 客户资源类型
ECW_CUSTOMER_TRANSPORT_TYPE: 'customer_transport_type', // 客户出货渠道(跟运输方式相同,但是显示全部)
//--------ecw---------
CUSTOMER_STATUS: 'customer_status',
CUSTOMER_SOURCE: 'customer_source',
......
......@@ -33,24 +33,24 @@
</el-select>
</el-form-item>
<el-form-item label="" prop="date">
<el-form-item label="" prop="dateType">
<el-select v-model="queryParams.dateType" :placeholder="$t('请选择时间类型')" clearable size="small">
<el-option v-for="item in dateTypes" :key="item.value" :label="$l(item, 'label')" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-form-item label="" prop="dateRangeCreateTime">
<el-date-picker v-model="queryParams.dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item :label="$t('状态')">
<el-form-item :label="$t('状态')" prop="boxStatus">
<el-select v-model="queryParams.boxStatus" :placeholder="$t('请选择状态')" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BOX_ORDER_SHIPMENT_STATE)" :key="dict.value" :label="$l(dict, 'label')" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item :label="$t('国家')">
<el-select v-model="queryParams.countryId" :placeholder="$t('请选择国家')">
<el-form-item :label="$t('国家')" prop="countryId">
<el-select v-model="queryParams.countryId" :placeholder="$t('请选择国家')" clearable size="small">
<el-option v-for="item in countryList" :key="item.id" :label="$l(item, 'title')" :value="item.id">
</el-option>
</el-select>
......@@ -124,7 +124,7 @@
<el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item>
<el-dropdown-item command="cost">{{$t('费用登记')}}</el-dropdown-item>
<el-dropdown-item command="delete">{{$t('删除')}}</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.ldStatus<42" command="editLadingBill">{{$t('编辑提货单')}}</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.ldStatus<46" command="editLadingBill">{{$t('编辑提货单')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
......@@ -156,7 +156,7 @@
<costForm v-if="dialogCfg.open" @closeDialog="closeDialog" :shipmentObj="currRow" />
</template>
<template v-if="dialogCfg.dialogType === 'error'">
<regError v-if="dialogCfg.open" @closeDialog="closeDialog" :shipmentObj="currRow" />
<regError v-if="dialogCfg.open" @closeDialog="closeDialog" :shipmentObj="currRow" :allUsers="allUsers" />
</template>
<template v-if="dialogCfg.dialogType === 'editLadingBill'">
<ladingBill v-if="dialogCfg.open" @closeDialog="closeDialog" :shipmentObj="currRow" :getCabinetName="getCabinetName" />
......@@ -212,6 +212,7 @@ import costForm from "./costForm.vue";
import regError from "./regError.vue";
import editForm from "./editForm.vue";
import ladingBill from "./ladingBill/index.vue";
import { listUser } from "@/api/system/user";
export default {
name: "EcwBoxIndexsea",
......@@ -266,6 +267,7 @@ export default {
countryList: [],
// 通知列表
noticeList: [],
allUsers: [],
};
},
computed: {
......@@ -301,6 +303,11 @@ export default {
this.getList();
this.getCountryList();
this.queryNotice();
// 用户
listUser({ pageNo: "1", pageSize: "10000" }).then((res) => {
const { data } = res;
this.allUsers = data.list ?? [];
});
},
methods: {
formatDate,
......@@ -343,10 +350,14 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams = {};
this.dateRangeCreateTime = [];
this.resetForm("queryForm");
this.handleQuery();
},
resetForm() {
this.$refs["queryForm"].resetFields();
},
/** 新增按钮操作 */
handleAdd() {
this.$set(this.dialogCfg, "title", this.$t("添加出货"));
......
......@@ -226,7 +226,7 @@
<el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item>
<el-dropdown-item command="cost">{{$t('费用登记')}}</el-dropdown-item>
<el-dropdown-item command="delete">{{$t('删除')}}</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.ldStatus<42" command="editLadingBill">{{$t('编辑提货单')}}</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.ldStatus<46" command="editLadingBill">{{$t('编辑提货单')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
......@@ -290,6 +290,7 @@
v-if="dialogCfg.open"
@closeDialog="closeDialog"
:shipmentObj="currRow"
:allUsers="allUsers"
/>
</template>
<template v-if="dialogCfg.dialogType === 'editLadingBill'">
......@@ -318,6 +319,7 @@ import costForm from './costForm.vue'
import regError from './regError.vue'
import editForm from './editSeaAirForm.vue'
import ladingBill from "./ladingBill/index.vue";
import { listUser } from "@/api/system/user";
export default {
name: 'EcwBoxIndexseaair',
......@@ -379,6 +381,7 @@ export default {
cabinetList: [],
channelList: [],
warehouseList: [],
allUsers: []
}
},
computed: {
......@@ -418,6 +421,11 @@ export default {
}
},
created() {
// 用户
listUser({ pageNo: "1", pageSize: "10000" }).then((res) => {
const { data } = res;
this.allUsers = data.list ?? [];
});
this.transportTypes = this.getDictDatas(
this.DICT_TYPE.ECW_TRANSPORT_TYPE
).filter((item) => item.value == '4')
......
......@@ -16,7 +16,8 @@
<div v-for="(item, index) in scope.row.orderItemList" :key="index" class="goodList-div">
<p>{{$t('品名')}}{{item.prodTitleZh}}</p>
<p>{{$t('品牌')}}:【
<dict-tag :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="item.productRecord" />
<span v-if="item.feeType === 0">无品牌</span>
<dict-tag v-else :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="item.feeType" />
</p>
<p>{{$t('其他')}}{{getTotlContent(item)}}</p>
......@@ -26,7 +27,7 @@
</el-table-column>
<el-table-column :label="$t('控货')" align="center" prop="">
<template slot-scope="scope">
{{scope.row.isCargoControl}}
{{scope.row.isCargoControl ? '' : '' }}
</template>
</el-table-column>
<el-table-column :label="$t('计划箱数')" align="center" prop="loadNum">
......@@ -50,7 +51,7 @@
{{ scope.row.loadWeight }}kg
</template>
</el-table-column>
<el-table-column :label="$t(' 跟进客服')" align="center" prop="" />
<el-table-column :label="$t('客户经理')" align="center" prop="salesmanId" />
<el-table-column :label="$t('制作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- 0 (未制作提货单) 1(审核中) 2(审核通过) 3(审核拒绝) -->
......@@ -63,6 +64,7 @@
</template>
<template v-if="scope.row.status === 3">
{{$t('审核拒绝')}}
<el-button type="text" size="small" @click="handleCommand('queryBill',scope.row)">{{$t('重新制作')}}</el-button>
</template>
</template>
</el-table-column>
......@@ -158,7 +160,7 @@ export default {
if (type === "query") {
this.getBillList();
}
if(type === 'close'){
if (type === "close") {
this.$emit("closeDialog");
}
},
......@@ -242,7 +244,7 @@ export default {
getSumData() {
return `${this.billData.totalNum ?? 0} ${
this.billData.totalVolume ?? 0
}m³ ${this.billData.totalVolume ?? 0}kg`;
}m³ ${this.billData.totalWeight ?? 0}kg`;
},
/* 容量 */
calcCapacity() {
......
......@@ -24,7 +24,7 @@
</div>
</el-row>
<el-dialog :title="dialogCfg.title" :visible.sync="visible" width="850px" append-to-body class="shippingSea-dialog">
<el-dialog :title="dialogCfg.title" :visible.sync="visible" width="1000px" append-to-body class="shippingSea-dialog">
<previewBill v-if="visible" :contentHtml="billContent" :currRow="currRow" :type="dialogCfg.type" />
</el-dialog>
</el-row>
......
......@@ -62,6 +62,13 @@
</section>
</template>
</el-table-column>
<el-table-column :label="$t('报关方式')" align="center" prop="customsType">
<template slot-scope="scope">
<div :class="scope.row.customsType !== 1 ? 'custom_type_red' : ''">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="scope.row.customsType" />
</div>
</template>
</el-table-column>
<el-table-column :label="$t('计划箱数')" align="center" prop="num">
<template slot-scope="scope">
{{getTotlContent(scope.row,['num'])}}
......@@ -311,9 +318,15 @@ export default {
startWarehouseId: [
{ required: true, message: this.$t("必填"), trigger: "change" },
],
cabinetId: [{ required: true, message: this.$t("必填"), trigger: "change" }],
qrCode: [{ required: true, message: this.$t("必填"), trigger: "change" }],
orderNo: [{ required: true, message: this.$t("必填"), trigger: "change" }],
cabinetId: [
{ required: true, message: this.$t("必填"), trigger: "change" },
],
qrCode: [
{ required: true, message: this.$t("必填"), trigger: "change" },
],
orderNo: [
{ required: true, message: this.$t("必填"), trigger: "change" },
],
},
// 当前行
currRow: {},
......@@ -338,7 +351,7 @@ export default {
this.listData = data.map((item, index) => {
return {
...item,
title: this.$t('第{index}部分', {index: 1+index}),
title: this.$t("第{index}部分", { index: 1 + index }),
};
});
if (this.listData.length) {
......
......@@ -71,7 +71,7 @@
<el-row class="table-title">
<div>{{item.orderNo}}</div>
<div>{{$t('发往')}}:{{item.destWarehouseName}}</div>
<div>
<div :class="item.customsType !== 1 ? 'custom_type_red' : ''">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item.customsType" />
</div>
<div>{{$t('入仓时间')}}:{{formatDate(item.rucangTime)}}</div>
......
......@@ -25,7 +25,7 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('正常报关订单')">
<div v-for="item in shipmentObj.normalOrderList" :key="item.orderId">
<div v-for="item in normalOrderList" :key="item.orderId">
<a href="javascript:void(0)" @click="jumpOrderDetail(item)">{{ item.orderNo }}</a>
</div>
</el-form-item>
......@@ -77,7 +77,7 @@
<!-- <el-form-item :label="$t('装箱单')">
<el-button type="primary">{{$t('下载装箱单')}}</el-button>
</el-form-item> -->
<el-form-item :label="$t('报关单')">
<el-form-item :label="$t('报关单')" v-show="isDownload">
<el-button type="primary" @click="downloadCusFile">{{$t('下载所有报关单')}}</el-button>
</el-form-item>
......@@ -164,6 +164,7 @@ import {
approvalCancel,
resetById,
resetByShipmentId,
customsOrderList,
} from "@/api/ecw/boxSea";
import {
formatNumberString,
......@@ -228,6 +229,8 @@ export default {
inspectionTimecustoms: this.getDictDatas(
this.DICT_TYPE.BOX_INSPECTION_TIME_CUSTOMS
)[0].value,
isDownload: false,
normalOrderList: [],
};
},
created() {
......@@ -257,8 +260,17 @@ export default {
]);
this.cusDeclarationObj = oldData;
// this.getCustomsOrderList(oldData.dcCustomsType);
},
methods: {
getCustomsOrderList(dcCustomsType) {
customsOrderList({
shipmentId: this.shipmentObj.id,
customsTypes: dcCustomsType === "3" ? "2,3" : dcCustomsType,
}).then((res) => {
this.normalOrderList = res.data ?? [];
});
},
regCloseDialog(type) {
this.regDialogVisible = false;
if (type === "error") {
......@@ -533,6 +545,15 @@ export default {
},
},
watch: {
"cusDeclarationObj.dcCustomsType"(val) {
this.getCustomsOrderList(val);
},
"cusDeclarationObj.documentInfo"(val) {
this.isDownload = false;
if (val.includes("2")) {
this.isDownload = true;
}
},
"cusDeclarationObj.dcBoxWgt"(dcBoxWgt) {
this.calcVGM(dcBoxWgt, this.cusDeclarationObj.dcGoodsWgt);
},
......
......@@ -147,7 +147,9 @@
</el-table-column>
<el-table-column :label="$t('报关方式')" align="center" prop="customsType" width="120">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="scope.row.customsType" />
<div :class="scope.row.customsType !== 1 ? 'custom_type_red' : ''">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="scope.row.customsType" />
</div>
</template>
</el-table-column>
<el-table-column :label="$t('备案')" align="center" prop="productRecord" width="100">
......@@ -205,7 +207,7 @@
<p>{{item.destWarehouseName}}</p>
</div>
<div>
<p>
<p :class="item.customsType !== 1 ? 'custom_type_red' : ''">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item.customsType" />
</p>
</div>
......@@ -247,7 +249,9 @@
</template>
</el-table-column>
<el-table-column :label="$t('报关方式')" align="center" prop="">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item.customsType" />
<div :class="item.customsType !== 1 ? 'custom_type_red' : ''">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item.customsType" />
</div>
</el-table-column>
<el-table-column :label="$t('包装类型')" align="center" prop="">
<template slot-scope="scope">
......@@ -379,7 +383,11 @@ export default {
// 校验
rules: {
noticeUser: [
{ required: true, message: this.$t("目的地操作员必填"), trigger: "change" },
{
required: true,
message: this.$t("目的地操作员必填"),
trigger: "change",
},
],
},
// 出货信息
......@@ -426,7 +434,7 @@ export default {
/* 获取城市 */
importCityName(id) {
var arr = this.$attrs.warehouseList.filter((item) => item.id == id);
return arr.length > 0 ? this.$l(arr[0], 'title') : this.$t("");
return arr.length > 0 ? this.$l(arr[0], "title") : this.$t("");
},
/* 选中行 */
checkboxSelect(selection, part) {
......@@ -472,7 +480,8 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams = {};
this.$refs["queryForm"].resetFields();
},
/** 提交 */
onSubmit() {
......@@ -559,9 +568,13 @@ export default {
},
/* 删除部分 */
deletePart(part) {
this.$confirm(this.$t("确认删除该部分及其已预装订单?"), this.$t("提示"), {
type: "warning",
})
this.$confirm(
this.$t("确认删除该部分及其已预装订单?"),
this.$t("提示"),
{
type: "warning",
}
)
.then((_) => {
deleteSection(part.id).then((res) => {
serviceMsg(res, this).then(() => {
......@@ -583,10 +596,11 @@ export default {
),
};
createGoods(params).then((res) => {
const { data } = res;
if(data.relationMsg) {
const msg = data.relationMsg.replaceAll(',',"");
createGoods(params)
.then((res) => {
const { data } = res;
if (data.relationMsg) {
const msg = data.relationMsg.replaceAll(",", "");
this.$confirm(msg, this.$t("提示"), {
type: "warning",
})
......@@ -594,27 +608,28 @@ export default {
loadRelationOrder(data).then((res) => {
serviceMsg(res, this).then(() => {
this.queryAllData();
})
})
});
});
})
.catch((_) => {});
} else {
serviceMsg(res, this).then(() => {
this.queryAllData();
})
}
}).catch((res) => {
if(res.code === 555) {
const msg = res.msg && res.msg.replaceAll(',',"");
} else {
serviceMsg(res, this).then(() => {
this.queryAllData();
});
}
})
.catch((res) => {
if (res.code === 555) {
const msg = res.msg && res.msg.replaceAll(",", "");
this.$confirm(msg, this.$t("提示"), {
type: "warning",
})
.then((_) => {
createGoods({...params, relationStatus: 1}).then((res) => {
createGoods({ ...params, relationStatus: 1 }).then((res) => {
serviceMsg(res, this).then(() => {
this.queryAllData();
})
})
});
});
})
.catch((_) => {});
}
......
......@@ -8,13 +8,14 @@
<el-row class="operate-button">
<el-button type="success" @click="onSubmit" v-show="!isReview">{{$t('发起申请')}}</el-button>
<el-button type="primary" @click="jumpReviewDetail" v-show="isReview">{{$t('审核中')}}</el-button>
<el-button plain type="primary" @click="canclAudit" v-show="isReview">{{$t('取消审核')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button>
</el-row>
</div>
</template>
<script>
import { approvalCreate } from "@/api/ecw/boxSea";
import { approvalCreate, approvalCancel } from "@/api/ecw/boxSea";
import { serviceMsg, toReviewDetail } from "../utils";
/**
......@@ -29,41 +30,56 @@ export default {
reviewObj: {},
isReview: false,
bpmProcessId: "",
voKey: "",
};
},
created() {
const { currNode, shipmentObj } = this.$attrs;
const {
preInstallBackInfo,
cabinetBackInfo,
cabinetUnloadBackApprovalInfo,
} = shipmentObj;
if (currNode.type === "preinstall") {
this.isReview = preInstallBackInfo ? true : false;
if (preInstallBackInfo && preInstallBackInfo.approvalStatus !== 1) {
this.isReview = false;
}
this.bpmProcessId = preInstallBackInfo?.bpmProcessId;
let voKey = "";
switch (currNode.type) {
case "preinstall":
voKey = "preInstallBackInfo";
break;
case "cabinet":
voKey = "cabinetBackInfo";
break;
case "unloading":
voKey = "cabinetUnloadBackApprovalInfo";
break;
}
if (currNode.type === "cabinet") {
this.isReview = cabinetBackInfo ? true : false;
if (cabinetBackInfo && cabinetBackInfo.approvalStatus !== 1) {
if (voKey) {
this.isReview = shipmentObj[voKey] ? true : false;
if (shipmentObj[voKey] && shipmentObj[voKey].approvalStatus !== 1) {
this.isReview = false;
}
this.bpmProcessId = cabinetBackInfo?.bpmProcessId;
}
if (currNode.type === "unloading") {
this.isReview = cabinetUnloadBackApprovalInfo ? true : false;
if (
cabinetUnloadBackApprovalInfo &&
cabinetUnloadBackApprovalInfo.approvalStatus !== 1
) {
this.isReview = false;
this.bpmProcessId = shipmentObj[voKey].bpmProcessId;
if (this.isReview) {
this.$set(
this.reviewObj,
"applyReason",
shipmentObj[voKey].applyReason
);
}
this.bpmProcessId = cabinetUnloadBackApprovalInfo?.bpmProcessId;
}
this.voKey = voKey;
},
methods: {
/* 取消审核 */
canclAudit() {
const { shipmentObj } = this.$attrs;
approvalCancel({
applyReason: this.$t("取消反审核"),
id: shipmentObj[this.voKey].id,
shipmentId: shipmentObj.id,
}).then((res) => {
serviceMsg(res, this).then(() => {
this.$emit("closeDialog", "submit");
});
});
},
jumpReviewDetail() {
toReviewDetail.apply(this, [this.bpmProcessId]);
this.$emit("closeDialog");
......
......@@ -54,6 +54,9 @@ export default {
warehouseId: this.$attrs.shipmentObj.startWarehouseId,
};
},
mounted() {
this.$refs.area.updateArea()
},
methods: {
getTotlContent,
// 打开储位
......
......@@ -45,6 +45,13 @@
<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="row.feeType" />
</template>
</el-table-column>
<el-table-column :label="$t('报关方式')" align="center" prop="customsType">
<template slot-scope="scope">
<div :class="scope.row.customsType !== 1 ? 'custom_type_red' : ''">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="scope.row.customsType" />
</div>
</template>
</el-table-column>
<el-table-column :label="$t('箱数')" align="center" prop="num">
<template slot-scope="scope">
<el-link type="primary" @click.native="showWarehouseLogs(scope.row)">
......
......@@ -2,7 +2,9 @@
<div>
<el-form ref="unloadingForm" :model="unloadingObj" label-width="100px">
<el-form-item :label="$t('网点')">
<dockSelect v-model="unloadingObj.ulOutletsId" :placeholder="$t('请选择网点')" :allDocks="this.$attrs.allDocks" />
<el-select filterable v-model="unloadingObj.ulOutletsId" clearable>
<el-option v-for="node in nodes" :key="node.id" :label="$l(node, 'title')" :value="node.id"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('到仓时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" v-model="unloadingObj.ulWarehouseTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
......@@ -30,7 +32,7 @@
import startUnloading from "./startUnloading.vue";
import { unloadCreate } from "@/api/ecw/boxSea";
import { formatDateStr, serviceMsg } from "../../utils";
import dockSelect from "../common/dockSelect.vue";
import { getNodePage } from "@/api/ecw/node";
/**
* 卸柜
......@@ -38,13 +40,14 @@ import dockSelect from "../common/dockSelect.vue";
export default {
name: "unloading",
inheritAttrs: false,
components: { startUnloading, dockSelect },
components: { startUnloading },
data() {
return {
// 清关对象
unloadingObj: {},
// 弹窗状态
dialogVisible: false,
nodes: [],
};
},
created() {
......@@ -52,6 +55,12 @@ export default {
let oldData = { ...this.$attrs.shipmentObj[voName] };
oldData = formatDateStr(oldData, ["ulWarehouseTime", "ulBoxTime"]);
this.unloadingObj = oldData;
// 进入卸柜,仓库给了默认值为0,并且底下显示无匹配数据。应该默认为空,让手动去选择
if(this.unloadingObj.ulOutletsId === 0) this.unloadingObj.ulOutletsId = ''
getNodePage({ pageNo: 1, pageSize: 1000, status: 0 }).then((res) => {
const { data } = res;
this.nodes = data?.list ?? [];
});
},
methods: {
/** 提交 */
......
......@@ -43,6 +43,13 @@
</section>
</template>
</el-table-column>
<el-table-column :label="$t('报关方式')" align="center" prop="customsType">
<template slot-scope="scope">
<div :class="scope.row.customsType !== 1 ? 'custom_type_red' : ''">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="scope.row.customsType" />
</div>
</template>
</el-table-column>
<el-table-column :label="$t('实装箱数')" align="center" prop="installNum" />
<el-table-column :label="$t('卸柜箱数')" align="center" prop="unloadNum" />
<el-table-column :label="$t('清关状态')" align="center" prop="">
......@@ -172,7 +179,7 @@ export default {
this.sectionList = res.data.map((item, index) => {
return {
...item,
title: this.$t('第{index}部分', {index: index + 1}),
title: this.$t("第{index}部分", { index: index + 1 }),
};
});
});
......
......@@ -121,6 +121,9 @@ export default {
<style lang="scss">
// 海运操作统一弹窗样式
.shipping-dialog {
.custom_type_red {
color: red;
}
.el-dialog__body {
height: calc(100% - 54px);
> :first-child {
......
This diff is collapsed.
......@@ -31,7 +31,7 @@ export default {
return JSON.parse(this.info.details)
},
pictures(){
if(!this.detail) return []
if(!this.detail || !this.detail.voucher) return []
return this.detail.voucher.split(',').filter(item => !!item)
}
},
......
......@@ -40,7 +40,7 @@
<!-- 只有不需要预付才需要审核 -->
<template>
<div class="page-title">{{$t('审批流程')}}</div>
<work-flow xmlkey="quotation_customer_delay_public" v-model="handlerParams.ccIds" />
<work-flow xmlkey="quotation_customer_delay_public" v-model="ccIdArr" />
</template>
<div slot="footer" class="dialog-footer">
<!-- bpmStatus
......@@ -48,7 +48,7 @@
待审核可能没有bpmStatus字段
-->
<template v-if="handlerParams.status == 1">
<el-button type="primary" @click="$router.push()">{{$t('审核中')}}</el-button>
<el-button type="primary" @click="$router.push(`/bpm/process-instance/detail?id=`+handlerParams.formId)">{{$t('审核中')}}</el-button>
<el-button plain type="primary" @click="cancelAudit">{{$t('取消审核')}}</el-button>
<el-button plain type="primary" @click="$store.dispatch('tagsView/delCurrentView')">{{$t('返回')}}</el-button>
</template>
......@@ -81,9 +81,15 @@
showWorkFlow: false, // 是否显示工作流
dateRangeCreateTime:[],
pickerOptions: {
}
},
ccIdArr:[]
};
},
watch:{
ccIdArr(){
this.$set(this.handlerParams, 'ccIds', this.ccIdArr.join(','))
}
},
created() {
if(this.$route.query.id){
this.getData(this.$route.query.id)
......@@ -105,7 +111,19 @@
if(!that.handlerParams.orgEstimateEnterOpenSeaTime){
that.handlerParams.orgEstimateEnterOpenSeaTime = that.getNowDate(that.customerData.enterOpenSeaTime)
}
console.log(that.handlerParams)
if(that.handlerParams.estimateEnterOpenSeaTime){
that.handlerParams.estimateEnterOpenSeaTime = that.getTime(that.handlerParams.estimateEnterOpenSeaTime)
}else{
that.$set(that.handlerParams,'estimateEnterOpenSeaTime',that.customerData.estimateEnterOpenSeaTime)
}
if(that.handlerParams.ccIds){
var ids = that.handlerParams.ccIds.split(',')
ids.map(v=>{
that.ccIdArr.push(parseInt(v))
})
}
console.log(that.ccIdArr)
}else{
that.handlerParams = {
customerId:that.customerData.id,
......@@ -133,17 +151,22 @@
// this.$modal.msgError(this.$t('请上传报关资料'));
// return
// }
this.$set(this.handlerParams,'createTime',this.formatDate())
var params = Object.assign({},this.handlerParams)
var ccIds = Array.isArray(this.handlerParams.ccIds) ? this.handlerParams.ccIds.join(',') : this.handlerParams.ccIds
params.ccIds = ccIds
// var ccIds = Array.isArray(this.handlerParams.ccIds) ? this.handlerParams.ccIds.join(',') : this.handlerParams.ccIds
// params.ccIds = ccIds
params.voucher = Array.isArray(this.handlerParams.voucher) ? this.handlerParams.voucher.join(',') : this.handlerParams.voucher
this.$set(this.handlerParams,'createTime',this.formatDate())
params.estimateEnterOpenSeaTime = this.getNowDate(this.handlerParams.estimateEnterOpenSeaTime)
creatDelayApproval(params).then(res=>{
this.$modal.msgSuccess(this.$t('提交成功'));
this.$store.dispatch('tagsView/delCurrentView')
})
},
getTime(dateTime){
var date = new Date(dateTime);
return date.getTime()
},
getNowDate(time) {
if(time){
var date = new Date(time);
......@@ -180,10 +203,11 @@
inputPattern: /[\S]+/,
inputErrorMessage: '不能为空'
}).then(({value}) => {
return cancelDelayApproval(this.handlerParams.formId, value)
console.log(this.handlerParams.approvalId)
return cancelDelayApproval({approveId:this.handlerParams.approvalId,reason:value})
})
.then(res => {
this.getList()
this.$store.dispatch('tagsView/delCurrentView')
})
}
}
......
......@@ -30,24 +30,23 @@
<el-input v-model="form.address" :placeholder="$t('请输入联系地址')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('客户类别')" prop="type">
<dict-selector :type="DICT_TYPE.CUSTOMER_TYPE" form-type="checkbox" multiple v-model="form.type"></dict-selector>
<el-form-item :label="$t('出货渠道')" prop="transportType">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE" form-type="checkbox" multiple v-model="form.transportType"></dict-selector>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('货运类型')" prop="transportType">
<dict-selector :type="DICT_TYPE.TRANSPORT_TYPE" form-type="checkbox" multiple v-model="form.transportType"></dict-selector>
<el-form-item :label="$t('客户类别')" prop="type">
<dict-selector :type="DICT_TYPE.CUSTOMER_TYPE" form-type="checkbox" multiple v-model="form.type"></dict-selector>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('常用提货网点')" prop="pickupPoint">
<el-select v-model="form.pickupPoint" :placeholder="$t('请输入常用提货网点')">
<el-option v-for="node in nodeList"
:key="node.id" :label="node.titleZh" :value="node.id" />
</el-select>
<el-form-item :label="$t('资源类型')" prop="remarks">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" v-model="form.resourceType" formatter="number"></dict-selector>
</el-form-item>
</el-col>
<el-col :span="13" v-show="form.type && form.type.indexOf('2') !== -1">
<el-form-item :label="$t('所属代理')" prop="agentId">
<el-select filterable clearable v-model="form.agentId" :placeholder="$t('请选择所属代理')">
......@@ -172,11 +171,7 @@
<el-switch v-model="form.isShowTidanPrice"></el-switch>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('资源类型')" prop="remarks">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" v-model="form.resourceType" formatter="number"></dict-selector>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('到仓确认')" prop="arrivalConfirm">
<el-switch v-model="form.arrivalConfirm" :active-value="1" :inactive-value="0" />
......@@ -497,7 +492,6 @@ export default {
// 新建客户
this.handleAddContact()
if(this.isCustomerServiceConfirmed){
console.log(this.userId);
this.form.customerService = this.userId
}
}
......@@ -517,7 +511,7 @@ export default {
getWarehouseList().then(r => {
this.warehouseList = r.data
})
listSimpleUsers().then(r => {
listServiceUser().then(r => {
this.serviceUserList = r.data
})
getCountryListAll().then(r => {
......@@ -662,11 +656,11 @@ export default {
return;
}
if (this.form.customerContacts.length === 0){
this.$modal.msgError(this.$t('至少填写一个联系人信息'));
this.$modal.msgError(this.$t('至少填写一个联系人信息'));
return
}
const form = {...this.form, type: this.form.type?.join(','), transportType: this.form.transportType?.join(','), taxRate: Number(this.form.taxRate)}
const form = {...this.form, type: this.form.type?.join(','), transportType: (this.form.transportType || [])?.join(','), taxRate: Number(this.form.taxRate)}
// 检查路线是否启用了但是没选择目的仓
let errors = 0
......@@ -705,7 +699,9 @@ export default {
}
// 添加的提交
//我的客户页面跳转直接
form.isCustomerServiceConfirmed = true;
if(this.isCustomerServiceConfirmed){
form.isCustomerServiceConfirmed = this.isCustomerServiceConfirmed;
}
createCustomer(form).then(response => {
this.$modal.msgSuccess(this.$t('新增成功'));
this.open = false;
......@@ -725,6 +721,7 @@ export default {
level: 1,
country: undefined,
type: undefined,
transportType:[],
agentId: undefined,
company: undefined,
address: undefined,
......
......@@ -410,6 +410,7 @@ import {
getCustomerList,
memberUserList,
userMemberUserList,
getCustomerSelect,
getCustomerLines, fillupCustomeInfo
} from '@/api/ecw/customer'
import {getNodeList} from "@/api/ecw/node"
......@@ -418,7 +419,7 @@ import { getProductList } from '@/api/ecw/product'
import {getTradeCityList} from "@/api/ecw/region"
import {getWarehouseList} from "@/api/ecw/warehouse"
import CustomerLineTable from '@/components/CustomerLineTable'
import {getCustomerSelect,getCustomerContactsListByCustomer,getCustomer,getCustomerPage,updateCustomer} from "@/api/ecw/indirectCustomer"
import {getCustomerContactsListByCustomer,getCustomer,getCustomerPage,updateCustomer} from "@/api/ecw/indirectCustomer"
import {listServiceUser, listSimpleUsers} from "@/api/system/user"
import { getZhongPaoBest, getZhongPaoPage } from '@/api/ecw/zhongPao'
// import { getCustomerContactsListByCustomer } from '@/api/ecw/customerContacts'
......
......@@ -84,7 +84,12 @@
width="55">
</el-table-column>
<el-table-column :label="$t('客户编号')" align="center" prop="number" />
<el-table-column :label="$t('客户名称')" align="center" prop="name" />
<el-table-column :label="$t('客户名称')" align="center" prop="name">
<template slot-scope="{row}">
{{row.name}} <el-tag v-if="row.isInOpenSea" size="mini"></el-tag>
</template>
</el-table-column>
<el-table-column :label="$t('客户等级')" align="center" prop="vipLevelNameZh">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" />
......@@ -107,11 +112,23 @@
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('入公海时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.enterOpenSeaTime) }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('客户经理')" align="center" prop="customerService" :formatter="customerServiceFn">
</el-table-column>
<el-table-column :label="$t('出货渠道')">
<template slot-scope="{row}">
{{channel(row.transportType)}}
</template>
</el-table-column>
<el-table-column :label="$t('国家')" align="center" prop="country" :formatter="countryFormatter"></el-table-column>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- <el-button size="mini" type="text" v-show="'development' === env && scope.row.isInOpenSea" @click="seasPond(scope.row)"-->
<!-- v-hasPermi="['ecw:customer:query']">{{$t('掉入公海池')}}</el-button>-->
<el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)"
v-hasPermi="['ecw:customer:query']">{{$t('查看')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
......@@ -120,7 +137,7 @@
v-hasPermi="['ecw:customer:delete']">{{$t('删除')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-collection" @click="followUp(scope.row)">{{$t('跟进')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-user" @click="complaint(scope.row)">{{$t('客诉')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-user" @click="delay(scope.row)">{{$t('延期')}}</el-button>
<el-button :disabled="scope.row.isInOpenSea" size="mini" type="text" icon="el-icon-user" @click="delay(scope.row)">{{$t('延期')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -481,8 +498,10 @@
</template>
<script>
import { createCustomer, updateCustomer, deleteCustomer, getCustomer,
getCustomerPage, exportCustomerExcel } from "@/api/ecw/customer";
import {
createCustomer, updateCustomer, deleteCustomer, getCustomer,
getCustomerPage, exportCustomerExcel, testEnterToOpenSea
} from "@/api/ecw/customer";
import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import {CommonStatusEnum} from '@/utils/constants'
import { uploadFile } from "@/api/infra/file";
......@@ -498,6 +517,13 @@ import transferCustomer from "@/views/ecw/customer/transferCustomer";
export default {
name: "Customer",
computed:{
channel(){
return (val)=>{
return !!val ? this.getDictDatas(this.DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE).filter(i => (val.split(',') || []).includes(i.value)).map(i => i.label).join('') :''
}
}
},
components: {
upload,
CustomerFollowList,
......@@ -506,6 +532,7 @@ export default {
},
data() {
return {
env:process.env.NODE_ENV,
getDictDatas,
DICT_TYPE,
// 遮罩层
......@@ -598,6 +625,7 @@ export default {
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行查询
getCustomerPage(params).then(response => {
console.log(response,'response')
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
......@@ -684,6 +712,15 @@ export default {
handleView(row) {
this.$router.push('/customer/query/' + row.id)
},
/** 调入公海池测试用 */
seasPond(row) {
testEnterToOpenSea(row.id).then(r => {
if(r.code === 0){
this.$t('调入公海池成功!')
this.getList();
}
})
},
/** 修改按钮操作 */
handleUpdate(row) {
this.$router.push('/customer/edit/' + row.id)
......
......@@ -50,7 +50,8 @@
</el-table-column>
<el-table-column :label="$t('客户来源')" align="center" prop="sourse">
<template v-slot="{row}">
<dict-tag :value="row.resourceType" :type="DICT_TYPE.CUSTOMER_SOURCE" />
<span>{{row.agentCustomerName}}</span>
<!-- <dict-tag :value="row.resourceType" :type="DICT_TYPE.CUSTOMER_SOURCE" /> -->
</template>
</el-table-column>
<el-table-column :label="$t('资源类型')" align="center" prop="resourceType">
......
......@@ -439,7 +439,7 @@ export default {
})
getCustomer(this.id).then(response => {
this.customer = { ...this.customer, ...response.data }
console.log(this.id)
getCustomerContactsListByCustomer({customerId: this.id}).then(r => {
this.customerContacts = r.data
let list = this.customerContacts.map(r => r.userid)
......
......@@ -18,6 +18,12 @@
<el-descriptions-item :label="$t('客户名称')">{{ customer.name }}</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('出货渠道')">
<dict-tag v-if="customer.transportType" v-for="item in customer.transportType.split(',')" :type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE" :value="item"></dict-tag>
</el-descriptions-item>
<el-descriptions-item :label="$t('资源类型')">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" :value="customer.resourceType"></dict-tag>
</el-descriptions-item>
<el-descriptions-item :label="$t('客户等级')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_LEVEL, customer.level) }}</el-descriptions-item>
<el-descriptions-item :label="$t('国家')">{{ country }}</el-descriptions-item>
<!-- <el-descriptions-item :label="$t('业务员')">{{ customer }}</el-descriptions-item>-->
......@@ -25,7 +31,7 @@
<el-descriptions-item :label="$t('客户类别')">{{ getDictDatas2(DICT_TYPE.CUSTOMER_TYPE, (customer.type||'').split(',')).map(e => e.label).join(', ') }}</el-descriptions-item>
<!-- <el-descriptions-item :label="$t('联系方式')">{{ customer }}</el-descriptions-item>-->
<el-descriptions-item :label="$t('推介人')">{{ promoter }}</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.address }}</el-descriptions-item>
<el-descriptions-item :label="$t('创建时间')">{{ parseTime(customer.createTime) }}</el-descriptions-item>
......@@ -110,7 +116,7 @@
<el-form-item :label="$t('报关方式:')">
<dict-selector
:type="DICT_TYPE.ECW_CUSTOMS_TYPE"
v-model="queryParams.customerType"
v-model="queryParams.customsType"
/>
</el-form-item>
<el-form-item :label="$t('控货')">
......@@ -131,7 +137,7 @@
<el-form-item>
<el-button type="primary" @click="getorderList">{{$t('搜索')}}</el-button>
<el-button type="primary" @click="()=>{
queryParams = { rows:10,page:1}; getorderList()
queryParams = { rows:10,page:1}; getorderList();rucangtime = [];
}">{{$t('重置')}}</el-button>
</el-form-item>
</el-form>
......@@ -201,6 +207,9 @@
prop="consignorName"
:label="$t('客户名称')"
>
<template v-slot>
{{customer.name}}
</template>
</el-table-column>
<el-table-column
prop="objectiveName"
......@@ -460,6 +469,7 @@ export default {
getCustomerSelect().then(r => {
this.customerSelect = r.data.list
})
listServiceUser().then(r => {
this.serviceUserList = r.data
})
......@@ -483,7 +493,8 @@ export default {
3:this.$t('跟进中'),
4:this.$t('赢单'),
5:this.$t('输单'),
6:this.$t('报价完成')
6:this.$t('报价完成'),
7:this.$t('跟进中')
},
dialogVisible:false,
DICT_TYPE,
......@@ -591,6 +602,7 @@ export default {
return this.customerSelect.find(e => e.id === this.customer.promoter)?.name || ''
},
customerService() {
console.log(this.serviceUserList,'this.serviceUserList');
return this.serviceUserList.find(e => e.id === this.customer.customerService)?.nickname || ''
},
id() {
......@@ -617,11 +629,11 @@ export default {
},
changeDate(val){
if(val){
this.queryParams.houseStartDate = val[0];
this.queryParams.houseEndDate = val[1];
this.queryParams.beginRucangTime = val[0];
this.queryParams. endRucangTime = val[1];
}else {
this.queryParams.houseStartDate = undefined;
this.queryParams.houseEndDate = undefined;
this.queryParams.beginRucangTime = undefined;
this.queryParams.endRucangTime = undefined;
}
},
//品牌授权
......@@ -649,8 +661,7 @@ export default {
},
//订单
getorderList(){
infoListOrderPage({customerId:this.id,...this.queryParams}).then(r => {
console.log(r)
infoListOrderPage({customerDetailId:this.id,...this.queryParams}).then(r => {
if(r.code === 0){
this.orderList = r.data.list
this.orderTotal = r.data.total
......
......@@ -39,23 +39,23 @@
<!-- </el-form-item>-->
<el-form-item>
<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" :loading="exportLoading"
>{{$t('导出')}}</el-button>
<!-- <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
>{{$t('导出')}}</el-button> -->
</el-form-item>
</el-form>
<div class="total_num">
<span>开发客户:</span>
<span>总箱数 {{totalData.developNum}}</span>
<span>总方数 {{totalData.developNum}}</span>
<span>总重量 {{totalData.developNum}}KG </span>
<span>总方数 {{totalData.developVolume}}</span>
<span>总重量 {{totalData.developWeight}}KG </span>
<span>公司客户:</span>
<span>总箱数 {{totalData.companyNum}}</span>
<span>总方数 {{totalData.companyNum}}</span>
<span>总重量 {{totalData.companyNum}}KG </span>
<span>总方数 {{totalData.companyVolume}}</span>
<span>总重量 {{totalData.companyWeight}}KG </span>
<span>汇总:</span>
<span>总箱数 {{totalData.sumNum}}</span>
<span>总方数 {{totalData.sumNum}}</span>
<span>总重量 {{totalData.sumNum}}KG </span>
<span>总方数 {{totalData.sumVolume}}</span>
<span>总重量 {{totalData.sumWeight}}KG </span>
</div>
<!-- 列表 -->
<el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
......@@ -266,11 +266,11 @@
this.totalData.sumWeight =this.myAchievementData.totalWeight
this.totalData.sumVolume =this.myAchievementData.totalVolume
this.totalData.sumNum =this.myAchievementData.totalNum
this.totalData.companyWeight =this.myAchievementData.companyTotaWeight
this.totalData.companyVolume =this.myAchievementData.companyTotaVolume
this.totalData.companyNum =this.myAchievementData.companyTotaNum
this.totalData.developWeight =this.myAchievementData.devTotaWeight
this.totalData.developVolume =this.myAchievementData.devTotaVolume
this.totalData.companyWeight =this.myAchievementData.companyTotalWeight
this.totalData.companyVolume =this.myAchievementData.companyTotalVolume
this.totalData.companyNum =this.myAchievementData.companyTotalNum
this.totalData.developWeight =this.myAchievementData.devTotalWeight
this.totalData.developVolume =this.myAchievementData.devTotalVolume
this.totalData.developNum =this.myAchievementData.devTotalNum
this.loading = false;
});
......@@ -413,11 +413,11 @@
this.totalData.sumWeight =this.myAchievementData.totalWeight
this.totalData.sumVolume =this.myAchievementData.totalVolume
this.totalData.sumNum =this.myAchievementData.totalNum
this.totalData.companyWeight =this.myAchievementData.companyTotaWeight
this.totalData.companyVolume =this.myAchievementData.companyTotaVolume
this.totalData.companyNum =this.myAchievementData.companyTotaNum
this.totalData.developWeight =this.myAchievementData.devTotaWeight
this.totalData.developVolume =this.myAchievementData.devTotaVolume
this.totalData.companyWeight =this.myAchievementData.companyTotalWeight
this.totalData.companyVolume =this.myAchievementData.companyTotalVolume
this.totalData.companyNum =this.myAchievementData.companyTotalNum
this.totalData.developWeight =this.myAchievementData.devTotalWeight
this.totalData.developVolume =this.myAchievementData.devTotalVolume
this.totalData.developNum =this.myAchievementData.devTotalNum
}
},
......
......@@ -112,6 +112,7 @@
v-hasPermi="['ecw:customer:update']" @click="complaint(scope.row)">{{$t('客诉')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:customer:delete']">{{$t('删除')}}</el-button>
<el-button :disabled="scope.row.isInOpenSea" size="mini" type="text" icon="el-icon-user" @click="delay(scope.row)">{{$t('延期')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -219,6 +220,9 @@ export default {
handleSelectionChange(val){
this.selectCustomerList = val.map(i => i.id);
},
delay(row){
this.$router.push({path:'/customer/delay',query:{id:row.id}})
},
countryFormatter(row, column, cellValue) {
const country = this.countryList.find((e) => e.id === cellValue)
return country?.nameZh
......
......@@ -23,7 +23,7 @@
</el-col>
<el-col :span="12">
<el-form-item :label="$t('清关费')">
{{form.orgClearanceFreight}} {{ currencyMap[form.clearanceFreightCurrency] }} / {{ unitMap[form.clearanceFreightVolume] }}
{{form.clearanceFreight}} {{ currencyMap[form.clearanceFreightCurrency] }} / {{ unitMap[form.clearanceFreightVolume] }}
</el-form-item>
</el-col>
</el-row>
......@@ -52,7 +52,7 @@
<!-- 明佣+暗佣显示 -->
<div v-if="form.commissionType == 3">
{{$t('成本价')}}{{form.orgSeaFreight}} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
{{$t('成本价')}}{{costPrice}} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
</div>
<!-- 暗佣显示 -->
......@@ -64,7 +64,7 @@
<el-link type="primary" @click.native="$router.push('/customer/customerCommission?customerId=' + offer.relationId)">去设置</el-link>
</div>
<div v-if="form.commissionType == 1 || form.commissionType == 3">{{$t('销售价')}}{{form.orgSeaFreight + form.shadeCommissionAmount + form.lightCommissionAmount }} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}</div>
<div v-if="form.commissionType == 1 || form.commissionType == 3">{{$t('销售价')}}{{ salePrice }} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}</div>
<div v-if="form.commissionType == 3">{{$t('实际佣金返点')}}{{form.shadeCommissionAmount + form.lightCommissionAmount }} {{ currencyMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}</div>
</div>
<div class="page-title">{{$t('审批流程')}}</div>
......@@ -96,6 +96,7 @@ import { getProductTypeList } from '@/api/ecw/productType'
import WorkFlow from '@/components/WorkFlow'
import {getDarkReturnCommission} from '@/api/ecw/customerCommission'
import {cancelProcessInstance} from '@/api/bpm/processInstance'
import Decimal from "decimal.js"
const TYPE = 3
export default {
name: "Commossion",
......@@ -158,6 +159,21 @@ export default {
return s ? '' + s + '' : ''
}
},
// 最初的运费
initialPrice(){
return Decimal(this.form.orgSeaFreight || 0)
// .minus(this.form.orgShadeCommissionAmount || 0)
.minus(this.form.orgLightCommissionAmount || 0)
},
// 新的成本价
costPrice(){
return this.initialPrice.minus(this.form.shadeCommissionAmount || 0)
},
// 新的销售价
salePrice(){
return this.initialPrice.plus(this.form.lightCommissionAmount || 0)
},
currencyMap(){
let map = {}
this.currencyList.forEach(item => {
......
<template>
<el-descriptions border :column="3" v-if="offer">
<el-descriptions-item label="报价单号">{{offer.number}}</el-descriptions-item>
<el-descriptions-item label="运输方式">
<el-descriptions-item :label="$t('报价单号')">{{offer.number}}</el-descriptions-item>
<el-descriptions-item :label="$t('运输方式')">
<dict-tag :type="DICT_TYPE.TRANSPORT_TYPE" :value="offer.transportId" />
</el-descriptions-item>
<el-descriptions-item label="出货方式">
<el-descriptions-item :label="$t('出货方式')">
{{ channel ? $l(channel, 'name') : '/' }}
</el-descriptions-item>
<el-descriptions-item label="报价单状态">
<el-descriptions-item :label="$t('报价单状态')">
<dict-tag :type="DICT_TYPE.ECW_OFFER_STATUS" :value="offer.status" />
</el-descriptions-item>
<el-descriptions-item label="唛头">{{offer.marks}}</el-descriptions-item>
<el-descriptions-item label="始发仓">{{form.departureName}}</el-descriptions-item>
<el-descriptions-item label="目的仓">{{form.objectiveName}}</el-descriptions-item>
<el-descriptions-item label="申请原因" :span="3" v-if="type == 2">
<el-descriptions-item :label="$t('唛头')">{{offer.marks}}</el-descriptions-item>
<el-descriptions-item :label="$t('始发仓')">{{form.departureName}}</el-descriptions-item>
<el-descriptions-item :label="$t('目的仓')">{{form.objectiveName}}</el-descriptions-item>
<el-descriptions-item :label="$t('申请原因')" :span="3" v-if="type == 2">
<div class="item">
商品{{$l(form, 'prodTitle')}}
{{$t('商品')}}{{$l(form, 'prodTitle')}}
</div>
<div class="item">
佣金规则{{$t('从【{oldType}】改为【{newType}', {
oldType: getDictDataLabel(DICT_TYPE.COMMISSION_TYPE, offer.commissionType) ,
{{$t('佣金规则')}}{{$t('从【{oldType}】改为【{newType}', {
oldType: getDictDataLabel(DICT_TYPE.COMMISSION_TYPE, form.orgCommissionType) ,
newType: getDictDataLabel(DICT_TYPE.COMMISSION_TYPE, form.commissionType),
})}}
</div>
<!---
http://zentao.jdshangmen.com/bug-view-1632.html
1.原运费改成原销售价,新运费改成新销售价,新增一个实际返佣金额
--->
<div>
原运费:{{form.seaFreight}}{{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
{{form.charging ? $t('原全包价') : $t('原销售价')}}{{form.orgSeaFreight}}{{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
</div>
<div>
新运费:{{newSeaFreight}}{{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
{{form.charging ? $t('新全包价') : $t('新销售价')}}{{salePrice}}{{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
</div>
<div>
成本价:{{form.orgSeaFreight}}{{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
{{$t('成本价')}}{{costPrice}}{{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
</div>
<div>
明佣{{ form.lightCommissionAmount}}{{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
{{$t('明佣')}}{{ form.lightCommissionAmount}}{{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
</div>
<div>
暗佣{{form.shadeCommissionAmount }}{{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
{{$t('暗佣')}}{{form.shadeCommissionAmount }}{{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
</div>
</el-descriptions-item>
<el-descriptions-item label="申请原因" :span="3" v-if="type == 1">
<div class="item">
商品{{$l(form, 'prodTitle')}}
{{$t('商品')}}{{$l(form, 'prodTitle')}}
</div>
<template v-if="form.charging">
原全包价{{form.orgSeaFreight}} {{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}},
新全包价{{form.seaFreight}} {{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
<template v-if="form.charging">
{{$t('原全包价')}}{{form.orgSeaFreight}} {{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}},
{{$t('新全包价')}}{{form.seaFreight}} {{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
</template>
<template v-else>
<div>
原运费{{form.orgSeaFreight}} {{ currencyMap[form.seaFreightCurrency]}} /{{unitMap[form.seaFreightVolume]}}
原清关费{{form.orgClearanceFreight}} {{currencyMap[form.clearanceFreightCurrency]}} / {{unitMap[form.clearanceFreightVolume]}}
{{$t('原销售价')}}{{form.orgSeaFreight}} {{ currencyMap[form.seaFreightCurrency]}} /{{unitMap[form.seaFreightVolume]}}
{{$t('原清关费')}}{{form.orgClearanceFreight}} {{currencyMap[form.clearanceFreightCurrency]}} / {{unitMap[form.clearanceFreightVolume]}}
</div>
<div>
新运费{{form.seaFreight}} {{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
新清关费{{form.clearanceFreight}} {{currencyMap[form.clearanceFreightCurrency]}} / {{unitMap[form.clearanceFreightVolume]}}
{{$t('新销售价')}}{{form.seaFreight}} {{currencyMap[form.seaFreightCurrency]}} / {{unitMap[form.seaFreightVolume]}}
{{$t('新清关费')}}{{form.clearanceFreight}} {{currencyMap[form.clearanceFreightCurrency]}} / {{unitMap[form.clearanceFreightVolume]}}
</div>
</template>
</el-descriptions-item>
......@@ -132,9 +135,25 @@ export default {
return map
},
// 新运费
newSeaFreight(){
/* newSeaFreight(){
return Decimal(this.form.seaFreight).plus(this.form.shadeCommissionAmount).plus(this.form.lightCommissionAmount)
}
}, */
// 成本价
/* costPrice(){
return Decimal(this.form.seaFreight || 0).minus(this.form.lightCommissionAmount || 0).minus(this.form.shadeCommissionAmount || 0)
} */
// 最初的运费
initialPrice(){
return Decimal(this.form.orgSeaFreight || 0)
// .minus(this.form.orgShadeCommissionAmount || 0)
.minus(this.form.orgLightCommissionAmount || 0)
},
costPrice(){
return this.initialPrice.minus(this.form.shadeCommissionAmount || 0)
},
salePrice(){
return this.initialPrice.plus(this.form.lightCommissionAmount || 0)
},
},
methods: {
getOfferSpecialByApproveId(){
......
......@@ -47,7 +47,7 @@
<el-form-item :label="$t('旧全包价')" v-if="form.charging">
{{form.orgSeaFreight}} {{ currentMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
</el-form-item>
<el-form-item :label="$t('新全包价')" style="width: 400px" prop="clearanceFreight" v-if="form.charging">
<el-form-item :label="$t('新全包价')" style="width: 400px" prop="seaFreight" v-if="form.charging">
<el-input v-model="form.seaFreight" type="number" class="w-100" />
{{ currentMap[form.seaFreightCurrency] }} / {{ unitMap[form.seaFreightVolume] }}
</el-form-item>
......
......@@ -95,7 +95,7 @@
if(this.$route.query.number){
this.form.number = this.$route.query.number
}
userList('documentary customer service').then(res =>this.creatorData = res.data)
userList('customer service').then(res =>this.creatorData = res.data)
},
methods: {
getList() {
......
......@@ -6,7 +6,7 @@
<div class="offer-header">
<span style="font-size: 15px;">{{$t('报价单号')}}{{list.number}}</span>
<div class="btns">
<el-button size="mini" type="primary" @click="$router.push('edit?id=' + offerId)">{{$t('编辑')}}</el-button>
<el-button size="mini" type="primary" v-if="list.status!=5" @click="$router.push('edit?id=' + offerId)">{{$t('编辑')}}</el-button>
<el-button type="primary" v-if="[1,3,7].indexOf(list.status) > -1" size="mini" @click="handleAdd">{{$t('跟进')}}</el-button>
<el-button type="primary" v-if="[3,7].indexOf(list.status) > -1" size="mini" @click="toResult">{{$t('结果')}}</el-button>
<el-button size="mini" v-if="[1,3,7].indexOf(list.status) > -1" type="primary" @click.native="$router.push('/offer/special?offerId=' + offerId)" >{{$t('特价')}}</el-button>
......@@ -245,7 +245,11 @@
</el-descriptions-item>
<el-descriptions-item :label="$t('预计费用')">
<template >
<div v-for="item in estimatedCosts" :key="item.currencyId">{{item.amount || 0}}{{currentcyMap[item.currencyId]}}</div>
<div style="display:flex;flex-direction:column">
<div v-for="item in estimatedCosts" :key="item.currencyId">
<span>{{item.amount || 0}}{{currentcyMap[item.currencyId]}}</span>
</div>
</div>
</template>
</el-descriptions-item>
</el-descriptions>
......@@ -470,6 +474,18 @@
}
arr.push(it)
})
this.freightFeeList.forEach(item => {
if(!arr.find(items=>items.currencyId==item.currencyId)){
let its = {...item}
// let freights = this.clearanceFeeList.find(fee => fee.currencyId == item.currencyId)
// if(freights){
// its.amount += freights.amount
// }
arr.push(its)
}
})
return arr
},
// 预计费用(原价 - 优惠金额)
......@@ -495,8 +511,13 @@
if(coupon){
it.amount = it.amount.minus(coupon.reduceAmount)
}
if(this.list.otherFee && this.list.otherFeeCurrencyId == item.currencyId){
it.amount = it.amount.plus(this.list.otherFee)
// if(this.list.otherFee && this.list.otherFeeCurrencyId == item.currencyId){
// it.amount = it.amount.plus(this.list.otherFee)
// withOtherFee = true
// }
let otherFee = this.otherFeeList.find(fee => fee.currencyId == item.currencyId)
if(otherFee){
it.amount += otherFee.amount
withOtherFee = true
}
// 保价费(美元)
......@@ -527,7 +548,17 @@
amount: Decimal(this.fee.insuranceFee)
})
}
this.otherFeeList.forEach(item => {
if(!arr.find(items=>items.currencyId==item.currencyId)){
let its = {...item}
// let freights = this.clearanceFeeList.find(fee => fee.currencyId == item.currencyId)
// if(freights){
// its.amount += freights.amount
// }
arr.push(its)
}
})
return arr
}
},
......@@ -562,7 +593,7 @@
that.loading = true;
// 执行查询
getOrder(id).then(response => {
that.orderDat = response.data;
that.orderData = response.data;
});
},
getSupplierData(id){
......@@ -628,9 +659,9 @@
that.getChannelData()
}
that.calculationPrice()
if(that.list.orderId){
that.getOrderData(that.list.orderId)
}
// if(that.list.orderId){
// that.getOrderData(that.list.orderId)
// }
getCustomerContactsSelect({ids: [that.list.consignorId, that.list.consigneeId].join(',')}).then((res) => {
let consignor = res.data.list.find(item => item.customerContactsId == that.list.consignorId)
if(consignor) that.consignorData=consignor
......
......@@ -221,8 +221,8 @@
</template>
<template slot-scope="scope">
<el-form-item label=""
:prop="`prodCreateReqVOList.${scope.$index}.worth`"
:rules="{
:prop2="`prodCreateReqVOList.${scope.$index}.worth`"
:rules2="{
// required: true, message: $t('货值不能为空'), trigger: 'blur'
}"
class="mb-0 mr-0"
......
......@@ -34,8 +34,11 @@
</el-table-column>
<el-table-column :label="$t('客户反馈')" align="center" prop="customerFeedback" />
<el-table-column :label="$t('处理结果')" align="center" prop="processingResults" />
<el-table-column :label="$t('客户经理')" align="center" prop="followUpSalesmanName" />
<el-table-column :label="$t('客户经理')" align="center" prop="followUpSalesmanName">
<template slot-scope="scope">
<span>{{getCustomerService(scope.row.followUpSalesmanId)}}</span>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="params.page" :limit.sync="params.rows"
@pagination="getList"/>
......@@ -47,6 +50,7 @@
import {getOfferLogPage} from "@/api/ecw/offerLog";
import {DICT_TYPE} from '@/utils/dict'
import {getOffer} from '@/api/ecw/offer'
import { userList } from "@/api/system/user"
export default {
name: "OfferLog",
components: {
......@@ -67,6 +71,7 @@ export default {
number:'',
relationId:0,
creatorName:'test',
creatorData:[]
};
},
created() {
......@@ -75,6 +80,7 @@ export default {
this.getList();
this.getRelationID()
}
userList('customer service').then(res =>this.creatorData = res.data)
},
methods: {
/** 查询列表 */
......@@ -89,6 +95,11 @@ export default {
});
},
getCustomerService(id){
var user = this.creatorData.find(item=>item.id==id)
if(user) return user.nickname
return ''
},
getRelationID(){
getOffer(this.params.offerId).then(response => {
this.relationId = response.data.consignorId;
......
......@@ -79,13 +79,14 @@
<el-row style="margin-top: 30px">
<el-col :span="8">
<div style="text-align: right;">
{{ list[0] && list[0].adjustToStartWarehouseName ? list[0].adjustToStartWarehouseName : list[0] && list[0].startWarehouseName ? list[0].startWarehouseName : '' }}
{{ list[0] && list[0].adjustToStartWarehouseName ? list[0].adjustToStartWarehouseName : list[0] ? [14,16,15].includes(this.list[0].status) ? list[0].dstWarehouseName : list[0].startWarehouseName : '' }}
</div>
</el-col>
<el-col :span="3"><div style="text-align:center">
{{$t('调至')}}
</div></el-col>
<el-col :span="8"><el-select clearable v-model="params.warehouseInId">
<el-col :span="8">
<el-select clearable v-model="params.warehouseInId">
<el-option v-for="(item ,index) in availableWarehouse" v-if="item.status !== 1" :value="item.id" :label="item.titleZh"
:key="index"></el-option>
</el-select></el-col>
......@@ -222,8 +223,7 @@ export default {
getOrderListFn() {
getOrderPage({orderIdList: this.orderList}).then(r => {
this.list = r.data.list
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)
warehouseAdjustmentList({id: this.list[0].adjustToStartWarehouseId ? this.list[0].adjustToStartWarehouseId :[14,16,15].includes(this.list[0].status) ? this.list[0].dstWarehouseId : this.list[0].startWarehouseId }).then(r => this.availableWarehouse = r.data)
adjustLastWithStatus({orderId:this.list[0].orderId,lang:0}).then(r =>{
this.applyStatus = r.data
if(r.data?.orderWarehouseAdjustBackVO?.status === 1){
......@@ -235,7 +235,7 @@ export default {
submit() {
let p = this.list.map(e => e.orderId).join(',');
this.params.orderIds = p;
this.params.warehouseOutId = this.list[0].adjustToStartWarehouseId ? this.list[0].adjustToStartWarehouseId : this.list[0].startWarehouseId;
this.params.warehouseOutId = this.list[0].adjustToStartWarehouseId ? this.list[0].adjustToStartWarehouseId : [14,16,15].includes(this.list[0].status) ? this.list[0].dstWarehouseId : this.list[0].startWarehouseId;
this.params.orderNo = this.list[0].orderNo
orderWarehouseInAdjustApply(this.params).then(r => {
if (r.code === 0) {
......
......@@ -24,10 +24,10 @@
<el-descriptions-item :label="$t('申请理由')" v-if="type == 1 || type == 2" :span="4">
<div class="bold">
<div>
{{$t('原运费')}}{{detail.orgFreight}} {{ currencyMap[detail.freightCurrency] }} / {{ unitMap[detail.freightVolume] }}
{{$t('新运费')}}{{detail.freight}} {{ currencyMap[detail.freightCurrency] }} / {{ unitMap[detail.freightVolume] }}
{{detail.charging ? $t('原全包价') : $t('原运费')}}{{detail.orgFreight}} {{ currencyMap[detail.freightCurrency] }} / {{ unitMap[detail.freightVolume] }}
{{detail.charging ? $t('新全包价') : $t('新运费')}}{{detail.freight}} {{ currencyMap[detail.freightCurrency] }} / {{ unitMap[detail.freightVolume] }}
</div>
<div>
<div v-if="!detail.charging">
{{$t('原清关费')}}{{detail.orgClearanceFreight}} {{ currencyMap[detail.clearanceFreightCurrency] }} / {{ unitMap[detail.clearanceFreightVolume] }}
{{$t('新清关费')}}{{detail.clearanceFreight}} {{ currencyMap[detail.clearanceFreightCurrency] }} / {{ unitMap[detail.clearanceFreightVolume] }}
</div>
......@@ -58,7 +58,7 @@
</div>
<div class="item">
{{$t('佣金规则')}}{{$t('从【{oldType}】改为【{newType}', {
oldType: getDictDataLabel(DICT_TYPE.COMMISSION_TYPE, detail.commissionType) ,
oldType: getDictDataLabel(DICT_TYPE.COMMISSION_TYPE, detail.orgCommissionType) ,
newType: getDictDataLabel(DICT_TYPE.COMMISSION_TYPE, detail.commissionType),
})}}
</div>
......@@ -67,10 +67,10 @@
{{$t('原运费')}}{{detail.orgFreight}}{{currencyMap[detail.freightCurrency]}} / {{unitMap[detail.freightVolume]}}
</div>
<div>
{{$t('新运费')}}{{Decimal(detail.freight).plus(detail.lightCommissionAmount)}}{{currencyMap[detail.freightCurrency]}} / {{unitMap[detail.freightVolume]}}
{{$t('新运费')}}{{Decimal(detail.orgFreight || 0).minus(detail.orgLightCommissionAmount || 0).plus(detail.lightCommissionAmount || 0)}}{{currencyMap[detail.freightCurrency]}} / {{unitMap[detail.freightVolume]}}
</div>
<div>
{{$t('成本价')}}{{Decimal(detail.freight).minus(detail.shadeCommissionAmount)}} {{ currencyMap[detail.freightCurrency] }} / {{ unitMap[detail.freightVolume] }}
{{$t('成本价')}}{{Decimal(detail.orgFreight || 0).minus(detail.orgLightCommissionAmount || 0).minus(detail.shadeCommissionAmount || 0)}} {{ currencyMap[detail.freightCurrency] }} / {{ unitMap[detail.freightVolume] }}
</div>
<div>
{{$t('明佣')}}{{ detail.lightCommissionAmount}}{{currencyMap[detail.freightCurrency]}} / {{unitMap[detail.freightVolume]}}
......
......@@ -41,7 +41,7 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('已核销预付金额占总金额比例')+':'" label-width="200px">
<el-form-item :label="$t('已核销预付金额占总金额比例')+':'" label-width="320px">
{{orderFee.writeOffAmountScale}}%
</el-form-item>
</el-col>
......@@ -53,24 +53,31 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('预付商品货值占佣金额比例')+':'" label-width="200px">
<el-form-item :label="$t('预付商品货值占总货值比例')+':'" label-width="320px">
{{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-row>
<el-col :span="6">
<el-form-item :label="$t('预付商品方数')+':'">
{{orderFee.paymentGoodsVolume}} {{$t('立方米')}}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('预付商品货值占订单总运费+清关费比例')+':'" label-width="320px">
{{orderFee.needWorthScale}}%
</el-form-item>
</el-col>
</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">
<el-form-item :label="$t('预付商品方数占总方数比例')+':'" label-width="320px">
{{orderFee.paymentGoodsVolumeScale}}%
</el-form-item>
</el-col>
......@@ -116,7 +123,7 @@ export default {
}
},
orderFee(){
}
},
computed:{
......@@ -175,4 +182,4 @@ export default {
::v-deep .prepay_exception_detail .el-form-item{
margin-bottom: 0;
}
</style>
\ No newline at end of file
</style>
......@@ -70,7 +70,6 @@ export default {
i.todoDetail = this.todoDetail
})
let p = this.specialNeedsList.filter(i => this.advanceType.indexOf(i.advanceType) > -1)
console.log(p,'p')
let p1 = []
//获取新增的和修改的
p.forEach(item => {
......@@ -88,13 +87,21 @@ export default {
p1.push(item)
}
})
specialNeedCreate(p1).then(r=>{
if(r.code === 0){
this.$emit('update:show',false)
this.$emit('determine')
this.$message.success('提交成功');
}
})
let p2 = p1.filter(i => Number(i.transFee) > 0)
if(p2.every(i => !!i.payType)){
specialNeedCreate(p1).then(r=>{
if(r.code === 0){
this.$emit('update:show',false)
this.$emit('determine')
this.$message.success('提交成功');
}
})
}else {
let v = p2.map(i => i.advanceType);
console.log(this.getDictDatas(this.DICT_TYPE.ORDER_SPECIAL_NEEDS),'this.getDictDatas(this.DICT_TYPE.ORDER_SPECIAL_NEEDS)')
let v2 = this.getDictDatas(this.DICT_TYPE.ORDER_SPECIAL_NEEDS).filter(i => v.includes(i.value))
this.$modal.notifyWarning(`请选择"${ v2.map(i => i.label).join('')}"的付款类型。`)
}
},
},
watch:{
......@@ -105,7 +112,7 @@ export default {
advanceType:r.value,
orderId:this.orderId,
transFee:'',//预计金额
transCurrency:'',//运输费币种
transCurrency:1,//运输费币种
payType:''
})
})
......
......@@ -3,7 +3,8 @@
<el-card class="card">
<div slot="header" class="card-title">
{{$t('订单编号')}}{{order.orderNo}}
<template v-if="order.containerNumber"> - {{order.containerNumber}}</template>
<template v-if="order.tidanNo"> - {{order.tidanNo}}</template>
<template v-else-if="order.containerNumber"> - {{order.containerNumber}}</template>
</div>
<el-row :gutter="20">
<el-col :span="8" v-if="order.consignorVO">
......@@ -40,6 +41,13 @@
</el-descriptions>
</el-col>
</el-row>
<el-descriptions class="margin-top" border :column="1" :labelStyle="{width:'150px'}">
<el-descriptions-item :label="$t('付款人')">
<el-link v-if="order.drawee == 3" @click.native="showDarweeDialog=true" type="primary">自定义</el-link>
<dict-tag v-else :type="DICT_TYPE.DRAWEE" :value="order.drawee"></dict-tag>
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="card">
<el-descriptions border :title="$t('物流信息')" :column="2">
......@@ -244,6 +252,20 @@
<print-warehouse-receipt v-if="showWarehouseReceipt" :order-id="order.orderId" @close="showWarehouseReceipt=false" />
<print-lading-bill v-if="showLadingBill" :order-id="order.orderId" :transport-type="order.transportId" @close="showLadingBill=false" />
<warehouse-detail :order="order" :orderItemId="showWarehouseInItemId" v-if="showWarehouseInItemId" @close="showWarehouseInItemId=null" />
<el-dialog title="付款人" :visible.sync="showDarweeDialog" v-if="order && order.customDraweeVOList">
<el-table :data="order.customDraweeVOList" v-if="order.drawee==3" >
<el-table-column label="费用类型" prop="label" width="200px">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_CUSTOM_DRAWEE" :value="row.name"/>
</template>
</el-table-column>
<el-table-column label="付款人" width="300px">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.DRAWEE" :value="row.value" />
</template>
</el-table-column>
</el-table>
</el-dialog>
</div>
</template>
......@@ -274,6 +296,7 @@ export default {
},
data() {
return {
showDarweeDialog: false,
// 遮罩层
loading: false,
order: null,
......@@ -367,7 +390,7 @@ export default {
});
},
getChannel(){
if(!this.order || !this.order.channelId) return
if(!this.order || !this.order.channelId || this.order.transportId == 1 || this.order.transportId == 2) return
getChannel(this.order.channelId).then(res => {
this.channelName = res.data.nameZh
})
......
......@@ -698,6 +698,7 @@ export default {
totalWorth: new Decimal(0),
totalQuatity: new Decimal(0)
}
if(!this.form || !this.form.orderItemVOList) return sum
this.form.orderItemVOList.forEach(item => {
sum.totalNum = sum.totalNum.plus(item.num || 0)
sum.totalVolume = sum.totalVolume.plus(item.volume || 0)
......@@ -766,6 +767,11 @@ export default {
console.log('重置路线',oldTransportId, transportId, this.selectedRouter?.transportType)
this.$set(this.form, 'lineId', undefined)
}
// 选择海运拼柜和海运整柜清空渠道值
if(transportId == 1 || transportId == 2){
this.$set(this.form, 'channelId', null)
}
this.getOpenedRouterList()
},
......@@ -783,10 +789,10 @@ export default {
this.calculationPrice()
},
'form.packageTypeArr'(val){
/* 'form.packageTypeArr'(val){
console.log('packageType', val, val.length)
this.$set(this.form, 'packageType', val ? val.join(',') : '')
},
}, */
'form.isExternalWarehouse'(isExternalWarehouse){
// 勾选外部仓则添加一个默认的,取消则删除默认的空的
if(!isExternalWarehouse){
......@@ -881,6 +887,10 @@ export default {
this.$set(this.form, 'consigneePhone', res.data.consigneeVO.phone)
}
if(this.form.channelId == 0){
delete this.form.channelId
}
if(res.data.ccIds){
this.ccIdArr = res.data.ccIds.split(",").filter(item => item && item != '')
}
......@@ -1067,6 +1077,7 @@ export default {
item.channelIds = Array.from(item.channelIdSet).join(',')
}
})
this.form.packageType = this.form.packageTypeArr.join(',')
// 修改的提交
if (this.form.orderNo != null) {
let data = Object.assign({}, this.form, {
......
......@@ -111,13 +111,25 @@
</el-table-column>
<el-table-column :label="$t('总箱数/入仓箱数')" align="center" >
<template slot-scope="scope">
<span>{{scope.row.totalBox+$t('箱/')+scope.row.warehousingBox+$t('')}}</span>
<p v-if="scope.row.orderExceptionType!='order_doc_exception'||scope.row.customsType==1">{{scope.row.totalBox+$t('箱/')+scope.row.warehousingBox+$t('')}}</p>
<p style="color:#ff4949" v-else>{{scope.row.totalBox+$t('箱/')+scope.row.warehousingBox+$t('')}}</p>
<dict-tag style="color:#ff4949" v-if="scope.row.orderExceptionType=='order_doc_exception'&&scope.row.customsType!=1" :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="scope.row.customsType"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('体积/重量')" align="center">
<template slot-scope="scope">
<span v-if="scope.row.orderStatus >= 5 ">{{scope.row.volume+"m³/"+scope.row.weight+"kg"}}</span>
<span v-else>{{scope.row.totalVolume+"m³/"+scope.row.totalWeight+"kg"}}</span>
<div v-if="scope.row.orderExceptionType!='order_heavy_cargo_exception'&&scope.row.orderExceptionType!='order_bulky_cargo_exception'">
<span v-if="scope.row.orderStatus >= 5 ">{{scope.row.volume+"m³/"+scope.row.weight+"kg"}}</span>
<span v-else>{{scope.row.totalVolume+"m³/"+scope.row.totalWeight+"kg"}}</span>
</div>
<el-tooltip v-if="scope.row.orderExceptionType=='order_heavy_cargo_exception'" class="item" effect="dark" :content="(scope.row.wvolume||0)+'m³'" placement="bottom">
<span style="color:#ff4949" v-if="scope.row.orderStatus >= 5 ">{{scope.row.volume+"m³/"+scope.row.weight+"kg"}}</span>
<span style="color:#ff4949" v-else>{{scope.row.totalVolume+"m³/"+scope.row.totalWeight+"kg"}}</span>
</el-tooltip>
<el-tooltip v-if="scope.row.orderExceptionType=='order_bulky_cargo_exception'" class="item" effect="dark" :content="(scope.row.vweight||0)+'kg'" placement="bottom">
<span style="color:#ff4949" v-if="scope.row.orderStatus >= 5 ">{{scope.row.volume+"m³/"+scope.row.weight+"kg"}}</span>
<span style="color:#ff4949" v-else>{{scope.row.totalVolume+"m³/"+scope.row.totalWeight+"kg"}}</span>
</el-tooltip>
</template>
</el-table-column>
<el-table-column :label="$t('运输方式/目的地')" align="center">
......
This diff is collapsed.
......@@ -4,6 +4,9 @@
<el-card>
<div slot="header" class="card-title">{{$t('查看')}}</div>
<el-descriptions :column="4">
<el-descriptions-item :label="$t('订单号')">
{{orderData.orderNo||''}}
</el-descriptions-item>
<el-descriptions-item :label="$t('唛头')">
{{orderData.marks?orderData.marks:$t('')}}
</el-descriptions-item>
......
......@@ -141,7 +141,7 @@
</el-table-column>
<el-table-column :label="$t('付款状态')" prop="worth">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_RECEIPT_STATE" :value="scope.row.state"></dict-tag>
<dict-tag :type="DICT_TYPE.ECW_RECEIVABLE_STATE" :value="scope.row.state"></dict-tag>
</template>
</el-table-column>
</el-table>
......@@ -205,7 +205,7 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('已核销预付金额占总金额比例')+':'" label-width="200px">
<el-form-item :label="$t('已核销预付金额占总金额比例')+':'" label-width="320px">
{{orderFee.writeOffAmountScale}}%
</el-form-item>
</el-col>
......@@ -217,15 +217,23 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('预付商品货值占总货值比例')+':'" label-width="200px">
<el-form-item :label="$t('预付商品货值占总货值比例')+':'" label-width="320px">
{{orderFee.paymentGoodsWorthScale}}%
</el-form-item>
</el-col>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-form-item :label="$t('预付商品方数')+':'">
{{orderFee.paymentGoodsVolume}} {{$t('立方米')}}
<el-col :span="6">
<el-form-item :label="$t('预付商品方数')+':'">
{{orderFee.paymentGoodsVolume}} {{$t('立方米')}}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('预付商品货值占订单总运费+清关费比例')+':'" label-width="320px">
{{orderFee.needWorthScale}}%
</el-form-item>
</el-col>
</el-row>
<el-row v-if="orderExceptionData.orderExceptionType=='order_pay_exception'">
<el-col :span="6">
......@@ -234,7 +242,7 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('预付商品方数占总方数比例')+':'" label-width="200px">
<el-form-item :label="$t('预付商品方数占总方数比例')+':'" label-width="320px">
{{orderFee.paymentGoodsVolumeScale}}%
</el-form-item>
</el-col>
......@@ -502,11 +510,11 @@
this.$modal.msgError(this.$t('请选择处理结果'));
return
}
if(this.orderExceptionData.orderExceptionType=='order_doc_exception'){
if(!this.handlerParams.fileList||this.handlerParams.fileList.length==0){
this.$modal.msgError(this.$t('请上传报关资料'));
return
}
if(this.orderExceptionData.orderExceptionType=='order_doc_exception'&&this.handlerParams.fileList&&this.handlerParams.fileList.length>0){
// if(!this.handlerParams.fileList||this.handlerParams.fileList.length==0){
// this.$modal.msgError(this.$t('请上传报关资料'));
// return
// }
this.handlerParams.files = Array.isArray(this.handlerParams.fileList) ? this.handlerParams.fileList.join(',') : this.handlerParams.fileList
}
......
......@@ -23,7 +23,7 @@
<el-col :span="12">
<el-form-item :label="$t('运费')">
<!-- {{orderItem.oneSeaFreight}} -->
{{originPrice}}
{{form.orgFreight}}
{{ currencyMap[orderItem.seaFreightCurrency] }} / {{ unitMap[orderItem.seaFreightVolume] }}
</el-form-item>
</el-col>
......@@ -35,7 +35,7 @@
</el-row>
<el-form-item :label="$t('全包价')" v-if="orderItem.charging">
{{orderItem.oneSeaFreight}} {{ currencyMap[orderItem.seaFreightCurrency] }} / {{ unitMap[orderItem.seaFreightVolume] }}
{{form.orgFreight}} {{ currencyMap[orderItem.seaFreightCurrency] }} / {{ unitMap[orderItem.seaFreightVolume] }}
</el-form-item>
<el-form-item :label="$t('佣金类型')" prop="commissionType">
......@@ -82,7 +82,7 @@
{{ currencyMap[form.freightCurrency] }} / {{ unitMap[form.freightVolume] }}</div>
<div v-if="form.commissionType == 3">
{{$t('实际佣金返点')}}
{{form.shadeCommissionAmount + form.lightCommissionAmount }}
{{totalCommision }}
{{ currencyMap[form.freightCurrency] }} / {{ unitMap[form.freightVolume] }}
</div>
</div>
......@@ -187,19 +187,18 @@ export default {
},
// 原价
originPrice(){
if(!this.form.orgFreight) return 0
return Decimal(this.form.orgFreight).minus(parseFloat(this.form.orgLightCommissionAmount) || 0)
return Decimal(this.form.orgFreight || 0).minus(this.form.orgLightCommissionAmount || 0)
},
// 成本价
costPrice(){
if(!this.originPrice) return 0
return Decimal(this.originPrice).minus(parseFloat(this.form.shadeCommissionAmount) || 0)
return this.originPrice.minus(this.form.shadeCommissionAmount || 0)
},
// 销售价
salePrice(){
if(!this.originPrice) return 0
return Decimal(this.originPrice).plus(parseFloat(this.form.lightCommissionAmount) || 0)
return this.originPrice.plus(this.form.lightCommissionAmount || 0)
},
totalCommision(){
return Decimal(this.form.lightCommissionAmount || 0).plus(this.form.shadeCommissionAmount || 0)
}
},
......
......@@ -169,7 +169,7 @@ export default {
// 是否可以提交
submitable(){
let submitable = false;
if(!this.form.freight || !this.form.clearanceFreight){
if(!this.form.freight || (!this.form.clearanceFreight && !this.form.charging)){
return false
}
[
......
......@@ -13,7 +13,7 @@
</template>
<template v-else>
<el-form-item :label="$t('原泡货标准')">
{{form.orgWVolume}} kg
{{form.orgVWeight}} kg
</el-form-item>
<el-form-item :label="$t('现泡货标准')" style="width: 400px" prop="clearanceFreight">
<el-input v-model="form.vweight" type="number" class="w-100" /> kg
......
......@@ -147,7 +147,7 @@
</el-form>
<warehouse-area-dialog ref="area" :visible.sync="areaVisible" v-model="form.orderLocationCreateReqVOList"
:order-id="orderId" :warehouse-id="warehouseId"></warehouse-area-dialog>
:order-id="orderId" :warehouse-id="warehouseId" :is-editing="isEdit"></warehouse-area-dialog>
<edit-dialog :title="title" :order-id="order.orderId" :visible.sync="warehousingVisible" :warehousing="warehousing" :edit="isEdit"></edit-dialog>
......@@ -226,7 +226,12 @@ export default {
this.getOrder()
getOrderWarehouseIn(this.orderId).then(r => this.orderItemList = r.data.reverse())
getSpecialListByOrderId(this.orderId).then(r => this.specialList = r.data)
listByOrderId({ orderId: this.orderId }).then(r => this.form.orderLocationCreateReqVOList = r.data)
listByOrderId({ orderId: this.orderId }).then(r => {
this.form.orderLocationCreateReqVOList = r.data
this.$nextTick(() => {
this.$refs.area.updateArea()
})
})
}
getCurrencyList().then(res => this.currencyList = res.data)
},
......
......@@ -87,9 +87,19 @@
<span>{{scope.row.wvolume||0}}CBM</span>
</template>
</el-table-column>
<el-table-column :label="$t('泡货方数')" v-else >
<el-table-column :label="$t('泡货方数')" v-if="type!='order_heavy_cargo_exception'">
<template slot-scope="scope">
<span>{{scope.row.vweight||0}}CBM</span>
<span>{{scope.row.wvolume||0}}CBM</span>
</template>
</el-table-column>
<el-table-column :label="$t('重货重量')" v-if="type=='order_heavy_cargo_exception'">
<template slot-scope="scope">
<span>{{scope.row.vweight||0}}KG</span>
</template>
</el-table-column>
<el-table-column :label="$t('泡货重量')" v-if="type!='order_heavy_cargo_exception'" >
<template slot-scope="scope">
<span>{{scope.row.vweight||0}}KG</span>
</template>
</el-table-column>
<el-table-column :label="$t('最后操作时间')" scope="handlerTime" />
......
......@@ -21,7 +21,7 @@
</div>
<div>
<el-button v-if="isExamine" @click="submit" type="primary" style="margin-right: 20px;">{{$t('确定退仓')}}</el-button>
<el-button v-if="!isExamine" @click="$router.push({query:{id:details.formId},path:'/bpm/process-instance/detail'})" type="primary" style="margin-right: 20px;">{{$t('审核中')}}</el-button>
<el-button v-if="!isExamine" @click="goBpm" type="primary" style="margin-right: 20px;">{{$t('审核中')}}</el-button>
<el-button v-if="!isExamine" type="primary" style="margin-right: 20px;" @click="cancellationOfOrder">{{$t('取消审核')}}</el-button>
<el-button @click="$parent.show = false;">{{$t('不,再考虑考虑')}}</el-button>
</div>
......@@ -75,6 +75,10 @@ export default {
})
},
methods:{
goBpm(){
this.$parent.show = false
this.$router.push({query:{id:this.details.formId},path:'/bpm/process-instance/detail'})
},
submit(){
this.params.orderId = this.orderDetails.orderId;
this.params.orderNo =this.orderDetails.orderNo;
......
......@@ -275,7 +275,7 @@ export default {
attrArray: [{ required: true, message: this.$t("商品特性不能为空"), trigger: "change" }],
titleZh: [{ required: true, message: this.$t("中文标题不能为空"), trigger: "blur" }],
titleEn: [{ required: true, message: this.$t("英文标题不能为空"), trigger: "blur" }],
materialType: [{ required: true, message: this.$t("商品材质不能为空"), trigger: "blur" }],
// materialType: [{ required: true, message: this.$t("商品材质不能为空"), trigger: "blur" }],
// packaging: [{ required: true, message: "包装要求不能为空", trigger: "blur" }],
// containerLocation: [{ required: true, message: "默认货柜位置不能为空", trigger: "blur" }],
// square: [{ required: true, message: "订单方数上线不能为空", trigger: "blur" }],
......
......@@ -3,7 +3,7 @@
<el-form ref="form" :model="form" :rules="rules" label-width="150px" :disabled="readonly">
<el-form-item :label="$t('商品类型')" prop="productType">
<el-select v-model="form.productType" :disabled="!!$route.query.ids">
<el-select v-model="form.productType" :disabled="!!$route.query.action">
<el-option
v-for="type in productTypeList"
:key="type.id"
......@@ -14,7 +14,7 @@
</el-form-item>
<el-form-item :label="$t('商品名称')" prop="titleZh">
<product-selector v-model="form.productId" :product-type="form.productType" @change="product = $event" :disabled="!!$route.query.ids" />
<product-selector v-model="form.productId" :product-type="form.productType" @change="product = $event" :disabled="!!$route.query.action" />
</el-form-item>
<el-form-item :label="$t('英文名称')" prop="titleEn">
......
......@@ -307,13 +307,13 @@
</el-dialog>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="$t('设置路线提单模板')" :visible.sync="templateOpen" width="1000px" @close="ladingFormClose()" append-to-body>
<el-dialog :title="$t('设置路线提单模板')" :visible.sync="templateOpen" width="1100px" @close="ladingFormClose()" append-to-body>
<el-form ref="form" :model="ladingform" :rules="rules" label-width="80px">
<el-form-item :label="$t('货柜前缀')" prop="prefixCounter">
<el-input v-model="ladingform.prefixCounter" :placeholder="$t('请输入货柜前缀')" />
</el-form-item>
<el-form-item :label="$t('抬头')" prop="titleZh">
<ueditor v-model="ladingform.titleZh" :min-height="192"/>
<ueditor v-model="ladingform.titleZh" :min-height="192" style="width:960px"/>
</el-form-item>
<el-card class="box-card">
......@@ -363,7 +363,7 @@
</el-card>
<el-form-item :label="$t('条款')" prop="contentZh">
<ueditor v-model="ladingform.contentZh" :min-height="192"/>
<ueditor v-model="ladingform.contentZh" :min-height="192" style="width:960px"/>
</el-form-item>
<el-form-item v-if="showFlag">
......
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