Browse Source

提交文件

Lijy 1 year ago
parent
commit
51fb027cbb

+ 21 - 9
fhKeeper/formulahousekeeper/timesheet/src/views/project/info.vue

@@ -2,7 +2,7 @@
         <div :style="'padding:20px 30px;background:#f7f7f7;min-height:'+tableHeight+'px;'">
         <div style="margin: 0 auto;width:1000px;">
             <el-row :gutter="20">
-            <el-col :span="17" >
+            <el-col :span="17" > 
                 <div class="box info">
                     <label>{{ $t('basicinformation') }}<el-link v-if="(user.id == project.creatorId || user.id == project.inchargerId) || permissions.projectManagement" @click="showEdit" style="float:right;"><i class="el-icon-edit"  ></i></el-link></label>
                     <el-row :gutter="10" >
@@ -339,10 +339,10 @@
         <el-dialog :title="$t('jiebnxx')" v-if="addFormVisible" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass="customWidth" width="960px">
             <el-form ref="basicInfoForm" :model="addForm" :rules="rules" label-width="120px">
                 <el-form-item :label="$t('Itemno')" >
-                    <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="(!permissions.projectManagement && addForm.creatorId != user.id && !permissions.projectCodeAndName) || isShowProjectName"></el-input> 
                 </el-form-item>
                 <el-form-item :label="$t('headerTop.projectName')" prop="name">
-                    <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="(!permissions.projectManagement && addForm.creatorId != user.id && !permissions.projectCodeAndName) || isShowProjectName"></el-input>
                 </el-form-item>
                 <el-form-item :label="$t('other.projectDescription')" prop="projectDesc">
                     <el-input type="textarea" :rows="2" v-model="addForm.projectDesc" maxlength="4000" show-word-limit  :placeholder="$t('peaseenterthe')" clearable></el-input>
@@ -355,7 +355,7 @@
                 </el-form-item>
 
                 <el-form-item :label="$t('ji-bie')" >
-                    <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="isShowProjectName">
                         <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="$t('defaultText.pleaseChoose')" style="width:32%;" v-else>
@@ -400,7 +400,7 @@
 
                 <div v-if="user.companyId == '936'">
                     <el-form-item :label="$t('contractno')" >
-                        <el-input v-model="addForm.projectSeparate.contractCode" :placeholder="$t('peaseenterthe')" clearable></el-input>
+                        <el-input v-model="addForm.projectSeparate.contractCode" :placeholder="$t('peaseenterthe')" clearable :disabled="isShowProjectName"></el-input>
                     </el-form-item>
                     <el-form-item :label="$t('warrantystartime')">
                         <el-date-picker v-model="addForm.projectSeparate.warrantyStartDate" 
@@ -422,7 +422,7 @@
                         <el-input v-model="addForm.projectSeparate.projectCategorySub" :placeholder="$t('peaseenterthe')" clearable></el-input>
                     </el-form-item>
                     <el-form-item :label="$t('region')" >
-                        <el-input v-model="addForm.projectSeparate.region" :placeholder="$t('peaseenterthe')" clearable></el-input>
+                        <el-input v-model="addForm.projectSeparate.region" :placeholder="$t('peaseenterthe')" clearable :disabled="isShowProjectName"></el-input>
                     </el-form-item>
                     <el-form-item :label="$t('subordinateBU')" >
                         <el-input v-model="addForm.projectSeparate.bu" :placeholder="$t('subordinateBU')" clearable></el-input>
@@ -509,10 +509,10 @@
                     <selectCat v-if="user.userNameNeedTranslate == 1" :multiSelect="true" :widthStr="'430'" :size="'medium'" :subject="users" :subjectId="addForm.userId" :distinction="'12'" @selectCal="selectCal"></selectCat>
                 </el-form-item>
                 <el-form-item :label="$t('projectmanager')" >
-                    <el-select v-if="user.userNameNeedTranslate != 1" v-model="addForm.inchargerId"  filterable :placeholder="$t('defaultText.pleaseChoose')" style="width:100%;" >
+                    <el-select v-if="user.userNameNeedTranslate != 1" v-model="addForm.inchargerId"  filterable :placeholder="$t('defaultText.pleaseChoose')" style="width:100%;" :disabled="isShowProjectName">
                         <el-option v-for="item in project.participationList" :key="item.id" :label="item.name" :value="item.id"></el-option>
                     </el-select>
