no message
This commit is contained in:
parent
814440fdad
commit
6c5aceb884
@ -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
|
||||
|
||||
@ -1,16 +1,29 @@
|
||||
<template>
|
||||
<transition name="popupfade">
|
||||
<div class="taskDetailRight" @click="getRight">
|
||||
<div class="taskDetailRight-contant" @click.stop="aa">
|
||||
<div class="taskDetailRight-contant-title commonFont" >{{title}}</div>
|
||||
<div class="taskDetailRight-contant-content" >
|
||||
<slot name="content"></slot>
|
||||
</div>
|
||||
<div class="taskDetailRight-contant-footer" >
|
||||
<el-button size="small" @click="$emit('cancel')">取 消</el-button>
|
||||
<el-button size="small" type="primary" @click="$emit('submit')">确 定</el-button>
|
||||
<slot name="footer"></slot>
|
||||
</div>
|
||||
<div
|
||||
class="taskDetailRight"
|
||||
@click="getRight"
|
||||
>
|
||||
<div
|
||||
class="taskDetailRight-contant"
|
||||
@click.stop="aa"
|
||||
>
|
||||
<div class="taskDetailRight-contant-title commonFont">{{title}}</div>
|
||||
<div class="taskDetailRight-contant-content">
|
||||
<slot name="content"></slot>
|
||||
</div>
|
||||
<div class="taskDetailRight-contant-footer">
|
||||
<el-button
|
||||
size="small"
|
||||
@click="$emit('cancel')"
|
||||
>取 消</el-button>
|
||||
<el-button
|
||||
size="small"
|
||||
type="primary"
|
||||
@click="$emit('submit')"
|
||||
>确 定</el-button>
|
||||
<slot name="footer"></slot>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
</div>
|
||||
@ -37,7 +50,7 @@ export default {
|
||||
mounted () {
|
||||
},
|
||||
methods: {
|
||||
aa () {},
|
||||
aa () { },
|
||||
onSubmit () {
|
||||
console.log('submit!')
|
||||
this.$emit('update:show', false)
|
||||
@ -52,54 +65,56 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang='less' scoped>
|
||||
.popupfade-enter{
|
||||
transform: translateX(-100%);
|
||||
.popupfade-enter {
|
||||
transform: translateX(-100%);
|
||||
}
|
||||
.fade-leave {
|
||||
transform: translateX(0);
|
||||
transform: translateX(0);
|
||||
}
|
||||
.popupfade-leave-to{
|
||||
.popupfade-leave-to {
|
||||
transform: translateX(60%);
|
||||
}
|
||||
}
|
||||
|
||||
.fade-enter-to{
|
||||
.fade-enter-to {
|
||||
transform: translateX(-100%);
|
||||
}
|
||||
.popupfade-leave-active,.fade-enter-active {
|
||||
transition:all 40s;
|
||||
}
|
||||
.popupfade-leave-active,
|
||||
.fade-enter-active {
|
||||
transition: all 40s;
|
||||
}
|
||||
|
||||
.taskDetailRight {
|
||||
position: fixed;
|
||||
z-index: 50;
|
||||
height: 100vh;
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
top: 0;
|
||||
right: 0;
|
||||
transition: all 1s;
|
||||
&-contant {
|
||||
min-width: 100px;
|
||||
height: 100%;
|
||||
float: right;
|
||||
background:#fff;
|
||||
box-shadow: 0 1px 6px 0 rgba(0,0,0,.12), 0 1px 6px 0 rgba(0,0,0,.12);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
&-title{
|
||||
border-bottom: 1px solid @borderColor;
|
||||
padding:10px 20px;
|
||||
position: fixed;
|
||||
z-index: 50;
|
||||
height: 100vh;
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
top: 0;
|
||||
right: 0;
|
||||
transition: all 1s;
|
||||
&-contant {
|
||||
min-width: 100px;
|
||||
height: 100%;
|
||||
float: right;
|
||||
background: #fff;
|
||||
box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.12),
|
||||
0 1px 6px 0 rgba(0, 0, 0, 0.12);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
&-title {
|
||||
border-bottom: 1px solid @borderColor;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
&-content {
|
||||
flex: 1;
|
||||
padding: 20px 20px;
|
||||
overflow: auto;
|
||||
}
|
||||
&-footer {
|
||||
text-align: right;
|
||||
padding: 10px 20px;
|
||||
border-top: 1px solid @borderColor;
|
||||
}
|
||||
}
|
||||
&-content{
|
||||
flex: 1;
|
||||
padding:20px 20px;
|
||||
overflow: auto;
|
||||
}
|
||||
&-footer{
|
||||
text-align: right;
|
||||
padding: 10px 20px;
|
||||
border-top: 1px solid @borderColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -1,24 +1,41 @@
|
||||
<!-- -->
|
||||
<template>
|
||||
<div class="process">
|
||||
<div class="process-type commonFont">
|
||||
流程方式: <el-radio v-model="radio" label="1">按评分人设置流程</el-radio>
|
||||
</div>
|
||||
<div class="process-title">
|
||||
<div class="process-title-item" v-for="(i,index) in processLsit" :key="i.id">
|
||||
<div @click="handleChangleTitle(i)" class="process-title-item-contant commonFont" :class="{active:componentId===i.componment}">
|
||||
<span>{{i.name}}</span>
|
||||
<span>{{i.label}}</span>
|
||||
</div>
|
||||
<div v-if="index+1 !==processLsit.length" class="process-title-item-img">
|
||||
<img src="./imgs/right.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="process-content">
|
||||
<component :is="componentId"></component>
|
||||
</div>
|
||||
<div class="process">
|
||||
<div class="process-type commonFont">
|
||||
流程方式: <el-radio
|
||||
v-model="radio"
|
||||
label="1"
|
||||
>按评分人设置流程</el-radio>
|
||||
</div>
|
||||
<div class="process-title">
|
||||
<div
|
||||
class="process-title-item"
|
||||
v-for="(i,index) in processLsit"
|
||||
:key="i.id"
|
||||
>
|
||||
<div
|
||||
@click="handleChangleTitle(i)"
|
||||
class="process-title-item-contant commonFont"
|
||||
:class="{active:componentId===i.componment}"
|
||||
>
|
||||
<span>{{i.name}}</span>
|
||||
<span>{{i.label}}</span>
|
||||
</div>
|
||||
<div
|
||||
v-if="index+1 !==processLsit.length"
|
||||
class="process-title-item-img"
|
||||
>
|
||||
<img
|
||||
src="./imgs/right.png"
|
||||
alt=""
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="process-content">
|
||||
<component :is="componentId"></component>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -29,7 +46,7 @@ import Perform from './Perform'
|
||||
import Entry from './Entry'
|
||||
import Score from './Score'
|
||||
import Approval from './Approval'
|
||||
import {getByFlowManagerId, saveDetailProcs} from '@/api/workbench'
|
||||
import { getByFlowManagerId, saveDetailProcs } from '@/api/workbench'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
@ -65,15 +82,15 @@ export default {
|
||||
name: '审批节点',
|
||||
label: '已禁用',
|
||||
componment: 'Approval'
|
||||
} ]
|
||||
}]
|
||||
}
|
||||
},
|
||||
components: {
|
||||
PopupRight, ToDevelop, Confirm, Perform, Entry, Score, Approval
|
||||
},
|
||||
computed: {},
|
||||
beforeMount () {},
|
||||
mounted () {},
|
||||
beforeMount () { },
|
||||
mounted () { },
|
||||
methods: {
|
||||
handleChangleTitle (i) {
|
||||
this.isActive = i.id
|
||||
@ -87,46 +104,46 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang='less' scoped>
|
||||
.process{
|
||||
width: 100%;
|
||||
&-type{
|
||||
padding: 0 0 20px 0;
|
||||
border-bottom: 1px solid @borderColor;
|
||||
}
|
||||
&-title{
|
||||
display: flex;
|
||||
padding: 20px 0;
|
||||
&-item{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
&-contant{
|
||||
width: 136px;
|
||||
height: 56px;
|
||||
background: #f6f6f6;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
span:nth-child(1){
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
}
|
||||
.active{
|
||||
background: @fontBlue;
|
||||
color: #fff;
|
||||
}
|
||||
&-img{
|
||||
width: 37px;
|
||||
height: 19px;
|
||||
margin: 0 10px;
|
||||
img{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
.process {
|
||||
width: 100%;
|
||||
&-type {
|
||||
padding: 0 0 20px 0;
|
||||
border-bottom: 1px solid @borderColor;
|
||||
}
|
||||
&-title {
|
||||
display: flex;
|
||||
padding: 20px 0;
|
||||
&-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
&-contant {
|
||||
width: 136px;
|
||||
height: 56px;
|
||||
background: #f6f6f6;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
span:nth-child(1) {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
}
|
||||
.active {
|
||||
background: @fontBlue;
|
||||
color: #fff;
|
||||
}
|
||||
&-img {
|
||||
width: 37px;
|
||||
height: 19px;
|
||||
margin: 0 10px;
|
||||
img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -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,73 @@
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
<div>
|
||||
<popup-right
|
||||
v-if="showChooseList"
|
||||
@cancel='handleCancelPopup'
|
||||
@submit="handleSubmitPopup"
|
||||
:title="popupRightTitle"
|
||||
>
|
||||
<div slot="content">
|
||||
<el-input
|
||||
v-model="rqAssessmentParameter.searchName"
|
||||
@change="handlePopupSearchChange"
|
||||
prefix-icon="el-icon-search"
|
||||
placeholder="搜索考评组"
|
||||
></el-input>
|
||||
<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 slot="leftSlot">已选择:{{formData.assessmentList.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,9 +166,23 @@ 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)
|
||||
@ -140,13 +200,49 @@ export default {
|
||||
// console.log(this.formData.rangDate)
|
||||
},
|
||||
handleChooseGroup () {
|
||||
this.popupData.selectedList = []
|
||||
this.handleGainAssessmentGroupList()
|
||||
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
|
||||
this.popupData.tableList = res.list
|
||||
console.log(res)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -156,11 +252,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 +261,15 @@ export default {
|
||||
.line-space {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.popup-empty {
|
||||
padding-top: 100px;
|
||||
height: 500px;
|
||||
width: 410px;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
display: block;
|
||||
align-content: center;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user