zouyu
2023-08-30 ef1c0d5baa9d766dfe81a5fa972a6f83225536da
src/views/inspectionManagement/reportForInspection/index.vue
@@ -1,416 +1,604 @@
<template>
   <div class="content-main">
      <div class="rawPage" v-if="!showNewPage">
         <div class="top-bar">
            <el-form ref="form" :inline="true" :model="searchData">
               <el-form-item label="材料编码:" position="left" class="sermargin">
                  <el-input v-model="searchData.code" class="input-form" placeholder="请输入">
                  </el-input>
               </el-form-item>
               <el-form-item label="材料名称:" class="sermargin">
                  <el-input v-model="searchData.name" class="input-form" placeholder="请输入">
                  </el-input>
               </el-form-item>
               <el-form-item label="状态:" class="sermargin">
                  <el-select v-model="searchData.state" placeholder="全部">
                     <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
                     </el-option>
                  </el-select>
               </el-form-item>
               <el-form-item label="来料日期:" style="margin-right: 20px;">
                  <el-input v-model="searchData.date" class="input-form" placeholder="请输入">
                  </el-input>
               </el-form-item>
               <el-form-item>
                  <el-button type="primary" @click="search">查询</el-button>
                  <el-button type="primary" plain @click="reset">重置</el-button>
                  <el-button type="primary" icon="el-icon-plus" @click="addReportVisible = true">新增</el-button>
               </el-form-item>
            </el-form>
         </div>
         <el-dialog title="新增原材料报检" :visible.sync="addReportVisible" width="40%">
            <el-form v-model="insertData" label-position="left" label-width="80px">
               <el-form-item label="标准类型">
                  <el-input v-model="insertData.materialName" />
               </el-form-item>
               <el-form-item label="物料名称">
                  <el-input v-model="insertData.materialName" />
               </el-form-item>
               <el-form-item label="执行标准">
                  <el-input v-model="insertData.standardName" />
               </el-form-item>
               <el-form-item label="规格型号">
                  <el-input v-model="insertData.specificationsName" />
               </el-form-item>
            </el-form>
            <span slot="footer" class="dialog-footer">
               <el-button @click="addReportVisible = false">取 消</el-button>
               <el-button type="primary" @click="insert()">确 定</el-button>
            </span>
         </el-dialog>
         <div class="library-table">
            <div class="table-header">
               <div class="search-bar">
                  <el-radio-group v-model="radioValue" @change="radioclick">
                     <el-radio-button v-for="option in radioOptions" :key="option.value"
                        :label="option.value">{{ option.label }}</el-radio-button>
                  </el-radio-group>
               </div>
               <div class="generateInsp">
                  <el-button @click="addReportBtn" type="primary" size="mini" icon="el-icon-document"
                     style="background-color: rgb(1, 102, 226);">生成报检单</el-button>
               </div>
    <div class="content-main">
      <div class="rawPage" v-if="!showNewPage">
        <div class="top-bar">
            <el-form ref="form" :inline="true" :model="searchData">
            <el-form-item label="材料编码:" position="left" class="sermargin">
              <el-input
                v-model="searchData.code"
                class="input-form"
                placeholder="请输入"
              >
              </el-input>
            </el-form-item>
            <el-form-item label="材料名称:" class="sermargin">
              <el-input
                v-model="searchData.name"
                class="input-form"
                placeholder="请输入"
              >
              </el-input>
            </el-form-item>
            <el-form-item label="状态:" class="sermargin">
              <el-select v-model="searchData.state" placeholder="全部">
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="来料日期:" style="margin-right: 20px;">
              <el-input
                v-model="searchData.date"
                class="input-form"
                placeholder="请输入"
              >
              </el-input>
            </el-form-item>
            <el-form-item>
              <el-button type="primary" @click="search">查询</el-button>
              <el-button type="primary" plain @click="reset">重置</el-button>
              <el-button type="primary" icon="el-icon-plus" @click="addReportVisible = true">新增</el-button>
            </el-form-item>
            </el-form>
        </div>
        <el-dialog
          title="新增原材料报检"
          :visible.sync="addReportVisible"
          width="40%">
          <el-form v-model="insertData" :inline="true" label-position="right" label-width="80px">
            <el-form-item label="来料日期:">
              <el-date-picker
                v-model="insertData.fromDate"
                type="date"
                value-format="yyyy-MM-dd"
              ></el-date-picker>
            </el-form-item>
            <el-form-item label="供货商名称:">
              <el-input v-model="insertData.supplierName" />
            </el-form-item>
            <el-form-item label="材料名称:">
              <el-select v-model="insertData.mName" placeholder="请选择材料名称">
                  <el-option v-for="(item,index) in 5" :key="index" :label="item" :value="item"></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="材料编码:">
              <el-input disabled v-model="insertData.mCode" />
            </el-form-item>
            <el-form-item label="规格型号:">
              <el-cascader
                v-model="insertData.specificationsNumber"
                :options="childrenOptions"
                @change="handleChange"></el-cascader>
            </el-form-item>
            <el-form-item label="单位:">
              <el-input type="text" v-model="insertData.unit" />
            </el-form-item>
            <el-form-item label="数量:">
              <el-input type="number" v-model="insertData.num" />
            </el-form-item>
          </el-form>
          <span slot="footer" class="dialog-footer">
            <el-button @click="addReportVisible = false">取 消</el-button>
            <el-button type="primary" @click="insert()">确 定</el-button>
          </span>
        </el-dialog>
        <div class="library-table">
          <div class="table-header">
            <div class="search-bar">
              <el-radio-group v-model="radioValue" @change="radioclick">
                <el-radio-button v-for="option in radioOptions" :key="option.value" :label="option.value">{{ option.label }}</el-radio-button>
              </el-radio-group>
            </div>
            <div class="generateInsp">
              <el-button @click="addReportBtn" type="primary" size="mini" icon="el-icon-document" style="background-color: rgb(1, 102, 226);">生成报检单</el-button>
            </div>
          </div>
          <div class="table-box">
            <el-table
              ref="inspectionTable"
              :max-height="800"
              :cell-style="{textAlign: 'center'}"
              :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
              :data="inspectionTable"
              style="width: 100%"
              @selection-change="handleSelectionChange"
            >
              <el-table-column
                type="selection"
                :selectable="checkSelect"
                min-width="5%">
              </el-table-column>
              <el-table-column
                type="index"
                label="序号"
                min-width="8%"
              />
              <el-table-column
                prop="createTime"
                label="来料日期"
                min-width="8%"
              />
              <el-table-column
                prop="supplierName"
                label="供应商名称"
                min-width="12%"
              />
              <el-table-column
                prop="materialCoding"
                label="材料编码"
                min-width="8%"
              />
              <el-table-column
                prop="materialName"
                label="材料名称"
                min-width="8%"
              />
              <el-table-column
                prop="specificationsModels"
                label="规格型号"
                min-width="12%"
              />
              <el-table-column
                prop="unit"
                label="单位"
                min-width="5%"
              />
              <el-table-column
                prop="quantity"
                label="数量"
                min-width="5%"
              />
              <el-table-column
                prop="inspectionDate"
                label="报检日期"
                min-width="8%"
              />
              <el-table-column
                prop="surveyor"
                label="检验人"
                min-width="8%"
              />
              <el-table-column
                prop="dateSurvey"
                label="检验日期"
                min-width="8%"
              />
              <el-table-column
                prop="type"
                label="状态"
                min-width="8%"
              >
              <template slot-scope="scope">
                <span :style="{ color: scope.row.type === 1 ? 'green' : 'red' }">
                  {{ scope.row.type === 1 ? '已报检':'未报检' }}
                </span>
              </template>
              </el-table-column>
              <el-table-column
                label="操作"
                min-width="8%">
                <template slot-scope="scope">
                  <el-button type="text" size="small" @click="removeFun(scope.row,scope.$index)">删除</el-button>
                </template>
              </el-table-column>
            </el-table>
            <!-- 分页器 -->
            <div>
              <el-pagination
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
                :current-page="currentPage"
                :page-sizes="[5, 10, 15, 20]"
                :page-size="pageSize"
                layout="total, sizes, prev, pager, next, jumper"
                :total="total">
              </el-pagination>
            </div>
          </div>
        </div>
      </div>
      <el-dialog title="选择日期" :visible.sync="addReportDialog" width="30%">
        <el-form :model="addInspectionForm" :rules="addInspectionFormRules" rule="addInspectionForm">
          <el-form-item label="检验日期" label-width="100px" prop="inspectionDate">
            <el-date-picker
              v-model="addInspectionForm.inspectionDate"
              type="daterange"
              value-format="yyyy-MM-dd"
              range-separator="至"
              start-placeholder="开始日期"
              end-placeholder="结束日期">
            </el-date-picker>
          </el-form-item>
          <el-form-item label="版本" label-width="100px" prop="version">
            <el-select v-model="addInspectionForm.version" placeholder="请选择版本">
              <el-option v-for="(item,index) in 5" :key="index" :value="item" :label="item"></el-option>
            </el-select>
          </el-form-item>
        </el-form>
        <div slot="footer" class="dialog-footer">
          <el-button @click="resetForm('addInspectionForm')">取 消</el-button>
          <el-button type="primary" @click="confirmBtn('addInspectionForm')">确 定</el-button>
        </div>
      </el-dialog>
            </div>
            <div class="table-box">
               <el-table ref="inspectionTable" :max-height="800" :cell-style="{textAlign: 'center'}"
                  :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
                  :data="inspectionTable" style="width: 100%" @selection-change="handleSelectionChange">
                  <el-table-column type="selection" :selectable="checkSelect" min-width="5%">
                  </el-table-column>
                  <el-table-column type="index" label="序号" min-width="8%" />
                  <el-table-column prop="createTime" label="来料日期" min-width="8%" />
                  <el-table-column prop="supplierName" label="供应商名称" min-width="12%" />
                  <el-table-column prop="materialCoding" label="材料编码" min-width="8%" />
                  <el-table-column prop="materialName" label="材料名称" min-width="8%" />
                  <el-table-column prop="specificationsModels" label="规格型号" min-width="12%" />
                  <el-table-column prop="unit" label="单位" min-width="5%" />
                  <el-table-column prop="quantity" label="数量" min-width="5%" />
                  <el-table-column prop="inspectionDate" label="报检日期" min-width="8%" />
                  <el-table-column prop="surveyor" label="检验人" min-width="8%" />
                  <el-table-column prop="dateSurvey" label="检验日期" min-width="8%" />
                  <el-table-column prop="type" label="状态" min-width="8%">
                     <template slot-scope="scope">
                        <span :style="{ color: scope.row.type === 1 ? 'green' : 'red' }">
                           {{ scope.row.type === 1 ? '已报检':'未报检' }}
                        </span>
                     </template>
                  </el-table-column>
                  <el-table-column label="操作" min-width="8%">
                     <template slot-scope="scope">
                        <el-button type="text" size="small" @click="removeFun(scope.row)">删除</el-button>
                     </template>
                  </el-table-column>
               </el-table>
               <!-- 分页器 -->
               <div>
                  <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
                     :current-page="currentPage" :page-sizes="[5, 10, 15, 20]" :page-size="pageSize"
                     layout="total, sizes, prev, pager, next, jumper" :total="total">
                  </el-pagination>
               </div>
            </div>
         </div>
      </div>
      <!-- 生成报检单 -->
      <div class="newPage" v-if="showNewPage">
         <!-- 新增页面 -->
         <div class="inspectionForm">
            <el-form :model="inspectionForm" ref="inspectionForm" label-position="right" label-width="100px" size="mini">
               <div class="formwrapper">
                  <el-row>
                     <el-col :span="8">
                        <el-form-item label="来料日期:">
                           <el-input style="width: 180px;" :value="inspectionForm.formTime" disabled autocomplete="off" />
                        </el-form-item>
                     </el-col>
                     <el-col :span="8">
                        <el-form-item label="供应商名称:">
                           <el-input style="width: 180px;" :value="inspectionForm.supplier" disabled autocomplete="off" />
                        </el-form-item>
                     </el-col>
                     <el-col :span="8">
                        <el-form-item label="样品编号:">
                           <el-input style="width: 180px;" :value="inspectionForm.code" disabled autocomplete="off" />
                        </el-form-item>
                     </el-col>
                  </el-row>
                  <el-row>
                     <el-col :span="8">
                        <el-form-item label="样品名称:">
                           <el-input style="width: 180px;" :value="inspectionForm.name" disabled autocomplete="off" />
                        </el-form-item>
                     </el-col>
                     <el-col :span="8">
                        <el-form-item label="规格型号:">
                           <el-input style="width: 180px;" :value="inspectionForm.specifications" disabled autocomplete="off" />
                        </el-form-item>
                     </el-col>
                     <el-col :span="8">
                        <el-form-item label="单位:">
                           <el-input style="width: 180px;" :value="inspectionForm.unit" disabled autocomplete="off" />
                        </el-form-item>
                     </el-col>
                  </el-row>
                  <el-row>
                     <el-col :span="8">
                        <el-form-item label="数量:">
                           <el-input style="width: 180px;" :value="inspectionForm.num" disabled autocomplete="off" />
                        </el-form-item>
                     </el-col>
                     <el-col :span="8">
                        <el-form-item label="报检日期:">
                           <el-input style="width: 180px;" :value="inspectionForm.endTime" disabled autocomplete="off" />
                        </el-form-item>
                     </el-col>
                     <el-col :span="8">
                        <el-form-item label="报检人:">
                           <el-input style="width: 180px;" :value="inspectionForm.userName" disabled autocomplete="off" />
                        </el-form-item>
                     </el-col>
                  </el-row>
               </div>
            </el-form>
         </div>
         <div class="inspectionProject">
            <div class="header">
               <span style="font-size: 14px">检验项目</span>
               <div>
                  <!-- <el-button  type="primary" plain size="mini">保存</el-button> -->
                  <el-button @click="showNewPage = false" type="primary" plain size="mini" icon="el-icon-back">返回</el-button>
               </div>
            </div>
            <el-table :max-height="800" :cell-style="{textAlign: 'center'}"
               :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
               :data="inspectionItems">
               <el-table-column type="index" label="序号" width="60"></el-table-column>
               <el-table-column prop="name" label="项目" width="250"></el-table-column>
               <el-table-column prop="unit" label="单位" width="125"></el-table-column>
               <el-table-column prop="required" label="标准值" width="125"></el-table-column>
               <el-table-column prop="internal" label="内测值" width="125"></el-table-column>
               <el-table-column prop="testValue" label="检验值" width="125"></el-table-column>
               <el-table-column prop="userName" label="检验人">
                  <template slot-scope="scope">
                     <el-select v-model="scope.row.checker" size="small" slot="append" style="width: 260px;">
                        <el-option v-for="(item,index) in checkeroptions" :key="index" :value="item.value"
                           :label="item.label">{{ item.label }}</el-option>
                     </el-select>
                  </template>
               </el-table-column>
               <el-table-column prop="device" label="试验设备">
                  <template slot-scope="scope">
                     <el-select v-model="scope.row.device" size="small" slot="append" style="width: 260px;">
                        <el-option v-for="(item,index) in deviceoptions" :key="index" :value="item.value"
                           :label="item.label">{{ item.label }}</el-option>
                     </el-select>
                  </template>
               </el-table-column>
            </el-table>
         </div>
      </div>
   </div>
    <!-- 生成报检单 -->
      <div class="newPage" v-if="showNewPage">
        <!-- 新增页面 -->
        <div class="inspectionForm">
          <el-form :model="inspectionForm" label-position="right" label-width="100px" size="mini" >
            <div class="formwrapper">
              <el-row>
                <el-col  :span="8">
                  <el-form-item label="来料日期:">
                    <el-input  style="width: 180px;" :value="inspectionForm.formTime" disabled autocomplete="off" />
                  </el-form-item>
                </el-col>
                <el-col  :span="8">
                  <el-form-item label="供应商名称:">
                    <el-input style="width: 180px;" :value="inspectionForm.supplier" disabled autocomplete="off" />                  </el-form-item>
                </el-col>
                <el-col  :span="8">
                  <el-form-item label="样品编号:">
                    <el-input style="width: 180px;" :value="inspectionForm.code" disabled autocomplete="off" />
                  </el-form-item>
                </el-col>
              </el-row>
              <el-row >
                <el-col  :span="8">
                  <el-form-item label="样品名称:" >
                    <el-input style="width: 180px;" :value="inspectionForm.name" disabled autocomplete="off" />
                  </el-form-item>
                </el-col>
                <el-col  :span="8">
                  <el-form-item label="规格型号:">
                    <el-input style="width: 180px;" :value="inspectionForm.specifications" disabled autocomplete="off" />
                  </el-form-item>
                </el-col>
                <el-col  :span="8">
                  <el-form-item label="单位:">
                    <el-input style="width: 180px;" :value="inspectionForm.unit" disabled autocomplete="off" />
                  </el-form-item>
                </el-col>
              </el-row>
              <el-row >
                <el-col  :span="8">
                  <el-form-item label="数量:" >
                    <el-input style="width: 180px;" :value="inspectionForm.num" disabled autocomplete="off" />
                  </el-form-item>
                  </el-col>
                  <el-col :span="8">
                    <el-form-item label="报检日期:" >
                      <el-input style="width: 180px;" :value="inspectionForm.endTime" disabled autocomplete="off" />
                    </el-form-item>
                  </el-col>
                  <el-col :span="8">
                    <el-form-item label="报检人:">
                        <el-input style="width: 180px;" :value="inspectionForm.userName" disabled autocomplete="off" />
                    </el-form-item>
                  </el-col>
                </el-row>
            </div>
            </el-form>
        </div>
        <div class="inspectionProject">
          <div class="header">
            <span style="font-size: 14px">检验项目</span>
            <div>
            <!-- <el-button  type="primary" plain size="mini">保存</el-button> -->
            <el-button @click="showNewPage = false" type="primary" plain size="mini" icon="el-icon-back">返回</el-button>
          </div>
          </div>
            <el-table
              :max-height="800"
              :cell-style="{textAlign: 'center'}"
              :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
              :data="inspectionItems">
            <el-table-column type="index" label="序号" width="60"></el-table-column>
            <el-table-column prop="name" label="项目" width="250"></el-table-column>
            <el-table-column prop="unit" label="单位" width="125"></el-table-column>
            <el-table-column prop="required" label="标准值" width="125"></el-table-column>
            <el-table-column prop="internal" label="内测值" width="125"></el-table-column>
            <el-table-column prop="testValue" label="检验值" width="125"></el-table-column>
            <el-table-column prop="userName" label="检验人">
              <template slot-scope="scope">
                <el-select @blur="blurOptions(scope.row)" v-model="scope.row.check" size="small" slot="append" style="width: 260px;">
                    <el-option v-for="(item,index) in checkeroptions" :key="index" :value="item.id" :label="item.name"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="device" label="试验设备">
              <template slot-scope="scope">
                <el-select @blur="blurOptions(scope.row)" v-model="scope.row.device" size="small" slot="append" style="width: 260px;">
                    <el-option v-for="(item,index) in deviceoptions" :key="index" :value="item.id" :label="item.equipmentName"></el-option>
                </el-select>
              </template>
            </el-table-column>
          </el-table>
        </div>
      </div>
  </div>
