马士基改动

master
sunzehua 8 months ago
parent 931271d2e5
commit 0c56fa4bcf

12
.env

@ -1,14 +1,14 @@
NODE_ENV=production NODE_ENV=production
VUE_APP_PREVIEW=true VUE_APP_PREVIEW=true
# VUE_APP_TYPE = 'customer' # VUE_APP_TYPE = 'customer'
VUE_APP_TYPE = 'hechuan' # VUE_APP_TYPE = 'hechuan'
# VUE_APP_TYPE = 'yunyingduan' # VUE_APP_TYPE = 'yunyingduan'
# VUE_APP_TYPE = 'gangjie' VUE_APP_TYPE = 'gangjie'
# 打包部署的三个端 客户端customer 和川端hechuan 运营端djy # 打包部署的三个端 客户端customer 和川端hechuan 运营端djy
# 和川大简云正式 # 和川大简云正式
VUE_APP_API_BASE_URL=http://47.104.85.216:12345/api # VUE_APP_API_BASE_URL=http://47.104.85.216:12345/api
VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345 # VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345
# 和川大简云测试 # 和川大简云测试
# VUE_APP_API_BASE_URL=http://60.209.125.238:35100 # VUE_APP_API_BASE_URL=http://60.209.125.238:35100
@ -23,8 +23,8 @@ VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345
# VUE_APP_SOCKET_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 VUE_APP_API_BASE_URL=http://118.190.144.189:5001
# VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:5001 VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:5001
# 客户端正式 # 客户端正式
# VUE_APP_API_BASE_URL=http://118.190.144.189:6001 # VUE_APP_API_BASE_URL=http://118.190.144.189:6001

@ -1,9 +1,9 @@
NODE_ENV=development NODE_ENV=development
VUE_APP_PREVIEW=true VUE_APP_PREVIEW=true
# VUE_APP_TYPE = 'customer' # VUE_APP_TYPE = 'customer'
# VUE_APP_TYPE = 'hechuan' VUE_APP_TYPE = 'hechuan'
# VUE_APP_TYPE = 'yunyingduan' # VUE_APP_TYPE = 'yunyingduan'
VUE_APP_TYPE = 'gangjie' # VUE_APP_TYPE = 'gangjie'
# 打包部署的三个端 客户端customer 和川端hechuan 运营端yunyingduan # 打包部署的三个端 客户端customer 和川端hechuan 运营端yunyingduan
# 和川大简云正式 # 和川大简云正式
@ -11,8 +11,8 @@ VUE_APP_TYPE = 'gangjie'
# VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345 # VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345
# 和川大简云测试 # 和川大简云测试
# VUE_APP_API_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_SOCKET_BASE_URL=http://60.209.125.238:35100
# 客户端测试 # 客户端测试
# VUE_APP_API_BASE_URL=http://60.209.125.238:30813 # VUE_APP_API_BASE_URL=http://60.209.125.238:30813
@ -23,8 +23,8 @@ VUE_APP_TYPE = 'gangjie'
# VUE_APP_SOCKET_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 # VUE_APP_API_BASE_URL=http://118.190.144.189:5001
VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:5001 # VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:5001
# 运营端正式 # 运营端正式
# VUE_APP_API_BASE_URL=http://118.190.144.189:6002 # VUE_APP_API_BASE_URL=http://118.190.144.189:6002

