eoss-mobiles 0.1.78 → 0.1.80

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.
@@ -86,8 +86,10 @@ export default {
86
86
  selected: null,
87
87
  pageChange: false,
88
88
  tableHeight: 'auto',
89
+ validateSuccess:true,
89
90
  options: {},
90
91
  theadData: [],
92
+ errForm:[],
91
93
  list: null,
92
94
  wheres: {},
93
95
  config: {
@@ -174,13 +176,37 @@ export default {
174
176
  }
175
177
  },
176
178
  methods: {
179
+ validValue(val){
180
+ val && this.$toast(val)
181
+ this.validateSuccess = !val
182
+ },
183
+ validate() {
184
+ let success = true;
185
+ const _that = this;
186
+ if (_that.form) {
187
+ _that.theads.map(item => {
188
+ if (item.rules && item.rules.required) {
189
+ this.datas.map(x => {
190
+ if (!x[item.field] && !item.rules.validator) {
191
+ _that.$toast(item.rules.message)
192
+ success = false;
193
+ } else if (item.rules.validator) {
194
+ item.rules.validator(x[item.field],_that.validValue);
195
+ success = _that.validateSuccess
196
+ }
197
+ });
198
+ }
199
+ });
200
+ }
201
+ return success;
202
+ },
177
203
  toggleAllSelection() {
178
204
  this.$refs.oaTable.toggleAllSelection();
179
205
  },
180
- toggleRowSelection(newVal){
206
+ toggleRowSelection(newVal) {
181
207
  newVal.forEach(row => {
182
- this.$refs.oaTable.toggleRowSelection(row, true);
183
- });
208
+ this.$refs.oaTable.toggleRowSelection(row, true);
209
+ });
184
210
  },
185
211
  checkSelect(newVal) {
186
212
  if (!this.isFirsetCheck && newVal) {
@@ -627,6 +653,7 @@ export default {
627
653
  h(
628
654
  'em-table-column',
629
655
  {
656
+ ref: 'emTableColum',
630
657
  props: {
631
658
  name: this.name,
632
659
  item: item,
@@ -710,6 +737,7 @@ export default {
710
737
  if (items.type === 'index') {
711
738
  dom.push(
712
739
  h('em-table-column', {
740
+ ref: 'emTableColum',
713
741
  props: util.extend(
714
742
  {},
715
743
  {
@@ -728,6 +756,7 @@ export default {
728
756
  } else {
729
757
  dom.push(
730
758
  h('em-table-column', {
759
+ ref: 'emTableColum',
731
760
  props: util.extend(
732
761
  {},
733
762
  {
@@ -752,6 +781,7 @@ export default {
752
781
  h(
753
782
  'em-table-column',
754
783
  {
784
+ ref: 'emTableColum',
755
785
  props: {
756
786
  name: this.name,
757
787
  prop: items[this.valueKey],
@@ -43,80 +43,114 @@
43
43
  <template v-else>{{ format(scope.row, item) }}</template>
44
44
  </template>
45
45
  <template v-else>
46
- <section v-if="item.type === 'slot'">
47
- <slot :name="item.prop"></slot>
48
- </section>
49
- <em-picker
50
- v-if="item.type === 'select'"
51
- v-bind="exclAttribute({ data: item, attrs: 'width' })"
52
- :sysAppCode="
53
- item.sysAppCode && scope.$index == 0 ? item.sysAppCode : ''
54
- "
55
- :url="item.url && scope.$index == 0 ? item.url : ''"
56
- @tableColumns="getTableColumns($event, item.field || item.prop)"
57
- v-model="scope.row[item.field]"
58
- isTable
59
- hideLabel
60
- :ajax="false"
61
- :columns="
62
- item.optionData
63
- ? scope.row[item.optionData]
64
- : newOptionData[item.field || item.prop]
65
- "
66
- @confirm="
67
- value => {
68
- handleChange({
69
- name: item.field || item.prop,
70
- value: value,
71
- data: scope.row
72
- });
73
- }
74
- "
75
- />
76
- <template
77
- v-else-if="
78
- item.type === 'text' ||
79
- item.type === 'textarea' ||
80
- item.type == 'number' ||
81
- item.type == 'digit'
82
- "
83
- >
84
- <template v-if="item.lazy">
85
- <input
86
- v-if="item.type === 'text'"
87
- class="el-input__inner"
88
- :label="item.title"
89
- v-bind="exclAttribute({ data: item, attrs: 'width' })"
90
- v-model.lazy="scope.row[item.field]"
91
- @blur="
92
- event => {
93
- handleBlur({ item: item, event: event, data: scope.row });
94
- }
95
- "
96
- @focus="
97
- event => {
98
- handleFocus({
99
- item: item,
100
- event: event,
101
- data: scope.row
102
- });
103
- }
104
- "
105
- @change="
106
- value => {
107
- handleChange({
108
- name: item.field || item.prop,
109
- value: value,
110
- data: scope.row
111
- });
112
- }
113
- "
114
- />
115
- <textarea
46
+ <section v-if="item.type === 'slot'">
47
+ <slot :name="item.prop"></slot>
48
+ </section>
49
+ <em-picker
50
+ v-if="item.type === 'select'"
51
+ v-bind="exclAttribute({ data: item, attrs: 'width' })"
52
+ :sysAppCode="
53
+ item.sysAppCode && scope.$index == 0 ? item.sysAppCode : ''
54
+ "
55
+ :url="item.url && scope.$index == 0 ? item.url : ''"
56
+ @tableColumns="getTableColumns($event, item.field || item.prop)"
57
+ v-model="scope.row[item.field]"
58
+ isTable
59
+ hideLabel
60
+ :ajax="false"
61
+ :columns="
62
+ item.optionData
63
+ ? scope.row[item.optionData]
64
+ : newOptionData[item.field || item.prop]
65
+ "
66
+ @confirm="
67
+ value => {
68
+ handleChange({
69
+ name: item.field || item.prop,
70
+ value: value,
71
+ data: scope.row
72
+ });
73
+ }
74
+ "
75
+ />
76
+ <template
77
+ v-else-if="
78
+ item.type === 'text' ||
79
+ item.type === 'textarea' ||
80
+ item.type == 'number' ||
81
+ item.type == 'digit'
82
+ "
83
+ >
84
+ <template v-if="item.lazy">
85
+ <input
86
+ v-if="item.type === 'text'"
87
+ ref="emInput"
88
+ class="el-input__inner"
89
+ :label="item.title"
90
+ v-bind="exclAttribute({ data: item, attrs: 'width' })"
91
+ v-model.lazy="scope.row[item.field]"
92
+ @blur="
93
+ event => {
94
+ handleBlur({ item: item, event: event, data: scope.row });
95
+ }
96
+ "
97
+ @focus="
98
+ event => {
99
+ handleFocus({
100
+ item: item,
101
+ event: event,
102
+ data: scope.row
103
+ });
104
+ }
105
+ "
106
+ @change="
107
+ value => {
108
+ handleChange({
109
+ name: item.field || item.prop,
110
+ value: value,
111
+ data: scope.row
112
+ });
113
+ }
114
+ "
115
+ />
116
+ <textarea
117
+ v-else
118
+ class="el-textarea__inner"
119
+ v-bind="exclAttribute({ data: item, attrs: 'width' })"
120
+ v-model.lazy="scope.row[item.field]"
121
+ @blur="
122
+ event => {
123
+ handleBlur({ item: item, event: event, data: scope.row });
124
+ }
125
+ "
126
+ @focus="
127
+ event => {
128
+ handleFocus({
129
+ item: item,
130
+ event: event,
131
+ data: scope.row
132
+ });
133
+ }
134
+ "
135
+ @change="
136
+ value => {
137
+ handleChange({
138
+ name: item.field || item.prop,
139
+ value: value,
140
+ data: scope.row
141
+ });
142
+ }
143
+ "
144
+ ></textarea>
145
+ </template>
146
+ <em-input
116
147
  v-else
117
- class="el-textarea__inner"
148
+ ref="emInput"
149
+ class="em-table-input"
118
150
  v-bind="exclAttribute({ data: item, attrs: 'width' })"
119
- v-model.lazy="scope.row[item.field]"
151
+ v-model="scope.row[item.field]"
152
+ :label="item.title"
153
+ hideLabel
120
154
  @blur="
121
155
  event => {
122
156
  handleBlur({ item: item, event: event, data: scope.row });
@@ -124,11 +158,7 @@
124
158
  "
125
159
  @focus="
126
160
  event => {
127
- handleFocus({
128
- item: item,
129
- event: event,
130
- data: scope.row
131
- });
161
+ handleFocus({ item: item, event: event, data: scope.row });
132
162
  }
133
163
  "
134
164
  @change="
@@ -140,25 +170,76 @@
140
170
  });
141
171
  }
142
172
  "
143
- ></textarea>
173
+ ></em-input>
144
174
  </template>
145
- <em-input
146
- v-else
147
- class="em-table-input"
175
+ <em-date
176
+ v-else-if="
177
+ item.date ||
178
+ item.type == 'date' ||
179
+ item.type == 'year' ||
180
+ item.type == 'year-month' ||
181
+ item.type == 'month-day' ||
182
+ item.type == 'time' ||
183
+ item.type == 'datetimeSecond' ||
184
+ item.type == 'datetime' ||
185
+ item.type == 'datehour'
186
+ "
148
187
  v-bind="exclAttribute({ data: item, attrs: 'width' })"
149
188
  v-model="scope.row[item.field]"
150
- :label="item.title"
151
189
  hideLabel
152
- @blur="
153
- event => {
154
- handleBlur({ item: item, event: event, data: scope.row });
190
+ :joinStr="item.joinStr || '-'"
191
+ @confirm="
192
+ value => {
193
+ handleChange({
194
+ name: item.field || item.prop,
195
+ value: value,
196
+ data: scope.row
197
+ });
155
198
  }
156
199
  "
157
- @focus="
158
- event => {
159
- handleFocus({ item: item, event: event, data: scope.row });
200
+ />
201
+ <em-radio-group
202
+ v-else-if="item.type === 'radio'"
203
+ v-bind="exclAttribute({ data: item, attrs: 'width' })"
204
+ v-model="scope.row[item.field]"
205
+ :data="newOptionData[item.field || item.prop]"
206
+ isTable
207
+ :ajax="false"
208
+ @tableColumns="getTableColumns($event, item.field || item.prop)"
209
+ @change="
210
+ value => {
211
+ handleChange({
212
+ name: item.field || item.prop,
213
+ value: value,
214
+ data: scope.row,
215
+ type: item.type
216
+ });
160
217
  }
161
218
  "
219
+ />
220
+ <em-checkbox-group
221
+ v-else-if="item.type === 'checkbox'"
222
+ v-bind="exclAttribute({ data: item, attrs: 'width' })"
223
+ v-model="scope.row[item.field]"
224
+ :data="newOptionData[item.field || item.prop]"
225
+ :ajax="false"
226
+ isTable
227
+ @tableColumns="getTableColumns($event, item.field || item.prop)"
228
+ @change="
229
+ value => {
230
+ handleChange({
231
+ name: item.field || item.prop,
232
+ value: value,
233
+ data: scope.row,
234
+ type: item.type
235
+ });
236
+ }
237
+ "
238
+ />
239
+ <em-switch
240
+ v-else-if="item.type === 'switch'"
241
+ v-bind="exclAttribute({ data: item, attrs: 'width' })"
242
+ v-model="scope.row[item.field]"
162
243
  @change="
163
244
  value => {
164
245
  handleChange({
@@ -168,103 +249,24 @@
168
249
  });
169
250
  }
170
251
  "
171
- ></em-input>
172
- </template>
173
- <em-date
174
- v-else-if="
175
- item.date ||
176
- item.type == 'date' ||
177
- item.type == 'year' ||
178
- item.type == 'year-month' ||
179
- item.type == 'month-day' ||
180
- item.type == 'time' ||
181
- item.type == 'datetimeSecond' ||
182
- item.type == 'datetime' ||
183
- item.type == 'datehour'
184
- "
185
- v-bind="exclAttribute({ data: item, attrs: 'width' })"
186
- v-model="scope.row[item.field]"
187
- hideLabel
188
- :joinStr="item.joinStr || '-'"
189
- @confirm="
190
- value => {
191
- handleChange({
192
- name: item.field || item.prop,
193
- value: value,
194
- data: scope.row
195
- });
196
- }
197
- "
198
- />
199
- <em-radio-group
200
- v-else-if="item.type === 'radio'"
201
- v-bind="exclAttribute({ data: item, attrs: 'width' })"
202
- v-model="scope.row[item.field]"
203
- :data="newOptionData[item.field || item.prop]"
204
- isTable
205
- :ajax="false"
206
- @tableColumns="getTableColumns($event, item.field || item.prop)"
207
- @change="
208
- value => {
209
- handleChange({
210
- name: item.field || item.prop,
211
- value: value,
212
- data: scope.row,
213
- type: item.type
214
- });
215
- }
216
- "
217
- />
218
- <em-checkbox-group
219
- v-else-if="item.type === 'checkbox'"
220
- v-bind="exclAttribute({ data: item, attrs: 'width' })"
221
- v-model="scope.row[item.field]"
222
- :data="newOptionData[item.field || item.prop]"
223
- :ajax="false"
224
- isTable
225
- @tableColumns="getTableColumns($event, item.field || item.prop)"
226
- @change="
227
- value => {
228
- handleChange({
229
- name: item.field || item.prop,
230
- value: value,
231
- data: scope.row,
232
- type: item.type
233
- });
234
- }
235
- "
236
- />
237
- <em-switch
238
- v-else-if="item.type === 'switch'"
239
- v-bind="exclAttribute({ data: item, attrs: 'width' })"
240
- v-model="scope.row[item.field]"
241
- @change="
242
- value => {
243
- handleChange({
244
- name: item.field || item.prop,
245
- value: value,
246
- data: scope.row
247
- });
248
- }
249
- "
250
- />
251
- <em-selector
252
- v-else-if="item.type == 'selector'"
253
- v-bind="exclAttribute({ data: item, attrs: 'width' })"
254
- v-model="scope.row[item.field]"
255
- :label="item.title"
256
- hide-label
257
- @change="
258
- value => {
259
- handleChange({
260
- name: item.field || item.prop,
261
- value: value.list,
262
- data: scope.row
263
- });
264
- }
265
- "
266
- />
267
- <!-- <el-form-item
252
+ />
253
+ <em-selector
254
+ v-else-if="item.type == 'selector'"
255
+ v-bind="exclAttribute({ data: item, attrs: 'width' })"
256
+ v-model="scope.row[item.field]"
257
+ :label="item.title"
258
+ hide-label
259
+ @change="
260
+ value => {
261
+ handleChange({
262
+ name: item.field || item.prop,
263
+ value: value.list,
264
+ data: scope.row
265
+ });
266
+ }
267
+ "
268
+ />
269
+ <!-- <el-form-item
268
270
  :name="name"
269
271
  :prop="item.field"
270
272
  :rules="item.rules"
@@ -627,9 +629,13 @@ export default {
627
629
  }
628
630
  },
629
631
  methods: {
632
+ handleFailed(val){
633
+ console.log(this.$refs.emInput,'Failed')
634
+ console.log(this.$refs,'Failed')
635
+ },
630
636
  getValue(row) {
631
637
  let str;
632
- const { field, prop, valueKey, labelKey,type } = this.item;
638
+ const { field, prop, valueKey, labelKey, type } = this.item;
633
639
  if (this.newOptionData[field || prop]) {
634
640
  if (Array.isArray(row[field || prop])) {
635
641
  let val = [];
@@ -657,16 +663,16 @@ export default {
657
663
  }
658
664
  } else if (typeof row[field || prop] == 'string') {
659
665
  str = row[field || prop];
660
- } else if(type == 'number'){
661
- str = row[field || prop]
662
- }else {
666
+ } else if (type == 'number') {
667
+ str = row[field || prop];
668
+ } else {
663
669
  if (
664
670
  Array.isArray(row[field || prop]) &&
665
671
  row[field || prop].length == 0
666
672
  ) {
667
673
  str = '';
668
674
  } else {
669
- str = row[field || prop]
675
+ str = row[field || prop];
670
676
  // str = row[field || prop] ? '是' : '否';
671
677
  }
672
678
  }
package/src/index.js CHANGED
@@ -91,7 +91,7 @@ if (typeof window !== 'undefined' && window.Vue) {
91
91
  }
92
92
 
93
93
  export default {
94
- version: '0.1.78',
94
+ version: '0.1.80',
95
95
  install,
96
96
  Button,
97
97
  ButtonGroup,