Commit 00cc35d9 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents ba37775e 49da75a0
......@@ -344,6 +344,7 @@ export default {
let newData = { page: 1 };
Object.keys(data).forEach((item) => {
let val = data[item];
console.log(item,this.search)
this.search.forEach((obj) => {
if (
obj.name === item &&
......@@ -363,6 +364,7 @@ export default {
});
newData[item] = this.decodeVal(val);
});
return newData;
},
decodeVal(val) {
......
<template>
<div class="page">
<div style="margin:10px 0">
<div >
<tab-pane
:thirdList="thirdList"
:activeName="activeName"
......@@ -66,14 +66,14 @@
@click="lookexportHis"
>导出记录</el-button
>
<el-button
<!-- <el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
@click="setdialog"
>表格设置</el-button
>
> -->
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<!-- 导出记录查看 -->
......
......@@ -18,13 +18,13 @@
type="success"
@click="lookexportHis"
>导出记录</el-button>
<el-button
<!-- <el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
@click="setdialog"
>表格设置</el-button>
>表格设置</el-button> -->
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<!-- 表格设置 -->
......
......@@ -56,7 +56,7 @@
<el-form-item label="问卷封面:" label-width="125px">
<div style="display: flex;align-items: center;">
<img style="width:80px; height: 80px; margin-right: 10px;cursor: pointer;"
v-for="(i, j) in coverImg" :key="j" :src="ImgUrl + '/' + i.url" alt=""
v-for="(i, j) in coverImg" :key="j" :src="showImgUrl + '/' + i.url" alt=""
:class="selImg == j ? 'selImg' : ''" @click="selImg = j">
<el-upload v-show="coverImg.length < 4" :action="ImgUrl + '/attendance/file/commonupload'"
accept="image/jpeg,image/png,image/jpg" list-type="picture-card" class="upload"
......@@ -185,6 +185,7 @@ export default {
editStyle: false,
loadingstate: false,
ImgUrl: process.env.VUE_APP_API_BASE_URL,
showImgUrl:'',
coverImg: [],
weblink: 0,
......@@ -198,6 +199,13 @@ export default {
}
}
},
created(){
if(process.env.NODE_ENV == "development"){
this.showImgUrl= process.env.VUE_APP_API_BASE_URL
}else{
this.showImgUrl=''
}
},
mounted() {
console.log(process.env.VUE_APP_API_BASE_URL)
this.getDeptData()
......
<template>
<!-- 弹出框表单 -->
<el-drawer
:title="title"
:visible.sync="open"
:direction="direction"
size="50%">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" style="padding:20px">
<el-row>
<Field v-if="from == 'job'" label="分组" prop="groupId" v-model="form.groupId"
:enumData="dict.group" type="select" placeholder="请选择分组"/>
<!-- 弹出框表单 -->
<el-drawer
:title="title"
:visible.sync="open"
:direction="direction"
size="50%"
>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="120px"
style="padding:20px"
>
<el-row>
<Field
v-if="from == 'job'"
label="分组"
prop="groupId"
v-model="form.groupId"
:enumData="dict.group"
type="select"
placeholder="请选择分组"
/>
<Field label="分组名称" prop="groupName" v-model="form.groupName" placeholder="请输入分组名称" :maxLength="10" v-if="from == 'group'"/>
<Field
label="分组名称"
prop="groupName"
v-model="form.groupName"
placeholder="请输入分组名称"
:maxLength="10"
v-if="from == 'group'"
/>
<Field label="职位编码" prop="jobCode" :maxLength="10" v-model="form.jobCode" placeholder="请输入职位编码" v-if="from == 'job'"/>
<Field label="职位名称" prop="jobName" :maxLength="10" v-model="form.jobName" placeholder="请输入职位名称" v-if="from == 'job'" />
<Field
label="职位编码"
prop="jobCode"
:maxLength="10"
v-model="form.jobCode"
placeholder="请输入职位编码"
v-if="from == 'job'"
/>
<Field
label="职位名称"
prop="jobName"
:maxLength="10"
v-model="form.jobName"
placeholder="请输入职位名称"
v-if="from == 'job'"
/>
<Field label="类型" disabled prop="type" v-model="form.type" type="select" :enumData="dict.type" placeholder="请选择类型"/>
<Field label="备注" prop="remark" :maxLength="50" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
</el-row>
<form-buttons @submit='submitForm' noCancelBtn />
</el-form>
</el-drawer>
<Field
label="类型"
disabled
prop="type"
v-model="form.type"
type="select"
:enumData="dict.type"
placeholder="请选择类型"
/>
<Field
label="备注"
prop="remark"
:maxLength="50"
v-model="form.remark"
type="textarea"
placeholder="请输入备注"
/>
</el-row>
<form-buttons @submit="submitForm" noCancelBtn />
</el-form>
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "JobDetail",
mixins: [form],
components: {
},
created() {
this.changePath("job")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "职位信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
],
toDate:[
],
// 表单校验
rules: {
},
from:''
};
},
methods: {
/** 编辑 */
edit(from,row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="job/edit";
this.getData();
this.pageInfo.type="edit"
this.from = from
import form from "@/assets/mixins/formdialog";
export default {
name: "JobDetail",
mixins: [form],
components: {},
created() {
this.changePath("job");
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "职位信息",
// 是否显示弹出层
open: false,
direction: "rtl",
toString: [],
toDate: [],
// 表单校验
rules: {
groupId: [{ required: true, message: "请选择分组", trigger: "change" }],
},
from: "",
};
},
this.title = from === 'group'?"修改分组信息":'修改职位信息';
},
/** 新增 */
add(row) {
console.log(row,'添加')
this.from = row
this.title = row === 'group'?"新增分组信息":'新增职位信息';
this.reset()
this.urls.currUrl = "job/add";
this.getData();
this.pageInfo.type="add"
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="job/view";
this.getData();
this.pageInfo.type="view"
this.title = "职位信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
methods: {
/** 编辑 */
edit(from, row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "job/edit";
this.getData();
this.pageInfo.type = "edit";
this.from = from;
// 固定新增类型
if(this.from == 'group'){
this.form.type = '1'
}else{
this.form.type = '2'
}
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
this.title = from === "group" ? "修改分组信息" : "修改职位信息";
},
/** 新增 */
add(row) {
console.log(row, "添加");
this.from = row;
this.title = row === "group" ? "新增分组信息" : "新增职位信息";
this.reset();
this.urls.currUrl = "job/add";
this.getData();
this.pageInfo.type = "add";
},
/** 查看*/
view(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "job/view";
this.getData();
this.pageInfo.type = "view";
this.title = "职位信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
// 固定新增类型
if (this.from == "group") {
this.form.type = "1";
} else {
this.form.type = "2";
}
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
groupId : null,
groupName : "",
jobCode : "",
jobName : "",
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
// 表单重置
reset() {
this.form = {
groupId: null,
groupName: "",
jobCode: "",
jobName: "",
remark: "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
......@@ -80,7 +80,7 @@ export default {
name: '目标线',
yAxis: this.markLine,
label: {
formatter: '{b}:'+this.legendName+'不高于20.0%,',
formatter: '{b}:' + this.legendName + '不高于20.0%,',
position: 'insideStartTop'
},
lineStyle: {
......@@ -188,6 +188,10 @@ export default {
]
})
}
myChart.on('click', (params)=>{
this.$emit("click",params)
})
},
},
};
......
......@@ -9,17 +9,8 @@
<el-radio-button :label="2">按个人</el-radio-button>
</el-radio-group>
<div class="search_box">
<el-select
v-model="boardQuery.month"
placeholder="请选择"
style="margin: 0 10px;"
>
<el-option
v-for="item in optionsMonths"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-select v-model="boardQuery.month" placeholder="请选择" style="margin: 0 10px;">
<el-option v-for="item in optionsMonths" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<el-button type="primary">搜索</el-button>
......@@ -28,60 +19,30 @@
<div class="mid">
<div class="mid_top">
<div class="jixiaozongfen">
<bar-charts
:title="'绩效总分排名'"
:id="'jixiaozongfen'"
:legendName="'绩效总分'"
:parameter="depStatObj.totalScore"
:styleObj="{ width: '100%', height: '300px' }"
/>
<bar-charts :title="'绩效总分排名'" :id="'jixiaozongfen'" :legendName="'绩效总分'"
:parameter="depStatObj.totalScore" :styleObj="{ width: '100%', height: '300px' }" />
</div>
<div class="jixiaopingjunfen">
<line-charts
:title="'绩效平均分排名'"
:id="'jixiaopingjunfen'"
:parameter="depStatObj.averageScore"
:legendName="'绩效平均分'"
:styleObj="{ width: '100%', height: '300px' }"
/>
<line-charts :title="'绩效平均分排名'" :id="'jixiaopingjunfen'" :parameter="depStatObj.averageScore"
:legendName="'绩效平均分'" :styleObj="{ width: '100%', height: '300px' }" />
</div>
</div>
<div class="mid_down">
<div class="top_10 box">
<bar-charts
:title="'部门加分排名TOP10'"
:id="'top_10'"
:parameter="depStatObj.totalAddScore"
:legendName="'部门加分分值'"
:styleObj="{ width: '100%', height: '300px' }"
/>
<bar-charts :title="'部门加分排名TOP10'" :id="'top_10'" :parameter="depStatObj.totalAddScore"
:legendName="'部门加分分值'" @click="rowClick" :styleObj="{ width: '100%', height: '300px' }" />
</div>
<div class="jiafen box">
<pie-charts
:title="'部门加分整体分布'"
:id="'jiafen'"
:parameter="depStatObj.pieAddScore"
:legendName="'部门加分'"
:styleObj="{ width: '100%', height: '300px' }"
/>
<pie-charts :title="'部门加分整体分布'" :id="'jiafen'" :parameter="depStatObj.pieAddScore" :legendName="'部门加分'"
:styleObj="{ width: '100%', height: '300px' }" />
</div>
<div class="koufen_10 box">
<bar-charts
:title="'部门扣分排名TOP10'"
:id="'koufen_10'"
:parameter="depStatObj.totalSubScore"
:legendName="'部门分值'"
:styleObj="{ width: '100%', height: '300px' }"
/>
<bar-charts :title="'部门扣分排名TOP10'" :id="'koufen_10'" :parameter="depStatObj.totalSubScore"
:legendName="'部门分值'" @click="rowClickSub" :styleObj="{ width: '100%', height: '300px' }" />
</div>
<div class="koufen box">
<pie-charts
:parameter="depStatObj.pieSubScore"
:title="'部门扣分整体分布'"
:id="'koufen'"
:legendName="'部门扣分'"
:styleObj="{ onAssessmentScope2width: '100%', height: '300px' }"
/>
<pie-charts :parameter="depStatObj.pieSubScore" :title="'部门扣分整体分布'" :id="'koufen'" :legendName="'部门扣分'"
:styleObj="{ onAssessmentScope2width: '100%', height: '300px' }" />
</div>
</div>
</div>
......@@ -96,41 +57,20 @@
</el-radio-group>
<div class="search_box">
<el-select v-model="value" @change="deptList" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<el-select
@change="deptList"
v-model="StatQuery.month"
placeholder="请选择"
style="margin: 0 10px;"
>
<el-option
v-for="item in optionsMonths"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-select @change="deptList" v-model="StatQuery.month" placeholder="请选择" style="margin: 0 10px;">
<el-option v-for="item in optionsMonths" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<el-button type="primary" @click="deptList">搜索</el-button>
</div>
</div>
<div class="bar_content">
<bar-charts
:title="`${type1 == 1 ? '各部门' : '个人'}${StatQuery.month}月${alignmentName}对齐情况`"
:id="'bar_content'"
:legendName="alignmentName"
:option="{title:{left:'center',textStyle:{fontSize:24}}}"
:markLine="0.2"
:parameter="depStatObj.alignment"
:styleObj="{ width: '1800px', height: '650px' }"
/>
<bar-charts :title="`${type1 == 1 ? '各部门' : '个人'}${StatQuery.month}月${alignmentName}对齐情况`" :id="'bar_content'"
:legendName="alignmentName" :option="{ title: { left: 'center', textStyle: { fontSize: 24 } } }" :markLine="0.2"
:parameter="depStatObj.alignment" :styleObj="{ width: '1800px', height: '650px' }" />
</div>
</div>
</el-tab-pane>
......@@ -142,48 +82,34 @@
<el-radio-button :label="2">按个人</el-radio-button>
</el-radio-group>
<el-button type="primary" style="margin: 0 20px;" @click="addGoal">
+ 创建目标</el-button
>
+ 创建目标</el-button>
</div>
<div class="mid_content" style="height: auto;">
<div class="goal_box" v-for="(val, i) in dataList" :key="i">
<div class="goal_title">
<img src="../../../../assets/images/u17641.svg" alt="" />
<span>
{{dictString('assessmentType',val.assessmentType)}}{{dictString('compareScope',val.compareScope)}}{{val.ratio}}%
{{ dictString('assessmentType', val.assessmentType) }}{{ dictString('compareScope', val.compareScope) }}{{ val.ratio }}%
</span>
</div>
<p class="goal_txt">
<span>{{ type2 == 1 ? "目标部门:" : "目标个人:" }}</span
><span>{{
<span>{{ type2 == 1 ? "目标部门:" : "目标个人:" }}</span><span>{{
type2 == 1 ? val.deptPerpose : val.staffPerpose
}}</span>
</p>
<p class="goal_txt">
<span>周期:</span><span>{{val.year}} {{dictString('periodType',val.periodType)}}</span>
<span>周期:</span><span>{{ val.year }} {{ dictString('periodType', val.periodType) }}</span>
</p>
<p class="goal_txt">
<span>负责人:</span><span>{{val.leaders}}</span>
<span>负责人:</span><span>{{ val.leaders }}</span>
</p>
<p class="goal_txt">
<span>最近更新:</span><span>{{val.updateTime}}</span>
<span>最近更新:</span><span>{{ val.updateTime }}</span>
</p>
<p class="goal_txt"><span>更新人员:</span><span>{{dictString('updateUserId',val.updateUserId)}}</span></p>
<p class="goal_txt"><span>更新人员:</span><span>{{ dictString('updateUserId', val.updateUserId) }}</span></p>
<div class="button_box">
<el-button
type="primary"
style="width: 150px;"
plain
@click="hanleEdit(val)"
>编辑</el-button
>
<el-button
type="danger"
style="width: 150px;"
plain
@click="hanleDel(val)"
>删除</el-button
>
<el-button type="primary" style="width: 150px;" plain @click="hanleEdit(val)">编辑</el-button>
<el-button type="danger" style="width: 150px;" plain @click="hanleDel(val)">删除</el-button>
</div>
</div>
</div>
......@@ -217,10 +143,10 @@ export default {
},
methods: {
// 个人绩效分数统计
staffStatList(){
staffStatList() {
this.$post("/staff/perform/stat/list", this.boardQuery).then((res) => {
const {code,data,dict} = res
if(code == 1){
const { code, data, dict } = res
if (code == 1) {
const row = data.data || []
// this.statArr = row
const x = []
......@@ -234,10 +160,10 @@ export default {
}
});
// 加分top10
const top10 = {...this.boardQuery,size:10}
const top10 = { ...this.boardQuery, size: 10 }
this.$post("/staff/perform/stat/list", top10).then((res) => {
const {code,data,dict} = res
if(code == 1){
const { code, data, dict } = res
if (code == 1) {
const row = data.data || []
// this.statArr = row
const x = []
......@@ -251,10 +177,10 @@ export default {
}
});
// 减分
const top10Sub = {...this.boardQuery,size:10,orderColList:[{colName:'totalSubScore',sortKind:'desc'}]}
const top10Sub = { ...this.boardQuery, size: 10, orderColList: [{ colName: 'totalSubScore', sortKind: 'desc' }] }
this.$post("/staff/perform/stat/list", top10Sub).then((res) => {
const {code,data,dict} = res
if(code == 1){
const { code, data, dict } = res
if (code == 1) {
const row = data.data || []
// this.statArr = row
const x = []
......@@ -269,10 +195,10 @@ export default {
});
},
// 部门绩效分数统计
statList(){
this.$post("/dept/perform/stat/list",this.boardQuery).then((res) => {
const {code,data,dict} = res
if(code == 1){
statList() {
this.$post("/dept/perform/stat/list", this.boardQuery).then((res) => {
const { code, data, dict } = res
if (code == 1) {
const row = data.data || []
// this.statArr = row
const x = []
......@@ -292,10 +218,10 @@ export default {
}
});
// 加分top10
const top10 = {...this.boardQuery,size:10,orderColList:[{colName:'totalAddScore',sortKind:'desc'}]}
const top10 = { ...this.boardQuery, size: 10, orderColList: [{ colName: 'totalAddScore', sortKind: 'desc' }] }
this.$post("/dept/perform/stat/list", top10).then((res) => {
const {code,data,dict} = res
if(code == 1){
const { code, data, dict } = res
if (code == 1) {
const row = data.data || []
// this.statArr = row
const x = []
......@@ -306,14 +232,14 @@ export default {
});
this.depStatObj.totalAddScore.x = x
this.depStatObj.totalAddScore.y = y
this.depStatObj.totalAddScore.row = row
}
});
// 减分
const top10Sub = {...this.boardQuery,size:10,orderColList:[{colName:'totalSubScore',sortKind:'desc'}]}
const top10Sub = { ...this.boardQuery, size: 10, orderColList: [{ colName: 'totalSubScore', sortKind: 'desc' }] }
this.$post("/dept/perform/stat/list", top10Sub).then((res) => {
const {code,data,dict} = res
if(code == 1){
const { code, data, dict } = res
if (code == 1) {
const row = data.data || []
// this.statArr = row
const x = []
......@@ -328,10 +254,10 @@ export default {
});
},
// 部门目标对齐
deptList(){
deptList() {
this.$post("/perform/perpose/dept/stat/list", this.StatQuery).then((res) => {
const {code,data,dict} = res
if(code == 1){
const { code, data, dict } = res
if (code == 1) {
const row = data.data || []
const x = []
const y = []
......@@ -345,10 +271,10 @@ export default {
});
},
// 个人对齐方式
staffList(){
staffList() {
this.$post("/perform/perpose/staff/stat/list", this.StatQuery).then((res) => {
const {code,data,dict} = res
if(code == 1){
const { code, data, dict } = res
if (code == 1) {
const row = data.data || []
const x = []
const y = []
......@@ -379,9 +305,9 @@ export default {
},
// 目标管理
getData() {
this.$post("/perform/perpose/list",this.query).then((res) => {
console.log(res,"@@@@@@@@@@@@");
const {code,data,dict} = res
this.$post("/perform/perpose/list", this.query).then((res) => {
console.log(res, "@@@@@@@@@@@@");
const { code, data, dict } = res
this.dict = dict || {}
if (code == 1) {
this.dataList = data.data;
......@@ -391,39 +317,64 @@ export default {
});
},
// 字典转换
dictString(key,id){
const keyName = this.dict[key]
return keyName?keyName[id]:""
dictString(key, id) {
const keyName = this.dict[key]
return keyName ? keyName[id] : ""
},
// TAB个人/法人
onAssessmentScope(v){
if(v == 1){
onAssessmentScope(v) {
if (v == 1) {
this.statList()
}else{
} else {
this.staffStatList()
}
},
// 目标看齐
onAssessmentScope1(v){
if(v == 1){
onAssessmentScope1(v) {
if (v == 1) {
this.deptList()
}else{
} else {
this.staffList()
}
},
onAssessmentScope2(v){
if(v == 1){
onAssessmentScope2(v) {
if (v == 1) {
this.query.assessmentScope = 1
}else{
} else {
this.query.assessmentScope = 2
}
this.getData()
},
rowClick(row) {
const { dataIndex } = row
const {attendScoreAdd,reviewScoreAdd,goworkScoreAdd,effectScoreAdd,otherScoreAdd,complainScoreAdd} = this.depStatObj.totalAddScore.row[dataIndex]
this.depStatObj.pieAddScore = [
{ value: attendScoreAdd, name: '考勤绩效' },
{ value: reviewScoreAdd, name: '评价绩效' },
{ value: goworkScoreAdd, name: '办件绩效' },
{ value: effectScoreAdd, name: '效能绩效' },
{ value: complainScoreAdd, name: '投诉绩效' },
{ value: otherScoreAdd, name: '其它绩效' },
]
},
// 减分top10
rowClickSub(row) {
const { dataIndex } = row
const {attendScoreSub,reviewScoreSub,goworkScoreSub,effectScoreSub,complainScoreSub,otherScoreSub} = this.depStatObj.totalAddScore.row[dataIndex]
this.depStatObj.pieSubScore = [
{ value: attendScoreSub, name: '考勤绩效' },
{ value: reviewScoreSub, name: '评价绩效' },
{ value: goworkScoreSub, name: '办件绩效' },
{ value: effectScoreSub, name: '效能绩效' },
{ value: complainScoreSub, name: '投诉绩效' },
{ value: otherScoreSub, name: '其它绩效' },
]
}
},
computed: {
alignmentName:function(){
const obj = this.options.find(v=>v.value == this.value)
alignmentName: function () {
const obj = this.options.find(v => v.value == this.value)
return obj.label
}
},
......@@ -528,63 +479,63 @@ export default {
],
value: "lateRate",//默认显示迟到类型
dataList: [],
depStatObj:{
totalScore:{
x:[],
y:[]
depStatObj: {
totalScore: {
x: [],
y: []
},//绩效总分排名
averageScore:{
x:[],
y:[]
averageScore: {
x: [],
y: []
},//绩效平均排名
totalAddScore:{
x:[],
y:[]
totalAddScore: {
x: [],
y: []
},//加分
totalSubScore:{
x:[],
y:[]
totalSubScore: {
x: [],
y: []
},//减分
alignment:{
x:[],
y:[]
alignment: {
x: [],
y: []
},//目标对齐
pieAddScore:[
{value:0,name:'考勤绩效'},
{value:0,name:'评价绩效'},
{value:0,name:'办件绩效'},
{value:0,name:'效能绩效'},
{value:0,name:'投诉绩效'},
{value:0,name:'其它绩效'},
pieAddScore: [
{ value: 0, name: '考勤绩效' },
{ value: 0, name: '评价绩效' },
{ value: 0, name: '办件绩效' },
{ value: 0, name: '效能绩效' },
{ value: 0, name: '投诉绩效' },
{ value: 0, name: '其它绩效' },
],//部门加分分布
pieSubScore:[
{value:0,name:'考勤绩效'},
{value:0,name:'评价绩效'},
{value:0,name:'办件绩效'},
{value:0,name:'效能绩效'},
{value:0,name:'投诉绩效'},
{value:0,name:'其它绩效'},
pieSubScore: [
{ value: 0, name: '考勤绩效' },
{ value: 0, name: '评价绩效' },
{ value: 0, name: '办件绩效' },
{ value: 0, name: '效能绩效' },
{ value: 0, name: '投诉绩效' },
{ value: 0, name: '其它绩效' },
]//部门减分分布
},//按部门
month:"",//月份
boardQuery:{
page:1,
size:-1,
year:parseInt(moment().format('YYYY')),
month:parseInt(moment().format('MM')),
month: "",//月份
boardQuery: {
page: 1,
size: -1,
year: parseInt(moment().format('YYYY')),
month: parseInt(moment().format('MM')),
},//看板查询条件
query:{
page:1,
size:-1,
assessmentScope:1//考核范围(1.部门,2.个人)
query: {
page: 1,
size: -1,
assessmentScope: 1//考核范围(1.部门,2.个人)
},//目标管理查询条件
StatQuery:{
page:1,
size:-1,
year:parseInt(moment().format('YYYY')),
month:parseInt(moment().format('MM')),
StatQuery: {
page: 1,
size: -1,
year: parseInt(moment().format('YYYY')),
month: parseInt(moment().format('MM')),
},//对齐方式入参
dict:{}//字典
dict: {}//字典
};
},
};
......@@ -594,55 +545,66 @@ export default {
width: 100%;
height: 100%;
overflow: hidden;
/deep/.el-tabs__item {
width: 120px;
font-size: 14px;
text-align: center;
}
.content {
width: 100%;
height: 100%;
.search_top {
width: 100%;
height: 1000%;
display: flex;
justify-content: space-between;
}
/deep/.el-radio-button {
width: 150px;
text-align: center;
border: 1px solid #eee;
}
/deep/.el-radio-button__inner {
width: 150px;
}
/deep/.el-radio-button__orig-radio:checked + .el-radio-button__inner {
/deep/.el-radio-button__orig-radio:checked+.el-radio-button__inner {
width: 150px;
border: none;
background: #1890ff;
color: #fff;
border: 1px solid #eee;
}
.top {
width: 100%;
height: 60px;
}
.mid {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
.mid_top {
width: 100%;
height: 300px;
display: flex;
justify-content: space-between;
.jixiaozongfen,
.jixiaopingjunfen {
width: 48%;
height: 100%;
}
}
.mid_down {
width: 100%;
height: 380px;
......@@ -656,16 +618,19 @@ export default {
}
}
}
.mid_content,
.bar_content {
width: 100%;
height: 700px;
overflow: hidden;
}
.mid_content {
overflow-y: auto;
display: flex;
flex-wrap: wrap;
.goal_box {
width: 405px;
height: 238px;
......@@ -678,14 +643,17 @@ export default {
-webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.117647058823529);
margin: 10px 20px 20px 10px;
padding: 20px;
.goal_title {
width: 100%;
display: flex;
align-items: center;
img {
margin-right: 10px;
}
}
.goal_txt {
font-family: "微软雅黑", sans-serif;
font-weight: 400;
......@@ -695,6 +663,7 @@ export default {
width: 100%;
margin: 10px 0;
}
.button_box {
width: 100%;
display: flex;
......
<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 slot="table-head-left2" style="margin-left: 10px" icon="el-icon-tickets" size="mini" @click="doExport"
:disabled="isExport">导出</el-button>
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
......@@ -26,7 +19,7 @@ export default {
dialogShow,
},
mixins: [table],
created() {},
created() { },
methods: {
/** 导出Excel */
doExport() {
......
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