修改问题

master
sunzehua 6 months ago
parent 0fc2b90104
commit 60836551ce

12
.env

@ -1,8 +1,8 @@
NODE_ENV=production
VUE_APP_PREVIEW=true
# VUE_APP_TYPE = 'customer'
VUE_APP_TYPE = 'hechuan'
# VUE_APP_TYPE = 'yunyingduan'
# VUE_APP_TYPE = 'hechuan'
VUE_APP_TYPE = 'yunyingduan'
# VUE_APP_TYPE = 'gangjie'
# 打包部署的三个端 客户端customer 和川端hechuan 运营端djy
@ -11,16 +11,16 @@ VUE_APP_TYPE = 'hechuan'
# VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345
# 和川大简云测试
VUE_APP_API_BASE_URL=http://60.209.125.238:35100
VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:35100
# VUE_APP_API_BASE_URL=http://60.209.125.238:35100
# VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:35100
# 客户端测试
# VUE_APP_API_BASE_URL=http://60.209.125.238:30813
# VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:30813
# 运营端测试
# VUE_APP_API_BASE_URL=http://60.209.125.238:30814
# VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:30814
VUE_APP_API_BASE_URL=http://60.209.125.238:30814
VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:30814
# 港捷
# VUE_APP_API_BASE_URL=http://118.190.144.189:5001

@ -83,3 +83,11 @@ export function DjyCustomerDetail(parameter) {
params: parameter
})
}
export function BatchUpdate(parameter) {
return axios({
url: '/DjyCustomer/BatchUpdate',
method: 'post',
data: parameter
})
}

