瀏覽代碼

施工单位模块,评价标准模块

lem 3 年之前
父節點
當前提交
3db73a8940

+ 130 - 0
src/views/modules/constructionunit/ConstructionUnitForm.vue

@@ -0,0 +1,130 @@
+<template>
+<div>
+  <el-dialog
+    :title="title"
+    :close-on-click-modal="false"
+    :visible.sync="visible">
+    <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
+             label-width="120px">
+      <el-row  :gutter="15">
+        <el-col :span="12">
+            <el-form-item label="评价年份" prop="yearOfEvaluation"
+                :rules="[
+                  {required: true, message:'评价年份不能为空', trigger:'blur'}
+                 ]">
+                <el-date-picker
+                      :disabled="method === 'view' || method === 'edit'"
+                      style="width: 100%;"
+                      v-model="inputForm.yearOfEvaluation"
+                      type="year"
+                      value-format="yyyy"
+                      placeholder="选择年份">
+                    </el-date-picker>
+           </el-form-item>
+        </el-col>
+        <el-col :span="12">
+            <el-form-item label="单位名称" prop="unitName"
+                :rules="[
+                  {required: true, message:'单位名称不能为空', trigger:'blur'}
+                 ]">
+              <el-input v-model="inputForm.unitName" placeholder="请填写单位名称"     ></el-input>
+           </el-form-item>
+        </el-col>
+        </el-row>
+    </el-form>
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="visible = false">关闭</el-button>
+      <el-button type="primary" v-if="method != 'view' && method!='edit'" @click="add()" v-noMoreClick>添加</el-button>、
+      <el-button type="primary" v-if="method != 'view' && method!='add'" @click="update()" v-noMoreClick>修改</el-button>
+    </span>
+  </el-dialog>
+</div>
+</template>
+
+<script>
+  export default {
+    data () {
+      return {
+        title: '',
+        method: '',
+        visible: false,
+        loading: false,
+        inputForm: {
+          id: '',
+          yearOfEvaluation: '',
+          unitName: ''
+        }
+      }
+    },
+    components: {
+    },
+    methods: {
+      init (method, id) {
+        this.method = method
+        this.inputForm.id = id
+        if (method === 'add') {
+          this.title = `新建施工单位`
+        } else if (method === 'edit') {
+          this.title = '修改施工单位'
+        } else if (method === 'view') {
+          this.title = '查看施工单位'
+        }
+        this.visible = true
+        this.loading = false
+        this.$nextTick(() => {
+          this.$refs.inputForm.resetFields()
+          if (method === 'edit' || method === 'view') { // 修改或者查看
+            this.loading = true
+            this.$http({
+              url: `/constructionUnit/constructionUnit/queryById?id=${this.inputForm.id}`,
+              method: 'get'
+            }).then(({data}) => {
+              this.inputForm = this.recover(this.inputForm, data.constructionUnit)
+              this.loading = false
+            })
+          }
+        })
+      },
+      // 表单提交
+      add () {
+        this.$refs['inputForm'].validate((valid) => {
+          if (valid) {
+            this.loading = true
+            this.$http({
+              url: `/constructionUnit/constructionUnit/save`,
+              method: 'post',
+              data: this.inputForm
+            }).then(({data}) => {
+              if (data && data.success) {
+                this.visible = false
+                this.$message.success(data.msg)
+                this.$emit('refreshDataList')
+              }
+              this.loading = false
+            })
+          }
+        })
+      },
+      update () {
+        this.$refs['inputForm'].validate((valid) => {
+          if (valid) {
+            this.loading = true
+            this.$http({
+              url: `/constructionUnit/constructionUnit/update`,
+              method: 'post',
+              data: this.inputForm
+            }).then(({data}) => {
+              if (data && data.success) {
+                this.visible = false
+                this.$message.success(data.msg)
+                this.$emit('refreshDataList')
+              }
+              this.loading = false
+            })
+          }
+        })
+      }
+
+    }
+  }
+</script>

