状态列控制器基本完成
Former-commit-id: 0e03e0fea7fbaacf1c2d8ff2411c151d0aef433c [formerly 0e03e0fea7fbaacf1c2d8ff2411c151d0aef433c [formerly 0e03e0fea7fbaacf1c2d8ff2411c151d0aef433c [formerly 0e03e0fea7fbaacf1c2d8ff2411c151d0aef433c [formerly ce25e70b23df7f428a514a7a92790de70a393274 [formerly 0dc8f4cd9be176aae57942767a315623d104932d]]]]] Former-commit-id: 9b38b47bc438321aa72180f9a170af8f92a9e77d Former-commit-id: 01108104a6d5c36e474fdfb7ec0b0b8d73048221 Former-commit-id: 0cfebf110b20794e2690674ac285e3cba5280ae4 [formerly 5b9e9a9d9bef2e6d37eeb2630ad73d9f0494d967] Former-commit-id: fd0ff1d79aebf7f13218e0149e1948083e1ba904 Former-commit-id: 7e1ede18df14c10daf4a25fdb509518929fb9d96 Former-commit-id: af50aad4bfb60e7b5ed9b6ca991e51a2f3490df2 Former-commit-id: 3462539ef1c1bba8d6efc7f52e95930515f1e108 Former-commit-id: b882ff02952b1f164f061ab090174018ee9afb4a
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag
|
<el-tag
|
||||||
size="mini"
|
size="mini"
|
||||||
type="info">
|
type="success">
|
||||||
{{scope.row.value}}
|
{{scope.row.value}}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
</template>
|
</template>
|
||||||
@@ -23,25 +23,20 @@
|
|||||||
|
|
||||||
<el-table-column label="状态" width="60" align="center">
|
<el-table-column label="状态" width="60" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-popover
|
<type-control
|
||||||
placement="left"
|
:value="scope.row.type"
|
||||||
title="切换状态"
|
|
||||||
width="200"
|
|
||||||
trigger="hover">
|
|
||||||
<el-switch
|
|
||||||
v-model="currentTableData[scope.$index].type"
|
|
||||||
active-color="#67C23A"
|
|
||||||
inactive-color="#F56C6C"
|
|
||||||
active-text="正常"
|
|
||||||
inactive-text="禁用"
|
|
||||||
@change="(val) => {
|
@change="(val) => {
|
||||||
handleSwitchChange(val, scope.$index)
|
handleSwitchChange(val, scope.$index)
|
||||||
}">
|
}">
|
||||||
</el-switch>
|
<d2-icon
|
||||||
<el-tag slot="reference" size="mini">
|
name="check-circle"
|
||||||
{{scope.row.type}}
|
style="font-size: 20px; line-height: 32px; color: #67C23A;"
|
||||||
</el-tag>
|
slot="active"/>
|
||||||
</el-popover>
|
<d2-icon
|
||||||
|
name="times-circle"
|
||||||
|
style="font-size: 20px; line-height: 32px; color: #F56C6C;"
|
||||||
|
slot="inactive"/>
|
||||||
|
</type-control>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
@@ -65,8 +60,11 @@
|
|||||||
|
|
||||||
<el-table-column label="使用状态" width="100" align="center">
|
<el-table-column label="使用状态" width="100" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-if="scope.row.used" type="mini">已经使用</el-tag>
|
<el-tag
|
||||||
<el-tag v-else type="mini">未使用</el-tag>
|
size="mini"
|
||||||
|
:type="scope.row.used ? 'info' : ''">
|
||||||
|
{{scope.row.used ? '已使用' : '未使用'}}
|
||||||
|
</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
@@ -80,7 +78,11 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import TypeControl from '../TypeControl'
|
||||||
export default {
|
export default {
|
||||||
|
components: {
|
||||||
|
TypeControl
|
||||||
|
},
|
||||||
props: {
|
props: {
|
||||||
tableData: {
|
tableData: {
|
||||||
default: () => []
|
default: () => []
|
||||||
@@ -101,8 +103,11 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleSwitchChange (val, index) {
|
handleSwitchChange (val, index) {
|
||||||
console.log('val', val)
|
const oldValue = this.currentTableData[index]
|
||||||
console.log('index', index)
|
this.$set(this.currentTableData, index, {
|
||||||
|
...oldValue,
|
||||||
|
type: val
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,85 @@
|
|||||||
|
<template>
|
||||||
|
<el-popover
|
||||||
|
:placement="popoverPlacement"
|
||||||
|
:title="popoverTitle"
|
||||||
|
:width="popoverWidth"
|
||||||
|
trigger="hover">
|
||||||
|
<el-switch
|
||||||
|
v-model="currentValue"
|
||||||
|
:active-color="activeColor"
|
||||||
|
:inactive-color="inactiveColor"
|
||||||
|
:active-text="activeText"
|
||||||
|
:inactive-text="inactiveText"
|
||||||
|
:disabled="switchDisabled"
|
||||||
|
@change="handleChange">
|
||||||
|
</el-switch>
|
||||||
|
<span slot="reference">
|
||||||
|
<slot v-if="value" name="active"/>
|
||||||
|
<slot v-else name="inactive"/>
|
||||||
|
</span>
|
||||||
|
</el-popover>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
value: {
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
popoverPlacement: {
|
||||||
|
default: 'left'
|
||||||
|
},
|
||||||
|
popoverTitle: {
|
||||||
|
default: '修改'
|
||||||
|
},
|
||||||
|
popoverWidth: {
|
||||||
|
default: '150'
|
||||||
|
},
|
||||||
|
activeColor: {
|
||||||
|
default: '#67C23A'
|
||||||
|
},
|
||||||
|
inactiveColor: {
|
||||||
|
default: '#F56C6C'
|
||||||
|
},
|
||||||
|
activeText: {
|
||||||
|
default: '正常'
|
||||||
|
},
|
||||||
|
inactiveText: {
|
||||||
|
default: '禁用'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
currentValue: false,
|
||||||
|
switchDisabled: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
value: {
|
||||||
|
handler (val) {
|
||||||
|
this.currentValue = val
|
||||||
|
},
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleChange (val) {
|
||||||
|
this.switchDisabled = true
|
||||||
|
this.$message({
|
||||||
|
message: '正在发送请求',
|
||||||
|
type: 'info'
|
||||||
|
})
|
||||||
|
// 请将 setTimeout 修改为您的异步请求
|
||||||
|
setTimeout(() => {
|
||||||
|
this.switchDisabled = false
|
||||||
|
this.$message({
|
||||||
|
message: '修改成功',
|
||||||
|
type: 'success'
|
||||||
|
})
|
||||||
|
this.$emit('change', val)
|
||||||
|
// 如果修改失败的话需要在这里手动将 currentValue 复原
|
||||||
|
}, 1000)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
Reference in New Issue
Block a user