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,157 +1,157 @@
1
- <template>
2
- <div class="field-top">
3
- <div style="width:100;" v-if="model !== null" class="ct-inputNumber" :class="[model.attrs.size?'ct-font-size-'+model.attrs.size:'',model.lock ? 'ct-inputNumber-lock' : ''
4
- ]" @mouseover="mouseOverHandle" @mouseout="mouseOutHandle">
5
- <div class="ct-flex-div" :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']">
6
- <div v-if="model.showLabel && model.label" class="el-input-group__prepend field-label-div" :class="[model.labelClass]">
7
- {{model.label}}
8
- </div>
9
- <div style="padding-left:15px;flex:1" v-bind="model.attrs" class="el-date-editor ct-input__inner">
10
- <input style="text-align:left;width:100%" class="el-range-input" :placeholder="model.attrs.placeholder1"
11
- v-model="model.value" @change="onChangeHandler($event)" @input="onInputHandler($event);isShowClear()"
12
- @blur="onBlurHandler($event)"
13
- :class="model.lock ? 'ct-is-disabled' : ''" :disabled="model.lock" />
14
- <!--<span v-if="!model.lock" class="cover-list-item-span">
15
- <i class="el-input__icon el-icon-circle-close" @click="clearClickHandle"></i>
16
- </span>-->
17
- <span class="el-input__suffix el-input--mini" v-if="showClear">
18
- <span class="el-input__suffix-inner ct-close">
19
- <i class="el-select__caret el-input__icon el-icon-circle-close is-show-close" @click="clearClickHandle($event)"></i>
20
- </span>
21
- </span>
22
-
23
- <span v-if="model.unitName" class="ct-unitname el-input__suffix el-input__suffix-inner">{{model.unitName}}</span>
24
- </div>
25
- <span v-if="model.sufLabel" class="spanMessage ct-flex-div-span">{{model.sufLabel}}</span>
26
- <transition name="el-fade-in ct-flex-div-span">
27
- <span v-show="!valid" class="errorMessage">
28
- {{validMessage}}
29
- </span>
30
- </transition>
31
- </div>
32
- </div>
33
- </div>
34
- </template>
35
- <script>
36
- import dynamicElement from '../../mixins/dynamicElement';
37
- export default {
38
- name: 'ct-inputNumber',
39
- mixins: [dynamicElement],
40
- props: {
41
- vmodel: Object,
42
- api: String
43
- },
44
- data() {
45
- return {
46
- showClear:false,
47
- };
48
- },
49
- created() {
50
- var self = this;
51
- this.$nextTick(function () {
52
-
53
- if (typeof self.vmodel === 'undefined') {
54
- self.model = self.loaderObj.InputNumber(this.source);
55
- }
56
-
57
- if (self.vmodel) {
58
- self.load(self.vmodel);
59
- self.$emit('loaded');
60
- }
61
- });
62
- },
63
- methods: {
64
- load(data) {
65
- this.model = data;
66
- },
67
- clearClickHandle: function (event) {
68
- this.model.value = '';
69
- this.inputHandler(this.model.value);
70
- this.changeHandler(this.model.value);
71
- },
72
- onInputHandler: function (val) {
73
- this.model.value = this.$common.numFloat(this.model.value, this.model.decimals, this.inputOld);//保留n位小数
74
- if (this.model.max !== "" && parseFloat(this.model.value) > parseFloat(this.model.max)) {
75
- this.model.value = this.inputOld;
76
- }
77
-
78
- this.inputHandler(this.model.value);
79
- this.changeHandler(this.model.value);//todo input事件里要不要加这个事件
80
- },
81
- onChangeHandler: function (val) {
82
- this.changeHandler(this.model.value);
83
- this.isShowClear();
84
- },
85
- onBlurHandler:function(event){
86
- this.model.value = this.$common.numToFloat(this.model.value, this.model.decimals);//保留n位小数
87
- this.inputHandler();
88
- },
89
- //不能共用的数据校验
90
- selfValidExcute: function (eventName) {
91
- if (this.model.max !== "" && parseFloat(this.model.value) > parseFloat(this.model.max)) {
92
- this.validMessage = "不能大于最大值:" + this.model.max;
93
- this.valid = false;
94
- return false;
95
- }
96
- if (eventName === "valid") {
97
- if (this.model.min !== "" && parseFloat(this.model.value) < parseFloat(this.model.min)) {
98
- this.validMessage = "不能小于最小值:" + this.model.min;
99
- this.valid = false;
100
- return false;
101
- }
102
- }
103
- return true;
104
- },
105
- mouseOverHandle: function () {
106
- if (this.model.value !== '' && this.model.clearable) {
107
- this.$set(this, 'showClear', true);
108
- }
109
- },
110
- mouseOutHandle: function () {
111
- this.$set(this, 'showClear', false);
112
- },
113
- isShowClear()
114
- {
115
- if (this.model.value !== '' && this.model.clearable) {
116
- this.$set(this, 'showClear', true);
117
- }else
118
- {
119
- this.$set(this, 'showClear', false);
120
- }
121
- },
122
-
123
- clearClickHandle: function (event) {
124
- this.model.value = '';
125
- this.isShowClear();
126
- event.stopPropagation();
127
- },
128
- }
129
- }
130
- </script>
131
- <style>
132
- .ct-input__inner {
133
- -webkit-appearance: none;
134
- background-color: #fff;
135
- background-image: none;
136
- border-radius: 4px;
137
- border: 1px solid #dcdfe6;
138
- -webkit-box-sizing: border-box;
139
- box-sizing: border-box;
140
- color: #606266;
141
- display: inline-block;
142
- height: 26px;
143
- outline: 0;
144
- padding: 0 15px;
145
- -webkit-transition: border-color .2s cubic-bezier(.645,.045,.355,1);
146
- transition: border-color .2s cubic-bezier(.645,.045,.355,1);
147
- width: 100%;
148
- }
149
-
150
- .ct-inputNumber {
151
- font-size: 12px;
152
- }
153
- .ct-inputNumber-lock .ct-input__inner {
154
- background-color: #f5f7fa;
155
- }
156
-
157
- </style>
1
+ <template>
2
+ <div class="field-top">
3
+ <div style="width:100;" v-if="model !== null" class="ct-inputNumber" :class="[model.attrs.size?'ct-font-size-'+model.attrs.size:'',model.lock ? 'ct-inputNumber-lock' : ''
4
+ ]" @mouseover="mouseOverHandle" @mouseout="mouseOutHandle">
5
+ <div class="ct-flex-div" :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']">
6
+ <div v-if="model.showLabel && model.label" class="el-input-group__prepend field-label-div" :class="[model.labelClass]">
7
+ {{model.label}}
8
+ </div>
9
+ <div style="padding-left:15px;flex:1" v-bind="model.attrs" class="el-date-editor ct-input__inner">
10
+ <input style="text-align:left;width:100%" class="el-range-input" :placeholder="model.attrs.placeholder1"
11
+ v-model="model.value" @change="onChangeHandler($event)" @input="onInputHandler($event);isShowClear()"
12
+ @blur="onBlurHandler($event)"
13
+ :class="model.lock ? 'ct-is-disabled' : ''" :disabled="model.lock" />
14
+ <!--<span v-if="!model.lock" class="cover-list-item-span">
15
+ <i class="el-input__icon el-icon-circle-close" @click="clearClickHandle"></i>
16
+ </span>-->
17
+ <span class="el-input__suffix el-input--mini" v-if="showClear">
18
+ <span class="el-input__suffix-inner ct-close">
19
+ <i class="el-select__caret el-input__icon el-icon-circle-close is-show-close" @click="clearClickHandle($event)"></i>
20
+ </span>
21
+ </span>
22
+
23
+ <span v-if="model.unitName" class="ct-unitname el-input__suffix el-input__suffix-inner">{{model.unitName}}</span>
24
+ </div>
25
+ <span v-if="model.sufLabel" class="spanMessage ct-flex-div-span">{{model.sufLabel}}</span>
26
+ <transition name="el-fade-in ct-flex-div-span">
27
+ <span v-show="!valid" class="errorMessage">
28
+ {{validMessage}}
29
+ </span>
30
+ </transition>
31
+ </div>
32
+ </div>
33
+ </div>
34
+ </template>
35
+ <script>
36
+ import dynamicElement from '../../mixins/dynamicElement';
37
+ export default {
38
+ name: 'ct-inputNumber',
39
+ mixins: [dynamicElement],
40
+ props: {
41
+ vmodel: Object,
42
+ api: String
43
+ },
44
+ data() {
45
+ return {
46
+ showClear:false,
47
+ };
48
+ },
49
+ created() {
50
+ var self = this;
51
+ this.$nextTick(function () {
52
+
53
+ if (typeof self.vmodel === 'undefined') {
54
+ self.model = self.loaderObj.InputNumber(this.source);
55
+ }
56
+
57
+ if (self.vmodel) {
58
+ self.load(self.vmodel);
59
+ self.$emit('loaded');
60
+ }
61
+ });
62
+ },
63
+ methods: {
64
+ load(data) {
65
+ this.model = data;
66
+ },
67
+ clearClickHandle: function (event) {
68
+ this.model.value = '';
69
+ this.inputHandler(this.model.value);
70
+ this.changeHandler(this.model.value);
71
+ },
72
+ onInputHandler: function (val) {
73
+ this.model.value = this.$common.numFloat(this.model.value, this.model.decimals, this.inputOld);//保留n位小数
74
+ if (this.model.max !== "" && parseFloat(this.model.value) > parseFloat(this.model.max)) {
75
+ this.model.value = this.inputOld;
76
+ }
77
+
78
+ this.inputHandler(this.model.value);
79
+ this.changeHandler(this.model.value);//todo input事件里要不要加这个事件
80
+ },
81
+ onChangeHandler: function (val) {
82
+ this.changeHandler(this.model.value);
83
+ this.isShowClear();
84
+ },
85
+ onBlurHandler:function(event){
86
+ this.model.value = this.$common.numToFloat(this.model.value, this.model.decimals);//保留n位小数
87
+ this.inputHandler();
88
+ },
89
+ //不能共用的数据校验
90
+ selfValidExcute: function (eventName) {
91
+ if (this.model.max !== "" && parseFloat(this.model.value) > parseFloat(this.model.max)) {
92
+ this.validMessage = "不能大于最大值:" + this.model.max;
93
+ this.valid = false;
94
+ return false;
95
+ }
96
+ if (eventName === "valid") {
97
+ if (this.model.min !== "" && parseFloat(this.model.value) < parseFloat(this.model.min)) {
98
+ this.validMessage = "不能小于最小值:" + this.model.min;
99
+ this.valid = false;
100
+ return false;
101
+ }
102
+ }
103
+ return true;
104
+ },
105
+ mouseOverHandle: function () {
106
+ if (this.model.value !== '' && this.model.clearable) {
107
+ this.$set(this, 'showClear', true);
108
+ }
109
+ },
110
+ mouseOutHandle: function () {
111
+ this.$set(this, 'showClear', false);
112
+ },
113
+ isShowClear()
114
+ {
115
+ if (this.model.value !== '' && this.model.clearable) {
116
+ this.$set(this, 'showClear', true);
117
+ }else
118
+ {
119
+ this.$set(this, 'showClear', false);
120
+ }
121
+ },
122
+
123
+ clearClickHandle: function (event) {
124
+ this.model.value = '';
125
+ this.isShowClear();
126
+ event.stopPropagation();
127
+ },
128
+ }
129
+ }
130
+ </script>
131
+ <style>
132
+ .ct-input__inner {
133
+ -webkit-appearance: none;
134
+ background-color: #fff;
135
+ background-image: none;
136
+ border-radius: 4px;
137
+ border: 1px solid #dcdfe6;
138
+ -webkit-box-sizing: border-box;
139
+ box-sizing: border-box;
140
+ color: #606266;
141
+ display: inline-block;
142
+ height: 26px;
143
+ outline: 0;
144
+ padding: 0 15px;
145
+ -webkit-transition: border-color .2s cubic-bezier(.645,.045,.355,1);
146
+ transition: border-color .2s cubic-bezier(.645,.045,.355,1);
147
+ width: 100%;
148
+ }
149
+
150
+ .ct-inputNumber {
151
+ font-size: 12px;
152
+ }
153
+ .ct-inputNumber-lock .ct-input__inner {
154
+ background-color: #f5f7fa;
155
+ }
156
+
157
+ </style>
@@ -1,11 +1,11 @@
1
- import dynamicIti from './src/dynamicIti'
2
-
3
- dynamicIti.install = function (Vue) {
4
- Vue.component(dynamicIti.name, dynamicIti);
5
- }
6
-
7
- if (typeof window !== 'undefined' && window.Vue) {
8
- window.Vue.use(dynamicIti);
9
- }
10
-
11
- export default dynamicIti;
1
+ import dynamicIti from './src/dynamicIti'
2
+
3
+ dynamicIti.install = function (Vue) {
4
+ Vue.component(dynamicIti.name, dynamicIti);
5
+ }
6
+
7
+ if (typeof window !== 'undefined' && window.Vue) {
8
+ window.Vue.use(dynamicIti);
9
+ }
10
+
11
+ export default dynamicIti;
@@ -1,148 +1,148 @@
1
- <template>
2
- <div class="field-top">
3
- <div style="width:100%;display:flex" class="ct-iti" :class="[model.attrs.size?'ct-iti-'+model.attrs.size:'']" @mouseover="mouseOverHandle('input2')">
4
- <div :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']" style="flex:1">
5
- <div v-if="model.showLabel && model.label" class="el-input-group__prepend" :class="[model.labelClass]">
6
- {{model.label}}
7
- </div>
8
- <div style="padding-left:5px" v-bind="model.attrs" class="el-date-editor el-range-editor el-input__inner el-date-editor--daterange"
9
- v-bind:class="[model.attrs.size?'el-range-editor--'+model.attrs.size:'',
10
- model.showLabel?'ct-iti-editor':'',isFocus?'isfocus':'',model.lock ? 'ct-is-disabled' : '']">
11
-
12
- <div style="width:39%" class="ct-position-relative" @mouseout="mouseOutHandle('input2')">
13
- <input style="text-align:left;width:100%" class="el-range-input" :placeholder="model.attrs.placeholder1"
14
- v-model="model.value" @change="changeHandler($event)" @input="onInputHandler($event);isShowClear('input2')" @focus="focusHandler" @blur="blurHandler('value','decimals')"
15
- :class="model.lock ? 'ct-is-disabled' : ''" :disabled="model.lock" @keyup.enter="search()"/>
16
-
17
- <!-- <span class="el-input__suffix el-input--mini" v-if="showClear.input1">
18
- <span class="el-input__suffix-inner ct-close">
19
- <i class="el-select__caret el-input__icon el-icon-circle-close is-show-close" @click="clearClickHandle($event,'input1','value')"></i>
20
- </span>
21
- </span> -->
22
- </div>
23
- <span style="width:5%" class="el-range-separator">-</span>
24
- <div style="width:39%" class="ct-position-relative" @mouseout="mouseOutHandle('input2')">
25
- <input style="text-align:left;width:100%;" class="el-range-input" :placeholder="model.attrs.placeholder2"
26
- v-model="model.value1" @change="changeHandler($event);" @input="onInputHandler($event);isShowClear('input2')" @focus="focusHandler" @blur="blurHandler('value1','decimals1')"
27
- :class="model.lock ? 'ct-is-disabled' : ''" :disabled="model.lock" @keyup.enter="search()"/>
28
- </div>
29
- <span class="el-input__suffix el-input--mini" v-if="showClear.input2">
30
- <span class="el-input__suffix-inner ct-close" style="display: flex;">
31
- <i class="el-select__caret el-input__icon el-icon-circle-close is-show-close" @click="clearClickHandle($event,'input2')"></i>
32
- </span>
33
- </span>
34
- <span v-if="model.unitName" class="ct-unitname el-input__suffix el-input__suffix-inner">{{model.unitName}}</span>
35
- </div>
36
- </div>
37
- <span v-if="model.sufLabel" class="spanMessage ct-flex-div-span">{{model.sufLabel}}</span>
38
- <transition name="el-fade-in ct-flex-div-span">
39
- <span v-show="!valid" class="errorMessage">
40
- {{validMessage}}
41
- </span>
42
- </transition>
43
- <ct-quick-input v-if="!model.lock && model.paramName" :pn="model.paramName" :action="api" @input="model.value=$event.split('~')[0];model.value1=$event.split('~')[1]"></ct-quick-input>
44
- </div>
45
- </div>
46
- </template>
47
-
48
- <script>
49
- import dynamicElement from '../../mixins/dynamicElement'
50
- export default {
51
- name: 'ct-iti',
52
- mixins: [dynamicElement],
53
- props: {
54
- vmodel: Object
55
- },
56
- data() {
57
- return {
58
- isFocus: false,
59
- showClear:{input1:false,input2:false},
60
-
61
- }
62
- },
63
- created() {
64
- if (typeof this.vmodel === 'undefined') {
65
- this.model = this.loaderObj.Iti(this.source);
66
- }
67
- else {
68
- this.model = this.vmodel;
69
- }
70
- },
71
- methods: {
72
- focusHandler() {
73
- this.isFocus = true;
74
- },
75
- blurHandler(valName,decName) {
76
- this.isFocus = false;
77
- this.model[valName] = this.$common.numToFloat(this.model[valName], this.model[decName]);//保留n位小数
78
- this.inputHandler();
79
- },
80
- onInputHandler: function (val) {
81
- this.model.value = this.$common.numFloat(this.model.value, this.model.decimals, this.inputOld);//保留n位小数
82
- this.model.value1 = this.$common.numFloat(this.model.value1, this.model.decimals1, this.inputOld1);//保留n位小数
83
-
84
- if (this.model.max !== "" && parseFloat(this.model.value) > parseFloat(this.model.max)) {
85
- this.model.value = this.inputOld;
86
- }
87
- if (this.model.max1 !== "" && parseFloat(this.model.value1) > parseFloat(this.model.max1)) {
88
- this.model.value1 = this.inputOld1;
89
- }
90
-
91
- this.inputHandler(this.model.value);
92
- this.changeHandler(this.model.value);//todo input事件里要不要加这个事件
93
- console.log('onInputHandler');
94
- },
95
- //不能共用的数据校验
96
- selfValidExcute: function (eventName) {
97
- if (this.model.max !== "" && parseFloat(this.model.value) > parseFloat(this.model.max)) {
98
- this.validMessage = "不能大于最大值:" + this.model.max;
99
- this.valid = false;
100
- return false;
101
- }
102
- if (this.model.max1 !== "" && parseFloat(this.model.value1) > parseFloat(this.model.max1)) {
103
- this.validMessage = "不能大于最大值:" + this.model.max1;
104
- this.valid = false;
105
- return false;
106
- }
107
- if (eventName === "valid") {
108
- if (this.model.min !== "" && parseFloat(this.model.value) < parseFloat(this.model.min)) {
109
- this.validMessage = "不能小于最小值:" + this.model.min;
110
- this.valid = false;
111
- return false;
112
- }
113
- if (this.model.min1 !== "" && parseFloat(this.model.value1) < parseFloat(this.model.min1)) {
114
- this.validMessage = "不能小于最小值:" + this.model.min1;
115
- this.valid = false;
116
- return false;
117
- }
118
- }
119
- return true;
120
- },
121
- clearClickHandle: function (event,id) {
122
- this.model['value'] ='';
123
- this.model['value1'] ='';
124
- this.isShowClear(id);
125
- },
126
- mouseOverHandle: function (id) {
127
- if ((this.model['value'] !== '' || this.model['value1'] !== '') && this.model.clearable) {
128
- this.showClear[id]=true;
129
- }
130
- },
131
- mouseOutHandle: function (id) {
132
- this.showClear[id]=false;
133
- },
134
- isShowClear(id)
135
- {
136
- if ((this.model['value'] !== '' || this.model['value1'] !== '') && this.model.clearable) {
137
- this.showClear[id]=true;
138
- }
139
- else {
140
- this.showClear[id]=false;
141
- }
142
- },
143
- search() {
144
- if(this.model.autoSearch) this.$emit('click');
145
- },
146
- }
147
- }
148
- </script>
1
+ <template>
2
+ <div class="field-top">
3
+ <div style="width:100%;display:flex" class="ct-iti" :class="[model.attrs.size?'ct-iti-'+model.attrs.size:'']" @mouseover="mouseOverHandle('input2')">
4
+ <div :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']" style="flex:1">
5
+ <div v-if="model.showLabel && model.label" class="el-input-group__prepend" :class="[model.labelClass]">
6
+ {{model.label}}
7
+ </div>
8
+ <div style="padding-left:5px" v-bind="model.attrs" class="el-date-editor el-range-editor el-input__inner el-date-editor--daterange"
9
+ v-bind:class="[model.attrs.size?'el-range-editor--'+model.attrs.size:'',
10
+ model.showLabel?'ct-iti-editor':'',isFocus?'isfocus':'',model.lock ? 'ct-is-disabled' : '']">
11
+
12
+ <div style="width:39%" class="ct-position-relative" @mouseout="mouseOutHandle('input2')">
13
+ <input style="text-align:left;width:100%" class="el-range-input" :placeholder="model.attrs.placeholder1"
14
+ v-model="model.value" @change="changeHandler($event)" @input="onInputHandler($event);isShowClear('input2')" @focus="focusHandler" @blur="blurHandler('value','decimals')"
15
+ :class="model.lock ? 'ct-is-disabled' : ''" :disabled="model.lock" @keyup.enter="search()"/>
16
+
17
+ <!-- <span class="el-input__suffix el-input--mini" v-if="showClear.input1">
18
+ <span class="el-input__suffix-inner ct-close">
19
+ <i class="el-select__caret el-input__icon el-icon-circle-close is-show-close" @click="clearClickHandle($event,'input1','value')"></i>
20
+ </span>
21
+ </span> -->
22
+ </div>
23
+ <span style="width:5%" class="el-range-separator">-</span>
24
+ <div style="width:39%" class="ct-position-relative" @mouseout="mouseOutHandle('input2')">
25
+ <input style="text-align:left;width:100%;" class="el-range-input" :placeholder="model.attrs.placeholder2"
26
+ v-model="model.value1" @change="changeHandler($event);" @input="onInputHandler($event);isShowClear('input2')" @focus="focusHandler" @blur="blurHandler('value1','decimals1')"
27
+ :class="model.lock ? 'ct-is-disabled' : ''" :disabled="model.lock" @keyup.enter="search()"/>
28
+ </div>
29
+ <span class="el-input__suffix el-input--mini" v-if="showClear.input2">
30
+ <span class="el-input__suffix-inner ct-close" style="display: flex;">
31
+ <i class="el-select__caret el-input__icon el-icon-circle-close is-show-close" @click="clearClickHandle($event,'input2')"></i>
32
+ </span>
33
+ </span>
34
+ <span v-if="model.unitName" class="ct-unitname el-input__suffix el-input__suffix-inner">{{model.unitName}}</span>
35
+ </div>
36
+ </div>
37
+ <span v-if="model.sufLabel" class="spanMessage ct-flex-div-span">{{model.sufLabel}}</span>
38
+ <transition name="el-fade-in ct-flex-div-span">
39
+ <span v-show="!valid" class="errorMessage">
40
+ {{validMessage}}
41
+ </span>
42
+ </transition>
43
+ <ct-quick-input v-if="!model.lock && model.paramName" :pn="model.paramName" :action="api" @input="model.value=$event.split('~')[0];model.value1=$event.split('~')[1]"></ct-quick-input>
44
+ </div>
45
+ </div>
46
+ </template>
47
+
48
+ <script>
49
+ import dynamicElement from '../../mixins/dynamicElement'
50
+ export default {
51
+ name: 'ct-iti',
52
+ mixins: [dynamicElement],
53
+ props: {
54
+ vmodel: Object
55
+ },
56
+ data() {
57
+ return {
58
+ isFocus: false,
59
+ showClear:{input1:false,input2:false},
60
+
61
+ }
62
+ },
63
+ created() {
64
+ if (typeof this.vmodel === 'undefined') {
65
+ this.model = this.loaderObj.Iti(this.source);
66
+ }
67
+ else {
68
+ this.model = this.vmodel;
69
+ }
70
+ },
71
+ methods: {
72
+ focusHandler() {
73
+ this.isFocus = true;
74
+ },
75
+ blurHandler(valName,decName) {
76
+ this.isFocus = false;
77
+ this.model[valName] = this.$common.numToFloat(this.model[valName], this.model[decName]);//保留n位小数
78
+ this.inputHandler();
79
+ },
80
+ onInputHandler: function (val) {
81
+ this.model.value = this.$common.numFloat(this.model.value, this.model.decimals, this.inputOld);//保留n位小数
82
+ this.model.value1 = this.$common.numFloat(this.model.value1, this.model.decimals1, this.inputOld1);//保留n位小数
83
+
84
+ if (this.model.max !== "" && parseFloat(this.model.value) > parseFloat(this.model.max)) {
85
+ this.model.value = this.inputOld;
86
+ }
87
+ if (this.model.max1 !== "" && parseFloat(this.model.value1) > parseFloat(this.model.max1)) {
88
+ this.model.value1 = this.inputOld1;
89
+ }
90
+
91
+ this.inputHandler(this.model.value);
92
+ this.changeHandler(this.model.value);//todo input事件里要不要加这个事件
93
+ console.log('onInputHandler');
94
+ },
95
+ //不能共用的数据校验
96
+ selfValidExcute: function (eventName) {
97
+ if (this.model.max !== "" && parseFloat(this.model.value) > parseFloat(this.model.max)) {
98
+ this.validMessage = "不能大于最大值:" + this.model.max;
99
+ this.valid = false;
100
+ return false;
101
+ }
102
+ if (this.model.max1 !== "" && parseFloat(this.model.value1) > parseFloat(this.model.max1)) {
103
+ this.validMessage = "不能大于最大值:" + this.model.max1;
104
+ this.valid = false;
105
+ return false;
106
+ }
107
+ if (eventName === "valid") {
108
+ if (this.model.min !== "" && parseFloat(this.model.value) < parseFloat(this.model.min)) {
109
+ this.validMessage = "不能小于最小值:" + this.model.min;
110
+ this.valid = false;
111
+ return false;
112
+ }
113
+ if (this.model.min1 !== "" && parseFloat(this.model.value1) < parseFloat(this.model.min1)) {
114
+ this.validMessage = "不能小于最小值:" + this.model.min1;
115
+ this.valid = false;
116
+ return false;
117
+ }
118
+ }
119
+ return true;
120
+ },
121
+ clearClickHandle: function (event,id) {
122
+ this.model['value'] ='';
123
+ this.model['value1'] ='';
124
+ this.isShowClear(id);
125
+ },
126
+ mouseOverHandle: function (id) {
127
+ if ((this.model['value'] !== '' || this.model['value1'] !== '') && this.model.clearable) {
128
+ this.showClear[id]=true;
129
+ }
130
+ },
131
+ mouseOutHandle: function (id) {
132
+ this.showClear[id]=false;
133
+ },
134
+ isShowClear(id)
135
+ {
136
+ if ((this.model['value'] !== '' || this.model['value1'] !== '') && this.model.clearable) {
137
+ this.showClear[id]=true;
138
+ }
139
+ else {
140
+ this.showClear[id]=false;
141
+ }
142
+ },
143
+ search() {
144
+ if(this.model.autoSearch) this.$emit('click');
145
+ },
146
+ }
147
+ }
148
+ </script>