瀏覽代碼

人员绩效

yuhan 1 年之前
父節點
當前提交
ff4a2726aa

+ 19 - 3
itdmWeb/src/components/module-iTDM/uGantt/index.vue

@@ -197,7 +197,7 @@
         // var hasSjStartArr = this.taskLists.filter(res=> res.reality_startDate) // 因为计划开始日期一定有,所以就不判断了
         var allStartDataArr = []
         this.taskLists.forEach(res=>{
-          console.log(res.reality_startDate)
+          // console.log(res.reality_startDate)
           if(res.reality_startDate){allStartDataArr.push(res.reality_startDate)}
           allStartDataArr.push(res.start_date)
         })
@@ -205,7 +205,7 @@
         allStartDataArr.sort(function(a, b) {
           return new Date(a) - new Date(b)
         })
-        console.log(allStartDataArr)
+        // console.log(allStartDataArr)
 
         // 结束日期(实际和计划都)排序选择最后的一天
         var allEndDataArr = []
@@ -541,7 +541,16 @@
               uGanttTaskItem[i].style.width = ganttWidth + 'px';
             }
             document.onmouseup = function (evt) {
-              uGanttTaskItem[i].style.left = Math.round(moveLen/70) * 70 + 'px';
+              // 移动到最后一列的时候:时间往前+1天
+              var StartLeft = Math.round(moveLen/70) * 70
+              if(StartLeft <= 0){
+                var currentStartData = _this.addDate(_this.uGanttColumns[0].name, -1)
+                _this.uGanttColumns = _this.getBetweenDate(currentStartData, _this.uGanttColumns[_this.uGanttColumns.length - 1].name)
+                uGanttTaskItem[i].style.left = (Math.round(moveLen/70) + 1) * 70 + 'px';
+                // startNum = (uGanttTaskItem[i].offsetLeft)/70
+              } else {
+                uGanttTaskItem[i].style.left = Math.round(moveLen/70) * 70 + 'px';
+              }
               uGanttTaskItem[i].style.width = Math.round(ganttWidth/70) * 70 + 'px';
               var num = (uGanttTaskItem[i].offsetLeft)/70
               // console.log(num)
@@ -620,6 +629,13 @@
               uGanttTaskItem[i].style.width = Math.round(moveLen/70) * 70 + 'px';
               // 2.获取当前甘特条最后位置在第几列--用于赋值
               var num = (uGanttTaskItem[i].offsetLeft + uGanttTaskItem[i].offsetWidth)/70
+
+              // 移动到最后一列的时候:时间+2天
+              if(num >= _this.uGanttColumns.length){
+                var currentEndData = _this.addDate(_this.uGanttColumns[num - 1].name, 2)
+                _this.uGanttColumns = _this.getBetweenDate(_this.uGanttColumns[0].name, currentEndData)
+              }
+
               // 普通赋值
               // _this.ganttLists[0].end_date = _this.uGanttColumns[num - 1].name
               // 3.强制赋值刷新--获取列对应的时间,赋值给左侧的第ganttIndex个项目的end_date

+ 24 - 0
itdmWeb/src/views/module-iTDM/flowpath/ItdmRunFlowPathList.vue

@@ -180,6 +180,7 @@ import ItdmRunFlowPathShenhel1 from './modules/ItdmRunFlowPathShenhel1.vue'
 import { deleteAction, getAction,downFile,getFileAccessHttpUrl } from '@/api/manage'
 import ItdmNextModal from './modules/ItdmNextModal.vue'
 import ItdmExportModal from './modules/ItdmExportModal.vue'
+import { getYeWU, jixiaoPersonPrice } from '@/api/api'
 
 export default {
   name: 'ItdmRunFlowPathList',
@@ -374,9 +375,32 @@ export default {
             onOk() {
               var data = { 'runFlowPath': record.id }
               runFlowPathPass1(data).then(response => {
+                console.log(response)
                 if (response.code == '500') {
                   that.$message.error(response.message)
                 }
+                if (response.code == '200') {
+                  // 1.完结时先获取当前id的人员绩效并每条加入完结时间
+                  getYeWU({id: record.id}).then((jxRes) => {
+                    console.log(11111,jxRes)
+                    var stepList = jxRes.result.stepList[4]
+                    var jixiaoData = JSON.parse(stepList.saveData).assessmentLog
+                    jixiaoData.map(item=>{
+                      item.weituoNo = record.weituoNo,
+                      item.createTime = jxRes.result.flowpahData.updateTime
+                      return item
+                    })
+                    console.log(jixiaoData)
+                    // 2.再通过接口上传人员绩效数据
+                    jixiaoPersonPrice(jixiaoData).then(response=> {
+                      if (response.success) {
+                        // this.$message.success(response.message)
+                      } else {
+                        that.$message.error(response.message)
+                      }
+                    })
+                  })
+                }
                 that.loadData(1);
               })
             },

+ 1 - 19
itdmWeb/src/views/module-iTDM/itdmYeWu/index.vue

@@ -14,7 +14,7 @@ import ItdmXqPingshen from './itdmXqPingshen.vue'
 import ItdmGcShishi from './itdmGcShishi.vue'
 import ItdmBgJiaofu from './itdmBgJiaofu.vue'
 import ItdmXnJiesuan from './itdmXnJiesuan.vue'
-import { getYeWU, runFlowPathSaveData, jixiaoPersonPrice } from '@/api/api'
+import { getYeWU, runFlowPathSaveData } from '@/api/api'
 export default {
   components: { ItdmXmShuru, ItdmXqPingshen, ItdmGcShishi, ItdmBgJiaofu, ItdmXnJiesuan },
     data() {
@@ -73,24 +73,6 @@ export default {
             this.getList()
           }
         })
-        if(saveData.stepBUfen && saveData.stepBUfen === '3'){
-          var arr = JSON.parse(saveData.saveData).assessmentLog
-          var jixiaoData = arr.map(res => {
-            return {
-              weituoNo: this.$route.query.weituoNo,
-              name: res.name,
-              lhJifen: res.lhJifen,
-            }
-          })
-          console.log(jixiaoData)
-          jixiaoPersonPrice(jixiaoData).then(response=> {
-            if (response.success) {
-              // this.$message.success(response.message)
-            } else {
-              this.$message.error(response.message)
-            }
-          })
-        }
       }
     }
 }

