spring
2025-03-24 de319760a2124d3043491d40f9c2ebf3d27be78f
合并装备代码
已修改17个文件
862 ■■■■ 文件已修改
src/views/CNAS/personnel/personnelInfo/components/Edit.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/deviceOverview.vue 273 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/equipmentCalibrationPlan.vue 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/equipmentMaintenancePlan.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/equipmentVerificationPlan.vue 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/files.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/management.vue 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/quantityValueTraceabilityPlan.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/record.vue 95 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/usingExternalInstruments.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/inspectionTask/index.vue 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/inspectionTask/inspection.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/productOrder/index.vue 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/reportPreparation/index.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/unpass/components/unPassDialog.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/statisticalCharts/itemInspectionAnalysis/index.vue 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/statisticalCharts/qualificationRateStatistics/index.vue 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/personnel/personnelInfo/components/Edit.vue
@@ -137,7 +137,7 @@
import {
  newPersonnelAddedToTrainingRecords,
  outOfFocusPreservation, trainingAndAssessmentRecordsAdded, trainingAndAssessmentRecordsEvaluate,
  trainingAndAssessmentRecordsPage
  trainingAndAssessmentRecordsPage, deleteTrainingAndAssessmentRecords
} from "@/api/cnas/personal/personalTraining";
export default {
@@ -221,6 +221,7 @@
      },
      addUserTableInfo: {
        name: null,
        type: 2
      },
      multipleSelection: [],
      userList: [],
@@ -300,15 +301,13 @@
    },
    batchDelete() {
      if (this.multipleSelection.length > 0) {
        let ids = this.multipleSelection.map(item => item.trainingRecordId)
        let ids = this.multipleSelection.map(item => item.trainingRecordId).join(',')
        this.$confirm('是否确认删除所选择的数据?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          let formData = new FormData()
          formData.append('ids', ids)
          deleteTrainingAndAssessmentRecords(formData).then(res => {
          deleteTrainingAndAssessmentRecords({ids: ids}).then(res => {
            if (res.code == 200) {
              this.$message.success('删除成功');
              this.getInfo()
src/views/CNAS/resourceDemand/device/component/deviceOverview.vue
@@ -1,158 +1,8 @@
<!-- 设备总览 -->
<style scoped>
.title {
  height: 60px;
  line-height: 60px;
}
.search {
  background-color: #fff;
  height: 50px;
  display: flex;
  align-items: center;
}
.search_thing {
  width: 350px;
  display: flex;
  align-items: center;
}
.search_label {
  width: 110px;
  font-size: 14px;
  text-align: left;
}
.search_input {
  width: calc(100% - 110px);
}
.table {
  background-color: #fff;
  height: calc(100vh - 17em);
  /* padding: 10px; */
  overflow-y: auto;
}
.card {
  list-style-type: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, 330px);
  justify-content: start;
  grid-gap: 16px;
  min-height: 300px;
  padding-left: 0;
}
.card li {
  width: 330px;
  height: 165px;
  border-radius: 8px 8px 8px 8px;
  border: 1px solid #EEEEEE;
  margin: 0 !important;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  padding: 16px;
  font-size: 14px;
  color: #666666;
  position: relative;
  overflow: hidden;
}
.card li .img {
  width: 90px;
  height: 90px;
  border-radius: 16px;
  margin-right: 10px;
}
.list-left .list-left-info {
  line-height: 36px;
  display: flex;
}
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}
.circles {
  position: absolute;
  width: 70px;
  height: 70px;
  right: 0;
  top: 0;
  z-index: 0;
}
.circles .circle {
  border-radius: 50%;
  opacity: 0.2;
}
.circle0,
.circle1,
.circle2 {
  width: 60px;
  height: 60px;
  position: absolute;
}
.circle3 {
  width: 16px;
  height: 16px;
  position: absolute;
}
.circle0 {
  bottom: 6px;
  left: 0;
}
.circle1 {
  bottom: 0;
  right: -30px;
}
.circle2 {
  left: 0;
  top: -30px;
}
.circle3 {
  top: 0;
  right: 0;
}
.success .circle {
  background: #34BD66;
}
.danger .circle {
  background: #FF3838;
}
.warning .circle {
  background: #FBB247;
}
.info .circle {
  background: #909399;
}
.el-form-item {
  margin-top: 11px;
  margin-bottom: 11px;
}
</style>
<template>
  <div class="role_manage">
    <div>
      <el-form :model="entity" inline label-position="right" label-width="80px">
      <el-form :model="entity" inline label-position="right">
        <el-form-item label="状态:">
          <el-select v-model="entity.deviceStatus" placeholder="全部" size="small" clearable>
            <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
@@ -387,3 +237,124 @@
  }
}
</script>
<style scoped>
.table {
  background-color: #fff;
  height: calc(100vh - 17em);
  /* padding: 10px; */
  overflow-y: auto;
}
.card {
  list-style-type: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, 330px);
  justify-content: start;
  grid-gap: 16px;
  min-height: 300px;
  padding-left: 0;
}
.card li {
  width: 330px;
  height: 165px;
  border-radius: 8px 8px 8px 8px;
  border: 1px solid #EEEEEE;
  margin: 0 !important;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  padding: 16px;
  font-size: 14px;
  color: #666666;
  position: relative;
  overflow: hidden;
}
.card li .img {
  width: 90px;
  height: 90px;
  border-radius: 16px;
  margin-right: 10px;
}
.list-left .list-left-info {
  line-height: 36px;
  display: flex;
}
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}
.circles {
  position: absolute;
  width: 70px;
  height: 70px;
  right: 0;
  top: 0;
  z-index: 0;
}
.circles .circle {
  border-radius: 50%;
  opacity: 0.2;
}
.circle0,
.circle1,
.circle2 {
  width: 60px;
  height: 60px;
  position: absolute;
}
.circle3 {
  width: 16px;
  height: 16px;
  position: absolute;
}
.circle0 {
  bottom: 6px;
  left: 0;
}
.circle1 {
  bottom: 0;
  right: -30px;
}
.circle2 {
  left: 0;
  top: -30px;
}
.circle3 {
  top: 0;
  right: 0;
}
.success .circle {
  background: #34BD66;
}
.danger .circle {
  background: #FF3838;
}
.warning .circle {
  background: #FBB247;
}
.info .circle {
  background: #909399;
}
.el-form-item {
  margin-top: 11px;
  margin-bottom: 11px;
}
</style>
src/views/CNAS/resourceDemand/device/component/equipmentCalibrationPlan.vue
@@ -3,10 +3,12 @@
  <div>
    <div>
      <div style="margin: 10px 0;display: flex;align-items: center;justify-content: space-between;">
        <span>年度计划表</span>
        <div class="title">
          <span style="font-weight: bold">年度计划表</span>
        </div>
        <div>
          <el-button size="small" type="primary" @click="getYearTableData">刷新</el-button>
          <el-button style="margin-right: 10px" size="small" type="primary" @click="addYearPlan('add')">新增</el-button>
          <el-button size="small" type="primary" @click="addYearPlan('add')">新增</el-button>
          <!--          <el-button size="small" type="primary" @click="record">导入</el-button>-->
        </div>
      </div>
@@ -20,7 +22,7 @@
          <el-table-column label="年份" min-width="80" prop="planYear"></el-table-column>
          <el-table-column label="计划名称" min-width="180" prop="planName"></el-table-column>
          <el-table-column label="编制人" min-width="100" prop="writeName"></el-table-column>
          <el-table-column label="编制日期" min-width="150" prop="writeTime"></el-table-column>
          <el-table-column label="编制日期" min-width="160" prop="writeTime"></el-table-column>
          <el-table-column label="批准状态" min-width="100" prop="ratifyStatus">
            <template slot-scope="scope">
              <el-tag v-if="scope.row.ratifyStatus === 1" type="success">批准</el-tag>
@@ -46,23 +48,29 @@
          </el-table-column>
        </el-table>
        <el-pagination :current-page="1" :page-size="pagination.size" :page-sizes="[10, 20, 30, 50, 100]"
          :total="pagination.total" layout="->,total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
          @current-change="handleCurrentChange">
                       background :total="pagination.total" layout="->,total, sizes, prev, pager, next, jumper"
                       @size-change="handleSizeChange" @current-change="handleCurrentChange">
        </el-pagination>
      </div>
    </div>
    <div>
      <span>年度计划明细表</span>
      <div class="title">
        <div class="title-search">
          <span style="width: 120px;font-size: 14px">设备名称及型号:</span>
          <el-input v-model="searchForm.deviceName" clearable size="small"
            style="margin-right: 10px;width: 220px"></el-input>
          <span style="width: 80px;font-size: 14px">仪器编号:</span>
          <el-input v-model="searchForm.deviceNumber" clearable size="small"
            style="margin-right: 10px;width: 220px"></el-input>
          <el-button size="mini" type="primary" @click="getYearTableDetailData(currentRow)">查询</el-button>
        <span style="font-weight: bold">年度计划明细表</span>
      </div>
      <div class="search">
        <div>
          <el-form :model="searchForm" ref="searchForm" size="small" :inline="true">
            <el-form-item label="设备名称及型号" prop="deviceName">
              <el-input v-model="searchForm.deviceName" clearable size="small"></el-input>
            </el-form-item>
            <el-form-item label="仪器编号" prop="deviceNumber">
              <el-input v-model="searchForm.deviceNumber" clearable size="small"></el-input>
            </el-form-item>
            <el-form-item>
              <el-button type="primary" size="mini" @click="getYearTableDetailData(currentRow)">查询</el-button>
          <el-button size="mini" @click="reset">重置</el-button>
            </el-form-item>
          </el-form>
        </div>
        <div>
          <el-button size="small" type="primary" @click="handleForm('add')">新增</el-button>
@@ -94,7 +102,7 @@
          </el-table-column>
        </el-table>
        <el-pagination :current-page="1" :page-size="pagination1.size" :page-sizes="[10, 20, 30, 50, 100]"
          :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper"
                       background :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper"
          @size-change="handleSizeChange1" @current-change="handleCurrentChange1">
        </el-pagination>
      </div>
@@ -597,14 +605,27 @@
<style scoped>
.title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  font-size: 16px;
  color: #333;
  font-weight: 400;
  padding-left: 10px;
  margin-bottom: 10px;
}
.title-search {
.title::before {
  position: absolute;
  left: 0;
  top: 4px;
  content: '';
  width: 4px;
  height: 16px;
  background-color: #3A7BFA;
  border-radius: 2px;
}
.search {
  height: 46px;
  display: flex;
  align-items: center;
  margin: 10px 0;
  justify-content: space-between;
}
</style>
src/views/CNAS/resourceDemand/device/component/equipmentMaintenancePlan.vue
@@ -14,7 +14,7 @@
            width="70"></el-table-column>
          <el-table-column label="年份" min-width="80" prop="planYear"></el-table-column>
          <el-table-column label="编制人" min-width="120" prop="compiler"></el-table-column>
          <el-table-column label="编制时间" min-width="150" prop="datePreparation"></el-table-column>
          <el-table-column label="编制时间" min-width="160" prop="datePreparation"></el-table-column>
          <el-table-column label="审核人" min-width="150" prop="audit"></el-table-column>
          <el-table-column label="审核时间" min-width="180" prop="auditDate"></el-table-column>
          <el-table-column label="审核状态" min-width="180" prop="status">
@@ -39,7 +39,7 @@
          </el-table-column>
        </el-table>
        <el-pagination :current-page="1" :page-size="pagination1.size" :page-sizes="[10, 20, 30, 50, 100]"
          :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper"
          :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper" background
          @size-change="handleSizeChange1" @current-change="handleCurrentChange1">
        </el-pagination>
      </div>
src/views/CNAS/resourceDemand/device/component/equipmentVerificationPlan.vue
@@ -3,10 +3,12 @@
  <div>
    <div>
      <div style="margin: 10px 0;display: flex;align-items: center;justify-content: space-between;">
        <span>年度计划表</span>
        <div class="title">
          <span style="font-weight: bold">年度计划表</span>
        </div>
        <div style="display: flex;align-items: center;">
          <el-button style="margin-right: 10px" size="small" type="primary" @click="getYearTableData">刷新</el-button>
          <el-button style="margin-right: 10px" size="small" type="primary" @click="addYearPlan('add')">新增</el-button>
          <el-button size="small" type="primary" @click="getYearTableData">刷新</el-button>
          <el-button size="small" type="primary" @click="addYearPlan('add')">新增</el-button>
          <!--          <el-upload ref="upload" :action="action"-->
          <!--                     :before-upload="beforeUpload" :headers="uploadHeader" :on-error="onError"-->
          <!--                     :on-success="handleSuccessUp" :show-file-list="false" accept='.xls,.xlsx'>-->
@@ -24,7 +26,7 @@
          <el-table-column label="年份" min-width="80" prop="planYear"></el-table-column>
          <el-table-column label="计划名称" min-width="180" prop="planName"></el-table-column>
          <el-table-column label="编制人" min-width="100" prop="writeName"></el-table-column>
          <el-table-column label="编制日期" min-width="150" prop="writeTime"></el-table-column>
          <el-table-column label="编制日期" min-width="160" prop="writeTime"></el-table-column>
          <el-table-column label="批准状态" min-width="100" prop="ratifyStatus">
            <template slot-scope="scope">
              <el-tag v-if="scope.row.ratifyStatus === 1" type="success">批准</el-tag>
@@ -50,23 +52,29 @@
          </el-table-column>
        </el-table>
        <el-pagination :current-page="1" :page-size="pagination.size" :page-sizes="[10, 20, 30, 50, 100]"
          :total="pagination.total" layout="->,total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
          @current-change="handleCurrentChange">
                       background :total="pagination.total" layout="->,total, sizes, prev, pager, next, jumper"
                       @size-change="handleSizeChange" @current-change="handleCurrentChange">
        </el-pagination>
      </div>
    </div>
    <div>
      <span>年度计划明细表</span>
      <div class="title">
        <div class="title-search">
          <span style="width: 120px;font-size: 14px">设备编号:</span>
          <el-input v-model="searchForm.deviceNumber" clearable size="small"
            style="margin-right: 10px;width: 220px"></el-input>
          <span style="width: 80px;font-size: 14px">设备名称:</span>
          <el-input v-model="searchForm.deviceName" clearable size="small"
            style="margin-right: 10px;width: 220px"></el-input>
          <el-button size="mini" type="primary" @click="getYearTableDetailData(currentRow)">查询</el-button>
        <span style="font-weight: bold">年度计划明细表</span>
      </div>
      <div class="search">
        <div>
          <el-form :model="searchForm" ref="searchForm" size="small" :inline="true">
            <el-form-item label="设备编号" prop="deviceNumber">
              <el-input v-model="searchForm.deviceNumber" clearable size="small"></el-input>
            </el-form-item>
            <el-form-item label="设备名称" prop="deviceName">
              <el-input v-model="searchForm.deviceName" clearable size="small"></el-input>
            </el-form-item>
            <el-form-item>
              <el-button type="primary" size="mini" @click="getYearTableDetailData(currentRow)">查询</el-button>
          <el-button size="mini" @click="reset">重置</el-button>
            </el-form-item>
          </el-form>
        </div>
        <div>
          <el-button size="small" type="primary" @click="handleForm('add')">新增</el-button>
@@ -101,7 +109,7 @@
          </el-table-column>
        </el-table>
        <el-pagination :current-page="1" :page-size="pagination1.size" :page-sizes="[10, 20, 30, 50, 100]"
          :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper"
          :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper" background
          @size-change="handleSizeChange1" @current-change="handleCurrentChange1">
        </el-pagination>
      </div>
@@ -642,15 +650,28 @@
</script>
<style scoped>
.title {
.search {
  height: 46px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.title {
  position: relative;
  font-size: 16px;
  color: #333;
  font-weight: 400;
  padding-left: 10px;
  margin-bottom: 10px;
}
.title-search {
  display: flex;
  align-items: center;
  margin: 10px 0;
.title::before {
  position: absolute;
  left: 0;
  top: 4px;
  content: '';
  width: 4px;
  height: 16px;
  background-color: #3A7BFA;
  border-radius: 2px;
}
</style>
src/views/CNAS/resourceDemand/device/component/files.vue
@@ -170,9 +170,9 @@
        <el-table-column prop="quantity" label="份数" min-width="80" />
        <el-table-column prop="pageCount" label="页码" min-width="80" />
        <el-table-column prop="provider" label="提供者" min-width="150" />
        <el-table-column prop="provideDate" label="归档日期" min-width="150" />
        <el-table-column prop="provideDate" label="归档日期" min-width="170" />
        <el-table-column prop="comments" label="备注" min-width="150" />
        <el-table-column fixed="right" label="操作" min-width="180">
        <el-table-column fixed="right" label="操作" min-width="180" align="center">
          <template slot-scope="scope">
            <el-button type="text" size="small" @click="handleAttachmentClick(scope.row)">下载附件</el-button>
            <el-button type="text" size="small" @click="handleViewClick(scope.row)">编辑</el-button>
@@ -914,7 +914,6 @@
.page-header {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
}
h4 {
src/views/CNAS/resourceDemand/device/component/management.vue
@@ -1,37 +1,37 @@
<!-- 设备工具明细 -->
<template>
    <div class="role_manage">
        <div class="search" v-show="!showData">
            <div class="search_thing">
                <div class="search_label">状态:</div>
    <div class="search">
      <div>
        <el-form :model="queryParams" ref="queryParams" size="small" :inline="true">
          <el-form-item label="状态" prop="deviceStatus" class="form-item">
                <el-select v-model="queryParams.deviceStatus" placeholder="全部" size="small">
                    <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value">
                    </el-option>
                </el-select>
            </div>
            <div class="search_thing">
                <div class="search_label">设备名称:</div>
                <div class="search_input">
          </el-form-item>
          <el-form-item label="设备名称" prop="deviceName">
                    <el-input size="small" placeholder="请输入" clearable v-model="queryParams.deviceName"
                        @keyup.enter.native="refreshTable()">
                    </el-input>
                </div>
            </div>
            <div class="search_thing">
                <div class="search_label">规格型号:</div>
                <div class="search_input"><el-input size="small" placeholder="请输入" clearable
          </el-form-item>
          <el-form-item label="规格型号" prop="specificationModel">
            <el-input size="small" placeholder="请输入" clearable
                        v-model="queryParams.specificationModel" @keyup.enter.native="refreshTable()"></el-input>
          </el-form-item>
          <el-form-item>
            <el-button type="primary" size="mini" @click="refreshTable">查询</el-button>
            <el-button size="mini" @click="refresh">重置</el-button>
          </el-form-item>
        </el-form>
                </div>
            </div>
            <div style="padding-left: 30px;">
                <el-button size="mini" type="primary" @click="refreshTable()">查询</el-button>
                <el-button size="mini" @click="refresh()">重置</el-button>
      <div>
                <el-button size="small" type="primary" @click="dialogVisible2 = true">新增</el-button>
                <el-button size="small" type="primary" @click="handleDownOne">导出</el-button>
            </div>
        </div>
        <div class="table" v-show="!showData">
            <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 320px)'"
            <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 300px)'"
                :page="page" @pagination="pagination"></lims-table>
        </div>
        <el-dialog :title="isUp ? '设备详情' : '档案修订'" :visible.sync="dialogVisible" width="70%" top="5vh"
@@ -990,18 +990,9 @@
</script>
<style scoped>
.role_manage {
    width: 100%;
    height: 100%;
}
.title {
    line-height: 15px;
}
.search {
  height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
}
@@ -1018,20 +1009,10 @@
    text-align: right;
}
.search_input {
    width: calc(100% - 80px);
}
.table {
    margin-top: 12px;
    background-color: #fff;
    height: calc(100vh - 17em);
    height: calc(100vh - 16em);
}
.el-form-item {
    margin-bottom: 16px;
}
.picName {
    overflow: hidden;
    text-overflow: ellipsis;
@@ -1039,4 +1020,7 @@
    word-break: break-all;
    width: 120px;
}
.form-item >>>.el-form-item__content {
  width: 120px;
}
</style>
src/views/CNAS/resourceDemand/device/component/quantityValueTraceabilityPlan.vue
@@ -15,7 +15,7 @@
          <el-table-column label="年份" min-width="80" prop="planYear"></el-table-column>
          <el-table-column label="文件名称" min-width="120" prop="compiler"></el-table-column>
          <el-table-column label="编制人" min-width="150" prop="compiler"></el-table-column>
          <el-table-column label="编制时间" min-width="150" prop="datePreparation"></el-table-column>
          <el-table-column label="编制时间" min-width="160" prop="datePreparation"></el-table-column>
          <el-table-column label="批准人" min-width="180" prop="audit"></el-table-column>
          <el-table-column label="批准状态" min-width="180" prop="status">
            <template slot-scope="scope">
@@ -41,7 +41,7 @@
          </el-table-column>
        </el-table>
        <el-pagination :current-page="1" :page-size="pagination1.size" :page-sizes="[10, 20, 30, 50, 100]"
          :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper"
          :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper" background
          @size-change="handleSizeChange1" @current-change="handleCurrentChange1">
        </el-pagination>
      </div>
src/views/CNAS/resourceDemand/device/component/record.vue
@@ -2,28 +2,31 @@
<template>
  <div>
    <div class="search">
      <div class="search_thing">
        <div class="search_label">样品编号:</div>
        <el-input v-model="search.sampleCode" clearable placeholder="请输入" size="small" style="width: 60%;"
      <el-form :model="search" ref="search" size="small" :inline="true">
        <el-form-item label="样品编号">
          <el-input v-model="search.sampleCode" clearable placeholder="请输入" size="small"
          @keyup.enter.native="getTableList(clickNodeVal.value)"></el-input>
        <div class="search_label">管理编号:</div>
        <el-input v-model="search.managementNumber" clearable placeholder="请输入" size="small" style="width: 60%;"
        </el-form-item>
        <el-form-item label="管理编号">
          <el-input v-model="search.managementNumber" clearable placeholder="请输入" size="small"
          @keyup.enter.native="getTableList(clickNodeVal.value)"></el-input>
      </div>
      <div class="search_thing" style="padding-left: 30px;">
        </el-form-item>
        <el-form-item>
        <el-button size="mini" type="primary" @click="getTableList(clickNodeVal.value)">查询</el-button>
        <el-button size="mini" @click="resetSearch">重置</el-button>
      </div>
      <div class="btns" v-if="isMenuList != 1">
        </el-form-item>
      </el-form>
      <div>
        <el-button size="small" type="primary" @click="dialogVisible = true, openAdd()">新 建</el-button>
        <el-button :loading="outLoading" size="small" type="primary" @click="openHandleOut">导 出</el-button>
      </div>
    </div>
    <div class="tables" style="margin-top: 10px;">
    <div>
      <el-table ref="Recordtable" :data="formParamList" height="calc(100vh - 20em)"
                v-loading="tableLoading"
                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border>
        <!-- 表格列 -->
        <el-table-column label="序号" type="index" width="120">
        <el-table-column label="序号" type="index" width="70" align="center">
          <template v-slot="scope">
            <span>{{ (search.current - 1) * search.size + scope.$index + 1 }}</span>
          </template>
@@ -42,8 +45,8 @@
          </template>
        </el-table-column>
        <!--        <el-table-column label="异常情况" min-width="120" prop="abnormal" />-->
        <el-table-column label="使用开始日期" min-width="150" prop="useStartDate" />
        <el-table-column label="使用结束日期" min-width="150" prop="useEndDate" />
        <el-table-column label="使用开始日期" min-width="170" prop="useStartDate" />
        <el-table-column label="使用结束日期" min-width="170" prop="useEndDate" />
        <el-table-column label="使用人" min-width="120" prop="usePerson" />
        <el-table-column label="备注" min-width="120" prop="remark" />
        <!-- 操作按钮 -->
@@ -57,7 +60,7 @@
      </el-table>
      <el-pagination :current-page="1" :page-size="search.size" :page-sizes="[10, 20, 30, 50, 100]"
        :total="search.total" layout="->,total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
        @current-change="handleCurrentChange">
        @current-change="handleCurrentChange" background>
      </el-pagination>
    </div>
    <el-dialog :visible.sync="dialogVisible" title="仪器设备使用记录表" top="5vh" width="55%">
@@ -210,6 +213,7 @@
      dialogVisible: false,
      operationType: '',
      formParamList: [],
      tableLoading: false
    }
  },
  mounted() {
@@ -238,14 +242,18 @@
      if (deviceId === undefined) {
        deviceId = ''
      }
      this.tableLoading = true
      await deviceRecordPage({
        deviceId: deviceId,
        ...this.search
      }).then(res => {
        this.tableLoading = false
        if (res.code == 200) {
          this.formParamList = res.data.records
          this.search.total = res.data.total
        }
      }).catch(err => {
        this.tableLoading = false
      })
    },
    // 打开导出弹框选择编制人、批准人
@@ -394,65 +402,10 @@
</script>
<style scoped>
.tables {
  width: 100%;
  height: calc(100vh - 15em);
}
.el-from {
  max-width: 400px;
  margin: 0 auto;
}
.form-row {
.search {
  height: 46px;
  display: flex;
  justify-content: space-between;
}
.el-input {
  width: calc(100% - 120px);
  /* 确保输入框宽度一致 */
}
.form-row .el-form-item {
  flex: 1;
  /* 每个表单项占据相同比例的空间 */
  margin-right: 100px;
  /* 可选:为右侧元素添加间距 */
}
/* 移除最后一个元素的右边距 */
.form-row .el-form-item:last-child {
  margin-right: 0;
}
.search {
  background-color: #fff;
  margin-top: 10px;
  display: flex;
  align-items: center;
  position: relative;
}
.search_thing {
  display: flex;
  align-items: center;
  height: 40px;
}
.search_label {
  width: 140px;
  font-size: 14px;
  text-align: right;
  margin-right: 10px;
}
.btns {
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translate(0, -50%);
}
</style>
src/views/CNAS/resourceDemand/device/component/usingExternalInstruments.vue
@@ -2,12 +2,16 @@
  <div>
    <div>
      <div class="title">
        <div class="title-search">
          <span style="width: 80px;font-size: 14px">单位名称:</span>
          <el-input v-model="searchForm.unitName" clearable size="small"
            style="margin-right: 10px;width: 220px"></el-input>
          <el-button size="mini" type="primary" @click="getYearTableDetailData">查询</el-button>
        <div>
          <el-form :model="searchForm" ref="searchForm" size="small" :inline="true">
            <el-form-item label="单位名称" prop="unitName">
              <el-input v-model="searchForm.unitName" clearable size="small"></el-input>
            </el-form-item>
            <el-form-item>
              <el-button type="primary" size="mini" @click="getYearTableDetailData">查询</el-button>
          <el-button size="mini" @click="reset">重置</el-button>
            </el-form-item>
          </el-form>
        </div>
        <div>
          <el-button size="small" type="primary" @click="handleForm('')">新增</el-button>
@@ -41,7 +45,7 @@
          </el-table-column>
        </el-table>
        <el-pagination :current-page="1" :page-size="pagination1.size" :page-sizes="[10, 20, 30, 50, 100]"
          :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper"
          :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper" background
          @size-change="handleSizeChange1" @current-change="handleCurrentChange1">
        </el-pagination>
      </div>
@@ -159,14 +163,9 @@
<style scoped>
.title {
  height: 46px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.title-search {
  display: flex;
  align-items: center;
  margin: 10px 0;
  margin-top: 10px;
}
</style>
src/views/business/inspectionTask/index.vue
@@ -39,7 +39,8 @@
          </div>
        </div>
        <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading"
          :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @pagination="pagination" key="tableData0">
          :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @pagination="pagination"
          key="tableData0">
          <div slot="action" slot-scope="scope">
            <el-button size="small" type="text" @click="handleDataLook(scope.row)">数据查看</el-button>
            <el-button type="text" size="small"
@@ -50,13 +51,15 @@
              scope.row.insState == 3 ||
              scope.row.insState == 5 ||
              (scope.row.userName && !scope.row.userName.includes(nickName))
            )" @click="handleInspection(scope.row)">检验</el-button>
                )"
                       @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)">交接</el-button>
                )"
                       @click="handleConnect(scope.row)">交接</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,22 +67,23 @@
              </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"
                  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"
                  (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"
                    type="text">上传</el-button>
                  (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"
                  @click="handleRestore(scope.row)">还原</el-button>
                  (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"
                  @click="handleIssued(scope.row)">查看报告</el-button>
                  (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small" @click="handleIssued(scope.row)">查看报告</el-button>
              </div>
            </el-popover>
          </div>
@@ -193,8 +197,7 @@
    <!--查看工时弹框-->
    <viewManHourDia ref="viewManHourDia"></viewManHourDia>
    <!--不合格复测查看弹框-->
    <un-pass-retest-result v-if="retestVisible" :retestInfo="retestInfo" :retestVisible="retestVisible"
      @closeRetestLook="closeRetestLook"></un-pass-retest-result>
    <un-pass-retest-result v-if="retestVisible" :retestInfo="retestInfo" :retestVisible="retestVisible" @closeRetestLook="closeRetestLook"></un-pass-retest-result>
    <!--报告查看-->
    <el-dialog title="报告查看" :visible.sync="issuedVisible" width="80vw" :modal-append-to-body="false"
      :fullscreen="fullscreen">
@@ -275,7 +278,7 @@
      claimVisible: false,
      tabList: [
        { label: "委托", value: 0 },
        { label: "原辅料", value: 1 },
        { label: "原材料", value: 1 },
      ],
      active: 1,
      tabIndex: 0,
@@ -283,8 +286,8 @@
      planTotal: 0,
      insStateList: [],
      state: 0, // 0:台账页,1:检验页面,2检验页面(复核),默认为0,3数据查看
      typeSource: null, // 0:成品下单,1:原辅料下单
      sonLaboratory: null, // 0:委托,1:原辅料
      typeSource: null, // 0:成品下单,1:原材料下单
      sonLaboratory: null, // 0:委托,1:原材料
      activeFace: 0, // 1:下单,2:查看,3:审核,默认为0
      currentId: null,
      entityCopy: {},
@@ -300,7 +303,7 @@
      sonLaboratoryList: [],
      typeSourceList: [
        { label: "成品下单", value: 0 },
        { label: "原辅料下单", value: 1 },
        { label: "原材料下单", value: 1 },
      ],
      customsInspection: {},
      showInfoDialog: false, // 产业链信息查看
@@ -356,7 +359,7 @@
            if (params == 0) {
              return "成品下单";
            } else {
              return "原辅料下单";
              return "原材料下单";
            }
          },
        },
@@ -730,7 +733,7 @@
      this.currentId = parseInt(row.id);
      switch (row.isCopper) {
        case 0:
          // 原辅料
          // 原材料
          this.$router.push({
            path: "/materialOrder/customsInspection", query: {
              customsInspection: row,
@@ -1030,7 +1033,6 @@
  border-color: #3a7bfa;
  color: #3a7bfa;
}
.center-options {
  display: flex;
  align-items: center;
src/views/business/inspectionTask/inspection.vue
@@ -344,9 +344,9 @@
    </div>
    <el-drawer :size="550" :visible.sync="sampleVisible" title="样品切换">
      <el-table v-if="sampleVisible" ref="productTable" :current-row-key="currentKey" :data="sampleProduct"
        :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border :row-class-name="tableRowClassName"
        :row-key="(record) => record.index" border class="el-table" height="100%" highlight-current-row
        tooltip-effect="dark" @row-click="handleChangeSample">
                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
        :row-class-name="tableRowClassName" :row-key="(record) => record.index" border class="el-table" height="100%"
        highlight-current-row tooltip-effect="dark" @row-click="handleChangeSample">
        <el-table-column :key="Math.random()" align="center" label="序号" type="index" width="70px">
        </el-table-column>
        <el-table-column label="样品编号" min-width="100px" prop="sampleCode" show-overflow-tooltip></el-table-column>
@@ -963,7 +963,7 @@
          humidity: this.insOrder.humidity ? this.insOrder.humidity : null,
        };
        if (this.typeSource == "1") {
          this.getRawMaterialTag(this.currentSample.id); // 原辅料的检验任务查询批数
          this.getRawMaterialTag(this.currentSample.id); // 原材料的检验任务查询批数
          this.rawMaterialTag = "1";
        }
        this.getEquipOptions(1);
src/views/business/productOrder/index.vue
@@ -41,18 +41,12 @@
    <div class="table-tab">
      <div>
        <ul class="tab">
          <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">待审核
          </li>
          <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">检验中
          </li>
          <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])"
            @click="handleTab(2)">委托已检</li>
          <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)">
            抽样已检</li>
          <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">退回
          </li>
          <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)">
            撤销</li>
          <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">待审核</li>
          <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">检验中</li>
          <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])" @click="handleTab(2)">委托已检</li>
          <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)">抽样已检</li>
          <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">退回</li>
          <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)">撤销</li>
          <li :class="{ active: tabIndex === 6 }" v-if="checkPermi(['get:insOrder:all'])" @click="handleTab(6)">全部</li>
        </ul>
      </div>
