Эх сурвалжийг харах

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

曹鹤洋 1 жил өмнө
parent
commit
c81894ef4c

+ 18 - 0
src/api/jixiaoguanli/jitairibaobiao.js

@@ -1127,3 +1127,21 @@ export const getTimelist = (params) => {
     params
   })
 }
+
+// 检品机日产量上报
+export const JpUploade = (data) => {
+  return service({
+    url: '/mes_server/reporting_work/JpUploade',
+    method: 'post',
+    data
+  })
+}
+
+
+export const JPmachineDetail = (params) => {
+  return service({
+    url: '/mes_server/facility/JPmachineDetail',
+    method: 'get',
+    params
+  })
+}

+ 2939 - 2235
src/view/performance/Dayreports.vue

@@ -1,2250 +1,2954 @@
 <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-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="delete" @click="onDel">删除</el-button>
-							<el-button type="primary" class="bt" @click="synchronous">同步</el-button>
-							<div style="margin-left: auto;">
-								<el-button type="primary" class="bt" 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 :row-style="{ height: '0px' }"
-							:header-row-style="{ height: '20px' }" :header-cell-style="{ padding: '0px' }"
-							:show-overflow-tooltip="true" @row-click="Click" @selection-change="handleSelectionChange"
-							@row-dblclick="doubleClick">
-							<!-- <el-table-column type="selection" width="55" /> -->
-							<el-table-column fixed align="left" sortable label="工单编号" prop="sczl_gdbh" width="105" />
-							<el-table-column fixed align="left" sortable label="产品名称" prop="Gd_cpmc" width="250" />
-							<el-table-column align="left" sortable label="印件及工序" prop="jyno_gxmc" width="120" />
-							<el-table-column align="left" sortable label="生产日期" prop="sczl_rq" width="120" />
-							<el-table-column align="left" sortable label="机台" prop="sczl_jtbh" width="77" />
-							<el-table-column align="left" sortable label="班组" prop="sczl_bzdh" width="77" />
-							<el-table-column align="left" sortable label="流程单" prop="sczl_num" width="91" />
-							<el-table-column align="left" sortable label="车头产量" prop="sczl_cl" width="120" />
-							<el-table-column align="left" sortable label="色度数" prop="sczl_ms" width="91" />
-							<el-table-column align="left" sortable label="制程废" prop="sczl_zcfp" width="91" />
-							<el-table-column align="left" sortable label="次品" prop="sczl_zccp" width="77" />
-							<el-table-column align="left" sortable label="来料异常" prop="incomingerror" width="105" />
-							<el-table-column align="left" sortable label="装版工时" prop="sczl_装版工时" width="105" />
-							<el-table-column align="left" sortable label="保养工时" prop="sczl_保养工时" width="105" />
-							<el-table-column align="left" sortable label="打样工时" prop="sczl_打样工时" width="105" />
-							<el-table-column align="left" sortable label="异常停机工时" prop="sczl_异常停机工时" width="133" />
-							<el-table-column align="left" sortable label="设备运行工时" prop="sczl_设备运行工时" width="133" />
-							<el-table-column align="left" sortable label="组员编号1" prop="sczl_bh1" width="113" />
-							<el-table-column align="left" sortable label="组员姓名1" prop="name1" width="113" />
-							<el-table-column align="left" sortable label="组员编号2" prop="sczl_bh2" width="113" />
-							<el-table-column align="left" sortable label="组员姓名2" prop="name2" width="113" />
-							<el-table-column align="left" sortable label="组员编号3" prop="sczl_bh3" width="113" />
-							<el-table-column align="left" sortable label="组员姓名3" prop="name3" width="113" />
-							<el-table-column align="left" sortable label="组员编号4" prop="sczl_bh4" width="113" />
-							<el-table-column align="left" sortable label="组员姓名4" prop="name4" width="113" />
-							<el-table-column align="left" sortable label="组员编号5" prop="sczl_bh5" width="113" />
-							<el-table-column align="left" sortable label="组员姓名5" prop="name5" width="113" />
-							<el-table-column align="left" sortable label="组员编号6" prop="sczl_bh6" width="113" />
-							<el-table-column align="left" sortable label="组员姓名6" prop="name6" width="113" />
-							<el-table-column align="left" sortable label="拆片联拼系数" prop="拆片联拼系数" width="133" />
-							<el-table-column align="left" sortable label="拆片条小盒系数" prop="拆片条小盒系数" width="147" />
-							<el-table-column align="left" sortable label="工价系数" prop="sczl_工价系数" width="105" />
-							<el-table-column align="left" sortable label="日定额" prop="日定额" width="91" />
-							<el-table-column align="left" sortable label="千件工价" prop="千件工价" width="105" />
-							<el-table-column align="left" sortable label="补产标准" prop="补产标准" width="105" />
-							<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="100" />
-							<!-- <el-table-column align="left" label="table_type"  prop="table_type" width="120"/> -->
-							<tbody>
-								<tr v-for="row in filteredRows" :key="row.sczl_gdbh">
-									<td>{{ row.sczl_gdbh }}</td>
-									<td>{{ row.sczl_rq }}</td>
-									<td>{{ row.sczl_bzdh }}</td>
-									<td>{{ row.sczl_cl }}</td>
-									<!-- 其他列 -->
-								</tr>
-							</tbody>
-						</el-table>
-						<!-- 分页 -->
-						<!-- <div class="gva-pagination">
+  <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-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="delete" @click="onDel"
+                >删除</el-button
+              >
+              <el-button type="primary" class="bt" @click="synchronous"
+                >同步</el-button
+              >
+              <div style="margin-left: auto">
+                <el-button
+                  type="primary"
+                  class="bt"
+                  icon="download"
+                  @click="exportToExcel2"
+                  >导出到Excel</el-button
+                >
+              </div>
+            </el-form-item>
+            <!-- 数据展示 -->
+            <el-table
+              ref="multipleTable"
+              style="width: 100%"
+              tooltip-effect="dark"
+              :data="tableData"
+              id="tab"
+              row-key="ID"
+              highlight-current-row="true"
+              border
+              :row-style="{ height: '0px' }"
+              :header-row-style="{ height: '20px' }"
+              :header-cell-style="{ padding: '0px' }"
+              :show-overflow-tooltip="true"
+              @row-click="Click"
+              @selection-change="handleSelectionChange"
+              @row-dblclick="doubleClick"
+            >
+              <!-- <el-table-column type="selection" width="55" /> -->
+              <el-table-column
+                fixed
+                align="left"
+                sortable
+                label="工单编号"
+                prop="sczl_gdbh"
+                width="105"
+              />
+              <el-table-column
+                fixed
+                align="left"
+                sortable
+                label="产品名称"
+                prop="Gd_cpmc"
+                width="250"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="印件及工序"
+                prop="jyno_gxmc"
+                width="120"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="生产日期"
+                prop="sczl_rq"
+                width="120"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="机台"
+                prop="sczl_jtbh"
+                width="77"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="班组"
+                prop="sczl_bzdh"
+                width="77"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="流程单"
+                prop="sczl_num"
+                width="91"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="车头产量"
+                prop="sczl_cl"
+                width="120"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="色度数"
+                prop="sczl_ms"
+                width="91"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="制程废"
+                prop="sczl_zcfp"
+                width="91"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="次品"
+                prop="sczl_zccp"
+                width="77"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="来料异常"
+                prop="incomingerror"
+                width="105"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="装版工时"
+                prop="sczl_装版工时"
+                width="105"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="保养工时"
+                prop="sczl_保养工时"
+                width="105"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="打样工时"
+                prop="sczl_打样工时"
+                width="105"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="异常停机工时"
+                prop="sczl_异常停机工时"
+                width="133"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="设备运行工时"
+                prop="sczl_设备运行工时"
+                width="133"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="组员编号1"
+                prop="sczl_bh1"
+                width="113"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="组员姓名1"
+                prop="name1"
+                width="113"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="组员编号2"
+                prop="sczl_bh2"
+                width="113"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="组员姓名2"
+                prop="name2"
+                width="113"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="组员编号3"
+                prop="sczl_bh3"
+                width="113"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="组员姓名3"
+                prop="name3"
+                width="113"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="组员编号4"
+                prop="sczl_bh4"
+                width="113"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="组员姓名4"
+                prop="name4"
+                width="113"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="组员编号5"
+                prop="sczl_bh5"
+                width="113"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="组员姓名5"
+                prop="name5"
+                width="113"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="组员编号6"
+                prop="sczl_bh6"
+                width="113"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="组员姓名6"
+                prop="name6"
+                width="113"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="拆片联拼系数"
+                prop="拆片联拼系数"
+                width="133"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="拆片条小盒系数"
+                prop="拆片条小盒系数"
+                width="147"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="工价系数"
+                prop="sczl_工价系数"
+                width="105"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="日定额"
+                prop="日定额"
+                width="91"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="千件工价"
+                prop="千件工价"
+                width="105"
+              />
+              <el-table-column
+                align="left"
+                sortable
+                label="补产标准"
+                prop="补产标准"
+                width="105"
+              />
+              <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="100"
+              />
+              <!-- <el-table-column align="left" label="table_type"  prop="table_type" width="120"/> -->
+              <tbody>
+                <tr v-for="row in filteredRows" :key="row.sczl_gdbh">
+                  <td>{{ row.sczl_gdbh }}</td>
+                  <td>{{ row.sczl_rq }}</td>
+                  <td>{{ row.sczl_bzdh }}</td>
+                  <td>{{ row.sczl_cl }}</td>
+                  <!-- 其他列 -->
+                </tr>
+              </tbody>
+            </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 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="1200px">
-						<!-- <el-scrollbar height="500px"> -->
-						<el-form :model="formData" label-position="right" ref="elFormRef" label-width="120px"
-							:rules="rule">
-							<el-row :gutter="24">
-								<el-col :span="6">
-									<el-form-item label="工单编号:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_gdbh" id="工单编号" placeholder="Enter回车"
-											@blur="getCPMCsubmit()" @keydown="ent1($event)" :clearable="true" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="18">
-									<el-form-item label="产品名称:" prop="perTenThousand" class="mab" label-width="150">
-										<el-input v-model="formData.Gd_cpmc" id="产品名称" @keydown="ent1($event)"
-											:clearable="true" />
-									</el-form-item>
-								</el-col>
-
-							</el-row>
-							<el-row :gutter="24">
-								<el-col :span="6">
-									<el-form-item label="印件号:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_yjno" id="印件号" @focus="yjnoHandleFocus()"
-											@blur="getYJMCsubmit()" @keydown="ent1($event)" :clearable="true" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="18">
-									<el-form-item label="印件名称:" prop="perTenThousand" class="mab" label-width="150">
-										<el-input v-model="formData.yj_yjmc" id="印件名称" @keydown="ent1($event)"
-											:clearable="true" />
-									</el-form-item>
-								</el-col>
-							</el-row>
-
-							<el-row :gutter="24">
-								<el-col :span="14">
-									<el-form-item label="工序名称:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_gxmc" id="工序名称" @focus="gxmcHandleFocus()"
-											@blur="getGXsubmit()" @keydown="ent1($event)" :clearable="true"
-											style="width: 350px;" />
-										<el-input v-model="formData.sczl_gxh" id="工序号" :readonly=true :clearable="true"
-											style="width: 50px; margin-left: 10px;" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="10">
-									<el-form-item label="工艺名称:" prop="perTenThousand" class="mab">
-										<el-input v-model="formData.sczl_type" id="工艺名称" :readonly=true
-											:clearable="true" style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-							</el-row>
-
-							<el-row :gutter="24">
-								<el-col :span="6">
-									<el-form-item label="日期:" prop="flatFeed" class="mab">
-										<el-input type="date" max="9999-12-31" v-model="formData.sczl_rq" id="日期"
-											@focus="rqHandleFocus()" @keydown="ent1($event)" :clearable="true"
-											style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="8">
-									<el-form-item label="机器:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_jtbh" id="机器" @keydown="ent1($event)"
-											@blur="getJtbhsubmit()" :clearable="true" style="width: 100px;" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="10">
-									<el-form-item label="组别:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_bzdh" id="组别" @keydown="ent1($event)"
-											@blur="getBzsubmit()" :clearable="true" style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-							</el-row>
-
-							<el-row :gutter="24">
-								<el-col :span="6">
-									<el-form-item label="墨色:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_ms" id="墨色" @keydown="ent1($event)"
-											:clearable="true" style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="8">
-									<el-form-item label="加工联数:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_ls" id="加工联数" @keydown="ent1($event)"
-											:clearable="true" style="width: 100px; margin-right: 30px;" />
-										<el-input v-model="mult1" id="mult1" @keydown="ent1($event)" @blur="mult()"
-											style="width: 50px;" />X
-										<el-input v-model="mult2" id="mult2" @keydown="ent1($event)" @blur="mult()"
-											style="width: 60px;" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="5">
-									<el-form-item label="产量:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_cl" id="产量" @keydown="ent1($event)"
-											:clearable="true" style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="5">
-									<el-form-item label="制程废品:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_zcfp" id="制程废品" @keydown="ent1($event)"
-											:clearable="true" style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-							</el-row>
-
-							<el-row :gutter="24">
-								<el-col :span="6">
-									<el-form-item label="装版总工时:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_装版总工时" id="装版总工时" @keydown="ent1($event)"
-											:clearable="true" style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="8">
-									<el-form-item label="装版补产工时:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_装版工时" id="装版补产工时" @keydown="ent1($event)"
-											:clearable="true" style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="5">
-									<el-form-item label="保养工时:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_保养工时" id="保养工时" @keydown="ent1($event)"
-											:clearable="true" style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="5">
-									<el-form-item label="异常停机:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_异常停机工时" id="异常停机" @keydown="ent1($event)"
-											:clearable="true" style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-							</el-row>
-
-							<el-row :gutter="24">
-
-								<el-col :span="6">
-									<el-form-item label="打样总工时:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_打样总工时" id="打样总工时" @keydown="ent1($event)"
-											:clearable="true" style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="8">
-									<el-form-item label="打样补产工时:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_打样工时" id="打样补产工时"
-											@keydown="ent1($event, '打样总工时', '打样补产工时', '通电时间')" :clearable="true"
-											style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="10">
-									<el-form-item label="通电时间:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_设备运行工时" id="通电时间"
-											@keydown="ent1($event, '打样补产工时', '通电时间', '拆片联拼系数')" :clearable="true"
-											style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-							</el-row>
-
-							<el-row :gutter="24" style="height:40px">
-								<el-col :span="14" v-if="showFormItems">
-									<el-form-item label="拆片联拼系数:" prop="flatFeed" class="mab" label-width="417px">
-										<el-input v-model="formData.拆片联拼系数" id="拆片联拼系数"
-											@keydown="ent1($event, '通电时间', '拆片联拼系数', '拆片条小盒系数')" :clearable="true"
-											style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="10" v-if="showFormItems">
-									<el-form-item label="拆片条小盒系数:" prop="flatFeed" class="mab">
-										<el-input v-model="formData.拆片条小盒系数" id="拆片条小盒系数"
-											@keydown="ent1($event, '拆片联拼系数', '拆片条小盒系数', '定额代号')" :clearable="true"
-											style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-							</el-row>
-
-							<el-row :gutter="24">
-								<el-col :span="14">
-									<el-form-item label="定额代号:" prop="flatFeed" class="mab" label-width="417px">
-										<el-input v-model="formData.sczl_dedh" id="定额代号"
-											@keydown="ent1($event, '拆片条小盒系数', '定额代号', '工价系数')" @blur="getDedhsubmit()"
-											:clearable="true" style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="5">
-									<el-form-item label="工价系数:" v-if="showFormItems" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_工价系数" id="工价系数"
-											@keydown="ent1($event, '定额代号', '工价系数', '计产系数')" :clearable="true"
-											style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-								<el-col :span="5">
-									<el-form-item label="计产系数:" v-if="showFormItems" prop="flatFeed" class="mab">
-										<el-input v-model="formData.sczl_计产系数" id="计产系数"
-											@keydown="ent1($event, '工价系数', '计产系数', 'sczl_bh1')" :clearable="true"
-											style="width: 200px;" />
-									</el-form-item>
-								</el-col>
-							</el-row>
-
-							<el-row :gutter="22" style="margin-top: 10px;">
-								<el-col :span="2"></el-col>
-								<el-col :span="2"><span>员工姓名1</span></el-col>
-								<el-col :span="2"><span>员工姓名2</span></el-col>
-								<el-col :span="2"><span>员工姓名3</span></el-col>
-								<el-col :span="2"><span>员工姓名4</span></el-col>
-								<el-col :span="2"><span>员工姓名5</span></el-col>
-								<el-col :span="2"><span>员工姓名6</span></el-col>
-								<el-col :span="2"><span>员工姓名7</span></el-col>
-								<el-col :span="2"><span>员工姓名8</span></el-col>
-								<el-col :span="2"><span>员工姓名9</span></el-col>
-								<el-col :span="2"><span><b>特殊组员</b></span></el-col>
-							</el-row>
-
-							<el-row :gutter="22" style="margin-top: 10px;">
-								<el-col :span="2"><span>班组成员</span></el-col>
-								<el-col :span="2">
-									<el-input v-model="formData.sczl_bh1" id="sczl_bh1" @blur="GetYg($event, '1')"
-										@keydown="getGxMcsubmit($event, '1')" />
-								</el-col>
-								<el-col :span="2">
-									<el-input v-model="formData.sczl_bh2" id="sczl_bh2" @blur="GetYg($event, '2')"
-										@keydown="getGxMcsubmit($event, '2')" />
-								</el-col>
-								<el-col :span="2">
-									<el-input v-model="formData.sczl_bh3" id="sczl_bh3" @blur="GetYg($event, '3')"
-										@keydown="getGxMcsubmit($event, '3')" />
-								</el-col>
-								<el-col :span="2">
-									<el-input v-model="formData.sczl_bh4" id="sczl_bh4" @blur="GetYg($event, '4')"
-										@keydown="getGxMcsubmit($event, '4')" />
-								</el-col>
-								<el-col :span="2">
-									<el-input v-model="formData.sczl_bh5" id="sczl_bh5" @blur="GetYg($event, '5')"
-										@keydown="getGxMcsubmit($event, '5')" />
-								</el-col>
-								<el-col :span="2">
-									<el-input v-model="formData.sczl_bh6" id="sczl_bh6" @blur="GetYg($event, '6')"
-										@keydown="getGxMcsubmit($event, '6')" />
-								</el-col>
-								<el-col :span="2">
-									<el-input v-model="formData.sczl_bh7" id="sczl_bh7" @blur="GetYg($event, '7')"
-										@keydown="getGxMcsubmit($event, '7')" />
-								</el-col>
-								<el-col :span="2">
-									<el-input v-model="formData.sczl_bh8" id="sczl_bh8" @blur="GetYg($event, '8')"
-										@keydown="getGxMcsubmit($event, '8')" />
-								</el-col>
-								<el-col :span="2">
-									<el-input v-model="formData.sczl_bh9" id="sczl_bh9" @blur="GetYg($event, '9')"
-										@keydown="getGxMcsubmit($event, '9')" />
-								</el-col>
-								<el-col :span="2">
-									<el-input v-model="formData.sczl_bh10" id="sczl_bh10" @blur="GetYg($event, '10')"
-										@keydown="getGxMcsubmit($event, '10')" />
-								</el-col>
-							</el-row>
-						</el-form>
-
-
-						<el-row :gutter="22" style="margin-top: 10px;">
-							<el-col :span="2"></el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_bh1_name" id="name1" :readonly=true />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_bh2_name" id="name2" :readonly=true />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_bh3_name" id="name3" :readonly=true />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_bh4_name" id="name4" :readonly=true />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_bh5_name" id="name5" :readonly=true />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_bh6_name" id="name6" :readonly=true />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_bh7_name" id="name7" :readonly=true />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_bh8_name" id="name8" :readonly=true />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_bh9_name" id="name9" :readonly=true />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_bh10_name" id="name10" :readonly=true />
-							</el-col>
-						</el-row>
-
-						<el-row :gutter="22" style="margin-top: 10px;">
-							<el-col :span="2"></el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_rate1" id="rate1" @keydown="rate($event, '1')" />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_rate2" id="rate2" @keydown="rate($event, '2')" />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_rate3" id="rate3" @keydown="rate($event, '3')" />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_rate4" id="rate4" @keydown="rate($event, '4')" />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_rate5" id="rate5" @keydown="rate($event, '5')" />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_rate6" id="rate6" @keydown="rate($event, '6')" />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_rate7" id="rate7" @keydown="rate($event, '7')" />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_rate8" id="rate8" @keydown="rate($event, '8')" />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_rate9" id="rate9" @keydown="rate($event, '9')" />
-							</el-col>
-							<el-col :span="2">
-								<el-input v-model="formData.sczl_rate10" id="rate10" @keydown="rate($event, '10')" />
-							</el-col>
-						</el-row>
-
-						<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="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="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="GXVisible" title="选择" destroy-on-close width="800px">
-						<el-table ref="tableRef" tooltip-effect="dark" :data="selectData" row-key="ID"
-							highlight-current-row="true" border style="width:100%" @row-dblclick="SelectClick">
-							<el-table-column prop="sczl_gxmc" label="工序名称" width="750" />
-						</el-table>
-					</el-dialog>
-
-					<el-dialog v-model="JtbhVisible" title="选择" destroy-on-close width="800px">
-						<el-table tooltip-effect="dark" :data="selectDataJtbh" row-key="ID" highlight-current-row="true"
-							border style="width:100%" @row-dblclick="SelectClickJtbh">
-							<el-table-column prop="jtbh" label="设备编号" width="150" />
-							<el-table-column prop="设备名称" label="设备名称" width="600" />
-						</el-table>
-					</el-dialog>
-
-					<el-dialog v-model="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="table2">
-							<el-table-column prop="sczl_bzdh" label="班组" width="150" />
-						</el-table>
-					</el-dialog>
-
-				</el-main>
-			</el-container>
-		</el-container>
-
-	</div>
+            <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="1200px"
+          >
+            <!-- <el-scrollbar height="500px"> -->
+            <el-form
+              :model="formData"
+              label-position="right"
+              ref="elFormRef"
+              label-width="120px"
+              :rules="rule"
+            >
+              <el-row :gutter="24">
+                <el-col :span="6">
+                  <el-form-item label="工单编号:" prop="flatFeed" class="mab">
+                    <el-input
+                      v-model="formData.sczl_gdbh"
+                      id="工单编号"
+                      placeholder="Enter回车"
+                      @blur="getCPMCsubmit()"
+                      @keydown="ent1($event)"
+                      :clearable="true"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="18">
+                  <el-form-item
+                    label="产品名称:"
+                    prop="perTenThousand"
+                    class="mab"
+                    label-width="150"
+                  >
+                    <el-input
+                      v-model="formData.Gd_cpmc"
+                      id="产品名称"
+                      @keydown="ent1($event)"
+                      :clearable="true"
+                    />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-row :gutter="24">
+                <el-col :span="6">
+                  <el-form-item label="印件号:" prop="flatFeed" class="mab">
+                    <el-input
+                      v-model="formData.sczl_yjno"
+                      id="印件号"
+                      @focus="yjnoHandleFocus()"
+                      @blur="getYJMCsubmit()"
+                      @keydown="ent1($event)"
+                      :clearable="true"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="18">
+                  <el-form-item
+                    label="印件名称:"
+                    prop="perTenThousand"
+                    class="mab"
+                    label-width="150"
+                  >
+                    <el-input
+                      v-model="formData.yj_yjmc"
+                      id="印件名称"
+                      @keydown="ent1($event)"
+                      :clearable="true"
+                    />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+
+              <el-row :gutter="24">
+                <el-col :span="14">
+                  <el-form-item label="工序名称:" prop="flatFeed" class="mab">
+                    <el-input
+                      v-model="formData.sczl_gxmc"
+                      id="工序名称"
+                      @focus="gxmcHandleFocus()"
+                      @blur="getGXsubmit()"
+                      @keydown="ent1($event)"
+                      :clearable="true"
+                      style="width: 350px"
+                    />
+                    <el-input
+                      v-model="formData.sczl_gxh"
+                      id="工序号"
+                      :readonly="true"
+                      :clearable="true"
+                      style="width: 50px; margin-left: 10px"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="10">
+                  <el-form-item
+                    label="工艺名称:"
+                    prop="perTenThousand"
+                    class="mab"
+                  >
+                    <el-input
+                      v-model="formData.sczl_type"
+                      id="工艺名称"
+                      :readonly="true"
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+
+              <el-row :gutter="24">
+                <el-col :span="6">
+                  <el-form-item label="日期:" prop="flatFeed" class="mab">
+                    <el-input
+                      type="date"
+                      max="9999-12-31"
+                      v-model="formData.sczl_rq"
+                      id="日期"
+                      @focus="rqHandleFocus()"
+                      @keydown="ent1($event)"
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                  <el-form-item label="机器:" prop="flatFeed" class="mab">
+                    <el-input
+                      v-model="formData.sczl_jtbh"
+                      id="机器"
+                      @keydown="ent1($event)"
+                      @blur="getJtbhsubmit()"
+                      :clearable="true"
+                      style="width: 100px"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="10">
+                  <el-form-item label="组别:" prop="flatFeed" class="mab">
+                    <el-input
+                      v-model="formData.sczl_bzdh"
+                      id="组别"
+                      @keydown="ent1($event)"
+                      @blur="getBzsubmit()"
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+
+              <el-row :gutter="24">
+                <el-col :span="6">
+                  <el-form-item label="墨色:" prop="flatFeed" class="mab">
+                    <el-input
+                      v-model="formData.sczl_ms"
+                      id="墨色"
+                      @keydown="ent1($event)"
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                  <el-form-item label="加工联数:" prop="flatFeed" class="mab">
+                    <el-input
+                      v-model="formData.sczl_ls"
+                      id="加工联数"
+                      @keydown="ent1($event)"
+                      :clearable="true"
+                      style="width: 100px; margin-right: 30px"
+                    />
+                    <el-input
+                      v-model="mult1"
+                      id="mult1"
+                      @keydown="ent1($event)"
+                      @blur="mult()"
+                      style="width: 50px"
+                    />X
+                    <el-input
+                      v-model="mult2"
+                      id="mult2"
+                      @keydown="ent1($event)"
+                      @blur="mult()"
+                      style="width: 60px"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="产量:" prop="flatFeed" class="mab">
+                    <el-input
+                      v-model="formData.sczl_cl"
+                      id="产量"
+                      @keydown="ent1($event)"
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="制程废品:" prop="flatFeed" class="mab">
+                    <el-input
+                      v-model="formData.sczl_zcfp"
+                      id="制程废品"
+                      @keydown="ent1($event)"
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+
+              <el-row :gutter="24">
+                <el-col :span="6">
+                  <el-form-item label="装版总工时:" prop="flatFeed" class="mab">
+                    <el-input
+                      v-model="formData.sczl_装版总工时"
+                      id="装版总工时"
+                      @keydown="ent1($event)"
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                  <el-form-item
+                    label="装版补产工时:"
+                    prop="flatFeed"
+                    class="mab"
+                  >
+                    <el-input
+                      v-model="formData.sczl_装版工时"
+                      id="装版补产工时"
+                      @keydown="ent1($event)"
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="保养工时:" prop="flatFeed" class="mab">
+                    <el-input
+                      v-model="formData.sczl_保养工时"
+                      id="保养工时"
+                      @keydown="ent1($event)"
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="异常停机:" prop="flatFeed" class="mab">
+                    <el-input
+                      v-model="formData.sczl_异常停机工时"
+                      id="异常停机"
+                      @keydown="ent1($event)"
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+
+              <el-row :gutter="24">
+                <el-col :span="6">
+                  <el-form-item label="打样总工时:" prop="flatFeed" class="mab">
+                    <el-input
+                      v-model="formData.sczl_打样总工时"
+                      id="打样总工时"
+                      @keydown="ent1($event)"
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                  <el-form-item
+                    label="打样补产工时:"
+                    prop="flatFeed"
+                    class="mab"
+                  >
+                    <el-input
+                      v-model="formData.sczl_打样工时"
+                      id="打样补产工时"
+                      @keydown="
+                        ent1($event, '打样总工时', '打样补产工时', '通电时间')
+                      "
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="10">
+                  <el-form-item label="通电时间:" prop="flatFeed" class="mab">
+                    <el-input
+                      v-model="formData.sczl_设备运行工时"
+                      id="通电时间"
+                      @keydown="
+                        ent1($event, '打样补产工时', '通电时间', '拆片联拼系数')
+                      "
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+
+              <el-row :gutter="24" style="height: 40px">
+                <el-col :span="14" v-if="showFormItems">
+                  <el-form-item
+                    label="拆片联拼系数:"
+                    prop="flatFeed"
+                    class="mab"
+                    label-width="417px"
+                  >
+                    <el-input
+                      v-model="formData.拆片联拼系数"
+                      id="拆片联拼系数"
+                      @keydown="
+                        ent1(
+                          $event,
+                          '通电时间',
+                          '拆片联拼系数',
+                          '拆片条小盒系数'
+                        )
+                      "
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="10" v-if="showFormItems">
+                  <el-form-item
+                    label="拆片条小盒系数:"
+                    prop="flatFeed"
+                    class="mab"
+                  >
+                    <el-input
+                      v-model="formData.拆片条小盒系数"
+                      id="拆片条小盒系数"
+                      @keydown="
+                        ent1(
+                          $event,
+                          '拆片联拼系数',
+                          '拆片条小盒系数',
+                          '定额代号'
+                        )
+                      "
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+
+              <el-row :gutter="24">
+                <el-col :span="14">
+                  <el-form-item
+                    label="定额代号:"
+                    prop="flatFeed"
+                    class="mab"
+                    label-width="417px"
+                  >
+                    <el-input
+                      v-model="formData.sczl_dedh"
+                      id="定额代号"
+                      @keydown="
+                        ent1($event, '拆片条小盒系数', '定额代号', '工价系数')
+                      "
+                      @blur="getDedhsubmit()"
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item
+                    label="工价系数:"
+                    v-if="showFormItems"
+                    prop="flatFeed"
+                    class="mab"
+                  >
+                    <el-input
+                      v-model="formData.sczl_工价系数"
+                      id="工价系数"
+                      @keydown="
+                        ent1($event, '定额代号', '工价系数', '计产系数')
+                      "
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item
+                    label="计产系数:"
+                    v-if="showFormItems"
+                    prop="flatFeed"
+                    class="mab"
+                  >
+                    <el-input
+                      v-model="formData.sczl_计产系数"
+                      id="计产系数"
+                      @keydown="
+                        ent1($event, '工价系数', '计产系数', 'sczl_bh1')
+                      "
+                      :clearable="true"
+                      style="width: 200px"
+                    />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+
+              <el-row :gutter="22" style="margin-top: 10px">
+                <el-col :span="2"></el-col>
+                <el-col :span="2"><span>员工姓名1</span></el-col>
+                <el-col :span="2"><span>员工姓名2</span></el-col>
+                <el-col :span="2"><span>员工姓名3</span></el-col>
+                <el-col :span="2"><span>员工姓名4</span></el-col>
+                <el-col :span="2"><span>员工姓名5</span></el-col>
+                <el-col :span="2"><span>员工姓名6</span></el-col>
+                <el-col :span="2"><span>员工姓名7</span></el-col>
+                <el-col :span="2"><span>员工姓名8</span></el-col>
+                <el-col :span="2"><span>员工姓名9</span></el-col>
+                <el-col :span="2"
+                  ><span><b>特殊组员</b></span></el-col
+                >
+              </el-row>
+
+              <el-row :gutter="22" style="margin-top: 10px">
+                <el-col :span="2"><span>班组成员</span></el-col>
+                <el-col :span="2">
+                  <el-input
+                    v-model="formData.sczl_bh1"
+                    id="sczl_bh1"
+                    @blur="GetYg($event, '1')"
+                    @keydown="getGxMcsubmit($event, '1')"
+                  />
+                </el-col>
+                <el-col :span="2">
+                  <el-input
+                    v-model="formData.sczl_bh2"
+                    id="sczl_bh2"
+                    @blur="GetYg($event, '2')"
+                    @keydown="getGxMcsubmit($event, '2')"
+                  />
+                </el-col>
+                <el-col :span="2">
+                  <el-input
+                    v-model="formData.sczl_bh3"
+                    id="sczl_bh3"
+                    @blur="GetYg($event, '3')"
+                    @keydown="getGxMcsubmit($event, '3')"
+                  />
+                </el-col>
+                <el-col :span="2">
+                  <el-input
+                    v-model="formData.sczl_bh4"
+                    id="sczl_bh4"
+                    @blur="GetYg($event, '4')"
+                    @keydown="getGxMcsubmit($event, '4')"
+                  />
+                </el-col>
+                <el-col :span="2">
+                  <el-input
+                    v-model="formData.sczl_bh5"
+                    id="sczl_bh5"
+                    @blur="GetYg($event, '5')"
+                    @keydown="getGxMcsubmit($event, '5')"
+                  />
+                </el-col>
+                <el-col :span="2">
+                  <el-input
+                    v-model="formData.sczl_bh6"
+                    id="sczl_bh6"
+                    @blur="GetYg($event, '6')"
+                    @keydown="getGxMcsubmit($event, '6')"
+                  />
+                </el-col>
+                <el-col :span="2">
+                  <el-input
+                    v-model="formData.sczl_bh7"
+                    id="sczl_bh7"
+                    @blur="GetYg($event, '7')"
+                    @keydown="getGxMcsubmit($event, '7')"
+                  />
+                </el-col>
+                <el-col :span="2">
+                  <el-input
+                    v-model="formData.sczl_bh8"
+                    id="sczl_bh8"
+                    @blur="GetYg($event, '8')"
+                    @keydown="getGxMcsubmit($event, '8')"
+                  />
+                </el-col>
+                <el-col :span="2">
+                  <el-input
+                    v-model="formData.sczl_bh9"
+                    id="sczl_bh9"
+                    @blur="GetYg($event, '9')"
+                    @keydown="getGxMcsubmit($event, '9')"
+                  />
+                </el-col>
+                <el-col :span="2">
+                  <el-input
+                    v-model="formData.sczl_bh10"
+                    id="sczl_bh10"
+                    @blur="GetYg($event, '10')"
+                    @keydown="getGxMcsubmit($event, '10')"
+                  />
+                </el-col>
+              </el-row>
+            </el-form>
+
+            <el-row :gutter="22" style="margin-top: 10px">
+              <el-col :span="2"></el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_bh1_name"
+                  id="name1"
+                  :readonly="true"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_bh2_name"
+                  id="name2"
+                  :readonly="true"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_bh3_name"
+                  id="name3"
+                  :readonly="true"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_bh4_name"
+                  id="name4"
+                  :readonly="true"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_bh5_name"
+                  id="name5"
+                  :readonly="true"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_bh6_name"
+                  id="name6"
+                  :readonly="true"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_bh7_name"
+                  id="name7"
+                  :readonly="true"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_bh8_name"
+                  id="name8"
+                  :readonly="true"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_bh9_name"
+                  id="name9"
+                  :readonly="true"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_bh10_name"
+                  id="name10"
+                  :readonly="true"
+                />
+              </el-col>
+            </el-row>
+
+            <el-row :gutter="22" style="margin-top: 10px">
+              <el-col :span="2"></el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_rate1"
+                  id="rate1"
+                  @keydown="rate($event, '1')"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_rate2"
+                  id="rate2"
+                  @keydown="rate($event, '2')"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_rate3"
+                  id="rate3"
+                  @keydown="rate($event, '3')"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_rate4"
+                  id="rate4"
+                  @keydown="rate($event, '4')"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_rate5"
+                  id="rate5"
+                  @keydown="rate($event, '5')"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_rate6"
+                  id="rate6"
+                  @keydown="rate($event, '6')"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_rate7"
+                  id="rate7"
+                  @keydown="rate($event, '7')"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_rate8"
+                  id="rate8"
+                  @keydown="rate($event, '8')"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_rate9"
+                  id="rate9"
+                  @keydown="rate($event, '9')"
+                />
+              </el-col>
+              <el-col :span="2">
+                <el-input
+                  v-model="formData.sczl_rate10"
+                  id="rate10"
+                  @keydown="rate($event, '10')"
+                />
+              </el-col>
+            </el-row>
+
+            <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="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="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="GXVisible"
+            title="选择"
+            destroy-on-close
+            width="800px"
+          >
+            <el-table
+              ref="tableRef"
+              tooltip-effect="dark"
+              :data="selectData"
+              row-key="ID"
+              highlight-current-row="true"
+              border
+              style="width: 100%"
+              @row-dblclick="SelectClick"
+            >
+              <el-table-column prop="sczl_gxmc" label="工序名称" width="750" />
+            </el-table>
+          </el-dialog>
+
+          <el-dialog
+            v-model="JtbhVisible"
+            title="选择"
+            destroy-on-close
+            width="800px"
+          >
+            <el-table
+              tooltip-effect="dark"
+              :data="selectDataJtbh"
+              row-key="ID"
+              highlight-current-row="true"
+              border
+              style="width: 100%"
+              @row-dblclick="SelectClickJtbh"
+            >
+              <el-table-column prop="jtbh" label="设备编号" width="150" />
+              <el-table-column prop="设备名称" label="设备名称" width="600" />
+            </el-table>
+          </el-dialog>
+
+          <el-dialog
+            v-model="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="table2"
+            >
+              <el-table-column prop="sczl_bzdh" label="班组" width="150" />
+            </el-table>
+          </el-dialog>
+        </el-main>
+      </el-container>
+    </el-container>
+  </div>
 </template>
 
 <script setup>
-	import {
-		getproductionCount,
-		getproductionList,
-		productionlocate,
-		productionByGdbh,
-		productionInfo,
-		productionGdmc,
-		productionYjmc,
-		productionGx,
-		productionDedh,
-		productionedit,
-		productiondel,
-		getYg,
-		productionadd,
-		reportGetJtbh,
-		dedhGetRate,
-		Export,
-		ProductionData
-	} 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 {
-		exportExcelFile
-	} from '@/utils/excel'
-	import {
-		useUserStore
-	} from '@/pinia/modules/user'
-	const userStore = useUserStore()
-	const sys_id = '[' + userStore.userInfo.userName + '/' + userStore.userInfo.nickName + ']'
-	defineOptions({
-		name: '06-packingDocuments'
-	})
-	const GetDedhVisible = ref(false)
-	// 侧边栏数据请求
-	const treeData = reactive([]);
-	const getTabdata = async () => {
-		//接口调用函数
-		const response = await getproductionCount();
-		const transformedData = response.data.map(item => ({
-			label: `${item.date.replace(/-/g, '.')}【单据数: ${item.counts}张】`,
-			children: Object.keys(item.sys).map(sysItem => {
-				const matchResult = sysItem.match(/\[(.*?)\]/);
-				const sysLabel = matchResult ? matchResult[1] : "";
-				return {
-					label: `${sysLabel}【记录数: ${item.sys[sysItem]}张】`,
-					params: {
-						date: item.date.replace(/\./g, '-'),
-						sys_id: sysItem,
-						total: item.sys[sysItem],
-					},
-				};
-			}),
-		}));
-		treeData.splice(0, treeData.length, ...transformedData);
-		displayMod.value = 'date'
-	}
-
-	getTabdata();
-	const mult1 = ref('0.00');
-	const mult2 = ref('0.000');
-
-	// 自动化生成的字典(可能为空)以及字段
-	const formData = ref({
-		sczl_gdbh: '',
-		Gd_cpmc: '',
-		sczl_yjno: '',
-		yj_yjmc: '',
-		sczl_gxmc: '',
-		sczl_gxh: '',
-		sczl_type: '',
-		sczl_rq: '',
-		sczl_jtbh: '',
-		sczl_bzdh: '',
-		sczl_ms: '',
-		sczl_ls: '',
-		sczl_cl: '0.0',
-		sczl_zcfp: '0',
-		sczl_装版总工时: '0.00',
-		sczl_装版工时: '0.00',
-		sczl_保养工时: '0.00',
-		sczl_异常停机工时: '0.00',
-		sczl_打样总工时: '',
-		sczl_打样工时: '0.00',
-		sczl_设备运行工时: '0.00',
-		拆片联拼系数: '1',
-		拆片条小盒系数: '',
-		sczl_dedh: '',
-		sczl_工价系数: '',
-		sczl_计产系数: '',
-		sczl_bh1: '',
-		sczl_bh2: '',
-		sczl_bh3: '',
-		sczl_bh4: '',
-		sczl_bh5: '',
-		sczl_bh6: '',
-		sczl_bh7: '',
-		sczl_bh8: '',
-		sczl_bh9: '',
-		sczl_bh10: '',
-		sczl_rate1: '',
-		sczl_rate2: '',
-		sczl_rate3: '',
-		sczl_rate4: '',
-		sczl_rate5: '',
-		sczl_rate6: '',
-		sczl_rate7: '',
-		sczl_rate8: '',
-		sczl_rate9: '',
-		sczl_rate10: '',
-		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: '',
-	})
-	const initFormData = () => {
-		formData.value = {
-			sczl_gdbh: '',
-			Gd_cpmc: '',
-			sczl_yjno: '',
-			yj_yjmc: '',
-			sczl_gxmc: '',
-			sczl_gxh: '',
-			sczl_type: '',
-			sczl_rq: '',
-			sczl_jtbh: '',
-			sczl_bzdh: '',
-			sczl_ms: '',
-			sczl_ls: '',
-			sczl_cl: '0.0',
-			sczl_zcfp: '0',
-			sczl_装版总工时: '0.00',
-			sczl_装版工时: '0.00',
-			sczl_保养工时: '0.00',
-			sczl_异常停机工时: '0.00',
-			sczl_打样总工时: '',
-			sczl_打样工时: '0.00',
-			sczl_设备运行工时: '0.00',
-			拆片联拼系数: '1',
-			拆片条小盒系数: '',
-			sczl_dedh: '',
-			sczl_工价系数: '',
-			sczl_计产系数: '',
-			sczl_bh1: '',
-			sczl_bh2: '',
-			sczl_bh3: '',
-			sczl_bh4: '',
-			sczl_bh5: '',
-			sczl_bh6: '',
-			sczl_bh7: '',
-			sczl_bh8: '',
-			sczl_bh9: '',
-			sczl_bh10: '',
-			sczl_rate1: '',
-			sczl_rate2: '',
-			sczl_rate3: '',
-			sczl_rate4: '',
-			sczl_rate5: '',
-			sczl_rate6: '',
-			sczl_rate7: '',
-			sczl_rate8: '',
-			sczl_rate9: '',
-			sczl_rate10: '',
-			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: '',
-		};
-	}
-	// 验证规则
-	const rule = reactive({
-		sczl_gdbh: [{
-			required: true,
-			message: '',
-			trigger: [],
-		}],
-		sczl_yjno: [{
-			required: true,
-			message: '',
-			trigger: [],
-		}],
-		sczl_gxmc: [{
-			required: true,
-			message: '',
-			trigger: [],
-		}],
-		sczl_gxh: [{
-			required: true,
-			message: '',
-			trigger: [],
-		}],
-		sczl_type: [{
-			required: true,
-			message: '',
-			trigger: [],
-		}],
-		sczl_rq: [{
-			required: true,
-			message: '',
-			trigger: [],
-		}],
-		sczl_bzdh: [{
-			required: true,
-			message: '',
-			trigger: [],
-		}],
-		sczl_cl: [{
-			required: true,
-			message: '',
-			trigger: [],
-		}],
-		sczl_dedh: [{
-			required: true,
-			message: '',
-			trigger: [],
-		}],
-
-	})
-
-	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
-		}
-	}
-
-	//定位
-	// const GetLocate = async () => {
-	//   const response = await productionlocate({
-	//     gdbh: params.gdbh,
-	//     page: page.value.toString(), limit: limit.value.toString(),
-	//   })
-	//   if (response.code === 0) {
-	// 	 console.log(response)
-	//     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);
-	//   }
-	// }
-	const GetLocate = async () => {
-		console.log(params.gdbh)
-		console.log(page.value.toString())
-		console.log(limit.value.toString())
-		const response = await productionlocate({
-			gdbh: params.gdbh,
-			page: page.value.toString(),
-			limit: limit.value.toString(),
-		})
-		console.log(response)
-		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 = parseInt(response.data.total)
-			// limit.value=response.data.total
-			tableData.splice(0, tableData.length, ...processedData);
-		}
-	}
-	let positionvalue = ref()
-	//获取列表
-	const getTableData = async () => {
-		const response = await getproductionList({
-			date: params.date,
-			sys_id: params.sys_id,
-			page: page.value.toString(),
-			limit: limit.value.toString()
-		});
-		if (response.code === 0) {
-			tableData.splice(0, tableData.length, ...response.data.rows);
-			console.log(tableData)
-		}
-	}
-
-	const handleNodeClick = (node, check) => {
-		//存放当前节点的nodeId
-		if (node.params) {
-			params.date = node.params.date;
-			params.sys_id = node.params.sys_id;
-			params.type = 'getTableData'
-			total.value = node.params.total;
-			page.value = 1
-			getTableData();
-		}
-	}
-
-	//键盘 input框跳转
-	// const ent = (event,id1,id2,id3) => {
-	//   if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
-	// 	if(id3!=''){
-	//       document.getElementById(id3).focus()
-	//     }
-	//   } else if (event.keyCode === 38) { // 向上箭头
-	//     if(id1!=''){
-	//       document.getElementById(id1).focus()
-	//     }
-	//   }else if (event.keyCode === 8) { // 删除箭头
-	//     if(id1!='' && document.getElementById(id2).value===''){
-	//       document.getElementById(id1).focus()
-	//     }
-	//   }else if (event.keyCode === 37) { // 向左箭头
-	//     if(id1!='' && document.getElementById(id2).selectionStart==0){
-	//       document.getElementById(id1).focus()
-	//     }
-	//   }else if (event.keyCode === 39) { // 向右箭头
-	//     if(id3!='' && document.getElementById(id2).selectionStart == document.getElementById(id2).value.length){
-	//       document.getElementById(id3).focus()
-	//     }
-	//   }
-	// }
-	const ent1 = (event) => {
-		const inputs = document.getElementsByTagName('input');
-		const currentIndex = Array.from(inputs).indexOf(event.target);
-
-		if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
-			for (let i = currentIndex + 1; i < inputs.length; i++) {
-				if (!inputs[i].readOnly) {
-					nextTick(() => {
-						inputs[i].focus();
-						inputs[i].select();
-					})
-					break;
-				}
-			}
-		} else if (event.keyCode === 38) { // 向上箭头
-			for (let i = currentIndex - 1; i >= 0; i--) {
-				if (!inputs[i].readOnly) {
-					nextTick(() => {
-						inputs[i].focus();
-						inputs[i].select();
-					})
-					break;
-				}
-			}
-		} else if (event.keyCode === 8) { // 删除箭头
-			if (event.target.selectionStart === 0) {
-				for (let i = currentIndex - 1; i >= 0; i--) {
-					if (!inputs[i].readOnly) {
-						nextTick(() => {
-							inputs[i].focus();
-							inputs[i].setSelectionRange(0, 0);
-							inputs[i].select(); // 全选输入框内容
-						})
-						break;
-					}
-				}
-			}
-		} else if (event.keyCode === 37) { // 向左箭头
-			if (event.target.selectionStart === 0) {
-				for (let i = currentIndex - 1; i >= 0; i--) {
-					if (!inputs[i].readOnly) {
-						nextTick(() => {
-							inputs[i].focus();
-							inputs[i].select();
-						})
-						break;
-					}
-				}
-			}
-		} else if (event.keyCode === 39) { // 向右箭头
-			if (event.target.selectionStart === event.target.value.length) {
-				for (let i = currentIndex + 1; i < inputs.length; i++) {
-					if (!inputs[i].readOnly) {
-						nextTick(() => {
-							inputs[i].focus();
-							inputs[i].select();
-						})
-						break;
-					}
-				}
-			}
-		}
-	}
-
-
-
-	//追加字体颜色和不可输入
-	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 getCPMCsubmit = () => {
-		if (formData.value.sczl_gdbh != '') {
-			productionGdmc({
-				gdbh: formData.value.sczl_gdbh
-			}).then(response => {
-				if (response.code === 0) {
-					formData.value.Gd_cpmc = response.data.Gd_cpmc
-					yjnoArr.value = response.data.yjno;
-
-					document.getElementById('产品名称').style.color = 'red';
-				} else {
-					formData.value.sczl_gdbh = '';
-					formData.value.Gd_cpmc = '';
-					gxmc.value = '';
-					document.getElementById('产品名称').style.color = 'black';
-				}
-			});
-		} else {
-			ElMessage({
-				type: 'error',
-				message: '请注意, 工单编号输入空置, 除非有特殊需要!'
-			})
-
-			gxmc.value = '';
-			document.getElementById('产品名称').style.color = 'black';
-		}
-	}
-
-	//印件号数组
-	const yjnoArr = ref([0])
-	//印件号获得焦点事件
-	const yjnoHandleFocus = () => {
-		if (yjnoArr.value[0] == 0) {
-			formData.value.sczl_yjno = 1;
-		} else {
-			formData.value.sczl_yjno = yjnoArr.value[0];
-		}
-	}
-
-	//印件号失去焦点事件
-	const getYJMCsubmit = () => {
-		if (formData.value.sczl_gdbh != '' && formData.value.sczl_yjno != '') {
-			//获取印件名称
-			productionYjmc({
-				gdbh: formData.value.sczl_gdbh,
-				yjno: formData.value.sczl_yjno
-			}).then(response => {
-				if (response.code === 0) {
-					formData.value.yj_yjmc = response.data.yj_yjmc
-					gxmc.value = response.data.gxmc
-					formData.value.sczl_gxmc = gxmc.value.sczl_gxmc;
-					setColorReadonly('印件名称')
-
-				} else {
-					ElMessage({
-						type: 'error',
-						message: '印件编号不存在, 将恢复默认值, 请仔细确认数据准确性!'
-					})
-					formData.value.sczl_yjno = yjnoArr.value[0];
-					formData.value.yj_yjmc = '';
-					gxmc.value = '';
-				}
-			});
-		} else {
-			ElMessage({
-				type: 'error',
-				message: '印件编号不存在, 将恢复默认值, 请仔细确认数据准确性!'
-			})
-			formData.value.sczl_yjno = yjnoArr.value[0];
-			formData.value.yj_yjmc = '';
-			gxmc.value = '';
-		}
-	}
-
-	//工序数组
-	const gxmc = ref('')
-	const showFormItems = ref(true)
-	const tableRef = ref()
-
-	//工序数组
-	const gxArr = ref({})
-	//工序名称获得焦点事件
-	const gxmcHandleFocus = () => {
-		if (gxmc.value != '') {
-			formData.value.sczl_gxmc = gxmc.value.sczl_gxmc;
-		} else {
-			formData.value.sczl_gxmc = '';
-		}
-	}
-
-	//工序失去焦点事件
-	const getGXsubmit = () => {
-		setColorReadonly('工序号')
-		setColorReadonly('工艺名称')
-		//工序名称为空
-		if (formData.value.sczl_gxmc == '') {
-			formData.value.sczl_gxh = 0;
-			formData.value.sczl_type = '';
-			formData.value.sczl_ls = 0;
-
-			//设置字体和输入
-			unsetColorReadonly('制程废品')
-			unsetColorReadonly('装版总工时')
-			unsetColorReadonly('装版补产工时')
-			unsetColorReadonly('保养工时')
-			unsetColorReadonly('异常停机')
-			unsetColorReadonly('打样补产工时')
-			unsetColorReadonly('通电时间')
-		} else {
-			//工序名称为印件默认值
-			if (formData.value.sczl_gxmc == gxmc.value.sczl_gxmc) {
-				formData.value.sczl_gxh = gxmc.value.sczl_gxh;
-				formData.value.sczl_type = gxmc.value.sczl_type;
-				formData.value.sczl_ls = gxmc.value.sczl_ls;
-				formData.value.sczl_jtbh = '';
-
-				formData.value.sczl_zcfp = 0;
-				formData.value.sczl_装版总工时 = 0;
-				formData.value.sczl_装版工时 = 0;
-				formData.value.sczl_保养工时 = 0;
-				formData.value.sczl_异常停机工时 = 0;
-				formData.value.sczl_打样工时 = 0;
-				formData.value.sczl_设备运行工时 = 0;
-				//设置字体和输入
-				setColorReadonly('机器')
-				setColorReadonly('制程废品')
-				setColorReadonly('装版总工时')
-				setColorReadonly('装版补产工时')
-				setColorReadonly('保养工时')
-				setColorReadonly('异常停机')
-				setColorReadonly('打样总工时')
-				setColorReadonly('打样补产工时')
-				setColorReadonly('通电时间')
-
-				//显示联拼
-				showFormItems.value = true
-			} else {
-				//弹出选择
-				productionGx({
-					gdbh: formData.value.sczl_gdbh,
-					yjno: formData.value.sczl_yjno
-				}).then(response => {
-					if (response.code === 0) {
-						selectData.splice(0, selectData.length, ...response.data)
-						GXVisible.value = true
-						//  nextTick(()=>{
-						//   console.log(tableRef)
-						//   console.log(selectData)
-						//   tableRef.value.setCurrentRow(selectData[0]);
-						//       tableRef.value.focus();
-						// });
-					}
-				})
-			}
-		}
-	}
-
-	//工序选择JtbhVisible
-	const selectData = reactive([])
-	const GXVisible = ref(false)
-	const SelectClick = (row, column, event) => {
-		const {
-			sczl_gxmc
-		} = row
-
-		if (row.sczl_type == '拆片') {
-			formData.value.sczl_type = row.sczl_type
-			formData.value.sczl_gxmc = row.sczl_gxmc
-			formData.value.sczl_gxh = row.sczl_gxh
-			formData.value.sczl_ls = row.sczl_ls;
-			formData.value.sczl_jtbh = '';
-
-			formData.value.sczl_zcfp = 0;
-			formData.value.sczl_装版总工时 = 0;
-			formData.value.sczl_装版工时 = 0;
-			formData.value.sczl_保养工时 = 0;
-			formData.value.sczl_异常停机工时 = 0;
-			formData.value.sczl_打样工时 = 0;
-			formData.value.sczl_设备运行工时 = 0;
-			//设置字体和输入
-			setColorReadonly('机器')
-			setColorReadonly('制程废品')
-			setColorReadonly('装版总工时')
-			setColorReadonly('装版补产工时')
-			setColorReadonly('保养工时')
-			setColorReadonly('异常停机')
-			setColorReadonly('打样总工时')
-			setColorReadonly('打样补产工时')
-			setColorReadonly('通电时间')
-
-			//显示联拼
-			showFormItems.value = true
-		} else {
-			formData.value.sczl_type = row.sczl_type
-			formData.value.sczl_gxmc = row.sczl_gxmc
-			formData.value.sczl_gxh = row.sczl_gxh
-			formData.value.sczl_ls = row.sczl_ls;
-			formData.value.sczl_ms = 0;
-
-			//设置字体和输入
-			unsetColorReadonly('机器')
-			unsetColorReadonly('制程废品')
-			unsetColorReadonly('装版总工时')
-			unsetColorReadonly('装版补产工时')
-			unsetColorReadonly('保养工时')
-			unsetColorReadonly('异常停机')
-			unsetColorReadonly('打样总工时')
-			unsetColorReadonly('打样补产工时')
-			unsetColorReadonly('通电时间')
-
-			//隐藏联拼
-			showFormItems.value = false
-		}
-
-		GXVisible.value = false
-	}
-
-	const rqHandleFocus = () => {
-		if (formData.value.sczl_rq == '') {
-			formData.value.sczl_rq = new Date().toISOString().split('T')[0]
-		}
-	}
-
-	//机台失去焦点事件
-	const getJtbhsubmit = () => {
-		if (BzVisible.value) {
-			return false
-		}
-		//弹出选择
-		reportGetJtbh({
-			sczl_type: formData.value.sczl_type,
-			key_word: ''
-		}).then(response => {
-			if (response.code === 0) {
-				if (response.data.length != 0 && !response.data.some(item => item.jtbh === formData.value
-						.sczl_jtbh)) {
-					selectDataJtbh.splice(0, selectDataJtbh.length, ...response.data)
-					JtbhVisible.value = true
-				}
-
-			}
-		})
-	}
-
-	//机台选择
-	const selectDataJtbh = reactive([])
-	const JtbhVisible = ref(false)
-	const SelectClickJtbh = (row, column, event) => {
-		const {
-			jtbh,
-			设备编号
-		} = row
-
-		formData.value.sczl_jtbh = row.jtbh
-
-		JtbhVisible.value = false
-	}
-
-	//班组失去焦点事件
-	const getBzsubmit = () => {
-		//弹出选择
-		const data = [{
-			'sczl_bzdh': 'A班'
-		}, {
-			'sczl_bzdh': 'B班'
-		}]
-		selectDataBz.splice(0, selectDataBz.length, ...data)
-		if (!JtbhVisible.value) {
-			BzVisible.value = true
-			setCurrent(selectDataBz[0])
-		}
-	}
-
-	//班组选择
-	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 table2 = ref()
-	const setCurrent = (row) => {
-		setTimeout(() => {
-			table2.value?.setCurrentRow(row)
-			// SelectClick(row)
-			// console.log(row)
-			// console.log(table)
-			const {
-				sczl_bzdh
-			} = row
-			formData.value.sczl_bzdh = row.sczl_bzdh
-			console.log(row)
-		})
-	}
-	const selectBZ = (event) => {
-		// console.log(selectDataBz.length);
-		if (event.keyCode === 40) { // Enter 或向下箭头
-			setCurrent(selectDataBz[1]);
-
-		} else if (event.keyCode === 38) {
-			setCurrent(selectDataBz[0]);
-
-		} else if (event.keyCode === 13) {
-			BzVisible.value = false
-		}
-	}
-	//mult失去焦点事件
-	const mult = () => {
-		formData.value.sczl_cl = parseFloat(mult1.value * mult2.value)
-	}
-
-
-	let GetDedhtreeData = reactive([]);
-	//定额代号回车事件
-	const getDedhsubmit = () => {
-		//弹出选择
-		let treeData = [];
-		productionDedh({
-			sczl_jtbh: formData.value.sczl_jtbh
-		}).then(response => {
-			if (response.code === 0) {
-				if (formData.value.sczl_jtbh == '') {
-					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; // 假设这是一个响应式引用
-					console.log(GetDedhtreeData)
-				} else {
-					formData.value.sczl_dedh = response.data['sys_bh']
-				}
-
-			}
-		})
-
-	}
-
-	//定额代号树形结构单机
-	const GetDedhhandleNodeClick = (nodeData, node, component) => {
-		//存放当前节点的nodeId
-		//存放当前节点的nodeId
-		if (!nodeData.children || nodeData.children.length === 0) {
-			// 如果节点没有子节点,打印节点名称
-			formData.value.sczl_dedh = nodeData.label.split("【")[0]
-			dedhGetRate({
-				dedh: nodeData.label.split("【")[0]
-			}).then(response => {
-				if (response.code === 0) {
-					//设置比例
-					formData.value.sczl_rate1 = response.data.sczl_rate1;
-					formData.value.sczl_rate2 = response.data.sczl_rate2;
-					formData.value.sczl_rate3 = response.data.sczl_rate3;
-					formData.value.sczl_rate4 = response.data.sczl_rate4;
-					formData.value.sczl_rate5 = response.data.sczl_rate5;
-					formData.value.sczl_rate6 = response.data.sczl_rate6;
-					formData.value.sczl_rate7 = response.data.sczl_rate7;
-					formData.value.sczl_rate8 = response.data.sczl_rate8;
-					formData.value.sczl_rate9 = response.data.sczl_rate9;
-					formData.value.sczl_rate10 = response.data.sczl_rate10;
-				}
-			})
-			GetDedhVisible.value = false
-		}
-	}
-
-	//员工编号回车事件
-	const getGxMcsubmit = (event, inputName) => {
-		if (event.target.value != '') {
-			if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
-				//设置光标
-				document.getElementById('rate' + inputName).focus()
-				document.getElementById('rate' + inputName).select()
-			} else if (event.keyCode === 38) { // 向上箭头
-				if (inputName == 1) {
-					//设置光标
-					document.getElementById('定额代号').focus()
-					document.getElementById('定额代号').select()
-				} else if (inputName == 10) {
-					for (var i = 9; i >= 1; i--) {
-						if (formData.value['sczl_bh' + i] != '') {
-							document.getElementById('rate' + (parseInt(i) + 1)).focus()
-							document.getElementById('rate' + (parseInt(i) + 1)).select()
-							break;
-						} else {
-							if (i == 1) {
-								document.getElementById('sczl_bh1').focus()
-								document.getElementById('sczl_bh1').select()
-								break;
-							}
-						}
-					}
-				} else {
-					document.getElementById('rate' + (parseInt(inputName) - 1)).focus()
-					document.getElementById('rate' + (parseInt(inputName) - 1)).select()
-				}
-			} else if (event.keyCode === 8) { // 删除箭头
-				if (event.target.selectionStart === 0) {
-					if (inputName == 1) {
-						//设置光标
-						document.getElementById('定额代号').focus()
-						document.getElementById('定额代号').setSelectionRange(0, 0)
-					} else if (inputName == 10) {
-						for (var i = 9; i >= 1; i--) {
-							if (formData.value['sczl_bh' + i] != '') {
-								document.getElementById('rate' + (parseInt(i) + 1)).focus()
-								document.getElementById('rate' + (parseInt(i) + 1)).setSelectionRange(0, 0)
-								break;
-							} else {
-								if (i == 1) {
-									document.getElementById('sczl_bh1').focus()
-									document.getElementById('sczl_bh1').setSelectionRange(0, 0)
-									break;
-								}
-							}
-						}
-					} else {
-						document.getElementById('rate' + (parseInt(inputName) - 1)).focus()
-						document.getElementById('rate' + (parseInt(inputName) - 1)).setSelectionRange(0, 0)
-					}
-				}
-			} else if (event.keyCode === 37) { // 向左箭头
-				if (event.target.selectionStart === 0) {
-					if (inputName == 1) {
-						//设置光标
-						document.getElementById('定额代号').focus()
-						document.getElementById('定额代号').select()
-					} else if (inputName == 10) {
-						for (var i = 9; i >= 1; i--) {
-							if (formData.value['sczl_bh' + i] != '') {
-								document.getElementById('rate' + (parseInt(i) + 1)).focus()
-								document.getElementById('rate' + (parseInt(i) + 1)).select()
-								break;
-							} else {
-								if (i == 1) {
-									document.getElementById('sczl_bh1').focus()
-									document.getElementById('sczl_bh1').select()
-									break;
-								}
-							}
-						}
-					} else {
-						document.getElementById('rate' + (parseInt(inputName) - 1)).focus()
-						document.getElementById('rate' + (parseInt(inputName) - 1)).select()
-					}
-				}
-			} else if (event.keyCode === 39) { // 向右箭头
-				if (event.target.selectionStart === event.target.value.length) {
-					//设置光标
-					document.getElementById('rate' + inputName).focus()
-					document.getElementById('rate' + inputName).select()
-				}
-			}
-		} else {
-			if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
-				if (inputName == 10) {
-					//设置光标
-					document.getElementById('rate' + inputName).focus()
-					document.getElementById('rate' + inputName).select()
-				} else {
-					//设置光标
-					document.getElementById('sczl_bh10').focus()
-					document.getElementById('sczl_bh10').select()
-				}
-			} else if (event.keyCode === 38) { // 向上箭头
-				if (inputName == 1) {
-					//设置光标
-					document.getElementById('定额代号').focus()
-					document.getElementById('定额代号').select()
-				} else if (inputName == 10) {
-					for (var i = 9; i >= 1; i--) {
-						if (formData.value['sczl_bh' + i] != '') {
-							document.getElementById('sczl_bh' + (parseInt(i) + 1)).focus()
-							document.getElementById('sczl_bh' + (parseInt(i) + 1)).select()
-							break;
-						} else {
-							if (i == 1) {
-								document.getElementById('sczl_bh1').focus()
-								document.getElementById('sczl_bh1').select()
-								break;
-							}
-						}
-					}
-				} else {
-					document.getElementById('rate' + (parseInt(inputName) - 1)).focus()
-					document.getElementById('rate' + (parseInt(inputName) - 1)).select()
-				}
-			} else if (event.keyCode === 8) { // 删除箭头
-				if (event.target.selectionStart === 0) {
-					if (inputName == 1) {
-						//设置光标
-						document.getElementById('定额代号').focus()
-						document.getElementById('定额代号').setSelectionRange(0, 0)
-					} else if (inputName == 10) {
-						for (var i = 9; i >= 1; i--) {
-							if (formData.value['sczl_bh' + i] != '') {
-								document.getElementById('sczl_bh' + (parseInt(i) + 1)).focus()
-								document.getElementById('sczl_bh' + (parseInt(i) + 1)).setSelectionRange(0, 0)
-								break;
-							} else {
-								if (i == 1) {
-									document.getElementById('sczl_bh1').focus()
-									document.getElementById('sczl_bh1').setSelectionRange(0, 0)
-									break;
-								}
-							}
-						}
-					} else {
-						document.getElementById('rate' + (parseInt(inputName) - 1)).focus()
-						document.getElementById('rate' + (parseInt(inputName) - 1)).setSelectionRange(0, 0)
-					}
-				}
-
-			} else if (event.keyCode === 37) { // 向左箭头
-				if (event.target.selectionStart === 0) {
-					if (inputName == 1) {
-						//设置光标
-						document.getElementById('定额代号').focus()
-						document.getElementById('定额代号').select()
-					} else if (inputName == 10) {
-						for (var i = 9; i >= 1; i--) {
-							if (formData.value['sczl_bh' + i] != '') {
-								document.getElementById('sczl_bh' + (parseInt(i) + 1)).focus()
-								document.getElementById('sczl_bh' + (parseInt(i) + 1)).select()
-								break;
-							} else {
-								if (i == 1) {
-									document.getElementById('sczl_bh1').focus()
-									document.getElementById('sczl_bh1').select()
-									break;
-								}
-							}
-						}
-					} else {
-						document.getElementById('rate' + (parseInt(inputName) - 1)).focus()
-						document.getElementById('rate' + (parseInt(inputName) - 1)).select()
-					}
-				}
-			} else if (event.keyCode === 39) { // 向右箭头
-				if (event.target.selectionStart === event.target.value.length) {
-					if (inputName == 10) {
-						//设置光标
-						document.getElementById('rate' + inputName).focus()
-						document.getElementById('rate' + inputName).select()
-					} else {
-						//设置光标
-						document.getElementById('sczl_bh10').focus()
-						document.getElementById('sczl_bh10').select()
-					}
-
-				}
-			}
-		}
-
-	}
-
-	//获取员工信息
-	const GetYg = (event, inputName) => {
-		if (formData.value['sczl_bh' + inputName] != '') {
-			getYg({
-				sczl_bh: event.target.value
-			}).then(response => {
-				if (response.code == 0) {
-					if (response.data.length == 1) {
-						formData.value['sczl_bh' + inputName + '_name'] = response.data[0].ygxm
-						formData.value['sczl_bh' + inputName] = response.data[0].员工编号
-					} else if (response.data.length > 1) {
-						index_Yg = inputName
-						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_bh' + inputName] = ''
-					}
-				} else {
-					formData.value['sczl_bh' + inputName + '_name'] = ''
-					formData.value['sczl_bh' + inputName] = ''
-				}
-			})
-		}
-	}
-	let index_Yg = ''
-	const dialogSelectVisible_Yg = ref(false)
-	const selectData_Yg = reactive([])
-	// 处理选择框
-	const handleSelectClick_Yg = (row, column, event) => {
-		formData.value['sczl_bh' + index_Yg + '_name'] = row.ygxm
-		formData.value['sczl_bh' + index_Yg] = row.员工编号
-		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['sczl_bh' + index_Yg + '_name'] = row.ygxm
-			formData.value['sczl_bh' + index_Yg] = row.员工编号
-		})
-	}
-
-
-	//比例失去焦点
-	const rate = (event, inputName) => {
-		if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
-			if (inputName == 10) {
-				ElMessageBox.confirm('数据存盘?', '提示', {
-					confirmButtonText: '确定',
-					cancelButtonText: '取消',
-					type: 'warning'
-				}).then(() => {
-					enterDialog()
-				})
-
-			} else {
-				//设置光标
-				document.getElementById('sczl_bh' + (parseInt(inputName) + 1)).focus()
-				document.getElementById('sczl_bh' + (parseInt(inputName) + 1)).select()
-			}
-		} else if (event.keyCode === 38) { // 向上箭头
-			document.getElementById('sczl_bh' + inputName).focus()
-			document.getElementById('sczl_bh' + inputName).select()
-		} else if (event.keyCode === 8) { // 删除箭头
-			if (event.target.selectionStart === 0) {
-				document.getElementById('sczl_bh' + inputName).focus()
-				document.getElementById('sczl_bh' + inputName).setSelectionRange(0, 0)
-			}
-
-		} else if (event.keyCode === 37) { // 向左箭头
-			if (event.target.selectionStart === 0) {
-				document.getElementById('sczl_bh' + inputName).focus()
-				document.getElementById('sczl_bh' + inputName).select()
-			}
-		} else if (event.keyCode === 39) { // 向右箭头
-			if (event.target.selectionStart === event.target.value.length) {
-				if (inputName == 10) {
-					//设置光标
-				} else {
-					document.getElementById('sczl_bh' + inputName).focus()
-					document.getElementById('sczl_bh' + inputName).select()
-				}
-
-			}
-		}
-	}
-
-	// 搜索
-	function onSearch() {
-		params.gdbh = positionvalue.value
-		params.type = 'getLocateTable'
-		page.value = 1
-		console.log('123')
-		GetLocate()
-	}
-	const ADD = ref('0')
-	//新增
-	function onAdd() {
-		ADD.value = '新增'
-		type.value = 'create'
-		if (table_type == 'db_sczl') {
-			if (typeof(lastCellValue) == 'number') {
-				GetInfo(lastCellValue)
-			}
-			initFormData()
-			dialogFormVisible.value = true
-		} else {
-			// GetInfo(table.value)
-			// console.log(['table_type'])
-			// console.log('此数据无法新增')
-			dialogFormVisible.value = true
-		}
-
-		// Productionadd()
-	}
-	//新增
-	const Productionadd = async () => {
-		const response = await productionadd();
-		if (response.code === 0) {}
-		getTableData()
-	}
-	//删除
-	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 productiondel({
-				UniqId: lastCellValue
-			});
-			if (response.code === 0) {
-				ElMessage({
-					type: 'success',
-					message: '删除成功',
-				})
-				//刷新侧边栏
-				getTabdata()
-				//刷新页面
-				getTableData()
-			}
-		})
-	}
-	//同步
-	function synchronous() {
-		Synchronous()
-	}
-	//同步
-	const Synchronous = async () => {
-		const response = await ProductionData();
-		if (response.code === 0) {
-			ElMessage({
-				type: 'success',
-				message: '同步成功',
-			})
-		}
-		// getTableData()
-	}
-	const displayMod = ref('')
-	// 按工单显示
-	function onCountByGdbh() {
-		if (displayMod.value === 'date') {
-			displayMod.value = 'gd'
-			CountByGdbh()
-		} else {
-			getTabdata()
-		}
-
-	}
-	//按工单显示
-	const CountByGdbh = async () => {
-		const response = await productionByGdbh();
-
-		if (response.code === 0) {
-
-			// console.log(displayMod.value)
-			treeData.splice(0, treeData.length);
-			// 遍历接口返回的数据
-			response.data.forEach(item => {
-				// 创建父节点
-				treeData[item.sczl_gdbh] = {
-					label: item.sczl_gdbh + '【' + item.yj_yjmc + '】',
-					children: [],
-					params: {
-						date: item.sczl_gdbh,
-						sys_id: '',
-						total: '',
-					}
-				};
-
-				// 添加子节点
-				for (const key in item.sys) {
-					const childNode = {
-						name: key,
-						label: key + '  【记录数' + item.sys[key] + '张】',
-						params: {
-							date: item.sczl_gdbh,
-							sys_id: key,
-							total: item.sys[key],
-						}
-					};
-					treeData[item.sczl_gdbh].children.push(childNode);
-				}
-			});
-			// console.log(treeData)
-			// //   // 打印树形结构
-			//   console.log(JSON.stringify(tree, null, 2));
-
-			//   // 将父子关系转换为数组
-			//   const transformedData = Object.values(tree);
-			//   console.log(transformedData);
-			//   treeData = transformedData;
-		}
-		// // 将父子关系转换为数组
-		// const transformedData = Object.values(tree);
-		// console.log(transformedData)
-		// treeData = transformedData;
-
-		// getTableData()
-	}
-	// ============== 表格控制部分结束 ===============
-
-	// 获取需要的字典 可能为空 按需保留
-	const setOptions = async () => {}
-
-	// 获取需要的字典 可能为空 按需保留
-	setOptions()
-
-	// 多选数据
-	const multipleSelection = ref([])
-	// 多选
-	const handleSelectionChange = (val) => {
-		// multipleSelection.value = 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_检验类别
-			// console.log(ScrapFactor)
-			lastCellValue = val[lenth - 1].UniqId
-			// console.log(val)
-			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
-	}
-	// 弹窗确定
-	const enterDialog = async () => {
-		//弹窗提示确认
-		ElMessageBox.confirm('数据存盘?', '提示', {
-			confirmButtonText: '确定',
-			cancelButtonText: '取消',
-			type: 'warning'
-		}).then(() => {
-			if (formData.value.sczl_gdbh == '') {
-				ElMessage({
-					type: 'error',
-					message: '请填写工单编号'
-				});
-				document.getElementById('工单编号').focus()
-				document.getElementById('工单编号').select()
-				return;
-			}
-			if (formData.value.sczl_yjno == '') {
-				ElMessage({
-					type: 'error',
-					message: '请填写印件号'
-				});
-				document.getElementById('印件号').focus()
-				document.getElementById('印件号').select()
-				return;
-			}
-			if (formData.value.sczl_gxmc == '') {
-				ElMessage({
-					type: 'error',
-					message: '请填写工序名称'
-				});
-				document.getElementById('工序名称').focus()
-				document.getElementById('工序名称').select()
-				return;
-			}
-			if (formData.value.sczl_rq == '') {
-				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_cl == '') {
-				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()
-		});
-
-		// elFormRef.value?.validate(async (valid) => {
-		//   if (!valid) return
-
-		//   let res
-		//   switch (type.value) {
-		//     case 'create':
-		//       res = await createCompany(formData.value)
-		//       break
-		//     case 'update':
-		//       res = await updateCompany(formData.value)
-		//       break
-		//     default:
-		//       res = await createCompany(formData.value)
-		//       break
-		//   }
-		//   if (res.code === 0) {
-		//     ElMessage({
-		//       type: 'success',
-		//       message: '创建/更改成功'
-		//     })
-		//     closeDialog()
-		//     getTableData()
-		//   }
-		// updateDetailData()
-		// })
-
-	}
-	// 更新数据
-	const updateDetailData = async () => {
-		const restoredData = {
-			UniqId: lastCellValue,
-			sczl_gdbh: formData.value.sczl_gdbh,
-			Gd_cpmc: formData.value.Gd_cpmc,
-			sczl_yjno: formData.value.sczl_yjno,
-			yj_yjmc: formData.value.yj_yjmc,
-			sczl_gxmc: formData.value.sczl_gxmc,
-			sczl_gxh: formData.value.sczl_gxh,
-			sczl_type: formData.value.sczl_type,
-			sczl_rq: formData.value.sczl_rq,
-			sczl_jtbh: formData.value.sczl_jtbh,
-			sczl_bzdh: formData.value.sczl_bzdh,
-			sczl_ms: formData.value.sczl_ms,
-			sczl_ls: formData.value.sczl_ls,
-			sczl_cl: formData.value.sczl_cl,
-			sczl_fp: formData.value.sczl_zcfp,
-			sczl_装版总工时: formData.value.sczl_装版总工时,
-			sczl_装版工时: formData.value.sczl_装版工时,
-			sczl_保养工时: formData.value.sczl_保养工时,
-			sczl_异常停机工时: formData.value.sczl_异常停机工时,
-			sczl_打样总工时: formData.value.sczl_打样总工时,
-			sczl_打样工时: formData.value.sczl_打样工时,
-			sczl_设备运行工时: formData.value.sczl_设备运行工时,
-			拆片联拼系数: formData.value.拆片联拼系数,
-			拆片条小盒系数: formData.value.拆片条小盒系数,
-			sczl_dedh: formData.value.sczl_dedh,
-			sczl_工价系数: formData.value.sczl_工价系数,
-			sczl_计产系数: formData.value.sczl_计产系数,
-			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_rate1: formData.value.sczl_rate1,
-			sczl_rate2: formData.value.sczl_rate2,
-			sczl_rate3: formData.value.sczl_rate3,
-			sczl_rate4: formData.value.sczl_rate4,
-			sczl_rate5: formData.value.sczl_rate5,
-			sczl_rate6: formData.value.sczl_rate6,
-			sczl_rate7: formData.value.sczl_rate7,
-			sczl_rate8: formData.value.sczl_rate8,
-			sczl_rate9: formData.value.sczl_rate9,
-			sczl_rate10: formData.value.sczl_rate10,
-			sys_id: sys_id,
-		}
-		// 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_PgCl${num}`] = item.sczl_PgCl
-		//   restoredData[`sczl_clAdd${num}`] = item.sczl_clAdd
-		// })
-		if (ADD.value == '新增') {
-			// console.log('新增')
-			const response = await productionadd(restoredData);
-			// ADD.value='1'
-			// console.log(ADD.value)
-			ADD.value = '0'
-			if (response.code == 0) {
-				ElMessage({
-					type: 'success',
-					message: '新增成功',
-				})
-				dialogFormVisible.value = false
-				//刷新侧边栏
-				getTabdata()
-				if (params.date != '') {
-					//刷新页面
-					getTableData()
-				}
-			}
-
-		} else {
-			const response = await productionedit(restoredData);
-			if (response.code == 0) {
-				ElMessage({
-					type: 'success',
-					message: '更新成功',
-				})
-			}
-			dialogFormVisible.value = false
-			// ADD.value='0'
-			// console.log(ADD.value)
-		}
-		formData.value = []
-		//   console.log(restoredData)
-		//    console.log(lastCellValue)
-		//    formData.value.UniqId=lastCellValue
-		//    console.log(formData)
-		// restoredData.UniqId='5'
-
-		// console.log(FormData)
-	}
-	let table = ref(5);
-	let lastCellValue = ref()
-	let table_type = ref()
-	// 双击表格操作
-	const type = ref('')
-
-	function doubleClick(row, column, event) {
-		type.value = 'update';
-		lastCellValue = row['UniqId'];
-		table.value = lastCellValue
-		if (row['table_type'] == 'db_sczl') {
-			console.log(['table_type'])
-			dialogFormVisible.value = true
-			GetInfo(table.value)
-		} else {
-			// GetInfo(table.value)
-			ElMessage({
-				type: 'error',
-				message: '此工单不展示详细数据',
-			})
-		}
-	}
-	// 单击表格操作
-	function Click(row, column, event) {
-		lastCellValue = row['UniqId'];
-		console.log(lastCellValue)
-		table_type = row['table_type']
-		// if(row['table_type']=='db_sczl'){
-		// 	 dialogFormVisible.value = true
-		// 	 GetInfo(table.value)
-		// }else{
-		//  console.log('此数据不展示详细信息')
-		// }  
-	}
-	//获取详细信息
-	const GetInfo = async (value) => {
-		const response = await productionInfo({
-			UniqId: value
-		});
-		if (response.code === 0) {
-			console.log(response)
-			formData.value = response.data;
-			console.log(formData)
-		}
-	}
-
-	// 导出excel
-	function exportExcel() {
-		Execelport()
-
-		// exportExcelFile(data);
-	}
-	const Execelport = async (value) => {
-		const response = await Export({
-			file_name: '111',
-			date: '2024-01-13',
-			sys_id: '[1002/郑小丽]',
-			fields: ['sczl_gdbh', 'Gd_cpmc', 'jyno_gxmc',
-				'sczl_rq', 'sczl_jtbh', 'sczl_bzdh', 'sczl_num', 'sczl_cl', 'sczl_ms',
-				'sczl_zcfp', 'sczl_zccp', 'sczl_来料异常', 'sczl_装版工时', 'sczl_保养工时', 'sczl_打样工时',
-				'sczl_异常停机工时', 'sczl_设备运行工时', 'sczl_bh1', 'sczl_bh1_name', 'sczl_bh2', 'sczl_bh2_name',
-				'sczl_bh3', 'sczl_bh3_name', 'sczl_bh4', 'sczl_bh4_name', 'sczl_bh5', 'sczl_bh5_name',
-				'sczl_bh6', 'sczl_bh6_name',
-				'拆片联拼系数', '拆片条小盒系数', 'sczl_工价系数', '日定额', '千件工价', '补产标准'
-			]
-		});
-		console.log(response)
-	}
-
-	// 生命周期钩子
-	onMounted(async () => {
-
-	});
+import {
+  getproductionCount,
+  getproductionList,
+  productionlocate,
+  productionByGdbh,
+  productionInfo,
+  productionGdmc,
+  productionYjmc,
+  productionGx,
+  productionDedh,
+  productionedit,
+  productiondel,
+  getYg,
+  productionadd,
+  reportGetJtbh,
+  dedhGetRate,
+  Export,
+  ProductionData,
+} 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 * as XLSX from 'xlsx'
+import FileSaver from 'file-saver'
+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 { exportExcelFile } from "@/utils/excel";
+import { useUserStore } from "@/pinia/modules/user";
+const userStore = useUserStore();
+const sys_id =
+  "[" + userStore.userInfo.userName + "/" + userStore.userInfo.nickName + "]";
+defineOptions({
+  name: "06-packingDocuments",
+});
+const GetDedhVisible = ref(false);
+// 侧边栏数据请求
+const treeData = reactive([]);
+const getTabdata = async () => {
+  //接口调用函数
+  const response = await getproductionCount();
+  const transformedData = response.data.map((item) => ({
+    label: `${item.date.replace(/-/g, ".")}【单据数: ${item.counts}张】`,
+    children: Object.keys(item.sys).map((sysItem) => {
+      const matchResult = sysItem.match(/\[(.*?)\]/);
+      const sysLabel = matchResult ? matchResult[1] : "";
+      return {
+        label: `${sysLabel}【记录数: ${item.sys[sysItem]}张】`,
+        params: {
+          date: item.date.replace(/\./g, "-"),
+          sys_id: sysItem,
+          total: item.sys[sysItem],
+        },
+      };
+    }),
+  }));
+  treeData.splice(0, treeData.length, ...transformedData);
+  displayMod.value = "date";
+};
+
+getTabdata();
+const mult1 = ref("0.00");
+const mult2 = ref("0.000");
+
+// 自动化生成的字典(可能为空)以及字段
+const formData = ref({
+  sczl_gdbh: "",
+  Gd_cpmc: "",
+  sczl_yjno: "",
+  yj_yjmc: "",
+  sczl_gxmc: "",
+  sczl_gxh: "",
+  sczl_type: "",
+  sczl_rq: "",
+  sczl_jtbh: "",
+  sczl_bzdh: "",
+  sczl_ms: "",
+  sczl_ls: "",
+  sczl_cl: "0.0",
+  sczl_zcfp: "0",
+  sczl_装版总工时: "0.00",
+  sczl_装版工时: "0.00",
+  sczl_保养工时: "0.00",
+  sczl_异常停机工时: "0.00",
+  sczl_打样总工时: "",
+  sczl_打样工时: "0.00",
+  sczl_设备运行工时: "0.00",
+  拆片联拼系数: "1",
+  拆片条小盒系数: "",
+  sczl_dedh: "",
+  sczl_工价系数: "",
+  sczl_计产系数: "",
+  sczl_bh1: "",
+  sczl_bh2: "",
+  sczl_bh3: "",
+  sczl_bh4: "",
+  sczl_bh5: "",
+  sczl_bh6: "",
+  sczl_bh7: "",
+  sczl_bh8: "",
+  sczl_bh9: "",
+  sczl_bh10: "",
+  sczl_rate1: "",
+  sczl_rate2: "",
+  sczl_rate3: "",
+  sczl_rate4: "",
+  sczl_rate5: "",
+  sczl_rate6: "",
+  sczl_rate7: "",
+  sczl_rate8: "",
+  sczl_rate9: "",
+  sczl_rate10: "",
+  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: "",
+});
+const initFormData = () => {
+  formData.value = {
+    sczl_gdbh: "",
+    Gd_cpmc: "",
+    sczl_yjno: "",
+    yj_yjmc: "",
+    sczl_gxmc: "",
+    sczl_gxh: "",
+    sczl_type: "",
+    sczl_rq: "",
+    sczl_jtbh: "",
+    sczl_bzdh: "",
+    sczl_ms: "",
+    sczl_ls: "",
+    sczl_cl: "0.0",
+    sczl_zcfp: "0",
+    sczl_装版总工时: "0.00",
+    sczl_装版工时: "0.00",
+    sczl_保养工时: "0.00",
+    sczl_异常停机工时: "0.00",
+    sczl_打样总工时: "",
+    sczl_打样工时: "0.00",
+    sczl_设备运行工时: "0.00",
+    拆片联拼系数: "1",
+    拆片条小盒系数: "",
+    sczl_dedh: "",
+    sczl_工价系数: "",
+    sczl_计产系数: "",
+    sczl_bh1: "",
+    sczl_bh2: "",
+    sczl_bh3: "",
+    sczl_bh4: "",
+    sczl_bh5: "",
+    sczl_bh6: "",
+    sczl_bh7: "",
+    sczl_bh8: "",
+    sczl_bh9: "",
+    sczl_bh10: "",
+    sczl_rate1: "",
+    sczl_rate2: "",
+    sczl_rate3: "",
+    sczl_rate4: "",
+    sczl_rate5: "",
+    sczl_rate6: "",
+    sczl_rate7: "",
+    sczl_rate8: "",
+    sczl_rate9: "",
+    sczl_rate10: "",
+    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: "",
+  };
+};
+// 验证规则
+const rule = reactive({
+  sczl_gdbh: [
+    {
+      required: true,
+      message: "",
+      trigger: [],
+    },
+  ],
+  sczl_yjno: [
+    {
+      required: true,
+      message: "",
+      trigger: [],
+    },
+  ],
+  sczl_gxmc: [
+    {
+      required: true,
+      message: "",
+      trigger: [],
+    },
+  ],
+  sczl_gxh: [
+    {
+      required: true,
+      message: "",
+      trigger: [],
+    },
+  ],
+  sczl_type: [
+    {
+      required: true,
+      message: "",
+      trigger: [],
+    },
+  ],
+  sczl_rq: [
+    {
+      required: true,
+      message: "",
+      trigger: [],
+    },
+  ],
+  sczl_bzdh: [
+    {
+      required: true,
+      message: "",
+      trigger: [],
+    },
+  ],
+  sczl_cl: [
+    {
+      required: true,
+      message: "",
+      trigger: [],
+    },
+  ],
+  sczl_dedh: [
+    {
+      required: true,
+      message: "",
+      trigger: [],
+    },
+  ],
+});
+
+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;
+  }
+};
+
+//定位
+// const GetLocate = async () => {
+//   const response = await productionlocate({
+//     gdbh: params.gdbh,
+//     page: page.value.toString(), limit: limit.value.toString(),
+//   })
+//   if (response.code === 0) {
+// 	 console.log(response)
+//     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);
+//   }
+// }
+const GetLocate = async () => {
+  console.log(params.gdbh);
+  console.log(page.value.toString());
+  console.log(limit.value.toString());
+  const response = await productionlocate({
+    gdbh: params.gdbh,
+    page: page.value.toString(),
+    limit: limit.value.toString(),
+  });
+  console.log(response);
+  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 = parseInt(response.data.total);
+    // limit.value=response.data.total
+    tableData.splice(0, tableData.length, ...processedData);
+  }
+};
+let positionvalue = ref();
+//获取列表
+const getTableData = async () => {
+  const response = await getproductionList({
+    date: params.date,
+    sys_id: params.sys_id,
+    page: page.value.toString(),
+    limit: limit.value.toString(),
+  });
+  if (response.code === 0) {
+    tableData.splice(0, tableData.length, ...response.data.rows);
+    console.log(tableData);
+  }
+};
+
+const handleNodeClick = (node, check) => {
+  //存放当前节点的nodeId
+  if (node.params) {
+    params.date = node.params.date;
+    params.sys_id = node.params.sys_id;
+    params.type = "getTableData";
+    total.value = node.params.total;
+    page.value = 1;
+    getTableData();
+  }
+};
+
+//键盘 input框跳转
+// const ent = (event,id1,id2,id3) => {
+//   if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
+// 	if(id3!=''){
+//       document.getElementById(id3).focus()
+//     }
+//   } else if (event.keyCode === 38) { // 向上箭头
+//     if(id1!=''){
+//       document.getElementById(id1).focus()
+//     }
+//   }else if (event.keyCode === 8) { // 删除箭头
+//     if(id1!='' && document.getElementById(id2).value===''){
+//       document.getElementById(id1).focus()
+//     }
+//   }else if (event.keyCode === 37) { // 向左箭头
+//     if(id1!='' && document.getElementById(id2).selectionStart==0){
+//       document.getElementById(id1).focus()
+//     }
+//   }else if (event.keyCode === 39) { // 向右箭头
+//     if(id3!='' && document.getElementById(id2).selectionStart == document.getElementById(id2).value.length){
+//       document.getElementById(id3).focus()
+//     }
+//   }
+// }
+const ent1 = (event) => {
+  const inputs = document.getElementsByTagName("input");
+  const currentIndex = Array.from(inputs).indexOf(event.target);
+
+  if (event.keyCode === 13 || event.keyCode === 40) {
+    // Enter 或向下箭头
+    for (let i = currentIndex + 1; i < inputs.length; i++) {
+      if (!inputs[i].readOnly) {
+        nextTick(() => {
+          inputs[i].focus();
+          inputs[i].select();
+        });
+        break;
+      }
+    }
+  } else if (event.keyCode === 38) {
+    // 向上箭头
+    for (let i = currentIndex - 1; i >= 0; i--) {
+      if (!inputs[i].readOnly) {
+        nextTick(() => {
+          inputs[i].focus();
+          inputs[i].select();
+        });
+        break;
+      }
+    }
+  } else if (event.keyCode === 8) {
+    // 删除箭头
+    if (event.target.selectionStart === 0) {
+      for (let i = currentIndex - 1; i >= 0; i--) {
+        if (!inputs[i].readOnly) {
+          nextTick(() => {
+            inputs[i].focus();
+            inputs[i].setSelectionRange(0, 0);
+            inputs[i].select(); // 全选输入框内容
+          });
+          break;
+        }
+      }
+    }
+  } else if (event.keyCode === 37) {
+    // 向左箭头
+    if (event.target.selectionStart === 0) {
+      for (let i = currentIndex - 1; i >= 0; i--) {
+        if (!inputs[i].readOnly) {
+          nextTick(() => {
+            inputs[i].focus();
+            inputs[i].select();
+          });
+          break;
+        }
+      }
+    }
+  } else if (event.keyCode === 39) {
+    // 向右箭头
+    if (event.target.selectionStart === event.target.value.length) {
+      for (let i = currentIndex + 1; i < inputs.length; i++) {
+        if (!inputs[i].readOnly) {
+          nextTick(() => {
+            inputs[i].focus();
+            inputs[i].select();
+          });
+          break;
+        }
+      }
+    }
+  }
+};
+
+//追加字体颜色和不可输入
+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 getCPMCsubmit = () => {
+  if (formData.value.sczl_gdbh != "") {
+    productionGdmc({
+      gdbh: formData.value.sczl_gdbh,
+    }).then((response) => {
+      if (response.code === 0) {
+        formData.value.Gd_cpmc = response.data.Gd_cpmc;
+        yjnoArr.value = response.data.yjno;
+
+        document.getElementById("产品名称").style.color = "red";
+      } else {
+        formData.value.sczl_gdbh = "";
+        formData.value.Gd_cpmc = "";
+        gxmc.value = "";
+        document.getElementById("产品名称").style.color = "black";
+      }
+    });
+  } else {
+    ElMessage({
+      type: "error",
+      message: "请注意, 工单编号输入空置, 除非有特殊需要!",
+    });
+
+    gxmc.value = "";
+    document.getElementById("产品名称").style.color = "black";
+  }
+};
+
+//印件号数组
+const yjnoArr = ref([0]);
+//印件号获得焦点事件
+const yjnoHandleFocus = () => {
+  if (yjnoArr.value[0] == 0) {
+    formData.value.sczl_yjno = 1;
+  } else {
+    formData.value.sczl_yjno = yjnoArr.value[0];
+  }
+};
+
+//印件号失去焦点事件
+const getYJMCsubmit = () => {
+  if (formData.value.sczl_gdbh != "" && formData.value.sczl_yjno != "") {
+    //获取印件名称
+    productionYjmc({
+      gdbh: formData.value.sczl_gdbh,
+      yjno: formData.value.sczl_yjno,
+    }).then((response) => {
+      if (response.code === 0) {
+        formData.value.yj_yjmc = response.data.yj_yjmc;
+        gxmc.value = response.data.gxmc;
+        formData.value.sczl_gxmc = gxmc.value.sczl_gxmc;
+        setColorReadonly("印件名称");
+      } else {
+        ElMessage({
+          type: "error",
+          message: "印件编号不存在, 将恢复默认值, 请仔细确认数据准确性!",
+        });
+        formData.value.sczl_yjno = yjnoArr.value[0];
+        formData.value.yj_yjmc = "";
+        gxmc.value = "";
+      }
+    });
+  } else {
+    ElMessage({
+      type: "error",
+      message: "印件编号不存在, 将恢复默认值, 请仔细确认数据准确性!",
+    });
+    formData.value.sczl_yjno = yjnoArr.value[0];
+    formData.value.yj_yjmc = "";
+    gxmc.value = "";
+  }
+};
+
+//工序数组
+const gxmc = ref("");
+const showFormItems = ref(true);
+const tableRef = ref();
+
+//工序数组
+const gxArr = ref({});
+//工序名称获得焦点事件
+const gxmcHandleFocus = () => {
+  if (gxmc.value != "") {
+    formData.value.sczl_gxmc = gxmc.value.sczl_gxmc;
+  } else {
+    formData.value.sczl_gxmc = "";
+  }
+};
+
+//工序失去焦点事件
+const getGXsubmit = () => {
+  setColorReadonly("工序号");
+  setColorReadonly("工艺名称");
+  //工序名称为空
+  if (formData.value.sczl_gxmc == "") {
+    formData.value.sczl_gxh = 0;
+    formData.value.sczl_type = "";
+    formData.value.sczl_ls = 0;
+
+    //设置字体和输入
+    unsetColorReadonly("制程废品");
+    unsetColorReadonly("装版总工时");
+    unsetColorReadonly("装版补产工时");
+    unsetColorReadonly("保养工时");
+    unsetColorReadonly("异常停机");
+    unsetColorReadonly("打样补产工时");
+    unsetColorReadonly("通电时间");
+  } else {
+    //工序名称为印件默认值
+    if (formData.value.sczl_gxmc == gxmc.value.sczl_gxmc) {
+      formData.value.sczl_gxh = gxmc.value.sczl_gxh;
+      formData.value.sczl_type = gxmc.value.sczl_type;
+      formData.value.sczl_ls = gxmc.value.sczl_ls;
+      formData.value.sczl_jtbh = "";
+
+      formData.value.sczl_zcfp = 0;
+      formData.value.sczl_装版总工时 = 0;
+      formData.value.sczl_装版工时 = 0;
+      formData.value.sczl_保养工时 = 0;
+      formData.value.sczl_异常停机工时 = 0;
+      formData.value.sczl_打样工时 = 0;
+      formData.value.sczl_设备运行工时 = 0;
+      //设置字体和输入
+      setColorReadonly("机器");
+      setColorReadonly("制程废品");
+      setColorReadonly("装版总工时");
+      setColorReadonly("装版补产工时");
+      setColorReadonly("保养工时");
+      setColorReadonly("异常停机");
+      setColorReadonly("打样总工时");
+      setColorReadonly("打样补产工时");
+      setColorReadonly("通电时间");
+
+      //显示联拼
+      showFormItems.value = true;
+    } else {
+      //弹出选择
+      productionGx({
+        gdbh: formData.value.sczl_gdbh,
+        yjno: formData.value.sczl_yjno,
+      }).then((response) => {
+        if (response.code === 0) {
+          selectData.splice(0, selectData.length, ...response.data);
+          GXVisible.value = true;
+          //  nextTick(()=>{
+          //   console.log(tableRef)
+          //   console.log(selectData)
+          //   tableRef.value.setCurrentRow(selectData[0]);
+          //       tableRef.value.focus();
+          // });
+        }
+      });
+    }
+  }
+};
+
+//工序选择JtbhVisible
+const selectData = reactive([]);
+const GXVisible = ref(false);
+const SelectClick = (row, column, event) => {
+  const { sczl_gxmc } = row;
+
+  if (row.sczl_type == "拆片") {
+    formData.value.sczl_type = row.sczl_type;
+    formData.value.sczl_gxmc = row.sczl_gxmc;
+    formData.value.sczl_gxh = row.sczl_gxh;
+    formData.value.sczl_ls = row.sczl_ls;
+    formData.value.sczl_jtbh = "";
+
+    formData.value.sczl_zcfp = 0;
+    formData.value.sczl_装版总工时 = 0;
+    formData.value.sczl_装版工时 = 0;
+    formData.value.sczl_保养工时 = 0;
+    formData.value.sczl_异常停机工时 = 0;
+    formData.value.sczl_打样工时 = 0;
+    formData.value.sczl_设备运行工时 = 0;
+    //设置字体和输入
+    setColorReadonly("机器");
+    setColorReadonly("制程废品");
+    setColorReadonly("装版总工时");
+    setColorReadonly("装版补产工时");
+    setColorReadonly("保养工时");
+    setColorReadonly("异常停机");
+    setColorReadonly("打样总工时");
+    setColorReadonly("打样补产工时");
+    setColorReadonly("通电时间");
+
+    //显示联拼
+    showFormItems.value = true;
+  } else {
+    formData.value.sczl_type = row.sczl_type;
+    formData.value.sczl_gxmc = row.sczl_gxmc;
+    formData.value.sczl_gxh = row.sczl_gxh;
+    formData.value.sczl_ls = row.sczl_ls;
+    formData.value.sczl_ms = 0;
+
+    //设置字体和输入
+    unsetColorReadonly("机器");
+    unsetColorReadonly("制程废品");
+    unsetColorReadonly("装版总工时");
+    unsetColorReadonly("装版补产工时");
+    unsetColorReadonly("保养工时");
+    unsetColorReadonly("异常停机");
+    unsetColorReadonly("打样总工时");
+    unsetColorReadonly("打样补产工时");
+    unsetColorReadonly("通电时间");
+
+    //隐藏联拼
+    showFormItems.value = false;
+  }
+
+  GXVisible.value = false;
+};
+
+const rqHandleFocus = () => {
+  if (formData.value.sczl_rq == "") {
+    formData.value.sczl_rq = new Date().toISOString().split("T")[0];
+  }
+};
+
+//机台失去焦点事件
+const getJtbhsubmit = () => {
+  if (BzVisible.value) {
+    return false;
+  }
+  //弹出选择
+  reportGetJtbh({
+    sczl_type: formData.value.sczl_type,
+    key_word: "",
+  }).then((response) => {
+    if (response.code === 0) {
+      if (
+        response.data.length != 0 &&
+        !response.data.some((item) => item.jtbh === formData.value.sczl_jtbh)
+      ) {
+        selectDataJtbh.splice(0, selectDataJtbh.length, ...response.data);
+        JtbhVisible.value = true;
+      }
+    }
+  });
+};
+
+//机台选择
+const selectDataJtbh = reactive([]);
+const JtbhVisible = ref(false);
+const SelectClickJtbh = (row, column, event) => {
+  const { jtbh, 设备编号 } = row;
+
+  formData.value.sczl_jtbh = row.jtbh;
+
+  JtbhVisible.value = false;
+};
+
+//班组失去焦点事件
+const getBzsubmit = () => {
+  //弹出选择
+  const data = [
+    {
+      sczl_bzdh: "A班",
+    },
+    {
+      sczl_bzdh: "B班",
+    },
+  ];
+  selectDataBz.splice(0, selectDataBz.length, ...data);
+  if (!JtbhVisible.value) {
+    BzVisible.value = true;
+    setCurrent(selectDataBz[0]);
+  }
+};
+
+//班组选择
+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 table2 = ref();
+const setCurrent = (row) => {
+  setTimeout(() => {
+    table2.value?.setCurrentRow(row);
+    // SelectClick(row)
+    // console.log(row)
+    // console.log(table)
+    const { sczl_bzdh } = row;
+    formData.value.sczl_bzdh = row.sczl_bzdh;
+    console.log(row);
+  });
+};
+const selectBZ = (event) => {
+  // console.log(selectDataBz.length);
+  if (event.keyCode === 40) {
+    // Enter 或向下箭头
+    setCurrent(selectDataBz[1]);
+  } else if (event.keyCode === 38) {
+    setCurrent(selectDataBz[0]);
+  } else if (event.keyCode === 13) {
+    BzVisible.value = false;
+  }
+};
+//mult失去焦点事件
+const mult = () => {
+  formData.value.sczl_cl = parseFloat(mult1.value * mult2.value);
+};
+
+let GetDedhtreeData = reactive([]);
+//定额代号回车事件
+const getDedhsubmit = () => {
+  //弹出选择
+  let treeData = [];
+  productionDedh({
+    sczl_jtbh: formData.value.sczl_jtbh,
+  }).then((response) => {
+    if (response.code === 0) {
+      if (formData.value.sczl_jtbh == "") {
+        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; // 假设这是一个响应式引用
+        console.log(GetDedhtreeData);
+      } else {
+        formData.value.sczl_dedh = response.data["sys_bh"];
+      }
+    }
+  });
+};
+
+//定额代号树形结构单机
+const GetDedhhandleNodeClick = (nodeData, node, component) => {
+  //存放当前节点的nodeId
+  //存放当前节点的nodeId
+  if (!nodeData.children || nodeData.children.length === 0) {
+    // 如果节点没有子节点,打印节点名称
+    formData.value.sczl_dedh = nodeData.label.split("【")[0];
+    dedhGetRate({
+      dedh: nodeData.label.split("【")[0],
+    }).then((response) => {
+      if (response.code === 0) {
+        //设置比例
+        formData.value.sczl_rate1 = response.data.sczl_rate1;
+        formData.value.sczl_rate2 = response.data.sczl_rate2;
+        formData.value.sczl_rate3 = response.data.sczl_rate3;
+        formData.value.sczl_rate4 = response.data.sczl_rate4;
+        formData.value.sczl_rate5 = response.data.sczl_rate5;
+        formData.value.sczl_rate6 = response.data.sczl_rate6;
+        formData.value.sczl_rate7 = response.data.sczl_rate7;
+        formData.value.sczl_rate8 = response.data.sczl_rate8;
+        formData.value.sczl_rate9 = response.data.sczl_rate9;
+        formData.value.sczl_rate10 = response.data.sczl_rate10;
+      }
+    });
+    GetDedhVisible.value = false;
+  }
+};
+
+//员工编号回车事件
+const getGxMcsubmit = (event, inputName) => {
+  if (event.target.value != "") {
+    if (event.keyCode === 13 || event.keyCode === 40) {
+      // Enter 或向下箭头
+      //设置光标
+      document.getElementById("rate" + inputName).focus();
+      document.getElementById("rate" + inputName).select();
+    } else if (event.keyCode === 38) {
+      // 向上箭头
+      if (inputName == 1) {
+        //设置光标
+        document.getElementById("定额代号").focus();
+        document.getElementById("定额代号").select();
+      } else if (inputName == 10) {
+        for (var i = 9; i >= 1; i--) {
+          if (formData.value["sczl_bh" + i] != "") {
+            document.getElementById("rate" + (parseInt(i) + 1)).focus();
+            document.getElementById("rate" + (parseInt(i) + 1)).select();
+            break;
+          } else {
+            if (i == 1) {
+              document.getElementById("sczl_bh1").focus();
+              document.getElementById("sczl_bh1").select();
+              break;
+            }
+          }
+        }
+      } else {
+        document.getElementById("rate" + (parseInt(inputName) - 1)).focus();
+        document.getElementById("rate" + (parseInt(inputName) - 1)).select();
+      }
+    } else if (event.keyCode === 8) {
+      // 删除箭头
+      if (event.target.selectionStart === 0) {
+        if (inputName == 1) {
+          //设置光标
+          document.getElementById("定额代号").focus();
+          document.getElementById("定额代号").setSelectionRange(0, 0);
+        } else if (inputName == 10) {
+          for (var i = 9; i >= 1; i--) {
+            if (formData.value["sczl_bh" + i] != "") {
+              document.getElementById("rate" + (parseInt(i) + 1)).focus();
+              document
+                .getElementById("rate" + (parseInt(i) + 1))
+                .setSelectionRange(0, 0);
+              break;
+            } else {
+              if (i == 1) {
+                document.getElementById("sczl_bh1").focus();
+                document.getElementById("sczl_bh1").setSelectionRange(0, 0);
+                break;
+              }
+            }
+          }
+        } else {
+          document.getElementById("rate" + (parseInt(inputName) - 1)).focus();
+          document
+            .getElementById("rate" + (parseInt(inputName) - 1))
+            .setSelectionRange(0, 0);
+        }
+      }
+    } else if (event.keyCode === 37) {
+      // 向左箭头
+      if (event.target.selectionStart === 0) {
+        if (inputName == 1) {
+          //设置光标
+          document.getElementById("定额代号").focus();
+          document.getElementById("定额代号").select();
+        } else if (inputName == 10) {
+          for (var i = 9; i >= 1; i--) {
+            if (formData.value["sczl_bh" + i] != "") {
+              document.getElementById("rate" + (parseInt(i) + 1)).focus();
+              document.getElementById("rate" + (parseInt(i) + 1)).select();
+              break;
+            } else {
+              if (i == 1) {
+                document.getElementById("sczl_bh1").focus();
+                document.getElementById("sczl_bh1").select();
+                break;
+              }
+            }
+          }
+        } else {
+          document.getElementById("rate" + (parseInt(inputName) - 1)).focus();
+          document.getElementById("rate" + (parseInt(inputName) - 1)).select();
+        }
+      }
+    } else if (event.keyCode === 39) {
+      // 向右箭头
+      if (event.target.selectionStart === event.target.value.length) {
+        //设置光标
+        document.getElementById("rate" + inputName).focus();
+        document.getElementById("rate" + inputName).select();
+      }
+    }
+  } else {
+    if (event.keyCode === 13 || event.keyCode === 40) {
+      // Enter 或向下箭头
+      if (inputName == 10) {
+        //设置光标
+        document.getElementById("rate" + inputName).focus();
+        document.getElementById("rate" + inputName).select();
+      } else {
+        //设置光标
+        document.getElementById("sczl_bh10").focus();
+        document.getElementById("sczl_bh10").select();
+      }
+    } else if (event.keyCode === 38) {
+      // 向上箭头
+      if (inputName == 1) {
+        //设置光标
+        document.getElementById("定额代号").focus();
+        document.getElementById("定额代号").select();
+      } else if (inputName == 10) {
+        for (var i = 9; i >= 1; i--) {
+          if (formData.value["sczl_bh" + i] != "") {
+            document.getElementById("sczl_bh" + (parseInt(i) + 1)).focus();
+            document.getElementById("sczl_bh" + (parseInt(i) + 1)).select();
+            break;
+          } else {
+            if (i == 1) {
+              document.getElementById("sczl_bh1").focus();
+              document.getElementById("sczl_bh1").select();
+              break;
+            }
+          }
+        }
+      } else {
+        document.getElementById("rate" + (parseInt(inputName) - 1)).focus();
+        document.getElementById("rate" + (parseInt(inputName) - 1)).select();
+      }
+    } else if (event.keyCode === 8) {
+      // 删除箭头
+      if (event.target.selectionStart === 0) {
+        if (inputName == 1) {
+          //设置光标
+          document.getElementById("定额代号").focus();
+          document.getElementById("定额代号").setSelectionRange(0, 0);
+        } else if (inputName == 10) {
+          for (var i = 9; i >= 1; i--) {
+            if (formData.value["sczl_bh" + i] != "") {
+              document.getElementById("sczl_bh" + (parseInt(i) + 1)).focus();
+              document
+                .getElementById("sczl_bh" + (parseInt(i) + 1))
+                .setSelectionRange(0, 0);
+              break;
+            } else {
+              if (i == 1) {
+                document.getElementById("sczl_bh1").focus();
+                document.getElementById("sczl_bh1").setSelectionRange(0, 0);
+                break;
+              }
+            }
+          }
+        } else {
+          document.getElementById("rate" + (parseInt(inputName) - 1)).focus();
+          document
+            .getElementById("rate" + (parseInt(inputName) - 1))
+            .setSelectionRange(0, 0);
+        }
+      }
+    } else if (event.keyCode === 37) {
+      // 向左箭头
+      if (event.target.selectionStart === 0) {
+        if (inputName == 1) {
+          //设置光标
+          document.getElementById("定额代号").focus();
+          document.getElementById("定额代号").select();
+        } else if (inputName == 10) {
+          for (var i = 9; i >= 1; i--) {
+            if (formData.value["sczl_bh" + i] != "") {
+              document.getElementById("sczl_bh" + (parseInt(i) + 1)).focus();
+              document.getElementById("sczl_bh" + (parseInt(i) + 1)).select();
+              break;
+            } else {
+              if (i == 1) {
+                document.getElementById("sczl_bh1").focus();
+                document.getElementById("sczl_bh1").select();
+                break;
+              }
+            }
+          }
+        } else {
+          document.getElementById("rate" + (parseInt(inputName) - 1)).focus();
+          document.getElementById("rate" + (parseInt(inputName) - 1)).select();
+        }
+      }
+    } else if (event.keyCode === 39) {
+      // 向右箭头
+      if (event.target.selectionStart === event.target.value.length) {
+        if (inputName == 10) {
+          //设置光标
+          document.getElementById("rate" + inputName).focus();
+          document.getElementById("rate" + inputName).select();
+        } else {
+          //设置光标
+          document.getElementById("sczl_bh10").focus();
+          document.getElementById("sczl_bh10").select();
+        }
+      }
+    }
+  }
+};
+
+//获取员工信息
+const GetYg = (event, inputName) => {
+  if (formData.value["sczl_bh" + inputName] != "") {
+    getYg({
+      sczl_bh: event.target.value,
+    }).then((response) => {
+      if (response.code == 0) {
+        if (response.data.length == 1) {
+          formData.value["sczl_bh" + inputName + "_name"] =
+            response.data[0].ygxm;
+          formData.value["sczl_bh" + inputName] = response.data[0].员工编号;
+        } else if (response.data.length > 1) {
+          index_Yg = inputName;
+          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_bh" + inputName] = "";
+        }
+      } else {
+        formData.value["sczl_bh" + inputName + "_name"] = "";
+        formData.value["sczl_bh" + inputName] = "";
+      }
+    });
+  }
+};
+let index_Yg = "";
+const dialogSelectVisible_Yg = ref(false);
+const selectData_Yg = reactive([]);
+// 处理选择框
+const handleSelectClick_Yg = (row, column, event) => {
+  formData.value["sczl_bh" + index_Yg + "_name"] = row.ygxm;
+  formData.value["sczl_bh" + index_Yg] = row.员工编号;
+  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["sczl_bh" + index_Yg + "_name"] = row.ygxm;
+    formData.value["sczl_bh" + index_Yg] = row.员工编号;
+  });
+};
+
+//比例失去焦点
+const rate = (event, inputName) => {
+  if (event.keyCode === 13 || event.keyCode === 40) {
+    // Enter 或向下箭头
+    if (inputName == 10) {
+      ElMessageBox.confirm("数据存盘?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        enterDialog();
+      });
+    } else {
+      //设置光标
+      document.getElementById("sczl_bh" + (parseInt(inputName) + 1)).focus();
+      document.getElementById("sczl_bh" + (parseInt(inputName) + 1)).select();
+    }
+  } else if (event.keyCode === 38) {
+    // 向上箭头
+    document.getElementById("sczl_bh" + inputName).focus();
+    document.getElementById("sczl_bh" + inputName).select();
+  } else if (event.keyCode === 8) {
+    // 删除箭头
+    if (event.target.selectionStart === 0) {
+      document.getElementById("sczl_bh" + inputName).focus();
+      document.getElementById("sczl_bh" + inputName).setSelectionRange(0, 0);
+    }
+  } else if (event.keyCode === 37) {
+    // 向左箭头
+    if (event.target.selectionStart === 0) {
+      document.getElementById("sczl_bh" + inputName).focus();
+      document.getElementById("sczl_bh" + inputName).select();
+    }
+  } else if (event.keyCode === 39) {
+    // 向右箭头
+    if (event.target.selectionStart === event.target.value.length) {
+      if (inputName == 10) {
+        //设置光标
+      } else {
+        document.getElementById("sczl_bh" + inputName).focus();
+        document.getElementById("sczl_bh" + inputName).select();
+      }
+    }
+  }
+};
+
+// 搜索
+function onSearch() {
+  params.gdbh = positionvalue.value;
+  params.type = "getLocateTable";
+  page.value = 1;
+  console.log("123");
+  GetLocate();
+}
+const ADD = ref("0");
+//新增
+function onAdd() {
+  ADD.value = "新增";
+  type.value = "create";
+  if (table_type == "db_sczl") {
+    if (typeof lastCellValue == "number") {
+      GetInfo(lastCellValue);
+    }
+    initFormData();
+    dialogFormVisible.value = true;
+  } else {
+    // GetInfo(table.value)
+    // console.log(['table_type'])
+    // console.log('此数据无法新增')
+    dialogFormVisible.value = true;
+  }
+
+  // Productionadd()
+}
+//新增
+const Productionadd = async () => {
+  const response = await productionadd();
+  if (response.code === 0) {
+  }
+  getTableData();
+};
+//删除
+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 productiondel({
+      UniqId: lastCellValue,
+    });
+    if (response.code === 0) {
+      ElMessage({
+        type: "success",
+        message: "删除成功",
+      });
+      //刷新侧边栏
+      getTabdata();
+      //刷新页面
+      getTableData();
+    }
+  });
+};
+//同步
+function synchronous() {
+  Synchronous();
+}
+//同步
+const Synchronous = async () => {
+  const response = await ProductionData();
+  if (response.code === 0) {
+    ElMessage({
+      type: "success",
+      message: "同步成功",
+    });
+  }
+  // getTableData()
+};
+const displayMod = ref("");
+// 按工单显示
+function onCountByGdbh() {
+  if (displayMod.value === "date") {
+    displayMod.value = "gd";
+    CountByGdbh();
+  } else {
+    getTabdata();
+  }
+}
+//按工单显示
+const CountByGdbh = async () => {
+  const response = await productionByGdbh();
+
+  if (response.code === 0) {
+    // console.log(displayMod.value)
+    treeData.splice(0, treeData.length);
+    // 遍历接口返回的数据
+    response.data.forEach((item) => {
+      // 创建父节点
+      treeData[item.sczl_gdbh] = {
+        label: item.sczl_gdbh + "【" + item.yj_yjmc + "】",
+        children: [],
+        params: {
+          date: item.sczl_gdbh,
+          sys_id: "",
+          total: "",
+        },
+      };
+
+      // 添加子节点
+      for (const key in item.sys) {
+        const childNode = {
+          name: key,
+          label: key + "  【记录数" + item.sys[key] + "张】",
+          params: {
+            date: item.sczl_gdbh,
+            sys_id: key,
+            total: item.sys[key],
+          },
+        };
+        treeData[item.sczl_gdbh].children.push(childNode);
+      }
+    });
+    // console.log(treeData)
+    // //   // 打印树形结构
+    //   console.log(JSON.stringify(tree, null, 2));
+
+    //   // 将父子关系转换为数组
+    //   const transformedData = Object.values(tree);
+    //   console.log(transformedData);
+    //   treeData = transformedData;
+  }
+  // // 将父子关系转换为数组
+  // const transformedData = Object.values(tree);
+  // console.log(transformedData)
+  // treeData = transformedData;
+
+  // getTableData()
+};
+// ============== 表格控制部分结束 ===============
+
+// 获取需要的字典 可能为空 按需保留
+const setOptions = async () => {};
+
+// 获取需要的字典 可能为空 按需保留
+setOptions();
+
+// 多选数据
+const multipleSelection = ref([]);
+// 多选
+const handleSelectionChange = (val) => {
+  // multipleSelection.value = 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_检验类别
+    // console.log(ScrapFactor)
+    lastCellValue = val[lenth - 1].UniqId;
+    // console.log(val)
+    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;
+};
+// 弹窗确定
+const enterDialog = async () => {
+  //弹窗提示确认
+  ElMessageBox.confirm("数据存盘?", "提示", {
+    confirmButtonText: "确定",
+    cancelButtonText: "取消",
+    type: "warning",
+  }).then(() => {
+    if (formData.value.sczl_gdbh == "") {
+      ElMessage({
+        type: "error",
+        message: "请填写工单编号",
+      });
+      document.getElementById("工单编号").focus();
+      document.getElementById("工单编号").select();
+      return;
+    }
+    if (formData.value.sczl_yjno == "") {
+      ElMessage({
+        type: "error",
+        message: "请填写印件号",
+      });
+      document.getElementById("印件号").focus();
+      document.getElementById("印件号").select();
+      return;
+    }
+    if (formData.value.sczl_gxmc == "") {
+      ElMessage({
+        type: "error",
+        message: "请填写工序名称",
+      });
+      document.getElementById("工序名称").focus();
+      document.getElementById("工序名称").select();
+      return;
+    }
+    if (formData.value.sczl_rq == "") {
+      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_cl == "") {
+      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();
+  });
+
+  // elFormRef.value?.validate(async (valid) => {
+  //   if (!valid) return
+
+  //   let res
+  //   switch (type.value) {
+  //     case 'create':
+  //       res = await createCompany(formData.value)
+  //       break
+  //     case 'update':
+  //       res = await updateCompany(formData.value)
+  //       break
+  //     default:
+  //       res = await createCompany(formData.value)
+  //       break
+  //   }
+  //   if (res.code === 0) {
+  //     ElMessage({
+  //       type: 'success',
+  //       message: '创建/更改成功'
+  //     })
+  //     closeDialog()
+  //     getTableData()
+  //   }
+  // updateDetailData()
+  // })
+};
+// 更新数据
+const updateDetailData = async () => {
+  const restoredData = {
+    UniqId: lastCellValue,
+    sczl_gdbh: formData.value.sczl_gdbh,
+    Gd_cpmc: formData.value.Gd_cpmc,
+    sczl_yjno: formData.value.sczl_yjno,
+    yj_yjmc: formData.value.yj_yjmc,
+    sczl_gxmc: formData.value.sczl_gxmc,
+    sczl_gxh: formData.value.sczl_gxh,
+    sczl_type: formData.value.sczl_type,
+    sczl_rq: formData.value.sczl_rq,
+    sczl_jtbh: formData.value.sczl_jtbh,
+    sczl_bzdh: formData.value.sczl_bzdh,
+    sczl_ms: formData.value.sczl_ms,
+    sczl_ls: formData.value.sczl_ls,
+    sczl_cl: formData.value.sczl_cl,
+    sczl_fp: formData.value.sczl_zcfp,
+    sczl_装版总工时: formData.value.sczl_装版总工时,
+    sczl_装版工时: formData.value.sczl_装版工时,
+    sczl_保养工时: formData.value.sczl_保养工时,
+    sczl_异常停机工时: formData.value.sczl_异常停机工时,
+    sczl_打样总工时: formData.value.sczl_打样总工时,
+    sczl_打样工时: formData.value.sczl_打样工时,
+    sczl_设备运行工时: formData.value.sczl_设备运行工时,
+    拆片联拼系数: formData.value.拆片联拼系数,
+    拆片条小盒系数: formData.value.拆片条小盒系数,
+    sczl_dedh: formData.value.sczl_dedh,
+    sczl_工价系数: formData.value.sczl_工价系数,
+    sczl_计产系数: formData.value.sczl_计产系数,
+    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_rate1: formData.value.sczl_rate1,
+    sczl_rate2: formData.value.sczl_rate2,
+    sczl_rate3: formData.value.sczl_rate3,
+    sczl_rate4: formData.value.sczl_rate4,
+    sczl_rate5: formData.value.sczl_rate5,
+    sczl_rate6: formData.value.sczl_rate6,
+    sczl_rate7: formData.value.sczl_rate7,
+    sczl_rate8: formData.value.sczl_rate8,
+    sczl_rate9: formData.value.sczl_rate9,
+    sczl_rate10: formData.value.sczl_rate10,
+    sys_id: sys_id,
+  };
+  // 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_PgCl${num}`] = item.sczl_PgCl
+  //   restoredData[`sczl_clAdd${num}`] = item.sczl_clAdd
+  // })
+  if (ADD.value == "新增") {
+    // console.log('新增')
+    const response = await productionadd(restoredData);
+    // ADD.value='1'
+    // console.log(ADD.value)
+    ADD.value = "0";
+    if (response.code == 0) {
+      ElMessage({
+        type: "success",
+        message: "新增成功",
+      });
+      dialogFormVisible.value = false;
+      //刷新侧边栏
+      getTabdata();
+      if (params.date != "") {
+        //刷新页面
+        getTableData();
+      }
+    }
+  } else {
+    const response = await productionedit(restoredData);
+    if (response.code == 0) {
+      ElMessage({
+        type: "success",
+        message: "更新成功",
+      });
+    }
+    dialogFormVisible.value = false;
+    // ADD.value='0'
+    // console.log(ADD.value)
+  }
+  formData.value = [];
+  //   console.log(restoredData)
+  //    console.log(lastCellValue)
+  //    formData.value.UniqId=lastCellValue
+  //    console.log(formData)
+  // restoredData.UniqId='5'
+
+  // console.log(FormData)
+};
+let table = ref(5);
+let lastCellValue = ref();
+let table_type = ref();
+// 双击表格操作
+const type = ref("");
+
+function doubleClick(row, column, event) {
+  type.value = "update";
+  lastCellValue = row["UniqId"];
+  table.value = lastCellValue;
+  if (row["table_type"] == "db_sczl") {
+    console.log(["table_type"]);
+    dialogFormVisible.value = true;
+    GetInfo(table.value);
+  } else {
+    // GetInfo(table.value)
+    ElMessage({
+      type: "error",
+      message: "此工单不展示详细数据",
+    });
+  }
+}
+// 单击表格操作
+function Click(row, column, event) {
+  lastCellValue = row["UniqId"];
+  console.log(lastCellValue);
+  table_type = row["table_type"];
+  // if(row['table_type']=='db_sczl'){
+  // 	 dialogFormVisible.value = true
+  // 	 GetInfo(table.value)
+  // }else{
+  //  console.log('此数据不展示详细信息')
+  // }
+}
+//获取详细信息
+const GetInfo = async (value) => {
+  const response = await productionInfo({
+    UniqId: value,
+  });
+  if (response.code === 0) {
+    console.log(response);
+    formData.value = response.data;
+    console.log(formData);
+  }
+};
+const exportToExcel2 = () => {
+
+    const el = document.getElementById("tab");
+    // 文件名
+    const filename = "导出到excel.xlsx";
+    const wb = XLSX.utils.table_to_book(el, { raw: true });
+    const wbout = XLSX.write(wb, {
+      bookType: "xlsx",
+      bookSST: true,
+      type: "array",
+    });
+    try {
+      FileSaver.saveAs(
+        new Blob([wbout], { type: "application/octet-stream" }),
+        filename
+      );
+    } catch (e) {
+      console.log(e);
+    }
+    return wbout;
+};
+// 导出excel
+// function exportExcel() {
+// 	Execelport()
+
+// 	// exportExcelFile(data);
+// }
+// const Execelport = async (value) => {
+// 	const response = await Export({
+// 		file_name: '111',
+// 		date: '2024-01-13',
+// 		sys_id: '[1002/郑小丽]',
+// 		fields: ['sczl_gdbh', 'Gd_cpmc', 'jyno_gxmc',
+// 			'sczl_rq', 'sczl_jtbh', 'sczl_bzdh', 'sczl_num', 'sczl_cl', 'sczl_ms',
+// 			'sczl_zcfp', 'sczl_zccp', 'sczl_来料异常', 'sczl_装版工时', 'sczl_保养工时', 'sczl_打样工时',
+// 			'sczl_异常停机工时', 'sczl_设备运行工时', 'sczl_bh1', 'sczl_bh1_name', 'sczl_bh2', 'sczl_bh2_name',
+// 			'sczl_bh3', 'sczl_bh3_name', 'sczl_bh4', 'sczl_bh4_name', 'sczl_bh5', 'sczl_bh5_name',
+// 			'sczl_bh6', 'sczl_bh6_name',
+// 			'拆片联拼系数', '拆片条小盒系数', 'sczl_工价系数', '日定额', '千件工价', '补产标准'
+// 		]
+// 	});
+// 	console.log(response)
+// }
+
+// 生命周期钩子
+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;
-		/* 背景颜色 */
-	}
+.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;
-	}
-
-	:deep(.plan-usage-low div) {
-		color: blue !important;
-		font-size: 16px;
-		font-weight: bold;
-	}
+: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;
+}
+
+:deep(.plan-usage-low div) {
+  color: blue !important;
+  font-size: 16px;
+  font-weight: bold;
+}
 </style>

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 761 - 254
src/view/performance/chejianbaogong.vue


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 644 - 217
src/view/yunyin/shengchanguanli/shebeiyunxing.vue


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно