tianheng-ui 0.1.81 → 0.1.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/README.md +72 -15
  2. package/lib/theme-chalk/fonts/formMaking-iconfont.svg +155 -155
  3. package/lib/theme-chalk/fonts/th-iconfont.css +2402 -2402
  4. package/lib/theme-chalk/js/axios.js +87 -87
  5. package/lib/tianheng-ui.js +13 -13
  6. package/package.json +87 -86
  7. package/packages/CodeEditor/index.vue +3 -2
  8. package/packages/FormMaking/GenerateForm.vue +392 -392
  9. package/packages/FormMaking/Upload/index.vue +571 -571
  10. package/packages/FormMaking/WidgetFooter.vue +16 -0
  11. package/packages/FormMaking/WidgetForm.vue +145 -146
  12. package/packages/FormMaking/WidgetTools.vue +21 -16
  13. package/packages/FormMaking/custom/config.js +120 -2
  14. package/packages/FormMaking/custom/configs/number.vue +0 -5
  15. package/packages/FormMaking/custom/configs/page-table.vue +146 -0
  16. package/packages/FormMaking/custom/index.js +1 -1
  17. package/packages/FormMaking/custom/items/page-table.vue +250 -0
  18. package/packages/FormMaking/custom/register.js +43 -43
  19. package/packages/FormMaking/iconfont/demo.css +539 -539
  20. package/packages/FormMaking/iconfont/demo_index.html +1159 -1159
  21. package/packages/FormMaking/iconfont/formMaking-iconfont.css +189 -189
  22. package/packages/FormMaking/iconfont/formMaking-iconfont.svg +155 -155
  23. package/packages/FormMaking/index.js +33 -33
  24. package/packages/FormMaking/index.vue +6 -1
  25. package/packages/FormMaking/lang/en-US.js +187 -187
  26. package/packages/FormMaking/lang/zh-CN.js +187 -187
  27. package/packages/FormMaking/network/axios.js +88 -88
  28. package/packages/FormMaking/styles/index.scss +216 -216
  29. package/packages/FormMaking/util/generateCode.js +427 -157
  30. package/packages/FormMaking/util/index.js +98 -98
  31. package/packages/TableMaking/network/axios.js +88 -88
  32. package/packages/TableMaking/widgetConfig.vue +1 -1
