* 'v_1.0.0' of http://gitlab.ldxinyong.com/enterpriseManagement/digitization-ui:
  youhua

# Conflicts:
#	src/main.js
This commit is contained in:
leave 2020-10-22 14:41:47 +08:00
commit 814440fdad
10 changed files with 426 additions and 131 deletions

View File

@ -1,19 +1,18 @@
import request from '@/utils/request' import request from '@/utils/request'
// const baseUrl = process.env.APP_BASE_API
export function getCaseCollectorListPage (query) { // 获取管理员
export function getGround (query) {
return request({ return request({
url: '/caseCollector/caseCollectorListPage', url: '/lz_management/user/lzstaffrole/listByGroupId',
method: 'get', method: 'get',
params: query params: query
}) })
} }
export function apiCaseCenterExport (query) { // 获取维度类型
export function getDimensions (quer = {}) {
return request({ return request({
url: '/market-api/marketCaseExport/exportMarketCaseDataList', url: '/lz_management/resultDimension/getDimensions',
method: 'get', method: 'get'
params: query,
responseType: 'blob'
}) })
} }

View File

@ -1,6 +1,4 @@
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 getWorkList (query) { export function getWorkList (query) {
@ -19,3 +17,39 @@ export function saveBaseSet (query) {
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
})
}

View File

