Compare commits
3 Commits
main
...
personal/h
| Author | SHA1 | Date | |
|---|---|---|---|
| 4504452aa1 | |||
| a3dca2e61a | |||
| 56006d3376 |
@ -1,5 +1,5 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import {defineEmits, defineProps, onMounted, ref} from 'vue';
|
import {onMounted, ref} from 'vue';
|
||||||
import {
|
import {
|
||||||
ElButton,
|
ElButton,
|
||||||
ElForm,
|
ElForm,
|
||||||
@ -87,6 +87,8 @@ const props = defineProps({
|
|||||||
const containerStyle = ref('form-container')
|
const containerStyle = ref('form-container')
|
||||||
|
|
||||||
const emit = defineEmits(['setNewsDialogInvisible']);
|
const emit = defineEmits(['setNewsDialogInvisible']);
|
||||||
|
|
||||||
|
const options = ref([])
|
||||||
const setNewsDialogInvisible = (changed) => {
|
const setNewsDialogInvisible = (changed) => {
|
||||||
emit('setNewsDialogInvisible', changed);
|
emit('setNewsDialogInvisible', changed);
|
||||||
};
|
};
|
||||||
@ -204,6 +206,18 @@ const fetchNewsDetail = async () => {
|
|||||||
fileList.value.push({url: res.data.imagePath});
|
fileList.value.push({url: res.data.imagePath});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const fetchOptions = async () => {
|
||||||
|
const params = {
|
||||||
|
token: token.value,
|
||||||
|
}
|
||||||
|
try{
|
||||||
|
const res = await axios.get('/api/tenant/getTenantOptions',{params});
|
||||||
|
options.value = res.data.options;
|
||||||
|
} catch (e) {
|
||||||
|
await ElMessageBox.alert(e.response.data.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
token.value = store.getters['authentication/token'];
|
token.value = store.getters['authentication/token'];
|
||||||
form.value.token = token.value;
|
form.value.token = token.value;
|
||||||
@ -220,6 +234,12 @@ onMounted(() => {
|
|||||||
modeTitle.value = '修改资讯';
|
modeTitle.value = '修改资讯';
|
||||||
fetchNewsDetail();
|
fetchNewsDetail();
|
||||||
}
|
}
|
||||||
|
else if (props.mode === 'show'){
|
||||||
|
createMode.value = false;
|
||||||
|
id.value = props.id;
|
||||||
|
modeTitle.value = '资讯详情';
|
||||||
|
fetchNewsDetail();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (route.query.mode === 'create' || route.params.mode === 'create') {
|
else if (route.query.mode === 'create' || route.params.mode === 'create') {
|
||||||
createMode.value = true;
|
createMode.value = true;
|
||||||
@ -231,6 +251,8 @@ onMounted(() => {
|
|||||||
fetchNewsDetail();
|
fetchNewsDetail();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fetchOptions()
|
||||||
|
|
||||||
config.value = {
|
config.value = {
|
||||||
toolbar: {
|
toolbar: {
|
||||||
items: [
|
items: [
|
||||||
@ -425,7 +447,7 @@ onMounted(() => {
|
|||||||
<ElForm :model="form" label-width="120px" @submit.prevent="handleCommit">
|
<ElForm :model="form" label-width="120px" @submit.prevent="handleCommit">
|
||||||
<h2>{{ modeTitle }}</h2>
|
<h2>{{ modeTitle }}</h2>
|
||||||
<ElFormItem label="新闻标题" required>
|
<ElFormItem label="新闻标题" required>
|
||||||
<ElInput v-model="form.title" placeholder="请输入新闻标题" required></ElInput>
|
<ElInput v-model="form.title" placeholder="请输入新闻标题" :disabled="props.mode === 'show'" required></ElInput>
|
||||||
</ElFormItem>
|
</ElFormItem>
|
||||||
<ElFormItem label="新闻图片路径" required>
|
<ElFormItem label="新闻图片路径" required>
|
||||||
<el-upload
|
<el-upload
|
||||||
@ -439,6 +461,7 @@ onMounted(() => {
|
|||||||
list-type="picture-card"
|
list-type="picture-card"
|
||||||
auto-upload
|
auto-upload
|
||||||
v-model:file-list="fileList"
|
v-model:file-list="fileList"
|
||||||
|
:disabled="props.mode === 'show'"
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<template #file="{ file }">
|
<template #file="{ file }">
|
||||||
@ -454,6 +477,7 @@ onMounted(() => {
|
|||||||
<span
|
<span
|
||||||
class="el-upload-list__item-delete"
|
class="el-upload-list__item-delete"
|
||||||
@click="handleRemove(file)"
|
@click="handleRemove(file)"
|
||||||
|
v-if="props.mode !== 'show'"
|
||||||
>
|
>
|
||||||
<el-icon><Delete/></el-icon>
|
<el-icon><Delete/></el-icon>
|
||||||
</span>
|
</span>
|
||||||
@ -476,27 +500,30 @@ onMounted(() => {
|
|||||||
ref="editorContainerElement">
|
ref="editorContainerElement">
|
||||||
<div class="editor-container__editor">
|
<div class="editor-container__editor">
|
||||||
<div ref="editorElement">
|
<div ref="editorElement">
|
||||||
<ckeditor v-if="isLayoutReady" v-model="form.content" :editor="editor" :config="config"/>
|
<ckeditor v-if="isLayoutReady" v-model="form.content" :editor="editor" :config="config" :disabled="props.mode === 'show'"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ElFormItem>
|
</ElFormItem>
|
||||||
<ElFormItem label="作者" required>
|
<ElFormItem label="作者" required>
|
||||||
<ElInput v-model="form.author" placeholder="请输入作者" required></ElInput>
|
<ElInput v-model="form.author" placeholder="请输入作者" :disabled="props.mode === 'show'" required></ElInput>
|
||||||
</ElFormItem>
|
</ElFormItem>
|
||||||
<ElFormItem label="新闻简介" required>
|
<ElFormItem label="新闻简介" required>
|
||||||
<ElInput v-model="form.summary" placeholder="请输入新闻简介" required></ElInput>
|
<ElInput v-model="form.summary" placeholder="请输入新闻简介" :disabled="props.mode === 'show'" required></ElInput>
|
||||||
</ElFormItem>
|
</ElFormItem>
|
||||||
<ElFormItem label="选择租户" required>
|
<ElFormItem label="选择租户" required>
|
||||||
<ElSelect v-model="form.tenant" placeholder="请选择" class="dynamic-width-select">
|
<ElSelect v-model="form.tenant" placeholder="请选择" class="dynamic-width-select" :disabled="props.mode === 'show'">
|
||||||
<ElOption label="Option 1" value="option1"></ElOption>
|
<ElOption
|
||||||
<ElOption label="Option 2" value="option2"></ElOption>
|
v-for="option in options"
|
||||||
<ElOption label="Option 3" value="option3"></ElOption>
|
:key="option"
|
||||||
|
:label="option"
|
||||||
|
:value="option"
|
||||||
|
></ElOption>
|
||||||
</ElSelect>
|
</ElSelect>
|
||||||
</ElFormItem>
|
</ElFormItem>
|
||||||
<ElFormItem>
|
<ElFormItem v-if="props.mode !== 'show'">
|
||||||
<ElButton type="primary" native-type="submit">确定</ElButton>
|
<ElButton type="primary" native-type="submit">确定</ElButton>
|
||||||
<ElButton @click="handleCancel">取消</ElButton>
|
<ElButton @click="handleCancel">{{ props.mode === 'show' ? '返回' : '取消' }}</ElButton>
|
||||||
</ElFormItem>
|
</ElFormItem>
|
||||||
</ElForm>
|
</ElForm>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -203,6 +203,12 @@ const setNewsDialogInvisible = (changed) => {
|
|||||||
refreshNewsList();
|
refreshNewsList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleShowDetail = (index) => {
|
||||||
|
editNewsDialogMode.value = 'show'
|
||||||
|
editId.value = newsData.value[index].id
|
||||||
|
openEditNewsDialog()
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@ -239,10 +245,15 @@ const setNewsDialogInvisible = (changed) => {
|
|||||||
<el-button type="danger" @click="handleDeleteButton">删除</el-button>
|
<el-button type="danger" @click="handleDeleteButton">删除</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-table :data="newsData" style="width: 100%;"
|
<el-table :data="newsData" style="width: 100%;" @selection-change="handleSelectionChange">
|
||||||
@selection-change="handleSelectionChange">
|
|
||||||
<el-table-column type="selection" width="55"></el-table-column>
|
<el-table-column type="selection" width="55"></el-table-column>
|
||||||
<el-table-column prop="title" label="新闻标题" align="center"></el-table-column>
|
<el-table-column prop="title" label="新闻标题" align="center">
|
||||||
|
<template #default="scope">
|
||||||
|
<div @click="handleShowDetail(scope.$index)" style="cursor: pointer;">
|
||||||
|
{{ scope.row.title }}
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column prop="author" label="作者" align="center"></el-table-column>
|
<el-table-column prop="author" label="作者" align="center"></el-table-column>
|
||||||
<el-table-column prop="summary" label="新闻简介" align="center"></el-table-column>
|
<el-table-column prop="summary" label="新闻简介" align="center"></el-table-column>
|
||||||
<el-table-column label="操作" align="center">
|
<el-table-column label="操作" align="center">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user