+ 147 - 0
src/views/modules/constructionunit/ConstructionUnitImportForm.vue

@@ -0,0 +1,147 @@
+<template>
+  <div>
+    <el-dialog
+      :title="title"
+      :close-on-click-modal="false"
+      :visible.sync="visible">
+      <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"
+               :disabled="method==='view'"
+               label-width="120px">
+        <el-row :gutter="15">
+          <el-col :span="12">
+            <el-form-item label="评价年份" prop="yearOfEvaluation"
+                          :rules="[
+                  {required: true, message:'评价年份不能为空', trigger:'blur'}
+                 ]">
+              <el-date-picker
+                :disabled="method === 'view' || method === 'edit'"
+                style="width: 100%;"
+                v-model="inputForm.yearOfEvaluation"
+                type="year"
+                value-format="yyyy"
+                placeholder="选择年份">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="上传文件" prop="fileList"
+                          :rules="[
+                  {required: true, message:'上传文件不能为空', trigger:'blur'}
+                 ]">
+              <el-upload
+                class="upload-demo"
+                ref="upload"
+                v-model="inputForm.fileList"
+                :http-request="httpRequest"
+                :before-upload="beforeUpload"
+                :on-exceed="handleExceed"
+                action
+                :limit="1"
+                :show-file-list="true">
+                <el-button size="small" type="primary">点击上传</el-button>
+                <div slot="tip" class="el-upload__tip">只允许导入“xls”或“xlsx”格式文件!</div>
+              </el-upload>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+      <el-button @click="visible = false">关闭</el-button>
+      <el-button type="primary"  @click="submitImportForm()" v-noMoreClick>确定</el-button>
+    </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  export default {
+    data () {
+      return {
+        title: '',
+        method: '',
+        visible: false,
+        loading: false,
+        inputForm: {
+          id: '',
+          yearOfEvaluation: '',
+          unitName: '',
+          fileList: []
+        }
+      }
+    },
+    components: {},
+    methods: {
+      init (method, id) {
+        this.method = method
+        this.inputForm.id = id
+        if (method === 'add') {
+          this.title = `新建施工单位`
+        } else if (method === 'edit') {
+          this.title = '修改施工单位'
+        } else if (method === 'view') {
+          this.title = '查看施工单位'
+        }
+        this.visible = true
+        this.loading = false
+      },
+      httpRequest (option) {
+        this.inputForm.fileList.push(option)
+      },
+      // 上传前处理
+      beforeUpload (file) {
+        let fileSize = file.size
+        const FIVE_M = 5 * 1024 * 1024
+        // 大于5M,不允许上传
+        if (fileSize > FIVE_M) {
+          this.$message.error('最大上传5M')
+          return false
+        }
+        // 判断文件类型,必须是xlsx格式
+        let fileName = file.name
+        let reg = /^.+(\.xlsx)$/
+        if (!reg.test(fileName)) {
+          this.$message.error('只能上传xlsx!')
+          return false
+        }
+        return true
+      },
+      // 文件数量过多时提醒
+      handleExceed () {
+        this.$message({type: 'error', message: '最多支持1个附件上传'})
+      },
+      submitImportForm () {
+        this.$refs['inputForm'].validate((valid) => {
+          if (valid) {
+            this.loading = true
+            const params = new FormData()
+            this.inputForm.fileList.forEach((x) => {
+              params.append('file', x.file)
+            })
+            // 将输入表单数据添加到params表单中
+            params.append('yearOfEvaluation', this.inputForm.yearOfEvaluation)
+            this.$http({
+              url: `/constructionUnit/constructionUnit/import`,
+              method: 'post',
+              data: params,
+              headers: {
+                'Content-Type': 'multipart/form-data'
+              }
+            }).then(({data}) => {
+              if (data && data.success) {
+                this.visible = false
+                this.$message.success(data.msg)
+                this.$emit('refreshDataList')
+              } else {
+                this.visible = false
+              }
+              this.loading = false
+            })
+          }
+        })
+        this.$refs.inputForm.resetFields()
+        this.$refs.upload.clearFiles()
+        this.inputForm.fileList = []
+      }
+    }
+  }
+</script>