@@ -92,8 +86,8 @@
      </el-dialog>
      <!-- 撤销 -->
      <el-dialog :before-close="handleClose" :visible.sync="quashDialogVisible" title="下单撤销" width="30%">
        <p v-if="!isQuash" style="font-size:16px;color:#333333">委托编号<span style="color:#34BD66">{{
          this.insOrderRow.entrustCode }}</span>的信息是否撤销</p>
        <p v-if="!isQuash" style="font-size:16px;color:#333333">委托编号<span
            style="color:#34BD66">{{ this.insOrderRow.entrustCode }}</span>的信息是否撤销</p>
        <el-form v-else ref="ruleForm" :label-position="labelPosition" :model="formData" label-width="150px">
          <el-form-item label="请输入撤销原因:">
            <el-input v-model="formData.specificationModel" size="small" style="width:60%"></el-input>
@@ -174,8 +168,7 @@
        <span slot="footer" class="dialog-footer">
          <el-row>
            <el-button @click="handleNo">{{ deleteTilte == '撤销' ? '取 消' : '不通过' }}</el-button>
            <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == '撤销' ? '确 定' :
              '通过'}}</el-button>
            <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == '撤销' ? '确 定' : '通过'}}</el-button>
          </el-row>
        </span>
      </el-dialog>
