Initial commit: 小众厨房项目代码

Co-authored-by: Cursor <cursoragent@cursor.com>
这个提交包含在:
可乐加冰
2026-09-23 17:04:10 +08:00
当前提交 f7d3d7d1bd
共有 1761 个文件被更改,包括 453668 次插入 和 0 次删除

查看文件

@@ -0,0 +1,104 @@
<link rel="stylesheet" href="__CDN__/assets/element-ui-2.15.14/css/index.css">
<style>
.el-form-item__label {
width: 120px !important;
}
.el-tag + .el-tag {
margin-left: 10px;
}
.button-new-tag {
margin-left: 10px;
height: 32px;
line-height: 30px;
padding-top: 0;
padding-bottom: 0;
}
.input-new-tag {
width: 90px;
margin-left: 10px;
vertical-align: bottom;
}
input[type="file"] {
display: none !important;
}
.search-select .el-input--suffix .el-input__inner {
width: 130px;
}
body {
background: #fff !important;
}
.el-form-item__content {
margin-left: 120px !important;
}
[v-cloak] {
display: none !important;
}
.image {
width: 160px;
height: 140px;
border-radius: 10px;
margin-top: 10px;
}
</style>
<div id="vue" data-id="{$id}" v-cloak>
<el-form ref="form" :rules="rules" :model="formData" label-width="90px">
<el-form-item label="标题:" prop="title">
<el-input style="width: 330px;" placeholder="请您输入标题" maxlength="50" show-word-limit v-model="formData.title"></el-input>
</el-form-item>
<el-form-item label="封面图:" prop="cover">
<el-button type="primary" plain size="small" @click="selectImage" icon="el-icon-picture-outline">选择图片</el-button>
<div>
<img v-if="formData.cover" class="image" :src="formData.cover">
</div>
</el-form-item>
<el-form-item prop="desc" label="描述">
<el-input
style="width: 330px;"
maxlength="200"
show-word-limit
type="textarea"
:rows="5"
placeholder="请您输入描述"
v-model="formData.desc"
>
</el-input>
</el-form-item>
<el-form-item label="详细内容">
<textarea id="v-content" style="width: 870px;height:600px;">{$content}</textarea>
</el-form-item>
<el-form-item label="浏览量:" prop="views">
<el-input style="width: 330px;" type="number" placeholder="浏览量" v-model="formData.views"></el-input>
</el-form-item>
<el-form-item label="类型:" prop="type">
<el-radio style="margin-right: 0;" v-model="formData.type" :label="1" border size="small">静态</el-radio>
<el-radio v-model="formData.type" :label="2" border size="small">滚动</el-radio>
</el-form-item>
<el-form-item label="状态:" prop="status">
<el-radio style="margin-right: 0;" v-model="formData.status" label="1" border size="small">显示</el-radio>
<el-radio v-model="formData.status" label="2" border size="small">隐藏</el-radio>
</el-form-item>
<el-form-item>
<el-button icon="el-icon-s-promotion" type="primary" @click="submit" size="small">提交</el-button>
<el-button icon="el-icon-switch-button" plain @click="closeLayerDialog" size="small">关闭</el-button>
</el-form-item>
</el-form>
</div>
<script src="__CDN__/assets/element-ui-2.15.14/js/vue.js"></script>
<script src="__CDN__/assets/element-ui-2.15.14/js/index.js"></script>
<script src="__CDN__/assets/js/jquery-2.1.1.min.js"></script>
<script>
var uploadUrl = '{:url("Upload/ueditorUpload")}'
</script>
<script src="__CDN__/assets/ueditor-plus/ueditor.config.js"></script>
<script src="__CDN__/assets/ueditor-plus/third-party/zeroclipboard/ZeroClipboard.js"></script>
<script src="__CDN__/assets/ueditor-plus/ueditor.all.js"></script>

查看文件

