Просмотр исходного кода

Merge branch 'master' of https://git.7in6.com/Minong/mes-admin-backend-ui

曹鹤洋 1 год назад
Родитель
Сommit
c0fbf9b3c7

+ 11 - 1
src/view/dashboard/index.vue

@@ -22,7 +22,10 @@
               :sm="6"
             >
               <div class="flex items-center">
-                <label :for="id">排程中工单数: {{labelValue2 }}</label>
+				  <el-icon class="dashboard-icon">
+				   <comment />
+				  </el-icon>
+                <label  :for="id">排程中工单数: {{labelValue2 }}</label>
               </div>
             </el-col>
             <el-col
@@ -31,6 +34,9 @@
               :sm="6"
             >
               <div class="flex items-center">
+				  <el-icon class="dashboard-icon">
+				   <comment />
+				  </el-icon>
                 <label :for="id">制程中工单数:{{ labelValue3 }}</label>
               </div>
             </el-col>
@@ -40,6 +46,9 @@
               :sm="6"
             >
               <div class="flex items-center">
+				  <el-icon class="dashboard-icon">
+				   <comment />
+				  </el-icon>
                 <label :for="id">已完工工单数:{{labelValue4 }}</label>
               </div>
             </el-col>
@@ -219,6 +228,7 @@ const toTarget = (name) => {
             }
             &-item{
               +.gva-top-card-left-item{
+				 
                 margin-top: 24px;
               }
               margin-top: 14px;

+ 2 - 1
src/view/job/related/related.vue

@@ -1027,9 +1027,10 @@ function ontable(row, column, event) {
   console.log(row)
   code.value=row.员工编号
   time.value=row.日期
-  console.log(code.value+time.value)
+  console.log(code.value+time.value.replace(".","").substr(0,6))
   rowIndex.value = tableData.indexOf(row);
   console.log('单击的行数:', rowIndex.value);
+  RelatedAllList(time.value.replace(".","").substr(0,6),code.value)
 }
 let temporary = {
   员工编号: '',

+ 97 - 8
src/view/job/sampling/sampling.vue

@@ -250,6 +250,8 @@
               label-position="right"
               :rules="rule"
               label-width="75px"
+			  id="detail-form"
+			  @keyup="moveFocus"
             >
               <el-form-item
                 label="员工编号:"
@@ -258,7 +260,9 @@
                 <el-input
                   v-model="detailData.Sczl_bh"
                   :clearable="true"
-				  @keyup.enter="handleGetYg"
+				  
+				  @blur="handleGetYg()"
+				  @keydown="ent1($event)"
                 />
               </el-form-item>
               <el-form-item prop="image">
@@ -266,6 +270,7 @@
                   v-model="detailData.name"
                   :clearable="true"
                   placeholder="请输入员工姓名"
+				  @keydown="ent1($event)"
                 />
               </el-form-item>
             </el-form>
@@ -286,8 +291,7 @@
                   :clearable="true"
                   placeholder="请输入班组"
                 /> -->
-				<el-select v-model="detailData.sczl_bzdh" placeholder="" style="width: 70px"
-				           
+				<el-select v-model="detailData.sczl_bzdh" placeholder="" style="width: 70px"				           
 				>
 				  <el-option label="A班" value="A班"></el-option>
 				  <el-option label="B班" value="B班"></el-option>
@@ -301,6 +305,7 @@
                   v-model="detailData.Sczl_rq"
                   :clearable="true"
                   placeholder="请输入日期"
+				  @keydown="ent1($event)"
                 />
               </el-form-item>
             </el-form>
@@ -320,6 +325,7 @@
                   v-model="detailData.Sczl_gdbh"
                   :clearable="true"
                   placeholder="请输入工单编号"
+				  @keydown="ent1($event)"
                 />
               </el-form-item>
               <el-form-item prop="image">
@@ -327,6 +333,7 @@
                   v-model="detailData.Gd_cpmc"
                   :clearable="true"
                   placeholder="请输入产品名称"
+				  @keydown="ent1($event)"
                 />
               </el-form-item>
             </el-form>
@@ -347,6 +354,7 @@
                   :clearable="true"
                   placeholder="请输入工序名称"
                   style="width: 140px;"
+				  @keydown="ent1($event)"
                 />
               </el-form-item>
               <el-form-item prop="image">
@@ -355,6 +363,7 @@
                   :clearable="true"
                   placeholder="请输入工序号"
                   style="width: 140px;"
+				  @keydown="ent1($event)"
                 />
               </el-form-item>
               <el-form-item
@@ -366,6 +375,7 @@
                   :clearable="true"
                   placeholder="请输入流程单号"
                   style="width: 140px;"
+				  @keydown="ent1($event)"
                 />
               </el-form-item>
             </el-form>
@@ -386,6 +396,7 @@
                   :clearable="true"
                   placeholder="请输入抽检数量"
                   style="width: 123px;"
+				  @keydown="ent1($event)"
                 />
               </el-form-item>
             </el-form>
@@ -406,6 +417,7 @@
                   :clearable="true"
                   placeholder="请输入A类废品"
                   style="width: 123px;"
+				  @keydown="ent1($event)"
                 />
               </el-form-item>
               <el-form-item
@@ -417,6 +429,7 @@
                   :clearable="true"
                   placeholder="请输入B类废品"
                   style="width: 123px;"
+				  @keydown="ent1($event)"
                 />
               </el-form-item>
               <el-form-item
@@ -428,6 +441,7 @@
                   :clearable="true"
                   placeholder="请输入C类废品"
                   style="width: 123px;"
+				  @keydown="ent1($event)"
                 />
               </el-form-item>
             </el-form>
@@ -446,6 +460,7 @@
                   v-model="detailData.Sczl_desc"
                   :clearable="true"
                   placeholder="请输入其他备注"
+				  @keydown="ent1($event)"
                 />
               </el-form-item>
             </el-form>
@@ -499,10 +514,11 @@
 import { Layout, LayoutContent, LayoutHeader, LayoutSider } from '@arco-design/web-vue'
 import { getSpotList, getSpotTab, getSpotLocal, getSpotInfo, updateSpotData,add } from '@/api/mes/job'
 import { createCompany, deleteCompany, deleteCompanyByIds, findCompany, updateCompany } from '@/api/company'
+
 import{getYg}from '@/api/mes_api_gty/myapi'
 // 全量引入格式化工具 请按需保留
 import { ElMessage, ElMessageBox } from 'element-plus'
-import { reactive, ref } from 'vue'
+import { reactive, ref,nextTick ,onMounted, onBeforeMount} from 'vue'
 
 defineOptions({
   name: 'Sampling'
@@ -661,7 +677,8 @@ const handleShowAdd = async () => {
 	  res.data[0].Sczl_rq = `${sczl_rq.getFullYear()}-${sczl_rq.getMonth() + 1}-${sczl_rq.getDate()}`;
     Object.assign(detailData, res.data[0]);
     detailData.UniqId = currentRow.value;
-    dialogFormVisible.value = true
+    // dialogFormVisible.value = true
+	showDialog()
   }
 };
 	// type.value='add'
@@ -681,7 +698,8 @@ const getDetailData = async(row) => {
   if (res.code === 0) {
     Object.assign(detailData, res.data[0])
     detailData.UniqId = UniqId
-    dialogFormVisible.value = true
+    // dialogFormVisible.value = true
+	showDialog()
   }
 }
 const currentRow = ref()
@@ -842,7 +860,8 @@ const closeDetailShow = () => {
 // 打开弹窗
 const openDialog = () => {
   type.value = 'create'
-  dialogFormVisible.value = true
+  // dialogFormVisible.value = true
+  showDialog()
 }
 
 // 关闭弹窗
@@ -854,7 +873,77 @@ const closeDialog = () => {
     name: '',
   }
 }
-
+// 开启弹窗
+const showDialog = () => {
+  dialogFormVisible.value = true
+  // 在 setTimeout 中获取元素,确保在 DOM 渲染完毕后执行
+  // setTimeout(() => {
+  //   formElements = document.getElementById('detail-form').elements
+  //   formElements[0].focus()
+  // }, 0)
+}
+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);
+          })
+          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>

