Browse Source

指定领料追踪:指定领料未领取、额外领取数查看详情弹窗

l1069030731 2 years ago
parent
commit
a8e3c7209c

+ 99 - 0
src/view/store-out-manage/picking-tracking/details-modal.vue

@@ -0,0 +1,99 @@
+<template>
+  <div>
+    <Table :columns="columns" :data="tableList"></Table>
+  </div>
+</template>
+
+<script>
+import axios from 'axios'
+
+export default {
+  name: 'details-modal',
+  props: {
+    rowData: {
+      type: Object,
+      default() {
+        return {}
+      }
+    },
+    parameter: {
+      type: Object,
+      default() {
+        return {}
+      }
+    }
+  },
+  data() {
+    return {
+      openDetails: true,
+      tableList: [],
+      columns: [
+        {
+          title: '物料名称',
+          key: 'materialName'
+        },
+        {
+          title: '标签值',
+          key: 'materialRfid'
+        },
+        {
+          title: '门幅',
+          key: 'materialWidth',
+          width: 120,
+          align: 'center',
+          render: (h, params) => {
+            return h('div', [
+              h('Icon', {
+                props: {
+                  type: 'person'
+                }
+              }),
+              h('strong', params.row.materialWidth + 'cm')
+            ])
+          }
+        },
+        {
+          title: '长度',
+          key: 'quantity',
+          width: 100,
+          align: 'center',
+          render: (h, params) => {
+            return h('div', [
+              h('Icon', {
+                props: {
+                  type: 'person'
+                }
+              }),
+              h('strong', params.row.quantity + 'cm')
+            ])
+          }
+        },
+        {
+          title: '技术员',
+          key: 'userName',
+          width: 100,
+          align: 'center'
+        }
+      ]
+    }
+  },
+  mounted() {
+    this.getDetails()
+  },
+  methods: {
+    getDetails() {
+      axios
+        .post('/cloudApi/stockDetail/appointInfo', {
+          ...this.parameter,
+          materialCode: this.rowData.code
+        })
+        .then(res => {
+          this.tableList = res.data.data
+        })
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+</style>

+ 45 - 8
src/view/store-out-manage/picking-tracking/picking-tracking.vue

@@ -106,16 +106,37 @@
     <div class="main">
       <my-table :data="tableList" :columns="columns" :isShowPage="false"></my-table>
     </div>
+
+    <modal
+      v-model="openDetails"
+      :title="detailsTitle"
+      :footer-hide="true"
+      width="60%"
+      class-name="vertical-center-modal"
+    >
+      <details-modal
+        v-if="openDetails"
+        :rowData="rowData"
+        :parameter="{
+          type: type,
+          beginTime: beginTime,
+          endTime: endTime,
+          jobNo: jobNo,
+          pickingType: pickingType
+        }"
+      ></details-modal>
+    </modal>
   </div>
 </template>
 
 <script>
 import axios from 'axios'
 import MyTable from '_c/my-table/my-table'
+import DetailsModal from './details-modal'
 
 export default {
   name: 'picking_tracking',
-  components: { MyTable },
+  components: { MyTable, DetailsModal },
   data() {
     return {
       dataArea: [],
@@ -254,16 +275,22 @@ export default {
                   h(
                     'ul',
                     params.row.list.map(item => {
+                      let _this = this
                       return h(
                         'li',
                         {
                           style: {
                             color: 'red',
-                            cursor: 'pointer'
+                            cursor: 'pointer',
+                            'text-decoration': 'underline'
                           },
                           on: {
-                            click() {
-                              console.log(item)
+                            click(e) {
+                              e.stopPropagation()
+                              _this.pickingType = '1'
+                              _this.detailsTitle = '指定领料未领卷数'
+                              _this.rowData = item
+                              _this.openDetails = true
                             }
                           }
                         },
@@ -297,16 +324,22 @@ export default {
                   h(
                     'ul',
                     params.row.list.map(item => {
+                      let _this = this
                       return h(
                         'li',
                         {
                           style: {
                             color: 'red',
-                            cursor: 'pointer'
+                            cursor: 'pointer',
+                            'text-decoration': 'underline'
                           },
                           on: {
-                            click() {
-                              console.log(item)
+                            click(e) {
+                              e.stopPropagation()
+                              _this.pickingType = '2'
+                              _this.detailsTitle = '额外领料卷数'
+                              _this.rowData = item
+                              _this.openDetails = true
                             }
                           }
                         },
@@ -627,7 +660,11 @@ export default {
             }
           }
         }
-      ]
+      ],
+      pickingType: '',
+      detailsTitle: '',
+      rowData: {},
+      openDetails: false
     }
   },
   mounted() {