@@ -270,8 +263,8 @@
              <el-row style="margin-top: 0.01cm;font-size: 0.20cm;">
                <el-col style="display: flex;align-items: center;"><span>样品状态:&nbsp;
                  </span>
                  <span style="white-space: nowrap;"><span v-if="item.insState == 0">√</span><span
                      v-if="item.insState != 0" class="scor"></span>待检
                  <span style="white-space: nowrap;"><span v-if="item.insState == 0">√</span><span v-if="item.insState != 0"
                      class="scor"></span>待检
                    <span v-if="item.insState == 1">√</span><span v-if="item.insState != 1" class="scor"></span>在检
                    <span v-if="item.insState == 2">√</span><span v-if="item.insState != 2" class="scor"></span>已检
                    <span v-if="item.isLeave == 1">√</span><span v-if="item.isLeave != 1" class="scor"></span>留样</span>
@@ -542,8 +535,8 @@
      state: 0,// 0:台账页,1:检验页面,2检验页面(复核),默认为0,3数据查看
      InspectionKey: 1,
      inspectorList: [],//检验人员列表
      sonLaboratory: null,// 0:委托,1:原辅料
      typeSource: null,// 0:成品下单,1:原辅料下单
      sonLaboratory: null,// 0:委托,1:原材料
      typeSource: null,// 0:成品下单,1:原材料下单
      deleteTilte: '撤销',
      examine: null,
      deleteList: [],
