Commit dc4dba71 authored by 姬鋆屾's avatar 姬鋆屾

推,修改无数据的统一格式并修改表格样式问题

parent 916521e1
// table-list 所需的一系列操作方法 // table-list 所需的一系列操作方法
/** /**
* formatter * formatter
* *
...@@ -10,8 +9,10 @@ ...@@ -10,8 +9,10 @@
*/ */
const formatter = (tableData, column, val) => { const formatter = (tableData, column, val) => {
const key = column.property; const key = column.property;
if(tableData.dict && tableData.dict[key]){ console.log(val);
const dict = tableData.dict[key] val = val ? val : "--";
if (tableData.dict && tableData.dict[key]) {
const dict = tableData.dict[key];
return dict[val] || val; return dict[val] || val;
} }
return val; return val;
...@@ -27,11 +28,11 @@ const formatter = (tableData, column, val) => { ...@@ -27,11 +28,11 @@ const formatter = (tableData, column, val) => {
const formatterAmount = (row, column) => { const formatterAmount = (row, column) => {
const property = column.property; const property = column.property;
const amount = row[property]; const amount = row[property];
if(!amount){ if (!amount) {
return '0.00'; return "0.00";
} }
if(amount == 0){ if (amount == 0) {
return '0.00'; return "0.00";
} }
return amount; return amount;
}; };
...@@ -46,15 +47,18 @@ const formatterAmount = (row, column) => { ...@@ -46,15 +47,18 @@ const formatterAmount = (row, column) => {
const formatterDate = (row, column) => { const formatterDate = (row, column) => {
const property = column.property; const property = column.property;
const time = row[property]; const time = row[property];
if(!time) return ''; if (!time) return "";
let date = new Date(Number(time)); let date = new Date(Number(time));
let Y = date.getFullYear() + '-'; let Y = date.getFullYear() + "-";
let M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-'; let M =
let D = panLeft(date.getDate()) + ' '; (date.getMonth() + 1 < 10
let h = panLeft(date.getHours()) + ':'; ? "0" + (date.getMonth() + 1)
let m = panLeft(date.getMinutes()) + ':'; : date.getMonth() + 1) + "-";
let D = panLeft(date.getDate()) + " ";
let h = panLeft(date.getHours()) + ":";
let m = panLeft(date.getMinutes()) + ":";
let s = panLeft(date.getSeconds()); let s = panLeft(date.getSeconds());
return Y+M+D+h+m+s; return Y + M + D + h + m + s;
}; };
/** /**
...@@ -67,16 +71,19 @@ const formatterDate = (row, column) => { ...@@ -67,16 +71,19 @@ const formatterDate = (row, column) => {
const formatterDateOnly = (row, column) => { const formatterDateOnly = (row, column) => {
const property = column.property; const property = column.property;
const time = row[property]; const time = row[property];
if(!time) return ''; if (!time) return "";
let date = new Date(Number(time)); let date = new Date(Number(time));
let Y = date.getFullYear() + '-'; let Y = date.getFullYear() + "-";
let M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-'; let M =
let D = panLeft(date.getDate()) + ' '; (date.getMonth() + 1 < 10
return Y+M+D; ? "0" + (date.getMonth() + 1)
: date.getMonth() + 1) + "-";
let D = panLeft(date.getDate()) + " ";
return Y + M + D;
}; };
function panLeft(num){ function panLeft(num) {
return num < 10 ? '0'+num : num; return num < 10 ? "0" + num : num;
} }
/** /**
...@@ -90,18 +97,18 @@ function panLeft(num){ ...@@ -90,18 +97,18 @@ function panLeft(num){
const find = (list, key, val) => { const find = (list, key, val) => {
let index = -1; let index = -1;
let data = null; let data = null;
list.forEach((item, i)=>{ list.forEach((item, i) => {
if(item[key] === val){ if (item[key] === val) {
index = i; index = i;
data = JSON.parse(JSON.stringify(item)); data = JSON.parse(JSON.stringify(item));
return; return;
} }
}) });
return { return {
index, index,
data, data,
} };
} };
/** /**
* 构造树型结构数据 * 构造树型结构数据
...@@ -112,24 +119,32 @@ const find = (list, key, val) => { ...@@ -112,24 +119,32 @@ const find = (list, key, val) => {
* @param {*} rootId 根Id 默认 0 * @param {*} rootId 根Id 默认 0
*/ */
function handleTree(data, id, parentId, children, rootId) { function handleTree(data, id, parentId, children, rootId) {
id = id || 'id' id = id || "id";
parentId = parentId || 'parentId' parentId = parentId || "parentId";
children = children || 'children' children = children || "children";
rootId = rootId || Math.min.apply(Math, data.map(item => { return item[parentId] })) || 0 rootId =
rootId ||
Math.min.apply(
Math,
data.map((item) => {
return item[parentId];
})
) ||
0;
//对源数据深度克隆 //对源数据深度克隆
const cloneData = JSON.parse(JSON.stringify(data)) const cloneData = JSON.parse(JSON.stringify(data));
//循环所有项 //循环所有项
const treeData = cloneData.filter(father => { const treeData = cloneData.filter((father) => {
let branchArr = cloneData.filter(child => { let branchArr = cloneData.filter((child) => {
//返回每一项的子级数组 //返回每一项的子级数组
return father[id] === child[parentId] return father[id] === child[parentId];
}); });
branchArr.length > 0 ? father.children = branchArr : ''; branchArr.length > 0 ? (father.children = branchArr) : "";
//返回第一层 //返回第一层
return father[parentId] === rootId; return father[parentId] === rootId;
}); });
return treeData != '' ? treeData : data; return treeData != "" ? treeData : data;
}; }
export { export {
formatter, formatter,
...@@ -137,5 +152,5 @@ export { ...@@ -137,5 +152,5 @@ export {
formatterDate, formatterDate,
formatterDateOnly, formatterDateOnly,
find, find,
handleTree handleTree,
}; };
<template> <template>
<el-table <el-table
size='small' size="small"
:data="tableData" :data="tableData"
:row-key="handleRowKeyMethod" :row-key="handleRowKeyMethod"
:span-method="handleSpanMethod" :span-method="handleSpanMethod"
...@@ -8,114 +8,112 @@ ...@@ -8,114 +8,112 @@
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@sort-change="handleSortChange" @sort-change="handleSortChange"
@row-click="handleRowClick" @row-click="handleRowClick"
height="560"
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
:empty-text='emptyText' :empty-text="emptyText"
border border
style="width: 100%"> style="width: 100%"
>
<el-table-column
v-for="column in columns"
:key="column.prop"
:type="column.type"
:index="handleIndexMethod"
:selectable="handleSelectableMethod"
:prop="column.prop"
:label="column.label"
:width="column.width"
:sortable="column.sortable"
:show-overflow-tooltip="column.tooltip"
:align="column.align || 'left'"
:formatter="column.formatter"
:reserve-selection="column.reserveSelection"
:subColumns="column.subColumns"
>
<el-table-column <el-table-column
v-for='column in columns' v-for="sunColumn in column.subColumns"
:key='column.prop' :key="sunColumn.prop"
:type="column.type" :type="sunColumn.type"
:index="handleIndexMethod" :prop="sunColumn.prop"
:selectable="handleSelectableMethod" :label="sunColumn.label"
:prop="column.prop" :width="sunColumn.width"
:label="column.label" :sortable="sunColumn.sortable"
:width="column.width" :align="sunColumn.align || 'left'"
:sortable="column.sortable" :formatter="sunColumn.formatter"
:show-overflow-tooltip="column.tooltip" />
:align="column.align || 'left'" </el-table-column>
:formatter='column.formatter'
:reserve-selection='column.reserveSelection'
:subColumns='column.subColumns'
>
<el-table-column
v-for='sunColumn in column.subColumns'
:key='sunColumn.prop'
:type="sunColumn.type"
:prop="sunColumn.prop"
:label="sunColumn.label"
:width="sunColumn.width"
:sortable="sunColumn.sortable"
:align="sunColumn.align || 'left'"
:formatter='sunColumn.formatter'
/>
</el-table-column>
</el-table> </el-table>
</template> </template>
<script> <script>
export default { export default {
props: { props: {
handleRowKeyMethod: { handleRowKeyMethod: {
type: Function, type: Function,
required: false, required: false,
default: row => { return row.id } default: (row) => {
return row.id;
},
}, },
handleSelectableMethod: { handleSelectableMethod: {
type: Function, type: Function,
required: false, required: false,
default: () => {} default: () => {},
}, },
handleIndexMethod: { handleIndexMethod: {
type: Function, type: Function,
required: false, required: false,
default: () => {} default: () => {},
}, },
handleSpanMethod: { handleSpanMethod: {
type: Function, type: Function,
required: false, required: false,
default: () => {} default: () => {},
}, },
handleSelectionChange: { handleSelectionChange: {
type: Function, type: Function,
required: false, required: false,
default: () => {} default: () => {},
}, },
handleRowClick: { handleRowClick: {
type: Function, type: Function,
required: false, required: false,
default: () => {} default: () => {},
}, },
handleSortChange: { handleSortChange: {
type: Function, type: Function,
required: false, required: false,
default: () => {} default: () => {},
}, },
tableRowClassName: { tableRowClassName: {
type: Function, type: Function,
required: false, required: false,
default: () => {} default: () => {},
}, },
loading: { loading: {
type: Boolean, type: Boolean,
required: false, required: false,
default: true default: true,
}, },
tableData: { tableData: {
type: Array, type: Array,
required: false, required: false,
default: () => [] default: () => [],
}, },
columns: { columns: {
type: Array, type: Array,
required: false, required: false,
default: ()=> [], default: () => [],
} },
}, },
computed: { computed: {
emptyText() { emptyText() {
return (!this.loading && !this.tableData.length) ? '暂无数据' : '加载中...' return !this.loading && !this.tableData.length ? "暂无数据" : "加载中...";
}, },
}, },
methods:{ methods: {},
},
data() { data() {
return {} return {};
} },
} };
</script> </script>
<template> <template>
<el-table <el-table
v-loading="loading" v-loading="loading"
:data="tableData" :data="tableData"
row-key="id" row-key="id"
border border
@row-click="handleRowClick" @row-click="handleRowClick"
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
:default-expand-all="expand" :default-expand-all="expand"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }" height="560"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
>
<el-table-column
v-for="column in columns"
:key="column.prop"
:type="column.type"
:prop="column.prop"
:label="column.label"
:width="column.width"
:show-overflow-tooltip="column.tooltip"
:align="column.align || 'left'"
:formatter="column.formatter"
> >
</el-table-column>
<el-table-column </el-table>
v-for='column in columns'
:key='column.prop'
:type="column.type"
:prop="column.prop"
:label="column.label"
:width="column.width"
:show-overflow-tooltip="column.tooltip"
:align="column.align || 'left'"
:formatter='column.formatter'
>
</el-table-column>
</el-table>
</template> </template>
<script> <script>
export default { export default {
props: { props: {
handleSpanMethod: { handleSpanMethod: {
type: Function, type: Function,
required: false, required: false,
default: () => {} default: () => {},
}, },
handleRowClick: { handleRowClick: {
type: Function, type: Function,
required: false, required: false,
default: () => {} default: () => {},
}, },
tableRowClassName: { tableRowClassName: {
type: Function, type: Function,
required: false, required: false,
default: () => {} default: () => {},
}, },
loading: { loading: {
type: Boolean, type: Boolean,
required: false, required: false,
default: true default: true,
}, },
expand: { expand: {
type: Boolean, type: Boolean,
required: false, required: false,
default: true default: true,
}, },
tableData: { tableData: {
type: Array, type: Array,
required: false, required: false,
default: () => [] default: () => [],
}, },
columns: { columns: {
type: Array, type: Array,
required: false, required: false,
default: ()=> [], default: () => [],
} },
}, },
computed: { computed: {
emptyText() { emptyText() {
return (!this.loading && !this.tableData.length) ? '暂无数据' : '加载中...' return !this.loading && !this.tableData.length ? "暂无数据" : "加载中...";
}, },
}, },
data() { data() {
return {} return {};
} },
} };
</script> </script>
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig"> <LayoutTable :data="tableData" notAdd notDel :config="tableConfig">
</LayoutTable> </LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" /> </div>
</div>
</template> </template>
<script> <script>
/** 表单弹出框模式需引入 */ /** 表单弹出框模式需引入 */
import drawerShow from "./drawershow"; import drawerShow from "./drawershow";
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "GocomeRecordList", name: "GocomeRecordList",
components: { components: {
drawerShow drawerShow,
}, },
mixins: [table], mixins: [table],
created() { created() {},
}, methods: {
methods: { /** 重写新增方法 */
/** 重写新增方法 */ toAdd(row) {
toAdd(row) { this.$refs.drawerform.add(row);
this.$refs.drawerform.add(row); },
}, /** 重写编辑方法 */
/** 重写编辑方法 */ toEdit(row) {
toEdit(row) { this.$refs.drawerform.edit(row);
this.$refs.drawerform.edit(row); },
}, /** 重写查看方法 */
/** 重写查看方法 */ toView(row) {
toView(row) { this.$refs.drawerform.view(row);
this.$refs.drawerform.view(row); },
}, },
data() {
}, return {
data() { config: {
return { search: [
config: { {
search: [ name: "userName",
{ type: "text",
name: "userName", label: "用户名称",
type: "text", fuzzy: true,
label: "用户名称", },
fuzzy: true {
}, name: "afterStatus",
{ type: "text",
name: "afterStatus", label: "状态",
type: "text", },
label: "状态" {
}, name: "createTimeStart",
{ type: "date",
name: "createTimeStart", label: "创建时间",
type: "date", },
label: "创建时间" {
},{ name: "createTimeEnd",
name: "createTimeEnd", type: "date",
type: "date", label: "结束时间",
label: "结束时间" },
} ],
], columns: [
columns: [ { type: "selection", width: 60 },
{type: "selection", width: 60}, { type: "index", label: "序号", width: 50 },
{type: "index",label: "序号",width: 50},
{label: "用户名称", prop: "userName"},
{label: "电话", prop: "phone"}, {
label: "用户名称",
prop: "userName",
formatter: (row) => (row.userName ? row.userName : "--"),
},
{label: "所属部门", prop: "deptName"}, {
label: "电话",
prop: "phone",
formatter: (row) => (row.phone ? row.phone : "--"),
},
{label: "所属房间名称", prop: "roomName"}, {
label: "所属部门",
prop: "deptName",
formatter: (row) => (row.deptName ? row.deptName : "--"),
},
{label: "修改前状态", prop: "beforeStatus"}, {
label: "所属房间名称",
prop: "roomName",
formatter: (row) => (row.roomName ? row.roomName : "--"),
},
{label: "修改后状态", prop: "afterStatus"}, {
label: "修改前状态",
prop: "beforeStatus",
formatter: (row) => (row.beforeStatus ? row.beforeStatus : "--"),
},
{label: "修改时间", prop: "createTime", formatter: this.formatterDate}, {
label: "修改后状态",
prop: "afterStatus",
formatter: (row) => (row.afterStatus ? row.afterStatus : "--"),
},
] {
} label: "修改时间",
}; prop: "createTime",
} formatter: this.formatterDate,
},
],
},
}; };
},
};
</script> </script>
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable>
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData"/>
</div> </div>
</template> </template>
...@@ -17,11 +15,10 @@ import moment from "moment/moment"; ...@@ -17,11 +15,10 @@ import moment from "moment/moment";
export default { export default {
name: "MettingRecordList", name: "MettingRecordList",
components: { components: {
drawerShow drawerShow,
}, },
mixins: [table], mixins: [table],
created() { created() {},
},
methods: { methods: {
/** 重写新增方法 */ /** 重写新增方法 */
toAdd(row) { toAdd(row) {
...@@ -43,158 +40,177 @@ export default { ...@@ -43,158 +40,177 @@ export default {
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning",
}) })
.then(() => { .then(() => {
that that
.$post("/metting/record/delete?id=" + id, {}) .$post("/metting/record/delete?id=" + id, {})
.then((res) => { .then((res) => {
// 更新数据 // 更新数据
if (res && res.code == 1) { if (res && res.code == 1) {
that.getData(); that.getData();
that.afterDel(id); that.afterDel(id);
} }
}) })
.catch((error) => { .catch((error) => {
that.$message.error(error.message); that.$message.error(error.message);
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
}); });
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
}); });
} });
},
,
toFinish(row) { toFinish(row) {
this.loading = true; this.loading = true;
this.$post("/metting/record/save", { this.$post("/metting/record/save", {
id: row.id, meetStatus: 2, id: row.id,
meetStatus: 2,
}) })
.then((res) => { .then((res) => {
if (res && res.code === 1) { if (res && res.code === 1) {
this.$message.success("结束成功!"); this.$message.success("结束成功!");
this.getData(); this.getData();
this.loading = false; this.loading = false;
} }
}) })
.catch((error) => { .catch((error) => {
this.$message.error(error.message); this.$message.error(error.message);
}); });
} },
}, },
data() { data() {
return { return {
config: { config: {
search: [ { search: [
name: "meetName", {
type: "text", name: "meetName",
label: "会议名称", type: "text",
fuzzy: true label: "会议名称",
}, fuzzy: true,
},
{ {
name: "meetStatus", name: "meetStatus",
type: "select", type: "select",
label: "会议状态" label: "会议状态",
}, },
{ {
name: "meetDateStart", name: "meetDateStart",
type: "date", type: "date",
label: "会议开始日期" label: "会议开始日期",
},{ },
{
name: "meetDateEnd", name: "meetDateEnd",
type: "date", type: "date",
label: "会议结束日期" label: "会议结束日期",
} },
], ],
columns: [ columns: [
{type: "selection", width: 60}, { type: "selection", width: 60 },
{type: "index", label: "序号", width: 50}, { type: "index", label: "序号", width: 50 },
{label: "会议名称", prop: "meetName"}, {
{label: "开会房间", prop: "roomName"}, label: "会议名称",
prop: "meetName",
formatter: (row) => (row.meetName ? row.meetName : "--"),
},
{
label: "开会房间",
prop: "roomName",
formatter: (row) => (row.roomName ? row.roomName : "--"),
},
{ {
label: "开会日期", prop: "meetDate", label: "开会日期",
prop: "meetDate",
formatter: (row) => { formatter: (row) => {
let meetDate = moment(row.meetDate).format('YYYY-MM-DD'); let meetDate = moment(row.meetDate).format("YYYY-MM-DD");
return ( return <span>{meetDate}</span>;
<span>{meetDate}</span>
);
}, },
}, },
{ {
label: "开始时间", prop: "meetTimeStart", label: "开始时间",
prop: "meetTimeStart",
formatter: (row) => { formatter: (row) => {
let meetTimeStart = moment(row.meetTimeStart).format('HH:mm'); let meetTimeStart = moment(row.meetTimeStart).format("HH:mm");
let meetTimeEnd = moment(row.meetTimeEnd).format('HH:mm'); let meetTimeEnd = moment(row.meetTimeEnd).format("HH:mm");
return ( return (
<span>{meetTimeStart}~{meetTimeEnd}</span> <span>
{meetTimeStart}~{meetTimeEnd}
</span>
); );
} },
},
{
label: "开会部门",
prop: "meetDeptName",
formatter: (row) => (row.meetDeptName ? row.meetDeptName : "--"),
}, },
{label: "开会部门", prop: "meetDeptName"},
{label: "结束方式", prop: "finishMethod", formatter: this.formatter}, {
label: "结束方式",
prop: "finishMethod",
formatter: this.formatter,
},
{label: "会议状态", prop: "meetStatus", formatter: this.formatter}, { label: "会议状态", prop: "meetStatus", formatter: this.formatter },
{ {
label: "操作", label: "操作",
width: 240, width: 240,
formatter: row => { formatter: (row) => {
let editButton = ( let editButton = (
<el-button <el-button
size="small" size="small"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
onClick={() => { onClick={() => {
this.toEdit(row); this.toEdit(row);
}} }}
> >
编辑 编辑
</el-button> </el-button>
); );
let viewButton = ( let viewButton = (
<el-button <el-button
size="small" size="small"
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
onClick={() => { onClick={() => {
this.toView(row); this.toView(row);
}} }}
> >
查看 查看
</el-button> </el-button>
); );
let delButton = ( let delButton = (
<el-button <el-button
size="small" size="small"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
onClick={() => { onClick={() => {
this.toDel(row.id); this.toDel(row.id);
}} }}
> >
删除 删除
</el-button> </el-button>
); );
let finishButton = ( let finishButton = (
<el-button <el-button
size="small" size="small"
type="text" type="text"
icon="el-icon-document" icon="el-icon-document"
onClick={() => { onClick={() => {
this.toFinish(row); this.toFinish(row);
}} }}
> >
结束 结束
</el-button> </el-button>
); );
let listButtons = []; let listButtons = [];
if (row.meetStatus === 0) { if (row.meetStatus === 0) {
...@@ -208,11 +224,11 @@ export default { ...@@ -208,11 +224,11 @@ export default {
listButtons.push(viewButton); listButtons.push(viewButton);
} }
return <div>{listButtons}</div>; return <div>{listButtons}</div>;
} },
} },
] ],
} },
}; };
} },
}; };
</script> </script>
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable>
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" /> </div>
</div>
</template> </template>
<script> <script>
/** 表单弹出框模式需引入 */ /** 表单弹出框模式需引入 */
import drawerShow from "./drawershow"; import drawerShow from "./drawershow";
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "RoomList", name: "RoomList",
components: { components: {
drawerShow drawerShow,
}, },
mixins: [table], mixins: [table],
created() { created() {},
}, methods: {
methods: { renderTable(tableData) {
renderTable(tableData) { return (
return ( <el-table stripe data={tableData} class="total-table">
<el-table stripe data={tableData} class="total-table"> {this.columnSet.map((item) => this.renderTableColumn(item))}
{this.columnSet.map((item) => this.renderTableColumn(item))} </el-table>
</el-table> );
); },
}, renderTableColumn(options) {
renderTableColumn(options) { return (
return ( <el-table-column
<el-table-column prop={options.prop}
prop={options.prop} label={options.label}
label={options.label} width={options.width}
width={options.width} formatter={options.formatter}
formatter={options.formatter} ></el-table-column>
> );
</el-table-column> },
); /** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
/** 子表列元素 */
columnSet: [
{ label: "设备编码", prop: "deviceCode", width: 150 },
{ label: "设备名称", prop: "deviceName", width: 150 },
],
config: {
search: [
{
name: "userName",
type: "text",
label: "房间名称",
fuzzy: true,
}, },
/** 重写新增方法 */ ],
toAdd(row) { columns: [
this.$refs.drawerform.add(row); { type: "selection", width: 60 },
}, { type: "index", label: "序号", width: 50 },
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
/** 子表列元素 */
columnSet:[
{label: "设备编码", prop: "deviceCode", width: 150},
{label: "设备名称", prop: "deviceName", width: 150}
],
config: {
search: [
{
name: "userName",
type: "text",
label: "房间名称",
fuzzy: true
},
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "房间名称", prop: "roomName"}, {
label: "房间名称",
prop: "roomName",
formatter: (row) => (row.roomName ? row.roomName : "--"),
},
{label: "房间编码", prop: "roomCode"}, {
label: "房间编码",
prop: "roomCode",
formatter: (row) => (row.roomCode ? row.roomCode : "--"),
},
{label: "房间类型", prop: "roomType",formatter: this.formatter}, { label: "房间类型", prop: "roomType", formatter: this.formatter },
{label: "绑定设备", {
width: 120, label: "绑定设备",
prop: "subColumns", width: 120,
formatter: (row) => { prop: "subColumns",
let widthsize = this.columnSet.reduce((pre, cur) => { formatter: (row) => {
return pre + Number(cur.width); let widthsize = this.columnSet.reduce((pre, cur) => {
}, 50); return pre + Number(cur.width);
return ( }, 50);
<el-popover placement="right" width={widthsize} trigger="click"> return (
{this.renderTable(row.roomDeviceList)} <el-popover placement="right" width={widthsize} trigger="click">
<el-button type="text" slot="reference">详细</el-button> {this.renderTable(row.roomDeviceList)}
</el-popover> <el-button type="text" slot="reference">
); 详细
}, </el-button>
}, </el-popover>
);
},
},
{label: "员工人数", prop: "countPerson", formatter: this.formatter}, { label: "员工人数", prop: "countPerson", formatter: this.formatter },
{ {
label: "操作", label: "操作",
width: 240, width: 240,
formatter: row => { formatter: (row) => {
return ( return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> <table-buttons
); noAdd
} row={row}
} onEdit={this.toEdit}
] onView={this.toView}
} onDel={this.toDel}
}; />
} );
},
},
],
},
}; };
},
};
</script> </script>
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable>
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" /> </div>
</div>
</template> </template>
<script> <script>
/** 表单弹出框模式需引入 */ /** 表单弹出框模式需引入 */
import drawerShow from "./drawershow"; import drawerShow from "./drawershow";
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "RoomWorkmanList", name: "RoomWorkmanList",
components: { components: {
drawerShow drawerShow,
}, },
mixins: [table], mixins: [table],
created() { created() {},
}, methods: {
methods: { /** 重写新增方法 */
/** 重写新增方法 */ toAdd(row) {
toAdd(row) { this.$refs.drawerform.add(row);
this.$refs.drawerform.add(row); },
}, /** 重写编辑方法 */
/** 重写编辑方法 */ toEdit(row) {
toEdit(row) { this.$refs.drawerform.edit(row);
this.$refs.drawerform.edit(row); },
}, /** 重写查看方法 */
/** 重写查看方法 */ toView(row) {
toView(row) { this.$refs.drawerform.view(row);
this.$refs.drawerform.view(row); },
}, },
data() {
}, return {
data() { config: {
return { search: [],
config: { columns: [
search: [ { type: "selection", width: 60 },
], { type: "index", label: "序号", width: 50 },
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "房间名称", prop: "roomName"}, {
label: "房间名称",
prop: "roomName",
formatter: (row) => (row.roomName ? row.roomName : "--"),
},
{label: "工作人员名称", prop: "workmanName"}, {
label: "工作人员名称",
prop: "workmanName",
formatter: (row) => (row.workmanName ? row.workmanName : "--"),
},
{label: "创建用户", prop: "createUserId", formatter: this.formatter}, {
{ label: "创建用户",
label: "操作", prop: "createUserId",
width: 240, formatter: this.formatter,
formatter: row => { },
return ( {
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> label: "操作",
); width: 240,
} formatter: (row) => {
} return (
] <table-buttons
} noAdd
}; row={row}
} onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
},
],
},
}; };
</script> },
\ No newline at end of file };
</script>
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig" /> <LayoutTable :data="tableData" notAdd notDel :config="tableConfig" />
</div> </div>
</template> </template>
...@@ -26,36 +25,41 @@ export default { ...@@ -26,36 +25,41 @@ export default {
}, },
], ],
columns: [ columns: [
{ type: "index", label: "序号",align:"center", width: 50 }, { type: "index", label: "序号", align: "center", width: 50 },
{ {
prop: "userName", prop: "userName",
label: "用户名称", label: "用户名称",
align: "center", align: "center",
formatter: (row) => (row.userName ? row.userName : "--"),
}, },
{ {
prop: "loginName", prop: "loginName",
label: "用户登录名", label: "用户登录名",
align: "center", align: "center",
formatter: (row) => (row.loginName ? row.loginName : "--"),
}, },
{ {
prop: "requestUrl", prop: "requestUrl",
label: "请求地址", label: "请求地址",
align: "center", align: "center",
formatter: (row) => (row.requestUrl ? row.requestUrl : "--"),
}, },
{ {
prop: "content", prop: "content",
label: "操作内容", label: "操作内容",
align: "center", align: "center",
formatter: (row) => (row.content ? row.content : "--"),
}, },
{ {
prop: "ip", prop: "ip",
label: "操作IP地址", label: "操作IP地址",
align: "center", align: "center",
formatter: (row) => (row.ip ? row.ip : "--"),
}, },
{ {
......
<template> <template>
<div className="page"> <div className="page">
<el-card> <el-card>
<LayoutTable notPagination ref="layoutTable" :data="tableData" :config="tableConfig"/> <LayoutTable
notPagination
ref="layoutTable"
:data="tableData"
:config="tableConfig"
/>
</el-card> </el-card>
<dialog-show ref="dialogform" @ok="getData"/> <dialog-show ref="dialogform" @ok="getData" />
</div> </div>
</template> </template>
<script> <script>
import {handleTree} from "@/assets/utils/table"; import { handleTree } from "@/assets/utils/table";
import Treeselect from "@riophae/vue-treeselect"; import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
...@@ -17,15 +22,15 @@ import dialogShow from "./dialogshow"; ...@@ -17,15 +22,15 @@ import dialogShow from "./dialogshow";
export default { export default {
name: "Menu", name: "Menu",
mixins: [table], mixins: [table],
components: {Treeselect, dialogShow}, components: { Treeselect, dialogShow },
created() { created() {
this.query={"page":1,"size":-1} this.query = { page: 1, size: -1 };
}, },
methods: { methods: {
afterRender(data) { afterRender(data) {
data.data = handleTree(data.data, "id", "parentId"); data.data = handleTree(data.data, "id", "parentId");
this.menuOptions = data.data; this.menuOptions = data.data;
this.$refs.layoutTable.showType = "treetable" this.$refs.layoutTable.showType = "treetable";
}, },
handleUp(data) { handleUp(data) {
...@@ -46,17 +51,17 @@ export default { ...@@ -46,17 +51,17 @@ export default {
id: id, id: id,
type: type, type: type,
}) })
.then((res) => { .then((res) => {
if (res && res.code && res.code == 1) { if (res && res.code && res.code == 1) {
this.getData() this.getData();
this.loading = false;
this.$message.success("更新排序成功!");
}
})
.catch((error) => {
this.loading = false; this.loading = false;
this.$message.error(error.message); this.$message.success("更新排序成功!");
}); }
})
.catch((error) => {
this.loading = false;
this.$message.error(error.message);
});
}, },
handleAdd(row) { handleAdd(row) {
...@@ -70,17 +75,17 @@ export default { ...@@ -70,17 +75,17 @@ export default {
/** 重写编辑方法 */ /** 重写编辑方法 */
toEdit(row) { toEdit(row) {
this.loading = true; this.loading = true;
this.$post(this.pageInfo.exclude, {id: row.id}) this.$post(this.pageInfo.exclude, { id: row.id })
.then((res) => { .then((res) => {
if (res && res.code && res.code == 1) { if (res && res.code && res.code == 1) {
this.menuOptions = handleTree(res.data.data); this.menuOptions = handleTree(res.data.data);
this.$refs.dialogform.edit(row, this.menuOptions); this.$refs.dialogform.edit(row, this.menuOptions);
this.loading = false; this.loading = false;
} }
}) })
.catch((error) => { .catch((error) => {
this.$message.error(error.message); this.$message.error(error.message);
}) });
}, },
/** 重写查看方法 */ /** 重写查看方法 */
toView(row) { toView(row) {
...@@ -89,145 +94,146 @@ export default { ...@@ -89,145 +94,146 @@ export default {
// 展示菜单图标 // 展示菜单图标
showIcon(row, column) { showIcon(row, column) {
return <i class={'el-icon-'+row.imgPath}></i> return <i class={"el-icon-" + row.imgPath}></i>;
}, },
handleStatus(row){ handleStatus(row) {
if(row.status==1){ if (row.status == 1) {
this.$post("/menu/change/status", {id:row.id,status:0}) this.$post("/menu/change/status", { id: row.id, status: 0 })
.then(res => { .then((res) => {
if(res.code==1){ if (res.code == 1) {
row.status=0; row.status = 0;
} }
}) })
.catch(error => { .catch((error) => {
this.$message.error(error.message); this.$message.error(error.message);
}) });
}else{ } else {
this.$post("/menu/change/status", {id:row.id,status:1}) this.$post("/menu/change/status", { id: row.id, status: 1 })
.then(res => { .then((res) => {
if(res.code==1){ if (res.code == 1) {
row.status=1; row.status = 1;
} }
}) })
.catch(error => { .catch((error) => {
this.$message.error(error.message); this.$message.error(error.message);
}) });
} }
}, },
}, },
data() { data() {
return { return {
value: '1', value: "1",
config: { config: {
isshowTabPane:true, isshowTabPane: true,
/** 树表是否默认展开 */ /** 树表是否默认展开 */
expand: false, expand: false,
showType: "treetable", showType: "treetable",
search: [], search: [],
columns: [ columns: [
{ {
type: 'selection', type: "selection",
width: 60, width: 60,
}, },
{ {
prop: 'id', prop: "id",
label: 'ID', label: "ID",
width: 120, width: 120,
formatter: (row) => (row.id ? row.id : "--"),
}, },
{ {
prop: 'name', prop: "name",
label: '名称', label: "名称",
width: 160, width: 160,
formatter: (row) => (row.name ? row.name : "--"),
}, },
{ {
prop: 'imgPath', prop: "imgPath",
label: '图标', label: "图标",
width: 50, width: 50,
formatter: this.showIcon, formatter: this.showIcon,
}, },
{ {
prop: 'authType', prop: "authType",
label: '权限类型', label: "权限类型",
formatter: this.formatter, formatter: this.formatter,
}, },
{ {
prop: 'parentId', prop: "parentId",
label: '父ID', label: "父ID",
formatter: (row) => (row.parentId ? row.parentId : "--"),
}, },
{ {
prop: 'url', prop: "url",
label: '地址', label: "地址",
formatter: (row) => (row.url ? row.url : "--"),
}, },
{ {
prop: 'status', prop: "status",
label: '状态', label: "状态",
width: 100, width: 100,
formatter: row => { formatter: (row) => {
return ( return (
<el-switch <el-switch
value={row.status+""} value={row.status + ""}
active-color="#13ce66" active-color="#13ce66"
inactive-color="#ff4949" inactive-color="#ff4949"
active-value='1' active-value="1"
inactive-value='0' inactive-value="0"
onChange={() => { onChange={() => {
this.handleStatus(row); this.handleStatus(row);
}} }}
> ></el-switch>
</el-switch>
); );
} },
}, },
{ {
label: "操作", label: "操作",
width: 280, width: 280,
formatter: row => { formatter: (row) => {
return ( return (
<div> <div>
<el-link <el-link
style="margin-right:5px;margin-left:5px" style="margin-right:5px;margin-left:5px"
icon="el-icon-top" icon="el-icon-top"
onClick={() => { onClick={() => {
this.handleUp(row); this.handleUp(row);
}} }}
></el-link> ></el-link>
<el-link <el-link
style="margin-right:5px;margin-left:5px" style="margin-right:5px;margin-left:5px"
icon="el-icon-bottom" icon="el-icon-bottom"
onClick={() => { onClick={() => {
this.handleDown(row); this.handleDown(row);
}} }}
></el-link>
></el-link> <el-button
size="mini"
<el-button type="text"
size="mini" icon="el-icon-edit-outline"
type="text" onClick={() => {
icon="el-icon-edit-outline" this.handleAdd(row);
onClick={() => { }}
this.handleAdd(row); >
}} 新增
> </el-button>
新增 <table-buttons
</el-button> noAdd
<table-buttons noView
noAdd row={row}
noView onEdit={this.toEdit}
row={row} onView={this.toView}
onEdit={this.toEdit} onDel={this.toDel}
onView={this.toView} />
onDel={this.toDel} </div>
/>
</div>
); );
} },
} },
] ],
} },
}; };
} },
}; };
</script> </script>
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data='tableData' :config='tableConfig' /> <LayoutTable :data="tableData" :config="tableConfig" />
<dialog-show ref="dialogform" @ok="getData" /> <dialog-show ref="dialogform" @ok="getData" />
</div> </div>
</template> </template>
<script> <script>
import table from '@/assets/mixins/table'; import table from "@/assets/mixins/table";
import dialogShow from "./dialogshow"; import dialogShow from "./dialogshow";
export default { export default {
mixins: [table], mixins: [table],
components: {dialogShow }, components: { dialogShow },
methods: { methods: {
// 新增 // 新增
toAdd(row) { toAdd(row) {
...@@ -21,92 +21,102 @@ export default { ...@@ -21,92 +21,102 @@ export default {
this.$refs.dialogform.edit(row); this.$refs.dialogform.edit(row);
}, },
// 查看 // 查看
toView(row,) { toView(row) {
this.$refs.dialogform.view(row); this.$refs.dialogform.view(row);
}, },
}, },
data() { data() {
return { return {
config: { config: {
search: [ search: [
{ {
name: 'name', name: "name",
type: 'text', type: "text",
label: '参数名称', label: "参数名称",
}, },
], ],
columns: [ columns: [
{ type: "selection",reserveSelection:true, width: 60 }, { type: "selection", reserveSelection: true, width: 60 },
{ type: "index", label: "序号",align:"center", width: 50 }, { type: "index", label: "序号", align: "center", width: 50 },
{ {
prop: 'name', prop: "name",
label: '参数名称', label: "参数名称",
formatter: (row) => (row.name ? row.name : "--"),
}, },
{ {
prop: 'firstOrganize', prop: "firstOrganize",
label: '一级组织', label: "一级组织",
formatter: (row) => (row.firstOrganize ? row.firstOrganize : "--"),
}, },
{ {
prop: 'secondOrganize', prop: "secondOrganize",
label: '二级组织', label: "二级组织",
formatter: (row) =>
row.secondOrganize ? row.secondOrganize : "--",
}, },
{ {
prop: 'paramKey', prop: "paramKey",
label: '参数键', label: "参数键",
formatter: (row) => (row.paramKey ? row.paramKey : "--"),
}, },
{ {
prop: 'paramValue', prop: "paramValue",
label: '参数值', label: "参数值",
formatter: (row) => (row.paramValue ? row.paramValue : "--"),
// formatter: this.util_short('paramValue', 20) // formatter: this.util_short('paramValue', 20)
}, },
{ {
prop: 'validStatus', prop: "validStatus",
label: '有效状态', label: "有效状态",
width: 70, width: 70,
formatter: this.formatter formatter: this.formatter,
}, },
{ {
prop: 'modStatus', prop: "modStatus",
label: '修改状态', label: "修改状态",
width: 100, width: 100,
formatter: this.formatter formatter: this.formatter,
}, },
{ {
prop: 'displayType', prop: "displayType",
label: '展现类型', label: "展现类型",
width: 100, width: 100,
formatter: this.formatter formatter: this.formatter,
}, },
{ {
prop: 'remark', prop: "remark",
label: '备注', label: "备注",
formatter: (row) => (row.remark ? row.remark : "--"),
}, },
{ {
label: '操作', label: "操作",
width: 260, width: 260,
formatter: (row)=> { formatter: (row) => {
return ( return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> <table-buttons
) noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
}, },
}, },
], ],
}, },
} };
} },
} };
</script> </script>
<style lang="css"> <style lang="css">
.el-tooltip__popper{ .el-tooltip__popper {
display: inline-block; display: inline-block;
max-width: 80%; max-width: 80%;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: normal ; white-space: normal;
line-height: 18px; line-height: 18px;
cursor: pointer; cursor: pointer;
} }
</style> </style>
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data='tableData' :config='tableConfig' /> <LayoutTable :data="tableData" :config="tableConfig" />
<dialog-show ref="dialogform" @ok="getData" /> <dialog-show ref="dialogform" @ok="getData" />
</div> </div>
</template> </template>
<script> <script>
import table from '@/assets/mixins/table'; import table from "@/assets/mixins/table";
import dialogShow from "./dialogshow"; import dialogShow from "./dialogshow";
export default { export default {
mixins: [table], mixins: [table],
components: { components: {
dialogShow, dialogShow,
}, },
methods: { methods: {
...@@ -32,56 +32,62 @@ export default { ...@@ -32,56 +32,62 @@ export default {
config: { config: {
search: [ search: [
{ {
name: 'name', name: "name",
type: 'text', type: "text",
label: '资源名称', label: "资源名称",
}, },
{ {
name: 'authType', name: "authType",
type: 'select', type: "select",
label: '权限类型', label: "权限类型",
}, },
], ],
columns: [ columns: [
{ type: "selection",reserveSelection:true, width: 60 }, { type: "selection", reserveSelection: true, width: 60 },
{ type: "index", label: "序号",align:"center", width: 50 }, { type: "index", label: "序号", align: "center", width: 50 },
// { // {
// prop: 'id', // prop: 'id',
// label: 'ID', // label: 'ID',
// }, // },
{ {
prop: 'name', prop: "name",
label: '名称', label: "名称",
formatter: (row) => (row.name ? row.name : "--"),
}, },
{ {
prop: 'url', prop: "url",
label: '资源', label: "资源",
formatter: (row) => (row.url ? row.url : "--"),
}, },
{ {
prop: 'authType', prop: "authType",
label: '认证类型', label: "认证类型",
formatter: this.formatter, formatter: this.formatter,
}, },
// { // {
// prop: 'userType', // prop: 'userType',
// label: '用户类型', // label: '用户类型',
// width: 100, // width: 100,
// formatter: this.formatter, // formatter: this.formatter,
// }, // },
{ {
label: '操作', label: "操作",
witdh: 120, witdh: 120,
formatter: (row)=> { formatter: (row) => {
return ( return (
<table-buttons noView row={row} onEdit={this.toEdit} onDel={this.toDel} /> <table-buttons
) noView
row={row}
onEdit={this.toEdit}
onDel={this.toDel}
/>
);
}, },
}, },
], ],
}, },
} };
} },
} };
</script> </script>
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig" /> <LayoutTable :data="tableData" :config="tableConfig" />
<dialog-show ref="dialogform" @ok="getData" /> <dialog-show ref="dialogform" @ok="getData" />
<el-dialog title="分配权限" :visible.sync="auth.visible"> <el-dialog title="分配权限" :visible.sync="auth.visible">
<el-form :model="auth.form"> <el-form :model="auth.form">
...@@ -158,7 +158,7 @@ import table from "@/assets/mixins/table"; ...@@ -158,7 +158,7 @@ import table from "@/assets/mixins/table";
import dialogShow from "./dialogshow"; import dialogShow from "./dialogshow";
export default { export default {
mixins: [table], mixins: [table],
components: { dialogShow }, components: { dialogShow },
created() {}, created() {},
methods: { methods: {
beforeRender(data) { beforeRender(data) {
...@@ -186,7 +186,7 @@ export default { ...@@ -186,7 +186,7 @@ export default {
return this.allResources; return this.allResources;
} }
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.$post("/resource/list", {size: -1}) this.$post("/resource/list", { size: -1 })
.then(({ data }) => { .then(({ data }) => {
resolve(this.groupByAuth(data.data)); resolve(this.groupByAuth(data.data));
}) })
...@@ -224,8 +224,8 @@ export default { ...@@ -224,8 +224,8 @@ export default {
getRoleAuths(id) { getRoleAuths(id) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.$post("/role/auth/list", { this.$post("/role/auth/list", {
"roleId": id, roleId: id,
"size": -1, size: -1,
}) })
.then(({ data }) => { .then(({ data }) => {
const result = data.data.map((i) => i.resourceId); const result = data.data.map((i) => i.resourceId);
...@@ -240,7 +240,7 @@ export default { ...@@ -240,7 +240,7 @@ export default {
this.auth.form.resourceIdList = this.auth.checkList this.auth.form.resourceIdList = this.auth.checkList
.filter((i) => typeof i === "number") .filter((i) => typeof i === "number")
.join(","); .join(",");
await this.$post("/role/auth/distributionSource", this.auth.form); await this.$post("/role/auth/distributionSource", this.auth.form);
this.auth.visible = false; this.auth.visible = false;
this.auth.form = this.initForm(); this.auth.form = this.initForm();
this.$message.success("操作成功"); this.$message.success("操作成功");
...@@ -255,7 +255,7 @@ export default { ...@@ -255,7 +255,7 @@ export default {
// return this.allUsers; // return this.allUsers;
// } // }
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.$post("/user/list", { size: -1 }) this.$post("/user/list", { size: -1 })
.then(({ data }) => { .then(({ data }) => {
resolve(data.data); resolve(data.data);
}) })
...@@ -281,10 +281,10 @@ export default { ...@@ -281,10 +281,10 @@ export default {
async getUsersoo(userTypeIdVal, loginNameVal, realNameVal) { async getUsersoo(userTypeIdVal, loginNameVal, realNameVal) {
const query = { const query = {
"size": -1, size: -1,
"userType": userTypeIdVal, userType: userTypeIdVal,
"loginName": loginNameVal, loginName: loginNameVal,
"realName": realNameVal, realName: realNameVal,
}; };
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.$post("/user/list", query) this.$post("/user/list", query)
...@@ -336,8 +336,8 @@ export default { ...@@ -336,8 +336,8 @@ export default {
getRoleUsers(id) { getRoleUsers(id) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.$post("/role/user/list", { this.$post("/role/user/list", {
"roleId": id, roleId: id,
"size": -1, size: -1,
}) })
.then(({ data }) => { .then(({ data }) => {
const result = data.data const result = data.data
...@@ -380,8 +380,8 @@ export default { ...@@ -380,8 +380,8 @@ export default {
async saveUser() { async saveUser() {
try { try {
//this.user.form.userIdList = this.user.checkList.join(","); //this.user.form.userIdList = this.user.checkList.join(",");
this.user.form.userIdList = this.user.checkList this.user.form.userIdList = this.user.checkList;
await this.$post("/role/user/distributionUser", this.user.form,); await this.$post("/role/user/distributionUser", this.user.form);
this.user.visible = false; this.user.visible = false;
this.user.form = this.initForm(); this.user.form = this.initForm();
this.$message.success("操作成功"); this.$message.success("操作成功");
...@@ -445,19 +445,20 @@ export default { ...@@ -445,19 +445,20 @@ export default {
type: "text", type: "text",
label: "角色名", label: "角色名",
}, },
], ],
columns: [ columns: [
{ type: "selection",reserveSelection:true, width: 60 }, { type: "selection", reserveSelection: true, width: 60 },
{ type: "index", label: "序号",align:"center", width: 50 }, { type: "index", label: "序号", align: "center", width: 50 },
{ {
prop: "name", prop: "name",
label: "角色名", label: "角色名",
formatter: (row) => (row.name ? row.name : "--"),
}, },
{ {
prop: "remark", prop: "remark",
label: "备注", label: "备注",
formatter: (row) => (row.remark ? row.remark : "--"),
}, },
// { // {
// prop: "roleType", // prop: "roleType",
...@@ -470,7 +471,7 @@ export default { ...@@ -470,7 +471,7 @@ export default {
label: "创建时间", label: "创建时间",
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
{ {
label: "操作", label: "操作",
witdh: 120, witdh: 120,
...@@ -483,16 +484,15 @@ export default { ...@@ -483,16 +484,15 @@ export default {
onEdit={this.toEdit} onEdit={this.toEdit}
onDel={this.toDel} onDel={this.toDel}
/>{" "} />{" "}
<el-button
<el-button icon="el-icon-share"
icon="el-icon-share" size="mini"
size="mini" type="text"
type="text" onClick={() => this.setAuth(row)}
onClick={() => this.setAuth(row)} >
> 分配权限
分配权限 </el-button>
</el-button> {/*
{/*
<el-button <el-button
icon="el-icon-goods" icon="el-icon-goods"
size="mini" size="mini"
...@@ -547,5 +547,3 @@ export default { ...@@ -547,5 +547,3 @@ export default {
margin-top: 20px; margin-top: 20px;
} }
</style> </style>
...@@ -41,23 +41,26 @@ export default { ...@@ -41,23 +41,26 @@ export default {
}, },
], ],
columns: [ columns: [
{ type: "selection", reserveSelection: true, width: 60 },
{ type: "selection",reserveSelection:true, width: 60 }, { type: "index", label: "序号", align: "center", width: 50 },
{ type: "index", label: "序号",align:"center", width: 50 },
{ {
prop: "name", prop: "name",
label: "任务名称", label: "任务名称",
align: "center", align: "center",
formatter: (row) => (row.name ? row.name : "--"),
}, },
{ {
prop: "excuteHost", prop: "excuteHost",
label: "执行主机", label: "执行主机",
align: "center", align: "center",
formatter: (row) => (row.excuteHost ? row.excuteHost : "--"),
}, },
{ {
prop: "excuteContainer", prop: "excuteContainer",
label: "执行容器", label: "执行容器",
align: "center", align: "center",
formatter: (row) =>
row.excuteContainer ? row.excuteContainer : "--",
}, },
{ {
prop: "excuteStrategy", prop: "excuteStrategy",
...@@ -69,6 +72,8 @@ export default { ...@@ -69,6 +72,8 @@ export default {
prop: "lastExcuteHost", prop: "lastExcuteHost",
label: "最后执行主机", label: "最后执行主机",
align: "center", align: "center",
formatter: (row) =>
row.lastExcuteHost ? row.lastExcuteHost : "--",
}, },
{ {
prop: "lastExcuteTime", prop: "lastExcuteTime",
...@@ -103,5 +108,3 @@ export default { ...@@ -103,5 +108,3 @@ export default {
}, },
}; };
</script> </script>
...@@ -110,8 +110,8 @@ export default { ...@@ -110,8 +110,8 @@ export default {
getRoleUsers(id) { getRoleUsers(id) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.$post("/role/user/list", { this.$post("/role/user/list", {
"userId": id, userId: id,
"size": -1, size: -1,
}) })
.then(({ data }) => { .then(({ data }) => {
const result = data.data const result = data.data
...@@ -152,22 +152,25 @@ export default { ...@@ -152,22 +152,25 @@ export default {
}, },
config: { config: {
columns: [ columns: [
{ type: "selection",reserveSelection:true, width: 60 }, { type: "selection", reserveSelection: true, width: 60 },
{ type: "index", label: "序号",align:"center", width: 50 }, { type: "index", label: "序号", align: "center", width: 50 },
{ {
prop: "loginName", prop: "loginName",
label: "登录名称", label: "登录名称",
align: "center", align: "center",
formatter: (row) => (row.loginName ? row.loginName : "--"),
}, },
{ {
prop: "realName", prop: "realName",
label: "用户名称", label: "用户名称",
align: "center", align: "center",
formatter: (row) => (row.realName ? row.realName : "--"),
}, },
{ {
prop: "mobile", prop: "mobile",
label: "手机号码", label: "手机号码",
align: "center", align: "center",
formatter: (row) => (row.mobile ? row.mobile : "--"),
}, },
{ {
prop: "roleIds", prop: "roleIds",
...@@ -237,5 +240,3 @@ export default { ...@@ -237,5 +240,3 @@ export default {
}, },
}; };
</script> </script>
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data='tableData' :config='tableConfig' notAdd notDel /> <LayoutTable :data="tableData" :config="tableConfig" notAdd notDel />
</div> </div>
</template> </template>
<script> <script>
import table from '@/assets/mixins/table'; import table from "@/assets/mixins/table";
export default { export default {
mixins: [table], mixins: [table],
methods: { methods: {},
},
data() { data() {
return { return {
config: { config: {
columns: [ columns: [
{ {
type: 'selection', type: "selection",
width: 60, width: 60,
}, },
{ {
prop: 'id', prop: "id",
label: 'ID', label: "ID",
width: 60, width: 60,
formatter: (row) => (row.id ? row.id : "--"),
}, },
{ {
prop: 'code', prop: "code",
label: '验证码', label: "验证码",
formatter: (row) => (row.code ? row.code : "--"),
}, },
{ {
prop: 'url', prop: "url",
label: '校验地址', label: "校验地址",
formatter: (row) => (row.url ? row.url : "--"),
}, },
{ {
prop: 'mobile', prop: "mobile",
label: '手机号码', label: "手机号码",
formatter: (row) => (row.mobile ? row.mobile : "--"),
}, },
{ {
prop: 'email', prop: "email",
label: '校验邮箱', label: "校验邮箱",
formatter: (row) => (row.email ? row.email : "--"),
}, },
{ {
prop: 'type', prop: "type",
label: '校验方式', label: "校验方式",
width: 130, width: 130,
formatter: this.formatter, formatter: this.formatter,
}, },
{ {
prop: 'sessionId', prop: "sessionId",
label: '会话ID' label: "会话ID",
formatter: (row) => (row.sessionId ? row.sessionId : "--"),
}, },
{ {
prop: 'ip', prop: "ip",
label: 'IP地址' label: "IP地址",
formatter: (row) => (row.ip ? row.ip : "--"),
}, },
{ {
prop: 'createTime', prop: "createTime",
label: '创建时间' label: "创建时间",
formatter: (row) => (row.createTime ? row.createTime : "--"),
}, },
{ {
prop: 'lapseTime', prop: "lapseTime",
label: '失效时间' label: "失效时间",
formatter: (row) => (row.lapseTime ? row.lapseTime : "--"),
}, },
{ {
label: '操作', label: "操作",
formatter: (row)=> { formatter: (row) => {
return ( return (
<table-buttons row={row} onEdit={this.toEdit} onDel={this.toDel} /> <table-buttons
) row={row}
onEdit={this.toEdit}
onDel={this.toDel}
/>
);
}, },
}, },
], ],
search: [ search: [
{ {
name: 'mobile', name: "mobile",
type: 'text', type: "text",
label: '手机号码', label: "手机号码",
}, },
] ],
}, },
};
} },
} };
}
</script> </script>
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