优化
This commit is contained in:
parent
cfd345b2c8
commit
2938ec2d8c
@ -5,7 +5,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {mapState} from 'vuex'
|
import { mapState, mapActions } from 'vuex'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'App',
|
name: 'App',
|
||||||
@ -13,7 +13,10 @@ export default {
|
|||||||
...mapState(['user'])
|
...mapState(['user'])
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
console.log(123, this.user)
|
this.GET_DEPLIST()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
...mapActions(['GET_DEPLIST'])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="header-title">
|
<div class="header-title">
|
||||||
<div class="header-title-img">
|
<div class="header-title-img">
|
||||||
<img src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2346299354,1694591848&fm=26&gp=0.jpg" alt="">
|
<img onerror="javascript:this.src='/static/default.jpg';" src='/static/default.jpg' alt="">
|
||||||
</div>
|
</div>
|
||||||
<div class="header-title-right commonFont">
|
<div class="header-title-right commonFont">
|
||||||
<span style="font-size:14px;">{{obj.name || "熊成强"}}</span>
|
<span style="font-size:14px;">{{obj.name || "熊成强"}}</span>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -60,7 +60,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import bbb from './a'
|
import { mapState } from 'vuex'
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
len: {
|
len: {
|
||||||
@ -90,7 +90,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
show: true,
|
show: true,
|
||||||
checked: false,
|
checked: false,
|
||||||
data: bbb,
|
data: [],
|
||||||
showData: [],
|
showData: [],
|
||||||
checkList: [],
|
checkList: [],
|
||||||
titleList: [{
|
titleList: [{
|
||||||
@ -101,12 +101,14 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
...mapState({deplist: state => state.user.deplist}),
|
||||||
isAll () {
|
isAll () {
|
||||||
return this.showData.every(i => this.tags.some(j => i.departmentId === j.departmentId))
|
return this.showData.every(i => this.tags.some(j => i.departmentId === j.departmentId))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeMount () {},
|
beforeMount () {},
|
||||||
mounted () {
|
mounted () {
|
||||||
|
this.data = this.deplist
|
||||||
this.tags = this.showDataList.list.concat([]) || []
|
this.tags = this.showDataList.list.concat([]) || []
|
||||||
this.showData = this.data.length > -1 ? this.data : []
|
this.showData = this.data.length > -1 ? this.data : []
|
||||||
},
|
},
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -66,7 +66,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import bbb from './a'
|
import { mapState } from 'vuex'
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
len: {
|
len: {
|
||||||
@ -95,7 +95,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
show: true,
|
show: true,
|
||||||
checked: false,
|
checked: false,
|
||||||
data: bbb,
|
data: [],
|
||||||
showData: [],
|
showData: [],
|
||||||
checkList: [],
|
checkList: [],
|
||||||
titleList: [{
|
titleList: [{
|
||||||
@ -107,12 +107,14 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
...mapState({deplist: state => state.user.deplist}),
|
||||||
isAll () {
|
isAll () {
|
||||||
return this.staffDtos.every(i => this.tags.some(j => i.departmentId === j.departmentId)) && this.showData.every(i => this.tags.some(j => i.departmentId === j.departmentId))
|
return this.staffDtos.every(i => this.tags.some(j => i.departmentId === j.departmentId)) && this.showData.every(i => this.tags.some(j => i.departmentId === j.departmentId))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeMount () {},
|
beforeMount () {},
|
||||||
mounted () {
|
mounted () {
|
||||||
|
this.data = this.deplist
|
||||||
this.tags = this.showDataList.list.concat([]) || []
|
this.tags = this.showDataList.list.concat([]) || []
|
||||||
this.showData = this.data.length > -1 ? this.data : []
|
this.showData = this.data.length > -1 ? this.data : []
|
||||||
},
|
},
|
||||||
@ -121,7 +123,6 @@ export default {
|
|||||||
handleChangeTtitle (item) {
|
handleChangeTtitle (item) {
|
||||||
if (item.staffDtos) {
|
if (item.staffDtos) {
|
||||||
this.staffDtos = item.staffDtos.map(i => {
|
this.staffDtos = item.staffDtos.map(i => {
|
||||||
console.log('i: ', i)
|
|
||||||
i.departmentId = i.staffId + '-id'
|
i.departmentId = i.staffId + '-id'
|
||||||
i.departmentName = i.name
|
i.departmentName = i.name
|
||||||
return i
|
return i
|
||||||
@ -171,7 +172,6 @@ export default {
|
|||||||
this.tags = this.tags.filter(i => !this.staffDtos.some(j => j.departmentId === i.departmentId))
|
this.tags = this.tags.filter(i => !this.staffDtos.some(j => j.departmentId === i.departmentId))
|
||||||
this.tags = this.tags.filter(i => !this.showData.some(j => j.departmentId === i.departmentId))
|
this.tags = this.tags.filter(i => !this.showData.some(j => j.departmentId === i.departmentId))
|
||||||
}
|
}
|
||||||
console.log(' this.tags: ', this.tags)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const isHas = this.tags.some(i => i.departmentId === item.departmentId)
|
const isHas = this.tags.some(i => i.departmentId === item.departmentId)
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
</transition>
|
</transition>
|
||||||
<div class="navBar-right" v-if="isNav">
|
<div class="navBar-right" v-if="isNav">
|
||||||
<img src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2346299354,1694591848&fm=26&gp=0.jpg" alt="">
|
<img onerror="javascript:this.src='/static/default.jpg';" :src="this.src" alt="">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -28,6 +28,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import routeList from '@/router/kpi_route'
|
import routeList from '@/router/kpi_route'
|
||||||
import NavHeader from './NavHeader'
|
import NavHeader from './NavHeader'
|
||||||
|
import { mapState } from 'vuex'
|
||||||
export default {
|
export default {
|
||||||
name: 'NavBar',
|
name: 'NavBar',
|
||||||
data () {
|
data () {
|
||||||
@ -41,6 +42,7 @@ export default {
|
|||||||
NavHeader
|
NavHeader
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
...mapState({src: state => state.user.info.src}),
|
||||||
isNav () {
|
isNav () {
|
||||||
return !!this.$route.meta.isNav
|
return !!this.$route.meta.isNav
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,17 +1,24 @@
|
|||||||
|
import { getDepList } from '@/api/report'
|
||||||
const user = {
|
const user = {
|
||||||
state: {
|
state: {
|
||||||
user: {
|
deplist: [],
|
||||||
name: 'xcq'
|
info: {
|
||||||
|
src: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
TOGGLE_DEVICE: (state, device) => {
|
SET_DEPLIST: (state, list = []) => {
|
||||||
state.device = device
|
state.deplist = list
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
ToggleSideBar: ({ commit }) => {
|
GET_DEPLIST: ({ commit }) => {
|
||||||
commit('TOGGLE_SIDEBAR')
|
getDepList({type: 1}).then(response => {
|
||||||
|
const data = response.code === 200 ? response.data : []
|
||||||
|
commit('SET_DEPLIST', data)
|
||||||
|
}).catch(error => {
|
||||||
|
console.log(error)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -98,7 +98,7 @@
|
|||||||
<el-input size="small" clearable type="textarea" v-model="formIndicators.keyResult"></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="权重" prop="weight">
|
<el-form-item label="权重" prop="weight">
|
||||||
<el-input size="small" @input="handleInput" clearable v-model="formIndicators.checkWeight">
|
<el-input size="small" @input.native="$handleInputInt('formIndicators.checkWeight')" clearable v-model="formIndicators.checkWeight">
|
||||||
<template slot="append">%</template>
|
<template slot="append">%</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -173,10 +173,6 @@ export default {
|
|||||||
this.handleGetTbale()
|
this.handleGetTbale()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleInput (value) {
|
|
||||||
if (value.split('.').length > 2) value = String(parseFloat(value))
|
|
||||||
this.formIndicators.checkWeight = Number(value) > 100 ? '' : value.replace(/[^.\d]/g, '')
|
|
||||||
},
|
|
||||||
handleGetWeight (arr) {
|
handleGetWeight (arr) {
|
||||||
const weight = arr.detailDtos.reduce((num, i) => {
|
const weight = arr.detailDtos.reduce((num, i) => {
|
||||||
num += i.isDelete !== 1 ? i.checkWeight : 0
|
num += i.isDelete !== 1 ? i.checkWeight : 0
|
||||||
|
|||||||
@ -1,14 +1,22 @@
|
|||||||
<!-- -->
|
<!-- -->
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<el-button size="mini" v-if="!info && formList.resultInput" :disabled='formList.resultInput===1' @click="handleJieguo" type="primary">结果值录入</el-button>
|
<div style="display:inline-block;margin:0 4px;" v-for="(i,index) in authList" :key="index">
|
||||||
<el-button size="mini" v-if="!info" @click="handlePingfen" type="primary">开始评分</el-button>
|
<el-button size="mini"
|
||||||
|
v-if="i.info && formList.auth[[i.permis]]"
|
||||||
|
:disabled='formList[i.permis]===1'
|
||||||
|
@click="i.click"
|
||||||
|
:plain='i.plain'
|
||||||
|
type="primary">{{i.name}}</el-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- <el-button size="mini" v-if="!info" @click="handlePingfen" type="primary">开始评分</el-button>
|
||||||
<el-button size="mini" v-if="!info" @click="handleZhiding" type="primary">制定目标</el-button>
|
<el-button size="mini" v-if="!info" @click="handleZhiding" type="primary">制定目标</el-button>
|
||||||
<el-button size="mini" v-if="!info" @click="handleTongyi" type="primary">同 意</el-button>
|
<el-button size="mini" v-if="!info" @click="handleTongyi" type="primary">同 意</el-button>
|
||||||
<el-button size="mini" v-if="!info" @click="handleBohui" type="primary">驳 回</el-button>
|
<el-button size="mini" v-if="!info" @click="handleBohui" type="primary">驳 回</el-button>
|
||||||
<el-button size="mini" v-if="info" @click="handleCuiban" type="warning" plain>催办</el-button>
|
<el-button size="mini" v-if="info && formList.auth.tiaozhuang" :disabled='formList.auth.tiaozhuang===1' @click="handleJump" type="primary" plain>跳过</el-button>
|
||||||
<el-button size="mini" v-if="info" @click="handleJump" type="primary" plain>跳过</el-button>
|
<el-button size="mini" @click="handleZhuanjiao" type="primary" plain>转 交</el-button> -->
|
||||||
<el-button size="mini" @click="handleZhuanjiao" type="primary" plain>转 交</el-button>
|
<!-- <el-button size="mini" v-if="info" @click="handleCuiban" type="warning" plain>催办</el-button> -->
|
||||||
<getPersonnel @cb='cb' v-if="isShowPersonnel" :isShow.sync='isShowPersonnel' :len='1'/>
|
<getPersonnel @cb='cb' v-if="isShowPersonnel" :isShow.sync='isShowPersonnel' :len='1'/>
|
||||||
<!-- 驳回 -->
|
<!-- 驳回 -->
|
||||||
<popup-right
|
<popup-right
|
||||||
@ -64,6 +72,63 @@ export default {
|
|||||||
props: ['tableInfo', 'formList', 'info'],
|
props: ['tableInfo', 'formList', 'info'],
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
authList: [
|
||||||
|
{
|
||||||
|
name: '催办',
|
||||||
|
info: !this.info,
|
||||||
|
plain: true,
|
||||||
|
type: 'primary',
|
||||||
|
permis: 'toFast',
|
||||||
|
click: this.handleCuiban
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '结果值录入',
|
||||||
|
info: !this.info,
|
||||||
|
type: 'primary',
|
||||||
|
permis: 'resultInput',
|
||||||
|
click: this.handleJieguo
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '开始评分',
|
||||||
|
info: !this.info,
|
||||||
|
type: 'primary',
|
||||||
|
permis: 'editScore',
|
||||||
|
click: this.handlePingfen
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '制定目标',
|
||||||
|
info: !this.info,
|
||||||
|
type: 'primary',
|
||||||
|
permis: 'keyInput',
|
||||||
|
click: this.handleZhiding
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '同 意',
|
||||||
|
info: !this.info,
|
||||||
|
type: 'primary',
|
||||||
|
permis: 'keyCheck',
|
||||||
|
click: this.handleTongyi
|
||||||
|
}, {
|
||||||
|
name: '驳 回',
|
||||||
|
info: !this.info,
|
||||||
|
type: 'primary',
|
||||||
|
permis: 'reject',
|
||||||
|
click: this.handleBohui
|
||||||
|
}, {
|
||||||
|
name: '跳过',
|
||||||
|
info: !!this.info,
|
||||||
|
type: 'primary',
|
||||||
|
permis: 'tiaozhuang',
|
||||||
|
click: this.handleJump
|
||||||
|
}, {
|
||||||
|
name: '转 交',
|
||||||
|
info: !!this.info,
|
||||||
|
plain: true,
|
||||||
|
type: 'primary',
|
||||||
|
permis: 'tiaozhuang',
|
||||||
|
click: this.handleZhuanjiao
|
||||||
|
}
|
||||||
|
],
|
||||||
dialogFormVisible: false,
|
dialogFormVisible: false,
|
||||||
form: {},
|
form: {},
|
||||||
rules: {
|
rules: {
|
||||||
@ -234,6 +299,5 @@ export default {
|
|||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang='' scoped>
|
<style lang='less' scoped>
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -55,6 +55,20 @@
|
|||||||
<el-input style="width:200px;" size="mini" type="textarea" placeholder="请输入内容" v-model="child.scoreComment" clearable></el-input>
|
<el-input style="width:200px;" size="mini" type="textarea" placeholder="请输入内容" v-model="child.scoreComment" clearable></el-input>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-if="item.detailDtos.length===0" class="table-content-right-item">
|
||||||
|
<div class="name">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
</div>
|
||||||
|
<div v-if="tableInfo.result">
|
||||||
|
</div>
|
||||||
|
<div class="quanzhomng">
|
||||||
|
</div>
|
||||||
|
<div v-if="tableInfo.score">
|
||||||
|
</div>
|
||||||
|
<div style="padding:10px;" v-if="tableInfo.score">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -38,6 +38,7 @@
|
|||||||
class="el-icon-check"
|
class="el-icon-check"
|
||||||
></i></span>
|
></i></span>
|
||||||
<i
|
<i
|
||||||
|
v-if="index !== formList.flowRecordList.length-1"
|
||||||
style="cursor: pointer;"
|
style="cursor: pointer;"
|
||||||
@click="handleRight(i)"
|
@click="handleRight(i)"
|
||||||
class="el-icon-video-pause"
|
class="el-icon-video-pause"
|
||||||
@ -88,7 +89,7 @@
|
|||||||
<div class="performance-content-jilu-item-content">
|
<div class="performance-content-jilu-item-content">
|
||||||
<div class="performance-content-jilu-item-content-img">
|
<div class="performance-content-jilu-item-content-img">
|
||||||
<img
|
<img
|
||||||
src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2346299354,1694591848&fm=26&gp=0.jpg"
|
src='/static/default.jpg'
|
||||||
alt=""
|
alt=""
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@ -150,7 +151,8 @@ export default {
|
|||||||
form: {},
|
form: {},
|
||||||
formList: {
|
formList: {
|
||||||
flowRecordList: [],
|
flowRecordList: [],
|
||||||
resultCommentList: []
|
resultCommentList: [],
|
||||||
|
auth: {}
|
||||||
},
|
},
|
||||||
obj: {
|
obj: {
|
||||||
recortModelDtos: []
|
recortModelDtos: []
|
||||||
@ -193,7 +195,7 @@ export default {
|
|||||||
},
|
},
|
||||||
async handleList () {
|
async handleList () {
|
||||||
// resultRecordId = == this.$route.query.id
|
// resultRecordId = == this.$route.query.id
|
||||||
let res = await apiResultRecordDetail({ resultRecordId: this.$route.query.id })
|
let res = await apiResultRecordDetail({ resultRecordId: this.$route.query.id, loginUserId: 313 })
|
||||||
if (res.code !== 200) return
|
if (res.code !== 200) return
|
||||||
for (let i in res.data.flowRecordList) {
|
for (let i in res.data.flowRecordList) {
|
||||||
res.data.flowRecordList[i === '0' ? i : (i - 1)].isGou = true
|
res.data.flowRecordList[i === '0' ? i : (i - 1)].isGou = true
|
||||||
|
|||||||
@ -12,6 +12,7 @@
|
|||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<img
|
<img
|
||||||
:src="scope.row.avatar"
|
:src="scope.row.avatar"
|
||||||
|
onerror="javascript:this.src='/static/default.jpg';"
|
||||||
class="todo-content-right-avatar"
|
class="todo-content-right-avatar"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
BIN
static/default.jpg
Normal file
BIN
static/default.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
Loading…
x
Reference in New Issue
Block a user