Forráskód Böngészése

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

Lexie 1 éve
szülő
commit
1d04739c4d

+ 0 - 423
src/view/performance/12-orderAccounting/bak.vue

@@ -1,423 +0,0 @@
-<template>
-  <div>
-    <el-container>
-      <!-- 左侧树形结构 -->
-      <el-scrollbar max-height="80vh">
-        <el-aside width="280px">
-          <div class="JKWTree-tree">
-            <h3>工单超节损核算</h3>
-            <el-tree
-              :data="treeData"
-              highlight-current
-              @node-click="handleNodeClick"
-            />
-          </div>
-        </el-aside>
-      </el-scrollbar>
-
-      <el-container>
-        <el-main>
-          <div class="gva-table-box">
-            <!-- 按钮区域 -->
-            <div class="gva-btn-list">
-              <el-row :span="6">
-                <el-input
-                  v-model="searchInfo"
-                  placeholder="输入工单编号或产品名称"
-                />
-              </el-row>
-              <el-button
-                type="primary"
-                :icon="Search"
-                @click="onSearch"
-              >定位</el-button>
-
-              <el-button
-                type="primary"
-                :icon="Download"
-                style="margin-left: auto;"
-                @click="exportExcel"
-              >导出到Excel</el-button>
-            </div>
-            <!-- 数据展示 -->
-            <el-table
-              style="width: 100%;height:30vh;"
-              :data="tableData"
-              row-key="ID"
-              highlight-current-row
-              border
-              :row-style="{ height: '20px' }"
-              :cell-style="{ padding: '0px' }"
-              :header-row-style="{ height: '20px' }"
-              :header-cell-style="{ padding: '0px' }"
-              @selection-change="handleSelectionChange"
-              @row-dblclick="doubleClick"
-            >
-              <el-table-column
-                type="selection"
-                width="55"
-              />
-              <!-- 使用 v-for 循环渲染每一列 -->
-              <el-table-column
-                v-for="column in tableCols"
-                :key="column.prop"
-                :prop="column.prop"
-                :label="column.label"
-                :width="column.width"
-                show-overflow-tooltip="true"
-              />
-
-            </el-table>
-            <br>
-            <el-table
-              style="width: 100%;height: 40vh;"
-              row-key="ID"
-              highlight-current-row
-              border
-              :row-style="{ height: '20px' }"
-              :cell-style="{ padding: '0px' }"
-              :header-row-style="{ height: '20px' }"
-              :header-cell-style="{ padding: '0px' }"
-              @selection-change="handleSelectionChange"
-              @row-dblclick="doubleClick"
-            >
-              <el-table-column
-                type="selection"
-                width="55"
-              />
-              <!-- 使用 v-for 循环渲染每一列 -->
-              <el-table-column
-                v-for="column in tableCols"
-                :key="column.prop"
-                :prop="column.prop"
-                :label="column.label"
-                :width="column.width"
-                show-overflow-tooltip="true"
-              />
-
-            </el-table>
-          </div>
-          <!-- 弹出框 -->
-
-        </el-main>
-      </el-container>
-    </el-container>
-
-  </div>
-</template>
-
-<script setup>
-
-// 全量引入格式化工具 请按需保留
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { Search, Refresh, Download } from '@element-plus/icons-vue'
-import { ref, reactive, onMounted } from 'vue'
-import { getSide, getTable } from '@/api/mes_api_gty/orderAccounting'
-
-defineOptions({
-  name: '12orderAccounting'
-})
-
-// 侧边栏数据
-const treeData = ref([])
-const getSideData = async() => {
-  const res = await getSide()
-  if (res.code === 0) {
-    const { data } = res
-    const transformedData = []
-
-    for (const [key, value] of Object.entries(data)) {
-      const [date, total] = key.split('-') // 提取日期和数量
-
-      const transformedItem = {
-        label: `${date}(工单数:${total})`,
-        children: value.map(item => ({
-          label: `${item['客户编号']}【${item['客户名称']}】(工单数:${item.total})`
-        })),
-      }
-
-      transformedData.push(transformedItem)
-    }
-    treeData.value = transformedData
-  }
-}
-
-getSideData()
-
-// 自动化生成的字典(可能为空)以及字段
-const formData = ref({
-  id: '',
-  name: '',
-  date: '',
-  group: '',
-  packingOutput: '',
-  reworkOutput: '',
-  pieceOutput: '',
-  order: '',
-  user: '',
-  createTime: '',
-  updateTime: '',
-  uniqid: '',
-})
-
-// 验证规则
-const rule = reactive({
-})
-
-const elFormRef = ref()
-const elSearchFormRef = ref()
-
-// =========== 表格控制部分 ===========
-const tableCols = [
-  { label: '工单编号', prop: 'qczl_gdbh', width: '100' },
-  { label: '印件号', prop: 'qczl_yjno', width: '100' },
-  { label: '印件名称', prop: 'Gd_cpmc', width: '400' },
-  { label: '日期', prop: 'qczl_rq', width: '100' },
-  { label: '流程单号', prop: 'qczl_num', width: '100' },
-  { label: '流程单备注', prop: 'qczl_NumDesc', width: '100' },
-  { label: '总废品', prop: 'qczl_fp', width: '100' },
-  { label: '废品1', prop: 'sl_lb1', width: '250' },
-  { label: '废品2', prop: 'sl_lb2', width: '250' },
-  { label: '废品3', prop: 'sl_lb3', width: '250' },
-  { label: '废品4', prop: 'sl_lb4', width: '250' },
-  { label: '废品5', prop: 'sl_lb5', width: '250' },
-  { label: '废品6', prop: 'sl_lb6', width: '250' },
-  { label: '废品7', prop: 'sl_lb7', width: '250' },
-  { label: '废品8', prop: 'sl_lb8', width: '250' },
-  { label: '废品9', prop: 'sl_lb9', width: '250' },
-  { label: '废品10', prop: 'sl_lb10', width: '250' },
-  { label: '废品11', prop: 'sl_lb11', width: '250' },
-  { label: '废品12', prop: 'sl_lb12', width: '250' },
-  { label: '废品13', prop: 'sl_lb13', width: '250' },
-  { label: '废品14', prop: 'sl_lb14', width: '250' },
-  { label: '废品15', prop: 'sl_lb15', width: '250' },
-  { label: '废品16', prop: 'sl_lb16', width: '250' },
-  { label: '废品17', prop: 'sl_lb17', width: '250' },
-  { label: '创建用户', prop: 'sys_id', width: '200' },
-]
-const tableData = reactive([])
-const detailData = reactive([
-  {
-    gdbh: '2311736',
-    yjgx: '01-15',
-    gxmc: '包装(圆切)',
-    yjmc: '利群(新)小《降焦改版)',
-    bzcl: '13.00',
-    fgcl: '0.00',
-    mxsl: '2500',
-    jcxs: '1.000',
-    ly: '',
-    dedh: '030002002',
-  },
-])
-const total = ref(0)
-const page = ref(1)
-const limit = ref(10)
-const searchInfo = ref('')
-const params = {
-  date: '',
-  sys_id: '',
-  page: page.value.toString(),
-  limit: limit.value.toString(),
-}
-
-const getTableData = async() => {
-  try {
-    const response = await getOrderVerificationTable(params)
-    if (response.code === 0) {
-      tableData.splice(0, tableData.length, ...response.data.rows)
-    }
-  } catch (error) {
-    console.log(error)
-  }
-}
-
-const handleNodeClick = (node, check) => {
-  if (node.params) {
-    params.date = node.params.date
-    params.sys_id = node.params.sys_id
-    total.value = node.params.total
-    getTableData()
-  }
-}
-
-// 搜索
-function onSearch() {
-
-}
-// ============== 表格控制部分结束 ===============
-
-// 获取需要的字典 可能为空 按需保留
-const setOptions = async() => {
-}
-
-// 获取需要的字典 可能为空 按需保留
-setOptions()
-
-// 多选数据
-const multipleSelection = ref([])
-// 多选
-const handleSelectionChange = (val) => {
-  multipleSelection.value = val
-}
-
-// 批量删除控制标记
-const deleteVisible = ref(false)
-
-// 多选删除
-const onDelete = async() => {
-  const ids = []
-  if (multipleSelection.value.length === 0) {
-    ElMessage({
-      type: 'warning',
-      message: '请选择要删除的数据'
-    })
-    return
-  }
-  multipleSelection.value &&
-    multipleSelection.value.map(item => {
-      ids.push(item.ID)
-    })
-  const res = await deleteCompanyByIds({ ids })
-  if (res.code === 0) {
-    ElMessage({
-      type: 'success',
-      message: '删除成功'
-    })
-    if (tableData.value.length === ids.length && page.value > 1) {
-      page.value--
-    }
-    deleteVisible.value = false
-    getTableData()
-  }
-}
-
-// 行为控制标记(弹窗内部需要增还是改)
-const type = ref('')
-
-// 更新行
-const updateCompanyFunc = async(row) => {
-  const res = await findCompany({ ID: row.ID })
-  type.value = 'update'
-  if (res.code === 0) {
-    formData.value = res.data.recompany
-    dialogFormVisible.value = true
-  }
-}
-
-// 弹窗控制标记
-const dialogFormVisible = ref(false)
-
-// 打开弹窗
-const openDialog = () => {
-  type.value = 'create'
-  dialogFormVisible.value = true
-}
-
-// 关闭弹窗
-const closeDialog = () => {
-  dialogFormVisible.value = false
-  formData.value = {
-    address: '',
-    image: '',
-    name: '',
-  }
-}
-// 弹窗确定
-const enterDialog = async() => {
-  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()
-    }
-  })
-}
-
-// 双击表格操作
-function doubleClick(row, column, event) {
-  console.log(row, column, event)
-  // updateCompanyFunc(row);
-  type.value = 'update'
-  dialogFormVisible.value = true
-}
-
-// 导出excel
-function exportExcel() {
-  console.log('导出到excel')
-}
-
-// 生命周期钩子
-onMounted(async() => {
-})
-</script>
-
-<style scoped>
-.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;
-}
-
-/* 选中某行时的背景色 */
-:deep(.el-table__body tr.current-row) > td {
-  background: #ff80ff !important;
-}
-</style>
-<style scoped>
-:deep(.el-table td .cell) {
-  line-height: 20px !important;
-}
-:deep(.el-tabs__header){
-  margin-bottom: 0;
-}
-.search{
-  margin-left: 0px !important;
-  margin-right: 10px !important;
-}
-.bt{
-  margin-left: 2px !important;
-  padding: 3px !important;
-  font-size: 12px;
-}
-.el-tabs__header{
-  margin: 0px !important;
-}
-.gva-table-box{
-  padding: 0px !important;
-}
-.mab{
-  margin-bottom: 5px;
-}
-</style>

+ 1 - 1
src/view/performance/12-orderAccounting/componets/detail.vue

@@ -9,6 +9,7 @@
     <el-form
       inline
       label-position="left"
+      @submit.native.prevent
     >
       <el-form-item
         label="工单编号"
@@ -129,7 +130,6 @@ const updateOrderGy = (data) => {
 import { defineEmits, defineProps, ref } from 'vue'
 import { ElMessage } from 'element-plus'
 
-// const props = defineProps(['isShow', 'gdbh'])
 const props = defineProps({
   isShow: {
     type: Boolean,

+ 99 - 734
src/view/performance/12-orderAccounting/componets/gdcjstj.vue

@@ -2,8 +2,12 @@
   <div style="width: 30vw; height: 50vh">
     <el-input v-model="input" />
     <el-button
-      @click="handlePrint"
-    >打印测试
+      @click="handlePrint1"
+    >按工序打印
+    </el-button>
+    <el-button
+      @click="handlePrint2"
+    >按班组打印
     </el-button>
   </div>
 </template>
@@ -25,737 +29,26 @@ const getOrderSuperLossCount = (params) => {
 </script>
 
 <script setup>
-import { watch, ref, reactive, defineProps, defineEmits } from 'vue'
-
-import { hiprint, defaultElementTypeProvider } from 'vue-plugin-hiprint'
-
-const jsonData = {
-  'panels': [{
-    'index': 0,
-    'name': 1,
-    'paperType': 'A4',
-    'height': 210,
-    'width': 297,
-    'paperHeader': 108,
-    'paperFooter': 551.5151515151515,
-    'printElements': [{
-      'options': {
-        'left': 267.5,
-        'top': 17.5,
-        'height': 22,
-        'width': 294,
-        'title': '工单工序各班组超节损统计表',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textAlign': 'center',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'right': 560.5625381469727,
-        'bottom': 39.8125,
-        'vCenter': 413.56253814697266,
-        'hCenter': 28.8125,
-        'fontWeight': 600,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 157.5,
-        'top': 50,
-        'height': 14,
-        'width': 129,
-        'title': '成品代号',
-        'field': 'cpdh',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'qid': 'gdbh_1',
-        'right': 285.562557220459,
-        'bottom': 63.99998092651367,
-        'vCenter': 221.06255722045898,
-        'hCenter': 56.99998092651367,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 17.5,
-        'top': 50,
-        'height': 14,
-        'width': 129,
-        'title': '工单编号',
-        'field': 'gdbh',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 305,
-        'top': 50,
-        'height': 14,
-        'width': 507,
-        'title': '成品名称',
-        'field': 'cpmc',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'qid': 'cpdh_1',
-        'right': 442.125057220459,
-        'bottom': 63.99998092651367,
-        'vCenter': 377.625057220459,
-        'hCenter': 56.99998092651367,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 15,
-        'top': 67.5,
-        'height': 42,
-        'width': 811.5,
-        'right': 824,
-        'bottom': 106.16669209798177,
-        'vCenter': 418.25,
-        'hCenter': 85.16669209798177,
-        'coordinateSync': false,
-        'widthHeightSync': false,
-      }, 'printElementType': { 'title': '矩形', 'type': 'rect' },
-    }, {
-      'options': {
-        'left': 207.5,
-        'top': 70,
-        'height': 14,
-        'width': 150,
-        'title': '订单数量',
-        'field': 'ddsl',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'qid': 'xsddh_1',
-        'right': 365.8750190734863,
-        'bottom': 88.68750476837158,
-        'vCenter': 286.3750190734863,
-        'hCenter': 81.68750476837158,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 357.5,
-        'top': 70,
-        'height': 14,
-        'width': 160,
-        'title': '实际投料',
-        'field': 'sjtl',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'qid': 'ddsl_1',
-        'right': 493.3333079020182,
-        'bottom': 88.16669209798177,
-        'vCenter': 425.8333079020182,
-        'hCenter': 81.16669209798177,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 520,
-        'top': 70,
-        'height': 14,
-        'width': 135,
-        'title': '入仓日期',
-        'field': 'rcrq',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'qid': 'sstl_1',
-        'right': 654.1666412353516,
-        'bottom': 89.0000254313151,
-        'vCenter': 586.6666412353516,
-        'hCenter': 82.0000254313151,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 22.5,
-        'top': 70,
-        'height': 14,
-        'width': 172.5,
-        'title': '销售订单号',
-        'field': 'xsddh',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'qid': 'gdbh_1',
-        'right': 195.0000254313151,
-        'bottom': 89.0000254313151,
-        'vCenter': 108.75002543131511,
-        'hCenter': 82.0000254313151,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 657.5,
-        'top': 70,
-        'height': 14,
-        'width': 135,
-        'title': '入仓合计',
-        'field': 'rchj',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'qid': 'rcrq_1',
-        'right': 797.4999745686848,
-        'bottom': 87.33335876464844,
-        'vCenter': 729.9999745686848,
-        'hCenter': 80.33335876464844,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 15,
-        'top': 87.5,
-        'height': 9,
-        'width': 810,
-        'right': 106.66666666666667,
-        'bottom': 95.66669209798178,
-        'vCenter': 61.66666666666667,
-        'hCenter': 91.16669209798178,
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'borderWidth': 0.75,
-      }, 'printElementType': { 'title': '横线', 'type': 'hline' },
-    }, {
-      'options': {
-        'left': 300,
-        'top': 90,
-        'height': 14,
-        'width': 100,
-        'title': '制程废',
-        'field': 'zcf',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'qid': 'ltcl_1',
-        'right': 439.5454476096413,
-        'bottom': 101.5000069358132,
-        'vCenter': 387.0454476096413,
-        'hCenter': 94.5000069358132,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 400,
-        'top': 90,
-        'height': 14,
-        'width': 100,
-        'title': '质检废',
-        'field': 'zjf',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'qid': 'zcf_1',
-        'right': 504.5454614812677,
-        'bottom': 98.54545454545455,
-        'vCenter': 454.5454614812677,
-        'hCenter': 91.54545454545455,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 202.5,
-        'top': 90,
-        'height': 14,
-        'width': 100,
-        'title': '零头处理',
-        'field': 'ltcl',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'qid': 'wff_1',
-        'right': 341.81818875399495,
-        'bottom': 101.5000069358132,
-        'vCenter': 289.31818875399495,
-        'hCenter': 94.5000069358132,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 500,
-        'top': 90,
-        'height': 14,
-        'width': 100,
-        'title': '无形损',
-        'field': 'wxs',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'qid': 'zjf_1',
-        'right': 602.500021457672,
-        'bottom': 100.87499999999999,
-        'vCenter': 552.500021457672,
-        'hCenter': 93.87499999999999,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 117.5,
-        'top': 90,
-        'height': 14,
-        'width': 90,
-        'title': '外发废',
-        'field': 'wff',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'qid': 'clf_1',
-        'right': 224.99999306418678,
-        'bottom': 100.81818875399503,
-        'vCenter': 177.49999306418678,
-        'hCenter': 93.81818875399503,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 597.5,
-        'top': 90,
-        'height': 14,
-        'width': 114,
-        'title': '目标合格率',
-        'field': 'mbhgl',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'qid': 'wxs_1',
-        'right': 728.375021457672,
-        'bottom': 102.12499999999997,
-        'vCenter': 671.375021457672,
-        'hCenter': 95.12499999999997,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 22.5,
-        'top': 90,
-        'height': 14,
-        'width': 95,
-        'title': '材料废',
-        'field': 'clf',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'qid': 'xsddh_1',
-        'right': 150.25001907348633,
-        'bottom': 85.25001430511475,
-        'vCenter': 85.75001907348633,
-        'hCenter': 78.25001430511475,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 712.5,
-        'top': 90,
-        'height': 14,
-        'width': 114,
-        'title': '实际合格率',
-        'field': 'sjhgl',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'color': '#000000',
-        'textContentVerticalAlign': 'middle',
-        'textContentWrap': 'ellipsis',
-        'qrCodeLevel': 0,
-        'qid': 'mbhgl_1',
-        'right': 820.875021457672,
-        'bottom': 128.37499999999994,
-        'vCenter': 763.875021457672,
-        'hCenter': 121.37499999999996,
-      }, 'printElementType': { 'title': '这是更新后的元素', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 15,
-        'top': 108.5,
-        'height': 442.5,
-        'width': 811.5,
-        'right': 813.6666666666666,
-        'bottom': 153.5000254313151,
-        'vCenter': 413.9166666666667,
-        'hCenter': 135.5000254313151,
-        'field': 'table',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 10.5,
-        'tableHeaderRowHeight': 30,
-        'tableFooterRepeat': 'last',
-        'tableHeaderRepeat': 'page',
-        'columns': [[{
-          'width': 109.58270193697071,
-          'title': '印件及工序名称\n',
-          'titleSync': false,
-          'field': 'gxmc',
-          'checked': true,
-          'columnId': 'gxmc',
-          'fixed': false,
-          'rowspan': 1,
-          'colspan': 1,
-          'halign': 'center',
-          'tableQRCodeLevel': 0,
-          'tableSummaryTitle': true,
-          'tableSummaryText': '合计',
-          'tableSummary': '',
-          'tableSummaryAlign': 'right',
-        }, {
-          'width': 53.99363831254071,
-          'title': '工序计划产量',
-          'titleSync': false,
-          'field': 'jhcl',
-          'checked': true,
-          'columnId': 'jhcl',
-          'fixed': false,
-          'rowspan': 1,
-          'colspan': 1,
-          'align': 'right',
-          'halign': 'center',
-          'tableQRCodeLevel': 0,
-          'tableSummaryTitle': true,
-          'tableSummary': '',
-        }, {
-          'width': 53.99363831254071,
-          'title': '工序计划损耗',
-          'titleSync': false,
-          'field': 'jhsh',
-          'checked': true,
-          'columnId': 'jhsh',
-          'fixed': false,
-          'rowspan': 1,
-          'colspan': 1,
-          'align': 'right',
-          'halign': 'center',
-          'tableQRCodeLevel': 0,
-          'tableSummaryTitle': false,
-          'tableSummaryColspan': '0',
-          'tableSummary': 'sum',
-          'tableSummaryAlign': 'right',
-          'tableSummaryNumFormat': '0',
-        }, {
-          'width': 53.99363831254071,
-          'title': '制程废',
-          'titleSync': false,
-          'field': 'zcf',
-          'checked': true,
-          'columnId': 'zcf',
-          'fixed': false,
-          'rowspan': 1,
-          'colspan': 1,
-          'align': 'right',
-          'halign': 'center',
-          'tableQRCodeLevel': 0,
-          'tableSummaryTitle': false,
-          'tableSummary': 'sum',
-          'tableSummaryAlign': 'right',
-          'tableSummaryNumFormat': '0',
-        }, {
-          'width': 53.99363831254071,
-          'title': '质检废',
-          'titleSync': false,
-          'field': 'zjf',
-          'checked': true,
-          'columnId': 'zjf',
-          'fixed': false,
-          'rowspan': 1,
-          'colspan': 1,
-          'align': 'right',
-          'halign': 'center',
-          'tableQRCodeLevel': 0,
-          'tableSummaryTitle': false,
-          'tableSummary': 'sum',
-          'tableSummaryAlign': 'right',
-          'tableSummaryNumFormat': '0',
-        }, {
-          'width': 53.99363831254071,
-          'title': '无形损',
-          'titleSync': false,
-          'field': 'wxs',
-          'checked': true,
-          'columnId': 'wxs',
-          'fixed': false,
-          'rowspan': 1,
-          'colspan': 1,
-          'align': 'right',
-          'halign': 'center',
-          'tableQRCodeLevel': 0,
-          'tableSummaryTitle': false,
-          'tableSummary': 'sum',
-          'tableSummaryAlign': 'right',
-          'tableSummaryNumFormat': '0',
-        }, {
-          'width': 53.99363831254071,
-          'title': '报废合计',
-          'titleSync': false,
-          'field': 'bfhj',
-          'checked': true,
-          'columnId': 'bfhj',
-          'fixed': false,
-          'rowspan': 1,
-          'colspan': 1,
-          'align': 'right',
-          'halign': 'center',
-          'tableQRCodeLevel': 0,
-          'tableSummaryTitle': false,
-          'tableSummary': 'sum',
-          'tableSummaryAlign': 'right',
-          'tableSummaryNumFormat': '0',
-        }, {
-          'width': 53.99363831254071,
-          'title': '工序节损数',
-          'titleSync': false,
-          'field': 'jss',
-          'checked': true,
-          'columnId': 'jss',
-          'fixed': false,
-          'rowspan': 1,
-          'colspan': 1,
-          'align': 'right',
-          'halign': 'center',
-          'tableQRCodeLevel': 0,
-          'tableSummaryTitle': false,
-          'tableSummary': 'sum',
-          'tableSummaryAlign': 'right',
-          'tableSummaryNumFormat': '0',
-        }, {
-          'width': 53.99363831254071,
-          'title': '占投料报废率',
-          'titleSync': false,
-          'field': 'tlbfl',
-          'checked': true,
-          'columnId': 'tlbfl',
-          'fixed': false,
-          'rowspan': 1,
-          'colspan': 1,
-          'align': 'right',
-          'halign': 'center',
-          'tableQRCodeLevel': 0,
-          'tableSummaryTitle': true,
-          'tableSummary': '',
-        }, {
-          'width': 53.99363831254071,
-          'title': '工序目标报废率',
-          'titleSync': false,
-          'field': 'mbbfl',
-          'checked': true,
-          'columnId': 'mbbfl',
-          'fixed': false,
-          'rowspan': 1,
-          'colspan': 1,
-          'align': 'right',
-          'halign': 'center',
-          'tableQRCodeLevel': 0,
-          'tableSummaryTitle': true,
-          'tableSummary': '',
-        }, {
-          'width': 53.99363831254071,
-          'title': '工序实际报废率',
-          'titleSync': false,
-          'field': 'sjbfl',
-          'checked': true,
-          'columnId': 'sjbfl',
-          'fixed': false,
-          'rowspan': 1,
-          'colspan': 1,
-          'align': 'right',
-          'halign': 'center',
-          'tableQRCodeLevel': 0,
-          'tableSummaryTitle': true,
-          'tableSummary': '',
-        }, {
-          'width': 53.99363831254071,
-          'title': '超节损承担比例',
-          'titleSync': false,
-          'field': 'cdbl',
-          'checked': true,
-          'columnId': 'cdbl',
-          'fixed': false,
-          'rowspan': 1,
-          'colspan': 1,
-          'align': 'right',
-          'halign': 'center',
-          'tableQRCodeLevel': 0,
-          'tableSummaryTitle': true,
-          'tableSummary': '',
-        }, {
-          'width': 53.99363831254071,
-          'title': '工序超节损金额',
-          'titleSync': false,
-          'field': 'cjsje',
-          'checked': true,
-          'columnId': 'cjsje',
-          'fixed': false,
-          'rowspan': 1,
-          'colspan': 1,
-          'align': 'right',
-          'halign': 'center',
-          'tableQRCodeLevel': 0,
-          'tableSummaryTitle': false,
-          'tableSummary': 'sum',
-          'tableSummaryAlign': 'right',
-          'tableSummaryNumFormat': '1',
-        }, {
-          'width': 53.99363831254071,
-          'title': '主管确认',
-          'titleSync': false,
-          'field': 'zgqr',
-          'checked': true,
-          'columnId': 'zgqr',
-          'fixed': false,
-          'rowspan': 1,
-          'colspan': 1,
-          'align': 'right',
-          'halign': 'center',
-          'tableQRCodeLevel': 0,
-          'tableSummaryTitle': true,
-          'tableSummary': '',
-        }]],
-      },
-      'printElementType': {
-        'title': '空白表格',
-        'type': 'table',
-        'editable': true,
-        'columnDisplayEditable': true,
-        'columnDisplayIndexEditable': true,
-        'columnTitleEditable': true,
-        'columnResizable': true,
-        'columnAlignEditable': true,
-        'isEnableEditField': true,
-        'isEnableContextMenu': true,
-        'isEnableInsertRow': true,
-        'isEnableDeleteRow': true,
-        'isEnableInsertColumn': true,
-        'isEnableDeleteColumn': true,
-        'isEnableMergeCell': true,
-      },
-    }, {
-      'options': {
-        'left': 301.5,
-        'top': 562.5,
-        'height': 19.5,
-        'width': 120,
-        'title': '复核:',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'qrCodeLevel': 0,
-        'right': 292.5,
-        'bottom': 583.5000171661377,
-        'vCenter': 232.5,
-        'hCenter': 573.7500171661377,
-      }, 'printElementType': { 'title': '文本', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 18,
-        'top': 562.5,
-        'height': 19.5,
-        'width': 120,
-        'title': '会签:',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'qrCodeLevel': 0,
-        'right': 132,
-        'bottom': 582.0000171661377,
-        'vCenter': 72,
-        'hCenter': 572.2500171661377,
-      }, 'printElementType': { 'title': '文本', 'type': 'text' },
-    }, {
-      'options': {
-        'left': 643.5,
-        'top': 564,
-        'height': 19.5,
-        'width': 120,
-        'title': '审批:',
-        'coordinateSync': false,
-        'widthHeightSync': false,
-        'fontSize': 12,
-        'qrCodeLevel': 0,
-        'right': 190.5,
-        'bottom': 504.0000171661377,
-        'vCenter': 130.5,
-        'hCenter': 494.2500171661377,
-      }, 'printElementType': { 'title': '文本', 'type': 'text' },
-    }],
-    'paperNumberLeft': 816,
-    'paperNumberTop': 555,
-    'paperNumberContinue': true,
-    'backgroundColor': '#ffffff',
-    'orient': 2,
-    'overPrintOptions': { 'content': '', 'opacity': 0.7, 'type': 1 },
-    'watermarkOptions': {
-      'content': '',
-      'rotate': 25,
-      'timestamp': true,
-      'format': 'YYYY-MM-DD HH:mm',
-      'fillStyle': 'rgba(184, 184, 184, 0.3)',
-      'fontSize': '14px',
-      'width': 200,
-      'height': 200,
-    },
-  }],
-}
-const props = defineProps(['gdbh'])
-const input = ref(props?.['gdbh'])
+import { ref, defineProps } from 'vue'
+import { hiprint } from 'vue-plugin-hiprint'
+import { ElMessage } from 'element-plus'
+import template1 from './template-gx.json'
+import template2 from './template-bz.json'
 
-// 引入后使用示例
-hiprint.init()
-// 下列方法都是没有拖拽设计页面的, 相当于代码模式, 使用代码设计页面
-// 想要实现拖拽设计页面,请往下看 '自定义设计'
-const hiprintTemplate = new hiprint.PrintTemplate({ template: jsonData })
+// const props = defineProps(['gdbh'])
+const props = defineProps({
+  gdbh: {
+    type: String,
+    default: '',
+  }
+})
+const input = ref(props['gdbh'])
 
-const handlePrint = async() => {
+const handlePrint1 = async() => {
+  // 引入后初始化
+  hiprint.init()
+  const template = JSON.parse(JSON.stringify(template1))
+  const hiprintTemplate = new hiprint.PrintTemplate({ template })
   const params = {
     order: input.value,
     type: '1',
@@ -764,13 +57,20 @@ const handlePrint = async() => {
   if (res['code'] === 0) {
     console.log(res['data'])
     const { data } = res
+    if (!data) {
+      ElMessage({
+        type: 'info',
+        message: res['msg']
+      })
+      return
+    }
     const tableData = {
       'gdbh': data['Gd_gdbh'],
       'cpdh': data['成品代号'],
       'cpmc': data['成品名称'],
       'xsddh': data['销售订单号'],
-      'ddsl': data['订单数量'],
-      'sjtl': data['实际投料'],
+      'ddsl': `${parseFloat(data['订单数量']).toFixed(4)} 万张`,
+      'sjtl': `${parseFloat(data['实际投料']).toFixed(4)} 万张`,
       'rcrq': data['warehousing_date'],
       'rchj': data['warehousing_num'],
       'clf': data['material_waste'],
@@ -781,8 +81,15 @@ const handlePrint = async() => {
       'wxs': data['intangible_loss'],
       'mbhgl': data['target_rate'],
       'sjhgl': data['real_rate'],
+      'total1': data['total']['plan_loss'],
+      'total2': data['total']['total_fp'],
+      'total3': data['total']['waste_quality'],
+      'total4': data['total']['waste_intangible'],
+      'total5': data['total']['total_waste'],
+      'total6': data['total']['loss'],
+      // 'total7': data['total'][''],
       'table': data['gy_data'].map(item => ({
-        'gxmc': `${item.Gy0_yjno}-${item.Gy0_gxh}-${item.Gy0_gxmc}-${item.Add_gxmc}`,
+        'gxmc': `${item.Gy0_yjno}${item.Gy0_gxh === '' ? '' : '-' + item.Gy0_gxh}${item.Gy0_gxmc === '' ? '' : '-' + item.Gy0_gxmc}${item.Add_gxmc === '' ? '' : '-' + item.Add_gxmc}`.substring(0, 20),
         'jhcl': item['Gy0_计划接货数'],
         'jhsh': item['Gy0_计划损耗'],
         'zcf': item['total_fp'],
@@ -798,6 +105,64 @@ const handlePrint = async() => {
         'zgqr': item[''],
       })),
     }
+    console.log(tableData)
+    hiprintTemplate.print(tableData)
+  }
+}
+
+const handlePrint2 = async() => {
+  // 引入后初始化
+  hiprint.init()
+  const template = JSON.parse(JSON.stringify(template2))
+  const hiprintTemplate = new hiprint.PrintTemplate({ template })
+  const params = {
+    order: input.value,
+    type: '2',
+  }
+  const res = await getOrderSuperLossCount(params)
+  if (res['code'] === 0) {
+    console.log(res['data'])
+    const { data } = res
+    if (!data) {
+      ElMessage({
+        type: 'info',
+        message: res['msg']
+      })
+      return
+    }
+    const tableData = {
+      'gdbh': data['Gd_gdbh'],
+      'cpmc': data['成品名称'],
+      'sjtl': parseFloat(data['实际投料']).toFixed(2) + '万张',
+      'rcs': data['warehousing_num'],
+      'wg': data['warehousing_date'],
+      'clf': data['材料废'],
+      'wff': data['外发废'],
+      'ltcl': data['零头处理'],
+      'zcf': data[''],
+      'zjf': data['工单质检废'],
+      'wxs': data[''],
+      'mbhgl': data['target_rate'],
+      'sjhgl': data['real_rate'],
+      'plan_loss': data['total']['plan_loss'],
+      'total_fp': data['total']['total_fp'],
+      'waste_quality': data['total']['waste_quality'],
+      'waste_intangible': data['total']['waste_intangible'],
+      'total_jsj': '',
+      'table': data['gy_data'].map(item => ({
+        'bzcy': item['member'],
+        'yjgx': item['sczl_gxmc'].substring(0, 20),
+        'cl': item['total_cl'],
+        'jhsh': item['计划损耗'],
+        'zcfp': item['sczl_zcfp'],
+        'zjf': item['waste_quality'],
+        'wxsft': item['intangible_loss'],
+        'jssl': item['loss'],
+        'cdbl': item['超节损承担比例'],
+        'jsj': `<span style="color: red;">${item['loss'] ? item['loss'] : ''}</span>`,
+      })),
+    }
+    console.log(tableData)
     hiprintTemplate.print(tableData)
   }
 }

+ 250 - 0
src/view/performance/12-orderAccounting/componets/hjfpfb.vue

@@ -0,0 +1,250 @@
+<template>
+  <el-dialog
+    :model-value="modelValue"
+    title="核检废品日统计"
+    fullscreen
+    destroy-on-close
+    :before-close="() => emits('update:modelValue', false )"
+  >
+    <el-container>
+      <!-- 按钮部分 -->
+      <el-header height="90px">
+        <div>
+          <el-button
+            type="primary"
+            size="large"
+            @click="handleExcel"
+          >导出到Excel
+          </el-button>
+          <el-button
+            type="primary"
+            size="large"
+            @click="() => emits('update:modelValue', false )"
+          >退出
+          </el-button>
+        </div>
+
+        <div style="margin-top: 10px;">
+          <el-form
+            :inline="true"
+            :model="form"
+            @submit.prevent
+          >
+            <el-form-item label="工单编号">
+              <el-input
+                v-model="form.gdbh"
+                style="width: 100px;"
+              />
+              <el-button
+                type="primary"
+                :loading="isLoading"
+                style="margin-left: 1px;"
+                @click="handleSearch"
+              >刷新
+              </el-button>
+            </el-form-item>
+
+            <el-form-item label="印件名称">
+              <el-input
+                v-model="form.yjmc"
+                readonly
+                style="width: 200px;"
+              />
+            </el-form-item>
+
+            <el-form-item label="投料量">
+              <el-input
+                v-model="form.tll"
+                readonly
+                style="width: 100px;"
+              />
+            </el-form-item>
+
+            <el-form-item label="总废品">
+              <el-input
+                v-model="form.zfp"
+                readonly
+                style="width: 100px;"
+              />
+            </el-form-item>
+
+            <el-form-item label="实际合格率">
+              <el-input
+                v-model="form.sjhgl"
+                readonly
+                style="width:100px;"
+              />
+            </el-form-item>
+          </el-form>
+
+        </div>
+
+      </el-header>
+
+      <el-container>
+        <el-aside width="400px">
+          <el-table
+            ref="multipleTable"
+            height="70vh"
+            :data="tableData"
+            row-key="ID"
+            highlight-current-row
+            border
+            show-overflow-tooltip
+            :row-style="{ height: '20px' }"
+            :cell-style="{ padding: '0px' }"
+            :header-row-style="{ height: '20px' }"
+            :header-cell-style="{ padding: '0px' }"
+          >
+            <!-- 循环渲染表格列 -->
+            <el-table-column
+              v-for="column in tableColumns"
+              :key="column.prop"
+              :prop="column.prop"
+              :label="column.label"
+              :width="column.width"
+            />
+          </el-table>
+        </el-aside>
+        <el-main>
+          <div
+            ref="echart"
+            style="height: 100%; width: 100%;"
+          />
+        </el-main>
+      </el-container>
+
+    </el-container>
+  </el-dialog>
+</template>
+
+<script>
+export default {
+  name: 'Hjfpfb',
+}
+
+// 3.1工单核检废品分布
+import service from '@/utils/request'
+export const getWasteDistribution = (params) => {
+  return service({
+    url: '/mes_server/work_order_verification/wasteDistribution',
+    method: 'get',
+    params
+  })
+}
+</script>
+
+<script setup>
+import * as echarts from 'echarts'
+import { nextTick, onMounted, onUnmounted, ref, shallowRef, defineProps, defineEmits } from 'vue'
+
+const props = defineProps(['modelValue', 'val'])
+const emits = defineEmits(['update:modelValue'])
+const form = ref({
+  gdbh: props['val'],
+})
+
+const tableColumns = ref([
+  { label: '废品分类', prop: 'fpfl', width: '130' },
+  { label: '数量', prop: 'sl', width: '70' },
+  { label: '报损率', prop: 'bsl', width: '100' },
+  { label: '废品占比', prop: 'fpzb', width: '100' },
+])
+const tableData = ref([])
+const isLoading = ref(false)
+
+const handleExcel = () => {
+}
+
+const handleSearch = async() => {
+  const order = form.value['gdbh']
+  const res = await getWasteDistribution({ order })
+  if (res['code'] === 0) {
+    console.log(res['data'])
+    form.value = {
+      ...form.value,
+      gdbh: res['data']['Gd_gdbh'],
+      yjmc: res['data']['yj_yjmc'],
+      tll: res['data']['实际投料'],
+      zfp: res['data']['wasteTotal'],
+      sjhgl: res['data']['passRate'],
+    }
+    tableData.value = res['data']['wasteData'].map(item => ({
+      fpfl: item['type'],
+      sl: item['num'],
+      bsl: item['lossesRate'],
+      fpzb: item['wasteRate'],
+    }))
+
+    const data = []
+    res['data']['rightData'].forEach(element => {
+      data.push({ name: element['type'], value: parseFloat(element['rate']) })
+    })
+    setOptions(data)
+  }
+}
+
+const chart = shallowRef(null)
+const echart = ref(null)
+const initChart = () => {
+  chart.value = echarts.init(echart.value /* 'macarons' */)
+}
+const setOptions = (data) => {
+  chart.value.setOption({
+    // title: {
+    //   text: 'Weather Statistics',
+    //   subtext: 'Fake Data',
+    //   left: 'center'
+    // },
+    // tooltip: {
+    //   trigger: 'item',
+    //   formatter: '{a} <br/>{b} : {c} ({d}%)'
+    // },
+    legend: {
+      orient: 'vertical',
+      right: 20,
+      top: 'center',
+      textStyle: {
+        fontSize: 14,
+      },
+      selectedMode: false, // 设置图例禁止点击
+      data: data.map(item => item['name'])
+    },
+    series: [
+      {
+        type: 'pie',
+        radius: '65%',
+        center: ['40%', '50%'],
+        data: data,
+        label: {
+          show: true,
+          formatter: '{b}: {d}%',
+          fontSize: 14,
+        },
+      },
+
+    ]
+  })
+}
+
+onMounted(async() => {
+  await nextTick()
+  initChart()
+})
+
+onUnmounted(() => {
+  if (!chart.value) {
+    return
+  }
+  chart.value.dispose()
+  chart.value = null
+})
+
+</script>
+
+  <style scoped>
+
+  :deep(.el-table td .cell) {
+    line-height: 20px !important;
+  }
+  </style>

+ 4 - 1
src/view/performance/12-orderAccounting/componets/khsz.vue

@@ -17,7 +17,10 @@
       @click="emits('update:modelValue', false )"
     >退出</el-button>
 
-    <el-form inline>
+    <el-form
+      inline
+      @submit.native.prevent
+    >
       <el-form-item label="工单编号">
         <el-input
           v-model="input"

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 17 - 0
src/view/performance/12-orderAccounting/componets/template-bz.json


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 16 - 0
src/view/performance/12-orderAccounting/componets/template-gx.json


+ 21 - 2
src/view/performance/12-orderAccounting/index.vue

@@ -8,6 +8,7 @@
             ref="elSearchFormRef"
             inline
             class="demo-form-inline"
+            @submit.native.prevent
           >
             <el-form-item>
               <el-input
@@ -70,6 +71,14 @@
               >工单质检废品统计
               </el-button>
 
+              <el-button
+                type="primary"
+                icon="edit"
+                class="bt"
+                @click="()=>{dialogHjfpfb = true}"
+              >核检废品分布
+              </el-button>
+
             </el-form-item>
           </el-form>
 
@@ -119,6 +128,13 @@
               v-model="dialogGdzjfptj"
               :val="gdbh"
             />
+
+            <!-- 核检废品分布 -->
+            <Hjfpfb
+              v-if="dialogHjfpfb"
+              v-model="dialogHjfpfb"
+              :val="gdbh"
+            />
           </div>
 
         </div>
@@ -225,6 +241,7 @@ import Gxclhc from '@/view/performance/12-orderAccounting/componets/gxclhc.vue'
 import Gongdanzhijianfeipintongji
   from '@/view/performance/09-workOrderVerification/componets/gongdanzhijianfeipintongji.vue'
 import Detail from '@/view/performance/12-orderAccounting/componets/detail.vue'
+import Hjfpfb from './componets/hjfpfb.vue'
 
 // 弹窗
 const dialogGdcjstj = ref(false)
@@ -233,6 +250,7 @@ const dialogKhsz = ref(false)
 const dialogXzgdtl = ref(false)
 const dialogGxclhc = ref(false)
 const dialogGdzjfptj = ref(false)
+const dialogHjfpfb = ref(false)
 
 // 侧边栏数据
 const treeData = ref([])
@@ -285,7 +303,7 @@ const tableCols1 = [
   { label: '工单计划损耗', prop: '工单计划损耗', width: '120' },
   { label: '工单制程废', prop: '', width: '100' },
   { label: '工单检验废', prop: '工单质检废', width: '100' },
-  { label: '年月', prop: '', width: '100' },
+  { label: '年月', prop: 'date', width: '100' },
 ]
 const tableCols2 = [
   { label: '工单编号', prop: 'Gy0_gdbh', width: '100' },
@@ -310,7 +328,7 @@ const searchInfo = ref('')
 
 watch(currentRow, (value, oldValue, onCleanup) => {
   gdbh.value = value?.['Gd_gdbh']
-  date.value = value?.['年月']
+  date.value = value?.['date']
 })
 
 // 显示上方表格
@@ -322,6 +340,7 @@ const handleNodeClick = async(node) => {
     tableData1.value = res.data.data.map(item => ({
       ...item,
       csgd: parseFloat(item['target_rate']) - parseFloat(item['real_rate']) > 0 ? '√' : '',
+      date: date,
     }))
     console.log(res.data)
   } else {

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 384 - 304
src/view/yunyin/chanpinziliao/chanpinziliao.vue


+ 4 - 10
src/view/yunyin/shengchanguanli/gongdanshengchan.vue

@@ -1075,23 +1075,17 @@ const handleConfirm = async () => {
   //状态
   let statusCode;
   if (status.value === '计划中') {
-    statusCode = "1-计划中";
+    statusCode = "3-计划中";
   } else if (status.value === '生产中') {
     statusCode = "2-生产中";
   }else if (status.value === '已完工') {
-    statusCode = "3-已完工";
+    statusCode = "1-已完工";
   }
   const StatusEditdata = await StatusEdit({workOrder:workOrder,status:statusCode});
   if (StatusEditdata.code === 0) {
-    ElMessage({
-      type: 'success',
-      message: '更新成功'
-    })
+    ElMessage({type: 'success',message: '更新成功'})
   } else {
-    ElMessage({
-      type: 'error',
-      message: '更新失败'
-    })
+    ElMessage({type: 'error',message: '更新失败'})
   }
   onstatuslist.value = false;
 };

+ 188 - 71
src/view/yunyin/shengchanguanli/gongdanziliao.vue

@@ -450,7 +450,7 @@
               </div>
             </div>
 
-            <!--  印件资料、工艺资料、BOM资料列表  -->
+            <!-- 印件资料列表、工艺资料列表、BOM资料列表  -->
             <el-tabs v-model="activeName" @tab-click="handleClick">
               <el-tab-pane label="印件资料"  @click="showTable('印件资料')"  name="first">
                 <el-table ref="multipleTable"
@@ -545,7 +545,7 @@
               </el-tab-pane>
             </el-tabs>
 
-            <!-- 修改工单资料弹窗 -->
+            <!-- 修改工单资料 -->
             <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" style="width: 55%;margin: 50px auto" :title="'修改工单资料'" destroy-on-close>
               <el-row>
                 <el-form :model="scgdformData" label-position="right" ref="elFormRef" :rules="rule" >
@@ -682,7 +682,7 @@
 
             </el-dialog>
 
-            <!-- 新增工单资料弹窗 -->
+            <!-- 新增工单资料 -->
             <el-dialog v-model="add_gddialogFormVisible" :before-close="add_gdcloseDialog"  style="width: 55%;margin: 50px auto" :title="'新增工单资料'" destroy-on-close>
               <el-row>
                 <el-form :model="add_gdscgdformData" label-position="right" ref="elFormRef" :rules="rule" >
@@ -818,7 +818,7 @@
               </template>
             </el-dialog>
 
-            <!-- 新增查询客户代号 -->
+            <!-- 新增工单查询客户代号、客户名称 -->
             <el-dialog v-model="khdhModal" :before-close="() => khdhModal = false">
               <el-form>
                 <div>
@@ -835,7 +835,7 @@
               </el-form>
             </el-dialog>
 
-            <!-- 新增查询 cp代号 -->
+            <!-- 新增工单查询产品代号、产品名称 -->
             <el-dialog v-model="cpdhModal" :before-close="() => cpdhModal = false">
               <el-form>
                 <div>
@@ -852,7 +852,7 @@
               </el-form>
             </el-dialog>
 
-            <!-- 修改印件表格资料弹窗 -->
+            <!-- 修改印件资料 -->
             <el-dialog v-model="gdyjdialogFormVisible" :before-close="gdyjcloseDialog"
                        style="width: 60%;"  :title="'修改印件资料'" destroy-on-close>
               <el-form label-width="100px">
@@ -864,23 +864,23 @@
                   <el-input v-model="gdyjformData['印件名称']"  style="width: 80%; margin-left: 10px"  id="印件名称"  @keydown="edit_gdyjent($event, '印件代号', '印件名称', '纸张代号')"/>
                 </el-form-item>
                 <el-form-item label="纸张编号:" class="mab" prop="keyOrder">
-                  <el-input v-model="gdyjformData['纸张代号']"  style="width: 140px;" id="纸张代号"  @keydown="edit_gdyjent($event, '印件名称', '纸张代号', '纸张名称')"/>
+                  <el-input v-model="gdyjformData['纸张代号']"  style="width: 140px;" id="纸张代号"  @keydown="edit_gdyjent($event, '印件名称', '纸张代号', '纸张名称',0)"/>
                   <el-input v-model="gdyjformData['纸张名称']"  style="width: 80%; margin-left: 10px" id="纸张名称"  @keydown="edit_gdyjent($event, '纸张代号', '纸张名称', '备用纸张1')"/>
                 </el-form-item>
                 <el-form-item label="备用纸张1:" class="mab" prop="keyOrder">
-                  <el-input v-model="gdyjformData['备用纸张1']"  style="width: 140px;" id="备用纸张1"  @keydown="edit_gdyjent($event, '纸张名称', '备用纸张1', '纸张名称11')"/>
+                  <el-input v-model="gdyjformData['备用纸张1']"  style="width: 140px;" id="备用纸张1"  @keydown="edit_gdyjent($event, '纸张名称', '备用纸张1', '纸张名称11',1)"/>
                   <el-input v-model="gdyjformData['纸张名称11']"  style="width: 80%; margin-left: 10px" id="纸张名称11"  @keydown="edit_gdyjent($event, '备用纸张1', '纸张名称11', '备用纸张2')"/>
                 </el-form-item>
                 <el-form-item label="备用纸张2:" class="mab" prop="keyOrder">
-                  <el-input v-model="gdyjformData['备用纸张2']"  style="width: 140px;" id="备用纸张2"  @keydown="edit_gdyjent($event, '纸张名称11', '备用纸张2', '纸张名称22')"/>
+                  <el-input v-model="gdyjformData['备用纸张2']"  style="width: 140px;" id="备用纸张2"  @keydown="edit_gdyjent($event, '纸张名称11', '备用纸张2', '纸张名称22',2)"/>
                   <el-input v-model="gdyjformData['纸张名称22']"  style="width: 80%; margin-left: 10px" id="纸张名称22"  @keydown="edit_gdyjent($event, '备用纸张2', '纸张名称22', '备用纸张3')"/>
                 </el-form-item>
                 <el-form-item label="备用纸张3:" class="mab" prop="keyOrder">
-                  <el-input v-model="gdyjformData['备用纸张3']"  style="width: 140px;" id="备用纸张3"  @keydown="edit_gdyjent($event, '纸张名称22', '备用纸张3', '纸张名称33')"/>
+                  <el-input v-model="gdyjformData['备用纸张3']"  style="width: 140px;" id="备用纸张3"  @keydown="edit_gdyjent($event, '纸张名称22', '备用纸张3', '纸张名称33',3)"/>
                   <el-input v-model="gdyjformData['纸张名称33']"  style="width: 80%; margin-left: 10px" id="纸张名称33"  @keydown="edit_gdyjent($event, '备用纸张3', '纸张名称33', '备用纸张4')"/>
                 </el-form-item>
                 <el-form-item label="备用纸张4:" class="mab" prop="keyOrder">
-                  <el-input v-model="gdyjformData['备用纸张4']"  style="width: 140px;" id="备用纸张4"  @keydown="edit_gdyjent($event, '纸张名称33', '备用纸张4', '纸张名称44')"/>
+                  <el-input v-model="gdyjformData['备用纸张4']"  style="width: 140px;" id="备用纸张4"  @keydown="edit_gdyjent($event, '纸张名称33', '备用纸张4', '纸张名称44',4)"/>
                   <el-input v-model="gdyjformData['纸张名称44']"  style="width: 80%; margin-left: 10px" id="纸张名称44"  @keydown="edit_gdyjent($event, '备用纸张4', '纸张名称44', '订单数量')"/>
                 </el-form-item>
                 <div style="display: flex; gap: 0px;">
@@ -924,7 +924,41 @@
               </template>
             </el-dialog>
 
-            <!-- 新增印件资料弹窗 -->
+            <!-- 修改查询印件代号、印件名称 -->
+            <el-dialog v-model="edit_searchModel" :before-close="() => edit_searchModel = false">
+              <el-form>
+                <div>
+                  <el-form-item label="关键字:"  class="mab" prop="keyOrder">
+                    <el-space>
+                      <el-input v-model="edit_yjdh_keyword" style="width: 100%;"/>
+                      <el-button @click="edit_searchHandle(edit_yjdh_keyword)">刷新</el-button>
+                    </el-space>
+                  </el-form-item>
+                  <div style="border:1px solid #eee; width:100%; height: 400px; overflow-y: auto">
+                    <el-tree :data="edit_getProductYjListdata" :props="{children: 'children',label: 'label', value: '物料代码'}" @node-click="edit_selectNode" />
+                  </div>
+                </div>
+              </el-form>
+            </el-dialog>
+
+            <!-- 修改查询印件纸张编号、纸张名称 -->
+            <el-dialog v-model="edit_searchZhiModel" :before-close="() => edit_searchZhiModel = false">
+              <el-form>
+                <div>
+                  <el-form-item label="关键字:"  class="mab" prop="keyOrder">
+                    <el-space>
+                      <el-input v-model="edit_zhi_keyword" style="width: 100%;"/>
+                      <el-button @click="edit_searchZhiHandle(edit_zhi_keyword)">刷新</el-button>
+                    </el-space>
+                  </el-form-item>
+                  <div style="border:1px solid #eee; width:100%; height: 400px; overflow-y: auto">
+                    <el-tree :data="edit_getProductZhiListdata" :props="{children: 'children',label: 'label', value: '物料代码'}" @node-click="edit_selectZhiNode" />
+                  </div>
+                </div>
+              </el-form>
+            </el-dialog>
+
+            <!-- 新增印件资料 -->
             <el-dialog v-model="add_gdyjdialogFormVisible" :before-close="add_gdyjcloseDialog"
                        style="width: 60%;" :title="'新增印件资料'" destroy-on-close>
               <el-form label-width="100px" :model="add_yjzlformdata">
@@ -996,7 +1030,7 @@
               </template>
             </el-dialog>
 
-            <!-- 新增查询印件代 -->
+            <!-- 新增查询印件代号、、印件名称 -->
             <el-dialog v-model="searchModel" :before-close="() => searchModel = false">
               <el-form>
                 <div>
@@ -1013,7 +1047,7 @@
               </el-form>
             </el-dialog>
 
-            <!-- 新增查询印件纸张 -->
+            <!-- 新增查询印件纸张编号、纸张名称 -->
             <el-dialog v-model="searchZhiModel" :before-close="() => searchZhiModel = false">
               <el-form>
                 <div>
@@ -1161,25 +1195,21 @@ import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { ref, reactive, computed } from 'vue'
 import {
-  DataList,
-  WorkList, gdzl_MachineList,PrintCodeList,getProductYjList, getProductZzList,
+  DataList,WorkList, gdzl_MachineList,PrintCodeList,getProductYjList, getProductZzList,
   U8workOrder, ProcessDetailEdit, PrintedEdit, PrintJobOrder,WorkOrderAdd,PrintDetailAdd,
   WorkOrderEdit, ReferenceWorkOrder,getOrderProcessLeft,ClientList,ProductCodeList,
   editGyWaste, U8DataCorrection, AccountingParameterEdit,ProcessCopy,
   ProductInformation, TestCoefficient, capacityList,getOrderProcessRight,
-  DataCorrection, U8Trial, ProcessFlow, AccountingParameter,
-  setProductStatus,
+  DataCorrection, U8Trial, ProcessFlow, AccountingParameter,setProductStatus,
   getProduct, getProductGy, ProductInformationEdit, workOrderListDetail, editProduct, getOrderProcessCount, StatusEdit,
   PrintDetailDel, ProcessDetailDel
 } from "@/api/yunyin/yunying";
-
 import PrintPage from './components/print.vue'
 import AddGongYi from './components/addGongYi.vue'
 defineOptions({name: 'Company'})
 
 const printPageRef = ref()
 const addGongYiRef = ref()
-
 // =========== 修正核算参数 ===========
 const xzhstableColumns = ref(
     [
@@ -1313,7 +1343,6 @@ const xzhscsConfirm = async () => {
         wastage: parseFloat(item.损耗系数),
       }
     });
-    // console.log(formattedData)
     const AccountingParameterEditdata = await AccountingParameterEdit(formattedData);
     if (AccountingParameterEditdata.code === 0) {
       xzhscslist.value = false;
@@ -1731,7 +1760,6 @@ const add_gdenterDialog = async ()=>{
     jcbz: add_gdscgdformData['进程备注'],
     remark: add_gdscgdformData['备注'],
   };
-  // console.log(formattedData)
   const WorkOrderAdd_add = await WorkOrderAdd(formattedData);
   if (WorkOrderAdd_add.code === 0) {
     ElMessage({type: 'success',message: '添加成功'})
@@ -1754,24 +1782,17 @@ const cpdh_keyword = ref('')
 
 //新增工单资料客户代号【回车】
 const khdh_ProductValue = async (v) => {
-  // console.log(khdh_keyword.value)
   await _gClientList(khdh_keyword.value)
 };
 //新增工单资料产品代号【回车】
 const cpdh_ProductValue = async (v) => {
-  // console.log(khdh_keyword.value)
   await _ProductCodeList(cpdh_keyword.value)
 };
 //新增工单->客户列表
 const _gClientList = async (v = '')=>{
   try {
-    // if(add_gdscgdformData['客户代号']){
-    //   const ClientListdata = await ClientList({search: add_gdscgdformData['客户代号']});
-    //   khdhDataList.value = ClientListdata.data
-    // }else{
       const ClientListdata = await ClientList({search: v});
       khdhDataList.value = ClientListdata.data
-    // }
   } catch (error) {
     console.error(error);
   }
@@ -1779,13 +1800,8 @@ const _gClientList = async (v = '')=>{
 //新增工单->产品代号列表
 const _ProductCodeList = async (v = '')=>{
   try {
-    // if(add_gdscgdformData['产品代号']){
-    //   const ProductCodeListdata = await ProductCodeList({cilent: add_gdscgdformData['产品代号']});
-    //   cpdhDataList.value = ProductCodeListdata.data
-    // }else{
       const ProductCodeListdata = await ProductCodeList({cilent: v});
       cpdhDataList.value = ProductCodeListdata.data
-    // }
   } catch (error) {
     console.error(error);
   }
@@ -2067,7 +2083,7 @@ const selectZhiNode = (v) => {
     searchZhiModel.value = false
   }
 }
-//新增印件资料弹窗 键盘 input框跳转
+//新增印件表格input
 const add_gdzlyjent = async (event,id1,id2,id3,idx) => {
   if (id2 === 'yjdh' && event.key==='Tab' || id2 === 'yjdh' && event.key=== 'Enter') {
     _getProductYjList();
@@ -2127,7 +2143,6 @@ const add_gdzlyjent = async (event,id1,id2,id3,idx) => {
 
 
 // =========== 新增工艺资料 ===========
-//默认弹窗关闭
 const add_gdgydialogFormVisible = ref(false)
 const add_gdgyformData = reactive({});
 //清空对象的属性值
@@ -2198,7 +2213,7 @@ const _U8workOrder = async ()=>{
 // 多选数据
 const multipleSelection = ref([]);
 
-// 多选
+//查改U8工单多选
 const cguzlgd_del = (val) => {
   if (Array.isArray(val) && val.length === 0) {
     multipleSelection.value = [];
@@ -2482,21 +2497,14 @@ const ontlssclick = () => {
   //工单编号
   if(_Gd_gdbh.value == null){
     tlsslist.value = false;
-    ElMessage({
-      type: 'warning',
-      message: '请选择具体的工单后,再操作此功能'
-    })
+    ElMessage({type: 'warning',message: '请选择具体的工单后,再操作此功能'})
   }else{
-    // //产品代号
+    //产品代号
     if( _Gd_cpdh.value === ''){
       tlsslist.value = false;
-      ElMessage({
-        type: 'warning',
-        message: '该产品号未查询到'
-      })
+      ElMessage({type: 'warning',message: '该产品号未查询到'})
     }else{
       tlssformData['cpdh'] =  _Gd_cpdh.value;
-      // tlssformData['cpdh'] =  '100401101';
       tlssformData['cpmc'] = _Gd_cpmc.value;
       tlsslist.value = true;
       _U8Trial();
@@ -2554,7 +2562,6 @@ const yycpzlProductValue = async () => {
 //引用产品资料->获取产品资料
 const _ProductInformations = async ()=>{
   let workOrder = yycpzlformData['gdbh'];
-  // try {
   const ProductInformations = await ProductInformation({workOrder:workOrder});
   if(ProductInformations.msg === '未找到工单信息'){
     yycpzlformData['khdh'] = '';
@@ -2570,10 +2577,6 @@ const _ProductInformations = async ()=>{
     yycpzlformData['cpdh'] = ProductInformations.data['产品代号'];
     yycpzlformData['cpmc'] = ProductInformations.data['产品名称'];
   }
-
-  // } catch (error) {
-  //   console.error(error);
-  // }
 }
 //引用产品资料【执行】
 const yycpzlhandleConfirm = async () => {
@@ -2716,13 +2719,6 @@ const tableRowClick = async (row) => {
   yjzuidahaoma.value = Number(tmp[0]) + 1
 };
 
-// // 多选数据
-// const multipleSelection = ref([])
-// // 多选
-// const handleSelectionChange = (val) => {
-//   multipleSelection.value = val
-// }
-
 // 行为控制标记(弹窗内部需要增还是改)
 const type = ref('')
 
@@ -2794,7 +2790,6 @@ const enterDialog = async () => {
     avg:scgdformData.value['平均合格率'] === undefined ? '' : scgdformData.value['平均合格率'],
     printID: scgdformData.value['印件ID'],
   };
-  // console.log(formattedData);return;
   const WorkOrderEdit_edit = await WorkOrderEdit(formattedData);
   if (WorkOrderEdit_edit.code === 0) {
     dialogFormVisible.value = false
@@ -2810,6 +2805,14 @@ const closeDialog = () => {dialogFormVisible.value = false}
 // 弹窗控制标记
 const gdyjdialogFormVisible = ref(false)
 const gdyjformData = reactive({})
+const edit_searchModel = ref(false)
+const edit_searchZhiModel = ref(false)
+const edit_zzdhIndex = ref(null)
+const edit_getProductYjListdata = ref()
+const edit_getProductZhiListdata = ref()
+const edit_yjdh_keyword = ref('')
+const edit_zhi_keyword = ref('')
+
 //双击打开印件列表修改
 const gdyjupdateCompanyFunc = async(row) => {
   gdyjformData['开数'] = row['开数'];
@@ -2817,6 +2820,7 @@ const gdyjupdateCompanyFunc = async(row) => {
   Object.assign(gdyjformData,row);
   gdyjdialogFormVisible.value = true
 }
+
 //印件列表修改【确定】
 const gdyjenterDialog = async () => {
   const formattedData = {
@@ -2852,13 +2856,134 @@ const gdyjenterDialog = async () => {
     ElMessage({type: 'error', message: '更新失败'})
   }
 }
+
 // 印件列表修改【关闭弹窗】
 const gdyjcloseDialog = () => {
   gdyjdialogFormVisible.value = false
 }
+
+//印件修改【印件代码】树状图
+const edit_handleTreeData = (treeData) => {
+  const data = Object.keys(treeData).map((key)=>({
+    label:key,
+    children: Object.keys(treeData[key]).map((keys)=>({
+      label:keys,
+      children:treeData[key][keys].map(item=>({
+        label:`${item.物料代码} ${item.物料名称}`,
+        物料代码:item.物料代码,
+        物料名称:item.物料名称
+      }))
+    }))
+  }))
+  return data
+}
+
+//印件修改【纸张】树状图
+const edit_handleTreeDatas = (treeData) => {
+  const data = Object.keys(treeData).map((key)=>({
+    label:key,
+    children: Object.keys(treeData[key]).map((keys)=>({
+      label:keys,
+      children:Object.keys(treeData[key][keys]).map((keyss)=>({
+        label:keyss,
+        children:treeData[key][keys][keyss].map(item=>({
+          label:`${item.物料代码} ${item.物料名称}`,
+          规格:item.规格,
+          物料代码:item.物料代码,
+          物料名称:item.物料名称
+        }))
+      }))
+    }))
+  }))
+  return data
+}
+
+//3.4获取印件代码及名称
+const edit_getProductYjList = async ()=>{
+  try {
+    const response = await getProductYjList({search:''});
+    edit_getProductYjListdata.value = edit_handleTreeData(response.data)
+  } catch (error) {
+    console.error(error);
+  }
+}
+
+//3.5获取纸张代号及名称
+const edit_getProductZzList = async ()=>{
+  try {
+    const response = await getProductZzList({search:''});
+    edit_getProductZhiListdata.value = edit_handleTreeDatas(response.data)
+  } catch (error) {
+    console.error(error);
+  }
+}
+
+//3.4获取印件代码及名称
+const edit_searchHandle = async (v) => {
+  const response = await getProductYjList({search:v});
+  edit_getProductYjListdata.value = edit_handleTreeData(response.data)
+}
+
+//3.5获取纸张代号及名称
+const edit_searchZhiHandle = async(v) => {
+  const response = await getProductZzList({search:v});
+  edit_getProductZhiListdata.value = edit_handleTreeDatas(response.data)
+}
+
+//印件代码tab 点击事件
+const edit_selectNode = (v) => {
+  if(v.物料名称){
+    gdyjformData['印件代号'] = v.物料代码
+    gdyjformData['印件名称'] = v.物料名称
+    edit_searchModel.value= false
+  }
+}
+//纸张tab 点击事件
+const edit_selectZhiNode = (v) => {
+  if(v.物料名称){
+    if (edit_zzdhIndex.value == 0) {
+      gdyjformData['纸张代号'] = v.物料代码
+      gdyjformData['纸张名称'] = v.物料名称
+      gdyjformData['投料规格'] = v.规格
+    } else {
+      gdyjformData['备用纸张' + edit_zzdhIndex.value] = v.物料代码
+      gdyjformData['纸张名称' + edit_zzdhIndex.value + edit_zzdhIndex.value] = v.物料名称
+    }
+    edit_searchZhiModel.value = false
+  }
+}
+
 //修改印件表格input
-const edit_gdyjent = (event,id1,id2,id3) => {
-  // console.log(event.keyCode)
+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') {
+    edit_getProductZzList()
+    edit_searchZhiModel.value = true
+    edit_zzdhIndex.value = idx
+  }
+  if (id2 === '备用纸张1' && event.key==='Tab' || id2 === '备用纸张1' && event.key=== 'Enter') {
+    edit_getProductZzList()
+    edit_searchZhiModel.value = true
+    edit_zzdhIndex.value = idx
+  }
+  if (id2 === '备用纸张2' && event.key==='Tab' || id2 === '备用纸张2' && event.key=== 'Enter') {
+    edit_getProductZzList()
+    edit_searchZhiModel.value = true
+    edit_zzdhIndex.value = idx
+  }
+  if (id2 === '备用纸张3' && event.key==='Tab' || id2 === '备用纸张3' && event.key=== 'Enter') {
+    edit_getProductZzList()
+    edit_searchZhiModel.value = true
+    edit_zzdhIndex.value = idx
+  }
+  if (id2 === '备用纸张4' && event.key==='Tab' || id2 === '备用纸张4' && event.key=== 'Enter') {
+    edit_getProductZzList()
+    edit_searchZhiModel.value = true
+    edit_zzdhIndex.value = idx
+  }
   if(event.keyCode === 40){
     if(id3!=''){
       document.getElementById(id3).focus()
@@ -2887,7 +3012,6 @@ const edit_gdyjent = (event,id1,id2,id3) => {
   }
 }
 
-
 //=========工艺修改========
 const gdgydialogFormVisible = ref(false)
 const gdgyformData = reactive({})
@@ -3066,13 +3190,6 @@ const planUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
   }
 }
 
-//工艺文字变色
-// const planUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
-//   if (column.property === '计划用量') {
-//     return 'plan-usage-low';
-//   }
-// }
-
 //修改工单资料弹窗 键盘 input框跳转
 const gdzlent =async (event,id1,id2,id3) => {
   if (id2 === '客户代号' && event.key==='Tab') {
@@ -3144,6 +3261,7 @@ const gyzlent = (event,id1,id2,id3) => {
 
 const yjSelection = ref('')
 const gySelection = ref('')
+// 印件资料多选、工艺资料多选
 const selectionChange = (selection, type) => {
   const ids = selection.map(item => {
     return type === '印件资料' ? item.Uniqid: item.UniqId
@@ -3282,5 +3400,4 @@ const delgd_delclick = async () => {
 .mab{
   margin-bottom: 5px;
 }
-
 </style>

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott