浏览代码

增加编辑项目参与人的权限

seyason 2 年之前
父节点
当前提交
77941e8007

+ 2 - 2
fhKeeper/formulahousekeeper/inva_4_tivo/followup.html

@@ -4,8 +4,8 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
     <meta name="keywords" content="随访管理,数据统计,随访流程,阶段数据审核,随访日历,随访管理,文件上传" />
-    <meta name="description" content="随访报表-随访管家是一款集患者资料收集整理、随访计划执行和数据统计分析功能于一体的医患服务系。添加患者"/>
-    <title>随访管理|随访日历|随访报表-随访管家是一款集患者资料收集整理、随访计划执行和数据统计分析功能于一体的医患服务系。添加患者|访视记录|随访审核|随访报表!</title>
+    <meta name="description" content="随访报表-随访管家是一款集患者资料收集整理、随访计划执行和数据统计分析功能于一体的医患服务系。添加患者"/>
+    <title>随访管理|随访日历|随访报表-随访管家是一款集患者资料收集整理、随访计划执行和数据统计分析功能于一体的医患服务系。添加患者|访视记录|随访审核|随访报表!</title>
     <link rel="icon" href="image/favicon.png">
     <link rel="stylesheet" href="css/tongyong.css">
     <link rel="stylesheet" href="css/reset.css">

