Commit 629c6a1c authored by 姬鋆屾's avatar 姬鋆屾

feated:添加窗口绩效考核一张表

parent 19116c2b
...@@ -151,6 +151,7 @@ const router = new Router({ ...@@ -151,6 +151,7 @@ const router = new Router({
...restBuilder("feedback/answer/option", "feedback/answer/option"), //回答问题选项 ...restBuilder("feedback/answer/option", "feedback/answer/option"), //回答问题选项
...restBuilder("staff/perform/summary", "staff/perform/summary"), //员工绩效统计汇总 ...restBuilder("staff/perform/summary", "staff/perform/summary"), //员工绩效统计汇总
...restBuilder("window/perform/summary", "window/perform/summary"), //窗口绩效统计汇总
...restBuilder("door", "door"), //门禁设备管理 ...restBuilder("door", "door"), //门禁设备管理
......
<template>
<!-- 弹出框表单 -->
<el-dialog
:title="title"
:visible.sync="open"
width="50%"
height="300px"
append-to-body
:close-on-click-modal="false"
:close-on-press-escape="false"
>
<div class="userName">
<div class="user-left">
<div class="user-name">
{{ form.staffName }}
</div>
<div class="user-info">
<span class="user-i">工号:{{ form.workNum }}</span>
<span class="user-i">所属部门:{{ form.deptName }}</span>
</div>
</div>
<div class="user-right">
<!-- <div class="n">{{ form.otherScore }}</div>
<div class="m">{{ form.month }}月自评绩效得分</div> -->
<div class="n" style="margin-top: 10px; color: #409eff">
{{ form.totalScore }}
</div>
<div class="m">{{ form.month }}月绩效得分</div>
<div class="m" style="color: #aaa">
绩效分数更新时间:{{ momentVal(form.updateTime) }}
</div>
</div>
</div>
<div class="dialog_box" v-if="pageInfo.type == 'view'">
<div
class="userName user-t-item"
:class="{ t2: item.subAddType == 1, t1: item.subAddType == 2 }"
v-for="item in list"
:key="item.id"
>
<div class="user-left">
<div class="user-name">
{{ dictVal("checkType", item.checkType) }}
</div>
<div class="user-info">
<span class="user-i">绩效规则:{{ item.ruleName }}</span>
</div>
<div class="user-info">
<span class="user-i"
>{{
item.subAddType == 1
? "加分方式:"
: item.subAddType == 2
? "扣分方式:"
: "方式:"
}}{{ util_formatter("subMethod", item.subMethod) }}</span
>
</div>
<div class="user-info" v-if="item.performType == 'attend'">
<span class="user-i">异常时间:{{ momentVal(item.remark) }}</span>
</div>
<div class="user-info">
<span class="user-i"
>核查时间:{{ momentVal(item.checkTime) }}</span
>
</div>
<div class="user-info" v-if="item.auditStatus == 2">
<span class="user-i"
>核查结果:{{ item.subAddType == 1 ? "+" : "-"
}}{{ item.score }}{{ item.checkResult }}</span
>
</div>
</div>
<div class="user-right">
<div class="n">
{{ item.subAddType == 1 ? "+" : "-"
}}{{ item.auditStatus == 2 ? 0 : item.score }}
</div>
</div>
</div>
</div>
<div class="dialog_box" v-else style="margin-top: 20px">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row v-if="form.label == '备注1'">
<el-col :span="2" style="width: 5.3333%"> <div>备注:</div></el-col>
<el-col :span="22">
<span>
<el-input
type="textarea"
v-model="form.remark"
:autosize="{ minRows: 2, maxRows: 8 }"
placeholder="请输入备注内容"
style="
font-family: 'Microsoft Yahei', 'Helvetica Neue', Helvetica,
STHeiTi, Arial, sans-serif;
"
></el-input>
</span>
</el-col>
</el-row>
<el-row v-if="form.label == '备注2'">
<el-col :span="2" style="width: 5.3333%"> <div>备注:</div></el-col>
<el-col :span="22">
<template v-if="typeof form.remarkAdd != 'string'">
<div
class="attend_box"
v-for="(val, i) in form.remarkAdd"
:key="i"
>
<div class="text_box" style="width: 50%">
<el-autocomplete
class="inline-input"
v-model="val.name"
:fetch-suggestions="querySearch"
placeholder="请输入内容"
@select="handleSelect"
style="width: 100%"
clearable
@clear="handleClear(val)"
@blur="handleBlur"
></el-autocomplete>
</div>
<div class="score_box">
<el-input-number
v-model="val.score"
@blur="handleBlur"
@change="handleBlur"
controls-position="right"
></el-input-number>
</div>
<div class="icon_box">
<i
class="el-icon-circle-plus-outline"
style="
width: 100%;
height: 100%;
font-size: 30px;
color: #409eff;
margin-right: 10px;
"
@click="handlePlus"
v-if="i + 1 == form.remarkAdd.length"
></i>
<i
class="el-icon-remove-outline"
@click="handleRemove(i)"
style="
width: 100%;
height: 100%;
font-size: 30px;
color: #f56c6c;
"
></i>
</div>
</div>
</template>
</el-col>
</el-row>
</el-form>
</div>
<div
slot="footer"
class="dialog-footer"
style="display: flex; align-items: center"
>
<el-col :span="20">
<el-col :span="4" style="width: 15.7%" v-if="form.label == '备注2'">
<div>当前累计加分:</div></el-col
>
<el-col :span="1" v-if="form.label == '备注2'" style="text-align: left">
<span style="color: #f56c6c; font-weight: 600">
{{ form.addTotalScore ? form.addTotalScore : 0 }}
</span>
</el-col>
</el-col>
<el-button
type="primary"
v-if="pageInfo.type !== 'view'"
@click="submitForm"
>确 定</el-button
>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
import moment from "moment";
export default {
mixins: [form],
components: {
dialogShow,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "员工绩效统计",
// 是否显示弹出层
open: false,
toString: ["month"],
// 表单校验
rules: {},
list: [],
dict: {},
rulesList: [],
};
},
methods: {
handleBlur() {
this.form.addTotalScore = 0;
this.form.remarkAdd && this.form.remarkAdd.length > 0
? this.form.remarkAdd.forEach((v) => {
if (v.name && v.name != "") {
v.score ? v.score : (v.score = 0);
this.form.addTotalScore += v.score;
}
})
: "";
this.form.addTotalScore = this.form.addTotalScore.toFixed(2);
this.$forceUpdate();
},
handlePlus() {
this.form.remarkAdd.push({
name: "",
score: 0,
});
},
handleRemove(i) {
if (i == 0 && this.form.remarkAdd.length == 1) {
this.form.remarkAdd = [
{
name: "",
score: 0,
},
];
} else {
this.form.remarkAdd = this.form.remarkAdd.filter(
(v, index) => index != i
);
}
this.handleBlur();
},
handleClear(val) {
val.name = "";
val.score = 0;
},
handleSelect(item) {
this.form.remarkAdd.forEach((val) => {
this.rulesList.forEach((v) => {
if (val.name == v.value) {
v.subAddType == 2
? (val.score = Number("-" + v.score))
: (val.score = Number("+" + v.score));
}
});
});
this.handleBlur();
},
querySearch(queryString, cb) {
let rulesList = this.rulesList;
let results = queryString
? rulesList.filter(this.createFilter(queryString))
: rulesList;
// 调用 callback 返回建议列表的数据
cb(results);
},
createFilter(queryString) {
return (rule) => {
return (
rule.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0
);
};
},
// 日期
momentVal(v) {
return moment(v).format("YYYY-MM-DD HH:SS");
},
// 字典转换
dictVal(key, val) {
return this.dict[key][val];
},
/** 查看汇总 */
checkAll(id) {
this.$post("/check/all/record/list", {
checkStatus: 2,
staffId: id,
checkTimeStart: this.$route.query.yearmonth
? this.$route.query.yearmonth + "-01"
: "",
checkTimeEnd: this.$route.query.yearmonth
? this.$route.query.yearmonth + "-31"
: "",
}).then((res) => {
const { code, data, dict } = res;
if (code == 1) {
const row = data.data || [];
//deductTime申诉时间 checkTime 核查时间 ruleName规则checkType字典 subAddType:1增加2减score
this.list = row;
this.dict = dict;
this.open = true;
}
});
},
/** 编辑 */
async edit(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "staff/perform/summary/edit";
this.pageInfo.type = "edit";
this.title = "员工绩效统计";
await this.getData();
row.label && row.label != "" ? (this.form.label = row.label) : "";
this.$nextTick(async () => {
if (row.label == "备注2") {
await this.$post("/perform/rules/list", { size: -1 }).then(
async (res) => {
if (res.code == 1) {
this.rulesList = res.data.data;
this.rulesList && this.rulesList.length > 0
? this.rulesList.forEach((v) => {
v.value = v.name + "--" + v.content;
})
: "";
if (
this.form.remarkAdd === "[]" ||
this.form.remarkAdd == undefined ||
this.form.remarkAdd == null ||
this.form.remarkAdd.length == 0 ||
this.form.remarkAdd == ""
) {
this.form.remarkAdd = [
{
name: "",
score: 0,
},
];
console.log(this.form.remarkAdd);
this.handleBlur();
this.$forceUpdate();
} else {
this.handleBlur();
this.$forceUpdate();
}
}
}
);
}
});
},
/** 新增 */
add(row) {
this.reset();
this.urls.currUrl = "staff/perform/summary/add";
this.getData();
this.pageInfo.type = "add";
this.title = "新增员工绩效统计";
},
/** 查看*/
view(row) {
this.reset();
this.query = {
id: row.id,
};
this.urls.currUrl = "staff/perform/summary/view";
this.getData();
this.pageInfo.type = "view";
this.title = "员工绩效统计详细";
this.checkAll(row.staffId);
},
/**取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/**获取数据后弹框 */
afterRender(data) {
this.pageInfo.type != "view" ? (this.open = true) : "";
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
staffId: 0,
workNum: "",
staffName: "",
deptId: 0,
deptName: "",
attendScore: null,
assessScore: null,
workScore: null,
effectScore: null,
otherScore: null,
errorScore: null,
totalScore: null,
remark: "",
year: null,
month: null,
remarkAdd: "[]",
addTotalScore: 0,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<style lang="less" scoped>
.userName {
background: rgba(242, 246, 252, 1);
display: flex;
align-items: center;
padding: 15px;
.user-left {
flex: 1;
}
.user-name {
font-size: 18px;
font-weight: bold;
}
.user-info {
margin-top: 10px;
.user-i {
margin-right: 40px;
}
}
.user-right {
text-align: center;
.n {
font-size: 16px;
font-weight: bold;
}
.m {
font-size: 12px;
}
}
}
.user-t-item {
margin-top: 20px;
border-left: 4px solid #ff4242;
}
.t1 {
border-color: #ff4242;
background: rgba(255, 66, 66, 0.07);
.user-name,
.n {
color: #ff4242;
}
}
.t2 {
border-color: rgba(27, 198, 167, 1);
background: rgba(27, 198, 167, 0.07);
.user-name,
.n {
color: rgba(27, 198, 167, 1);
}
}
/deep/.el-dialog__body {
height: 650px;
.dialog_box {
height: 85%;
overflow-y: auto;
.attend_box {
display: flex;
align-items: center;
margin-bottom: 20px;
.score_box {
margin: 0 15px;
}
.icon_box {
display: flex;
}
/deep/.el-input__inner {
width: 100%;
}
}
/deep/.el-autocomplete {
width: 100% !important;
}
}
/deep/.el-textarea input::-moz-input-placeholder {
font-family: "Microsoft Yahei", "Helvetica Neue", Helvetica, STHeiTi, Arial,
sans-serif !important;
}
/deep/.el-textarea input::-webkit-input-placeholder {
font-family: "Microsoft Yahei", "Helvetica Neue", Helvetica, STHeiTi, Arial,
sans-serif !important;
}
}
</style>
<template>
<div class="page">
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig">
<el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
@click="doExport"
:disabled="isExport"
>导出</el-button
>
<!-- <el-button
type="primary"
size="mini"
slot="table-head-left2"
v-if="showBtn"
style="margin-left: 10px"
@click="handleRefresh"
:loading="btnFreshLoading"
>手动更新</el-button
> -->
<span class="freshTime" slot="table-head-left2">
<span>
当前为
<span style="color: #1c75dd"
>{{ this.query.yearmonth ? this.query.yearmonth : "--" }}
</span>
入驻部门窗口绩效考核明细</span
>
</span>
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<div class="mask" v-if="progress">
<el-progress :stroke-width="26" :percentage="percent"></el-progress>
</div>
<el-dialog
title="系统提示"
:visible.sync="dialogOpen"
width="500px"
append-to-body
@close="cancleFresh"
:close-on-press-escape="false"
:close-on-click-modal="false"
:show-close="false"
>
<div class="fresh_box" v-if="showContent">
<div class="title_box" style="margin-bottom: 20px">
仅支持手动更新月度绩效数据,请选择需要更新的月份:
</div>
<el-date-picker
v-model="freshDate"
type="month"
format="yyyy 年 MM 月"
value-format="yyyy-MM"
placeholder="请选择月"
>
</el-date-picker>
</div>
<div class="fresh_box" v-else>
<div
class="title_box"
style="margin-bottom: 20px; line-height: 30px"
v-if="showTip"
>
请确认是否开始进行{{ freshDate }}的绩效数据重新汇总;此过程预计需要
<span style="color: #ff0000">15</span> 分钟,请勿关闭或刷新页面
</div>
<div
class="title_box"
style="margin-bottom: 20px; line-height: 30px"
v-else
>
正在进行{{ freshDate }}的绩效数据重新汇总;此过程预计还需要
<span style="color: #ff0000">{{ restTime }}</span>
分钟,请勿关闭或刷新页面
</div>
</div>
<div slot="footer" class="dialog-footer" v-if="showTip">
<el-button
type="primary"
@click="() => (showContent = false)"
v-if="showContent"
>确 定</el-button
>
<el-button
type="primary"
@click="submitFresh"
v-else
:loading="submitLoad"
>确 定</el-button
>
<el-button @click="cancleFresh">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
import { timestampToTime } from "@/assets/utils/dateFormat.js";
export default {
name: "StaffPerformSummaryList",
components: {
dialogShow,
},
mixins: [table],
created() {},
methods: {
countDown() {
if (this.percent == 95) {
if (this.selection.length > 0) {
this.query["idList"] = this.selection;
}
this.$download(
"/window/perform/summary/exportExcel",
{
...this.query,
page: 1,
size: -1,
},
{ type: "excel", name: "窗口绩效汇总" }
)
.then(() => {
this.percent = 100;
this.progress = false;
this.isExport = false;
})
.catch((error) => {
this.isExport = false;
this.progress = false;
this.$message.error(error.message);
});
return;
} else {
this.percent = this.percent + 1;
let that = this;
setTimeout(function () {
that.countDown();
}, 200);
}
},
/** 导出Excel */
doExport() {
this.isExport = true;
this.progress = true;
this.percent = 0;
this.countDown();
},
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
afterRender(data) {
this.query.yearmonth
? this.query.yearmonth
: (this.query.yearmonth = timestampToTime(Date.parse(new Date()), 2));
return data;
},
handleRefresh() {
this.dialogOpen = true;
this.btnFreshLoading = true;
},
submitFresh() {
if (this.freshDate) {
this.submitLoad = true;
this.$post("/window/perform/summary/summary", {
checkTimeStart: this.freshDate + "-01",
checkTimeEnd: this.freshDate + "-31",
})
.then((res) => {
if (res.code == 1) {
// this.$message.success(res.msg);
this.showTip = false;
this.btnFreshLoading = false;
this.submitLoad = false;
this.endTime = Date.parse(new Date()) + 15 * 60 * 1000;
this.countdown();
}
})
.catch((error) => {
this.$message.error(res.msg);
this.submitLoad = false;
this.dialogOpen = false;
this.btnFreshLoading = false;
this.showContent = true;
this.showTip = true;
this.freshDate = "";
});
} else {
this.$message.error("请选择需要更新的月份!");
}
},
cancleFresh() {
this.dialogOpen = false;
this.btnFreshLoading = false;
this.showContent = true;
this.showTip = true;
this.freshDate = "";
},
//倒计时
countdown() {
let now = Date.parse(new Date());
let msec = this.endTime - now;
if (msec < 0) return;
// let day = parseInt(msec / 1000 / 60 / 60 / 24);
let hr = parseInt((msec / 1000 / 60 / 60) % 24);
let min = parseInt((msec / 1000 / 60) % 60);
let sec = parseInt((msec / 1000) % 60);
min = min > 9 ? min : "0" + min;
sec = sec > 9 ? sec : "0" + sec;
this.restTime = min + "" + sec + "";
const that = this;
if (min >= 0 && sec >= 0) {
if (min == 0 && sec == 0) {
this.submitLoad = false;
this.dialogOpen = false;
this.btnFreshLoading = false;
this.showContent = true;
this.showTip = true;
this.freshDate = "";
this.getData();
return;
}
setTimeout(function () {
that.countdown();
}, 1000);
}
},
handleCellClick(row, column, event, cell) {
if (column.label == "备注1" || column.label == "备注2") {
row.label = column.label;
this.toEdit(row);
}
},
// 表格内下拉选框得触发事件
async handleChange(v, row) {
let obj = { ...row };
await this.$post("/window/perform/summary/save", obj).then((res) => {
const { code, msg } = res;
code == 1 ? this.$message.success(msg) : this.$message.error(msg);
this.getData();
});
},
},
data() {
return {
toString: ["suggestion"],
endTime: "",
restTime: "15",
freshDate: "",
btnFreshLoading: false,
sortList: "",
dialogOpen: false,
isExport: false,
showBtn: true,
showTip: true,
showContent: true,
submitLoad: false,
progress: false,
percent: 0,
config: {
isshowTabPane: true,
search: [
{
name: "yearmonth",
type: "month",
label: "请选择月份",
fuzzy: false,
},
{
name: "suggestion",
type: "select",
label: "评选建议",
fuzzy: false,
},
{
name: "deptName",
type: "text",
label: "进驻部门名称关键字搜索",
fuzzy: true,
},
],
columns: [
{ type: "selection", width: 60, fixed: "left" },
{ type: "index", label: "序号", width: 50, fixed: "left" },
{
label: "入驻部门(单位名称)",
prop: "deptName",
formatter: this.formatter,
fixed: "left",
width: 300,
},
{
label: "窗口建设得分",
prop: "ckjsdf",
sortable: true,
formatter: (row) => {
return (
<el-input-number
v-model={row.ckjsdf}
placeholder="请输入得分"
clearable
controls={false}
onChange={(v) => this.handleChange(v, row)}
></el-input-number>
);
},
},
{
label: "重点任务推进得分",
prop: "zdrwdf",
sortable: true,
formatter: (row) => {
return (
<el-input-number
v-model={row.zdrwdf}
placeholder="请输入得分"
controls={false}
clearable
onChange={(v) => this.handleChange(v, row)}
></el-input-number>
);
},
},
{
label: "加分",
prop: "addTotalScore",
sortable: true,
formatter: (row) => {
return (
<el-input-number
v-model={row.addTotalScore}
placeholder="请输入加分"
controls={false}
clearable
onChange={(v) => this.handleChange(v, row)}
></el-input-number>
);
},
},
{
label: "合计得分",
prop: "sumScore",
sortable: true,
},
{
label: "评选建议",
prop: "suggestion",
formatter: (row) => {
const options = [
{
label: "",
value: 0,
},
{
label: "红旗窗口",
value: 1,
},
];
return (
<el-select
v-model={row.suggestion}
placeholder="请选择"
clearable
onChange={(v) => this.handleChange(v, row)}
>
{options.map((item) => (
<el-option
key={item.value}
value={item.value}
label={item.label}
/>
))}
</el-select>
);
},
},
{
label: "备注",
prop: "remark",
width: 380,
formatter: (row) => {
return (
<el-input
v-model={row.remark}
placeholder="请输入备注"
clearable
onChange={(v) => this.handleChange(v, row)}
></el-input>
);
},
},
],
},
};
},
};
</script>
<style lang="less" scoped>
.mask {
width: 100%;
height: 100vh;
position: fixed;
top: 0;
left: 0;
z-index: 99;
padding: 0 30%;
padding-top: 20%;
background: rgba(0, 0, 0, 0.6);
}
::v-deep .el-progress__text {
color: #409eff;
font-weight: 600;
}
::v-deep.el-dialog__wrapper {
overflow: hidden;
top: -50px;
}
.freshTime {
color: #999;
font-size: 14px;
}
</style>
<template>
<layout-view>
<el-descriptions
:title="title"
:column="column"
:size="size"
:colon="false"
border
>
<template slot="title">
<i class="el-icon-tickets"></i>
基本详细信息
</template>
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small"
>返回</el-button
>
</template>
<el-descriptions-item
label="人员id"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.staffId }}
</el-descriptions-item>
<el-descriptions-item
label="工号"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.workNum }}
</el-descriptions-item>
<el-descriptions-item
label="人员名称"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.staffName }}
</el-descriptions-item>
<el-descriptions-item
label="部门id号"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.deptId }}
</el-descriptions-item>
<el-descriptions-item
label="部门名称"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.deptName }}
</el-descriptions-item>
<el-descriptions-item
label="考勤绩效指标分数"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.attendScore }}
</el-descriptions-item>
<el-descriptions-item
label="评价绩效指标分数"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.assessScore }}
</el-descriptions-item>
<el-descriptions-item
label="办件绩效分数"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.workScore }}
</el-descriptions-item>
<el-descriptions-item
label="效能绩效分数"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.effectScore }}
</el-descriptions-item>
<el-descriptions-item
label="自评绩效分数"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.otherScore }}
</el-descriptions-item>
<el-descriptions-item
label="累计异常分数"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.errorScore }}
</el-descriptions-item>
<el-descriptions-item
label="当月得分数"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.totalScore }}
</el-descriptions-item>
<el-descriptions-item
label="备注"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.remark }}
</el-descriptions-item>
<el-descriptions-item
label="年"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.year }}
</el-descriptions-item>
<el-descriptions-item
label="月"
label-class-name="labelClass"
content-class-name="contentClass"
>
{{ form.month }}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<script>
import view from "@/assets/mixins/view";
export default {
mixins: [view],
components: {},
methods: {},
data() {
return {
size: "small",
column: 2,
toString: ["month"],
toArrays: [],
toDate: [],
};
},
};
</script>
<style lang="less">
.labelClass {
width: 200px;
}
.el-descriptions__body {
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #fff;
}
.contentClass {
width: 600px;
}
</style>
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