@@ -0,0 +1,7 @@ | |||
import axios from "@/config/axios" | |||
export default{ | |||
getList(params){ | |||
console.log(params) | |||
return axios.get("/commonquotatask/index",{params}) | |||
} | |||
} |
@@ -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}) | |||
} | |||
} |
@@ -0,0 +1,111 @@ | |||
<template> | |||
<div class="basic-target ele-body"> | |||
<el-card shadow="never"> | |||
<el-table | |||
:data="dataList" | |||
border | |||
highlight-current-row | |||
:height="tableHeight" | |||
v-loading="loading" | |||
> | |||
<el-table-column | |||
label="类别" | |||
min-width="80" | |||
align="center" | |||
prop="categoryName" | |||
></el-table-column> | |||
<el-table-column type="index" label="序号" align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
label="指标名称" | |||
min-width="150" | |||
align="center" | |||
prop="quotaName" | |||
></el-table-column> | |||
<el-table-column | |||
label="单位" | |||
min-width="60" | |||
align="center" | |||
prop="quotaUnit" | |||
></el-table-column> | |||
<el-table-column | |||
label="江宁开发区" | |||
min-width="80" | |||
align="center" | |||
prop="jiangningDevzone" | |||
></el-table-column> | |||
<el-table-column | |||
label="江宁高新区" | |||
min-width="80" | |||
align="center" | |||
prop="jiangningHighzone" | |||
></el-table-column> | |||
<el-table-column | |||
label="滨江开发区" | |||
min-width="80" | |||
align="center" | |||
prop="binjiangDevzone" | |||
></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 api from "@/api/assessingTarget/commonquotatask"; | |||
export default { | |||
components: { | |||
}, | |||
data() { | |||
return { | |||
dataList: [], | |||
loading: false, | |||
count: 0, | |||
tableHeight:document.documentElement.clientHeight - 470, | |||
page: { | |||
page: 1, | |||
limit: Math.floor( | |||
(document.documentElement.clientHeight - 470 - 45) / 45 | |||
), | |||
}, | |||
}; | |||
}, | |||
created() { | |||
this.getDataList(); | |||
}, | |||
methods: { | |||
getDataList(params) { | |||
this.loading = true; | |||
api | |||
.getList(params ? Object.assign(this.page, params) : this.page) | |||
.then((res) => { | |||
console.log(res.data); | |||
this.loading = false; | |||
let data = res.data.data | |||
this.dataList = data; | |||
this.count = res.data.data.total; | |||
}) | |||
.catch(() => { | |||
this.loading = false; | |||
this.dataList = []; | |||
this.count = 0; | |||
}); | |||
}, | |||
}, | |||
}; | |||
</script> | |||
<style> | |||
</style> |
@@ -66,6 +66,13 @@ | |||
></el-table-column> | |||
<el-table-column label="操作" min-width="120" align="center"> | |||
<template slot-scope="{ row }"> | |||
<el-link | |||
@click="look(row)" | |||
icon="el-icon-view" | |||
type="primary" | |||
:underline="false" | |||
>查看</el-link | |||
> | |||
<el-link | |||
@click="edit(row)" | |||
icon="el-icon-edit" | |||
@@ -100,8 +107,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 +125,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 +147,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 +187,8 @@ export default { | |||
loading: false, | |||
dataList: [], | |||
count: 0, | |||
dialogTitle:'添加表', | |||
ischecked: 'edit', | |||
page: { | |||
page: 1, | |||
limit: Math.floor( | |||
@@ -229,12 +250,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) { |
@@ -58,11 +58,7 @@ | |||
min-width="80" | |||
prop="num" | |||
></el-table-column> | |||
<!-- <el-table-column | |||
label="操作" | |||
min-width="150" | |||
align="center" | |||
></el-table-column> --> | |||
</el-table> | |||
<el-pagination | |||
:current-page.sync="page.page" | |||
@@ -207,6 +203,7 @@ export default { | |||
.getList(Object.assign({}, this.searchParams, this.page)) | |||
.then((res) => { | |||
this.loading = false; | |||
console.log(res.data.data.records); | |||
let data = res.data.data.records; | |||
data = data.map((item) => { | |||
item.year = item.year + ""; |
@@ -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> | |||
@@ -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; | |||
}); | |||
} | |||
} | |||
} |
@@ -61,6 +61,7 @@ | |||
</el-tag> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="deptId" label="部门" sortable="custom" show-overflow-tooltip min-width="100"/> | |||
<el-table-column prop="levelName" label="职级" sortable="custom" show-overflow-tooltip min-width="100"/> | |||
<el-table-column prop="positionName" label="岗位" sortable="custom" show-overflow-tooltip min-width="100"/> | |||
<el-table-column label="创建时间" sortable="custom" show-overflow-tooltip min-width="160"> | |||
@@ -111,11 +112,12 @@ | |||
<el-option v-for="item in levelList" :key="item.id" :label="item.name" :value="item.id"/> | |||
</el-select> | |||
</el-form-item> | |||
<el-form-item label="角色:" prop="roleIds"> | |||
<el-select v-model="editForm.roleIds" placeholder="请选择角色" class="ele-block" clearable multiple> | |||
<el-option v-for="(item,index) in roleList" :key="index" :label="item.name" :value="item.id"/> | |||
<el-form-item label="部门:" prop="roleIds"> | |||
<el-select v-model="editForm.roleIds" placeholder="请选择部门" class="ele-block" clearable multiple> | |||
<el-option v-for="(item,index) in departmentsList" :key="index" :label="item.name" :value="item.id"/> | |||
</el-select> | |||
</el-form-item> | |||
</el-col> | |||
<el-col :sm="12"> | |||
<el-form-item label="手机号:"> | |||
@@ -137,6 +139,11 @@ | |||
<el-form-item label="登录密码:" prop="password" v-if="!editForm.id"> | |||
<el-input v-model="editForm.password" placeholder="请输入登录密码" show-password/> | |||
</el-form-item> | |||
<el-form-item label="角色:" prop="roleIds"> | |||
<el-select v-model="editForm.roleIds" placeholder="请选择角色" class="ele-block" clearable multiple> | |||
<el-option v-for="(item,index) in roleList" :key="index" :label="item.name" :value="item.id"/> | |||
</el-select> | |||
</el-form-item> | |||
</el-col> | |||
</el-row> | |||
</el-form> | |||
@@ -179,6 +186,7 @@ export default { | |||
roleList: [], // 角色列表 | |||
levelList:[], // 职级列表 | |||
positionList:[], // 岗位列表 | |||
departmentsList: [], // 部门列表 | |||
} | |||
}, | |||
@@ -187,6 +195,7 @@ export default { | |||
this.queryRoles(); // 查询角色列表 | |||
this.getLevelList(); // 查询职级列表 | |||
this.getPositionList(); // 查询岗位列表 | |||
this.getDepList(); // 查询部门列表 | |||
}, | |||
methods: { | |||
/* 显示编辑 */ | |||
@@ -311,6 +320,21 @@ export default { | |||
}).catch(e => { | |||
this.$message.error(e.message); | |||
}); | |||
}, | |||
/** | |||
* 获取部门列表 | |||
*/ | |||
getDepList() { | |||
this.$http.get('/dept/getDeptList/1').then(res => { | |||
if (res.data.code === 0) { | |||
this.departmentsList = res.data.data; | |||
console.log(this.departmentsList); | |||
} else { | |||
this.$message.error(res.data.msg); | |||
} | |||
}).catch(e => { | |||
this.$message.error(e.message); | |||
}); | |||
} | |||
} | |||
} |