feature-JimuReport-1106-yjl
lijingjia 3 weeks ago
commit 6d0819af14

@ -10,7 +10,7 @@
<!-- 费用模版表单 -->
<BasicForm @register="registerForm" />
<!-- 费用字段表格 -->
<FeeField ref="feeField"></FeeField>
<FeeField ref="feeField" v-show="!isBulk"></FeeField>
<!--右下角按钮-->
<template #footer>
<a-button
@ -52,7 +52,7 @@
//
import { formSchema } from './columns'
//
import { ApiEdit, ApiInfo } from './api'
import { ApiEdit, ApiBulkEdit, ApiInfo } from './api'
import { feeUnitDict } from '/@/hooks/dict/index'
//
import { useMessage } from '/@/hooks/web/useMessage'
@ -66,6 +66,8 @@
const emit = defineEmits(['success', 'register'])
const isUpdate = ref(true)
const isCopy = ref(false)
const isBulk = ref(false)
const ids = ref([])
const detailId = ref()
// loading
const loading = ref(false)
@ -83,6 +85,8 @@
setModalProps({ confirmLoading: false, loading: true })
isUpdate.value = !!data?.isUpdate
isCopy.value = !!data?.isCopy
isBulk.value = !!data?.isBulk
ids.value = data?.ids
if (unref(isUpdate)) {
setModalProps({ confirmLoading: true })
rowId.value = data.record.id
@ -131,6 +135,7 @@
customerName: props.customerName,
customerId: props.customerId,
saleOrgId: userStore.getUserInfo.userOrgs[0].orgId,
isBulk: isBulk.value ? true : false,
})
feeField.value.SetData([])
feeField.value.condition = ''
@ -153,7 +158,17 @@
values['customerId'] = props.customerId
loading.value = true
setModalProps({ confirmLoading: true, loading: true })
const res: API.DataResult = await ApiEdit(values)
let res: any = null
console.log(isBulk.value, 11111111111)
if (isBulk.value) {
let ApiData: any = []
ids.value.forEach((e) => {
ApiData.push({ ...values, id: e })
})
res = await ApiBulkEdit(ApiData)
} else {
res = await ApiEdit(values)
}
loading.value = false
if (res.succeeded) {
createMessage.success(res.message)

@ -4,6 +4,7 @@ import { DataResult, PageRequest } from '/@/api/model/baseModel'
enum Api {
list = '/feeApi/FeeCustTemplate/GetList',
edit = '/feeApi/FeeCustTemplate/Edit',
bulkEdit = '/feeApi/FeeCustTemplate/BulkEdit',
info = '/feeApi/FeeCustTemplate/Edit',
delete = '/feeApi/FeeCustTemplate/Delete',
GetColumns = '/mainApi/Common/GetColumnsByClient',
@ -33,6 +34,14 @@ export function ApiEdit(data: PageRequest) {
data,
})
}
// 批量编辑 (Auth)
export function ApiBulkEdit(data: PageRequest) {
return request<DataResult>({
url: Api.bulkEdit,
method: 'post',
data,
})
}
// 详情 (Auth)
export function ApiInfo(query) {
return request<DataResult>({
@ -46,7 +55,7 @@ export function ApiDel(data: PageRequest) {
return request<DataResult>({
url: Api.delete,
method: 'post',
data
data,
})
}
@ -55,6 +64,6 @@ export function DeleteDetails(data: PageRequest) {
return request<DataResult>({
url: Api.DeleteDetails,
method: 'post',
data
data,
})
}
}

@ -3,13 +3,15 @@ import { BasicColumn, FormSchema } from '/@/components/Table'
import { Tag } from 'ant-design-vue'
// 引入字典数据
import { getDictOption } from '/@/utils/dictUtil'
import { useUserStore } from '/@/store/modules/user'
const userStore: any = useUserStore()
import { getOrgList, GetClientPortSelectList, GetCarrierSelectList } from '/@/api/common'
import {
GetClientLanesSelectList,
GetAgentCnClientList,
GetClientFrtSelectList,
GetClientSourceSelectList,
GetClientSourceDetailSelectList,
} from '/@/views/operation/seaexport/api/BookingLedger'
// 往来单位下拉框数据
const companyDict = ref([])
@ -39,6 +41,8 @@ const mblFrtCodeList = ref([])
GetClientFrtSelectList().then((res) => {
mblFrtCodeList.value = res.data
})
// 业务来源明细数据
const sourceDetailId = ref<any>([])
export const columns: BasicColumn[] = [
{
title: '模板名称',
@ -499,6 +503,13 @@ export const searchFormSchema: FormSchema[] = [
},
]
export const formSchema: FormSchema[] = [
{
label: '是否批量编辑',
field: 'isBulk',
component: 'Input',
defaultValue: false,
show: false,
},
{
label: '主键Id',
field: 'id',
@ -512,6 +523,16 @@ export const formSchema: FormSchema[] = [
component: 'Input',
required: true,
colProps: { span: 6 },
show: ({ values }) => {
return !values.isBulk
},
dynamicRules: ({ values }) => {
return [
{
required: values.isBulk ? false : true,
},
]
},
},
{
field: 'businessType',
@ -519,6 +540,16 @@ export const formSchema: FormSchema[] = [
component: 'Select',
required: true,
colProps: { span: 6 },
show: ({ values }) => {
return !values.isBulk
},
dynamicRules: ({ values }) => {
return [
{
required: values.isBulk ? false : true,
},
]
},
componentProps: () => {
return {
options: businessType,
@ -552,6 +583,9 @@ export const formSchema: FormSchema[] = [
{ label: '付', value: 2 },
],
},
show: ({ values }) => {
return !values.isBulk
},
},
{
label: '费用类别名称',
@ -662,12 +696,68 @@ export const formSchema: FormSchema[] = [
required: false,
dynamicDisabled: false,
colProps: { span: 6 },
componentProps: ({ formModel }) => {
componentProps: ({ formActionType, formModel }) => {
return {
api: GetClientSourceSelectList,
labelField: 'sourceName',
valueField: 'id',
resultField: 'data',
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
onChange: async (e) => {
if (e) {
const FnsourceDetailId: any = await GetClientSourceDetailSelectList({
id: e,
})
if (FnsourceDetailId.succeeded) {
sourceDetailId.value.splice(0)
FnsourceDetailId.data.forEach((e) => {
sourceDetailId.value.push({ label: e.detailName, value: e.id })
})
}
if (formActionType) {
formModel.sourceDetailId = ''
}
}
},
}
},
},
{
label: '来源明细',
field: 'sourceDetailId',
component: 'Select',
required: false,
dynamicDisabled: ({ values }) => {
return !values.sourceId
},
colProps: { span: 6 },
componentProps: {
allowClear: true,
options: sourceDetailId.value,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
{
field: 'deptOrgId',
label: '分公司',
component: 'ApiSelect',
colProps: { span: 6 },
defaultValue: userStore.getUserInfo.orgId,
componentProps: () => {
return {
api: getOrgList,
labelField: 'label',
valueField: 'id',
resultField: 'data',
allowClear: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
}
},
},
@ -752,6 +842,7 @@ export const formSchema: FormSchema[] = [
componentProps: {
showTime: false,
style: 'width:100%',
getPopupContainer: () => document.body,
},
},
{
@ -763,6 +854,7 @@ export const formSchema: FormSchema[] = [
componentProps: {
showTime: false,
style: 'width:100%',
getPopupContainer: () => document.body,
},
},
{
@ -804,11 +896,17 @@ export const formSchema: FormSchema[] = [
label: '模板说明',
component: 'Input',
colProps: { span: 6 },
show: ({ values }) => {
return !values.isBulk
},
},
{
field: 'note',
label: '备注',
component: 'Input',
colProps: { span: 12 },
show: ({ values }) => {
return !values.isBulk
},
},
]

@ -7,6 +7,10 @@
<span class="iconfont icon-new_document"></span>
添加
</a-button>
<a-button type="link" @click="BulkEdit">
<span class="iconfont icon-dengjizongshu"></span>
批量编辑
</a-button>
<a-popconfirm
title="确定删除当前选中数据?"
ok-text="是"
@ -97,6 +101,23 @@
isUpdate: false,
})
}
function BulkEdit() {
const select = getSelectRows()
let ids: any = []
if (select.length === 0) {
notification.warning({ message: '请至少选择一条数据', duration: 3 })
return false
} else {
select.forEach((e) => {
ids.push(e.id)
})
openModal(true, {
ids,
isUpdate: false,
isBulk: true,
})
}
}
function handleAudit(record: Recordable) {
openModal(true, {
record,

@ -288,7 +288,7 @@
</div>
</template>
<script lang="ts" setup>
import { ref, computed, unref, watch, onMounted, defineAsyncComponent } from 'vue'
import { ref, computed, unref, watch, onMounted, defineAsyncComponent, h } from 'vue'
import { Divider } from 'ant-design-vue'
import { BasicForm, useForm } from '/@/components/Form/index'
import { formSchema, formSchema2, Tablecolumns } from './columns'
@ -871,6 +871,8 @@
notification.success({ message: '校验成功', duration: 3 })
})
.catch(async (err) => {
console.log(err)
let clientTagData: any = ''
let SaleData: any = ''
if (err.clientId) {

@ -10,7 +10,7 @@
<!-- 费用模版表单 -->
<BasicForm @register="registerForm" />
<!-- 费用字段表格 -->
<FeeField ref="feeField"></FeeField>
<FeeField ref="feeField" @success="handleSuccess" v-show="!isBulk"></FeeField>
<!--右下角按钮-->
<template #footer>
<a-button
@ -52,7 +52,7 @@
//
import { formSchema } from './columns'
//
import { ApiEdit, ApiInfo } from './api'
import { ApiEdit, ApiBulkEdit, ApiInfo } from './api'
import { feeUnitDict } from '/@/hooks/dict/index'
//
import { useMessage } from '/@/hooks/web/useMessage'
@ -67,6 +67,8 @@
const isUpdate = ref(true)
const isCopy = ref(false)
const isSave = ref(false)
const isBulk = ref(false)
const ids = ref([])
const detailId = ref()
// loading
const loading = ref(false)
@ -85,6 +87,8 @@
isUpdate.value = !!data?.isUpdate
isCopy.value = !!data?.isCopy
isSave.value = !!data?.isSave
isBulk.value = !!data?.isBulk
ids.value = data?.ids
if (unref(isUpdate)) {
setModalProps({ confirmLoading: true })
rowId.value = data.record.id
@ -153,7 +157,8 @@
setFieldsValue({
customerName: props.customerName,
customerId: props.customerId,
saleOrgId: userStore.getUserInfo.userOrgs[0].orgId,
// saleOrgId: userStore.getUserInfo.userOrgs[0].orgId,
isBulk: isBulk.value ? true : false,
})
feeField.value.SetData([])
feeField.value.condition = ''
@ -162,12 +167,33 @@
setModalProps({ loading: false })
},
)
async function handleSuccess() {
emit('success')
const res: API.DataResult = await ApiInfo({ id: unref(rowId) })
if (res.succeeded) {
setFieldsValue({
...res.data,
})
const UnitList = await feeUnitDict()
res.data.details.forEach((item) => {
UnitList.forEach((e: any) => {
if (e.value == item.unit) {
item.unitText = e.name
}
})
})
feeField.value.SetData(res.data.details)
feeField.value.condition = res.data.condition
detailId.value = res.data.id
}
}
const getTitle = computed(() => (!unref(isUpdate) ? '新增' : '编辑'))
//
const feeField = ref()
async function handleSave(exit) {
try {
const feeList = JSON.parse(JSON.stringify(feeField.value.validate()))
console.log(feeList, 11111111111)
let type = true
feeList.forEach((item) => {
if (item.exchangeRate == '【根据设置汇率生成】') {
@ -177,17 +203,31 @@
type = false
}
})
console.log(type, 11111111111)
if (!type) {
createMessage.warning('费用明细列表含税单价为必填项!')
throw new Error('费用明细列表含税单价为必填项!')
}
console.log(22222222)
const values = await validate()
console.log(values, 11111111111)
values['details'] = feeList
values['condition'] = feeField.value.condition
values['isShared'] = true
loading.value = true
console.log(loading.value, 11111111111)
setModalProps({ confirmLoading: true, loading: true })
const res: API.DataResult = await ApiEdit(values)
let res: any = null
console.log(isBulk.value, 11111111111)
if (isBulk.value) {
let ApiData: any = []
ids.value.forEach((e) => {
ApiData.push({ ...values, id: e })
})
res = await ApiBulkEdit(ApiData)
} else {
res = await ApiEdit(values)
}
loading.value = false
if (res.succeeded) {
createMessage.success(res.message)

@ -4,6 +4,9 @@ import { DataResult, PageRequest } from '/@/api/model/baseModel'
enum Api {
list = '/feeApi/FeeCustTemplate/GetList',
edit = '/feeApi/FeeCustTemplate/Edit',
bulkEdit = '/feeApi/FeeCustTemplate/BulkEdit',
bulkEditDetails = '/feeApi/FeeCustTemplate/BulkEditDetails',
info = '/feeApi/FeeCustTemplate/Edit',
delete = '/feeApi/FeeCustTemplate/Delete',
GetColumns = '/mainApi/Common/GetColumnsByClient',
@ -33,6 +36,22 @@ export function ApiEdit(data: PageRequest) {
data,
})
}
// 批量编辑 (Auth)
export function ApiBulkEdit(data: PageRequest) {
return request<DataResult>({
url: Api.bulkEdit,
method: 'post',
data,
})
}
// 批量编辑模板明细 (Auth)
export function ApiBulkEditDetails(data: PageRequest) {
return request<DataResult>({
url: Api.bulkEditDetails,
method: 'post',
data,
})
}
// 详情 (Auth)
export function ApiInfo(query) {
return request<DataResult>({
@ -46,7 +65,7 @@ export function ApiDel(data: PageRequest) {
return request<DataResult>({
url: Api.delete,
method: 'post',
data
data,
})
}
@ -55,6 +74,6 @@ export function DeleteDetails(data: PageRequest) {
return request<DataResult>({
url: Api.DeleteDetails,
method: 'post',
data
data,
})
}
}

@ -3,7 +3,8 @@ import { BasicColumn, FormSchema } from '/@/components/Table'
import { Tag } from 'ant-design-vue'
// 引入字典数据
import { getDictOption } from '/@/utils/dictUtil'
import { useUserStore } from '/@/store/modules/user'
const userStore: any = useUserStore()
import {
getOrgList,
GetClientPortSelectList,
@ -15,11 +16,10 @@ import {
GetAgentCnClientList,
GetClientFrtSelectList,
GetClientSourceSelectList,
GetClientSourceDetailSelectList,
} from '/@/views/operation/seaexport/api/BookingLedger'
// 往来单位下拉框数据
const companyDict = ref([])
import { useOptionsStore } from '/@/store/modules/options'
const optionsStore = useOptionsStore()
import { GetFeeCodeSelectList, GetFeeCurrencySelectList } from '/@/api/common'
import { feeUnitDict } from '/@/hooks/dict/index'
let businessType: any = [
{ value: 1, label: '海运出口' },
{ value: 2, label: '海运进口' },
@ -44,7 +44,8 @@ const mblFrtCodeList = ref([])
GetClientFrtSelectList().then((res) => {
mblFrtCodeList.value = res.data
})
// 业务来源明细数据
const sourceDetailId = ref<any>([])
export const columns: BasicColumn[] = [
{
title: '模板名称',
@ -294,7 +295,6 @@ export const searchFormSchema: FormSchema[] = [
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
onChange: (e, obj) => {
console.log(e, obj)
if (e && obj) {
formModel.feeCategoryName = obj.label
formModel.feeCategoryId = obj.value
@ -355,7 +355,7 @@ export const searchFormSchema: FormSchema[] = [
required: false,
dynamicDisabled: false,
colProps: { span: 4 },
componentProps: ({ formModel }) => {
componentProps: () => {
return {
api: GetClientLanesSelectList,
labelField: 'laneName',
@ -374,7 +374,7 @@ export const searchFormSchema: FormSchema[] = [
required: false,
dynamicDisabled: false,
colProps: { span: 4 },
componentProps: ({ formModel }) => {
componentProps: () => {
return {
api: GetClientSourceSelectList,
labelField: 'sourceName',
@ -389,7 +389,7 @@ export const searchFormSchema: FormSchema[] = [
labelSlot: 'carrierId',
component: 'ApiSelect',
colProps: { span: 4 },
componentProps: ({ formModel }) => {
componentProps: () => {
return {
api: GetCarrierSelectList,
labelField: 'pinYinCode',
@ -406,7 +406,7 @@ export const searchFormSchema: FormSchema[] = [
required: false,
dynamicDisabled: false,
colProps: { span: 4 },
componentProps: ({ formModel }) => {
componentProps: () => {
return {
api: GetAgentCnClientList,
labelField: 'shortName',
@ -425,7 +425,7 @@ export const searchFormSchema: FormSchema[] = [
required: false,
dynamicDisabled: false,
colProps: { span: 4 },
componentProps: ({ formModel, formActionType }) => {
componentProps: () => {
return {
api: GetClientFrtSelectList,
allowClear: true,
@ -505,6 +505,13 @@ export const searchFormSchema: FormSchema[] = [
},
]
export const formSchema: FormSchema[] = [
{
label: '是否批量编辑',
field: 'isBulk',
component: 'Input',
defaultValue: false,
show: false,
},
{
label: '主键Id',
field: 'id',
@ -516,16 +523,34 @@ export const formSchema: FormSchema[] = [
field: 'name',
label: '模板名称',
component: 'Input',
required: true,
colProps: { span: 6 },
show: ({ values }) => {
return !values.isBulk
},
dynamicRules: ({ values }) => {
return [
{
required: values.isBulk ? false : true,
},
]
},
},
{
field: 'businessType',
label: '业务类型',
component: 'ApiSelect',
colProps: { span: 6 },
required: true,
componentProps: ({ formModel }) => {
show: ({ values }) => {
return !values.isBulk
},
dynamicRules: ({ values }) => {
return [
{
required: values.isBulk ? false : true,
},
]
},
componentProps: () => {
return {
api: () => {
return new Promise((resolve) => {
@ -593,6 +618,9 @@ export const formSchema: FormSchema[] = [
{ label: '付', value: 2 },
],
},
show: ({ values }) => {
return !values.isBulk
},
},
{
label: '费用类别名称',
@ -623,7 +651,6 @@ export const formSchema: FormSchema[] = [
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
onChange: (e, obj) => {
console.log(e, obj)
if (e && obj) {
formModel.feeCategoryName = obj.label
formModel.feeCategoryId = obj.value
@ -684,7 +711,7 @@ export const formSchema: FormSchema[] = [
required: false,
dynamicDisabled: false,
colProps: { span: 6 },
componentProps: ({ formModel }) => {
componentProps: () => {
return {
api: GetClientLanesSelectList,
labelField: 'laneName',
@ -703,12 +730,68 @@ export const formSchema: FormSchema[] = [
required: false,
dynamicDisabled: false,
colProps: { span: 6 },
componentProps: ({ formModel }) => {
componentProps: ({ formActionType, formModel }) => {
return {
api: GetClientSourceSelectList,
labelField: 'sourceName',
valueField: 'id',
resultField: 'data',
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
onChange: async (e) => {
if (e) {
const FnsourceDetailId: any = await GetClientSourceDetailSelectList({
id: e,
})
if (FnsourceDetailId.succeeded) {
sourceDetailId.value.splice(0)
FnsourceDetailId.data.forEach((e) => {
sourceDetailId.value.push({ label: e.detailName, value: e.id })
})
}
if (formActionType) {
formModel.sourceDetailId = ''
}
}
},
}
},
},
{
label: '来源明细',
field: 'sourceDetailId',
component: 'Select',
required: false,
dynamicDisabled: ({ values }) => {
return !values.sourceId
},
colProps: { span: 6 },
componentProps: {
allowClear: true,
options: sourceDetailId.value,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
{
field: 'deptOrgId',
label: '分公司',
component: 'ApiSelect',
colProps: { span: 6 },
defaultValue: userStore.getUserInfo.orgId,
componentProps: () => {
return {
api: getOrgList,
labelField: 'label',
valueField: 'id',
resultField: 'data',
allowClear: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
}
},
},
@ -718,7 +801,7 @@ export const formSchema: FormSchema[] = [
labelSlot: 'carrierId',
component: 'ApiSelect',
colProps: { span: 6 },
componentProps: ({ formModel }) => {
componentProps: () => {
return {
api: GetCarrierSelectList,
labelField: 'pinYinCode',
@ -735,7 +818,7 @@ export const formSchema: FormSchema[] = [
required: false,
dynamicDisabled: false,
colProps: { span: 6 },
componentProps: ({ formModel }) => {
componentProps: () => {
return {
api: GetAgentCnClientList,
labelField: 'shortName',
@ -755,7 +838,7 @@ export const formSchema: FormSchema[] = [
dynamicDisabled: false,
defaultValue: null,
colProps: { span: 6 },
componentProps: ({ formModel, formActionType }) => {
componentProps: () => {
return {
api: GetClientFrtSelectList,
allowClear: true,
@ -793,6 +876,7 @@ export const formSchema: FormSchema[] = [
componentProps: {
showTime: false,
style: 'width:100%',
getPopupContainer: () => document.body,
},
},
{
@ -804,6 +888,7 @@ export const formSchema: FormSchema[] = [
componentProps: {
showTime: false,
style: 'width:100%',
getPopupContainer: () => document.body,
},
},
{
@ -817,11 +902,284 @@ export const formSchema: FormSchema[] = [
label: '模板说明',
component: 'Input',
colProps: { span: 6 },
show: ({ values }) => {
return !values.isBulk
},
},
{
field: 'note',
label: '备注',
component: 'Input',
colProps: { span: 12 },
show: ({ values }) => {
return !values.isBulk
},
},
]
export const detailsFormSchema: FormSchema[] = [
{
label: '费用名称Code',
field: 'feeCode',
component: 'Input',
defaultValue: '',
show: false,
},
{
label: '费用名称ID',
field: 'feeId',
component: 'Input',
defaultValue: '',
show: false,
},
{
field: 'feeName',
label: '费用名称',
component: 'ApiSelect',
required: false,
dynamicDisabled: false,
defaultValue: null,
colProps: { span: 6 },
componentProps: ({ formModel }) => {
return {
api: GetFeeCodeSelectList,
allowClear: true,
showSearch: true,
labelField: 'name',
valueField: 'name',
resultField: 'data',
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
onChange: (e, obj) => {
console.log(e, obj)
if (e && obj) {
formModel.feeName = obj.label
formModel.feeCode = obj.code
formModel.feeId = obj.id
formModel.unit = obj.defaultUnit
formModel.unitText = obj.defaultUnitName
formModel.currency = obj.defaultCurrency
if (formModel.currency == 'RMB') {
formModel.exchangeRate = 1
} else {
formModel.exchangeRate = '【根据设置汇率生成】'
}
formModel.taxRate = obj.taxRate
formModel.isInvoice = obj.isInvoice
formModel.isAdvancedPay = obj.isAdvancedPay
}
if (!e && !obj) {
formModel.feeName = ''
formModel.feeCode = ''
formModel.feeId = ''
formModel.unit = ''
formModel.unitText = ''
formModel.currency = ''
formModel.exchangeRate = ''
formModel.taxRate = ''
formModel.isInvoice = ''
formModel.isAdvancedPay = ''
}
},
}
},
},
{
label: '客户类别',
field: 'customerType',
component: 'Input',
defaultValue: '',
show: false,
},
{
field: 'customerTypeText',
label: '客户类别',
component: 'ApiSelect',
required: false,
dynamicDisabled: false,
defaultValue: null,
colProps: { span: 6 },
componentProps: ({ formModel }) => {
return {
api: () => {
return new Promise((resolve) => {
getDictOption('djy_cust_prop').then((res) => {
resolve(res)
})
})
},
allowClear: true,
showSearch: true,
labelField: 'label',
valueField: 'value',
resultField: 'data',
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
onChange: (e, obj) => {
console.log(e, obj)
if (e && obj) {
formModel.customerTypeText = obj.label
formModel.customerType = obj.value
}
if (!e && !obj) {
formModel.customerTypeText = ''
formModel.customerType = ''
}
},
}
},
},
{
label: '单位标准',
field: 'unit',
component: 'Input',
defaultValue: '',
show: false,
},
{
field: 'unitText',
label: '单位标准',
component: 'ApiSelect',
required: false,
dynamicDisabled: false,
defaultValue: null,
colProps: { span: 6 },
componentProps: ({ formModel }) => {
return {
api: feeUnitDict,
allowClear: true,
showSearch: true,
labelField: 'label',
valueField: 'value',
resultField: 'data',
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
onChange: (e, obj) => {
console.log(e, obj)
if (e && obj) {
formModel.unitText = obj.label
formModel.unit = obj.value
}
if (!e && !obj) {
formModel.unitText = ''
formModel.unit = ''
}
},
}
},
},
{
field: 'isCtn',
label: '是否箱型',
component: 'Switch',
componentProps: {
checkedChildren: '是',
checkedValue: true,
unCheckedChildren: '否',
unCheckedValue: false,
},
defaultValue: false,
colProps: {
span: 6,
},
},
{
field: 'currency',
label: '币别',
component: 'ApiSelect',
required: false,
dynamicDisabled: false,
defaultValue: null,
colProps: { span: 6 },
componentProps: ({ formModel }) => {
return {
api: GetFeeCurrencySelectList,
allowClear: true,
showSearch: true,
labelField: 'codeName',
valueField: 'codeName',
resultField: 'data',
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
onChange: (e) => {
if (e == 'RMB') {
formModel.exchangeRate = 1
} else {
formModel.exchangeRate = '【根据设置汇率生成】'
}
},
}
},
},
{
field: 'unitPrice',
label: '单价',
component: 'InputNumber',
colProps: { span: 4 },
},
{
field: 'exchangeRate',
label: '汇率',
component: 'InputNumber',
colProps: { span: 4 },
},
{
field: 'taxRate',
label: '税率',
component: 'InputNumber',
colProps: { span: 4 },
},
{
field: 'accTaxRate',
label: '财务税率',
component: 'InputNumber',
colProps: { span: 4 },
},
{
field: 'tax',
label: '税额',
component: 'InputNumber',
colProps: { span: 4 },
},
{
field: 'taxUnitPrice',
label: '含税单价',
component: 'InputNumber',
colProps: { span: 4 },
},
{
field: 'isInvoice',
label: '是否开票',
component: 'Switch',
componentProps: {
checkedChildren: '是',
checkedValue: true,
unCheckedChildren: '否',
unCheckedValue: false,
},
defaultValue: false,
colProps: {
span: 6,
},
},
{
field: 'isAdvancedPay',
label: '是否垫付',
component: 'Switch',
componentProps: {
checkedChildren: '是',
checkedValue: true,
unCheckedChildren: '否',
unCheckedValue: false,
},
defaultValue: false,
colProps: {
span: 6,
},
},
]

@ -11,6 +11,10 @@
<span class="iconfont icon-new_document"></span>
添加
</a-button>
<a-button type="link" @click="BulkEdit">
<span class="iconfont icon-dengjizongshu"></span>
批量编辑
</a-button>
<a-popconfirm
title="确定删除当前选中数据?"
ok-text="是"
@ -40,6 +44,16 @@
:IsApi="false"
:IsApiData="Rcondition"
/>
<a-modal
class="ds-fee-to-tem-modal"
v-model:visible="visible"
v-if="visible"
title="批量编辑费用明细"
width="80%"
@ok="handleOk"
>
<BasicForm @register="registerForm" />
</a-modal>
</div>
</template>
<script lang="ts" setup>
@ -56,16 +70,18 @@
} from 'vue'
//
import { GetFeeCodeSelectList, GetFeeCurrencySelectList } from '/@/api/common'
import { getColumns, DeleteDetails } from './api'
import { getColumns, DeleteDetails, ApiBulkEditDetails } from './api'
// import { GetFeeTemplateDetailList, BatchDelFeeTemplateDetail } from '../api'
//
import { feeUnitDict } from '/@/hooks/dict/index'
//
import { getDictOption } from '/@/utils/dictUtil'
import AdvancedSearch from '/@/components/Form/src/components/AdvancedSearch.vue'
import { BasicForm, useForm } from '/@/components/Form/index'
import { useMessage } from '/@/hooks/web/useMessage'
import { HotTable, HotColumn } from '@handsontable/vue3'
import { registerAllModules } from 'handsontable/registry'
import { detailsFormSchema } from './columns'
import 'handsontable/dist/handsontable.full.min.css'
defineComponent({
HotTable,
@ -238,7 +254,48 @@
hot.selectCell(list.value.length - 1, 1)
})
}
const visible = ref(false)
function BulkEdit() {
const ids = []
list.value.forEach((item: any, index) => {
if (item.selected) {
ids.push(item.id)
}
})
if (ids.length) {
visible.value = true
} else {
notification.warning({ message: '请至少选择一条数据', duration: 3 })
}
}
const emit = defineEmits(['success'])
//
const handleOk = async () => {
let ApiData: any = []
const formData = await modalValidate()
list.value.forEach((item: any) => {
if (item.selected) {
ApiData.push({ ...formData, id: item.id, templateId: item.templateId })
}
})
const res = await ApiBulkEditDetails(ApiData)
if (res.succeeded) {
createMessage.success(res.message)
visible.value = false
emit('success')
} else {
createMessage.error(res.message)
}
}
//
const [
registerForm,
{ validate: modalValidate, resetFields, setFieldsValue, getFieldsValue, updateSchema },
] = useForm({
labelWidth: 100,
schemas: detailsFormSchema,
showActionButtonGroup: false,
})
//
const columns = [
{

@ -6,6 +6,10 @@
<span class="iconfont icon-new_document"></span>
添加
</a-button>
<a-button type="link" @click="BulkEdit">
<span class="iconfont icon-dengjizongshu"></span>
批量编辑
</a-button>
<a-popconfirm
title="确定删除当前选中数据?"
ok-text="是"
@ -106,6 +110,23 @@
isUpdate: false,
})
}
function BulkEdit() {
const select = getSelectRows()
let ids: any = []
if (select.length === 0) {
notification.warning({ message: '请至少选择一条数据', duration: 3 })
return false
} else {
select.forEach((e) => {
ids.push(e.id)
})
openModal(true, {
ids,
isUpdate: false,
isBulk: true,
})
}
}
function handleAudit(record: Recordable) {
openModal(true, {
record,

@ -211,6 +211,12 @@ export const temFormSchema: FormSchema[] = [
}
},
},
{
field: 'namingRule',
label: '打印文件名称',
component: 'Input',
colProps: { span: 24 },
},
{
field: 'templateName',
label: '',

@ -1,7 +1,7 @@
// @ts-ignore
import { request } from '/@/utils/request'
import { DataResult, PageRequest } from '/@/api/model/baseModel'
import qs from "qs"
import qs from 'qs'
export function GetCurrentTotalStat(data) {
return request<DataResult>({
@ -15,7 +15,7 @@ export function GetPageAsync(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/GetPageAsync',
method: 'post',
data: parameter
data: parameter,
})
}
// 获取所有用户下拉
@ -23,7 +23,7 @@ export function GetUserListAll(parameter) {
return request<DataResult>({
url: '/mainApi/Common/GetUserList',
method: 'get',
params: parameter
params: parameter,
})
}
@ -31,7 +31,7 @@ export function TransferTask(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManageBC/TransferTask',
method: 'get',
params: parameter
params: parameter,
})
}
@ -39,7 +39,7 @@ export function CompleteTask(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/CompleteTask',
method: 'post',
data: parameter
data: parameter,
})
}
@ -47,19 +47,17 @@ export function CancelTaskBC(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/CancelTaskBC',
method: 'get',
params: parameter
params: parameter,
})
}
export function GetVGMCompareResult(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/GetVGMCompareResult',
method: 'get',
params: parameter
params: parameter,
})
}
/**
*
*/
@ -67,12 +65,10 @@ export function GetTaskManagePage(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/GetPage',
method: 'post',
data: parameter
data: parameter,
})
}
/**
*
* ParaType STATUS-;TASK_TYPE-;SOURCE-
@ -81,7 +77,7 @@ export function GetParaInfo(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/GetParaInfo',
method: 'get',
params: parameter
params: parameter,
})
}
@ -92,7 +88,7 @@ export function CancelTask(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/CancelTask',
method: 'post',
data: parameter
data: parameter,
})
}
@ -100,7 +96,6 @@ export function CancelTask(parameter) {
*
*/
/**
*
*/
@ -108,7 +103,7 @@ export function DownloadTaskAttach(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/DownloadTaskAttach',
method: 'get',
params: parameter
params: parameter,
})
}
@ -119,7 +114,7 @@ export function SendTelexEmail(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/SendTelexEmail',
method: 'get',
params: parameter
params: parameter,
})
}
@ -129,7 +124,7 @@ export function SendTelexEmail(parameter) {
export function LaraPaperCalc(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/LaraPaperCalc?' + parameter,
method: 'post'
method: 'post',
})
}
@ -139,7 +134,7 @@ export function LaraPaperCalc(parameter) {
export function LaraPaperRegist(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/LaraPaperRegist?' + parameter,
method: 'post'
method: 'post',
})
}
@ -150,7 +145,7 @@ export function DownloadOriginalTask(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/DownloadOriginalTask',
method: 'post',
data: parameter
data: parameter,
})
}
@ -161,7 +156,7 @@ export function PrintBatch(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/PrintBatch',
method: 'post',
data: parameter
data: parameter,
})
}
@ -172,7 +167,7 @@ export function DownloadAttach(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/DownloadAttach',
method: 'post',
data: parameter
data: parameter,
})
}
@ -183,7 +178,7 @@ export function GetBookingOrderInfo(parameter) {
return request<DataResult>({
url: '/TaskManageSISubmitted/GetBookingOrderInfo',
method: 'get',
params: parameter
params: parameter,
})
}
@ -194,7 +189,7 @@ export function LaraPaperRegistPost(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/LaraPaperRegistPost',
method: 'post',
data: parameter
data: parameter,
})
}
@ -205,7 +200,7 @@ export function SendShippingOrder(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/SendShippingOrder',
method: 'get',
params: parameter
params: parameter,
})
}
@ -213,7 +208,7 @@ export function GetSIFeedBackInfo(parameter) {
return request<DataResult>({
url: '/TaskManageSISubmitted/GetSIFeedBackInfo',
method: 'get',
params: parameter
params: parameter,
})
}
@ -221,7 +216,7 @@ export function SaveBookingSI(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/SaveBookingSI',
method: 'post',
data: parameter
data: parameter,
})
}
@ -229,16 +224,14 @@ export function LaraPaperRecordExport(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/LaraPaperRecordExport',
method: 'get',
params: parameter
params: parameter,
})
}
export function SaveBookingVGM(id) {
return request<DataResult>({
url: '/taskApi/TaskManage/SaveBookingVGM?taskPKId=' + id,
method: 'post'
method: 'post',
})
}
@ -246,7 +239,7 @@ export function AcceptChangeShip(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/AcceptChangeShip',
method: 'get',
params: parameter
params: parameter,
})
}
@ -254,7 +247,7 @@ export function AcceptCancelChangeShip(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/AcceptCancelChangeShip',
method: 'get',
params: parameter
params: parameter,
})
}
@ -262,7 +255,7 @@ export function GetChangeShipInfo(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/GetChangeShipInfo',
method: 'get',
params: parameter
params: parameter,
})
}
@ -270,7 +263,7 @@ export function GetAbortChangeShipInfo(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/GetAbortChangeShipInfo',
method: 'get',
params: parameter
params: parameter,
})
}
@ -278,7 +271,7 @@ export function GetAbortChangeShipInfo(parameter) {
export function ManualReCompareBC(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/ManualReCompareBC?' + parameter,
method: 'post'
method: 'post',
})
}
@ -286,7 +279,7 @@ export function DownloadClosingEDI(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/DownloadClosingEDI',
method: 'get',
params: parameter
params: parameter,
})
}
@ -294,7 +287,7 @@ export function SendClosingEDI(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/SendClosingEDI',
method: 'get',
params: parameter
params: parameter,
})
}
@ -302,7 +295,7 @@ export function CalcLaraPageNumbers(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/CalcLaraPageNumbers',
method: 'post',
data: parameter
data: parameter,
})
}
@ -310,7 +303,7 @@ export function GetLaraPaperRecordPage(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManage/GetLaraPaperRecordPage',
method: 'post',
data: parameter
data: parameter,
})
}
@ -318,7 +311,7 @@ export function GetVGMSubmissionInfoByTaskId(parameter) {
return request<DataResult>({
url: '/TaskManageVGM/GetVGMSubmissionInfoByTaskId',
method: 'get',
params: parameter
params: parameter,
})
}
@ -326,7 +319,7 @@ export function GetInfoByTaskId(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManageBC/GetInfoByTaskId',
method: 'post',
params: parameter
params: parameter,
})
}
@ -334,7 +327,7 @@ export function SetTaskOwner(parameter, query) {
return request<DataResult>({
url: '/taskApi/TaskManage/SetTaskOwner?' + query,
method: 'post',
data: parameter
data: parameter,
})
}
@ -343,14 +336,14 @@ export function DownloadFileByBC(parameter) {
url: '/taskApi/TaskManage/DownloadFile',
method: 'get',
params: parameter,
responseType: 'blob'
responseType: 'blob',
})
}
export function GetProjectList(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManageBC/GetProjectList',
method: 'get',
params: parameter
params: parameter,
})
}
@ -359,7 +352,7 @@ export function DownloadFile(parameter) {
url: '/taskApi/TaskManageBC/DownloadFile',
method: 'get',
params: parameter,
responseType: 'blob'
responseType: 'blob',
})
}
@ -367,7 +360,7 @@ export function CreateBookingAndSlot(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManageBC/CreateBookingAndSlot',
method: 'post',
data: parameter
data: parameter,
})
}
@ -375,28 +368,28 @@ export function TaskManageBCSendEmai1(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManageBC/SendEmail',
method: 'get',
params: parameter
params: parameter,
})
}
export function TaskTransPlanHasChange(parameter) {
return request<DataResult>({
url: '/taskApi/TaskTransPlanHasChange/GetInfoByTaskId',
method: 'get',
params: parameter
params: parameter,
})
}
export function TaskManageBCGetCompareResult(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManageBC/GetCompareResult',
method: 'get',
params: parameter
params: parameter,
})
}
export function TaskManageRollingNominationGetInfoByTaskId(parameter) {
return request<DataResult>({
url: '/TaskManageRollingNomination/GetInfoByTaskId',
method: 'get',
params: parameter
params: parameter,
})
}
@ -404,7 +397,7 @@ export function GetLoadStatusDetailList(parameter) {
return request<DataResult>({
url: '/TaskManageRollingNomination/GetLoadStatusDetailList',
method: 'get',
params: parameter
params: parameter,
})
}
@ -412,7 +405,7 @@ export function RefreshBookingorder(parameter) {
return request<DataResult>({
url: '/TaskManageRollingNomination/RefreshBookingorder',
method: 'get',
params: parameter
params: parameter,
})
}
@ -420,7 +413,7 @@ export function TaskManageRolingWominationGetUrl(parameter) {
return request<DataResult>({
url: '/TaskManageRollingNomination/GetUrl',
method: 'get',
params: parameter
params: parameter,
})
}
@ -428,7 +421,7 @@ export function TaskManageRolingWominationCancelsharelink(parameter) {
return request<DataResult>({
url: '/TaskManageRollingNomination/Cancelsharelink',
method: 'post',
params: parameter
params: parameter,
})
}
@ -436,7 +429,7 @@ export function DispatchRollingNomination(parameter) {
return request<DataResult>({
url: '/TaskManageRollingNomination/DispatchRollingNomination',
method: 'post',
data: parameter
data: parameter,
})
}
@ -444,7 +437,7 @@ export function CreateShareLink(parameter) {
return request<DataResult>({
url: '/TaskManageRollingNomination/CreateShareLink',
method: 'post',
data: parameter
data: parameter,
})
}
@ -452,7 +445,7 @@ export function GetPreBillDetailList(parameter) {
return request<DataResult>({
url: '/TaskManageRollingNomination/GetPreBillDetailList',
method: 'get',
params: parameter
params: parameter,
})
}
@ -460,7 +453,7 @@ export function SaveDetai1Container(parameter) {
return request<DataResult>({
url: '/TaskManageRollingNomination/SaveDetailContainer',
method: 'post',
data: parameter
data: parameter,
})
}
@ -468,7 +461,7 @@ export function GenShareLink(parameter) {
return request<DataResult>({
url: '/TaskManageRollingNomination/GenShareLink',
method: 'post',
data: parameter
data: parameter,
})
}
@ -476,7 +469,7 @@ export function PushShareLink(parameter) {
return request<DataResult>({
url: '/TaskManageRollingNomination/PushShareLink',
method: 'post',
data: parameter
data: parameter,
})
}
@ -484,7 +477,7 @@ export function shareGetinfo(parameter) {
return request<DataResult>({
url: '/TaskManageShareLink/GetInfo',
method: 'get',
params: parameter
params: parameter,
})
}
@ -492,7 +485,7 @@ export function PushShareLinkFeedBack(parameter) {
return request<DataResult>({
url: '/TaskManageShareLink/PushShareLinkFeedBack',
method: 'post',
data: parameter
data: parameter,
})
}
@ -500,7 +493,7 @@ export function GetUserFeedBack(parameter) {
return request<DataResult>({
url: '/TaskManageRollingNomination/GetUserFeedBack',
method: 'post',
params: parameter
params: parameter,
})
}
@ -508,7 +501,7 @@ export function GetVGMMissingInfoByTaskId(parameter) {
return request<DataResult>({
url: '/TaskManageVGM/GetVGMMissingInfoByTaskId',
method: 'get',
params: parameter
params: parameter,
})
}
@ -516,7 +509,7 @@ export function CutDateGetInfoByTaskId(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManageCutDateChange/GetInfoByTaskId',
method: 'get',
params: parameter
params: parameter,
})
}
@ -524,7 +517,7 @@ export function PoddGetInfoByTaskId(parameter) {
return request<DataResult>({
url: '/PODDischargeGateoutFull/GetInfoByTaskId',
method: 'get',
params: parameter
params: parameter,
})
}
@ -532,7 +525,7 @@ export function SendInstantlessage(parameter) {
return request<DataResult>({
url: '/PODDischargeGateoutFull/SendInstantMessage',
method: 'get',
params: parameter
params: parameter,
})
}
@ -540,7 +533,7 @@ export function SearchAndConnectBookingInfo(parameter) {
return request<DataResult>({
url: '/PODDischargeGateoutFull/SearchAndConnectBookingInfo',
method: 'get',
params: parameter
params: parameter,
})
}
@ -548,7 +541,7 @@ export function DraftGetInfoByTaskId(parameter) {
return request<DataResult>({
url: '/TaskManageDRAFT/GetInfoByTaskId',
method: 'get',
params: parameter
params: parameter,
})
}
@ -557,7 +550,7 @@ export function DraftDownloadFile(parameter) {
url: '/TaskManageDRAFT/DownloadFile',
method: 'get',
responseType: 'arraybuffer',
params: parameter
params: parameter,
})
}
@ -565,7 +558,7 @@ export function DRAFTSendEmail(parameter) {
return request<DataResult>({
url: '/TaskManageDRAFT/SendEmail',
method: 'get',
params: parameter
params: parameter,
})
}
@ -573,7 +566,7 @@ export function DRAFTSearchAndConnectBookingInfo(parameter) {
return request<DataResult>({
url: '/TaskManageDRAFT/SearchAndConnectBookingInfo',
method: 'get',
params: parameter
params: parameter,
})
}
@ -581,7 +574,7 @@ export function BcSearchAndConnectBookingInfo(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManageBC/ReCompareResult',
method: 'get',
params: parameter
params: parameter,
})
}
@ -589,7 +582,7 @@ export function ReCompareResult(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManageBC/SearchAndConnectBookingInfo',
method: 'get',
params: parameter
params: parameter,
})
}
@ -597,7 +590,7 @@ export function GetBookingOrder(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManageBC/GetBookingOrder',
method: 'get',
params: parameter
params: parameter,
})
}
@ -605,7 +598,7 @@ export function GetToShipSelect(parameter) {
return request<DataResult>({
url: '/TaskManageRollingNomination/GetToShipSelect',
method: 'get',
params: parameter
params: parameter,
})
}
@ -613,7 +606,7 @@ export function GetRollingNominationNoticeReview(parameter) {
return request<DataResult>({
url: '/TaskManageRollingNomination/GetRollingNominationNoticeReview',
method: 'post',
data: parameter
data: parameter,
})
}
@ -621,7 +614,7 @@ export function SendRollingNominationNotice(parameter) {
return request<DataResult>({
url: '/TaskManageRollingNomination/SendRollingNominationNotice',
method: 'post',
data: parameter
data: parameter,
})
}
@ -629,7 +622,7 @@ export function GetInfoByTaskIdNotice(parameter) {
return request<DataResult>({
url: '/TaskCautionNotice/GetInfoByTaskId',
method: 'get',
params: parameter
params: parameter,
})
}
@ -637,7 +630,7 @@ export function GetInfoByTaskIdPlan(parameter) {
return request<DataResult>({
url: '/TaskTransPlanHasChange/GetInfoByTaskId',
method: 'get',
params: parameter
params: parameter,
})
}
@ -645,7 +638,7 @@ export function GetInfoByTaskIdRoute(parameter) {
return request<DataResult>({
url: '/RouteChangeAdvisory/GetInfoByTaskId',
method: 'get',
params: parameter
params: parameter,
})
}
@ -653,28 +646,28 @@ export function QueryVesselVoynoBookingOrder(parameter) {
return request<DataResult>({
url: '/RouteChangeAdvisory/QueryVesselVoynoBookingOrder',
method: 'get',
params: parameter
params: parameter,
})
}
export function QueryBookingOrderPlan(parameter) {
return request<DataResult>({
url: '/TaskTransPlanHasChange/QueryBookingOrder',
method: 'get',
params: parameter
params: parameter,
})
}
export function BatchSendEmailToCustomer(parameter) {
return request<DataResult>({
url: '/RouteChangeAdvisory/BatchSendEmailToCustomer',
method: 'post',
data: parameter
data: parameter,
})
}
export function MergeCreateBookingOrder(parameter) {
return request<DataResult>({
url: '/BookingSlot/MergeCreateBookingOrder',
method: 'post',
data: parameter
data: parameter,
})
}
@ -685,7 +678,7 @@ export function TaskManageTruckGetInfoByTaskId(parameter) {
return request<DataResult>({
url: '/TaskManageTruck/GetInfoByTaskId',
method: 'get',
params: parameter
params: parameter,
})
}
@ -698,7 +691,7 @@ export function TaskManageTruckPrintTemplateWithHistoryList(parameter) {
return request<DataResult>({
url: '/TaskManageTruck/PrintTemplateWithHistoryList',
method: 'get',
params: parameter
params: parameter,
})
}
@ -711,7 +704,7 @@ export function TaskManageTruckPrint(parameter) {
return request<DataResult>({
url: '/TaskManageTruck/Print',
method: 'get',
params: parameter
params: parameter,
})
}
/**
@ -721,7 +714,7 @@ export function TaskManageTruckSendDispatchBatchByTask(parameter) {
return request<DataResult>({
url: '/TaskManageTruck/SendDispatchBatchByTask',
method: 'post',
data: parameter
data: parameter,
})
}
/**
@ -731,7 +724,7 @@ export function TaskManageTruckCancelDispatchBatchByTask(parameter) {
return request<DataResult>({
url: '/TaskManageTruck/CancelDispatchBatchByTask',
method: 'post',
data: parameter
data: parameter,
})
}
@ -744,7 +737,7 @@ export function DjyCustomerQuerytDjyCustomerInfo(parameter) {
return request<DataResult>({
url: '/DjyCustomer/QuerytDjyCustomerInfo',
method: 'get',
params: parameter
params: parameter,
})
}
@ -752,11 +745,10 @@ export function SaveTruckByPage(parameter) {
return request<DataResult>({
url: '/TaskManageTruck/SaveTruckByPage',
method: 'post',
data: parameter
data: parameter,
})
}
export function GetTaskPlatEnumDict() {
return request<DataResult>({
url: '/taskApi/TaskManage/GetTaskPlatEnumDict',
@ -767,7 +759,7 @@ export function GetTaskPlatEnumDict() {
export function TaskAllocationSave(parameter) {
return request<DataResult>({
url: '/taskApi/TaskAllocation/Save',
data:parameter,
data: parameter,
method: 'post',
})
}
@ -775,7 +767,7 @@ export function TaskAllocationSave(parameter) {
export function TaskAllocationGetList(parameter) {
return request<DataResult>({
url: '/taskApi/TaskAllocation/GetList',
params:parameter,
params: parameter,
method: 'get',
})
}
@ -783,7 +775,7 @@ export function TaskAllocationGetList(parameter) {
export function GetCompareResult(parameter) {
return request<DataResult>({
url: '/taskApi/TaskManageBC/GetCompareResult',
params:parameter,
params: parameter,
method: 'get',
})
}
@ -798,7 +790,7 @@ export function GetContainsCarrierList() {
export function UpdateUserTaskPlatFieldSet(parameter) {
return request<DataResult>({
url: '/mainApi/Common/UpdateUserTaskPlatFieldSet',
data:parameter,
data: parameter,
method: 'post',
})
}
@ -806,15 +798,16 @@ export function UpdateUserTaskPlatFieldSet(parameter) {
export function GetUserTaskPlatFieldSet(params) {
return request<DataResult>({
url: '/mainApi/Common/GetUserTaskPlatFieldSet',
data:params,
data: params,
method: 'post',
})
}
export function UploadBcThenRunTask(data,carrierCode,taskId) {
export function UploadBcThenRunTask(data, carrierCode, taskId) {
return request<DataResult>({
url: '/taskApi/TaskManageBC/UploadBcThenRunTask?carrierCode='+carrierCode+'&taskId='+taskId,
data:data,
url:
'/taskApi/TaskManageBC/UploadBcThenRunTask?carrierCode=' + carrierCode + '&taskId=' + taskId,
data: data,
method: 'post',
})
}
@ -822,7 +815,15 @@ export function UploadBcThenRunTask(data,carrierCode,taskId) {
export function PullTask(data) {
return request<DataResult>({
url: '/taskApi/TaskManage/PullTask',
data:data,
data: data,
method: 'post',
})
}
}
export function GetBLConfirmation(parameter) {
return request<DataResult>({
url: '/opApi/SeaExportTask/GetBLConfirmation',
params: parameter,
method: 'get',
})
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,75 @@
<template>
<div class="Main">
<a-row class="top">
<a-col :span="5">
<div v-for="item in 5" :key="item">
<span></span>
<p>AGB14654614</p>
<span>待确认</span>
</div>
</a-col>
<a-col :span="19">col-8</a-col>
</a-row>
<div class="bottom">
<a-steps :current="1" class="steps">
<a-step>
<template #title>客户已确认</template>
<!-- <template #description>
<span>This is a description.</span>
</template> -->
</a-step>
<a-step>
<template #title>国外代理确认中</template>
<!-- <template #description>
<span>This is a description.</span>
</template> -->
</a-step>
<a-step>
<template #title>操作确认</template>
</a-step>
<a-step>
<template #title>发起截单</template>
</a-step>
</a-steps>
</div>
</div>
</template>
<script lang="ts" setup>
import { ref, onMounted } from 'vue'
import { useRoute } from 'vue-router'
import { GetBLConfirmation } from '../api'
const route = useRoute()
const businessId = ref(route.query.id)
onMounted(() => {
init()
})
async function init() {
let ApiData = {
businessId: businessId.value,
businessType: 1,
}
const res = await GetBLConfirmation(ApiData)
if (res.succeeded) {
return createMessage.success('申请成功!')
}
}
</script>
<style lang="less" scoped>
.Main {
height: 100%;
display: flex;
flex-direction: column;
.top {
flex: 1;
}
.bottom {
padding: 10px 60px;
display: flex;
justify-content: end;
box-shadow: 0px -3px 6px rgba(214, 214, 214, 1);
.steps {
width: 800px;
}
}
}
</style>
Loading…
Cancel
Save