Quellcode durchsuchen

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper

ggooalice vor 2 Jahren
Ursprung
Commit
25964c99b5

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

@@ -15,6 +15,7 @@ const StringUtil = {
         projectContract: false, // 查看合同金额 //
         projectAllocate: false, // 下拨成本预算 //
         projectPhase: false, // 项目阶段管理 // 
+        projectCodeAndName: false, // 编辑负责项目编码和名称 //
 
         // 组织架构
         structurePersonnel: false, // 人员成本管理 (月成本,时薪,操作) //
@@ -197,6 +198,7 @@ const StringUtil = {
         arr[i] == '负责部门月度工时表' ? obj.reportResponsiblePersonnel = true : ''
         arr[i] == '全部部门参与项目情况表' ? obj.reportAllDepartmentParticipation = true : ''
         arr[i] == '负责部门参与项目情况表' ? obj.reportResponsibleDepartmentParticipation = true : ''
+        arr[i] == '编辑负责项目编码和名称' ? obj.projectCodeAndName = true : ''
     }
 
     return obj

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

@@ -325,10 +325,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></el-input>
+                    <el-input v-model="addForm.code"  :placeholder="$t('peaseenterthe')" clearable :disabled="!permissions.projectManagement && addForm.creatorId != user.id && !permissions.projectCodeAndName"></el-input> 
                 </el-form-item>
                 <el-form-item :label="$t('headerTop.projectName')" prop="name">
-                    <el-input v-model="addForm.name"  :placeholder="$t('peaseenterthe')" 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-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>

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

@@ -405,7 +405,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></el-input>
+                        <el-input v-model="addForm.code" :placeholder="$t('peaseenterthe')" clearable :disabled="!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"> -->
@@ -424,7 +424,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></el-input>
+                        <el-input v-model="addForm.name" :placeholder="$t('peaseenterthe')" clearable :disabled="!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> -->

+ 3 - 0
fhKeeper/formulahousekeeper/timesheet/src/views/task/list.vue

@@ -1601,6 +1601,7 @@ import { error } from 'dingtalk-jsapi';
                 })
             },
             submitInsert() {
+                this.addLoading = true
                 if (this.textContent !== true) return  this.$message({
                     showClose: true,
                     message: this.$t('pictureistoolargepleaseuploaditagain'),
@@ -1633,6 +1634,7 @@ import { error } from 'dingtalk-jsapi';
                         this.addForm.executorListStr = JSON.stringify(this.addForm.executorListFront);
                         this.http.post('/task/save',this.addForm,
                             res => {
+                                this.addLoading = false
                                 if (res.code == "ok") {
                                     this.$message({
                                         message: this.$t('message.submittedSuccessfully'),
@@ -1658,6 +1660,7 @@ import { error } from 'dingtalk-jsapi';
                                 }
                             },
                             error => {
+                                this.addLoading = false
                                 this.$message({
                                     message: error,
                                     type: "error"

+ 23 - 6
fhKeeper/formulahousekeeper/timesheet/src/views/team/index.vue

@@ -302,28 +302,31 @@
 
                 <!-- 主要负责人 -->
                 <el-form-item :label="$t('Principalpersoninharge')" prop="managerId">
-                    <el-select v-model="depForm.managerId" filterable  clearable  :placeholder="$t('defaultText.pleaseChoose')" style="width: 100%">
+                    <el-select v-model="depForm.managerId" filterable v-if="user.userNameNeedTranslate != '1'" clearable  :placeholder="$t('defaultText.pleaseChoose')" style="width: 100%">
                         <el-option v-for="item in users" :key="item.id" :label="item.name" :value="item.id">
                           <span style="float: left">{{ item.name }}</span>
                           <span style="float: right; color: #8492a6; font-size: 13px">{{ item.jobNumber }}</span>
                         </el-option>
                     </el-select>
+                    <selectCat :size="'small'" :widthStr="'360'" v-if="user.userNameNeedTranslate == '1'" :subject="users" :subjectId="depForm.managerId" :distinction="'3'" @selectCal="selectCal"></selectCat>
                 </el-form-item>
 
-                <!-- 其他负责人 -->
+                <!-- 其他负责人 --> 
                 <el-form-item :label="$t('responsiblepersons')" prop="managerId">
-                    <el-select v-model="depForm.otherManagerIds" filterable  clearable multiple style="width: 100%" :placeholder="$t('defaultText.pleaseChoose')" >
+                    <el-select v-model="depForm.otherManagerIds" filterable v-if="user.userNameNeedTranslate != '1'" clearable multiple style="width: 100%" :placeholder="$t('defaultText.pleaseChoose')" >
                         <el-option v-for="item in users" :key="item.id" :label="item.name" :value="item.id">
                           <span style="float: left">{{ item.name }}</span>
                           <span style="float: right; color: #8492a6; font-size: 13px">{{ item.jobNumber }}</span>
                         </el-option>
                     </el-select>
+                    <selectCat :size="'small'" :widthStr="'360'" v-if="user.userNameNeedTranslate == '1'" :subject="users" :subjectId="depForm.otherManagerIds" :distinction="'4'" @selectCal="selectCal"></selectCat>
                 </el-form-item>
                 <!-- 直属领导 -->
-                <el-form-item :label="$t('leadership')" prop="reportAuditUserid" v-if="user.timeType.needDeptAudit">
+                <el-form-item :label="$t('leadership')" prop="reportAuditUserid" v-if="user.timeType.needDeptAudit && user.userNameNeedTranslate != '1'">
                     <el-select v-model="depForm.reportAuditUserid" filterable  clearable  :placeholder="$t('defaultText.pleaseChoose')" style="width: 100%">
                         <el-option v-for="item in users" :key="item.id" :label="item.name" :value="item.id"></el-option>
                     </el-select>
+                    <selectCat :size="'small'" :widthStr="'360'" v-if="user.userNameNeedTranslate == '1'" :subject="users" :subjectId="depForm.reportAuditUserid" :distinction="'5'" @selectCal="selectCal"></selectCat>
                 </el-form-item>
             </el-form>
             <span slot="footer" class="dialog-footer">
@@ -722,11 +725,15 @@ import dragMixin from "@/common/js/tensile.js";
 import util from "../../common/js/util";
  // 引入自定义级联组件
 import vueCascader from "@/components/cascader.vue"
+// 自定义select组件
+import selectCat from "@/components/select.vue"
+
 let that
 export default {
   name: "Home",
   components: {
-    vueCascader
+    vueCascader,
+    selectCat
   },
   mixins: [dragMixin],
   created() {
@@ -3295,7 +3302,17 @@ export default {
           arr.push(obj.id)
           this.insertForm.departmentId = arr
         } 
-    } 
+    } ,
+    // 自定义组件事件
+    selectCal(obj) {
+      if(obj.distinction == '4') {
+        this.depForm.otherManagerIds = obj.id
+      } else if(obj.distinction == '3') {
+        this.depForm.managerId = obj.id
+      } else if(obj.distinction == '5'){
+        this.depForm.reportAuditUserid = obj.id
+      }
+    }
   },
   mounted() {
     this.deactiveDate = util.formatDate.format(new Date(), "yyyy-MM-dd");