centaline-data-driven 1.1.3 → 1.1.7

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 (38) hide show
  1. package/.vs/Centaline.Front_End.DataDriven/DesignTimeBuild/.dtbcache.v2 +0 -0
  2. package/package.json +1 -1
  3. package/src/Form.vue +2 -2
  4. package/src/SearchList.vue +1 -1
  5. package/src/centaline/css/common.css +49 -1
  6. package/src/centaline/dialogList/src/dialog.vue +9 -6
  7. package/src/centaline/dynamicCheckbox/src/dynamicCheckbox.vue +26 -26
  8. package/src/centaline/dynamicComboBoxWithTextBox/src/dynamicComboBoxWithTextBox.vue +98 -98
  9. package/src/centaline/dynamicD/src/dynamicD.vue +20 -20
  10. package/src/centaline/dynamicDtd/src/dynamicDtd.vue +40 -40
  11. package/src/centaline/dynamicForm/src/dynamicForm.vue +1 -0
  12. package/src/centaline/dynamicInputNumber/src/dynamicInputNumber.vue +27 -27
  13. package/src/centaline/dynamicIti/src/dynamicIti.vue +66 -66
  14. package/src/centaline/dynamicL/src/dynamicL.vue +15 -15
  15. package/src/centaline/dynamicMo/src/dynamicMo.vue +59 -59
  16. package/src/centaline/dynamicRichText/src/dynamicRichText.vue +8 -8
  17. package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +2 -2
  18. package/src/centaline/dynamicSearchList/src/dynamicTableToolbar.vue +15 -15
  19. package/src/centaline/dynamicSeg/src/dynamicSeg.vue +23 -23
  20. package/src/centaline/dynamicSo/src/dynamicSo.vue +48 -48
  21. package/src/centaline/dynamicSos/src/dynamicSos.vue +55 -55
  22. package/src/centaline/dynamicSw/src/dynamicSw.vue +20 -20
  23. package/src/centaline/dynamicT/src/dynamicT.vue +20 -20
  24. package/src/centaline/dynamicTags/src/dynamicTags.vue +62 -62
  25. package/src/centaline/dynamicTimeSelect/src/dynamicTimeSelect.vue +33 -33
  26. package/src/centaline/loader/src/ctl/Base.js +24 -25
  27. package/src/centaline/loader/src/ctl/Button.js +1 -0
  28. package/src/centaline/loader/src/ctl/File.js +2 -4
  29. package/src/centaline/loader/src/ctl/Form.js +12 -4
  30. package/src/centaline/loader/src/ctl/Mo.js +6 -6
  31. package/src/centaline/loader/src/ctl/SearchScreen.js +17 -12
  32. package/src/centaline/loader/src/ctl/SearchTable.js +15 -4
  33. package/src/centaline/loader/src/ctl/So.js +10 -10
  34. package/src/centaline/loader/src/ctl/lib/Enum.js +80 -80
  35. package/src/centaline/loader/src/ctl/lib/LibFunction.js +24 -24
  36. package/src/main.js +2 -2
  37. package/wwwroot/static/centaline/centaline-data-driven.js +2 -2
  38. package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
