优化考评组编辑todo流程设计
This commit is contained in:
commit
f994dc56ea
@ -3,10 +3,10 @@
|
|||||||
// see http://vuejs-templates.github.io/webpack for documentation.
|
// see http://vuejs-templates.github.io/webpack for documentation.
|
||||||
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
|
const IP = require('ip').address()
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
dev: {
|
dev: {
|
||||||
|
|
||||||
// Paths
|
// Paths
|
||||||
assetsSubDirectory: 'static',
|
assetsSubDirectory: 'static',
|
||||||
assetsPublicPath: '/',
|
assetsPublicPath: '/',
|
||||||
@ -15,14 +15,13 @@ module.exports = {
|
|||||||
target: `https://tlzmanagement.ldxinyong.com`,
|
target: `https://tlzmanagement.ldxinyong.com`,
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
secure: false ,
|
secure: false ,
|
||||||
pathRewrite: {
|
// pathRewrite: {
|
||||||
'^/lz_management': '/'
|
// '^/lz_management': '/'
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Various Dev Server settings
|
// Various Dev Server settings
|
||||||
host: 'localhost', // can be overwritten by process.env.HOST
|
host: IP, // can be overwritten by process.env.HOST
|
||||||
port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
|
port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
|
||||||
autoOpenBrowser: false,
|
autoOpenBrowser: false,
|
||||||
errorOverlay: true,
|
errorOverlay: true,
|
||||||
@ -54,13 +53,11 @@ module.exports = {
|
|||||||
|
|
||||||
build: {
|
build: {
|
||||||
// Template for index.html
|
// Template for index.html
|
||||||
index: path.resolve(__dirname, '../dist/index.html'),
|
index: path.resolve(__dirname, '../dist/digitization/index.html'),
|
||||||
|
|
||||||
// Paths
|
// Paths
|
||||||
assetsRoot: path.resolve(__dirname, '../dist'),
|
assetsRoot: path.resolve(__dirname, '../dist/digitization/'),
|
||||||
assetsSubDirectory: 'static',
|
assetsSubDirectory: 'static',
|
||||||
assetsPublicPath: '/',
|
assetsPublicPath: '/digitization/',
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Source Maps
|
* Source Maps
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
<title>linzi_kpi</title>
|
<title>绩效系统</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
|||||||
@ -60,6 +60,7 @@
|
|||||||
"file-loader": "^1.1.4",
|
"file-loader": "^1.1.4",
|
||||||
"friendly-errors-webpack-plugin": "^1.6.1",
|
"friendly-errors-webpack-plugin": "^1.6.1",
|
||||||
"html-webpack-plugin": "^2.30.1",
|
"html-webpack-plugin": "^2.30.1",
|
||||||
|
"ip": "^1.1.5",
|
||||||
"jest": "^22.0.4",
|
"jest": "^22.0.4",
|
||||||
"jest-serializer-vue": "^0.3.0",
|
"jest-serializer-vue": "^0.3.0",
|
||||||
"nightwatch": "^0.9.12",
|
"nightwatch": "^0.9.12",
|
||||||
|
|||||||
@ -1,11 +1,9 @@
|
|||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
import URL from '@/api/config'
|
|
||||||
const baseUrl = process.env.PROXY ? URL.baseUrl : '/lz_management'
|
|
||||||
|
|
||||||
// 获取管理员
|
// 获取管理员
|
||||||
export function getGround (query) {
|
export function getGround (query) {
|
||||||
return request({
|
return request({
|
||||||
url: baseUrl + '/lz_management/user/lzstaffrole/listByGroupId',
|
url: '/lz_management/user/lzstaffrole/listByGroupId',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: query
|
params: query
|
||||||
})
|
})
|
||||||
@ -14,7 +12,7 @@ export function getGround (query) {
|
|||||||
// 获取维度类型
|
// 获取维度类型
|
||||||
export function getDimensions (quer = {}) {
|
export function getDimensions (quer = {}) {
|
||||||
return request({
|
return request({
|
||||||
url: baseUrl + '/lz_management/resultDimension/getDimensions',
|
url: '/lz_management/resultDimension/getDimensions',
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,12 +1,9 @@
|
|||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
import URL from '@/api/config'
|
|
||||||
const baseUrl = process.env.PROXY ? URL.baseUrl : '/lz_management'
|
|
||||||
console.log('baseUrl: ', baseUrl)
|
|
||||||
|
|
||||||
// 获取考核组列表
|
// 获取考核组列表
|
||||||
export function getWorkList (query) {
|
export function getWorkList (query) {
|
||||||
return request({
|
return request({
|
||||||
url: baseUrl + '/lz_management/evaluationGroup/getGroups',
|
url: '/lz_management/evaluationGroup/getGroups',
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
data: query
|
data: query
|
||||||
})
|
})
|
||||||
@ -15,8 +12,44 @@ export function getWorkList (query) {
|
|||||||
// 保存基础设置
|
// 保存基础设置
|
||||||
export function saveBaseSet (query) {
|
export function saveBaseSet (query) {
|
||||||
return request({
|
return request({
|
||||||
url: baseUrl + '/lz_management/evaluationGroup/save',
|
url: '/lz_management/evaluationGroup/save',
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
data: query
|
data: query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 删除考核组基础设置
|
||||||
|
export function groundDelete (query) {
|
||||||
|
return request({
|
||||||
|
url: '/lz_management/evaluationGroup/delete',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 保存模板设置
|
||||||
|
export function saveTemSet (query) {
|
||||||
|
return request({
|
||||||
|
url: '/lz_management/resultModel/saveDetail',
|
||||||
|
method: 'post',
|
||||||
|
data: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取流程设计的流程节点
|
||||||
|
export function getByFlowManagerId (query) {
|
||||||
|
return request({
|
||||||
|
url: '/lz_management/flowChart/getByFlowManagerId',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 保存流程节点小流程列表
|
||||||
|
export function saveDetailProcs (query) {
|
||||||
|
return request({
|
||||||
|
url: '/lz_management/flowChart/saveDetailProcs',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@ -7,9 +7,12 @@ import store from './store'
|
|||||||
import './utils/elementConfig'
|
import './utils/elementConfig'
|
||||||
import './utils/permission'
|
import './utils/permission'
|
||||||
import './style/index.less'
|
import './style/index.less'
|
||||||
|
import {debounce} from '@/utils/common'
|
||||||
import '@/icons'
|
import '@/icons'
|
||||||
console.log('store: ', store)
|
console.log('store: ', store)
|
||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
|
Vue.prototype.debounce = debounce
|
||||||
|
|
||||||
/* eslint-disable no-new */
|
/* eslint-disable no-new */
|
||||||
new Vue({
|
new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
|
|||||||
@ -9,6 +9,9 @@ const routes = [
|
|||||||
redirect: kpiRouter.length > 0 ? kpiRouter[0].redirect : '/'
|
redirect: kpiRouter.length > 0 ? kpiRouter[0].redirect : '/'
|
||||||
}
|
}
|
||||||
].concat(kpiRouter)
|
].concat(kpiRouter)
|
||||||
|
|
||||||
export default new Router({
|
export default new Router({
|
||||||
|
base: '/digitization/',
|
||||||
|
mode: 'history',
|
||||||
routes
|
routes
|
||||||
})
|
})
|
||||||
|
|||||||
27
src/utils/common.js
Normal file
27
src/utils/common.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* @desc 函数防抖
|
||||||
|
* @param func 函数
|
||||||
|
* @param wait 延迟执行毫秒数
|
||||||
|
* @param immediate true 表立即执行,false 表非立即执行
|
||||||
|
*/
|
||||||
|
export function debounce (func, wait, immediate) {
|
||||||
|
let timeout
|
||||||
|
|
||||||
|
return function () {
|
||||||
|
let context = this
|
||||||
|
let args = arguments
|
||||||
|
|
||||||
|
if (timeout) clearTimeout(timeout)
|
||||||
|
if (immediate) {
|
||||||
|
var callNow = !timeout
|
||||||
|
timeout = setTimeout(() => {
|
||||||
|
timeout = null
|
||||||
|
}, wait)
|
||||||
|
if (callNow) func.apply(context, args)
|
||||||
|
} else {
|
||||||
|
timeout = setTimeout(function () {
|
||||||
|
func.apply(context, args)
|
||||||
|
}, wait)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,5 +1,4 @@
|
|||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
// import { Notification, MessageBox, Message } from 'element-ui'
|
|
||||||
import { Message } from 'element-ui'
|
import { Message } from 'element-ui'
|
||||||
// import store from '@/store'
|
// import store from '@/store'
|
||||||
// import { getToken } from '@/utils/auth'
|
// import { getToken } from '@/utils/auth'
|
||||||
|
|||||||
@ -34,7 +34,7 @@
|
|||||||
size="mini"
|
size="mini"
|
||||||
placeholder="请选择考评组管理员"
|
placeholder="请选择考评组管理员"
|
||||||
readonly
|
readonly
|
||||||
v-model="form.input1">
|
:value="Ground.title+ ' 等'+ Ground.list.length + '人'">
|
||||||
<i slot="suffix" class="el-input__icon el-icon-edit"></i>
|
<i slot="suffix" class="el-input__icon el-icon-edit"></i>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
@ -99,8 +99,8 @@
|
|||||||
<get-depart v-if="isShow" :value.sync='form.depIds' :isShow.sync='isShow' :showDataList.sync='showData'/>
|
<get-depart v-if="isShow" :value.sync='form.depIds' :isShow.sync='isShow' :showDataList.sync='showData'/>
|
||||||
<popup-right v-if="showRight" @cancel='handleCancel' @submit="handleSubmit" title="选择考评组管理员">
|
<popup-right v-if="showRight" @cancel='handleCancel' @submit="handleSubmit" title="选择考评组管理员">
|
||||||
<div slot="content" class="chooseManage">
|
<div slot="content" class="chooseManage">
|
||||||
<div v-for="i in 10" class="chooseManage-item">
|
<div v-for="i in GroundList" :key="i.staffId" class="chooseManage-item" >
|
||||||
<el-checkbox :value='true'></el-checkbox><span style="margin:0 0 0 10px;">hahahhHah </span>
|
<el-checkbox :true-label='1' :false-label='0' :disabled='i.isDisable===1' :checked='i.isDisable===1' v-model='i.isSelect'></el-checkbox><span class='commonFont' style="margin:0 0 0 10px;">{{i.staffName}} </span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</popup-right>
|
</popup-right>
|
||||||
@ -130,6 +130,8 @@ export default {
|
|||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
GroundList: [],
|
||||||
|
GroundList1: [],
|
||||||
isSshowOutIds: false,
|
isSshowOutIds: false,
|
||||||
outIdsLsit: {
|
outIdsLsit: {
|
||||||
list: []
|
list: []
|
||||||
@ -173,7 +175,23 @@ export default {
|
|||||||
PopupRight
|
PopupRight
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
Ground () {
|
||||||
|
const params = {
|
||||||
|
list: [],
|
||||||
|
title: '',
|
||||||
|
managerIds: ''
|
||||||
|
}
|
||||||
|
params.list = this.GroundList1.filter(i => i.isSelect === 1)
|
||||||
|
params.list.map((i, index) => {
|
||||||
|
params.managerIds += i.staffId + ','
|
||||||
|
if (index < 2) params.title += i.staffName.split(' ')[0] + ','
|
||||||
|
})
|
||||||
|
params.managerIds = params.managerIds.substring(0, params.managerIds.length - 1)
|
||||||
|
params.title = params.title.substring(0, params.title.length - 1)
|
||||||
|
// eslint-disable-next-line vue/no-side-effects-in-computed-properties
|
||||||
|
this.form.managerIds = params.managerIds
|
||||||
|
return params
|
||||||
|
}
|
||||||
},
|
},
|
||||||
beforeMount () {},
|
beforeMount () {},
|
||||||
async mounted () {
|
async mounted () {
|
||||||
@ -183,16 +201,24 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
async handleGetGround () {
|
async handleGetGround () {
|
||||||
try {
|
try {
|
||||||
const res = await getGround({groupId: 1})
|
let res = await getGround({groupId: 1})
|
||||||
console.log('res: ', res)
|
console.log('res: ', res)
|
||||||
|
res = res.map(i => {
|
||||||
|
i.isDisable = i.isSelect
|
||||||
|
return i
|
||||||
|
})
|
||||||
|
this.GroundList = JSON.parse(JSON.stringify(res))
|
||||||
|
this.GroundList1 = JSON.parse(JSON.stringify(res))
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$message.error(error.msg)
|
this.$message.error(error.msg)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleCancel () {
|
handleCancel () {
|
||||||
|
this.GroundList = JSON.parse(JSON.stringify(this.GroundList1))
|
||||||
this.showRight = false
|
this.showRight = false
|
||||||
},
|
},
|
||||||
handleSubmit () {
|
handleSubmit () {
|
||||||
|
this.GroundList1 = JSON.parse(JSON.stringify(this.GroundList))
|
||||||
this.showRight = false
|
this.showRight = false
|
||||||
},
|
},
|
||||||
handleGetChoose (item) {
|
handleGetChoose (item) {
|
||||||
|
|||||||
@ -29,7 +29,7 @@ import Perform from './Perform'
|
|||||||
import Entry from './Entry'
|
import Entry from './Entry'
|
||||||
import Score from './Score'
|
import Score from './Score'
|
||||||
import Approval from './Approval'
|
import Approval from './Approval'
|
||||||
|
import {getByFlowManagerId, saveDetailProcs} from '@/api/workbench'
|
||||||
export default {
|
export default {
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
|||||||
@ -4,9 +4,9 @@
|
|||||||
<div class="set-top">
|
<div class="set-top">
|
||||||
<div class="set-top-title">总分规则</div>
|
<div class="set-top-title">总分规则</div>
|
||||||
<div class="set-top-content">
|
<div class="set-top-content">
|
||||||
<el-form label-width="200px" label-position='left' :model="form">
|
<el-form label-width="200px" label-position='left' :model="info">
|
||||||
<el-form-item label="指标评分计算方式加和计算">
|
<el-form-item label="指标评分计算方式加和计算">
|
||||||
<el-radio-group v-model="form.radio">
|
<el-radio-group v-model="radio">
|
||||||
<el-radio :label="3">加权计算
|
<el-radio :label="3">加权计算
|
||||||
<el-popover
|
<el-popover
|
||||||
placement="top-start"
|
placement="top-start"
|
||||||
@ -21,8 +21,10 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="3.75评分等级制">
|
<el-form-item label="3.75评分等级制">
|
||||||
<el-switch
|
<el-switch
|
||||||
v-model="form.gradeStatus"
|
v-model="info.gradeStatus"
|
||||||
active-color="#3ba1ff"
|
active-color="#3ba1ff"
|
||||||
|
:active-value='1'
|
||||||
|
:inactive-value='0'
|
||||||
inactive-color="#dcdfe6">
|
inactive-color="#dcdfe6">
|
||||||
</el-switch>
|
</el-switch>
|
||||||
<el-popover
|
<el-popover
|
||||||
@ -42,24 +44,24 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="set-content">
|
<div class="set-content">
|
||||||
<draggable
|
<draggable
|
||||||
v-model="info.materialsList"
|
v-model="info.modelItems"
|
||||||
:options='options'
|
:options='options'
|
||||||
@change="change"
|
@change="change"
|
||||||
@start="start"
|
@start="start"
|
||||||
@end="end"
|
@end="end"
|
||||||
@move="move"
|
@move="move"
|
||||||
>
|
>
|
||||||
<div class="set-content-item item" v-for="i in info.materialsList" :key="i.name">
|
<div class="set-content-item item" v-for="(i,index) in handleFilter(info.modelItems)" :key="index">
|
||||||
<div class="set-content-item-top commonFont">
|
<div class="set-content-item-top commonFont">
|
||||||
<div class="set-content-item-top-left my-handle sortable-drag">
|
<div class="set-content-item-top-left my-handle sortable-drag">
|
||||||
{{i.name}}
|
{{i.name}}
|
||||||
</div>
|
</div>
|
||||||
<div class="set-content-item-top-right">
|
<div class="set-content-item-top-right">
|
||||||
<el-tooltip class="item" effect="dark" content="编辑维度" placement="top">
|
<el-tooltip class="item" effect="dark" content="编辑维度" placement="top">
|
||||||
<i @click="handleAdd" class="el-icon-edit"></i>
|
<i @click="hanidleEdit(i,index,-1)" class="el-icon-edit"></i>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip class="item" effect="dark" content="删除维度" placement="top">
|
<el-tooltip class="item" effect="dark" content="删除维度" placement="top">
|
||||||
<i class="el-icon-delete"></i>
|
<i @click="handleDelateWeidu(i,index,-1)" class="el-icon-delete"></i>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -67,50 +69,52 @@
|
|||||||
<div class="set-content-item-center-item">
|
<div class="set-content-item-center-item">
|
||||||
{{handleWeiDu(i)}}
|
{{handleWeiDu(i)}}
|
||||||
</div>
|
</div>
|
||||||
<div v-if="i.center.number1==='2'" class="set-content-item-center-item">
|
<div v-if="i.maxCount" class="set-content-item-center-item">
|
||||||
所含指标数量 {{i.center.number1String}}
|
所含指标数量 {{i.maxCount}}
|
||||||
</div>
|
</div>
|
||||||
<div v-if="i.center.number2==='2'" class="set-content-item-center-item">
|
<div v-if="i.weight !==0 && i.weight" class="set-content-item-center-item">
|
||||||
所含指标总权重 {{i.center.number2String}}%
|
所含指标总权重 {{i.weight * 100}}%
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="i.tableData.length !==0" class="set-content-item-table">
|
<div v-if="handleFilter(i.tagetLibItems).length!==0" class="set-content-item-table">
|
||||||
<el-table
|
<div class="set-content-item-table-header commonFont">
|
||||||
:data="tableData"
|
<span style="width:30%">指标名称</span>
|
||||||
style="width: 100%">
|
<span style="width:30%">考核标准</span>
|
||||||
<el-table-column
|
<span style="width:30%">权重</span>
|
||||||
fixed
|
<span style="width:10%">操作</span>
|
||||||
prop="name"
|
</div>
|
||||||
label="指标名称">
|
<draggable
|
||||||
</el-table-column>
|
v-model="i.tagetLibItems"
|
||||||
<el-table-column
|
:options='options1'
|
||||||
prop="number"
|
@change="change"
|
||||||
label="考核标准">
|
@start="start"
|
||||||
</el-table-column>
|
@end="end"
|
||||||
<el-table-column
|
@move="move"
|
||||||
prop="number"
|
>
|
||||||
label="权重(%)">
|
<div
|
||||||
</el-table-column>
|
class="set-content-item-table-content commonFont items"
|
||||||
<el-table-column
|
v-for="(j,indexJ) in handleFilter(i.tagetLibItems)"
|
||||||
fixed="right"
|
:key="indexJ"
|
||||||
label="操作"
|
>
|
||||||
width="120">
|
<div style="width:30%">{{j.name}}</div>
|
||||||
<template slot-scope="scope">
|
<div style="width:30%">{{j.keyResult}}</div>
|
||||||
|
<div style="width:30%">{{j.weight * 100}}%</div>
|
||||||
|
<div style="width:10%">
|
||||||
<el-button
|
<el-button
|
||||||
@click.native.prevent="deleteRow(scope.$index)"
|
@click="hanidleEdit(j,indexJ,index)"
|
||||||
type="text"
|
type="text"
|
||||||
size="small">
|
size="small">
|
||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
@click.native.prevent="deleteRow(scope.$index)"
|
@click="handleDelateWeidu(j,indexJ,index)"
|
||||||
type="text"
|
type="text"
|
||||||
size="small">
|
size="small">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</div>
|
||||||
</el-table-column>
|
</div>
|
||||||
</el-table>
|
</draggable>
|
||||||
</div>
|
</div>
|
||||||
<div class="set-content-item-bottom">
|
<div class="set-content-item-bottom">
|
||||||
<!-- <el-button size="mini" plain>选择指标项</el-button> -->
|
<!-- <el-button size="mini" plain>选择指标项</el-button> -->
|
||||||
@ -120,19 +124,19 @@
|
|||||||
</draggable>
|
</draggable>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<popup-right v-if="show" @cancel='handleCancel' @submit="handleSubmit" title="添加维度">
|
<popup-right v-if="show" @cancel='handleCancel' @submit="handleSubmit" :title="weiduTitle">
|
||||||
<div slot="content" class="weiduManage">
|
<div slot="content" class="weiduManage">
|
||||||
<el-form label-position="left" ref="form" :model="form" :rules="rules" label-width="180px">
|
<el-form label-position="left" ref="form" :model="form" :rules="rules" label-width="180px">
|
||||||
<el-form-item prop="name" label='维度名称'>
|
<el-form-item prop="name" label='维度名称'>
|
||||||
<el-input clearable size="small" v-model="form.name"></el-input>
|
<el-input clearable size="small" v-model="form.name"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="维度类型">
|
<el-form-item label="维度类型">
|
||||||
<el-select v-model="form.modelId" placeholder="请选择维度类型">
|
<el-select v-model="form.type" placeholder="请选择维度类型">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="i in dimensionsList"
|
v-for="i in dimensionsList"
|
||||||
:key="i.id"
|
:key="i.id"
|
||||||
:label="i.name"
|
:label="i.name"
|
||||||
:value="iid"></el-option>
|
:value="i.id"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="所含指标数量">
|
<el-form-item label="所含指标数量">
|
||||||
@ -142,11 +146,11 @@
|
|||||||
<i style="margin:0 10px;" class="el-icon-location"></i>
|
<i style="margin:0 10px;" class="el-icon-location"></i>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</div>
|
</div>
|
||||||
<el-radio-group v-model="form.center.number1" size="medium">
|
<el-radio-group v-model="maxCount" size="medium">
|
||||||
<el-radio label="1">不限数量</el-radio>
|
<el-radio label="">不限数量</el-radio>
|
||||||
<el-radio label="2">自定义</el-radio>
|
<el-radio label="1">自定义</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<el-input clearable size="small" style="width:160px;'" v-if="form.center.number1==='2'" v-model="form.center.number1String"></el-input>
|
<el-input clearable size="small" style="width:160px;'" v-if="maxCount==1" v-model="form.maxCount"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="所含指标总权重">
|
<el-form-item label="所含指标总权重">
|
||||||
<div slot="label">所含指标总权重
|
<div slot="label">所含指标总权重
|
||||||
@ -154,34 +158,37 @@
|
|||||||
<i style="margin:0 10px;" class="el-icon-location"></i>
|
<i style="margin:0 10px;" class="el-icon-location"></i>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</div>
|
</div>
|
||||||
<el-radio-group v-model="form.center.number2" size="medium">
|
<el-radio-group v-model="weight" size="medium">
|
||||||
<el-radio label="1">不限权重</el-radio>
|
<el-radio :label="0">不限权重</el-radio>
|
||||||
<el-radio label="2">自定义</el-radio>
|
<el-radio :label="1">自定义</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<el-input clearable size="small" style="width:160px;'" v-if="form.center.number2==='2'" v-model="form.center.number2String">
|
<el-input clearable size="small" style="width:160px;'" v-if="weight===1" v-model="form.weight">
|
||||||
<template slot="append">%</template>
|
<template slot="append">%</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
</popup-right>
|
</popup-right>
|
||||||
<popup-right v-if="showIndicators" @cancel='handleCancelWeiDu' @submit="handleSubmitWeiDu" title="添加指标">
|
<popup-right v-if="showIndicators" @cancel='handleCancelZhibiao' @submit="handleSubmitZhibiao" :title="zhibiaoTitle">
|
||||||
<div slot="content" class="weiduManage">
|
<div slot="content" class="weiduManage">
|
||||||
<el-form label-position="left" ref="formIndicators" :model="formIndicators" :rules="ruleIndicators" label-width="180px">
|
<el-form label-position="left" ref="formIndicators" :model="formIndicators" :rules="ruleIndicators" label-width="180px">
|
||||||
<el-form-item label="指标类型">
|
<el-form-item label="指标类型">
|
||||||
<el-select v-model="formIndicators.zhibiao">
|
<el-select v-model="formIndicators.zhibiao" disabled placeholder="请选择维度类型">
|
||||||
<el-option label="量化指标1" value="shanghai"></el-option>
|
<el-option
|
||||||
<el-option label="量化指标2" value="beijing"></el-option>
|
v-for="i in dimensionsList"
|
||||||
|
:key="i.id"
|
||||||
|
:label="i.name"
|
||||||
|
:value="i.id"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="name" label='指标名称'>
|
<el-form-item prop="name" label='指标名称'>
|
||||||
<el-input clearable size="small" v-model="formIndicators.name"></el-input>
|
<el-input clearable size="small" v-model="formIndicators.name"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="考核标准">
|
<el-form-item label="考核标准" prop="keyResult">
|
||||||
<el-input size="small" clearable type="textarea" v-model="formIndicators.biaozhun"></el-input>
|
<el-input size="small" clearable type="textarea" v-model="formIndicators.keyResult"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="权重">
|
<el-form-item label="权重" prop="weight">
|
||||||
<el-input size="small" clearable v-model="formIndicators.quanzhong">
|
<el-input size="small" clearable v-model="formIndicators.weight">
|
||||||
<template slot="append">%</template>
|
<template slot="append">%</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -195,20 +202,30 @@
|
|||||||
<script>
|
<script>
|
||||||
import PopupRight from '@/components/PopupRight'
|
import PopupRight from '@/components/PopupRight'
|
||||||
import draggable from 'vuedraggable'
|
import draggable from 'vuedraggable'
|
||||||
import Sortable from 'sortablejs'
|
|
||||||
import {getDimensions} from '@/api/data'
|
import {getDimensions} from '@/api/data'
|
||||||
// console.log('Sortable: ', Sortable)
|
// console.log('Sortable: ', Sortable)
|
||||||
export default {
|
const info = {
|
||||||
data () {
|
id: 8,
|
||||||
return {
|
|
||||||
dimensionsList: [], // 维度类型列表
|
|
||||||
show: false, // 控制维度管理显示与隐藏
|
|
||||||
form: {
|
|
||||||
gradeStatus: 1,
|
gradeStatus: 1,
|
||||||
gradeGroupId: 1,
|
gradeGroupId: 1,
|
||||||
center: {},
|
modelItems: [
|
||||||
tableData: []
|
]
|
||||||
}, // 控制维度管理的表单
|
}
|
||||||
|
export default {
|
||||||
|
props: ['templateForm'],
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
isEditForm: {},
|
||||||
|
zhibiaoTitle: '添加指标',
|
||||||
|
weiduTitle: '添加维度',
|
||||||
|
dimensionsList: [], // 维度类型列表
|
||||||
|
show: false, // 控制维度管理显示与隐藏
|
||||||
|
radio: 3,
|
||||||
|
maxCount: '',
|
||||||
|
weight: 0,
|
||||||
|
// 整个info
|
||||||
|
info: info,
|
||||||
|
form: {}, // 控制维度管理的表单
|
||||||
rules: {
|
rules: {
|
||||||
name: [{ required: true,
|
name: [{ required: true,
|
||||||
message: '请输入维度名称',
|
message: '请输入维度名称',
|
||||||
@ -217,10 +234,21 @@ export default {
|
|||||||
}, // 控制维度管理的规则
|
}, // 控制维度管理的规则
|
||||||
showIndicators: false, // 控制指标编辑弹窗
|
showIndicators: false, // 控制指标编辑弹窗
|
||||||
formIndicators: {}, // 指标表单
|
formIndicators: {}, // 指标表单
|
||||||
ruleIndicators: {}, // 指标表单rule
|
ruleIndicators: {
|
||||||
info: {
|
name: [{ required: true,
|
||||||
materialsList: []
|
message: '请输入维度名称',
|
||||||
},
|
trigger: 'blur' }
|
||||||
|
],
|
||||||
|
keyResult: [{ required: true,
|
||||||
|
message: '请输入考核标准',
|
||||||
|
trigger: 'blur' }
|
||||||
|
],
|
||||||
|
weight: [{ required: true,
|
||||||
|
message: '请输入权重大小',
|
||||||
|
trigger: 'blur' }
|
||||||
|
]
|
||||||
|
}, // 指标表单rule
|
||||||
|
zanshi: {},
|
||||||
tableData: [{name: '12345', number: 1}, {name: '78945', number: 2}, {name: '5566655', number: 3}],
|
tableData: [{name: '12345', number: 1}, {name: '78945', number: 2}, {name: '5566655', number: 3}],
|
||||||
options: {
|
options: {
|
||||||
group: 'name',
|
group: 'name',
|
||||||
@ -234,6 +262,17 @@ export default {
|
|||||||
disabled: false, // 如果设置为真,则禁用sortable。
|
disabled: false, // 如果设置为真,则禁用sortable。
|
||||||
store: null, // @see Store
|
store: null, // @see Store
|
||||||
animation: 150 // ms, 动画速度运动项目排序时,' 0 ' -没有动画。
|
animation: 150 // ms, 动画速度运动项目排序时,' 0 ' -没有动画。
|
||||||
|
},
|
||||||
|
options1: {
|
||||||
|
group: 'names',
|
||||||
|
draggable: '.items',
|
||||||
|
scroll: true,
|
||||||
|
sort: true, // 内部排序列表
|
||||||
|
delay: 0, // 以毫秒为单位定义排序何时开始。
|
||||||
|
touchStartThreshold: 0, // px,在取消延迟拖动事件之前,点应该移动多少像素?
|
||||||
|
disabled: false, // 如果设置为真,则禁用sortable。
|
||||||
|
store: null, // @see Store
|
||||||
|
animation: 150 // ms, 动画速度运动项目排序时,' 0 ' -没有动画。
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -244,13 +283,15 @@ export default {
|
|||||||
computed: {},
|
computed: {},
|
||||||
beforeMount () {},
|
beforeMount () {},
|
||||||
mounted () {
|
mounted () {
|
||||||
// this.rowDrop()
|
|
||||||
this.handleGetDimensions()
|
this.handleGetDimensions()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleFilter (item) {
|
||||||
|
return item ? item.filter(i => i.isDelete === 0) : []
|
||||||
|
},
|
||||||
// 更具维度id获取维度名称
|
// 更具维度id获取维度名称
|
||||||
handleWeiDu (item) {
|
handleWeiDu (item) {
|
||||||
return this.dimensionsList.filter(i => i.id === item.modelId)[0].name
|
return this.dimensionsList.filter(i => i.id === item.type)[0].name
|
||||||
},
|
},
|
||||||
// 获取维度类型
|
// 获取维度类型
|
||||||
async handleGetDimensions () {
|
async handleGetDimensions () {
|
||||||
@ -262,46 +303,106 @@ export default {
|
|||||||
this.$message.error(error.msg)
|
this.$message.error(error.msg)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 行拖拽
|
|
||||||
rowDrop () {
|
|
||||||
const tbody = document.querySelector('.el-table__body-wrapper tbody')
|
|
||||||
const _this = this
|
|
||||||
Sortable.create(tbody, {
|
|
||||||
onEnd ({ newIndex, oldIndex }) {
|
|
||||||
const currRow = _this.tableData.splice(oldIndex, 1)[0]
|
|
||||||
_this.tableData.splice(newIndex, 0, currRow)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
change () {},
|
change () {},
|
||||||
start () {},
|
start () {},
|
||||||
end () {},
|
end () {},
|
||||||
move () {},
|
move () {},
|
||||||
// 添加考核维度
|
// 添加考核维度
|
||||||
handleAdd () {
|
handleAdd () {
|
||||||
|
this.form = {
|
||||||
|
type: this.dimensionsList.length > 0 ? this.dimensionsList[0].id : ''
|
||||||
|
}
|
||||||
|
this.weiduTitle = '添加维度'
|
||||||
this.show = true
|
this.show = true
|
||||||
},
|
},
|
||||||
handleCancel () {
|
handleCancel () {
|
||||||
this.show = false
|
this.show = false
|
||||||
},
|
},
|
||||||
handleSubmit () {
|
handleSubmit () {
|
||||||
console.log('this.form: ', this.form)
|
this.$refs.form.validate((v) => {
|
||||||
this.info.materialsList.push(this.form)
|
if (v) {
|
||||||
|
if (this.form.isEdit) {
|
||||||
|
this.info.modelItems[this.form.index] = Object.assign({}, this.form)
|
||||||
|
this.form = {}
|
||||||
this.show = false
|
this.show = false
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.form.weight = this.form.weight / 100 > 1 ? 1 : this.form.weight / 100
|
||||||
|
this.info.modelItems.push(Object.assign({}, this.form, {isDelete: 0}))
|
||||||
|
this.form = {}
|
||||||
|
this.show = false
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
handleAddIndicators (item) {
|
// 编辑
|
||||||
this.formIndicators = item
|
hanidleEdit (item, index, type) {
|
||||||
|
if (type === -1) {
|
||||||
|
this.weiduTitle = '编辑维度'
|
||||||
|
this.form = Object.assign({}, item, {index, index2: type, isEdit: true})
|
||||||
|
this.form.weight = this.form.weight * 100
|
||||||
|
this.show = true
|
||||||
|
} else {
|
||||||
|
this.zhibiaoTitle = '编辑指标'
|
||||||
|
this.formIndicators = Object.assign({}, item, {index, index2: type, isEdit: true})
|
||||||
|
this.formIndicators.weight = this.formIndicators.weight * 100
|
||||||
this.showIndicators = true
|
this.showIndicators = true
|
||||||
},
|
|
||||||
handleCancelWeiDu () {
|
|
||||||
this.showIndicators = false
|
|
||||||
},
|
|
||||||
handleSubmitWeiDu () {
|
|
||||||
console.log('this.formIndicators: ', this.formIndicators)
|
|
||||||
this.showIndicators = false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {}
|
// 删除维度
|
||||||
|
handleDelateWeidu (item, index, type) {
|
||||||
|
if (item.id) {
|
||||||
|
item.isDelete = 1
|
||||||
|
this.$forceUpdate()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (type === -1) {
|
||||||
|
this.info.modelItems = this.info.modelItems.filter((i, xia) => xia !== index)
|
||||||
|
} else {
|
||||||
|
this.info.modelItems[type].tagetLibItems = this.info.modelItems[type].tagetLibItems.filter((i, xia) => xia !== index)
|
||||||
|
}
|
||||||
|
this.$forceUpdate()
|
||||||
|
},
|
||||||
|
handleAddIndicators (item) {
|
||||||
|
this.zanshi = item
|
||||||
|
this.zhibiaoTitle = '添加指标'
|
||||||
|
this.formIndicators = {
|
||||||
|
zhibiao: item.type
|
||||||
|
}
|
||||||
|
this.showIndicators = true
|
||||||
|
},
|
||||||
|
handleCancelZhibiao () {
|
||||||
|
this.showIndicators = false
|
||||||
|
},
|
||||||
|
handleSubmitZhibiao () {
|
||||||
|
this.$refs.formIndicators.validate((v) => {
|
||||||
|
if (v) {
|
||||||
|
if (this.formIndicators.isEdit) {
|
||||||
|
this.info.modelItems[this.formIndicators.index].tagetLibItems[this.formIndicators.index2] = Object.assign({}, this.formIndicators)
|
||||||
|
this.showIndicators = false
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!this.zanshi.tagetLibItems) this.zanshi.tagetLibItems = []
|
||||||
|
this.formIndicators.weight = this.formIndicators.weight / 100 > 1 ? 1 : this.formIndicators.weight / 100
|
||||||
|
this.zanshi.tagetLibItems.push(Object.assign({}, this.formIndicators, {isDelete: 0}))
|
||||||
|
this.showIndicators = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
maxCount (n, o) {
|
||||||
|
if (!n) this.form.maxCount = ''
|
||||||
|
},
|
||||||
|
weight (n, o) {
|
||||||
|
if (n === 0) this.form.weight = 0
|
||||||
|
},
|
||||||
|
info: {
|
||||||
|
deep: true,
|
||||||
|
handler (n, o) {
|
||||||
|
this.$emit('update:templateForm', Object.assign({}, this.templateForm, n))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -400,6 +501,26 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
&-table{
|
&-table{
|
||||||
|
&-header{
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
height: 60px;
|
||||||
|
border-bottom: 1px solid @borderColor;
|
||||||
|
span{
|
||||||
|
padding:0 0 0 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-content{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
height: 60px;
|
||||||
|
border-bottom: 1px solid @borderColor;
|
||||||
|
justify-content: space-between;
|
||||||
|
div{
|
||||||
|
padding:0 0 0 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
&-bottom{
|
&-bottom{
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="eidt-content boderAndRadius">
|
<div class="eidt-content boderAndRadius">
|
||||||
<basis :basisForm.sync='basisForm' v-show="active===1"/>
|
<basis :basisForm.sync='basisForm' v-show="active===1"/>
|
||||||
<template-set v-show="active===2"/>
|
<template-set :templateForm.sync='templateForm' v-show="active===2"/>
|
||||||
<process v-show="active===3"/>
|
<process v-show="active===3"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -21,21 +21,29 @@
|
|||||||
import basis from './components/basis'
|
import basis from './components/basis'
|
||||||
import process from './components/process'
|
import process from './components/process'
|
||||||
import templateSet from './components/templateSet'
|
import templateSet from './components/templateSet'
|
||||||
import {saveBaseSet} from '@/api/workbench'
|
import {saveBaseSet, saveTemSet} from '@/api/workbench'
|
||||||
|
console.log('saveBaseSet: ', saveBaseSet)
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
active: 1,
|
active: 3,
|
||||||
// 基础
|
// 基础
|
||||||
basisForm: {
|
basisForm: {
|
||||||
id: 8,
|
// id: 8,
|
||||||
counts: '', // 参与考核人数
|
counts: '', // 参与考核人数
|
||||||
depIds: '', // 参与部门id,逗号隔开
|
depIds: '', // 参与部门id,逗号隔开
|
||||||
managerIds: '395', // 绩效管理员ID,system_user,id,逗号隔开
|
managerIds: '395', // 绩效管理员ID,system_user,id,逗号隔开
|
||||||
outIds: '', // 排除人员ids,逗号隔开
|
outIds: '', // 排除人员ids,逗号隔开
|
||||||
staffIds: '', // 参与考核员工staff_id,逗号隔开.
|
staffIds: '', // 参与考核员工staff_id,逗号隔开.
|
||||||
name: ''
|
name: ''
|
||||||
|
},
|
||||||
|
templateForm: {
|
||||||
|
evaluationGroupId: 8,
|
||||||
|
calculateId: 1,
|
||||||
|
gradeGroupId: 1,
|
||||||
|
gradeStatus: 1,
|
||||||
|
modelItems: []
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -54,10 +62,20 @@ export default {
|
|||||||
this.active = item
|
this.active = item
|
||||||
},
|
},
|
||||||
async handSaveBasisc () {
|
async handSaveBasisc () {
|
||||||
|
console.log('this.templateForm: ', this.templateForm)
|
||||||
console.log('this.basisForm: ', this.basisForm)
|
console.log('this.basisForm: ', this.basisForm)
|
||||||
try {
|
try {
|
||||||
let res = await saveBaseSet(this.basisForm)
|
let res = await saveBaseSet(this.basisForm)
|
||||||
this.basisForm = res
|
this.basisForm = res
|
||||||
|
this.templateForm.evaluationGroupId = res.id
|
||||||
|
console.log('res: ', res)
|
||||||
|
} catch (error) {
|
||||||
|
this.$message.error(error.msg)
|
||||||
|
}
|
||||||
|
console.log('this.templateForm: ', JSON.stringify(this.templateForm))
|
||||||
|
try {
|
||||||
|
let res = await saveTemSet(this.templateForm)
|
||||||
|
// this.basisForm = res
|
||||||
console.log('res: ', res)
|
console.log('res: ', res)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$message.error(error.msg)
|
this.$message.error(error.msg)
|
||||||
|
|||||||
@ -2,13 +2,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="assessment">
|
<div class="assessment">
|
||||||
<div class="assessment-form">
|
<div class="assessment-form">
|
||||||
<el-form ref="form" inline :model="form" >
|
<el-form ref="form" @submit.native.prevent inline :model="form" >
|
||||||
<div>
|
|
||||||
<el-form-item >
|
<el-form-item >
|
||||||
<el-input size="small" clearable prefix-icon="el-icon-search" v-model="form.name" placeholder="搜索考核名称"></el-input>
|
<el-input @change="handleChange" @keyup.enter="handleChange" size="small" clearable prefix-icon="el-icon-search" v-model="form.name" placeholder="搜索考核名称"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<el-form-item >
|
<el-form-item >
|
||||||
<el-dropdown >
|
<el-dropdown >
|
||||||
<el-button size="small" type="primary">
|
<el-button size="small" type="primary">
|
||||||
@ -20,7 +17,6 @@
|
|||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<el-table
|
<el-table
|
||||||
@ -44,13 +40,13 @@
|
|||||||
width="120">
|
width="120">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
@click.native.prevent="deleteRow(scope.$index, tableData)"
|
@click="handleDelete(scope.row.id)"
|
||||||
type="text"
|
type="text"
|
||||||
size="small">
|
size="small">
|
||||||
查看
|
编 辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
@click.native.prevent="deleteRow(scope.$index, tableData)"
|
@click="handleDelete(scope.row.id)"
|
||||||
type="text"
|
type="text"
|
||||||
size="small">
|
size="small">
|
||||||
删 除
|
删 除
|
||||||
@ -71,7 +67,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {getWorkList} from '@/api/workbench'
|
import {getWorkList, groundDelete} from '@/api/workbench'
|
||||||
export default {
|
export default {
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
@ -89,6 +85,14 @@ export default {
|
|||||||
this.handleGetData()
|
this.handleGetData()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleChange (value) {
|
||||||
|
this.params = {
|
||||||
|
'currPage': 1,
|
||||||
|
'pageSize': 10,
|
||||||
|
'name': this.form.name
|
||||||
|
}
|
||||||
|
this.handleGetData()
|
||||||
|
},
|
||||||
handleChangePage (value) {
|
handleChangePage (value) {
|
||||||
this.params.currPage = value
|
this.params.currPage = value
|
||||||
this.handleGetData()
|
this.handleGetData()
|
||||||
@ -112,8 +116,17 @@ export default {
|
|||||||
console.log('column: ', column)
|
console.log('column: ', column)
|
||||||
console.log('row: ', row)
|
console.log('row: ', row)
|
||||||
},
|
},
|
||||||
deleteRow (index, rows) {
|
async handleDelete (item) {
|
||||||
rows.splice(index, 1)
|
try {
|
||||||
|
await groundDelete({id: item})
|
||||||
|
this.handleGetData()
|
||||||
|
this.$message({
|
||||||
|
message: '成功',
|
||||||
|
type: 'success'
|
||||||
|
})
|
||||||
|
} catch (error) {
|
||||||
|
this.$message.error(error.msg)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {}
|
watch: {}
|
||||||
|
|||||||
@ -3,9 +3,16 @@
|
|||||||
<div class="home boderAndRadius" >
|
<div class="home boderAndRadius" >
|
||||||
<div class='home-left'>
|
<div class='home-left'>
|
||||||
<div class="home-left-todo">
|
<div class="home-left-todo">
|
||||||
|
<div class="home-left-todo-top">
|
||||||
<div class="commonFont">待办事项<span style="margin:0 4px" class="blueColor">0</span>条</div>
|
<div class="commonFont">待办事项<span style="margin:0 4px" class="blueColor">0</span>条</div>
|
||||||
<div class="blueColor noSelect commonFont" style="cursor: pointer;" @click="handleGetMoreToDo('workbench-todo')">查看更多<i class="el-icon-arrow-right"></i></div>
|
<div class="blueColor noSelect commonFont" style="cursor: pointer;" @click="handleGetMoreToDo('workbench-todo')">查看更多<i class="el-icon-arrow-right"></i></div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="home-left-todo-center">
|
||||||
|
<!-- <div style="height:300px">
|
||||||
|
sassa
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="home-left-enter">
|
<div class="home-left-enter">
|
||||||
<div class="home-left-enter-title commonFont">快捷入口</div>
|
<div class="home-left-enter-title commonFont">快捷入口</div>
|
||||||
<div class="home-left-enter-content">
|
<div class="home-left-enter-content">
|
||||||
@ -64,11 +71,18 @@ export default {
|
|||||||
width: 828px;
|
width: 828px;
|
||||||
&-todo{
|
&-todo{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 80px;
|
|
||||||
border-bottom: 1px solid @borderColor;
|
border-bottom: 1px solid @borderColor;
|
||||||
|
|
||||||
|
padding-top: 18px;
|
||||||
|
&-top{
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
padding-top: 18px;
|
}
|
||||||
|
&-center{
|
||||||
|
padding: 10px 0;
|
||||||
|
max-height: 200px;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
.blueColor{
|
.blueColor{
|
||||||
color: @fontBlue;
|
color: @fontBlue;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user