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: [ extends: [
// https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention // 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. // 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 // https://github.com/standard/standard/blob/master/docs/RULES-en.md
'standard' 'standard'
], ],
@ -21,6 +21,7 @@ module.exports = {
], ],
// add your custom rules here // add your custom rules here
rules: { rules: {
'no-unused-vars': 'off',
// allow async-await // allow async-await
'generator-star-spacing': 'off', 'generator-star-spacing': 'off',
// allow debugger during development // 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 ``` bash
# install dependencies # install dependencies

View File

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

View File

@ -1,5 +1,5 @@
<template> <template>
<div class="initiate-assessment"> <div class="initiate-assessment commonFont">
<el-form <el-form
:v-model="formData" :v-model="formData"
:rules="formRules" :rules="formRules"
@ -65,13 +65,9 @@
label="考核组名称" label="考核组名称"
prop="name" prop="name"
></el-table-column> ></el-table-column>
<el-table-column
label="周期类型"
prop="cycleType"
></el-table-column>
<el-table-column <el-table-column
label="参与人数" label="参与人数"
prop="personNumber" prop="counts"
></el-table-column> ></el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
@ -95,23 +91,82 @@
</el-form-item> </el-form-item>
</div> </div>
</el-form> </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> </div>
</template> </template>
<script> <script>
import PopupRight from '@/components/PopupRight'
import { getWorkList, sendAssessmentInfo } from '@/api/workbench'
export default { export default {
data () { data () {
return { return {
popupRightTitle: '选择考评组(月度)考核',
showChooseList: false, showChooseList: false,
formData: { formData: {
cycleTimeType: 1, cycleTimeType: 1,
rangDate: '', rangDate: '',
assessmentList: [ assessmentList: [], //
{
name: '销售人员',
cycleType: '月度',
personNumber: '12人'
}
], //
mergeType: { // mergeType: { //
type: 1, type: 1,
name: '' // id name: '' // id
@ -120,15 +175,32 @@ export default {
formRules: { formRules: {
cycleTimeType: { required: true, message: '请选择周期类型', trigger: 'blur' }, cycleTimeType: { required: true, message: '请选择周期类型', trigger: 'blur' },
rangDate: { 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: { watch: {
'formData.cycleTimeType': function (newVal, oldVal) { 'formData.cycleTimeType': function (newVal, oldVal) {
// console.log(this.formData.cycleTimeType) // console.log(this.formData.cycleTimeType)
this.formData.rangDate = '' this.formData.rangDate = ''
} }
}, },
created () {
this.handleGainAssessmentGroupList()
},
methods: { methods: {
handleChangeRangDate (chgVal) { handleChangeRangDate (chgVal) {
let nameStr = this.$format(chgVal, 'yyyy年MM月绩效考核') let nameStr = this.$format(chgVal, 'yyyy年MM月绩效考核')
@ -140,13 +212,55 @@ export default {
// console.log(this.formData.rangDate) // console.log(this.formData.rangDate)
}, },
handleChooseGroup () { handleChooseGroup () {
this.popupData.selectedList = []
this.showChooseList = !this.showChooseList this.showChooseList = !this.showChooseList
}, },
handleGroupDelete (index, rows) { handleGroupDelete (index, rows) {
console.log('删除----', rows)
rows.splice(index, 1) rows.splice(index, 1)
}, },
handleSubmit () { handleSubmit () {
console.log('提交') 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; padding: 25px;
background-color: white; background-color: white;
min-height: 600px; min-height: 600px;
font-size: 14;
color: #333;
.title { .title {
font-size: 22;
color: black;
margin-bottom: 25px; margin-bottom: 25px;
} }
.choose-group { .choose-group {
@ -169,5 +279,24 @@ export default {
.line-space { .line-space {
margin-top: 20px; 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> </style>