@@ -1,45 +1,45 @@
1
- <template>
2
- <div class="field-top">
3
- <div style="width:100%;display:flex">
4
- <div style="flex:1" class="ct-so" :class="[(focus || showDrop)?'isfocus':'',model.attrs.size?'ct-so-'+model.attrs.size:''
5
- ]" @mouseover="mouseOverHandle" @mouseout="mouseOutHandle">
6
- <div :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']">
7
- <div v-if="model.showLabel && model.label" class="el-input-group__prepend" :class="[model.labelClass]">
8
- {{model.label}}
9
- </div>
10
- <el-popover ref="pop" placement="bottom-start" v-model="showDrop" :class="[model.showLabel?'showLabel':'']" :trigger="(model.popupSearchListType > 0 || model.lock) ? 'manual' : 'click'">
11
- <div>
12
- <div>
13
- <el-input ref="searchInput" :size="model.attrs.size" suffix-icon="el-icon-search" v-model="searchText" @input="searchInputHandle"></el-input>
14
- </div>
15
- <ctSelectOptionVertical :model="model" @click="selectOption($event)"></ctSelectOptionVertical>
16
- </div>
17
- <input slot="reference" v-bind="model.attrs" readonly="readonly" v-model="model.text" :placeholder="soPlaceholder"
18
- ref="ct-input" :style="{height:inputHeight + 'px','line-height':inputLineHeight + 'px'}"
19
- @focus="focusHandle" @blur="blurHandle" @click="clickHandle" @input="inputHandler($event)" @change="changeHandler($event)"
20
- :disabled="model.lock" :class="model.lock ? 'ct-is-disabled' : 'ct-input_inner'" />
21
- </el-popover>
22
- <span v-if="!model.lock" class="el-input__suffix" @click="clickHandle" :class="[model.attrs.size?'el-input--'+model.attrs.size:'']">
23
- <span v-if="showClear === false" class="el-input__suffix-inner">
24
- <i class="el-select__caret el-input__icon el-icon-arrow-up" :class="{'is-reverse':showDrop}"></i>
25
- </span>
26
- <span v-if="showClear === true" class="el-input__suffix-inner ct-close">
27
- <i class="el-select__caret el-input__icon el-icon-circle-close is-show-close" @click="clearClickHandle($event)"></i>
28
- </span>
29
- </span>
30
- </div>
31
- </div>
32
- <transition name="el-fade-in">
33
- <span v-show="!valid" class="errorMessage">
34
- {{validMessage}}
35
- </span>
36
- </transition>
37
- <div v-if="!model.lock && model.popupSearchListType === 1">
38
- <el-button v-if="!model.moreActionBtnName" size="mini" type="primary" icon="el-icon-search" @click="popupSearchListHandle"></el-button>
39
- <el-button v-else size="mini" type="primary" @click="popupSearchListHandle">{{model.moreActionBtnName}}</el-button>
40
- </div>
41
- </div>
42
- </div>
1
+ <template>
2
+ <div class="field-top">
3
+ <div style="width:100%;display:flex">
4
+ <div style="flex:1" class="ct-so" :class="[(focus || showDrop)?'isfocus':'',model.attrs.size?'ct-so-'+model.attrs.size:''
5
+ ]" @mouseover="mouseOverHandle" @mouseout="mouseOutHandle">
6
+ <div :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']">
7
+ <div v-if="model.showLabel && model.label" class="el-input-group__prepend" :class="[model.labelClass]">
8
+ {{model.label}}
9
+ </div>
10
+ <el-popover ref="pop" placement="bottom-start" v-model="showDrop" :class="[model.showLabel?'showLabel':'']" :trigger="(model.popupSearchListType > 0 || model.lock) ? 'manual' : 'click'">
11
+ <div>
12
+ <div>
13
+ <el-input ref="searchInput" :size="model.attrs.size" suffix-icon="el-icon-search" v-model="searchText" @input="searchInputHandle"></el-input>
14
+ </div>
15
+ <ctSelectOptionVertical :model="model" @click="selectOption($event)"></ctSelectOptionVertical>
16
+ </div>
17
+ <input slot="reference" v-bind="model.attrs" readonly="readonly" v-model="model.text" :placeholder="soPlaceholder"
18
+ ref="ct-input" :style="{height:inputHeight + 'px','line-height':inputLineHeight + 'px'}"
19
+ @focus="focusHandle" @blur="blurHandle" @click="clickHandle" @input="inputHandler($event)" @change="changeHandler($event)"
20
+ :disabled="model.lock" :class="model.lock ? 'ct-is-disabled' : 'ct-input_inner'" />
21
+ </el-popover>
22
+ <span v-if="!model.lock" class="el-input__suffix" @click="clickHandle" :class="[model.attrs.size?'el-input--'+model.attrs.size:'']">
23
+ <span v-if="showClear === false" class="el-input__suffix-inner">
24
+ <i class="el-select__caret el-input__icon el-icon-arrow-up" :class="{'is-reverse':showDrop}"></i>
25
+ </span>
26
+ <span v-if="showClear === true" class="el-input__suffix-inner ct-close">
27
+ <i class="el-select__caret el-input__icon el-icon-circle-close is-show-close" @click="clearClickHandle($event)"></i>
28
+ </span>
29
+ </span>
30
+ </div>
31
+ </div>
32
+ <transition name="el-fade-in">
33
+ <span v-show="!valid" class="errorMessage">
34
+ {{validMessage}}
35
+ </span>
36
+ </transition>
37
+ <div v-if="!model.lock && model.popupSearchListType === 1">
38
+ <el-button v-if="!model.moreActionBtnName" size="mini" type="primary" icon="el-icon-search" @click="popupSearchListHandle"></el-button>
39
+ <el-button v-else size="mini" type="primary" @click="popupSearchListHandle">{{model.moreActionBtnName}}</el-button>
40
+ </div>
41
+ </div>
42
+ </div>
43
43
  </template>
44
44
 
45
45
  <script>
@@ -171,26 +171,26 @@
171
171
  }
172
172
  if (this.model.popupSearchListType === 1) {
173
173
  this.popupSearchListHandle();
174
- }
175
- //else if (this.model.popupSearchListType === 1) {
174
+ }
175
+ //else if (this.model.popupSearchListType === 1) {
176
176
  // //todo 以后可加上即可选单搜索 又可高级搜索
177
177
  //}
178
- else {
178
+ else {
179
179
  if (this.model.paramName) {
180
180
  this.$set(this, 'showDrop', !this.showDrop);
181
181
  if (this.showDrop) {
182
182
  this.getOptions();
183
183
  }
184
- this.focusHandle();
185
- }
186
- else if ((this.model.popupSearchListType === 0)) {
187
- this.$message.warning("请配置参数paramName1");
184
+ this.focusHandle();
185
+ }
186
+ else if ((this.model.popupSearchListType === 0)) {
187
+ this.$message.warning("请配置参数paramName1");
188
188
  }
189
189
  }
190
190
  },
191
191
  popupSearchListHandle: function () {
192
- var self = this;
193
- self.$emit('popupSearchList', true, self.model, self.model.moreActionRouter, (option) => {
192
+ var self = this;
193
+ self.$emit('popupSearchList', true, self.model, self.model.moreActionRouter, (option) => {
194
194
  if (option) {
195
195
  self.model.value = option[self.model.optionAttrs.value];
196
196
  self.model.text = option[self.model.optionAttrs.label];
@@ -200,7 +200,7 @@
200
200
  });
201
201
 
202
202
  self.soChange();
203
- }
203
+ }
204
204
  });
205
205
  },
206
206
  getOptionText: function (value) {
@@ -220,10 +220,10 @@
220
220
  return "success";
221
221
  }
222
222
  },
