|
@@ -7,7 +7,7 @@
|
|
<div class="title">项目完成度</div>
|
|
<div class="title">项目完成度</div>
|
|
<div class="flex-1"></div>
|
|
<div class="flex-1"></div>
|
|
<div class="blue cursor" v-if="isReturnPJ" @click="isShowSchedule=true"><i class="el-icon-refresh" ></i>更新进度</div>
|
|
<div class="blue cursor" v-if="isReturnPJ" @click="isShowSchedule=true"><i class="el-icon-refresh" ></i>更新进度</div>
|
|
- <div style="margin-left: 20px;" v-if="detailData.process>0" class="fontColorC cursor" @click="showDrawerTow=true"><i class="el-icon-s-order" ></i>进度记录</div>
|
|
|
|
|
|
+ <div style="margin-left: 20px;" v-if="detailData.process>0" class="fontColorC cursor" @click="showDrawerTow=true"><i class="el-icon-s-order" ></i>全部记录</div>
|
|
</div>
|
|
</div>
|
|
<div style="text-align: center;margin-top: 50px;position: relative;" v-if="detailData.process>0">
|
|
<div style="text-align: center;margin-top: 50px;position: relative;" v-if="detailData.process>0">
|
|
<el-progress :color="customColor" :width="150" :stroke-width="18" type="circle" :show-text="false" :percentage="Number(detailData.process)"></el-progress>
|
|
<el-progress :color="customColor" :width="150" :stroke-width="18" type="circle" :show-text="false" :percentage="Number(detailData.process)"></el-progress>
|
|
@@ -19,20 +19,21 @@
|
|
<el-button type="primary" size="small" round style="width: 100px;" @click="isShowSchedule=true" v-if="isReturnPJ"><i class="el-icon-refresh"></i> 更新进度</el-button>
|
|
<el-button type="primary" size="small" round style="width: 100px;" @click="isShowSchedule=true" v-if="isReturnPJ"><i class="el-icon-refresh"></i> 更新进度</el-button>
|
|
</div>
|
|
</div>
|
|
<template v-if="projectProcessList[0]">
|
|
<template v-if="projectProcessList[0]">
|
|
- <div v-for="(item, index) in [projectProcessList[0]]" :key="index" class="record-list" style="background-color: #F8FCFF;margin-bottom: 10px;margin-top: 20px;">
|
|
|
|
- <div class="flex-box-ce record-date fontColorB">
|
|
|
|
- <userImage :user_name="item.userInfo.name||'系统'" :img_url="item.userInfo.img_url" fontSize="12" width="32px" height="32px"></userImage>
|
|
|
|
- <div class="record-name">{{ item.userInfo.name||'系统' }}</div>
|
|
|
|
- <span class="fontColorC flex-1">{{ item.create_time }} 添加了进展</span>
|
|
|
|
- <span class="blue cursor" style="padding-right: 10px;display: none;" v-if="$userInfo().id==item.userInfo.id" @click="openMp(item)">编辑</span>
|
|
|
|
- </div>
|
|
|
|
- <div class="record-content">
|
|
|
|
- <pre class="pre fontColorA" style="font-size: 15px;" v-if="item.content">{{ item.content }}</pre>
|
|
|
|
- <div v-else class="fontColorD">无内容</div>
|
|
|
|
|
|
+ <div v-for="(item, index) in [projectProcessList[0]]" :key="index">
|
|
|
|
+ <div class="flex-box-ce" style="padding: 10px;">
|
|
|
|
+ <span class="biaos"></span>
|
|
|
|
+ <div class="black flex-1" style="font-weight: 700;font-size: 16px;">{{item.process}}%
|
|
|
|
+ <template v-if="item.process!=item.process_last">
|
|
|
|
+ <span v-if="item.isUpdatePro>0" class="green" style="font-size: 12px;"><i class="el-icon-top"></i>{{item.updatePro}}%</span>
|
|
|
|
+ <span v-else class="red" style="font-size: 12px;"><i class="el-icon-bottom"></i>{{item.updatePro}}%</span>
|
|
|
|
+ </template>
|
|
|
|
+ </div>
|
|
|
|
+ <span class="fontColorC">{{item.create_time}}</span>
|
|
</div>
|
|
</div>
|
|
- <div class="flex-box-ce flex-d-center fontColorC" style="padding-left: 40px;font-size: 13px;margin-top: 14px;">
|
|
|
|
- <div>进度为{{item.process}}%</div>
|
|
|
|
- <div>进展日期:{{$moment(item.start_time).format('YYYY/MM/DD')}}~{{$moment(item.end_time).format('YYYY/MM/DD')}}</div>
|
|
|
|
|
|
+ <div class="flex-box o-content" style="margin-bottom: 5px;">
|
|
|
|
+ <div v-if="item.content" class="flex-1 fontColorB">{{item.content}}</div>
|
|
|
|
+ <div v-else class="flex-1 fontColorD">暂无内容</div>
|
|
|
|
+ <div style="display: none;" class="fontColorC" @click="openMp(item)" v-if="isReturnPJ"> 编辑</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -52,9 +53,16 @@
|
|
<ProjectInputBox class="flex-1" :project_id="projectId" :value="detailData.name" inputSize @confirm="getProjectDateil()"></ProjectInputBox>
|
|
<ProjectInputBox class="flex-1" :project_id="projectId" :value="detailData.name" inputSize @confirm="getProjectDateil()"></ProjectInputBox>
|
|
</div>
|
|
</div>
|
|
<div class="flex-box kr-message-item">
|
|
<div class="flex-box kr-message-item">
|
|
- <div class="label" style="padding-top: 8px;">项目描述</div>
|
|
|
|
|
|
+ <div class="label">项目描述</div>
|
|
<ProjectInputBox class="flex-1" :project_id="projectId" :value="detailData.desc" :upType='2' inputSize maxlength="200" placeholder="请输入项目描述" @confirm="getProjectDateil()"></ProjectInputBox>
|
|
<ProjectInputBox class="flex-1" :project_id="projectId" :value="detailData.desc" :upType='2' inputSize maxlength="200" placeholder="请输入项目描述" @confirm="getProjectDateil()"></ProjectInputBox>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div class="flex-box-ce kr-message-item">
|
|
|
|
+ <div class="label">创建人</div>
|
|
|
|
+ <div class="flex-box-ce" @click="showSelectorUser()">
|
|
|
|
+ <userImage :id="detailData.publisher_id" width="36px" height="36px" fontSize="14"></userImage>
|
|
|
|
+ <span style="font-weight: 600;padding-left: 10px;" class="fontColorB">{{$getEmployeeMapItem(detailData.publisher_id).name}}</span>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
<div class="flex-box-ce kr-message-item">
|
|
<div class="flex-box-ce kr-message-item">
|
|
<div class="label">负责人</div>
|
|
<div class="label">负责人</div>
|
|
<div class="flex-box-ce input-box cursor" @click="showSelectorUser()">
|
|
<div class="flex-box-ce input-box cursor" @click="showSelectorUser()">
|
|
@@ -66,9 +74,16 @@
|
|
<div class="label">起止时间</div>
|
|
<div class="label">起止时间</div>
|
|
<div class="hover-border" style="margin-right: 10px;" @click="showTime">{{detailData.start_date}}~{{detailData.end_date}}</div>
|
|
<div class="hover-border" style="margin-right: 10px;" @click="showTime">{{detailData.start_date}}~{{detailData.end_date}}</div>
|
|
<template>
|
|
<template>
|
|
- <span v-if="detailData.day>0">剩余<span class="green">{{detailData.day}}</span>天</span>
|
|
|
|
- <span v-if="detailData.day==0">剩余<span class="green">1</span>天</span>
|
|
|
|
- <span v-if="detailData.day<0">逾期<span class="red">{{Math.abs(detailData.day)}}</span>天</span>
|
|
|
|
|
|
+ <template v-if="detailData.composite_state==3">
|
|
|
|
+ <span v-if="detailData.day<0"> (逾期<span class="red">{{Math.abs(detailData.day)}}</span>天)</span>
|
|
|
|
+ </template>
|
|
|
|
+ <template v-else>
|
|
|
|
+ <span v-if="detailData.day==0"><span class="yellow"> 今日到期</span></span>
|
|
|
|
+ <span v-else-if="detailData.day>0&&detailData.day<=30"> (剩余<span class="green">{{detailData.day}}</span>天)</span>
|
|
|
|
+ </template>
|
|
|
|
+<!-- <span v-if="detailData.day>0">剩余<span class="green">{{detailData.day}}</span>天</span>
|
|
|
|
+ <span v-if="detailData.day==0"><span class="yellow"> 今日到期</span></span>
|
|
|
|
+ <span v-if="detailData.day<0">逾期<span class="red">{{Math.abs(detailData.day)}}</span>天</span> -->
|
|
</template>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
<div class="flex-box-ce kr-message-item">
|
|
<div class="flex-box-ce kr-message-item">
|
|
@@ -90,21 +105,28 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="flex-box-ce kr-message-item">
|
|
<div class="flex-box-ce kr-message-item">
|
|
- <div class="label">可见范围</div>
|
|
|
|
|
|
+ <div class="label">
|
|
|
|
+ <el-tooltip placement="top">
|
|
|
|
+ <div slot="content" style="width: 500px;">
|
|
|
|
+ 公开全员可见:项目内容完全公开,公司全员均可查看<br/>
|
|
|
|
+ 仅项目成员可见:项目内容仅允许项目相关成员查看(相关成员包括:项目创建人、项目负责人、项目参与人、项目负责人的直属部门上级、项目里程碑负责人)
|
|
|
|
+ </div>
|
|
|
|
+ <span>可见范围<i class="el-icon-question"></i></span>
|
|
|
|
+ </el-tooltip>
|
|
|
|
+ </div>
|
|
<el-popover placement="right" trigger="manual" v-model="isShowFw">
|
|
<el-popover placement="right" trigger="manual" v-model="isShowFw">
|
|
<div class="searchBox">
|
|
<div class="searchBox">
|
|
<el-select class="w270" v-model="scope_type" placeholder="请选择">
|
|
<el-select class="w270" v-model="scope_type" placeholder="请选择">
|
|
|
|
+ <el-option label="公开全员可见" :value="2"></el-option>
|
|
<el-option label="仅项目成员可见" :value="1"></el-option>
|
|
<el-option label="仅项目成员可见" :value="1"></el-option>
|
|
- <el-option label="全员公开可见" :value="2"></el-option>
|
|
|
|
</el-select>
|
|
</el-select>
|
|
<div class="flex-box-end" style="margin-top: 20px;">
|
|
<div class="flex-box-end" style="margin-top: 20px;">
|
|
<el-button size="small" plain round @click="isShowFw = false">取 消</el-button>
|
|
<el-button size="small" plain round @click="isShowFw = false">取 消</el-button>
|
|
<el-button size="small" type="primary" plain round @click="confirmFw">确 定</el-button>
|
|
<el-button size="small" type="primary" plain round @click="confirmFw">确 定</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <!-- 内容 -->
|
|
|
|
<template slot="reference">
|
|
<template slot="reference">
|
|
- <div @click="showFw" class="hover-border">{{detailData.scope_type==1? '仅项目成员可见':'全员公开可见'}} <i class="el-icon-caret-bottom fontColorC"></i></div>
|
|
|
|
|
|
+ <div @click="showFw" class="hover-border">{{detailData.scope_type==1? '仅项目成员可见':'公开全员可见'}} <i class="el-icon-caret-bottom fontColorC"></i></div>
|
|
</template>
|
|
</template>
|
|
</el-popover>
|
|
</el-popover>
|
|
</div>
|
|
</div>
|
|
@@ -132,25 +154,26 @@
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
<el-drawer :visible.sync="showDrawerTow" :append-to-body="true" :before-close="handleClose" :with-header="false">
|
|
<el-drawer :visible.sync="showDrawerTow" :append-to-body="true" :before-close="handleClose" :with-header="false">
|
|
- <header class="drawer-header flex-box-ce"><div class="flex-1">项目进展列表</div></header>
|
|
|
|
|
|
+ <header class="drawer-header flex-box-ce"><div class="flex-1">全部记录</div></header>
|
|
<div class="drawer-main">
|
|
<div class="drawer-main">
|
|
<div class="record-box">
|
|
<div class="record-box">
|
|
- <div v-for="(item, index) in projectProcessList" :key="index" class="record-list" style="background-color: #F8FCFF;margin-bottom: 14px;">
|
|
|
|
- <div class="flex-box-ce record-date fontColorB">
|
|
|
|
- <userImage :user_name="item.userInfo.name||'系统'" :img_url="item.userInfo.img_url" fontSize="12" width="32px" height="32px"></userImage>
|
|
|
|
- <div class="record-name">{{ item.userInfo.name||'系统' }}</div>
|
|
|
|
- <span class="fontColorC flex-1">{{ item.create_time }} 添加了进展</span>
|
|
|
|
- <span class="blue cursor" style="padding-right: 10px;display: none;" v-if="$userInfo().id==item.userInfo.id" @click="openMp(item)">编辑</span>
|
|
|
|
- </div>
|
|
|
|
- <div class="record-content">
|
|
|
|
- <pre class="pre fontColorA" style="font-size: 15px;" v-if="item.content">{{ item.content }}</pre>
|
|
|
|
- <div v-else class="fontColorD">无内容</div>
|
|
|
|
- </div>
|
|
|
|
- <div class="flex-box-ce flex-d-center fontColorC" style="padding-left: 40px;font-size: 13px;margin-top: 14px;">
|
|
|
|
- <div>进度为{{item.process}}%</div>
|
|
|
|
- <div>进展日期:{{$moment(item.start_time).format('YYYY/MM/DD')}}~{{$moment(item.end_time).format('YYYY/MM/DD')}}</div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <div v-for="(item, index) in projectProcessList" :key="index">
|
|
|
|
+ <div class="flex-box-ce" style="padding: 10px;">
|
|
|
|
+ <span class="biaos"></span>
|
|
|
|
+ <div class="black flex-1" style="font-weight: 700;font-size: 16px;">{{item.process}}%
|
|
|
|
+ <template v-if="item.process!=item.process_last">
|
|
|
|
+ <span v-if="item.isUpdatePro>0" class="green" style="font-size: 12px;"><i class="el-icon-top"></i>{{item.updatePro}}%</span>
|
|
|
|
+ <span v-else class="red" style="font-size: 12px;"><i class="el-icon-bottom"></i>{{item.updatePro}}%</span>
|
|
|
|
+ </template>
|
|
|
|
+ </div>
|
|
|
|
+ <span class="fontColorC">{{item.create_time}}</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="flex-box o-content" style="margin-bottom: 5px;">
|
|
|
|
+ <div v-if="item.content" class="flex-1 fontColorB">{{item.content}}</div>
|
|
|
|
+ <div v-else class="flex-1 fontColorD">暂无内容</div>
|
|
|
|
+ <div style="display: none;" class="fontColorC" @click="openMp(item)" v-if="isReturnPJ"> 编辑</div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
<div class="dotted-line" v-if="projectProcessList.length==0"><div>事务有新的进展?马上记录吧</div></div>
|
|
<div class="dotted-line" v-if="projectProcessList.length==0"><div>事务有新的进展?马上记录吧</div></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -163,9 +186,6 @@
|
|
<el-form-item label="进展内容" prop="content" :rules="[{ required: true, message: '请输入进展'}]">
|
|
<el-form-item label="进展内容" prop="content" :rules="[{ required: true, message: '请输入进展'}]">
|
|
<el-input type="textarea" v-model="processFormData.content" rows="4" placeholder="请输入进展" maxlength="500" show-word-limit></el-input>
|
|
<el-input type="textarea" v-model="processFormData.content" rows="4" placeholder="请输入进展" maxlength="500" show-word-limit></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="起止时间">
|
|
|
|
- <el-date-picker :clearable="false" size="small" v-model="processFormData.processTime" type="daterange" value-format="yyyy-MM-dd" range-separator="~" start-placeholder="开始日期"end-placeholder="结束日期"></el-date-picker>
|
|
|
|
- </el-form-item>
|
|
|
|
</el-form>
|
|
</el-form>
|
|
</div>
|
|
</div>
|
|
<div class="flex-box-end" style="margin-top: 30px;">
|
|
<div class="flex-box-end" style="margin-top: 30px;">
|
|
@@ -190,7 +210,16 @@
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 选择部门 -->
|
|
<!-- 选择部门 -->
|
|
- <EmployeeSelector title="选择部门" :dept_children="false" :isChecKedAll="false" :max="3" :can_select_employee="false" :can_select_dept="true" :multi="true" :selected="dept_selected" :visible.sync="show_dept_selector"@confirm="dept_confirm"/>
|
|
|
|
|
|
+ <EmployeeSelector
|
|
|
|
+ title="选择部门"
|
|
|
|
+ :dept_children="false"
|
|
|
|
+ :isChecKedAll="false"
|
|
|
|
+ :max="3"
|
|
|
|
+ :can_select_employee="false"
|
|
|
|
+ :can_select_dept="true"
|
|
|
|
+ :multi="true"
|
|
|
|
+ :selected="dept_selected"
|
|
|
|
+ :visible.sync="show_dept_selector"@confirm="dept_confirm"/>
|
|
|
|
|
|
<!-- 对齐目标 -->
|
|
<!-- 对齐目标 -->
|
|
<TargetSearch :visible.sync="isShowDateSearch" title="所属KR" :showType="2" @confirm="confirmTarget"></TargetSearch>
|
|
<TargetSearch :visible.sync="isShowDateSearch" title="所属KR" :showType="2" @confirm="confirmTarget"></TargetSearch>
|
|
@@ -246,7 +275,7 @@ export default {
|
|
isShowDateSearch:false,
|
|
isShowDateSearch:false,
|
|
kr_id:0,
|
|
kr_id:0,
|
|
isShowFw:false,
|
|
isShowFw:false,
|
|
- scope_type:1,
|
|
|
|
|
|
+ scope_type:2,
|
|
progressData:{},
|
|
progressData:{},
|
|
isShowSchedule:false,
|
|
isShowSchedule:false,
|
|
customColor:'#409EFF',
|
|
customColor:'#409EFF',
|
|
@@ -284,7 +313,9 @@ export default {
|
|
target_type:4,
|
|
target_type:4,
|
|
target_id:this.projectId,
|
|
target_id:this.projectId,
|
|
start_date:this.detailData.start_date,
|
|
start_date:this.detailData.start_date,
|
|
- end_date:this.detailData.end_date,
|
|
|
|
|
|
+ // end_date:this.detailData.end_date,
|
|
|
|
+ end_date:this.$moment().format('YYYY-MM-DD'),
|
|
|
|
+
|
|
}
|
|
}
|
|
this.$axiosUser('get', '/api/pro/okr/process/trend',data).then(res=>{
|
|
this.$axiosUser('get', '/api/pro/okr/process/trend',data).then(res=>{
|
|
this.trend=res.data.data.trend;
|
|
this.trend=res.data.data.trend;
|
|
@@ -299,8 +330,6 @@ export default {
|
|
let data={
|
|
let data={
|
|
process:this.detailData.process,
|
|
process:this.detailData.process,
|
|
content:this.processFormData.content,
|
|
content:this.processFormData.content,
|
|
- start_date:this.processFormData.processTime[0],
|
|
|
|
- end_date:this.processFormData.processTime[1],
|
|
|
|
p_id:this.processFormData.p_id
|
|
p_id:this.processFormData.p_id
|
|
}
|
|
}
|
|
this.$axiosUser('post', '/api/pro/okr/process/content',data).then(res=>{
|
|
this.$axiosUser('post', '/api/pro/okr/process/content',data).then(res=>{
|
|
@@ -330,6 +359,8 @@ export default {
|
|
let list=res.data.data.list
|
|
let list=res.data.data.list
|
|
list.forEach(item=>{
|
|
list.forEach(item=>{
|
|
item.userInfo=this.$getEmployeeMapItem(item.publisher_id);
|
|
item.userInfo=this.$getEmployeeMapItem(item.publisher_id);
|
|
|
|
+ item.updatePro=Math.abs(item.process-item.process_last).toFixed(2);
|
|
|
|
+ item.isUpdatePro=item.process-item.process_last
|
|
})
|
|
})
|
|
this.projectProcessList=list
|
|
this.projectProcessList=list
|
|
});
|
|
});
|
|
@@ -339,6 +370,10 @@ export default {
|
|
this.isShowFw=true;
|
|
this.isShowFw=true;
|
|
},
|
|
},
|
|
confirmFw(){
|
|
confirmFw(){
|
|
|
|
+ if(this.scope_type==this.detailData.scope_type){
|
|
|
|
+ this.isShowFw=false;
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
this.$axiosUser('post', 'api/pro/okr/project/scope',{scope_type:this.scope_type,project_id:this.projectId}).then(res => {
|
|
this.$axiosUser('post', 'api/pro/okr/project/scope',{scope_type:this.scope_type,project_id:this.projectId}).then(res => {
|
|
this.getProjectDateil();
|
|
this.getProjectDateil();
|
|
this.isShowFw=false;
|
|
this.isShowFw=false;
|
|
@@ -350,7 +385,7 @@ export default {
|
|
})
|
|
})
|
|
},
|
|
},
|
|
showTime(){
|
|
showTime(){
|
|
- this.time=[this.detailData.start_date,this.detailData.start_date];
|
|
|
|
|
|
+ this.time=[this.detailData.start_date,this.detailData.end_date];
|
|
this.isShowDqMyTarget=true;
|
|
this.isShowDqMyTarget=true;
|
|
},
|
|
},
|
|
confirmTime(){
|
|
confirmTime(){
|
|
@@ -398,7 +433,7 @@ export default {
|
|
}
|
|
}
|
|
let obj={
|
|
let obj={
|
|
project_id:this.projectId,
|
|
project_id:this.projectId,
|
|
- dept_ids:JSON.stringify(dept_ids),
|
|
|
|
|
|
+ dept_ids:dept_ids.toString(),
|
|
}
|
|
}
|
|
this.$axiosUser('post', '/api/pro/okr/project/dept',obj).then(res => {
|
|
this.$axiosUser('post', '/api/pro/okr/project/dept',obj).then(res => {
|
|
this.getProjectDateil();
|
|
this.getProjectDateil();
|
|
@@ -453,6 +488,16 @@ export default {
|
|
color: ["#FF9600", "#67c23a", "#4cabce", "#e5323e"],
|
|
color: ["#FF9600", "#67c23a", "#4cabce", "#e5323e"],
|
|
tooltip: {
|
|
tooltip: {
|
|
trigger: 'axis',
|
|
trigger: 'axis',
|
|
|
|
+ formatter: function (params) {
|
|
|
|
+ console.log(params)
|
|
|
|
+ var result =`
|
|
|
|
+ <div>
|
|
|
|
+ <div>${params[0].axisValue}</div>
|
|
|
|
+ <div><span style="display:inline-block;margin-right:2px;border-radius:50px;width:10px;height:10px;background-color:#FF9600"></span> 项目进度:${params[0].value}%</div>
|
|
|
|
+ </div>
|
|
|
|
+ `
|
|
|
|
+ return result
|
|
|
|
+ }
|
|
},
|
|
},
|
|
xAxis: {
|
|
xAxis: {
|
|
type: 'category',
|
|
type: 'category',
|
|
@@ -466,6 +511,9 @@ export default {
|
|
},
|
|
},
|
|
axisTick: {
|
|
axisTick: {
|
|
show: false
|
|
show: false
|
|
|
|
+ },
|
|
|
|
+ axisLabel: {
|
|
|
|
+ formatter: '{value} %'
|
|
}
|
|
}
|
|
},
|
|
},
|
|
series: [
|
|
series: [
|
|
@@ -501,6 +549,28 @@ export default {
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|
|
|
|
+ .biaos {
|
|
|
|
+ width: 10px;
|
|
|
|
+ height: 10px;
|
|
|
|
+ background-color: #409EFF;
|
|
|
|
+ border: 1px solid #fff;
|
|
|
|
+ border-radius: 100%;
|
|
|
|
+ box-shadow: 0 0 10px #409EFF;
|
|
|
|
+ display: inline-block;
|
|
|
|
+ margin-right: 10px;
|
|
|
|
+ }
|
|
|
|
+ .o-content{
|
|
|
|
+ border-radius: 5px;
|
|
|
|
+ padding: 5px;
|
|
|
|
+ margin-left: 20px;
|
|
|
|
+ }
|
|
|
|
+ .o-content:hover{
|
|
|
|
+ background-color: #F7F8FA;
|
|
|
|
+ }
|
|
|
|
+ .o-content:hover .fontColorC{
|
|
|
|
+ display: block!important;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ }
|
|
.krIcon{
|
|
.krIcon{
|
|
position: relative;
|
|
position: relative;
|
|
width: 22px;
|
|
width: 22px;
|