+ 270 - 0
src/views/modules/constructionunit/ConstructionUnitList.vue

@@ -0,0 +1,270 @@
+<template>
+  <div>
+      <el-form :inline="true" v-show="isSearchCollapse" class="query-form" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
+        <!-- 搜索框-->
+        <el-col :span="8">
+          <el-form-item label="评价年份" prop="yearOfEvaluation">
+            <el-date-picker
+              v-model="searchForm.yearOfEvaluation"
+              type="year"
+              size="small"
+              value-format="yyyy"
+              placeholder="选择年份">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="单位名称" prop="unitName">
+            <el-input size="small" v-model="searchForm.unitName" placeholder="单位名称" clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <!-- 搜索框-->
+          <el-form-item>
+            <el-button type="primary" @click="refreshList()" size="small">查询</el-button>
+            <el-button @click="resetSearch()" size="small">重置</el-button>
+          </el-form-item>
+      </el-form>
+        <!-- 导入导出-->
+      <el-form :inline="true" v-show="isImportCollapse"  class="query-form" ref="importForm">
+         <el-form-item>
+          <el-button type="default" @click="downloadTpl()" size="small">下载模板</el-button>
+         </el-form-item>
+         <el-form-item prop="loginName">
+           <el-button type="default" @click="ConstructionUnitImportForm()" size="small">点击上传</el-button>
+<!--            <el-upload-->
+<!--              class="upload-demo"-->
+<!--              :action="`${this.$http.BASE_URL}/constructionUnit/constructionUnit/import`"-->
+<!--              :on-success="uploadSuccess"-->
+<!--               :show-file-list="true">-->
+<!--              <el-button size="small" type="primary">点击上传</el-button>-->
+<!--              <div slot="tip" class="el-upload__tip">只允许导入“xls”或“xlsx”格式文件!</div>-->
+<!--            </el-upload>-->
+        </el-form-item>
+      </el-form>
+      <el-row>
+        <el-button v-if="hasPermission('constructionUnit:constructionUnit:add')" type="primary" size="small" icon="el-icon-plus" @click="add()">新建</el-button>
+        <el-button v-if="hasPermission('constructionUnit:constructionUnit:edit')" type="warning" size="small" icon="el-icon-edit-outline" @click="edit()"
+         :disabled="dataListSelections.length != 1" plain>修改</el-button>
+        <el-button v-if="hasPermission('constructionUnit:constructionUnit:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()"
+                  :disabled="dataListSelections.length <= 0" plain>删除
+        </el-button>
+        <el-button-group class="pull-right">
+            <el-button
+              type="default"
+              size="small"
+              icon="el-icon-search"
+              @click="isSearchCollapse = !isSearchCollapse, isImportCollapse=false">
+            </el-button>
+            <el-button v-if="hasPermission('constructionUnit:constructionUnit:import')" type="default" size="small" icon="el-icon-upload2" title="导入" @click="isImportCollapse = !isImportCollapse, isSearchCollapse=false"></el-button>
+            <el-button v-if="hasPermission('constructionUnit:constructionUnit:export')" type="default" size="small" icon="el-icon-download" title="导出" @click="exportExcel()"></el-button>
+            <el-button
+              type="default"
+              size="small"
+              icon="el-icon-refresh"
+              @click="refreshList">
+            </el-button>
+        </el-button-group>
+      </el-row>
+    <el-table
+      :data="dataList"
+      border
+      size="medium"
+      @selection-change="selectionChangeHandle"
+      @sort-change="sortChangeHandle"
+      v-loading="loading"
+      class="table">
+      <el-table-column
+        type="selection"
+        header-align="center"
+        align="center"
+        width="50">
+      </el-table-column>
+	  <el-table-column
+        prop="yearOfEvaluation"
+        show-overflow-tooltip
+        sortable="custom"
+        label="评价年份">
+            <template slot-scope="scope">
+              <el-link  type="primary" :underline="false" v-if="hasPermission('constructionUnit:constructionUnit:edit')" @click="edit(scope.row.id)">{{scope.row.yearOfEvaluation}}</el-link>
+              <el-link  type="primary" :underline="false" v-else-if="hasPermission('constructionUnit:constructionUnit:view')"  @click="view(scope.row.id)">{{scope.row.yearOfEvaluation}}</el-link>
+              <span v-else>{{scope.row.yearOfEvaluation}}</span>
+            </template>
+      </el-table-column>
+	  <el-table-column
+        prop="unitName"
+        show-overflow-tooltip
+        sortable="custom"
+        label="单位名称">
+      </el-table-column>
+      <!--<el-table-column
+        header-align="center"
+        align="center"
+        fixed="right"
+        width="200"
+        label="操作">
+        <template  slot-scope="scope">
+          <el-button v-if="hasPermission('constructionUnit:constructionUnit:view')" type="text" icon="el-icon-view" size="small" @click="view(scope.row.id)">查看</el-button>
+          <el-button v-if="hasPermission('constructionUnit:constructionUnit:edit')" type="text" icon="el-icon-edit" size="small" @click="edit(scope.row.id)">修改</el-button>
+          <el-button v-if="hasPermission('constructionUnit:constructionUnit:del')" type="text"  icon="el-icon-delete" size="small" @click="del(scope.row.id)">删除</el-button>
+        </template>
+      </el-table-column>-->
+    </el-table>
+    <el-pagination
+      @size-change="sizeChangeHandle"
+      @current-change="currentChangeHandle"
+      :current-page="pageNo"
+      :page-sizes="[10, 20, 50, 100]"
+      :page-size="pageSize"
+      :total="total"
+      background
+      layout="total, sizes, prev, pager, next, jumper">
+    </el-pagination>
+        <!-- 弹窗, 新增 / 修改 -->
+    <ConstructionUnitForm  ref="constructionUnitForm" @refreshDataList="refreshList"></ConstructionUnitForm>
+    <ConstructionUnitImportForm  ref="ConstructionUnitImportForm" @refreshDataList="refreshList"></ConstructionUnitImportForm>
+  </div>
+</template>
+
+<script>
+  import ConstructionUnitForm from './ConstructionUnitForm'
+  import ConstructionUnitImportForm from './ConstructionUnitImportForm'
+  export default {
+    data () {
+      return {
+        searchForm: {
+          yearOfEvaluation: new Date().getFullYear().toString(),
+          unitName: ''
+        },
+        dataList: [],
+        pageNo: 1,
+        pageSize: 10,
+        total: 0,
+        orderBy: '',
+        dataListSelections: [],
+        isSearchCollapse: false,
+        isImportCollapse: false,
+        loading: false
+      }
+    },
+    components: {
+      ConstructionUnitForm,
+      ConstructionUnitImportForm
+    },
+    activated () {
+      this.refreshList()
+    },
+
+    methods: {
+      // 获取数据列表
+      refreshList () {
+        this.loading = true
+        this.$http({
+          url: '/constructionUnit/constructionUnit/list',
+          method: 'get',
+          params: {
+            'pageNo': this.pageNo,
+            'pageSize': this.pageSize,
+            'orderBy': this.orderBy,
+            ...this.searchForm
+          }
+        }).then(({data}) => {
+          if (data && data.success) {
+            this.dataList = data.page.list
+            this.total = data.page.count
+            this.loading = false
+          }
+        })
+      },
+      // 每页数
+      sizeChangeHandle (val) {
+        this.pageSize = val
+        this.pageNo = 1
+        this.refreshList()
+      },
+      // 当前页
+      currentChangeHandle (val) {
+        this.pageNo = val
+        this.refreshList()
+      },
+      // 多选
+      selectionChangeHandle (val) {
+        this.dataListSelections = val
+      },
+
+    // 排序
+      sortChangeHandle (obj) {
+        if (obj.order === 'ascending') {
+          this.orderBy = obj.prop + ' asc'
+        } else if (obj.order === 'descending') {
+          this.orderBy = obj.prop + ' desc'
+        } else {
+          this.orderBy = ''
+        }
+        this.refreshList()
+      },
+      // 上传文件
+      ConstructionUnitImportForm () {
+        this.$refs.ConstructionUnitImportForm.init('add', '')
+      },
+      // 新增
+      add () {
+        this.$refs.constructionUnitForm.init('add', '')
+      },
+      // 修改
+      edit (id) {
+        id = id || this.dataListSelections.map(item => {
+          return item.id
+        })[0]
+        this.$refs.constructionUnitForm.init('edit', id)
+      },
+      // 查看
+      view (id) {
+        this.$refs.constructionUnitForm.init('view', id)
+      },
+      // 删除
+      del (id) {
+        let ids = id || this.dataListSelections.map(item => {
+          return item.id
+        }).join(',')
+        this.$confirm(`确定删除所选项吗?`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.loading = true
+          this.$http({
+            url: '/constructionUnit/constructionUnit/delete',
+            method: 'delete',
+            params: {'ids': ids}
+          }).then(({data}) => {
+            if (data && data.success) {
+              this.$message.success(data.msg)
+              this.refreshList()
+            }
+            this.loading = false
+          })
+        })
+      },
+      // 导入成功
+      uploadSuccess (res, file) {
+        if (res.success) {
+          this.$message.success({dangerouslyUseHTMLString: true,
+            message: res.msg})
+        } else {
+          this.$message.error(res.msg)
+        }
+      },
+      // 下载模板
+      downloadTpl () {
+        this.$utils.download('/constructionUnit/constructionUnit/import/template')
+      },
+      exportExcel () {
+        this.$utils.download('/constructionUnit/constructionUnit/export')
+      },
+      resetSearch () {
+        this.$refs.searchForm.resetFields()
+        this.refreshList()
+      }
+    }
+  }
+</script>

