From 9d8fa16a10179ba85e070d791b42752dbe8a3e76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?LI-CCONG=5C=E6=9D=8E=E8=81=AA=E8=81=AA?= <1441652193@qq.com> Date: Thu, 28 Sep 2023 09:08:39 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.yaml | 99 ++++++++++++------- 1 file changed, 65 insertions(+), 34 deletions(-) diff --git a/yunxi-server/src/main/resources/application-dev.yaml b/yunxi-server/src/main/resources/application-dev.yaml index 1a7b417..c1b112c 100644 --- a/yunxi-server/src/main/resources/application-dev.yaml +++ b/yunxi-server/src/main/resources/application-dev.yaml @@ -1,5 +1,5 @@ server: - port: 48080 + port: 8091 --- #################### 数据库相关配置 #################### @@ -37,38 +37,48 @@ spring: time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位:毫秒 min-evictable-idle-time-millis: 300000 # 配置一个连接在池中最小生存的时间,单位:毫秒 max-evictable-idle-time-millis: 900000 # 配置一个连接在池中最大生存的时间,单位:毫秒 - validation-query: SELECT 1 # 配置检测连接是否有效 + validation-query: SELECT 1 FROM DUAL # 配置检测连接是否有效 test-while-idle: true test-on-borrow: false test-on-return: false primary: master datasource: master: - name: yxsass - url: jdbc:mysql://112.124.64.122:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true - driver-class-name: com.mysql.jdbc.Driver - username: yxsass - password: jxjitjjxJFNM5YNW - slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改 - name: yxsass - url: jdbc:mysql://112.124.64.122:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true - driver-class-name: com.mysql.jdbc.Driver - username: yxsass - password: jxjitjjxJFNM5YNW + name: yxscm + url: jdbc:mysql://222.71.165.188:3309/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例 + # url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例 + # url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.master.name} # PostgreSQL 连接的示例 + # url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例 + # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=${spring.datasource.dynamic.datasource.master.name} # SQLServer 连接的示例 + username: root + password: linus,.123 + # username: sa + # password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W + slave: # 模拟从库,可根据自己需要修改 + name: yxscm + url: jdbc:mysql://222.71.165.188:3309/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例 + # url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例 + # url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.slave.name} # PostgreSQL 连接的示例 + # url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例 + # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=${spring.datasource.dynamic.datasource.slave.name} # SQLServer 连接的示例 + username: root + password: linus,.123 + # username: sa + # password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 redis: - host: 400-infra.server.iocoder.cn # 地址 + host: 127.0.0.1 # 地址 port: 6379 # 端口 - database: 1 # 数据库索引 -# password: 123456 # 密码,建议生产环境开启 + database: 0 # 数据库索引 + password: 'qweasd,.123' # 密码,建议生产环境开启 --- #################### 定时任务相关配置 #################### # Quartz 配置项,对应 QuartzProperties 配置类 spring: quartz: - auto-startup: true # 测试环境,需要开启 Job + auto-startup: false # 本地开发环境,尽量不要开启 Job scheduler-name: schedulerName # Scheduler 名字。默认为 schedulerName job-store-type: jdbc # Job 存储器类型。默认为 memory 表示内存,可选 jdbc 使用数据库。 wait-for-jobs-to-complete-on-shutdown: true # 应用关闭时,是否等待定时任务执行完成。默认为 false ,建议设置为 true @@ -127,7 +137,7 @@ spring: admin: # Spring Boot Admin Client 客户端的相关配置 client: - url: http://127.0.0.1:${server.port}/${spring.boot.admin.context-path} # 设置 Spring Boot Admin Server 地址 + url: http://222.71.165.187:${server.port}/${spring.boot.admin.context-path} # 设置 Spring Boot Admin Server 地址 instance: service-host-type: IP # 注册实例时,优先使用 IP [IP, HOST_NAME, CANONICAL_HOST_NAME] # Spring Boot Admin Server 服务端的相关配置 @@ -137,11 +147,25 @@ spring: logging: file: name: ${user.home}/logs/${spring.application.name}.log # 日志文件名,全路径 - ---- #################### 微信公众号相关配置 #################### -wx: # 参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-mp-spring-boot-starter/README.md 文档 - mp: - # 公众号配置(必填) + level: + # 配置自己写的 MyBatis Mapper 打印日志 + com.yunxi.scm.module.bpm.dal.mysql: debug + com.yunxi.scm.module.infra.dal.mysql: debug + com.yunxi.scm.module.infra.dal.mysql.job.JobLogMapper: INFO # 配置 JobLogMapper 的日志级别为 info + com.yunxi.scm.module.pay.dal.mysql: debug + com.yunxi.scm.module.pay.dal.mysql.notify.PayNotifyTaskMapper: INFO # 配置 JobLogMapper 的日志级别为 info + com.yunxi.scm.module.system.dal.mysql: debug + com.yunxi.scm.module.tool.dal.mysql: debug + com.yunxi.scm.module.member.dal.mysql: debug + com.yunxi.scm.module.trade.dal.mysql: debug + com.yunxi.scm.module.promotion.dal.mysql: debug + com.yunxi.scm.module.demo.dal.mysql: debug # demo模块 MyBatis 操作日志 + +debug: false + +--- #################### 微信公众号、小程序相关配置 #################### +wx: + mp: # 公众号配置(必填),参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-mp-spring-boot-starter/README.md 文档 app-id: wx041349c6f39b268b secret: 5abee519483bc9f8cb37ce280e814bd0 # 存储配置,解决 AccessToken 的跨节点的共享 @@ -150,8 +174,8 @@ wx: # 参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-sta key-prefix: wx # Redis Key 的前缀 http-client-type: HttpClient # 采用 HttpClient 请求微信公众号平台 miniapp: # 小程序配置(必填),参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-miniapp-spring-boot-starter/README.md 文档 - appid: wx63c280fe3248a3e7 - secret: 6f270509224a7ae1296bbf1c8cb97aed + appid: wx62056c0d5e8db250 + secret: 333ae72f41552af1e998fe1f54e1584a config-storage: type: RedisTemplate # 采用 RedisTemplate 操作 Redis,会自动从 Spring 中获取 key-prefix: wa # Redis Key 的前缀 @@ -161,6 +185,10 @@ wx: # 参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-sta # 芋道配置项,设置当前项目所有自定义的配置 yunxi: + captcha: + enable: false # 本地环境,暂时关闭图片验证码,方便登录等接口的测试; + security: + mock-enable: true xss: enable: false exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系 @@ -169,7 +197,11 @@ yunxi: pay: order-notify-url: http://yunai.natapp1.cc/admin-api/pay/notify/order # 支付渠道的【支付】回调地址 refund-notify-url: http://yunai.natapp1.cc/admin-api/pay/notify/refund # 支付渠道的【退款】回调地址 - demo: true # 开启演示模式 + access-log: # 访问日志的配置项 + enable: false + error-code: # 错误码相关配置项 + enable: false + demo: false # 关闭演示模式 justauth: enabled: true @@ -183,15 +215,14 @@ justauth: client-secret: 1wTb7hYxnpT2TUbIeHGXGo7T0odav1ic10mLdyyATOw agent-id: 1000004 ignore-check-redirect-uri: true + WECHAT_MINI_APP: # 微信小程序 + client-id: ${wx.miniapp.appid} + client-secret: ${wx.miniapp.secret} + ignore-check-redirect-uri: true + ignore-check-state: true # 微信小程序,不会使用到 state,所以不进行校验 + cache: type: REDIS prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE:: timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟 -wx: - mp: - useRedis: false - defaultContent: \u60A8\u597D\uFF0C\u6709\u4EC0\u4E48\u95EE\u9898\uFF1F - redisConfig: - host: 127.0.0.1 - port: 6379 - password: + From 4ae74fe524c55b76d5984f13c27bd9dd47ecec2a Mon Sep 17 00:00:00 2001 From: tengxi <971623072@qq.com> Date: Thu, 28 Sep 2023 11:22:17 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=AE=A2=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/xxjj/customer/index.ts | 31 + .../businessWarehouse.data.ts | 2 +- .../src/views/xxjj/customer/CustomerModal.vue | 57 ++ .../src/views/xxjj/customer/customer.data.ts | 659 ++++++++++++++++++ .../src/views/xxjj/customer/index.vue | 92 +++ .../enterprise/EnterpriseController.java | 11 + .../admin/enterprise/vo/EnterpriseBaseVO.java | 3 + .../enterprise/vo/EnterpriseCreateReqVO.java | 2 + .../enterprise/vo/EnterpriseExportReqVO.java | 3 + .../enterprise/vo/EnterprisePageReqVO.java | 3 + .../enterprise/vo/EnterpriseUpdateReqVO.java | 2 + .../dataobject/enterprise/EnterpriseDO.java | 4 + .../admin/customer/CustomerController.java | 31 +- .../admin/customer/vo/CustomerBaseVO.java | 89 ++- .../admin/customer/vo/CustomerExcelVO.java | 91 ++- .../customer/vo/CustomerExportReqVO.java | 81 ++- .../admin/customer/vo/CustomerPageReqVO.java | 83 ++- .../admin/customer/vo/CustomerRespVO.java | 5 +- .../customer/vo/CustomerUpdateReqVO.java | 2 +- .../convert/customer/CustomerConvert.java | 2 +- .../dal/dataobject/customer/CustomerDO.java | 115 ++- .../dal/mysql/customer/CustomerMapper.java | 70 +- .../service/customer/CustomerService.java | 9 +- .../service/customer/CustomerServiceImpl.java | 7 +- .../mapper/customer/CustomerMapper.xml | 10 +- .../customer/CustomerServiceImplTest.java | 244 +++++-- 26 files changed, 1481 insertions(+), 227 deletions(-) create mode 100644 yudao-ui-admin-vben-master/src/api/xxjj/customer/index.ts create mode 100644 yudao-ui-admin-vben-master/src/views/xxjj/customer/CustomerModal.vue create mode 100644 yudao-ui-admin-vben-master/src/views/xxjj/customer/customer.data.ts create mode 100644 yudao-ui-admin-vben-master/src/views/xxjj/customer/index.vue 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/views/xxjj/businessWarehouse/businessWarehouse.data.ts b/yudao-ui-admin-vben-master/src/views/xxjj/businessWarehouse/businessWarehouse.data.ts index 1e2ea6d..899eaf3 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 @@ -311,4 +311,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/customer/CustomerModal.vue b/yudao-ui-admin-vben-master/src/views/xxjj/customer/CustomerModal.vue new file mode 100644 index 0000000..528775c --- /dev/null +++ b/yudao-ui-admin-vben-master/src/views/xxjj/customer/CustomerModal.vue @@ -0,0 +1,57 @@ + + 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..eba9953 --- /dev/null +++ b/yudao-ui-admin-vben-master/src/views/xxjj/customer/customer.data.ts @@ -0,0 +1,659 @@ +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: 'city', + 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: '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: 'businessScope', + width: 160 + }, + { + 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: 'otherQualifications', + 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: 'city', + 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: 'socialInformationCodeCertificate', + component: 'RangePicker', + colProps: { span: 8 } + }, + { + label: '法定代表人证件照', + field: 'legalRepresentativesPhoto', + colProps: { span: 8 } + }, + { + label: '实缴资金证明', + field: 'proofPaidCapital', + colProps: { span: 8 } + }, + { + label: '资产证明', + field: 'assetCertificate', + colProps: { span: 8 } + }, + { + label: '资产抵押证明', + field: 'assetCertificateMortgage', + colProps: { span: 8 } + }, + { + label: '担保人证明', + field: 'guarantorCertificate', + colProps: { span: 8 } + }, + { + label: '经营范围', + field: 'businessScope', + 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: 'otherQualifications', + 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: 'city', + 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: '社会信息代码证(营业执照)', + field: 'socialInformationCodeCertificate', + component: 'DatePicker' + }, + { + label: '法定代表人证件照', + field: 'legalRepresentativesPhoto', + component: 'FileUpload', + componentProps: { + fileType: 'file', + maxCount: 1 + } + }, + { + label: '实缴资金证明', + field: 'proofPaidCapital', + component: 'FileUpload', + componentProps: { + fileType: 'file', + maxCount: 1 + } + }, + { + label: '资产证明', + field: 'assetCertificate', + component: 'FileUpload', + componentProps: { + fileType: 'file', + maxCount: 1 + } + }, + { + label: '资产抵押证明', + field: 'assetCertificateMortgage', + component: 'FileUpload', + componentProps: { + fileType: 'file', + maxCount: 1 + } + }, + { + label: '担保人证明', + field: 'guarantorCertificate', + component: 'FileUpload', + componentProps: { + fileType: 'file', + maxCount: 1 + } + }, + { + label: '经营范围', + field: 'businessScope', + component: 'InputTextArea' + }, + { + label: '行业分类(0:家用电器 1:交通运输 2:商务服务 3:家具用品 4:电工电气 5:通信产品 6:办公文教 7:运动休闲 8:传媒广电)', + field: 'industryClassify', + component: 'Input' + }, + { + label: '其他资质文件', + field: 'otherQualifications', + 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: 'city', + 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: '社会信息代码证(营业执照)', + field: 'socialInformationCodeCertificate', + component: 'DatePicker' + }, + { + label: '法定代表人证件照', + field: 'legalRepresentativesPhoto', + component: 'Upload' + }, + { + label: '实缴资金证明', + field: 'proofPaidCapital', + component: 'Upload' + }, + { + label: '资产证明', + field: 'assetCertificate', + component: 'Upload' + }, + { + label: '资产抵押证明', + field: 'assetCertificateMortgage', + component: 'Upload' + }, + { + label: '担保人证明', + field: 'guarantorCertificate', + component: 'Upload' + }, + { + label: '经营范围', + field: 'businessScope', + component: 'InputTextArea' + }, + { + label: '行业分类(0:家用电器 1:交通运输 2:商务服务 3:家具用品 4:电工电气 5:通信产品 6:办公文教 7:运动休闲 8:传媒广电)', + field: 'industryClassify', + component: 'Input' + }, + { + label: '其他资质文件', + field: 'otherQualifications', + 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/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/EnterpriseController.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/EnterpriseController.java index cc1b3a9..f8a67b7 100644 --- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/EnterpriseController.java +++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/EnterpriseController.java @@ -1,5 +1,6 @@ package com.yunxi.scm.module.system.controller.admin.enterprise; +import com.yunxi.scm.module.system.controller.admin.user.vo.user.UserUpdateStatusReqVO; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -52,6 +53,16 @@ public class EnterpriseController { return success(true); } + @PutMapping("/updateStatus") + @Operation(summary = "更新企业状态") + @PreAuthorize("@ss.hasPermission('system:enterprise:updateStatus')") + public CommonResult updateEnterpriseStatus(@Valid @RequestBody EnterpriseUpdateReqVO updateReqVO) { + updateReqVO.setEnterpriseStatus("1"); + enterpriseService.updateEnterprise(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") @Operation(summary = "删除企业信息") @Parameter(name = "id", description = "编号", required = true) diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseBaseVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseBaseVO.java index e814adb..78f68a9 100644 --- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseBaseVO.java +++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseBaseVO.java @@ -76,4 +76,7 @@ public class EnterpriseBaseVO { @Schema(description = "描述") private String description; + @Schema(description = "企业状态") + private String enterpriseStatus; + } diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseCreateReqVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseCreateReqVO.java index 0c0bbd9..72eade9 100644 --- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseCreateReqVO.java +++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseCreateReqVO.java @@ -145,4 +145,6 @@ public class EnterpriseCreateReqVO extends EnterpriseBaseVO { @Schema(description = "描述", example = "你猜") private String description; + @Schema(description = "企业状态") + private String enterpriseStatus; } diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseExportReqVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseExportReqVO.java index 9938961..ec4868b 100644 --- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseExportReqVO.java +++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseExportReqVO.java @@ -62,4 +62,7 @@ public class EnterpriseExportReqVO { @Schema(description = "描述") private String description; + + @Schema(description = "企业状态") + private String enterpriseStatus; } diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterprisePageReqVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterprisePageReqVO.java index bf19109..0898a48 100644 --- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterprisePageReqVO.java +++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterprisePageReqVO.java @@ -64,4 +64,7 @@ public class EnterprisePageReqVO extends PageParam { @Schema(description = "描述") private String description; + + @Schema(description = "企业状态") + private String enterpriseStatus; } diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseUpdateReqVO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseUpdateReqVO.java index 32ac970..b636aeb 100644 --- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseUpdateReqVO.java +++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/enterprise/vo/EnterpriseUpdateReqVO.java @@ -149,4 +149,6 @@ public class EnterpriseUpdateReqVO extends EnterpriseBaseVO { @Schema(description = "描述", example = "你猜") private String description; + @Schema(description = "企业状态") + private String enterpriseStatus; } diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/dataobject/enterprise/EnterpriseDO.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/dataobject/enterprise/EnterpriseDO.java index f58a1fb..b5437a6 100644 --- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/dataobject/enterprise/EnterpriseDO.java +++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/dal/dataobject/enterprise/EnterpriseDO.java @@ -255,5 +255,9 @@ public class EnterpriseDO extends BaseDO { * 企业父id */ private Long parentId; + /** + * 企业状态 + */ + private String enterpriseStatus; } diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/CustomerController.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/CustomerController.java index a935b24..1d79307 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/CustomerController.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/CustomerController.java @@ -1,8 +1,5 @@ package com.yunxi.scm.module.xxjj.controller.admin.customer; -import com.yunxi.scm.framework.common.enums.CommonStatusEnum; -import com.yunxi.scm.module.xxjj.controller.admin.workorder.vo.WorkOrderCreateReqVO; -import com.yunxi.scm.module.xxjj.service.workorder.WorkOrderService; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -39,26 +36,14 @@ public class CustomerController { @Resource private CustomerService customerService; - @Resource - private WorkOrderService workOrderService; - @PostMapping("/create") @Operation(summary = "创建客户信息") @PreAuthorize("@ss.hasPermission('xxjj:customer:create')") - public CommonResult createCustomerwork(@Valid @RequestBody CustomerCreateReqVO createReqVO) { + public CommonResult createCustomer(@Valid @RequestBody CustomerCreateReqVO createReqVO) { return success(customerService.createCustomer(createReqVO)); } - - @PostMapping("/creatework") - @Operation(summary = "创建工单") - @PreAuthorize("@ss.hasPermission('xxjj:customer:creatework')") - public CommonResult createCustomer(@Valid @RequestBody WorkOrderCreateReqVO workOrderCreateReqVO) { - return success(workOrderService.createWorkOrder(workOrderCreateReqVO)); - } - - @PutMapping("/update") @Operation(summary = "更新客户信息") @PreAuthorize("@ss.hasPermission('xxjj:customer:update')") @@ -114,18 +99,4 @@ public class CustomerController { ExcelUtils.write(response, "客户信息.xls", "数据", CustomerExcelVO.class, datas); } - - @GetMapping("/list-all-simplecustomer") - @Operation(summary = "获取客户", description = "只包含被开启的客户,主要用于前端的下拉选项") - public CommonResult> getCustomerId() { - CustomerRespVO customerRespVO=new CustomerRespVO(); - String status=Integer.toString(CommonStatusEnum.ENABLE.getStatus()); - customerRespVO.setStatus(status); - - List list = customerService.getCustomerstaus(customerRespVO); - return success(CustomerConvert.INSTANCE.convertList(list)); - } - - - } diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerBaseVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerBaseVO.java index 93cd012..de968b7 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerBaseVO.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerBaseVO.java @@ -14,34 +14,81 @@ import javax.validation.constraints.*; @Data public class CustomerBaseVO { - @Schema(description = "客户名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") - @NotNull(message = "客户名称不能为空") + @Schema(description = "客户分类(0:一级客户 1:二级客户)", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "客户分类(0:一级客户 1:二级客户)不能为空") + private String customerCalssify; + + @Schema(description = "客户名称", example = "王五") private String customerName; - @Schema(description = "客户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @NotNull(message = "客户类型不能为空") - private String customerType; + @Schema(description = "公司logo") + private String customerLogo; + + @Schema(description = "企业性质(0:国有企业 1:集体企业 2:私营企业 3:股份制企业 4:外资企业 5:合资企业)") + private String enterpriseNature; + + @Schema(description = "客户来源(0:电话营销 1:主动来电 2:客户介绍 3:朋友介绍 4:独立开发 5:网络搜索 6:广告杂志 7:展会促销 8:其他途径)") + private String customerSource; + + @Schema(description = "客户星级(0:一星 1:二星 2:三星 3:四星 4:五星)") + private String customerStarrating; + + @Schema(description = "业务进度(0:了解跟进 1:资料收集 2:客户评审 3:风控核准 4:合作洽谈 5:准备签约 6:已经签约 7:合作叫停 8:暂时搁置)") + private String industrySchedule; + + @Schema(description = "归属人员") + private String belongingPeople; + + @Schema(description = "所在城市") + private Long city; + + @Schema(description = "国家") + private String country; + + @Schema(description = "详细地址") + private String address; + + @Schema(description = "公司电话") + private String phone; + + @Schema(description = "公司传真") + private String companyFax; + + @Schema(description = "公司网址") + private String companyHttp; + + @Schema(description = "公司介绍") + private String companyProfile; + + @Schema(description = "客户状态(0:待提交 1:待审核 2:待核准 3:带启用 4:已启用 5:已禁用 6:已关闭)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "客户状态(0:待提交 1:待审核 2:待核准 3:带启用 4:已启用 5:已禁用 6:已关闭)不能为空") + private String customerStatus; + + @Schema(description = "社会信息代码证(营业执照)") + private String socialInformationCodeCertificate; + + @Schema(description = "法定代表人证件照") + private String legalRepresentativesPhoto; + + @Schema(description = "实缴资金证明") + private String proofPaidCapital; - @Schema(description = "统一结算主体") - private String unifiedSettlement; + @Schema(description = "资产证明") + private String assetCertificate; - @Schema(description = "客户性质", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "客户性质不能为空") - private String customerNature; + @Schema(description = "资产抵押证明") + private String assetCertificateMortgage; - @Schema(description = "合作模式", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "合作模式不能为空") - private String cooperationMode; + @Schema(description = "担保人证明") + private String guarantorCertificate; - @Schema(description = "隶属业务线", example = "22944") - private Long linebusinessId; + @Schema(description = "经营范围") + private String businessScope; - @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @NotNull(message = "状态不能为空") - private String status; + @Schema(description = "行业分类(0:家用电器 1:交通运输 2:商务服务 3:家具用品 4:电工电气 5:通信产品 6:办公文教 7:运动休闲 8:传媒广电)") + private String industryClassify; - @Schema(description = "归属人员",requiredMode = Schema.RequiredMode.REQUIRED, example = "1,2,3") - @NotNull(message = "成员编号数组不能为空") - private Set belongingPeople; + @Schema(description = "其他资质文件") + private String otherQualifications; } diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerExcelVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerExcelVO.java index 2fdcc5b..a41882a 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerExcelVO.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerExcelVO.java @@ -7,11 +7,14 @@ import java.time.LocalDateTime; import java.time.LocalDateTime; import com.alibaba.excel.annotation.ExcelProperty; +import com.yunxi.scm.framework.excel.core.annotations.DictFormat; +import com.yunxi.scm.framework.excel.core.convert.DictConvert; + /** * 客户信息 Excel VO * - * @author 芋道源码 + * @author 长江云息 */ @Data public class CustomerExcelVO { @@ -19,34 +22,88 @@ public class CustomerExcelVO { @ExcelProperty("编号") private Long id; + @ExcelProperty(value = "客户分类(0:一级客户 1:二级客户)", converter = DictConvert.class) + @DictFormat("customer_calssify") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String customerCalssify; + @ExcelProperty("客户名称") private String customerName; - @ExcelProperty("客户类型") - private String customerType; - - @ExcelProperty("统一结算主体") - private String unifiedSettlement; + @ExcelProperty("公司logo") + private String customerLogo; - @ExcelProperty("客户性质") - private String customerNature; + @ExcelProperty(value = "企业性质(0:国有企业 1:集体企业 2:私营企业 3:股份制企业 4:外资企业 5:合资企业)", converter = DictConvert.class) + @DictFormat("enterprise_nature") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String enterpriseNature; - @ExcelProperty("合作模式") - private String cooperationMode; + @ExcelProperty(value = "客户来源(0:电话营销 1:主动来电 2:客户介绍 3:朋友介绍 4:独立开发 5:网络搜索 6:广告杂志 7:展会促销 8:其他途径)", converter = DictConvert.class) + @DictFormat("product_class") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String customerSource; - @ExcelProperty("隶属业务线") - private Long linebusinessId; + @ExcelProperty(value = "客户星级(0:一星 1:二星 2:三星 3:四星 4:五星)", converter = DictConvert.class) + @DictFormat("customer_starrating") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String customerStarrating; - @ExcelProperty("状态") - private String status; + @ExcelProperty(value = "业务进度(0:了解跟进 1:资料收集 2:客户评审 3:风控核准 4:合作洽谈 5:准备签约 6:已经签约 7:合作叫停 8:暂时搁置)", converter = DictConvert.class) + @DictFormat("industry_schedule") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String industrySchedule; @ExcelProperty("归属人员") - private Set belongingPeople; + private String belongingPeople; + + @ExcelProperty("所在城市") + private Long city; + + @ExcelProperty("国家") + private String country; + + @ExcelProperty("详细地址") + private String address; + + @ExcelProperty("公司电话") + private String phone; + + @ExcelProperty("公司传真") + private String companyFax; + + @ExcelProperty("公司网址") + private String companyHttp; + + @ExcelProperty("公司介绍") + private String companyProfile; + + @ExcelProperty(value = "客户状态(0:待提交 1:待审核 2:待核准 3:带启用 4:已启用 5:已禁用 6:已关闭)", converter = DictConvert.class) + @DictFormat("customer_status1") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String customerStatus; + + @ExcelProperty("社会信息代码证(营业执照)") + private String socialInformationCodeCertificate; + + @ExcelProperty("法定代表人证件照") + private String legalRepresentativesPhoto; + + @ExcelProperty("实缴资金证明") + private String proofPaidCapital; + + @ExcelProperty("资产证明") + private String assetCertificate; + + @ExcelProperty("资产抵押证明") + private String assetCertificateMortgage; + + @ExcelProperty("担保人证明") + private String guarantorCertificate; + + @ExcelProperty("经营范围") + private String businessScope; @ExcelProperty("创建时间") private LocalDateTime createTime; - @ExcelProperty("更新时间") - private LocalDateTime updateTime; + @ExcelProperty("行业分类(0:家用电器 1:交通运输 2:商务服务 3:家具用品 4:电工电气 5:通信产品 6:办公文教 7:运动休闲 8:传媒广电)") + private String industryClassify; + + @ExcelProperty("其他资质文件") + private String otherQualifications; } diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerExportReqVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerExportReqVO.java index 9a0104e..c4e3172 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerExportReqVO.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerExportReqVO.java @@ -13,36 +13,83 @@ import static com.yunxi.scm.framework.common.util.date.DateUtils.FORMAT_YEAR_MON @Data public class CustomerExportReqVO { - @Schema(description = "客户名称", example = "赵六") - private String customerName; + @Schema(description = "客户分类(0:一级客户 1:二级客户)") + private String customerCalssify; - @Schema(description = "客户类型", example = "2") - private String customerType; + @Schema(description = "客户名称", example = "王五") + private String customerName; - @Schema(description = "统一结算主体") - private String unifiedSettlement; + @Schema(description = "公司logo") + private String customerLogo; - @Schema(description = "客户性质") - private String customerNature; + @Schema(description = "企业性质(0:国有企业 1:集体企业 2:私营企业 3:股份制企业 4:外资企业 5:合资企业)") + private String enterpriseNature; - @Schema(description = "合作模式") - private String cooperationMode; + @Schema(description = "客户来源(0:电话营销 1:主动来电 2:客户介绍 3:朋友介绍 4:独立开发 5:网络搜索 6:广告杂志 7:展会促销 8:其他途径)") + private String customerSource; - @Schema(description = "隶属业务线", example = "22944") - private Long linebusinessId; + @Schema(description = "客户星级(0:一星 1:二星 2:三星 3:四星 4:五星)") + private String customerStarrating; - @Schema(description = "状态", example = "2") - private String status; + @Schema(description = "业务进度(0:了解跟进 1:资料收集 2:客户评审 3:风控核准 4:合作洽谈 5:准备签约 6:已经签约 7:合作叫停 8:暂时搁置)") + private String industrySchedule; @Schema(description = "归属人员") private String belongingPeople; + @Schema(description = "所在城市") + private Long city; + + @Schema(description = "国家") + private String country; + + @Schema(description = "详细地址") + private String address; + + @Schema(description = "公司电话") + private String phone; + + @Schema(description = "公司传真") + private String companyFax; + + @Schema(description = "公司网址") + private String companyHttp; + + @Schema(description = "公司介绍") + private String companyProfile; + + @Schema(description = "客户状态(0:待提交 1:待审核 2:待核准 3:带启用 4:已启用 5:已禁用 6:已关闭)", example = "1") + private String customerStatus; + + @Schema(description = "社会信息代码证(营业执照)") + private String socialInformationCodeCertificate; + + @Schema(description = "法定代表人证件照") + private String legalRepresentativesPhoto; + + @Schema(description = "实缴资金证明") + private String proofPaidCapital; + + @Schema(description = "资产证明") + private String assetCertificate; + + @Schema(description = "资产抵押证明") + private String assetCertificateMortgage; + + @Schema(description = "担保人证明") + private String guarantorCertificate; + + @Schema(description = "经营范围") + private String businessScope; + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "更新时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] updateTime; + @Schema(description = "行业分类(0:家用电器 1:交通运输 2:商务服务 3:家具用品 4:电工电气 5:通信产品 6:办公文教 7:运动休闲 8:传媒广电)") + private String industryClassify; + + @Schema(description = "其他资质文件") + private String otherQualifications; } diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerPageReqVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerPageReqVO.java index ae9fb6b..6cf2950 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerPageReqVO.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerPageReqVO.java @@ -15,36 +15,83 @@ import static com.yunxi.scm.framework.common.util.date.DateUtils.FORMAT_YEAR_MON @ToString(callSuper = true) public class CustomerPageReqVO extends PageParam { - @Schema(description = "客户名称", example = "赵六") - private String customerName; + @Schema(description = "客户分类(0:一级客户 1:二级客户)") + private String customerCalssify; - @Schema(description = "客户类型", example = "2") - private String customerType; + @Schema(description = "客户名称", example = "王五") + private String customerName; - @Schema(description = "统一结算主体") - private String unifiedSettlement; + @Schema(description = "公司logo") + private String customerLogo; - @Schema(description = "客户性质") - private String customerNature; + @Schema(description = "企业性质(0:国有企业 1:集体企业 2:私营企业 3:股份制企业 4:外资企业 5:合资企业)") + private String enterpriseNature; - @Schema(description = "合作模式") - private String cooperationMode; + @Schema(description = "客户来源(0:电话营销 1:主动来电 2:客户介绍 3:朋友介绍 4:独立开发 5:网络搜索 6:广告杂志 7:展会促销 8:其他途径)") + private String customerSource; - @Schema(description = "隶属业务线", example = "22944") - private Long linebusinessId; + @Schema(description = "客户星级(0:一星 1:二星 2:三星 3:四星 4:五星)") + private String customerStarrating; - @Schema(description = "状态", example = "2") - private String status; + @Schema(description = "业务进度(0:了解跟进 1:资料收集 2:客户评审 3:风控核准 4:合作洽谈 5:准备签约 6:已经签约 7:合作叫停 8:暂时搁置)") + private String industrySchedule; @Schema(description = "归属人员") - private Set belongingPeople; + private String belongingPeople; + + @Schema(description = "所在城市") + private Long city; + + @Schema(description = "国家") + private String country; + + @Schema(description = "详细地址") + private String address; + + @Schema(description = "公司电话") + private String phone; + + @Schema(description = "公司传真") + private String companyFax; + + @Schema(description = "公司网址") + private String companyHttp; + + @Schema(description = "公司介绍") + private String companyProfile; + + @Schema(description = "客户状态(0:待提交 1:待审核 2:待核准 3:带启用 4:已启用 5:已禁用 6:已关闭)", example = "1") + private String customerStatus; + + @Schema(description = "社会信息代码证(营业执照)") + private String socialInformationCodeCertificate; + + @Schema(description = "法定代表人证件照") + private String legalRepresentativesPhoto; + + @Schema(description = "实缴资金证明") + private String proofPaidCapital; + + @Schema(description = "资产证明") + private String assetCertificate; + + @Schema(description = "资产抵押证明") + private String assetCertificateMortgage; + + @Schema(description = "担保人证明") + private String guarantorCertificate; + + @Schema(description = "经营范围") + private String businessScope; @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "更新时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] updateTime; + @Schema(description = "行业分类(0:家用电器 1:交通运输 2:商务服务 3:家具用品 4:电工电气 5:通信产品 6:办公文教 7:运动休闲 8:传媒广电)") + private String industryClassify; + + @Schema(description = "其他资质文件") + private String otherQualifications; } diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerRespVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerRespVO.java index a822035..59a5b3f 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerRespVO.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerRespVO.java @@ -10,13 +10,10 @@ import java.time.LocalDateTime; @ToString(callSuper = true) public class CustomerRespVO extends CustomerBaseVO { - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "7245") + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9751") private Long id; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) private LocalDateTime createTime; - @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime updateTime; - } diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerUpdateReqVO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerUpdateReqVO.java index 2d0756e..e4476f7 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerUpdateReqVO.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/controller/admin/customer/vo/CustomerUpdateReqVO.java @@ -11,7 +11,7 @@ import javax.validation.constraints.*; @ToString(callSuper = true) public class CustomerUpdateReqVO extends CustomerBaseVO { - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "7245") + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9751") @NotNull(message = "编号不能为空") private Long id; diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/convert/customer/CustomerConvert.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/convert/customer/CustomerConvert.java index ef7ecc6..3bb553e 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/convert/customer/CustomerConvert.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/convert/customer/CustomerConvert.java @@ -12,7 +12,7 @@ import com.yunxi.scm.module.xxjj.dal.dataobject.customer.CustomerDO; /** * 客户信息 Convert * - * @author 芋道源码 + * @author 长江云息 */ @Mapper public interface CustomerConvert { diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/customer/CustomerDO.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/customer/CustomerDO.java index 52e9123..91bd216 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/customer/CustomerDO.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/dataobject/customer/CustomerDO.java @@ -1,7 +1,5 @@ package com.yunxi.scm.module.xxjj.dal.dataobject.customer; -import com.yunxi.scm.framework.common.enums.CommonStatusEnum; -import com.yunxi.scm.framework.mybatis.core.type.JsonLongSetTypeHandler; import lombok.*; import java.util.*; import java.time.LocalDateTime; @@ -12,9 +10,9 @@ import com.yunxi.scm.framework.mybatis.core.dataobject.BaseDO; /** * 客户信息 DO * - * @author 芋道源码 + * @author 长江云息 */ -@TableName(value = "xxjj_customer", autoResultMap = true) +@TableName("xxjj_customer") @KeySequence("xxjj_customer_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @EqualsAndHashCode(callSuper = true) @@ -29,40 +27,117 @@ public class CustomerDO extends BaseDO { */ @TableId private Long id; + /** + * 客户分类(0:一级客户 1:二级客户) + * + * 枚举 {@link TODO customer_calssify 对应的类} + */ + private String customerCalssify; /** * 客户名称 */ private String customerName; /** - * 客户类型 + * 公司logo */ - private String customerType; + private String customerLogo; /** - * 统一结算主体 + * 企业性质(0:国有企业 1:集体企业 2:私营企业 3:股份制企业 4:外资企业 5:合资企业) + * + * 枚举 {@link TODO enterprise_nature 对应的类} */ - private String unifiedSettlement; + private String enterpriseNature; /** - * 客户性质 + * 客户来源(0:电话营销 1:主动来电 2:客户介绍 3:朋友介绍 4:独立开发 5:网络搜索 6:广告杂志 7:展会促销 8:其他途径) + * + * 枚举 {@link TODO product_class 对应的类} */ - private String customerNature; + private String customerSource; /** - * 合作模式 + * 客户星级(0:一星 1:二星 2:三星 3:四星 4:五星) + * + * 枚举 {@link TODO customer_starrating 对应的类} */ - private String cooperationMode; + private String customerStarrating; /** - * 隶属业务线 + * 业务进度(0:了解跟进 1:资料收集 2:客户评审 3:风控核准 4:合作洽谈 5:准备签约 6:已经签约 7:合作叫停 8:暂时搁置) + * + * 枚举 {@link TODO industry_schedule 对应的类} */ - private Long linebusinessId; + private String industrySchedule; /** - * 状态 + * 归属人员 + */ + private String belongingPeople; + /** + * 所在城市 + */ + private Long city; + /** + * 国家 + */ + private String country; + /** + * 详细地址 + */ + private String address; + /** + * 公司电话 + */ + private String phone; + /** + * 公司传真 + */ + private String companyFax; + /** + * 公司网址 + */ + private String companyHttp; + /** + * 公司介绍 + */ + private String companyProfile; + /** + * 客户状态(0:待提交 1:待审核 2:待核准 3:带启用 4:已启用 5:已禁用 6:已关闭) * - * 枚举 {@link CommonStatusEnum} + * 枚举 {@link TODO customer_status1 对应的类} */ - private String status; + private String customerStatus; /** - * 归属人员 + * 社会信息代码证(营业执照) + */ + private String socialInformationCodeCertificate; + /** + * 法定代表人证件照 + */ + private String legalRepresentativesPhoto; + /** + * 实缴资金证明 + */ + private String proofPaidCapital; + /** + * 资产证明 + */ + private String assetCertificate; + /** + * 资产抵押证明 + */ + private String assetCertificateMortgage; + /** + * 担保人证明 + */ + private String guarantorCertificate; + /** + * 经营范围 + */ + private String businessScope; + /** + * 行业分类(0:家用电器 1:交通运输 2:商务服务 3:家具用品 4:电工电气 5:通信产品 6:办公文教 7:运动休闲 8:传媒广电) + */ + private String industryClassify; + /** + * 其他资质文件 */ - @TableField(typeHandler = JsonLongSetTypeHandler.class) - private Set belongingPeople; + private String otherQualifications; } diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/customer/CustomerMapper.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/customer/CustomerMapper.java index bd293b1..ca29e0f 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/customer/CustomerMapper.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/dal/mysql/customer/CustomerMapper.java @@ -12,43 +12,71 @@ import com.yunxi.scm.module.xxjj.controller.admin.customer.vo.*; /** * 客户信息 Mapper * - * @author 芋道源码 + * @author 长江云息 */ @Mapper public interface CustomerMapper extends BaseMapperX { default PageResult selectPage(CustomerPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(CustomerDO::getCustomerCalssify, reqVO.getCustomerCalssify()) .likeIfPresent(CustomerDO::getCustomerName, reqVO.getCustomerName()) - .eqIfPresent(CustomerDO::getCustomerType, reqVO.getCustomerType()) - .eqIfPresent(CustomerDO::getUnifiedSettlement, reqVO.getUnifiedSettlement()) - .eqIfPresent(CustomerDO::getCustomerNature, reqVO.getCustomerNature()) - .eqIfPresent(CustomerDO::getCooperationMode, reqVO.getCooperationMode()) - .eqIfPresent(CustomerDO::getLinebusinessId, reqVO.getLinebusinessId()) - .eqIfPresent(CustomerDO::getStatus, reqVO.getStatus()) + .eqIfPresent(CustomerDO::getCustomerLogo, reqVO.getCustomerLogo()) + .eqIfPresent(CustomerDO::getEnterpriseNature, reqVO.getEnterpriseNature()) + .eqIfPresent(CustomerDO::getCustomerSource, reqVO.getCustomerSource()) + .eqIfPresent(CustomerDO::getCustomerStarrating, reqVO.getCustomerStarrating()) + .eqIfPresent(CustomerDO::getIndustrySchedule, reqVO.getIndustrySchedule()) + .eqIfPresent(CustomerDO::getBelongingPeople, reqVO.getBelongingPeople()) + .eqIfPresent(CustomerDO::getCity, reqVO.getCity()) + .eqIfPresent(CustomerDO::getCountry, reqVO.getCountry()) + .eqIfPresent(CustomerDO::getAddress, reqVO.getAddress()) + .eqIfPresent(CustomerDO::getPhone, reqVO.getPhone()) + .eqIfPresent(CustomerDO::getCompanyFax, reqVO.getCompanyFax()) + .eqIfPresent(CustomerDO::getCompanyHttp, reqVO.getCompanyHttp()) + .eqIfPresent(CustomerDO::getCompanyProfile, reqVO.getCompanyProfile()) + .eqIfPresent(CustomerDO::getCustomerStatus, reqVO.getCustomerStatus()) + .eqIfPresent(CustomerDO::getSocialInformationCodeCertificate, reqVO.getSocialInformationCodeCertificate()) + .eqIfPresent(CustomerDO::getLegalRepresentativesPhoto, reqVO.getLegalRepresentativesPhoto()) + .eqIfPresent(CustomerDO::getProofPaidCapital, reqVO.getProofPaidCapital()) + .eqIfPresent(CustomerDO::getAssetCertificate, reqVO.getAssetCertificate()) + .eqIfPresent(CustomerDO::getAssetCertificateMortgage, reqVO.getAssetCertificateMortgage()) + .eqIfPresent(CustomerDO::getGuarantorCertificate, reqVO.getGuarantorCertificate()) + .eqIfPresent(CustomerDO::getBusinessScope, reqVO.getBusinessScope()) .betweenIfPresent(CustomerDO::getCreateTime, reqVO.getCreateTime()) - .betweenIfPresent(CustomerDO::getUpdateTime, reqVO.getUpdateTime()) + .eqIfPresent(CustomerDO::getIndustryClassify, reqVO.getIndustryClassify()) + .eqIfPresent(CustomerDO::getOtherQualifications, reqVO.getOtherQualifications()) .orderByDesc(CustomerDO::getId)); } default List selectList(CustomerExportReqVO reqVO) { return selectList(new LambdaQueryWrapperX() + .eqIfPresent(CustomerDO::getCustomerCalssify, reqVO.getCustomerCalssify()) .likeIfPresent(CustomerDO::getCustomerName, reqVO.getCustomerName()) - .eqIfPresent(CustomerDO::getCustomerType, reqVO.getCustomerType()) - .eqIfPresent(CustomerDO::getUnifiedSettlement, reqVO.getUnifiedSettlement()) - .eqIfPresent(CustomerDO::getCustomerNature, reqVO.getCustomerNature()) - .eqIfPresent(CustomerDO::getCooperationMode, reqVO.getCooperationMode()) - .eqIfPresent(CustomerDO::getLinebusinessId, reqVO.getLinebusinessId()) - .eqIfPresent(CustomerDO::getStatus, reqVO.getStatus()) + .eqIfPresent(CustomerDO::getCustomerLogo, reqVO.getCustomerLogo()) + .eqIfPresent(CustomerDO::getEnterpriseNature, reqVO.getEnterpriseNature()) + .eqIfPresent(CustomerDO::getCustomerSource, reqVO.getCustomerSource()) + .eqIfPresent(CustomerDO::getCustomerStarrating, reqVO.getCustomerStarrating()) + .eqIfPresent(CustomerDO::getIndustrySchedule, reqVO.getIndustrySchedule()) + .eqIfPresent(CustomerDO::getBelongingPeople, reqVO.getBelongingPeople()) + .eqIfPresent(CustomerDO::getCity, reqVO.getCity()) + .eqIfPresent(CustomerDO::getCountry, reqVO.getCountry()) + .eqIfPresent(CustomerDO::getAddress, reqVO.getAddress()) + .eqIfPresent(CustomerDO::getPhone, reqVO.getPhone()) + .eqIfPresent(CustomerDO::getCompanyFax, reqVO.getCompanyFax()) + .eqIfPresent(CustomerDO::getCompanyHttp, reqVO.getCompanyHttp()) + .eqIfPresent(CustomerDO::getCompanyProfile, reqVO.getCompanyProfile()) + .eqIfPresent(CustomerDO::getCustomerStatus, reqVO.getCustomerStatus()) + .eqIfPresent(CustomerDO::getSocialInformationCodeCertificate, reqVO.getSocialInformationCodeCertificate()) + .eqIfPresent(CustomerDO::getLegalRepresentativesPhoto, reqVO.getLegalRepresentativesPhoto()) + .eqIfPresent(CustomerDO::getProofPaidCapital, reqVO.getProofPaidCapital()) + .eqIfPresent(CustomerDO::getAssetCertificate, reqVO.getAssetCertificate()) + .eqIfPresent(CustomerDO::getAssetCertificateMortgage, reqVO.getAssetCertificateMortgage()) + .eqIfPresent(CustomerDO::getGuarantorCertificate, reqVO.getGuarantorCertificate()) + .eqIfPresent(CustomerDO::getBusinessScope, reqVO.getBusinessScope()) .betweenIfPresent(CustomerDO::getCreateTime, reqVO.getCreateTime()) - .betweenIfPresent(CustomerDO::getUpdateTime, reqVO.getUpdateTime()) + .eqIfPresent(CustomerDO::getIndustryClassify, reqVO.getIndustryClassify()) + .eqIfPresent(CustomerDO::getOtherQualifications, reqVO.getOtherQualifications()) .orderByDesc(CustomerDO::getId)); } - default List selectcustomerList(CustomerRespVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .likeIfPresent(CustomerDO::getCustomerName, reqVO.getCustomerName()) - .eqIfPresent(CustomerDO::getStatus, reqVO.getStatus())); - } - } diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/customer/CustomerService.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/customer/CustomerService.java index 1e8fd92..e682e49 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/customer/CustomerService.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/customer/CustomerService.java @@ -9,7 +9,7 @@ import com.yunxi.scm.framework.common.pojo.PageResult; /** * 客户信息 Service 接口 * - * @author 芋道源码 + * @author 长江云息 */ public interface CustomerService { @@ -67,11 +67,4 @@ public interface CustomerService { */ List getCustomerList(CustomerExportReqVO exportReqVO); - /** - * 获得指定状态的客户 - * - * - * @return 客户 - */ - List getCustomerstaus(CustomerRespVO customerRespVO); } diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/customer/CustomerServiceImpl.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/customer/CustomerServiceImpl.java index a927e2a..3abcd30 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/customer/CustomerServiceImpl.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/java/com/yunxi/scm/module/xxjj/service/customer/CustomerServiceImpl.java @@ -18,7 +18,7 @@ import static com.yunxi.scm.module.xxjj.enums.ErrorCodeConstants.*; /** * 客户信息 Service 实现类 * - * @author 芋道源码 + * @author 长江云息 */ @Service @Validated @@ -79,9 +79,4 @@ public class CustomerServiceImpl implements CustomerService { return customerMapper.selectList(exportReqVO); } - @Override - public List getCustomerstaus(CustomerRespVO customerRespVO) { - return customerMapper.selectcustomerList(customerRespVO); - } - } diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/resources/mapper/customer/CustomerMapper.xml b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/resources/mapper/customer/CustomerMapper.xml index 78d7542..6f5b3b5 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/resources/mapper/customer/CustomerMapper.xml +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/main/resources/mapper/customer/CustomerMapper.xml @@ -2,9 +2,11 @@ - + diff --git a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/test/java/com/yunxi/scm/module/xxjj/service/customer/CustomerServiceImplTest.java b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/test/java/com/yunxi/scm/module/xxjj/service/customer/CustomerServiceImplTest.java index 504e911..094f1a6 100644 --- a/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/test/java/com/yunxi/scm/module/xxjj/service/customer/CustomerServiceImplTest.java +++ b/yunxi-module-xxjj/yunxi-module-xxjj-biz/src/test/java/com/yunxi/scm/module/xxjj/service/customer/CustomerServiceImplTest.java @@ -31,7 +31,7 @@ import static org.mockito.Mockito.*; /** * {@link CustomerServiceImpl} 的单元测试类 * - * @author 芋道源码 + * @author 长江云息 */ @Import(CustomerServiceImpl.class) public class CustomerServiceImplTest extends BaseDbUnitTest { @@ -110,50 +110,114 @@ public class CustomerServiceImplTest extends BaseDbUnitTest { public void testGetCustomerPage() { // mock 数据 CustomerDO dbCustomer = randomPojo(CustomerDO.class, o -> { // 等会查询到 + o.setCustomerCalssify(null); o.setCustomerName(null); - o.setCustomerType(null); - o.setUnifiedSettlement(null); - o.setCustomerNature(null); - o.setCooperationMode(null); - o.setLinebusinessId(null); - o.setStatus(null); + o.setCustomerLogo(null); + o.setEnterpriseNature(null); + o.setCustomerSource(null); + o.setCustomerStarrating(null); + o.setIndustrySchedule(null); o.setBelongingPeople(null); + o.setCity(null); + o.setCountry(null); + o.setAddress(null); + o.setPhone(null); + o.setCompanyFax(null); + o.setCompanyHttp(null); + o.setCompanyProfile(null); + o.setCustomerStatus(null); + o.setSocialInformationCodeCertificate(null); + o.setLegalRepresentativesPhoto(null); + o.setProofPaidCapital(null); + o.setAssetCertificate(null); + o.setAssetCertificateMortgage(null); + o.setGuarantorCertificate(null); + o.setBusinessScope(null); o.setCreateTime(null); - o.setUpdateTime(null); + o.setIndustryClassify(null); + o.setOtherQualifications(null); }); customerMapper.insert(dbCustomer); + // 测试 customerCalssify 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerCalssify(null))); // 测试 customerName 不匹配 customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerName(null))); - // 测试 customerType 不匹配 - customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerType(null))); - // 测试 unifiedSettlement 不匹配 - customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setUnifiedSettlement(null))); - // 测试 customerNature 不匹配 - customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerNature(null))); - // 测试 cooperationMode 不匹配 - customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCooperationMode(null))); - // 测试 linebusinessId 不匹配 - customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setLinebusinessId(null))); - // 测试 status 不匹配 - customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setStatus(null))); + // 测试 customerLogo 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerLogo(null))); + // 测试 enterpriseNature 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setEnterpriseNature(null))); + // 测试 customerSource 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerSource(null))); + // 测试 customerStarrating 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerStarrating(null))); + // 测试 industrySchedule 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setIndustrySchedule(null))); // 测试 belongingPeople 不匹配 customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setBelongingPeople(null))); + // 测试 city 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCity(null))); + // 测试 country 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCountry(null))); + // 测试 address 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setAddress(null))); + // 测试 phone 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setPhone(null))); + // 测试 companyFax 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCompanyFax(null))); + // 测试 companyHttp 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCompanyHttp(null))); + // 测试 companyProfile 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCompanyProfile(null))); + // 测试 customerStatus 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerStatus(null))); + // 测试 socialInformationCodeCertificate 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setSocialInformationCodeCertificate(null))); + // 测试 legalRepresentativesPhoto 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setLegalRepresentativesPhoto(null))); + // 测试 proofPaidCapital 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setProofPaidCapital(null))); + // 测试 assetCertificate 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setAssetCertificate(null))); + // 测试 assetCertificateMortgage 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setAssetCertificateMortgage(null))); + // 测试 guarantorCertificate 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setGuarantorCertificate(null))); + // 测试 businessScope 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setBusinessScope(null))); // 测试 createTime 不匹配 customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCreateTime(null))); - // 测试 updateTime 不匹配 - customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setUpdateTime(null))); + // 测试 industryClassify 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setIndustryClassify(null))); + // 测试 otherQualifications 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setOtherQualifications(null))); // 准备参数 CustomerPageReqVO reqVO = new CustomerPageReqVO(); + reqVO.setCustomerCalssify(null); reqVO.setCustomerName(null); - reqVO.setCustomerType(null); - reqVO.setUnifiedSettlement(null); - reqVO.setCustomerNature(null); - reqVO.setCooperationMode(null); - reqVO.setLinebusinessId(null); - reqVO.setStatus(null); -// reqVO.setBelongingPeople(null); + reqVO.setCustomerLogo(null); + reqVO.setEnterpriseNature(null); + reqVO.setCustomerSource(null); + reqVO.setCustomerStarrating(null); + reqVO.setIndustrySchedule(null); + reqVO.setBelongingPeople(null); + reqVO.setCity(null); + reqVO.setCountry(null); + reqVO.setAddress(null); + reqVO.setPhone(null); + reqVO.setCompanyFax(null); + reqVO.setCompanyHttp(null); + reqVO.setCompanyProfile(null); + reqVO.setCustomerStatus(null); + reqVO.setSocialInformationCodeCertificate(null); + reqVO.setLegalRepresentativesPhoto(null); + reqVO.setProofPaidCapital(null); + reqVO.setAssetCertificate(null); + reqVO.setAssetCertificateMortgage(null); + reqVO.setGuarantorCertificate(null); + reqVO.setBusinessScope(null); reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); - reqVO.setUpdateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setIndustryClassify(null); + reqVO.setOtherQualifications(null); // 调用 PageResult pageResult = customerService.getCustomerPage(reqVO); @@ -168,50 +232,114 @@ public class CustomerServiceImplTest extends BaseDbUnitTest { public void testGetCustomerList() { // mock 数据 CustomerDO dbCustomer = randomPojo(CustomerDO.class, o -> { // 等会查询到 + o.setCustomerCalssify(null); o.setCustomerName(null); - o.setCustomerType(null); - o.setUnifiedSettlement(null); - o.setCustomerNature(null); - o.setCooperationMode(null); - o.setLinebusinessId(null); - o.setStatus(null); + o.setCustomerLogo(null); + o.setEnterpriseNature(null); + o.setCustomerSource(null); + o.setCustomerStarrating(null); + o.setIndustrySchedule(null); o.setBelongingPeople(null); + o.setCity(null); + o.setCountry(null); + o.setAddress(null); + o.setPhone(null); + o.setCompanyFax(null); + o.setCompanyHttp(null); + o.setCompanyProfile(null); + o.setCustomerStatus(null); + o.setSocialInformationCodeCertificate(null); + o.setLegalRepresentativesPhoto(null); + o.setProofPaidCapital(null); + o.setAssetCertificate(null); + o.setAssetCertificateMortgage(null); + o.setGuarantorCertificate(null); + o.setBusinessScope(null); o.setCreateTime(null); - o.setUpdateTime(null); + o.setIndustryClassify(null); + o.setOtherQualifications(null); }); customerMapper.insert(dbCustomer); + // 测试 customerCalssify 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerCalssify(null))); // 测试 customerName 不匹配 customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerName(null))); - // 测试 customerType 不匹配 - customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerType(null))); - // 测试 unifiedSettlement 不匹配 - customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setUnifiedSettlement(null))); - // 测试 customerNature 不匹配 - customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerNature(null))); - // 测试 cooperationMode 不匹配 - customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCooperationMode(null))); - // 测试 linebusinessId 不匹配 - customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setLinebusinessId(null))); - // 测试 status 不匹配 - customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setStatus(null))); + // 测试 customerLogo 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerLogo(null))); + // 测试 enterpriseNature 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setEnterpriseNature(null))); + // 测试 customerSource 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerSource(null))); + // 测试 customerStarrating 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerStarrating(null))); + // 测试 industrySchedule 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setIndustrySchedule(null))); // 测试 belongingPeople 不匹配 customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setBelongingPeople(null))); + // 测试 city 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCity(null))); + // 测试 country 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCountry(null))); + // 测试 address 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setAddress(null))); + // 测试 phone 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setPhone(null))); + // 测试 companyFax 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCompanyFax(null))); + // 测试 companyHttp 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCompanyHttp(null))); + // 测试 companyProfile 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCompanyProfile(null))); + // 测试 customerStatus 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCustomerStatus(null))); + // 测试 socialInformationCodeCertificate 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setSocialInformationCodeCertificate(null))); + // 测试 legalRepresentativesPhoto 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setLegalRepresentativesPhoto(null))); + // 测试 proofPaidCapital 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setProofPaidCapital(null))); + // 测试 assetCertificate 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setAssetCertificate(null))); + // 测试 assetCertificateMortgage 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setAssetCertificateMortgage(null))); + // 测试 guarantorCertificate 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setGuarantorCertificate(null))); + // 测试 businessScope 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setBusinessScope(null))); // 测试 createTime 不匹配 customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setCreateTime(null))); - // 测试 updateTime 不匹配 - customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setUpdateTime(null))); + // 测试 industryClassify 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setIndustryClassify(null))); + // 测试 otherQualifications 不匹配 + customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setOtherQualifications(null))); // 准备参数 CustomerExportReqVO reqVO = new CustomerExportReqVO(); + reqVO.setCustomerCalssify(null); reqVO.setCustomerName(null); - reqVO.setCustomerType(null); - reqVO.setUnifiedSettlement(null); - reqVO.setCustomerNature(null); - reqVO.setCooperationMode(null); - reqVO.setLinebusinessId(null); - reqVO.setStatus(null); + reqVO.setCustomerLogo(null); + reqVO.setEnterpriseNature(null); + reqVO.setCustomerSource(null); + reqVO.setCustomerStarrating(null); + reqVO.setIndustrySchedule(null); reqVO.setBelongingPeople(null); + reqVO.setCity(null); + reqVO.setCountry(null); + reqVO.setAddress(null); + reqVO.setPhone(null); + reqVO.setCompanyFax(null); + reqVO.setCompanyHttp(null); + reqVO.setCompanyProfile(null); + reqVO.setCustomerStatus(null); + reqVO.setSocialInformationCodeCertificate(null); + reqVO.setLegalRepresentativesPhoto(null); + reqVO.setProofPaidCapital(null); + reqVO.setAssetCertificate(null); + reqVO.setAssetCertificateMortgage(null); + reqVO.setGuarantorCertificate(null); + reqVO.setBusinessScope(null); reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); - reqVO.setUpdateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setIndustryClassify(null); + reqVO.setOtherQualifications(null); // 调用 List list = customerService.getCustomerList(reqVO); From c53a0fb0f1ea4257abacad5f5a442aae45989a02 Mon Sep 17 00:00:00 2001 From: qiuhongwu Date: Sat, 7 Oct 2023 09:35:18 +0800 Subject: [PATCH 3/3] mine --- yudao-ui-admin-vben-master/.env.development | 4 +- .../src/views/users/mine.rar | Bin 0 -> 5661 bytes .../src/views/users/mine/index.vue | 550 ++++++++++++++++-- 3 files changed, 503 insertions(+), 51 deletions(-) create mode 100644 yudao-ui-admin-vben-master/src/views/users/mine.rar 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/src/views/users/mine.rar b/yudao-ui-admin-vben-master/src/views/users/mine.rar new file mode 100644 index 0000000000000000000000000000000000000000..b150a5f8e06fc71b53d9221e2b8839ec2260871d GIT binary patch literal 5661 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 import { reactive, ref } from 'vue' - import type { UnwrapRef } from 'vue' import { - ManOutlined, - UserOutlined, - WomanOutlined, + FieldTimeOutlined, + LeftOutlined, ManOutlined, + RightCircleFilled, + UserOutlined, WindowsFilled, + WomanOutlined, } from '@ant-design/icons-vue' +// 单选 +const sex = ref('保密')//性别 - -const value1 = ref('a') - - +const message = ref('全部信息')//系统信息选择 + interface FormState { name: string delivery: boolean @@ -27,34 +28,56 @@ const formState: UnwrapRef = reactive({ resource: '', desc: '', }) -//对话框 + +//对话框 const open = ref(false) const confirmLoading = ref(false) - function showModal() { open.value = true } function handleOk() { - modalText.value = '' confirmLoading.value = true setTimeout(() => { open.value = false confirmLoading.value = false }, 2000) } -//覆盖antd样式 +const state = reactive({ + checked1: true, +}) +//分页器 +const current = ref(6)//登录记录分页 + +//系统通知切换 +const isVisible = ref(true) +const isVisible2 = ref(false) +const toggleBlocks: any = () => { + isVisible.value = !isVisible.value + isVisible2.value = !isVisible2.value +} +//覆盖antd原样式^^^ const customButtonStyle = [ { width:'80px', textAlign:'center', borderRadius: '50px', margin:'0 10px', }] +const messageStyle = [ { + color:'#6666', + width:'90px', + fontSize:'12px', + textAlign:'center', + borderRadius: '5px', + margin:'0 5px', + +}] const phoneStyle = [{ width:'60%', }] + const changeStyle = [{ border:'none', boxShadow: 'none', @@ -63,6 +86,54 @@ const changeStyle = [{ const labelCol = { style: { width: '100px' } } const wrapperCol = { span: 20 } const activeKey = ref('1') + +//系统通知表格 + +const tablecolumns = [ + { + name: '通知标题', + dataIndex: 'title', + key: 'title', + }, + { + title: '状态', + dataIndex: 'state', + key: 'state', + }, + { + title: '类型', + key: 'type', + dataIndex: 'type', + }, + { + title: '发布时间', + key: 'time', + dataIndex: 'time', + }, +] + +const tabledata = [ + { + key: '1', + title: '供应链管理平台正式上线', + state: '已读', + type:'产品信息', + time:'2023-08-22 22:31', + }, + { + key: '2', + title: '供应链管理平台正式上线', + state: '已读', + type: '产品信息', + time:'2023-08-22 22:31', + }, { + key: '3', + title: '供应链管理平台正式上线', + state: '已读', + type: '产品信息', + time:'2023-08-22 22:31', + }, +]