优化考评组编辑todo流程设计

This commit is contained in:
熊成强 2020-10-22 14:36:49 +08:00
commit f994dc56ea
15 changed files with 399 additions and 146 deletions

View File

@ -3,10 +3,10 @@
// see http://vuejs-templates.github.io/webpack for documentation.
const path = require('path')
const IP = require('ip').address()
module.exports = {
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
@ -15,14 +15,13 @@ module.exports = {
target: `https://tlzmanagement.ldxinyong.com`,
changeOrigin: true,
secure: false ,
pathRewrite: {
'^/lz_management': '/'
}
// pathRewrite: {
// '^/lz_management': '/'
// }
}
},
// 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
autoOpenBrowser: false,
errorOverlay: true,
@ -54,13 +53,11 @@ module.exports = {
build: {
// Template for index.html
index: path.resolve(__dirname, '../dist/index.html'),
index: path.resolve(__dirname, '../dist/digitization/index.html'),
// Paths
assetsRoot: path.resolve(__dirname, '../dist'),
assetsRoot: path.resolve(__dirname, '../dist/digitization/'),
assetsSubDirectory: 'static',
assetsPublicPath: '/',
assetsPublicPath: '/digitization/',
/**
* Source Maps
*/

View File

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>linzi_kpi</title>
<title>绩效系统</title>
</head>
<body>
<div id="app"></div>

View File

@ -60,6 +60,7 @@
"file-loader": "^1.1.4",
"friendly-errors-webpack-plugin": "^1.6.1",
"html-webpack-plugin": "^2.30.1",
"ip": "^1.1.5",
"jest": "^22.0.4",
"jest-serializer-vue": "^0.3.0",
"nightwatch": "^0.9.12",

View File

@ -1,11 +1,9 @@
import request from '@/utils/request'
import URL from '@/api/config'
const baseUrl = process.env.PROXY ? URL.baseUrl : '/lz_management'
// 获取管理员
export function getGround (query) {
return request({
url: baseUrl + '/lz_management/user/lzstaffrole/listByGroupId',
url: '/lz_management/user/lzstaffrole/listByGroupId',
method: 'get',
params: query
})
@ -14,7 +12,7 @@ export function getGround (query) {
// 获取维度类型
export function getDimensions (quer = {}) {
return request({
url: baseUrl + '/lz_management/resultDimension/getDimensions',
url: '/lz_management/resultDimension/getDimensions',
method: 'get'
})
}

View File

@ -1,12 +1,9 @@
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) {
return request({
url: baseUrl + '/lz_management/evaluationGroup/getGroups',
url: '/lz_management/evaluationGroup/getGroups',
method: 'POST',
data: query
})
@ -15,8 +12,44 @@ export function getWorkList (query) {
// 保存基础设置
export function saveBaseSet (query) {
return request({
url: baseUrl + '/lz_management/evaluationGroup/save',
url: '/lz_management/evaluationGroup/save',
method: 'POST',
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
})
}

View File

@ -7,9 +7,12 @@ import store from './store'
import './utils/elementConfig'
import './utils/permission'
import './style/index.less'
import {debounce} from '@/utils/common'
import '@/icons'
console.log('store: ', store)
Vue.config.productionTip = false
Vue.prototype.debounce = debounce
/* eslint-disable no-new */
new Vue({
el: '#app',

View File

@ -9,6 +9,9 @@ const routes = [
redirect: kpiRouter.length > 0 ? kpiRouter[0].redirect : '/'
}
].concat(kpiRouter)
export default new Router({
base: '/digitization/',
mode: 'history',
routes
})

27
src/utils/common.js Normal file
View 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)
}
}
}

View File

@ -1,5 +1,4 @@
import axios from 'axios'
// import { Notification, MessageBox, Message } from 'element-ui'
import { Message } from 'element-ui'
// import store from '@/store'
// import { getToken } from '@/utils/auth'

View File

@ -34,7 +34,7 @@
size="mini"
placeholder="请选择考评组管理员"
readonly
v-model="form.input1">
:value="Ground.title+ ' 等'+ Ground.list.length + '人'">
<i slot="suffix" class="el-input__icon el-icon-edit"></i>
</el-input>
</el-tooltip>
@ -99,8 +99,8 @@
<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="选择考评组管理员">
<div slot="content" class="chooseManage">
<div v-for="i in 10" class="chooseManage-item">
<el-checkbox :value='true'></el-checkbox><span style="margin:0 0 0 10px;">hahahhHah </span>
<div v-for="i in GroundList" :key="i.staffId" class="chooseManage-item" >
<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>
</popup-right>
@ -130,6 +130,8 @@ export default {
},
data () {
return {
GroundList: [],
GroundList1: [],
isSshowOutIds: false,
outIdsLsit: {
list: []
@ -173,7 +175,23 @@ export default {
PopupRight
},
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 () {},
async mounted () {
@ -183,16 +201,24 @@ export default {
methods: {
async handleGetGround () {
try {
const res = await getGround({groupId: 1})
let res = await getGround({groupId: 1})
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) {
this.$message.error(error.msg)
}
},
handleCancel () {
this.GroundList = JSON.parse(JSON.stringify(this.GroundList1))
this.showRight = false
},
handleSubmit () {
this.GroundList1 = JSON.parse(JSON.stringify(this.GroundList))
this.showRight = false
},
handleGetChoose (item) {

View File

@ -29,7 +29,7 @@ import Perform from './Perform'
import Entry from './Entry'
import Score from './Score'
import Approval from './Approval'
import {getByFlowManagerId, saveDetailProcs} from '@/api/workbench'
export default {
data () {
return {

View File

@ -4,9 +4,9 @@
<div class="set-top">
<div class="set-top-title">总分规则</div>
<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-radio-group v-model="form.radio">
<el-radio-group v-model="radio">
<el-radio :label="3">加权计算
<el-popover
placement="top-start"
@ -21,8 +21,10 @@
</el-form-item>
<el-form-item label="3.75评分等级制">
<el-switch
v-model="form.gradeStatus"
v-model="info.gradeStatus"
active-color="#3ba1ff"
:active-value='1'
:inactive-value='0'
inactive-color="#dcdfe6">
</el-switch>
<el-popover
@ -42,24 +44,24 @@
</div>
<div class="set-content">
<draggable
v-model="info.materialsList"
v-model="info.modelItems"
:options='options'
@change="change"
@start="start"
@end="end"
@move="move"
>
<div class="set-content-item item" v-for="i in info.materialsList" :key="i.name">
<div class="set-content-item-top commonFont">
<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-left my-handle sortable-drag">
{{i.name}}
</div>
<div class="set-content-item-top-right">
<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 class="item" effect="dark" content="删除维度" placement="top">
<i class="el-icon-delete"></i>
<el-tooltip class="item" effect="dark" content="删除维度" placement="top">
<i @click="handleDelateWeidu(i,index,-1)" class="el-icon-delete"></i>
</el-tooltip>
</div>
</div>
@ -67,72 +69,74 @@
<div class="set-content-item-center-item">
{{handleWeiDu(i)}}
</div>
<div v-if="i.center.number1==='2'" class="set-content-item-center-item">
所含指标数量 {{i.center.number1String}}
<div v-if="i.maxCount" class="set-content-item-center-item">
所含指标数量 {{i.maxCount}}
</div>
<div v-if="i.center.number2==='2'" class="set-content-item-center-item">
所含指标总权重 {{i.center.number2String}}%
<div v-if="i.weight !==0 && i.weight" class="set-content-item-center-item">
所含指标总权重 {{i.weight * 100}}%
</div>
</div>
<div v-if="i.tableData.length !==0" class="set-content-item-table">
<el-table
:data="tableData"
style="width: 100%">
<el-table-column
fixed
prop="name"
label="指标名称">
</el-table-column>
<el-table-column
prop="number"
label="考核标准">
</el-table-column>
<el-table-column
prop="number"
label="权重(%)">
</el-table-column>
<el-table-column
fixed="right"
label="操作"
width="120">
<template slot-scope="scope">
<el-button
@click.native.prevent="deleteRow(scope.$index)"
<div v-if="handleFilter(i.tagetLibItems).length!==0" class="set-content-item-table">
<div class="set-content-item-table-header commonFont">
<span style="width:30%">指标名称</span>
<span style="width:30%">考核标准</span>
<span style="width:30%">权重</span>
<span style="width:10%">操作</span>
</div>
<draggable
v-model="i.tagetLibItems"
:options='options1'
@change="change"
@start="start"
@end="end"
@move="move"
>
<div
class="set-content-item-table-content commonFont items"
v-for="(j,indexJ) in handleFilter(i.tagetLibItems)"
:key="indexJ"
>
<div style="width:30%">{{j.name}}</div>
<div style="width:30%">{{j.keyResult}}</div>
<div style="width:30%">{{j.weight * 100}}%</div>
<div style="width:10%">
<el-button
@click="hanidleEdit(j,indexJ,index)"
type="text"
size="small">
编辑
</el-button>
<el-button
@click.native.prevent="deleteRow(scope.$index)"
@click="handleDelateWeidu(j,indexJ,index)"
type="text"
size="small">
删除
</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
</draggable>
</div>
<div class="set-content-item-bottom">
<!-- <el-button size="mini" plain>选择指标项</el-button> -->
<el-button @click="handleAddIndicators(i)" size="mini" plain>增加指标项</el-button>
</div>
</div>
</div>
</draggable>
</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">
<el-form label-position="left" ref="form" :model="form" :rules="rules" label-width="180px">
<el-form-item prop="name" label='维度名称'>
<el-input clearable size="small" v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="维度类型">
<el-select v-model="form.modelId" placeholder="请选择维度类型">
<el-select v-model="form.type" placeholder="请选择维度类型">
<el-option
v-for="i in dimensionsList"
:key="i.id"
:label="i.name"
:value="iid"></el-option>
:value="i.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="所含指标数量">
@ -142,11 +146,11 @@
<i style="margin:0 10px;" class="el-icon-location"></i>
</el-tooltip>
</div>
<el-radio-group v-model="form.center.number1" size="medium">
<el-radio label="1">不限数量</el-radio>
<el-radio label="2">自定义</el-radio>
<el-radio-group v-model="maxCount" size="medium">
<el-radio label="">不限数量</el-radio>
<el-radio label="1">自定义</el-radio>
</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 label="所含指标总权重">
<div slot="label">所含指标总权重
@ -154,34 +158,37 @@
<i style="margin:0 10px;" class="el-icon-location"></i>
</el-tooltip>
</div>
<el-radio-group v-model="form.center.number2" size="medium">
<el-radio label="1">不限权重</el-radio>
<el-radio label="2">自定义</el-radio>
<el-radio-group v-model="weight" size="medium">
<el-radio :label="0">不限权重</el-radio>
<el-radio :label="1">自定义</el-radio>
</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>
</el-input>
</el-form-item>
</el-form>
</div>
</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">
<el-form label-position="left" ref="formIndicators" :model="formIndicators" :rules="ruleIndicators" label-width="180px">
<el-form-item label="指标类型">
<el-select v-model="formIndicators.zhibiao">
<el-option label="量化指标1" value="shanghai"></el-option>
<el-option label="量化指标2" value="beijing"></el-option>
<el-select v-model="formIndicators.zhibiao" disabled placeholder="请选择维度类型">
<el-option
v-for="i in dimensionsList"
:key="i.id"
:label="i.name"
:value="i.id"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="name" label='指标名称'>
<el-input clearable size="small" v-model="formIndicators.name"></el-input>
</el-form-item>
<el-form-item label="考核标准">
<el-input size="small" clearable type="textarea" v-model="formIndicators.biaozhun"></el-input>
<el-form-item label="考核标准" prop="keyResult">
<el-input size="small" clearable type="textarea" v-model="formIndicators.keyResult"></el-input>
</el-form-item>
<el-form-item label="权重">
<el-input size="small" clearable v-model="formIndicators.quanzhong">
<el-form-item label="权重" prop="weight">
<el-input size="small" clearable v-model="formIndicators.weight">
<template slot="append">%</template>
</el-input>
</el-form-item>
@ -195,20 +202,30 @@
<script>
import PopupRight from '@/components/PopupRight'
import draggable from 'vuedraggable'
import Sortable from 'sortablejs'
import {getDimensions} from '@/api/data'
// console.log('Sortable: ', Sortable)
const info = {
id: 8,
gradeStatus: 1,
gradeGroupId: 1,
modelItems: [
]
}
export default {
props: ['templateForm'],
data () {
return {
isEditForm: {},
zhibiaoTitle: '添加指标',
weiduTitle: '添加维度',
dimensionsList: [], //
show: false, //
form: {
gradeStatus: 1,
gradeGroupId: 1,
center: {},
tableData: []
}, //
radio: 3,
maxCount: '',
weight: 0,
// info
info: info,
form: {}, //
rules: {
name: [{ required: true,
message: '请输入维度名称',
@ -217,10 +234,21 @@ export default {
}, //
showIndicators: false, //
formIndicators: {}, //
ruleIndicators: {}, // rule
info: {
materialsList: []
},
ruleIndicators: {
name: [{ required: true,
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}],
options: {
group: 'name',
@ -234,6 +262,17 @@ export default {
disabled: false, // sortable
store: null, // @see Store
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: {},
beforeMount () {},
mounted () {
// this.rowDrop()
this.handleGetDimensions()
},
methods: {
handleFilter (item) {
return item ? item.filter(i => i.isDelete === 0) : []
},
// id
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 () {
@ -262,46 +303,106 @@ export default {
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 () {},
start () {},
end () {},
move () {},
//
handleAdd () {
this.form = {
type: this.dimensionsList.length > 0 ? this.dimensionsList[0].id : ''
}
this.weiduTitle = '添加维度'
this.show = true
},
handleCancel () {
this.show = false
},
handleSubmit () {
console.log('this.form: ', this.form)
this.info.materialsList.push(this.form)
this.show = false
this.$refs.form.validate((v) => {
if (v) {
if (this.form.isEdit) {
this.info.modelItems[this.form.index] = Object.assign({}, this.form)
this.form = {}
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
}
})
},
//
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
}
},
//
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.formIndicators = item
this.zanshi = item
this.zhibiaoTitle = '添加指标'
this.formIndicators = {
zhibiao: item.type
}
this.showIndicators = true
},
handleCancelWeiDu () {
handleCancelZhibiao () {
this.showIndicators = false
},
handleSubmitWeiDu () {
console.log('this.formIndicators: ', this.formIndicators)
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: {}
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{
&-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{
padding: 10px;

View File

@ -11,7 +11,7 @@
</div>
<div class="eidt-content boderAndRadius">
<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"/>
</div>
</div>
@ -21,21 +21,29 @@
import basis from './components/basis'
import process from './components/process'
import templateSet from './components/templateSet'
import {saveBaseSet} from '@/api/workbench'
import {saveBaseSet, saveTemSet} from '@/api/workbench'
console.log('saveBaseSet: ', saveBaseSet)
export default {
data () {
return {
active: 1,
active: 3,
//
basisForm: {
id: 8,
// id: 8,
counts: '', //
depIds: '', // id
managerIds: '395', // IDsystem_user,id
outIds: '', // ids
staffIds: '', // staff_id.
name: ''
},
templateForm: {
evaluationGroupId: 8,
calculateId: 1,
gradeGroupId: 1,
gradeStatus: 1,
modelItems: []
}
}
},
@ -54,10 +62,20 @@ export default {
this.active = item
},
async handSaveBasisc () {
console.log('this.templateForm: ', this.templateForm)
console.log('this.basisForm: ', this.basisForm)
try {
let res = await saveBaseSet(this.basisForm)
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)
} catch (error) {
this.$message.error(error.msg)

View File

@ -2,13 +2,10 @@
<template>
<div class="assessment">
<div class="assessment-form">
<el-form ref="form" inline :model="form" >
<div>
<el-form ref="form" @submit.native.prevent inline :model="form" >
<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>
</div>
<div>
<el-form-item >
<el-dropdown >
<el-button size="small" type="primary">
@ -20,7 +17,6 @@
</el-dropdown-menu>
</el-dropdown>
</el-form-item>
</div>
</el-form>
</div>
<el-table
@ -44,16 +40,16 @@
width="120">
<template slot-scope="scope">
<el-button
@click.native.prevent="deleteRow(scope.$index, tableData)"
@click="handleDelete(scope.row.id)"
type="text"
size="small">
查看
</el-button>
<el-button
@click.native.prevent="deleteRow(scope.$index, tableData)"
@click="handleDelete(scope.row.id)"
type="text"
size="small">
</el-button>
</template>
</el-table-column>
@ -71,7 +67,7 @@
</template>
<script>
import {getWorkList} from '@/api/workbench'
import {getWorkList, groundDelete} from '@/api/workbench'
export default {
data () {
return {
@ -89,6 +85,14 @@ export default {
this.handleGetData()
},
methods: {
handleChange (value) {
this.params = {
'currPage': 1,
'pageSize': 10,
'name': this.form.name
}
this.handleGetData()
},
handleChangePage (value) {
this.params.currPage = value
this.handleGetData()
@ -112,8 +116,17 @@ export default {
console.log('column: ', column)
console.log('row: ', row)
},
deleteRow (index, rows) {
rows.splice(index, 1)
async handleDelete (item) {
try {
await groundDelete({id: item})
this.handleGetData()
this.$message({
message: '成功',
type: 'success'
})
} catch (error) {
this.$message.error(error.msg)
}
}
},
watch: {}

View File

@ -2,10 +2,17 @@
<template>
<div class="home boderAndRadius" >
<div class='home-left'>
<div class="home-left-todo">
<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>
<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="blueColor noSelect commonFont" style="cursor: pointer;" @click="handleGetMoreToDo('workbench-todo')">查看更多<i class="el-icon-arrow-right"></i></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-title commonFont">快捷入口</div>
<div class="home-left-enter-content">
@ -64,11 +71,18 @@ export default {
width: 828px;
&-todo{
width: 100%;
height: 80px;
border-bottom: 1px solid @borderColor;
display: flex;
justify-content: space-between;
padding-top: 18px;
&-top{
display: flex;
justify-content: space-between;
}
&-center{
padding: 10px 0;
max-height: 200px;
overflow: auto;
}
.blueColor{
color: @fontBlue;
}