往来单位 调整

szh-new
张同海 3 months ago
parent 6eb668f6c9
commit 5a38f6aec8

@ -0,0 +1,123 @@
<template>
<BasicModal
v-bind="$attrs"
:use-wrapper="true"
:title="getTitle"
width="50%"
@register="registerModal"
@ok="handleSave"
>
<BasicForm @register="registerForm" />
<!--右下角按钮-->
<template #footer>
<a-button
pre-icon="ant-design:close-outlined"
type="warning"
:loading="loading"
ghost
style="margin-right: 0.8rem"
@click="closeModal"
>取消</a-button
>
<a-button
type="success"
:loading="loading"
pre-icon="ant-design:check-outlined"
style="margin-right: 0.8rem"
@click="handleSave(false)"
>仅保存</a-button
>
<a-button
pre-icon="ant-design:check-circle-outlined"
type="primary"
:loading="loading"
@click="handleSave(true)"
>保存并关闭</a-button
>
</template>
</BasicModal>
</template>
<script lang="ts" setup>
import { ref, computed, unref } from 'vue'
import { BasicModal, useModalInner } from '/@/components/Modal'
import { BasicForm, useForm } from '/@/components/Form/index'
import { formSchema } from './columns'
import { ApiEdit, ApiInfo } from './api'
import { useMessage } from '/@/hooks/web/useMessage'
// Emits
const emit = defineEmits(['success', 'register'])
const isUpdate = ref(true)
const loading = ref(false)
const rowId = ref('')
const { createMessage } = useMessage()
const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
labelWidth: 100,
schemas: formSchema,
showActionButtonGroup: false,
})
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields()
setModalProps({ confirmLoading: false, loading: true })
isUpdate.value = !!data?.isUpdate
if (unref(isUpdate)) {
// setModalProps({ confirmLoading: true });
rowId.value = data.record.id
const res: API.DataResult = await ApiInfo({ id: unref(rowId) })
if (res.succeeded) {
setFieldsValue({
...res.data,
})
// console.log('Form', getFieldsValue());
// setFieldsValue({ trainId: unref(res.data.trainId) });
}
// setModalProps({ confirmLoading: false });
} else {
setFieldsValue({ permissionIdentity: unref(2) })
}
setModalProps({ loading: false })
})
const getTitle = computed(() => (!unref(isUpdate) ? '新增商品信息' : '编辑商品信息'))
async function handleSave(exit) {
try {
const values = await validate()
setModalProps({ confirmLoading: true, loading: true })
// TODO custom api
console.log(values)
// loading.value = true;
const res: API.DataResult = await ApiEdit(values)
console.log(res)
if (res.succeeded) {
createMessage.success(res.message)
emit('success')
//
if (!exit) {
if (unref(isUpdate)) {
await refresh()
} else {
rowId.value = res.data
isUpdate.value = true
await refresh()
}
}
} else {
createMessage.error(res.message)
}
exit && closeModal()
} finally {
// loading.value = false;
setModalProps({ confirmLoading: false, loading: false })
}
}
async function refresh() {
const res: API.DataResult = await ApiInfo({ id: unref(rowId) })
if (res.succeeded) {
await setFieldsValue({
...res.data,
})
}
}
</script>

@ -0,0 +1,32 @@
// @ts-ignore
import { request } from '/@/utils/request'
import { DataResult, PageRequest } from '/@/api/model/baseModel'
enum Api {
list = '/opApi/TaskMail/GetList',
edit = '/opApi/TaskMail/Edit',
info = '/opApi/TaskMail/Edit',
}
// 列表 (Auth)
export function ApiList(data: PageRequest) {
return request<DataResult>({
url: Api.list,
method: 'post',
data,
})
}
// 编辑 (Auth)
export function ApiEdit(data: PageRequest) {
return request<DataResult>({
url: Api.edit,
method: 'post',
data,
})
}
// 详情 (Auth)
export function ApiInfo(query) {
return request<DataResult>({
url: Api.info,
method: 'get',
params: query,
})
}

