ocpview-plus 0.0.1

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 (195) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +0 -0
  3. package/dist/efviewplus.min.esm.js +99954 -0
  4. package/dist/efviewplus.min.js +142 -0
  5. package/dist/locale/lang.js +1 -0
  6. package/dist/locale/zh-CN.js +1 -0
  7. package/dist/locale/zh-TW.js +1 -0
  8. package/dist/locale/zh-UG.js +1 -0
  9. package/dist/style.css +9 -0
  10. package/dist/styles/efviewplus.css +1 -0
  11. package/package.json +144 -0
  12. package/src/components/base/controlbase.vue +191 -0
  13. package/src/components/base/controlbox.vue +102 -0
  14. package/src/components/base/index.js +3 -0
  15. package/src/components/base/load.js +20 -0
  16. package/src/components/base/probase.js +220 -0
  17. package/src/components/base/size.js +78 -0
  18. package/src/components/billbox/billbox.vue +68 -0
  19. package/src/components/billbox/index.js +2 -0
  20. package/src/components/cascaderbox/cascaderbox.vue +184 -0
  21. package/src/components/cascaderbox/index.js +2 -0
  22. package/src/components/checkbox/checkbox.vue +76 -0
  23. package/src/components/checkbox/checkgroupbox.vue +104 -0
  24. package/src/components/checkbox/index.js +3 -0
  25. package/src/components/colorbox/colorbox.vue +44 -0
  26. package/src/components/colorbox/index.js +2 -0
  27. package/src/components/combobox/combobox.vue +220 -0
  28. package/src/components/combobox/index.js +2 -0
  29. package/src/components/conditionbox/conditionbase.vue +195 -0
  30. package/src/components/conditionbox/conditionbox.vue +63 -0
  31. package/src/components/conditionbox/conditionfilterbox.vue +477 -0
  32. package/src/components/conditionbox/conditionselectorbox.vue +237 -0
  33. package/src/components/conditionbox/index.js +5 -0
  34. package/src/components/conditionbox/queryconditionbox.vue +26 -0
  35. package/src/components/conditionbox/queryconditionboxbase.vue +124 -0
  36. package/src/components/conditionbox/searchconditionbox.vue +114 -0
  37. package/src/components/conditionbox/searchgrid.vue +391 -0
  38. package/src/components/datebox/datebox.vue +129 -0
  39. package/src/components/datebox/daterangebox.vue +155 -0
  40. package/src/components/datebox/index.js +3 -0
  41. package/src/components/form/baseform.vue +677 -0
  42. package/src/components/form/detailsbox.vue +487 -0
  43. package/src/components/form/formbox.vue +29 -0
  44. package/src/components/form/formcardbox.vue +268 -0
  45. package/src/components/form/formcardgroupbox.vue +252 -0
  46. package/src/components/form/formcompro.js +19 -0
  47. package/src/components/form/formdetail.vue +129 -0
  48. package/src/components/form/formdetailtwo.vue +302 -0
  49. package/src/components/form/index.js +8 -0
  50. package/src/components/form/toolanchor.js +46 -0
  51. package/src/components/form/workform.vue +168 -0
  52. package/src/components/grid/basegrid.vue +1061 -0
  53. package/src/components/grid/editgrid.vue +51 -0
  54. package/src/components/grid/editgridbase.vue +947 -0
  55. package/src/components/grid/editgridcard.vue +193 -0
  56. package/src/components/grid/expandrow.vue +137 -0
  57. package/src/components/grid/index.js +6 -0
  58. package/src/components/grid/viewgrid.vue +122 -0
  59. package/src/components/grid/viewgridbase.vue +1284 -0
  60. package/src/components/icon/common-icon.vue +53 -0
  61. package/src/components/icon/eicon.vue +29 -0
  62. package/src/components/icon/icons.vue +42 -0
  63. package/src/components/icon/index.js +2 -0
  64. package/src/components/label/index.js +3 -0
  65. package/src/components/label/showtext.vue +95 -0
  66. package/src/components/load/loadcartoon.vue +228 -0
  67. package/src/components/map/index.js +2 -0
  68. package/src/components/map/mapbox.vue +348 -0
  69. package/src/components/masterplate/appendix.vue +586 -0
  70. package/src/components/masterplate/approval.vue +803 -0
  71. package/src/components/masterplate/base.vue +985 -0
  72. package/src/components/masterplate/billasyncimport.vue +614 -0
  73. package/src/components/masterplate/billconditionbox.vue +224 -0
  74. package/src/components/masterplate/billconditionsbox.vue +427 -0
  75. package/src/components/masterplate/billdetailform.vue +990 -0
  76. package/src/components/masterplate/billimport.vue +263 -0
  77. package/src/components/masterplate/billquerygrid.vue +316 -0
  78. package/src/components/masterplate/billsinglegrid.vue +234 -0
  79. package/src/components/masterplate/birtreport.vue +185 -0
  80. package/src/components/masterplate/detailbtntoolbar.vue +311 -0
  81. package/src/components/masterplate/detailsbox.vue +386 -0
  82. package/src/components/masterplate/editgridcard.vue +222 -0
  83. package/src/components/masterplate/editgridcard2.vue +109 -0
  84. package/src/components/masterplate/formcard.vue +106 -0
  85. package/src/components/masterplate/formcardgroupbox.vue +168 -0
  86. package/src/components/masterplate/formdetailtwo.vue +356 -0
  87. package/src/components/masterplate/gridcolset.vue +227 -0
  88. package/src/components/masterplate/index.js +23 -0
  89. package/src/components/masterplate/layouttemplate.vue +33 -0
  90. package/src/components/masterplate/leftlistrightdetails.vue +474 -0
  91. package/src/components/masterplate/leftlistrightlist.vue +465 -0
  92. package/src/components/masterplate/lefttreerightdetails.vue +619 -0
  93. package/src/components/masterplate/levelreport.vue +510 -0
  94. package/src/components/masterplate/listbtntoolbar.vue +257 -0
  95. package/src/components/masterplate/listdetails.vue +769 -0
  96. package/src/components/masterplate/operlog.vue +272 -0
  97. package/src/components/masterplate/options.vue +110 -0
  98. package/src/components/masterplate/page.vue +102 -0
  99. package/src/components/masterplate/promptmessage.vue +74 -0
  100. package/src/components/masterplate/querybar.vue +490 -0
  101. package/src/components/masterplate/report.vue +357 -0
  102. package/src/components/masterplate/rowbtntoolbar.vue +126 -0
  103. package/src/components/masterplate/simpletree.vue +129 -0
  104. package/src/components/masterplate/simpleviewgrid.vue +144 -0
  105. package/src/components/mychart/bar/bar.vue +202 -0
  106. package/src/components/mychart/basechart.vue +190 -0
  107. package/src/components/mychart/complexmychart/barline.vue +154 -0
  108. package/src/components/mychart/gauge/gauge.vue +83 -0
  109. package/src/components/mychart/index.js +9 -0
  110. package/src/components/mychart/line/line.vue +202 -0
  111. package/src/components/mychart/liquidfill/liquidfill.vue +109 -0
  112. package/src/components/mychart/pie/pie.vue +96 -0
  113. package/src/components/mychart/radar/radar.vue +122 -0
  114. package/src/components/mychart/scatter/scatter.vue +76 -0
  115. package/src/components/numberbox/append.js +11 -0
  116. package/src/components/numberbox/index.js +3 -0
  117. package/src/components/numberbox/numberbox.vue +303 -0
  118. package/src/components/numberbox/numberrangebox.vue +423 -0
  119. package/src/components/picturebox/filebox.vue +365 -0
  120. package/src/components/picturebox/index.js +3 -0
  121. package/src/components/picturebox/picturebox.vue +541 -0
  122. package/src/components/picturebox/uploadbox.vue +164 -0
  123. package/src/components/poptagbox/index.js +2 -0
  124. package/src/components/poptagbox/poptagbox.vue +389 -0
  125. package/src/components/poptextbox/index.js +2 -0
  126. package/src/components/poptextbox/poptextbox.vue +601 -0
  127. package/src/components/radiobox/index.js +2 -0
  128. package/src/components/radiobox/radiogroupbox.vue +76 -0
  129. package/src/components/richtextbox/editor.vue +150 -0
  130. package/src/components/richtextbox/index.js +2 -0
  131. package/src/components/richtextbox/richtextbox.vue +448 -0
  132. package/src/components/textbox/index.js +2 -0
  133. package/src/components/textbox/textbox.vue +98 -0
  134. package/src/components/timebox/index.js +2 -0
  135. package/src/components/timebox/timebox.vue +76 -0
  136. package/src/components/toolbar/ebutton.vue +169 -0
  137. package/src/components/toolbar/index.js +3 -0
  138. package/src/components/toolbar/toolbar.vue +446 -0
  139. package/src/components/tree/basetree.vue +725 -0
  140. package/src/components/tree/index.js +3 -0
  141. package/src/components/tree/treedata.vue +51 -0
  142. package/src/components/tree/treedatabase.vue +189 -0
  143. package/src/components/upload/billimport.vue +233 -0
  144. package/src/components/upload/index.js +2 -0
  145. package/src/components/videobox/index.js +2 -0
  146. package/src/components/videobox/uploadbox.vue +148 -0
  147. package/src/components/videobox/videobox.vue +503 -0
  148. package/src/components/wrichtextbox/editor.vue +219 -0
  149. package/src/components/wrichtextbox/index.js +2 -0
  150. package/src/components/wrichtextbox/wrichtextbox.vue +63 -0
  151. package/src/index.js +215 -0
  152. package/src/locale/format.js +51 -0
  153. package/src/locale/index.js +63 -0
  154. package/src/locale/lang/zh-CN.js +123 -0
  155. package/src/locale/lang/zh-TW.js +114 -0
  156. package/src/locale/lang/zh-UG.js +115 -0
  157. package/src/locale/lang.js +15 -0
  158. package/src/method/case/case.js +1180 -0
  159. package/src/method/config/queryconfig.js +24 -0
  160. package/src/method/const/const.js +815 -0
  161. package/src/method/index.js +8 -0
  162. package/src/static/excel/exportexcel.js +627 -0
  163. package/src/static/iview/coustom.js +463 -0
  164. package/src/store/index.js +19 -0
  165. package/src/store/modules/app.js +53 -0
  166. package/src/styles/README.md +3 -0
  167. package/src/styles/common.less +75 -0
  168. package/src/styles/components/anchor.less +74 -0
  169. package/src/styles/components/approval.less +136 -0
  170. package/src/styles/components/button.less +208 -0
  171. package/src/styles/components/card.less +51 -0
  172. package/src/styles/components/content.less +38 -0
  173. package/src/styles/components/font.less +314 -0
  174. package/src/styles/components/form.less +72 -0
  175. package/src/styles/components/iconfont/fonts/iconfont.less +1376 -0
  176. package/src/styles/components/iconfont/fonts/iconfont.svg +699 -0
  177. package/src/styles/components/iconfont/fonts/iconfont.ttf +0 -0
  178. package/src/styles/components/iconfont/fonts/iconfont.woff +0 -0
  179. package/src/styles/components/iconfont/fonts/iconfont.woff2 +0 -0
  180. package/src/styles/components/index.less +16 -0
  181. package/src/styles/components/input.less +290 -0
  182. package/src/styles/components/modal.less +203 -0
  183. package/src/styles/components/page.less +340 -0
  184. package/src/styles/components/select.less +361 -0
  185. package/src/styles/components/steps.less +367 -0
  186. package/src/styles/components/table.less +544 -0
  187. package/src/styles/components/tabs.less +249 -0
  188. package/src/styles/components/upload.less +83 -0
  189. package/src/styles/custom.less +67 -0
  190. package/src/styles/index.less +6 -0
  191. package/src/styles/pack.less +6 -0
  192. package/src/utils/EfuMessenger.js +155 -0
  193. package/src/utils/assist.js +353 -0
  194. package/src/utils/index.js +1 -0
  195. package/src/utils/random_str.js +10 -0
