spring
2025-04-09 c7f3b447415448e6ae570882900ee129590f580b
Merge branch 'radio-frequency-cable' of http://114.132.189.42:9002/r/lims-ruoyi-before into radio-frequency-cable
已修改5个文件
121 ■■■■■ 文件已修改
src/api/structural/workshop.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/inspectionTask/index.vue 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/inspectionTask/inspection.vue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/materialOrder/customsInspection.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/unpass/components/PurchaseVerification.vue 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/structural/workshop.js
@@ -53,3 +53,12 @@
    params: query,
  });
}
// 根据车间id获取文件列表
export function getFileListById(query) {
  return request({
    url: '/workShop/fileListById',
    method: 'get',
    params: query,
  })
}
src/views/business/inspectionTask/index.vue
@@ -46,17 +46,17 @@
              :disabled="(scope.row.userName == null || scope.row.insState == 3 || scope.row.insState == 5) && checkPermi(['update:product:onPlan'])"
              @click="editInspection(scope.row)">修改检验值</el-button>
            <el-button type="text" size="small" :disabled="(
              scope.row.userName == null ||
              scope.row.insState == 3 ||
              scope.row.insState == 5 ||
              (scope.row.userName && !scope.row.userName.includes(nickName))
            )" @click="handleInspection(scope.row)">检验</el-button>
          scope.row.userName == null ||
          scope.row.insState == 3 ||
          scope.row.insState == 5 ||
          (scope.row.userName && !scope.row.userName.includes(nickName))
        )" @click="handleInspection(scope.row)">检验</el-button>
            <el-button type="text" size="small" :disabled="(
              scope.row.userName == null ||
              scope.row.insState == 5 ||
              scope.row.insState == 3 ||
              (scope.row.userName && !scope.row.userName.includes(nickName))
            )" @click="handleConnect(scope.row)" v-if="tabIndex != 0">交接</el-button>
          scope.row.userName == null ||
          scope.row.insState == 5 ||
          scope.row.insState == 3 ||
          (scope.row.userName && !scope.row.userName.includes(nickName))
        )" @click="handleConnect(scope.row)" v-if="tabIndex != 0">交接</el-button>
            <el-button type="text" size="small" @click="viewInspectInfo(scope.row)">原始记录</el-button>
            <el-popover placement="bottom" trigger="hover" style="margin-left: 6px">
              <template #reference>
@@ -64,21 +64,21 @@
              </template>
              <div>
                <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
                  (scope.row.userName && !scope.row.userName.includes(nickName)))" style="margin-left: 10px"
          (scope.row.userName && !scope.row.userName.includes(nickName)))" style="margin-left: 10px"
                  type="text" size="small" @click="download(scope.row)">下载报告</el-button>
                <el-upload ref='upload' :action="javaApi + '/insReport/inReport'" :before-upload="beforeUpload"
                  :data="{ id: scope.row.insReportId }" :headers="uploadHeader" :on-error="onError"
                  :on-success="handleSuccessUp" :show-file-list="false" style="display: inline;margin: 0 6px"
                  accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'>
                  <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
                    (scope.row.userName && !scope.row.userName.includes(nickName)))" size="small"
          (scope.row.userName && !scope.row.userName.includes(nickName)))" size="small"
                    type="text">上传</el-button>
                </el-upload>
                <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
                  (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small"
          (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small"
                  @click="handleRestore(scope.row)">还原</el-button>
                <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
                  (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small"
          (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small"
                  @click="handleIssued(scope.row)">查看报告</el-button>
              </div>
            </el-popover>
@@ -88,8 +88,8 @@
    </div>
    <el-dialog :visible.sync="claimVisible" title="提示" width="400px">
      是否认领委托编号<span style="color: #33c130">{{
        sampleUserForm.entrustCode
      }}</span>的任务
          sampleUserForm.entrustCode
        }}</span>的任务
      <span slot="footer" class="dialog-footer">
        <el-button @click="claimVisible = false">取 消</el-button>
        <el-button :loading="loading" type="primary" @click="confirmClaim">确 定</el-button>
@@ -253,6 +253,7 @@
  },
  data() {
    return {
      workShopId: null,
      issuedVisible: false,
      fullscreen: false,
      lookDialogVisible: false,
@@ -779,6 +780,7 @@
      }
      this.inspectorList = inspectorList;
      this.sonLaboratory = row.sonLaboratory;
      this.workShopId = row.workShopId;
      this.state = 1;
      this.typeSource = row.typeSource;
      this.orderId = row.id;
@@ -790,6 +792,7 @@
          state: this.state,
          typeSource: this.typeSource,
          orderId: this.orderId,
          workShopId: row.workShopId
        },
      });
    },
