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

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

parent 916521e1
// table-list 所需的一系列操作方法
/**
* formatter
*
......@@ -10,8 +9,10 @@
*/
const formatter = (tableData, column, val) => {
const key = column.property;
if(tableData.dict && tableData.dict[key]){
const dict = tableData.dict[key]
console.log(val);
val = val ? val : "--";
if (tableData.dict && tableData.dict[key]) {
const dict = tableData.dict[key];
return dict[val] || val;
}
return val;
......@@ -27,11 +28,11 @@ const formatter = (tableData, column, val) => {
const formatterAmount = (row, column) => {
const property = column.property;
const amount = row[property];
if(!amount){
return '0.00';
if (!amount) {
return "0.00";
}
if(amount == 0){
return '0.00';
if (amount == 0) {
return "0.00";
}
return amount;
};
......@@ -46,15 +47,18 @@ const formatterAmount = (row, column) => {
const formatterDate = (row, column) => {
const property = column.property;
const time = row[property];
if(!time) return '';
if (!time) return "";
let date = new Date(Number(time));
let Y = date.getFullYear() + '-';
let M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
let D = panLeft(date.getDate()) + ' ';
let h = panLeft(date.getHours()) + ':';
let m = panLeft(date.getMinutes()) + ':';
let Y = date.getFullYear() + "-";
let M =
(date.getMonth() + 1 < 10
? "0" + (date.getMonth() + 1)
: date.getMonth() + 1) + "-";
let D = panLeft(date.getDate()) + " ";
let h = panLeft(date.getHours()) + ":";
let m = panLeft(date.getMinutes()) + ":";
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) => {
const formatterDateOnly = (row, column) => {
const property = column.property;
const time = row[property];
if(!time) return '';
if (!time) return "";
let date = new Date(Number(time));
let Y = date.getFullYear() + '-';
let M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
let D = panLeft(date.getDate()) + ' ';
return Y+M+D;
let Y = date.getFullYear() + "-";
let M =
(date.getMonth() + 1 < 10
? "0" + (date.getMonth() + 1)
: date.getMonth() + 1) + "-";
let D = panLeft(date.getDate()) + " ";
return Y + M + D;
};
function panLeft(num){
return num < 10 ? '0'+num : num;
function panLeft(num) {
return num < 10 ? "0" + num : num;
}
/**
......@@ -90,18 +97,18 @@ function panLeft(num){
const find = (list, key, val) => {
let index = -1;
let data = null;
list.forEach((item, i)=>{
if(item[key] === val){
list.forEach((item, i) => {
if (item[key] === val) {
index = i;
data = JSON.parse(JSON.stringify(item));
return;
}
})
});
return {
index,
data,
}
}
};
};
/**
* 构造树型结构数据
......@@ -112,24 +119,32 @@ const find = (list, key, val) => {
* @param {*} rootId 根Id 默认 0
*/
function handleTree(data, id, parentId, children, rootId) {
id = id || 'id'
parentId = parentId || 'parentId'
children = children || 'children'
rootId = rootId || Math.min.apply(Math, data.map(item => { return item[parentId] })) || 0
id = id || "id";
parentId = parentId || "parentId";
children = children || "children";
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 => {
let branchArr = cloneData.filter(child => {
const treeData = cloneData.filter((father) => {
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 treeData != '' ? treeData : data;
};
return treeData != "" ? treeData : data;
}
export {
formatter,
......@@ -137,5 +152,5 @@ export {
formatterDate,
formatterDateOnly,
find,
handleTree
handleTree,
};
<template>
<el-table
size='small'
size="small"
:data="tableData"
:row-key="handleRowKeyMethod"
:span-method="handleSpanMethod"
......@@ -8,13 +8,15 @@
@selection-change="handleSelectionChange"
@sort-change="handleSortChange"
@row-click="handleRowClick"
height="560"
:row-class-name="tableRowClassName"
:empty-text='emptyText'
:empty-text="emptyText"
border
style="width: 100%">
style="width: 100%"
>
<el-table-column
v-for='column in columns'
:key='column.prop'
v-for="column in columns"
:key="column.prop"
:type="column.type"
:index="handleIndexMethod"
:selectable="handleSelectableMethod"
......@@ -24,98 +26,94 @@
:sortable="column.sortable"
:show-overflow-tooltip="column.tooltip"
:align="column.align || 'left'"
:formatter='column.formatter'
:reserve-selection='column.reserveSelection'
:subColumns='column.subColumns'
:formatter="column.formatter"
:reserve-selection="column.reserveSelection"
:subColumns="column.subColumns"
>
<el-table-column
v-for='sunColumn in column.subColumns'
:key='sunColumn.prop'
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'
:formatter="sunColumn.formatter"
/>
</el-table-column>
</el-table>
</template>
<script>
export default {
props: {
handleRowKeyMethod: {
type: Function,
required: false,
default: row => { return row.id }
default: (row) => {
return row.id;
},
},
handleSelectableMethod: {
type: Function,
required: false,
default: () => {}
default: () => {},
},
handleIndexMethod: {
type: Function,
required: false,
default: () => {}
default: () => {},
},
handleSpanMethod: {
type: Function,
required: false,
default: () => {}
default: () => {},
},
handleSelectionChange: {
type: Function,
required: false,
default: () => {}
default: () => {},
},
handleRowClick: {
type: Function,
required: false,
default: () => {}
default: () => {},
},
handleSortChange: {
type: Function,
required: false,
default: () => {}
default: () => {},
},
tableRowClassName: {
type: Function,
required: false,
default: () => {}
default: () => {},
},
loading: {
type: Boolean,
required: false,
default: true
default: true,
},
tableData: {
type: Array,
required: false,
default: () => []
default: () => [],
},
columns: {
type: Array,
required: false,
default: ()=> [],
}
default: () => [],
},
},
computed: {
emptyText() {
return (!this.loading && !this.tableData.length) ? '暂无数据' : '加载中...'
},
return !this.loading && !this.tableData.length ? "暂无数据" : "加载中...";
},
methods:{
},
methods: {},
data() {
return {}
}
}
return {};
},
};
</script>
......@@ -7,75 +7,72 @@
@row-click="handleRowClick"
:row-class-name="tableRowClassName"
:default-expand-all="expand"
height="560"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
>
<el-table-column
v-for='column in columns'
:key='column.prop'
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'
:formatter="column.formatter"
>
</el-table-column>
</el-table>
</template>
<script>
export default {
props: {
handleSpanMethod: {
type: Function,
required: false,
default: () => {}
default: () => {},
},
handleRowClick: {
type: Function,
required: false,
default: () => {}
default: () => {},
},
tableRowClassName: {
type: Function,
required: false,
default: () => {}
default: () => {},
},
loading: {
type: Boolean,
required: false,
default: true
default: true,
},
expand: {
type: Boolean,
required: false,
default: true
default: true,
},
tableData: {
type: Array,
required: false,
default: () => []
default: () => [],
},
columns: {
type: Array,
required: false,
default: ()=> [],
}
default: () => [],
},
},
computed: {
emptyText() {
return (!this.loading && !this.tableData.length) ? '暂无数据' : '加载中...'
return !this.loading && !this.tableData.length ? "暂无数据" : "加载中...";
},
},
data() {
return {}
}
}
return {};
},
};
</script>
......@@ -7,7 +7,8 @@
icon="el-icon-tickets"
size="mini"
@click="handleImport"
>导入</el-button>
>导入</el-button
>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
......@@ -15,7 +16,8 @@
size="mini"
@click="doExport"
:disabled="isExport"
>导出</el-button>
>导出</el-button
>
</LayoutTable>
<!-- 设备管理导入对话框 -->
......@@ -43,10 +45,11 @@
<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
<el-checkbox
v-model="upload.updateSupport"
/>是否更新已经存在的数据
<el-link type="primary" style="font-size: 14px" @click="downloadTemplate"
<el-checkbox v-model="upload.updateSupport" />是否更新已经存在的数据
<el-link
type="primary"
style="font-size: 14px"
@click="downloadTemplate"
>下载模板</el-link
>
</div>
......@@ -65,19 +68,19 @@
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "DeviceList",
components: {
drawerShow
},
drawerShow,
},
mixins: [table],
created() {
console.log("route",this.$route)
this.changePath("/device")
this.query = Object.assign({}, this.query, {productCode:"dzmp"});
console.log("route", this.$route);
this.changePath("/device");
this.query = Object.assign({}, this.query, { productCode: "dzmp" });
},
methods: {
/** 导入 */
......@@ -114,9 +117,15 @@
/** 导出Excel */
doExport() {
this.isExport = true;
this.$download("/device/exportExcel", {
"idList": this.selection,
}, { type: "excel" }).then(() => this.isExport = false).catch(error => {
this.$download(
"/device/exportExcel",
{
idList: this.selection,
},
{ type: "excel" }
)
.then(() => (this.isExport = false))
.catch((error) => {
this.isExport = false;
this.$message.error(error.message);
});
......@@ -164,9 +173,8 @@
);
},
statusChange() {
this.$store.dispatch('login');
this.$store.dispatch("login");
},
},
data() {
return {
......@@ -190,27 +198,53 @@
name: "deviceName",
type: "text",
label: "设备名称",
fuzzy: true
fuzzy: true,
},
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{label: "设备名称", prop: "deviceName"},
{label: "所属房间", prop: "roomId", formatter: this.formatter},
{
label: "设备名称",
prop: "deviceName",
formatter: (row) => (row.deviceName ? row.deviceName : "--"),
},
{ label: "所属房间", prop: "roomId", formatter: this.formatter },
{label: "设备编码", prop: "deviceCode"},
{
label: "设备编码",
prop: "deviceCode",
formatter: (row) => (row.deviceCode ? row.deviceCode : "--"),
},
{label: "MAC地址", prop: "deviceMac"},
{
label: "MAC地址",
prop: "deviceMac",
formatter: (row) => (row.deviceMac ? row.deviceMac : "--"),
},
{label: "设备位置", prop: "deviceAddr"},
{
label: "设备位置",
prop: "deviceAddr",
formatter: (row) => (row.deviceAddr ? row.deviceAddr : "--"),
},
{label: "联系电话", prop: "leadingOfficialTelephone"},
{
label: "联系电话",
prop: "leadingOfficialTelephone",
formatter: (row) =>
row.leadingOfficialTelephone
? row.leadingOfficialTelephone
: "--",
},
{label: "设备状态 ", prop: "deviceStatus",formatter: this.formatter},
{
label: "设备状态 ",
prop: "deviceStatus",
formatter: this.formatter,
},
{
prop: "enabled",
......@@ -223,7 +257,7 @@
{
label: "操作",
width: 240,
formatter: row => {
formatter: (row) => {
return (
<div>
<span> </span>
......@@ -251,11 +285,11 @@
/>
</div>
);
}
}
]
}
};
}
},
},
],
},
};
},
};
</script>
......@@ -7,7 +7,8 @@
icon="el-icon-tickets"
size="mini"
@click="handleImport"
>导入</el-button>
>导入</el-button
>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
......@@ -15,7 +16,8 @@
size="mini"
@click="doExport"
:disabled="isExport"
>导出</el-button>
>导出</el-button
>
</LayoutTable>
<!-- 设备管理导入对话框 -->
......@@ -43,10 +45,11 @@
<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
<el-checkbox
v-model="upload.updateSupport"
/>是否更新已经存在的数据
<el-link type="primary" style="font-size: 14px" @click="downloadTemplate"
<el-checkbox v-model="upload.updateSupport" />是否更新已经存在的数据
<el-link
type="primary"
style="font-size: 14px"
@click="downloadTemplate"
>下载模板</el-link
>
</div>
......@@ -65,17 +68,17 @@
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
/** 表单弹出框模式需引入 */
import { formatter } from "../../assets/utils/table";
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "DeviceList",
components: {
drawerShow
},
mixins: [table],
created() {
drawerShow,
},
mixins: [table],
created() {},
methods: {
/** 导入 */
handleImport() {
......@@ -111,9 +114,15 @@
/** 导出Excel */
doExport() {
this.isExport = true;
this.$download("/device/exportExcel", {
"idList": this.selection,
}, { type: "excel" }).then(() => this.isExport = false).catch(error => {
this.$download(
"/device/exportExcel",
{
idList: this.selection,
},
{ type: "excel" }
)
.then(() => (this.isExport = false))
.catch((error) => {
this.isExport = false;
this.$message.error(error.message);
});
......@@ -130,7 +139,6 @@
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
......@@ -149,43 +157,83 @@
},
isExport: false,
config: {
search: [
],
search: [],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{label: "设备名称", prop: "deviceName"},
{
label: "设备名称",
prop: "deviceName",
formatter: (row) => (row.deviceName ? row.deviceName : "--"),
},
{label: "所属房间id", prop: "roomId", formatter: this.formatter},
{ label: "所属房间id", prop: "roomId", formatter: this.formatter },
{label: "所属房间名称", prop: "roomName"},
{
label: "所属房间名称",
prop: "roomName",
formatter: (row) => (row.roomName ? row.roomName : "--"),
},
{label: "设备编码,SN码等,默认为MAC地址", prop: "deviceCode"},
{
label: "设备编码,SN码等,默认为MAC地址",
prop: "deviceCode",
formatter: (row) => (row.deviceCode ? row.deviceCode : "--"),
},
{label: "设备的MAC地址", prop: "deviceMac"},
{
label: "设备的MAC地址",
prop: "deviceMac",
formatter: (row) => (row.deviceMac ? row.deviceMac : "--"),
},
{label: "设备位置", prop: "deviceAddr"},
{
label: "设备位置",
prop: "deviceAddr",
formatter: (row) => (row.deviceAddr ? row.deviceAddr : "--"),
},
{label: "联系电话", prop: "leadingOfficialTelephone"},
{
label: "联系电话",
prop: "leadingOfficialTelephone",
formatter: (row) =>
row.leadingOfficialTelephone
? row.leadingOfficialTelephone
: "--",
},
{label: "设备状态 ", prop: "deviceStatus",formatter: this.formatter},
{
label: "设备状态 ",
prop: "deviceStatus",
formatter: this.formatter,
},
{label: "启用状态 ", prop: "enabled",formatter: this.formatter},
{ label: "启用状态 ", prop: "enabled", formatter: this.formatter },
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "创建用户",
prop: "createUserId",
formatter: this.formatter,
},
{
label: "操作",
width: 240,
formatter: row => {
formatter: (row) => {
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>
......@@ -7,7 +7,8 @@
icon="el-icon-tickets"
size="mini"
@click="handleImport"
>导入</el-button>
>导入</el-button
>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
......@@ -15,7 +16,8 @@
size="mini"
@click="doExport"
:disabled="isExport"
>导出</el-button>
>导出</el-button
>
</LayoutTable>
<!-- 设备管理导入对话框 -->
......@@ -43,10 +45,11 @@
<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
<el-checkbox
v-model="upload.updateSupport"
/>是否更新已经存在的数据
<el-link type="primary" style="font-size: 14px" @click="downloadTemplate"
<el-checkbox v-model="upload.updateSupport" />是否更新已经存在的数据
<el-link
type="primary"
style="font-size: 14px"
@click="downloadTemplate"
>下载模板</el-link
>
</div>
......@@ -65,19 +68,19 @@
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "DeviceList",
components: {
drawerShow
},
drawerShow,
},
mixins: [table],
created() {
console.log("route",this.$route)
this.changePath("/device")
this.query = Object.assign({}, this.query, {productCode:"hysdzmp"});
console.log("route", this.$route);
this.changePath("/device");
this.query = Object.assign({}, this.query, { productCode: "hysdzmp" });
},
methods: {
/** 导入 */
......@@ -114,9 +117,15 @@
/** 导出Excel */
doExport() {
this.isExport = true;
this.$download("/device/exportExcel", {
"idList": this.selection,
}, { type: "excel" }).then(() => this.isExport = false).catch(error => {
this.$download(
"/device/exportExcel",
{
idList: this.selection,
},
{ type: "excel" }
)
.then(() => (this.isExport = false))
.catch((error) => {
this.isExport = false;
this.$message.error(error.message);
});
......@@ -163,9 +172,8 @@
);
},
statusChange() {
this.$store.dispatch('login');
this.$store.dispatch("login");
},
},
data() {
return {
......@@ -189,33 +197,59 @@
name: "deviceName",
type: "text",
label: "设备名称",
fuzzy: true
fuzzy: true,
},
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{label: "设备名称", prop: "deviceName"},
{label: "所属房间", prop: "roomId", formatter: this.formatter},
{
label: "设备名称",
prop: "deviceName",
formatter: (row) => (row.deviceName ? row.deviceName : "--"),
},
{ label: "所属房间", prop: "roomId", formatter: this.formatter },
{label: "设备编码", prop: "deviceCode"},
{
label: "设备编码",
prop: "deviceCode",
formatter: (row) => (row.deviceCode ? row.deviceCode : "--"),
},
{label: "MAC地址", prop: "deviceMac"},
{
label: "MAC地址",
prop: "deviceMac",
formatter: (row) => (row.deviceMac ? row.deviceMac : "--"),
},
{label: "设备位置", prop: "deviceAddr"},
{
label: "设备位置",
prop: "deviceAddr",
formatter: (row) => (row.deviceAddr ? row.deviceAddr : "--"),
},
{label: "联系电话", prop: "leadingOfficialTelephone"},
{
label: "联系电话",
prop: "leadingOfficialTelephone",
formatter: (row) =>
row.leadingOfficialTelephone
? row.leadingOfficialTelephone
: "--",
},
{label: "设备状态 ", prop: "deviceStatus",formatter: this.formatter},
{
label: "设备状态 ",
prop: "deviceStatus",
formatter: this.formatter,
},
{label: "启用状态 ", prop: "enabled",formatter: this.formatter},
{ label: "启用状态 ", prop: "enabled", formatter: this.formatter },
{
label: "操作",
width: 240,
formatter: row => {
formatter: (row) => {
return (
<div>
<span> </span>
......@@ -243,11 +277,11 @@
/>
</div>
);
}
}
]
}
};
}
},
},
],
},
};
},
};
</script>
......@@ -3,23 +3,21 @@
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig">
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "GocomeRecordList",
components: {
drawerShow
},
mixins: [table],
created() {
drawerShow,
},
mixins: [table],
created() {},
methods: {
/** 重写新增方法 */
toAdd(row) {
......@@ -33,7 +31,6 @@
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
......@@ -43,44 +40,72 @@
name: "userName",
type: "text",
label: "用户名称",
fuzzy: true
fuzzy: true,
},
{
name: "afterStatus",
type: "text",
label: "状态"
label: "状态",
},
{
name: "createTimeStart",
type: "date",
label: "创建时间"
},{
label: "创建时间",
},
{
name: "createTimeEnd",
type: "date",
label: "结束时间"
}
label: "结束时间",
},
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{ type: "selection", width: 60 },
{ 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>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable>
<drawer-show ref="drawerform" @ok="getData"/>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
......@@ -17,11 +15,10 @@ import moment from "moment/moment";
export default {
name: "MettingRecordList",
components: {
drawerShow
drawerShow,
},
mixins: [table],
created() {
},
created() {},
methods: {
/** 重写新增方法 */
toAdd(row) {
......@@ -63,13 +60,13 @@ export default {
message: "已取消删除",
});
});
}
},
,
toFinish(row) {
this.loading = true;
this.$post("/metting/record/save", {
id: row.id, meetStatus: 2,
id: row.id,
meetStatus: 2,
})
.then((res) => {
if (res && res.code === 1) {
......@@ -81,70 +78,89 @@ export default {
.catch((error) => {
this.$message.error(error.message);
});
}
},
},
data() {
return {
config: {
search: [ {
search: [
{
name: "meetName",
type: "text",
label: "会议名称",
fuzzy: true
fuzzy: true,
},
{
name: "meetStatus",
type: "select",
label: "会议状态"
label: "会议状态",
},
{
name: "meetDateStart",
type: "date",
label: "会议开始日期"
},{
label: "会议开始日期",
},
{
name: "meetDateEnd",
type: "date",
label: "会议结束日期"
}
label: "会议结束日期",
},
],
columns: [
{type: "selection", width: 60},
{type: "index", label: "序号", width: 50},
{ type: "selection", width: 60 },
{ 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) => {
let meetDate = moment(row.meetDate).format('YYYY-MM-DD');
return (
<span>{meetDate}</span>
);
let meetDate = moment(row.meetDate).format("YYYY-MM-DD");
return <span>{meetDate}</span>;
},
},
{
label: "开始时间", prop: "meetTimeStart",
label: "开始时间",
prop: "meetTimeStart",
formatter: (row) => {
let meetTimeStart = moment(row.meetTimeStart).format('HH:mm');
let meetTimeEnd = moment(row.meetTimeEnd).format('HH:mm');
let meetTimeStart = moment(row.meetTimeStart).format("HH:mm");
let meetTimeEnd = moment(row.meetTimeEnd).format("HH:mm");
return (
<span>{meetTimeStart}~{meetTimeEnd}</span>
<span>
{meetTimeStart}~{meetTimeEnd}
</span>
);
}
},
{label: "开会部门", prop: "meetDeptName"},
},
{
label: "开会部门",
prop: "meetDeptName",
formatter: (row) => (row.meetDeptName ? row.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: "操作",
width: 240,
formatter: row => {
formatter: (row) => {
let editButton = (
<el-button
size="small"
......@@ -208,11 +224,11 @@ export default {
listButtons.push(viewButton);
}
return <div>{listButtons}</div>;
}
}
]
}
},
},
],
},
};
}
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "RoomList",
components: {
drawerShow
},
mixins: [table],
created() {
drawerShow,
},
mixins: [table],
created() {},
methods: {
renderTable(tableData) {
return (
......@@ -35,8 +32,7 @@
label={options.label}
width={options.width}
formatter={options.formatter}
>
</el-table-column>
></el-table-column>
);
},
/** 重写新增方法 */
......@@ -51,14 +47,13 @@
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
/** 子表列元素 */
columnSet:[
{label: "设备编码", prop: "deviceCode", width: 150},
{label: "设备名称", prop: "deviceName", width: 150}
columnSet: [
{ label: "设备编码", prop: "deviceCode", width: 150 },
{ label: "设备名称", prop: "deviceName", width: 150 },
],
config: {
search: [
......@@ -66,20 +61,29 @@
name: "userName",
type: "text",
label: "房间名称",
fuzzy: true
fuzzy: true,
},
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{ 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: "绑定设备",
{
label: "绑定设备",
width: 120,
prop: "subColumns",
formatter: (row) => {
......@@ -89,26 +93,34 @@
return (
<el-popover placement="right" width={widthsize} trigger="click">
{this.renderTable(row.roomDeviceList)}
<el-button type="text" slot="reference">详细</el-button>
<el-button type="text" slot="reference">
详细
</el-button>
</el-popover>
);
},
},
{label: "员工人数", prop: "countPerson", formatter: this.formatter},
{ label: "员工人数", prop: "countPerson", formatter: this.formatter },
{
label: "操作",
width: 240,
formatter: row => {
formatter: (row) => {
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>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "RoomWorkmanList",
components: {
drawerShow
},
mixins: [table],
created() {
drawerShow,
},
mixins: [table],
created() {},
methods: {
/** 重写新增方法 */
toAdd(row) {
......@@ -33,34 +30,50 @@
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
config: {
search: [
],
search: [],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{ 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: "创建用户",
prop: "createUserId",
formatter: this.formatter,
},
{
label: "操作",
width: 240,
formatter: row => {
formatter: (row) => {
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>
<template>
<div class="page">
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig" />
......@@ -26,36 +25,41 @@ export default {
},
],
columns: [
{ type: "index", label: "序号",align:"center", width: 50 },
{ type: "index", label: "序号", align: "center", width: 50 },
{
prop: "userName",
label: "用户名称",
align: "center",
formatter: (row) => (row.userName ? row.userName : "--"),
},
{
prop: "loginName",
label: "用户登录名",
align: "center",
formatter: (row) => (row.loginName ? row.loginName : "--"),
},
{
prop: "requestUrl",
label: "请求地址",
align: "center",
formatter: (row) => (row.requestUrl ? row.requestUrl : "--"),
},
{
prop: "content",
label: "操作内容",
align: "center",
formatter: (row) => (row.content ? row.content : "--"),
},
{
prop: "ip",
label: "操作IP地址",
align: "center",
formatter: (row) => (row.ip ? row.ip : "--"),
},
{
......
<template>
<div className="page">
<el-card>
<LayoutTable notPagination ref="layoutTable" :data="tableData" :config="tableConfig"/>
<LayoutTable
notPagination
ref="layoutTable"
:data="tableData"
:config="tableConfig"
/>
</el-card>
<dialog-show ref="dialogform" @ok="getData"/>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
import {handleTree} from "@/assets/utils/table";
import { handleTree } from "@/assets/utils/table";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import table from "@/assets/mixins/table";
......@@ -17,15 +22,15 @@ import dialogShow from "./dialogshow";
export default {
name: "Menu",
mixins: [table],
components: {Treeselect, dialogShow},
components: { Treeselect, dialogShow },
created() {
this.query={"page":1,"size":-1}
this.query = { page: 1, size: -1 };
},
methods: {
afterRender(data) {
data.data = handleTree(data.data, "id", "parentId");
this.menuOptions = data.data;
this.$refs.layoutTable.showType = "treetable"
this.$refs.layoutTable.showType = "treetable";
},
handleUp(data) {
......@@ -48,7 +53,7 @@ export default {
})
.then((res) => {
if (res && res.code && res.code == 1) {
this.getData()
this.getData();
this.loading = false;
this.$message.success("更新排序成功!");
}
......@@ -70,7 +75,7 @@ export default {
/** 重写编辑方法 */
toEdit(row) {
this.loading = true;
this.$post(this.pageInfo.exclude, {id: row.id})
this.$post(this.pageInfo.exclude, { id: row.id })
.then((res) => {
if (res && res.code && res.code == 1) {
this.menuOptions = handleTree(res.data.data);
......@@ -80,7 +85,7 @@ export default {
})
.catch((error) => {
this.$message.error(error.message);
})
});
},
/** 重写查看方法 */
toView(row) {
......@@ -89,101 +94,103 @@ export default {
// 展示菜单图标
showIcon(row, column) {
return <i class={'el-icon-'+row.imgPath}></i>
return <i class={"el-icon-" + row.imgPath}></i>;
},
handleStatus(row){
if(row.status==1){
this.$post("/menu/change/status", {id:row.id,status:0})
.then(res => {
if(res.code==1){
row.status=0;
handleStatus(row) {
if (row.status == 1) {
this.$post("/menu/change/status", { id: row.id, status: 0 })
.then((res) => {
if (res.code == 1) {
row.status = 0;
}
})
.catch(error => {
.catch((error) => {
this.$message.error(error.message);
})
}else{
this.$post("/menu/change/status", {id:row.id,status:1})
.then(res => {
if(res.code==1){
row.status=1;
});
} else {
this.$post("/menu/change/status", { id: row.id, status: 1 })
.then((res) => {
if (res.code == 1) {
row.status = 1;
}
})
.catch(error => {
.catch((error) => {
this.$message.error(error.message);
})
});
}
},
},
data() {
return {
value: '1',
value: "1",
config: {
isshowTabPane:true,
isshowTabPane: true,
/** 树表是否默认展开 */
expand: false,
showType: "treetable",
search: [],
columns: [
{
type: 'selection',
type: "selection",
width: 60,
},
{
prop: 'id',
label: 'ID',
prop: "id",
label: "ID",
width: 120,
formatter: (row) => (row.id ? row.id : "--"),
},
{
prop: 'name',
label: '名称',
prop: "name",
label: "名称",
width: 160,
formatter: (row) => (row.name ? row.name : "--"),
},
{
prop: 'imgPath',
label: '图标',
prop: "imgPath",
label: "图标",
width: 50,
formatter: this.showIcon,
},
{
prop: 'authType',
label: '权限类型',
prop: "authType",
label: "权限类型",
formatter: this.formatter,
},
{
prop: 'parentId',
label: '父ID',
prop: "parentId",
label: "父ID",
formatter: (row) => (row.parentId ? row.parentId : "--"),
},
{
prop: 'url',
label: '地址',
prop: "url",
label: "地址",
formatter: (row) => (row.url ? row.url : "--"),
},
{
prop: 'status',
label: '状态',
prop: "status",
label: "状态",
width: 100,
formatter: row => {
formatter: (row) => {
return (
<el-switch
value={row.status+""}
value={row.status + ""}
active-color="#13ce66"
inactive-color="#ff4949"
active-value='1'
inactive-value='0'
active-value="1"
inactive-value="0"
onChange={() => {
this.handleStatus(row);
}}
>
</el-switch>
></el-switch>
);
}
},
},
{
label: "操作",
width: 280,
formatter: row => {
formatter: (row) => {
return (
<div>
<el-link
......@@ -200,7 +207,6 @@ export default {
onClick={() => {
this.handleDown(row);
}}
></el-link>
<el-button
......@@ -223,11 +229,11 @@ export default {
/>
</div>
);
}
}
]
}
},
},
],
},
};
}
},
};
</script>
<template>
<div class="page">
<LayoutTable :data='tableData' :config='tableConfig' />
<LayoutTable :data="tableData" :config="tableConfig" />
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
import table from '@/assets/mixins/table';
import table from "@/assets/mixins/table";
import dialogShow from "./dialogshow";
export default {
mixins: [table],
components: {dialogShow },
components: { dialogShow },
methods: {
// 新增
toAdd(row) {
......@@ -21,92 +21,102 @@ export default {
this.$refs.dialogform.edit(row);
},
// 查看
toView(row,) {
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
search: [
{
name: 'name',
type: 'text',
label: '参数名称',
name: "name",
type: "text",
label: "参数名称",
},
],
columns: [
{ type: "selection",reserveSelection:true, width: 60 },
{ type: "index", label: "序号",align:"center", width: 50 },
{ type: "selection", reserveSelection: true, width: 60 },
{ type: "index", label: "序号", align: "center", width: 50 },
{
prop: 'name',
label: '参数名称',
prop: "name",
label: "参数名称",
formatter: (row) => (row.name ? row.name : "--"),
},
{
prop: 'firstOrganize',
label: '一级组织',
prop: "firstOrganize",
label: "一级组织",
formatter: (row) => (row.firstOrganize ? row.firstOrganize : "--"),
},
{
prop: 'secondOrganize',
label: '二级组织',
prop: "secondOrganize",
label: "二级组织",
formatter: (row) =>
row.secondOrganize ? row.secondOrganize : "--",
},
{
prop: 'paramKey',
label: '参数键',
prop: "paramKey",
label: "参数键",
formatter: (row) => (row.paramKey ? row.paramKey : "--"),
},
{
prop: 'paramValue',
label: '参数值',
prop: "paramValue",
label: "参数值",
formatter: (row) => (row.paramValue ? row.paramValue : "--"),
// formatter: this.util_short('paramValue', 20)
},
{
prop: 'validStatus',
label: '有效状态',
prop: "validStatus",
label: "有效状态",
width: 70,
formatter: this.formatter
formatter: this.formatter,
},
{
prop: 'modStatus',
label: '修改状态',
prop: "modStatus",
label: "修改状态",
width: 100,
formatter: this.formatter
formatter: this.formatter,
},
{
prop: 'displayType',
label: '展现类型',
prop: "displayType",
label: "展现类型",
width: 100,
formatter: this.formatter
formatter: this.formatter,
},
{
prop: 'remark',
label: '备注',
prop: "remark",
label: "备注",
formatter: (row) => (row.remark ? row.remark : "--"),
},
{
label: '操作',
label: "操作",
width: 260,
formatter: (row)=> {
formatter: (row) => {
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>
<style lang="css">
.el-tooltip__popper{
.el-tooltip__popper {
display: inline-block;
max-width: 80%;
overflow: hidden;
text-overflow: ellipsis;
white-space: normal ;
white-space: normal;
line-height: 18px;
cursor: pointer;
}
</style>
<template>
<div class="page">
<LayoutTable :data='tableData' :config='tableConfig' />
<LayoutTable :data="tableData" :config="tableConfig" />
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
import table from '@/assets/mixins/table';
import table from "@/assets/mixins/table";
import dialogShow from "./dialogshow";
export default {
mixins: [table],
......@@ -32,34 +32,36 @@ export default {
config: {
search: [
{
name: 'name',
type: 'text',
label: '资源名称',
name: "name",
type: "text",
label: "资源名称",
},
{
name: 'authType',
type: 'select',
label: '权限类型',
name: "authType",
type: "select",
label: "权限类型",
},
],
columns: [
{ type: "selection",reserveSelection:true, width: 60 },
{ type: "index", label: "序号",align:"center", width: 50 },
{ type: "selection", reserveSelection: true, width: 60 },
{ type: "index", label: "序号", align: "center", width: 50 },
// {
// prop: 'id',
// label: 'ID',
// },
{
prop: 'name',
label: '名称',
prop: "name",
label: "名称",
formatter: (row) => (row.name ? row.name : "--"),
},
{
prop: 'url',
label: '资源',
prop: "url",
label: "资源",
formatter: (row) => (row.url ? row.url : "--"),
},
{
prop: 'authType',
label: '认证类型',
prop: "authType",
label: "认证类型",
formatter: this.formatter,
},
......@@ -70,18 +72,22 @@ export default {
// formatter: this.formatter,
// },
{
label: '操作',
label: "操作",
witdh: 120,
formatter: (row)=> {
formatter: (row) => {
return (
<table-buttons noView row={row} onEdit={this.toEdit} onDel={this.toDel} />
)
<table-buttons
noView
row={row}
onEdit={this.toEdit}
onDel={this.toDel}
/>
);
},
},
],
},
}
}
}
};
},
};
</script>
......@@ -186,7 +186,7 @@ export default {
return this.allResources;
}
return new Promise((resolve, reject) => {
this.$post("/resource/list", {size: -1})
this.$post("/resource/list", { size: -1 })
.then(({ data }) => {
resolve(this.groupByAuth(data.data));
})
......@@ -224,8 +224,8 @@ export default {
getRoleAuths(id) {
return new Promise((resolve, reject) => {
this.$post("/role/auth/list", {
"roleId": id,
"size": -1,
roleId: id,
size: -1,
})
.then(({ data }) => {
const result = data.data.map((i) => i.resourceId);
......@@ -281,10 +281,10 @@ export default {
async getUsersoo(userTypeIdVal, loginNameVal, realNameVal) {
const query = {
"size": -1,
"userType": userTypeIdVal,
"loginName": loginNameVal,
"realName": realNameVal,
size: -1,
userType: userTypeIdVal,
loginName: loginNameVal,
realName: realNameVal,
};
return new Promise((resolve, reject) => {
this.$post("/user/list", query)
......@@ -336,8 +336,8 @@ export default {
getRoleUsers(id) {
return new Promise((resolve, reject) => {
this.$post("/role/user/list", {
"roleId": id,
"size": -1,
roleId: id,
size: -1,
})
.then(({ data }) => {
const result = data.data
......@@ -380,8 +380,8 @@ export default {
async saveUser() {
try {
//this.user.form.userIdList = this.user.checkList.join(",");
this.user.form.userIdList = this.user.checkList
await this.$post("/role/user/distributionUser", this.user.form,);
this.user.form.userIdList = this.user.checkList;
await this.$post("/role/user/distributionUser", this.user.form);
this.user.visible = false;
this.user.form = this.initForm();
this.$message.success("操作成功");
......@@ -445,19 +445,20 @@ export default {
type: "text",
label: "角色名",
},
],
columns: [
{ type: "selection",reserveSelection:true, width: 60 },
{ type: "index", label: "序号",align:"center", width: 50 },
{ type: "selection", reserveSelection: true, width: 60 },
{ type: "index", label: "序号", align: "center", width: 50 },
{
prop: "name",
label: "角色名",
formatter: (row) => (row.name ? row.name : "--"),
},
{
prop: "remark",
label: "备注",
formatter: (row) => (row.remark ? row.remark : "--"),
},
// {
// prop: "roleType",
......@@ -483,7 +484,6 @@ export default {
onEdit={this.toEdit}
onDel={this.toDel}
/>{" "}
<el-button
icon="el-icon-share"
size="mini"
......@@ -547,5 +547,3 @@ export default {
margin-top: 20px;
}
</style>
......@@ -41,23 +41,26 @@ export default {
},
],
columns: [
{ type: "selection",reserveSelection:true, width: 60 },
{ type: "index", label: "序号",align:"center", width: 50 },
{ type: "selection", reserveSelection: true, width: 60 },
{ type: "index", label: "序号", align: "center", width: 50 },
{
prop: "name",
label: "任务名称",
align: "center",
formatter: (row) => (row.name ? row.name : "--"),
},
{
prop: "excuteHost",
label: "执行主机",
align: "center",
formatter: (row) => (row.excuteHost ? row.excuteHost : "--"),
},
{
prop: "excuteContainer",
label: "执行容器",
align: "center",
formatter: (row) =>
row.excuteContainer ? row.excuteContainer : "--",
},
{
prop: "excuteStrategy",
......@@ -69,6 +72,8 @@ export default {
prop: "lastExcuteHost",
label: "最后执行主机",
align: "center",
formatter: (row) =>
row.lastExcuteHost ? row.lastExcuteHost : "--",
},
{
prop: "lastExcuteTime",
......@@ -103,5 +108,3 @@ export default {
},
};
</script>
......@@ -110,8 +110,8 @@ export default {
getRoleUsers(id) {
return new Promise((resolve, reject) => {
this.$post("/role/user/list", {
"userId": id,
"size": -1,
userId: id,
size: -1,
})
.then(({ data }) => {
const result = data.data
......@@ -152,22 +152,25 @@ export default {
},
config: {
columns: [
{ type: "selection",reserveSelection:true, width: 60 },
{ type: "index", label: "序号",align:"center", width: 50 },
{ type: "selection", reserveSelection: true, width: 60 },
{ type: "index", label: "序号", align: "center", width: 50 },
{
prop: "loginName",
label: "登录名称",
align: "center",
formatter: (row) => (row.loginName ? row.loginName : "--"),
},
{
prop: "realName",
label: "用户名称",
align: "center",
formatter: (row) => (row.realName ? row.realName : "--"),
},
{
prop: "mobile",
label: "手机号码",
align: "center",
formatter: (row) => (row.mobile ? row.mobile : "--"),
},
{
prop: "roleIds",
......@@ -237,5 +240,3 @@ export default {
},
};
</script>
<template>
<div class="page">
<LayoutTable :data='tableData' :config='tableConfig' notAdd notDel />
<LayoutTable :data="tableData" :config="tableConfig" notAdd notDel />
</div>
</template>
<script>
import table from '@/assets/mixins/table';
import table from "@/assets/mixins/table";
export default {
mixins: [table],
methods: {
},
methods: {},
data() {
return {
config: {
columns: [
{
type: 'selection',
type: "selection",
width: 60,
},
{
prop: 'id',
label: 'ID',
prop: "id",
label: "ID",
width: 60,
formatter: (row) => (row.id ? row.id : "--"),
},
{
prop: 'code',
label: '验证码',
prop: "code",
label: "验证码",
formatter: (row) => (row.code ? row.code : "--"),
},
{
prop: 'url',
label: '校验地址',
prop: "url",
label: "校验地址",
formatter: (row) => (row.url ? row.url : "--"),
},
{
prop: 'mobile',
label: '手机号码',
prop: "mobile",
label: "手机号码",
formatter: (row) => (row.mobile ? row.mobile : "--"),
},
{
prop: 'email',
label: '校验邮箱',
prop: "email",
label: "校验邮箱",
formatter: (row) => (row.email ? row.email : "--"),
},
{
prop: 'type',
label: '校验方式',
prop: "type",
label: "校验方式",
width: 130,
formatter: this.formatter,
},
{
prop: 'sessionId',
label: '会话ID'
prop: "sessionId",
label: "会话ID",
formatter: (row) => (row.sessionId ? row.sessionId : "--"),
},
{
prop: 'ip',
label: 'IP地址'
prop: "ip",
label: "IP地址",
formatter: (row) => (row.ip ? row.ip : "--"),
},
{
prop: 'createTime',
label: '创建时间'
prop: "createTime",
label: "创建时间",
formatter: (row) => (row.createTime ? row.createTime : "--"),
},
{
prop: 'lapseTime',
label: '失效时间'
prop: "lapseTime",
label: "失效时间",
formatter: (row) => (row.lapseTime ? row.lapseTime : "--"),
},
{
label: '操作',
formatter: (row)=> {
label: "操作",
formatter: (row) => {
return (
<table-buttons row={row} onEdit={this.toEdit} onDel={this.toDel} />
)
<table-buttons
row={row}
onEdit={this.toEdit}
onDel={this.toDel}
/>
);
},
},
],
search: [
{
name: 'mobile',
type: 'text',
label: '手机号码',
name: "mobile",
type: "text",
label: "手机号码",
},
]
],
},
}
}
}
};
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
<!-- <el-button
<!-- <el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
......@@ -42,10 +42,11 @@
<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
<el-checkbox
v-model="upload.updateSupport"
/>是否更新已经存在的数据
<el-link type="primary" style="font-size: 14px" @click="downloadTemplate"
<el-checkbox v-model="upload.updateSupport" />是否更新已经存在的数据
<el-link
type="primary"
style="font-size: 14px"
@click="downloadTemplate"
>下载模板</el-link
>
</div>
......@@ -59,7 +60,6 @@
</div>
</el-dialog>
<el-dialog
:title="user.title"
:visible.sync="user.open"
......@@ -70,7 +70,6 @@
<el-form-item label="新密码">
<el-input v-model="newPwd"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitUserForm">确 定</el-button>
......@@ -83,17 +82,16 @@
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "WorkmanList",
components: {
drawerShow
},
mixins: [table],
created() {
drawerShow,
},
mixins: [table],
created() {},
methods: {
/** 导入 */
handleImport() {
......@@ -129,9 +127,15 @@
/** 导出Excel */
doExport() {
this.isExport = true;
this.$download("/workman/exportExcel", {
"idList": this.selection,
}, { type: "excel" }).then(() => this.isExport = false).catch(error => {
this.$download(
"/workman/exportExcel",
{
idList: this.selection,
},
{ type: "excel" }
)
.then(() => (this.isExport = false))
.catch((error) => {
this.isExport = false;
this.$message.error(error.message);
});
......@@ -152,8 +156,8 @@
handleChangePwd(row) {
this.user.title = "修改密码";
this.loginName=row.loginName;
this.newPwd=null;
this.loginName = row.loginName;
this.newPwd = null;
this.user.open = true;
},
......@@ -161,7 +165,7 @@
submitUserForm() {
this.$post("/workman/change/password", {
loginName: this.loginName,
newPwd: this.newPwd
newPwd: this.newPwd,
})
.then((res) => {
if (res.code == 1) {
......@@ -175,12 +179,11 @@
this.$message.error(error.message);
});
},
},
data() {
return {
loginName:null,
newPwd:null,
loginName: null,
newPwd: null,
// 用户导入参数
upload: {
// 是否显示弹出层(工作人员导入)
......@@ -202,13 +205,15 @@
},
isExport: false,
config: {
search: [
],
search: [],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{label: "照片", prop: "photoPath",formatter: (row) => {
{
label: "照片",
prop: "photoPath",
formatter: (row) => {
return row.photoPath != "" ? (
<el-image
style="width: 70px; height: 70px"
......@@ -218,29 +223,63 @@
) : (
"--"
);
},},
{label: "姓名", prop: "name"},
},
},
{label: "所属部门", prop: "deptName"},
{
label: "姓名",
prop: "name",
formatter: (row) => (row.name ? row.name : "--"),
},
{label: "所属房间", prop: "roomName"},
{
label: "所属部门",
prop: "deptName",
formatter: (row) => (row.deptName ? row.deptName : "--"),
},
{label: "职位", prop: "userPost"},
{
label: "所属房间",
prop: "roomName",
formatter: (row) => (row.roomName ? row.roomName : "--"),
},
{label: "电话", prop: "phone"},
{label: "手机", prop: "mobile"},
{
label: "职位",
prop: "userPost",
formatter: (row) => (row.userPost ? row.userPost : "--"),
},
{
label: "电话",
prop: "phone",
formatter: (row) => (row.phone ? row.phone : "--"),
},
{
label: "手机",
prop: "mobile",
formatter: (row) => (row.mobile ? row.mobile : "--"),
},
{label: "工作状态", prop: "workStatus"},
{
label: "工作状态",
prop: "workStatus",
formatter: (row) => (row.workStatus ? row.workStatus : "--"),
},
{
label: "操作",
width: 240,
formatter: row => {
formatter: (row) => {
return (
<div>
<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}
/>
<span> </span>
<el-button
......@@ -250,16 +289,13 @@
>
修改密码
</el-button>
</div>
);
}
}
]
}
};
}
},
},
],
},
};
},
};
</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