From 1bf53722c9bbab6d0a561de40f0efbe3acf1f88d Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期三, 30 八月 2023 09:36:06 +0800
Subject: [PATCH] modified: src/api/inspection/commisioninspection.js
---
src/views/inspectionManagement/reportForInspection/index.vue | 438 +++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 350 insertions(+), 88 deletions(-)
diff --git a/src/views/inspectionManagement/reportForInspection/index.vue b/src/views/inspectionManagement/reportForInspection/index.vue
index 84cdfb4..292601a 100644
--- a/src/views/inspectionManagement/reportForInspection/index.vue
+++ b/src/views/inspectionManagement/reportForInspection/index.vue
@@ -1,8 +1,9 @@
<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="鏉愭枡缂栫爜:" class="sermargin">
+ <el-form-item label="鏉愭枡缂栫爜:" position="left" class="sermargin">
<el-input
v-model="searchData.code"
class="input-form"
@@ -37,23 +38,46 @@
</el-input>
</el-form-item>
<el-form-item>
- <el-button type="primary">鏌ヨ</el-button>
- <el-button type="primary" plain>閲嶇疆</el-button>
+ <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">
- <el-radio-button label="鍏ㄩ儴" />
- <el-radio-button label="寰呮楠�" />
- <el-radio-button label="宸叉楠�" />
+ <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 type="primary" size="mini" icon="el-icon-document" style="background-color: rgb(1, 102, 226);">鐢熸垚鎶ユ鍗�</el-button>
+ <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
@@ -63,39 +87,40 @@
: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"
- label=""
- min-width="10%"
- />
+ :selectable="checkSelect"
+ min-width="5%">
+ </el-table-column>
<el-table-column
type="index"
label="搴忓彿"
min-width="8%"
/>
<el-table-column
- prop="date"
+ prop="createTime"
label="鏉ユ枡鏃ユ湡"
min-width="8%"
/>
<el-table-column
- prop="providerName"
+ prop="supplierName"
label="渚涘簲鍟嗗悕绉�"
min-width="12%"
/>
<el-table-column
- prop="code"
+ prop="materialCoding"
label="鏉愭枡缂栫爜"
min-width="8%"
/>
<el-table-column
- prop="name"
+ prop="materialName"
label="鏉愭枡鍚嶇О"
min-width="8%"
/>
<el-table-column
- prop="modelandspecification"
+ prop="specificationsModels"
label="瑙勬牸鍨嬪彿"
min-width="12%"
/>
@@ -105,35 +130,42 @@
min-width="5%"
/>
<el-table-column
- prop="amount"
+ prop="quantity"
label="鏁伴噺"
min-width="5%"
/>
<el-table-column
- prop="commisiondate"
+ prop="inspectionDate"
label="鎶ユ鏃ユ湡"
min-width="8%"
/>
<el-table-column
- prop="person"
+ prop="surveyor"
label="妫�楠屼汉"
min-width="8%"
/>
<el-table-column
- prop="checkdate"
+ prop="dateSurvey"
label="妫�楠屾棩鏈�"
min-width="8%"
/>
<el-table-column
- prop="state"
+ prop="type"
label="鐘舵��"
min-width="8%"
>
<template slot-scope="scope">
- <span :style="{ color: scope.row.state === '宸叉娴�' ? 'green' : 'red' }">
- {{ scope.row.state }}
+ <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>
<!-- 鍒嗛〉鍣� -->
@@ -142,21 +174,126 @@
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
- :page-sizes="[100, 200, 300, 400]"
- :page-size="100"
+ :page-sizes="[5, 10, 15, 20]"
+ :page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
- :total="400">
+ :total="total">
</el-pagination>
</div>
</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>
</template>
<script>
+import { getRawMaterialList,addInspect,selectInspectsListById } from '@/api/inspection/rawmaterial'
export default {
data() {
return {
+ insertData:{
+
+ },
+ addReportVisible: false,
+ checked: false,
+ resultData : {},
+ checkData:[],
form: [],
searchData: {
code: '',
@@ -165,92 +302,191 @@
date: ''
},
options: [{
- value: '1',
- label: '閮ㄩ棬1'
+ value: 0,
+ label: '鍏ㄩ儴'
}, {
- value: '2',
- label: '閮ㄩ棬2'
+ value: 1,
+ label: '宸叉楠�'
}, {
- value: '3',
- label: '閮ㄩ棬3'
+ value: 2,
+ label: '寰呮楠�'
}],
- radioValue: '',
+ 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: [{
- date: '2023-07-28',
- providerName: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
- code: 'BP214274',
- name: '閾濆寘閽㈢粸绾�',
- modelandspecification: 'JLHA/G1A-185/30-26/7',
+ createTime: '2023-07-28',
+ supplier_name: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
+ materialCoding: 'BP214274',
+ materialName: '閾濆寘閽㈢粸绾�',
+ specificationsModels: 'JLHA/G1A-185/30-26/7',
unit: '鍚�',
- amount: '21',
- commisiondate: '2023-08-02',
- person: '榛勫皬鏄�',
- checkdate: '2023-12-09',
- state: '宸叉娴�'
- }, {
- date: '2023-07-28',
- providerName: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
- code: 'BP214274',
- name: '閾濆寘閽㈢粸绾�',
- modelandspecification: 'JLHA/G1A-185/30-26/7',
- unit: '鍚�',
- amount: '21',
- commisiondate: '2023-08-02',
- person: '榛勫皬鏄�',
- checkdate: '2023-12-09',
- state: '寰呮娴�'
- }, {
- date: '2023-07-28',
- providerName: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
- code: 'BP214274',
- name: '閾濆寘閽㈢粸绾�',
- modelandspecification: 'JLHA/G1A-185/30-26/7',
- unit: '鍚�',
- amount: '21',
- commisiondate: '2023-08-02',
- person: '榛勫皬鏄�',
- checkdate: '2023-12-09',
- state: '宸叉娴�'
- }, {
- date: '2023-07-28',
- providerName: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
- code: 'BP214274',
- name: '閾濆寘閽㈢粸绾�',
- modelandspecification: 'JLHA/G1A-185/30-26/7',
- unit: '鍚�',
- amount: '21',
- commisiondate: '2023-08-02',
- person: '榛勫皬鏄�',
- checkdate: '2023-12-09',
- state: '寰呮娴�'
+ quantity: 21,
+ dateSurvey: '2023-08-02',
+ surveyor: '榛勫皬鏄�',
+ inspectionDate: '2023-12-09',
+ condition: 1
}],
- currentPage: 0
+ 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;
+ console.log(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 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) {
- console.log(`姣忛〉 ${val} 鏉)
- this.currentPage = 1
this.pageSize = val
+ this.getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize})
},
// 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
handleCurrentChange(val) {
- console.log(`褰撳墠椤�: ${val}`)
this.currentPage = val
+ this.getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize})
}
}
}
</script>
-<style scoped>
-
-.top-bar{
+<style scoped lang="scss">
+.content-main{
+ height: 100%;
+ .top-bar{
margin: -25px -15px;
background: #fff;
display: flex;
justify-content: space-between;
- padding: 5px 24px 0px 24px;
+ padding: 24px 24px 0px 24px;
.sermargin{
margin-right: 60px;
}
@@ -299,4 +535,30 @@
color: red;
}
+.newPage{
+ margin: -25px -15px;
+ .inspectionForm{
+ background-color:#fff;
+ .formwrapper{
+ margin-left: 80px;
+ padding:10px 0px;
+ }
+ }
+ .inspectionProject{
+ margin:10px 0px;
+ .header{
+ display:flex;
+ justify-content: space-between;
+ padding-top: -3px;
+ padding-bottom: 3px;
+ }
+ .el-table{
+ padding: 10px 10px;
+ height: 65vh;
+ overflow-y: auto;
+ }
+ }
+}
+}
+
</style>
--
Gitblit v1.9.3