tianheng-ui 0.1.65 → 0.1.67

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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tianheng-ui",
3
3
  "description": "A Vue.js project",
4
- "version": "0.1.65",
4
+ "version": "0.1.67",
5
5
  "author": "shu lang <403732931@qq.com>",
6
6
  "license": "MIT",
7
7
  "private": false,
@@ -181,7 +181,7 @@ export default {
181
181
  hendleElementRemoteData(item) {
182
182
  if (!item.options.remote || !item.options.remote.open) return;
183
183
  if (item.type === "upload" || item.type === "button") return;
184
-
184
+
185
185
  let api = "";
186
186
  if (item.options.remote.api.constructor === String) {
187
187
  api = this.formConfig.config.network[item.options.remote.api];
@@ -291,7 +291,6 @@ export default {
291
291
  if (!api) return this.$message.warning("未知的接口,请检查配置信息");
292
292
 
293
293
  let params = {};
294
- const inParams = api.inParams || [];
295
294
  const initParams = list => {
296
295
  list.map(item => {
297
296
  if (item.children) {
@@ -302,7 +301,7 @@ export default {
302
301
  }
303
302
  });
304
303
  };
305
- initParams(inParams);
304
+ api.inParams && initParams(api.inParams);
306
305
  if (api.needPage) {
307
306
  params.pageNum = params.pageNum || 1;
308
307
  params.pageSize = params.pageNum || 20;
@@ -515,7 +515,7 @@ export default {
515
515
  "config.mounted.api"(val) {
516
516
  this.handleFieldsApiChange(val);
517
517
  },
518
- "data.options.remoteFunc"(val) {
518
+ "data.options.remote.api"(val) {
519
519
  this.handleFieldsApiChange(val);
520
520
  },
521
521
  apiOptions() {
@@ -851,7 +851,6 @@ export const businessComponents = [
851
851
  format: "",
852
852
  style: {
853
853
  label: {
854
- width: "",
855
854
  customStyle: ""
856
855
  },
857
856
  value: {
@@ -870,7 +869,6 @@ export const businessComponents = [
870
869
  format: "",
871
870
  style: {
872
871
  label: {
873
- width: "",
874
872
  customStyle: ""
875
873
  },
876
874
  value: {
@@ -890,7 +888,6 @@ export const businessComponents = [
890
888
  format: "",
891
889
  style: {
892
890
  label: {
893
- width: "",
894
891
  customStyle: ""
895
892
  },
896
893
  value: {
@@ -909,7 +906,6 @@ export const businessComponents = [
909
906
  format: "",
910
907
  style: {
911
908
  label: {
912
- width: "",
913
909
  customStyle: ""
914
910
  },
915
911
  value: {
@@ -934,6 +930,7 @@ export const businessComponents = [
934
930
  reverse: false,
935
931
  placement: "right",
936
932
  hideTimestamp: false,
933
+ buttonsSticky: true,
937
934
  remote: {
938
935
  open: false,
939
936
  api: "",
@@ -1039,7 +1036,9 @@ export const businessComponents = [
1039
1036
  ]
1040
1037
  },
1041
1038
  hideLabel: true
1042
- }
1039
+ },
1040
+ events: {},
1041
+ rules: []
1043
1042
  }
1044
1043
  ];
1045
1044
 
@@ -182,11 +182,11 @@
182
182
  <el-form-item label="图标">
183
183
  <th-icons v-model="dialog.data.icon"></th-icons>
184
184
  </el-form-item>
185
- <el-form-item label="标题宽度">
185
+ <!-- <el-form-item label="标题宽度">
186
186
  <el-input
187
187
  v-model="dialog.data.options.style.label.width"
188
188
  ></el-input>
189
- </el-form-item>
189
+ </el-form-item> -->
190
190
  <el-form-item label="数据类型">
191
191
  <el-select
192
192
  style="width:100%"
@@ -238,7 +238,7 @@ export default {
238
238
  format: "", //type=date 时选填
239
239
  //样式对象
240
240
  style: {
241
- label: { width: "", customStyle: "" }, // 标题样式
241
+ label: { customStyle: "" }, // 标题样式
242
242
  value: { customStyle: "" } // 内容样式
243
243
  }
244
244
  }
@@ -42,10 +42,10 @@
42
42
 
43
43
  <el-form-item label="数据类型">
44
44
  <el-radio-group
45
- v-model="widget.options.remote"
45
+ v-model="widget.options.remote.open"
46
46
  @input="
47
47
  val => {
48
- if (!val) widget.options.remoteFunc = '';
48
+ if (!val) widget.options.remote.api = '';
49
49
  }
50
50
  "
51
51
  >
@@ -58,7 +58,7 @@
58
58
  <div v-if="widget.options.remote">
59
59
  <el-select
60
60
  style="width:100%"
61
- v-model="widget.options.remoteFunc"
61
+ v-model="widget.options.remote.api"
62
62
  placeholder="请选择"
63
63
  no-data-text="暂无数据,请查阅相关文档说明"
64
64
  clearable
@@ -62,11 +62,11 @@
62
62
 
63
63
  <el-form-item label="上传地址" :required="true">
64
64
  <el-radio-group
65
- v-model="widget.options.remote"
65
+ v-model="widget.options.remote.open"
66
66
  size="mini"
67
67
  @input="
68
68
  val => {
69
- if (!val) widget.options.remoteFunc = '';
69
+ if (!val) widget.options.remote.api = '';
70
70
  }
71
71
  "
72
72
  >
@@ -76,7 +76,7 @@
76
76
  <el-select
77
77
  v-if="widget.options.remote"
78
78
  style="width:100%"
79
- v-model="widget.options.remoteFunc"
79
+ v-model="widget.options.remote.api"
80
80
  placeholder="请选择"
81
81
  no-data-text="暂无数据,请查阅相关文档说明"
82
82
  clearable
@@ -20,6 +20,9 @@
20
20
  <el-form-item label="隐藏时间">
21
21
  <el-switch v-model="widget.options.hideTimestamp"></el-switch>
22
22
  </el-form-item>
23
+ <el-form-item label="操作悬浮">
24
+ <el-switch v-model="widget.options.buttonsSticky"></el-switch>
25
+ </el-form-item>
23
26
 
24
27
  <el-form-item label="节点数据">
25
28
  <el-radio-group
@@ -328,6 +331,7 @@
328
331
  value-key="id"
329
332
  clearable
330
333
  placeholder=""
334
+ filterable
331
335
  no-data-text="暂无接口,请前往【接口模块】创建"
332
336
  >
333
337
  <el-option
@@ -79,7 +79,6 @@ export default {
79
79
  ...row.options.columns[colIndex].list[newIndex],
80
80
  options: {
81
81
  ...row.options.columns[colIndex].list[newIndex].options
82
- // remoteFunc: "func_" + key
83
82
  },
84
83
  key,
85
84
  // 绑定键值
@@ -20,43 +20,8 @@
20
20
 
21
21
  <script>
22
22
  import { itemsComponent, eventMixin } from "../mixins/index";
23
- import * as Axios from "lib/theme-chalk/js/axios";
24
23
  export default {
25
- mixins: [itemsComponent, eventMixin],
26
- data() {
27
- return {
28
- axios: null
29
- };
30
- },
31
- created() {
32
- const oauthConfig = localStorage.getItem("TH_OauthConfig") || "{}";
33
- this.axios = Axios.init(JSON.parse(oauthConfig));
34
- },
35
- methods: {
36
- // hendleRemoteData() {
37
- // const remoteFunc = this.config.network[this.widget.options.remoteFunc];
38
- // console.log(remoteFunc);
39
- // const requestConfig = {
40
- // url: remoteFunc.url,
41
- // method: remoteFunc.method,
42
- // headers: remoteFunc.headers
43
- // };
44
- // let params = { ...remoteFunc.params };
45
- // if (remoteFunc.needPage) {
46
- // params.pageNum = 1;
47
- // params.pageSize = 20;
48
- // }
49
- // if (remoteFunc.method.toLowerCase() === "get") {
50
- // requestConfig.params = params;
51
- // } else {
52
- // params = Object.assign(params, this.models);
53
- // requestConfig.data = params;
54
- // }
55
- // this.axios(requestConfig).then(res => {
56
- // this.$emit("button-submit", requestConfig);
57
- // });
58
- // }
59
- }
24
+ mixins: [itemsComponent, eventMixin]
60
25
  };
61
26
  </script>
62
27
 
@@ -14,14 +14,14 @@
14
14
  >
15
15
  <el-descriptions-item v-for="(item, index) in dataModel" :key="index">
16
16
  <template slot="label">
17
- <div :style="labelStyle(item)">
18
- <i :class="item.icon"></i>
17
+ <div class="item-label" :style="labelStyle(item)">
18
+ <i v-if="item.icon" :class="item.icon"></i>
19
19
  <span v-html="item.label"></span>
20
20
  <span v-if="widget.options.colon">:</span>
21
21
  </div>
22
22
  </template>
23
23
  <a v-if="item.type === 'url'" :href="item.value">{{ item.value }}</a>
24
- <span v-else v-html="item.value"></span>
24
+ <span v-else class="item-value" v-html="item.value"></span>
25
25
  </el-descriptions-item>
26
26
  </el-descriptions>
27
27
  </div>
@@ -36,9 +36,11 @@ export default {
36
36
  return item => {
37
37
  let style = {
38
38
  width: this.widget.options.labelWidth,
39
- textAlignLast: this.widget.options.textAlignLast
39
+ "text-align-last": this.widget.options.textAlignLast
40
40
  };
41
- style = Object.assign(style, item.options.style.label);
41
+ if (item.options?.style?.label) {
42
+ style = Object.assign(style, item.options.style.label);
43
+ }
42
44
  return this.initStyle(style);
43
45
  };
44
46
  }
@@ -68,6 +70,12 @@ export default {
68
70
 
69
71
  <style lang="scss" scoped>
70
72
  .component-descriptions {
73
+ .item-label {
74
+ color: #333;
75
+ }
76
+ .item-value {
77
+ color: #666;
78
+ }
71
79
  .el-descriptions {
72
80
  padding: 0px;
73
81
  }
@@ -3,8 +3,6 @@
3
3
  <el-upload
4
4
  class="upload-demo"
5
5
  :action="uploadUrl"
6
- :headers="widget.options.remote ? widget.options.remoteFunc.headers : {}"
7
- :data="widget.options.remote ? widget.options.remoteFunc.params : {}"
8
6
  :multiple="widget.options.multiple"
9
7
  :limit="widget.options.length"
10
8
  :width="widget.options.size.width"
@@ -66,11 +64,11 @@ export default {
66
64
  },
67
65
  computed: {
68
66
  uploadUrl() {
69
- if (this.widget.options.remote) {
67
+ if (this.widget.options.remote.open) {
70
68
  const info = sessionStorage.getItem("th_oauth_info");
71
69
  let baseUrl = "";
72
70
  if (info) baseUrl = JSON.parse(info).baseUrl;
73
- const func = this.config.network[this.widget.options.remoteFunc];
71
+ const func = this.config.network[this.widget.options.remote.api];
74
72
  if (!func) {
75
73
  this.$message.warning("未知的请求接口,请检查配置信息");
76
74
  return "";
@@ -24,7 +24,7 @@
24
24
  "
25
25
  >
26
26
  <div>
27
- <div class="workflow-item-header">
27
+ <div class="item-header">
28
28
  <div class="title">{{ item.name }}</div>
29
29
  <div
30
30
  v-if="
@@ -54,11 +54,14 @@
54
54
  />
55
55
  </th-cell>
56
56
  </div>
57
- <div class="workflow-item-footer"></div>
58
57
  </div>
59
58
  </el-timeline-item>
60
59
  </el-timeline>
61
- <div v-if="dataModel.processInstButtons.length" class="footer">
60
+ <div
61
+ v-if="dataModel.processInstButtons.length"
62
+ class="footer"
63
+ :class="{ sticky: widget.options.buttonsSticky }"
64
+ >
62
65
  <el-button
63
66
  v-for="(item, index) in dataModel.processInstButtons"
64
67
  :key="index"
@@ -95,7 +98,7 @@ export default {
95
98
  .el-timeline {
96
99
  padding: 0px;
97
100
  }
98
- .workflow-item-header {
101
+ .item-header {
99
102
  margin-bottom: 5px;
100
103
  height: 20px;
101
104
  line-height: 20px;
@@ -117,15 +120,20 @@ export default {
117
120
  height: 24px;
118
121
  }
119
122
  }
120
- .workflow-item-footer {
121
- }
122
123
 
123
124
  .footer {
124
125
  display: flex;
126
+ align-items: center;
127
+ justify-content: space-evenly;
125
128
 
126
129
  .el-button {
127
130
  flex: 1;
128
131
  }
129
132
  }
133
+ .sticky {
134
+ position: sticky;
135
+ bottom: 0;
136
+ z-index: 99;
137
+ }
130
138
  }
131
139
  </style>
@@ -29,9 +29,9 @@ function findRemoteFunc(list, funcList, tokenFuncList, blankList) {
29
29
  });
30
30
  }
31
31
  } else {
32
- if (list[i].options.remote && list[i].options.remoteFunc) {
32
+ if (list[i].options.remote.open && list[i].options.remote.api) {
33
33
  funcList.push({
34
- func: list[i].options.remoteFunc,
34
+ func: list[i].options.remote.api,
35
35
  label: list[i].name,
36
36
  model: list[i].model
37
37
  });