@@ -12,7 +12,7 @@ export async function queryProjectsByUserId(userId){ | |||
* 项目详情 | |||
*/ | |||
export async function QueryProjectInfoByProjId(projId){ | |||
const res = await fetchApi('project/QueryProjectInfoByProjId',{projId:projId}) | |||
const res = await fetchApi('project/queryProjectInfoByProjId',{projId:projId}) | |||
return wrapErrorHint(res); | |||
} | |||
@@ -20,7 +20,7 @@ export async function QueryProjectInfoByProjId(projId){ | |||
* 编辑项目 | |||
*/ | |||
export async function EditProject(proj){ | |||
const res = await fetchApi('project/EditProject',proj) | |||
const res = await fetchApi('project/editProject',proj) | |||
return wrapErrorHint(res); | |||
} | |||
/** | |||
@@ -39,7 +39,7 @@ export async function queryTemplateById(templateId) { | |||
* @param {string} templateId | |||
*/ | |||
export async function queryTemplateQuoteCount(templateId) { | |||
const res = await fetchApi('template/queryTemplateQuoteCount', { id: templateId }); | |||
const res = await fetchApi('template/queryTemplateQuoteCountByTempId', { id: templateId }); | |||
return res; | |||
} | |||
/** | |||
@@ -93,7 +93,7 @@ export async function getUserListByNode(node, page, pageSize, keywords) { | |||
: fetchApi('user/queryUsersByDeptId', { deptId: node.id, idType: node.nodeType === 'company' ? 0 : 1, pageIndex: page, pageSize })); | |||
const { data: list, total } = res.Data || {}; | |||
return { | |||
list: list.map(firstCharToLowerCase), | |||
list: (list || []).map(firstCharToLowerCase), | |||
page, | |||
pageSize, | |||
total, | |||
@@ -111,10 +111,10 @@ function mapApiPathToFullPath(path) { | |||
case 'template/createNestedRelevance': | |||
case 'template/deleteNestedRelevance': | |||
case "folder/createSubfolder": | |||
case "project/CreateProject": | |||
case "project/EditProject": | |||
case "project/createProject": | |||
case "project/editProject": | |||
case "project/assignedWork": | |||
case "file/AddArchMilesStone": | |||
case "file/addArchMilesStone": | |||
case "file/addFile": | |||
case "file/updateFile": | |||
case "file/fileCoordinationChange": | |||
@@ -34,6 +34,15 @@ export const notify = { | |||
offset: 100, | |||
duration: 2500, | |||
}); | |||
}, | |||
info: (message, title = '温馨提示') => { | |||
Vue.prototype.$notify({ | |||
title, | |||
message, | |||
type: 'info', | |||
offset: 100, | |||
duration: 2500, | |||
}); | |||
} | |||
} | |||
@@ -1441,7 +1441,7 @@ | |||
const res = await templateService.queryTemplateNodeByTemplateId(this.selectTemlateID); | |||
this.checkNewProjData.Node = res.Data; | |||
this.$fetchApi('project/CreateProject', this.checkNewProjData).then(res => { | |||
this.$fetchApi('project/createProject', this.checkNewProjData).then(res => { | |||
console.log(res); | |||
if(res.Code === 0) { | |||
thisApp.$notify({ | |||
@@ -19,7 +19,7 @@ export async function fetchWorkFlow(projectId, userId) { | |||
* @param {*} userId | |||
*/ | |||
export async function fetchFolderFileList(folderId, userId, commonFolderId) { | |||
const res = await fetchApi('folder/QueryFileListByFolderIdAndUserId', { folderId, userId, publicFolderId: commonFolderId }); | |||
const res = await fetchApi('folder/queryFileListByFolderIdAndUserId', { folderId, userId, publicFolderId: commonFolderId }); | |||
wrapErrorHint(res); | |||
if (res.Code !== 0) return null; | |||
const data = res.Data || {}; | |||
@@ -52,7 +52,7 @@ export async function AddArchMilesStone(fileInfo) { | |||
fileInfo = firstCharToUpperCase(fileInfo); | |||
delete fileInfo.IsShowFile; | |||
const res = await fetchApi('file/AddArchMilesStone', fileInfo); | |||
const res = await fetchApi('file/addArchMilesStone', fileInfo); | |||
return wrapErrorHint(res); | |||
} | |||
@@ -492,13 +492,7 @@ | |||
? ' toumin' | |||
: '') | |||
" | |||
v-if=" | |||
file.extension != 'jpg' && | |||
file.extension != 'png' && | |||
file.extension != 'bmp' && | |||
file.extension != 'gif' && | |||
file.extension != 'jpeg' | |||
" | |||
v-if="!oneOf(file.extension, ['jpg','png','bmp','gif','jpeg'])" | |||
@contextmenu.prevent.stop=" | |||
rightShowMenu($event, file, 1) | |||
" | |||
@@ -515,13 +509,7 @@ | |||
? ' toumin' | |||
: '') | |||
" | |||
v-if=" | |||
file.extension == 'jpg' || | |||
file.extension == 'png' || | |||
file.extension == 'bmp' || | |||
file.extension == 'gif' || | |||
file.extension == 'jpeg' | |||
" | |||
v-if="oneOf(file.extension, ['jpg','png','bmp','gif','jpeg'])" | |||
@contextmenu.prevent.stop=" | |||
rightShowMenu($event, file, 1) | |||
" | |||
@@ -538,7 +526,7 @@ | |||
<div | |||
class="eidtTip" | |||
v-if=" | |||
file.status == 1 && file.modifyUserId != userId | |||
file.workStatus == 2 && file.modifyUserId != userId | |||
" | |||
> | |||
工作中 | |||
@@ -1185,9 +1173,7 @@ | |||
<div class="minifont">下载中</div> | |||
</span> | |||
</div> | |||
<div class="eidtTip" v-if="file.status == 1"> | |||
文件未开启协同 | |||
</div> | |||
<div class="eidtTip" v-if="file.status == 1">文件未开启协同</div> | |||
<span class="yiyunwenjian_infodesc">{{ | |||
file.folderName | |||
}}</span> | |||
@@ -3255,48 +3241,48 @@ export default { | |||
/** | |||
* 打开文件时更新文件状态及编辑人 | |||
*/ | |||
setModifyStatus(file) { | |||
var thisApp = this; | |||
file.status = 1; // 设置为编辑中 | |||
file.modifyUserID = sessionStorage.userId; | |||
this.$axios({ | |||
method: "put", | |||
url: encodeURI(process.env.API_HOST + "archives/update/status"), | |||
data: file, | |||
}) | |||
.then(function (response) { | |||
if (response.data.state == 1) { | |||
thisApp.$notify({ | |||
title: "恭喜您", | |||
message: response.data.message, | |||
type: "success", | |||
offset: 100, | |||
duration: 2500, | |||
}); | |||
} else { | |||
thisApp.$notify({ | |||
title: "温馨提示", | |||
message: response.data.message, | |||
type: "info", | |||
offset: 100, | |||
duration: 5000, | |||
}); | |||
} | |||
}) | |||
.catch(function (error) { | |||
console.log(error); | |||
}); | |||
}, | |||
// setModifyStatus(file) { | |||
// var thisApp = this; | |||
// file.status = 1; // 设置为编辑中 | |||
// file.modifyUserID = sessionStorage.userId; | |||
// this.$axios({ | |||
// method: "put", | |||
// url: encodeURI(process.env.API_HOST + "archives/update/status"), | |||
// data: file, | |||
// }) | |||
// .then(function (response) { | |||
// if (response.data.state == 1) { | |||
// thisApp.$notify({ | |||
// title: "恭喜您", | |||
// message: response.data.message, | |||
// type: "success", | |||
// offset: 100, | |||
// duration: 2500, | |||
// }); | |||
// } else { | |||
// thisApp.$notify({ | |||
// title: "温馨提示", | |||
// message: response.data.message, | |||
// type: "info", | |||
// offset: 100, | |||
// duration: 5000, | |||
// }); | |||
// } | |||
// }) | |||
// .catch(function (error) { | |||
// console.log(error); | |||
// }); | |||
// }, | |||
async updateFileWorkStatus(file, workStatus, message) { | |||
const params = { | |||
FolderId: file.folderId, | |||
FileId: file.id, | |||
UserId: this.userId, | |||
FileStatus: file.status | |||
} | |||
// const params = { | |||
// FolderId: file.folderId, | |||
// FileId: file.id, | |||
// UserId: this.userId, | |||
// FileStatus: file.status | |||
// } | |||
const [resFlag] = await Promise.all([ | |||
services.changeFileWorkStatus(file.id, workStatus), | |||
services.fileCoordinationChange(params) | |||
// services.fileCoordinationChange(params) | |||
]); | |||
if(resFlag.Code !== 0) return; | |||
notify.success(message); | |||
@@ -3311,7 +3297,6 @@ export default { | |||
* 更改文件状态 | |||
*/ | |||
async setFileStatus(file, state, message, type) { | |||
debugger; | |||
if(state === 2 || state === 1) {//2代表是开启协同 1代表取消协同 | |||
let params = { | |||
FolderId: file.folderId, | |||
@@ -5148,17 +5133,17 @@ export default { | |||
/** | |||
* 上传文件成功时触发 | |||
*/ | |||
uploadAppFileSuccess: function (file) { | |||
this.newAppInstance.alias = file.filePath; | |||
this.newAppInstance.fileName = file.fileName; | |||
this.$notify({ | |||
title: "温馨提示", | |||
message: "恭喜您,实例文件上传成功!", | |||
type: "success", | |||
offset: 30, | |||
duration: 2000, | |||
}); | |||
}, | |||
// uploadAppFileSuccess: function (file) { | |||
// this.newAppInstance.alias = file.filePath; | |||
// this.newAppInstance.fileName = file.fileName; | |||
// this.$notify({ | |||
// title: "温馨提示", | |||
// message: "恭喜您,实例文件上传成功!", | |||
// type: "success", | |||
// offset: 30, | |||
// duration: 2000, | |||
// }); | |||
// }, | |||
/** | |||
* 加载我的应用实例数据 | |||
*/ | |||
@@ -239,6 +239,11 @@ | |||
label="姓名" | |||
width="160" | |||
></el-table-column> | |||
<el-table-column | |||
prop="deptName" | |||
label="部门" | |||
width="160" | |||
></el-table-column> | |||
<el-table-column | |||
prop="position" | |||
label="职位" | |||
@@ -1727,6 +1727,8 @@ import { queryAllIndustry } from "@/services/industry"; | |||
import FileUploader from "@/components/file-uploader"; | |||
import { notify } from "@/utils/tool"; | |||
import { cloneDeep } from "lodash"; | |||
import { wrapErrorHint } from '@/utils/request'; | |||
import { firstCharToLowerCase, firstCharToUpperCase } from '@/utils/tool'; | |||
// Vue.use(fileUploader); | |||
export default { | |||
components: { | |||
@@ -1935,7 +1937,18 @@ export default { | |||
/* | |||
* 获取模板使用数统计数据 | |||
*/ | |||
getListTemplateClassify: function () { | |||
async getListTemplateClassify () { | |||
const res = await this.$fetchApi('template/queryTemplateQuoteCount'); | |||
wrapErrorHint(res); | |||
const list = res.Data || []; | |||
const totalCount = list.reduce((count, t) => (t.Count || 0) + count, 0); | |||
this.listTemplateClassify = list.map(t => { | |||
return { | |||
tempName: t.TempName, | |||
count: t.Count, | |||
totalCount: totalCount, | |||
} | |||
}); | |||
// var thisApp = this; | |||
// this.$axios({ | |||
// method: "get", | |||
@@ -2116,14 +2129,19 @@ export default { | |||
{ label: "总体概况", id: "default", data: {} }, | |||
].concat(tree); | |||
this.listTemplateTree = listTemplateTree; | |||
setTimeout(() => { | |||
this.$refs.tree.setCurrentKey('default'); | |||
}, 0); | |||
if (this.$route.params.data != undefined) { | |||
const targetTemlate = this.$route.params.data; | |||
// 从思维导图页面返回时加载原来选中模板 | |||
this.getTempNameAndData(this.$route.params.data); | |||
this.getTempNameAndData(targetTemlate); | |||
setTimeout(() => { | |||
this.$refs.tree.setCurrentKey(targetTemlate.id || 'default'); | |||
}, 0); | |||
} else { | |||
this.getTempNameAndData(listTemplateTree[0]); | |||
setTimeout(() => { | |||
this.$refs.tree.setCurrentKey('default'); | |||
}, 0); | |||
} | |||
// debugger; | |||
// var thisApp = this; | |||
@@ -3384,7 +3402,7 @@ export default { | |||
params: { | |||
name: this.templateName, | |||
id: this.templateID, | |||
// data: this.treeMenuClickData, | |||
data: this.treeMenuClickData, | |||
}, | |||
}); | |||
}, | |||
@@ -3394,7 +3412,7 @@ export default { | |||
params: { | |||
name: this.templateName, | |||
id: this.templateID, | |||
// data: this.treeMenuClickData, | |||
data: this.treeMenuClickData, | |||
} | |||
}); | |||
}, | |||
@@ -13,6 +13,7 @@ | |||
theme="white" | |||
:title="topNodeName" | |||
backBtnTitle="退出矩阵编辑器" | |||
:onBackBtnClick="onBackBtnClick" | |||
/> | |||
<section class="title_section mt-10"> | |||
<div class="EC_col_8"> | |||
@@ -277,6 +278,14 @@ export default { | |||
}, | |||
//方法 | |||
methods: { | |||
onBackBtnClick() { | |||
this.$router.push({ | |||
name: "system_template", | |||
params: { | |||
data: this.$route.params.data, | |||
}, | |||
}) | |||
}, | |||
/** | |||
* 查看矩阵 | |||
*/ | |||
@@ -13,6 +13,7 @@ | |||
theme="white" | |||
:title="tempName" | |||
backBtnTitle="退出思维导图查看器" | |||
:onBackBtnClick="onBackBtnClick" | |||
/> | |||
<section class="yiyun_section"> | |||
<div> | |||
@@ -91,6 +92,14 @@ | |||
}, | |||
watch: {}, | |||
methods: { | |||
onBackBtnClick() { | |||
this.$router.push({ | |||
name: "system_template", | |||
params: { | |||
data: this.$route.params.data, | |||
}, | |||
}) | |||
}, | |||
filterCurrentTemplate(templateList) { | |||
const currentTemplateId = this.tempId; | |||
return templateList.filter(temp => temp.Id !== currentTemplateId); | |||