szh-new
张同海 4 months ago
parent e46123cc05
commit 17c2d6840c

@ -40,10 +40,7 @@
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item <a-form-item label="附件" name="upFileList">
label="附件"
name="upFileList"
>
<a-upload <a-upload
:file-list="upFileList" :file-list="upFileList"
:before-upload="beforeUpload" :before-upload="beforeUpload"
@ -69,11 +66,7 @@
</template> </template>
</a-modal> </a-modal>
<slot></slot> <slot></slot>
<DsFileList <DsFileList :id="id" ref="dsFileList" :height="height"></DsFileList>
:id="id"
ref="dsFileList"
:height="height"
></DsFileList>
</div> </div>
</template> </template>
@ -89,28 +82,33 @@
// //
maxCount: { maxCount: {
type: Number, type: Number,
default: 10 default: 10,
}, },
// id // id
id: { id: {
type: String, type: String,
default: null default: null,
}, },
// //
show: { show: {
type: Boolean, type: Boolean,
default: true default: true,
}, },
// //
height: { height: {
type: [Number, String], type: [Number, String],
default: 'auto' default: 'auto',
}, },
// M // M
maxSize: { maxSize: {
type: Number, type: Number,
default: 50 default: 50,
} },
//
fileType: {
type: String,
default: '',
},
}) })
// //
const visible = ref(false) const visible = ref(false)
@ -119,7 +117,8 @@
const fileTypeList = ref([]) const fileTypeList = ref([])
// //
const init = () => { const init = () => {
getDictOption('file_type').then(res => { let code = props.fileType ? `${props.fileType}_file_type` : 'file_type'
getDictOption(code).then((res) => {
console.log(res) console.log(res)
fileTypeList.value = res fileTypeList.value = res
}) })
@ -130,7 +129,7 @@
const formData = reactive({ const formData = reactive({
typeCode: '', typeCode: '',
typeName: '', typeName: '',
fileList: [] fileList: [],
}) })
const fields = ref([]) const fields = ref([])
function handleRemove(file: any) { function handleRemove(file: any) {
@ -157,7 +156,7 @@
// //
const changeHandle = (v, obj) => { const changeHandle = (v, obj) => {
console.log(v) console.log(v)
const row = fileTypeList.value.filter(item => { const row = fileTypeList.value.filter((item) => {
return item.value == v return item.value == v
}) })
if (row && row.length) { if (row && row.length) {
@ -181,20 +180,22 @@
if (res.typeCode) { if (res.typeCode) {
const postData = new FormData() const postData = new FormData()
const list = unref(upFileList) const list = unref(upFileList)
list.forEach(item => { list.forEach((item) => {
postData.append('formCollection[]', item) postData.append('formCollection[]', item)
}) })
postData.append('linkId', props.id) postData.append('linkId', props.id)
postData.append('typeCode', formData.typeCode) postData.append('typeCode', formData.typeCode)
postData.append('typeName', formData.typeName) postData.append('typeName', formData.typeName)
loading.value = true loading.value = true
AddMultiFiles(postData).then(res => { AddMultiFiles(postData)
.then((res) => {
loading.value = false loading.value = false
visible.value = false visible.value = false
upFileList.value = [] upFileList.value = []
dsFileList.value.init() dsFileList.value.init()
createMessage.success('上传成功!') createMessage.success('上传成功!')
}).catch(() => { })
.catch(() => {
loading.value = false loading.value = false
createMessage.error('上传失败!') createMessage.error('上传失败!')
}) })
@ -202,11 +203,11 @@
} }
const onFinish = (values: any) => { const onFinish = (values: any) => {
console.log('Success:', values); console.log('Success:', values)
} }
const onFinishFailed = (errorInfo: any) => { const onFinishFailed = (errorInfo: any) => {
console.log('Failed:', errorInfo); console.log('Failed:', errorInfo)
} }
const handleCancel = () => { const handleCancel = () => {
@ -214,8 +215,7 @@
} }
defineExpose({ defineExpose({
init init,
}) })
</script> </script>
<style> <style></style>
</style>

@ -339,33 +339,33 @@
/* eslint-disable */ /* eslint-disable */
isArray(props.record[cbs]) isArray(props.record[cbs])
? props.record[cbs]?.push(handle) ? props.record[cbs]?.push(handle)
: (props.record[cbs] = [handle]); : (props.record[cbs] = [handle])
} }
} }
if (props.record) { if (props.record) {
initCbs('submitCbs', handleSubmit); initCbs('submitCbs', handleSubmit)
initCbs('validCbs', handleSubmitRule); initCbs('validCbs', handleSubmitRule)
initCbs('cancelCbs', handleCancel); initCbs('cancelCbs', handleCancel)
if (props.column.dataIndex) { if (props.column.dataIndex) {
if (!props.record.editValueRefs) props.record.editValueRefs = {}; if (!props.record.editValueRefs) props.record.editValueRefs = {}
props.record.editValueRefs[props.column.dataIndex as any] = currentValueRef; props.record.editValueRefs[props.column.dataIndex as any] = currentValueRef
} }
/* eslint-disable */ /* eslint-disable */
props.record.onCancelEdit = () => { props.record.onCancelEdit = () => {
isArray(props.record?.cancelCbs) && props.record?.cancelCbs.forEach((fn) => fn()); isArray(props.record?.cancelCbs) && props.record?.cancelCbs.forEach((fn) => fn())
}; }
/* eslint-disable */ /* eslint-disable */
props.record.onSubmitEdit = async () => { props.record.onSubmitEdit = async () => {
if (isArray(props.record?.submitCbs)) { if (isArray(props.record?.submitCbs)) {
if (!props.record?.onValid?.()) return; if (!props.record?.onValid?.()) return
const submitFns = props.record?.submitCbs || []; const submitFns = props.record?.submitCbs || []
submitFns.forEach((fn) => fn(false, false)); submitFns.forEach((fn) => fn(false, false))
table.emit?.('edit-row-end'); table.emit?.('edit-row-end')
return true; return true
}
} }
};
} }
return { return {
@ -391,7 +391,7 @@
handleEnter, handleEnter,
handleSubmitClick, handleSubmitClick,
spinning, spinning,
}; }
}, },
render() { render() {
return ( return (
@ -442,9 +442,9 @@
</Spin> </Spin>
)} )}
</div> </div>
); )
}, },
}); })
</script> </script>
<style lang="less"> <style lang="less">
@prefix-cls: ~'@{namespace}-editable-cell'; @prefix-cls: ~'@{namespace}-editable-cell';