@ -0,0 +1,215 @@
import { BasicColumn, FormSchema } from '/@/components/Table'
import { Tag } from 'ant-design-vue'
// import { GetGoodsTypeList } from './api'
let GoodsTypeList = []
// const res: API.DataResult = await GetGoodsTypeList()
// if (res.succeeded) {
// GoodsTypeList = res.data
// }
export const columns: BasicColumn[] = [
{
title: '名称',
dataIndex: 'name',
sorter: true,
width: 150,
},
{
title: '名称',
dataIndex: 'name',
sorter: true,
width: 150,
},
// {
// title: '商品类型',
// dataIndex: 'goodsTypeId',
// sorter: true,
// width: 200,
// customRender: ({ text }) => {
// let RData = text
// GoodsTypeList.forEach((e: any) => {
// if (e.value == text) {
// RData = e.label
// }
// })
// return RData
// },
// },
// {
// title: '是否启用',
// dataIndex: 'status',
// sorter: true,
// width: 80,
// customRender: ({ text }) => {
// if (text === 0) {
// return <Tag color="success">启用</Tag>
// } else if (text === 1) {
// return <Tag color="error">禁用</Tag>
// }
// return text
// },
// },
]
export const searchFormSchema: FormSchema[] = [
{
field: 'GoodName',
label: '商品名称',
component: 'Input',
colProps: { span: 6 },
},
]
export const formSchema: FormSchema[] = [
{
label: '',
field: 'id',
component: 'Input',
defaultValue: '',
show: false,
},
{
field: 'goodsCode',
label: '商品编码',
component: 'Input',
required: true,
colProps: { span: 12 },
dynamicDisabled: ({ values }) => {
return !!values.id
},
},
{
field: 'goodName',
label: '商品名称',
component: 'Input',
required: true,
colProps: { span: 12 },
},
{
field: 'goodsTypeId',
label: '商品类型',
component: 'Select',
colProps: { span: 12 },
defaultValue: '',
componentProps: {
options: GoodsTypeList,
allowClear: true,
showSearch: true,
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
{
field: 'goodNo',
label: '物料号',
component: 'Input',
colProps: { span: 12 },
defaultValue: '',
},
{
field: 'enName',
label: '英文名称',
component: 'Input',
colProps: { span: 12 },
defaultValue: '',
},
// {
// field: 'arRate',
// label: '入库应收',
// component: 'InputNumber',
// colProps: { span: 12 },
// defaultValue: 0,
// },
// {
// field: 'apRate',
// label: '入库应付',
// component: 'InputNumber',
// colProps: { span: 12 },
// defaultValue: 0,
// },
// {
// field: 'arOutRate',
// label: '出库应收',
// component: 'InputNumber',
// colProps: { span: 12 },
// defaultValue: 0,
// },
// {
// field: 'apOutRate',
// label: '出库应付',
// component: 'InputNumber',
// colProps: { span: 12 },
// defaultValue: 0,
// },
// {
// field: 'goodsFeeTypeId',
// label: '计费大类',
// component: 'Input',
// colProps: { span: 12 },
// defaultValue: '',
// },
{
field: 'hsCode',
label: 'HSCODE',
component: 'Input',
colProps: { span: 12 },
defaultValue: '',
},
// {
// field: 'ruleUnit',
// label: '申报计量单位',
// component: 'Input',
// colProps: { span: 12 },
// defaultValue: '',
// },
// {
// field: 'ruleUnit1',
// label: '法定第一计量单位',
// component: 'Input',
// colProps: { span: 12 },
// defaultValue: '',
// },
// {
// field: 'ruleUnit2',
// label: '法定第二计量单位',
// component: 'Input',
// colProps: { span: 12 },
// defaultValue: '',
// },
{
field: 'description',
label: '商品描述',
component: 'InputTextArea',
colProps: { span: 12 },
componentProps: {
rows: 2,
},
},
{
field: 'note',
label: '备注',
component: 'InputTextArea',
colProps: { span: 12 },
componentProps: {
rows: 2,
},
},
{
field: 'status',
label: '是否可用',
component: 'RadioButtonGroup',
defaultValue: 0,
colProps: { span: 12 },
componentProps: {
options: [
{ label: '禁用', value: 1 },
{ label: '启用', value: 0 },
],
},
},
]

@ -0,0 +1,126 @@
<template>
<div>
<BasicTable
:class="{ 'ds-table': source == 'list', 'ds-table-detail': source == 'modal' }"
@register="registerTable"
@row-dbClick="handleAudit"
>
<template #tableTitle>
<a-button type="link" @click="handleCreate" :disabled="checkPermissions('op:goods:add')">
<span class="iconfont icon-new_document"></span>
添加
</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
icon: 'clarity:note-edit-line',
tooltip: '编辑',
onClick: handleAudit.bind(null, record),
disabled: checkPermissions('op:goods:edit'),
},
]"
/>
</template>
</template>
</BasicTable>
<TenantAuditStepModal @register="registerModal" @success="handleSuccess" />
</div>
</template>
<script lang="ts" setup>
import { ref, defineProps } from 'vue'
import { checkPermissions } from '/@/hooks/Permissions/index'
import { BasicTable, useTable, TableAction } from '/@/components/Table'
import { ApiList } from './api'
import { useModal } from '/@/components/Modal'
import TenantAuditStepModal from './TenantAuditStepModal.vue'
import { columns, searchFormSchema } from './columns'
import { useMessage } from '/@/hooks/web/useMessage'
const { notification } = useMessage()
const [registerModal, { openModal }] = useModal()
const [registerTable, { reload, getForm }] = useTable({
title: '',
api: async (p) => {
const res: API.DataResult = await ApiList(p)
return new Promise((resolve) => {
resolve({ data: [...res.data], total: res.count })
})
},
beforeFetch: (p) => {
var data = getForm().getFieldsValue()
const postParam: API.PageRequest = {
queryCondition: '',
pageCondition: {
pageIndex: p.page,
pageSize: p.pageSize,
sortConditions: [],
},
}
if (p.field) {
postParam.pageCondition.sortConditions = [
{
sortField: p.field,
listSortDirection: p.order == 'ascend' ? 0 : 1,
},
]
} else {
postParam.pageCondition.sortConditions = []
}
let condition: API.ConditionItem[] = []
if (!!data.GoodName) {
condition.push({
FieldName: 'GoodName',
FieldValue: data.GoodName,
ConditionalType: 1,
})
}
postParam.queryCondition = JSON.stringify(condition)
return postParam
},
columns,
formConfig: {
labelWidth: 120,
schemas: searchFormSchema,
},
isTreeTable: false,
pagination: true,
striped: true,
useSearchForm: true,
showTableSetting: true,
bordered: true,
showIndexColumn: true,
rowSelection: { type: 'checkbox' },
indexColumnProps: {
width: 60,
},
canResize: true,
resizeHeightOffset: 15,
immediate: true,
actionColumn: {
width: 80,
title: '操作',
dataIndex: 'action',
fixed: 'right',
},
})
function handleCreate() {
openModal(true, {
isParent: false,
isUpdate: false,
})
}
function handleAudit(record: Recordable) {
if (!checkPermissions('op:goods:edit')) {
openModal(true, {
record,
isUpdate: true,
})
}
}
function handleSuccess() {
reload()
}
</script>

