This commit is contained in:
熊成强 2020-10-23 16:56:28 +08:00
commit c8095228d8
4 changed files with 157 additions and 22 deletions

View File

@ -11,7 +11,7 @@ module.exports = {
extends: [
// https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
// consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
'plugin:vue/essential',
'plugin:vue/essential',
// https://github.com/standard/standard/blob/master/docs/RULES-en.md
'standard'
],
@ -21,6 +21,7 @@ module.exports = {
],
// add your custom rules here
rules: {
'no-unused-vars': 'off',
// allow async-await
'generator-star-spacing': 'off',
// allow debugger during development

View File

@ -1,8 +1,13 @@
# linzi_kpi
# History版本管理
> A Vue.js project
> 绩效系统业务端相关代码库
> > 测试环境各自分支多需求开发完成统一合并dev_public预发环境合并dev线上环境合并master线上保护分支master_lock上一次发布的内容
## Build Setup
| version | time | author | desc |
| ------- | ---- | ------ | ---- |
| V1.0.0 | 2020-12-08 | xiongchengqiang、zhujida、yuyumin | 1.工作台新建考评组、发起考核2.考核管理3.绩效报表4.设置 |
## 开始使用
``` bash
# install dependencies

View File

@ -1,5 +1,5 @@
{
"name": "linzi_kpi",
"name": "digitization-ui",
"version": "1.0.0",
"description": "A Vue.js project",
"author": "xiongchengqiang <xiongchengqiang@linzikg.com>",

View File

@ -1,5 +1,5 @@
<template>
<div class="initiate-assessment">
<div class="initiate-assessment commonFont">
<el-form
:v-model="formData"
:rules="formRules"
@ -65,13 +65,9 @@
label="考核组名称"
prop="name"
></el-table-column>
<el-table-column
label="周期类型"
prop="cycleType"
></el-table-column>
<el-table-column
label="参与人数"
prop="personNumber"
prop="counts"
></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
@ -95,23 +91,82 @@
</el-form-item>
</div>
</el-form>
<div>
<popup-right
v-if="showChooseList"
@cancel='handleCancelPopup'
@submit="handleSubmitPopup"
:title="popupRightTitle"
class="popup"
>
<div slot="content">
<div class="popup-search">
<el-input
v-model="rqAssessmentParameter.searchName"
@change="handlePopupSearchChange"
prefix-icon="el-icon-search"
placeholder="搜索考评组"
size="mini"
></el-input>
</div>
<div class="popup-table">
<el-table
v-if="popupData.tableList.length"
:data="popupData.tableList"
@selection-change="handleSelectionChange"
tooltip-effect="dark"
>
<el-table-column
type="selection"
width="40"
></el-table-column>
<el-table-column
label="全选"
width="250"
><template slot-scope="scope">{{scope.row.name}}</template></el-table-column>
<el-table-column
width="80"
align="right"
><template slot-scope="scope">{{scope.row.counts}}</template></el-table-column>
</el-table>
<div
v-else
class="popup-empty"
>
<img
src=""
style="height: 150px; width: 150px;"
/>
<div>暂无考评组</div>
<div>考评组用于自定义配置被考核人的考核指标和考核流程</div>
<el-button
@click="handlePopupCreat"
type="text"
plain
>新建考评组</el-button>
</div>
</div>
</div>
<div
slot="footer-left"
class="popup-footer-left"
>已选择{{popupData.selectedList.length}}</div>
</popup-right>
</div>
</div>
</template>
<script>
import PopupRight from '@/components/PopupRight'
import { getWorkList, sendAssessmentInfo } from '@/api/workbench'
export default {
data () {
return {
popupRightTitle: '选择考评组(月度)考核',
showChooseList: false,
formData: {
cycleTimeType: 1,
rangDate: '',
assessmentList: [
{
name: '销售人员',
cycleType: '月度',
personNumber: '12人'
}
], //
assessmentList: [], //
mergeType: { //
type: 1,
name: '' // id
@ -120,15 +175,32 @@ export default {
formRules: {
cycleTimeType: { required: true, message: '请选择周期类型', trigger: 'blur' },
rangDate: { required: true, message: '请选择时间周期', trigger: 'blur' }
},
popupData: {
tableList: [],
selectedList: []
},
rqAssessmentParameter: {
currPage: 1,
pageSize: 20,
searchName: '',
totalCount: undefined,
totalPage: undefined
}
}
},
components: {
PopupRight
},
watch: {
'formData.cycleTimeType': function (newVal, oldVal) {
// console.log(this.formData.cycleTimeType)
this.formData.rangDate = ''
}
},
created () {
this.handleGainAssessmentGroupList()
},
methods: {
handleChangeRangDate (chgVal) {
let nameStr = this.$format(chgVal, 'yyyy年MM月绩效考核')
@ -140,13 +212,55 @@ export default {
// console.log(this.formData.rangDate)
},
handleChooseGroup () {
this.popupData.selectedList = []
this.showChooseList = !this.showChooseList
},
handleGroupDelete (index, rows) {
console.log('删除----', rows)
rows.splice(index, 1)
},
handleSubmit () {
console.log('提交')
},
handlePopupSearchChange (val) {
console.log('搜索' + val)
//
this.handleGainAssessmentGroupList()
},
handleSelectionChange (val) {
//
this.popupData.selectedList = val
},
handlePopupCreat () {
this.showChooseList = false
//
},
handleCancelPopup () {
this.showChooseList = false
},
handleSubmitPopup () {
this.showChooseList = false
this.formData.assessmentList = this.popupData.selectedList
},
//
handleGainAssessmentGroupList () {
let para = {
pageSize: this.rqAssessmentParameter.pageSize,
currPage: this.rqAssessmentParameter.currPage,
name: this.rqAssessmentParameter.searchName
}
getWorkList({}).then(res => {
const currPage = res.currPage
let newList = []
for (let index = 0; index < 20; index++) {
for (let index = 0; index < res.list.length; index++) {
const element = res.list[index]
newList.push(element)
}
}
this.popupData.tableList = newList
console.log(res)
})
}
}
}
@ -156,11 +270,7 @@ export default {
padding: 25px;
background-color: white;
min-height: 600px;
font-size: 14;
color: #333;
.title {
font-size: 22;
color: black;
margin-bottom: 25px;
}
.choose-group {
@ -169,5 +279,24 @@ export default {
.line-space {
margin-top: 20px;
}
.popup {
&-search {
margin-bottom: 20px;
}
&-empty {
padding-top: 100px;
height: 500px;
width: 410px;
font-size: 14px;
text-align: center;
display: block;
align-content: center;
justify-content: center;
}
&-footer-left {
color: @fontBlue;
}
}
}
</style>