Compare commits

..

4 Commits

Author SHA1 Message Date
628c7712ff revert a9d4e8ee50
revert Merge remote-tracking branch 'origin/personal/lsd/user'

# Conflicts:
#	package.json
#	src/main.js
#	src/store/authentication.js
2024-07-05 16:36:47 +08:00
7dd7cc3e5a 移除冗余defineProps/Emits的import 2024-07-05 15:41:43 +08:00
a9d4e8ee50 Merge remote-tracking branch 'origin/personal/lsd/user'
# Conflicts:
#	package.json
#	src/main.js
#	src/store/authentication.js
2024-07-05 15:39:02 +08:00
c996fe40a2 注册登录完成,管理员增查完成 2024-06-29 16:54:34 +08:00
2 changed files with 17 additions and 55 deletions

View File

@ -87,8 +87,6 @@ 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);
}; };
@ -206,18 +204,6 @@ 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;
@ -234,12 +220,6 @@ 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;
@ -251,8 +231,6 @@ onMounted(() => {
fetchNewsDetail(); fetchNewsDetail();
} }
fetchOptions()
config.value = { config.value = {
toolbar: { toolbar: {
items: [ items: [
@ -447,7 +425,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="请输入新闻标题" :disabled="props.mode === 'show'" required></ElInput> <ElInput v-model="form.title" placeholder="请输入新闻标题" required></ElInput>
</ElFormItem> </ElFormItem>
<ElFormItem label="新闻图片路径" required> <ElFormItem label="新闻图片路径" required>
<el-upload <el-upload
@ -461,7 +439,6 @@ 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 }">
@ -477,7 +454,6 @@ 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>
@ -500,30 +476,27 @@ 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" :disabled="props.mode === 'show'"/> <ckeditor v-if="isLayoutReady" v-model="form.content" :editor="editor" :config="config"/>
</div> </div>
</div> </div>
</div> </div>
</ElFormItem> </ElFormItem>
<ElFormItem label="作者" required> <ElFormItem label="作者" required>
<ElInput v-model="form.author" placeholder="请输入作者" :disabled="props.mode === 'show'" required></ElInput> <ElInput v-model="form.author" placeholder="请输入作者" required></ElInput>
</ElFormItem> </ElFormItem>
<ElFormItem label="新闻简介" required> <ElFormItem label="新闻简介" required>
<ElInput v-model="form.summary" placeholder="请输入新闻简介" :disabled="props.mode === 'show'" required></ElInput> <ElInput v-model="form.summary" placeholder="请输入新闻简介" required></ElInput>
</ElFormItem> </ElFormItem>
<ElFormItem label="选择租户" required> <ElFormItem label="选择租户" required>
<ElSelect v-model="form.tenant" placeholder="请选择" class="dynamic-width-select" :disabled="props.mode === 'show'"> <ElSelect v-model="form.tenant" placeholder="请选择" class="dynamic-width-select">
<ElOption <ElOption label="Option 1" value="option1"></ElOption>
v-for="option in options" <ElOption label="Option 2" value="option2"></ElOption>
:key="option" <ElOption label="Option 3" value="option3"></ElOption>
:label="option"
:value="option"
></ElOption>
</ElSelect> </ElSelect>
</ElFormItem> </ElFormItem>
<ElFormItem v-if="props.mode !== 'show'"> <ElFormItem>
<ElButton type="primary" native-type="submit">确定</ElButton> <ElButton type="primary" native-type="submit">确定</ElButton>
<ElButton @click="handleCancel">{{ props.mode === 'show' ? '返回' : '取消' }}</ElButton> <ElButton @click="handleCancel">取消</ElButton>
</ElFormItem> </ElFormItem>
</ElForm> </ElForm>
</div> </div>

View File

@ -168,9 +168,9 @@ const handleSelectionChange = (newSelections) => {
const handleEditInTable = async (index) => { const handleEditInTable = async (index) => {
// router.push({name: 'editNews', query: {mode: 'edit', id: newsData.value[index].id}}) // router.push({name: 'editNews', query: {mode: 'edit', id: newsData.value[index].id}})
editNewsDialogMode.value = 'edit' editNewsDialogMode.value = 'edit'
editId.value = newsData.value[index].id editId.value = newsData.value[index].id
openEditNewsDialog() openEditNewsDialog()
}; };
const handleDeleteInTable = async (index) => { const handleDeleteInTable = async (index) => {
@ -199,16 +199,10 @@ const openEditNewsDialog = () => {
const setNewsDialogInvisible = (changed) => { const setNewsDialogInvisible = (changed) => {
editNewsDialogVisible.value = false; editNewsDialogVisible.value = false;
if (changed) { if (changed){
refreshNewsList(); refreshNewsList();
} }
} }
const handleShowDetail = (index) => {
editNewsDialogMode.value = 'show'
editId.value = newsData.value[index].id
openEditNewsDialog()
}
</script> </script>
<template> <template>
@ -245,15 +239,10 @@ const handleShowDetail = (index) => {
<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%;" @selection-change="handleSelectionChange"> <el-table :data="newsData" style="width: 100%;"
@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 prop="title" label="新闻标题" align="center"></el-table-column>
<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">