This commit is contained in:
熊成强 2020-11-03 11:03:13 +08:00
parent cfd345b2c8
commit 2938ec2d8c
14 changed files with 122 additions and 2495 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -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
}, },

View File

@ -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)
})
} }
} }
} }

View File

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

View File

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

View File

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

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB