فهرست منبع

集团字典,项目字典,变更审核

shaun-sheep 5 سال پیش
والد
کامیت
144b1f6936

+ 114 - 0
src/components/group/programmeDialog.vue

@@ -0,0 +1,114 @@
+<template>
+  <el-dialog :title="title" :visible.sync="dialogFormVisible" class="group-dialog" width="30%">
+    <el-form :model="form" ref="form" :rules="rules" style="overflow: hidden">
+      <p class="text-color">方案基础信息</p>
+
+      <el-form-item label="方案名称" label-width="120px" prop="name">
+        <el-input v-model="form.name" autocomplete="off"></el-input>
+      </el-form-item>
+      <el-form-item label="备注" label-width="120px" prop="id">
+        <el-input type="textarea" v-model="form.remarks"></el-input>
+      </el-form-item>
+      <div>
+        <p class="text-color">方案内容</p>
+        <el-form-item label="默认范围" label-width="120px">
+          <el-radio-group v-model="radio" @change="handleRadio">
+            <el-radio
+              v-for="item in radioList"
+              :key="item.label"
+              :label="item.label"
+              style="display:block;margin-bottom: 10px"
+            >{{item.value}}
+            </el-radio>
+          </el-radio-group>
+
+        </el-form-item>
+        <el-form-item label="" label-width="120px" v-show="radio == 1">
+          <el-select v-model="form.group" placeholder="请选择方案" style="display: block">
+            <el-option
+              v-for="item in options"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            />
+          </el-select>
+        </el-form-item>
+      </div>
+
+      <el-form-item align="center">
+        <el-button @click="dialogFormVisible = false">取 消</el-button>
+        <el-button type="primary" @click="changeConfirm('form')">确 定</el-button>
+      </el-form-item>
+    </el-form>
+  </el-dialog>
+</template>
+
+<script>
+  export default {
+    name: "programmeDialog",
+    props: ['title'],
+    data() {
+      return {
+        form: {
+          name: '',
+          remarks: ''
+        },
+        dialogFormVisible: false,
+        rules: {
+          name: [
+            {required: true, message: '请输入方案名称', trigger: 'blur'}
+          ],
+
+        },
+        options: [{
+          value: '选项1',
+          label: '黄金糕'
+        }, {
+          value: '选项2',
+          label: '双皮奶'
+        }],
+        radio: '0',
+        radioList: [
+          {
+            label: '0',
+            value: '使用集团字典全部内容'
+          }, {
+            label: '1',
+            value: '复制已有方案'
+          }, {
+            label: '2',
+            value: '空白方案'
+          }
+        ]
+      }
+    },
+    methods: {
+      handleDialog() {
+        this.dialogFormVisible = true
+      },
+      changeConfirm(form) {
+        this.$refs[form].validate(valid => {
+          if (valid) {
+            console.log('success')
+          } else {
+            return false
+          }
+        })
+      },
+      handleRadio(val) {
+
+      }
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .group-dialog {
+    .text-color {
+      color: #999999;
+      margin-bottom: 20px;
+      border-left: 4px solid #999999;
+      text-indent: 5px;
+    }
+  }
+</style>

+ 142 - 0
src/components/public/informationDefineType.vue

@@ -0,0 +1,142 @@
+<template>
+  <div class="information-define-type">
+    <div class="define-type-header">
+      <p>暖通专业/供冷系统</p>
+    </div>
+    <div class="define-type-edit" v-if="readOnly">
+      <p class="edit-header">CTCF-低压开关柜
+        <el-tag type="warning">待审核</el-tag>
+        <i class="el-icon-edit" @click="readOnly = false" style="float: right;margin-top: 18px;color:deepskyblue"></i>
+      </p>
+      <p class="color-999 device-name">设备别编码:<span class="color-555">{{ruleForm.code}}</span></p>
+      <p class="color-999 device-name">设备别名称:<span class="color-555">{{ruleForm.name}}</span></p>
+    </div>
+    <div class="define-type-edit" v-else>
+      <p class="edit-header">CTCF-低压开关柜
+        <el-tag type="warning">待审核</el-tag>
+        <i class="el-icon-close" @click="readOnly = true" style="float: right;margin-top: 18px;color:deepskyblue;"></i>
+        <i class="el-icon-check" @click="confirmForm('ruleForm')"
+           style="float: right;margin-top: 18px;color:deepskyblue;padding-right: 10px"></i>
+      </p>
+      <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm">
+        <el-form-item label="设备别编码:" prop="code">
+          <el-input v-model="ruleForm.code" style="width: 18%"></el-input>
+        </el-form-item>
+        <p class="read-only">设备编码:CCTW</p>
+        <el-form-item label="设备别名称:" prop="name">
+          <el-input v-model="ruleForm.name" style="width: 18%"></el-input>
+        </el-form-item>
+        <p class="read-only">设备名称:低压开关柜</p>
+        <el-form-item label="所属专业系统:" prop="system">
+          <el-select v-model="ruleForm.system" placeholder="请选择所属专业系统">
+            <el-option label="区域一" value="shanghai"></el-option>
+            <el-option label="区域二" value="beijing"></el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+    </div>
+    <el-divider content-position="left">使用扩展分类</el-divider>
+    <div class="margin-10">
+      <el-switch
+        v-model="value"
+        active-color="#409eff"
+        inactive-color="#dcdfe6">
+      </el-switch>
+      <span style="margin-left: 20px">产地:北京、上海、广州</span>
+    </div>
+
+
+
+  </div>
+</template>
+
+<script>
+  export default {
+    name: "informationDefineType",
+    data() {
+      return {
+        readOnly: true,
+        ruleForm: {
+          code: 'CTCF',
+          name: '低压开关柜',
+          system: ''
+        },
+        rules: {
+          code: [{required: true, message: '请输入设备编码', trigger: 'blur'}],
+          name: [{required: true, message: '请输入设备名称', trigger: 'blur'}],
+          system: [{required: true, message: '请选择所属专业系统', trigger: 'change'}]
+        },
+        value: false
+      }
+    },
+    methods: {
+      confirmForm(formName) {
+        this.$refs[formName].validate((valid) => {
+          if (valid) {
+            this.$message.success('修改成功')
+            this.readOnly = true
+          } else {
+            console.log('error submit!!');
+            return false;
+          }
+        });
+      },
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .information-define-type {
+    .color-999 {
+      color: #999;
+    }
+
+    .color-555 {
+      color: #555
+    }
+
+    .margin-10 {
+      margin: 10px;
+    }
+
+    .define-type-header {
+      margin: 0 20px;
+    }
+
+    .define-type-edit {
+      overflow: hidden;
+      background: #fbfbfb;
+      margin: 10px 0;
+      border: 1px solid #f0f0f0;
+
+      .edit-header {
+        height: 50px;
+        line-height: 50px;
+        margin: 0 20px;
+        border-bottom: 1px solid #f0f0f0;
+
+      }
+
+      .device-name {
+        padding-top: 20px;
+        padding-left: 20px;
+
+        &:last-child {
+          padding-bottom: 20px;
+        }
+      }
+
+      .read-only {
+        margin-left: 120px;
+        font-size: 12px;
+        color: #999;
+        margin-top: -13px;
+        padding: 5px 0;
+      }
+
+      .demo-ruleForm {
+        margin-top: 10px;
+      }
+    }
+  }
+</style>

+ 103 - 0
src/components/public/informationSelect.vue

@@ -0,0 +1,103 @@
+<!--
+资产,业务空间
+this.$route.query.select:true 可编辑状态 -- 内容管理
+-->
+<template>
+  <div class="information-select">
+    <div class="info-select">
+      <ul>
+        <li
+          v-for="(item,index) in list"
+          :key="item.name"
+          :class="{'active':idx==index}"
+          @click="handleZone(item,index)"
+        >{{item.name}}
+        </li>
+      </ul>
+    </div>
+
+    <div class="info-tabs">
+      <informationTable/>
+    </div>
+  </div>
+</template>
+
+<script>
+  import informationTable from "./informationTable";
+
+  export default {
+    name: "informationSelect",
+    components: {informationTable},
+    data() {
+      return {
+        idx: 0,
+        list: [
+          {
+            name: '分区0',
+            id: 0
+          }, {
+            name: '分区1',
+            id: 1
+          }, {
+            name: '分区2',
+            id: 2
+          }, {
+            name: '分区3',
+            id: 3
+          }, {
+            name: '分区4',
+            id: 4
+          },
+        ]
+      }
+    },
+    watch: {
+      search(val) {
+        this.$refs.tree.filter(val)
+      }
+    },
+    methods: {
+      filterNode(value, data) {
+        if (!value) return true;
+        return data.label.indexOf(value) !== -1;
+      },
+      handleZone(item, index) {
+        this.idx = index
+      }
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .information-select {
+    background: #ffffff;
+    display: flex;
+    height: 100%;
+    margin: 0 20px 0 0;
+    overflow: hidden;
+
+    .info-select {
+      width: 17%;
+      height: 100%;
+      border-right: 1px solid #eeeeee;
+      margin-right: 10px;
+
+      ul {
+        li {
+          height: 40px;
+          line-height: 40px;
+          padding-left: 20px;
+        }
+      }
+
+    }
+
+    .info-tabs {
+      flex-grow: 1;
+    }
+
+    .active {
+      background: #cccccc;
+    }
+  }
+</style>

+ 181 - 0
src/components/public/informationTable.vue

@@ -0,0 +1,181 @@
+<!--
+建筑,项目,楼层
+this.$route.query.select:true 可编辑状态 -- 内容管理
+-->
+<template>
+  <div class="information-table">
+    <template v-if="headerShow=='tree'">
+      <h4>CTCF-低压开关柜</h4>
+      <p class="top">
+        <span class="code">编码:<b>CTCF</b></span>
+        <span class="name">名称:<b>低压开关柜</b></span>
+        <span class="name">所属专业:<b>暖通专业</b></span>
+        <span class="name">所属系统:<b>供暖系统</b></span>
+      </p>
+
+    </template>
+    <template v-else-if="headerShow =='tabs'"><div style="margin-top: -30px"></div></template>
+    <template v-else>
+      <h4>{{name}}xxxx</h4>
+      <p class="top">
+        <span class="code">编码:<b>{{code}}</b></span>
+        <span class="name">名称:<b>{{name}}</b></span>
+      </p>
+
+    </template>
+
+    <div class="content">
+      <div class="title">
+        <span class="basic">基本信息</span>
+        <span class="right-message" v-if="!this.$route.query.select">
+        <i class="el-icon-sort mr-20 cursor ">调整信息点顺序</i>
+        <i class="el-icon-plus cursor ">添加信息点</i>
+        </span>
+      </div>
+      <el-table
+        :data="tableData"
+        border style="width: 100%;"
+        :header-cell-style="{background:'#eef1f6'}"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column type="selection" width="55" v-if="this.$route.query.select">
+        </el-table-column>
+        <el-table-column prop="date" label="信息点" align="center"/>
+        <el-table-column prop="name" label="信息点编码" align="center"/>
+        <el-table-column prop="type" label="数据类型" align="center"/>
+        <el-table-column prop="unit" label="单位" align="center"/>
+        <el-table-column prop="code" label="字典选择" align="center"/>
+        <el-table-column prop="beizhu" label="备注" align="center" v-if="this.$route.query.select"/>
+        <el-table-column label="操作" align="center" v-else>
+          <template slot-scope="scope">
+            <span @click="handleEdit(scope.$index,scope.row) " class="el-icon-edit cursor"></span>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <div class="content">
+      <div class="title">
+        <span class="basic">台账信息-设备厂家</span>
+
+        <span class="right-message" v-if="!this.$route.query.select">
+        <i class="el-icon-sort mr-20 cursor ">调整信息点顺序</i>
+        <i class="el-icon-plus cursor ">添加信息点</i>
+        </span>
+      </div>
+      <el-table
+        :data="tableData"
+        border style="width: 100%;"
+        :header-cell-style="{background:'#eef1f6'}"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column type="selection" width="55" v-if="this.$route.query.select">
+        </el-table-column>
+        <el-table-column prop="date" label="信息点" align="center"/>
+        <el-table-column prop="name" label="信息点编码" align="center"/>
+        <el-table-column prop="type" label="数据类型" align="center"/>
+        <el-table-column prop="unit" label="单位" align="center"/>
+        <el-table-column prop="code" label="字典选择" align="center"/>
+        <el-table-column prop="beizhu" label="备注" align="center" v-if="this.$route.query.select"/>
+        <el-table-column label="操作" align="center" v-else>
+          <template slot-scope="scope">
+            <span @click="handleEdit(scope.$index,scope.row) " class="el-icon-edit cursor"></span>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+  </div>
+</template>
+
+<script>
+  export default {
+    name: "informationTable",
+    props: ['name', 'code', 'headerShow'],
+    data() {
+      return {
+        multipleSelection: [],
+        tableData: [{
+          date: '2016-05-02',
+          name: 'Specification',
+          type: '字符串/单/区间',
+          unit: 'm',
+          code: '王小虎',
+          beizhu: ''
+        }, {
+          date: '2016-05-04',
+          name: '王小虎',
+        }, {
+          date: '2016-05-01',
+          name: '王小虎',
+        }, {
+          date: '2016-05-03',
+          name: '王小虎',
+        }]
+      }
+
+    },
+    created() {
+      console.log(this.$route.query.select)
+    },
+    methods: {
+      handleEdit(index, row) {
+
+      },
+      handleSelectionChange(val) {
+        this.multipleSelection = val;
+      }
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .information-table {
+    margin: 20px;
+
+    h4 {
+      font-size: 16px;
+      margin-bottom: 15px;
+    }
+
+    .top {
+      border-bottom: 1px solid #eeeeee;
+      padding-bottom: 20px;
+
+      .code, .name {
+        color: #999;
+        margin-right: 60px;
+
+        b {
+          color: #1F2429;
+        }
+      }
+    }
+
+    .content {
+      .title {
+        color: #999;
+        position: relative;
+
+        .basic {
+          margin: 20px 0;
+          display: inline-block;
+          /*width: 85%;*/
+        }
+
+        .right-message {
+          position: absolute;
+          top: 20px;
+          right: 0;
+        }
+      }
+
+    }
+
+    .mr-20 {
+      margin-right: 20px;
+    }
+
+    .cursor {
+      cursor: pointer;
+    }
+  }
+</style>

+ 60 - 0
src/components/public/informationTabs.vue

@@ -0,0 +1,60 @@
+<!--
+系统,设备,部件  tabs展现形式
+-->
+
+<template>
+  <div class="information-tabs">
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane
+        v-for="item in tabList"
+        :label="item.label"
+        :name="item.id"
+        :key="item.id"
+      />
+    </el-tabs>
+    <informationTable v-if="showTable" headerShow="tabs"/>
+    <informationDefineType v-if="showDefineType"/>
+  </div>
+</template>
+
+<script>
+  import informationTable from "./informationTable";
+  import informationDefineType from "./informationDefineType";
+
+  export default {
+    name: "informationTabs",
+    components: {informationTable, informationDefineType},
+    data() {
+      return {
+        activeName: '',
+        showTable: false,
+        showDefineType: true,
+        tabList: [
+          {
+            label: '类型定义',
+            id: '0'
+          }, {
+            label: '包含的信息点',
+            id: '1'
+          }
+        ]
+      }
+    },
+    methods: {
+      handleClick(tab, event) {
+        if (tab.label == '包含的信息点') {
+          this.showTable = true
+          this.showDefineType = false
+        } else {
+          this.showTable = false
+          this.showDefineType = true
+        }
+      }
+    }
+
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 141 - 0
src/components/public/informationTree.vue

@@ -0,0 +1,141 @@
+<!--
+系统,设备,部件
+this.$route.query.select:true 可编辑状态 -- 内容管理
+-->
+
+<template>
+  <div class="information-tree">
+    <div class="info-tree">
+      <div class="search-add">
+        <el-input
+          placeholder="输入类型名称or编码搜索"
+          :style="{'width':!this.$route.query.add ? '82%':'100%'}"
+          v-model="search">
+          <i slot="suffix" class="el-input__icon el-icon-search"></i>
+        </el-input>
+        <el-button icon="el-icon-plus" v-if="!this.$route.query.add"></el-button>
+      </div>
+
+      <el-tree
+        v-if="this.$route.query.select"
+        :data="data"
+        show-checkbox
+        default-expand-all
+        node-key="id"
+        ref="tree"
+        highlight-current
+        :props="defaultProps"
+        :filter-node-method="filterNode"
+      />
+      <el-tree
+        v-else
+        class="filter-tree"
+        :data="data"
+        :props="defaultProps"
+        default-expand-all
+        :filter-node-method="filterNode"
+        ref="tree"
+      />
+    </div>
+
+    <div class="info-tabs">
+      <template v-if="this.$route.query.select">
+        <informationTable headerShow="tree"/>
+      </template>
+      <template v-else>
+        <informationTabs/>
+      </template>
+    </div>
+  </div>
+</template>
+
+<script>
+  import informationTable from "./informationTable";
+  import informationTabs from "./informationTabs";
+
+  export default {
+    name: "informationTree",
+    components: {informationTable, informationTabs},
+    data() {
+      return {
+        search: '',
+        defaultProps: {
+          children: 'children',
+          label: 'label'
+        },
+        data: [{
+          id: 1,
+          label: '一级 1',
+          children: [{
+            id: 4,
+            label: '二级 1-1',
+            children: [{
+              id: 9,
+              label: '三级 1-1-1'
+            }, {
+              id: 10,
+              label: '三级 1-1-2'
+            }]
+          }]
+        }, {
+          id: 2,
+          label: '一级 2',
+          children: [{
+            id: 5,
+            label: '二级 2-1'
+          }, {
+            id: 6,
+            label: '二级 2-2'
+          }]
+        }, {
+          id: 3,
+          label: '一级 3',
+          children: [{
+            id: 7,
+            label: '二级 3-1'
+          }, {
+            id: 8,
+            label: '二级 3-2'
+          }]
+        }],
+      }
+    },
+    watch: {
+      search(val) {
+        this.$refs.tree.filter(val)
+      }
+    },
+    methods: {
+      filterNode(value, data) {
+        if (!value) return true;
+        return data.label.indexOf(value) !== -1;
+      }
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .information-tree {
+    background: #ffffff;
+    display: flex;
+    height: 100%;
+    margin: 0 20px;
+    overflow: hidden;
+
+    .info-tree {
+      width: 17%;
+      height: 100%;
+      border-right: 1px solid #eeeeee;
+      margin-right: 10px;
+      padding-right: 10px;
+
+      .search-add {
+
+      }
+    }
+
+    .info-tabs {
+      flex-grow: 1;
+    }
+  }
+</style>

+ 111 - 0
src/components/public/tabs.vue

@@ -0,0 +1,111 @@
+<template>
+  <div class="tabs-component">
+    <el-tabs v-model="activeName" type="card" @tab-click="handleClick" class="tabs">
+      <el-tab-pane
+        v-for="item in tabList"
+        :key="item.name"
+        :label="item.label"
+        :name="item.name"
+      >
+      </el-tab-pane>
+    </el-tabs>
+    <el-switch v-model="switchValue" active-text="只看已选内容" class="switch"/>
+
+    <informationTable v-if="showInformationTable" :name="name" :code="code"/>
+    <informationTree v-if="showInformationTree"/>
+    <informationSelect v-if="showInformationSelect"/>
+  </div>
+</template>
+
+<script>
+  import informationTable from "./informationTable";
+  import informationTree from "./informationTree";
+  import informationSelect from "./informationSelect";
+
+  export default {
+    name: "tabs",
+    components: {informationTable, informationTree, informationSelect},
+    data() {
+      return {
+        activeName: 'shebei',
+        switchValue: true,
+        showInformationTable: false,
+        showInformationTree: false,
+        showInformationSelect: false,
+        code: '',
+        name: '',
+        tabList: [
+          {
+            label: '项目',
+            name: 'Pj',
+          }, {
+            label: '建筑',
+            name: 'Build',
+          }, {
+            label: '楼层',
+            name: 'Floor',
+          }, {
+            label: '业务空间',
+            name: 'yewukongjian'
+          }, {
+            label: '竖井',
+            name: 'shujing'
+          }, {
+            label: '租户',
+            name: 'zuhu'
+          }, {
+            label: '系统',
+            name: 'xitong'
+          }, {
+            label: '设备',
+            name: 'shebei'
+          }, {
+            label: '部件',
+            name: 'bujian'
+          }, {
+            label: ' 资产',
+            name: 'zichan'
+          },
+        ]
+      }
+    },
+    methods: {
+      handleClick(tab, event) {
+        if (tab.name == 'Pj' || tab.name == 'Build' || tab.name == 'Floor' || tab.name == 'shujing' || tab.name == 'zuhu') {
+          this.code = tab.name
+          this.name = tab.label
+          this.showInformationTable = true
+          this.showInformationTree = false
+          this.showInformationSelect = false
+
+        } else if (tab.name == 'xitong' || tab.name == 'shebei' || tab.name == 'bujian') {
+          this.showInformationTree = true
+          this.showInformationTable = false
+          this.showInformationSelect = false
+
+        } else {
+          this.showInformationTable = false
+          this.showInformationTree = false
+          this.showInformationSelect = true
+
+        }
+      }
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .tabs-component {
+    height: calc(100% - 100px);
+
+    .tabs {
+      margin: 20px;
+    }
+
+    .switch {
+      position: absolute;
+      right: 25px;
+      top: 25px;
+    }
+  }
+</style>

+ 1 - 0
src/main.js

@@ -20,6 +20,7 @@ import '@/assets/style/iconfont/iconfont.css'
 import componentsPlugin from '@/framework/plugins/components'
 Vue.use(componentsPlugin)
 
+
 Vue.config.productionTip = false
 Vue.config.devtools = true;
 /* eslint-disable no-new */

+ 43 - 5
src/router/system.js

@@ -8,10 +8,20 @@ import manageGroup from '@/views/manage/group'
 import manageProject from '@/views/manage/project'
 //集团字典
 import groupDictionaries from '@/views/group'
+//集团审核记录
+import groupAuditRecord from '@/views/group/auditRecord'
+//内容管理
+import groupContentManagement from "@/views/group/contentManagement";
 //项目字典
 import projectDictionaries from '@/views/project'
+//项目审核记录
+import projectAuditRecord from '@/views/project/auditRecord'
 //变更审核
 import record from '@/views/record'
+//字典审核记录
+import recordAuditRecord from '@/views/record/auditRecord'
+//变更审核
+import recordChangeReview from '@/views/record/changeReview'
 
 export default [
   {
@@ -44,7 +54,7 @@ export default [
     ]
   },
   {
-    path: '/project',
+    path: 'group',
     name: 'LayoutMain',
     component: LayoutMain,
     children: [
@@ -52,7 +62,19 @@ export default [
         path: '/group',
         name: 'groupDictionaries',
         component: groupDictionaries,
-        meta: {keepAlive: false, breadcrumbs: [{label: '集团字典'}]}
+        meta: {keepAlive: false, breadcrumbs: [{label: '集团字典'}]},
+      },
+      {
+        path: '/group/contentManagement',
+        name: 'groupContentManagement',
+        component: groupContentManagement,
+        meta: {keepAlive: false, breadcrumbs: [{label: '集团字典'}, {label: '内容变更'}]}
+      },
+      {
+        path: '/group/auditRecord',
+        name: 'groupAuditRecord',
+        component: groupAuditRecord,
+        meta: {keepAlive: false, breadcrumbs: [{label: '集团字典'}, {label: '审核记录'}]}
       },
 
     ]
@@ -68,10 +90,15 @@ export default [
         component: projectDictionaries,
         meta: {keepAlive: false, breadcrumbs: [{label: '项目字典'}]}
       },
-
+      {
+        path: '/project/auditRecord',
+        name: 'projectAuditRecord',
+        component: projectAuditRecord,
+        meta: {keepAlive: false, breadcrumbs: [{label: '项目字典'}, {label: '审核记录'}]}
+      },
     ]
   }, {
-    path: '/project',
+    path: '/record',
     name: 'LayoutMain',
     component: LayoutMain,
     children: [
@@ -79,10 +106,21 @@ export default [
         path: '/record',
         name: 'record',
         component: record,
+        meta: {keepAlive: false, breadcrumbs: [{label: '字典变更审核'}]}
+      },
+      {
+        path: '/record/auditRecord',
+        name: 'recordAuditRecord',
+        component: recordAuditRecord,
+        meta: {keepAlive: false, breadcrumbs: [{label: '字典变更审核'}]}
+      },
+      {
+        path: '/record/changeReview',
+        name: 'recordChangeReview',
+        component: recordChangeReview,
         meta: {keepAlive: false, breadcrumbs: [{label: '变更审核'}]}
       },
 
-
     ]
   },
 ]

+ 131 - 0
src/views/group/auditRecord.vue

@@ -0,0 +1,131 @@
+<template>
+  <div class="saga-audit-record">
+    <div class="header">
+     <span>时间段:
+     <el-date-picker
+       v-model="dataValue"
+       type="daterange"
+       range-separator="至"
+       start-placeholder="开始日期"
+       end-placeholder="结束日期"
+     />
+     </span>
+      <span style="margin-left: 20px">
+          对象类型:
+      <el-select v-model="value" placeholder="请选择">
+        <el-option
+          v-for="item in options"
+          :key="item.value"
+          :label="item.label"
+          :value="item.value">
+        </el-option>
+      </el-select>
+      </span>
+      <span style="margin-left: 20px">
+          审核状态:
+      <el-select v-model="value" placeholder="请选择">
+        <el-option
+          v-for="item in options"
+          :key="item.value"
+          :label="item.label"
+          :value="item.value">
+        </el-option>
+      </el-select>
+      </span>
+    </div>
+    <div class="content">
+      <el-table :data="tableData" height="700" border style="width: 100%;" :header-cell-style="{background:'#eef1f6'}">
+        <el-table-column prop="date" label="审核完成时间" align="center"/>
+        <el-table-column prop="name" label="对象类型" align="center"/>
+        <el-table-column prop="name" label="变更类型" align="center"/>
+        <el-table-column prop="name" label="内容" align="center"/>
+        <el-table-column prop="name" label="申请人" align="center"/>
+        <el-table-column prop="name" label="审核状态" align="center"/>
+        <el-table-column prop="name" label="不通过原因" align="center"/>
+        <el-table-column prop="name" label="审核人" align="center"/>
+      </el-table>
+    </div>
+    <div class="footer">
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="currentPage"
+        :page-sizes="[100, 200, 300, 400]"
+        :page-size="100"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="400"
+      />
+    </div>
+  </div>
+</template>
+
+<script>
+
+  export default {
+    name: "auditRecord",
+    components: {},
+    data() {
+      return {
+        currentPage: 0,
+        dataValue: '',
+        value: '',
+        options: [],
+        tableData: [{
+          date: '2016-05-02',
+          name: '王小虎',
+        }, {
+          date: '2016-05-04',
+          name: '王小虎',
+        }, {
+          date: '2016-05-01',
+          name: '王小虎',
+        }, {
+          date: '2016-05-03',
+          name: '王小虎',
+        }]
+      }
+    },
+    methods: {
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`);
+      },
+      handleCurrentChange(val) {
+        console.log(`当前页: ${val}`);
+      }
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .saga-audit-record {
+    background: #ffffff;
+    border: 1px solid #eee;
+
+    .header {
+      margin: 20px;
+      overflow: hidden;
+
+      .search {
+        float: left;
+        width: 20%;
+      }
+
+      .button {
+        float: right;
+      }
+    }
+
+    .content {
+      margin-top: 20px;
+
+      .cursor {
+        cursor: pointer;
+      }
+    }
+    .footer{
+      position: absolute;
+      bottom: 30px;
+      left: 40%;
+    }
+  }
+</style>

+ 44 - 0
src/views/group/contentManagement.vue

@@ -0,0 +1,44 @@
+<template>
+  <div class="content-management">
+    <tabsComponent ref="tabs"/>
+  </div>
+
+</template>
+
+<script>
+  import tabsComponent from "../../components/public/tabs";
+
+  export default {
+    name: "groupContentManagement",
+    components: {tabsComponent},
+    created() {
+
+      // this.$store.dispatch('setBreadcrumb', [{
+      //   label: '集团字典',
+      //   path: '/group'
+      // }, {
+      //   label: '内容变更',
+      //   path: '/group/contentManagement'
+      // },
+      //   // {
+      //   //   label: localStorage.getItem('RelationTypeName'),
+      //   // },
+      // ])
+    },
+    mounted() {
+      this.$nextTick(()=> {
+        this.$refs.tabs.showInformationTree = true
+      })
+    }
+
+
+  }
+</script>
+
+<style scoped lang="scss">
+  .content-management {
+    background: #ffffff;
+    position: relative;
+
+  }
+</style>

+ 80 - 6
src/views/group/index.vue

@@ -17,21 +17,41 @@
     </div>
     <div class="group-list">
       <div class="top">
-        <span class="text">集团字典待审核的申请:<b>80</b></span>
-<!--        <el-button type="text" class="btn">查看审核记录</el-button>-->
-<!--        <el-button type="primary" class="btn">管理集团字典</el-button>-->
+        <p class="text">集团字典待审核的申请:<b>80</b></p>
+        <el-button type="text" class="btn" @click="handleAuditRecord">查看审核记录</el-button>
+        <el-button type="primary" class="btn" @click="administrationDictionaries">管理集团字典</el-button>
+      </div>
+      <div class="content">
+        <el-button type="default" class="add-programme" @click="addProgramme"> 添加方案</el-button>
+        <el-table :data="tableData" stripe style="width: 100%;" :header-cell-style="{background:'#eef1f6'}">
+          <el-table-column prop="group" label="方案名称" align="center"/>
+          <el-table-column prop="date" label="备注" align="center"/>
+          <el-table-column prop="name" label="使用该方案的项目" align="center"/>
+          <el-table-column label="操作" align="center">
+            <template slot-scope="scope">
+              <el-button @click="handleRelation(scope.$index,scope.row) " type="text" class="cursor">内容管理</el-button>
+              <el-button @click="handleEdit(scope.$index,scope.row) " type="text" class="cursor">修改信息</el-button>
+              <el-button @click="handleDelete(scope.$index,scope.row) " type="text" class="cursor"> 删除</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
       </div>
     </div>
+    <programmeDialog :title="title" ref="programme"/>
   </div>
 </template>
 
 <script>
+  import programmeDialog from "../../components/group/programmeDialog";
+
   export default {
     name: "index",
     data() {
       return {
         groupName: '',
         idx: 0,
+        title: '',
+        active: '',
         groupList: [
           {
             name: '集团名称',
@@ -45,12 +65,61 @@
             name: '集团名称',
             id: '2'
           }
-        ]
+        ],
+        tableData: [
+          {
+            date: '2016-05-02',
+            name: '王小虎',
+            group: '万达'
+          }, {
+            date: '2016-05-04',
+            name: '王小虎',
+            group: '万达'
+
+          }, {
+            date: '2016-05-01',
+            name: '王小虎',
+            group: '万达'
+
+          }, {
+            date: '2016-05-03',
+            name: '王小虎',
+            group: '万达'
+          }],
       }
     },
+    components: {programmeDialog},
+
     methods: {
       handleGroup(index, item) {
         this.idx = index
+      },
+      handleEdit(index, row) {
+        this.title = '修改方案'
+        this.$refs.programme.handleDialog()
+      },
+      handleRelation(index, row) {
+        this.$router.push({
+          path: 'group/contentManagement',
+          query: {select: true}
+        })
+      },
+      handleDelete(index, row) {
+
+      },
+      addProgramme() {
+        this.title = '添加方案'
+        this.$refs.programme.handleDialog()
+      },
+      administrationDictionaries() {
+        this.$router.push({
+          path: 'group/contentManagement',
+        })
+      },
+      handleAuditRecord() {
+        this.$router.push({
+          path: 'group/auditRecord',
+        })
       }
     }
   }
@@ -110,7 +179,7 @@
           font-size: 17px;
           display: inline-block;
           margin-left: 30px;
-          float: left;
+          width: 80%;
 
           b {
             font-weight: 600;
@@ -118,8 +187,13 @@
           }
         }
 
-        .btn {
 
+      }
+
+      .content {
+        .add-programme {
+          float: right;
+          margin: 20px 50px 20px 0;
         }
       }
     }

+ 2 - 1
src/views/manage/project/index.vue

@@ -46,7 +46,8 @@
       return {
         value: '',
         title: '',
-        tableData: [{
+        tableData: [
+          {
           date: '2016-05-02',
           name: '王小虎',
           group: '万达'

+ 144 - 0
src/views/project/auditRecord.vue

@@ -0,0 +1,144 @@
+<template>
+  <div class="saga-audit-record">
+    <div class="header">
+     <span>时间段:
+     <el-date-picker
+       v-model="dataValue"
+       type="daterange"
+       range-separator="至"
+       start-placeholder="开始日期"
+       end-placeholder="结束日期"
+     />
+     </span>
+      <span style="margin-left: 20px">
+          项目:
+      <el-select v-model="value" placeholder="请选择">
+        <el-option
+          v-for="item in options"
+          :key="item.value"
+          :label="item.label"
+          :value="item.value">
+        </el-option>
+      </el-select>
+      </span>
+      <span style="margin-left: 20px">
+          对象类型:
+      <el-select v-model="value" placeholder="请选择">
+        <el-option
+          v-for="item in options"
+          :key="item.value"
+          :label="item.label"
+          :value="item.value">
+        </el-option>
+      </el-select>
+      </span>
+      <span style="margin-left: 20px">
+          审核状态:
+      <el-select v-model="value" placeholder="请选择">
+        <el-option
+          v-for="item in options"
+          :key="item.value"
+          :label="item.label"
+          :value="item.value">
+        </el-option>
+      </el-select>
+      </span>
+    </div>
+    <div class="content">
+      <el-table :data="tableData" height="700" border style="width: 100%;" :header-cell-style="{background:'#eef1f6'}">
+        <el-table-column prop="date" label="审核完成时间" align="center"/>
+        <el-table-column prop="name" label="集团" align="center"/>
+        <el-table-column prop="name" label="项目" align="center"/>
+        <el-table-column prop="name" label="对象类型" align="center"/>
+        <el-table-column prop="name" label="变更类型" align="center"/>
+        <el-table-column prop="name" label="内容" align="center"/>
+        <el-table-column prop="name" label="申请人" align="center"/>
+        <el-table-column prop="name" label="审核状态" align="center"/>
+        <el-table-column prop="name" label="不通过原因" align="center"/>
+        <el-table-column prop="name" label="审核人" align="center"/>
+      </el-table>
+    </div>
+    <div class="footer">
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="currentPage"
+        :page-sizes="[100, 200, 300, 400]"
+        :page-size="100"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="400"
+      />
+    </div>
+  </div>
+</template>
+
+<script>
+
+  export default {
+    name: "auditRecord",
+    components: {},
+    data() {
+      return {
+        currentPage: 0,
+        dataValue: '',
+        value: '',
+        options: [],
+        tableData: [{
+          date: '2016-05-02',
+          name: '王小虎',
+        }, {
+          date: '2016-05-04',
+          name: '王小虎',
+        }, {
+          date: '2016-05-01',
+          name: '王小虎',
+        }, {
+          date: '2016-05-03',
+          name: '王小虎',
+        }]
+      }
+    },
+    methods: {
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`);
+      },
+      handleCurrentChange(val) {
+        console.log(`当前页: ${val}`);
+      }
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .saga-audit-record {
+    background: #ffffff;
+    border: 1px solid #eee;
+
+    .header {
+      margin: 20px;
+      overflow: hidden;
+
+      .search {
+        float: left;
+        width: 20%;
+      }
+
+      .button {
+        float: right;
+      }
+    }
+
+    .content {
+      margin-top: 20px;
+
+      .cursor {
+        cursor: pointer;
+      }
+    }
+    .footer{
+      position: absolute;
+      bottom: 30px;
+      left: 40%;
+    }
+  }
+</style>

+ 97 - 3
src/views/project/index.vue

@@ -1,13 +1,107 @@
 <template>
+  <div class="saga-project">
+    <div class="header">
+      <el-input placeholder="输入项目名称进行搜索" v-model="value" class="search">
+        <i slot="suffix" class="el-input__icon el-icon-search"></i>
+      </el-input>
+      <span style="margin-left: 20px">
+          所属集团:
+      <el-select v-model="value" placeholder="请选择">
+        <el-option
+          v-for="item in options"
+          :key="item.value"
+          :label="item.label"
+          :value="item.value">
+        </el-option>
+      </el-select>
+      </span>
 
+      <el-button class="button" @click="lookExamine" type="text">查看审核记录</el-button>
+    </div>
+    <div class="content">
+      <el-table :data="tableData" stripe style="width: 100%;" :header-cell-style="{background:'#eef1f6'}">
+        <el-table-column prop="date" label="所属集团" align="center"/>
+        <el-table-column prop="name" label="项目名称" align="center"/>
+        <el-table-column prop="name" label="项目id" align="center"/>
+        <el-table-column prop="name" label="使用的集团方案" align="center"/>
+        <el-table-column prop="name" label="待审核的申请" align="center"/>
+        <el-table-column label="操作" align="center">
+          <template slot-scope="scope">
+            <el-button @click="handleRelation(scope.$index,scope.row) " type="text">管理项目字典</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+
+
+  </div>
 </template>
 
 <script>
-    export default {
-        name: "index"
+
+  export default {
+    name: "project",
+    components: {},
+    data() {
+      return {
+        value: '',
+        options: [],
+        tableData: [{
+          date: '2016-05-02',
+          name: '王小虎',
+        }, {
+          date: '2016-05-04',
+          name: '王小虎',
+        }, {
+          date: '2016-05-01',
+          name: '王小虎',
+        }, {
+          date: '2016-05-03',
+          name: '王小虎',
+        }]
+      }
+    },
+    methods: {
+      lookExamine() {
+        this.$router.push({
+          path: 'project/auditRecord',
+        })
+      },
+      handleRelation(index, row) {
+        this.$router.push({
+          path: 'group/contentManagement',
+          query: {add: 'no'}
+        })
+      }
     }
+  }
 </script>
 
-<style scoped>
+<style scoped lang="scss">
+  .saga-project {
+    background: #ffffff;
+    border: 1px solid #eee;
+
+    .header {
+      margin: 20px;
+      overflow: hidden;
+
+      .search {
+        float: left;
+        width: 20%;
+      }
 
+      .button {
+        float: right;
+      }
+    }
+
+    .content {
+      margin-top: 20px;
+
+      .cursor {
+        cursor: pointer;
+      }
+    }
+  }
 </style>

+ 144 - 0
src/views/record/auditRecord.vue

@@ -0,0 +1,144 @@
+<template>
+  <div class="saga-audit-record">
+    <div class="header">
+     <span>时间段:
+     <el-date-picker
+       v-model="dataValue"
+       type="daterange"
+       range-separator="至"
+       start-placeholder="开始日期"
+       end-placeholder="结束日期"
+     />
+     </span>
+      <span style="margin-left: 20px">
+          项目/集团:
+      <el-select v-model="value" placeholder="请选择">
+        <el-option
+          v-for="item in options"
+          :key="item.value"
+          :label="item.label"
+          :value="item.value">
+        </el-option>
+      </el-select>
+      </span>
+      <span style="margin-left: 20px">
+          对象类型:
+      <el-select v-model="value" placeholder="请选择">
+        <el-option
+          v-for="item in options"
+          :key="item.value"
+          :label="item.label"
+          :value="item.value">
+        </el-option>
+      </el-select>
+      </span>
+      <span style="margin-left: 20px">
+          审核状态:
+      <el-select v-model="value" placeholder="请选择">
+        <el-option
+          v-for="item in options"
+          :key="item.value"
+          :label="item.label"
+          :value="item.value">
+        </el-option>
+      </el-select>
+      </span>
+    </div>
+    <div class="content">
+      <el-table :data="tableData" height="700" border style="width: 100%;" :header-cell-style="{background:'#eef1f6'}">
+        <el-table-column prop="date" label="审核完成时间" align="center"/>
+        <el-table-column prop="name" label="集团" align="center"/>
+        <el-table-column prop="name" label="项目" align="center"/>
+        <el-table-column prop="name" label="对象类型" align="center"/>
+        <el-table-column prop="name" label="变更类型" align="center"/>
+        <el-table-column prop="name" label="内容" align="center"/>
+        <el-table-column prop="name" label="申请人" align="center"/>
+        <el-table-column prop="name" label="审核状态" align="center"/>
+        <el-table-column prop="name" label="不通过原因" align="center"/>
+        <el-table-column prop="name" label="审核人" align="center"/>
+      </el-table>
+    </div>
+    <div class="footer">
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="currentPage"
+        :page-sizes="[100, 200, 300, 400]"
+        :page-size="100"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="400"
+      />
+    </div>
+  </div>
+</template>
+
+<script>
+
+  export default {
+    name: "auditRecord",
+    components: {},
+    data() {
+      return {
+        currentPage: 0,
+        dataValue: '',
+        value: '',
+        options: [],
+        tableData: [{
+          date: '2016-05-02',
+          name: '王小虎',
+        }, {
+          date: '2016-05-04',
+          name: '王小虎',
+        }, {
+          date: '2016-05-01',
+          name: '王小虎',
+        }, {
+          date: '2016-05-03',
+          name: '王小虎',
+        }]
+      }
+    },
+    methods: {
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`);
+      },
+      handleCurrentChange(val) {
+        console.log(`当前页: ${val}`);
+      }
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .saga-audit-record {
+    background: #ffffff;
+    border: 1px solid #eee;
+
+    .header {
+      margin: 20px;
+      overflow: hidden;
+
+      .search {
+        float: left;
+        width: 20%;
+      }
+
+      .button {
+        float: right;
+      }
+    }
+
+    .content {
+      margin-top: 20px;
+
+      .cursor {
+        cursor: pointer;
+      }
+    }
+    .footer{
+      position: absolute;
+      bottom: 30px;
+      left: 40%;
+    }
+  }
+</style>

+ 155 - 0
src/views/record/changeReview.vue

@@ -0,0 +1,155 @@
+<template>
+  <div class="saga-audit-review">
+    <div class="header">
+      <p class="header-text">
+        <span>xxxxx集团待审核内容</span>
+        <span style="float: right;padding-left: 40px">新增对象类型<b>30</b></span>
+        <span style="float: right;">修改对象类型<b>20</b></span>
+      </p>
+      <el-input placeholder="名称搜索" v-model="value" class="search">
+        <i slot="suffix" class="el-input__icon el-icon-search"></i>
+      </el-input>
+      <span style="margin-left: 20px">
+
+      <el-select v-model="value" placeholder="请选择">
+        <el-option
+          v-for="item in options"
+          :key="item.value"
+          :label="item.label"
+          :value="item.value">
+        </el-option>
+      </el-select>
+      </span>
+      <span style="margin-left: 20px">
+      <el-select v-model="value" placeholder="请选择">
+        <el-option
+          v-for="item in options"
+          :key="item.value"
+          :label="item.label"
+          :value="item.value">
+        </el-option>
+      </el-select>
+      </span>
+    </div>
+    <div class="content">
+      <el-table :data="tableData" height="700" border style="width: 100%;" :header-cell-style="{background:'#eef1f6'}">
+        <el-table-column prop="name" label="对象类型" align="center"/>
+        <el-table-column prop="type" label="变更类型" align="center"/>
+        <el-table-column prop="name" label="待审核任务" align="center"/>
+        <el-table-column label="操作" align="center">
+          <template slot-scope="scope">
+            <el-button @click="handleChangeView(scope.$index,scope.row) " type="text">去处理</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <div class="footer">
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="currentPage"
+        :page-sizes="[100, 200, 300, 400]"
+        :page-size="100"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="400"
+      />
+    </div>
+  </div>
+</template>
+
+<script>
+
+  export default {
+    name: "changeReview",
+    components: {},
+    data() {
+      return {
+        currentPage: 0,
+        dataValue: '',
+        value: '',
+        options: [],
+        tableData: [{
+          date: '2016-05-02',
+          name: '王小虎',
+          type: '新增'
+        }, {
+          date: '2016-05-04',
+          name: '王小虎',
+          type: '新增'
+        }, {
+          date: '2016-05-01',
+          name: '王小虎',
+          type: '修改'
+        }, {
+          date: '2016-05-03',
+          name: '王小虎',
+          type: '修改'
+        }]
+      }
+    },
+    methods: {
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`);
+      },
+      handleCurrentChange(val) {
+        console.log(`当前页: ${val}`);
+      },
+      handleChangeView(index, row) {
+        if (row.type == '新增') {
+          this.$router.push({})
+        } else {
+          this.$router.push({})
+
+        }
+      }
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .saga-audit-review {
+    background: #ffffff;
+    border: 1px solid #eee;
+
+    .header {
+      margin: 0 20px 20px 20px;
+      overflow: hidden;
+
+      .header-text {
+        height: 50px;
+        line-height: 50px;
+        border-bottom: 1px solid #ccc;
+        margin-bottom: 10px;
+        font-size: 17px;
+
+        b {
+          margin-left: 20px;
+          font-weight: 600;
+        }
+      }
+
+      .search {
+        float: left;
+        width: 20%;
+      }
+
+      .button {
+        float: right;
+      }
+    }
+
+    .content {
+      margin-top: 20px;
+
+      .cursor {
+        cursor: pointer;
+      }
+    }
+
+    .footer {
+      position: absolute;
+      bottom: 30px;
+      left: 40%;
+    }
+  }
+</style>

+ 86 - 3
src/views/record/index.vue

@@ -1,13 +1,96 @@
 <template>
+  <div class="saga-project">
+    <div class="header">
+      <el-input placeholder="输入集团、项目名称搜索" v-model="value" class="search">
+        <i slot="suffix" class="el-input__icon el-icon-search"></i>
+      </el-input>
 
+      <el-button class="button" @click="lookExamine" type="text">查看审核记录</el-button>
+    </div>
+    <div class="content">
+      <el-table :data="tableData" stripe style="width: 100%;" :header-cell-style="{background:'#eef1f6'}">
+        <el-table-column prop="date" label="集团名称" align="center"/>
+        <el-table-column prop="name" label="项目名称" align="center"/>
+        <el-table-column prop="name" label="字典类型" align="center"/>
+        <el-table-column prop="name" label="待审核任务" align="center"/>
+        <el-table-column prop="name" label="审核已耗时" align="center"/>
+        <el-table-column prop="name" label="最新申请时间" align="center"/>
+        <el-table-column label="操作" align="center">
+          <template slot-scope="scope">
+            <el-button @click="handleRelation(scope.$index,scope.row) " type="text">去处理</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+
+
+  </div>
 </template>
 
 <script>
-    export default {
-        name: "index"
+
+  export default {
+    name: "project",
+    components: {},
+    data() {
+      return {
+        value: '',
+        options: [],
+        tableData: [{
+          date: '2016-05-02',
+          name: '王小虎',
+        }, {
+          date: '2016-05-04',
+          name: '王小虎',
+        }, {
+          date: '2016-05-01',
+          name: '王小虎',
+        }, {
+          date: '2016-05-03',
+          name: '王小虎',
+        }]
+      }
+    },
+    methods: {
+      lookExamine() {
+        this.$router.push({
+          path: 'record/auditRecord',
+        })
+      },
+      handleRelation(index, row) {
+        this.$router.push({
+          path: 'record/changeReview',
+        })
+      }
     }
+  }
 </script>
 
-<style scoped>
+<style scoped lang="scss">
+  .saga-project {
+    background: #ffffff;
+    border: 1px solid #eee;
+
+    .header {
+      margin: 20px;
+      overflow: hidden;
+
+      .search {
+        float: left;
+        width: 20%;
+      }
 
+      .button {
+        float: right;
+      }
+    }
+
+    .content {
+      margin-top: 20px;
+
+      .cursor {
+        cursor: pointer;
+      }
+    }
+  }
 </style>