Browse Source

工单资料工艺损耗系数弹窗

liuhairui 1 year ago
parent
commit
1801de055c
1 changed files with 78 additions and 5 deletions
  1. 78 5
      src/view/yunyin/shengchanguanli/components/addGongYi.vue

+ 78 - 5
src/view/yunyin/shengchanguanli/components/addGongYi.vue

@@ -57,18 +57,18 @@
             </el-select>
           </el-form-item>
           <el-form-item label="工序损耗:"  class="mab" prop="keyOrder" >
-            <el-input v-model="form['shdh']"  style="width: 10%;" id="工序损耗"  @keydown="add_gyzlent($event, '设备编号', '工序损耗', '装版工时')"/>
+            <el-input v-model="form['shdh']"  style="width: 10%;" id="工序损耗"  @keydown="add_gyzlent($event, '设备编号', '工序损耗', '损耗系数')"/>
             <el-input disabled v-model="form['工序损耗名称']"  style="width: 88.7%;margin-left: 10px"/>
           </el-form-item>
           <div style="display: flex; gap: 0px;">
             <el-form-item label="损耗系数:"  class="mab" prop="keyOrder">
-              <el-input  v-model="form['损耗系数']"  style="flex: 1;" />
+              <el-input  v-model="form['损耗系数']"  style="flex: 1;" id="损耗系数"  @keydown="add_gyzlent($event, '工序损耗', '损耗系数', '难度系数')"/>
             </el-form-item>
             <el-form-item label="难度系数"  class="mab" prop="keyOrder">
-              <el-input  v-model="form['难度系数']"  style="flex: 1;" />
+              <el-input  v-model="form['难度系数']"  style="flex: 1;" id="难度系数"  @keydown="add_gyzlent($event, '损耗系数', '难度系数', '装版工时')"/>
             </el-form-item>
             <el-form-item label="装版工时:"  class="mab" prop="keyOrder">
-              <el-input  v-model="form['装版工时']"  style="flex: 1;" id="装版工时"  @keydown="add_gyzlent($event, '工序损耗', '装版工时', '排产小时产能')"/>
+              <el-input  v-model="form['装版工时']"  style="flex: 1;" id="装版工时"  @keydown="add_gyzlent($event, '难度系数', '装版工时', '排产小时产能')"/>
             </el-form-item>
             <el-form-item label="排产小时产能:"  class="mab" prop="keyOrder" label-width=" 120px">
               <el-input  v-model="form['小时产能']"  style="flex: 1;" id="排产小时产能"  @keydown="add_gyzlent($event, '装版工时', '排产小时产能', '备注')"/>
@@ -133,18 +133,43 @@
       </el-tree>
     </el-dialog>
 
+    <!-- 新增查询标准损耗 -->
+    <el-dialog v-model="shxsdisplay" :before-close="() => shxsdisplay = false">
+      <el-form>
+        <div>
+          <!-- <el-form-item label="关键字:"  class="mab" prop="keyOrder">
+            <el-space>
+              <el-input v-model="gymc_keyword" style="width: 100%;"/>
+              <el-button @click="searchHandle(gymc_keyword)">刷新</el-button>
+            </el-space>
+          </el-form-item> -->
+          <div style="border:1px solid #eee; width:100%; height: 400px; overflow-y: auto">
+            <el-tree :data="getSHListdata" :props="defaultProps" @node-click="selectSHNode" />
+          </div>
+        </div>
+      </el-form>
+    </el-dialog>
+
   </div>
 </template>
 
 <script setup>
 import {ref, reactive,onMounted} from 'vue'
 import {
-  gdzl_MachineList, PrintDetailList, WastageList, getDepartName, capacityList, ProcessDetailAdd, workOrderListDetail,
+  gdzl_MachineList,
+  PrintDetailList,
+  WastageList,
+  getDepartName,
+  capacityList,
+  ProcessDetailAdd,
+  workOrderListDetail,
+  getLossCode,
 } from '@/api/yunyin/yunying'
 import { ElMessage } from 'element-plus'
 const form = reactive({})
 const visible = ref(false)
 const yjdisplay = ref(false)
+const shxsdisplay = ref(false)
 const cjdisplay = ref(false)
 const gxshdisplay = ref(false)
 const id = ref()
@@ -171,6 +196,11 @@ const add_gyzlent = async (event,id1,id2,id3) => {
     document.getElementById(id3).focus()
     cjdisplay.value = true
   }
+  if (id2 === '损耗系数' && event.key==='Tab') {
+    document.getElementById(id3).focus()
+    shxsdisplay.value = true
+    _getSH()
+  }
   if (id2 === '工序损耗' &&  event.key==='Tab') {
     if(form['车间名称']){
       await getGxshList();
@@ -209,6 +239,49 @@ const add_gyzlent = async (event,id1,id2,id3) => {
   }
 }
 
+const getSHListdata = ref([]);
+
+//填充树形结构
+const _getSH = async () => {
+  const response = await getLossCode({ code: '' });
+  if (response.code === 0) {
+    const data = response.data;
+    const treeData = [];
+    const map = {};
+    // 构建树形结构
+    data.forEach(item => {
+      map[item.sys_bh] = { ...item, children: [], label: `${item.sys_bh}---${item.sys_mc}---${item.sys_rate0}---${item.sys_rate1}` };
+    });
+    data.forEach(item => {
+      if (item.sys_bh.length === 3) {
+        map[item.sys_bh].level = 1;
+        treeData.push(map[item.sys_bh]);
+      } else {
+        map[item.sys_bh].level = 2;
+        map[item.sys_bh.substring(0, 3)].children.push(map[item.sys_bh]);
+      }
+    });
+    getSHListdata.value = treeData;
+    shxsdisplay.value = true;
+  } else {
+    // 处理错误情况
+    console.error('获取损耗列表失败');
+  }
+};
+//损耗树形结构点击
+const selectSHNode = (node,check) => {
+  console.log(node.level)
+  if(node.level==1){
+    console.log(node.label)
+  }
+  if(node.level==2){
+    form.损耗系数=node.sys_rate0
+    form.难度系数=node.sys_rate1
+    shxsdisplay.value = false;
+  }
+}
+
+
 const open = async (gdbh, gxlist) => {
   Object.keys(form).forEach(key => {
     form[key] = '';