import axios from "@/config/axios" | |||||
export default{ | |||||
getList(params){ | |||||
console.log(params) | |||||
return axios.get("/commonquotatask/index",{params}) | |||||
} | |||||
} |
import axios from "@/config/axios" | |||||
export default{ | |||||
getList(params){ | |||||
return axios.get("/statistics/basicTask",{params}) | |||||
} | |||||
} |
import axios from "@/config/axios" | |||||
export default{ | |||||
getList(params){ | |||||
return axios.get("/statistics/rigidityConstraint",{params}) | |||||
} | |||||
} |
import axios from "@/config/axios" | |||||
export default{ | |||||
getList(params){ | |||||
return axios.get("/statistics/specialPower",{params}) | |||||
} | |||||
} |
<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> |
></el-table-column> | ></el-table-column> | ||||
<el-table-column label="操作" min-width="120" align="center"> | <el-table-column label="操作" min-width="120" align="center"> | ||||
<template slot-scope="{ row }"> | <template slot-scope="{ row }"> | ||||
<el-link | |||||
@click="look(row)" | |||||
icon="el-icon-view" | |||||
type="primary" | |||||
:underline="false" | |||||
>查看</el-link | |||||
> | |||||
<el-link | <el-link | ||||
@click="edit(row)" | @click="edit(row)" | ||||
icon="el-icon-edit" | icon="el-icon-edit" | ||||
@current-change="getDataList()" | @current-change="getDataList()" | ||||
/> | /> | ||||
</el-card> | </el-card> | ||||
<el-dialog | |||||
title="添加表" | |||||
<el-dialog | |||||
:title="dialogTitle" | |||||
:visible.sync="showAdd" | :visible.sync="showAdd" | ||||
width="400px" | width="400px" | ||||
custom-class="ele-dialog-form" | custom-class="ele-dialog-form" | ||||
ref="editForm" | ref="editForm" | ||||
:rules="rules" | :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> | ||||
<el-form-item label="表格名称:" prop="name"> | <el-form-item label="表格名称:" prop="name"> | ||||
<el-input | <el-input | ||||
:disabled='ischecked=="look"' | |||||
placeholder="请输入如表格名称" | placeholder="请输入如表格名称" | ||||
clearable | clearable | ||||
v-model="form.name" | v-model="form.name" | ||||
</el-form-item> | </el-form-item> | ||||
<el-form-item label="表编号:" prop="code"> | <el-form-item label="表编号:" prop="code"> | ||||
<el-input | <el-input | ||||
:disabled='ischecked=="look"' | |||||
placeholder="请输入表编号" | placeholder="请输入表编号" | ||||
clearable | clearable | ||||
v-model="form.code" | v-model="form.code" | ||||
></el-input> | ></el-input> | ||||
</el-form-item> | </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-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-item> | ||||
</el-form> | </el-form> | ||||
<div slot="footer"> | <div slot="footer"> | ||||
<el-button @click="showAdd = false">取消</el-button> | <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> | </div> | ||||
</el-dialog> | </el-dialog> | ||||
</div> | </div> | ||||
loading: false, | loading: false, | ||||
dataList: [], | dataList: [], | ||||
count: 0, | count: 0, | ||||
dialogTitle:'添加表', | |||||
ischecked: 'edit', | |||||
page: { | page: { | ||||
page: 1, | page: 1, | ||||
limit: Math.floor( | limit: Math.floor( | ||||
}); | }); | ||||
}, | }, | ||||
add() { | add() { | ||||
this.dialogTitle = '添加表' | |||||
this.form = { code: "", name: "", note: "", year: "" }; | this.form = { code: "", name: "", note: "", year: "" }; | ||||
this.showAdd = true; | 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) { | edit(row) { | ||||
this.form = Object.assign({}, row); | |||||
this.form = Object.assign({}, row) | |||||
this.showAdd = true; | this.showAdd = true; | ||||
this.dialogTitle = '编辑表' | |||||
this.ischecked = 'edit' | |||||
}, | }, | ||||
remove(row) { | remove(row) { | ||||
if (!row) { | if (!row) { |
min-width="80" | min-width="80" | ||||
prop="num" | prop="num" | ||||
></el-table-column> | ></el-table-column> | ||||
<!-- <el-table-column | |||||
label="操作" | |||||
min-width="150" | |||||
align="center" | |||||
></el-table-column> --> | |||||
</el-table> | </el-table> | ||||
<el-pagination | <el-pagination | ||||
:current-page.sync="page.page" | :current-page.sync="page.page" | ||||
.getList(Object.assign({}, this.searchParams, this.page)) | .getList(Object.assign({}, this.searchParams, this.page)) | ||||
.then((res) => { | .then((res) => { | ||||
this.loading = false; | this.loading = false; | ||||
console.log(res.data.data.records); | |||||
let data = res.data.data.records; | let data = res.data.data.records; | ||||
data = data.map((item) => { | data = data.map((item) => { | ||||
item.year = item.year + ""; | item.year = item.year + ""; |
<template> | <template> | ||||
<div class="ele-body"> | <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> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import ElTableDraggable from '@/components/Sortable/ElTableDraggable' | |||||
export default { | export default { | ||||
name: "Workplace", | name: "Workplace", | ||||
components: {ElTableDraggable}, | |||||
components: {}, | |||||
data() { | data() { | ||||
return { | 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() { | mounted() { | ||||
.ele-body { | .ele-body { | ||||
padding-bottom: 0; | 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%; | 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> | </style> |
<template> | <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> | </template> | ||||
<script> | <script> | ||||
import search from '../assessingTarget/search' | |||||
import api from '../../api/summary/basicTarget' | |||||
export default { | 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> | </script> | ||||
<template> | <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> | </template> | ||||
<script> | <script> | ||||
import search from '../assessingTarget/search' | |||||
import api from '../../api/summary/constraint' | |||||
export default { | 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> | </script> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
export default {}; | |||||
export default { | |||||
name: 'department', | |||||
data () { | |||||
return { | |||||
dataList: [], | |||||
} | |||||
} | |||||
}; | |||||
</script> | </script> | ||||
<style scoped> | <style scoped> |
<template> | <template> | ||||
<div class="reward ele-body"> | <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> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import search from '../assessingTarget/search'; | |||||
import api from '../../api/summary/reward' | |||||
export default { | export default { | ||||
data(){ | |||||
name: '', | |||||
data() { | |||||
return { | 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; | |||||
}); | |||||
} | } | ||||
} | } | ||||
} | } |
</el-tag> | </el-tag> | ||||
</template> | </template> | ||||
</el-table-column> | </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="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 prop="positionName" label="岗位" sortable="custom" show-overflow-tooltip min-width="100"/> | ||||
<el-table-column label="创建时间" sortable="custom" show-overflow-tooltip min-width="160"> | <el-table-column label="创建时间" sortable="custom" show-overflow-tooltip min-width="160"> | ||||
<el-option v-for="item in levelList" :key="item.id" :label="item.name" :value="item.id"/> | <el-option v-for="item in levelList" :key="item.id" :label="item.name" :value="item.id"/> | ||||
</el-select> | </el-select> | ||||
</el-form-item> | </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-select> | ||||
</el-form-item> | </el-form-item> | ||||
</el-col> | </el-col> | ||||
<el-col :sm="12"> | <el-col :sm="12"> | ||||
<el-form-item label="手机号:"> | <el-form-item label="手机号:"> | ||||
<el-form-item label="登录密码:" prop="password" v-if="!editForm.id"> | <el-form-item label="登录密码:" prop="password" v-if="!editForm.id"> | ||||
<el-input v-model="editForm.password" placeholder="请输入登录密码" show-password/> | <el-input v-model="editForm.password" placeholder="请输入登录密码" show-password/> | ||||
</el-form-item> | </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-col> | ||||
</el-row> | </el-row> | ||||
</el-form> | </el-form> | ||||
roleList: [], // 角色列表 | roleList: [], // 角色列表 | ||||
levelList:[], // 职级列表 | levelList:[], // 职级列表 | ||||
positionList:[], // 岗位列表 | positionList:[], // 岗位列表 | ||||
departmentsList: [], // 部门列表 | |||||
} | } | ||||
}, | }, | ||||
this.queryRoles(); // 查询角色列表 | this.queryRoles(); // 查询角色列表 | ||||
this.getLevelList(); // 查询职级列表 | this.getLevelList(); // 查询职级列表 | ||||
this.getPositionList(); // 查询岗位列表 | this.getPositionList(); // 查询岗位列表 | ||||
this.getDepList(); // 查询部门列表 | |||||
}, | }, | ||||
methods: { | methods: { | ||||
/* 显示编辑 */ | /* 显示编辑 */ | ||||
}).catch(e => { | }).catch(e => { | ||||
this.$message.error(e.message); | 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); | |||||
}); | |||||
} | } | ||||
} | } | ||||
} | } |