@ -7,6 +7,9 @@ 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'
import { import {
format format
@ -15,6 +18,8 @@ import {
console.log('store: ', store) console.log('store: ', store)
Vue.config.productionTip = false Vue.config.productionTip = false
Vue.prototype.$format = format Vue.prototype.$format = format
Vue.prototype.debounce = debounce
/* eslint-disable no-new */ /* eslint-disable no-new */
new Vue({ new Vue({
el: '#app', el: '#app',

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

@ -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" :key="i"> <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>
@ -111,6 +111,7 @@
import getDepart from './getDepart' import getDepart from './getDepart'
import getPersonnel from './getPersonnel' import getPersonnel from './getPersonnel'
import PopupRight from '@/components/PopupRight' import PopupRight from '@/components/PopupRight'
import {getGround} from '@/api/data'
export default { export default {
props: { props: {
basisForm: { basisForm: {
@ -129,6 +130,8 @@ export default {
}, },
data () { data () {
return { return {
GroundList: [],
GroundList1: [],
isSshowOutIds: false, isSshowOutIds: false,
outIdsLsit: { outIdsLsit: {
list: [] list: []
@ -172,17 +175,50 @@ 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 () {},
mounted () { async mounted () {
this.form = this.basisForm this.form = this.basisForm
this.handleGetGround()
}, },
methods: { methods: {
async handleGetGround () {
try {
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 () { 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) {

View File

@ -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 {

View File

@ -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.value" 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,94 +44,99 @@
</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>
<div class="set-content-item-center commonFont"> <div class="set-content-item-center commonFont">
<div class="set-content-item-center-item"> <div class="set-content-item-center-item">
{{i.leixing}} {{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>
<el-button <div style="width:30%">{{j.weight * 100}}%</div>
@click.native.prevent="deleteRow(scope.$index)" <div style="width:10%">
<el-button
@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> -->
<el-button @click="handleAddIndicators(i)" size="mini" plain>增加指标项</el-button> <el-button @click="handleAddIndicators(i)" size="mini" plain>增加指标项</el-button>
</div> </div>
</div> </div>
</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.leixing" placeholder="请选择维度类型"> <el-select v-model="form.type" 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 label="所含指标数量"> <el-form-item label="所含指标数量">
@ -139,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">所含指标总权重
@ -151,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>
@ -192,16 +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'
// console.log('Sortable: ', Sortable) // console.log('Sortable: ', Sortable)
const info = {
id: 8,
gradeStatus: 1,
gradeGroupId: 1,
modelItems: [
]
}
export default { export default {
props: ['templateForm'],
data () { data () {
return { return {
isEditForm: {},
zhibiaoTitle: '添加指标',
weiduTitle: '添加维度',
dimensionsList: [], //
show: false, // show: false, //
form: { radio: 3,
center: {}, maxCount: '',
tableData: [] weight: 0,
}, // // info
info: info,
form: {}, //
rules: { rules: {
name: [{ required: true, name: [{ required: true,
message: '请输入维度名称', message: '请输入维度名称',
@ -210,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',
@ -227,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 ' -
} }
} }
}, },
@ -237,19 +283,25 @@ export default {
computed: {}, computed: {},
beforeMount () {}, beforeMount () {},
mounted () { mounted () {
// this.rowDrop() this.handleGetDimensions()
}, },
methods: { methods: {
// handleFilter (item) {
rowDrop () { return item ? item.filter(i => i.isDelete === 0) : []
const tbody = document.querySelector('.el-table__body-wrapper tbody') },
const _this = this // id
Sortable.create(tbody, { handleWeiDu (item) {
onEnd ({ newIndex, oldIndex }) { return this.dimensionsList.filter(i => i.id === item.type)[0].name
const currRow = _this.tableData.splice(oldIndex, 1)[0] },
_this.tableData.splice(newIndex, 0, currRow) //
} async handleGetDimensions () {
}) try {
const res = await getDimensions()
this.dimensionsList = res
console.log('res: ', res)
} catch (error) {
this.$message.error(error.msg)
}
}, },
change () {}, change () {},
start () {}, start () {},
@ -257,29 +309,100 @@ export default {
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) {
this.show = false 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) { handleAddIndicators (item) {
this.formIndicators = item this.zanshi = item
this.zhibiaoTitle = '添加指标'
this.formIndicators = {
zhibiao: item.type
}
this.showIndicators = true this.showIndicators = true
}, },
handleCancelWeiDu () { handleCancelZhibiao () {
this.showIndicators = false this.showIndicators = false
}, },
handleSubmitWeiDu () { handleSubmitZhibiao () {
console.log('this.formIndicators: ', this.formIndicators) this.$refs.formIndicators.validate((v) => {
this.showIndicators = false 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))
}
}
}
} }
@ -378,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;

View File

@ -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,20 +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,
counts: '', // counts: '', //
depIds: '', // id depIds: '', // id
managerIds: '395', // IDsystem_user,id managerIds: '395', // IDsystem_user,id
outIds: '', // ids outIds: '', // ids
staffIds: '', // staff_id. staffIds: '', // staff_id.
name: '' name: ''
},
templateForm: {
evaluationGroupId: 8,
calculateId: 1,
gradeGroupId: 1,
gradeStatus: 1,
modelItems: []
} }
} }
}, },
@ -53,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)

View File

@ -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,16 +40,16 @@
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">
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -61,6 +57,7 @@
<div class="footer"> <div class="footer">
<el-pagination <el-pagination
small small
@current-change="handleChangePage"
layout="prev, pager, next" layout="prev, pager, next"
page-size.sync='params.pageSize' page-size.sync='params.pageSize'
:total="params.totalCount"> :total="params.totalCount">
@ -70,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 {
@ -88,6 +85,18 @@ export default {
this.handleGetData() this.handleGetData()
}, },
methods: { methods: {
handleChange (value) {
this.params = {
'currPage': 1,
'pageSize': 10,
'name': this.form.name
}
this.handleGetData()
},
handleChangePage (value) {
this.params.currPage = value
this.handleGetData()
},
async handleGetData () { async handleGetData () {
try { try {
const res = await getWorkList(Object.assign({}, this.params)) const res = await getWorkList(Object.assign({}, this.params))
@ -107,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: {}

View File

@ -2,10 +2,17 @@
<template> <template>
<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="commonFont">待办事项<span style="margin:0 4px" class="blueColor">0</span></div> <div class="home-left-todo-top">
<div class="blueColor noSelect commonFont" style="cursor: pointer;" @click="handleGetMoreToDo('workbench-todo')">查看更多<i class="el-icon-arrow-right"></i></div> <div class="commonFont">待办事项<span style="margin:0 4px" class="blueColor">0</span></div>
</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">
<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;
display: flex;
justify-content: space-between;
padding-top: 18px; padding-top: 18px;
&-top{
display: flex;
justify-content: space-between;
}
&-center{
padding: 10px 0;
max-height: 200px;
overflow: auto;
}
.blueColor{ .blueColor{
color: @fontBlue; color: @fontBlue;
} }