自定义标题

szh_zidingyibiaoti
sunzehua 2 years ago
commit 60bab44640

@ -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,35 @@ export function seaeEdiCustEDI(parameter) {
data: parameter data: parameter
}) })
} }
export function downloadBookingConfirm(parameter) {
return axios({
url: '/BookingValueAdded/DownloadBookingConfirm',
method: 'post',
data: parameter
})
}
export function downloadDraft(parameter) {
return axios({
url: '/BookingValueAdded/DownloadDraft',
method: 'post',
data: parameter
})
}
export function checkUpdateETA(parameter) {
return axios({
url: '/BookingValueAdded/CheckUpdateETA',
method: 'post',
data: parameter
})
}
export function checkUpdateManifestNo(parameter) {
return axios({
url: '/BookingValueAdded/CheckUpdateManifestNo',
method: 'post',
data: parameter
})
}

@ -16,7 +16,7 @@ export default {
selectedRows: [], selectedRows: [],
selectedRowKeys: [], selectedRowKeys: [],
sortObj: { DescSort: '' },
localLoading: false, localLoading: false,
localDataSource: [], localDataSource: [],
localPagination: Object.assign({}, this.pagination), localPagination: Object.assign({}, this.pagination),
@ -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,25 +129,29 @@ 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 + '条'
} }
})) || })) ||
false false
this.needTotalList = this.initTotalList(this.columns) this.needTotalList = this.initTotalList(this.columns)
this.sortObj = {
DescSort: '',
field: ''
}
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
} }
@ -161,6 +169,7 @@ export default {
* @param Boolean bool * @param Boolean bool
*/ */
refresh(bool = false) { refresh(bool = false) {
console.log(this.sortObj)
bool && bool &&
(this.localPagination = Object.assign( (this.localPagination = Object.assign(
{}, {},
@ -179,6 +188,9 @@ export default {
*/ */
loadData(pagination, filters, sorter) { loadData(pagination, filters, sorter) {
this.localLoading = true this.localLoading = true
if (sorter) {
this.sortObj = sorter
}
const parameter = Object.assign( const parameter = Object.assign(
{ {
pageNo: pageNo:
@ -188,20 +200,25 @@ export default {
(this.showPagination && this.localPagination.pageSize) || (this.showPagination && this.localPagination.pageSize) ||
this.pageSize this.pageSize
}, },
(sorter && (this.sortObj && this.sortObj.field && { SortField: this.sortObj.field }) || {},
sorter.field && {
sortField: sorter.field
}) ||
{},
(sorter &&
sorter.order && {
sortOrder: sorter.order
}) ||
{},
{ {
...filters ...filters
} }
) )
if (this.sortObj && this.sortObj.order === 'descend' && this.sortObj.field) {
parameter.DescSort = true
this.sortObj.DescSort = true
} else {
if (this.sortObj && this.sortObj.field) {
parameter.DescSort = false
this.sortObj.DescSort = false
} else {
delete parameter.DescSort
if (this.sortObj) {
this.sortObj.DescSort = ''
}
}
}
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 +396,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

@ -52,7 +52,7 @@
:defaultVal="details.goodsname" :defaultVal="details.goodsname"
searchApi="getGoodsname" searchApi="getGoodsname"
:searchQuery="{ queryItem: '', top: 50 }" :searchQuery="{ queryItem: '', top: 50 }"
:showLabel="['goodsCode', 'goodsNameEN']" :showLabel="['goodsNameEN', 'goodsCode']"
:openSearch="true" :openSearch="true"
@change="getSelectViewRes" @change="getSelectViewRes"
style="width: 75%;max-width:210px;" style="width: 75%;max-width:210px;"

@ -293,6 +293,7 @@ export default {
edit: false, edit: false,
width: 130, width: 130,
renderBodyCell: ({ row, column, rowIndex }, h) => { renderBodyCell: ({ row, column, rowIndex }, h) => {
this.openEdit = true
return ( return (
<a-select <a-select
size="small" size="small"
@ -1104,47 +1105,32 @@ export default {
'== 当前是否允许编辑 ==', '== 当前是否允许编辑 ==',
this.cellSelectionOption.enable this.cellSelectionOption.enable
) )
// console.log(':' + event.key + ':' + event.keyCode, document.activeElement); const arr = []
// if ([37, 38, 39, 40, 9].includes(event.keyCode)) { if (document.getElementsByClassName('ant-select-dropdown').length > 0) {
// event = window.event || event; document.getElementsByClassName('ant-select-dropdown').forEach((item) => {
// if (event.stopPropagation) { const style = item.style
// event.stopPropagation(); if (style.display !== 'none') {
// event.preventDefault() arr.push(1)
// } else { }
// event.cancelBubble = true; })
// } }
// // this.openKeyDown = true if (arr.length === 0) {
// setTimeout(() => { this.cellSelectionOption.enable = true
// const activeDom = document.getElementsByClassName('ve-table-cell-selection')[0].firstChild if ([37, 38, 39, 40, 9].includes(event.keyCode)) {
// if (this.isDOM(activeDom)) { if (arr.length === 0) {
// const isCtnall = activeDom.classList.contains('ctnallView') // this.openKeyDown = true
// const isKindpkgs = activeDom.classList.contains('kindpkgsView')
// if (isCtnall) { setTimeout(() => {
// console.log('== table ==') const activeDom = document.getElementsByClassName('ve-table-cell-selection')[0].firstChild
// activeDom.click() if (this.isDOM(activeDom)) {
// // this.cellSelectionOption.enable = false activeDom.click()
// // setTimeout(() => { }
// // this.cellAutofillOption = false }, 200)
// // this.rowKeyName = false }
// // this.tableData.map((item, index) => { }
// // delete item.rowKey } else {
// // }) this.cellSelectionOption.enable = false
// // }, 300) }
// }
// if (isKindpkgs) {
// activeDom.click()
// // this.cellSelectionOption.enable = false
// // setTimeout(() => {
// // this.cellAutofillOption = false
// // this.rowKeyName = false
// // this.tableData.map((item, index) => {
// // delete item.rowKey
// // })
// // }, 300)
// }
// }
// }, 600)
// }
} }
}) })
} }

@ -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,8 +89,13 @@
@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
>保存</a-button class="save-btn"
type="link"
size="small"
icon="save"
@click="saveModel('consignee')"
>保存</a-button
> >
<div class="right"> <div class="right">
<span class="btn-circle" @click="spliceMore('consignee')" :style="{ fontSize: '14px' }">*</span> <span class="btn-circle" @click="spliceMore('consignee')" :style="{ fontSize: '14px' }">*</span>
@ -119,8 +141,13 @@
@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
>保存</a-button class="save-btn"
type="link"
size="small"
icon="save"
@click="saveModel('notifyparty')"
>保存</a-button
> >
<div class="right"> <div class="right">
<span class="btn-circle" @click="spliceMore('notifyparty')" :style="{ fontSize: '14px' }">*</span> <span class="btn-circle" @click="spliceMore('notifyparty')" :style="{ fontSize: '14px' }">*</span>
@ -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,14 +1299,15 @@ 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 {
strRet += arr2[a.substr(0, 1)] strRet += arr2[a.substr(0, 1)]
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;
} }

File diff suppressed because it is too large Load Diff

@ -4,50 +4,21 @@
<inputView ref="inputView" :type="labelData.label" :parentVal="value" @getInputChange="inputChange" /> <inputView ref="inputView" :type="labelData.label" :parentVal="value" @getInputChange="inputChange" />
</template> </template>
<template v-else-if="labelData.type == 'date'"> <template v-else-if="labelData.type == 'date'">
<datePickerView <datePickerView ref="datePickerView" class="date-picker" :parentVal="value" type="etd" format="YYYY-MM-DD"
ref="datePickerView" @dateChange="dateChangeFun"></datePickerView>
class="date-picker"
:parentVal="value"
type="etd"
format="YYYY-MM-DD"
@dateChange="dateChangeFun"
></datePickerView>
</template> </template>
<template v-else-if="labelData.type == 'dateRange'"> <template v-else-if="labelData.type == 'dateRange'">
<div class="picker-box" style="display: flex; padding-right: 2px"> <div class="picker-box" style="display: flex; padding-right: 2px">
<a-date-picker <a-date-picker style="min-width: 30px; flex: 1" v-model="startValue" :disabled-date="disabledStartDate"
style="min-width: 30px; flex: 1" format="YYYY-MM-DD" suffixIcon=" " placeholder="开始时间" @openChange="handleStartOpenChange" />
v-model="startValue"
:disabled-date="disabledStartDate"
format="YYYY-MM-DD"
suffixIcon=" "
placeholder="开始时间"
@openChange="handleStartOpenChange"
/>
<span style="margin: 0 4px">-</span> <span style="margin: 0 4px">-</span>
<a-date-picker <a-date-picker style="min-width: 30px; flex: 1" v-model="endValue" :disabled-date="disabledEndDate"
style="min-width: 30px; flex: 1" format="YYYY-MM-DD" placeholder="结束时间" suffixIcon=" " :open="endOpen" @openChange="handleEndOpenChange" />
v-model="endValue"
:disabled-date="disabledEndDate"
format="YYYY-MM-DD"
placeholder="结束时间"
suffixIcon=" "
:open="endOpen"
@openChange="handleEndOpenChange"
/>
</div> </div>
</template> </template>
<template v-else-if="labelData.type == 'select'"> <template v-else-if="labelData.type == 'select'">
<a-select <a-select size="small" style="margin-top: 7px" v-model="value" show-search :dropdownMatchSelectWidth="false"
size="small" :filter-option="filterOption" @change="debounce(handleSelectChange, 300, $event)" @focus="getSelectFirst">
style="margin-top: 7px"
v-model="value"
show-search
:dropdownMatchSelectWidth="false"
:filter-option="filterOption"
@change="debounce(handleSelectChange, 300, $event)"
@focus="getSelectFirst"
>
<template v-if="['CARRIER', 'YARDID', 'ISSUETYPE', 'CARGOID'].includes(labelData.label)"> <template v-if="['CARRIER', 'YARDID', 'ISSUETYPE', 'CARGOID'].includes(labelData.label)">
<a-select-option v-for="(sitem, sindex) in dataList" :key="sindex"> <a-select-option v-for="(sitem, sindex) in dataList" :key="sindex">
{{ sitem[labelData.showLabel2] }}/ {{ sitem[labelData.showLabel] }} {{ sitem[labelData.showLabel2] }}/ {{ sitem[labelData.showLabel] }}
@ -66,18 +37,9 @@
</a-select> </a-select>
</template> </template>
<template v-else-if="labelData.type == 'complete'"> <template v-else-if="labelData.type == 'complete'">
<auto-complete <auto-complete size="small" :allowClear="true" class="customer-input" :dropdown-match-select-width="false"
size="small" :dropdown-style="{ width: '200px' }" v-model="value" option-label-prop="label" @select="completeSelect"
:allowClear="true" @focus="completeChangeFirst" @change="debounce(completeChange, 300, $event)">
class="customer-input"
:dropdown-match-select-width="false"
:dropdown-style="{ width: '200px' }"
v-model="value"
option-label-prop="label"
@select="completeSelect"
@focus="completeChangeFirst"
@change="debounce(completeChange, 300, $event)"
>
<!-- <template slot="dataSource" v-if="labelData.label === 'VESSEL'"> <!-- <template slot="dataSource" v-if="labelData.label === 'VESSEL'">
<a-select-option v-for="(item, index) in dataSourceList" :key="index" :value="item[labelData.showLabel]"> <a-select-option v-for="(item, index) in dataSourceList" :key="index" :value="item[labelData.showLabel]">
<div class="vessel-label"> <div class="vessel-label">
@ -87,12 +49,8 @@
</a-select-option> </a-select-option>
</template>--> </template>-->
<template slot="dataSource"> <template slot="dataSource">
<a-select-option <a-select-option v-for="(item, index) in dataSourceList" :key="`${index}-${item[labelData.showLabel]}`"
v-for="(item, index) in dataSourceList" :value="`${index}-${item[labelData.showLabel]}`" :label="item[labelData.showLabel]">
:key="`${index}-${item[labelData.showLabel]}`"
:value="`${index}-${item[labelData.showLabel]}`"
:label="item[labelData.showLabel]"
>
<div> <div>
<div class="title">{{ item[labelData.showLabel] }}</div> <div class="title">{{ item[labelData.showLabel] }}</div>
</div> </div>
@ -188,7 +146,7 @@ export default {
'bookingInitData' 'bookingInitData'
]) ])
}, },
mounted() {}, mounted() { },
methods: { methods: {
debounce(func, wait, ...args) { debounce(func, wait, ...args) {
if (timer) clearTimeout(timer) if (timer) clearTimeout(timer)
@ -286,10 +244,7 @@ export default {
'NOBILL', 'NOBILL',
'CARGOID', 'CARGOID',
'zhanCangFlag', 'zhanCangFlag',
'status', 'OP'
'taskCategory',
'taskSource',
'taskType'
].includes(this.labelData.label) ].includes(this.labelData.label)
) { ) {
this.dataList = this.emnuData(this.labelData.label) this.dataList = this.emnuData(this.labelData.label)
@ -303,6 +258,7 @@ export default {
} }
}, },
emnuData(type) { emnuData(type) {
console.log(this.bookingInitData.opInitList)
switch (type) { switch (type) {
case 'LINENAME': case 'LINENAME':
return this.lineList return this.lineList
@ -322,14 +278,8 @@ export default {
return this.labelData.data return this.labelData.data
case 'zhanCangFlag': case 'zhanCangFlag':
return this.labelData.data return this.labelData.data
case 'status': case 'OP':
return this.labelData.data return this.bookingInitData.opInitList
case 'taskCategory':
return this.labelData.data
case 'taskSource':
return this.labelData.data
case 'taskType':
return this.labelData.data
} }
}, },
completeSelect(value) { completeSelect(value) {
@ -362,7 +312,6 @@ export default {
'FORWARDER', 'FORWARDER',
'SALE', 'SALE',
'CUSTSERVICE', 'CUSTSERVICE',
'OP',
'DOC', 'DOC',
'ROUTE', 'ROUTE',
'PAYABLEAT', 'PAYABLEAT',
@ -413,10 +362,13 @@ export default {
.aa { .aa {
transform: scaleY(0.8); transform: scaleY(0.8);
} }
/deep/ .ant-select-selection__clear { /deep/ .ant-select-selection__clear {
margin-top: 0; margin-top: 0;
} }
.vessel-label { .vessel-label {
// border-bottom:1px solid #eee; // border-bottom:1px solid #eee;
.title { .title {
height: 28px; height: 28px;
@ -427,6 +379,7 @@ export default {
border-bottom: 1px dashed #ddd; border-bottom: 1px dashed #ddd;
margin-bottom: 4px; margin-bottom: 4px;
} }
.voyno, .voyno,
.etd { .etd {
height: 22px; height: 22px;
@ -439,10 +392,12 @@ export default {
/deep/.ant-calendar-picker-input { /deep/.ant-calendar-picker-input {
overflow: hidden; overflow: hidden;
} }
/deep/.ant-calendar-range-picker-input { /deep/.ant-calendar-range-picker-input {
height: 24px !important; height: 24px !important;
line-height: 24px !important; line-height: 24px !important;
} }
/deep/ .ant-input { /deep/ .ant-input {
height: 24px !important; height: 24px !important;
} }

@ -468,7 +468,7 @@ export default {
{ title: '装货港', align: 'center', width: 120, label: 'PORTLOAD', type: 'complete', showLabel: 'enName' }, { title: '装货港', align: 'center', width: 120, label: 'PORTLOAD', type: 'complete', showLabel: 'enName' },
{ title: '揽货人', align: 'center', width: 120, label: 'SALE', type: 'complete', showLabel: 'name' }, // 销售 { title: '揽货人', align: 'center', width: 120, label: 'SALE', type: 'complete', showLabel: 'name' }, // 销售
{ title: '客服员', align: 'center', width: 120, label: 'CUSTSERVICE', type: 'complete', showLabel: 'name' }, { title: '客服员', align: 'center', width: 120, label: 'CUSTSERVICE', type: 'complete', showLabel: 'name' },
{ title: '操作员', align: 'center', width: 120, label: 'OP', type: 'complete', showLabel: 'name' }, { title: '操作员', align: 'center', width: 120, label: 'OP', type: 'select', showLabel: 'name' },
{ title: '单证员', align: 'center', width: 120, label: 'DOC', type: 'complete', showLabel: 'name' }, { title: '单证员', align: 'center', width: 120, label: 'DOC', type: 'complete', showLabel: 'name' },
{ title: '报关行', align: 'center', width: 120, label: 'CUSTOMSER', type: 'complete', showLabel: 'shortName' }, { title: '报关行', align: 'center', width: 120, label: 'CUSTOMSER', type: 'complete', showLabel: 'shortName' },
{ title: '订舱编号', align: 'center', width: 120, label: 'CUSTNO', type: 'input' }, { title: '订舱编号', align: 'center', width: 120, label: 'CUSTNO', type: 'input' },

@ -92,10 +92,15 @@
:showSearch="true" :showSearch="true"
:filterOption="filterOption" :filterOption="filterOption"
v-decorator="['truckId']" v-decorator="['truckId']"
@focus="gettruckIdData" @change="Changeyardid"
@change="ChangetruckId"
allowClear allowClear
:disabled="taskPKId ? false : true" :default-active-first-option="false"
:show-arrow="false"
:filter-option="false"
:not-found-content="null"
show-search
@search="gettruckIdData"
@focus="gettruckIdData"
> >
<a-select-option v-for="item in truckIdData" :key="item.id" :value="item.id"> <a-select-option v-for="item in truckIdData" :key="item.id" :value="item.id">
{{ item.shortName }} {{ item.shortName }}
@ -318,16 +323,21 @@
</a-col> </a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="8"> <a-col :span="16">
<a-form-item label="工厂联系人:" :labelCol="labelCol8" :wrapperCol="wrapperCol8" has-feedback> <a-form-item
label="工厂联系人:"
:labelCol="labelCol4"
:wrapperCol="{ xs: { span: 25 }, sm: { span: 21 } }"
has-feedback
>
<a-input v-decorator="['factoryContact']" /> <a-input v-decorator="['factoryContact']" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <!-- <a-col :span="8">
<a-form-item label="联系电话:" :labelCol="labelCol8" :wrapperCol="wrapperCol8" has-feedback> <a-form-item label="联系电话:" :labelCol="labelCol8" :wrapperCol="wrapperCol8" has-feedback>
<a-input v-decorator="['factoryTel']" /> <a-input v-decorator="['factoryTel']" />
</a-form-item> </a-form-item>
</a-col> </a-col> -->
<a-col :span="8"> <a-col :span="8">
<a-form-item label="返场时间:" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-form-item label="返场时间:" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-date-picker v-decorator="['returnTime']" /> <a-date-picker v-decorator="['returnTime']" />
@ -1200,7 +1210,8 @@ export default {
} }
}) })
}, },
gettruckIdData(name = '', type) { gettruckIdData(name, type) {
console.log(name)
DjyCustomerQuerytDjyCustomerInfo({ queryType: 'fleet', queryItem: name }).then((res) => { DjyCustomerQuerytDjyCustomerInfo({ queryType: 'fleet', queryItem: name }).then((res) => {
this.truckIdData = res.data this.truckIdData = res.data
}) })

@ -50,12 +50,17 @@
: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
:customRequest="customRequest" :customRequest="customRequest"
@ -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>
@ -173,13 +177,15 @@ export default {
}, },
{ {
title: '姓名', title: '姓名',
dataIndex: 'name' dataIndex: 'name',
sorter: true
}, },
{ {
title: '部门', title: '部门',
dataIndex: 'sysEmpInfo', dataIndex: 'orgName',
sorter: true,
scopedSlots: { scopedSlots: {
customRender: 'sysEmpInfo' customRender: 'orgName'
} }
}, },
{ {
@ -256,6 +262,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 +370,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