Browse Source

Merge remote-tracking branch 'origin/master'

LLL 1 year ago
parent
commit
8e09d5ce20

+ 54 - 10
itdmWeb/src/components/module-iTDM/uGantt/index.vue

@@ -125,8 +125,16 @@
       taskLists: {
         handler(newValue, oldValue){
           console.log(newValue, oldValue)
-          this.changeTableTree()
           if(newValue.length > 0){
+            
+            newValue.forEach(res=>{
+              if(!res.end_date){
+                res.end_date = res.start_date
+              }
+            })
+            console.log(newValue)
+            this.changeTableTree()
+
             this.getStartEndTime()
             this.$nextTick(() => {
               this.uGanttDrag()
@@ -185,16 +193,36 @@
       },
       // 获取最开始和最末尾时间
       getStartEndTime(){
-        // var setTimeData = JSON.parse(JSON.stringify(this.taskLists))
-        var setTimeData = this.taskLists.filter(res=> res.start_date)
-        setTimeData.sort(function(a, b) {
-          return b.start_date < a.start_date ? 1 : -1
+        // 开始日期(实际和计划都)排序选择最开始的一天
+        // var hasSjStartArr = this.taskLists.filter(res=> res.reality_startDate) // 因为计划开始日期一定有,所以就不判断了
+        var allStartDataArr = []
+        this.taskLists.forEach(res=>{
+          // console.log(res.reality_startDate)
+          if(res.reality_startDate){allStartDataArr.push(res.reality_startDate)}
+          allStartDataArr.push(res.start_date)
+        })
+        // 从小到大排序
+        allStartDataArr.sort(function(a, b) {
+          return new Date(a) - new Date(b)
+        })
+        // console.log(allStartDataArr)
+
+        // 结束日期(实际和计划都)排序选择最后的一天
+        var allEndDataArr = []
+        this.taskLists.forEach(res=>{
+          allEndDataArr.push(res.reality_endDate)
+          allEndDataArr.push(res.end_date)
+        })
+        // 从大到小排序
+        allEndDataArr.sort(function(a, b) {
+          return new Date(b) - new Date(a)
         })
-        console.log(this.taskLists)
+        // console.log(allEndDataArr)
 
-        // 获取实际的最开始和最结束时间
-        const start_date = setTimeData[0].start_date
-        const end_date = setTimeData[setTimeData.length - 1].end_date
+        // 获取最开始和最结束时间
+        const start_date = allStartDataArr[0]
+        const end_date = allEndDataArr[0]
+        // const end_date = setTimeData[setTimeData.length - 1].end_date
 
         // 判断两个日期之间多少天--bug:少一天
         var betweenDays = (new Date(end_date).getTime() - new Date(start_date).getTime()) / (1000 * 60 * 60 * 24)
@@ -513,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)
@@ -592,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);
               })
             },

+ 3 - 2
itdmWeb/src/views/module-iTDM/gongdandetail/modules/ItdmGongdanDetailForm.vue

@@ -102,7 +102,7 @@ export default {
         woId: [
           { required: true, message: '请输入工单id!' }
         ],
-        workDate: [
+        shijiWorkDate: [
           { required: true, message: '请输入任务日期!' }
         ],
         startTime: [
@@ -152,7 +152,8 @@ export default {
       var selec1t={id:record.id}
       getAction('/itdmGongdanDetail/itdmGongdanDetail/queryById', selec1t).then((res) => {
         if (res.success) {
-          this.model.shijiWorkDate=res.result.workDate
+          this.model.shijiWorkDate=res.result.shijiWorkDate
+          // this.model.shijiWorkDate=res.result.workDate
           this.model.shijiStartTime=res.result.startTime
           this.model.shijiEndTime=res.result.endTime
         }

+ 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)
-            }
-          })
-        }
       }
     }
 }

+ 36 - 14
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;">
@@ -18,20 +22,20 @@
                 <el-table-column type="index" label="序号" align="center" min-width="60"></el-table-column>
                 <el-table-column prop="date" label="日期" align="center" min-width="120">
                   <template slot-scope="scope">
-                    <el-input v-model="scope.row.date" placeholder="请输入" :readonly="stepParameter.disabled"/>
+                    <el-input v-model="scope.row.date" placeholder="请输入" :disabled="stepParameter.disabled"/>
                   </template>
                 </el-table-column>
                 <el-table-column prop="gongshi" label="工时" align="center" min-width="120">
                   <template slot-scope="scope">
                     <el-form-item :prop="`assessmentLog[${key}].resultData[${scope.$index}].gongshi`" :rules="rules.gongshi">
-                      <el-input-number v-model="scope.row.gongshi" controls-position="right" @change="handleInputChange(item, key, scope.$index)" :min="0" :readonly="stepParameter.disabled"></el-input-number>
+                      <el-input-number v-model="scope.row.gongshi" controls-position="right" @change="handleInputChange(item, key, scope.$index)" :min="0" :disabled="stepParameter.disabled"></el-input-number>
                     </el-form-item>
                   </template>
                 </el-table-column>
                 <el-table-column prop="qiangdu" label="强度" align="center" min-width="120">
                   <template slot-scope="scope">
                     <el-form-item :prop="`assessmentLog[${key}].resultData[${scope.$index}].qiangdu`" :rules="rules.qiangdu">
-                      <el-input-number v-model="scope.row.qiangdu" controls-position="right" @change="handleInputChange(item, key, scope.$index)" :min="0" :readonly="stepParameter.disabled"></el-input-number>
+                      <el-input-number v-model="scope.row.qiangdu" controls-position="right" @change="handleInputChange(item, key, scope.$index)" :min="0" :disabled="stepParameter.disabled"></el-input-number>
                     </el-form-item>
                   </template>
                 </el-table-column>
@@ -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>

+ 3 - 3
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">
@@ -137,7 +137,7 @@
                 <el-table-column prop="time" label="试验时间(h)" align="center" min-width="120">
                   <template slot-scope="scope">
                     <el-form-item :prop="'xnJiesuanPrice.'+scope.$index+'.time'" :rules="rules.time">
-                      <el-input-number v-model="scope.row.time" controls-position="right" @change="handleCheng(scope.row, scope.$index)" :min="1" :readonly="stepParameter.disabled"></el-input-number>
+                      <el-input-number v-model="scope.row.time" controls-position="right" @change="handleCheng(scope.row, scope.$index)" :min="1" :disabled="stepParameter.disabled"></el-input-number>
                     </el-form-item>
                   </template>
                 </el-table-column>
@@ -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)
           // 计算核准虚拟结算额