From 4fa97f6b365035a1f811833b54ada53a9a1a35da Mon Sep 17 00:00:00 2001
From: 王震 <10952869+daywangzhen@user.noreply.gitee.com>
Date: 星期五, 08 九月 2023 16:45:48 +0800
Subject: [PATCH] 设备维护,标准Bom
---
src/components/view/rawInsDetail.vue | 840 ++++++++++++++++++++++++++++++-----------------------------
1 files changed, 427 insertions(+), 413 deletions(-)
diff --git a/src/components/view/rawInsDetail.vue b/src/components/view/rawInsDetail.vue
index cfb744d..cd05798 100644
--- a/src/components/view/rawInsDetail.vue
+++ b/src/components/view/rawInsDetail.vue
@@ -1,290 +1,220 @@
-<style scoped>
- .rawInsBox{
- height: 100%;
- width: 100%;
- overflow-y: scroll;
- display: flex;
- flex-direction: column;
- }
- .rawInsBox .title .el-button {
- height: 32px;
- border: 1px solid rgba(190, 190, 190, 0.44);
- box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
- padding: 0 12px;
- }
- .rawInsBox .title {
- margin-bottom: 10px;
- padding: 0 20px;
- }
- /* 妫�楠岃鎯� */
- .raw-detail-info{
- background: #fff;
- padding: 26px 0px 11px 80px;
- }
- .raw-detail-info >>>.el-form-item__label{
-
- color: rgb(51, 51, 51);
- font-family: 寰蒋闆呴粦;
- font-size: 16px;
- font-weight: 400;
- letter-spacing: 0px;
- }
- .raw-detail-info .el-input{
- width: auto;
- }
- .raw-detail-info.raw-detail-info-edit >>>.el-input__inner{
- background:#fff;
- }
- .raw-detail-info >>>.el-input__inner{
- width: 224px;
- height: 32px;
- box-sizing: border-box;
- background: rgb(238, 238, 238);
- border: 1px solid rgb(221, 221, 221);
- border-radius:4px;
- }
- .raw-detail-info .el-form-item{
- margin-bottom: 24px;
- }
- .raw-detail-info .el-form-item .el-button {
- height: 32px;
- border: 1px solid rgba(190, 190, 190, 0.44);
- box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
- padding: 0 12px;
- }
-
- /* 妫�楠岄」鐩� */
- .raw-project-table{
- padding: 24px 14px;
- background: #fff;
- flex: 1;
- /* max-height: 360px; */
- /* overflow-y: hidden; */
- }
- /* 妫�楠岀粨璁� */
- .raw-conclusion-table{
- padding: 9px 14px;
- background: #fff;
- }
-</style>
-
-
<template>
<div class="rawInsBox">
<div class="title">
<el-row>
<el-col :span="12" style="line-height: 32px;">鍘熸潗鏂欐楠�</el-col>
<el-col :span="12" style="text-align: right;">
- <el-button icon="el-icon-download" @click="()=>{goBack()}">杩� 鍥�</el-button>
+ <el-button
+ icon="el-icon-circle-plus-outline"
+ v-show="detailId === null"
+ @click="addNewRawInspect"
+ style="background-color: #004ea2; color: #ffffff;"
+ >鎻� 浜�</el-button
+ >
+ <el-button
+ icon="el-icon-download"
+ @click="
+ () => {
+ goBack();
+ }
+ "
+ >杩� 鍥�</el-button
+ >
</el-col>
</el-row>
</div>
- <div class="raw-detail-info" :class="detailId===null?'raw-detail-info-edit':''">
- <el-form v-model="detailInfo" label-position="right" label-width="120px" >
- <el-row>
- <el-col :span="7">
- <el-form-item label="鍘熸潗鏂欏悕绉�:">
- <el-input v-if="detailId!==null" :disabled="detailId!==null" v-model="detailInfo.name"></el-input>
- <el-select @change="checkRawName" v-else placeholder="璇烽�夋嫨椤圭洰鍚嶇О" v-model="detailInfo.name">
- <el-option v-for="item in materialOptions" :key="item.id" :label="item.name" :value="item.name"></el-option>
- </el-select>
- </el-form-item>
-
- </el-col>
- <el-col :span="7">
- <el-form-item label="瑙勬牸鍨嬪彿:">
- <el-input v-if="detailId!==null" :disabled="detailId!==null" v-model="detailInfo.specifications"></el-input>
- <el-cascader
- placeholder="璇烽�夋嫨瑙勬牸鍨嬪彿"
- v-else
- :disabled="specificationOptions.length===0"
- :props="{label:'name',value:'name'}"
- v-model="detailInfo.specificationsArr"
- :options="specificationOptions"
- ></el-cascader>
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="鍘熸潗鏂欑紪鐮�:">
- <el-input disabled v-model="detailInfo.code"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="7">
- <el-form-item label="鏉ユ枡鏃ユ湡:">
- <el-input v-if="detailId!==null" :disabled="detailId!==null" v-model="detailInfo.formTime"></el-input>
- <el-date-picker
- v-else
- type="date"
- value-format="yyyy-MM-dd"
- v-model="detailInfo.formTime"
- placeholder="閫夋嫨鏃ユ湡">
- </el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="鏁伴噺:">
- <el-input placeholder="璇疯緭鍏ユ楠屾暟閲�" :disabled="detailId!==null" v-model="detailInfo.number"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="鍗曚綅:">
- <el-input placeholder="璇疯緭鍏ユ楠屽崟浣�" :disabled="detailId!==null" v-model="detailInfo.unit"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="3">
- <el-form-item v-show="detailId===null" label="" label-width="100px">
- <el-button @click="addNewRawInspect">淇濆瓨鎻愪氦</el-button>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
-
- <el-col :span="7">
- <el-form-item v-show="detailId!==null" label="鎶ユ鏃ユ湡:">
- <el-input :disabled="detailId!==null" v-model="detailInfo.createTime"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="14">
- <el-form-item v-show="detailId!==null" label="鎶ユ浜�:">
- <el-input :disabled="detailId!==null" v-model="detailInfo.userName"></el-input>
- </el-form-item>
- </el-col>
-
- </el-row>
- </el-form>
- <!-- <el-form v-show="detailId ===null" v-model="rawInsParams" label-position="right" label-width="120px" >
- <el-row>
- <el-col :span="7">
- <el-form-item label="璁㈠崟鍙�:">
- <el-input placeholder="璇疯緭鍏ヨ鍗曞彿" v-model="rawInsParams.orderNumber"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="瀹㈡埛鍚嶇О:">
- <el-input placeholder="璇疯緭鍏ュ鎴峰悕绉�" v-model="rawInsParams.customerName"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="宸ョ▼鍚嶇О:">
- <el-input placeholder="璇疯緭鍏ュ伐绋嬪悕绉�" v-model="rawInsParams.projectName"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="7">
- <el-form-item label="璐ㄩ噺杩芥函鍙�:">
- <el-input placeholder="璇疯緭鍏ヨ川閲忚拷婧彿" v-model="rawInsParams.qualityTraceability"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="椤圭洰鍚嶇О:">
- <el-select placeholder="璇疯緭鍏ラ」鐩悕绉�" v-model="rawInsParams.material">
- <el-option v-for="item in materialOptions" :key="item.id" :label="item.name" :value="item.name"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="浜у搧缂栫爜:">
- <el-input placeholder="浜у搧缂栫爜" disabled v-model="code"></el-input>
- </el-form-item>
- </el-col>
-
- </el-row>
- <el-row>
- <el-col :span="7">
- <el-form-item label="瑙勬牸鍨嬪彿:">
- <el-input v-model="detailInfo.specificationsModel"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="鍗曚綅:">
- <el-input placeholder="璇疯緭鍏ュ崟浣�" v-model="rawInsParams.unit"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="7">
- <el-form-item label="鏁伴噺">
- <el-input placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" v-model="rawInsParams.qualityTraceability"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="21">
- <el-form-item label="涓绘満宸�:">
- <el-input placeholder="璇疯緭鍏ヤ富鏈哄伐" v-model="rawInsParams.userId"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="3">
- <el-form-item label="" label-width="100px">
- <el-button @click="addNewRawInspect">淇濆瓨鎻愪氦</el-button>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form> -->
+ <div
+ class="raw-detail-info"
+ :class="detailId === null ? 'raw-detail-info-edit' : ''"
+ >
+ <el-form v-model="detailInfo" label-position="right" label-width="120px">
+ <el-row>
+ <el-col :span="7">
+ <el-form-item label="鏉ユ枡鏃ユ湡:">
+ <el-input
+ v-if="detailId !== null"
+ :disabled="detailId !== null"
+ v-model="detailInfo.formTime"
+ ></el-input>
+ <el-date-picker
+ v-else
+ type="date"
+ value-format="yyyy-MM-dd"
+ v-model="detailInfo.formTime"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item label="鍘熸潗鏂欏悕绉�:">
+ <el-input
+ v-if="detailId !== null"
+ :disabled="detailId !== null"
+ v-model="detailInfo.name"
+ ></el-input>
+ <el-input
+ v-else
+ v-model="detailInfo.name"
+ placeholder="璇疯緭鍏�"
+ ></el-input> </el-form-item
+ ></el-col>
+ <el-col :span="7">
+ <el-form-item label="鍘熸潗鏂欑紪鐮�:">
+ <el-input
+ :disabled="detailId !== null"
+ v-model="detailInfo.code"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="7">
+ <el-form-item label="瑙勬牸鍨嬪彿:">
+ <el-input
+ v-if="detailId !== null"
+ :disabled="detailId !== null"
+ v-model="detailInfo.specifications"
+ ></el-input>
+ <el-input
+ v-else
+ v-model="detailInfo.specificationsArr"
+ placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item label="鍗曚綅:">
+ <el-input
+ placeholder="璇疯緭鍏ユ楠屽崟浣�"
+ :disabled="detailId !== null"
+ v-model="detailInfo.unit"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item label="鏁伴噺:">
+ <el-input
+ placeholder="璇疯緭鍏ユ楠屾暟閲�"
+ :disabled="detailId !== null"
+ v-model="detailInfo.number"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="7">
+ <el-form-item label="渚涘簲鍟嗗悕绉�:">
+ <el-input
+ placeholder="璇疯緭鍏ユ楠屾暟閲�"
+ :disabled="detailId !== null"
+ v-model="detailInfo.number"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item v-show="detailId !== null" label="鎶ユ鏃ユ湡:">
+ <el-input
+ :disabled="detailId !== null"
+ v-model="detailInfo.createTime"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="7">
+ <el-form-item v-show="detailId !== null" label="鎶ユ浜�:">
+ <el-input
+ :disabled="detailId !== null"
+ v-model="detailInfo.userName"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
</div>
<div class="title">
<el-row>
<el-col :span="12" style="line-height: 32px;">妫�楠岄」鐩�</el-col>
+ <el-col :span="12" style="line-height: 32px; padding-top: 6px;">
+ <el-button v-if="detailId == null" style="float: right;"
+ >娣诲姞妫�楠屽�煎垪</el-button
+ >
+ <el-button
+ v-if="detailId == null"
+ style="float: right;margin-right: 30px;"
+ @click="clickAddLine()"
+ >娣诲姞妫�楠岃</el-button
+ >
+ </el-col>
</el-row>
</div>
<div class="raw-project-table">
- <el-table
- :data="projectTable"
- style="width: 100%"
- max-height="320"
+ <el-table :data="projectTable" style="width: 100%" height="320">
+ <el-table-column type="index" label="搴忓彿" width="100">
+ </el-table-column>
+ <el-table-column prop="name" label="椤圭洰" width="212">
+ <template scope="scope">
+ <el-input
+ v-model="scope.row.name"
+ placeholder="璇疯緭鍏ラ」鐩悕绉�"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="unit" label="鍗曚綅" width="148">
+ <template scope="scope">
+ <el-input
+ v-model="scope.row.unit"
+ placeholder="璇疯緭鍏ュ崟浣�"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="required" label="鏍囧噯" width="254">
+ <template scope="scope">
+ <el-input
+ v-model="scope.row.required"
+ placeholder="璇疯緭鍏ユ爣鍑嗗��"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="internal" label="鍐呮帶鍊�" width="254">
+ <template scope="scope">
+ <el-input
+ v-model="scope.row.internal"
+ placeholder="璇疯緭鍏ュ唴鎺у��"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="testValue" label="妫�鏌ュ��" width="254">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.testValue"
+ @blur="changeState(scope.row)"
+ placeholder="璇疯緭鍏ユ娴嬪��"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="deviceName" label="璇曢獙璁惧">
+ <el-button type="text">閫夋嫨</el-button>
+ </el-table-column>
+ <el-table-column prop="testState" label="缁撹">
+ <template slot-scope="scope">
+ <span
+ v-show="scope.row.testState != null"
+ :style="{
+ color: scope.row.testState === 1 ? '#67C23A' : '#F56C6C'
+ }"
+ >{{ scope.row.testState === 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}</span
>
- <el-table-column
- type="index"
- label="搴忓彿"
- width="100"
- >
- </el-table-column>
- <el-table-column
- prop="name"
- label="椤圭洰"
- width="212">
- </el-table-column>
- <el-table-column
- prop="unit"
- label="鍗曚綅"
- width="148">
- </el-table-column>
- <el-table-column
- prop="required"
- label="鏍囧噯"
- width="254">
- </el-table-column>
- <el-table-column
- prop="internal"
- label="鍐呮帶鍊�"
- width="291">
- </el-table-column>
- <el-table-column
- prop="testValue"
- label="妫�鏌ュ��"
- width="371">
- <template slot-scope="scope">
- <el-input v-model="scope.row.testValue" @blur="changeState(scope.row)"></el-input>
- </template>
- </el-table-column>
- <el-table-column
- prop="deviceName"
- label="璇曢獙璁惧"
- width="248"
- >
- </el-table-column>
- <el-table-column
- prop="testState"
- label="缁撹"
- width="98"
- >
- <template slot-scope="scope">
- <span v-show="scope.row.testState!=null" :style="{color: scope.row.testState===1?'#67C23A':'#F56C6C'}">{{scope.row.testState===1?'鍚堟牸':'涓嶅悎鏍�'}}</span>
- <span v-show="scope.row.testState==null">鏆傛湭缁撹</span>
- </template>
- </el-table-column>
- </el-table>
+ <span v-show="scope.row.testState == null">鏆傛湭缁撹</span>
+ </template>
+ </el-table-column>
+ <el-table-column v-if="detailId == null" label="鎿嶄綔" fixed="right">
+ <template scope="scope">
+ <el-button type="text" @click="clickDeleteline(scope)"
+ >鍒犻櫎</el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
</div>
<div class="title">
<el-row>
@@ -292,154 +222,238 @@
</el-row>
</div>
<div class="raw-conclusion-table">
- <el-table :data="conclusionTable">
- <el-table-column
- prop="code"
- label="鐗╂枡缂栧彿"
- width="353">
- </el-table-column>
- <el-table-column
- prop="name"
- label="鐗╂枡鍚嶇О"
- width="353">
- </el-table-column>
- <el-table-column
- prop="names"
- label="妫�楠屽憳"
- width="542">
- <template slot-scope="scope">
- <span v-for="item in scope.row.names" :key="item&&item.userName" :style="{marginRight:'8px'}">{{item}}</span>
- </template>
- </el-table-column>
- <el-table-column
- prop="testState"
- label="妫�楠岀粨璁�"
- width="362">
- <template slot-scope="scope">
- <span v-show="scope.row.testState!=null" :style="{color: scope.row.testState===1?'#67C23A':'#F56C6C'}">{{scope.row.testState===1?'鍚堟牸':'涓嶅悎鏍�'}}</span>
- <span v-show="scope.row.testState==null">鏆傛湭缁撹</span>
- </template>
- </el-table-column>
- <el-table-column
- label="鎿嶄綔"
- width="120">
- <template>
- <el-button type="text" size="small" @click.once="submitSave">涓婃姤</el-button>
- </template>
- </el-table-column>
- </el-table>
+ <el-table :data="conclusionTable" style="100%">
+ <el-table-column prop="code" label="鐗╂枡缂栧彿"> </el-table-column>
+ <el-table-column prop="name" label="鐗╂枡鍚嶇О"> </el-table-column>
+ <el-table-column prop="names" label="妫�楠屽憳">
+ <template slot-scope="scope">
+ <span
+ v-for="item in scope.row.names"
+ :key="item && item.userName"
+ :style="{ marginRight: '8px' }"
+ >{{ item }}</span
+ >
+ </template>
+ </el-table-column>
+ <el-table-column prop="testState" label="妫�楠岀粨璁�">
+ <template slot-scope="scope">
+ <span
+ v-show="scope.row.testState != null"
+ :style="{
+ color: scope.row.testState === 1 ? '#67C23A' : '#F56C6C'
+ }"
+ >{{ scope.row.testState === 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}</span
+ >
+ <span v-show="scope.row.testState == null">鏆傛湭缁撹</span>
+ </template>
+ </el-table-column>
+ <el-table-column v-if="detailId !== null" label="鎿嶄綔" width="120">
+ <template>
+ <el-button type="text" size="small" @click.once="submitSave"
+ >涓婃姤</el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
</div>
</div>
</template>
<script>
-import RawIns from './raw-ins.vue'
+import RawIns from "./raw-ins.vue";
export default {
- components:{RawIns},
- props:['goBack','detailId'],
- created(){
- // 娓呯┖
- this.detailInfo = {}
- if(this.detailId){
- console.log(this.detailId)
- this.getDetailInfo()
- }else{
- this.getOptions()
- }
- },
- mounted(){
- },
- computed:{
- conclusionTable(){
- // console.log(this.projectTable)
- // console.log(this.projectTable.map(item=>item.userName))
- const conclusion = {}
- conclusion.name = this.detailInfo.name
- conclusion.code = this.detailInfo.code
- conclusion.names= [...new Set(this.projectTable.map(item=>item.userName))]
- console.log(conclusion,this.projectTable)
- console.log(this.projectTable.filter(item=>item.testState===null).length)
- if(this.projectTable.filter(item=>item.testState===null).length===this.projectTable.length){
- conclusion.testState = null
- return [conclusion]
- }
- if(this.projectTable.filter(item=>item.testState===0).length>0){
- conclusion.testState= 0
- }else{
- conclusion.testState= 1
- }
- return [conclusion]
- },
- // 浜у搧缂栫爜
- // code(){
- // const material= this.materialOptions.filter(item=>item.name===this.rawInsParams.material)[0]
- // return material && material.code
- // }
- },
- data() {
- return {
- // 璇︽儏椤靛氨鏄鎯呬俊鎭�
- detailInfo:{},
- projectTable:[],
- // 鏂板缓妫�楠屽崟鍙傛暟瀵硅薄
- rawInsParams:{},
- // 椤圭洰鍚嶇Оoptions
- materialOptions:[],
- specificationOptions:[]
-
- }
- },
- methods:{
- // 鑾峰彇鎶ユ鍗曡鎯呬俊鎭�
- async getDetailInfo() {
- const {data} = await this.$axios.get(this.$api.url.selectRawInspectsListById+`${this.detailId}`,{params:{id:this.detailId}})
- this.detailInfo = data
- this.projectTable = data.rawInsProducts
- console.log(data)
- },
- // 鏂板妫�楠屽崟
- async addNewRawInspect() {
- this.detailInfo.specifications = this.detailInfo.specificationsArr.join("-")
- // const time = this.detailInfo.formTime
- // this.detailInfo.formTime = `${time.getFullYear()}-${time.getMonth() + 1 < 10 ? '0' + (time.getMonth() + 1) : time.getMonth() + 1}-${time.getDate() < 10 ? '0' + time.getDate() : time.getDate()}`
- const res = await this.$axios.post(this.$api.url.addRawInspects,{...this.detailInfo},{headers:{'Content-Type':'application/json'}})
- console.log(res)
- this.detailId = res.data
- this.getDetailInfo()
-
- this.$message.success('鎻愪氦鎴愬姛')
- },
- // 淇敼椤圭洰鐨勬娴嬪�兼敼鍙樼粨璁�
- async changeState(row){
- // console.log(row)
- const res = await this.$axios.post(this.$api.url.updaterawInsProduct,{...row},{headers:{'Content-Type':'application/json'}})
- this.$message.success('鎻愪氦鎴愬姛')
- this.getDetailInfo()//閲嶆柊鍒锋柊淇℃伅鏁版嵁
- },
- async submitSave() {
- const res = await this.$axios.post(this.$api.url.updateRawInspectsById+`${this.detailId}`)
- this.$message.success('鎻愪氦鎴愬姛')
- this.getDetailInfo()
- },
- async getOptions() {
- // const {data} = await this.$axios.get(this.$api.url.listMaterial)
- // this.materialOptions = data
- const {data} = await this.$axios.get(this.$api.url.selectRawMaterial)
- this.materialOptions = data
- console.log(this.materialOptions)
- },
- checkRawName(data) {
- console.log('閫夋嫨鍘熸潗鏂欏悕绉�',data)
- this.materialOptions.forEach(item=>{
- if(item.name===data){
- console.log(item.id)
- this.detailInfo.code = item.code
- this.$axios.get(this.$api.url.selectSpBySt,{params:{id:item.id}}).then(res=>{
- this.specificationOptions= res.data
- })
- }
- })
+ components: { RawIns },
+ props: ["goBack", "detailId"],
+ created() {
+ // 娓呯┖
+ this.detailInfo = {};
+ if (this.detailId) {
+ this.getDetailInfo();
+ } else {
+ this.getOptions();
+ }
+ },
+ mounted() {},
+ computed: {
+ conclusionTable() {
+ const conclusion = {};
+ conclusion.name = this.detailInfo.name;
+ conclusion.code = this.detailInfo.code;
+ conclusion.names = [
+ ...new Set(this.projectTable.map(item => item.userName))
+ ];
+ if (
+ this.projectTable.filter(item => item.testState === null).length ===
+ this.projectTable.length
+ ) {
+ conclusion.testState = null;
+ return [conclusion];
}
- }
-}
+ if (this.projectTable.filter(item => item.testState === 0).length > 0) {
+ conclusion.testState = 0;
+ } else {
+ conclusion.testState = 1;
+ }
+ return [conclusion];
+ }
+ },
+ data() {
+ return {
+ // 璇︽儏椤靛氨鏄鎯呬俊鎭�
+ detailInfo: {},
+ projectTable: [],
+ // 鏂板缓妫�楠屽崟鍙傛暟瀵硅薄
+ rawInsParams: {},
+ // 椤圭洰鍚嶇Оoptions
+ materialOptions: [],
+ specificationOptions: []
+ };
+ },
+ methods: {
+ // 鑾峰彇鎶ユ鍗曡鎯呬俊鎭�
+ async getDetailInfo() {
+ const { data } = await this.$axios.get(
+ this.$api.url.selectRawInspectsListById + `${this.detailId}`,
+ { params: { id: this.detailId } }
+ );
+ this.detailInfo = data;
+ this.projectTable = data.rawInsProducts;
+ },
+ // 鏂板妫�楠屽崟
+ async addNewRawInspect() {
+ this.detailInfo.specifications = this.detailInfo.specificationsArr.join(
+ "-"
+ );
+ // const time = this.detailInfo.formTime
+ // this.detailInfo.formTime = `${time.getFullYear()}-${time.getMonth() + 1 < 10 ? '0' + (time.getMonth() + 1) : time.getMonth() + 1}-${time.getDate() < 10 ? '0' + time.getDate() : time.getDate()}`
+ const res = await this.$axios.post(
+ this.$api.url.addRawInspects,
+ { ...this.detailInfo },
+ { headers: { "Content-Type": "application/json" } }
+ );
+ this.detailId = res.data;
+ this.getDetailInfo();
+
+ this.$message.success("鎻愪氦鎴愬姛");
+ },
+ // 淇敼椤圭洰鐨勬娴嬪�兼敼鍙樼粨璁�
+ async changeState(row) {
+ const res = await this.$axios.post(
+ this.$api.url.updaterawInsProduct,
+ { ...row },
+ { headers: { "Content-Type": "application/json" } }
+ );
+ this.$message.success("鎻愪氦鎴愬姛");
+ this.getDetailInfo(); //閲嶆柊鍒锋柊淇℃伅鏁版嵁
+ },
+ async submitSave() {
+ const res = await this.$axios.post(
+ this.$api.url.updateRawInspectsById + `${this.detailId}`
+ );
+ this.$message.success("鎻愪氦鎴愬姛");
+ this.getDetailInfo();
+ },
+ async getOptions() {
+ const { data } = await this.$axios.get(this.$api.url.selectDevice);
+ this.materialOptions = data;
+ },
+ checkRawName(data) {
+ this.materialOptions.forEach(item => {
+ if (item.name === data) {
+ this.detailInfo.code = item.code;
+ this.$axios
+ .get(this.$api.url.selectSpBySt, { params: { id: item.id } })
+ .then(res => {
+ this.specificationOptions = res.data;
+ });
+ }
+ });
+ },
+ // 娣诲姞琛�
+ clickAddLine() {
+ let obj = {
+ deviceId: 0,
+ internal: "",
+ name: "",
+ required: "",
+ testValue: "",
+ unit: ""
+ };
+ this.projectTable.push(obj);
+ },
+ // 鍒犻櫎琛�
+ clickDeleteline(scope) {
+ this.projectTable.splice(scope.$index, 1);
+ }
+ }
+};
</script>
+
+<style scoped>
+.rawInsBox {
+ height: 100%;
+ width: 100%;
+ overflow-y: scroll;
+ display: flex;
+ flex-direction: column;
+}
+.rawInsBox .title .el-button {
+ height: 32px;
+ border: 1px solid rgba(190, 190, 190, 0.44);
+ box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+ padding: 0 12px;
+}
+.rawInsBox .title {
+ margin-bottom: 10px;
+ padding: 0 20px;
+}
+/* 妫�楠岃鎯� */
+.raw-detail-info {
+ background: #fff;
+ padding: 26px 0px 11px 80px;
+}
+.raw-detail-info >>> .el-form-item__label {
+ color: rgb(51, 51, 51);
+ font-family: 寰蒋闆呴粦;
+ font-size: 16px;
+ font-weight: 400;
+ letter-spacing: 0px;
+}
+.raw-detail-info .el-input {
+ width: auto;
+}
+.raw-detail-info.raw-detail-info-edit >>> .el-input__inner {
+ background: #fff;
+}
+.raw-detail-info >>> .el-input__inner {
+ width: 224px;
+ height: 32px;
+ box-sizing: border-box;
+ background: rgb(238, 238, 238);
+ border: 1px solid rgb(221, 221, 221);
+ border-radius: 4px;
+}
+.raw-detail-info .el-form-item {
+ margin-bottom: 24px;
+}
+.raw-detail-info .el-form-item .el-button {
+ height: 32px;
+ border: 1px solid rgba(190, 190, 190, 0.44);
+ box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+ padding: 0 12px;
+}
+
+/* 妫�楠岄」鐩� */
+.raw-project-table {
+ padding: 24px 14px;
+ background: #fff;
+ flex: 1;
+ /* max-height: 360px; */
+ /* overflow-y: hidden; */
+}
+/* 妫�楠岀粨璁� */
+.raw-conclusion-table {
+ padding: 9px 14px;
+ background: #fff;
+}
+</style>
--
Gitblit v1.9.3