centaline-data-driven 1.1.54 → 1.1.55

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 (193) hide show
  1. package/.babelrc +12 -12
  2. package/.editorconfig +9 -9
  3. package/.gitattributes +63 -63
  4. package/.postcssrc.js +10 -10
  5. package/Centaline.Front_End.DataDriven.csproj +37 -37
  6. package/Centaline.Front_End.DataDriven.sln +25 -25
  7. package/Properties/launchSettings.json +26 -26
  8. package/README.md +140 -140
  9. package/build/build.js +41 -41
  10. package/build/centaline/centaline.path.js +59 -59
  11. package/build/centaline/webpack.centaline.conf.js +106 -106
  12. package/build/check-versions.js +54 -54
  13. package/build/utils.js +102 -102
  14. package/build/vue-loader.conf.js +22 -22
  15. package/build/webpack.base.conf.js +82 -82
  16. package/build/webpack.dev.conf.js +111 -111
  17. package/build/webpack.prod.conf.js +145 -145
  18. package/config/dev.env.js +12 -12
  19. package/config/index.js +73 -73
  20. package/config/prod.env.js +4 -4
  21. package/index.html +14 -14
  22. package/package.json +75 -75
  23. package/src/App.vue +10 -10
  24. package/src/Detail.vue +26 -26
  25. package/src/Edit.vue +32 -32
  26. package/src/Form.vue +29 -29
  27. package/src/SearchList.vue +40 -40
  28. package/src/SearchTree.vue +51 -51
  29. package/src/Tabs.vue +19 -19
  30. package/src/centaline/api/index.js +249 -249
  31. package/src/centaline/comfirm/index.js +11 -11
  32. package/src/centaline/comfirm/src/comfirm.vue +44 -44
  33. package/src/centaline/common/index.js +738 -738
  34. package/src/centaline/css/common.css +748 -748
  35. package/src/centaline/css/max.css +207 -207
  36. package/src/centaline/dialogList/index.js +11 -11
  37. package/src/centaline/dialogList/src/dialog.vue +210 -210
  38. package/src/centaline/dialogList/src/dialogList.vue +65 -65
  39. package/src/centaline/dialogList/src/dialogNew.vue +78 -78
  40. package/src/centaline/dialogList/src/drag.js +77 -77
  41. package/src/centaline/directives/index.js +23 -23
  42. package/src/centaline/dynamicBtn/index.js +11 -11
  43. package/src/centaline/dynamicBtn/src/dynamicBtn.vue +100 -100
  44. package/src/centaline/dynamicCb/index.js +11 -11
  45. package/src/centaline/dynamicCb/src/dynamicCb.vue +72 -72
  46. package/src/centaline/dynamicCheckbox/index.js +11 -11
  47. package/src/centaline/dynamicCheckbox/src/dynamicCheckbox.vue +128 -128
  48. package/src/centaline/dynamicComboBoxWithTextBox/index.js +11 -11
  49. package/src/centaline/dynamicComboBoxWithTextBox/src/dynamicComboBoxWithTextBox.vue +240 -240
  50. package/src/centaline/dynamicD/index.js +11 -11
  51. package/src/centaline/dynamicD/src/dynamicD.vue +92 -92
  52. package/src/centaline/dynamicDetail/index.js +10 -10
  53. package/src/centaline/dynamicDetail/src/dynamicDetail.vue +40 -40
  54. package/src/centaline/dynamicDetail/src/dynamicPropertyDetailOFI.vue +1280 -1280
  55. package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +1293 -1293
  56. package/src/centaline/dynamicDrop/index.js +11 -11
  57. package/src/centaline/dynamicDrop/src/dynamicDrop.vue +54 -54
  58. package/src/centaline/dynamicDtd/index.js +11 -11
  59. package/src/centaline/dynamicDtd/src/dynamicDtd.vue +125 -125
  60. package/src/centaline/dynamicDtd/src/dynamicDtdOld.vue +93 -93
  61. package/src/centaline/dynamicFile/index.js +11 -11
  62. package/src/centaline/dynamicFile/src/dynamicFile.vue +288 -283
  63. package/src/centaline/dynamicForm/index.js +24 -24
  64. package/src/centaline/dynamicForm/src/dynamicForm.vue +564 -564
  65. package/src/centaline/dynamicForm/src/dynamicFormList.vue +209 -209
  66. package/src/centaline/dynamicForm/src/dynamicFormListTable.vue +376 -376
  67. package/src/centaline/dynamicGp/index.js +11 -11
  68. package/src/centaline/dynamicGp/src/dynamicGp.vue +27 -27
  69. package/src/centaline/dynamicHyperLink/index.js +11 -11
  70. package/src/centaline/dynamicHyperLink/src/dynamicHyperLink.vue +54 -54
  71. package/src/centaline/dynamicInput/index.js +35 -35
  72. package/src/centaline/dynamicInput/src/dynamicInput.vue +35 -35
  73. package/src/centaline/dynamicInputNumber/index.js +11 -11
  74. package/src/centaline/dynamicInputNumber/src/dynamicInputNumber.vue +157 -157
  75. package/src/centaline/dynamicIti/index.js +11 -11
  76. package/src/centaline/dynamicIti/src/dynamicIti.vue +148 -148
  77. package/src/centaline/dynamicL/index.js +11 -11
  78. package/src/centaline/dynamicL/src/dynamicL.vue +37 -37
  79. package/src/centaline/dynamicLabel/index.js +11 -11
  80. package/src/centaline/dynamicLabel/src/dynamicLabel.vue +73 -73
  81. package/src/centaline/dynamicLs/index.js +22 -22
  82. package/src/centaline/dynamicLs/src/dynamicLs.vue +233 -233
  83. package/src/centaline/dynamicMo/index.js +13 -13
  84. package/src/centaline/dynamicMo/src/dynamicMo.vue +421 -421
  85. package/src/centaline/dynamicMt/index.js +11 -11
  86. package/src/centaline/dynamicMt/src/dynamicMt.vue +44 -44
  87. package/src/centaline/dynamicPlaceHolder/index.js +11 -11
  88. package/src/centaline/dynamicPlaceHolder/src/dynamicPlaceHolder.vue +29 -29
  89. package/src/centaline/dynamicPopupSearchList/index.js +11 -11
  90. package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchList.vue +157 -157
  91. package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchListTable.vue +239 -239
  92. package/src/centaline/dynamicRichText/index.js +11 -11
  93. package/src/centaline/dynamicRichText/src/dynamicRichText.vue +33 -33
  94. package/src/centaline/dynamicSearchList/index.js +11 -11
  95. package/src/centaline/dynamicSearchList/src/dynamicSearchCategory.vue +121 -121
  96. package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +135 -135
  97. package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +206 -206
  98. package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +1069 -1069
  99. package/src/centaline/dynamicSearchList/src/dynamicTableStatistics.vue +41 -41
  100. package/src/centaline/dynamicSearchList/src/dynamicTableTip.vue +46 -46
  101. package/src/centaline/dynamicSearchList/src/dynamicTableToolbar.vue +61 -61
  102. package/src/centaline/dynamicSeg/index.js +11 -11
  103. package/src/centaline/dynamicSeg/src/dynamicSeg.vue +100 -100
  104. package/src/centaline/dynamicSensitiveEye/index.js +11 -11
  105. package/src/centaline/dynamicSensitiveEye/src/dynamicSensitiveEye.vue +74 -74
  106. package/src/centaline/dynamicSo/index.js +14 -14
  107. package/src/centaline/dynamicSo/src/dynamicSo.vue +328 -328
  108. package/src/centaline/dynamicSo/src/dynamicSo/345/211/257/346/234/254.vue +69 -69
  109. package/src/centaline/dynamicSos/index.js +14 -14
  110. package/src/centaline/dynamicSos/src/dynamicSos - /345/244/215/345/210/266.vue" +223 -223
  111. package/src/centaline/dynamicSos/src/dynamicSos.vue +260 -260
  112. package/src/centaline/dynamicSw/index.js +11 -11
  113. package/src/centaline/dynamicSw/src/dynamicSw.vue +74 -74
  114. package/src/centaline/dynamicT/index.js +11 -11
  115. package/src/centaline/dynamicT/src/dynamicT.vue +79 -79
  116. package/src/centaline/dynamicTab/index.js +11 -11
  117. package/src/centaline/dynamicTab/src/dynamicTab.vue +49 -49
  118. package/src/centaline/dynamicTabs/index.js +11 -11
  119. package/src/centaline/dynamicTabs/src/dynamicTabs.vue +69 -69
  120. package/src/centaline/dynamicTags/index.js +13 -13
  121. package/src/centaline/dynamicTags/src/dynamicTags - /345/244/215/345/210/266.vue" +391 -391
  122. package/src/centaline/dynamicTags/src/dynamicTags.vue +427 -427
  123. package/src/centaline/dynamicTimeSelect/index.js +11 -11
  124. package/src/centaline/dynamicTimeSelect/src/dynamicTimeSelect.vue +141 -141
  125. package/src/centaline/dynamicTree/index.js +11 -11
  126. package/src/centaline/dynamicTree/src/dynamicSearchTree.vue +66 -66
  127. package/src/centaline/dynamicTree/src/dynamicTree.vue +233 -233
  128. package/src/centaline/dynamicTree/src/dynamicTreeList.vue +74 -74
  129. package/src/centaline/formData/index.js +290 -290
  130. package/src/centaline/imgPreview/index.js +42 -42
  131. package/src/centaline/imgPreview/src/imgPreview.vue +26 -26
  132. package/src/centaline/index.js +51 -51
  133. package/src/centaline/loader/index.js +157 -157
  134. package/src/centaline/loader/src/ctl/Base.js +261 -261
  135. package/src/centaline/loader/src/ctl/Button.js +44 -44
  136. package/src/centaline/loader/src/ctl/Cb.js +27 -27
  137. package/src/centaline/loader/src/ctl/Checkbox.js +107 -107
  138. package/src/centaline/loader/src/ctl/ComboBoxWithTextBox.js +162 -162
  139. package/src/centaline/loader/src/ctl/D.js +31 -31
  140. package/src/centaline/loader/src/ctl/Detail.js +175 -175
  141. package/src/centaline/loader/src/ctl/Dtd.js +115 -115
  142. package/src/centaline/loader/src/ctl/DtdOld.js +129 -129
  143. package/src/centaline/loader/src/ctl/File.js +292 -292
  144. package/src/centaline/loader/src/ctl/Form.js +380 -380
  145. package/src/centaline/loader/src/ctl/FormList.js +428 -428
  146. package/src/centaline/loader/src/ctl/GM.js +20 -20
  147. package/src/centaline/loader/src/ctl/Gp.js +9 -9
  148. package/src/centaline/loader/src/ctl/Hd.js +13 -13
  149. package/src/centaline/loader/src/ctl/HyperLink.js +24 -24
  150. package/src/centaline/loader/src/ctl/InputNumber.js +51 -51
  151. package/src/centaline/loader/src/ctl/Iti.js +108 -108
  152. package/src/centaline/loader/src/ctl/L.js +18 -18
  153. package/src/centaline/loader/src/ctl/Mo.js +183 -183
  154. package/src/centaline/loader/src/ctl/Mt.js +20 -20
  155. package/src/centaline/loader/src/ctl/PlaceHolder.js +17 -17
  156. package/src/centaline/loader/src/ctl/Router.js +273 -273
  157. package/src/centaline/loader/src/ctl/SearchCategory.js +54 -54
  158. package/src/centaline/loader/src/ctl/SearchScreen.js +236 -236
  159. package/src/centaline/loader/src/ctl/SearchTable.js +772 -772
  160. package/src/centaline/loader/src/ctl/Seg.js +37 -37
  161. package/src/centaline/loader/src/ctl/SensitiveEye.js +65 -65
  162. package/src/centaline/loader/src/ctl/So.js +117 -117
  163. package/src/centaline/loader/src/ctl/Sos.js +128 -128
  164. package/src/centaline/loader/src/ctl/Sw.js +27 -27
  165. package/src/centaline/loader/src/ctl/T.js +65 -65
  166. package/src/centaline/loader/src/ctl/Tabs.js +57 -57
  167. package/src/centaline/loader/src/ctl/Tags.js +191 -191
  168. package/src/centaline/loader/src/ctl/TimeSelect.js +87 -87
  169. package/src/centaline/loader/src/ctl/Tree.js +151 -151
  170. package/src/centaline/loader/src/ctl/Ttts.js +78 -78
  171. package/src/centaline/loader/src/ctl/lib/Enum.js +563 -563
  172. package/src/centaline/loader/src/ctl/lib/LibFunction.js +364 -364
  173. package/src/centaline/loader/src/ctl.js +36 -36
  174. package/src/centaline/mixins/dynamicElement.js +151 -151
  175. package/src/centaline/mixins/dynamicSelect.js +84 -84
  176. package/src/centaline/mixins/emitter.js +33 -33
  177. package/src/centaline/progress/index.js +11 -11
  178. package/src/centaline/progress/src/progress.vue +70 -70
  179. package/src/centaline/quickInput/src/quickInput.vue +64 -64
  180. package/src/centaline/selectOption/src/selectOption.vue +61 -61
  181. package/src/centaline/selectOption/src/selectOptionVertical.vue +80 -80
  182. package/src/centaline/templateControls/index.js +17 -17
  183. package/src/centaline/templateControls/src/dynamicTableA.vue +20 -20
  184. package/src/centaline/templateControls/src/dynamicTableCurrency.vue +62 -62
  185. package/src/centaline/templateControls/src/dynamicTableImg.vue +25 -25
  186. package/src/centaline/templates/index.js +34 -34
  187. package/src/centaline/templates/src/ContractSearch.js +67 -67
  188. package/src/centaline/templates/src/test.js +44 -44
  189. package/src/centaline/validate/index.js +332 -332
  190. package/src/main.js +46 -46
  191. package/src/router/index.js +44 -44
  192. package/wwwroot/static/centaline/centaline-data-driven.js +1 -1
  193. package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
