Commit 8e749a65 authored by 姬鋆屾's avatar 姬鋆屾

parent 14ba689a
...@@ -20,6 +20,13 @@ ...@@ -20,6 +20,13 @@
>查看</el-button >查看</el-button
> >
<span>&nbsp;</span> <span>&nbsp;</span>
<el-switch
v-if="switchBtn"
@change="$emit('view', row)"
title="核查"
v-model="row.check"
></el-switch>
<span>&nbsp;</span>
<el-button <el-button
v-if="reCheck" v-if="reCheck"
type="text" type="text"
...@@ -63,6 +70,10 @@ export default { ...@@ -63,6 +70,10 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
switchBtn: {
type: Boolean,
default: false,
},
noView: { noView: {
type: Boolean, type: Boolean,
default: false, default: false,
......
...@@ -218,6 +218,7 @@ export default { ...@@ -218,6 +218,7 @@ export default {
async getKaoQin(categoryId) { async getKaoQin(categoryId) {
await this.$post("/perform/rules/list", { await this.$post("/perform/rules/list", {
categoryId, categoryId,
type: this.activeName,
page: this.query.page, page: this.query.page,
orderColList: this.typeArr, orderColList: this.typeArr,
name: this.searchValue, name: this.searchValue,
......
...@@ -15,16 +15,19 @@ ...@@ -15,16 +15,19 @@
> >
<el-row> <el-row>
<el-row style="width: 100%;margin-bottom: 10px;"> <el-row style="width: 100%;margin-bottom: 10px;">
<el-col style="width: 100%;" :span="24"> <el-form-item label="选择部门">
<Field <el-col :span="23">
label="选择部门:" <el-select v-model="form.deptId" style="width: 100%;">
prop="deptId" <el-option
v-model="form.deptId" v-for="item in deptArr"
placeholder="选择部门" :key="item.id"
:enumData="deptGroup" :label="item.deptName"
type="select" :value="item.id"
/> >
</el-col> </el-option
></el-select>
</el-col>
</el-form-item>
</el-row> </el-row>
<el-row style="width: 96%;margin: 0 auto;"> <el-row style="width: 96%;margin: 0 auto;">
<el-tabs v-model="activeName" type="card" @tab-click="handleClick"> <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
...@@ -35,12 +38,16 @@ ...@@ -35,12 +38,16 @@
请选择自动考核指标: 请选择自动考核指标:
</div> </div>
<div class="search_box"> <div class="search_box">
<el-select v-model="type" placeholder="请选择分类"> <el-select
v-model="type"
placeholder="请选择分类"
@change="typeSelect"
>
<el-option <el-option
v-for="item in options" v-for="item in dataArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
style="width: 200px;" style="width: 200px;"
> >
</el-option> </el-option>
...@@ -54,29 +61,14 @@ ...@@ -54,29 +61,14 @@
</div> </div>
</div> </div>
<div class="mid_table"> <div class="mid_table">
<el-table :data="tableData" border style="width: 100%"> <LayoutTable
<el-table-column type="index" label="序号" width="50"> :data="tableData"
</el-table-column> notAdd
<el-table-column notDel
prop="name" notSearch
label="考核内容简称" :config="tableConfig"
width="180" >
> </LayoutTable>
</el-table-column>
<el-table-column prop="simple" label="评分标准">
</el-table-column>
<el-table-column prop="core" label="扣分分值">
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-switch
v-model="scope.row.check"
@change="handleChange(scope.row)"
>
</el-switch>
</template>
</el-table-column>
</el-table>
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -87,12 +79,16 @@ ...@@ -87,12 +79,16 @@
请选择自动考核指标: 请选择自动考核指标:
</div> </div>
<div class="search_box"> <div class="search_box">
<el-select v-model="type" placeholder="请选择分类"> <el-select
v-model="type"
placeholder="请选择分类"
@change="typeSelect"
>
<el-option <el-option
v-for="item in options" v-for="item in dataArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
style="width: 200px;" style="width: 200px;"
> >
</el-option> </el-option>
...@@ -106,29 +102,14 @@ ...@@ -106,29 +102,14 @@
</div> </div>
</div> </div>
<div class="mid_table"> <div class="mid_table">
<el-table :data="tableData" border style="width: 100%"> <LayoutTable
<el-table-column type="index" label="序号" width="50"> :data="tableData"
</el-table-column> notAdd
<el-table-column notDel
prop="name" notSearch
label="考核内容简称" :config="tableConfig"
width="180" >
> </LayoutTable>
</el-table-column>
<el-table-column prop="simple" label="评分标准">
</el-table-column>
<el-table-column prop="core" label="扣分分值">
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-switch
v-model="scope.row.check"
@change="handleChange(scope.row)"
>
</el-switch>
</template>
</el-table-column>
</el-table>
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -139,12 +120,16 @@ ...@@ -139,12 +120,16 @@
请选择自动考核指标: 请选择自动考核指标:
</div> </div>
<div class="search_box"> <div class="search_box">
<el-select v-model="type" placeholder="请选择分类"> <el-select
v-model="type"
placeholder="请选择分类"
@change="typeSelect"
>
<el-option <el-option
v-for="item in options" v-for="item in dataArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
style="width: 200px;" style="width: 200px;"
> >
</el-option> </el-option>
...@@ -158,34 +143,14 @@ ...@@ -158,34 +143,14 @@
</div> </div>
</div> </div>
<div class="mid_table"> <div class="mid_table">
<el-table <LayoutTable
:data="tableData" :data="tableData"
border notAdd
style="width: 100%" notDel
height="520" notSearch
:config="tableConfig"
> >
<el-table-column type="index" label="序号" width="50"> </LayoutTable>
</el-table-column>
<el-table-column
prop="name"
label="考核内容简称"
width="180"
>
</el-table-column>
<el-table-column prop="simple" label="评分标准">
</el-table-column>
<el-table-column prop="core" label="扣分分值">
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-switch
v-model="scope.row.check"
@change="handleChange(scope.row)"
>
</el-switch>
</template>
</el-table-column>
</el-table>
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -196,12 +161,16 @@ ...@@ -196,12 +161,16 @@
请选择自动考核指标: 请选择自动考核指标:
</div> </div>
<div class="search_box"> <div class="search_box">
<el-select v-model="type" placeholder="请选择分类"> <el-select
v-model="type"
placeholder="请选择分类"
@change="typeSelect"
>
<el-option <el-option
v-for="item in options" v-for="item in dataArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
style="width: 200px;" style="width: 200px;"
> >
</el-option> </el-option>
...@@ -215,29 +184,55 @@ ...@@ -215,29 +184,55 @@
</div> </div>
</div> </div>
<div class="mid_table"> <div class="mid_table">
<el-table :data="tableData" border style="width: 100%"> <LayoutTable
<el-table-column type="index" label="序号" width="50"> :data="tableData"
</el-table-column> notAdd
<el-table-column notDel
prop="name" notSearch
label="考核内容简称" :config="tableConfig"
width="180" >
</LayoutTable>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="其他绩效指标" name="5">
<div class="content">
<div class="top">
<div>
请选择自动考核指标:
</div>
<div class="search_box">
<el-select
v-model="type"
placeholder="请选择分类"
@change="typeSelect"
> >
</el-table-column> <el-option
<el-table-column prop="simple" label="评分标准"> v-for="item in dataArr"
</el-table-column> :key="item.id"
<el-table-column prop="core" label="扣分分值"> :label="item.name"
</el-table-column> :value="item.id"
<el-table-column fixed="right" label="操作" width="120"> style="width: 200px;"
<template slot-scope="scope"> >
<el-switch </el-option>
v-model="scope.row.check" </el-select>
@change="handleChange(scope.row)" <el-input
> v-model="keywords"
</el-switch> placeholder="请输入评分标准关键字搜索"
</template> style="width: 200px;margin: 0 10px;"
</el-table-column> ></el-input>
</el-table> <el-button type="primary"> 搜索 </el-button>
</div>
</div>
<div class="mid_table">
<LayoutTable
:data="tableData"
notAdd
notDel
notSearch
:config="tableConfig"
>
</LayoutTable>
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -308,12 +303,23 @@ ...@@ -308,12 +303,23 @@
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import table from "@/assets/mixins/table";
export default { export default {
name: "PerformDeptConfDetail", name: "PerformDeptConfDetail",
mixins: [form], mixins: [form, table],
components: {}, components: {},
created() { created() {
this.changePath("perform/dept/conf"); this.changePath("perform/dept/conf");
// 获取部门列表
this.$post("/dept/list", { page: 1, size: -1 }).then((res) => {
if (res.code == 1) {
this.deptArr = res.data.data;
} else {
this.deptArr = [];
}
});
// this.getKaoQin();
}, },
data() { data() {
return { return {
...@@ -350,28 +356,112 @@ export default { ...@@ -350,28 +356,112 @@ export default {
], ],
type: "", type: "",
keywords: "", keywords: "",
deptArr: [],
config: {
isshowTabPane: false,
search: [],
columns: [
{ type: "index", label: "序号", width: 50 },
{ label: "考核内容简称", prop: "name" },
{ label: "评分标准", prop: "content" },
{ label: "分值", prop: "score" },
{
label: "操作",
width: 100,
formatter: (row) => {
return (
<table-buttons
noAdd
noView
noEdit
noDel
switchBtn
row={row}
onEdit={this.eddRules}
onDel={this.toDelRules}
onView={this.switchChange}
/>
);
},
},
],
},
cateObj: {},
dataArr: [],
}; };
}, },
// watch: {
// query: {
// deep,
// handler(val) {
// console.log(val);
// },
// },
// },
methods: { methods: {
handleChange(val) { typeSelect(val) {
console.log(val); this.getKaoQin(val);
},
async getData() {
await this.$post("/perform/rules/category/list", {
type: this.activeName,
}).then((res) => {
this.getKaoQin(this.cateObj ? this.cateObj.id : "");
if (res.code == 1) {
this.dataArr = res.data.data;
} else {
this.dataArr = [];
}
});
},
async getKaoQin(categoryId) {
await this.$post("/perform/rules/list", {
categoryId,
type: this.activeName,
page: this.query.page,
orderColList: this.typeArr,
name: this.searchValue,
}).then((res) => {
if (res.code == 1) {
this.tableData = res.data;
this.$forceUpdate(this.tableData);
} else {
this.tableData = {};
}
});
},
switchChange(val) {},
handleClick(val) {
this.getData();
}, },
handleClick() {},
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "perform/dept/conf/edit"; // this.urls.currUrl = "perform/dept/conf/edit";
this.$get("/perform/dept/conf/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
} else {
this.form = {};
}
this.open = true;
});
this.getData(); this.getData();
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
this.title = "修改部门自动考核信息"; this.title = "修改部门自动考核信息";
}, },
/** 新增 */ /** 新增 */
add(row) { add(row) {
this.reset(); this.reset();
this.urls.currUrl = "perform/dept/conf/add"; // this.urls.currUrl = "perform/dept/conf/add";
this.getData(); this.getData();
this.open = true;
this.pageInfo.type = "add"; this.pageInfo.type = "add";
this.title = "新增部门自动考核信息"; this.title = "新增部门自动考核信息";
}, },
...@@ -449,7 +539,7 @@ export default { ...@@ -449,7 +539,7 @@ export default {
} }
.content { .content {
width: 100%; width: 100%;
height: 500px; height: 720px;
border: 1px solid #e4e7ed; border: 1px solid #e4e7ed;
border-top: 0; border-top: 0;
padding: 20px; padding: 20px;
......
...@@ -36,6 +36,9 @@ ...@@ -36,6 +36,9 @@
<el-tag style="margin: 0 5px 5px 0" <el-tag style="margin: 0 5px 5px 0"
>效能绩效指标/工作纪律:{{ val.effectCount }}</el-tag >效能绩效指标/工作纪律:{{ val.effectCount }}</el-tag
> >
<el-tag style="margin: 0 5px 5px 0"
>其他绩效指标/工作纪律:{{ val.otherCount }}</el-tag
>
</p> </p>
<p class="goal_txt"> <p class="goal_txt">
<span>最近更新:</span><span>{{ val.createTime }}</span> <span>最近更新:</span><span>{{ val.createTime }}</span>
...@@ -85,6 +88,8 @@ import drawerShow from "./drawershow"; ...@@ -85,6 +88,8 @@ import drawerShow from "./drawershow";
import deptdrawerShow from "./deptdrawershow.vue"; import deptdrawerShow from "./deptdrawershow.vue";
import windowdrawerShow from "./windowdrawershow.vue"; import windowdrawerShow from "./windowdrawershow.vue";
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
import { timestampToTime } from "@/assets/utils/dateFormat.js";
export default { export default {
name: "PerformStaffConfList", name: "PerformStaffConfList",
components: { components: {
...@@ -146,9 +151,12 @@ export default { ...@@ -146,9 +151,12 @@ export default {
await this.$post( await this.$post(
this.type == 1 ? "/perform/dept/conf/list" : "/perform/staff/conf/list" this.type == 1 ? "/perform/dept/conf/list" : "/perform/staff/conf/list"
).then((res) => { ).then((res) => {
console.log(res);
if (res.code == 1) { if (res.code == 1) {
this.dataList = res.data.data; this.dataList = res.data.data;
this.dataList.forEach((v) => {
v.createTime = v.createTime ? timestampToTime(v.createTime, 6) : "";
v.updateTime = v.updateTime ? timestampToTime(v.updateTime, 6) : "";
});
} }
}); });
this.activeName == 2 this.activeName == 2
...@@ -293,7 +301,7 @@ export default { ...@@ -293,7 +301,7 @@ export default {
flex-wrap: wrap; flex-wrap: wrap;
.goal_box { .goal_box {
width: 405px; width: 405px;
height: 270px; height: 310px;
background: inherit; background: inherit;
background-color: rgba(255, 255, 255, 1); background-color: rgba(255, 255, 255, 1);
border: none; border: none;
......
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