lichao 3 месяцев назад
Родитель
Сommit
a171e8657f
1 измененных файлов с 107 добавлено и 320 удалено
  1. 107 320
      src/views/reportForm/components/chemicalAnalysisReport.vue

+ 107 - 320
src/views/reportForm/components/chemicalAnalysisReport.vue

@@ -3,79 +3,38 @@
     <div class="common-head-search">
       <el-form :inline="true">
         <el-form-item label="样品类型">
-          <el-select
-            v-model="search.sampleTypeCode"
-            clearable
-            filterable
-            collapse-tags
-            size="small"
-            style="width: 150px"
-            placeholder="请选择"
-          >
-            <el-option
-              v-for="item in sampleTypeNameType"
-              :key="item.baseCode"
-              :label="item.baseName"
-              :value="item.baseCode"
-            >
+          <el-select v-model="search.sampleTypeCode" clearable filterable collapse-tags size="small"
+            style="width: 150px" placeholder="请选择">
+            <el-option v-for="item in sampleTypeNameType" :key="item.baseCode" :label="item.baseName"
+              :value="item.baseCode">
             </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="样品名称">
-          <el-input
-            v-model="search.matName"
-            size="small"
-            placeholder="请输入样品名称"
-            style="width: 150px"
-          ></el-input>
+          <el-input v-model="search.matName" size="small" placeholder="请输入样品名称" style="width: 150px"></el-input>
         </el-form-item>
         <el-form-item label="中心编号">
-          <el-input
-            v-model="search.sampleNo"
-            size="small"
-            placeholder="请输入中心编号"
-            style="width: 150px"
-          ></el-input>
+          <el-input v-model="search.sampleNo" size="small" placeholder="请输入中心编号" style="width: 150px"></el-input>
         </el-form-item>
         <el-form-item label="委托编号">
-          <el-input
-            v-model="search.carNo"
-            size="small"
-            placeholder="请输入委托编号"
-            style="width: 150px"
-          ></el-input>
+          <el-input v-model="search.carNo" size="small" placeholder="请输入委托编号" style="width: 150px"></el-input>
         </el-form-item>
         <el-form-item label="委托日期">
-          <el-date-picker
-            v-model="search.stateTime"
-            value-format="yyyy-MM-dd"
-            format="yyyy-MM-dd"
-            type="daterange"
-            range-separator="至"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期"
-            size="mini"
-            style="width: 200px"
-          >
+          <el-date-picker v-model="search.stateTime[0]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
+            placeholder="开始日期" size="mini" style="width: 150px">
           </el-date-picker>
+          <span>至</span>
+          <el-date-picker v-model="search.stateTime[1]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
+            placeholder="结束日期" size="mini" style="width: 150px">
+          </el-date-picker>
+          <!-- <el-date-picker v-model="search.stateTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="daterange"
+            range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" size="mini" style="width: 200px">
+          </el-date-picker> -->
         </el-form-item>
         <el-form-item>
-          <el-button
-            icon="el-icon-search"
-            type="goon"
-            size="mini"
-            :loading="dataLoading"
-            @click="searchData1"
-            >查询</el-button
-          >
-          <el-button
-            icon="el-icon-refresh"
-            type="info"
-            plain
-            size="mini"
-            @click="reset"
-            >重置</el-button
-          >
+          <el-button icon="el-icon-search" type="goon" size="mini" :loading="dataLoading"
+            @click="searchData1">查询</el-button>
+          <el-button icon="el-icon-refresh" type="info" plain size="mini" @click="reset">重置</el-button>
         </el-form-item>
       </el-form>
     </div>
@@ -83,211 +42,82 @@
       <el-col :span="4">
         <div class="common-title-div">
           <div class="common-title-name">
-            <img
-              style="width: 25px; height: 25px"
-              src="../../../assets/img/imgScreen/logo.png"
-            />
+            <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
             <span style="font-size: 15px">物料名称</span>
           </div>
         </div>
         <div class="common-table-div">
-          <el-table
-            ref="tableMain11"
-            :height="singleTableHeight"
-            v-loading="tableLoading"
-            :data="table.list"
-            highlight-current-row
-            @row-click="handleCurrentChange"
-            :summary-method="getSummaries"
-            :header-cell-style="tableHeaderCellStyle"
-            show-summary
-            border
-            style="width: 100%"
-            :icorePanelShown="100"
-            :icore-filter-flag="icoreFilterFlag"
-          >
-            <el-table-column
-              sortable
-              show-overflow-tooltip
-              align="center"
-              min-width="100"
-              prop="MAT_NAME"
-              label="物料名称"
-            ></el-table-column>
+          <el-table ref="tableMain11" :height="singleTableHeight" v-loading="tableLoading" :data="table.list"
+            highlight-current-row @row-click="handleCurrentChange" :summary-method="getSummaries"
+            :header-cell-style="tableHeaderCellStyle" show-summary border style="width: 100%" :icorePanelShown="100"
+            :icore-filter-flag="icoreFilterFlag">
+            <el-table-column sortable show-overflow-tooltip align="center" min-width="100" prop="MAT_NAME"
+              label="物料名称"></el-table-column>
           </el-table>
         </div>
       </el-col>
       <el-col :span="20">
         <div class="common-title-div">
           <div class="common-title-name">
