|
@@ -3,36 +3,63 @@
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
var projectInfoObj = {
|
|
var projectInfoObj = {
|
|
|
- getSubShareInfo: function (proj) {
|
|
|
|
|
- const { allowCopy, allowCooperate } = proj.shareState;
|
|
|
|
|
- let str = '(';
|
|
|
|
|
- if (allowCopy) {
|
|
|
|
|
- str += '可拷贝 ';
|
|
|
|
|
|
|
+ // 头部同时编辑的用户头像
|
|
|
|
|
+ handleAvatarList: function (users) {
|
|
|
|
|
+ const opener = projectObj.project.projectInfo.opener;
|
|
|
|
|
+ if (opener) {
|
|
|
|
|
+ users = users.filter(user => user._id !== opener._id);
|
|
|
}
|
|
}
|
|
|
- if (allowCooperate) {
|
|
|
|
|
- if (allowCopy) {
|
|
|
|
|
- str += ' ';
|
|
|
|
|
- }
|
|
|
|
|
- str += '可编辑';
|
|
|
|
|
|
|
+ const avatarListHtml = users.reduce((acc, user) => {
|
|
|
|
|
+ const avatarSpan = SHARE_TO.getAvatarHTML(user.mobile, user.real_name);
|
|
|
|
|
+ const li =
|
|
|
|
|
+ `<li data-toggle="tooltip" data-placement="bottom" title="${user.real_name}" data-original-title="${user.real_name}">
|
|
|
|
|
+ ${avatarSpan}
|
|
|
|
|
+ </li>`
|
|
|
|
|
+ return acc += li;
|
|
|
|
|
+ }, '');
|
|
|
|
|
+ $('#avatar-list').html(avatarListHtml);
|
|
|
|
|
+ $('#avatar-list [data-toggle="tooltip"]').tooltip();
|
|
|
|
|
+ },
|
|
|
|
|
+ getReceiveInfo: function (projectReadOnly, projectCooperate, owner) {
|
|
|
|
|
+ if (!projectReadOnly && !projectCooperate) {
|
|
|
|
|
+ return '';
|
|
|
}
|
|
}
|
|
|
- str += ')';
|
|
|
|
|
- return str === '()' ? '' : str;
|
|
|
|
|
|
|
+ const action = projectCooperate ? '可编辑' : '只能查看';
|
|
|
|
|
+ const ownerName = owner && owner.real_name || '';
|
|
|
|
|
+ return `
|
|
|
|
|
+ <span class="pl-2" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="来自 ${ownerName} 的分享">
|
|
|
|
|
+ <a href="javascript:;" class="btn btn-xs btn-primary default-cursor"><i class="fa fa-share-alt"></i> ${action}</a>
|
|
|
|
|
+ </span>`;
|
|
|
|
|
+ },
|
|
|
|
|
+ getShareButton: function (projectReadOnly, projectCooperate, shareTip) {
|
|
|
|
|
+ if (projectReadOnly || projectCooperate) {
|
|
|
|
|
+ return '';
|
|
|
|
|
+ }
|
|
|
|
|
+ return `
|
|
|
|
|
+ <span id="share-tip" class="ml-2" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="${shareTip}">
|
|
|
|
|
+ <a id="init-share" href="javascript:;" class="btn btn-xs btn-primary"><i class="fa fa-share-alt"></i> 分享</a>
|
|
|
|
|
+ </span>`;
|
|
|
},
|
|
},
|
|
|
getFullPathHtml: function (proj) {
|
|
getFullPathHtml: function (proj) {
|
|
|
let fullPath = [], i, pm = '<span class="text-truncate"><a href="/pm">项目管理</a></span>', angleRight = '<span class="text-truncate"><i class="fa fa-angle-right fa-fw"></i></span>';
|
|
let fullPath = [], i, pm = '<span class="text-truncate"><a href="/pm">项目管理</a></span>', angleRight = '<span class="text-truncate"><i class="fa fa-angle-right fa-fw"></i></span>';
|
|
|
if (proj) {
|
|
if (proj) {
|
|
|
let pathArr = proj.fullPath;
|
|
let pathArr = proj.fullPath;
|
|
|
- let projectName = pathArr[pathArr.length -2] || '',
|
|
|
|
|
- folderName = pathArr[pathArr.length -3] || '';
|
|
|
|
|
- const subShareInfo = projectInfoObj.getSubShareInfo(proj);
|
|
|
|
|
- const receiveTip = `<span class="alert alert-success py-0 px-2 m-0" id="share-info"><i class="fa fa-share-alt"></i>来自 ${proj.owner && proj.owner.real_name || ''} 的分享${subShareInfo}</span>`;
|
|
|
|
|
|
|
+ let projectName = pathArr[pathArr.length - 2] || '',
|
|
|
|
|
+ folderName = pathArr[pathArr.length - 3] || '';
|
|
|
|
|
+ const receiveInfo = this.getReceiveInfo(projectReadOnly, projectCooperate, proj.owner);
|
|
|
|
|
+ const shareButton = this.getShareButton(projectReadOnly, projectCooperate, proj.shareTip);
|
|
|
let newHtml = ` <span data-toggle="tooltip" data-placement="bottom" data-original-title="${folderName}"><i class="fa fa-folder-open-o"></i>...</span>
|
|
let newHtml = ` <span data-toggle="tooltip" data-placement="bottom" data-original-title="${folderName}"><i class="fa fa-folder-open-o"></i>...</span>
|
|
|
<span class="text-muted px-1">\</span>
|
|
<span class="text-muted px-1">\</span>
|
|
|
<span data-toggle="tooltip" data-placement="bottom" data-original-title="${projectName}"><i class="fa fa-cubes"></i>...</span>
|
|
<span data-toggle="tooltip" data-placement="bottom" data-original-title="${projectName}"><i class="fa fa-cubes"></i>...</span>
|
|
|
<span class="text-muted px-1">\</span>
|
|
<span class="text-muted px-1">\</span>
|
|
|
- <span><i class="fa fa-sticky-note-o"></i></span>
|
|
|
|
|
|
|
+ <span><i class="fa fa-sticky-note-o"></i></span>
|
|
|
<span class="text-truncate" data-toggle="tooltip" data-placement="bottom" data-original-title="${proj.name}"> ${proj.name}</span>
|
|
<span class="text-truncate" data-toggle="tooltip" data-placement="bottom" data-original-title="${proj.name}"> ${proj.name}</span>
|
|
|
- ${projectReadOnly || projectCooperate ? receiveTip : `<span id="share-tip" class="ml-2" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="${proj.shareTip}"><a id="init-share" href="javascript:;" class="btn btn-xs btn-primary"><i class="fa fa-share-alt"></i> 分享</a></span>`}`;
|
|
|
|
|
|
|
+ ${receiveInfo}${shareButton}
|
|
|
|
|
+ <span>
|
|
|
|
|
+ <ul class="avatar-list mb-0" id="avatar-list">
|
|
|
|
|
+ </ul>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ `;
|
|
|
fullPath.push(newHtml);
|
|
fullPath.push(newHtml);
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -44,7 +71,7 @@ var projectInfoObj = {
|
|
|
if (data.property.valuationType === 'ration') {
|
|
if (data.property.valuationType === 'ration') {
|
|
|
$('#importSpan').show();
|
|
$('#importSpan').show();
|
|
|
}
|
|
}
|
|
|
- if(!data.engineeringInfo.billsGuidance_lib || data.engineeringInfo.billsGuidance_lib.length === 0){
|
|
|
|
|
|
|
+ if (!data.engineeringInfo.billsGuidance_lib || data.engineeringInfo.billsGuidance_lib.length === 0) {
|
|
|
$('#stdBillsGuidanceTab').addClass('disabled');
|
|
$('#stdBillsGuidanceTab').addClass('disabled');
|
|
|
} else {
|
|
} else {
|
|
|
//打开预算项目时,右侧“清单规则”显示为“项目表”,打开工程量清单项目时,右侧“清单规则”显示为“清单范本”。
|
|
//打开预算项目时,右侧“清单规则”显示为“项目表”,打开工程量清单项目时,右侧“清单规则”显示为“清单范本”。
|
|
@@ -60,9 +87,9 @@ var projectInfoObj = {
|
|
|
$('#init-share').click(() => SHARE_TO.initModal(projectObj.project.ID()));
|
|
$('#init-share').click(() => SHARE_TO.initModal(projectObj.project.ID()));
|
|
|
SHARE_TO.handleEventListener();
|
|
SHARE_TO.handleEventListener();
|
|
|
$("[data-toggle='tooltip']").tooltip();
|
|
$("[data-toggle='tooltip']").tooltip();
|
|
|
- if (data.property.valuationType == 'bill'){
|
|
|
|
|
|
|
+ if (data.property.valuationType == 'bill') {
|
|
|
$("#tab_tender_price").css('display', 'none');
|
|
$("#tab_tender_price").css('display', 'none');
|
|
|
- } else{
|
|
|
|
|
|
|
+ } else {
|
|
|
$("#about-calc").css('display', 'none');
|
|
$("#about-calc").css('display', 'none');
|
|
|
};
|
|
};
|
|
|
}
|
|
}
|