+ 154 - 0
src/views/modules/criterion/EvaluationCriterionForm.vue

@@ -0,0 +1,154 @@
+<template>
+<div>
+  <el-dialog
+    :title="title"
+    :close-on-click-modal="false"
+    :visible.sync="visible">
+    <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
+             label-width="120px">
+      <el-row  :gutter="15">
+        <el-col :span="12">
+            <el-form-item label="是否否决" prop="Veto"
+                :rules="[
+                 ]">
+		            <el-select v-model="inputForm.Veto" placeholder="请选择"  style="width: 100%;">
+                          <el-option
+                            v-for="item in $dictUtils.getDictList('yes_no')"
+                            :key="item.value"
+                            :label="item.label"
+                            :value="item.value">
+                          </el-option>
+                      </el-select>
+           </el-form-item>
+        </el-col>
+        <el-col :span="12">
+            <el-form-item label="备注信息" prop="remarks"
+                :rules="[
+                 ]">
+					<el-input type="textarea" v-model="inputForm.remarks" placeholder="请填写备注信息"     ></el-input>
+           </el-form-item>
+        </el-col>
+        <el-col :span="12">
+            <el-form-item label="父级编号" prop="parent.id"
+                :rules="[
+                 ]">
+           			<SelectTree
+                      ref="parent"
+                      :props="{
+                          value: 'id',             // ID字段名
+                          label: 'name',         // 显示名称
+                          children: 'childNodes'    // 子级字段名
+                        }"
+                      v-if="visible"
+                      :url="`/criterion/evaluationCriterion/treeData?extId=${inputForm.id}`"
+                      :value="inputForm.parent.id"
+                      :clearable="true"
+                      :accordion="true"
+                      @getValue="(value) => {inputForm.parent.id=value}"/>
+           </el-form-item>
+        </el-col>
+        <el-col :span="12">
+            <el-form-item label="名称" prop="name"
+                :rules="[
+                  {required: true, message:'名称不能为空', trigger:'blur'}
+                 ]">
+			        <el-input v-model="inputForm.name" placeholder="请填写名称"     ></el-input>
+           </el-form-item>
+        </el-col>
+        <el-col :span="12">
+            <el-form-item label="排序" prop="sort"
+                :rules="[
+                  {required: true, message:'排序不能为空', trigger:'blur'},
+                  {validator: validator.isNumber, trigger:'blur'}
+                 ]">
+			        <el-input v-model="inputForm.sort" placeholder="请填写排序"     ></el-input>
+           </el-form-item>
+        </el-col>
+        </el-row>
+    </el-form>
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="visible = false">关闭</el-button>
+      <el-button type="primary" v-if="method != 'view'" @click="doSubmit()" v-noMoreClick>确定</el-button>
+    </span>
+  </el-dialog>
+</div>
+</template>
+
+<script>
+  import SelectTree from '@/components/treeSelect/treeSelect.vue'
+  export default {
+    data () {
+      return {
+        title: '',
+        method: '',
+        visible: false,
+        loading: false,
+        inputForm: {
+          id: '',
+          Veto: '',
+          remarks: '',
+          parent: {
+            id: ''
+          },
+          name: '',
+          sort: ''
+        }
+      }
+    },
+    components: {
+      SelectTree
+    },
+    methods: {
+      init (method, obj) {
+        this.method = method
+        this.inputForm.id = obj.id
+        if (method === 'add') {
+          this.title = '新建评价标准'
+        } else if (method === 'addChild') {
+          this.title = '添加下级评价标准'
+        } else if (method === 'edit') {
+          this.title = '修改评价标准'
+        } else if (method === 'view') {
+          this.title = '查看评价标准'
+        }
+        this.visible = true
+        this.loading = false
+        this.$nextTick(() => {
+          this.$refs.inputForm.resetFields()
+          this.inputForm.parent.id = obj.parent.id
+          this.inputForm.parent.name = obj.parent.name
+          if (method === 'edit' || method === 'view') { // 修改或者查看
+            this.loading = true
+            this.$http({
+              url: `/criterion/evaluationCriterion/queryById?id=${this.inputForm.id}`,
+              method: 'get'
+            }).then(({data}) => {
+              this.inputForm = this.recover(this.inputForm, data.evaluationCriterion)
+              this.loading = false
+            })
+          }
+        })
+      },
+      // 表单提交
+      doSubmit () {
+        this.$refs['inputForm'].validate((valid) => {
+          if (valid) {
+            this.loading = true
+            this.$http({
+              url: `/criterion/evaluationCriterion/save`,
+              method: 'post',
+              data: this.inputForm
+            }).then(({data}) => {
+              if (data && data.success) {
+                this.visible = false
+                this.$message.success(data.msg)
+                this.$emit('refreshDataList')
+              }
+              this.loading = false
+            })
+          }
+        })
+      }
+    }
+  }
+</script>

