doway-coms 1.4.37 → 1.4.38
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.
package/package.json
CHANGED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="d-control-container">
|
|
3
|
+
<div class="d-control-label">
|
|
4
|
+
{{ colInfo.title
|
|
5
|
+
}}<span
|
|
6
|
+
v-if="colInfo.rules && colInfo.rules['required']"
|
|
7
|
+
class="d-control-label-required"
|
|
8
|
+
>*
|
|
9
|
+
</span>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="d-control">
|
|
12
|
+
<ValidationProvider
|
|
13
|
+
:name="colInfo.title"
|
|
14
|
+
v-slot="v"
|
|
15
|
+
:rules="colInfo.rules"
|
|
16
|
+
>
|
|
17
|
+
<span
|
|
18
|
+
v-if="
|
|
19
|
+
currentValue !== null &&
|
|
20
|
+
currentValue !== '' &&
|
|
21
|
+
currentValue !== undefined
|
|
22
|
+
"
|
|
23
|
+
>
|
|
24
|
+
{{ currentValue }}
|
|
25
|
+
</span>
|
|
26
|
+
<Button type="primary" :size="'small'" @click="buttonClick">{{
|
|
27
|
+
colInfo.buttonTitle
|
|
28
|
+
}}</Button>
|
|
29
|
+
<div class="d-error-msg">
|
|
30
|
+
{{ v.errors[0] }}
|
|
31
|
+
</div>
|
|
32
|
+
<!-- 弹出框输入,单独保存接口 -->
|
|
33
|
+
<Modal
|
|
34
|
+
v-model="visibleModal"
|
|
35
|
+
:title="colInfo.buttonTitle + '--' + colInfo.title"
|
|
36
|
+
@ok="handleOk"
|
|
37
|
+
>
|
|
38
|
+
<!-- 文本框输入 -->
|
|
39
|
+
<Input
|
|
40
|
+
v-if="
|
|
41
|
+
colInfo.controlType == 'text' ||
|
|
42
|
+
colInfo.controlType == null ||
|
|
43
|
+
colInfo.controlType == undefined
|
|
44
|
+
"
|
|
45
|
+
:size="'small'"
|
|
46
|
+
v-model="showValue"
|
|
47
|
+
placeholder="请输入需保存的值"
|
|
48
|
+
style="width: 100%"
|
|
49
|
+
:class="{ 'd-error-input': v.errors.length > 0 }"
|
|
50
|
+
/>
|
|
51
|
+
<!-- 文本框输入控件 -->
|
|
52
|
+
<BaseTextArea
|
|
53
|
+
v-if="colInfo.controlType === 'textarea'"
|
|
54
|
+
:label="colInfo.title"
|
|
55
|
+
v-model="currentValue"
|
|
56
|
+
:edit="true"
|
|
57
|
+
:rules="colInfo.rules"
|
|
58
|
+
/>
|
|
59
|
+
<!-- 日期选择控件 -->
|
|
60
|
+
<BaseDate
|
|
61
|
+
v-if="colInfo.controlType === 'date'"
|
|
62
|
+
:label="colInfo.title"
|
|
63
|
+
v-model="currentValue"
|
|
64
|
+
:pastDate="colInfo.pastDate"
|
|
65
|
+
:rules="colInfo.rules"
|
|
66
|
+
:edit="true"
|
|
67
|
+
/>
|
|
68
|
+
<!-- 日期时间控件 -->
|
|
69
|
+
<BaseDatetime
|
|
70
|
+
v-if="colInfo.controlType === 'datetime'"
|
|
71
|
+
:label="colInfo.title"
|
|
72
|
+
v-model="currentValue"
|
|
73
|
+
:pastDate="colInfo.pastDate"
|
|
74
|
+
:rules="colInfo.rules"
|
|
75
|
+
:edit="true"
|
|
76
|
+
/>
|
|
77
|
+
<!-- 时间选择控件 -->
|
|
78
|
+
<BaseTime
|
|
79
|
+
v-if="colInfo.controlType === 'time'"
|
|
80
|
+
:label="colInfo.title"
|
|
81
|
+
v-model="currentValue"
|
|
82
|
+
:edit="true"
|
|
83
|
+
:rules="colInfo.rules"
|
|
84
|
+
/>
|
|
85
|
+
<!-- 周数选择器 -->
|
|
86
|
+
<BaseDateWeek
|
|
87
|
+
v-if="colInfo.controlType === 'dateweek'"
|
|
88
|
+
:label="colInfo.title"
|
|
89
|
+
v-model="currentValue"
|
|
90
|
+
:edit="true"
|
|
91
|
+
:rules="colInfo.rules"
|
|
92
|
+
/>
|
|
93
|
+
<!-- 数字输入 -->
|
|
94
|
+
<BaseNumberInput
|
|
95
|
+
v-if="colInfo.controlType === 'number'"
|
|
96
|
+
:label="colInfo.title"
|
|
97
|
+
v-model="currentValue"
|
|
98
|
+
:edit="true"
|
|
99
|
+
:rules="colInfo.rules"
|
|
100
|
+
:min="colInfo.min"
|
|
101
|
+
:max="colInfo.max"
|
|
102
|
+
:precision="colInfo.precision"
|
|
103
|
+
/>
|
|
104
|
+
<BaseIntervalInput
|
|
105
|
+
v-if="colInfo.controlType === 'interval'"
|
|
106
|
+
:label="colInfo.title"
|
|
107
|
+
v-model="currentValue"
|
|
108
|
+
:edit="true"
|
|
109
|
+
:rules="colInfo.rules"
|
|
110
|
+
:displayType="colInfo.displayType"
|
|
111
|
+
:valueType="colInfo.valueType"
|
|
112
|
+
/>
|
|
113
|
+
<!-- 单选框 -->
|
|
114
|
+
<BaseCheckbox
|
|
115
|
+
v-if="colInfo.controlType === 'checkbox'"
|
|
116
|
+
:label="colInfo.title"
|
|
117
|
+
v-model="currentValue"
|
|
118
|
+
:edit="true"
|
|
119
|
+
:rules="colInfo.rules"
|
|
120
|
+
/>
|
|
121
|
+
<!-- 下拉选择器 -->
|
|
122
|
+
<BaseSelect
|
|
123
|
+
v-if="colInfo.controlType === 'select'"
|
|
124
|
+
:label="colInfo.title"
|
|
125
|
+
v-model="currentValue"
|
|
126
|
+
:edit="true"
|
|
127
|
+
:rules="colInfo.rules"
|
|
128
|
+
:dataSource="colInfo.dataSource"
|
|
129
|
+
/>
|
|
130
|
+
<BaseSelectMulti
|
|
131
|
+
v-if="colInfo.controlType === 'dropmulti'"
|
|
132
|
+
:label="colInfo.title"
|
|
133
|
+
v-model="currentValue"
|
|
134
|
+
:edit="colInfo.edit"
|
|
135
|
+
:rules="colInfo.rules"
|
|
136
|
+
:dataSource="colInfo.dataSource"
|
|
137
|
+
/>
|
|
138
|
+
<!-- 下拉表格容器 -->
|
|
139
|
+
<BasePulldown
|
|
140
|
+
v-if="colInfo.controlType === 'pulldown'"
|
|
141
|
+
:formRow="formRow"
|
|
142
|
+
:edit="true"
|
|
143
|
+
:defaultExpression="colInfo.defaultExpression"
|
|
144
|
+
:row="row"
|
|
145
|
+
:api="colInfo.api"
|
|
146
|
+
:optBtns="colInfo.optBtns"
|
|
147
|
+
:popupAddName="colInfo.popupAddName"
|
|
148
|
+
:popupAddPath="colInfo.popupAddPath"
|
|
149
|
+
:label="colInfo.title"
|
|
150
|
+
:rules="colInfo.rules"
|
|
151
|
+
:route="colInfo.route"
|
|
152
|
+
v-model="currentValue"
|
|
153
|
+
:field="colInfo.field"
|
|
154
|
+
:columns="colInfo.columns"
|
|
155
|
+
:pageSize="colInfo.pageSize"
|
|
156
|
+
:immediate="colInfo.immediate"
|
|
157
|
+
/>
|
|
158
|
+
</Modal>
|
|
159
|
+
</ValidationProvider>
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
</template>
|
|
163
|
+
<script>
|
|
164
|
+
import { Modal, Input, Button } from 'ant-design-vue'
|
|
165
|
+
import { ValidationProvider } from 'vee-validate'
|
|
166
|
+
export default {
|
|
167
|
+
name: 'BaseButton',
|
|
168
|
+
components: {
|
|
169
|
+
ValidationProvider,
|
|
170
|
+
Modal,
|
|
171
|
+
Input,
|
|
172
|
+
Button,
|
|
173
|
+
},
|
|
174
|
+
data() {
|
|
175
|
+
return {
|
|
176
|
+
showValue: '',
|
|
177
|
+
// 弹出框是否展示
|
|
178
|
+
visibleModal: false
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
computed: {
|
|
182
|
+
currentValue: {
|
|
183
|
+
// 动态计算currentValue的值
|
|
184
|
+
get: function() {
|
|
185
|
+
return this.value // 将props中的value赋值给currentValue
|
|
186
|
+
},
|
|
187
|
+
set: function(val) {
|
|
188
|
+
this.$emit('input', val) // 通过$emit触发父组件
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
props: {
|
|
193
|
+
value: {
|
|
194
|
+
type: String,
|
|
195
|
+
default: function() {
|
|
196
|
+
return ''
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
colInfo: {
|
|
200
|
+
type: Object,
|
|
201
|
+
default: function() {
|
|
202
|
+
return {}
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
row: {
|
|
206
|
+
// 当前行,如果是表单的话当前行和当前页面数据集是一样的
|
|
207
|
+
type: Object,
|
|
208
|
+
default: function() {
|
|
209
|
+
return {}
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
formRow: {
|
|
213
|
+
// 当前页面数据集
|
|
214
|
+
type: Object,
|
|
215
|
+
default: () => {
|
|
216
|
+
return {}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
created() {},
|
|
221
|
+
mounted() {
|
|
222
|
+
// 将父组件的值拿来用,确认更改前不改变外部的值
|
|
223
|
+
this.showValue = this.value
|
|
224
|
+
},
|
|
225
|
+
methods: {
|
|
226
|
+
// 弹出框显示
|
|
227
|
+
buttonClick() {
|
|
228
|
+
this.visibleModal = true
|
|
229
|
+
},
|
|
230
|
+
// 确认
|
|
231
|
+
handleOk() {
|
|
232
|
+
this.$emit('handleOk', this.showValue)
|
|
233
|
+
this.$nextTick(() => {
|
|
234
|
+
this.visibleModal = false
|
|
235
|
+
})
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
</script>
|
|
240
|
+
|
|
241
|
+
<style lang="scss" scoped></style>
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
/>
|
|
30
30
|
<!-- 按钮弹出框输入控件 -->
|
|
31
31
|
<!-- isButtonShow字段是额外添加字段,用于控制区分输入框控件 -->
|
|
32
|
-
<
|
|
32
|
+
<BaseButton
|
|
33
33
|
v-if="col.isButtonShow == true"
|
|
34
34
|
v-model="row[col.field]"
|
|
35
35
|
:colInfo="col"
|
|
@@ -268,6 +268,7 @@ import BaseDate from "../../BaseDate/index";
|
|
|
268
268
|
import BaseDatetime from "../../BaseDatetime/index";
|
|
269
269
|
import BaseDateWeek from "../../BaseDateWeek/index";
|
|
270
270
|
import BaseTextArea from "../../BaseTextArea/index";
|
|
271
|
+
import BaseButton from "../../BaseButton/index";
|
|
271
272
|
import BaseSelect from "../../BaseSelect/index";
|
|
272
273
|
import BaseSelectMulti from "../../BaseSelectMulti/index";
|
|
273
274
|
import BaseTime from "../../BaseTime/index";
|
|
@@ -284,6 +285,7 @@ export default {
|
|
|
284
285
|
BaseDatetime,
|
|
285
286
|
BaseDateWeek,
|
|
286
287
|
BaseTextArea,
|
|
288
|
+
BaseButton,
|
|
287
289
|
BaseSelect,
|
|
288
290
|
BaseSelectMulti,
|
|
289
291
|
BaseTime,
|
package/packages/index.js
CHANGED
|
@@ -20,6 +20,7 @@ import BasePrintPreview from './BasePrintPreview/index';
|
|
|
20
20
|
import BaseGantt from "./BaseGantt/index";
|
|
21
21
|
import BaseKanbanEmpty from "./BaseKanbanEmpty/index";
|
|
22
22
|
import BaseSearch from "./BaseSearch/index";
|
|
23
|
+
import BaseButton from "./BaseButton/index";
|
|
23
24
|
|
|
24
25
|
import store from './utils/store'
|
|
25
26
|
import request from './utils/request'
|
|
@@ -31,7 +32,7 @@ const components = [
|
|
|
31
32
|
BaseTextArea, BaseSelect, BaseSelectMulti, BaseTime, BasePagination,
|
|
32
33
|
BaseNumberInput, BaseTool, BaseToolStatus, BasePulldown, BaseIntervalInput,
|
|
33
34
|
BaseForm, BasePictureCard, BaseGrid, BasePrintPreview, BaseGantt,
|
|
34
|
-
BaseKanbanEmpty, BaseSearch
|
|
35
|
+
BaseKanbanEmpty, BaseSearch, BaseButton
|
|
35
36
|
];
|
|
36
37
|
// 定义 install 方法,接收 Vue 作为参数。如果使用 use 注册插件,则所有的组件都将被注册
|
|
37
38
|
|
|
@@ -156,6 +157,7 @@ export {
|
|
|
156
157
|
BaseGantt,
|
|
157
158
|
BaseKanbanEmpty,
|
|
158
159
|
BaseSearch,
|
|
160
|
+
BaseButton,
|
|
159
161
|
store,
|
|
160
162
|
request,
|
|
161
163
|
}
|