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

tui

parent 22c7afff
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="50%" append-to-body>
<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.totalScore}}</div>
<div class="m">{{ form.month }}月得分</div>
</div>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="50%" append-to-body>
<div class="userName">
<div class="user-left">
<div class="user-name">
{{ form.staffName }}
</div>
<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">核查时间:{{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 class="user-info">
<span class="user-i">工号:{{ form.workNum }}</span>
<span class="user-i">所属部门:{{ form.deptName }}</span>
</div>
<!-- <el-form ref="form" :model="form" :rules="rules" label-width="120px">
</div>
<div class="user-right">
<div class="n">{{ form.totalScore }}</div>
<div class="m">{{ form.month }}月得分</div>
</div>
</div>
<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_formatters("subMethod", item.subMethod) }}</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>
<!-- <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="人员id" prop="staffId" v-model="form.staffId" placeholder="请输入人员id" />
<Field label="工号" prop="workNum" v-model="form.workNum" placeholder="请输入工号" />
......@@ -57,11 +79,16 @@
</el-row>
</el-form> -->
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<div slot="footer" class="dialog-footer">
<el-button
type="primary"
v-if="pageInfo.type !== 'view'"
@click="submitForm"
>确 定</el-button
>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
......@@ -69,186 +96,183 @@ import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
import moment from "moment";
export default {
mixins: [form],
components: {
dialogShow,
mixins: [form],
components: {
dialogShow,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "员工绩效统计",
// 是否显示弹出层
open: false,
toString: ["month"],
// 表单校验
rules: {
year: [{ required: true, message: "请输入年", trigger: "blur" }],
month: [{ required: true, message: "请输入月", trigger: "blur" }],
},
list: [],
dict: {},
};
},
methods: {
// 日期
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,
}).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;
console.log(row, dict, "22222222222");
}
});
},
/** 编辑 */
edit(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "staff/perform/summary/edit";
this.getData();
this.pageInfo.type = "edit";
this.title = "修改员工绩效统计";
},
/** 新增 */
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;
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "员工绩效统计",
// 是否显示弹出层
open: false,
toString: [
"month",
],
// 表单校验
rules: {
year: [
{ required: true, message: "请输入年", trigger: "blur" },
],
month: [
{ required: true, message: "请输入月", trigger: "blur" },
],
},
list:[],
dict:{}
};
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
methods: {
// 日期
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}).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
console.log(row,dict,"22222222222")
}
});
},
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl = "staff/perform/summary/edit";
this.getData();
this.pageInfo.type = "edit"
this.title = "修改员工绩效统计";
},
/** 新增 */
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;
},
/**获取数据后弹框 */
afterRender(data) {
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,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
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,
};
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;
background: rgba(242, 246, 252, 1);
display: flex;
align-items: center;
padding: 15px;
.user-left {
flex: 1;
}
.user-left {
flex: 1;
}
.user-name {
font-size: 18px;
font-weight: bold;
}
.user-name {
font-size: 18px;
font-weight: bold;
}
.user-info {
margin-top: 10px;
.user-info {
margin-top: 10px;
.user-i {
margin-right: 40px;
}
.user-i {
margin-right: 40px;
}
}
.user-right {
text-align: center;
.user-right {
text-align: center;
.n {
font-size: 16px;
font-weight: bold;
}
.n {
font-size: 16px;
font-weight: bold;
}
.m {
font-size: 12px;
}
.m {
font-size: 12px;
}
}
}
.user-t-item {
margin-top: 20px;
border-left: 4px solid #FF4242;
margin-top: 20px;
border-left: 4px solid #ff4242;
}
.t1 {
border-color: #FF4242;
background: rgba(255, 66, 66, 0.07);
border-color: #ff4242;
background: rgba(255, 66, 66, 0.07);
.user-name,
.n {
color: #FF4242;
}
.user-name,
.n {
color: #ff4242;
}
}
.t2 {
border-color: rgba(27, 198, 167, 1);
background: rgba(27, 198, 167, 0.07);
border-color: rgba(27, 198, 167, 1);
background: rgba(27, 198, 167, 0.07);
.user-name,
.n {
color: rgba(27, 198, 167, 1);
}
.user-name,
.n {
color: rgba(27, 198, 167, 1);
}
}
</style>
\ No newline at end of file
</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