改造文章管理系统

This commit is contained in:
2024-08-27 07:22:22 +08:00
parent 13832d9de0
commit 31ec8e057a
41 changed files with 4041 additions and 525 deletions

View File

@@ -113,84 +113,104 @@
<a-col
v-bind="styleResponsive ? { md: 12, sm: 24, xs: 24 } : { span: 12 }"
>
<a-form-item label="位置" name="position">
<a-select
ref="select"
v-model:value="form.position"
style="width: 253px"
>
<a-select-option :value="1">顶部</a-select-option>
<a-select-option :value="2">底部</a-select-option>
</a-select>
<!-- <a-form-item label="模型" name="type">-->
<!-- <a-select-->
<!-- ref="select"-->
<!-- v-model:value="form.type"-->
<!-- style="width: 253px"-->
<!-- @change="onType"-->
<!-- >-->
<!-- <a-select-option :value="0">通用模型</a-select-option>-->
<!-- <a-select-option :value="1">单页内容</a-select-option>-->
<!-- <a-select-option :value="2">新闻分类</a-select-option>-->
<!-- <a-select-option :value="3">新闻详情</a-select-option>-->
<!-- <a-select-option :value="4">表单设计</a-select-option>-->
<!-- <a-select-option :value="5">知识文档</a-select-option>-->
<!-- <a-select-option :value="6">商品分类</a-select-option>-->
<!-- <a-select-option :value="7">商品详情</a-select-option>-->
<!-- <a-select-option :value="9">外部链接</a-select-option>-->
<!-- </a-select>-->
<!-- </a-form-item>-->
<!-- <a-form-item label="位置" name="position">-->
<!-- <a-radio-group v-model:value="form.position">-->
<!-- <a-radio :value="0">全部</a-radio>-->
<!-- <a-radio :value="1">顶部</a-radio>-->
<!-- <a-radio :value="2">底部</a-radio>-->
<!-- </a-radio-group>-->
<!-- </a-form-item>-->
<a-form-item label="位置" name="top">
<a-radio-group v-model:value="form.position" @change="onPosition">
<a-radio-button :value="0">不限</a-radio-button>
<a-radio-button :value="1">顶部</a-radio-button>
<a-radio-button :value="2">底部</a-radio-button>
</a-radio-group>
<!-- <a-space>-->
<!-- <a-switch-->
<!-- checked-children="显示"-->
<!-- un-checked-children="隐藏"-->
<!-- :checked="form.top === 0"-->
<!-- @update:checked="updateTopValue"-->
<!-- />-->
<!-- <a-switch-->
<!-- checked-children="显示"-->
<!-- un-checked-children="隐藏"-->
<!-- :checked="form.bottom === 0"-->
<!-- @update:checked="updateBottomValue"-->
<!-- />-->
<!-- </a-space>-->
</a-form-item>
<a-form-item label="模型" name="type">
<a-select
ref="select"
v-model:value="form.type"
style="width: 253px"
@change="onType"
>
<a-select-option :value="0">通用模型</a-select-option>
<a-select-option :value="1">单页内容</a-select-option>
<a-select-option :value="2">新闻分类</a-select-option>
<a-select-option :value="3">新闻详情</a-select-option>
<a-select-option :value="4">表单设计</a-select-option>
<a-select-option :value="5">知识文档</a-select-option>
<a-select-option :value="6">商品分类</a-select-option>
<a-select-option :value="7">商品详情</a-select-option>
<a-select-option :value="9">外部链接</a-select-option>
</a-select>
<a-form-item label="状态" name="hide">
<a-space>
<a-switch
checked-children="显示"
un-checked-children="隐藏"
:checked="form.hide === 0"
@update:checked="updateHideValue"
/>
</a-space>
</a-form-item>
<a-form-item label="排序" name="sortNumber">
<a-form-item label="排序" name="sortNumber">
<a-input-number
:min="0"
:max="99999"
class="ele-fluid"
placeholder="请输入排序号"
v-model:value="form.sortNumber"
@pressEnter="save"
/>
</a-form-item>
<a-form-item label="是否展示" name="hide">
<a-switch
checked-children=""
un-checked-children=""
:checked="form.hide === 0"
@update:checked="updateHideValue"
/>
</a-form-item>
<a-form-item label="菜单图标" name="icon">
<a-form-item label="图标" name="icon">
<SelectFile
:placeholder="`请选择图片`"
:limit="1"
:data="images"
:width="40"
:width="50"
:height="50"
@done="chooseFile"
@del="onDeleteItem"
/>
</a-form-item>
</a-col>
</a-row>
<div style="margin-bottom: 22px">
<a-divider />
</div>
<a-form-item
label="备注"
name="comments"
:label-col="
styleResponsive ? { md: 3, sm: 4, xs: 24 } : { flex: '90px' }
"
:wrapper-col="
styleResponsive ? { md: 21, sm: 20, xs: 24 } : { flex: '1' }
"
>
<a-textarea
:rows="4"
:maxlength="200"
placeholder="请输入备注信息"
v-model:value="form.comments"
/>
</a-form-item>
<!-- <div style="margin-bottom: 22px">-->
<!-- <a-divider />-->
<!-- </div>-->
<!-- <a-form-item-->
<!-- label="备注"-->
<!-- name="comments"-->
<!-- :label-col="-->
<!-- styleResponsive ? { md: 3, sm: 4, xs: 24 } : { flex: '90px' }-->
<!-- "-->
<!-- :wrapper-col="-->
<!-- styleResponsive ? { md: 21, sm: 20, xs: 24 } : { flex: '1' }-->
<!-- "-->
<!-- >-->
<!-- <a-textarea-->
<!-- :rows="4"-->
<!-- :maxlength="200"-->
<!-- placeholder="请输入备注信息"-->
<!-- v-model:value="form.comments"-->
<!-- />-->
<!-- </a-form-item>-->
</a-form>
</ele-modal>
</template>
@@ -257,6 +277,8 @@
sortNumber: 100,
hide: 0,
position: 1,
top: 1,
bottom: 1,
status: 0,
pageId: 0,
articleCategoryId: 0,
@@ -432,6 +454,21 @@
form.icon = '';
};
const onPosition = (index: number) => {
if (form.position == 0) {
form.top = 0;
form.bottom = 0;
}
if (form.position == 1) {
form.top = 0;
form.bottom = 1;
}
if (form.position == 2) {
form.top = 1;
form.bottom = 0;
}
};
/* 保存编辑 */
const save = () => {
if (!formRef.value) {
@@ -443,10 +480,10 @@
const navigationForm = {
...form
};
if (form.path != '' && form.path?.charAt(0) != '/') {
message.error('路由必须以"/"开头');
return false;
}
// if (form.path != '' && form.path?.charAt(0) != '/') {
// message.error('路由必须以"/"开头');
// return false;
// }
const saveOrUpdate = isUpdate.value ? updateNavigation : addNavigation;
saveOrUpdate(navigationForm)
.then((msg) => {
@@ -472,6 +509,14 @@
form.hide = value ? 0 : 1;
};
const updateTopValue = (value: boolean) => {
form.top = value ? 0 : 1;
};
const updateBottomValue = (value: boolean) => {
form.bottom = value ? 0 : 1;
};
watch(
() => props.visible,
(visible) => {