223
- selectOption(value) {
223
+ selectOption(value) {
224
224
  if (this.model.value === value) {
225
- //this.model.value = '';
226
- this.$set(this, 'showDrop', false);
225
+ //this.model.value = '';
226
+ this.$set(this, 'showDrop', false);
227
227
  return;
228
228
  }
229
229
  else {
@@ -1,23 +1,23 @@
1
- <template>
2
- <div class="field-top">
3
- <div v-if="model !== null" class="ct-Sw">
4
- <div :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']">
5
- <div v-if="model.showLabel && model.label" class="el-input-group__prepend" :class="[model.labelClass]">
6
- {{model.label}}
7
- </div>
8
- <div class="ct-radios">
9
- <el-switch v-model="model.value" class="ct-switch" :disabled="model.lock"
10
- @change="changeSwitchHandler">
11
- </el-switch>
12
- </div>
13
- </div>
14
- <transition name="el-fade-in">
15
- <span v-show="!valid" class="errorMessage">
16
- {{validMessage}}
17
- </span>
18
- </transition>
19
- </div>
20
- </div>
1
+ <template>
2
+ <div class="field-top">
3
+ <div v-if="model !== null" class="ct-Sw">
4
+ <div :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']">
5
+ <div v-if="model.showLabel && model.label" class="el-input-group__prepend" :class="[model.labelClass]">
6
+ {{model.label}}
7
+ </div>
8
+ <div class="ct-radios">
9
+ <el-switch v-model="model.value" class="ct-switch" :disabled="model.lock"
10
+ @change="changeSwitchHandler">
11
+ </el-switch>
12
+ </div>
13
+ </div>
14
+ <transition name="el-fade-in">
15
+ <span v-show="!valid" class="errorMessage">
16
+ {{validMessage}}
17
+ </span>
18
+ </transition>
19
+ </div>
20
+ </div>
21
21
  </template>
22
22
  <script>
23
23
  import dynamicElement from '../../mixins/dynamicElement';
@@ -1,23 +1,23 @@
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
- <span>{{model.label}}</span>
6
- </div>
7
- <el-input :title="model.lock?model.value:''" :type="model.inputType" v-model="model.value" v-bind="model.attrs" @input="inputHandler($event)" @change="changeHandler($event)"
8
- class="ct-flex-div-input" :class="[model.showLabel?'showLabel':'',!valid?'inputError':'']" :disabled="model.lock" :rows="model.rows"
9
- :readonly="model.readonly" :show-password="model.isPassword" autocomplete="on">
10
- <span slot="suffix" v-if="model.unitName" class="ct-unitname">{{model.unitName}}</span>
11
- </el-input>
12
- <span v-if="model.sufLabel" class="spanMessage ct-flex-div-span">{{model.sufLabel}}</span>
13
- <transition name="el-fade-in" class="ct-flex-div-span">
14
- <span v-show="!valid" class="errorMessage ">
15
- {{validMessage}}
16
- </span>
17
- </transition>
18
- <ct-quick-input v-if="!model.lock && model.paramName" class="ct-flex-div-span" :pn="model.paramName" :action="api" @input="model.value=$event"></ct-quick-input>
19
- </div>
20
- </div>
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
+ <span>{{model.label}}</span>
6
+ </div>
7
+ <el-input :title="model.lock?model.value:''" :type="model.inputType" v-model="model.value" v-bind="model.attrs" @input="inputHandler($event)" @change="changeHandler($event)"
8
+ class="ct-flex-div-input" :class="[model.showLabel?'showLabel':'',!valid?'inputError':'']" :disabled="model.lock" :rows="model.rows"
9
+ :readonly="model.readonly" :show-password="model.isPassword" autocomplete="on">
10
+ <span slot="suffix" v-if="model.unitName" class="ct-unitname">{{model.unitName}}</span>
11
+ </el-input>
12
+ <span v-if="model.sufLabel" class="spanMessage ct-flex-div-span">{{model.sufLabel}}</span>
13
+ <transition name="el-fade-in" class="ct-flex-div-span">
14
+ <span v-show="!valid" class="errorMessage ">
15
+ {{validMessage}}
16
+ </span>
17
+ </transition>
18
+ <ct-quick-input v-if="!model.lock && model.paramName" class="ct-flex-div-span" :pn="model.paramName" :action="api" @input="model.value=$event"></ct-quick-input>
19
+ </div>
20
+ </div>
21
21
  </template>
22
22
  <script>
23
23
  import dynamicElement from '../../mixins/dynamicElement';
@@ -1,56 +1,56 @@
1
- <template>
2
- <div class="field-top">
3
- <div class="ct-tags" style="width:100%;display:flex">
4
- <div style="flex:1;display:flex" :class="[(focus || showDrop)?'isfocus':'',model.attrs.size?'ct-tags-'+model.attrs.size:''
5
- ]" @mouseover="mouseOverHandle" @mouseout="mouseOutHandle">
6
- <div style="flex:1;position: relative;" :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']">
7
- <div v-if="model.showLabel && model.label" class="el-input-group__prepend" :class="[model.labelClass]">
8
- {{model.label}}
9
- </div>
10
- <div>
11
- <div ref="cttags" class="el-select__tags" :style="{'max-width':tagsWidth + 'px'}" @click="clickHandle">
12
- <span>
13
- <span class="ct-tags-value-label">{{model.valueLabel}}</span>
14
- <span class="el-tag el-tag--info" :class="[model.attrs.size?'el-tag--'+model.attrs.size:'']" v-for="item in model.value">
15
- <span class="el-select__tags-text">{{getOptionText(item)}}</span>
16
- <i v-if="!model.lock" class="el-tag__close el-icon-close" @click="deleteOption(item,$event)"></i>
17
- </span>
18
- </span>
19
- </div>
20
- <el-popover ref="pop" placement="bottom-start" v-model="showDrop" :class="[model.showLabel1?'showLabel':'']" :trigger="(model.popupSearchListType === 2 || model.lock) ? 'manual' : 'click'">
21
- <div>
22
- <div>
23
- <el-input ref="searchInput" :size="model.attrs.size" suffix-icon="el-icon-search" v-model="searchText" @input="searchInputHandle"></el-input>
24
- </div>
25
- <ctSelectOptionVertical :model="model" @click="selectOption($event)"></ctSelectOptionVertical>
26
- </div>
27
- <input slot="reference" v-bind="model.attrs" :placeholder="tagsPlaceholder"
28
- ref="ct-input" class="" :style="{height:inputHeight + 'px','line-height':inputLineHeight + 'px'}"
29
- :class="model.lock ? 'ct-is-disabled' : 'ct-input_inner'"
30
- @focus="focusHandle" @blur="blurHandle" @click="clickHandle"
31
- :disabled="model.lock" />
32
- </el-popover>
33
- <span v-if="!model.lock" class="el-input__suffix" @click="clickHandle" :class="[model.attrs.size?'el-input--'+model.attrs.size:'']">
34
- <span v-if="showClear === false" class="el-input__suffix-inner">
35
- <i class="el-select__caret el-input__icon el-icon-arrow-up" :class="{'is-reverse':showDrop}"></i>
36
- </span>
37
- <span v-if="showClear === true" class="el-input__suffix-inner ct-close">
38
- <i class="el-select__caret el-input__icon el-icon-circle-close is-show-close" @click="clearClickHandle($event)"></i>
39
- </span>
40
- </span>
41
- </div>
42
- </div>
43
- <span v-show="!valid" class="errorMessage">
44
- {{validMessage}}
45
- </span>
46
- </div>
47
-
48
- <div v-if="model.popupSearchListType === 1 && !model.lock">
49
- <el-button v-if="!model.moreActionBtnName" size="mini" type="primary" icon="el-icon-search" @click="popupSearchListHandle"></el-button>
50
- <el-button v-else size="mini" type="primary" @click="popupSearchListHandle">{{model.moreActionBtnName}}</el-button>
51
- </div>
52
- </div>
53
- </div>
1
+ <template>
2
+ <div class="field-top">
3
+ <div class="ct-tags" style="width:100%;display:flex">
4
+ <div style="flex:1;display:flex" :class="[(focus || showDrop)?'isfocus':'',model.attrs.size?'ct-tags-'+model.attrs.size:''
5
+ ]" @mouseover="mouseOverHandle" @mouseout="mouseOutHandle">
6
+ <div style="flex:1;position: relative;" :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'']">
7
+ <div v-if="model.showLabel && model.label" class="el-input-group__prepend" :class="[model.labelClass]">
8
+ {{model.label}}
9
+ </div>
10
+ <div>
11
+ <div ref="cttags" class="el-select__tags" :style="{'max-width':tagsWidth + 'px'}" @click="clickHandle">
12
+ <span>
13
+ <span class="ct-tags-value-label">{{model.valueLabel}}</span>
14
+ <span class="el-tag el-tag--info" :class="[model.attrs.size?'el-tag--'+model.attrs.size:'']" v-for="item in model.value">
15
+ <span class="el-select__tags-text">{{getOptionText(item)}}</span>
16
+ <i v-if="!model.lock" class="el-tag__close el-icon-close" @click="deleteOption(item,$event)"></i>
17
+ </span>
18
+ </span>
19
+ </div>
20
+ <el-popover ref="pop" placement="bottom-start" v-model="showDrop" :class="[model.showLabel1?'showLabel':'']" :trigger="(model.popupSearchListType === 2 || model.lock) ? 'manual' : 'click'">
21
+ <div>
22
+ <div>
23
+ <el-input ref="searchInput" :size="model.attrs.size" suffix-icon="el-icon-search" v-model="searchText" @input="searchInputHandle"></el-input>
24
+ </div>
25
+ <ctSelectOptionVertical :model="model" @click="selectOption($event)"></ctSelectOptionVertical>
26
+ </div>
27
+ <input slot="reference" v-bind="model.attrs" :placeholder="tagsPlaceholder"
28
+ ref="ct-input" class="" :style="{height:inputHeight + 'px','line-height':inputLineHeight + 'px'}"
29
+ :class="model.lock ? 'ct-is-disabled' : 'ct-input_inner'"
30
+ @focus="focusHandle" @blur="blurHandle" @click="clickHandle"
31
+ :disabled="model.lock" />
32
+ </el-popover>
33
+ <span v-if="!model.lock" class="el-input__suffix" @click="clickHandle" :class="[model.attrs.size?'el-input--'+model.attrs.size:'']">
34
+ <span v-if="showClear === false" class="el-input__suffix-inner">
35
+ <i class="el-select__caret el-input__icon el-icon-arrow-up" :class="{'is-reverse':showDrop}"></i>
36
+ </span>
37
+ <span v-if="showClear === true" class="el-input__suffix-inner ct-close">
38
+ <i class="el-select__caret el-input__icon el-icon-circle-close is-show-close" @click="clearClickHandle($event)"></i>
39
+ </span>
40
+ </span>
41
+ </div>
42
+ </div>
43
+ <span v-show="!valid" class="errorMessage">
44
+ {{validMessage}}
45
+ </span>
46
+ </div>
47
+
48
+ <div v-if="model.popupSearchListType === 1 && !model.lock">
49
+ <el-button v-if="!model.moreActionBtnName" size="mini" type="primary" icon="el-icon-search" @click="popupSearchListHandle"></el-button>
50
+ <el-button v-else size="mini" type="primary" @click="popupSearchListHandle">{{model.moreActionBtnName}}</el-button>
51
+ </div>
52
+ </div>
53
+ </div>
54
54
  </template>
