修改问题

szh_zidingyibiaoti
sunzehua 2 years ago
parent dedac4eb4c
commit 8a2335ce2d

@ -773,7 +773,7 @@ export function DeleteBookingOrder(parameter) {
}) })
} }
//恢复删除 // 恢复删除
export function RecoverDeleteOrder(parameter) { export function RecoverDeleteOrder(parameter) {
return axios({ return axios({
url: '/BookingOrder/RecoverDelete?Ids=' + parameter, url: '/BookingOrder/RecoverDelete?Ids=' + parameter,
@ -864,3 +864,11 @@ export function seaeEdiCustEDI(parameter) {
data: parameter data: parameter
}) })
} }
export function downloadBookingConfirm(parameter) {
return axios({
url: '/BookingValueAdded/DownloadBookingConfirm',
method: 'post',
data: parameter
})
}

@ -46,6 +46,10 @@ export default {
type: Boolean, type: Boolean,
default: true default: true
}, },
pageSizeOptions: {
type: Array,
default: ['10', '20', '30', '40', '50']
},
size: { size: {
type: String, type: String,
default: 'middle' default: 'middle'
@ -125,7 +129,7 @@ export default {
current: localPageNum, current: localPageNum,
pageSize: this.pageSize, pageSize: this.pageSize,
showSizeChanger: this.showSizeChanger, showSizeChanger: this.showSizeChanger,
//pageSizeOptions: ['10', '20', '30', '40', '50'], //分页选项 pageSizeOptions: this.pageSizeOptions,
showTotal: (total, range) => { showTotal: (total, range) => {
return range[0] + '-' + range[1] + '共' + total + '条' return range[0] + '-' + range[1] + '共' + total + '条'
} }
@ -134,16 +138,16 @@ export default {
this.needTotalList = this.initTotalList(this.columns) this.needTotalList = this.initTotalList(this.columns)
this.loadData() this.loadData()
// this.columnsSetting = this.columns // this.columnsSetting = this.columns
//记录选择显示的列以当前路由为key // 记录选择显示的列以当前路由为key
this.columnsSetting = [] this.columnsSetting = []
let cacheColumns = this.$ls.get(this.$route.path) const cacheColumns = this.$ls.get(this.$route.path)
if (cacheColumns && cacheColumns.length > 0) { if (cacheColumns && cacheColumns.length > 0) {
this.columnsSetting = cacheColumns this.columnsSetting = cacheColumns
this.columns.forEach((item, index, arr) => { this.columns.forEach((item, index, arr) => {
let temp = this.columnsSetting.find(m => m.dataIndex == item.dataIndex) const temp = this.columnsSetting.find(m => m.dataIndex == item.dataIndex)
//如果存在 // 如果存在
if (temp) { if (temp) {
arr[index].checked = temp.checked arr[index].checked = temp.checked
} }
@ -178,7 +182,9 @@ export default {
* @param {Object} sorter 排序条件 * @param {Object} sorter 排序条件
*/ */
loadData(pagination, filters, sorter) { loadData(pagination, filters, sorter) {
console.log(pagination)
this.localLoading = true this.localLoading = true
const parameter = Object.assign( const parameter = Object.assign(
{ {
pageNo: pageNo:
@ -188,20 +194,17 @@ export default {
(this.showPagination && this.localPagination.pageSize) || (this.showPagination && this.localPagination.pageSize) ||
this.pageSize this.pageSize
}, },
(sorter && (sorter && sorter.field && { SortField: sorter.field }) || {},
sorter.field && { (sorter && sorter.order && { sortOrder: sorter.order }) || {},
sortField: sorter.field
}) ||
{},
(sorter &&
sorter.order && {
sortOrder: sorter.order
}) ||
{},
{ {
...filters ...filters
} }
) )
if (sorter && sorter.order === 'descend') {
parameter.DescSort = true
} else {
parameter.DescSort = false
}
const result = this.data(parameter) const result = this.data(parameter)
// 对接自己的通用数据接口需要修改下方代码中的 r.pageNo, r.totalCount, r.data // 对接自己的通用数据接口需要修改下方代码中的 r.pageNo, r.totalCount, r.data
// eslint-disable-next-line // eslint-disable-next-line
@ -379,7 +382,7 @@ export default {
title: '列设置', title: '列设置',
isDropdown: true, isDropdown: true,
menu: () => { menu: () => {
//return <columnSetting slot="overlay" columns={this.columns} onColumnChange={this.columnChange} /> // return <columnSetting slot="overlay" columns={this.columns} onColumnChange={this.columnChange} />
return <columnSetting slot="overlay" columns={this.columnsSetting} onColumnChange={this.columnChange} /> return <columnSetting slot="overlay" columns={this.columnsSetting} onColumnChange={this.columnChange} />
}, },
onClick: () => {} onClick: () => {}

@ -330,12 +330,12 @@ const booking = {
allData['payableatInitList'] = $data allData['payableatInitList'] = $data
break break
case 'user': case 'user':
allData['saleInitList'] = $data.result allData['saleInitList'] = $data
allData['opInitList'] = $data.result allData['opInitList'] = $data
allData['docInitList'] = $data.result allData['docInitList'] = $data
allData['custserviceInitList'] = $data.result allData['custserviceInitList'] = $data
allData['routeInitList'] = $data.result allData['routeInitList'] = $data
allData['lineManageInitList'] = $data.result allData['lineManageInitList'] = $data
break break
case 'contractno': case 'contractno':
allData['contractnoInitList'] = $data allData['contractnoInitList'] = $data

@ -13,9 +13,26 @@
<div class="mail-info"> <div class="mail-info">
<a-form-model :selfUpdate="true" ref="mailingFrom" :model="details" :rules="rules"> <a-form-model :selfUpdate="true" ref="mailingFrom" :model="details" :rules="rules">
<a-row :gutter="10"> <a-row :gutter="10">
<a-col class="left-sender-box" :xs="24" :sm="24" :md="24" :lg="10" :xl="11"> <a-col
class="left-sender-box"
:xs="24"
:sm="24"
:md="24"
:lg="10"
:xl="11">
<a-form-model-item has-feedback prop="shipper" class="sender-label" style="overflow: hidden"> <a-form-model-item has-feedback prop="shipper" class="sender-label" style="overflow: hidden">
<div class="sender"> <div class="sender">
<a-tooltip>
<template slot="title">
<p>PIL要求 EDI和ESI报文只允许所有报文中的每个record中的ascii代码必须小于0x7E大于等于0x20, 每个Record必须250字节,必填项为数值类型的不足位数用0补齐</p>
<p>1发货人Rec16收货人Rec21通知人Rec26: 公司抬头两行地址三行每行35字节</p>
<p>2第1/2行是公司抬头栏字段23-92总共70字节不足70字节请留空占位</p>
<p>3第3/4/5行是地址栏字段93-197总共105字节超过105字节通过星号*链接去rec47品名栏显示</p>
<p>4极个别情况下公司抬头可能超过70字节超出部分放在第三行</p>
<p> 5无论什么情况报文里地址信息都不放在在第1/2两行即不占23-92字段</p>
</template>
<div class="move-btn" ><a-icon type="info-circle" /></div>
</a-tooltip>
<div class="top" :class="{ required: rules['shipper'] && rules['shipper'][0].required }"> <div class="top" :class="{ required: rules['shipper'] && rules['shipper'][0].required }">
<div class="name"><span class="iconfont icon-bianji"></span>发货人</div> <div class="name"><span class="iconfont icon-bianji"></span>发货人</div>
<selectView <selectView
@ -72,7 +89,12 @@
@change="getSelectViewRes" @change="getSelectViewRes"
style="flex: 1" style="flex: 1"
></selectView> ></selectView>
<a-button class="save-btn" type="link" size="small" icon="save" @click="saveModel('consignee')" <a-button
class="save-btn"
type="link"
size="small"
icon="save"
@click="saveModel('consignee')"
>保存</a-button >保存</a-button
> >
<div class="right"> <div class="right">
@ -119,7 +141,12 @@
@change="getSelectViewRes" @change="getSelectViewRes"
style="flex: 1" style="flex: 1"
></selectView> ></selectView>
<a-button class="save-btn" type="link" size="small" icon="save" @click="saveModel('notifyparty')" <a-button
class="save-btn"
type="link"
size="small"
icon="save"
@click="saveModel('notifyparty')"
>保存</a-button >保存</a-button
> >
<div class="right"> <div class="right">
@ -148,7 +175,13 @@
</div> </div>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col class="right-content" :xs="24" :sm="24" :md="24" :lg="14" :xl="13"> <a-col
class="right-content"
:xs="24"
:sm="24"
:md="24"
:lg="14"
:xl="13">
<a-row :gutter="16"> <a-row :gutter="16">
<div class="right-content-top"> <div class="right-content-top">
<a-col :span="12"> <a-col :span="12">
@ -1144,15 +1177,15 @@ export default {
}, },
SetTOTALNO(SS) { SetTOTALNO(SS) {
SS = SS.toString() SS = SS.toString()
let i = SS.indexOf('\n') const i = SS.indexOf('\n')
let num = 0 let num = 0
let strKind = '' let strKind = ''
let enCapital = '' let enCapital = ''
if (i > 0) { if (i > 0) {
let slist = SS.split('\n') const slist = SS.split('\n')
for (let i = 0; i < slist.length; i += 1) { for (let i = 0; i < slist.length; i += 1) {
let member = slist[i] const member = slist[i]
let strNum = this.GetStringNum(member) const strNum = this.GetStringNum(member)
if (i == 0) { if (i == 0) {
strKind = member.substring(strNum.length) strKind = member.substring(strNum.length)
} }
@ -1266,7 +1299,7 @@ export default {
} }
a = a.substring(1) a = a.substring(1)
} }
if (a.length == 2) if (a.length == 2) {
if (a.substr(0, 1) == '0') a = a.substring(1) if (a.substr(0, 1) == '0') a = a.substring(1)
else if (a.substr(0, 1) == '1') strRet += arr4[a.substr(1, 2)] else if (a.substr(0, 1) == '1') strRet += arr4[a.substr(1, 2)]
else { else {
@ -1274,6 +1307,7 @@ export default {
if (a.substr(1, 1) != '0') strRet += '-' if (a.substr(1, 1) != '0') strRet += '-'
a = a.substring(1) a = a.substring(1)
} }
}
if (a.length == 1 && a.substr(0, 1) != '0') strRet += arr3[a.substr(0, 1)] if (a.length == 1 && a.substr(0, 1) != '0') strRet += arr3[a.substr(0, 1)]
return strRet return strRet
}, },

@ -237,6 +237,23 @@
} }
} }
} }
.sender{
position: relative;
.move-btn{
position: absolute;
height: 20px;
// transform: rotateY(180deg);
top: 5px;
right: 0;
// background: #f99;
z-index: 99;
i{
display: block;
font-size: 14px;
color: #ff9702;
}
}
}
/deep/ .ant-form-item-children-icon .anticon-check-circle { /deep/ .ant-form-item-children-icon .anticon-check-circle {
display: none; display: none;
} }

@ -8,17 +8,30 @@
<a-form layout="inline"> <a-form layout="inline">
<a-row :gutter="48" class="booking-from-box"> <a-row :gutter="48" class="booking-from-box">
<template v-for="(formLabel, findex) in formData"> <template v-for="(formLabel, findex) in formData">
<a-col :md="6" :lg="6" :xl="4" :key="findex" v-show="(findex < 4 && !advanced) || advanced" <a-col
:md="6"
:lg="6"
:xl="4"
:key="findex"
v-show="(findex < 4 && !advanced) || advanced"
class="from-label"> class="from-label">
<a-form-item style="padding-left: 10px; padding-right: 10px" :label="formLabel.title"> <a-form-item style="padding-left: 10px; padding-right: 10px" :label="formLabel.title">
<formLabel :ref="`fromlabel-${formLabel.label}`" :labelData="formLabel" :formRes="formRes" <formLabel
:resetType="ResetType" :formIndex="findex" @change="formChange" @pressEnter="pressEnterFun" :ref="`fromlabel-${formLabel.label}`"
@getCompleteList="getCompleteListFun" @selectFirst="getSelectFirst"></formLabel> :labelData="formLabel"
:formRes="formRes"
:resetType="ResetType"
:formIndex="findex"
@change="formChange"
@pressEnter="pressEnterFun"
@getCompleteList="getCompleteListFun"
@selectFirst="getSelectFirst"></formLabel>
</a-form-item> </a-form-item>
</a-col> </a-col>
</template> </template>
<a-col :xl="formBtnCol || (!advanced && 8)" :lg="24" :md="24" :sm="24"> <a-col :xl="formBtnCol || (!advanced && 8)" :lg="24" :md="24" :sm="24">
<span class="table-page-search-submitButtons" <span
class="table-page-search-submitButtons"
:style="(advanced && { float: 'right', overflow: 'hidden' }) || {}"> :style="(advanced && { float: 'right', overflow: 'hidden' }) || {}">
<a-button size="small" type="primary" @click="tableRefresh"></a-button> <a-button size="small" type="primary" @click="tableRefresh"></a-button>
<a-button size="small" class="reset" @click="tableReset"></a-button> <a-button size="small" class="reset" @click="tableReset"></a-button>
@ -72,7 +85,11 @@
> >
<div class="nav"><i class="iconfont icon-duibi"></i>下货纸比对</div> <div class="nav"><i class="iconfont icon-duibi"></i>下货纸比对</div>
</a-popconfirm> --> </a-popconfirm> -->
<a-popconfirm title="确定删除当前选中订舱?" ok-text="" cancel-text="" @confirm="removeMoreFun" <a-popconfirm
title="确定删除当前选中订舱?"
ok-text="是"
cancel-text="否"
@confirm="removeMoreFun"
@cancel="cancelRemove"> @cancel="cancelRemove">
<div class="nav"><i class="iconfont icon-shanchu2"></i>删除</div> <div class="nav"><i class="iconfont icon-shanchu2"></i>删除</div>
</a-popconfirm> </a-popconfirm>
@ -111,11 +128,20 @@
</div> </div>
</template> </template>
</vxe-toolbar> </vxe-toolbar>
<vxe-grid ref="xGrid" v-bind="gridOptions" row-class-name="line-box" :height="tableHeight" <vxe-grid
:checkbox_config="{ checkField: 'checked' }" :scroll-x="{ gt: 10, oSize: 10, enabled: false }" ref="xGrid"
:scroll-y="{ gt: 20, oSize: 20, enabled: true }" @page-change="handlePageChange" v-bind="gridOptions"
@cell-dblclick="handledbclick" :sort-config="{ sortMethod: customSortMethod }" row-class-name="line-box"
@resizable-change="resizableChange" @sort-change="tableSortChange" @scroll="pageClick" :height="tableHeight"
:checkbox_config="{ checkField: 'checked' }"
:scroll-x="{ gt: 10, oSize: 10, enabled: false }"
:scroll-y="{ gt: 20, oSize: 20, enabled: true }"
@page-change="handlePageChange"
@cell-dblclick="handledbclick"
:sort-config="{ sortMethod: customSortMethod }"
@resizable-change="resizableChange"
@sort-change="tableSortChange"
@scroll="pageClick"
@checkbox-change="checkboxChangeEvent"> @checkbox-change="checkboxChangeEvent">
<template #mblno="{ row }"> <template #mblno="{ row }">
<div class="mblno"> <div class="mblno">
@ -154,7 +180,11 @@
</template> </template>
<template #operate="{ row }"> <template #operate="{ row }">
<vxe-button class="operate-btn" type="text" icon="vxe-icon-edit" @click="editColumns(row)"></vxe-button> <vxe-button class="operate-btn" type="text" icon="vxe-icon-edit" @click="editColumns(row)"></vxe-button>
<a-popconfirm title="确定删除当前订舱?" ok-text="" cancel-text="" @confirm="removeFun(row)" <a-popconfirm
title="确定删除当前订舱?"
ok-text="是"
cancel-text="否"
@confirm="removeFun(row)"
@cancel="cancelRemove"> @cancel="cancelRemove">
<vxe-button class="operate-btn" type="text" icon="vxe-icon-delete"></vxe-button> <vxe-button class="operate-btn" type="text" icon="vxe-icon-delete"></vxe-button>
</a-popconfirm> </a-popconfirm>
@ -215,7 +245,9 @@
</div> </div>
</a-popover> </a-popover>
<a-icon class="TablelstShipOrderCompareRltRedo" @click="excuteShippingOrderCompareBatch(row)" <a-icon
class="TablelstShipOrderCompareRltRedo"
@click="excuteShippingOrderCompareBatch(row)"
type="redo" /> type="redo" />
</div> </div>
</template> </template>
@ -267,8 +299,11 @@
</x-card> </x-card>
</a-col> </a-col>
</a-row> </a-row>
<a-modal :title="TaskShippingOrderCompareData.isExistsDiff ? '下货纸比对(有差异)' : '下货纸比对(正常)'" <a-modal
@cancel="TaskShippingOrderCompareHandleCancel" :visible="TaskShippingOrderCompareVisible" width="40%"> :title="TaskShippingOrderCompareData.isExistsDiff ? '下货纸比对(有差异)' : '下货纸比对(正常)'"
@cancel="TaskShippingOrderCompareHandleCancel"
:visible="TaskShippingOrderCompareVisible"
width="40%">
<template slot="footer"> <template slot="footer">
<a-button key="back" @click="TaskShippingOrderCompareHandleCancel"> </a-button> <a-button key="back" @click="TaskShippingOrderCompareHandleCancel"> </a-button>
</template> </template>
@ -295,8 +330,10 @@
<p>{{ TaskShippingOrderCompareData.mBlNo }}</p> <p>{{ TaskShippingOrderCompareData.mBlNo }}</p>
</div> </div>
</div> </div>
<div class="TaskShippingOrderCompareMainList" <div
v-for="(item, index) in TaskShippingOrderCompareData.showDetailList" :key="index" class="TaskShippingOrderCompareMainList"
v-for="(item, index) in TaskShippingOrderCompareData.showDetailList"
:key="index"
v-show="item.pCode != 'ContaList'"> v-show="item.pCode != 'ContaList'">
<p>{{ item.fieldName }}:</p> <p>{{ item.fieldName }}:</p>
<p>{{ item.reqVal }}</p> <p>{{ item.reqVal }}</p>
@ -319,8 +356,11 @@
<p>箱信息场站数据</p> <p>箱信息场站数据</p>
</div> </div>
</div> </div>
<div v-for="(item, index) in TaskShippingOrderCompareData.showDetailList" :key="index" <div
v-show="item.pCode == 'ContaList'" :class="item.fieldName == '箱号' ? 'TaskShippingOrderCompareMainList BoxNo' : 'TaskShippingOrderCompareMainList' v-for="(item, index) in TaskShippingOrderCompareData.showDetailList"
:key="index"
v-show="item.pCode == 'ContaList'"
:class="item.fieldName == '箱号' ? 'TaskShippingOrderCompareMainList BoxNo' : 'TaskShippingOrderCompareMainList'
"> ">
<p>{{ item.fieldName }}:</p> <p>{{ item.fieldName }}:</p>
<p>{{ item.reqVal }}</p> <p>{{ item.reqVal }}</p>
@ -358,18 +398,34 @@
</a-radio-group> </a-radio-group>
</a-modal> </a-modal>
<a-modal title="多提单号查询" :maskClosable="false" :width="400" :visible="moreNumVisible" @ok="moreNumSubmit" <a-modal
title="多提单号查询"
:maskClosable="false"
:width="400"
:visible="moreNumVisible"
@ok="moreNumSubmit"
@cancel="moreNumCancel"> @cancel="moreNumCancel">
<div> <div>
<a-textarea v-model="moreNumVal" style="height: 200px" /> <a-textarea v-model="moreNumVal" style="height: 200px" />
</div> </div>
</a-modal> </a-modal>
<setFormModel ref="setForm" :formData="formData" :formAllData="formMoreData" type="from" @ok="submitForm" <setFormModel
ref="setForm"
:formData="formData"
:formAllData="formMoreData"
type="from"
@ok="submitForm"
v-if="formMoreData"></setFormModel> v-if="formMoreData"></setFormModel>
<setFormModel ref="setTableForm" :formData="formTableData" :formAllData="formMoreTableData" :maxNum="30" <setFormModel
type="table" @ok="submitTableForm" v-if="formMoreTableData"></setFormModel> ref="setTableForm"
:formData="formTableData"
:formAllData="formMoreTableData"
:maxNum="30"
type="table"
@ok="submitTableForm"
v-if="formMoreTableData"></setFormModel>
<div class="hovers-list" :style="{ top: `${remarkScreenY}px`, left: `${remarkScreenX}px` }" v-if="remarkShow"> <div class="hovers-list" :style="{ top: `${remarkScreenY}px`, left: `${remarkScreenX}px` }" v-if="remarkShow">
<div class="title">备注内容</div> <div class="title">备注内容</div>
@ -379,11 +435,14 @@
</div> </div>
<!-- v-show="goodStatusShow" --> <!-- v-show="goodStatusShow" -->
<div class="goods-hovers-list" :class="[ <div
class="goods-hovers-list"
:class="[
{ 'hide-goods-hover': !goodStatusShow }, { 'hide-goods-hover': !goodStatusShow },
{ 'seat-top': goodStatusSeat === 'top' }, { 'seat-top': goodStatusSeat === 'top' },
{ 'seat-bottom': goodStatusSeat === 'bottom' } { 'seat-bottom': goodStatusSeat === 'bottom' }
]" :style="{ top: `${goodStatusScreenY}px`, left: `${goodStatusScreenX}px` }"> ]"
:style="{ top: `${goodStatusScreenY}px`, left: `${goodStatusScreenX}px` }">
<div class="title">货运动态</div> <div class="title">货运动态</div>
<template v-for="(goodStatusItem, gindex) in goodStatusData"> <template v-for="(goodStatusItem, gindex) in goodStatusData">
<template v-if="goodStatusItem.finishTime || goodStatusItem.remark"> <template v-if="goodStatusItem.finishTime || goodStatusItem.remark">
@ -410,9 +469,16 @@
<a-form> <a-form>
<a-row :gutter="16"> <a-row :gutter="16">
<a-col :span="24" class="book-model-box"> <a-col :span="24" class="book-model-box">
<a-form-item label="请选择订阅内容" :labelCol="{ xs: { span: 24 }, sm: { span: 6 } }" <a-form-item
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }" has-feedback> label="请选择订阅内容"
<a-checkbox-group class="trace-check" v-model="traceValue" name="checkboxgroup" :options="traceOptions" :labelCol="{ xs: { span: 24 }, sm: { span: 6 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 15 } }"
has-feedback>
<a-checkbox-group
class="trace-check"
v-model="traceValue"
name="checkboxgroup"
:options="traceOptions"
@change="onTraceChange" /> @change="onTraceChange" />
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -423,18 +489,33 @@
<a-button type="primary" @click="traceSend"></a-button> <a-button type="primary" @click="traceSend"></a-button>
</template> </template>
</a-modal> </a-modal>
<a-modal width="820px" :maskClosable="false" v-model="editingModalVisible" title="批量编辑" @ok="editingHandleOk" <a-modal
width="820px"
:maskClosable="false"
v-model="editingModalVisible"
title="批量编辑"
@ok="editingHandleOk"
@cancel="editingHandleCancel"> @cancel="editingHandleCancel">
<div class="trace-box"> <div class="trace-box">
<a-form :form="editingForm"> <a-form :form="editingForm">
<a-row :gutter="26"> <a-row :gutter="26">
<a-col :span="12" class="book-model-box"> <a-col :span="12" class="book-model-box">
<a-form-item label="船名" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }" <a-form-item
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" has-feedback> label="船名"
<a-select placeholder="请选择船名" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
v-decorator="['vessel', { rules: [{ required: true, message: '请选择船名!' }] }]" show-search :wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
@focus="vesselSearch" @search="vesselSearch" @blur="vesselBlur" :default-active-first-option="false" has-feedback>
:show-arrow="false" :filter-option="false" :not-found-content="null"> <a-select
placeholder="请选择船名"
v-decorator="['vessel', { rules: [{ required: true, message: '请选择船名!' }] }]"
show-search
@focus="vesselSearch"
@search="vesselSearch"
@blur="vesselBlur"
:default-active-first-option="false"
:show-arrow="false"
:filter-option="false"
:not-found-content="null">
<a-select-option v-for="item in vesselData" :key="item.name" :value="item.name"> <a-select-option v-for="item in vesselData" :key="item.name" :value="item.name">
{{ item.name }} {{ item.name }}
</a-select-option> </a-select-option>
@ -442,31 +523,54 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12" class="book-model-box"> <a-col :span="12" class="book-model-box">
<a-form-item label="开船日期" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }" <a-form-item
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" has-feedback> label="开船日期"
<a-date-picker v-decorator="['etd', { rules: [{ required: true, message: '' }] }]" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:style="{ width: '100%' }" placeholder="请选择开船日期" valueFormat="YYYY-MM-DD" /> :wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
has-feedback>
<a-date-picker
v-decorator="['etd', { rules: [{ required: true, message: '请选择开船日期!' }] }]"
:style="{ width: '100%' }"
placeholder="请选择开船日期"
valueFormat="YYYY-MM-DD" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12" class="book-model-box"> <a-col :span="12" class="book-model-box">
<a-form-item label="内部航次" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }" <a-form-item
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" has-feedback> label="内部航次"
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
has-feedback>
<a-input v-decorator="['voynoinner']" /> <a-input v-decorator="['voynoinner']" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12" class="book-model-box"> <a-col :span="12" class="book-model-box">
<a-form-item label="海关航次" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }" <a-form-item
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" has-feedback> label="海关航次"
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
has-feedback>
<a-input v-decorator="['voyno']" /> <a-input v-decorator="['voyno']" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12" class="book-model-box"> <a-col :span="12" class="book-model-box">
<a-form-item label="卸货港" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }" <a-form-item
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" has-feedback> label="卸货港"
<a-select placeholder="请选择卸货港" v-decorator="['portDischarge']" show-search @focus="portDischargeSearch" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
@search="portDischargeSearch" @change="portDischargeChange" :default-active-first-option="false" :wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
:show-arrow="false" :filter-option="false" :not-found-content="null"> has-feedback>
<a-select
placeholder="请选择卸货港"
v-decorator="['portDischarge']"
show-search
@focus="portDischargeSearch"
@search="portDischargeSearch"
@change="portDischargeChange"
:default-active-first-option="false"
:show-arrow="false"
:filter-option="false"
:not-found-content="null">
<a-select-option v-for="item in portDischargeData" :key="item.code" :value="item.enName"> <a-select-option v-for="item in portDischargeData" :key="item.code" :value="item.enName">
{{ item.enName }} {{ item.enName }}
</a-select-option> </a-select-option>
@ -474,17 +578,31 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12" class="book-model-box"> <a-col :span="12" class="book-model-box">
<a-form-item label="卸货代码" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }" <a-form-item
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" has-feedback> label="卸货代码"
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
has-feedback>
<a-input v-decorator="['portDischargeId']" /> <a-input v-decorator="['portDischargeId']" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12" class="book-model-box"> <a-col :span="12" class="book-model-box">
<a-form-item label="目的港" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }" <a-form-item
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" has-feedback> label="目的港"
<a-select placeholder="请选择目的港" v-decorator="['destination']" show-search @focus="destinationSearch" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
@search="destinationSearch" @change="destinationChange" :default-active-first-option="false" :wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
:show-arrow="false" :filter-option="false" :not-found-content="null"> has-feedback>
<a-select
placeholder="请选择目的港"
v-decorator="['destination']"
show-search
@focus="destinationSearch"
@search="destinationSearch"
@change="destinationChange"
:default-active-first-option="false"
:show-arrow="false"
:filter-option="false"
:not-found-content="null">
<a-select-option v-for="item in destinationData" :key="item.code" :value="item.enName"> <a-select-option v-for="item in destinationData" :key="item.code" :value="item.enName">
{{ item.enName }} {{ item.enName }}
</a-select-option> </a-select-option>
@ -492,29 +610,65 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12" class="book-model-box"> <a-col :span="12" class="book-model-box">
<a-form-item label="目的代码" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }" <a-form-item
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" has-feedback> label="目的代码"
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
has-feedback>
<a-input v-decorator="['destinationid']" /> <a-input v-decorator="['destinationid']" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12" class="book-model-box"> <a-col :span="12" class="book-model-box">
<a-form-item label="截港时间" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }" <a-form-item
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" has-feedback> label="截港时间"
<a-date-picker show-time v-decorator="['closingdate']" :style="{ width: '100%' }" placeholder="请选择截港时间" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
valueFormat="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH" /> :wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
has-feedback>
<a-date-picker
show-time
v-decorator="['closingdate']"
:style="{ width: '100%' }"
placeholder="请选择截港时间"
valueFormat="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD HH" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12" class="book-model-box"> <a-col :span="12" class="book-model-box">
<a-form-item label="截单时间" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }" <a-form-item
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" has-feedback> label="截单时间"
<a-date-picker show-time v-decorator="['closedocdate']" :style="{ width: '100%' }" placeholder="请选择截单时间" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
valueFormat="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH" /> :wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
has-feedback>
<a-date-picker
show-time
v-decorator="['closedocdate']"
:style="{ width: '100%' }"
placeholder="请选择截单时间"
valueFormat="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD HH" />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
</a-form> </a-form>
</div> </div>
</a-modal> </a-modal>
<a-modal
title="提示信息"
:visible="bcFileFlag"
:footer="null"
@cancel="bcFileFlag=false"
>
<div class="bcfile-title">
<a-icon style="margin-right: 10px;" type="copy" />时间{{ bcFile.executeTime }}
<span> {{ bcFile.batchTotal }}</span>
</div>
<div class="bc-box">
<div class="bc-item" v-for="(item,index) in bcFile.ext" :key="index">
<span>{{ item.bno }}</span>
<span> {{ item.msg }}</span>
</div>
</div>
</a-modal>
</a-spin> </a-spin>
</div> </div>
</template> </template>
@ -543,7 +697,8 @@ import {
DjyUserConfigMulti, DjyUserConfigMulti,
DeleteBookingOrder, DeleteBookingOrder,
ExcuteShippingOrderCompareBatch, ExcuteShippingOrderCompareBatch,
GetTenantLineList GetTenantLineList,
downloadBookingConfirm
} from '@/api/modular/main/BookingLedger' } from '@/api/modular/main/BookingLedger'
import initData from './modules/initData' import initData from './modules/initData'
@ -651,7 +806,9 @@ export default {
portDischargeData: [], portDischargeData: [],
destinationData: [], destinationData: [],
RcarrierData: [], RcarrierData: [],
RecentlyCarrierData: [] RecentlyCarrierData: [],
bcFile: {},
bcFileFlag: false
} }
}, },
computed: { computed: {
@ -753,7 +910,29 @@ export default {
// } // }
} }
}, },
handleDownByBc() { }, handleDownByBc() {
const select = this.$refs.xGrid.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.id
})
if (pkIdArr.length === 0) {
this.$message.error('请至少选择一条数据')
return false
} else {
downloadBookingConfirm(pkIdArr)
.then((res) => {
if (res.success) {
this.bcFileFlag = true
this.bcFile = res.data
} else {
this.$message.error(res.message)
}
})
.catch((err) => {
console.log(err)
})
}
},
// //
editingHandleOk() { editingHandleOk() {
const { const {
@ -898,7 +1077,6 @@ export default {
}) })
}, },
setSort(item) { setSort(item) {
const key = JSON.parse(item.configJson).key const key = JSON.parse(item.configJson).key
const sort = JSON.parse(item.configJson).sort const sort = JSON.parse(item.configJson).sort
this.tableOrderLabel = key || '' this.tableOrderLabel = key || ''
@ -909,7 +1087,7 @@ export default {
// - start // - start
getCarrier() { getCarrier() {
const Rdata = (data) => { const Rdata = (data) => {
let RData = {} const RData = {}
for (var i = 0; i < 26; i++) { for (var i = 0; i < 26; i++) {
RData[String.fromCharCode(65 + i)] = [] RData[String.fromCharCode(65 + i)] = []
data.forEach((item) => { data.forEach((item) => {
@ -918,14 +1096,14 @@ export default {
} }
}) })
} }
let Obj = { const Obj = {
'A-D': ['A', 'B', 'C', 'D'], 'A-D': ['A', 'B', 'C', 'D'],
'E-L': ['E', 'F', 'G', 'H', 'I', 'J', 'K', 'L'], 'E-L': ['E', 'F', 'G', 'H', 'I', 'J', 'K', 'L'],
'M-R': ['M', 'N', 'O', 'P', 'Q', 'R'], 'M-R': ['M', 'N', 'O', 'P', 'Q', 'R'],
'S-U': ['S', 'T', 'U'], 'S-U': ['S', 'T', 'U'],
'V-Z': ['V', 'W', 'X', 'Y', 'Z'] 'V-Z': ['V', 'W', 'X', 'Y', 'Z']
} }
let Data = { const Data = {
'A-D': [], 'A-D': [],
'E-L': [], 'E-L': [],
'M-R': [], 'M-R': [],
@ -955,7 +1133,7 @@ export default {
DjyUserConfigGet({ type: 'booking_memory' }) DjyUserConfigGet({ type: 'booking_memory' })
.then((e) => { .then((e) => {
if (e.data) { if (e.data) {
let data = [] const data = []
JSON.parse(e.data.configJson).forEach((item) => { JSON.parse(e.data.configJson).forEach((item) => {
res.data.forEach((item2) => { res.data.forEach((item2) => {
if (item == item2.code) { if (item == item2.code) {
@ -1131,7 +1309,7 @@ export default {
toggleAdvanced() { toggleAdvanced() {
this.advanced = !this.advanced this.advanced = !this.advanced
this.$forceUpdate() this.$forceUpdate()
let start = new Date().getTime() const start = new Date().getTime()
console.log('== 点击展开 ==', start) console.log('== 点击展开 ==', start)
if (!this.advanced) { if (!this.advanced) {
const len = this.formData.length % 4 const len = this.formData.length % 4
@ -1409,7 +1587,7 @@ export default {
} }
}, },
addSubmit() { addSubmit() {
let data = [] const data = []
data.push(this.carrierRadio) data.push(this.carrierRadio)
if (this.RecentlyCarrierData.length) { if (this.RecentlyCarrierData.length) {
this.RecentlyCarrierData.forEach((item) => { this.RecentlyCarrierData.forEach((item) => {
@ -2832,4 +3010,19 @@ export default {
// .more-btn{ // .more-btn{
// } // }
// } // }
.bcfile-title{
border-bottom:1px dashed black;
padding-bottom: 5px;
margin-bottom: 10px;
}
.bc-box{
max-height: 200px;
overflow-y: auto;
padding-right: 14px;
.bc-item{
margin: 7px 0px;
display: flex;
justify-content: space-between;
}
}
</style> </style>

@ -50,11 +50,16 @@
:columns="columns" :columns="columns"
:data="loadData" :data="loadData"
:alert="true" :alert="true"
:pageSizeOptions="['10', '20', '50', '100']"
:rowKey="record => record.id" :rowKey="record => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
> >
<template slot="operator"> <template slot="operator">
<a-button type="primary" v-if="hasPerm('sysUser:add')" icon="plus" @click="$refs.addForm.add()" <a-button
type="primary"
v-if="hasPerm('sysUser:add')"
icon="plus"
@click="$refs.addForm.add()"
>新增用户 >新增用户
</a-button> </a-button>
<a-upload <a-upload
@ -73,7 +78,6 @@
{{ departmentFilter(text) }} {{ departmentFilter(text) }}
</span> </span>
<span slot="sex" slot-scope="text"> <span slot="sex" slot-scope="text">
{{ sexFilter(text) }} {{ sexFilter(text) }}
</span> </span>
@ -169,15 +173,18 @@ export default {
columns: [ columns: [
{ {
title: '账号', title: '账号',
dataIndex: 'account' dataIndex: 'account',
sorter: true
}, },
{ {
title: '姓名', title: '姓名',
dataIndex: 'name' dataIndex: 'name',
sorter: true
}, },
{ {
title: '部门', title: '部门',
dataIndex: 'sysEmpInfo', dataIndex: 'sysEmpInfo',
sorter: true,
scopedSlots: { scopedSlots: {
customRender: 'sysEmpInfo' customRender: 'sysEmpInfo'
} }
@ -185,17 +192,20 @@ export default {
{ {
title: '性别', title: '性别',
dataIndex: 'sex', dataIndex: 'sex',
sorter: true,
scopedSlots: { scopedSlots: {
customRender: 'sex' customRender: 'sex'
} }
}, },
{ {
title: '手机', title: '手机',
dataIndex: 'phone' dataIndex: 'phone',
sorter: true
}, },
{ {
title: '状态', title: '状态',
dataIndex: 'status', dataIndex: 'status',
sorter: true,
scopedSlots: { scopedSlots: {
customRender: 'status' customRender: 'status'
} }
@ -256,6 +266,9 @@ export default {
} }
}, },
methods: { methods: {
handleTableChange(pagination, filters, sorter) {
console.log(pagination, filters, sorter);
},
departmentFilter(sysEmpInfo) { departmentFilter(sysEmpInfo) {
// console.log('sysEmpInfo===>>',sysEmpInfo) // console.log('sysEmpInfo===>>',sysEmpInfo)
return sysEmpInfo.orgName return sysEmpInfo.orgName
@ -361,13 +374,13 @@ export default {
}) })
}, },
downloadfile(res) { downloadfile(res) {
let fileReader = new FileReader() const fileReader = new FileReader()
let _this = this const _this = this
fileReader.onload = function() { fileReader.onload = function() {
try { try {
// JSON.parse(this.result)this.resultjson // JSON.parse(this.result)this.resultjson
// JSON.parse(this.result)catch // JSON.parse(this.result)catch
let r = JSON.parse(this.result) const r = JSON.parse(this.result)
if (!r.success) { if (!r.success) {
_this.$message.error(r.message) _this.$message.error(r.message)
} else { } else {

Loading…
Cancel
Save