@ -7,15 +7,12 @@
<div class="form-set-drag-box"> <div class="form-set-drag-box">
<div class="table-box"> <div class="table-box">
<!-- 表单区域组件 --> <!-- 表单区域组件 -->
<a-form <a-form layout="vertical" size="small">
layout="vertical"
size="small"
>
<a-row :gutter="16"> <a-row :gutter="16">
<template v-for="(item, index) in formItems.list" :key="index"> <template v-for="(item, index) in formItems.list" :key="index">
<a-col <a-col
v-if="item.label" v-if="item.label || item.component == 'Divider'"
:class="{active: activeClass == item.field}" :class="{ active: activeClass == item.field }"
:span="item?.colProps?.span" :span="item?.colProps?.span"
:draggable="true" :draggable="true"
@dragstart="handleDragStart($event, item)" @dragstart="handleDragStart($event, item)"
@ -23,8 +20,14 @@
@dragenter="handleDragEnter($event, item)" @dragenter="handleDragEnter($event, item)"
@dragend="handleDragEnd" @dragend="handleDragEnd"
> >
<a-form-item v-if="item.field != 'id'" :label="item.label" :name="item.label" @click="chooseItem(item)"> <a-form-item
<div class="model-input">占位使用</div> v-if="item.field != 'id'"
:label="item.label"
:name="item.label"
@click="chooseItem(item)"
>
<div class="model-input" v-if="item.component != 'Divider'">使</div>
<div class="model-divider" v-else></div>
</a-form-item> </a-form-item>
</a-col> </a-col>
</template> </template>
@ -34,32 +37,45 @@
<div class="opt-box"> <div class="opt-box">
<h3>字段属性设置</h3> <h3>字段属性设置</h3>
<!-- 表格操作列组件 --> <!-- 表格操作列组件 -->
<a-form <a-form ref="form" :model="formItems.formData" :rules="rules">
ref="form"
:model="formItems.formData"
:rules="rules"
>
<a-form-item label="字段名称(中文)" name="label"> <a-form-item label="字段名称(中文)" name="label">
<a-input v-model:value="formItems.formData.label" :disabled="formDisable" placeholder="请输入" /> <a-input
v-model:value="formItems.formData.label"
:disabled="formDisable"
placeholder="请输入"
/>
</a-form-item> </a-form-item>
<a-form-item label="字段名称(英文)"> <a-form-item label="字段名称(英文)">
<a-input v-model:value="formItems.formData.enLabel" :disabled="formDisable" placeholder="请输入" /> <a-input
v-model:value="formItems.formData.enLabel"
:disabled="formDisable"
placeholder="请输入"
/>
</a-form-item> </a-form-item>
<a-form-item v-if="/^InputTextArea|RadioButtonGroup|Select|Input$/.test(formItems.formData.component)" label="默认值" name="defaultValue"> <a-form-item
v-if="/^InputTextArea|RadioButtonGroup|Select|Input$/.test(formItems.formData.component)"
label="默认值"
name="defaultValue"
>
<a-select <a-select
v-if="formItems.formData.component == 'Select' || formItems.formData.component == 'RadioButtonGroup'" v-if="
formItems.formData.component == 'Select' ||
formItems.formData.component == 'RadioButtonGroup'
"
v-model="formItems.formData.defaultValue" v-model="formItems.formData.defaultValue"
placeholder="请选择" placeholder="请选择"
:disabled="formDisable" :disabled="formDisable"
> >
<a-select-option <a-select-option v-for="item in formItems.formData.options" :value="item.value">
v-for="item in formItems.formData.options"
:value="item.value"
>
{{ item.label }} {{ item.label }}
</a-select-option> </a-select-option>
</a-select> </a-select>
<a-input v-else v-model:value="formItems.formData.defaultValue" :disabled="formDisable" placeholder="请输入" /> <a-input
v-else
v-model:value="formItems.formData.defaultValue"
:disabled="formDisable"
placeholder="请输入"
/>
</a-form-item> </a-form-item>
<a-form-item label="是否必填" name="required"> <a-form-item label="是否必填" name="required">
<a-radio-group v-model:value="formItems.formData.required" :disabled="formDisable"> <a-radio-group v-model:value="formItems.formData.required" :disabled="formDisable">
@ -88,23 +104,23 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { FormSchema } from '/@/components/Table' import { FormSchema } from '/@/components/Table'
import { ref, reactive, defineProps, computed, watch, unref } from 'vue' import { ref, reactive, defineProps, computed, watch, unref } from 'vue'
const props = defineProps({ const props = defineProps({
// //
content: { content: {
type: Object, type: Object,
default: {} default: {},
} },
}) })
// //
let formItems = reactive({ let formItems = reactive({
list: [], list: [],
formData: <FormSchema> { formData: <FormSchema>{
colProps: { colProps: {
span: '' span: '',
} },
} },
}) })
// //
const formDisable = ref(true) const formDisable = ref(true)
@ -119,16 +135,16 @@ import { FormSchema } from '/@/components/Table'
{ {
required: true, required: true,
message: '请输入中文字段名称', message: '请输入中文字段名称',
trigger: 'blur' trigger: 'blur',
} },
], ],
enLabel: [ enLabel: [
{ {
required: true, required: true,
message: '请输入英文字段名称', message: '请输入英文字段名称',
trigger: 'blur' trigger: 'blur',
} },
] ],
} }
// //
let dragging = {} let dragging = {}
@ -142,10 +158,9 @@ import { FormSchema } from '/@/components/Table'
// //
const chooseItem = (item) => { const chooseItem = (item) => {
if (formItems.formData.field) { if (formItems.formData.field) {
form.value.validate() form.value.validate().then(() => {
.then(() => { formToggle(item)
formToggle(item) })
})
} else { } else {
formToggle(item) formToggle(item)
} }
@ -183,7 +198,7 @@ import { FormSchema } from '/@/components/Table'
const validate = async () => { const validate = async () => {
const list = JSON.parse(JSON.stringify(formItems.list)) const list = JSON.parse(JSON.stringify(formItems.list))
if (list && list.length) { if (list && list.length) {
list.forEach(item => { list.forEach((item) => {
if (item?.options) { if (item?.options) {
delete item.options delete item.options
} }
@ -191,7 +206,8 @@ import { FormSchema } from '/@/components/Table'
} }
if (!formDisable.value) { if (!formDisable.value) {
const flag = await new Promise((resolve) => { const flag = await new Promise((resolve) => {
form.value.validate() form.value
.validate()
.then(() => { .then(() => {
return resolve(list) return resolve(list)
}) })
@ -212,7 +228,7 @@ import { FormSchema } from '/@/components/Table'
}, },
) )
defineExpose({ defineExpose({
validate validate,
}) })
</script> </script>
@ -255,9 +271,12 @@ import { FormSchema } from '/@/components/Table'
height: 32px; height: 32px;
line-height: 30px; line-height: 30px;
padding-left: 15px; padding-left: 15px;
color:rgba(0, 0, 0, 0.45); color: rgba(0, 0, 0, 0.45);
border-radius: 4px; border-radius: 4px;
} }
.model-divider {
border-bottom: 1px solid #c9c9c9;
}
} }
} }
</style> </style>

@ -0,0 +1,131 @@
<template>
<BasicModal
v-bind="$attrs"
:use-wrapper="true"
:title="getTitle"
width="50%"
@register="registerModal"
@ok="handleSave"
>
<BasicForm @register="registerForm" />
<!--右下角按钮-->
<template #footer>
<a-button
pre-icon="ant-design:close-outlined"
type="warning"
:loading="loading"
ghost
style="margin-right: 0.8rem"
@click="closeModal"
>取消</a-button
>
<a-button
type="success"
:loading="loading"
pre-icon="ant-design:check-outlined"
style="margin-right: 0.8rem"
@click="handleSave(false)"
>仅保存</a-button
>
<a-button
pre-icon="ant-design:check-circle-outlined"
type="primary"
:loading="loading"
@click="handleSave(true)"
>保存并关闭</a-button
>
</template>
</BasicModal>
</template>
<script lang="ts" setup>
import { ref, computed, unref } from 'vue'
import { BasicModal, useModalInner } from '/@/components/Modal'
import { BasicForm, useForm } from '/@/components/Form/index'
import { formSchema } from './columns'
import { ApiEdit, ApiInfo } from './api'
import { useMessage } from '/@/hooks/web/useMessage'
// Emits
const emit = defineEmits(['success', 'register'])
const isUpdate = ref(true)
const loading = ref(false)
const rowId = ref('')
const { notification } = useMessage()
const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
labelWidth: 100,
schemas: formSchema,
showActionButtonGroup: false,
})
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields()
setModalProps({ confirmLoading: false, loading: true })
isUpdate.value = !!data?.isUpdate
if (unref(isUpdate)) {
// setModalProps({ confirmLoading: true });
rowId.value = data.record.id
const res: API.DataResult = await ApiInfo({ id: unref(rowId) })
if (res.succeeded) {
console.log(res.data)
let RshipperType = []
res.data.shipperType.split(',').forEach((e) => {
RshipperType.push(parseInt(e))
})
res.data.shipperType = RshipperType
console.log(res.data)
setFieldsValue({
...res.data,
})
}
} else {
setFieldsValue({ permissionIdentity: unref(2), clientId: data.clientId })
}
setModalProps({ loading: false })
})
const getTitle = computed(() => (!unref(isUpdate) ? '新增费用模板' : '编辑费用模板'))
async function handleSave(exit) {
try {
const values = await validate()
let shipperTypeS = ''
values.shipperType.forEach((item) => {
if (shipperTypeS == '') {
shipperTypeS = item
} else {
shipperTypeS = `${shipperTypeS},${item}`
}
})
values.shipperType = shipperTypeS
setModalProps({ confirmLoading: true, loading: true })
const res: API.DataResult = await ApiEdit(values)
if (res.succeeded) {
notification.success({ message: res.message, duration: 3 })
emit('success')
//
if (!exit) {
if (unref(isUpdate)) {
await refresh()
} else {
rowId.value = res.data
isUpdate.value = true
await refresh()
}
}
}
setModalProps({ confirmLoading: false, loading: false })
exit && closeModal()
} finally {
// loading.value = false;
setModalProps({ confirmLoading: false, loading: false })
}
}
async function refresh() {
const res: API.DataResult = await ApiInfo({ id: unref(rowId) })
if (res.succeeded) {
await setFieldsValue({
...res.data,
})
}
}
</script>