-                    <selectCat v-if="user.userNameNeedTranslate == 1" :widthStr="'430'" :size="'medium'" :subject="project.participationList" :subjectId="addForm.inchargerId" :distinction="'1'" @selectCal="selectCal"></selectCat>
+                    <selectCat v-if="user.userNameNeedTranslate == 1" :widthStr="'430'" :size="'medium'" :subject="project.participationList" :subjectId="addForm.inchargerId" :distinction="'1'" @selectCal="selectCal" :disabled="isShowProjectName"></selectCat>
                 </el-form-item>
             </el-form>
             <div slot="footer" class="dialog-footer">
@@ -822,7 +822,9 @@
                 dataList: [],
                 dataListTwo: [],
                 imgUrlListFlg: false,
-                imgUrlLists: []
+                imgUrlLists: [],
+
+                isShowProjectName: false,
             };
         },
         filters: {
@@ -1759,6 +1761,7 @@
                 this.$set(this.addForm,'name',this.addForm.projectName)
                 this.$set(this.addForm,'outputValue',this.addForm.outputValue ? this.addForm.outputValue : null)
                 this.addForm.userId = arr
+
                 this.addFormVisible = true;
                 // console.log(this.addForm, 123)
                 var arr = []
@@ -2217,6 +2220,15 @@
             if(this.user.companyId == '936') {
                 this.getKeyNodes()
             }
+
+            const usersJson = JSON.parse(sessionStorage.getItem("user"))
+            if(usersJson.companyId == '936') {
+                if(usersJson.roleName != '超级管理员' && usersJson.roleName != '系统管理员') {
+                    this.isShowProjectName = true
+                } else {
+                    this.isShowProjectName = false
+                }
+            }
         }
     };
 </script>

+ 25 - 8
fhKeeper/formulahousekeeper/timesheet/src/views/project/list.vue

@@ -440,7 +440,7 @@
                     </el-form-item>
                     <el-form-item :label="$t('Itemno')" :class="title == $t('newproject') && user.companyId == 936 ? 'wpgCssClass' : ''" v-if="user.companyId==936" prop="code">
                         <!-- <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="canOnlyModParticipator || (!permissions.projectManagement && addForm.creatorId != user.id && !permissions.projectCodeAndName)" maxlength="50" show-word-limit="true"></el-input>
+                        <el-input v-model="addForm.code" :placeholder="$t('peaseenterthe')" clearable :disabled="canOnlyModParticipator || (!permissions.projectManagement && addForm.creatorId != user.id && !permissions.projectCodeAndName) || isShowProjectName" maxlength="50" show-word-limit="true"></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"> -->
@@ -459,7 +459,7 @@
                     </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="canOnlyModParticipator || (!permissions.projectManagement && addForm.creatorId != user.id && !permissions.projectCodeAndName)" maxlength="255" show-word-limit="true"></el-input>
+                        <el-input v-model="addForm.name" :placeholder="$t('peaseenterthe')" clearable :disabled="canOnlyModParticipator || (!permissions.projectManagement && addForm.creatorId != user.id && !permissions.projectCodeAndName) || isShowProjectName" maxlength="255" show-word-limit="true"></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> -->
@@ -484,7 +484,7 @@
                         </div>
                     </el-form-item>
 
-                    <el-form-item :label="$t('subordinatedepartments')" :class="title == $t('newproject') && user.companyId == 936 ? 'wpgCssClass' : ''" v-if="user.timeType.projectWithDept">
+                    <el-form-item :label="$t('subordinatedepartments')" :prop="user.companyId == 936 ? 'deptId' : false" :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')" :disabled="canOnlyModParticipator"
                             :props="{ checkStrictly: true, expandTrigger: 'hover' }" clearable filterable @change="cascaderChange" style="width: 100%"
                         ></el-cascader>
@@ -548,7 +548,7 @@
                                 <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" :disabled="canOnlyModParticipator || projectManagerEdit"></selectCat>
+                        <selectCat v-if="user.userNameNeedTranslate == 1" :size="'medium'" :subject="participator" :subjectId="addForm.inchargerId" :distinction="'3'" @selectCal="selectCal" :disabled="canOnlyModParticipator || projectManagerEdit || isShowProjectName"></selectCat>
                     </el-form-item>
                     <el-form-item :label="$t('newspaperauditor')" v-show="user.timeType.reportAuditType == 0 || user.timeType.reportAuditType == 4 || user.timeType.reportAuditType == 6">
                         <el-select v-if="user.userNameNeedTranslate != '1'" @change="$forceUpdate()" v-model="addForm.auditUserIds"  :disabled="!(permissions.projectManagement|| user.id == addForm.inchargerId || user.id == addForm.creatorId)" filterable :placeholder="$t('defaultistheprojectleader')" style="width:100%;" :multiple="user.timeType.reportAuditType != 6" >
@@ -564,7 +564,7 @@
                     </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" :disabled="canOnlyModParticipator">
+                        <el-select v-model="addForm.level"  :placeholder="$t('defaultText.pleaseChoose')" style="width:32%;" v-if="user.timeType.projectLevelState == 1" :disabled="canOnlyModParticipator || isShowProjectName">
                             <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%;" :disabled="canOnlyModParticipator" v-else>
@@ -636,7 +636,7 @@
                     <!-- 单个公司的固定字段 -->
                     <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 :disabled="canOnlyModParticipator"></el-input>
+                        <el-input v-model="addForm.contractCode" maxlength="50" show-word-limit :placeholder="$t('peaseenterthe')" clearable :disabled="canOnlyModParticipator || isShowProjectName"></el-input>
                     </el-form-item>
                     <el-form-item :label="$t('warrantystartime')">
                         <el-date-picker v-model="addForm.warrantyStartDate" 
@@ -664,7 +664,7 @@
                         </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 :disabled="canOnlyModParticipator"></el-input>
+                        <el-input v-model="addForm.region" :placeholder="$t('peaseenterthe')" clearable :disabled="canOnlyModParticipator || isShowProjectName"></el-input>
                     </el-form-item>
                     <el-form-item :label="$t('subordinateBU')" >
                         <el-input v-model="addForm.bu" :placeholder="$t('subordinateBU')" clearable :disabled="canOnlyModParticipator"></el-input>
@@ -1545,6 +1545,7 @@ a {
                     code: [{ required: true, message: this.$t('qing-shu-ru-bian-hao'), trigger: "blur" }],
                     projectStageName: [{ required: true, message: this.$t('pleaseentername'), trigger: "blur" }],
                     projectLevelName: [{ required: true, message: this.$t('pleaseentername'), trigger: "blur" }],
+                    deptId: [{ required: true, message: '请选择所属部门', trigger: "blur" }]
                 },
                 ause: [],
                 auseList: [],
@@ -1654,7 +1655,10 @@ a {
                         label: '服务项目'
                     }
                 ],
-                projectCategorySubId:''
+                projectCategorySubId:'',
+
+                // 威派格定制(只有管理员才能更改项目名称,编号,级别,合同,大区,经理)
+                isShowProjectName: false,
             };
         },
         // 过滤器
@@ -4035,6 +4039,9 @@ a {
                 this.projectManagerEdit = false
                 this.contractAmountReasonShow = false
                 if(i == -1) {
+                    if(this.user.companyId == '936') {
+                        this.isShowProjectName = false
+                    }
                     this.title = this.$t('newproject');
                     this.addForm = {
                         name: '',
@@ -4094,6 +4101,16 @@ a {
                         // console.log(this.projectKeyNodesData, '节点值')
                     }
                 } else {
+                    console.log('点击来编辑执行')
+                    const usersJson = JSON.parse(sessionStorage.getItem("user"))
+                    if(usersJson.companyId == '936') {
+                        if(usersJson.roleName != '超级管理员' && usersJson.roleName != '系统管理员') {
+                            this.isShowProjectName = true
+                        } else {
+                            this.isShowProjectName = false
+                        }
+                    }
+                    console.log(this.isShowProjectName, '看看值')
                     this.http.post('/project/detailTwo', {id: item.id},
                     res => {
                     if (res.code == "ok") {