123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- <!--
- * @description: 时间线
- -->
- <template>
- <el-dialog
- title="历史操作"
- :visible.sync="dialogVisible"
- width="50%"
- :modal="true"
- :modal-append-to-body="false"
- :appen-to-body="true"
- class="bs-dialog-wrap bs-el-dialog"
- >
- <div class="layer-list-wrap">
- <!-- el-table 三列,动作,时间,操作。操作栏中是回退 -->
- <el-table
- :data="chartList"
- border
- style="width: 100%"
- class="bs-el-table"
- :row-class-name="tableRowClassName"
- >
- <el-table-column
- prop="timelineTitle"
- label="动作"
- class-name="bs-el-table-column"
- />
- <el-table-column
- prop="updateTime"
- label="时间"
- width="180"
- class-name="bs-el-table-column"
- />
- <el-table-column
- prop="operation"
- label="操作"
- width="100"
- class-name="bs-el-table-column"
- >
- <template slot-scope="scope">
- <el-button
- type="text"
- size="small"
- @click="rollback(scope.$index)"
- >
- 回退
- </el-button>
- </template>
- </el-table-column>
- </el-table>
- </div>
- <span
- slot="footer"
- class="dialog-footer"
- >
- <el-button
- class="bs-el-button-default"
- @click="dialogVisible = false"
- >
- 取消
- </el-button>
- <el-button
- type="primary"
- @click="clearTimeline"
- >
- 清除历史
- </el-button>
- </span>
- </el-dialog>
- </template>
- <script>
- import { mapState, mapMutations } from 'vuex'
- export default {
- name: 'HistoryList',
- props: {},
- data () {
- return {
- dialogVisible: false
- }
- },
- computed: {
- ...mapState({
- chartList: state => state.bigScreen.timelineStore,
- currentTimeLine: state => state.bigScreen.currentTimeLine
- })
- },
- mounted () {},
- methods: {
- ...mapMutations({
- clearTimeline: 'bigScreen/clearTimeline',
- rollbackTimeline: 'bigScreen/rollbackTimeline'
- }),
- init () {
- this.dialogVisible = true
- },
- rollback (index) {
- this.rollbackTimeline(index)
- this.dialogVisible = false
- },
- tableRowClassName ({ row, rowIndex }) {
- if (rowIndex === this.currentTimeLine - 1) {
- return 'choosed-row'
- }
- return ''
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- @import '../../BigScreenDesign/fonts/iconfont.css';
- @import '../../assets/style/bsTheme.scss';
- .layer-list-wrap {
- ::v-deep .choosed-row {
- .bs-el-table-column {
- border-color: var(--bs-el-border) !important;
- background: var(--bs-background-2) !important;
- background-color: var(--bs-background-2) !important;
- opacity: 0.7;
- }
- }
- }
- </style>
|