<template>
|
<a-form-model ref='form' :label-col='labelCol' :wrapper-col='wrapperCol' :model='model'
|
:rules='validatorRules'>
|
<a-list
|
class='demo-loadmore-list'
|
item-layout='horizontal'
|
:data-source='model.weekList'
|
style='padding-bottom: 20px'>
|
|
<div v-if='showLoadingMore'
|
slot='loadMore'
|
:style="{ textAlign: 'center', marginTop: '12px', height: '32px', lineHeight: '32px' }">
|
<a-spin v-if='loadingMore' />
|
<a-button v-else-if='!loadingMore & showLoadModel' @click='onLoadMore'>
|
前一周周报
|
</a-button>
|
|
</div>
|
<a-list-item slot='renderItem' slot-scope='week, weekIndex'>
|
|
<div style='width: 100%;'>
|
<div class='head-week'>
|
<span class='head-week-title'>{{ getDictText(week.username) }} {{ week.year }}年 第{{ week.week
|
}}周 {{ getThisWeek(week) }}</span>
|
<a-button type='link' @click='exportXls(week)'>
|
导出
|
</a-button>
|
<span :class="{ 'head-week-icon-up': week.show, 'head-week-icon-down': !week.show }"
|
@click='showWeekItem(week)'></span>
|
</div>
|
<!--一周周报内容start-->
|
<div v-show='week.show'>
|
|
|
<!--本周完成内容start-->
|
<div class='this-week-box'>
|
<span class='this-week-text'>{{ week.typeList[0].name }} </span>
|
<span class='this-week-date'> {{ week.startDateStr1 }}- {{ week.endDateStr1 }} </span>
|
<span style='margin-left: 20px'>总工时:<span style='color:#1890FF '>{{countGs([...week.typeList[0].wekList,...week.typeList[1].wekList])}}</span>小时</span>
|
</div>
|
<div class='week-form-box'>
|
<!-- 主表单区域 -->
|
<a-row class='row-title' type='flex' :gutter='16'>
|
<a-col class='col-title' :span='2'></a-col>
|
<a-col class='col-title' :span='2'>总结类型</a-col>
|
<a-col class='col-title' :span='3'>项目</a-col>
|
<a-col class='col-title' :span='3'>wbs</a-col>
|
<a-col class='col-title' :span='6'>工作描述</a-col>
|
<a-col class='col-title' :span='2'>进度</a-col>
|
<a-col class='col-title' :span='2'>交付物</a-col>
|
<a-col class='col-title' :span='2' >工时(<span style='color: #1890FF'>{{countGs(week.typeList[0].wekList) }}</span>)</a-col>
|
<a-col v-if='showAction' class='col-title' :span='2'>操作</a-col>
|
</a-row>
|
<a-row class='row-text' type='flex' :gutter='16'
|
v-for='(rootItem, rootIndex) in week.typeList[0].wekList' :key="rootIndex + 'typeList0' ">
|
<a-col class='col-text' :span='2'>
|
|
<div>
|
<a-popover v-model='rootItem.attach' placement='rightTop' trigger='click'>
|
<div slot='title'><span @click='uploadAttach(rootIndex)' class='upload-attach'>上传附件</span> <a
|
style='float: right;font-size: 12px' @click='rootItem.attach=false'>关闭</a></div>
|
<div slot='content'>
|
<j-upload :biz-path='getDate' :id="'upload'+rootIndex" ref='upload'
|
v-model='rootItem.attachFiles'></j-upload>
|
</div>
|
<span :class="{ 'col-no-red': !rootItem.id , 'col-no-green': rootItem.id }">
|
<a-icon v-if='rootItem.attachFiles' style='color: #1890FF;cursor: pointer' type='link' />
|
<a-icon v-else style='cursor: pointer' type='link' />
|
{{ rootIndex + 1 }}
|
</span>
|
</a-popover>
|
|
<!-- <span :class="{ 'col-no-red': !rootItem.id , 'col-no-green': rootItem.id }"> <a-icon type="link" /> {{ rootIndex + 1
|
}}</span>-->
|
|
</div>
|
<a-input v-model='rootItem.id' class='hide-input-caret' v-show='false' readOnly />
|
<a-input v-model='rootItem.week' class='hide-input-caret' v-show='false' readOnly />
|
<a-input v-model='rootItem.year' class='hide-input-caret' v-show='false' readOnly />
|
<a-input v-model='rootItem.type' class='hide-input-caret' v-show='false' readOnly />
|
</a-col>
|
<a-col class='col-text' :span='2'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择类型' trigger='focus'>
|
<template slot='content'>
|
<div class='list-box'>
|
<a-button v-for='(item, index) in subTypeList' @click='selectHelp(rootItem,item)'
|
:key="index +'subTypeList1'"
|
style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ item.value }}
|
</a-button>
|
</div>
|
</template>
|
|
<a-input v-model='rootItem.subTypeName' class='hide-input-caret text-ellipsis' readOnly />
|
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
|
<!--有两种类型,一种是选择项目,一种是自己填写-->
|
<template v-if='rootItem.subType == 1'>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择项目' trigger='focus'>
|
<template slot='content'>
|
<div class='pro-list'>
|
|
<a-button v-for='(item, index) in filterProList' @click='selectPro(rootItem,item)'
|
:key="index +'proList1'"
|
style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ item.xmbh + ' - ' + item.xmmc }}
|
</a-button>
|
</div>
|
</template>
|
|
<a-tooltip placement='topLeft'>
|
<template slot='title'>
|
<span v-if='rootItem.xmName'>{{ rootItem.xmName }}</span>
|
</template>
|
<a-textarea v-model='rootItem.xmName' @focus='filterProFocus' @blur='filterProBlur(rootItem)'
|
@change='filterProChange($event,rootItem)' class='text-ellipsis' />
|
</a-tooltip>
|
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择项目WBS' trigger='focus'>
|
<template slot='content'>
|
<div class='pro-link-list'>
|
<a-button v-for='(item, index) in proLinklist' @click='selectProLinkWbs(rootItem,item)'
|
:key="index+'proLinklist1'" style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ (item.sxh == null ? '' : item.sxh) + ' - ' + (item.xmhj == null ? '' : item.xmhj)
|
}}
|
</a-button>
|
</div>
|
</template>
|
|
<a-tooltip placement='topLeft'>
|
<template slot='title'>
|
<span v-if='rootItem.wbsName'>{{ rootItem.wbsName }}</span>
|
</template>
|
<a-textarea v-model='rootItem.wbsName' @focus='queryProLinkWbs(rootItem.xm)'
|
class='hide-input-caret text-ellipsis' readOnly />
|
</a-tooltip>
|
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
|
</template>
|
<template v-else-if='rootItem.subType == 2'>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择项目' trigger='focus'>
|
<template slot='content'>
|
<div class='list-box'>
|
<a-button v-for='(item, index) in extWorkList' @click='selectExtWork(rootItem,item)'
|
:key="index+'extWorkList1'"
|
style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ index + 1 + ' - ' + item.text }}
|
</a-button>
|
</div>
|
</template>
|
<a-input v-model='rootItem.extName' class='hide-input-caret' readOnly />
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model='rootItem.wbsName'
|
class='text-ellipsis' disabled />
|
</a-form-model-item>
|
</a-col>
|
|
</template>
|
<template v-else>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model='rootItem.xmName' class='hide-input-caret text-ellipsis' readOnly />
|
</a-form-model-item>
|
</a-col>
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model='rootItem.wbsName'
|
class='hide-input-caret text-ellipsis' readOnly />
|
</a-form-model-item>
|
</a-col>
|
|
</template>
|
|
|
<a-col class='col-text' :span='6'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model.lazy='rootItem.gzms' allow-clear auto-size @blur='saveData(rootItem,null)'/>
|
</a-form-model-item>
|
</a-col>
|
<a-col class='col-text' :span='2'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择工作进度' trigger='focus'>
|
<template slot='content'>
|
<div class='jd-list'>
|
<div class='jd-item' v-for='(item,index) in jdList ' :key="index+'jdList1'">
|
<a-button
|
style='margin: 5px'
|
@click='selectJd(rootItem,index)'
|
type='dashed'>
|
{{ item }}
|
</a-button>
|
</div>
|
</div>
|
</template>
|
<a-input v-model='rootItem.jdName' class='hide-input-caret' readOnly />
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
<a-col class='col-text' :span='2'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model.lazy='rootItem.xmDeliver' allow-clear auto-size @blur='saveData(rootItem,null)' class='text-ellipsis' />
|
</a-form-model-item>
|
</a-col>
|
|
<a-col class='col-text' :span='2'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择工时' trigger='focus'>
|
<template slot='content'>
|
<div class='gs-list'>
|
<a-button v-for='(item,index) in gsList ' :key="index+'gsList1'"
|
@click='selectGs(rootItem,index)' style='width: 30%;margin: 5px 0'
|
type='dashed'>
|
{{ item }}
|
</a-button>
|
</div>
|
</template>
|
<a-input v-model='rootItem.gsName' class='hide-input-caret' readOnly />
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
|
|
<a-col v-if='showAction' class='col-text' :span='2'>
|
<a-form-model-item>
|
<a-popconfirm v-if='rootItem.id' title='确定删除吗?'
|
@confirm='() => delRowCustom(weekIndex,0,rootIndex)'>
|
<a-icon type='minus-circle' style='fontSize :20px' />
|
</a-popconfirm>
|
<a-icon v-else @click='delRowCustom(weekIndex,0,rootIndex)' type='minus-circle'
|
style='fontSize :20px' />
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<div v-if='showAction' style='display: flex;justify-content: center;border-top:1px solid #E9E9E9'>
|
<a-button type='link' style='width: 98%;margin-top: 10px'
|
@click='copyRowCustom(weekIndex,0)'>
|
<a-icon type='copy' />
|
复制上行
|
</a-button>
|
<a-button type='link' style='width: 98%;margin-top: 10px'
|
@click='addRowCustom(weekIndex,0)'>
|
<a-icon type='plus' />
|
添加数据
|
</a-button>
|
|
</div>
|
<a-button v-else type='link' style='width: 98%;margin-top: 10px;color:grey'>
|
<a-icon style='color: grey' />
|
|
</a-button>
|
</div>
|
<!--本周完成内容end-->
|
|
|
<template v-if='week.showDetail'>
|
|
<!--本周计划外start-->
|
<div class='this-week-box borderLeft3'>
|
<span class='this-week-text'>{{ week.typeList[1].name }}</span>
|
<span class='this-week-date'> </span>
|
</div>
|
<div class='week-form-box'>
|
<!-- 主表单区域 -->
|
<a-row class='row-title' type='flex' :gutter='16'>
|
<a-col class='col-title' :span='2'></a-col>
|
<a-col class='col-title' :span='2'>类型</a-col>
|
<a-col class='col-title' :span='3'>项目</a-col>
|
<a-col class='col-title' :span='3'>wbs</a-col>
|
<a-col class='col-title' :span='6'>工作描述</a-col>
|
<a-col class='col-title' :span='2'>进度</a-col>
|
<a-col class='col-title' :span='2'>交付物</a-col>
|
<a-col class='col-title' :span='2'>工时(<span style='color: #1890FF'>{{countGs(week.typeList[1].wekList) }}</span>)</a-col>
|
<a-col v-if='showAction' class='col-title' :span='2'>操作</a-col>
|
</a-row>
|
<a-row class='row-text' type='flex' :gutter='16'
|
v-for='(rootItem, rootIndex) in week.typeList[1].wekList' :key="rootIndex + 'typeList1' ">
|
<a-col class='col-text' :span='2'>
|
|
<div style='text-align: center'>
|
<span :class="{ 'col-no-red': !rootItem.id , 'col-no-green': rootItem.id }"> {{ rootIndex + 1
|
}}</span>
|
</div>
|
<a-input v-model='rootItem.id' class='hide-input-caret' v-show='false' readOnly />
|
<a-input v-model='rootItem.week' class='hide-input-caret' v-show='false' readOnly />
|
<a-input v-model='rootItem.year' class='hide-input-caret' v-show='false' readOnly />
|
<a-input v-model='rootItem.type' class='hide-input-caret' v-show='false' readOnly />
|
</a-col>
|
<a-col class='col-text' :span='2'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择类型' trigger='focus'>
|
<template slot='content'>
|
<div class='list-box'>
|
<a-button v-for='(item, index) in subTypeList' @click='selectHelp(rootItem,item)'
|
:key="index +'subTypeList1'"
|
style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ item.value }}
|
</a-button>
|
</div>
|
</template>
|
|
<a-input v-model='rootItem.subTypeName' class='hide-input-caret text-ellipsis' readOnly />
|
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
|
<!--有两种类型,一种是选择项目,一种是自己填写-->
|
<template v-if='rootItem.subType == 1'>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择项目' trigger='focus'>
|
<template slot='content'>
|
<div class='pro-list'>
|
<a-button v-for='(item, index) in filterProList' @click='selectPro(rootItem,item)'
|
:key="index +'proList1'"
|
style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ item.xmbh + ' - ' + item.xmmc }}
|
</a-button>
|
</div>
|
</template>
|
|
<a-tooltip placement='topLeft'>
|
<template slot='title'>
|
<span v-if='rootItem.xmName'>{{ rootItem.xmName }}</span>
|
</template>
|
<a-textarea v-model='rootItem.xmName' @focus='filterProFocus'
|
@blur='filterProBlur(rootItem)' @change='filterProChange($event,rootItem)'
|
class='text-ellipsis' />
|
|
</a-tooltip>
|
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择项目WBS' trigger='focus'>
|
<template slot='content'>
|
<div class='pro-link-list'>
|
<a-button v-for='(item, index) in proLinklist' @click='selectProLinkWbs(rootItem,item)'
|
:key="index+'proLinklist1'" style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ (item.sxh == null ? '' : item.sxh) + ' - ' + (item.xmhj == null ? '' : item.xmhj)
|
}}
|
</a-button>
|
</div>
|
</template>
|
|
<a-tooltip placement='topLeft'>
|
<template slot='title'>
|
<span v-if='rootItem.wbsName'>{{ rootItem.wbsName }}</span>
|
</template>
|
<a-textarea v-model='rootItem.wbsName' @focus='queryProLinkWbs(rootItem.xm)'
|
class='hide-input-caret text-ellipsis' readOnly />
|
</a-tooltip>
|
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
|
</template>
|
<template v-else-if='rootItem.subType == 2'>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择项目' trigger='focus'>
|
<template slot='content'>
|
<div class='list-box'>
|
<a-button v-for='(item, index) in extWorkList' @click='selectExtWork(rootItem,item)'
|
:key="index+'extWorkList1'"
|
style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ index + 1 + ' - ' + item.text }}
|
</a-button>
|
</div>
|
</template>
|
<a-input v-model='rootItem.extName' class='hide-input-caret' readOnly />
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model='rootItem.wbsName'
|
class='text-ellipsis' disabled />
|
</a-form-model-item>
|
</a-col>
|
|
</template>
|
<template v-else>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model='rootItem.xmName' class='hide-input-caret text-ellipsis' readOnly />
|
</a-form-model-item>
|
</a-col>
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model='rootItem.wbsName'
|
class='hide-input-caret text-ellipsis' readOnly />
|
</a-form-model-item>
|
</a-col>
|
|
</template>
|
|
|
<a-col class='col-text' :span='6'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model.lazy='rootItem.gzms' allow-clear auto-size @blur='saveData(rootItem,null)'/>
|
</a-form-model-item>
|
</a-col>
|
<a-col class='col-text' :span='2'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择工作进度' trigger='focus'>
|
<template slot='content'>
|
<div class='jd-list'>
|
<div class='jd-item' v-for='(item,index) in jdList ' :key="index+'jdList2'">
|
<a-button
|
style='margin: 5px'
|
@click='selectJd(rootItem,index)'
|
type='dashed'>
|
{{ item }}
|
</a-button>
|
</div>
|
</div>
|
</template>
|
<a-input v-model='rootItem.jdName' class='hide-input-caret' readOnly />
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
<a-col class='col-text' :span='2'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model.lazy='rootItem.xmDeliver' allow-clear auto-size @blur='saveData(rootItem,null)' class='text-ellipsis' />
|
</a-form-model-item>
|
</a-col>
|
|
<a-col class='col-text' :span='2'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择工时' trigger='focus'>
|
<template slot='content'>
|
<div class='gs-list'>
|
<a-button v-for='(item,index) in gsList ' :key="index+'gsList1'"
|
@click='selectGs(rootItem,index)' style='width: 30%;margin: 5px 0'
|
type='dashed'>
|
{{ item }}
|
</a-button>
|
</div>
|
</template>
|
<a-input v-model='rootItem.gsName' class='hide-input-caret' readOnly />
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
|
|
<a-col v-if='showAction' class='col-text' :span='2'>
|
<a-form-model-item>
|
<a-popconfirm v-if='rootItem.id' title='确定删除吗?'
|
@confirm='() => delRowCustom(weekIndex,1,rootIndex)'>
|
<a-icon type='minus-circle' style='fontSize :20px' />
|
</a-popconfirm>
|
<a-icon v-else @click='delRowCustom(weekIndex,1,rootIndex)' type='minus-circle'
|
style='fontSize :20px' />
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
|
<div v-if='showAction' style='display: flex;justify-content: center'>
|
<a-button type='link' style='width: 98%;margin-top: 10px'
|
@click='copyRowCustom(weekIndex,1)'>
|
<a-icon type='copy' />
|
复制上行
|
</a-button>
|
<a-button type='link' style='width: 98%;margin-top: 10px'
|
@click='addRowCustom(weekIndex,1)'>
|
<a-icon type='plus' />
|
添加数据
|
</a-button>
|
|
</div>
|
|
<a-button v-else type='link' style='width: 98%;margin-top: 10px;color:grey'>
|
<a-icon style='color: grey' />
|
|
</a-button>
|
</div>
|
<!--本周计划外end-->
|
|
|
<!--下周计划start-->
|
<div class='this-week-box borderLeft3 paddingTop10'>
|
<span class='this-week-text'>{{ week.typeList[2].name }}</span>
|
<span class='this-week-date'>{{ week.startDateStr2 }}- {{ week.endDateStr2 }}</span>
|
</div>
|
<div class='week-form-box'>
|
<!-- 主表单区域 -->
|
<a-row class='row-title' type='flex' :gutter='16'>
|
<a-col class='col-title' :span='2'></a-col>
|
<a-col class='col-title' :span='2'>类型</a-col>
|
<a-col class='col-title' :span='3'>项目</a-col>
|
<a-col class='col-title' :span='3'>wbs</a-col>
|
<a-col class='col-title' :span='6'>工作描述</a-col>
|
<a-col class='col-title' :span='2'>进度</a-col>
|
<a-col class='col-title' :span='2'>交付物</a-col>
|
<a-col class='col-title' :span='2'>工时(<span style='color: #1890FF'>{{countGs(week.typeList[2].wekList) }}</span>)</a-col>
|
<a-col v-if='showAction' class='col-title' :span='2'>操作</a-col>
|
</a-row>
|
<a-row class='row-text' type='flex' :gutter='16'
|
v-for='(rootItem, rootIndex) in week.typeList[2].wekList' :key="rootIndex + 'typeList2' ">
|
<a-col class='col-text' :span='2'>
|
|
<div style='text-align: center'>
|
<span :class="{ 'col-no-red': !rootItem.id , 'col-no-green': rootItem.id }"> {{ rootIndex + 1
|
}}</span>
|
</div>
|
<a-input v-model='rootItem.id' class='hide-input-caret' v-show='false' readOnly />
|
<a-input v-model='rootItem.week' class='hide-input-caret' v-show='false' readOnly />
|
<a-input v-model='rootItem.year' class='hide-input-caret' v-show='false' readOnly />
|
<a-input v-model='rootItem.type' class='hide-input-caret' v-show='false' readOnly />
|
</a-col>
|
<a-col class='col-text' :span='2'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择类型' trigger='focus'>
|
<template slot='content'>
|
<div class='list-box'>
|
<a-button v-for='(item, index) in subTypeList' @click='selectHelp(rootItem,item)'
|
:key="index +'subTypeList3'"
|
style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ item.value }}
|
</a-button>
|
</div>
|
</template>
|
|
<a-input v-model='rootItem.subTypeName' class='hide-input-caret text-ellipsis' readOnly />
|
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
|
<!--有两种类型,一种是选择项目,一种是自己填写-->
|
<template v-if='rootItem.subType == 1'>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择项目' trigger='focus'>
|
<template slot='content'>
|
<div class='pro-list'>
|
<a-button v-for='(item, index) in filterProList' @click='selectPro(rootItem,item)'
|
:key="index +'proList3'"
|
style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ item.xmbh + ' - ' + item.xmmc }}
|
</a-button>
|
</div>
|
</template>
|
|
<a-tooltip placement='topLeft'>
|
<template slot='title'>
|
<span v-if='rootItem.xmName'>{{ rootItem.xmName }}</span>
|
</template>
|
<a-textarea v-model='rootItem.xmName' @focus='filterProFocus'
|
@blur='filterProBlur(rootItem)' @change='filterProChange($event,rootItem)'
|
class='text-ellipsis' />
|
|
</a-tooltip>
|
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择项目WBS' trigger='focus'>
|
<template slot='content'>
|
<div class='pro-link-list'>
|
<a-button v-for='(item, index) in proLinklist' @click='selectProLinkWbs(rootItem,item)'
|
:key="index+'proLinklist3'" style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ (item.sxh == null ? '' : item.sxh) + ' - ' + (item.xmhj == null ? '' : item.xmhj)
|
}}
|
</a-button>
|
</div>
|
</template>
|
|
<a-tooltip placement='topLeft'>
|
<template slot='title'>
|
<span v-if='rootItem.wbsName'>{{ rootItem.wbsName }}</span>
|
</template>
|
<a-textarea v-model='rootItem.wbsName' @focus='queryProLinkWbs(rootItem.xm)'
|
class='hide-input-caret text-ellipsis' readOnly />
|
</a-tooltip>
|
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
|
</template>
|
<template v-else-if='rootItem.subType == 2'>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择项目' trigger='focus'>
|
<template slot='content'>
|
<div class='list-box'>
|
<a-button v-for='(item, index) in extWorkList' @click='selectExtWork(rootItem,item)'
|
:key="index+'extWorkList3'"
|
style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ index + 1 + ' - ' + item.text }}
|
</a-button>
|
</div>
|
</template>
|
<a-input v-model='rootItem.extName' class='hide-input-caret' readOnly />
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model='rootItem.wbsName'
|
class='text-ellipsis' disabled />
|
</a-form-model-item>
|
</a-col>
|
|
</template>
|
<template v-else>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model='rootItem.xmName' class='hide-input-caret text-ellipsis' readOnly />
|
</a-form-model-item>
|
</a-col>
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model='rootItem.wbsName'
|
class='hide-input-caret text-ellipsis' readOnly />
|
</a-form-model-item>
|
</a-col>
|
|
</template>
|
|
|
<a-col class='col-text' :span='6'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model.lazy='rootItem.gzms' allow-clear auto-size @blur='saveData(rootItem,null)'/>
|
</a-form-model-item>
|
</a-col>
|
<a-col class='col-text' :span='2'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择工作进度' trigger='focus'>
|
<template slot='content'>
|
<div class='jd-list'>
|
<div class='jd-item' v-for='(item,index) in jdList ' :key="index+'jdList3'">
|
<a-button
|
style='margin: 5px'
|
@click='selectJd(rootItem,index)'
|
type='dashed'>
|
{{ item }}
|
</a-button>
|
</div>
|
</div>
|
</template>
|
<a-input v-model='rootItem.jdName' class='hide-input-caret' readOnly />
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
<a-col class='col-text' :span='2'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model.lazy='rootItem.xmDeliver' allow-clear auto-size @blur='saveData(rootItem,null)' />
|
</a-form-model-item>
|
</a-col>
|
|
<a-col class='col-text' :span='2'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择工时' trigger='focus'>
|
<template slot='content'>
|
<div class='gs-list'>
|
<a-button v-for='(item,index) in gsList ' :key="index+'gsList3'"
|
@click='selectGs(rootItem,index)' style='width: 30%;margin: 5px 0'
|
type='dashed'>
|
{{ item }}
|
</a-button>
|
</div>
|
</template>
|
<a-input v-model='rootItem.gsName' class='hide-input-caret' readOnly />
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
|
|
<a-col v-if='showAction' class='col-text' :span='2'>
|
<a-form-model-item>
|
<a-popconfirm v-if='rootItem.id' title='确定删除吗?'
|
@confirm='() => delRowCustom(weekIndex,2,rootIndex)'>
|
<a-icon type='minus-circle' style='fontSize :20px' />
|
</a-popconfirm>
|
<a-icon v-else @click='delRowCustom(weekIndex,2,rootIndex)' type='minus-circle'
|
style='fontSize :20px' />
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<div v-if='showAction' style='display: flex;justify-content: center'>
|
<a-button type='link' style='width: 98%;margin-top: 10px'
|
@click='copyRowCustom(weekIndex,2)'>
|
<a-icon type='copy' />
|
复制上行
|
</a-button>
|
<a-button type='link' style='width: 98%;margin-top: 10px'
|
@click='addRowCustom(weekIndex,2)'>
|
<a-icon type='plus' />
|
添加数据
|
</a-button>
|
|
</div>
|
<a-button v-else type='link' style='width: 98%;margin-top: 10px;color:grey'>
|
<a-icon style='color: grey' />
|
|
</a-button>
|
</div>
|
<!--下周计划end-->
|
|
|
<!--下周需协调start-->
|
<div class='this-week-box borderLeft3'>
|
<span class='this-week-text'>{{ week.typeList[3].name }}</span>
|
<span class='this-week-date'> </span>
|
</div>
|
<div class='week-form-box'>
|
<!-- 主表单区域 -->
|
<a-row class='row-title' type='flex' :gutter='16'>
|
<a-col class='col-title' :span='2'></a-col>
|
<a-col class='col-title' :span='2'>协调类型</a-col>
|
<a-col class='col-title' :span='3'>项目</a-col>
|
<a-col class='col-title' :span='3'>wbs</a-col>
|
<a-col class='col-title' :span='8'>需要协调问题</a-col>
|
|
|
<a-col v-if='showAction' class='col-title' :span='2'>操作</a-col>
|
</a-row>
|
<a-row class='row-text' type='flex' :gutter='16'
|
v-for='(rootItem, rootIndex) in week.typeList[3].wekList' :key="rootIndex + 'typeList3' ">
|
|
<a-col class='col-text' :span='2'>
|
<div style='text-align: center'>
|
<span :class="{ 'col-no-red': !rootItem.id , 'col-no-green': rootItem.id }"> {{ rootIndex + 1
|
}}</span>
|
</div>
|
<a-input v-model='rootItem.id' class='hide-input-caret' v-show='false' readOnly />
|
<a-input v-model='rootItem.week' class='hide-input-caret' v-show='false' readOnly />
|
<a-input v-model='rootItem.year' class='hide-input-caret' v-show='false' readOnly />
|
<a-input v-model='rootItem.type' class='hide-input-caret' v-show='false' readOnly />
|
</a-col>
|
<a-col class='col-text' :span='2'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择协调类型' trigger='focus'>
|
<template slot='content'>
|
<div class='list-box'>
|
<a-button v-for='(item, index) in subTypeList' @click='selectHelp(rootItem,item)'
|
:key="index +'subTypeList4'"
|
style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ item.value }}
|
</a-button>
|
</div>
|
</template>
|
|
<a-input v-model='rootItem.subTypeName' class='hide-input-caret text-ellipsis' readOnly />
|
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
|
<!--下周需协调有两种类型,一种是选择项目,一种是自己填写-->
|
<template v-if='rootItem.subType == 1'>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择项目' trigger='focus'>
|
<template slot='content'>
|
<div class='pro-list'>
|
<a-button v-for='(item, index) in filterProList' @click='selectPro(rootItem,item)'
|
:key="index +'proList4'"
|
style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ item.xmbh + ' - ' + item.xmmc }}
|
</a-button>
|
</div>
|
</template>
|
|
<a-tooltip placement='topLeft'>
|
<template slot='title'>
|
<span v-if='rootItem.xmName'>{{ rootItem.xmName }}</span>
|
</template>
|
<a-textarea v-model='rootItem.xmName' @focus='filterProFocus'
|
@blur='filterProBlur(rootItem)' @change='filterProChange($event,rootItem)'
|
class='text-ellipsis' />
|
|
</a-tooltip>
|
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择项目WBS' trigger='focus'>
|
<template slot='content'>
|
<div class='pro-link-list'>
|
<a-button v-for='(item, index) in proLinklist' @click='selectProLinkWbs(rootItem,item)'
|
:key="index+'proLinklist4'" style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ (item.sxh == null ? '' : item.sxh) + ' - ' + (item.xmhj == null ? '' : item.xmhj)
|
}}
|
</a-button>
|
</div>
|
</template>
|
|
<a-tooltip placement='topLeft'>
|
<template slot='title'>
|
<span v-if='rootItem.wbsName'>{{ rootItem.wbsName }}</span>
|
</template>
|
<a-textarea v-model='rootItem.wbsName' @focus='queryProLinkWbs(rootItem.xm)'
|
class='hide-input-caret text-ellipsis' readOnly />
|
</a-tooltip>
|
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
|
</template>
|
<template v-else-if='rootItem.subType == 2'>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-popover placement='rightTop' title='选择项目' trigger='focus'>
|
<template slot='content'>
|
<div class='list-box'>
|
<a-button v-for='(item, index) in extWorkList' @click='selectExtWork(rootItem,item)'
|
:key="index+'extWorkList4'"
|
style=' text-align: start;margin: 5px 0'
|
type='dashed'>
|
{{ index + 1 + ' - ' + item.text }}
|
</a-button>
|
</div>
|
</template>
|
<a-input v-model='rootItem.extName' class='hide-input-caret' readOnly />
|
</a-popover>
|
</a-form-model-item>
|
</a-col>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model='rootItem.wbsName'
|
class='text-ellipsis' disabled />
|
</a-form-model-item>
|
</a-col>
|
|
</template>
|
<template v-else>
|
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model='rootItem.xmName' class='hide-input-caret text-ellipsis' readOnly />
|
</a-form-model-item>
|
</a-col>
|
<a-col class='col-text' :span='3'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model='rootItem.wbsName'
|
class='hide-input-caret text-ellipsis' readOnly />
|
</a-form-model-item>
|
</a-col>
|
|
</template>
|
|
<a-col class='col-text' :span='8'>
|
<a-form-model-item :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
<a-textarea v-model.lazy='rootItem.gzms' allow-clear auto-size @blur='saveData(rootItem,null)'/>
|
</a-form-model-item>
|
</a-col>
|
<a-col v-if='showAction' class='col-text' :span='2'>
|
<a-form-model-item>
|
<a-popconfirm v-if='rootItem.id' title='确定删除吗?'
|
@confirm='() => delRowCustom(weekIndex,3,rootIndex)'>
|
<a-icon type='minus-circle' style='fontSize :20px' />
|
</a-popconfirm>
|
<a-icon v-else @click='delRowCustom(weekIndex,3,rootIndex)' type='minus-circle'
|
style='fontSize :20px' />
|
</a-form-model-item>
|
</a-col>
|
|
|
</a-row>
|
<div v-if='showAction' style='display: flex;justify-content: center'>
|
<a-button type='link' style='width: 98%;margin-top: 10px'
|
@click='copyRowCustom(weekIndex,3)'>
|
<a-icon type='copy' />
|
复制上行
|
</a-button>
|
<a-button type='link' style='width: 98%;margin-top: 10px'
|
@click='addRowCustom(weekIndex,3)'>
|
<a-icon type='plus' />
|
添加数据
|
</a-button>
|
|
</div>
|
<a-button v-else type='link' style='width: 98%;margin-top: 10px;color:grey'>
|
<a-icon style='color: grey' />
|
|
</a-button>
|
</div>
|
<!--下周需协调end-->
|
|
<template v-if='week.wekEvaluate.showEvaluate'>
|
<!--周绩效评价start-->
|
<div class='this-week-box borderLeft3'>
|
<span class='this-week-text'>周绩效评价</span>
|
<span class='this-week-date'></span>
|
</div>
|
<div class='week-form-box'>
|
<!-- 主表单区域 -->
|
<a-row class='row-title' type='flex' :gutter='16'>
|
<a-col class='col-title bold' :span='3'>考核项目</a-col>
|
<a-col class='col-title bold' :span='15'>评价标准</a-col>
|
<a-col class='col-title bold' :span='3'>自评等级</a-col>
|
<a-col class='col-title bold' :span='3'>考评等级</a-col>
|
</a-row>
|
|
<a-row class='row-text' style='background-color: white' type='flex' :gutter='16'>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<div class='bold'>
|
计划与汇报(20分)
|
</div>
|
</a-col>
|
<a-col class='col-text' :span='15'>
|
<div class='preline border-r-t bold'>
|
A:制定下周计划并主动沟通后,目标明确计划合理;及时向直接主管汇报工作进展,能够清晰体现工作进展;
|
B:下周工作计划目标明确,安排合理;能主动向直接主管汇报工作,周报记录清晰明确;
|
C: 下周工作计划目标基本明确,能把握到重点业务, 安排基本合理;工作结果间断汇报,周报记录基本明确;
|
D:下周工作计划目标不明确,不能把握到重点业务;主管问起才进行工作结果汇报,周报记录模糊;
|
E:下周工作计划目标不明确,重点业务未做安排;对于工作结果汇报沟通情况基本无,周报记录较差。
|
</div>
|
</a-col>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<a-select v-model='week.wekEvaluate.zpPlan' placeholder="请选择自评等级" :disabled='zpDisabled' @change='selectEvaluate(1, week,week.wekEvaluate)'>
|
<a-select-option value="A">A</a-select-option>
|
<a-select-option value="B">B</a-select-option>
|
<a-select-option value="C">C</a-select-option>
|
<a-select-option value="D">D</a-select-option>
|
<a-select-option value="E">E</a-select-option>
|
</a-select>
|
</a-col>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<a-select v-model='week.wekEvaluate.kpPlan' placeholder="请选择考评等级" :disabled='kpDisabled' @change='selectEvaluate(2, week,week.wekEvaluate)'>
|
<a-select-option value="A">A</a-select-option>
|
<a-select-option value="B">B</a-select-option>
|
<a-select-option value="C">C</a-select-option>
|
<a-select-option value="D">D</a-select-option>
|
<a-select-option value="E">E</a-select-option>
|
</a-select>
|
</a-col>
|
</a-row>
|
|
<a-row class='row-text' style='background-color: white' type='flex' :gutter='16'>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<div class='bold'>
|
工作完成量(20分)
|
</div>
|
</a-col>
|
<a-col class='col-text' :span='15'>
|
<div class='preline border-r-t bold'>
|
A:工作难度较大,一周工作时间达到125%,处于超负荷工作状态;
|
B:工作难度一般,一周工作时间达到110%,在职责内工作完成的前提下,能主动承担部分职责外工作;
|
C:工作难度一般,工作量集中为职责内工作,工作完成符合要求;
|
D:工作难度不大,工作涉及点单一,工作量较小,职责内工作(无特殊情况)完成不好;
|
E:工作涉及面单一,工作量小,工作中空暇时间较多。
|
</div>
|
</a-col>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<a-select v-model='week.wekEvaluate.zpAmount' placeholder="请选择自评等级" :disabled='zpDisabled' @change='selectEvaluate(1, week,week.wekEvaluate)'>
|
<a-select-option value="A">A</a-select-option>
|
<a-select-option value="B">B</a-select-option>
|
<a-select-option value="C">C</a-select-option>
|
<a-select-option value="D">D</a-select-option>
|
<a-select-option value="E">E</a-select-option>
|
</a-select>
|
</a-col>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<a-select v-model='week.wekEvaluate.kpAmount' placeholder="请选择考评等级" :disabled='kpDisabled' @change='selectEvaluate(2, week,week.wekEvaluate)'>
|
<a-select-option value="A">A</a-select-option>
|
<a-select-option value="B">B</a-select-option>
|
<a-select-option value="C">C</a-select-option>
|
<a-select-option value="D">D</a-select-option>
|
<a-select-option value="E">E</a-select-option>
|
</a-select>
|
</a-col>
|
</a-row>
|
<a-row class='row-text' style='background-color: white' type='flex' :gutter='16'>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<div class='bold'>
|
工作完成效率(20分)
|
</div>
|
</a-col>
|
<a-col class='col-text' :span='15'>
|
<div class='preline border-r-t bold'>
|
A:工作效率远超预期,优先级清晰合理,能够快速完成工作;
|
B:工作效率较高,重要紧急工作能够主动推动,并按时完成工作;
|
C:工作效率正常,重要紧急工作能够正常推动,基本能够按时完成工作;
|
D:工作效率较低,重要紧急工作需要多次督促才能够完成;
|
E:工作不分主次, 效率低,经常完不成任务。
|
</div>
|
</a-col>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<a-select v-model='week.wekEvaluate.zpEffe' placeholder="请选择自评等级" :disabled='zpDisabled' @change='selectEvaluate(1, week,week.wekEvaluate)'>
|
<a-select-option value="A">A</a-select-option>
|
<a-select-option value="B">B</a-select-option>
|
<a-select-option value="C">C</a-select-option>
|
<a-select-option value="D">D</a-select-option>
|
<a-select-option value="E">E</a-select-option>
|
</a-select>
|
</a-col>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<a-select v-model='week.wekEvaluate.kpEffe' placeholder="请选择考评等级" :disabled='kpDisabled' @change='selectEvaluate(2, week,week.wekEvaluate)'>
|
<a-select-option value="A">A</a-select-option>
|
<a-select-option value="B">B</a-select-option>
|
<a-select-option value="C">C</a-select-option>
|
<a-select-option value="D">D</a-select-option>
|
<a-select-option value="E">E</a-select-option>
|
</a-select>
|
</a-col>
|
</a-row>
|
<a-row class='row-text' style='background-color: white' type='flex' :gutter='16'>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<div class='bold'>
|
工作完成质量(40分)
|
</div>
|
</a-col>
|
<a-col class='col-text' :span='15'>
|
<div class='preline border-r-t bold'>
|
A:有突出的价值贡献,交付物完成质量超出要求,有明显的创新和优化;工作积极主动,有很好的团队配合与高效沟通;
|
B:有较高的价值贡献,交付物完成质量达到或部分超出预期,有创新性;工作积极主动,关注团队配合与沟通;
|
C:价值贡献与岗位等级匹配,交付物完成质量一般,工作主动性一般,有团队配合与沟通意识 ;
|
D:交付物完成质量差,格式不符合要求;工作主动性差,缺乏团队配合与沟通;
|
E:价值贡献严重低于岗位等级,交付物无,工作状态差。
|
</div>
|
</a-col>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<a-select v-model='week.wekEvaluate.zpQuality' placeholder="请选择自评等级" :disabled='zpDisabled' @change='selectEvaluate(1, week,week.wekEvaluate)'>
|
<a-select-option value="A">A</a-select-option>
|
<a-select-option value="B">B</a-select-option>
|
<a-select-option value="C">C</a-select-option>
|
<a-select-option value="D">D</a-select-option>
|
<a-select-option value="E">E</a-select-option>
|
</a-select>
|
</a-col>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<a-select v-model='week.wekEvaluate.kpQuality' placeholder="请选择考评等级" :disabled='kpDisabled' @change='selectEvaluate(2, week,week.wekEvaluate)'>
|
<a-select-option value="A">A</a-select-option>
|
<a-select-option value="B">B</a-select-option>
|
<a-select-option value="C">C</a-select-option>
|
<a-select-option value="D">D</a-select-option>
|
<a-select-option value="E">E</a-select-option>
|
</a-select>
|
</a-col>
|
</a-row>
|
|
<a-row class='row-text' style='background-color: white' type='flex' :gutter='16'>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<div class=''>
|
主管评价
|
</div>
|
</a-col>
|
<a-col class='col-text tcenter border-r-t' :span='21'>
|
<div style='width: 100%'>
|
<a-textarea @blur='selectEvaluate(2,week,week.wekEvaluate)' v-model='week.wekEvaluate.kpEvaluate' :disabled='kpDisabled' style='width: 100%;font-weight: bold;color: #7e7e7e' placeholder="请输入评价"
|
class='text-ellipsis' />
|
</div>
|
</a-col>
|
</a-row>
|
|
<a-row class='row-text' style='background-color: white' type='flex' :gutter='16'>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<div class=''>
|
领导附加分
|
</div>
|
</a-col>
|
<a-col class='col-text tcenter border-r-t' :span='5'>
|
<div style='width: 100%'>
|
<a-input @blur='selectEvaluate(2,week,week.wekEvaluate)' v-model='week.wekEvaluate.kpExtScore' :disabled='kpDisabled' style='width: 100%;font-weight: bold;color: #7e7e7e' placeholder="请输入附加分"
|
class='text-ellipsis' />
|
</div>
|
</a-col>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<div class=''>
|
附加分说明
|
</div>
|
</a-col>
|
<a-col class='col-text tcenter border-r-t' :span='13'>
|
<div style='width: 100%'>
|
<a-textarea @blur='selectEvaluate(2,week,week.wekEvaluate)' v-model='week.wekEvaluate.kpExtDesc' :disabled='kpDisabled' style='width: 100%;font-weight: bold;color: #7e7e7e' placeholder="请输入附加分说明"
|
class='text-ellipsis' />
|
</div>
|
</a-col>
|
</a-row>
|
|
|
<a-row class='row-text' style='background-color: white;height: 45px' type='flex' :gutter='16'>
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<div class=''>
|
自评时间
|
</div>
|
</a-col>
|
<a-col class='col-text tcenter border-r-t' :span='5'>
|
<div style='width: 100%'>
|
{{ week.wekEvaluate.zpDate}}
|
</div>
|
</a-col>
|
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<div style='width: 100%'>
|
考评人:
|
</div>
|
</a-col>
|
|
<a-col class='col-text tcenter border-r-t' :span='5'>
|
<div style='width: 100%'>
|
{{ week.wekEvaluate.kpName }}
|
</div>
|
</a-col>
|
|
<a-col class='col-text tcenter border-r-t' :span='3'>
|
<div style='width: 100%'>
|
考评时间:
|
</div>
|
</a-col>
|
|
<a-col class='col-text tcenter border-r-t' :span='5'>
|
<div style='width: 100%'>
|
{{ week.wekEvaluate.kpDate}}
|
</div>
|
</a-col>
|
|
</a-row>
|
|
|
</div>
|
<!--周绩效评价end-->
|
</template>
|
|
|
</template>
|
<a-button type='link' @click='showDetail(week)' :key="week.id+'showDetail'">
|
{{ week.showDetail ? '收起' : '展开' }}
|
</a-button>
|
|
<a-button type='link' @click='showEvaluate(week)' :key="week.id+'showEvaluate'">
|
{{ week.wekEvaluate.showEvaluate ? '收起周绩效' : '展开周绩效' }}
|
</a-button>
|
</div>
|
<!--一周周报内容end-->
|
</div>
|
</a-list-item>
|
</a-list>
|
</a-form-model>
|
</template>
|
|
<script>
|
import { filterMultiDictText, initDictOptions } from '@comp/dict/JDictSelectUtil'
|
import { queryLinkListWbs, queryProList } from '@api/pro'
|
import { deleteAction, getAction, getFileAccessHttpUrl } from '@api/manage'
|
import { getWeek, triggerWindowResizeEvent } from '@/utils/util'
|
import get from 'lodash.get'
|
import { ulid } from 'ulid'
|
import { mapGetters } from 'vuex'
|
import moment from 'moment'
|
|
|
export default {
|
name: 'WeeklyListCompent',
|
props: {
|
//数据
|
model: {
|
type: Object,
|
default: {},
|
required: true
|
},
|
//是否显示加载下周按钮
|
showLoadModel: {
|
type: Boolean,
|
default: false,
|
required: true
|
},
|
//数据加载状态
|
loadingMore: {
|
type: Boolean,
|
default: false,
|
required: true
|
},
|
//是否显示操作区域
|
showAction: {
|
type: Boolean,
|
default: false
|
},
|
//自评是否可以点击
|
zpDisabled: {
|
type: Boolean,
|
default: true,
|
required: false
|
},
|
kpDisabled: {
|
type: Boolean,
|
default: true,
|
required: false
|
},
|
},
|
mounted() {
|
|
},
|
data() {
|
return {
|
moment,
|
//是否显示加载更多模块
|
showLoadingMore: true,
|
|
labelCol: {
|
xs: { span: 0 },
|
sm: { span: 0 }
|
},
|
wrapperCol: {
|
xs: { span: 24 },
|
sm: { span: 24 }
|
},
|
validatorRules: {},
|
//项目列表
|
proList: [],
|
filterProList: [],
|
//
|
subTypeList: [
|
{
|
id: 1,
|
value: '项目相关'
|
},
|
{
|
id: 2,
|
value: '其他事项'
|
}
|
],
|
//本周其他工作
|
extWorkList: [],
|
//项目缓存所有的wbs (缓存为map形式,键为项目id,值为项目的子任务列表)
|
proLinkWbs: {},
|
//当前项目的子任务列表wbs
|
proLinklist: [],
|
//用户字典信息
|
userDictOptions: [],
|
url: {
|
delete: '/wek/record/delete',
|
exportUrl: '/wek/record/exportAweekly'
|
},
|
weekDays: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
|
jdList: ['10%', '20%', '30%', '40%', '50%', '60%', '70%', '80%', '90%', '100%','完成'],
|
gsList: ['1小时', '2小时', '3小时', '4小时', '5小时', '6小时', '7小时', '8小时', '9小时', '10小时', '11小时', '12小时', '13小时', '14小时', '15小时', '16小时', '24小时', '32小时', '40小时'],
|
jdValues: [10, 20, 30, 40, 50, 60, 70, 80, 90,100,1000],
|
gsValues: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ,16, 24, 32, 40]
|
}
|
},
|
created() {
|
this.queryProjectList()
|
this.queryWeekExtWork()
|
this.initDictConfig()
|
},
|
methods: {
|
...mapGetters(["username","nickname", "avatar"]),
|
countGs(data){
|
const sum = data.filter(item=>item.gs).reduce((accumulator, currentValue) => {
|
return accumulator + Number(currentValue.gs);
|
}, 0);
|
return sum
|
},
|
saveData(item,evaluate){
|
console.info(item)
|
console.info(evaluate)
|
if(this.zpDisabled){
|
this.$emit("submit",null,evaluate)
|
}else {
|
this.$emit("submit",item,evaluate)
|
}
|
|
this.$forceUpdate()
|
},
|
|
|
filterProChange(e, rootItem) {
|
|
rootItem.ext = null
|
rootItem.extName = null
|
rootItem.wbs = null
|
rootItem.wbsName = null
|
|
const word = e.target.value
|
this.filterProList = this.proList.filter(item => item.xmbh.indexOf(word) != -1 || item.xmmc.indexOf(word) != -1)
|
|
},
|
filterProFocus() {
|
this.filterProList = this.proList
|
},
|
filterProBlur(rootItem) {
|
//假如不是选择的项目,项目名清空
|
if (!rootItem.xm) {
|
rootItem.xmName = null
|
}
|
},
|
|
uploadAttach(rootIndex) {
|
|
// console.info(this.$refs.upload[rootIndex].$el.children[1].children[0].children[0].children[0] )
|
// this.$refs.upload[rootIndex].$el.children[1].children[0].children[0].children[0].click()
|
},
|
onLoadMore() {
|
this.$emit('onLoadMore')
|
},
|
reload() {
|
this.$emit('reload')
|
},
|
/**
|
* id 数据id
|
* weekIndex 周索引
|
* type 周内数据类型
|
* recordIndex 周内数据类型索引
|
* */
|
deleteItem(id, weekIndex, type, recordIndex) {
|
deleteAction(this.url.delete, {
|
id: id
|
}).then((res) => {
|
if (res.success) {
|
this.$message.success(res.message)
|
// this.reload();
|
//删除成功后更新视图数据
|
this.delRowItemView(weekIndex, type, recordIndex)
|
} else {
|
this.$message.warning(res.message)
|
}
|
}).finally(() => {
|
})
|
},
|
copyRowCustom(weekIndex, type) {
|
let week = this.model.weekList[weekIndex].week
|
let year = this.model.weekList[weekIndex].year
|
if (!week || !year) {
|
this.$message.error('数据异常,请重试或联系管理员!')
|
return false
|
}
|
const length = this.model.weekList[weekIndex].typeList[type].wekList.length
|
if(length>0){
|
const last = this.model.weekList[weekIndex].typeList[type].wekList[length-1]
|
// console.info( this.model.weekList[weekIndex].typeList[type].wekList)
|
// console.info(last)
|
const copy = Object.assign({}, last, { id: ulid() });
|
this.model.weekList[weekIndex].typeList[type].wekList.push(copy)
|
this.$forceUpdate()
|
}else {
|
this.$message.info("请至少添加一条数据~")
|
}
|
},
|
addRowCustom(weekIndex, type) {
|
let week = this.model.weekList[weekIndex].week
|
let year = this.model.weekList[weekIndex].year
|
if (!week || !year) {
|
this.$message.error('数据异常,请重试或联系管理员!')
|
return false
|
}
|
const id = ulid();
|
this.model.weekList[weekIndex].typeList[type].wekList.push({ id:id,type: type, week: week, year: year })
|
|
this.$forceUpdate()
|
},
|
delRowCustom(weekIndex, type, recordIndex) {
|
let id = this.model.weekList[weekIndex].typeList[type].wekList[recordIndex].id
|
if (id) {
|
this.deleteItem(id, weekIndex, type, recordIndex)
|
} else {
|
this.model.weekList[weekIndex].typeList[type].wekList.splice(recordIndex, 1)
|
}
|
this.$forceUpdate()
|
},
|
delRowItemView(weekIndex, type, recordIndex) {
|
this.model.weekList[weekIndex].typeList[type].wekList.splice(recordIndex, 1)
|
this.$forceUpdate()
|
},
|
getThisWeek(week) {
|
const thisweek = getWeek().weekNo
|
if (week.week == thisweek) {
|
return '(本周)'
|
}
|
return week.weekInMonth ? '('+ week.weekInMonth +')' : ''
|
|
},
|
|
//查询其他事项列表
|
queryWeekExtWork() {
|
initDictOptions('week_ext_work').then((res) => {
|
if (res.success) {
|
this.extWorkList = res.result
|
}
|
})
|
},
|
//查询项目列表
|
queryProjectList() {
|
if (this.proList.length > 0) {
|
return false
|
}
|
//根据项目id查询项目信息
|
queryProList({ pageNo: 1, pageSize: 1000 }).then((res) => {
|
if (res.success) {
|
this.proList = res.result.records || []
|
this.proList.sort((a, b) => b.sortNo - a.sortNo)
|
}
|
})
|
},
|
//查询项目子任务(wbs)
|
queryProLinkWbs(pro) {
|
//清空项目子任务列表
|
this.proLinklist = []
|
if (!pro) {
|
//this.$message.error('请先选择项目')
|
return false
|
}
|
|
if (this.proLinkWbs[pro]) {
|
this.proLinklist = this.proLinkWbs[pro]
|
return false
|
}
|
|
queryLinkListWbs({ pro: pro }).then((res) => {
|
if (res.success) {
|
this.proLinkWbs[pro] = res.result
|
this.proLinklist = res.result
|
}
|
})
|
},
|
/**
|
*选择星期几
|
* @param rootItem 当前编辑数据
|
* @param xqIndex 选择星期几索引
|
*/
|
selectWeekDay(rootItem, xqIndex) {
|
rootItem.xq = xqIndex
|
rootItem.xqName = this.weekDays[xqIndex]
|
this.$forceUpdate()
|
},
|
/**
|
* 选择协调类型
|
* @param rootItem 当前编辑数据
|
* @param item 项目
|
*/
|
selectHelp(rootItem, item) {
|
rootItem.subType = item.id
|
if (rootItem.subType == 2) {
|
rootItem.wbs = null
|
rootItem.wbsName = ''
|
}
|
rootItem.subTypeName = item.value
|
this.saveData(rootItem,null)
|
|
},
|
/**
|
* 选择项目
|
* @param rootItem 当前编辑数据
|
* @param item 项目
|
*/
|
selectPro(rootItem, item) {
|
rootItem.xm = item.id
|
rootItem.xmName = item.xmmc
|
rootItem.ext = null
|
rootItem.extName = null
|
rootItem.wbs = null
|
rootItem.wbsName = null
|
//选择项目后预加载项目子任务数据
|
this.queryProLinkWbs(item.id)
|
this.saveData(rootItem,null)
|
|
},
|
/**
|
* 选择本周其他工作
|
* @param rootItem 当前编辑数据
|
* @param item 项目
|
*/
|
selectExtWork(rootItem, item) {
|
rootItem.ext = item.value
|
rootItem.extName = item.text
|
rootItem.xm = null
|
rootItem.xmName = null
|
|
this.saveData(rootItem,null)
|
|
},
|
/**
|
* 选择项目wbs
|
* @param rootItem
|
* @param item
|
*/
|
selectProLinkWbs(rootItem, item) {
|
rootItem.wbs = item.id
|
rootItem.wbsName = item.sxh + item.xmhj
|
this.saveData(rootItem,null)
|
},
|
/**
|
* 选择项目进度
|
* @param rootItem
|
* @param jdIndex
|
*/
|
selectJd(rootItem, jdIndex) {
|
rootItem.jd = this.jdValues[jdIndex]
|
rootItem.jdName = this.jdList[jdIndex]
|
this.saveData(rootItem,null)
|
},
|
|
/**
|
* 选择项目工时
|
* @param rootItem
|
* @param gsIndex
|
*/
|
selectGs(rootItem, gsIndex) {
|
rootItem.gs = this.gsValues[gsIndex]
|
rootItem.gsName = this.gsList[gsIndex]
|
this.saveData(rootItem,null)
|
},
|
/**
|
* 是否展开详情
|
**/
|
showDetail(week) {
|
week.showDetail = !week.showDetail
|
},
|
showEvaluate(week){
|
if(!week.showDetail){
|
this.$message.warning('请先点击左侧展开!')
|
return false
|
}
|
week.wekEvaluate.showEvaluate = !week.wekEvaluate.showEvaluate
|
|
},
|
selectEvaluate(type,week,evaluate){
|
if(!week.username){
|
this.$message.error('请先填写周报后刷新重试!')
|
return false;
|
}
|
if(!evaluate.id){
|
evaluate.id = week.username + (week.year * 100 + week.week)
|
}
|
evaluate.year = week.year
|
evaluate.week = week.week
|
evaluate.yearWeek = (week.year * 100 + week.week)
|
if(type == 1){
|
evaluate.zpDate = moment().format('YYYY-MM-DD HH:mm:ss');
|
evaluate.zp = this.username()
|
evaluate.zpName =this.nickname()
|
if(!evaluate.zp){
|
this.$message.error('登录状态异常,请刷新界面或重新登录!')
|
return false;
|
}
|
}else if(type == 2){
|
evaluate.kpDate = moment().format('YYYY-MM-DD HH:mm:ss');
|
evaluate.kp = this.username()
|
evaluate.kpName =this.nickname()
|
if(!evaluate.kp){
|
this.$message.error('登录状态异常,请刷新界面或重新登录!')
|
return false;
|
}
|
|
}
|
this.saveData(null,evaluate)
|
|
},
|
/**
|
* 本周视图是否展开
|
* @param weekItem
|
*/
|
showWeekItem(weekItem) {
|
weekItem.show = !weekItem.show
|
},
|
initDictConfig() {
|
//初始化字典 - 性别
|
initDictOptions('sys_user,realname,username').then((res) => {
|
if (res.success) {
|
this.$set(this.userDictOptions, 'username', res.result)
|
}
|
})
|
|
},
|
getDictText(text) {
|
return filterMultiDictText(this.userDictOptions['username'], text)
|
},
|
//导出
|
exportXls(week) {
|
let params = {}
|
params.week = week.week
|
params.year = week.year
|
params.user = week.username
|
getAction(this.url.exportUrl, params).then((res) => {
|
if (res.success) {
|
const size = get(res, 'result.size') || 0
|
this.openNotification('success', '查询到' + size + '条数据,正在导出文件!')
|
this.downloadFile(res.result.filePath)
|
} else {
|
this.openNotification('error', res.message)
|
}
|
}).finally(() => {
|
|
|
})
|
|
},
|
//提示
|
openNotification(type, message) {
|
this.$notification[type]({
|
message: '提示',
|
description:
|
message,
|
duration: 5
|
})
|
},
|
|
/**
|
* 获取文件服务访问路径
|
* @param avatar
|
* @param subStr
|
* @returns {*}
|
*/
|
getFileAccessHttpUrl(avatar, subStr) {
|
if (!subStr) subStr = 'http'
|
try {
|
if (avatar && avatar.startsWith(subStr)) {
|
return avatar
|
} else {
|
if (avatar && avatar.length > 0 && avatar.indexOf('[') == -1) {
|
return window._CONFIG['staticDomainURL'] + '/' + avatar
|
}
|
}
|
} catch (err) {
|
return
|
}
|
},
|
downloadFile(text) {
|
if (!text) {
|
this.$message.warning('未知的文件')
|
return
|
}
|
if (text.indexOf(',') > 0) {
|
text = text.substring(0, text.indexOf(','))
|
}
|
let url = getFileAccessHttpUrl(text)
|
window.open(url, '_self')
|
}
|
|
|
},
|
computed: {
|
getDate() {
|
return 'weekly/' + new Date().Format('yyyyMMdd')
|
}
|
}
|
}
|
</script>
|
|
<style lang='less' scoped>
|
.head-week {
|
padding-left: 10px;
|
position: relative;
|
overflow: hidden;
|
|
.head-week-title {
|
display: inline-block;
|
color: #fe7300;
|
font-size: 26px;
|
font-weight: bold;
|
padding-top: 30px;
|
}
|
|
.head-week-icon-up {
|
height: 15px;
|
line-height: 15px;
|
background: url(~@assets/weekly/icon_top.png) no-repeat;
|
cursor: pointer;
|
width: 15px;
|
margin-left: 10px;
|
display: inline;
|
padding: 0px 10px;
|
}
|
|
.head-week-icon-down {
|
height: 15px;
|
line-height: 15px;
|
background: url(~@assets/weekly/icon_down.png) no-repeat;
|
cursor: pointer;
|
width: 15px;
|
margin-left: 10px;
|
display: inline;
|
padding: 0px 10px;
|
}
|
}
|
|
.this-week-box {
|
padding-top: 5px;
|
padding-bottom: 5px;
|
padding-left: 10px;
|
|
.this-week-text {
|
color: #fe7300;
|
font-weight: bold;
|
}
|
|
.this-week-date {
|
margin-left: 10px;
|
}
|
}
|
|
.week-form-box {
|
border: 2px solid #cdcdcd;
|
border-left: 3px solid #cdcdcd;
|
box-shadow: 4px 4px 4px #dad8d8;
|
overflow: hidden;
|
|
.row-title {
|
margin: 0;
|
padding: 0;
|
background: #F5F5F5;
|
height: 40px;
|
|
.col-title {
|
padding: 0 !important;
|
text-align: center;
|
line-height: 40px;
|
color: #7e7e7e;
|
border-right: 1px solid #e9e9e9;
|
}
|
|
}
|
|
|
|
.row-text {
|
margin: 0;
|
padding: 0;
|
|
.col-text {
|
padding: 0 !important;
|
text-align: center;
|
color: #7e7e7e;
|
border-right: 1px solid #e9e9e9;
|
|
.col-no-red {
|
cursor: pointer;
|
display: block;
|
margin: 5px 5px 5px 10px;
|
height: 30px;
|
line-height: 30px;
|
border-left: 3px solid red;
|
}
|
|
.col-no-green {
|
display: block;
|
margin: 5px 5px 5px 10px;
|
height: 30px;
|
line-height: 30px;
|
border-left: 3px solid green;
|
}
|
}
|
|
}
|
|
.row-text:nth-child(odd) {
|
background: #FFFFFF;
|
}
|
|
.row-text:nth-child(odd) {
|
background: #F5F5F5;
|
}
|
|
.row-text:hover {
|
background: #FCEEE5;
|
}
|
}
|
|
//custom
|
|
|
.list-box {
|
max-height: 400px;
|
overflow: auto;
|
display: flex;
|
width: 280px;
|
height: 100%;
|
flex-direction: column;
|
}
|
|
.pro-list {
|
max-height: 400px;
|
overflow: auto;
|
display: flex;
|
width: 320px;
|
height: 100%;
|
flex-direction: column;
|
}
|
|
.pro-link-list {
|
max-height: 400px;
|
overflow: auto;
|
display: flex;
|
width: 340px;
|
height: 100%;
|
flex-direction: column;
|
}
|
|
.jd-list {
|
display: flex;
|
width: 240px;
|
height: 100%;
|
flex-direction: row;
|
flex-wrap: wrap;
|
.jd-item {
|
width: 33.3%;
|
text-align: center;
|
|
}
|
}
|
|
.gs-list {
|
display: flex;
|
width: 240px;
|
height: 100%;
|
flex-direction: row;
|
justify-content: space-between;
|
flex-wrap: wrap
|
}
|
|
.borderLeft3 {
|
border-left: 3px solid #cdcdcd;
|
}
|
|
.marginTop5 {
|
margin-top: 5px;
|
}
|
|
.paddingTop10 {
|
padding: 10px 10px !important;
|
}
|
|
.fontsize12 {
|
font-size: 12px;
|
}
|
|
.hide-input-caret {
|
caret-color: transparent;
|
|
}
|
|
.text-ellipsis {
|
//display: inline-block; //这个看情况加
|
//overflow: hidden; //必须
|
//white-space: nowrap; //必须
|
//text-overflow: ellipsis; //必须
|
}
|
.tcenter{
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
}
|
|
.bold{
|
font-weight: bold;
|
}
|
|
|
.preline{
|
text-align: left;
|
white-space: pre-line;
|
padding:0 10px 10px 10px;
|
|
}
|
|
.border-r-t{
|
border-right: 1px solid #e9e9e9;
|
border-bottom: 1px solid #e9e9e9;
|
}
|
|
.upload-attach:hover {
|
cursor: pointer;
|
color: #1A90FF;
|
}
|
|
|
/**input start**/
|
/deep/ .ant-input {
|
width: 100%;
|
padding: 0px 5px;
|
border: 1px solid transparent;
|
background: transparent;
|
outline: none;
|
margin: 0;
|
border-radius: 0;
|
|
|
}
|
|
/deep/ .ant-form-item {
|
margin-bottom: 0;
|
}
|
|
/deep/ .ant-form-item-children {
|
display: inline-block;
|
width: 100%;
|
height: 40px;
|
|
}
|
|
/deep/ .ant-input-affix-wrapper {
|
top: 4px;
|
}
|
|
/deep/ .ant-form-item-children input {
|
border: none;
|
background: transparent;
|
outline: none;
|
-webkit-box-shadow: none;
|
}
|
|
/deep/ textarea.ant-input {
|
min-height: 32px;
|
padding: 0 5px;
|
}
|
|
/deep/ textarea.ant-input:focus {
|
border: 1px solid #7eadd9;
|
background: transparent;
|
outline: none;
|
-webkit-box-shadow: none;
|
}
|
|
/deep/ .ant-form-item-children input:focus {
|
border: 1px solid #7eadd9;
|
background: transparent;
|
outline: none;
|
-webkit-box-shadow: none;
|
|
}
|
|
/**input end**/
|
|
/**select start**/
|
/deep/ .ant-select-selection {
|
border: none;
|
background-color: transparent;
|
|
}
|
|
/deep/ .ant-select-arrow .ant-select-arrow-icon {
|
display: none;
|
}
|
|
/**select end**/
|
|
/*清除list分割线 start*/
|
/deep/ .ant-list-split .ant-list-item {
|
border: none;
|
}
|
|
/deep/ .ant-list-something-after-last-item .ant-spin-container > .ant-list-items > .ant-list-item:last-child {
|
border: none;
|
}
|
|
/*清除list分割线 end*/
|
|
/*调整empty view 位置 start*/
|
/deep/ .ant-empty-normal .ant-empty-image {
|
margin-top: 150px;
|
}
|
|
/****上传按钮**/
|
/deep/ .ant-upload.ant-upload-select {
|
|
}
|
</style>
|