Commit 4f42d9f2 authored by zhangyanni's avatar zhangyanni

Merge remote-tracking branch 'origin/master'

parents da9d994e 5a1c7384
......@@ -215,6 +215,7 @@
//搜索
search(val){
// this.$refs.popoverKey.doShow();
this.keyword = val;
this.handleSearchDetail(val);
this.$refs.popoverKey.doClose();
this.ispopoverKey = false;
......
......@@ -988,6 +988,11 @@ const router = new Router({
component: resolve => require(['views/kolExpert/kolExpertManage.vue'], resolve).catch(routerUtils.catchImport),
meta: {title: '维护的专家'}
},
{
path: '/kolExpertDetail',
component: resolve => require(['views/kolExpert/kolExpertDetail.vue'], resolve).catch(routerUtils.catchImport),
meta: {title: '专家详情'}
},
{
path: '/kolProfessorsDetail',
component: resolve => require(['views/indexAccepting/kolProfessorsDetail.vue'], resolve).catch(routerUtils.catchImport),
......
......@@ -138,7 +138,7 @@
<el-radio @change="recommendedchange(formData.isRecommended)" v-model="formData.isRecommended" :label="0"></el-radio>
<el-radio @change="recommendedchange(formData.isRecommended)" v-model="formData.isRecommended" :label="1"></el-radio>
<el-button :disabled="formData.isRecommended == 0" @click="addobjfessor">选择专家</el-button>
<el-button :disabled="formData.isRecommended == 0" @click="addVisible = true">添加专家并选择</el-button>
<!-- <el-button :disabled="formData.isRecommended == 0" @click="addVisible = true">添加专家并选择</el-button>-->
</el-form-item>
<div style="display: flex;flex-wrap: wrap;width: 80%;margin-left: 160px" v-if="objfessorData.empName">
<div style="width: 150px;text-align: center;position: relative">
......
......@@ -83,6 +83,10 @@ export default {
selectMyMessageList(params){
return api.fetchPost("/business/my/selectMyMessageList",params);
},
//获取是否交换名片
getIsChangeAxios(params){
return api.fetchLoadingPost("/base/emp/selectChannelOpenState?"+Qs.stringify(params));
},
//处理消息
executeMessage(params){
return api.fetchPost("/business/my/executeMessage",params);
......
<template>
<div>
<iframe name = "child" id = "child" src="live.html" frameborder="0" scrolling="no" style="position:related;top: 2.8px;left: 0px;width: 100%;height: 100vh;border: medium none;"></iframe>
<div v-if="$i18n.locale=='zh-CN'&&!userClick" @click="isuserClick" class="event_iconchange">
<div v-if="$i18n.locale=='zh-CN'&&!userClick&&isVisible" @click="isuserClick" class="event_iconchange">
<el-tooltip class="item" effect="dark" content="互换名片,拓展人脉圈" placement="top-start">
<img class="event_iconchange_img" src="../../assets/img/changeImg.png" alt="">
</el-tooltip>
</div>
<div class="gendisplay event_all" :class="userClick?'':'event_lshow'">
<div class="gendisplay event_all">
<div @click="userClick = false" class="event_l"></div>
<div class="event_r" :class="userClick?'event_rshow':''">
<img @click="userClick = false" src="../../assets/img/pull.png" :style="userClick?'':'display: none;'">
<div class="gendisplay event_title" v-if="userClick">
<div class="gendisplay event_title">
<div>
<span @click="titleHover = 0" :class="titleHover == 0?'title_hover':''">交换名片</span>
</div>
......@@ -29,6 +29,8 @@
</template>
<script>
import setApi from "../mobile/api";
window.onload = function(){
var paramsUrl = require('js-base64').Base64.decode(decodeURIComponent(document.location.href.split("?")[1].split("=")[1])).split("/webinar/inituser/")[1];
var _iftameBody = document.getElementById('child').contentWindow.document.getElementsByTagName("body")[0];
......@@ -53,6 +55,7 @@
userClick:false,
titleHover:0,
newstotalResult:0,
isVisible:false,
activityId:Number(this.$route.query.id),
userInfo: this.publicFun.getUserInfoCookieType() ? JSON.parse(this.Base64.decode(this.publicFun.getUserInfoCookieType())) : null,
}
......@@ -95,6 +98,18 @@
console.log(err)
})
},
isShowChange(){
let params = {
activityId:this.$route.query.id
}
api.getIsChangeAxios(params).then((res)=>{
if(res.code==0){
this.isVisible = res.result.exchangeCards==1?false:true;
}else this.$toast(res.msg);
}).catch((err)=>{
this.$toast(err);
})
},
newstotal(val){
this.newstotalResult = val;
},
......@@ -104,6 +119,7 @@
globalMsg.$emit('sendIndex', 3);
document.getElementsByTagName("body")[0].style.overflow = "hidden";
this.userHistory(0);
this.isShowChange();
},
beforeRouteLeave(to,from,next) { // 在组件生命周期结束的时候销毁。、
// this.userHistory(1);
......@@ -147,13 +163,15 @@
.event_rshow{
right: 0!important;
opacity: 1!important;
}
.event_r{
background: #ffffff;
width: 300px;
transition: right .6s;
transition: all .8s;
height: 100%;
position: absolute;
opacity: 0;
right: -300px;
.event_title{
width: 100%;
......
......@@ -46,6 +46,11 @@
</el-row>
</el-tab-pane>
</el-tabs>
<p @click="$router.go(-1)"
style="position: absolute;top: 25px;right: 10px;color: #5D78FF;font-size: 14px;width: 80px;cursor: pointer;">
<i style="color: #5D78FF;font-size: 14px;padding-right: 5px" class="iconfont icon-fanhui1"></i>
{{$t('workPlace.goreturn')}}
</p>
</el-row>
<el-row class="projectTabadd" style="margin-top: 20px">
......
......@@ -4,39 +4,51 @@
<el-row class="statebottm">
<page-screen :screenlist="screenlist" :checkboxGroupstate="checkStateIds" :checkboxGroupchildstate="search.checkState" :screenchildListIf="true" ref="screenchild" titleName="验收状态" @changecheck="screenData"></page-screen>
</el-row>
<el-row class="statebottm" style="padding: 20px 10px;">
<el-row class="statebottm" style="padding: 20px 10px;line-height: 40px;">
<el-col :span="12">
<div style="margin-top: 8px;">
<span style="font-weight: bold;width: 150px;display: inline-block;">区域:</span>
<el-select v-model="search.orgIdList" multiple placeholder="请选择区域" style="width: 280px;">
<el-option
v-for="item in areaList"
:key="item.orgId"
:label="item.orgName"
:value="item.orgId">
</el-option>
</el-select>
<div style="display:flex;">
<span style="font-weight: bold;margin-right: 20px;">审核时间:</span>
<el-date-picker style="width: 200px;" v-model="search.authBegin" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('operationjson.authBegin')"></el-date-picker>
<p style="width: 50px;text-align: center">{{$t('operationjson.tos')}}</p>
<el-date-picker style="width: 200px;" v-model="search.authEnd" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('operationjson.authEnd')"></el-date-picker>
</div>
</el-col>
<el-col :span="12">
<span style="font-weight: bold;width: 150px;display: inline-block;">区域联系人:</span>
<span style="font-weight: bold;margin: 0 60px 0 40px;">区域:</span>
<el-select v-model="search.orgIdList" multiple placeholder="请选择区域" style="width: 280px;">
<el-option
v-for="item in areaList"
:key="item.orgId"
:label="item.orgName"
:value="item.orgId">
</el-option>
</el-select>
</el-col>
</el-row>
<el-row class="statebottm" style="padding: 20px 10px;line-height: 40px;">
<el-col :span="12">
<div style="display:flex;">
<span style="font-weight: bold;margin-right: 20px;">创建时间:</span>
<el-date-picker style="width: 200px;" v-model="search.createdBegin" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('operationjson.authBegin')"></el-date-picker>
<p style="width: 50px;text-align: center">{{$t('operationjson.tos')}}</p>
<el-date-picker style="width: 200px;" v-model="search.createdEnd" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('operationjson.authEnd')"></el-date-picker>
</div>
</el-col>
<el-col :span="12">
<span style="font-weight: bold;margin: 0 20px 0 40px;">区域联系人:</span>
<el-input style="width: 280px;" maxlength="36" placeholder="请输入区域联系人" v-model="search.empContent"></el-input>
</el-col>
</el-row>
<el-row style="margin: 20px 0 0 10px" class="contnetform">
<div style="display:flex;line-height: 40px;">
<el-date-picker style="width: 200px;" v-model="search.authBegin" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('operationjson.authBegin')"></el-date-picker>
<p style="width: 50px;text-align: center">{{$t('operationjson.tos')}}</p>
<el-date-picker style="width: 200px;" v-model="search.authEnd" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('operationjson.authEnd')"></el-date-picker>
<el-input style="width: 240px;margin-left: 20px;" v-model="search.keyName"
@keyup.enter.native="searchCik"
placeholder="请输入关键词查询"></el-input>
<el-button type="primary" style="width: 140px;margin-left: 20px" @click="searchCik">{{$t('operationjson.search')}}</el-button>
<el-button type="primary" plain style="width: 140px;margin-left: 20px" @click="resetCik">重置</el-button>
<el-button type="primary" plain style="width: 140px;margin: 0 20px" @click="resetCik">重置</el-button>
<exportFieldBar :screenlist="exportFieldlist" @exportSuccess="exportSuccess"></exportFieldBar>
</div>
</el-row>
<el-row style="margin: 20px 0 0 10px" class="contnetform">
<exportFieldBar :screenlist="exportFieldlist" @exportSuccess="exportSuccess"></exportFieldBar>
</el-row>
</el-row>
<el-row class="contentPadding">
<el-table :data="auditlist" tooltip-effect="dark" class="projectTable2">
......@@ -65,6 +77,7 @@
<p>{{scope.row.authenticationState=='AS02'?'待验收':scope.row.authenticationState=='AS03'?'验收通过展示':scope.row.authenticationState=='AS05'?'验收通过不展示':scope.row.authenticationState=='AS04'?'验收驳回':scope.row.authenticationState=='AS06'?'验收不通过展示':''}}</p>
</template>
</el-table-column>
<el-table-column prop="createdTime" label="创建时间" align="center" width="80"></el-table-column>
<el-table-column :label="$t('listjson.action')" width="100" align='center' fixed="right">
<template slot-scope="scope">
<el-button type="text" @click="handdetail(scope.row)">{{$t('listjson.seeaction')}}</el-button>
......@@ -119,21 +132,20 @@
totalListResult: 0,
numberData: 10, //设置个数
exportFieldlist:[],
checkStateIds:'',
checkStateIds:[],
}
},
beforeRouteEnter(to, from, next) {
next(vm=>{ // 这里的vm指的就是vue实例,可以用来当做this使用
vm.pathfrom = from.path;
if(vm.pathfrom == '/peopleinside'){
vm.search = vm.publicFun.getCookie("peopleaudit")?JSON.parse(vm.publicFun.getCookie("peopleaudit")):{};
if(vm.pathfrom == '/auditinside'){
vm.search = vm.publicFun.getCookie("projectSearch")?JSON.parse(vm.publicFun.getCookie("projectSearch")):{};
if(vm.search.checkState !=''||vm.search.checkState !=null){
vm.checkStateIds = vm.search.checkState
vm.checkStateIds.push(vm.search.checkState)
}
vm.getAcceptanceAxios();
}else{
vm.publicFun.removeCookie("peopleaudit")
vm.getAcceptanceAxios();
vm.publicFun.removeCookie("projectSearch")
}
})
},
......@@ -141,6 +153,7 @@
methods:{
screenData(a){
this.search.checkState = a;
this.searchCik();
},
getselectAreaList(){
api.selectAreaList().then(response => {
......@@ -190,6 +203,7 @@
});
},
handdetail(val){
this.publicFun.setUserInfoCookie("projectSearch",JSON.stringify(this.search))
this.$router.push({path:"/auditinside",query:{projectId:val.projectId,state:val.authenticationState,type:true,}});
},
//条件查询
......@@ -210,6 +224,7 @@
authEnd:'',
orgIdList:null,
};
this.$refs.screenchild.stateinit();
this.cur_page = 1;
this.getAcceptanceAxios();
},
......
......@@ -14,7 +14,7 @@
<el-table-column :label="$t('litemlistjson.projectName')" width="330" >
<template slot-scope="scope">
<p @click="setDatalist(scope.row)" class="projectNamep">{{scope.row.projectName}}</p>
<span class="stateclass">{{scope.row.authenticationState=='AS02'?$t('operationjson.pendingreview'):scope.row.authenticationState=='AS03'?$t('operationjson.audited'):scope.row.authenticationState=='AS04'?$t('operationjson.dismissed'):''}}</span>
<span class="stateclass">{{scope.row.authenticationState=='AS02'?$t('operationjson.pendingreview'):scope.row.authenticationState=='AS03'?$t('operationjson.audited'):scope.row.authenticationState=='AS04'?$t('operationjson.dismissed'):scope.row.authenticationState=='AS05'?'验收通过不展示':scope.row.authenticationState=='AS06'?'验收不通过展示':''}}</span>
</template>
</el-table-column>
<el-table-column prop="projectModel" :label="$t('litemlistjson.projectModel')" align='center'>
......
......@@ -87,6 +87,11 @@
</el-row>
</el-tab-pane>
</el-tabs>
<p @click="$router.go(-1)"
style="position: absolute;top: 25px;right: 10px;color: #5D78FF;font-size: 14px;width: 80px;cursor: pointer;">
<i style="color: #5D78FF;font-size: 14px;padding-right: 5px" class="iconfont icon-fanhui1"></i>
{{$t('workPlace.goreturn')}}
</p>
</el-row>
<el-row class="projectTabadd" style="margin-top: 20px">
......
......@@ -17,4 +17,12 @@ export default {
userRelatedBusiness (params){
return api.fetchLoadingGet('/business/staff/management/userRelatedBusiness?userId='+params);
},
//查询区域
selectAreaList( ) {
return api.fetchGet( '/base/org/selectAreaList' );
},
//优质项目导出
exportRegisterUsers( params ) {
return api.fetchLoadingPostex( '/business/staff/management/exportRegisterUsers', params );
},
}
\ No newline at end of file
......@@ -24,6 +24,25 @@
<page-screen :screenlist="accountstate" :checkboxGroupstate="frozenStateed" :screenchildListIf="true" ref="authtypechild" :titleName="$t('usermanagement.accountstatus')" @changecheck="accountData"></page-screen>
</el-col>
</el-row>
<el-row style="margin-top: 18px;">
<el-col :span="12">
<div>
<span style="font-weight: bold;width: 130px;display: inline-block;margin-left: 10px;">区域:</span>
<el-select v-model="search.orgList" multiple placeholder="请选择区域" style="width: 280px;">
<el-option
v-for="item in areaList"
:key="item.orgId"
:label="item.orgName"
:value="item.orgId">
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="12">
<span style="font-weight: bold;width: 150px;display: inline-block;">区域联系人:</span>
<el-input style="width: 280px;" maxlength="36" placeholder="请输入区域联系人" v-model="search.empContent"></el-input>
</el-col>
</el-row>
<el-row style="margin: 20px 0 0 10px" class="contnetform">
<el-form :inline="true" label-width="120px" label-position="left" :class="diven_zh?'':'contnetformen'" style="width: 100%;">
<el-form-item :label="$t('usermanagement.registrationtime')">
......@@ -44,6 +63,7 @@
<p style="width: 50px;text-align: center">{{$t('operationjson.tos')}}</p>
<el-input class="guess_inputdown" type="number" placeholder="请输入积分" v-model="search.maxIntegralVal" style="width: 150px"></el-input>
<el-button type="primary" style="width: 140px;margin-left: 20px" @click="searchCik">{{$t('operationjson.search')}}</el-button>
<el-button slot="reference" type="primary" style="width: 140px;" @click="exportexcel">导出</el-button>
</div>
</template>
</el-form-item>
......@@ -151,6 +171,7 @@
empTypeed:[],
authenticationStateed:[],
frozenStateed:[],
areaList:[],
}
},
components:{
......@@ -173,6 +194,26 @@
})
},
methods : {
// 专家导出
exportexcel(){
let params = this.search;
api.exportRegisterUsers(params).then(response => {
let blob = new Blob([response], {
type: "application/vnd.ms-excel" //word文档为msword,pdf文档为pdf
});
let objectUrl = URL.createObjectURL(blob);
let link = document.createElement("a");
let fname = `注册人员列表`+`.xls`; //下载文件的名字
link.href = objectUrl;
link.setAttribute("download", fname);
document.body.appendChild(link);
link.click();
})
.catch(error => {
console.log("提交出错");
return false;
});
},
//账号类型
typeData(a){
this.cur_page = 1;
......@@ -299,9 +340,23 @@
return false;
});
},
getselectAreaList(){
api.selectAreaList().then(response => {
if(response.code == 0) {
this.areaList = response.result;
} else {
this.$message.error(response.msgCode);
}
})
.catch(error => {
console.log("提交出错");
return false;
});
},
},
mounted() {
this.getselectAreaList();
this.diven_zh = this.publicFun.getCookie("language") == "en" ? false : true;
}
}
......
......@@ -102,7 +102,7 @@
<el-button type="primary" plain icon="el-icon-plus" style="width: 200px;height: 40px" @click="patentpush">{{$t('releasejson.addpatent')}}</el-button>
</el-row>
</el-form-item>
<el-form-item :label="$t('releasejson.uploadbp')">
<el-form-item :label="$t('releasejson.uploadbp')" ref="formBpUrl" :prop="publicFun.isgetUserRoleFunc(5)?'projectBpUrl':''">
<el-row>
<p style="margin-bottom: 10px;color: #9197B4"><i style="color: #FF9E29;font-size: 12px;padding-right: 5px" class="iconfont icon-gantanhao-quan"></i>{{$t('Otherjson.message3')}}<span style="color: #9197B4">({{$t('releasejson.uploadexl')}})</span></p>
</el-row>
......@@ -156,6 +156,7 @@
formData:{
projectPicUrlList:[],
isProjectPatent:1,
projectBpUrl:'',
patentList:[{patentName:'',patentNumber:'',editif:false,lightspotId:3442}],
projectLightspotList:[],
},
......@@ -181,6 +182,7 @@
{validator: valuespace, trigger: 'blur'}],
projectLightspotList: [{required: true,message: this.$t('releasejson.lightone'),trigger: 'change'}],
isProjectPatent: [{required: true,message:this.$t('releasejson.plispatent'),trigger: 'blur'}],
projectBpUrl: [{required: true,message: '请上传附件',trigger: 'change'}],
},
diven_zh:true,
isflag:0,
......@@ -248,6 +250,7 @@
return db && isLt2M;
},
uploadsuccess(res,file){
this.$refs.formBpUrl.clearValidate();
this.formData.projectBpUrl = res.result.fileUpload;
this.isflag = 0;
this.isShowErrorText = false;
......
<template>
<div class="search_content">
<searchCmpt @active="groupdata"></searchCmpt>
<div class="noDatalist" v-if="totalListResult == 0">
<img src="../../assets/img/mobile/noBusiness.png" alt="">
<p>相关的搜索结果较少,您可以换个搜索词试试!</p>
......@@ -60,6 +61,7 @@
<script>
import api from "./api/api";
import expertVisible from "../../components/login/quicklogin";
import searchCmpt from "../../components/bigbusiness/searchCmpt";
export default {
name: "bigBusinesslist",
......@@ -69,11 +71,12 @@
totalListResult: 0,
numberData: 10, //设置个数
datalist:[],
stateData:{},
userInfo : this.publicFun.getUserInfoCookieType() ? JSON.parse(this.Base64.decode(this.publicFun.getUserInfoCookieType())) : null,
}
},
props:['keyword'],
components:{expertVisible},
components:{expertVisible,searchCmpt},
methods:{
newOpenroute(row){
window.open(this.publicFun.getCurrentHrefEnv()+"#/bigBusiness/detail?id="+row.businessId+'&flag=1');
......@@ -94,13 +97,18 @@
this.numberData = val;
this.getselectdatas();
},
groupdata(val){
this.stateData = val;
this.getselectdatas();
},
getselectdatas(){
this.stateData.context = this.keyword;
let params = {
pagination: {
number: this.numberData,
numberOfPages: this.cur_page || 1,
},
search: {context:this.keyword},
search: this.stateData,
sort: {}
};
api.searchbusiness(params).then((response)=>{
......
<template>
<div class="search_content">
<choice-group @active="groupdata" @stateinit="stateinit"></choice-group>
<div class="noDatalist" v-if="totalListResult == 0">
<img src="../../assets/img/mobile/noProject.png" alt="">
<p>相关的搜索结果较少,您可以换个搜索词试试!</p>
<p>我们也正在收录更多科创项目,欢迎提供科创项目线索,发送邮件至service@techbook.com.cn。</p>
</div>
<div v-else>
<choice-group @active="groupdata"></choice-group>
<p class="search_dataNum">共搜到 <i>{{totalListResult}}</i> 个项目</p>
<div class="search_dataList">
<div v-for="(item,index) in datalist" class="gendisplay" @click="newOpenroute(item)">
......@@ -97,10 +97,7 @@
},
groupdata(val){
this.stateData = val;
if(Object.keys(val).length!=0){
this.getselectdatas();
}
this.getselectdatas();
},
getselectdatas(){
this.stateData.context = this.keyword;
......
......@@ -68,7 +68,7 @@
</div>
<el-row style="margin: 40px 0 20px 0; text-align: center;width: 100%;">
<el-button type="primary" @click="addexpert">提交</el-button>
<el-button @click="$router.push('/kolExpertManage')" plain>取消</el-button>
<el-button @click="resetCik" plain>取消</el-button>
</el-row>
</el-tab-pane>
</el-tabs>
......@@ -148,6 +148,10 @@
guestimg(url){
this.expertData.empLogo = url;
},
resetCik(){
this.expertData.empLogo = '';
this.$refs.expertData.resetFields();
},
addexpert(){
this.$refs.expertData.validate((valid) => {
if(valid) {
......
......@@ -26,4 +26,13 @@ export default {
searchCreatedProfessors (params){
return api.fetchPost('/base/manage/professor/searchCreatedProfessors',params);
},
//查询专家信息
getCheckProfessor( params ) {
return api.fetchGet( '/base/check/professor/getCheckProfessor?professorId=' + params );
},
//kol专家导出
exportProfessorList( params ) {
return api.fetchLoadingPostex( '/base/manage/professor/exportProfessorList', params );
},
}
\ No newline at end of file
<template>
<div class="soutform loginedWrapper">
<div class="breadcrumb">
<el-breadcrumb separator="/">
<el-breadcrumb-item
:to="{ path: publicFun.isgetUserRoleFunc(5)?'':publicFun.isgetUserRoleFunc(2)?'/projectdynamics':'/litemlist' }">
{{$t("workPlace.myworkPlace")}}
</el-breadcrumb-item>
<el-breadcrumb-item><span @click="$router.go(-1)" style="font-weight: bold;cursor: pointer;">KOL专家列表</span></el-breadcrumb-item>
<el-breadcrumb-item>KOL专家详情</el-breadcrumb-item>
</el-breadcrumb>
<el-row class="projectTabadd" style="margin-top: 20px" v-if="partnerInfo">
<el-tabs v-model="activeNames">
<el-tab-pane label="详细资料" name="first" style="position: relative;">
<div style="margin: 10px 30px 0;">
<el-row style="margin: 10px 30px">
<p v-if="partnerInfo.checkState==0" style="padding: 10px;background: rgb(255, 239, 239);border: 1px solid rgb(255, 93, 93);" :style="{color:partnerInfo.checkState==0?'#FF5D5D':partnerInfo.checkState==1?'#0ABB87 ':'unset'}">{{partnerInfo.checkState==0?'您提交的KOL专家未通过验收,请修改后重新提交。驳回理由:'+partnerInfo.checkDesc:partnerInfo.checkState==1?'已验收通过':''}}</p>
<p v-if="partnerInfo.checkState==1" style="padding: 10px;background: #f0f9eb;border: 1px solid #0ABB87;" :style="{color:partnerInfo.checkState==0?'#FF5D5D':partnerInfo.checkState==1?'#0ABB87 ':'unset'}">{{partnerInfo.checkState==0?'您提交的KOL专家未通过验收,请修改后重新提交。驳回理由:'+partnerInfo.checkDesc:partnerInfo.checkState==1?'已验收通过':''}}</p>
</el-row>
<el-form :inline="true" label-width="180px" :model="partnerInfo" class="contnetform">
<el-form-item label="账号/联系方式:" style="width: 100%;">
<span>{{partnerInfo.empAccount}}</span>
</el-form-item>
<el-form-item label="专家姓名:" style="width: 100%;">
<span>{{partnerInfo.empName}}</span>
</el-form-item>
<el-form-item label="性别:" style="width: 100%;">
<span>{{partnerInfo.empSex==0?'男':partnerInfo.empSex==1?'女':''}}</span>
</el-form-item>
<el-form-item label="专家title:" style="width: 100%;">
<span>{{partnerInfo.professorTitle}}</span>
</el-form-item>
<el-form-item label="行业方向:" style="width: 100%;">
<span v-for="(item,index) in partnerInfo.dataNameList">
{{item}}
<i> {{partnerInfo.dataNameList.length-1 == index ? '' : ' 、 '}} </i>
</span>
</el-form-item>
<el-form-item label="专家介绍:" style="width: 100%;">
<span>{{partnerInfo.professorIntroduction}}</span>
</el-form-item>
<el-form-item label="工作单位:" style="width: 100%;">
<span>{{partnerInfo.professorWork}}</span>
</el-form-item>
<el-form-item label="是否与TB对接人沟通:" style="width: 100%;">
<span>{{partnerInfo.contactStaff==0?'是':partnerInfo.contactStaff==1?'否':''}}</span>
</el-form-item>
<el-form-item label="专家头像:" style="width: 100%;">
<img v-if="partnerInfo.empLogo" :src="partnerInfo.empLogo" style="border-radius: 50%; border:1px solid #DCDFF1;width: 50px;height: 50px;">
</el-form-item>
<el-form-item label="备注:" style="width: 100%;">
<span>{{partnerInfo.remarks}}</span>
</el-form-item>
<el-form-item label="专家创建时间:" style="width: 100%;">
<span>{{partnerInfo.createdTimeStr}}</span>
</el-form-item>
</el-form>
<div class="editButtonWrap">
<el-button type="primary" style="width: 150px;" size="middle" @click="handleEdit">修改</el-button>
</div>
</div>
</el-tab-pane>
</el-tabs>
<p @click="$router.go(-1)" style="position: absolute;top: 25px;right: 10px;color: #5D78FF;font-size: 14px;width: 80px;cursor: pointer;">
<i style="color: #5D78FF;font-size: 14px;padding-right: 5px" class="iconfont icon-fanhui1"></i>
{{$t('workPlace.goreturn')}}
</p>
</el-row>
</div>
</div>
</template>
<script>
import api from './api/api';
export default {
name: "kolExpertDetail",
data() {
return {
activeNames:"first",
partnerInfo:null,
currentImgList:[],
currentImg:"",
imgVisible:false
}
},
methods: {
//获取合作伙伴详情
getProfessor(){
api.getCheckProfessor(this.$route.query.id).then(response => {
if(response.code == 0) {
this.partnerInfo = response.result;
} else {
this.$message.error(response.msgCode);
}
})
.catch(error => {
console.log("提交出错");
return false;
});
},
handleEdit(){
this.$router.push({path:"/addkolExpert",query:{id:this.$route.query.id}})
},
},
mounted() {
this.getProfessor();
}
}
</script>
<style scoped lang="scss">
.editButtonWrap{
width: 100%;
display: flex;
justify-content: center;
padding-bottom: 30px;
}
</style>
......@@ -23,8 +23,8 @@
</template>
</el-form-item>
<el-form-item class="formcontentnk">
<el-button type="primary" @click="" style="margin-right: 20px;">导出</el-button>
<el-input placeholder="请输入关键字" v-model="searchs.content" class="input-with-select" style="width: 290px">
<el-button type="primary" @click="exportSuccess" style="margin-right: 20px;">导出</el-button>
<el-input placeholder="请输入关键字" @keyup.enter.native="searchCik" v-model="searchs.content" class="input-with-select" style="width: 290px">
<el-button slot="append" icon="el-icon-search" @click="searchCik"></el-button>
</el-input>
</el-form-item>
......@@ -32,18 +32,46 @@
<el-row>
<el-table :data="createdProfessorslist" tooltip-effect="dark" class="projectTable2">
<el-table-column type="index" label="序号" align="center"></el-table-column>
<el-table-column prop="empAccount" label="专家账号" align="center"></el-table-column>
<el-table-column prop="professorName" label="专家姓名" align="center"></el-table-column>
<el-table-column prop="empSex" label="性别" align="center">
<el-table-column prop="empAccount" label="专家账号" align="center" width="150"></el-table-column>
<el-table-column prop="professorName" label="专家姓名" align="center" width="80"></el-table-column>
<el-table-column prop="empSex" label="性别" align="center" width="60">
<template slot-scope="scope">
<p>{{scope.row.empSex==0?'男':'女'}}</p>
</template>
</el-table-column>
<el-table-column prop="professorTitle" label="专家title" align="center"></el-table-column>
<el-table-column prop="dataNameList" label="行业方向" align="center"></el-table-column>
<el-table-column prop="professorIntroduction" label="专家介绍" align="center"></el-table-column>
<el-table-column prop="professorWork" label="工作单位" align="center"></el-table-column>
<el-table-column prop="contactStaff" label="是否沟通过" align="center">
<el-table-column prop="professorTitle" label="专家title" align="center" width="120">
<template slot-scope="scope">
<el-tooltip placement="top" effect="light">
<div slot="content" style="width: 200px;">{{scope.row.professorTitle}}</div>
<p class="ellipsisFont2">{{scope.row.professorTitle}}</p>
</el-tooltip>
</template>
</el-table-column>
<el-table-column prop="dataNameList" label="行业方向" align="center" width="160">
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.dataNameList">
{{item}}
<i> {{scope.row.dataNameList.length-1 == index ? '' : ' 、 '}} </i>
</span>
</template>
</el-table-column>
<el-table-column prop="professorIntroduction" label="专家介绍" align="center" width="230">
<template slot-scope="scope">
<el-tooltip placement="top" effect="light">
<div slot="content" style="width: 200px;">{{scope.row.professorIntroduction}}</div>
<p class="ellipsisFont2">{{scope.row.professorIntroduction}}</p>
</el-tooltip>
</template>
</el-table-column>
<el-table-column prop="professorWork" label="工作单位" align="center" width="120">
<template slot-scope="scope">
<el-tooltip placement="top" effect="light">
<div slot="content" style="width: 200px;">{{scope.row.professorWork}}</div>
<p class="ellipsisFont2">{{scope.row.professorWork}}</p>
</el-tooltip>
</template>
</el-table-column>
<el-table-column prop="contactStaff" label="是否沟通过" align="center" width="120">
<template slot-scope="scope">
<p>{{scope.row.contactStaff==0?'是':scope.row.contactStaff==1?'否':'——'}}</p>
</template>
......@@ -60,7 +88,7 @@
</el-table-column>
<el-table-column :label="$t('listjson.action')" width="150" align='center' fixed="right">
<template slot-scope="scope">
<el-button type="text" @click="$router.push({path:'/addkolExpert',query:{id:scope.row.professorId}})">查看</el-button>
<el-button type="text" @click="$router.push({path:'/kolExpertDetail',query:{id:scope.row.professorId}})">查看</el-button>
<el-button type="text" @click="$router.push({path:'/addkolExpert',query:{id:scope.row.professorId}})">修改</el-button>
</template>
</el-table-column>
......@@ -158,6 +186,26 @@
return false;
});
},
// 专家导出
exportSuccess(){
let params = this.searchs;
api.exportProfessorList(params).then(response => {
let blob = new Blob([response], {
type: "application/vnd.ms-excel" //word文档为msword,pdf文档为pdf
});
let objectUrl = URL.createObjectURL(blob);
let link = document.createElement("a");
let fname = `维护的专家列表`+`.xls`; //下载文件的名字
link.href = objectUrl;
link.setAttribute("download", fname);
document.body.appendChild(link);
link.click();
})
.catch(error => {
console.log("提交出错");
return false;
});
},
},
mounted() {
this.getCreatedProfessors();
......
......@@ -54,7 +54,8 @@
<span style="margin-left: 20px">已选中{{selectedprolist.length}}个项目</span>
</el-form-item>
<el-form-item label="评选专家:" ref="professorList" style="width: 100%;">
<el-button @click="expertVisible = true">选择专家</el-button>
<!-- <el-button @click="expertVisible = true">选择专家</el-button>-->
<el-button @click="addobjfessor">选择专家</el-button>
</el-form-item>
<div style="display: flex;flex-wrap: wrap;width: 80%;margin-left: 160px">
<div v-for="(item,index) in guestlist" style="width: 150px;text-align: center;position: relative">
......@@ -190,6 +191,56 @@
</el-dialog>
<!--查找专家-->
<el-dialog title="选择专家" :visible.sync="professorVisible" :append-to-body="true" :close-on-click-modal="false" :show-close="true" @close="closeexpert" class="dialogWrap">
<el-row :gutter="20" style="margin: 0 30px">
<div style="border: 1px solid #C8CBE0;background: #F2F2F2">
<p style="font-size: 14px;border-bottom: 1px solid #C8CBE0;padding: 15px 0 15px 20px;font-weight: bold;color: #565B79">查找专家</p>
<el-input placeholder="请输入专家名称" v-model="professorexpert" style="padding: 15px;border-bottom: 1px solid #C8CBE0;" class="input-with-select">
<el-button slot="append" @click="searchexpert(1)" icon="el-icon-search"></el-button>
</el-input>
<el-table :data="searchexpertlist" class="tabledialog">
<el-table-column prop="empAccount" label="账号" align="center" width="120">
</el-table-column>
<el-table-column prop="empName" label="专家名称" align="center" width="80">
</el-table-column>
<el-table-column prop="professorTitle" label="title" align="center" width="80">
</el-table-column>
<el-table-column prop="professorIntroduction" label="专家介绍" align="center">
</el-table-column>
<el-table-column prop="empLogo" label="专家头像" align="center" width="80">
<template slot-scope="scope">
<img :src="scope.row.empLogo" style="width: 40px;height: 40px;border-radius: 50%">
</template>
</el-table-column>
<el-table-column :label="$t('listjson.action')" width="100" align='center'>
<template slot-scope="scope">
<el-button :disabled="scope.row.ischecked" plain size="mini" type="primary" @click="addprofessor(scope.row,scope.$index)">
{{scope.row.ischecked?'已添加':'添加'}}
</el-button>
</template>
</el-table-column>
<template slot="empty">
<i class="iconfont icon-hezi501 datai"></i>
<p class="datap">{{$t('listjson.notfoundyet')}}</p>
</template>
</el-table>
<div class="pagination" style="background: #ffffff;padding: 5px 0;text-align: center;">
<el-pagination
@current-change="handleCurrentChangeprofessor"
background
:page-sizes="[10, 20, 30, 40, 50]"
:page-size="10"
:current-page="professorcur_page"
layout=" total, prev, pager, next"
:total="professortotalListResult">
</el-pagination>
</div>
</div>
</el-row>
</el-dialog>
<!--新增-->
<el-dialog title="添加专家" :visible.sync="expertVisible" :append-to-body="true" :close-on-click-modal="false" @close="closeSensor" class="dialogWrap">
<el-form label-position="right" label-width="120px" :model="expertData" :rules="rules" ref="expertData" style="margin:0 100px 0 60px">
......@@ -261,6 +312,11 @@
}
};
return {
professorVisible:false,
professorexpert:'',
searchexpertlist:[],
professorcur_page: 1, //页数
professortotalListResult: 0,
activeName:'first',
rulesInfo:{
subjectTitle: [{required: true,message: '请输入专题标题',trigger: 'blur'}],
......@@ -321,6 +377,64 @@
upImg,richText,uploadCover,VueQRCodeComponent,setSpecialtwo
},
methods:{
//条件查询专家列表
searchexpert(state){
this.cur_page = 1;
this.getsearchModerator();
},
//添加单个专家
addprofessor(val,index){
this.$set(this.searchexpertlist, index, { ...this.searchexpertlist[index], ischecked: true })
this.guestlist.push(val) ;
},
//专家列表
closeexpert(){
this.modelexpert = '';
this.professorcur_page = 1;
},
//专家列表弹出
addobjfessor(){
this.professorVisible = true;
this.getsearchProfessor();
},
// 分页导航
handleCurrentChangeprofessor(val) {
this.professorcur_page = val;
this.getsearchProfessor();
},
//专家列表
getsearchProfessor(){
let params = {
pagination: {
number: this.numberData,
start: 0,
numberOfPages: this.professorcur_page || 1,
totalItemCount: 0
},
search: {empName:this.modelexpert},
sort: {}
};
api.searchProfessor(params).then(response => {
if(response.code == 0) {
this.searchexpertlist = response.result.records;
for(let i in this.searchexpertlist){
for(let t in this.guestlist){
if(this.searchexpertlist[i].professorId == this.guestlist[t].professorId){
this.$set(this.searchexpertlist, i, { ...this.searchexpertlist[i], ischecked: true })
}
}
};
this.professortotalListResult = response.result.total;
} else {
this.$message.error(response.msg);
}
})
.catch(error => {
console.log("提交出错");
return false;
});
},
handleClick(tab, event) {
if(tab.name == 'first'){
......
......@@ -74,5 +74,10 @@ export default {
return api.fetchGet( '/business/industry/selectSmallBusinessLevelOne' );
},
//专家列表
searchProfessor (params){
return api.fetchLogin('/base/professor/searchProfessor',params);
},
}
\ No newline at end of file
......@@ -57,7 +57,7 @@
</el-form-item>
<el-form-item label="选择专家:" prop="isRecommended" style="width: 100%;">
<el-button @click="addobjfessor(1)">选择专家</el-button>
<el-button @click="addVisible = true">添加专家并选择</el-button>
<!-- <el-button @click="addVisible = true">添加专家并选择</el-button>-->
</el-form-item>
<div class="gendisplay" style="display: flex;flex-wrap: wrap;width: 80%;margin-left: 180px">
<div v-for="(item,index) in formData.professorList" style="width: 150px;text-align: center;position: relative">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment