瀏覽代碼

前端页面处理

oyq28 2 年之前
父節點
當前提交
8212904870

+ 1 - 1
imcs-ui/.env.development

@@ -10,7 +10,7 @@ VUE_APP_WS_URL = 'ws://127.0.0.1:8764/ws/'
 #VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://localhost:8764'
 #VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://tangyh.top:10000'
 # SpringBoot 项目使用这个
-VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://106.14.142.95:8765/
+VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://127.0.0.1:8764'
 
 # 请求域名前缀, 该变量仅仅生产环境需要设置
 VUE_APP_PROD_REQUEST_DOMAIN_PREFIX = ''

+ 5 - 3
imcs-ui/.env.production

@@ -2,13 +2,15 @@
 ENV = 'production'
 
 # webSocket的推送URL
-VUE_APP_WS_URL = 'ws://192.168.170.32:8764/ws/'
+VUE_APP_WS_URL = 'ws://192.168.11.240:8764/ws/'
 
 VUE_APP_PROJECT_NAME = 'imcs-ui'
 # 开发环境请求域名前缀, 该变量仅仅开发环境需要设置
-#VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://192.168.170.32/'
+
+VUE_APP_DEV_REQUEST_DOMAIN_PREFIX = 'http://192.168.11.240/'
 # 请求域名前缀, 该变量仅仅生产环境需要设置
-VUE_APP_PROD_REQUEST_DOMAIN_PREFIX = 'http://106.14.142.95:8765'
+VUE_APP_PROD_REQUEST_DOMAIN_PREFIX = 'http://192.168.11.240/'
+
 # 本地打包测试需要,
 #VUE_APP_PROD_REQUEST_DOMAIN_LOCAL = 'http://localhost:8764'
 

+ 1 - 1
imcs-ui/package.json

@@ -97,7 +97,7 @@
     "less-loader": "^5.0.0",
     "lint-staged": "8.1.5",
     "mockjs": "1.0.1-beta3",
-    "node-sass": "6.0.1",
+    "node-sass": "^6.0.1",
     "sass-loader": "^10.0.1",
     "plop": "2.3.0",
     "pug": "^3.0.2",

+ 11 - 1
imcs-ui/src/api/resourceProductMgr/programCenter.js

@@ -3,7 +3,7 @@ import axiosApi from '../AxiosApi.js'
 const apiList = {
 	getList: {
 	    method: 'POST',
-	    url: `/authority/program/all`
+	    url: `/authority/program/getList`
 	},
   page: {
     method: 'POST',
@@ -13,6 +13,10 @@ const apiList = {
     method: 'POST',
     url: `/authority/program/update`
   },
+  updateBomPro: {
+    method: 'POST',
+    url: `/authority/bomProcedureProgram/update`
+  },
   save: {
     method: 'POST',
     url: `/authority/program`
@@ -113,6 +117,12 @@ export default {
       data
     })
   },
+  updateBomPro (data) {
+    return axiosApi({
+      ...apiList.updateBomPro,
+      data
+    })
+  },
   updateStatus (data) {
     return axiosApi({
       ...apiList.updateStatus,

+ 10 - 0
imcs-ui/src/api/runManageCenter/orderMgr.js

@@ -114,6 +114,10 @@ const apiList = {
     method: 'POST',
     url: `/authority/order/downloadOrderTemplate`
   },
+  prodNode:{
+    method: 'POST',
+    url: `/authority/orderTask/prodNode`
+  }
 }
 
 export default {
@@ -296,4 +300,10 @@ export default {
       data
     })
   },
+  prodNode (data) {
+    return axiosApi({
+      ...apiList.prodNode,
+      data
+    })
+  },
 }

+ 17 - 0
imcs-ui/src/api/statisticalAnalysis/productlineAvailability.js

@@ -22,6 +22,10 @@ const apiList = {
     method: 'POST',
     url: `/authority/productLinePerformance/deviceResourceSum`
   },
+  taskResourceSum: {
+    method: 'POST',
+    url: `/authority/productLinePerformance/taskResourceSum`
+  },
   queryProductionLineOee: {
     method: 'POST',
     url: `/authority/productLinePerformance/queryProductionLineOee`
@@ -138,6 +142,12 @@ export default {
       data:searchObj
     })
   },
+  taskResourceSum(data){
+    return axiosApi({
+      ...apiList.taskResourceSum,
+      data
+  })
+  },
   frockSearch(page,limit,searchObj){
     return axiosApi({
       url: `/authority/stockInfo/frockSearch/${page}/${limit}`,
@@ -152,6 +162,13 @@ export default {
       data:searchObj
     })
   },
+  taskResourceDetail(page,limit,searchObj){
+    return axiosApi({
+      url: `/authority/productLinePerformance/taskResourceDetail/${page}/${limit}`,
+      method: 'post',
+      data:searchObj
+    })
+  },
   procedureInfo(searchObj) {
     return axiosApi({
       url: `/authority/productLinePerformance/procedureInfo`,

+ 10 - 0
imcs-ui/src/api/systemMgr/toolbar.js

@@ -33,6 +33,10 @@ const apiList = {
     method: 'POST',
     url: `/authority/toolbar/freeLock`
   },
+  addSyncLock:{
+    method: 'POST',
+    url: `/authority/toolbar/addSyncLock`
+  },
   refreshXbk:{
     method: 'POST',
     url: `/authority/toolbar/refreshXbk`
@@ -90,6 +94,12 @@ export default {
       data
     })
   },
+  addSyncLock (data) {
+    return axiosApi({
+      ...apiList.addSyncLock,
+      data
+    })
+  },
   refreshXbk (data) {
     return axiosApi({
       ...apiList.refreshXbk,

+ 8 - 0
imcs-ui/src/lang/zh/dispatch.js

@@ -13,6 +13,14 @@ export default {
             status: '状态',
             startTime: '开始时间',
             endTime: '结束时间',
+            
+        },
+        detailConf: {
+            start: '起始位置',
+            goal: '目的位置',
+            isMachine: '是否加工',
+            isXbk: '线边库检查',
+            hasMaterial: '包含零件'
         },
         table: {
             record: {

+ 3 - 1
imcs-ui/src/lang/zh/prepare.js

@@ -53,6 +53,7 @@ export default {
 			addProgram: '设备程序',
 			toolMgr: '刀具管理',
 			szbName: '三坐标质检',
+			dbjName: '打标机配置',
 			threeDimensionalDeviationConf: '三坐标偏置点配置',
 			randomCheckConf: '工序抽检配置',
 			meterialCodeIgnore: {
@@ -315,7 +316,8 @@ export default {
 			qualityName5: '检测设备',
 			qualityName6: '检测程序名',
 			qualityName7: '不合格直接下料',
-			threeDimensionalPrograme: '检测程序名'
+			threeDimensionalPrograme: '检测程序名',
+			labelMachinePrograme: '打标机程序编号'
 		},
 		// 表单验证规则提示信息
 		rules: {

+ 2 - 0
imcs-ui/src/lang/zh/runCenter.js

@@ -28,6 +28,7 @@ export default {
 			tab4: '新建订单',
 			tab5: '外部新订单',
 			tab6: '已完成',
+			tab7: '自定义订单',
 			prodpg: '生成排产方案',
 			orderPg: '订单排产方案',
 			viewTab1: '按生产资源查看',
@@ -148,6 +149,7 @@ export default {
 	  		priority: '优先级',
 	  		production: '生产单元',
 	  		prodView: '生产详情',
+			prodNode: '生成节点',
 	  		onebtn: '一键排产',
 	  		gostBtn: '高级排产',
 	  		prodMod: '生产模拟',

+ 48 - 0
imcs-ui/src/views/zuihou/dispatchMgr/tools/Index.vue

@@ -243,6 +243,22 @@
   			</el-form-item>
 	  </el-form>
 	</el-card>
+
+	<el-card class="box-card">
+        <div slot="header" class="clearfix">添加同步锁定</div>
+		<el-form ref="form11" :model="form11" :rules="rules8" label-width="80px">
+			<el-row :gutter="12" >
+				<el-col :xs="6" :sm="8">
+					<el-form-item label="批次号:" prop="completeBatchNo">
+                    	<el-input  v-model="form11.completeBatchNo" placeholder="批次号"></el-input>
+					</el-form-item>
+				</el-col>											
+			</el-row>
+			<el-form-item>
+    			<el-button type="primary" @click="addSyncLock" >发送</el-button>    		
+  			</el-form-item>
+	  </el-form>
+	</el-card>
   </div>
 </template>
 
@@ -304,6 +320,9 @@
 		  form10:{
 			deviceType: "0"
 		  },
+		  form11:{
+			completeBatchNo: ""
+		  },
 		  lineList: [],
 		  typeList: [{"name":"全部","value":"0"},{"name":"FANUC","value":"1"},{"name":"HEIDENHAIN","value":"2"},{"name":"DMG","value":"3"},{"name":"HELLER","value":"4"}],
 	      tenantViewVisible: false,
@@ -366,6 +385,11 @@
 			deviceType: [
 				{ required: true, message: this.$t("rules.require"), trigger: 'blur' }
 			]
+		  },
+		  rules8: {
+			completeBatchNo: [
+				{ required: true, message: this.$t("rules.require"), trigger: 'blur' }
+			]
 		  }
 		}
 	  },
@@ -586,6 +610,30 @@
 				}				
 			}); 
 		},
+		addSyncLock(){
+			this.$refs.form11.validate((valid) => {
+				if(valid){
+					toolbarApi.addSyncLock({completeBatchNo: this.form11.completeBatchNo}).then(response=>{
+						const res = response.data
+						if(res.isSuccess){
+							this.$message({
+              					message: this.$t('tips.updateSuccess'),
+              					type: 'success'
+            				})
+						}else{
+							this.$message({
+              					message: res.msg,
+              					type: 'warning'
+            				})
+						}
+					}).finally(()=>{
+					   return true		
+					})					
+				}else{
+					return false
+				}				
+			}); 
+		},
 		refreshXbk(){
 			this.$refs.form10.validate((valid) => {
 				if(valid){

+ 1 - 1
imcs-ui/src/views/zuihou/lineSideLibrary/lineSideEmulate/Index.vue

@@ -64,7 +64,7 @@
 	  				<tr v-for="(objTr, objIndex) in item.layList" :key="objIndex">
 	  					<td v-for="objTd in objTr.stockList" :key="objTd.id" :class="objTd.storgeStockCount>0 ? 'blueBg' : ''" @click="editOne(objTd)">
 	  						{{objTd.no}}
-	  						<el-image v-if="objTd.lockStatus == '0'" class="locked" :src="resolveLogo(lockImg)" fit="contain"></el-image>
+	  						<el-image v-if="objTd.lockStatus == '0' || objTd.stockStatus == '0' " class="locked" :src="resolveLogo(lockImg)" fit="contain"></el-image>
 	  					</td>	  					
 	  				</tr>
 	  				<!--

+ 4 - 3
imcs-ui/src/views/zuihou/machiningClient/touchScreen/components/View3.vue

@@ -78,9 +78,10 @@
     	</el-row>
 
     	<div slot="footer" class="dialog-footer">
-        <el-button v-if="xbkValid && unFeedingCount>0 || (unFeedingCount==0 && unBaitingCount==1 && xbkValid)"  type="primary" :disabled="confirmDisabled" @click="submitForm">{{ $t('machining.buttons.finished') }}</el-button>
-	      <el-button v-if="(unFeedingCount==0 && unBaitingCount>0) || !xbkValid" type="primary" :disabled="confirmDisabled" @click="storageForm">{{ $t('machining.buttons.inFinished') }}</el-button>
-        <!--<el-button type="primary" :disabled="confirmDisabled" @click="storageForm">{{ $t('machining.buttons.inFinished') }}</el-button>-->
+        <!--<el-button v-if="xbkValid && unFeedingCount>0 || (unFeedingCount==0 && unBaitingCount==1 && xbkValid)"  type="primary" :disabled="confirmDisabled" @click="submitForm">{{ $t('machining.buttons.finished') }}</el-button>
+	      <el-button v-if="(unFeedingCount==0 && unBaitingCount>0) || !xbkValid" type="primary" :disabled="confirmDisabled" @click="storageForm">{{ $t('machining.buttons.inFinished') }}</el-button>-->
+        <el-button v-if="xbkValid"  type="primary" :disabled="confirmDisabled" @click="submitForm">{{ $t('machining.buttons.finished') }}</el-button>
+        <el-button type="primary" :disabled="confirmDisabled" @click="storageForm">{{ $t('machining.buttons.inFinished') }}</el-button>
 
       </div>
     </div>

+ 5 - 2
imcs-ui/src/views/zuihou/machiningClient/touchScreen/components/View6.vue

@@ -78,9 +78,12 @@
     	</el-row>
 
     	<div slot="footer" class="dialog-footer">
+        <!--
 	      <el-button v-if="xbkValid && unFeedingCount>0 || (unFeedingCount==0 && unBaitingCount==1 && xbkValid)" type="primary" :disabled="confirmDisabled" @click="submitForm(6)">{{ $t('machining.buttons.finished') }}</el-button>
-        <el-button v-if="(unFeedingCount==0 && unBaitingCount>0) || !xbkValid" type="primary" :disabled="confirmDisabled" @click="storageForm">{{ $t('machining.buttons.inFinished') }}</el-button>
-	    </div>
+        <el-button v-if="(unFeedingCount==0 && unBaitingCount>0) || !xbkValid" type="primary" :disabled="confirmDisabled" @click="storageForm">{{ $t('machining.buttons.inFinished') }}</el-button> -->
+        <el-button v-if="xbkValid"  type="primary" :disabled="confirmDisabled" @click="submitForm">{{ $t('machining.buttons.finished') }}</el-button>
+        <el-button type="primary" :disabled="confirmDisabled" @click="storageForm">{{ $t('machining.buttons.inFinished') }}</el-button>
+      </div>
     </div>
   </el-dialog>
 </template>

+ 2 - 2
imcs-ui/src/views/zuihou/prepareProductMgr/cuttingToolMgr/components/machineCuttingTool/index.vue

@@ -57,9 +57,9 @@
       <el-table-column align="center" prop="lineDesc" :label='$t("cuttingTool.table.machineCuttingtool.productlineName")' :show-overflow-tooltip="true"></el-table-column>
       <!-- 设备连接状态 -->
       <el-table-column prop="onlineStatus" :label='$t("cuttingTool.table.machineCuttingtool.resourceStatus")' align="center">
-        <template slot-scope="{ row }">
+        <template slot-scope="{ row }">          
           <el-tag :type="row.onlineStatus=='1' ? 'success' : 'info'">
-            {{ row.status=='1' ? $t("cuttingTool.common.onlineStatus.online") : $t("cuttingTool.common.onlineStatus.offline") }}
+            {{ row.onlineStatus=='1' ? $t("cuttingTool.common.onlineStatus.online") : $t("cuttingTool.common.onlineStatus.offline") }}
           </el-tag>
         </template>
       </el-table-column>

+ 30 - 1
imcs-ui/src/views/zuihou/prepareProductMgr/technologyVersion/components/TechnologyEdit.vue

@@ -88,6 +88,27 @@
 						</div>
 					</div>
 
+					<!-- 打标机配置 -->
+					<div class="dbj">
+						<!-- 按钮功能 -->
+				    	<div class="itemDiv">
+				    		<!-- 打标机配置  -->
+							<span class="titleSmall">{{$t("prepare.common.dbjName")}}</span>
+							<el-radio-group :disabled="type == 'view' ? true : false" v-model="tenant.labelMachineConf" style="margin-right: 15px;">
+							    <el-radio label="0">{{$t("prepare.common.idNeed.unneed")}}</el-radio>
+							    <el-radio label="1">{{$t("prepare.common.idNeed.need")}}</el-radio>
+							</el-radio-group>
+						</div>
+
+						<!-- 输入框(需要) -->
+						<div v-if="tenant.labelMachineConf == '1'" class="szbInput">
+							<span>
+								<span>{{ $t("prepare.form.labelMachinePrograme") }}:</span>
+								<el-input v-model="tenant.labelMachinePrograme" :placeholder='$t("common.pleaseEnter")' style="width: 500px;"></el-input>
+							</span>
+						</div>
+					</div>
+
 					<!-- 三坐标偏置点检测 -->
 					<div class="szbpzd">
 						<!-- 按钮功能 -->
@@ -216,6 +237,9 @@ export default {
 	    // 三坐标质检-参数
 	    threeDimensionalConf: '0', // 默认不需要
 	    threeDimensionalPrograme: '', // 检测程序名
+		// 打标机配置
+		labelMachineConf: '0', // 默认不需要
+	    labelMachinePrograme: '', // 配方程序名
 	    // 三坐标偏置点检测
 	    threeDimensionalDeviationConf: '0',
 	    threeDimensionalDeviationPrograme: '',
@@ -317,6 +341,9 @@ export default {
       	// 三坐标质检-参数
 	    threeDimensionalConf: '0', // 默认不需要
 	    threeDimensionalPrograme: '', // 检测程序名
+		// 打标机配置
+		labelMachineConf: '0', // 默认不需要
+	    labelMachinePrograme: '', // 配方程序名
 	    // 三坐标偏置点检测
 	    threeDimensionalDeviationConf: '0',
 	    threeDimensionalDeviationPrograme: '',
@@ -578,7 +605,9 @@ export default {
                     threeDimensionalPrograme: res.data.threeDimensionalPrograme==null? "": res.data.threeDimensionalPrograme,
 					threeDimensionalDeviationConf: res.data.threeDimensionalDeviationConf==null? "0" : res.data.threeDimensionalDeviationConf,
 	    			threeDimensionalDeviationPrograme: res.data.threeDimensionalDeviationPrograme==null? "":res.data.threeDimensionalDeviationPrograme,
-	    			// 工序抽检配置
+	    			labelMachineConf:  res.data.labelMachineConf==null? "0" : res.data.labelMachineConf,
+                    labelMachinePrograme: res.data.labelMachinePrograme==null? "": res.data.labelMachinePrograme,
+					// 工序抽检配置
 	    			randomCheckConf: res.data.randomCheckConf==null? "0" : res.data.randomCheckConf,
 	    			randomCheckPrograme: res.data.randomCheckPrograme==null? "" : res.data.randomCheckPrograme
 				};

+ 64 - 17
imcs-ui/src/views/zuihou/resourceProductMgr/equipmentProgramMgr/Index.vue

@@ -134,26 +134,40 @@
 	          {{scope.$index+(queryParams2.current - 1) * queryParams2.size + 1}}
 	        </div>
 	      </template>
-      </el-table-column>
-      <el-table-column align="center" type="selection" width="50" :reserve-selection="true" />
-<!--      <el-table-column prop="no" :label='$t("resource.table.program.no")' :show-overflow-tooltip="true"></el-table-column>-->
+      </el-table-column>      
+	  <el-table-column prop="bomName"  label='工序名称' :show-overflow-tooltip="true"></el-table-column>
+      <el-table-column prop="procedureNo" label='工序名称' :show-overflow-tooltip="true"></el-table-column>
       <el-table-column prop="name" :label='$t("resource.table.program.name")' ></el-table-column>
 <!--      <el-table-column prop="runTime" :label='$t("resource.table.program.runTime")' width="180px"></el-table-column>-->
       <el-table-column prop="size" :label='$t("resource.table.program.size")' ></el-table-column>
-<!--      <el-table-column prop="toolNums" :label='$t("resource.table.program.toolNums")' width="180px"></el-table-column>-->
-<!--      <el-table-column prop="version" :label='$t("resource.table.program.version")' width="180px"></el-table-column>-->
-<!--      <el-table-column prop="status" :label='$t("resource.table.program.status")' align="center" width="90px">-->
-<!--      	<template slot-scope="{ row }">-->
-<!--          <el-tag :type="row.status=='1' ? 'success' : 'danger'">-->
-<!--          	{{ row.status=='1' ? $t("common.show") : $t("common.hide") }}-->
-<!--          </el-tag>-->
-<!--        </template>-->
-<!--      </el-table-column>-->
-      <el-table-column prop="synTime" :label='$t("resource.table.program.synTime")' ></el-table-column>
+      <el-table-column prop="version" :label='$t("resource.table.program.version")' width="120px"></el-table-column>
+      <el-table-column prop="useStatus" :label='$t("resource.table.program.status")' align="center" width="90px">
+      	<template slot-scope="{ row }">
+          <el-tag :type="row.useStatus=='1' ? 'success' : 'danger'">
+          	{{ row.useStatus=='1' ? '使用中' : '未使用' }}
+          </el-tag>
+        </template>
+    </el-table-column>
+	<el-table-column prop="status" :label='$t("resource.table.program.status")' align="center" width="90px">
+      	<template slot-scope="{ row }">
+          <el-tag :type="row.status=='1' ? 'success' : 'danger'">
+          	{{ row.status=='1' ? '启用' : '禁止' }}
+          </el-tag>
+        </template>
+    </el-table-column>
+	<el-table-column prop="automatic" :label='$t("resource.table.program.status")' align="center" width="90px">
+      	<template slot-scope="{ row }">
+          <el-tag :type="row.automatic=='1' ? 'success' : 'danger'">
+          	{{ row.automatic=='1' ? '自动加工' : '手动加工' }}
+          </el-tag>
+        </template>
+    </el-table-column>
+      <!--<el-table-column prop="synTime" :label='$t("resource.table.program.synTime")' ></el-table-column>-->
       <el-table-column
         :label="$t('table.operation')"
         align="center"
         column-key="operation"
+		width="240px"
       >
         <template slot-scope="{ row }">
         	<el-tooltip class="item" :content='$t("common.view")' effect="dark" placement="top-start">
@@ -163,12 +177,26 @@
 	            @click="view(row)"
 	          />
           </el-tooltip>
-        	<el-tooltip class="item" :content='$t("resource.common.eqDelete")' effect="dark" placement="top-start">
+        	<el-tooltip v-if="row.useStatus=='0'" class="item" :content='$t("resource.common.eqDelete")' effect="dark" placement="top-start">
 	          <i
 	            class="el-icon-delete table-operation"
 	            style="color: #f50f50;"
 	            @click="equipmentDelete(row)"
 	          />
+          </el-tooltip>
+		  <el-tooltip v-if="row.useStatus=='0'" class="item" content='程序切换' effect="dark" placement="top-start">
+	          <i
+	            class="el-icon-s-help table-operation"	
+				style="color: #1890ff;"            
+	            @click="updateStatus(row, 0)"
+	          />
+          </el-tooltip>
+		  <el-tooltip v-if="row.useStatus=='0'" class="item" content='自动加工切换' effect="dark" placement="top-start">
+	          <i
+	            class="el-icon-place table-operation"
+				style="color: #1890ff;"	            
+	            @click="updateStatus(row, 1)"
+	          />
           </el-tooltip>
           <a class="el-icon-download table-operation" style="color: #1890ff;" target="_blank" :href="row.filePath" :download="row.submittedFileName"></a>
         </template>
@@ -589,8 +617,8 @@
 	      		resourceIdList.push(item.id)
 	      	})
 	      }
-	      this.queryParams2.model.resourceIdList = resourceIdList
-	      programCenterApi.page(this.queryParams2).then(response => {
+	      this.queryParams2.model.resourceId = resourceIdList[0]
+	      programCenterApi.getList(this.queryParams2).then(response => {
 	        const res = response.data
 	        if (res.isSuccess) {
 	          this.tableData2 = res.data
@@ -614,7 +642,26 @@
 	      if (!flag) {
 	        this.$refs.table2.toggleRowSelection(row, true)
 	      }
-	    }
+	    },
+		updateStatus(row, num){
+			if(num==0){
+                row.status = row.status=='1'? '0' : '1'
+			}else if(num==1){
+				row.automatic = row.automatic=='1'? '0' : '1'
+			}
+			this.loading2 = true
+			programCenterApi.updateBomPro(row).then(response => {
+	        const res = response.data
+	        if (res.isSuccess) {
+				this.$message({
+					message: '修改成功',
+					type: "success"
+				})
+				this.fetch2()
+	        }
+	        // eslint-disable-next-line no-return-assign
+	      }).finally(() => this.loading2 = false)
+		}
 	  }
 	}
 </script>

+ 12 - 3
imcs-ui/src/views/zuihou/runManageCenter/orderMgr/Index.vue

@@ -42,7 +42,7 @@
 		  <el-tab-pane name="runningOrder" :label='$t("runCenter.common.tab1")+"("+tabNum.tab1+")"'>
 		  	<!-- 【进行中订单】 -->
 		  	<running-order ref="runningOrder" @setTabNums="setTabNums" @audioStatus="frashAudioStatus"></running-order>
-		  </el-tab-pane>
+		  </el-tab-pane>		  
 		  <el-tab-pane name="reviewedOrder" :label='$t("runCenter.common.tab2")+"("+tabNum.tab2+")"'>
 		  	<!-- 待审核 -->
 		  	<reviewed-order ref="reviewedOrder" @setTabNums="setTabNums" @audioStatus="frashAudioStatus"></reviewed-order>
@@ -63,6 +63,10 @@
 		  	<!--已完成-->
 		  	<finished-order ref="finishedOrder" @setTabNums="setTabNums"></finished-order>
 		  </el-tab-pane>
+		  <el-tab-pane name="taskOrder" :label='$t("runCenter.common.tab7")+"("+tabNum.tab7+")"'>
+		  	<!-- 【自定义订单】 -->
+		  	<task-order ref="taskOrder" @setTabNums="setTabNums" @audioStatus="frashAudioStatus"></task-order>
+		  </el-tab-pane>
 		</el-tabs>
 		
   </div>
@@ -71,6 +75,8 @@
 <script>
 	//【进行中订单】组件
 	import RunningOrder from "./components/runningOrder"
+	//订单任务组件
+	import TaskOrder from "./components/orderTask"
 	//【待审核】组件
 	import ReviewedOrder from "./components/reviewedOrder"
 	//【审核不通过】组件
@@ -93,12 +99,12 @@
 	export default {
 	  name: "OrderMgr",
 	  directives: { elDragDialog },
-	  components: { RunningOrder, ReviewedOrder, FailAuditOrder, DraftOrder, OutNewOrder, FinishedOrder, countTo },
+	  components: { RunningOrder, TaskOrder, ReviewedOrder, FailAuditOrder, DraftOrder, OutNewOrder, FinishedOrder, countTo },
 	  props: {
 	  },
 	  data () {
 	    return {
-	    	tabNum: {tab1: 0, tab2: 0, tab3: 0, tab4: 0, tab5: 0, tab6: 0},
+	    	tabNum: {tab1: 0, tab2: 0, tab3: 0, tab4: 0, tab5: 0, tab6: 0, tab7: 0},
 	    	activeTab: "runningOrder",  // 默认选择的tab(进行中)
 	    	topTongjiData: {"sourceCount": 0, "auditCount": 0,"schedulingCount": 0,"orderSuspendCount": 0,"orderConductCount": 0},
 	    }
@@ -149,6 +155,9 @@
 	  		if(e.index == 5){
 	  			this.$refs.finishedOrder.search()
 	  		}
+			if(e.index == 6){
+	  			this.$refs.taskOrder.search()
+	  		}
 	  	},
 	  	// 每一个Tab的值变化,设置总Tabs的数量
 	  	setTabNums(val, field){

+ 1 - 0
imcs-ui/src/views/zuihou/runManageCenter/orderMgr/components/draftOrder/index.vue

@@ -501,6 +501,7 @@
 	      // 查询必须参数-草稿:orderstatus = 1 and source = 1
 	      this.queryParams.model.orderStatus = '1'
 	      this.queryParams.model.source = '1'
+		  this.queryParams.model.singleTaskFlag = '0'
 	      orderMgrApi.page(this.queryParams).then(response => {
 	        const res = response.data
 	        if (res.isSuccess) {

+ 1 - 0
imcs-ui/src/views/zuihou/runManageCenter/orderMgr/components/runningOrder/components/Edit.vue

@@ -314,6 +314,7 @@ export default {
     },
     setTenant (val) {
     	if(val){
+			this.val.singleTaskFlag = '0'
     		this.tableData = val
     	}
     },

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

@@ -189,14 +189,6 @@
         width="200px"
       >
         <template slot-scope="{ row }">
-        	<!-- 生产详情-->
-          <!--<el-tooltip class="item" :content='$t("runCenter.buttons.prodView")' effect="dark" placement="top-start">
-	          <i
-	            class="el-icon-view table-operation"
-	            style="color: #2db7f5;"
-	            @click="view(row)"
-	          />
-          </el-tooltip> -->
           <!-- 暂停-->
           <el-tooltip v-if="row.produceStatus == '1' || row.produceStatus == '2'" class="item" content='暂停' effect="dark" placement="top-start">
 	          <i
@@ -204,6 +196,13 @@
 	            style="color: #2db7f5;"
 	            @click="orderOperateBtn(row,'stop')"
 	          />
+          </el-tooltip>		  
+		  <el-tooltip v-if="row.produceStatus == '1' && row.singleTaskFlag == '1'" class="item" :content='$t("runCenter.buttons.prodNode")' effect="dark" placement="top-start">
+	          <i
+	            class="el-icon-monitor table-operation"
+	            style="color: #2db7f5;"
+	            @click="prodNode(row)"
+	          />
           </el-tooltip>
           <!-- 继续生产-->
           <el-tooltip v-if="row.produceStatus == '3'" class="item" content='继续生产' effect="dark" placement="top-start">
@@ -214,7 +213,7 @@
 	          />
           </el-tooltip>
         	<!-- 排产预览 -->
-        	<el-tooltip class="item" content='排产预览' effect="dark" placement="top-start">
+        	<el-tooltip v-if="row.produceStatus == '1'" class="item" content='排产预览' effect="dark" placement="top-start">
 	          <i
 	            class="el-icon-view table-operation"
 	            style="color: #87d068;"
@@ -222,7 +221,7 @@
 	          />
           </el-tooltip>
           <!-- 刀具校验-->
-          <el-tooltip class="item" content='刀具校验' effect="dark" placement="top-start">
+          <el-tooltip v-if="row.produceStatus == '1'" class="item" content='刀具校验' effect="dark" placement="top-start">
 	          <i
 	            class="el-icon-data-analysis table-operation"
 	            style="color: #2db7f5;"
@@ -925,7 +924,20 @@
 	      this.$refs.view.setTenant(row)
 	      this.tenantViewVisible = true
 	    },
-
+		prodNode(row){
+			orderMgrApi.prodNode({id:row.id,orderId:row.orderId}).then(response => {
+	        const res = response.data
+	        if (res.isSuccess) {
+	          this.$message({
+	            message: this.$t("tips.createSuccess"),
+	            type: "success"
+	          })
+	          this.search()
+	          // 清理已经删除的数据
+	          this.$refs.table.clearSelection()
+	        }
+	      })	
+		},
 		viewConf(){
 			if (!this.selection.length) {
 	        this.$message({