+ 21 - 0
src/view/performance/06-packingDocuments/index.vue

@@ -79,6 +79,7 @@
                 <el-input
                   v-model="detailData.name"
                   style="width: 100px; padding-left: 5px;"
+				   @click="selectvalue($event)"
                   readonly
                 />
               </el-form-item>
@@ -106,6 +107,7 @@
                 <el-input
                   v-model="detailData.sczl_jsss"
                   style="width: 100px;"
+				  @click="selectvalue($event)"
                 />
               </el-form-item>
               <el-form-item label="冲月定额">
@@ -484,6 +486,10 @@ const handleNodeClick = (node, check) => {
   }
 }
 
+const selectvalue = (e) => {
+ console.log(e)
+ e.currentTarget.select();
+}
 // 定位
 const handleSearch = () => {
   params.gdbh = searchInfo.value
@@ -779,22 +785,28 @@ const moveFocus = (event) => {
     case 0:
       if (key === 'ArrowDown') {
         formElements[1].focus()
+		formElements[1].select()
       } else if (key === 'ArrowUp') {
         formElements[formElements.length - 1].focus()
+		formElements[formElements.length - 1].select()
       } else if (key === 'Enter') {
         formElements[1].focus()
+		formElements[1].select()
       }
       break
 
     case 1:
       if (key === 'ArrowDown') {
         formElements[3].focus()
+		formElements[3].select()
         handleGetYg()
       } else if (key === 'ArrowUp') {
         formElements[0].focus()
+		formElements[0].select()
         handleGetYg()
       } else if (key === 'Enter') {
         formElements[3].focus()
+		formElements[3].select()
         handleGetYg()
       }
       break
@@ -802,30 +814,39 @@ const moveFocus = (event) => {
     case 3:
       if (key === 'ArrowDown') {
         formElements[4].focus()
+		formElements[4].select()
       } else if (key === 'ArrowUp') {
         formElements[1].focus()
+		formElements[1].select()
       } else if (key === 'Enter') {
         formElements[4].focus()
+		formElements[4].select()
       }
       break
 
     case formElements.length - 1 :
       if (key === 'ArrowDown') {
         formElements[0].focus()
+		formElements[0].select()
       } else if (key === 'ArrowUp') {
         formElements[index - 1].focus()
+		formElements[index - 1].select()
       } else if (key === 'Enter') {
         formElements[0].focus()
+		formElements[0].select()
       }
       break
 
     default:
       if (key === 'ArrowDown') {
         formElements[index + 1].focus()
+		formElements[index + 1].select()
       } else if (key === 'ArrowUp') {
         formElements[index - 1].focus()
+		formElements[index - 1].select()
       } else if (key === 'Enter') {
         formElements[index + 1].focus()
+		formElements[index + 1].select()
       }
       break
   }

+ 7 - 0
src/view/performance/07-otherDocuments/index.vue

@@ -651,30 +651,37 @@ const moveFocus = (event) => {
     case 0:
       if (key === 'ArrowDown') {
         formElements[1].focus()
+		formElements[1].select();
       } else if (key === 'ArrowUp') {
         formElements[formElements.length - 1].focus()
       } else if (key === 'Enter') {
         formElements[1].focus()
+		formElements[1].select();
       }
       break
 
     case formElements.length - 1 :
       if (key === 'ArrowDown') {
         formElements[0].focus()
+		formElements[0].select();
       } else if (key === 'ArrowUp') {
         formElements[index - 1].focus()
       } else if (key === 'Enter') {
         formElements[0].focus()
+		formElements[0].select();
       }
       break
 
     default:
       if (key === 'ArrowDown') {
         formElements[index + 1].focus()
+		formElements[index + 1].select();
       } else if (key === 'ArrowUp') {
         formElements[index - 1].focus()
+		formElements[index + 1].select();
       } else if (key === 'Enter') {
         formElements[index + 1].focus()
+		formElements[index + 1].select();
       }
       break
   }

+ 1 - 0
src/view/performance/08-timesheet/index.vue

@@ -731,6 +731,7 @@ const moveFocus = async(event) => {
   const focusNext = (step) => {
     const nextIndex = (index + step + formElements.length) % formElements.length
     formElements[nextIndex].focus()
+	formElements[nextIndex].select()
   }
 
   switch (index) {

+ 60 - 2
src/view/performance/09-workOrderVerification/index.vue

@@ -137,6 +137,8 @@
               inline
               label-position="left"
               :rules="rule"
+			  id="detail-form"
+			  @keyup="moveFocus"
             >
               <el-form-item
                 label="日期"
@@ -715,7 +717,8 @@ const getDetailData = async(id) => {
         const res = await getOrderInfo({ order: detailData.qczl_gdbh })
         if (res.code === 0) {
           detailData.Gd_cpmc = res.data.Gd_cpmc
-          dialogFormVisible.value = true
+          // dialogFormVisible.value = true	
+			showDialog()
         }
       } catch (e) {
         console.log(e)
@@ -977,7 +980,8 @@ const updateCompanyFunc = async(row) => {
   type.value = 'update'
   if (res.code === 0) {
     formData.value = res.data.recompany
-    dialogFormVisible.value = true
+    // dialogFormVisible.value = true
+	showDialog()
   }
 }
 
@@ -1017,6 +1021,60 @@ const handleShowAdd = async() => {
   //    Object.assign(detailData);
   // dialogFormVisible.value = true
 }
+// 开启弹窗
+const showDialog = () => {
+  dialogFormVisible.value = true
+  // 在 setTimeout 中获取元素,确保在 DOM 渲染完毕后执行
+  setTimeout(() => {
+    formElements = document.getElementById('detail-form').elements
+    formElements[0].focus()
+  }, 0)
+}
+
+let formElements
+const moveFocus = (event) => {
+  const index = Array.from(formElements).indexOf(event.target)
+  const key = event.key
+  event.preventDefault()
+  switch (index) {
+    case 0:
+      if (key === 'ArrowDown') {
+        formElements[1].focus()
+		formElements[1].select();
+      } else if (key === 'ArrowUp') {
+        formElements[formElements.length - 1].focus()
+      } else if (key === 'Enter') {
+        formElements[1].focus()
+		formElements[1].select();
+      }
+      break
+
+    case formElements.length - 1 :
+      if (key === 'ArrowDown') {
+        formElements[0].focus()
+		formElements[0].select();
+      } else if (key === 'ArrowUp') {
+        formElements[index - 1].focus()
+      } else if (key === 'Enter') {
+        formElements[0].focus()
+		formElements[0].select();
+      }
+      break
+
+    default:
+      if (key === 'ArrowDown') {
+        formElements[index + 1].focus()
+		formElements[index + 1].select();
+      } else if (key === 'ArrowUp') {
+        formElements[index - 1].focus()
+		formElements[index + 1].select();
+      } else if (key === 'Enter') {
+        formElements[index + 1].focus()
+		formElements[index + 1].select();
+      }
+      break
+  }
+}
 </script>
 
 <style scoped>

+ 1 - 1
src/view/performance/yuangongrigongzi.vue

@@ -699,7 +699,7 @@ function doubleClick(row, column, event) {
   console.log(row, column, event);
   // updateCompanyFunc(row);
   type.value = 'update';
-  dialogFormVisible.value = true
+  // dialogFormVisible.value = true
 }
 
 // 导出excel