MrShi
2025-08-19 ff087240b3dee29ce4e14ad0836e76b9fdf312cf
admin/src/views/business/categoryDcaProblem.vue
@@ -8,7 +8,7 @@
        </el-form-item>
        <section>
          <el-button type="primary" @click="search">搜索</el-button>
          <el-button type="primary" @click="refresh">显示顶层</el-button>
          <el-button type="primary" @click="refresh">一级主题</el-button>
          <el-button @click="reset">重置</el-button>
        </section>
      </el-form>
@@ -17,7 +17,7 @@
      <div
        style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;">
        DCA主题</div>
      <div style="width: 100%; height: calc(100vh - 170px); overflow-y: scroll;">
      <div style="width: 100%; height: calc(100vh - 130px); overflow-y: scroll;">
        <Tree :list="treeList" :alllist="treeList"  :defaultProps="{ name: 'name', status: 'fsStatus', children: 'childList', id: 'id' }"
          @callback="callback" />
      </div>
@@ -25,12 +25,14 @@
    <!-- 表格和分页 -->
    <template v-slot:table-wrap>
      <ul class="toolbar"  v-if="containPermissions(['business:category:create', 'business:category:delete' ])" >
        <li> <el-button type="primary" :loading="isWorking.export"  icon="el-icon-download"  @click="exportDcaExcel">导出全部</el-button></li>
        <li><el-button type="primary"
                       @click="$refs.operaCategoryWindow.open('新建DCA主题和观察项', null,categoryList ,4,searchForm.parentIdPath)" icon="el-icon-plus"
                       @click="$refs.operaCategoryWindow.open('新建DCA主题和观察项', null,categoryList ,4,searchForm.parentId)" icon="el-icon-plus"
                       v-permissions="['business:category:create']">新建</el-button></li>
        <li> <el-button type="primary" :loading="importing"  icon="el-icon-plus" @click="$refs.OperaCategoryImportWindow.open('批量导入主题观察项')">全量导入</el-button></li>
        <li><el-button type="danger" @click="deleteByIdInBatch(true,getfindTreePage)" icon="el-icon-delete" v-permissions="['business:category:delete']">批量删除</el-button></li>
      </ul>
      <el-table   v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
      <el-table  :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column prop="name" label="名称" min-width="100px"></el-table-column>
        <el-table-column prop="parentName" label="所属父级" min-width="150px"></el-table-column>
@@ -44,7 +46,7 @@
        <el-table-column prop="editorName" label="操作人" min-width="100px"></el-table-column>
        <el-table-column prop="editDate" label="最后操作时间" min-width="150px"></el-table-column>
        <el-table-column prop="remark" label="备注" min-width="100px"></el-table-column>
        <el-table-column v-if="containPermissions(['business:category:update', 'business:category:delete' ])" label="操作" min-width="280">
        <el-table-column fixed="right" v-if="containPermissions(['business:category:update', 'business:category:delete' ])" label="操作" min-width="120">
          <template slot-scope="{row}">
            <el-button type="text" icon="el-icon-edit" @click="$refs.operaCategoryWindow.open('编辑DCA主题和观察项', row, categoryList,row.type)"  v-permissions="['business:category:update']">编辑</el-button>
            <el-button type="text" icon="el-icon-delete" @click="deleteById(row,true, getfindTreePage)" style="color: red"  v-permissions="['business:category:delete']">删除</el-button>
@@ -54,6 +56,7 @@
      <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
      </pagination>
      <OperaCategoryDcaProblemWindow ref="operaCategoryWindow" @success="handlePageChangeDo"/>
      <OperaCategoryImportWindow ref="OperaCategoryImportWindow" @success="handlePageChangeDo" />
    </template>
  </TableLayout1>
</template>
@@ -65,20 +68,22 @@
import Pagination from '@/components/common/Pagination'
import Tree from '@/components/common/Tree'
import { treeList } from '@/api/business/category'
import OperaCategoryImportWindow from '@/components/business/OperaCategoryImportWindow'
export default {
  name: 'categorySheType',
  name: 'categoryDcaProblem',
  extends: BaseTable,
  components: { TableLayout1, Pagination, Tree, OperaCategoryDcaProblemWindow },
  components: { TableLayout1, Pagination, Tree, OperaCategoryDcaProblemWindow ,OperaCategoryImportWindow},
  data () {
    return {
      TreeList: [],
      level: 1,
      level: 0,
      importing: false,
      // 搜索
      searchForm: {
        name: '',
        keyword: '',
        type: 4,
        parentId: '',
        parentId: null,
        isRoot: 1,
        parentIdPath: null
      },
@@ -100,6 +105,24 @@
    this.getfindTreePage()
  },
  methods: {
    exportDcaExcel () {
      this.__checkApi()
      this.$dialog.exportConfirm('确认导出吗?')
        .then(() => {
          this.isWorking.export = true
          this.api.exportDcaExcel({})
            .then(response => {
              this.download(response)
            })
            .catch(e => {
              this.$tip.apiFailed(e)
            })
            .finally(() => {
              this.isWorking.export = false
            })
        })
        .catch(() => {})
    },
    handlePageChangeDo () {
      this.searchForm.isRoot = 1
      this.searchForm.level = 1
@@ -163,7 +186,7 @@
      this.searchForm.parentId = row.id
      this.searchForm.isRoot = null
      this.searchForm.parentIdPath = row.idPath
      this.level= row.level
      this.level = row.level
      if (row.level === 2) {
        this.searchForm.type = 6
      } else {