@ -0,0 +1,41 @@
// @ts-ignore
import { request } from '/@/utils/request'
import { DataResult, PageRequest } from '/@/api/model/baseModel'
enum Api {
list = '/feeApi/FeeCustTemplate/GetList',
edit = '/feeApi/FeeCustTemplate/Edit',
info = '/feeApi/FeeCustTemplate/Edit',
del = '/feeApi/FeeCustTemplate/Delete',
}
// 列表 (Auth)
export function ApiList(data: PageRequest) {
return request<DataResult>({
url: Api.list,
method: 'post',
data,
})
}
// 编辑 (Auth)
export function ApiEdit(data: PageRequest) {
return request<DataResult>({
url: Api.edit,
method: 'post',
data,
})
}
// 详情 (Auth)
export function ApiInfo(query) {
return request<DataResult>({
url: Api.info,
method: 'get',
params: query,
})
}
// 批量删除 (Auth)
export function ApiDel(data: PageRequest) {
return request<DataResult>({
url: Api.del,
method: 'post',
data,
})
}

@ -0,0 +1,171 @@
import { BasicColumn, FormSchema } from '/@/components/Table'
import { Tag } from 'ant-design-vue'
import { getDictDropDown } from '/@/api/common'
let shipperTypeList: any = []
const res2: API.DataResult = await getDictDropDown({ code: 'shipper_type' })
if (res2.succeeded) {
shipperTypeList = []
res2.data.forEach((e) => {
shipperTypeList.push({ label: e.name, value: Number(e.value) })
})
}
export const columns: BasicColumn[] = [
{
title: '名称',
dataIndex: 'name',
width: 150,
},
{
title: '业务类型',
dataIndex: 'businessTypeText',
width: 150,
},
{
title: '费用类型',
dataIndex: 'feeTypeText',
width: 150,
},
{
title: '说明',
dataIndex: 'description',
width: 150,
},
]
export const searchFormSchema: FormSchema[] = [
{
field: 'ShortName',
label: '简称',
component: 'Input',
colProps: { span: 6 },
},
]
export const formSchema: FormSchema[] = [
{
label: '主键Id',
field: 'id',
component: 'Input',
defaultValue: '',
show: false,
},
{
label: '客户id',
field: 'clientId',
component: 'Input',
defaultValue: '',
show: false,
},
{
field: 'codeName',
label: '代码',
required: true,
component: 'Input',
colProps: { span: 12 },
},
{
field: 'shortName',
label: '简称',
required: true,
component: 'Input',
colProps: { span: 12 },
},
{
field: 'name',
label: '公司全称',
component: 'Input',
colProps: { span: 12 },
},
{
field: 'address',
label: '地址',
component: 'Input',
colProps: { span: 12 },
},
{
field: 'shipperType',
label: '类型',
required: true,
component: 'Select',
colProps: { span: 12 },
componentProps: {
options: shipperTypeList,
allowClear: true,
showSearch: true,
mode: 'multiple',
class: 'NoLimitHeight',
filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
},
},
},
{
field: 'attn',
label: '联系人',
component: 'Input',
colProps: { span: 12 },
defaultValue: '',
},
{
field: 'email',
label: '邮箱',
component: 'Input',
colProps: { span: 12 },
defaultValue: '',
},
{
field: 'tel',
label: '电话',
component: 'Input',
colProps: { span: 12 },
defaultValue: '',
},
{
field: 'companyNo',
label: '公司代码',
component: 'Input',
colProps: { span: 12 },
defaultValue: 0,
},
{
field: 'isPublic',
label: '是否公共标识',
component: 'Switch',
defaultValue: false,
colProps: { span: 6 },
componentProps: {
checkedChildren: '是',
unCheckedChildren: '否',
},
},
{
field: 'status',
label: '是否可用',
component: 'Switch',
defaultValue: 0,
colProps: { span: 6 },
componentProps: {
checkedChildren: '是',
checkedValue: 0,
unCheckedChildren: '否',
unCheckedValue: 1,
},
},
{
field: 'note',
label: '备注',
component: 'InputTextArea',
colProps: { span: 12 },
componentProps: {
rows: 2,
},
},
{
field: 'shortDetail',
label: '详细信息',
component: 'InputTextArea',
colProps: { span: 12 },
componentProps: {
rows: 2,
},
},
]

@ -0,0 +1,148 @@
<template>
<div>
<BasicTable class="ds-table-detail" @register="registerTable" @row-dbClick="handleAudit">
<template #toolbar>
<a-button type="link" @click="handleCreate">
<span class="iconfont icon-new_document"></span>
添加费用模板
</a-button>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
icon: 'clarity:note-edit-line',
tooltip: '编辑',
onClick: handleAudit.bind(null, record),
},
{
icon: 'ant-design:delete-outlined',
tooltip: '删除',
color: 'error',
popConfirm: {
title: '是否要删除此条数据?',
okText: '是',
cancelText: '否',
confirm: handleDelete.bind(null, record),
},
},
]"
/>
</template>
</template>
</BasicTable>
<TenantAuditStepModal @register="registerModal" @success="handleSuccess" />
</div>
</template>
<script lang="ts" setup>
import { defineComponent, onMounted, ref } from 'vue'
import { BasicTable, useTable, TableAction, SorterResult } from '/@/components/Table'
import { ApiList, ApiDel } from './api'
import { useModal } from '/@/components/Modal'
import TenantAuditStepModal from './TenantAuditStepModal.vue'
import { columns, searchFormSchema } from './columns'
import { useMessage } from '/@/hooks/web/useMessage'
const { notification } = useMessage()
const props = defineProps({
clientId: { type: String },
})
const [registerModal, { openModal }] = useModal()
const [registerTable, { reload, getForm, getPaginationRef }] = useTable({
title: '费用模板列表',
api: async (p) => {
const res: API.DataResult = await ApiList(p)
return new Promise((resolve) => {
resolve({ data: [...res.data], total: res.count })
})
},
beforeFetch: () => {
var currentPageInfo: any = getPaginationRef()
var data = getForm().getFieldsValue()
const postParam: API.PageRequest = {
queryCondition: '',
pageCondition: {
pageIndex: currentPageInfo.current,
pageSize: currentPageInfo.pageSize,
sortConditions: [],
},
}
let condition: API.ConditionItem[] = []
// if (!!data.ShortName) {
// condition.push({
// FieldName: 'ShortName',
// FieldValue: data.ShortName,
// ConditionalType: 1,
// })
// }
condition.push({
FieldName: 'ClientId',
FieldValue: props.clientId,
ConditionalType: 1,
})
postParam.queryCondition = JSON.stringify(condition)
return postParam
},
columns,
// useSearchForm: true,
// formConfig: {
// labelWidth: 120,
// schemas: searchFormSchema,
// },
pagination: true,
bordered: true,
showTableSetting: false,
canResize: true,
resizeHeightOffset: 35,
actionColumn: {
width: 80,
title: '操作',
dataIndex: 'action',
fixed: 'right',
},
})
function handleCreate() {
openModal(true, {
clientId: props.clientId,
isParent: false,
isUpdate: false,
})
}
function handleAudit(record: Recordable) {
openModal(true, {
record,
// record: { clientId: props.clientId, ...record },
isUpdate: true,
})
}
//
async function handleDelete(record: Recordable) {
const res: API.DataResult = await ApiDel({
id: '',
ids: [record.id],
})
if (res.succeeded) {
notification.success({ message: res.message, duration: 3 })
reload()
} else {
notification.error({ message: res.message, duration: 3 })
}
}
function handleSuccess() {
reload()
}
</script>
<style lang="less" scoped>
.ds-table-detail {
margin-top: -16px;
.title {
font-size: 12px;
font-weight: 700;
letter-spacing: 1px;
line-height: 15.84px;
color: rgba(51, 56, 61, 1);
text-align: left;
vertical-align: bottom;
}
}
</style>