@ -144,7 +144,6 @@
style="width: 100%"> style="width: 100%">
<a-spin v-if="fetching" slot="notFoundContent" size="small" /> <a-spin v-if="fetching" slot="notFoundContent" size="small" />
<a-select-option <a-select-option
v-else
v-for="(item, index) in portloadList" v-for="(item, index) in portloadList"
:key="item.carrierGeoID" :key="item.carrierGeoID"
:value="item.carrierGeoID"> :value="item.carrierGeoID">
@ -167,7 +166,6 @@
style="width: 100%"> style="width: 100%">
<a-spin v-if="fetching" slot="notFoundContent" size="small" /> <a-spin v-if="fetching" slot="notFoundContent" size="small" />
<a-select-option <a-select-option
v-else
v-for="(item, index) in portdischargeList" v-for="(item, index) in portdischargeList"
:key="item.carrierGeoID" :key="item.carrierGeoID"
:value="item.carrierGeoID"> :value="item.carrierGeoID">
@ -207,6 +205,13 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row>
<a-col :span="16">
<a-form-model-item label="强制不使用船期表订舱">
<a-switch v-model="form.isSendNoSchedule">使</a-switch>
</a-form-model-item>
</a-col>
</a-row>
<div class="box" v-for="(item, index) in shipData" :key="index"> <div class="box" v-for="(item, index) in shipData" :key="index">
<div class="left" style="width: 100%;"> <div class="left" style="width: 100%;">
<div class="top"> <div class="top">
@ -358,11 +363,7 @@
</div> </div>
</a-spin> </a-spin>
<template slot="footer"> <template slot="footer">
<a-popconfirm <a-popconfirm title="确定发送吗?" ok-text="" cancel-text="" @confirm="handleSubimt">
title="确定发送吗?"
ok-text="是"
cancel-text="否"
@confirm="handleSubimt">
<a-button type="primary">发送</a-button> <a-button type="primary">发送</a-button>
</a-popconfirm> </a-popconfirm>
<a-button type="primary" @click="handleSave"></a-button> <a-button type="primary" @click="handleSave"></a-button>
@ -736,6 +737,7 @@ export default {
this.form.exportVoyageNumber = item.carrierDepartureVoyageNumber this.form.exportVoyageNumber = item.carrierDepartureVoyageNumber
this.form.estSailingDays = item.days this.form.estSailingDays = item.days
this.form.transportMode = item.transportMode this.form.transportMode = item.transportMode
this.form.carrierProductId = item.carrierProductId
this.shipData.push(item) this.shipData.push(item)
this.visible = false this.visible = false
this.$forceUpdate() this.$forceUpdate()
@ -798,6 +800,11 @@ export default {
if (item.carrierGeoID === val) { if (item.carrierGeoID === val) {
this.form.placeOfReceiptCityName = item.cityName this.form.placeOfReceiptCityName = item.cityName
this.form.placeOfReceiptCountryCode = item.countryCode this.form.placeOfReceiptCountryCode = item.countryCode
this.form.userPlaceOfReceiptUnLocCode = item.unLocationCode
this.form.userPlaceOfReceiptCityName = item.cityName
this.form.userPlaceOfReceiptCountryCode = item.countryCode
this.form.userPlaceOfReceiptCountryName = item.countryName
this.form.userPlaceOfReceiptRegionName = item.unRegionName
} }
}) })
}, },
@ -806,6 +813,11 @@ export default {
if (item.carrierGeoID === val) { if (item.carrierGeoID === val) {
this.form.placeOfDeliveryCityName = item.cityName this.form.placeOfDeliveryCityName = item.cityName
this.form.placeOfDeliveryCountryCode = item.countryCode this.form.placeOfDeliveryCountryCode = item.countryCode
this.form.userPlaceOfDeliveryUnLocCode = item.unLocationCode
this.form.userPlaceOfDeliveryCityName = item.cityName
this.form.userPlaceOfDeliveryCountryCode = item.countryCode
this.form.userPlaceOfDeliveryCountryName = item.countryName
this.form.userPlaceOfDeliveryRegionName = item.unRegionName
} }
}) })
}, },

