|
|
@ -2,15 +2,27 @@ |
|
|
|
<div class="content"> |
|
|
|
<div class="search"> |
|
|
|
<a-space> |
|
|
|
<a-input v-model:value="searchList.classtictitle" placeholder="语录标题" /> |
|
|
|
<a-input v-model:value="classticSearch.searchValue.title" placeholder="语录标题" /> |
|
|
|
</a-space> |
|
|
|
<a-space style="margin-left: 16px;"> |
|
|
|
<a-button>查询</a-button> |
|
|
|
<a-button @click="classticSearch.classticSearch">查询</a-button> |
|
|
|
<a-button type="primary" ghost @click="modal('add')">新增</a-button> |
|
|
|
<a-modal v-model:open="addModal.addOpen" ok-text="确认" cancel-text="取消" :title="addModal.addTitle" @ok="handleOk"> |
|
|
|
<p>Some contents...</p> |
|
|
|
<p>Some contents...</p> |
|
|
|
<p>Some contents...</p> |
|
|
|
<a-modal v-model:open="addModal.addOpen" ok-text="确认" cancel-text="取消" :title="addModal.addTitle" |
|
|
|
@ok="handleOk"> |
|
|
|
<a-form :model="formState" name="basic"> |
|
|
|
<a-form-item label="语录标题" name="classticname" |
|
|
|
:rules="[{ required: true, message: '请输入语录标题' }]" v-bind="formItemLayout"> |
|
|
|
<a-input v-model:value="formState.name" /> |
|
|
|
</a-form-item> |
|
|
|
<a-form-item label="语录内容" name="classticcontent" |
|
|
|
:rules="[{ required: true, message: '请输入语录内容' }]" v-bind="formItemLayout"> |
|
|
|
<a-input v-model:value="formState.name" /> |
|
|
|
</a-form-item> |
|
|
|
<a-form-item label="备注" name="classticdescr" |
|
|
|
:rules="[{ message: '请输入备注' }]" v-bind="formItemLayout"> |
|
|
|
<a-textarea v-model:value="formState.name" /> |
|
|
|
</a-form-item> |
|
|
|
</a-form> |
|
|
|
</a-modal> |
|
|
|
</a-space> |
|
|
|
</div> |
|
|
@ -38,18 +50,22 @@ |
|
|
|
|
|
|
|
<script setup lang='ts'> |
|
|
|
import { ref, reactive, onMounted } from 'vue'; |
|
|
|
import type { searchValue } from "@/api/admin" |
|
|
|
import { useRouter } from "vue-router" |
|
|
|
const router = useRouter() |
|
|
|
import { classticContentStore } from "@/stores" |
|
|
|
|
|
|
|
const addModal=reactive({ |
|
|
|
addOpen:false, |
|
|
|
addTitle:"", |
|
|
|
modalMode:"" |
|
|
|
import { classticContentStore,classticSearchStore } from "@/stores" |
|
|
|
const classticContent = classticContentStore() |
|
|
|
const classticSearch=classticSearchStore() |
|
|
|
const formItemLayout = { |
|
|
|
labelCol: { span: 4 ,offset:2}, |
|
|
|
wrapperCol: { span: 16 }, |
|
|
|
}; |
|
|
|
const addModal = reactive({ |
|
|
|
addOpen: false, |
|
|
|
addTitle: "", |
|
|
|
modalMode: "" |
|
|
|
}) |
|
|
|
const modal=(mode:string)=>{ |
|
|
|
addModal.modalMode=mode |
|
|
|
const modal = (mode: string) => { |
|
|
|
addModal.modalMode = mode |
|
|
|
if (mode === 'add') { |
|
|
|
addModal.addTitle = '新增'; |
|
|
|
} else if (mode === 'edit') { |
|
|
@ -59,14 +75,13 @@ const modal=(mode:string)=>{ |
|
|
|
} |
|
|
|
const addhandleOk = () => { |
|
|
|
addOpen.value = true; |
|
|
|
addOpen.value = false; |
|
|
|
}; |
|
|
|
const edithandleOk=()=> { |
|
|
|
const edithandleOk = () => { |
|
|
|
// Logic for editing |
|
|
|
console.log('Edit logic here'); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
const handleOk=()=> { |
|
|
|
const handleOk = () => { |
|
|
|
if (addModal.modalMode === 'add') { |
|
|
|
// Handle add action |
|
|
|
addhandleOk(); |
|
|
@ -75,12 +90,21 @@ const handleOk=()=> { |
|
|
|
edithandleOk(); |
|
|
|
} |
|
|
|
addModal.addOpen = false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
interface FormState { |
|
|
|
name: string, |
|
|
|
content: string, |
|
|
|
descr: string |
|
|
|
} |
|
|
|
|
|
|
|
const formState = reactive<FormState>({ |
|
|
|
name: '', |
|
|
|
content: '', |
|
|
|
descr: '' |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
const searchList = reactive<searchValue>({ |
|
|
|
classtictitle: "" |
|
|
|
}) |
|
|
|
const classticContent = classticContentStore() |
|
|
|
const deleteOpen = ref<boolean>(false); |
|
|
|
const toDelete = reactive<{ key: string, id: number }>({ |
|
|
|
key: '', |
|
|
|