fix:small hug

3.x
smallwei 3 years ago
parent d2b1fe4760
commit f446988204
  1. 17
      index.html
  2. 2
      src/page/index/search.vue
  3. 2
      src/page/index/top/top-search.vue
  4. 3
      src/styles/element-ui.scss
  5. 427
      src/views/system/param.vue

@ -2,19 +2,20 @@
<html lang="en">
<head>
<meta charset="UTF-8" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="X-UA-Compatible" content="chrome=1"/>
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=no">
<link rel="icon" href="./public/favicon.png" />
<link rel="stylesheet" href="./public/iconfont/index.css">
<link rel="stylesheet" href="./public/iconfont/avue/iconfont.css">
<link rel="stylesheet" href="./public/iconfont/saber/iconfont.css">
<link rel="stylesheet" href="./public/css/loading.css">
<link rel="icon" href="/favicon.png" />
<link rel="stylesheet" href="/iconfont/index.css">
<link rel="stylesheet" href="/iconfont/avue/iconfont.css">
<link rel="stylesheet" href="/iconfont/saber/iconfont.css">
<link rel="stylesheet" href="/css/loading.css">
</head>
<body>
@ -38,4 +39,4 @@
<script type="module" src="/src/main.js"></script>
</body>
</html>
</html>

@ -101,7 +101,7 @@ export default {
createFilter (queryString) {
return restaurant => {
return (
restaurant.label.toLowerCase().indexOf(queryString.toLowerCase()) ===
restaurant[this.labelKey].toLowerCase().indexOf(queryString.toLowerCase()) ===
0
);
};

@ -75,7 +75,7 @@ export default {
createFilter (queryString) {
return restaurant => {
return (
restaurant.label.toLowerCase().indexOf(queryString.toLowerCase()) ===
restaurant[this.labelKey].toLowerCase().indexOf(queryString.toLowerCase()) ===
0
);
};

@ -50,4 +50,7 @@
}
.avue-icon i, .avue-icon svg{
line-height: 20px;
}
.avue--detail .el-form-item{
background-color: #fafafa;
}

@ -1,44 +1,413 @@
<template>
<basic-container>
<avue-crud v-bind="bindVal"
v-on="onEvent"
v-model="form"
:permission="permissionList"
v-model:page="page">
<template #menu-left>
<el-button type="danger"
icon="el-icon-delete"
v-if="permission.param_delete"
plain
@click="handleDelete">
</el-button>
</template>
</avue-crud>
<div class="avue-crud">
<el-row :hidden="!search"
style="padding:5px">
<!-- 查询模块 -->
<el-form :inline="true"
:model="query">
<el-form-item label="参数名">
<el-input v-model="query.paramName"
placeholder="请输入参数名"></el-input>
</el-form-item>
<!-- 查询按钮 -->
<el-form-item>
<el-button type="primary"
icon="el-icon-search"
@click="searchChange">搜索</el-button>
<el-button icon="el-icon-delete"
@click="searchReset()">清空</el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<div class="avue-crud__menu">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<el-button type="primary"
icon="el-icon-plus"
@click="handleAdd">新增</el-button>
<el-button type="danger"
icon="el-icon-delete"
@click="handleDelete"
plain>删除
</el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
<el-button icon="el-icon-refresh"
@click="searchChange"
circle></el-button>
<el-button icon="el-icon-search"
@click="searchHide"
circle></el-button>
</div>
</div>
</el-row>
<el-row>
<!-- 列表模块 -->
<el-table ref="table"
v-loading="loading"
@selection-change="selectionChange"
:data="data"
style="width: 100%"
:border="option.border">
<el-table-column type="selection"
v-if="option.selection"
width="55"
align="center"></el-table-column>
<el-table-column type="expand"
v-if="option.expand"
align="center"></el-table-column>
<el-table-column v-if="option.index"
label="#"
type="index"
width="50"
align="center">
</el-table-column>
<template v-for="(item,index) in option.column">
<!-- table字段 -->
<el-table-column v-if="item.hide!==true"
:prop="item.prop"
:label="item.label"
:width="item.width"
:key="index">
</el-table-column>
</template>
<!-- 操作栏模块 -->
<el-table-column prop="menu"
label="操作"
:width="220"
align="center">
<template #="{row}">
<el-button type="text"
icon="el-icon-view"
@click="handleView(row)">查看</el-button>
<el-button type="text"
icon="el-icon-edit"
@click="handleEdit(row)">编辑</el-button>
<el-button type="text"
icon="el-icon-delete"
@click="rowDel(row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<el-row>
<!-- 分页模块 -->
<el-pagination align="right"
background
@size-change="sizeChange"
@current-change="currentChange"
:current-page="page.currentPage"
:page-sizes="[10, 20, 30, 40, 50, 100]"
:page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total">
</el-pagination>
</el-row>
<!-- 表单模块 -->
<el-dialog :title="title"
v-model="box"
width="50%"
:before-close="beforeClose"
append-to-body>
<el-form :disabled="view"
ref="form"
:model="form"
label-width="80px">
<!-- 表单字段 -->
<el-form-item label="参数名"
prop="paramName">
<el-input v-model="form.paramName"
placeholder="请输入参数名" />
</el-form-item>
<el-form-item label="参数键"
prop="paramKey">
<el-input v-model="form.paramKey"
placeholder="请输入参数键" />
</el-form-item>
<el-form-item label="参数值"
prop="paramValue">
<el-input v-model="form.paramValue"
placeholder="请输入参数值" />
</el-form-item>
<el-form-item label="备注"
prop="remark">
<el-input v-model="form.remark"
placeholder="请输入备注" />
</el-form-item>
</el-form>
<!-- 表单按钮 -->
<template #footer>
<span v-if="!view"
class="dialog-footer">
<el-button type="primary"
icon="el-icon-circle-check"
@click="handleSubmit"> </el-button>
<el-button icon="el-icon-circle-close"
@click="box = false"> </el-button>
</span>
</template>
</el-dialog>
</div>
</basic-container>
</template>
<script>
import {
getDictTree
} from "@/api/system/dict";
import { getList, getDetail, add, update, remove } from "@/api/system/param";
import { mapGetters } from "vuex";
export default window.$crudCommon({
export default {
data () {
return {}
return {
//
title: '',
//
box: false,
//
search: true,
//
loading: true,
//
view: false,
//
query: {},
//
page: {
currentPage: 1,
pageSize: 10,
total: 40
},
//
form: {},
//
selectionList: [],
//
option: {
expand: false,
index: true,
border: true,
selection: true,
column: [
{
label: "主键",
prop: "id",
display: false,
hide: true,
},
{
label: "参数名",
prop: "paramName",
},
{
label: "参数键",
prop: "paramKey",
},
{
label: "参数值",
prop: "paramValue",
},
{
label: "备注",
prop: "remark",
},
{
label: "创建人",
prop: "createUser",
display: false,
hide: true,
},
{
label: "创建部门",
prop: "createDept",
display: false,
hide: true,
},
{
label: "创建时间",
prop: "createTime",
display: false,
hide: true,
},
{
label: "修改人",
prop: "updateUser",
display: false,
hide: true,
},
{
label: "修改时间",
prop: "updateTime",
display: false,
hide: true,
},
{
label: "状态",
prop: "status",
display: false,
hide: true,
},
{
label: "是否已删除",
prop: "isDeleted",
display: false,
hide: true,
},
]
},
//
data: [],
}
},
mounted () {
this.init();
this.onLoad(this.page);
},
computed: {
permissionList () {
return {
addBtn: this.validData(this.permission.param_add, false),
viewBtn: this.validData(this.permission.param_view, false),
delBtn: this.validData(this.permission.param_delete, false),
editBtn: this.validData(this.permission.param_edit, false)
};
...mapGetters(["permission"]),
ids () {
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.id);
});
return ids.join(",");
}
},
methods: {}
}, {
//
name: 'system/param',
})
methods: {
init () {
},
searchHide () {
this.search = !this.search;
},
searchChange () {
this.onLoad(this.page);
},
searchReset () {
this.query = {};
this.page.currentPage = 1;
this.onLoad(this.page);
},
handleSubmit () {
if (!this.form.id) {
add(this.form).then(() => {
this.box = false;
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
});
} else {
update(this.form).then(() => {
this.box = false;
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
})
}
},
handleAdd () {
this.title = '新增'
this.form = {}
this.box = true
},
handleEdit (row) {
this.title = '编辑'
this.box = true
getDetail(row.id).then(res => {
this.form = res.data.data;
});
},
handleView (row) {
this.title = '查看'
this.view = true;
this.box = true;
getDetail(row.id).then(res => {
this.form = res.data.data;
});
},
handleDelete () {
if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据");
return;
}
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
return remove(this.ids);
})
.then(() => {
this.selectionClear();
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
});
},
rowDel (row) {
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
return remove(row.id);
})
.then(() => {
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
});
},
beforeClose (done) {
done()
this.form = {};
this.view = false;
},
selectionChange (list) {
this.selectionList = list;
},
selectionClear () {
this.selectionList = [];
this.$refs.table.clearSelection();
},
currentChange (currentPage) {
this.page.currentPage = currentPage;
this.onLoad(this.page);
},
sizeChange (pageSize) {
this.page.pageSize = pageSize;
this.onLoad(this.page);
},
onLoad (page, params = {}) {
this.loading = true;
getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
const data = res.data.data;
this.page.total = data.total;
this.data = data.records;
this.loading = false;
this.selectionClear();
});
}
}
};
</script>
<style>
<style lang="scss" scoped>
.el-pagination {
margin-top: 20px;
}
</style>

Loading…
Cancel
Save