src/views/business/inspectionTask/inspection.vue
@@ -147,8 +147,7 @@
      </div>
      <!-- 常规检验原始记录 -->
      <div id="nav" v-loading="tableLoading" class="center-box">
        <template v-if="
          tableLists.find((m) => m.templateId == currentTable)">
        <template v-if="tableLists.find((m) => m.templateId == currentTable)">
          <table v-for="(item, index) in tableList" :key="index + currentTable + currentSample.id" border="1"
            cellpadding="10" class="tables" id="myTable">
            <tbody>
@@ -167,8 +166,7 @@
                    };`">
                  <div :class="`content-h-${n.v.ht} content-v-${n.v.vt}`" :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r]
                    }px;`" class="content">
                    <template v-if="
                      n.v.ps != undefined &&
                    <template v-if="n.v.ps != undefined &&
                      typeof n.v.ps.value === 'string' &&
                      n.v.ps.value.includes('检验值') &&
                      state == 1
@@ -254,8 +252,7 @@
                        <span v-else :style="`font-family:${n.v.ff} !important;`">待定</span>
                      </template>
                    </template>
                    <template v-else-if="
                      n.v.ps != undefined &&
                    <template v-else-if="n.v.ps != undefined &&
                      n.v.ps.value === '设备编码' &&
                      state == 1
                    ">
@@ -274,8 +271,7 @@
                        </el-option>
                      </el-select>
                    </template>
                    <template v-else-if="
                      n.v.ps != undefined &&
                    <template v-else-if="n.v.ps != undefined &&
                      n.v.ps.value === '要求值' &&
                      state == 1
                    ">
@@ -289,7 +285,7 @@
                      state == 1
                    "><span :style="`font-family:${n.v.ff} !important;`">{{
                      toFixed(n.v.v, n.v.ct)
                        }}</span></template>
                    }}</span></template>
                    <template v-else-if="
                      n.v.ps != undefined &&
                      n.v.ps.value === '最终值' &&
@@ -299,8 +295,7 @@
                        toFixed(n.v.v, n.v.ct)
                      }}</span>
                    </template>
                    <template v-else-if="
                      n.v.ps != undefined && n.v.ps.value === '样品编号'
                    <template v-else-if="n.v.ps != undefined && n.v.ps.value === '样品编号'
                    ">
                      <div :title="currentSample.sampleCode" style="
                        display: flex;
@@ -316,11 +311,9 @@
                        <i class="el-icon-caret-right table_caret" style="width: 16px" @click="caretSample(1)"></i>
                      </div>
                    </template>
                    <template v-else-if="
                      n.v.ps != undefined && n.v.ps.value === '样品型号'
                    <template v-else-if="n.v.ps != undefined && n.v.ps.value === '样品型号'
                    ">
                      <div v-if="
                        currentSample.model !== undefined &&
                      <div v-if="currentSample.model !== undefined &&
                        currentSample.model !== null
                      " :style="`font-family:${n.v.ff} !important;`">
                        {{ currentSample.model }}
@@ -509,7 +502,7 @@
    <InspectionWord v-if="unPassCheck" :inspectorList="inspectorList" :orderId="orderId"
      :rawMaterialTag="rawMaterialTag" :sonLaboratory="sonLaboratory" :state="state" :typeSource="typeSource"
      :unPassCheck="unPassCheck" @closeUnPassCheckDialog="closeUnPassCheckDialog" @refreshView="refreshView" />
    <purchase-verification v-if="purchaseDialog" ref="purchaseDialog" :orderId="orderId"
    <purchase-verification v-if="purchaseDialog" ref="purchaseDialog" :orderId="orderId" :workShopId="workShopId"
      :purchaseDialog="purchaseDialog" @resetPurchaseDialog="resetPurchaseDialog"></purchase-verification>
    <!--查看工时弹框-->
    <viewManHourDia ref="viewManHourDia" @submit="openAddVerifyDia"></viewManHourDia>
