This commit is contained in:
Fanzink
2023-02-03 16:44:47 +08:00
parent 8ec42773cd
commit f9d40b3790
30 changed files with 311 additions and 122 deletions

View File

@@ -32,7 +32,8 @@
:placeholder="getPlaceholder(n, c)"
v-model="dataForm[configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].name]"
clearable
:disabled="isDetail"
:disabled="isDetail || configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].isDisabled"
@change="emitSelectChange(configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].name, $event)">
<el-option v-for="opt in configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].options" :key="opt.label + Math.random()" :label="opt.label" :value="opt.value" />
</el-select>
@@ -49,6 +50,7 @@
v-if="getType(n, c) === 'date'"
v-bind="configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].props"
:placeholder="getPlaceholder(n, c)"
value-format='yyyy-MM-ddTHH:mm:ss'
v-model="dataForm[configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].name]"
:disabled="isDetail" />
</el-form-item>
@@ -97,6 +99,7 @@
color: btnColor[operate.name]
}"
@click="handleClick(operate)"
:disabled='isDisabled'
>{{ btnName[operate.name] }}</el-button
>
</template>
@@ -120,7 +123,7 @@ const title = {
// 或者也可以改造成自定义颜色:
const btnType = {
add :'#0b58ff',
add: '#0b58ff',
save: '#000',
update: '#0b58ff',
reset: ''
@@ -179,6 +182,8 @@ export default {
// },
data() {
return {
// 按钮防重复点击
isDisabled: false,
COLUMN_PER_ROW,
title,
/** 按钮相关属性 */
@@ -456,6 +461,7 @@ export default {
},
emitSelectChange(name, id) {
// console.log(id)
const currentField = this.configs.fields.find((item) => item.name === name)
if (currentField.relatedField) {
this.dataForm[currentField.relatedField] = null
@@ -476,7 +482,16 @@ export default {
/** 操作 */
switch (btn.name) {
case 'save':
this.isDisabled = true
setTimeout(() => {
this.isDisabled = false
}, 3000)
case 'update':
this.isDisabled = true
setTimeout(() => {
this.isDisabled = false
}, 3000)
/** 需要验证表单的操作 */
this.$refs['dataForm'].validate((valid) => {
if (valid) {