修改问题

szh_zidingyibiaoti
sunzehua 2 years ago
parent dedac4eb4c
commit 8a2335ce2d

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

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

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

@ -13,9 +13,26 @@
<div class="mail-info">
<a-form-model :selfUpdate="true" ref="mailingFrom" :model="details" :rules="rules">
<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">
<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="name"><span class="iconfont icon-bianji"></span>发货人</div>
<selectView
@ -72,8 +89,13 @@
@change="getSelectViewRes"
style="flex: 1"
></selectView>
<a-button class="save-btn" type="link" size="small" icon="save" @click="saveModel('consignee')"
>保存</a-button
<a-button
class="save-btn"
type="link"
size="small"
icon="save"
@click="saveModel('consignee')"
>保存</a-button
>
<div class="right">
<span class="btn-circle" @click="spliceMore('consignee')" :style="{ fontSize: '14px' }">*</span>
@ -119,8 +141,13 @@
@change="getSelectViewRes"
style="flex: 1"
></selectView>
<a-button class="save-btn" type="link" size="small" icon="save" @click="saveModel('notifyparty')"
>保存</a-button
<a-button
class="save-btn"
type="link"
size="small"
icon="save"
@click="saveModel('notifyparty')"
>保存</a-button
>
<div class="right">
<span class="btn-circle" @click="spliceMore('notifyparty')" :style="{ fontSize: '14px' }">*</span>
@ -148,7 +175,13 @@
</div>
</a-form-model-item>
</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">
<div class="right-content-top">
<a-col :span="12">
@ -1144,15 +1177,15 @@ export default {
},
SetTOTALNO(SS) {
SS = SS.toString()
let i = SS.indexOf('\n')
const i = SS.indexOf('\n')
let num = 0
let strKind = ''
let enCapital = ''
if (i > 0) {
let slist = SS.split('\n')
const slist = SS.split('\n')
for (let i = 0; i < slist.length; i += 1) {
let member = slist[i]
let strNum = this.GetStringNum(member)
const member = slist[i]
const strNum = this.GetStringNum(member)
if (i == 0) {
strKind = member.substring(strNum.length)
}
@ -1266,14 +1299,15 @@ export default {
}
a = a.substring(1)
}
if (a.length == 2)
if (a.substr(0, 1) == '0') a = a.substring(1)
if (a.length == 2) {
if (a.substr(0, 1) == '0') a = a.substring(1)
else if (a.substr(0, 1) == '1') strRet += arr4[a.substr(1, 2)]
else {
strRet += arr2[a.substr(0, 1)]
if (a.substr(1, 1) != '0') strRet += '-'
a = a.substring(1)
}
}
if (a.length == 1 && a.substr(0, 1) != '0') strRet += arr3[a.substr(0, 1)]
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 {
display: none;
}

@ -8,17 +8,30 @@
<a-form layout="inline">
<a-row :gutter="48" class="booking-from-box">
<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">
<a-form-item style="padding-left: 10px; padding-right: 10px" :label="formLabel.title">
<formLabel :ref="`fromlabel-${formLabel.label}`" :labelData="formLabel" :formRes="formRes"
:resetType="ResetType" :formIndex="findex" @change="formChange" @pressEnter="pressEnterFun"
@getCompleteList="getCompleteListFun" @selectFirst="getSelectFirst"></formLabel>
<formLabel
:ref="`fromlabel-${formLabel.label}`"
:labelData="formLabel"
:formRes="formRes"
:resetType="ResetType"
:formIndex="findex"
@change="formChange"
@pressEnter="pressEnterFun"
@getCompleteList="getCompleteListFun"
@selectFirst="getSelectFirst"></formLabel>
</a-form-item>
</a-col>
</template>
<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' }) || {}">
<a-button size="small" type="primary" @click="tableRefresh"></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>
</a-popconfirm> -->
<a-popconfirm title="确定删除当前选中订舱?" ok-text="" cancel-text="" @confirm="removeMoreFun"
<a-popconfirm
title="确定删除当前选中订舱?"
ok-text="是"
cancel-text="否"
@confirm="removeMoreFun"
@cancel="cancelRemove">
<div class="nav"><i class="iconfont icon-shanchu2"></i>删除</div>
</a-popconfirm>
@ -111,11 +128,20 @@
</div>
</template>
</vxe-toolbar>
<vxe-grid ref="xGrid" v-bind="gridOptions" row-class-name="line-box" :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"
<vxe-grid
ref="xGrid"
v-bind="gridOptions"
row-class-name="line-box"
: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">
<template #mblno="{ row }">
<div class="mblno">
@ -154,7 +180,11 @@
</template>
<template #operate="{ row }">
<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">
<vxe-button class="operate-btn" type="text" icon="vxe-icon-delete"></vxe-button>
</a-popconfirm>
@ -192,10 +222,10 @@
比对方式:
<span>{{
row.lstShipOrderCompareMode
? row.lstShipOrderCompareMode == 'MANUAL'
? '手动'
: '自动'
: ''
? row.lstShipOrderCompareMode == 'MANUAL'
? '手动'
: '自动'
: ''
}}</span>
</p>
<p>
@ -215,7 +245,9 @@
</div>
</a-popover>
<a-icon class="TablelstShipOrderCompareRltRedo" @click="excuteShippingOrderCompareBatch(row)"
<a-icon
class="TablelstShipOrderCompareRltRedo"
@click="excuteShippingOrderCompareBatch(row)"
type="redo" />
</div>
</template>
@ -267,8 +299,11 @@
</x-card>
</a-col>
</a-row>
<a-modal :title="TaskShippingOrderCompareData.isExistsDiff ? '下货纸比对(有差异)' : '下货纸比对(正常)'"
@cancel="TaskShippingOrderCompareHandleCancel" :visible="TaskShippingOrderCompareVisible" width="40%">
<a-modal
:title="TaskShippingOrderCompareData.isExistsDiff ? '下货纸比对(有差异)' : '下货纸比对(正常)'"
@cancel="TaskShippingOrderCompareHandleCancel"
:visible="TaskShippingOrderCompareVisible"
width="40%">
<template slot="footer">
<a-button key="back" @click="TaskShippingOrderCompareHandleCancel"> </a-button>
</template>
@ -295,8 +330,10 @@
<p>{{ TaskShippingOrderCompareData.mBlNo }}</p>
</div>
</div>
<div class="TaskShippingOrderCompareMainList"
v-for="(item, index) in TaskShippingOrderCompareData.showDetailList" :key="index"
<div
class="TaskShippingOrderCompareMainList"
v-for="(item, index) in TaskShippingOrderCompareData.showDetailList"
:key="index"
v-show="item.pCode != 'ContaList'">
<p>{{ item.fieldName }}:</p>
<p>{{ item.reqVal }}</p>
@ -319,9 +356,12 @@
<p>箱信息场站数据</p>
</div>
</div>
<div v-for="(item, index) in TaskShippingOrderCompareData.showDetailList" :key="index"
v-show="item.pCode == 'ContaList'" :class="item.fieldName == '箱号' ? 'TaskShippingOrderCompareMainList BoxNo' : 'TaskShippingOrderCompareMainList'
">
<div
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.reqVal }}</p>
<p v-if="item.msg">
@ -358,18 +398,34 @@
</a-radio-group>
</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">
<div>
<a-textarea v-model="moreNumVal" style="height: 200px" />
</div>
</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>
<setFormModel ref="setTableForm" :formData="formTableData" :formAllData="formMoreTableData" :maxNum="30"
type="table" @ok="submitTableForm" v-if="formMoreTableData"></setFormModel>
<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="title">备注内容</div>
@ -379,11 +435,14 @@
</div>
<!-- v-show="goodStatusShow" -->
<div class="goods-hovers-list" :class="[
{ 'hide-goods-hover': !goodStatusShow },
{ 'seat-top': goodStatusSeat === 'top' },
{ 'seat-bottom': goodStatusSeat === 'bottom' }
]" :style="{ top: `${goodStatusScreenY}px`, left: `${goodStatusScreenX}px` }">
<div
class="goods-hovers-list"
:class="[
{ 'hide-goods-hover': !goodStatusShow },
{ 'seat-top': goodStatusSeat === 'top' },
{ 'seat-bottom': goodStatusSeat === 'bottom' }
]"
:style="{ top: `${goodStatusScreenY}px`, left: `${goodStatusScreenX}px` }">
<div class="title">货运动态</div>
<template v-for="(goodStatusItem, gindex) in goodStatusData">
<template v-if="goodStatusItem.finishTime || goodStatusItem.remark">
@ -410,9 +469,16 @@
<a-form>
<a-row :gutter="16">
<a-col :span="24" class="book-model-box">
<a-form-item label="请选择订阅内容" :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"
<a-form-item
label="请选择订阅内容"
: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" />
</a-form-item>
</a-col>
@ -423,18 +489,33 @@
<a-button type="primary" @click="traceSend"></a-button>
</template>
</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">
<div class="trace-box">
<a-form :form="editingForm">
<a-row :gutter="26">
<a-col :span="12" class="book-model-box">
<a-form-item label="船名" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" has-feedback>
<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-form-item
label="船名"
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
has-feedback>
<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">
{{ item.name }}
</a-select-option>
@ -442,31 +523,54 @@
</a-form-item>
</a-col>
<a-col :span="12" class="book-model-box">
<a-form-item label="开船日期" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
: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
label="开船日期"
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
: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-col>
<a-col :span="12" class="book-model-box">
<a-form-item label="内部航次" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" has-feedback>
<a-form-item
label="内部航次"
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
has-feedback>
<a-input v-decorator="['voynoinner']" />
</a-form-item>
</a-col>
<a-col :span="12" class="book-model-box">
<a-form-item label="海关航次" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" has-feedback>
<a-form-item
label="海关航次"
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
has-feedback>
<a-input v-decorator="['voyno']" />
</a-form-item>
</a-col>
<a-col :span="12" class="book-model-box">
<a-form-item label="卸货港" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" 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-form-item
label="卸货港"
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
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">
{{ item.enName }}
</a-select-option>
@ -474,17 +578,31 @@
</a-form-item>
</a-col>
<a-col :span="12" class="book-model-box">
<a-form-item label="卸货代码" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" has-feedback>
<a-form-item
label="卸货代码"
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
has-feedback>
<a-input v-decorator="['portDischargeId']" />
</a-form-item>
</a-col>
<a-col :span="12" class="book-model-box">
<a-form-item label="目的港" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" 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-form-item
label="目的港"
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
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">
{{ item.enName }}
</a-select-option>
@ -492,29 +610,65 @@
</a-form-item>
</a-col>
<a-col :span="12" class="book-model-box">
<a-form-item label="目的代码" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }" has-feedback>
<a-form-item
label="目的代码"
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
:wrapperCol="{ xs: { span: 24 }, sm: { span: 18 } }"
has-feedback>
<a-input v-decorator="['destinationid']" />
</a-form-item>
</a-col>
<a-col :span="12" class="book-model-box">
<a-form-item label="截港时间" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
: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
label="截港时间"
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
: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-col>
<a-col :span="12" class="book-model-box">
<a-form-item label="截单时间" :labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
: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
label="截单时间"
:labelCol="{ xs: { span: 24 }, sm: { span: 5 } }"
: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-col>
</a-row>
</a-form>
</div>
</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>
</div>
</template>
@ -543,7 +697,8 @@ import {
DjyUserConfigMulti,
DeleteBookingOrder,
ExcuteShippingOrderCompareBatch,
GetTenantLineList
GetTenantLineList,
downloadBookingConfirm
} from '@/api/modular/main/BookingLedger'
import initData from './modules/initData'
@ -651,7 +806,9 @@ export default {
portDischargeData: [],
destinationData: [],
RcarrierData: [],
RecentlyCarrierData: []
RecentlyCarrierData: [],
bcFile: {},
bcFileFlag: false
}
},
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() {
const {
@ -898,7 +1077,6 @@ export default {
})
},
setSort(item) {
const key = JSON.parse(item.configJson).key
const sort = JSON.parse(item.configJson).sort
this.tableOrderLabel = key || ''
@ -909,7 +1087,7 @@ export default {
// - start
getCarrier() {
const Rdata = (data) => {
let RData = {}
const RData = {}
for (var i = 0; i < 26; i++) {
RData[String.fromCharCode(65 + i)] = []
data.forEach((item) => {
@ -918,14 +1096,14 @@ export default {
}
})
}
let Obj = {
const Obj = {
'A-D': ['A', 'B', 'C', 'D'],
'E-L': ['E', 'F', 'G', 'H', 'I', 'J', 'K', 'L'],
'M-R': ['M', 'N', 'O', 'P', 'Q', 'R'],
'S-U': ['S', 'T', 'U'],
'V-Z': ['V', 'W', 'X', 'Y', 'Z']
}
let Data = {
const Data = {
'A-D': [],
'E-L': [],
'M-R': [],
@ -955,7 +1133,7 @@ export default {
DjyUserConfigGet({ type: 'booking_memory' })
.then((e) => {
if (e.data) {
let data = []
const data = []
JSON.parse(e.data.configJson).forEach((item) => {
res.data.forEach((item2) => {
if (item == item2.code) {
@ -1131,7 +1309,7 @@ export default {
toggleAdvanced() {
this.advanced = !this.advanced
this.$forceUpdate()
let start = new Date().getTime()
const start = new Date().getTime()
console.log('== 点击展开 ==', start)
if (!this.advanced) {
const len = this.formData.length % 4
@ -1409,7 +1587,7 @@ export default {
}
},
addSubmit() {
let data = []
const data = []
data.push(this.carrierRadio)
if (this.RecentlyCarrierData.length) {
this.RecentlyCarrierData.forEach((item) => {
@ -2832,4 +3010,19 @@ export default {
// .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>

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

Loading…
Cancel
Save