chore: 同步Saber3.1.0

master
ssc 3 years ago
parent b1213dda31
commit a47b2153cc
  1. BIN
      .git.zip
  2. 3
      package.json
  3. 9
      public/cdn/avue/2.10.10/avue.min.js
  4. 1
      public/cdn/avue/2.10.10/index.css
  5. 9
      public/cdn/avue/2.9.12/avue.min.js
  6. 1
      public/cdn/avue/2.9.12/index.css
  7. 4
      public/index.html
  8. 4
      src/api/common.js
  9. 26
      src/api/system/user.js
  10. 2
      src/api/user.js
  11. 2
      src/config/env.js
  12. 4
      src/const/tool/model.js
  13. 8
      src/router/axios.js
  14. 2
      src/util/func.js
  15. 2
      src/views/flow/model.vue
  16. 3
      src/views/system/dict.vue
  17. 3
      src/views/system/dictbiz.vue
  18. 20
      src/views/system/user.vue
  19. 45
      src/views/tool/model.vue
  20. 57
      src/views/wel/index.vue
  21. 2
      src/views/work/process/leave/form.vue

Binary file not shown.

@ -1,6 +1,6 @@
{ {
"name": "saber-admin", "name": "saber-admin",
"version": "3.0.1", "version": "3.1.0",
"private": true, "private": true,
"scripts": { "scripts": {
"serve": "vue-cli-service serve", "serve": "vue-cli-service serve",
@ -16,7 +16,6 @@
"babel-polyfill": "^6.26.0", "babel-polyfill": "^6.26.0",
"classlist-polyfill": "^1.2.0", "classlist-polyfill": "^1.2.0",
"crypto-js": "^4.0.0", "crypto-js": "^4.0.0",
"echarts": "^5.3.3",
"element-ui": "^2.15.6", "element-ui": "^2.15.6",
"js-base64": "^2.5.1", "js-base64": "^2.5.1",
"js-cookie": "^2.2.0", "js-cookie": "^2.2.0",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -15,7 +15,7 @@
<link rel="stylesheet" href="<%= BASE_URL %>cdn/iconfont/index.css"> <link rel="stylesheet" href="<%= BASE_URL %>cdn/iconfont/index.css">
<link rel="stylesheet" href="<%= BASE_URL %>cdn/iconfont/avue/iconfont.css"> <link rel="stylesheet" href="<%= BASE_URL %>cdn/iconfont/avue/iconfont.css">
<link rel="stylesheet" href="<%= BASE_URL %>cdn/iconfont/saber/iconfont.css"> <link rel="stylesheet" href="<%= BASE_URL %>cdn/iconfont/saber/iconfont.css">
<link rel="stylesheet" href="<%= BASE_URL %>cdn/avue/2.9.12/index.css"> <link rel="stylesheet" href="<%= BASE_URL %>cdn/avue/2.10.10/index.css">
<script src="<%= BASE_URL %>cdn/xlsx/FileSaver.min.js"></script> <script src="<%= BASE_URL %>cdn/xlsx/FileSaver.min.js"></script>
<script src="<%= BASE_URL %>cdn/xlsx/xlsx.full.min.js"></script> <script src="<%= BASE_URL %>cdn/xlsx/xlsx.full.min.js"></script>
<link rel="icon" href="<%= BASE_URL %>favicon.png"> <link rel="icon" href="<%= BASE_URL %>favicon.png">
@ -108,7 +108,7 @@
<script src="<%= BASE_URL %>cdn/vue-router/3.0.1/vue-router.min.js" charset="utf-8"></script> <script src="<%= BASE_URL %>cdn/vue-router/3.0.1/vue-router.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/axios/1.0.0/axios.min.js" charset="utf-8"></script> <script src="<%= BASE_URL %>cdn/axios/1.0.0/axios.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/element-ui/2.15.6/index.js" charset="utf-8"></script> <script src="<%= BASE_URL %>cdn/element-ui/2.15.6/index.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/avue/2.9.12/avue.min.js" charset="utf-8"></script> <script src="<%= BASE_URL %>cdn/avue/2.10.10/avue.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/nutflow/wf-design-base/index.umd.min.js" charset="utf-8"></script> <script src="<%= BASE_URL %>cdn/nutflow/wf-design-base/index.umd.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/avue-form-design/index.umd.min.js" charset="utf-8"></script> <script src="<%= BASE_URL %>cdn/avue-form-design/index.umd.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/wf-design/index.umd.min.js" charset="utf-8"></script> <script src="<%= BASE_URL %>cdn/wf-design/index.umd.min.js" charset="utf-8"></script>

@ -3,10 +3,12 @@ import request from "@/router/axios";
/** /**
* 文件流返回 * 文件流返回
* @param url 接口地址 * @param url 接口地址
* @param params 接口参数
*/ */
export const exportBlob = (url) => { export const exportBlob = (url, params) => {
return request({ return request({
url: url, url: url,
params: params,
method: 'get', method: 'get',
responseType: 'blob' responseType: 'blob'
}) })

@ -2,7 +2,7 @@ import request from '@/router/axios';
export const getList = (current, size, params, deptId) => { export const getList = (current, size, params, deptId) => {
return request({ return request({
url: '/api/blade-user/page', url: '/api/blade-system/user/page',
method: 'get', method: 'get',
params: { params: {
...params, ...params,
@ -15,7 +15,7 @@ export const getList = (current, size, params, deptId) => {
export const remove = (ids) => { export const remove = (ids) => {
return request({ return request({
url: '/api/blade-user/remove', url: '/api/blade-system/user/remove',
method: 'post', method: 'post',
params: { params: {
ids, ids,
@ -25,7 +25,7 @@ export const remove = (ids) => {
export const add = (row) => { export const add = (row) => {
return request({ return request({
url: '/api/blade-user/submit', url: '/api/blade-system/user/submit',
method: 'post', method: 'post',
data: row data: row
}) })
@ -33,7 +33,7 @@ export const add = (row) => {
export const update = (row) => { export const update = (row) => {
return request({ return request({
url: '/api/blade-user/update', url: '/api/blade-system/user/update',
method: 'post', method: 'post',
data: row data: row
}) })
@ -41,7 +41,7 @@ export const update = (row) => {
export const updatePlatform = (userId, userType, userExt) => { export const updatePlatform = (userId, userType, userExt) => {
return request({ return request({
url: '/api/blade-user/update-platform', url: '/api/blade-system/user/update-platform',
method: 'post', method: 'post',
params: { params: {
userId, userId,
@ -53,7 +53,7 @@ export const updatePlatform = (userId, userType, userExt) => {
export const getUser = (id) => { export const getUser = (id) => {
return request({ return request({
url: '/api/blade-user/detail', url: '/api/blade-system/user/detail',
method: 'get', method: 'get',
params: { params: {
id, id,
@ -63,7 +63,7 @@ export const getUser = (id) => {
export const getUserPlatform = (id) => { export const getUserPlatform = (id) => {
return request({ return request({
url: '/api/blade-user/platform-detail', url: '/api/blade-system/user/platform-detail',
method: 'get', method: 'get',
params: { params: {
id, id,
@ -73,14 +73,14 @@ export const getUserPlatform = (id) => {
export const getUserInfo = () => { export const getUserInfo = () => {
return request({ return request({
url: '/api/blade-user/info', url: '/api/blade-system/user/info',
method: 'get', method: 'get',
}) })
} }
export const resetPassword = (userIds) => { export const resetPassword = (userIds) => {
return request({ return request({
url: '/api/blade-user/reset-password', url: '/api/blade-system/user/reset-password',
method: 'post', method: 'post',
params: { params: {
userIds, userIds,
@ -90,7 +90,7 @@ export const resetPassword = (userIds) => {
export const updatePassword = (oldPassword, newPassword, newPassword1) => { export const updatePassword = (oldPassword, newPassword, newPassword1) => {
return request({ return request({
url: '/api/blade-user/update-password', url: '/api/blade-system/user/update-password',
method: 'post', method: 'post',
params: { params: {
oldPassword, oldPassword,
@ -102,7 +102,7 @@ export const updatePassword = (oldPassword, newPassword, newPassword1) => {
export const updateInfo = (row) => { export const updateInfo = (row) => {
return request({ return request({
url: '/api/blade-user/update-info', url: '/api/blade-system/user/update-info',
method: 'post', method: 'post',
data: row data: row
}) })
@ -110,7 +110,7 @@ export const updateInfo = (row) => {
export const grant = (userIds, roleIds) => { export const grant = (userIds, roleIds) => {
return request({ return request({
url: '/api/blade-user/grant', url: '/api/blade-system/user/grant',
method: 'post', method: 'post',
params: { params: {
userIds, userIds,
@ -121,7 +121,7 @@ export const grant = (userIds, roleIds) => {
export const unlock = (userIds) => { export const unlock = (userIds) => {
return request({ return request({
url: '/api/blade-user/unlock', url: '/api/blade-system/user/unlock',
method: 'post', method: 'post',
params: { params: {
userIds, userIds,

@ -69,7 +69,7 @@ export const refreshToken = (refresh_token, tenantId, deptId, roleId) => request
}); });
export const registerGuest = (form, oauthId) => request({ export const registerGuest = (form, oauthId) => request({
url: '/api/blade-user/register-guest', url: '/api/blade-system/user/register-guest',
method: 'post', method: 'post',
params: { params: {
tenantId: form.tenantId, tenantId: form.tenantId,

@ -6,7 +6,7 @@ let baseUrl = '';
let codeUrl = `${baseUrl}/code` let codeUrl = `${baseUrl}/code`
const env = process.env const env = process.env
if (env.NODE_ENV === 'development') { if (env.NODE_ENV === 'development') {
baseUrl = ``; // 开发环境地址 baseUrl = `/api`; // 开发环境地址
} else if (env.NODE_ENV === 'production') { } else if (env.NODE_ENV === 'production') {
baseUrl = ``; //生产环境地址 baseUrl = ``; //生产环境地址
} else if (env.NODE_ENV === 'test') { } else if (env.NODE_ENV === 'test') {

@ -49,6 +49,10 @@ export const componentDic = [
label: "多行文本", label: "多行文本",
value: "textarea" value: "textarea"
}, },
{
label: "富文本",
value: "editor"
},
{ {
label: "下拉选项", label: "下拉选项",
value: "select" value: "select"

@ -11,13 +11,15 @@ import router from '@/router/router';
import {serialize} from '@/util/util'; import {serialize} from '@/util/util';
import {getToken} from '@/util/auth'; import {getToken} from '@/util/auth';
import {Message} from 'element-ui'; import {Message} from 'element-ui';
import {isURL} from "@/util/validate";
import website from '@/config/website'; import website from '@/config/website';
import {Base64} from 'js-base64'; import {Base64} from 'js-base64';
import { baseUrl } from '@/config/env';
import NProgress from 'nprogress'; import NProgress from 'nprogress';
import 'nprogress/nprogress.css'; import 'nprogress/nprogress.css';
//默认超时时间 //默认超时时间
axios.defaults.timeout = 60000; axios.defaults.timeout = 10000;
//返回其他状态码 //返回其他状态码
axios.defaults.validateStatus = function (status) { axios.defaults.validateStatus = function (status) {
return status >= 200 && status <= 500; return status >= 200 && status <= 500;
@ -32,6 +34,10 @@ NProgress.configure({
axios.interceptors.request.use(config => { axios.interceptors.request.use(config => {
//开启 progress bar //开启 progress bar
NProgress.start(); NProgress.start();
//地址为已经配置状态则不添加前缀
if (!isURL(config.url) && !config.url.startsWith(baseUrl)) {
config.url = baseUrl + config.url
}
//headers判断是否需要 //headers判断是否需要
const authorization = config.authorization === false; const authorization = config.authorization === false;
if (!authorization) { if (!authorization) {

@ -79,7 +79,7 @@ export default class func {
* @returns {string} * @returns {string}
*/ */
static join(arr) { static join(arr) {
return arr ? arr.join(',') : ''; return Array.isArray(arr) ? arr.join(',') : arr;
} }
/** /**

@ -347,7 +347,7 @@ export default {
deployModel({ deployModel({
modelId: this.selectionId, modelId: this.selectionId,
category: flowCategory(form.categoryValue), category: flowCategory(form.categoryValue),
tenantIds: form.tenantId.join(",") tenantIds: form.tenantId ? form.tenantId.join(",") : ""
}).then(res => { }).then(res => {
const data = res.data; const data = res.data;
if (data.success) { if (data.success) {

@ -240,6 +240,9 @@ export default {
const parentId = this.findObject(this.optionChild.column, "parentId"); const parentId = this.findObject(this.optionChild.column, "parentId");
parentId.value = row.id; parentId.value = row.id;
this.formChild.code = row.code;
this.formChild.parentId = row.id;
this.box = true; this.box = true;
this.onLoadChild(this.pageChild); this.onLoadChild(this.pageChild);
}, },

@ -240,6 +240,9 @@
const parentId = this.findObject(this.optionChild.column, "parentId"); const parentId = this.findObject(this.optionChild.column, "parentId");
parentId.value = row.id; parentId.value = row.id;
this.formChild.code = row.code;
this.formChild.parentId = row.id;
this.box = true; this.box = true;
this.onLoadChild(this.pageChild); this.onLoadChild(this.pageChild);
}, },

@ -630,7 +630,7 @@
res: 'data' res: 'data'
}, },
tip: '请上传 .xls,.xlsx 标准格式文件', tip: '请上传 .xls,.xlsx 标准格式文件',
action: "/api/blade-user/import-user" action: "/api/blade-system/user/import-user"
}, },
{ {
label: "数据覆盖", label: "数据覆盖",
@ -677,7 +677,7 @@
'excelForm.isCovered'() { 'excelForm.isCovered'() {
if (this.excelForm.isCovered !== '') { if (this.excelForm.isCovered !== '') {
const column = this.findObject(this.excelOption.column, "excelFile"); const column = this.findObject(this.excelOption.column, "excelFile");
column.action = `/api/blade-user/import-user?isCovered=${this.excelForm.isCovered}`; column.action = `/api/blade-system/user/import-user?isCovered=${this.excelForm.isCovered}`;
} }
} }
}, },
@ -745,9 +745,9 @@
}); });
}, },
rowSave(row, done, loading) { rowSave(row, done, loading) {
row.deptId = row.deptId.join(","); row.deptId = func.join(row.deptId);
row.roleId = row.roleId.join(","); row.roleId = func.join(row.roleId);
row.postId = row.postId.join(","); row.postId = func.join(row.postId);
add(row).then(() => { add(row).then(() => {
this.initFlag = false; this.initFlag = false;
this.onLoad(this.page); this.onLoad(this.page);
@ -762,9 +762,9 @@
}); });
}, },
rowUpdate(row, index, done, loading) { rowUpdate(row, index, done, loading) {
row.deptId = row.deptId.join(","); row.deptId = func.join(row.deptId);
row.roleId = row.roleId.join(","); row.roleId = func.join(row.roleId);
row.postId = row.postId.join(","); row.postId = func.join(row.postId);
update(row).then(() => { update(row).then(() => {
this.initFlag = false; this.initFlag = false;
this.onLoad(this.page); this.onLoad(this.page);
@ -911,14 +911,14 @@
type: "warning" type: "warning"
}).then(() => { }).then(() => {
NProgress.start(); NProgress.start();
exportBlob(`/api/blade-user/export-user?${this.website.tokenHeader}=${getToken()}&account=${account}&realName=${realName}`).then(res => { exportBlob(`/api/blade-system/user/export-user?${this.website.tokenHeader}=${getToken()}&account=${account}&realName=${realName}`).then(res => {
downloadXls(res.data, `用户数据表${dateNow()}.xlsx`); downloadXls(res.data, `用户数据表${dateNow()}.xlsx`);
NProgress.done(); NProgress.done();
}) })
}); });
}, },
handleTemplate() { handleTemplate() {
exportBlob(`/api/blade-user/export-template?${this.website.tokenHeader}=${getToken()}`).then(res => { exportBlob(`/api/blade-system/user/export-template?${this.website.tokenHeader}=${getToken()}`).then(res => {
downloadXls(res.data, "用户数据模板.xlsx"); downloadXls(res.data, "用户数据模板.xlsx");
}) })
}, },

@ -76,7 +76,7 @@ export default {
loading: true, loading: true,
loadingOption: { loadingOption: {
lock: true, lock: true,
text: 'Loading', text: '物理表读取中',
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0)' background: 'rgba(0, 0, 0, 0)'
}, },
@ -100,6 +100,8 @@ export default {
formStep: {}, formStep: {},
fields: [], fields: [],
selectionModelList: [], selectionModelList: [],
//
hideFields: ["id", "tenant_id", "create_user", "create_dept", "create_time", "update_user", "update_time", "status", "is_deleted"]
}; };
}, },
watch: { watch: {
@ -133,6 +135,8 @@ export default {
} }
fullLoading.close(); fullLoading.close();
} }
}).catch(() => {
fullLoading.close();
}); });
} }
} }
@ -157,13 +161,24 @@ export default {
}, },
methods: { methods: {
rowSave(row, done, loading) { rowSave(row, done, loading) {
add(row).then(() => { add(row).then((res) => {
done(); done();
this.onLoad(this.page); this.onLoad(this.page);
this.$message({ this.$message({
type: "success", type: "success",
message: "操作成功!" message: "操作成功!"
}); });
this.$confirm("是否进行模型配置?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let model = {
id: res.data.data.id,
datasourceId: res.data.data.datasourceId
};
this.handleModel(model);
});
}, error => { }, error => {
loading(); loading();
window.console.log(error); window.console.log(error);
@ -277,19 +292,10 @@ export default {
this.fields.forEach(item => { this.fields.forEach(item => {
item.$cellEdit = true; item.$cellEdit = true;
item.modelId = this.modelId; item.modelId = this.modelId;
// //
if (validatenull(item.id)) {
item.isList = 1;
item.isForm = 1;
item.isRow = 0;
item.isRequired = 0;
item.isQuery = 0;
item.componentType = "input";
}
if (!validatenull(item.name)) { if (!validatenull(item.name)) {
item.jdbcName = item.name; item.jdbcName = item.name;
item.jdbcType = item.propertyType; item.jdbcType = item.propertyType;
//
if (item.propertyType === "LocalDateTime") { if (item.propertyType === "LocalDateTime") {
item.propertyType = "Date"; item.propertyType = "Date";
item.propertyEntity = "java.util.Date"; item.propertyEntity = "java.util.Date";
@ -302,6 +308,21 @@ export default {
}); });
} }
} }
//
if (validatenull(item.id)) {
item.isList = 1;
item.isForm = 1;
item.isRow = 0;
item.isRequired = 0;
item.isQuery = 0;
item.componentType = "input";
//
if (this.hideFields.includes(item.jdbcName)) {
item.isList = 0;
item.isForm = 0;
item.isRequired = 0;
}
}
}); });
this.loading = false; this.loading = false;
} }

@ -9,7 +9,7 @@
<el-col :span="24"> <el-col :span="24">
<basic-container> <basic-container>
<p style="text-align: center"> <p style="text-align: center">
<img src="https://img.shields.io/badge/Release-V3.0.1-green.svg" alt="Downloads"/> <img src="https://img.shields.io/badge/Release-V3.1.0-green.svg" alt="Downloads"/>
<img src="https://img.shields.io/badge/JDK-1.8+-green.svg" alt="Build Status"/> <img src="https://img.shields.io/badge/JDK-1.8+-green.svg" alt="Build Status"/>
<img src="https://img.shields.io/badge/Spring%20Cloud-2021-blue.svg" alt="Coverage Status"/> <img src="https://img.shields.io/badge/Spring%20Cloud-2021-blue.svg" alt="Coverage Status"/>
<img src="https://img.shields.io/badge/Spring%20Boot-2.7-blue.svg" alt="Downloads"/> <img src="https://img.shields.io/badge/Spring%20Boot-2.7-blue.svg" alt="Downloads"/>
@ -139,6 +139,59 @@
<el-row> <el-row>
<basic-container> <basic-container>
<el-collapse v-model="logActiveNames" @change="handleChange"> <el-collapse v-model="logActiveNames" @change="handleChange">
<el-collapse-item title="3.1.0.RELEASE发布,新增vue3、sharding-jdbc、aws s3、redis mq支持" name="29">
<div>1.[升级]SpringCloud 2021.0.6</div>
<div>2.[升级]SpringBoot 2.7.10</div>
<div>3.[升级]SpringBootAdmin 2.7.10</div>
<div>4.[升级]AlibabaCloud 2021.0.5.0</div>
<div>5.[升级]Mybatis-Plus 3.5.3.1</div>
<div>6.[升级]Mybatis-Plus-Generator 3.5.3.1</div>
<div>7.[升级]Nacos 2.1.2</div>
<div>8.[升级]Seata 1.6.1</div>
<div>9.[升级]Knife4j 4.1.0</div>
<div>10.[升级]Avue2 2.10.10</div>
<div>12.[升级]Avue3 3.2.13</div>
<div>13.[新增]基于Vue3与Element-Plus版本的Saber正式发布</div>
<div>14.[新增]新增Sharding-Jdbc与动态数据源联合demo</div>
<div>15.[新增]axios支持baseUrl自动追加</div>
<div>16.[新增]字典管理新增全数据接口提供前端缓存支持</div>
<div>17.[新增]使用 flatten maven 插件优化版本处理</div>
<div>18.[新增]BizService供用户自行修改拓展并引入新的业务模块</div>
<div>19.[新增]Auto 支持 spring boot 2.7.x spi</div>
<div>20.[新增]Metrics 增加 undertow 指标</div>
<div>21.[新增]Redis 添加 stream,轻量级 mq支持广播和集群模式</div>
<div>22.[新增]Redis 调整限流脚本,更好的支持云服务器</div>
<div>23.[新增]S3Template支持 aws s3 且可同时支持minio作为分布式存储</div>
<div>24.[新增]可配置七牛云region的方式 增加七牛云私有文件下载方式</div>
<div>25.[新增]OssTemplate实现类获取流的方式去下载文件</div>
<div>26.[新增]代码生成saber3以及element-plus模版</div>
<div>27.[优化]代码生成数据模型新增后增加提示框是否需要配置详情</div>
<div>28.[优化]代码生成查询类型适配</div>
<div>29.[优化]代码生成优化基础业务的判断逻辑</div>
<div>30.[优化]代码生成增加excel导出功能</div>
<div>31.[优化]代码生成加快物理表信息读取速度</div>
<div>32.[优化]代码生成参数类型适配pg</div>
<div>33.[优化]代码生成数据模型新增逻辑</div>
<div>34.[优化]代码生成数据模型增加表前缀提醒</div>
<div>35.[优化]代码生成优化表前缀判断</div>
<div>36.[优化]代码生成数据模型删除增加关联表</div>
<div>37.[优化]登录成功后清除验证码缓存</div>
<div>38.[优化]代码生成通用字段默认隐藏</div>
<div>39.[优化]关闭nacos默认日志解决与logback冲突的问题</div>
<div>40.[优化]取消token默认签名强制要求配置自定义签名</div>
<div>41.[优化]资源管理默认参数判断逻辑</div>
<div>42.[优化]Oauth2 token发放增加空判断</div>
<div>43.[优化]BladeReids getIncr与getDecr专用方法</div>
<div>44.[修复]BladeRedis rPush 方法</div>
<div>45.[修复]Xss转义符</div>
<div>46.[修复]行政区划市级新增报错问题</div>
<div>47.[修复]Jackson注册模块失效的问题</div>
<div>48.[修复]流程部署问题</div>
<div>49.[修复]字典管理新增缓存上级数据不匹配的问题</div>
<div>50.[修复]用户模块先查看再提交会失败的问题</div>
<div>51.[迁移]Xxl-Job迁移至Biz工程</div>
<div>52.[迁移]user服务合并至system服务保留blade-user-api</div>
</el-collapse-item>
<el-collapse-item title="3.0.1.RELEASE发布,代码生成功能全面升级" name="28"> <el-collapse-item title="3.0.1.RELEASE发布,代码生成功能全面升级" name="28">
<div>1.[新增]数据模型在线配置</div> <div>1.[新增]数据模型在线配置</div>
<div>2.[新增]代码生成表单组件在线配置</div> <div>2.[新增]代码生成表单组件在线配置</div>
@ -771,7 +824,7 @@
data() { data() {
return { return {
activeNames: ['1', '2', '3', '5'], activeNames: ['1', '2', '3', '5'],
logActiveNames: ['28'] logActiveNames: ['29']
}; };
}, },
computed: { computed: {

@ -28,7 +28,7 @@
label: '审批人员', label: '审批人员',
prop: 'taskUser', prop: 'taskUser',
type: 'select', type: 'select',
dicUrl: `/api/blade-user/user-list`, dicUrl: `/api/blade-system/user/user-list`,
props: { props: {
label: "account", label: "account",
value: "id" value: "id"

Loading…
Cancel
Save