From 039d01c3ee6217e18ef3bcaec263fd2ad59e6f68 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期三, 20 九月 2023 16:19:51 +0800
Subject: [PATCH] modified: src/components/view/equipmentmaintain.vue modified: src/components/view/standard-table/material.vue modified: src/components/view/standard-table/product.vue modified: src/components/view/standard-table/target.vue modified: src/components/view/standard-table/technology.vue
---
src/components/view/processInspection.vue | 770 +++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 488 insertions(+), 282 deletions(-)
diff --git a/src/components/view/processInspection.vue b/src/components/view/processInspection.vue
index f844244..bfbfefa 100644
--- a/src/components/view/processInspection.vue
+++ b/src/components/view/processInspection.vue
@@ -1,141 +1,75 @@
<template>
<div class="content-main">
- <div v-if="!showAddPage" class="rawPage">
+ <div v-if="!showAddPage && !showUp && !showLook" class="rawPage">
<div class="title">
<el-row>
<el-col :span="12">杩囩▼妫�楠�</el-col>
<el-col :span="12" style="text-align: right;">
- <el-button
- @click="handleAddNew"
- type="primary"
- size="mini"
- icon="el-icon-plus"
- style="background: #004EA2; "
- >鏂板</el-button
- >
+ <el-button @click="handleAddNew" type="primary" size="mini" icon="el-icon-plus"
+ style="background: #004EA2; ">鏂板</el-button>
<el-button icon="el-icon-download" size="mini">瀵煎嚭</el-button>
</el-col>
</el-row>
</div>
<div class="nav">
<span>妫�楠岀姸鎬侊細</span>
- <el-select
- size="small"
- v-model="search.result"
- placeholder="璇烽�夋嫨妫�娴嬬姸鎬�"
- style="width: 224px;margin-right: 52px;"
- >
+ <el-select size="small" v-model="search.result" placeholder="璇烽�夋嫨妫�娴嬬姸鎬�" style="width: 224px;margin-right: 52px;">
<el-option :value="''" label="鍏ㄩ儴"></el-option>
- <el-option :value="1" label="宸叉娴�"></el-option>
- <el-option :value="2" label="寰呮娴�"></el-option>
+ <el-option :value="1" label="鍚堟牸"></el-option>
+ <el-option :value="0" label="涓嶅悎鏍�"></el-option>
</el-select>
<span>浜у搧鍚嶇О锛�</span>
- <el-input
- size="small"
- style="width: 224px;margin-right: 30px;"
- v-model="search.name"
- placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�"
- ></el-input>
+ <el-input size="small" style="width: 224px;margin-right: 30px;" v-model="search.name"
+ placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�"></el-input>
<span>宸ュ簭锛�</span>
- <el-input
- size="small"
- style="width: 224px;margin-right: 30px;"
- v-model="search.techfather"
- placeholder="璇疯緭鍏ュ伐搴�"
- ></el-input>
+ <el-input size="small" style="width: 224px;margin-right: 30px;" v-model="search.techfather"
+ placeholder="璇疯緭鍏ュ伐搴�"></el-input>
<el-button size="mini"><span>閲� 缃�</span></el-button>
- <el-button size="mini" type="primary" style="background: #004EA2;"
- ><span>鏌� 璇�</span></el-button
- >
+ <el-button size="mini" @click="searchPro" type="primary" style="background: #004EA2;"><span>鏌� 璇�</span></el-button>
</div>
<div class="content-body">
<div class="inspectionTable">
- <el-table
- ref="inspectionTable"
- height="calc(100vh - 320px)"
- :cell-style="{ textAlign: 'center' }"
+ <el-table ref="inspectionTable" height="calc(100vh - 320px)" :cell-style="{ textAlign: 'center' }"
:header-cell-style="{
border: '0px',
background: '#f5f7fa',
color: '#606266',
boxShadow: 'inset 0 1px 0 #ebeef5',
textAlign: 'center'
- }"
- border
- :data="inspectionTable"
- style="width: 100%"
- >
+ }" border :data="inspectionTable" style="width: 100%">
<el-table-column type="selection" width="50"> </el-table-column>
- <el-table-column
- label="搴忓彿"
- type="index"
- width="60"
- ></el-table-column>
- <el-table-column
- prop="order_number"
- label="璁㈠崟缂栧彿"
- min-width="90"
- />
+ <el-table-column label="搴忓彿" type="index" width="60"></el-table-column>
+ <el-table-column prop="order_number" label="璁㈠崟缂栧彿" min-width="90" />
<el-table-column prop="material" label="浜у搧鍚嶇О" min-width="80" />
- <el-table-column
- prop="specifications_model"
- label="瑙勬牸鍨嬪彿"
- min-width="60"
- />
+ <el-table-column prop="specifications_model" label="瑙勬牸鍨嬪彿" min-width="60" />
<el-table-column prop="techfather" label="宸ュ簭" min-width="70" />
<el-table-column prop="techname" label="宸ヨ壓鍚嶇О" min-width="70" />
<el-table-column prop="unit" label="鍗曚綅" min-width="50" />
<el-table-column prop="quantity" label="鏁伴噺" min-width="50" />
- <el-table-column
- prop="createTime"
- label="鎶ユ鏃ユ湡"
- min-width="60"
- />
+ <el-table-column prop="createTime" label="鎶ユ鏃ユ湡" min-width="60" />
<el-table-column prop="name" label="鎶ユ浜�" min-width="50" />
- <el-table-column
- prop="updateTime"
- label="妫�娴嬫棩鏈�"
- min-width="60"
- />
+ <el-table-column prop="updateTime" label="妫�娴嬫棩鏈�" min-width="60" />
<el-table-column prop="result" label="鍚堟牸鐘舵��" min-width="80">
<template slot-scope="scope">
- <span style="color: #34BD66;" v-if="scope.row.result == 1"
- >鍚堟牸</span
- >
- <span style="color: #E84738;" v-else-if="scope.row.result == 0"
- >涓嶅悎鏍�</span
- >
+ <span style="color: #34BD66;" v-if="scope.row.result == 1">鍚堟牸</span>
+ <span style="color: #E84738;" v-else-if="scope.row.result == 0">涓嶅悎鏍�</span>
</template>
</el-table-column>
<el-table-column label="鎿嶄綔" min-width="80">
<template slot-scope="scope">
- <el-button type="text" size="small" style="margin-left: 0;"
- >璇︽儏</el-button
- >
- <el-button
- type="text"
- size="small"
- @click="handleClick(scope.row)"
- >鏌ョ湅</el-button
- >
- <el-button type="text" size="small" style="margin-left: 0;"
- >缂栬緫</el-button
- >
+ <el-button type="text" size="small" @click="handleClick(scope.row)" style="margin-left: 0;">璇︽儏</el-button>
+ <el-button type="text" size="small">鏌ョ湅</el-button>
+ <el-button v-if="scope.row.result == null" type="text" size="small" style="margin-left: 0;"
+ @click="updateInsInfo(scope.row)">缂栬緫</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!-- 鍒嗛〉鍣� -->
<div class="pagination">
- <el-pagination
- :current-page="1"
- :page-sizes="[10, 20, 30, 40]"
- :page-size="pageSize"
- layout="total, sizes, prev, pager, next, jumper"
- :total="inspectionTableTotal"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- />
+ <el-pagination :current-page="currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="pageSize"
+ layout="total, sizes, prev, pager, next, jumper" :total="inspectionTableTotal" @size-change="handleSizeChange"
+ @current-change="handleCurrentChange" />
</div>
</div>
</div>
@@ -146,109 +80,60 @@
<el-col :span="12">鏂板杩囩▼妫�楠屽崟</el-col>
<el-col :span="12" style="text-align: right;">
<!-- 鐐瑰嚮杩斿洖锛屽綋鍓嶉〉闈㈠�间负false -->
- <el-button
- type="primary"
- size="mini"
- style="background: #004EA2; "
- icon="el-icon-circle-plus-outline"
- >鏂板</el-button
- >
- <el-button
- @click="showAddPage = false"
- type="primary"
- size="mini"
- icon="el-icon-back"
- style="background: #004EA2; "
- >杩斿洖</el-button
- >
+ <!-- <el-button type="primary" size="mini" style="background: #004EA2; "
+ icon="el-icon-circle-plus-outline">鏂板</el-button> -->
+ <el-button @click="combackIndex" type="primary" size="mini" icon="el-icon-back"
+ style="background: #004EA2; ">杩斿洖</el-button>
</el-col>
</el-row>
- <el-form
- :model="addInspectionform"
- ref="addInspectionform"
- class="addInspectionform"
- label-position="right"
- label-width="120px"
- size="small"
- >
+ <el-form :model="processInspectVo" ref="addInspectionform" class="addInspectionform" label-position="right"
+ label-width="120px" size="small">
<div class="formwrapper">
<el-row :gutter="230">
<el-col :span="7">
<el-form-item label="璁㈠崟鍙凤細">
- <el-input
- style="width: 210px;"
- size="small"
- v-model="addInspectionform.number"
- placeholder="璇疯緭鍏ヨ鍗曞彿"
- />
+ <el-input @blur="selectInfoByOrderId" style="width: 210px;" size="small"
+ v-model="processInspectVo.orderNumber" placeholder="璇疯緭鍏ヨ鍗曞彿" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="浜у搧鍚嶇О锛�">
- <el-input
- style="width: 210px;"
- size="small"
- v-model="addInspectionform.code"
- placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�"
- />
+ <el-select style="width: 210px;" size="small" @change="selectSample" v-model="processInspectVo.material"
+ placeholder="璇烽�夋嫨浜у搧">
+ <el-option v-for="item in optionsSamplename" :key="item.value" :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
- style="width: 210px;"
- size="small"
- disabled
- v-model="addInspectionform.code"
- placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�"
- />
+ <el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.materialCode"
+ placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="230">
<el-col :span="7">
<el-form-item label="瑙勬牸鍨嬪彿锛�">
- <el-input
- style="width: 210px;"
- size="small"
- disabled
- v-model="addInspectionform.number"
- placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�"
- />
+ <el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.specificationsModel"
+ placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="宸ュ簭鍚嶇О锛�">
- <el-select
- v-model="value"
- placeholder="璇烽�夋嫨"
- style="width: 210px;"
- size="small"
- >
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-select @change="changeOptionSoptionSprocesses" v-model="processInspectVo.techfather"
+ placeholder="璇烽�夋嫨" style="width: 210px;" size="small">
+ <el-option v-for="item in optionSoptionSprocesses" :key="item.name" :label="item.name"
+ :value="item.name">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="宸ヨ壓鍚嶇О锛�">
- <el-select
- v-model="value"
- placeholder="璇烽�夋嫨"
- style="width: 210px;"
- size="small"
- >
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-select v-model="processInspectVo.techname" placeholder="璇烽�夋嫨" style="width: 210px;" size="small">
+ <el-option v-for="item in optionTechnology" :key="item.id" :label="item.name"
+ :value="item.id + '-' + item.name">
</el-option>
</el-select>
</el-form-item>
@@ -257,31 +142,17 @@
<el-row :gutter="230">
<el-col :span="7">
<el-form-item label="鍗曚綅锛�">
- <el-input
- style="width: 210px;"
- size="small"
- disabled
- v-model="addInspectionform.quantity"
- placeholder="璇疯緭鍏ュ崟浣�"
- />
+ <el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.unit"
+ placeholder="璇疯緭鍏ュ崟浣�" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="鏁伴噺锛�">
- <el-input
- style="width: 210px;"
- size="small"
- v-model="addInspectionform.quantity"
- placeholder="璇疯緭鍏ユ暟閲�"
- />
+ <el-input style="width: 210px;" size="small" v-model="processInspectVo.quantity" placeholder="璇疯緭鍏ユ暟閲�" />
</el-form-item>
</el-col>
- <el-col :span="7">
- <el-button
- type="primary"
- style="float: right; font-size: 14px; !important"
- >鐢熸垚妫�楠岄」鐩�</el-button
- >
+ <el-col :span="10" style="display: flex;justify-content: end;">
+ <el-button type="primary" :disabled="isAddProject" @click="addTestProjevt">鐢熸垚妫�楠岄」鐩�</el-button>
</el-col>
</el-row>
</div>
@@ -291,92 +162,58 @@
<el-row>
<el-col :span="12" class="inspectionProject_span">妫�楠岄」鐩�</el-col>
<el-col :span="12" class="inspectionProject_span">
- <el-button size="mini" @click="clickDeleteInspectionColumn()"
- >鍒犻櫎妫�楠屽�煎垪</el-button
- >
- <el-button
- style="margin-right: 30px;"
- size="mini"
- @click="clickAddInspectionColumn()"
- >娣诲姞妫�楠屽�煎垪</el-button
- >
- <el-button
+ <el-button size="mini" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�楠屽�煎垪</el-button>
+ <el-button style="margin-right: 30px;" size="mini" @click="clickAddInspectionColumn()">娣诲姞妫�楠屽�煎垪</el-button>
+ <!-- <el-button
size="mini"
style="margin-right: 30px;"
@click="clickAddLine()"
>娣诲姞妫�楠岃</el-button
- >
+ > -->
</el-col>
</el-row>
- <el-table
- :data="inspectionItems"
- height="calc(100vh - 550px)"
- style="width: 100%"
- >
- <el-table-column
- type="index"
- label="搴忓彿"
- width="60"
- ></el-table-column>
- <el-table-column prop="material" label="椤圭洰"></el-table-column>
+ <el-table border :data="inspectionItems" max-height="420" :span-method="handleSpanMethod"
+ height="calc(100vh - 550px)" style="width: 100%">
+ <el-table-column type="index" label="搴忓彿" width="60"></el-table-column>
+ <el-table-column label="椤圭洰" prop="father"></el-table-column>
+ <el-table-column prop="name" label="鎸囨爣"></el-table-column>
<el-table-column prop="unit" label="鍗曚綅"></el-table-column>
- <el-table-column prop="standardVal" label="鏍囧噯鍊�"></el-table-column>
- <el-table-column prop="controlVal" label="鍐呮祴鍊�"></el-table-column>
- <el-table-column
- prop="testValue"
- label="妫�娴嬪��"
- min-width="150"
- v-for="(item, index) in empiricalValueAdd"
- :key="index"
- >
+ <el-table-column prop="required" label="鏍囧噯鍊�"></el-table-column>
+ <el-table-column prop="internal" label="鍐呮祴鍊�"></el-table-column>
+ <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="妫�娴嬪��"
+ min-width="100" style="text-align: center;">
<template slot-scope="scope">
- <el-tooltip
- :disabled="scope.row.deviceId != null"
- class="item"
- effect="dark"
- content="璇峰厛閫夋嫨璁惧锛�"
- placement="top-start"
- >
- <el-input
- :disabled="scope.row.deviceId == null"
- // v-model="scope.row.testValueList[index]"
- @blur="changeState(scope.row, index)"
- placeholder="璇疯緭鍏ユ娴嬪��"
- ></el-input>
+ <el-tooltip :disabled="scope.row.dname != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�"
+ placement="top-start">
+ <el-input :disabled="scope.row.dname === null" v-model="scope.row.empiricalValueAddss[index]"
+ @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
</el-tooltip>
</template>
</el-table-column>
- <el-table-column label="璇曢獙璁惧">
+ <el-table-column prop="dname" label="璇曢獙璁惧" min-width="100">
<template slot-scope="scope">
- {{ scope.row.device }}
- <el-select
- v-model="scope.row.device"
- size="small"
- slot="append"
- style="width: 100px;"
- >
- <el-option value="閫夐」1"></el-option>
- <el-option value="閫夐」2"></el-option>
+ <el-button v-if="!scope.row.isSelectDevice" type="text" @click="clickTableSelect(scope)">{{
+ scope.row.dname == null ? "璇烽�夋嫨" : scope.row.dname
+ }}</el-button>
+ <el-select v-if="scope.row.isSelectDevice" style="width: 100%;" @change="clickNodeSure(scope.row)"
+ v-model="filterText" placeholder="璇烽�夋嫨">
+ <el-option v-for="item in materialOptions" :key="item.id" :label="item.device" :value="item.id">
+ </el-option>
</el-select>
</template>
</el-table-column>
- <el-table-column prop="conclusion" label="缁撹">
+ <el-table-column label="缁撹">
<template slot-scope="scope">
- <span style="color: #34BD66;" v-if="scope.row.insState == 1"
- >鍚堟牸</span
- >
- <span style="color: #E84738;" v-else-if="scope.row.insState == 0"
- >涓嶅悎鏍�</span
- >
+ <span style="color: #34BD66;" v-if="scope.row.result === 1">鍚堟牸</span>
+ <span style="color: #E84738;" v-else-if="scope.row.result === 0">涓嶅悎鏍�</span>
+ <span v-show="scope.row.result === 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-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="inspectionResult">
@@ -389,14 +226,36 @@
<el-table-column prop="operation" label="涓婃姤"></el-table-column>
</el-table>
</div>
+ <el-dialog title="璇烽�夋嫨璁惧" :visible.sync="centerDialogVisible" width="20%">
+ <div class="div_device_dialog">
+ <el-select style="width: 100%;" @change="clickNodeSure()" v-model="filterText" placeholder="璇烽�夋嫨">
+ <el-option v-for="item in materialOptions" :key="item.id" :label="item.device" :value="item.id">
+ </el-option>
+ </el-select>
+ </div>
+ </el-dialog>
+ </div>
+ <div class="newPage" v-if="showUp">
+ <processInspectionUpdate :rowInfo="rowInfp" />
+ </div>
+ <div class="newPage" v-if="showLook">
+ <processInspectionLook :rowInfo="rowInfp" />
</div>
</div>
</template>
<script>
+import processInspectionUpdate from '../view/processInspectionUpdate.vue'
+import processInspectionLook from '../view/processInspectionLook.vue'
export default {
+ components: { processInspectionUpdate, processInspectionLook },
data() {
return {
+ showUp: false,
+ isAddProject: false,
+ showLook: false,
+ detailId: 28,
+ rowInfp: {},
search: {
countSize: 10,
pageSize: 1,
@@ -404,13 +263,32 @@
name: "", // 浜у搧鍚嶇О
techfather: "" // 宸ュ簭
},
+ optionsSamplename: [],
inspectionTable: [],
- inspectionTableTotal: "",
+ tableColumn: [],
+ optionSoptionSprocesses: [],
+ optionTechnology: [],
+ inspectionTableTotal: 0,
+ pageSize: 10,
+ currentPage: 1,
+ treeProject: [],
// 娣诲姞鍒�
empiricalValueAdd: 1,
// 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
empiricalValueAddMaxNumber: 0,
showAddPage: false,
+ processInspectVo: {
+ material: null,
+ materialCode: null,
+ orderNumber: "",
+ quantity: null,
+ specificationsModel: null,
+ techfather: null,
+ techname: null,
+ technologyId: null,
+ unit: null
+ },
+ InspectioniD: null,
addInspectionform: [
{
number: "",
@@ -425,48 +303,352 @@
group: "",
worker: "",
machine: ""
- }
- ],
+ }]
+ ,
inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍�
inspectionResultForm: [
{
- id: "274024",
- name: "111",
- inspecter: "111",
+ id: "",
+ name: "",
+ inspecter: "",
conclusion: "",
operation: ""
}
],
- options: [
- {
- value: "閫夐」1",
- label: "榛勯噾绯�"
- },
- {
- value: "閫夐」2",
- label: "鍙岀毊濂�"
- },
- {
- value: "閫夐」3",
- label: "铓典粩鐓�"
- },
- {
- value: "閫夐」4",
- label: "榫欓』闈�"
- },
- {
- value: "閫夐」5",
- label: "鍖椾含鐑ら腑"
- }
- ],
- value: ""
+ options: [],
+ value: "",
+ rowList: [],
+ spanArr: [],
+ position: 0,
+ // 璁惧閫夋嫨鏍戞樉绀�
+ centerDialogVisible: false,
+ filterText: "",
+ materialOptions: [],
+ defaultProps: {
+ // 璁惧鏍戞暟鎹缃�
+ children: "children",
+ label: "name"
+ },
+ nodeData: {
+ id: 0,
+ name: null
+ }, // node鐐瑰嚮淇濆瓨褰撳墠鐐瑰嚮鏁版嵁
+ clickSelectDevice: {
+ index: null, // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岀储寮�
+ rpId: null // 鐐瑰嚮閫夋嫨瀛樺偍褰撳墠琛岄」鐩甀d
+ }
};
},
+ watch: {
+ // filterText(val) {
+ // this.$refs.tree.filter(val);
+ // }
+ },
+ mounted() {
+ // this.getTableData()
+ // this.getOptions();
+ },
methods: {
+ handleClick(row) {
+ this.rowInfp = row
+ this.showLook = true
+ },
+ combackIndex() {
+ this.showAddPage = false
+ this.defaultInitializationTable()
+ },
+ updateInsInfo(row) {
+ this.rowInfp = row
+ this.showUp = true
+ },
+ combackMain(val) {
+ this.showUp = false
+ this.showLook = false
+ this.defaultInitializationTable(); // 鍒濆鍖栬〃鏍兼暟鎹�
+ if (val) {
+ this.$parent.removeAllTab()
+ }
+ },
+ searchPro() {
+ this.search.countSize = this.pageSize
+ this.search.pageSize = this.currentPage
+ this.defaultInitializationTable()
+ },
+ // 鐐瑰嚮璁惧鏍戜繚瀛樼偣鍑昏褰�
+ nodeClick(data) {
+ if (data.id != undefined) this.nodeData = data;
+ },
+ // 璁惧鏍戣繃婊ゆ悳绱�
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.name.indexOf(value) !== -1;
+ },
+ // 鑾峰彇璁惧鏍戝唴瀹�
+ getOptions(row) {
+ this.$axios.get(this.$api.url.inspectionItemChooseDev, {
+ params: {
+ father: row.father,
+ name: row.name,
+ technologyId: this.processInspectVo.technologyId
+ }
+ }).then(res => {
+ this.materialOptions = res.data;
+ if (this.materialOptions.length === 1) {
+ this.$message({
+ message: '璇ラ」鐩笅鍙湁涓�涓瘯楠岃澶囷紝鏃犻渶閫夋嫨锛�',
+ type: 'warning'
+ });
+ return
+ }
+ row.isSelectDevice = true
+ this.filterText = row.did
+ });
+ },
+ // 鐐瑰嚮琛ㄦ牸閫夋嫨瑙﹀彂
+ clickTableSelect(scope) {
+ // this.centerDialogVisible = true;
+ if (this.clickSelectDevice.index != null) {
+ this.$set(this.inspectionItems[this.clickSelectDevice.index], 'isSelectDevice', false)
+ }
+ this.clickSelectDevice.index = scope.$index;
+ this.clickSelectDevice.rpId = scope.row.id;
+ this.getOptions(scope.row)
+ },
+ // 鐐瑰嚮鏍戦噷闈㈢殑纭畾
+ clickNodeSure() {
+ let select = this.materialOptions.filter(item => {
+ return item.id === this.filterText
+ })[0]
+ this.nodeData.id = select.id
+ this.nodeData.name = select.device
+ if (this.detailId == null) {
+ this.inspectionItems[
+ this.clickSelectDevice.index
+ ].did = this.nodeData.id;
+ this.inspectionItems[
+ this.clickSelectDevice.index
+ ].dname = this.nodeData.name;
+ this.centerDialogVisible = false;
+ } else {
+ this.$axios
+ .post(this.$api.url.inspectionItemUpdateDevByInsId, {
+ id: this.clickSelectDevice.rpId,
+ type: 1,
+ devId: this.nodeData.id
+ })
+ .then(res => {
+ this.getTableData()
+ this.centerDialogVisible = false;
+ });
+ }
+ },
+ changeState(row, index) {
+ if (row.did != null && row.did != '') {
+ // let val = row.empiricalValueAddss.filter(item => {
+ // return item != '' && item != null
+ // })
+ // let eq = val.filter(item => {
+ // return /^[^><=]/.test(item)
+ // })
+ // if (eq.length > 0) {
+ // this.$message({
+ // message: "妫�娴嬪�糩" + eq + "]鏍煎紡棣栦綅搴斿寘鍚�>,<鎴栬��=",
+ // type: 'warning'
+ // });
+ // return
+ // }
+ let str = ""
+ row.empiricalValueAddss.forEach(e => {
+ str += e + ","
+ })
+ if (str.slice(0, -1) === '' || str.slice(0, -1) === null || str.slice(0, -1) === undefined) {
+ return
+ }
+ this.$axios.post(this.$api.url.inspectionItemlose_focus_update, {
+ deviceId: row.did,
+ inspectionItemId: row.id,
+ inspectionValue: str.slice(0, -1)
+ }, {
+ headers: { "Content-Type": "application/json" }
+ }).then(res => {
+ if (res.message === '鍐呮帶鍊艰緭鍏ユ牸寮忔湁闂!') {
+ this.$message({
+ message: res.message,
+ type: 'warning'
+ });
+ return
+ }
+ row.result = res.data.result
+ row.username = res.data.username
+ })
+ } else {
+ this.$message({
+ message: '璇烽�夋嫨鎷╄澶囷紒',
+ type: 'warning'
+ });
+ }
+ },
// 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
handleSizeChange(val) {
this.search.countSize = val;
this.defaultInitializationTable();
+ },
+ handleSpanMethod({ row, column, rowIndex, columnIndex }) {
+ if (columnIndex === 0) {
+ const _row = this.spanArr[rowIndex];
+ const _col = _row > 0 ? 1 : 0;
+ return {
+ rowspan: _row,
+ colspan: _col
+ }
+ }
+ if (columnIndex === 1) {
+ const _row = this.spanArr[rowIndex];
+ const _col = _row > 0 ? 1 : 0;
+ return {
+ rowspan: _row,
+ colspan: _col
+ }
+ }
+ },
+ // 鍚堝苟琛ㄦ牸
+ mergeTable() {
+ this.rowList = []
+ this.spanArr = []
+ this.position = 0
+ this.inspectionItems.forEach((item, index) => {
+ if (index === 0) {
+ this.spanArr.push(1);
+ this.position = 0;
+ } else {
+ if (this.inspectionItems[index].father === this.inspectionItems[index - 1].father) {
+ this.spanArr[this.position] += 1;
+ this.spanArr.push(0);
+ } else {
+ this.spanArr.push(1);
+ this.position = index;
+ }
+ }
+ })
+ },
+ changeOptionSoptionSprocesses() {
+ this.optionTechnology = []
+ let working = this.optionSoptionSprocesses.filter(item => {
+ return item.name === this.processInspectVo.techfather
+ })[0]
+ this.optionTechnology = working.children
+ },
+ addTestProjevt() {
+ let val = JSON.parse(JSON.stringify(this.processInspectVo))
+ val.techname = this.processInspectVo.techname.split("-")[1]
+ val.technologyId = this.processInspectVo.techname.split("-")[0]
+ this.processInspectVo.technologyId = val.technologyId
+ this.$axios.post(this.$api.url.processInspectAddProcess, {
+ material: val.material,
+ materialCode: val.materialCode,
+ orderNumber: val.orderNumber,
+ quantity: val.quantity,
+ specificationsModel: val.specificationsModel,
+ techfather: val.techfather,
+ techname: val.techname,
+ techId: Number(val.technologyId),
+ unit: val.unit
+ }, {
+ headers: { "Content-Type": "application/json" }
+ }).then(res => {
+ if (res.code === 201) {
+ this.$message({
+ message: res.message,
+ type: 'warning'
+ });
+ return
+ }
+ this.isAddProject = true
+ this.detailId = res.data
+ this.inspectionResultForm[0].id = val.materialCode
+ this.inspectionResultForm[0].name = val.material
+ this.getTableData()
+ })
+ },
+ getTableData() {
+ this.$axios.get(this.$api.url.inspectionItemListUser, {
+ params: {
+ id: this.detailId,
+ type: 1
+ }
+ }).then(res => {
+ this.inspectionItems = res.data
+ let arr = []
+ let val = JSON.parse(JSON.stringify(this.inspectionItems))
+ const uName = []
+ //杞垚涓�缁存暟缁�
+ val.forEach(l => {
+ let father = l.father
+ l.children.forEach(c => {
+ c.father = father
+ c.empiricalValueAddss = []
+ if (c.inspectionValue != '' && c.inspectionValue != null) {
+ c.empiricalValueAddss = c.inspectionValue.split(",");
+ } else {
+ c.empiricalValueAddss.push("")
+ }
+ uName.push(c['username'])
+ c.isSelectDevice = false
+ arr.push(c)
+ })
+ })
+ this.inspectionItems = arr
+ let arrSort = JSON.parse(JSON.stringify(arr))
+ //鏍规嵁闆嗗悎瀵硅薄鏁扮粍闀垮害鎺掑簭
+ arrSort.sort((a, b) => {
+ if (a.empiricalValueAddss.length < b.empiricalValueAddss.length) {
+ return -1; // a鎺掑湪b鍓嶉潰
+ } else if (a.empiricalValueAddss.length > b.empiricalValueAddss.length) {
+ return 1; // a鎺掑湪b鍚庨潰
+ } else {
+ return 0; // 淇濇寔鐩稿椤哄簭涓嶅彉
+ }
+ });
+ // console.log(arrSort);
+ console.log(uName);
+ let name = [...new Set(uName)].filter(item => item !== null);
+ let rname = ''
+ name.forEach(m => {
+ rname += m + ","
+ })
+ this.inspectionResultForm[0].inspecter = rname.slice(0, -1)
+ this.empiricalValueAdd = arrSort[arrSort.length - 1].empiricalValueAddss.length
+ this.mergeTable(arr)
+ })
+ },
+ selectSample() {
+ let sample = this.optionsSamplename.filter(item => {
+ return item.name === this.processInspectVo.material
+ })[0]
+ this.processInspectVo.techfather = null
+ this.processInspectVo.techname = null
+ this.processInspectVo.materialCode = sample.code
+ this.processInspectVo.specificationsModel = sample.specifications
+ this.processInspectVo.unit = sample.unit
+ this.optionSoptionSprocesses = []
+ this.optionSoptionSprocesses = sample.children
+ },
+ selectInfoByOrderId() {
+ this.$axios.get(this.$api.url.chooseMaterProcessInspect, {
+ params: {
+ orderNumber: this.processInspectVo.orderNumber
+ }
+ }).then(res => {
+ if (res.data.length > 0) {
+ console.log(res.data);
+ this.optionsSamplename = res.data
+ } else {
+ this.$message({
+ message: '娌℃湁璇ヨ鍗曞彿锛�',
+ type: 'warning'
+ });
+ }
+ })
},
// 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
handleCurrentChange(val) {
@@ -476,6 +658,7 @@
// 鏄剧ず鏂板椤甸潰
handleAddNew() {
this.showAddPage = true;
+ // this.getTableData()
},
// 琛ㄦ牸鍒濆鍖栨帴鍙�
defaultInitializationTable() {
@@ -529,58 +712,81 @@
</script>
<style>
+.node_i {
+ color: orange;
+}
+
+.div_device_dialog {
+ min-height: 400px;
+ overflow: auto;
+}
+
.nav {
display: flex;
padding: 20px 20px;
align-items: center;
background-color: #fff;
}
+
.table_header {
height: calc(100vh - 550px);
}
+
.nav * {
font-size: 14px;
}
+
.content-body .rawPage {
background-color: #fff;
overflow: hidden;
}
+
.inspectionTable {
padding: 20px 20px;
}
+
.pagination {
float: right;
margin-right: 20px;
}
+
.newPage {
overflow: hidden;
}
+
.header {
padding: 12px;
}
+
.addInspectionform {
background-color: #fff;
}
+
.addInspectionform .formwrapper {
padding: 20px 0px;
margin-left: 100px;
}
+
.inspectionProject .el-table {
background-color: #fff;
padding: 10px 12px;
}
+
.inspectionResult span {
display: block;
padding: 5px 0px;
}
+
.inspectionResult .el-table {
background-color: #fff;
padding: 10px 12px;
}
+
.inspectionProject_span {
line-height: 32px;
padding: 10px 20px;
}
+
.inspectionProject_span .el-button {
float: right;
font-size: 13px !important;
--
Gitblit v1.9.3