Przeglądaj źródła

工单资料万小张自动计算/其他计件单新增修改删除功能回车事件编写

曹鹤洋 1 rok temu
rodzic
commit
889a689c5f

+ 8 - 0
src/api/mes_api_gty/otherDocuments.js

@@ -90,4 +90,12 @@ export const add = (data) => {
     method: 'post',
     data
   })
+}
+// 删除
+export const del = (data) => {
+  return service({
+    url: '/mes_server/other_count_document/del',
+    method: 'post',
+    data
+  })
 }

+ 914 - 811
src/view/performance/07-otherDocuments/index.vue

@@ -1,813 +1,916 @@
-<template>
-  <div>
-    <layout>
-      <layout-header>
-        <!-- 按钮 -->
-        <el-form inline>
-          <el-form-item>
-            <el-input
-              v-model="searchInfo"
-              placeholder="搜索产品编号或产品名称"
-              clearable
-              style="width: 180px;"
-            />
-            <el-button
-              type="primary"
-              icon="Search"
-              class="search"
-              @click="handleSearch"
-            />
-
-            <el-button
-              type="primary"
-              icon="edit"
-              class="bt"
-              @click="handleShowDetail"
-            ><i class="el-icon-edit" />查改
-            </el-button>
-
-            <el-button
-              type="primary"
-              icon="edit"
-              class="bt"
-              @click="handleShowAdd"
-            >新增
-            </el-button>
-
-          </el-form-item>
-        </el-form>
-
-        <!-- 弹出框 -->
-        <div>
-          <!-- 详情页 -->
-          <el-dialog
-            v-model="dialogFormVisible"
-            :before-close="closeDialog"
-            :title="type"
-            destroy-on-close
-            width="800px"
-          >
-            <!-- <el-scrollbar height="500px"> -->
-            <el-form
-              id="detail-form"
-              ref="elFormRef"
-              :model="detailData"
-              label-position="left"
-              inline
-              @keyup="moveFocus"
-            >
-              <el-form-item
-                label="员工编号"
-              >
-                <el-input
-                  v-model="detailData.Sczl_bh1"
-                  style="width: 100px"
-                  @keyup.enter="handleYgbhEnter"
-                />
-                <el-input
-                  v-model="detailData.name"
-                  style="width: 100px; margin-left: 5px"
-                  readonly
-                />
-              </el-form-item>
-
-              <br>
-
-              <el-form-item
-                label="工序类别"
-              >
-                <el-select
-                  v-model="detailData.sczl_Type"
-                  style="width: 150px"
-                >
-                  <el-option
-                    label="拆片"
-                    value="拆片"
-                  />
-                  <el-option
-                    label="包装"
-                    value="包装"
-                  />
-                  <el-option
-                    label="打包"
-                    value="打包"
-                  />
-                  <el-option
-                    label="拉料"
-                    value="拉料"
-                  />
-
-                </el-select>
-
-              </el-form-item>
-
-              <el-form-item
-                label="日期"
-              >
-                <el-input
-				type="date" max="9999-12-31"
-                  v-model="detailData.Sczl_rq"
-                  style="width: 150px"
-                />
-              </el-form-item>
-
-              <el-form-item
-                label="工单编号"
-              >
-                <el-input
-                  v-model="detailData.sczl_gdbh"
-                  style="width: 100px"
-                  @keyup.enter="handleGdbhEnter"
-                />
-                <el-input
-                  v-model="detailData.Gd_cpmc"
-                  style="width: 400px; margin-left: 5px"
-                  readonly
-                />
-              </el-form-item>
-
-              <el-form-item
-                label="工艺流程"
-              >
-                <el-input
-                  v-model="detailData.Sczl_gxmc"
-                  style="width: 300px"
-                  @keyup.enter="handleGylcEnter"
-                />
-                <el-input
-                  v-model="detailData.sczl_gxh"
-                  style="width: 100px; margin-left: 5px"
-                  readonly
-                />
-              </el-form-item>
-              <br>
-
-              <el-form-item
-                v-if="type === '新增'"
-                label=""
-                style="margin-left: 67px;"
-              >
-                <el-input
-                  v-model="leftData"
-                  style="width: 100px"
-                />
-              </el-form-item>
-
-              <el-form-item
-                v-if="type === '新增'"
-                label="X"
-              >
-                <el-input
-                  v-model="rightData"
-                  style="width: 100px;margin-left: 12px;"
-                  @keyup.enter="()=>{detailData.Sczl_cl = (leftData * rightData).toString()}"
-                  @keyup.down="()=>{detailData.Sczl_cl = (leftData * rightData).toString()}"
-                />
-              </el-form-item>
-
-              <el-form-item
-                v-if="type === '新增'"
-                label="计件产量"
-                style="margin-left: 30px;"
-              >
-                <el-input
-                  v-model="detailData.Sczl_cl"
-                  style="width: 100px"
-                />
-              </el-form-item>
-
-              <el-form-item
-                v-if="type === '查改'"
-                label="计件产量"
-                style="margin-left: 400px;"
-              >
-                <el-input
-                  v-model="detailData.Sczl_cl"
-                  style="width: 100px"
-                />
-              </el-form-item>
-
-              <el-form-item
-                label="工价代号"
-              >
-                <el-input
-                  v-model="detailData.sys_bh"
-                  style="width: 200px"
-                  @keyup.enter="handleGjdhEnter"
-                />
-                <el-input
-                  v-model="detailData.sys_mc"
-                  style="width: 300px; margin-left: 5px"
-                  readonly
-                />
-              </el-form-item>
-
-              <el-form-item
-                label="票号备注"
-              >
-                <el-input
-                  v-model="detailData.Sczl_desc"
-                  style="width: 505px"
-                />
-              </el-form-item>
-
-            </el-form>
-
-            <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="dialogDedh"
-            :before-close="()=>{dialogDedh = false}"
-            title="工价代号"
-            destroy-on-close
-          >
-
-            <el-scrollbar
-              style="height: 50vh;width: 50vw;"
-            >
-              <el-tree
-                :data="dedhTreeData"
-                highlight-current
-                style="width: 90%;"
-                @node-click="handleSelectDjdh"
-              />
-            </el-scrollbar>
-          </el-dialog>
-
-          <!-- 工艺流程弹窗 -->
-          <el-dialog
-            v-model="dialogGylc"
-            :before-close="()=>{dialogGylc = false}"
-            title="工艺流程"
-            destroy-on-close
-			style="width: 50%px; "
-			
-			@keydown="selectGX($event)"
-          >
-		  
-            <!-- <el-scrollbar
-              style="height: 50vh;width: 50vw;"
-            >
-              <el-tree
-                :data="gylcTreeData"
-                highlight-current
-                style="width: 90%;"
-                @node-click="handleSelectGylc"
-				node-key="id"
-              />
-            </el-scrollbar> -->
-			
-			<el-table tooltip-effect="dark" :data="selectData" row-key="ID"
-			  highlight-current-row="true" border style="width:240px" height="500px"
-			  @row-dblclick="handleSelectClick" ref="table2" >		  
-			  <el-table-column prop="jyGx" label="检验工序" width="200" />		 
-			</el-table>
-			
-          </el-dialog>
-
-        </div>
-
-      </layout-header>
-
-      <layout>
-        <!--    左侧树侧形结构-->
-        <layout-sider
-          :resize-directions="['right']"
-          :width="220"
-          style="margin-right: 10px;"
-        >
-          <div
-            class="JKWTree-tree"
-            style="height: 70vh;"
-          >
-            <h3>其他计件单据维护</h3>
-            <el-tree
-              :data="treeData"
-              highlight-current
-              @node-click="handleNodeClick"
-            />
-          </div>
-        </layout-sider>
-
-        <layout-content>
-          <!-- 数据展示 -->
-          <el-table
-            ref="table"
-            style="width: 100%"
-            tooltip-effect="dark"
-            :data="tableData"
-            row-key="ID"
-            highlight-current-row
-            border
-            show-overflow-tooltip="true"
-            :row-style="{ height: '20px' }"
-            :cell-style="{ padding: '0px' }"
-            :header-row-style="{ height: '20px' }"
-            :header-cell-style="{ padding: '0px' }"
-            @selection-change="handleSelectionChange"
-            @row-dblclick="handleShowDetail"
-            @current-change="(row, oldRow) => { currentRow = row}"
-          >
-            <el-table-column
-              type="selection"
-              width="55"
-            />
-
-            <!-- 循环渲染列 -->
-            <el-table-column
-              v-for=" column in tableColumns "
-              :key="column.prop"
-              :prop="column.prop"
-              :label="column.label"
-              :width="column.width"
-			  sortable
-            />
-
-          </el-table>
-          <!-- 分页 -->
-          <div class="gva-pagination">
-            <el-pagination
-              v-model:current-page="page"
-              v-model:page-size="limit"
-              layout="total, sizes, prev, pager, next, jumper"
-              :page-sizes="[10, 30, 50, 100]"
-              :total="total"
-              @current-change="handleCurrentChange"
-              @size-change="handleSizeChange"
-            />
-          </div>
-        </layout-content>
-      </layout>
-    </layout>
-
-  </div>
-</template>
-
-<script setup>
-import { Layout, LayoutContent, LayoutHeader, LayoutSider } from '@arco-design/web-vue'
-import { ElMessage, dayjs } from 'element-plus'
-import { ref, reactive } from 'vue'
-import { getSide, getTable, getYg, getGdmc, getDedh, getGxMc, updateData, add } from '@/api/mes_api_gty/otherDocuments'
-import { useUserStore } from '@/pinia/modules/user'
-const userStore = useUserStore() 
-const sys_id='['+userStore.userInfo.userName+'/'+userStore.userInfo.nickName+']'
-defineOptions({
-  name: '07OtherDocuments'
-})
-
-// 侧边栏数据请求
-const treeData = reactive([])
-const getSideData = async() => {
-  const response = await getSide()
-  if (response.code === 0) {
-    const transformedData = response.data.map(item => ({
-      label: `${item.date.replace(/-/g, '.')}【产量合计: ${item.counts}】`,
-      children: item.sys.map(sysItem => ({
-        label: `${sysItem.Sczl_bh1}(${sysItem.name}) 【产量合计: ${sysItem.count}】`,
-        params: {
-          date: item.date.substring(0, 4) + '-' + item.date.substring(4),
-          Sczl_bh1: sysItem.Sczl_bh1,
-        },
-      })),
-    }))
-    treeData.splice(0, treeData.length, ...transformedData)
-  }
-}
-getSideData()
-
-const elFormRef = ref()
-
-// ============== 表格页面 ==============
-const tableColumns = [
-  { prop: 'sczl_Type', label: '计件类型', width: '120' },
-  { prop: 'Sczl_rq', label: '日期', width: '100' },
-  { prop: 'Sczl_bh1', label: '员工编号', width: '120' },
-  { prop: 'name', label: '员工姓名', width: '120' },
-  { prop: 'sczl_gdbh', label: '工单编号', width: '120' },
-  { prop: 'Gd_cpmc', label: '产品名称', width: '300' },
-  { prop: 'Sczl_cl', label: '产量', width: '100' },
-  { prop: '', label: '千件工价', width: '120' }, // prop 属性值需要补充
-  { prop: 'sys_mc', label: '工价备注', width: '200' }, // prop 属性值需要补充
-  { prop: 'Sczl_desc', label: '备注', width: '100' },
-  { prop: 'Sczl_gxmc', label: '工序名称', width: '120' },
-  { prop: 'sczl_yjno', label: '印件号', width: '100' },
-  { prop: 'sczl_gxh', label: '工序号', width: '100' },
-  { prop: 'sys_id', label: '创建用户', width: '150' },
-  { prop: 'sys_rq', label: '创建时间', width: '200' },
-  { prop: 'mod_rq', label: '修改时间', width: '200' },
-  { prop: 'UniqId', label: 'UNIQID', width: '100' }
-]
-const tableData = reactive([])
-const currentRow = ref()
-const type = ref('')
-
-const page = ref(1)
-const total = ref(0)
-const limit = ref(10)
-const searchInfo = ref('')
-const params = {
-  date: '',
-  Sczl_bh1: '',
-  order: '',
-  page: page.value.toString(),
-  limit: limit.value.toString(),
-}
-
-const table = ref()
-const setCurrent = (row) => {
-  table.value?.setCurrentRow(row)
-}
-
-// 获取表格数据
-const getTableData = async() => {
-  // try {
-  const response = await getTable(params)
-  if (response.code === 0) {
-    total.value = response.data.total
-    tableData.splice(0, tableData.length, ...response.data.rows)
-    setCurrent(tableData[0])
-  }
-}
-
-// 分页设置
-const handleSizeChange = () => {
-  params.limit = limit.value.toString()
-  getTableData()
-}
-
-// 页面跳转
-const handleCurrentChange = () => {
-  params.page = page.value.toString()
-  getTableData()
-}
-
-// 点击左侧节点
-const handleNodeClick = (node, check) => {
-  if (node.params) {
-    params.date = node.params.date
-    params.Sczl_bh1 = node.params.Sczl_bh1
-    params.order = ''
-    page.value = 1
-    handleCurrentChange()
-  }
-}
-
-// 搜索
-function handleSearch() {
-  params.order = searchInfo.value
-  params.date = ''
-  params.Sczl_bh1 = ''
-  page.value = 1
-  handleCurrentChange()
-}
-
-// ============== 详情页面 ==============
-const detailData = reactive({})
-const leftData = ref(0)
-const rightData = ref(0)
-const dedhTreeData = ref()
-const gylcTreeData = ref()
-const selectData = reactive([])
-
-
-// 弹窗控制标记
-const dialogFormVisible = ref(false)
-const dialogDedh = ref(false)
-const dialogGylc = ref(false)
-// 新增数据
-const handleShowAdd = () => {
-  type.value = '新增'
-  if (!currentRow.value) {
-   detailData.Sczl_bh1 = '';
-   detailData.Sczl_cl = '';
-   detailData.sys_bh = '';
-   detailData.Sczl_desc = '';
-   detailData.sczl_gdbh = '';
-   detailData.Sczl_gxmc = '';
-   detailData.sczl_Type = '';
-   detailData.sczl_gxh = '';
-  }else{
-  	  Object.assign(detailData, currentRow.value)
-  }
-  
-  // dialogFormVisible.value = true
-  const date = dayjs().format('YYYY-MM-DD')
-  detailData.Sczl_rq = date
-  showDialog()
-}
-// 查改
-const handleShowDetail = () => {
-  type.value = '查改'
-  Object.assign(detailData, currentRow.value)
-  // dialogFormVisible.value = true
-  showDialog()
-}
-const handleYgbhEnter = async() => {
-  const res = await getYg({ sczl_bh: detailData.Sczl_bh1 })
-  if (res.code === 0) {
-    detailData.name = res.data[0].ygxm
-	detailData.Sczl_bh1 = res.data[0].员工编号
-  }
-}
-
-const handleGdbhEnter = async() => {
-  const res = await getGdmc({ gdbh: detailData.sczl_gdbh })
-  if (res.code === 0) {
-    detailData.Gd_cpmc = res.data.Gd_cpmc
-  }
-}
-
-const handleGylcEnter = async() => {
-  const res = await getGxMc({ gdbh: detailData.sczl_gdbh, keyword: '' })
-  if (res.code === 0) {
-	const data =res.data
-	selectData.splice(0, selectData.length, ...data)
-	setGXCurrent[selectData[0]]
-    dialogGylc.value = true
-  }
-}
-
-// 工单选择框
-const handleSelectClick = (row, column, event) => {
-  const { jyGx, Gy0_gxh } = row
-  detailData.Sczl_gxmc=row.jyGx
-  detailData.sczl_gxh = row.Gy0_gxh
-  dialogGylc.value = false
-}
-const table2 = ref()
-const setGXCurrent = (row) => {
-  setTimeout(()=>{
-	  table2.value?.setCurrentRow(row)
-	  const { jyGx, Gy0_gxh } = row
-	  detailData.Sczl_gxmc=row.jyGx
-	  detailData.sczl_gxh = row.Gy0_gxh 
-  })
-}
-const handleSelectGylc = (node, check) => {
-   console.log(node.key)
-   console.log(check)
-  detailData.Sczl_gxmc = node['jyGx']
-  detailData.sczl_gxh = node['Gy0_gxh']
-  dialogGylc.value = false
-}
-const currentIndex = ref(0);
-const GXCurrent = ref(0);
-const selectGX = (event) => {
-    if (event.keyCode === 40) { // 向下箭头
-        if (currentIndex.value < selectData.length - 1) {
-            currentIndex.value++;
-            setGXCurrent(selectData[currentIndex.value]);
-        } else {
-            currentIndex.value = 0;
-            setGXCurrent(selectData[currentIndex.value]); // 到达最后一行时回到第一行			
-        }
-    } else if (event.keyCode === 38) { // 向上箭头
-        if (currentIndex.value > 0) {
-            currentIndex.value--;
-            setGXCurrent(selectData[currentIndex.value]);
-        } else {
-            currentIndex.value = selectData.length - 1;
-            setGXCurrent(selectData[currentIndex.value]); // 到达第一行时回到最后一行
-        }
-    } else if (event.keyCode === 13) { // 回车键
-        dialogGylc.value = false
-    }
-}
-
-const handleGjdhEnter = async() => {
-  const res = await getDedh({ sczl_jtbh: '' })
-  if (res.code === 0) {
-    const { data } = res
-
-    const transformData = (data) => {
-      if (Array.isArray(data)) {
-        return data.map((item) => transformData(item))
-      } else if (typeof data === 'object') {
-        const { Key_, sys_bh, sys_mc, bh_mc } = data
-        const label = `${sys_bh}【${sys_mc}】`
-        const node = { Key_, sys_bh, sys_mc, label }
-
-        if (bh_mc) {
-          node.children = transformData(bh_mc)
-        }
-
-        return node
-      } else {
-        return data
-      }
-    }
-
-    const temp = []
-    temp[0] = transformData(data)
-    dedhTreeData.value = temp
-    console.log(temp)
-    dialogDedh.value = true
-  }
-}
-
-const handleSelectDjdh = (node, check) => {
-  if (!node['children']) {
-    console.log(node)
-    const { sys_bh, sys_mc } = node
-    detailData.sys_bh = sys_bh
-    detailData.sys_mc = sys_mc
-    dialogDedh.value = false
-  }
-}
-
-// 弹窗确定
-const enterDialog = async() => {
-  if (type.value === '查改') {
-    updateDetailData()
-  } else if (type.value === '新增') {
-    addDetailData()
-  }
-}
-// 新增
-const addDetailData = async() => {
-  const restoredData = {
-    Sys_id: sys_id,
-    Sczl_bh1: detailData.Sczl_bh1,
-    sczl_Type: detailData.sczl_Type,
-    // name: detailData.name,
-    Sczl_rq: detailData.Sczl_rq,
-    Sczl_gdbh: detailData.sczl_gdbh,
-    Sczl_gxmc: detailData.Sczl_gxmc,
-    sczl_gxh: detailData.sczl_gxh,
-    Sczl_cl: detailData.Sczl_cl,
-    Sczl_dedh: detailData.sys_bh,
-    Sczl_desc: detailData.Sczl_desc,
-  }
-  const res = await add(restoredData)
-  if (res.code === 0) {
-    ElMessage({
-      type: 'success',
-      message: '新增成功',
-    })
-    dialogFormVisible.value = false
-	if(params.date!=''){
+<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>
+			<layout-header>
+				<!-- 按钮 -->
+				<el-form inline>
+					<el-form-item>
+						<el-input v-model="searchInfo" placeholder="搜索产品编号或产品名称" clearable style="width: 180px;" />
+						<el-button type="primary" icon="Search" class="search" @click="handleSearch" />
+						<el-button type="primary" icon="plus" class="bt" @click="handleShowAdd">新增 </el-button>
+						<el-button type="primary" icon="delete" class="bt" @click="onDel">删除 </el-button>
+						
+					</el-form-item>
+				</el-form>
+
+				<!-- 弹出框 -->
+				<div>
+					<!-- 详情页 -->
+					<el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type === 'create' ? '新增' : '修改'" destroy-on-close
+						width="800px">
+						<!-- <el-scrollbar height="500px"> -->
+						<el-form :model="detailData" id="detail-form" ref="elFormRef" 
+						label-width="100px"
+						label-position="right" inline>
+							<el-row :gutter="24" >
+								<el-col :span="24">
+									<el-form-item label="员工编号">
+										<el-input v-model="detailData.Sczl_bh1" @blur="handleYgbhEnter" 
+											@keydown="ent1($event)" style="width: 120px" />
+										<el-input style="width: 120px; margin-left: 5px" readonly v-model="detailData.name" />
+									</el-form-item>
+								</el-col>
+							</el-row>
+							
+							<el-row :gutter="24" >
+								<el-col :span="14">
+									<el-form-item label="工序类别">
+										<el-input @blur="get_LB" v-model="detailData.sczl_Type" 
+										 @keydown="ent1($event)" style="width: 120px; " />
+										
+										<!-- <el-select v-model="detailData.sczl_Type" style="width: 150px">
+											<el-option label="拆片" value="拆片" />
+											<el-option label="包装" value="包装" />
+											<el-option label="打包" value="打包" />
+											<el-option label="拉料" value="拉料" />
+										</el-select> -->
+									</el-form-item>
+								</el-col>
+								<el-col :span="10">
+									<el-form-item label="日期">
+										<el-input type="date" max="9999-12-31" v-model="detailData.Sczl_rq" 
+										 @keydown="ent1($event)" style="width: 150px" />
+									</el-form-item>
+								</el-col>
+							</el-row>
+
+							<el-row :gutter="24" >
+								<el-col :span="24">
+									<el-form-item label="工单编号">
+										<el-input v-model="detailData.Sczl_gdbh" @blur="handleGdbhEnter" 
+											@keydown="ent1($event)" style="width: 120px"/>
+										<el-input v-model="detailData.Gd_cpmc" style="width: 480px; margin-left: 5px"
+											readonly />
+									</el-form-item>
+								</el-col>
+							</el-row>
+							
+							<el-row :gutter="24" >
+								<el-col :span="24">
+									<el-form-item label="工艺流程">
+										<el-input v-model="detailData.Sczl_gxmc" @blur="handleGylcEnter" 
+											@keydown="ent1($event)" style="width: 480px"/>
+										<el-input v-model="detailData.sczl_gxh" style="width: 120px; margin-left: 5px"
+											readonly />
+									</el-form-item>
+								</el-col>
+							</el-row>
+							
+							<el-row :gutter="24" >
+								<el-col :span="14">
+									<el-form-item label="" style="margin-left: 67px;">
+										<el-input v-model="leftData" @keydown="ent1($event)" style="width: 100px; margin-left: 32px;"
+											@blur="()=>{detailData.Sczl_cl = (leftData * rightData).toString()}"/>X
+										<el-input v-model="rightData" @keydown="ent1($event)" style="width: 100px;margin-left: 12px;"
+												@blur="()=>{detailData.Sczl_cl = (leftData * rightData).toString()}"
+												 />
+										
+									</el-form-item>
+								</el-col>
+								<el-col :span="10">
+									<el-form-item label="计件产量" >
+										<el-input @keydown="ent1($event)" v-model="detailData.Sczl_cl" style="width: 150px" />
+									</el-form-item>
+								</el-col>
+							</el-row>
+							
+							<el-row :gutter="24" >
+								<el-col :span="24">
+									<el-form-item label="工价代号">
+										<el-input v-model="detailData.Sczl_dedh" style="width: 150px"
+											@blur="handleGjdhEnter" @keydown="ent1($event)" />
+										<el-input v-model="detailData.sys_mc" style="width: 450px; margin-left: 5px" readonly />
+									</el-form-item>
+								</el-col>
+							</el-row>
+							
+							<el-row :gutter="24" >
+								<el-col :span="24">
+									<el-form-item label="票号备注">
+										<el-input v-model="detailData.Sczl_desc" @keydown="ent1($event)"  style="width: 605px" />
+									</el-form-item>
+								</el-col>
+							</el-row>
+						</el-form>
+
+						<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="dialogDedh" :before-close="()=>{dialogDedh = false}" title="工价代号"
+						destroy-on-close>
+
+						<el-scrollbar style="height: 50vh;width: 50vw;">
+							<el-tree :data="dedhTreeData" highlight-current style="width: 90%;"
+								@node-click="handleSelectDjdh" />
+						</el-scrollbar>
+					</el-dialog>
+
+					<!-- 工艺流程弹窗 -->
+					<el-dialog v-model="dialogGylc" title="工艺流程"
+						destroy-on-close style="width: 500px; " @keydown="selectGX($event)">
+
+						<el-table tooltip-effect="dark" :data="selectData" row-key="ID" highlight-current-row="true"
+							border style="width:100%" height="400px" @row-dblclick="handleSelectClick" ref="table2">
+							<el-table-column prop="jyGx" label="检验工序" width="460" />
+						</el-table>
+
+					</el-dialog>
+
+		<!-- 工序类别选择 -->
+		  <el-dialog v-model="LBVisible" title="选择"
+		    destroy-on-close width="200px" @keydown="selectLB($event)" >
+		    <el-table tooltip-effect="dark" :data="LBselectData" row-key="ID"
+		      highlight-current-row="true" border style="width:100%"
+		      :row-style="{ height: '30px' }"
+		      @row-dblclick="LBSelectClick"
+		  			  ref="tableLB"
+		    >
+		      <el-table-column prop="sczl_Type" label="" width="160" />		      	 
+		    </el-table>
+		  </el-dialog>
+				</div>
+
+			</layout-header>
+			
+				<layout-content>
+					<!-- 数据展示 -->
+					<el-table ref="table" style="width: 100%" tooltip-effect="dark" :data="tableData" row-key="ID"
+						highlight-current-row border show-overflow-tooltip="true" :row-style="{ height: '20px' }"
+						:cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
+						:header-cell-style="{ padding: '0px' }" @selection-change="handleSelectionChange"
+						@row-dblclick="handleShowEdit" @current-change="(row, oldRow) => { currentRow = row}">
+
+						<!-- 循环渲染列 -->
+						<el-table-column v-for=" column in tableColumns " :key="column.prop" :prop="column.prop"
+							:label="column.label" :width="column.width" sortable />
+
+					</el-table>
+					<!-- 分页 -->
+					<div class="gva-pagination">
+						<el-pagination v-model:current-page="page" v-model:page-size="limit"
+							layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 30, 50, 100]"
+							:total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
+					</div>
+				</layout-content>
+				
+				  </el-main>
+				</el-container>
+				</el-container>
+	</div>
+</template>
+
+<script setup>
+	import {
+		Layout,
+		LayoutContent,
+		LayoutHeader,
+		LayoutSider
+	} from '@arco-design/web-vue'
+	import {
+		ElMessage,
+		dayjs,
+		ElMessageBox
+	} from 'element-plus'
+	import {
+		ref,
+		reactive, 
+		nextTick
+	} from 'vue'
+	import {
+		getSide,
+		getTable,
+		getYg,
+		getGdmc,
+		getDedh,
+		getGxMc,
+		updateData,
+		add,
+		del
+	} from '@/api/mes_api_gty/otherDocuments'
+	import {
+		useUserStore
+	} from '@/pinia/modules/user'
+	const userStore = useUserStore()
+	const sys_id = '[' + userStore.userInfo.userName + '/' + userStore.userInfo.nickName + ']'
+	defineOptions({
+		name: '07OtherDocuments'
+	})
+
+	// 侧边栏数据请求
+	const treeData = reactive([])
+	const getSideData = async () => {
+		const response = await getSide()
+		if (response.code === 0) {
+			const transformedData = response.data.map(item => ({
+				label: `${item.date.replace(/-/g, '.')}【产量合计: ${item.counts}】`,
+				children: item.sys.map(sysItem => ({
+					label: `${sysItem.Sczl_bh1}(${sysItem.name}) 【产量合计: ${sysItem.count}】`,
+					params: {
+						date: item.date.substring(0, 4) + '-' + item.date.substring(4),
+						Sczl_bh1: sysItem.Sczl_bh1,
+					},
+				})),
+			}))
+			treeData.splice(0, treeData.length, ...transformedData)
+		}
+	}
+	getSideData()
+
+	const elFormRef = ref()
+
+	// ============== 表格页面 ==============
+	const tableColumns = [{
+			prop: 'sczl_Type',
+			label: '计件类型',
+			width: '120'
+		},
+		{
+			prop: 'Sczl_rq',
+			label: '日期',
+			width: '100'
+		},
+		{
+			prop: 'Sczl_bh1',
+			label: '员工编号',
+			width: '120'
+		},
+		{
+			prop: 'name',
+			label: '员工姓名',
+			width: '120'
+		},
+		{
+			prop: 'sczl_gdbh',
+			label: '工单编号',
+			width: '120'
+		},
+		{
+			prop: 'Gd_cpmc',
+			label: '产品名称',
+			width: '300'
+		},
+		{
+			prop: 'Sczl_cl',
+			label: '产量',
+			width: '100'
+		},
+		{
+			prop: '',
+			label: '千件工价',
+			width: '120'
+		}, // prop 属性值需要补充
+		{
+			prop: 'sys_mc',
+			label: '工价备注',
+			width: '200'
+		}, // prop 属性值需要补充
+		{
+			prop: 'Sczl_desc',
+			label: '备注',
+			width: '100'
+		},
+		{
+			prop: 'Sczl_gxmc',
+			label: '工序名称',
+			width: '120'
+		},
+		{
+			prop: 'sczl_yjno',
+			label: '印件号',
+			width: '100'
+		},
+		{
+			prop: 'sczl_gxh',
+			label: '工序号',
+			width: '100'
+		},
+		{
+			prop: 'sys_id',
+			label: '创建用户',
+			width: '150'
+		},
+		{
+			prop: 'sys_rq',
+			label: '创建时间',
+			width: '200'
+		},
+		{
+			prop: 'mod_rq',
+			label: '修改时间',
+			width: '200'
+		},
+		{
+			prop: 'UniqId',
+			label: 'UNIQID',
+			width: '100'
+		}
+	]
+	const tableData = reactive([])
+	const currentRow = ref()
+	const type = ref('')
+
+	const page = ref(1)
+	const total = ref(0)
+	const limit = ref(10)
+	const searchInfo = ref('')
+	const params = {
+		date: '',
+		Sczl_bh1: '',
+		order: '',
+		page: page.value.toString(),
+		limit: limit.value.toString(),
+	}
+
+	const table = ref()
+	const setCurrent = (row) => {
+		table.value?.setCurrentRow(row)
+	}
+
+	// 获取表格数据
+	const getTableData = async () => {
+		// try {
+		const response = await getTable(params)
+		if (response.code === 0) {
+			total.value = response.data.total
+			tableData.splice(0, tableData.length, ...response.data.rows)
+			setCurrent(tableData[0])
+		}
+	}
+
+	// 分页设置
+	const handleSizeChange = () => {
+		params.limit = limit.value.toString()
+		getTableData()
+	}
+
+	// 页面跳转
+	const handleCurrentChange = () => {
+		params.page = page.value.toString()
 		getTableData()
 	}
-	getSideData()
-  }
-  
-}
-// 修改
-const updateDetailData = async() => {
-  const params = {
-    UniqId: detailData.UniqId,
-    Sczl_bh1: detailData.Sczl_bh1,
-    sczl_Type: detailData.sczl_Type,
-    Sczl_rq: detailData.Sczl_rq,
-    Sczl_gdbh: detailData.sczl_gdbh,
-    Sczl_gxmc: detailData.Sczl_gxmc,
-    sczl_gxh: detailData.sczl_gxh,
-    Sczl_cl: detailData.Sczl_cl,
-    Sczl_dedh: detailData.sys_bh,
-    Sczl_desc: detailData.Sczl_desc,
-  }
-  const res = await updateData(params)
-  if (res.code === 0) {
-    ElMessage({
-      type: 'success',
-      message: '更新成功',
-    })
-    dialogFormVisible.value = false
-    params.order = ''
-    // page.value = 1
-    handleCurrentChange()
-  }
-}
-
-// 开启弹窗
-const showDialog = () => {
-  dialogFormVisible.value = true
-  // 在 setTimeout 中获取元素,确保在 DOM 渲染完毕后执行
-  setTimeout(() => {
-    formElements = document.getElementById('detail-form').elements
-    formElements[0].focus()
-  }, 0)
-}
-
-// 关闭弹窗
-const closeDialog = () => {
-  dialogFormVisible.value = false
-}
-
-let formElements
-const moveFocus = (event) => {
-  const index = Array.from(formElements).indexOf(event.target)
-  const key = event.key
-  event.preventDefault()
-  console.log(formElements)
-  switch (index) {
-    case 0:
-      if (key === 'ArrowDown') {
-        formElements[1].focus()
-		formElements[1].select();
-      } else if (key === 'ArrowUp') {
-        formElements[formElements.length - 1].focus()
-      } else if (key === 'Enter') {
-        formElements[1].focus()
-		formElements[1].select();
-      }
-      break
-
-    case formElements.length - 1 :
-      if (key === 'ArrowDown') {
-        formElements[0].focus()
-		formElements[0].select();
-      } else if (key === 'ArrowUp') {
-        formElements[index - 1].focus()
-      } else if (key === 'Enter') {
-        formElements[0].focus()
-		formElements[0].select();
-      }
-      break
-
-    default:
-      if (key === 'ArrowDown') {
-        formElements[index + 1].focus()
-		formElements[index + 1].select();
-      } else if (key === 'ArrowUp') {
-        formElements[index - 1].focus()
-		formElements[index + 1].select();
-      } else if (key === 'Enter') {
-        formElements[index + 1].focus()
-		formElements[index + 1].select();
-      }
-      break
-  }
-}
-</script>
-
-<style scoped>
-.JKWTree-container {
-  display: flex;
-}
-
-.JKWTree-tree {
-  width: 100%;
-  background-color: #fff;
-  padding: 10px;
-  margin-right: 20px;
-}
-
-.JKWTree-tree h3 {
-  font-size: 15px;
-  font-weight: 700;
-  margin: 10px 0;
-}
-
-.JKWTree-content {
-  flex: 1;
-}
-
-/* 选中某行时的背景色 */
-:deep(.el-table__body tr.current-row) > td {
-  background: #ff80ff !important;
-}
-</style>
-
-<style scoped>
-:deep(.el-table td .cell) {
-  line-height: 25px !important;
-}
-
-:deep(.el-tabs__header) {
-  margin-bottom: 0;
-}
-
-.search {
-  margin-left: 0px !important;
-  margin-right: 10px !important;
-}
-
-.bt {
-  margin-left: 2px !important;
-  padding: 3px !important;
-  font-size: 12px;
-}
-
-.el-tabs__header {
-  margin: 0px !important;
-}
-
-.gva-table-box {
-  padding: 0px !important;
-}
-
-.mab {
-  margin-bottom: 5px;
-}
-</style>
+
+	// 点击左侧节点
+	const handleNodeClick = (node, check) => {
+		if (node.params) {
+			params.date = node.params.date
+			params.Sczl_bh1 = node.params.Sczl_bh1
+			params.order = ''
+			page.value = 1
+			handleCurrentChange()
+		}
+	}
+
+	// 搜索
+	function handleSearch() {
+		params.order = searchInfo.value
+		params.date = ''
+		params.Sczl_bh1 = ''
+		page.value = 1
+		handleCurrentChange()
+	}
+
+	// ============== 详情页面 ==============
+	const detailData = reactive({
+		Sczl_bh1: '',
+		sczl_Type: '',
+		Sczl_rq: '',
+		Sczl_gdbh: '',
+		Sczl_gxmc: '',
+		sczl_gxh: '',
+		Sczl_cl: '',
+		Sczl_dedh: '',
+		Sczl_desc: '',
+	})
+	const leftData = ref(0)
+	const rightData = ref(0)
+	const dedhTreeData = ref()
+	const gylcTreeData = ref()
+	const selectData = reactive([])
+
+
+	// 弹窗控制标记
+	const dialogFormVisible = ref(false)
+	const dialogDedh = ref(false)
+	const dialogGylc = ref(false)
+	// 新增数据
+	const handleShowAdd = () => {
+		type.value = 'create'
+		// 设置detailData对象中的所有属性值为空
+		Object.keys(detailData).forEach(key => {
+		  detailData[key] = '';
+		});
+		const date = dayjs().format('YYYY-MM-DD')
+		detailData.Sczl_rq = date
+		dialogFormVisible.value = true
+	}
+	// 查改
+	const handleShowEdit = () => {
+		type.value = 'update'
+		Object.assign(detailData, currentRow.value)
+		detailData.Sczl_gdbh = detailData.sczl_gdbh
+		detailData.Sczl_dedh = detailData.sys_bh
+		dialogFormVisible.value = true
+	}
+	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 handleYgbhEnter = async () => {
+		if(!detailData.Sczl_bh1){
+			return
+		}
+		const res = await getYg({
+			sczl_bh: detailData.Sczl_bh1
+		})
+		if (res.code === 0) {
+			detailData.name = res.data[0].ygxm
+			detailData.Sczl_bh1 = res.data[0].员工编号
+		}
+	}
+	
+	//工序类型选择
+	const get_LB = () => {
+		GetLB()
+	}
+	const LBVisible = ref(false)
+	const LBselectData = reactive([])
+	//获取仓库信息
+	const GetLB = async () => {
+	  const data = [{'sczl_Type':'拆片'},{'sczl_Type':'包装'},{'sczl_Type':'打包'},{'sczl_Type':'拉料'}]
+	  LBselectData.splice(0, LBselectData.length, ...data)
+	  setLBCurrent(LBselectData[0])
+	  LBVisible.value=true
+	}
+	//选择
+	const LBSelectClick = (row, column, event) => {
+	  const { sczl_Type } = row
+	  detailData.sczl_Type=sczl_Type
+	  LBVisible.value = false
+	}
+	const tableLB=ref()
+	const setLBCurrent = (row) => {
+	  setTimeout(()=>{
+		  tableLB.value?.setCurrentRow(row) 
+		  const { sczl_Type } = row
+		  detailData.sczl_Type = sczl_Type
+	  })
+	}
+	const LBIndex = ref(0);
+	const LBCurrent = ref(0);
+	const selectLB = (event) => {
+	    if (event.keyCode === 40) { // 向下箭头
+	        if (LBIndex.value < LBselectData.length - 1) {
+	            LBIndex.value++;
+	            setLBCurrent(LBselectData[LBIndex.value]);
+	        } else {
+	            LBIndex.value = 0;
+	            setLBCurrent(LBselectData[LBIndex.value]); // 到达最后一行时回到第一行			
+	        }
+	    } else if (event.keyCode === 38) { // 向上箭头
+	        if (LBIndex.value > 0) {
+	            LBIndex.value--;
+	            setLBCurrent(LBselectData[LBIndex.value]);
+	        } else {
+	            LBIndex.value = LBselectData.length - 1;
+	            setLBCurrent(LBselectData[LBIndex.value]); // 到达第一行时回到最后一行
+	        }
+	    } else if (event.keyCode === 13) { // 回车键
+	        LBVisible.value = false
+	    }
+	}
+	
+	const handleGdbhEnter = async () => {
+		const res = await getGdmc({
+			gdbh: detailData.Sczl_gdbh
+		})
+		if (res.code === 0) {
+			detailData.Gd_cpmc = res.data.Gd_cpmc
+		}
+	}
+
+	const handleGylcEnter = async () => {
+		const res = await getGxMc({
+			gdbh: detailData.Sczl_gdbh,
+			keyword: ''
+		})
+		if (res.code === 0) {
+			const data = res.data.sort((a, b) => parseInt(a.Gy0_yjno) - parseInt(b.Gy0_yjno));
+			selectData.splice(0, selectData.length, ...data)
+			setGXCurrent[selectData[0]]
+			dialogGylc.value = true
+		}
+	}
+
+	// 工单选择框
+	const handleSelectClick = (row, column, event) => {
+		detailData.Sczl_gxmc = row.jyGx
+		detailData.sczl_gxh = row.Gy0_gxh
+		detailData.Gd_cpmc = row.Gd_cpmc
+		dialogGylc.value = false
+	}
+	const table2 = ref()
+	const setGXCurrent = (row) => {
+		setTimeout(() => {
+			table2.value?.setCurrentRow(row)
+			detailData.Sczl_gxmc = row.jyGx
+			detailData.sczl_gxh = row.Gy0_gxh
+			detailData.Gd_cpmc = row.Gd_cpmc
+		})
+	}
+	const handleSelectGylc = (node, check) => {
+		detailData.Sczl_gxmc = node['jyGx']
+		detailData.sczl_gxh = node['Gy0_gxh']
+		detailData.Gd_cpmc = node['Gd_cpmc']
+		dialogGylc.value = false
+	}
+	const currentIndex = ref(0);
+	const GXCurrent = ref(0);
+	const selectGX = (event) => {
+		if (event.keyCode === 40) { // 向下箭头
+			if (currentIndex.value < selectData.length - 1) {
+				currentIndex.value++;
+				setGXCurrent(selectData[currentIndex.value]);
+			} else {
+				currentIndex.value = 0;
+				setGXCurrent(selectData[currentIndex.value]); // 到达最后一行时回到第一行			
+			}
+		} else if (event.keyCode === 38) { // 向上箭头
+			if (currentIndex.value > 0) {
+				currentIndex.value--;
+				setGXCurrent(selectData[currentIndex.value]);
+			} else {
+				currentIndex.value = selectData.length - 1;
+				setGXCurrent(selectData[currentIndex.value]); // 到达第一行时回到最后一行
+			}
+		} else if (event.keyCode === 13) { // 回车键
+			dialogGylc.value = false
+		}
+	}
+
+	const handleGjdhEnter = async () => {
+		const res = await getDedh({ sczl_jtbh: '' })
+		if (res.code === 0) {
+			const { data } = res
+
+			const transformData = (data) => {
+				if (Array.isArray(data)) {
+					return data.map((item) => transformData(item))
+				} else if (typeof data === 'object') {
+					const { Key_, sys_bh, sys_mc, bh_mc } = data
+					const label = `${sys_bh}【${sys_mc}】`
+					const node = {
+						Key_,
+						sys_bh,
+						sys_mc,
+						label
+					}
+
+					if (bh_mc) { node.children = transformData(bh_mc) }
+
+					return node
+				} else {
+					return data
+				}
+			}
+
+			const temp = []
+			temp[0] = transformData(data)
+			dedhTreeData.value = temp
+			dialogDedh.value = true
+		}
+	}
+
+	const handleSelectDjdh = (node, check) => {
+		if (!node['children']) {
+			const { sys_bh, sys_mc } = node
+			detailData.Sczl_dedh = sys_bh
+			detailData.sys_mc = sys_mc
+			dialogDedh.value = false
+		}
+	}
+
+	
+	// 弹窗确定
+	const enterDialog = async () => {
+		// if(formData.value.入仓类型==''){
+		// 	ElMessage({type: 'warning',message: '请选择入仓类型'});
+		// 	return;
+		// }
+		// if(formData.value.仓库编号==''){
+		// 	ElMessage({type: 'warning',message: '请选择仓库'});
+		// 	return;
+		// }
+		// if(formData.value.jjcp_gdbh==''){
+		// 	ElMessage({type: 'warning',message: '请填写工单编号'});
+		// 	return;
+		// }
+		// if(formData.value.jjcp_cpdh==''){
+		// 	ElMessage({type: 'warning',message: '请选择印件'});
+		// 	return;
+		// }
+		// if(formData.value.jjcp_sl==''){
+		// 	ElMessage({type: 'warning',message: '请填写入仓数量'});
+		// 	return;
+		// }
+		
+		const restoredData = {
+			Sys_id: sys_id,
+			Sczl_bh1: detailData.Sczl_bh1,
+			sczl_Type: detailData.sczl_Type,
+			Sczl_rq: detailData.Sczl_rq,
+			Sczl_gdbh: detailData.Sczl_gdbh,
+			Sczl_gxmc: detailData.Sczl_gxmc,
+			sczl_gxh: detailData.sczl_gxh,
+			Sczl_cl: detailData.Sczl_cl,
+			Sczl_dedh: detailData.Sczl_dedh,
+			Sczl_desc: detailData.Sczl_desc,
+		}
+	    let res
+	    switch (type.value) {
+	      case 'create':
+	        res = await add(restoredData)
+	        break
+	      case 'update':
+			restoredData.UniqId = detailData.UniqId;
+	        res = await updateData(restoredData)
+	        break
+	      default:
+	        // res = await createCompany(formData.value)
+	        break
+	    }
+	    if (res.code === 0) {
+	      ElMessage({
+	        type: 'success',
+	        message: type.value=='create'? '创建成功' :'更改成功'
+	      })
+		  
+		  dialogFormVisible.value = false
+		  	getTableData()
+		  // getSideData()
+	    }
+	}
+
+	// 关闭弹窗
+	const closeDialog = () => {
+		dialogFormVisible.value = false
+	}
+
+	let formElements
+	const moveFocus = (event) => {
+		const index = Array.from(formElements).indexOf(event.target)
+		const key = event.key
+		event.preventDefault()
+		console.log(formElements)
+		switch (index) {
+			case 0:
+				if (key === 'ArrowDown') {
+					formElements[1].focus()
+					formElements[1].select();
+				} else if (key === 'ArrowUp') {
+					formElements[formElements.length - 1].focus()
+				} else if (key === 'Enter') {
+					formElements[1].focus()
+					formElements[1].select();
+				}
+				break
+
+			case formElements.length - 1:
+				if (key === 'ArrowDown') {
+					formElements[0].focus()
+					formElements[0].select();
+				} else if (key === 'ArrowUp') {
+					formElements[index - 1].focus()
+				} else if (key === 'Enter') {
+					formElements[0].focus()
+					formElements[0].select();
+				}
+				break
+
+			default:
+				if (key === 'ArrowDown') {
+					formElements[index + 1].focus()
+					formElements[index + 1].select();
+				} else if (key === 'ArrowUp') {
+					formElements[index - 1].focus()
+					formElements[index + 1].select();
+				} else if (key === 'Enter') {
+					formElements[index + 1].focus()
+					formElements[index + 1].select();
+				}
+				break
+		}
+	}
+	
+	const rowSelection = {
+	      type: 'radio'
+	    };
+		
+	// let lastCellValue=ref()
+	// 多选
+	// const handleSelectionChange = (val) => {
+	//   if(val.length>0){
+	// 	  lastCellValue = val.map(row=>row.UniqId)
+	//   }
+	//   console.log(lastCellValue)
+	//   console.log(rowSelection)
+	// }
+	
+	//删除
+	function onDel() {
+		if(!currentRow.value){
+			ElMessage({
+			  type: 'warning',
+			  message: '请选择要删除的数据',
+			})
+			return
+		}
+		ElMessageBox.confirm('确定要删除吗?', '提示', {
+		    confirmButtonText: '确定',
+		    cancelButtonText: '取消',
+		    type: 'warning'
+		}).then(() => {
+		        del({UniqId:currentRow.value.UniqId}).then(res=>{
+		        	if (res.code === 0) {
+		        			ElMessage({
+		        			  type: 'success',
+		        			  message: '删除成功',
+		        			})
+		        	}
+		        	getTableData()
+		        })
+		    })
+		
+		// Del()
+	}
+	//删除
+	const Del = async () => {
+		console.log(lastCellValue)
+		return
+	  const response = await finisheddel({UniqId:lastCellValue});
+	  if (response.code === 0) {
+		ElMessage({
+		  type: 'success',
+		  message: '删除成功',
+		})
+	  }
+	  getTableData()
+	}
+</script>
+
+<style scoped>
+	.JKWTree-container {
+		display: flex;
+	}
+
+	.JKWTree-tree {
+		width: 100%;
+		background-color: #fff;
+		padding: 10px;
+		margin-right: 20px;
+	}
+
+	.JKWTree-tree h3 {
+		font-size: 15px;
+		font-weight: 700;
+		margin: 10px 0;
+	}
+
+	.JKWTree-content {
+		flex: 1;
+	}
+
+	/* 选中某行时的背景色 */
+	:deep(.el-table__body tr.current-row)>td {
+		background: #ff80ff !important;
+	}
+</style>
+
+<style scoped>
+	:deep(.el-table td .cell) {
+		line-height: 25px !important;
+	}
+
+	:deep(.el-tabs__header) {
+		margin-bottom: 0;
+	}
+
+	.search {
+		margin-left: 0px !important;
+		margin-right: 10px !important;
+	}
+
+	.bt {
+		margin-left: 2px !important;
+		padding: 3px !important;
+		font-size: 12px;
+	}
+
+	.el-tabs__header {
+		margin: 0px !important;
+	}
+
+	.gva-table-box {
+		padding: 0px !important;
+	}
+
+	.mab {
+		margin-bottom: 5px;
+	}
+</style>

