oyq28 1 vuosi sitten
vanhempi
commit
55a06b109f

+ 1 - 1
imcs-ui/src/components/Plugins/Plugins.js

@@ -30,7 +30,7 @@ export default {
          	WAITINGLIST: [{ value: '', label: '全部'},{ value: '1',label: '待处理'},{ value: '2', label: '已处理' }],
          	// [程序执行状态]
          	STATUSTASKLIST: [{ value: '', label: '全部'},{ value: '1',label: '执行中'},{ value: '0', label: '停止' },{ value: '2', label: '已完成' }],
-         	TOOLTASKLSIT: [{ value: '', label: '全部'},{ value: '1',label: '未开始'},{ value: '2', label: '进行中' },{ value: '3', label: '已完成' }],
+         	TOOLTASKLSIT: [{ value: '', label: '全部'},{ value: '0',label: '未扫描'},{ value: '1', label: '部分扫描' },{ value: '2', label: '全部扫描' }],
          	// 【生产资源】的[在线状态]
          	INLINESTATUSLIST: [{ value: '', label: '全部'},{ value: '2',label: '生产中'},{ value: '0', label: '离线'},{ value: '1', label: '空闲'},{ value: '3', label: '报警'}],
 

+ 16 - 0
imcs-ui/src/utils/commons.js

@@ -131,6 +131,22 @@ export const initQueryParams = params => {
   return params ? { ...defParams, ...params } : defParams;
 }
 
+export const initQueryParams0 = params => {
+  const defParams = {
+    size: 10,
+    current: 1,
+    sort: 'id',
+    order: 'descending',
+    model: {
+      "scanResult":""
+    },
+    map: {},
+    timeRange: null,
+    timeRange1: null
+  };
+  return params ? { ...defParams, ...params } : defParams;
+}
+
 // 数组对象根据某个参数,去重
 export const arrReduce = (arr, field) => {
 	let obj = {} // 用来存放已经出现过的id

+ 28 - 18
imcs-ui/src/views/zuihou/centralToolMagazine/changeToolTask/Index.vue

@@ -2,13 +2,13 @@
   <div class="app-container">
 		<!-- 搜索模块 -->
     <div class="filter-container">
-    	<span>
+<!--    	<span>
     		<span>订单名称:</span>
     		<el-input v-model="queryParams.model.orderName" :placeholder='$t("common.pleaseEnter")' style="width: 150px;" size="medium"/>
-    	</span>
+    	</span>-->
     	<span style="margin-left: 15px;">
     		<span>{{$t("lineSide.searchForm.status")}}:</span>
-    		<el-select v-model="queryParams.model.status" :placeholder='$t("common.pleaseSelect")' size="medium" style="width: 150px;">
+    		<el-select v-model="queryParams.model.scanResult" :placeholder='$t("common.pleaseSelect")' size="medium" style="width: 150px;">
         	<el-option
 			      v-for="item in audioStatus"
 			      :key="item.value"
@@ -41,13 +41,13 @@
     >
     	<el-table-column label='' width="50" align="center"></el-table-column>
       <el-table-column align="center" type="selection" width="50" :reserve-selection="true" />
-      <el-table-column prop="orderName" :label='"订单名称"' :show-overflow-tooltip="true"></el-table-column>
+<!--      <el-table-column prop="orderName" :label='"订单名称"' :show-overflow-tooltip="true"></el-table-column>-->
       <el-table-column prop="deviceName" :label='"设备名称"' :show-overflow-tooltip="true" ></el-table-column>
       <el-table-column prop="needToolCategory" :label='"缺少刀具类别"' :show-overflow-tooltip="true" ></el-table-column>
-      <el-table-column prop="status" :label='"任务状态"' :show-overflow-tooltip="true" >
+      <el-table-column prop="scanResult" :label='"任务状态"' :show-overflow-tooltip="true" >
         <template slot-scope="{ row }">
-          <el-tag :type="getTagType(row.status)">
-            {{ getToolTypeText(row.status) }}
+          <el-tag :type="getTagType(row.scanResult)">
+            {{ getToolTypeText(row.scanResult) }}
           </el-tag>
         </template>
       </el-table-column>
@@ -85,6 +85,8 @@
       :device-name="deviceName"
       :plan-id="planId"
       :device-id="deviceId"
+      :task-id="id"
+      :scan-result="scanResult"
       @close="editClose"
       @success="editSuccess"
     />
@@ -116,7 +118,7 @@
 	// 【货架管理】-API
 	import toolManagementApi from "@/api/modelingCenter/toolManagement"
 	import elDragDialog from '@/directive/el-drag-dialog'
-	import { downloadFile, initEnums, initDicts, initQueryParams } from '@/utils/commons'
+  import {downloadFile, initEnums, initDicts, initQueryParams, initQueryParams0} from '@/utils/commons'
 	// 加载工具类
 	import { convertEnum, createTreeData } from '@/utils/utils'
 	import axios from 'axios'
@@ -139,7 +141,7 @@
 	      },
 	      tenantViewVisible: false,
 	      tableKey: 0,
-	      queryParams: initQueryParams({}),
+	      queryParams: initQueryParams0({}),
 	      selection: [],
 	      loading: false,
 	      tableData: {
@@ -155,7 +157,9 @@
         toolCategory:[],
         deviceName:'',
         planId:'',
-        deviceId:''
+        deviceId:'',
+        id:'',
+        scanResult:'',
 	    }
 	  },
 	  // 实例已经在内存中创建好,此时data和methods已将ok,如果要操作data中的数据或是调用methods中的方法,最早只能在created中操作
