优化
This commit is contained in:
parent
cfd345b2c8
commit
2938ec2d8c
@ -5,7 +5,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mapState} from 'vuex'
|
||||
import { mapState, mapActions } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'App',
|
||||
@ -13,7 +13,10 @@ export default {
|
||||
...mapState(['user'])
|
||||
},
|
||||
mounted () {
|
||||
console.log(123, this.user)
|
||||
this.GET_DEPLIST()
|
||||
},
|
||||
methods: {
|
||||
...mapActions(['GET_DEPLIST'])
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
<template>
|
||||
<div class="header-title">
|
||||
<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 class="header-title-right commonFont">
|
||||
<span style="font-size:14px;">{{obj.name || "熊成强"}}</span>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -60,7 +60,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import bbb from './a'
|
||||
import { mapState } from 'vuex'
|
||||
export default {
|
||||
props: {
|
||||
len: {
|
||||
@ -90,7 +90,7 @@ export default {
|
||||
return {
|
||||
show: true,
|
||||
checked: false,
|
||||
data: bbb,
|
||||
data: [],
|
||||
showData: [],
|
||||
checkList: [],
|
||||
titleList: [{
|
||||
@ -101,12 +101,14 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState({deplist: state => state.user.deplist}),
|
||||
isAll () {
|
||||
return this.showData.every(i => this.tags.some(j => i.departmentId === j.departmentId))
|
||||
}
|
||||
},
|
||||
beforeMount () {},
|
||||
mounted () {
|
||||
this.data = this.deplist
|
||||
this.tags = this.showDataList.list.concat([]) || []
|
||||
this.showData = this.data.length > -1 ? this.data : []
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -66,7 +66,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import bbb from './a'
|
||||
import { mapState } from 'vuex'
|
||||
export default {
|
||||
props: {
|
||||
len: {
|
||||
@ -95,7 +95,7 @@ export default {
|
||||
return {
|
||||
show: true,
|
||||
checked: false,
|
||||
data: bbb,
|
||||
data: [],
|
||||
showData: [],
|
||||
checkList: [],
|
||||
titleList: [{
|
||||
@ -107,12 +107,14 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState({deplist: state => state.user.deplist}),
|
||||
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))
|
||||
}
|
||||
},
|
||||
beforeMount () {},
|
||||
mounted () {
|
||||
this.data = this.deplist
|
||||
this.tags = this.showDataList.list.concat([]) || []
|
||||
this.showData = this.data.length > -1 ? this.data : []
|
||||
},
|
||||
@ -121,7 +123,6 @@ export default {
|
||||
handleChangeTtitle (item) {
|
||||
if (item.staffDtos) {
|
||||
this.staffDtos = item.staffDtos.map(i => {
|
||||
console.log('i: ', i)
|
||||
i.departmentId = i.staffId + '-id'
|
||||
i.departmentName = i.name
|
||||
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.showData.some(j => j.departmentId === i.departmentId))
|
||||
}
|
||||
console.log(' this.tags: ', this.tags)
|
||||
return
|
||||
}
|
||||
const isHas = this.tags.some(i => i.departmentId === item.departmentId)
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
</div> -->
|
||||
</transition>
|
||||
<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>
|
||||
</template>
|
||||
@ -28,6 +28,7 @@
|
||||
<script>
|
||||
import routeList from '@/router/kpi_route'
|
||||
import NavHeader from './NavHeader'
|
||||
import { mapState } from 'vuex'
|
||||
export default {
|
||||
name: 'NavBar',
|
||||
data () {
|
||||
@ -41,6 +42,7 @@ export default {
|
||||
NavHeader
|
||||
},
|
||||
computed: {
|
||||
...mapState({src: state => state.user.info.src}),
|
||||
isNav () {
|
||||
return !!this.$route.meta.isNav
|
||||
},
|
||||
|
||||
@ -1,17 +1,24 @@
|
||||
import { getDepList } from '@/api/report'
|
||||
const user = {
|
||||
state: {
|
||||
user: {
|
||||
name: 'xcq'
|
||||
deplist: [],
|
||||
info: {
|
||||
src: ''
|
||||
}
|
||||
},
|
||||
mutations: {
|
||||
TOGGLE_DEVICE: (state, device) => {
|
||||
state.device = device
|
||||
SET_DEPLIST: (state, list = []) => {
|
||||
state.deplist = list
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
ToggleSideBar: ({ commit }) => {
|
||||
commit('TOGGLE_SIDEBAR')
|
||||
GET_DEPLIST: ({ commit }) => {
|
||||
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-form-item>
|
||||
<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>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
@ -173,10 +173,6 @@ export default {
|
||||
this.handleGetTbale()
|
||||
},
|
||||
methods: {
|
||||
handleInput (value) {
|
||||
if (value.split('.').length > 2) value = String(parseFloat(value))
|
||||
this.formIndicators.checkWeight = Number(value) > 100 ? '' : value.replace(/[^.\d]/g, '')
|
||||
},
|
||||
handleGetWeight (arr) {
|
||||
const weight = arr.detailDtos.reduce((num, i) => {
|
||||
num += i.isDelete !== 1 ? i.checkWeight : 0
|
||||
|
||||
@ -1,14 +1,22 @@
|
||||
<!-- -->
|
||||
<template>
|
||||
<div>
|
||||
<el-button size="mini" v-if="!info && formList.resultInput" :disabled='formList.resultInput===1' @click="handleJieguo" type="primary">结果值录入</el-button>
|
||||
<el-button size="mini" v-if="!info" @click="handlePingfen" 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="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="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="handleCuiban" type="warning" 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" v-if="info && formList.auth.tiaozhuang" :disabled='formList.auth.tiaozhuang===1' @click="handleJump" 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'/>
|
||||
<!-- 驳回 -->
|
||||
<popup-right
|
||||
@ -64,6 +72,63 @@ export default {
|
||||
props: ['tableInfo', 'formList', 'info'],
|
||||
data () {
|
||||
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,
|
||||
form: {},
|
||||
rules: {
|
||||
@ -234,6 +299,5 @@ export default {
|
||||
|
||||
</script>
|
||||
|
||||
<style lang='' scoped>
|
||||
|
||||
<style lang='less' scoped>
|
||||
</style>
|
||||
|
||||
@ -55,6 +55,20 @@
|
||||
<el-input style="width:200px;" size="mini" type="textarea" placeholder="请输入内容" v-model="child.scoreComment" clearable></el-input>
|
||||
</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>
|
||||
|
||||
@ -38,6 +38,7 @@
|
||||
class="el-icon-check"
|
||||
></i></span>
|
||||
<i
|
||||
v-if="index !== formList.flowRecordList.length-1"
|
||||
style="cursor: pointer;"
|
||||
@click="handleRight(i)"
|
||||
class="el-icon-video-pause"
|
||||
@ -88,7 +89,7 @@
|
||||
<div class="performance-content-jilu-item-content">
|
||||
<div class="performance-content-jilu-item-content-img">
|
||||
<img
|
||||
src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2346299354,1694591848&fm=26&gp=0.jpg"
|
||||
src='/static/default.jpg'
|
||||
alt=""
|
||||
>
|
||||
</div>
|
||||
@ -150,7 +151,8 @@ export default {
|
||||
form: {},
|
||||
formList: {
|
||||
flowRecordList: [],
|
||||
resultCommentList: []
|
||||
resultCommentList: [],
|
||||
auth: {}
|
||||
},
|
||||
obj: {
|
||||
recortModelDtos: []
|
||||
@ -193,7 +195,7 @@ export default {
|
||||
},
|
||||
async handleList () {
|
||||
// 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
|
||||
for (let i in res.data.flowRecordList) {
|
||||
res.data.flowRecordList[i === '0' ? i : (i - 1)].isGou = true
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
<template slot-scope="scope">
|
||||
<img
|
||||
:src="scope.row.avatar"
|
||||
onerror="javascript:this.src='/static/default.jpg';"
|
||||
class="todo-content-right-avatar"
|
||||
/>
|
||||
</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