src/views/business/reportPreparation/index.vue
@@ -186,8 +186,8 @@
          <el-button size="small" style="height: 38px" type="primary">附件上传</el-button>
        </el-upload>
      </div>
      <lims-table :tableData="tableDataFile" :column="columnFile" height="500px" key="tableDataFile"
        :tableLoading="tableLoadingFile"></lims-table>
      <lims-table :tableData="tableDataFile" :column="columnFile" height="500px"
        key="tableDataFile" :tableLoading="tableLoadingFile"></lims-table>
    </el-dialog>
  </div>
</template>
@@ -251,7 +251,7 @@
      loadingVerify: false, // 审核人员
      typeSourceList: [
        { label: '成品下单', value: 0 },
        { label: '原辅料下单', value: 1 },
        { label: '原材料下单', value: 1 },
      ],
      orderTypeList: [
        { label: '委托试验', value: 'Customer-ordered test' },
@@ -275,7 +275,7 @@
      orderId: 0,
      inspectorList: [],//检验人员列表
      InspectionKey: 1,
      typeSource: null,// 0:成品下单,1:原辅料下单
      typeSource: null,// 0:成品下单,1:原材料下单
      sonLaboratory: '', // 试验室
      filesDialogVisible: false,
      filesLookInfo: {},
@@ -351,7 +351,7 @@
            if (params == 0) {
              return "成品下单";
            } else {
              return "原辅料下单";
              return "原材料下单";
            }
          },
        },
@@ -662,7 +662,7 @@
      this.currentId = parseInt(row.insOrderId)
      switch (row.isCopper) {
        case 0:
          // 原辅料
          // 原材料
          this.$router.push({
            path: "/materialOrder/customsInspection", query: {
              customsInspection: row,
src/views/business/unpass/components/unPassDialog.vue
@@ -106,7 +106,7 @@
      isShow: this.unPassDialog,
      unPassForm: { // 不合格处理数据
        headline: '', // 标题
        inventoryQuantityId: '', // 原辅料id,不做展示,只传值
        inventoryQuantityId: '', // 原材料id,不做展示,只传值
        supplierName: '', // 供应商名称
        materialName: '', // 物料名称
        productionBatch: '', // 生产批次
@@ -155,7 +155,7 @@
            this.unPassForm.insOrderId = res.data.insOrder.id // 订单id
            this.unPassForm.materialName = res.data.insOrder.sampleType // 物料名称
            this.unPassForm.specsModels = res.data.insOrder.partDetail // 规格型号
            this.unPassForm.inventoryQuantityId = res.data.insOrderTemplate.inventoryQuantityId // 原辅料id
            this.unPassForm.inventoryQuantityId = res.data.insOrderTemplate.inventoryQuantityId // 原材料id
            this.unPassForm.supplierName = res.data.insOrderTemplate.supplierName // 供应商名称
            this.unPassForm.productionBatch = res.data.insOrderTemplate.updateBatchNo // 生产批次
            this.unPassForm.cargoQuantity = res.data.insOrderTemplate.qtyArrived + res.data.insOrderTemplate.buyUnitMeas // 到货数量
src/views/statisticalCharts/itemInspectionAnalysis/index.vue
@@ -3,8 +3,16 @@
    <div v-if="!isShowDataCom">
      <el-form ref="entity" size="small" :inline="true">
        <el-form-item style="width: 16%;">
          <el-date-picker v-model="datePicker" end-placeholder="结束日期" format="yyyy-MM-dd" placeholder="选择日期"
            range-separator="至" size="small" start-placeholder="开始日期" style="width: 100%;" type="daterange"
          <el-date-picker
            v-model="datePicker"
            end-placeholder="结束日期"
            format="yyyy-MM-dd"
            placeholder="选择日期"
            range-separator="至"
            size="small"
            start-placeholder="开始日期"
            style="width: 100%;"
            type="daterange"
            value-format="yyyy-MM-dd">
          </el-date-picker>
        </el-form-item>
@@ -18,9 +26,13 @@
          <el-input v-model="supplierName" clearable placeholder="请输入供应商名称" size="small"></el-input>
        </el-form-item>
        <el-form-item label="检验项名称" prop="supplierName">
          <el-select v-model="itemNames" :loading="selectLoading" clearable multiple placeholder="请选择" size="small"
            style="width: 90%;" @focus="getItemList">
            <el-option v-for="item in itemNamesList" :key="item.value" :label="item.label" :value="item.value">
          <el-select v-model="itemNames" :loading="selectLoading" clearable multiple placeholder="请选择"
                     size="small" style="width: 90%;" @focus="getItemList">
            <el-option
              v-for="item in itemNamesList"
              :key="item.value"
              :label="item.label"
              :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
@@ -34,11 +46,13 @@
        <el-col :span="24">
          <div class="inspection-card">
            <div style="display: flex;align-items: center;margin-bottom: 10px;justify-content: space-between;">
              <div>原辅料项检分析列表</div>
              <div>原材料项检分析列表</div>
              <el-button size="small" type="primary" @click="openShowData">查看数据分析</el-button>
            </div>
            <lims-table :tableData="editTableData" :column="editColumn" height="400" key="tableData" :isSelection="true"
              :handleSelectionChange="handleSelectionChange" :tableLoading="editLoading"></lims-table>
            <lims-table :tableData="editTableData" :column="editColumn"
                        height="400" key="tableData" :isSelection="true"
                        :handleSelectionChange="handleSelectionChange"
                        :tableLoading="editLoading"></lims-table>
          </div>
        </el-col>
      </el-row>
@@ -46,9 +60,14 @@
        <el-col :span="6" style="padding-top: 14px">
          <div style="display: flex;margin-left: 10px;align-items: center">
            <span style="width: 100px">分组类型:</span>
            <el-select v-model="groupType" clearable placeholder="请选择" size="small" style="width: 90%;"
              @change="getBarInfo">
              <el-option v-for="item in groupTypeList" :key="item.value" :label="item.label" :value="item.value">
            <el-select v-model="groupType" clearable placeholder="请选择"
                       size="small"
                       style="width: 90%;" @change="getBarInfo">
              <el-option
                v-for="item in groupTypeList"
                :key="item.value"
                :label="item.label"
                :value="item.value">
              </el-option>
            </el-select>
          </div>
@@ -58,30 +77,46 @@
        <el-col :span="24">
          <div class="inspection-card">
            <div class="title">检验项数据对比</div>
            <Echarts ref="chart" :chartStyle="chartStyle" :dataset="dataset" :grid="grid" :options="echartsOptions"
              :series="echartsSeries" :tooltip="tooltip" :xAxis="xAxis" :yAxis="yAxis" style="height: 40vh;"></Echarts>
            <Echarts ref="chart"
                     :chartStyle="chartStyle"
                     :dataset="dataset"
                     :grid="grid"
                     :options="echartsOptions"
                     :series="echartsSeries"
                     :tooltip="tooltip"
                     :xAxis="xAxis"
                     :yAxis="yAxis"
                     style="height: 40vh;"></Echarts>
          </div>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="24">
          <div class="inspection-card">
            <div class="title">原辅料项检合格率</div>
            <Echarts ref="chart" :chartStyle="chartStyle" :dataset="dataset1" :grid="grid" :options="echartsOptions1"
              :series="echartsSeries1" :tooltip="tooltip" :xAxis="xAxis" :yAxis="yAxis1" style="height: 40vh;">
            </Echarts>
            <div class="title">原材料项检合格率</div>
            <Echarts ref="chart"
                     :chartStyle="chartStyle"
                     :dataset="dataset1"
                     :grid="grid"
                     :options="echartsOptions1"
                     :series="echartsSeries1"
                     :tooltip="tooltip"
                     :xAxis="xAxis"
                     :yAxis="yAxis1"
                     style="height: 40vh;"></Echarts>
          </div>
        </el-col>
      </el-row>
    </div>
    <el-dialog :visible.sync="dataDialogVisible" title="数据查看" width="80%">
      <div v-if="dataDialogVisible" style="height: 70vh;overflow-y: auto;">
        <lims-table :tableData="tableData" :column="column" @pagination="pagination" key="tableData" :page="page"
          :tableLoading="tableLoading"></lims-table>
        <lims-table :tableData="tableData" :column="column"
                    @pagination="pagination" key="tableData"
                    :page="page" :tableLoading="tableLoading"></lims-table>
      </div>
    </el-dialog>
    <DataComparison v-if="isShowDataCom" :comparisonData="comparisonData" :selectRow="selectRow" @goBack="goBack">
    </DataComparison>
    <DataComparison v-if="isShowDataCom" :comparisonData="comparisonData"
                    :selectRow="selectRow" @goBack="goBack"></DataComparison>
  </div>
</template>
@@ -336,12 +371,10 @@
          return
        }
        for (let i = 0; i < res.data.itemNames.length; i++) {
          this.echartsSeries.push({
            type: 'line', label: {
          this.echartsSeries.push({type: 'line', label: {
              show: true,
              position: 'top'
            },
          })
            },})
        }
        this.dataset.dimensions = this.HaveJson(res.data.itemNames)
        this.dataset.dimensions.unshift('product')
@@ -366,8 +399,7 @@
          return
        }
        for (let i = 0; i < res.data.itemNames.length; i++) {
          this.echartsSeries1.push({
            type: 'line', tooltip: {
          this.echartsSeries1.push({type: 'line',tooltip: {
              valueFormatter: function (value) {
                return value + '%';
              }
@@ -375,8 +407,7 @@
              show: true,
              position: 'top',
              formatter: (params) => params.value[params.dimensionNames[params.encode.y[0]]] + '%'
            },
          })
            },})
        }
        this.dataset1.dimensions = this.HaveJson(res.data.itemNames)
        this.dataset1.dimensions.unshift('product')
src/views/statisticalCharts/qualificationRateStatistics/index.vue
@@ -11,9 +11,18 @@
      <el-col :span="20">
        <el-form ref="entity" size="small" :inline="true">
          <el-form-item style="width: 20%;">
            <el-date-picker v-model="datePicker" end-placeholder="结束日期" format="yyyy-MM-dd" placeholder="选择日期"
              range-separator="至" size="small" start-placeholder="开始日期" type="daterange" style="width: 100%;"
              value-format="yyyy-MM-dd" @change="changeDatePicker">
            <el-date-picker
              v-model="datePicker"
              end-placeholder="结束日期"
              format="yyyy-MM-dd"
              placeholder="选择日期"
              range-separator="至"
              size="small"
              start-placeholder="开始日期"
              type="daterange"
              style="width: 100%;"
              value-format="yyyy-MM-dd"
              @change="changeDatePicker">
            </el-date-picker>
          </el-form-item>
          <el-form-item label="样品名称" prop="sampleName">
@@ -23,8 +32,7 @@
            <el-input v-model="modelName" clearable placeholder="请输入型号" size="small" @change="changeDate"></el-input>
          </el-form-item>
          <el-form-item label="供应商名称" prop="supplierName">
            <el-input v-model="supplierName" clearable placeholder="请输入供应商名称" size="small"
              @change="changeDate"></el-input>
            <el-input v-model="supplierName" clearable placeholder="请输入供应商名称" size="small" @change="changeDate"></el-input>
          </el-form-item>
        </el-form>
      </el-col>
@@ -32,24 +40,39 @@
    <el-row :gutter="20">
      <el-col :span="8">
        <div class="pie-card">
          <div class="title">原辅料合格率</div>
          <div class="title">原材料合格率</div>
          <span class="data">{{ passRate }}</span>
          <Echarts ref="chart" :legend="pieLegend" :series="materialPieSeries" :tooltip="pieTooltip"
          <Echarts ref="chart"
                   :legend="pieLegend"
                   :series="materialPieSeries"
                   :tooltip="pieTooltip"
            style="height: 36vh;"></Echarts>
        </div>
      </el-col>
      <el-col :span="8">
        <div class="pie-card">
          <div class="title"><span style="color: #F56C6C">本月</span>检验类型数量</div>
          <Echarts ref="chart" :chartStyle="chartStyle2" :legend="pieLegend" :series="materialPieSeries1"
            :tooltip="pieTooltip" style="height: 36vh;"></Echarts>
          <Echarts ref="chart"
                   :chartStyle="chartStyle2"
                   :legend="pieLegend"
                   :series="materialPieSeries1"
                   :tooltip="pieTooltip"
                   style="height: 36vh;"></Echarts>
        </div>
      </el-col>
      <el-col :span="8">
        <div class="pie-card">
          <div class="title">原辅料<span style="color: #F56C6C">本月</span>与<span style="color: #F56C6C">上月</span>合格率对比</div>
          <Echarts ref="chart" :barColors="barColors2" :chartStyle="chartStyle" :grid="grid" :legend="barLegend"
            :series="barSeries" :tooltip="tooltip" :xAxis="xAxis1" :yAxis="yAxis1" style="height: 36vh;"></Echarts>
          <div class="title">原材料<span style="color: #F56C6C">本月</span>与<span style="color: #F56C6C">上月</span>合格率对比</div>
          <Echarts ref="chart"
                   :barColors="barColors2"
                   :chartStyle="chartStyle"
                   :grid="grid"
                   :legend="barLegend"
                   :series="barSeries"
                   :tooltip="tooltip"
                   :xAxis="xAxis1"
                   :yAxis="yAxis1"
                   style="height: 36vh;"></Echarts>
        </div>
      </el-col>
    </el-row>
@@ -57,8 +80,16 @@
      <el-col :span="24">
        <div class="inspection-card">
          <div class="title">合格率</div>
          <Echarts ref="chart" :barColors="barColors" :grid="grid" :legend="legend" :lineColors="lineColors"
            :options="echartsOptions" :series="echartsSeries" :tooltip="tooltip" :xAxis="xAxis" :yAxis="yAxis"
          <Echarts ref="chart"
                   :barColors="barColors"
                   :grid="grid"
                   :legend="legend"
                   :lineColors="lineColors"
                   :options="echartsOptions"
                   :series="echartsSeries"
                   :tooltip="tooltip"
                   :xAxis="xAxis"
                   :yAxis="yAxis"
            style="height: 40vh;"></Echarts>
        </div>
      </el-col>
@@ -324,7 +355,7 @@
        this.xAxis[0].data = xAxis
      })
    },
    // 获取原辅料合格率图表数据
    // 获取原材料合格率图表数据
    getRawPass() {
      const params = {
        dateType: this.dateType,
@@ -389,18 +420,15 @@
.title {
  padding: 10px 0 0 20px;
}
.table {
  padding: 0 10px 10px;
}
.pie-card {
  width: 100%;
  background: #FFFFFF;
  margin-top: 10px;
  position: relative;
}
.data {
  position: absolute;
  font-size: 20px;
@@ -409,7 +437,6 @@
  top: 42%;
  z-index: 1;
}
.inspection-card {
  width: 100%;
  background: #FFFFFF;