diff --git a/README.md b/README.md index 82b7b89c..d894aae9 100644 --- a/README.md +++ b/README.md @@ -1,185 +1,536 @@ -# To start +

+ + logo + +

+

+ 唛盟(mdp-lcode):多功能、高效率、低代码的前后端一体化、智能化的开发工具 +

+ +

+ + gitee star + +

+

+ 👉 https://maimengcloud.com 👈 +

+ +## 快速导航 +- [唛盟-后端开发底座](https://gitee.com/qingqinkj/mdp-core) +- [前端组件](https://e.gitee.com/qingqinkj/repos/qingqinkj/mdp-lcode-ui-web/sources) +- [后端服务](https://e.gitee.com/qingqinkj/repos/qingqinkj/mdp-lcode-backend/sources) +- [体验环境](https://maimengcloud.com/lcode/m1/) + 登陆界面上选择演示账号登陆或者直接扫码登陆,无须注册 + +## 📢 简介[唛盟低代码开发平台mdp-lcode](/) +唛盟低代码开发平台简称唛盟或者mdp. +唛盟旨在为企业开发业务系统提供一整套解决方案,唛盟具有高效率、低代码、功能丰富等特点。企业可以在唛盟工程之上,加入更多其它业务功能;也可以以唛盟作为模板,创建新的工程,用于开发其它业务。使用唛盟构建应用,您不用考虑多租户、登录、统一认证中心、权限、菜单管理、系统管理、公共组件、公共api、代码冗余、数据字典、图片库、文件库、智能表单、工作流、微服务互相调用、全局跟踪定位bug、多主键crud,复杂sql查询等各种问题,这些问题的解决方案都作为扩展功能内置唛盟工程中了。 +💪给你一个使用唛盟的理由:代码大量减少、开发so easy、前后端MIT协议、全部开源、永久免费 + +### 唛盟主体工程 +唛盟属于前后端严格分离的一套系统,分为前端工程、后端工程两部分 +- [mdp-lcode-ui-web](https://gitee.com/qingqinkj/mdp-lcode-ui-web) +唛盟的前端工程,以vue.js为主 +- [mdp-lcode-backend](https://gitee.com/qingqinkj/mdp-lcode-backend) +唛盟的后端工程,java语言为主 + +### 配套工程 +- [mdp-code-generator](https://gitee.com/qingqinkj/mdp-code-generator) 代码生成器 +生成代码两种方式, +一、使用代码生成器本地工程,好处是代码可以直接覆盖到本地业务工程,避免复制黏贴出错。 +二、如果不需要本地生成代码,也可以在低代码平台在线生成。[在线生成代码](https://maimengcloud.com/lcode/m1/#/mdp/lcode/gen) +- [mdp-sys-backend](https://gitee.com/qingqinkj/mdp-sys-backend) + 登陆、角色管理、权限管理、组织、人员、菜单、部门、元数据等管理功能的服务接口,默认打包合并到mdp-lcode-backend中,如果不涉及改动,无须关注该工程 + +- [mdp-core](https://gitee.com/qingqinkj/mdp-core) + 该工程作为所有后端的公共封装,不包含任何的业务功能,仅作为后端系统的技术底座,包含一些公共工具、服务类抽象、dao层抽象等。 + 默认打包进mdp-lcode-backend中,一般无须理会 + + +>⚠️注意:企业可以单独使用mdp-lcode-ui-web作为前端,单独开发后端系统;也可以使用**唛盟团队** 配套开源的后端系统[mdp-lcode-backend](https://gitee.com/qingqinkj/mdp-lcode-backend)作为后端服务。 + + +## 😭 日常开发中,您是否有以下痛点? + +- **团队中缺乏企业级前后端分离的开发底座**,需要在各种框架中进行摸索、整合。 +- 重复造轮子现象严重、浪费人力、对开发者经验要求过高。 +- 缺乏统一的开发模式,缺乏公共组件的抽取和共享机制,导致业务代码混乱不堪、代码臃肿、bug多、维护困难 +- 缺乏统一的足够灵活的权限管理机制,开发人员不得不写一堆的权限代码混入业务代码中,前端权限、后端权限控制混乱不堪 +- 缺乏统一的能够覆盖前后端的、满足前后端分离的代码生成器,代码模板无法按企业现状进行重新编辑、修改 +- 缺乏统一的编程规范,或者具有书面编程规范,难以贯彻落实到开发中,代码还是五花八门 +- 缺乏统一的元数据(数据字典)管理机制,前后的数据共享调用困难,下拉列表数据混乱不堪 +- 缺乏统一的流程管理机制,要想进行流程类业务开发非常困难 +- 缺乏统一的国际化机制,国际化实施困难,不得不针对各种语言发布多个版本,无法解决后端国际化、前端国际化等问题 +- 缺乏统一的微服务、分布式系统整合机制,微服务互相调用、微服务的权限管理困难 +- 缺乏统一的认证中心,单点登录实施困难 +- 缺乏统一的支付整合机制,接入微信、支付宝、paypal等困难 +- 缺乏项目管理工具,项目计划、任务委派、质量管理、需求管理、持续集成等完全没概念 +- **让 唛盟-mdp 来帮你解决这些痛点吧!然而,这些只是 唛盟-mdp 解决的最基础的功能。** + +## 😁 为什么要使用 [唛盟-mdp](https://gitee.com/qingqinkj/mdp-core) + +- 完全开源、永久免费的企业级开发底座 + 1. 使用mdp能够带来开发效率的大幅提升,代码行数大幅减少,质量提升明显 + 2. 使用mdp能够大幅度降低对开发人员的经验要求,大幅度降低人力成本 + 3. mdp对各种开源组件进行了融合改进,提供了针对企业开发中各种问题的最佳解决方案 + 4. 企业使用一套开源软件即同时拥有前端开发框架及后端开发框架 + +- 统一的开发模式 + 1. 前后端分离 + 2. 前后端都分别进行了技术组件、业务组件的抽取、共享,企业可以进行再提炼、抽象,形成更多的公共组件,对后续开发形成强力的支撑作用 + +- 足够灵活的权限管理机制 + 1. 前端提供统一的按钮级别的权限判断接口、提供路由菜单的权限控制机制 + 2. 后端实现api接口的自动注册、自动审核 + 3. 基于岗位-部门-角色-菜单及按钮-后端api-人员 6要素的权限管理机制,可以0编程实现绝大多数的权限需求 + +- 基于领域驱动设计(DDD)的框架及代码生成器 + 1. 代码生成器覆盖前端、后端,支持任意时刻的重新生成,支持命令行、开发工具插件、在线三种方式生成代码,生成的代码可以0编程使用 + 2. 代码生成器代码模板可以按企业现状进行修改、满足不断发展、持续改进的需求 + 3. 支持多个表一次性生成,也就是可以一次性生成几十到几百张表的增删改查功能,而开发人员仅需要填写表名即可完成 + +- 提供完整的编程规范说明 + 1. mdp的框架提供了完备的接口说明、组件说明、组件使用场景等 + 2. mdp维护团队提供在线支持,及时解答、解决开发者使用过程中的问题 + +- 提供强大的元数据(数据字典)管理机制 + 1. 内置了元数据管理模块,并实现了元数据的分布式缓存、客户端缓存、元数据分发、缓存清理等 + 2. 开发者在客户端、任意微服务中、任意单体应用中可以快速获取元数据 + 3. 元数据的调用效率等同于调用本地map缓存,几乎可以忽略使用元数据的性能开销问题 + +- 整合了最新版本的强大的flowable工作流引擎 + 1. 基于mdp框架重新开发了流程中心、任务中心、流程的发布、上下架等功能 + 2. 提供分布式环境下的流程调用、流程整合问题的解决方案 + 3. 提供在线流程设计器,并整合了mdp的权限机制 + +- 提供强大的国际化解决方案 + 1. 前后端均支持分别进行国际化 + 2. 多语言的支持与业务代码完全解耦,彻底解决硬编码进行语言切换的问题 + +- 整合了强大的微服务框架 + 1. mdp平台任意组件均同时支持微服务环境、单体应用环境运行,开发人员开发的时候可以以单体应用的方式开发,然后以微服务方式发布到生产、测试环境 + 2. 提供微服务的治理 + +- 强大的DAO层 + 1. 支持基于xml文件的sql编写 + 2. 支持无xml方式的数据访问 + 3. 支持多主键(对mybatis plus进行升级,解决了多主键、多表联合查询等问题) + 4. 支持多数据源,通过备注实现数据源切换 + 5. 支持前端构建任意复杂的查询条件并提供对应的最佳实践,支持前端输入框输入>,=,*,$IS NULL,$IN,$NOT IN等运算操作符,支持前端通过 or and 连接符构建任意复杂的条件表达式 + +- 强大的web ui + 1. 提供好用好看的ui组件库 + 2. 提供页面高级查询功能、可以组装任意复杂的查询条件 + 3. 提供针对元数据(数据字典)的引用、针对任意表的引用的组件库 + 4. 提供导入、导出等基础功能 + 5. 提供按钮权限判断接口、 + 6. 提供动态菜单功能 + +- 提供自定义表单解决方案 + 1. 自定义表单设计 + 2. 表单展现 + 3. 表单数据管理 + 4. 自定义表单与工作流整合使用 + 5. 自定义表单发布成普通菜单 + +- 整合了微信支付、支付宝支付、paypal支付 + 1. 提供支付、订单、支付通知底层框架,可以快速整合各种支付功能 + 2. 整合了微信支付功能,进行配置文件更新即可使用 + 3. 整合了支付宝支付功能,进行配置文件更新即可使用 + 4. 整合了paypal支付,进行配置文件更新即可使用 + +- 整合了oauth2.0框架 + 1. 提供oauth2.0的整体框架,构建统一认证中心、单点登录等不再是难事 + 2. 整合了微信、支付宝、手机验证码、账户密码等登录方式 + +## 💪 内置功能 -这是一个项目管理系统项目,满足大中型it项目的全生命周期管理,包括项目立项、项目预算、项目计划、项目测试、任务管理、迭代管理、产品管理、用户故事管理、团队管理、文档管理、环境管理等,由广州擎勤网络科技有限公司研发。 +``` +角色权限 + ├── 角色管理 => 角色crud、分配菜单、分配权限 + ├── 权限定义 => 权限crud + ├── 菜单管理 => 菜单(按钮)crud、分配菜单(按钮)给角色、 + ├── 模块管理 => 模块crud + ├── 已开模块 => 查看企业(个人)已开通的模块 + +组织管理 + ├── 机构管理 => 企业信息维护、管理员维护、账户信息维护、企业产品维护、 + ├── 用户管理 => 用户的crud、分配岗位、分配部门、重置密码、邀请 + ├── 部门管理 => 部门curd、分配岗位到部门、查看部门用户 + ├── 公司管理 => 公司curd(超级管理员使用) + ├── 岗位管理 => 岗位curd、分配角色到岗位、岗位人员查看 + ├── 注销审核 => 审核用户的注销申请 +平台管理 + ├── 平台配置 => 配置平台的信息 + ├── 个人认证审核 => 审核个人的实名认证请求 + ├── 企业认证审核 => 审核企业的实名认证请求 +元数据管理 + ├── 字典管理 => 数据字典的crud + ├── 列表维护 => 下拉列表数据项的crud + ├── 参数定义 => 公共系统参数的crud +审批中心 + ├── 待执行 => 我的待执行任务查询、任务执行 + ├── 日历任务 => 我的待执行任务查询、任务执行 + ├── 发起流程 => 发起流程 +审批监控 + ├── 我发起的流程 => 查询我发起的流程 + ├── 我监控的流程 => 查询我监控的流程、催办 + ├── 我参与的流程 => 查询我参与过的流程 +流程模型 + ├── 流程编辑器 => 在线流程编辑器 + ├── 模型发布 => 流程模型发布 + ├── 模型设置 => 设置流程与智能表单的关联、模型的启动条件、审批人、权限等 +低代码 + ├── 表单中心 => 智能表单的门户 + ├── 表单设计 => 进行智能表单设计、权限设置、在线查看源代码等 + ├── 数据录入、查询 => 查询表单已录入的数据 + ├── 代码生成器 => 在线生成crud的前端页面代码(表单、表格、api),后端代码(控制层、服务层、dao层代码),前后端0修改即可正常运行 +``` + +## 组件库[mdp-ui](/src/components/mdp-ui) + +mdp封装了几十个ui组件,使用mdp-ui与不使用mdp-ui的区别:写100行代码还是写1行代码的区别,代码量的减少立竿见影 +- [mdp-ui](/src/components/mdp-ui) +mdp的核心组件,该组件库为纯前端页面组件,无须配置任何后端api接口即可正确运行 +- [mdp-ui-ext](/src/components/mdp-ui-ext) +基于mdp-ui扩展的带有对接后台api业务加载能力的业务组件 + +>⚠️注意:先行体验一把[mdp-ui组件效果预览](https://maimengcloud.com/lcode/m1/#/mdp/lcode/index) + +### ⚙快速开始 +>找到[main.js](/src/main.js) 添加下面代码 +```js +//mdp-ui 基础组件 +import MdpComponents from '@/components/mdp-ui/index.js' +Vue.use(MdpComponents) + +//mdp-ui-ext拓展的组件 +import MdpUiExtComponents from '@/components/mdp-ui-ext/index.js' +Vue.use(MdpUiExtComponents) +// 公共api +import mdp from "@/api/mdp_pub"; +Vue.prototype.$mdp = mdp; +``` -` 前端` +### [mdp-dialog](/src/components/mdp-ui/mdp-dialog) +弹框,可以把任意页面装配成弹框,无须定义多余的变量及函数 +- 相对于el-dialog来说,要使用弹窗,事情还真不少。需要定义visible变量,定义showDialog,closeDialog两个函数,最关键一点是如果要父页面传递参数到窗口内组件,还得在父页面定义一个变量,通过props属性传递。相当麻烦。如果某个功能弹窗特别多,会有一堆的控制弹窗的变量及函数,非常恶心。mdp-dialog则完全解决上述问题。 -# 前端开发工具 - node.js、webpacck、npm、eclipse、svn、安卓、ios等 - -# 前端ui-pc端 -vue.js、element-ui、axios +### [mdp-table](/src/components/mdp-ui/mdp-table) +表格,内置了增、删、改、查、高级查询、重置查询、导出、列配置、分页、批量编辑等功能、内置了对按钮权限的控制机制 +功能非常强大,懂的都懂。 -# 前端ui-手机端 -vue.js、vux、weui、weex +- 综合管理 +![综合管理表格](/docs/images/ui-components/table-mng.jpg) +- 可编辑表格 +![可编辑表格](/docs/images/ui-components/edit-table.jpg) +- 可编辑-树状表格 +![可编辑-树状表格](/docs/images/ui-components/left-right-tree-table.jpg) -# 前端ui-微信公众号端 -vue.js、vux +### [mdp-select](/src/components/mdp-ui/mdp-select) +下拉列表,支持对数据字典、元数据的引用,支持对任意小表表格数据的引用,支持参数化加载后台数据,对后台加载的数据进行缓存 +![mdp-select](/docs/images/ui-components/select-origin.jpg) -# 前端ui-微信小程序 -微信开发工具 +### [mdp-select-table](/src/components/mdp-ui/mdp-select-table) +超大表格下拉列表,与mdp-select相比,该组件具有分页查询功能 +![分页选择表格数据](/docs/images/ui-components/big-table-select.jpg) +### [mdp-select-user](/src/components/mdp-ui-ext/mdp-select-user) +用户选择下拉列表,与mdp-select-table组件类似,仅仅针对用户的头像做了特殊处理 +![用户选择](/docs/images/ui-components/select-user.jpg) -# 前端文件结构 -* build - webpack config files -* config - webpack config files -* dist - build -* src -your app - * api - * assets - * common - * components - your vue components - * mock - * styles - * views - your pages - * vuex - * App.vue - * main.js - main file - * routes.js -* static - static assets +### [mdp-input](/src/components/mdp-ui/mdp-input) +输入框 -# 前端web开发工具安装步骤 首次安装执行 1-6,添加工程执行 7-12 -## 1 安装node.js 从网络下载最新稳定版本 -node-v8.9.1-x64 +### [mdp-date](/src/components/mdp-ui/mdp-date) +日期 -## 2 安装 npm -npm install npm@latest -g +### [mdp-date-range](/src/components/mdp-ui/mdp-date-range) +区间日期 -## 3 设置淘宝镜像及安装淘宝镜像命令cnpm (如有必要) -npm config set registry https://registry.npm.taobao.org +### [mdp-number](/src/components/mdp-ui/mdp-number) +数字输入 -npm install -g cnpm --registry=https://registry.npm.taobao.org +### [mdp-hi-query](/src/components/mdp-ui/mdp-hi-query) +高级查询,可以由用户自定义任意复杂的查询条件 +![高级查询](/docs/images/ui-components/hi-query.jpg) -## 4 通过镜像下载 node-sass(如有必要) -cnpm install --save-dev node-sass +### [mdp-table-configs](/src/components/mdp-ui/mdp-table-configs) +表格配置,用于控制表格的列显示与否 +![表格配置列显示隐藏](/docs/images/ui-components/table-column-configs.jpg) -## 5 安装vue 命令行工具 (如有必要) -npm install -g vue-cli +### [mdp-transfer](/src/components/mdp-ui/mdp-transfer) +穿梭框 -## 6 设置eclipse 关联 .vue文件 -Window -> Preferences -> General -> Editors -> File Associations -> Add -> *.vue -> Add -> HTML Editor / JS Editor / CSS Editor +### [mdp-cate-tree](/src/components/mdp-ui-ext/mdp-cate-tree) +文档、文章目录树 -## 7 用eclipse 从svn下载工程项目 -svn地址 http://203.195.131.73:8085/svn/ -如工程 mdp-arc-web +### [mdp-expand](/src/components/mdp-ui-ext/mdp-expand) +智能表单相关组件 -## 8 进入工程 目录 (假设工程在 D:\workspace\mdp-arc-web) -cd /D D:\workspace\mdp-arc-web +### [mdp-ext-infos](/src/components/mdp-ui-ext/mdp-ext-infos) +自动扩展字段信息 -## 9 安装工程依赖包 - D:\workspace\mdp-arc-web > npm install - -## 10 开发调试工程 -npm dev -## 11 编译 -npm build +### [mdp-image](/src/components/mdp-ui-ext/mdp-image) +图片库,图片的增删改查、上传、下载 -## 12 拷贝编译后文件到后台工程(用于与后台工程一起打成jar包发布)(如有必要) -npm copyToStatic +### [mdp-select-image](/src/components/mdp-ui-ext/mdp-select-image) +图片选择器,支持图片的上传下载、上传后的统一管理、共享 +### [mdp-select-dept](/src/components/mdp-ui-ext/mdp-select-dept) +部门选择,支持树状机构,异步加载,支持分页查询,任意大数据量 +### [mdp-select-att](/src/components/mdp-ui-ext/mdp-select-att) +附件库,支持附件的上传下载、上传后的统一管理、共享 -`服务端` -# 服务端开发工具 -jdk8、eclipse oxygen、svn、maven、oracle +### [mdp-select-cate](/src/components/mdp-ui-ext/mdp-select-cate) +文档、文章目录树选择器 -# 服务端编程框架 -spring boot 1.5、spring mvc 4、spring cloud 1.5、spring security 4、logback 1、mybatis 3、thymeleaf 3 +### [mdp-select-tag](/src/components/mdp-ui-ext/mdp-select-tag) +标签库,支持标签的统一管理、共享 -# 服务端安装开发工具步骤 首次安装执行 1-3,开发打包部署执行4-5 -## 1 安装开发工具 -### 1.0 安装jdk8, elcipse oxygen, svn 官网下载64位版本 -jdk-8u121-windows-x64 -eclipse-jee-oxygen-3-win32-x86_64 -TortoiseSVN-1.9.7.27907-x64 -### 1.1 配置eclipse运行内存 -在eclipse.ini中添加下面几个参数 --Xms512m --Xmx1024m +### [mdp-meta-item](/src/components/mdp-ui-ext/[mdp-meta-item) +元数据管理库、支持元数据的crud -### 1.2 从eclipse marketplace 下载版本控制插件工具svn -eclipse -> help -> Eclipse marketplace,搜索svn,安装subclipse4.2.3 +### [mdp-meta-option](/src/components/mdp-ui-ext/mdp-meta-option) +元数据管理库-列表数据组件、支持列表数据的crud -#### 1.2.1 设置eclipse svn 忽略的文件规则 */logs/* */target/* */node_modules/* -Window -> Preferences -> Team -> Ignored Resource -> Add pattern -> */logs/* -Window -> Preferences -> Team -> Ignored Resource -> Add pattern -> */target/* -Window -> Preferences -> Team -> Ignored Resource -> Add pattern -> */node_modules/* +### [mdp-rich-text](/src/components/mdp-ui-ext/mdp-rich-text) +富文本编辑器,整合了mdp-select-image作为插件 -### 1.3 设置eclipse工程编码为utf-8 -Window -> Preferences -> General -> Content Types -> java Archive / java class path / Text -> utf-8 -Window -> Preferences -> General -> Workspace -> Text file encoding / UTF-8 +## 🔃 api +- [api](/src/api/) +业务api,哪里用到哪里就单独引入 +### [api/mdp_pub/index.js](/src/api/mdp_pub/index.js) +公共api总入口,注册到vue全局函数中,可以在页面中任意地方直接使用,公共api总入口,如需要添加公共api,请在此文件添加 +### [mdp_api_base.js](/src/api/mdp_pub/mdp_api_base.js) +为mdp框架核心的与后端交互的api,自动注册为全局公共函数,可通过$mdp.xxx调用,可改,但不要新增,删除任何一个api. +### [mdp_api_ext.js](/src/api/mdp_pub/mdp_api_ext.js) +为mdp扩展的组件与后端交互的api,自动注册为全局公共函数,可通过$mdp.xxx调用,可改,但不要新增,删除任何一个api. +### [mdp_api_biz.js](/src/api/mdp_pub/mdp_api_biz.js) +为mdp扩展的组件与后端交互的api,自动注册为全局公共函数,可通过$mdp.xxx调用,可改,可新增必要的api. -### 1.4 设置eclipse jdk -Window -> Preferences -> Java -> Installed JREs -> 选择一条 -> Edit -> C:\Program Files\Java\jdk1.8.0_121(假设jdk安装目录,注意不是jre目录) +```html + +``` +```js + this.$mdp.xxxApi() +``` +- [login](/src/api/login.js) +登录相关api + +## ↕️ 指令 +- [v-adaptive](./directive/el-table/index.js) +让表格自动适应,表格底部始终保持距离视窗底部一定距离(默认 30px) +``` + +``` -### 1.5 设置eclipse 检查项,提升编译速度 -Window -> Preferences -> Validation -> 找到build列 -> 只保留 Classpath Dependance Validator 选中状态 -## 2 下载代码生成器mdp-dev -### 2.0 从svn下载mdp-dev工程,mdp自研发的开发工具 -svn 地址为 http://203.195.131.73:8085/svn/mdp/trunk/mdp-dev - -### 2.1 使用mdp-dev生成crud代码(开发业务功能时使用,先设计表结构,再生成代码) -使用/mdp-dev/src/test/java/com/qqkj/mdp/dev/TestCodegenService.java 进行代码生成 -## 3 maven 设置 -### 3.0 设置maven私服 用户密码 -将/mdp-dev/settings.xml拷贝到 C:\Users\Administrator\.m2目录下 +## ⌨ 技术栈 -### 3.1 安装本地jar包到私服(如果有本地jar包,目前有orcale的驱动包已经安装) -私服登录地址 http://203.195.131.73:8081/nexus 用户名、密码 admin/admin123 +vue全家桶 + element-ui + axios -## 4 应用项目开发 -### 4.0 从svn下载应用工程项目 -svn 地址为 http://203.195.131.73:8085/svn/应用产品对应目录 +## 💻 样例项目 -### 4.1 从mven私服下载依赖jar包 -在 Eclipse 工程目录鼠标右键 -> Maven -> Update Project +- [低代码平台] (https://maimengcloud.com/lcode/m1/) +- [系统管理] (https://maimengcloud.com/sys/m1/) +- [协同办公] (https://maimengcloud.com/oa/m1/) +- [项目管理] (https://maimengcloud.com/xm/m1/) +- [流程管理] (https://maimengcloud.com/workflow/m1/) -### 4.2 运行工程项目 -在src/main/java 中找到 ***Application。java -> 鼠标右键 -> Run as -> Java Application -或者 -在src/test/java 中找到 ***Application。java -> 鼠标右键 -> Run as -> Java Application +## ⚙ 快速开始 -## 5 打包部署 -### 5.0 工程打jar包 -在 Eclipse 工程目录鼠标右键 -> Run as -> Maven Install +>⚠️注意:该项目使用 element-ui@2.3.0+ 版本,所以最低兼容 vue@2.5.0+ -### 5.1 将打包好的jar包上传maven私服 -在 Eclipse 工程目录鼠标右键 -> Run as -> Maven Buil -> deploy +### 前序准备 +- 你的本地环境需要安装 [node](http://nodejs.org/) 和 [git](https://git-scm.com/)。我们的技术栈基于 [ES2015+](http://es6.ruanyifeng.com/)、[vue](https://cn.vuejs.org/index.html)、[vuex](https://vuex.vuejs.org/zh-cn/)、[vue-router](https://router.vuejs.org/zh-cn/) and [element-ui](https://github.com/ElemeFE/element),提前了解和学习这些知识会对使用本项目有很大的帮助。 +- 该项目属于网页版前端项目,所有api由 [mdp-lcode-backend](https://gitee.com/qingqinkj/mdp-lcode-backend)提供,请下载该项目 +- 代码生成器下载 [mdp-code-generator](https://gitee.com/qingqinkj/mdp-code-generator) 也可以在低代码平台在线生成 -``` bash -# install dependencies -cnpm install +### 开发 +```bash +# 克隆项目 +git clone https://gitee.com/qingqinkj/mdp-lcode-ui-web.git -# serve with hot reload at localhost:8081 -cnpm run dev +# 安装依赖 +npm install +    +# 建议不要用cnpm安装 会有各种诡异的bug 可以通过如下操作解决 npm 下载速度慢的问题 +npm install --registry=https://registry.npm.taobao.org -# build for production with minification -cnpm run build +# 启动服务 +npm run dev +``` +浏览器访问 http://localhost:8015 + +#### 登录相关 +登录api,对接后台接口有两种方式,分别为对接统一认证中心、对接mdp-lcode-backend +默认对接mdp-lcode-backend中的登录模块,如果想切换,更改[mdp_config.js中的getOauth2LoginContext函数即可](src/api/mdp_pub/mdp_config.js) +- 对接统一认证中心进行登录 +```js + getOauth2LoginContext:function(){ + return "oauth2client" + } +``` +- 对接mdp-lcode-backend进行登录 +```js + getOauth2LoginContext:function(){ + return "lcode" + } +``` +### 发布 +```bash +# 构建测试环境 +npm run build:sit +# 构建生成环境 +npm run build:prod ``` - - -` 其它一些常用命令 ` -# 清除缓存 -npm cache clean --force -# npm国内代理镜像服务器 镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在): -npm config set registry https://registry.npm.taobao.org -npm info underscore (如果上面配置正确这个命令会有字符串response) +### 🔔️ 特别提醒 + +mdp 3.0 版本已经开始规划更新了,尽请期待新版本的诞生吧 + +### 🗒️ 版本更新日志 + +升级前必看:[CHANGELOG.md](/docs/CHANGELOG.md) + + +## 🚀 基于mdp框架拓展的开源项目 +>⚠️ 注意:以下拓展的框架或者子系统,由mdp开源团队基于项目经验进行总结抽取,可用可不用,可以以jar包方式合并到现有工程进行发布,也可单独发布成单体应用、微服务应用 + +- 第三方支付框架,整合了微信支付、支付宝支付、paypal支付 + 1. [mdp-tpa-pay-backend](https://gitee.com/qingqinkj/mdp-tpa-pay-backend) 后端 + +- 即时通讯框架 + 1. [mdp-im-uniapp](https://gitee.com/qingqinkj/mdp-im-uniapp) 前端app + 2. [mdp-im-web](https://gitee.com/qingqinkj/mdp-im-web) 前端浏览器 + 3. [mdp-im-backend](https://gitee.com/qingqinkj/mdp-im-backend) 后端 + +- 统一认证中心框架 + 2. [mdp-oauth2-backend](https://gitee.com/qingqinkj/mdp-oauth2-backend) 后端 + +- 微服务框架 + 1. [mdp-cloud-backend](https://gitee.com/qingqinkj/mdp-cloud-backend) 后端 + +- 工作流管理子系统 + 1. [mdp-workflow-ui-web](https://gitee.com/qingqinkj/mdp-workflow-ui-web) 前端 + 2. [mdp-workflow-backend](https://gitee.com/qingqinkj/mdp-workflow-backend) 后端 + +- 低代码平台 + 1. [mdp-lcode-ui-web](https://gitee.com/qingqinkj/mdp-lcode-ui-web) 前端 + 2. [mdp-lcode-backend](https://gitee.com/qingqinkj/mdp-lcode-backend) 后端 + +- 内容管理子系统 + 1. [mdp-arc-ui-web](https://gitee.com/qingqinkj/mdp-arc-ui-web) 前端 + 2. [mdp-arc-backend](https://gitee.com/qingqinkj/mdp-arc-backend) 后端 + +- 短信子系统 + 1. [mdp-sms-ui-web](https://gitee.com/qingqinkj/mdp-sms-ui-web) 前端 + 2. [mdp-sms-backend](https://gitee.com/qingqinkj/mdp-sms-backend) 后端 + +- 项目管理子系统 + 1. [xm-crowd-ui-web](https://gitee.com/qingqinkj/xm-crowd-ui-web) 前端众包 + 2. [xm-ui-web](https://gitee.com/qingqinkj/xm-ui-web) 前端管理端 + 3. [xm-backend](https://gitee.com/qingqinkj/xm-backend) 后端 + +- 财务管理子系统 + 1. [ac-core-ui-web](https://gitee.com/qingqinkj/ac-core-ui-web) 前端管理端 + 2. [ac-backend](https://gitee.com/qingqinkj/ac-backend) 后端 + + +## 📝 常见问题、操作说明 +- [FQA](https://maimengcloud.com/#/openCommunity/fqa) + +## 💯 实践案例 + +1. [低代码平台](https://maimengcloud.com/lcode/m1/) +1. [系统管理](https://maimengcloud.com/sys/m1/) +2. [协同办公](https://maimengcloud.com/oa/m1/) +3. [唛盟众包-网页](https://maimengcloud.com) +3. [项目管理-网页](https://maimengcloud.com/xm/m1/) +4. 项目管理-小程序 + drawing +5. [流程管理](https://maimengcloud.com/workflow/m1/) + +## 🔨贡献指南 + +### 贡献须知 + +mdp 作为开源项目,离不开社区的支持,欢迎任何人修改和提出建议。贡献无论大小,你的贡献会帮助背后成千上万的使用者以及开发者,你做出的贡献也会永远的保留在项目的贡献者名单中,这也是开源项目的意义所在! + +为了保证项目代码的质量与规范,以及帮助你更快的了解项目的结构,请在贡献之前阅读: + +- [mdp 贡献说明](https://gitee.com/qingqinkj/mdp-core/blob/master/docs/CONTRIBUTE.md) + +### 贡献步骤 + +1. Fork 本仓库。 + +2. Fork 后会在你的帐号下多了一个和本仓库一模一样的仓库,把你帐号的仓库 clone 到本地。 + + 注意替换掉链接中的`分支名`和`用户名`。 + + 如果是贡献代码,分支名填 `dev`;如果是贡献文档,分支名填 `docs` + + ```bash + git clone -b 分支名 https://gitee.com/用户名/mdp-lcode-ui-web.git + ``` + +3. 修改代码/文档,修改后提交上来。 + + ```bash + # 把修改的文件添加到暂存区 + git add . + # 提交到本地仓库,说明你具体做了什么修改 + git commit -m '填写你做了什么修改' + # 推送到远程仓库,分支名替换成 dev 或者 docs + git push origin 分支名 + ``` + +4. 登录你的仓库,然后会看到一条 PR 请求,点击请求合并,等待管理员把你的代码合并进来。 + +### 项目分支说明 + +| 分支 | 说明 | +|--------|-----------------------------------------------| +| master | 主分支,受保护分支,此分支不接受 PR。在 dev 分支后经过测试没问题后会合并到此分支。 | +| dev | 开发分支,接受 PR,PR 请提交到 dev 分支。 | + + +## 🐞 交流讨论 、反馈 BUG、提出建议等 + +1. 快扫描下方左侧微信二维码和我们一起交流讨论吧!(备注 唛盟-mdp 进群) +drawing + +2. 唛盟微信公众号查看一些基础教程 +drawing + +3. 反馈 BUG、提出建议,欢迎新建:[issues](https://gitee.com/qingqinkj/mdp-lcode-ui-web/issues),开发人员会不定时查看回复。 +4. 参与贡献,请查看[贡献指南](#🔨贡献指南)。 +## 💲 打赏 + **感谢所有赞赏以及参与贡献的小伙伴,你们的支持是我们不断更新前进的动力!微信扫一扫,赏杯咖啡呗!** + drawing -# Browser support +## 🔔商务合作 -Modern browsers and IE 10+. +序号|合作项目| 详细介绍 | 费用说明| +----------------------|------------|----------------------|-----| +1.| 打赏获得赞助商名额| 在赞助商列表展示(添加微信沟通) |不限额度| +2.| 新组件开发| 提供组件扩展、优化服务 |500元/每个组件起步,视复杂程度而定| +3.| 开发问题解答|如果使用该产品遇到棘手问题需要解决,添加微信进行沟通解决 |250元/一次 限一个小时的工作时长,超过1个小时无法解决,退款一半或者延时1个小时,还不能解决,全额退款| +4.| 开发培训|提供开发流程介绍、技术介绍、功能介绍、部署流程介绍,仅限线上培训 |500元/课程 时长2小时 +5.| 扩展问题解答|如果需要使用该产品进行自有业务系统研发,需要我方提供意见建议,我方收取一定费用后提供相应服务 |2000元/一次 限8小时的工作时长,超出8个小时双方无法达成一致意见,退500元,如需加时处理按250/小时计算加时费用。| +6.| 广告合作|广告位(精品项目推荐、赞助商展位) |加微信沟通| -# License -[MIT](http://opensource.org/licenses/MIT) diff --git a/config/index.js b/config/index.js index c8a5e3ff..36dca0d8 100644 --- a/config/index.js +++ b/config/index.js @@ -10,7 +10,7 @@ module.exports = { assetsSubDirectory: '', assetsPublicPath: '/', proxyTable: { - + /** '/api/m1/oauth2client': { target: 'http://localhost:7002', changeOrigin: true, @@ -18,7 +18,7 @@ module.exports = { '^/api/m1/oauth2client': '' } }, - /** + **/ '/api/m1/xm': { target: 'http://localhost:7067', changeOrigin: true, @@ -26,7 +26,7 @@ module.exports = { '^/api/m1/xm': '/xm' } }, - + /** '/api/m1/arc': { target: 'http://localhost:7012', changeOrigin: true, diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md new file mode 100644 index 00000000..8bdb5d32 --- /dev/null +++ b/docs/CHANGELOG.md @@ -0,0 +1,42 @@ +# 🚀 版本日志 + +## 1.0.0 (2019-03-06) + +### 🐣 新增功能 + +1. 第一个基于vue的版本,包含用户管理、部门管理、角色管理、菜单管理、字典管理 + +------ + +## 1.10.10 (2020-03-03) + +### 🐞 解决BUG、优化功能 + +1. 融合商城版本添加 岗位管理、机构管理、系统参数管理 + +------ + +## 1.10.25 (2021-01-20) + +### 🐣 新增功能 + +1. 智能表单 +2. 工作流管理 + +------ + +## 1.20.29 (2022-7-01) + +### 🐞 解决BUG、优化功能 + +1. 整合数据字典+系统参数,形成元数据管理解决方案,支持分布式环境下的数据共享、分发、清理、同步 +2. 整合权限管理,更简单、更灵活 + +------ + +## 2.0.0 (2023-08-28) + +### 🐣 新增功能 + +1. 用新的mdp-ui组件库重新改造所有页面,每个功能提供增、删、改、查、导出、明细、复制、表格编辑、高级查询、重置查询等基本功能,每个功能提供mng、list、add、edit、detail四种打开模式,对应不同的按钮权限、输入框权限 +2. 优化元数据管理,增加每个列表项的颜色控制、列表项过滤条件、联表联动等 \ No newline at end of file diff --git a/docs/CONTRIBUTE.md b/docs/CONTRIBUTE.md new file mode 100644 index 00000000..cb935830 --- /dev/null +++ b/docs/CONTRIBUTE.md @@ -0,0 +1,183 @@ +# mdp 贡献说明 + +## 目录说明 + +### 工程命名规范 + +**前端工程命名规则:业务名-ui-web|-app|-uniapp** +**后端工程命名规则:业务名-backend** + +- [-ui]代表前端 +- [-web]代表电脑浏览器应用 +- [-app]代表手机应用 +- [-uniapp]代表小程序+app的综合体,或者仅代表小程序 +- [-backend]代表后端 +- [-cloud]代表适用于微服务、分布式、云环境 +- [-bootstrap]代表属于打包类的工程,不能写业务代码 + +### 前端目录 + +``` +业务-ui-web + ├── build => 编译构建相关 + ├── config => 编译构建配置项 + ├── dist => 编译后的产物 + ├── src => 源代码 +    ├── api => 与后端交互的api接口列表,一个表一个文件,公共api放入$fly中 +    ├── fly.js => 公共api放入fly中,自动注册成全局函数,页面上可以通过 $fly.xxxxApi()进行调用,无须引入任何文件 +    ├── assets => 静态资源 +    ├── common => 一些公共js脚本 +    ├── components => 组件库 +    ├── Mdp => mdp-ui基础组件库 +    ├── MdpExt => mdp-ui扩展的组件库,一般根据业务需要抽取提炼新的组件放入该目录 +    ├── directive => vue指令库 +    ├── icons => 图标库 +    ├── lang => 语言包 +    ├── mock => 接口模拟数据 +    ├── router => 路由库 +    ├── store => 全局公共数据库 +    ├── styles => css样式库 +    ├── views => 业务功能的页面代码 +    ├── vuex => vuex +    ├── App.vue => 总入口 vue +    ├── main.js => 总入口 js +    ├── permission.js => 路由菜单权限过滤 + + ├── static => 某些静态资源 + ├── .editorconfig => 全局代码格式配置 + ├── .gitattributes => 文件编码格式配置 + ├── CHANGELOG.md => 重大更新日志 + ├── CONTRIBUTE.md => 贡献说明 + ├── PLANS.md => 重大开发计划说明 + ├── README.md => 项目说明 + ├── LICENSE => 协议 + ├── favicon.ico => 项目图标 + ├── package.json => 组件依赖关系 + ├── index.html => 总入口、首页 +``` + + +### 后端目录 +**后端工程结构** + +- 工程结构总图: +``` +业务名-backend + ├── 业务名 =>业务工程,主要用来书写业务代码 + ├── 业务名-cloud-bootstrap =>maven打包工程,禁止书写业务代码,部署到云环境 + ├── 业务名-bootstrap =>maven打包工程,禁止书写业务代码,部署到单体应用环境 + ├── pom.xml =>maven pom文件 + +``` +- 工程结构明细图: +``` +业务名-backend + + ├── 业务名 => 业务主体工程,主要用来写业务功能代码 + ├── logs => 工程运行日志输出目录 + ├── src => src + ├── main => 源码包 + ├── com.企业名.业务名 => 一级业务、产品、大模块之类的 + ├── DruidConfig.java => 数据库连接配置 + ├── SwaggerConfig.java => wagger配置 + ├── SysApplication.java => 启动类 + ├── WebSecurityConfig.java => spring security配置 + ├── com.企业名.业务名.模块1 => 模块目录,一个模块=一个表 + ├── com.企业名.业务名.模块1.ctrl => 控制器 + ├── com.企业名.业务名.模块1.entity => 实体类,保持与数据库表一摸一样,不建议改动,代码生成器随时覆盖 + ├── com.企业名.业务名.模块1.mapper => mybatis mapper文件,包含 Mapper.java Mapper.xml两个文件 + ├── com.企业名.业务名.模块1.service => 服务类,所有服务继承 BaseService + ├── com.企业名.业务名.模块1.vo => 如果需要对entity进行扩展,可在此目录定义继承entity的子类 + ├── resources => 资源文件 + ├── test => 测试用例 + ├── pom.xml => maven pom文件 + + + ├── 业务名-cloud-bootstrap => 打包工程(微服务环境) + ├── logs => 工程运行日志输出目录 + ├── src => src + ├── main => 源码包 + ├── com.企业名.业务名 + ├── DruidConfig.java => 数据库连接配置 + ├── SwaggerConfig.java => wagger配置 + ├── SysApplication.java => 启动类 + ├── WebSecurityConfig.java => spring security配置 + ├── resources => 资源文件 + ├── test => 测试用例 + ├── pom.xml => maven pom文件 + + + ├── 业务名-bootstrap => 打包工程(单体应用) + ├── logs => 工程运行日志输出目录 + ├── src => src + ├── main => 源码包 + ├── com.企业名.业务名 + ├── DruidConfig.java => 数据库连接配置 + ├── SwaggerConfig.java => wagger配置 + ├── SysApplication.java => 启动类 + ├── WebSecurityConfig.java => spring security配置 + ├── resources => 资源文件 + ├── test => 测试用例 + ├── pom.xml => maven pom文件 + ├── pom.xml => maven pom文件 +``` + +## [java]一些规范说明 + +1. 写完代码后在保证不影响其他的人的代码情况下尽量统一格式化一下代码 + 1. 采用 4 个空格缩进,禁止使用 tab 字符 + 2. 如果使用 tab 缩进,必须设置 1 个 tab 为 4 个空格。IDEA 设置 tab 为 4 个空格时, + 请勿勾选 Use tab character;而在 eclipse 中,必须勾选 insert spaces for tabs +2. Java 代码需要保证新增方法都有充足、标准的 JavaDoc 注释 +3. 在修改 Bug、新增功能尽量保证最小提交的方式提交代码,减少多个功能一个 commit +4. 所有接口 url 都需要遵循下划线模式 +5. Java 代码、方法需要遵循小驼峰法 +6. Java 类名需要遵循大驼峰法 +7. 前端项目统一采用 `prettier` 方式来格式化(需要安装插件) +8. 所有 controller 层的接口都需要添加文档注释(至少包含接口的作用说明、参数说明、返回值说明及添加 apiDoc 文档注释) + +> 注:由于旧代码存在很多不规范问题,会逐步调整为新规范。在新写的代码都需要需要遵循上面说明 +> +> +### 类的文档注释规范(Javadoc) + +``` +/** + * xxxxxxxx + * @author xxxx + * @since ${DATE} + */ +``` + +> 这里采用 `@since` 声明创建日期是因为 `Javadoc` 规范里面并没有 `@date` 标记所以采用 `@since` 代替 + +### Java 代码规范 + +> 推荐安装 `Alibaba Java Coding Guidelines`(`p3c`) 插件 + + +## changelog 更新规范 + +> 在新加功能、修复bug、优化功能在完成时候都需要在 [CHANGELOG.md](./CHANGELOG.md) 记录 + +1. 如果是使用者反馈的bug,在修复后需要备注反馈人的昵称 +2. 如果是 issue 需要备注 issue 地址以及平台(Gitee、GitHub) +3. 如果是 pr 需要备注 pr 地址以及平台(Gitee、GitHub) +4. 根据变动情况确定影响范围:如果影响 只:`agent`、`server` 其中一个,就使用【agent】、【server】开头,如果都影响就不用 +5. 可以视情况添加其他说明:如提交记录 +6. emoji 表情参考:[https://emojixd.com/](https://emojixd.com/) + + +## 分支说明 + +1. 新功能都提交到 dev 分支, 不能提交到 master 分支 +2. PR 提交到 dev 分支 +3. 一般功能开发可以直接提交到 dev 分支,较大功能开发需要新建分支提交 + +## 需要的小组 + +1. 后端小组 (主要任务:根据需求开发对应的接口) +2. 前端小组 (主要任务:优化前端 UI 交互和对接部分接口) +3. 文档小组 (主要任务:完善、补充 mdp 使用文档) +4. 视频小组 (主要任务:录制 mdp 相关的使用视频) +5. 测试小组 (主要任务:参与 mdp 新版内测、日常开发测试相关任务) \ No newline at end of file diff --git a/docs/PLANS.md b/docs/PLANS.md new file mode 100644 index 00000000..15a6e9d1 --- /dev/null +++ b/docs/PLANS.md @@ -0,0 +1,7 @@ +# 开发计划 + +## 3.x.x + +1. **升级到vue 3.0+** +2. 全面开源 + diff --git a/docs/backend/API.md b/docs/backend/API.md new file mode 100644 index 00000000..baf2fc47 --- /dev/null +++ b/docs/backend/API.md @@ -0,0 +1,183 @@ +# mdp-ui 组件库说明 + +## 目录说明 + +### 工程命名规范 + +**前端工程命名规则:业务名-ui-web|-app|-uniapp** +**后端工程命名规则:业务名-backend** + +- [-ui]代表前端 +- [-web]代表电脑浏览器应用 +- [-app]代表手机应用 +- [-uniapp]代表小程序+app的综合体,或者仅代表小程序 +- [-backend]代表后端 +- [-cloud]代表适用于微服务、分布式、云环境 +- [-bootstrap]代表属于打包类的工程,不能写业务代码 + +### 前端目录 + +``` +业务-ui-web + ├── build => 编译构建相关 + ├── config => 编译构建配置项 + ├── dist => 编译后的产物 + ├── src => 源代码 +    ├── api => 与后端交互的api接口列表,一个表一个文件,公共api放入$fly中 +    ├── fly.js => 公共api放入fly中,自动注册成全局函数,页面上可以通过 $fly.xxxxApi()进行调用,无须引入任何文件 +    ├── assets => 静态资源 +    ├── common => 一些公共js脚本 +    ├── components => 组件库 +    ├── Mdp => mdp-ui基础组件库 +    ├── MdpExt => mdp-ui扩展的组件库,一般根据业务需要抽取提炼新的组件放入该目录 +    ├── directive => vue指令库 +    ├── icons => 图标库 +    ├── lang => 语言包 +    ├── mock => 接口模拟数据 +    ├── router => 路由库 +    ├── store => 全局公共数据库 +    ├── styles => css样式库 +    ├── views => 业务功能的页面代码 +    ├── vuex => vuex +    ├── App.vue => 总入口 vue +    ├── main.js => 总入口 js +    ├── permission.js => 路由菜单权限过滤 + + ├── static => 某些静态资源 + ├── .editorconfig => 全局代码格式配置 + ├── .gitattributes => 文件编码格式配置 + ├── CHANGELOG.md => 重大更新日志 + ├── CONTRIBUTE.md => 贡献说明 + ├── PLANS.md => 重大开发计划说明 + ├── README.md => 项目说明 + ├── LICENSE => 协议 + ├── favicon.ico => 项目图标 + ├── package.json => 组件依赖关系 + ├── index.html => 总入口、首页 +``` + + +### 后端目录 +**后端工程结构** + +- 工程结构总图: +``` +业务名-backend + ├── 业务名 =>业务工程,主要用来书写业务代码 + ├── 业务名-cloud-bootstrap =>maven打包工程,禁止书写业务代码,部署到云环境 + ├── 业务名-bootstrap =>maven打包工程,禁止书写业务代码,部署到单体应用环境 + ├── pom.xml =>maven pom文件 + +``` +- 工程结构明细图: +``` +业务名-backend + + ├── 业务名 => 业务主体工程,主要用来写业务功能代码 + ├── logs => 工程运行日志输出目录 + ├── src => src + ├── main => 源码包 + ├── com.企业名.业务名 => 一级业务、产品、大模块之类的 + ├── DruidConfig.java => 数据库连接配置 + ├── SwaggerConfig.java => wagger配置 + ├── SysApplication.java => 启动类 + ├── WebSecurityConfig.java => spring security配置 + ├── com.企业名.业务名.模块1 => 模块目录,一个模块=一个表 + ├── com.企业名.业务名.模块1.ctrl => 控制器 + ├── com.企业名.业务名.模块1.entity => 实体类,保持与数据库表一摸一样,不建议改动,代码生成器随时覆盖 + ├── com.企业名.业务名.模块1.mapper => mybatis mapper文件,包含 Mapper.java Mapper.xml两个文件 + ├── com.企业名.业务名.模块1.service => 服务类,所有服务继承 BaseService + ├── com.企业名.业务名.模块1.vo => 如果需要对entity进行扩展,可在此目录定义继承entity的子类 + ├── resources => 资源文件 + ├── test => 测试用例 + ├── pom.xml => maven pom文件 + + + ├── 业务名-cloud-bootstrap => 打包工程(微服务环境) + ├── logs => 工程运行日志输出目录 + ├── src => src + ├── main => 源码包 + ├── com.企业名.业务名 + ├── DruidConfig.java => 数据库连接配置 + ├── SwaggerConfig.java => wagger配置 + ├── SysApplication.java => 启动类 + ├── WebSecurityConfig.java => spring security配置 + ├── resources => 资源文件 + ├── test => 测试用例 + ├── pom.xml => maven pom文件 + + + ├── 业务名-bootstrap => 打包工程(单体应用) + ├── logs => 工程运行日志输出目录 + ├── src => src + ├── main => 源码包 + ├── com.企业名.业务名 + ├── DruidConfig.java => 数据库连接配置 + ├── SwaggerConfig.java => wagger配置 + ├── SysApplication.java => 启动类 + ├── WebSecurityConfig.java => spring security配置 + ├── resources => 资源文件 + ├── test => 测试用例 + ├── pom.xml => maven pom文件 + ├── pom.xml => maven pom文件 +``` + +## [java]一些规范说明 + +1. 写完代码后在保证不影响其他的人的代码情况下尽量统一格式化一下代码 + 1. 采用 4 个空格缩进,禁止使用 tab 字符 + 2. 如果使用 tab 缩进,必须设置 1 个 tab 为 4 个空格。IDEA 设置 tab 为 4 个空格时, + 请勿勾选 Use tab character;而在 eclipse 中,必须勾选 insert spaces for tabs +2. Java 代码需要保证新增方法都有充足、标准的 JavaDoc 注释 +3. 在修改 Bug、新增功能尽量保证最小提交的方式提交代码,减少多个功能一个 commit +4. 所有接口 url 都需要遵循下划线模式 +5. Java 代码、方法需要遵循小驼峰法 +6. Java 类名需要遵循大驼峰法 +7. 前端项目统一采用 `prettier` 方式来格式化(需要安装插件) +8. 所有 controller 层的接口都需要添加文档注释(至少包含接口的作用说明、参数说明、返回值说明及添加 apiDoc 文档注释) + +> 注:由于旧代码存在很多不规范问题,会逐步调整为新规范。在新写的代码都需要需要遵循上面说明 +> +> +### 类的文档注释规范(Javadoc) + +``` +/** + * xxxxxxxx + * @author xxxx + * @since ${DATE} + */ +``` + +> 这里采用 `@since` 声明创建日期是因为 `Javadoc` 规范里面并没有 `@date` 标记所以采用 `@since` 代替 + +### Java 代码规范 + +> 推荐安装 `Alibaba Java Coding Guidelines`(`p3c`) 插件 + + +## changelog 更新规范 + +> 在新加功能、修复bug、优化功能在完成时候都需要在 [CHANGELOG.md](./CHANGELOG.md) 记录 + +1. 如果是使用者反馈的bug,在修复后需要备注反馈人的昵称 +2. 如果是 issue 需要备注 issue 地址以及平台(Gitee、GitHub) +3. 如果是 pr 需要备注 pr 地址以及平台(Gitee、GitHub) +4. 根据变动情况确定影响范围:如果影响 只:`agent`、`server` 其中一个,就使用【agent】、【server】开头,如果都影响就不用 +5. 可以视情况添加其他说明:如提交记录 +6. emoji 表情参考:[https://emojixd.com/](https://emojixd.com/) + + +## 分支说明 + +1. 新功能都提交到 dev 分支, 不能提交到 master 分支 +2. PR 提交到 dev 分支 +3. 一般功能开发可以直接提交到 dev 分支,较大功能开发需要新建分支提交 + +## 需要的小组 + +1. 后端小组 (主要任务:根据需求开发对应的接口) +2. 前端小组 (主要任务:优化前端 UI 交互和对接部分接口) +3. 文档小组 (主要任务:完善、补充 mdp 使用文档) +4. 视频小组 (主要任务:录制 mdp 相关的使用视频) +5. 测试小组 (主要任务:参与 mdp 新版内测、日常开发测试相关任务) \ No newline at end of file diff --git a/docs/front/API.md b/docs/front/API.md new file mode 100644 index 00000000..baf2fc47 --- /dev/null +++ b/docs/front/API.md @@ -0,0 +1,183 @@ +# mdp-ui 组件库说明 + +## 目录说明 + +### 工程命名规范 + +**前端工程命名规则:业务名-ui-web|-app|-uniapp** +**后端工程命名规则:业务名-backend** + +- [-ui]代表前端 +- [-web]代表电脑浏览器应用 +- [-app]代表手机应用 +- [-uniapp]代表小程序+app的综合体,或者仅代表小程序 +- [-backend]代表后端 +- [-cloud]代表适用于微服务、分布式、云环境 +- [-bootstrap]代表属于打包类的工程,不能写业务代码 + +### 前端目录 + +``` +业务-ui-web + ├── build => 编译构建相关 + ├── config => 编译构建配置项 + ├── dist => 编译后的产物 + ├── src => 源代码 +    ├── api => 与后端交互的api接口列表,一个表一个文件,公共api放入$fly中 +    ├── fly.js => 公共api放入fly中,自动注册成全局函数,页面上可以通过 $fly.xxxxApi()进行调用,无须引入任何文件 +    ├── assets => 静态资源 +    ├── common => 一些公共js脚本 +    ├── components => 组件库 +    ├── Mdp => mdp-ui基础组件库 +    ├── MdpExt => mdp-ui扩展的组件库,一般根据业务需要抽取提炼新的组件放入该目录 +    ├── directive => vue指令库 +    ├── icons => 图标库 +    ├── lang => 语言包 +    ├── mock => 接口模拟数据 +    ├── router => 路由库 +    ├── store => 全局公共数据库 +    ├── styles => css样式库 +    ├── views => 业务功能的页面代码 +    ├── vuex => vuex +    ├── App.vue => 总入口 vue +    ├── main.js => 总入口 js +    ├── permission.js => 路由菜单权限过滤 + + ├── static => 某些静态资源 + ├── .editorconfig => 全局代码格式配置 + ├── .gitattributes => 文件编码格式配置 + ├── CHANGELOG.md => 重大更新日志 + ├── CONTRIBUTE.md => 贡献说明 + ├── PLANS.md => 重大开发计划说明 + ├── README.md => 项目说明 + ├── LICENSE => 协议 + ├── favicon.ico => 项目图标 + ├── package.json => 组件依赖关系 + ├── index.html => 总入口、首页 +``` + + +### 后端目录 +**后端工程结构** + +- 工程结构总图: +``` +业务名-backend + ├── 业务名 =>业务工程,主要用来书写业务代码 + ├── 业务名-cloud-bootstrap =>maven打包工程,禁止书写业务代码,部署到云环境 + ├── 业务名-bootstrap =>maven打包工程,禁止书写业务代码,部署到单体应用环境 + ├── pom.xml =>maven pom文件 + +``` +- 工程结构明细图: +``` +业务名-backend + + ├── 业务名 => 业务主体工程,主要用来写业务功能代码 + ├── logs => 工程运行日志输出目录 + ├── src => src + ├── main => 源码包 + ├── com.企业名.业务名 => 一级业务、产品、大模块之类的 + ├── DruidConfig.java => 数据库连接配置 + ├── SwaggerConfig.java => wagger配置 + ├── SysApplication.java => 启动类 + ├── WebSecurityConfig.java => spring security配置 + ├── com.企业名.业务名.模块1 => 模块目录,一个模块=一个表 + ├── com.企业名.业务名.模块1.ctrl => 控制器 + ├── com.企业名.业务名.模块1.entity => 实体类,保持与数据库表一摸一样,不建议改动,代码生成器随时覆盖 + ├── com.企业名.业务名.模块1.mapper => mybatis mapper文件,包含 Mapper.java Mapper.xml两个文件 + ├── com.企业名.业务名.模块1.service => 服务类,所有服务继承 BaseService + ├── com.企业名.业务名.模块1.vo => 如果需要对entity进行扩展,可在此目录定义继承entity的子类 + ├── resources => 资源文件 + ├── test => 测试用例 + ├── pom.xml => maven pom文件 + + + ├── 业务名-cloud-bootstrap => 打包工程(微服务环境) + ├── logs => 工程运行日志输出目录 + ├── src => src + ├── main => 源码包 + ├── com.企业名.业务名 + ├── DruidConfig.java => 数据库连接配置 + ├── SwaggerConfig.java => wagger配置 + ├── SysApplication.java => 启动类 + ├── WebSecurityConfig.java => spring security配置 + ├── resources => 资源文件 + ├── test => 测试用例 + ├── pom.xml => maven pom文件 + + + ├── 业务名-bootstrap => 打包工程(单体应用) + ├── logs => 工程运行日志输出目录 + ├── src => src + ├── main => 源码包 + ├── com.企业名.业务名 + ├── DruidConfig.java => 数据库连接配置 + ├── SwaggerConfig.java => wagger配置 + ├── SysApplication.java => 启动类 + ├── WebSecurityConfig.java => spring security配置 + ├── resources => 资源文件 + ├── test => 测试用例 + ├── pom.xml => maven pom文件 + ├── pom.xml => maven pom文件 +``` + +## [java]一些规范说明 + +1. 写完代码后在保证不影响其他的人的代码情况下尽量统一格式化一下代码 + 1. 采用 4 个空格缩进,禁止使用 tab 字符 + 2. 如果使用 tab 缩进,必须设置 1 个 tab 为 4 个空格。IDEA 设置 tab 为 4 个空格时, + 请勿勾选 Use tab character;而在 eclipse 中,必须勾选 insert spaces for tabs +2. Java 代码需要保证新增方法都有充足、标准的 JavaDoc 注释 +3. 在修改 Bug、新增功能尽量保证最小提交的方式提交代码,减少多个功能一个 commit +4. 所有接口 url 都需要遵循下划线模式 +5. Java 代码、方法需要遵循小驼峰法 +6. Java 类名需要遵循大驼峰法 +7. 前端项目统一采用 `prettier` 方式来格式化(需要安装插件) +8. 所有 controller 层的接口都需要添加文档注释(至少包含接口的作用说明、参数说明、返回值说明及添加 apiDoc 文档注释) + +> 注:由于旧代码存在很多不规范问题,会逐步调整为新规范。在新写的代码都需要需要遵循上面说明 +> +> +### 类的文档注释规范(Javadoc) + +``` +/** + * xxxxxxxx + * @author xxxx + * @since ${DATE} + */ +``` + +> 这里采用 `@since` 声明创建日期是因为 `Javadoc` 规范里面并没有 `@date` 标记所以采用 `@since` 代替 + +### Java 代码规范 + +> 推荐安装 `Alibaba Java Coding Guidelines`(`p3c`) 插件 + + +## changelog 更新规范 + +> 在新加功能、修复bug、优化功能在完成时候都需要在 [CHANGELOG.md](./CHANGELOG.md) 记录 + +1. 如果是使用者反馈的bug,在修复后需要备注反馈人的昵称 +2. 如果是 issue 需要备注 issue 地址以及平台(Gitee、GitHub) +3. 如果是 pr 需要备注 pr 地址以及平台(Gitee、GitHub) +4. 根据变动情况确定影响范围:如果影响 只:`agent`、`server` 其中一个,就使用【agent】、【server】开头,如果都影响就不用 +5. 可以视情况添加其他说明:如提交记录 +6. emoji 表情参考:[https://emojixd.com/](https://emojixd.com/) + + +## 分支说明 + +1. 新功能都提交到 dev 分支, 不能提交到 master 分支 +2. PR 提交到 dev 分支 +3. 一般功能开发可以直接提交到 dev 分支,较大功能开发需要新建分支提交 + +## 需要的小组 + +1. 后端小组 (主要任务:根据需求开发对应的接口) +2. 前端小组 (主要任务:优化前端 UI 交互和对接部分接口) +3. 文档小组 (主要任务:完善、补充 mdp 使用文档) +4. 视频小组 (主要任务:录制 mdp 相关的使用视频) +5. 测试小组 (主要任务:参与 mdp 新版内测、日常开发测试相关任务) \ No newline at end of file diff --git a/docs/front/COMPOENTS.md b/docs/front/COMPOENTS.md new file mode 100644 index 00000000..5720d56a --- /dev/null +++ b/docs/front/COMPOENTS.md @@ -0,0 +1,184 @@ +# mdp-ui 组件库 +## 如何开始? + +## 目录说明 + +### 工程命名规范 + +**前端工程命名规则:业务名-ui-web|-app|-uniapp** +**后端工程命名规则:业务名-backend** + +- [-ui]代表前端 +- [-web]代表电脑浏览器应用 +- [-app]代表手机应用 +- [-uniapp]代表小程序+app的综合体,或者仅代表小程序 +- [-backend]代表后端 +- [-cloud]代表适用于微服务、分布式、云环境 +- [-bootstrap]代表属于打包类的工程,不能写业务代码 + +### 前端目录 + +``` +业务-ui-web + ├── build => 编译构建相关 + ├── config => 编译构建配置项 + ├── dist => 编译后的产物 + ├── src => 源代码 +    ├── api => 与后端交互的api接口列表,一个表一个文件,公共api放入$fly中 +    ├── fly.js => 公共api放入fly中,自动注册成全局函数,页面上可以通过 $fly.xxxxApi()进行调用,无须引入任何文件 +    ├── assets => 静态资源 +    ├── common => 一些公共js脚本 +    ├── components => 组件库 +    ├── Mdp => mdp-ui基础组件库 +    ├── MdpExt => mdp-ui扩展的组件库,一般根据业务需要抽取提炼新的组件放入该目录 +    ├── directive => vue指令库 +    ├── icons => 图标库 +    ├── lang => 语言包 +    ├── mock => 接口模拟数据 +    ├── router => 路由库 +    ├── store => 全局公共数据库 +    ├── styles => css样式库 +    ├── views => 业务功能的页面代码 +    ├── vuex => vuex +    ├── App.vue => 总入口 vue +    ├── main.js => 总入口 js +    ├── permission.js => 路由菜单权限过滤 + + ├── static => 某些静态资源 + ├── .editorconfig => 全局代码格式配置 + ├── .gitattributes => 文件编码格式配置 + ├── CHANGELOG.md => 重大更新日志 + ├── CONTRIBUTE.md => 贡献说明 + ├── PLANS.md => 重大开发计划说明 + ├── README.md => 项目说明 + ├── LICENSE => 协议 + ├── favicon.ico => 项目图标 + ├── package.json => 组件依赖关系 + ├── index.html => 总入口、首页 +``` + + +### 后端目录 +**后端工程结构** + +- 工程结构总图: +``` +业务名-backend + ├── 业务名 =>业务工程,主要用来书写业务代码 + ├── 业务名-cloud-bootstrap =>maven打包工程,禁止书写业务代码,部署到云环境 + ├── 业务名-bootstrap =>maven打包工程,禁止书写业务代码,部署到单体应用环境 + ├── pom.xml =>maven pom文件 + +``` +- 工程结构明细图: +``` +业务名-backend + + ├── 业务名 => 业务主体工程,主要用来写业务功能代码 + ├── logs => 工程运行日志输出目录 + ├── src => src + ├── main => 源码包 + ├── com.企业名.业务名 => 一级业务、产品、大模块之类的 + ├── DruidConfig.java => 数据库连接配置 + ├── SwaggerConfig.java => wagger配置 + ├── SysApplication.java => 启动类 + ├── WebSecurityConfig.java => spring security配置 + ├── com.企业名.业务名.模块1 => 模块目录,一个模块=一个表 + ├── com.企业名.业务名.模块1.ctrl => 控制器 + ├── com.企业名.业务名.模块1.entity => 实体类,保持与数据库表一摸一样,不建议改动,代码生成器随时覆盖 + ├── com.企业名.业务名.模块1.mapper => mybatis mapper文件,包含 Mapper.java Mapper.xml两个文件 + ├── com.企业名.业务名.模块1.service => 服务类,所有服务继承 BaseService + ├── com.企业名.业务名.模块1.vo => 如果需要对entity进行扩展,可在此目录定义继承entity的子类 + ├── resources => 资源文件 + ├── test => 测试用例 + ├── pom.xml => maven pom文件 + + + ├── 业务名-cloud-bootstrap => 打包工程(微服务环境) + ├── logs => 工程运行日志输出目录 + ├── src => src + ├── main => 源码包 + ├── com.企业名.业务名 + ├── DruidConfig.java => 数据库连接配置 + ├── SwaggerConfig.java => wagger配置 + ├── SysApplication.java => 启动类 + ├── WebSecurityConfig.java => spring security配置 + ├── resources => 资源文件 + ├── test => 测试用例 + ├── pom.xml => maven pom文件 + + + ├── 业务名-bootstrap => 打包工程(单体应用) + ├── logs => 工程运行日志输出目录 + ├── src => src + ├── main => 源码包 + ├── com.企业名.业务名 + ├── DruidConfig.java => 数据库连接配置 + ├── SwaggerConfig.java => wagger配置 + ├── SysApplication.java => 启动类 + ├── WebSecurityConfig.java => spring security配置 + ├── resources => 资源文件 + ├── test => 测试用例 + ├── pom.xml => maven pom文件 + ├── pom.xml => maven pom文件 +``` + +## [java]一些规范说明 + +1. 写完代码后在保证不影响其他的人的代码情况下尽量统一格式化一下代码 + 1. 采用 4 个空格缩进,禁止使用 tab 字符 + 2. 如果使用 tab 缩进,必须设置 1 个 tab 为 4 个空格。IDEA 设置 tab 为 4 个空格时, + 请勿勾选 Use tab character;而在 eclipse 中,必须勾选 insert spaces for tabs +2. Java 代码需要保证新增方法都有充足、标准的 JavaDoc 注释 +3. 在修改 Bug、新增功能尽量保证最小提交的方式提交代码,减少多个功能一个 commit +4. 所有接口 url 都需要遵循下划线模式 +5. Java 代码、方法需要遵循小驼峰法 +6. Java 类名需要遵循大驼峰法 +7. 前端项目统一采用 `prettier` 方式来格式化(需要安装插件) +8. 所有 controller 层的接口都需要添加文档注释(至少包含接口的作用说明、参数说明、返回值说明及添加 apiDoc 文档注释) + +> 注:由于旧代码存在很多不规范问题,会逐步调整为新规范。在新写的代码都需要需要遵循上面说明 +> +> +### 类的文档注释规范(Javadoc) + +``` +/** + * xxxxxxxx + * @author xxxx + * @since ${DATE} + */ +``` + +> 这里采用 `@since` 声明创建日期是因为 `Javadoc` 规范里面并没有 `@date` 标记所以采用 `@since` 代替 + +### Java 代码规范 + +> 推荐安装 `Alibaba Java Coding Guidelines`(`p3c`) 插件 + + +## changelog 更新规范 + +> 在新加功能、修复bug、优化功能在完成时候都需要在 [CHANGELOG.md](./CHANGELOG.md) 记录 + +1. 如果是使用者反馈的bug,在修复后需要备注反馈人的昵称 +2. 如果是 issue 需要备注 issue 地址以及平台(Gitee、GitHub) +3. 如果是 pr 需要备注 pr 地址以及平台(Gitee、GitHub) +4. 根据变动情况确定影响范围:如果影响 只:`agent`、`server` 其中一个,就使用【agent】、【server】开头,如果都影响就不用 +5. 可以视情况添加其他说明:如提交记录 +6. emoji 表情参考:[https://emojixd.com/](https://emojixd.com/) + + +## 分支说明 + +1. 新功能都提交到 dev 分支, 不能提交到 master 分支 +2. PR 提交到 dev 分支 +3. 一般功能开发可以直接提交到 dev 分支,较大功能开发需要新建分支提交 + +## 需要的小组 + +1. 后端小组 (主要任务:根据需求开发对应的接口) +2. 前端小组 (主要任务:优化前端 UI 交互和对接部分接口) +3. 文档小组 (主要任务:完善、补充 mdp 使用文档) +4. 视频小组 (主要任务:录制 mdp 相关的使用视频) +5. 测试小组 (主要任务:参与 mdp 新版内测、日常开发测试相关任务) \ No newline at end of file diff --git a/docs/images/ui-components/big-table-select.jpg b/docs/images/ui-components/big-table-select.jpg new file mode 100644 index 00000000..e95c4350 Binary files /dev/null and b/docs/images/ui-components/big-table-select.jpg differ diff --git a/docs/images/ui-components/data-range-x-hove-click.jpg b/docs/images/ui-components/data-range-x-hove-click.jpg new file mode 100644 index 00000000..bc49c199 Binary files /dev/null and b/docs/images/ui-components/data-range-x-hove-click.jpg differ diff --git a/docs/images/ui-components/data-range-x-hove.jpg b/docs/images/ui-components/data-range-x-hove.jpg new file mode 100644 index 00000000..4862c986 Binary files /dev/null and b/docs/images/ui-components/data-range-x-hove.jpg differ diff --git a/docs/images/ui-components/date-range-x-no-hove.jpg b/docs/images/ui-components/date-range-x-no-hove.jpg new file mode 100644 index 00000000..7c55041f Binary files /dev/null and b/docs/images/ui-components/date-range-x-no-hove.jpg differ diff --git a/docs/images/ui-components/date-x-hove.jpg b/docs/images/ui-components/date-x-hove.jpg new file mode 100644 index 00000000..cbc10167 Binary files /dev/null and b/docs/images/ui-components/date-x-hove.jpg differ diff --git a/docs/images/ui-components/date-x.jpg b/docs/images/ui-components/date-x.jpg new file mode 100644 index 00000000..076375a0 Binary files /dev/null and b/docs/images/ui-components/date-x.jpg differ diff --git a/docs/images/ui-components/edit-table.jpg b/docs/images/ui-components/edit-table.jpg new file mode 100644 index 00000000..87db9722 Binary files /dev/null and b/docs/images/ui-components/edit-table.jpg differ diff --git a/docs/images/ui-components/hi-query.jpg b/docs/images/ui-components/hi-query.jpg new file mode 100644 index 00000000..cda7cbdc Binary files /dev/null and b/docs/images/ui-components/hi-query.jpg differ diff --git a/docs/images/ui-components/index.jpg b/docs/images/ui-components/index.jpg new file mode 100644 index 00000000..6a37b296 Binary files /dev/null and b/docs/images/ui-components/index.jpg differ diff --git a/docs/images/ui-components/left-right-tree-table.jpg b/docs/images/ui-components/left-right-tree-table.jpg new file mode 100644 index 00000000..8d1fbd5c Binary files /dev/null and b/docs/images/ui-components/left-right-tree-table.jpg differ diff --git a/docs/images/ui-components/query-param.jpg b/docs/images/ui-components/query-param.jpg new file mode 100644 index 00000000..fe95178a Binary files /dev/null and b/docs/images/ui-components/query-param.jpg differ diff --git a/docs/images/ui-components/select-origin.jpg b/docs/images/ui-components/select-origin.jpg new file mode 100644 index 00000000..aaa5902b Binary files /dev/null and b/docs/images/ui-components/select-origin.jpg differ diff --git a/docs/images/ui-components/select-tag.jpg b/docs/images/ui-components/select-tag.jpg new file mode 100644 index 00000000..48bec152 Binary files /dev/null and b/docs/images/ui-components/select-tag.jpg differ diff --git a/docs/images/ui-components/select-user.jpg b/docs/images/ui-components/select-user.jpg new file mode 100644 index 00000000..288911d9 Binary files /dev/null and b/docs/images/ui-components/select-user.jpg differ diff --git a/docs/images/ui-components/select-x-hove.jpg b/docs/images/ui-components/select-x-hove.jpg new file mode 100644 index 00000000..1c0382bb Binary files /dev/null and b/docs/images/ui-components/select-x-hove.jpg differ diff --git a/docs/images/ui-components/select-x-no-hove.jpg b/docs/images/ui-components/select-x-no-hove.jpg new file mode 100644 index 00000000..4d24e03d Binary files /dev/null and b/docs/images/ui-components/select-x-no-hove.jpg differ diff --git a/docs/images/ui-components/table-column-configs.jpg b/docs/images/ui-components/table-column-configs.jpg new file mode 100644 index 00000000..dde64881 Binary files /dev/null and b/docs/images/ui-components/table-column-configs.jpg differ diff --git a/docs/images/ui-components/table-mng.jpg b/docs/images/ui-components/table-mng.jpg new file mode 100644 index 00000000..973cd8ab Binary files /dev/null and b/docs/images/ui-components/table-mng.jpg differ diff --git a/docs/images/ui-components/tree-table.jpg b/docs/images/ui-components/tree-table.jpg new file mode 100644 index 00000000..edd5fd46 Binary files /dev/null and b/docs/images/ui-components/tree-table.jpg differ diff --git a/src/api/login.js b/src/api/login.js new file mode 100644 index 00000000..cd9d32fe --- /dev/null +++ b/src/api/login.js @@ -0,0 +1,201 @@ +import axios from '@/utils/request' +import axiosNoAuth from '@/utils/requestNoAuth' +import { getToken, setToken, removeToken,getCacheUserInfo,setCacheUserInfo,removeCacheUserInfo} from '@/utils/auth' + + +import config from '@/api/mdp_pub/mdp_config' + +let base=config.getOauth2LoginContext(); + +//let base=''; +export function doLoginByUserloginid(userloginid, password,grantType,authType,deptid,userid) { + const data = { + userloginid: userloginid, + password: password, + authType:authType, + deptid:deptid, + userid:userid, + } + return axiosNoAuth({ + url: base+'/login/token?grantType='+grantType, + method: 'post', + data + }) +} +export function switchUser(userloginid, password,grantType,authType,deptid,userid) { + const data = { + userloginid: userloginid, + password: password, + authType:authType, + deptid:deptid, + userid:userid, + } + return axios({ + url: base+'/login/token?grantType='+grantType, + method: 'post', + data + }) +} +export function setDefLogin(userid,defLogin) { + const data = { + userid: userid, + defLogin:defLogin + } + return axios({ + url: base+'/user/setDefLogin', + method: 'post', + data + }) +} +export function checkUserid(userid ) { + const data = { + userid: userid + } + return axiosNoAuth({ + url: base+'/user/check/userid', + method: 'post', + data + }) +} +export function checkDisplayUserid(displayUserid ) { + const data = { + displayUserid: displayUserid + } + return axiosNoAuth({ + url: base+'/user/check/displayUserid', + method: 'post', + data + }) +} + +export function updatePhoneno(params ) { + const data = params + return axios({ + url: base+'/user/update/phoneno', + method: 'post', + data + }) +} +export function checkPhoneno(phoneno ) { + const data = { + phoneno: phoneno + } + return axiosNoAuth({ + url: base+'/user/check/phoneno', + method: 'post', + data + }) +} +export function queryByUserloginid( params ) { + return axiosNoAuth({ + url: base+'/user/queryByUserloginid', + method: 'get', + params:params + }) +} + +export function doRegister( userInfo ) { + removeToken(); + const data = { + username:userInfo.username, + userid:userInfo.displayUserid, + displayUserid:userInfo.displayUserid, + password:userInfo.password, + phoneno:userInfo.phoneno, + smsCode:userInfo.smsCode, + deptid:userInfo.deptid, + branchId:userInfo.branchId + } + return axios({ + url: base+'/user/register', + method: 'post', + data + }) +} + +export function resetPasswordByPhoneno( userInfo ) { + const data = { + newPassword:userInfo.newPassword, + phoneno:userInfo.phoneno, + smsCode:userInfo.smsCode, + userid:userInfo.userid + } + return axios({ + url: base+'/user/password/reset?type=sms', + method: 'post', + data + }) +} +export function logout() { + removeToken(); + /** + return axios({ + url: base+'/logout', + method: 'post' + }) + */ +} + +export function getUserInfo(params) { + if( !params || !params.scopes ){ + params={ + scopes:['userInfo','roles','posts','menus','qxs','depts','branchs'] + } + } + const data=params; + return axios({ + url: base+'/user/info', + method: 'post', + data + }) +} + +/** + * 发送邮件 + */ + +export function sendEmail(params) { + const data=params; + return axiosNoAuth({ + url: base+'/user/sendEmail', + method: 'post', + data + }) +} +/** + * 验证邮箱 + */ + +export function validEmailCode(params) { + return axios({ + url: base+'/user/validEmailCode', + method: 'get', + params:params + }) +} + + +/** + * 获取第三方登录需要state参数,防止crfs攻击 + * @param + * @returns + */ +export function getTpaState( ) { + return axiosNoAuth({ + url: '/tpa/login/wechat/wxpub/state', + method: 'post', + data:{} + }) +} + +/** + * 获取查询当前登录账户的所有关联账户 + * @returns + */ + export function queryMyUsers( ) { + return axios({ + url: base+'/user/queryMyUsers', + method: 'get' + }) +} + diff --git a/src/api/mdp/app/appBizType.js b/src/api/mdp/app/appBizType.js index 37131c23..7b93f91f 100644 --- a/src/api/mdp/app/appBizType.js +++ b/src/api/mdp/app/appBizType.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base=config.getSysContext() diff --git a/src/api/mdp/app/appMdpDef.js b/src/api/mdp/app/appMdpDef.js index 0a35a105..8163a94a 100644 --- a/src/api/mdp/app/appMdpDef.js +++ b/src/api/mdp/app/appMdpDef.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base=config.getSysContext() /** * MDP平台应用定义表 diff --git a/src/api/mdp/app/appShopConfig.js b/src/api/mdp/app/appShopConfig.js index c246bc59..65d9258d 100644 --- a/src/api/mdp/app/appShopConfig.js +++ b/src/api/mdp/app/appShopConfig.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() /** diff --git a/src/api/mdp/app/appTpAuth.js b/src/api/mdp/app/appTpAuth.js index 120aabbe..e4b40f50 100644 --- a/src/api/mdp/app/appTpAuth.js +++ b/src/api/mdp/app/appTpAuth.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base=config.getSysContext() /** * MDP平台应用与第三方应用关系 diff --git a/src/api/mdp/app/appTpPay.js b/src/api/mdp/app/appTpPay.js index 52d34ce5..cd541799 100644 --- a/src/api/mdp/app/appTpPay.js +++ b/src/api/mdp/app/appTpPay.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() /** diff --git a/src/api/mdp/app/shopLocation.js b/src/api/mdp/app/shopLocation.js index b8947a84..9110487b 100644 --- a/src/api/mdp/app/shopLocation.js +++ b/src/api/mdp/app/shopLocation.js @@ -1,6 +1,6 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' let base=config.getMallmBasePath(); diff --git a/src/api/mdp/biz/coop.js b/src/api/mdp/biz/coop.js new file mode 100644 index 00000000..50c515ef --- /dev/null +++ b/src/api/mdp/biz/coop.js @@ -0,0 +1,32 @@ +import axios from '@/utils/request' + +import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 +import config from '@/api/mdp_pub/mdp_config' + +let base = config.getSysContext() + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * 商务合作申请 + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'主键 主键',userid:'用户编号',username:'用户名称',branchId:'公司编号',branchName:'公司名称',email:'邮箱',phoneno:'电话',remark:'合作要求',status:'状态0-初始,1-申请中,2-进行中,3-已结束',ctime:'申请日期',replyUserid:'根进人编号',replyUsername:'跟进人姓名',replyTime:'跟进时间',bizType:'合作类型1-项目合作,2-广告合作,3-服务商入驻,4-校企合作'} + **/ + +//普通查询 条件之间and关系 +export const listCoop = params => { return axios.get(`${base}/mdp/biz/coop/list`, { params: params }); }; + +//删除一条商务合作申请 params={id:'主键 主键'} +export const delCoop = params => { return axios.post(`${base}/mdp/biz/coop/del`,params); }; + +//批量删除商务合作申请 params=[{id:'主键 主键'}] +export const batchDelCoop = params => { return axios.post(`${base}/mdp/biz/coop/batchDel`, params); }; + +//修改一条商务合作申请记录 +export const editCoop = params => { return axios.post(`${base}/mdp/biz/coop/edit`, params); }; + +//新增一条商务合作申请 +export const addCoop = params => { return axios.post(`${base}/mdp/biz/coop/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsCoop = params => { return axios.post(`${base}/mdp/biz/coop/editSomeFields`, params); }; + diff --git a/src/api/mdp/im/group/imGroup.js b/src/api/mdp/im/group/imGroup.js index b502ace5..505618eb 100644 --- a/src/api/mdp/im/group/imGroup.js +++ b/src/api/mdp/im/group/imGroup.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getImBasePath(); +let base = config.getImContext(); /** @@ -10,8 +10,8 @@ let base = config.getImBasePath(); *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, *2 查询、新增、修改的参数格式 params={id:'群组主键 主键',groupName:'组名',categoryId:'组类别',cuserid:'创建人编号',cusername:'创建人姓名',cdate:'创建日期',bizStatus:'业务状态0已提出1咨询中2已结束',gstatus:'群状态0初始1有效2已解散3全体禁言',resStatus:'响应状态:I正在响应,S退出响应,O超时未响应,F结束响应',locationId:'门店编号',shopId:'商户编号',branchId:'归属机构号',onlineUsers:'在线人数',deptid:'归属部门',allowJoin:'是否允许加入0不允许1允许',needAudit:'是否需要审核0不需要1需要',headimgurl:'群头像地址',allowSpeechTime:'下次允许发言时间',isPrichat:'是否为私聊群0否1是两人人对话有第三人加入自动升级为普通群'} **/ - -//普通查询 条件之间and关系 + +//普通查询 条件之间and关系 export const listImGroup = params => { return axios.get(`${base}/mdp/im/group/imGroup/list`, { params: params }); }; //查询我所在的群组 @@ -20,7 +20,7 @@ export const listMyChannelGroups = params => { return axios.get(`${base}/mdp/im/ /**查询一个组及其所有成员 */ export const queryGroupAndUsers = params => { return axios.get(`${base}/mdp/im/group/imGroup/queryGroupAndUsers`, { params: params }); }; -//模糊查询群组定义 条件之间or关系 +//模糊查询群组定义 条件之间or关系 //export const listImGroupKey = params => { return axios.get(`${base}/mdp/im/group/imGroup/listKey`, { params: params }); }; //删除一条群组定义 params={id:'群组主键 主键'} @@ -33,4 +33,4 @@ export const batchDelImGroup = params => { return axios.post(`${base}/mdp/im/gro export const editImGroup = params => { return axios.post(`${base}/mdp/im/group/imGroup/edit`, params); }; //新增一条群组定义 -export const addImGroup = params => { return axios.post(`${base}/mdp/im/group/imGroup/add`, params); }; \ No newline at end of file +export const addImGroup = params => { return axios.post(`${base}/mdp/im/group/imGroup/add`, params); }; diff --git a/src/api/mdp/im/group/imGroupMessage.js b/src/api/mdp/im/group/imGroupMessage.js index 0e049645..d2690893 100644 --- a/src/api/mdp/im/group/imGroupMessage.js +++ b/src/api/mdp/im/group/imGroupMessage.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getImBasePath(); +let base = config.getImContext(); /** @@ -10,11 +10,11 @@ let base = config.getImBasePath(); *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, *2 查询、新增、修改的参数格式 params={id:'主键ID 主键',sendUserid:'发送者ID',sendTime:'发送时间',sendObject:'发送对象L门店P商品K规格O订单S物流T其他M手机号码W微信号码M邮箱A广告',sendContent:'发送内容',readTime:'读取时间',fp:'备用参数1',groupId:'群组编号',atUserid:'@用户',sendUsername:'发送者姓名',msgAction:'消息动作inviteJoinFrend邀请成为好友,inviteJoinGroup邀请加入群,invitePhone邀请发送手机号码,inviteWeixin邀请发送微信,inviteResume邀请发送简历,inviteInterview邀请面试,showAd展示广告',msgClass:'消息分类0普通消息1群组通知公告2IM通知3广告CSS客服',msgState:'消息状态send已发送reach已送达read已读back已回撤'} **/ - -//普通查询 条件之间and关系 + +//普通查询 条件之间and关系 export const listImGroupMessage = params => { return axios.get(`${base}/mdp/im/group/imGroupMessage/list`, { params: params }); }; -//模糊查询群组消息 条件之间or关系 +//模糊查询群组消息 条件之间or关系 //export const listImGroupMessageKey = params => { return axios.get(`${base}/mdp/im/group/imGroupMessage/listKey`, { params: params }); }; //删除一条群组消息 params={id:'主键ID 主键'} @@ -27,4 +27,4 @@ export const batchDelImGroupMessage = params => { return axios.post(`${base}/mdp export const editImGroupMessage = params => { return axios.post(`${base}/mdp/im/group/imGroupMessage/edit`, params); }; //新增一条群组消息 -export const addImGroupMessage = params => { return axios.post(`${base}/mdp/im/group/imGroupMessage/add`, params); }; \ No newline at end of file +export const addImGroupMessage = params => { return axios.post(`${base}/mdp/im/group/imGroupMessage/add`, params); }; diff --git a/src/api/mdp/im/imPush.js b/src/api/mdp/im/imPush.js index 0c2939fe..dbdfc3cb 100644 --- a/src/api/mdp/im/imPush.js +++ b/src/api/mdp/im/imPush.js @@ -1,7 +1,7 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getImBasePath(); +let base = config.getImContext(); -export const publishMessage = params => { return axios.post(`${base}/mdp/im/push/publishMessage`, params); }; \ No newline at end of file +export const publishMessage = params => { return axios.post(`${base}/mdp/im/push/publishMessage`, params); }; diff --git a/src/api/mdp/im/prichat/imPrichatMessage.js b/src/api/mdp/im/prichat/imPrichatMessage.js index ddc2fc09..6f67f9e4 100644 --- a/src/api/mdp/im/prichat/imPrichatMessage.js +++ b/src/api/mdp/im/prichat/imPrichatMessage.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getImBasePath(); +let base = config.getImContext(); /** @@ -10,14 +10,14 @@ let base = config.getImBasePath(); *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, *2 查询、新增、修改的参数格式 params={id:'主键ID 主键',sendUserid:'发送者ID',sendTime:'发送时间',sendObject:'发送对象L门店P商品K规格O订单S物流T其他M手机号码W微信号码M邮箱A广告',sendContent:'发送内容',readTime:'读取时间',groupId:'群组编号',toUserid:'接收者编号',sendUsername:'发送者名称',msgAction:'消息动作inviteJoinFrend邀请成为好友,inviteJoinGroup邀请加入群,invitePhone邀请发送手机号码,inviteWeixin邀请发送微信,inviteResume邀请发送简历,inviteInterview邀请面试,showAd展示广告',msgClass:'消息分类0普通消息1群组通知公告2IM通知3广告',msgState:'消息状态send已发送reach已送达read已读back已回撤'} **/ - -//普通查询 条件之间and关系 + +//普通查询 条件之间and关系 export const listImPrichatMessage = params => { return axios.get(`${base}/mdp/im/prichat/imPrichatMessage/list`, { params: params }); }; //查询我的私聊组 export const listMyPrichatChannelGroups = params => { return axios.get(`${base}/mdp/im/prichat/imPrichatMessage/listMyPrichatChannelGroups`, { params: params }); }; -//模糊查询私聊消息 条件之间or关系 +//模糊查询私聊消息 条件之间or关系 //export const listImPrichatMessageKey = params => { return axios.get(`${base}/mdp/im/prichat/imPrichatMessage/listKey`, { params: params }); }; //删除一条私聊消息 params={id:'主键ID 主键'} @@ -30,4 +30,4 @@ export const batchDelImPrichatMessage = params => { return axios.post(`${base}/m export const editImPrichatMessage = params => { return axios.post(`${base}/mdp/im/prichat/imPrichatMessage/edit`, params); }; //新增一条私聊消息 -export const addImPrichatMessage = params => { return axios.post(`${base}/mdp/im/prichat/imPrichatMessage/add`, params); }; \ No newline at end of file +export const addImPrichatMessage = params => { return axios.post(`${base}/mdp/im/prichat/imPrichatMessage/add`, params); }; diff --git a/src/api/mdp/lcode/dev.js b/src/api/mdp/lcode/dev.js new file mode 100644 index 00000000..55d6a3cd --- /dev/null +++ b/src/api/mdp/lcode/dev.js @@ -0,0 +1,12 @@ +import axios from '@/utils/request' + + import config from '@/api/mdp_pub/mdp_config' + +let base = config.getLcodeContext(); + +//在线生成crud代码并下载 +export const crudCodeGen = params => { return axios.get(`${base}/mdp/dev/code/gen`, {params:params}); }; + + +//查询数据源列表 +export const dataSourceList = params => { return axios.get(`${base}/mdp/dev/db/dataSource/list`, {params:params}); }; \ No newline at end of file diff --git a/src/api/mdp/lcode/formData.js b/src/api/mdp/lcode/formData.js new file mode 100644 index 00000000..249313e0 --- /dev/null +++ b/src/api/mdp/lcode/formData.js @@ -0,0 +1,36 @@ +import axios from '@/utils/request' + + import config from '@/api/mdp_pub/mdp_config' + +let base = config.getLcodeContext(); + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * 表单数据表 + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'主键 主键',two:'属性二',three:'属性三',four:'属性四',five:'属性五',six:'属性六',seven:'属性七',eight:'属性八',nine:'属性九',ten:'属性十',lastTime:'最后更新日期',one:'属性一',zero:'属性零',remark:'备注',formId:'表单编号',userid:'最后更新人',eleven:'字段十一',twelve:'字段十二',thirteen:'字段十三',fourteen:'字段十四',fifteen:'字段十五',attachmentUrls:'附件url多个',attachmentNames:'附件名称多个',branchId:'机构编号',bizKey:'唯一确定该业务的主键竖线分隔多个,如果是联合组件的话',deptid:'创建部门',flowState:'0初始1审批中2结束审批',createTime:'创建时间',dqxCode:'数据权限码',cuserid:'创建人编号',tagIds:'标签编号列表逗号分割',tagNames:'标签名列表逗号分割',cusername:'创建人姓名',deptName:'创建部门'} + **/ + +//普通查询 条件之间and关系 +export const listFormData = params => { return axios.get(`${base}/mdp/lcode/formData/list`, { params: params }); }; + +//普通查询 条件之间and关系 +export const queryFormDataById = params => { return axios.get(`${base}/mdp/lcode/formData/queryById`, { params: params }); }; + +//删除一条表单数据表 params={id:'主键 主键'} +export const delFormData = params => { return axios.post(`${base}/mdp/lcode/formData/del`,params); }; + +//批量删除表单数据表 params=[{id:'主键 主键'}] +export const batchAddFormData = params => { return axios.post(`${base}/mdp/lcode/formData/batchAdd`, params); }; + +//批量删除表单数据表 params=[{id:'主键 主键'}] +export const batchDelFormData = params => { return axios.post(`${base}/mdp/lcode/formData/batchDel`, params); }; + +//修改一条表单数据表记录 +export const editFormData = params => { return axios.post(`${base}/mdp/lcode/formData/edit`, params); }; + +//新增一条表单数据表 +export const addFormData = params => { return axios.post(`${base}/mdp/lcode/formData/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsFormData = params => { return axios.post(`${base}/mdp/lcode/formData/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/lcode/formDataTag.js b/src/api/mdp/lcode/formDataTag.js new file mode 100644 index 00000000..d6950dfa --- /dev/null +++ b/src/api/mdp/lcode/formDataTag.js @@ -0,0 +1,33 @@ +import axios from '@/utils/request' + +import config from '@/api/mdp_pub/mdp_config' + +let base = config.getLcodeContext(); + + +/** + * form_data_tag + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={dataId:'表单数据编号 主键',tagId:'标签编号',tagName:'标签名字',id:'主键',createTime:'添加事件'} + **/ + +//普通查询 条件之间and关系 +export const listFormDataTag = params => { return axios.get(`${base}/mdp/lcode/formDataTag/list`, { params: params }); }; + +//模糊查询form_data_tag 条件之间or关系 +//export const listFormDataTagKey = params => { return axios.get(`${base}/mdp/lcode/formDataTag/listKey`, { params: params }); }; + +//删除一条form_data_tag params={dataId:'表单数据编号 主键'} +export const delFormDataTag = params => { return axios.post(`${base}/mdp/lcode/formDataTag/del`,params); }; + +//批量删除form_data_tag params=[{dataId:'表单数据编号 主键'}] +export const batchDelFormDataTag = params => { return axios.post(`${base}/mdp/lcode/formDataTag/batchDel`, params); }; + +//修改一条form_data_tag记录 +export const editFormDataTag = params => { return axios.post(`${base}/mdp/lcode/formDataTag/edit`, params); }; + +//新增一条form_data_tag +export const addFormDataTag = params => { return axios.post(`${base}/mdp/lcode/formDataTag/add`, params); }; + +// params=[{dataId:'',tags:[{tagId:'',tagName:''}]}] +export const batchInsertOrDeleteTags = params => { return axios.post(`${base}/mdp/lcode/formDataTag/batchInsertOrDeleteTags`, params); }; \ No newline at end of file diff --git a/src/api/mdp/lcode/formDef.js b/src/api/mdp/lcode/formDef.js new file mode 100644 index 00000000..4c67bb2d --- /dev/null +++ b/src/api/mdp/lcode/formDef.js @@ -0,0 +1,42 @@ +import axios from '@/utils/request' + + import config from '@/api/mdp_pub/mdp_config' + +let base = config.getLcodeContext(); + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * 表单定义 + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'主键 主键',tableName:'表名',tableOwner:'表名拥有者',isCreateTable:'是否已经创建库表',formName:'表单名称',userid:'创建人',deptid:'创建部门',formType:'表单类型',isTemplate:'是否为模板',bizType:'业务分类',ctime:'创建日期',branchId:'机构编号',categoryId:'分类编号',tagIds:'标签编号列表',tagNames:'标签名字列表',username:'创建人姓名',deptName:'创建部门',groupsJson:'表单元素分组',pks:'主键列表,逗号分割'} + **/ + +//普通查询 条件之间and关系 +export const listFormDef = params => { return axios.get(`${base}/mdp/lcode/formDef/list`, { params: params }); }; + +//普通查询 条件之间and关系 +export const queryFormDefById = params => { return axios.get(`${base}/mdp/lcode/formDef/queryById`, { params: params }); }; + +//删除一条表单定义 params={id:'主键 主键'} +export const delFormDef = params => { return axios.post(`${base}/mdp/lcode/formDef/del`,params); }; + +//批量删除表单定义 params=[{id:'主键 主键'}] +export const batchAddFormDef = params => { return axios.post(`${base}/mdp/lcode/formDef/batchAdd`, params); }; + +//批量删除表单定义 params=[{id:'主键 主键'}] +export const batchDelFormDef = params => { return axios.post(`${base}/mdp/lcode/formDef/batchDel`, params); }; + +//修改一条表单定义记录 +export const editFormDef = params => { return axios.post(`${base}/mdp/lcode/formDef/edit`, params); }; + +//新增一条表单定义 +export const addFormDef = params => { return axios.post(`${base}/mdp/lcode/formDef/add`, params); }; + +//新增一个及其属性多个 {formDef:{formName:'',formId:''},formFields:[{fieldId:'',fieldTitle:''},{fieldId:'',fieldTitle:''}]} +export const addFormDefAndFields = params => { return axios.post(`${base}/mdp/lcode/formDef/addFormDefAndFields`, params); }; + +//新增一个及其属性多个 {formDef:{formName:'',formId:''},formFields:[{fieldId:'',fieldTitle:''},{fieldId:'',fieldTitle:''}]} +export const editFormDefAndFields = params => { return axios.post(`${base}/mdp/lcode/formDef/editFormDefAndFields`, params); }; + +//批量修改某些字段 +export const editSomeFieldsFormDef= params => { return axios.post(`${base}/mdp/lcode/formDef/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/lcode/formDefTag.js b/src/api/mdp/lcode/formDefTag.js new file mode 100644 index 00000000..c1fc45fb --- /dev/null +++ b/src/api/mdp/lcode/formDefTag.js @@ -0,0 +1,34 @@ +import axios from '@/utils/request' + +import config from '@/api/mdp_pub/mdp_config' + +let base = config.getLcodeContext(); + + +/** + * form_def_tag + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={formId:'表单编号 主键',tagId:'标签编号',tagName:'标签名字',id:'主键',createTime:'添加事件'} + **/ + +//普通查询 条件之间and关系 +export const listFormDefTag = params => { return axios.get(`${base}/mdp/lcode/formDefTag/list`, { params: params }); }; + +//模糊查询form_def_tag 条件之间or关系 +//export const listFormDefTagKey = params => { return axios.get(`${base}/mdp/lcode/formDefTag/listKey`, { params: params }); }; + +//删除一条form_def_tag params={formId:'表单编号 主键'} +export const delFormDefTag = params => { return axios.post(`${base}/mdp/lcode/formDefTag/del`,params); }; + +//批量删除form_def_tag params=[{formId:'表单编号 主键'}] +export const batchDelFormDefTag = params => { return axios.post(`${base}/mdp/lcode/formDefTag/batchDel`, params); }; + +//修改一条form_def_tag记录 +export const editFormDefTag = params => { return axios.post(`${base}/mdp/lcode/formDefTag/edit`, params); }; + +//新增一条form_def_tag +export const addFormDefTag = params => { return axios.post(`${base}/mdp/lcode/formDefTag/add`, params); }; + + +// params=[{formId:'',tags:[{tagId:'',tagName:''}]}] +export const batchInsertOrDeleteTags = params => { return axios.post(`${base}/mdp/lcode/formDefTag/batchInsertOrDeleteTags`, params); }; \ No newline at end of file diff --git a/src/api/mdp/lcode/formField.js b/src/api/mdp/lcode/formField.js new file mode 100644 index 00000000..fb536309 --- /dev/null +++ b/src/api/mdp/lcode/formField.js @@ -0,0 +1,33 @@ +import axios from '@/utils/request' + +import config from '@/api/mdp_pub/mdp_config' + +let base = config.getLcodeContext(); + + +/** + * 表单字段定义 + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'主键 主键',formId:'表单编号',fieldId:'字段编号对应数据库',fieldTitle:'字段显示内容',secondCodeRow:'下拉时候关联的分组',fieldType:'字段类型',fieldLength:'字段长度',defaultValue:'默认值',isMultiple:'是否多选',placeholder:'输入框占位文本',isRequired:'是否必输',isFromBaseData:'是否关联基础数据',fieldIdCamel:'字段驼峰命名',remark:'字段备注',extFieldType:'扩展信息',isCloneToFlow:'是否提交到工作流',flowFieldId:'提交到工作流的变量编号',isBizKey:'是否是业务主键'} + **/ + +//普通查询 条件之间and关系 +export const listFormField = params => { return axios.get(`${base}/mdp/lcode/formField/list`, { params: params }); }; + +//查询数据库表的字段列表 +export const listTableColumn = params => { return axios.get(`${base}/mdp/dev/db/table/column/list`, { params: params }); }; + +//模糊查询表单字段定义 条件之间or关系 +//export const listFormFieldKey = params => { return axios.get(`${base}/mdp/lcode/formField/listKey`, { params: params }); }; + +//删除一条表单字段定义 params={id:'主键 主键'} +export const delFormField = params => { return axios.post(`${base}/mdp/lcode/formField/del`,params); }; + +//批量删除表单字段定义 params=[{id:'主键 主键'}] +export const batchDelFormField = params => { return axios.post(`${base}/mdp/lcode/formField/batchDel`, params); }; + +//修改一条表单字段定义记录 +export const editFormField = params => { return axios.post(`${base}/mdp/lcode/formField/edit`, params); }; + +//新增一条表单字段定义 +export const addFormField = params => { return axios.post(`${base}/mdp/lcode/formField/add`, params); }; \ No newline at end of file diff --git a/src/api/mdp/lcode/formQx.js b/src/api/mdp/lcode/formQx.js new file mode 100644 index 00000000..ea5f8d5e --- /dev/null +++ b/src/api/mdp/lcode/formQx.js @@ -0,0 +1,36 @@ +import axios from '@/utils/request' + + import config from '@/api/mdp_pub/mdp_config' + +let base = config.getLcodeContext(); + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * 表单权限 + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={formId:'表单编号 主键',qryRoleids:'允许那些角色查询,号分割',qryDeptids:'允许那些部门查询,号分割',qryUserids:'允许哪些人查询,号分割',nqRoleids:'禁止哪些角色查询',nqDeptids:'禁止哪些部门查询',nqUserids:'禁止哪些人查询',othQuery:'是否允许其它人查询',othEdit:'是否允许其它人修改',othDel:'是否允许其它人删除',lvlCheck:'是否进行部门级别传递权限检查',qryMinLvl:'最低级别查询权限',editRoleids:'允许那些角色更新,号分割',editDeptids:'允许那些部门更新,号分割',editUserids:'允许哪些人更新号分割',neRoleids:'禁止哪些角色更新',neDeptids:'禁止哪些部门更新',neUserids:'禁止哪些人更新',delRoleids:'允许那些角色删除,号分割',delDeptids:'允许那些部门删除,号分割',delUserids:'允许哪些人删除,号分割',ndRoleids:'禁止哪些角色删除',ndDeptids:'禁止哪些部门删除',ndUserids:'禁止哪些人查询',editMinLvl:'最低级别更新权限',delMinLvl:'最低级别删除权限'} + **/ + +//普通查询 条件之间and关系 +export const listFormQx = params => { return axios.get(`${base}/mdp/lcode/formQx/list`, { params: params }); }; + +//普通查询 条件之间and关系 +export const queryFormQxById = params => { return axios.get(`${base}/mdp/lcode/formQx/queryById`, { params: params }); }; + +//删除一条表单权限 params={formId:'表单编号 主键'} +export const delFormQx = params => { return axios.post(`${base}/mdp/lcode/formQx/del`,params); }; + +//批量删除表单权限 params=[{formId:'表单编号 主键'}] +export const batchAddFormQx = params => { return axios.post(`${base}/mdp/lcode/formQx/batchAdd`, params); }; + +//批量删除表单权限 params=[{formId:'表单编号 主键'}] +export const batchDelFormQx = params => { return axios.post(`${base}/mdp/lcode/formQx/batchDel`, params); }; + +//修改一条表单权限记录 +export const editFormQx = params => { return axios.post(`${base}/mdp/lcode/formQx/edit`, params); }; + +//新增一条表单权限 +export const addFormQx = params => { return axios.post(`${base}/mdp/lcode/formQx/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsFormQx = params => { return axios.post(`${base}/mdp/lcode/formQx/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/mallm/shop/shop.js b/src/api/mdp/mallm/shop/shop.js index d349e5d0..d3887810 100644 --- a/src/api/mdp/mallm/shop/shop.js +++ b/src/api/mdp/mallm/shop/shop.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base=config.getSysContext() //普通查询 条件之间and关系 export const createShopApi = params => { return axios.post(`${base}/mdp/mallm/shop/shop/createShop`, params); }; diff --git a/src/api/mdp/mallm/shop/shopLocation.js b/src/api/mdp/mallm/shop/shopLocation.js index 49980607..96f8b775 100644 --- a/src/api/mdp/mallm/shop/shopLocation.js +++ b/src/api/mdp/mallm/shop/shopLocation.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base=config.getSysContext() //普通查询 条件之间and关系 export const selectshopLocationBySysDeptIdApi = params => { return axios.post(`${base}/mdp/mallm/shop/shopLocation/selectshopLocationBySysDeptId`, params); }; diff --git a/src/api/mdp/menu/menuBranch.js b/src/api/mdp/menu/menuBranch.js index ad4d4d39..77a808ef 100644 --- a/src/api/mdp/menu/menuBranch.js +++ b/src/api/mdp/menu/menuBranch.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base=config.getSysContext() /** * 菜单分配到机构 diff --git a/src/api/mdp/menu/menuDef.js b/src/api/mdp/menu/menuDef.js index 1da12cce..21f21bc4 100644 --- a/src/api/mdp/menu/menuDef.js +++ b/src/api/mdp/menu/menuDef.js @@ -1,30 +1,30 @@ import axios from '@/utils/request' -import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 -import config from '@/common/config' + import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base = config.getSysContext() +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** * 前端功能菜单表 - *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - *2 查询、新增、修改的参数格式 params={id:'菜单编号 主键',pid:'上级菜单编号',accUrl:'访问路径',msort:'菜单顺序',category:'菜单大类',icon:'菜单图标',mname:'菜单名称',rpath:'路由PATH',rid:'路由编号',isShow:'是否显示',menuType:'菜单类型1菜单2按钮',operQxId:'绑定的操作权限编号'} + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'菜单编号 主键',pid:'上级菜单编号',accUrl:'访问路径',msort:'菜单顺序',mcate:'菜单大类-指向menu_module.mcate',icon:'菜单图标',mname:'菜单名称',rpath:'路由PATH',rid:'路由编号',isShow:'是否显示',menuType:'菜单类型1菜单2按钮',operQxId:'绑定的操作权限编号',supVers:'支持版本0-免费版可用,1-企业版。假如企业属于企业版,则可以适用免费版和企业版的功能。假如企业为免费版,则只可以使用免费版功能',moduleId:'模块编号-指向menu_module.id',arole:'是否所有角色可用,0-否,1-不区分角色均可以用',qxType:'一般按钮才需要区分权限类型c-新增,r-读,u-更新,d-删除',apiRules:'对应后台的url地址,支持ant表达式匹配,用于后台接口调用时权限控制,多个逗号分隔,多个为or关系'} **/ //普通查询 条件之间and关系 export const listMenuDef = params => { return axios.get(`${base}/mdp/menu/menuDef/list`, { params: params }); }; -export const listMenuTree = params => { return axios.get(`${base}/mdp/menu/menuDef/list/tree`, { params: params }); }; -//模糊查询前端功能菜单表 条件之间or关系 -//export const listMenuDefKey = params => { return axios.get(`${base}/mdp/menu/menuDef/listKey`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryMenuDefById = params => { return axios.get(`${base}/mdp/menu/menuDef/queryById`, { params: params }); }; //删除一条前端功能菜单表 params={id:'菜单编号 主键'} export const delMenuDef = params => { return axios.post(`${base}/mdp/menu/menuDef/del`,params); }; //批量删除前端功能菜单表 params=[{id:'菜单编号 主键'}] -export const batchDelMenuDef = params => { return axios.post(`${base}/mdp/menu/menuDef/batchDel`, params); }; +export const batchAddMenuDef = params => { return axios.post(`${base}/mdp/menu/menuDef/batchAdd`, params); }; -export const batchInsertMenuDef = params => { return axios.post(`${base}/mdp/menu/menuDef/batchInsert`, params); }; +//批量删除前端功能菜单表 params=[{id:'菜单编号 主键'}] +export const batchDelMenuDef = params => { return axios.post(`${base}/mdp/menu/menuDef/batchDel`, params); }; //修改一条前端功能菜单表记录 export const editMenuDef = params => { return axios.post(`${base}/mdp/menu/menuDef/edit`, params); }; @@ -32,18 +32,10 @@ export const editMenuDef = params => { return axios.post(`${base}/mdp/menu/menuD //新增一条前端功能菜单表 export const addMenuDef = params => { return axios.post(`${base}/mdp/menu/menuDef/add`, params); }; +//批量修改某些字段 +export const editSomeFieldsMenuDef = params => { return axios.post(`${base}/mdp/menu/menuDef/editSomeFields`, params); }; //批量保存按钮 export const batchSaveMenuButton = params => { return axios.post(`${base}/mdp/menu/menuDef/batchSaveButton`, params); }; -/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ -//初始化页面上的字典 -export const initDicts = (that) => { - var itemCodes=['menuSupVers'];//在此添加要加载的字典 如['sex','grade','lvl'] - that.dicts['status']=[{id:'0',name:'停用'},{id:'1',name:'启用'}] - if(itemCodes.length>0){ - initSimpleDicts('all',itemCodes).then(res=>{ - Object.assign(that.dicts,res.data.data) - }); - } - }; +export const listMenuTree = params => { return axios.get(`${base}/mdp/menu/menuDef/list/tree`, { params: params }); }; \ No newline at end of file diff --git a/src/api/mdp/menu/menuFavorite.js b/src/api/mdp/menu/menuFavorite.js index 46feaee3..5824a65b 100644 --- a/src/api/mdp/menu/menuFavorite.js +++ b/src/api/mdp/menu/menuFavorite.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() /** diff --git a/src/api/mdp/menu/menuModule.js b/src/api/mdp/menu/menuModule.js index 3b36b278..7b2c3b2f 100644 --- a/src/api/mdp/menu/menuModule.js +++ b/src/api/mdp/menu/menuModule.js @@ -1,23 +1,28 @@ import axios from '@/utils/request' -import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 -import config from '@/common/config' + import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() /**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** * 模块定义表-用于进行机构级别的权限控制,机构如果购买了模块,则能够进行访问 *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - *2 查询、新增、修改的参数格式 params={id:'编号 主键',name:'模块名称',fee:'模块费用',billMode:'计费模式:0-不计费,1-按购买人数计费,2-总包费用,3-按实际使用人数每月计费',uniFee:'人均费用',discount:'折扣比率,可折上折,叠加折扣。-按最大人数、按月数优惠',url:'匹配的url,如果匹配得到,则计费,以逗号分割多个',ignoreUrl:'匹配这个地址的不计费',bizFlowState:'审核状态',procInstId:'审核流程实例编号',status:'0-下架,1-上架。开放后才可以购买使用',mcate:'分类1-协同、2-研发、3-电商',logoUrl:'logo地址',feeDesc:'费用解释',udisRate:'人数折算比例。购买总人数*折扣率为当前模块购买人数',udis:'是否折算人数0否1是',saleDesc:'营销文案',ucheck:'是否控制总人数0-否1是',crow:'是否为众包'} + *2 查询、新增、修改的参数格式 params={id:'编号 主键',name:'模块名称',fee:'模块费用',billMode:'计费模式:0-不计费,1-按购买人数计费,2-总包费用,3-按实际使用人数每月计费',uniFee:'人均费用,单位人天',discount:'折扣比率,可折上折,叠加折扣。-按最大人数、按天数优惠',url:'匹配的url,如果匹配得到,则计费,以逗号分割多个',ignoreUrl:'匹配这个地址的不计费',bizFlowState:'审核状态',procInstId:'审核流程实例编号',status:'0-下架,1-上架。开放后才可以购买使用',mcate:'分类1-协同、2-研发、3-电商',logoUrl:'logo地址',feeDesc:'费用解释',udisRate:'人数折算比例。企业总人数*折扣率为当前模块购买人数',udis:'是否折算人数0否1是,按企业总人数*人数折算比例计算',saleDesc:'营销文案',ucheck:'是否控制总人数0-否1是',crowd:'是否为众包',seq:'序号0-1000,默认999'} **/ //普通查询 条件之间and关系 export const listMenuModule = params => { return axios.get(`${base}/mdp/menu/menuModule/list`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryMenuModuleById = params => { return axios.get(`${base}/mdp/menu/menuModule/queryById`, { params: params }); }; + //删除一条模块定义表-用于进行机构级别的权限控制,机构如果购买了模块,则能够进行访问 params={id:'编号 主键'} export const delMenuModule = params => { return axios.post(`${base}/mdp/menu/menuModule/del`,params); }; +//批量删除模块定义表-用于进行机构级别的权限控制,机构如果购买了模块,则能够进行访问 params=[{id:'编号 主键'}] +export const batchAddMenuModule = params => { return axios.post(`${base}/mdp/menu/menuModule/batchAdd`, params); }; + //批量删除模块定义表-用于进行机构级别的权限控制,机构如果购买了模块,则能够进行访问 params=[{id:'编号 主键'}] export const batchDelMenuModule = params => { return axios.post(`${base}/mdp/menu/menuModule/batchDel`, params); }; @@ -28,17 +33,4 @@ export const editMenuModule = params => { return axios.post(`${base}/mdp/menu/me export const addMenuModule = params => { return axios.post(`${base}/mdp/menu/menuModule/add`, params); }; //批量修改某些字段 -export const editSomeFieldsMenuModule = params => { return axios.post(`${base}/mdp/menu/menuModule/editSomeFields`, params); }; - - - -/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ -//初始化页面上的字典 -export const initDicts = (that) => { - var itemCodes=['moduleBillMode','bizFlowState','mcate'];//在此添加要加载的字典 如['sex','grade','lvl'] - if(itemCodes.length>0){ - initSimpleDicts('all',itemCodes).then(res=>{ - Object.assign(that.dicts,res.data.data) - }); - } -}; \ No newline at end of file +export const editSomeFieldsMenuModule = params => { return axios.post(`${base}/mdp/menu/menuModule/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/menu/menuModuleBranch.js b/src/api/mdp/menu/menuModuleBranch.js index 5ae8dac4..0743780b 100644 --- a/src/api/mdp/menu/menuModuleBranch.js +++ b/src/api/mdp/menu/menuModuleBranch.js @@ -1,23 +1,28 @@ import axios from '@/utils/request' -import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 -import config from '@/common/config' + import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() /**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** * 机构开通模块对应关系表 *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - *2 查询、新增、修改的参数格式 params={branchId:'机构编号 主键',moduleId:'模块编号 主键',startTime:'启用日期',endTime:'结束日期',ctime:'创建日期',ltime:'更新日期',cuserid:'创建人编号',cusername:'创建人姓名',luserid:'修改人编号',lusername:'修改人姓名',status:'状态0停用1启用',musers:'购买用户数',mbidNum:'可投标次数-每月恢复为套餐数量,包含公司账户次数+个人以组织名义接单的次数,以上每接一单扣减此处',sfeeRate:'服务费率,15=15%',ver:'购买版本',feeDate:'开始计费日期'} + *2 查询、新增、修改的参数格式 params={branchId:'机构编号 主键',moduleId:'模块编号 主键',moduleName:'模块名称',startTime:'启用日期',endTime:'结束日期',ctime:'创建日期',ltime:'更新日期',cuserid:'创建人编号',cusername:'创建人姓名',luserid:'修改人编号',lusername:'修改人姓名',status:'状态0停用1启用2待续费',musers:'购买用户数',mbidNum:'可投标次数-每月恢复为套餐数量,包含公司账户次数+个人以组织名义接单的次数,以上每接一单扣减此处',sfeeRate:'服务费率,15=15%',ver:'购买版本0-免费版,1-企业版',feeDate:'开始计费日期',crowd:'是否为众包',ousers:'企业总人数',udisRate:'人数折算比例。企业总人数*折扣率为当前模块购买人数',udis:'是否折算人数0否1是,按企业总人数*人数折算比例计算',mcate:'分类1-协同、2-研发、3-电商'} **/ //普通查询 条件之间and关系 export const listMenuModuleBranch = params => { return axios.get(`${base}/mdp/menu/menuModuleBranch/list`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryMenuModuleBranchById = params => { return axios.get(`${base}/mdp/menu/menuModuleBranch/queryById`, { params: params }); }; + //删除一条机构开通模块对应关系表 params={branchId:'机构编号 主键',moduleId:'模块编号 主键'} export const delMenuModuleBranch = params => { return axios.post(`${base}/mdp/menu/menuModuleBranch/del`,params); }; +//批量删除机构开通模块对应关系表 params=[{branchId:'机构编号 主键',moduleId:'模块编号 主键'}] +export const batchAddMenuModuleBranch = params => { return axios.post(`${base}/mdp/menu/menuModuleBranch/batchAdd`, params); }; + //批量删除机构开通模块对应关系表 params=[{branchId:'机构编号 主键',moduleId:'模块编号 主键'}] export const batchDelMenuModuleBranch = params => { return axios.post(`${base}/mdp/menu/menuModuleBranch/batchDel`, params); }; @@ -33,16 +38,3 @@ export const editSomeFieldsMenuModuleBranch = params => { return axios.post(`${b //统计登录机构的产品购买情况 export const calcBranchModule = params => { return axios.get(`${base}//mdp/menu/menuModuleBranch/calcBranchModule`, { params: params }); }; - - -/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ -//初始化页面上的字典 -export const initDicts = (that) => { - var itemCodes=[];//在此添加要加载的字典 如['sex','grade','lvl'] - that.dicts['status']=[{id:'0',name:'停用'},{id:'1',name:'启用'}] - if(itemCodes.length>0){ - initSimpleDicts('all',itemCodes).then(res=>{ - Object.assign(that.dicts,res.data.data) - }); - } -}; \ No newline at end of file diff --git a/src/api/mdp/menu/menuRole.js b/src/api/mdp/menu/menuRole.js index 5e94e650..9ad54776 100644 --- a/src/api/mdp/menu/menuRole.js +++ b/src/api/mdp/menu/menuRole.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base=config.getSysContext() /** * 菜单角色分配 diff --git a/src/api/mdp/meta/category.js b/src/api/mdp/meta/category.js index 5f0b265e..377ee671 100644 --- a/src/api/mdp/meta/category.js +++ b/src/api/mdp/meta/category.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base=config.getSysContext() /** * 元数据分类 diff --git a/src/api/mdp/meta/item.js b/src/api/mdp/meta/item.js index a3cde92f..12e998eb 100644 --- a/src/api/mdp/meta/item.js +++ b/src/api/mdp/meta/item.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() /** @@ -22,7 +22,8 @@ export const getDicts = params => { return axios.get(`${base}/mdp/meta/item/dict grade:[{id:'1',name:'等级1'},{id:'2',name:'等级2'}] } **/ -export const initSimpleDicts=function(categoryId,itemCodes){ +export const initSimpleDicts=function(categoryId,itemCodes){ + if(!categoryId){ categoryId="all" } @@ -60,39 +61,21 @@ export const initSimpleDicts=function(categoryId,itemCodes){ var data=res.data.data var dicts=localDicts; data.forEach(dict=>{ - if(dict.optionList){ - dict.options=JSON.parse(dict.optionList) + if(dict.options){ dict.options.forEach(k=>{ var cellValue=k.id - var classNames=['info','primary','success','warning','danger']; var colors=['#909399','#409EFF','#67C23A','#E6A23C','#F56C6C','#00ced1','#c71585','#ff8c00','#c7158577','#ffd700']; var cellValueInt=parseInt(cellValue) - if( isNaN(cellValueInt) ){ - if(cellValue instanceof String && cellValue.length>0){ - cellValueInt=cellValue.chartCodeAt(cellValue.length-1) - }else if(cellValue instanceof Object){ - if(cellValue['userid']){ - cellValueInt=cellValue['userid'].chartCodeAt(cellValue['userid'].length-1) - }else{ - cellValueInt=0; - } - - }else{ - cellValueInt=0; - } + if( isNaN(cellValueInt) ){ + cellValueInt=cellValue.charCodeAt(cellValue.length-1) } var colorIndex=cellValueInt % 10 if(cellValueInt > 0 && colorIndex==0){ colorIndex=1 } - var typeIndex=cellValueInt % 5 - if(cellValueInt > 0 && typeIndex==0){ - typeIndex=1 - } if(!k.color){ k.color=colors[colorIndex] } - k.className=classNames[typeIndex] }) }else{ dict.options=[] @@ -129,8 +112,8 @@ export const initComplexDicts=function(categoryId,itemCodes){ var data=res.data.data var dicts={}; data.forEach(dict=>{ - if(dict.optionList){ - dict.options=JSON.parse(dict.optionList) + if(dict.options){ + }else{ dict.options=[] } diff --git a/src/api/mdp/meta/itemOption.js b/src/api/mdp/meta/itemOption.js index 3bd6a82a..96252e1e 100644 --- a/src/api/mdp/meta/itemOption.js +++ b/src/api/mdp/meta/itemOption.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base=config.getSysContext() /** * 数据项取值列表 @@ -33,6 +33,12 @@ export const editItemOption = params => { return axios.post(`${base}/mdp/meta/it //新增一条数据项取值列表 export const addItemOption = params => { return axios.post(`${base}/mdp/meta/itemOption/add`, params); }; +//普通查询 条件之间and关系 +export const queryItemOptionById = params => { return axios.get(`${base}/mdp/meta/itemOption/queryById`, { params: params }); }; + +//批量修改某些字段 +export const editSomeFieldsItemOption = params => { return axios.post(`${base}/mdp/meta/itemOption/editSomeFields`, params); }; + //刷新缓存 export const refresh = params => { return axios.post(`${base}/mdp/meta/itemOption/refresh`, params); }; diff --git a/src/api/mdp/meta/pushLink.js b/src/api/mdp/meta/pushLink.js index 0efeaaf5..aa169de2 100644 --- a/src/api/mdp/meta/pushLink.js +++ b/src/api/mdp/meta/pushLink.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() /** diff --git a/src/api/mdp/mo/moOrder.js b/src/api/mdp/mo/moOrder.js index beb5c376..f78541c1 100644 --- a/src/api/mdp/mo/moOrder.js +++ b/src/api/mdp/mo/moOrder.js @@ -1,23 +1,28 @@ import axios from '@/utils/request' -import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 -import config from '@/common/config' + import config from '@/api/mdp_pub/mdp_config' -let base = config.getMoBasePath(); +let base = config.getMoContext(); /**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** * mo_order *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - *2 查询、新增、修改的参数格式 params={id:'订单编号 主键',name:'订单名称',obranchId:'下单机构号码',ouserid:'下单用户编号',ousername:'下单用户名称',moFinalFee:'模块合计总金额=模块中的final_fee合计',status:'订单状态0-初始,1-待确认,2-待付款,3-已付款,4-已完成,5-已取消-未付款前可取消,取消后可删除,6-退单-退单后变为已取消,8已关闭-售后完成后可以关闭订单',sstatus:'结算状态0-待结算,1-已结算',ctime:'创建时间',payTime:'付款时间',payCtime:'付款确认时间',moOrginFee:'折扣前总价=模块中orgin_fee合计',ousers:'购买人数',ocates:'购买分类数',omodules:'购买模块数',poid:'上级订单-如果是续费订单,记录原订单号',startTime:'启用日期',endTime:'结束日期',payType:'支付方式1-微信,2-支付宝,3-线下支付',payId:'付款流水号',prepayId:'付款订单号(第三方返回)',topenId:'第三方账号编号',pbankId:'收款银行编号(支付方式为3时必填)',pbankName:'收款银行名称(支付方式为3时必填)',pbankCardNo:'收款银行卡号(支付方式为3时必填)',pbankUsername:'收款账户姓名(支付方式为3时必填)',remark:'备注',finishTime:'完成时间',closeTime:'关闭时间',setTime:'结算时间',odays:'购买天数',ofinalFee:'最终订单价格、最终付款金额=mo_final_fee+oth_fee',odisRate:'订单折扣率(下单后后台根据不同客户进行折扣调整)=将在模块表中执行折扣操作,再从新合计价格',othFee:'其它费用',otype:'订单类型0-电商商城商品,1-应用模块使用购买,2-vip购买会员',osource:'订单来源1-前端客户下单,2-后台待客下单',memType:'客户类型-参考sys_user表mem_type',atype:'账户类型-根据sys_user表atype',saleUserid:'销售经理编号',saleUsername:'销售经理名称',custPhone:'客户联系电话',custAddress:'客户联系地址',payAt:'最终付款金额-客户付款后回填',obranchName:'下单机构名称',ooper:'订单操作类型1-新购,2-续费,3-新增人数'} + *2 查询、新增、修改的参数格式 params={id:'订单编号 主键',name:'订单名称',obranchId:'下单机构号码',ouserid:'下单用户编号',ousername:'下单用户名称',moFinalFee:'模块合计总金额=模块中的final_fee合计',status:'订单状态0-初始,1-待确认,2-待付款,3-已付款,4-已完成,5-已取消-未付款前可取消,取消后可删除,6-退单-退单后变为已取消,8已关闭-售后完成后可以关闭订单',sstatus:'结算状态0-待结算,1-已结算',ctime:'创建时间',payTime:'付款时间',payCtime:'付款确认时间',moOrginFee:'折扣前总价=模块中orgin_fee合计',ousers:'购买人数',ocates:'购买分类数',omodules:'购买模块数',poid:'上级订单-如果是续费订单,记录原订单号',startTime:'启用日期',endTime:'结束日期',payType:'支付方式1-微信,2-支付宝,3-线下支付',payId:'付款流水号(内部生成,传给第三方原样传回,如果不正确,不允许更新数据库,防止作弊)',prepayId:'预下单付款订单号(第三方返回)',topenId:'第三方账号编号',pbankId:'收款银行编号(支付方式为3时必填)',pbankName:'收款银行名称(支付方式为3时必填)',pbankCardNo:'收款银行卡号(支付方式为3时必填)',pbankUsername:'收款账户姓名(支付方式为3时必填)',remark:'备注',finishTime:'完成时间',closeTime:'关闭时间',setTime:'结算时间',odays:'购买天数',ofinalFee:'最终订单价格、最终付款金额=mo_final_fee+oth_fee',odisRate:'订单折扣率(下单后后台根据不同客户进行折扣调整)=将在模块表中执行折扣操作,再从新合计价格',othFee:'其它费用',otype:'订单类型0-电商商城商品,1-应用模块使用购买,2-vip购买会员,3-购买服务保障',osource:'订单来源1-前端客户下单,2-后台待客下单',memType:'客户类型-参考sys_user表mem_type',atype:'账户类型-根据sys_user表atype',saleUserid:'销售经理编号',saleUsername:'销售经理名称',custPhone:'客户联系电话',custAddress:'客户联系地址',payAt:'最终付款金额-客户付款后回填',obranchName:'下单机构名称',ooper:'订单操作类型1-新购,2-续费,3-新增人数',tranId:'第三方付款事务号',invoice:'是否已开票',invoiceTime:'开票时间',invoiceId:'发票编号'} **/ //普通查询 条件之间and关系 export const listMoOrder = params => { return axios.get(`${base}/mdp/mo/moOrder/list`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryMoOrderById = params => { return axios.get(`${base}/mdp/mo/moOrder/queryById`, { params: params }); }; + //删除一条mo_order params={id:'订单编号 主键'} export const delMoOrder = params => { return axios.post(`${base}/mdp/mo/moOrder/del`,params); }; +//批量删除mo_order params=[{id:'订单编号 主键'}] +export const batchAddMoOrder = params => { return axios.post(`${base}/mdp/mo/moOrder/batchAdd`, params); }; + //批量删除mo_order params=[{id:'订单编号 主键'}] export const batchDelMoOrder = params => { return axios.post(`${base}/mdp/mo/moOrder/batchDel`, params); }; @@ -28,18 +33,4 @@ export const editMoOrder = params => { return axios.post(`${base}/mdp/mo/moOrder export const addMoOrder = params => { return axios.post(`${base}/mdp/mo/moOrder/add`, params); }; //批量修改某些字段 -export const editSomeFieldsMoOrder = params => { return axios.post(`${base}/mdp/mo/moOrder/editSomeFields`, params); }; - - - -/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ -//初始化页面上的字典 -export const initDicts = (that) => { - var itemCodes=['mo_order_status','tpAppPayType','mo_ooper','moduleBillMode'];//在此添加要加载的字典 如['sex','grade','lvl'] - that.dicts.osource=[{id:'1',name:'前端客户下单'},{id:'2',name:'后台待客下单'}]//1-前端客户下单,2-后台待客下单 - if(itemCodes.length>0){ - initSimpleDicts('all',itemCodes).then(res=>{ - Object.assign(that.dicts,res.data.data) - }); - } -}; \ No newline at end of file +export const editSomeFieldsMoOrder = params => { return axios.post(`${base}/mdp/mo/moOrder/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/mo/moOrderModule.js b/src/api/mdp/mo/moOrderModule.js index 5e001363..a633e665 100644 --- a/src/api/mdp/mo/moOrderModule.js +++ b/src/api/mdp/mo/moOrderModule.js @@ -1,9 +1,8 @@ import axios from '@/utils/request' -import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 -import config from '@/common/config' + import config from '@/api/mdp_pub/mdp_config' -let base = config.getMoBasePath(); +let base = config.getMoContext(); /**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** @@ -15,9 +14,15 @@ let base = config.getMoBasePath(); //普通查询 条件之间and关系 export const listMoOrderModule = params => { return axios.get(`${base}/mdp/mo/moOrderModule/list`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryMoOrderModuleById = params => { return axios.get(`${base}/mdp/mo/moOrderModule/queryById`, { params: params }); }; + //删除一条订单与模块关系表 params={orderId:'订单编号 主键',moduleId:'模块编号 主键'} export const delMoOrderModule = params => { return axios.post(`${base}/mdp/mo/moOrderModule/del`,params); }; +//批量删除订单与模块关系表 params=[{orderId:'订单编号 主键',moduleId:'模块编号 主键'}] +export const batchAddMoOrderModule = params => { return axios.post(`${base}/mdp/mo/moOrderModule/batchAdd`, params); }; + //批量删除订单与模块关系表 params=[{orderId:'订单编号 主键',moduleId:'模块编号 主键'}] export const batchDelMoOrderModule = params => { return axios.post(`${base}/mdp/mo/moOrderModule/batchDel`, params); }; @@ -28,17 +33,4 @@ export const editMoOrderModule = params => { return axios.post(`${base}/mdp/mo/m export const addMoOrderModule = params => { return axios.post(`${base}/mdp/mo/moOrderModule/add`, params); }; //批量修改某些字段 -export const editSomeFieldsMoOrderModule = params => { return axios.post(`${base}/mdp/mo/moOrderModule/editSomeFields`, params); }; - - - -/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ -//初始化页面上的字典 -export const initDicts = (that) => { - var itemCodes=['moduleBillMode'];//在此添加要加载的字典 如['sex','grade','lvl'] - if(itemCodes.length>0){ - initSimpleDicts('all',itemCodes).then(res=>{ - Object.assign(that.dicts,res.data.data) - }); - } -}; \ No newline at end of file +export const editSomeFieldsMoOrderModule = params => { return axios.post(`${base}/mdp/mo/moOrderModule/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/pay/pay.js b/src/api/mdp/pay/pay.js index 7add026d..94cf3477 100644 --- a/src/api/mdp/pay/pay.js +++ b/src/api/mdp/pay/pay.js @@ -1,6 +1,6 @@ import axios from '@/utils/request' -import config from '@/common/config' -let base = config.getPayBasePath(); +import config from '@/api/mdp_pub/mdp_config' +let base = config.getPayContext(); export const aliPay = params => { return axios.post(`${base}/alipay/uniOrder`, params) } export const weixinPay = params => { return axios.post(`${base}/wxpay/uniOrder/native`, params) } diff --git a/src/api/mdp/plat/bankAccount.js b/src/api/mdp/plat/bankAccount.js index 90d5d8b8..88de8533 100644 --- a/src/api/mdp/plat/bankAccount.js +++ b/src/api/mdp/plat/bankAccount.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() /** diff --git a/src/api/mdp/plat/platform.js b/src/api/mdp/plat/platform.js index 1861dd60..dc4f6ff7 100644 --- a/src/api/mdp/plat/platform.js +++ b/src/api/mdp/plat/platform.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() /** diff --git a/src/api/mdp/sms/smsSign.js b/src/api/mdp/sms/smsSign.js index 9691f8b3..e7738765 100644 --- a/src/api/mdp/sms/smsSign.js +++ b/src/api/mdp/sms/smsSign.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSmsBasePath(); +let base = config.getSmsContext(); /** diff --git a/src/api/mdp/sms/smsTemplate.js b/src/api/mdp/sms/smsTemplate.js index 380a603c..ec214947 100644 --- a/src/api/mdp/sms/smsTemplate.js +++ b/src/api/mdp/sms/smsTemplate.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSmsBasePath(); +let base = config.getSmsContext(); /** diff --git a/src/api/mdp/sys/branch.js b/src/api/mdp/sys/branch.js index f52f56bc..197b8a57 100644 --- a/src/api/mdp/sys/branch.js +++ b/src/api/mdp/sys/branch.js @@ -1,23 +1,28 @@ import axios from '@/utils/request' -import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 -import config from '@/common/config' + import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() /**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** * 管理端机构表(机构下面若干部门) *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - *2 查询、新增、修改的参数格式 params={id:'机构编号 主键',branchName:'机构名称',enabled:'是否可用',industryCategory:'行业分类',cuserid:'创建人编号-可以转让,创建人与机构管理员有同样的权限',cdate:'创建日期',cusername:'创建人姓名-可以转让',lphoneNo:'联系电话',emaill:'邮件',bizProcInstId:'当前流程实例编号',bizFlowState:'当前流程状态',pbranchId:'上级机构',admUserid:'管理员编号(==机构编号,不允许修改,即机构主账户)',admUsername:'管理员名称(==机构名称+'管理员',不允许修改)',lusername:'联系人姓名',luserid:'联系人编号',address:'公司地址'} + *2 查询、新增、修改的参数格式 params={id:'机构编号 主键',branchName:'机构名称',enabled:'是否可用',industryCategory:'行业分类',cuserid:'创建人编号-可以转让,创建人与机构管理员有同样的权限',cdate:'创建日期',cusername:'创建人姓名-可以转让',lphoneNo:'联系电话',emaill:'邮件',bizProcInstId:'当前流程实例编号',bizFlowState:'当前流程状态',pbranchId:'上级机构',admUserid:'管理员编号(==机构编号,不允许修改,即机构主账户)',admUsername:'管理员名称(==机构名称+'管理员',不允许修改)',lusername:'联系人姓名',luserid:'联系人编号',address:'公司地址',btype:'机构类别0-个人虚拟机构,1-实体机构,个人虚拟机构的话sys_branch表没有真正的机构数据',imgUrl:'企业头像',bcode:'税号-统一信用识别号',blicense:'营业执照图片',legalPerson:'法人名称',regCapital:'注册资本',remark:'企业简介',validLvls:'人工验证结果,当审核状态为2时,同步到sys_user表同一个字段,或者sys_branch同一个字段'} **/ //普通查询 条件之间and关系 export const listBranch = params => { return axios.get(`${base}/mdp/sys/branch/list`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryBranchById = params => { return axios.get(`${base}/mdp/sys/branch/queryById`, { params: params }); }; + //删除一条管理端机构表(机构下面若干部门) params={id:'机构编号 主键'} export const delBranch = params => { return axios.post(`${base}/mdp/sys/branch/del`,params); }; +//批量删除管理端机构表(机构下面若干部门) params=[{id:'机构编号 主键'}] +export const batchAddBranch = params => { return axios.post(`${base}/mdp/sys/branch/batchAdd`, params); }; + //批量删除管理端机构表(机构下面若干部门) params=[{id:'机构编号 主键'}] export const batchDelBranch = params => { return axios.post(`${base}/mdp/sys/branch/batchDel`, params); }; @@ -32,19 +37,6 @@ export const editSomeFieldsBranch = params => { return axios.post(`${base}/mdp/s -/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ -//初始化页面上的字典 -export const initDicts = (that) => { - var itemCodes=['industryCategory'];//在此添加要加载的字典 如['sex','grade','lvl'] - that.dicts['enabled']=[{id:"0",name:'停用'},{id:"1",name:'启用'}]; - if(itemCodes.length>0){ - initSimpleDicts('all',itemCodes).then(res=>{ - Object.assign(that.dicts,res.data.data) - }); - } -}; - - export const initUserCountPieChart=(that)=>{ var chartDom = document.getElementById('userCountPieChart'); var myChart = that.$echarts.init(chartDom); diff --git a/src/api/mdp/sys/branchConfig.js b/src/api/mdp/sys/branchConfig.js index 8b54e98c..27f1806f 100644 --- a/src/api/mdp/sys/branchConfig.js +++ b/src/api/mdp/sys/branchConfig.js @@ -1,9 +1,9 @@ import axios from '@/utils/request' import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() /**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** @@ -29,16 +29,3 @@ export const addBranchConfig = params => { return axios.post(`${base}/mdp/sys/br //批量修改某些字段 export const editSomeFieldsBranchConfig = params => { return axios.post(`${base}/mdp/sys/branchConfig/editSomeFields`, params); }; - - - -/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ -//初始化页面上的字典 -export const initDicts = (that) => { - var itemCodes=[];//在此添加要加载的字典 如['sex','grade','lvl'] - if(itemCodes.length>0){ - initSimpleDicts('all',itemCodes).then(res=>{ - Object.assign(that.dicts,res.data.data) - }); - } -}; \ No newline at end of file diff --git a/src/api/mdp/sys/branchInterests.js b/src/api/mdp/sys/branchInterests.js index 899c46fd..53b9f3b4 100644 --- a/src/api/mdp/sys/branchInterests.js +++ b/src/api/mdp/sys/branchInterests.js @@ -1,23 +1,20 @@ import axios from '@/utils/request' import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() /**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** * 机构权益关联表 *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - *2 查询、新增、修改的参数格式 params={branchId:'公司ID 主键',ilvlId:'等级ID',ilvlName:'等级名称',idesc:'等级描述',ilevel:'1-粉丝,2-',discount:'权益,折扣',istatus:'等级状态',ctime:'创建时间',ltime:'更新时间',picUrl:'等级图标url',isFree:'是否付费获取权益',rtimeRule:'续会时间叠加规则:1.有效期日期后叠加续会时间',rtimeType:'续会时间类型:1.天数',rtime:'下次续会时间yyyy-MM-dd型',itype:'权益分类',shopId:'商户编号',instId:'当前流程实例编号',flowState:'当前流程状态,0初始1审批中2审批通过3审批不通过4流程取消或者删除',smaxAt:'单个任务最大金额(任务型用户才有)0代表不限制',totalAt:'累计接单金额(任务型用户才有)0代表不限制',mtype:'适用会员类型(2商户型、1普通型、3任务型)',totalExp:'累计经验值0代表不限制',smaxExp:'单个任务最大经验值0代表不限制',bids:'投标次数上限',sfeeRate:'服务费率0-100之间',idBak:'覆盖上一条的等级编号,即变成当前等级之前的等级编号',currTotalExp:'累计完成工作量',currBids:'当前月份投标次数(每月最后一天清零)',currTotalAt:'当前累计完成金额',currTotalBids:'累计投标总数',mfee:'月均费用',maxUsers:'最大人员数',currUsers:'当前人员数',maxRtime:'产品模块下次续费截止时间yyyy-MM-dd类型',mver:'产品版本0个人版1企业版'} + *2 查询、新增、修改的参数格式 params={branchId:'公司ID 主键',ilvlId:'等级ID',ilvlName:'等级名称',idesc:'等级描述',ilevel:'1-粉丝,2-',discount:'权益,折扣',istatus:'等级状态',ctime:'创建时间',ltime:'更新时间',picUrl:'等级图标url',isFree:'是否付费获取权益',rtimeRule:'续会时间叠加规则:1.有效期日期后叠加续会时间',rtimeType:'续会时间类型:1.天数',rtime:'下次续会时间yyyy-MM-dd型',itype:'权益分类',shopId:'商户编号',instId:'当前流程实例编号',flowState:'当前流程状态,0初始1审批中2审批通过3审批不通过4流程取消或者删除',smaxAt:'单个任务最大金额(任务型用户才有)0代表不限制',totalAt:'累计接单金额(任务型用户才有)0代表不限制',mtype:'适用会员类型(2商户型、1普通型、3任务型)',totalExp:'累计经验值0代表不限制',smaxExp:'单个任务最大经验值0代表不限制',bids:'投标次数上限',sfeeRate:'服务费率0-100之间',idBak:'覆盖上一条的等级编号,即变成当前等级之前的等级编号',currTotalExp:'累计完成工作量',currBids:'当前月份投标次数(每月最后一天清零)',currTotalAt:'当前累计完成金额',currTotalBids:'累计投标总数',mfee:'月均费用',maxUsers:'最大人员数',currUsers:'当前人员数',maxRtime:'产品模块下次续费截止时间yyyy-MM-dd类型',mver:'产品版本0免费版1企业版',supRequires:'保障要求编号列表,多个逗号分割',srvTimes:'累计服务次数'} **/ //普通查询 条件之间and关系 export const listBranchInterests = params => { return axios.get(`${base}/mdp/sys/branchInterests/list`, { params: params }); }; - -export const getBranchInterestsDetail = params => { return axios.get(`${base}/mdp/sys/branchInterests/detail`, { params: params }); }; - //删除一条机构权益关联表 params={branchId:'公司ID 主键'} export const delBranchInterests = params => { return axios.post(`${base}/mdp/sys/branchInterests/del`,params); }; @@ -33,15 +30,3 @@ export const addBranchInterests = params => { return axios.post(`${base}/mdp/sys //批量修改某些字段 export const editSomeFieldsBranchInterests = params => { return axios.post(`${base}/mdp/sys/branchInterests/editSomeFields`, params); }; - - -/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ -//初始化页面上的字典 -export const initDicts = (that) => { - var itemCodes=[];//在此添加要加载的字典 如['sex','grade','lvl'] - if(itemCodes.length>0){ - initSimpleDicts('all',itemCodes).then(res=>{ - Object.assign(that.dicts,res.data.data) - }); - } -}; \ No newline at end of file diff --git a/src/api/mdp/sys/branchModule.js b/src/api/mdp/sys/branchModule.js index 453c66ac..ed60864a 100644 --- a/src/api/mdp/sys/branchModule.js +++ b/src/api/mdp/sys/branchModule.js @@ -1,9 +1,9 @@ import axios from '@/utils/request' import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() /**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** @@ -33,17 +33,3 @@ export const addBranchModule = params => { return axios.post(`${base}/mdp/sys/br //批量修改某些字段 export const editSomeFieldsBranchModule = params => { return axios.post(`${base}/mdp/sys/branchModule/editSomeFields`, params); }; - - - -/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ -//初始化页面上的字典 -export const initDicts = (that) => { - that.dicts['status']=[{id:'0',name:'停用'},{id:'1',name:'启用'}] - var itemCodes=['moduleBillMode',"bizFlowState"];//在此添加要加载的字典 如['sex','grade','lvl'] - if(itemCodes.length>0){ - initSimpleDicts('all',itemCodes).then(res=>{ - Object.assign(that.dicts,res.data.data) - }); - } -}; \ No newline at end of file diff --git a/src/api/mdp/sys/branchSvr.js b/src/api/mdp/sys/branchSvr.js new file mode 100644 index 00000000..4d5d8f82 --- /dev/null +++ b/src/api/mdp/sys/branchSvr.js @@ -0,0 +1,32 @@ +import axios from '@/utils/request' + +import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 +import config from '@/api/mdp_pub/mdp_config' + +let base = config.getSysContext() + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * 企业服务列表 + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'服务编号 主键',branchId:'企业编号',name:'服务名称',remark:'服务简介',price:'服务价格',pimg:'服务主图',times:'服务时间范围',status:'状态0初始1上架2下架',summary:'简介'} + **/ + +//普通查询 条件之间and关系 +export const listBranchSvr = params => { return axios.get(`${base}/mdp/sys/branchSvr/list`, { params: params }); }; + +//删除一条企业服务列表 params={id:'服务编号 主键'} +export const delBranchSvr = params => { return axios.post(`${base}/mdp/sys/branchSvr/del`,params); }; + +//批量删除企业服务列表 params=[{id:'服务编号 主键'}] +export const batchDelBranchSvr = params => { return axios.post(`${base}/mdp/sys/branchSvr/batchDel`, params); }; + +//修改一条企业服务列表记录 +export const editBranchSvr = params => { return axios.post(`${base}/mdp/sys/branchSvr/edit`, params); }; + +//新增一条企业服务列表 +export const addBranchSvr = params => { return axios.post(`${base}/mdp/sys/branchSvr/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsBranchSvr = params => { return axios.post(`${base}/mdp/sys/branchSvr/editSomeFields`, params); }; + diff --git a/src/api/mdp/sys/dept.js b/src/api/mdp/sys/dept.js index 707bc521..69e34faa 100644 --- a/src/api/mdp/sys/dept.js +++ b/src/api/mdp/sys/dept.js @@ -1,28 +1,39 @@ import axios from '@/utils/request' -import config from '@/common/config' + import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base = config.getSysContext() -//默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:1,pageSize:10,total:0},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * sys_dept + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={deptid:'部门编号 主键',deptName:'部门全称',pdeptid:'上级部门编号',deptType:'参考数据字典deptType',state:'状态A正常E无效',manager:'负责人编号',leader:'上级领导编号',shortName:'简称',displayDeptid:'部门编码外部使用',orgType:'参考数据字典orgType',managerName:'负责人名称',leaderName:'上级领导名称',branchId:'云用户机构编号',levelType:'层级类型(科云:0国,1省,2市,3区县,4街道,5自然村)',idPath:'部门编号路径',bizProcInstId:'当前流程实例编号',bizFlowState:'当前流程状态',ltime:'最后更新时间',isCbCenter:'是否为成本中心0否1是'} + **/ + +//普通查询 条件之间and关系 +export const listDept = params => { return axios.get(`${base}/mdp/sys/dept/list`, { params: params }); }; -//普通查询 -export const listDept = params => { return axios.get(`${base}/sys/dept/list`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryDeptById = params => { return axios.get(`${base}/mdp/sys/dept/queryById`, { params: params }); }; -//普通查询 -export const listTreeDept = params => { return axios.get(`${base}/sys/dept/list/tree`, { params: params }); }; +//删除一条sys_dept params={deptid:'部门编号 主键'} +export const delDept = params => { return axios.post(`${base}/mdp/sys/dept/del`,params); }; -//关键字模糊查询 {字段1:v1,字段2:v1,字段3:v1},字段驼峰命名,条件之间默认为or关系 -export const listDeptKey = params => { return axios.get(`${base}/sys/dept/listKey`, { params: params }); }; +//批量删除sys_dept params=[{deptid:'部门编号 主键'}] +export const batchAddDept = params => { return axios.post(`${base}/mdp/sys/dept/batchAdd`, params); }; -//删除一个 -export const delDept = params => { return axios.post(`${base}/sys/dept/del`,params); }; +//批量删除sys_dept params=[{deptid:'部门编号 主键'}] +export const batchDelDept = params => { return axios.post(`${base}/mdp/sys/dept/batchDel`, params); }; -//批量删除 -export const batchDelDept = params => { return axios.post(`${base}/sys/dept/batchDel`, params); }; +//修改一条sys_dept记录 +export const editDept = params => { return axios.post(`${base}/mdp/sys/dept/edit`, params); }; -//修改一个 -export const editDept = params => { return axios.post(`${base}/sys/dept/edit`, params); }; +//新增一条sys_dept +export const addDept = params => { return axios.post(`${base}/mdp/sys/dept/add`, params); }; -//新增一个 -export const addDept = params => { return axios.post(`${base}/sys/dept/add`, params); }; \ No newline at end of file +//批量修改某些字段 +export const editSomeFieldsDept = params => { return axios.post(`${base}/mdp/sys/dept/editSomeFields`, params); }; + +//普通查询 +export const listTreeDept = params => { return axios.get(`${base}/sys/dept/list/tree`, { params: params }); }; diff --git a/src/api/mdp/sys/deptLocation.js b/src/api/mdp/sys/deptLocation.js index 6b360dcd..b667bb52 100644 --- a/src/api/mdp/sys/deptLocation.js +++ b/src/api/mdp/sys/deptLocation.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base=config.getSysContext() /** * sys_dept_location diff --git a/src/api/mdp/sys/deptPost.js b/src/api/mdp/sys/deptPost.js new file mode 100644 index 00000000..1564c311 --- /dev/null +++ b/src/api/mdp/sys/deptPost.js @@ -0,0 +1,37 @@ +import axios from '@/utils/request' + +import config from '@/api/mdp_pub/mdp_config' + +let base = config.getSysContext() + + +/** + * 部门岗位关系表 + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'主键 主键',deptid:'部门编号',postId:'岗位编号',ldate:'最后更新时间'} + **/ + +//普通查询 条件之间and关系 +export const listDeptPost = params => { return axios.get(`${base}/mdp/sys/deptPost/list`, { params: params }); }; + +//模糊查询部门岗位关系表 条件之间or关系 +//export const listDeptPostKey = params => { return axios.get(`${base}/mdp/sys/deptPost/listKey`, { params: params }); }; + +//删除一条部门岗位关系表 params={id:'主键 主键'} +export const delDeptPost = params => { return axios.post(`${base}/mdp/sys/deptPost/del`,params); }; + +//批量删除部门岗位关系表 params=[{id:'主键 主键'}] +export const batchDelDeptPost = params => { return axios.post(`${base}/mdp/sys/deptPost/batchDel`, params); }; + +//批量添加岗位到部门 +export const batchAddDeptPost = params => { return axios.post(`${base}/mdp/sys/deptPost/batchAdd`, params); }; + +//修改一条部门岗位关系表记录 +export const editDeptPost = params => { return axios.post(`${base}/mdp/sys/deptPost/edit`, params); }; + +//新增一条部门岗位关系表 +export const addDeptPost = params => { return axios.post(`${base}/mdp/sys/deptPost/add`, params); }; + +export const batchSetPostsToDept = params => { return axios.post(`${base}/mdp/sys/deptPost/batchSetPostsToDept`, params); }; + +export const batchSetDeptsToPost = params => { return axios.post(`${base}/mdp/sys/deptPost/batchSetDeptsToPost`, params); }; diff --git a/src/api/mdp/sys/deptPostUser.js b/src/api/mdp/sys/deptPostUser.js new file mode 100644 index 00000000..177d46ba --- /dev/null +++ b/src/api/mdp/sys/deptPostUser.js @@ -0,0 +1,47 @@ +import axios from '@/utils/request' + + import config from '@/api/mdp_pub/mdp_config' + +let base = config.getSysContext() + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * 部门岗位用户关系表(根据部门岗位关系,岗位用户关系自动冗余) + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'主键 主键',postId:'岗位编号',deptid:'部门编号',userid:'用户编号',startDate:'开始任职时间',endDate:'结束任职时间',actEndDate:'实际结束任职时间',enabled:'状态0-无效1-有效',lastDate:'最后更新时间',master:'是否为主岗位0否1是'} + **/ + +//普通查询 条件之间and关系 +export const listDeptPostUser = params => { return axios.get(`${base}/mdp/sys/deptPostUser/list`, { params: params }); }; + +//普通查询 条件之间and关系 +export const queryDeptPostUserById = params => { return axios.get(`${base}/mdp/sys/deptPostUser/queryById`, { params: params }); }; + +//删除一条部门岗位用户关系表(根据部门岗位关系,岗位用户关系自动冗余) params={id:'主键 主键'} +export const delDeptPostUser = params => { return axios.post(`${base}/mdp/sys/deptPostUser/del`,params); }; + +//批量删除部门岗位用户关系表(根据部门岗位关系,岗位用户关系自动冗余) params=[{id:'主键 主键'}] +export const batchAddDeptPostUser = params => { return axios.post(`${base}/mdp/sys/deptPostUser/batchAdd`, params); }; + +//批量删除部门岗位用户关系表(根据部门岗位关系,岗位用户关系自动冗余) params=[{id:'主键 主键'}] +export const batchDelDeptPostUser = params => { return axios.post(`${base}/mdp/sys/deptPostUser/batchDel`, params); }; + +//修改一条部门岗位用户关系表(根据部门岗位关系,岗位用户关系自动冗余)记录 +export const editDeptPostUser = params => { return axios.post(`${base}/mdp/sys/deptPostUser/edit`, params); }; + +//新增一条部门岗位用户关系表(根据部门岗位关系,岗位用户关系自动冗余) +export const addDeptPostUser = params => { return axios.post(`${base}/mdp/sys/deptPostUser/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsDeptPostUser = params => { return axios.post(`${base}/mdp/sys/deptPostUser/editSomeFields`, params); }; + +//普通查询 条件之间and关系 +export const listDeptPostUserWithDeptPosts = params => { return axios.get(`${base}/mdp/sys/deptPostUser/list/withDeptPosts`, { params: params }); }; + +//人员岗位菜单快捷查询 +export const listDeptPostUserMenus = params => { return axios.get(`${base}/mdp/sys/deptPostUser/list/menus`, { params: params }); }; + +//人员岗位角色快捷查询 +export const listDeptPostUserRoles = params => { return axios.get(`${base}/mdp/sys/deptPostUser/list/roles`, { params: params }); }; + +export const setPostMaster = params => { return axios.post(`${base}/mdp/sys/deptPostUser/setPostMaster`, params); }; \ No newline at end of file diff --git a/src/api/mdp/sys/guard.js b/src/api/mdp/sys/guard.js new file mode 100644 index 00000000..67b04c72 --- /dev/null +++ b/src/api/mdp/sys/guard.js @@ -0,0 +1,32 @@ +import axios from '@/utils/request' + +import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 +import config from '@/api/mdp_pub/mdp_config' + +let base = config.getSysContext() + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * 服务保障定义表 + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'编号 主键',name:'名称',fee:'价格',remark:'备注',dayLimit:'期限,单位天数,360天,付款成功当天算起'} + **/ + +//普通查询 条件之间and关系 +export const listGuard = params => { return axios.get(`${base}/mdp/sys/guard/list`, { params: params }); }; + +//删除一条服务保障定义表 params={id:'编号 主键'} +export const delGuard = params => { return axios.post(`${base}/mdp/sys/guard/del`,params); }; + +//批量删除服务保障定义表 params=[{id:'编号 主键'}] +export const batchDelGuard = params => { return axios.post(`${base}/mdp/sys/guard/batchDel`, params); }; + +//修改一条服务保障定义表记录 +export const editGuard = params => { return axios.post(`${base}/mdp/sys/guard/edit`, params); }; + +//新增一条服务保障定义表 +export const addGuard = params => { return axios.post(`${base}/mdp/sys/guard/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsGuard = params => { return axios.post(`${base}/mdp/sys/guard/editSomeFields`, params); }; + diff --git a/src/api/mdp/sys/guardOrder.js b/src/api/mdp/sys/guardOrder.js new file mode 100644 index 00000000..6631fd08 --- /dev/null +++ b/src/api/mdp/sys/guardOrder.js @@ -0,0 +1,31 @@ +import axios from '@/utils/request' + +import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 +import config from '@/api/mdp_pub/mdp_config' + +let base = config.getSysContext() + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * 购买服务保障订单表 + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'订单编号 主键',name:'订单名称',obranchId:'下单机构号码',ouserid:'下单用户编号',ousername:'下单用户名称',finalFee:'价格=orign_fee*odis_rate',status:'订单状态0-初始,1-待确认,2-待付款,3-已付款,4-已完成,5-已取消-未付款前可取消,取消后可删除,6-退单-退单后变为已取消,8已关闭-售后完成后可以关闭订单',sstatus:'结算状态0-待结算,1-已结算',ctime:'创建时间',payTime:'付款时间',payCtime:'付款确认时间',orginFee:'折扣前总价=sys_guard中价格',poid:'上级订单-如果是续费订单,记录原订单号',startTime:'启用日期',endTime:'结束日期',payType:'支付方式1-微信,2-支付宝,3-线下支付',payId:'付款流水号(内部生成,传给第三方原样传回,如果不正确,不允许更新数据库,防止作弊)',prepayId:'预下单付款订单号(第三方返回)',topenId:'第三方账号编号',pbankId:'收款银行编号(支付方式为3时必填)',pbankName:'收款银行名称(支付方式为3时必填)',pbankCardNo:'收款银行卡号(支付方式为3时必填)',pbankUsername:'收款账户姓名(支付方式为3时必填)',remark:'备注',finishTime:'完成时间',closeTime:'关闭时间',setTime:'结算时间',ofinalFee:'最终订单价格、最终付款金额=final_fee+oth_fee',odisRate:'订单折扣率(下单后后台根据不同客户进行折扣调整)=将在模块表中执行折扣操作,再从新合计价格',othFee:'其它费用',otype:'订单类型0-电商商城商品,1-应用模块使用购买,2-vip购买会员,3-购买服务保障',osource:'订单来源1-前端客户下单,2-后台待客下单',memType:'客户类型-参考sys_user表mem_type',atype:'账户类型-根据sys_user表atype',saleUserid:'销售经理编号',saleUsername:'销售经理名称',custPhone:'客户联系电话',custAddress:'客户联系地址',payAt:'最终付款金额-客户付款后回填',obranchName:'下单机构名称',ooper:'订单操作类型1-新购,2-续费',tranId:'第三方付款事务号',invoice:'是否已开票',invoiceTime:'开票时间',invoiceId:'发票编号',guardId:'服务保障编号',guardName:'服务保障名称'} + **/ + +//普通查询 条件之间and关系 +export const listGuardOrder = params => { return axios.get(`${base}/mdp/sys/guardOrder/list`, { params: params }); }; + +//删除一条购买服务保障订单表 params={id:'订单编号 主键'} +export const delGuardOrder = params => { return axios.post(`${base}/mdp/sys/guardOrder/del`,params); }; + +//批量删除购买服务保障订单表 params=[{id:'订单编号 主键'}] +export const batchDelGuardOrder = params => { return axios.post(`${base}/mdp/sys/guardOrder/batchDel`, params); }; + +//修改一条购买服务保障订单表记录 +export const editGuardOrder = params => { return axios.post(`${base}/mdp/sys/guardOrder/edit`, params); }; + +//新增一条购买服务保障订单表 +export const addGuardOrder = params => { return axios.post(`${base}/mdp/sys/guardOrder/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsGuardOrder = params => { return axios.post(`${base}/mdp/sys/guardOrder/editSomeFields`, params); }; diff --git a/src/api/mdp/sys/menuFavorite.js b/src/api/mdp/sys/menuFavorite.js index 31bad7ea..a8a9ee1c 100644 --- a/src/api/mdp/sys/menuFavorite.js +++ b/src/api/mdp/sys/menuFavorite.js @@ -1,7 +1,7 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() export const userMenuFavoriteList = params => { return axios.get(`${base}/menu/menuFavorite/list`, { params: params }); }; export const saveMenuFavoriteList = params => { return axios.post(`${base}/menu/menuFavorite/batchSaveMenuFavorites`, params); }; diff --git a/src/api/mdp/sys/module.js b/src/api/mdp/sys/module.js index 25b55bb9..176fcc61 100644 --- a/src/api/mdp/sys/module.js +++ b/src/api/mdp/sys/module.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext(); /**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** @@ -29,15 +29,3 @@ export const addModule = params => { return axios.post(`${base}/mdp/sys/module/a //批量修改某些字段 export const editSomeFieldsModule = params => { return axios.post(`${base}/mdp/sys/module/editSomeFields`, params); }; - - -/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ -//初始化页面上的字典 -export const initDicts = (that) => { - var itemCodes=['moduleBillMode','bizFlowState'];//在此添加要加载的字典 如['sex','grade','lvl'] - if(itemCodes.length>0){ - initSimpleDicts('all',itemCodes).then(res=>{ - Object.assign(that.dicts,res.data.data) - }); - } -}; \ No newline at end of file diff --git a/src/api/mdp/sys/modules.js b/src/api/mdp/sys/modules.js index 862d5dbd..7cba05d8 100644 --- a/src/api/mdp/sys/modules.js +++ b/src/api/mdp/sys/modules.js @@ -1,7 +1,7 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() export const getAllMenuModule = params => { return axios.get(`${base}/sys/sys/mdp/menu/menuModule/list`, {params: params }); }; diff --git a/src/api/mdp/sys/notifyMsg.js b/src/api/mdp/sys/notifyMsg.js index 0a42bac2..c534fbdc 100644 --- a/src/api/mdp/sys/notifyMsg.js +++ b/src/api/mdp/sys/notifyMsg.js @@ -1,23 +1,29 @@ import axios from '@/utils/request' -import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext(); -/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** * 个人消息通知 - *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - *2 查询、新增、修改的参数格式 params={id:'消息编号 主键',sendUserid:'操作人id',sendUsername:'操作人名字',operTime:'操作时间',objType:'对象类型:项目-1/任务-2/产品-3/需求-4/bug-5/迭代-6/团队-7',msg:'备注-完整描述',gloNo:'全局根踪号,用于跟踪日志',branchId:'机构编号',ip:'ip地址',bizId:'业务主键编号',pbizId:'对象上级编号,项目时填项目编号,任务时填项目编号,产品时填产品编号,需求时填产品编号,bug时填产品编号,迭代时填产品编号',bizName:'对象名称',toUserid:'接收用户编号',toUsername:'接收用户名称',hadRead:'是否已读'} + * 1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + * 2 查询、新增、修改的参数格式 params={id:'消息编号 主键',sendUserid:'操作人id',sendUsername:'操作人名字',operTime:'操作时间',objType:'对象类型:项目-1/任务-2/产品-3/需求-4/bug-5/迭代-6/团队-7/关注用户-8/点赞文章-9/评论文章-10/收藏文章-11/12-用户注销/13-商务合作',msg:'备注-完整描述',gloNo:'全局根踪号,用于跟踪日志',branchId:'机构编号',ip:'ip地址',bizId:'业务主键编号',pbizId:'对象上级编号,项目时填项目编号,任务时填项目编号,产品时填产品编号,需求时填产品编号,bug时填产品编号,迭代时填产品编号',bizName:'对象名称',toUserid:'接收用户编号',toUsername:'接收用户名称',hadRead:'是否已读',url:'跳转地址'} + * @author maimeng-mdp code-gen + * @since 2023-9-29 **/ //普通查询 条件之间and关系 export const listNotifyMsg = params => { return axios.get(`${base}/mdp/sys/notifyMsg/list`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryNotifyMsgById = params => { return axios.get(`${base}/mdp/sys/notifyMsg/queryById`, { params: params }); }; + //删除一条个人消息通知 params={id:'消息编号 主键'} export const delNotifyMsg = params => { return axios.post(`${base}/mdp/sys/notifyMsg/del`,params); }; +//批量删除个人消息通知 params=[{id:'消息编号 主键'}] +export const batchAddNotifyMsg = params => { return axios.post(`${base}/mdp/sys/notifyMsg/batchAdd`, params); }; + //批量删除个人消息通知 params=[{id:'消息编号 主键'}] export const batchDelNotifyMsg = params => { return axios.post(`${base}/mdp/sys/notifyMsg/batchDel`, params); }; @@ -28,17 +34,4 @@ export const editNotifyMsg = params => { return axios.post(`${base}/mdp/sys/noti export const addNotifyMsg = params => { return axios.post(`${base}/mdp/sys/notifyMsg/add`, params); }; //批量修改某些字段 -export const editSomeFieldsNotifyMsg = params => { return axios.post(`${base}/mdp/sys/notifyMsg/editSomeFields`, params); }; - - - -/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ -//初始化页面上的字典 -export const initDicts = (that) => { - var itemCodes=[];//在此添加要加载的字典 如['sex','grade','lvl'] - if(itemCodes.length>0){ - initSimpleDicts('all',itemCodes).then(res=>{ - Object.assign(that.dicts,res.data.data) - }); - } -}; \ No newline at end of file +export const editSomeFieldsNotifyMsg = params => { return axios.post(`${base}/mdp/sys/notifyMsg/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/sys/operDataTrail.js b/src/api/mdp/sys/operDataTrail.js index 98609099..ff925ece 100644 --- a/src/api/mdp/sys/operDataTrail.js +++ b/src/api/mdp/sys/operDataTrail.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base=config.getSysContext() //默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:1,pageSize:10,total:0},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, diff --git a/src/api/mdp/sys/order.js b/src/api/mdp/sys/order.js index 4bdc0276..92c702d7 100644 --- a/src/api/mdp/sys/order.js +++ b/src/api/mdp/sys/order.js @@ -1,6 +1,6 @@ import axios from '@/utils/request' -import config from '@/common/config' -let base = config.getSysBasePath(); +import config from '@/api/mdp_pub/mdp_config' +let base = config.getSysContext() export const createOrder = params => { return axios.post(`${base}/mdp/mo/moOrder/create`, params) }; export const calcOrder = params => { return axios.get(`${base}/mdp/mo/moOrder/calcOrder`, { params: params })}; diff --git a/src/api/mdp/sys/post.js b/src/api/mdp/sys/post.js new file mode 100644 index 00000000..6ed5d020 --- /dev/null +++ b/src/api/mdp/sys/post.js @@ -0,0 +1,36 @@ +import axios from '@/utils/request' + + import config from '@/api/mdp_pub/mdp_config' + +let base = config.getSysContext() + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * 岗位管理 + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'主键 主键',postName:'岗位名称',remark:'备注',branchId:'归属机构号',cdate:'创建日期',postLvl:'岗位级别引用字典',postType:'岗位类型引用字典'} + **/ + +//普通查询 条件之间and关系 +export const listPost = params => { return axios.get(`${base}/mdp/sys/post/list`, { params: params }); }; + +//普通查询 条件之间and关系 +export const queryPostById = params => { return axios.get(`${base}/mdp/sys/post/queryById`, { params: params }); }; + +//删除一条岗位管理 params={id:'主键 主键'} +export const delPost = params => { return axios.post(`${base}/mdp/sys/post/del`,params); }; + +//批量删除岗位管理 params=[{id:'主键 主键'}] +export const batchAddPost = params => { return axios.post(`${base}/mdp/sys/post/batchAdd`, params); }; + +//批量删除岗位管理 params=[{id:'主键 主键'}] +export const batchDelPost = params => { return axios.post(`${base}/mdp/sys/post/batchDel`, params); }; + +//修改一条岗位管理记录 +export const editPost = params => { return axios.post(`${base}/mdp/sys/post/edit`, params); }; + +//新增一条岗位管理 +export const addPost = params => { return axios.post(`${base}/mdp/sys/post/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsPost = params => { return axios.post(`${base}/mdp/sys/post/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/sys/postRole.js b/src/api/mdp/sys/postRole.js new file mode 100644 index 00000000..ac5cab22 --- /dev/null +++ b/src/api/mdp/sys/postRole.js @@ -0,0 +1,36 @@ +import axios from '@/utils/request' + + import config from '@/api/mdp_pub/mdp_config' + +let base = config.getSysContext() + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * 岗位角色关系表 + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={postId:'岗位编号 主键',roleid:'角色编号 主键',} + **/ + +//普通查询 条件之间and关系 +export const listPostRole = params => { return axios.get(`${base}/mdp/sys/postRole/list`, { params: params }); }; + +//普通查询 条件之间and关系 +export const queryPostRoleById = params => { return axios.get(`${base}/mdp/sys/postRole/queryById`, { params: params }); }; + +//删除一条岗位角色关系表 params={postId:'岗位编号 主键',roleid:'角色编号 主键'} +export const delPostRole = params => { return axios.post(`${base}/mdp/sys/postRole/del`,params); }; + +//设置多个角色给某个岗位 params={postId:'',roleids:[]} +export const setRolesToPost = params => { return axios.post(`${base}/mdp/sys/postRole/setRolesToPost`, params); }; + +//批量删除岗位角色关系表 params=[{postId:'岗位编号 主键',roleid:'角色编号 主键'}] +export const batchDelPostRole = params => { return axios.post(`${base}/mdp/sys/postRole/batchDel`, params); }; + +//修改一条岗位角色关系表记录 +export const editPostRole = params => { return axios.post(`${base}/mdp/sys/postRole/edit`, params); }; + +//新增一条岗位角色关系表 +export const addPostRole = params => { return axios.post(`${base}/mdp/sys/postRole/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsPostRole = params => { return axios.post(`${base}/mdp/sys/postRole/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/sys/qx.js b/src/api/mdp/sys/qx.js index 868bb2bb..850eb712 100644 --- a/src/api/mdp/sys/qx.js +++ b/src/api/mdp/sys/qx.js @@ -1,24 +1,28 @@ import axios from '@/utils/request' -import config from '@/common/config' + import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base = config.getSysContext() +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** * 权限定义 - *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - *2 查询、新增、修改的参数格式 params={qxId:'权限编号 主键',qxName:'权限名称',qxType:'权限类型data/url/base/area',remark:'备注',qxCode:'权限编码',enabled:'是否启用',deptid:'机构编号',branchId:'云用户机构编号'} + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={qxId:'权限编号 主键',qxName:'权限名称',moduleId:'权限归属模块编号',qxSql:'权限sql片段,一般查询列表需要配置sql',qxType:'权限类型c-新增,r-读,u-更新,d-删除,p-打印'} **/ //普通查询 条件之间and关系 export const listQx = params => { return axios.get(`${base}/mdp/sys/qx/list`, { params: params }); }; -//模糊查询权限定义 条件之间or关系 -//export const listQxKey = params => { return axios.get(`${base}/mdp/sys/qx/listKey`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryQxById = params => { return axios.get(`${base}/mdp/sys/qx/queryById`, { params: params }); }; //删除一条权限定义 params={qxId:'权限编号 主键'} export const delQx = params => { return axios.post(`${base}/mdp/sys/qx/del`,params); }; +//批量删除权限定义 params=[{qxId:'权限编号 主键'}] +export const batchAddQx = params => { return axios.post(`${base}/mdp/sys/qx/batchAdd`, params); }; + //批量删除权限定义 params=[{qxId:'权限编号 主键'}] export const batchDelQx = params => { return axios.post(`${base}/mdp/sys/qx/batchDel`, params); }; @@ -26,4 +30,7 @@ export const batchDelQx = params => { return axios.post(`${base}/mdp/sys/qx/batc export const editQx = params => { return axios.post(`${base}/mdp/sys/qx/edit`, params); }; //新增一条权限定义 -export const addQx = params => { return axios.post(`${base}/mdp/sys/qx/add`, params); }; \ No newline at end of file +export const addQx = params => { return axios.post(`${base}/mdp/sys/qx/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsQx = params => { return axios.post(`${base}/mdp/sys/qx/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/sys/record.js b/src/api/mdp/sys/record.js new file mode 100644 index 00000000..c1b6a3c6 --- /dev/null +++ b/src/api/mdp/sys/record.js @@ -0,0 +1,31 @@ +import axios from '@/utils/request' + +import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 +import config from '@/api/mdp_pub/mdp_config' + +let base = config.getSysContext() + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * 操作日志表 + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'日志编号 主键',operUserid:'操作人id',operUsername:'操作人名字',operTime:'操作时间',objType:'对象类型:项目-1/任务-2/产品-3/需求-4/bug-5/迭代6',oldValue:'历史值',newValue:'新值',remarks:'备注-只描述新旧值之间的变化',gloNo:'全局根踪号,用于跟踪日志',branchId:'机构编号',ip:'ip地址',bizId:'业务主键编号',pbizId:'对象上级编号,项目时填项目编号,任务时填项目编号,产品时填产品编号,需求时填产品编号,bug时填产品编号,迭代时填产品编号'} + **/ + +//普通查询 条件之间and关系 +export const listRecord = params => { return axios.get(`${base}/mdp/sys/record/list`, { params: params }); }; + +//删除一条操作日志表 params={id:'日志编号 主键'} +export const delRecord = params => { return axios.post(`${base}/mdp/sys/record/del`,params); }; + +//批量删除操作日志表 params=[{id:'日志编号 主键'}] +export const batchDelRecord = params => { return axios.post(`${base}/mdp/sys/record/batchDel`, params); }; + +//修改一条操作日志表记录 +export const editRecord = params => { return axios.post(`${base}/mdp/sys/record/edit`, params); }; + +//新增一条操作日志表 +export const addRecord = params => { return axios.post(`${base}/mdp/sys/record/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsRecord = params => { return axios.post(`${base}/mdp/sys/record/editSomeFields`, params); }; diff --git a/src/api/mdp/sys/region.js b/src/api/mdp/sys/region.js index 0dc66367..4b5e422a 100644 --- a/src/api/mdp/sys/region.js +++ b/src/api/mdp/sys/region.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base=config.getSysContext() //默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:1,pageSize:10,total:0},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, diff --git a/src/api/mdp/sys/role.js b/src/api/mdp/sys/role.js index 49ec5f2a..d02781f9 100644 --- a/src/api/mdp/sys/role.js +++ b/src/api/mdp/sys/role.js @@ -1,27 +1,28 @@ import axios from '@/utils/request' -import config from '@/common/config' + import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base = config.getSysContext() +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** * 角色管理 - *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - *2 查询、新增、修改的参数格式 params={roleid:'角色编号 主键',rolename:'角色名',remark:'备注',roletype:'角色类型',rolebeg:'开始时间',roleend:'结束时间',crdate:'创建日期',enabled:'是否启用',deptid:'机构编号',sortOrder:'角色排序',branchId:'云用户机构编号'} + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={roleid:'角色编号 主键',rolename:'角色名',remark:'备注',roletype:'角色类型0-机构私有,1-公共',rolebeg:'开始时间',roleend:'结束时间',crdate:'创建日期',enabled:'是否启用',deptid:'机构编号',sortOrder:'角色排序',branchId:'云用户机构编号',dataLvl:'数据访问等级'} **/ - -//普通查询 条件之间and关系 + +//普通查询 条件之间and关系 export const listRole = params => { return axios.get(`${base}/mdp/sys/role/list`, { params: params }); }; //普通查询 条件之间and关系 -export const listRoleNotInPostId = params => { return axios.get(`${base}/mdp/sys/role/list/notInPostId`, { params: params }); }; - -//模糊查询角色管理 条件之间or关系 -//export const listRoleKey = params => { return axios.get(`${base}/mdp/sys/role/listKey`, { params: params }); }; +export const queryRoleById = params => { return axios.get(`${base}/mdp/sys/role/queryById`, { params: params }); }; //删除一条角色管理 params={roleid:'角色编号 主键'} export const delRole = params => { return axios.post(`${base}/mdp/sys/role/del`,params); }; +//批量删除角色管理 params=[{roleid:'角色编号 主键'}] +export const batchAddRole = params => { return axios.post(`${base}/mdp/sys/role/batchAdd`, params); }; + //批量删除角色管理 params=[{roleid:'角色编号 主键'}] export const batchDelRole = params => { return axios.post(`${base}/mdp/sys/role/batchDel`, params); }; @@ -30,3 +31,6 @@ export const editRole = params => { return axios.post(`${base}/mdp/sys/role/edit //新增一条角色管理 export const addRole = params => { return axios.post(`${base}/mdp/sys/role/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsRole = params => { return axios.post(`${base}/mdp/sys/role/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/sys/roleQx.js b/src/api/mdp/sys/roleQx.js index 2c549827..6a86e218 100644 --- a/src/api/mdp/sys/roleQx.js +++ b/src/api/mdp/sys/roleQx.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base=config.getSysContext() /** * 角色权限关系表 diff --git a/src/api/mdp/sys/thirdPartyAccount.js b/src/api/mdp/sys/thirdPartyAccount.js index 56178d03..84f4a4fe 100644 --- a/src/api/mdp/sys/thirdPartyAccount.js +++ b/src/api/mdp/sys/thirdPartyAccount.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base=config.getSysContext() //默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:1,pageSize:10,total:0},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, diff --git a/src/api/mdp/sys/user.js b/src/api/mdp/sys/user.js index 815afe76..fb5ba9ed 100644 --- a/src/api/mdp/sys/user.js +++ b/src/api/mdp/sys/user.js @@ -1,44 +1,39 @@ import axios from '@/utils/request' -import config from '@/common/config' -import { CodeToText, TextToCode } from 'element-china-area-data'; + import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base = config.getSysContext() +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** * 用户表 - *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - *2 查询、新增、修改的参数格式 params={userid:'内部用户编号 主键',unionid:'全局唯一编号',displayUserid:'登录展示使用用户编号',locked:'是否被锁定0否1是',startdate:'启用日期',nickname:'昵称',username:'用户名称',phoneno:'移动电话号码',password:'密码',salt:'盐值',fgOne:'指纹1',fgTwo:'指纹2',fgThr:'指纹3',idCardNo:'身份证号码',pwdtype:'密码类型1指纹2密码',headimgurl:'头像地址',country:'国家',city:'城市',province:'省份',address:'详细地址',sex:'性别',enddate:'到期日期',districtId:'区县编号',email:'邮箱',userId:'user_id',userAccount:'user_account',userPwd:'user_pwd',userName:'user_name',userDesc:'user_desc'} + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={userid:'内部用户编号(账户编号),如果是机构管理员账户,则=机构号 主键',unionid:'全局唯一编号,也叫主账户,同一个人(比如同一个微信号,同一个邮箱,同一个手机号视为同一个人)。同一个人在mdp有唯一的主账号。',displayUserid:'登录展示使用用户编号',locked:'是否被锁定0否1是',startdate:'启用日期',nickname:'昵称',username:'用户名称',phoneno:'移动电话号码',password:'密码',salt:'盐值',pwdtype:'密码类型1指纹2密码',headimgurl:'头像地址',country:'国家',city:'城市',province:'省份',address:'详细地址',sex:'性别',enddate:'到期日期',districtId:'区县编号',email:'邮箱',fgOne:'指纹1',fgTwo:'指纹2',fgThr:'指纹3',idCardNo:'身份证号码',officePhoneno:'办公室电话',bizProcInstId:'当前流程实例编号',bizFlowState:'当前流程状态',memType:'从平台角度看会员类型0-个人账户、1-企业管理员账户、2-企业员工账户,个人账户无须绑定机构号,个人子账户可升级为企业员工账户,企业账户必须绑定机构编号branchId个人账户升级后,保留个人主账户,个人子账户绑定企业编号成为企业员工账户',orgId:'机构会员自己的机构会员的机构号,理解为客户的客户',emailBak:'备用邮箱',pwdStrong:'1-高风险,2-中风险,3-低风险',lockType:'锁定类型:0-注册等待邮箱验证,1-注册等待修改初始密码,2-注册等待验证手机号码,3-密码高风险,等待重新修改密码,9-业务需要锁定禁止登录,10-账户被锁定,请联系客服',lockRemark:'锁定原因',ltime:'更新日期',atype:'相对于平台来说的账户类型0-子账户,1-主账户。',branchId:'机构主子账户归属的机构编号,如果是个人,这里填虚拟机构编号,作为虚拟的机构号,方便将来升级成企业号',continent:'洲别',cpaType:'从入驻企业角度看协作类型0-企业内部人员,1-客户,2-供应商,3-上级机构,4-下属机构',cpaOrg:'协作组织0-个人,1机构,如果是机构,机构号填入orgId',roleids:'个人账户拥有的角色,逗号分割',birthday:'生日',shopId:'商户编号',profeId:'职业编号',profeName:'职业名称',gradeId:'等级会员,根据经验值而定',gradeName:'等级会员名称',ilvlId:'权益等级青铜、白银、黄金、紫金、钻石',ilvlName:'权益等级名称',istatus:'会员权益状态0-无效,1-有效,2-过期',istime:'权益开始时间',ietime:'权益结束时间',validLvls:'人工验证结果,当审核状态为2时,同步到sys_user表同一个字段,或者sys_branch同一个字段',features:'个性化签名',profeType:'职业类型1-开发类,2-测试类,3-设计类,4-管理类;',ustatus:'用户账户状态0-初始,1-起效,2-注销申请,3-注销后删除',creditId:'信用等级编号',creditScore:'信用等级分数',guardId:'服务保障等级0-初始,1-金,2-银,3-铜',open:'是否对互联网用户开放查询0-否1是',remark:'简介备注',bizHours:'营业时间说明09:00-12:00',skillIds:'技能编号列表',skillNames:'技能名称列表'} **/ - -//普通查询 条件之间and关系 + +//普通查询 条件之间and关系 export const listUser = params => { return axios.get(`${base}/mdp/sys/user/list`, { params: params }); }; -//免登录查询用户数据 -export const listCrowdUser = params => { return axios.get(`${base}/mdp/sys/user/crowd/list`, { params: params }); }; - -//查询用户详情 -export const detailNoauthUser = params => { return axios.get(`${base}/mdp/sys/user/noauth/detail`, { params: params }); }; -export const listUserNames = params => { return axios.get(`${base}/mdp/sys/user/listUserNames`, { params: params }); }; -export const selectlistKey= params => { return axios.get(`${base}/mdp/sys/user/selectlistKey`, { params: params }); }; - -//模糊查询用户表 条件之间or关系 -//export const listUserKey = params => { return axios.get(`${base}/mdp/sys/user/listKey`, { params: params }); }; - -export const addUser = params => { return axios.post(`${base}/mdp/sys/user/add`,params); }; +//普通查询 条件之间and关系 +export const queryUserById = params => { return axios.get(`${base}/mdp/sys/user/queryById`, { params: params }); }; -//删除一条用户表 params={userid:'内部用户编号 主键'} +//删除一条用户表 params={userid:'内部用户编号(账户编号),如果是机构管理员账户,则=机构号 主键'} export const delUser = params => { return axios.post(`${base}/mdp/sys/user/del`,params); }; -//批量删除用户表 params=[{userid:'内部用户编号 主键'}] +//批量删除用户表 params=[{userid:'内部用户编号(账户编号),如果是机构管理员账户,则=机构号 主键'}] +export const batchAddUser = params => { return axios.post(`${base}/mdp/sys/user/batchAdd`, params); }; + +//批量删除用户表 params=[{userid:'内部用户编号(账户编号),如果是机构管理员账户,则=机构号 主键'}] export const batchDelUser = params => { return axios.post(`${base}/mdp/sys/user/batchDel`, params); }; //修改一条用户表记录 export const editUser = params => { return axios.post(`${base}/mdp/sys/user/edit`, params); }; +//新增一条用户表 +export const addUser = params => { return axios.post(`${base}/mdp/sys/user/add`, params); }; -//修改某个字段 -export const editSomeFieldsUser = params => { return axios.post(`${base}/mdp/sys/user/editSomeFields`, params); }; +//批量修改某些字段 +export const editSomeFieldsUser = params => { return axios.post(`${base}/mdp/sys/user/editSomeFields`, params); }; //重置管理人员帮别人重置密码 export const resetPasswordByAdmin = params => { return axios.post(`${base}/sys/user/resetPassword`, params); }; @@ -50,7 +45,7 @@ export const changePassword = params => { return axios.post(`${base}/sys/user/ch export const inviteUsersByEmails = params => { return axios.post(`${base}/sys/user/inviteUsersByEmails`, params); }; //邀请别人加入团队-手机号码方式邀请 -export const inviteUsersByPhonenos = params => { return axios.post(`${base}/sys/user/inviteUsersByPhonenos`, params); }; +export const inviteUsersByPhonenos = params => { return axios.post(`${base}/sys/user/inviteUsersByPhonenos`, params); }; //设置用户为机构管理员 @@ -64,111 +59,7 @@ export const setUsersUnBranchAdm = params => { return axios.post(`${base}/sys/us //更新当前登录着的头像 export const editHeadimgurl = params => { return axios.post(`${base}/sys/user/editHeadimgurl`, params); }; -export const formatGradeLogo = item => { - if (item.gradeId == '2') { - item.gradeName = '学士'; - item.gradeLogo = require('../../../../static/images/ability-level2.png'); - } else if (item.gradeId == '3') { - item.gradeName = '进士'; - item.gradeLogo = require('../../../../static/images/ability-level3.png'); - } else if (item.gradeId == '4') { - item.gradeName = '大师'; - item.gradeLogo = require('../../../../static/images/ability-level4.png'); - } else if (item.gradeId == '5') { - item.gradeName = '宗师'; - item.gradeLogo = require('../../../../static/images/ability-level5.png'); - } else if (item.gradeId == '6') { - item.gradeName = '天师'; - item.gradeLogo = require('../../../../static/images/ability-level6.png'); - } else if (item.gradeId == '7') { - item.gradeName = '神师'; - item.gradeLogo = require('../../../../static/images/ability-level7.png'); - }else { - item.gradeName = '学徒'; - item.gradeLogo = require('../../../../static/images/ability-level1.png'); - } - return item -} - -export const formatInterestsLogo = item => { - - if (item.ilvlId == '2') { - item.ilvlName = '青铜会员'; - item.ilvlLogo = require('../../../../static/images/mem-level1.png'); - } else if (item.ilvlId == '3') { - item.ilvlName = '白银会员'; - item.ilvlLogo = require('../../../../static/images/mem-level2.png'); - } else if (item.ilvlId == '4') { - item.ilvlName = '黄金会员'; - item.ilvlLogo = require('../../../../static/images/mem-level3.png'); - } else if (item.ilvlId == '5') { - item.ilvlName = '紫金会员'; - item.ilvlLogo = require('../../../../static/images/mem-level4.png'); - } else if (item.ilvlId == '6') { - item.ilvlName = '皇冠会员'; - item.ilvlLogo = require('../../../../static/images/mem-level5.png'); - } else { - item.ilvlId = '1'; - item.ilvlName = '普通会员'; - item.ilvlLogo = require('../../../../static/images/mem-level6.png'); - } - return item -} - -export const formatGuardLogo = item => { - if (item.guardId == '3') { - item.guardName = '金牌三保用户'; - item.guardLogo = require('../../../../static/images/is-gua.png'); - } else if (item.guardId == '2') { - item.guardName = '银牌三保用户'; - item.guardLogo = require('../../../../static/images/is-gua.png'); - } else if (item.guardId == '1') { - item.guardName = '铜牌三保用户'; - item.guardLogo = require('../../../../static/images/is-gua.png'); - } else { - item.guardName = '非三保用户'; - item.guardLogo = require('../../../../static/images/not-gua.png'); - } - return item -} -export const formatCreditLogo = item => { - if (item.creditId == 'D') { - item.creditName = 'D级信用'; - item.creditLogo = require('../../../../static/images/credit-level7.png'); - } else if (item.creditId == 'C') { - item.creditName = 'C级信用'; - item.creditLogo = require('../../../../static/images/credit-level6.png'); - } else if (item.creditId == 'B') { - item.creditName = 'B级信用'; - item.creditLogo = require('../../../../static/images/credit-level5.png'); - } else if (item.creditId == 'A') { - item.creditName = 'A级信用'; - item.creditLogo = require('../../../../static/images/credit-level4.png'); - } else if (item.creditId == 'S') { - item.creditName = 'S级信用'; - item.creditLogo = require('../../../../static/images/credit-level3.png'); - } else if (item.creditId == 'SS') { - item.creditName = 'SS级信用'; - item.creditLogo = require('../../../../static/images/credit-level2.png'); - } else if (item.creditId == 'SSS') { - item.creditName = 'SSS级信用'; - item.creditLogo = require('../../../../static/images/credit-level1.png'); - } else { - item.creditId = 'D'; - item.creditName = 'D级信用'; - item.creditLogo = require('../../../../static/images/credit-level7.png'); - } - return item; -} -export const formatUser = item => { - item.province = item.province ? CodeToText[item.province] : ''; - item.city = item.city ? CodeToText[item.city] : ''; - formatGuardLogo(item); - formatGradeLogo(item); - formatInterestsLogo(item); - formatCreditLogo(item); - return item - -} + + diff --git a/src/api/mdp/sys/userDept.js b/src/api/mdp/sys/userDept.js index 55590aa8..5dac3085 100644 --- a/src/api/mdp/sys/userDept.js +++ b/src/api/mdp/sys/userDept.js @@ -1,33 +1,39 @@ import axios from '@/utils/request' -import config from '@/common/config' + import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base = config.getSysContext() +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** * 用户部门关系表 - *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - *2 查询、新增、修改的参数格式 params={id:'主键 主键',userid:'用户编号',deptid:'部门编号',enabled:'是否启用',seq:'顺序号',branchId:'云机构编号'} + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={userid:'用户编号 主键',deptid:'部门编号 主键',enabled:'是否启用',seq:'顺序号'} **/ //普通查询 条件之间and关系 export const listUserDept = params => { return axios.get(`${base}/mdp/sys/userDept/list`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryUserDeptById = params => { return axios.get(`${base}/mdp/sys/userDept/queryById`, { params: params }); }; -//模糊查询用户部门关系表 条件之间or关系 -//export const listUserDeptKey = params => { return axios.get(`${base}/mdp/sys/userDept/listKey`, { params: params }); }; - -//删除一条用户部门关系表 params={id:'主键 主键'} +//删除一条用户部门关系表 params={userid:'用户编号 主键',deptid:'部门编号 主键'} export const delUserDept = params => { return axios.post(`${base}/mdp/sys/userDept/del`,params); }; -//批量删除用户部门关系表 params=[{id:'主键 主键'}] -export const batchDelUserDept = params => { return axios.post(`${base}/mdp/sys/userDept/batchDel`, params); }; +//批量删除用户部门关系表 params=[{userid:'用户编号 主键',deptid:'部门编号 主键'}] +export const batchAddUserDept = params => { return axios.post(`${base}/mdp/sys/userDept/batchAdd`, params); }; -//批量删除用户部门关系表 params={branchId:'',userid:'',dpetids:[]} -export const batchEditUserDept = params => { return axios.post(`${base}/mdp/sys/userDept/batchEdit`, params); }; +//批量删除用户部门关系表 params=[{userid:'用户编号 主键',deptid:'部门编号 主键'}] +export const batchDelUserDept = params => { return axios.post(`${base}/mdp/sys/userDept/batchDel`, params); }; //修改一条用户部门关系表记录 export const editUserDept = params => { return axios.post(`${base}/mdp/sys/userDept/edit`, params); }; //新增一条用户部门关系表 -export const addUserDept = params => { return axios.post(`${base}/mdp/sys/userDept/add`, params); }; \ No newline at end of file +export const addUserDept = params => { return axios.post(`${base}/mdp/sys/userDept/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsUserDept = params => { return axios.post(`${base}/mdp/sys/userDept/editSomeFields`, params); }; + +//批量删除用户部门关系表 params={branchId:'',userid:'',dpetid:[]} +export const batchEditUserDept = params => { return axios.post(`${base}/mdp/sys/userDept/batchEdit`, params); }; \ No newline at end of file diff --git a/src/api/mdp/sys/userFans.js b/src/api/mdp/sys/userFans.js new file mode 100644 index 00000000..fd4fb8ce --- /dev/null +++ b/src/api/mdp/sys/userFans.js @@ -0,0 +1,31 @@ +import axios from '@/utils/request' + +import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 +import config from '@/api/mdp_pub/mdp_config' + +let base = config.getSysContext() + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * sys_user_fans + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={userid:'我的账户 主键',fuserid:'我关注的用户 主键',ftime:'关注时间'} + **/ + +//普通查询 条件之间and关系 +export const listUserFans = params => { return axios.get(`${base}/mdp/sys/userFans/list`, { params: params }); }; + +//删除一条sys_user_fans params={userid:'我的账户 主键',fuserid:'我关注的用户 主键'} +export const delUserFans = params => { return axios.post(`${base}/mdp/sys/userFans/del`,params); }; + +//批量删除sys_user_fans params=[{userid:'我的账户 主键',fuserid:'我关注的用户 主键'}] +export const batchDelUserFans = params => { return axios.post(`${base}/mdp/sys/userFans/batchDel`, params); }; + +//修改一条sys_user_fans记录 +export const editUserFans = params => { return axios.post(`${base}/mdp/sys/userFans/edit`, params); }; + +//新增一条sys_user_fans +export const addUserFans = params => { return axios.post(`${base}/mdp/sys/userFans/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsUserFans = params => { return axios.post(`${base}/mdp/sys/userFans/editSomeFields`, params); }; diff --git a/src/api/mdp/sys/userFocus.js b/src/api/mdp/sys/userFocus.js index fae6a57b..7ae21cb4 100644 --- a/src/api/mdp/sys/userFocus.js +++ b/src/api/mdp/sys/userFocus.js @@ -1,9 +1,9 @@ import axios from '@/utils/request' import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() /**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** @@ -34,14 +34,3 @@ export const editSomeFieldsUserFocus = params => { return axios.post(`${base}/md export const myFocusForIndex = params => { return axios.get(`${base}/mdp/sys/userFocus/myFocusForIndex`, { params: params }); }; - -/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ -//初始化页面上的字典 -export const initDicts = (that) => { - var itemCodes=['objType'];//在此添加要加载的字典 如['sex','grade','lvl'] - if(itemCodes.length>0){ - initSimpleDicts('all',itemCodes).then(res=>{ - Object.assign(that.dicts,res.data.data) - }); - } -}; \ No newline at end of file diff --git a/src/api/mdp/sys/userLoginRecord.js b/src/api/mdp/sys/userLoginRecord.js index 06796f75..3996995e 100644 --- a/src/api/mdp/sys/userLoginRecord.js +++ b/src/api/mdp/sys/userLoginRecord.js @@ -1,23 +1,29 @@ import axios from '@/utils/request' -import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表 -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext(); -/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** * 用户登录信息登记 - *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - *2 查询、新增、修改的参数格式 params={id:'主键 主键',userid:'用户编号',shopId:'商户编号',locationId:'门店编号',loginShopid:'登录的商户编号',loginLocationid:'登录的门店编号',branchId:'机构编号',loginType:'1-微信扫门店二维码,2-点击小程序登录,3-账户密码登录,4-手机号码登录',loginTime:'登录时间',loginBranchId:'登录机构号',username:'登录用户名',authId:'授权码',mdpAppid:'mdp平台appid',lockNo:'批处理编号',lockStatus:'批处理状态0-待处理1-处理中2处理完毕',lockTime:'批处理时间',phoneno:'登录手机号',loginIp:'登录ip',userType:'mem-会员端用户,adm-管理端用户',loginDeviceId:'登录设备编号',loginDeviceSn:'设备特征码',userAgent:'请求特征码',reqNo:'请求特征码-方便前端补充回填部分信息',deviceType:'设备类型COMPUTER/MOBILE/TABLET/GAME_CONSOLE/DMR/WEARABLE/UNKNOWN',os:'操作系统Windows/ios/Android',osVersion:'操作系统版本如Android',osName:'操作系统名称如Android',renderingEngine:'浏览器渲染引擎如WEBKIT',deviceManufacturer:'设备生产厂商',browerGroup:'浏览器组',borderName:'浏览器名称',borderVersion:'浏览器版本',longitude:'经度',latitude:'纬度',regionId:'区域编号精确到4级镇、街道',regionName:'定位街道名称',formatAddress:'定位格式化地址名称',districtId:'定位区县编号',memType:'用户类型',loginStatus:'1-登录成功,0-登录失败',loginMsg:'登录成功或者失败的说明',authType:'授权码',grantType:'授权码'} + * 1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + * 2 查询、新增、修改的参数格式 params={id:'主键 主键',userid:'用户编号',shopId:'商户编号',locationId:'门店编号',loginShopid:'登录的商户编号',loginLocationid:'登录的门店编号',branchId:'机构编号',loginType:'1-微信扫门店二维码,2-点击小程序登录,3-账户密码登录,4-手机号码登录',loginTime:'登录时间',loginBranchId:'登录机构号',username:'登录用户名',authId:'授权码',mdpAppid:'mdp平台appid',lockNo:'批处理编号',lockStatus:'批处理状态0-待处理1-处理中2处理完毕',lockTime:'批处理时间',phoneno:'登录手机号',loginIp:'登录ip',userType:'mem-会员端用户,adm-管理端用户',loginDeviceId:'登录设备编号',loginDeviceSn:'设备特征码',userAgent:'请求特征码',reqNo:'请求特征码-方便前端补充回填部分信息',deviceType:'设备类型COMPUTER/MOBILE/TABLET/GAME_CONSOLE/DMR/WEARABLE/UNKNOWN',os:'操作系统Windows/ios/Android',osVersion:'操作系统版本如Android',osName:'操作系统名称如Android',renderingEngine:'浏览器渲染引擎如WEBKIT',deviceManufacturer:'设备生产厂商',browerGroup:'浏览器组',borderName:'浏览器名称',borderVersion:'浏览器版本',longitude:'经度',latitude:'纬度',regionId:'区域编号精确到4级镇、街道',regionName:'定位街道名称',formatAddress:'定位格式化地址名称',districtId:'定位区县编号',memType:'用户类型',loginStatus:'1-登录成功,0-登录失败',loginMsg:'登录成功或者失败的说明',authType:'授权码',grantType:'授权码'} + * @author maimeng-mdp code-gen + * @since 2023-10-1 **/ //普通查询 条件之间and关系 export const listUserLoginRecord = params => { return axios.get(`${base}/mdp/sys/userLoginRecord/list`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryUserLoginRecordById = params => { return axios.get(`${base}/mdp/sys/userLoginRecord/queryById`, { params: params }); }; + //删除一条用户登录信息登记 params={id:'主键 主键'} export const delUserLoginRecord = params => { return axios.post(`${base}/mdp/sys/userLoginRecord/del`,params); }; +//批量删除用户登录信息登记 params=[{id:'主键 主键'}] +export const batchAddUserLoginRecord = params => { return axios.post(`${base}/mdp/sys/userLoginRecord/batchAdd`, params); }; + //批量删除用户登录信息登记 params=[{id:'主键 主键'}] export const batchDelUserLoginRecord = params => { return axios.post(`${base}/mdp/sys/userLoginRecord/batchDel`, params); }; @@ -28,17 +34,4 @@ export const editUserLoginRecord = params => { return axios.post(`${base}/mdp/sy export const addUserLoginRecord = params => { return axios.post(`${base}/mdp/sys/userLoginRecord/add`, params); }; //批量修改某些字段 -export const editSomeFieldsUserLoginRecord = params => { return axios.post(`${base}/mdp/sys/userLoginRecord/editSomeFields`, params); }; - - - -/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */ -//初始化页面上的字典 -export const initDicts = (that) => { - var itemCodes=[];//在此添加要加载的字典 如['sex','grade','lvl'] - if(itemCodes.length>0){ - initSimpleDicts('all',itemCodes).then(res=>{ - Object.assign(that.dicts,res.data.data) - }); - } -}; \ No newline at end of file +export const editSomeFieldsUserLoginRecord = params => { return axios.post(`${base}/mdp/sys/userLoginRecord/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/sys/userRole.js b/src/api/mdp/sys/userRole.js index 8fef4a50..898a30a4 100644 --- a/src/api/mdp/sys/userRole.js +++ b/src/api/mdp/sys/userRole.js @@ -1,35 +1,36 @@ import axios from '@/utils/request' -import config from '@/common/config' + import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base = config.getSysContext() +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** - * 用户角色表 - *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - *2 查询、新增、修改的参数格式 params={id:'主键ID 主键',roleid:'用户组编号',userid:'用户编号',remark:'备注',userroleBeg:'有效时间始',userroleEnd:'有效时间止',createDate:'创建日期',roleSort:'顺序号',enabled:'0不启用1启用',deptid:'机构编号',branchId:'云用户机构编号'} + * 用户角色表(作废) + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={roleid:'用户组编号 主键',userid:'用户编号 主键',} **/ //普通查询 条件之间and关系 export const listUserRole = params => { return axios.get(`${base}/mdp/sys/userRole/list`, { params: params }); }; -//普通查询 -export const listUserInfosByRoleid = params => { return axios.get(`${base}/sys/userRole/list/users`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryUserRoleById = params => { return axios.get(`${base}/mdp/sys/userRole/queryById`, { params: params }); }; -//删除一条用户角色表 params={id:'主键ID 主键'} +//删除一条用户角色表(作废) params={roleid:'用户组编号 主键',userid:'用户编号 主键'} export const delUserRole = params => { return axios.post(`${base}/mdp/sys/userRole/del`,params); }; -//批量删除用户角色表 params=[{id:'主键ID 主键'}] +//批量删除用户角色表(作废) params=[{roleid:'用户组编号 主键',userid:'用户编号 主键'}] +export const batchAddUserRole = params => { return axios.post(`${base}/mdp/sys/userRole/batchAdd`, params); }; + +//批量删除用户角色表(作废) params=[{roleid:'用户组编号 主键',userid:'用户编号 主键'}] export const batchDelUserRole = params => { return axios.post(`${base}/mdp/sys/userRole/batchDel`, params); }; -//修改一条用户角色表记录 +//修改一条用户角色表(作废)记录 export const editUserRole = params => { return axios.post(`${base}/mdp/sys/userRole/edit`, params); }; -//批量删除 -export const batchEditUserRole = params => { return axios.post(`${base}/sys/userRole/batchEdit`, params); }; - -//修改一个 -//export const editUserRole = params => { return axios.post(`${base}/sys/userRole/edit`, params); }; +//新增一条用户角色表(作废) +export const addUserRole = params => { return axios.post(`${base}/mdp/sys/userRole/add`, params); }; -//新增一个 -//export const addUserRole = params => { return axios.post(`${base}/sys/userRole/add`, params); }; \ No newline at end of file +//批量修改某些字段 +export const editSomeFieldsUserRole = params => { return axios.post(`${base}/mdp/sys/userRole/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/sys/userTpa.js b/src/api/mdp/sys/userTpa.js index fd3e8f44..52815028 100644 --- a/src/api/mdp/sys/userTpa.js +++ b/src/api/mdp/sys/userTpa.js @@ -1,25 +1,30 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSysBasePath(); +let base = config.getSysContext(); /** * 第三方系统向我方开放的用户列表 - *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - *2 查询、新增、修改的参数格式 params={id:'主键 主键',unionid:'全局唯一编号',openid:'帐户加密后的编号,用于对第三方系统进行开放',userid:'MDP用户编号',locked:'是否被锁定',startdate:'启用日期',nickname:'昵称',username:'用户名称',phoneno:'移动电话号码',country:'国家',city:'城市',headimgurl:'头像地址',province:'省份',userunionid:'对应本系统user表的UNIONID',mdpAppid:'前端应用系统编号',deptid:'机构编号',branchId:'云用户机构编号',appid:'第三方登录应用系统编号',authId:'授权编号'} + * 1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + * 2 查询、新增、修改的参数格式 params={openid:'帐户加密后的编号,用于对第三方系统进行开放 主键',unionid:'全局唯一编号',locked:'是否被锁定',startdate:'启用日期',nickname:'昵称',username:'用户名称',phoneno:'移动电话号码',country:'国家',city:'城市',headimgurl:'头像地址',province:'省份',mdpAppid:'前端应用系统编号',appid:'第三方登录应用系统编号',authId:'授权编号',bizType:'biz_type',gender:'性别',appType:'第三方应用类型,字典tpa_app_type,1-微信公众号,2-小程序,3-微信开放平台',inviteId:'邀请码-对应invite.invite_id'} + * @author maimeng-mdp code-gen + * @since 2023-9-22 **/ - -//普通查询 条件之间and关系 + +//普通查询 条件之间and关系 export const listUserTpa = params => { return axios.get(`${base}/mdp/sys/userTpa/list`, { params: params }); }; -//模糊查询第三方系统向我方开放的用户列表 条件之间or关系 -//export const listUserTpaKey = params => { return axios.get(`${base}/mdp/sys/userTpa/listKey`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryUserTpaById = params => { return axios.get(`${base}/mdp/sys/userTpa/queryById`, { params: params }); }; -//删除一条第三方系统向我方开放的用户列表 params={id:'主键 主键'} +//删除一条第三方系统向我方开放的用户列表 params={openid:'帐户加密后的编号,用于对第三方系统进行开放 主键'} export const delUserTpa = params => { return axios.post(`${base}/mdp/sys/userTpa/del`,params); }; -//批量删除第三方系统向我方开放的用户列表 params=[{id:'主键 主键'}] +//批量删除第三方系统向我方开放的用户列表 params=[{openid:'帐户加密后的编号,用于对第三方系统进行开放 主键'}] +export const batchAddUserTpa = params => { return axios.post(`${base}/mdp/sys/userTpa/batchAdd`, params); }; + +//批量删除第三方系统向我方开放的用户列表 params=[{openid:'帐户加密后的编号,用于对第三方系统进行开放 主键'}] export const batchDelUserTpa = params => { return axios.post(`${base}/mdp/sys/userTpa/batchDel`, params); }; //修改一条第三方系统向我方开放的用户列表记录 @@ -28,9 +33,5 @@ export const editUserTpa = params => { return axios.post(`${base}/mdp/sys/userTp //新增一条第三方系统向我方开放的用户列表 export const addUserTpa = params => { return axios.post(`${base}/mdp/sys/userTpa/add`, params); }; -//查询用户表关联的第三方系统的向我方开放的用户列表 -export const selectByUserTpa = params => { return axios.get(`${base}/mdp/sys/userTpa/selectByUserTpa`, { params: params }); }; -//查看mk的会员表 -export const selectByMemMember = params => { return axios.get(`${base}/mdp/sys/userTpa/selectByMemMember`, { params: params }); }; -//添加 -export const addSubacctAddForm = params => { return axios.post(`${base}/mdp/sys/userTpa/addSubacctAddForm`, params); }; +//批量修改某些字段 +export const editSomeFieldsUserTpa = params => { return axios.post(`${base}/mdp/sys/userTpa/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/sys/userTpaApply.js b/src/api/mdp/sys/userTpaApply.js index e39cc4ff..a5649fd9 100644 --- a/src/api/mdp/sys/userTpaApply.js +++ b/src/api/mdp/sys/userTpaApply.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getSysBasePath(); +let base = config.getSysContext() /** diff --git a/src/api/mdp/sys/userTpaInvite.js b/src/api/mdp/sys/userTpaInvite.js new file mode 100644 index 00000000..5306a517 --- /dev/null +++ b/src/api/mdp/sys/userTpaInvite.js @@ -0,0 +1,44 @@ +import axios from '@/utils/request' + +import config from '@/api/mdp_pub/mdp_config' + +let base = config.getSysContext(); + +/** + * 第三方邀请加入流水表,send_branch_id+join_userid唯一索引 + * 1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + * 2 查询、新增、修改的参数格式 params={inviteId:'邀请编号,带到邀请链接中的state字段,通过该邀请码反查邀请信息 主键',joinUserid:'被邀请的用户编号,对应sys_user.userid',sendBranchId:'邀请加入的企业编号',sendUserid:'发起邀请的用户编号',sendBranchName:'邀请加入的企业编号',sendUsername:'发起邀请的用户名',joinUsername:'被邀请的用户名称',sendTime:'邀请时间',joinTime:'加入时间',inviteState:'邀请状态,字典invite_state,0-发起,1-待客户扫码确认,2-已加入',inviteScene:'邀请场景,1-裸邦,创建个人虚拟企业及账户',inviteType:'邀请类型,1-微信-扫码,2-手机号码+短信验证码,3-邮件+验证码,4-小程序'} + * @author maimeng-mdp code-gen + * @since 2023-9-22 + **/ + +//普通查询 条件之间and关系 +export const listUserTpaInvite = params => { return axios.get(`${base}/mdp/sys/userTpaInvite/list`, { params: params }); }; + +//普通查询 条件之间and关系 +export const queryUserTpaInviteById = params => { return axios.get(`${base}/mdp/sys/userTpaInvite/queryById`, { params: params }); }; + +//删除一条第三方邀请加入流水表,send_branch_id+join_userid唯一索引 params={inviteId:'邀请编号,带到邀请链接中的state字段,通过该邀请码反查邀请信息 主键'} +export const delUserTpaInvite = params => { return axios.post(`${base}/mdp/sys/userTpaInvite/del`,params); }; + +//批量删除第三方邀请加入流水表,send_branch_id+join_userid唯一索引 params=[{inviteId:'邀请编号,带到邀请链接中的state字段,通过该邀请码反查邀请信息 主键'}] +export const batchAddUserTpaInvite = params => { return axios.post(`${base}/mdp/sys/userTpaInvite/batchAdd`, params); }; + +//批量删除第三方邀请加入流水表,send_branch_id+join_userid唯一索引 params=[{inviteId:'邀请编号,带到邀请链接中的state字段,通过该邀请码反查邀请信息 主键'}] +export const batchDelUserTpaInvite = params => { return axios.post(`${base}/mdp/sys/userTpaInvite/batchDel`, params); }; + +//修改一条第三方邀请加入流水表,send_branch_id+join_userid唯一索引记录 +export const editUserTpaInvite = params => { return axios.post(`${base}/mdp/sys/userTpaInvite/edit`, params); }; + +//新增一条第三方邀请加入流水表,send_branch_id+join_userid唯一索引 +export const addUserTpaInvite = params => { return axios.post(`${base}/mdp/sys/userTpaInvite/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsUserTpaInvite = params => { return axios.post(`${base}/mdp/sys/userTpaInvite/editSomeFields`, params); }; + +//创建邀请码 +export const createInviteId = params => { return axios.post(`${base}/mdp/sys/userTpaInvite/createInviteId`,params); }; + + +//检查邀请码是否有效 +export const checkInviteId = params => { return axios.get(`${base}/mdp/sys/userTpaInvite/checkInviteId`, { params: params }); }; diff --git a/src/api/mdp/sys/userValidInfo.js b/src/api/mdp/sys/userValidInfo.js new file mode 100644 index 00000000..d2b7ffae --- /dev/null +++ b/src/api/mdp/sys/userValidInfo.js @@ -0,0 +1,36 @@ +import axios from '@/utils/request' + + import config from '@/api/mdp_pub/mdp_config' + +let base = config.getSysContext() + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * 用户实名验证资料库 + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={userid:'用户编号,如果是机构就是机构编号对应的用户编号 主键',idFront:'身份证正面',idBack:'身份证反面',idHold:'手持身份证',bizLicense:'营业执照',oths:'其它逗号分割多个',idNo:'身份证号',idEtime:'身份证到期日期',uscc:'统一信用代码号税号营业执照号等',actBname:'机构实名名称',actUname:'实名用户名称或者法人名称',ctime:'新增时间',ltime:'修改时间',flowState:'审核状态0-初始,1-审核中,2-通过,3-拒绝',isOrg:'是否为机构,0-否,1-是,机构指企业认证,个人指实名认证',validRemarks:'审核原因说明',branchId:'归属机构编号'} + **/ + +//普通查询 条件之间and关系 +export const listUserValidInfo = params => { return axios.get(`${base}/mdp/sys/userValidInfo/list`, { params: params }); }; + +//普通查询 条件之间and关系 +export const queryUserValidInfoById = params => { return axios.get(`${base}/mdp/sys/userValidInfo/queryById`, { params: params }); }; + +//删除一条用户实名验证资料库 params={userid:'用户编号,如果是机构就是机构编号对应的用户编号 主键'} +export const delUserValidInfo = params => { return axios.post(`${base}/mdp/sys/userValidInfo/del`,params); }; + +//批量删除用户实名验证资料库 params=[{userid:'用户编号,如果是机构就是机构编号对应的用户编号 主键'}] +export const batchAddUserValidInfo = params => { return axios.post(`${base}/mdp/sys/userValidInfo/batchAdd`, params); }; + +//批量删除用户实名验证资料库 params=[{userid:'用户编号,如果是机构就是机构编号对应的用户编号 主键'}] +export const batchDelUserValidInfo = params => { return axios.post(`${base}/mdp/sys/userValidInfo/batchDel`, params); }; + +//修改一条用户实名验证资料库记录 +export const editUserValidInfo = params => { return axios.post(`${base}/mdp/sys/userValidInfo/edit`, params); }; + +//新增一条用户实名验证资料库 +export const addUserValidInfo = params => { return axios.post(`${base}/mdp/sys/userValidInfo/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsUserValidInfo = params => { return axios.post(`${base}/mdp/sys/userValidInfo/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/workflow/biz/bizModel.js b/src/api/mdp/workflow/biz/bizModel.js index df3a9c35..1bb1eb6f 100644 --- a/src/api/mdp/workflow/biz/bizModel.js +++ b/src/api/mdp/workflow/biz/bizModel.js @@ -1,30 +1,36 @@ import axios from '@/utils/request' -import config from '@/common/config' - -let base = config.getWorkflowBasePath(); + import config from '@/api/mdp_pub/mdp_config' +let base = config.getWorkflowContext(); +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ /** - * mdp_biz_model - *1 默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + * 业务功能与模型的关联关系,也就是某个功能可以用哪些流程发起审批 + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, *2 查询、新增、修改的参数格式 params={id:'主键 主键',bizName:'业务名称',bizKey:'业务编码',modelKey:'模型编码',modelName:'模型名称',branchId:'机构编号'} **/ //普通查询 条件之间and关系 export const listBizModel = params => { return axios.get(`${base}/mdp/workflow/biz/bizModel/list`, { params: params }); }; -//模糊查询mdp_biz_model 条件之间or关系 -//export const listBizModelKey = params => { return axios.get(`${base}/mdp/workflow/biz/bizModel/listKey`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryBizModelById = params => { return axios.get(`${base}/mdp/workflow/biz/bizModel/queryById`, { params: params }); }; -//删除一条mdp_biz_model params={id:'主键 主键'} +//删除一条业务功能与模型的关联关系,也就是某个功能可以用哪些流程发起审批 params={id:'主键 主键'} export const delBizModel = params => { return axios.post(`${base}/mdp/workflow/biz/bizModel/del`,params); }; -//批量删除mdp_biz_model params=[{id:'主键 主键'}] +//批量删除业务功能与模型的关联关系,也就是某个功能可以用哪些流程发起审批 params=[{id:'主键 主键'}] +export const batchAddBizModel = params => { return axios.post(`${base}/mdp/workflow/biz/bizModel/batchAdd`, params); }; + +//批量删除业务功能与模型的关联关系,也就是某个功能可以用哪些流程发起审批 params=[{id:'主键 主键'}] export const batchDelBizModel = params => { return axios.post(`${base}/mdp/workflow/biz/bizModel/batchDel`, params); }; -//修改一条mdp_biz_model记录 +//修改一条业务功能与模型的关联关系,也就是某个功能可以用哪些流程发起审批记录 export const editBizModel = params => { return axios.post(`${base}/mdp/workflow/biz/bizModel/edit`, params); }; -//新增一条mdp_biz_model -export const addBizModel = params => { return axios.post(`${base}/mdp/workflow/biz/bizModel/add`, params); }; \ No newline at end of file +//新增一条业务功能与模型的关联关系,也就是某个功能可以用哪些流程发起审批 +export const addBizModel = params => { return axios.post(`${base}/mdp/workflow/biz/bizModel/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsBizModel = params => { return axios.post(`${base}/mdp/workflow/biz/bizModel/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/workflow/de/model.js b/src/api/mdp/workflow/de/model.js index 27b2abe3..3ca032f3 100644 --- a/src/api/mdp/workflow/de/model.js +++ b/src/api/mdp/workflow/de/model.js @@ -1,31 +1,36 @@ import axios from '@/utils/request' -import config from '@/common/config' - -let base=config.getWorkflowBasePath(); - -//默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:1,pageSize:10,total:0},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - -//普通查询 + import config from '@/api/mdp_pub/mdp_config' + +let base = config.getWorkflowContext(); + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * act_de_model + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'id 主键',name:'name',modelKey:'model_key',description:'description',modelComment:'model_comment',created:'created',createdBy:'created_by',lastUpdated:'last_updated',lastUpdatedBy:'last_updated_by',version:'version',modelEditorJson:'model_editor_json',thumbnail:'thumbnail',modelType:'model_type',tenantId:'tenant_id'} + **/ + +//普通查询 条件之间and关系 export const listModel = params => { return axios.get(`${base}/mdp/workflow/de/model/list`, { params: params }); }; -//关键字模糊查询 {字段1:v1,字段2:v1,字段3:v1},字段驼峰命名,条件之间默认为or关系 -//export const listModelKey = params => { return axios.get(`${base}/mdp/workflow/de/model/listKey`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryModelById = params => { return axios.get(`${base}/mdp/workflow/de/model/queryById`, { params: params }); }; -//删除一个 +//删除一条act_de_model params={id:'id 主键'} export const delModel = params => { return axios.post(`${base}/mdp/workflow/de/model/del`,params); }; -//批量删除 +//批量删除act_de_model params=[{id:'id 主键'}] +export const batchAddModel = params => { return axios.post(`${base}/mdp/workflow/de/model/batchAdd`, params); }; + +//批量删除act_de_model params=[{id:'id 主键'}] export const batchDelModel = params => { return axios.post(`${base}/mdp/workflow/de/model/batchDel`, params); }; -//修改一个 +//修改一条act_de_model记录 export const editModel = params => { return axios.post(`${base}/mdp/workflow/de/model/edit`, params); }; -//修改一个 -export const deployModel = params => { return axios.post(`${base}/mdp/workflow/de/model/deploy`, params); }; - -//修改一个 -export const unDeployModel = params => { return axios.post(`${base}/mdp/workflow/de/model/unDeploy`, params); }; +//新增一条act_de_model +export const addModel = params => { return axios.post(`${base}/mdp/workflow/de/model/add`, params); }; -//新增一个 -export const addModel = params => { return axios.post(`${base}/mdp/workflow/de/model/add`, params); }; \ No newline at end of file +//批量修改某些字段 +export const editSomeFieldsModel = params => { return axios.post(`${base}/mdp/workflow/de/model/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/workflow/hi/comment.js b/src/api/mdp/workflow/hi/comment.js index 6ebb8f81..e47b90c8 100644 --- a/src/api/mdp/workflow/hi/comment.js +++ b/src/api/mdp/workflow/hi/comment.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getWorkflowBasePath(); +let base=config.getWorkflowContext(); //默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:1,pageSize:10,total:0},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, diff --git a/src/api/mdp/workflow/hi/procinst.js b/src/api/mdp/workflow/hi/procinst.js index 4df8fc69..11776885 100644 --- a/src/api/mdp/workflow/hi/procinst.js +++ b/src/api/mdp/workflow/hi/procinst.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getWorkflowBasePath(); +let base=config.getWorkflowContext(); //默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:1,pageSize:10,total:0},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, diff --git a/src/api/mdp/workflow/re/actAssignee.js b/src/api/mdp/workflow/re/actAssignee.js index d31e4aa2..ce9b684a 100644 --- a/src/api/mdp/workflow/re/actAssignee.js +++ b/src/api/mdp/workflow/re/actAssignee.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getWorkflowBasePath(); +let base=config.getWorkflowContext(); //默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:1,pageSize:10,total:0},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, diff --git a/src/api/mdp/workflow/re/deployment.js b/src/api/mdp/workflow/re/deployment.js index bc0921a1..d3668218 100644 --- a/src/api/mdp/workflow/re/deployment.js +++ b/src/api/mdp/workflow/re/deployment.js @@ -1,25 +1,36 @@ import axios from '@/utils/request' -import config from '@/common/config' - -let base=config.getWorkflowBasePath(); - -//默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:1,pageSize:10,total:0},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - -//普通查询 + import config from '@/api/mdp_pub/mdp_config' + +let base = config.getWorkflowContext(); + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * act_re_deployment + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'id_ 主键',name:'name_',category:'category_',key:'key_',tenantId:'tenant_id_',deployTime:'deploy_time_',derivedFrom:'derived_from_',derivedFromRoot:'derived_from_root_',parentDeploymentId:'parent_deployment_id_',engineVersion:'engine_version_'} + **/ + +//普通查询 条件之间and关系 export const listDeployment = params => { return axios.get(`${base}/mdp/workflow/re/deployment/list`, { params: params }); }; -//关键字模糊查询 {字段1:v1,字段2:v1,字段3:v1},字段驼峰命名,条件之间默认为or关系 -//export const listDeploymentKey = params => { return axios.get(`${base}/mdp/workflow/re/deployment/listKey`, { params: params }); }; +//普通查询 条件之间and关系 +export const queryDeploymentById = params => { return axios.get(`${base}/mdp/workflow/re/deployment/queryById`, { params: params }); }; -//删除一个 +//删除一条act_re_deployment params={id:'id_ 主键'} export const delDeployment = params => { return axios.post(`${base}/mdp/workflow/re/deployment/del`,params); }; -//批量删除 +//批量删除act_re_deployment params=[{id:'id_ 主键'}] +export const batchAddDeployment = params => { return axios.post(`${base}/mdp/workflow/re/deployment/batchAdd`, params); }; + +//批量删除act_re_deployment params=[{id:'id_ 主键'}] export const batchDelDeployment = params => { return axios.post(`${base}/mdp/workflow/re/deployment/batchDel`, params); }; -//修改一个 +//修改一条act_re_deployment记录 export const editDeployment = params => { return axios.post(`${base}/mdp/workflow/re/deployment/edit`, params); }; -//新增一个 -export const addDeployment = params => { return axios.post(`${base}/mdp/workflow/re/deployment/add`, params); }; \ No newline at end of file +//新增一条act_re_deployment +export const addDeployment = params => { return axios.post(`${base}/mdp/workflow/re/deployment/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsDeployment = params => { return axios.post(`${base}/mdp/workflow/re/deployment/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/workflow/re/procdef.js b/src/api/mdp/workflow/re/procdef.js index 57f7da01..abd59dec 100644 --- a/src/api/mdp/workflow/re/procdef.js +++ b/src/api/mdp/workflow/re/procdef.js @@ -1,27 +1,32 @@ import axios from '@/utils/request' -import config from '@/common/config' - -let base=config.getWorkflowBasePath(); - -//默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:1,pageSize:10,total:0},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, - -//普通查询 + import config from '@/api/mdp_pub/mdp_config' + +let base = config.getWorkflowContext(); + +/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */ +/** + * act_re_procdef + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={id:'id_ 主键',rev:'rev_',category:'category_',name:'name_',key:'key_',version:'version_',deploymentId:'deployment_id_',resourceName:'resource_name_',dgrmResourceName:'dgrm_resource_name_',description:'description_',hasStartFormKey:'has_start_form_key_',hasGraphicalNotation:'has_graphical_notation_',suspensionState:'suspension_state_',tenantId:'tenant_id_',engineVersion:'engine_version_',derivedFrom:'derived_from_',derivedFromRoot:'derived_from_root_',derivedVersion:'derived_version_'} + **/ + +//普通查询 条件之间and关系 export const listProcdef = params => { return axios.get(`${base}/mdp/workflow/re/procdef/list`, { params: params }); }; //普通查询 export const listCategorys = params => { return axios.get(`${base}/mdp/workflow/re/procdef/categorys`, { params: params }); }; -//关键字模糊查询 {字段1:v1,字段2:v1,字段3:v1},字段驼峰命名,条件之间默认为or关系 -//export const listProcdefKey = params => { return axios.get(`${base}/mdp/workflow/re/procdef/listKey`, { params: params }); }; - -//删除一个 +//删除一条act_re_procdef params={id:'id_ 主键'} export const delProcdef = params => { return axios.post(`${base}/mdp/workflow/re/procdef/del`,params); }; -//批量删除 +//批量删除act_re_procdef params=[{id:'id_ 主键'}] +export const batchAddProcdef = params => { return axios.post(`${base}/mdp/workflow/re/procdef/batchAdd`, params); }; + +//批量删除act_re_procdef params=[{id:'id_ 主键'}] export const batchDelProcdef = params => { return axios.post(`${base}/mdp/workflow/re/procdef/batchDel`, params); }; -//修改一个 +//修改一条act_re_procdef记录 export const editProcdef = params => { return axios.post(`${base}/mdp/workflow/re/procdef/edit`, params); }; //修改一个 @@ -31,4 +36,7 @@ export const suspendProcdef = params => { return axios.post(`${base}/mdp/workflo export const activateProcdef = params => { return axios.post(`${base}/mdp/workflow/re/procdef/activate`, params); }; //新增一个 -export const addProcdef = params => { return axios.post(`${base}/mdp/workflow/re/procdef/add`, params); }; \ No newline at end of file +export const addProcdef = params => { return axios.post(`${base}/mdp/workflow/re/procdef/add`, params); }; + +//批量修改某些字段 +export const editSomeFieldsProcdef = params => { return axios.post(`${base}/mdp/workflow/re/procdef/editSomeFields`, params); }; \ No newline at end of file diff --git a/src/api/mdp/workflow/re/procdefNodeInfo.js b/src/api/mdp/workflow/re/procdefNodeInfo.js index 77fe0502..16628b55 100644 --- a/src/api/mdp/workflow/re/procdefNodeInfo.js +++ b/src/api/mdp/workflow/re/procdefNodeInfo.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getWorkflowBasePath(); +let base = config.getWorkflowContext(); /** diff --git a/src/api/mdp/workflow/re/procdefNodeUser.js b/src/api/mdp/workflow/re/procdefNodeUser.js index ccc8f0c4..93ca7210 100644 --- a/src/api/mdp/workflow/re/procdefNodeUser.js +++ b/src/api/mdp/workflow/re/procdefNodeUser.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getWorkflowBasePath(); +let base = config.getWorkflowContext(); /** diff --git a/src/api/mdp/workflow/re/procdefParames.js b/src/api/mdp/workflow/re/procdefParames.js index 33d8117c..b9449e2b 100644 --- a/src/api/mdp/workflow/re/procdefParames.js +++ b/src/api/mdp/workflow/re/procdefParames.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getWorkflowBasePath(); +let base = config.getWorkflowContext(); /** diff --git a/src/api/mdp/workflow/re/procdefParamesTemplate.js b/src/api/mdp/workflow/re/procdefParamesTemplate.js index 347cc4da..26cc25f7 100644 --- a/src/api/mdp/workflow/re/procdefParamesTemplate.js +++ b/src/api/mdp/workflow/re/procdefParamesTemplate.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getWorkflowBasePath(); +let base = config.getWorkflowContext(); /** diff --git a/src/api/mdp/workflow/re/procdefTag.js b/src/api/mdp/workflow/re/procdefTag.js index 017e477c..e838ff51 100644 --- a/src/api/mdp/workflow/re/procdefTag.js +++ b/src/api/mdp/workflow/re/procdefTag.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getWorkflowBasePath(); +let base = config.getWorkflowContext(); /** diff --git a/src/api/mdp/workflow/ru/execution.js b/src/api/mdp/workflow/ru/execution.js index 96af91c5..85d6a0d8 100644 --- a/src/api/mdp/workflow/ru/execution.js +++ b/src/api/mdp/workflow/ru/execution.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getWorkflowBasePath(); +let base=config.getWorkflowContext(); //默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:1,pageSize:10,total:0},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, diff --git a/src/api/mdp/workflow/ru/procinstFormData.js b/src/api/mdp/workflow/ru/procinstFormData.js index 29e16c71..34d534f0 100644 --- a/src/api/mdp/workflow/ru/procinstFormData.js +++ b/src/api/mdp/workflow/ru/procinstFormData.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getWorkflowBasePath(); +let base = config.getWorkflowContext(); /** diff --git a/src/api/mdp/workflow/ru/procinstNodeInfo.js b/src/api/mdp/workflow/ru/procinstNodeInfo.js index 4731e85b..95f81f0f 100644 --- a/src/api/mdp/workflow/ru/procinstNodeInfo.js +++ b/src/api/mdp/workflow/ru/procinstNodeInfo.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getWorkflowBasePath(); +let base = config.getWorkflowContext(); /** diff --git a/src/api/mdp/workflow/ru/procinstNodeUser.js b/src/api/mdp/workflow/ru/procinstNodeUser.js index c4da5ca8..061c5c61 100644 --- a/src/api/mdp/workflow/ru/procinstNodeUser.js +++ b/src/api/mdp/workflow/ru/procinstNodeUser.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getWorkflowBasePath(); +let base = config.getWorkflowContext(); /** diff --git a/src/api/mdp/workflow/ru/procinstParames.js b/src/api/mdp/workflow/ru/procinstParames.js index 8d323a31..087e8923 100644 --- a/src/api/mdp/workflow/ru/procinstParames.js +++ b/src/api/mdp/workflow/ru/procinstParames.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getWorkflowBasePath(); +let base = config.getWorkflowContext(); /** diff --git a/src/api/mdp/workflow/ru/procinstTag.js b/src/api/mdp/workflow/ru/procinstTag.js index b24c1852..5624cc06 100644 --- a/src/api/mdp/workflow/ru/procinstTag.js +++ b/src/api/mdp/workflow/ru/procinstTag.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base = config.getWorkflowBasePath(); +let base = config.getWorkflowContext(); /** diff --git a/src/api/mdp/workflow/ru/task.js b/src/api/mdp/workflow/ru/task.js index da438aa6..a6532533 100644 --- a/src/api/mdp/workflow/ru/task.js +++ b/src/api/mdp/workflow/ru/task.js @@ -1,8 +1,8 @@ import axios from '@/utils/request' -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getWorkflowBasePath(); +let base=config.getWorkflowContext(); //默认只开放普通查询,所有查询,只要上传 分页参数 {currentPage:1,pageSize:10,total:0},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, @@ -42,26 +42,17 @@ export const addComment = params => { return axios.post(`${base}/mdp/workflow/ru /** - * 新增候选人/部门/岗位 {branchId:'',taskId:'',procInstId:'',userids:[userid],deptids:[deptid],postids:[postid]} + * 新增候选人/部门/岗位/角色 {branchId:'',taskId:'',procInstId:'',hxUserids:'逗号分割的用户列表',hxDeptids:'逗号分割的部门列表',hxPostids:'逗号分割的岗位列表',hxRoleids:'逗号分割的岗位列表'} * */ export const addCandidate = params => { return axios.post(`${base}/mdp/workflow/ru/task/addCandidate`, params); }; /** - * 删除候选人/部门/岗位 {taskId:'',procInstId:'',userids:[userid],deptids:[deptid],postids:[postid]} + * 删除候选人/部门/岗位/角色 {branchId:'',taskId:'',procInstId:'',hxUserids:'逗号分割的用户列表',hxDeptids:'逗号分割的部门列表',hxPostids:'逗号分割的岗位列表',hxRoleids:'逗号分割的岗位列表'} * */ export const delCandidate = params => { return axios.post(`${base}/mdp/workflow/ru/task/delCandidate`, params); }; /** - * 查询候选个人 + * 查询候选人/部门/岗位/角色 请求参数 {taskId:'任务编号'}, 返回 data={hxUserids:'逗号分割的用户列表',hxDeptids:'逗号分割的部门列表',hxPostids:'逗号分割的岗位列表',hxRoleids:'逗号分割的岗位列表'} * */ -export const listCandidateUsers = params => { return axios.get(`${base}/mdp/workflow/ru/task/listCandidateUsers`, { params: params }); }; - -/** - * 查询候选组(实际指部门) - * */ -export const listCandidateDepts = params => { return axios.get(`${base}/mdp/workflow/ru/task/listCandidateDepts`, { params: params }); }; - -/** - * 查询候选岗位 - * */ -export const listCandidatePosts = params => { return axios.get(`${base}/mdp/workflow/ru/task/listCandidatePosts`, { params: params }); }; \ No newline at end of file +export const listCandidate = params => { return axios.get(`${base}/mdp/workflow/ru/task/listCandidate`, { params: params }); }; + \ No newline at end of file diff --git a/src/api/mdp_pub/index.js b/src/api/mdp_pub/index.js new file mode 100644 index 00000000..f3f34e2a --- /dev/null +++ b/src/api/mdp_pub/index.js @@ -0,0 +1,14 @@ +import axios from '@/utils/request' +import mdp_base from './mdp_api_base.js';//全局mdp-核心公共api库 mdp所有组件库依赖于此 +import mdp_ext from './mdp_api_ext.js';//全局mdp-扩展的组件使用的公共api库 +import mdp_config from './mdp_config.js';//全局mdp-配置信息,主要配置一些请求路径的前缀,方便合并+拆分工程等,改下前缀即可 +import mdp_api_biz from './mdp_api_biz.js';//业务功能需要的api,可根据实际情况添加更多业务相关的api + + export default { + ...mdp_config, + ...mdp_base, + ...mdp_ext, + ...mdp_api_biz +} + + diff --git a/src/api/mdp_pub/mdp_api_base.js b/src/api/mdp_pub/mdp_api_base.js new file mode 100644 index 00000000..a788706a --- /dev/null +++ b/src/api/mdp_pub/mdp_api_base.js @@ -0,0 +1,310 @@ +/** + * mdp框架前端与后端交互核心公共api + * 一般情况下请勿将业务代码加入此文件,业务代码及其它模块及api应该放入各自单独的api文件中,如果实在要添加,请添加到$mdp_api_biz.js文件中,实现全局调用 + * 扩展组件的api请加入到fly_mdp_ext.js中 + */ +import axios from '@/utils/request' +import util from '@/components/mdp-ui/js/util';//全局公共库 +import {sn} from '@/components/mdp-ui/js/sequence';//全局公共库 +import config from './mdp_config' +let sysBase = config.getSysContext(); + +const mdpBaseCache=new Map(); + +var SIGN_REGEXP = /([yMdhsmH])(\1*)/g +var DEFAULT_PATTERN = 'yyyy-MM-dd' + +const colors=['#909399','#409EFF','#67C23A','#E6A23C','#F56C6C','#00ced1','#c71585','#ff8c00','#c7158577','#ffd700']; + +var funcs = { + + ...util, +/** + * 从后端请求数据字典列表 + * @param {*} params {itemCode:xxx,categoryId:xxx,....其它参数} + * @returns + */ + getDicts: function(params){ return axios.get(`/${sysBase}/mdp/meta/item/dicts`, { params: params }); }, + + /** + * 检查某个按钮是否具有访问权限 + * @param {*} btnId 按钮编号 + * @param {*} menuDefId + * @returns true/false + */ + checkBtnQx:function(btnId,menuDefId,params){ + return true; + }, + + + /** + * 生成缓存key + * @param {*} itemCode + * @param {*} params + * @returns + */ + getCodeKey:function (itemCode,params){ + var codeKey='mdp-dict-cache'+'@'+itemCode + if(params){ + for (let [key, value] of Object.entries(params)) { + if(key=="itemCode"){ + continue; + } + codeKey=codeKey+"@"+key+":"+value + } + } + return codeKey; + }, +clearDictCache:function(itemCode,params){ + var codeKey=funcs.getCodeKey(itemCode,params); + var lockKey=codeKey+'@lock' + mdpBaseCache.delete(codeKey) + sessionStorage.removeItem(codeKey) + sessionStorage.removeItem(lockKey) + +}, +/** + * 字典标签专用(通过itemCode获取字典下拉列表数组) + * 注意:该api将首先寻找全局缓存,找不到再祥服务器申请 + **/ +ajaxGetDictOptions:function(itemCode, params) +{ + + var codeKey=funcs.getCodeKey(itemCode,params); + return new Promise((resolve,reject)=>{ + var data=funcs.getDictOptionsFromCache(codeKey,itemCode,params) + if(data){ + var res2={ + tips:{ + isOk:true, + tipscode:'ok', + msg:'成功' + }, + data:data + } + resolve(res2) + }else{ + + var lockKey=codeKey+'@lock' + var lock=sessionStorage.getItem(lockKey) + let func = function(){ + var data=funcs.getDictOptionsFromCache(codeKey,itemCode,params) + if(data){ + var res2={ + tips:{ + isOk:true, + tipscode:'ok', + msg:'成功' + }, + data:data + } + resolve(res2) + return; + } + if(!params){ + params={itemCode:itemCode} + }else{ + params.itemCode=itemCode + } + sessionStorage.setItem(lockKey,"1") + funcs.getDicts(params).then(res=>{ + + if(res.data.tips && res.data.tips.isOk){ + if(!res.data.data || res.data.data.length==0){ + resolve({tips:res.data.tips,data:{}}) + return; + } + var item=res.data.data[0] + if(item.options && item.options.length>0){ + item.options.forEach(k=>{ + if(k!=null && k.id!=null){ + if(!k.color){ + k.color=funcs.getColorById(k.id) + } + } + }) + } + + sessionStorage.setItem(codeKey,JSON.stringify(res.data.data[0])) + sessionStorage.removeItem(lockKey) + var res2={ + tips:res.data.tips, + data:res.data.data[0] + } + mdpBaseCache.set(codeKey,res2) + resolve(res2) + + }else{ + sessionStorage.removeItem(lockKey) + mdpBaseCache.set(codeKey,null) + reject(res) + } + }).catch(e=>{ + mdpBaseCache.set(codeKey,null) + sessionStorage.removeItem(lockKey) + reject(e) + }) + } + if(lock){ + setTimeout(()=>{ + func(); + },2000) + }else{ + func(); + } + + } + }) + }, + + /** + * 默认颜色列表 + * @returns + */ + getDefaultColors:function(){ + return colors + }, + + /** + * 根据id获取系统默认的对应颜色 + * @param {*} id + * @returns + */ + getColorById(id){ + var cellValue=id + var colors=this.getDefaultColors(); + if(!cellValue){ + return colors[0] + } + var cellValueInt=parseInt(cellValue) + if( isNaN( cellValueInt) ){ + if(typeof cellValue =='string' && cellValue.length>0){ + var idxList=[] + if(cellValue.length==1){ + idxList=[0] + }else if(cellValue.length==2){ + idxList=[0,1] + }else if(cellValue.length==3){ + idxList=[0,1,2] + }else{ + idxList=[0,parseInt((cellValue.length-1)/2),cellValue.length-1] + } + + cellValueInt=0; + for(var i=0;i 0 && colorIndex==0){ + colorIndex=1 + } + return colors[colorIndex] + +}, + +/** + * 从缓存中获取字典列表,该函数不会向后端请求 + * */ +getDictOptionsFromCache: function(codeKey,itemCode,params) { + var item=mdpBaseCache.get(codeKey) + if(item && item.id){ + return item + } + var clistStr=sessionStorage.getItem(codeKey); + if (clistStr&& clistStr!='null' && clistStr!='undefined') { + let item = JSON.parse(clistStr) + return item; + }else{ + return null; + } +}, + +/** + * 反显字典值 + * @param {*} itemCode 字典代码 + * @param {*} value 字典值 + * @param {*} params 参数可空 + * @returns + */ +formatDict:async function(itemCode, value,params) +{ + if(!value){ + return value; + } + this.ajaxGetDictOptions(itemCode,params).then(res=>{ + if(res.tips.isOk && res.data){ + var item=res.data + var find=item.options.find(k=>k.id==value) + if(find){ + return find.name + }else{ + return value; + } + }else{ + return value; + } + }) +}, + +createSeqNo:function(prefix){ + return sn(prefix); +}, +/** + * 字段转成驼峰命名 + * @param {*} name + */ + toCamel:function(name) { + var name1= name.replace(/\_(\w)/g, function(all, letter) { + return letter.toUpperCase(); + }); + return name1.replace(/\-(\w)/g, function(all, letter) { + return letter.toUpperCase(); + }); +}, +/** + * 驼峰转下横线 + * @param {*} name + */ +toLine:function(name) { + return name.replace(/([A-Z])/g, "_$1").toLowerCase(); +}, +/** + * 格式化日期 + * @param {*} date + * @param {*} pattern + * @returns + */ +formatDate: function(date, pattern) { + pattern = pattern || DEFAULT_PATTERN + return pattern.replace(SIGN_REGEXP, function($0) { + switch ($0.charAt(0)) { + case 'y': + return padding(date.getFullYear(), $0.length) + case 'M': + return padding(date.getMonth() + 1, $0.length) + case 'd': + return padding(date.getDate(), $0.length) + case 'w': + return date.getDay() + 1 + case 'h': + return padding(date.getHours(), $0.length) + case 'H': + return padding(date.getHours(), $0.length) + case 'm': + return padding(date.getMinutes(), $0.length) + case 's': + return padding(date.getSeconds(), $0.length) + } + }) +}, + +} + + +export default funcs; + + diff --git a/src/api/mdp_pub/mdp_api_biz.js b/src/api/mdp_pub/mdp_api_biz.js new file mode 100644 index 00000000..983141ad --- /dev/null +++ b/src/api/mdp_pub/mdp_api_biz.js @@ -0,0 +1,57 @@ +/** + * 业务模块前端与后端交互公共api + * 一般情况下请勿将业务代码加入此文件,业务代码及其它模块及api应该放入各自单独的api文件中,如果实在要添加,请添加到$mdp_api_biz.js文件中,实现全局调用 + * 扩展组件的api请加入到fly_mdp_ext.js中 + */ + + import axios from '@/utils/request' + import config from './mdp_config' + let sysBase = config.getSysContext(); +export default { +//统计机构权益、用户数据等 +getBranchInterestsDetail: params => { return axios.get(`${sysBase}/mdp/sys/branchInterests/detail`, params); }, +//加入企业申请 +addUserJoinBranchRequire: params => { return axios.post(`${sysBase}/mdp/sys/userJoinBranchRequire/add`, params); }, +//查询登陆日志 +listUserLoginRecord: params => { return axios.get(`${sysBase}/mdp/sys/userLoginRecord/list`, { params: params }); }, + +//取消关注 +delUserFocus: params => { return axios.post(`${sysBase}/mdp/sys/userFocus/del`,params); }, + +//关注一个对象 +addUserFocus: params => { return axios.post(`${sysBase}/mdp/sys/userFocus/add`, params); }, + +//修改关注信息 +editSomeFieldsUserFocus: params => { return axios.post(`${sysBase}/mdp/sys/userFocus/editSomeFields`, params); }, + +//我的关注列表 +myFocusForIndex: params => { return axios.get(`${sysBase}/mdp/sys/userFocus/myFocusForIndex`, { params: params });}, + +//查询我的收藏 +userMenuFavoriteList : params => { return axios.get(`${sysBase}/menu/menuFavorite/list`, { params: params }); }, + +//保存我的收藏 +saveMenuFavoriteList : params => { return axios.post(`${sysBase}/menu/menuFavorite/batchSaveMenuFavorites`, params); }, + +//创建邀请码 +createInviteId : params => { return axios.post(`${sysBase}/mdp/sys/userTpaInvite/createInviteId`,params); }, + + +//检查邀请码是否有效 +checkInviteId : params => { return axios.get(`${sysBase}/mdp/sys/userTpaInvite/checkInviteId`, { params: params }); }, + + +//查询通知 +listNotifyMsg : params => { return axios.get(`${sysBase}/mdp/sys/notifyMsg/list`, { params: params }); }, + + +//更新消息的已读未读状态 +editSomeFieldsNotifyMsg : params => { return axios.post(`${sysBase}/mdp/sys/notifyMsg/editSomeFields`, params); }, + +//查询所有模块 +getAllMenuModule : params => { return axios.get(`${sysBase}/sys/sys/mdp/menu/menuModule/list`, {params: params }); }, + +//查询已购买的模块 +getBuyMenuModule : params => { return axios.get(`${sysBase}/sys/sys/mdp/menu/menuModuleBranch/list`, {params: params }); }, + +} diff --git a/src/api/mdp_pub/mdp_api_ext.js b/src/api/mdp_pub/mdp_api_ext.js new file mode 100644 index 00000000..f804ed55 --- /dev/null +++ b/src/api/mdp_pub/mdp_api_ext.js @@ -0,0 +1,397 @@ +/** + * mdp框架前端与后端交互扩展组件使用到的公共api + * 一般情况下请勿将业务代码加入此文件,业务代码及其它模块及api应该放入各自单独的api文件中,如果实在要添加,请添加到$mdp.js文件中,实现全局调用 + */ + +import util from '@/components/mdp-ui/js/util';//全局公共库 +import axios from '@/utils/request' +import config from './mdp_config' +import { getToken } from '@/utils/auth' + +const mdpExtCache=new Map(); + +let sysBase = config.getSysContext(); + +let arcBase = config.getArcContext() + +let formBase = config.getFormContext() + +let workflowBase = config.getWorkflowContext() + +var funcs = { + +/** + * 获取文件、附件上传的请求路径,全路径 + */ +getArcAttUploadPath : () => { return `${config.getArcFileUploadBasePath()}/mdp/arc/att/attachment/upload` }, + +/** + * 获取图片上传的请求路径,全路径 + * @returns + */ +getArcImageUploadPath :() => { return `${config.getArcImagePath()}/mdp/arc/img/image/upload`}, + +/** + * 预览图片是 url= $mdp.getArcImagePreviewBasePath()/图片url + * @returns + */ +getArcImagePreviewBasePath : () => { return `${config.getArcImagePath()}` }, + +/** + * 文件上传下载时带上token + * @returns + */ +getArcUploadHeader: () => { return {Authorization: "Bearor "+ getToken()} }, + + +/** + * sys_user 用户表 + *1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, + *2 查询、新增、修改的参数格式 params={userid:'内部用户编号(账户编号),如果是机构管理员账户,则=机构号 主键',unionid:'全局唯一编号,也叫主账户,同一个人(比如同一个微信号,同一个邮箱,同一个手机号视为同一个人)。同一个人在mdp有唯一的主账号。',displayUserid:'登录展示使用用户编号',locked:'是否被锁定0否1是',startdate:'启用日期',nickname:'昵称',username:'用户名称',phoneno:'移动电话号码',password:'密码',salt:'盐值',pwdtype:'密码类型1指纹2密码',headimgurl:'头像地址',country:'国家',city:'城市',province:'省份',address:'详细地址',sex:'性别',enddate:'到期日期',districtId:'区县编号',email:'邮箱',fgOne:'指纹1',fgTwo:'指纹2',fgThr:'指纹3',idCardNo:'身份证号码',officePhoneno:'办公室电话',bizProcInstId:'当前流程实例编号',bizFlowState:'当前流程状态',memType:'从平台角度看会员类型0-个人账户、1-企业管理员账户、2-企业员工账户,个人账户无须绑定机构号,个人子账户可升级为企业员工账户,企业账户必须绑定机构编号branchId个人账户升级后,保留个人主账户,个人子账户绑定企业编号成为企业员工账户',orgId:'机构会员自己的机构会员的机构号,理解为客户的客户',emailBak:'备用邮箱',pwdStrong:'1-高风险,2-中风险,3-低风险',lockType:'锁定类型:0-注册等待邮箱验证,1-注册等待修改初始密码,2-注册等待验证手机号码,3-密码高风险,等待重新修改密码,9-业务需要锁定禁止登录,10-账户被锁定,请联系客服',lockRemark:'锁定原因',ltime:'更新日期',atype:'相对于平台来说的账户类型0-子账户,1-主账户。',branchId:'机构主子账户归属的机构编号,如果是个人,这里填虚拟机构编号,作为虚拟的机构号,方便将来升级成企业号',continent:'洲别',cpaType:'从入驻企业角度看协作类型0-企业内部人员,1-客户,2-供应商,3-上级机构,4-下属机构',cpaOrg:'协作组织0-个人,1机构,如果是机构,机构号填入orgId',roleids:'个人账户拥有的角色,逗号分割',birthday:'生日',shopId:'商户编号',profeId:'职业编号',profeName:'职业名称',gradeId:'等级会员,根据经验值而定',gradeName:'等级会员名称',ilvlId:'权益等级青铜、白银、黄金、紫金、钻石',ilvlName:'权益等级名称',istatus:'会员权益状态0-无效,1-有效,2-过期',istime:'权益开始时间',ietime:'权益结束时间',validLvls:'人工验证结果,当审核状态为2时,同步到sys_user表同一个字段,或者sys_branch同一个字段',features:'个性化签名',profeType:'职业类型1-开发类,2-测试类,3-设计类,4-管理类;',ustatus:'用户账户状态0-初始,1-起效,2-注销申请,3-注销后删除',creditId:'信用等级编号',creditScore:'信用等级分数',guardId:'服务保障等级0-初始,1-金,2-银,3-铜',open:'是否对互联网用户开放查询0-否1是',remark:'简介备注',bizHours:'营业时间说明09:00-12:00',skillIds:'技能编号列表',skillNames:'技能名称列表'} + **/ +listUser: params => { return axios.get(`/${sysBase}/mdp/sys/user/list`, { params: params }); }, + + +//查询一个用户 +queryUserById : params => { return axios.get(`${sysBase}/mdp/sys/user/queryById`, { params: params });}, + +//修改用户信息 +editUser : params => { return axios.post(`${sysBase}/mdp/sys/user/edit`, params);}, + +//批量修改用户的某些字段 +editSomeFieldsUser : params => { return axios.post(`${sysBase}/mdp/sys/user/editSomeFields`, params);}, + +//管理人员帮别人重置密码 +resetPasswordByAdmin : params => { return axios.post(`${sysBase}/sys/user/resetPassword`, params);}, + +//修改自己的密码 +changePassword : params => { return axios.post(`${sysBase}/sys/user/changePassword`, params);}, + + +//更新当前登录着的头像 +editHeadimgurl : params => { return axios.post(`${sysBase}/sys/user/editHeadimgurl`, params); }, + +//查询机构列表 +listBranch : params => { return axios.get(`${sysBase}/mdp/sys/branch/list`, { params: params }); }, + +/** +* sys_dept +*1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开,没用到的api请注释掉, +*2 查询、新增、修改的参数格式 params={deptid:'部门编号 主键',deptName:'部门全称',pdeptid:'上级部门编号',deptType:'参考数据字典deptType',state:'状态A正常E无效',manager:'负责人编号',leader:'上级领导编号',shortName:'简称',displayDeptid:'部门编码外部使用',orgType:'参考数据字典orgType',managerName:'负责人名称',leaderName:'上级领导名称',branchId:'云用户机构编号',levelType:'层级类型(科云:0国,1省,2市,3区县,4街道,5自然村)',idPath:'部门编号路径',bizProcInstId:'当前流程实例编号',bizFlowState:'当前流程状态',ltime:'最后更新时间',isCbCenter:'是否为成本中心0否1是'} +**/ +listDept: params => { return axios.get(`/${sysBase}/mdp/sys/dept/list`, { params: params }); }, + +/** + * 角色列表 + * @param {*} params + * @returns + */ +listRole: params => { return axios.get(`/${sysBase}/mdp/sys/role/list`, { params: params }); }, + +/** + * 岗位列表 + * @param {*} params + * @returns + */ + listPost: params => { return axios.get(`/${sysBase}/mdp/sys/post/list`, { params: params }); }, + +// --arc tag 相关api + +//普通查询 条件之间and关系 +getAllTag : params => { return axios.get(`/${arcBase}/mdp/arc/tag/getAllTag`, { params: params }); }, + +//删除一条arc_tag params={id:'标签编号 主键'} +delTag : params => { return axios.post(`/${arcBase}/mdp/arc/tag/del`,params); }, + +//新增一条arc_tag +addTag : params => { return axios.post(`/${arcBase}/mdp/arc/tag/add`, params); }, + +//新增一条arc_tag_category 及相关标签 +delTagCategory : params => { return axios.post(`/${arcBase}/mdp/arc/tag/deleteTagCategory`, params); }, + +//新增一条arc_tag_category +addTagCategory : params => { return axios.post(`/${arcBase}/mdp/arc/tagCategory/add`, params); }, + +// -- end arc tag 相关api + + +// -- arc image 图片库相关api + +/** +* 图片素材库 +* 查询、新增、修改的参数格式 params={id:'主键 主键',name:'附件名称',url:'访问路径',relativePath:'硬盘存放路径',fileSuffix:'后缀名',rootPath:'根目录',createDate:'存入时间',fileSize:'文件大小',deptid:'归属部门',tag:'标签',remark:'备注信息',categoryId:'图片分类',storageName:'硬盘存储名字(不带后缀)',urlPrefix:'链接前缀',isOutUrl:'是否外部链接',outUrl:'外部链接',branchId:'机构编号',archiveType:'0|知识库',relyTypes:'参考类型,开放式字段,1-开源社区,2-项目论坛,逗号',relyIds:'参考编号,逗号',relySubTypes:'参考子类型,逗号',relySubIds:'参考子编号,逗号',cuserid:'创建人编号',cusername:'创建人姓名',cdate:'创建时间'} +**/ +listImage : params => { return axios.get(`/${arcBase}/mdp/arc/img/image/list`, { params: params }); }, + + +//批量删除图片素材库 params=[{id:'主键 主键'}] +batchDelImage : params => { return axios.post(`/${arcBase}/mdp/arc/img/image/batchDel`, params); }, + + +//普通查询 条件之间and关系 +listImageCategory : params => { return axios.get(`/${arcBase}/mdp/arc/img/imageCategory/list`, { params: params }); }, + +//删除一条图片分类 params={id:'主键 主键'} +delImageCategory : params => { return axios.post(`/${arcBase}/mdp/arc/img/imageCategory/del`,params); }, + + +//修改一条图片分类记录 +ditImageCategory : params => { return axios.post(`/${arcBase}/mdp/arc/img/imageCategory/edit`, params); }, + +//新增一条图片分类 +addImageCategory : params => { return axios.post(`/${arcBase}/mdp/arc/img/imageCategory/add`, params); }, + + // end -- arc image 图片库相关api + + + // -- arc att 附件相关api + + /** + * 档案类目 + * 查询、新增、修改的参数格式 params={id:'分类主键 主键',categoryType:'0知识库-1新闻类2企业内部通知公告类3平台通知公告4其它5论坛6公文7归档8网站栏目,关联基础数据categoryType',pid:'上级分类',name:'分类名称',sortOrder:'分类排序',isShow:'是否显示',branchId:'机构编号',imageUrls:'图片列表逗号分割',isLeaf:'是否叶子节点0否1是,叶子节点不允许再建立下级,非叶子节点不允许挂文章',limitType:'文章限制,1-单篇文章,2-多篇文章',isAuth:'文章是否需要审核0-否1是',paths:'上级分类路径,逗号分割,包括自身'} + **/ +//普通查询 条件之间and关系 +listCategory : params => { return axios.get(`/${arcBase}/mdp/arc/pub/category/list`, { params: params }); }, + +//普通查询 条件之间and关系 +queryCategoryById : params => { return axios.get(`/${arcBase}/mdp/arc/pub/category/queryById`, { params: params }); }, + +//批量删除档案类目 params=[{id:'分类主键 主键'}] +batchAddCategory : params => { return axios.post(`/${arcBase}/mdp/arc/pub/category/batchAdd`, params); }, + +//批量删除档案类目 params=[{id:'分类主键 主键'}] +batchDelCategory : params => { return axios.post(`/${arcBase}/mdp/arc/pub/category/batchDel`, params); }, + +//修改一条档案类目记录 +editCategory : params => { return axios.post(`/${arcBase}/mdp/arc/pub/category/edit`, params); }, + +//新增一条档案类目 +addCategory : params => { return axios.post(`/${arcBase}/mdp/arc/pub/category/add`, params); }, + +//查询分类权限 +listCategoryQx : params => { return axios.get(`/${arcBase}/mdp/arc/pub/categoryQx/list`, { params: params }); }, + +//查询分类权限 +queryCategoryQxById : params => { return axios.get(`/${arcBase}/mdp/arc/pub/categoryQx/queryById`, { params: params }); }, + + +//修改一条档案类目记录权限 +editCategoryQx : params => { return axios.post(`/${arcBase}/mdp/arc/pub/categoryQx/edit`, params); }, + +//新增一条档案类目权限 +addCategoryQx : params => { return axios.post(`/${arcBase}/mdp/arc/pub/categoryQx/add`, params); }, + +/** +* 档案附件表 +*查询、新增、修改的参数格式 params={id:'主键 主键',name:'附件名称',url:'访问路径',relativePath:'硬盘存放路径',fileSuffix:'后缀名',cdnUrl:'内容加速器访问路径',isImg:'是否图片',archiveId:'档案主编号',isCdn:'是否使用CDN',rootPath:'根目录',createDate:'存入时间',canDown:'是否可下载',canDel:'是否可删除',canRead:'是否可读',bizId:'业务编号、产品编号、商品编号等',remark:'业务名称、产品名称、商品名称等',storeName:'存储名字',fileSize:'文件大小',branchId:'云用户机构编号',deptid:'部门编号',archiveType:'0|知识库',categoryId:'分类编号'} +**/ + +//普通查询 条件之间and关系 + listAttachment : params => { return axios.get(`/${arcBase}/mdp/arc/att/attachment/list`, { params: params }); }, + +//普通查询 条件之间and关系 + queryAttachmentById : params => { return axios.get(`/${arcBase}/mdp/arc/att/attachment/queryById`, { params: params }); }, + +//删除一条档案附件表 params={id:'主键 主键'} + delAttachment : params => { return axios.post(`/${arcBase}/mdp/arc/att/attachment/del`,params); }, + +//批量删除档案附件表 params=[{id:'主键 主键'}] + batchDelAttachment : params => { return axios.post(`/${arcBase}/mdp/arc/att/attachment/batchDel`, params); }, + +//修改一条档案附件表记录 + editAttachment : params => { return axios.post(`/${arcBase}/mdp/arc/att/attachment/edit`, params); }, + +//新增一条档案附件表 + addAttachment : params => { return axios.post(`/${arcBase}/mdp/arc/att/attachment/add`, params); }, + +//批量修改某些字段 + editSomeFieldsAttachment : params => { return axios.post(`/${arcBase}/mdp/arc/att/attachment/editSomeFields`, params); }, + + // end -- arc att 附件相关api + + + // start - mdp meta 元数据管理 相关api + + /** + * 数据项定义 + *查询、新增、修改的参数格式 params={id:'主键 主键',itemCode:'代码,小写,下横线分割,请不要用驼峰命名',itemName:'名称',remark:'备注',categoryId:'分类编号',itemSize:'长度',itemType:'类型',branchId:'机构编号',deptid:'部门编号',cmenu:'是否创建菜单',values:'默认值,如果是列表,则存储列表编号,多个逗号分割',names:'默认名称,如果是列表,则存储列表名称,多个则逗号分割',options:'item_type=4,5时的选项列表[{value:值,name:显示名称}]',inputFormat:'输入提示',required:'是否必须0否1是',seq:'排序顺序',table:'表名',show:'是否显示0否1是',qx:'权限,是否可以0-新增,1-删除,2-编辑,3-查询,多个以逗号分割'} + **/ + +//普通查询 条件之间and关系 +listItem : params => { return axios.get(`/${sysBase}/mdp/meta/item/list`, { params: params }); }, + + +//删除一条数据项定义 params={id:'主键 主键'} +delItem : params => { return axios.post(`/${sysBase}/mdp/meta/item/del`,params); }, + +//批量删除数据项定义 params=[{id:'主键 主键'}] +batchDelItem : params => { return axios.post(`/${sysBase}/mdp/meta/item/batchDel`, params); }, + +//修改一条数据项定义记录 +editItem : params => { return axios.post(`/${sysBase}/mdp/meta/item/edit`, params); }, + +//新增一条数据项定义 +addItem : params => { return axios.post(`/${sysBase}/mdp/meta/item/add`, params); }, + + +/** + * 数据项取值列表 + *查询、新增、修改的参数格式 params={id:'主键 主键',itemId:'数据项编号',optionValue:'选项值',optionName:'选项名称',keys:'快捷键',isShow:'是否显示',seqOrder:'顺序',fp:'第一扩展字段',tp:'第三扩展字段',sp:'第二扩展字段',isDefault:'是否默认',cdate:'创建日期',branchId:'机构编号',deptid:'部门编号'} + **/ + +//普通查询 条件之间and关系 +listItemOption : params => { return axios.get(`/${sysBase}/mdp/meta/itemOption/list`, { params: params }); }, + +//删除一条数据项取值列表 params={id:'主键 主键'} +delItemOption : params => { return axios.post(`/${sysBase}/mdp/meta/itemOption/del`,params); }, + +//批量删除数据项取值列表 params=[{id:'主键 主键'}] +batchDelItemOption : params => { return axios.post(`/${sysBase}/mdp/meta/itemOption/batchDel`, params); }, + +//修改一条数据项取值列表记录 +editItemOption : params => { return axios.post(`/${sysBase}/mdp/meta/itemOption/edit`, params); }, + +//新增一条数据项取值列表 +addItemOption : params => { return axios.post(`/${sysBase}/mdp/meta/itemOption/add`, params); }, + +//普通查询 条件之间and关系 +queryItemOptionById : params => { return axios.get(`/${sysBase}/mdp/meta/itemOption/queryById`, { params: params }); }, + +//批量修改某些字段 +editSomeFieldsItemOption : params => { return axios.post(`/${sysBase}/mdp/meta/itemOption/editSomeFields`, params); }, + +//刷新缓存 +refresh : params => { return axios.post(`/${sysBase}/mdp/meta/itemOption/refresh`, params); }, + + // end - mdp meta 元数据管理 相关api + + // start form 智能表单 相关api + + listFormField : params => { return axios.get(`${formBase}/mdp/lcode/formField/list`, { params: params }); }, + +listFormFieldCacheFirst : params => { + var baseCode='list-form-fields' + var codeKey=util.getCodeKey(baseCode,params); + return new Promise((resolve,reject)=>{ + var data=funcs.listFormFieldFromCache(codeKey,baseCode,params) + if(data){ + var res2={ + tips:{ + isOk:true, + tipscode:'ok', + msg:'成功' + }, + data:data + } + resolve({data:res2}) + }else{ + + var lockKey=codeKey+'@lock' + var lock=sessionStorage.getItem(lockKey) + let func = function(){ + var data=funcs.listFormFieldFromCache(codeKey,baseCode,params) + if(data){ + var res2={ + tips:{ + isOk:true, + tipscode:'ok', + msg:'成功' + }, + data:data + } + resolve({data:res2}) + return; + } + funcs.listFormField(params).then(res=>{ + sessionStorage.removeItem(lockKey) + if(res.data.tips && res.data.tips.isOk ){ + sessionStorage.setItem(codeKey,JSON.stringify(res.data.data)) + var res2={ + tips:res.data.tips, + data:res.data.data + } + mdpExtCache.set(codeKey,res2) + resolve({data:res2}) + + }else{ + mdpExtCache.set(codeKey,null) + reject(res) + } + }).catch(e=>{ + mdpExtCache.set(codeKey,null) + sessionStorage.removeItem(lockKey) + reject(e) + }) + } + if(lock){ + setTimeout(()=>{ + func(); + },2000) + }else{ + func(); + } + + } + }) +}, + /** + * 从缓存中获取字典列表,该函数不会向后端请求 + * */ + listFormFieldFromCache : (codeKey) => { + var item=mdpExtCache.get(codeKey) + if(item && item.formDef && item.formDef.id){ + return item + } + var clistStr=sessionStorage.getItem(codeKey); + if (clistStr&& clistStr!='null' && clistStr!='undefined') { + let item = JSON.parse(clistStr) + return item; + }else{ + return null; + } +}, + +removeFormFieldsCache:(formId)=>{ + var baseCode='list-form-fields' + var params={formId:formId} + var codeKey=util.getCodeKey(baseCode,params); + mdpExtCache.set(codeKey,null) + sessionStorage.removeItem(codeKey) + +}, + +goToFormDesign: formDefId => { + var url= window.location.protocol + '//' + window.location.host + workflowBase+'/' + process.env.VERSION + '/#/mdp/lcode/design/'+formDefId + util.openWin(url) +}, + // end form + + /** + * 微信邀请用户加入公司需要state参数,防止crfs攻击 + * @returns + */ + getInviteTpaState: () => { + return axios({ + url: '/tpa/invite/wechat/wxpub/state', + method: 'post', + data:{} + }) + }, + + /** + * 微信绑定用户加入公司需要state参数,防止crfs攻击 + * @param {joinUserid:'需要绑定微信的用户编号',joinUsername:'用户名称',sendUserid:'发起邀请人编号',sendUsername:'发起邀请人姓名'} + * @returns + */ + getBindTpaState: (params) => { + return axios({ + url: '/tpa/bind/wechat/wxpub/state', + method: 'post', + data:params + }) + }, +} + +export default funcs + + diff --git a/src/api/mdp_pub/mdp_config.js b/src/api/mdp_pub/mdp_config.js new file mode 100644 index 00000000..722f76af --- /dev/null +++ b/src/api/mdp_pub/mdp_config.js @@ -0,0 +1,139 @@ +/** + * BASE_API:对应api网关的外网访问地址,在config/dev.env.js 和 config/prod.env.js 中配置, + * context:应用的上下文路径,即spring boot中的server.context-path,如果server.context-path为空,则取applicationName + * api的调用一般是 /${BASE_API}/${context}/${具体的后端服务路径} + */ + +var sysName="唛盟智能开发";//系统名称,用于展示 + +export default { + //登录相关 + getOauth2LoginContext:function(){ + return "oauth2client" + }, + //短信相关 + getSmsContext: function() { + return 'sms' + }, + // 图片内容服务api路径 + getArcContext: function() { + return 'arc' + }, + + // 图片内容服务api路径 + getFormContext: function() { + return 'lcode' + }, + // 低代码平台 + getLcodeContext: function() { + return 'lcode' + }, + // 工作流api路径 + getWorkflowContext: function() { + return 'workflow' + }, + // 协同办公系统api路径 + getOaContext: function() { + return 'oa' + }, + //项目管理 + getXmContext: function(){ + return 'xm' + }, + //即时通讯 + getImContext:function(){ + return 'im' + }, + //付款 + getPayContext:function() { + return 'tpa' + }, + //模块订单 + getMoContext(){ + return 'lcode' + }, + // 系统管理api路径 + getSysContext: function() { + return 'lcode' + }, + getTpaContext: function(){ + return 'tpa' + }, + // 商城管理后台api路径 + getMallmContext: function() { + return 'mallm' + }, + // 图片内容首页路径 + getArcIndexPath: function() { + var uri=this.getApiBase()+"/"+this.getArcContext()+"/index.html" + var uri=this.replaceUrl(uri) + return this.getBaseDomainUrl()+uri; + }, + // 图片展示或下载路径 + getArcFileUploadBasePath: function() { + var uri=this.getApiBase()+"/"+this.getArcContext() + var uri=this.replaceUrl(uri) + return this.getBaseDomainUrl()+uri; + }, + //excel上传路径 + getExcelUploadBasePath:function(){ + var uri=this.getApiBase()+"/"+this.getArcContext() + var uri=this.replaceUrl(uri) + return this.getBaseDomainUrl()+uri; + }, + // 图片展示或下载路径 + getArcImagePath: function() { + var uri=this.getApiBase()+"/"+this.getArcContext() + var uri=this.replaceUrl(uri) + return this.getBaseDomainUrl()+uri; + }, + // 系统管理首页路径 + getSysIndexPath: function() { + return '/'+this.getSysContext()+'/index.html' + }, + // 商城管理后台首页路径 + getMallmIndexPath: function() { + return '/mallm/mallm/index.html' + }, + getWorkFlowEditorUrl: function() { + return this.getWorkflowContext()+'/'+ process.env.VERSION + '/editor/editor/indexIframe.html' + }, + + getApiBase:function(){ + var base=`/${process.env.BASE_API}/${process.env.VERSION}/` + return base.replace("//","/") + }, + replaceUrl:function(url){ + url=url.replace("//","/") + return url + }, + //当前系统域名 + getBaseDomainUrl:function(){ + var curlDomain=window.location.protocol+"//"+window.location.host; // 返回https://mp.csdn.net + return curlDomain + }, + getFixedDomain:function(){ + return "https://www.maimengcloud.com" + }, + //系统名称 + getSysName: function() { + return sysName + }, + getWxpubConfig:function(){ + var config={ + appid:'wx2671d5db8346b6fc', + appname:'唛盟项目管理平台', + appType:'wxopen', + scope:'snsapi_login' + } + return config; + }, + /** + * 本系统支持的动态组件编号列表 + * @returns + */ + getSupportComponents:function(){ + return ['myFocus'] + } + +} diff --git a/src/api/sms/sms.js b/src/api/sms/sms.js index 1f433d20..87d2eb58 100644 --- a/src/api/sms/sms.js +++ b/src/api/sms/sms.js @@ -2,9 +2,9 @@ import axiosAuth from '@/utils/request' import axios from '@/utils/requestNoAuth'//免登录访问 -import config from '@/common/config' +import config from '@/api/mdp_pub/mdp_config' -let base=config.getSmsBasePath(); +let base=config.getSmsContext(); /** * 发送短信验证码、验证短信验证码接口 diff --git a/src/common/config.js b/src/common/config.js index 8ee27622..8fc8b0cb 100644 --- a/src/common/config.js +++ b/src/common/config.js @@ -25,16 +25,16 @@ export default { }, // 图片内容服务api路径 getArcBasePath: function() { - return '/arc/arc' + return '/arc' }, // 图片内容服务api路径 getFormBasePath: function() { - return '/form/form' + return '/form' }, // 工作流api路径 getWorkflowBasePath: function() { - return '/workflow/workflow' + return '/workflow' }, // 协同办公系统api路径 getOaBasePath: function() { @@ -43,7 +43,7 @@ export default { // 图片内容首页路径 getArcIndexPath: function() { return '/arc/arc/index.html' - }, + }, // 图片展示或下载路径 getArcFileUploadBasePath: function() { return window.location.protocol + '//' + window.location.host + '/api/' + process.env.VERSION + '/arc/arc' @@ -83,7 +83,7 @@ export default { getCoreBasePath: function(){ return '/xm/xm' }, - getImBasePath:function(){ + getImContext:function(){ return '/im/im' }, getPayBasePath:function() { diff --git a/src/common/js/util.js b/src/common/js/util.js index 20fbc15f..b10f196b 100644 --- a/src/common/js/util.js +++ b/src/common/js/util.js @@ -78,7 +78,7 @@ export default { } var cellValueInt=parseInt(cellValue) if( isNaN(cellValueInt) ){ - cellValueInt=cellValue.chartCodeAt(cellValue.length-1) + cellValueInt=cellValue.charCodeAt(cellValue.length-1) } var colorIndex=cellValueInt % 10 if(cellValueInt > 0 && colorIndex==0){ @@ -114,10 +114,10 @@ export default { if( isNaN(cellValueInt) ){ if(cellValue instanceof String && cellValue.length>0){ - cellValueInt=cellValue.chartCodeAt(cellValue.length-1) + cellValueInt=cellValue.charCodeAt(cellValue.length-1) }else if(cellValue instanceof Object){ if(cellValue['userid']){ - cellValueInt=cellValue['userid'].chartCodeAt(cellValue['userid'].length-1) + cellValueInt=cellValue['userid'].charCodeAt(cellValue['userid'].length-1) }else{ cellValueInt=0; } @@ -142,7 +142,7 @@ export default { } var cellValueInt=parseInt(cellValue) if( isNaN(cellValueInt) ){ - cellValueInt=cellValue.chartCodeAt(cellValue.length-1) + cellValueInt=cellValue.charCodeAt(cellValue.length-1) } var typeIndex=cellValueInt % 5 if(cellValueInt > 0 && typeIndex==0){ @@ -150,37 +150,23 @@ export default { } return classNames[typeIndex] }, - - calcMaxHeight(cssSelector) { - debugger; - var table=cssSelector; - if(typeof cssSelector == 'string'){ - table=document.querySelector(cssSelector); - } - var innerHeight=window.innerHeight - var top=150; - - - if(table!=null){ - var rect=table.getBoundingClientRect() - - if(rect && rect.top){ - top=rect.top; - } - } - var maxTableHeight =innerHeight-top; - return maxTableHeight; - }, calcTableMaxHeight(cssSelector) { var table=cssSelector; if(typeof cssSelector == 'string'){ table=document.querySelector(cssSelector); - } + } var innerHeight=window.innerHeight - var pageHeight=32 - var top=150; - var bottomHeight=24 - + var defaultInnerHeight=616; + var pageHeight=32/defaultInnerHeight*innerHeight + var top=150/defaultInnerHeight*innerHeight; + var bottomHeight=36/defaultInnerHeight*innerHeight + if(innerHeight>=916){ + bottomHeight=20/defaultInnerHeight*innerHeight + }else if(innerHeight>=800){ + bottomHeight=26/defaultInnerHeight*innerHeight + }else if(innerHeight>=700){ + bottomHeight=32/defaultInnerHeight*innerHeight + } if(table!=null){ var rect=table.getBoundingClientRect() diff --git a/src/components/MDinput/index.vue b/src/components/MDinput/index.vue index 1ce00e23..f93ae258 100644 --- a/src/components/MDinput/index.vue +++ b/src/components/MDinput/index.vue @@ -2,22 +2,22 @@
- - - - - - @@ -79,7 +79,8 @@ export default { data() { return { currentValue: this.value, - focus: false, + focus: false, + fillPlaceHolder: null } }, methods: { @@ -96,12 +97,14 @@ export default { handleMdFocus(event) { this.focus = true this.$emit('focus', event) - if (this.placeholder && this.placeholder !== '') { + if (this.placeholder && this.placeholder !== '') { + this.fillPlaceHolder = this.placeholder } }, handleMdBlur(event) { this.focus = false - this.$emit('blur', event) + this.$emit('blur', event) + this.fillPlaceHolder = null if (this.$parent.$options.componentName === 'ElFormItem') { if (this.validateEvent) { this.$parent.$emit('el.form.blur', [this.currentValue]) @@ -151,7 +154,8 @@ export default { } // Component: - .material-input__component { + .material-input__component { + margin-top: 36px; position: relative; * { box-sizing: border-box; diff --git a/src/components/Tinymce/index.vue b/src/components/Tinymce/index.vue index f861f748..d5d3b3c0 100644 --- a/src/components/Tinymce/index.vue +++ b/src/components/Tinymce/index.vue @@ -4,24 +4,23 @@ class="tinymce-container editor-container" >