海运出口详情bug

szh-new
lijingjia 3 months ago
parent b288d20fe9
commit 9431fca8da

@ -85,6 +85,17 @@ enum Api {
GetUnitSelectInfo = '/mainApi/ClientCommon/GetUnitSelectInfo', GetUnitSelectInfo = '/mainApi/ClientCommon/GetUnitSelectInfo',
// 根据付费方式获取数量信息 // 根据付费方式获取数量信息
GetClientFrtSelectList = '/mainApi/Common/GetClientFrtSelectList', GetClientFrtSelectList = '/mainApi/Common/GetClientFrtSelectList',
// 委托单位下拉
GetControllerClientList = '/mainApi/ClientCommon/GetControllerClientListByKey',
}
// 委托单位下拉数据
export function GetControllerClientList(params) {
return request<DataResult>({
url: Api.GetControllerClientList,
method: 'get',
params
})
} }
// 船名下拉数据列表 // 船名下拉数据列表

@ -164,6 +164,16 @@ export function GetVouchingClerkList(parameter) {
params: parameter, params: parameter,
}) })
} }
// 获取航线列表
export function GetLaneUserList(parameter) {
return request({
url: '/mainApi/ClientCommon/GetLaneUserList',
method: 'get',
params: parameter,
})
}
// 获取客服列表 (Auth) // 获取客服列表 (Auth)
export function GetCustomerServiceList(parameter) { export function GetCustomerServiceList(parameter) {
return request({ return request({

@ -5,7 +5,7 @@ import { ref, unref } from 'vue'
import { BasicColumn, FormSchema } from '/@/components/Table' import { BasicColumn, FormSchema } from '/@/components/Table'
import { getDictOption } from '/@/utils/dictUtil' import { getDictOption } from '/@/utils/dictUtil'
// 下拉框数据接口 // 下拉框数据接口
import { GetClientListByCode, GetCarrierSelectList } from '/@/api/common' import { GetClientListByCode, GetCarrierSelectList, GetControllerClientList } from '/@/api/common'
import { import {
GetPackageSelectList, GetPackageSelectList,
GetOrderContactListByClientId, GetOrderContactListByClientId,
@ -22,7 +22,8 @@ import {
GetDeptList, GetDeptList,
GetSaleList, GetSaleList,
GetCustomerServiceList, GetCustomerServiceList,
GetVouchingClerkList GetVouchingClerkList,
GetLaneUserList
} from '/@/views/operation/seaexport/api/BookingLedger' } from '/@/views/operation/seaexport/api/BookingLedger'
import { useOptionsStore } from '/@/store/modules/options' import { useOptionsStore } from '/@/store/modules/options'
const optionsStore = useOptionsStore() const optionsStore = useOptionsStore()
@ -98,8 +99,7 @@ export const basicInfoFormSchema: FormSchema[] = [
colProps: { span: 5 }, colProps: { span: 5 },
componentProps: ({ formModel, formActionType }) => { componentProps: ({ formModel, formActionType }) => {
return { return {
api: GetClientListByCode, api: GetControllerClientList,
params: { code: 'controller' },
labelField: 'pinYinCode', labelField: 'pinYinCode',
valueField: 'shortName', valueField: 'shortName',
showName: 'shortName', showName: 'shortName',
@ -108,7 +108,7 @@ export const basicInfoFormSchema: FormSchema[] = [
onChange: (e, obj) => { onChange: (e, obj) => {
if (e && obj) { if (e && obj) {
setTimeout(() => { setTimeout(() => {
formActionType ? formActionType.linkageForm(obj) : null formActionType ? formActionType.linkageForm({ key: 'customerName', value: obj}) : null
}, 10) }, 10)
formModel.customerId = obj.id formModel.customerId = obj.id
} }
@ -2174,33 +2174,66 @@ export const otherInfoFormSchema: FormSchema[] = [
show: false, show: false,
}, },
{ {
label: '航线', label: '',
field: 'laneId', field: 'laneId',
component: 'Input',
show: false,
required: false,
// dynamicDisabled: false,
// colProps: { span: 12 },
// componentProps: ({ formModel }) => {
// return {
// option: optionsStore.getOptionsByCode('GetClientLanesSelectList'),
// labelField: 'laneName',
// valueField: 'id',
// filterOption: (input: string, option: any) => {
// return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
// },
// onChange: (e, obj) => {
// if (e && obj) {
// formModel.lane = obj.label
// formModel.laneCode = obj.ediCode
// }
// if (!e && !obj) {
// formModel.lane = null
// formModel.laneCode = null
// }
// }
// }
// }
},
{
label: '航线',
field: 'laner',
component: 'ApiSelect', component: 'ApiSelect',
required: false, required: false,
dynamicDisabled: false, dynamicDisabled: false,
colProps: { span: 12 }, colProps: { span: 12 },
componentProps: ({ formModel }) => { componentProps: ({ formModel }) => {
return { return {
option: optionsStore.getOptionsByCode('GetClientLanesSelectList'), api: GetLaneUserList,
labelField: 'laneName', labelField: 'pinYinCode',
valueField: 'id', valueField: 'userName',
filterOption: (input: string, option: any) => { showName: 'userName',
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 immediate: false,
}, resultField: 'data',
onChange: (e, obj) => { onChange: (e, obj) => {
if (e && obj) { if (e && obj) {
formModel.lane = obj.label formModel.lanerId = obj.id
formModel.laneCode = obj.ediCode
} }
if (!e && !obj) { if (!e && !obj) {
formModel.lane = null formModel.lanerId = null
formModel.laneCode = null
} }
} }
} }
} }
}, },
{
label: '',
field: 'lanerId',
component: 'Input',
show: false
},
{ {
label: '单证', label: '单证',
field: 'docName', field: 'docName',
@ -2215,8 +2248,6 @@ export const otherInfoFormSchema: FormSchema[] = [
labelField: 'pinYinCode', labelField: 'pinYinCode',
valueField: 'userName', valueField: 'userName',
showName: 'userName', showName: 'userName',
allowClear: true,
showSearch: true,
immediate: false, immediate: false,
resultField: 'data', resultField: 'data',
onChange: (e, obj) => { onChange: (e, obj) => {

@ -163,9 +163,13 @@
// 5. // 5.
// 6. // 6.
const linkageForm = async (item) => { const linkageForm = async (item) => {
console.log(item)
if (item.key == 'contractNo') { if (item.key == 'contractNo') {
// //
emitter.emit('seaAddNotes', item.value) emitter.emit('seaAddNotes', item.value)
} else if (item.key == 'customerName') {
//
emitter.emit('customerBack', item.value)
} }
} }
watch( watch(

@ -65,6 +65,7 @@
> >
</a-select> </a-select>
<div style="width: 30px"></div> <div style="width: 30px"></div>
<a-input-number v-model:value="item.ctn" size="small" :min="0" :max="999999999" placeholder="箱量" />
<a-input-number v-model:value="item.quotePrice" size="small" :min="0" :max="999999999" placeholder="报价" /> <a-input-number v-model:value="item.quotePrice" size="small" :min="0" :max="999999999" placeholder="报价" />
<a-input-number v-model:value="item.guidePrice" size="small" :min="0" :max="999999999" placeholder="指导价" /> <a-input-number v-model:value="item.guidePrice" size="small" :min="0" :max="999999999" placeholder="指导价" />
<a-input-number v-model:value="item.floorPrice" size="small" :min="0" :max="999999999" placeholder="底价" /> <a-input-number v-model:value="item.floorPrice" size="small" :min="0" :max="999999999" placeholder="底价" />

@ -136,6 +136,14 @@
}) })
} }
}) })
emitter.on('customerBack', (v) => {
console.log(v)
if (v.laneId) {
setFieldsValue({
...v
})
}
})
}) })
defineExpose({ defineExpose({
// RefbasicFrom, // RefbasicFrom,

@ -39,6 +39,12 @@
/> />
<span class="s-txt" :class="{ 's-active': model.isVouchingClerk }">{{ model.isVouchingClerk ? '是' : '否'}}</span> <span class="s-txt" :class="{ 's-active': model.isVouchingClerk }">{{ model.isVouchingClerk ? '是' : '否'}}</span>
</template> </template>
<template #isLaner="{ model }">
<a-switch
v-model:checked="model.isLaner"
/>
<span class="s-txt" :class="{ 's-active': model.isLaner }">{{ model.isLaner ? '是' : '否'}}</span>
</template>
<template #isSale="{ model }"> <template #isSale="{ model }">
<a-switch <a-switch
v-model:checked="model.isSale" v-model:checked="model.isSale"

@ -270,6 +270,13 @@ export const formSchema: FormSchema[] = [
component: 'Switch', component: 'Switch',
colProps: { span: 6 }, colProps: { span: 6 },
}, },
{
field: 'isLaner',
slot: 'isLaner',
label: '是否航线',
component: 'Switch',
colProps: { span: 6 },
},
{ {
field: 'isSale', field: 'isSale',
slot: 'isSale', slot: 'isSale',
@ -338,6 +345,12 @@ export const formSchema: FormSchema[] = [
} }
}, },
}, },
{
field: 'userNumber',
component: 'Input',
label: '',
show: false
},
{ {
field: 'divider-selects', field: 'divider-selects',
component: 'Divider', component: 'Divider',

Loading…
Cancel
Save