centaline-data-driven 1.1.18 → 1.1.23

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 (56) hide show
  1. package/README.md +7 -7
  2. package/build/webpack.dev.conf.js +1 -1
  3. package/config/dev.env.js +2 -2
  4. package/package.json +1 -1
  5. package/src/Edit.vue +130 -23
  6. package/src/Form.vue +5 -3
  7. package/src/SearchList.vue +3 -2
  8. package/src/centaline/api/index.js +16 -8
  9. package/src/centaline/comfirm/src/comfirm.vue +1 -2
  10. package/src/centaline/common/index.js +9 -2
  11. package/src/centaline/css/common.css +1 -1
  12. package/src/centaline/dialogList/src/dialog.vue +2 -2
  13. package/src/centaline/dialogList/src/dialogList.vue +3 -1
  14. package/src/centaline/dialogList/src/dialogNew.vue +16 -16
  15. package/src/centaline/dynamicBtn/src/dynamicBtn.vue +16 -16
  16. package/src/centaline/dynamicCheckbox/src/dynamicCheckbox.vue +2 -4
  17. package/src/centaline/dynamicDtd/src/dynamicDtd.vue +4 -4
  18. package/src/centaline/dynamicForm/src/dynamicFormListTable.vue +13 -13
  19. package/src/centaline/dynamicInputNumber/src/dynamicInputNumber.vue +4 -0
  20. package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchList.vue +1 -1
  21. package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchListTable.vue +6 -6
  22. package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +14 -14
  23. package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +4 -4
  24. package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +7 -3
  25. package/src/centaline/imgPreview/index.js +6 -6
  26. package/src/centaline/imgPreview/src/imgPreview.vue +3 -3
  27. package/src/centaline/index.js +14 -14
  28. package/src/centaline/loader/src/ctl/Button.js +3 -3
  29. package/src/centaline/loader/src/ctl/Checkbox.js +0 -1
  30. package/src/centaline/loader/src/ctl/ComboBoxWithTextBox.js +11 -11
  31. package/src/centaline/loader/src/ctl/D.js +2 -2
  32. package/src/centaline/loader/src/ctl/Dtd.js +18 -18
  33. package/src/centaline/loader/src/ctl/DtdOld.js +8 -8
  34. package/src/centaline/loader/src/ctl/File.js +1 -1
  35. package/src/centaline/loader/src/ctl/Form.js +11 -7
  36. package/src/centaline/loader/src/ctl/FormList.js +2 -0
  37. package/src/centaline/loader/src/ctl/SearchScreen.js +5 -5
  38. package/src/centaline/loader/src/ctl/lib/Enum.js +9 -1
  39. package/src/centaline/loader/src/ctl/lib/LibFunction.js +12 -1
  40. package/src/centaline/loader/src/ctl.js +5 -1
  41. package/src/centaline/mixins/dynamicElement.js +34 -34
  42. package/src/centaline/progress/src/progress.vue +37 -37
  43. package/src/centaline/templateControls/src/dynamicTableCurrency.vue +1 -0
  44. package/src/centaline/templates/src/ContractSearch.js +4 -4
  45. package/src/main.js +5 -4
  46. package/wwwroot/static/centaline/centaline-data-driven.js +2 -2
  47. package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
  48. package/.vs/Centaline.Front_End.DataDriven/DesignTimeBuild/.dtbcache.v2 +0 -0
  49. package/.vs/Centaline.Front_End.DataDriven/config/applicationhost.config +0 -1015
  50. package/obj/Centaline.Front_End.DataDriven.csproj.nuget.dgspec.json +0 -75
  51. package/obj/Centaline.Front_End.DataDriven.csproj.nuget.g.props +0 -33
  52. package/obj/Centaline.Front_End.DataDriven.csproj.nuget.g.targets +0 -15
  53. package/obj/Debug/netcoreapp2.1/.NETCoreApp,Version=v2.1.AssemblyAttributes.cs +0 -4
  54. package/obj/Debug/netcoreapp2.1/Centaline.Front_End.DataDriven.AssemblyInfo.cs +0 -23
  55. package/obj/Debug/netcoreapp2.1/Centaline.Front_End.DataDriven.RazorAssemblyInfo.cs +0 -20
  56. package/obj/project.assets.json +0 -11914