+ 110 - 0
src/views/modules/criterion/EvaluationCriterionList.vue

@@ -0,0 +1,110 @@
+<template>
+  <div>
+      <el-row>
+        <el-button v-if="hasPermission('criterion:evaluationCriterion:add')" type="primary" size="small" icon="el-icon-plus" @click="add()">新建</el-button>
+      </el-row>
+    <el-table
+      :data="dataList"
+      size="medium"
+      row-key="id"
+      v-loading="loading"
+      class="table">
+	  <el-table-column
+        prop="name"
+        show-overflow-tooltip
+        label="名称">
+      <template slot-scope="scope">
+        <el-link  type="primary" :underline="false" v-if="hasPermission('criterion:evaluationCriterion:edit')" @click="edit(scope.row.id)">{{scope.row.name}}</el-link>
+        <el-link  type="primary" :underline="false" v-else-if="hasPermission('criterion:evaluationCriterion:view')"  @click="view(scope.row.id)"> {{scope.row.name}}</el-link>
+        <span v-else>{{ $dictUtils.getDictLabel("yes_no", scope.row.Veto, '-') }}</span>
+      </template>
+      </el-table-column>
+      <el-table-column
+        header-align="center"
+        align="center"
+        fixed="right"
+        width="300"
+        label="操作">
+        <template  slot-scope="scope">
+          <el-button v-if="hasPermission('criterion:evaluationCriterion:view')" type="text" size="small" icon="el-icon-view" @click="view(scope.row.id)">查看</el-button>
+          <el-button v-if="hasPermission('criterion:evaluationCriterion:edit')" type="text" size="small" icon="el-icon-edit" @click="edit(scope.row.id)">修改</el-button>
+          <el-button v-if="hasPermission('criterion:evaluationCriterion:del')" type="text" size="small" icon="el-icon-delete" @click="del(scope.row.id)">删除</el-button>
+          <el-button v-if="hasPermission('criterion:evaluationCriterion:add')" type="text" size="small" icon="el-icon-circle-plus-outline" @click="addChild(scope.row.id, scope.row.name)">添加下级评价标准</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+        <!-- 弹窗, 新增 / 修改 -->
+    <EvaluationCriterionForm  ref="evaluationCriterionForm" @refreshDataList="refreshList"></EvaluationCriterionForm>
+  </div>
+</template>
+
+<script>
+  import TableTreeColumn from '@/components/table-tree-column'
+  import EvaluationCriterionForm from './EvaluationCriterionForm'
+  export default {
+    data () {
+      return {
+        dataList: [],
+        loading: false
+      }
+    },
+    components: {
+      TableTreeColumn,
+      EvaluationCriterionForm
+    },
+    activated () {
+      this.refreshList()
+    },
+
+    methods: {
+      // 获取数据列表
+      refreshList () {
+        this.loading = true
+        this.$http({
+          url: '/criterion/evaluationCriterion/list',
+          method: 'get'
+        }).then(({data}) => {
+          this.dataList = this.treeDataTranslate(data.list, 'id', 'parentId', 'children')
+          this.loading = false
+        })
+      },
+        // 新增下级
+      addChild (id, name) {
+        this.$refs.evaluationCriterionForm.init('addChild', {id: '', parent: {id: id, name: name}})
+      },
+       // 新增
+      add () {
+        this.$refs.evaluationCriterionForm.init('add', {id: '', parent: {id: '', name: ''}})
+      },
+      // 修改
+      edit (id) {
+        this.$refs.evaluationCriterionForm.init('edit', {id: id, parent: {id: '', name: ''}})
+      },
+      // 查看
+      view (id) {
+        this.$refs.evaluationCriterionForm.init('view', {id: id, parent: {id: '', name: ''}})
+      },
+      // 删除
+      del (id) {
+        this.$confirm(`确定删除所选项吗?`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.loading = true
+          this.$http({
+            url: '/criterion/evaluationCriterion/delete',
+            method: 'delete',
+            params: {'id': id}
+          }).then(({data}) => {
+            if (data && data.success) {
+              this.$message.success(data.msg)
+              this.refreshList()
+            }
+            this.loading = false
+          })
+        })
+      }
+    }
+  }
+</script>

+ 2 - 2
src/views/modules/itemList/CompletionInformationList.vue

@@ -217,7 +217,7 @@
         sortable="custom"
         label="是否超期">
       </el-table-column>
-      <el-table-column
+      <!--<el-table-column
         header-align="center"
         align="center"
         fixed="right"
@@ -228,7 +228,7 @@
           <el-button v-if="hasPermission('sys:completionInformation:edit')" type="text" icon="el-icon-edit" size="small" @click="edit(scope.row.id)">修改</el-button>
           <el-button v-if="hasPermission('sys:completionInformation:del')" type="text"  icon="el-icon-delete" size="small" @click="del(scope.row.id)">删除</el-button>
         </template>
-      </el-table-column>
+      </el-table-column>-->
     </el-table>
     <el-pagination
       @size-change="sizeChangeHandle"