@ -343,6 +343,13 @@ export function TaskManageBCSendEmai1(parameter) {
params: parameter
})
}
export function TaskTransPlanHasChange(parameter) {
return axios({
url: '/TaskTransPlanHasChange/taskPKId',
method: 'get',
params: parameter
})
}
export function TaskManageBCGetCompareResult(parameter) {
return axios({
url: '/TaskManageBC/GetCompareResult',
@ -591,6 +598,14 @@ export function GetInfoByTaskIdNotice(parameter) {
})
}
export function GetInfoByTaskIdPlan(parameter) {
return axios({
url: '/TaskTransPlanHasChange/GetInfoByTaskId',
method: 'get',
params: parameter
})
}
export function GetInfoByTaskIdRoute(parameter) {
return axios({
url: '/RouteChangeAdvisory/GetInfoByTaskId',
@ -606,7 +621,13 @@ export function QueryVesselVoynoBookingOrder(parameter) {
params: parameter
})
}
export function QueryBookingOrderPlan(parameter) {
return axios({
url: '/TaskTransPlanHasChange/QueryBookingOrder',
method: 'get',
params: parameter
})
}
export function BatchSendEmailToCustomer(parameter) {
return axios({
url: '/RouteChangeAdvisory/BatchSendEmailToCustomer',

@ -69,6 +69,7 @@ const constantRouterComponents = {
cutTime: () => import('@/views/main/Taskmanage/cutTime/index'),
cutChange: () => import('@/views/main/Taskmanage/cutChange/index'),
cautionNotice: () => import('@/views/main/Taskmanage/cautionNotice/index'),
trnasPlan: () => import('@/views/main/Taskmanage/trnasPlan/index'),
draft: () => import('@/views/main/Taskmanage/draft/index'),
POD_GATEOUT_FULL: () => import('@/views/main/Taskmanage/POD_GATEOUT_FULL/index'),
POD_DISCHARGE_FULL: () => import('@/views/main/Taskmanage/POD_DISCHARGE_FULL/index'),
@ -268,6 +269,17 @@ const userAccount = [
},
component: 'cautionNotice'
},
{
name: 'trnasPlan',
path: '/commontaskmanage/trnasPlan',
pid: 0,
id: 183110,
meta: {
title: '运输计划变更通知',
show: false
},
component: 'trnasPlan'
},
{
name: 'draft',
path: '/commontaskmanage/draft',

@ -704,6 +704,43 @@
</a-col>
</a-row>
</a-form-model>
<a-row style="margin-top: 10px;" >
其他信息
<div>
<a-row>
<a-col :span="4" v-if="details.carrierid==='EMC'">
<a-form-model-item
class="from-label"
label="合约类型"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback>
<span>{{ details.contractType }}</span>
</a-form-model-item>
</a-col>
<a-col :span="4" v-if="details.carrierid==='EMC'">
<a-form-model-item
class="from-label"
label="运送方式"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback>
<span>{{ details.serviceType }}</span>
</a-form-model-item>
</a-col>
<a-col :span="4" v-if="details.carrierid==='EMC'">
<a-form-model-item
class="from-label"
label="运送形态"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback>
<span>{{ details.serviceMode }}</span>
</a-form-model-item>
</a-col>
</a-row>
</div>
</a-row>
</div>
</a-spin>
<a-modal

@ -542,7 +542,7 @@
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback>
<span>{{ details.extendData.Account }}</span>
<span>{{ details.bookingAccount }}</span>
</a-form-model-item>
</a-col>
<a-col :span="4">
@ -552,7 +552,7 @@
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback>
<span>{{ details.extendData.Password }}</span>
<span>{{ details.bookingPassword }}</span>
</a-form-model-item>
</a-col>
<a-col :span="4" v-if="details.carrierid==='EMC'">
@ -562,7 +562,7 @@
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback>
<span>{{ details.extendData.ContactName }}</span>
<span>{{ details.contactName }}</span>
</a-form-model-item>
</a-col>
<a-col :span="4" v-if="details.carrierid==='EMC'">
@ -572,7 +572,7 @@
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback>
<span>{{ details.extendData.ContactTel }}</span>
<span>{{ details.contactTel }}</span>
</a-form-model-item>
</a-col>
</a-row>
@ -584,7 +584,7 @@
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback>
<span>{{ details.extendData.OpMail }}</span>
<span>{{ details.opMail }}</span>
</a-form-model-item>
</a-col>
<a-col :span="4" v-if="details.carrierid==='EMC'">
@ -594,7 +594,7 @@
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback>
<span>{{ details.extendData.YSFS }}</span>
<span>{{ details.serviceType }}</span>
</a-form-model-item>
</a-col>
<a-col :span="4" v-if="details.carrierid==='EMC'">
@ -604,7 +604,7 @@
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback>
<span>{{ details.extendData.YSXT }}</span>
<span>{{ details.serviceMode }}</span>
</a-form-model-item>
</a-col>
</a-row>
@ -837,7 +837,7 @@ export default {
res.data.extendData = {}
}
if (res.data.carrierid === 'EMC') {
res.data.contractno = res.data.extendData.ContractType + '-' + res.data.contractno
res.data.contractno = res.data.contractType ? res.data.contractType : '' + '-' + res.data.contractno
}
this.details = res.data
if (Object.keys(this.details.files).length > 0) {

@ -108,7 +108,7 @@
<div class="title">{{ type === 'Add' ? '舱位新增' : '舱位修改' }}</div>
<a-row>
<a-col :span="6">
<a-form-model-item label="订舱编号">
<a-form-model-item label="舱位提单号">
<a-input v-model="form.sloT_BOOKING_NO" />
</a-form-model-item>
</a-col>
@ -311,6 +311,55 @@
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="6">
<a-form-model-item label="订舱编号">
<a-input v-model="form.sloT_NO" />
</a-form-model-item>
</a-col>
<a-col :span="6">
<a-form-item label="操作">
<a-select
show-search
v-model="form.opid"
:default-active-first-option="false"
:show-arrow="false"
allowClear
:filter-option="false"
:not-found-content="null"
@search="SearchUser($event, 2)"
@change="e => {
ChangeUser(e, 'op', 2)
}
">
<a-select-option v-for="item in UserList2" :key="item.id" :value="item.id">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
</a-row>
<a-row>
<a-col :span="6">
<a-form-item label="单证">
<a-select
show-search
v-model="form.docid"
allowClear
:default-active-first-option="false"
:show-arrow="false"
:filter-option="false"
:not-found-content="null"
@search="SearchUser($event, 3)"
@change="e => {
ChangeUser(e, 'doc', 3)
}
">
<a-select-option v-for="item in UserList3" :key="item.id" :value="item.id">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
</a-row>
<div class="title">截止时间</div>
<a-row>
@ -542,6 +591,9 @@ export default {
fetching: false,
UserList1: [],
UserList: [],
UserList2: [],
UserListAll:[],
UserList3: [],
id: 0,
oldBook: [],
dataSource: [],
@ -732,12 +784,15 @@ export default {
created() {
this.type = this.$route.query.type
this.id = this.$route.query.id ? this.$route.query.id : ''
DjyCustomerSuggest({ keyword: '' }).then(res => {
DjyCustomerSuggest({ keyword: '', type: 'consignor' }).then(res => {
this.CustomerList = res.data.rows
})
GetSysUserPage().then(res => {
this.UserList = JSON.parse(JSON.stringify(res.data))
this.UserList1 = JSON.parse(JSON.stringify(res.data))
this.UserList2 = JSON.parse(JSON.stringify(res.data))
this.UserList3 = JSON.parse(JSON.stringify(res.data))
this.UserListAll = JSON.parse(JSON.stringify(res.data))
})
if (this.type === 'Edit') {
this.getDetail()
@ -801,6 +856,24 @@ export default {
},
handlePageChange() {
},
SearchUser(e, type) {
if (e) {
GetSysUserPage({ name: e }).then(res => {
if (type === 0) {
this.UserList = res.data
}
if (type === 1) {
this.UserList1 = res.data
}
if (type === 2) {
this.UserList2 = res.data
}
if (type === 3) {
this.UserList3 = res.data
}
})
}
},
getDetail() {
this.loading = true
@ -808,6 +881,14 @@ export default {
if (res.success) {
this.form = res.data
if (this.form.bookingSlotSaleInfoList) {
this.form.bookingSlotSaleInfoList.forEach(item => {
if (item.custserviceid) {
item.custserviceid = Number(item.custserviceid)
}
if (item.saleid) {
item.saleid = Number(item.saleid)
}
})
this.oldBook = JSON.parse(JSON.stringify(this.form.bookingSlotSaleInfoList))
}
} else {
@ -863,6 +944,20 @@ export default {
}
})
}
if (type === 2) {
this.UserList2.forEach(item => {
if (item.id == e) {
this.form[Tname] = item.name
}
})
}
if (type === 3) {
this.UserList3.forEach(item => {
if (item.id == e) {
this.form[Tname] = item.name
}
})
}
} else {
if (type === 0) {
this.UserList = JSON.parse(JSON.stringify(this.UserListAll))
@ -932,18 +1027,6 @@ export default {
}
})
},
SearchUser(e, type) {
if (e) {
GetSysUserPage({ name: e }).then(res => {
if (type === 0) {
this.UserList = res.data
}
if (type === 1) {
this.UserList1 = res.data
}
})
}
},
handleClick(item) {
item.flag = !item.flag
const arr = []

@ -1,8 +1,5 @@
<template>
<div class="CsMain">
<!-- <a-tabs class="CsMainTable" v-model="activeKey" hide-add type="editable-card" @edit="onEdit"> -->
<!-- <a-tab-pane v-for="pane in panes" :key="pane.key" :tab="pane.title" :closable="pane.key == 0 ? false : true"> -->
<!-- <div v-if="pane.title == '客户信息'"> -->
<a-card :bordered="false" :bodyStyle="tstyle">
<div class="table-page-search-wrapper" :class="advanced ? 'Open' : 'Close'">
<a-form layout="inline">
@ -10,7 +7,7 @@
<a-col :md="18">
<a-row :gutter="48">
<a-col :md="8" :sm="24" v-for="item in ColumnsQuery" :key="`${item.dataIndex}1`" v-show="item.checked">
<a-form-item :label="item.title" v-if="item.dataIndex!='sale'">
<a-form-item :label="item.title" v-if="item.dataIndex != 'sale'">
<a-input v-model="queryParam[item.dataIndex]" allow-clear />
</a-form-item>
<a-form-item :label="item.title" v-else>
@ -21,8 +18,7 @@
:showLabel="['name']"
:isCopy="false"
:openSearch="true"
@change="getSelectViewRes"
></selectView>
@change="getSelectViewRes"></selectView>
</a-form-item>
</a-col>
</a-row>
@ -31,14 +27,11 @@
<span class="table-page-search-submitButtons">
<a-button
type="primary"
@click="
() => {
queryParam.pageNo = 1
FnGetData()
}
"
>查询</a-button
>
@click="() => {
queryParam.pageNo = 1
FnGetData()
}
">查询</a-button>
<a-button style="margin-left: 8px" @click="init"></a-button>
<a v-if="ColumnsQueryL > 3" @click="toggleAdvanced" style="margin-left: 8px">
{{ advanced ? '收起' : '展开' }}
@ -63,6 +56,7 @@
<template #buttons>
<div class="nav-box">
<div class="nav" @click="TabsAdd"><i class="iconfont icon-jiahao2fill"></i>新建</div>
<div class="nav" @click="handleAllEdit"><i class="iconfont icon-xiugai"></i>批量修改</div>
</div>
</template>
<template #tools>
@ -83,11 +77,11 @@
stripe
resizable
round
ref="xTable1"
:loading="loading"
empty-text="没有更多数据了!"
v-if="!TableType"
>
<vxe-column type="seq" width="40" fixed="left"></vxe-column>
v-if="!TableType">
<vxe-column type="checkbox" width="60"></vxe-column>
<vxe-column
v-for="item in TableColumns"
:key="`${item.dataIndex}3`"
@ -95,8 +89,7 @@
:min-width="item.width"
:title="item.title"
:align="item.align"
v-if="item.checked"
>
v-if="item.checked">
</vxe-column>
<vxe-column title="操作" fixed="right" width="80" align="center">
<template #default="{ row }">
@ -107,12 +100,10 @@
ok-text="是"
cancel-text="否"
style="margin: 0 5px;"
@confirm="
e => {
confirm(e, row)
}
"
>
@confirm="e => {
confirm(e, row)
}
">
<a-icon type="delete" :style="{ color: '#13c2c2' }" />
</a-popconfirm>
<a-icon @click="handleAdd(row)" title="设置客户参数" type="snippets" :style="{ color: '#13c2c2' }" />
@ -126,13 +117,118 @@
:page-size="queryParam.pageSize"
:total="queryParam.totalResult"
:layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
@page-change="handlePageChange"
>
@page-change="handlePageChange">
</vxe-pager>
</a-card>
<a-modal title="客户参数" :width="1300" @cancel="settingFlag=false" :visible="settingFlag" :footer="null">
<a-modal title="客户参数" :width="1300" @cancel="settingFlag = false" :visible="settingFlag" :footer="null">
<custList ref="custList"></custList>
</a-modal>
<a-modal title="批量修改" @ok="handleSubimtEdit" :width="900" @cancel="editFlag = false" :visible="editFlag">
<a-spin :spinning="editLoad">
<a-form-model :model="editform" :label-col="{ span: 5 }" :wrapper-col="{ span: 19 }">
<a-row>
<a-col :span="12">
<a-form-model-item label="客服">
<a-select
show-search
v-model="editform.custserviceid"
:default-active-first-option="false"
:show-arrow="false"
:filter-option="false"
:not-found-content="null"
allowClear
style="width: 90%;margin-right: 10px;"
@search="SearchUser($event, 1)"
size="small"
@change="e => {
ChangeUser(e, 'custservice', 1)
}
">
<a-select-option v-for="item1 in UserList1" :key="item1.id" :value="item1.id">
{{ item1.name }}
</a-select-option>
</a-select>
<a-checkbox v-model="editform.isSetCUSTSERVICE"></a-checkbox>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="销售">
<a-select
show-search
v-model="editform.saleid"
:default-active-first-option="false"
:show-arrow="false"
:filter-option="false"
:not-found-content="null"
style="width: 90%;margin-right: 10px;"
allowClear
@search="SearchUser($event, 2)"
size="small"
@change="e => {
ChangeUser(e, 'sale', 3)
}
">
<a-select-option v-for="item1 in UserList2" :key="item1.id" :value="item1.id">
{{ item1.name }}
</a-select-option>
</a-select>
<a-checkbox v-model="editform.isSetSALE"></a-checkbox>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item label="操作">
<a-select
show-search
v-model="editform.opid"
:default-active-first-option="false"
:show-arrow="false"
style="width: 90%;margin-right: 10px;"
:filter-option="false"
:not-found-content="null"
allowClear
@search="SearchUser($event, 3)"
size="small"
@change="e => {
ChangeUser(e, 'op', 3)
}
">
<a-select-option v-for="item1 in UserList3" :key="item1.id" :value="item1.id">
{{ item1.name }}
</a-select-option>
</a-select>
<a-checkbox v-model="editform.isSetOP"></a-checkbox>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="单证">
<a-select
show-search
v-model="editform.docid"
:default-active-first-option="false"
:show-arrow="false"
:filter-option="false"
:not-found-content="null"
allowClear
@search="SearchUser($event, 4)"
style="width: 90%;margin-right: 10px;"
size="small"
@change="e => {
ChangeUser(e, 'doc', 4)
}
">
<a-select-option v-for="item1 in UserList4" :key="item1.id" :value="item1.id">
{{ item1.name }}
</a-select-option>
</a-select>
<a-checkbox v-model="editform.isSetDOC"></a-checkbox>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
</a-spin>
</a-modal>
<custAddForm ref="custAddForm" @ok="handleOkCust" />
</div>
</template>
@ -141,10 +237,10 @@ import {
DjyCustomerGet,
DjyCustomerPage,
DjyCustomerDelete,
DjyUserConfigAdd
DjyUserConfigAdd,
BatchUpdate
} from '@/api/modular/main/CustomerInformationManagement'
// import addForm from './addForm.vue'
// import editForm from './editForm.vue'
import { GetSysUserPage } from '@/api/modular/main/BookingLedger'
import selectView from '../BookingLedger/detail/components/selectView'
import columnSetting from '@/components/tableColumnSetting'
import custAddForm from '../customerParam/addItemForm.vue'
@ -170,7 +266,7 @@ const columns = [
width: '180',
dataIndex: 'fullName'
},
{
{
title: '揽货人',
align: 'center',
width: '120',
@ -307,8 +403,16 @@ export default {
advanced: false,
loading: false,
settingFlag: false,
editform: {},
setVisible: false,
setVisible1: false,
UserList1: [],
UserList2: [],
UserList3: [],
UserList4: [],
editFlag: false,
editLoad: false,
UserListAll: [],
queryParam: {
currentPage: 1,
pageSize: 10,
@ -322,7 +426,7 @@ export default {
ColumnsQueryL: 0
}
},
created() {},
created() { },
watch: {
// $route(to, form) {
// if (to.path == '/CustomerInformationManagement') {
@ -332,6 +436,13 @@ export default {
},
mounted() {
this.init()
GetSysUserPage().then(res => {
this.UserList1 = JSON.parse(JSON.stringify(res.data))
this.UserList2 = JSON.parse(JSON.stringify(res.data))
this.UserList3 = JSON.parse(JSON.stringify(res.data))
this.UserList4 = JSON.parse(JSON.stringify(res.data))
this.UserListAll = JSON.parse(JSON.stringify(res.data))
})
},
methods: {
FnRpropString(data) {
@ -347,6 +458,18 @@ export default {
}
return propString
},
handleAllEdit() {
const select = this.$refs.xTable1.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.id
})
if (pkIdArr.length === 0) {
this.$message.error('请选择一条数据')
return false
}
this.editFlag = true
this.editform = {}
},
handleAdd(row) {
this.settingFlag = true
setTimeout(() => {
@ -354,7 +477,6 @@ export default {
}, 100)
},
handleOkCust() {
},
getSelectViewRes({ type, res }) {
this.queryParam.sale = res.name
@ -389,7 +511,24 @@ export default {
this.panes = panes
this.activeKey = activeKey
},
handleSubimtEdit() {
const select = this.$refs.xTable1.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.id
})
const data = {
...this.editform,
customnerIdList: pkIdArr
}
this.editLoad = true
BatchUpdate(data).then(res => {
if (res.success) {
this.$message.success('修改成功')
this.editFlag = false
}
this.editLoad = false
})
},
TabsEdit(row) {
this.$router.push({ name: 'CustomerInformationManagementEdit', query: { id: row.id } })
// this.$refs.editForm[0].edit(row)
@ -524,6 +663,24 @@ export default {
this.queryParam.pageSize = pageSize
this.FnGetData()
},
SearchUser(e, type) {
if (e) {
GetSysUserPage({ name: e }).then(res => {
if (type === 0) {
this.UserList = res.data
}
if (type === 1) {
this.UserList1 = res.data
}
if (type === 2) {
this.UserList2 = res.data
}
if (type === 3) {
this.UserList3 = res.data
}
})
}
},
FnGetData() {
this.loading = true
DjyCustomerPage(this.queryParam).then(res => {
@ -541,6 +698,52 @@ export default {
const obj = JSON.parse(JSON.stringify(this.queryParam))
return obj
},
ChangeUser(e, Tname, type) {
if (e) {
if (type === 1) {
this.UserList1.forEach(item => {
if (item.id == e) {
this.editform[Tname] = item.name
}
})
}
if (type === 2) {
this.UserList2.forEach(item => {
if (item.id == e) {
this.editform[Tname] = item.name
}
})
}
if (type === 3) {
this.UserList3.forEach(item => {
if (item.id == e) {
this.editform[Tname] = item.name
}
})
}
if (type === 4) {
this.UserList4.forEach(item => {
if (item.id == e) {
this.editform[Tname] = item.name
}
})
}
} else {
if (type === 1) {
this.UserList1 = JSON.parse(JSON.stringify(this.UserListAll))
}
if (type === 2) {
this.UserList2 = JSON.parse(JSON.stringify(this.UserListAll))
}
if (type === 3) {
this.UserList3 = JSON.parse(JSON.stringify(this.UserListAll))
}
if (type === 4) {
this.UserList4 = JSON.parse(JSON.stringify(this.UserListAll))
}
}
this.$forceUpdate()
},
confirm(e, data) {
this.DjyCustomerDelete(data)
},
@ -573,30 +776,37 @@ export default {
button {
margin-right: 8px;
}
.Open {
}
.Open {}
.Close {
height: 45px;
overflow: hidden;
}
.SetFlex {
display: flex;
justify-content: flex-end;
}
.CsMain {
// margin-top: -24px;
// margin-left: -9px;
width: 100% !important;
}
.CsMainTable {
width: 100%;
}
.CsMainTable > .ant-tabs-bar {
.CsMainTable>.ant-tabs-bar {
margin-bottom: 1px !important;
}
.vxe-table--render-default .vxe-body--row.row--stripe {
background: #f5f9fe;
}
.nav-box {
padding: 0 10px;
@ -622,6 +832,7 @@ button {
.iconfont {
color: #1d8aff;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
@ -632,6 +843,7 @@ button {
.iconfont {
color: #865ef8;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
@ -642,6 +854,7 @@ button {
.iconfont {
color: #ff9702;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
@ -652,6 +865,7 @@ button {
.iconfont {
color: #1d8aff;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
@ -662,6 +876,7 @@ button {
.iconfont {
color: #ff1062;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
@ -672,6 +887,7 @@ button {
.iconfont {
color: #1ebeca;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
@ -682,6 +898,7 @@ button {
.iconfont {
color: #82c93d;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;
@ -692,6 +909,7 @@ button {
.iconfont {
color: #1d8aff;
}
&:hover {
background: #fff;
box-shadow: 0 0 10px #eee;

@ -567,11 +567,11 @@ export default {
if (this.saveNeedCar !== null && this.saveNeedCar !== '') {
let index = 0
this.gridOptions.data.forEach((ite, inde) => {
if (ite.pkId === this.saveNeedCar) {
if (ite.pK_ID === this.saveNeedCar) {
index = inde
}
})
GetTaskManagePage({ pkId: this.saveNeedCar })
GetTaskManagePage({ pK_ID: this.saveNeedCar })
.then(res => {
if (res.success) {
this.$set(this.gridOptions.data, index, res.data.items[0])
@ -740,7 +740,7 @@ export default {
},
handleSaveSend() {
const data = {
taskPKId: this.editRow.pkId,
taskPKId: this.editRow.pK_ID,
truckId: this.selectCar,
truckCode: this.selectCarCode,
truckName: this.selectCarName,
@ -764,7 +764,7 @@ export default {
},
handleChangeCar() {
const data = {
taskPKId: this.editRow.pkId,
taskPKId: this.editRow.pK_ID,
truckId: this.selectCar,
truckCode: this.selectCarCode,
truckName: this.selectCarName,
@ -1123,7 +1123,7 @@ export default {
FnPrint() {
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.pkId
return item.pK_ID
})
if (pkIdArr.length != 1) {
this.$message.error('请仅选择一条数据')
@ -1142,7 +1142,7 @@ export default {
FnSendCar() {
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.pkId
return item.pK_ID
})
if (pkIdArr.length === 0) {
this.$message.error('请选择数据')
@ -1183,7 +1183,7 @@ export default {
CancelSendCar() {
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.pkId
return item.pK_ID
})
if (pkIdArr.length === 0) {
this.$message.error('请选择数据')
@ -1557,87 +1557,90 @@ export default {
},
changePage(data) {
console.log(data)
if (data.taskType === 'VGM_COMPARE') {
if (data.tasK_TYPE === 'VGM_COMPARE') {
// VGM
this.$router.push({
path: '/commontaskmanage/TaskVgmContrast',
query: { taskPKId: data.pkId, type: data.status }
query: { taskPKId: data.pK_ID, type: data.status }
})
} else if (data.taskType === 'INVOICE_BILL_MAIL') {
} else if (data.tasK_TYPE === 'INVOICE_BILL_MAIL') {
//
this.$router.push({ path: '/commontaskmanage/VoyageBill', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'PER_BILL') {
this.$router.push({ path: '/commontaskmanage/VoyageBill', query: { taskPKId: data.pK_ID } })
} else if (data.tasK_TYPE === 'PER_BILL') {
//
this.$router.push({ path: '/commontaskmanage/singleTicket', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'CHANGE_SHIP') {
this.$router.push({ path: '/commontaskmanage/singleTicket', query: { taskPKId: data.pK_ID } })
} else if (data.tasK_TYPE === 'CHANGE_SHIP') {
//
this.$router.push({ path: '/commontaskmanage/TaskChangeShip', query: { taskPKId: data.pkId, type: 'change' } })
} else if (data.taskType === 'ABORT_CHANGE_SHIP') {
this.$router.push({ path: '/commontaskmanage/TaskChangeShip', query: { taskPKId: data.pK_ID, type: 'change' } })
} else if (data.tasK_TYPE === 'ABORT_CHANGE_SHIP') {
//
this.$router.push({
path: '/commontaskmanage/TaskChangeShip',
query: { taskPKId: data.pkId, type: 'abortChange' }
query: { taskPKId: data.pK_ID, type: 'abortChange' }
})
} else if (data.taskType === 'ORIGINAL_LOST') {
} else if (data.tasK_TYPE === 'ORIGINAL_LOST') {
//
this.$router.push({ path: '/commontaskmanage/TaskOriginalLost', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'SHIPPING_ORDER') {
this.$router.push({ path: '/commontaskmanage/TaskOriginalLost', query: { taskPKId: data.pK_ID } })
} else if (data.tasK_TYPE === 'SHIPPING_ORDER') {
//
this.$router.push({ path: '/commontaskmanage/BookingDetails', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'SI_FEEDBACK') {
this.$router.push({ path: '/commontaskmanage/BookingDetails', query: { taskPKId: data.pK_ID } })
} else if (data.tasK_TYPE === 'SI_FEEDBACK') {
//
this.$router.push({ path: '/commontaskmanage/TaskmanageDetail', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'TRUCK_DISPATCH') {
this.$router.push({ path: '/commontaskmanage/TaskmanageDetail', query: { taskPKId: data.pK_ID } })
} else if (data.tasK_TYPE === 'TRUCK_DISPATCH') {
//
// this.$router.push({ path: '/commontaskmanage/TaskmanageDetail', query: { taskPKId: data.pkId } })
// this.$router.push({ path: '/commontaskmanage/TaskmanageDetail', query: { taskPKId: data.pK_ID } })
this.$router.push({
name: 'SendCarAdd',
query: {
type: 'Edit',
taskPKId: data.pkId
taskPKId: data.pK_ID
}
})
} else if (data.taskType === 'BC') {
} else if (data.tasK_TYPE === 'BC') {
// BC
// this.$router.push({ path: '/commontaskmanage/BcFileDetail', query: { taskPKId: data.pkId } })
// this.$router.push({ path: '/commontaskmanage/BcFileDetail', query: { taskPKId: data.pK_ID } })
// BC
this.$router.push({ path: '/commontaskmanage/BcEditing', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'BC_MODIFY') {
this.$router.push({ path: '/commontaskmanage/BcEditing', query: { taskPKId: data.pK_ID } })
} else if (data.tasK_TYPE === 'BC_MODIFY') {
// BC
this.$router.push({ path: '/commontaskmanage/BCModify', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'CANCELLATION') {
this.$router.push({ path: '/commontaskmanage/BCModify', query: { taskPKId: data.pK_ID } })
} else if (data.tasK_TYPE === 'CANCELLATION') {
// Cancellation
this.$router.push({ path: '/commontaskmanage/Cancellation', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'ROLLING_NOMINATION') {
this.$router.push({ path: '/commontaskmanage/Cancellation', query: { taskPKId: data.pK_ID } })
} else if (data.tasK_TYPE === 'ROLLING_NOMINATION') {
// ROLLING_NOMINATION
this.$router.push({ path: '/commontaskmanage/rollingNomination', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'VGM_FEEDBACK') {
this.$router.push({ path: '/commontaskmanage/rollingNomination', query: { taskPKId: data.pK_ID } })
} else if (data.tasK_TYPE === 'VGM_FEEDBACK') {
// ROLLING_NOMINATION
this.$router.push({ path: '/commontaskmanage/vgmDetail', query: { taskPKId: data.pkId, type: 'VGM_FEEDBACK' } })
} else if (data.taskType === 'CAUTION_NOTICE') {
this.$router.push({ path: '/commontaskmanage/vgmDetail', query: { taskPKId: data.pK_ID, type: 'VGM_FEEDBACK' } })
} else if (data.tasK_TYPE === 'CAUTION_NOTICE') {
// ROLLING_NOMINATION
this.$router.push({ path: '/commontaskmanage/cautionNotice', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'VGM_MISSING') {
this.$router.push({ path: '/commontaskmanage/cautionNotice', query: { taskPKId: data.pK_ID } })
} else if (data.tasK_TYPE === 'VGM_MISSING') {
// ROLLING_NOMINATION
this.$router.push({ path: '/commontaskmanage/vgmDetail', query: { taskPKId: data.pkId, type: 'VGM_MISSING' } })
} else if (data.taskType === 'CUT_MODIFY') {
this.$router.push({ path: '/commontaskmanage/vgmDetail', query: { taskPKId: data.pK_ID, type: 'VGM_MISSING' } })
} else if (data.tasK_TYPE === 'CUT_MODIFY') {
// ROLLING_NOMINATION
this.$router.push({ path: '/commontaskmanage/cutTime', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'POD_DISCHARGE_FULL') {
this.$router.push({ path: '/commontaskmanage/cutTime', query: { taskPKId: data.pK_ID } })
} else if (data.tasK_TYPE === 'POD_DISCHARGE_FULL') {
// ROLLING_NOMINATION
this.$router.push({ path: '/commontaskmanage/POD_DISCHARGE_FULL', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'DRAFT') {
this.$router.push({ path: '/commontaskmanage/POD_DISCHARGE_FULL', query: { taskPKId: data.pK_ID } })
} else if (data.tasK_TYPE === 'TRNAS_PLAN_HAS_CHANGE') {
// ROLLING_NOMINATION
this.$router.push({ path: '/commontaskmanage/draft', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'ROUTE_CUT_CHANGE') {
this.$router.push({ path: '/commontaskmanage/trnasPlan', query: { taskPKId: data.pK_ID } })
} else if (data.tasK_TYPE === 'DRAFT') {
// ROLLING_NOMINATION
this.$router.push({ path: '/commontaskmanage/cutChange', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'POD_GATEOUT_FULL') {
this.$router.push({ path: '/commontaskmanage/draft', query: { taskPKId: data.pK_ID } })
} else if (data.tasK_TYPE === 'ROUTE_CUT_CHANGE') {
// ROLLING_NOMINATION
this.$router.push({ path: '/commontaskmanage/POD_GATEOUT_FULL', query: { taskPKId: data.pkId } })
this.$router.push({ path: '/commontaskmanage/cutChange', query: { taskPKId: data.pK_ID } })
} else if (data.tasK_TYPE === 'POD_GATEOUT_FULL') {
// ROLLING_NOMINATION
this.$router.push({ path: '/commontaskmanage/POD_GATEOUT_FULL', query: { taskPKId: data.pK_ID } })
} else {
//
this.$router.push({ path: '/commontaskmanage/BookingDetails', query: { taskPKId: data.pkId } })
this.$router.push({ path: '/commontaskmanage/BookingDetails', query: { taskPKId: data.pK_ID } })
}
},
filterType(val) {
@ -1661,7 +1664,7 @@ export default {
removeFun() {
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.pkId
return item.pK_ID
})
console.log('当前选中', pkIdArr)
if (pkIdArr.length === 0) {
@ -1687,7 +1690,7 @@ export default {
submitFun() {
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.pkId
return item.pK_ID
})
console.log('当前选中', pkIdArr)
if (pkIdArr.length === 0) {
@ -1713,7 +1716,7 @@ export default {
downloadFun() {
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.pkId
return item.pK_ID
})
console.log('当前选中', pkIdArr)
if (pkIdArr.length === 0) {
@ -1756,7 +1759,7 @@ export default {
//
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.pkId
return item.pK_ID
})
if (pkIdArr.length === 0) {
this.$message.error('请选择数据')
@ -1779,7 +1782,7 @@ export default {
SendEmailFun() {
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.pkId
return item.pK_ID
})
console.log('当前选中', pkIdArr)
if (pkIdArr.length === 0) {
@ -1822,7 +1825,7 @@ export default {
laraPaperCalc() {
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.pkId
return item.pK_ID
})
if (pkIdArr.length === 0) {
this.$message.error('请选择数据')
@ -1850,7 +1853,7 @@ export default {
copyPrintFun() {
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.pkId
return item.pK_ID
})
if (pkIdArr.length === 0) {
this.$message.error('请选择数据')
@ -1890,7 +1893,7 @@ export default {
copyDownloadFun() {
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.pkId
return item.pK_ID
})
if (pkIdArr.length === 0) {
this.$message.error('请选择数据')
@ -1930,7 +1933,7 @@ export default {
printBatchFun() {
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.pkId
return item.pK_ID
})
if (pkIdArr.length === 0) {
this.$message.error('请选择数据')
@ -1964,7 +1967,7 @@ export default {
laraPaperRegistFun() {
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.pkId
return item.pK_ID
})
if (pkIdArr.length === 0) {
this.$message.error('请选择数据')
@ -1980,7 +1983,7 @@ export default {
},
taskDownloadFun(data) {
// DRAFT
this.DownloadTaskAttach(data.pkId, data.taskTitle)
this.DownloadTaskAttach(data.pK_ID, data.taskTitle)
}
// onDownloadErrClose() {
// console.log('')

@ -0,0 +1,515 @@
<template>
<div class="Main">
<a-spin :spinning="spinning">
<div class="LeftHead">
<p>
<a-icon style="color: orange;margin-right: 10px;font-size: 16px" type="slack-circle" theme="filled" />
货物运输计划已变更 {{ tableList.carrier }}
</p>
<p>时间{{ tableList.createTime }}</p>
</div>
<a-row>
<a-col :span="4">
提单号{{ tableList.billNo }}
</a-col>
<a-col :span="4">
此订舱号派生自原单号{{ tableList.origBillNo }}
</a-col>
</a-row>
<a-row>
<a-col :span="4">
订舱号{{ tableList.bookingNo }}
</a-col>
<a-col :span="4">
集装箱号{{ tableList.contaNoList }}
</a-col>
</a-row>
<a-row>
<a-col :span="20">
变更原因{{ tableList.changeReasonNotes }}
</a-col>
</a-row>
<div class="LeftHead">
<div style="font-weight: bold;">出运计划</div>
</div>
<div style="display: flex;">
<div style="width: 33%;">
<div style="font-weight: bold;font-size: 13px;">港口名,国家,码头</div>
<div
:class="{
gray: tableList.from.portList.length == 1,
red: tableList.from.portList.length > 1 && item.isRemoved,
green: tableList.from.portList.length > 1 && !item.isRemoved
}"
v-for="(item, index) in tableList.from.portList"
:key="index">
{{ item.portName }},{{ item.countryCode }},{{ item.terminalName }}</div>
</div>
<div style="width: 33%;">
<div style="font-weight: bold;font-size: 13px;">预计离港日</div>
<div
:class="{
gray: tableList.from.dateList.length == 1,
red: tableList.from.dateList.length > 1 && item.isRemoved,
green: tableList.from.dateList.length > 1 && !item.isRemoved
}"
v-for="(item, index) in tableList.from.dateList"
:key="index">
{{ item.dateVal }}</div>
</div>
<div style="width: 33%;">
<div style="font-weight: bold;font-size: 13px;">船名,航次,船旗</div>
<div
:class="{
gray: tableList.from.vesselList.length == 1,
red: tableList.from.vesselList.length > 1 && item.isRemoved,
green: tableList.from.vesselList.length > 1 && !item.isRemoved
}"
v-for="(item, index) in tableList.from.vesselList"
:key="index">
{{ item.vessel }},{{ item.voyno }},{{ item.flag }}</div>
</div>
</div>
<div class="LeftHead">
<div style="font-weight: bold;">到达计划</div>
</div>
<div style="display: flex;">
<div style="width: 33%;">
<div style="font-weight: bold;font-size: 13px;">港口名,国家,码头</div>
<div
:class="{
gray: tableList.to.portList.length == 1,
red: tableList.to.portList.length > 1 && item.isRemoved,
green: tableList.to.portList.length > 1 && !item.isRemoved
}"
v-for="(item, index) in tableList.to.portList"
:key="index">
{{ item.portName }},{{ item.countryCode }},{{ item.terminalName }}</div>
</div>
<div style="width: 33%;">
<div style="font-weight: bold;font-size: 13px;">预计到港日</div>
<div
:class="{
gray: tableList.to.dateList.length == 1,
red: tableList.to.dateList.length > 1 && item.isRemoved,
green: tableList.to.dateList.length > 1 && !item.isRemoved
}"
v-for="(item, index) in tableList.to.dateList"
:key="index">
{{ item.dateVal }}</div>
</div>
<div style="width: 33%;">
<div style="font-weight: bold;font-size: 13px;">船名,航次,船旗</div>
<div
:class="{
gray: tableList.to.vesselList.length == 1,
red: tableList.to.vesselList.length > 1 && item.isRemoved,
green: tableList.to.vesselList.length > 1 && !item.isRemoved
}"
v-for="(item, index) in tableList.to.vesselList"
:key="index">
{{ item.vessel }},{{ item.voyno }},{{ item.flag }}</div>
</div>
</div>
<a-row style="margin-top: 40px;padding-left: 120px" type="flex" :gutter="16">
<a-col>
<a-button type="primary" @click="handleCheck">
检索对应订舱
</a-button>
</a-col>
<a-col>
<a-button type="primary" @click="OpenUser">
转移任务
</a-button>
</a-col>
<a-col>
<a-button type="primary" @click="FnCompleteTask">
完成任务
</a-button>
</a-col>
<a-col>
<a-button type="danger" @click="FnCancelTask">
取消任务
</a-button>
</a-col>
<a-col>
<a-button type="primary" @click="handleSendMail">
发送邮件
</a-button>
</a-col>
</a-row>
</a-spin>
<a-modal v-model="UserVisible" title="转移任务" @ok="UserhandleOk">
<a-form>
<a-form-item label="接收人:" :label-col="formItemLayout.labelCol1" :wrapper-col="formItemLayout.wrapperCol1">
<a-select
show-search
v-model="UserId"
:default-active-first-option="false"
:show-arrow="false"
:filter-option="false"
:not-found-content="null"
@search="SearchUser">
<a-select-option v-for="item in UserList" :key="item.id" :value="item.id">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-item>
</a-form>
</a-modal>
<a-modal v-model="compareResultFlag" :footer="null">
<div v-for="(item, index) in compareResultList" :key="index">
<span> {{ item.fieldName }}{{ item.reqVal }}</span>
<span style="margin: 0 10px;">变更为</span>
<span v-html="item.mergeHtml"></span>
</div>
</a-modal>
</div>
</template>
<script>
import {
TransferTask,
CreateBookingAndSlot,
TaskTransPlanHasChange,
CompleteTask,
CancelTaskBC,
QueryBookingOrderPlan,
GetInfoByTaskIdPlan
} from '@/api/modular/main/TaskmanageList'
import { mapGetters } from 'vuex'
import { DjyCustomerSuggest, GetSysUserPage, DjyCustomerContacts } from '@/api/modular/main/BookingLedger'
export default {
data() {
return {
CustomerList: [],
CreateData: {},
UserId: '',
value: '',
type: '',
customerByList: [],
compareResultFlag: false,
formItemLayout: {
labelCol1: { span: 6 },
wrapperCol1: { span: 18 },
labelCol2: { span: 8 },
wrapperCol2: { span: 16 },
labelCol3: { span: 4 },
wrapperCol3: { span: 20 },
labelCol4: { span: 8 },
wrapperCol4: { span: 16 },
labelCol5: { span: 14 },
wrapperCol5: { span: 10 },
labelCol6: { span: 8 },
wrapperCol6: { span: 16 }
},
visible: false,
UserVisible: false,
isPdf: '',
compareResultList: [],
href: '',
carrier: '',
time: '',
spinning: false,
tableList: {
from: {
portList: [],
vesselList: [],
dateList: []
},
to: {
portList: [],
vesselList: [],
dateList: []
}
},
bookingServiceItem: [],
pdfUrl: '',
UserList: [],
fileCategory: 'BC_MODIFY'
}
},
computed: {
...mapGetters([
'userInfo'
])
},
watch: {
'$route': {
immediate: true,
handler(newValue, oldValue) {
if (newValue.path === '/commontaskmanage/trnasPlan') {
this.getList()
}
}
}
},
mounted() {
this.getList()
},
methods: {
SearchCustomer(e) {
DjyCustomerSuggest({ keyword: e, type: 'consignor' }).then(res => {
this.CustomerList = res.data.rows
})
},
OpenUser() {
this.UserId = ''
this.UserVisible = true
},
ChangeCustomer(e) {
this.CustomerList.forEach(item => {
if (item.id == e) {
this.CreateData.customerName = item.shortName
}
})
DjyCustomerContacts({ customerId: e }).then(res => {
if (res.success) {
this.customerByList = res.data
} else {
this.$message.error(res.message)
}
})
},
ChangeCustomerList(e) {
this.customerByList.forEach(item => {
if (item.id == e) {
this.CreateData.customerContactName = item.name
}
})
},
handleSendMail() {
this.spinning = true
TaskTransPlanHasChange({ taskPKId: this.$route.query.taskPKId }).then(res => {
if (res.data.succ) {
this.$message.success(res.data.msg)
} else {
this.$message.error(res.data.msg)
}
this.spinning = false
})
},
FnCancelTask() {
const ApiData = {
taskPKId: this.$route.query.taskPKId
}
CancelTaskBC(ApiData).then(res => {
if (res.data.succ) {
this.$message.success(res.data.msg)
} else {
this.$message.error(res.data.msg)
}
})
},
SearchUser(e) {
GetSysUserPage({ name: e }).then(res => {
this.UserList = res.data
})
},
ChangeUser(e, Tname) {
this.UserList.forEach(item => {
if (item.id == e) {
console.log(e)
this.CreateData[Tname] = item.name
}
})
},
saveService(data) {
data.isYield = !data.isYield
},
FnCompleteTask() {
const ApiData = [this.$route.query.taskPKId]
CompleteTask(ApiData).then(res => {
if (res.data.succ) {
this.$message.success(res.data.msg)
} else {
this.$message.error(res.data.msg)
}
})
},
getList() {
this.spinning = true
const ApiData = {
taskPKId: this.$route.query.taskPKId
}
GetInfoByTaskIdPlan(ApiData).then(res => {
if (res.success) {
if (res.data.contaNoList.length > 0) {
res.data.contaNoList = res.data.contaNoList.join(',')
}
this.tableList = res.data
this.$forceUpdate()
} else {
this.$message.error(res.success)
}
this.spinning = false
})
},
handleOk() {
const projectList = []
this.bookingServiceItem.forEach(item => {
if (item.isYield) {
projectList.push(item.serviceProjectCode)
}
})
const ApiData = {
bcTaskId: this.$route.query.taskPKId,
// bcPkId: '',
// slotId: '',
projectList,
...this.CreateData
}
console.log(ApiData)
CreateBookingAndSlot(ApiData).then(res => {
if (res.data.succ) {
this.visible = false
this.$message.success(res.data.msg)
} else {
this.$message.error(res.data.msg)
}
})
},
handleCheck() {
this.spinning = true
QueryBookingOrderPlan({ taskPKId: this.$route.query.taskPKId }).then(res => {
this.spinning = false
this.$message.success('检索成功')
this.getList()
})
},
UserhandleOk() {
const ApiData = {
taskPKId: this.$route.query.taskPKId,
userId: this.UserId
}
TransferTask(ApiData).then(res => {
if (res.data.succ) {
this.UserVisible = false
this.$message.success(res.data.msg)
} else {
this.$message.error(res.data.msg)
}
})
this.UserVisible = false
}
}
}
</script>
<style lang="less" scoped>
@import url('../../BookingLedger/detail/style/rightContent.less');
.point {
height: 10px;
width: 10px;
border-radius: 50%;
margin: 0 auto;
background: green;
}
.modaltitle {
border-bottom: 1px solid #000;
width: 5rem;
padding: 0.2rem 0.5rem;
margin-top: 1rem;
}
.icon-chuanfanguanli-chuanfanshenqing {
color: '#02A7F0';
}
.Main {
width: 100%;
background: white;
height: 100vh;
padding: 0 20px;
color: black;
.LeftHead {
width: 100%;
display: flex;
justify-content: space-between;
padding: 8px;
margin-bottom: 16px;
border-bottom: 1px solid #000;
p {
margin: 0;
&:nth-child(1) {
font-weight: bold;
}
}
}
.title {
margin-top: 10px;
}
.CsSee {
color: #02a7f3;
text-decoration: underline;
cursor: pointer;
}
.LeftBottomBox {
.unitBox {
width: 100%;
display: flex;
.unit {
text-align: center;
line-height: 30px;
height: 30px;
// background: rgba(255, 255, 128, 1);
// border: 1px solid rgba(170, 10, 0, 1);
border-radius: 3px;
box-shadow: none;
// font-weight: bold;
// color: #62a10398;
margin: 0.5rem;
padding: 0 0.3rem;
.iconfont {
margin-right: 0.3rem;
}
}
}
}
.rightBox {
// margin-top: 37px;
.rightBoxRadio {
margin-bottom: 15px;
}
}
/deep/.Editing {
.ant-form-item {
margin: 0 !important;
line-height: 1.5 !important;
.ant-form-item-label {
line-height: 1.5 !important;
}
.ant-form-item-control {
line-height: 1.5 !important;
}
}
}
}
.gray {
color: rgb(157 157 157);
}
.red {
color: red;
text-decoration: line-through;
}
.green {
color: rgb(40, 202, 40);
}
</style>

@ -50,7 +50,17 @@
placeholder="请选择客户参数名称"
v-decorator="['itemCode', { rules: [{ required: true, message: '请选择客户参数名称!' }] }]"
:disabled="ItemCodeDisabled"
v-else>
v-if="ItemData.length > 0 && !multiSelect">
<a-select-option v-for="item in ItemData" :key="item.id" :value="item.itemCode">
{{ item.itemName }}
</a-select-option>
</a-select>
<a-select
placeholder="请选择客户参数名称"
mode="multiple"
v-decorator="['itemCode', { rules: [{ required: true, message: '请选择客户参数名称!' }] }]"
:disabled="ItemCodeDisabled"
v-if="ItemData.length > 0 && multiSelect">
<a-select-option v-for="item in ItemData" :key="item.id" :value="item.itemCode">
{{ item.itemName }}
</a-select-option>
@ -111,6 +121,7 @@ export default {
form: this.$form.createForm(this),
TenantData: [],
ItemData: [],
multiSelect: false,
ItemCodeDisabled: false,
YWData: []
}
@ -130,11 +141,18 @@ export default {
return Rdata
},
FnChangeTypeCode(e) {
this.form.setFieldsValue({
itemCode: ''
})
if (e) {
this.ItemCodeDisabled = false
this.WTypeData.forEach(item => {
if (item.paraCode === e) {
this.multiSelect = item.multiSelect
}
})
if (!this.multiSelect) {
this.form.setFieldsValue({
itemCode: ''
})
}
ParamItemList({ paraCode: e }).then(res => {
this.ItemData = res.data
})
@ -147,17 +165,20 @@ export default {
})
}
},
handleChange(val) {
console.log(val)
},
//
add(data) {
this.visible = true
DjyCustomerSuggest().then(res => {
this.TenantData = res.data.rows
if (data) {
this.form.setFieldsValue({
customerId: data
})
this.$forceUpdate()
}
this.form.setFieldsValue({
customerId: data
})
this.$forceUpdate()
}
})
ParamList().then(res => {
this.WTypeData = res.data
@ -173,11 +194,11 @@ export default {
this.confirmLoading = true
validateFields((errors, values) => {
if (!errors) {
for (const key in values) {
if (typeof values[key] === 'object' && !(values[key] === null)) {
values[key] = JSON.stringify(values[key])
}
}
// for (const key in values) {
// if (typeof values[key] === 'object' && !(values[key] === null)) {
// values[key] = JSON.stringify(values[key])
// }
// }
this.TenantData.forEach(item => {
if (item.id == values.customerId) {
values.customerName = item.shortName
@ -199,6 +220,13 @@ export default {
if (arr.length === 0) {
values.itemName = values.itemCode
}
if (Array.isArray(values.itemCode)) {
values.itemCode = values.itemCode.join(',')
}
if (Array.isArray(values.itemName)) {
values.itemName = values.itemName.join(',')
}
console.log(values)
saveParamValue(values)
.then(res => {
if (res.success) {

@ -8,72 +8,85 @@
@cancel="handleCancel">
<a-spin :spinning="confirmLoading">
<a-form :form="form">
<a-row>
<a-col :span="8">
<a-form-item label="客户" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-select
show-search
v-decorator="['customerId', { rules: [{ required: true, message: '请选择客户!' }] }]"
placeholder="请选择客户"
style="width: 200px"
:default-active-first-option="false"
:show-arrow="false"
:filter-option="false"
:not-found-content="null"
@search="tenantIdSearch">
<a-select-option v-for="item in TenantData" :key="item.id" :value="item.id">
{{ item.shortName }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="客户参数类别" :labelCol="{ sm: { span: 8 } }" :wrapperCol="{ sm: { span: 15 } }" has-feedback>
<a-select
placeholder="请选择客户参数类别"
v-decorator="['paraCode', { rules: [{ required: true, message: '请选择客户参数类别!' }] }]"
@change="FnChangeTypeCode">
<a-select-option v-for="(item) in WTypeData" :key="item.id" :value="item.paraCode">
{{ item.paraName }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="客户参数名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback disabled>
<a-spin :spinning="ItemCodeLoad">
<a-input
placeholder="请输入客户参数名称"
v-decorator="['itemCode', { rules: [{ required: true, message: '请输入客户参数名称!' }] }]"
:disabled="ItemCodeDisabled"
v-if="ItemData.length == 0" />
<a-spin :spinning="loading">
<a-row>
<a-col :span="8">
<a-form-item label="客户" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-select
placeholder="请选择客户参数名称"
v-decorator="['itemCode', { rules: [{ required: true, message: '请选择客户参数名称!' }] }]"
:disabled="ItemCodeDisabled"
v-else>
<a-select-option v-for="item in ItemData" :key="item.id" :value="item.itemCode">
{{ item.itemName }}
show-search
v-decorator="['customerId', { rules: [{ required: true, message: '请选择客户!' }] }]"
placeholder="请选择客户"
style="width: 200px"
:default-active-first-option="false"
:show-arrow="false"
:filter-option="false"
:not-found-content="null"
@search="tenantIdSearch">
<a-select-option v-for="item in TenantData" :key="item.id" :value="item.id">
{{ item.shortName }}
</a-select-option>
</a-select>
</a-spin>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="排序" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-input-number style="width: 198px;" v-decorator="['sort']" />
</a-form-item>
</a-col>
<a-col :span="16">
<a-form-item
label="备注"
:labelCol="{ xs: { span: 24 }, sm: { span: 4 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 19 } }"
has-feedback>
<a-textarea :rows="4" placeholder="请输入备注" v-decorator="['remark']" />
</a-form-item>
</a-col>
</a-row>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="客户参数类别" :labelCol="{ sm: { span: 8 } }" :wrapperCol="{ sm: { span: 15 } }" has-feedback>
<a-select
placeholder="请选择客户参数类别"
v-decorator="['paraCode', { rules: [{ required: true, message: '请选择客户参数类别!' }] }]"
@change="FnChangeTypeCode">
<a-select-option v-for="(item) in WTypeData" :key="item.id" :value="item.paraCode">
{{ item.paraName }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="客户参数名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback disabled>
<a-spin :spinning="ItemCodeLoad">
<a-input
placeholder="请输入客户参数名称"
v-decorator="['itemCode', { rules: [{ required: true, message: '请输入客户参数名称!' }] }]"
:disabled="ItemCodeDisabled"
v-if="ItemData.length == 0" />
<a-select
placeholder="请选择客户参数名称"
v-decorator="['itemCode', { rules: [{ required: true, message: '请选择客户参数名称!' }] }]"
:disabled="ItemCodeDisabled"
v-if="ItemData.length > 0 && !multiSelect">
<a-select-option v-for="item in ItemData" :key="item.id" :value="item.itemCode">
{{ item.itemName }}
</a-select-option>
</a-select>
<a-select
placeholder="请选择客户参数名称"
mode="multiple"
v-decorator="['itemCode', { rules: [{ required: true, message: '请选择客户参数名称!' }] }]"
:disabled="ItemCodeDisabled"
v-if="ItemData.length > 0 && multiSelect">
<a-select-option v-for="item in ItemData" :key="item.id" :value="item.itemCode">
{{ item.itemName }}
</a-select-option>
</a-select>
</a-spin>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="排序" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-input-number style="width: 198px;" v-decorator="['sort']" />
</a-form-item>
</a-col>
<a-col :span="16">
<a-form-item
label="备注"
:labelCol="{ xs: { span: 24 }, sm: { span: 4 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 19 } }"
has-feedback>
<a-textarea :rows="4" placeholder="请输入备注" v-decorator="['remark']" />
</a-form-item>
</a-col>
</a-row>
</a-spin>
</a-form>
</a-spin>
</a-modal>
@ -107,6 +120,7 @@ export default {
xs: { span: 24 },
sm: { span: 21 }
},
loading:false,
typeData: [],
visible: false,
ItemCodeLoad: false,
@ -114,6 +128,7 @@ export default {
form: this.$form.createForm(this),
data: {},
TenantData: [],
multiSelect: false,
ItemData: [],
ItemCodeDisabled: true,
YWData: []
@ -133,15 +148,20 @@ export default {
return Rdata
},
FnChangeTypeCode(e) {
this.form.setFieldsValue({
itemCode: ''
})
if (e) {
this.ItemCodeDisabled = false
this.ItemCodeLoad = true
this.WTypeData.forEach(item => {
if (item.paraCode === e) {
this.multiSelect = item.multiSelect
}
})
if (!this.multiSelect) {
this.form.setFieldsValue({
itemCode: ''
})
}
ParamItemList({ paraCode: e }).then(res => {
this.ItemData = res.data
this.ItemCodeLoad = false
})
}
},
@ -155,25 +175,39 @@ export default {
//
edit(record) {
console.log(record)
this.data = record
const editRow = JSON.parse(JSON.stringify(record))
this.data = editRow
this.visible = true
this.FnChangeTypeCode(record.paraCode)
DjyCustomerSuggest().then(res => {
this.TenantData = res.data.rows
})
ParamList().then(res => {
this.WTypeData = res.data
})
setTimeout(() => {
this.FnChangeTypeCode(editRow.paraCode)
const request1 = DjyCustomerSuggest();
const request2 = ParamList();
this.loading = true
Promise.all([request1, request2]).then(([res1, res2]) => {
if (res1) {
this.TenantData = res1.data.rows
}
if (res2) {
this.WTypeData = res2.data
res2.data.forEach(item => {
if (item.paraCode === editRow.paraCode) {
this.multiSelect = item.multiSelect
if (this.multiSelect) {
editRow.itemCode = editRow.itemCode.split(',')
editRow.itemName = editRow.itemName.split(',')
}
}
})
}
this.loading = false
this.form.setFieldsValue({
paraCode: record.paraCode,
itemCode: record.itemCode,
itemName: record.itemName,
remark: record.remark,
sort: record.sort,
customerId: record.customerId
paraCode: editRow.paraCode,
itemCode: editRow.itemCode,
itemName: editRow.itemName,
remark: editRow.remark,
sort: editRow.sort,
customerId: editRow.customerId
})
}, 100)
})
},
handleSubmit() {
const {
@ -182,11 +216,11 @@ export default {
this.confirmLoading = true
validateFields((errors, values) => {
if (!errors) {
for (const key in values) {
if (typeof values[key] === 'object' && !(values[key] === null)) {
values[key] = JSON.stringify(values[key])
}
}
// for (const key in values) {
// if (typeof values[key] === 'object' && !(values[key] === null)) {
// values[key] = JSON.stringify(values[key])
// }
// }
values.id = this.data.id
this.TenantData.forEach(item => {
if (item.id == values.customerId) {
@ -209,6 +243,12 @@ export default {
if (arr.length === 0) {
values.itemName = values.itemCode
}
if (Array.isArray(values.itemCode)) {
values.itemCode = values.itemCode.join(',')
}
if (Array.isArray(values.itemName)) {
values.itemName = values.itemName.join(',')
}
saveParamValue(values)
.then(res => {
if (res.success) {

@ -7,7 +7,7 @@
</div>
<a-form-model :model="form" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-row>
<a-col :span="8">
<a-col :span="6">
<a-form-model-item class="strong" label="客户名称">
<a-select
v-model="form.custCode"
@ -26,7 +26,7 @@
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-col :span="6">
<a-form-model-item class="strong" label="用户名">
<a-select size="small" v-model="form.userId" style="width: 100%" @change="handleChangeUser">
<a-spin v-if="fetching" slot="notFoundContent" size="small" />
@ -36,14 +36,14 @@
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-col :span="6">
<a-form-model-item class="strong" label="模板名称">
<a-input size="small" v-model="form.templateName" />
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="8">
<a-row v-if="form.carrierId!='EMC'">
<a-col :span="6">
<a-form-model-item class="strong" label="船公司">
<a-select
v-model="form.carrierId"
@ -59,7 +59,7 @@
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-col :span="6">
<a-form-model-item class="strong" label="模板类型">
<a-select v-model="form.category" style="width: 100%" show-search size="small">
<a-select-option value="BOOKING">订舱</a-select-option>
@ -68,183 +68,356 @@
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-col :span="6">
<a-form-model-item class="strong" label="是否启用模板">
<a-checkbox style="margin-left: 20px;" v-model="form.isEnable"></a-checkbox>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="8">
<a-row v-if="form.carrierId=='EMC'">
<a-col :span="6">
<a-form-model-item class="strong" label="船公司">
<a-select
v-model="form.carrierId"
style="width: 100%"
show-search
:filter-option="filterOption"
size="small"
@change="handleChangeCarrier">
<a-spin v-if="fetching" slot="notFoundContent" size="small" />
<a-select-option v-for="item in carrierList" :key="item.code">
{{ item.cnName }} / {{ item.code }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="6">
<a-form-model-item class="strong" label="模板类型">
<a-select v-model="form.category" style="width: 100%" show-search size="small">
<a-select-option value="BOOKING">订舱</a-select-option>
<a-select-option value="DRAFT">草稿</a-select-option>
<a-select-option value="TEMPLATE">模板</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="6">
<a-form-model-item class="strong" label="是否接受订舱通知">
<a-checkbox style="margin-left: 20px;" v-model="form.notifyNext"></a-checkbox>
</a-form-model-item>
</a-col>
<a-col :span="6">
<a-form-model-item class="strong" label="是否启用模板">
<a-checkbox style="margin-left: 20px;" v-model="form.isEnable"></a-checkbox>
</a-form-model-item>
</a-col>
</a-row>
<a-row v-if="form.carrierId!='EMC'">
<a-col :span="6">
<a-form-model-item class="strong" label="合约号">
<a-input size="small" v-model="form.contractNO" />
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-col :span="6">
<a-form-model-item class="strong" label="订舱账号">
<a-input size="small" v-model="form.bookingAccount" />
</a-form-model-item>
</a-col>
</a-row>
<div style="margin: 20px 0;margin-left: 10px;">
<span style="font-size: 14px;font-weight: bold;color: black;">船期匹配优先级</span>
<span>(船舶路径默认直达优先航程默认最短优先离港日期默认最早优先预抵日期默认最早优先)</span>
</div>
<div style="padding-left: 30px;">
<draggable style="display: flex;" v-model="priorityList" animation="300">
<div v-for="(item, index) in priorityList" :key="index" class="box-item">
{{ item.name }} <a-checkbox style="margin-left: 10px" v-model="item.checked"></a-checkbox>
</div>
</draggable>
</div>
<a-row>
<a-col :span="8">
<a-form-model-item class="strong" label="起运时间">
<a-input
placeholder="当前加几天"
style="width: 100%"
size="small"
v-model="form.startDay" />
</a-form-model-item>
<a-row v-if="form.carrierId=='EMC'">
<a-col :span="6">
<a-form-model-item class="strong" label="合约">
<a-select allowClear v-model="form.contractType" style="width: 30%;margin-right: 5%" show-search size="small">
<a-select-option value="SC">SC</a-select-option>
<a-select-option value="HT">HT</a-select-option>
<a-select-option value="LT">LT</a-select-option>
<a-select-option value="SQ">SQ</a-select-option>
<a-select-option value="RS">RS</a-select-option>
<a-select-option value="LM">LM</a-select-option>
</a-select>
<a-input size="small" style="width: 60%" v-model="form.contractNO" placeholder="约号">
</a-input></a-form-model-item>
</a-col>
<a-col :span="8">
<a-form-model-item class="strong" label="时间范围">
<a-select allowClear v-model="form.endWeek" style="width: 100%" show-search size="small">
<a-select-option :value="1">及后一周</a-select-option>
<a-select-option :value="2">及后二周</a-select-option>
<a-select-option :value="3">及后三周</a-select-option>
<a-select-option :value="4">及后四周</a-select-option>
<a-select-option :value="5">及后五周</a-select-option>
<a-select-option :value="6">及后六周</a-select-option>
<a-select-option :value="7">及后七周</a-select-option>
<a-select-option :value="8">及后八周</a-select-option>
<a-col :span="6">
<a-form-model-item class="strong" label="签约方">
<a-select allowClear v-model="form.signType" style="width: 100%;" show-search size="small">
<a-select-option value="shipper">shipper</a-select-option>
<a-select-option value="party">party</a-select-option>
<a-select-option value="forwarder">forwarder</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="6">
<a-form-model-item class="strong" label="订舱网点">
<a-input size="small" v-model="form.cancelAddr" />
</a-form-model-item>
</a-col>
<a-col :span="6">
<a-form-model-item class="strong" label="提单签发地">
<a-input size="small" v-model="form.billSignLoc" />
</a-form-model-item>
</a-col>
</a-row>
<a-row style="margin-top: 20px;">
<a-row v-if="form.carrierId=='EMC'">
<a-col :span="6">
<a-form-model-item class="strong" label="订舱账号">
<a-input size="small" v-model="form.bookingAccount" placeholder="订舱账号" />
</a-form-model-item>
</a-col>
<a-col :span="6">
<a-form-model-item class="strong" label="内参号">
<a-input size="small" v-model="form.customerInnerCode" placeholder="内参号" />
</a-form-model-item>
</a-col>
<a-col :span="6">
<a-form-model-item class="strong" label="提单数量">
<a-input size="small" v-model="form.billCount" placeholder="不填默认1" />
</a-form-model-item>
</a-col>
</a-row>
<div v-if="form.carrierId!='EMC'">
<div style="margin: 20px 0;margin-left: 10px;">
<span style="font-size: 14px;font-weight: bold;color: black;">船期匹配优先级</span>
<span>(船舶路径默认直达优先航程默认最短优先离港日期默认最早优先预抵日期默认最早优先)</span>
</div>
<div style="padding-left: 30px;" >
<draggable style="display: flex;" v-model="priorityList" animation="300">
<div v-for="(item, index) in priorityList" :key="index" class="box-item">
{{ item.name }} <a-checkbox style="margin-left: 10px" v-model="item.checked"></a-checkbox>
</div>
</draggable>
</div>
<a-row >
<a-col :span="8">
<a-form-model-item class="strong" label="起运时间">
<a-input
placeholder="当前加几天"
style="width: 100%"
size="small"
v-model="form.startDay" />
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-form-model-item class="strong" label="时间范围">
<a-select allowClear v-model="form.endWeek" style="width: 100%" show-search size="small">
<a-select-option :value="1">及后一周</a-select-option>
<a-select-option :value="2">及后二周</a-select-option>
<a-select-option :value="3">及后三周</a-select-option>
<a-select-option :value="4">及后四周</a-select-option>
<a-select-option :value="5">及后五周</a-select-option>
<a-select-option :value="6">及后六周</a-select-option>
<a-select-option :value="7">及后七周</a-select-option>
<a-select-option :value="8">及后八周</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row style="margin-top: 20px;">
<a-col :span="12" >
<div style="padding-left: 80px">
<span style="font-weight: bold;font-size: 15px;margin-right: 10px;color: black">发货人</span>
<span style="color: red">注意模板生效时此处填写内容默认以此内容订舱没填以订单中内容订舱</span>
</div>
<a-form-model-item label="发货人名称" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input size="small" v-model="form.shipperName" />
</a-form-model-item>
<a-form-model-item label="发货人地址" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input size="small" v-model="form.shipperAddress" />
</a-form-model-item>
<a-form-model-item label="地理信息" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input placeholder="国家" style="width: 19%;" size="small" v-model="form.shipperCountry" />
<a-input placeholder="省份" style="width: 19%;margin: 0 1%;" size="small" v-model="form.shipperProvince" />
<a-input placeholder="城市" style="width: 19%;" size="small" v-model="form.shipperCity" />
<a-input placeholder="县/区" style="width: 19%;margin: 0 1%;" size="small" v-model="form.shipperCounty" />
<a-input placeholder="邮编" style="width: 19%;" size="small" v-model="form.shipperPostCode" />
</a-form-model-item>
<a-form-model-item label="联系人信息" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input placeholder="姓" style="width: 19%;" size="small" v-model="form.shipperFirstName" />
<a-input placeholder="名" style="width: 19%;margin: 0 1%;" size="small" v-model="form.shipperLastName" />
<a-input placeholder="区号" style="width: 19%;" size="small" v-model="form.shipperPhoneCountryCode" />
<a-input placeholder="电话号" style="width: 19%;margin: 0 1%;" size="small" v-model="form.shipperPhone" />
<a-input placeholder="分机号" style="width: 19%;" size="small" v-model="form.shipperPhoneExtension" />
</a-form-model-item>
</a-col>
<a-col :span="12">
<div style="padding-left: 80px">
<span style="font-weight: bold;font-size: 15px;margin-right: 10px;color: black">订舱公司</span>
<span style="color: red">注意模板生效时此处填写内容默认以此内容订舱没填以订单中内容订舱</span>
</div>
<a-form-model-item label="订舱人名称" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input size="small" v-model="form.bookingName" />
</a-form-model-item>
<a-form-model-item label="订舱人地址" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input size="small" v-model="form.bookingAddress" />
</a-form-model-item>
<a-form-model-item label="地理信息" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input placeholder="国家" style="width: 19%;" size="small" v-model="form.bookingCountry" />
<a-input placeholder="省份" style="width: 19%;margin: 0 1%;" size="small" v-model="form.bookingProvince" />
<a-input placeholder="城市" style="width: 19%;" size="small" v-model="form.bookingCity" />
<a-input placeholder="县/区" style="width: 19%;margin: 0 1%;" size="small" v-model="form.bookingCounty" />
<a-input placeholder="邮编" style="width: 19%;" size="small" v-model="form.bookingPostCode" />
</a-form-model-item>
<a-form-model-item label="联系人信息" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input placeholder="姓" style="width: 19%;" size="small" v-model="form.bookingFirstName" />
<a-input placeholder="名" style="width: 19%;margin: 0 1%;" size="small" v-model="form.bookingLastName" />
<a-input placeholder="区号" style="width: 19%;" size="small" v-model="form.bookingPhoneCountryCode" />
<a-input placeholder="电话号码" style="width: 19%;margin: 0 1%;" size="small" v-model="form.bookingPhone" />
<a-input placeholder="分机号" style="width: 19%;" size="small" v-model="form.bookingPhoneExtension " />
</a-form-model-item>
</a-col>
</a-row>
<a-row style="margin-top: 20px;">
<a-col :span="12">
<div style="padding-left: 80px">
<span style="font-weight: bold;font-size: 15px;margin-right: 10px;color: black">收货人</span>
<span style="color: red">注意模板生效时此处填写内容默认以此内容订舱没填以订单中内容订舱</span>
</div>
<a-form-model-item label="收货人名称" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input size="small" v-model="form.consigneeName" />
</a-form-model-item>
<a-form-model-item label="收货人地址" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input size="small" v-model="form.consigneeAddress" />
</a-form-model-item>
<a-form-model-item label="地理信息" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input placeholder="国家" style="width: 19%;" size="small" v-model="form.consigneeCountry" />
<a-input
placeholder="省份"
style="width: 19%;margin: 0 1%;"
size="small"
v-model="form.consigneeProvince" />
<a-input placeholder="城市" style="width: 19%;" size="small" v-model="form.consigneeCity" />
<a-input placeholder="县/区" style="width: 19%;margin: 0 1%;" size="small" v-model="form.consigneeCounty" />
<a-input placeholder="邮编" style="width: 19%;" size="small" v-model="form.consigneePostCode" />
</a-form-model-item>
<a-form-model-item label="联系人信息" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input placeholder="姓" style="width: 19%;" size="small" v-model="form.consigneeFirstName" />
<a-input placeholder="名" style="width: 19%;margin: 0 1%;" size="small" v-model="form.consigneeLastName" />
<a-input placeholder="国家区号" style="width: 19%;" size="small" v-model="form.consigneePhoneCountryCode" />
<a-input placeholder="区号" style="width: 19%;margin: 0 1%;" size="small" v-model="form.consigneePhoneCode" />
<a-input placeholder="分机号" style="width: 19%;" size="small" v-model="form.consigneePhoneExtension" />
</a-form-model-item>
</a-col>
<a-col :span="12">
<div style="padding-left: 80px">
<span style="font-weight: bold;font-size: 15px;margin-right: 10px;color: black">通知人</span>
<span style="color: red">注意模板生效时此处填写内容默认以此内容订舱没填以订单中内容订舱</span>
</div>
<a-form-model-item label="通知人名称" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input size="small" v-model="form.notifypartName" />
</a-form-model-item>
<a-form-model-item label="通知人地址" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input size="small" v-model="form.notifypartAddress" />
</a-form-model-item>
<a-form-model-item label="地理信息" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input placeholder="国家" style="width: 19%;" size="small" v-model="form.notifypartCountry" />
<a-input
placeholder="省份"
style="width: 19%;margin: 0 1%;"
size="small"
v-model="form.notifypartProvince" />
<a-input placeholder="城市" style="width: 19%;" size="small" v-model="form.notifypartCity" />
<a-input
placeholder="县/区"
style="width: 19%;margin: 0 1%;"
size="small"
v-model="form.notifypartCounty" />
<a-input placeholder="邮编" style="width: 19%;" size="small" v-model="form.notifypartPostCode" />
</a-form-model-item>
<a-form-model-item label="联系人信息" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input placeholder="姓" style="width: 19%;" size="small" v-model="form.notifypartFirstName" />
<a-input
placeholder="名"
style="width: 19%;margin: 0 1%;"
size="small"
v-model="form.notifypartLastName" />
<a-input placeholder="区号" style="width: 19%;" size="small" v-model="form.notifypartPhoneCountryCode" />
<a-input placeholder="电话号码" style="width: 19%;margin: 0 1%;" size="small" v-model="form.notifypartPhone" />
<a-input placeholder="分机号" style="width: 19%;" size="small" v-model="form.notifypartPhoneExtension" />
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item :label-col="{span:4}" :wrapper-col="{span:18}" class="strong" label="拖车公司">
<a-input
size="small"
placeholder="若勾选进一步通知,此项内容不生效"
style="width: 77%;margin-right: 5px;"
v-model="form.truckCompany" />
<a-checkbox v-model="form.notifyNext"></a-checkbox>
</a-form-model-item>
</a-col>
</a-row>
</div>
<a-row style="margin-top: 20px;" v-if="form.carrierId=='EMC'" >
<a-col :span="12">
<div style="padding-left: 80px">
<span style="font-weight: bold;font-size: 15px;margin-right: 10px;color: black">发货人</span>
<span style="color: red">注意模板生效时此处填写内容默认以此内容订舱没填以订单中内容订舱</span>
</div>
<a-form-model-item label="发货人名称">
<a-form-model-item label="发货人名称" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input size="small" v-model="form.shipperName" />
</a-form-model-item>
<a-form-model-item label="发货人地址">
<a-input size="small" v-model="form.shipperAddress" />
</a-form-model-item>
<a-form-model-item label="地理信息">
<a-input placeholder="国家" style="width: 19%;" size="small" v-model="form.shipperCountry" />
<a-input placeholder="省份" style="width: 19%;margin: 0 1%;" size="small" v-model="form.shipperProvince" />
<a-input placeholder="城市" style="width: 19%;" size="small" v-model="form.shipperCity" />
<a-input placeholder="县/区" style="width: 19%;margin: 0 1%;" size="small" v-model="form.shipperCounty" />
<a-input placeholder="邮编" style="width: 19%;" size="small" v-model="form.shipperPostCode" />
<a-form-model-item label="联系人信息" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-select allowClear v-model="form.shipperSex" style="width: 13%;" placeholder="性别" size="small">
<a-select-option value="男"></a-select-option>
<a-select-option value="女"></a-select-option>
</a-select>
<a-input placeholder="姓" style="width: 13%;margin: 0 1%;" size="small" v-model="form.shipperFirstName" />
<a-input placeholder="名" style="width: 13%;" size="small" v-model="form.shipperLastName" />
<a-input placeholder="国家区号" style="width: 13%;margin: 0 1%;" size="small" v-model="form.shipperPhoneCountryCode" />
<a-input placeholder="城市区号" style="width: 13%;" size="small" v-model="form.shipperPhoneCode" />
<a-input placeholder="电话" style="width: 13%;margin: 0 1%;" size="small" v-model="form.shipperPhone" />
<a-input placeholder="分机号" style="width: 16%;" size="small" v-model="form.shipperPhoneExtension" />
</a-form-model-item>
<a-form-model-item label="联系人信息">
<a-input placeholder="姓" style="width: 19%;" size="small" v-model="form.shipperFirstName" />
<a-input placeholder="名" style="width: 19%;margin: 0 1%;" size="small" v-model="form.shipperLastName" />
<a-input placeholder="国家区号" style="width: 19%;" size="small" v-model="form.shipperPhoneCountryCode" />
<a-input placeholder="省市区号" style="width: 19%;margin: 0 1%;" size="small" v-model="form.shipperPhoneCode" />
<a-input placeholder="电话号码" style="width: 19%;" size="small" v-model="form.shipperPhone" />
<a-form-model-item label="内参号码" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input size="small" v-model="form.shipperInnerCode" />
</a-form-model-item>
</a-col>
<a-col :span="12">
<div style="padding-left: 80px">
<span style="font-weight: bold;font-size: 15px;margin-right: 10px;color: black">订舱公司</span>
<span style="font-weight: bold;font-size: 15px;margin-right: 10px;color: black">货代公司</span>
<span style="color: red">注意模板生效时此处填写内容默认以此内容订舱没填以订单中内容订舱</span>
</div>
<a-form-model-item label="订舱人名称">
<a-form-model-item label="订舱人名称" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input size="small" v-model="form.bookingName" />
</a-form-model-item>
<a-form-model-item label="订舱人地址">
<a-input size="small" v-model="form.bookingAddress" />
</a-form-model-item>
<a-form-model-item label="地理信息">
<a-input placeholder="国家" style="width: 19%;" size="small" v-model="form.bookingCountry" />
<a-input placeholder="省份" style="width: 19%;margin: 0 1%;" size="small" v-model="form.bookingProvince" />
<a-input placeholder="城市" style="width: 19%;" size="small" v-model="form.bookingCity" />
<a-input placeholder="县/区" style="width: 19%;margin: 0 1%;" size="small" v-model="form.bookingCounty" />
<a-input placeholder="邮编" style="width: 19%;" size="small" v-model="form.bookingPostCode" />
<a-form-model-item label="联系人信息" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-select allowClear v-model="form.bookingSex" style="width: 13%;" placeholder="性别" size="small">
<a-select-option value="男"></a-select-option>
<a-select-option value="女"></a-select-option>
</a-select>
<a-input placeholder="姓" style="width: 13%;margin: 0 1%" size="small" v-model="form.bookingFirstName" />
<a-input placeholder="名" style="width: 13%;" size="small" v-model="form.bookingLastName" />
<a-input placeholder="国家区号" style="width: 13%;margin: 0 1%" size="small" v-model="form.bookingPhoneCountryCode" />
<a-input placeholder="城市区号" style="width: 13%;" size="small" v-model="form.bookingPhoneCode" />
<a-input placeholder="电话号码" style="width: 13%;margin: 0 1%;" size="small" v-model="form.bookingPhone" />
<a-input placeholder="分机号" style="width: 16%;" size="small" v-model="form.bookingPhoneExtension " />
</a-form-model-item>
<a-form-model-item label="联系人信息">
<a-input placeholder="姓" style="width: 19%;" size="small" v-model="form.bookingFirstName" />
<a-input placeholder="名" style="width: 19%;margin: 0 1%;" size="small" v-model="form.bookingLastName" />
<a-input placeholder="国家区号" style="width: 19%;" size="small" v-model="form.bookingPhoneCountryCode" />
<a-input placeholder="省市区号" style="width: 19%;margin: 0 1%;" size="small" v-model="form.bookingPhoneCode" />
<a-input placeholder="电话号码" style="width: 19%;" size="small" v-model="form.bookingPhone" />
<a-form-model-item label="内参号码" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input size="small" v-model="form.bookingInnerCode" />
</a-form-model-item>
</a-col>
</a-row>
<a-row style="margin-top: 20px;">
<a-row style="margin-top: 20px;" v-if="form.carrierId=='EMC'">
<a-col :span="12">
<div style="padding-left: 80px">
<span style="font-weight: bold;font-size: 15px;margin-right: 10px;color: black">收货人</span>
<span style="color: red">注意模板生效时此处填写内容默认以此内容订舱没填以订单中内容订舱</span>
</div>
<a-form-model-item label="收货人名称">
<a-form-model-item label="收货人名称" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input size="small" v-model="form.consigneeName" />
</a-form-model-item>
<a-form-model-item label="收货人地址">
<a-input size="small" v-model="form.consigneeAddress" />
</a-form-model-item>
<a-form-model-item label="地理信息">
<a-input placeholder="国家" style="width: 19%;" size="small" v-model="form.consigneeCountry" />
<a-input
placeholder="省份"
style="width: 19%;margin: 0 1%;"
size="small"
v-model="form.consigneeProvince" />
<a-input placeholder="城市" style="width: 19%;" size="small" v-model="form.consigneeCity" />
<a-input placeholder="县/区" style="width: 19%;margin: 0 1%;" size="small" v-model="form.consigneeCounty" />
<a-input placeholder="邮编" style="width: 19%;" size="small" v-model="form.consigneePostCode" />
</a-form-model-item>
<a-form-model-item label="联系人信息">
<a-input placeholder="姓" style="width: 19%;" size="small" v-model="form.consigneeFirstName" />
<a-input placeholder="名" style="width: 19%;margin: 0 1%;" size="small" v-model="form.consigneeLastName" />
<a-input placeholder="国家区号" style="width: 19%;" size="small" v-model="form.consigneePhoneCountryCode" />
<a-input placeholder="省市区号" style="width: 19%;margin: 0 1%;" size="small" v-model="form.consigneePhoneCode" />
<a-input placeholder="电话号码" style="width: 19%;" size="small" v-model="form.consigneePhone" />
</a-form-model-item>
</a-col>
<a-col :span="12">
<div style="padding-left: 80px">
<span style="font-weight: bold;font-size: 15px;margin-right: 10px;color: black">通知人</span>
<span style="color: red">注意模板生效时此处填写内容默认以此内容订舱没填以订单中内容订舱</span>
</div>
<a-form-model-item label="通知人名称">
<a-form-model-item label="通知人名称" :label-col="{span:4}" :wrapper-col="{span:18}">
<a-input size="small" v-model="form.notifypartName" />
</a-form-model-item>
<a-form-model-item label="通知人地址">
<a-input size="small" v-model="form.notifypartAddress" />
</a-form-model-item>
<a-form-model-item label="地理信息">
<a-input placeholder="国家" style="width: 19%;" size="small" v-model="form.notifypartCountry" />
<a-input
placeholder="省份"
style="width: 19%;margin: 0 1%;"
size="small"
v-model="form.notifypartProvince" />
<a-input placeholder="城市" style="width: 19%;" size="small" v-model="form.notifypartCity" />
<a-input
placeholder="县/区"
style="width: 19%;margin: 0 1%;"
size="small"
v-model="form.notifypartCounty" />
<a-input placeholder="邮编" style="width: 19%;" size="small" v-model="form.notifypartPostCode" />
</a-form-model-item>
<a-form-model-item label="联系人信息">
<a-input placeholder="姓" style="width: 19%;" size="small" v-model="form.notifypartFirstName" />
<a-input
placeholder="名"
style="width: 19%;margin: 0 1%;"
size="small"
v-model="form.notifypartLastName" />
<a-input placeholder="国家区号" style="width: 19%;" size="small" v-model="form.notifypartPhoneCountryCode" />
<a-input placeholder="省市区号" style="width: 19%;margin: 0 1%;" size="small" v-model="form.notifypartPhoneCode" />
<a-input placeholder="电话号码" style="width: 19%;" size="small" v-model="form.notifypartPhone" />
</a-form-model-item>
</a-col>
</a-row>
<a-row>
@ -263,21 +436,9 @@
<a-textarea v-model="form.soRemark" style="width: 90%;" :auto-size="{ minRows: 3, maxRows: 5 }" />
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item class="strong" label="拖车公司">
<a-input
size="small"
placeholder="若勾选进一步通知,此项内容不生效"
style="width: 77%;margin-right: 5px;"
v-model="form.truckCompany" />
<a-checkbox v-model="form.notifyNext"></a-checkbox>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-row >
<a-col :span="12">
<a-form-model-item class="strong" label="接受BC邮箱">
<a-form-model-item :label-col="{span:4}" :wrapper-col="{span:18}" class="strong" label="接受BC邮箱">
<a-input size="small" placeholder="多个以分号隔开,若不填,默认传下单操作邮箱" v-model="form.bcReceiveEmail" />
</a-form-model-item>
</a-col>
@ -297,9 +458,9 @@ export default {
data() {
return {
form: {},
labelCol: { span: 4 },
labelCol: { span: 8 },
loading: false,
wrapperCol: { span: 18 },
wrapperCol: { span: 16 },
suggestList: [],
priorityList: [
{
@ -375,8 +536,8 @@ export default {
this.suggestList = []
this.usreList = []
if (this.$route.query.carrierid) {
this.form.carrierId = this.$route.query.carrierid
this.form.carrier = this.$route.query.carrier
this.$set(this.form, 'carrierId', this.$route.query.carrierid)
this.$set(this.form, 'carrier', this.$route.query.carrier)
}
}
if (this.$route.query.type === 'edit') {

Loading…
Cancel
Save