-            <img
-              style="width: 25px; height: 25px"
-              src="../../../assets/img/imgScreen/logo.png"
-            />
+            <img style="width: 25px; height: 25px" src="../../../assets/img/imgScreen/logo.png" />
             台账信息
           </div>
           <div class="common-button-div">
-            <el-button
-              icon="el-icon-download"
-              type="goon"
-              size="mini"
-              :loading="tableExportLoading"
-              @click="maintenance"
-              >维护上下限</el-button
-            >
-            <el-button
-              icon="el-icon-download"
-              type="goon"
-              size="mini"
-              :loading="tableExportLoading"
-              @click="doExport"
-              >导出</el-button
-            >
+            <el-button icon="el-icon-download" type="goon" size="mini" :loading="tableExportLoading"
+              @click="maintenance">维护上下限</el-button>
+            <el-button icon="el-icon-download" type="goon" size="mini" :loading="tableExportLoading"
+              @click="doExport">导出</el-button>
           </div>
         </div>
         <div class="common-table-div" id="topTable">
-          <el-table
-            ref="el_table_1"
-            border
-            :height="singleTableHeight"
-            width="100%"
-            highlight-current-row
-            @selection-change="searchFollow"
-            :data="table.list1"
-          >
-            <el-table-column
-              type="selection"
-              width="55"
-              align="center"
-            ></el-table-column>
-            <el-table-column
-              sortable
-              show-overflow-tooltip
-              align="center"
-              width="160"
-              prop="CAR_NO"
-              label="委托编号"
-            ></el-table-column>
-            <el-table-column
-              sortable
-              show-overflow-tooltip
-              align="center"
-              width="120"
-              prop="SAMPLE_NO"
-              label="中心编号"
-            ></el-table-column>
-            <el-table-column
-              sortable
-              show-overflow-tooltip
-              align="center"
-              width="120"
-              prop="MAT_NAME"
-              label="物料名称"
-            ></el-table-column>
-            <el-table-column
-              sortable
-              show-overflow-tooltip
-              align="center"
-              width="120"
-              prop="MEMO"
-              label="委托备注"
-            ></el-table-column>
-            <el-table-column
-              v-for="col in cols"
-              :prop="col.ANLY_ITEM_NO"
-              show-overflow-tooltip
-              align="center"
-              :key="col.ANLY_ITEM_NO"
-              :label="col.ANLY_ITEM_NAME"
-            >
+          <el-table ref="el_table_1" border :height="singleTableHeight" width="100%" highlight-current-row
+            @selection-change="searchFollow" :data="table.list1">
+            <el-table-column type="selection" width="55" align="center"></el-table-column>
+            <el-table-column sortable show-overflow-tooltip align="center" width="160" prop="CAR_NO"
+              label="委托编号"></el-table-column>
+            <el-table-column sortable show-overflow-tooltip align="center" width="120" prop="SAMPLE_NO"
+              label="中心编号"></el-table-column>
+            <el-table-column sortable show-overflow-tooltip align="center" width="120" prop="MAT_NAME"
+              label="物料名称"></el-table-column>
+            <el-table-column sortable show-overflow-tooltip align="center" width="120" prop="MEMO"
+              label="委托备注"></el-table-column>
+            <el-table-column v-for="col in cols" :prop="col.ANLY_ITEM_NO" show-overflow-tooltip align="center"
+              :key="col.ANLY_ITEM_NO" :label="col.ANLY_ITEM_NAME">
               <template slot-scope="scope">
                 <span :style="redStyle(scope.row.SA_ID, col.ANLY_ITEM_NO)">{{
                   scope.row[col.ANLY_ITEM_NO]
                 }}</span>
               </template>
             </el-table-column>
-            <el-table-column
-              sortable
-              show-overflow-tooltip
-              align="center"
-              width="120"
-              prop="UPDATE_TIME"
-              label="开始时间"
-            ></el-table-column>
-            <el-table-column
-              sortable
-              show-overflow-tooltip
-              align="center"
-              width="120"
-              prop="CREATE_TIME"
-              label="结束时间"
-            ></el-table-column>
+            <el-table-column sortable show-overflow-tooltip align="center" width="120" prop="UPDATE_TIME"
+              label="开始时间"></el-table-column>
+            <el-table-column sortable show-overflow-tooltip align="center" width="120" prop="CREATE_TIME"
+              label="结束时间"></el-table-column>
           </el-table>
         </div>
         <div class="common-foot-style">
-          <el-pagination
-            @size-change="pageSizeChange"
-            @current-change="pageCurrentChange"
-            :current-page="page.pageNum"
-            :page-sizes="[50, 100, 200, 500, 1000]"
-            :page-size="page.pageSize"
-            layout="total, sizes, prev, pager, next, jumper"
-            :total="page.totalPage"
-            background
-          >
+          <el-pagination @size-change="pageSizeChange" @current-change="pageCurrentChange" :current-page="page.pageNum"
+            :page-sizes="[50, 100, 200, 500, 1000]" :page-size="page.pageSize"
+            layout="total, sizes, prev, pager, next, jumper" :total="page.totalPage" background>
           </el-pagination>
         </div>
       </el-col>
     </el-row>
-    <el-dialog
-      :close-on-click-modal="false"
-      @close="closebatch"
-      width="100%"
-      :visible.sync="recallShow"
-      top="0"
-    >
+    <el-dialog :close-on-click-modal="false" @close="closebatch" width="100%" :visible.sync="recallShow" top="0">
       <div slot="title" class="titleBox">
         <i class="el-icon-document" style="font-size: 20px"></i>
         <span style="margin-left: 10px; font-size: 18px">维护信息</span>
       </div>
       <div class="common-table-div">
-        <el-table
-          border
-          ref="dataTable123"
-          :data="recallList"
-          :height="theight2"
-          @selection-change="recallSelection"
-          highlight-current-row
-        >
-          <el-table-column
-            type="selection"
-            width="45"
-            align="center"
-          ></el-table-column>
-          <el-table-column
-            show-overflow-tooltip
-            sortable
-            min-width="80"
-            align="center"
-            prop="ANLY_ITEM_NAME"
-            label="检测项目"
-          ></el-table-column>
-          <el-table-column
-            show-overflow-tooltip
-            sortable
-            min-width="80"
-            align="center"
-            prop="MIN_SIGN"
-            label="下限符号"
-          >
+        <el-table border ref="dataTable123" :data="recallList" :height="theight2" @selection-change="recallSelection"
+          highlight-current-row>
+          <el-table-column type="selection" width="45" align="center"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="ANLY_ITEM_NAME"
+            label="检测项目"></el-table-column>
+          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="MIN_SIGN" label="下限符号">
             <template slot-scope="scope">
-              <input
-                v-model="scope.row.MIN_SIGN"
-                size="small"
-                @keydown="keyDown($event, scope.row, scope.$index)"
-                :id="scope.column.id + '--' + scope.$index"
-                @change="inputDataPl($event, scope.$index)"
-                style="
+              <input v-model="scope.row.MIN_SIGN" size="small" @keydown="keyDown($event, scope.row, scope.$index)"
+                :id="scope.column.id + '--' + scope.$index" @change="inputDataPl($event, scope.$index)" style="
                   width: 100%;
                   height: 28px;
                   line-height: 28px;
@@ -295,27 +125,14 @@
                   padding-left: 3px;
                   text-align: center;
                   font-size: 15px;
-                "
-              />
+                " />
             </template>
           </el-table-column>
-          <el-table-column
-            show-overflow-tooltip
-            sortable
-            min-width="80"
-            align="center"
-            prop="MIN_VALUE"
-            label="下限值"
-          >
+          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="MIN_VALUE" label="下限值">
             <template slot-scope="scope">
-              <input
-                v-model="scope.row.MIN_VALUE"
-                size="small"
-                @keydown="keyDown($event, scope.row, scope.$index)"
-                :id="scope.column.id + '--' + scope.$index"
-                @change="inputDataPl($event, scope.$index)"
-                oninput="value=value.replace(/[^0-9\[.\]{1}-]/g,'')"
-                style="
+              <input v-model="scope.row.MIN_VALUE" size="small" @keydown="keyDown($event, scope.row, scope.$index)"
+                :id="scope.column.id + '--' + scope.$index" @change="inputDataPl($event, scope.$index)"
+                oninput="value=value.replace(/[^0-9\[.\]{1}-]/g,'')" style="
                   width: 100%;
                   height: 28px;
                   line-height: 28px;
@@ -323,26 +140,13 @@
                   padding-left: 3px;
                   text-align: center;
                   font-size: 15px;
-                "
-              />
+                " />
             </template>
           </el-table-column>
-          <el-table-column
-            show-overflow-tooltip
-            sortable
-            min-width="80"
-            align="center"
-            prop="MAX_SIGN"
-            label="上限符号"
-          >
+          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="MAX_SIGN" label="上限符号">
             <template slot-scope="scope">
