diff --git a/yudao-ui-admin-vben-master/.env.development b/yudao-ui-admin-vben-master/.env.development index 8e2b007..f43a104 100644 --- a/yudao-ui-admin-vben-master/.env.development +++ b/yudao-ui-admin-vben-master/.env.development @@ -7,14 +7,14 @@ VITE_PUBLIC_PATH = / # 本地开发代理,可以解决跨域及多地址代理 # 如果接口地址匹配到,则会转发到http://localhost:3000,防止本地出现跨域问题 # 可以有多个,注意多个不能换行,否则代理将会失效 -VITE_PROXY = [["/dev-api","http://localhost:8091/admin-api"],["/upload","http://localhost:48080/admin-api/infra/file/upload"]] +VITE_PROXY = [["/dev-api","http://192.168.0.162:8091/admin-api"],["/upload","http://192.168.0.162:8091/admin-api/infra/file/upload"]] # VITE_PROXY=[["/api","http://vben.xingyuv.com/test"]] # 是否删除Console.log VITE_DROP_CONSOLE = false # 基础页面地址,例如 swagger 等页面 -VITE_GLOB_BASE_URL = "http://localhost:8091" +VITE_GLOB_BASE_URL = "http://192.168.0.162:8091" # 接口地址,如果没有跨域问题,直接在这里配置即可 VITE_GLOB_API_URL = /dev-api diff --git a/yudao-ui-admin-vben-master/npm b/yudao-ui-admin-vben-master/npm new file mode 100644 index 0000000..e69de29 diff --git a/yudao-ui-admin-vben-master/src/api/system/enterprise/index.ts b/yudao-ui-admin-vben-master/src/api/system/enterprise/index.ts index af8ddbe..0e3ef42 100644 --- a/yudao-ui-admin-vben-master/src/api/system/enterprise/index.ts +++ b/yudao-ui-admin-vben-master/src/api/system/enterprise/index.ts @@ -20,6 +20,12 @@ export function updateEnterprise(data) { return defHttp.put({ url: '/system/enterprise/update', data }) } +// 修改企业状态 +export function updateEnterpriseStatus(data) { + return defHttp.put({ url: '/system/enterprise/updateStatus', data }) +} + + // 删除企业信息 export function deleteEnterprise(id: number) { return defHttp.delete({ url: '/system/enterprise/delete?id=' + id }) diff --git a/yudao-ui-admin-vben-master/src/api/xxjj/businessWarehouse/index.ts b/yudao-ui-admin-vben-master/src/api/xxjj/businessWarehouse/index.ts index f77ab45..d254b0a 100644 --- a/yudao-ui-admin-vben-master/src/api/xxjj/businessWarehouse/index.ts +++ b/yudao-ui-admin-vben-master/src/api/xxjj/businessWarehouse/index.ts @@ -25,7 +25,12 @@ export function deleteBusinessWarehouse(id: number) { return defHttp.delete({ url: '/system/business-warehouse/delete?id=' + id }) } -// 导出业务线/仓库 Excel +// 导出业务线 Excel export function exportBusinessWarehouse(params) { - return defHttp.download({ url: '/xxjj/business-warehouse/export-excel', params }, '业务线/仓库.xls') + return defHttp.download({ url: '/system/business-warehouse/export-excel', params }, '业务线.xls') } + +// 查询业务线(精简)列表 +export function listSimpleBusiness() { + return defHttp.get({ url: '/system/business-warehouse/list-all-simple' }) + } diff --git a/yudao-ui-admin-vben-master/src/api/xxjj/customer/index.ts b/yudao-ui-admin-vben-master/src/api/xxjj/customer/index.ts new file mode 100644 index 0000000..ef093c6 --- /dev/null +++ b/yudao-ui-admin-vben-master/src/api/xxjj/customer/index.ts @@ -0,0 +1,31 @@ +import { defHttp } from '@/utils/http/axios' + +// 查询客户信息列表 +export function getCustomerPage(params) { + return defHttp.get({ url: '/xxjj/customer/page', params }) +} + +// 查询客户信息详情 +export function getCustomer(id: number) { + return defHttp.get({ url: '/xxjj/customer/get?id=' + id }) +} + +// 新增客户信息 +export function createCustomer(data) { + return defHttp.post({ url: '/xxjj/customer/create', data }) +} + +// 修改客户信息 +export function updateCustomer(data) { + return defHttp.put({ url: '/xxjj/customer/update', data }) +} + +// 删除客户信息 +export function deleteCustomer(id: number) { + return defHttp.delete({ url: '/xxjj/customer/delete?id=' + id }) +} + +// 导出客户信息 Excel +export function exportCustomer(params) { + return defHttp.download({ url: '/xxjj/customer/export-excel', params }, '客户信息.xls') +} diff --git a/yudao-ui-admin-vben-master/src/main.ts b/yudao-ui-admin-vben-master/src/main.ts index bcb2c12..b1b5d8f 100644 --- a/yudao-ui-admin-vben-master/src/main.ts +++ b/yudao-ui-admin-vben-master/src/main.ts @@ -5,6 +5,7 @@ import './design/index.less' // Register icon sprite import 'virtual:svg-icons-register' import { createApp } from 'vue' +import Antd from 'ant-design-vue' import App from './App.vue' import { initAppConfigStore } from '@/logics/initAppConfig' import { setupErrorHandle } from '@/logics/error-handle' @@ -17,6 +18,7 @@ import { registerGlobComp } from '@/components/registerGlobComp' import '@/utils/tongji' + async function bootstrap() { const app = createApp(App) @@ -57,7 +59,7 @@ async function bootstrap() { // https://next.router.vuejs.org/api/#isready // await router.isReady(); - app.mount('#app') + app.use(Antd).mount('#app') } bootstrap() diff --git a/yudao-ui-admin-vben-master/src/utils/dict.ts b/yudao-ui-admin-vben-master/src/utils/dict.ts index 79aaa0f..8a150a0 100644 --- a/yudao-ui-admin-vben-master/src/utils/dict.ts +++ b/yudao-ui-admin-vben-master/src/utils/dict.ts @@ -156,9 +156,11 @@ export enum DICT_TYPE { // ============= BUSINESSLINE 模块================= BUSINESS_TYPE = 'business_type', //业务线类型 DIFF_FLAG = 'diff_flag', + CLASS_STATUS = 'class_status', //类别状态 + DUTY_TYPE = 'duty_type', //业务线的所属分类 + BUSINESS_ORGANIZATION_TYPE = 'business_organization_type', //业务组织类型 // ============= ENTERPRISEBRANCHING 模块================= ENTERPRISE_TYPE = 'enterprise_type', //业务线类型 - CLASS_STATUS = 'class_status', } diff --git a/yudao-ui-admin-vben-master/src/views/base/profile/data.ts b/yudao-ui-admin-vben-master/src/views/base/profile/data.ts index 61f7466..12d6da3 100644 --- a/yudao-ui-admin-vben-master/src/views/base/profile/data.ts +++ b/yudao-ui-admin-vben-master/src/views/base/profile/data.ts @@ -34,6 +34,7 @@ export const settingList = [ name: '新消息通知', component: 'MsgNotify', }, + ] // 基础设置 form diff --git a/yudao-ui-admin-vben-master/src/views/base/profile/index.vue b/yudao-ui-admin-vben-master/src/views/base/profile/index.vue index a48e4e3..33f7371 100644 --- a/yudao-ui-admin-vben-master/src/views/base/profile/index.vue +++ b/yudao-ui-admin-vben-master/src/views/base/profile/index.vue @@ -6,6 +6,7 @@ import BaseSetting from './BaseSetting.vue' import SecureSetting from './SecureSetting.vue' import AccountBind from './AccountBind.vue' import MsgNotify from './MsgNotify.vue' + import { ScrollContainer } from '@/components/Container/index' const wrapperRef = ref(null) diff --git a/yudao-ui-admin-vben-master/src/views/users/mine.rar b/yudao-ui-admin-vben-master/src/views/users/mine.rar new file mode 100644 index 0000000..b150a5f Binary files /dev/null and b/yudao-ui-admin-vben-master/src/views/users/mine.rar differ diff --git a/yudao-ui-admin-vben-master/src/views/users/mine/index.vue b/yudao-ui-admin-vben-master/src/views/users/mine/index.vue new file mode 100644 index 0000000..b1f38bf --- /dev/null +++ b/yudao-ui-admin-vben-master/src/views/users/mine/index.vue @@ -0,0 +1,890 @@ + + + + + + + + + diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/BusinessOrganizationModal.vue b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/BusinessOrganizationModal.vue new file mode 100644 index 0000000..1f4d021 --- /dev/null +++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/BusinessOrganizationModal.vue @@ -0,0 +1,57 @@ + + diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/businessOrganization.data.ts b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/businessOrganization.data.ts new file mode 100644 index 0000000..75d6aab --- /dev/null +++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/businessOrganization.data.ts @@ -0,0 +1,258 @@ +import { BasicColumn, FormSchema, useRender } from '@/components/Table' +import { DICT_TYPE, getDictOptions } from '@/utils/dict' +import { listSimpleBusiness } from '@/api/xxjj/businessWarehouse' + +export const columns: BasicColumn[] = [ + { + title: '业务线名称', + dataIndex: 'name', + width: 160 + }, + { + title: '类型', + dataIndex: 'type', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.BUSINESS_ORGANIZATION_TYPE) + } + }, + { + title: '状态', + dataIndex: 'type', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.CLASS_STATUS) + } + }, + { + title: '成员数量', + dataIndex: 'employeeNum', + width: 160 + }, + { + title: '主管人员', + dataIndex: 'belongUserId', + width: 160 + }, + { + title: '描述', + dataIndex: 'description', + width: 160 + }, + { + title: '更新时间', + dataIndex: 'updateTime', + width: 180, + customRender: ({ text }) => { + return useRender.renderDate(text) + } + }, +] + +export const searchFormSchema: FormSchema[] = [ + { + label: '业务线名称', + field: 'name', + component: 'Input', + colProps: { span: 8 } + }, + // { + // label: '类型', + // field: 'type', + // component: 'Select', + // componentProps: { + // options: getDictOptions(DICT_TYPE.BUSINESS_ORGANIZATION_TYPE) + // }, + // colProps: { span: 8 } + // }, + // { + // label: '所属行业', + // field: 'industry', + // component: 'Select', + // componentProps: { + // options: getDictOptions(DICT_TYPE.DUTY_TYPE) + // }, + // colProps: { span: 8 } + // }, + // { + // label: '成立时间', + // field: 'establishDate', + // component: 'RangePicker', + // colProps: { span: 8 } + // }, + // { + // label: '归属人员', + // field: 'belongUserId', + // component: 'Input', + // colProps: { span: 8 } + // }, + // { + // label: '品牌/业务线/事业群名称', + // field: 'brandName', + // component: 'Input', + // colProps: { span: 8 } + // }, + // { + // label: '业务线仓库区分(0:业务线,1:仓库)', + // field: 'diffFlag', + // component: 'Select', + // componentProps: { + // options: getDictOptions(DICT_TYPE.DIFF_FLAG) + // }, + // colProps: { span: 8 } + // }, +] + +export const createFormSchema: FormSchema[] = [ + { + label: '编号', + field: 'id', + show: false, + component: 'Input' + }, + { + label: '业务组织编号', + field: 'businessCode', + required: true, + component: 'Input' + }, + { + label: '业务组织名称', + field: 'name', + required: true, + component: 'Input' + }, + { + label: '业务组织简称', + field: 'businessSimple', + component: 'Input' + }, + { + label: '业务组织简称', + field: 'businessSimple', + component: 'Input' + }, + { + label: '隶属业务线', + field: 'parentId', + required: true, + component: 'ApiTreeSelect', + componentProps: { + api: () => listSimpleBusiness(), + fieldNames: { + label: 'name', + key: 'id', + value: 'id', + }, + handleTree: 'id', + }, + }, + { + label: '类型', + field: 'type', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.BUSINESS_ORGANIZATION_TYPE, 'number') + } + }, + { + label: '所在城市', + field: 'city', + component: 'Input' + }, + { + label: '成立时间', + field: 'establishDate', + component: 'DatePicker' + }, + { + label: '归属人员', + field: 'belongUserId', + component: 'Input' + }, + { + label: '介绍', + field: 'description', + component: 'InputTextArea' + }, + { + label: '区分标志', + field: 'diffFlag', + required: true, + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.DIFF_FLAG, 'number') + } + }, +] + +export const updateFormSchema: FormSchema[] = [ + { + label: '编号', + field: 'id', + show: false, + component: 'Input' + }, + { + label: '业务线编号', + field: 'businessCode', + required: true, + component: 'Input' + }, + { + label: '业务线名称', + field: 'name', + required: true, + component: 'Input' + }, + { + label: '业务线简称', + field: 'businessSimple', + component: 'Input' + }, + { + label: '类型', + field: 'type', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.BUSINESS_ORGANIZATION_TYPE, 'number') + } + }, + { + label: '所属行业', + field: 'industry', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.DUTY_TYPE, 'number') + } + }, + { + label: '所在城市', + field: 'city', + component: 'Input' + }, + { + label: '成立时间', + field: 'establishDate', + component: 'DatePicker' + }, + { + label: '介绍', + field: 'description', + component: 'InputTextArea' + }, + { + label: '归属人员', + field: 'belongUserId', + component: 'Input' + }, + { + label: '区分标志', + field: 'diffFlag', + required: true, + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.DIFF_FLAG, 'number') + } + }, +] \ No newline at end of file diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/index.vue b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/index.vue new file mode 100644 index 0000000..6f072bd --- /dev/null +++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganization/index.vue @@ -0,0 +1,92 @@ + + diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/BusinessTree.vue b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/BusinessTree.vue new file mode 100644 index 0000000..200b9f1 --- /dev/null +++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/BusinessTree.vue @@ -0,0 +1,42 @@ + + + diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/BusinessWarehouseModal.vue b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/BusinessWarehouseModal.vue new file mode 100644 index 0000000..d75087f --- /dev/null +++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/BusinessWarehouseModal.vue @@ -0,0 +1,57 @@ + + diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/businessWarehouse.data.ts b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/businessWarehouse.data.ts new file mode 100644 index 0000000..0542cdd --- /dev/null +++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/businessWarehouse.data.ts @@ -0,0 +1,250 @@ +import { BasicColumn, FormSchema, useRender } from '@/components/Table' +import { DICT_TYPE, getDictOptions } from '@/utils/dict' + +export const columns: BasicColumn[] = [ + { + title: '业务线名称', + dataIndex: 'name', + width: 160 + }, + { + title: '类型', + dataIndex: 'type', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.BUSINESS_TYPE) + } + }, + { + title: '状态', + dataIndex: 'type', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.CLASS_STATUS) + } + }, + { + title: '关联机构', + dataIndex: 'institutionNum', + width: 160 + }, + { + title: '成员数量', + dataIndex: 'employeeNum', + width: 160 + }, + { + title: '主管人员', + dataIndex: 'belongUserId', + width: 160 + }, + { + title: '介绍', + dataIndex: 'description', + width: 160 + }, + { + title: '更新时间', + dataIndex: 'updateTime', + width: 180, + customRender: ({ text }) => { + return useRender.renderDate(text) + } + }, +] + +export const searchFormSchema: FormSchema[] = [ + { + label: '业务线名称', + field: 'name', + component: 'Input', + colProps: { span: 8 } + }, + // { + // label: '类型', + // field: 'type', + // component: 'Select', + // componentProps: { + // options: getDictOptions(DICT_TYPE.BUSINESS_TYPE) + // }, + // colProps: { span: 8 } + // }, + // { + // label: '所属行业', + // field: 'industry', + // component: 'Select', + // componentProps: { + // options: getDictOptions(DICT_TYPE.DUTY_TYPE) + // }, + // colProps: { span: 8 } + // }, + // { + // label: '成立时间', + // field: 'establishDate', + // component: 'RangePicker', + // colProps: { span: 8 } + // }, + // { + // label: '归属人员', + // field: 'belongUserId', + // component: 'Input', + // colProps: { span: 8 } + // }, + // { + // label: '品牌/业务线/事业群名称', + // field: 'brandName', + // component: 'Input', + // colProps: { span: 8 } + // }, + // { + // label: '业务线仓库区分(0:业务线,1:仓库)', + // field: 'diffFlag', + // component: 'Select', + // componentProps: { + // options: getDictOptions(DICT_TYPE.DIFF_FLAG) + // }, + // colProps: { span: 8 } + // }, +] + +export const createFormSchema: FormSchema[] = [ + { + label: '编号', + field: 'id', + show: false, + component: 'Input' + }, + { + label: '业务线编号', + field: 'businessCode', + required: true, + component: 'Input' + }, + { + label: '业务线名称', + field: 'name', + required: true, + component: 'Input' + }, + { + label: '业务线简称', + field: 'businessSimple', + component: 'Input' + }, + { + label: '类型', + field: 'type', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.BUSINESS_TYPE, 'number') + } + }, + { + label: '所属行业', + field: 'industry', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.DUTY_TYPE, 'number') + } + }, + { + label: '所在城市', + field: 'city', + component: 'Input' + }, + { + label: '成立时间', + field: 'establishDate', + component: 'DatePicker' + }, + { + label: '介绍', + field: 'description', + component: 'InputTextArea' + }, + { + label: '归属人员', + field: 'belongUserId', + component: 'Input' + }, + { + label: '区分标志', + field: 'diffFlag', + required: true, + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.DIFF_FLAG, 'number') + } + }, +] + +export const updateFormSchema: FormSchema[] = [ + { + label: '编号', + field: 'id', + show: false, + component: 'Input' + }, + { + label: '业务线编号', + field: 'businessCode', + required: true, + component: 'Input' + }, + { + label: '业务线名称', + field: 'name', + required: true, + component: 'Input' + }, + { + label: '业务线简称', + field: 'businessSimple', + component: 'Input' + }, + { + label: '类型', + field: 'type', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.BUSINESS_TYPE, 'number') + } + }, + { + label: '所属行业', + field: 'industry', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.DUTY_TYPE, 'number') + } + }, + { + label: '所在城市', + field: 'city', + component: 'Input' + }, + { + label: '成立时间', + field: 'establishDate', + component: 'DatePicker' + }, + { + label: '介绍', + field: 'description', + component: 'InputTextArea' + }, + { + label: '归属人员', + field: 'belongUserId', + component: 'Input' + }, + { + label: '区分标志', + field: 'diffFlag', + required: true, + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.DIFF_FLAG, 'number') + } + }, +] \ No newline at end of file diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/index.vue b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/index.vue new file mode 100644 index 0000000..7467aa8 --- /dev/null +++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/index.vue @@ -0,0 +1,102 @@ + + diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/BusinessWarehouseModal.vue b/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/BusinessWarehouseModal.vue index d75087f..af624f5 100644 --- a/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/BusinessWarehouseModal.vue +++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/BusinessWarehouseModal.vue @@ -21,7 +21,7 @@ const isUpdate = ref(true) const [registerForm, { setFieldsValue, resetFields, resetSchema, validate }] = useForm({ labelWidth: 120, - baseColProps: { span: 24 }, + baseColProps: { span: 12 }, schemas: createFormSchema, showActionButtonGroup: false, actionColOptions: { span: 23 } diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/businessWarehouse.data.ts b/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/businessWarehouse.data.ts index 1e2ea6d..f98e2e2 100644 --- a/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/businessWarehouse.data.ts +++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/businessWarehouse.data.ts @@ -120,26 +120,6 @@ export const createFormSchema: FormSchema[] = [ required: true, component: 'Input' }, - { - label: '业务线简称', - field: 'businessSimple', - component: 'Input' - }, - { - label: '传真', - field: 'fax', - component: 'Input' - }, - { - label: '网址', - field: 'url', - component: 'Input' - }, - { - label: '介绍', - field: 'description', - component: 'InputTextArea' - }, { label: '业务线名称', field: 'name', @@ -147,17 +127,8 @@ export const createFormSchema: FormSchema[] = [ component: 'Input' }, { - label: '业务线LOGO', - field: 'businessLogo', - component: 'FileUpload', - componentProps: { - fileType: 'file', - maxCount: 1 - } - }, - { - label: '父id', - field: 'parentId', + label: '业务线简称', + field: 'businessSimple', component: 'Input' }, { @@ -187,22 +158,17 @@ export const createFormSchema: FormSchema[] = [ component: 'DatePicker' }, { - label: '归属人员', - field: 'belongUserId', - component: 'Input' - }, - { - label: '品牌/业务线/事业群名称', - field: 'brandName', - component: 'Input' + label: '介绍', + field: 'description', + component: 'InputTextArea' }, { - label: '电话', - field: 'phone', + label: '归属人员', + field: 'belongUserId', component: 'Input' }, { - label: '业务线仓库区分(0:业务线,1:仓库)', + label: '区分标志', field: 'diffFlag', required: true, component: 'Select', @@ -225,11 +191,6 @@ export const updateFormSchema: FormSchema[] = [ required: true, component: 'Input' }, - { - label: '业务线简称', - field: 'businessSimple', - component: 'Input' - }, { label: '业务线名称', field: 'name', @@ -237,13 +198,8 @@ export const updateFormSchema: FormSchema[] = [ component: 'Input' }, { - label: '业务线LOGO', - field: 'businessLogo', - component: 'Upload' - }, - { - label: '父id', - field: 'parentId', + label: '业务线简称', + field: 'businessSimple', component: 'Input' }, { @@ -272,38 +228,18 @@ export const updateFormSchema: FormSchema[] = [ field: 'establishDate', component: 'DatePicker' }, - { - label: '归属人员', - field: 'belongUserId', - component: 'Input' - }, - { - label: '品牌/业务线/事业群名称', - field: 'brandName', - component: 'Input' - }, - { - label: '电话', - field: 'phone', - component: 'Input' - }, - { - label: '传真', - field: 'fax', - component: 'Input' - }, - { - label: '网址', - field: 'url', - component: 'Input' - }, { label: '介绍', field: 'description', component: 'InputTextArea' }, { - label: '业务线仓库区分(0:业务线,1:仓库)', + label: '归属人员', + field: 'belongUserId', + component: 'Input' + }, + { + label: '区分标志', field: 'diffFlag', required: true, component: 'Select', @@ -311,4 +247,4 @@ export const updateFormSchema: FormSchema[] = [ options: getDictOptions(DICT_TYPE.DIFF_FLAG, 'number') } }, -] \ No newline at end of file +] diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/index.vue b/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/index.vue index 6090326..6bf4ca8 100644 --- a/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/index.vue +++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/index.vue @@ -2,10 +2,10 @@
@@ -13,12 +13,12 @@ + diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/customer/customer.data.ts b/yudao-ui-admin-vben-master/src/views/xxjj/customer/customer.data.ts new file mode 100644 index 0000000..1cae902 --- /dev/null +++ b/yudao-ui-admin-vben-master/src/views/xxjj/customer/customer.data.ts @@ -0,0 +1,1446 @@ +import { BasicColumn, FormSchema, useRender } from '@/components/Table' +import { DICT_TYPE, getDictOptions } from '@/utils/dict' + +export const columns: BasicColumn[] = [ + { + title: '编号', + dataIndex: 'id', + width: 160 + }, + { + title: '客户分类(0:一级客户 1:二级客户)', + dataIndex: 'customerCalssify', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.CUSTOMER_CALSSIFY) + } + }, + { + title: '客户名称', + dataIndex: 'customerName', + width: 160 + }, + { + title: '公司logo', + dataIndex: 'customerLogo', + width: 160 + }, + { + title: '企业性质(0:国有企业 1:集体企业 2:私营企业 3:股份制企业 4:外资企业 5:合资企业)', + dataIndex: 'enterpriseNature', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.ENTERPRISE_NATURE) + } + }, + { + title: '客户来源(0:电话营销 1:主动来电 2:客户介绍 3:朋友介绍 4:独立开发 5:网络搜索 6:广告杂志 7:展会促销 8:其他途径)', + dataIndex: 'customerSource', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.PRODUCT_CLASS) + } + }, + { + title: '客户星级(0:一星 1:二星 2:三星 3:四星 4:五星)', + dataIndex: 'customerStarrating', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.CUSTOMER_STARRATING) + } + }, + { + title: '业务进度(0:了解跟进 1:资料收集 2:客户评审 3:风控核准 4:合作洽谈 5:准备签约 6:已经签约 7:合作叫停 8:暂时搁置)', + dataIndex: 'industrySchedule', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.INDUSTRY_SCHEDULE) + } + }, + { + title: '归属人员', + dataIndex: 'belongingPeople', + width: 160 + }, + { + title: '国家', + dataIndex: 'country', + width: 160 + }, + { + title: '详细地址', + dataIndex: 'address', + width: 160 + }, + { + title: '公司电话', + dataIndex: 'phone', + width: 160 + }, + { + title: '公司传真', + dataIndex: 'companyFax', + width: 160 + }, + { + title: '公司网址', + dataIndex: 'companyHttp', + width: 160 + }, + { + title: '公司介绍', + dataIndex: 'companyProfile', + width: 160 + }, + { + title: '客户状态(0:待提交 1:待审核 2:待核准 3:带启用 4:已启用 5:已禁用 6:已关闭)', + dataIndex: 'customerStatus', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.CUSTOMER_STATUS1) + } + }, + { + title: '创建时间', + dataIndex: 'createTime', + width: 180, + customRender: ({ text }) => { + return useRender.renderDate(text) + } + }, + { + title: '行业分类(0:家用电器 1:交通运输 2:商务服务 3:家具用品 4:电工电气 5:通信产品 6:办公文教 7:运动休闲 8:传媒广电)', + dataIndex: 'industryClassify', + width: 160 + }, + { + title: '所在城市', + dataIndex: 'city', + width: 160 + }, + { + title: '社会信息代码证(营业执照)', + dataIndex: 'socialInformationCodeCertificate', + width: 160 + }, + { + title: '法定代表人证件照', + dataIndex: 'legalRepresentativesPhoto', + width: 160 + }, + { + title: '实缴资金证明', + dataIndex: 'proofPaidCapital', + width: 160 + }, + { + title: '资产证明', + dataIndex: 'assetCertificate', + width: 160 + }, + { + title: '资产抵押证明', + dataIndex: 'assetCertificateMortgage', + width: 160 + }, + { + title: '担保人证明', + dataIndex: 'guarantorCertificate', + width: 160 + }, + { + title: '其他资质文件', + dataIndex: 'otherQualifications', + width: 160 + }, + { + title: '经营范围', + dataIndex: 'businessScope', + width: 160 + }, + { + title: '合作范围(关联业务线)', + dataIndex: 'collaborationScopeNum', + width: 160 + }, + { + title: '合作起始时间', + dataIndex: 'collaborationTime', + width: 180, + customRender: ({ text }) => { + return useRender.renderDate(text) + } + }, + { + title: '供货量(每月下限)', + dataIndex: 'supplyVolumeDown', + width: 160 + }, + { + title: '供货量(每月下限)', + dataIndex: 'supplyVolumeUpper', + width: 160 + }, + { + title: '资金额度', + dataIndex: 'fundLimit', + width: 160 + }, + { + title: '营业时间', + dataIndex: 'businessHours', + width: 160 + }, + { + title: '允许卸货时间', + dataIndex: 'allowableUnloadingTime', + width: 180, + customRender: ({ text }) => { + return useRender.renderDate(text) + } + }, + { + title: '卸货效率', + dataIndex: 'unloadingEfficiency', + width: 160 + }, + { + title: '允许装货时间', + dataIndex: 'allowableShipmentTime', + width: 180, + customRender: ({ text }) => { + return useRender.renderDate(text) + } + }, + { + title: '装货效果', + dataIndex: 'shipmentEffciency', + width: 160 + }, + { + title: '付款方式(0:无 1:现金 2:银行转账 3:承兑汇票 4:有赞代收 5:支付宝 6:微信 7:国家列表)', + dataIndex: 'paymentMethod', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.PAYMENT_METHOD) + } + }, + { + title: '账户名称', + dataIndex: 'accountName', + width: 160 + }, + { + title: '银行账号', + dataIndex: 'bankAccount', + width: 160 + }, + { + title: '开户银行', + dataIndex: 'bankDeposit', + width: 160 + }, + { + title: '开户地区', + dataIndex: 'depositArea', + width: 160 + }, + { + title: '支行名称', + dataIndex: 'bankBranch', + width: 160 + }, + { + title: '公司税号', + dataIndex: 'companyTaxNumber', + width: 160 + }, + { + title: '企业名称', + dataIndex: 'enterpriseName', + width: 160 + }, + { + title: '单位地址', + dataIndex: 'workAddress', + width: 160 + }, + { + title: '合作方式(0:买断 1:联营)', + dataIndex: 'collaborationMethod', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.COLLABORATION_METHOD) + } + }, + { + title: '结算方式(0:先货后款 1:先款后货)', + dataIndex: 'settlementMethod', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.SETTLEMENT_METHOD) + } + }, + { + title: '账期', + dataIndex: 'accountPeriod', + width: 160 + }, + { + title: '压款方式(0:无 1:按金额 2:按比例)', + dataIndex: 'underpaymentMethod', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.UNDERPAYMENT_METHOD) + } + }, + { + title: '默认压款比例', + dataIndex: 'defaultUnderpaymentRatio', + width: 160 + }, + { + title: '申请压款比例', + dataIndex: 'applyForUnderpaymentRatio', + width: 160 + }, + { + title: '保证金方式(0:无 1:按金额 2:按比例)', + dataIndex: 'marginMethod', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.MARGIN_METHOD) + } + }, + { + title: '默认保证金比例', + dataIndex: 'defaultMarginRatio', + width: 160 + }, + { + title: '申请保证金比例', + dataIndex: 'applyForMarginRatio', + width: 160 + }, + { + title: '逾期利率(0:按年化1:按月化)', + dataIndex: 'overdueInterestRate', + width: 180, + customRender: ({ text }) => { + return useRender.renderDict(text, DICT_TYPE.OVERDUE_INTEREST_RATE) + } + }, + { + title: '默认逾期利率', + dataIndex: 'defaultOverdueRatio', + width: 160 + }, + { + title: '申请逾期利率', + dataIndex: 'applyForOverdueRatio', + width: 160 + }, + { + title: '客户联系人id', + dataIndex: 'contactsId', + width: 160 + }, + { + title: '客户类型', + dataIndex: 'customerType', + width: 160 + }, + { + title: '账户类型', + dataIndex: 'accountType', + width: 160 + }, + { + title: '卸货时长', + dataIndex: 'unloading', + width: 160 + }, + { + title: '装货时长', + dataIndex: 'shipment', + width: 160 + }, +] + +export const searchFormSchema: FormSchema[] = [ + { + label: '客户分类(0:一级客户 1:二级客户)', + field: 'customerCalssify', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.CUSTOMER_CALSSIFY) + }, + colProps: { span: 8 } + }, + { + label: '客户名称', + field: 'customerName', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '公司logo', + field: 'customerLogo', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '企业性质(0:国有企业 1:集体企业 2:私营企业 3:股份制企业 4:外资企业 5:合资企业)', + field: 'enterpriseNature', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.ENTERPRISE_NATURE) + }, + colProps: { span: 8 } + }, + { + label: '客户来源(0:电话营销 1:主动来电 2:客户介绍 3:朋友介绍 4:独立开发 5:网络搜索 6:广告杂志 7:展会促销 8:其他途径)', + field: 'customerSource', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.PRODUCT_CLASS) + }, + colProps: { span: 8 } + }, + { + label: '客户星级(0:一星 1:二星 2:三星 3:四星 4:五星)', + field: 'customerStarrating', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.CUSTOMER_STARRATING) + }, + colProps: { span: 8 } + }, + { + label: '业务进度(0:了解跟进 1:资料收集 2:客户评审 3:风控核准 4:合作洽谈 5:准备签约 6:已经签约 7:合作叫停 8:暂时搁置)', + field: 'industrySchedule', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.INDUSTRY_SCHEDULE) + }, + colProps: { span: 8 } + }, + { + label: '归属人员', + field: 'belongingPeople', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '国家', + field: 'country', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '详细地址', + field: 'address', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '公司电话', + field: 'phone', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '公司传真', + field: 'companyFax', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '公司网址', + field: 'companyHttp', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '公司介绍', + field: 'companyProfile', + colProps: { span: 8 } + }, + { + label: '客户状态(0:待提交 1:待审核 2:待核准 3:带启用 4:已启用 5:已禁用 6:已关闭)', + field: 'customerStatus', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.CUSTOMER_STATUS1) + }, + colProps: { span: 8 } + }, + { + label: '创建时间', + field: 'createTime', + component: 'RangePicker', + colProps: { span: 8 } + }, + { + label: '行业分类(0:家用电器 1:交通运输 2:商务服务 3:家具用品 4:电工电气 5:通信产品 6:办公文教 7:运动休闲 8:传媒广电)', + field: 'industryClassify', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '所在城市', + field: 'city', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '社会信息代码证(营业执照)', + field: 'socialInformationCodeCertificate', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '法定代表人证件照', + field: 'legalRepresentativesPhoto', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '实缴资金证明', + field: 'proofPaidCapital', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '资产证明', + field: 'assetCertificate', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '资产抵押证明', + field: 'assetCertificateMortgage', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '担保人证明', + field: 'guarantorCertificate', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '其他资质文件', + field: 'otherQualifications', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '经营范围', + field: 'businessScope', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '合作范围(关联业务线)', + field: 'collaborationScopeNum', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '合作起始时间', + field: 'collaborationTime', + component: 'RangePicker', + colProps: { span: 8 } + }, + { + label: '供货量(每月下限)', + field: 'supplyVolumeDown', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '供货量(每月下限)', + field: 'supplyVolumeUpper', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '资金额度', + field: 'fundLimit', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '营业时间', + field: 'businessHours', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '允许卸货时间', + field: 'allowableUnloadingTime', + component: 'RangePicker', + colProps: { span: 8 } + }, + { + label: '卸货效率', + field: 'unloadingEfficiency', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '允许装货时间', + field: 'allowableShipmentTime', + component: 'RangePicker', + colProps: { span: 8 } + }, + { + label: '装货效果', + field: 'shipmentEffciency', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '付款方式(0:无 1:现金 2:银行转账 3:承兑汇票 4:有赞代收 5:支付宝 6:微信 7:国家列表)', + field: 'paymentMethod', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '账户名称', + field: 'accountName', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '银行账号', + field: 'bankAccount', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '开户银行', + field: 'bankDeposit', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '开户地区', + field: 'depositArea', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '支行名称', + field: 'bankBranch', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '公司税号', + field: 'companyTaxNumber', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '企业名称', + field: 'enterpriseName', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '单位地址', + field: 'workAddress', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '合作方式(0:买断 1:联营)', + field: 'collaborationMethod', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '结算方式(0:先货后款 1:先款后货)', + field: 'settlementMethod', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '账期', + field: 'accountPeriod', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '压款方式(0:无 1:按金额 2:按比例)', + field: 'underpaymentMethod', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '默认压款比例', + field: 'defaultUnderpaymentRatio', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '申请压款比例', + field: 'applyForUnderpaymentRatio', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '保证金方式(0:无 1:按金额 2:按比例)', + field: 'marginMethod', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '默认保证金比例', + field: 'defaultMarginRatio', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '申请保证金比例', + field: 'applyForMarginRatio', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '逾期利率(0:按年化1:按月化)', + field: 'overdueInterestRate', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '默认逾期利率', + field: 'defaultOverdueRatio', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '申请逾期利率', + field: 'applyForOverdueRatio', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '客户联系人id', + field: 'contactsId', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '客户类型', + field: 'customerType', + component: 'Select', + componentProps: { + options: [] + }, + colProps: { span: 8 } + }, + { + label: '账户类型', + field: 'accountType', + component: 'Select', + componentProps: { + options: [] + }, + colProps: { span: 8 } + }, + { + label: '卸货时长', + field: 'unloading', + component: 'Input', + colProps: { span: 8 } + }, + { + label: '装货时长', + field: 'shipment', + component: 'Input', + colProps: { span: 8 } + }, +] + +export const createFormSchema: FormSchema[] = [ + { + label: '编号', + field: 'id', + show: false, + component: 'Input' + }, + { + label: '客户分类(0:一级客户 1:二级客户)', + field: 'customerCalssify', + required: true, + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.CUSTOMER_CALSSIFY, 'number') + } + }, + { + label: '客户名称', + field: 'customerName', + component: 'Input' + }, + { + label: '公司logo', + field: 'customerLogo', + component: 'Input' + }, + { + label: '企业性质(0:国有企业 1:集体企业 2:私营企业 3:股份制企业 4:外资企业 5:合资企业)', + field: 'enterpriseNature', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.ENTERPRISE_NATURE, 'number') + } + }, + { + label: '客户来源(0:电话营销 1:主动来电 2:客户介绍 3:朋友介绍 4:独立开发 5:网络搜索 6:广告杂志 7:展会促销 8:其他途径)', + field: 'customerSource', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.PRODUCT_CLASS, 'number') + } + }, + { + label: '客户星级(0:一星 1:二星 2:三星 3:四星 4:五星)', + field: 'customerStarrating', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.CUSTOMER_STARRATING, 'number') + } + }, + { + label: '业务进度(0:了解跟进 1:资料收集 2:客户评审 3:风控核准 4:合作洽谈 5:准备签约 6:已经签约 7:合作叫停 8:暂时搁置)', + field: 'industrySchedule', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.INDUSTRY_SCHEDULE, 'number') + } + }, + { + label: '归属人员', + field: 'belongingPeople', + component: 'Input' + }, + { + label: '国家', + field: 'country', + component: 'Input' + }, + { + label: '详细地址', + field: 'address', + component: 'Input' + }, + { + label: '公司电话', + field: 'phone', + component: 'Input' + }, + { + label: '公司传真', + field: 'companyFax', + component: 'Input' + }, + { + label: '公司网址', + field: 'companyHttp', + component: 'Input' + }, + { + label: '公司介绍', + field: 'companyProfile', + component: 'InputTextArea' + }, + { + label: '客户状态(0:待提交 1:待审核 2:待核准 3:带启用 4:已启用 5:已禁用 6:已关闭)', + field: 'customerStatus', + required: true, + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.CUSTOMER_STATUS1, 'number') + } + }, + { + label: '行业分类(0:家用电器 1:交通运输 2:商务服务 3:家具用品 4:电工电气 5:通信产品 6:办公文教 7:运动休闲 8:传媒广电)', + field: 'industryClassify', + component: 'Input' + }, + { + label: '所在城市', + field: 'city', + component: 'Input' + }, + { + label: '社会信息代码证(营业执照)', + field: 'socialInformationCodeCertificate', + component: 'Input' + }, + { + label: '法定代表人证件照', + field: 'legalRepresentativesPhoto', + component: 'Input' + }, + { + label: '实缴资金证明', + field: 'proofPaidCapital', + component: 'Input' + }, + { + label: '资产证明', + field: 'assetCertificate', + component: 'Input' + }, + { + label: '资产抵押证明', + field: 'assetCertificateMortgage', + component: 'Input' + }, + { + label: '担保人证明', + field: 'guarantorCertificate', + component: 'Input' + }, + { + label: '其他资质文件', + field: 'otherQualifications', + component: 'Input' + }, + { + label: '经营范围', + field: 'businessScope', + component: 'Input' + }, + { + label: '合作范围(关联业务线)', + field: 'collaborationScopeNum', + component: 'Input' + }, + { + label: '合作起始时间', + field: 'collaborationTime', + component: 'DatePicker' + }, + { + label: '供货量(每月下限)', + field: 'supplyVolumeDown', + component: 'Input' + }, + { + label: '供货量(每月下限)', + field: 'supplyVolumeUpper', + component: 'Input' + }, + { + label: '资金额度', + field: 'fundLimit', + component: 'Input' + }, + { + label: '营业时间', + field: 'businessHours', + component: 'Input' + }, + { + label: '允许卸货时间', + field: 'allowableUnloadingTime', + component: 'DatePicker' + }, + { + label: '卸货效率', + field: 'unloadingEfficiency', + component: 'Input' + }, + { + label: '允许装货时间', + field: 'allowableShipmentTime', + component: 'DatePicker' + }, + { + label: '装货效果', + field: 'shipmentEffciency', + component: 'Input' + }, + { + label: '付款方式(0:无 1:现金 2:银行转账 3:承兑汇票 4:有赞代收 5:支付宝 6:微信 7:国家列表)', + field: 'paymentMethod', + component: 'Input' + }, + { + label: '账户名称', + field: 'accountName', + component: 'Input' + }, + { + label: '银行账号', + field: 'bankAccount', + component: 'Input' + }, + { + label: '开户银行', + field: 'bankDeposit', + component: 'Input' + }, + { + label: '开户地区', + field: 'depositArea', + component: 'Input' + }, + { + label: '支行名称', + field: 'bankBranch', + component: 'Input' + }, + { + label: '公司税号', + field: 'companyTaxNumber', + component: 'Input' + }, + { + label: '企业名称', + field: 'enterpriseName', + component: 'Input' + }, + { + label: '单位地址', + field: 'workAddress', + component: 'Input' + }, + { + label: '合作方式(0:买断 1:联营)', + field: 'collaborationMethod', + component: 'Input' + }, + { + label: '结算方式(0:先货后款 1:先款后货)', + field: 'settlementMethod', + component: 'Input' + }, + { + label: '账期', + field: 'accountPeriod', + component: 'Input' + }, + { + label: '压款方式(0:无 1:按金额 2:按比例)', + field: 'underpaymentMethod', + component: 'Input' + }, + { + label: '默认压款比例', + field: 'defaultUnderpaymentRatio', + component: 'Input' + }, + { + label: '申请压款比例', + field: 'applyForUnderpaymentRatio', + component: 'Input' + }, + { + label: '保证金方式(0:无 1:按金额 2:按比例)', + field: 'marginMethod', + component: 'Input' + }, + { + label: '默认保证金比例', + field: 'defaultMarginRatio', + component: 'Input' + }, + { + label: '申请保证金比例', + field: 'applyForMarginRatio', + component: 'Input' + }, + { + label: '逾期利率(0:按年化1:按月化)', + field: 'overdueInterestRate', + component: 'Input' + }, + { + label: '默认逾期利率', + field: 'defaultOverdueRatio', + component: 'Input' + }, + { + label: '申请逾期利率', + field: 'applyForOverdueRatio', + component: 'Input' + }, + { + label: '客户联系人id', + field: 'contactsId', + component: 'Input' + }, + { + label: '客户类型', + field: 'customerType', + component: 'Select', + componentProps: { + options:[] + } + }, + { + label: '账户类型', + field: 'accountType', + component: 'Select', + componentProps: { + options:[] + } + }, + { + label: '卸货时长', + field: 'unloading', + component: 'Input' + }, + { + label: '装货时长', + field: 'shipment', + component: 'Input' + }, +] + +export const updateFormSchema: FormSchema[] = [ + { + label: '编号', + field: 'id', + show: false, + component: 'Input' + }, + { + label: '客户分类(0:一级客户 1:二级客户)', + field: 'customerCalssify', + required: true, + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.CUSTOMER_CALSSIFY, 'number') + } + }, + { + label: '客户名称', + field: 'customerName', + component: 'Input' + }, + { + label: '公司logo', + field: 'customerLogo', + component: 'Input' + }, + { + label: '企业性质(0:国有企业 1:集体企业 2:私营企业 3:股份制企业 4:外资企业 5:合资企业)', + field: 'enterpriseNature', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.ENTERPRISE_NATURE, 'number') + } + }, + { + label: '客户来源(0:电话营销 1:主动来电 2:客户介绍 3:朋友介绍 4:独立开发 5:网络搜索 6:广告杂志 7:展会促销 8:其他途径)', + field: 'customerSource', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.PRODUCT_CLASS, 'number') + } + }, + { + label: '客户星级(0:一星 1:二星 2:三星 3:四星 4:五星)', + field: 'customerStarrating', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.CUSTOMER_STARRATING, 'number') + } + }, + { + label: '业务进度(0:了解跟进 1:资料收集 2:客户评审 3:风控核准 4:合作洽谈 5:准备签约 6:已经签约 7:合作叫停 8:暂时搁置)', + field: 'industrySchedule', + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.INDUSTRY_SCHEDULE, 'number') + } + }, + { + label: '归属人员', + field: 'belongingPeople', + component: 'Input' + }, + { + label: '国家', + field: 'country', + component: 'Input' + }, + { + label: '详细地址', + field: 'address', + component: 'Input' + }, + { + label: '公司电话', + field: 'phone', + component: 'Input' + }, + { + label: '公司传真', + field: 'companyFax', + component: 'Input' + }, + { + label: '公司网址', + field: 'companyHttp', + component: 'Input' + }, + { + label: '公司介绍', + field: 'companyProfile', + component: 'InputTextArea' + }, + { + label: '客户状态(0:待提交 1:待审核 2:待核准 3:带启用 4:已启用 5:已禁用 6:已关闭)', + field: 'customerStatus', + required: true, + component: 'Select', + componentProps: { + options: getDictOptions(DICT_TYPE.CUSTOMER_STATUS1, 'number') + } + }, + { + label: '行业分类(0:家用电器 1:交通运输 2:商务服务 3:家具用品 4:电工电气 5:通信产品 6:办公文教 7:运动休闲 8:传媒广电)', + field: 'industryClassify', + component: 'Input' + }, + { + label: '所在城市', + field: 'city', + component: 'Input' + }, + { + label: '社会信息代码证(营业执照)', + field: 'socialInformationCodeCertificate', + component: 'Input' + }, + { + label: '法定代表人证件照', + field: 'legalRepresentativesPhoto', + component: 'Input' + }, + { + label: '实缴资金证明', + field: 'proofPaidCapital', + component: 'Input' + }, + { + label: '资产证明', + field: 'assetCertificate', + component: 'Input' + }, + { + label: '资产抵押证明', + field: 'assetCertificateMortgage', + component: 'Input' + }, + { + label: '担保人证明', + field: 'guarantorCertificate', + component: 'Input' + }, + { + label: '其他资质文件', + field: 'otherQualifications', + component: 'Input' + }, + { + label: '经营范围', + field: 'businessScope', + component: 'Input' + }, + { + label: '合作范围(关联业务线)', + field: 'collaborationScopeNum', + component: 'Input' + }, + { + label: '合作起始时间', + field: 'collaborationTime', + component: 'DatePicker' + }, + { + label: '供货量(每月下限)', + field: 'supplyVolumeDown', + component: 'Input' + }, + { + label: '供货量(每月下限)', + field: 'supplyVolumeUpper', + component: 'Input' + }, + { + label: '资金额度', + field: 'fundLimit', + component: 'Input' + }, + { + label: '营业时间', + field: 'businessHours', + component: 'Input' + }, + { + label: '允许卸货时间', + field: 'allowableUnloadingTime', + component: 'DatePicker' + }, + { + label: '卸货效率', + field: 'unloadingEfficiency', + component: 'Input' + }, + { + label: '允许装货时间', + field: 'allowableShipmentTime', + component: 'DatePicker' + }, + { + label: '装货效果', + field: 'shipmentEffciency', + component: 'Input' + }, + { + label: '付款方式(0:无 1:现金 2:银行转账 3:承兑汇票 4:有赞代收 5:支付宝 6:微信 7:国家列表)', + field: 'paymentMethod', + component: 'Input' + }, + { + label: '账户名称', + field: 'accountName', + component: 'Input' + }, + { + label: '银行账号', + field: 'bankAccount', + component: 'Input' + }, + { + label: '开户银行', + field: 'bankDeposit', + component: 'Input' + }, + { + label: '开户地区', + field: 'depositArea', + component: 'Input' + }, + { + label: '支行名称', + field: 'bankBranch', + component: 'Input' + }, + { + label: '公司税号', + field: 'companyTaxNumber', + component: 'Input' + }, + { + label: '企业名称', + field: 'enterpriseName', + component: 'Input' + }, + { + label: '单位地址', + field: 'workAddress', + component: 'Input' + }, + { + label: '合作方式(0:买断 1:联营)', + field: 'collaborationMethod', + component: 'Input' + }, + { + label: '结算方式(0:先货后款 1:先款后货)', + field: 'settlementMethod', + component: 'Input' + }, + { + label: '账期', + field: 'accountPeriod', + component: 'Input' + }, + { + label: '压款方式(0:无 1:按金额 2:按比例)', + field: 'underpaymentMethod', + component: 'Input' + }, + { + label: '默认压款比例', + field: 'defaultUnderpaymentRatio', + component: 'Input' + }, + { + label: '申请压款比例', + field: 'applyForUnderpaymentRatio', + component: 'Input' + }, + { + label: '保证金方式(0:无 1:按金额 2:按比例)', + field: 'marginMethod', + component: 'Input' + }, + { + label: '默认保证金比例', + field: 'defaultMarginRatio', + component: 'Input' + }, + { + label: '申请保证金比例', + field: 'applyForMarginRatio', + component: 'Input' + }, + { + label: '逾期利率(0:按年化1:按月化)', + field: 'overdueInterestRate', + component: 'Input' + }, + { + label: '默认逾期利率', + field: 'defaultOverdueRatio', + component: 'Input' + }, + { + label: '申请逾期利率', + field: 'applyForOverdueRatio', + component: 'Input' + }, + { + label: '客户联系人id', + field: 'contactsId', + component: 'Input' + }, + { + label: '客户类型', + field: 'customerType', + component: 'Select', + componentProps: { + options:[] + } + }, + { + label: '账户类型', + field: 'accountType', + component: 'Select', + componentProps: { + options:[] + } + }, + { + label: '卸货时长', + field: 'unloading', + component: 'Input' + }, + { + label: '装货时长', + field: 'shipment', + component: 'Input' + }, +] \ No newline at end of file diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/customer/index.vue b/yudao-ui-admin-vben-master/src/views/xxjj/customer/index.vue new file mode 100644 index 0000000..e906d5d --- /dev/null +++ b/yudao-ui-admin-vben-master/src/views/xxjj/customer/index.vue @@ -0,0 +1,92 @@ + + diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/enterprisebranching/enterprise.data.ts b/yudao-ui-admin-vben-master/src/views/xxjj/enterprisebranching/enterprise.data.ts index bcbb697..7559da6 100644 --- a/yudao-ui-admin-vben-master/src/views/xxjj/enterprisebranching/enterprise.data.ts +++ b/yudao-ui-admin-vben-master/src/views/xxjj/enterprisebranching/enterprise.data.ts @@ -1,5 +1,9 @@ import { BasicColumn, FormSchema, useRender } from '@/components/Table' import { DICT_TYPE, getDictOptions } from '@/utils/dict' +import {h} from "vue"; +import {Switch} from "ant-design-vue"; +import {useMessage} from "@/hooks/web/useMessage"; +import {updateEnterpriseStatus} from "@/api/system/enterprise"; export const columns: BasicColumn[] = [ // { @@ -53,6 +57,39 @@ export const columns: BasicColumn[] = [ return useRender.renderDate(text) } }, + { + title: '状态', + dataIndex: 'enterpriseStatus', + width: 180, + customRender: ({ record }) => { + if (!Reflect.has(record, 'pendingStatus')) + record.pendingStatus = false + + return h(Switch, { + checked: record.status === 0, + checkedChildren: '已启用', + unCheckedChildren: '已禁用', + loading: record.pendingStatus, + onChange(checked: boolean) { + record.pendingStatus = true + const newStatus = checked ? 0 : 1 + const { createMessage } = useMessage() + updateEnterpriseStatus(record.id, newStatus) + .then(() => { + record.status = newStatus + createMessage.success('已成功修改用户状态') + }) + .catch(() => { + createMessage.error('修改用户状态失败') + }) + .finally(() => { + record.pendingStatus = false + }) + }, + }) + }, + }, + // { // title: '企业简称', // dataIndex: 'shortName', diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/enterprisebranching/index.vue b/yudao-ui-admin-vben-master/src/views/xxjj/enterprisebranching/index.vue index 322a65a..638015f 100644 --- a/yudao-ui-admin-vben-master/src/views/xxjj/enterprisebranching/index.vue +++ b/yudao-ui-admin-vben-master/src/views/xxjj/enterprisebranching/index.vue @@ -6,7 +6,7 @@ - 新增机构 + {{ '新增机构' }} {{ t('action.export') }} @@ -16,10 +16,24 @@