| | |
| | | <div class="content-main"> |
| | | <div class="top-bar"> |
| | | <el-form ref="form" :inline="true" :model="searchData"> |
| | | <el-form-item> |
| | | <el-form-item label="申请单号:"> |
| | | <el-input |
| | | v-model="searchData.keyword" |
| | | v-model="searchData.applicationnumber" |
| | | class="input-form" |
| | | placeholder="请输入申请单号/检验对象/对象位置/对象名称" |
| | | placeholder="请输入申请单号" |
| | | style="width: 200px; margin-right: 20px;" |
| | | > |
| | | <i slot="prefix" class="el-input__icon el-icon-search" /> |
| | | <i slot="prefix" class="el-input__icon el-icon-search" /> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="检验类型:"> |
| | | <el-select v-model="searchData.type" placeholder="全部" style="width: 100px;margin-right: 20px;"> |
| | | <el-option |
| | | v-for="item in typeoptions" |
| | | :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-select v-model="searchData.state" placeholder="全部" style="width: 100px;margin-right: 20px;"> |
| | | <el-option |
| | | v-for="item in stateoptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary">查询</el-button> |
| | | <el-button type="primary" plain>重置</el-button> |
| | | <el-button type="primary" @click="searchInspections">查询</el-button> |
| | | <el-button type="primary" plain @click="reset">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form class="rightBtn"> |
| | |
| | | min-width="30px" |
| | | /> |
| | | <el-table-column |
| | | prop="applicationnum" |
| | | prop="icode" |
| | | label="申请单号" |
| | | min-width="100px" |
| | | /> |
| | | <el-table-column |
| | | prop="checktype" |
| | | prop="type" |
| | | label="检验类型" |
| | | min-width="80px" |
| | | /> |
| | | <el-table-column |
| | | prop="checkstate" |
| | | label="检验状态" |
| | | min-width="70px"> |
| | | min-width="80px"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="scope.row.checkstate === '1'"> |
| | | <span style="color: green;">已检测</span> |
| | | </div> |
| | | <div v-else> |
| | | <span style="color: red;">未检测</span> |
| | | </div> |
| | | |
| | | <div v-if="scope.row.type === 0" ><span >原材料检验</span></div> |
| | | <div v-if="scope.row.type === 1" ><span>委托检验</span></div> |
| | | <div v-if="scope.row.type === 2" ><span>成品检验</span></div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="deliverydate" |
| | | prop="formTime" |
| | | label="来料日期" |
| | | min-width="100px" |
| | | /> |
| | | <el-table-column |
| | | prop="provider" |
| | | prop="supplier" |
| | | label="供应商名称" |
| | | min-width="150px" |
| | | /> |
| | | <el-table-column |
| | | prop="rawcode" |
| | | prop="mcode" |
| | | label="原材料编码" |
| | | min-width="120px" |
| | | min-width="150px" |
| | | /> |
| | | <el-table-column |
| | | prop="rawname" |
| | | prop="name" |
| | | label="原材料名称" |
| | | min-width="80px" |
| | | /> |
| | | <el-table-column |
| | | prop="modelandspecification" |
| | | prop="specifications" |
| | | label="规格型号" |
| | | min-width="160px" |
| | | /> |
| | |
| | | min-width="50px" |
| | | /> |
| | | <el-table-column |
| | | prop="amount" |
| | | prop="num" |
| | | label="数量" |
| | | min-width="50px" |
| | | /> |
| | | <el-table-column |
| | | prop="registrationdate" |
| | | prop="createTime" |
| | | label="登记日期" |
| | | min-width="80px" |
| | | /> |
| | | <el-table-column |
| | | prop="registrator" |
| | | prop="userName" |
| | | label="登记人" |
| | | min-width="80px" |
| | | /> |
| | | <el-table-column |
| | | prop="qualified" |
| | | label="检验状态" |
| | | prop="inspection_status" |
| | | label="检验结果" |
| | | min-width="80px"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="scope.row.qualified === null"> |
| | | <span></span> |
| | | </div> |
| | | <div v-else> |
| | | <el-tag :type="scope.row.qualified === '0' ? 'success' : 'danger'" |
| | | <el-tag class="tag" :type="scope.row.inspection_status === 0 ? 'danger' : 'success'" |
| | | disable-transitions |
| | | >{{ scope.row.qualified === '0' ? '合格' : '不合格' }}</el-tag> |
| | | </div> |
| | | >{{ scope.row.inspection_status === 0 ? '不合格' : '合格' }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="applier" |
| | | label="申请人" |
| | | min-width="80px" |
| | | /> |
| | | <el-table-column |
| | | prop="checker" |
| | | label="检验人" |
| | | min-width="80px" |
| | | /> |
| | | <el-table-column |
| | | prop="checktime" |
| | | prop="checkdate" |
| | | label="检验日期" |
| | | min-width="80px" |
| | | min-width="150px" |
| | | /> |
| | | <el-table-column |
| | | label="操作" |
| | |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small" @click="handleClick(scope.row)">查看</el-button> |
| | | <el-button type="text" size="small" >提交</el-button> |
| | | <!-- <el-button type="text" size="small" >提交</el-button> --> |
| | | <el-button type="text" size="small" >作废</el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <el-pagination |
| | | class="pagination" |
| | | :current-page="currentPage" |
| | | :page-sizes="[100, 200, 300, 400]" |
| | | :page-sizes="[ 10, 20, 30,40]" |
| | | :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total" |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 对话框 --> |
| | | <div class="checkType"> |
| | | <el-dialog |
| | | title="新增检验单" |
| | |
| | | width="50%" |
| | | > |
| | | <div class="check-box"> |
| | | <el-radio-group v-model="type"> |
| | | <el-radio :label="0" border>原材料检验</el-radio> |
| | | <el-radio :label="1" border>半成品检验</el-radio> |
| | | <el-radio-group v-model="type" @change="handleRadioChange"> |
| | | <el-radio style="background-color: rgb(170, 236, 214);border-radius: 10px;" :label="0" border >原材料检验</el-radio> |
| | | <el-radio :label="1" border>委托检验</el-radio> |
| | | <el-radio :label="2" border>成品检验</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | <el-form :model="infoForm" ref="infoForm" class="infoForm" label-position="top" label-width="200px" size="mini"> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="来料日期:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.deliverydate" placeholder="请输入来料日期" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="供应商名称:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.name" placeholder="请输入供应商名称" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="原材料编码:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.code" placeholder="请输入原材料编码" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="原材料名称:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.name" placeholder="请输入原材料名称" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="规格型号:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.modelandspecification" placeholder="请输入规格型号" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="单位:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.unit" placeholder="请输入单位" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="数量:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.amount" placeholder="请输入数量" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="检验时间:"> |
| | | <div v-if="type === 0 || type === ''"> |
| | | <el-form :model="infoForm" ref="infoForm" class="checkTypeForm" label-position="top" label-width="200px" size="mini"> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="来料日期:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.dateSurvey" placeholder="请输入来料日期" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="供应商名称:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.supplierName" placeholder="请输入供应商名称" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="原材料编码:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.materialCoding" placeholder="请输入原材料编码" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="原材料名称:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.materialName" placeholder="请输入原材料名称" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="规格型号:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.specificationsModels" placeholder="请输入规格型号" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="单位:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.unit" placeholder="请输入单位" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="数量:"> |
| | | <el-input style="width: 300px" type="text" :value="infoForm.quantity" placeholder="请输入数量" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="检验时间:"> |
| | | <el-date-picker |
| | | v-model="infoForm.checkdate" |
| | | type="daterange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | style="width: 300px;"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | <div v-if="type === 1"> |
| | | <el-form :model="commisionSelection" ref="commisionTable" class="checkTypeForm" label-position="top" label-width="200px" size="mini"> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="来料日期:"> |
| | | <el-input style="width: 300px" type="text" :value="commisionSelection.formTime" placeholder="请输入来料日期" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="供应商名称:"> |
| | | <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" placeholder="请输入委托单位" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="委托编号:"> |
| | | <el-input style="width: 300px" type="text" :value="commisionSelection.mcode" placeholder="请输入样品编号" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="委托名称:"> |
| | | <el-input style="width: 300px" type="text" :value="commisionSelection.name" placeholder="请输入样品名称" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="规格型号:"> |
| | | <el-input style="width: 300px" type="text" :value="commisionSelection.specifications" placeholder="请输入型号规格" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="单位:"> |
| | | <el-input style="width: 300px" type="text" :value="commisionSelection.unit" placeholder="请输入单位" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="数量:"> |
| | | <el-input style="width: 300px" type="text" :value="commisionSelection.num" placeholder="请输入数量" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="检验日期:"> |
| | | <el-date-picker |
| | | v-model="infoForm.checkdate" |
| | | type="daterange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | style="width: 300px;"> |
| | | v-model="commisionSelection.checkdate" |
| | | type="daterange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | style="width: 300px;"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | <div v-if="type === 2"> |
| | | <el-form :model="finishedTable" ref="finishedTable" class="checkTypeForm" label-position="top" label-width="200px" size="mini"> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="来料日期:"> |
| | | <el-input style="width: 300px" type="text" v-model="finishedTable.deliverydate" placeholder="请输入来料日期" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="供应商名称:"> |
| | | <el-input style="width: 300px" type="text" v-model="finishedTable.supplier" placeholder="请输入供应商名称" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="原材料编码:"> |
| | | <el-input style="width: 300px" type="text" v-model="finishedTable.code" placeholder="请输入原材料编码" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="原材料名称:"> |
| | | <el-input style="width: 300px" type="text" v-model="finishedTable.name" placeholder="请输入原材料名称" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="规格型号:"> |
| | | <el-input style="width: 300px" type="text" v-model="finishedTable.modelandspecification" placeholder="请输入规格型号" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="单位:"> |
| | | <el-input style="width: 300px" type="text" v-model="finishedTable.unit" placeholder="请输入单位" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="100"> |
| | | <el-col :span="10"> |
| | | <el-form-item label="数量:"> |
| | | <el-input style="width: 300px" type="text" v-model="finishedTable.amount" placeholder="请输入数量" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="检验时间:"> |
| | | <el-date-picker |
| | | v-model="finishedTable.checkdate" |
| | | type="daterange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | style="width: 300px;"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="checkTypeVisible = false">取 消</el-button> |
| | | <el-button type="primary" @click="goToForInspectionDetail">确 定</el-button> |
| | | <el-button type="primary" @click="addInspection">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | <!-- 原材料检验模态框 --> |
| | | <el-dialog |
| | | title="原材料检验" |
| | | :visible.sync="rawmaterialVisible" |
| | | width="60%"> |
| | | <div class="table-box"> |
| | | <el-table |
| | | ref="multipleTable" |
| | | :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="rawMaterialTable" |
| | | style="width: 100%" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | label="" |
| | | min-width="10%" |
| | | /> |
| | | <el-table-column |
| | | type="index" |
| | | label="序号" |
| | | min-width="8%" |
| | | /> |
| | | <el-table-column |
| | | prop="dateSurvey" |
| | | 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="createTime" |
| | | label="检验日期" |
| | | min-width="8%" |
| | | /> |
| | | <el-table-column |
| | | prop="state" |
| | | label="状态" |
| | | min-width="8%" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span :style="{ color: scope.row.state === 1 ? 'green' : 'red' }"> |
| | | {{ scope.row.state===1 ? '已检测':'待检测' }} |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="rawmaterialVisible = false">取 消</el-button> |
| | | <el-button type="primary" @click="handleRawMaterialSelection">确 定</el-button> |
| | | </span> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 委托检验模态框 --> |
| | | <el-dialog |
| | | title="委托检验" |
| | | :visible.sync="commisionVisible" |
| | | width="60%"> |
| | | <div class="table-box"> |
| | | <el-table |
| | | ref="multipleTable" |
| | | :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="commisionTable" |
| | | @selection-change="handleSelectionChange" |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | min-width="10%" |
| | | /> |
| | | <el-table-column |
| | | type="index" |
| | | label="序号" |
| | | min-width="10%" |
| | | /> |
| | | <el-table-column |
| | | prop="formTime" |
| | | label="来料日期" |
| | | min-width="10%" |
| | | /> |
| | | <el-table-column |
| | | prop="supplier" |
| | | label="供应商名称" |
| | | min-width="12%" |
| | | /> |
| | | <el-table-column |
| | | prop="mcode" |
| | | label="材料编码" |
| | | min-width="8%" |
| | | /> |
| | | <el-table-column |
| | | prop="specifications" |
| | | label="规格型号" |
| | | min-width="8%" |
| | | /> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="单位" |
| | | min-width="12%" |
| | | /> |
| | | <el-table-column |
| | | prop="num" |
| | | label="数量" |
| | | min-width="8%" |
| | | /> |
| | | <el-table-column |
| | | prop="checkdate_" |
| | | label="检验日期" |
| | | min-width="8%" |
| | | /> |
| | | </el-table> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="commisionVisible = false">取 消</el-button> |
| | | <el-button type="primary" @click="handleCommisionSelection">确 定</el-button> |
| | | </span> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | <template v-else> |
| | | <router-view /> |
| | | |
| | | </template> |
| | | </div> |
| | | </template> |
| | | |
| | | |
| | | <script> |
| | | import { getInspectionList } from '@/api/rawMaterials/reportForInspection' |
| | | import { selectInspectsList, selectAll, addInspect} from '@/api/experiment/planAssignments' |
| | | export default { |
| | | data() { |
| | | return { |
| | | showDetail: false, |
| | | searchData: { |
| | | keyword: '' |
| | | applicationnumber: '', |
| | | type: '', |
| | | state: '', |
| | | }, |
| | | inspectionTable: [{ |
| | | applicationnum: 'QC22-09155', |
| | | checktype: '原材料检验', |
| | | checkstate: '1', |
| | | deliverydate: '2023-07-31', |
| | | provider: '国网山东省电力有限公司', |
| | | rawcode: '1010010090124', |
| | | rawname: '铝包钢绞线', |
| | | modelandspecification: 'JLHA1/G1A-185/30-27/7', |
| | | unit: 'ml/kg', |
| | | amount: '1999', |
| | | registrationdate: '2022-09-23', |
| | | registrator: '李小龙', |
| | | qualified: '0', |
| | | applier: '李小龙', |
| | | checker: '李小龙', |
| | | checktime: '2023-12-09' |
| | | icode:'', |
| | | inspectionTable: [], |
| | | rawMaterialTable: [], |
| | | commisionTable: [{ |
| | | specifications_models: "GGXH-AAAAA", |
| | | inspectionTime: "2023-08-03", |
| | | id: 2, |
| | | samples_number: 0, |
| | | dateSurvey: "2023-08-03", |
| | | entrusted: "阿里巴巴", |
| | | completionDeadline: "2023-08-03", |
| | | contacts: "小黑", |
| | | entrust_coding: "SL20230803000003", |
| | | sample_name: "发动机", |
| | | inspection_status: 1 |
| | | },{ |
| | | applicationnum: 'QC22-09155', |
| | | checktype: '原材料检验', |
| | | checkstate: '1', |
| | | deliverydate: '2023-07-31', |
| | | provider: '国网山东省电力有限公司', |
| | | rawcode: '1010010090124', |
| | | rawname: '铝包钢绞线', |
| | | modelandspecification: 'JLHA1/G1A-185/30-27/7', |
| | | unit: 'ml/kg', |
| | | amount: '1999', |
| | | registrationdate: '2022-09-23', |
| | | registrator: '李小龙', |
| | | qualified: '0', |
| | | applier: '李小龙', |
| | | checker: '李小龙', |
| | | checktime: '2023-12-09' |
| | | },{ |
| | | applicationnum: 'QC22-09155', |
| | | checktype: '原材料检验', |
| | | checkstate: '0', |
| | | deliverydate: '2023-07-31', |
| | | provider: '国网山东省电力有限公司', |
| | | rawcode: '1010010090124', |
| | | rawname: '铝包钢绞线', |
| | | modelandspecification: 'JLHA1/G1A-185/30-27/7', |
| | | unit: 'ml/kg', |
| | | amount: '1999', |
| | | registrationdate: '2022-09-23', |
| | | registrator: '李小龙', |
| | | qualified: null, |
| | | applier: '李小龙', |
| | | checker: '李小龙', |
| | | checktime: '2023-12-09' |
| | | },{ |
| | | applicationnum: 'QC22-09155', |
| | | checktype: '原材料检验', |
| | | checkstate: '1', |
| | | deliverydate: '2023-07-31', |
| | | provider: '国网山东省电力有限公司', |
| | | rawcode: '1010010090124', |
| | | rawname: '铝包钢绞线', |
| | | modelandspecification: 'JLHA1/G1A-185/30-27/7', |
| | | unit: 'ml/kg', |
| | | amount: '1999', |
| | | registrationdate: '2022-09-23', |
| | | registrator: '李小龙', |
| | | qualified: '1', |
| | | applier: '李小龙', |
| | | checker: '李小龙', |
| | | checktime: '2023-12-09' |
| | | specifications_models: "GGXH-AAAAA", |
| | | inspectionTime: "2023-08-03", |
| | | id: 2, |
| | | samples_number: 0, |
| | | dateSurvey: "2023-08-03", |
| | | entrusted: "阿里巴巴", |
| | | completionDeadline: "2023-08-03", |
| | | contacts: "小黑", |
| | | entrust_coding: "SL20230803000003", |
| | | sample_name: "发动机", |
| | | inspection_status: 1 |
| | | }], |
| | | infoForm:{ |
| | | finishedTable: { |
| | | deliverydate: '', |
| | | provider: '', |
| | | supplier: '', |
| | | code: '', |
| | | name: '', |
| | | modelandspecification: '', |
| | | unit: '', |
| | | amount: '', |
| | | checkdate: '' |
| | | checkdate: [] |
| | | }, |
| | | infoForm:'', |
| | | commisionSelection:{ |
| | | entrust_coding: '', |
| | | entrusted: '', |
| | | samples_number: '', |
| | | sample_name: '', |
| | | specifications_models: '', |
| | | dateSurvey: '', |
| | | completionDeadline: '', |
| | | contacts: '', |
| | | inspectionTime: '' |
| | | }, |
| | | typeoptions:[{ |
| | | value: 0, |
| | | label:'原材料检验' |
| | | },{ |
| | | value: 1, |
| | | label: '委托检验' |
| | | },{ |
| | | value: 2, |
| | | label: '成品检验' |
| | | }], |
| | | stateoptions:[{ |
| | | value: 0, |
| | | label:'不合格' |
| | | },{ |
| | | value: 1, |
| | | label:'合格' |
| | | }], |
| | | options:[{ |
| | | value: '0', |
| | | label: '选项1' |
| | | },{ |
| | | value:'1', |
| | | label: '选项2' |
| | | }], |
| | | currentPage: 1, |
| | | total: 20, // 总条数 |
| | | pageSize: 10, // 每页的数据条数 |
| | | pageSize: 8, // 每页的数据条数 |
| | | radioValue: '全部', |
| | | checkTypeVisible: false, |
| | | type: 0 |
| | | type: '', // 默认不选中的状态 |
| | | rawmaterialVisible: false, |
| | | commisionVisible: false, |
| | | tmp: '' |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | deep: true |
| | | } |
| | | }, |
| | | // beforeRouteEnter(to, from, next) { |
| | | // console.log(to, from) |
| | | // next() |
| | | // // 在渲染该组件的对应路由被 confirm 前调用 |
| | | // // 不!能!获取组件实例 `this` |
| | | // // 因为当钩子执行前,组件实例还没被创建 |
| | | // }, |
| | | // beforeRouteUpdate(to, from, next) { |
| | | // console.log(to, from) |
| | | // if (to.name === 'ForInspectionDetail') this.showDetail = true |
| | | // this.$nextTick(() => { |
| | | // console.log(1) |
| | | // this.showDetail = true |
| | | // }) |
| | | // next() |
| | | // // 在当前路由改变,但是该组件被复用时调用 |
| | | // // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候, |
| | | // // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。 |
| | | // // 可以访问组件实例 `this` |
| | | // }, |
| | | created() { |
| | | this.getInspectionTableData() |
| | | this.selectInspectsList() |
| | | }, |
| | | updated() { |
| | | if (this.$route.name === 'ForInspectionDetail') this.showDetail = true |
| | | }, |
| | | methods: { |
| | | async getInspectionTableData() { |
| | | const res = await getInspectionList({ pageSize: this.currentPage, countSize: this.pageSize }) |
| | | async handleClick(row){ |
| | | // console.log(item); |
| | | // const res = await ddd({goodId:id}) |
| | | // this.$message({ |
| | | // message: '恭喜你,这是一条成功消息', |
| | | // type: 'success' |
| | | // }); |
| | | |
| | | // console.log(res); |
| | | this.inspectionTable = row; |
| | | console.log(row.id); |
| | | this.id = row.id |
| | | this.$router.push({name:'Viewdetails',query: {id:row.id}}); |
| | | this.selectInspectsList() |
| | | }, |
| | | async selectInspectsList() { |
| | | // 获取分页列表 |
| | | const res = await selectInspectsList({ countSize: this.pageSize, pageSize: this.currentPage,message:this.id}) |
| | | // this.inspectionTable = data |
| | | console.log(res) |
| | | // console.log(res.data.row) |
| | | const data = res.data.row |
| | | data.forEach((item) => { |
| | | var formTime = item["DATE_FORMAT(`form_time`,'%Y-%m-%d')"] |
| | | var startTime = item["DATE_FORMAT(i"]["`start_time`,'%Y-%m-%d')"] |
| | | var endTime = item["DATE_FORMAT(i"]["`end_time`,'%Y-%m-%d')"] |
| | | var checkdate = startTime + '~' + endTime |
| | | var createTime = item["DATE_FORMAT(i"]["`create_time`,'%Y-%m-%d')"] |
| | | item['formTime'] = formTime // 来料日期 |
| | | item['checkdate'] = checkdate // 检验日期 |
| | | item['createTime'] = createTime // 登记日期 |
| | | }) |
| | | this.inspectionTable = data |
| | | this.total = res.data.total |
| | | }, |
| | | goToForInspectionDetail() { |
| | | this.$router.push('/rawMaterials/reportForInspection/forInspectionDetail') |
| | | }, |
| | | handleClick(row) { |
| | | console.log(row) |
| | | }, |
| | | async searchInspections(){ |
| | | const res = await selectInspectsList({countSize:this.pageSize,pageSize:this.currentPage,message:this.searchData.applicationnumber}) |
| | | var data = res.data.row |
| | | data.forEach((item) => { |
| | | var formTime = item["DATE_FORMAT(`form_time`,'%Y-%m-%d')"] |
| | | var startTime = item["DATE_FORMAT(i"]["`start_time`,'%Y-%m-%d')"] |
| | | var endTime = item["DATE_FORMAT(i"]["`end_time`,'%Y-%m-%d')"] |
| | | var checkdate = startTime + '~' + endTime |
| | | var createTime = item["DATE_FORMAT(i"]["`create_time`,'%Y-%m-%d')"] |
| | | item['formTime'] = formTime // 来料日期 |
| | | item['checkdate'] = checkdate // 检验日期 |
| | | item['createTime'] = createTime // 登记日期 |
| | | }) |
| | | console.log('data:',data) |
| | | this.inspectionTable = data |
| | | if(this.searchData.type !== ''){ |
| | | if(this.searchData.state !== ''){ |
| | | this.inspectionTable = data.filter((item)=>{ |
| | | return item.type===this.searchData.type && item.inspection_status === this.searchData.state |
| | | }) |
| | | }else{ |
| | | this.inspectionTable = data.filter((item)=>{ |
| | | return item.type===this.searchData.type |
| | | }) |
| | | } |
| | | }else{ |
| | | if(this.searchData.state !== ''){ |
| | | this.inspectionTable = data.filter((item)=>{ |
| | | return item.inspection_status===this.searchData.state |
| | | }) |
| | | } |
| | | } |
| | | this.total = this.inspectionTable.length |
| | | }, |
| | | reset(){ |
| | | this.countSize = 1; |
| | | this.pageSize = 8; |
| | | this.searchData = { }; |
| | | this.selectInspectsList(); |
| | | }, |
| | | //被选中的信息 单选 |
| | | handleSelectionChange(val) { |
| | | if (val.length > 1) { |
| | | this.$refs.multipleTable.clearSelection(); |
| | | this.$refs.multipleTable.toggleRowSelection(val.pop()) |
| | | } |
| | | this.tmp = val[0] |
| | | }, |
| | | handleCommisionSelection(){ |
| | | this.commisionSelection = this.tmp |
| | | this.commisionVisible = false |
| | | }, |
| | | handleRawMaterialSelection(){ |
| | | this.infoForm = this.tmp |
| | | this.rawmaterialVisible = false |
| | | }, |
| | | async handleRadioChange(){ |
| | | if(this.type === 0){ |
| | | // 原材料报检 |
| | | // this.rawmaterialVisible = true |
| | | // const res = await selectAll({type: this.type}) |
| | | // var data = res.data |
| | | // data.forEach((item)=>{ |
| | | // var checkdate = [] |
| | | // checkdate.push(item['createTime']) |
| | | // checkdate.push(item['updateTime']) |
| | | // item['checkdate'] = checkdate // 检验日期 |
| | | // }) |
| | | this.$router.push({ name: 'ReportForInspection' }); |
| | | }else if(this.type === 1){ |
| | | // this.commisionVisible = true |
| | | // const res = await selectAll({type: this.type}) |
| | | // var data = res.data |
| | | // data.forEach((item)=>{ |
| | | // var checkdate = [] |
| | | // checkdate.push(item['startTime']) |
| | | // checkdate.push(item['endTime']) |
| | | // item['checkdate_'] = item['startTime'] + '~' + item['endTime'] |
| | | // item['checkdate'] = checkdate // 检验日期 |
| | | // }) |
| | | // this.commisionTable = res.data |
| | | this.$router.push({ name: 'CommissionInspection' }); |
| | | } |
| | | }, |
| | | // 新增检验 |
| | | async addInspection(){ |
| | | if(this.type === 0){ |
| | | await addInspect({endTime: this.infoForm.checkdate[1], |
| | | formTime: this.infoForm.dateSurvey, |
| | | mcode: this.infoForm.materialCoding, |
| | | name: this.infoForm.materialName, |
| | | num: this.infoForm.quantity, |
| | | specifications: this.infoForm.specificationsModels, |
| | | startTime: this.infoForm.checkdate[0] , |
| | | supplier: this.infoForm.supplierName, |
| | | type: this.type, |
| | | unit: this.infoForm.unit}) |
| | | } |
| | | if(this.type === 1){ |
| | | console.log(this.commisionSelection) |
| | | const res = await addInspect({endTime: this.commisionSelection.checkdate[1], |
| | | formTime: this.commisionSelection.formTime, |
| | | mcode: this.commisionSelection.mcode, |
| | | name: this.commisionSelection.name, |
| | | num: this.commisionSelection.num, |
| | | specifications: this.commisionSelection.specifications, |
| | | startTime: this.commisionSelection.checkdate[0] , |
| | | supplier: this.commisionSelection.supplier, |
| | | type: this.type, |
| | | unit: this.commisionSelection.unit}) |
| | | console.log('res',res) |
| | | } |
| | | if(this.type === 2){ |
| | | console.log(this.finishedTable) |
| | | const res = await addInspect({ endTime: '2023-08-15', |
| | | formTime: this.finishedTable.deliverydate, |
| | | mcode: this.finishedTable.code, |
| | | name: this.finishedTable.name, |
| | | num: parseInt(this.finishedTable.amount), |
| | | specifications: this.finishedTable.modelandspecification, |
| | | startTime: '2023-08-14', |
| | | supplier: this.finishedTable.supplier, |
| | | type: this.type, |
| | | unit: this.finishedTable.unit }) |
| | | } |
| | | this.type = '' |
| | | this.checkTypeVisible = false |
| | | this.$message({ |
| | | message: '添加成功!', |
| | | type: 'success' |
| | | }); |
| | | }, |
| | | // 每页条数改变时触发 选择一页显示多少行 |
| | | handleSizeChange(val) { |
| | | console.log(`每页 ${val} 条`) |
| | | this.currentPage = 1 |
| | | // this.currentPage = 1 |
| | | this.pageSize = val |
| | | this.selectInspectsList() |
| | | }, |
| | | // 当前页改变时触发 跳转其他页 |
| | | handleCurrentChange(val) { |
| | | console.log(`当前页: ${val}`) |
| | | this.currentPage = val |
| | | this.selectInspectsList() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | |
| | | <style lang="scss" scoped> |
| | | .checkType{ |
| | | .check-box{ |
| | |
| | | border-color: #b3d8ff; |
| | | ::v-deep .el-radio__label{ |
| | | color: #333 !important; |
| | | |
| | | |
| | | } |
| | | } |
| | | height: auto; |
| | |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | } |
| | | |
| | | |
| | | .getDataBtn, .createBtn { |
| | | margin-left: 10px; /* Optional: Add some space between the buttons */ |
| | | } |
| | | .library-table{ |
| | | background-color: #fff; |
| | | flex: 1; |
| | | max-width: 100%; |
| | | margin-left: -15px; |
| | | margin-right: -15px; |
| | | margin-top: 50px; |
| | |
| | | flex-direction: column; |
| | | .el-table { |
| | | flex: 1; |
| | | .tag{ |
| | | width: 80px; |
| | | } |
| | | } |
| | | >div:nth-child(2){ |
| | | display: flex; |
| | |
| | | } |
| | | } |
| | | } |
| | | .infoForm{ |
| | | .checkTypeForm{ |
| | | margin-top: 30px; |
| | | margin-left: 50px; |
| | | .el-row{ |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | .pagination{ |
| | | display: flex; |
| | | margin-top: 20px; |
| | | justify-content: end; |
| | | } |
| | | .dialog-footer{ |
| | | display: flex; |
| | | margin-top: 20px; |
| | | justify-content: end; |
| | | } |
| | | </style> |
| | | |