@@ -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 +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> |
@@ -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> |
@@ -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> |
@@ -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> |
@@ -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> |
@@ -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> |
@@ -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> | |||
<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 +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> |
@@ -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> |
@@ -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> | |||
<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 +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> |
@@ -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> |
@@ -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, |