@@ -560,6 +553,7 @@
  data() {
    return {
      sonLaboratory: null,
      workShopId: null,
      orderId: null,
      state: null,
      inspectorList: null,
@@ -776,8 +770,9 @@
    },
  },
  created() {
    let { sonLaboratory, orderId, state, inspectorList, typeSource } =
    let { sonLaboratory, orderId, state, inspectorList, typeSource, workShopId } =
      this.$route.query;
    this.workShopId = workShopId
    this.sonLaboratory = sonLaboratory;
    this.orderId = orderId;
    this.id = this.orderId;
src/views/business/materialOrder/customsInspection.vue
@@ -1055,7 +1055,10 @@
        delete this.addObj.createTime
      }
      addInsOrder({
        insOrder: this.addObj,
        insOrder: {
          ...this.addObj,
          workShopId: this.addObj.workShopId || ''  // 确保 workShopId 传递给后端
        },
        sampleList: sampleList.map(a => {
          a.standardMethodListId = JSON.stringify(a.standardMethodListId)
           a.insProduct = this.fullProductList
src/views/business/unpass/components/PurchaseVerification.vue
@@ -1,7 +1,7 @@
<template>
  <div>
    <el-dialog title="进货验证原始记录" :visible.sync="isShow" width="70%" :show-close="false" :close-on-click-modal="false"
               :modal-append-to-body="false" :close-on-press-escape="false">
      :modal-append-to-body="false" :close-on-press-escape="false">
      <div class="search">
        <el-form :inline="true" :model="purchaseForm" label-position="right" :rules="purchaseFormRules"
          ref="purchaseForm" class="form-inline" label-width="120px">
@@ -44,8 +44,11 @@
          <div>
            <el-form-item class="headLine" label="验证依据文件编号:" label-width="160px" style="width: 100%"
              prop="verifyFileCode">
              <el-input clearable v-model="purchaseForm.verifyFileCode" size="small"
                :disabled="operationType === 'view'" placeholder="请输入"></el-input>
              <el-select v-model="purchaseForm.verifyFileCode" clearable filterable size="small"
                :disabled="operationType === 'view'" placeholder="请选择">
                <el-option v-for="item in fileList" :key="item.id" :label="item.fileName" :value="item.fileName">
                </el-option>
              </el-select>
            </el-form-item>
          </div>
          <h4>
@@ -125,7 +128,7 @@
            </div>
            <div>
              <el-table :data="factoryVerifyItemList" style="width: 98%" v-loading="tableLoading"
                        :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border>
                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border>
                <el-table-column type="index" label="序号" width="180" align="center"></el-table-column>
                <el-table-column prop="inspectionItem" label="验证项目" width="300"></el-table-column>
                <el-table-column prop="result" label="验证结果">
@@ -149,15 +152,16 @@
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="$emit('resetPurchaseDialog')">取 消</el-button>
        <el-button type="primary" @click="handlePurchase" :loading="handlePurchaseLoading" v-if="operationType === 'add'">确定</el-button>
        <el-button type="primary" @click="handlePurchase" :loading="handlePurchaseLoading"
          v-if="operationType === 'add'">确定</el-button>
      </span>
    </el-dialog>
    <el-dialog title="待验证项目" :visible.sync="factoryVerifyItemDia" width="1000px"
      style="max-height: 96vh; margin-top: 2vh" :show-close="false" :close-on-click-modal="false"
      :close-on-press-escape="false">
      <el-table :data="tableList" style="width: 100%" v-loading="tableLoading"
                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
                @selection-change="handleSelectionChange">
        :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
        @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column type="index" label="序号" width="60" align="center"></el-table-column>
        <el-table-column prop="inspectionItem" label="验证项目"></el-table-column>
@@ -180,6 +184,7 @@
<script>
import { getFactoryVerify, addFactoryVerify } from '@/api/business/unpass.js'
import { getFileListById } from "@/api/structural/workshop.js"
import {
  getInsProduct,
} from "@/api/business/inspectionTask.js";
@@ -196,6 +201,10 @@
      type: String,
      default: () => null
    },
    workShopId: {
      type: [String, Number],
      default: () => null
    }
  },
  data() {
    // 这里存放数据
@@ -240,7 +249,8 @@
      factoryVerifyItemDia: false, // 添加验证项目弹框
      handleFactoryVerifyLoading: false,
      inspectionItemDia: false,
      inspectionItem: ''
      inspectionItem: '',
      fileList: [], // 添加文件列表数据
    }
  },
  // 方法集合
@@ -248,6 +258,8 @@
    async getInsOrder(operationType, item) {
      this.operationType = operationType
      this.info = item
      // 获取文件列表
      await this.getFileList()
      // 查询已提交的数据
      let factoryVerify = await getFactoryVerify({ insOrderId: this.orderId })
      this.purchaseForm = factoryVerify.data
@@ -276,6 +288,20 @@
          this.tableList.push(obj)
        })
        this.tableLoading = false;
      }
    },
    // 获取文件列表
    async getFileList() {
      try {
        const res = await getFileListById({
          workShopId: this.workShopId
        })
        if (res.code === 200) {
          this.fileList = res.data
        }
      } catch (error) {
        console.error('获取文件列表失败:', error)
      }
    },
    handleSelectionChange(val) {
@@ -345,6 +371,7 @@
.headLine>>>.el-form-item__content {
  width: 68%;
}
>>>.el-form-item__content {
  display: inline-block;
}