@@ -0,0 +1,6 @@ | |||
import axios from "@/config/axios" | |||
export default{ | |||
getList(params){ | |||
return axios.get("/statistics/basicTask",{params}) | |||
} | |||
} |
@@ -0,0 +1,6 @@ | |||
import axios from "@/config/axios" | |||
export default{ | |||
getList(params){ | |||
return axios.get("/statistics/rigidityConstraint",{params}) | |||
} | |||
} |
@@ -0,0 +1,6 @@ | |||
import axios from "@/config/axios" | |||
export default{ | |||
getList(params){ | |||
return axios.get("/statistics/specialPower",{params}) | |||
} | |||
} |
@@ -100,8 +100,8 @@ | |||
@current-change="getDataList()" | |||
/> | |||
</el-card> | |||
<el-dialog | |||
title="添加表" | |||
<el-dialog | |||
:title="dialogTitle" | |||
:visible.sync="showAdd" | |||
width="400px" | |||
custom-class="ele-dialog-form" | |||
@@ -118,19 +118,21 @@ | |||
ref="editForm" | |||
:rules="rules" | |||
> | |||
<el-form-item label="考核年度:" prop="year"> | |||
<el-date-picker | |||
type="year" | |||
placeholder="选择考核年度" | |||
style="width: 100%" | |||
v-model="form.year" | |||
format="yyyy" | |||
value-format="yyyy" | |||
> | |||
</el-date-picker> | |||
<el-form-item label="考核年度:" prop="createTime"> | |||
<el-date-picker | |||
:disabled='ischecked=="look"' | |||
type="year" | |||
placeholder="选择考核年度" | |||
style="width: 100%" | |||
v-model="form.createTime" | |||
format="yyyy" | |||
value-format="yyyy" | |||
> | |||
</el-date-picker> | |||
</el-form-item> | |||
<el-form-item label="表格名称:" prop="name"> | |||
<el-input | |||
:disabled='ischecked=="look"' | |||
placeholder="请输入如表格名称" | |||
clearable | |||
v-model="form.name" | |||
@@ -138,18 +140,28 @@ | |||
</el-form-item> | |||
<el-form-item label="表编号:" prop="code"> | |||
<el-input | |||
:disabled='ischecked=="look"' | |||
placeholder="请输入表编号" | |||
clearable | |||
v-model="form.code" | |||
></el-input> | |||
</el-form-item> | |||
<el-form-item v-if="ischecked == 'look'" label="创建人:" prop='createUser'> | |||
<el-input | |||
:disabled='ischecked=="look"' | |||
placeholder="请输入创建人" | |||
clearable | |||
v-model="form.createUser" | |||
></el-input> | |||
</el-form-item> | |||
<el-form-item label="备注:"> | |||
<el-input type="textarea" :rows="4" v-model="form.note"></el-input> | |||
<el-input :disabled='ischecked=="look"' type="textarea" :rows="4" v-model="form.note"></el-input> | |||
</el-form-item> | |||
</el-form> | |||
<div slot="footer"> | |||
<el-button @click="showAdd = false">取消</el-button> | |||
<el-button type="primary" @click="save">保存</el-button> | |||
<el-button type="primary" @click="save" v-if="ischecked !== 'look'">保存</el-button> | |||
</div> | |||
</el-dialog> | |||
</div> | |||
@@ -168,6 +180,8 @@ export default { | |||
loading: false, | |||
dataList: [], | |||
count: 0, | |||
dialogTitle:'添加表', | |||
ischecked: 'edit', | |||
page: { | |||
page: 1, | |||
limit: Math.floor( | |||
@@ -229,12 +243,23 @@ export default { | |||
}); | |||
}, | |||
add() { | |||
this.dialogTitle = '添加表' | |||
this.form = { code: "", name: "", note: "", year: "" }; | |||
this.showAdd = true; | |||
this.ischecked = 'add' | |||
}, | |||
look(row) { | |||
console.log(row); | |||
this.form = Object.assign({}, row) | |||
this.dialogTitle = '查看表' | |||
this.showAdd = true | |||
this.ischecked = 'look' | |||
}, | |||
edit(row) { | |||
this.form = Object.assign({}, row); | |||
this.form = Object.assign({}, row) | |||
this.showAdd = true; | |||
this.dialogTitle = '编辑表' | |||
this.ischecked = 'edit' | |||
}, | |||
remove(row) { | |||
if (!row) { |
@@ -1,268 +1,18 @@ | |||
<template> | |||
<div class="ele-body"> | |||
<!-- 顶部卡片 --> | |||
<el-card shadow="never" body-style="padding: 20px;"> | |||
<div class="ele-cell workplace-user-card"> | |||
<div class="ele-cell-content ele-cell"> | |||
<el-avatar :size="68" :src="$store.state.user.user.avatar"/> | |||
<div class="ele-cell-content" style="overflow: hidden;"> | |||
<h4 class="ele-elip">早安,{{ $store.state.user.user.nickname }},开始您一天的工作吧!</h4> | |||
<div class="ele-text-secondary ele-elip" style="margin-top: 8px;"> | |||
<i class="el-icon-heavy-rain"></i><s/><s/>今日阴转小雨,22℃ - 32℃,出门记得带伞哦。 | |||
</div> | |||
</div> | |||
</div> | |||
<div class="workplace-count-group"> | |||
<div class="workplace-count-item"> | |||
<div class="workplace-count-header"> | |||
<el-tag size="small" class="ele-tag-round"><i class="el-icon-menu"></i></el-tag> | |||
<span class="workplace-count-name">项目数</span> | |||
</div> | |||
<div class="workplace-count-num">3</div> | |||
</div> | |||
<div class="workplace-count-item"> | |||
<div class="workplace-count-header"> | |||
<el-tag type="warning" size="small" class="ele-tag-round"><i class="el-icon-finished"></i></el-tag> | |||
<span class="workplace-count-name">待办项</span> | |||
</div> | |||
<div class="workplace-count-num">6 / 24</div> | |||
</div> | |||
<div class="workplace-count-item"> | |||
<div class="workplace-count-header"> | |||
<el-tag type="success" size="small" class="ele-tag-round"><i class="el-icon-bell"></i></el-tag> | |||
<span class="workplace-count-name">消息</span> | |||
</div> | |||
<div class="workplace-count-num">1,689</div> | |||
</div> | |||
</div> | |||
</div> | |||
</el-card> | |||
<el-row :gutter="15"> | |||
<el-col :md="3" :sm="6" :xs="12"> | |||
<el-card shadow="hover" body-style="padding:0;"> | |||
<div class="app-link-block" @click="$router.push('/system/user')"> | |||
<i class="app-link-icon el-icon-user"></i> | |||
<div class="app-link-title">用户</div> | |||
</div> | |||
</el-card> | |||
</el-col> | |||
<el-col :md="3" :sm="6" :xs="12"> | |||
<el-card shadow="hover" body-style="padding:0;"> | |||
<div class="app-link-block"> | |||
<i class="app-link-icon el-icon-data-line" style="color: #95de64;"></i> | |||
<div class="app-link-title">分析</div> | |||
</div> | |||
</el-card> | |||
</el-col> | |||
<el-col :md="3" :sm="6" :xs="12"> | |||
<el-card shadow="hover" body-style="padding:0;"> | |||
<div class="app-link-block"> | |||
<i class="app-link-icon el-icon-shopping-cart-2" style="color: #ff9c6e;"></i> | |||
<div class="app-link-title">商品</div> | |||
</div> | |||
</el-card> | |||
</el-col> | |||
<el-col :md="3" :sm="6" :xs="12"> | |||
<el-card shadow="hover" body-style="padding:0;"> | |||
<div class="app-link-block"> | |||
<i class="app-link-icon el-icon-tickets" style="color: #b37feb;"></i> | |||
<div class="app-link-title">订单</div> | |||
</div> | |||
</el-card> | |||
</el-col> | |||
<el-col :md="3" :sm="6" :xs="12"> | |||
<el-card shadow="hover" body-style="padding:0;"> | |||
<div class="app-link-block"> | |||
<i class="app-link-icon el-icon-bank-card" style="color: #ffd666;"></i> | |||
<div class="app-link-title">票据</div> | |||
</div> | |||
</el-card> | |||
</el-col> | |||
<el-col :md="3" :sm="6" :xs="12"> | |||
<el-card shadow="hover" body-style="padding:0;"> | |||
<div class="app-link-block"> | |||
<i class="app-link-icon el-icon-message" style="color: #5cdbd3;"></i> | |||
<div class="app-link-title">消息</div> | |||
</div> | |||
</el-card> | |||
</el-col> | |||
<el-col :md="3" :sm="6" :xs="12"> | |||
<el-card shadow="hover" body-style="padding:0;"> | |||
<div class="app-link-block"> | |||
<i class="app-link-icon el-icon-discount" style="color: #ff85c0;"></i> | |||
<div class="app-link-title">标签</div> | |||
</div> | |||
</el-card> | |||
</el-col> | |||
<el-col :md="3" :sm="6" :xs="12"> | |||
<el-card shadow="hover" body-style="padding:0;"> | |||
<div class="app-link-block"> | |||
<i class="app-link-icon el-icon-s-operation" style="color: #ffc069;"></i> | |||
<div class="app-link-title">配置</div> | |||
</div> | |||
</el-card> | |||
</el-col> | |||
</el-row> | |||
<el-row :gutter="15"> | |||
<el-col :sm="8"> | |||
<el-card shadow="never" header="最新动态" body-style="padding:0;"> | |||
<el-scrollbar style="height:318px;" wrapStyle="overflow-x:hidden;" viewStyle="padding:20px 10px;"> | |||
<el-timeline :reverse="false" class="ele-timeline ele-timeline-act"> | |||
<el-timeline-item v-for="(act,index) in activities" :key="index" :timestamp="act.timestamp" | |||
:type="act.primary?'primary':''">{{ act.title }} | |||
</el-timeline-item> | |||
</el-timeline> | |||
</el-scrollbar> | |||
</el-card> | |||
</el-col> | |||
<el-col :sm="8"> | |||
<el-card class="workplace-table-card" shadow="never" header="我的任务" body-style="padding: 0;"> | |||
<el-table-draggable handle=".sort-handle" :animate="300"> | |||
<el-table :data="taskList" :height="318" class="ele-table-default-head"> | |||
<el-table-column width="38" align="center"> | |||
<template> | |||
<i class="sort-handle el-icon-_nav ele-text-placeholder"></i> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="优先级" width="65"> | |||
<template slot-scope="{row}"> | |||
<el-tag :type="['danger','warning','primary'][row.priority-1]" | |||
size="mini" class="ele-tag-round">{{ row.priority }} | |||
</el-tag> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="任务名称"> | |||
<template slot-scope="{row}"> | |||
<el-link type="primary" :underline="false">{{ row.taskName }}</el-link> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="状态" width="70" align="center"> | |||
<template slot-scope="{row}"> | |||
<span :class="['ele-text-warning','ele-text-success','ele-text-info ele-text-delete'][row.state]"> | |||
{{ ['未开始', '进行中', '已完成'][row.state] }} | |||
</span> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
</el-table-draggable> | |||
</el-card> | |||
</el-col> | |||
<el-col :sm="8"> | |||
<el-card shadow="never" header="本月目标"> | |||
<div class="workplace-goal-group"> | |||
<el-progress type="dashboard" :percentage="80" :width="170" :format="()=>{return ''}"/> | |||
<div class="workplace-goal-content"> | |||
<el-tag size="large" class="ele-tag-round"><i class="el-icon-s-data"></i></el-tag> | |||
<div class="workplace-goal-num">285</div> | |||
</div> | |||
<div class="workplace-goal-text">恭喜,本月目标已达标!</div> | |||
</div> | |||
</el-card> | |||
</el-col> | |||
<el-col :sm="16"> | |||
<el-card class="workplace-table-card" shadow="never" header="项目进度" body-style="padding:12px;"> | |||
<el-table :data="projectList" height="358"> | |||
<el-table-column type="index" width="35" min-width="35" align="right"/> | |||
<el-table-column label="项目名称" min-width="110"> | |||
<template slot-scope="{row}"> | |||
<el-link type="primary" :underline="false">{{ row.projectName }}</el-link> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="startDate" label="开始时间" width="95" min-width="80" align="center"/> | |||
<el-table-column prop="endDate" label="结束时间" width="95" min-width="80" align="center"/> | |||
<el-table-column label="状态" width="70" min-width="60" align="center"> | |||
<template slot-scope="{row}"> | |||
<span | |||
:class="['ele-text-success','ele-text-danger','ele-text-warning','ele-text-info ele-text-delete'][row.state]"> | |||
{{ ['进行中', '已延期', '未开始', '已结束'][row.state] }} | |||
</span> | |||
</template> | |||
</el-table-column> | |||
<el-table-column label="进度" width="160" min-width="100" align="center"> | |||
<template slot-scope="{row}"> | |||
<el-progress :percentage="row.progress" class="ele-text-small"/> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
</el-card> | |||
</el-col> | |||
<el-col :sm="8"> | |||
<el-card shadow="never" header="小组成员" body-style="padding:19px 0;"> | |||
<div v-for="(item,index) in userList" :key="index" class="ele-cell user-list-item"> | |||
<el-avatar :size="42" :src="item.avatar"/> | |||
<div class="ele-cell-content"> | |||
<div class="ele-cell-title">{{ item.name }}</div> | |||
<div class="ele-cell-desc">{{ item.desc }}</div> | |||
</div> | |||
<el-tag size="mini" :type="['success','danger'][item.state]">{{ ['在线', '离线'][item.state] }}</el-tag> | |||
</div> | |||
</el-card> | |||
</el-col> | |||
</el-row> | |||
<img class="showImg" src="@/assets/dashboard.jpg" alt=""> | |||
</div> | |||
</template> | |||
<script> | |||
import ElTableDraggable from '@/components/Sortable/ElTableDraggable' | |||
export default { | |||
name: "Workplace", | |||
components: {ElTableDraggable}, | |||
components: {}, | |||
data() { | |||
return { | |||
activities: [ | |||
{title: 'SunSmile 解决了bug 登录提示操作失败', timestamp: '20:30', primary: false}, | |||
{title: 'Jasmine 解决了bug 按钮颜色与设计不符', timestamp: '19:30', primary: false}, | |||
{title: '项目经理 指派了任务 解决项目一的bug', timestamp: '18:30', primary: true}, | |||
{title: '项目经理 指派了任务 解决项目二的bug', timestamp: '17:30', primary: true}, | |||
{title: '项目经理 指派了任务 解决项目三的bug', timestamp: '16:30', primary: true}, | |||
{title: '项目经理 指派了任务 解决项目四的bug', timestamp: '15:30', primary: false}, | |||
{title: '项目经理 指派了任务 解决项目五的bug', timestamp: '14:30', primary: false}, | |||
{title: '项目经理 指派了任务 解决项目六的bug', timestamp: '12:30', primary: false}, | |||
{title: '项目经理 指派了任务 解决项目七的bug', timestamp: '11:30', primary: true}, | |||
{title: '项目经理 指派了任务 解决项目八的bug', timestamp: '10:30', primary: false}, | |||
{title: '项目经理 指派了任务 解决项目九的bug', timestamp: '09:30', primary: false}, | |||
{title: '项目经理 指派了任务 解决项目十的bug', timestamp: '08:30', primary: false} | |||
], | |||
taskList: [ | |||
{id: 1, priority: 1, taskName: '解决项目一的bug', state: 0}, | |||
{id: 2, priority: 2, taskName: '解决项目二的bug', state: 0}, | |||
{id: 3, priority: 2, taskName: '解决项目三的bug', state: 1}, | |||
{id: 4, priority: 3, taskName: '解决项目四的bug', state: 1}, | |||
{id: 5, priority: 3, taskName: '解决项目五的bug', state: 2}, | |||
{id: 6, priority: 3, taskName: '解决项目六的bug', state: 2} | |||
], | |||
projectList: [ | |||
{projectName: '项目0000001', state: 0, startDate: '2020-03-01', endDate: '2020-06-01', progress: 30}, | |||
{projectName: '项目0000002', state: 0, startDate: '2020-03-01', endDate: '2020-08-01', progress: 10}, | |||
{projectName: '项目0000003', state: 1, startDate: '2020-01-01', endDate: '2020-05-01', progress: 60}, | |||
{projectName: '项目0000004', state: 1, startDate: '2020-06-01', endDate: '2020-10-01', progress: 0}, | |||
{projectName: '项目0000005', state: 2, startDate: '2020-01-01', endDate: '2020-03-01', progress: 100}, | |||
{projectName: '项目0000006', state: 3, startDate: '2020-01-01', endDate: '2020-03-01', progress: 100}, | |||
{projectName: '项目0000007', state: 3, startDate: '2020-01-01', endDate: '2020-03-01', progress: 100} | |||
], | |||
userList: [ | |||
{ | |||
name: 'SunSmile', desc: 'UI设计师、交互专家', state: 0, | |||
avatar: 'https://cdn.eleadmin.com/20200609/c184eef391ae48dba87e3057e70238fb.jpg' | |||
}, | |||
{ | |||
name: '你的名字很好听', desc: '前端工程师', state: 0, | |||
avatar: 'https://cdn.eleadmin.com/20200609/b6a811873e704db49db994053a5019b2.jpg' | |||
}, | |||
{ | |||
name: '全村人的希望', desc: '前端工程师', state: 0, | |||
avatar: 'https://cdn.eleadmin.com/20200609/948344a2a77c47a7a7b332fe12ff749a.jpg' | |||
}, | |||
{ | |||
name: 'Jasmine', desc: '产品经理、项目经理', state: 1, | |||
avatar: 'https://cdn.eleadmin.com/20200609/f6bc05af944a4f738b54128717952107.jpg' | |||
}, | |||
{ | |||
name: '酷酷的大叔', desc: '组长、后端工程师', state: 1, | |||
avatar: 'https://cdn.eleadmin.com/20200609/2d98970a51b34b6b859339c96b240dcd.jpg' | |||
} | |||
] | |||
} | |||
}, | |||
mounted() { | |||
@@ -275,138 +25,9 @@ export default { | |||
.ele-body { | |||
padding-bottom: 0; | |||
} | |||
.el-card { | |||
margin-bottom: 15px; | |||
} | |||
/** 顶部统计 */ | |||
.workplace-count-group { | |||
white-space: nowrap; | |||
} | |||
.workplace-count-item { | |||
padding: 0 5px 0 25px; | |||
box-sizing: border-box; | |||
display: inline-block; | |||
text-align: right; | |||
} | |||
.workplace-count-name { | |||
padding-left: 5px; | |||
} | |||
.workplace-count-num { | |||
font-size: 23px; | |||
margin-top: 6px; | |||
} | |||
@media screen and (max-width: 992px) { | |||
.workplace-count-item { | |||
padding: 0 5px 0 10px; | |||
} | |||
} | |||
@media screen and (max-width: 768px) { | |||
.workplace-user-card, .workplace-count-group { | |||
display: block; | |||
} | |||
.workplace-count-group { | |||
margin-top: 15px; | |||
text-align: right; | |||
} | |||
} | |||
/** 快捷方式 */ | |||
.app-link-block { | |||
cursor: pointer; | |||
text-align: center; | |||
padding: 15px 0; | |||
} | |||
.app-link-block .app-link-icon { | |||
color: #69c0ff; | |||
font-size: 30px; | |||
margin-top: 5px; | |||
} | |||
.app-link-block .app-link-title { | |||
margin-top: 8px; | |||
} | |||
/** 最新动态时间轴 */ | |||
.ele-timeline-act { | |||
padding-left: 50px; | |||
} | |||
.ele-timeline-act >>> .el-timeline-item__timestamp { | |||
margin: 0; | |||
position: absolute; | |||
top: 3px; | |||
left: -45px; | |||
} | |||
.ele-timeline-act >>> .el-timeline-item { | |||
padding-bottom: 19px; | |||
} | |||
.ele-timeline-act >>> .el-timeline-item:last-child { | |||
padding-bottom: 0; | |||
} | |||
/** 表格 */ | |||
.workplace-table-card >>> .el-table tbody > .el-table__row:last-child td { | |||
border-bottom: none; | |||
} | |||
.workplace-table-card >>> .el-table:before { | |||
display: none; | |||
} | |||
.sort-handle { | |||
cursor: move; | |||
font-size: 18px; | |||
vertical-align: middle; | |||
} | |||
.ele-body >>> .el-table__row.sortable-chosen { | |||
background-color: hsla(0, 0%, 60%, .1); | |||
} | |||
.ele-body >>> .el-table__row.sortable-chosen td { | |||
background-color: transparent; | |||
} | |||
/** 本月目标 */ | |||
.workplace-goal-group { | |||
text-align: center; | |||
position: relative; | |||
padding: 48px 0; | |||
} | |||
.workplace-goal-group .workplace-goal-content { | |||
position: absolute; | |||
top: 90px; | |||
left: 0; | |||
.showImg { | |||
width: 100%; | |||
height: auto; | |||
} | |||
.workplace-goal-group .workplace-goal-num { | |||
font-size: 40px; | |||
margin-top: 15px; | |||
} | |||
/** 小组成员 */ | |||
.user-list-item { | |||
padding: 13px 18px; | |||
} | |||
.user-list-item + .user-list-item { | |||
border-top: 1px solid hsla(0, 0%, 60%, .15); | |||
} | |||
.user-list-item .ele-cell-desc { | |||
margin-top: 5px; | |||
} | |||
</style> |
@@ -1,10 +1,130 @@ | |||
<template> | |||
<div class="basic-target ele-body"></div> | |||
<div class="basic-target ele-body"> | |||
<el-card> | |||
<search></search> | |||
<el-table | |||
highlight-current-row | |||
:data="dataList" | |||
border | |||
:height="tableHeight" | |||
@selection-change="selectionChange" | |||
v-loading="loading" | |||
> | |||
<el-table-column | |||
type="index" | |||
width="50" | |||
align="center" | |||
label="编号" | |||
></el-table-column> | |||
<el-table-column | |||
label="考核内容和计分规则" | |||
min-width="80" | |||
align="center" | |||
prop="content" | |||
></el-table-column> | |||
<el-table-column | |||
label="分值" | |||
min-width="100" | |||
align="center" | |||
prop="points" | |||
></el-table-column> | |||
<el-table-column | |||
label="预计得分" | |||
min-width="100" | |||
align="center" | |||
prop="expectedPoints" | |||
></el-table-column> | |||
<el-table-column | |||
label="区牵头单位" | |||
min-width="100" | |||
align="center" | |||
prop="leaderUnit" | |||
></el-table-column> | |||
<el-table-column | |||
label="牵头部门" | |||
min-width="80" | |||
align="center" | |||
prop="leaderDeptList" | |||
></el-table-column> | |||
<el-table-column | |||
label="责任领导" | |||
min-width="100" | |||
align="center" | |||
prop="leaderPrincipal" | |||
></el-table-column> | |||
<el-table-column | |||
label="得分说明" | |||
min-width="80" | |||
align="center" | |||
prop="note" | |||
></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" | |||
@current-change="getDataList()" | |||
/> | |||
</el-card> | |||
</div> | |||
</template> | |||
<script> | |||
import search from '../assessingTarget/search' | |||
import api from '../../api/summary/basicTarget' | |||
export default { | |||
name: 'basic-target', | |||
data() { | |||
return { | |||
loading:false, | |||
tableHeight: document.documentElement.clientHeight - 360, | |||
dataList: [], | |||
count: 0, | |||
page: { | |||
page: 1, | |||
limit: Math.floor( | |||
(document.documentElement.clientHeight - 360 - 45) / 45 | |||
), | |||
}, | |||
} | |||
}, | |||
components: { | |||
search, | |||
}, | |||
created() { | |||
this.getDataList(); | |||
this.$store.dispatch('base/getQuota1List',1) | |||
}, | |||
methods: { | |||
selectionChange(rows) { | |||
this.multipleSelection = rows; | |||
}, | |||
getDataList(params) { | |||
this.loading=true | |||
api | |||
.getList(params ? Object.assign(this.page, params) : this.page) | |||
.then((res) => { | |||
this.loading=false | |||
let data = res.data.data.records; | |||
data = data.map((item) => { | |||
item.year = item.year + ""; | |||
return item; | |||
}); | |||
this.dataList = data; | |||
this.count = res.data.data.total; | |||
console.log(res.data); | |||
}) | |||
.catch(() => { | |||
this.loading=false | |||
this.dataList = []; | |||
this.count = 0; | |||
}); | |||
} | |||
} | |||
} | |||
</script> | |||
@@ -0,0 +1,114 @@ | |||
<template> | |||
<div class="search"> | |||
<el-form :inline="true" :model="searchParams" size="small"> | |||
<el-form-item label="考核指标:"> | |||
<el-select v-model="searchParams.code" clearable filterable> | |||
<el-option | |||
v-for="(item, index) of indexList" | |||
:key="index" | |||
:label="item.code" | |||
:value="item.code" | |||
></el-option> | |||
</el-select> | |||
</el-form-item> | |||
<el-form-item label="考核内容:"> | |||
<el-input | |||
placeholder="请输入考核内容" | |||
v-model="searchParams.content" | |||
clearable | |||
></el-input> | |||
</el-form-item> | |||
<el-form-item label="牵头单位:"> | |||
<el-input | |||
placeholder="请输入牵头单位" | |||
v-model="searchParams.utils" | |||
clearable | |||
></el-input> | |||
</el-form-item> | |||
<el-form-item label="牵头部门:"> | |||
<el-select v-model="searchParams.code" clearable filterable> | |||
<el-option | |||
v-for="(item, index) of indexList" | |||
:key="index" | |||
:label="item.code" | |||
:value="item.code" | |||
></el-option> | |||
</el-select> | |||
</el-form-item> | |||
<el-form-item label="配合部门:"> | |||
<el-select v-model="searchParams.code" clearable filterable> | |||
<el-option | |||
v-for="(item, index) of indexList" | |||
:key="index" | |||
:label="item.code" | |||
:value="item.code" | |||
></el-option> | |||
</el-select> | |||
</el-form-item> | |||
<el-button type="primary" size="small" class="search-btn" @click="search" | |||
>查询</el-button | |||
> | |||
<el-button | |||
type="default" | |||
size="small" | |||
class="search-btn" | |||
@click=" | |||
clear(); | |||
search(); | |||
" | |||
>清空</el-button | |||
> | |||
</el-form> | |||
</div> | |||
</template> | |||
<script> | |||
import api from "@/api/basicTable/category"; | |||
export default { | |||
data() { | |||
return { | |||
searchParams: { | |||
year: "", | |||
code: "", | |||
name: "", | |||
}, | |||
indexList: [], | |||
}; | |||
}, | |||
methods: { | |||
clear() { | |||
this.searchParams = { | |||
year: "", | |||
code: "", | |||
name: "", | |||
}; | |||
}, | |||
search() { | |||
this.$emit("search", this.searchParams); | |||
}, | |||
getCodeByYear() { | |||
api | |||
.getCodeByYear(this.searchParams.year) | |||
.then((res) => { | |||
this.codeList = res.data.data; | |||
}) | |||
.catch(() => { | |||
this.codeList = []; | |||
}); | |||
}, | |||
}, | |||
watch: { | |||
"searchParams.year"(val) { | |||
console.log(val); | |||
if (!val) { | |||
this.$set(this.searchParams, "code", ""); | |||
this.codeList = []; | |||
} | |||
}, | |||
}, | |||
}; | |||
</script> | |||
<style scoped> | |||
</style> |
@@ -0,0 +1,117 @@ | |||
<template> | |||
<div class="search"> | |||
<el-form :inline="true" :model="searchParams" size="small"> | |||
<el-form-item label="一级指标:"> | |||
<el-select v-model="searchParams.code" clearable filterable> | |||
<el-option | |||
v-for="(item, index) of indexList" | |||
:key="index" | |||
:label="item.code" | |||
:value="item.code" | |||
></el-option> | |||
</el-select> | |||
</el-form-item> | |||
<el-form-item label="表二级指标:"> | |||
<el-select v-model="searchParams.code" clearable filterable> | |||
<el-option | |||
v-for="(item, index) of indexList" | |||
:key="index" | |||
:label="item.code" | |||
:value="item.code" | |||
></el-option> | |||
</el-select> | |||
</el-form-item> | |||
<el-form-item label="考核内容:"> | |||
<el-input | |||
placeholder="请输入考核内容" | |||
v-model="searchParams.content" | |||
clearable | |||
></el-input> | |||
</el-form-item> | |||
<el-form-item label="牵头部门:"> | |||
<el-select v-model="searchParams.code" clearable filterable> | |||
<el-option | |||
v-for="(item, index) of indexList" | |||
:key="index" | |||
:label="item.code" | |||
:value="item.code" | |||
></el-option> | |||
</el-select> | |||
</el-form-item> | |||
<el-form-item label="配合部门:"> | |||
<el-select v-model="searchParams.code" clearable filterable> | |||
<el-option | |||
v-for="(item, index) of indexList" | |||
:key="index" | |||
:label="item.code" | |||
:value="item.code" | |||
></el-option> | |||
</el-select> | |||
</el-form-item> | |||
<el-button type="primary" size="small" class="search-btn" @click="search" | |||
>查询</el-button | |||
> | |||
<el-button | |||
type="default" | |||
size="small" | |||
class="search-btn" | |||
@click=" | |||
clear(); | |||
search(); | |||
" | |||
>清空</el-button | |||
> | |||
</el-form> | |||
</div> | |||
</template> | |||
<script> | |||
import api from "@/api/basicTable/category"; | |||
export default { | |||
data() { | |||
return { | |||
searchParams: { | |||
year: "", | |||
code: "", | |||
name: "", | |||
}, | |||
indexList: [], | |||
}; | |||
}, | |||
methods: { | |||
clear() { | |||
this.searchParams = { | |||
year: "", | |||
code: "", | |||
name: "", | |||
}; | |||
}, | |||
search() { | |||
this.$emit("search", this.searchParams); | |||
}, | |||
getCodeByYear() { | |||
api | |||
.getCodeByYear(this.searchParams.year) | |||
.then((res) => { | |||
this.codeList = res.data.data; | |||
}) | |||
.catch(() => { | |||
this.codeList = []; | |||
}); | |||
}, | |||
}, | |||
watch: { | |||
"searchParams.year"(val) { | |||
console.log(val); | |||
if (!val) { | |||
this.$set(this.searchParams, "code", ""); | |||
this.codeList = []; | |||
} | |||
}, | |||
}, | |||
}; | |||
</script> | |||
<style scoped> | |||
</style> |
@@ -1,10 +1,124 @@ | |||
<template> | |||
<div class="constraint ele-body"></div> | |||
<div class="constraint ele-body"> | |||
<el-card> | |||
<search></search> | |||
<el-table | |||
highlight-current-row | |||
:data="dataList" | |||
border | |||
:height="tableHeight" | |||
@selection-change="selectionChange" | |||
v-loading="loading" | |||
> | |||
<el-table-column | |||
type="index" | |||
width="50" | |||
align="center" | |||
label="编号" | |||
></el-table-column> | |||
<el-table-column | |||
label="考核内容和计分规则" | |||
min-width="80" | |||
align="center" | |||
prop="content" | |||
></el-table-column> | |||
<el-table-column | |||
label="预计扣分" | |||
min-width="100" | |||
align="center" | |||
prop="expectedPoints" | |||
></el-table-column> | |||
<el-table-column | |||
label="区牵头单位" | |||
min-width="100" | |||
align="center" | |||
prop="leaderUnit" | |||
></el-table-column> | |||
<el-table-column | |||
label="牵头部门" | |||
min-width="80" | |||
align="center" | |||
prop="leaderDept" | |||
></el-table-column> | |||
<el-table-column | |||
label="责任领导" | |||
min-width="100" | |||
align="center" | |||
prop="leaderPrincipal" | |||
></el-table-column> | |||
<el-table-column | |||
label="扣分说明" | |||
min-width="80" | |||
align="center" | |||
prop="note" | |||
></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" | |||
@current-change="getDataList()" | |||
/> | |||
</el-card> | |||
</div> | |||
</template> | |||
<script> | |||
import search from '../assessingTarget/search' | |||
import api from '../../api/summary/constraint' | |||
export default { | |||
name: 'constraint', | |||
data() { | |||
return { | |||
loading:false, | |||
tableHeight: document.documentElement.clientHeight - 360, | |||
dataList: [], | |||
count: 0, | |||
page: { | |||
page: 1, | |||
limit: Math.floor( | |||
(document.documentElement.clientHeight - 360 - 45) / 45 | |||
), | |||
}, | |||
} | |||
}, | |||
components: { | |||
search, | |||
}, | |||
created() { | |||
this.getDataList(); | |||
this.$store.dispatch('base/getQuota1List',1) | |||
}, | |||
methods: { | |||
selectionChange(rows) { | |||
this.multipleSelection = rows; | |||
}, | |||
getDataList(params) { | |||
this.loading=true | |||
api | |||
.getList(params ? Object.assign(this.page, params) : this.page) | |||
.then((res) => { | |||
this.loading=false | |||
let data = res.data.data.records; | |||
data = data.map((item) => { | |||
item.year = item.year + ""; | |||
return item; | |||
}); | |||
this.dataList = data; | |||
this.count = res.data.data.total; | |||
console.log(res.data); | |||
}) | |||
.catch(() => { | |||
this.loading=false | |||
this.dataList = []; | |||
this.count = 0; | |||
}); | |||
} | |||
} | |||
} | |||
</script> | |||
@@ -80,7 +80,14 @@ | |||
</template> | |||
<script> | |||
export default {}; | |||
export default { | |||
name: 'department', | |||
data () { | |||
return { | |||
dataList: [], | |||
} | |||
} | |||
}; | |||
</script> | |||
<style scoped> |
@@ -1,23 +1,128 @@ | |||
<template> | |||
<div class="reward ele-body"> | |||
<el-table :data="dataList" style="width:500px;"> | |||
<el-table-column label="测试"> | |||
<template slot-scope="{row}"> | |||
<el-input type="textarea" resize="none" v-model="row.name"></el-input> | |||
<!-- <span>{{row.name}}</span> --> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
<el-card> | |||
<search></search> | |||
<el-table | |||
highlight-current-row | |||
:data="dataList" | |||
border | |||
:height="tableHeight" | |||
@selection-change="selectionChange" | |||
v-loading="loading" | |||
> | |||
<el-table-column | |||
type="index" | |||
width="50" | |||
align="center" | |||
label="编号" | |||
></el-table-column> | |||
<el-table-column | |||
label="考核内容和计分规则" | |||
min-width="80" | |||
align="center" | |||
prop="content" | |||
></el-table-column> | |||
<el-table-column | |||
label="封顶分值" | |||
min-width="100" | |||
align="center" | |||
prop="points" | |||
></el-table-column> | |||
<el-table-column | |||
label="预计加分" | |||
min-width="100" | |||
align="center" | |||
prop="expectedPoints" | |||
></el-table-column> | |||
<el-table-column | |||
label="区牵头单位" | |||
min-width="100" | |||
align="center" | |||
prop="leaderUnit" | |||
></el-table-column> | |||
<el-table-column | |||
label="牵头部门" | |||
min-width="80" | |||
align="center" | |||
prop="leaderDept" | |||
></el-table-column> | |||
<el-table-column | |||
label="责任领导" | |||
min-width="100" | |||
align="center" | |||
prop="leaderPrincipal" | |||
></el-table-column> | |||
<el-table-column | |||
label="得分说明" | |||
min-width="80" | |||
align="center" | |||
prop="note" | |||
></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" | |||
@current-change="getDataList()" | |||
/> | |||
</el-card> | |||
</div> | |||
</template> | |||
<script> | |||
import search from '../assessingTarget/search'; | |||
import api from '../../api/summary/reward' | |||
export default { | |||
data(){ | |||
name: '', | |||
data() { | |||
return { | |||
dataList:[ | |||
{name:"zhou"} | |||
] | |||
loading:false, | |||
tableHeight: document.documentElement.clientHeight - 360, | |||
dataList: [], | |||
count: 0, | |||
page: { | |||
page: 1, | |||
limit: Math.floor( | |||
(document.documentElement.clientHeight - 360 - 45) / 45 | |||
), | |||
}, | |||
} | |||
}, | |||
components: { | |||
search, | |||
}, | |||
created() { | |||
this.getDataList(); | |||
this.$store.dispatch('base/getQuota1List',1) | |||
}, | |||
methods: { | |||
selectionChange(rows) { | |||
this.multipleSelection = rows; | |||
}, | |||
getDataList(params) { | |||
this.loading=true | |||
api | |||
.getList(params ? Object.assign(this.page, params) : this.page) | |||
.then((res) => { | |||
this.loading=false | |||
let data = res.data.data.records; | |||
data = data.map((item) => { | |||
item.year = item.year + ""; | |||
return item; | |||
}); | |||
this.dataList = data; | |||
this.count = res.data.data.total; | |||
console.log(res.data); | |||
}) | |||
.catch(() => { | |||
this.loading=false | |||
this.dataList = []; | |||
this.count = 0; | |||
}); | |||
} | |||
} | |||
} |