Commit 66cdb552 authored by 姬鋆屾's avatar 姬鋆屾

pref:添加人员绩效汇总一张表功能

parent ddcd918e
......@@ -97,11 +97,11 @@ export default {
required: false,
default: () => {},
},
tableRowClassName: {
type: Function,
required: false,
default: () => {},
},
// tableRowClassName: {
// type: Function,
// required: false,
// default: () => {},
// },
loading: {
type: Boolean,
required: false,
......@@ -143,7 +143,7 @@ export default {
// }
},
toggleRowSelection: {
handler: function(v) {
handler: function (v) {
v.forEach((element) => {
this.$refs.eltable.toggleRowSelection(element, true);
});
......@@ -152,7 +152,13 @@ export default {
immediate: true,
},
},
methods: {},
methods: {
tableRowClassName({ row }) {
if (row.dataType == 2) {
return "red";
}
},
},
data() {
return {
emptytxt: "",
......@@ -160,3 +166,8 @@ export default {
},
};
</script>
<style lang="less" scoped>
/deep/.el-table .red {
background: rgba(255, 233, 233);
}
</style>
......@@ -34,6 +34,7 @@
:placeholder="placeholder"
@change="emit"
@input="emit"
:min="min"
v-if="type === 'num'"
></el-input-number>
......@@ -50,7 +51,34 @@
:autosize="textareaSize"
:class="inputClass"
></el-input>
<el-select
v-model="field"
:clearable="true"
@change="salaChange"
v-if="type === 'selectSalaId'"
:placeholder="'请选择大厅'"
>
<el-option
:label="label.deptName"
:value="label.id"
v-for="(label, value) in salaArr"
:key="value"
></el-option>
</el-select>
<el-select
v-model="field"
:clearable="true"
@change="deptChange"
v-if="type === 'selectDeptId'"
:placeholder="'请选择部门'"
>
<el-option
:label="label.deptName"
:value="label.id"
v-for="(label, value) in deptArr"
:key="value"
></el-option>
</el-select>
<!-- 一级 -->
<el-select
:disabled="disabled"
......@@ -60,7 +88,7 @@
:filterable="filterable"
:clearable="clearable"
v-if="type === 'select'"
style="width: 100%;"
style="width: 100%"
>
<el-option
v-for="($label, $value) in enumData"
......@@ -103,7 +131,7 @@
v-for="($label, $value) in enumData"
:key="$value"
:label="$value"
style="margin-bottom: 10px;"
style="margin-bottom: 10px"
>{{ $label }}</el-radio
>
</el-radio-group>
......@@ -112,13 +140,13 @@
v-model="field"
@change="emit"
v-if="type === 'radioCol'"
style="display: flex;margin-top: 12px;"
style="display: flex; margin-top: 12px"
>
<el-radio
v-for="($label, $value) in enumData"
:key="$value"
:label="$value"
style="margin-bottom: 15px;"
style="margin-bottom: 15px"
>{{ $label }}</el-radio
>
</el-radio-group>
......@@ -145,9 +173,35 @@
@change="emit"
@input="emit"
placeholder="选择日期"
style="width: 100%;"
style="width: 100%"
v-if="type === 'date'"
></el-date-picker>
<el-date-picker
:disabled="disabled"
type="month"
v-model="field"
@change="emit"
@input="emit"
placeholder="选择月"
style="width: 100%"
v-if="type === 'month'"
:append-to-body="false"
popper-class="due_month"
value-format="M"
format="M月"
></el-date-picker>
<el-date-picker
:disabled="disabled"
type="year"
v-model="field"
@change="emit"
@input="emit"
placeholder="选择年"
value-format="yyyy"
format="yyyy年"
style="width: 100%"
v-if="type === 'year'"
></el-date-picker>
<el-date-picker
:disabled="disabled"
type="datetime"
......@@ -157,7 +211,7 @@
@input="emit"
placeholder="选择日期"
v-if="type === 'datetime'"
style="width: 100%;"
style="width: 100%"
></el-date-picker>
</slot>
</el-form-item>
......@@ -242,6 +296,14 @@ export default {
maxLength: {
type: Number,
},
min: {
type: Number,
},
},
created() {
if (this.type == "selectDeptId" || this.type == "selectSalaId") {
this.getArr();
}
},
methods: {
emit() {
......@@ -250,15 +312,53 @@ export default {
//this.$emit('focus', this.newVal)
this.$emit("cascaderChange", this.newVal);
},
deptChange() {
this.page = 1;
},
salaChange() {
this.$get("/dept/getDeptBySalaId", { salaId: this.form.salaId })
.then((res) => {
if (res.code == 1) {
this.deptArr = res.data.data;
this.page = 1;
}
})
.catch((error) => {
this.$message.error(error.message);
});
},
getArr() {
this.$get("/dept/getSalaList")
.then((res) => {
if (res.code == 1) {
this.salaArr = res.data.data;
}
})
.catch((error) => {
this.$message.error(error.message);
});
this.$get("/dept/getDeptBySalaId")
.then((res) => {
if (res.code == 1) {
this.deptArr = res.data.data;
console.log(123);
}
})
.catch((error) => {
this.$message.error(error.message);
});
},
},
computed: {
field: {
get() {
if (Array.isArray(this.value)) {
this.value = this.value.map((v) => {
return typeof v == 'number' ? v + "" : v;
return typeof v == "number" ? v + "" : v;
});
}
console.log(this.value);
return this.value;
},
set(val) {
......@@ -270,7 +370,15 @@ export default {
data() {
return {
newVal: this.value,
salaArr: [],
deptArr: [],
page: 1,
};
},
};
</script>
<style lang="less" scoped>
/deep/.due_month .el-date-picker__header {
display: none;
}
</style>
......@@ -77,11 +77,6 @@
v-if="item.type === 'selectDeptId'"
:placeholder="'请选择' + item.label"
>
<!-- <el-option
label=""
value=""
v-if="!item.multiple && !item.notShowAll"
></el-option> -->
<el-option
:label="label.deptName"
:value="label.id"
......
......@@ -151,6 +151,7 @@ const router = new Router({
...restBuilder("feedback/answer/option", "feedback/answer/option"), //回答问题选项
...restBuilder("staff/perform/summary", "staff/perform/summary"), //员工绩效统计汇总
...restBuilder("staff/perform/summary/edit", "staff/perform/summary/edit"), //人员绩效统计汇总
...restBuilder("window/perform/summary", "window/perform/summary"), //窗口绩效统计汇总
...restBuilder("door", "door"), //门禁设备管理
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<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