Browse Source

添加接口文件

master
YF-yuan 3 years ago
parent
commit
6b06042bd9
16 changed files with 1478 additions and 2 deletions
  1. +13
    -0
      src/api/second/taskSummary.js
  2. +0
    -0
      src/views/second/assessmentResults/results/basicTable.vue
  3. +131
    -0
      src/views/second/assessmentResults/results/basicTarget.vue
  4. +130
    -0
      src/views/second/assessmentResults/results/constraint.vue
  5. +45
    -0
      src/views/second/assessmentResults/results/index.vue
  6. +135
    -0
      src/views/second/assessmentResults/results/reward.vue
  7. +155
    -0
      src/views/second/assessmentResults/results/search.vue
  8. +123
    -0
      src/views/second/assessmentResults/scoreChart.vue
  9. +198
    -0
      src/views/second/assessmentResults/scoreRules/basicTarget.vue
  10. +126
    -0
      src/views/second/assessmentResults/scoreRules/constraint.vue
  11. +45
    -0
      src/views/second/assessmentResults/scoreRules/index.vue
  12. +172
    -0
      src/views/second/assessmentResults/scoreRules/reward.vue
  13. +0
    -0
      src/views/second/assessmentResults/scoreRules/scoreRules.vue
  14. +165
    -0
      src/views/second/assessmentResults/scoreRules/search.vue
  15. +37
    -0
      src/views/second/assessmentResults/tab.vue
  16. +3
    -2
      src/views/second/taskSummary/basicTable.vue

+ 13
- 0
src/api/second/taskSummary.js View File

@@ -0,0 +1,13 @@
import axios from "@/config/axios"

export default {
getBasicTableList(params) {
return axios.get('/basictaskitem/getBasicTaskItemTableList', { params })
},
getRewardList(params) {
return axios.get('/rigidityconstraintitem/getRigidityConstraintItemTableList', { params })
},
getContraintList(params) {
return axios.get('/rigidityconstraintitem/getRigidityConstraintItemTableList', { params })
},
}

+ 0
- 0
src/views/second/assessmentResults/results/basicTable.vue View File


+ 131
- 0
src/views/second/assessmentResults/results/basicTarget.vue View File

@@ -0,0 +1,131 @@
<template>
<div class="basic-target" v-loading="loading">
<search :type="1" />
<div class="operating">
<el-button size="small" type="primary">导入</el-button>
<el-button size="small" type="primary">导出</el-button>
</div>
<el-table
:data="dataList"
border
highlight-current-row
:height="tableHeight"
ref="table"
>
<el-table-column type="index" label="序号" align="center" width="50">
</el-table-column>
<el-table-column
label="一级指标"
min-width="80"
align="center"
prop="quota1"
></el-table-column>

<el-table-column
label="二级指标"
min-width="80"
align="center"
prop="quota2"
></el-table-column>

<el-table-column
label="考核内容和计分细则"
align="center"
min-width="400"
prop="content"
></el-table-column>
<el-table-column
label="小条内容"
align="center"
min-width="150"
prop="content"
></el-table-column>
<el-table-column
label="分值"
min-width="60"
align="center"
prop="points"
></el-table-column>

<el-table-column
label="区牵头单位"
min-width="95 "
align="center"
prop="leaderUnit"
></el-table-column>

<el-table-column label="牵头部门" min-width="80" align="center">
<template slot-scope="{ row }">
<span>{{ row.leaderDeptList | formatList }}</span>
</template>
</el-table-column>

<el-table-column label="责任领导" min-width="80" align="center">
<template slot-scope="{ row }">
{{ row.leaderPrincipalList | formatList }}
</template>
</el-table-column>
<el-table-column label="配合部门" min-width="80" align="center">
<template slot-scope="{ row }">
<span>{{ row.leaderDeptList | formatList }}</span>
</template>
</el-table-column>

<el-table-column label="责任领导" min-width="80" align="center">
<template slot-scope="{ row }">
{{ row.leaderPrincipalList | formatList }}
</template>
</el-table-column>
</el-table>
<el-pagination
:current-page.sync="page.page"
:page-size="page.limit"
:total="count"
:background="true"
layout="total, prev, pager, next, jumper"
:pager-count="5"
class="ele-pagination-circle"
:flat="true"
@current-change="getDataList()"
/>
</div>
</template>