@@ -1,98 +1,98 @@
1
- export const loadJs = url => {
2
- return new Promise((resolve, reject) => {
3
- const script = document.createElement("script");
4
- script.src = url;
5
- script.type = "text/javascript";
6
- document.body.appendChild(script);
7
- script.onload = () => {
8
- resolve();
9
- };
10
- });
11
- };
12
-
13
- export const loadCss = url => {
14
- return new Promise((resolve, reject) => {
15
- const link = document.createElement("link");
16
- link.rel = "stylesheet";
17
- link.href = url;
18
- document.head.appendChild(link);
19
- link.onload = () => {
20
- resolve();
21
- };
22
- });
23
- };
24
-
25
- export const generateUUID = () => {
26
- var d = new Date().getTime();
27
- var uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(
28
- c
29
- ) {
30
- var r = (d + Math.random() * 16) % 16 | 0;
31
- d = Math.floor(d / 16);
32
- return (c == "x" ? r : (r & 0x7) | 0x8).toString(16);
33
- });
34
- return uuid;
35
- };
36
-
37
- export const inputTypeDict = val => {
38
- const dict = {
39
- email: "email",
40
- url: "url"
41
- };
42
- return dict[val] || "text";
43
- };
44
-
45
- export const deepClone = (obj, clone) => {
46
- //判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝
47
- const toString = Object.prototype.toString;
48
- toString.call(obj) === "[object Array]"
49
- ? (clone = clone || [])
50
- : (clone = clone || {});
51
- for (const i in obj) {
52
- if (typeof obj[i] === "object" && obj[i] !== null) {
53
- // 要考虑深复制问题了
54
- if (Array.isArray(obj[i])) {
55
- // 这是数组
56
- clone[i] = [];
57
- } else {
58
- // 这是对象
59
- clone[i] = {};
60
- }
61
- deepClone(obj[i], clone[i]);
62
- } else {
63
- clone[i] = obj[i];
64
- }
65
- }
66
- return clone;
67
- };
68
-
69
- // 链式读取对象属性
70
- export const getProperty = (obj = {}, str = "") => {
71
- let dic = deepClone(obj);
72
- const props = str.replace(/\[(\w+)\]/g, ".$1"); // 处理数组下标
73
- const keys = props.split(".");
74
- for (const key of keys) {
75
- dic = dic[key] || "";
76
- }
77
- return dic;
78
- };
79
-
80
- // 链式设置对象属性
81
- export const setProperty = (obj = {}, str = "", value = "", isClone) => {
82
- let dic = isClone ? deepClone(obj) : obj;
83
- let propValue = "";
84
- const props = str.replace(/\[(\w+)\]/g, ".$1"); // 处理数组下标
85
- const keys = props.split(".");
86
- for (let i = 0; i < keys.length; i++) {
87
- const key = keys[i];
88
- if (keys.length === 1) {
89
- dic[key] = value;
90
- } else if (i === keys.length - 1) {
91
- propValue[key] = value;
92
- } else {
93
- if (!dic[key]) dic[key] = {};
94
- propValue = dic[key];
95
- }
96
- }
97
- return dic;
98
- };
1
+ export const loadJs = url => {
2
+ return new Promise((resolve, reject) => {
3
+ const script = document.createElement("script");
4
+ script.src = url;
5
+ script.type = "text/javascript";
6
+ document.body.appendChild(script);
7
+ script.onload = () => {
8
+ resolve();
9
+ };
10
+ });
11
+ };
12
+
13
+ export const loadCss = url => {
14
+ return new Promise((resolve, reject) => {
15
+ const link = document.createElement("link");
16
+ link.rel = "stylesheet";
17
+ link.href = url;
18
+ document.head.appendChild(link);
19
+ link.onload = () => {
20
+ resolve();
21
+ };
22
+ });
23
+ };
24
+
25
+ export const generateUUID = () => {
26
+ var d = new Date().getTime();
27
+ var uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(
28
+ c
29
+ ) {
30
+ var r = (d + Math.random() * 16) % 16 | 0;
31
+ d = Math.floor(d / 16);
32
+ return (c == "x" ? r : (r & 0x7) | 0x8).toString(16);
33
+ });
34
+ return uuid;
35
+ };
36
+
37
+ export const inputTypeDict = val => {
38
+ const dict = {
39
+ email: "email",
40
+ url: "url"
41
+ };
42
+ return dict[val] || "text";
43
+ };
44
+
45
+ export const deepClone = (obj, clone) => {
46
+ //判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝
47
+ const toString = Object.prototype.toString;
48
+ toString.call(obj) === "[object Array]"
49
+ ? (clone = clone || [])
50
+ : (clone = clone || {});
51
+ for (const i in obj) {
52
+ if (typeof obj[i] === "object" && obj[i] !== null) {
53
+ // 要考虑深复制问题了
54
+ if (Array.isArray(obj[i])) {
55
+ // 这是数组
56
+ clone[i] = [];
57
+ } else {
58
+ // 这是对象
59
+ clone[i] = {};
60
+ }
61
+ deepClone(obj[i], clone[i]);
62
+ } else {
63
+ clone[i] = obj[i];
64
+ }
65
+ }
66
+ return clone;
67
+ };
68
+
69
+ // 链式读取对象属性
70
+ export const getProperty = (obj = {}, str = "") => {
71
+ let dic = deepClone(obj);
72
+ const props = str.replace(/\[(\w+)\]/g, ".$1"); // 处理数组下标
73
+ const keys = props.split(".");
74
+ for (const key of keys) {
75
+ dic = dic[key] || "";
76
+ }
77
+ return dic;
78
+ };
79
+
80
+ // 链式设置对象属性
81
+ export const setProperty = (obj = {}, str = "", value = "", isClone) => {
82
+ let dic = isClone ? deepClone(obj) : obj;
83
+ let propValue = "";
84
+ const props = str.replace(/\[(\w+)\]/g, ".$1"); // 处理数组下标
85
+ const keys = props.split(".");
86
+ for (let i = 0; i < keys.length; i++) {
87
+ const key = keys[i];
88
+ if (keys.length === 1) {
89
+ dic[key] = value;
90
+ } else if (i === keys.length - 1) {
91
+ propValue[key] = value;
92
+ } else {
93
+ if (!dic[key]) dic[key] = {};
94
+ propValue = dic[key];
95
+ }
96
+ }
97
+ return dic;
98
+ };
@@ -1,88 +1,88 @@
1
- import axios from "axios";
2
- import Log from "../util/Log";
3
- import appConfig from "../config/index";
4
- import { Notification } from "element-ui";
5
-
6
- export const init = baseConfig => {
7
- // 创建axios实例
8
- const Axios = axios.create({
9
- baseURL: baseConfig.baseUrl,
10
- timeout: 60000 // 请求超时时间
11
- // withCredentials: true, //允许携带cookie
12
- });
13
-
14
- // 添加请求拦截器
15
- Axios.interceptors.request.use(
16
- config => {
17
- const info = sessionStorage.getItem(appConfig.storageKeys.oauthConfig);
18
- if (info) {
19
- const oauthInfo = JSON.parse(info);
20
- config.baseURL = oauthInfo.baseUrl;
21
- config.headers["Authorization"] = oauthInfo.token;
22
- }
23
- if (baseConfig.headers) {
24
- config.headers = Object.assign(config.headers, baseConfig.headers);
25
- }
26
- return config;
27
- },
28
- error => {
29
- Promise.reject(error);
30
- }
31
- );
32
-
33
- // 添加响应拦截器
34
- Axios.interceptors.response.use(
35
- response => {
36
- const code = response.status;
37
- if (code < 200 || code > 300) {
38
- Notification.error({
39
- title: response.message
40
- });
41
- return Promise.reject("error");
42
- }
43
-
44
- const dataCode = response.data.code;
45
- if (dataCode && dataCode !== 200) {
46
- Notification.error({
47
- title: response.data.message
48
- });
49
- return Promise.reject("error");
50
- }
51
-
52
- if (baseConfig.debug) {
53
- Log.prettyPrimary("Request Url:", response.request.responseURL);
54
- Log.prettySuccess("Request Res:", response);
55
- }
56
-
57
- return response.data;
58
- },
59
- error => {
60
- let code = 0;
61
- try {
62
- code = error.response.data.status;
63
- } catch (e) {
64
- if (error.toString().indexOf("Error: timeout") !== -1) {
65
- Notification.error({
66
- title: "网络请求超时",
67
- duration: 5000
68
- });
69
- return Promise.reject(error);
70
- }
71
- }
72
- if (code) {
73
- const errorMsg = error.response.data.message;
74
- Notification.error({
75
- title: errorMsg || "未知错误",
76
- duration: 5000
77
- });
78
- } else {
79
- Notification.error({
80
- title: "接口请求失败",
81
- duration: 5000
82
- });
83
- }
84
- return Promise.reject(error);
85
- }
86
- );
87
- return Axios;
88
- };
1
+ import axios from "axios";
2
+ import Log from "../util/Log";
3
+ import appConfig from "../config/index";
4
+ import { Notification } from "element-ui";
5
+
6
+ export const init = baseConfig => {
7
+ // 创建axios实例
8
+ const Axios = axios.create({
9
+ baseURL: baseConfig.baseUrl,
10
+ timeout: 60000 // 请求超时时间
11
+ // withCredentials: true, //允许携带cookie
12
+ });
13
+
14
+ // 添加请求拦截器
15
+ Axios.interceptors.request.use(
16
+ config => {
17
+ const info = sessionStorage.getItem(appConfig.storageKeys.oauthConfig);
18
+ if (info) {
19
+ const oauthInfo = JSON.parse(info);
20
+ config.baseURL = oauthInfo.baseUrl;
21
+ config.headers["Authorization"] = oauthInfo.token;
22
+ }
23
+ if (baseConfig.headers) {
24
+ config.headers = Object.assign(config.headers, baseConfig.headers);
25
+ }
26
+ return config;
27
+ },
28
+ error => {
29
+ Promise.reject(error);
30
+ }
31
+ );
32
+
33
+ // 添加响应拦截器
34
+ Axios.interceptors.response.use(
35
+ response => {
36
+ const code = response.status;
37
+ if (code < 200 || code > 300) {
38
+ Notification.error({
39
+ title: response.message
40
+ });
41
+ return Promise.reject("error");
42
+ }
43
+
44
+ const dataCode = response.data.code;
45
+ if (dataCode && dataCode !== 200) {
46
+ Notification.error({
47
+ title: response.data.message
48
+ });
49
+ return Promise.reject("error");
50
+ }
51
+
52
+ if (baseConfig.debug) {
53
+ Log.prettyPrimary("Request Url:", response.request.responseURL);
54
+ Log.prettySuccess("Request Res:", response);
55
+ }
56
+
57
+ return response.data;
58
+ },
59
+ error => {
60
+ let code = 0;
61
+ try {
62
+ code = error.response.data.status;
63
+ } catch (e) {
64
+ if (error.toString().indexOf("Error: timeout") !== -1) {
65
+ Notification.error({
66
+ title: "网络请求超时",
67
+ duration: 5000
68
+ });
69
+ return Promise.reject(error);
70
+ }
71
+ }
72
+ if (code) {
73
+ const errorMsg = error.response.data.message;
74
+ Notification.error({
75
+ title: errorMsg || "未知错误",
76
+ duration: 5000
77
+ });
78
+ } else {
79
+ Notification.error({
80
+ title: "接口请求失败",
81
+ duration: 5000
82
+ });
83
+ }
84
+ return Promise.reject(error);
85
+ }
86
+ );
87
+ return Axios;
88
+ };
@@ -631,7 +631,7 @@
631
631
  <el-tooltip
632
632
  slot="label"
633
633
  effect="light"
634
- content="按钮点击事件绑定的原生页面路径,参数可使用key=value占位,例:/page/path?id=id"
634
+ content="按钮点击事件绑定的原生页面路径,参数可使用key={value}占位,例:/page/path?id={id}&name=123"
635
635
  placement="top"
636
636
  >
637
637
  <span style="color: #409EFF;">关联页面</span>