From 5702e02e6c31fd972d7a00042cce8ca4c4777166 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 14 九月 2023 13:01:42 +0800
Subject: [PATCH] modified: src/App.vue modified: src/components/view/standard-table/material.vue modified: src/components/view/standard-table/target.vue modified: src/components/view/standard-table/technology.vue modified: src/components/view/standard.vue
---
src/components/view/rawInsDetail.vue | 1015 +++++++++++++++++++++++++++++++++++------------------------
1 files changed, 607 insertions(+), 408 deletions(-)
diff --git a/src/components/view/rawInsDetail.vue b/src/components/view/rawInsDetail.vue
index 7676e68..2ab34d0 100644
--- a/src/components/view/rawInsDetail.vue
+++ b/src/components/view/rawInsDetail.vue
@@ -1,290 +1,269 @@
-<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="50px">
- <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
+ v-if="detailId !== null"
+ :disabled="detailId !== null"
+ v-model="detailInfo.code"
+ ></el-input>
+ <el-input
+ v-else
+ v-model="detailInfo.code"
+ placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜"
+ ></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.specifications"
+ placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�"
+ ></el-input>
+ </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.runit"
+ ></el-input>
+ <el-input
+ v-else
+ 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="detailId !== null ? '' : '璇疯緭鍏ユ楠屾暟閲�'"
+ :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="detailId !== null ? '' : '璇疯緭鍏ヤ緵搴斿晢鍚嶇О'"
+ :disabled="detailId !== null"
+ v-model="detailInfo.supplier"
+ ></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.creatTime"
+ ></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
+ style="float: right;"
+ @click="clickDeleteInspectionColumn()"
+ >鍒犻櫎妫�楠屽�煎垪</el-button
+ >
+ <el-button
+ style="float: right;margin-right: 30px;"
+ @click="clickAddInspectionColumn()"
+ >娣诲姞妫�楠屽�煎垪</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="60">
+ </el-table-column>
+ <el-table-column prop="rpName" label="椤圭洰" width="212">
+ <template slot-scope="scope">
+ <el-input
+ v-if="detailId == null"
+ v-model="scope.row.name"
+ placeholder="璇疯緭鍏ラ」鐩悕绉�"
+ ></el-input>
+ <el-input v-else v-model="scope.row.rpName" disabled></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="unit" label="鍗曚綅" width="148">
+ <template slot-scope="scope">
+ <el-input
+ v-if="detailId == null"
+ v-model="scope.row.unit"
+ placeholder="璇疯緭鍏ュ崟浣�"
+ ></el-input>
+ <el-input v-else v-model="scope.row.rpUnit" disabled></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="required" label="鏍囧噯鍊�" min-width="150">
+ <template slot-scope="scope">
+ <el-input
+ :disabled="detailId != null"
+ v-model="scope.row.required"
+ placeholder="璇疯緭鍏ユ爣鍑嗗��"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="internal" label="鍐呮帶鍊�" min-width="150">
+ <template slot-scope="scope">
+ <el-input
+ :disabled="detailId != null"
+ v-model="scope.row.internal"
+ placeholder="璇疯緭鍏ュ唴鎺у��"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="testValue"
+ label="妫�娴嬪��"
+ min-width="150"
+ v-for="(item, index) in empiricalValueAdd"
+ :key="index"
+ >
+ <template slot-scope="scope">
+ <el-tooltip
+ :disabled="scope.row.deviceId != null"
+ class="item"
+ effect="dark"
+ content="璇峰厛閫夋嫨璁惧锛�"
+ placement="top-start"
>
- <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>
+ <el-input
+ :disabled="scope.row.deviceId == null"
+ v-model="scope.row.testValueList[index]"
+ @blur="changeState(scope.row, index)"
+ placeholder="璇疯緭鍏ユ娴嬪��"
+ ></el-input>
+ </el-tooltip>
+ </template>
+ </el-table-column>
+ <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="100">
+ <template slot-scope="scope">
+ <el-button type="text" @click="clickTableSelect(scope)">{{
+ scope.row.deviceId == null ? "璇烽�夋嫨" : scope.row.deviceName
+ }}</el-button>
+ </template>
+ </el-table-column>
+ <el-table-column
+ v-if="detailId !== null"
+ prop="testState"
+ label="缁撹"
+ min-width="100"
+ >
+ <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="100">
+ <template slot-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 +271,374 @@
</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 v-if="detailId != null" prop="uName" label="妫�楠屽憳">
+ <template slot-scope="scope">
+ <span
+ v-for="item in scope.row.uName"
+ :key="item && item.uName"
+ :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>
+ <el-dialog
+ title="璇烽�夋嫨璁惧"
+ :visible.sync="centerDialogVisible"
+ width="20%"
+ >
+ <div class="div_device_dialog">
+ <el-input
+ placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
+ v-model="filterText"
+ style="margin-bottom: 6px;"
+ >
+ </el-input>
+ <el-tree
+ class="filter-tree"
+ :data="materialOptions"
+ :props="defaultProps"
+ default-expand-all
+ highlight-current
+ @node-click="nodeClick"
+ :filter-node-method="filterNode"
+ ref="tree"
+ >
+ <div class="custom-tree-node" slot-scope="{ data }">
+ <span
+ ><i
+ :class="
+ `node_i ${
+ data.children ? 'el-icon-folder-opened' : 'el-icon-tickets'
+ }`
+ "
+ ></i>
+ {{ data.name }}</span
+ >
+ </div>
+ </el-tree>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="centerDialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="clickNodeSure()">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
</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()
+ components: { RawIns },
+ props: ["goBack", "detailId"],
+ created() {
+ // 娓呯┖
+ this.detailInfo = {};
+ if (this.detailId) {
+ this.getDetailInfo();
+ }
+ this.getOptions();
+ },
+ mounted() {},
+ computed: {
+ conclusionTable() {
+ const conclusion = {};
+ conclusion.name = this.detailInfo.name;
+ conclusion.code = this.detailInfo.code;
+ conclusion.uName = [
+ ...new Set(this.projectTable.map(item => item.uName))
+ ];
+ if (
+ this.projectTable.filter(item => item.testState === null).length ===
+ this.projectTable.length
+ ) {
+ conclusion.testState = null;
+ return [conclusion];
}
- },
- 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]
+ if (this.projectTable.filter(item => item.testState === 0).length > 0) {
+ conclusion.testState = 0;
+ } else {
+ conclusion.testState = 1;
+ }
+ return [conclusion];
+ }
+ },
+ data() {
+ return {
+ // 娣诲姞鍒�
+ empiricalValueAdd: 1,
+ // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
+ empiricalValueAddMaxNumber: 0,
+ // 璁惧閫夋嫨鏍戞樉绀�
+ centerDialogVisible: false,
+ // 璇︽儏椤靛氨鏄鎯呬俊鎭�
+ detailInfo: {},
+ // 琛ㄦ牸
+ projectTable: [],
+ // 鏂板缓妫�楠屽崟鍙傛暟瀵硅薄
+ rawInsParams: {},
+ // 椤圭洰鍚嶇Оoptions
+ specificationOptions: [],
+ filterText: "",
+ materialOptions: [], // 鏍戞暟鎹�
+ defaultProps: {
+ // 璁惧鏍戞暟鎹缃�
+ children: "children",
+ label: "name"
},
- // 浜у搧缂栫爜
- // code(){
- // const material= this.materialOptions.filter(item=>item.name===this.rawInsParams.material)[0]
- // return material && material.code
- // }
+ nodeData: "", // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
+ clickSelectDevice: {
+ index: "", // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
+ rpId: "" // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
+ }
+ };
+ },
+ watch: {
+ filterText(val) {
+ this.$refs.tree.filter(val);
+ }
+ },
+ methods: {
+ // 璁惧鏍戣繃婊ゆ悳绱�
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.name.indexOf(value) !== -1;
},
- 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
- })
- }
+ // 鑾峰彇鎶ユ鍗曡鎯呬俊鎭�
+ async getDetailInfo() {
+ await this.$axios
+ .get(this.$api.url.selectRawInspectsListById + `${this.detailId}`, {
+ params: { id: this.detailId }
})
+ .then(res => {
+ this.detailInfo = res.data;
+ this.projectTable = res.data.children;
+ this.projectTable.forEach(i => {
+ // 瑙e喅閲嶆柊璧嬪�兼棤娉曠紪杈戞搷浣�
+ if (i.testValue == null) {
+ this.$set(i, "testValueList", []);
+ } else {
+ this.$set(i, "testValueList", i.testValue.split(","));
+ }
+ // 鍙栨渶闀跨殑鍒楄〃鏁�
+ if (i.testValueList.length > this.empiricalValueAdd) {
+ this.empiricalValueAdd = i.testValueList.length;
+ this.empiricalValueAddMaxNumber = i.testValueList.length - 1;
+ }
+ });
+ });
+ },
+ // 鏂板妫�楠屽崟
+ async addNewRawInspect() {
+ this.projectTable.forEach(i => {
+ // 灏嗗垪琛ㄨ浆鎹负瀛楃涓�
+ i.testValue = i.testValueList.join(",");
+ });
+ this.detailInfo.rawInsProducts = this.projectTable;
+ 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(res.message);
+ },
+
+ // 淇敼椤圭洰鐨勬娴嬪�兼敼鍙樼粨璁�
+ async changeState(row, index) {
+ if (this.detailId !== null) {
+ const res = await this.$axios.post(this.$api.url.updaterawInsProduct, {
+ DevId: row.deviceId,
+ rpId: row.rpId,
+ testValue: row.testValueList.join(",")
+ });
+ this.$message.success("鎻愪氦鎴愬姛");
+ this.getDetailInfo(); //閲嶆柊鍒锋柊淇℃伅鏁版嵁
}
- }
-}
+ },
+ async submitSave() {
+ const res = await this.$axios.post(
+ this.$api.url.updateRawInspectsById + `${this.detailId}`
+ );
+ this.$message.success("鎻愪氦鎴愬姛");
+ this.getDetailInfo();
+ },
+ // 鑾峰彇璁惧鏍戝唴瀹�
+ getOptions() {
+ this.$axios.get(this.$api.url.rawSelectDevice).then(res => {
+ this.materialOptions = res.data;
+ });
+ },
+ // 娣诲姞琛�
+ clickAddLine() {
+ let obj = {
+ deviceId: null,
+ deviceName: "",
+ internal: "",
+ name: "",
+ required: "",
+ textValue: "",
+ testValueList: [],
+ unit: ""
+ };
+ this.projectTable.push(obj);
+ },
+ // 鍒犻櫎琛�
+ clickDeleteline(scope) {
+ this.projectTable.splice(scope.$index, 1);
+ },
+ // 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰�
+ nodeClick(data) {
+ if (data.id != undefined) this.nodeData = data;
+ },
+ // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
+ clickTableSelect(scope) {
+ this.centerDialogVisible = true;
+ this.clickSelectDevice.index = scope.$index;
+ this.clickSelectDevice.rpId = scope.row.rpId;
+ },
+ // 鐐瑰嚮鏍戦噷闈㈢殑纭畾
+ clickNodeSure() {
+ if (this.detailId == null) {
+ this.projectTable[
+ this.clickSelectDevice.index
+ ].deviceId = this.nodeData.id;
+ this.projectTable[
+ this.clickSelectDevice.index
+ ].deviceName = this.nodeData.name;
+ this.centerDialogVisible = false;
+ } else {
+ this.$axios
+ .post(this.$api.url.updateDevByRpId, {
+ rpId: this.clickSelectDevice.rpId,
+ devId: this.nodeData.id
+ })
+ .then(res => {
+ this.getDetailInfo();
+ this.centerDialogVisible = false;
+ });
+ }
+ },
+ // 鍒犻櫎妫�楠屽�煎垪
+ clickDeleteInspectionColumn() {
+ if (this.empiricalValueAdd - 1 === 0) {
+ } else {
+ if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
+ this.empiricalValueAdd = this.empiricalValueAdd - 1;
+ this.projectTable.forEach(i => {
+ i.testValueList.splice(this.empiricalValueAdd, 1);
+ });
+ }
+ }
+ },
+ // 娣诲姞妫�楠屽�煎垪
+ clickAddInspectionColumn() {
+ this.empiricalValueAdd = this.empiricalValueAdd + 1;
+ }
+ }
+};
</script>
+
+<style scoped>
+.node_i {
+ color: orange;
+}
+.div_device_dialog {
+ min-height: 400px;
+ overflow: auto;
+}
+.rawInsBox {
+ height: 100%;
+ width: 100%;
+ overflow-y: scroll;
+ display: flex;
+ flex-direction: column;
+}
+.el-table__fixed-body-wrapper {
+ top: 48px;
+}
+.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