YF-yuan 3 years ago
parent
commit
0d0b54c238
8 changed files with 321 additions and 165 deletions
  1. +14
    -5
      src/api/second/coordinationManage/approvalCooperation.js
  2. +2
    -1
      src/config/setting.js
  3. +70
    -66
      src/views/chain/assessmentContent.vue
  4. +95
    -57
      src/views/second/coordinationManage/approvalCooperation/basicTarget.vue
  5. +43
    -14
      src/views/second/coordinationManage/approvalCooperation/constraint.vue
  6. +43
    -14
      src/views/second/coordinationManage/approvalCooperation/reward.vue
  7. +27
    -4
      src/views/second/taskSummary/constraint.vue
  8. +27
    -4
      src/views/second/taskSummary/reward.vue

+ 14
- 5
src/api/second/coordinationManage/approvalCooperation.js View File

@@ -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)
}
}

+ 2
- 1
src/config/setting.js View File

@@ -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: [], // 需要缓存的组件名称

+ 70
- 66
src/views/chain/assessmentContent.vue View File

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

+ 95
- 57
src/views/second/coordinationManage/approvalCooperation/basicTarget.vue View File

@@ -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: {

+ 43
- 14
src/views/second/coordinationManage/approvalCooperation/constraint.vue View File

@@ -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;

+ 43
- 14
src/views/second/coordinationManage/approvalCooperation/reward.vue View File

@@ -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;

+ 27
- 4
src/views/second/taskSummary/constraint.vue View File

@@ -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;

+ 27
- 4
src/views/second/taskSummary/reward.vue View File

@@ -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;

Loading…
Cancel
Save