Browse Source

包装计件单、其他计件单、计件工计时单、手工检验计件单据员工回车优化以及页面调整

曹鹤洋 1 year ago
parent
commit
45c52121bf

+ 1150 - 1001
src/view/performance/06-packingDocuments/index.vue

@@ -1,1001 +1,1150 @@
-<template>
-  <div>
-    <layout>
-      <layout-header>
-        <!-- 按钮 -->
-        <el-form inline>
-          <el-form-item>
-            <el-input
-              v-model="searchInfo"
-              placeholder="搜索产品编号或产品名称"
-              clearable
-              style="width: 180px;"
-            />
-            <el-button
-              type="primary"
-              icon="Search"
-              class="search"
-              @click="handleSearch"
-            />
-
-            <el-button
-              type="primary"
-              icon="edit"
-              class="bt"
-              @click="handleShowDetail"
-            ><i class="el-icon-edit" />查改
-            </el-button>
-
-            <el-button
-              type="primary"
-              icon="edit"
-              class="bt"
-              @click="handleShowAdd"
-            >新增
-            </el-button>
-
-            <el-button
-              type="primary"
-              icon="delete"
-              class="bt"
-              @click="handleDelete"
-            >删除
-            </el-button>
-
-          </el-form-item>
-        </el-form>
-
-        <!-- 弹出框 -->
-        <div>
-          <el-dialog v-model="dialogFormVisible" :title="type" destroy-on-close width="1200px" >
-            <el-form id="detail-form" :model="detailData" inline label-position="left" @keyup="moveFocus" >
-              <el-form-item  label="日期" >
-                <el-input type="date" max="9999-12-31"  @focus="rqHandleFocus()" v-model="detailData.sczl_rq" style="width: 120px;"/>
-              </el-form-item>
-			  
-              <el-form-item  label="员工编号" >
-                <el-input v-model="detailData.sczl_bh" style="width: 100px;" placeholder="Enter回车" />
-                <el-input v-model="detailData.name"  style="width: 100px; padding-left: 5px;" @click="selectvalue($event)"  readonly />
-              </el-form-item>
-			  
-              <el-form-item label="组别">
-                <el-select v-model="detailData.sczl_bzdh" placeholder=" " style="width: 80px" >
-                  <el-option  label="A班" value="A班" />
-                  <el-option label="B班" value="B班" />
-                </el-select>
-			  </el-form-item>
-              <br>
-			  
-              <el-form-item label="计时时数" style="padding-left: 195px;" >
-                <el-input  v-model="detailData.sczl_jsss" style="width: 100px;" @click="selectvalue($event)" />
-              </el-form-item>
-			  
-              <el-form-item label="冲月定额">
-                <el-select v-model="detailData.sczl_冲定额" placeholder=" "  style="width: 100px" >
-                  <el-option label="" value="" />
-                  <el-option label="是" value="是" />
-                </el-select>
-              </el-form-item>
-
-              <el-table
-                :data="detailData.table"
-                border
-                tooltip-effect="dark"
-                :row-style="{ height: '20px' }"
-                :cell-style="{ padding: '0px' }"
-                :header-row-style="{ height: '20px' }"
-                :header-cell-style="{ padding: '0px' }"  >
-				
-                <el-table-column  label="工单编号"  width="100" >
-                  <template #default="{ row, $index }">
-                    <el-input v-model="row.sczl_gdbh" placeholder="Enter回车" @keyup.enter="handleEnter($index, row)" />
-                  </template>
-                </el-table-column>
-
-                <el-table-column label="印件工序" width="100" >
-                  <template #default="{ row }">
-                    <el-input v-model="row.sczl_yjGx" readonly />
-                  </template>
-                </el-table-column>
-				
-                <el-table-column label="工序名称" width="100" >
-                  <template #default="{ row }">
-                    <el-input v-model="row.sczl_gxmc" readonly />
-                  </template>
-                </el-table-column>
-				
-                <el-table-column label="印件名称">
-                  <template #default="{ row }">
-                    <el-input v-model="row.Gd_cpmc" readonly />
-                  </template>
-                </el-table-column>
-				
-                <el-table-column label="包装产量" width="100" >
-                  <template #default="{ row }">
-                    <el-input v-model="row.sczl_cl" />
-                  </template>
-                </el-table-column>
-				
-                <el-table-column label="返工产量" width="100" >
-                  <template #default="{ row }">
-                    <el-input v-model="row.sczl_返工产量" />
-                  </template>
-                </el-table-column>
-				
-                <el-table-column label="每箱数量" width="100" >
-                  <template #default="{ row }">
-                    <el-input v-model="row.sczl_PgCl" />
-                  </template>
-                </el-table-column>
-				
-                <el-table-column label="计产系数"  width="100" >
-                  <template #default="{ row }">
-                    <el-input v-model="row.sczl_计产系数" />
-                  </template>
-                </el-table-column>
-				
-                <el-table-column label="来源"  width="100" >
-                  <template #default="{ row }">
-                    <el-input v-model="row.sczl_Jtbh1" />
-                  </template>
-                </el-table-column>
-				
-                <el-table-column label="定额代号" width="130" >
-					<template #default="{ row, $index }">
-					  <el-input v-model="row.sczl_dedh" @keyup.enter="getDedhsubmit($index, row)" />
-                  </template>
-                </el-table-column>
-				
-              </el-table>
-
-              <el-form-item label="其他备注" style="margin-top: 10px;" >
-                <el-input v-model="detailData.sczl_desc" />
-              </el-form-item>
-
-            </el-form>
-
-            <template #footer>
-              <div class="dialog-footer">
-                <el-button @click="dialogFormVisible = false">取 消</el-button>
-                <el-button type="primary" @click="enterDialog"  >确 定
-                </el-button>
-              </div>
-            </template>
-          </el-dialog>
-		  
-		  
-		  <!-- 新增定额代号 -->
-		  <el-dialog v-model="dedhsearchModel" :before-close="() => dedhsearchModel = false">
-		    <el-form>
-		      <div>
-		        <el-form-item label="定额代号 :"  class="mab" prop="keyOrder">
-		        </el-form-item>
-				
-		      <div style="border:1px solid #eee; width:100%; height: 400px; overflow-y: auto">
-		        <el-tree
-		          :data="dedhtreeData"
-		          :props="{
-		            children: 'children',
-		            label: 'label'
-		          }"
-		          @node-click="dedhhandleNodeClick"
-		        ></el-tree>
-		      </div>
-			  
-			  
-		      </div>
-		    </el-form>
-		  </el-dialog>
-		  
-
-          <!-- 弹出选项框 -->
-          <el-dialog
-            v-model="dialogSelectVisible"
-            title="选择"
-            destroy-on-close
-            width="600px"
-			@keydown="selectCP($event)"
-          >
-            <el-table
-              tooltip-effect="dark"
-              :data="selectData"
-              row-key="ID"
-              highlight-current-row
-              border
-              style="width:100%"
-              @row-dblclick="handleSelectClick"
-			  ref="table2"
-            >
-              <el-table-column
-                prop="Gd_cpmc"
-                label="产品名称"
-                width="300"
-              />
-              <el-table-column
-                prop="Gy0_gxmc"
-                label="产品名称"
-                width="100"
-              />
-              <el-table-column
-                prop="jyGx"
-                label="产品名称"
-                width="100"
-              />
-            </el-table>
-          </el-dialog>
-        </div>
-
-      </layout-header>
-
-      <layout>
-        <!--    左侧树侧形结构-->
-        <layout-sider
-          :resize-directions="['right']"
-          :width="220"
-          style="margin-right: 10px;"
-        >
-          <div
-            class="JKWTree-tree"
-            style="height: 70vh;"
-          >
-            <h3>包装计件单据维护</h3>
-            <el-tree
-              :data="treeData"
-              highlight-current
-              @node-click="handleNodeClick"
-            />
-          </div>
-        </layout-sider>
-
-        <layout-content>
-          <!-- 数据展示 -->
-          <div class="gva-table-box">
-            <el-table
-              ref="table"
-              style="width: 100%"
-              :data="tableData"
-              row-key="ID"
-              highlight-current-row
-              border
-              show-overflow-tooltip
-              :row-style="{ height: '20px' }"
-              :cell-style="{ padding: '0px' }"
-              :header-row-style="{ height: '20px' }"
-              :header-cell-style="{ padding: '0px' }"
-              @row-dblclick="handleShowDetail"
-              @current-change="(row, oldRow) => { currentRow = row}"
-            >
-              <el-table-column
-                type="selection"
-                width="55"			
-              />
-              <!-- 循环渲染列 -->
-              <el-table-column
-                v-for=" column in tableColumns "
-                :key="column.prop"
-                :prop="column.prop"
-                :label="column.label"
-                width="110"
-				sortable
-              />
-            </el-table>
-            <!-- 分页 -->
-            <div class="gva-pagination">
-              <el-pagination
-                v-model:current-page="page"
-                v-model:page-size="limit"
-                layout="total, sizes, prev, pager, next, jumper"
-                :page-sizes="[10, 30, 50, 100]"
-                :total="total"
-                @current-change="handleCurrentChange"
-                @size-change="handleSizeChange"
-              />
-            </div>
-          </div>
-        </layout-content>
-      </layout>
-    </layout>
-
-  </div>
-</template>
-
-<script setup>
-import { Layout, LayoutContent, LayoutHeader, LayoutSider } from '@arco-design/web-vue'
-import { ElMessage, ElMessageBox, dayjs } from 'element-plus'
-
-// import { Download, Search, Delete } from '@element-plus/icons-vue'
-import { reactive, ref } from 'vue'
-import { getGxMc, getInfo, getLocate, getPackingSideTable, getPackingTable, updatePackingTable, getYg, DeletePackingTable, addPackingTable, getDedh } from '@/api/mes_api_gty/myapi'
-import { useUserStore } from '@/pinia/modules/user'
-const userStore = useUserStore() 
-const sys_id='['+userStore.userInfo.userName+'/'+userStore.userInfo.nickName+']'
-defineOptions({
-  name: '06PackingDocuments',
-})
-
-// 侧边栏功能
-const treeData = reactive([])
-const getSideData = async() => {
-  try {
-    const response = await getPackingSideTable()
-    if (response.code === 0) {
-      const transformedData = response.data.map(item => ({
-        label: `${item.date.replace(/-/g, '.')}【单据数: ${item.counts}张】`,
-        children: item.sys.map(sysItem => ({
-          label: `${sysItem.sys_id} 【记录数: ${sysItem.count}张】`,
-          params: {
-            date: item.date.replace(/\./g, '-'),
-            sys_id: sysItem.sys_id,
-          },
-        })),
-      }))
-      treeData.splice(0, treeData.length, ...transformedData)
-    }
-  } catch (e) {
-    console.log(e)
-  }
-}
-getSideData()
-
-// 表格功能
-const tableColumns = [
-  { label: '员工编号', prop: 'sczl_bh', width: '100' },
-  { label: '员工姓名', prop: 'name', width: '100' },
-  { label: '生产日期', prop: 'sczl_rq', width: '100' },
-  { label: '班组', prop: 'sczl_bzdh', width: '100' },
-  { label: '包装产量', prop: 'sczl_cl', width: '100' },
-  { label: '返工产量', prop: 'sczl_fgsl', width: '100' },
-  { label: '计件产量', prop: 'sczl_jjcl', width: '100' },
-  { label: '相关工单', prop: 'sczl_gdbh1', width: '100' },
-  { label: '创建用户', prop: 'sys_id', width: '120' },
-  { label: '创建时间', prop: 'sys_rq', width: '180' },
-  { label: '修改时间', prop: 'mod_rq', width: '180' },
-  { label: 'UNIQID', prop: 'UniqId', width: '100' },
-]
-const tableData = reactive([])
-const params = {
-  type: '',
-  date: '',
-  sys_id: '',
-  gdbh: '',
-}
-
-const total = ref(0)
-const page = ref(1)
-const limit = ref(10)
-
-const type = ref('')
-const searchInfo = ref('')
-const currentRow = ref({})
-// const multipleSelection = ref([])
-
-// 获取列表数据
-const getTableData = async() => {
-  try {
-    const response = await getPackingTable({
-      date: params.date, sys_id: params.sys_id,
-      page: page.value.toString(), limit: limit.value.toString(),
-    })
-    if (response.code === 0) {
-      total.value = response.data.total
-      tableData.splice(0, tableData.length, ...response.data.rows)
-      setCurrent(tableData[0])
-    }
-  } catch (e) {
-    console.log(e)
-  }
-}
-// 获取定位数据
-const getLocateTable = async() => {
-  try {
-    const response = await getLocate({
-      gdbh: params.gdbh,
-      page: page.value.toString(), limit: limit.value.toString(),
-    })
-    if (response.code === 0) {
-      total.value = response.data.total
-      tableData.splice(0, tableData.length, ...response.data.rows)
-    }
-  } catch (e) {
-    console.log(e)
-  }
-}
-// 删除数据
-const deleteTableData = async(id) => {
-  try {
-    const res = await DeletePackingTable({ UniqId: id })
-    if (res.code === 0) {
-      return 0
-    }
-  } catch (e) {
-    console.log(e)
-  }
-}
-
-const handleNodeClick = (node, check) => {
-  if (node.params) {
-    params.date = node.params.date
-    params.sys_id = node.params.sys_id
-    params.type = 'getTableData'
-    page.value = 1
-    getTableData()
-  }
-}
-
-const selectvalue = (e) => {
- console.log(e)
- e.currentTarget.select();
-}
-// 定位
-const handleSearch = () => {
-  params.gdbh = searchInfo.value
-  params.type = 'getLocateTable'
-  page.value = 1
-  getLocateTable()
-}
-
-// 查改
-const handleShowDetail = () => {
-  type.value = '查改'
-  console.log(currentRow.value)
-  if(currentRow.value.UniqId==undefined){
-	 ElMessage({
-	   type: 'warning',
-	   message: '未选中记录',
-	 })
-	 return
-  }else{
-	  getTableInfo(currentRow.value?.UniqId)
-  }
-}
-
-// 删除
-const handleDelete = () => {
-	if(currentRow.value.UniqId==undefined){
-		ElMessage({
-		  type: 'warning',
-		  message: '未选中记录',
-		})
-		return
-	}
-  ElMessageBox.confirm(
-    `确认删除这条数据么?`,
-    '警告',
-    {
-      confirmButtonText: '确认',
-      cancelButtonText: '取消',
-      type: 'warning',
-    }
-  )
-    .then(async() => {
-      const ret = await deleteTableData(currentRow.value?.UniqId)
-      if (ret === 0) {
-        ElMessage({
-          type: 'success',
-          message: '删除成功',
-        })
-		getSideData()
-		getTableData()
-      } else {
-        ElMessage({
-          type: 'error',
-          message: '删除失败',
-        })
-      }
-    })
-    .catch(() => {
-      ElMessage({
-        type: 'info',
-        message: '取消删除',
-      })
-    })
-}
-// 分页
-// #region
-const handleSizeChange = () => {
-  switch (params.type) {
-    case 'getTableData':
-      getTableData()
-      break
-    case 'getLocateTable':
-      getLocateTable()
-      break
-    default:
-      break
-  }
-}
-const handleCurrentChange = () => {
-  switch (params.type) {
-    case 'getTableData':
-      getTableData()
-      break
-    case 'getLocateTable':
-      getLocateTable()
-      break
-    default:
-      break
-  }
-}
-// #endregion
-
-// 详情界面
-const detailData = reactive({
-  UniqId: '',
-  selectIndex: 0,
-  sczl_rq: '',
-  sczl_bh: '',
-  name: '',
-  sczl_bzdh: '',
-  sczl_jsss: '',
-  sczl_冲定额: '',
-  sczl_desc: '',
-  table: [],
-})
-const selectData = reactive([])
-const table = ref()
-
-// 弹窗控制标记
-const dialogFormVisible = ref(false)
-const dialogSelectVisible = ref(false)
-
-const setCurrent = (row) => {
-  table.value?.setCurrentRow(row)
-}
-
-// 获取详细信息
-const getTableInfo = async(id) => {
-  try {
-    const response = await getInfo({ UniqId: id })
-    if (response.code === 0) {
-      const { sczl_rq, sczl_bh, name, sczl_bzdh, sczl_jsss, sczl_冲定额, sczl_desc, ...rest } = response.data
-      Object.assign(detailData, { sczl_rq, sczl_bh, name, sczl_bzdh, sczl_jsss, sczl_冲定额, sczl_desc })
-      detailData.table = Array.from({ length: 6 }, (_, i) => i + 1)
-        .map(num => {
-          return {
-            sczl_gdbh: rest[`sczl_gdbh${num}`],
-            sczl_yjGx: rest[`sczl_yjGx${num}`],
-            sczl_gxmc: rest[`sczl_gxmc${num}`],
-            Gd_cpmc: rest[`Gd_cpmc${num}`],
-            sczl_cl: rest[`sczl_cl${num}`],
-            sczl_返工产量: rest[`sczl_返工产量${num}`],
-            sczl_PgCl: rest[`sczl_PgCl${num}`],
-            sczl_计产系数: rest[`sczl_计产系数${num}`],
-            sczl_Jtbh1: rest[`sczl_Jtbh${num}`],
-            sczl_dedh: rest[`sczl_dedh${num}`],
-          }
-        })
-
-      if (type.value === '新增') {
-		  console.log(detailData)
-		  detailData.name=''
-		  detailData.sczl_bh=''
-		  detailData.sczl_bzdh=''
-		  detailData.sczl_desc=''
-		  detailData.sczl_jsss=''
-		  detailData.sczl_rq=''
-        detailData.table.forEach(row => {
-          for (const key in row) {
-            row[key] = '' // 清空每行的内容
-          }
-        })
-      }else{
-		  detailData.UniqId = id
-		  dialogFormVisible.value = true
-	  }
-
-      if (type.value === '新增' || type.value === '编辑') {
-        detailData.UniqId = id
-        dialogFormVisible.value = true
-
-        // 在 setTimeout 中获取元素,确保在 DOM 渲染完毕后执行
-        setTimeout(() => {
-          formElements = document.getElementById('detail-form').elements
-          formElements[0].focus()
-        }, 0)
-      }
-    }
-  } catch (e) {
-    console.log(e)
-  }
-}
-
-//日期获得焦点事件
-const rqHandleFocus = () =>{
-	if(detailData.sczl_rq==''){
-		detailData.sczl_rq = new Date().toISOString().split('T')[0]
-	}
-}
-
-// 获取工序名称
-const getTableGxMc = async(index, row) => {
-  try {
-    const response = await getGxMc({ gdbh: row.sczl_gdbh })
-    if (response.code === 0) {
-      const { Gd_cpmc, Gy0_gxmc, jyGx } = response.data[0]
-      if (response.data.length === 1) {
-        detailData.table[index].Gd_cpmc = Gd_cpmc
-        detailData.table[index].sczl_yjGx = jyGx
-        detailData.table[index].sczl_gxmc = Gy0_gxmc
-      } else {
-        selectData.splice(0, selectData.length, ...response.data)
-		setCPCurrent(selectData[0])
-        detailData.selectIndex = index
-        dialogSelectVisible.value = true
-      }
-    }
-  } catch (e) {
-    console.log(e)
-  }
-}
-
-// 更新数据
-const updateDetailData = async() => {
-  const restoredData = {
-    UniqId: detailData.UniqId,
-    sczl_rq: detailData.sczl_rq,
-    sczl_bh: detailData.sczl_bh,
-    name: detailData.name,
-    sczl_bzdh: detailData.sczl_bzdh,
-    sczl_jsss: detailData.sczl_jsss,
-    sczl_冲定额: detailData.sczl_冲定额,
-    sczl_desc: detailData.sczl_desc,
-  }
-  detailData.table.forEach((item, index, array) => {
-    const num = index + 1
-    restoredData[`sczl_gdbh${num}`] = item.sczl_gdbh
-    restoredData[`sczl_yjGx${num}`] = item.sczl_yjGx
-    restoredData[`sczl_gxmc${num}`] = item.sczl_gxmc
-    restoredData[`Gd_cpmc${num}`] = item.Gd_cpmc
-    restoredData[`sczl_cl${num}`] = item.sczl_cl
-    restoredData[`sczl_返工产量${num}`] = item.sczl_返工产量
-    restoredData[`sczl_PgCl${num}`] = item.sczl_PgCl
-    restoredData[`sczl_计产系数${num}`] = item.sczl_计产系数
-    restoredData[`sczl_Jtbh${num}`] = item.sczl_Jtbh1
-    restoredData[`sczl_dedh${num}`] = item.sczl_dedh
-  })
-  const res = await updatePackingTable(restoredData)
-  if (res.code === 0) {
-    ElMessage({
-      type: 'success',
-      message: '更新成功',
-    })
-    dialogFormVisible.value = false
-  }
-}
-
-// 新增数据
-const handleShowAdd = async() => {
-  type.value = '新增'
-  if(currentRow.value.UniqId==null){
-	  detailData.table = Array.from({ length: 6 }, (_, i) => i + 1)
-	    .map(num => {
-	      return {
-	        sczl_gdbh: '',
-	        sczl_yjGx: '',
-	        sczl_gxmc: '',
-	        Gd_cpmc: '',
-	        sczl_cl: '',
-	        sczl_返工产量: '',
-	        sczl_PgCl: '',
-	        sczl_计产系数: '',
-	        sczl_Jtbh1: '',
-	        sczl_dedh: '',
-	      }
-	    })
-		setTimeout(() => {
-		  formElements = document.getElementById('detail-form').elements
-		  formElements[0].focus()
-		}, 0)
-	  dialogFormVisible.value = true
-  }else{ 
-	  await getTableInfo(currentRow.value?.UniqId)
-	  // 默认日期为前一天的日期
-	  const date = dayjs().subtract(1, 'day').format('YYYY-MM-DD')
-	  detailData.sczl_rq = date
-  }
-}
-const addDetailData = async() => {
-  const restoredData = {
-    sys_id:sys_id,
-    sczl_rq: detailData.sczl_rq,
-    sczl_bh: detailData.sczl_bh,
-    // name: detailData.name,
-    sczl_bzdh: detailData.sczl_bzdh,
-    sczl_jsss: detailData.sczl_jsss,
-    sczl_冲定额: detailData.sczl_冲定额,
-    sczl_desc: detailData.sczl_desc,
-  }
-  detailData.table.forEach((item, index, array) => {
-    const num = index + 1
-    restoredData[`sczl_gdbh${num}`] = item.sczl_gdbh
-    restoredData[`sczl_yjGx${num}`] = item.sczl_yjGx
-    restoredData[`sczl_gxmc${num}`] = item.sczl_gxmc
-    // restoredData[`Gd_cpmc${num}`] = item.Gd_cpmc
-    restoredData[`sczl_cl${num}`] = item.sczl_cl
-    restoredData[`sczl_返工产量${num}`] = item.sczl_返工产量
-    restoredData[`sczl_PgCl${num}`] = item.sczl_PgCl
-    restoredData[`sczl_计产系数${num}`] = item.sczl_计产系数
-    restoredData[`sczl_Jtbh${num}`] = item.sczl_Jtbh1
-    restoredData[`sczl_dedh${num}`] = item.sczl_dedh
-  })
-  const res = await addPackingTable(restoredData)
-  if (res.code === 0) {
-    ElMessage({
-      type: 'success',
-      message: '新增成功',
-    })
-    dialogFormVisible.value = false
-	if(params.date!=''){
-		getTableData()
-	}
-    getSideData()
-  }
-}
-
-const handleGetYg = async() => {
-	if(detailData.sczl_bh==''){
-		return
-	}
-  try {
-    const res = await getYg({ sczl_bh: detailData.sczl_bh })
-    if (res.code === 0) {
-      detailData.sczl_bh = res.data[0].员工编号
-      detailData.name = res.data[0].ygxm
-    } else {
-      detailData.name = ''
-    }
-  } catch (e) {
-    console.log(e)
-  }
-}
-
-// 处理选择框回车操作
-const handleEnter = (index, row) => {
-  if (row.sczl_gdbh === '') {
-    detailData.table[index].sczl_yjGx = ''
-    detailData.table[index].sczl_gxmc = ''
-    detailData.table[index].Gd_cpmc = ''
-  } else {
-    getTableGxMc(index, row)
-  }
-}
-
-// 处理选择框
-const handleSelectClick = (row, column, event) => {
-  const { Gd_cpmc, Gy0_gxmc, jyGx } = row
-  const index = detailData.selectIndex
-  detailData.table[index].Gd_cpmc = Gd_cpmc
-  detailData.table[index].sczl_yjGx = jyGx
-  detailData.table[index].sczl_gxmc = Gy0_gxmc
-  dialogSelectVisible.value = false
-}
-const table2=ref()
-const setCPCurrent = (row) => {
-  setTimeout(()=>{
-	  table2.value?.setCurrentRow(row) 
-	  const { Gd_cpmc, Gy0_gxmc, jyGx } = row
-	  const index = detailData.selectIndex
-	  detailData.table[index].Gd_cpmc = Gd_cpmc
-	  detailData.table[index].sczl_yjGx = jyGx
-	  detailData.table[index].sczl_gxmc = Gy0_gxmc
-  })
-}
-const CPIndex = ref(0);
-const JYCurrent = ref(0);
-const selectCP = (event) => {
-    if (event.keyCode === 40) { // 向下箭头
-        if (CPIndex.value < selectData.length - 1) {
-            CPIndex.value++;
-            setCPCurrent(selectData[CPIndex.value]);
-        } else {
-            CPIndex.value = 0;
-            setCPCurrent(selectData[CPIndex.value]); // 到达最后一行时回到第一行			
-        }
-    } else if (event.keyCode === 38) { // 向上箭头
-        if (CPIndex.value > 0) {
-            CPIndex.value--;
-            setCPCurrent(selectData[CPIndex.value]);
-        } else {
-            CPIndex.value = selectData.length - 1;
-            setCPCurrent(selectData[CPIndex.value]); // 到达第一行时回到最后一行
-        }
-    } else if (event.keyCode === 13) { // 回车键
-        dialogSelectVisible.value = false
-    }
-}
-// 弹窗确定
-const enterDialog = () => {
-  if (type.value === '查改') {
-    updateDetailData()
-  } else if (type.value === '新增') {
-    addDetailData()
-  }
-}
-
-
-//新增定额代号
-const dedhsearchModel = ref(false)
-const dedhtreeData=ref([])
-const _index=ref(null)
-// 定额代号回车事件
-const getDedhsubmit = async (index, row) => {
-	console.log(index)
-_index.value = index
-  dedhsearchModel.value = true;
-  const getPieceWorks = await getDedh();
-  console.log(getPieceWorks);
-  if (getPieceWorks.code === 0) {
-    const transformedData2 = getPieceWorks.data.bh_mc.map(item => ({
-      label: `${item.sys_mc}【${item.sys_bh}】`,
-      params: { code: item.sys_bh },
-      children: item.bh_mc?.map(sysItem => ({
-        label: `${sysItem.sys_mc}【${sysItem.sys_bh}】`,
-        params: { code: sysItem.sys_bh },
-        children: sysItem.bh_mc?.map(syssItem => ({
-          label: `${syssItem.sys_mc}【${syssItem.sys_bh}】`,
-          params: { code: syssItem.sys_bh }
-        })) || []
-      })) || []
-    }));
-    dedhtreeData.value = transformedData2;
-  }
-};
-// 点击定额代号
-const dedhhandleNodeClick = (node,check) => {
-  console.log(node.params.code);
-  detailData.table[_index.value].sczl_dedh = node.params.code
-}
-
-
-
-
-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()
-		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
-
-    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
-  }
-}
-</script>
-
-<style scoped>
-:deep(.plan-usage-low div) {
-  color: red !important;
-}
-
-.JKWTree-container {
-  display: flex;
-}
-
-.JKWTree-tree {
-  width: 100%;
-  background-color: #fff;
-  /*background-color: rgba(241, 224, 224, 0.99);*/
-  padding: 10px;
-  margin-right: 20px;
-}
-
-.JKWTree-tree h3 {
-  font-size: 15px;
-  font-weight: 700;
-  margin: 10px 0;
-}
-
-.JKWTree-content {
-  flex: 1;
-}
-
-:deep(.el-table__body .warning-row) {
-  background: #FFFF80 !important;
-}
-
-/* 选中某行时的背景色 */
-:deep(.el-table__body tr.current-row) > td {
-  background: #ff80ff !important;
-}
-
-:deep(.el-table .bg-yellow) {
-  background: yellow;
-}
-
-</style>
-<style scoped>
-:deep(.el-table td .cell) {
-  line-height: 25px !important;
-}
-
-:deep(.el-tabs__header) {
-  margin-bottom: 0;
-}
-
-.search {
-  margin-left: 0px !important;
-  margin-right: 10px !important;
-}
-
-.bt {
-  margin-left: 2px !important;
-  padding: 3px !important;
-  font-size: 12px;
-}
-
-.el-tabs__header {
-  margin: 0px !important;
-}
-
-.gva-table-box {
-  padding: 0px !important;
-}
-
-.mab {
-  margin-bottom: 5px;
-}
-</style>
+<template>
+	<div>
+		<!--    左侧树侧形结构-->
+		<el-container>
+			<layout-sider :resize-directions="['right']" :width="220" style="margin-right: 10px;">
+				<div class="JKWTree-tree" style="height: 70vh;">
+					<h3>包装计件单据维护</h3>
+					<el-tree :data="treeData" highlight-current @node-click="handleNodeClick" />
+				</div>
+			</layout-sider>
+			<el-container>
+				<el-main>
+					<!-- 按钮 -->
+					<div class="gva-table-box">
+						<el-form>
+							<el-form-item>
+								<el-input v-model="searchInfo" placeholder="搜索产品编号或产品名称" clearable style="width: 180px;" />
+								<el-button type="primary" icon="Search" class="search" @click="handleSearch" />
+								<el-button type="primary" icon="edit" class="bt" @click="handleShowDetail">查改</el-button>
+								<el-button type="primary" icon="edit" class="bt" @click="handleShowAdd">新增</el-button>
+								<el-button type="primary" icon="delete" class="bt" @click="handleDelete">删除</el-button>
+							</el-form-item>
+						</el-form>
+						<!-- 数据展示 -->
+						<el-table ref="table" style="width: 100%" :data="tableData" row-key="ID" highlight-current-row
+							border show-overflow-tooltip :row-style="{ height: '20px' }"
+							:cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
+							:header-cell-style="{ padding: '0px' }" @row-dblclick="handleShowDetail"
+							@current-change="(row, oldRow) => { currentRow = row}">
+							<el-table-column type="selection" width="55" />
+							<!-- 循环渲染列 -->
+							<el-table-column v-for=" column in tableColumns " :key="column.prop" :prop="column.prop"
+								:label="column.label" width="110" sortable />
+						</el-table>
+						<!-- 分页 -->
+						<div class="gva-pagination">
+							<el-pagination v-model:current-page="page" v-model:page-size="limit"
+								layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 30, 50, 100]"
+								:total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
+						</div>
+					</div>
+
+					<!-- 弹出框 -->
+					<div>
+						<el-dialog v-model="dialogFormVisible" :title="type" destroy-on-close width="1200px">
+							<el-form id="detail-form" :model="detailData" inline label-position="left"
+								@keyup="moveFocus">
+								<el-form-item label="日期">
+									<el-input type="date" max="9999-12-31" @focus="rqHandleFocus()"
+										v-model="detailData.sczl_rq" style="width: 120px;" />
+								</el-form-item>
+
+								<el-form-item label="员工编号">
+									<el-input v-model="detailData.sczl_bh" style="width: 100px;"
+										placeholder="Enter回车" />
+									<el-input v-model="detailData.name" style="width: 100px; padding-left: 5px;"
+										@click="selectvalue($event)" readonly />
+								</el-form-item>
+
+								<el-form-item label="组别">
+									<el-select v-model="detailData.sczl_bzdh" placeholder=" " style="width: 80px" >
+									  <el-option  label="A班" value="A班" />
+									  <el-option label="B班" value="B班" />
+									</el-select>
+									<!-- <el-input v-model="detailData.sczl_bzdh" style="width: 80px;" /> -->
+								</el-form-item>
+								<br>
+
+								<el-form-item label="计时时数" style="padding-left: 195px;">
+									<el-input v-model="detailData.sczl_jsss" style="width: 100px;"
+										@click="selectvalue($event)" />
+								</el-form-item>
+
+								<el-form-item label="冲月定额">
+									<el-select v-model="detailData.sczl_冲定额" placeholder=" " style="width: 100px">
+										<el-option label="" value="" />
+										<el-option label="是" value="是" />
+									</el-select>
+								</el-form-item>
+
+								<el-table :data="detailData.table" border tooltip-effect="dark"
+									:row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }"
+									:header-row-style="{ height: '20px' }" :header-cell-style="{ padding: '0px' }">
+
+									<el-table-column label="工单编号" width="100">
+										<template #default="{ row, $index }">
+											<el-input v-model="row.sczl_gdbh" placeholder="Enter回车"
+												@keyup.enter="handleEnter($index, row)" />
+										</template>
+									</el-table-column>
+
+									<el-table-column label="印件工序" width="100">
+										<template #default="{ row }">
+											<el-input v-model="row.sczl_yjGx" readonly />
+										</template>
+									</el-table-column>
+
+									<el-table-column label="工序名称" width="100">
+										<template #default="{ row }">
+											<el-input v-model="row.sczl_gxmc" readonly />
+										</template>
+									</el-table-column>
+
+									<el-table-column label="印件名称">
+										<template #default="{ row }">
+											<el-input v-model="row.Gd_cpmc" readonly />
+										</template>
+									</el-table-column>
+
+									<el-table-column label="包装产量" width="100">
+										<template #default="{ row }">
+											<el-input v-model="row.sczl_cl" />
+										</template>
+									</el-table-column>
+
+									<el-table-column label="返工产量" width="100">
+										<template #default="{ row }">
+											<el-input v-model="row.sczl_返工产量" />
+										</template>
+									</el-table-column>
+
+									<el-table-column label="每箱数量" width="100">
+										<template #default="{ row }">
+											<el-input v-model="row.sczl_PgCl" />
+										</template>
+									</el-table-column>
+
+									<el-table-column label="计产系数" width="100">
+										<template #default="{ row }">
+											<el-input v-model="row.sczl_计产系数" />
+										</template>
+									</el-table-column>
+
+									<el-table-column label="来源" width="100">
+										<template #default="{ row }">
+											<el-input v-model="row.sczl_Jtbh1" />
+										</template>
+									</el-table-column>
+
+									<el-table-column label="定额代号" width="130">
+										<template #default="{ row, $index }">
+											<el-input v-model="row.sczl_dedh"
+												@keyup.enter="getDedhsubmit($index, row)" />
+										</template>
+									</el-table-column>
+
+								</el-table>
+
+								<el-form-item label="其他备注" style="margin-top: 10px;">
+									<el-input v-model="detailData.sczl_desc" />
+								</el-form-item>
+
+							</el-form>
+
+							<template #footer>
+								<div class="dialog-footer">
+									<el-button @click="dialogFormVisible = false">取 消</el-button>
+									<el-button type="primary" @click="enterDialog">确 定
+									</el-button>
+								</div>
+							</template>
+						</el-dialog>
+
+
+						<!-- 新增定额代号 -->
+						<el-dialog v-model="dedhsearchModel" :before-close="() => dedhsearchModel = false">
+							<el-form>
+								<div>
+									<el-form-item label="定额代号 :" class="mab" prop="keyOrder">
+									</el-form-item>
+
+									<div style="border:1px solid #eee; width:100%; height: 400px; overflow-y: auto">
+										<el-tree :data="dedhtreeData" :props="{
+		            children: 'children',
+		            label: 'label'
+		          }" @node-click="dedhhandleNodeClick"></el-tree>
+									</div>
+
+
+								</div>
+							</el-form>
+						</el-dialog>
+
+
+						<!-- 弹出选项框 -->
+						<el-dialog v-model="dialogSelectVisible" title="选择" destroy-on-close width="800px"
+							@keydown="selectCP($event)">
+							<el-table tooltip-effect="dark" :data="selectData" row-key="ID" highlight-current-row border
+								style="width:100%" @row-dblclick="handleSelectClick" ref="table2">
+								<el-table-column prop="Gd_cpmc" label="产品名称" width="460" />
+								<el-table-column prop="Gy0_gxmc" label="工序" width="200" />
+								<el-table-column prop="jyGx" label="工序编号" width="100" />
+							</el-table>
+						</el-dialog>
+					</div>
+					
+					<!-- 员工选择 -->
+					<el-dialog v-model="dialogSelectVisible_Yg" title="选择" destroy-on-close width="300px"
+						@keydown="selectGX_Yg($event)">
+						<el-table tooltip-effect="dark" :data="selectData_Yg" row-key="ID" highlight-current-row="true"
+							border style="width:100%" @row-dblclick="handleSelectClick_Yg" ref="table_Yg">
+							<el-table-column prop="员工编号" label="员工编号" width="100" />
+							<el-table-column prop="ygxm" label="员工姓名" width="200" />
+						</el-table>
+					</el-dialog>
+					
+					<!-- 班组选择 -->
+					<el-dialog v-model="dialogSelectVisible_Bz" title="选择" destroy-on-close width="200px"
+						@keydown="selectGX_Bz($event)">
+						<el-table tooltip-effect="dark" :data="selectData_Bz" row-key="ID" highlight-current-row="true"
+							border style="width:100%" @row-dblclick="handleSelectClick_Bz" ref="table_Bz">
+							<el-table-column prop="sczl_bzdh" label="班组" width="160" />
+						</el-table>
+					</el-dialog>
+
+				</el-main>
+			</el-container>
+		</el-container>
+	</div>
+</template>
+
+<script setup>
+	import {
+		Layout,
+		LayoutContent,
+		LayoutHeader,
+		LayoutSider
+	} from '@arco-design/web-vue'
+	import {
+		ElMessage,
+		ElMessageBox,
+		dayjs
+	} from 'element-plus'
+
+	// import { Download, Search, Delete } from '@element-plus/icons-vue'
+	import {
+		reactive,
+		ref
+	} from 'vue'
+	import {
+		getGxMc,
+		getInfo,
+		getLocate,
+		getPackingSideTable,
+		getPackingTable,
+		updatePackingTable,
+		getYg,
+		DeletePackingTable,
+		addPackingTable,
+		getDedh
+	} from '@/api/mes_api_gty/myapi'
+	import {
+		useUserStore
+	} from '@/pinia/modules/user'
+	const userStore = useUserStore()
+	const sys_id = '[' + userStore.userInfo.userName + '/' + userStore.userInfo.nickName + ']'
+	defineOptions({
+		name: '06PackingDocuments',
+	})
+
+	// 侧边栏功能
+	const treeData = reactive([])
+	const getSideData = async () => {
+		try {
+			const response = await getPackingSideTable()
+			if (response.code === 0) {
+				const transformedData = response.data.map(item => ({
+					label: `${item.date.replace(/-/g, '.')}【单据数: ${item.counts}张】`,
+					children: item.sys.map(sysItem => ({
+						label: `${sysItem.sys_id} 【记录数: ${sysItem.count}张】`,
+						params: {
+							date: item.date.replace(/\./g, '-'),
+							sys_id: sysItem.sys_id,
+						},
+					})),
+				}))
+				treeData.splice(0, treeData.length, ...transformedData)
+			}
+		} catch (e) {
+			console.log(e)
+		}
+	}
+	getSideData()
+
+	// 表格功能
+	const tableColumns = [{
+			label: '员工编号',
+			prop: 'sczl_bh',
+			width: '100'
+		},
+		{
+			label: '员工姓名',
+			prop: 'name',
+			width: '100'
+		},
+		{
+			label: '生产日期',
+			prop: 'sczl_rq',
+			width: '100'
+		},
+		{
+			label: '班组',
+			prop: 'sczl_bzdh',
+			width: '100'
+		},
+		{
+			label: '包装产量',
+			prop: 'sczl_cl',
+			width: '100'
+		},
+		{
+			label: '返工产量',
+			prop: 'sczl_fgsl',
+			width: '100'
+		},
+		{
+			label: '计件产量',
+			prop: 'sczl_jjcl',
+			width: '100'
+		},
+		{
+			label: '相关工单',
+			prop: 'sczl_gdbh1',
+			width: '100'
+		},
+		{
+			label: '创建用户',
+			prop: 'sys_id',
+			width: '120'
+		},
+		{
+			label: '创建时间',
+			prop: 'sys_rq',
+			width: '180'
+		},
+		{
+			label: '修改时间',
+			prop: 'mod_rq',
+			width: '180'
+		},
+		{
+			label: 'UNIQID',
+			prop: 'UniqId',
+			width: '100'
+		},
+	]
+	const tableData = reactive([])
+	const params = {
+		type: '',
+		date: '',
+		sys_id: '',
+		gdbh: '',
+	}
+
+	const total = ref(0)
+	const page = ref(1)
+	const limit = ref(10)
+
+	const type = ref('')
+	const searchInfo = ref('')
+	const currentRow = ref({})
+	// const multipleSelection = ref([])
+
+	// 获取列表数据
+	const getTableData = async () => {
+		try {
+			const response = await getPackingTable({
+				date: params.date,
+				sys_id: params.sys_id,
+				page: page.value.toString(),
+				limit: limit.value.toString(),
+			})
+			if (response.code === 0) {
+				total.value = response.data.total
+				tableData.splice(0, tableData.length, ...response.data.rows)
+				setCurrent(tableData[0])
+			}
+		} catch (e) {
+			console.log(e)
+		}
+	}
+	// 获取定位数据
+	const getLocateTable = async () => {
+		try {
+			const response = await getLocate({
+				gdbh: params.gdbh,
+				page: page.value.toString(),
+				limit: limit.value.toString(),
+			})
+			if (response.code === 0) {
+				total.value = response.data.total
+				tableData.splice(0, tableData.length, ...response.data.rows)
+			}
+		} catch (e) {
+			console.log(e)
+		}
+	}
+	// 删除数据
+	const deleteTableData = async (id) => {
+		try {
+			const res = await DeletePackingTable({
+				UniqId: id
+			})
+			if (res.code === 0) {
+				return 0
+			}
+		} catch (e) {
+			console.log(e)
+		}
+	}
+
+	const handleNodeClick = (node, check) => {
+		if (node.params) {
+			params.date = node.params.date
+			params.sys_id = node.params.sys_id
+			params.type = 'getTableData'
+			page.value = 1
+			getTableData()
+		}
+	}
+
+	const selectvalue = (e) => {
+		console.log(e)
+		e.currentTarget.select();
+	}
+	// 定位
+	const handleSearch = () => {
+		params.gdbh = searchInfo.value
+		params.type = 'getLocateTable'
+		page.value = 1
+		getLocateTable()
+	}
+
+	// 查改
+	const handleShowDetail = () => {
+		type.value = '查改'
+		console.log(currentRow.value)
+		if (currentRow.value.UniqId == undefined) {
+			ElMessage({
+				type: 'warning',
+				message: '未选中记录',
+			})
+			return
+		} else {
+			getTableInfo(currentRow.value?.UniqId)
+		}
+	}
+
+	// 删除
+	const handleDelete = () => {
+		if (currentRow.value.UniqId == undefined) {
+			ElMessage({
+				type: 'warning',
+				message: '未选中记录',
+			})
+			return
+		}
+		ElMessageBox.confirm(
+				`确认删除这条数据么?`,
+				'警告', {
+					confirmButtonText: '确认',
+					cancelButtonText: '取消',
+					type: 'warning',
+				}
+			)
+			.then(async () => {
+				const ret = await deleteTableData(currentRow.value?.UniqId)
+				if (ret === 0) {
+					ElMessage({
+						type: 'success',
+						message: '删除成功',
+					})
+					getSideData()
+					getTableData()
+				} else {
+					ElMessage({
+						type: 'error',
+						message: '删除失败',
+					})
+				}
+			})
+			.catch(() => {
+				ElMessage({
+					type: 'info',
+					message: '取消删除',
+				})
+			})
+	}
+	// 分页
+	// #region
+	const handleSizeChange = () => {
+		switch (params.type) {
+			case 'getTableData':
+				getTableData()
+				break
+			case 'getLocateTable':
+				getLocateTable()
+				break
+			default:
+				break
+		}
+	}
+	const handleCurrentChange = () => {
+		switch (params.type) {
+			case 'getTableData':
+				getTableData()
+				break
+			case 'getLocateTable':
+				getLocateTable()
+				break
+			default:
+				break
+		}
+	}
+	// #endregion
+
+	// 详情界面
+	const detailData = reactive({
+		UniqId: '',
+		selectIndex: 0,
+		sczl_rq: '',
+		sczl_bh: '',
+		name: '',
+		sczl_bzdh: '',
+		sczl_jsss: '',
+		sczl_冲定额: '',
+		sczl_desc: '',
+		table: [],
+	})
+	const selectData = reactive([])
+	const table = ref()
+
+	// 弹窗控制标记
+	const dialogFormVisible = ref(false)
+	const dialogSelectVisible = ref(false)
+
+	const setCurrent = (row) => {
+		table.value?.setCurrentRow(row)
+	}
+
+	// 获取详细信息
+	const getTableInfo = async (id) => {
+		try {
+			const response = await getInfo({
+				UniqId: id
+			})
+			if (response.code === 0) {
+				const {
+					sczl_rq,
+					sczl_bh,
+					name,
+					sczl_bzdh,
+					sczl_jsss,
+					sczl_冲定额,
+					sczl_desc,
+					...rest
+				} = response.data
+				Object.assign(detailData, {
+					sczl_rq,
+					sczl_bh,
+					name,
+					sczl_bzdh,
+					sczl_jsss,
+					sczl_冲定额,
+					sczl_desc
+				})
+				detailData.table = Array.from({
+						length: 6
+					}, (_, i) => i + 1)
+					.map(num => {
+						return {
+							sczl_gdbh: rest[`sczl_gdbh${num}`],
+							sczl_yjGx: rest[`sczl_yjGx${num}`],
+							sczl_gxmc: rest[`sczl_gxmc${num}`],
+							Gd_cpmc: rest[`Gd_cpmc${num}`],
+							sczl_cl: rest[`sczl_cl${num}`],
+							sczl_返工产量: rest[`sczl_返工产量${num}`],
+							sczl_PgCl: rest[`sczl_PgCl${num}`],
+							sczl_计产系数: rest[`sczl_计产系数${num}`],
+							sczl_Jtbh1: rest[`sczl_Jtbh${num}`],
+							sczl_dedh: rest[`sczl_dedh${num}`],
+						}
+					})
+
+				if (type.value === '新增') {
+					console.log(detailData)
+					detailData.name = ''
+					detailData.sczl_bh = ''
+					detailData.sczl_bzdh = ''
+					detailData.sczl_desc = ''
+					detailData.sczl_jsss = ''
+					detailData.sczl_rq = ''
+					detailData.table.forEach(row => {
+						for (const key in row) {
+							row[key] = '' // 清空每行的内容
+						}
+					})
+				} else {
+					detailData.UniqId = id
+					dialogFormVisible.value = true
+				}
+
+				if (type.value === '新增' || type.value === '编辑') {
+					detailData.UniqId = id
+					dialogFormVisible.value = true
+
+					// 在 setTimeout 中获取元素,确保在 DOM 渲染完毕后执行
+					setTimeout(() => {
+						formElements = document.getElementById('detail-form').elements
+						formElements[0].focus()
+					}, 0)
+				}
+			}
+		} catch (e) {
+			console.log(e)
+		}
+	}
+
+	//日期获得焦点事件
+	const rqHandleFocus = () => {
+		if (detailData.sczl_rq == '') {
+			detailData.sczl_rq = new Date().toISOString().split('T')[0]
+		}
+	}
+
+	// 获取工序名称
+	const getTableGxMc = async (index, row) => {
+		try {
+			const response = await getGxMc({
+				gdbh: row.sczl_gdbh
+			})
+			if (response.code === 0) {
+				const {
+					Gd_cpmc,
+					Gy0_gxmc,
+					jyGx
+				} = response.data[0]
+				if (response.data.length === 1) {
+					detailData.table[index].Gd_cpmc = Gd_cpmc
+					detailData.table[index].sczl_yjGx = jyGx
+					detailData.table[index].sczl_gxmc = Gy0_gxmc
+				} else {
+					selectData.splice(0, selectData.length, ...response.data)
+					setCPCurrent(selectData[0])
+					detailData.selectIndex = index
+					dialogSelectVisible.value = true
+				}
+			}
+		} catch (e) {
+			console.log(e)
+		}
+	}
+
+	// 更新数据
+	const updateDetailData = async () => {
+		const restoredData = {
+			UniqId: detailData.UniqId,
+			sczl_rq: detailData.sczl_rq,
+			sczl_bh: detailData.sczl_bh,
+			name: detailData.name,
+			sczl_bzdh: detailData.sczl_bzdh,
+			sczl_jsss: detailData.sczl_jsss,
+			sczl_冲定额: detailData.sczl_冲定额,
+			sczl_desc: detailData.sczl_desc,
+		}
+		detailData.table.forEach((item, index, array) => {
+			const num = index + 1
+			restoredData[`sczl_gdbh${num}`] = item.sczl_gdbh
+			restoredData[`sczl_yjGx${num}`] = item.sczl_yjGx
+			restoredData[`sczl_gxmc${num}`] = item.sczl_gxmc
+			restoredData[`Gd_cpmc${num}`] = item.Gd_cpmc
+			restoredData[`sczl_cl${num}`] = item.sczl_cl
+			restoredData[`sczl_返工产量${num}`] = item.sczl_返工产量
+			restoredData[`sczl_PgCl${num}`] = item.sczl_PgCl
+			restoredData[`sczl_计产系数${num}`] = item.sczl_计产系数
+			restoredData[`sczl_Jtbh${num}`] = item.sczl_Jtbh1
+			restoredData[`sczl_dedh${num}`] = item.sczl_dedh
+		})
+		const res = await updatePackingTable(restoredData)
+		if (res.code === 0) {
+			ElMessage({
+				type: 'success',
+				message: '更新成功',
+			})
+			dialogFormVisible.value = false
+		}
+	}
+
+	// 新增数据
+	const handleShowAdd = async () => {
+		type.value = '新增'
+		if (currentRow.value.UniqId == null) {
+			detailData.table = Array.from({
+					length: 6
+				}, (_, i) => i + 1)
+				.map(num => {
+					return {
+						sczl_gdbh: '',
+						sczl_yjGx: '',
+						sczl_gxmc: '',
+						Gd_cpmc: '',
+						sczl_cl: '',
+						sczl_返工产量: '',
+						sczl_PgCl: '',
+						sczl_计产系数: '',
+						sczl_Jtbh1: '',
+						sczl_dedh: '',
+					}
+				})
+			setTimeout(() => {
+				formElements = document.getElementById('detail-form').elements
+				formElements[0].focus()
+			}, 0)
+			dialogFormVisible.value = true
+		} else {
+			await getTableInfo(currentRow.value?.UniqId)
+			// 默认日期为前一天的日期
+			const date = dayjs().subtract(1, 'day').format('YYYY-MM-DD')
+			detailData.sczl_rq = date
+		}
+	}
+	const addDetailData = async () => {
+		const restoredData = {
+			sys_id: sys_id,
+			sczl_rq: detailData.sczl_rq,
+			sczl_bh: detailData.sczl_bh,
+			// name: detailData.name,
+			sczl_bzdh: detailData.sczl_bzdh,
+			sczl_jsss: detailData.sczl_jsss,
+			sczl_冲定额: detailData.sczl_冲定额,
+			sczl_desc: detailData.sczl_desc,
+		}
+		detailData.table.forEach((item, index, array) => {
+			const num = index + 1
+			restoredData[`sczl_gdbh${num}`] = item.sczl_gdbh
+			restoredData[`sczl_yjGx${num}`] = item.sczl_yjGx
+			restoredData[`sczl_gxmc${num}`] = item.sczl_gxmc
+			// restoredData[`Gd_cpmc${num}`] = item.Gd_cpmc
+			restoredData[`sczl_cl${num}`] = item.sczl_cl
+			restoredData[`sczl_返工产量${num}`] = item.sczl_返工产量
+			restoredData[`sczl_PgCl${num}`] = item.sczl_PgCl
+			restoredData[`sczl_计产系数${num}`] = item.sczl_计产系数
+			restoredData[`sczl_Jtbh${num}`] = item.sczl_Jtbh1
+			restoredData[`sczl_dedh${num}`] = item.sczl_dedh
+		})
+		const res = await addPackingTable(restoredData)
+		if (res.code === 0) {
+			ElMessage({
+				type: 'success',
+				message: '新增成功',
+			})
+			dialogFormVisible.value = false
+			if (params.date != '') {
+				getTableData()
+			}
+			getSideData()
+		}
+	}
+
+	const handleGetYg = async () => {
+		if (detailData.sczl_bh == '') {
+			formElements = document.getElementById('detail-form').elements
+			formElements[3].focus()
+			formElements[3].select()
+			return
+		}
+		try {
+			const response = await getYg({ sczl_bh: detailData.sczl_bh })
+			if (response.code == 0) {
+				if (response.data.length == 1) {
+					detailData.name = response.data[0].ygxm
+					detailData.sczl_bh = response.data[0].员工编号
+					formElements = document.getElementById('detail-form').elements
+					formElements[3].focus()
+					formElements[3].select()
+				} else if (response.data.length > 1) {
+					selectData_Yg.splice(0, selectData_Yg.length, ...response.data)
+					setGXCurrent_Yg(selectData_Yg[0])
+					dialogSelectVisible_Yg.value = true
+				} else {
+					ElMessage({
+						type: 'warning',
+						message: '未查询到该员工'
+					})
+					detailData.name = ''
+					detailData.sczl_bh = ''
+				}
+			} else {
+				detailData.name = '';
+				detailData.sczl_bh = '';
+			}
+		} catch (e) {
+			console.log(e)
+		}
+	}
+	const dialogSelectVisible_Yg = ref(false)
+	const selectData_Yg = reactive([])
+	// 处理选择框
+	const handleSelectClick_Yg = (row, column, event) => {
+		detailData.name = row.ygxm
+		detailData.sczl_bh = row.员工编号
+		dialogSelectVisible_Yg.value = false
+		formElements = document.getElementById('detail-form').elements
+		formElements[3].focus()
+		formElements[3].select()
+	}
+	const currentIndex_Yg = ref(0);
+	const GXCurrent_Yg = ref(0);
+	const selectGX_Yg = (event) => {
+		if (event.keyCode === 40) { // 向下箭头
+			if (currentIndex_Yg.value < selectData_Yg.length - 1) {
+				currentIndex_Yg.value++;
+				setGXCurrent_Yg(selectData_Yg[currentIndex_Yg.value]);
+			} else {
+				currentIndex_Yg.value = 0;
+				setGXCurrent_Yg(selectData_Yg[currentIndex_Yg.value]); // 到达最后一行时回到第一行			
+			}
+		} else if (event.keyCode === 38) { // 向上箭头
+			if (currentIndex_Yg.value > 0) {
+				currentIndex_Yg.value--;
+				setGXCurrent_Yg(selectData_Yg[currentIndex_Yg.value]);
+			} else {
+				currentIndex_Yg.value = selectData_Yg.length - 1;
+				setGXCurrent_Yg(selectData_Yg[currentIndex_Yg.value]); // 到达第一行时回到最后一行
+			}
+		} else if (event.keyCode === 13) { // 回车键
+			dialogSelectVisible_Yg.value = false;
+			formElements = document.getElementById('detail-form').elements
+			formElements[3].focus()
+			formElements[3].select()
+		}
+	}
+	const table_Yg = ref()
+	const setGXCurrent_Yg = (row) => {
+		setTimeout(() => {
+			table_Yg.value?.setCurrentRow(row)
+			detailData.name = row.ygxm
+			detailData.sczl_bh = row.员工编号
+		})
+	}
+
+	//班组回车事件
+	const getBzsubmit = () => {
+		//弹出选择
+		const data = [{'sczl_bzdh':'A班'},{'sczl_bzdh':'B班'}]
+		selectData_Bz.splice(0, selectData_Bz.length, ...data)
+		if(!dialogSelectVisible_Yg.value){
+			dialogSelectVisible_Bz.value=true
+			setGXCurrent_Bz(selectData_Bz[0])
+		}
+	}
+	const dialogSelectVisible_Bz = ref(false)
+	const selectData_Bz = reactive([])
+	// 处理选择框
+	const handleSelectClick_Bz = (row, column, event) => {
+		detailData.sczl_bzdh = row.sczl_bzdh
+		dialogSelectVisible_Bz.value = false
+	}
+	const currentIndex_Bz = ref(0);
+	const GXCurrent_Bz = ref(0);
+	const selectGX_Bz = (event) => {
+		if (event.keyCode === 40) { // 向下箭头
+			if (currentIndex_Bz.value < selectData_Bz.length - 1) {
+				currentIndex_Bz.value++;
+				setGXCurrent_Bz(selectData_Bz[currentIndex_Bz.value]);
+			} else {
+				currentIndex_Bz.value = 0;
+				setGXCurrent_Bz(selectData_Bz[currentIndex_Bz.value]); // 到达最后一行时回到第一行			
+			}
+		} else if (event.keyCode === 38) { // 向上箭头
+			if (currentIndex_Bz.value > 0) {
+				currentIndex_Bz.value--;
+				setGXCurrent_Bz(selectData_Bz[currentIndex_Bz.value]);
+			} else {
+				currentIndex_Bz.value = selectData_Bz.length - 1;
+				setGXCurrent_Bz(selectData_Bz[currentIndex_Bz.value]); // 到达第一行时回到最后一行
+			}
+		} else if (event.keyCode === 13) { // 回车键
+			dialogSelectVisible_Bz.value = false;
+		}
+	}
+	const table_Bz = ref()
+	const setGXCurrent_Bz = (row) => {
+		setTimeout(() => {
+			table_Bz.value?.setCurrentRow(row)
+			detailData.sczl_bzdh = row.sczl_bzdh
+		})
+	}
+	
+	// 处理选择框回车操作
+	const handleEnter = (index, row) => {
+		if (row.sczl_gdbh === '') {
+			detailData.table[index].sczl_yjGx = ''
+			detailData.table[index].sczl_gxmc = ''
+			detailData.table[index].Gd_cpmc = ''
+		} else {
+			getTableGxMc(index, row)
+		}
+	}
+
+	// 处理选择框
+	const handleSelectClick = (row, column, event) => {
+		const {
+			Gd_cpmc,
+			Gy0_gxmc,
+			jyGx
+		} = row
+		const index = detailData.selectIndex
+		detailData.table[index].Gd_cpmc = Gd_cpmc
+		detailData.table[index].sczl_yjGx = jyGx
+		detailData.table[index].sczl_gxmc = Gy0_gxmc
+		dialogSelectVisible.value = false
+	}
+	const table2 = ref()
+	const setCPCurrent = (row) => {
+		setTimeout(() => {
+			table2.value?.setCurrentRow(row)
+			const {
+				Gd_cpmc,
+				Gy0_gxmc,
+				jyGx
+			} = row
+			const index = detailData.selectIndex
+			detailData.table[index].Gd_cpmc = Gd_cpmc
+			detailData.table[index].sczl_yjGx = jyGx
+			detailData.table[index].sczl_gxmc = Gy0_gxmc
+		})
+	}
+	const CPIndex = ref(0);
+	const JYCurrent = ref(0);
+	const selectCP = (event) => {
+		if (event.keyCode === 40) { // 向下箭头
+			if (CPIndex.value < selectData.length - 1) {
+				CPIndex.value++;
+				setCPCurrent(selectData[CPIndex.value]);
+			} else {
+				CPIndex.value = 0;
+				setCPCurrent(selectData[CPIndex.value]); // 到达最后一行时回到第一行			
+			}
+		} else if (event.keyCode === 38) { // 向上箭头
+			if (CPIndex.value > 0) {
+				CPIndex.value--;
+				setCPCurrent(selectData[CPIndex.value]);
+			} else {
+				CPIndex.value = selectData.length - 1;
+				setCPCurrent(selectData[CPIndex.value]); // 到达第一行时回到最后一行
+			}
+		} else if (event.keyCode === 13) { // 回车键
+			dialogSelectVisible.value = false
+		}
+	}
+	// 弹窗确定
+	const enterDialog = () => {
+		if (type.value === '查改') {
+			updateDetailData()
+		} else if (type.value === '新增') {
+			addDetailData()
+		}
+	}
+
+
+	//新增定额代号
+	const dedhsearchModel = ref(false)
+	const dedhtreeData = ref([])
+	const _index = ref(null)
+	// 定额代号回车事件
+	const getDedhsubmit = async (index, row) => {
+		console.log(index)
+		_index.value = index
+		dedhsearchModel.value = true;
+		const getPieceWorks = await getDedh();
+		console.log(getPieceWorks);
+		if (getPieceWorks.code === 0) {
+			const transformedData2 = getPieceWorks.data.bh_mc.map(item => ({
+				label: `${item.sys_mc}【${item.sys_bh}】`,
+				params: {
+					code: item.sys_bh
+				},
+				children: item.bh_mc?.map(sysItem => ({
+					label: `${sysItem.sys_mc}【${sysItem.sys_bh}】`,
+					params: {
+						code: sysItem.sys_bh
+					},
+					children: sysItem.bh_mc?.map(syssItem => ({
+						label: `${syssItem.sys_mc}【${syssItem.sys_bh}】`,
+						params: {
+							code: syssItem.sys_bh
+						}
+					})) || []
+				})) || []
+			}));
+			dedhtreeData.value = transformedData2;
+		}
+	};
+	// 点击定额代号
+	const dedhhandleNodeClick = (node, check) => {
+		console.log(node.params.code);
+		detailData.table[_index.value].sczl_dedh = node.params.code
+	}
+
+
+
+
+	let flag_Bz = true
+	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()
+					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()
+				} else if (key === 'ArrowUp') {
+					formElements[0].focus()
+					formElements[0].select()
+				} else if (key === 'Enter') {
+					handleGetYg()
+				}
+				break
+
+			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') {
+					// getBzsubmit()
+					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
+		}
+	}
+</script>
+
+<style scoped>
+	:deep(.plan-usage-low div) {
+		color: red !important;
+	}
+
+	.JKWTree-container {
+		display: flex;
+	}
+
+	.JKWTree-tree {
+		width: 100%;
+		background-color: #fff;
+		/*background-color: rgba(241, 224, 224, 0.99);*/
+		padding: 10px;
+		margin-right: 20px;
+	}
+
+	.JKWTree-tree h3 {
+		font-size: 15px;
+		font-weight: 700;
+		margin: 10px 0;
+	}
+
+	.JKWTree-content {
+		flex: 1;
+	}
+
+	:deep(.el-table__body .warning-row) {
+		background: #FFFF80 !important;
+	}
+
+	/* 选中某行时的背景色 */
+	:deep(.el-table__body tr.current-row)>td {
+		background: #ff80ff !important;
+	}
+
+	:deep(.el-table .bg-yellow) {
+		background: yellow;
+	}
+</style>
+<style scoped>
+	:deep(.el-table td .cell) {
+		line-height: 25px !important;
+	}
+
+	:deep(.el-tabs__header) {
+		margin-bottom: 0;
+	}
+
+	.search {
+		margin-left: 0px !important;
+		margin-right: 10px !important;
+	}
+
+	.bt {
+		margin-left: 2px !important;
+		padding: 3px !important;
+		font-size: 12px;
+	}
+
+	.el-tabs__header {
+		margin: 0px !important;
+	}
+
+	.gva-table-box {
+		padding: 0px !important;
+	}
+
+	.mab {
+		margin-bottom: 5px;
+	}
+</style>

+ 10 - 10
src/view/performance/07-otherDocuments/index.vue

@@ -185,17 +185,17 @@
 								<el-table-column prop="sczl_Type" label="" width="160" />
 							</el-table>
 						</el-dialog>
+						
+						<!-- 员工选择 -->
+						<el-dialog v-model="dialogSelectVisible_Yg" title="选择" destroy-on-close width="300px"
+							@keydown="selectGX_Yg($event)">
+							<el-table tooltip-effect="dark" :data="selectData_Yg" row-key="ID" highlight-current-row="true"
+								border style="width:100%" @row-dblclick="handleSelectClick_Yg" ref="table_Yg">
+								<el-table-column prop="员工编号" label="员工编号" width="100" />
+								<el-table-column prop="ygxm" label="员工姓名" width="200" />
+							</el-table>
+						</el-dialog>
 					</div>
-
-					<!-- 员工选择 -->
-					<el-dialog v-model="dialogSelectVisible_Yg" title="选择" destroy-on-close width="300px"
-						@keydown="selectGX_Yg($event)">
-						<el-table tooltip-effect="dark" :data="selectData_Yg" row-key="ID" highlight-current-row="true"
-							border style="width:100%" @row-dblclick="handleSelectClick_Yg" ref="table_Yg">
-							<el-table-column prop="员工编号" label="员工编号" width="100" />
-							<el-table-column prop="ygxm" label="员工姓名" width="200" />
-						</el-table>
-					</el-dialog>
 				</el-main>
 			</el-container>
 		</el-container>

+ 10 - 11
src/view/performance/08-timesheet/index.vue

@@ -215,19 +215,18 @@
 								</div>
 							</template>
 						</el-dialog>
+						
+						<!-- 员工选择 -->
+						<el-dialog v-model="dialogSelectVisible_Yg" title="选择" destroy-on-close width="300px"
+							@keydown="selectGX_Yg($event)">
+							<el-table tooltip-effect="dark" :data="selectData_Yg" row-key="ID" highlight-current-row="true"
+								border style="width:100%" @row-dblclick="handleSelectClick_Yg" ref="table_Yg">
+								<el-table-column prop="员工编号" label="员工编号" width="100" />
+								<el-table-column prop="ygxm" label="员工姓名" width="200" />
+							</el-table>
+						</el-dialog>
 
 					</div>
-					
-					<!-- 员工选择 -->
-					<el-dialog v-model="dialogSelectVisible_Yg" title="选择" destroy-on-close width="300px"
-						@keydown="selectGX_Yg($event)">
-						<el-table tooltip-effect="dark" :data="selectData_Yg" row-key="ID" highlight-current-row="true"
-							border style="width:100%" @row-dblclick="handleSelectClick_Yg" ref="table_Yg">
-							<el-table-column prop="员工编号" label="员工编号" width="100" />
-							<el-table-column prop="ygxm" label="员工姓名" width="200" />
-						</el-table>
-					</el-dialog>
-
 				</el-main>
 			</el-container>
 		</el-container>

+ 1863 - 1853
src/view/performance/Manualdocuments.vue

@@ -1,1874 +1,1884 @@
-<template>
-  <div>
-    <!-- 左侧树形结构 -->
-    <el-container>
-      <!-- <el-aside width="250px">
-        <div class="JKWTree-tree">
-          <h3>手工检验计件单据维护</h3>
-          <el-tree :data="treeData" :props="defaultProps" highlight-current="true"
-            @node-click="handleNodeClick"></el-tree>
-        </div>
-      </el-aside> -->
-	  
-	  
-	  <layout-sider
-	     :resize-directions="['right']"
-	     :width="220"
-	     style="margin-right: 10px;"
-	   >
-	     <div
-	       class="JKWTree-tree"
-	       style="height: 70vh;"
-	     >
-	       <h3>手工检验计件单据维护</h3>
-	       <el-tree
-	         :data="treeData"
-	         highlight-current
-	         @node-click="handleNodeClick"
-	       />
-	     </div>
-	   </layout-sider>
-	  
-
-      <el-container>
-        <el-main>
-          <!-- 按钮区域 -->
-          <div class="gva-table-box">
-            <el-form-item>
-              <el-input v-model="positionvalue" placeholder="输入工单编号或产品名称" style="width: 180px;" />
-              <el-button type="primary" class="search" icon="search" @click="onSearch"></el-button>
-			  <el-button type="primary" class="bt" icon="plus" @click="onAdd">新增</el-button>
-			  <!-- <el-button type="primary" class="bt" icon="copy-document"  @click="onCountByGdbh">切换显示方式</el-button> -->
-              <el-button type="primary" class="bt" icon="refresh"  @click="onRefresh">刷新质检系数</el-button>
-              <el-button type="primary" class="bt" icon="delete" @click="onDel">删除</el-button>
-              <div style="margin-left: auto;">
-                <el-button type="primary" :icon="Download" @click="exportExcel">导出到Excel</el-button>
-              </div>
-            </el-form-item>
-            <!-- 数据展示 -->
-            <el-table ref="multipleTable" style="width: 100%" tooltip-effect="dark" :data="tableData" row-key="ID"
-              highlight-current-row="true" border @selection-change="handleSelectionChange"  @row-click="Click"
-			  :show-overflow-tooltip="true" @row-dblclick="doubleClick">
-              <el-table-column type="selection" width="55" />
-              <el-table-column align="left" sortable label="工单印件" prop="combinedProp" width="340"/>
-              <el-table-column align="left" sortable label="印件工序" prop="combinedProp2" width="150"/>
-              <el-table-column align="left" sortable label="日期" prop="sczl_rq" width="120" />
-              <el-table-column align="left" sortable label="产量" prop="sczl_cl" width="77" />
-              <el-table-column align="left" sortable label="千件工价" prop="千件工价" width="105" />
-              <el-table-column align="left" sortable label="检验类别" prop="sczl_检验类别" width="105" />
-              <el-table-column align="left" sortable label="废品率系数" prop="sczl_废品率系数" width="120" />
-              <el-table-column align="left" sortable label="日定额" prop="日定额" width="91" />
-              <el-table-column align="left" sortable label="组长编号" prop="sczl_bh0" width="105" />
-			  <el-table-column align="left" sortable label="组长姓名" prop="员工姓名" width="105" />
-			  <el-table-column align="left" sortable label="流程单备注" prop="qczl_NumDesc" width="120" />
-			  <el-table-column align="left" sortable label="创建用户" prop="sys_id" width="120" />
-              <el-table-column align="left" sortable label="创建时间" prop="sys_rq" width="160" />
-              <el-table-column align="left" sortable label="修改时间" prop="mod_rq" width="160" />
-              <el-table-column align="left" sortable label="UNIQID" prop="UniqId" width="120" />
-            </el-table>
-            <!-- 分页 -->
-            <div class="gva-pagination">
-              <el-pagination layout="total, sizes, prev, pager, next, jumper" v-model:current-page="page"
-                v-model:page-size="limit"
-                :page-sizes="[10, 30, 50, 100]" :total="total" @current-change="handleCurrentChange"
-                @size-change="handleSizeChange" />
-            </div>
-          </div>
-          <!-- 弹出框 -->
-          <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type === 'create' ? '添加' : '修改'"
-            destroy-on-close width="1000px">
-            <el-form :model="formData" label-position="right" ref="elFormRef" :rules="rule" label-width="70px" >
-              <el-row :gutter="24">
-                <el-col :span="4">
-                  <el-form-item label="日期" prop="id" class="mab">
-                    <el-input type="date" max="9999-12-31" v-model="formData.sczl_rq" id="日期" @focus="rqHandleFocus()" @keydown="ent1($event)"  style="width: 120px; " />
-                  </el-form-item>
-                </el-col>
-                <el-col :span="4">
-                  <el-form-item label="组别" prop="name" label-width="90px" class="mab">
-                    <el-input v-model="formData.sczl_bzdh" id="组别"  @keydown="ent1($event)" @blur="getBzsubmit()" style="width: 80px; "/>
-                  </el-form-item>
-                </el-col>
-				<el-col :span="8">
-				  <el-form-item label="组长" prop="name" class="mab" label-width="50px">
-				    <el-input v-model="formData.sczl_bh0" id="bh0"  @keydown="ent1($event)" @blur="getygsubmit($event, '0')" style="width: 100px; margin-right: 5px;" />
-					<el-input v-model="formData.sczl_bh0_name" id="name0" :readonly=true @keydown="ent1($event)"  style="width: 100px; " />
-				  </el-form-item>
-				</el-col>
-				<el-col :span="4">
-				  <el-form-item label="箱数" prop="name" class="mab" label-width="50px">
-				    <el-input v-model="formData.sczl_cl0" id="箱数"  @keydown="ent1($event)"  style="width: 100px; " />
-				  </el-form-item>
-				</el-col>
-				<el-col :span="4">
-				  <el-form-item label="每箱数" prop="name" class="mab" label-width="55px">
-				    <el-input v-model="formData.sczl_fp0" id="每箱数"  @keydown="ent1($event)"  style="width: 100px;" />
-				  </el-form-item>
-				</el-col>
-              </el-row>
-
-              <el-row :gutter="24">
-                <el-col :span="24">
-                      <el-form-item label="工单编号" prop="id" class="mab">
-                        <el-input v-model="formData.sczl_gdbh" id="工单编号" placeholder="Enter回车"  @keydown="ent1($event)" @blur="getGxMcsubmit" style="width: 118px; margin-right: 5px;"/>
-                        <el-input v-model="formData.sczl_yjgx" id="yjgx" :readonly="true"  @keydown="ent1($event)" style="width: 80px; margin-right: 5px;"/>
-                      	<el-input v-model="formData.sczl_gxmc" id="gxmc" :readonly="true"  @keydown="ent1($event)" style="width: 135px; margin-right: 5px;"/>
-                      	<el-input v-model="formData.yj_yjmc" id="yjmc" :readonly="true"  @keydown="ent1($event)" style="width: 542px;"/>
-					  </el-form-item>
-                </el-col>
-              </el-row>
-			  			  
-			  <el-row :gutter="24">
-			     <el-col :span="6">
-			       <el-form-item label="产量合计" prop="id" class="mab">
-			         <el-input v-model="formData.sczl_cl" id="产量合计"  @keydown="ent1($event)" style="width: 150px;" />
-			       </el-form-item>
-			     </el-col>
-			     <el-col :span="6">
-					<el-form-item label="定额代号" prop="id" label-width="100px" class="mab">
-						<el-input v-model="formData.sczl_dedh" id="定额代号"  @keydown="ent1($event)" @blur="getDedhsubmit" style="width: 150px;" />
-					</el-form-item>
-			     </el-col>
-			     <el-col :span="6">
-			       <el-form-item label="检验类别" prop="name" class="mab">
-			         <el-input v-model="formData.sczl_检验类别"  id="检验类别" placeholder="Enter回车"  @keydown="ent1($event)" @blur="getLbsubmit" style="width: 150px;"/>
-			       </el-form-item>
-			     </el-col>
-				 <el-col :span="6">
-				   <el-form-item label="废品率系数" prop="name" label-width="100px" class="mab">
-				     <el-input v-model="formData.sczl_废品率系数" id="废品率系数"  @keydown="ent1($event)" style="width: 150px;"/>
-				   </el-form-item>
-				 </el-col>
-			   </el-row>
-			  
-			  <el-row :gutter="24">
-			     <el-col :span="6">
-			       <el-form-item label="计时时数" prop="id" class="mab">
-			         <el-input v-model="formData.sczl_jsss" id="计时时数"  @keydown="ent1($event)" style="width: 100px;"/>
-			       </el-form-item>
-			     </el-col>
-			     <el-col :span="6">
-					<el-form-item label="冲月定额" prop="id" class="mab" label-width="100px">
-			        <el-input v-model="formData.sczl_冲定额" id="冲月定额" placeholder="Enter回车" @keydown="ent1($event)" @blur="getCdesubmit()" style="width: 100px;"/>
-					</el-form-item>
-			     </el-col>
-			   </el-row>
-			   
-			   
-			   <el-row :gutter="24">
-			      <el-col :span="17">
-			        <el-form-item label="流程单号" prop="id" class="mab">
-						<el-input v-model="formData.流程单号1" id="流程单号1"  @keydown="ent1($event)" style="width: 60px; margin-right: 5px;"/>
-						<el-input v-model="formData.流程单号2" id="流程单号2"  @keydown="ent1($event)" style="width: 60px; margin-right: 5px;"/>
-					    <el-input v-model="formData.流程单号3" id="流程单号3"  @keydown="ent1($event)" style="width: 60px; margin-right: 5px;"/>
-					    <el-input v-model="formData.流程单号4" id="流程单号4"  @keydown="ent1($event)" style="width: 60px; margin-right: 5px;"/>
-					    <el-input v-model="formData.流程单号5" id="流程单号5"  @keydown="ent1($event)" style="width: 60px; margin-right: 5px;"/>
-					    <el-input v-model="formData.流程单号6" id="流程单号6"  @keydown="ent1($event)" style="width: 60px; margin-right: 5px;"/>
-					    <el-input v-model="formData.流程单号7" id="流程单号7"  @keydown="ent1($event)" style="width: 60px; margin-right: 5px;"/>
-					    <el-input v-model="formData.流程单号8" id="流程单号8"  @keydown="ent1($event)" style="width: 60px; margin-right: 5px;"/>
-					    <el-input v-model="formData.流程单号9" id="流程单号9"  @keydown="ent1($event)" style="width: 60px;"/>
-					</el-form-item>			  			
-				  </el-col>
-			      <el-col :span="7">
-			   		<el-form-item label="备注" prop="id" label-width="50px">
-						<el-input v-model="formData.qczl_NumDesc" id="备注"  @keydown="ent1($event)"   />
-			   		</el-form-item>
-			      </el-col>
-			    </el-row>
-			  
-			  <el-row :gutter="19" style="margin-bottom: 5px; margin-left: 30px;">
-				<span style="margin-left: 25px; margin-right: 50px;">员工编号</span>
-				<span style="margin-right: 50px;">员工姓名</span>
-				<span style="margin-right: 50px;">&nbsp;&nbsp;箱数&nbsp;&nbsp;</span>
-				<span style="margin-right: 120px;">每箱数量</span>
-				<span style="margin-right: 50px;">员工编号</span>
-				<span style="margin-right: 50px;">员工姓名</span>
-				<span style="margin-right: 50px;">&nbsp;&nbsp;箱数&nbsp;&nbsp;</span>
-				<span>每箱数量</span>
-			  </el-row>
-			  <el-row :gutter="24" style="margin-bottom: 5px; margin-left: 30px;">
-
-					<div style="width: 450px;margin-right: 30px;">
-					  <div v-for="index in 6" :key="index">
-					    <el-input style="width: 100px; margin-right: 5px;" placeholder="Enter回车" v-model="formData['sczl_bh' + index]" :id="'bh' + index" @keydown="ent($event, index.toString())" />
-					    <el-input style="width: 100px; margin-right: 5px; color: red;" :readonly="true" :value="formData['sczl_bh' + index + '_name']" :id="'name' + index" @keydown="ent1($event)"/>
-					    <el-input style="width: 100px; margin-right: 5px;" v-model="formData['sczl_cl' + index]" :id="'cl' + index" @keydown="ent1($event)"/>
-					    <el-input style="width: 100px;" v-model="formData['sczl_fp' + index]" :id="'fp' + index" @keydown="ent1($event)"/>
-					  </div>
-					</div>
-					<div style="width: 450px;">
-					  <div v-for="index in 6" :key="index + 6">
-					    <el-input style="width: 100px; margin-right: 5px;" v-model="formData['sczl_bh' + (index + 6)]" :id="'bh' + (index + 6)" @keydown="ent($event, (index + 6).toString())" />
-					    <el-input style="width: 100px; margin-right: 5px; color: red;" :readonly="true" :value="formData['sczl_bh' + (index + 6) + '_name']" :id="'name' + (index + 6)" @keydown="ent1($event)"/>
-					    <el-input style="width: 100px; margin-right: 5px;" :value="formData['sczl_cl' + (index + 6)]" :id="'cl' + (index + 6)" @keydown="ent1($event)"/>
-					    <el-input style="width: 100px;" :value="formData['sczl_fp' + (index + 6)]" :id="'fp' + (index + 6)" @keydown="ent1($event)"/>
-					  </div>
-					</div>
-			  </el-row>	
-			  <el-row :gutter="24">
-
-				   <el-col :span="24">
-					 <el-form-item label="其他备注" prop="id" class="mab">
-					   <el-input v-model="formData.sczl_desc" id="其他备注"  @keydown="ent1($event)"   />
-					 </el-form-item>
-				   </el-col>			  				
-				 </el-row>
-			
-            </el-form>
+<template>
+	<div>
+		<!-- 左侧树形结构 -->
+		<el-container>
+			<layout-sider :resize-directions="['right']" :width="220" style="margin-right: 10px;">
+				<div class="JKWTree-tree" style="height: 70vh;">
+					<h3>手工检验计件单据维护</h3>
+					<el-tree :data="treeData" highlight-current @node-click="handleNodeClick" />
+				</div>
+			</layout-sider>
 			
-			<el-dialog v-model="BzVisible" title="选择" destroy-on-close width="200px" @keydown="selectBZ($event)">
-			  <el-table tooltip-effect="dark" :data="selectDataBz" row-key="ID"
-			    highlight-current-row="true" border style="width:100%"
-			    @row-dblclick="SelectClickBz" ref="table" 
-			  >
-			    <el-table-column prop="sczl_bzdh" label="班组" width="150"/>
-			  </el-table>
-			</el-dialog>
-			<el-dialog v-model="CdeVisible" title="选择" destroy-on-close width="200px" @keydown="selectCde($event)">
-			  <el-table tooltip-effect="dark" :data="selectDataCde" row-key="ID"
-			    highlight-current-row="true" border style="width:100%"
-				:row-style="{ height: '30px' }"
-			    @row-dblclick="SelectClickCde" ref="tableCde" 
-			  >
-			    <el-table-column prop="sczl_冲定额" width="150"/>
-			  </el-table>
-			</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 prop="Gd_cpmc" label="印件名称" width="450" />
-				<el-table-column prop="jyGx" label="检验工序" width="85" />
-			    <el-table-column prop="Gy0_gxmc" label="工序名称" width="225" />			 
-			  </el-table>
-			</el-dialog>
-
-            <template #footer>
-              <div class="dialog-footer">
-                <el-button @click="closeDialog">取 消</el-button>
-                <el-button type="primary" @click="enterDialog">确 定</el-button>
-              </div>
-            </template>
-          </el-dialog>
-
-			<el-dialog
-		    v-model="GetDedhVisible"
-		    title="选择"
-		    destroy-on-close
-		    width="600px"
-		  			>		     
-		       <el-aside width="250px">
-		         <div class="JKWTree-tree">		          
-		           <el-tree :data="GetDedhtreeData" :props="defaultProps" highlight-current="true"
-		             @node-click="GetDedhhandleNodeClick" @node-dblclick="handleNodeDoubleClick"></el-tree>
-		         </div>
-		       </el-aside>		       
-		  </el-dialog>
-
-		  
-
-		  
-		  <el-dialog v-model="LbVisible" title="选择" destroy-on-close width="200px" @keydown="selectJY($event)" >
-		    <el-table tooltip-effect="dark" :data="selectDataLb" row-key="ID"
-		      highlight-current-row="true" border style="width:100%"
-		      :row-style="{ height: '30px' }"
-			  @row-dblclick="SelectClickLb"
-			  ref="table3"
-		    >
-		      <el-table-column prop="sczl_检验类别" label="可选名称" width="150"  />			        	 
-		    </el-table>
-		  </el-dialog>
-		  
-        </el-main>
-      </el-container>
-    </el-container>
-
-  </div>
-</template>
-
-<script setup>
-import {
-  getDateList,
-  getInspectCount,
-  shougonglocate,
-  shougonggetInfo,
-  shougonggetGxMc,
-  shougonggetDedh,
-  shougonggetScrapFactor,
-  shougongedit,
-  shougongdel,
-  getYg,
-  getInspectCountByGdbh,
-  inspectadd
-} from '@/api/jixiaoguanli/jitairibaobiao'
-
-// 全量引入格式化工具 请按需保留
-import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { Search, Refresh, Download } from '@element-plus/icons-vue'
-import { ref, reactive, nextTick, onMounted, onBeforeMount } from 'vue'
-import { getPackingSideTable, getPackingTable } from '@/api/mes_api_gty/myapi'
-import { Layout, LayoutContent, LayoutHeader, LayoutSider } from '@arco-design/web-vue'
-import { useUserStore } from '@/pinia/modules/user'
-const userStore = useUserStore() 
-const sys_id='['+userStore.userInfo.userName+'/'+userStore.userInfo.nickName+']'
-defineOptions({
-  name: '06-packingDocuments'
-})
-
-// 侧边栏数据请求
-const treeData = reactive([]);
-const getTabdata = async () => {
-    //接口调用函数
-    const response  = await getInspectCount();
-	
-	const transformedData = response.data.map(item => ({
-		  label: `${item.date.replace(/-/g, '.')}【单据数: ${item.counts}张】`,
-		  children: item.sys.map(sysItem => ({
-			label: `${sysItem.sys_id} 【记录数: ${sysItem.count}张】`,
-			params: {
-			  date: item.date.replace(/-/g, '.'),
-			  sys_id: sysItem.sys_id,
-			  total: sysItem.count,
-			},
-		  })),
-	}));
-	treeData.splice(0, treeData.length, ...transformedData);
-	displayMod.value = 'date'
-}
-
-getTabdata();
-
-// 自动化生成的字典(可能为空)以及字段
-const formData = ref({
-		  sczl_rq: '',
-          sczl_bzdh: '',
-          sczl_bh0: '',
-          sczl_bh0_name: '',
-          sczl_cl0: '',
-          sczl_fp0: '',
-          sczl_gdbh: '',
-          sczl_yjgx: '',
-          sczl_gxmc: '',
-          yj_yjmc: '',
-          sczl_cl: '',
-          sczl_dedh: '',
-          sczl_检验类别: '',
-          sczl_废品率系数: '',
-          sczl_jsss: '',
-          sczl_冲定额: '',
-          流程单号1: '',
-          流程单号2: '',
-          流程单号3: '',
-          流程单号4: '',
-          流程单号5: '',
-          流程单号6: '',
-          流程单号7: '',
-          流程单号8: '',
-          流程单号9: '',
-          qczl_NumDesc: '',
-          sczl_desc: '',
-          sczl_bh1: '',
-          sczl_bh2: '',
-          sczl_bh3:'',
-          sczl_bh4: '',
-          sczl_bh5: '',
-          sczl_bh6: '',
-          sczl_bh7: '',
-          sczl_bh8: '',
-          sczl_bh9: '',
-          sczl_bh10: '',
-          sczl_bh11: '',
-          sczl_bh12: '',
-          sczl_bh1_name: '',
-          sczl_bh2_name: '',
-          sczl_bh3_name: '',
-          sczl_bh4_name: '',
-          sczl_bh5_name: '',
-          sczl_bh6_name: '',
-          sczl_bh7_name: '',
-          sczl_bh8_name: '',
-          sczl_bh9_name: '',
-          sczl_bh10_name: '',
-          sczl_bh11_name: '',
-          sczl_bh12_name: '',
-          sczl_cl1: '',
-          sczl_cl2: '',
-          sczl_cl3: '',
-          sczl_cl4: '',
-          sczl_cl5: '',
-          sczl_cl6: '',
-          sczl_cl7: '',
-          sczl_cl8: '',
-          sczl_cl9: '',
-          sczl_cl10: '',
-          sczl_cl11:'',
-          sczl_cl12: '',
-          sczl_fp1: '',
-          sczl_fp2: '',
-          sczl_fp3: '',
-          sczl_fp4: '',
-          sczl_fp5: '',
-          sczl_fp6: '',
-          sczl_fp7: '',
-          sczl_fp8: '',
-          sczl_fp9: '',
-          sczl_fp10: '',
-          sczl_fp11: '',
-          sczl_fp12: '',
-})
-const initFormData = () => {
-	formData.value = {
-		  sczl_rq: '',
-		  sczl_bzdh: '',
-		  sczl_bh0: '',
-		  sczl_bh0_name: '',
-		  sczl_cl0: '0.00',
-		  sczl_fp0: '0',
-		  sczl_gdbh: '',
-		  sczl_yjgx: '',
-		  sczl_gxmc: '',
-		  yj_yjmc: '',
-		  sczl_cl: '0',
-		  sczl_dedh: '',
-		  sczl_检验类别: '',
-		  sczl_废品率系数: '0.000',
-		  sczl_jsss: '0.00',
-		  sczl_冲定额: '',
-		  流程单号1: '',
-		  流程单号2: '',
-		  流程单号3: '',
-		  流程单号4: '',
-		  流程单号5: '',
-		  流程单号6: '',
-		  流程单号7: '',
-		  流程单号8: '',
-		  流程单号9: '',
-		  qczl_NumDesc: '',
-		  sczl_desc: '',
-		  sczl_bh1: '',
-		  sczl_bh2: '',
-		  sczl_bh3:'',
-		  sczl_bh4: '',
-		  sczl_bh5: '',
-		  sczl_bh6: '',
-		  sczl_bh7: '',
-		  sczl_bh8: '',
-		  sczl_bh9: '',
-		  sczl_bh10: '',
-		  sczl_bh11: '',
-		  sczl_bh12: '',
-		  sczl_bh1_name: '',
-		  sczl_bh2_name: '',
-		  sczl_bh3_name: '',
-		  sczl_bh4_name: '',
-		  sczl_bh5_name: '',
-		  sczl_bh6_name: '',
-		  sczl_bh7_name: '',
-		  sczl_bh8_name: '',
-		  sczl_bh9_name: '',
-		  sczl_bh10_name: '',
-		  sczl_bh11_name: '',
-		  sczl_bh12_name: '',
-		  sczl_cl1: '0',
-		  sczl_cl2: '0',
-		  sczl_cl3: '0',
-		  sczl_cl4: '0',
-		  sczl_cl5: '0',
-		  sczl_cl6: '0',
-		  sczl_cl7: '0',
-		  sczl_cl8: '0',
-		  sczl_cl9: '0',
-		  sczl_cl10: '0',
-		  sczl_cl11:'0',
-		  sczl_cl12: '0',
-		  sczl_fp1: '0',
-		  sczl_fp2: '0',
-		  sczl_fp3: '0',
-		  sczl_fp4: '0',
-		  sczl_fp5: '0',
-		  sczl_fp6: '0',
-		  sczl_fp7: '0',
-		  sczl_fp8: '0',
-		  sczl_fp9: '0',
-		  sczl_fp10: '0',
-		  sczl_fp11: '0',
-		  sczl_fp12: '0',
-	};
-}
-// 验证规则
-const rule = reactive({
-})
-
-const elFormRef = ref()
-const elSearchFormRef = ref()
-
-// =========== 表格控制部分 ===========
-const tableData = reactive([])
-const detailData = reactive([])
-const total = ref(0)
-const page = ref(1)
-const limit = ref(10)
-const searchInfo = ref('')
-const params = {
-  type: '',
-  date: '',
-  sys_id: '',
-  gdbh: '',
-}
-
-// 分页设置
-const handleSizeChange = (val) => {
-  switch (params.type) {
-    case 'getTableData':
-      getTableData()
-      break
-    case 'getLocateTable':
-      GetLocate()
-      break
-    default:
-      break
-  }
-}
-
-// 页面跳转
-const handleCurrentChange = (val) => {
- switch (params.type) {
-   case 'getTableData':
-     getTableData()
-     break
-   case 'getLocateTable':
-     GetLocate()
-     break
-   default:
-     break
- }
- console.log(params.type)
-}
-
-const getTableData = async() => {
-  // const response = await getDateList(params);
-  // console.log(response)
-  // if (response.code === 0) {
-  //   const processedData = response.data.data.map(item => {
-  //     return {
-  //       ...item,
-  //       combinedProp: item.sczl_gdbh + '--'+item.yj_yjmc,
-		// combinedProp2: item.sczl_yjgx + '-'+item.sczl_gxmc
-  //     };
-  //   });
-  //   tableData.splice(0, tableData.length, ...processedData);
-  // }
-  
-  const response = await getDateList({
-    date: params.date, sys_id: params.sys_id,
-    page: page.value.toString(), limit: limit.value.toString(),	
-  })
-  if (response.code === 0) {
-    const processedData = response.data.data.map(item => {
-      return {
-        ...item,
-        combinedProp: item.sczl_gdbh + '--'+item.yj_yjmc,
-        combinedProp2: item.sczl_yjgx + '-'+item.sczl_gxmc
-      };
-    });
-    tableData.splice(0, tableData.length, ...processedData);
-  }
-}
-
-const handleNodeClick = (node,check) => {
- //存放当前节点的nodeId
-   if (node.params) {
-    params.date = node.params.date.replace(/\./g, '-');
-    params.sys_id = node.params.sys_id;
-    params.type = 'getTableData'
-    total.value = node.params.total;
-    page.value = 1
-    getTableData();
-  }
-}
-//定位
-const GetLocate = async () => {
-  const response = await shougonglocate({
-    gdbh: params.gdbh,
-    page: page.value.toString(), limit: limit.value.toString(),
-  })
-  if (response.code === 0) {
-    const processedData = response.data.rows.map(item => {
-      return {
-        ...item,
-        combinedProp: item.sczl_gdbh + '--'+item.yj_yjmc,
-        combinedProp2: item.sczl_yjgx + '-'+item.sczl_gxmc
-      };
-    });
-	  total.value = response.data.total
-    tableData.splice(0, tableData.length, ...processedData);
-  }
-}
-let positionvalue=ref()
-// 搜索
-function onSearch() {
-	params.gdbh = positionvalue.value
-	params.type = 'getLocateTable'
-	page.value = 1
-	GetLocate()
-}
-//获取详细信息
-const GetInfo = async (value) => {
-  const response = await shougonggetInfo({UniqId:value});
-  if (response.code === 0) {
-	formData.value=response.data;
-  }
-}
-
-//键盘 input框跳转
-const ent1 = (event) => {
-  const inputs = document.getElementsByTagName('input');
-  const currentIndex = Array.from(inputs).indexOf(event.target);
-  if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
-	  if(event.target.id=='其他备注'){
-		  ElMessageBox.confirm('数据存盘?', '提示', {
-					confirmButtonText: '确定',
-					cancelButtonText: '取消',
-					type: 'warning'
-				  }).then(() => {
-					enterDialog()
-				})
-	  }
-    for (let i = currentIndex + 1; i < inputs.length; i++) {
-      if (!inputs[i].readOnly) {
-		  nextTick(()=>{
-			  inputs[i].focus();
-			  inputs[i].select();
-		  })
-        break;
-      }
-    }
-	if(event.target.id.substring(0, 2)=='cl' || event.target.id.substring(0, 2)=='fp'){
-		ent_sum()
-	}
-  } 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;
-      }
-    }
-	if(event.target.id.substring(0, 2)=='cl' || event.target.id.substring(0, 2)=='fp'){
-		ent_sum()
-	}
-  } 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;
-        }
-      }
-	  if(event.target.id.substring(0, 2)=='cl' || event.target.id.substring(0, 2)=='fp'){
-	  	ent_sum()
-	  }
-    }
-  } 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;
-        }
-      }
-	  if(event.target.id.substring(0, 2)=='cl' || event.target.id.substring(0, 2)=='fp'){
-	  	ent_sum()
-	  }
-    }
-  } else if (event.keyCode === 39) { // 向右箭头
-	  if(event.target.id=='其他备注'){
-		  ElMessageBox.confirm('数据存盘?', '提示', {
-					confirmButtonText: '确定',
-					cancelButtonText: '取消',
-					type: 'warning'
-				  }).then(() => {
-					enterDialog()
-				})
-	  }
-    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;
-        }
-      }
-    }
-	if(event.target.id.substring(0, 2)=='cl' || event.target.id.substring(0, 2)=='fp'){
-		ent_sum()
-	}
-  }
-}
-
-//追加字体颜色和不可输入
-const setColorReadonly = (id) => {
-	const newInput = document.getElementById(id)
-	newInput.style.color = 'red';
-	newInput.setAttribute('readonly', true);
-}
-
-//追加字体颜色和可输入
-const unsetColorReadonly = (id) => {
-	const newInput = document.getElementById(id)
-	newInput.style.color = 'black';
-	newInput.removeAttribute('readonly');
-}
-
-//日期获得焦点事件
-const rqHandleFocus = () =>{
-	if(formData.value.sczl_rq==''){
-		formData.value.sczl_rq = new Date().toISOString().split('T')[0]
-	}
-}
-const num=ref(0)
-//班组失去焦点事件
-const getBzsubmit = () => {
-	//弹出选择
-	const data = [{'sczl_bzdh':'A班'},{'sczl_bzdh':'B班'}]
-	selectDataBz.splice(0, selectDataBz.length, ...data)
-	BzVisible.value=true
-	setCurrent(data[0])
-}
-const table = ref()
-const setCurrent = (row) => {
-  setTimeout(()=>{
-	  table.value?.setCurrentRow(row)
-	  const {sczl_bzdh } = row
-	  formData.value.sczl_bzdh=row.sczl_bzdh
-  })
-}
-//班组选择
-const selectDataBz = reactive([])
-const BzVisible = ref(false)
-const SelectClickBz = (row, column, event) => {
-  const {sczl_bzdh } = row
-	formData.value.sczl_bzdh=row.sczl_bzdh
-	BzVisible.value = false
-}
-
-const selectBZ = (event) => {
-	if (event.keyCode === 40) { // Enter 或向下箭头
-	    setCurrent(selectDataBz[1]);
-	} else if (event.keyCode === 38) {
-		setCurrent(selectDataBz[0]);
-	} else if (event.keyCode === 13) {
-		    BzVisible.value = false
-	}
-}
-
-//冲定额失去焦点事件
-const getCdesubmit = () => {
-	//弹出选择
-	const data = [{'sczl_冲定额':''},{'sczl_冲定额':'是'}]
-	selectDataCde.splice(0, selectDataCde.length, ...data)
-	CdeVisible.value=true
-	setCdeCurrent(data[0])
-}
-const tableCde = ref()
-const setCdeCurrent = (row) => {
-  setTimeout(()=>{
-	  tableCde.value?.setCurrentRow(row)
-	  const {sczl_冲定额 } = row
-	  formData.value.sczl_冲定额=row.sczl_冲定额
-  })
-}
-//冲定额选择
-const selectDataCde = reactive([])
-const CdeVisible = ref(false)
-const SelectClickCde = (row, column, event) => {
-  const {sczl_冲定额 } = row
-	formData.value.sczl_冲定额=row.sczl_冲定额
-	CdeVisible.value = false
-}
-
-const selectCde = (event) => {
-	if (event.keyCode === 40) { // Enter 或向下箭头
-	    setCdeCurrent(selectDataCde[1]);
-	} else if (event.keyCode === 38) {
-		setCdeCurrent(selectDataCde[0]);
-	} else if (event.keyCode === 13) {
-		    CdeVisible.value = false
-	}
-}
-
-//员工编号失去焦点事件
-const getygsubmit = async (event, inputName) => {
-	let combinedString = 'sczl_bh' + inputName;
-	let value = eval('formData.value.' + combinedString);
-	if(value){
-		const response = await getYg({sczl_bh:value});
-		console.log(response)
-		if (response.code === 0) {
-			let Bname = 'sczl_bh' + inputName+'_name';
-			formData.value[Bname]=response.data[0].ygxm;
-			//设置姓名样式
-			
-			if(inputName>0){
-				unsetColorReadonly('cl'+inputName)
-				unsetColorReadonly('fp'+inputName)
-			}
-		}
-	}
-}
-
-const ent_sum = () =>{
-	let sum = 0;
-	for(var i=1;i<=12;i++){
-		sum += formData.value['sczl_cl'+i] * formData.value['sczl_fp'+i]
-	}
-	formData.value.sczl_cl = sum
-}
-//员工编号键盘事件
-const ent = (event, inputName) => {
-	let combinedString = 'sczl_bh' + inputName;
-	let value = eval('formData.value.' + combinedString);
-	
-  if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
-	if(value){
-		getYg({sczl_bh:value}).then(response => {
-			if (response.code == 0) {
-				let Bname = 'sczl_bh' + inputName+'_name';
-				let Bbh = 'sczl_bh' + inputName;
-				formData.value[Bname]=response.data[0].ygxm;
-				formData.value[Bbh]=response.data[0].员工编号;
-				//设置姓名样式
-				unsetColorReadonly('cl'+inputName)
-				unsetColorReadonly('fp'+inputName)
-				
-				document.getElementById('cl'+inputName).focus()
-				document.getElementById('cl'+inputName).select()
-			}else{
-				formData.value['sczl_bh' + inputName+'_name']='';
-				formData.value['sczl_cl' + inputName]='0';
-				formData.value['sczl_fp' + inputName]='0';
-			
-				//设置姓名样式
-				setColorReadonly('cl'+inputName);
-				setColorReadonly('fp'+inputName);
-				
-				if(inputName!=12){
-					document.getElementById('bh'+(parseInt(inputName)+1)).focus()
-					document.getElementById('bh'+(parseInt(inputName)+1)).select()
-				}else{
-					  document.getElementById('其他备注').focus()
-					  document.getElementById('其他备注').select()
-				}
-			}
-		});
-		
-	}else{
-			formData.value['sczl_bh' + inputName+'_name']='';
-			formData.value['sczl_cl' + inputName]='0';
-			formData.value['sczl_fp' + inputName]='0';
-	
-			//设置姓名样式
-			setColorReadonly('cl'+inputName);
-			setColorReadonly('fp'+inputName);
-			if(inputName!=12){
-				document.getElementById('bh'+(parseInt(inputName)+1)).focus()
-				document.getElementById('bh'+(parseInt(inputName)+1)).select()
-			}else{
-				  document.getElementById('其他备注').focus()
-				  document.getElementById('其他备注').select()
-			}
-			
-	}
-	ent_sum()
-  } else if (event.keyCode === 38) { // 向上箭头
-		if(value){
-			getYg({sczl_bh:value}).then(response => {
-				if (response.code == 0) {
-					let Bname = 'sczl_bh' + inputName+'_name';
-					formData.value[Bname]=response.data[0].ygxm;
-					//设置姓名样式
-					unsetColorReadonly('cl'+inputName)
-					unsetColorReadonly('fp'+inputName)
-					
-					if(inputName!=1){
-						if(document.getElementById('fp'+(parseInt(inputName)-1)).readOnly){
-							document.getElementById('bh'+(parseInt(inputName)-1)).focus()
-							document.getElementById('bh'+(parseInt(inputName)-1)).select()
-						}else{
-							document.getElementById('fp'+(parseInt(inputName)-1)).focus()
-							document.getElementById('fp'+(parseInt(inputName)-1)).select()
-						}
-					}else{
-						document.getElementById('备注').focus()
-						document.getElementById('备注').select()
-					}
-				}else{
-					formData.value['sczl_bh' + inputName+'_name']='';
-					formData.value['sczl_cl' + inputName]='0';
-					formData.value['sczl_fp' + inputName]='0';
-				
-					//设置姓名样式
-					setColorReadonly('cl'+inputName);
-					setColorReadonly('fp'+inputName);
-					
-					if(inputName!=1){
-						if(document.getElementById('fp'+(parseInt(inputName)-1)).readOnly){
-							document.getElementById('bh'+(parseInt(inputName)-1)).focus()
-							document.getElementById('bh'+(parseInt(inputName)-1)).select()
-						}else{
-							document.getElementById('fp'+(parseInt(inputName)-1)).focus()
-							document.getElementById('fp'+(parseInt(inputName)-1)).select()
-						}
-					}else{
-						document.getElementById('备注').focus()
-						document.getElementById('备注').select()
-					}
-				}
-			});
-			
-		}else{
-			formData.value['sczl_bh' + inputName+'_name']='';
-			formData.value['sczl_cl' + inputName]='0';
-			formData.value['sczl_fp' + inputName]='0';
-	
-			//设置姓名样式
-			setColorReadonly('cl'+inputName);
-			setColorReadonly('fp'+inputName);
-			if(inputName!=1){
-				if(document.getElementById('fp'+(parseInt(inputName)-1)).readOnly){
-					document.getElementById('bh'+(parseInt(inputName)-1)).focus()
-					document.getElementById('bh'+(parseInt(inputName)-1)).select()
-				}else{
-					document.getElementById('fp'+(parseInt(inputName)-1)).focus()
-					document.getElementById('fp'+(parseInt(inputName)-1)).select()
-				}
-			}else{
-				document.getElementById('备注').focus()
-				document.getElementById('备注').select()
-			}
-		}
-		ent_sum()
-  } else if (event.keyCode === 8) { // 删除箭头
-    if (event.target.selectionStart === 0) {
-		if(value){
-			getYg({sczl_bh:value}).then(response => {
-				if (response.code == 0) {
-					let Bname = 'sczl_bh' + inputName+'_name';
-					formData.value[Bname]=response.data[0].ygxm;
-					//设置姓名样式
-					unsetColorReadonly('cl'+inputName)
-					unsetColorReadonly('fp'+inputName)
-					
-					if(inputName!=1){
-						if(document.getElementById('fp'+(parseInt(inputName)-1)).readOnly){
-							document.getElementById('bh'+(parseInt(inputName)-1)).focus()
-							document.getElementById('bh'+(parseInt(inputName)-1)).setSelectionRange(0, 0)
-						}else{
-							document.getElementById('fp'+(parseInt(inputName)-1)).focus()
-							document.getElementById('fp'+(parseInt(inputName)-1)).setSelectionRange(0, 0)
-						}
-					}else{
-						document.getElementById('备注').focus()
-						document.getElementById('备注').setSelectionRange(0, 0)
-					}
-				}else{
-					formData.value['sczl_bh' + inputName+'_name']='';
-					formData.value['sczl_cl' + inputName]='0';
-					formData.value['sczl_fp' + inputName]='0';
-				
-					//设置姓名样式
-					setColorReadonly('cl'+inputName);
-					setColorReadonly('fp'+inputName);
-					
-					if(inputName!=1){
-						if(document.getElementById('fp'+(parseInt(inputName)-1)).readOnly){
-							document.getElementById('bh'+(parseInt(inputName)-1)).focus()
-							document.getElementById('bh'+(parseInt(inputName)-1)).setSelectionRange(0, 0)
-						}else{
-							document.getElementById('fp'+(parseInt(inputName)-1)).focus()
-							document.getElementById('fp'+(parseInt(inputName)-1)).setSelectionRange(0, 0)
-						}
-					}else{
-						document.getElementById('备注').focus()
-						document.getElementById('备注').setSelectionRange(0, 0)
-					}
-				}
-			});
-			
-		}else{
-			formData.value['sczl_bh' + inputName+'_name']='';
-			formData.value['sczl_cl' + inputName]='0';
-			formData.value['sczl_fp' + inputName]='0';
-			
-			//设置姓名样式
-			setColorReadonly('cl'+inputName);
-			setColorReadonly('fp'+inputName);
-			if(inputName!=1){
-				if(document.getElementById('fp'+(parseInt(inputName)-1)).readOnly){
-					document.getElementById('bh'+(parseInt(inputName)-1)).focus()
-					document.getElementById('bh'+(parseInt(inputName)-1)).setSelectionRange(0, 0)
-				}else{
-					document.getElementById('fp'+(parseInt(inputName)-1)).focus()
-					document.getElementById('fp'+(parseInt(inputName)-1)).setSelectionRange(0, 0)
-				}
-			}else{
-				document.getElementById('备注').focus()
-				document.getElementById('备注').setSelectionRange(0, 0)
-			}
-		}
-		ent_sum()
-    }
-  } else if (event.keyCode === 37) { // 向左箭头
-    if (event.target.selectionStart === 0) {
-		if(value){
-			getYg({sczl_bh:value}).then(response => {
-				if (response.code == 0) {
-					let Bname = 'sczl_bh' + inputName+'_name';
-					formData.value[Bname]=response.data[0].ygxm;
-					//设置姓名样式
-					unsetColorReadonly('cl'+inputName)
-					unsetColorReadonly('fp'+inputName)
-					
-					if(inputName!=1){
-						if(document.getElementById('fp'+(parseInt(inputName)-1)).readOnly){
-							document.getElementById('bh'+(parseInt(inputName)-1)).focus()
-							document.getElementById('bh'+(parseInt(inputName)-1)).select()
-						}else{
-							document.getElementById('fp'+(parseInt(inputName)-1)).focus()
-							document.getElementById('fp'+(parseInt(inputName)-1)).select()
-						}
-					}else{
-						document.getElementById('备注').focus()
-						document.getElementById('备注').select()
-					}
-				}else{
-					formData.value['sczl_bh' + inputName+'_name']='';
-					formData.value['sczl_cl' + inputName]='0';
-					formData.value['sczl_fp' + inputName]='0';
-				
-					//设置姓名样式
-					setColorReadonly('cl'+inputName);
-					setColorReadonly('fp'+inputName);
-					
-					if(inputName!=1){
-						if(document.getElementById('fp'+(parseInt(inputName)-1)).readOnly){
-							document.getElementById('bh'+(parseInt(inputName)-1)).focus()
-							document.getElementById('bh'+(parseInt(inputName)-1)).select()
-						}else{
-							document.getElementById('fp'+(parseInt(inputName)-1)).focus()
-							document.getElementById('fp'+(parseInt(inputName)-1)).select()
-						}
-					}else{
-						document.getElementById('备注').focus()
-						document.getElementById('备注').select()
-					}
-				}
-			});
-			
-		}else{
-			formData.value['sczl_bh' + inputName+'_name']='';
-			formData.value['sczl_cl' + inputName]='0';
-			formData.value['sczl_fp' + inputName]='0';
-			
-			//设置姓名样式
-			setColorReadonly('cl'+inputName);
-			setColorReadonly('fp'+inputName);
-			if(inputName!=1){
-				if(document.getElementById('fp'+(parseInt(inputName)-1)).readOnly){
-					document.getElementById('bh'+(parseInt(inputName)-1)).focus()
-					document.getElementById('bh'+(parseInt(inputName)-1)).select()
-				}else{
-					document.getElementById('fp'+(parseInt(inputName)-1)).focus()
-					document.getElementById('fp'+(parseInt(inputName)-1)).select()
-				}
-			}else{
-				document.getElementById('备注').focus()
-				document.getElementById('备注').select()
-			}
-		}
-		ent_sum()
-    }
-  } else if (event.keyCode === 39) { // 向右箭头
-    if (event.target.selectionStart === event.target.value.length) {
-		if(value){
-			getYg({sczl_bh:value}).then(response => {
-				if (response.code == 0) {
-					let Bname = 'sczl_bh' + inputName+'_name';
-					formData.value[Bname]=response.data[0].ygxm;
-					//设置姓名样式
-					unsetColorReadonly('cl'+inputName)
-					unsetColorReadonly('fp'+inputName)
-					
-					document.getElementById('cl'+inputName).focus()
-					document.getElementById('cl'+inputName).select()
-				}else{
-					formData.value['sczl_bh' + inputName+'_name']='';
-					formData.value['sczl_cl' + inputName]='0';
-					formData.value['sczl_fp' + inputName]='0';
-				
-					//设置姓名样式
-					setColorReadonly('cl'+inputName);
-					setColorReadonly('fp'+inputName);
-					
-					if(inputName!=12){
-						document.getElementById('bh'+(parseInt(inputName)+1)).focus()
-						document.getElementById('bh'+(parseInt(inputName)+1)).select()
-					}else{
-						  document.getElementById('其他备注').focus()
-						  document.getElementById('其他备注').select()
-					}
-				}
-			});
-			
-		}else{
-			formData.value['sczl_bh' + inputName+'_name']='';
-			formData.value['sczl_cl' + inputName]='0';
-			formData.value['sczl_fp' + inputName]='0';
-	
-			//设置姓名样式
-			setColorReadonly('cl'+inputName);
-			setColorReadonly('fp'+inputName);
-			if(inputName!=12){
-				document.getElementById('bh'+(parseInt(inputName)+1)).focus()
-				document.getElementById('bh'+(parseInt(inputName)+1)).select()
-			}else{
-				  document.getElementById('其他备注').focus()
-				  document.getElementById('其他备注').select()
-				}
-		}
-		ent_sum()
-    }
-  }
-}
-
-
-
-const getGxMcsubmit = async() => {
-	if(formData.value.sczl_gdbh!=''){
-		const response = await shougonggetGxMc({gdbh:formData.value.sczl_gdbh});
-		 
-		if (response.code === 0) {
-			  if(response.data.length==0){
-				  ElMessage({
-				    type: 'error',
-				    message: '查无此编号的工单,请仔细检查后重新输入'
-				  })
-				  //设置输入框的值为空
-				  formData.value.sczl_gdbh = ''
-				  formData.value.sczl_yjgx = ''
-				  formData.value.sczl_gxmc = ''
-				  formData.value.yj_yjmc = ''
-			  }else if(response.data.length==1){
-				  const { Gd_cpmc, Gy0_yjno, Gy0_gxh, Gy0_gxmc,jyGx} = response.data[0]
-				  formData.value.yj_yjmc=Gd_cpmc
-				  formData.value.sczl_gxmc=Gy0_gxmc
-				  formData.value.sczl_yjgx=jyGx 
-				  setColorReadonly('yjgx');
-				  setColorReadonly('gxmc');
-				  setColorReadonly('yjmc');
-			  }else{
-				  if(GetDedhVisible.value){
-				  	return false
-				  }
-				  selectData.splice(0, selectData.length, ...response.data)
-				  dialogSelectVisible.value=true
-				  setGXCurrent(selectData[0])
-			  }
-		}
-	}else{
-		ElMessage({
-		  type: 'error',
-		  message: '请注意, 工单编号输入空置, 除非有特殊需要!'
-		})
-		
-		formData.value.sczl_yjgx = ''
-		formData.value.sczl_gxmc = ''
-		formData.value.yj_yjmc = ''
-	}
-	
-  
-}
-const dialogSelectVisible = ref(false)
-const selectData = reactive([])
-
-// 工单选择框
-const handleSelectClick = (row, column, event) => {
-  const { Gd_cpmc, Gy0_yjno, Gy0_gxh, Gy0_gxmc,jyGx } = row
-  formData.value.yj_yjmc=Gd_cpmc
-  formData.value.sczl_gxmc=Gy0_gxmc
-  formData.value.sczl_yjgx=jyGx
-  setColorReadonly('yjgx');
-  setColorReadonly('gxmc');
-  setColorReadonly('yjmc');
-  dialogSelectVisible.value = false
-}
-const currentIndex = ref(0);
-const GXCurrent = ref(0);
-const selectGX = (event) => {
-    if (event.keyCode === 40) { // 向下箭头
-        if (currentIndex.value < selectData.length - 1) {
-            currentIndex.value++;
-            setGXCurrent(selectData[currentIndex.value]);
-        } else {
-            currentIndex.value = 0;
-            setGXCurrent(selectData[currentIndex.value]); // 到达最后一行时回到第一行			
-        }
-    } else if (event.keyCode === 38) { // 向上箭头
-        if (currentIndex.value > 0) {
-            currentIndex.value--;
-            setGXCurrent(selectData[currentIndex.value]);
-        } else {
-            currentIndex.value = selectData.length - 1;
-            setGXCurrent(selectData[currentIndex.value]); // 到达第一行时回到最后一行
-        }
-    } else if (event.keyCode === 13) { // 回车键
-        dialogSelectVisible.value = false;
-    }
-}
-const table2 = ref()
-const setGXCurrent = (row) => {
-  setTimeout(()=>{
-	  table2.value?.setCurrentRow(row) 
-	  const { Gd_cpmc, Gy0_yjno, Gy0_gxh, Gy0_gxmc,jyGx } = row
-	  formData.value.yj_yjmc=Gd_cpmc
-	  formData.value.sczl_gxmc=Gy0_gxmc
-	  formData.value.sczl_yjgx=jyGx
-  })
-}
-
-//定额代号回车事件
-const getDedhsubmit = () => {
-	if(dialogSelectVisible.value){
-		return false
-	}
-	if(LbVisible.value){
-		return false
-	}
-	 GetDedh()
-}
-let GetDedhtreeData = reactive([]);
-const GetDedhVisible = ref(false)
-//获取定额代号
-const GetDedh = async (value) => {
-	const response = await shougonggetDedh();
-	const treeData = {};
-	// const data = [];
-	// data[0] = response.data;
-	// //判断值是否在选项中存在
-	// const buildTree1 = (node) => {
-	//   const arr = [];
-	
-	//   // 如果存在子节点,递归地添加它们
-	//   if (node.bh_mc && Array.isArray(node.bh_mc)) {
-	//     node.bh_mc.forEach(childNode => {
-	//       arr.push(...buildTree1(childNode)); // 递归调用
-	//     });
-	//   }else{
-	// 	  arr.push(node.sys_bh)
-	//   }
-	
-	//   return arr;
-	// };
-	// // 构建树形结构的根节点
-	// const Data = data.map(buildTree1);
-	
-	if(response.code==0){
-		const data = [];
-		data[0] = response.data;
-		// 递归函数来构建树形结构
-		const buildTree = (node) => {
-		  const treeNode = {
-		    label: node.sys_bh + '【' + node.sys_mc+'】',
-		    children: []
-		  };
-		
-		  // 如果存在子节点,递归地添加它们
-		  if (node.bh_mc && Array.isArray(node.bh_mc)) {
-		    node.bh_mc.forEach(childNode => {
-		      treeNode.children.push(buildTree(childNode)); // 递归调用
-		    });
-		  }
-		
-		  return treeNode;
-		};
-	
-	// 构建树形结构的根节点
-	const treeData = data.map(buildTree);
-	
-	GetDedhtreeData = treeData;
-	GetDedhVisible.value=true
-  }
-
-}
-
-//定额代号树形结构单机
-const GetDedhhandleNodeClick = (nodeData, node, component) => {
-  //存放当前节点的nodeId
-  if (!nodeData.children || nodeData.children.length === 0) {
-       // 点击的是子节点
-	    formData.value.sczl_dedh=nodeData.label.split("【")[0]
-		GetDedhVisible.value=false
-     }
-	 // 执行相应的父节点单击事件处理逻辑
-}
-
-//检验类别失去焦点事件
-const getLbsubmit = () => {
-	if(GetDedhVisible.value){
-		return false
-	}
-	//弹出选择
-	const data = [{'sczl_检验类别':''},{'sczl_检验类别':'正品板'},{'sczl_检验类别':'次品板'},{'sczl_检验类别':'废品板'}]
-	selectDataLb.splice(0, selectDataLb.length, ...data)
-	setJYCurrent(selectDataLb[0])
-	LbVisible.value=true
-}
-
-//检验类别选择
-const selectDataLb = reactive([])
-const LbVisible = ref(false)
-const SelectClickLb = (row, column, event) => {
-  const {sczl_检验类别 } = row
-	formData.value.sczl_检验类别=row.sczl_检验类别
-	
-	//查询废品系数
-	if(row.sczl_检验类别!=''){
-		var value = {
-			'gdbh':formData.value.sczl_gdbh,
-			'yjno':parseInt(formData.value.sczl_yjgx.split('-')[0]),
-			'gxh':parseInt(formData.value.sczl_yjgx.split('-')[1]),
-			'type':formData.value.sczl_检验类别
-			}
-		shougonggetScrapFactor(value).then(response=>{
-			if(response.code==0){
-				if(response.data!=null){
-					formData.value.sczl_废品率系数 = response.data.num;
-				}
-				setColorReadonly('废品率系数')
-			}
-		});
-		
-	}else{
-		unsetColorReadonly('废品率系数')
-	}
-  LbVisible.value = false
-}
-const table3=ref()
-const setJYCurrent = (row) => {
-  setTimeout(()=>{
-	  table3.value?.setCurrentRow(row) 
-	  const {sczl_检验类别 } = row
-	  	formData.value.sczl_检验类别=row.sczl_检验类别
+			<el-container>
+				<el-main>
+					<!-- 按钮区域 -->
+					<div class="gva-table-box">
+						<el-form-item>
+							<el-input v-model="positionvalue" placeholder="输入工单编号或产品名称" style="width: 180px;" />
+							<el-button type="primary" class="search" icon="search" @click="onSearch"></el-button>
+							<el-button type="primary" class="bt" icon="plus" @click="onAdd">新增</el-button>
+							<!-- <el-button type="primary" class="bt" icon="copy-document"  @click="onCountByGdbh">切换显示方式</el-button> -->
+							<el-button type="primary" class="bt" icon="refresh" @click="onRefresh">刷新质检系数</el-button>
+							<el-button type="primary" class="bt" icon="delete" @click="onDel">删除</el-button>
+							<div style="margin-left: auto;">
+								<el-button type="primary" :icon="Download" @click="exportExcel">导出到Excel</el-button>
+							</div>
+						</el-form-item>
+						<!-- 数据展示 -->
+						<el-table ref="multipleTable" style="width: 100%" tooltip-effect="dark" :data="tableData"
+							row-key="ID" highlight-current-row="true" border @selection-change="handleSelectionChange"
+							@row-click="Click" :show-overflow-tooltip="true" @row-dblclick="doubleClick">
+							<el-table-column type="selection" width="55" />
+							<el-table-column align="left" sortable label="工单印件" prop="combinedProp" width="340" />
+							<el-table-column align="left" sortable label="印件工序" prop="combinedProp2" width="150" />
+							<el-table-column align="left" sortable label="日期" prop="sczl_rq" width="120" />
+							<el-table-column align="left" sortable label="产量" prop="sczl_cl" width="77" />
+							<el-table-column align="left" sortable label="千件工价" prop="千件工价" width="105" />
+							<el-table-column align="left" sortable label="检验类别" prop="sczl_检验类别" width="105" />
+							<el-table-column align="left" sortable label="废品率系数" prop="sczl_废品率系数" width="120" />
+							<el-table-column align="left" sortable label="日定额" prop="日定额" width="91" />
+							<el-table-column align="left" sortable label="组长编号" prop="sczl_bh0" width="105" />
+							<el-table-column align="left" sortable label="组长姓名" prop="员工姓名" width="105" />
+							<el-table-column align="left" sortable label="流程单备注" prop="qczl_NumDesc" width="120" />
+							<el-table-column align="left" sortable label="创建用户" prop="sys_id" width="120" />
+							<el-table-column align="left" sortable label="创建时间" prop="sys_rq" width="160" />
+							<el-table-column align="left" sortable label="修改时间" prop="mod_rq" width="160" />
+							<el-table-column align="left" sortable label="UNIQID" prop="UniqId" width="120" />
+						</el-table>
+						<!-- 分页 -->
+						<div class="gva-pagination">
+							<el-pagination layout="total, sizes, prev, pager, next, jumper" v-model:current-page="page"
+								v-model:page-size="limit" :page-sizes="[10, 30, 50, 100]" :total="total"
+								@current-change="handleCurrentChange" @size-change="handleSizeChange" />
+						</div>
+					</div>
+					<!-- 弹出框 -->
+					<el-dialog v-model="dialogFormVisible" :before-close="closeDialog"
+						:title="type === 'create' ? '添加' : '修改'" destroy-on-close width="1000px">
+						<el-form :model="formData" label-position="right" ref="elFormRef" :rules="rule"
+							label-width="70px">
+							<el-row :gutter="24">
+								<el-col :span="4">
+									<el-form-item label="日期" prop="id" class="mab">
+										<el-input type="date" max="9999-12-31" v-model="formData.sczl_rq" id="日期"
+											@focus="rqHandleFocus()" @keydown="ent1($event)" style="width: 120px; " />
+									</el-form-item>
+								</el-col>
+								<el-col :span="4">
+									<el-form-item label="组别" prop="name" label-width="90px" class="mab">
+										<el-input v-model="formData.sczl_bzdh" id="组别" @keydown="ent1($event)"
+											@blur="getBzsubmit()" style="width: 80px; " />
+									</el-form-item>
+								</el-col>
+								<el-col :span="8">
+									<el-form-item label="组长" prop="name" class="mab" label-width="50px">
+										<el-input v-model="formData.sczl_bh0" id="bh0" @keydown="ent1($event)"
+											@blur="getygsubmit($event, '0')" style="width: 100px; margin-right: 5px;" />
+										<el-input v-model="formData.sczl_bh0_name" id="name0" :readonly=true
+											@keydown="ent1($event)" style="width: 100px; " />
+									</el-form-item>
+								</el-col>
+								<el-col :span="4">
+									<el-form-item label="箱数" prop="name" class="mab" label-width="50px">
+										<el-input v-model="formData.sczl_cl0" id="箱数" @keydown="ent1($event)"
+											style="width: 100px; " />
+									</el-form-item>
+								</el-col>
+								<el-col :span="4">
+									<el-form-item label="每箱数" prop="name" class="mab" label-width="55px">
+										<el-input v-model="formData.sczl_fp0" id="每箱数" @keydown="ent1($event)"
+											style="width: 100px;" />
+									</el-form-item>
+								</el-col>
+							</el-row>
+
+							<el-row :gutter="24">
+								<el-col :span="24">
+									<el-form-item label="工单编号" prop="id" class="mab">
+										<el-input v-model="formData.sczl_gdbh" id="工单编号" placeholder="Enter回车"
+											@keydown="ent1($event)" @blur="getGxMcsubmit"
+											style="width: 118px; margin-right: 5px;" />
+										<el-input v-model="formData.sczl_yjgx" id="yjgx" :readonly="true"
+											@keydown="ent1($event)" style="width: 80px; margin-right: 5px;" />
+										<el-input v-model="formData.sczl_gxmc" id="gxmc" :readonly="true"
+											@keydown="ent1($event)" style="width: 135px; margin-right: 5px;" />
+										<el-input v-model="formData.yj_yjmc" id="yjmc" :readonly="true"
+											@keydown="ent1($event)" style="width: 542px;" />
+									</el-form-item>
+								</el-col>
+							</el-row>
+
+							<el-row :gutter="24">
+								<el-col :span="6">
+									<el-form-item label="产量合计" prop="id" class="mab">
+										<el-input v-model="formData.sczl_cl" id="产量合计" @keydown="ent1($event)"
+											style="width: 150px;" />
+									</el-form-item>
+								</el-col>
+								<el-col :span="6">
+									<el-form-item label="定额代号" prop="id" label-width="100px" class="mab">
+										<el-input v-model="formData.sczl_dedh" id="定额代号" @keydown="ent1($event)"
+											@blur="getDedhsubmit" style="width: 150px;" />
+									</el-form-item>
+								</el-col>
+								<el-col :span="6">
+									<el-form-item label="检验类别" prop="name" class="mab">
+										<el-input v-model="formData.sczl_检验类别" id="检验类别" placeholder="Enter回车"
+											@keydown="ent1($event)" @blur="getLbsubmit" style="width: 150px;" />
+									</el-form-item>
+								</el-col>
+								<el-col :span="6">
+									<el-form-item label="废品率系数" prop="name" label-width="100px" class="mab">
+										<el-input v-model="formData.sczl_废品率系数" id="废品率系数" @keydown="ent1($event)"
+											style="width: 150px;" />
+									</el-form-item>
+								</el-col>
+							</el-row>
+
+							<el-row :gutter="24">
+								<el-col :span="6">
+									<el-form-item label="计时时数" prop="id" class="mab">
+										<el-input v-model="formData.sczl_jsss" id="计时时数" @keydown="ent1($event)"
+											style="width: 100px;" />
+									</el-form-item>
+								</el-col>
+								<el-col :span="6">
+									<el-form-item label="冲月定额" prop="id" class="mab" label-width="100px">
+										<el-input v-model="formData.sczl_冲定额" id="冲月定额" placeholder="Enter回车"
+											@keydown="ent1($event)" @blur="getCdesubmit()" style="width: 100px;" />
+									</el-form-item>
+								</el-col>
+							</el-row>
+
+
+							<el-row :gutter="24">
+								<el-col :span="17">
+									<el-form-item label="流程单号" prop="id" class="mab">
+										<el-input v-model="formData.流程单号1" id="流程单号1" @keydown="ent1($event)"
+											style="width: 60px; margin-right: 5px;" />
+										<el-input v-model="formData.流程单号2" id="流程单号2" @keydown="ent1($event)"
+											style="width: 60px; margin-right: 5px;" />
+										<el-input v-model="formData.流程单号3" id="流程单号3" @keydown="ent1($event)"
+											style="width: 60px; margin-right: 5px;" />
+										<el-input v-model="formData.流程单号4" id="流程单号4" @keydown="ent1($event)"
+											style="width: 60px; margin-right: 5px;" />
+										<el-input v-model="formData.流程单号5" id="流程单号5" @keydown="ent1($event)"
+											style="width: 60px; margin-right: 5px;" />
+										<el-input v-model="formData.流程单号6" id="流程单号6" @keydown="ent1($event)"
+											style="width: 60px; margin-right: 5px;" />
+										<el-input v-model="formData.流程单号7" id="流程单号7" @keydown="ent1($event)"
+											style="width: 60px; margin-right: 5px;" />
+										<el-input v-model="formData.流程单号8" id="流程单号8" @keydown="ent1($event)"
+											style="width: 60px; margin-right: 5px;" />
+										<el-input v-model="formData.流程单号9" id="流程单号9" @keydown="ent1($event)"
+											style="width: 60px;" />
+									</el-form-item>
+								</el-col>
+								<el-col :span="7">
+									<el-form-item label="备注" prop="id" label-width="50px">
+										<el-input v-model="formData.qczl_NumDesc" id="备注" @keydown="ent1($event)" />
+									</el-form-item>
+								</el-col>
+							</el-row>
+
+							<el-row :gutter="19" style="margin-bottom: 5px; margin-left: 30px;">
+								<span style="margin-left: 25px; margin-right: 50px;">员工编号</span>
+								<span style="margin-right: 50px;">员工姓名</span>
+								<span style="margin-right: 50px;">&nbsp;&nbsp;箱数&nbsp;&nbsp;</span>
+								<span style="margin-right: 120px;">每箱数量</span>
+								<span style="margin-right: 50px;">员工编号</span>
+								<span style="margin-right: 50px;">员工姓名</span>
+								<span style="margin-right: 50px;">&nbsp;&nbsp;箱数&nbsp;&nbsp;</span>
+								<span>每箱数量</span>
+							</el-row>
+							<el-row :gutter="24" style="margin-bottom: 5px; margin-left: 30px;">
+
+								<div style="width: 450px;margin-right: 30px;">
+									<div v-for="index in 6" :key="index">
+										<el-input style="width: 100px; margin-right: 5px;" placeholder="Enter回车"
+											v-model="formData['sczl_bh' + index]" :id="'bh' + index"
+											@keydown="ent($event, index.toString())" />
+										<el-input style="width: 100px; margin-right: 5px; color: red;" :readonly="true"
+											:value="formData['sczl_bh' + index + '_name']" :id="'name' + index"
+											@keydown="ent1($event)" />
+										<el-input style="width: 100px; margin-right: 5px;"
+											v-model="formData['sczl_cl' + index]" :id="'cl' + index"
+											@keydown="ent1($event)" />
+										<el-input style="width: 100px;" v-model="formData['sczl_fp' + index]"
+											:id="'fp' + index" @keydown="ent1($event)" />
+									</div>
+								</div>
+								<div style="width: 450px;">
+									<div v-for="index in 6" :key="index + 6">
+										<el-input style="width: 100px; margin-right: 5px;"
+											v-model="formData['sczl_bh' + (index + 6)]" :id="'bh' + (index + 6)"
+											@keydown="ent($event, (index + 6).toString())" />
+										<el-input style="width: 100px; margin-right: 5px; color: red;" :readonly="true"
+											:value="formData['sczl_bh' + (index + 6) + '_name']"
+											:id="'name' + (index + 6)" @keydown="ent1($event)" />
+										<el-input style="width: 100px; margin-right: 5px;"
+											:value="formData['sczl_cl' + (index + 6)]" :id="'cl' + (index + 6)"
+											@keydown="ent1($event)" />
+										<el-input style="width: 100px;" :value="formData['sczl_fp' + (index + 6)]"
+											:id="'fp' + (index + 6)" @keydown="ent1($event)" />
+									</div>
+								</div>
+							</el-row>
+							<el-row :gutter="24">
+
+								<el-col :span="24">
+									<el-form-item label="其他备注" prop="id" class="mab">
+										<el-input v-model="formData.sczl_desc" id="其他备注" @keydown="ent1($event)" />
+									</el-form-item>
+								</el-col>
+							</el-row>
+
+						</el-form>
+
+						<el-dialog v-model="BzVisible" title="选择" destroy-on-close width="200px"
+							@keydown="selectBZ($event)">
+							<el-table tooltip-effect="dark" :data="selectDataBz" row-key="ID"
+								highlight-current-row="true" border style="width:100%" @row-dblclick="SelectClickBz"
+								ref="table">
+								<el-table-column prop="sczl_bzdh" label="班组" width="150" />
+							</el-table>
+						</el-dialog>
+						<el-dialog v-model="CdeVisible" title="选择" destroy-on-close width="200px"
+							@keydown="selectCde($event)">
+							<el-table tooltip-effect="dark" :data="selectDataCde" row-key="ID"
+								highlight-current-row="true" border style="width:100%" :row-style="{ height: '30px' }"
+								@row-dblclick="SelectClickCde" ref="tableCde">
+								<el-table-column prop="sczl_冲定额" width="150" />
+							</el-table>
+						</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 prop="Gd_cpmc" label="印件名称" width="450" />
+								<el-table-column prop="jyGx" label="检验工序" width="85" />
+								<el-table-column prop="Gy0_gxmc" label="工序名称" width="225" />
+							</el-table>
+						</el-dialog>
+
+						<template #footer>
+							<div class="dialog-footer">
+								<el-button @click="closeDialog">取 消</el-button>
+								<el-button type="primary" @click="enterDialog">确 定</el-button>
+							</div>
+						</template>
+					</el-dialog>
+
+					<el-dialog v-model="GetDedhVisible" title="选择" destroy-on-close width="600px">
+						<el-aside width="250px">
+							<div class="JKWTree-tree">
+								<el-tree :data="GetDedhtreeData" :props="defaultProps" highlight-current="true"
+									@node-click="GetDedhhandleNodeClick"
+									@node-dblclick="handleNodeDoubleClick"></el-tree>
+							</div>
+						</el-aside>
+					</el-dialog>
+
+
+
+
+					<el-dialog v-model="LbVisible" title="选择" destroy-on-close width="200px"
+						@keydown="selectJY($event)">
+						<el-table tooltip-effect="dark" :data="selectDataLb" row-key="ID" highlight-current-row="true"
+							border style="width:100%" :row-style="{ height: '30px' }" @row-dblclick="SelectClickLb"
+							ref="table3">
+							<el-table-column prop="sczl_检验类别" label="可选名称" width="150" />
+						</el-table>
+					</el-dialog>
+					
+					<!-- 员工选择 -->
+					<el-dialog v-model="dialogSelectVisible_Yg" title="选择" destroy-on-close width="300px"
+						@keydown="selectGX_Yg($event)">
+						<el-table tooltip-effect="dark" :data="selectData_Yg" row-key="ID" highlight-current-row="true"
+							border style="width:100%" @row-dblclick="handleSelectClick_Yg" ref="table_Yg">
+							<el-table-column prop="员工编号" label="员工编号" width="100" />
+							<el-table-column prop="ygxm" label="员工姓名" width="200" />
+						</el-table>
+					</el-dialog>
+
+				</el-main>
+			</el-container>
+		</el-container>
+
+	</div>
+</template>
+
+<script setup>
+	import {
+		getDateList,
+		getInspectCount,
+		shougonglocate,
+		shougonggetInfo,
+		shougonggetGxMc,
+		shougonggetDedh,
+		shougonggetScrapFactor,
+		shougongedit,
+		shougongdel,
+		getYg,
+		getInspectCountByGdbh,
+		inspectadd
+	} from '@/api/jixiaoguanli/jitairibaobiao'
+
+	// 全量引入格式化工具 请按需保留
+	import {
+		getDictFunc,
+		formatDate,
+		formatBoolean,
+		filterDict,
+		ReturnArrImg,
+		onDownloadFile
+	} from '@/utils/format'
+	import {
+		ElMessage,
+		ElMessageBox
+	} from 'element-plus'
+	import {
+		Search,
+		Refresh,
+		Download
+	} from '@element-plus/icons-vue'
+	import {
+		ref,
+		reactive,
+		nextTick,
+		onMounted,
+		onBeforeMount
+	} from 'vue'
+	import {
+		getPackingSideTable,
+		getPackingTable
+	} from '@/api/mes_api_gty/myapi'
+	import {
+		Layout,
+		LayoutContent,
+		LayoutHeader,
+		LayoutSider
+	} from '@arco-design/web-vue'
+	import {
+		useUserStore
+	} from '@/pinia/modules/user'
+	const userStore = useUserStore()
+	const sys_id = '[' + userStore.userInfo.userName + '/' + userStore.userInfo.nickName + ']'
+	defineOptions({
+		name: '06-packingDocuments'
+	})
+
+	// 侧边栏数据请求
+	const treeData = reactive([]);
+	const getTabdata = async () => {
+		//接口调用函数
+		const response = await getInspectCount();
+
+		const transformedData = response.data.map(item => ({
+			label: `${item.date.replace(/-/g, '.')}【单据数: ${item.counts}张】`,
+			children: item.sys.map(sysItem => ({
+				label: `${sysItem.sys_id} 【记录数: ${sysItem.count}张】`,
+				params: {
+					date: item.date.replace(/-/g, '.'),
+					sys_id: sysItem.sys_id,
+					total: sysItem.count,
+				},
+			})),
+		}));
+		treeData.splice(0, treeData.length, ...transformedData);
+		displayMod.value = 'date'
+	}
+
+	getTabdata();
+
+	// 自动化生成的字典(可能为空)以及字段
+	const formData = ref({
+		sczl_rq: '',
+		sczl_bzdh: '',
+		sczl_bh0: '',
+		sczl_bh0_name: '',
+		sczl_cl0: '',
+		sczl_fp0: '',
+		sczl_gdbh: '',
+		sczl_yjgx: '',
+		sczl_gxmc: '',
+		yj_yjmc: '',
+		sczl_cl: '',
+		sczl_dedh: '',
+		sczl_检验类别: '',
+		sczl_废品率系数: '',
+		sczl_jsss: '',
+		sczl_冲定额: '',
+		流程单号1: '',
+		流程单号2: '',
+		流程单号3: '',
+		流程单号4: '',
+		流程单号5: '',
+		流程单号6: '',
+		流程单号7: '',
+		流程单号8: '',
+		流程单号9: '',
+		qczl_NumDesc: '',
+		sczl_desc: '',
+		sczl_bh1: '',
+		sczl_bh2: '',
+		sczl_bh3: '',
+		sczl_bh4: '',
+		sczl_bh5: '',
+		sczl_bh6: '',
+		sczl_bh7: '',
+		sczl_bh8: '',
+		sczl_bh9: '',
+		sczl_bh10: '',
+		sczl_bh11: '',
+		sczl_bh12: '',
+		sczl_bh1_name: '',
+		sczl_bh2_name: '',
+		sczl_bh3_name: '',
+		sczl_bh4_name: '',
+		sczl_bh5_name: '',
+		sczl_bh6_name: '',
+		sczl_bh7_name: '',
+		sczl_bh8_name: '',
+		sczl_bh9_name: '',
+		sczl_bh10_name: '',
+		sczl_bh11_name: '',
+		sczl_bh12_name: '',
+		sczl_cl1: '',
+		sczl_cl2: '',
+		sczl_cl3: '',
+		sczl_cl4: '',
+		sczl_cl5: '',
+		sczl_cl6: '',
+		sczl_cl7: '',
+		sczl_cl8: '',
+		sczl_cl9: '',
+		sczl_cl10: '',
+		sczl_cl11: '',
+		sczl_cl12: '',
+		sczl_fp1: '',
+		sczl_fp2: '',
+		sczl_fp3: '',
+		sczl_fp4: '',
+		sczl_fp5: '',
+		sczl_fp6: '',
+		sczl_fp7: '',
+		sczl_fp8: '',
+		sczl_fp9: '',
+		sczl_fp10: '',
+		sczl_fp11: '',
+		sczl_fp12: '',
+	})
+	const initFormData = () => {
+		formData.value = {
+			sczl_rq: '',
+			sczl_bzdh: '',
+			sczl_bh0: '',
+			sczl_bh0_name: '',
+			sczl_cl0: '0.00',
+			sczl_fp0: '0',
+			sczl_gdbh: '',
+			sczl_yjgx: '',
+			sczl_gxmc: '',
+			yj_yjmc: '',
+			sczl_cl: '0',
+			sczl_dedh: '',
+			sczl_检验类别: '',
+			sczl_废品率系数: '0.000',
+			sczl_jsss: '0.00',
+			sczl_冲定额: '',
+			流程单号1: '',
+			流程单号2: '',
+			流程单号3: '',
+			流程单号4: '',
+			流程单号5: '',
+			流程单号6: '',
+			流程单号7: '',
+			流程单号8: '',
+			流程单号9: '',
+			qczl_NumDesc: '',
+			sczl_desc: '',
+			sczl_bh1: '',
+			sczl_bh2: '',
+			sczl_bh3: '',
+			sczl_bh4: '',
+			sczl_bh5: '',
+			sczl_bh6: '',
+			sczl_bh7: '',
+			sczl_bh8: '',
+			sczl_bh9: '',
+			sczl_bh10: '',
+			sczl_bh11: '',
+			sczl_bh12: '',
+			sczl_bh1_name: '',
+			sczl_bh2_name: '',
+			sczl_bh3_name: '',
+			sczl_bh4_name: '',
+			sczl_bh5_name: '',
+			sczl_bh6_name: '',
+			sczl_bh7_name: '',
+			sczl_bh8_name: '',
+			sczl_bh9_name: '',
+			sczl_bh10_name: '',
+			sczl_bh11_name: '',
+			sczl_bh12_name: '',
+			sczl_cl1: '0',
+			sczl_cl2: '0',
+			sczl_cl3: '0',
+			sczl_cl4: '0',
+			sczl_cl5: '0',
+			sczl_cl6: '0',
+			sczl_cl7: '0',
+			sczl_cl8: '0',
+			sczl_cl9: '0',
+			sczl_cl10: '0',
+			sczl_cl11: '0',
+			sczl_cl12: '0',
+			sczl_fp1: '0',
+			sczl_fp2: '0',
+			sczl_fp3: '0',
+			sczl_fp4: '0',
+			sczl_fp5: '0',
+			sczl_fp6: '0',
+			sczl_fp7: '0',
+			sczl_fp8: '0',
+			sczl_fp9: '0',
+			sczl_fp10: '0',
+			sczl_fp11: '0',
+			sczl_fp12: '0',
+		};
+	}
+	// 验证规则
+	const rule = reactive({})
+
+	const elFormRef = ref()
+	const elSearchFormRef = ref()
+
+	// =========== 表格控制部分 ===========
+	const tableData = reactive([])
+	const detailData = reactive([])
+	const total = ref(0)
+	const page = ref(1)
+	const limit = ref(10)
+	const searchInfo = ref('')
+	const params = {
+		type: '',
+		date: '',
+		sys_id: '',
+		gdbh: '',
+	}
+
+	// 分页设置
+	const handleSizeChange = (val) => {
+		switch (params.type) {
+			case 'getTableData':
+				getTableData()
+				break
+			case 'getLocateTable':
+				GetLocate()
+				break
+			default:
+				break
+		}
+	}
+
+	// 页面跳转
+	const handleCurrentChange = (val) => {
+		switch (params.type) {
+			case 'getTableData':
+				getTableData()
+				break
+			case 'getLocateTable':
+				GetLocate()
+				break
+			default:
+				break
+		}
+		console.log(params.type)
+	}
+
+	const getTableData = async () => {
+		// const response = await getDateList(params);
+		// console.log(response)
+		// if (response.code === 0) {
+		//   const processedData = response.data.data.map(item => {
+		//     return {
+		//       ...item,
+		//       combinedProp: item.sczl_gdbh + '--'+item.yj_yjmc,
+		// combinedProp2: item.sczl_yjgx + '-'+item.sczl_gxmc
+		//     };
+		//   });
+		//   tableData.splice(0, tableData.length, ...processedData);
+		// }
+
+		const response = await getDateList({
+			date: params.date,
+			sys_id: params.sys_id,
+			page: page.value.toString(),
+			limit: limit.value.toString(),
+		})
+		if (response.code === 0) {
+			const processedData = response.data.data.map(item => {
+				return {
+					...item,
+					combinedProp: item.sczl_gdbh + '--' + item.yj_yjmc,
+					combinedProp2: item.sczl_yjgx + '-' + item.sczl_gxmc
+				};
+			});
+			tableData.splice(0, tableData.length, ...processedData);
+		}
+	}
+
+	const handleNodeClick = (node, check) => {
+		//存放当前节点的nodeId
+		if (node.params) {
+			params.date = node.params.date.replace(/\./g, '-');
+			params.sys_id = node.params.sys_id;
+			params.type = 'getTableData'
+			total.value = node.params.total;
+			page.value = 1
+			getTableData();
+		}
+	}
+	//定位
+	const GetLocate = async () => {
+		const response = await shougonglocate({
+			gdbh: params.gdbh,
+			page: page.value.toString(),
+			limit: limit.value.toString(),
+		})
+		if (response.code === 0) {
+			const processedData = response.data.rows.map(item => {
+				return {
+					...item,
+					combinedProp: item.sczl_gdbh + '--' + item.yj_yjmc,
+					combinedProp2: item.sczl_yjgx + '-' + item.sczl_gxmc
+				};
+			});
+			total.value = response.data.total
+			tableData.splice(0, tableData.length, ...processedData);
+		}
+	}
+	let positionvalue = ref()
+	// 搜索
+	function onSearch() {
+		params.gdbh = positionvalue.value
+		params.type = 'getLocateTable'
+		page.value = 1
+		GetLocate()
+	}
+	//获取详细信息
+	const GetInfo = async (value) => {
+		const response = await shougonggetInfo({
+			UniqId: value
+		});
+		if (response.code === 0) {
+			formData.value = response.data;
+		}
+	}
+
+	//键盘 input框跳转
+	const ent1 = (event) => {
+		const inputs = document.getElementsByTagName('input');
+		const currentIndex = Array.from(inputs).indexOf(event.target);
+		if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
+			if (event.target.id == '其他备注') {
+				ElMessageBox.confirm('数据存盘?', '提示', {
+					confirmButtonText: '确定',
+					cancelButtonText: '取消',
+					type: 'warning'
+				}).then(() => {
+					enterDialog()
+				})
+			}
+			for (let i = currentIndex + 1; i < inputs.length; i++) {
+				if (!inputs[i].readOnly) {
+					nextTick(() => {
+						inputs[i].focus();
+						inputs[i].select();
+					})
+					break;
+				}
+			}
+			if (event.target.id.substring(0, 2) == 'cl' || event.target.id.substring(0, 2) == 'fp') {
+				ent_sum()
+			}
+		} 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;
+				}
+			}
+			if (event.target.id.substring(0, 2) == 'cl' || event.target.id.substring(0, 2) == 'fp') {
+				ent_sum()
+			}
+		} 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;
+					}
+				}
+				if (event.target.id.substring(0, 2) == 'cl' || event.target.id.substring(0, 2) == 'fp') {
+					ent_sum()
+				}
+			}
+		} 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;
+					}
+				}
+				if (event.target.id.substring(0, 2) == 'cl' || event.target.id.substring(0, 2) == 'fp') {
+					ent_sum()
+				}
+			}
+		} else if (event.keyCode === 39) { // 向右箭头
+			if (event.target.id == '其他备注') {
+				ElMessageBox.confirm('数据存盘?', '提示', {
+					confirmButtonText: '确定',
+					cancelButtonText: '取消',
+					type: 'warning'
+				}).then(() => {
+					enterDialog()
+				})
+			}
+			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;
+					}
+				}
+			}
+			if (event.target.id.substring(0, 2) == 'cl' || event.target.id.substring(0, 2) == 'fp') {
+				ent_sum()
+			}
+		}
+	}
+
+	//追加字体颜色和不可输入
+	const setColorReadonly = (id) => {
+		const newInput = document.getElementById(id)
+		newInput.style.color = 'red';
+		newInput.setAttribute('readonly', true);
+	}
+
+	//追加字体颜色和可输入
+	const unsetColorReadonly = (id) => {
+		const newInput = document.getElementById(id)
+		newInput.style.color = 'black';
+		newInput.removeAttribute('readonly');
+	}
+
+	//日期获得焦点事件
+	const rqHandleFocus = () => {
+		if (formData.value.sczl_rq == '') {
+			formData.value.sczl_rq = new Date().toISOString().split('T')[0]
+		}
+	}
+	const num = ref(0)
+	//班组失去焦点事件
+	const getBzsubmit = () => {
+		//弹出选择
+		const data = [{
+			'sczl_bzdh': 'A班'
+		}, {
+			'sczl_bzdh': 'B班'
+		}]
+		selectDataBz.splice(0, selectDataBz.length, ...data)
+		BzVisible.value = true
+		setCurrent(data[0])
+	}
+	const table = ref()
+	const setCurrent = (row) => {
+		setTimeout(() => {
+			table.value?.setCurrentRow(row)
+			const {
+				sczl_bzdh
+			} = row
+			formData.value.sczl_bzdh = row.sczl_bzdh
+		})
+	}
+	//班组选择
+	const selectDataBz = reactive([])
+	const BzVisible = ref(false)
+	const SelectClickBz = (row, column, event) => {
+		const {
+			sczl_bzdh
+		} = row
+		formData.value.sczl_bzdh = row.sczl_bzdh
+		BzVisible.value = false
+	}
+
+	const selectBZ = (event) => {
+		if (event.keyCode === 40) { // Enter 或向下箭头
+			setCurrent(selectDataBz[1]);
+		} else if (event.keyCode === 38) {
+			setCurrent(selectDataBz[0]);
+		} else if (event.keyCode === 13) {
+			BzVisible.value = false
+		}
+	}
+
+	//冲定额失去焦点事件
+	const getCdesubmit = () => {
+		//弹出选择
+		const data = [{
+			'sczl_冲定额': ''
+		}, {
+			'sczl_冲定额': '是'
+		}]
+		selectDataCde.splice(0, selectDataCde.length, ...data)
+		CdeVisible.value = true
+		setCdeCurrent(data[0])
+	}
+	const tableCde = ref()
+	const setCdeCurrent = (row) => {
+		setTimeout(() => {
+			tableCde.value?.setCurrentRow(row)
+			const {
+				sczl_冲定额
+			} = row
+			formData.value.sczl_冲定额 = row.sczl_冲定额
+		})
+	}
+	//冲定额选择
+	const selectDataCde = reactive([])
+	const CdeVisible = ref(false)
+	const SelectClickCde = (row, column, event) => {
+		const {
+			sczl_冲定额
+		} = row
+		formData.value.sczl_冲定额 = row.sczl_冲定额
+		CdeVisible.value = false
+	}
+
+	const selectCde = (event) => {
+		if (event.keyCode === 40) { // Enter 或向下箭头
+			setCdeCurrent(selectDataCde[1]);
+		} else if (event.keyCode === 38) {
+			setCdeCurrent(selectDataCde[0]);
+		} else if (event.keyCode === 13) {
+			CdeVisible.value = false
+		}
+	}
+
+	//员工编号失去焦点事件
+	const getygsubmit = async (event, inputName) => {
+		let combinedString = 'sczl_bh' + inputName;
+		let value = eval('formData.value.' + combinedString);
+		if (value) {
+			const response = await getYg({
+				sczl_bh: value
+			});
+			console.log(response)
+			if (response.code === 0) {
+				let Bname = 'sczl_bh' + inputName + '_name';
+				formData.value[Bname] = response.data[0].ygxm;
+				//设置姓名样式
+
+				if (inputName > 0) {
+					unsetColorReadonly('cl' + inputName)
+					unsetColorReadonly('fp' + inputName)
+				}
+			}
+		}
+	}
+
+	const ent_sum = () => {
+		let sum = 0;
+		for (var i = 1; i <= 12; i++) {
+			sum += formData.value['sczl_cl' + i] * formData.value['sczl_fp' + i]
+		}
+		formData.value.sczl_cl = sum
+	}
+	
+	let Bname = '';
+	let Bbh = '';
+	let input_name = '';
+	//员工编号键盘事件
+	const ent = (event, inputName) => {
+		input_name = inputName;
+		let combinedString = 'sczl_bh' + inputName;
+		let value = eval('formData.value.' + combinedString);
+
+		if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
+			if (value) {
+				getYg({ sczl_bh: value }).then(response => {
+					if (response.code == 0) {
+						Bname = 'sczl_bh' + inputName + '_name';
+						Bbh = 'sczl_bh' + inputName;
+						if (response.data.length == 1) {
+							formData.value[Bname] = response.data[0].ygxm
+							formData.value[Bbh] = response.data[0].员工编号
+							//设置姓名样式
+							unsetColorReadonly('cl' + inputName)
+							unsetColorReadonly('fp' + inputName)
+							
+							document.getElementById('cl' + inputName).focus()
+							document.getElementById('cl' + inputName).select()
+						} else if (response.data.length > 1) {
+							selectData_Yg.splice(0, selectData_Yg.length, ...response.data)
+							setGXCurrent_Yg(selectData_Yg[0])
+							dialogSelectVisible_Yg.value = true
+						} else {
+							ElMessage({
+								type: 'warning',
+								message: '未查询到该员工'
+							})
+							formData.value['sczl_bh' + inputName + '_name'] = '';
+							formData.value['sczl_cl' + inputName] = '0';
+							formData.value['sczl_fp' + inputName] = '0';
+							
+							//设置姓名样式
+							setColorReadonly('cl' + inputName);
+							setColorReadonly('fp' + inputName);
+							
+							if (inputName != 12) {
+								document.getElementById('bh' + (parseInt(inputName) + 1)).focus()
+								document.getElementById('bh' + (parseInt(inputName) + 1)).select()
+							} else {
+								document.getElementById('其他备注').focus()
+								document.getElementById('其他备注').select()
+							}
+						}
+						
+						
+						
+						// formData.value[Bname] = response.data[0].ygxm;
+						// formData.value[Bbh] = response.data[0].员工编号;
+						// //设置姓名样式
+						// unsetColorReadonly('cl' + inputName)
+						// unsetColorReadonly('fp' + inputName)
+
+						// document.getElementById('cl' + inputName).focus()
+						// document.getElementById('cl' + inputName).select()
+					} else {
+						formData.value['sczl_bh' + inputName + '_name'] = '';
+						formData.value['sczl_cl' + inputName] = '0';
+						formData.value['sczl_fp' + inputName] = '0';
+
+						//设置姓名样式
+						setColorReadonly('cl' + inputName);
+						setColorReadonly('fp' + inputName);
+
+						if (inputName != 12) {
+							document.getElementById('bh' + (parseInt(inputName) + 1)).focus()
+							document.getElementById('bh' + (parseInt(inputName) + 1)).select()
+						} else {
+							document.getElementById('其他备注').focus()
+							document.getElementById('其他备注').select()
+						}
+					}
+				});
+
+			} else {
+				formData.value['sczl_bh' + inputName + '_name'] = '';
+				formData.value['sczl_cl' + inputName] = '0';
+				formData.value['sczl_fp' + inputName] = '0';
+
+				//设置姓名样式
+				setColorReadonly('cl' + inputName);
+				setColorReadonly('fp' + inputName);
+				if (inputName != 12) {
+					document.getElementById('bh' + (parseInt(inputName) + 1)).focus()
+					document.getElementById('bh' + (parseInt(inputName) + 1)).select()
+				} else {
+					document.getElementById('其他备注').focus()
+					document.getElementById('其他备注').select()
+				}
+
+			}
+			ent_sum()
+		} else if (event.keyCode === 38) { // 向上箭头
+			if (inputName != 1) {
+				if (document.getElementById('fp' + (parseInt(inputName) - 1)).readOnly) {
+					document.getElementById('bh' + (parseInt(inputName) - 1)).focus()
+					document.getElementById('bh' + (parseInt(inputName) - 1)).select()
+				} else {
+					document.getElementById('fp' + (parseInt(inputName) - 1)).focus()
+					document.getElementById('fp' + (parseInt(inputName) - 1)).select()
+				}
+			} else {
+				document.getElementById('备注').focus()
+				document.getElementById('备注').select()
+			}
+			ent_sum()
+		} else if (event.keyCode === 8) { // 删除箭头
+			if (event.target.selectionStart === 0) {
+				if (inputName != 1) {
+					if (document.getElementById('fp' + (parseInt(inputName) - 1)).readOnly) {
+						document.getElementById('bh' + (parseInt(inputName) - 1)).focus()
+						document.getElementById('bh' + (parseInt(inputName) - 1)).setSelectionRange(0, 0)
+					} else {
+						document.getElementById('fp' + (parseInt(inputName) - 1)).focus()
+						document.getElementById('fp' + (parseInt(inputName) - 1)).setSelectionRange(0, 0)
+					}
+				} else {
+					document.getElementById('备注').focus()
+					document.getElementById('备注').setSelectionRange(0, 0)
+				}
+				ent_sum()
+			}
+		} else if (event.keyCode === 37) { // 向左箭头
+			if (event.target.selectionStart === 0) {
+				if (inputName != 1) {
+					if (document.getElementById('fp' + (parseInt(inputName) - 1)).readOnly) {
+						document.getElementById('bh' + (parseInt(inputName) - 1)).focus()
+						document.getElementById('bh' + (parseInt(inputName) - 1)).select()
+					} else {
+						document.getElementById('fp' + (parseInt(inputName) - 1)).focus()
+						document.getElementById('fp' + (parseInt(inputName) - 1)).select()
+					}
+				} else {
+					document.getElementById('备注').focus()
+					document.getElementById('备注').select()
+				}
+				ent_sum()
+			}
+		} else if (event.keyCode === 39) { // 向右箭头
+			if (event.target.selectionStart === event.target.value.length) {
+				if (inputName != 12) {
+					document.getElementById('bh' + (parseInt(inputName) + 1)).focus()
+					document.getElementById('bh' + (parseInt(inputName) + 1)).select()
+				} else {
+					document.getElementById('其他备注').focus()
+					document.getElementById('其他备注').select()
+				}
+				ent_sum()
+			}
+		}
+	}
+
+	//员工选择
+	const dialogSelectVisible_Yg = ref(false)
+	const selectData_Yg = reactive([])
+	// 处理选择框
+	const handleSelectClick_Yg = (row, column, event) => {
+		formData.value[Bname] = row.ygxm
+		formData.value[Bbh] = row.员工编号
+		//设置姓名样式
+		unsetColorReadonly('cl' + input_name)
+		unsetColorReadonly('fp' + input_name)
 		
+		document.getElementById('cl' + input_name).focus()
+		document.getElementById('cl' + input_name).select()
+		ent_sum()
+		dialogSelectVisible_Yg.value = false
+	}
+	const currentIndex_Yg = ref(0);
+	const GXCurrent_Yg = ref(0);
+	const selectGX_Yg = (event) => {
+		if (event.keyCode === 40) { // 向下箭头
+			if (currentIndex_Yg.value < selectData_Yg.length - 1) {
+				currentIndex_Yg.value++;
+				setGXCurrent_Yg(selectData_Yg[currentIndex_Yg.value]);
+			} else {
+				currentIndex_Yg.value = 0;
+				setGXCurrent_Yg(selectData_Yg[currentIndex_Yg.value]); // 到达最后一行时回到第一行			
+			}
+		} else if (event.keyCode === 38) { // 向上箭头
+			if (currentIndex_Yg.value > 0) {
+				currentIndex_Yg.value--;
+				setGXCurrent_Yg(selectData_Yg[currentIndex_Yg.value]);
+			} else {
+				currentIndex_Yg.value = selectData_Yg.length - 1;
+				setGXCurrent_Yg(selectData_Yg[currentIndex_Yg.value]); // 到达第一行时回到最后一行
+			}
+		} else if (event.keyCode === 13) { // 回车键
+			dialogSelectVisible_Yg.value = false;
+			
+		}
+	}
+	const table_Yg = ref()
+	const setGXCurrent_Yg = (row) => {
+		setTimeout(() => {
+			table_Yg.value?.setCurrentRow(row)
+			formData.value[Bname] = row.ygxm
+			formData.value[Bbh] = row.员工编号
+			//设置姓名样式
+			unsetColorReadonly('cl' + input_name)
+			unsetColorReadonly('fp' + input_name)
+			
+			document.getElementById('cl' + input_name).focus()
+			document.getElementById('cl' + input_name).select()
+			ent_sum()
+		})
+	}
+
+
+	const getGxMcsubmit = async () => {
+		if (formData.value.sczl_gdbh != '') {
+			const response = await shougonggetGxMc({
+				gdbh: formData.value.sczl_gdbh
+			});
+
+			if (response.code === 0) {
+				if (response.data.length == 0) {
+					ElMessage({
+						type: 'error',
+						message: '查无此编号的工单,请仔细检查后重新输入'
+					})
+					//设置输入框的值为空
+					formData.value.sczl_gdbh = ''
+					formData.value.sczl_yjgx = ''
+					formData.value.sczl_gxmc = ''
+					formData.value.yj_yjmc = ''
+				} else if (response.data.length == 1) {
+					const {
+						Gd_cpmc,
+						Gy0_yjno,
+						Gy0_gxh,
+						Gy0_gxmc,
+						jyGx
+					} = response.data[0]
+					formData.value.yj_yjmc = Gd_cpmc
+					formData.value.sczl_gxmc = Gy0_gxmc
+					formData.value.sczl_yjgx = jyGx
+					setColorReadonly('yjgx');
+					setColorReadonly('gxmc');
+					setColorReadonly('yjmc');
+				} else {
+					if (GetDedhVisible.value) {
+						return false
+					}
+					selectData.splice(0, selectData.length, ...response.data)
+					dialogSelectVisible.value = true
+					setGXCurrent(selectData[0])
+				}
+			}
+		} else {
+			ElMessage({
+				type: 'error',
+				message: '请注意, 工单编号输入空置, 除非有特殊需要!'
+			})
+
+			formData.value.sczl_yjgx = ''
+			formData.value.sczl_gxmc = ''
+			formData.value.yj_yjmc = ''
+		}
+
+
+	}
+	const dialogSelectVisible = ref(false)
+	const selectData = reactive([])
+
+	// 工单选择框
+	const handleSelectClick = (row, column, event) => {
+		const {
+			Gd_cpmc,
+			Gy0_yjno,
+			Gy0_gxh,
+			Gy0_gxmc,
+			jyGx
+		} = row
+		formData.value.yj_yjmc = Gd_cpmc
+		formData.value.sczl_gxmc = Gy0_gxmc
+		formData.value.sczl_yjgx = jyGx
+		setColorReadonly('yjgx');
+		setColorReadonly('gxmc');
+		setColorReadonly('yjmc');
+		dialogSelectVisible.value = false
+	}
+	const currentIndex = ref(0);
+	const GXCurrent = ref(0);
+	const selectGX = (event) => {
+		if (event.keyCode === 40) { // 向下箭头
+			if (currentIndex.value < selectData.length - 1) {
+				currentIndex.value++;
+				setGXCurrent(selectData[currentIndex.value]);
+			} else {
+				currentIndex.value = 0;
+				setGXCurrent(selectData[currentIndex.value]); // 到达最后一行时回到第一行			
+			}
+		} else if (event.keyCode === 38) { // 向上箭头
+			if (currentIndex.value > 0) {
+				currentIndex.value--;
+				setGXCurrent(selectData[currentIndex.value]);
+			} else {
+				currentIndex.value = selectData.length - 1;
+				setGXCurrent(selectData[currentIndex.value]); // 到达第一行时回到最后一行
+			}
+		} else if (event.keyCode === 13) { // 回车键
+			dialogSelectVisible.value = false;
+		}
+	}
+	const table2 = ref()
+	const setGXCurrent = (row) => {
+		setTimeout(() => {
+			table2.value?.setCurrentRow(row)
+			const {
+				Gd_cpmc,
+				Gy0_yjno,
+				Gy0_gxh,
+				Gy0_gxmc,
+				jyGx
+			} = row
+			formData.value.yj_yjmc = Gd_cpmc
+			formData.value.sczl_gxmc = Gy0_gxmc
+			formData.value.sczl_yjgx = jyGx
+		})
+	}
+
+	//定额代号回车事件
+	const getDedhsubmit = () => {
+		if (dialogSelectVisible.value) {
+			return false
+		}
+		if (LbVisible.value) {
+			return false
+		}
+		GetDedh()
+	}
+	let GetDedhtreeData = reactive([]);
+	const GetDedhVisible = ref(false)
+	//获取定额代号
+	const GetDedh = async (value) => {
+		const response = await shougonggetDedh();
+		const treeData = {};
+		// const data = [];
+		// data[0] = response.data;
+		// //判断值是否在选项中存在
+		// const buildTree1 = (node) => {
+		//   const arr = [];
+
+		//   // 如果存在子节点,递归地添加它们
+		//   if (node.bh_mc && Array.isArray(node.bh_mc)) {
+		//     node.bh_mc.forEach(childNode => {
+		//       arr.push(...buildTree1(childNode)); // 递归调用
+		//     });
+		//   }else{
+		// 	  arr.push(node.sys_bh)
+		//   }
+
+		//   return arr;
+		// };
+		// // 构建树形结构的根节点
+		// const Data = data.map(buildTree1);
+
+		if (response.code == 0) {
+			const data = [];
+			data[0] = response.data;
+			// 递归函数来构建树形结构
+			const buildTree = (node) => {
+				const treeNode = {
+					label: node.sys_bh + '【' + node.sys_mc + '】',
+					children: []
+				};
+
+				// 如果存在子节点,递归地添加它们
+				if (node.bh_mc && Array.isArray(node.bh_mc)) {
+					node.bh_mc.forEach(childNode => {
+						treeNode.children.push(buildTree(childNode)); // 递归调用
+					});
+				}
+
+				return treeNode;
+			};
+
+			// 构建树形结构的根节点
+			const treeData = data.map(buildTree);
+
+			GetDedhtreeData = treeData;
+			GetDedhVisible.value = true
+		}
+
+	}
+
+	//定额代号树形结构单机
+	const GetDedhhandleNodeClick = (nodeData, node, component) => {
+		//存放当前节点的nodeId
+		if (!nodeData.children || nodeData.children.length === 0) {
+			// 点击的是子节点
+			formData.value.sczl_dedh = nodeData.label.split("【")[0]
+			GetDedhVisible.value = false
+		}
+		// 执行相应的父节点单击事件处理逻辑
+	}
+
+	//检验类别失去焦点事件
+	const getLbsubmit = () => {
+		if (GetDedhVisible.value) {
+			return false
+		}
+		//弹出选择
+		const data = [{
+			'sczl_检验类别': ''
+		}, {
+			'sczl_检验类别': '正品板'
+		}, {
+			'sczl_检验类别': '次品板'
+		}, {
+			'sczl_检验类别': '废品板'
+		}]
+		selectDataLb.splice(0, selectDataLb.length, ...data)
+		setJYCurrent(selectDataLb[0])
+		LbVisible.value = true
+	}
+
+	//检验类别选择
+	const selectDataLb = reactive([])
+	const LbVisible = ref(false)
+	const SelectClickLb = (row, column, event) => {
+		const {
+			sczl_检验类别
+		} = row
+		formData.value.sczl_检验类别 = row.sczl_检验类别
+
 		//查询废品系数
-		if(row.sczl_检验类别!=''){
+		if (row.sczl_检验类别 != '') {
 			var value = {
-				'gdbh':formData.value.sczl_gdbh,
-				'yjno':parseInt(formData.value.sczl_yjgx.split('-')[0]),
-				'gxh':parseInt(formData.value.sczl_yjgx.split('-')[1]),
-				'type':formData.value.sczl_检验类别
-				}
-			shougonggetScrapFactor(value).then(response=>{
-				if(response.code==0){
-					if(response.data!=null){
+				'gdbh': formData.value.sczl_gdbh,
+				'yjno': parseInt(formData.value.sczl_yjgx.split('-')[0]),
+				'gxh': parseInt(formData.value.sczl_yjgx.split('-')[1]),
+				'type': formData.value.sczl_检验类别
+			}
+			shougonggetScrapFactor(value).then(response => {
+				if (response.code == 0) {
+					if (response.data != null) {
 						formData.value.sczl_废品率系数 = response.data.num;
 					}
 					setColorReadonly('废品率系数')
 				}
 			});
-			
-		}else{
+
+		} else {
 			unsetColorReadonly('废品率系数')
 		}
-  })
-}
-const JYIndex = ref(0);
-const JYCurrent = ref(0);
-const selectJY = (event) => {
-    if (event.keyCode === 40) { // 向下箭头
-        if (JYIndex.value < selectDataLb.length - 1) {
-            JYIndex.value++;
-            setJYCurrent(selectDataLb[JYIndex.value]);
-        } else {
-            JYIndex.value = 0;
-            setJYCurrent(selectDataLb[JYIndex.value]); // 到达最后一行时回到第一行			
-        }
-    } else if (event.keyCode === 38) { // 向上箭头
-        if (JYIndex.value > 0) {
-            JYIndex.value--;
-            setJYCurrent(selectDataLb[JYIndex.value]);
-        } else {
-            JYIndex.value = selectDataLb.length - 1;
-            setJYCurrent(selectDataLb[JYIndex.value]); // 到达第一行时回到最后一行
-        }
-    } else if (event.keyCode === 13) { // 回车键
-        LbVisible.value = false
-    }
-}
-//刷新废品率系数
-const GetScrapFactor = async (value) => {
-  const response = await shougonggetScrapFactor(value);
-  if(response.code==0){
-	const rowIndex = tableData.findIndex(row => row.UniqId === lastCellValue);
-	tableData[rowIndex].sczl_废品率系数 = response.data.num;
-	ElMessage({
-	  type: 'success',
-	  message: '刷新成功',
-	})
-  }else{
-	  ElMessage({
-	    type: 'error',
-	    message: '刷新失败',
-	  })
-  }
-  // console.log(response)
-  // const rowIndex = tableData.findIndex(row => row.UniqId === 123);
-}
-const ADD=ref('0')
-//新增
-function onAdd() {
-	ADD.value='新增'
-	type.value = 'create'
-	if(typeof(lastCellValue)=='number'){
-		GetInfo(lastCellValue)
-	}
-	initFormData()
-	dialogFormVisible.value = true
-	// Productionadd()
-}
-const ScrapFactor={
-	gdbh:'',
-	yjno:'',
-	gxh:'',
-	type:'',
-}
-// 刷新废品率系数
-function onRefresh() {
-	if(params.date=='' || ScrapFactor.gdbh==''){
-		ElMessage({
-		  type: 'warning',
-		  message: '未选中记录',
-		})
-		return
+		LbVisible.value = false
 	}
-	if(ScrapFactor.type==''){
-		ElMessage({
-		  type: 'warning',
-		  message: '该记录检验类别为空',
+	const table3 = ref()
+	const setJYCurrent = (row) => {
+		setTimeout(() => {
+			table3.value?.setCurrentRow(row)
+			const {
+				sczl_检验类别
+			} = row
+			formData.value.sczl_检验类别 = row.sczl_检验类别
+
+			//查询废品系数
+			if (row.sczl_检验类别 != '') {
+				var value = {
+					'gdbh': formData.value.sczl_gdbh,
+					'yjno': parseInt(formData.value.sczl_yjgx.split('-')[0]),
+					'gxh': parseInt(formData.value.sczl_yjgx.split('-')[1]),
+					'type': formData.value.sczl_检验类别
+				}
+				shougonggetScrapFactor(value).then(response => {
+					if (response.code == 0) {
+						if (response.data != null) {
+							formData.value.sczl_废品率系数 = response.data.num;
+						}
+						setColorReadonly('废品率系数')
+					}
+				});
+
+			} else {
+				unsetColorReadonly('废品率系数')
+			}
 		})
-		return
-	}
-	GetScrapFactor(ScrapFactor)
-}
-
-// 更新数据
-const updateDetailData = async() => {
-  const restoredData = {
-   UniqId: lastCellValue,
-   sczl_rq: formData.value.sczl_rq,
-   sczl_bzdh: formData.value.sczl_bzdh,
-   sczl_bh0: formData.value.sczl_bh0,
-   sczl_cl0: formData.value.sczl_cl0,
-   sczl_fp0: formData.value.sczl_fp0,
-   sczl_gdbh: formData.value.sczl_gdbh,
-   sczl_yjgx: formData.value.sczl_yjgx,
-   sczl_gxmc: formData.value.sczl_gxmc,
-   sczl_cl:formData.value.sczl_cl,
-   sczl_dedh: formData.value.sczl_dedh,
-   sczl_检验类别: formData.value.sczl_检验类别,
-   sczl_废品率系数: formData.value.sczl_废品率系数,
-   sczl_jsss: formData.value.sczl_jsss,
-   sczl_冲定额: formData.value.sczl_冲定额,
-   qczl_Num:formData.value.qczl_NumDesc,
-   qczl_NumDesc:formData.value.流程单号1,
-   qczl_NumDesc1: formData.value.流程单号2,
-   qczl_NumDesc2: formData.value.流程单号3,
-   qczl_NumDesc3: formData.value.流程单号4,
-   qczl_NumDesc4: formData.value.流程单号5,
-   qczl_NumDesc5: formData.value.流程单号6,
-   qczl_NumDesc6: formData.value.流程单号7,
-   qczl_NumDesc7: formData.value.流程单号8,
-   qczl_NumDesc8: formData.value.流程单号9,
-   sczl_desc: formData.value.sczl_desc,
-   sczl_bh1: formData.value.sczl_bh1,
-   sczl_bh2: formData.value.sczl_bh2,
-   sczl_bh3:formData.value.sczl_bh3,
-   sczl_bh4: formData.value.sczl_bh4,
-   sczl_bh5: formData.value.sczl_bh5,
-   sczl_bh6: formData.value.sczl_bh6,
-   sczl_bh7: formData.value.sczl_bh7,
-   sczl_bh8: formData.value.sczl_bh8,
-   sczl_bh9: formData.value.sczl_bh9,
-   sczl_bh10: formData.value.sczl_bh10,
-   sczl_bh11: formData.value.sczl_bh11,
-   sczl_bh12: formData.value.sczl_bh12,
-   sczl_cl1: formData.value.sczl_cl1,
-   sczl_cl2: formData.value.sczl_cl2,
-   sczl_cl3: formData.value.sczl_cl3,
-   sczl_cl4: formData.value.sczl_cl4,
-   sczl_cl5: formData.value.sczl_cl5,
-   sczl_cl6: formData.value.sczl_cl6,
-   sczl_cl7: formData.value.sczl_cl7,
-   sczl_cl8: formData.value.sczl_cl8,
-   sczl_cl9: formData.value.sczl_cl9,
-   sczl_cl10: formData.value.sczl_cl10,
-   sczl_cl11:formData.value.sczl_cl11,
-   sczl_cl12: formData.value.sczl_cl12,
-   sczl_fp1: formData.value.sczl_fp1,
-   sczl_fp2: formData.value.sczl_fp2,
-   sczl_fp3: formData.value.sczl_fp3,
-   sczl_fp4: formData.value.sczl_fp4,
-   sczl_fp5: formData.value.sczl_fp5,
-   sczl_fp6: formData.value.sczl_fp6,
-   sczl_fp7: formData.value.sczl_fp7,
-   sczl_fp8: formData.value.sczl_fp8,
-   sczl_fp9: formData.value.sczl_fp9,
-   sczl_fp10: formData.value.sczl_fp10,
-   sczl_fp11: formData.value.sczl_fp11,
-   sczl_fp12: formData.value.sczl_fp12,
-   sys_id:sys_id,
-  }
-  if(ADD.value=='新增'){
-  	 const response = await inspectadd(restoredData);
-  	 // ADD.value='1'
-  	 // console.log(ADD.value)
-  	 ADD.value='0'
-  	 console.log(response)
-  	 if(response.code==0){
-		 ElMessage({
-		   type: 'success',
-		   message: '新增成功',
-		 })
-		 //刷新侧边栏
-		 getTabdata()
-		 if(params.date != ''){
-			 //刷新页面
-			 getTableData()
-		 }
-		 dialogFormVisible.value = false
-  	 }
-  	 
-  }else{
-  	const response = await shougongedit(restoredData);
-	  if(response.code==0){
-	  		 ElMessage({
-	  		   type: 'success',
-	  		   message: '更新成功',
-	  		 })
-	  }
-	  dialogFormVisible.value = false
-  }
-}
-// 删除
-function onDel() {
-	Del()
-}
-
-//删除
-const Del = () => {
-	if(typeof(lastCellValue)=='object'){
-		ElMessage({
-		  type: 'warning',
-		  message: '未选中记录',
+	}
+	const JYIndex = ref(0);
+	const JYCurrent = ref(0);
+	const selectJY = (event) => {
+		if (event.keyCode === 40) { // 向下箭头
+			if (JYIndex.value < selectDataLb.length - 1) {
+				JYIndex.value++;
+				setJYCurrent(selectDataLb[JYIndex.value]);
+			} else {
+				JYIndex.value = 0;
+				setJYCurrent(selectDataLb[JYIndex.value]); // 到达最后一行时回到第一行			
+			}
+		} else if (event.keyCode === 38) { // 向上箭头
+			if (JYIndex.value > 0) {
+				JYIndex.value--;
+				setJYCurrent(selectDataLb[JYIndex.value]);
+			} else {
+				JYIndex.value = selectDataLb.length - 1;
+				setJYCurrent(selectDataLb[JYIndex.value]); // 到达第一行时回到最后一行
+			}
+		} else if (event.keyCode === 13) { // 回车键
+			LbVisible.value = false
+		}
+	}
+	//刷新废品率系数
+	const GetScrapFactor = async (value) => {
+		const response = await shougonggetScrapFactor(value);
+		if (response.code == 0) {
+			const rowIndex = tableData.findIndex(row => row.UniqId === lastCellValue);
+			tableData[rowIndex].sczl_废品率系数 = response.data.num;
+			ElMessage({
+				type: 'success',
+				message: '刷新成功',
+			})
+		} else {
+			ElMessage({
+				type: 'error',
+				message: '刷新失败',
+			})
+		}
+		// console.log(response)
+		// const rowIndex = tableData.findIndex(row => row.UniqId === 123);
+	}
+	const ADD = ref('0')
+	//新增
+	function onAdd() {
+		ADD.value = '新增'
+		type.value = 'create'
+		if (typeof(lastCellValue) == 'number') {
+			GetInfo(lastCellValue)
+		}
+		initFormData()
+		dialogFormVisible.value = true
+		// Productionadd()
+	}
+	const ScrapFactor = {
+		gdbh: '',
+		yjno: '',
+		gxh: '',
+		type: '',
+	}
+	// 刷新废品率系数
+	function onRefresh() {
+		if (params.date == '' || ScrapFactor.gdbh == '') {
+			ElMessage({
+				type: 'warning',
+				message: '未选中记录',
+			})
+			return
+		}
+		if (ScrapFactor.type == '') {
+			ElMessage({
+				type: 'warning',
+				message: '该记录检验类别为空',
+			})
+			return
+		}
+		GetScrapFactor(ScrapFactor)
+	}
+
+	// 更新数据
+	const updateDetailData = async () => {
+		const restoredData = {
+			UniqId: lastCellValue,
+			sczl_rq: formData.value.sczl_rq,
+			sczl_bzdh: formData.value.sczl_bzdh,
+			sczl_bh0: formData.value.sczl_bh0,
+			sczl_cl0: formData.value.sczl_cl0,
+			sczl_fp0: formData.value.sczl_fp0,
+			sczl_gdbh: formData.value.sczl_gdbh,
+			sczl_yjgx: formData.value.sczl_yjgx,
+			sczl_gxmc: formData.value.sczl_gxmc,
+			sczl_cl: formData.value.sczl_cl,
+			sczl_dedh: formData.value.sczl_dedh,
+			sczl_检验类别: formData.value.sczl_检验类别,
+			sczl_废品率系数: formData.value.sczl_废品率系数,
+			sczl_jsss: formData.value.sczl_jsss,
+			sczl_冲定额: formData.value.sczl_冲定额,
+			qczl_Num: formData.value.qczl_NumDesc,
+			qczl_NumDesc: formData.value.流程单号1,
+			qczl_NumDesc1: formData.value.流程单号2,
+			qczl_NumDesc2: formData.value.流程单号3,
+			qczl_NumDesc3: formData.value.流程单号4,
+			qczl_NumDesc4: formData.value.流程单号5,
+			qczl_NumDesc5: formData.value.流程单号6,
+			qczl_NumDesc6: formData.value.流程单号7,
+			qczl_NumDesc7: formData.value.流程单号8,
+			qczl_NumDesc8: formData.value.流程单号9,
+			sczl_desc: formData.value.sczl_desc,
+			sczl_bh1: formData.value.sczl_bh1,
+			sczl_bh2: formData.value.sczl_bh2,
+			sczl_bh3: formData.value.sczl_bh3,
+			sczl_bh4: formData.value.sczl_bh4,
+			sczl_bh5: formData.value.sczl_bh5,
+			sczl_bh6: formData.value.sczl_bh6,
+			sczl_bh7: formData.value.sczl_bh7,
+			sczl_bh8: formData.value.sczl_bh8,
+			sczl_bh9: formData.value.sczl_bh9,
+			sczl_bh10: formData.value.sczl_bh10,
+			sczl_bh11: formData.value.sczl_bh11,
+			sczl_bh12: formData.value.sczl_bh12,
+			sczl_cl1: formData.value.sczl_cl1,
+			sczl_cl2: formData.value.sczl_cl2,
+			sczl_cl3: formData.value.sczl_cl3,
+			sczl_cl4: formData.value.sczl_cl4,
+			sczl_cl5: formData.value.sczl_cl5,
+			sczl_cl6: formData.value.sczl_cl6,
+			sczl_cl7: formData.value.sczl_cl7,
+			sczl_cl8: formData.value.sczl_cl8,
+			sczl_cl9: formData.value.sczl_cl9,
+			sczl_cl10: formData.value.sczl_cl10,
+			sczl_cl11: formData.value.sczl_cl11,
+			sczl_cl12: formData.value.sczl_cl12,
+			sczl_fp1: formData.value.sczl_fp1,
+			sczl_fp2: formData.value.sczl_fp2,
+			sczl_fp3: formData.value.sczl_fp3,
+			sczl_fp4: formData.value.sczl_fp4,
+			sczl_fp5: formData.value.sczl_fp5,
+			sczl_fp6: formData.value.sczl_fp6,
+			sczl_fp7: formData.value.sczl_fp7,
+			sczl_fp8: formData.value.sczl_fp8,
+			sczl_fp9: formData.value.sczl_fp9,
+			sczl_fp10: formData.value.sczl_fp10,
+			sczl_fp11: formData.value.sczl_fp11,
+			sczl_fp12: formData.value.sczl_fp12,
+			sys_id: sys_id,
+		}
+		if (ADD.value == '新增') {
+			const response = await inspectadd(restoredData);
+			// ADD.value='1'
+			// console.log(ADD.value)
+			ADD.value = '0'
+			console.log(response)
+			if (response.code == 0) {
+				ElMessage({
+					type: 'success',
+					message: '新增成功',
+				})
+				//刷新侧边栏
+				getTabdata()
+				if (params.date != '') {
+					//刷新页面
+					getTableData()
+				}
+				dialogFormVisible.value = false
+			}
+
+		} else {
+			const response = await shougongedit(restoredData);
+			if (response.code == 0) {
+				ElMessage({
+					type: 'success',
+					message: '更新成功',
+				})
+			}
+			dialogFormVisible.value = false
+		}
+	}
+	// 删除
+	function onDel() {
+		Del()
+	}
+
+	//删除
+	const Del = () => {
+		if (typeof(lastCellValue) == 'object') {
+			ElMessage({
+				type: 'warning',
+				message: '未选中记录',
+			})
+			return
+		}
+
+		ElMessageBox.confirm(
+			`确认删除这条数据么?`,
+			'警告', {
+				confirmButtonText: '确认',
+				cancelButtonText: '取消',
+				type: 'warning',
+			}
+		).then(async () => {
+			const response = await shougongdel({
+				UniqId: lastCellValue
+			});
+			if (response.code === 0) {
+				ElMessage({
+					type: 'success',
+					message: '删除成功',
+				})
+				//刷新侧边栏
+				getTabdata()
+				//刷新页面
+				getTableData()
+			}
 		})
-		return
+
 	}
-	
-	ElMessageBox.confirm(
-	  `确认删除这条数据么?`,
-	  '警告',
-	  {
-	    confirmButtonText: '确认',
-	    cancelButtonText: '取消',
-	    type: 'warning',
-	  }
-	).then(async() => {
-		const response = await shougongdel({UniqId:lastCellValue});
+	const displayMod = ref('')
+	// 按工单显示
+	function onCountByGdbh() {
+		console.log(displayMod.value)
+		if (displayMod.value === 'date') {
+			displayMod.value = 'gd'
+			CountByGdbh()
+			console.log(displayMod.value)
+		} else {
+			getTabdata()
+		}
+
+		// CountByGdbh()
+	}
+	//按工单显示
+	const CountByGdbh = async () => {
+		const response = await getInspectCountByGdbh();
+		// console.log(response)
 		if (response.code === 0) {
+			console.log(response)
+
+			const transformedData = response.data.map(item => ({
+				label: `${item.sczl_gdbh+item.cpmc}`,
+				children: item.sys.map(sysItem => ({
+					label: `${sysItem.sys_id} 【记录数: ${sysItem.count}张】`,
+					params: {
+						date: item.sczl_gdbh,
+						sys_id: sysItem.sys_id,
+						total: sysItem.count,
+					},
+				})),
+			}));
+			treeData.splice(0, treeData.length, ...transformedData);
+
+		}
+		// getTableData()
+	}
+	// ============== 表格控制部分结束 ===============
+
+	// 获取需要的字典 可能为空 按需保留
+	const setOptions = async () => {}
+
+	// 获取需要的字典 可能为空 按需保留
+	setOptions()
+
+	// 多选数据
+	const multipleSelection = ref([])
+	// 多选
+	const handleSelectionChange = (val) => {
+		if (val.length > 0) {
+			multipleSelection.value = val
+			const lenth = val.length
+			ScrapFactor.gdbh = val[lenth - 1].combinedProp.split('-')[0];
+			const parts = val[lenth - 1].combinedProp2.split('-')
+			ScrapFactor.yjno = parts[0];
+			ScrapFactor.gxh = parts[1];
+			// ScrapFactor.type=val[lenth-1].sczl_检验类别
+			ScrapFactor.type = '正品板'
+			console.log(ScrapFactor)
+			lastCellValue = val[lenth - 1].UniqId
+			console.log(ScrapFactor)
+			val.splice(0, val.length); // 清空 val 数组	
+			console.log(lastCellValue)
+		}
+	}
+
+	// 批量删除控制标记
+	const deleteVisible = ref(false)
+
+	// 多选删除
+	const onDelete = async () => {
+		const ids = []
+		if (multipleSelection.value.length === 0) {
 			ElMessage({
-			  type: 'success',
-			  message: '删除成功',
+				type: 'warning',
+				message: '请选择要删除的数据'
 			})
-			//刷新侧边栏
-			getTabdata()
-			//刷新页面
+			return
+		}
+		multipleSelection.value &&
+			multipleSelection.value.map(item => {
+				ids.push(item.ID)
+			})
+		const res = await deleteCompanyByIds({
+			ids
+		})
+		if (res.code === 0) {
+			ElMessage({
+				type: 'success',
+				message: '删除成功'
+			})
+			if (tableData.value.length === ids.length && page.value > 1) {
+				page.value--
+			}
+			deleteVisible.value = false
 			getTableData()
 		}
-	})
- 
-}
-const displayMod = ref('')
-// 按工单显示
-function onCountByGdbh() {
-	console.log(displayMod.value)
-	if (displayMod.value === 'date') {
-	   displayMod.value = 'gd'	
-	   CountByGdbh()
-	   console.log(displayMod.value)
-	} else {
-	  getTabdata()
-	}
-	
-	// CountByGdbh()
-}
-//按工单显示
-const CountByGdbh = async () => {
-  const response = await getInspectCountByGdbh();
-  // console.log(response)
-  if (response.code === 0) {
-	  console.log(response)
-	  
-	const transformedData = response.data.map(item => ({
-		      label: `${item.sczl_gdbh+item.cpmc}`,
-		      children: item.sys.map(sysItem => ({
-		        label: `${sysItem.sys_id} 【记录数: ${sysItem.count}张】`,
-		        params: {
-		          date: item.sczl_gdbh,
-		          sys_id: sysItem.sys_id,
-		          total: sysItem.count,
-		        },
-		      })),
-		    }));
-		    treeData.splice(0, treeData.length, ...transformedData);
-			
-  }
-  // getTableData()
-}
-// ============== 表格控制部分结束 ===============
-
-// 获取需要的字典 可能为空 按需保留
-const setOptions = async () => {
-}
-
-// 获取需要的字典 可能为空 按需保留
-setOptions()
-
-// 多选数据
-const multipleSelection = ref([])
-// 多选
-const handleSelectionChange = (val) => {
-  if(val.length>0){
-  	multipleSelection.value = val
-  	const lenth=val.length
-  	ScrapFactor.gdbh=val[lenth-1].combinedProp.split('-')[0];
-  	const parts = val[lenth-1].combinedProp2.split('-')
-  	ScrapFactor.yjno=parts[0];
-  	ScrapFactor.gxh=parts[1];
-  	// ScrapFactor.type=val[lenth-1].sczl_检验类别
-	ScrapFactor.type='正品板'
-  	console.log(ScrapFactor)
-  	lastCellValue=val[lenth-1].UniqId
-  	console.log(ScrapFactor)
-  	val.splice(0, val.length);  // 清空 val 数组	
-  	console.log(lastCellValue)
-  }
-}
-
-// 批量删除控制标记
-const deleteVisible = ref(false)
-
-// 多选删除
-const onDelete = async () => {
-  const ids = []
-  if (multipleSelection.value.length === 0) {
-    ElMessage({
-      type: 'warning',
-      message: '请选择要删除的数据'
-    })
-    return
-  }
-  multipleSelection.value &&
-    multipleSelection.value.map(item => {
-      ids.push(item.ID)
-    })
-  const res = await deleteCompanyByIds({ ids })
-  if (res.code === 0) {
-    ElMessage({
-      type: 'success',
-      message: '删除成功'
-    })
-    if (tableData.value.length === ids.length && page.value > 1) {
-      page.value--
-    }
-    deleteVisible.value = false
-    getTableData()
-  }
-}
-
-// 行为控制标记(弹窗内部需要增还是改)
-const type = ref('')
-
-// 更新行
-const updateCompanyFunc = async (row) => {
-  const res = await findCompany({ ID: row.ID })
-  type.value = 'update'
-  if (res.code === 0) {
-    formData.value = res.data.recompany
-    dialogFormVisible.value = true
-  }
-}
-
-// 弹窗控制标记
-const dialogFormVisible = ref(false)
-
-// 打开弹窗
-const openDialog = () => {
-  type.value = 'create'
-  dialogFormVisible.value = true
-}
-
-// 关闭弹窗
-const closeDialog = () => {
-  dialogFormVisible.value = false
-  formData.value = {
-    address: '',
-    image: '',
-    name: '',
-  }
-}
-// 弹窗确定
-const enterDialog = async () => {
-  ElMessageBox.confirm('数据存盘?', '提示', {
-            confirmButtonText: '确定',
-            cancelButtonText: '取消',
-            type: 'warning'
-          }).then(() => {
-  			
-  			if(formData.value.sczl_rq==''){
-  				ElMessage({
-  					type: 'error',
-  					message: '请填写日期'
-  				});
-  				document.getElementById('日期').focus()
-  				document.getElementById('日期').select()
-  				return;
-  			}
-			if(formData.value.sczl_gdbh==''){
-				ElMessage({
-					type: 'error',
-					message: '请填写工单编号'
-				});
-				document.getElementById('工单编号').focus()
-				document.getElementById('工单编号').select()
-				return;
-			}
-  			if(formData.value.sczl_bzdh==''){
-  				ElMessage({
-  					type: 'error',
-  					message: '请选择班组'
-  				});
-  				document.getElementById('组别').focus()
-  				document.getElementById('组别').select()
-  				return;
-  			}
-  			if(formData.value.sczl_dedh==''){
-  				ElMessage({
-  					type: 'error',
-  					message: '请选择定额代号'
-  				});
-  				document.getElementById('定额代号').focus()
-  				document.getElementById('定额代号').select()
-  				return;
-  			}
-            updateDetailData()
-          });
-}
-let tables=ref(5);
-let lastCellValue=ref()
-// 双击表格操作
-function doubleClick(row, column, event) {
-	type.value = 'update';
-  	lastCellValue= row['UniqId'];
-  	tables.value=lastCellValue
-  	dialogFormVisible.value = true
-    GetInfo(tables.value)
-}
-// 单击表格操作
-function Click(row, column, event) {
-    lastCellValue= row['UniqId'];
-	console.log(row)
-	const parts = row['sczl_yjgx'].split('-')
-	ScrapFactor.yjno=parts[0]
-	ScrapFactor.gdbh=row['sczl_gdbh']
-	ScrapFactor.type=row['sczl_检验类别']
-	ScrapFactor.gxh=parts[1]
-   console.log(lastCellValue)
-
-}
-// 导出excel
-function exportExcel() {
-  console.log('导出到excel');
-}
-
-// 生命周期钩子
-onMounted(async () => {
-});
-</script>
-
-<style>
-.JKWTree-container {
-  display: flex;
-}
-
-.JKWTree-tree {
-  width: 300px;
-  background-color: #fff;
-  padding: 10px;
-  margin-right: 20px;
-}
-
-.JKWTree-tree h3 {
-  font-size: 15px;
-  font-weight: 700;
-  margin: 10px 0;
-}
-
-.JKWTree-content {
-  flex: 1;
-}
-
-/* 选中某行时的背景色*/
-.el-table__body tr.current-row>td {
-  background: #ff80ff !important;
-  /* 背景颜色 */
-}
-</style>
-<style scoped>
-:deep(.el-table td .cell) {
-  line-height: 20px !important;
-}
-:deep(.el-tabs__header){
-  margin-bottom: 0;
-}
-.search{
-  margin-left: 0px !important;
-  margin-right: 10px !important;
-}
-.bt{
-  margin-left: 2px !important;
-  padding: 3px !important;
-  font-size: 12px;
-}
-.el-tabs__header{
-  margin: 0px !important;
-}
-.gva-table-box{
-  padding: 0px !important;
-}
-.mab{
-  margin-bottom: 5px;
-}
+	}
+
+	// 行为控制标记(弹窗内部需要增还是改)
+	const type = ref('')
+
+	// 更新行
+	const updateCompanyFunc = async (row) => {
+		const res = await findCompany({
+			ID: row.ID
+		})
+		type.value = 'update'
+		if (res.code === 0) {
+			formData.value = res.data.recompany
+			dialogFormVisible.value = true
+		}
+	}
+
+	// 弹窗控制标记
+	const dialogFormVisible = ref(false)
+
+	// 打开弹窗
+	const openDialog = () => {
+		type.value = 'create'
+		dialogFormVisible.value = true
+	}
+
+	// 关闭弹窗
+	const closeDialog = () => {
+		dialogFormVisible.value = false
+		formData.value = {
+			address: '',
+			image: '',
+			name: '',
+		}
+	}
+	// 弹窗确定
+	const enterDialog = async () => {
+		ElMessageBox.confirm('数据存盘?', '提示', {
+			confirmButtonText: '确定',
+			cancelButtonText: '取消',
+			type: 'warning'
+		}).then(() => {
+
+			if (formData.value.sczl_rq == '') {
+				ElMessage({
+					type: 'error',
+					message: '请填写日期'
+				});
+				document.getElementById('日期').focus()
+				document.getElementById('日期').select()
+				return;
+			}
+			if (formData.value.sczl_gdbh == '') {
+				ElMessage({
+					type: 'error',
+					message: '请填写工单编号'
+				});
+				document.getElementById('工单编号').focus()
+				document.getElementById('工单编号').select()
+				return;
+			}
+			if (formData.value.sczl_bzdh == '') {
+				ElMessage({
+					type: 'error',
+					message: '请选择班组'
+				});
+				document.getElementById('组别').focus()
+				document.getElementById('组别').select()
+				return;
+			}
+			if (formData.value.sczl_dedh == '') {
+				ElMessage({
+					type: 'error',
+					message: '请选择定额代号'
+				});
+				document.getElementById('定额代号').focus()
+				document.getElementById('定额代号').select()
+				return;
+			}
+			updateDetailData()
+		});
+	}
+	let tables = ref(5);
+	let lastCellValue = ref()
+	// 双击表格操作
+	function doubleClick(row, column, event) {
+		type.value = 'update';
+		lastCellValue = row['UniqId'];
+		tables.value = lastCellValue
+		dialogFormVisible.value = true
+		GetInfo(tables.value)
+	}
+	// 单击表格操作
+	function Click(row, column, event) {
+		lastCellValue = row['UniqId'];
+		console.log(row)
+		const parts = row['sczl_yjgx'].split('-')
+		ScrapFactor.yjno = parts[0]
+		ScrapFactor.gdbh = row['sczl_gdbh']
+		ScrapFactor.type = row['sczl_检验类别']
+		ScrapFactor.gxh = parts[1]
+		console.log(lastCellValue)
+
+	}
+	// 导出excel
+	function exportExcel() {
+		console.log('导出到excel');
+	}
+
+	// 生命周期钩子
+	onMounted(async () => {});
+</script>
+
+<style>
+	.JKWTree-container {
+		display: flex;
+	}
+
+	.JKWTree-tree {
+		width: 300px;
+		background-color: #fff;
+		padding: 10px;
+		margin-right: 20px;
+	}
+
+	.JKWTree-tree h3 {
+		font-size: 15px;
+		font-weight: 700;
+		margin: 10px 0;
+	}
+
+	.JKWTree-content {
+		flex: 1;
+	}
+
+	/* 选中某行时的背景色*/
+	.el-table__body tr.current-row>td {
+		background: #ff80ff !important;
+		/* 背景颜色 */
+	}
+</style>
+<style scoped>
+	:deep(.el-table td .cell) {
+		line-height: 20px !important;
+	}
+
+	:deep(.el-tabs__header) {
+		margin-bottom: 0;
+	}
+
+	.search {
+		margin-left: 0px !important;
+		margin-right: 10px !important;
+	}
+
+	.bt {
+		margin-left: 2px !important;
+		padding: 3px !important;
+		font-size: 12px;
+	}
+
+	.el-tabs__header {
+		margin: 0px !important;
+	}
+
+	.gva-table-box {
+		padding: 0px !important;
+	}
+
+	.mab {
+		margin-bottom: 5px;
+	}
 </style>