<script>
import search from "./search";
export default {
components: {
search,
},
data() {
return {
dataList: [[]],
tableHeight: document.documentElement.clientHeight - 305,
page: {
page: 1,
limit: Math.floor(
(document.documentElement.clientHeight - 305 - 45) / 45
),
},
count: 0,
showEdit: false,
loading: false,
form:{}
};
},
methods: {
getDataList() {},
save() {},
},
filters: {
formatList(val) {
if (val) {
return val.join(",");
}
},
},
};
</script>

<style>
</style>

+ 130
- 0
src/views/second/assessmentResults/results/constraint.vue View File

@@ -0,0 +1,130 @@
<template>
<div class="constraint" v-loading="loading">
<search :type="3" />
<div class="operating">
<el-button size="small" type="primary">导入</el-button>
<el-button size="small" type="primary">导出</el-button>
</div>
<el-table
:data="dataList"
border
highlight-current-row
:height="tableHeight"
ref="table"
>
<el-table-column type="index" label="序号" align="center" width="50">
</el-table-column>

<el-table-column
label="考核指标"
min-width="80"
align="center"
prop="quota"
></el-table-column>

<el-table-column
label="考核内容和计分细则"
align="center"
min-width="400"
prop="content"
></el-table-column>
<el-table-column
label="小条内容"
align="center"
min-width="150"
prop="content"
></el-table-column>
<el-table-column
label="分值"
min-width="60"
align="center"
prop="points"
></el-table-column>

<el-table-column
label="区牵头单位"
min-width="95 "
align="center"
prop="leaderUnit"
></el-table-column>

<el-table-column label="牵头部门" min-width="80" align="center">
<template slot-scope="{ row }">
<span>{{ row.leaderDeptList | formatList }}</span>
</template>
</el-table-column>

<el-table-column label="责任领导" min-width="80" align="center">
<template slot-scope="{ row }">
{{ row.leaderPrincipalList | formatList }}
</template>
</el-table-column>
<el-table-column label="配合部门" min-width="80" align="center">
<template slot-scope="{ row }">
<span>{{ row.leaderDeptList | formatList }}</span>
</template>
</el-table-column>

<el-table-column label="责任领导" min-width="80" align="center">
<template slot-scope="{ row }">
{{ row.leaderPrincipalList | formatList }}
</template>
</el-table-column>
</el-table>

<el-pagination
:current-page.sync="page.page"
:page-size="page.limit"
:total="count"
:background="true"
layout="total, prev, pager, next, jumper"
:pager-count="5"
class="ele-pagination-circle"
:flat="true"
@current-change="getDataList()"
/>
</div>
</template>

<script>
import search from "./search";
export default {
components: {
search,
},
data() {
return {
dataList: [[]],
tableHeight: document.documentElement.clientHeight - 310,
page: {
page: 1,
limit: Math.floor(
(document.documentElement.clientHeight - 310 - 45) / 45
),
},
count: 0,
showEdit: false,
loading: false,
form:{}
};
},
methods: {
getDataList() {},
edit() {
this.showEdit = true;
},
save() {},
},
filters: {
formatList(val) {
if (val) {
return val.join(",");
}
},
},
};
</script>

<style>
</style>

+ 45
- 0
src/views/second/assessmentResults/results/index.vue View File

@@ -0,0 +1,45 @@
<template>
<div class="apply-cooperation ele-body">
<el-card shadow="never" element-loading-background="rgba(255, 255, 255, 1)">
<tab @update:type="type = $event.type" />
<div :is="currentComponent"></div>
</el-card>
</div>
</template>

<script>
import search from "../../search"
import basicTarget from "./basicTarget"
import reward from "./reward"
import constraint from "./constraint"
import tab from "../tab";
export default {
components: {
tab,
basicTarget,
reward,
constraint
},
data(){
return {
type:1
}
},
computed:{
currentComponent(){
switch(this.type){
case 1:
return "basicTarget";
case 2:
return "reward";
case 3:
return "constraint";
}
}
},

};
</script>

<style>
</style>

+ 135
- 0
src/views/second/assessmentResults/results/reward.vue View File