@@ -6,9 +6,9 @@ import Vue from 'vue';
6
6
  import common from '../../../common';
7
7
 
8
8
  const Dtd = function (source, dateType) {
9
- var self = this;
10
- if (!dateType) {
11
- dateType = "date";
9
+ var self = this;
10
+ if (!dateType) {
11
+ dateType = "date";
12
12
  }
13
13
  var init = function (data) {
14
14
  var rtn = {
@@ -16,9 +16,9 @@ const Dtd = function (source, dateType) {
16
16
  if (typeof source.valueFormat !== 'undefined') {
17
17
  return source.valueFormat;
18
18
  }
19
- else {
19
+ else {
20
20
  if (dateType === "datetime") {
21
- return 'yyyy-MM-dd HH:mm:ss'
21
+ return 'yyyy-MM-dd HH:mm:ss'
22
22
  }
23
23
  return 'yyyy-MM-dd'
24
24
  }
@@ -42,21 +42,21 @@ const Dtd = function (source, dateType) {
42
42
  get value() {
43
43
  return source.code1;
44
44
  },
45
- set value(v) {
46
- if (!v) {
47
- source.code1 = "";
48
- return;
49
- }
45
+ set value(v) {
46
+ if (!v) {
47
+ source.code1 = "";
48
+ return;
49
+ }
50
50
  source.code1 = common.formatDate(v, rtn.valueFormat);
51
51
  },
52
52
  get value1() {
53
53
  return source.code2;
54
54
  },
55
- set value1(v) {
56
- if (!v) {
57
- source.code2 = "";
58
- return;
59
- }
55
+ set value1(v) {
56
+ if (!v) {
57
+ source.code2 = "";
58
+ return;
59
+ }
60
60
  source.code2 = common.formatDate(v, rtn.valueFormat);
61
61
  },
62
62
  get id1() {
@@ -68,7 +68,7 @@ const Dtd = function (source, dateType) {
68
68
  source.code1 = this.formatValue[0];
69
69
  source.code2 = this.formatValue[1];
70
70
  },
71
- getFormObj() {
71
+ getFormObj() {
72
72
  var rtnFormObj = {};
73
73
  Object.defineProperty(rtnFormObj, source.fieldName1, {
74
74
  get: function () {
@@ -89,8 +89,8 @@ const Dtd = function (source, dateType) {
89
89
  attrs: {
90
90
  type: dateType,
91
91
  'unlink-panels': true,
92
- get format() {
93
- return rtn.valueFormat;
92
+ get format() {
93
+ return rtn.valueFormat;
94
94
  },
95
95
  //'value-format': 'yyyy-MM-dd',
96
96
  align: 'left'
@@ -5,9 +5,9 @@ import Axios from 'axios';
5
5
  import Vue from 'vue';
6
6
 
7
7
  const Dtd = function (source, dateType) {
8
- var self = this;
9
- if (!dateType) {
10
- dateType = "daterange";
8
+ var self = this;
9
+ if (!dateType) {
10
+ dateType = "daterange";
11
11
  }
12
12
  var init = function (data) {
13
13
  var rtn = {
@@ -37,11 +37,11 @@ const Dtd = function (source, dateType) {
37
37
  get placeholder1() {
38
38
  return source.placeholder2 || '';
39
39
  },
40
- setFormatValue(v1) {//上面的set formatValue(v1)无法自动触发(无法监听数组)
41
- let dateFormat = "yyyy-MM-dd";
42
- if (dateType === "datetimerange") {
43
- dateFormat = 'yyyy-MM-dd HH:mm:ss';
44
- }
40
+ setFormatValue(v1) {//上面的set formatValue(v1)无法自动触发(无法监听数组)
41
+ let dateFormat = "yyyy-MM-dd";
42
+ if (dateType === "datetimerange") {
43
+ dateFormat = 'yyyy-MM-dd HH:mm:ss';
44
+ }
45
45
 
46
46
  if (v1 && v1.length > 0) {
47
47
  source.code1 = v1[0] && v1[0] instanceof Date ? Vue.prototype.$common.formatDate(v1[0], dateFormat) : "";
@@ -237,7 +237,7 @@ const box = function (source, fileSourceList, router, optionApi) {
237
237
  Vue.prototype.$message.error(res.rtnMsg);
238
238
  }
239
239
  },
240
- deleteFile(file, forceDelete) {
240
+ deleteFile(file, forceDelete) {
241
241
  for (let i = 0; i < rtn.fileList.length; i++) {
242
242
  if (rtn.fileList[i].uid === file.uid) {
243
243
  if (forceDelete) {
@@ -19,7 +19,7 @@ const Form = function (source, callBack, apiParam, failCallBack, isFormList) {
19
19
  },
20
20
  set title(v) {
21
21
  source.formTitle = v;
22
- },
22
+ },
23
23
  isChanged: false,
24
24
  get isHorizontalLayout() {
25
25
  return source.layoutOrientation === Enum.Orientation.Horizontal
@@ -51,12 +51,12 @@ const Form = function (source, callBack, apiParam, failCallBack, isFormList) {
51
51
  rtn._fields = [];
52
52
  for (var key in source.fields) {
53
53
  let value = source.fields[key];
54
-
55
- let showLabel = true;
56
- let isList = false;
57
- if (isFormList) {
58
- showLabel = false;
59
- isList = true;
54
+
55
+ let showLabel = true;
56
+ let isList = false;
57
+ if (isFormList) {
58
+ showLabel = false;
59
+ isList = true;
60
60
  }
61
61
  let item = LibFunction.GetControl(value, source, showLabel, isList);
62
62
 
@@ -242,6 +242,10 @@ const Form = function (source, callBack, apiParam, failCallBack, isFormList) {
242
242
  }
243
243
  //源数据
244
244
  else {
245
+ if (rowNum === null && listData.currentRowIndex) {
246
+ rowNum = listData.currentRowIndex;
247
+ }
248
+
245
249
  if (rowNum === 0 || (rowNum && fiedlId)) {
246
250
  let fields = listData.rows[rowNum].field;
247
251
  field = fields.find((v) => {
@@ -103,6 +103,7 @@ const FormList = function (source, master) {
103
103
  },
104
104
  _rows:null,
105
105
  get rows() {
106
+
106
107
  if (this._rows) {
107
108
  return this._rows;
108
109
  }
@@ -158,6 +159,7 @@ const FormList = function (source, master) {
158
159
  currentRow: null,
159
160
  _tableData: undefined,
160
161
  get tableData() {
162
+ debugger
161
163
  if (this._tableData) {
162
164
  return this._tableData;
163
165
  }
@@ -100,11 +100,11 @@ const SearchScreen = function (source, callBack, screenPara) {
100
100
  rtnscreens = this.initScreen(screens);
101
101
  this._highScreen = rtnscreens;
102
102
  return rtnscreens;
103
- },
104
- setBtnLoading(loading) {
105
- this.btnScreen.forEach(btn => {
106
- btn.disabled = loading;
107
- });
103
+ },
104
+ setBtnLoading(loading) {
105
+ this.btnScreen.forEach(btn => {
106
+ btn.disabled = loading;
107
+ });
108
108
  },
109
109
  get searchData() {
110
110
  var rtn = {
@@ -525,8 +525,16 @@ const Enum = {
525
525
  * Horizontal 水平方向布局
526
526
  */
527
527
  Horizontal: 2
528
- }
528
+ },
529
529
 
530
+ MessageAlertStyle:{
531
+ //默认
532
+ Default : 0,
533
+ //吐司
534
+ Toast : 10,
535
+ //窗口
536
+ Dialog : 20,
537
+ },
530
538
 
531
539
  };
532
540
 
@@ -233,7 +233,18 @@ const LibFunction = {
233
233
  var router = source.actionRouters.find((v1) => {
234
234
  return v1.key === field.fieldName1;
235
235
  });
236
- item = File(field, source.medias, router, source.parameterAction);
236
+ var files = [];
237
+ source.medias.forEach((v, index) => {
238
+ if (v.GroupID) {
239
+ if (v.GroupID == field.fieldName1) {
240
+ files.push(v);
241
+ }
242
+ }
243
+ else {
244
+ files.push(v);
245
+ }
246
+ })
247
+ item = File(field, files, router, source.parameterAction);
237
248
  item.is = 'ct-file';
238
249
  break;
239
250
  case Enum.ControlType.PasswordTextBox://密码
@@ -22,7 +22,11 @@ const loader = {
22
22
  Form: require("./ctl/Form.js").default,
23
23
  Router: require("./ctl/Router.js").default,
24
24
  Tabs: require("./ctl/Tabs.js").default,
25
- ComboBoxWithTextBox: require("./ctl/ComboBoxWithTextBox.js").default
25
+ ComboBoxWithTextBox: require("./ctl/ComboBoxWithTextBox.js").default,
26
+ Checkbox: require("./ctl/Checkbox.js").default,
27
+ InputNumber: require("./ctl/InputNumber.js").default,
28
+ L: require("./ctl/L.js").default,
29
+ File: require("./ctl/File.js").default,
26
30
  };
27
31
 
28
32
  export default loader;
@@ -17,7 +17,7 @@ export default {
17
17
  inputOld: '',
18
18
  changeOld: '',
19
19
  inputOld1: '',
20
- changeOld1: '',
20
+ changeOld1: '',
21
21
  inputTime: null
22
22
  };
23
23
  },
@@ -28,8 +28,8 @@ export default {
28
28
  let self = this;
29
29
  this.$nextTick(() => {
30
30
  if (this.model) {
31
- this.model.self = self;
32
- }
31
+ this.model.self = self;
32
+ }
33
33
 
34
34
  if (this.model && typeof this.model.value !== 'undefined') {
35
35
  if (typeof this.model.value !== 'undefined') {
@@ -52,8 +52,8 @@ export default {
52
52
  inputHandler(e) {
53
53
  var self = this;
54
54
  setTimeout(() => {
55
- self.valid = true;
56
- self.inputTime = (new Date()).getTime();
55
+ self.valid = true;
56
+ self.inputTime = (new Date()).getTime();
57
57
 
58
58
  //通用校验
59
59
  if (this.model.validating) {
@@ -62,8 +62,8 @@ export default {
62
62
  if (!self.valid) {
63
63
  self.validMessage = validtemp.message;
64
64
  return false;
65
- }
66
- }
65
+ }
66
+ }
67
67
 
68
68
  if (typeof self.model.value !== 'undefined') {
69
69
  self.inputOld = self.model.value;
@@ -86,34 +86,34 @@ export default {
86
86
  */
87
87
  changeHandler(e) {
88
88
  var self = this;
89
- setTimeout(() => {
90
- //通用校验
91
- var time = (new Date()).getTime();
92
- if (time > (self.inputTime + 500) || self.valid) {
93
- if (this.model.validating) {
89
+ setTimeout(() => {
90
+ //通用校验
91
+ var time = (new Date()).getTime();
92
+ if (time > (self.inputTime + 500) || self.valid) {
93
+ if (this.model.validating) {
94
94
  let validtemp = this.model.validating('change', self.inputOld, self.inputOld1);
95
95
  self.valid = validtemp.valid;
96
96
  if (!self.valid) {
97
97
  self.validMessage = validtemp.message;
98
98
  return false;
99
- }
100
- }
101
-
102
- //组件个性化校验
103
- if ("undefined" !== typeof this.selfValidExcute) {
104
- if (!this.selfValidExcute("change")) {
105
- self.valid = false;
106
- //return false;
107
- }
108
- }
109
- }
99
+ }
100
+ }
101
+
102
+ //组件个性化校验
103
+ if ("undefined" !== typeof this.selfValidExcute) {
104
+ if (!this.selfValidExcute("change")) {
105
+ self.valid = false;
106
+ //return false;
107
+ }
108
+ }
109
+ }
110
110
 
111
111
  if (typeof self.model.value !== 'undefined') {
112
112
  self.changeOld = self.model.value;
113
113
  }
114
114
  if (typeof self.model.value1 !== 'undefined') {
115
115
  self.changeOld1 = self.model.value1;
116
- }
116
+ }
117
117
 
118
118
  self.$emit('change', e);
119
119
  }, 1);
@@ -128,21 +128,21 @@ export default {
128
128
  var self = this;
129
129
 
130
130
  //通用校验
131
- if (typeof this.model.validating === "function") {
131
+ if (typeof this.model.validating === "function") {
132
132
  let validtemp = this.model.validating();
133
133
  self.valid = validtemp.valid;
134
134
  if (!self.valid) {
135
135
  self.validMessage = validtemp.message;
136
136
  return false;
137
- }
138
- }
139
-
140
- //组件个性化校验 优化 todo
141
- if ("undefined" !== typeof this.selfValidExcute) {
142
- if (!this.selfValidExcute("valid")) {
143
- return false;
144
- }
145
- }
137
+ }
138
+ }
139
+
140
+ //组件个性化校验 优化 todo
141
+ if ("undefined" !== typeof this.selfValidExcute) {
142
+ if (!this.selfValidExcute("valid")) {
143
+ return false;
144
+ }
145
+ }
146
146
 
147
147
  self.valid = true;
148
148
  return true;
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="ct-progress">
3
3
  <div>
4
- <el-progress :text-inside="true" :stroke-width="18" :percentage="percentage"></el-progress>
4
+ <el-progress :text-inside="true" :stroke-width="18" :percentage="percentage"></el-progress>
5
5
  <span>{{message}}</span>
6
6
  </div>
7
7
  </div>
@@ -11,58 +11,58 @@
11
11
  export default {
12
12
  name: 'ct-progress',
13
13
  props: {
14
- progressAction: String,
14
+ progressAction: String,
15
15
  progressKey: String,
16
16
  },
17
17
  data() {
18
18
  return {
19
- message: '',
20
- percentage: 0,
19
+ message: '',
20
+ percentage: 0,
21
21
  isDestroy: false,
22
22
  };
23
23
  },
24
24
  methods: {
25
25
  load() {
26
26
  },
27
- getApiData() {
28
- const self = this;
29
- let params = {
30
- action: this.progressAction,
31
- para: {
32
- key: this.progressKey
33
- }
34
- }
35
-
36
- if (self.isDestroy) {
37
- return;
38
- }
39
-
40
- this.$api.postHandler(this.$common.globalUri(), params, null).then((response) => {
41
- const data = response.content;
42
- if (data && data.rtnMsg) {
43
- self.message = data.rtnMsg;
44
- }
45
- if (response.rtnCode === 200) {
46
- this.percentage = data.percentage;
47
- if (data.flagFinished) {
48
- window.open(data.content, "_blank");
49
- setTimeout(() => { self.$emit('finished'); }, 800);
50
- }
51
- else {
52
- setTimeout(() => { self.getApiData() }, 1000);
27
+ getApiData() {
28
+ const self = this;
29
+ let params = {
30
+ action: this.progressAction,
31
+ para: {
32
+ key: this.progressKey
33
+ }
34
+ }
35
+
36
+ if (self.isDestroy) {
37
+ return;
38
+ }
39
+
40
+ this.$api.postHandler(this.$common.globalUri(), params, null).then((response) => {
41
+ const data = response.content;
42
+ if (data && data.rtnMsg) {
43
+ self.message = data.rtnMsg;
44
+ }
45
+ if (response.rtnCode === 200) {
46
+ this.percentage = data.percentage;
47
+ if (data.flagFinished) {
48
+ window.open(data.content, "_blank");
49
+ setTimeout(() => { self.$emit('finished'); }, 800);
50
+ }
51
+ else {
52
+ setTimeout(() => { self.getApiData() }, 1000);
53
53
  }
54
- }
55
- else {
56
-
54
+ }
55
+ else {
56
+
57
57
  }
58
58
  });
59
59
  }
60
60
  },
61
- mounted() {
61
+ mounted() {
62
62
  this.getApiData();
63
- },
64
- beforeDestroy() {
65
- this.isDestroy = true;
63
+ },
64
+ beforeDestroy() {
65
+ this.isDestroy = true;
66
66
  }
67
67
  }
68
68
  </script>
@@ -48,6 +48,7 @@
48
48
  }
49
49
  .ct-tablecurrencyImg {
50
50
  width: 24px;
51
+ margin-top: 2px;
51
52
  }
52
53
 
53
54
  </style>
@@ -6,10 +6,10 @@ const loader = {
6
6
  this.loadColumns(model.columns);
7
7
  },
8
8
  loadColumns: function (columns) {
9
- columns.forEach((col) => {
9
+ columns.forEach((col) => {
10
10
  switch (col.id) {
11
11
  case "ContractFile":
12
- col.template = function (row) {
12
+ col.template = function (row) {
13
13
  var rtn = {
14
14
  attrs: {
15
15
  get src() {
@@ -26,7 +26,7 @@ const loader = {
26
26
  };
27
27
  break;
28
28
  case "AccountFlow":
29
- col.template = function (row) {
29
+ col.template = function (row) {
30
30
  var rtn = {
31
31
  attrs: {
32
32
  get src() {
@@ -38,7 +38,7 @@ const loader = {
38
38
  return rtn;
39
39
  };
40
40
  break;
41
- case "ReportNo":
41
+ case "ReportNo":
42
42
  col.template = function (row) {
43
43
  var rtn = {
44
44
  attrs: {
package/src/main.js CHANGED
@@ -12,8 +12,8 @@ Vue.use(ElementUI, { size: 'mini'});
12
12
  // 关闭生产模式下给出的提示
13
13
  Vue.config.productionTip = false;
14
14
  Vue.use(centaline, {
15
- baseUrl: 'http://tjcptest.centaline.com.cn/v1/form/router',
16
- zindex: 999,
15
+ baseUrl: 'http://10.88.23.22:7070/v1/form/router',
16
+ zindex: 999,
17
17
  showRequestErrorMessage: true,
18
18
  handler: {
19
19
  // 打开tab页
@@ -27,8 +27,9 @@ Vue.use(centaline, {
27
27
  // 获取请求头
28
28
  getRequestHeaders: function () {
29
29
  return {
30
- oldToken: 'f6dec7b1-c059-4587-b655-c44c518f449a',
31
- estateId: '20210729104021C49F04B55C50F6AF58',
30
+ oldToken: '50b50be7-3fa8-48c9-9f8c-6dd16032ac5b',
31
+ estateId: 'f8dab352-5339-4832-897a-c818cd43b964',
32
+ Authorization:'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjQyMjVlZDY0LWE3M2YtNGM5Mi1iMDM5LWY1OTU0Y2UwM2UyNCJ9.x4Q_nTNVya5n-KnOCTkGSWcgaGA0zIEA5B72sxrm3JUQ-IEnouBEavIF2-KKbzYu-VZZtHd35KT_spPUrpZ2rA'
32
33
  };
33
34
  },
34
35
  // 请求完成事件,可判断是否登录过期执行响应操作