jiangping
2025-05-27 3d6a8e384d31432a23f5a8c1a3135a58cbe617b5
company/src/views/business/knowledge.vue
@@ -2,14 +2,28 @@
    <TableLayout :permissions="['business:knowledge:query']">
        <!-- 搜索表单 -->
        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
            <el-form-item label="标题/内容" prop="title">
                <el-input v-model="searchForm.title" placeholder="请输入标题内容" @keypress.enter.native="search"></el-input>
            <el-form-item label="标题" prop="title">
                <el-input v-model="searchForm.title" style="width: 120px"  clearable placeholder="请输入标题" @keypress.enter.native="search"></el-input>
            </el-form-item>
            <el-form-item label="省份编码" prop="provinceId">
                <el-input v-model="searchForm.provinceId" placeholder="请输入省份编码" @keypress.enter.native="search"></el-input>
          <el-form-item label="省份" prop="area">
            <el-select style="width: 120px"  v-model="searchForm.provinceId" clearable filterable @change="changeProvince" placeholder="请选择">
              <el-option
                  v-for="item in areas"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id">
              </el-option>
            </el-select>
            </el-form-item>
            <el-form-item label="城市编码" prop="cityId">
                <el-input v-model="searchForm.cityId" placeholder="请输入城市编码" @keypress.enter.native="search"></el-input>
          <el-form-item label="城市" prop="area">
            <el-select style="width: 120px" v-model="searchForm.cityId"  clearablefilterable @change="search" placeholder="请选择">
              <el-option
                  v-for="item in citys"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id">
              </el-option>
            </el-select>
            </el-form-item>
            <section>
                <el-button type="primary" @click="search">搜索</el-button>
@@ -25,18 +39,17 @@
            </ul>
            <div class="list" v-loading="isWorking.search" v-if="tableData.list.length > 0">
                <div class="list-item" v-for="(item, index) in tableData.list" :key="index">
                    <div class="list-item-title">
                    <div class="list-item-title" @click="gourl(item.link)">
                        <span>{{item.title}}</span>
                        <i class="el-icon-arrow-right"></i>
                    </div>
                    <div class="list-item-cates" v-if="item.labelNames">
                        <div class="list-item-cates-row" v-for="(label, index) in item.labelNames.split(',')" :key="index">政策法规labels</div>
                        <div class="list-item-cates-row">{{label}}</div>
                    <div class="list-item-cates" v-if="item.labels">
                        <div class="list-item-cates-row" v-for="(label, index) in item.labels.split(',')" :key="index">  {{label}}</div>
                    </div>
                    <div class="list-item-footer">
                        <div class="left">
                            <div class="list-item-footer-row">适用地区:{{item.cityName ? item.cityName : item.provinceName}}</div>
                            <div class="list-item-footer-row">适用年份:{{item.yearInfo}}</div>
                            <div class="list-item-footer-row">适用年份:{{item.yearInfo}} 年</div>
                        </div>
                        <div class="right">
                            <el-button type="text" size="medium" style="margin-right: 15px; color: red;" @click="dele(item.id)">删除</el-button>
@@ -65,7 +78,7 @@
    import TableLayout from '@/layouts/TableLayout'
    import Pagination from '@/components/common/Pagination'
    import OperaKnowledgeWindow from '@/components/business/OperaKnowledgeWindow'
    import { deleteById } from '@/api/business/knowledge'
import {deleteById, findTreeList} from '@/api/business/knowledge'
    export default {
        name: 'Knowledge',
        extends: BaseTable,
@@ -77,7 +90,9 @@
                    provinceId: '',
                    cityId: '',
                    title: ''
                }
      },
      areas: [],
      citys: []
            }
        },
        created () {
@@ -88,20 +103,39 @@
                'field.main': 'id'
            })
            this.search()
    this.getCityTree()
        },
        methods: {
    changeProvince (e) {
      this.citys = []
      this.searchForm.cityId=null
      this.areas.forEach(item => {
        if (item.id === this.searchForm.provinceId) {
          this.citys = item.childAreasList || []
        }
      })
      this.search()
    },
    gourl (url) {
      if (url) {
        window.open(url)
      }
    },
            dele(id) {
                this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(async () => {
                    let res = await deleteById(id)
        const res = await deleteById(id)
                    this.search()
                    this.$message.success('删除成功')
                }).catch(() => {
                });
      })
    },
    async getCityTree () {
      this.areas = await findTreeList({})
            }
        }
    }