@@ -0,0 +1,135 @@
<template>
<div class="reward" v-loading="loading">
<search :type="2" />
<div class="operating">
<el-button size="small" type="primary">导入</el-button>
<el-button size="small" type="primary">导出</el-button>
</div>
<el-table
:data="dataList"
border
highlight-current-row
:height="tableHeight"
ref="table"
>
<el-table-column type="index" label="序号" align="center" width="50">
</el-table-column>
<el-table-column
label="一级指标"
min-width="80"
align="center"
prop="quota1"
></el-table-column>

<el-table-column
label="二级指标"
min-width="80"
align="center"
prop="quota2"
></el-table-column>

<el-table-column
label="考核内容和计分细则"
align="center"
min-width="400"
prop="content"
></el-table-column>
<el-table-column
label="小条内容"
align="center"
min-width="150"
prop="content"
></el-table-column>
<el-table-column
label="分值"
min-width="60"
align="center"
prop="points"
></el-table-column>

<el-table-column
label="区牵头单位"
min-width="95 "
align="center"
prop="leaderUnit"
></el-table-column>

<el-table-column label="牵头部门" min-width="80" align="center">
<template slot-scope="{ row }">
<span>{{ row.leaderDeptList | formatList }}</span>
</template>
</el-table-column>

<el-table-column label="责任领导" min-width="80" align="center">
<template slot-scope="{ row }">
{{ row.leaderPrincipalList | formatList }}
</template>
</el-table-column>
<el-table-column label="配合部门" min-width="80" align="center">
<template slot-scope="{ row }">
<span>{{ row.leaderDeptList | formatList }}</span>
</template>
</el-table-column>

<el-table-column label="责任领导" min-width="80" align="center">
<template slot-scope="{ row }">
{{ row.leaderPrincipalList | formatList }}
</template>
</el-table-column>
</el-table>

<el-pagination
:current-page.sync="page.page"
:page-size="page.limit"
:total="count"
:background="true"
layout="total, prev, pager, next, jumper"
:pager-count="5"
class="ele-pagination-circle"
:flat="true"
@current-change="getDataList()"
/>
</div>
</template>

<script>
import search from "./search";
export default {
components: {
search,
},
data() {
return {
dataList: [[]],
tableHeight: document.documentElement.clientHeight - 305,
page: {
page: 1,
limit: Math.floor(
(document.documentElement.clientHeight - 305 - 45) / 45
),
},
count: 0,
showEdit: false,
loading: false,
form:{}
};
},
methods: {
getDataList() {},
edit() {
this.showEdit = true;
},
save() {},
},
filters: {
formatList(val) {
if (val) {
return val.join(",");
}
},
},
};
</script>

<style>
</style>

+ 155
- 0
src/views/second/assessmentResults/results/search.vue View File

@@ -0,0 +1,155 @@
<template>
<div class="search">
<el-form :inline="true" :model="searchParams" size="small">
<template v-if="type == 1 || type == 2">
<el-form-item label="一级指标:">
<el-select
filterable
clearable
v-model="searchParams.quota1"
@change="getQuota2List(searchParams.quota1)"
placeholder="请选择一级指标"
>
<el-option
v-for="(item, index) of quota1"
:key="index"
:label="item.quota1"
:value="item.quota1"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="二级指标:">
<el-select filterable clearable v-model="searchParams.quota2" placeholder="请选择二级指标">
<el-option
v-for="(item, index) of quota2"
:key="index"
:label="item.quota2"
:value="item.quota2"
></el-option>
</el-select>
</el-form-item>
</template>
<template v-if="type == 3">
<el-form-item label="考核指标:">
<el-select filterable clearable v-model="searchParams.quota" placeholder="请选择考核目标">
<el-option
v-for="(item, index) of quota"
:key="index"
:label="item"
:value="item"
></el-option>
</el-select>
</el-form-item>
</template>
<el-form-item label="考核内容:">
<el-input
placeholder="请输入考核内容"
clearable
v-model="searchParams.content"
></el-input>
</el-form-item>
<el-form-item label="参与部门:">
<treeselect
v-model="searchParams.partakeDept"
:options="formatDep"
placeholder="请选择参与部门"
:defaultExpandLevel="1"
:normalizer="
(d) => {
return {
id: d.id,
label: d.name,
children:
d.children && d.children.length > 0 ? d.children : undefined,
};
}
"
/>
</el-form-item>
<el-button type="primary" size="small" @click="search">查询</el-button>
<el-button
type="default"
size="small"
@click="
clear();
search();
"
>清空</el-button
>
</el-form>
</div>
</template>

<script>
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import Treeselect from "@riophae/vue-treeselect"; // 下拉树
import { mapGetters, mapActions } from "vuex";
export default {
props: {
type: {
type: Number,
default() {
return 1;
},
},
},
components: {
Treeselect,
},
data() {
return {
searchParams: {
quota1: "",
quota2: "",
leaderDept: undefined,
cooperateDept: undefined,
quota: "",
content: "",
leaderUnit: "",
},
};
},
created() {
this.getQuota1List(this.type);
this.getDepartment(1);
this.getQuotaList();
},
methods: {
...mapActions({
getQuota1List: "base/getQuota1List",
getQuota2List: "base/getQuota2List",
getDepartment: "base/getDepartment",
getQuotaList: "base/getQuotaList",
}),
clear() {
this.searchParams = {
quota1: "",
quota2: "",
leaderDept: undefined,
cooperateDept: undefined,
quota: "",
content: "",
leaderUnit: "",
};
},
search() {
this.$emit("search:task", this.searchParams);
},
},
computed: {
...mapGetters(["quota1", "quota2", "formatDep", "quota"]),
},
watch: {
"searchParams.quota1"(val) {
if (!val) {
this.$store.commit("base/SET_QUOTAL2", []);
this.$set(this.searchParams, "quota2", "");
}
},
},
};
</script>

<style scoped>

</style>

+ 123
- 0
src/views/second/assessmentResults/scoreChart.vue View File

@@ -0,0 +1,123 @@
<template>
<div class="department ele-body">
<el-card>
<!-- <div class="line"></div> -->
<el-table :data="dataList" highlight-current-row border :height="tableHeight">
<el-table-column type="index" label="序号"></el-table-column>
<el-table-column
label="部门名称"
align="center"
min-width="120"
></el-table-column>
<el-table-column label="基础目标" align="center" min-width="240">
<el-table-column
label="牵头参与"
align="center"
min-width="60"
></el-table-column>
<el-table-column
label="牵头得分"
align="center"
min-width="60"
></el-table-column>
<el-table-column
label="配合参与"
align="center"
min-width="60"
></el-table-column>
<el-table-column
label="配合得分"
align="center"
min-width="60"
></el-table-column>
</el-table-column>
<el-table-column label="重点专项激励" align="center" min-width="240">
<el-table-column
label="牵头参与"
align="center"
min-width="60"
></el-table-column>
<el-table-column
label="牵头得分"
align="center"
min-width="60"
></el-table-column>
<el-table-column
label="配合参与"
align="center"
min-width="60"
></el-table-column>
<el-tabel-column
label="配合得分"
align="center"
min-width="60"
></el-tabel-column>
</el-table-column>
<el-table-column label="刚性约束考核" align="center" min-width="240">
<el-table-column
label="牵头参与"
align="center"
min-width="60"
></el-table-column>
<el-table-column
label="牵头得分"
align="center"
min-width="60"
></el-table-column>
<el-table-column
label="配合参与"
align="center"
min-width="60"
></el-table-column>
<el-tabel-column
label="配合得分"
align="center"
min-width="60"
></el-tabel-column>
</el-table-column>
<el-table-column label="部门总得分" min-width="100" align="center"></el-table-column>
</el-table>
<el-pagination
:current-page.sync="page.page"
:page-size="page.limit"
:total="count"
:background="true"
layout="total, prev, pager, next, jumper"
:pager-count="5"
class="ele-pagination-circle"
:flat="true"
@current-change="getDataList()"
/>
</el-card>
</div>
</template>

<script>
export default {
name: 'department',
data () {
return {
dataList: [],
tableHeight: document.documentElement.clientHeight - 205,
page: {
page: 1,
limit: Math.floor(
(document.documentElement.clientHeight - 305 - 45) / 45
),
},
count: 0,
}
},
methods: {
getDataList() {},
}
};
</script>

<style scoped>
.line {
margin: 20px 0;
border-bottom: 1px solid rgb(207, 207, 207);
}
</style>