+ 22 - 3
src/view/yunyin/chanpinziliao/chanpinziliao.vue

@@ -1154,7 +1154,7 @@
                         <el-input v-model="add_gyformData.Gy0_方案"   style="width: 90px;" id="方案"  @keydown="ent($event, '备注', '方案', 'Gy0_yjno')"/>
                       </el-form-item>
                       <el-form-item label="印件编号:" prop="address" class="mab"  label-width="90">
-                        <el-input v-model="add_gyformData.Gy0_yjno"    style="width: 90px;" id="Gy0_yjno" @keydown="ent($event, '方案', 'Gy0_yjno', 'Gy0_gxh')"/>
+                        <el-input v-model="add_gyformData.Gy0_yjno"    style="width: 90px;" id="Gy0_yjno" @blur="getKlKs" @keydown="ent($event, '方案', 'Gy0_yjno', 'Gy0_gxh')"/>
                       </el-form-item>
                       <el-form-item label="工序编号:" prop="address" class="mab" >
                         <el-input v-model="add_gyformData.Gy0_gxh"    style="width: 90px;" id="Gy0_gxh" @keydown="ent($event, 'Gy0_yjno', 'Gy0_gxh', '加工开数')"/>
@@ -1566,7 +1566,8 @@ import {
   PrintlDel,
   ProcessDel,
   addProduct,
-  ProcessEdit
+  ProcessEdit,
+  getCouplet,
 } from '@/api/yunyin/yunying'
 defineOptions({   name: 'Company'})
 import { useUserStore } from '@/pinia/modules/user'
@@ -3666,7 +3667,25 @@ const ent = (event,id1,id2,id3) => {
     }
   }
 }
-
+
+//印件号回车带出开联开数
+const getKlKs = () =>{
+	console.log(add_gyformData)
+	console.log(_Gd_gdbh.value)
+	return
+	const response = getCouplet({ gdbh:id.value,yjno:add_gyformData.Gy0_yjno});
+	console.log(response)
+	
+	add_gyformData.Gy0_Ks = response.data['开数']
+	add_gyformData.Gy0_ls = response.data['联数']
+	// if(yjList.value !== undefined){
+	//   const node = yjList.value.find(item => item.no ===form['yjno'])
+	//   if (! node) {
+	//     yjdisplay.value = true
+	//   }
+	//   document.getElementById(id3).focus()
+	// }
+}
 // const  _yjdh = ref(null);
 const yj_ent = (event,id1,id2,id3) => {
   // if(event.keyCode == 13){

+ 12 - 0
src/view/yunyin/shengchanguanli/gongdanziliao.vue

@@ -2391,6 +2391,12 @@ const add_gdzlyjent = async (event,id1,id2,id3,idx) => {
   if (id2 === 'yjdh' && event.key==='Tab' || id2 === 'yjdh' && event.key=== 'Enter') {
     _getProductYjList();
     searchModel.value = true
+  }
+  if(id2=='pztl' && event.key==='Tab' || id2 === 'pztl' && event.key=== 'Enter'){
+	  add_yjzlformdata.万小张 = add_yjzlformdata.pztl*add_yjzlformdata.ls/10000
+  }
+  if(id2=='ls' && event.key==='Tab' || id2 === 'ls' && event.key=== 'Enter'){
+  	  add_yjzlformdata.万小张 = add_yjzlformdata.pztl*add_yjzlformdata.ls/10000
   }
   if (id2 === 'zzdh' && event.key==='Tab' || id2 === 'zzdh' && event.key=== 'Enter') {
     _getProductZzList(add_yjzlformdata['zzdh'])
@@ -3531,6 +3537,12 @@ const edit_gdyjent = (event,id1,id2,id3,idx) => {
   if (id2 === '印件代号' && event.key==='Tab' || id2 === '印件代号' && event.key=== 'Enter') {
     edit_getProductYjList();
     edit_searchModel.value = true
+  }
+  if(id2=='平张投料' && event.key==='Tab' || id2 === '平张投料' && event.key=== 'Enter'){
+  	  gdyjformData.万小张 = gdyjformData.平张投料*gdyjformData.联数/10000
+  }
+  if(id2=='联数' && event.key==='Tab' || id2 === '联数' && event.key=== 'Enter'){
+  	  gdyjformData.万小张 = gdyjformData.平张投料*gdyjformData.联数/10000
   }
   if (id2 === '纸张代号' && event.key==='Tab' || id2 === '纸张代号' && event.key=== 'Enter') {
     edit_getProductZzList(gdyjformData['纸张代号'])