+ 33 - 11
itdmWeb/src/views/module-iTDM/itdmYeWu/itdmGcShishi.vue

@@ -1,14 +1,18 @@
 <template>
   <div class="u-OA-jixiao">
     <div class="head">第三部分 项目过程实施</div>
-    <el-form ref="xnJiesuanForm" :model="stepEdit" :rules="rules">
+    <el-form ref="gsShishiForm" :model="stepEdit" :rules="rules">
     <table class="main-table">
       <tr v-for="(item, key) in stepEdit.assessmentLog" :key="key">
         <!-- <td :rowspan="12" style="width: 80px">项目成员<br/>考核日志</td> -->
         <td class="title" style="width: 100px;">
           <div>{{key + 1}}</div>
-          <input v-model="item.name" style="width: 80px;height: 30px;text-align: center" placeholder="" :disabled="stepParameter.disabled"/>
-          <input v-model="item.job" style="width: 80px;height: 30px;text-align: center" placeholder="" :disabled="stepParameter.disabled"/>
+          <el-form-item :prop="`assessmentLog[${key}].name`" :rules="rules.name">
+            <el-input v-model="item.name" :readonly="stepParameter.disabled" placeholder="请输入人员" class="person-input"></el-input>
+          </el-form-item>
+          <el-form-item :prop="`assessmentLog[${key}].job`">
+            <el-input v-model="item.job" :readonly="stepParameter.disabled" placeholder="请输入职务" class="person-input"></el-input>
+          </el-form-item>
         </td>
         <td class="content" colspan="6">
           <div style="display: flex; align-items: flex-end;">
@@ -107,6 +111,7 @@
 </template>
 
 <script>
+import { jixiaoPersonPrice } from '@/api/api'
 
 export default {
   name: 'itdmGcShishi',
@@ -143,6 +148,9 @@ export default {
         isApply: 0, // 是否申请完工
       },
       rules: {
+        name: [
+          { required: true, message: "不能为空", trigger: "change" }
+        ],
         gongshi: [
           { required: true, message: "不能为空", trigger: "change" }
         ],
@@ -271,14 +279,18 @@ export default {
     },
 
     submitData() {
-      console.log(this.stepParameter)
-      var saveData = {
-        stepBUfen: '3',
-        runFlowPathStep: this.stepParameter.id,
-        saveData: JSON.stringify(this.stepEdit),
-      }
-      console.log(saveData)
-      this.$emit('save', saveData)
+      // console.log(this.stepParameter)
+      // console.log(this.$route.query.weituoNo)
+
+      this.$refs["gsShishiForm"].validate(valid => {
+        if (valid) {
+          var saveData = {
+            runFlowPathStep: this.stepParameter.id,
+            saveData: JSON.stringify(this.stepEdit),
+          }
+          this.$emit('save', saveData)
+        }
+      })
     },
   }
 }
@@ -349,4 +361,14 @@ input {
     font-size: 18px;
     border: 1px solid rgb(30, 53, 65);
 }
+</style>
+<style lang="less">
+.person-input{
+  .el-input__inner{
+    border: none;
+    border-bottom: 1px solid #DCDFE6;
+    padding: 0 4px;
+    border-radius: 0;
+  }
+}
 </style>

+ 2 - 2
itdmWeb/src/views/module-iTDM/itdmYeWu/itdmXmShuru.vue

@@ -116,7 +116,7 @@
         <td class="title" style="width: 100px;">项目<br />虚拟结算额</td>
         <td class="content" colspan="3">
           <div style="display: flex;align-items: flex-end;">
-            <el-form ref="xnJiesuanForm" :model="stepEdit" :rules="rules">
+            <el-form ref="xmShuruForm" :model="stepEdit" :rules="rules">
               <el-table :data="stepEdit.xnJiesuanPrice" class="u-dynamic-table" show-summary :summary-method="getSummaries" border ref="table" style="width: 800px;">
                 <el-table-column type="index" label="序号" align="center" min-width="60"></el-table-column>
                 <el-table-column prop="eqName" label="试验设备" align="center" min-width="100">
@@ -341,7 +341,7 @@ export default {
       this.stepEdit.xnJiesuanPrice.push({})
     },
     submitData() {
-      this.$refs["xnJiesuanForm"].validate(valid => {
+      this.$refs["xmShuruForm"].validate(valid => {
         if (valid) {
           console.log(valid)
           // 计算核准虚拟结算额