@ -56,6 +56,12 @@
<span class="iconfont icon-time" v-if="auditStatusText == '待审批'"></span> <span class="iconfont icon-time" v-if="auditStatusText == '待审批'"></span>
<span>{{ auditStatusText }}</span> <span>{{ auditStatusText }}</span>
</span> </span>
<ConfigForm :form-schema="formSchema" :isTransfer="true" name="往来单位-基本信息" formNo="12">
<a-button type="link">
<span class="iconfont icon-icon_tianjia"></span>
添加到表单设置
</a-button>
</ConfigForm>
</div> </div>
<div class="ds-detail-box sea-export-detail"> <div class="ds-detail-box sea-export-detail">
<div :style="{ display: 'flex' }"> <div :style="{ display: 'flex' }">
@ -68,10 +74,6 @@
lasttext="下一条" lasttext="下一条"
nexttext="上一条" nexttext="上一条"
></ActionBar> ></ActionBar>
<!-- 合同管理 -->
<!-- <a-tab-pane key="6" tab="合同管理">
<Menus4 :client-id="clientId" class="RUnit" />
</a-tab-pane> -->
<!-- 基本信息 --> <!-- 基本信息 -->
<a-tabs v-model:activeKey="activeKey" class="RUnit"> <a-tabs v-model:activeKey="activeKey" class="RUnit">
<a-tab-pane key="1" tab="基本信息"> <a-tab-pane key="1" tab="基本信息">
@ -82,42 +84,6 @@
<p class="title">财务信息</p> <p class="title">财务信息</p>
<BasicForm @register="registerForm2" @linkageForm="linkageForm2" /> <BasicForm @register="registerForm2" @linkageForm="linkageForm2" />
<div class="FlexTable"> <div class="FlexTable">
<!-- <div class="HotTable">
<div>
<span class="title Fapiao">发票信息</span>
<a-button type="link" @click="TableAdd" class="pl0">
<span class="iconfont icon-new_document"></span>
添加
</a-button>
<a-popconfirm
title="确定要删除所选数据?"
ok-text="确定"
cancel-text="取消"
@confirm="FnClickDel"
>
<a-button type="link" class="pl0">
<span class="iconfont icon-shanchu21"></span>
删除
</a-button>
</a-popconfirm>
</div>
<div style="position: relative">
<input
class="ds-tb-check"
type="checkbox"
v-model="allCheck"
:indeterminate="someCheck"
/>
<hot-table ref="hotTb" :data="list" :settings="settings">
<img
v-show="!list.length"
class="hot-tb-no-data"
src="../../../assets/images/nodata.png"
alt=""
/>
</hot-table>
</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 #tableTitle>
@ -163,9 +129,9 @@
<Tabs3 :client-id="clientId" :saleId="saleId" :sourceId="sourceId" /> <Tabs3 :client-id="clientId" :saleId="saleId" :sourceId="sourceId" />
</div> </div>
</a-tab-pane> </a-tab-pane>
<!-- <a-tab-pane key="3" tab="账期信息"> <!-- <a-tab-pane key="3" tab="费用模板">
<Tabs3 :client-id="clientId" /> <FeeCustTemplate :client-id="clientId" class="RUnit" />
</a-tab-pane> --> </a-tab-pane> -->
<!-- 联系人信息 --> <!-- 联系人信息 -->
<a-tab-pane key="4" tab="联系人信息"> <a-tab-pane key="4" tab="联系人信息">
<Menus2 :client-id="clientId" class="RUnit" /> <Menus2 :client-id="clientId" class="RUnit" />
@ -184,9 +150,6 @@
<ReleaseType :client-id="clientId" :customer-name="customerName"></ReleaseType> <ReleaseType :client-id="clientId" :customer-name="customerName"></ReleaseType>
</a-tab-pane> </a-tab-pane>
</a-tabs> </a-tabs>
<!-- 图片管理 -->
<!-- <Menus5 v-show="selectedKeys[0] == 'menu5'" class="RUnit" /> -->
</div> </div>
<ClientAccountDateModal @register="CADModal" @success="handleSuccess" /> <ClientAccountDateModal @register="CADModal" @success="handleSuccess" />
</div> </div>
@ -195,7 +158,6 @@
<script lang="ts" setup> <script lang="ts" setup>
import { ref, computed, unref, watch, onMounted, watchEffect } from 'vue' import { ref, computed, unref, watch, onMounted, watchEffect } from 'vue'
import { Divider } from 'ant-design-vue' import { Divider } from 'ant-design-vue'
import { BasicModal, useModalInner } from '/@/components/Modal'
import { BasicForm, useForm } from '/@/components/Form/index' import { BasicForm, useForm } from '/@/components/Form/index'
import { formSchema, formSchema2, Tablecolumns } from './columns' import { formSchema, formSchema2, Tablecolumns } from './columns'
import { EditformSchema, EditformSchema2 } from './EditColumns' import { EditformSchema, EditformSchema2 } from './EditColumns'
@ -209,6 +171,9 @@
ApiSubmitAudit, ApiSubmitAudit,
ApiWithdraw, ApiWithdraw,
} from './api' } from './api'
import { GetFormSetListByModule } from '/@/api/common'
// idname
import { permissionsInfo } from '/@/hooks/web/usePermission'
import { GetClientSourceDetailSelectList } from '/@/views/operation/seaexport/api/BookingLedger' import { GetClientSourceDetailSelectList } from '/@/views/operation/seaexport/api/BookingLedger'
import ClientAccountDateModal from './ClientAccountDateModal.vue' import ClientAccountDateModal from './ClientAccountDateModal.vue'
import { useMessage } from '/@/hooks/web/useMessage' import { useMessage } from '/@/hooks/web/useMessage'
@ -217,8 +182,8 @@
import Tabs3 from './tabs3/index.vue' import Tabs3 from './tabs3/index.vue'
import Menus2 from './menu2/index.vue' import Menus2 from './menu2/index.vue'
import Menus3 from './menu3/index.vue' import Menus3 from './menu3/index.vue'
import Menus4 from './menu4/index.vue'
import CustTemplateDetail from './custTemplateDetail/index.vue' import CustTemplateDetail from './custTemplateDetail/index.vue'
import FeeCustTemplate from './FeeCustTemplate/index.vue'
import { useModal } from '/@/components/Modal' import { useModal } from '/@/components/Modal'
import CustomerParams from './customerParams/index.vue' import CustomerParams from './customerParams/index.vue'
import ReleaseType from './ReleaseType/index.vue' import ReleaseType from './ReleaseType/index.vue'
@ -244,6 +209,51 @@
const activeKey = ref('1') const activeKey = ref('1')
const clientId = ref('') const clientId = ref('')
const customerName = ref('') const customerName = ref('')
const DIYformSchema = ref([])
//
const getFormSet = async () => {
let res: any = await GetFormSetListByModule({ permissionId: permissionsInfo().permissionId })
if (res.succeeded) {
const { data } = res
if (data && data.length) {
const content = JSON.parse(data[0].content).columns
await updateSchema(content)
DIYformSchema.value = content
}
}
}
onMounted(async () => {
await getFormSet()
activeKey.value = '1'
selectedKeys.value = ['menu1']
resetFields()
resetFields1()
// setModalProps({ confirmLoading: false, loading: true })
if (route.query.id) {
// setModalProps({ confirmLoading: true });
rowId.value = route.query.id
activeKey.value = '2'
getData(true)
// setModalProps({ confirmLoading: false });
} else {
setTableData([])
clientId.value = ''
clientTag_o.value = {
id: '',
clientId: '',
others: '',
note: '',
createTime: '',
}
rowId.value = ''
activeKey.value = '2'
await setFieldsValue({})
auditStatusText.value = ''
activeKey.value = '1'
await setFieldsValue1({})
}
})
watch(activeKey, (nval, oval) => { watch(activeKey, (nval, oval) => {
if (Number(nval) > 2 && !rowId.value) { if (Number(nval) > 2 && !rowId.value) {
activeKey.value = oval activeKey.value = oval
@ -265,7 +275,7 @@
}) })
watch( watch(
rowId, rowId,
(nval, oval) => { (nval) => {
if (nval) { if (nval) {
formSchema.forEach((item) => { formSchema.forEach((item) => {
if (item.show !== false && item.component !== 'Divider') { if (item.show !== false && item.component !== 'Divider') {
@ -274,7 +284,6 @@
updateSchema(item2) updateSchema(item2)
} }
}) })
if (item.field == 'pcorpId') { if (item.field == 'pcorpId') {
appendSchemaByField( appendSchemaByField(
{ {
@ -297,7 +306,15 @@
) )
const [ const [
registerForm1, registerForm1,
{ resetFields, getFieldsValue, setFieldsValue, validate, updateSchema, appendSchemaByField }, {
resetFields,
getFieldsValue,
setFieldsValue,
clearValidate,
validate,
updateSchema,
appendSchemaByField,
},
] = useForm({ ] = useForm({
labelWidth: 100, labelWidth: 100,
schemas: formSchema, schemas: formSchema,
@ -317,8 +334,9 @@
} }
return RData return RData
} }
const linkageForm = (e) => { const linkageForm = (e) => {
formSchema.forEach((item) => { DIYformSchema.value.forEach((item) => {
if (item.field == e.schema.field) { if (item.field == e.schema.field) {
updateSchema(item) updateSchema(item)
} }
@ -460,7 +478,6 @@
// id // id
const sourceId = ref('') const sourceId = ref('')
async function getData(type) { async function getData(type) {
list.value.splice(0)
const res: API.DataResult = await getCodeGoodsTypeInfo({ id: unref(rowId) }) const res: API.DataResult = await getCodeGoodsTypeInfo({ id: unref(rowId) })
if (res.succeeded) { if (res.succeeded) {
clientId.value = res.data.id clientId.value = res.data.id
@ -481,14 +498,11 @@
} }
}) })
} }
//
res.data.invoiceHeaders.forEach((item) => {
list.value.push(item)
})
if (type) { if (type) {
await setFieldsValue({ await setFieldsValue({
...res.data, ...res.data,
}) })
clearValidate()
auditStatusText.value = res.data.auditStatusText auditStatusText.value = res.data.auditStatusText
let Arr: any = [] let Arr: any = []
await GetClientSourceDetailSelectList({ id: res.data.sourceId }).then((res) => { await GetClientSourceDetailSelectList({ id: res.data.sourceId }).then((res) => {
@ -505,41 +519,7 @@
} }
} }
} }
onMounted(async () => {
activeKey.value = '1'
selectedKeys.value = ['menu1']
resetFields()
resetFields1()
// setModalProps({ confirmLoading: false, loading: true })
if (route.query.id) {
// setModalProps({ confirmLoading: true });
rowId.value = route.query.id
activeKey.value = '2'
allCheck.value = false
someCheck.value = false
getData(true)
// setModalProps({ confirmLoading: false });
} else {
list.value.splice(0)
setTableData([])
clientId.value = ''
clientTag_o.value = {
id: '',
clientId: '',
others: '',
note: '',
createTime: '',
}
rowId.value = ''
activeKey.value = '2'
await setFieldsValue({})
auditStatusText.value = ''
activeKey.value = '1'
await setFieldsValue1({})
}
})
const getTitle = computed(() => (!rowId.value ? '新增往来单位' : '编辑往来单位')) const getTitle = computed(() => (!rowId.value ? '新增往来单位' : '编辑往来单位'))
// //
function handleCreate() { function handleCreate() {
@ -573,23 +553,10 @@
values.clientTag = { ...values.clientTag, ...clientTag_o.value } values.clientTag = { ...values.clientTag, ...clientTag_o.value }
values.clientTag.others = values.others values.clientTag.others = values.others
let invoiceHeaders = []
list.value.forEach((item) => {
let Data = { ...item }
if (rowId.value) {
Data.relativeId = item.relativeId ? item.relativeId : rowId.value
Data.id = item.id ? item.id : 0
} else {
Data.relativeId = 0
Data.id = 0
}
invoiceHeaders.push(Data)
})
// loading.value = true; // loading.value = true;
const res: API.DataResult = await editCodeGoodsType({ const res: API.DataResult = await editCodeGoodsType({
...values, ...values,
...getFieldsValue1(), ...getFieldsValue1(),
invoiceHeaders,
}) })
if (res.succeeded) { if (res.succeeded) {
if (!rowId.value) { if (!rowId.value) {
@ -669,138 +636,6 @@
auditStatusText.value = res.data.auditStatusText auditStatusText.value = res.data.auditStatusText
} }
} }
// ---------------------------------------------------
//
const allCheck = ref(false)
//
const someCheck = ref(false)
const list = ref<any>([])
watchEffect(() => {
//
if (allCheck.value) {
list.value.forEach((item) => {
item.selected = true
})
} else {
//
list.value.forEach((item) => {
item.selected = false
})
}
})
watch(
list.value,
(val) => {
let a = 0
let b = 0
val.forEach((item) => {
if (item.selected) {
a += 1
} else {
b += 1
}
})
if (a == 0) {
allCheck.value = false
}
if (b == 0) {
allCheck.value = true
}
if (a != 0 && b != 0) {
someCheck.value = true
} else {
someCheck.value = false
}
},
{
deep: true,
},
)
const columns = [
{
title: '主键ID',
width: 200,
data: 'id',
},
{
title: '关联ID',
width: 200,
data: 'relativeId',
},
{
data: 'selected',
type: 'checkbox',
title: ' ',
width: 32,
className: 'htCenter',
readOnly: false,
},
{
title: '发票抬头',
width: 200,
data: 'header',
},
{
title: '地址电话',
width: 290,
data: 'addressTel',
},
]
const settings = {
height: '163',
width: '100%',
autoWrapRow: true,
autoWrapCol: true,
//
rowHeights: 32,
fixedColumnsLeft: 1,
//
hiddenColumns: {
columns: [0, 1],
indicators: true,
},
//
enterMoves: 'row',
columnSorting: true,
//
// afterValidate: function (isValid, value, row, prop, source) {
// if (!isValid) {
// hotTb.value.hotInstance.setDataAtRowProp(row, prop, '')
// }
// },
columns: columns,
// ()
licenseKey: 'non-commercial-and-evaluation',
//
async afterChange(changes, source) {
if (source === 'edit' || source === 'Autofill.fill' || source === 'CopyPaste.paste') {
let dict: any = {}
}
},
}
function TableAdd() {
list.value.push({ selected: false })
}
function FnClickDel() {
let ApiData = { ids: [] }
list.value.forEach((e, i) => {
if (e.selected) {
if (e.id) {
ApiData.ids.push(e.id)
} else {
list.value.splice(i, 1)
}
}
})
if (ApiData.ids.length) {
DeleteInvoiceHeader(ApiData).then((res) => {
if (res.succeeded) {
getData(false)
notification.success({ message: res.message, duration: 3 })
}
})
}
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.auditStatusText { .auditStatusText {

@ -465,28 +465,28 @@ export const formSchema: FormSchema[] = [
label: '', label: '',
field: 'id', field: 'id',
component: 'Input', component: 'Input',
defaultValue: '',
show: false, show: false,
}, },
// 审批状态
{ {
label: '审批状态', label: '',
field: 'auditStatus', field: 'auditStatus',
component: 'Input', component: 'Input',
defaultValue: '',
show: false, show: false,
}, },
// 审批状态名称
{ {
label: '审批状态名称', label: '',
field: 'auditStatusText', field: 'auditStatusText',
component: 'Input', component: 'Input',
defaultValue: '',
show: false, show: false,
}, },
{ {
field: 'description', field: 'description',
label: '客户全称', label: '客户全称',
required: true,
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
{ {
@ -494,28 +494,25 @@ export const formSchema: FormSchema[] = [
label: '客户简称', label: '客户简称',
required: true, required: true,
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
{ {
field: 'enFullName', field: 'enFullName',
label: '客户英文全称', label: '客户英文全称',
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 8 }, colProps: { span: 8 },
}, },
{ {
field: 'enShortName', field: 'enShortName',
label: '英文简称', label: '英文简称',
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
{ {
field: 'codeName', field: 'codeName',
label: '助记码', label: '助记码',
component: 'Input', component: 'Input',
defaultValue: '',
dynamicDisabled: ({ values }) => { dynamicDisabled: ({ values }) => {
return true return true
}, },
@ -525,28 +522,27 @@ export const formSchema: FormSchema[] = [
field: 'organizationCode', field: 'organizationCode',
label: '社会信用代码', label: '社会信用代码',
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
{ {
field: 'registrationNo', field: 'registrationNo',
label: '海关备案号', label: '海关备案号',
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
{ {
field: 'inspectionNo', field: 'inspectionNo',
label: '商检备案号', label: '商检备案号',
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
{ {
field: 'ediCode', field: 'ediCode',
label: 'EDI代码', label: 'EDI代码',
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
@ -554,7 +550,7 @@ export const formSchema: FormSchema[] = [
// field: 'pcorpId', // field: 'pcorpId',
// label: '所属集团', // label: '所属集团',
// component: 'TreeSelect', // component: 'TreeSelect',
// defaultValue: '', //
// colProps: { span: 4 }, // colProps: { span: 4 },
// componentProps: ({ formModel }) => { // componentProps: ({ formModel }) => {
// return { // return {
@ -599,42 +595,42 @@ export const formSchema: FormSchema[] = [
field: 'chief', field: 'chief',
label: '法人', label: '法人',
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
{ {
field: 'tel', field: 'tel',
label: '电话', label: '电话',
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
{ {
field: 'email', field: 'email',
label: '邮箱', label: '邮箱',
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
{ {
field: 'web', field: 'web',
label: '网址', label: '网址',
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
{ {
field: 'city', field: 'city',
label: '城市', label: '城市',
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
{ {
field: 'province', field: 'province',
label: '省或州', label: '省或州',
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
// { // {
@ -642,7 +638,7 @@ export const formSchema: FormSchema[] = [
// label: '国家', // label: '国家',
// component: 'Select', // component: 'Select',
// colProps: { span: 4 }, // colProps: { span: 4 },
// defaultValue: '', //
// componentProps: { // componentProps: {
// options: ClientCountryList, // options: ClientCountryList,
// allowClear: true, // allowClear: true,
@ -657,7 +653,7 @@ export const formSchema: FormSchema[] = [
label: '国家', label: '国家',
component: 'Select', component: 'Select',
colProps: { span: 4 }, colProps: { span: 4 },
defaultValue: '',
componentProps: (e) => { componentProps: (e) => {
return { return {
options: ClientCountryList, options: ClientCountryList,
@ -673,7 +669,7 @@ export const formSchema: FormSchema[] = [
field: 'address', field: 'address',
label: '通讯地址', label: '通讯地址',
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 12 }, colProps: { span: 12 },
}, },
{ {
@ -689,7 +685,6 @@ export const formSchema: FormSchema[] = [
label: '', label: '',
field: 'sale', field: 'sale',
component: 'Input', component: 'Input',
defaultValue: '',
show: false, show: false,
}, },
{ {
@ -697,7 +692,7 @@ export const formSchema: FormSchema[] = [
label: '揽货人', label: '揽货人',
component: 'Select', component: 'Select',
colProps: { span: 4 }, colProps: { span: 4 },
defaultValue: '',
componentProps: ({ formModel }) => { componentProps: ({ formModel }) => {
return { return {
options: SaleUserList, options: SaleUserList,
@ -723,7 +718,6 @@ export const formSchema: FormSchema[] = [
label: '', label: '',
field: 'customerServiceName', field: 'customerServiceName',
component: 'Input', component: 'Input',
defaultValue: '',
show: false, show: false,
}, },
{ {
@ -731,7 +725,7 @@ export const formSchema: FormSchema[] = [
label: '客服', label: '客服',
component: 'Select', component: 'Select',
colProps: { span: 4 }, colProps: { span: 4 },
defaultValue: '',
componentProps: ({ formModel }) => { componentProps: ({ formModel }) => {
return { return {
options: CustomerServiceList, options: CustomerServiceList,
@ -753,11 +747,11 @@ export const formSchema: FormSchema[] = [
} }
}, },
}, },
// 操作人Name
{ {
label: '操作人Name', label: '',
field: 'operatorName', field: 'operatorName',
component: 'Input', component: 'Input',
defaultValue: '',
show: false, show: false,
}, },
{ {
@ -765,7 +759,7 @@ export const formSchema: FormSchema[] = [
label: '操作人', label: '操作人',
component: 'Select', component: 'Select',
colProps: { span: 4 }, colProps: { span: 4 },
defaultValue: '',
componentProps: ({ formModel }) => { componentProps: ({ formModel }) => {
return { return {
options: OperatorUserList, options: OperatorUserList,
@ -791,7 +785,7 @@ export const formSchema: FormSchema[] = [
label: '', label: '',
field: 'docName', field: 'docName',
component: 'Input', component: 'Input',
defaultValue: '',
show: false, show: false,
}, },
{ {
@ -799,7 +793,7 @@ export const formSchema: FormSchema[] = [
label: '单证', label: '单证',
component: 'Select', component: 'Select',
colProps: { span: 4 }, colProps: { span: 4 },
defaultValue: '',
componentProps: ({ formModel }) => { componentProps: ({ formModel }) => {
return { return {
options: VouchingClerkList, options: VouchingClerkList,
@ -825,7 +819,7 @@ export const formSchema: FormSchema[] = [
{ {
field: 'commissionUserId', field: 'commissionUserId',
label: '提成参与人', label: '提成参与人',
defaultValue: '',
component: 'ApiSelect', component: 'ApiSelect',
colProps: { span: 4 }, colProps: { span: 4 },
componentProps: () => { componentProps: () => {
@ -842,7 +836,7 @@ export const formSchema: FormSchema[] = [
field: 'blContent', field: 'blContent',
label: '提单信息', label: '提单信息',
component: 'InputTextArea', component: 'InputTextArea',
defaultValue: '',
colProps: { span: 12 }, colProps: { span: 12 },
componentProps: { componentProps: {
rows: 4, rows: 4,
@ -857,11 +851,11 @@ export const formSchema: FormSchema[] = [
class: 'infoclientDivider', class: 'infoclientDivider',
}, },
}, },
// 业务来源Name
{ {
label: '业务来源Name', label: '',
field: 'sourceName', field: 'sourceName',
component: 'Input', component: 'Input',
defaultValue: '',
show: false, show: false,
}, },
{ {
@ -936,11 +930,11 @@ export const formSchema: FormSchema[] = [
} }
}, },
}, },
// 来源明细Name
{ {
label: '来源明细Name', label: '',
field: 'sourceDetailName', field: 'sourceDetailName',
component: 'Input', component: 'Input',
defaultValue: '',
show: false, show: false,
}, },
// { // {
@ -957,14 +951,14 @@ export const formSchema: FormSchema[] = [
field: 'sourceDetailId', field: 'sourceDetailId',
label: '来源明细', label: '来源明细',
component: 'Select', component: 'Select',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
// { // {
// field: 'unitPrice', // field: 'unitPrice',
// label: '冷藏费率', // label: '冷藏费率',
// component: 'Input', // component: 'Input',
// defaultValue: '', //
// colProps: { span: 4 }, // colProps: { span: 4 },
// }, // },
{ {
@ -986,7 +980,7 @@ export const formSchema: FormSchema[] = [
// label: '默认付费方式', // label: '默认付费方式',
// component: 'Select', // component: 'Select',
// colProps: { span: 4 }, // colProps: { span: 4 },
// defaultValue: '', //
// componentProps: { // componentProps: {
// options: ClientFrtList, // options: ClientFrtList,
// allowClear: true, // allowClear: true,
@ -1000,7 +994,7 @@ export const formSchema: FormSchema[] = [
field: 'feeFRT', field: 'feeFRT',
label: '默认付费方式', label: '默认付费方式',
component: 'Select', component: 'Select',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
componentProps: (e) => { componentProps: (e) => {
return { return {
@ -1031,7 +1025,7 @@ export const formSchema: FormSchema[] = [
field: 'invoicingMethod', field: 'invoicingMethod',
label: '开票方式', label: '开票方式',
component: 'Select', component: 'Select',
defaultValue: '',
colProps: { span: 4 }, colProps: { span: 4 },
componentProps: (e) => { componentProps: (e) => {
return { return {
@ -1054,17 +1048,16 @@ export const formSchema: FormSchema[] = [
return !values.isOverdueDeduction return !values.isOverdueDeduction
}, },
}, },
// 所属集团名称
{ {
field: 'pcorpName', field: 'pcorpName',
label: '所属集团名称', label: '',
component: 'Input', component: 'Input',
defaultValue: '',
show: false, show: false,
}, },
{ {
field: 'pcorpId', field: 'pcorpId',
label: '所属集团', label: '所属集团',
defaultValue: '',
component: 'ApiSelect', component: 'ApiSelect',
colProps: { span: 4 }, colProps: { span: 4 },
componentProps: ({ formModel }) => { componentProps: ({ formModel }) => {
@ -1102,7 +1095,7 @@ export const formSchema: FormSchema[] = [
// label: '审批状态', // label: '审批状态',
// component: 'Input', // component: 'Input',
// colProps: { span: 4 }, // colProps: { span: 4 },
// defaultValue: '', //
// dynamicDisabled: ({}) => { // dynamicDisabled: ({}) => {
// return true // return true
// }, // },
@ -1169,11 +1162,11 @@ export const formSchema: FormSchema[] = [
class: 'infoclientDivider', class: 'infoclientDivider',
}, },
}, },
// 所属分部Name
{ {
label: '所属分部Name', label: '',
field: 'saleOrgName', field: 'saleOrgName',
component: 'Input', component: 'Input',
defaultValue: '',
show: false, show: false,
}, },
{ {
@ -1237,7 +1230,7 @@ export const formSchema: FormSchema[] = [
field: 'note', field: 'note',
label: '备注', label: '备注',
component: 'InputTextArea', component: 'InputTextArea',
defaultValue: '',
colProps: { span: 12 }, colProps: { span: 12 },
componentProps: { componentProps: {
rows: 4, rows: 4,
@ -1247,7 +1240,7 @@ export const formSchema: FormSchema[] = [
// label: '', // label: '',
// field: 'Space1', // field: 'Space1',
// component: 'Space', // component: 'Space',
// defaultValue: '', //
// colProps: { // colProps: {
// span: 16, // span: 16,
// }, // },
@ -1259,14 +1252,14 @@ export const formSchema2: FormSchema[] = [
field: 'farCode', field: 'farCode',
label: '财务应收账款代码', label: '财务应收账款代码',
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 8 }, colProps: { span: 8 },
}, },
{ {
field: 'fapCode', field: 'fapCode',
label: '财务应付账款代码', label: '财务应付账款代码',
component: 'Input', component: 'Input',
defaultValue: '',
colProps: { span: 8 }, colProps: { span: 8 },
}, },
{ {
@ -1484,7 +1477,7 @@ export const CADformSchema: FormSchema[] = [
field: 'currency', field: 'currency',
label: '币别', label: '币别',
required: true, required: true,
defaultValue: '',
component: 'ApiSelect', component: 'ApiSelect',
colProps: { span: 6 }, colProps: { span: 6 },
componentProps: () => { componentProps: () => {
@ -1557,7 +1550,7 @@ export const CADformSchema: FormSchema[] = [
label: '国家', label: '国家',
component: 'Select', component: 'Select',
colProps: { span: 6 }, colProps: { span: 6 },
defaultValue: '',
componentProps: ({ formModel }) => { componentProps: ({ formModel }) => {
return { return {
options: ClientCountryList, options: ClientCountryList,

Loading…
Cancel
Save