From 3d6a8e384d31432a23f5a8c1a3135a58cbe617b5 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 27 五月 2025 17:25:38 +0800 Subject: [PATCH] 提交一把 --- company/src/views/business/knowledge.vue | 148 ++++++++++++++++++++++++++++++------------------- 1 files changed, 91 insertions(+), 57 deletions(-) diff --git a/company/src/views/business/knowledge.vue b/company/src/views/business/knowledge.vue index 1d8ab69..90b7f19 100644 --- a/company/src/views/business/knowledge.vue +++ b/company/src/views/business/knowledge.vue @@ -2,15 +2,29 @@ <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> - <el-form-item label="鍩庡競缂栫爜" prop="cityId"> - <el-input v-model="searchForm.cityId" placeholder="璇疯緭鍏ュ煄甯傜紪鐮�" @keypress.enter.native="search"></el-input> - </el-form-item> + <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="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> <!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:knowledge:exportExcel']" @click="exportExcel">瀵煎嚭</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"> - <span>{{item.title}}</span> + <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> @@ -61,50 +74,71 @@ </template> <script> - import BaseTable from '@/components/base/BaseTable' - import TableLayout from '@/layouts/TableLayout' - import Pagination from '@/components/common/Pagination' - import OperaKnowledgeWindow from '@/components/business/OperaKnowledgeWindow' - import { deleteById } from '@/api/business/knowledge' - export default { - name: 'Knowledge', - extends: BaseTable, - components: { TableLayout, Pagination, OperaKnowledgeWindow }, - data () { - return { - // 鎼滅储 - searchForm: { - provinceId: '', - cityId: '', - title: '' - } - } - }, - created () { - this.config({ - module: '鐭ヨ瘑搴撲俊鎭〃', - api: '/business/knowledge', - 'field.id': 'id', - 'field.main': 'id' - }) - this.search() - }, - methods: { - dele(id) { - this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(async () => { - let res = await deleteById(id) - this.search() - this.$message.success('鍒犻櫎鎴愬姛') - }).catch(() => { - - }); - } - } +import BaseTable from '@/components/base/BaseTable' +import TableLayout from '@/layouts/TableLayout' +import Pagination from '@/components/common/Pagination' +import OperaKnowledgeWindow from '@/components/business/OperaKnowledgeWindow' +import {deleteById, findTreeList} from '@/api/business/knowledge' +export default { + name: 'Knowledge', + extends: BaseTable, + components: { TableLayout, Pagination, OperaKnowledgeWindow }, + data () { + return { + // 鎼滅储 + searchForm: { + provinceId: '', + cityId: '', + title: '' + }, + areas: [], + citys: [] } + }, + created () { + this.config({ + module: '鐭ヨ瘑搴撲俊鎭〃', + api: '/business/knowledge', + 'field.id': 'id', + '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 () => { + const res = await deleteById(id) + this.search() + this.$message.success('鍒犻櫎鎴愬姛') + }).catch(() => { + + }) + }, + async getCityTree () { + this.areas = await findTreeList({}) + } + } +} </script> <style lang="scss" scoped> -- Gitblit v1.9.3