Ver código fonte

自动登录,工单大废品

Lexie 1 ano atrás
pai
commit
c20578460c

+ 64 - 2
src/api/mes/job.js

@@ -129,8 +129,70 @@ export const getRewardTabByGd = (params) => {
     params
   })
 }
-
-
+// 大废品奖惩工单编号获取
+export const JunkWorkOrderList = (params) => {
+  return service({
+    url: '/mes_server/large_waste_reward_punish/JunkWorkOrderList',
+    method: 'get',
+    params
+  })
+}
+// 大废品奖惩印件编号获取
+export const PrintCodeList = (params) => {
+  return service({
+    url: '/mes_server/large_waste_reward_punish/PrintCodeList',
+    method: 'get',
+    params
+  })
+}
+// 大废品奖惩工单工艺获取
+export const ProcessList = (params) => {
+  return service({
+    url: '/mes_server/large_waste_reward_punish/ProcessList',
+    method: 'get',
+    params
+  })
+}
+// 大废品奖惩获取机组员工编号
+export const MachineClassList = (params) => {
+  return service({
+    url: '/mes_server/large_waste_reward_punish/MachineClassList',
+    method: 'get',
+    params
+  })
+}
+// 大废品奖惩机台编号获取
+export const MachineList = (params) => {
+  return service({
+    url: '/mes_server/large_waste_reward_punish/MachineList',
+    method: 'get',
+    params
+  })
+}
+// 大废品奖惩大废品数据删除
+export const JunkDetailDel = (params) => {
+  return service({
+    url: '/mes_server/large_waste_reward_punish/JunkDetailDel',
+    method: 'get',
+    params
+  })
+}
+// 大废品奖惩大废品数据修改
+export const JunkDetailEdit = (data) => {
+  return service({
+    url: '/mes_server/large_waste_reward_punish/JunkDetailEdit',
+    method: 'post',
+    data
+  })
+}
+// 大废品奖惩大废品数据添加
+export const JunkDetailAdd = (data) => {
+  return service({
+    url: '/mes_server/large_waste_reward_punish/JunkDetailAdd',
+    method: 'post',
+    data
+  })
+}
 export const getDocumentData = (params) => {
   return service({
     url: '/mes_server/process_document/getData',

+ 3 - 2
src/pinia/modules/user.js

@@ -108,10 +108,11 @@ export const useUserStore = defineStore('user', () => {
           router.addRoute(asyncRouter)
         })
 		// A4-B1-C1-D4-74-02
-        const response = await getMachineMac({ addr:MAC});
+        const response = await getMachineMac({ addr:'68-ED-A4-26-5F-37'});
+		// const response = await getMachineMac({ addr:'A4-B1-C1-D4-74-02'});
         console.log(response)
         if(response.data===null){
-        	ElMessage.error('请输入账号密码')
+        	// ElMessage.error('请输入账号密码')
         }else{
 		if (!router.hasRoute(userInfo.value.authority.defaultRouter)) {
 		  ElMessage.error('请联系管理员进行授权')

+ 279 - 76
src/view/job/rewards/rewards.vue

@@ -92,6 +92,7 @@
               :header-cell-style="{ padding: '0px' }"
               @selection-change="handleSelectionChange"
               @row-dblclick="handleDoubleClick"
+			  @row-click="Click"
             >
               <el-table-column
                 type="selection"
@@ -215,7 +216,7 @@
           <el-dialog
             v-model="dialogFormVisible"
             :before-close="closeDialog"
-            title="详情"
+            :title="type === 'create' ? '新增' : '修改'"
             destroy-on-close
             style="width: 1020px;position: fixed; top: 35%; left: 50%; transform: translate(-50%, -50%);"
           >
@@ -228,7 +229,7 @@
                 label-position="right"
                 :rules="rule"
                 label-width="80px"
-                aria-readonly="true"
+                aria-="true"
               >
                 <el-form-item
                   label="工单编号:"
@@ -237,7 +238,8 @@
                 >
                   <el-input
                     v-model="detailData.sczl_gdbh"
-                    readonly
+                    @keydown="ent1($event)"
+					@blur="getCPMCsubmit()"
                     style="width: 120px;"
                   />
                 </el-form-item>
@@ -247,7 +249,7 @@
                 >
                   <el-input
                     v-model="detailData.Gd_cpmc"
-                    readonly
+                    @keydown="ent1($event)"
                     placeholder="请输入产品名称"
                     style="width: 450px;"
                   />
@@ -268,7 +270,8 @@
                 >
                   <el-input
                     v-model="detailData.sczl_yjno"
-                    readonly
+                    @keydown="ent1($event)"
+					@blur="getYJMCsubmit()"
                     style="width: 120px;"
                   />
                 </el-form-item>
@@ -278,7 +281,7 @@
                 >
                   <el-input
                     v-model="detailData.yj_yjmc"
-                    readonly
+                    @keydown="ent1($event)"
                     style="width: 450px;"
                   />
                 </el-form-item>
@@ -297,14 +300,14 @@
                 >
                   <el-input
                     v-model="detailData.sczl_gxmc"
-                    readonly
+                    @blur="getGXsubmit()"
                     style="width: 300px;"
                   />
                 </el-form-item>
                 <el-form-item prop="image">
                   <el-input
                     v-model="detailData.sczl_gxh"
-                    readonly
+                    
                     style="width: 50px;"
                   />
                 </el-form-item>
@@ -314,7 +317,7 @@
                 >
                   <el-input
                     v-model="detailData.sczl_numDesc"
-                    readonly
+                    
                   />
                 </el-form-item>
               </el-form>
@@ -333,7 +336,7 @@
                 >
                   <el-input
                     v-model="detailData.sczl_rq"
-                    readonly
+                    
                     style="width: 120px;"
                   />
                 </el-form-item>
@@ -343,7 +346,7 @@
                 >
                   <el-input
                     v-model="detailData.sczl_cl"
-                    readonly
+                    
                     style="width: 120px;"
                   />
                 </el-form-item>
@@ -353,7 +356,7 @@
                 >
                   <el-input
                     v-model="detailData.sczl_ls"
-                    readonly
+                    
                     style="width: 120px;"
                   />
                 </el-form-item>
@@ -372,7 +375,7 @@
                 >
                   <el-input
                     v-model="detailData.sczl_fplxA"
-                    readonly
+                    
                     style="width: 300px;"
                   />
                 </el-form-item>
@@ -388,7 +391,7 @@
                 >
                   <el-input
                     v-model="detailData.责任部门"
-                    readonly
+                    
                     style="width: 250px;"
                   />
                 </el-form-item>
@@ -454,57 +457,57 @@
                   <div class="sub-title">奖励班组:</div>
                   <el-input
                     v-model="detailData.Jl_bzdh"
-                    readonly
+                    
                     style="width: 45px;"
                   />
                   <el-input
                     v-model="detailData.jl_jtbh"
-                    readonly
+                    
                     style="width: 65px;"
                   />
                   <el-input
                     v-model="detailData.JL_bh1"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_bh2"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_bh3"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_bh4"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_bh5"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_bh6"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_bh7"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_bh8"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_bh9"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                 </el-form-item>
@@ -523,47 +526,47 @@
                   />
                   <el-input
                     v-model="detailData.jlname1"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.jlname2"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.jlname3"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.jlname4"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.jlname5"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.jlname6"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.jlname7"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.jlname8"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.jlname9"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                 </el-form-item>
@@ -582,47 +585,47 @@
                   >奖励金额:</div>
                   <el-input
                     v-model="detailData.JL_Je1"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_Je2"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_Je3"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_Je4"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_Je5"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_Je6"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_Je7"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_Je8"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.JL_Je9"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                 </el-form-item>
@@ -688,57 +691,57 @@
                   <div class="sub-title">责任班组:</div>
                   <el-input
                     v-model="detailData.sczl_bzdh"
-                    readonly
+                    
                     style="width: 45px;"
                   />
                   <el-input
                     v-model="detailData.sczl_jtbh"
-                    readonly
+                    
                     style="width: 65px;"
                   />
                   <el-input
                     v-model="detailData.sczl_bh1"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_bh2"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_bh3"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_bh4"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_bh5"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_bh6"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_bh7"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_bh8"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_bh9"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                 </el-form-item>
@@ -757,47 +760,47 @@
                   />
                   <el-input
                     v-model="detailData.zrname1"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.zrname2"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.zrname3"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.zrname4"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.zrname5"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.zrname6"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.zrname7"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.zrname8"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.zrname9"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                 </el-form-item>
@@ -816,47 +819,47 @@
                   >处罚金额:</div>
                   <el-input
                     v-model="detailData.sczl_je1"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_je2"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_je3"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_je4"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_je5"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_je6"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_je7"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_je8"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                   <el-input
                     v-model="detailData.sczl_je9"
-                    readonly
+                    
                     style="width: 85px;"
                   />
                 </el-form-item>
@@ -872,6 +875,33 @@
               </div>
             </template>
           </el-dialog>
+		  
+		  
+		  
+		  <el-dialog v-model="dialogSelectVisible" title="选择" destroy-on-close width="800px" @keydown="selectGX($event)">
+		    <el-table tooltip-effect="dark" :data="selectData" row-key="ID" 
+			highlight-current-row="true" border style="width:100%" @row-dblclick="handleSelectClick" ref="table2">
+		      <el-table-column label="工序名称" width="225">
+		        <template v-slot="{ row }">
+		          {{ row }}
+		        </template>
+		      </el-table-column>
+		    </el-table>
+		  </el-dialog>
+		  
+		  
+		  <el-dialog v-model="JtbhVisible" title="选择" destroy-on-close width="800px" >
+		    <el-table tooltip-effect="dark" :data="selectDataJtbh" row-key="ID"
+		      highlight-current-row="true" border style="width:100%"
+		      @row-dblclick="SelectClickJtbh"
+		    >
+		      <el-table-column prop="jtbh" label="设备编号" width="150" />			        	 
+		      <el-table-column prop="设备名称" label="设备名称" width="600" />			        	 
+		    </el-table>
+		  </el-dialog>
+
+
+		  
 
           <el-dialog
             v-model="detailShow"
@@ -908,12 +938,13 @@
 </template>
 
 <script setup>
-import { getRewardDetail, getRewardList, getRewardTab, getRewardTabByGd } from '@/api/mes/job'
+import { getRewardDetail, getRewardList, getRewardTab, getRewardTabByGd,JunkWorkOrderList,PrintCodeList,
+ProcessList,MachineClassList,MachineList,JunkDetailDel,JunkDetailEdit,JunkDetailAdd} from '@/api/mes/job'
 import { createCompany, deleteCompany, deleteCompanyByIds, findCompany, updateCompany } from '@/api/company'
 import { Layout, LayoutContent, LayoutHeader, LayoutSider } from '@arco-design/web-vue'
 // 全量引入格式化工具 请按需保留
 import { ElMessage, ElMessageBox } from 'element-plus'
-import { reactive, ref } from 'vue'
+import { ref, reactive, nextTick, onMounted, onBeforeMount } from 'vue'
 
 defineOptions({
   name: 'Company'
@@ -1029,6 +1060,7 @@ const handleCurrentChange = (val) => {
 // 查看详情
 const detailData = reactive({})
 const handleDoubleClick = async(row) => {
+  type.value = 'update';
   const { UniqId } = row
   console.log(UniqId)
   const res = await getRewardDetail({ UniqId })
@@ -1039,7 +1071,12 @@ const handleDoubleClick = async(row) => {
     dialogFormVisible.value = true
   }
 }
-
+let lastCellValue=ref()
+// 单击表格操作
+function Click(row, column, event) {
+    lastCellValue= row['UniqId'];
+	console.log(lastCellValue)
+}
 // 查询
 const getTableData = async() => {
   const table = await getRewardList(params)
@@ -1048,8 +1085,110 @@ const getTableData = async() => {
     total.value = table.data.total
   }
 }
-
+const ADD=ref('0')
+//新增
+function onAdd() {
+	ADD.value='新增'
+	type.value = 'create'
+	GetInfo(lastCellValue)
+	// Productionadd()
+}
 // getTableData()
+//获取详细信息
+const GetInfo = async (value) => {
+  const res = await getRewardDetail({ UniqId:value })
+  if (res.code === 0) {
+	 console.log(res)
+	 Object.assign(detailData, res.data[0])
+	 dialogFormVisible.value = true
+  }
+}
+//工单编号回车事件
+const getCPMCsubmit = () => {
+	if(detailData.sczl_gdbh!=''){
+		JunkWorkOrderList({search:detailData.sczl_gdbh}).then(response=>{
+		  if (response.code === 0) {
+			  detailData.Gd_cpmc = response.data[0].产品名称			  
+			}else{
+				detailData.Gd_cpmch = '';
+			}
+		});
+		PrintCodeList({workorder:detailData.sczl_gdbh}).then(response=>{
+		  if (response.code === 0) {
+			  detailData.sczl_yjno = response.data[0].印件号	
+			  detailData.yj_yjmc = response.data[0].印件名称	
+			}else{
+				detailData.sczl_yjno = ''
+				detailData.yj_yjmc = ''
+			}
+		});
+	}else{
+		ElMessage({
+		  type: 'error',
+		  message: '请注意, 工单编号输入空置, 除非有特殊需要!'
+		})
+	}
+}
+//印件号失去焦点事件
+// const getYJMCsubmit = () => {
+//  if(detailData.sczl_gdbh!='' && formData.value.sczl_yjno!=''){
+//  	//获取印件名称
+// 	productionYjmc({gdbh:formData.value.sczl_gdbh,yjno:formData.value.sczl_yjno}).then(response=>{
+//  	  if (response.code === 0) {
+//  		  formData.value.yj_yjmc = response.data.yj_yjmc
+//  		  gxmc.value = response.data.gxmc
+// 		  formData.value.sczl_gxmc = gxmc.value.sczl_gxmc;
+// 		  setColorReadonly('印件名称')
+		  
+//  		}else{
+//  			ElMessage({
+//  			  type: 'error',
+//  			  message: '印件编号不存在, 将恢复默认值, 请仔细确认数据准确性!'
+//  			})
+//  			formData.value.sczl_yjno = yjnoArr.value[0];
+//  			formData.value.yj_yjmc = '';
+// 			gxmc.value = '';
+//  		}
+//  	});
+//  }else{
+//  	ElMessage({
+//  	  type: 'error',
+//  	  message: '印件编号不存在, 将恢复默认值, 请仔细确认数据准确性!'
+//  	})
+// 	formData.value.sczl_yjno = yjnoArr.value[0];
+// 	formData.value.yj_yjmc = '';
+// 	gxmc.value = '';
+//  }
+// }
+const dialogSelectVisible=ref(false)
+const selectData=reactive([])
+//工序失去焦点事件
+const getGXsubmit = () => {
+	//弹出选择
+	ProcessList({workorder:detailData.sczl_gdbh,yjno: detailData.sczl_yjno}).then(response=>{
+		if (response.code === 0) {
+			  selectData.splice(0, selectData.length, ...response.data)
+			  console.log(selectData)
+			  dialogSelectVisible.value=true			
+		  }
+	})		
+}
+// 工单选择框
+const handleSelectClick = (row, column, event) => {
+  console.log(row)
+  detailData.sczl_gxmc=row
+  dialogSelectVisible.value=false
+}
+//机台选择
+const selectDataJtbh = reactive([])
+const JtbhVisible = ref(false)
+const SelectClickJtbh = (row, column, event) => {
+  const {jtbh,设备编号 } = row
+
+	formData.value.sczl_jtbh=row.jtbh
+
+  JtbhVisible.value = false
+}
 
 // ============== 表格控制部分结束 ===============
 
@@ -1200,6 +1339,70 @@ const enterDialog = async() => {
   })
 }
 
+
+const ent1 = (event) => {
+  const inputs = document.getElementsByTagName('input');
+  const currentIndex = Array.from(inputs).indexOf(event.target);
+  
+  if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
+    for (let i = currentIndex + 1; i < inputs.length; i++) {
+      if (!inputs[i].readOnly) {
+        nextTick(()=>{
+          inputs[i].focus();
+          inputs[i].select();
+        })
+        break;
+      }
+    }
+  } else if (event.keyCode === 38) { // 向上箭头
+    for (let i = currentIndex - 1; i >= 0; i--) {
+      if (!inputs[i].readOnly) {
+        nextTick(()=>{
+          inputs[i].focus();
+          inputs[i].select();
+        })
+        break;
+      }
+    }
+  } else if (event.keyCode === 8) { // 删除箭头
+    if (event.target.selectionStart === 0) {
+      for (let i = currentIndex - 1; i >= 0; i--) {
+        if (!inputs[i].readOnly) {
+          nextTick(()=>{
+            inputs[i].focus();
+            inputs[i].setSelectionRange(0, 0);
+            inputs[i].select(); // 全选输入框内容
+          })
+          break;
+        }
+      }
+    }
+  } else if (event.keyCode === 37) { // 向左箭头
+    if (event.target.selectionStart === 0) {
+      for (let i = currentIndex - 1; i >= 0; i--) {
+        if (!inputs[i].readOnly) {
+          nextTick(()=>{
+            inputs[i].focus();
+            inputs[i].select();
+          })
+          break;
+        }
+      }
+    }
+  } else if (event.keyCode === 39) { // 向右箭头
+    if (event.target.selectionStart === event.target.value.length) {
+      for (let i = currentIndex + 1; i < inputs.length; i++) {
+        if (!inputs[i].readOnly) {
+          nextTick(()=>{
+            inputs[i].focus();
+            inputs[i].select();
+          })
+          break;
+        }
+      }
+    }
+  }
+}
 </script>
 
 <style scoped>

+ 1 - 1
src/view/login/index.vue

@@ -275,7 +275,7 @@ const GetAddr = () => {
 
 
 userStore.LoginIn2({
-	   username: "admin",
+	   username: "JY01#",
 	   password: "123456",
 	   captcha: "443188",
 	   captchaId: "0FZfnUtAOrdXvTETkJRc",