55
55
 
56
56
  <script>
@@ -190,24 +190,24 @@
190
190
  if (this.model.popupSearchListType === 1) {
191
191
  this.popupSearchListHandle();
192
192
  }
193
- else {
193
+ else {
194
194
  if (this.model.paramName) {
195
195
  this.$set(this, 'showDrop', !this.showDrop);
196
196
  if (this.showDrop) {
197
197
  this.getOptions();
198
198
  }
199
- this.focusHandle();
200
- }
201
- else if ((this.model.popupSearchListType === 0)) {
202
- this.$message.warning("请配置参数paramName1");
199
+ this.focusHandle();
200
+ }
201
+ else if ((this.model.popupSearchListType === 0)) {
202
+ this.$message.warning("请配置参数paramName1");
203
203
  }
204
204
  }
205
205
  },
206
206
  popupSearchListHandle: function () {
207
- var self = this;
208
-
209
- self.$emit('popupSearchList', false, self.model, self.model.moreActionRouter, (optionArr) => {
210
- self.selectOptionArr(optionArr);
207
+ var self = this;
208
+
209
+ self.$emit('popupSearchList', false, self.model, self.model.moreActionRouter, (optionArr) => {
210
+ self.selectOptionArr(optionArr);
211
211
  });
212
212
  },
213
213
  resetInputHeight() {
@@ -1,36 +1,36 @@
1
- <template>
2
- <div class="field-top">
3
- <div style="width:100%" v-if="model !== null" class="ct-input-number" :class="[model.attrs.size?'ct-checkbox-'+model.attrs.size:''
4
- ]">
5
- <div class="ct-input-number-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">
7
- {{model.label}}
8
- </div>
9
- <div class="ct-datepicker" style="width:100%" v-if="model !== null" :class="[model.showLabel?'showLabel':'']">
10
- <!--<el-time-picker :is-range="model.isRange" style="width:100%"
11
- v-model="model.timeValue"
12
- range-separator="-"
13
- start-placeholder="开始时间"
14
- end-placeholder="结束时间"
15
- :placeholder="model.attrs.placeholder1"
16
- :disabled="model.lock"
17
- @change="onChangeHandler($event)">
18
- </el-time-picker>-->
19
- <el-time-picker v-model="model.timeValue1"
20
- placeholder="任意时间点">
21
- </el-time-picker>
22
- <!--<span v-if="!model.lock" class="cover-list-item-span">
23
- <i class="el-input__icon el-icon-circle-close" @click="clearClickHandle"></i>
24
- </span>-->
25
- </div>
26
- </div>
27
- <transition name="el-fade-in">
28
- <span v-show="!valid" class="errorMessage">
29
- {{validMessage}}
30
- </span>
31
- </transition>
32
- </div>
33
- </div>
1
+ <template>
2
+ <div class="field-top">
3
+ <div style="width:100%" v-if="model !== null" class="ct-input-number" :class="[model.attrs.size?'ct-checkbox-'+model.attrs.size:''
4
+ ]">
5
+ <div class="ct-input-number-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">
7
+ {{model.label}}
8
+ </div>
9
+ <div class="ct-datepicker" style="width:100%" v-if="model !== null" :class="[model.showLabel?'showLabel':'']">
10
+ <!--<el-time-picker :is-range="model.isRange" style="width:100%"
11
+ v-model="model.timeValue"
12
+ range-separator="-"
13
+ start-placeholder="开始时间"
14
+ end-placeholder="结束时间"
15
+ :placeholder="model.attrs.placeholder1"
16
+ :disabled="model.lock"
17
+ @change="onChangeHandler($event)">
18
+ </el-time-picker>-->
19
+ <el-time-picker v-model="model.timeValue1"
20
+ placeholder="任意时间点">
21
+ </el-time-picker>
22
+ <!--<span v-if="!model.lock" class="cover-list-item-span">
23
+ <i class="el-input__icon el-icon-circle-close" @click="clearClickHandle"></i>
24
+ </span>-->
25
+ </div>
26
+ </div>
27
+ <transition name="el-fade-in">
28
+ <span v-show="!valid" class="errorMessage">
29
+ {{validMessage}}
30
+ </span>
31
+ </transition>
32
+ </div>
33
+ </div>
34
34
  </template>
35
35
  <script>
36
36
  import dynamicElement from '../../mixins/dynamicElement';
@@ -1,4 +1,4 @@
1
- const Base = function (source) {
1
+ const Base = function (source) {
2
2
  let rtn = {
3
3
  collapseName: -1,
4
4
  index: 0,
@@ -56,9 +56,9 @@ const Base = function (source) {
56
56
  set labelValue(v) {
57
57
  source.code1 = v;
58
58
  },
59
- defaultValue: source.defaultCode1,
60
- defaultValue1: source.defaultCode2,
61
- defaultValue2: source.defaultCode3,
59
+ defaultValue: source.defaultCode1 || '',
60
+ defaultValue1: source.defaultCode2 || '',
61
+ defaultValue2: source.defaultCode3 || '',
62
62
  get type() {
63
63
  return source.controlType;
64
64
  },
@@ -81,7 +81,7 @@ const Base = function (source) {
81
81
  source.api = v;
82
82
  },
83
83
  get paramName() {
84
- return source.paramName1;
84
+ return source.paramName1;
85
85
  },
86
86
  set paramName(v) {
87
87
  source.paramName1 = v;
@@ -94,7 +94,7 @@ const Base = function (source) {
94
94
  },
95
95
  set change(v) {
96
96
  source.onChanged = v;
97
- },
97
+ },
98
98
  //必填
99
99
  get required() {
100
100
  return source.required;
@@ -103,13 +103,12 @@ const Base = function (source) {
103
103
  set required(v) {
104
104
  source.required = v;
105
105
  },
106
- get labelClass() {
107
- let arr = [];
108
- if (this.required) {
109
- arr.push('requiredLabel');
110
- }
106
+ get labelClass() {
107
+ if (source.required) {
108
+ return 'requiredLabel'
109
+ }
111
110
 
112
- return arr;
111
+ return '';
113
112
  },
114
113
  get mrf() {//当mrf对应的Field的code1等于mrv时,当前组件必填
115
114
  return source.requiredRelationField;
@@ -138,17 +137,17 @@ const Base = function (source) {
138
137
  get lock() {
139
138
  return source.locked;
140
139
  //return true;
141
- },
142
- get listBind() {
143
- let bind = {};
144
- bind = {
145
- style: {
146
- //width: 200 + 'px',
147
- 'width': source.width + 'px',
148
- display: 'inline-table'
149
- }
150
- }
151
- return bind;
140
+ },
141
+ get listBind() {
142
+ let bind = {};
143
+ bind = {
144
+ style: {
145
+ //width: 200 + 'px',
146
+ 'width': source.width + 'px',
147
+ display: 'inline-table'
148
+ }
149
+ }
150
+ return bind;
152
151
  },
153
152
  reset() {
154
153
  this.value = this.defaultValue;
@@ -210,8 +209,8 @@ const Base = function (source) {
210
209
  set min(v) {
211
210
  source.minValue1 = v;
212
211
  }
213
- };
214
-
212
+ };
213
+
215
214
  return rtn;
216
215
  };
217
216
  export default Base;
@@ -3,6 +3,7 @@ import Base from './Base';
3
3
  const Button = function (source) {
4
4
  var rtn = {
5
5
  disabled: false,
6
+ loading: false,
6
7
  get api() {
7
8
  return source.api;
8
9
  },
@@ -231,15 +231,13 @@ const box = function (source, fileSourceList, router, optionApi) {
231
231
  Vue.set(file, "progressFlag", false);
232
232
  Vue.set(file, "loadProgress", 100);
233
233
 
234
- if (this.fileList.length === 0) {//无数据会监听不到
235
- rtn.fileList = fileList;
236
- }
234
+ rtn.fileList = fileList;//无数据会监听不到
237
235
  }
238
236
  else {
239
237
  Vue.prototype.$message.error(res.rtnMsg);
240
238
  }
241
239
  },
242
- deleteFile(file, forceDelete) {
240
+ deleteFile(file, forceDelete) {
243
241
  for (let i = 0; i < rtn.fileList.length; i++) {
244
242
  if (rtn.fileList[i].uid === file.uid) {
245
243
  if (forceDelete) {
@@ -60,7 +60,8 @@ const Form = function (source, callBack, apiParam, failCallBack) {
60
60
 
61
61
  rtn._fields.push(item);
62
62
  }
63
- }
63
+ }
64
+ rtn.allRequiredHandle();//必填关联组件
64
65
  return rtn._fields;
65
66
  },
66
67
  get col() {
@@ -513,9 +514,14 @@ const Form = function (source, callBack, apiParam, failCallBack) {
513
514
  field.self.validExcute();
514
515
  }
515
516
  }
517
+ },
518
+ allRequiredHandle() {
519
+ rtn.fields.forEach(v => {
520
+ rtn.requiredHandle(v, null, false);
521
+ });
516
522
  },
517
523
  //处理必填关联组件
518
- requiredHandle(item, update) {
524
+ requiredHandle(item, update, doMrf) {
519
525
  if (item.id) {
520
526
  let field = null;
521
527
 
@@ -543,8 +549,10 @@ const Form = function (source, callBack, apiParam, failCallBack) {
543
549
  }
544
550
  }
545
551
  }
546
-
547
- rtn.validMrf(item);
552
+
553
+ if (doMrf !== false) {
554
+ rtn.validMrf(item);
555
+ }
548
556
  }
549
557
  },
550
558
  //绑定联动参数组件
@@ -56,12 +56,12 @@ const Mo = function (source, moreActionRouter) {
56
56
  source.code1 = JSON.stringify(v);
57
57
  }
58
58
  }
59
- },
60
- get valueLabel() {
61
- if (source.isList && this.value.length > 0 && rtn.attrs.placeholder) {
62
- return rtn.attrs.placeholder + ":";
63
- }
64
- return '';
59
+ },
60
+ get valueLabel() {
61
+ if (source.isList && this.value.length > 0 && rtn.attrs.placeholder) {
62
+ return rtn.attrs.placeholder + ":";
63
+ }
64
+ return '';
65
65
  },
66
66
  get optionColCount() {
67
67
  return parseInt(source.optCount) || 5;