+ 198
- 0
src/views/second/assessmentResults/scoreRules/basicTarget.vue View File

@@ -0,0 +1,198 @@
<template>
<div class="basic-target" v-loading="loading">
<search :type="1" />
<el-table
:data="dataList"
border
highlight-current-row
:height="tableHeight"
ref="table"
>
<el-table-column type="index" label="序号" align="center" width="50">
</el-table-column>
<el-table-column
label="一级指标"
min-width="80"
align="center"
prop="quota1"
></el-table-column>

<el-table-column
label="二级指标"
min-width="80"
align="center"
prop="quota2"
></el-table-column>

<el-table-column
label="考核内容和计分细则"
align="center"
min-width="400"
prop="content"
></el-table-column>
<el-table-column
label="小条内容"
align="center"
min-width="150"
prop="content"
></el-table-column>
<el-table-column
label="分值"
min-width="60"
align="center"
prop="points"
></el-table-column>

<el-table-column
label="区牵头单位"
min-width="95 "
align="center"
prop="leaderUnit"
></el-table-column>

<el-table-column label="牵头部门" min-width="80" align="center">
<template slot-scope="{ row }">
<span>{{ row.leaderDeptList | formatList }}</span>
</template>
</el-table-column>

<el-table-column label="责任领导" min-width="80" align="center">
<template slot-scope="{ row }">
{{ row.leaderPrincipalList | formatList }}
</template>
</el-table-column>
<el-table-column label="配合部门" min-width="80" align="center">
<template slot-scope="{ row }">
<span>{{ row.leaderDeptList | formatList }}</span>
</template>
</el-table-column>

<el-table-column label="责任领导" min-width="80" align="center">
<template slot-scope="{ row }">
{{ row.leaderPrincipalList | formatList }}
</template>
</el-table-column>
<el-table-column label="操作" width="125" align="center">
<el-link
@click="edit(row)"
icon="el-icon-edit"
type="primary"
:underline="false"
>编辑</el-link
>
</el-table-column>
</el-table>
<el-pagination
:current-page.sync="page.page"
:page-size="page.limit"
:total="count"
:background="true"
layout="total, prev, pager, next, jumper"
:pager-count="5"
class="ele-pagination-circle"
:flat="true"
@current-change="getDataList()"
/>
<el-dialog
title="自定义考核得分规则"
:visible.sync="showEdit"
width="400px"
custom-class="ele-dialog-form"
:lock-scroll="false"
:destroy-on-close="true"
@closed="form = {}"
>
<el-table
:data="dataList"
highlight-current-row
ref="table"
>
<el-table-column type="index" label="序号" align="center" width="50">
</el-table-column>
<el-table-column
label="牵头部门名称"
min-width="80"
align="center"
prop="quota1"
></el-table-column>

<el-table-column
label="考核得分"
min-width="80"
align="center"
prop="quota2"
></el-table-column>
</el-table>
<el-table
:data="dataList"
highlight-current-row
ref="table"
>
<el-table-column type="index" label="序号" align="center" width="50">
</el-table-column>
<el-table-column
label="配合部门名称"
min-width="80"
align="center"
prop="quota1"
></el-table-column>

<el-table-column
label="考核得分"
min-width="80"
align="center"
prop="quota2"
></el-table-column>
</el-table>
<div slot="footer">
<el-button @click="showEdit = false">取消</el-button>&nbsp;
<el-button type="primary" @click="save">保存</el-button>
</div>
</el-dialog>

</div>
</template>

<script>
import search from "./search";
export default {
components: {
search,
},
data() {
return {
dataList: [[]],
tableHeight: document.documentElement.clientHeight - 305,
page: {
page: 1,
limit: Math.floor(
(document.documentElement.clientHeight - 305 - 45) / 45
),
},
count: 0,
showEdit: false,
loading: false,
form:{}
};
},
methods: {
getDataList() {},
edit(row) {
this.showEdit = true
},
save() {
this.showEdit = false
},
},
filters: {
formatList(val) {
if (val) {
return val.join(",");
}
},
},
};
</script>

<style>
</style>

+ 126
- 0
src/views/second/assessmentResults/scoreRules/constraint.vue View File

@@ -0,0 +1,126 @@
<template>
<div class="constraint" v-loading="loading">
<search :type="3" />
<el-table
:data="dataList"
border
highlight-current-row
:height="tableHeight"
ref="table"
>
<el-table-column type="index" label="序号" align="center" width="50">
</el-table-column>

<el-table-column
label="考核指标"
min-width="80"
align="center"
prop="quota"
></el-table-column>

<el-table-column
label="考核内容和计分细则"
align="center"
min-width="400"
prop="content"
></el-table-column>
<el-table-column
label="小条内容"
align="center"
min-width="150"
prop="content"
></el-table-column>
<el-table-column
label="分值"
min-width="60"
align="center"
prop="points"
></el-table-column>

<el-table-column
label="区牵头单位"
min-width="95 "
align="center"
prop="leaderUnit"
></el-table-column>

<el-table-column label="牵头部门" min-width="80" align="center">
<template slot-scope="{ row }">
<span>{{ row.leaderDeptList | formatList }}</span>
</template>
</el-table-column>

<el-table-column label="责任领导" min-width="80" align="center">
<template slot-scope="{ row }">
{{ row.leaderPrincipalList | formatList }}
</template>
</el-table-column>
<el-table-column label="配合部门" min-width="80" align="center">
<template slot-scope="{ row }">
<span>{{ row.leaderDeptList | formatList }}</span>
</template>
</el-table-column>

<el-table-column label="责任领导" min-width="80" align="center">
<template slot-scope="{ row }">
{{ row.leaderPrincipalList | formatList }}
</template>
</el-table-column>
</el-table>

<el-pagination
:current-page.sync="page.page"
:page-size="page.limit"
:total="count"
:background="true"
layout="total, prev, pager, next, jumper"
:pager-count="5"
class="ele-pagination-circle"
:flat="true"
@current-change="getDataList()"
/>
</div>
</template>

<script>
import search from "./search";
export default {
components: {
search,
},
data() {
return {
dataList: [[]],
tableHeight: document.documentElement.clientHeight - 310,
page: {
page: 1,
limit: Math.floor(
(document.documentElement.clientHeight - 310 - 45) / 45
),
},
count: 0,
showEdit: false,
loading: false,
form:{}
};
},
methods: {
getDataList() {},
edit() {
this.showEdit = true;
},
save() {},
},
filters: {
formatList(val) {
if (val) {
return val.join(",");
}
},
},
};
</script>

<style>
</style>

+ 45
- 0
src/views/second/assessmentResults/scoreRules/index.vue View File

@@ -0,0 +1,45 @@
<template>
<div class="apply-cooperation ele-body">
<el-card shadow="never" element-loading-background="rgba(255, 255, 255, 1)">
<tab @update:type="type = $event.type" />
<div :is="currentComponent"></div>
</el-card>
</div>
</template>

<script>
import search from "../../search"
import basicTarget from "./basicTarget"
import reward from "./reward"
import constraint from "./constraint"
import tab from "../tab";
export default {
components: {
tab,
basicTarget,
reward,
constraint
},
data(){
return {
type:1
}
},
computed:{
currentComponent(){
switch(this.type){
case 1:
return "basicTarget";
case 2:
return "reward";
case 3:
return "constraint";
}
}
},

};
</script>

<style>
</style>

+ 172
- 0
src/views/second/assessmentResults/scoreRules/reward.vue View File

@@ -0,0 +1,172 @@
<template>
<div class="basic-target" v-loading="loading">
<search :type="1" />
<el-table
:data="dataList"
border
highlight-current-row
:height="tableHeight"
ref="table"
>
<el-table-column type="index" label="序号" align="center" width="50">
</el-table-column>
<el-table-column
label="一级指标"
min-width="80"
align="center"
prop="quota1"
></el-table-column>

<el-table-column
label="二级指标"
min-width="80"
align="center"
prop="quota2"
></el-table-column>

<el-table-column
label="考核内容和计分细则"
align="center"
min-width="400"
prop="content"
></el-table-column>
<el-table-column
label="小条内容"
align="center"
min-width="150"
prop="content"
></el-table-column>
<el-table-column
label="分值"
min-width="60"
align="center"
prop="points"
></el-table-column>

<el-table-column
label="区牵头单位"
min-width="95 "
align="center"
prop="leaderUnit"
></el-table-column>