@@ -361,12 +365,16 @@
 	    	this.edit(this.selection[0]);
 	    },
 	    edit (row) {
-        if (row.status === '1' ){
+        if (row.status === '1' || row.status === '0'){
           this.toolCategory = row.taskNodeToolList
           this.deviceName = row.deviceName
           this.planId = row.planId
           this.deviceId = row.deviceId
+          this.id = row.id
+          this.scanResult = row.scanResult
+          console.log("this.id:"+this.id)
           this.dialog.isVisible = true
+          this.$refs.edit.fetch()
       }
 	    },
 	    fetch (params = {}) {
@@ -406,22 +414,24 @@
 	    },
       getTagType(toolType) {
         switch (toolType) {
-          case '1':
+          case '0':
             return 'info'; // 第一种类型的标签颜色
-          case '2':
+          case '1':
             return 'warning'; // 第二种类型的标签颜色
-          case '3':
+          case '2':
             return 'success'; // 第三种类型的标签颜色
         }
       },
       getToolTypeText(toolType) {
         switch (toolType) {
+          case '0':
+            return "未扫描"; // 第二种类型的文本
           case '1':
-            return "未开始"; // 第二种类型的文本
+            return '部分扫描'; // 第三种类型的文本
           case '2':
-            return '进行中'; // 第三种类型的文本
-          case '3':
-            return '已完成'; // 第四种类型的文本
+            return '全部扫描'; // 第四种类型的文本
+          default:
+            return "未扫描"
         }
       }
 	  }

+ 18 - 5
imcs-ui/src/views/zuihou/centralToolMagazine/changeToolTask/components/Edit.vue

@@ -36,12 +36,13 @@
         </el-table-column>
         <el-table-column prop="handleCode" label='刀柄编码' width="180px" >
           <template slot-scope="{ row }" >
-            <el-input v-model="row.handleCode" :key="row.id" type='text' />
+            <el-input v-model="row.handleCode" :key="row.id" type='text' :disabled="row.handleCode"/>
+
           </template>
         </el-table-column>
         <el-table-column prop="toolCode" label='刀具编码' width="180px" >
           <template slot-scope="{ row }" >
-            <el-input  v-model="row.toolCode" :key="row.id" type='text'  />
+            <el-input  v-model="row.toolCode" :key="row.id" type='text'   :disabled="row.handleCode"/>
           </template>
         </el-table-column>
       </el-table>
@@ -92,6 +93,14 @@ export default {
       type: String,
       default: ''
     },
+    taskId: {
+      type: String,
+      default: ''
+    },
+    scanResult: {
+      type: String,
+      default: ''
+    },
   },
   data () {
     return {
@@ -125,7 +134,7 @@ export default {
   // 实例已经在内存中创建好,此时data和methods已将ok,如果要操作data中的数据或是调用methods中的方法,最早只能在created中操作
   created() {
   	// 加载列表数据
-  	this.fetch()
+  	//this.fetch()
 	},
   computed: {
     isVisible: {
@@ -137,6 +146,9 @@ export default {
         this.reset()
       },
     },
+    isDisabled() {
+      return this.scanResult === '2'; // 根据scanResult的值来确定输入框是否禁用
+    },
     allCount(){
       return this.toolCategory.length
     },
@@ -226,14 +238,15 @@ export default {
         this.confirmDisabled = false
         return;
       }*/
-      if(this.selection.length != this.toolCategory.length){
+     /* if(this.selection.length != this.toolCategory.length){
         this.$message.error('放刀数量不等于缺刀数量');
         this.confirmDisabled = false
         return;
-      }
+      }*/
       let requestParams={
         "planId":this.planId,
         "deviceId":this.deviceId,
+        "taskId":this.taskId,
         "toolStorgelist":this.selection
       }
 

+ 21 - 11
imcs-ui/src/views/zuihou/runManageCenter/orderMgr/components/runningOrder/changeToolTask/Index.vue

@@ -56,10 +56,10 @@
               <el-table-column prop="toolLifeSpan" :label='"刀具寿命"' :show-overflow-tooltip="true" ></el-table-column>
               <el-table-column prop="toolRatedUsageCount" :label='"刀具额定次数"' :show-overflow-tooltip="true" ></el-table-column>
               <el-table-column prop="toolUsedCount" :label='"刀具使用次数"' :show-overflow-tooltip="true" ></el-table-column>
-              <el-table-column prop="lockStatus" :label='$t("lineSide.table.side.lockStatus")' align="center" width="90px">
+              <el-table-column prop="checkLock" :label='"锁定状态"' align="center" width="90px">
                 <template slot-scope="{ row }">
-                  <el-tag :type="row.lockStatus=='0' ? 'success' : 'danger'">
-                    {{ row.lockStatus=='0' ? $t("common.yes") : $t("common.no") }}
+                  <el-tag :type="(row.checkLock === '0' || row.checkLock === '') ? 'success' : 'danger'">
+                  {{ (row.checkLock === '0' || row.checkLock === '') ? $t("common.yes") : $t("common.no") }}
                   </el-tag>
                 </template>
               </el-table-column>
@@ -188,13 +188,13 @@
 	  // 实例已经在内存中创建好,此时data和methods已将ok,如果要操作data中的数据或是调用methods中的方法,最早只能在created中操作
 	  created() {
 	  	// 加载列表数据-按区域
-	  	this.getTabList()
+	  	//this.getTabList()
 		},
     watch: {
       'deviceId': {
         handler(val, oldVal) {
           // 加载列表数据
-          this.getTabList()
+          //this.getTabList()
         }
       }
     },
@@ -253,7 +253,7 @@
 	    },
 	    editSuccess () {
 	      //this.search()
-        this.getTabList();
+        //this.getTabList();
 	    },
 	    onSelectChange (selection) {
 	      this.selection = selection
@@ -397,9 +397,9 @@
 	      }
 	    },
 	    // 获取列表数据
-	    getTabList(){
+	    getTabList(deviceId){
         console.log("deviceId:"+this.deviceId)
-        toolStroge.getDeviceStorge({"deviceId":this.deviceId}).then(res => {
+        toolStroge.getDeviceStorge({"deviceId":deviceId}).then(res => {
 	    		res = res.data
 	    		console.log("方块列表:", res)
           if(res.isSuccess){
@@ -408,15 +408,25 @@
 	    	})
 	    },
       saveToolTask(){
-        console.log("this.toolCategory:"+this.toolCategory)
+        console.log("this.toolCategory:"+requestParam)
+        const hasZeroCheckLock = this.selection.some(item => item.checkLock === '0');
+
+        if (hasZeroCheckLock) {
+          this.$message({
+            message: '存在锁定的库位',
+            type: "error"
+          });
+          return;
+        }
+
         let requestParam={
           id: this.deviceId,
           planId: this.detailPlanId,
           list: this.toolCategory,
           storgeId: this.selection
         }
-        if(this.selection.length != this.toolCategory.length){
-          this.$message.error('放刀数量不等于缺刀数量');
+        if(this.selection.length > this.toolCategory.length){
+          this.$message.error('换刀数据量不能大于缺刀数量');
           this.confirmDisabled = false
           return;
         }

+ 11 - 8
imcs-ui/src/views/zuihou/runManageCenter/orderMgr/components/runningOrder/components/checkCuttingTools/index.vue

@@ -37,7 +37,6 @@
       width="80%"
       custom-class="dialogNoTop"
       @close="checkDetailCuttingToolsClose"
-      @refresh="fetch"
     >
       <!--【	刀具校验对话框】 -->
       <toolChange ref="childForRef"
@@ -81,13 +80,13 @@
 	  // 实例已经在内存中创建好,此时data和methods已将ok,如果要操作data中的数据或是调用methods中的方法,最早只能在created中操作
 	  created() {
 	  	// 加载列表数据
-	  	this.fetch()
+	  	//this.fetch()
 		},
     watch: {
       'planId': {
         handler(val, oldVal) {
           // 加载列表数据
-          this.fetch()
+          //this.fetch()
         }
       }
     },
@@ -98,11 +97,11 @@
 	  },
 	  methods: {
 	    // 查询计划刀具可用性
-	    fetch () {
+	    fetch (planId) {
 	      console.log("this.planId=" + this.planId)
 	      this.loading = true
 
-        orderMgrApi.toolCheck({"plan": this.planId}).then(response => {
+        orderMgrApi.toolCheck({"plan": planId}).then(response => {
           const res = response.data
           if(res.isSuccess){
             this.tableData = res.data
@@ -119,25 +118,29 @@
 	    },
 
       showCheckDetails(data){
-        console.log(data)
-	        if(data.hasCuttingToolsFlag === '是' || !data.isFree){
+        console.log("showCheckDetails:"+data)
+	        if(data.hasCuttingToolsFlag === '是' || data.isFree || data.isTask === '是'){
             return
           }
           this.detailPlanId = data.planId
           this.deviceId = data.id
           this.toolCategory=data.list
           this.checkDetailCuttingToolsVisible = true
+          this.$nextTick(() => {
+            this.$refs.childForRef.getTabList(data.id)
+          })
       },
 
       checkDetailCuttingToolsClose(){
           this.checkDetailCuttingToolsVisible = false
           this.$refs.childForRef.reset();
+          this.fetch(this.planId)
       },
       save(){
         orderMgrApi.saveToolTask(this.tableData).then(response => {
           const res = response.data
           if(res.isSuccess){
-
+            this.$emit('close');
           }
         }).finally(() => this.loading = false)
       }

+ 5 - 0
imcs-ui/src/views/zuihou/runManageCenter/orderMgr/components/runningOrder/index.vue

@@ -352,6 +352,7 @@
       <!--【	刀具校验对话框】 -->
       <checkCuttingTools
         :plan-id="planId"
+        ref="refCheck"
         @close="checkCuttingToolsClose"
       />
     </el-dialog>
@@ -1102,6 +1103,7 @@
 	    checkCuttingToolRow(Row) {
 	    	this.planId = Row.id;
         this.checkCuttingToolsVisible = true
+
 	    },
 
 	    // 【工具校验】Table功能按钮-点击事件
@@ -1124,6 +1126,9 @@
 
         this.planId = planIds
         this.checkCuttingToolsVisible = true
+        this.$nextTick(() => {
+          this.$refs.refCheck.fetch(planIds);
+        });
 
       },