@ -930,6 +930,20 @@
<a-input :allowClear="true" v-model="modelName" /> <a-input :allowClear="true" v-model="modelName" />
</div> </div>
</a-modal> </a-modal>
<a-modal
title="校验不通过"
:width="700"
:visible="checkFlag"
@cancel="checkFlag=false">
<div v-for="(item,index) in checkList" :key="index">
{{ item }}
</div>
<div>校验不通过是否继续</div>
<template slot="footer">
<a-button type="primary" :loading="sendLoading" @click="nextSend"></a-button>
<a-button type="primary" @click="checkFlag=false"></a-button>
</template>
</a-modal>
<a-modal :title="modelTitle" :width="900" :visible="visible" @ok="visible = false" @cancel="visible = false"> <a-modal :title="modelTitle" :width="900" :visible="visible" @ok="visible = false" @cancel="visible = false">
<div> <div>
<div v-if="modelType === 1" style="display: flex;"> <div v-if="modelType === 1" style="display: flex;">
@ -1075,6 +1089,7 @@ export default {
consigneeTemplate: '', consigneeTemplate: '',
notifypartyTemplate: '', notifypartyTemplate: '',
modelType: '', modelType: '',
checkFlag: false,
modelName: '', modelName: '',
modelVisible: false, modelVisible: false,
shippername: '', shippername: '',
@ -1601,6 +1616,7 @@ export default {
selectArr: [], selectArr: [],
showSendModel: false, showSendModel: false,
sendType: '0', sendType: '0',
checkList: [],
sendOption: [ sendOption: [
{ label: '新增', value: '0' }, { label: '新增', value: '0' },
{ label: '修改', value: '1' }, { label: '修改', value: '1' },
@ -2618,13 +2634,60 @@ export default {
{ {
Ids: this.sendArr.toString(), Ids: this.sendArr.toString(),
type: this.sendType, type: this.sendType,
isCheck: true,
SENDREMARK: this.sendRemarkVal SENDREMARK: this.sendRemarkVal
}, },
{ arrayFormat: 'repeat' } { arrayFormat: 'repeat' }
) )
seaeEdiCustEDI(query) seaeEdiCustEDI(query)
.then((res) => { .then((res) => {
if (res.success) {
let tip = ''
if (this.sendType == '0') {
tip = '新增发送成功'
} else if (this.sendType == '1') {
tip = '修改发送成功'
} else if (this.sendType == '2') {
tip = '删除发送成功'
}
this.$message.success(tip)
this.selectArr.map((item, index) => {
if (this.sendType == '0') {
this.orderList[item].state = '已直发'
} else if (this.sendType == '1') {
this.orderList[item].state = '已直发'
} else if (this.sendType == '2') {
this.orderList[item].state = '已删除'
}
})
this.sendClose()
} else {
if (res.message === '校验不通过') {
this.checkFlag = true
this.checkList = res.extras.checkResult
}
this.$message.error(res.message)
}
this.sendLoading = false
})
.catch((err) => {
this.sendLoading = false this.sendLoading = false
console.log(err)
})
},
nextSend() {
this.sendLoading = true
const query = this.$qs.stringify(
{
Ids: this.sendArr.toString(),
type: this.sendType,
isCheck: false,
SENDREMARK: this.sendRemarkVal
},
{ arrayFormat: 'repeat' }
)
seaeEdiCustEDI(query)
.then((res) => {
if (res.success) { if (res.success) {
let tip = '' let tip = ''
if (this.sendType == '0') { if (this.sendType == '0') {
@ -2646,8 +2709,13 @@ export default {
}) })
this.sendClose() this.sendClose()
} else { } else {
if (res.message === '校验不通过') {
this.checkFlag = true
this.checkList = res.extras.checkResult
}
this.$message.error(res.message) this.$message.error(res.message)
} }
this.sendLoading = false
}) })
.catch((err) => { .catch((err) => {
this.sendLoading = false this.sendLoading = false

@ -2,28 +2,38 @@
<div> <div>
<a-card :bordered="false" :bodyStyle="tstyle"> <a-card :bordered="false" :bodyStyle="tstyle">
<div class="table-page-search-wrapper" :class="advanced ? 'Open' : 'Close'"> <div class="table-page-search-wrapper" :class="advanced ? 'Open' : 'Close'">
<a-form :model="form" :label-col="{ span: 8 }" :wrapper-col="{ span: 16 }"> <a-form :model="form" :label-col="{ span: 9 }" :wrapper-col="{ span: 15 }">
<a-row> <a-row>
<a-col :span="6"> <a-col :span="4">
<a-form-item label="订舱号">
<a-input v-model="form.BookingReference" allow-clear placeholder="请输入订舱号" />
</a-form-item>
</a-col>
<a-col :span="4">
<a-form-item label="订舱人">
<a-input v-model="form.BookingCreator" allow-clear placeholder="请输入订舱人" />
</a-form-item>
</a-col>
<a-col :span="4">
<a-form-item label="合约号"> <a-form-item label="合约号">
<a-input v-model="form.priceReference" allow-clear placeholder="请输入合约号" /> <a-input v-model="form.priceReference" allow-clear placeholder="请输入合约号" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="4">
<a-form-item label="船名"> <a-form-item label="船名">
<a-input v-model="form.vessel" allow-clear placeholder="请输入船名" /> <a-input v-model="form.vessel" allow-clear placeholder="请输入船名" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="4">
<a-form-item label="航次号">
<a-input v-model="form.voyno" allow-clear placeholder="请输入航次号" />
</a-form-item>
</a-col>
<a-col :span="5">
<a-form-item label="持约方公司"> <a-form-item label="持约方公司">
<a-input v-model="form.priceOwnerCompanyName" allow-clear placeholder="请输入持约方公司" /> <a-input v-model="form.priceOwnerCompanyName" allow-clear placeholder="请输入持约方公司" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="3">
<a-form-item label="航次号">
<a-input v-model="form.voyno" allow-clear placeholder="请输入航次号" />
</a-form-item>
</a-col>
<a-col :span="1"> <a-col :span="1">
<a @click="toggleAdvanced" style="margin-left: 8px;margin-top: 9px;display: inline-block;"> <a @click="toggleAdvanced" style="margin-left: 8px;margin-top: 9px;display: inline-block;">
{{ advanced ? '收起' : '展开' }} {{ advanced ? '收起' : '展开' }}
@ -32,17 +42,17 @@
</a-col> </a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="6"> <a-col :span="4">
<a-form-item label="始发地"> <a-form-item label="始发地">
<a-input v-model="form.placeReceiptCity" allow-clear placeholder="请输入始发地" /> <a-input v-model="form.placeReceiptCity" allow-clear placeholder="请输入始发地" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="4">
<a-form-item label="预计离港时间"> <a-form-item label="预计离港时间">
<a-range-picker valueFormat="YYYY-MM-DD" v-model="form.eDeparture" /> <a-range-picker valueFormat="YYYY-MM-DD" v-model="form.eDeparture" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="4">
<a-form-item label="是否冷冻处理"> <a-form-item label="是否冷冻处理">
<a-select v-model="form.isReefer"> <a-select v-model="form.isReefer">
<a-select-option :value="1"> <a-select-option :value="1">
@ -54,24 +64,24 @@
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="5"> <a-col :span="4">
<a-form-item label="订舱公司代码"> <a-form-item label="订舱公司代码">
<a-input v-model="form.bookedByCompanyPartyCode" allow-clear placeholder="请输入发件服务器" /> <a-input v-model="form.bookedByCompanyPartyCode" allow-clear placeholder="请输入订舱公司代码" />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> <a-col :span="4">
<a-row>
<a-col :span="6">
<a-form-item label="目的地"> <a-form-item label="目的地">
<a-input v-model="form.placeDeliveryCity" allow-clear placeholder="请输入目的地" /> <a-input v-model="form.placeDeliveryCity" allow-clear placeholder="请输入目的地" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="3">
<a-form-item label="ETD"> <a-form-item label="ETD">
<a-range-picker valueFormat="YYYY-MM-DD" v-model="form.etd" /> <a-range-picker valueFormat="YYYY-MM-DD" v-model="form.etd" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="6"> </a-row>
<a-row>
<a-col :span="4">
<a-form-item label="货物标志"> <a-form-item label="货物标志">
<a-select v-model="form.commodityCodeType"> <a-select v-model="form.commodityCodeType">
<a-select-option value="DRY"> <a-select-option value="DRY">
@ -83,24 +93,22 @@
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="5"> <a-col :span="4">
<a-form-item label="持约方公司代码"> <a-form-item label="持约方公司代码">
<a-input v-model="form.priceOwnerCompanyPartyCode" allow-clear placeholder="请输入持约方公司代码" /> <a-input v-model="form.priceOwnerCompanyPartyCode" allow-clear placeholder="请输入持约方公司代码" />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> <a-col :span="4">
<a-row>
<a-col :span="6">
<a-form-item label="订舱公司"> <a-form-item label="订舱公司">
<a-input v-model="form.bookedByCompanyName" allow-clear placeholder="请输入订舱公司" /> <a-input v-model="form.bookedByCompanyName" allow-clear placeholder="请输入订舱公司" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="4">
<a-form-item label="ETA"> <a-form-item label="ETA">
<a-range-picker valueFormat="YYYY-MM-DD" v-model="form.eta" /> <a-range-picker valueFormat="YYYY-MM-DD" v-model="form.eta" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="4">
<a-form-item label="是否持约方"> <a-form-item label="是否持约方">
<a-select v-model="form.isbookingPartOwnPrice"> <a-select v-model="form.isbookingPartOwnPrice">
<a-select-option value="true"> <a-select-option value="true">
@ -112,7 +120,7 @@
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="5"> <a-col :span="3">
<a-form-item label="定时时间"> <a-form-item label="定时时间">
<a-range-picker valueFormat="YYYY-MM-DD" v-model="form.job" /> <a-range-picker valueFormat="YYYY-MM-DD" v-model="form.job" />
</a-form-item> </a-form-item>
@ -129,82 +137,13 @@
<div> <div>
<a-button type="primary" @click="FnGetData"></a-button> <a-button type="primary" @click="FnGetData"></a-button>
<a-button style="margin-left: 8px" @click="init"></a-button> <a-button style="margin-left: 8px" @click="init"></a-button>
<tableSort style="margin-left: 10px;" @columnChange="handleColumnChange" :columns="columns" :columnsAll="columnsAll"></tableSort> <tableSort
style="margin-left: 10px;"
@columnChange="handleColumnChange"
:columns="columns"
:columnsAll="columnsAll"></tableSort>
</div> </div>
</div> </div>
<!-- <vxe-table
:data="loadData"
stripe
resizable
round
:loading="loading"
ref="xTable1"
empty-text="没有更多数据了!">
<vxe-column type="checkbox" width="60"></vxe-column>
<vxe-column
v-for="item in columns"
:key="`${item.field}3`"
:field="item.field"
:min-width="item.width"
:title="item.title"
:fixed="item.fixed"
:align="item.align">
<template #default="{ row }">
<div v-if="item.field == 'vessel'">
<span>{{ row.vessel }} / {{ row.voyno }}</span>
</div>
<div v-else-if="item.field == 'isReefer'">
<span v-if="row.isReefer"></span>
<span v-else></span>
</div>
<div v-else-if="item.field == 'isJob'">
<span v-if="row.isJob"></span>
<span v-else></span>
</div>
<div v-else-if="item.field == 'isbookingPartOwnPrice'">
<span v-if="row.isbookingPartOwnPrice"></span>
<span v-else></span>
</div>
<div v-else-if="item.field == 'isImportReturned'">
<span v-if="row.isImportReturned"></span>
<span v-else></span>
</div>
<div v-else-if="item.field == 'isRecvBC'">
<a-icon type="bulb" theme="filled" style="color: green;font-size: 16px;" :title="row.lstRecvBCDate" v-if="row.isRecvBC" />
</div>
<div v-else-if="item.field == 'isRecvBKCancel'">
<a-icon type="bulb" theme="filled" style="color: red;font-size: 16px;" :title="row.lstRecvBCDate" v-if="row.isRecvBKCancel" />
</div>
<div v-else-if="item.field == 'isShipperOwned'">
<a-icon v-if="row.isShipperOwned" type="check-circle" style="color: green;font-size: 16px;" theme="filled" />
</div>
<span v-else>{{ row[item.field] }}</span>
</template>
</vxe-column>
<vxe-column title="操作" fixed="right" width="120" align="center">
<template #default="{ row }">
<vxe-button type="text" @click="handleEdit(row.id)">
<a-icon type="form" :style="{ color: '#13c2c2' }" />
</vxe-button>
<a-popconfirm
title="请确认删除?"
ok-text="是"
cancel-text="否"
@confirm="e => {
confirm(e, row.id)
}
">
<vxe-button type="text">
<a-icon type="delete" :style="{ color: '#13c2c2' }" />
</vxe-button>
</a-popconfirm>
</template>
</vxe-column>
</vxe-table>
<vxe-pager :loading="loading" :current-page="queryParam.pageNo" :page-size="queryParam.pageSize"
:total="queryParam.totalResult" :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
@page-change="handlePageChange">
</vxe-pager> -->
<vxe-grid <vxe-grid
:data="loadData" :data="loadData"
stripe stripe
@ -219,20 +158,39 @@
height="600px" height="600px"
empty-text="没有更多数据了!"> empty-text="没有更多数据了!">
<template #caozuo="{ row }"> <template #caozuo="{ row }">
<vxe-button style="padding:0;margin:0;margin-right:5px;" type="text" @click="$refs.editForm.edit(row)"> <vxe-button type="text" @click="handleEdit(row.id)">
<a-icon type="form" :style="{ color: '#13c2c2' }" /> <a-icon type="form" :style="{ color: '#13c2c2' }" />
</vxe-button> </vxe-button>
<a-popconfirm title="是否确认删除?" ok-text="" cancel-text="" @confirm="confirm(row)"> <a-popconfirm
<vxe-button style="padding:0;margin:0;" type="text"> title="请确认删除?"
ok-text="是"
cancel-text="否"
@confirm="e => {
confirm(e, row.id)
}
">
<vxe-button type="text">
<a-icon type="delete" :style="{ color: '#13c2c2' }" /> <a-icon type="delete" :style="{ color: '#13c2c2' }" />
</vxe-button> </vxe-button>
</a-popconfirm> </a-popconfirm>
</template> </template>
<template #vessel="{ row }">
<span>{{ row.vessel }} / {{ row.voyno }}</span>
</template>
<template #isRecvBC="{ row }">
<a-icon type="bulb" theme="filled" style="color: green;font-size: 16px;" :title="row.lstRecvBCDate" v-if="row.isRecvBC" />
</template>
<template #isRecvBKCancel="{ row }">
<a-icon type="bulb" theme="filled" style="color: red;font-size: 16px;" :title="row.lstRecvBCDate" v-if="row.isRecvBKCancel" />
</template>
<template #isShipperOwned="{ row }">
<a-icon v-if="row.isShipperOwned" type="check-circle" style="color: green;font-size: 16px;" theme="filled" />
</template>
<template #pager> <template #pager>
<vxe-pager <vxe-pager
:current-page="queryParam.PageNo" :current-page="queryParam.PageNo"
:page-size="queryParam.PageSize" :page-size="queryParam.PageSize"
:total="queryParam.totalCount" :total="queryParam.totalResult"
:layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']" :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
@page-change="handlePageChange"> @page-change="handlePageChange">
</vxe-pager> </vxe-pager>
@ -243,14 +201,14 @@
</div> </div>
</template> </template>
<script> <script>
import { mskGetPage, mskDelete } from '@/api/modular/main/BookingLedger' import { mskGetPage, mskDelete, DjyUserConfigMulti } from '@/api/modular/main/BookingLedger'
import columnSetting from '@/components/tableColumnSetting' import columnSetting from '@/components/tableColumnSetting'
import tableSort from '@/components/tableSort' import tableSort from '@/components/tableSort'
import mskBookingOrder from '@/components/mskBookingOrder' import mskBookingOrder from '@/components/mskBookingOrder'
import { DjyUserConfigAdd } from '@/api/modular/main/DjyUserConfig' import { DjyUserConfigAdd } from '@/api/modular/main/DjyUserConfig'
export default { export default {
components: { components: {
columnSetting, mskBookingOrder,tableSort columnSetting, mskBookingOrder, tableSort
}, },
data() { data() {
return { return {
@ -308,7 +266,8 @@ export default {
title: '船名/航次', title: '船名/航次',
align: 'center', align: 'center',
width: '100', width: '100',
field: 'vessel' field: 'vessel',
slots: { default: 'vessel' }
}, },
{ {
title: 'ETD', title: 'ETD',
@ -332,13 +291,15 @@ export default {
title: 'BC', title: 'BC',
align: 'center', align: 'center',
width: '50', width: '50',
field: 'isRecvBC' field: 'isRecvBC',
slots: { default: 'isRecvBC' }
}, },
{ {
title: 'BookingCancellation', title: 'BookingCancellation',
align: 'center', align: 'center',
width: '200', width: '200',
field: 'isRecvBKCancel' field: 'isRecvBKCancel',
slots: { default: 'isRecvBKCancel' }
}, },
{ {
title: '状态', title: '状态',
@ -350,7 +311,8 @@ export default {
title: 'soc', title: 'soc',
align: 'center', align: 'center',
width: '50', width: '50',
field: 'isShipperOwned' field: 'isShipperOwned',
slots: { default: 'isShipperOwned' }
}, },
{ {
title: '订舱人', title: '订舱人',
@ -363,6 +325,14 @@ export default {
align: 'center', align: 'center',
width: '150', width: '150',
field: 'createdTime' field: 'createdTime'
},
{
title: '操作',
align: 'center',
field: 'caozuo',
slots: { default: 'caozuo' },
width: 100,
fixed: 'right'
} }
], ],
columnsAll: [ columnsAll: [
@ -394,7 +364,8 @@ export default {
title: '船名/航次', title: '船名/航次',
align: 'center', align: 'center',
width: '100', width: '100',
field: 'vessel' field: 'vessel',
slots: { default: 'vessel' }
}, },
{ {
title: 'ETD', title: 'ETD',
@ -418,13 +389,15 @@ export default {
title: 'BC', title: 'BC',
align: 'center', align: 'center',
width: '50', width: '50',
field: 'isRecvBC' field: 'isRecvBC',
slots: { default: 'isRecvBC' }
}, },
{ {
title: 'BookingCancellation', title: 'BookingCancellation',
align: 'center', align: 'center',
width: '200', width: '200',
field: 'isRecvBKCancel' field: 'isRecvBKCancel',
slots: { default: 'isRecvBKCancel' }
}, },
{ {
title: '状态', title: '状态',
@ -436,7 +409,8 @@ export default {
title: 'soc', title: 'soc',
align: 'center', align: 'center',
width: '50', width: '50',
field: 'isShipperOwned' field: 'isShipperOwned',
slots: { default: 'isShipperOwned' }
}, },
{ {
title: '订舱人', title: '订舱人',
@ -449,6 +423,14 @@ export default {
align: 'center', align: 'center',
width: '150', width: '150',
field: 'createdTime' field: 'createdTime'
},
{
title: '操作',
align: 'center',
field: 'caozuo',
slots: { default: 'caozuo' },
width: 100,
fixed: 'right'
} }
], ],
tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' }, tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
@ -469,25 +451,14 @@ export default {
getConfigStart() { getConfigStart() {
const arr = localStorage.getItem('mskOrderSetting') ? JSON.parse(localStorage.getItem('mskOrderSetting')) : [] const arr = localStorage.getItem('mskOrderSetting') ? JSON.parse(localStorage.getItem('mskOrderSetting')) : []
if (arr.length === 0) { if (arr.length === 0) {
this.columns = JSON.parse(JSON.stringify(this.columnsAll)) this.getDict()
const data = [
{
type: 'mskOrder_list_column',
configJson: JSON.stringify(this.columns)
},
{
type: 'mskOrder_page',
configJson: JSON.stringify({ pageSize: 10 })
},
{
type: 'mskOrder_sort',
configJson: JSON.stringify({ sortField: 'etd', descSort: true })
}
]
localStorage.setItem('mskOrderSetting', JSON.stringify(data))
this.FnGetData()
} else { } else {
const $data = {} this.setLocalStorage()
}
},
setLocalStorage() {
const arr = localStorage.getItem('mskOrderSetting') ? JSON.parse(localStorage.getItem('mskOrderSetting')) : []
const $data = {}
arr.map((item, index) => { arr.map((item, index) => {
switch (item.type) { switch (item.type) {
case 'mskOrder_list_column': case 'mskOrder_list_column':
@ -501,7 +472,6 @@ export default {
break break
} }
}) })
console.log(JSON.parse($data.mskOrder_list_column.configJson))
if (Object.keys($data).includes('mskOrder_list_column')) { if (Object.keys($data).includes('mskOrder_list_column')) {
this.columns = JSON.parse($data.mskOrder_list_column.configJson) this.columns = JSON.parse($data.mskOrder_list_column.configJson)
} else { } else {
@ -539,7 +509,6 @@ export default {
setTimeout(() => { setTimeout(() => {
this.FnGetData() this.FnGetData()
}, 200); }, 200);
}
}, },
handlePageChange({ currentPage, pageSize }) { handlePageChange({ currentPage, pageSize }) {
if (this.queryParam.pageSize !== pageSize) { if (this.queryParam.pageSize !== pageSize) {
@ -550,11 +519,46 @@ export default {
this.queryParam.PageSize = pageSize this.queryParam.PageSize = pageSize
this.FnGetData() this.FnGetData()
}, },
getDict() {
const query = {
typeArr: ['mskOrder_list_column', 'mskOrder_page', 'mskOrder_sort']
}
DjyUserConfigMulti(this.$qs.stringify(query)).then(res => {
const arr = []
res.data.forEach(item => {
if (item.type.includes('mskOrder')) {
arr.push(item)
}
})
if (arr.length > 0) {
localStorage.setItem('mskOrderSetting', JSON.stringify(arr))
this.setLocalStorage()
} else {
this.columns = JSON.parse(JSON.stringify(this.columnsAll))
const data = [
{
type: 'mskOrder_list_column',
configJson: JSON.stringify(this.columns)
},
{
type: 'mskOrder_page',
configJson: JSON.stringify({ pageSize: 10 })
},
{
type: 'mskOrder_sort',
configJson: JSON.stringify({ sortField: 'etd', descSort: true })
}
]
localStorage.setItem('mskOrderSetting', JSON.stringify(data))
this.FnGetData()
}
})
},
changeSetting(key, value) { changeSetting(key, value) {
const arr = localStorage.getItem('mskOrderSetting') ? JSON.parse(localStorage.getItem('mskOrderSetting')) : [] const arr = localStorage.getItem('mskOrderSetting') ? JSON.parse(localStorage.getItem('mskOrderSetting')) : []
arr.forEach(item => { arr.forEach(item => {
if (item.type === key) { if (item.type === key) {
item.configJson = JSON.stringify(value) item.configJson = JSON.stringify(value)
} }
}) })
localStorage.setItem('mskOrderSetting', JSON.stringify(arr)) localStorage.setItem('mskOrderSetting', JSON.stringify(arr))

@ -2,12 +2,6 @@
<div class="main"> <div class="main">
<a-spin :spinning="loading"> <a-spin :spinning="loading">
<a-form id="formLogin" class="user-layout-login" ref="formLogin" :form="form" @submit="handleSubmit"> <a-form id="formLogin" class="user-layout-login" ref="formLogin" :form="form" @submit="handleSubmit">
<!-- <a-tabs
:activeKey="customActiveKey"
:tabBarStyle="{ textAlign: 'center', borderBottom: 'unset' }"
@change="handleTabClick"
> -->
<!-- <a-tab-pane key="tab1" tab="账号密码登录"> -->
<a-alert <a-alert
v-if="isLoginError" v-if="isLoginError"
type="error" type="error"
@ -44,61 +38,6 @@
<a-icon slot="prefix" type="lock" :style="{ color: 'rgba(0,0,0,.25)' }" /> <a-icon slot="prefix" type="lock" :style="{ color: 'rgba(0,0,0,.25)' }" />
</a-input> </a-input>
</a-form-item> </a-form-item>
<!-- </a-tab-pane> -->
<!-- <a-tab-pane key="tab2" tab="手机号登录">
<a-alert
v-if="isLoginError"
type="error"
showIcon
style="margin-bottom: 24px;"
:message="this.accountLoginErrMsg"
/>
<a-form-item>
<a-input
size="large"
type="text"
placeholder="手机号"
v-decorator="[
'mobile',
{
rules: [{ required: true, pattern: /^1[34578]\d{9}$/, message: '请输入正确的手机号' }],
validateTrigger: 'change'
}
]"
>
<a-icon slot="prefix" type="mobile" :style="{ color: 'rgba(0,0,0,.25)' }" />
</a-input>
</a-form-item>
<a-row :gutter="16">
<a-col class="gutter-row" :span="16">
<a-form-item>
<a-input
size="large"
type="text"
placeholder="验证码"
v-decorator="[
'captcha',
{ rules: [{ required: true, message: '请输入验证码' }], validateTrigger: 'blur' }
]"
>
<a-icon slot="prefix" type="mail" :style="{ color: 'rgba(0,0,0,.25)' }" />
</a-input>
</a-form-item>
</a-col>
<a-col class="gutter-row" :span="8">
<a-button
class="getCaptcha"
tabindex="-1"
:disabled="state.smsSendBtn"
@click.stop.prevent="getCaptcha"
v-text="(!state.smsSendBtn && '获取验证码') || state.time + ' s'"
></a-button>
</a-col>
</a-row>
</a-tab-pane> -->
<!-- </a-tabs> -->
<a-form-item> <a-form-item>
<a-checkbox v-decorator="['rememberMe', { valuePropName: 'checked' }]"></a-checkbox> <a-checkbox v-decorator="['rememberMe', { valuePropName: 'checked' }]"></a-checkbox>
<a @click="FnGo" class="forge-password" style="float: right;"> <a @click="FnGo" class="forge-password" style="float: right;">
@ -106,16 +45,6 @@
</a> </a>
</a-form-item> </a-form-item>
<a-form-item>
<!-- <Verify
@success="verifySuccess"
:mode="'pop'"
:captchaType="'clickWord'"
:imgSize="{ width: '330px', height: '155px' }"
ref="verify"
></Verify> -->
</a-form-item>
<a-form-item style="margin-top:24px"> <a-form-item style="margin-top:24px">
<a-button <a-button
size="large" size="large"
@ -127,16 +56,6 @@
</a-form-item> </a-form-item>
<div class="user-login-other"> <div class="user-login-other">
<!-- <span>其他登录方式</span>
<a>
<a-icon class="item-icon" type="alipay-circle"></a-icon>
</a>
<a>
<a-icon class="item-icon" type="taobao-circle"></a-icon>
</a>
<a>
<a-icon class="item-icon" type="weibo-circle"></a-icon>
</a> -->
<a class="register" @click="FnGo"></a> <a class="register" @click="FnGo"></a>
</div> </div>
</a-form> </a-form>

Loading…
Cancel
Save