HaoKun_web_stie/ruoyi-ui/src/views/official/index/index.vue
2024-06-20 10:13:15 +08:00

403 lines
13 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="图片上传地址" prop="imageurl">
<el-input
v-model="queryParams.imageurl"
placeholder="请输入图片上传地址"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="业务名称" prop="businessName">
<el-input
v-model="queryParams.businessName"
placeholder="请输入业务名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="图片标题英文描述" prop="titleEnglish">
<el-input
v-model="queryParams.titleEnglish"
placeholder="请输入图片标题英文描述"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="图片标题中文描述" prop="titleChinese">
<el-input
v-model="queryParams.titleChinese"
placeholder="请输入图片标题中文描述"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否置顶 0否 1是" prop="isIndex">
<el-input
v-model="queryParams.isIndex"
placeholder="请输入是否置顶 0否 1是"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="标题名称" prop="captionName">
<el-input
v-model="queryParams.captionName"
placeholder="请输入标题名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建者id" prop="createUserId">
<el-input
v-model="queryParams.createUserId"
placeholder="请输入创建者id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新者id" prop="updateUserId">
<el-input
v-model="queryParams.updateUserId"
placeholder="请输入更新者id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['official:index:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['official:index:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['official:index:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['official:index:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="indexList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键id" align="center" prop="id" v-if="true"/>
<el-table-column label="图片上传地址" align="center" prop="imageurl" />
<el-table-column label="文件类型 0图片 1视频" align="center" prop="fileType" />
<el-table-column label="业务类型 0石油化工业务 1基建业务 2铁矿石业务 3燃气业务 " align="center" prop="businessType" />
<el-table-column label="业务名称" align="center" prop="businessName" />
<el-table-column label="图片标题英文描述" align="center" prop="titleEnglish" />
<el-table-column label="图片标题中文描述" align="center" prop="titleChinese" />
<el-table-column label="是否置顶 0否 1是" align="center" prop="isIndex" />
<el-table-column label="标题名称" align="center" prop="captionName" />
<el-table-column label="创建者id" align="center" prop="createUserId" />
<el-table-column label="更新者id" align="center" prop="updateUserId" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['official:index:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['official:index:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改首页封面信息
对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="图片上传地址" prop="imageurl">
<el-input v-model="form.imageurl" placeholder="请输入图片上传地址" />
</el-form-item>
<el-form-item label="业务名称" prop="businessName">
<el-input v-model="form.businessName" placeholder="请输入业务名称" />
</el-form-item>
<el-form-item label="图片标题英文描述" prop="titleEnglish">
<el-input v-model="form.titleEnglish" placeholder="请输入图片标题英文描述" />
</el-form-item>
<el-form-item label="图片标题中文描述" prop="titleChinese">
<el-input v-model="form.titleChinese" placeholder="请输入图片标题中文描述" />
</el-form-item>
<el-form-item label="是否置顶 0否 1是" prop="isIndex">
<el-input v-model="form.isIndex" placeholder="请输入是否置顶 0否 1是" />
</el-form-item>
<el-form-item label="标题名称" prop="captionName">
<el-input v-model="form.captionName" placeholder="请输入标题名称" />
</el-form-item>
<el-form-item label="创建者id" prop="createUserId">
<el-input v-model="form.createUserId" placeholder="请输入创建者id" />
</el-form-item>
<el-form-item label="更新者id" prop="updateUserId">
<el-input v-model="form.updateUserId" placeholder="请输入更新者id" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listIndex, getIndex, delIndex, addIndex, updateIndex } from "@/api/official/index";
export default {
name: "Index",
data() {
return {
// 按钮loading
buttonLoading: false,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 首页封面信息表格数据
indexList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
imageurl: undefined,
fileType: undefined,
businessType: undefined,
businessName: undefined,
titleEnglish: undefined,
titleChinese: undefined,
isIndex: undefined,
captionName: undefined,
createUserId: undefined,
updateUserId: undefined,
},
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "主键id不能为空", trigger: "blur" }
],
imageurl: [
{ required: true, message: "图片上传地址不能为空", trigger: "blur" }
],
fileType: [
{ required: true, message: "文件类型 0图片 1视频不能为空", trigger: "change" }
],
businessType: [
{ required: true, message: "业务类型 0石油化工业务 1基建业务 2铁矿石业务 3燃气业务 不能为空", trigger: "change" }
],
businessName: [
{ required: true, message: "业务名称不能为空", trigger: "blur" }
],
titleEnglish: [
{ required: true, message: "图片标题英文描述不能为空", trigger: "blur" }
],
titleChinese: [
{ required: true, message: "图片标题中文描述不能为空", trigger: "blur" }
],
isIndex: [
{ required: true, message: "是否置顶 0否 1是不能为空", trigger: "blur" }
],
captionName: [
{ required: true, message: "标题名称不能为空", trigger: "blur" }
],
createUserId: [
{ required: true, message: "创建者id不能为空", trigger: "blur" }
],
updateUserId: [
{ required: true, message: "更新者id不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询首页封面信息
列表 */
getList() {
this.loading = true;
listIndex(this.queryParams).then(response => {
this.indexList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: undefined,
imageurl: undefined,
fileType: undefined,
businessType: undefined,
businessName: undefined,
titleEnglish: undefined,
titleChinese: undefined,
isIndex: undefined,
captionName: undefined,
createBy: undefined,
createUserId: undefined,
createTime: undefined,
updateBy: undefined,
updateUserId: undefined,
updateTime: undefined
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加首页封面信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.loading = true;
this.reset();
const id = row.id || this.ids
getIndex(id).then(response => {
this.loading = false;
this.form = response.data;
this.open = true;
this.title = "修改首页封面信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
this.buttonLoading = true;
if (this.form.id != null) {
updateIndex(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
}).finally(() => {
this.buttonLoading = false;
});
} else {
addIndex(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
}).finally(() => {
this.buttonLoading = false;
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除首页封面信息编号为"' + ids + '"的数据项?').then(() => {
this.loading = true;
return delIndex(ids);
}).then(() => {
this.loading = false;
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {
}).finally(() => {
this.loading = false;
});
},
/** 导出按钮操作 */
handleExport() {
this.download('official/index/export', {
...this.queryParams
}, `index_${new Date().getTime()}.xlsx`)
}
}
};
</script>