Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

LLL 1 год назад
Родитель
Сommit
b4a25df4c3

+ 22 - 0
itdmWeb/src/api/api.js

@@ -171,6 +171,23 @@ const deleteBarcode   = (params)=>deleteAction("/inventory/itdmInventoryBarcode/
 const queryFlowPathSelectList = (params) => getAction('/flowpath/itdmFlowPath/querySelectList', params)
 
 
+// 保存 流程信息
+const runFlowPathSaveData = (params)=>postAction("/flowpath/itdmRunFlowPathStep/save",params);
+
+
+// 通过当前流程
+const runFlowPathPass = (params)=>postAction("/flowpath/itdmRunFlowPathStep/pass",params);
+
+
+
+// 驳回上一节点
+const runFlowPathRejectDQ = (params)=>postAction("/flowpath/itdmRunFlowPathStep/rejectDQ",params);
+
+// 当前运行之前的节点
+const runFlowPathyrunList = (params)=>getAction("/flowpath/itdmRunFlowPathStep/yrunList",params);
+
+// 驳回指定节点
+const runFlowPathrejectzd = (params)=>postAction("/flowpath/itdmRunFlowPathStep/rejectzd",params);
 
 
 // 中转HTTP请求
@@ -272,6 +289,11 @@ export {
   rukuSampleBarcodeList,
   getDeviceCalendar,
   queryFlowPathSelectList,
+  runFlowPathSaveData,
+  runFlowPathPass,
+  runFlowPathRejectDQ,
+  runFlowPathyrunList,
+  runFlowPathrejectzd,
 }
 
 

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

@@ -142,15 +142,15 @@
                 <td><input style="max-width: 150px; text-align: center" v-model="item.shebei" /></td>
                 <td><input style="max-width: 150px; text-align: center" v-model="item.time" /></td>
                 <td><input style="max-width: 150px; text-align: center" v-model="item.price" /></td>
-                <td><input style="max-width: 150px; text-align: center" v-model="item.total" /></td>
+                <td>{{ item.time * item.price }}</td>
                 <td><div class="delBtn" @click="delRow(index)" v-show="tableData.cleanPrice.length >= 2">删除</div></td>
               </tr>
               <tr>
-                <td>合计</td>
+                <td style="font-weight: bold;">合计</td>
                 <td></td>
                 <td></td>
                 <td></td>
-                <td>{{ totalCleanPrice }}</td>
+                <td style="font-weight: bold;">{{ totalCleanPrice }}</td>
               </tr>
             </table>
             <div class="addRow" style="margin-right:1.1%" @click="addRow">添加</div>
@@ -357,8 +357,9 @@ export default {
     totalCleanPrice() {
       let total = 0
       this.tableData.cleanPrice.forEach((item) => {
-        if (!isNaN(item.total)) {
-          total += Number(item.total)
+        var row = item.time * item.price
+        if (!isNaN(row)) {
+          total += Number(row)
         }
       })
       return total.toFixed(2)

+ 137 - 13
itdmWeb/src/views/module-iTDM/itdmYeWu/itdmXqPingshen.vue

@@ -4,28 +4,71 @@
     <table class="main-table">
       <tr>
         <td class="title" style="width: 100px">技术线</td>
-        <td class="content" style="width: 360px">
-          <div style="width: 440px"></div>
+        <td class="content" style="width: 440px;">
+          <div>
+            <el-checkbox-group v-model="tableData.checkList">
+              <div class="jishuxian">
+                <el-checkbox label="气候环境"></el-checkbox>
+                <el-checkbox label="力学环境"></el-checkbox>
+                <el-checkbox label="综合环境"></el-checkbox>
+                <el-checkbox label="可靠性试验"></el-checkbox>
+                <el-checkbox label="仿真计算"></el-checkbox>
+                <el-checkbox label="模态试验"></el-checkbox>
+                <el-checkbox label="外场测试"></el-checkbox>
+                <el-checkbox label="课题研究"></el-checkbox>
+                <el-checkbox label="淋雨试验"></el-checkbox>
+                <el-checkbox label="沙尘试验"></el-checkbox>
+                <el-checkbox label="静强度"></el-checkbox>
+                <el-checkbox label="其他"></el-checkbox>
+              </div>
+            </el-checkbox-group>
+          </div>
         </td>
         <td class="title white" style="width: 100px">产品线</td>
-        <td class="content" style="width: 450px">
-          <input v-model="tableData.shuruLeixing" style="text-align: center" />
+        <td class="content" style="width: 440px">
+          <el-checkbox-group v-model="tableData.checkList2">
+            <div class="jishuxian" style="justify-content: center;">
+              <el-checkbox label="检测试验"></el-checkbox>
+              <el-checkbox label="研制试验"></el-checkbox>
+            </div>
+          </el-checkbox-group>
         </td>
       </tr>
       <tr>
         <td class="title" style="width: 100px">试验分级</td>
-        <td class="content" style="width: 360px">
-          <div style="width: 440px"></div>
+        <td class="content" style="width: 440px">
+          <div style="display: flex;justify-content: center;color: red;align-items:center;">重要性系数:
+            <input v-model="tableData.factor"/>
+          </div>
         </td>
         <td class="title white" style="width: 100px">重要性标准</td>
         <td class="content" style="width: 450px">
-          <input v-model="tableData.shuruLeixing" style="text-align: center" />
+          <div class="jishuxian" style="justify-content: center;">气候试验:0.40  力学试验:0.70  力学/气候:0.55</div>
+          <div class="jishuxian" style="justify-content: center;">重要试验:1.00  非标试验:1.00</div>
         </td>
       </tr>
       <tr>
         <td class="title" style="width: 100px">试验等级</td>
         <td class="content" style="width: 360px">
-          <div style="width: 440px"></div>
+          <div style="display: flex; align-items: flex-end">
+            <table>
+              <tr>
+                <td>序号</td>
+                <td>试验类型</td>
+                <td>实验内容</td>
+                <td>设备选择</td>
+                <td style="width: 60px">操作</td>
+              </tr>
+              <tr v-for="(item, index) in tableData.testDengji" :key="index">
+                <td>{{ index + 1 }}</td>
+                <td><input style="max-width: 100px; text-align: center" v-model="item.type" /></td>
+                <td><input style="max-width: 100px; text-align: center" v-model="item.neirong" /></td>
+                <td><input style="max-width: 100px; text-align: center" v-model="item.device" /></td>
+                <td><div class="delBtn" @click="delRow(index)" v-show="tableData.testDengji.length >= 2">删除</div></td>
+              </tr>
+            </table>
+            <div class="addRow" style="margin-right:1.1%" @click="addRow">添加</div>
+          </div>
         </td>
         <td class="title white" style="width: 100px">备注</td>
         <td class="content" style="width: 450px">
@@ -35,24 +78,55 @@
       <tr>
         <td class="title" style="width: 100px">三外需求</td>
         <td class="content" style="width: 360px" colspan="3">
-          <div style="width: 440px"></div>
+          <div style="display: flex; align-items: flex-end">
+            <table>
+              <tr>
+                <td>序号</td>
+                <td>类型</td>
+                <td>项目</td>
+                <td>单位</td>
+                <td>预算</td>
+                <td style="width: 60px">操作</td>
+              </tr>
+              <tr v-for="(item, index) in tableData.demandSanwai" :key="index">
+                <td>{{ index + 1 }}</td>
+                <td><input style="max-width: 100px; text-align: center" v-model="item.leixing" /></td>
+                <td><input style="max-width: 100px; text-align: center" v-model="item.xiangmu" /></td>
+                <td><input style="max-width: 100px; text-align: center" v-model="item.danwei" /></td>
+                <td><input style="max-width: 100px; text-align: center" v-model="item.yusuan" /></td>
+                <td><div class="delBtn" @click="delRow2(index)" v-show="tableData.demandSanwai.length >= 2">删除</div></td>
+              </tr>
+              <tr>
+                <td style="font-weight: bold;">合计</td>
+                <td></td>
+                <td></td>
+                <td></td>
+                <td style="font-weight: bold;">{{ totalCleanPrice }}</td>
+              </tr>
+            </table>
+            <div class="addRow" style="margin-right:1.1%" @click="addRow2">添加</div>
+          </div>
         </td>
       </tr>
       <tr>
         <td class="title" style="width: 100px">评审结论</td>
         <td class="content" style="width: 360px">
-          <div style="width: 440px"></div>
+          <el-radio-group v-model="tableData.radio">
+            <el-radio :label="1">可以满足</el-radio>
+            <el-radio :label="2">部分满足</el-radio>
+            <el-radio :label="3">不能满足</el-radio>
+          </el-radio-group>
         </td>
         <td class="title white" style="width: 100px">主审人</td>
         <td class="content" style="width: 450px">
-          <input v-model="tableData.shuruLeixing" style="text-align: center" />
+          <!-- <input v-model="tableData.shuruLeixing" style="text-align: center" /> -->
         </td>
       </tr>
       <tr>
         <td class="title" style="width: 100px" colspan="2">项目流转</td>
         <td class="title white" style="width: 100px">工程技术部部长</td>
         <td class="content" style="width: 450px">
-          <input v-model="tableData.shuruLeixing" style="text-align: center" />
+          <!-- <input v-model="tableData.shuruLeixing" style="text-align: center" /> -->
         </td>
       </tr>
     </table>
@@ -65,14 +139,55 @@ export default {
     data() {
         return {
             tableData: {
-              cleanPrice: [
+              // 试验等级
+              testDengji: [
                 {
                   total: 0,
                 },
               ],
+              // 三外需求
+              demandSanwai: [
+                {
+                  total: 0,
+                },
+              ],
+              // 技术线
+              // checkList: ['气候环境','力学环境'],
+              checkList: [],
+              // 产品线
+              checkList2: [],
+              // 重要性系数
+              factor: '',
+              // 评审结论
+              radio: '',
             },
         }
     },
+    computed: {
+      totalCleanPrice() {
+        let total = 0
+        this.tableData.demandSanwai.forEach((item) => {
+          if (!isNaN(item.yusuan)) {
+            total += Number(item.yusuan)
+          }
+        })
+        return total.toFixed(2)
+      },
+    },
+    methods: {
+      addRow() {
+        this.tableData.testDengji.push({})
+      },
+      addRow2() {
+        this.tableData.demandSanwai.push({})
+      },
+      delRow(index) {
+        this.tableData.testDengji.splice(index, 1)
+      },
+      delRow2(index) {
+        this.tableData.demandSanwai.splice(index, 1)
+      },
+    }
 }
 </script>
 
@@ -144,4 +259,13 @@ input {
     font-size: 18px;
     border: 1px solid rgb(30, 53, 65);
 }
+.jishuxian{
+  box-sizing: border-box;
+  text-align: center;
+  line-height: 30px;
+  display: flex;
+  flex-wrap:wrap;
+  padding-left: 3%;
+  /* justify-content: center; */
+}
 </style>

+ 3 - 1
itdmWeb/src/views/user/firstIndex.vue

@@ -39,7 +39,9 @@
         // console.log(this.$refs)
         // 获取图片宽高和top以及left
         var systemWidth = this.$refs.systemContent.offsetWidth
-        var systemHeight = this.$refs.systemContent.offsetHeight
+        // var systemHeight = this.$refs.systemContent.offsetHeight
+        // 因为高度是动态的,所以初始化可能会出现获取不到高度的情况
+        var systemHeight = systemWidth * (700/1476)
         var systemTop = this.$refs.systemContent.offsetTop
         var systemLeft = this.$refs.systemContent.offsetLeft
         // console.log(systemWidth, systemHeight, systemTop, systemLeft)