Commit 47c84c03 authored by jiaxu.yan's avatar jiaxu.yan

添加 “基础配置” 模块 增加 “发起新任务”

parent 5e49895d
...@@ -147,8 +147,8 @@ ...@@ -147,8 +147,8 @@
} }
.el-table .fixed-width .el-button--mini { .el-table .fixed-width .el-button--mini {
padding-left: 0; // padding-left: 0;
padding-right: 0; // padding-right: 0;
width: inherit; width: inherit;
} }
......
<template>
<div class="page-box">
<el-card class="box-card" shadow="never">
<div slot="header" class="clearfix">
<span class="header">{{ $route.meta.title }}</span>
</div>
<slot>
</slot>
</el-card>
</div>
</template>
<script>
export default {
name: 'standard',
props: {
total: {},
},
data() {
return {
}
},
created() {
},
}
</script>
<style lang="scss" scoped>
.page-box {
padding: 1.5rem 2rem;
font-size: 16px;
}
.box-card{
min-height: 80vh;
// background-color: #000;
}
.header{
font-size: 16px;
font-weight: 500;
}
::v-deep {
.el-card__header {
background-color: #f9f9f9;
}
}
</style>
\ No newline at end of file
...@@ -31,6 +31,8 @@ import FileUpload from "@/components/FileUpload" ...@@ -31,6 +31,8 @@ import FileUpload from "@/components/FileUpload"
import ImageUpload from "@/components/ImageUpload" import ImageUpload from "@/components/ImageUpload"
// 图片预览组件 // 图片预览组件
import ImagePreview from "@/components/ImagePreview" import ImagePreview from "@/components/ImagePreview"
// 页面模板
import PageStandard from "@/components/Page/standard"
// 字典标签组件 // 字典标签组件
import DictTag from '@/components/DictTag' import DictTag from '@/components/DictTag'
// 头部标签组件 // 头部标签组件
...@@ -61,6 +63,7 @@ Vue.component('Editor', Editor) ...@@ -61,6 +63,7 @@ Vue.component('Editor', Editor)
Vue.component('FileUpload', FileUpload) Vue.component('FileUpload', FileUpload)
Vue.component('ImageUpload', ImageUpload) Vue.component('ImageUpload', ImageUpload)
Vue.component('ImagePreview', ImagePreview) Vue.component('ImagePreview', ImagePreview)
Vue.component('PageStandard', PageStandard)
Vue.use(directive) Vue.use(directive)
Vue.use(plugins) Vue.use(plugins)
......
import request from '@/utils/request'
export default {
data() {
return {
listUrl: "",
showSearch: true,
queryParams: {
page: 1,
size: 1
},
tableId: false,
loading: false,
// 显示搜索条件
showSearch: true,
// 重新渲染表格状态
refreshTable: true,
tableData: [],
total: 0
}
},
mounted() {
this.loadData()
},
methods: {
/** 展开/折叠操作 */
toggleExpandAll() {
this.refreshTable = false;
this.isExpandAll = !this.isExpandAll;
this.$nextTick(() => {
this.refreshTable = true;
});
},
resetQuery() {
// this.refs.queryForm.restForm() this.resetForm("queryForm");
this.queryParams = {
page: this.queryParams.page,
size: this.queryParams.size
}
},
handleQuery() {
this.queryParams.page = 1
this.loadData()
},
loadData() {
this.loading = true;
request({
url: this.listUrl,
method: 'get',
params: this.queryParams
}).then((res) => {
if (res.code == 200) {
this.tableData = res.rows
this.total = res.total
}
this.loading = false;
})
}
}
}
...@@ -6,6 +6,7 @@ Vue.use(Router) ...@@ -6,6 +6,7 @@ Vue.use(Router)
/* Layout */ /* Layout */
import Layout from '@/layout' import Layout from '@/layout'
import SettingRouter from './modules/setting'; import SettingRouter from './modules/setting';
import TaskRouter from './modules/task';
/** /**
* Note: 路由配置项 * Note: 路由配置项
* *
...@@ -31,6 +32,7 @@ import SettingRouter from './modules/setting'; ...@@ -31,6 +32,7 @@ import SettingRouter from './modules/setting';
// 公共路由 // 公共路由
export const constantRoutes = [ export const constantRoutes = [
...SettingRouter, ...SettingRouter,
...TaskRouter,
{ {
path: '/redirect', path: '/redirect',
component: Layout, component: Layout,
......
/* Layout */
import Layout from '@/layout'
export default [ export default [
{ {
path: '/setting', path: '/setting',
name: 'setting', name: 'setting',
component: () => import('@/views/setting/index.vue'), hidden: true,
meta: { component: Layout,
title: '基础设置' meta: {
title: '基础配置'
},
children: [
{
path: 'rules',
component: () => import('@/views/setting/rules/index'),
name: 'rules',
meta: { title: '审查细则库', activeMenu: '/setting/rules' }
},
{
path: 'scene',
component: () => import('@/views/setting/scene/index'),
name: 'scene',
meta: { title: '场景库', activeMenu: '/setting/scene' }
},
{
path: 'template',
component: () => import('@/views/setting/template/index'),
name: 'template',
meta: { title: '报告模板库', activeMenu: '/setting/template' }
} }
} ]
]; }
\ No newline at end of file ];
\ No newline at end of file
/* Layout */
import Layout from '@/layout'
export default [ export default [
{ {
path: '/task', path: '/task',
name: 'task', name: 'task',
component: () => import('@/views/task/index.vue'), component: Layout,
meta: { hidden: true,
title: '任务设置' meta: {
} title: '任务设置'
} },
]; children: [
\ No newline at end of file {
path: 'new',
component: () => import('@/views/task/new/index'),
name: 'new',
meta: { title: '发起新任务', activeMenu: '/task/new' }
},
{
path: 'on',
component: () => import('@/views/task/on/index'),
name: 'on',
meta: { title: '当前任务', activeMenu: '/task/on' }
},
{
path: 'archived',
component: () => import('@/views/task/archived/index'),
name: 'archived',
meta: { title: '已归档任务', activeMenu: '/task/archived' }
},
]
}
];
\ No newline at end of file
<template>
<el-dialog
:visible.sync="dialogManger.dialogVisible"
:title="modelTitle"
width="1200"
append-to-body
destroy-on-close
:before-close="handleClose"
>
<el-form ref="form" :model="model" :rules="rules">
<el-form-item label="细则分类" prop="status">
<el-select
style="width: 100%"
v-model="model.status"
placeholder="请选择"
clearable
>
<el-option
v-for="dict in dict.type.sys_detailed_classification"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="标准章节" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="标准要求" prop="status">
<el-input
v-model="model.status"
placeholder="请输入"
type="textarea"
maxlength="100"
:autosize="{ minRows: 4, maxRows: 4 }"
clearable
/>
</el-form-item>
<el-form-item label="审查要点" prop="status">
<el-input
v-model="model.status"
placeholder="请输入"
type="textarea"
maxlength="100"
:autosize="{ minRows: 4, maxRows: 4 }"
clearable
/>
</el-form-item>
<el-form-item label="审查细则" prop="status">
<el-input
v-model="model.status"
placeholder="请输入"
type="textarea"
maxlength="100"
:autosize="{ minRows: 4, maxRows: 4 }"
clearable
/>
</el-form-item>
<el-form-item label="关联场景" prop="status">
<el-button> 选择场景 </el-button>
</el-form-item>
</el-form>
<div slot="footer">
<el-button @click="handleClose()"> 取消 </el-button>
<el-button type="primary" @click="handleConfirm()"> 保存 </el-button>
</div>
</el-dialog>
</template>
<script>
export default {
props: {
dialogManger: {
default: {
dialogVisible: false,
source: {},
},
},
},
dicts: ["sys_detailed_classification"],
data() {
return {
model: {},
rules: {
status: [
{ required: true, message: "菜单名称不能为空", trigger: "blur" },
],
orderNum: [
{ required: true, message: "菜单顺序不能为空", trigger: "blur" },
],
path: [
{ required: true, message: "路由地址不能为空", trigger: "blur" },
],
},
};
},
created() {},
methods: {
handleClose() {
this.dialogManger.dialogVisible = false;
},
handleConfirm() {
this.$refs['form'].validate((valid) => {
if(valid){
}
})
},
},
computed: {
modelTitle: function () {
return this.dialogManger.source.id ? "编辑" : "新增" + "审查细则";
},
},
};
</script>
<template>
<page-standard>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="部门名称" prop="deptName">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" 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="mb10">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['setting:rules:add']">新增</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="loadData"></right-toolbar>
</el-row>
<el-table style="width: 100%;min-height: 50vh;" border v-if="refreshTable"
:default-sort="{ prop: 'createTime', order: 'descending' }" v-loading="loading" :data="tableData">
<el-table-column width="60" label="序号" sortable align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="left" sortable prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="left" sortable class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['setting:rules:update']" plain>修改</el-button>
<el-button size="mini" type="danger" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['setting:rules:delete']" plain>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.size"
@pagination="loadData">
</pagination>
<yan-dialog :dialogManger="dialogManger"></yan-dialog>
</page-standard>
</template>
<script>
import page from '@/mixins/page'
import dialog from './components/dialog.vue'
export default {
components: {
'yan-dialog': dialog
},
mixins: [page],
data() {
return {
listUrl: "/system/role/list",
showSearch: true,
tableData: [],
dialogManger: {
dialogVisible: false,
refreshList: false,
source: {
}
}
};
},
methods: {
handleAdd() {
this.dialogManger.dialogVisible = true
this.dialogManger.source = {}
},
handleDelete() {
},
handleUpdate(row) {
this.dialogManger.dialogVisible = true
this.dialogManger.source = row
},
},
watch: {
"dialogManger.refreshList": function (val) {
if (val) {
this.loadData()
this.dialogManger.refreshList = false
}
}
}
}
</script>
<template>
<el-dialog
:visible.sync="dialogManger.dialogVisible"
:title="modelTitle"
width="1200"
append-to-body
destroy-on-close
:before-close="handleClose"
>
<el-form ref="form" :model="model" :rules="rules">
<el-form-item label="场景编号" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="场景类型" prop="status">
<el-select
style="width: 100%"
v-model="model.status"
placeholder="请选择"
clearable
>
<el-option
v-for="dict in dict.type.sys_scene_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="场景内容" prop="status">
<el-input
v-model="model.status"
placeholder="请输入"
type="textarea"
maxlength="100"
:autosize="{ minRows: 4, maxRows: 4 }"
clearable
/>
</el-form-item>
</el-form>
<div slot="footer">
<el-button @click="handleClose()"> 取消 </el-button>
<el-button type="primary" @click="handleConfirm()"> 保存 </el-button>
</div>
</el-dialog>
</template>
<script>
export default {
props: {
dialogManger: {
default: {
dialogVisible: false,
source: {},
},
},
},
dicts: ["sys_scene_type"],
data() {
return {
model: {},
rules: {
status: [
{ required: true, message: "菜单名称不能为空", trigger: "blur" },
],
orderNum: [
{ required: true, message: "菜单顺序不能为空", trigger: "blur" },
],
path: [
{ required: true, message: "路由地址不能为空", trigger: "blur" },
],
},
};
},
created() {},
methods: {
handleClose() {
this.dialogManger.dialogVisible = false;
},
handleConfirm() {
this.$refs["form"].validate((valid) => {
if (valid) {
}
});
},
},
computed: {
modelTitle: function () {
return this.dialogManger.source.id ? "编辑" : "新增" + "场景库";
},
},
};
</script>
<template>
<page-standard>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="部门名称" prop="deptName">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" 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="mb10">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['setting:scene:add']">新增</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="loadData"></right-toolbar>
</el-row>
<el-table style="width: 100%;min-height: 50vh;" border v-if="refreshTable"
:default-sort="{ prop: 'createTime', order: 'descending' }" v-loading="loading" :data="tableData">
<el-table-column width="60" label="序号" sortable align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="left" sortable prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="left" sortable class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['setting:scene:update']" plain>修改</el-button>
<el-button size="mini" type="danger" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['setting:scene:delete']" plain>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.size"
@pagination="loadData">
</pagination>
<yan-dialog :dialogManger="dialogManger"></yan-dialog>
</page-standard>
</template>
<script>
import page from '@/mixins/page'
import dialog from './components/dialog.vue'
export default {
components: {
'yan-dialog': dialog
},
mixins: [page],
data() {
return {
listUrl: "/system/role/list",
showSearch: true,
tableData: [],
dialogManger: {
dialogVisible: false,
refreshList: false,
source: {
}
}
};
},
methods: {
handleAdd() {
this.dialogManger.dialogVisible = true
this.dialogManger.source = {}
},
handleDelete() {
},
handleUpdate(row) {
this.dialogManger.dialogVisible = true
this.dialogManger.source = row
},
},
watch: {
"dialogManger.refreshList": function (val) {
if (val) {
this.loadData()
this.dialogManger.refreshList = false
}
}
}
}
</script>
<template>
<el-dialog
:visible.sync="dialogManger.dialogVisible"
:title="modelTitle"
width="1200"
append-to-body
destroy-on-close
:before-close="handleClose"
>
<el-form ref="form" :model="model" :rules="rules">
<el-form-item label="细则分类" prop="status">
<el-select
style="width: 100%"
v-model="model.status"
placeholder="请选择"
clearable
>
<el-option
v-for="dict in dict.type.sys_detailed_classification"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="标准章节" prop="status">
<el-input v-model="model.status" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="标准要求" prop="status">
<el-input
v-model="model.status"
placeholder="请输入"
type="textarea"
:autosize="{ minRows: 4, maxRows: 4 }"
clearable
/>
</el-form-item>
<el-form-item label="审查要点" prop="status">
<el-input
v-model="model.status"
placeholder="请输入"
type="textarea"
:autosize="{ minRows: 4, maxRows: 4 }"
clearable
/>
</el-form-item>
<el-form-item label="审查细则" prop="status">
<el-input
v-model="model.status"
placeholder="请输入"
type="textarea"
:autosize="{ minRows: 4, maxRows: 4 }"
clearable
/>
</el-form-item>
<el-form-item label="关联场景" prop="status">
<el-button> 选择场景 </el-button>
</el-form-item>
</el-form>
<div slot="footer">
<el-button @click="handleClose()"> 取消 </el-button>
<el-button type="primary" @click="handleConfirm()"> 保存 </el-button>
</div>
</el-dialog>
</template>
<script>
export default {
props: {
dialogManger: {
default: {
dialogVisible: false,
source: {},
},
},
},
dicts: ["sys_detailed_classification"],
data() {
return {
model: {},
rules: {
status: [
{ required: true, message: "菜单名称不能为空", trigger: "blur" },
],
orderNum: [
{ required: true, message: "菜单顺序不能为空", trigger: "blur" },
],
path: [
{ required: true, message: "路由地址不能为空", trigger: "blur" },
],
},
};
},
created() {},
methods: {
handleClose() {
this.dialogManger.dialogVisible = false;
},
handleConfirm() {
this.$refs['form'].validate((valid) => {
if(valid){
}
})
},
},
computed: {
modelTitle: function () {
return this.dialogManger.source.id ? "编辑" : "新增" + "报告模板库";
},
},
};
</script>
<template>
<page-standard>
<el-table style="width: 100%;min-height: 50vh;" border v-if="refreshTable"
:default-sort="{ prop: 'createTime', order: 'descending' }" v-loading="loading" :data="tableData">
<el-table-column width="60" label="序号" sortable align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="left" sortable prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="left" sortable class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['setting:template:update']" plain> 更新文件</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.size"
@pagination="loadData">
</pagination>
<yan-dialog :dialogManger="dialogManger"></yan-dialog>
</page-standard>
</template>
<script>
import page from '@/mixins/page'
import dialog from './components/dialog.vue'
export default {
components: {
'yan-dialog': dialog
},
mixins: [page],
data() {
return {
listUrl: "/system/role/list",
showSearch: true,
tableData: [],
dialogManger: {
dialogVisible: false,
refreshList: false,
source: {
}
}
};
},
methods: {
handleAdd() {
this.dialogManger.dialogVisible = true
this.dialogManger.source = {}
},
handleDelete() {
},
handleUpdate(row) {
this.dialogManger.dialogVisible = true
this.dialogManger.source = row
},
},
watch: {
"dialogManger.refreshList": function (val) {
if (val) {
this.loadData()
this.dialogManger.refreshList = false
}
}
}
}
</script>
<template>
<page-standard>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="部门名称" prop="deptName">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" 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="mb10">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:menu:add']">新增</el-button>
</el-col>
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="loadData"></right-toolbar> -->
</el-row>
<el-table style="width: 100%;min-height: 50vh;" border v-if="refreshTable" v-loading="loading" :data="tableData">
<el-table-column width="60" label="序号" align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="left" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="left" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:menu:edit']" plain >修改</el-button>
<el-button size="mini" type="danger" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:menu:remove']" plain >删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.size"
@pagination="loadData" />
</page-standard>
</template>
<script>
import page from '@/mixins/page'
import Sortable from 'sortablejs'
export default {
mixins: [page],
data() {
return {
listUrl: "/system/role/list",
showSearch: true,
tableData: [],
};
},
methods: {
handleAdd() { },
handleDelete() { },
handleUpdate() { },
}
}
</script>
This diff is collapsed.
<template>
<page-standard>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="部门名称" prop="deptName">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" 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="mb10">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:menu:add']">新增</el-button>
</el-col>
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="loadData"></right-toolbar> -->
</el-row>
<el-table style="width: 100%;min-height: 50vh;" border v-if="refreshTable" v-loading="loading" :data="tableData">
<el-table-column width="60" label="序号" align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="left" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="left" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="primary" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:menu:edit']" plain >修改</el-button>
<el-button size="mini" type="danger" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:menu:remove']" plain >删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.size"
@pagination="loadData" />
</page-standard>
</template>
<script>
import page from '@/mixins/page'
import Sortable from 'sortablejs'
export default {
mixins: [page],
data() {
return {
listUrl: "/system/role/list",
showSearch: true,
tableData: [],
};
},
methods: {
handleAdd() { },
handleDelete() { },
handleUpdate() { },
}
}
</script>
...@@ -159,23 +159,23 @@ export default { ...@@ -159,23 +159,23 @@ export default {
}; };
}, },
created() { created() {
const tableId = this.$route.params && this.$route.params.tableId; // const tableId = this.$route.params && this.$route.params.tableId;
if (tableId) { // if (tableId) {
// 获取表详细信息 // // 获取表详细信息
getGenTable(tableId).then(res => { // getGenTable(tableId).then(res => {
this.columns = res.data.rows; // this.columns = res.data.rows;
this.info = res.data.info; // this.info = res.data.info;
this.tables = res.data.tables; // this.tables = res.data.tables;
}); // });
/** 查询字典下拉列表 */ // /** 查询字典下拉列表 */
getDictOptionselect().then(response => { // getDictOptionselect().then(response => {
this.dictOptions = response.data; // this.dictOptions = response.data;
}); // });
/** 查询菜单下拉列表 */ // /** 查询菜单下拉列表 */
getMenuTreeselect().then(response => { // getMenuTreeselect().then(response => {
this.menus = this.handleTree(response.data, "menuId"); // this.menus = this.handleTree(response.data, "menuId");
}); // });
} // }
}, },
methods: { methods: {
/** 提交按钮 */ /** 提交按钮 */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment