|
@@ -76,69 +76,38 @@
|
|
|
</div>
|
|
|
<div class="checkWork-head-row">
|
|
|
<div>
|
|
|
- <div>进度:2/13</div>
|
|
|
- <div>耗时:{{tj.haoshi}}</div>
|
|
|
-
|
|
|
+ <div>进度:{{kptj.finishedTargetCount}}/{{kptj.totalTargetCount}}</div>
|
|
|
+ <div>耗时:{{kptj.haoshi}}</div>
|
|
|
+
|
|
|
</div>
|
|
|
<div>
|
|
|
- <div>不适用:0</div>
|
|
|
- <div>不合格:3</div>
|
|
|
- <div>合格:5</div>
|
|
|
+ <div>不适用:{{kptj.notWorkTargetCount}}</div>
|
|
|
+ <div>不合格:{{kptj.notPassTargetCount}}</div>
|
|
|
+ <div>合格:{{kptj.passTargetCount}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="checkWork-body">
|
|
|
<div class="checkWork-body-tabs">
|
|
|
- <div class="tabs-items active">
|
|
|
- <div v-if="isDelItem"><a-icon @click="confirmDelKpx" class="aicon" type="close" /></div>
|
|
|
- <div>正常营业</div>
|
|
|
- <div>0/4</div>
|
|
|
+ <div class="tabs-items"
|
|
|
+ :class="activeIndex==index?'active':''"
|
|
|
+ v-for="(item,index) in kpItem"
|
|
|
+ @click="getKpItemZb(index)"
|
|
|
+ :key="item.id">
|
|
|
+ <div v-if="isDelItem"><a-icon @click.stop="confirmDelKpx(item.id)" class="aicon" type="close" /></div>
|
|
|
+ <div>{{item.assessItemName}}</div>
|
|
|
+ <div>{{item.finishedTargetCount}}/{{item.totalTargetCount}}</div>
|
|
|
</div>
|
|
|
- <div class="tabs-items">
|
|
|
- <div v-if="isDelItem"><a-icon class="aicon" type="close" /></div>
|
|
|
- <div>正常营业</div>
|
|
|
- <div>0/4</div>
|
|
|
- </div>
|
|
|
- <div class="tabs-items">
|
|
|
- <div v-if="isDelItem"><a-icon class="aicon" type="close" /></div>
|
|
|
- <div>正常营业</div>
|
|
|
- <div>0/4</div>
|
|
|
- </div>
|
|
|
- <div class="tabs-items">
|
|
|
- <div v-if="isDelItem"><a-icon class="aicon" type="close" /></div>
|
|
|
- <div>正常营业</div>
|
|
|
- <div>0/4</div>
|
|
|
- </div>
|
|
|
- <div class="tabs-items">
|
|
|
- <div v-if="isDelItem"><a-icon class="aicon" type="close" /></div>
|
|
|
- <div>正常营业</div>
|
|
|
- <div>0/4</div>
|
|
|
- </div>
|
|
|
- <div class="tabs-items">
|
|
|
- <div v-if="isDelItem"><a-icon class="aicon" type="close" /></div>
|
|
|
- <div>正常营业</div>
|
|
|
- <div>0/4</div>
|
|
|
- </div>
|
|
|
- <div class="tabs-items">
|
|
|
- <div v-if="isDelItem"><a-icon class="aicon" type="close" /></div>
|
|
|
- <div>正常营业</div>
|
|
|
- <div>0/4</div>
|
|
|
- </div>
|
|
|
- <div class="tabs-items">
|
|
|
- <div v-if="isDelItem"><a-icon class="aicon" type="close" /></div>
|
|
|
- <div>正常营业</div>
|
|
|
- <div>0/4</div>
|
|
|
- </div>
|
|
|
- <div class="tabs-items">
|
|
|
+ <div class="tabs-items" v-if="kpItem.length>0">
|
|
|
<div class="edit" v-if="!isDelItem" @click="isDelItem=true">编辑</div>
|
|
|
<div class="edit" @click="isDelItem=false" v-else>取消编辑</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="checkWork-body-tabCons">
|
|
|
- <div class="tabCons-items">
|
|
|
+ <div class="tabCons-items" v-for="(zb,zbIndex) in zbItem" :key="zb.id">
|
|
|
<div>
|
|
|
- <div><b>正常营业</b></div>
|
|
|
+ <div><b>{{zb.assessTargetName}}</b></div>
|
|
|
|
|
|
<div @click="openCamera()"><a-icon type="camera" style="font-size: 30px;" /></div>
|
|
|
</div>
|
|
@@ -149,21 +118,22 @@
|
|
|
</div>
|
|
|
|
|
|
<div>
|
|
|
- <div></div>
|
|
|
+ <div></div>
|
|
|
<div>
|
|
|
|
|
|
- <a-icon @click="pingfen(0)" type="minus-circle" class="choose-bhs"/>
|
|
|
+ <a-icon @click="selZbResult(0,zb)" type="minus-circle" :class="zb.result=='bsy'?'choose-bsy':''"/>
|
|
|
</div>
|
|
|
<div>
|
|
|
|
|
|
- <a-icon @click="pingfen(1)" type="close-circle" class="choose-bhg"/>
|
|
|
+ <a-icon @click="selZbResult(1,zb)" type="close-circle" :class="zb.result=='bhg'?'choose-bhg':''"/>
|
|
|
</div>
|
|
|
<div>
|
|
|
|
|
|
- <a-icon @click="pingfen(2)" type="check-circle" class="choose-hg"/>
|
|
|
+ <a-icon @click="selZbResult(2,zb)" type="check-circle" :class="zb.result=='hg'?'choose-hg':''"/>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -228,17 +198,20 @@
|
|
|
isEditImg: false, // 是否编辑图片
|
|
|
PED: null, // 图片编辑对象
|
|
|
hsID: null, // 耗时计时器id
|
|
|
- // 统计
|
|
|
- tj:{
|
|
|
+ activeIndex:0, // 当前选择的考评项
|
|
|
+ // 考评统计
|
|
|
+ kptj:{
|
|
|
haoshi: '0时0分'
|
|
|
- }
|
|
|
+ },
|
|
|
+ // 考评项
|
|
|
+ kpItem: [],
|
|
|
+ zbItem: []
|
|
|
},
|
|
|
mounted () {
|
|
|
let _this = this
|
|
|
moment.locale('zh-cn');
|
|
|
this.videoInit()
|
|
|
// 耗时计算
|
|
|
- this.haoshi()
|
|
|
this.hsID = setInterval(function(){
|
|
|
_this.haoshi()
|
|
|
}, 60000)
|
|
@@ -254,12 +227,13 @@
|
|
|
},
|
|
|
// 获取任务详情
|
|
|
getTaskDetail(data){
|
|
|
- alert(data)
|
|
|
- console.log(data,'111')
|
|
|
+ this.kptj = JSON.parse(data)
|
|
|
+ this.haoshi()
|
|
|
},
|
|
|
// 获取任务考评项
|
|
|
getTaskItem(data){
|
|
|
- console.log(data,'222')
|
|
|
+ this.kpItem = JSON.parse(data)
|
|
|
+ this.zbItem = this.kpItem[this.activeIndex].taskTargetVOList
|
|
|
},
|
|
|
// 初始化播放器
|
|
|
videoInit(){
|
|
@@ -339,8 +313,9 @@
|
|
|
haoshi(){
|
|
|
let _this = this
|
|
|
// 耗时
|
|
|
- let s = moment('2020-09-07 10:16:20')
|
|
|
- _this.tj.haoshi = moment().diff(s,'hours') + '时' + moment().diff(s,'minutes')%60 + '分'
|
|
|
+ let s = this.kptj.startTime
|
|
|
+ console.log()
|
|
|
+ _this.kptj.haoshi = moment().diff(s,'hours') + '时' + moment().diff(s,'minutes')%60 + '分'
|
|
|
},
|
|
|
// 发送消息给app 页面
|
|
|
sendMsg (action,msg) {
|
|
@@ -393,17 +368,50 @@
|
|
|
updateItemImg(path){
|
|
|
console.log(path)
|
|
|
},
|
|
|
+ // 更新已完成考评数
|
|
|
+ updateKpFinish(){
|
|
|
+ let kpItem = this.kpItem[this.activeIndex]
|
|
|
+ let a = 0
|
|
|
+ this.zbItem.map(item=>{
|
|
|
+ if(item.result){
|
|
|
+ a++
|
|
|
+ }
|
|
|
+ })
|
|
|
+ kpItem.finishedTargetCount = a
|
|
|
+ },
|
|
|
// -----考评项相关代码---------------
|
|
|
// 删除考评项
|
|
|
- confirmDelKpx(item){
|
|
|
- this.sendMsg('delKpItem',JSON.stringify(item))
|
|
|
+ confirmDelKpx(id){
|
|
|
+ this.sendMsg('delKpItem',id)
|
|
|
},
|
|
|
- delKpItem(item){
|
|
|
- console.log(item)
|
|
|
+ // 删除考评项成功
|
|
|
+ delKpItemSuccess(id){
|
|
|
+ let index = this.kpItem.findIndex(item=> item.id == id)
|
|
|
+ if(index>=0){
|
|
|
+ this.kpItem.splice(index,1)
|
|
|
+ this.getKpItemZb(0)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 切换考评项对应的指标
|
|
|
+ getKpItemZb(index){
|
|
|
+ this.activeIndex = index
|
|
|
+ this.zbItem = this.kpItem[index].taskTargetVOList
|
|
|
},
|
|
|
// 评分,0 不适用,1 不合格,2 合格
|
|
|
- pingfen(type){
|
|
|
-
|
|
|
+ selZbResult(type,zb){
|
|
|
+ let {id,taskItemId,taskId} = zb
|
|
|
+ this.sendMsg('selZbResult',JSON.stringify({result:type,id:id,taskItemId:taskItemId,taskId:taskId}))
|
|
|
+ },
|
|
|
+ // 保存指标结果成功
|
|
|
+ saveZbResultSuccess(id,result){
|
|
|
+ console.log(id,result)
|
|
|
+ let ret = ['bsy','bhg','hg']
|
|
|
+ let zb = this.zbItem.find(item=> item.id == id)
|
|
|
+ if(zb){
|
|
|
+ zb.result = ret[result]
|
|
|
+ // 更新考评项已完成指标数
|
|
|
+ this.updateKpFinish()
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
})
|