<el-table-column label="牵头部门" min-width="80" align="center">
<template slot-scope="{ row }">
<span>{{ row.leaderDeptList | formatList }}</span>
</template>
</el-table-column>

<el-table-column label="责任领导" min-width="80" align="center">
<template slot-scope="{ row }">
{{ row.leaderPrincipalList | formatList }}
</template>
</el-table-column>
<el-table-column label="配合部门" min-width="80" align="center">
<template slot-scope="{ row }">
<span>{{ row.leaderDeptList | formatList }}</span>
</template>
</el-table-column>

<el-table-column label="责任领导" min-width="80" align="center">
<template slot-scope="{ row }">
{{ row.leaderPrincipalList | formatList }}
</template>
</el-table-column>
<el-table-column label="操作" width="125" align="center">
<el-link
@click="edit(row)"
icon="el-icon-edit"
type="primary"
:underline="false"
>编辑</el-link
>
</el-table-column>
</el-table>
<el-pagination
:current-page.sync="page.page"
:page-size="page.limit"
:total="count"
:background="true"
layout="total, prev, pager, next, jumper"
:pager-count="5"
class="ele-pagination-circle"
:flat="true"
@current-change="getDataList()"
/>
<el-dialog
title="申请成为配合部门"
:visible.sync="showEdit"
width="400px"
custom-class="ele-dialog-form"
:lock-scroll="false"
:destroy-on-close="true"
@closed="form = {}"
>
<el-form
:model="form"
label-width="82px"
width="400px"
:lock-scroll="false"
:destroy-on-close="true"
@closed="form = {}"
>
<el-form-item label="申请理由:">
<el-input
type="textarea"
placeholder="请输入申请理由"
:rows="5"
></el-input>
</el-form-item>
</el-form>
<div slot="footer">
<el-button @click="showEdit = false">取消</el-button>&nbsp;
<el-button type="primary" @click="save">保存</el-button>
</div>
</el-dialog>
</div>
</template>

<script>
import search from "./search";
export default {
components: {
search,
},
data() {
return {
dataList: [[]],
tableHeight: document.documentElement.clientHeight - 305,
page: {
page: 1,
limit: Math.floor(
(document.documentElement.clientHeight - 305 - 45) / 45
),
},
count: 0,
showEdit: false,
loading: false,
form:{}
};
},
methods: {
getDataList() {},
edit(row) {
this.showEdit = true
},
save() {
this.showEdit = false
},
},
filters: {
formatList(val) {
if (val) {
return val.join(",");
}
},
},
};
</script>

<style>
</style>

+ 0
- 0
src/views/second/assessmentResults/scoreRules/scoreRules.vue View File


+ 165
- 0
src/views/second/assessmentResults/scoreRules/search.vue View File

@@ -0,0 +1,165 @@
<template>
<div class="search">
<el-form :inline="true" :model="searchParams" size="small">
<template v-if="type == 1 || type == 2">
<el-form-item label="一级指标:">
<el-select
filterable
clearable
v-model="searchParams.quota1"
@change="getQuota2List(searchParams.quota1)"
placeholder="请选择一级指标"
>
<el-option
v-for="(item, index) of quota1"
:key="index"
:label="item.quota1"
:value="item.quota1"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="二级指标:">
<el-select filterable clearable v-model="searchParams.quota2" placeholder="请选择二级指标">
<el-option
v-for="(item, index) of quota2"
:key="index"
:label="item.quota2"
:value="item.quota2"
></el-option>
</el-select>
</el-form-item>
</template>
<template v-if="type == 3">
<el-form-item label="考核指标:">
<el-select filterable clearable v-model="searchParams.quota" placeholder="请选择考核目标">
<el-option
v-for="(item, index) of quota"
:key="index"
:label="item"
:value="item"
></el-option>
</el-select>
</el-form-item>
</template>
<el-form-item label="考核内容:">
<el-input
placeholder="请输入考核内容"
clearable
v-model="searchParams.content"
></el-input>
</el-form-item>
<el-form-item label="参与部门:">
<treeselect
v-model="searchParams.partakeDept"
:options="formatDep"
placeholder="请选择参与部门"
:defaultExpandLevel="1"
:normalizer="
(d) => {
return {
id: d.id,
label: d.name,
children:
d.children && d.children.length > 0 ? d.children : undefined,
};
}
"
/>
</el-form-item>
<el-form-item label="分数规则:">
<el-select filterable clearable v-model="searchParams.quota2" placeholder="请选择分数规则">
<el-option
v-for="(item, index) of quota2"
:key="index"
:label="item.quota2"
:value="item.quota2"
></el-option>
</el-select>
</el-form-item>
<el-button type="primary" size="small" @click="search">查询</el-button>
<el-button
type="default"
size="small"
@click="
clear();
search();
"
>清空</el-button
>
</el-form>
</div>
</template>

<script>
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import Treeselect from "@riophae/vue-treeselect"; // 下拉树
import { mapGetters, mapActions } from "vuex";
export default {
props: {
type: {
type: Number,
default() {
return 1;
},
},
},
components: {
Treeselect,
},
data() {
return {
searchParams: {
quota1: "",
quota2: "",
leaderDept: undefined,
cooperateDept: undefined,
quota: "",
content: "",
leaderUnit: "",
},
};
},
created() {
this.getQuota1List(this.type);
this.getDepartment(1);
this.getQuotaList();
},
methods: {
...mapActions({
getQuota1List: "base/getQuota1List",
getQuota2List: "base/getQuota2List",
getDepartment: "base/getDepartment",
getQuotaList: "base/getQuotaList",
}),
clear() {
this.searchParams = {
quota1: "",
quota2: "",
leaderDept: undefined,
cooperateDept: undefined,
quota: "",
content: "",
leaderUnit: "",
};
},
search() {
this.$emit("search:task", this.searchParams);
},
},
computed: {
...mapGetters(["quota1", "quota2", "formatDep", "quota"]),
},
watch: {
"searchParams.quota1"(val) {
if (!val) {
this.$store.commit("base/SET_QUOTAL2", []);
this.$set(this.searchParams, "quota2", "");
}
},
},
};
</script>

<style scoped>

</style>

+ 37
- 0
src/views/second/assessmentResults/tab.vue View File

@@ -0,0 +1,37 @@
<template>
<div class="tab">
<el-radio-group v-model="type" style="margin-bottom: 30px" size="small" @change="changeParams">
<el-radio-button :label="1">基础目标</el-radio-button>
<el-radio-button :label="2">重点专项</el-radio-button>
<el-radio-button :label="3">刚性约束</el-radio-button>
</el-radio-group>
</div>
</template>

<script>
export default {
data() {
return {
type: 1,
};
},
methods:{
changeParams(){
this.$emit('update:type',{type:this.type})
}
}
};
</script>

<style scoped>
.el-radio-button,
/deep/ .el-radio-button__inner {
height: 35px;
width: 100px;
line-height: 14px;
font-size: 14px;
}
.el-radio-group{
margin-bottom: 10px!important;
}
</style>

+ 3
- 2
src/views/second/taskSummary/basicTable.vue View File

@@ -7,10 +7,10 @@
</div>
<el-table highlight-current-row :data="dataList" :height="tableHeight" border>
<el-table-column type="index" width="50" align="center" label="编号"></el-table-column>
<el-table-column label="一级指标" min-width="150" align="center" prop="quota1"></el-table-column>
<el-table-column label="一级指标" min-width="150" align="center" prop="quota1" ></el-table-column>
<el-table-column label="二级指标" min-width="150" align="center" prop="quota2"></el-table-column>
<el-table-column label="考核内容和计分细则" min-width="200" align="center" prop="content"></el-table-column>
<el-table-column label="小条内容" min-width="150" align="center" prop="littleContent"></el-table-column>
<el-table-column label="小条内容" min-width="150" align="center" prop="itemContent"></el-table-column>
<el-table-column label="分值" min-width="60" align="center" prop="points"></el-table-column>
<el-table-column label="区牵头单位" min-width="80" align="center" prop="leaderUnit"></el-table-column>
<el-table-column label="牵头部门" min-width="80" align="center" prop="leaderDeptList"></el-table-column>
@@ -131,6 +131,7 @@ import search from "../search";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import Treeselect from "@riophae/vue-treeselect";
import { mapGetters } from "vuex";
import api from "@/api/second/taskSummary"
export default {
components: {
search,

Loading…
Cancel
Save