|
|
@ -2,12 +2,29 @@ |
|
|
|
<div class="content"> |
|
|
|
<div class="search"> |
|
|
|
<a-space> |
|
|
|
<a-input v-model:value="searchValue.title" placeholder="语录标题" /> |
|
|
|
<a-input v-model:value="searchlist.title" placeholder="语录标题" /> |
|
|
|
</a-space> |
|
|
|
<a-space style="margin-left: 16px;"> |
|
|
|
<a-button @click="classticSearch">查询</a-button> |
|
|
|
<a-button @click="search">查询</a-button> |
|
|
|
<a-button type="primary" ghost @click="formModal('add')">新增</a-button> |
|
|
|
<ClassticFormView /> |
|
|
|
<a-modal v-model:open="formControl.open" :title="formControl.title" cancelText="取消" okText="确定" |
|
|
|
@ok="submit"> |
|
|
|
<a-form ref="formRef" :model="formList" name="basic" :label-col="{ span: 4, offset: 2 }" |
|
|
|
:wrapper-col="{ span: 16 }"> |
|
|
|
<a-form-item label="语录标题" name="header" |
|
|
|
:rules="[{ required: true, message: 'Please input your username!' }]"> |
|
|
|
<a-input v-model:value="formList.header" /> |
|
|
|
</a-form-item> |
|
|
|
<a-form-item label="语录内容" name="text" |
|
|
|
:rules="[{ required: true, message: 'Please input your username!' }]"> |
|
|
|
<a-input v-model:value="formList.text" /> |
|
|
|
</a-form-item> |
|
|
|
<a-form-item label="备注" name="descr" |
|
|
|
:rules="[{ required: true, message: 'Please input your username!' }]"> |
|
|
|
<a-input v-model:value="formList.descr" /> |
|
|
|
</a-form-item> |
|
|
|
</a-form> |
|
|
|
</a-modal> |
|
|
|
</a-space> |
|
|
|
</div> |
|
|
|
<div class="table"> |
|
|
@ -16,9 +33,9 @@ |
|
|
|
<template v-if="column.dataIndex === 'operation'"> |
|
|
|
<a-space> |
|
|
|
<div> |
|
|
|
<a-button size="small" danger @click="delModal">删除</a-button> |
|
|
|
<a-modal v-model:open="modalDel.open" title="提示" ok-text="确认" cancel-text="取消" |
|
|
|
@ok="del(record.id)"> |
|
|
|
<a-button size="small" danger @click="delModal(record.id)">删除</a-button> |
|
|
|
<a-modal v-model:open="delControl.open" title="提示" ok-text="确认" cancel-text="取消" |
|
|
|
@ok="del"> |
|
|
|
<p>确认删除吗?</p> |
|
|
|
</a-modal> |
|
|
|
</div> |
|
|
@ -33,32 +50,96 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script setup lang='ts'> |
|
|
|
import { onMounted } from 'vue'; |
|
|
|
import { onMounted, reactive } from 'vue'; |
|
|
|
import { classticStore } from "@/stores/index" |
|
|
|
import { classticSearch, classticList, classticlist, classticDel } from "@/services/admin/classtic" |
|
|
|
import ClassticFormView from "@/views/admin/classticmanage/ClassticFormView.vue" |
|
|
|
const { searchValue, modalDel, modalForm } = classticStore() |
|
|
|
import { get } from '@/tools/request'; |
|
|
|
|
|
|
|
const { delControl, formControl } = classticStore() |
|
|
|
const searchlist = reactive({ |
|
|
|
title: "" |
|
|
|
}) |
|
|
|
const formList = reactive({ |
|
|
|
header: "", |
|
|
|
text: "", |
|
|
|
descr: "" |
|
|
|
}) |
|
|
|
const search = async () => { |
|
|
|
try { |
|
|
|
await get( |
|
|
|
"/classtics/list/search", |
|
|
|
{ header: searchlist.title } |
|
|
|
).then(response => { |
|
|
|
if (response) { |
|
|
|
classticlist.value = response.data.data.map((items: any, index: any) => ({ |
|
|
|
key: (index + 1).toString(), |
|
|
|
id: items.id, |
|
|
|
header: items.header, |
|
|
|
text: items.text, |
|
|
|
descr: items.descr |
|
|
|
})) |
|
|
|
} else { |
|
|
|
console.log("the interface request data does not exist!") |
|
|
|
} |
|
|
|
}) |
|
|
|
} catch (error) { |
|
|
|
console.log("interface request exception") |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
const formModal = (mode: string, id?: any) => { |
|
|
|
modalForm.ids = id; |
|
|
|
modalForm.mode = mode; |
|
|
|
modalForm.open = true; |
|
|
|
formControl.ids = id; |
|
|
|
formControl.mode = mode; |
|
|
|
formControl.open = true; |
|
|
|
if (id) { |
|
|
|
modalForm.title = "编辑" |
|
|
|
|
|
|
|
formControl.title = "编辑" |
|
|
|
} else { |
|
|
|
modalForm.title = "新增" |
|
|
|
|
|
|
|
formControl.title = "新增" |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
get(`classtics/list/search/${id}`).then(val => { |
|
|
|
console.log("val", val) |
|
|
|
classticForm.header = "123" |
|
|
|
classticForm.text = "123" |
|
|
|
classticForm.descr = "123123" |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
// 删除 |
|
|
|
const del = (id: any) => { |
|
|
|
classticDel(id) |
|
|
|
modalDel.open = false |
|
|
|
const del = () => { |
|
|
|
if (formControl.ids) { |
|
|
|
classticDel(formControl.ids) |
|
|
|
} |
|
|
|
delControl.open = false |
|
|
|
} |
|
|
|
const delModal = () => { |
|
|
|
modalDel.open = true |
|
|
|
const delModal = (id: any) => { |
|
|
|
formControl.ids = id |
|
|
|
delControl.open = true |
|
|
|
}; |
|
|
|
|
|
|
|
const classticList = async () => { |
|
|
|
try { |
|
|
|
const response = await get("/classtics/list"); |
|
|
|
if (response) { |
|
|
|
classticlist.value = response.data.data.map((item: any, index: any) => ({ |
|
|
|
key: (index + 1).toString(), |
|
|
|
id: item.id, |
|
|
|
header: item.header, |
|
|
|
text: item.text, |
|
|
|
descr: item.descr |
|
|
|
})); |
|
|
|
} else { |
|
|
|
console.error("Response data structure is not as expected"); |
|
|
|
} |
|
|
|
} catch (error) { |
|
|
|
console.error("Failed to fetch data", error); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 获取列表 |
|
|
|
onMounted(async () => { |
|
|
|
classticList() |
|
|
|