@@ -0,0 +1,78 @@
1
+ export default {
2
+ name:'size',
3
+ data () {
4
+ return {
5
+ calHeight:1,
6
+ calWidth:1,
7
+ adjustHeight:0,
8
+ adjustWidth:0,
9
+ };
10
+ },
11
+ computed:{
12
+ clientHeight () {
13
+ return this.$Store.state.app.clientHeight;
14
+ },
15
+ clientWidth () {
16
+ return this.$Store.state.app.clientWidth;
17
+ },
18
+ currentHeight () {
19
+ let culheight = this.clientHeight;
20
+ if (this.calHeight) {
21
+ if (Number(this.calHeight) <= 1) {
22
+ culheight = culheight * Number(this.calHeight);
23
+ culheight = Number(culheight.toFixed(0));
24
+ } else {
25
+ culheight = this.calHeight;
26
+ }
27
+ }
28
+ if (this.adjustHeight) {
29
+ culheight = culheight - Number(this.adjustHeight);
30
+ }
31
+ return culheight;
32
+ },
33
+ currentWidth () {
34
+ let culwidth = this.clientWidth;
35
+ if (this.calWidth) {
36
+ if (Number(this.calWidth) <= 1) {
37
+ culwidth = culwidth * Number(this.calWidth);
38
+ culwidth = Number(culwidth.toFixed(1));
39
+ } else {
40
+ culwidth = this.calWidth;
41
+ }
42
+ }
43
+ if (this.adjustWidth) {
44
+ culwidth = culwidth - Number(this.adjustWidth);
45
+ }
46
+ return culwidth;
47
+ }
48
+ },
49
+ methods:{
50
+ setCalHeight (value) {
51
+ this.calHeight = value;
52
+ },
53
+ setAdjustHeight (value) {
54
+ this.adjustHeight = value;
55
+ },
56
+ setCalWidth (value) {
57
+ this.calWidth = value;
58
+ },
59
+ setAdjustWidth(value) {
60
+ this.adjustWidth = value;
61
+ },
62
+ setSizeConfig (config) {
63
+ if (config.height) {
64
+ this.setCalHeight(config.height);
65
+ }
66
+ if (config.width) {
67
+ this.setCalWidth(config.width);
68
+ }
69
+ if (config.adjustHeight) {
70
+ this.setAdjustHeight(config.adjustHeight);
71
+ }
72
+ if (config.adjustWidth) {
73
+ this.setAdjustWidth(config.adjustWidth);
74
+ }
75
+ }
76
+ },
77
+
78
+ };
@@ -0,0 +1,68 @@
1
+
2
+ <template>
3
+ <Modal v-model="modalflag" :width="currentWidth" :title="myConfig.title" :footer-hide="true" @on-visible-change="ondestroy">
4
+ <div v-if="modalflag">
5
+ <iframe ref="bill" :src="myConfig.url" width="100%" :height="currentHeight" allowtransparency="true" @load="load" frameborder="0" ></iframe>
6
+ </div>
7
+ </Modal>
8
+ </template>
9
+ <script>
10
+ import size from '@/components/base/size';
11
+ export default {
12
+ name:'billbox',
13
+ mixins: [size],
14
+ data () {
15
+ return {
16
+ myConfig:{
17
+ url:'',
18
+ title:'',
19
+ width:0.8,
20
+ height:0.8,
21
+ adjustHeight:0,
22
+ onLoad:'',
23
+ onDestroy:''
24
+ },
25
+ modalflag:false
26
+ };
27
+ },
28
+ methods: {
29
+ setConfig(config) {
30
+ this.myConfig = Object.assign({},this.myConfig,config);
31
+ this.setSizeConfig(this.myConfig);
32
+ },
33
+ show() {
34
+ this.modalflag = true;
35
+ },
36
+ load() {
37
+ if (this.myConfig.onLoad) {
38
+ let iframe = this.$refs.bill.$el;
39
+ this.myConfig.onLoad(iframe);
40
+ }
41
+ },
42
+ ondestroy(value) {
43
+ if (!value) {
44
+ if (this.myConfig.onDestroy) {
45
+ this.myConfig.onDestroy(this.myConfig);
46
+ }
47
+ }
48
+ },
49
+ logout() {
50
+ this.$store.dispatch('LogOut').then(() => {
51
+ location.reload(); // 为了重新实例化vue-router对象 避免bug
52
+ });
53
+ },
54
+ getUrl() {
55
+ if (this.base.OmdUrl.memberid) {
56
+ this.$el.setAttribute('src',this.base.OmdUrl.modulecode_99011502 + '&memberid='+this.base.OmdUrl.memberid);
57
+ } else {
58
+ this.logout();
59
+ }
60
+ }
61
+ },
62
+ mounted(){
63
+ //this._setCustomHeight(this.clientHeight);
64
+ //this._setCustomWidth(this.clientWidth);
65
+ }
66
+ };
67
+
68
+ </script>
@@ -0,0 +1,2 @@
1
+ import BillBox from './billbox.vue';
2
+ export default BillBox;
@@ -0,0 +1,184 @@
1
+ <template>
2
+ <div v-show="myConfig.visible">
3
+ <Cascader
4
+ ref="myControl"
5
+ v-model="value"
6
+ :data="cascaderData"
7
+ :size="myConfig.size"
8
+ :disabled="myConfig.readOnly"
9
+ :clearable="myConfig.clearable"
10
+ @on-change="_setFatherValue"
11
+ :placeholder="myConfig.placeholder"
12
+ @on-visible-change="onOpenChange"
13
+ :render-format="format"
14
+ ></Cascader>
15
+ </div>
16
+ </template>
17
+ <script>
18
+ import Base from '@/components/base/controlbase.vue';
19
+ export default {
20
+ name: 'cascaderbox',
21
+ extends: Base,
22
+ data() {
23
+ return {
24
+ myConfig: {
25
+ data: [],
26
+ valueField: 'code',
27
+ textField: 'name',
28
+ parentField: 'pcode',
29
+ codeWithName: false,
30
+ separate: '/',
31
+ defaultValue: '',
32
+ clearable: true,
33
+ readOnly: false,
34
+ },
35
+ value: [],
36
+ };
37
+ },
38
+ computed: {
39
+ cascaderData() {
40
+ return this.toCascaderData();
41
+ },
42
+ },
43
+ methods: {
44
+ fatherValueToValue(value) {
45
+ let separate = this.myConfig.separate;
46
+ if (this.config.separate !== undefined) {
47
+ separate = this.config.separate;
48
+ }
49
+ if (value) {
50
+ return value.split(separate);
51
+ } else {
52
+ if (this.myConfig.defaultValue) {
53
+ return this.myConfig.defaultValue.split(separate);
54
+ } else {
55
+ return [];
56
+ }
57
+ }
58
+ },
59
+ valueToFatherValue() {
60
+ let separate = this.myConfig.separate;
61
+ if (this.config.separate !== undefined) {
62
+ separate = this.config.separate;
63
+ }
64
+ let para = {};
65
+ if (this.value.length > 0) {
66
+ para.value = this.value.join(separate);
67
+ } else {
68
+ para.value = '';
69
+ }
70
+ para.name = this.config.name;
71
+ return para;
72
+ },
73
+ toCascaderData() {
74
+ let pos = {};
75
+ let tree = [];
76
+ let i = 0;
77
+ let rootCode = '0';
78
+ if (this.config.rootCode !== undefined) {
79
+ rootCode = this.config.rootNode;
80
+ }
81
+ let data = this.$Method.copy(this.myConfig.data);
82
+ let tempData = this.$Method.copy(data);
83
+ if (data.length > 0) {
84
+ if (!this.checkData(data)) {
85
+ return [];
86
+ }
87
+ }
88
+ while (data.length !== 0) {
89
+ // 解决找不到节点,而导致的死循环
90
+ const index = tempData.findIndex(item => item[this.myConfig.valueField] === data[i][this.myConfig.parentField]);
91
+
92
+ if (
93
+ data[i][this.myConfig.parentField] === rootCode ||
94
+ index < 0
95
+ ) {
96
+ tree.push(this.setNode(data[i]));
97
+ pos[data[i][this.myConfig.valueField]] = [tree.length - 1];
98
+ data.splice(i, 1);
99
+ i--;
100
+ } else {
101
+ let posArr = pos[data[i][this.myConfig.parentField]];
102
+ if (posArr) {
103
+ let obj = tree[posArr[0]];
104
+ for (var j = 1; j < posArr.length; j++) {
105
+ obj = obj.children[posArr[j]];
106
+ }
107
+ obj.children.push(this.setNode(data[i]));
108
+ pos[data[i][this.myConfig.valueField]] = posArr.concat([
109
+ obj.children.length - 1,
110
+ ]);
111
+ data.splice(i, 1);
112
+ i--;
113
+ }
114
+ }
115
+ i++;
116
+ if (i > data.length - 1) {
117
+ i = 0;
118
+ }
119
+ }
120
+ return tree;
121
+ },
122
+ setNode(temp) {
123
+ let reTemp = this.$Method.copy(temp);
124
+
125
+ if (this.myConfig.codeWithName) {
126
+ reTemp.label =
127
+ '[' +
128
+ reTemp[this.myConfig.valueField] +
129
+ '] ' +
130
+ reTemp[this.myConfig.textField];
131
+ } else {
132
+ reTemp.label = reTemp[this.myConfig.textField];
133
+ }
134
+ reTemp.value = reTemp[this.myConfig.valueField];
135
+
136
+ if (reTemp.children === undefined) {
137
+ reTemp.children = [];
138
+ } else {
139
+ let children = [];
140
+ reTemp.children.forEach(el => {
141
+ children.push(Object.assign({}, el, this.setSelected(el)));
142
+ });
143
+ reTemp.children = children;
144
+ }
145
+ return reTemp;
146
+ },
147
+ checkData(data) {
148
+ let index = data.findIndex(el => el[this.myConfig.valueField] === el[this.myConfig.parentField]);
149
+ if (index > -1) {
150
+ return false;
151
+ }
152
+ return true;
153
+ },
154
+ isOptionShow(temp) {
155
+ if (this.myConfig.readOnly) {
156
+ return true;
157
+ } else {
158
+ return temp.visible;
159
+ }
160
+ },
161
+ onOpenChange(value) {
162
+ if (this.config.onOpenChange) {
163
+ this.config.onOpenChange(value);
164
+ }
165
+ },
166
+ format(labels) {
167
+ let separate = this.myConfig.separate;
168
+ if (this.config.separate !== undefined) {
169
+ separate = this.config.separate;
170
+ }
171
+ return labels.join(separate);
172
+ },
173
+ setFocus(value) {
174
+ if (value) {
175
+ this.$refs.myControl.$refs.input.focus();
176
+ //this.$refs.myControl.$refs.input.autofocus = true;
177
+ } else {
178
+ this.$refs.myControl.$refs.input.blur();
179
+ //this.$refs.myControl.$refs.input.autofocus = false;
180
+ }
181
+ }
182
+ },
183
+ };
184
+ </script>
@@ -0,0 +1,2 @@
1
+ import CascaderBox from './cascaderbox.vue';
2
+ export default CascaderBox;
@@ -0,0 +1,76 @@
1
+ <template>
2
+ <div v-show="myConfig.visible" class="efuture-checkbox" :style="myConfig.divStyle">
3
+ <Checkbox ref="myControl" v-model="value" :size="myConfig.size" :true-value="myConfig.trueValue" :false-value="myConfig.falseValue" :disabled="readOnly||myConfig.readOnly" @on-change="setFatherValue">
4
+ <template v-if="showTextFlag" #default>
5
+ <span style="margin-left: 10px;" v-text="myConfig.showText"/>
6
+ </template>
7
+ </Checkbox>
8
+ </div>
9
+ </template>
10
+ <script>
11
+ import Base from '@/components/base/controlbase.vue';
12
+ export default {
13
+ name: 'checkbox',
14
+ extends: Base,
15
+ data () {
16
+ return {
17
+ myConfig: {
18
+ trueValue:'Y',
19
+ falseValue:'N',
20
+ defaultValue:'N',
21
+ showText:'',
22
+ divStyle:{}
23
+ },
24
+ value:'N',
25
+ showTextFlag: false
26
+ };
27
+ },
28
+ methods: {
29
+ customInit() {
30
+ if (this.myConfig.showText) {
31
+ this.showTextFlag = true;
32
+ }
33
+ },
34
+ watchCustomFatherValue() {
35
+ if (this.value !== this.myConfig.trueValue) {
36
+ this.value = this.myConfig.falseValue;
37
+ this.oldValue = this.myConfig.falseValue;
38
+ }
39
+ },
40
+ setFatherValue(e) {
41
+ let flag = true;
42
+ this.value = e;
43
+ let para = this._valueToFatherValue();
44
+ para.name = this.myConfig.name;
45
+ this.$emit('inputValue', para);
46
+ if (this.myConfig.valueChanged) {
47
+ if (para.value !== this.oldValue) {
48
+ let oldValue = this.oldValue;
49
+ this.$nextTick(() =>{
50
+ flag = this.myConfig.valueChanged(para);
51
+ if (flag === undefined) {
52
+ flag = true;
53
+ }
54
+ if (!flag) {
55
+ this.$nextTick(() => {
56
+ this.value = oldValue;
57
+ let para = this._valueToFatherValue();
58
+ para.name = this.myConfig.name;
59
+ this.$emit('inputValue', para);
60
+ });
61
+ }
62
+ });
63
+ }
64
+ }
65
+ },
66
+ setFocus(value) {
67
+ if (value) {
68
+ this.$refs.myControl.$el.focus();
69
+ } else {
70
+ this.$refs.myControl.$el.blur();
71
+ }
72
+ }
73
+
74
+ }
75
+ };
76
+ </script>
@@ -0,0 +1,104 @@
1
+ <template>
2
+ <div v-show="myConfig.visible" style="float:left" @keydown.enter.stop="multiKeyDown" >
3
+ <CheckboxGroup ref="myControl" v-model="value" :size="myConfig.size" @on-change="setFatherValue" >
4
+ <template v-if="myConfig.vertical">
5
+ <div v-for="(item,index) in myConfig.data" :key="'check_' + index" class="efuture-checkbox">
6
+ <Checkbox :label="item[myConfig.valueField]" :disabled="myConfig.readOnly" > <span style="margin-left: 10px;">{{item[myConfig.textField]}}</span></Checkbox>
7
+ </div>
8
+ </template>
9
+ <template v-else>
10
+ <Checkbox v-for="(item,index) in myConfig.data" :key="'check_' + index" :label="item[myConfig.valueField]" :disabled="myConfig.readOnly" class="efuture-checkbox"><span style="margin-left: 10px;">{{item[myConfig.textField]}}</span></Checkbox>
11
+ </template>
12
+ </CheckboxGroup>
13
+ </div>
14
+ </template>
15
+ <script>
16
+ import Base from '@/components/base/controlbase.vue';
17
+ export default {
18
+ name: 'checkgroupbox',
19
+ extends: Base,
20
+ data () {
21
+ return {
22
+ myConfig: {
23
+ data:[],
24
+ valueField: 'code',
25
+ textField: 'name',
26
+ defaultValue:'',
27
+ separator:',',
28
+ vertical:false,
29
+ divStyle:{}
30
+ },
31
+ value:[]
32
+ };
33
+ },
34
+ methods: {
35
+ fatherValueToValue (value) {
36
+ if (value) {
37
+ return value.split(this.myConfig.separator);
38
+ } else {
39
+ if (this.myConfig.defaultValue) {
40
+ return this.myConfig.defaultValue.split(this.myConfig.separator);
41
+ } else {
42
+ return [];
43
+ }
44
+ }
45
+ },
46
+ valueToFatherValue() {
47
+ let para= {};
48
+ if (this.value.length > 0) {
49
+ para.value = this.value.join(this.myConfig.separator) ;
50
+ } else {
51
+ para.value = '';
52
+ }
53
+ return para;
54
+ },
55
+ setFatherValue() {
56
+ let flag = true;
57
+ let para = this._valueToFatherValue();
58
+ para.name = this.myConfig.name;
59
+ this.$emit('inputValue', para);
60
+ if (this.myConfig.valueChanged) {
61
+ if (para.value !== this.oldValue) {
62
+ let oldValue = this.oldValue;
63
+ this.$nextTick(() =>{
64
+ flag = this.myConfig.valueChanged(para);
65
+ if (flag === undefined) {
66
+ flag = true;
67
+ }
68
+ if (!flag) {
69
+ this.$nextTick(() => {
70
+ this.value = oldValue;
71
+ let para = this._valueToFatherValue();
72
+ para.name = this.myConfig.name;
73
+ this.$emit('inputValue', para);
74
+ });
75
+ }
76
+ });
77
+ }
78
+ }
79
+ },
80
+ multiKeyDown(e) {
81
+ let action = e.target;
82
+ let index = this.$refs.myControl.$children.findIndex(el => el.$el.control === action);
83
+ if (index === -1) {
84
+ index = 0;
85
+ }
86
+ if (index + 1 < this.$refs.myControl.$children.length) {
87
+ this.$refs.myControl.$children[index].$el.blur();
88
+ this.$refs.myControl.$children[index + 1].$el.focus();
89
+ // e.stopPropagation();
90
+ }
91
+ },
92
+ setFocus(value) {
93
+ if (this.$refs.myControl && this.$refs.myControl.$children && this.$refs.myControl.$children.length > 0) {
94
+ if (value) {
95
+ this.$refs.myControl.$children[0].$el.focus();
96
+ } else {
97
+ let num = this.$refs.myControl.$children.length;
98
+ this.$refs.myControl.$children[num - 1].$el.blur();
99
+ }
100
+ }
101
+ }
102
+ }
103
+ };
104
+ </script>
@@ -0,0 +1,3 @@
1
+ import CheckBox from './checkbox.vue';
2
+ import CheckGroupBox from './checkgroupbox.vue';
3
+ export {CheckBox,CheckGroupBox};
@@ -0,0 +1,44 @@
1
+ <template>
2
+ <div v-show="myConfig.visible">
3
+ <ColorPicker ref="myControl" v-model="value" :transfer="myConfig.transfer" :size="myConfig.size" :format="myConfig.format" clearable :disabled="myConfig.readOnly" @on-change="onChange" @on-open-change="onOpenChange" />
4
+ </div>
5
+ </template>
6
+ <script>
7
+ import Base from '@/components/base/controlbase.vue';
8
+ export default {
9
+ name: 'colorbox',
10
+ extends: Base,
11
+ data () {
12
+ return {
13
+ myConfig: {
14
+ format:null,
15
+ defaultValue:null,
16
+ transfer:false
17
+ },
18
+ value:null,
19
+ oldValue:null
20
+ };
21
+ },
22
+ methods: {
23
+ onChange(e) {
24
+ this.$nextTick(() => {
25
+ this.setFatherValue();
26
+ });
27
+ },
28
+ onOpenChange(value) {
29
+ if (this.config.onOpenChange) {
30
+ this.config.onOpenChange(value);
31
+ }
32
+ },
33
+ setFocus(value) {
34
+ if (value) {
35
+ this.$refs.myControl.$refs.input.focus();
36
+ this.$refs.myControl.isFocused = true;
37
+ } else {
38
+ this.$refs.myControl.$refs.input.blur();
39
+ this.$refs.myControl.isFocused = false;
40
+ }
41
+ }
42
+ }
43
+ };
44
+ </script>
@@ -0,0 +1,2 @@
1
+ import ColorBox from './colorbox.vue';
2
+ export default ColorBox;