@@ -1,15 +1,24 @@ | |||
import axios from "@/config/axios" | |||
export default { | |||
getBasicDataList(params) { | |||
return axios.get('/cooperateapply/getBasicTaskCheckApplyList', {params}) | |||
return axios.get('/cooperateapply/getBasicTaskCheckApplyList', { params }) | |||
}, | |||
getRewardDataList(params) { | |||
return axios.get('/cooperateapply/getSpecialPowerCheckApplyList', {params}) | |||
return axios.get('/cooperateapply/getSpecialPowerCheckApplyList', { params }) | |||
}, | |||
getConstraintDataList(params) { | |||
return axios.get('/cooperateapply/getRigidityConstraintCheckApplyList', {params}) | |||
return axios.get('/cooperateapply/getRigidityConstraintCheckApplyList', { params }) | |||
}, | |||
editItem(params){ | |||
return axios.put('/cooperateapply/checkApply',params) | |||
exportBasicList(params) { | |||
return axios.get('/cooperateapply/exportBasicTaskCheckApplyList', { params }) | |||
}, | |||
exportContraintList(params) { | |||
return axios.get('/cooperateapply/exportRigidityConstraintCheckApplyList', { params }) | |||
}, | |||
exportRewardList(params) { | |||
return axios.get('/cooperateapply/exportSpecialPowerCheckApplyList', { params }) | |||
}, | |||
editItem(params) { | |||
return axios.put('/cooperateapply/checkApply', params) | |||
} | |||
} |
@@ -4,7 +4,8 @@ | |||
export default { | |||
version: '1.0', | |||
name: 'JNDZ考核管理系统', // 项目名称 | |||
baseURL: 'http://47.98.157.120:9031/api/', // 接口地址 | |||
baseURL: 'http://121.40.249.52:9031/api/', // 接口地址 | |||
// baseURL: 'http://47.98.157.120:9031/api/', // 接口地址 | |||
// baseURL: 'http://127.0.0.1:9031/api/', // 接口地址 | |||
whiteList: ['/login', '/forget'], // 路由白名单(不需要登录的) | |||
keepAliveList: [], // 需要缓存的组件名称 |
@@ -41,71 +41,75 @@ | |||
</div> | |||
<div class="body" :style="{ height: tableHeight + 'px' }" ref="body"> | |||
<div v-for="(data, index) of dataList" :key="index"> | |||
<div class="type title">{{ index + 1 }}、{{ data.name }}</div> | |||
<div v-for="(item, ind) of data.children" :key="ind"> | |||
<div class="title">{{ item.name }}</div> | |||
<el-row | |||
type="flex" | |||
style="border-left: 1px solid rgb(237, 237, 237)" | |||
v-for="(detail, i) of item.children" | |||
:key="i" | |||
> | |||
<el-col :span="2" align="center" class="td" | |||
><span class="cell">{{ i + 1 }}</span></el-col | |||
> | |||
<el-col :span="5" align="center" class="td" | |||
><span class="cell">{{ detail.content }}</span></el-col | |||
> | |||
<el-col :span="2" align="center" class="td" | |||
><span class="cell">{{ detail.points }}</span></el-col | |||
> | |||
<el-col :span="2" align="center" class="td" | |||
><span class="cell">{{ detail.score }}</span></el-col | |||
> | |||
<el-col :span="3" align="center" class="td" | |||
><span class="cell"> | |||
<pre>{{ detail.leaderDeptList | formatList }}</pre> | |||
</span></el-col | |||
> | |||
<el-col :span="3" align="center" class="td" | |||
><span class="cell"> | |||
<pre>{{ detail.otherDeptList | formatList }}</pre> | |||
</span></el-col | |||
> | |||
<el-col :span="3" align="center" class="td" | |||
><span class="cell"> | |||
<pre>{{ detail.cooperateDeptList | formatList }}</pre> | |||
</span></el-col | |||
> | |||
<!-- <el-col :span="3" align="center" class="td" | |||
<template v-if="data.children.length>0"> | |||
<div class="type title">{{ index + 1 }}、{{ data.name }}</div> | |||
<div v-for="(item, ind) of data.children" :key="ind"> | |||
<template v-if="item.children.length > 0"> | |||
<div class="title">{{ item.name }}</div> | |||
<el-row | |||
type="flex" | |||
style="border-left: 1px solid rgb(237, 237, 237)" | |||
v-for="(detail, i) of item.children" | |||
:key="i" | |||
> | |||
<el-col :span="2" align="center" class="td" | |||
><span class="cell">{{ i + 1 }}</span></el-col | |||
> | |||
<el-col :span="5" align="center" class="td" | |||
><span class="cell">{{ detail.content }}</span></el-col | |||
> | |||
<el-col :span="2" align="center" class="td" | |||
><span class="cell">{{ detail.points }}</span></el-col | |||
> | |||
<el-col :span="2" align="center" class="td" | |||
><span class="cell">{{ detail.score }}</span></el-col | |||
> | |||
<el-col :span="3" align="center" class="td" | |||
><span class="cell"> | |||
<pre>{{ detail.leaderDeptList | formatList }}</pre> | |||
</span></el-col | |||
> | |||
<el-col :span="3" align="center" class="td" | |||
><span class="cell"> | |||
<pre>{{ detail.otherDeptList | formatList }}</pre> | |||
</span></el-col | |||
> | |||
<el-col :span="3" align="center" class="td" | |||
><span class="cell"> | |||
<pre>{{ detail.cooperateDeptList | formatList }}</pre> | |||
</span></el-col | |||
> | |||
<!-- <el-col :span="3" align="center" class="td" | |||
><span class="cell">打分操作记录</span></el-col | |||
> --> | |||
<el-col :span="4" align="center" class="td" | |||
><span class="cell" | |||
><el-link | |||
@click="edit('edit', detail)" | |||
icon="el-icon-edit" | |||
type="primary" | |||
:underline="false" | |||
>修改</el-link | |||
> | |||
<el-popconfirm | |||
title="确定要删除此考核内容?" | |||
@confirm="remove(detail)" | |||
class="ele-action" | |||
<el-col :span="4" align="center" class="td" | |||
><span class="cell" | |||
><el-link | |||
@click="edit('edit', detail)" | |||
icon="el-icon-edit" | |||
type="primary" | |||
:underline="false" | |||
>修改</el-link | |||
> | |||
<el-popconfirm | |||
title="确定要删除此考核内容?" | |||
@confirm="remove(detail)" | |||
class="ele-action" | |||
> | |||
<el-link | |||
slot="reference" | |||
icon="el-icon-delete" | |||
type="danger" | |||
:underline="false" | |||
>删除</el-link | |||
> | |||
</el-popconfirm></span | |||
></el-col | |||
> | |||
<el-link | |||
slot="reference" | |||
icon="el-icon-delete" | |||
type="danger" | |||
:underline="false" | |||
>删除</el-link | |||
> | |||
</el-popconfirm></span | |||
></el-col | |||
> | |||
</el-row> | |||
</div> | |||
</el-row> | |||
</template> | |||
</div> | |||
</template> | |||
</div> | |||
</div> | |||
<div class="line"></div> | |||
@@ -276,10 +280,10 @@ export default { | |||
this.getList(); | |||
}, | |||
getList() { | |||
try{ | |||
this.$refs.body.scrollTop=0; | |||
}catch(e){ | |||
console.log(e) | |||
try { | |||
this.$refs.body.scrollTop = 0; | |||
} catch (e) { | |||
console.log(e); | |||
} | |||
this.loading = true; | |||
api |
@@ -1,9 +1,11 @@ | |||
<template> | |||
<div class="basic-target" v-loading="loading"> | |||
<search :type="1" @search:task="updateParams($event)"/> | |||
<div class="operating"> | |||
<el-button size="small" type="primary">导出</el-button> | |||
</div> | |||
<search | |||
:type="1" | |||
@search:task="updateParams($event)" | |||
@export="exportData($event)" | |||
:show-export="true" | |||
/> | |||
<el-table | |||
:data="dataList" | |||
border | |||
@@ -70,16 +72,16 @@ | |||
align="center" | |||
prop="leaderUnit" | |||
></el-table-column> | |||
<el-table-column label="第一牵头部门" width="120" align="center"> | |||
<template slot-scope="{ row }"> | |||
<pre>{{ row.leaderDeptList | formatList }}</pre> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="第一牵头部门责任领导" width="170" align="center"> | |||
<template slot-scope="{ row }"> | |||
<pre>{{ row.leaderPrincipalList | formatList }}</pre> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="第一牵头部门" width="120" align="center"> | |||
<template slot-scope="{ row }"> | |||
<pre>{{ row.leaderDeptList | formatList }}</pre> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="第一牵头部门责任领导" width="170" align="center"> | |||
<template slot-scope="{ row }"> | |||
<pre>{{ row.leaderPrincipalList | formatList }}</pre> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="其他牵头部门" width="120" align="center"> | |||
<template slot-scope="{ row }"> | |||
<span> | |||
@@ -108,12 +110,18 @@ | |||
</el-table-column> | |||
<el-table-column label="操作" width="125" align="center"> | |||
<template slot-scope="{ row }"> | |||
<el-link @click="edit(row, true)" type="primary" :underline="false" | |||
:disabled="judge(row)" | |||
<el-link | |||
@click="edit(row, true)" | |||
type="primary" | |||
:underline="false" | |||
:disabled="judge(row)" | |||
>同意</el-link | |||
> | |||
<el-link @click="edit(row, false)" type="primary" :underline="false" | |||
:disabled="judge(row)" | |||
<el-link | |||
@click="edit(row, false)" | |||
type="primary" | |||
:underline="false" | |||
:disabled="judge(row)" | |||
>不同意</el-link | |||
> | |||
</template> | |||
@@ -159,8 +167,8 @@ | |||
<script> | |||
import search from "../../search"; | |||
import { mapGetters } from "vuex"; | |||
import api from '@/api/second/coordinationManage/approvalCooperation' | |||
import { mapGetters } from "vuex"; | |||
import api from "@/api/second/coordinationManage/approvalCooperation"; | |||
export default { | |||
components: { | |||
search, | |||
@@ -187,17 +195,39 @@ export default { | |||
}; | |||
}, | |||
computed: { | |||
...mapGetters(['formatDep','user']), | |||
...mapGetters(["formatDep", "user"]), | |||
}, | |||
created() { | |||
this.getDataList() | |||
this.getDataList(); | |||
}, | |||
methods: { | |||
exportData(data) { | |||
this.loading = true; | |||
api | |||
.exportBasicList( | |||
Object.assign({ sheetName: "基础目标任务配合申请审核列表" ,isChecked:1}, data) | |||
) | |||
.then((res) => { | |||
console.log(res.data.data); | |||
window.open(res.data.data); | |||
this.$message({ | |||
type: "success", | |||
message: "导出成功", | |||
}); | |||
}) | |||
.catch((e) => { | |||
console.log(e); | |||
this.$message.error("导出失败"); | |||
}) | |||
.finally(() => { | |||
this.loading = false; | |||
}); | |||
}, | |||
judge(row) { | |||
if(row.status == 0) { | |||
return false | |||
if (row.status == 0) { | |||
return false; | |||
} else if (row.status == 1 || row.status == 2) { | |||
return true | |||
return true; | |||
} | |||
}, | |||
updateParams(data) { | |||
@@ -215,32 +245,38 @@ export default { | |||
this.$refs.table.bodyWrapper.scrollTop = 0; | |||
} catch (e) {} | |||
// this.searchParams.leaderDept = this.user.user.deptId | |||
api.getBasicDataList(Object.assign({isChecked: 1}, this.page, this.searchParams)).then((res)=>{ | |||
let data = res.data.data; | |||
this.count = data.total; | |||
this.dataList = data.records; | |||
}).catch((e)=>{ | |||
this.dataList = []; | |||
this.count = 0; | |||
}).finally(()=>{ | |||
this.loading = false | |||
}) | |||
api | |||
.getBasicDataList( | |||
Object.assign({ isChecked: 1 }, this.page, this.searchParams) | |||
) | |||
.then((res) => { | |||
let data = res.data.data; | |||
this.count = data.total; | |||
this.dataList = data.records; | |||
}) | |||
.catch((e) => { | |||
this.dataList = []; | |||
this.count = 0; | |||
}) | |||
.finally(() => { | |||
this.loading = false; | |||
}); | |||
}, | |||
edit(row, flag) { | |||
this.showEdit = true; | |||
this.form.type = 1 | |||
this.form.id = row.id | |||
this.form.itemId = row.id | |||
this.form.leaderDept = row.leaderDept | |||
this.form.cooperateDept = row.cooperateDept | |||
this.form.type = 1; | |||
this.form.id = row.id; | |||
this.form.itemId = row.id; | |||
this.form.leaderDept = row.leaderDept; | |||
this.form.cooperateDept = row.cooperateDept; | |||
if (flag) { | |||
this.form.status = 1 | |||
this.form.status = 1; | |||
this.warning = { | |||
title: "确定同意此申请?", | |||
info: "点击确定后,该部门将添加至考核任务配合部门中", | |||
}; | |||
}; | |||
} else { | |||
this.form.status = 2 | |||
this.form.status = 2; | |||
this.warning = { | |||
title: "确定不同意此申请?", | |||
info: | |||
@@ -249,21 +285,23 @@ export default { | |||
} | |||
}, | |||
save() { | |||
api.editItem(Object.assign({}, this.form)).then((res)=>{ | |||
this.showEdit = false; | |||
this.$message({ | |||
type: "success", | |||
message: "提交成功", | |||
}) | |||
this.getDataList(); | |||
}) | |||
.catch((e) => { | |||
this.showEdit = false; | |||
this.$message({ | |||
type: "error", | |||
message: "提交失败", | |||
api | |||
.editItem(Object.assign({}, this.form)) | |||
.then((res) => { | |||
this.showEdit = false; | |||
this.$message({ | |||
type: "success", | |||
message: "提交成功", | |||
}); | |||
this.getDataList(); | |||
}) | |||
.catch((e) => { | |||
this.showEdit = false; | |||
this.$message({ | |||
type: "error", | |||
message: "提交失败", | |||
}); | |||
}); | |||
}); | |||
}, | |||
}, | |||
filters: { |
@@ -1,9 +1,11 @@ | |||
<template> | |||
<div class="constraint" v-loading="loading"> | |||
<search :type="3" @search:task="updateParams($event)" /> | |||
<div class="operating"> | |||
<el-button size="small" type="primary">导出</el-button> | |||
</div> | |||
<search | |||
:type="3" | |||
@search:task="updateParams($event)" | |||
@export="exportData($event)" | |||
:show-export="true" | |||
/> | |||
<el-table | |||
:data="dataList" | |||
border | |||
@@ -192,6 +194,27 @@ export default { | |||
this.getDataList(); | |||
}, | |||
methods: { | |||
exportData(data) { | |||
this.loading = true; | |||
api | |||
.exportContraintList( | |||
Object.assign({ sheetName: "刚性约束配合申请审核审核列表",isChecked:1 }, data) | |||
) | |||
.then((res) => { | |||
window.open(res.data.data); | |||
this.$message({ | |||
type: "success", | |||
message: "导出成功", | |||
}); | |||
}) | |||
.catch((e) => { | |||
console.log(e); | |||
this.$message.error("导出失败"); | |||
}) | |||
.finally(() => { | |||
this.loading = false; | |||
}); | |||
}, | |||
judge(row) { | |||
if (row.status == 0) { | |||
return false; | |||
@@ -214,16 +237,22 @@ export default { | |||
this.$refs.table.bodyWrapper.scrollTop = 0; | |||
} catch (e) {} | |||
// this.searchParams.leaderDept = this.user.user.deptId | |||
api.getConstraintDataList(Object.assign({isChecked: 1}, this.page, this.searchParams)).then((res)=>{ | |||
let data = res.data.data; | |||
this.count = data.total; | |||
this.dataList = data.records; | |||
}).catch((e)=>{ | |||
this.dataList = []; | |||
this.count = 0; | |||
}).finally(()=>{ | |||
this.loading = false | |||
}) | |||
api | |||
.getConstraintDataList( | |||
Object.assign({ isChecked: 1 }, this.page, this.searchParams) | |||
) | |||
.then((res) => { | |||
let data = res.data.data; | |||
this.count = data.total; | |||
this.dataList = data.records; | |||
}) | |||
.catch((e) => { | |||
this.dataList = []; | |||
this.count = 0; | |||
}) | |||
.finally(() => { | |||
this.loading = false; | |||
}); | |||
}, | |||
edit(row, flag) { | |||
this.showEdit = true; |
@@ -1,9 +1,11 @@ | |||
<template> | |||
<div class="reward" v-loading="loading"> | |||
<search :type="2" @search:task="updateParams($event)" /> | |||
<div class="operating"> | |||
<el-button size="small" type="primary">导出</el-button> | |||
</div> | |||
<search | |||
:type="2" | |||
@search:task="updateParams($event)" | |||
@export="exportData($event)" | |||
:show-export="true" | |||
/> | |||
<el-table | |||
:data="dataList" | |||
border | |||
@@ -199,6 +201,27 @@ export default { | |||
this.getDataList(); | |||
}, | |||
methods: { | |||
exportData(data) { | |||
this.loading = true; | |||
api | |||
.exportRewardList( | |||
Object.assign({ sheetName: "重点专项配合申请审核列表",isChecked: 1}, data) | |||
) | |||
.then((res) => { | |||
window.open(res.data.data); | |||
this.$message({ | |||
type: "success", | |||
message: "导出成功", | |||
}); | |||
}) | |||
.catch((e) => { | |||
console.log(e); | |||
this.$message.error("导出失败"); | |||
}) | |||
.finally(() => { | |||
this.loading = false; | |||
}); | |||
}, | |||
judge(row) { | |||
if (row.status == 0) { | |||
return false; | |||
@@ -221,16 +244,22 @@ export default { | |||
this.$refs.table.bodyWrapper.scrollTop = 0; | |||
} catch (e) {} | |||
// this.searchParams.leaderDept = this.user.user.deptId | |||
api.getRewardDataList(Object.assign({isChecked: 1}, this.page, this.searchParams)).then((res)=>{ | |||
let data = res.data.data; | |||
this.count = data.total; | |||
this.dataList = data.records; | |||
}).catch((e)=>{ | |||
this.dataList = []; | |||
this.count = 0; | |||
}).finally(()=>{ | |||
this.loading = false | |||
}) | |||
api | |||
.getRewardDataList( | |||
Object.assign({ isChecked: 1 }, this.page, this.searchParams) | |||
) | |||
.then((res) => { | |||
let data = res.data.data; | |||
this.count = data.total; | |||
this.dataList = data.records; | |||
}) | |||
.catch((e) => { | |||
this.dataList = []; | |||
this.count = 0; | |||
}) | |||
.finally(() => { | |||
this.loading = false; | |||
}); | |||
}, | |||
edit(row, flag) { | |||
this.showEdit = true; |
@@ -1,10 +1,12 @@ | |||
<template> | |||
<div class="assessing-content ele-body"> | |||
<el-card shadow="never" element-loading-background="rgba(255, 255, 255, 1)"> | |||
<search :type="3" @search:task="updateParams($event)" /> | |||
<div class="operating"> | |||
<el-button size="small" type="primary">导出</el-button> | |||
</div> | |||
<search | |||
:type="3" | |||
@search:task="updateParams($event)" | |||
:show-export="true" | |||
@export="exportData($event)" | |||
/> | |||
<el-table | |||
highlight-current-row | |||
:data="dataList" | |||
@@ -401,6 +403,27 @@ export default { | |||
}, | |||
}, | |||
methods: { | |||
exportData(data) { | |||
this.loading = true; | |||
api | |||
.exportContraintList( | |||
Object.assign({ sheetName: "刚性约束细分小条" }, data) | |||
) | |||
.then((res) => { | |||
window.open(res.data.data); | |||
this.$message({ | |||
type: "success", | |||
message: "导出成功", | |||
}); | |||
}) | |||
.catch((e) => { | |||
console.log(e); | |||
this.$message.error("导出失败"); | |||
}) | |||
.finally(() => { | |||
this.loading = false; | |||
}); | |||
}, | |||
changePrincipal(e, type) { | |||
if (type == "other") { | |||
let depts = this.form.otherDept; |
@@ -1,10 +1,12 @@ | |||
<template> | |||
<div class="assessing-content ele-body"> | |||
<el-card shadow="never" element-loading-background="rgba(255, 255, 255, 1)"> | |||
<search :type="2" @search:task="updateParams($event)" /> | |||
<div class="operating"> | |||
<el-button size="small" type="primary">导出</el-button> | |||
</div> | |||
<search | |||
:type="2" | |||
@search:task="updateParams($event)" | |||
@export="exportData($event)" | |||
:show-export="true" | |||
/> | |||
<el-table | |||
highlight-current-row | |||
:data="dataList" | |||
@@ -408,6 +410,27 @@ export default { | |||
}, | |||
}, | |||
methods: { | |||
exportData(data) { | |||
this.loading = true; | |||
api | |||
.exportRewardList( | |||
Object.assign({ sheetName: "重点专项细分小条" }, data) | |||
) | |||
.then((res) => { | |||
window.open(res.data.data); | |||
this.$message({ | |||
type: "success", | |||
message: "导出成功", | |||
}); | |||
}) | |||
.catch((e) => { | |||
console.log(e); | |||
this.$message.error("导出失败"); | |||
}) | |||
.finally(() => { | |||
this.loading = false; | |||
}); | |||
}, | |||
changePrincipal(e, type, index) { | |||
if (type == "other") { | |||
let depts = this.form.otherDept; |