|
@@ -1,74 +1,79 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <el-form :inline='true'>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="主教老师">
|
|
|
- <!-- <div>{{item.actualTeacherName}}</div> -->
|
|
|
- <div v-if="diff.hasOwnProperty('actualTeacherName')">
|
|
|
- <el-tag type="danger" v-if="before.actualTeacherName"><s>{{before.actualTeacherName}}</s></el-tag>
|
|
|
- <el-tag type="success" v-if="after.actualTeacherName">{{after.actualTeacherName}}</el-tag>
|
|
|
- </div>
|
|
|
- <div v-else>{{after.actualTeacherName}}</div>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-form-item :span="12" label="助教老师">
|
|
|
- <div v-if="diff.hasOwnProperty('teachingTeacherNames')">
|
|
|
- <el-tag type="danger" v-if="before.teachingTeacherNames"><s>{{before.teachingTeacherNames}}</s></el-tag>
|
|
|
- <el-tag type="success" v-if="after.teachingTeacherNames">{{after.teachingTeacherNames}}</el-tag>
|
|
|
+ <el-table :data="list" :header-cell-style="{background: '#f5f7fa'}" max-height="250">
|
|
|
+ <el-table-column
|
|
|
+ prop="name"
|
|
|
+ label="字段名"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>{{nameFormat[scope.row.name] || scope.row.name}}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="before"
|
|
|
+ label="修改前"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div v-if="diff.hasOwnProperty(scope.row.name)">
|
|
|
+ <el-tag type="danger" v-if="scope.row.before"><s>{{scope.row.before}}</s></el-tag>
|
|
|
</div>
|
|
|
- <div v-else>{{after.teachingTeacherNames}}</div>
|
|
|
- </el-form-item>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="上课时间">
|
|
|
- <div v-if="diff.hasOwnProperty('startClassTime')">
|
|
|
- <el-tag type="danger"><s>{{ before.startClassTime ? before.startClassTime.substr(0, 16) : '' }}-{{ before.endClassTime ? before.endClassTime.substr(11,5) : ''}}</s></el-tag>
|
|
|
- <el-tag type="success">{{ after.startClassTime ? after.startClassTime.substr(0, 16) : '' }}-{{ after.endClassTime ? after.endClassTime.substr(11,5) : ''}}</el-tag>
|
|
|
- </div>
|
|
|
- <div v-else>{{ after.startClassTime ? after.startClassTime.substr(0, 16) : '' }}-{{ after.endClassTime ? after.endClassTime.substr(11,5) : ''}}</div>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="课程时长">
|
|
|
- <div v-if="diff.hasOwnProperty('timers')">
|
|
|
- <el-tag type="danger" v-if="before.timers"><s>{{before.timers}} 分钟</s></el-tag>
|
|
|
- <el-tag type="success" v-if="after.timers">{{after.timers}} 分钟</el-tag>
|
|
|
- </div>
|
|
|
- <div v-else>{{after.timers}} 分钟</div>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="课程类型">
|
|
|
- <!-- <div>{{item.teachMode| teachMode}}</div> -->
|
|
|
- <div v-if="diff.hasOwnProperty('teachMode')">
|
|
|
- <el-tag type="danger" v-if="before.teachMode"><s>{{before.teachMode | teachMode}}</s></el-tag>
|
|
|
- <el-tag type="success" v-if="after.teachMode">{{after.teachMode | teachMode}}</el-tag>
|
|
|
- </div>
|
|
|
- <div v-else>{{after.teachMode | teachMode}}</div>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="教学地点">
|
|
|
- <div v-if="diff.hasOwnProperty('schoolName')">
|
|
|
- <el-tag type="danger" v-if="before.schoolName"><s>{{before.schoolName}}</s></el-tag>
|
|
|
- <el-tag type="success" v-if="after.schoolName">{{after.schoolName}}</el-tag>
|
|
|
- </div>
|
|
|
- <div v-else>{{after.schoolName}}</div>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-form>
|
|
|
+ <div v-else>{{scope.row.before}}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="after"
|
|
|
+ label="修改后"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div v-if="diff.hasOwnProperty(scope.row.name)">
|
|
|
+ <el-tag type="success" v-if="scope.row.after">{{scope.row.after}}</el-tag>
|
|
|
+ </div>
|
|
|
+ <div v-else>{{scope.row.after}}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
+const nameFormat = {
|
|
|
+ name: '课程名称',
|
|
|
+ actualTeacherName: '主教老师',
|
|
|
+ teachingTeacherNames: '助教老师',
|
|
|
+ startClassTime: '上课时间',
|
|
|
+ teachMode: '课程类型',
|
|
|
+ schoolName: '教学地点',
|
|
|
+ timers: '课程时长'
|
|
|
+}
|
|
|
import ObjectDiff from 'object-diff'
|
|
|
export default {
|
|
|
props: ['before', 'after'],
|
|
|
computed: {
|
|
|
diff() {
|
|
|
return ObjectDiff(this.before, this.after)
|
|
|
+ },
|
|
|
+ list() {
|
|
|
+ const keys = Object.keys(this.before)
|
|
|
+ const items = []
|
|
|
+ for (let i = 0; i < keys.length; i++) {
|
|
|
+ const key = keys[i]
|
|
|
+ const nextKey = keys[i + 1]
|
|
|
+ items.push({
|
|
|
+ name: key,
|
|
|
+ before: this.before[key],
|
|
|
+ after: this.before[key],
|
|
|
+ })
|
|
|
+ }
|
|
|
+ return items
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ nameFormat
|
|
|
}
|
|
|
},
|
|
|
+ mounted() {
|
|
|
+ console.log(this.diff, this.list)
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|
|
|
<style lang="less" scoped>
|