基础版本系统提交
This commit is contained in:
parent
f124e6868c
commit
3234161535
File diff suppressed because one or more lines are too long
|
|
@ -145,19 +145,6 @@ export const constantRoutes = [
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/download',
|
||||
component: Layout,
|
||||
hidden: true,
|
||||
children: [
|
||||
{
|
||||
path: '/',
|
||||
component: (resolve) => require(['@/views/test/downloadtest'], resolve),
|
||||
name: 'download',
|
||||
meta: { title: '下载组件测试' }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/job',
|
||||
component: Layout,
|
||||
|
|
|
|||
|
|
@ -1,379 +0,0 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="a表信息" prop="infoa">
|
||||
<el-input
|
||||
v-model="queryParams.infoa"
|
||||
placeholder="请输入a表信息"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="a表信息">
|
||||
<el-date-picker
|
||||
v-model="daterangeCreateTime"
|
||||
size="small"
|
||||
style="width: 240px"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="b创建时间">
|
||||
<el-date-picker
|
||||
v-model="relBCreateTime"
|
||||
size="small"
|
||||
style="width: 240px"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="信息b" prop="infob">
|
||||
<el-input
|
||||
v-model="queryParams.relB.infob"
|
||||
placeholder="请输入信息b"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="c表信息" prop="infoc">
|
||||
<el-input
|
||||
v-model="queryParams.relC.infoc"
|
||||
placeholder="请输入c表信息"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="c创建时间">
|
||||
<el-date-picker
|
||||
v-model="relCCreateTime"
|
||||
size="small"
|
||||
style="width: 240px"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</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="['test:a: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="['test:a: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="['test:a: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="['test:a:export']"
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="aList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center"/>
|
||||
<el-table-column label="id表a" align="center" prop="aid"/>
|
||||
<el-table-column label="a表信息" align="center" prop="infoa"/>
|
||||
<el-table-column label="a表信息" align="center" prop="createTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{m}:{s}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="b创建时间" align="center" prop="relB.createTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.relB.createTime, '{y}-{m}-{d} {h}:{m}:{s}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="信息b" align="center" prop="relB.infob"/>
|
||||
<el-table-column label="关联id" align="center" prop="relB.uniconId"/>
|
||||
<el-table-column label="b表id" align="center" prop="relB.bid"/>
|
||||
<el-table-column label="c表信息" align="center" prop="relC.infoc"/>
|
||||
<el-table-column label="关联ID" align="center" prop="relC.uniconId"/>
|
||||
<el-table-column label="c表id" align="center" prop="relC.cid"/>
|
||||
<el-table-column label="c创建时间" align="center" prop="relC.createTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.relC.createTime, '{y}-{m}-{d} {h}:{m}:{s}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<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="['test:a:edit']"
|
||||
>修改
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['test:a:remove']"
|
||||
>删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageInfo.pageNum"
|
||||
:limit.sync="queryParams.pageInfo.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改测试a对话框 -->
|
||||
<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="a表信息" prop="infoa">
|
||||
<el-input v-model="form.infoa" placeholder="请输入a表信息"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {listA, getA, delA, addA, updateA, exportA} from "@/api/test/a";
|
||||
|
||||
export default {
|
||||
name: "A",
|
||||
components: {},
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 测试a表格数据
|
||||
aList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// a表信息时间范围
|
||||
daterangeCreateTime: [],
|
||||
|
||||
// b创建时间时间范围
|
||||
relBCreateTime: [],
|
||||
// c创建时间时间范围
|
||||
relCCreateTime: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageInfo:{
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
},
|
||||
params: {},
|
||||
infoa: null,
|
||||
relB: {
|
||||
infob: null,
|
||||
params: {
|
||||
}
|
||||
},
|
||||
relC: {
|
||||
infoc: null,
|
||||
params: {
|
||||
}
|
||||
}
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询测试a列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
this.queryParams.params={}
|
||||
this.queryParams.relB.params={}
|
||||
this.queryParams.relC.params={}
|
||||
if (null != this.daterangeCreateTime && '' !== this.daterangeCreateTime) {
|
||||
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
|
||||
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
|
||||
}
|
||||
if (null != this.relBCreateTime && '' !== this.relBCreateTime) {
|
||||
this.queryParams.relB.params["beginCreateTime"] = this.relBCreateTime[0];
|
||||
this.queryParams.relB.params["endCreateTime"] = this.relBCreateTime[1];
|
||||
}
|
||||
if (null != this.relCCreateTime && '' !== this.relCCreateTime) {
|
||||
this.queryParams.relC.params["beginCreateTime"] = this.relCCreateTime[0];
|
||||
this.queryParams.relC.params["endCreateTime"] = this.relCCreateTime[1];
|
||||
}
|
||||
listA(this.queryParams).then(response => {
|
||||
this.aList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
aid: null,
|
||||
infoa: null,
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.daterangeCreateTime = [];
|
||||
this.relBCreateTime = [];
|
||||
this.relCCreateTime = [];
|
||||
this.queryParams.params={}
|
||||
this.queryParams.relB.params={}
|
||||
this.queryParams.relC.params={}
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.aid)
|
||||
this.single = selection.length !== 1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加测试a";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const aid = row.aid || this.ids
|
||||
getA(aid).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改测试a";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.aid != null) {
|
||||
updateA(this.form).then(response => {
|
||||
this.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addA(this.form).then(response => {
|
||||
this.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const aids = row.aid || this.ids;
|
||||
this.$confirm('是否确认删除测试a编号为"' + aids + '"的数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function () {
|
||||
return delA(aids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.msgSuccess("删除成功");
|
||||
})
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
const queryParams = this.queryParams;
|
||||
this.$confirm('是否确认导出所有测试a数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function () {
|
||||
return exportA(queryParams);
|
||||
}).then(response => {
|
||||
this.download(response.msg);
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
<template>
|
||||
<div>
|
||||
F:{{ value }}
|
||||
<UploadFile ref="download" :v-data="false" :union-id="5" v-model="value" :v-public="true"/>
|
||||
<el-button @click="submitForm">确 定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import UploadFile from '../utils/uploadFile'
|
||||
|
||||
export default {
|
||||
name: "downloadtest",
|
||||
components: {
|
||||
UploadFile
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
value: "",
|
||||
url:"",
|
||||
uri:"",
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
submitForm() {
|
||||
const start = this.$refs.download.uploadFile();
|
||||
if (start) {
|
||||
console.log(this.value)
|
||||
}else {
|
||||
console.log(start)
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
|
@ -1,360 +0,0 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="名称" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
placeholder="请输入名称"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="信息" prop="info">
|
||||
<el-input
|
||||
v-model="queryParams.info"
|
||||
placeholder="请输入信息"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="daterangeCreateTime"
|
||||
size="small"
|
||||
style="width: 240px"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="名称" prop="sname">
|
||||
<el-input
|
||||
v-model="queryParams.assSun.sname"
|
||||
placeholder="请输入名称"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="assCreateTime"
|
||||
size="small"
|
||||
style="width: 240px"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</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="['test:father: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="['test:father: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="['test:father: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="['test:father:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="fatherList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="名称" align="center" prop="name" />
|
||||
<el-table-column label="信息" align="center" prop="info" />
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{m}:{s}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="父id" align="center" prop="assSun.fId" :formatter="fIdFormat" />
|
||||
<el-table-column label="名称" align="center" prop="assSun.sname" :formatter="snameFormat" />
|
||||
|
||||
<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="['test:father:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['test:father:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.params.pageNum"
|
||||
:limit.sync="queryParams.params.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="id">
|
||||
<el-input v-model="form.id" placeholder="请输入主键" />
|
||||
</el-form-item>
|
||||
<el-form-item label="名称" prop="name">
|
||||
<el-input v-model="form.name" placeholder="请输入名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="信息" prop="info">
|
||||
<el-input v-model="form.info" placeholder="请输入信息" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listFather, getFather, delFather, addFather, updateFather, exportFather } from "@/api/test/father";
|
||||
|
||||
export default {
|
||||
name: "Father",
|
||||
components: {
|
||||
},
|
||||
data() {
|
||||
|
||||
var nametest = (rule, value, callback) =>{
|
||||
if (value === '') {
|
||||
callback(new Error('请再次输入密码'));
|
||||
} else {
|
||||
console.log(value)
|
||||
callback();
|
||||
}
|
||||
};
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 关联查询父表格数据
|
||||
fatherList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 创建时间时间范围
|
||||
daterangeCreateTime: [],
|
||||
// 主键字典
|
||||
idOptions: [],
|
||||
// 父id字典
|
||||
fIdOptions: [],
|
||||
// 名称字典
|
||||
snameOptions: [],
|
||||
// 创建时间字典
|
||||
createTimeOptions: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
params:{
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
},
|
||||
name: null,
|
||||
info: null,
|
||||
assSun: {
|
||||
sname: null,
|
||||
}
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
name: [
|
||||
{ required: true, message: "名称不能为空}", trigger: "blur" },
|
||||
|
||||
{validator : nametest,trigger: 'blur'}
|
||||
],
|
||||
info: [
|
||||
{ required: true, message: "信息不能为空}", trigger: "blur" },
|
||||
],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询关联查询父列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
|
||||
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
|
||||
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
|
||||
}
|
||||
if (null != this.assCreateTime && '' != this.assCreateTime) {
|
||||
this.queryParams.params["assbeginCreateTime"] = this.assCreateTime[0];
|
||||
this.queryParams.params["assendCreateTime"] = this.assCreateTime[1];
|
||||
}
|
||||
listFather(this.queryParams).then(response => {
|
||||
this.fatherList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: null,
|
||||
name: null,
|
||||
info: null,
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.daterangeCreateTime = [];
|
||||
this.assdaterangeCreateTime = [];
|
||||
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.reset();
|
||||
const id = row.id || this.ids
|
||||
getFather(id).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改关联查询父";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.id != null) {
|
||||
updateFather(this.form).then(response => {
|
||||
this.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addFather(this.form).then(response => {
|
||||
this.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$confirm('是否确认删除关联查询父编号为"' + ids + '"的数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function() {
|
||||
return delFather(ids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.msgSuccess("删除成功");
|
||||
})
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
const queryParams = this.queryParams;
|
||||
this.$confirm('是否确认导出所有关联查询父数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function() {
|
||||
return exportFather(queryParams);
|
||||
}).then(response => {
|
||||
this.download(response.msg);
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
@ -1,287 +0,0 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="java成绩" prop="java">
|
||||
<el-input
|
||||
v-model="queryParams.java"
|
||||
placeholder="请输入java成绩"
|
||||
clearable
|
||||
size="small"
|
||||
@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="['test:results: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="['test:results: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="['test:results: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="['test:results:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="resultsList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="id" align="center" prop="id" />
|
||||
<el-table-column label="学生id" align="center" prop="sId" />
|
||||
<el-table-column label="java成绩" align="center" prop="java" />
|
||||
<el-table-column label="图片路径" align="center" prop="images" />
|
||||
<el-table-column label="文件路径" align="center" prop="file" />
|
||||
<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="['test:results:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['test:results: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="学生id" prop="sId">
|
||||
<el-input v-model="form.sId" placeholder="请输入学生id" />
|
||||
</el-form-item>
|
||||
<el-form-item label="java成绩" prop="java">
|
||||
<el-input v-model="form.java" placeholder="请输入java成绩" />
|
||||
</el-form-item>
|
||||
<el-form-item label="图片路径">
|
||||
<imageUpload v-model="form.images"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="文件路径">
|
||||
<fileUpload v-model="form.file"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listResults, getResults, delResults, addResults, updateResults, exportResults } from "@/api/test/results";
|
||||
import ImageUpload from '@/components/ImageUpload';
|
||||
import FileUpload from '@/components/FileUpload';
|
||||
|
||||
export default {
|
||||
name: "Results",
|
||||
components: {
|
||||
ImageUpload,
|
||||
FileUpload,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 成绩表格数据
|
||||
resultsList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
java: null,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
java: [
|
||||
{ required: true, message: "java成绩不能为空}", trigger: "blur" },
|
||||
],
|
||||
images: [
|
||||
{ required: true, message: "图片路径不能为空}", trigger: "blur" },
|
||||
],
|
||||
file: [
|
||||
{ required: true, message: "文件路径不能为空}", trigger: "blur" },
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询成绩列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listResults(this.queryParams).then(response => {
|
||||
this.resultsList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: null,
|
||||
sId: null,
|
||||
java: null,
|
||||
images: null,
|
||||
file: null
|
||||
};
|
||||
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.reset();
|
||||
const id = row.id || this.ids
|
||||
getResults(id).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改成绩";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.id != null) {
|
||||
updateResults(this.form).then(response => {
|
||||
this.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addResults(this.form).then(response => {
|
||||
this.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$confirm('是否确认删除成绩编号为"' + ids + '"的数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function() {
|
||||
return delResults(ids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.msgSuccess("删除成功");
|
||||
})
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
const queryParams = this.queryParams;
|
||||
this.$confirm('是否确认导出所有成绩数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function() {
|
||||
return exportResults(queryParams);
|
||||
}).then(response => {
|
||||
this.download(response.msg);
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
@ -1,417 +0,0 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="学生姓名" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
placeholder="请输入学生姓名"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="电话" prop="tel">
|
||||
<el-input
|
||||
v-model="queryParams.tel"
|
||||
placeholder="请输入电话"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="电子邮件" prop="email">
|
||||
<el-input
|
||||
v-model="queryParams.email"
|
||||
placeholder="请输入电子邮件"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="daterangeCreateTime"
|
||||
size="small"
|
||||
style="width: 240px"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</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="['test:stu: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="['test:stu: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="['test:stu: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="['test:stu:export']"
|
||||
>导出
|
||||
</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="stuList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center"/>
|
||||
<el-table-column label="id" align="center" prop="id"/>
|
||||
<el-table-column label="学生姓名" align="center" prop="name"/>
|
||||
<el-table-column label="电话" align="center" prop="tel"/>
|
||||
<el-table-column label="电子邮件" align="center" prop="email"/>
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<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="['test:stu:edit']"
|
||||
>修改
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['test:stu: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="name">
|
||||
<el-input v-model="form.name" placeholder="请输入学生姓名"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="电话" prop="tel">
|
||||
<el-input v-model="form.tel" placeholder="请输入电话"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="电子邮件" prop="email">
|
||||
<el-input v-model="form.email" placeholder="请输入电子邮件"/>
|
||||
</el-form-item>
|
||||
<el-divider content-position="center">成绩信息</el-divider>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddResults">添加</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteResults">删除</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table :data="resultsList" :row-class-name="rowResultsIndex" @selection-change="handleResultsSelectionChange"
|
||||
ref="results">
|
||||
<el-table-column type="selection" width="50" align="center"/>
|
||||
<el-table-column label="序号" align="center" prop="index" width="50"/>
|
||||
<el-table-column label="java成绩" prop="java">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.java" placeholder="请输入java成绩"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="图片路径" prop="images">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.images" placeholder="请输入图片路径"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="文件路径" prop="file">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.file" placeholder="请输入文件路径"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog :title="maptest.title" :visible.sync="maptest.open" width="1200px" append-to-body>
|
||||
<el-table v-loading="false" :data="maptest.tabledata">
|
||||
<el-table-column v-for="item in maptest.tableheader"
|
||||
:label="item"
|
||||
align="center"
|
||||
:key="item"
|
||||
:prop="item" />
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {listStu, getStu, delStu, addStu, updateStu, exportStu, mapTest} from "@/api/test/stu";
|
||||
|
||||
export default {
|
||||
name: "Stu",
|
||||
components: {},
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 子表选中数据
|
||||
checkedResults: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 学生表格数据
|
||||
stuList: [],
|
||||
// 成绩表格数据
|
||||
resultsList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
maptest: {
|
||||
open: true,
|
||||
title: "map测试",
|
||||
tabledata: [],
|
||||
tableheader: [],
|
||||
},
|
||||
// 创建时间时间范围
|
||||
daterangeCreateTime: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
name: null,
|
||||
tel: null,
|
||||
email: null,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
name: [
|
||||
{required: true, message: "学生姓名不能为空}", trigger: "blur"},
|
||||
],
|
||||
tel: [
|
||||
{required: true, message: "电话不能为空}", trigger: "blur"},
|
||||
{pattern: /^1[0-9]{10}$/, message: '电话格式有误', trigger: "blur"},
|
||||
],
|
||||
email: [
|
||||
{required: true, message: "电子邮件不能为空}", trigger: "blur"},
|
||||
{
|
||||
pattern: /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/,
|
||||
message: '电子邮件格式有误',
|
||||
trigger: "blur"
|
||||
},
|
||||
],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
mapTest().then(res => {
|
||||
this.maptest.tabledata = res
|
||||
this.maptest.tableheader = []
|
||||
for (var key in res[0]) {
|
||||
this.maptest.tableheader.push(key)
|
||||
}
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
/** 查询学生列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listStu(this.addCreateDateRange(this.queryParams, this.daterangeCreateTime)).then(response => {
|
||||
this.stuList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: null,
|
||||
name: null,
|
||||
tel: null,
|
||||
email: null,
|
||||
};
|
||||
this.resultsList = [];
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.daterangeCreateTime = [];
|
||||
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.reset();
|
||||
const id = row.id || this.ids
|
||||
getStu(id).then(response => {
|
||||
this.form = response.data;
|
||||
this.resultsList = response.data.resultsList;
|
||||
this.open = true;
|
||||
this.title = "修改学生";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
this.form.resultsList = this.resultsList;
|
||||
if (this.form.id != null) {
|
||||
updateStu(this.form).then(response => {
|
||||
this.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addStu(this.form).then(response => {
|
||||
this.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$confirm('是否确认删除学生编号为"' + ids + '"的数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function () {
|
||||
return delStu(ids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.msgSuccess("删除成功");
|
||||
})
|
||||
},
|
||||
/** 成绩序号 */
|
||||
rowResultsIndex({row, rowIndex}) {
|
||||
row.index = rowIndex + 1;
|
||||
},
|
||||
/** 成绩添加按钮操作 */
|
||||
handleAddResults() {
|
||||
let obj = {};
|
||||
obj.java = "";
|
||||
obj.images = "";
|
||||
obj.file = "";
|
||||
this.resultsList.push(obj);
|
||||
},
|
||||
/** 成绩删除按钮操作 */
|
||||
handleDeleteResults() {
|
||||
if (this.checkedResults.length == 0) {
|
||||
this.$alert("请先选择要删除的成绩数据", "提示", {confirmButtonText: "确定",});
|
||||
} else {
|
||||
this.resultsList.splice(this.checkedResults[0].index - 1, 1);
|
||||
}
|
||||
},
|
||||
/** 单选框选中数据 */
|
||||
handleResultsSelectionChange(selection) {
|
||||
if (selection.length > 1) {
|
||||
this.$refs.results.clearSelection();
|
||||
this.$refs.results.toggleRowSelection(selection.pop());
|
||||
} else {
|
||||
this.checkedResults = selection;
|
||||
}
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
const queryParams = this.queryParams;
|
||||
this.$confirm('是否确认导出所有学生数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function () {
|
||||
return exportStu(queryParams);
|
||||
}).then(response => {
|
||||
this.download(response.msg);
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
@ -1,227 +0,0 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="内容" prop="content">
|
||||
<el-input
|
||||
v-model="queryParams.content"
|
||||
placeholder="请输入内容"
|
||||
clearable
|
||||
size="small"
|
||||
@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="['test:tree:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="treeList"
|
||||
row-key="id"
|
||||
default-expand-all
|
||||
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
|
||||
>
|
||||
<el-table-column label="内容" align="center" prop="content" />
|
||||
<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="['test:tree:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['test:tree:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<!-- 添加或修改树测试对话框 -->
|
||||
<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="父id" prop="pId">
|
||||
<treeselect v-model="form.pId" :options="treeOptions" :normalizer="normalizer" placeholder="请选择父id" />
|
||||
</el-form-item>
|
||||
<el-form-item label="内容" prop="content">
|
||||
<el-input v-model="form.content" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listTree, getTree, delTree, addTree, updateTree, exportTree } from "@/api/test/tree";
|
||||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
|
||||
export default {
|
||||
name: "Tree",
|
||||
components: {
|
||||
Treeselect
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 树测试表格数据
|
||||
treeList: [],
|
||||
// 树测试树选项
|
||||
treeOptions: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
content: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
content: [
|
||||
{ required: true, message: "内容不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询树测试列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listTree(this.queryParams).then(response => {
|
||||
this.treeList = this.handleTree(response.data, "id", "pId");
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
/** 转换树测试数据结构 */
|
||||
normalizer(node) {
|
||||
if (node.children && !node.children.length) {
|
||||
delete node.children;
|
||||
}
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.content,
|
||||
children: node.children
|
||||
};
|
||||
},
|
||||
/** 查询部门下拉树结构 */
|
||||
getTreeselect() {
|
||||
listTree().then(response => {
|
||||
this.treeOptions = [];
|
||||
const data = { id: 0, content: '顶级节点', children: [] };
|
||||
data.children = this.handleTree(response.data, "id", "pId");
|
||||
this.treeOptions.push(data);
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: null,
|
||||
pId: null,
|
||||
content: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.getTreeselect();
|
||||
this.open = true;
|
||||
this.title = "添加树测试";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
this.getTreeselect();
|
||||
if (row != null) {
|
||||
this.form.pId = row.id;
|
||||
}
|
||||
getTree(row.id).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改树测试";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.id != null) {
|
||||
updateTree(this.form).then(response => {
|
||||
this.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addTree(this.form).then(response => {
|
||||
this.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
this.$confirm('是否确认删除树测试编号为"' + row.id + '"的数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function() {
|
||||
return delTree(row.id);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.msgSuccess("删除成功");
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
@ -66,11 +66,6 @@
|
|||
<groupId>com.ebts</groupId>
|
||||
<artifactId>ebts-quartz</artifactId>
|
||||
</dependency>
|
||||
<!-- 测试模块-->
|
||||
<dependency>
|
||||
<groupId>com.ebts</groupId>
|
||||
<artifactId>ebts-test</artifactId>
|
||||
</dependency>
|
||||
<!-- 代码生成-->
|
||||
<dependency>
|
||||
<groupId>com.ebts</groupId>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
|||
/**
|
||||
* 启动程序
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
|
||||
//@EnableSwagger2
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
|
|||
/**
|
||||
* web容器中进行部署
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class EBTSServletInitializer extends SpringBootServletInitializer {
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ import com.ebts.common.utils.uuid.IdUtils;
|
|||
/**
|
||||
* 验证码操作处理
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
public class CaptchaController {
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import com.ebts.framework.config.ServerConfig;
|
|||
/**
|
||||
* 通用请求处理
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
public class CommonController {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import com.ebts.system.service.LogininforService;
|
|||
/**
|
||||
* 系统访问记录
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/monitor/logininfor")
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import com.ebts.system.service.OperLogService;
|
|||
/**
|
||||
* 操作日志记录
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/monitor/operlog")
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import com.ebts.framework.web.domain.Server;
|
|||
/**
|
||||
* 服务器监控
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/monitor/server")
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ import com.ebts.system.service.UserOnlineService;
|
|||
/**
|
||||
* 在线用户监控
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/monitor/online")
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ import com.ebts.system.service.ConfigService;
|
|||
/**
|
||||
* 参数配置 信息操作处理
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/config")
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ import com.ebts.system.service.DeptService;
|
|||
/**
|
||||
* 部门信息
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/dept")
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ import com.ebts.system.service.DictTypeService;
|
|||
/**
|
||||
* 数据字典信息
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/dict/data")
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ import com.ebts.system.service.DictTypeService;
|
|||
/**
|
||||
* 数据字典信息
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/dict/type")
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ import javax.servlet.http.HttpServletResponse;
|
|||
/**
|
||||
* 文件信息Controller
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
* @date 2021-02-17
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import com.ebts.system.service.MenuService;
|
|||
/**
|
||||
* 登录验证
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
public class LoginController {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ import com.ebts.system.service.MenuService;
|
|||
/**
|
||||
* 菜单信息
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/menu")
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ import com.ebts.system.service.NoticeService;
|
|||
/**
|
||||
* 公告 信息操作处理
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/notice")
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ import com.ebts.system.service.PostService;
|
|||
/**
|
||||
* 岗位信息操作处理
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/post")
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ import com.ebts.system.service.UserService;
|
|||
/**
|
||||
* 个人信息 业务处理
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/user/profile")
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ import com.ebts.system.service.UserService;
|
|||
/**
|
||||
* 角色信息
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/role")
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ import com.ebts.system.service.UserService;
|
|||
/**
|
||||
* 用户信息
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/user")
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import com.ebts.common.core.controller.BaseController;
|
|||
/**
|
||||
* swagger 接口
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/tool/swagger")
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import io.swagger.annotations.ApiOperation;
|
|||
/**
|
||||
* swagger 用户测试方法
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@Api("用户信息管理")
|
||||
@RestController
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
|||
/**
|
||||
* Swagger2的接口配置
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@Configuration
|
||||
@EnableSwagger2
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import java.lang.annotation.Target;
|
|||
/**
|
||||
* 数据权限过滤注解
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@Target(ElementType.METHOD)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import com.ebts.common.enums.DataSourceType;
|
|||
* <p>
|
||||
* 优先级:先方法,后类,如果方法覆盖了类上的数据源类型,以方法的为准,否则以类上的为准
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@Target({ElementType.METHOD, ElementType.TYPE})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import java.math.BigDecimal;
|
|||
/**
|
||||
* 自定义导出Excel数据注解
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target(ElementType.FIELD)
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import java.lang.annotation.Target;
|
|||
/**
|
||||
* Excel注解集
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@Target(ElementType.FIELD)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import com.ebts.common.enums.OperatorType;
|
|||
/**
|
||||
* 自定义操作日志记录注解
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@Target({ElementType.PARAMETER, ElementType.METHOD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import java.lang.annotation.Target;
|
|||
/**
|
||||
* 自定义注解防止表单重复提交
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@Inherited
|
||||
@Target(ElementType.METHOD)
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
|
|||
/**
|
||||
* 读取项目相关配置
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
@Component
|
||||
@ConfigurationProperties(prefix = "ebts")
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.constant;
|
|||
/**
|
||||
* 通用常量信息
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class Constants {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.constant;
|
|||
/**
|
||||
* 代码生成通用常量
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class GenConstants {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.constant;
|
|||
/**
|
||||
* 返回状态码
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class HttpStatus {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.constant;
|
|||
/**
|
||||
* 任务调度通用常量
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class ScheduleConstants {
|
||||
public static final String TASK_CLASS_NAME = "TASK_CLASS_NAME";
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.constant;
|
|||
/**
|
||||
* 用户常量信息
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class UserConstants {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import com.ebts.common.utils.sql.SqlUtil;
|
|||
/**
|
||||
* web层通用数据处理
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class BaseController {
|
||||
protected final Logger log = LoggerFactory.getLogger(BaseController.class);
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import com.ebts.common.utils.StringUtils;
|
|||
/**
|
||||
* 操作消息提醒
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class AjaxResult extends HashMap<String, Object> {
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import com.ebts.common.annotation.Excel;
|
|||
/**
|
||||
* Entity基类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class BaseEntity implements Serializable {
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import java.util.List;
|
|||
/**
|
||||
* Tree基类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class TreeEntity extends BaseEntity {
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import com.ebts.common.core.entity.entity.Menu;
|
|||
/**
|
||||
* Treeselect树结构实体类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class TreeSelect implements Serializable {
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import com.ebts.common.core.entity.BaseEntity;
|
|||
/**
|
||||
* 部门表 sys_dept
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class Dept extends BaseEntity {
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import com.ebts.common.core.entity.BaseEntity;
|
|||
/**
|
||||
* 字典数据表 sys_dict_data
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class DictData extends BaseEntity {
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import com.ebts.common.core.entity.BaseEntity;
|
|||
/**
|
||||
* 字典类型表 sys_dict_type
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class DictType extends BaseEntity {
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import com.ebts.common.core.entity.BaseEntity;
|
|||
/**
|
||||
* 菜单权限表 sys_menu
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class Menu extends BaseEntity {
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import com.ebts.common.core.entity.BaseEntity;
|
|||
/**
|
||||
* 角色表 sys_role
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class Role extends BaseEntity {
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import com.ebts.common.core.entity.BaseEntity;
|
|||
/**
|
||||
* 用户对象 sys_user
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class User extends BaseEntity {
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.core.entity.model;
|
|||
/**
|
||||
* 用户登录对象
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class LoginBody {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import com.ebts.common.core.entity.entity.User;
|
|||
/**
|
||||
* 登录用户身份权限
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class LoginUser implements UserDetails {
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import com.ebts.common.utils.StringUtils;
|
|||
/**
|
||||
* 分页数据
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class PageDomain {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import java.util.List;
|
|||
/**
|
||||
* 表格分页数据对象
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class TableDataInfo implements Serializable {
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import com.ebts.common.utils.ServletUtils;
|
|||
/**
|
||||
* 表格数据处理
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class TableSupport {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
|
|||
/**
|
||||
* spring redis 工具类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
**/
|
||||
@SuppressWarnings(value = {"unchecked", "rawtypes"})
|
||||
@Component
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import com.ebts.common.utils.StringUtils;
|
|||
/**
|
||||
* 字符集工具类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class CharsetKit {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import com.ebts.common.utils.StringUtils;
|
|||
/**
|
||||
* 类型转换器
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class Convert {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import com.ebts.common.utils.StringUtils;
|
|||
/**
|
||||
* 字符串格式化
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class StrFormatter {
|
||||
public static final String EMPTY_JSON = "{}";
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.enums;
|
|||
/**
|
||||
* 操作状态
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public enum BusinessStatus {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.enums;
|
|||
/**
|
||||
* 业务操作类型
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public enum BusinessType {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.enums;
|
|||
/**
|
||||
* 数据源
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public enum DataSourceType {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import org.springframework.lang.Nullable;
|
|||
/**
|
||||
* 请求方式
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public enum HttpMethod {
|
||||
GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.enums;
|
|||
/**
|
||||
* 操作人类别
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public enum OperatorType {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.enums;
|
|||
/**
|
||||
* 用户状态
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public enum UserStatus {
|
||||
OK("0", "正常"), DISABLE("1", "停用"), DELETED("2", "删除");
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import com.ebts.common.utils.StringUtils;
|
|||
/**
|
||||
* 基础异常
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class BaseException extends RuntimeException {
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.exception;
|
|||
/**
|
||||
* 自定义异常
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class CustomException extends RuntimeException {
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.exception;
|
|||
/**
|
||||
* 演示模式异常
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class DemoModeException extends RuntimeException {
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.exception;
|
|||
/**
|
||||
* 工具类异常
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class UtilException extends RuntimeException {
|
||||
private static final long serialVersionUID = 8247610319171014183L;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import com.ebts.common.exception.BaseException;
|
|||
/**
|
||||
* 文件信息异常类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class FileException extends BaseException {
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.exception.file;
|
|||
/**
|
||||
* 文件名称超长限制异常类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class FileNameLengthLimitExceededException extends FileException {
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.exception.file;
|
|||
/**
|
||||
* 文件名大小限制异常类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class FileSizeLimitExceededException extends FileException {
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import org.apache.commons.fileupload.FileUploadException;
|
|||
/**
|
||||
* 文件上传 误异常类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class InvalidExtensionException extends FileUploadException {
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.exception.job;
|
|||
/**
|
||||
* 计划策略异常
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class TaskException extends Exception {
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.exception.user;
|
|||
/**
|
||||
* 验证码错误异常类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class CaptchaException extends UserException {
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.exception.user;
|
|||
/**
|
||||
* 验证码失效异常类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class CaptchaExpireException extends UserException {
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import com.ebts.common.exception.BaseException;
|
|||
/**
|
||||
* 用户信息异常类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class UserException extends BaseException {
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.exception.user;
|
|||
/**
|
||||
* 用户密码不正确或不符合规范异常类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class UserPasswordNotMatchException extends UserException {
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import com.ebts.common.utils.StringUtils;
|
|||
/**
|
||||
* Repeatable 过滤器
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class RepeatableFilter implements Filter {
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import com.ebts.common.utils.http.HttpHelper;
|
|||
/**
|
||||
* 构建可重复读取inputStream的request
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class RepeatedlyRequestWrapper extends HttpServletRequestWrapper {
|
||||
private final byte[] body;
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import com.ebts.common.utils.StringUtils;
|
|||
/**
|
||||
* 防止XSS攻击的过滤器
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class XssFilter implements Filter {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import com.ebts.common.utils.html.EscapeUtil;
|
|||
/**
|
||||
* XSS过滤处理
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import java.math.RoundingMode;
|
|||
/**
|
||||
* 精确的浮点数运算
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class Arith {
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import org.apache.commons.lang3.time.DateFormatUtils;
|
|||
/**
|
||||
* 时间工具类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
|
||||
public static String YYYY = "yyyy";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import com.ebts.common.utils.spring.SpringUtils;
|
|||
/**
|
||||
* 字典工具类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class DictUtils {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import org.apache.commons.lang3.exception.ExceptionUtils;
|
|||
/**
|
||||
* 错误信息处理类。
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class ExceptionUtil {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.ebts.common.utils;
|
|||
/**
|
||||
* 处理并记录日志文件
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class LogUtils {
|
||||
public static String getBlock(Object msg) {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import com.ebts.common.utils.spring.SpringUtils;
|
|||
/**
|
||||
* 获取i18n资源文件
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class MessageUtils {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import com.ebts.common.exception.CustomException;
|
|||
/**
|
||||
* 安全服务工具类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class SecurityUtils {
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import com.ebts.common.core.text.Convert;
|
|||
/**
|
||||
* 客户端工具类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class ServletUtils {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import com.ebts.common.core.text.StrFormatter;
|
|||
/**
|
||||
* 字符串工具类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class StringUtils extends org.apache.commons.lang3.StringUtils {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import org.slf4j.LoggerFactory;
|
|||
/**
|
||||
* 线程相关工具类.
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class Threads {
|
||||
private static final Logger logger = LoggerFactory.getLogger(Threads.class);
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import javax.imageio.ImageIO;
|
|||
/**
|
||||
* 验证码工具类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class VerifyCodeUtils {
|
||||
// 使用到Algerian字体,系统里没有的话需要安装字体,字体只显示大写,去掉了1,0,i,o几个容易混淆的字符
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import java.util.regex.Pattern;
|
|||
/**
|
||||
* Bean 工具类
|
||||
*
|
||||
* @author 王斌霖
|
||||
* @author binlin
|
||||
*/
|
||||
public class BeanUtils extends org.springframework.beans.BeanUtils {
|
||||
/**
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue