centaline-data-driven 1.1.55 → 1.1.59

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 (202) 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/.vs/Centaline.Front_End.DataDriven/DesignTimeBuild/.dtbcache +0 -0
  6. package/.vs/Centaline.Front_End.DataDriven/v16/Server/sqlite3/db.lock +0 -0
  7. package/.vs/Centaline.Front_End.DataDriven/v16/Server/sqlite3/storage.ide +0 -0
  8. package/Centaline.Front_End.DataDriven.csproj +37 -37
  9. package/Centaline.Front_End.DataDriven.sln +25 -25
  10. package/Properties/launchSettings.json +26 -26
  11. package/README.md +140 -140
  12. package/build/build.js +41 -41
  13. package/build/centaline/centaline.path.js +59 -59
  14. package/build/centaline/webpack.centaline.conf.js +106 -106
  15. package/build/check-versions.js +54 -54
  16. package/build/utils.js +102 -102
  17. package/build/vue-loader.conf.js +22 -22
  18. package/build/webpack.base.conf.js +82 -82
  19. package/build/webpack.dev.conf.js +111 -111
  20. package/build/webpack.prod.conf.js +145 -145
  21. package/config/dev.env.js +12 -12
  22. package/config/index.js +73 -73
  23. package/config/prod.env.js +4 -4
  24. package/index.html +14 -14
  25. package/obj/Centaline.Front_End.DataDriven.csproj.nuget.dgspec.json +73 -0
  26. package/obj/Centaline.Front_End.DataDriven.csproj.nuget.g.props +29 -0
  27. package/obj/Centaline.Front_End.DataDriven.csproj.nuget.g.targets +15 -0
  28. package/obj/Debug/netcoreapp2.1/Centaline.Front_End.DataDriven.AssemblyInfo.cs +23 -0
  29. package/obj/Debug/netcoreapp2.1/Centaline.Front_End.DataDriven.RazorAssemblyInfo.cs +20 -0
  30. package/obj/project.assets.json +11907 -0
  31. package/package.json +75 -75
  32. package/src/App.vue +10 -10
  33. package/src/Detail.vue +29 -26
  34. package/src/Edit.vue +32 -32
  35. package/src/Form.vue +45 -29
  36. package/src/SearchList.vue +41 -40
  37. package/src/SearchTree.vue +51 -51
  38. package/src/Tabs.vue +19 -19
  39. package/src/centaline/api/index.js +249 -249
  40. package/src/centaline/comfirm/index.js +11 -11
  41. package/src/centaline/comfirm/src/comfirm.vue +44 -44
  42. package/src/centaline/common/index.js +738 -738
  43. package/src/centaline/css/common.css +752 -748
  44. package/src/centaline/css/max.css +208 -208
  45. package/src/centaline/dialogList/index.js +11 -11
  46. package/src/centaline/dialogList/src/dialog.vue +210 -210
  47. package/src/centaline/dialogList/src/dialogList.vue +65 -65
  48. package/src/centaline/dialogList/src/dialogNew.vue +78 -78
  49. package/src/centaline/dialogList/src/drag.js +77 -77
  50. package/src/centaline/directives/index.js +23 -23
  51. package/src/centaline/dynamicBtn/index.js +11 -11
  52. package/src/centaline/dynamicBtn/src/dynamicBtn.vue +100 -100
  53. package/src/centaline/dynamicCb/index.js +11 -11
  54. package/src/centaline/dynamicCb/src/dynamicCb.vue +72 -72
  55. package/src/centaline/dynamicCheckbox/index.js +11 -11
  56. package/src/centaline/dynamicCheckbox/src/dynamicCheckbox.vue +128 -128
  57. package/src/centaline/dynamicComboBoxWithTextBox/index.js +11 -11
  58. package/src/centaline/dynamicComboBoxWithTextBox/src/dynamicComboBoxWithTextBox.vue +240 -240
  59. package/src/centaline/dynamicD/index.js +11 -11
  60. package/src/centaline/dynamicD/src/dynamicD.vue +92 -92
  61. package/src/centaline/dynamicDetail/index.js +10 -10
  62. package/src/centaline/dynamicDetail/src/dynamicDetail.vue +40 -40
  63. package/src/centaline/dynamicDetail/src/dynamicPropertyDetailOFI.vue +1280 -1280
  64. package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +1346 -1293
  65. package/src/centaline/dynamicDrop/index.js +11 -11
  66. package/src/centaline/dynamicDrop/src/dynamicDrop.vue +54 -54
  67. package/src/centaline/dynamicDtd/index.js +11 -11
  68. package/src/centaline/dynamicDtd/src/dynamicDtd.vue +125 -125
  69. package/src/centaline/dynamicDtd/src/dynamicDtdOld.vue +93 -93
  70. package/src/centaline/dynamicFile/index.js +11 -11
  71. package/src/centaline/dynamicFile/src/dynamicFile.vue +289 -288
  72. package/src/centaline/dynamicForm/index.js +24 -24
  73. package/src/centaline/dynamicForm/src/dynamicForm.vue +564 -564
  74. package/src/centaline/dynamicForm/src/dynamicFormList.vue +209 -209
  75. package/src/centaline/dynamicForm/src/dynamicFormListTable.vue +376 -376
  76. package/src/centaline/dynamicGp/index.js +11 -11
  77. package/src/centaline/dynamicGp/src/dynamicGp.vue +27 -27
  78. package/src/centaline/dynamicHyperLink/index.js +10 -10
  79. package/src/centaline/dynamicHyperLink/src/dynamicHyperLink.vue +54 -54
  80. package/src/centaline/dynamicInput/index.js +35 -35
  81. package/src/centaline/dynamicInput/src/dynamicInput.vue +35 -35
  82. package/src/centaline/dynamicInputNumber/index.js +11 -11
  83. package/src/centaline/dynamicInputNumber/src/dynamicInputNumber.vue +157 -157
  84. package/src/centaline/dynamicIti/index.js +11 -11
  85. package/src/centaline/dynamicIti/src/dynamicIti.vue +148 -148
  86. package/src/centaline/dynamicL/index.js +11 -11
  87. package/src/centaline/dynamicL/src/dynamicL.vue +37 -37
  88. package/src/centaline/dynamicLabel/index.js +11 -11
  89. package/src/centaline/dynamicLabel/src/dynamicLabel.vue +73 -73
  90. package/src/centaline/dynamicLs/index.js +22 -22
  91. package/src/centaline/dynamicLs/src/dynamicLs.vue +233 -233
  92. package/src/centaline/dynamicMo/index.js +13 -13
  93. package/src/centaline/dynamicMo/src/dynamicMo.vue +421 -421
  94. package/src/centaline/dynamicMt/index.js +11 -11
  95. package/src/centaline/dynamicMt/src/dynamicMt.vue +44 -44
  96. package/src/centaline/dynamicPlaceHolder/index.js +10 -10
  97. package/src/centaline/dynamicPlaceHolder/src/dynamicPlaceHolder.vue +29 -29
  98. package/src/centaline/dynamicPopupSearchList/index.js +11 -11
  99. package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchList.vue +157 -157
  100. package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchListTable.vue +239 -239
  101. package/src/centaline/dynamicRichText/index.js +11 -11
  102. package/src/centaline/dynamicRichText/src/dynamicRichText.vue +33 -33
  103. package/src/centaline/dynamicSearchList/index.js +11 -11
  104. package/src/centaline/dynamicSearchList/src/dynamicSearchCategory.vue +121 -121
  105. package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +135 -135
  106. package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +206 -206
  107. package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +1082 -1069
  108. package/src/centaline/dynamicSearchList/src/dynamicTableStatistics.vue +30 -30
  109. package/src/centaline/dynamicSearchList/src/dynamicTableTip.vue +46 -46
  110. package/src/centaline/dynamicSearchList/src/dynamicTableToolbar.vue +61 -61
  111. package/src/centaline/dynamicSeg/index.js +11 -11
  112. package/src/centaline/dynamicSeg/src/dynamicSeg.vue +100 -100
  113. package/src/centaline/dynamicSensitiveEye/index.js +11 -11
  114. package/src/centaline/dynamicSensitiveEye/src/dynamicSensitiveEye.vue +74 -74
  115. package/src/centaline/dynamicSo/index.js +14 -14
  116. package/src/centaline/dynamicSo/src/dynamicSo.vue +329 -328
  117. package/src/centaline/dynamicSo/src/dynamicSo/345/211/257/346/234/254.vue +69 -69
  118. package/src/centaline/dynamicSos/index.js +14 -14
  119. package/src/centaline/dynamicSos/src/dynamicSos - /345/244/215/345/210/266.vue" +223 -223
  120. package/src/centaline/dynamicSos/src/dynamicSos.vue +261 -260
  121. package/src/centaline/dynamicSw/index.js +11 -11
  122. package/src/centaline/dynamicSw/src/dynamicSw.vue +74 -74
  123. package/src/centaline/dynamicT/index.js +11 -11
  124. package/src/centaline/dynamicT/src/dynamicT.vue +79 -79
  125. package/src/centaline/dynamicTab/index.js +11 -11
  126. package/src/centaline/dynamicTab/src/dynamicTab.vue +49 -49
  127. package/src/centaline/dynamicTabs/index.js +11 -11
  128. package/src/centaline/dynamicTabs/src/dynamicTabs.vue +69 -69
  129. package/src/centaline/dynamicTags/index.js +13 -13
  130. package/src/centaline/dynamicTags/src/dynamicTags - /345/244/215/345/210/266.vue" +391 -391
  131. package/src/centaline/dynamicTags/src/dynamicTags.vue +427 -427
  132. package/src/centaline/dynamicTimeSelect/index.js +11 -11
  133. package/src/centaline/dynamicTimeSelect/src/dynamicTimeSelect.vue +141 -141
  134. package/src/centaline/dynamicTree/index.js +11 -11
  135. package/src/centaline/dynamicTree/src/dynamicSearchTree.vue +66 -66
  136. package/src/centaline/dynamicTree/src/dynamicTree.vue +233 -233
  137. package/src/centaline/dynamicTree/src/dynamicTreeList.vue +74 -74
  138. package/src/centaline/formData/index.js +290 -290
  139. package/src/centaline/imgPreview/index.js +42 -42
  140. package/src/centaline/imgPreview/src/imgPreview.vue +26 -26
  141. package/src/centaline/index.js +51 -51
  142. package/src/centaline/loader/index.js +157 -157
  143. package/src/centaline/loader/src/ctl/Base.js +270 -261
  144. package/src/centaline/loader/src/ctl/Button.js +44 -44
  145. package/src/centaline/loader/src/ctl/Cb.js +27 -27
  146. package/src/centaline/loader/src/ctl/Checkbox.js +107 -107
  147. package/src/centaline/loader/src/ctl/ComboBoxWithTextBox.js +162 -162
  148. package/src/centaline/loader/src/ctl/D.js +31 -31
  149. package/src/centaline/loader/src/ctl/Detail.js +228 -175
  150. package/src/centaline/loader/src/ctl/Dtd.js +115 -115
  151. package/src/centaline/loader/src/ctl/DtdOld.js +129 -129
  152. package/src/centaline/loader/src/ctl/File.js +292 -292
  153. package/src/centaline/loader/src/ctl/Form.js +380 -380
  154. package/src/centaline/loader/src/ctl/FormList.js +428 -428
  155. package/src/centaline/loader/src/ctl/GM.js +20 -20
  156. package/src/centaline/loader/src/ctl/Gp.js +9 -9
  157. package/src/centaline/loader/src/ctl/Hd.js +13 -13
  158. package/src/centaline/loader/src/ctl/HyperLink.js +24 -24
  159. package/src/centaline/loader/src/ctl/InputNumber.js +51 -51
  160. package/src/centaline/loader/src/ctl/Iti.js +108 -108
  161. package/src/centaline/loader/src/ctl/L.js +18 -18
  162. package/src/centaline/loader/src/ctl/Mo.js +183 -183
  163. package/src/centaline/loader/src/ctl/Mt.js +20 -20
  164. package/src/centaline/loader/src/ctl/PlaceHolder.js +15 -15
  165. package/src/centaline/loader/src/ctl/Router.js +273 -273
  166. package/src/centaline/loader/src/ctl/SearchCategory.js +54 -54
  167. package/src/centaline/loader/src/ctl/SearchScreen.js +236 -236
  168. package/src/centaline/loader/src/ctl/SearchTable.js +787 -772
  169. package/src/centaline/loader/src/ctl/Seg.js +37 -37
  170. package/src/centaline/loader/src/ctl/SensitiveEye.js +65 -65
  171. package/src/centaline/loader/src/ctl/So.js +117 -117
  172. package/src/centaline/loader/src/ctl/Sos.js +128 -128
  173. package/src/centaline/loader/src/ctl/Sw.js +27 -27
  174. package/src/centaline/loader/src/ctl/T.js +65 -65
  175. package/src/centaline/loader/src/ctl/Tabs.js +57 -57
  176. package/src/centaline/loader/src/ctl/Tags.js +191 -191
  177. package/src/centaline/loader/src/ctl/TimeSelect.js +87 -87
  178. package/src/centaline/loader/src/ctl/Tree.js +151 -151
  179. package/src/centaline/loader/src/ctl/Ttts.js +78 -78
  180. package/src/centaline/loader/src/ctl/lib/Enum.js +580 -563
  181. package/src/centaline/loader/src/ctl/lib/LibFunction.js +364 -364
  182. package/src/centaline/loader/src/ctl.js +36 -36
  183. package/src/centaline/mixins/dynamicElement.js +151 -151
  184. package/src/centaline/mixins/dynamicSelect.js +84 -84
  185. package/src/centaline/mixins/emitter.js +33 -33
  186. package/src/centaline/progress/index.js +11 -11
  187. package/src/centaline/progress/src/progress.vue +70 -70
  188. package/src/centaline/quickInput/src/quickInput.vue +64 -64
  189. package/src/centaline/selectOption/src/selectOption.vue +61 -61
  190. package/src/centaline/selectOption/src/selectOptionVertical.vue +80 -80
  191. package/src/centaline/templateControls/index.js +17 -17
  192. package/src/centaline/templateControls/src/dynamicTableA.vue +20 -20
  193. package/src/centaline/templateControls/src/dynamicTableCurrency.vue +62 -62
  194. package/src/centaline/templateControls/src/dynamicTableImg.vue +25 -25
  195. package/src/centaline/templates/index.js +34 -34
  196. package/src/centaline/templates/src/ContractSearch.js +67 -67
  197. package/src/centaline/templates/src/test.js +44 -44
  198. package/src/centaline/validate/index.js +332 -332
  199. package/src/main.js +55 -46
  200. package/src/router/index.js +44 -44
  201. package/wwwroot/static/centaline/centaline-data-driven.js +1 -1
  202. package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