@ -0,0 +1,14 @@
{
"ClassName": "System.NullReferenceException",
"Message": "Object reference not set to an instance of an object.",
"Data": null,
"InnerException": null,
"HelpURL": null,
"StackTraceString": " at DS.WMS.ContainerManagement.Info.Dtos.CM_State_ChangeReq_Multi.getList() in D:\\ds8-solution-pro\\ds-wms-service\\DS.WMS.Core\\ContainerManagement\\Dtos\\CM_State_ChangeReq.cs:line 184\r\n at DS.WMS.ContainerManagement.Info.Method.CM_State_ChangeService.CM_State_Change_Multi(CM_State_ChangeReq req) in D:\\ds8-solution-pro\\ds-wms-service\\DS.WMS.Core\\ContainerManagement\\Method\\CM_State_ChangeService.cs:line 117",
"RemoteStackTraceString": null,
"RemoteStackIndex": 0,
"ExceptionMethod": null,
"HResult": -2147467261,
"Source": "DS.WMS.Core",
"WatsonBuckets": null
}

@ -43,7 +43,7 @@ export const columns: BasicColumn[] = [
}, },
{ {
title: '变动来源', title: '变动来源',
dataIndex: 'changeSource', dataIndex: 'changeSourceId',
sorter: true, sorter: true,
width: 200, width: 200,
}, },
@ -183,28 +183,13 @@ export const formSchema: FormSchema[] = [
field: 'cntrno', field: 'cntrno',
label: '集装箱号', label: '集装箱号',
component: 'InputTextArea', component: 'InputTextArea',
// required: true, required: true,
colProps: { span: 24 }, colProps: { span: 24 },
componentProps: { componentProps: {
placeholder: '请输入,多个箱号请以“,”逗号间隔', placeholder: '请输入,多个箱号请以“,”逗号间隔',
rows: 3, rows: 3,
}, },
}, },
{
field: 'ctnall',
label: '箱型',
component: 'ApiSelect',
colProps: { span: 6 },
// required: true,
componentProps: () => {
return {
api: GetCtnSelectList,
labelField: 'ctnName',
valueField: 'ediCode',
resultField: 'data',
}
},
},
{ {
field: 'isOnlineId', field: 'isOnlineId',
label: '是否上线', label: '是否上线',
@ -226,9 +211,7 @@ export const formSchema: FormSchema[] = [
filterOption: (input: string, option: any) => { filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
}, },
onChange: (v, obj) => { onChange: (v, obj) => {},
formModel.defaultDebitName = obj?.label || ''
},
} }
}, },
}, },
@ -253,9 +236,7 @@ export const formSchema: FormSchema[] = [
filterOption: (input: string, option: any) => { filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
}, },
onChange: (v, obj) => { onChange: (v, obj) => {},
formModel.defaultDebitName = obj?.label || ''
},
} }
}, },
}, },
@ -300,9 +281,7 @@ export const formSchema: FormSchema[] = [
filterOption: (input: string, option: any) => { filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
}, },
onChange: (v, obj) => { onChange: (v, obj) => {},
formModel.defaultDebitName = obj?.label || ''
},
} }
}, },
}, },
@ -335,7 +314,6 @@ export const formSchema: FormSchema[] = [
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
}, },
onChange: (v, obj) => { onChange: (v, obj) => {
formModel.defaultDebitName = obj?.label || ''
formModel.ctnBizState = obj.label formModel.ctnBizState = obj.label
}, },
} }
@ -375,9 +353,7 @@ export const formSchema: FormSchema[] = [
filterOption: (input: string, option: any) => { filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
}, },
onChange: (v, obj) => { onChange: (v, obj) => {},
formModel.defaultDebitName = obj?.label || ''
},
} }
}, },
}, },
@ -387,6 +363,7 @@ export const formSchema: FormSchema[] = [
component: 'Input', component: 'Input',
colProps: { span: 6 }, colProps: { span: 6 },
}, },
{ {
field: 'isHeavy', field: 'isHeavy',
label: '空重箱', label: '空重箱',
@ -435,8 +412,8 @@ export const formSchema: FormSchema[] = [
componentProps: ({}) => { componentProps: ({}) => {
return { return {
option: optionsStore.getOptionsByCode('GetYardClientList'), option: optionsStore.getOptionsByCode('GetYardClientList'),
labelField: 'portName', labelField: 'shortName',
valueField: 'portName', valueField: 'shortName',
resultField: 'data', resultField: 'data',
filterOption: (input: string, option: any) => { filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
@ -450,6 +427,27 @@ export const formSchema: FormSchema[] = [
component: 'Input', component: 'Input',
colProps: { span: 6 }, colProps: { span: 6 },
}, },
{
field: 'ctnall',
label: '箱型',
component: 'ApiSelect',
colProps: { span: 6 },
required: true,
componentProps: () => {
return {
api: GetCtnSelectList,
labelField: 'ctnName',
valueField: 'ediCode',
resultField: 'data',
// id: 'ClassCtnall',
// getPopupContainer: () => document.getElementById('ClassCtnall'),
// style: {
// position: 'relative',
// color: 'red',
// },
}
},
},
{ {
field: 'mblno', field: 'mblno',
label: '当前业务编号', label: '当前业务编号',

@ -58,8 +58,7 @@
</div> </div>
<div class="BTable"> <div class="BTable">
<BasicTable @register="registerTable" @row-dbClick="EditRow" :maxHeight="140"> <BasicTable @register="registerTable" @row-dbClick="EditRow" :maxHeight="140">
<template #tableTitle> <template #toolbar>
<span class="title">银行信息</span>
<a-button <a-button
type="link" type="link"
@click="addboxLine({ id: rowId })" @click="addboxLine({ id: rowId })"
@ -202,6 +201,7 @@
// //
const [registerTable, { reload, setTableData, getPaginationRef, getDataSource, getSelectRows }] = const [registerTable, { reload, setTableData, getPaginationRef, getDataSource, getSelectRows }] =
useTable({ useTable({
title: '银行信息',
api: async (p) => { api: async (p) => {
const res: API.DataResult = await getClientBankList(p) const res: API.DataResult = await getClientBankList(p)
return new Promise((resolve) => { return new Promise((resolve) => {
@ -465,7 +465,7 @@
const getTitle = computed(() => (!rowId.value ? '新增往来单位' : '编辑往来单位')) const getTitle = computed(() => (!rowId.value ? '新增往来单位' : '编辑往来单位'))
// //
async function handleSave(exit) { async function handleSave(exit) {
try { // try {
const values = await validate().catch(() => { const values = await validate().catch(() => {
notification.warning({ message: '请补全基本信息中必填内容!', duration: 3 }) notification.warning({ message: '请补全基本信息中必填内容!', duration: 3 })
}) })
@ -528,10 +528,10 @@
// exit && closeModal() // exit && closeModal()
} }
} finally { // } finally {
// loading.value = false; // // loading.value = false;
// setModalProps({ confirmLoading: false, loading: false }) // // setModalProps({ confirmLoading: false, loading: false })
} // }
} }
async function refresh() { async function refresh() {
const res: API.DataResult = await getCodeGoodsTypeInfo({ id: unref(rowId) }) const res: API.DataResult = await getCodeGoodsTypeInfo({ id: unref(rowId) })
@ -694,6 +694,10 @@
> div { > div {
&:nth-child(1) { &:nth-child(1) {
padding: 14px 8px 8px 8px; padding: 14px 8px 8px 8px;
display: flex;
.Fapiao {
flex: 1;
}
} }
} }
.handsontableInput { .handsontableInput {

@ -119,7 +119,7 @@ if (res12.succeeded) {
} }
export const columns: BasicColumn[] = [ export const columns: BasicColumn[] = [
{ {
title: '客户代码', title: '助记码',
dataIndex: 'codeName', dataIndex: 'codeName',
sorter: true, sorter: true,
width: 150, width: 150,
@ -162,16 +162,18 @@ export const columns: BasicColumn[] = [
}, },
{ {
title: '所属分部', title: '所属分部',
dataIndex: 'saleOrgId', dataIndex: 'saleOrgIdList',
sorter: true, sorter: true,
width: 150, width: 150,
customRender: ({ text }) => { customRender: ({ text }) => {
let RText = '' let RText = ''
DeptList.forEach((e) => { DeptList.forEach((e) => {
if (e.value == text) { text.forEach((item) => {
RText = e.label if (e.value == item) {
RText = RText == '' ? e.label : `${RText},${e.label}`
} }
}) })
})
return RText return RText
}, },
}, },
@ -464,6 +466,12 @@ export const columns: BasicColumn[] = [
// }, // },
] ]
export const searchFormSchema: FormSchema[] = [ export const searchFormSchema: FormSchema[] = [
{
field: 'description',
label: '客户全称',
component: 'Input',
colProps: { span: 4 },
},
{ {
field: 'shortName', field: 'shortName',
label: '客户简称', label: '客户简称',
@ -472,7 +480,7 @@ export const searchFormSchema: FormSchema[] = [
}, },
{ {
field: 'codeName', field: 'codeName',
label: '客户代码', label: '助记码',
component: 'Input', component: 'Input',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
@ -482,12 +490,7 @@ export const searchFormSchema: FormSchema[] = [
component: 'Input', component: 'Input',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
{
field: 'description',
label: '客户全称',
component: 'Input',
colProps: { span: 4 },
},
{ {
field: 'registrationNo', field: 'registrationNo',
label: '企业备案号', label: '企业备案号',
@ -521,9 +524,25 @@ export const formSchema: FormSchema[] = [
defaultValue: '', defaultValue: '',
show: false, show: false,
}, },
{
field: 'description',
label: '客户全称',
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 4 },
},
{
field: 'enFullName',
label: '客户英文全称',
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 8 },
},
{ {
field: 'codeName', field: 'codeName',
label: '客户代码', label: '助记码',
required: true, required: true,
component: 'Input', component: 'Input',
defaultValue: '', defaultValue: '',
@ -549,14 +568,6 @@ export const formSchema: FormSchema[] = [
colProps: { span: 4 }, colProps: { span: 4 },
}, },
{
field: 'description',
label: '客户全称',
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 4 },
},
{ {
field: 'organizationCode', field: 'organizationCode',
label: '社会信用代码', label: '社会信用代码',
@ -573,14 +584,6 @@ export const formSchema: FormSchema[] = [
defaultValue: '', defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
{
field: 'enFullName',
label: '客户英文全称',
// required: true,
component: 'Input',
defaultValue: '',
colProps: { span: 8 },
},
{ {
field: 'pcorpName', field: 'pcorpName',
label: '所属集团名称', label: '所属集团名称',
@ -624,22 +627,6 @@ export const formSchema: FormSchema[] = [
} }
}, },
}, },
{
field: 'saleOrgId',
label: '所属分部',
// required: true,
component: 'Select',
defaultValue: '',
colProps: { span: 4 },
componentProps: {
options: DeptList,
allowClear: true,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
{ {
field: 'registrationNo', field: 'registrationNo',
label: '企业备案号', label: '企业备案号',
@ -892,7 +879,6 @@ export const formSchema: FormSchema[] = [
return !values.isOverdueDeduction return !values.isOverdueDeduction
}, },
}, },
{ {
field: 'status', field: 'status',
label: '是否可用', label: '是否可用',
@ -945,6 +931,19 @@ export const formSchema: FormSchema[] = [
unCheckedChildren: '否', unCheckedChildren: '否',
}, },
}, },
{
field: 'saleOrgIdList',
label: '所属分部',
// required: true,
component: 'Select',
colProps: { span: 4 },
componentProps: {
options: DeptList,
allowClear: true,
mode: 'multiple',
class: 'NoLimitHeight',
},
},
{ {
label: '客户属性', label: '客户属性',
field: 'ArrclientTag', field: 'ArrclientTag',
@ -1410,7 +1409,7 @@ export const form3columns: BasicColumn[] = [
width: 200, width: 200,
}, },
{ {
title: '账期起算日', title: '账期标准',
dataIndex: 'accountStartDate', dataIndex: 'accountStartDate',
width: 200, width: 200,
}, },

@ -1,8 +1,7 @@
<template> <template>
<div> <div>
<BasicTable class="ds-table-detail" @register="registerTable"> <BasicTable class="ds-table-detail" @register="registerTable">
<template #tableTitle> <template #toolbar>
<span class="title">固定费用列表</span>
<a-button type="link" @click="handleCreate"> <a-button type="link" @click="handleCreate">
<span class="iconfont icon-new_document"></span> <span class="iconfont icon-new_document"></span>
新建 新建
@ -59,7 +58,7 @@
}) })
const [registerModal, { openModal }] = useModal() const [registerModal, { openModal }] = useModal()
const [registerTable, { reload, getForm, getPaginationRef }] = useTable({ const [registerTable, { reload, getForm, getPaginationRef }] = useTable({
title: '', title: '固定费用列表',
// api: getSysDictTypeList, // api: getSysDictTypeList,
api: async (p) => { api: async (p) => {
const res: API.DataResult = await getFeeCustTemplateDetailList(p) const res: API.DataResult = await getFeeCustTemplateDetailList(p)

@ -1,8 +1,7 @@
<template> <template>
<div> <div>
<BasicTable class="ds-table-detail" @register="registerTable"> <BasicTable class="ds-table-detail" @register="registerTable">
<template #tableTitle> <template #toolbar>
<span class="title">客户参数列表</span>
<a-button type="link" @click="handleCreate"> <a-button type="link" @click="handleCreate">
<span class="iconfont icon-new_document"></span> <span class="iconfont icon-new_document"></span>
新建 新建
@ -58,6 +57,7 @@
}, },
}) })
const [registerTable, { reload, getForm, getPaginationRef }] = useTable({ const [registerTable, { reload, getForm, getPaginationRef }] = useTable({
title: '客户参数列表',
api: async (p) => { api: async (p) => {
const res: API.DataResult = await GetClientParamList(p) const res: API.DataResult = await GetClientParamList(p)
return new Promise((resolve) => { return new Promise((resolve) => {

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<BasicTable class="ds-table" @register="registerTable" @row-dbClick="handleAudit"> <BasicTable class="ds-table" @register="registerTable" @row-dbClick="handleAudit">
<template #tableTitle> <template #toolbar>
<a-button <a-button
v-repeat v-repeat
type="link" type="link"

@ -2,19 +2,29 @@ import { BasicColumn, FormSchema } from '/@/components/Table'
import { getOptions } from '/@/hooks/dict' import { getOptions } from '/@/hooks/dict'
import { Tag } from 'ant-design-vue' import { Tag } from 'ant-design-vue'
export const columns: BasicColumn[] = [ export const columns: BasicColumn[] = [
// {
// title: '代码',
// dataIndex: 'codeName',
// width: 150,
// },
// {
// title: '简称',
// dataIndex: 'shortName',
// width: 200,
// },
{ {
title: '代码', title: '姓名',
dataIndex: 'codeName', dataIndex: 'name',
width: 150, width: 200,
}, },
{ {
title: '简称', title: '英文名',
dataIndex: 'shortName', dataIndex: 'enName',
width: 200, width: 200,
}, },
{ {
title: '职务', title: '岗位',
dataIndex: 'job', dataIndex: 'Jobs',
width: 200, width: 200,
}, },
{ {
@ -194,28 +204,51 @@ export const formSchema: FormSchema[] = [
show: false, show: false,
}, },
{ {
field: 'codeName', field: 'name',
label: '代码', label: '姓名',
component: 'Input', component: 'Input',
required: true, required: true,
colProps: { span: 12 }, colProps: { span: 12 },
componentProps: {
maxlength: 6,
},
}, },
{ {
field: 'shortName', field: 'enName',
label: '简称', label: '英文名',
component: 'Input', component: 'Input',
required: true, required: true,
colProps: { span: 12 }, colProps: { span: 12 },
}, },
// {
// field: 'codeName',
// label: '代码',
// component: 'Input',
// required: true,
// colProps: { span: 12 },
// componentProps: {
// maxlength: 6,
// },
// },
// {
// field: 'shortName',
// label: '简称',
// component: 'Input',
// required: true,
// colProps: { span: 12 },
// },
{ {
field: 'job', field: 'Jobs',
label: '职务', label: '岗位',
component: 'Input', // component: 'Input',
// colProps: { span: 12 },
// defaultValue: '',
// required: true,
component: 'Select',
colProps: { span: 12 }, colProps: { span: 12 },
defaultValue: '', componentProps: {
options: [],
allowClear: true,
mode: 'multiple',
class: 'NoLimitHeight',
},
}, },
{ {
field: 'address', field: 'address',
@ -259,46 +292,46 @@ export const formSchema: FormSchema[] = [
colProps: { span: 12 }, colProps: { span: 12 },
defaultValue: '', defaultValue: '',
}, },
{ // {
label: '船公司名称', // label: '船公司名称',
field: 'carrier', // field: 'carrier',
component: 'Input', // component: 'Input',
show: false, // show: false,
}, // },
{ // {
label: '船公司', // label: '船公司',
field: 'carrierId', // field: 'carrierId',
labelSlot: 'carrierId', // labelSlot: 'carrierId',
component: 'ApiSelect', // component: 'ApiSelect',
required: false, // required: false,
dynamicDisabled: false, // dynamicDisabled: false,
colProps: { span: 12 }, // colProps: { span: 12 },
componentProps: ({ formModel }) => { // componentProps: ({ formModel }) => {
return { // return {
allowClear: true, // allowClear: true,
showSearch: true, // showSearch: true,
api: () => { // api: () => {
return new Promise((resolve) => { // return new Promise((resolve) => {
const arr = getOptions('carrier') // const arr = getOptions('carrier')
resolve(arr) // resolve(arr)
}) // })
}, // },
labelField: 'name', // labelField: 'name',
showName: 'shortName', // showName: 'shortName',
valueField: 'id', // valueField: 'id',
filterOption: (input: string, option: any) => { // filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 // return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
}, // },
onChange: (e, obj) => { // onChange: (e, obj) => {
if (obj) { // if (obj) {
formModel.carrier = obj.label // formModel.carrier = obj.label
} else { // } else {
formModel.carrier = '' // formModel.carrier = ''
} // }
}, // },
} // }
}, // },
}, // },
{ {
field: 'isOperator', field: 'isOperator',
label: '是否为操作', label: '是否为操作',

@ -1,8 +1,7 @@
<template> <template>
<div> <div>
<BasicTable class="ds-table-detail" @register="registerTable"> <BasicTable class="ds-table-detail" @register="registerTable">
<template #tableTitle> <template #toolbar>
<span class="title">客户联系人列表</span>
<a-button type="link" @click="handleCreate"> <a-button type="link" @click="handleCreate">
<span class="iconfont icon-new_document"></span> <span class="iconfont icon-new_document"></span>
添加客户联系人 添加客户联系人
@ -50,7 +49,7 @@
}) })
const [registerModal, { openModal }] = useModal() const [registerModal, { openModal }] = useModal()
const [registerTable, { reload, getForm, getPaginationRef }] = useTable({ const [registerTable, { reload, getForm, getPaginationRef }] = useTable({
title: '', title: '客户联系人列表',
api: async (p) => { api: async (p) => {
const res: API.DataResult = await ApiList(p) const res: API.DataResult = await ApiList(p)
return new Promise((resolve) => { return new Promise((resolve) => {

@ -132,7 +132,7 @@ export const formSchema: FormSchema[] = [
}, },
{ {
field: 'name', field: 'name',
label: '称', label: '公司全称',
component: 'Input', component: 'Input',
colProps: { span: 12 }, colProps: { span: 12 },
}, },

@ -1,8 +1,7 @@
<template> <template>
<div> <div>
<BasicTable class="ds-table-detail" @register="registerTable"> <BasicTable class="ds-table-detail" @register="registerTable">
<template #tableTitle> <template #toolbar>
<span class="title">客户收发货人列表</span>
<a-button type="link" @click="handleCreate"> <a-button type="link" @click="handleCreate">
<span class="iconfont icon-new_document"></span> <span class="iconfont icon-new_document"></span>
添加客户收发货人 添加客户收发货人
@ -50,7 +49,7 @@
}) })
const [registerModal, { openModal }] = useModal() const [registerModal, { openModal }] = useModal()
const [registerTable, { reload, getForm, getPaginationRef }] = useTable({ const [registerTable, { reload, getForm, getPaginationRef }] = useTable({
title: '', title: '客户收发货人列表',
api: async (p) => { api: async (p) => {
const res: API.DataResult = await ApiList(p) const res: API.DataResult = await ApiList(p)
return new Promise((resolve) => { return new Promise((resolve) => {

@ -39,7 +39,7 @@ function RaccountTypeLabel(values) {
return RData return RData
} }
// 账期起算日 字典 // 账期标准 字典
const accountStartDateList = await getDictOption('infoclient_business_accountStartDate') const accountStartDateList = await getDictOption('infoclient_business_accountStartDate')
export const columns: BasicColumn[] = [ export const columns: BasicColumn[] = [
{ {
@ -109,7 +109,7 @@ export const columns: BasicColumn[] = [
}, },
}, },
{ {
title: '账期起算日', title: '账期标准',
dataIndex: 'accountStartDate', dataIndex: 'accountStartDate',
width: 200, width: 200,
customRender: ({ text }) => { customRender: ({ text }) => {
@ -282,7 +282,7 @@ export const formSchema: FormSchema[] = [
}, },
{ {
field: 'accountStartDate', field: 'accountStartDate',
label: '账期起算日', label: '账期标准',
component: 'Select', component: 'Select',
colProps: { span: 12 }, colProps: { span: 12 },
defaultValue: '', defaultValue: '',

@ -2,7 +2,13 @@
<div> <div>
<BasicTable class="ds-table-detail" @register="registerTable" :maxHeight="350"> <BasicTable class="ds-table-detail" @register="registerTable" :maxHeight="350">
<template #tableTitle> <template #tableTitle>
<span class="title">账期信息</span> <span>账期信息</span>
<a-button type="link" @click="FnAppendix" :disabled="Fndisabled()">
<span class="iconfont icon-fujian1"></span>
合同附件
</a-button>
</template>
<template #toolbar>
<a-button type="link" @click="handleCreate" :disabled="Fndisabled()"> <a-button type="link" @click="handleCreate" :disabled="Fndisabled()">
<span class="iconfont icon-new_document"></span> <span class="iconfont icon-new_document"></span>
添加 添加
@ -18,10 +24,6 @@
删除 删除
</a-button> </a-button>
</a-popconfirm> </a-popconfirm>
<a-button type="link" @click="FnAppendix" :disabled="Fndisabled()">
<span class="iconfont icon-fujian1"></span>
合同附件
</a-button>
</template> </template>
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
@ -40,7 +42,7 @@
<TenantAuditStepModal @register="registerModal" @success="handleSuccess" /> <TenantAuditStepModal @register="registerModal" @success="handleSuccess" />
<a-modal v-model:visible="visible" title="合同附件" @ok="handleOk"> <a-modal v-model:visible="visible" title="合同附件" @ok="handleOk">
<div style="width: 400px"> <div style="width: 400px">
<DsFile ref="dsFile" :id="props.clientId" /> <DsFile ref="dsFile" fileType="infoclient" :id="props.clientId" />
</div> </div>
</a-modal> </a-modal>
</div> </div>
@ -62,7 +64,6 @@
const visible = ref(false) const visible = ref(false)
const [registerTable, { reload, setTableData, getForm, getPaginationRef, getSelectRows }] = const [registerTable, { reload, setTableData, getForm, getPaginationRef, getSelectRows }] =
useTable({ useTable({
title: '',
api: async (p) => { api: async (p) => {
const res: API.DataResult = await ApiList(p) const res: API.DataResult = await ApiList(p)
return new Promise((resolve) => { return new Promise((resolve) => {

@ -9,17 +9,17 @@ export const columns: BasicColumn[] = [
{ {
title: '中文名称', title: '中文名称',
dataIndex: 'cnName', dataIndex: 'cnName',
width: 150 width: 150,
}, },
{ {
title: '英文名称', title: '英文名称',
dataIndex: 'serviceName', dataIndex: 'serviceName',
width: 150 width: 150,
}, },
{ {
title: 'EDI代码', title: 'EDI代码',
dataIndex: 'ediCode', dataIndex: 'ediCode',
width: 120 width: 120,
}, },
{ {
title: '是否可用', title: '是否可用',
@ -32,13 +32,13 @@ export const columns: BasicColumn[] = [
return <Tag color="error"></Tag> return <Tag color="error"></Tag>
} }
return text return text
} },
}, },
{ {
title: '备注', title: '备注',
dataIndex: 'note', dataIndex: 'note',
width: 200 width: 200,
} },
] ]
export const searchFormSchema: FormSchema[] = [ export const searchFormSchema: FormSchema[] = [
@ -46,14 +46,14 @@ export const searchFormSchema: FormSchema[] = [
field: 'cnName', field: 'cnName',
label: '中文名称', label: '中文名称',
colProps: { span: 6 }, colProps: { span: 6 },
component: 'Input' component: 'Input',
}, },
{ {
field: 'ediCode', field: 'ediCode',
label: 'EDI代码', label: 'EDI代码',
colProps: { span: 6 }, colProps: { span: 6 },
component: 'Input' component: 'Input',
} },
] ]
export const formSchema: FormSchema[] = [ export const formSchema: FormSchema[] = [
{ {
@ -61,37 +61,42 @@ export const formSchema: FormSchema[] = [
field: 'id', field: 'id',
component: 'Input', component: 'Input',
defaultValue: '', defaultValue: '',
show: false show: false,
}, },
{ {
field: 'cnName', field: 'cnName',
label: '中文名称', label: '中文名称',
colProps: { span: 6 }, colProps: { span: 6 },
component: 'Input' component: 'Input',
}, },
{ {
field: 'serviceName', field: 'serviceName',
label: '英文名称', label: '英文名称',
colProps: { span: 6 }, colProps: { span: 6 },
component: 'Input' required: true,
component: 'Input',
}, },
{ {
field: 'ediCode', field: 'ediCode',
label: 'EDI代码', label: 'EDI代码',
colProps: { span: 6 }, colProps: { span: 6 },
component: 'Input' required: true,
component: 'Input',
componentProps: {
maxlength: 5,
},
}, },
{ {
field: 'status', field: 'status',
label: '是否可用', label: '是否可用',
component: 'Switch', component: 'Switch',
slot: 'status', slot: 'status',
colProps: { span: 6 } colProps: { span: 6 },
}, },
{ {
field: 'note', field: 'note',
label: '备注', label: '备注',
component: 'InputTextArea', component: 'InputTextArea',
colProps: { span: 24 } colProps: { span: 24 },
} },
] ]

@ -11,12 +11,10 @@
<!-- 币别表单 --> <!-- 币别表单 -->
<BasicForm @register="registerForm"> <BasicForm @register="registerForm">
<template #status="{ model }"> <template #status="{ model }">
<a-switch <a-switch v-model:checked="model.status" :checkedValue="1" :unCheckedValue="0" />
v-model:checked="model.status" <span class="s-txt" :class="{ 's-active': model.status == 0 }">{{
:checkedValue="1" model.status == 1 ? '可用' : '禁用'
:unCheckedValue="0" }}</span>
/>
<span class="s-txt" :class="{ 's-active': model.status == 0 }">{{ model.status == 1 ? '可用' : '禁用'}}</span>
</template> </template>
</BasicForm> </BasicForm>
<!--右下角按钮--> <!--右下角按钮-->
@ -69,19 +67,19 @@
const loading = ref(false) const loading = ref(false)
const rowId = ref('') const rowId = ref('')
const { createMessage } = useMessage() const { createMessage } = useMessage()
const [registerForm, { resetFields, setFieldsValue, validate, updateSchema }] = const [registerForm, { resetFields, setFieldsValue, validate, updateSchema }] = useForm({
useForm({
labelWidth: 100, labelWidth: 100,
schemas: formSchema, schemas: formSchema,
showActionButtonGroup: false, showActionButtonGroup: false,
}) })
const [registerModal, { setModalProps, closeModal, updateFormField }] = useModalInner(async (data) => { const [registerModal, { setModalProps, closeModal, updateFormField }] = useModalInner(
async (data) => {
resetFields() resetFields()
setModalProps({ confirmLoading: false, loading: true }) setModalProps({ confirmLoading: false, loading: true })
isUpdate.value = !!data?.isUpdate isUpdate.value = !!data?.isUpdate
if (unref(isUpdate)) { if (unref(isUpdate)) {
setModalProps({ confirmLoading: true }); setModalProps({ confirmLoading: true })
updateFormField(updateSchema) updateFormField(updateSchema)
rowId.value = data.record.id rowId.value = data.record.id
const res: API.DataResult = await GetCodeServiceInfo({ id: unref(rowId) }) const res: API.DataResult = await GetCodeServiceInfo({ id: unref(rowId) })
@ -94,7 +92,8 @@
setFieldsValue({ permissionIdentity: unref(2) }) setFieldsValue({ permissionIdentity: unref(2) })
} }
setModalProps({ loading: false }) setModalProps({ loading: false })
}) },
)
const getTitle = computed(() => (!unref(isUpdate) ? '新增' : '编辑')) const getTitle = computed(() => (!unref(isUpdate) ? '新增' : '编辑'))
@ -108,11 +107,10 @@
if (res.succeeded) { if (res.succeeded) {
createMessage.success(res.message) createMessage.success(res.message)
emit('success') emit('success')
} else {
createMessage.error(res.message)
} }
exit && closeModal() exit && closeModal()
} finally { } finally {
loading.value = false
setModalProps({ confirmLoading: false, loading: false }) setModalProps({ confirmLoading: false, loading: false })
} }
} }
@ -122,11 +120,11 @@
.s-txt { .s-txt {
font-size: 12px; font-size: 12px;
margin-left: 10px; margin-left: 10px;
color: #7A8798; color: #7a8798;
position: relative; position: relative;
top: 1px; top: 1px;
} }
.s-active { .s-active {
color: #257AFA; color: #257afa;
} }
</style> </style>
Loading…
Cancel
Save