You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
680 lines
26 KiB
Plaintext
680 lines
26 KiB
Plaintext
11 months ago
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta charset="utf-8" />
|
||
|
<title></title>
|
||
|
<link href="../../WF/Portal/layui/css/layui.css" rel="stylesheet" />
|
||
|
<script type="text/javascript" src="../../WF/Scripts/bootstrap/js/jquery.min.js"></script>
|
||
|
<script type="text/javascript" src="../../WF/Scripts/bootstrap/js/bootstrap.min.js"></script>
|
||
|
<script src="../../WF/Scripts/QueryString.js" type="text/javascript"></script>
|
||
|
<script src="../../WF/Scripts/config.js" type="text/javascript"></script>
|
||
|
<script src="../../WF/Comm/Gener.js" type="text/javascript"></script>
|
||
|
<script src="../layuiadmin/layui/lay/modules/layer.js"></script>
|
||
|
<script src="../../WF/Scripts/layui/LayuiDialog.js" type="text/javascript"></script>
|
||
|
<script src="../../WF/Portal/js/vue/vue.js" type="text/javascript"></script>
|
||
|
<script src="../../WF/Scripts/element/element.js"></script>
|
||
|
<link rel="stylesheet" href="../../WF/Scripts/element/element.css">
|
||
|
|
||
|
<style>
|
||
|
html,body {
|
||
|
padding:10px;
|
||
|
height:100%;
|
||
|
box-sizing:border-box;
|
||
|
}
|
||
|
|
||
|
.taskWindows {
|
||
|
width: 100%;
|
||
|
height: 100%;
|
||
|
background: #fff;
|
||
|
position: fixed;
|
||
|
top: 0px;
|
||
|
z-index:9;
|
||
|
}
|
||
|
|
||
|
.taskForm {
|
||
|
width: 80%;
|
||
|
box-shadow: 0px 0px 8px #eee;
|
||
|
height: 80%;
|
||
|
margin: 5% auto;
|
||
|
padding: 15px;
|
||
|
border-radius: 5px;
|
||
|
}
|
||
|
.pull-right {
|
||
|
float: right;
|
||
|
}
|
||
|
.KnowBoxs, .KnowBoxAdd {
|
||
|
background: #f7f7f7;
|
||
|
border-radius: 5px;
|
||
|
border: 1px solid #e6e6e6;
|
||
|
height: 120px;
|
||
|
overflow:hidden;
|
||
|
box-sizing: border-box;
|
||
|
cursor: pointer;
|
||
|
width: 100%;
|
||
|
position:relative
|
||
|
}
|
||
|
.KnowBoxs img{ width:100%;
|
||
|
opacity:1
|
||
|
}
|
||
|
.KnowBoxs .boxTop {
|
||
|
position: absolute;
|
||
|
z-index: 1;
|
||
|
width: 100%;
|
||
|
color: #fff;
|
||
|
padding: 10px 10px 0px;
|
||
|
box-sizing: border-box;
|
||
|
background-image: linear-gradient( 180deg,rgba(0,0,0,.5),transparent);
|
||
|
height:100%;
|
||
|
}
|
||
|
.boxTop>.title {
|
||
|
font-weight:bold;
|
||
|
|
||
|
}
|
||
|
.KnowBoxAdd {
|
||
|
text-align: center;
|
||
|
padding-top: 11%;
|
||
|
font-size: 20px;
|
||
|
}
|
||
|
.KnowBoxAdd:hover {
|
||
|
background:#e5f3fe;
|
||
|
color:#5196d8;
|
||
|
}
|
||
|
.KnowBoxAdd i {
|
||
|
font-weight:bold}
|
||
|
.KnowBoxAdd span {
|
||
|
display: block;
|
||
|
font-size: 14px;
|
||
|
}
|
||
|
.KnowImg-box img {
|
||
|
width: 100%;
|
||
|
border-radius: 5px;
|
||
|
margin-right: 10px;
|
||
|
}
|
||
|
.KnowImg-Bigs {
|
||
|
width: 120px;
|
||
|
float: left;
|
||
|
margin-right: 10px;
|
||
|
}
|
||
|
.KnowImg-Small {
|
||
|
float: left;
|
||
|
}
|
||
|
.KnowImg-Small li {
|
||
|
width: 40px;
|
||
|
float: left;
|
||
|
margin-right: 10px;
|
||
|
cursor:pointer
|
||
|
}
|
||
|
.nyellow i {
|
||
|
color: #ffd800 !important
|
||
|
}
|
||
|
.know{ border:1px solid #e6e6e6; background:#fff; padding-bottom:10px; height:100%;}
|
||
|
|
||
|
.know-tab {
|
||
|
padding:0px 15px;
|
||
|
border-bottom: 1px solid #e6e6e6;
|
||
|
}
|
||
|
.know-tab span {
|
||
|
line-height: 40px;
|
||
|
display:inline-block;
|
||
|
margin-right:15px;
|
||
|
padding:0px 10px;
|
||
|
cursor:pointer
|
||
|
}
|
||
|
.tabActive {
|
||
|
border-bottom: 2px solid #2362fb;
|
||
|
color: #2362fb;
|
||
|
}
|
||
|
.know-box{ padding:0px 10px;}
|
||
|
.know-box .layui-col-sm2{ min-width:260px;}
|
||
|
.TaskDepts {
|
||
|
width: 300px;
|
||
|
position: absolute;
|
||
|
z-index: 999;
|
||
|
background: #fff;
|
||
|
border: 1px solid #e6e6e6;
|
||
|
border-radius: 5px;
|
||
|
box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);
|
||
|
}
|
||
|
|
||
|
.TaskDepts .TaskDepts-title {
|
||
|
border-bottom: 1px solid #e6e6e6;
|
||
|
padding: 10px 15px;
|
||
|
}
|
||
|
|
||
|
.TaskDepts .TaskDepts-box {
|
||
|
padding: 10px 15px;
|
||
|
height: 248px;
|
||
|
overflow: auto
|
||
|
}
|
||
|
.taskForm > .tf-title {
|
||
|
padding: 10px 0px;
|
||
|
}
|
||
|
|
||
|
.taskForm > .tf-title > .title {
|
||
|
font-size: 16px;
|
||
|
font-weight: bold
|
||
|
}
|
||
|
|
||
|
.tf-colse {
|
||
|
cursor: pointer;
|
||
|
font-size: 16px;
|
||
|
font-weight: bold
|
||
|
}
|
||
|
|
||
|
.tf-colse:hover {
|
||
|
color: #1E9FFF;
|
||
|
}
|
||
|
|
||
|
.Depts li {
|
||
|
line-height: 26px;
|
||
|
}
|
||
|
|
||
|
.Depts li .Depts-Emps {
|
||
|
padding-left: 20px
|
||
|
}
|
||
|
.Empsdata-list {
|
||
|
display: inline-block;
|
||
|
background: #cce7fe;
|
||
|
padding: 2px 5px 4px 15px;
|
||
|
margin: 9px 5px 0px;
|
||
|
cursor: pointer
|
||
|
}
|
||
|
|
||
|
.Empsdata-list sup {
|
||
|
opacity: 0;
|
||
|
}
|
||
|
|
||
|
.Empsdata-list:hover sup {
|
||
|
opacity: 1;
|
||
|
color: #f94e4e;
|
||
|
|
||
|
}
|
||
|
el-tree-node__expand-icon {
|
||
|
color: #C0C4CC !important;
|
||
|
cursor: default;
|
||
|
}
|
||
|
</style>
|
||
|
</head>
|
||
|
<body>
|
||
|
<div class="know" id="know-Default">
|
||
|
<div class="know-tab" style="margin-bottom:15px;">
|
||
|
|
||
|
<span @click.stop="Tabnum=1,Refresh()" :class="{tabActive:Tabnum==1}">全部</span>
|
||
|
<span @click.stop="Tabnum=2,Refresh()" :class="{tabActive:Tabnum==2}">我关注的</span>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
<div class="know-box">
|
||
|
<div v-if="Tabnum==1">
|
||
|
<div class="layui-row layui-col-space10">
|
||
|
<div class="layui-col-sm2" v-for="(item,index) in knowList">
|
||
|
<div class="KnowBoxs" @click.stop="KnowCateShow(item.No)">
|
||
|
<div class="boxTop">
|
||
|
<div class="pull-right">
|
||
|
<div :class="item.gz ? 'tt nyellow':'tt'" :id="'gz'+item.No">
|
||
|
<i class="layui-icon layui-icon-star-fill" @click.stop="StarType(item.gz,item.No,index)"></i>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="title">{{item.Title}}</div>
|
||
|
</div>
|
||
|
<div class="imgsrc">
|
||
|
<img :src="item.ImgUrl" />
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="layui-col-sm2">
|
||
|
<div class="KnowBoxAdd" @click.stop="Addshow=true"><i class="layui-icon layui-icon-addition"></i><span>添加知识点</span></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div v-if="Tabnum==2">
|
||
|
<div class="layui-row layui-col-space10">
|
||
|
<div class="layui-col-sm2" v-for="(item,index) in myknowList">
|
||
|
<div class="KnowBoxs" @click.stop="KnowCateShow(item.No)">
|
||
|
<div class="boxTop">
|
||
|
<div class="pull-right">
|
||
|
<div :class="item.gz ? 'tt nyellow':'tt'" :id="'gz'+item.No">
|
||
|
<i class="layui-icon layui-icon-star-fill" @click.stop="myStarType(item.gz,item.No,index)"></i>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="title">{{item.Title}}</div>
|
||
|
</div>
|
||
|
<div class="imgsrc">
|
||
|
<img :src="item.ImgUrl" />
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="layui-col-sm2">
|
||
|
<div class="KnowBoxAdd" @click.stop="Addshow=true"><i class="layui-icon layui-icon-addition"></i><span>添加知识点</span></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="taskWindows" v-if="Addshow" @click.stop="Deptshow=false">
|
||
|
<div class="taskForm">
|
||
|
<div class="tf-title">
|
||
|
<span class="pull-right tf-colse" @click.stop="Addshow=false,Deptshow=false"><i class="layui-icon layui-icon-close"></i></span>
|
||
|
<div class="title">新建知识库</div>
|
||
|
</div>
|
||
|
<form class="layui-form">
|
||
|
<div class="layui-form-item">
|
||
|
<label class="layui-form-label">知识库名称</label>
|
||
|
<div class="layui-input-block">
|
||
|
<input type="text" name="TB_Title" id="TB_Title" autocomplete="off" placeholder="请输入标题" class="layui-input">
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="layui-form-item" style="height:auto">
|
||
|
<label class="layui-form-label">知识库封面</label>
|
||
|
<div class="layui-input-block">
|
||
|
<div class="KnowImg-box">
|
||
|
<div class="KnowImg-Bigs"><img :src="ImgUrl" /></div>
|
||
|
<div class="KnowImg-Small">
|
||
|
<ul>
|
||
|
<li v-for="(imgt,im) in KnowImgData">
|
||
|
<img :src="imgt.imgurl" :title="imgt.title" @click.stop="ChooseImg(imgt.imgurl)" />
|
||
|
</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
</div>
|
||
|
<input id="TB_ImgUrl" name="TB_ImgUrl" type="hidden" :value="ImgUrl" />
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="layui-form-item">
|
||
|
<label class="layui-form-label">知识库描述</label>
|
||
|
<div class="layui-input-block">
|
||
|
<textarea placeholder="请输入内容" name="TB_Docs" id="TB_Docs" class="layui-textarea"></textarea>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="layui-form-item">
|
||
|
<label class="layui-form-label">可见范围</label>
|
||
|
<div class="layui-input-block" style="width:300px;">
|
||
|
<select name="TB_KnowledgeSta" id="TB_KnowledgeSta" style="display:block" class="layui-input">
|
||
|
<option value="2">公开:企业所有成员都可以看见此项目</option>
|
||
|
<option value="1">私有:只有加入的成员才能看见此项目</option>
|
||
|
|
||
|
</select>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="layui-form-item">
|
||
|
<div class="layui-inline">
|
||
|
<label class="layui-form-label">参与人</label>
|
||
|
<div class="layui-input-inline" style="width:auto;">
|
||
|
<div class="Empsdata-list" v-for="(citem,lk) in EmpsData">
|
||
|
{{citem.name}}
|
||
|
<sup @click.stop="DelEmps(citem.no,citem.name,lk)">X</sup>
|
||
|
</div>
|
||
|
<div class="Empsdata-list">
|
||
|
<div id="TB_RefEmpsNo" @click.stop="selectRefShow($event)" class="selectRefShow" ref="RefBox">+人员</div>
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="layui-form-item">
|
||
|
<div class="layui-input-block">
|
||
|
<span type="submit" class="layui-btn layui-btn-normal" @click.stop="SaveKnow()">保存</span>
|
||
|
<button @click.stop="Addshow=false" class="layui-btn layui-btn-primary">取消</button>
|
||
|
</div>
|
||
|
</div>
|
||
|
</form>
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
<div class="TaskDepts" v-if="Deptshow" :style="{'left':DeptshowLeft,'top':Deptshowtop}">
|
||
|
<div class="TaskDepts-title">人员</div>
|
||
|
<div class="TaskDepts-box">
|
||
|
<div class="TaskDepts-input">
|
||
|
<el-autocomplete style="width:100%"
|
||
|
v-model="empKey"
|
||
|
:fetch-suggestions="querySearchAsync"
|
||
|
placeholder="请输入内容"
|
||
|
@select="handleSelect"
|
||
|
>
|
||
|
</el-autocomplete>
|
||
|
</div>
|
||
|
<div class="Depts">
|
||
|
<el-tree
|
||
|
:props="props"
|
||
|
:load="loadNode"
|
||
|
node-key="No"
|
||
|
lazy
|
||
|
:check-strictly="true"
|
||
|
show-checkbox
|
||
|
:default-checked-keys="defaultChecks"
|
||
|
@check="handleCheck"
|
||
|
ref="tree"
|
||
|
></el-tree>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<script>
|
||
|
var editPK = '';
|
||
|
new Vue({
|
||
|
el: '#know-Default',
|
||
|
data: {
|
||
|
list: [],
|
||
|
ens: [],
|
||
|
Addshow: false,
|
||
|
Deptshow: false,
|
||
|
Tabnum:1,
|
||
|
knowList: [],
|
||
|
myknowList: [],
|
||
|
IsStar:0,
|
||
|
ImgUrl: 'Img/1.png',
|
||
|
KnowImgData: [{ 'id': 1, 'imgurl': 'Img/1.png' }, { 'id': 2, 'imgurl': 'Img/2.png' }, { 'id': 3, 'imgurl': 'Img/3.png' }, { 'id': 4, 'imgurl': 'Img/4.png' }, { 'id': 5, 'imgurl': 'Img/5.png' }, { 'id': 6, 'imgurl': 'Img/7.png' }, { 'id': 8, 'imgurl': 'Img/8.png' }],
|
||
|
DeptshowLeft: 0,
|
||
|
Deptshowtop: 0,
|
||
|
DeptsData: [],//人员信息
|
||
|
DeptsDatas: [],
|
||
|
EmpsData: [],
|
||
|
EmpsRaw:'',
|
||
|
webUser:{},
|
||
|
defaultChecks:[],
|
||
|
props: {
|
||
|
children: "children",
|
||
|
label: "Name",
|
||
|
},
|
||
|
empKey:"",
|
||
|
},
|
||
|
methods: {
|
||
|
SaveKnow: function () {
|
||
|
let Empsstr = ''
|
||
|
for (let s = 0; s < this.EmpsData.length; s++) {
|
||
|
let de = this.EmpsData[s]
|
||
|
Empsstr += de.no+'@'+de.name+';'
|
||
|
}
|
||
|
let en = new Entity("BP.CCOA.KnowledgeManagement.Knowledge");
|
||
|
en.CopyForm();
|
||
|
en.Emps = Empsstr;
|
||
|
en.Insert();
|
||
|
layer.msg('添加成功', { time: 1000 }, function () {
|
||
|
location.href = "Knowledge.htm?No=" + en.No;
|
||
|
return;
|
||
|
})
|
||
|
},
|
||
|
|
||
|
ChooseImg: function (imgurl) {
|
||
|
this.ImgUrl = imgurl
|
||
|
},
|
||
|
KnowCateShow: function (no) {
|
||
|
location.href = "Knowledge.htm?no=" + no
|
||
|
},
|
||
|
StarType: function (status,no,index) {
|
||
|
let en = new Entity("BP.CCOA.KnowledgeManagement.Knowledge", no);
|
||
|
en.Retrieve();
|
||
|
let Foucs=en.Foucs
|
||
|
if (status) {
|
||
|
Foucs = Foucs.replace(this.webUser.Name + ';', "")
|
||
|
$('#gz' + no).removeClass('nyellow')
|
||
|
this.knowList[index].gz = 0
|
||
|
} else {
|
||
|
Foucs += this.webUser.Name+';'
|
||
|
$('#gz' + no).addClass('nyellow')
|
||
|
this.knowList[index].gz = 1
|
||
|
}
|
||
|
en.Foucs = Foucs; // 0=未完成, 1=完成.
|
||
|
en.Update();
|
||
|
},
|
||
|
myStarType: function (status, no, index) {
|
||
|
let en = new Entity("BP.CCOA.KnowledgeManagement.Knowledge", no);
|
||
|
en.Retrieve();
|
||
|
let Foucs = en.Foucs
|
||
|
if (status) {
|
||
|
Foucs = Foucs.replace(this.webUser.Name + ';', "")
|
||
|
this.myknowList.splice(index, 1)
|
||
|
}
|
||
|
en.Foucs = Foucs; // 0=未完成, 1=完成.
|
||
|
en.Update();
|
||
|
},
|
||
|
selectRefShow: function (e) {
|
||
|
this.Deptshow = true;
|
||
|
const $circle = this.$refs.RefBox
|
||
|
this.DeptshowLeft = this.getParentLeft($circle) + 'px'
|
||
|
this.Deptshowtop = this.getParentTop($circle) + 30 + 'px'
|
||
|
},
|
||
|
DelEmps: function (no, name) {
|
||
|
var _this = this
|
||
|
this.EmpsRaw = this.EmpsRaw.replace(name + ';', "")
|
||
|
var newArr = new Array();
|
||
|
for (var i = 0; i < this.EmpsData.length; i++) {
|
||
|
var j = this.EmpsData[i];
|
||
|
if (j.no != no) {
|
||
|
newArr.push(j);
|
||
|
}
|
||
|
}
|
||
|
console.log(newArr)
|
||
|
this.EmpsData = newArr
|
||
|
},
|
||
|
/**
|
||
|
* 获取顶部div的距离
|
||
|
*/
|
||
|
getParentTop: function (e) {
|
||
|
var offset = e.offsetTop
|
||
|
if (e.offsetParent != null) {
|
||
|
offset += this.getParentTop(e.offsetParent)
|
||
|
}
|
||
|
return offset
|
||
|
},
|
||
|
/**
|
||
|
* 获取左侧div的距离
|
||
|
*/
|
||
|
getParentLeft(e) {
|
||
|
var offset = e.offsetLeft
|
||
|
if (e.offsetParent != null) {
|
||
|
offset += this.getParentLeft(e.offsetParent)
|
||
|
}
|
||
|
return offset
|
||
|
},
|
||
|
Refresh: function () {
|
||
|
var ens = new Entities("BP.CCOA.KnowledgeManagement.Knowledges");
|
||
|
ens = ens.DoMethodReturnJSON("Default_Init");
|
||
|
var webUser = new WebUser();
|
||
|
var Empsstr = webUser.No + '@' + webUser.Name + ';';
|
||
|
//权限控制
|
||
|
var powerKnow = [];
|
||
|
for (var j = 0; j < ens.length; j++){
|
||
|
var en = ens[j];
|
||
|
var EmpsData = en.Emps;
|
||
|
if(en.KnowledgeSta == 2){
|
||
|
powerKnow.push(en);
|
||
|
}else {
|
||
|
if(EmpsData.indexOf(Empsstr) != -1){
|
||
|
powerKnow.push(en);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
//判断是否关注
|
||
|
var myknow = []
|
||
|
for (i = 0; i < powerKnow.length; i++) {
|
||
|
var en = powerKnow[i];
|
||
|
var FoucsDate = en.Foucs
|
||
|
if (FoucsDate.indexOf(webUser.Name)) {
|
||
|
en.gz = 0
|
||
|
} else {
|
||
|
en.gz = 1
|
||
|
myknow.push(en)
|
||
|
}
|
||
|
|
||
|
}
|
||
|
this.knowList = powerKnow;
|
||
|
this.myknowList = myknow;
|
||
|
},
|
||
|
/**
|
||
|
* 人员查询
|
||
|
* @param queryString
|
||
|
* @param cb
|
||
|
*/
|
||
|
querySearchAsync(queryString, cb){
|
||
|
if(queryString === ''){
|
||
|
cb([]);
|
||
|
return;
|
||
|
}
|
||
|
let ensD = new Entities("BP.CCOA.KnowledgeManagement.Knowledges");
|
||
|
let data = ensD.DoMethodReturnString("SelectEmpByKey",queryString);
|
||
|
if(data.indexOf("err@")!=-1){
|
||
|
layer.alert(data);
|
||
|
cb([]);
|
||
|
return;
|
||
|
}
|
||
|
data = JSON.parse(data);
|
||
|
data = data.map(item => {
|
||
|
if(!!item.NameOfPath)
|
||
|
return { No: item.No, Name: item.Name, value: item.NameOfPath.replace(/\\/g, '-') + '-' + item.Name }
|
||
|
else
|
||
|
return { No: item.No, Name: item.Name, value: item.DeptName + '-' + item.Name }
|
||
|
});
|
||
|
cb(data);
|
||
|
},
|
||
|
/**
|
||
|
* 人员自动完成选择人员
|
||
|
* @param item
|
||
|
*/
|
||
|
handleSelect(item) {
|
||
|
if(this.EmpsRaw.indexOf(item.No)==-1){
|
||
|
this.EmpsRaw += item.No + ';'
|
||
|
this.EmpsData.push({ 'no': item.No, 'name': item.Name });
|
||
|
this.defaultChecks.push(item.No);
|
||
|
}
|
||
|
this.empKey='';
|
||
|
const $circle = this.$refs.RefBox
|
||
|
this.DeptshowLeft = this.getParentLeft($circle) + 'px'
|
||
|
this.Deptshowtop = this.getParentTop($circle) + 30 + 'px'
|
||
|
},
|
||
|
//懒加载部门人员树
|
||
|
loadNode(node, resolve) {
|
||
|
let deptNo ="";
|
||
|
if (typeof node.data == "undefined") {
|
||
|
if (this.webUser.CCBPMRunModel == 0)
|
||
|
deptNo = this.webUser.FK_Dept;
|
||
|
else
|
||
|
deptNo = this.webUser.OrgNo;
|
||
|
}
|
||
|
else
|
||
|
deptNo = node.data.No;
|
||
|
if (node.level === 0){
|
||
|
let dept = new Entity("BP.Port.Dept",deptNo);
|
||
|
return resolve([{
|
||
|
No:dept.No,
|
||
|
Name:dept.Name,
|
||
|
ParentNo:dept.ParentNo,
|
||
|
leaf:true,
|
||
|
disabled:true
|
||
|
}])
|
||
|
}
|
||
|
let ensD = new Entities("BP.CCOA.KnowledgeManagement.Knowledges");
|
||
|
let data = ensD.DoMethodReturnString("Selecter_DeptEmps",deptNo)
|
||
|
if (data.indexOf('err@') == 0) {
|
||
|
layer.alert(data);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
data = JSON.parse(data);
|
||
|
let treeData=[];
|
||
|
data.Depts.forEach(dept=>{
|
||
|
treeData.push({
|
||
|
No:dept.No,
|
||
|
Name:dept.Name,
|
||
|
ParentNo:dept.ParentNo,
|
||
|
leaf:true,
|
||
|
disabled:true
|
||
|
})
|
||
|
})
|
||
|
data.Emps.forEach(emp=>{
|
||
|
treeData.push({
|
||
|
No:emp.No,
|
||
|
Name:emp.Name,
|
||
|
leaf:false,
|
||
|
disabled:false
|
||
|
})
|
||
|
})
|
||
|
resolve(treeData);
|
||
|
return;
|
||
|
|
||
|
},
|
||
|
/**
|
||
|
* 人员部门树的人员选择
|
||
|
* @param data
|
||
|
* @param checked
|
||
|
*/
|
||
|
handleCheck(data, checked){
|
||
|
let checkedKeys = checked.checkedKeys;
|
||
|
let arr = checkedKeys.filter(item=>item==data.No);
|
||
|
//存在
|
||
|
if(arr.length>0){
|
||
|
if(this.EmpsRaw.indexOf(data.No)==-1){
|
||
|
this.EmpsRaw += data.No + ';'
|
||
|
this.EmpsData.push({ 'no': data.No, 'name': data.Name });
|
||
|
this.defaultChecks.push(data.No);
|
||
|
}
|
||
|
}
|
||
|
//取消
|
||
|
if(arr.length==0){
|
||
|
if(this.EmpsRaw.indexOf(data.No)==-1)
|
||
|
this.DelEmps(data.No,data.Name);
|
||
|
let idx = this.defaultChecks.findIndex(function(no){
|
||
|
no = data.No;
|
||
|
})
|
||
|
if(idx!=-1)
|
||
|
this.defaultChecks.slice(idx,1);
|
||
|
}
|
||
|
const $circle = this.$refs.RefBox
|
||
|
this.DeptshowLeft = this.getParentLeft($circle) + 'px'
|
||
|
this.Deptshowtop = this.getParentTop($circle) + 30 + 'px'
|
||
|
},
|
||
|
},
|
||
|
mounted: function () {
|
||
|
this.webUser = new WebUser();
|
||
|
let ens = new Entities("BP.CCOA.KnowledgeManagement.Knowledges");
|
||
|
ens = ens.DoMethodReturnJSON("Default_Init");
|
||
|
|
||
|
let Empsstr = this.webUser.No + '@' + this.webUser.Name + ';';
|
||
|
//权限控制
|
||
|
let powerKnow = [];
|
||
|
for (let j = 0; j < ens.length; j++){
|
||
|
let en = ens[j];
|
||
|
let EmpsData = en.Emps;
|
||
|
if(en.KnowledgeSta == 2){
|
||
|
powerKnow.push(en);
|
||
|
}else {
|
||
|
if(EmpsData.indexOf(Empsstr) != -1){
|
||
|
powerKnow.push(en);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
//判断是否关注
|
||
|
let myknow=[]
|
||
|
for (let i = 0; i < powerKnow.length; i++) {
|
||
|
let en = powerKnow[i];
|
||
|
let FoucsDate = en.Foucs
|
||
|
if (FoucsDate.indexOf(this.webUser.Name)) {
|
||
|
en.gz=0
|
||
|
} else {
|
||
|
en.gz = 1
|
||
|
myknow.push(en)
|
||
|
}
|
||
|
|
||
|
}
|
||
|
this.knowList = powerKnow;
|
||
|
this.myknowList = myknow;
|
||
|
this.EmpsRaw = this.webUser.No+';'
|
||
|
this.EmpsData.push({ 'no': this.webUser.No, 'name': this.webUser.Name });
|
||
|
this.defaultChecks.push(this.webUser.No);
|
||
|
}
|
||
|
|
||
|
});
|
||
|
|
||
|
</script>
|
||
|
|
||
|
</body>
|
||
|
</html>
|