-              <input
-                v-model="scope.row.MAX_SIGN"
-                size="small"
-                @keydown="keyDown($event, scope.row, scope.$index)"
-                :id="scope.column.id + '--' + scope.$index"
-                @change="inputDataPl($event, scope.$index)"
-                style="
+              <input v-model="scope.row.MAX_SIGN" size="small" @keydown="keyDown($event, scope.row, scope.$index)"
+                :id="scope.column.id + '--' + scope.$index" @change="inputDataPl($event, scope.$index)" style="
                   width: 100%;
                   height: 28px;
                   line-height: 28px;
@@ -350,27 +154,14 @@
                   padding-left: 3px;
                   text-align: center;
                   font-size: 15px;
-                "
-              />
+                " />
             </template>
           </el-table-column>
-          <el-table-column
-            show-overflow-tooltip
-            sortable
-            min-width="80"
-            align="center"
-            prop="MAX_VALUE"
-            label="上限值"
-          >
+          <el-table-column show-overflow-tooltip sortable min-width="80" align="center" prop="MAX_VALUE" label="上限值">
             <template slot-scope="scope">
-              <input
-                v-model="scope.row.MAX_VALUE"
-                size="small"
-                @keydown="keyDown($event, scope.row, scope.$index)"
-                :id="scope.column.id + '--' + scope.$index"
-                @change="inputDataPl($event, scope.$index)"
-                oninput="value=value.replace(/[^0-9\[.\]{1}-]/g,'')"
-                style="
+              <input v-model="scope.row.MAX_VALUE" size="small" @keydown="keyDown($event, scope.row, scope.$index)"
+                :id="scope.column.id + '--' + scope.$index" @change="inputDataPl($event, scope.$index)"
+                oninput="value=value.replace(/[^0-9\[.\]{1}-]/g,'')" style="
                   width: 100%;
                   height: 28px;
                   line-height: 28px;
@@ -378,28 +169,15 @@
                   padding-left: 3px;
                   text-align: center;
                   font-size: 15px;
-                "
-              />
+                " />
             </template>
           </el-table-column>
         </el-table>
       </div>
       <span slot="footer" class="dialog-footer">
-        <el-button
-          type="goon"
-          size="mini"
-          icon="el-icon-check"
-          :loading="batchLoading"
-          @click="determineList()"
-          >确认</el-button
-        >
-        <el-button
-          size="mini"
-          type="goon"
-          icon="el-icon-remove-outline"
-          @click="closebatch"
-          >取消</el-button
-        >
+        <el-button type="goon" size="mini" icon="el-icon-check" :loading="batchLoading"
+          @click="determineList()">确认</el-button>
+        <el-button size="mini" type="goon" icon="el-icon-remove-outline" @click="closebatch">取消</el-button>
       </span>
     </el-dialog>
   </div>
@@ -501,25 +279,29 @@ export default {
         startTime: startTime,
         endTime: endTime,
       };
-      this.dataLoading = true;
-      this.axios
-        .post(
-          "pass/baseManagement/v1/limssamplereleases/queryParameterMatName",
-          obj,
-          { individualType: "json" }
-        )
-        .then((res) => {
-          if (res.code == 0 || res.code == 200) {
-            this.table.list = res.data;
-          } else {
-            this.$message.error(res.message);
-          }
-          this.dataLoading = false;
-        })
-        .catch((err) => {
-          this.dataLoading = false;
-          this.$message.error(err.message);
-        });
+      if (this.tableList.MAT_NO != null) {
+        this.searchData()
+      } else {
+        this.dataLoading = true;
+        this.axios
+          .post(
+            "pass/baseManagement/v1/limssamplereleases/queryParameterMatName",
+            obj,
+            { individualType: "json" }
+          )
+          .then((res) => {
+            if (res.code == 0 || res.code == 200) {
+              this.table.list = res.data;
+            } else {
+              this.$message.error(res.message);
+            }
+            this.dataLoading = false;
+          })
+          .catch((err) => {
+            this.dataLoading = false;
+            this.$message.error(err.message);
+          });
+      }
     },
     searchData() {
       let startTime = "";
@@ -751,11 +533,16 @@ export default {
       this.searchData();
     },
     reset() {
-      this.search.matName = "";
+      this.search = {};
       let aaa = new Date();
       let bbb = new Date().getTime() - 60000 * 60 * 24 * 7;
       aaa.setTime(bbb);
       this.search.stateTime = [this.getYNM(aaa), this.getYNM(new Date())];
+      this.tableList = {}
+      this.table.list = []
+      this.table.list1 = []
+      this.searchData1();
+
     },
     getSummaries(param) {
       const { columns, data } = param;