From 515551aa5a55d5959ffebc988f2bcc222cd5205d Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期四, 31 八月 2023 08:56:22 +0800
Subject: [PATCH] bug修复
---
.env.development | 2
src/views/inspectionManagement/reportForInspection/index.vue | 1201 +++++++++++++++++++++++++++++----------------------------
src/api/inspection/rawmaterial.js | 16
3 files changed, 626 insertions(+), 593 deletions(-)
diff --git a/.env.development b/.env.development
index d00c942..ab9be2d 100644
--- a/.env.development
+++ b/.env.development
@@ -2,4 +2,4 @@
ENV = 'development'
# base api
-VUE_APP_BASE_API = 'http://192.168.110.107:1234/'
+VUE_APP_BASE_API = 'http://localhost:1234/'
diff --git a/src/api/inspection/rawmaterial.js b/src/api/inspection/rawmaterial.js
index 2ba90cf..2bbf039 100644
--- a/src/api/inspection/rawmaterial.js
+++ b/src/api/inspection/rawmaterial.js
@@ -61,4 +61,20 @@
method: 'post',
data
})
+}
+
+export function getMaterielName(data){
+ return request({
+ url: '/raw-material/getMaterielName',
+ method: 'get',
+ data
+ })
+}
+
+export function getSpecification(params){
+ return request({
+ url: '/raw-material/specification',
+ method: 'get',
+ params
+ })
}
\ No newline at end of file
diff --git a/src/views/inspectionManagement/reportForInspection/index.vue b/src/views/inspectionManagement/reportForInspection/index.vue
index 09a6b65..dbc9c18 100644
--- a/src/views/inspectionManagement/reportForInspection/index.vue
+++ b/src/views/inspectionManagement/reportForInspection/index.vue
@@ -1,604 +1,621 @@
<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" :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 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 ref="addMaterialForm" :rules="insertRule" :model="insertData" :inline="true" label-position="right"
+ label-width="80px">
+ <el-form-item label="鏉ユ枡鏃ユ湡:" prop="fromDate">
+ <el-date-picker v-model="insertData.fromDate" type="date" value-format="yyyy-MM-dd"></el-date-picker>
+ </el-form-item>
+ <el-form-item label="渚涜揣鍟嗗悕绉�:" prop="supplierName">
+ <el-input v-model="insertData.supplierName" />
+ </el-form-item>
+ <el-form-item label="鏉愭枡鍚嶇О:" prop="mName">
+ <el-select v-model="insertData.mName" placeholder="璇烽�夋嫨鏉愭枡鍚嶇О" @change="(val)=>{getSpecification(val)}">
+ <el-option v-for="(item,index) in materialList" :key="index" :label="item.name"
+ :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鏉愭枡缂栫爜:" prop="mCode">
+ <el-input disabled v-model="insertData.mCode" />
+ </el-form-item>
+ <el-form-item label="瑙勬牸鍨嬪彿:" prop="specificationsNumber">
+ <el-cascader v-model="insertData.specificationsNumber" :options="childrenOptions"
+ :props="{label: 'Name', value: 'Name'}" separator="-"></el-cascader>
+ </el-form-item>
+ <el-form-item label="鍗曚綅:" prop="unit">
+ <el-input type="text" v-model="insertData.unit" />
+ </el-form-item>
+ <el-form-item label="鏁伴噺:" prop="num">
+ <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="600" :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="[10, 15, 20,30]" :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 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>
+ <!-- 鐢熸垚鎶ユ鍗� -->
+ <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,
- 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(){
+ import {
+ getRawMaterialList,
+ addInspect,
+ selectInspectsListById,
+ selectUser,
+ selectEquipment,
+ deleteMaterial,
+ addMaterial,
+ getMaterielName,
+ getSpecification
+ } 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: 10,
+ total: 20,
+ data: '',
+ showNewPage: false,
+ inspectionForm: {},
+ inspectionItems: [{
+ index: 1,
+ name: "aaa",
+ unit: "KB",
+ required: "1",
+ internal: "2",
+ testValue: "3",
+ userName: "",
+ device: ""
+ }],
+ insertRule: {
+ fromDate: [{
+ required: true,
+ message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�',
+ trigger: 'blur'
+ }],
+ supplierName: [{
+ required: true,
+ message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�',
+ trigger: 'blur'
+ }],
+ mName: [{
+ required: true,
+ message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�',
+ trigger: 'blur'
+ }],
+ mCode: [{
+ required: true,
+ message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�',
+ trigger: 'blur'
+ }],
+ specificationsNumber: [{
+ required: true,
+ message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�',
+ trigger: 'blur'
+ }],
+ unit: [{
+ required: true,
+ message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�',
+ trigger: 'blur'
+ }],
+ num: [{
+ required: true,
+ message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�',
+ trigger: 'blur'
+ }]
+ },
+ materialList: []
+ }
+ },
+ created() {
+ this.getRawMaterialList()
+ },
+ mounted() {
+ this.getMaterielName()
+ },
+ methods: {
+ handleChange() {
- },
- 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 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({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){
+ },
+ // 鑾峰彇鍒嗛〉鍒楄〃鏁版嵁
+ 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(){
+ }
+ },
+ getAllTableData() {
+ this.getRawMaterialList()
+ },
+ getCheckData() {
- },
- getUnCheckData(){
+ },
+ 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})
- }
- }
-}
+ },
+ // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
+ 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
+ })
+ },
+ insert() {
+ this.$refs['addMaterialForm'].validate((valid) => {
+ if (valid) {
+ var str = {
+ "dateSurvey": this.insertData.fromDate,
+ "materialCoding": this.insertData.mCode,
+ "materialName": this.insertData.mName,
+ "quantity": this.insertData.num,
+ "specificationsModels": this.insertData.specificationsNumber[0] + '-' + this.insertData
+ .specificationsNumber[1],
+ "supplierName": this.insertData.supplierName,
+ "type": 0,
+ "unit": this.insertData.unit
+ }
+ this.materialList.forEach(a => {
+ if (a.id == str.materialName) {
+ str.materialName = a.name
+ }
+ })
+ addMaterial(str).then(res => {
+ this.$message.success('娣诲姞鎴愬姛')
+ this.addReportVisible = false
+ this.getRawMaterialList()
+ })
+ } else {
+ return false;
+ }
+ });
+ },
+ getMaterielName() {
+ getMaterielName().then(res => {
+ this.materialList = res.data
+ })
+ },
+ getSpecification(val) {
+ this.materialList.forEach(a => {
+ if (a.id == val) {
+ this.insertData.mCode = a.code
+ }
+ })
+ getSpecification({
+ materialId: val
+ }).then(res => {
+ this.childrenOptions = JSON.parse(JSON.stringify(res.data).replaceAll('specifications', '').replaceAll(
+ 'model', ''))
+ })
+ }
+ }
+ }
</script>
<style scoped lang="scss">
@@ -698,4 +715,4 @@
}
}
}
-</style>
+</style>
\ No newline at end of file
--
Gitblit v1.9.3