quwangxin пре 2 година
родитељ
комит
18ee3b8b5c

+ 10 - 0
src/api/materialPlan/index.js

@@ -51,6 +51,16 @@ export async function getById (id) {
   }
   return Promise.reject(new Error(res.data.message));
 }
+/**
+ * 详情
+ */
+export async function getPlanInfoById (id) {
+  const res = await request.get(`/aps/batchingplan/getPlanInfoById/${id}`);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
 /**
  * 发布信息返显
  */

+ 67 - 35
src/views/materialPlan/components/detail/plan.vue

@@ -2,33 +2,51 @@
   <div class="pane-box">
     <HeaderTitle title="生产信息"> </HeaderTitle>
     <el-descriptions :column="5" border>
-      <el-descriptions-item label="计划编号">计划编号</el-descriptions-item>
-      <el-descriptions-item label="物料名称">物料名称</el-descriptions-item>
-      <el-descriptions-item label="物料编码">物料编码</el-descriptions-item>
-      <el-descriptions-item label="牌号">牌号</el-descriptions-item>
-      <el-descriptions-item label="型号">型号</el-descriptions-item>
-      <el-descriptions-item label="生产版本">生产版本</el-descriptions-item>
-      <el-descriptions-item label="产线">产线</el-descriptions-item>
-      <el-descriptions-item label="工艺路线名称"
-        >工艺路线名称</el-descriptions-item
-      >
-      <el-descriptions-item label="工艺路线版本"
-        >工艺路线版本</el-descriptions-item
-      >
-      <el-descriptions-item label="生产重量">生产重量</el-descriptions-item>
-      <el-descriptions-item label="要求交付日期"
-        >要求交付日期</el-descriptions-item
-      >
-      <el-descriptions-item label="创建时间">创建时间</el-descriptions-item>
-      <el-descriptions-item label="计划备注" :span="2"
-        >计划备注</el-descriptions-item
-      >
+      <el-descriptions-item label="计划编号">{{
+        productionPlan.code
+      }}</el-descriptions-item>
+      <el-descriptions-item label="物料名称">{{
+        productionPlan.materialName
+      }}</el-descriptions-item>
+      <el-descriptions-item label="物料编码">{{
+        productionPlan.materialCode
+      }}</el-descriptions-item>
+      <el-descriptions-item label="牌号">{{
+        productionPlan.brandNo
+      }}</el-descriptions-item>
+      <el-descriptions-item label="型号">{{
+        productionPlan.model
+      }}</el-descriptions-item>
+      <el-descriptions-item label="生产版本">{{
+        productionPlan.produceVersionName
+      }}</el-descriptions-item>
+      <el-descriptions-item label="产线">{{
+        productionPlan.code
+      }}</el-descriptions-item>
+      <el-descriptions-item label="工艺路线名称">{{
+        productionPlan.routingName
+      }}</el-descriptions-item>
+      <el-descriptions-item label="工艺路线版本">{{
+        productionPlan.routingVersion
+      }}</el-descriptions-item>
+      <el-descriptions-item label="生产重量">{{
+        productionPlan.num
+      }}</el-descriptions-item>
+      <el-descriptions-item label="要求交付日期">{{
+        productionPlan.deliveryTime
+      }}</el-descriptions-item>
+      <el-descriptions-item label="创建时间">{{
+        productionPlan.createTime
+      }}</el-descriptions-item>
+      <el-descriptions-item label="计划备注" :span="2">{{
+        productionPlan.notes
+      }}</el-descriptions-item>
     </el-descriptions>
     <div class="progress-wrapper">
       <div class="progress-item">
-        <div class="label"> 以生产重量 </div>
+        <div class="label"> 生产重量 </div>
         <el-progress
-          :percentage="20"
+          :percentage="(infoData.completeWeightRatio || 0) * 100"
           color="rgba(0, 191, 191, 1)"
           :text-inside="true"
           :stroke-width="16"
@@ -37,7 +55,7 @@
       <div class="progress-item">
         <div class="label"> 已完成工单 </div>
         <el-progress
-          :percentage="20"
+          :percentage="(infoData.completeOrderRatio || 0) * 100"
           color="rgba(2, 125, 180, 1)"
           :text-inside="true"
           :stroke-width="16"
@@ -45,12 +63,18 @@
       </div>
     </div>
 
-    <ele-pro-table ref="table" :columns="columns" :datasource="[{}]">
+    <ele-pro-table ref="table" :columns="columns" :datasource="workOrderList">
     </ele-pro-table>
   </div>
 </template>
 <script>
   export default {
+    props: {
+      infoData: {
+        type: Object,
+        default: () => ({})
+      }
+    },
     data () {
       return {
         columns: [
@@ -61,47 +85,55 @@
             width: '80'
           },
           {
-            prop: 'name',
+            prop: 'code',
             label: '工单号'
           },
           {
-            prop: 'name',
+            prop: 'productNum',
             label: '生产重量'
           },
           {
-            prop: 'name',
+            prop: 'deviceCode',
             label: '设备编码'
           },
           {
-            prop: 'name',
+            prop: 'deviceName',
             label: '设备名称'
           },
           {
-            prop: 'name',
+            prop: 'planStartTime',
             label: '计划开始时间'
           },
           {
-            prop: 'name',
+            prop: 'startTime',
             label: '实际开始时间'
           },
           {
-            prop: 'name',
+            prop: 'executorName',
             label: '执行人'
           },
           {
-            prop: 'name',
+            prop: 'reportWorkTime',
             label: '报工时间'
           },
           {
-            prop: 'name',
+            prop: 'produceCycle',
             label: '生产周期'
           },
           {
-            prop: 'name',
+            prop: 'name4',
             label: '状态'
           }
         ]
       };
+    },
+    computed: {
+      productionPlan () {
+        return this.infoData.productionPlan || {};
+      },
+      workOrderList () {
+        return this.infoData.workOrderList || [];
+      }
     }
   };
 </script>

+ 3 - 3
src/views/materialPlan/detail.vue

@@ -7,7 +7,7 @@
       </div>
       <el-tabs v-model="activeName">
         <el-tab-pane label="计划信息" name="plan">
-          <plan />
+          <plan :infoData="infoData" />
         </el-tab-pane>
         <el-tab-pane label="物料信息表" name="material">
           <material
@@ -22,7 +22,7 @@
 <script>
   import plan from './components/detail/plan.vue';
   import material from './components/detail/material.vue';
-  import { getProductPlanDetail } from '@/api/productionPlan/index';
+  import { getPlanInfoById } from '@/api/materialPlan/index';
   export default {
     components: { plan, material },
     data () {
@@ -36,7 +36,7 @@
     },
     methods: {
       async getDetail () {
-        const data = await getProductPlanDetail(this.$route.query.id);
+        const data = await getPlanInfoById(this.$route.query.id);
 
         this.infoData = data;
       }

+ 5 - 2
src/views/materialPlan/index.vue

@@ -275,9 +275,12 @@
         });
       },
 
-      goDetail (row) {
+      goDetail ({ id }) {
         this.$router.push({
-          path: '/materialPlan/detail'
+          path: '/materialPlan/detail',
+          query: {
+            id
+          }
         });
       }
     }