@@ -1,74 +1,74 @@
1
- <template>
2
- <div class="field-top">
3
- <div v-if="model !== null" class="ct-Sw">
4
- <div :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']">
5
- <div v-if="model.showLabel && model.label" class="el-input-group__prepend" :class="[model.labelClass]">
6
- {{model.label}}
7
- </div>
8
- <div class="ct-radios">
9
- <el-switch v-model="model.value" class="ct-switch" :disabled="model.lock"
10
- @change="changeSwitchHandler">
11
- </el-switch>
12
- </div>
13
- </div>
14
- <transition name="el-fade-in">
15
- <span v-show="!valid" class="errorMessage">
16
- {{validMessage}}
17
- </span>
18
- </transition>
19
- </div>
20
- </div>
21
- </template>
22
- <script>
23
- import dynamicElement from '../../mixins/dynamicElement';
24
- export default {
25
- name: 'ct-sw',
26
- mixins: [dynamicElement],
27
- props: {
28
- vmodel: Object,
29
- api: String
30
- },
31
- data() {
32
- return {
33
-
34
- };
35
- },
36
- mounted() {
37
- var self = this;
38
- this.$nextTick(function () {
39
-
40
- if (self.vmodel) {
41
- self.load(self.vmodel);
42
- self.$emit('loaded');
43
- }
44
- else if (typeof self.source !== 'undefined') {
45
- self.loaderObj.Seg(self.source, (data) => {
46
- self.load(data);
47
- });
48
- }
49
- });
50
- },
51
- methods: {
52
- load(data) {
53
- this.model = data;
54
- },
55
- changeSwitchHandler: function (event) {
56
- this.changeHandler();
57
- }
58
- }
59
- }
60
- </script>
61
- <style>
62
- .ct-Sw {
63
- font-size: 12px;
64
- width: 100%;
65
- }
66
- .ct-Sw .ct-radios {
67
- color: #606266;
68
- /* border-radius: 4px; */
69
- /* border: 1px solid #dcdfe6; */
70
- padding-left: 15px;
71
- padding-bottom: 3px;
72
- padding-top: 3px;
73
- }
74
- </style>
1
+ <template>
2
+ <div class="field-top">
3
+ <div v-if="model !== null" class="ct-Sw">
4
+ <div :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']">
5
+ <div v-if="model.showLabel && model.label" class="el-input-group__prepend" :class="[model.labelClass]">
6
+ {{model.label}}
7
+ </div>
8
+ <div class="ct-radios">
9
+ <el-switch v-model="model.value" class="ct-switch" :disabled="model.lock"
10
+ @change="changeSwitchHandler">
11
+ </el-switch>
12
+ </div>
13
+ </div>
14
+ <transition name="el-fade-in">
15
+ <span v-show="!valid" class="errorMessage">
16
+ {{validMessage}}
17
+ </span>
18
+ </transition>
19
+ </div>
20
+ </div>
21
+ </template>
22
+ <script>
23
+ import dynamicElement from '../../mixins/dynamicElement';
24
+ export default {
25
+ name: 'ct-sw',
26
+ mixins: [dynamicElement],
27
+ props: {
28
+ vmodel: Object,
29
+ api: String
30
+ },
31
+ data() {
32
+ return {
33
+
34
+ };
35
+ },
36
+ mounted() {
37
+ var self = this;
38
+ this.$nextTick(function () {
39
+
40
+ if (self.vmodel) {
41
+ self.load(self.vmodel);
42
+ self.$emit('loaded');
43
+ }
44
+ else if (typeof self.source !== 'undefined') {
45
+ self.loaderObj.Seg(self.source, (data) => {
46
+ self.load(data);
47
+ });
48
+ }
49
+ });
50
+ },
51
+ methods: {
52
+ load(data) {
53
+ this.model = data;
54
+ },
55
+ changeSwitchHandler: function (event) {
56
+ this.changeHandler();
57
+ }
58
+ }
59
+ }
60
+ </script>
61
+ <style>
62
+ .ct-Sw {
63
+ font-size: 12px;
64
+ width: 100%;
65
+ }
66
+ .ct-Sw .ct-radios {
67
+ color: #606266;
68
+ /* border-radius: 4px; */
69
+ /* border: 1px solid #dcdfe6; */
70
+ padding-left: 15px;
71
+ padding-bottom: 3px;
72
+ padding-top: 3px;
73
+ }
74
+ </style>
@@ -1,11 +1,11 @@
1
- import dynamicT from './src/dynamicT';
2
-
3
- dynamicT.install = function (Vue) {
4
- Vue.component(dynamicT.name, dynamicT);
5
- }
6
-
7
- if (typeof window !== 'undefined' && window.Vue) {
8
- window.Vue.use(dynamicT);
9
- }
10
-
11
- export default dynamicT;
1
+ import dynamicT from './src/dynamicT';
2
+
3
+ dynamicT.install = function (Vue) {
4
+ Vue.component(dynamicT.name, dynamicT);
5
+ }
6
+
7
+ if (typeof window !== 'undefined' && window.Vue) {
8
+ window.Vue.use(dynamicT);
9
+ }
10
+
11
+ export default dynamicT;
@@ -1,79 +1,79 @@
1
- <template>
2
- <div class="field-top">
3
- <div v-if="model !== null" class="ct-text ct-flex-div max-flex-div" :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'',model.attrs.size?'ct-font-size-'+model.attrs.size:'']"
4
- @mouseover="mouseOverHandle" @mouseout="mouseOutHandle">
5
- <div v-if="model.showLabel && model.label" class="el-input-group__prepend field-label-div max-input-group" :class="[model.labelClass]">
6
- <span>{{model.label}}</span>
7
- </div>
8
- <el-input :title="model.lock?model.value:''" :type="model.inputType" v-model="model.value" v-bind="model.attrs" @input="inputHandler($event);isShowClear()" @change="changeHandler($event)"
9
- class="ct-flex-div-input max-input" :class="[model.showLabel?'showLabel':'',!valid?'inputError':'']" :disabled="model.lock" :rows="model.rows"
10
- :readonly="model.readonly" :show-password="model.isPassword" autocomplete="on" :maxlength="model.max" :show-word-limit="model.showWordLimit"
11
- @keyup.enter.native="search()">
12
- <span slot="suffix" v-if="model.unitName" class="ct-unitname">{{model.unitName}}</span>
13
-
14
- <span slot="suffix" class="el-input__suffix el-input--mini" v-if="showClear" :class="model.unitName?'ct-right-10':'ct-right-0'">
15
- <span class="el-input__suffix-inner ct-close">
16
- <i class="el-select__caret el-input__icon el-icon-circle-close is-show-close" @click="clearClickHandle($event)"></i>
17
- </span>
18
- </span>
19
- </el-input>
20
-
21
- <span v-if="model.sufLabel" class="spanMessage ct-flex-div-span">{{model.sufLabel}}</span>
22
- <transition name="el-fade-in" class="ct-flex-div-span">
23
- <span v-show="!valid" class="errorMessage ">
24
- {{validMessage}}
25
- </span>
26
- </transition>
27
- <ct-quick-input v-if="!model.lock && model.paramName" class="ct-flex-div-span" :pn="model.paramName" :action="api" @input="model.value=$event"></ct-quick-input>
28
- </div>
29
- </div>
30
- </template>
31
- <script>
32
- import dynamicElement from '../../mixins/dynamicElement';
33
- export default {
34
- name: 'ct-text',
35
- mixins: [dynamicElement],
36
- props: {
37
- vmodel: Object
38
- },
39
- data() {
40
- return {
41
- showClear: false,
42
- }
43
- },
44
- created() {
45
- if (typeof this.vmodel === 'undefined') {
46
- this.model = this.loaderObj.T(this.source);
47
- }
48
- else {
49
- this.model = this.vmodel;
50
- }
51
- },
52
- methods: {
53
- mouseOverHandle: function () {
54
- if (this.model.value !== '' && this.model.clearable) {
55
- this.$set(this, 'showClear', true);
56
- }
57
- },
58
- mouseOutHandle: function () {
59
- this.$set(this, 'showClear', false);
60
- },
61
- clearClickHandle: function (event) {
62
- this.model.value = '';
63
- this.isShowClear();
64
- event.stopPropagation();
65
- },
66
- isShowClear() {
67
- if (this.model.value !== '' && this.model.clearable) {
68
- this.$set(this, 'showClear', true);
69
- } else {
70
- this.$set(this, 'showClear', false);
71
- }
72
- },
73
- search() {
74
- if(this.model.autoSearch) this.$emit('click');
75
- },
76
- },
77
- }</script>
78
- <style>
79
- </style>
1
+ <template>
2
+ <div class="field-top">
3
+ <div v-if="model !== null" class="ct-text ct-flex-div max-flex-div" :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'',model.attrs.size?'ct-font-size-'+model.attrs.size:'']"
4
+ @mouseover="mouseOverHandle" @mouseout="mouseOutHandle">
5
+ <div v-if="model.showLabel && model.label" class="el-input-group__prepend field-label-div max-input-group" :class="[model.labelClass]">
6
+ <span>{{model.label}}</span>
7
+ </div>
8
+ <el-input :title="model.lock?model.value:''" :type="model.inputType" v-model="model.value" v-bind="model.attrs" @input="inputHandler($event);isShowClear()" @change="changeHandler($event)"
9
+ class="ct-flex-div-input max-input" :class="[model.showLabel?'showLabel':'',!valid?'inputError':'']" :disabled="model.lock" :rows="model.rows"
10
+ :readonly="model.readonly" :show-password="model.isPassword" autocomplete="on" :maxlength="model.max" :show-word-limit="model.showWordLimit"
11
+ @keyup.enter.native="search()">
12
+ <span slot="suffix" v-if="model.unitName" class="ct-unitname">{{model.unitName}}</span>
13
+
14
+ <span slot="suffix" class="el-input__suffix el-input--mini" v-if="showClear" :class="model.unitName?'ct-right-10':'ct-right-0'">
15
+ <span class="el-input__suffix-inner ct-close">
16
+ <i class="el-select__caret el-input__icon el-icon-circle-close is-show-close" @click="clearClickHandle($event)"></i>
17
+ </span>
18
+ </span>
19
+ </el-input>
20
+
21
+ <span v-if="model.sufLabel" class="spanMessage ct-flex-div-span">{{model.sufLabel}}</span>
22
+ <transition name="el-fade-in" class="ct-flex-div-span">
23
+ <span v-show="!valid" class="errorMessage ">
24
+ {{validMessage}}
25
+ </span>
26
+ </transition>
27
+ <ct-quick-input v-if="!model.lock && model.paramName" class="ct-flex-div-span" :pn="model.paramName" :action="api" @input="model.value=$event"></ct-quick-input>
28
+ </div>
29
+ </div>
30
+ </template>
31
+ <script>
32
+ import dynamicElement from '../../mixins/dynamicElement';
33
+ export default {
34
+ name: 'ct-text',
35
+ mixins: [dynamicElement],
36
+ props: {
37
+ vmodel: Object
38
+ },
39
+ data() {
40
+ return {
41
+ showClear: false,
42
+ }
43
+ },
44
+ created() {
45
+ if (typeof this.vmodel === 'undefined') {
46
+ this.model = this.loaderObj.T(this.source);
47
+ }
48
+ else {
49
+ this.model = this.vmodel;
50
+ }
51
+ },
52
+ methods: {
53
+ mouseOverHandle: function () {
54
+ if (this.model.value !== '' && this.model.clearable) {
55
+ this.$set(this, 'showClear', true);
56
+ }
57
+ },
58
+ mouseOutHandle: function () {
59
+ this.$set(this, 'showClear', false);
60
+ },
61
+ clearClickHandle: function (event) {
62
+ this.model.value = '';
63
+ this.isShowClear();
64
+ event.stopPropagation();
65
+ },
66
+ isShowClear() {
67
+ if (this.model.value !== '' && this.model.clearable) {
68
+ this.$set(this, 'showClear', true);
69
+ } else {
70
+ this.$set(this, 'showClear', false);
71
+ }
72
+ },
73
+ search() {
74
+ if(this.model.autoSearch) this.$emit('click');
75
+ },
76
+ },
77
+ }</script>
78
+ <style>
79
+ </style>
@@ -1,11 +1,11 @@
1
- import dynamicTab from './src/dynamicTab';
2
-
3
- dynamicTab.install = function (Vue) {
4
- Vue.component(dynamicTab.name, dynamicTab);
5
- }
6
-
7
- if (typeof window !== 'undefined' && window.Vue) {
8
- window.Vue.use(dynamicTab);
9
- }
10
-
11
- export default dynamicTab;
1
+ import dynamicTab from './src/dynamicTab';
2
+
3
+ dynamicTab.install = function (Vue) {
4
+ Vue.component(dynamicTab.name, dynamicTab);
5
+ }
6
+
7
+ if (typeof window !== 'undefined' && window.Vue) {
8
+ window.Vue.use(dynamicTab);
9
+ }
10
+
11
+ export default dynamicTab;
@@ -1,49 +1,49 @@
1
- <template>
2
- <el-tabs v-model="editableTabsValue" type="card" closable @tab-remove="removeTab" >
3
- <slot></slot>
4
- <el-tab-pane v-for="(item, index) in editableTabs" :key="item.name" :label="item.title" :name="item.name" lazy>
5
- <component v-bind:is="item.content.tabType"></component>
6
- </el-tab-pane>
7
- </el-tabs>
8
- </template>
9
- <script>
10
- export default {
11
- name: "ct-tab",
12
- props: {
13
- tabData: Array
14
- },
15
- data() {
16
- return {
17
- editableTabsValue: '',
18
- editableTabs: [],
19
- tabIndex: 1
20
- }
21
- },
22
- methods: {
23
- removeTab(targetName) {
24
- let tabs = this.editableTabs;
25
- let activeName = this.editableTabsValue;
26
- if (activeName === targetName) {
27
- tabs.forEach((tab, index) => {
28
- if (tab.name === targetName) {
29
- let nextTab = tabs[index + 1] || tabs[index - 1];
30
- if (nextTab) {
31
- activeName = nextTab.name;
32
- }
33
- }
34
- });
35
- }
36
-
37
- this.editableTabsValue = activeName;
38
- this.editableTabs = tabs.filter(tab => tab.name !== targetName);
39
- }
40
-
41
- },
42
- mounted() {
43
- if (this.tabData != null) {
44
- this.editableTabs.push.apply(this.editableTabs, this.tabData)
45
- this.editableTabsValue = this.tabData[this.tabData.length-1].name
46
- }
47
- }
48
- }
49
- </script>
1
+ <template>
2
+ <el-tabs v-model="editableTabsValue" type="card" closable @tab-remove="removeTab" >
3
+ <slot></slot>
4
+ <el-tab-pane v-for="(item, index) in editableTabs" :key="item.name" :label="item.title" :name="item.name" lazy>
5
+ <component v-bind:is="item.content.tabType"></component>
6
+ </el-tab-pane>
7
+ </el-tabs>
8
+ </template>
9
+ <script>
10
+ export default {
11
+ name: "ct-tab",
12
+ props: {
13
+ tabData: Array
14
+ },
15
+ data() {
16
+ return {
17
+ editableTabsValue: '',
18
+ editableTabs: [],
19
+ tabIndex: 1
20
+ }
21
+ },
22
+ methods: {
23
+ removeTab(targetName) {
24
+ let tabs = this.editableTabs;
25
+ let activeName = this.editableTabsValue;
26
+ if (activeName === targetName) {
27
+ tabs.forEach((tab, index) => {
28
+ if (tab.name === targetName) {
29
+ let nextTab = tabs[index + 1] || tabs[index - 1];
30
+ if (nextTab) {
31
+ activeName = nextTab.name;
32
+ }
33
+ }
34
+ });
35
+ }
36
+
37
+ this.editableTabsValue = activeName;
38
+ this.editableTabs = tabs.filter(tab => tab.name !== targetName);
39
+ }
40
+
41
+ },
42
+ mounted() {
43
+ if (this.tabData != null) {
44
+ this.editableTabs.push.apply(this.editableTabs, this.tabData)
45
+ this.editableTabsValue = this.tabData[this.tabData.length-1].name
46
+ }
47
+ }
48
+ }
49
+ </script>
@@ -1,11 +1,11 @@
1
- import dynamicTabs from './src/dynamicTabs';
2
-
3
- dynamicTabs.install = function (Vue) {
4
- Vue.component(dynamicTabs.name, dynamicTabs);
5
- }
6
-
7
- if (typeof window !== 'undefined' && window.Vue) {
8
- window.Vue.use(dynamicTabs);
9
- }
10
-
11
- export default dynamicTabs;
1
+ import dynamicTabs from './src/dynamicTabs';
2
+
3
+ dynamicTabs.install = function (Vue) {
4
+ Vue.component(dynamicTabs.name, dynamicTabs);
5
+ }
6
+
7
+ if (typeof window !== 'undefined' && window.Vue) {
8
+ window.Vue.use(dynamicTabs);
9
+ }
10
+
11
+ export default dynamicTabs;
@@ -1,69 +1,69 @@
1
- <template>
2
- <div v-loading="loading" style="padding:10px;" >
3
- <div v-if="model !== null && !loading" class="">
4
- <div slot="header" style="margin:5px;" v-if="typeof model.title !== 'undefined'">
5
- <span style="font-weight:bold">{{model.title}}</span>
6
- </div>
7
- <el-tabs v-model="editableTabsValue" type="border-card">
8
- <el-tab-pane v-for="(item, index) in model.tabs" :key="item.id" :label="item.label" :name="item.id" lazy>
9
- <!--<component v-bind:is="item.content.tabType"></component>-->
10
- <ct-form v-if="item.isOpenForm" :api="item.action"></ct-form>
11
- <ct-searchlist v-else-if="item.isListPage" :searchConditionApi="item.actionForSearchLayout" :searchDataApi="item.actionForSearch"></ct-searchlist>
12
- </el-tab-pane>
13
- </el-tabs>
14
- <ct-dialog-list></ct-dialog-list>
15
- </div>
16
- <div style="min-height:200px" v-if="loading"></div>
17
- </div>
18
- </template>
19
- <script>
20
- import dynamicElement from '../../mixins/dynamicElement'
21
- export default {
22
- name: "ct-tabs",//详情页组件,一般用于浏览页面
23
- mixins: [dynamicElement],
24
- props: {
25
- api: String,
26
- vmodel: Object,
27
- source: Object
28
- },
29
- data() {
30
- return {
31
- loading: true,
32
- editableTabsValue: '',//选中的tabs的name
33
- }
34
- },
35
- mounted() {
36
- var self = this;
37
- this.$nextTick(function () {
38
- if (typeof self.api !== 'undefined') {
39
- self.loaderObj.Tabs(self.api, self.load);
40
- }
41
- if (typeof self.source !== 'undefined') {
42
- self.load(self.loaderObj.Tabs(self.source));
43
- }
44
- if (self.vmodel) {
45
- self.load(self.vmodel);
46
- }
47
- });
48
- },
49
- methods: {
50
- load(data) {
51
- this.model = data;
52
- this.model.self = this;
53
-
54
- this.loadTabs();
55
- this.loading = false;
56
-
57
- //通知父组件加载完成
58
- this.$emit('loaded', this.model);
59
- },
60
- loadTabs() {
61
- if (this.model.tabs && this.model.tabs.length > 0) {
62
- this.editableTabsValue = this.model.tabs[0].id;
63
- }
64
-
65
- //todo 还有传参问题
66
- }
67
- },
68
- }
69
- </script>
1
+ <template>
2
+ <div v-loading="loading" style="padding:10px;" >
3
+ <div v-if="model !== null && !loading" class="">
4
+ <div slot="header" style="margin:5px;" v-if="typeof model.title !== 'undefined'">
5
+ <span style="font-weight:bold">{{model.title}}</span>
6
+ </div>
7
+ <el-tabs v-model="editableTabsValue" type="border-card">
8
+ <el-tab-pane v-for="(item, index) in model.tabs" :key="item.id" :label="item.label" :name="item.id" lazy>
9
+ <!--<component v-bind:is="item.content.tabType"></component>-->
10
+ <ct-form v-if="item.isOpenForm" :api="item.action"></ct-form>
11
+ <ct-searchlist v-else-if="item.isListPage" :searchConditionApi="item.actionForSearchLayout" :searchDataApi="item.actionForSearch"></ct-searchlist>
12
+ </el-tab-pane>
13
+ </el-tabs>
14
+ <ct-dialog-list></ct-dialog-list>
15
+ </div>
16
+ <div style="min-height:200px" v-if="loading"></div>
17
+ </div>
18
+ </template>
19
+ <script>
20
+ import dynamicElement from '../../mixins/dynamicElement'
21
+ export default {
22
+ name: "ct-tabs",//详情页组件,一般用于浏览页面
23
+ mixins: [dynamicElement],
24
+ props: {
25
+ api: String,
26
+ vmodel: Object,
27
+ source: Object
28
+ },
29
+ data() {
30
+ return {
31
+ loading: true,
32
+ editableTabsValue: '',//选中的tabs的name
33
+ }
34
+ },
35
+ mounted() {
36
+ var self = this;
37
+ this.$nextTick(function () {
38
+ if (typeof self.api !== 'undefined') {
39
+ self.loaderObj.Tabs(self.api, self.load);
40
+ }
41
+ if (typeof self.source !== 'undefined') {
42
+ self.load(self.loaderObj.Tabs(self.source));
43
+ }
44
+ if (self.vmodel) {
45
+ self.load(self.vmodel);
46
+ }
47
+ });
48
+ },
49
+ methods: {
50
+ load(data) {
51
+ this.model = data;
52
+ this.model.self = this;
53
+
54
+ this.loadTabs();
55
+ this.loading = false;
56
+
57
+ //通知父组件加载完成
58
+ this.$emit('loaded', this.model);
59
+ },
60
+ loadTabs() {
61
+ if (this.model.tabs && this.model.tabs.length > 0) {
62
+ this.editableTabsValue = this.model.tabs[0].id;
63
+ }
64
+
65
+ //todo 还有传参问题
66
+ }
67
+ },
68
+ }
69
+ </script>
@@ -1,13 +1,13 @@
1
- import dynamicTags from './src/dynamicTags'
2
- import api from '../api/index'
3
-
4
- dynamicTags.install = function (Vue) {
5
- Vue.component(dynamicTags.name, dynamicTags);
6
- Vue.use(api);
7
- }
8
-
9
- if (typeof window !== 'undefined' && window.Vue) {
10
- window.Vue.use(dynamicTags);
11
- }
12
-
13
- export default dynamicTags;
1
+ import dynamicTags from './src/dynamicTags'
2
+ import api from '../api/index'
3
+
4
+ dynamicTags.install = function (Vue) {
5
+ Vue.component(dynamicTags.name, dynamicTags);
6
+ Vue.use(api);
7
+ }
8
+
9
+ if (typeof window !== 'undefined' && window.Vue) {
10
+ window.Vue.use(dynamicTags);
11
+ }
12
+
13
+ export default dynamicTags;