Quellcode durchsuchen

1 3 5优化以及样式优化

yuhan vor 1 Jahr
Ursprung
Commit
a4eebf5a34

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

@@ -2,9 +2,9 @@
     <a-card :bordered="false">
         <itdm-xm-shuru :tableData1="tableData1" @save="runFlowPathSaveData"></itdm-xm-shuru>
         <itdm-xq-pingshen :tableData2="tableData2"></itdm-xq-pingshen>
-        <itdm-gc-shishi :tableData3="tableData3"></itdm-gc-shishi>
+        <itdm-gc-shishi :tableData3="tableData3" @save="runFlowPathSaveData"></itdm-gc-shishi>
         <itdm-bg-jiaofu :tableData4="tableData4"></itdm-bg-jiaofu>
-        <itdm-xn-jiesuan :tableData5="tableData5"></itdm-xn-jiesuan>
+        <itdm-xn-jiesuan :tableData5="tableData5" @save="runFlowPathSaveData"></itdm-xn-jiesuan>
     </a-card>
 </template>
 
@@ -58,9 +58,9 @@ export default {
         })
       },
       runFlowPathSaveData(saveData){
-        // console.log(saveData)
+        console.log(saveData)
         runFlowPathSaveData(saveData).then(response => {
-          // console.log(response)
+          console.log(response)
           if (response.success) {
             this.$message.success(response.message)
           }

+ 3 - 1
itdmWeb/src/views/module-iTDM/itdmYeWu/itdmBgJiaofu.vue

@@ -1,5 +1,5 @@
 <template>
-  <div>
+  <div class="u-OA-jixiao">
     <div class="head">第四部分 试验报告交付</div>
     <table class="main-table">
       <tr>
@@ -197,6 +197,7 @@ table * {
 table {
   border: 1px solid rgb(30, 53, 65);
   width: 100%;
+  table-layout:fixed;
 }
 td {
   text-align: center;
@@ -211,6 +212,7 @@ tr {
 }
 .title {
   background-color: #fff;
+  font-weight: bold;
 }
 .addRow {
   width: 60px;

+ 63 - 21
itdmWeb/src/views/module-iTDM/itdmYeWu/itdmGcShishi.vue

@@ -1,17 +1,17 @@
 <template>
-  <div>
+  <div class="u-OA-jixiao">
     <div class="head">第三部分 项目过程实施</div>
     <table class="main-table">
       <tr v-for="(item, index) in stepEdit.assessmentLog" :key="index">
         <!-- <td :rowspan="12" style="width: 80px">项目成员<br/>考核日志</td> -->
-        <td class="title" style="width: 100px">
+        <td class="title" style="width: 100px;">
           <div>{{index + 1}}</div>
-          <input v-model="item.name" style="width: 80px;text-align: center" placeholder="" :disabled="stepParameter.disabled"/>
-          <input v-model="item.job" style="width: 80px;text-align: center" placeholder="" :disabled="stepParameter.disabled"/>
+          <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"/>
         </td>
-        <td class="content" colspan="3">
+        <td class="content" colspan="8">
           <div style="display: flex; align-items: flex-end;">
-            <div>
+            <div style="width: 500px;">
               <div>——★考核结果★——工作质量10×积极性10×工作量{{item.resultData.gongshi * item.resultData.qiangdu}}=得分{{10*10*item.resultData.gongshi * item.resultData.qiangdu}}</div>
               <table>
                 <thead>
@@ -26,11 +26,11 @@
                   <td style="width: 80px;">警告数</td> -->
                   <!-- <td style="width: 60px">操作</td> -->
                 </thead>
-                <tr>
+                <tr style="height: 30px;">
                   <td>1</td>
-                  <td><input style="width: 80px;" v-model="item.resultData.date" :disabled="stepParameter.disabled" /></td>
-                  <td><input style="width: 80px;" v-model="item.resultData.gongshi" :disabled="stepParameter.disabled" /></td>
-                  <td><input style="width: 80px;" v-model="item.resultData.qiangdu" :disabled="stepParameter.disabled" /></td>
+                  <td><input style="width: 80px;height: 20px;" v-model="item.resultData.date" :disabled="stepParameter.disabled" /></td>
+                  <td><input style="width: 80px;height: 20px;" v-model="item.resultData.gongshi" :disabled="stepParameter.disabled" /></td>
+                  <td><input style="width: 80px;height: 20px;" v-model="item.resultData.qiangdu" :disabled="stepParameter.disabled" /></td>
                   <td>{{item.resultData.gongshi*item.resultData.qiangdu}}</td>
                 </tr>
                 <!-- <td><input style="width: 80px;" v-model="item.resultData.gaozhiNum" /></td>
@@ -40,17 +40,47 @@
                 <!-- <td><div class="delBtn" @click="delRow(index)" v-show="stepEdit.cleanPrice.length >= 2">删除</div></td> -->
               </table>
             </div>
+            <div v-if="index !== 0" class="addRow" @click="delRow(index)" :style="{'pointer-events':stepParameter.disabled?'none':'auto'}">删除</div>
             <div v-if="index === stepEdit.assessmentLog.length - 1" class="addRow" @click="addRow" :style="{'pointer-events':stepParameter.disabled?'none':'auto'}">添加</div>
           </div>
         </td>
         <!-- <td class="content" style="width: 100px">量化积分</td> -->
       </tr>
       <tr>
-        <td class="title" style="width: 80px">非考核<br/>支持人员</td>
-        <td class="content" style="width: 100px">
+        <td class="title" style="width: 100px;">非考核<br/>支持人员</td>
+        <td class="content" colspan="4">
+          <el-table :data="stepEdit.feikaohePersons" class="u-dynamic-table" style="width: 100%" border>
+            <el-table-column type="index" label="序号" min-width="50" align="center"></el-table-column>
+            <el-table-column prop="person" label="人员" min-width="60" align="center">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.person" placeholder="请输入" :readonly="stepParameter.disabled"/>
+              </template>
+            </el-table-column>
+            <el-table-column prop="content" label="支持内容" min-width="80" align="center">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.content" placeholder="请输入" :readonly="stepParameter.disabled"/>
+              </template>
+            </el-table-column>
+            <el-table-column prop="time" label="支持工时" min-width="80" align="center">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.time" placeholder="请输入" :readonly="stepParameter.disabled"/>
+              </template>
+            </el-table-column>
+            <el-table-column prop="remark" label="备注" min-width="80" align="center">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.remark" placeholder="请输入" :readonly="stepParameter.disabled"/>
+              </template>
+            </el-table-column>
+            <el-table-column label="操作" min-width="100" align="center">
+              <template slot-scope="scope">
+                <el-button type="text" size="small" @click="stepEdit.feikaohePersons.splice(scope.$index, 1)" :style="{'pointer-events':stepParameter.disabled?'none':'auto'}">删除</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+          <div @click="stepEdit.feikaohePersons.push({})">添加</div>
         </td>
-        <td class="title white" style="width: 80px">项目成员<br/>考核汇总</td>
-        <td class="content" style="width: 100px" colspan="2">
+        <td class="title white" style="width: 100px;">项目成员<br/>考核汇总</td>
+        <td class="content" colspan="3">
           <span>工时:{{ zongGongshi }}</span>
           <span>强度:{{ zongQiangdu }}</span>
           <span>工作量:{{ zongGongzuoliang }}</span>
@@ -58,12 +88,16 @@
         </td>
       </tr>
       <tr>
-        <td class="title" style="width: 80px">项目完工<br/>申请</td>
-        <td class="content" style="width: 100px">
+        <td class="title" style="width: 100px;">项目完工<br/>申请</td>
+        <td class="content" colspan="4">
+          <el-radio-group v-model="stepEdit.isApply" :disabled="stepParameter.disabled">
+            <el-radio :label="0">是</el-radio>
+            <el-radio :label="1">否</el-radio>
+          </el-radio-group>
         </td>
-        <td class="title white" style="width: 80px">提交人</td>
-        <td class="content" style="width: 100px" colspan="2">
-          {{ stepParameter.fqUser }} {{ stepParameter.shenheTime }}
+        <td class="title white" style="width: 100px;">提交人</td>
+        <td class="content" colspan="3">
+          {{ stepParameter.fqUserName }} {{ stepParameter.shenheTime }}
           <div class="btn" @click="submitData" :style="{'pointer-events':stepParameter.disabled?'none':'auto'}">保存</div>
         </td>
       </tr>
@@ -86,13 +120,15 @@ export default {
     return {
       stepParameter: {
         disabled: true,
-        fqUser: null,
+        fqUserName: null,
         shenheTime: null,
       },
       stepEdit: {
         assessmentLog: [
           { name: '', job: '', resultData: {gongshi: 0, qiangdu: 0} }
-        ]
+        ],
+        feikaohePersons: [],
+        isApply: 0,
       },
     }
   },
@@ -176,11 +212,15 @@ export default {
     addRow(){
       this.stepEdit.assessmentLog.push({ name: '', job: '', resultData: {gongshi: 0, qiangdu: 0} })
     },
+    delRow(index){
+      this.stepEdit.assessmentLog.splice(index, 1)
+    },
     submitData() {
       var saveData = {
         runFlowPathStep: this.stepParameter.id,
         saveData: JSON.stringify(this.stepEdit),
       }
+      console.log(saveData)
       this.$emit('save', saveData)
     },
   }
@@ -196,6 +236,7 @@ table * {
 table {
   border: 1px solid rgb(30, 53, 65);
   width: 100%;
+  table-layout:fixed;
 }
 td {
   text-align: center;
@@ -210,6 +251,7 @@ tr {
 }
 .title {
   background-color: #fff;
+  font-weight: bold;
 }
 .addRow {
   width: 60px;

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

@@ -162,7 +162,7 @@
         </td>
         <td class="title">主审人</td>
         <td class="content">
-            {{ stepReview.fqUser }}
+            {{ stepReview.fqUserName }}
             {{stepReview.shenheTime}}
             <div class="btn" @click="submitReview" :style="{'pointer-events':stepReview.disabled?'none':'auto'}">保存</div>
         </td>
@@ -211,7 +211,7 @@ export default {
         id: null,
         disabled: true,
         reviewResult: null,
-        fqUser: null,
+        fqUserName: null,
         shenheTime: null
       },
       // 试验设备数据

+ 32 - 19
itdmWeb/src/views/module-iTDM/itdmYeWu/itdmXnJiesuan.vue

@@ -1,5 +1,5 @@
 <template>
-  <div>
+  <div class="u-OA-jixiao">
     <div class="head">第五部分 试验虚拟结算</div>
     <table class="main-table">
       <tr>
@@ -65,7 +65,7 @@
       <tr>
         <td class="title" style="width: 100px">项目得分<br/>(百分制)</td>
         <td class="content" style="width: 360px">
-          <input v-model="stepEdit.fenshu" style="text-align: center" :disabled="stepParameter.disabled"/>
+          <el-input-number v-model="stepEdit.fenshu" :precision="0" :min="1" :max="100" label="项目满意度" :disabled="stepParameter.disabled"></el-input-number>
         </td>
         <!-- <td class="content" style="width: 100px" colspan="2"></td> -->
         <td class="title white" style="width: 100px">虚拟结算<br/>绩效总额</td>
@@ -84,7 +84,7 @@
         <!-- <td class="content" style="width: 100px" colspan="2"></td> -->
         <td class="title white" style="width: 100px">核准人	</td>
         <td class="content" style="width: 350px">
-          {{ stepParameter.fqUser }}
+          {{ stepParameter.fqUserName }}
             {{stepParameter.shenheTime}}
             <div class="btn" @click="submitSCReview()" :style="{'pointer-events':stepParameter.disabled?'none':'auto'}">保存</div>
         </td>
@@ -94,12 +94,15 @@
         <td class="" style="width: 100px;">{{item.title}}</td>
         <td class="title" style="width: 100px">{{item.name}}</td>
         <td class="content" style="width: 360px;">
-          <input v-model="item.reviewResult" style="text-align: center" :disabled="item.disabled"/>
+          <div v-if="item.sort === '11' && !item.disabled">
+            考核系数:100%;(对应哪儿个)  实际积分:{{ (stepEdit.xnJixiaoZonge * stepEdit.manyidu)/100 }}
+          </div>
+          <input v-else v-model="item.reviewResult" style="text-align: center;width: 100%;" :disabled="item.disabled"/>
         </td>
         <!-- <td class="content" style="width: 100px" colspan="2"></td> -->
         <td class="title white" style="width: 100px">{{item.person}}	</td>
         <td class="content" style="width: 350px;">
-          {{ item.fqUser }} {{item.shenheTime}}
+          {{ item.fqUserName }} {{item.shenheTime}}
           <div class="btn" @click="submitReview(item)" :style="{'pointer-events':item.disabled?'none':'auto'}">保存</div>
         </td>
       </tr>
@@ -134,7 +137,7 @@ export default {
         xnJiesuanE: [],
         tichengJishu: null,
         manyidu: 100,
-        fenshu: null,
+        fenshu: 100,
         jixiaoData: [],
         xnJixiaoZonge: null,
         // hasMYDJixiaoZonge: null,
@@ -150,7 +153,7 @@ export default {
           bgc: '#E5E0EC',
           disabled: true,
           reviewResult: null,
-          fqUser: null,
+          fqUserName: null,
           shenheTime: null,
           sort: '9',
         },
@@ -161,7 +164,7 @@ export default {
           bgc: '#F2DCDB',
           disabled: true,
           reviewResult: null,
-          fqUser: null,
+          fqUserName: null,
           shenheTime: null,
           sort: '10',
         },
@@ -172,7 +175,7 @@ export default {
           bgc: '#E5B9B7',
           disabled: true,
           reviewResult: null,
-          fqUser: null,
+          fqUserName: null,
           shenheTime: null,
           sort: '11',
         },
@@ -183,7 +186,7 @@ export default {
           bgc: '#DBEEF3',
           disabled: true,
           reviewResult: null,
-          fqUser: null,
+          fqUserName: null,
           shenheTime: null,
           sort: '12',
         },
@@ -206,6 +209,12 @@ export default {
         if(newV && newV[0]){
           console.log(newV)
           var arrData = newV
+          
+          var obj = arrData.find(res => res.sort === '8')
+          this.stepEdit = obj.saveData ? JSON.parse(obj.saveData) : this.stepEdit
+          this.stepParameter = obj
+          this.stepParameter.disabled = !(obj.dangqian && obj.isUpdate)
+          
           if(arrData[0].saveData){
             // 计算核准虚拟结算额
             var xnJiesuanPrice = JSON.parse(arrData[0].saveData).xnJiesuanPrice
@@ -215,17 +224,12 @@ export default {
             // 计算虚拟结算绩效总额
             this.computeJXXishuZonge()
           }
-
-          var obj = arrData.find(res => res.sort === '8')
-          this.stepParameter = obj
-          this.stepParameter.disabled = !(obj.dangqian && obj.isUpdate)
-
           // 核准循环赋值
           this.reviewLists.forEach(item => {
             var objItem = arrData.find(res => res.sort === item.sort)
             item.id = objItem.id
             item.reviewResult = objItem.saveData ? JSON.parse(objItem.saveData).reviewResult : null
-            item.fqUser = objItem.fqUser
+            item.fqUserName = objItem.fqUserName
             item.shenheTime = objItem.shenheTime
             item.disabled = !(objItem.dangqian && objItem.isUpdate)
           })
@@ -413,9 +417,16 @@ export default {
       this.$emit('save', saveData)
     },
     submitReview(item){
-      var saveData = {
-        runFlowPathStep: item.id,
-        saveData: JSON.stringify({reviewResult: item.reviewResult}),
+      if(item.sort === '11'){
+        var saveData = {
+          runFlowPathStep: item.id,
+          saveData: JSON.stringify({reviewResult: `考核系数:100%;(对应哪儿个)  实际积分: ${(this.stepEdit.xnJixiaoZonge * this.stepEdit.manyidu)/100} `}),
+        } 
+      } else {
+        var saveData = {
+          runFlowPathStep: item.id,
+          saveData: JSON.stringify({reviewResult: item.reviewResult}),
+        }
       }
       console.log(saveData)
       this.$emit('save', saveData)
@@ -434,6 +445,7 @@ table * {
 table {
   border: 1px solid rgb(30, 53, 65);
   width: 100%;
+  table-layout:fixed;
 }
 td {
   text-align: center;
@@ -448,6 +460,7 @@ tr {
 }
 .title {
   background-color: #fff;
+  font-weight: bold;
 }
 .addRow {
   width: 60px;

+ 1 - 0
itdmWeb/src/views/module-iTDM/itdmYeWu/itdmXqPingshen.vue

@@ -321,6 +321,7 @@ tr {
 }
 .title {
   background-color: #fff;
+  font-weight: bold;
 }
 .addRow {
   padding: 6px 10px;