@@ -1,11 +1,11 @@
1
- import dynamicMt from './src/dynamicMt'
2
-
3
- dynamicMt.install = function (Vue) {
4
- Vue.component(dynamicMt.name, dynamicMt);
5
- }
6
-
7
- if (typeof window !== 'undefined' && window.Vue) {
8
- window.Vue.use(dynamicMt);
9
- }
10
-
11
- export default dynamicMt;
1
+ import dynamicMt from './src/dynamicMt'
2
+
3
+ dynamicMt.install = function (Vue) {
4
+ Vue.component(dynamicMt.name, dynamicMt);
5
+ }
6
+
7
+ if (typeof window !== 'undefined' && window.Vue) {
8
+ window.Vue.use(dynamicMt);
9
+ }
10
+
11
+ export default dynamicMt;
@@ -1,44 +1,44 @@
1
- <template>
2
- <div style="width:100%;display:flex" class="ct-mt">
3
- <div class="el-input el-input--suffix" :class="[model.attrs.size?'ct-mt-'+model.attrs.size:'',model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']" style="flex:1">
4
- <div v-if="model.showLabel && model.label" class="el-input-group__prepend" :class="[model.labelClass]">
5
- {{model.label}}
6
- </div>
7
- <el-input type="textarea" v-bind="model.attrs" v-model="model.value" @input="inputHandler($event)"
8
- @change="changeHandler($event)" :disabled="model.lock"></el-input>
9
- </div>
10
- <transition name="el-fade-in">
11
- <span v-show="!valid" class="errorMessage">
12
- {{validMessage}}
13
- </span>
14
- </transition>
15
- <ct-quick-input v-if="model.paramName && !model.lock" :pn="model.paramName" :action="api" @input="model.value=$event"></ct-quick-input>
16
- </div>
17
- </template>
18
- <script>
19
- import dynamicElement from '../../mixins/dynamicElement';
20
- export default {
21
- name: 'ct-mt',
22
- mixins: [dynamicElement],
23
- props: {
24
- vmodel: Object
25
- },
26
- data() {
27
- return {
28
-
29
- }
30
- },
31
- created() {
32
- if (typeof this.vmodel === 'undefined') {
33
- this.model = this.loaderObj.Mt(this.source);
34
- }
35
- else {
36
- this.model = this.vmodel;
37
- }
38
- }
39
- }</script>
40
- <style>
41
- .noresize {
42
- resize: none;
43
- }
44
- </style>
1
+ <template>
2
+ <div style="width:100%;display:flex" class="ct-mt">
3
+ <div class="el-input el-input--suffix" :class="[model.attrs.size?'ct-mt-'+model.attrs.size:'',model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']" style="flex:1">
4
+ <div v-if="model.showLabel && model.label" class="el-input-group__prepend" :class="[model.labelClass]">
5
+ {{model.label}}
6
+ </div>
7
+ <el-input type="textarea" v-bind="model.attrs" v-model="model.value" @input="inputHandler($event)"
8
+ @change="changeHandler($event)" :disabled="model.lock"></el-input>
9
+ </div>
10
+ <transition name="el-fade-in">
11
+ <span v-show="!valid" class="errorMessage">
12
+ {{validMessage}}
13
+ </span>
14
+ </transition>
15
+ <ct-quick-input v-if="model.paramName && !model.lock" :pn="model.paramName" :action="api" @input="model.value=$event"></ct-quick-input>
16
+ </div>
17
+ </template>
18
+ <script>
19
+ import dynamicElement from '../../mixins/dynamicElement';
20
+ export default {
21
+ name: 'ct-mt',
22
+ mixins: [dynamicElement],
23
+ props: {
24
+ vmodel: Object
25
+ },
26
+ data() {
27
+ return {
28
+
29
+ }
30
+ },
31
+ created() {
32
+ if (typeof this.vmodel === 'undefined') {
33
+ this.model = this.loaderObj.Mt(this.source);
34
+ }
35
+ else {
36
+ this.model = this.vmodel;
37
+ }
38
+ }
39
+ }</script>
40
+ <style>
41
+ .noresize {
42
+ resize: none;
43
+ }
44
+ </style>
@@ -1,11 +1,11 @@
1
- import dynamicPlaceHolder from './src/dynamicPlaceHolder'
2
-
3
- dynamicPlaceHolder.install = function (Vue) {
4
- Vue.component(dynamicPlaceHolder.name, dynamicPlaceHolder);
5
- }
6
-
7
- if (typeof window !== 'undefined' && window.Vue) {
8
- window.Vue.use(dynamicPlaceHolder);
9
- }
10
-
1
+ import dynamicPlaceHolder from './src/dynamicPlaceHolder'
2
+
3
+ dynamicPlaceHolder.install = function (Vue) {
4
+ Vue.component(dynamicPlaceHolder.name, dynamicPlaceHolder);
5
+ }
6
+
7
+ if (typeof window !== 'undefined' && window.Vue) {
8
+ window.Vue.use(dynamicPlaceHolder);
9
+ }
10
+
11
11
  export default dynamicPlaceHolder