</template>
<script>
   import {
      getRawMaterialList,
      addInspect,
      selectInspectsListById
   } from '@/api/inspection/rawmaterial'
   export default {
      data() {
         return {
            insertData: {
import { getRawMaterialList,
  addInspect,
  selectInspectsListById,
  selectUser,
  selectEquipment,
  deleteMaterial,
  addMaterial
 } from '@/api/inspection/rawmaterial'
export default {
  data() {
    return {
      userName: "",
      devices: "",
      addInspectionForm: {
        inspectionDate: ['2023-08-01','2023-08-31'],
        version: 5
      },
      addInspectionFormRules: {
        inspectionDate: [{required: true, message: '请选择日期区间', trigger: 'change' }],
      },
      addReportDialog: false,
      insertData:{},
      addReportVisible: false,
      checked: false,
      resultData : {},
      checkData:[],
      form: [],
      searchData: {
        code: '',
        name: '',
        state: '',
        date: ''
      },
      childrenOptions: [{
        value: 'zhinan',
        label: '指南',
        children: [{
          value: 'shejiyuanze',
          label: '设计原则',
          children: [{
            value: 'yizhi',
            label: '一致'
          }, {
            value: 'fankui',
            label: '反馈'
          }, {
            value: 'xiaolv',
            label: '效率'
          }, {
            value: 'kekong',
            label: '可控'
          }]
        }]
      }],
      options: [{
        value: null,
        label: '全部'
      }, {
        value: 1,
        label: '已报检'
      }, {
        value: 0,
        label: '未报检'
      }],
      deviceoptions:[{
        value: 0,
        label: '拉力机'
      },{
        value: 1,
        label: '拖拉机'
      }],
      checkeroptions:[{
        value: 0,
        label: '黄小明'
      },{
        value: 1,
        label: '张三'
      }],
      radioOptions:[{
        label: '全部',
        value: null
      },{
        value: 1,
        label: '已报检'
      },{
        value: 0,
        label: '未报检'
      }],
      radioValue: null,
      inspectionTable: [{
        createTime: '2023-07-28',
        supplier_name: '国网山东省电力有限公司',
        materialCoding: 'BP214274',
        materialName: '铝包钢绞线',
        specificationsModels: 'JLHA/G1A-185/30-26/7',
        unit: '吨',
        quantity: 21,
        dateSurvey: '2023-08-02',
        surveyor: '黄小明',
        inspectionDate: '2023-12-09',
        condition: 1
      }],
      currentPage: 1,
      pageSize: 5,
      total:20,
      data: '',
      showNewPage: false,
      inspectionForm:{},
      inspectionItems:[{
        index: 1,
        name: "aaa",
        unit: "KB",
        required: "1",
        internal: "2",
        testValue: "3",
        userName:"",
        device: ""
      }]
    }
  },
  created(){
    this.getRawMaterialList()
  },
  mounted(){
  },
  methods: {
    handleChange(){
            },
            addReportVisible: false,
            checked: false,
            resultData: {},
            checkData: [],
            form: [],
            searchData: {
               code: '',
               name: '',
               state: '',
               date: ''
            },
            options: [{
               value: 0,
               label: '全部'
            }, {
               value: 1,
               label: '已检验'
            }, {
               value: 2,
               label: '待检验'
            }],
            deviceoptions: [{
               value: 0,
               label: '拉力机'
            }, {
               value: 1,
               label: '拖拉机'
            }],
            checkeroptions: [{
               value: 0,
               label: '黄小明'
            }, {
               value: 1,
               label: '张三'
            }],
            radioOptions: [{
               label: '全部',
               value: 0
            }, {
               value: 1,
               label: '已检验'
            }, {
               value: 2,
               label: '待检验'
            }],
            radioValue: 0,
            inspectionTable: [{
               createTime: '2023-07-28',
               supplier_name: '国网山东省电力有限公司',
               materialCoding: 'BP214274',
               materialName: '铝包钢绞线',
               specificationsModels: 'JLHA/G1A-185/30-26/7',
               unit: '吨',
               quantity: 21,
               dateSurvey: '2023-08-02',
               surveyor: '黄小明',
               inspectionDate: '2023-12-09',
               condition: 1
            }],
            currentPage: 1,
            pageSize: 5,
            total: 20,
            data: '',
            showNewPage: false,
            inspectionForm: {},
            inspectionItems: []
         }
      },
      created() {
         this.getRawMaterialList()
      },
      methods: {
         removeFun(row) {
            this.$confirm('确认删除该数据吗?', '提示', {
               confirmButtonText: '确定',
               cancelButtonText: '取消',
               type: 'warning'
            }).then(() => {
               this.$message({
                  type: 'success',
                  message: '删除成功!'
               });
            }).catch(() => {});
         },
         checkSelect(row, index) {
            if (row.type === 1) {
               return false;
            } else {
               return true;
            }
         },
         handleSelectionChange(val) {
            this.checkData = val;
         },
         //生成报检单按钮
         addReportBtn() {
            let arr = this.checkData;
            if (arr.length < 1) {
               this.$message.error("请选择一条数据!");
            } else {
               if (arr.length > 1) {
                  this.$message.error("最多选择一条数据!");
               } else {
                  //添加报检单
                  let val = arr[0];
                  let obj = {
                     "endTime": val.dateSurvey,
                     "experiment": "",
                     "formTime": val.createTime,
                     "id": val.id,
                     "mcode": val.materialCoding,
                     "name": val.materialName,
                     "num": val.quantity,
                     "specifications": val.specificationsModels,
                     "startTime": val.inspectionDate,
                     "supplier": val.supplierName,
                     "type": val.type,
                     "unit": val.unit,
                     "version": val.version
                  }
                  this.createReport(obj);
                  this.showNewPage = true;
               }
            }
         },
         //生成报价单
         async createReport(param) {
            await addInspect(param);
            const res2 = await selectInspectsListById({
               id: 59
            });
            this.resultData = res2.data;
            this.inspectionForm = res2.data;
            this.inspectionItems = res2.data.insProducts;
    },
    async deleteMaterialFun(row,index){
      let formData=new FormData();
      formData.append("deleteId",row.id)
      await deleteMaterial(formData).then(() => {
        this.inspectionTable.splice(index,1);
        this.$message.success("删除成功");
      }).catch(error => {
        this.$message.error(error.message);
      });
    },
    blurOptions(row){
        console.log("更新",row);
    },
    async initNewSelection(){
        const res = await selectUser();
        const res2 = await selectEquipment();
        this.checkeroptions = res.data;
        this.deviceoptions = res2.data;
    },
    resetForm(formName) {
        // this.addInspectionForm.inspectionDate = [],
        // this.$refs[formName].resetFields();
        // this.addReportDialog = false
    },
    removeFun(row,index){
      this.$confirm('确认删除该数据吗?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          console.log(row.id);
          this.deleteMaterialFun(row,index);
        }).catch(() => {});
    },
    checkSelect(row,index){
      if(row.type === 1){
        return false;
      }else{
        return true;
      }
    },
    handleSelectionChange(val){
      this.checkData = val;
    },
    //生成报检单按钮
    addReportBtn(){
        if(this.checkData.length < 1){
          this.$message.error("请选择一条数据!");
        }else{
          if(this.checkData.length > 1){
            this.$message.error("最多选择一条数据!");
          }else{
            this.addReportDialog = true;
          }
      }
    },
    //生成报检单确认按钮
    confirmBtn(formName){
          let dateArr = this.addInspectionForm.inspectionDate;
          //添加报检单
          let val = this.checkData[0];
          let obj = {
            "endTime": dateArr[1],
            "experiment": "",
            "formTime": val.createTime,
            "id": val.id,
            "mcode": val.materialCoding,
            "name": val.materialName,
            "num": val.quantity,
            "specifications": val.specificationsModels,
            "startTime": dateArr[0],
            "supplier": val.supplierName,
            "type": val.type,
            "unit": val.unit,
            "version": val.version
          }
          // this.createReport(obj);
          this.addReportDialog = false;
          this.initNewSelection();
          this.showNewPage = true;
    },
    //生成报价单
    async createReport(param){
      let res = await addInspect(param);
      const res2 = await selectInspectsListById({ id : res.data});
      this.resultData = res2.data;
      this.inspectionForm = res2.data;
      this.inspectionItems = res2.data.insProducts;
         },
         // 获取分页列表数据
         async getRawMaterialList() {
            const res = await getRawMaterialList({
               pageNo: this.currentPage,
               pageSize: this.pageSize
            })
            this.inspectionTable = res.data.row
            this.data = res.data.row
            this.total = res.data.total
         },
         async search() {
            this.radioValue = this.searchData.state
            const res = await getRawMaterialList({
               condition: this.searchData.state,
               createTime: this.searchData.date,
               materialCoding: this.searchData.code,
               materialName: this.searchData.name,
               pageNo: this.currentPage,
               pageSize: this.pageSize
            })
            this.inspectionTable = res.data.row
            this.data = res.data.row
            this.total = res.data.total
         },
         reset() {
            this.searchData = {
               code: '',
               name: '',
               state: '',
               date: ''
            }
            this.getRawMaterialList()
         },
         radioclick() {
            this.searchData.state = this.radioValue
            this.inspectionTable = this.data.filter((item) => {
               return item.condition === this.radioValue
            })
            if (this.radioValue === 0) {
               this.inspectionTable = this.data
            }
            this.total = this.inspectionTable.length
         },
         // 每页条数改变时触发 选择一页显示多少行
         handleSizeChange(val) {
            this.pageSize = val
            this.getRawMaterialList({
               pageNo: this.currentPage,
               pageSize: this.pageSize
            })
         },
         // 当前页改变时触发 跳转其他页
         handleCurrentChange(val) {
            this.currentPage = val
            this.getRawMaterialList({
               pageNo: this.currentPage,
               pageSize: this.pageSize
            })
         }
      }
   }
    },
    // 获取分页列表数据
    async getRawMaterialList(){
      const res = await getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize})
      this.inspectionTable = res.data.row
      this.data = res.data.row
      this.total = res.data.total
    },
    async search(){
      this.radioValue = this.searchData.state
      const res = await getRawMaterialList({type: this.searchData.state,
        createTime:this.searchData.date,
        materialCoding:this.searchData.code,
        materialName: this.searchData.name,
        pageNo: this.currentPage,
        pageSize: this.pageSize
      })
      this.inspectionTable = res.data.row
      this.data = res.data.row
      this.total = res.data.total
    },
    reset(){
      this.searchData = {
        code: '',
        name: '',
        state: '',
        date: ''
      }
      this.getRawMaterialList()
    },
    radioclick(){
      console.log(this.inspectionTable);
      if(this.radioValue === 0){
      }
    },
    getAllTableData(){
      this.getRawMaterialList()
    },
    getCheckData(){
    },
    getUnCheckData(){
    },
    // 每页条数改变时触发 选择一页显示多少行
    handleSizeChange(val) {
      this.pageSize = val
      this.getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize})
    },
    // 当前页改变时触发 跳转其他页
    handleCurrentChange(val) {
      this.currentPage = val
      this.getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize})
    }
  }
}
</script>
<style scoped lang="scss">