|
@@ -1,38 +1,58 @@
|
|
|
<template>
|
|
<template>
|
|
|
<div class="app-container">
|
|
<div class="app-container">
|
|
|
- <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
|
|
- <el-form-item label="名称" prop="bannerName">
|
|
|
|
|
|
|
+ <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="100px">
|
|
|
|
|
+ <el-form-item label="轮播图名称" prop="bannerName">
|
|
|
<el-input
|
|
<el-input
|
|
|
- v-model="queryParams.bannerName"
|
|
|
|
|
- placeholder="请输入名称"
|
|
|
|
|
- clearable
|
|
|
|
|
- @keyup.enter="handleQuery"
|
|
|
|
|
|
|
+ v-model="queryParams.bannerName"
|
|
|
|
|
+ placeholder="请输入轮播图名称"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="是否显示" prop="isActive">
|
|
|
|
|
- <el-select
|
|
|
|
|
- v-model="queryParams.isActive"
|
|
|
|
|
- placeholder="请选择是否显示"
|
|
|
|
|
- clearable
|
|
|
|
|
- >
|
|
|
|
|
- <el-option label="是" :value="1" />
|
|
|
|
|
- <el-option label="否" :value="0" />
|
|
|
|
|
|
|
+<!-- <el-form-item label="跳转链接" prop="linkUrl">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="queryParams.linkUrl"
|
|
|
|
|
+ placeholder="请输入跳转链接"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>-->
|
|
|
|
|
+ <el-form-item label="状态" prop="isActive">
|
|
|
|
|
+ <el-select v-model="queryParams.isActive" placeholder="请选择状态" clearable>
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="dict in banner_status"
|
|
|
|
|
+ :key="dict.value"
|
|
|
|
|
+ :label="dict.label"
|
|
|
|
|
+ :value="dict.value"
|
|
|
|
|
+ />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="系统类型" prop="sysType">
|
|
<el-form-item label="系统类型" prop="sysType">
|
|
|
- <el-select
|
|
|
|
|
- v-model="queryParams.sysType"
|
|
|
|
|
- placeholder="请选择系统类型"
|
|
|
|
|
- clearable
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ <el-select v-model="queryParams.sysType" placeholder="请选择系统类型" clearable>
|
|
|
<el-option
|
|
<el-option
|
|
|
- v-for="dict in banner_sys_type"
|
|
|
|
|
- :key="dict.value"
|
|
|
|
|
- :label="dict.label"
|
|
|
|
|
- :value="dict.value"
|
|
|
|
|
|
|
+ v-for="dict in banner_sys_type"
|
|
|
|
|
+ :key="dict.value"
|
|
|
|
|
+ :label="dict.label"
|
|
|
|
|
+ :value="dict.value"
|
|
|
/>
|
|
/>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
+<!-- <el-form-item label="部门id" prop="deptId">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="queryParams.deptId"
|
|
|
|
|
+ placeholder="请输入部门id"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="用户id" prop="userId">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="queryParams.userId"
|
|
|
|
|
+ placeholder="请输入用户id"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>-->
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
|
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
|
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
|
@@ -42,132 +62,135 @@
|
|
|
<el-row :gutter="10" class="mb8">
|
|
<el-row :gutter="10" class="mb8">
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
<el-button
|
|
|
- type="primary"
|
|
|
|
|
- plain
|
|
|
|
|
- icon="Plus"
|
|
|
|
|
- @click="handleAdd"
|
|
|
|
|
- v-hasPermi="['system:banner:add']"
|
|
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ plain
|
|
|
|
|
+ icon="Plus"
|
|
|
|
|
+ @click="handleAdd"
|
|
|
|
|
+ v-hasPermi="['logistics:banner:add']"
|
|
|
>新增</el-button>
|
|
>新增</el-button>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
<el-button
|
|
|
- type="success"
|
|
|
|
|
- plain
|
|
|
|
|
- icon="Edit"
|
|
|
|
|
- :disabled="single"
|
|
|
|
|
- @click="handleUpdate"
|
|
|
|
|
- v-hasPermi="['system:banner:edit']"
|
|
|
|
|
|
|
+ type="success"
|
|
|
|
|
+ plain
|
|
|
|
|
+ icon="Edit"
|
|
|
|
|
+ :disabled="single"
|
|
|
|
|
+ @click="handleUpdate"
|
|
|
|
|
+ v-hasPermi="['logistics:banner:edit']"
|
|
|
>修改</el-button>
|
|
>修改</el-button>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
<el-button
|
|
|
- type="danger"
|
|
|
|
|
- plain
|
|
|
|
|
- icon="Delete"
|
|
|
|
|
- :disabled="multiple"
|
|
|
|
|
- @click="handleDelete"
|
|
|
|
|
- v-hasPermi="['system:banner:remove']"
|
|
|
|
|
|
|
+ type="danger"
|
|
|
|
|
+ plain
|
|
|
|
|
+ icon="Delete"
|
|
|
|
|
+ :disabled="multiple"
|
|
|
|
|
+ @click="handleDelete"
|
|
|
|
|
+ v-hasPermi="['logistics:banner:remove']"
|
|
|
>删除</el-button>
|
|
>删除</el-button>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
|
|
|
|
+<!-- <el-col :span="1.5">
|
|
|
<el-button
|
|
<el-button
|
|
|
- type="warning"
|
|
|
|
|
- plain
|
|
|
|
|
- icon="Download"
|
|
|
|
|
- @click="handleExport"
|
|
|
|
|
- v-hasPermi="['system:banner:export']"
|
|
|
|
|
|
|
+ type="warning"
|
|
|
|
|
+ plain
|
|
|
|
|
+ icon="Download"
|
|
|
|
|
+ @click="handleExport"
|
|
|
|
|
+ v-hasPermi="['logistics:banner:export']"
|
|
|
>导出</el-button>
|
|
>导出</el-button>
|
|
|
- </el-col>
|
|
|
|
|
|
|
+ </el-col>-->
|
|
|
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
|
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
|
|
<el-table v-loading="loading" :data="bannerList" @selection-change="handleSelectionChange">
|
|
<el-table v-loading="loading" :data="bannerList" @selection-change="handleSelectionChange">
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
- <el-table-column label="名称" align="center" prop="bannerName" />
|
|
|
|
|
- <el-table-column label="轮播图" align="center" prop="imageUrl">
|
|
|
|
|
|
|
+<!-- <el-table-column label="轮播图id" align="center" prop="bannerId" />-->
|
|
|
|
|
+ <el-table-column label="轮播图名称" align="center" prop="bannerName" />
|
|
|
|
|
+ <el-table-column label="轮播图" align="center" prop="imageUrl" width="100">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
- <el-image
|
|
|
|
|
- :src="scope.row.imageUrl"
|
|
|
|
|
- :preview-src-list="[scope.row.imageUrl]"
|
|
|
|
|
- fit="cover"
|
|
|
|
|
- style="width: 60px; height: 60px; border-radius: 4px;"
|
|
|
|
|
- :z-index="9999"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ <image-preview :src="scope.row.imageUrl" :width="50" :height="50"/>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="跳转的链接" align="center" prop="linkUrl" />
|
|
|
|
|
- <el-table-column label="排序值" align="center" prop="sortOrder" />
|
|
|
|
|
- <el-table-column label="是否显示" align="center" prop="isActive">
|
|
|
|
|
|
|
+ <el-table-column label="跳转链接" align="center" prop="linkUrl" width="150" :show-overflow-tooltip="true"/>
|
|
|
|
|
+<!-- <el-table-column label="排序" align="center" prop="sortOrder" />-->
|
|
|
|
|
+ <el-table-column label="状态" align="center" prop="isActive">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
- <div>{{ scope.row.isActive === "1" ? '是' : '否' }}</div>
|
|
|
|
|
|
|
+ <dict-tag :options="banner_status" :value="scope.row.isActive"/>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column label="系统类型" align="center" prop="sysType">
|
|
<el-table-column label="系统类型" align="center" prop="sysType">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
- <dict-tag :options="banner_sys_type" :value="scope.row.sysType" />
|
|
|
|
|
|
|
+ <dict-tag :options="banner_sys_type" :value="scope.row.sysType"/>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+<!-- <el-table-column label="备注" align="center" prop="remark" />-->
|
|
|
|
|
+<!-- <el-table-column label="部门id" align="center" prop="deptId" />-->
|
|
|
|
|
+<!-- <el-table-column label="用户id" align="center" prop="userId" />-->
|
|
|
|
|
+ <el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="备注" align="center" prop="remark" />
|
|
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
- <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:banner:edit']">修改</el-button>
|
|
|
|
|
- <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['system:banner:remove']">删除</el-button>
|
|
|
|
|
|
|
+ <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['logistics:banner:edit']">修改</el-button>
|
|
|
|
|
+ <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['logistics:banner:remove']">删除</el-button>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
<pagination
|
|
<pagination
|
|
|
- v-show="total>0"
|
|
|
|
|
- :total="total"
|
|
|
|
|
- v-model:page="queryParams.pageNum"
|
|
|
|
|
- v-model:limit="queryParams.pageSize"
|
|
|
|
|
- @pagination="getList"
|
|
|
|
|
|
|
+ v-show="total>0"
|
|
|
|
|
+ :total="total"
|
|
|
|
|
+ v-model:page="queryParams.pageNum"
|
|
|
|
|
+ v-model:limit="queryParams.pageSize"
|
|
|
|
|
+ @pagination="getList"
|
|
|
/>
|
|
/>
|
|
|
|
|
|
|
|
- <!-- 添加或修改系统轮播图对话框 -->
|
|
|
|
|
|
|
+ <!-- 添加或修改轮播图对话框 -->
|
|
|
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
|
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
|
|
- <el-form ref="bannerRef" :model="form" :rules="rules" label-width="80px">
|
|
|
|
|
|
|
+ <el-form ref="bannerRef" :model="form" :rules="rules" label-width="120px">
|
|
|
<el-form-item label="轮播图名称" prop="bannerName">
|
|
<el-form-item label="轮播图名称" prop="bannerName">
|
|
|
<el-input v-model="form.bannerName" placeholder="请输入轮播图名称" />
|
|
<el-input v-model="form.bannerName" placeholder="请输入轮播图名称" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="上传图片" prop="imageUrl">
|
|
|
|
|
- <el-upload
|
|
|
|
|
- class="avatar-uploader"
|
|
|
|
|
- :action="uploadUrl"
|
|
|
|
|
- :show-file-list="false"
|
|
|
|
|
- :on-success="handleAvatarSuccess"
|
|
|
|
|
- :before-upload="beforeAvatarUpload"
|
|
|
|
|
- :headers="headers"
|
|
|
|
|
- >
|
|
|
|
|
- <img v-if="form.imageUrl" :src="form.imageUrl" class="avatar" />
|
|
|
|
|
- <el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
|
|
|
|
|
- </el-upload>
|
|
|
|
|
|
|
+ <el-form-item label="轮播图" prop="imageUrl">
|
|
|
|
|
+ <image-upload v-model="form.imageUrl" :limit="1"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="跳转的链接" prop="linkUrl">
|
|
|
|
|
- <el-input v-model="form.linkUrl" placeholder="请输入点击图片时跳转的链接" />
|
|
|
|
|
|
|
+ <el-form-item label="跳转链接" prop="linkUrl">
|
|
|
|
|
+ <el-input v-model="form.linkUrl" placeholder="请输入跳转链接" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="排序值" prop="sortOrder">
|
|
|
|
|
|
|
+<!-- <el-form-item label="排序值" prop="sortOrder">
|
|
|
<el-input v-model="form.sortOrder" placeholder="请输入排序值" />
|
|
<el-input v-model="form.sortOrder" placeholder="请输入排序值" />
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="是否显示" prop="isActive">
|
|
|
|
|
- <el-select v-model="form.isActive" placeholder="请选择是否显示">
|
|
|
|
|
- <el-option label="否" :value="0" />
|
|
|
|
|
- <el-option label="是" :value="1" />
|
|
|
|
|
- </el-select>
|
|
|
|
|
|
|
+ </el-form-item>-->
|
|
|
|
|
+ <el-form-item label="状态" prop="isActive">
|
|
|
|
|
+ <el-radio-group v-model="form.isActive">
|
|
|
|
|
+ <el-radio
|
|
|
|
|
+ v-for="dict in banner_status"
|
|
|
|
|
+ :key="dict.value"
|
|
|
|
|
+ :label="dict.value"
|
|
|
|
|
+ >{{dict.label}}</el-radio>
|
|
|
|
|
+ </el-radio-group>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="系统类型" prop="sysType">
|
|
<el-form-item label="系统类型" prop="sysType">
|
|
|
- <el-select v-model="form.sysType" placeholder="请选择系统类型">
|
|
|
|
|
- <el-option
|
|
|
|
|
- v-for="dict in banner_sys_type"
|
|
|
|
|
- :key="dict.value"
|
|
|
|
|
- :label="dict.label"
|
|
|
|
|
- :value="dict.value"
|
|
|
|
|
- />
|
|
|
|
|
- </el-select>
|
|
|
|
|
|
|
+ <el-radio-group v-model="form.sysType">
|
|
|
|
|
+ <el-radio
|
|
|
|
|
+ v-for="dict in banner_sys_type"
|
|
|
|
|
+ :key="dict.value"
|
|
|
|
|
+ :label="dict.value"
|
|
|
|
|
+ >{{dict.label}}</el-radio>
|
|
|
|
|
+ </el-radio-group>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+<!-- <el-form-item label="备注" prop="remark">
|
|
|
|
|
+ <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="删除标志" prop="delFlag">
|
|
|
|
|
+ <el-input v-model="form.delFlag" placeholder="请输入删除标志" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="备注" prop="remark">
|
|
|
|
|
- <el-input v-model="form.remark" placeholder="请输入备注" />
|
|
|
|
|
|
|
+ <el-form-item label="部门id" prop="deptId">
|
|
|
|
|
+ <el-input v-model="form.deptId" placeholder="请输入部门id" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
+ <el-form-item label="用户id" prop="userId">
|
|
|
|
|
+ <el-input v-model="form.userId" placeholder="请输入用户id" />
|
|
|
|
|
+ </el-form-item>-->
|
|
|
</el-form>
|
|
</el-form>
|
|
|
<template #footer>
|
|
<template #footer>
|
|
|
<div class="dialog-footer">
|
|
<div class="dialog-footer">
|
|
@@ -181,19 +204,9 @@
|
|
|
|
|
|
|
|
<script setup name="Banner">
|
|
<script setup name="Banner">
|
|
|
import { listBanner, getBanner, delBanner, addBanner, updateBanner } from "@/api/logistics/banner"
|
|
import { listBanner, getBanner, delBanner, addBanner, updateBanner } from "@/api/logistics/banner"
|
|
|
-import { Plus } from '@element-plus/icons-vue'
|
|
|
|
|
-import { getToken } from "@/utils/auth"
|
|
|
|
|
-import DictTag from '@/components/DictTag'
|
|
|
|
|
-import { useDict } from '@/utils/dict'
|
|
|
|
|
|
|
|
|
|
const { proxy } = getCurrentInstance()
|
|
const { proxy } = getCurrentInstance()
|
|
|
-
|
|
|
|
|
-// 使用标准字典类型,但不在表单中使用
|
|
|
|
|
-const { banner_sys_type } = proxy.useDict("banner_sys_type")
|
|
|
|
|
-
|
|
|
|
|
-// 定义上传地址和请求头
|
|
|
|
|
-const uploadUrl = ref(import.meta.env.VITE_APP_BASE_API + "/file/upload")
|
|
|
|
|
-const headers = ref({ Authorization: "Bearer " + getToken() })
|
|
|
|
|
|
|
+const { banner_status, banner_sys_type } = proxy.useDict('banner_status', 'banner_sys_type')
|
|
|
|
|
|
|
|
const bannerList = ref([])
|
|
const bannerList = ref([])
|
|
|
const open = ref(false)
|
|
const open = ref(false)
|
|
@@ -211,17 +224,35 @@ const data = reactive({
|
|
|
pageNum: 1,
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
pageSize: 10,
|
|
|
bannerName: null,
|
|
bannerName: null,
|
|
|
|
|
+ imageUrl: null,
|
|
|
|
|
+ linkUrl: null,
|
|
|
isActive: null,
|
|
isActive: null,
|
|
|
sysType: null,
|
|
sysType: null,
|
|
|
deptId: null,
|
|
deptId: null,
|
|
|
userId: null
|
|
userId: null
|
|
|
},
|
|
},
|
|
|
- rules: {}
|
|
|
|
|
|
|
+ rules: {
|
|
|
|
|
+ bannerName: [
|
|
|
|
|
+ { required: true, message: "轮播图名称不能为空", trigger: "blur" }
|
|
|
|
|
+ ],
|
|
|
|
|
+ imageUrl: [
|
|
|
|
|
+ { required: true, message: "图片路径不能为空", trigger: "blur" }
|
|
|
|
|
+ ],
|
|
|
|
|
+ linkUrl: [
|
|
|
|
|
+ { required: true, message: "跳转链接不能为空", trigger: "blur" }
|
|
|
|
|
+ ],
|
|
|
|
|
+ isActive: [
|
|
|
|
|
+ { required: true, message: "状态不能为空", trigger: "change" }
|
|
|
|
|
+ ],
|
|
|
|
|
+ sysType: [
|
|
|
|
|
+ { required: true, message: "系统类型不能为空", trigger: "change" }
|
|
|
|
|
+ ],
|
|
|
|
|
+ }
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
const { queryParams, form, rules } = toRefs(data)
|
|
const { queryParams, form, rules } = toRefs(data)
|
|
|
|
|
|
|
|
-/** 查询系统轮播图列表 */
|
|
|
|
|
|
|
+/** 查询轮播图列表 */
|
|
|
function getList() {
|
|
function getList() {
|
|
|
loading.value = true
|
|
loading.value = true
|
|
|
listBanner(queryParams.value).then(response => {
|
|
listBanner(queryParams.value).then(response => {
|
|
@@ -231,31 +262,6 @@ function getList() {
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-// 图片上传成功后的回调
|
|
|
|
|
-function handleAvatarSuccess(res, file) {
|
|
|
|
|
- if(res.code === 200) {
|
|
|
|
|
- // 根据实际返回的数据结构设置图片URL
|
|
|
|
|
- form.value.imageUrl = res.data.url
|
|
|
|
|
- } else {
|
|
|
|
|
- proxy.$message.error('上传失败:' + res.msg)
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// 上传前的校验
|
|
|
|
|
-function beforeAvatarUpload(file) {
|
|
|
|
|
- const acceptTypes = ['image/jpeg', 'image/png', 'image/gif']
|
|
|
|
|
- const isAcceptedType = acceptTypes.includes(file.type)
|
|
|
|
|
- const isLt2M = file.size / 1024 / 1024 < 2
|
|
|
|
|
-
|
|
|
|
|
- if (!isAcceptedType) {
|
|
|
|
|
- proxy.$message.error('上传图片只能是 JPG/PNG/GIF 格式!')
|
|
|
|
|
- }
|
|
|
|
|
- if (!isLt2M) {
|
|
|
|
|
- proxy.$message.error('上传图片大小不能超过 2MB!')
|
|
|
|
|
- }
|
|
|
|
|
- return isAcceptedType && isLt2M
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
// 取消按钮
|
|
// 取消按钮
|
|
|
function cancel() {
|
|
function cancel() {
|
|
|
open.value = false
|
|
open.value = false
|
|
@@ -307,7 +313,7 @@ function handleSelectionChange(selection) {
|
|
|
function handleAdd() {
|
|
function handleAdd() {
|
|
|
reset()
|
|
reset()
|
|
|
open.value = true
|
|
open.value = true
|
|
|
- title.value = "添加系统轮播图"
|
|
|
|
|
|
|
+ title.value = "添加轮播图"
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/** 修改按钮操作 */
|
|
/** 修改按钮操作 */
|
|
@@ -316,12 +322,8 @@ function handleUpdate(row) {
|
|
|
const _bannerId = row.bannerId || ids.value
|
|
const _bannerId = row.bannerId || ids.value
|
|
|
getBanner(_bannerId).then(response => {
|
|
getBanner(_bannerId).then(response => {
|
|
|
form.value = response.data
|
|
form.value = response.data
|
|
|
- // 确保isActive字段的值被正确转换为数字类型,以便与选项值匹配
|
|
|
|
|
- if (form.value.isActive !== null && form.value.isActive !== undefined) {
|
|
|
|
|
- form.value.isActive = Number(form.value.isActive)
|
|
|
|
|
- }
|
|
|
|
|
open.value = true
|
|
open.value = true
|
|
|
- title.value = "修改系统轮播图"
|
|
|
|
|
|
|
+ title.value = "修改轮播图"
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -349,7 +351,7 @@ function submitForm() {
|
|
|
/** 删除按钮操作 */
|
|
/** 删除按钮操作 */
|
|
|
function handleDelete(row) {
|
|
function handleDelete(row) {
|
|
|
const _bannerIds = row.bannerId || ids.value
|
|
const _bannerIds = row.bannerId || ids.value
|
|
|
- proxy.$modal.confirm('是否确认删除系统轮播图编号为"' + _bannerIds + '"的数据项?').then(function() {
|
|
|
|
|
|
|
+ proxy.$modal.confirm('是否确认删除轮播图编号为"' + _bannerIds + '"的数据项?').then(function() {
|
|
|
return delBanner(_bannerIds)
|
|
return delBanner(_bannerIds)
|
|
|
}).then(() => {
|
|
}).then(() => {
|
|
|
getList()
|
|
getList()
|
|
@@ -359,39 +361,10 @@ function handleDelete(row) {
|
|
|
|
|
|
|
|
/** 导出按钮操作 */
|
|
/** 导出按钮操作 */
|
|
|
function handleExport() {
|
|
function handleExport() {
|
|
|
- proxy.download('system/banner/export', {
|
|
|
|
|
|
|
+ proxy.download('logistics/banner/export', {
|
|
|
...queryParams.value
|
|
...queryParams.value
|
|
|
}, `banner_${new Date().getTime()}.xlsx`)
|
|
}, `banner_${new Date().getTime()}.xlsx`)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
getList()
|
|
getList()
|
|
|
</script>
|
|
</script>
|
|
|
-
|
|
|
|
|
-<style>
|
|
|
|
|
-.avatar-uploader .el-upload {
|
|
|
|
|
- border: 1px dashed var(--el-border-color);
|
|
|
|
|
- border-radius: 6px;
|
|
|
|
|
- cursor: pointer;
|
|
|
|
|
- position: relative;
|
|
|
|
|
- overflow: hidden;
|
|
|
|
|
- transition: var(--el-transition-duration-fast);
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-.avatar-uploader .el-upload:hover {
|
|
|
|
|
- border-color: var(--el-color-primary);
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-.avatar-uploader-icon {
|
|
|
|
|
- font-size: 28px;
|
|
|
|
|
- color: #8c939d;
|
|
|
|
|
- width: 178px;
|
|
|
|
|
- height: 178px;
|
|
|
|
|
- text-align: center;
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-.avatar {
|
|
|
|
|
- width: 178px;
|
|
|
|
|
- height: 178px;
|
|
|
|
|
- display: block;
|
|
|
|
|
-}
|
|
|
|
|
-</style>
|
|
|