Ver código fonte

零件追溯页面

zhuhao 3 anos atrás
pai
commit
a247e1dbeb

+ 21 - 1
imcs-ui/src/api/runManageCenter/planMgr.js

@@ -141,6 +141,14 @@ const apiList = {
   checkPlanDetailCuttingTools: {
     method: 'POST',
     url: `/authority/plan/checkPlanDetailCuttingTools`
+  },
+  partsTracedBackPage: {
+    method: 'POST',    
+    url: `/authority/workpiece/page`
+  },
+  prodTracedBackPage: {
+    method: 'POST',
+    url: `/authority/taskTracedBack/page`
   }
 }
 
@@ -335,11 +343,23 @@ export default {
       ...apiList.checkPlanCuttingTools,
       data
     })
-  },
+  }, 
   checkPlanDetailCuttingTools(data) {
     return axiosApi({
       ...apiList.checkPlanDetailCuttingTools,
       data
     })
   },
+  partsTracedBackPage(data) {
+    return axiosApi({
+      ...apiList.partsTracedBackPage,
+      data
+    })
+  },
+  prodTracedBackPage(data) {
+    return axiosApi({
+      ...apiList.prodTracedBackPage,
+      data
+    })
+  },
 }

+ 2 - 1
imcs-ui/src/lang/zh/order.js

@@ -2,7 +2,8 @@ export default {
 	order: {
 		// 本模型下的共通
 		common: {
-      craftCardDialogName: '导出零件工艺模板'
+	  craftCardDialogName: '导出零件工艺模板',
+	  partsTracedBackDialogName: '零件追溯'
 		},
 		// 列表搜索表单名称
 		searchForm: {

+ 83 - 0
imcs-ui/src/views/zuihou/runManageCenter/orderMgr/components/finishedOrder/components/prodTracedBack/index.vue

@@ -0,0 +1,83 @@
+<template>
+  <div class="app-container">
+		<!-- 列表数据 -->
+    <el-table
+      :key="tableKey"
+      ref="table"
+      v-loading="loading"
+      :data="tableData.records"
+      border
+      fit
+      row-key="id"
+      style="width: 100%;"
+    >
+      <!-- 工序号 -->
+      <el-table-column prop="procedureNo" :label='$t("order.form.craftCard.partName")' :show-overflow-tooltip="true"></el-table-column>
+      <!-- 所在设备 -->
+      <el-table-column prop="resourceName" :label='$t("order.form.craftCard.partCode")' :show-overflow-tooltip="true"></el-table-column>
+      <!-- 开始时间 -->
+      <el-table-column prop="startTime" :label='$t("menu.optLog.startTime")' :show-overflow-tooltip="true"></el-table-column>
+      <!-- 结束时间 -->
+      <el-table-column prop="endTime" :label='$t("menu.optLog.finishTime")' :show-overflow-tooltip="true"></el-table-column>
+
+    </el-table>
+    <pagination
+      :limit.sync="queryParams.size"
+      :page.sync="queryParams.current"
+      :total="Number(tableData.total)"
+      @pagination="fetch"
+      v-show="tableData.total > 0"
+    />
+  </div>
+</template>
+
+<script> 
+  import planMgrApi from "@/api/runManageCenter/planMgr"
+  import Pagination from "@/components/Pagination"  
+  import { initQueryParams } from '@/utils/commons'
+	export default {
+	  name: "prodTracedBackCard",
+	  directives: {},
+	  components: {Pagination },
+    props: { 
+    },
+	  data () {
+	    return {
+	      tableKey: 0,
+        loading: false,
+        queryParams: initQueryParams({}),
+        rowData: {},
+        tableData: {
+	        total: 0
+	      },
+	    }
+	  },
+	  // 实例已经在内存中创建好,此时data和methods已将ok,如果要操作data中的数据或是调用methods中的方法,最早只能在created中操作
+	  created() {
+	  	// 加载列表数据
+	  	this.fetch()
+		},
+	  computed: {
+	  },
+	  mounted () {
+	  },
+	  methods: {
+	    fetch (params = {}) {
+        this.loading = true
+        this.queryParams.current = params.current ? params.current : this.queryParams.current;
+        this.queryParams.size = params.size ? params.size : this.queryParams.size;
+        this.queryParams.model.planNo = this.planIds ? this.planIds :this.queryParams.planId
+        planMgrApi.prodTracedBackPage(this.queryParams ).then(response => {
+          const res = response.data 
+	        if (res.isSuccess) {
+            this.tableData = res.data
+             // 给列表设置条数
+	          this.$emit('setTabNums', res.data.total, 'tab6')
+	        }
+	      }).finally(() => this.loading = false)
+	    },
+
+	  }
+	}
+</script>
+<style lang="scss" scoped></style>

+ 117 - 0
imcs-ui/src/views/zuihou/runManageCenter/orderMgr/components/finishedOrder/components/tracedBack/index.vue

@@ -0,0 +1,117 @@
+<template>
+  <div class="app-container">
+		<!-- 列表数据 -->
+    <el-table
+      :key="tableKey"
+      ref="table"
+      v-loading="loading"
+      :data="tableData.records"
+      border
+      fit
+      row-key="id"
+      style="width: 100%;"
+    >
+      <!-- 零件名称 -->
+      <el-table-column prop="bomName" :label='$t("order.form.craftCard.partName")' :show-overflow-tooltip="true"></el-table-column>
+      <!-- 零部件编号 -->
+      <el-table-column prop="uniqueCode" :label='$t("order.form.craftCard.partCode")' :show-overflow-tooltip="true"></el-table-column>
+     
+      <!-- 操作 -->
+      <el-table-column
+        :label="$t('table.operation')"
+        fixed="right"
+        align="center"
+        column-key="operation"
+      >
+        <template slot-scope="{ row }">
+          <a @click="partsTracedBackPage(row)" style="color: #2db7f5">生产追溯</a>
+        </template>
+      </el-table-column>
+    </el-table>
+    <pagination
+      :limit.sync="queryParams.size"
+      :page.sync="queryParams.current"
+      :total="Number(tableData.total)"
+      @pagination="fetch"
+      v-show="tableData.total > 0"
+    />
+
+
+		<el-dialog
+      :visible.sync="prodTracedBackCardVisible"
+      :title='$t("order.common.partsTracedBackDialogName")'
+      width="80%"
+      custom-class="dialogNoTop"
+      @close="prodTracedBackCardClose"
+    >
+      <!--【零件追溯卡片】 -->
+      <partsTracedBackCards
+        :row-data="rowData"
+        :order-id="orderId"
+        @close="prodTracedBackCardClose"
+      />
+    </el-dialog>    
+  </div>
+</template>
+
+<script>
+  // 【完成订单计划】-API
+  import planMgrApi from "@/api/runManageCenter/planMgr"
+  import Pagination from "@/components/Pagination"  
+  import prodTracedBackCards from "@/views/zuihou/runManageCenter/orderMgr/components/finishedOrder/components/prodTracedBack/index"
+  import { initQueryParams } from '@/utils/commons'
+	export default {
+	  name: "partsTracedBackCard",
+	  directives: {},
+	  components: {Pagination },
+    props: { 
+    },
+	  data () {
+	    return {
+	      tableKey: 0,
+        loading: false,
+        prodTracedBackCardVisible: false,
+        orderId:"",
+        queryParams: initQueryParams({}),
+        rowData: {},
+        tableData: {
+	        total: 0
+	      },
+	    }
+	  },
+	  // 实例已经在内存中创建好,此时data和methods已将ok,如果要操作data中的数据或是调用methods中的方法,最早只能在created中操作
+	  created() {
+	  	// 加载列表数据
+	  	this.fetch()
+		},
+	  computed: {
+	  },
+	  mounted () {
+	  },
+	  methods: {
+	    fetch (params = {}) {
+        this.loading = true
+        this.queryParams.current = params.current ? params.current : this.queryParams.current;
+        this.queryParams.size = params.size ? params.size : this.queryParams.size;
+        this.queryParams.model.planNo = this.planIds ? this.planIds :this.queryParams.planId
+        planMgrApi.partsTracedBackPage(this.queryParams ).then(response => {
+          const res = response.data 
+	        if (res.isSuccess) {
+            this.tableData = res.data
+             // 给列表设置条数
+	          this.$emit('setTabNums', res.data.total, 'tab6')
+	        }
+	      }).finally(() => this.loading = false)
+	    },
+		  prodTracedBackCardClose(){
+          this.prodTracedBackCardVisible = false
+      },
+			prodTracedBackPage(row){
+          this.planIds = row.planIds
+          this.rowData = row
+          this.prodTracedBackCardVisible = true
+      },
+	  }
+	}
+</script>
+<style lang="scss" scoped></style>

+ 32 - 5
imcs-ui/src/views/zuihou/runManageCenter/orderMgr/components/finishedOrder/index.vue

@@ -147,7 +147,8 @@
 	            @click="view(row)"
 	          />
           </el-tooltip>
-          <a @click="down(row)" style="color: #2db7f5">导出工艺卡</a>
+          <a @click="partsTracedBackPage(row)" style="color: #2db7f5">零件追溯</a> 
+					<a @click="down(row)" style="color: #2db7f5">导出工艺卡</a>
         </template>
       </el-table-column>
     </el-table>
@@ -199,6 +200,21 @@
         :order-id="orderId"
         @close="craftCardsClose"
       />
+    </el-dialog>
+
+		<el-dialog
+      :visible.sync="partsTracedBackCardVisible"
+      :title='$t("order.common.partsTracedBackDialogName")'
+      width="80%"
+      custom-class="dialogNoTop"
+      @close="partsTracedBackCardClose"
+    >
+      <!--【零件追溯卡片】 -->
+      <partsTracedBackCards
+        :row-data="rowData"
+        :order-id="orderId"
+        @close="partsTracedBackCardClose"
+      />
     </el-dialog>
   </div>
 </template>
@@ -207,7 +223,8 @@
 	import Pagination from "@/components/Pagination"
 	import TenantEdit from "./components/Edit"
 	import TenantView from "./components/View"
-  import craftCards from "@/views/zuihou/runManageCenter/orderMgr/components/finishedOrder/components/craftCards/index"
+	import craftCards from "@/views/zuihou/runManageCenter/orderMgr/components/finishedOrder/components/craftCards/index"
+	import partsTracedBackCards from "@/views/zuihou/runManageCenter/orderMgr/components/finishedOrder/components/tracedBack/index"
 	// 【订单管理】-API
 	import orderMgrApi from "@/api/runManageCenter/orderMgr"
 	// 【计划管理】-API
@@ -217,7 +234,7 @@
 	export default {
 	  name: "DraftOrder",
 	  directives: { elDragDialog },
-	  components: { Pagination, TenantEdit, TenantView ,craftCards},
+	  components: { Pagination, TenantEdit, TenantView ,craftCards,partsTracedBackCards},
 	  props: {
 	  },
 	  data () {
@@ -231,9 +248,11 @@
 	        context: ''
 	      },
 	      tenantViewVisible: false,
-        craftCardsVisible: false,
+				craftCardsVisible: false,
+				partsTracedBackCardVisible: false,
 	      tableKey: 0,
-        orderId:"",
+				orderId:"",
+				plandIds: "",
         rowData:{},
 	      queryParams: initQueryParams({}),
 	      selection: [],
@@ -498,12 +517,20 @@
 	    },
       craftCardsClose(){
           this.craftCardsVisible = false
+			},
+		  partsTracedBackCardClose(){
+          this.partsTracedBackCardVisible = false
       },
       //【工艺卡下载】按钮-事件
       down(row){
           this.orderId = row.id
           this.rowData = row
           this.craftCardsVisible = true
+			},
+			partsTracedBackPage(row){
+          this.planIds = row.planIds
+          this.rowData = row
+          this.partsTracedBackCardVisible = true
       },
 	  }
 	}