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

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

parent ddcd918e
...@@ -97,11 +97,11 @@ export default { ...@@ -97,11 +97,11 @@ export default {
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,
...@@ -143,7 +143,7 @@ export default { ...@@ -143,7 +143,7 @@ export default {
// } // }
}, },
toggleRowSelection: { toggleRowSelection: {
handler: function(v) { handler: function (v) {
v.forEach((element) => { v.forEach((element) => {
this.$refs.eltable.toggleRowSelection(element, true); this.$refs.eltable.toggleRowSelection(element, true);
}); });
...@@ -152,7 +152,13 @@ export default { ...@@ -152,7 +152,13 @@ export default {
immediate: true, immediate: true,
}, },
}, },
methods: {}, methods: {
tableRowClassName({ row }) {
if (row.dataType == 2) {
return "red";
}
},
},
data() { data() {
return { return {
emptytxt: "", emptytxt: "",
...@@ -160,3 +166,8 @@ export default { ...@@ -160,3 +166,8 @@ export default {
}, },
}; };
</script> </script>
<style lang="less" scoped>
/deep/.el-table .red {
background: rgba(255, 233, 233);
}
</style>
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
:placeholder="placeholder" :placeholder="placeholder"
@change="emit" @change="emit"
@input="emit" @input="emit"
:min="min"
v-if="type === 'num'" v-if="type === 'num'"
></el-input-number> ></el-input-number>
...@@ -50,7 +51,34 @@ ...@@ -50,7 +51,34 @@
:autosize="textareaSize" :autosize="textareaSize"
:class="inputClass" :class="inputClass"
></el-input> ></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 <el-select
:disabled="disabled" :disabled="disabled"
...@@ -60,7 +88,7 @@ ...@@ -60,7 +88,7 @@
:filterable="filterable" :filterable="filterable"
:clearable="clearable" :clearable="clearable"
v-if="type === 'select'" v-if="type === 'select'"
style="width: 100%;" style="width: 100%"
> >
<el-option <el-option
v-for="($label, $value) in enumData" v-for="($label, $value) in enumData"
...@@ -103,7 +131,7 @@ ...@@ -103,7 +131,7 @@
v-for="($label, $value) in enumData" v-for="($label, $value) in enumData"
:key="$value" :key="$value"
:label="$value" :label="$value"
style="margin-bottom: 10px;" style="margin-bottom: 10px"
>{{ $label }}</el-radio >{{ $label }}</el-radio
> >
</el-radio-group> </el-radio-group>
...@@ -112,13 +140,13 @@ ...@@ -112,13 +140,13 @@
v-model="field" v-model="field"
@change="emit" @change="emit"
v-if="type === 'radioCol'" v-if="type === 'radioCol'"
style="display: flex;margin-top: 12px;" style="display: flex; margin-top: 12px"
> >
<el-radio <el-radio
v-for="($label, $value) in enumData" v-for="($label, $value) in enumData"
:key="$value" :key="$value"
:label="$value" :label="$value"
style="margin-bottom: 15px;" style="margin-bottom: 15px"
>{{ $label }}</el-radio >{{ $label }}</el-radio
> >
</el-radio-group> </el-radio-group>
...@@ -145,9 +173,35 @@ ...@@ -145,9 +173,35 @@
@change="emit" @change="emit"
@input="emit" @input="emit"
placeholder="选择日期" placeholder="选择日期"
style="width: 100%;" style="width: 100%"
v-if="type === 'date'" v-if="type === 'date'"
></el-date-picker> ></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 <el-date-picker
:disabled="disabled" :disabled="disabled"
type="datetime" type="datetime"
...@@ -157,7 +211,7 @@ ...@@ -157,7 +211,7 @@
@input="emit" @input="emit"
placeholder="选择日期" placeholder="选择日期"
v-if="type === 'datetime'" v-if="type === 'datetime'"
style="width: 100%;" style="width: 100%"
></el-date-picker> ></el-date-picker>
</slot> </slot>
</el-form-item> </el-form-item>
...@@ -242,6 +296,14 @@ export default { ...@@ -242,6 +296,14 @@ export default {
maxLength: { maxLength: {
type: Number, type: Number,
}, },
min: {
type: Number,
},
},
created() {
if (this.type == "selectDeptId" || this.type == "selectSalaId") {
this.getArr();
}
}, },
methods: { methods: {
emit() { emit() {
...@@ -250,15 +312,53 @@ export default { ...@@ -250,15 +312,53 @@ export default {
//this.$emit('focus', this.newVal) //this.$emit('focus', this.newVal)
this.$emit("cascaderChange", 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: { computed: {
field: { field: {
get() { get() {
if (Array.isArray(this.value)) { if (Array.isArray(this.value)) {
this.value = this.value.map((v) => { 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; return this.value;
}, },
set(val) { set(val) {
...@@ -270,7 +370,15 @@ export default { ...@@ -270,7 +370,15 @@ export default {
data() { data() {
return { return {
newVal: this.value, newVal: this.value,
salaArr: [],
deptArr: [],
page: 1,
}; };
}, },
}; };
</script> </script>
<style lang="less" scoped>
/deep/.due_month .el-date-picker__header {
display: none;
}
</style>
...@@ -77,11 +77,6 @@ ...@@ -77,11 +77,6 @@
v-if="item.type === 'selectDeptId'" v-if="item.type === 'selectDeptId'"
:placeholder="'请选择' + item.label" :placeholder="'请选择' + item.label"
> >
<!-- <el-option
label=""
value=""
v-if="!item.multiple && !item.notShowAll"
></el-option> -->
<el-option <el-option
:label="label.deptName" :label="label.deptName"
:value="label.id" :value="label.id"
......
...@@ -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("staff/perform/summary/edit", "staff/perform/summary/edit"), //人员绩效统计汇总
...restBuilder("window/perform/summary", "window/perform/summary"), //窗口绩效统计汇总 ...restBuilder("window/perform/summary", "window/perform/summary"), //窗口绩效统计汇总
...restBuilder("door", "door"), //门禁设备管理 ...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