@@ -0,0 +1,204 @@
<link rel="stylesheet" href="__CDN__/assets/element-ui-2.15.14/css/index.css">
<link rel="stylesheet" href="__CDN__/assets/css/xlw.css">
<style>
.el-form-item__label {
width: 120px !important;
}
.el-tag + .el-tag {
margin-left: 10px;
}
.button-new-tag {
margin-left: 10px;
height: 32px;
line-height: 30px;
padding-top: 0;
padding-bottom: 0;
}
.input-new-tag {
width: 90px;
margin-left: 10px;
vertical-align: bottom;
}
input[type="file"] {
display: none !important;
}
.el-form-item__error {
margin-left: 30px;
}
.search-select .el-input--suffix .el-input__inner {
width: 130px;
}
.layui-layer-title {
background: #605ca8 !important;
}
</style>
<div id="vue" v-cloak>
<div class="search-container">
<el-collapse-transition>
<div v-if="showSearchBox" class="search-box">
<div class="item">
<div class="title">提交时间:</div>
<div class="inp">
<el-date-picker
style="width: 240px;"
@change="handleChangeDateTime"
size="mini"
unlink-panels
value-format="yyyy-MM-dd HH:mm:ss"
v-model="search.dateTime"
type="datetimerange"
:picker-options="pickerOptions"
range-separator="-"
start-placeholder="开始时间"
end-placeholder="结束时间">
</el-date-picker>
</div>
</div>
<div class="item">
<div class="title">标题:</div>
<div class="inp">
<el-input style="width: 240px;" @clear="handleClearSearchInp" clearable placeholder="请您输入要搜索的标题" size="small" v-model="search.title">
</el-input>
</div>
</div>
<div class="item">
<div class="title">简介:</div>
<div class="inp">
<el-input style="width: 240px;" @clear="handleClearSearchInp" clearable placeholder="请您输入要搜索的简介" size="small" v-model="search.desc">
</el-input>
</div>
</div>
<div class="item">
<div class="title">详细内容:</div>
<div class="inp">
<el-input style="width: 240px;" @clear="handleClearSearchInp" clearable placeholder="请您输入要搜索的详细内容" size="small" v-model="search.content">
</el-input>
</div>
</div>
<div class="item">
<div class="title">状态:</div>
<div class="inp">
<el-radio-group v-model="search.status" size="mini">
<el-radio-button :label="0">全部</el-radio-button>
<el-radio-button :label="1">显示</el-radio-button>
<el-radio-button :label="2">隐藏</el-radio-button>
</el-radio-group>
</div>
</div>
<div class="item">
<div class="title">类型:</div>
<div class="inp">
<el-radio-group v-model="search.type" size="mini">
<el-radio-button :label="0">全部</el-radio-button>
<el-radio-button :label="1">静态</el-radio-button>
<el-radio-button :label="2">滚动</el-radio-button>
</el-radio-group>
</div>
</div>
<div class="item">
<div class="buttons">
<el-button @click="searchData" style="margin-left: 10px;" type="success" icon="el-icon-search" size="mini">搜索</el-button>
<el-button @click="refreshPage" style="margin-left: 10px;" type="primary" icon="el-icon-refresh" size="mini">重置</el-button>
</div>
</div>
</div>
</el-collapse-transition>
<div class="search-button">
<div class="left-button">
<el-button size="small" @click="refreshPage" icon="el-icon-refresh" circle type="primary"></el-button>
<el-button size="mini" @click="add" type="primary" plain icon="el-icon-circle-plus">添加</el-button>
<el-button icon="el-icon-delete" type="danger" @click="del" size="mini" plain>删除</el-button>
</div>
<div class="right-button">
<div @click="handleClickSearchBox" :class="!showSearchBox ? 'search-btn' : 'search-btn search-btn-white'">
<i :class="showSearchBox ? 'el-icon-zoom-out' : 'el-icon-zoom-in'"></i>
</div>
</div>
</div>
</div>
<div class="vue-table background-white color-666">
<el-table :data="tableData" border highlight-current-row v-loading="listLoading"
@sort-change="sortChange" element-loading-text="拼命加载中..."
@selection-change="handleSelectionChange" style="width: 100%">
<el-table-column type="selection" width="60" align="center"></el-table-column>
<el-table-column width="120" label="操作"
show-overflow-tooltip
align="center">
<template scope="scope">
<el-dropdown trigger="click">
<el-button size="small" plain type="primary">
操作<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>
<el-button size="small" @click="edit(scope.row.id)" type="primary" icon="el-icon-edit">编辑</el-button>
</el-dropdown-item>
<el-dropdown-item>
<el-button size="small" @click="dell(scope.row.id)" type="danger" icon="el-icon-delete">删除</el-button>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
<el-table-column prop="id" width="70" label="ID" show-overflow-tooltip
align="center"></el-table-column>
<el-table-column prop="title" width="370" label="标题" show-overflow-tooltip
align="center"></el-table-column>
<el-table-column prop="cover" label="封面图" width="100" align="center">
<template scope="scope">
<a :href="scope.row.cover" target="_blank">
<img :src="scope.row.cover" style="border-radius: 10px;width: 60px;height: 60px;padding: 5px">
</a>
</template>
</el-table-column>
<el-table-column width="220" prop="desc" label="描述" show-overflow-tooltip
align="center"></el-table-column>
<el-table-column prop="views" width="100" label="浏览量" show-overflow-tooltip
align="center"></el-table-column>
<el-table-column prop="status" width="120" label="类型" show-overflow-tooltip
align="center">
<template scope="scope">
<span v-if="scope.row.type == 1" style="color: green;">静态</span>
<span v-else style="color: red;">滚动</span>
</template>
</el-table-column>
<el-table-column prop="status" width="120" label="状态" show-overflow-tooltip
align="center">
<template scope="scope">
<el-switch
v-model="scope.row.status == 1 ? true : false"
@change="statusChange(scope.row)"
>
</el-switch>
</template>
</el-table-column>
<el-table-column prop="create_time" width="160" :formatter="dateFormat" label="创建时间" show-overflow-tooltip
align="center"></el-table-column>
</el-table>
<div class="layout-pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalCount">
</el-pagination>
</div>
</div>
</div>
<script src="__CDN__/assets/element-ui-2.15.14/js/vue.js"></script>
<script src="__CDN__/assets/element-ui-2.15.14/js/index.js"></script>
<script src="__CDN__/assets/tool/libs/moment.js"></script>
<script src="__CDN__/assets/js/jquery-2.1.1.min.js"></script>
<script src="__CDN__/assets/layer/layer.js"></script>