@@ -1,29 +1,29 @@
1
- <template>
2
- <div class="field-top">
3
- <div v-if="model !== null" class="ct-text ct-flex-div" :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'',model.attrs.size?'ct-font-size-'+model.attrs.size:'']">
4
- <div v-if="model.showLabel && model.label" class="el-input-group__prepend field-label-div" :class="[model.labelClass]">
5
- </div>
6
- </div>
7
- </div>
8
- </template>
9
- <script>
10
- import dynamicElement from '../../mixins/dynamicElement'
11
- export default {
12
- name: 'ct-ph',
13
- props: {
14
- vmodel: Object,
15
- },
16
- mixins: [dynamicElement],
17
- data: function () {
18
- return {};
19
- },
20
- created() {
21
- if (typeof this.vmodel === 'undefined') {
22
- this.model = this.loaderObj.PlaceHolder(this.source);
23
- }
24
- else {
25
- this.model = this.vmodel;
26
- }
27
- }
28
- }
29
- </script>
1
+ <template>
2
+ <div class="field-top">
3
+ <div v-if="model !== null" class="ct-text ct-flex-div" :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'',model.attrs.size?'ct-font-size-'+model.attrs.size:'']">
4
+ <div v-if="model.showLabel && model.label" class="el-input-group__prepend field-label-div" :class="[model.labelClass]">
5
+ </div>
6
+ </div>
7
+ </div>
8
+ </template>
9
+ <script>
10
+ import dynamicElement from '../../mixins/dynamicElement'
11
+ export default {
12
+ name: 'ct-ph',
13
+ props: {
14
+ vmodel: Object,
15
+ },
16
+ mixins: [dynamicElement],
17
+ data: function () {
18
+ return {};
19
+ },
20
+ created() {
21
+ if (typeof this.vmodel === 'undefined') {
22
+ this.model = this.loaderObj.PlaceHolder(this.source);
23
+ }
24
+ else {
25
+ this.model = this.vmodel;
26
+ }
27
+ }
28
+ }
29
+ </script>
@@ -1,11 +1,11 @@
1
- import dynamicPopupSearchList from './src/dynamicPopupSearchList'
2
-
3
- dynamicPopupSearchList.install = function (Vue) {
4
- Vue.component(dynamicPopupSearchList.name, dynamicPopupSearchList);
5
- }
6
-
7
- if (typeof window !== 'undefined' && window.Vue) {
8
- window.Vue.use(dynamicPopupSearchList);
9
- }
10
-
11
- export default dynamicPopupSearchList;
1
+ import dynamicPopupSearchList from './src/dynamicPopupSearchList'
2
+
3
+ dynamicPopupSearchList.install = function (Vue) {
4
+ Vue.component(dynamicPopupSearchList.name, dynamicPopupSearchList);
5
+ }
6
+
7
+ if (typeof window !== 'undefined' && window.Vue) {
8
+ window.Vue.use(dynamicPopupSearchList);
9
+ }
10
+
11
+ export default dynamicPopupSearchList;
@@ -1,157 +1,157 @@
1
- <template>
2
- <div v-loading="loading" style="width:100%">
3
- <div v-if="model !== null && !loading" class="ct-form">
4
- <div class="ct-ptb5 max-flex">
5
- <template v-for="(col, index) in model.fields" v-if="col.show !== false">
6
- <br v-if="col.is === 'ct-linefeed'" />
7
- <component ref="Fields" :is="col.is" v-bind="col.listBind" :vmodel="col" :api="model.optionApi" @click="getClickHandler(col.action)"></component>
8
- </template>
9
- </div>
10
- <ct-popupSearchListTable ref="table" :api="searchDataApi" :jumpBtnName="jumpBtnName" :filterBtnName="filterBtnName"
11
- v-on:submit="popupSearchListConfirm" :singleSelectio="singleSelectio"></ct-popupSearchListTable>
12
- </div>
13
- <div style="min-height:200px" v-if="loading"></div>
14
- </div>
15
- </template>
16
- <script>
17
- import dynamicElement from '../../mixins/dynamicElement'
18
- import dynamicPopupSearchListTable from './dynamicPopupSearchListTable.vue'
19
- export default {
20
- name: 'ct-popupSearchList',
21
- mixins: [dynamicElement],
22
- components: {
23
- 'ct-popupSearchListTable' : dynamicPopupSearchListTable
24
- },
25
- props: {
26
- searchFormApi: String,
27
- apiParam: Object,
28
- searchDataApi: String,
29
- vmodel: Object,
30
- source: Object,
31
- singleSelectio: {
32
- type: Boolean,
33
- default: false
34
- }
35
- },
36
- data() {
37
- var self = this;
38
- return {
39
- loading: true,
40
- jumpBtnName: '',
41
- filterBtnName: ''
42
- };
43
- },
44
- mounted() {
45
- var self = this;
46
- this.$nextTick(function () {
47
- if (typeof self.searchFormApi !== 'undefined') {
48
- self.loaderObj.Form(self.searchFormApi, self.load, self.apiParam, null, true);
49
- }
50
- if (typeof self.source !== 'undefined') {
51
- self.load(self.loaderObj.Form(self.source, null, null, null, true));
52
- }
53
- if (self.vmodel) {
54
- self.load(self.vmodel);
55
- }
56
- });
57
- },
58
- methods: {
59
- load(data) {
60
- this.model = data;
61
- if (typeof this.model.scripts !== 'undefined') {
62
- this.model.scripts.formData = this.model.formData;
63
- this.model.scripts.formData.excuteData = this.model.fields;
64
- }
65
- this.loadFields();
66
- this.$nextTick(() => {
67
- this.$refs.table.searchComplate(this.model);
68
- });
69
- this.loading = false;
70
-
71
- //通知父组件加载完成
72
- this.$emit('loaded');
73
- },
74
- loadFields() {
75
- var self = this;
76
- var nofor = self.model.fields.filter((v) => {
77
- return typeof v.for === 'undefined' && v.show !== false && v.type !== 'btn';
78
- });
79
-
80
- var hasParent = self.model.fields.filter((v) => {
81
- return typeof v.parentName !== 'undefined';
82
- });
83
- hasParent.forEach((v, index) => {
84
- var parent = self.model.fields.find((v1) => {
85
- return v1.id === v.parentName;
86
- });
87
- if (parent) {
88
- parent.child = v;
89
- v.parent = parent;
90
- }
91
- });
92
-
93
- var nofor = self.model.fields.filter((v) => {
94
- return typeof v.for === 'undefined' && v.show !== false && v.type === 'btn' ;
95
- });
96
-
97
- self.model.fields.forEach((v) => {
98
- if (v.show !== false && v.type === 'btn' && v.id === 'btnJump') {
99
- this.jumpBtnName = v.label;
100
- }
101
- else if (v.show !== false && v.type === 'btn' && v.id === 'btnFilter') {
102
- this.filterBtnName = v.label;
103
- }
104
- });
105
-
106
- },
107
- searchData() {
108
- this.$refs.table.searchComplate(this.model);
109
- },
110
- reset() {
111
- this.model.fields.forEach((v) => {
112
- v.reset();
113
- });
114
- },
115
- getClickHandler(action) {
116
- var fun = {};
117
- switch (action) {
118
- case 'search':
119
- this.searchData();
120
- break;
121
- case 'reset':
122
- this.reset();
123
- this.searchData();
124
- break;
125
- default:
126
- break;
127
- }
128
-
129
- },
130
- popupSearchListConfirm(multipleSelection) {
131
- this.$emit('submit', multipleSelection);
132
- this.$common.closeDialog(this);
133
- },
134
- validExcute() {
135
- var self = this;
136
- var rtnBool = true;
137
- self.$refs.Fields.forEach((f) => {
138
- if (typeof f.validExcute !== 'undefined') {
139
- if (!f.validExcute()) {
140
- rtnBool = false;
141
- }
142
- }
143
- });
144
- return rtnBool;
145
- }
146
- }
147
- }
148
- </script>
149
- <style>
150
- .max-flex{
151
- display: flex;
152
-
153
- }
154
- .max-flex .field-top{
155
- margin-right: 10px;
156
- }
157
- </style>
1
+ <template>
2
+ <div v-loading="loading" style="width:100%">
3
+ <div v-if="model !== null && !loading" class="ct-form">
4
+ <div class="ct-ptb5 max-flex">
5
+ <template v-for="(col, index) in model.fields" v-if="col.show !== false">
6
+ <br v-if="col.is === 'ct-linefeed'" />
7
+ <component ref="Fields" :is="col.is" v-bind="col.listBind" :vmodel="col" :api="model.optionApi" @click="getClickHandler(col.action)"></component>
8
+ </template>
9
+ </div>
10
+ <ct-popupSearchListTable ref="table" :api="searchDataApi" :jumpBtnName="jumpBtnName" :filterBtnName="filterBtnName"
11
+ v-on:submit="popupSearchListConfirm" :singleSelectio="singleSelectio"></ct-popupSearchListTable>
12
+ </div>
13
+ <div style="min-height:200px" v-if="loading"></div>
14
+ </div>
15
+ </template>
16
+ <script>
17
+ import dynamicElement from '../../mixins/dynamicElement'
18
+ import dynamicPopupSearchListTable from './dynamicPopupSearchListTable.vue'
19
+ export default {
20
+ name: 'ct-popupSearchList',
21
+ mixins: [dynamicElement],
22
+ components: {
23
+ 'ct-popupSearchListTable' : dynamicPopupSearchListTable
24
+ },
25
+ props: {
26
+ searchFormApi: String,
27
+ apiParam: Object,
28
+ searchDataApi: String,
29
+ vmodel: Object,
30
+ source: Object,
31
+ singleSelectio: {
32
+ type: Boolean,
33
+ default: false
34
+ }
35
+ },
36
+ data() {
37
+ var self = this;
38
+ return {
39
+ loading: true,
40
+ jumpBtnName: '',
41
+ filterBtnName: ''
42
+ };
43
+ },
44
+ mounted() {
45
+ var self = this;
46
+ this.$nextTick(function () {
47
+ if (typeof self.searchFormApi !== 'undefined') {
48
+ self.loaderObj.Form(self.searchFormApi, self.load, self.apiParam, null, true);
49
+ }
50
+ if (typeof self.source !== 'undefined') {
51
+ self.load(self.loaderObj.Form(self.source, null, null, null, true));
52
+ }
53
+ if (self.vmodel) {
54
+ self.load(self.vmodel);
55
+ }
56
+ });
57
+ },
58
+ methods: {
59
+ load(data) {
60
+ this.model = data;
61
+ if (typeof this.model.scripts !== 'undefined') {
62
+ this.model.scripts.formData = this.model.formData;
63
+ this.model.scripts.formData.excuteData = this.model.fields;
64
+ }
65
+ this.loadFields();
66
+ this.$nextTick(() => {
67
+ this.$refs.table.searchComplate(this.model);
68
+ });
69
+ this.loading = false;
70
+
71
+ //通知父组件加载完成
72
+ this.$emit('loaded');
73
+ },
74
+ loadFields() {
75
+ var self = this;
76
+ var nofor = self.model.fields.filter((v) => {
77
+ return typeof v.for === 'undefined' && v.show !== false && v.type !== 'btn';
78
+ });
79
+
80
+ var hasParent = self.model.fields.filter((v) => {
81
+ return typeof v.parentName !== 'undefined';
82
+ });
83
+ hasParent.forEach((v, index) => {
84
+ var parent = self.model.fields.find((v1) => {
85
+ return v1.id === v.parentName;
86
+ });
87
+ if (parent) {
88
+ parent.child = v;
89
+ v.parent = parent;
90
+ }
91
+ });
92
+
93
+ var nofor = self.model.fields.filter((v) => {
94
+ return typeof v.for === 'undefined' && v.show !== false && v.type === 'btn' ;
95
+ });
96
+
97
+ self.model.fields.forEach((v) => {
98
+ if (v.show !== false && v.type === 'btn' && v.id === 'btnJump') {
99
+ this.jumpBtnName = v.label;
100
+ }
101
+ else if (v.show !== false && v.type === 'btn' && v.id === 'btnFilter') {
102
+ this.filterBtnName = v.label;
103
+ }
104
+ });
105
+
106
+ },
107
+ searchData() {
108
+ this.$refs.table.searchComplate(this.model);
109
+ },
110
+ reset() {
111
+ this.model.fields.forEach((v) => {
112
+ v.reset();
113
+ });
114
+ },
115
+ getClickHandler(action) {
116
+ var fun = {};
117
+ switch (action) {
118
+ case 'search':
119
+ this.searchData();
120
+ break;
121
+ case 'reset':
122
+ this.reset();
123
+ this.searchData();
124
+ break;
125
+ default:
126
+ break;
127
+ }
128
+
129
+ },
130
+ popupSearchListConfirm(multipleSelection) {
131
+ this.$emit('submit', multipleSelection);
132
+ this.$common.closeDialog(this);
133
+ },
134
+ validExcute() {
135
+ var self = this;
136
+ var rtnBool = true;
137
+ self.$refs.Fields.forEach((f) => {
138
+ if (typeof f.validExcute !== 'undefined') {
139
+ if (!f.validExcute()) {
140
+ rtnBool = false;
141
+ }
142
+ }
143
+ });
144
+ return rtnBool;
145
+ }
146
+ }
147
+ }
148
+ </script>
149
+ <style>
150
+ .max-flex{
151
+ display: flex;
152
+
153
+ }
154
+ .max-flex .field-top{
155
+ margin-right: 10px;
156
+ }
157
+ </style>