+ 27 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -3413,7 +3413,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                                 boolean notExist = true;
                                 for (String s : subNames) {
                                     if (!StringUtils.isEmpty(s)) {
-                                        if (subProject.getName().equals(s)) {
+                                        String getName = "";
+                                        if (s.contains("/")) {
+                                            String[] aData = s.split("/");
+                                            getName = aData[1];
+                                        } else {
+                                            getName = s;
+                                        }
+                                        if (subProject.getName().equals(getName)) {
                                             //找到了本次有的子项目
                                             notExist = false;
                                         }
@@ -3427,9 +3434,25 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                             for (String s : subNames) {
                                 if (!StringUtils.isEmpty(s)) {
                                     //数据库里面没有的子项目,新增进来
-                                    if (!subProjectList.stream().anyMatch(subProject -> s.equals(subProject.getName()))) {
+                                    String sName = null;
+                                    String sCode = null;
+                                    if (s.contains("/")) {
+                                        String[] aData = s.split("/");
+                                        sCode = aData[0];
+                                        sName = aData[1];
+                                    } else {
+                                        sName =s;
+                                    }
+                                    final String fName = sName;
+                                    if (!subProjectList.stream().anyMatch(subProject -> fName.equals(subProject.getName()))) {
                                         SubProject sp = new SubProject();
-                                        sp.setName(s);
+                                        //解析名称,可能含有子项目编号
+                                        if (s.contains("/")) {
+                                            sp.setCode(sCode);
+                                            sp.setName(sName);
+                                        } else {
+                                            sp.setName(sName);
+                                        }
                                         sp.setProjectId(project.getId());
                                         sp.setCompanyId(user.getCompanyId());
                                         subProjectMapper.insert(sp);
@@ -7917,6 +7940,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
 
     @Override
     public HttpRespMsg synchronizationProject(String dataJson) {
+        System.out.println("接收到:"+dataJson);
         JSONObject jsonObject = JSON.parseObject(dataJson);
         JSONObject header = (JSONObject) jsonObject.get("header");
         String token = String.valueOf(header.get("token"));

+ 2 - 0
fhKeeper/formulahousekeeper/timesheet/src/permissions.js

@@ -5,6 +5,7 @@ const StringUtil = {
         projectNew: false, // 新增项目 // 
         projectView: false, // 查看全部项目 // 
         projectManagement: false, // 管理全部项目 (编辑,完成,删除,子项目)(负责人编辑,完成)(创建人编辑 删除  完成,子项目) (负责人只能编辑参与人和审核人) // 
+        projectParticipator: false, //编辑可见项目参与人
         projectClassification: false, // 分类管理 // 
         projectExport: false, // 导出项目 // 
         projectImport: false, // 导入项目 // 
@@ -132,6 +133,7 @@ const StringUtil = {
         arr[i] == '新增项目' ? obj.projectNew = true : ''
         arr[i] == '查看全部项目' ? obj.projectView = true : ''
         arr[i] == '管理全部项目' ? obj.projectManagement = true : ''
+        arr[i] == '编辑项目参与人' ? obj.projectParticipator = true : ''
         arr[i] == '分类管理' ? obj.projectClassification = true : ''
         arr[i] == '导出项目' ? obj.projectExport = true : ''
         arr[i] == '导入项目' ? obj.projectImport = true : ''

+ 35 - 45
fhKeeper/formulahousekeeper/timesheet/src/views/project/list.vue

@@ -240,18 +240,6 @@
             <!-- 换位置之前看下项目阶段发起的请求  -->
             <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">
-                        <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>
-                            </el-select>
-                            <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>
-                        {{scope.row.currentStageId == null ? $t('nostage') : scope.row.currentStageName}}
-                    </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>
@@ -376,7 +364,7 @@
             <el-table-column :label="$t('operation')" :width="showColumnWidth" align="left" fixed="right" v-if="showColumnWidth != '0' || permissions.projectManagement">
                 <template slot-scope="scope">
                     <el-button v-if="(permissions.projectManagement || user.id==scope.row.creatorId) && user.timeType.mainProjectState != '1'" size="mini"  @click="subProject(scope.row)">{{ $t('lable.subproject') }}</el-button>
-                    <el-button size="mini" v-if="permissions.projectManagement || user.id==scope.row.inchargerId || user.id==scope.row.creatorId" type="primary" @click="handleAdd(scope.$index, scope.row)">{{ $t('bian-ji') }}</el-button>
+                    <el-button size="mini" v-if="permissions.projectParticipator || permissions.projectManagement || user.id==scope.row.inchargerId || user.id==scope.row.creatorId" type="primary" @click="handleAdd(scope.$index, scope.row)">{{ $t('bian-ji') }}</el-button>
                     <!-- <el-button v-if="permissions.projectManagement || user.id==scope.row.creatorId" size="mini"  @click="deletePro(scope.$index, scope.row)">删除</el-button> -->
                     <el-dropdown class="customdropdown" split-button size="mini" @click="finishPro(scope.row)" v-if="(permissions.projectManagement || user.id==scope.row.creatorId || user.id==scope.row.inchargerId) && scope.row.status == 1" placement="bottom-start">
                         {{ $t('wan-cheng') }} 
@@ -424,7 +412,7 @@
                 <el-form ref="form1" :model="addForm" :rules="rules" label-width="120px">
                     <el-form-item :label="$t('Itemno')" :class="title == $t('newproject') && user.companyId == 936 ? 'wpgCssClass' : ''">
                         <!-- <el-input v-model="addForm.code" :disabled="!permissions.projectManagement && addForm.creatorId != user.id" placeholder="请输入项目编号" clearable></el-input> -->
-                        <el-input v-model="addForm.code" :placeholder="$t('peaseenterthe')" clearable :disabled="!permissions.projectManagement && addForm.creatorId != user.id && !permissions.projectCodeAndName"></el-input>
+                        <el-input v-model="addForm.code" :placeholder="$t('peaseenterthe')" clearable :disabled="canOnlyModParticipator || (!permissions.projectManagement && addForm.creatorId != user.id && !permissions.projectCodeAndName)"></el-input>
                     </el-form-item>
                     <el-form-item :label="$t('zhu-xiang-mu')" :class="title == $t('newproject') && user.companyId == 936 ? 'wpgCssClass' : ''" v-if="user.timeType.mainProjectState == '1'">
                         <!-- <el-select v-model="addForm.projectMainId" clearable :disabled="!permissions.projectManagement && addForm.creatorId != user.id" @change="projectManagementChange"> -->
@@ -437,21 +425,21 @@
                     </el-form-item>
                     <el-form-item :label="$t('projectclassification')" v-if="user.timeType.mainProjectState != '1'">
                         <!-- <el-select v-model="addForm.category"  style="width:32%;" clearable :disabled="!permissions.projectManagement && addForm.creatorId != user.id"> -->
-                        <el-select v-model="addForm.category"  style="width:32%;" clearable filterable>
+                        <el-select v-model="addForm.category"  style="width:32%;" clearable filterable :disabled="canOnlyModParticipator">
                             <el-option v-for="(item) in baseClfList" :key="item.id" :value="item.id" :label="item.name"></el-option>
                         </el-select>
                     </el-form-item>
                     <el-form-item :label="$t('headerTop.projectName')" prop="name">
                         <!-- <el-input v-model="addForm.name" :disabled="!permissions.projectManagement && addForm.creatorId != user.id" placeholder="请输入项目名称" clearable></el-input> -->
-                        <el-input v-model="addForm.name" :placeholder="$t('peaseenterthe')" clearable :disabled="!permissions.projectManagement && addForm.creatorId != user.id && !permissions.projectCodeAndName"></el-input>
+                        <el-input v-model="addForm.name" :placeholder="$t('peaseenterthe')" clearable :disabled="canOnlyModParticipator || (!permissions.projectManagement && addForm.creatorId != user.id && !permissions.projectCodeAndName)"></el-input>
                     </el-form-item>
                     <el-form-item :label="$t('other.projectDescription')" prop="projectDesc">
                         <!-- <el-input v-model="addForm.projectDesc" :disabled="!permissions.projectManagement && addForm.creatorId != user.id" placeholder="请输入项目描述" clearable maxlength="4000"></el-input> -->
-                        <el-input v-model="addForm.projectDesc" :placeholder="$t('peaseenterthe')" clearable maxlength="4000"></el-input>
+                        <el-input v-model="addForm.projectDesc" :placeholder="$t('peaseenterthe')" clearable maxlength="4000" :disabled="canOnlyModParticipator"></el-input>
                     </el-form-item>
                     <el-form-item :label="$t('projecttype')" :class="title == $t('newproject') && user.companyId == 936 ? 'wpgCssClass' : ''" prop="isPublic">
                         <!-- <el-select v-model="addForm.isPublic" style="width:32%;" @change="selectPublic" :disabled="!permissions.projectManagement && addForm.creatorId != user.id"> -->
-                        <el-select v-model="addForm.isPublic" style="width:32%;" @change="selectPublic">
+                        <el-select v-model="addForm.isPublic" style="width:32%;" @change="selectPublic" :disabled="canOnlyModParticipator">
                             <!-- <el-option :value="0" :label="$t('commonproject')"></el-option>
                             <el-option :value="1" :label="$t('publicprojects')"></el-option> -->
                             <el-option :value="0" :label="$t('zheng-shi-xiang-mu')"></el-option>
@@ -462,14 +450,14 @@
                         </el-tooltip>
                         <div v-if="user.company.packageCustomer == 1" style="display: inline-block;width: 50%">
                             <span style="margin-left:63px;margin-right:10px;" >{{ $t('ke-hu') }}</span>
-                            <el-select v-model="addForm.customerId" clearable="true" filterable :placeholder="$t('defaultText.pleaseChoose')" style="width:70%;" >
+                            <el-select v-model="addForm.customerId" clearable="true" filterable :placeholder="$t('defaultText.pleaseChoose')" style="width:70%;" :disabled="canOnlyModParticipator">
                                 <el-option v-for="item in customerList" :key="item.id" :label="item.customerName" :value="item.id"></el-option>
                             </el-select>
                         </div>
                     </el-form-item>
 
                     <el-form-item :label="$t('subordinatedepartments')" :class="title == $t('newproject') && user.companyId == 936 ? 'wpgCssClass' : ''" v-if="user.timeType.projectWithDept">
-                        <el-cascader v-model="addForm.deptId" :options="departmentList" :placeholder="$t('defaultText.pleaseChoose')"
+                        <el-cascader v-model="addForm.deptId" :options="departmentList" :placeholder="$t('defaultText.pleaseChoose')" :disabled="canOnlyModParticipator"
                             :props="{ checkStrictly: true, expandTrigger: 'hover' }" clearable filterable @change="cascaderChange" style="width: 100%"
                         ></el-cascader>
                     </el-form-item>
@@ -482,7 +470,7 @@
                         </el-select>
                     </el-form-item> -->
                     <el-form-item :label="$t('supplier')" v-if="user.company.packageProvider">
-                        <el-select v-model="addForm.supplierId" multiple :placeholder="$t('defaultText.pleaseChoose')" filterable="true" style="width: 100%">
+                        <el-select v-model="addForm.supplierId" multiple :placeholder="$t('defaultText.pleaseChoose')" filterable="true" style="width: 100%" :disabled="canOnlyModParticipator">
                             <span v-for="(item, index) in supplierList" :key="index">
                                 <el-option :label="item.providerName" :value="item.id"></el-option>
                             </span> 
@@ -490,7 +478,7 @@
                     </el-form-item>
 
                     <el-form-item :label="yonghuUser.customDegreeName" v-if="yonghuUser.customDegreeActive == 1">
-                        <el-select v-model="auseList" multiple :placeholder="$t('defaultText.pleaseChoose')" filterable="true" style="width: 100%">
+                        <el-select v-model="auseList" multiple :placeholder="$t('defaultText.pleaseChoose')" filterable="true" style="width: 100%" :disabled="canOnlyModParticipator">
                             <span v-for="(item, index) in ause" :key="index">
                             <el-option :label="item.name" :value="item.id"></el-option>
                             </span> 
@@ -526,20 +514,16 @@
                         </el-tooltip>
                     </el-form-item>
                     <el-form-item :label="$t('projectmanager')" :class="title == $t('newproject') && user.companyId == 936 ? 'wpgCssClass' : ''">
-                        <!-- <el-select v-model="addForm.inchargerId"  :disabled="(addForm.userId.length==0 && addForm.isPublic == 0) || (!permissions.projectManagement && user.id != addForm.creatorId)" filterable placeholder="请选择项目经理" style="width:32%;" > -->
-
-                        <el-select v-if="user.userNameNeedTranslate != 1" v-model="addForm.inchargerId" filterable :placeholder="$t('defaultText.pleaseChoose')" style="width:32%;" >
+                       <el-select v-if="user.userNameNeedTranslate != 1" v-model="addForm.inchargerId" filterable :placeholder="$t('defaultText.pleaseChoose')" style="width:32%;" :disabled="canOnlyModParticipator">
                             <el-option v-for="item in participator" :key="item.id" :label="item.name" :value="item.id">
                                 <span style="float: left">{{ item.name }}</span>
                                 <span style="float: right; color: #8492a6;" v-if="user.companyId == 936">{{ item.jobNumber }}</span>
                             </el-option>
                         </el-select>
-                        
                         <selectCat v-if="user.userNameNeedTranslate == 1" :size="'medium'" :subject="participator" :subjectId="addForm.inchargerId" :distinction="'3'" @selectCal="selectCal"></selectCat>
-
                     </el-form-item>
                     <el-form-item :label="$t('newspaperauditor')" v-show="user.timeType.reportAuditType == 0 || user.timeType.reportAuditType == 4">
-                        <el-select v-if="user.userNameNeedTranslate != '1'" v-model="addForm.auditUserIds" multiple="true" :disabled=" !(permissions.projectManagement|| user.id == addForm.inchargerId || user.id == addForm.creatorId)" filterable :placeholder="$t('defaultistheprojectleader')" style="width:100%;" >
+                        <el-select v-if="user.userNameNeedTranslate != '1'" v-model="addForm.auditUserIds" multiple="true" :disabled=" permissions.projectParticipator || (!(permissions.projectManagement|| user.id == addForm.inchargerId || user.id == addForm.creatorId))" filterable :placeholder="$t('defaultistheprojectleader')" style="width:100%;" >
                             <el-option v-for="item in participator" :key="item.id" :label="item.name" :value="item.id"></el-option>
                         </el-select>
 
@@ -548,10 +532,10 @@
                     </el-form-item>
                     <!--专业项目协作版本功能 -->
                     <el-form-item :label="$t('ji-bie')" :class="title == $t('newproject') && user.companyId == 936 ? 'wpgCssClass' : ''" v-if="user.company.packageProject==1">
-                        <el-select v-model="addForm.level"  :placeholder="$t('defaultText.pleaseChoose')" style="width:32%;" v-if="user.timeType.projectLevelState == 1">
+                        <el-select v-model="addForm.level"  :placeholder="$t('defaultText.pleaseChoose')" style="width:32%;" v-if="user.timeType.projectLevelState == 1" :disabled="canOnlyModParticipator">
                             <el-option v-for="item in levelList" :key="item.id" :label="item.projectLevelName" :value="item.id"></el-option>
                         </el-select>
-                        <el-select v-model="addForm.level"  :placeholder="this.$t('defaultText.pleaseChoose')" style="width:32%;" v-else>
+                        <el-select v-model="addForm.level"  :placeholder="this.$t('defaultText.pleaseChoose')" style="width:32%;" :disabled="canOnlyModParticipator" v-else>
                             <el-option v-for="item in importanceList" :key="item.id" :label="item.label" :value="item.id"></el-option>
                         </el-select>
                     <!-- 增加合同金额字段 -->
@@ -561,7 +545,7 @@
                     </el-form-item>
                     <!-- 增加合同金额字段 -->
                     <el-form-item  :label="$t('contractamount')" v-if="user.company.packageProject==1">
-                        <el-input id="contractAmount" v-model="addForm.contractAmount" style="width:32%;" @input="contractAmountChange(addForm.contractAmount)" :placeholder="$t('zheng-shu')" clearable  @keyup.native="restrictNumber('contractAmount')"></el-input><span style="margin-left:10px;position:absolute;">{{ $t('yuan') }}</span>
+                        <el-input id="contractAmount" v-model="addForm.contractAmount" :disabled="canOnlyModParticipator" style="width:32%;" @input="contractAmountChange(addForm.contractAmount)" :placeholder="$t('zheng-shu')" clearable  @keyup.native="restrictNumber('contractAmount')"></el-input><span style="margin-left:10px;position:absolute;">{{ $t('yuan') }}</span>
                         <template v-if="title == $t('modifytheproject') && contractAmountReasonShow">
                             <span style="margin-left:63px;margin-right:10px;">{{ $t('modifythereason') }}</span>
                             <el-input v-model="addForm.changeContractReason" style="width:33%" clearable :placeholder="$t('contractamountasd')"></el-input>
@@ -570,7 +554,7 @@
 
 
                     <el-form-item :label="$t('ommencementDate')" prop="planStartDate"  >
-                        <el-date-picker v-model="addForm.planStartDate" 
+                        <el-date-picker v-model="addForm.planStartDate" :disabled="canOnlyModParticipator"
                         :editable="false" style="width:32%;" 
                         format="yyyy-MM-dd" 
                         value-format="yyyy-MM-dd"
@@ -579,7 +563,7 @@
 
                         <span style="margin-left:63px;margin-right:10px;" >{{ $t('ji-hua-jie-shu-ri-qi') }}</span>
                         <el-date-picker v-model="addForm.planEndDate" style="width:33%;"
-                        :editable="false" 
+                        :editable="false" :disabled="canOnlyModParticipator"
                         format="yyyy-MM-dd" 
                         value-format="yyyy-MM-dd"
                         :clearable="false" type="date" 
@@ -588,13 +572,13 @@
 
                     <!-- 增加BU字段 绎维固定字段 -->
                     <el-form-item label="BU" v-if="user.companyId == '862'">
-                        <el-cascader ref="deptCascader"  v-model="addForm.bu" style="width: 250px" :show-all-levels="false"
+                        <el-cascader ref="deptCascader"  v-model="addForm.bu" style="width: 250px" :show-all-levels="false" :disabled="canOnlyModParticipator"
                             :options="buOption" :props="{ checkStrictly: true, expandTrigger: 'hover' }" clearable v-show="user.userNameNeedTranslate != 1"></el-cascader>
                         <vueCascader :size="'small'" :subjectId="addForm.bu" :widthStr="'200'" :clearable="true" :subject="buOption" :radios="true" :distinction="'32'" @vueCasader="vueCasader" v-if="user.userNameNeedTranslate == 1"></vueCascader>
                     </el-form-item>
 
                     <el-form-item :label="$t('projectoutput')" prop="outputValue"  v-if="user.timeType.outputValueStatus == 1">
-                        <el-input id="outputValue" v-model="addForm.outputValue" style="width:32%;"
+                        <el-input id="outputValue" v-model="addForm.outputValue" style="width:32%;" :disabled="canOnlyModParticipator"
                         placeholder="" clearable  @keyup.native="restrictNumber('outputValue')">
                         </el-input><span style="margin-left:10px;">{{ $t('yuan') }}</span>
                     </el-form-item>
@@ -602,18 +586,18 @@
                     <!-- 单个公司的固定字段 -->
                     <div v-if="user.companyId == '936'">
                     <el-form-item :label="$t('contractno')" :class="title == $t('newproject') && user.companyId == 936 ? 'wpgCssClass' : ''">
-                        <el-input v-model="addForm.contractCode" maxlength="50" show-word-limit :placeholder="$t('peaseenterthe')" clearable></el-input>
+                        <el-input v-model="addForm.contractCode" maxlength="50" show-word-limit :placeholder="$t('peaseenterthe')" clearable :disabled="canOnlyModParticipator"></el-input>
                     </el-form-item>
                     <el-form-item :label="$t('warrantystartime')">
                         <el-date-picker v-model="addForm.warrantyStartDate" 
-                        :editable="false" style="width:32%;" 
+                        :editable="false" style="width:32%;" :disabled="canOnlyModParticipator"
                         format="yyyy-MM-dd" 
                         value-format="yyyy-MM-dd"
                         :clearable="false" type="date" 
                         :placeholder="$t('optiondate')"></el-date-picker>
 
                         <span style="margin-left:63px;margin-right:10px;" >{{ $t('warrantyexpirationtime') }}</span>
-                        <el-date-picker v-model="addForm.warrantyEndDate" style="width:33%;"
+                        <el-date-picker v-model="addForm.warrantyEndDate" style="width:33%;" :disabled="canOnlyModParticipator"
                         :editable="false" 
                         format="yyyy-MM-dd" 
                         value-format="yyyy-MM-dd"
@@ -622,7 +606,7 @@
                     </el-form-item>
                     <el-form-item :label="$t('IndependentProject')" :class="title == $t('newproject') && user.companyId == 936 ? 'wpgCssClass' : ''">
                         <!-- <el-input v-model="addForm.projectCategorySub" placeholder="请输入自主项目类别" clearable></el-input> -->
-                        <el-select v-model="addForm.projectCategorySub" :placeholder="$t('defaultText.pleaseChoose')" clearable>
+                        <el-select v-model="addForm.projectCategorySub" :placeholder="$t('defaultText.pleaseChoose')" clearable :disabled="canOnlyModParticipator">
                             <el-option :value="$t('softwareproject')" :label="$t('softwareproject')"></el-option>
                             <el-option :value="$t('hardwareproject')" :label="$t('hardwareproject')"></el-option>
                             <el-option :value="$t('integrationproject')" :label="$t('integrationproject')"></el-option>
@@ -630,10 +614,10 @@
                         </el-select>
                     </el-form-item>
                     <el-form-item :label="$t('region')" :class="title == $t('newproject') && user.companyId == 936 ? 'wpgCssClass' : ''">
-                        <el-input v-model="addForm.region" :placeholder="$t('peaseenterthe')" clearable></el-input>
+                        <el-input v-model="addForm.region" :placeholder="$t('peaseenterthe')" clearable :disabled="canOnlyModParticipator"></el-input>
                     </el-form-item>
                     <el-form-item :label="$t('subordinateBU')" >
-                        <el-input v-model="addForm.bu" :placeholder="$t('subordinateBU')" clearable></el-input>
+                        <el-input v-model="addForm.bu" :placeholder="$t('subordinateBU')" clearable :disabled="canOnlyModParticipator"></el-input>
                     </el-form-item>
                     </div>
                     <div v-if="user.companyId == '428'">
@@ -642,7 +626,7 @@
                         </el-form-item>
                     </div>
                     <!-- 项目基线 -->
-                    <div style="margin: 10px 0 30px 0;min-height:200px;" v-if="user.company.packageProject == 1">
+                    <div style="margin: 10px 0 30px 0;min-height:200px;" v-if="user.company.packageProject == 1 && !canOnlyModParticipator">
                         <el-tabs v-model="activeName" @tab-click="handleClick">
                         <el-tab-pane :label="$t('costbaseline')" name="baseCostPanel"  >
                             <div style="padding-top:10px;">
@@ -1327,6 +1311,7 @@ a {
         },
         data() {
             return {
+                canOnlyModParticipator: false,
                 curChangeProject:null,
                 changeStageDialogVisible: false,
                 addFlgmainProjectDialog: false,
@@ -3659,7 +3644,9 @@ a {
                     }else {
                         if(incha){
                             return '210'
-                        }else {
+                        } else if (this.permissions.projectParticipator) {//编辑参与人权限
+                            return '110'
+                        } else {
                             return '0'
                         }
                     }
@@ -3681,9 +3668,8 @@ a {
 
             //显示新增界面
             handleAdd(i, item) {
-                console.log('handleadd',i,item);
+                this.canOnlyModParticipator = false;
                 this.contractAmountReasonShow = false
-                console.log(this.levelList, '看看打印出来的值')
                 if(i == -1) {
                     this.title = this.$t('newproject');
                     this.addForm = {
@@ -3734,6 +3720,10 @@ a {
                         // console.log(this.projectKeyNodesData, '节点值')
                     }
                 } else {
+                    //编辑时,非 (管理全部项目,项目创建人,项目经理),有编辑项目参与人权限的人,可以进行参与人的修改
+                    if (!(this.permissions.projectManagement || this.user.id==item.inchargerId || this.user.id == item.creatorId) && this.permissions.projectParticipator) {
+                        this.canOnlyModParticipator = true;
+                    }
                     this.title = this.$t('modifytheproject');
                     var list = item.participator;
                     if (item.isPublic == 1) {