|
@@ -141,7 +141,7 @@
|
|
|
</el-form>
|
|
|
</el-col>
|
|
|
<!--列表-->
|
|
|
- <el-table ref="projectlistOfWudulist" @cell-mouse-enter="hoverCall" @cell-mouse-leave="handCall" @cell-click="clickCell" :cell-class-name="tableCellClassName" :data="list" highlight-current-row v-loading="listLoading" :height="tableHeight" style="width: 100%;" @selection-change="checkedWudulist" @sort-change="tableSort">
|
|
|
+ <el-table ref="projectlistOfWudulist" border @cell-mouse-enter="hoverCall" @cell-mouse-leave="handCall" :cell-class-name="tableCellClassName" :data="list" highlight-current-row v-loading="listLoading" :height="tableHeight" style="width: 100%;" @selection-change="checkedWudulist" @sort-change="tableSort">
|
|
|
<el-table-column type="selection" width="60" :selectable="isSelectable">
|
|
|
<!-- creator 项目创建人 incharger 项目负责人 -->
|
|
|
</el-table-column>
|
|
@@ -193,9 +193,9 @@
|
|
|
</template>
|
|
|
</el-table-column> -->
|
|
|
<el-table-column prop="categoryName" :label="$t('projectclassification')" sortable="custom" width="140"></el-table-column>
|
|
|
- <el-table-column prop="projectName" :label="$t('headerTop.projectName')" width="250" sortable="custom">
|
|
|
+ <el-table-column prop="projectName" :label="$t('headerTop.projectName')" min-width="250" sortable="custom">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-popover placement="top" width="400" trigger="hover" v-if="scope.row.projectName.length > 15">
|
|
|
+ <!-- <el-popover placement="top" width="400" trigger="hover" v-if="scope.row.projectName.length > 15">
|
|
|
<div>
|
|
|
<el-link type="primary" v-if="user.company.packageProject==1" :underline="false" :href="'#/projectInside/'+scope.row.id">{{scope.row.projectName}}</el-link>
|
|
|
<span v-if="user.company.packageProject==0" >{{scope.row.projectName}}</span>
|
|
@@ -208,6 +208,10 @@
|
|
|
<div v-else>
|
|
|
<el-link type="primary" v-if="user.company.packageProject==1" :underline="false" :href="'#/projectInside/'+scope.row.id">{{scope.row.projectName}}</el-link>
|
|
|
<span v-if="user.company.packageProject==0" >{{scope.row.projectName}}</span>
|
|
|
+ </div> -->
|
|
|
+ <div>
|
|
|
+ <el-link type="primary" v-if="user.company.packageProject==1" :underline="false" :href="'#/projectInside/'+scope.row.id">{{scope.row.projectName}}</el-link>
|
|
|
+ <span v-if="user.company.packageProject==0" >{{scope.row.projectName}}</span>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -231,7 +235,7 @@
|
|
|
<!-- 换位置之前看下项目阶段发起的请求 -->
|
|
|
<el-table-column prop="currentStage" :label="$t('projectphase')" sortable="custom" min-width="150" width="220" v-if="user.company.packageProject == 1">
|
|
|
<template slot-scope="scope">
|
|
|
- <div v-if="permissions.projectManagement || user.id==scope.row.inchargerId || user.id==scope.row.creatorId">
|
|
|
+ <!-- <div v-if="permissions.projectManagement || user.id==scope.row.inchargerId || user.id==scope.row.creatorId">
|
|
|
<span style="display: inline-block; width: 150px">
|
|
|
<el-select v-model="phaseProjectValie" v-if="scope.row.index + ',' + scope.column.index == currentCell" :ref="scope.row.index + ',' + scope.column.index" filterable :placeholder="$t('pleaseselecttheprojectphase')" size="mini" @blur="hideSelect" @change="selectChange">
|
|
|
<el-option v-for="(item, index) in phaseList" :key="index" :label="item.projectStageName" :value="item.id"> </el-option>
|
|
@@ -239,10 +243,14 @@
|
|
|
<el-link v-else type="primary" :underline="false">{{scope.row.currentStageId == null ? $t('nostage') : scope.row.currentStageName}}</el-link>
|
|
|
</span>
|
|
|
<el-link v-if="scope.row.index + ',' + scope.column.index != currentCell && rowid == scope.row.id" type="primary" :underline="false"><i class="el-icon-edit"></i></el-link>
|
|
|
- </div>
|
|
|
- <div v-else>
|
|
|
+ </div> -->
|
|
|
+ <!-- <div v-else>
|
|
|
{{scope.row.currentStageId == null ? $t('nostage') : scope.row.currentStageName}}
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
+ {{scope.row.currentStageId == null ? $t('nostage') : scope.row.currentStageName}}
|
|
|
+ <el-link v-if="(permissions.projectManagement || user.id==scope.row.inchargerId || user.id==scope.row.creatorId)" type="primary" :underline="false" @click="showChangeStageDialog(scope.row.id, scope.row.currentStageId)">
|
|
|
+ <i class="el-icon-edit"></i>
|
|
|
+ </el-link>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
@@ -1215,6 +1223,15 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
+ <el-dialog title="修改项目当前阶段" v-if="changeStageDialogVisible" :visible.sync="changeStageDialogVisible" width="300px">
|
|
|
+ <el-select v-model="curChangeProject.curStageId" filterable :placeholder="$t('pleaseselecttheprojectphase')" style="margin: 0 auto;">
|
|
|
+ <el-option v-for="(item, index) in phaseList" :key="index" :label="item.projectStageName" :value="item.id"> </el-option>
|
|
|
+ </el-select>
|
|
|
+ <div slot="footer" class="dialog-footer" style="text-algin:center;">
|
|
|
+ <el-button type="primary" @click="confirmChangeStage">确定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
<el-dialog append-to-body :title="$t('projectimportresult')" v-if="showImportResult" :visible.sync="showImportResult" width="40%">
|
|
|
<div >
|
|
|
{{importResultMsg}}
|
|
@@ -1261,6 +1278,8 @@ a {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ curChangeProject:null,
|
|
|
+ changeStageDialogVisible: false,
|
|
|
addFlgmainProjectDialog: false,
|
|
|
addFlgPanthProjectDialog: false,
|
|
|
addProjectLevelDialog: false,
|
|
@@ -1471,6 +1490,40 @@ a {
|
|
|
})
|
|
|
},
|
|
|
methods: {
|
|
|
+ confirmChangeStage() {
|
|
|
+ let currentStageName = ''
|
|
|
+ for(var i in this.phaseList) {
|
|
|
+ if(this.phaseList[i].id == this.curChangeProject.curStageId) {
|
|
|
+ currentStageName = this.phaseList[i].projectStageName
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.http.post('/project/changeCurrentStage', {
|
|
|
+ projectId: this.curChangeProject.projectId,
|
|
|
+ currentStageId: this.curChangeProject.curStageId,
|
|
|
+ currentStageName: currentStageName
|
|
|
+ },
|
|
|
+ res => {
|
|
|
+ if (res.code == "ok") {
|
|
|
+ this.getList()
|
|
|
+ this.changeStageDialogVisible = false;
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: "error"
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ error => {
|
|
|
+ this.$message({
|
|
|
+ message: error,
|
|
|
+ type: "error"
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ showChangeStageDialog(projectId, curStageId) {
|
|
|
+ this.curChangeProject = {projectId: projectId, curStageId: curStageId};
|
|
|
+ this.changeStageDialogVisible = true;
|
|
|
+ },
|
|
|
addNewkeyNodes(row) {
|
|
|
this.addBasekeyNodesialog = true
|
|
|
if(row) {
|
|
@@ -1631,53 +1684,53 @@ a {
|
|
|
row.index=rowIndex;
|
|
|
column.index=columnIndex;
|
|
|
},
|
|
|
- clickCell(row,column) {
|
|
|
- // console.log('can can need',row,column)
|
|
|
- this.currentCell = row.index + ',' + column.index;
|
|
|
- this.phaseProjectValie = row.currentStageId ? row.currentStageId : ''
|
|
|
- if(this.permissions.projectManagement || this.user.id==row.inchargerId || this.user.id==row.creatorId) {
|
|
|
- this.phaseProjectId = row.id
|
|
|
- setTimeout(() => {
|
|
|
- // 获得焦点
|
|
|
- this.$refs[row.index + ',' + column.index].focus();
|
|
|
- })
|
|
|
- }
|
|
|
- },
|
|
|
- selectChange() {
|
|
|
- let currentStageName = ''
|
|
|
- for(var i in this.phaseList) {
|
|
|
- if(this.phaseList[i].id == this.phaseProjectValie) {
|
|
|
- currentStageName = this.phaseList[i].projectStageName
|
|
|
- }
|
|
|
- }
|
|
|
- this.http.post('/project/changeCurrentStage', {
|
|
|
- projectId: this.phaseProjectId,
|
|
|
- currentStageId: this.phaseProjectValie,
|
|
|
- currentStageName: currentStageName
|
|
|
- },
|
|
|
- res => {
|
|
|
- if (res.code == "ok") {
|
|
|
- this.getList()
|
|
|
- } else {
|
|
|
- this.$message({
|
|
|
- message: res.msg,
|
|
|
- type: "error"
|
|
|
- });
|
|
|
- }
|
|
|
- },
|
|
|
- error => {
|
|
|
- this.$message({
|
|
|
- message: error,
|
|
|
- type: "error"
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- hideSelect() {
|
|
|
- var that = this
|
|
|
- setTimeout(() => {
|
|
|
- that.currentCell = null
|
|
|
- }, 500)
|
|
|
- },
|
|
|
+ // clickCell(row,column) {
|
|
|
+ // // console.log('can can need',row,column)
|
|
|
+ // this.currentCell = row.index + ',' + column.index;
|
|
|
+ // this.phaseProjectValie = row.currentStageId ? row.currentStageId : ''
|
|
|
+ // if(this.permissions.projectManagement || this.user.id==row.inchargerId || this.user.id==row.creatorId) {
|
|
|
+ // this.phaseProjectId = row.id
|
|
|
+ // setTimeout(() => {
|
|
|
+ // // 获得焦点
|
|
|
+ // this.$refs[row.index + ',' + column.index].focus();
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ // selectChange() {
|
|
|
+ // let currentStageName = ''
|
|
|
+ // for(var i in this.phaseList) {
|
|
|
+ // if(this.phaseList[i].id == this.phaseProjectValie) {
|
|
|
+ // currentStageName = this.phaseList[i].projectStageName
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // this.http.post('/project/changeCurrentStage', {
|
|
|
+ // projectId: this.phaseProjectId,
|
|
|
+ // currentStageId: this.phaseProjectValie,
|
|
|
+ // currentStageName: currentStageName
|
|
|
+ // },
|
|
|
+ // res => {
|
|
|
+ // if (res.code == "ok") {
|
|
|
+ // this.getList()
|
|
|
+ // } else {
|
|
|
+ // this.$message({
|
|
|
+ // message: res.msg,
|
|
|
+ // type: "error"
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ // error => {
|
|
|
+ // this.$message({
|
|
|
+ // message: error,
|
|
|
+ // type: "error"
|
|
|
+ // });
|
|
|
+ // });
|
|
|
+ // },
|
|
|
+ // hideSelect() {
|
|
|
+ // var that = this
|
|
|
+ // setTimeout(() => {
|
|
|
+ // that.currentCell = null
|
|
|
+ // }, 500)
|
|
|
+ // },
|
|
|
// 点击主项目事件
|
|
|
projectManagementChange() {
|
|
|
let categoryId = ''
|