¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="page"> |
| | | <div class="form-card"> |
| | | <el-form :model="queryParams" ref="queryRef" :inline="true" label-width="120px"> |
| | | <el-form-item label="æ é¢"> |
| | | <el-input v-model="queryParams.title" placeholder="请è¾å
¥æ é¢" clearable/> |
| | | </el-form-item> |
| | | <el-form-item label="è½æºç±»å"> |
| | | <el-select v-model="queryParams.type" placeholder="è¯·éæ©è½æºç±»å" style="width: 100%" clearable> |
| | | <el-option v-for="dict in types" :key="dict.value" |
| | | :label="dict.label" :value="dict.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="Search" @click="handleQuery">æç´¢</el-button> |
| | | <el-button icon="Refresh" @click="resetQuery">éç½®</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <div class="table-bg-style"> |
| | | <div class="theme-dark-mt20 mb20 ml20"> |
| | | <el-button type="primary" icon="plus" @click="handleAdd">æ°å¢</el-button> |
| | | <!-- <el-button type="primary" icon="Delete">å é¤</el-button> --> |
| | | </div> |
| | | <div class="table-box"> |
| | | <el-table :data="tableData" v-loading="loading"> |
| | | <el-table-column prop="title" label="æ é¢" show-overflow-tooltip align="center" /> |
| | | <el-table-column prop="typeDesc" label="è½æºç±»å" show-overflow-tooltip align="center" /> |
| | | <el-table-column prop="content" label="å
容" show-overflow-tooltip align="center" /> |
| | | <el-table-column prop="createTime" label="å建æ¶é´" show-overflow-tooltip align="center" /> |
| | | <el-table-column label="æä½" width="300" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" icon="Edit" @click="handleAdd(scope.row)"> ä¿®æ¹ </el-button> |
| | | <el-button link type="primary" icon="Delete" @click="handleDel(scope.row)"> å é¤ </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | v-model:page="queryParams.pageNum" |
| | | v-model:limit="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <edit-modal ref="EditModalRef" @getList="getList" :types="types" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import EditModal from "./components/EditModal.vue" |
| | | import { knowledgeBaseList, knowledgeBaseDel } from "@/api/policy/knowledgeBase" |
| | | let { proxy } = getCurrentInstance() |
| | | const types = ref([ |
| | | { label: "çµ", value: 0 }, |
| | | { label: "æ°´", value: 1 }, |
| | | { label: "å¤©ç¶æ°", value: 2 }, |
| | | { label: "è¸æ±½", value: 3 }, |
| | | ]); |
| | | let loading = ref(false) |
| | | let total = ref(0) |
| | | let tableData = ref([]) |
| | | let queryParams = ref({ |
| | | title: "", |
| | | type:null, |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | }) |
| | | |
| | | function getList() { |
| | | loading.value = true |
| | | knowledgeBaseList(queryParams.value).then((res) => { |
| | | console.log(res.rows) |
| | | tableData.value = res.rows |
| | | total.value = res.total |
| | | loading.value = false |
| | | }) |
| | | } |
| | | |
| | | getList() |
| | | |
| | | let EditModalRef = ref("") |
| | | function handleAdd(row) { |
| | | if (EditModalRef.value) { |
| | | EditModalRef.value.handleOpen(row) |
| | | } |
| | | } |
| | | |
| | | function handleDel(row) { |
| | | proxy.$modal |
| | | .confirm("æ¯å¦ç¡®è®¤å 餿°æ®é¡¹?") |
| | | .then(function () { |
| | | return knowledgeBaseDel(row.id) |
| | | }) |
| | | .then(() => { |
| | | getList() |
| | | proxy.$modal.msgSuccess("å 餿å") |
| | | }) |
| | | .catch(() => {}) |
| | | } |
| | | |
| | | function handleQuery() { |
| | | queryParams.value.pageNum = 1 |
| | | getList() |
| | | } |
| | | |
| | | function resetQuery() { |
| | | queryParams.value = { |
| | | title: "", |
| | | type:null, |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | } |
| | | getList() |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @import "@/assets/styles/page.scss"; |
| | | |
| | | .header-box { |
| | | :deep .el-form-item__content { |
| | | color: #fff; |
| | | font-size: 16px; |
| | | } |
| | | } |
| | | </style> |