From b34c4bfb96b9517ca489982e94abf66e3d7c4b66 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期一, 17 三月 2025 11:14:32 +0800
Subject: [PATCH] 检验任务代码迁移
---
src/views/standard/standardLibrary/index.vue | 1024 ++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 733 insertions(+), 291 deletions(-)
diff --git a/src/views/standard/standardLibrary/index.vue b/src/views/standard/standardLibrary/index.vue
index a467c0b..a74d08e 100644
--- a/src/views/standard/standardLibrary/index.vue
+++ b/src/views/standard/standardLibrary/index.vue
@@ -67,21 +67,21 @@
overflow: hidden;
}
->>>.el-table__body-wrapper {
+>>> .el-table__body-wrapper {
height: calc(100% - 46px) !important;
}
->>>.header-class {
+>>> .header-class {
height: 40px !important;
}
->>>.header-class th.el-table__cell>.cell {
+>>> .header-class th.el-table__cell > .cell {
line-height: 20px !important;
padding-top: 0 !important;
padding-bottom: 0 !important;
}
->>>.el-table__row {
+>>> .el-table__row {
height: 35px !important;
}
@@ -115,16 +115,16 @@
right: 70px;
}
->>>.is-disabled .el-textarea__inner {
+>>> .is-disabled .el-textarea__inner {
background: rgba(0, 0, 0, 0.05) !important;
}
->>>.is-disabled .el-textarea__inner {
+>>> .is-disabled .el-textarea__inner {
background: rgba(0, 0, 0, 0.05) !important;
}
->>>.el-table__body-wrapper::-webkit-scrollbar {
- height: 14px;
+>>> .el-table__body-wrapper::-webkit-scrollbar {
+ height: 6px;
/* 璁剧疆婊氬姩鏉″搴� */
}
</style>
@@ -135,7 +135,10 @@
border-radius: 2px;
}
-.standard .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
+.standard
+ .el-tree--highlight-current
+ .el-tree-node.is-current
+ > .el-tree-node__content {
color: #3a7bfa;
}
@@ -186,38 +189,81 @@
<div class="left">
<el-row>
<el-col :span="20">
- <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" suffix-icon="el-icon-search" v-model="search" size="small"
- style="margin-bottom: 5px" clearable @blur="searchFilter" @clear="searchFilter"></el-input>
+ <el-input
+ placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�"
+ suffix-icon="el-icon-search"
+ v-model="search"
+ size="small"
+ style="margin-bottom: 5px"
+ clearable
+ @blur="searchFilter"
+ @clear="searchFilter"
+ ></el-input>
</el-col>
- <el-col :span="4" style="text-align: center; line-height: 30px" v-if="addPower">
- <el-button type="primary" icon="el-icon-plus" size="mini" circle @click="addDia = true"></el-button>
+ <el-col
+ :span="4"
+ style="text-align: center; line-height: 30px"
+ v-if="addPower"
+ >
+ <el-button
+ type="primary"
+ icon="el-icon-plus"
+ size="mini"
+ circle
+ @click="addDia = true"
+ ></el-button>
</el-col>
</el-row>
- <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="label"
- :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current v-loading="treeLoad"
- :expand-on-click-node="false" :default-expanded-keys="expandedKeys" style="
+ <el-tree
+ :data="list"
+ ref="tree"
+ :props="{ children: 'children', label: 'label' }"
+ node-key="label"
+ :filter-node-method="filterNode"
+ @node-click="handleNodeClick"
+ highlight-current
+ v-loading="treeLoad"
+ :expand-on-click-node="false"
+ :default-expanded-keys="expandedKeys"
+ style="
height: calc(100% - 30px);
overflow-y: scroll;
scrollbar-width: none;
- ">
+ "
+ >
<div class="custom-tree-node" slot-scope="{ node, data }">
<el-row style="width: 100%">
- <el-col :span="21" :class="{ sort: node.level > 3 }" :title="data.label" style="text-align: left">
+ <el-col
+ :span="21"
+ :class="{ sort: node.level > 3 }"
+ :title="data.label"
+ style="text-align: left"
+ >
<span>
- <i :class="`node_i ${data.children != undefined
- ? data.code === '[1]'
- ? 'el-icon-folder-opened'
- : 'el-icon-folder'
- : 'el-icon-tickets'
- }`"></i>
+ <i
+ :class="`node_i ${
+ data.children != undefined
+ ? data.code === '[1]'
+ ? 'el-icon-folder-opened'
+ : 'el-icon-folder'
+ : 'el-icon-tickets'
+ }`"
+ ></i>
{{ data.label }}
</span>
</el-col>
- <el-col :span="2" style="text-align: right" v-if="
- (node.data.children === null ||
- node.data.children === undefined)
- ">
- <el-button type="text" size="mini" @click.stop="remove(node, data)">
+ <el-col
+ :span="2"
+ style="text-align: right"
+ v-if="
+ node.data.children === null || node.data.children === undefined
+ "
+ >
+ <el-button
+ type="text"
+ size="mini"
+ @click.stop="remove(node, data)"
+ >
<i class="el-icon-delete"></i>
</el-button>
</el-col>
@@ -230,98 +276,246 @@
<el-col :span="20" style="font-size: 14px; color: #999">{{
selectTree
}}</el-col>
- <el-button size="small" type="primary" style="position: absolute; right: 100px; top: 1px"
- @click="uploadDia = true" v-if="inExcelOfTreePower">瀵煎叆</el-button>
- <el-button size="small" type="primary" @click="handleMore" style="position: absolute; right: 5px; top: 1px"
- v-if="upStandardProduct">鎵归噺缂栬緫</el-button>
+ <el-button
+ size="small"
+ type="primary"
+ style="position: absolute; right: 100px; top: 1px"
+ @click="uploadDia = true"
+ v-if="inExcelOfTreePower"
+ >瀵煎叆</el-button
+ >
+ <el-button
+ size="small"
+ type="primary"
+ @click="handleMore"
+ style="position: absolute; right: 5px; top: 1px"
+ v-if="upStandardProduct"
+ >鎵归噺缂栬緫</el-button
+ >
</el-row>
<el-row class="standard_table" v-loading="tableLoad">
- <el-table class="el-table" :data="standardList" style="width: 100%; height: 220px !important" height="220"
- tooltip-effect="dark" highlight-current-row @row-click="rowClick" ref="standard"
- header-row-class-name="header-class">
- <el-table-column prop="code" label="鏍囧噯缂栧彿" show-overflow-tooltip width="200">
+ <el-table
+ class="el-table"
+ :data="standardList"
+ style="width: 100%; height: 220px !important"
+ height="220"
+ tooltip-effect="dark"
+ highlight-current-row
+ @row-click="rowClick"
+ ref="standard"
+ header-row-class-name="header-class"
+ >
+ <el-table-column
+ prop="code"
+ label="鏍囧噯缂栧彿"
+ show-overflow-tooltip
+ width="200"
+ >
<template slot-scope="scope">
<span style="color: red; font-size: 14px">{{
scope.row["code"]
}}</span>
</template>
</el-table-column>
- <el-table-column prop="name" label="鏍囧噯鍚嶇О" show-overflow-tooltip></el-table-column>
- <el-table-column prop="remark" label="澶囨敞" show-overflow-tooltip></el-table-column>
+ <el-table-column
+ prop="name"
+ label="鏍囧噯鍚嶇О"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="remark"
+ label="澶囨敞"
+ show-overflow-tooltip
+ ></el-table-column>
</el-table>
</el-row>
<el-row class="product_table" v-loading="tableLoad2">
- <el-table :data="productList" ref="productTable" style="width: 100%" height="100%" tooltip-effect="dark" stripe
- :fit="true" border @selection-change="handleSelectionChange" :row-class-name="tableRowClassName"
- @select="upProductSelect" @select-all="handleAll" class="productTable" header-row-class-name="header-class">
+ <el-table
+ :data="productList"
+ ref="productTable"
+ style="width: 100%"
+ height="100%"
+ tooltip-effect="dark"
+ stripe
+ :fit="true"
+ border
+ @selection-change="handleSelectionChange"
+ :row-class-name="tableRowClassName"
+ @select="upProductSelect"
+ @select-all="handleAll"
+ class="productTable"
+ header-row-class-name="header-class"
+ >
<el-table-column type="selection" width="50"> </el-table-column>
- <el-table-column prop="sample" label="浜у搧" min-width="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="model" label="鍨嬪彿" min-width="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip></el-table-column>
+ <el-table-column
+ prop="sample"
+ label="浜у搧"
+ min-width="100"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="model"
+ label="鍨嬪彿"
+ min-width="100"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="inspectionItem"
+ label="妫�楠岄」"
+ min-width="140"
+ show-overflow-tooltip
+ ></el-table-column>
<!-- <el-table-column prop="inspectionItemClassify" label="妫�楠岄」绫诲瀷" width="120" show-overflow-tooltip></el-table-column> -->
- <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" min-width="140"
- show-overflow-tooltip></el-table-column>
- <el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" width="130" show-overflow-tooltip></el-table-column>
+ <el-table-column
+ prop="inspectionItemSubclass"
+ label="妫�楠岄」瀛愰」"
+ min-width="140"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="sonLaboratory"
+ label="瀛愬疄楠屽"
+ width="130"
+ show-overflow-tooltip
+ ></el-table-column>
<el-table-column prop="ask" label="瑕佹眰鍊�" min-width="200px">
<template slot-scope="scope">
- <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable
- @change="(value) => upStandardProductList(value, scope.row.id)" v-if="upStandardProduct" type="textarea"
- :autosize="{ minRows: 1, maxRows: 3 }"></el-input>
+ <el-input
+ size="small"
+ placeholder="瑕佹眰鍊�"
+ v-model="scope.row.ask"
+ clearable
+ @change="(value) => upStandardProductList(value, scope.row.id)"
+ v-if="upStandardProduct"
+ type="textarea"
+ :autosize="{ minRows: 1, maxRows: 3 }"
+ ></el-input>
<span v-else>{{ scope.row.ask }}</span>
</template>
</el-table-column>
<el-table-column prop="tell" label="瑕佹眰鎻忚堪" min-width="220px">
<template slot-scope="scope">
- <el-input size="small" placeholder="瑕佹眰鎻忚堪" v-model="scope.row.tell" clearable @change="(value) => upStandardProductListOfTell(value, scope.row.id)
- " v-if="upStandardProduct" type="textarea" :autosize="{ minRows: 1, maxRows: 3 }"></el-input>
+ <el-input
+ size="small"
+ placeholder="瑕佹眰鎻忚堪"
+ v-model="scope.row.tell"
+ clearable
+ @change="
+ (value) => upStandardProductListOfTell(value, scope.row.id)
+ "
+ v-if="upStandardProduct"
+ type="textarea"
+ :autosize="{ minRows: 1, maxRows: 3 }"
+ ></el-input>
<span v-else>{{ scope.row.ask }}</span>
</template>
</el-table-column>
<el-table-column prop="method" label="璇曢獙鏂规硶" width="200">
<template slot-scope="scope">
- <el-select v-model="scope.row.methodS" size="small" placeholder="璇曢獙鏂规硶" @change="(value) => upStandardProductListOfMethodS(value, scope.row.id)
- " v-if="upStandardProduct">
- <el-option v-for="(a, i) in JSON.parse(scope.row.method)" :key="i" :label="a" :value="a"></el-option>
+ <el-select
+ v-model="scope.row.methodS"
+ size="small"
+ placeholder="璇曢獙鏂规硶"
+ @change="
+ (value) => upStandardProductListOfMethodS(value, scope.row.id)
+ "
+ v-if="upStandardProduct"
+ >
+ <el-option
+ v-for="(a, i) in JSON.parse(scope.row.method)"
+ :key="i"
+ :label="a"
+ :value="a"
+ ></el-option>
</el-select>
<span v-else>{{ scope.row.methodS }}</span>
</template>
</el-table-column>
- <el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" show-overflow-tooltip></el-table-column>
+ <el-table-column
+ prop="unit"
+ label="璁¢噺鍗曚綅"
+ width="100"
+ show-overflow-tooltip
+ ></el-table-column>
<el-table-column prop="price" label="鍗曚环(鍏�)" width="120">
<template slot-scope="scope">
- <el-input v-model="scope.row.price" size="small" placeholder="鍗曚环(鍏�)" @change="(value) => upStandardProductListOfPrice(value, scope.row.id)
- " v-if="upStandardProduct">
+ <el-input
+ v-model="scope.row.price"
+ size="small"
+ placeholder="鍗曚环(鍏�)"
+ @change="
+ (value) => upStandardProductListOfPrice(value, scope.row.id)
+ "
+ v-if="upStandardProduct"
+ >
</el-input>
<span v-else>{{ scope.row.price }}</span>
</template>
</el-table-column>
<el-table-column prop="manHour" label="宸ユ椂绯绘暟" width="120">
<template slot-scope="scope">
- <el-input v-model="scope.row.manHour" size="small" placeholder="宸ユ椂绯绘暟" @change="(value) => upStandardProductListOfManHour(value, scope.row.id)
- " v-if="upStandardProduct">
+ <el-input
+ v-model="scope.row.manHour"
+ size="small"
+ placeholder="宸ユ椂绯绘暟"
+ @change="
+ (value) => upStandardProductListOfManHour(value, scope.row.id)
+ "
+ v-if="upStandardProduct"
+ >
</el-input>
<span v-else>{{ scope.row.manHour }}</span>
</template>
</el-table-column>
- <el-table-column prop="manHourGroup" label="宸ユ椂鍒嗙粍" width="100" show-overflow-tooltip></el-table-column>
+ <el-table-column
+ prop="manHourGroup"
+ label="宸ユ椂鍒嗙粍"
+ width="100"
+ show-overflow-tooltip
+ ></el-table-column>
<el-table-column prop="templateId" label="妯℃澘" width="200">
<template slot-scope="scope">
- <el-select v-model="scope.row.templateId" size="small" filterable :disabled="!upStandardProduct" @change="(value) =>
- upStandardProductListOfTemplate(value, scope.row.id)
- ">
- <el-option v-for="(a, ai) in templateList" :key="ai" :label="a.name" :value="a.id"></el-option>
+ <el-select
+ v-model="scope.row.templateId"
+ size="small"
+ filterable
+ :disabled="!upStandardProduct"
+ @change="
+ (value) =>
+ upStandardProductListOfTemplate(value, scope.row.id)
+ "
+ >
+ <el-option
+ v-for="(a, ai) in templateList"
+ :key="ai"
+ :label="a.name"
+ :value="a.id"
+ ></el-option>
</el-select>
</template>
</el-table-column>
- <el-table-column prop="section" label="鍖洪棿" width="120" show-overflow-tooltip></el-table-column>
+ <el-table-column
+ prop="section"
+ label="鍖洪棿"
+ width="120"
+ show-overflow-tooltip
+ ></el-table-column>
<el-table-column prop="section" label="鎿嶄綔" width="120">
<template slot-scope="scope">
- <el-button type="text" @click="sectionUp(scope.row)">鍖洪棿璁剧疆</el-button>
+ <el-button type="text" @click="sectionUp(scope.row)"
+ >鍖洪棿璁剧疆</el-button
+ >
</template>
</el-table-column>
</el-table>
- <el-pagination style="position: absolute; right: 16px; bottom: 1px" @current-change="handleCurrentChange"
- :current-page="currentPage" layout="total, prev, pager, next, jumper" :page-size="50" :total="total">
+ <el-pagination
+ style="position: absolute; right: 16px; bottom: 1px"
+ @current-change="handleCurrentChange"
+ :current-page="currentPage"
+ layout="total, prev, pager, next, jumper"
+ :page-size="50"
+ :total="total"
+ >
</el-pagination>
</el-row>
</div>
@@ -356,150 +550,358 @@
<span class="required-span">* </span>鍨嬪彿锛�
</el-col>
<el-col :span="16" :offset="1">
- <el-input v-model="addOb.model" placeholder="璇疯緭鍏ュ瀷鍙�" clearable size="small"
- @keyup.enter.native="addStandardTree"></el-input>
+ <el-input
+ v-model="addOb.model"
+ placeholder="璇疯緭鍏ュ瀷鍙�"
+ clearable
+ size="small"
+ @keyup.enter.native="addStandardTree"
+ ></el-input>
</el-col>
</el-row>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="addDia = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="addStandardTree" :loading="addLoad">纭� 瀹�</el-button>
+ <el-button type="primary" @click="addStandardTree" :loading="addLoad"
+ >纭� 瀹�</el-button
+ >
</span>
</el-dialog>
- <el-dialog title="鎵归噺缂栬緫" top="5vh" :visible.sync="moreEdit" width="90%" class="more-edit">
- <div class="body" style="display: flex; flex-direction: column; height: 85vh">
+ <el-dialog
+ title="鎵归噺缂栬緫"
+ top="5vh"
+ :visible.sync="moreEdit"
+ width="90%"
+ class="more-edit"
+ >
+ <div
+ class="body"
+ style="display: flex; flex-direction: column; height: 85vh"
+ >
<div class="search">
<div class="search-item">
<el-row style="width: 25%; margin-bottom: 16px">
<el-col :span="6" style="text-align: right">
<!-- <span class="required-span">* </span> -->
- 瑕佹眰鍊硷細</el-col>
+ 瑕佹眰鍊硷細</el-col
+ >
<el-col :span="16">
- <el-input size="small" v-model="moreInfo.ask" clearable :disabled="moreSelects.length == 0"></el-input>
+ <el-input
+ size="small"
+ v-model="moreInfo.ask"
+ clearable
+ :disabled="moreSelects.length == 0"
+ ></el-input>
</el-col>
</el-row>
<el-row style="width: 25%; margin-bottom: 16px">
<el-col :span="6" style="text-align: right">
<!-- <span class="required-span">* </span> -->
- 瑕佹眰鎻忚堪锛�</el-col>
- <el-col :span="16" style="display: flex; align-items: flex-start; height: 100%">
- <el-input size="small" clearable type="textarea" :autosize="{ minRows: 1, maxRows: 3 }"
- v-model="moreInfo.tell" :disabled="moreSelects.length == 0"></el-input>
+ 瑕佹眰鎻忚堪锛�</el-col
+ >
+ <el-col
+ :span="16"
+ style="display: flex; align-items: flex-start; height: 100%"
+ >
+ <el-input
+ size="small"
+ clearable
+ type="textarea"
+ :autosize="{ minRows: 1, maxRows: 3 }"
+ v-model="moreInfo.tell"
+ :disabled="moreSelects.length == 0"
+ ></el-input>
</el-col>
</el-row>
<el-row style="width: 25%; margin-bottom: 16px">
<el-col :span="6" style="text-align: right">
<!-- <span class="required-span">* </span> -->
- 璇曢獙鏂规硶锛�</el-col>
+ 璇曢獙鏂规硶锛�</el-col
+ >
<el-col :span="16">
- <el-select v-model="moreInfo.methodS" size="small" filterable style="width: 100%"
- :disabled="moreSelects.length == 0" clearable>
- <el-option v-for="(a, ai) in methodList" :key="ai" :label="a.label" :value="a.value"></el-option>
+ <el-select
+ v-model="moreInfo.methodS"
+ size="small"
+ filterable
+ style="width: 100%"
+ :disabled="moreSelects.length == 0"
+ clearable
+ >
+ <el-option
+ v-for="(a, ai) in methodList"
+ :key="ai"
+ :label="a.label"
+ :value="a.value"
+ ></el-option>
</el-select>
</el-col>
</el-row>
<el-row style="width: 25%; margin-bottom: 16px">
<el-col :span="6" style="text-align: right">
<!-- <span class="required-span">* </span> -->
- 鍗曚环(鍏�)锛�</el-col>
+ 鍗曚环(鍏�)锛�</el-col
+ >
<el-col :span="16">
- <el-input size="small" v-model="moreInfo.price" clearable
- :disabled="moreSelects.length == 0"></el-input>
+ <el-input
+ size="small"
+ v-model="moreInfo.price"
+ clearable
+ :disabled="moreSelects.length == 0"
+ ></el-input>
</el-col>
</el-row>
<el-row style="width: 25%">
<el-col :span="6" style="text-align: right">
<!-- <span class="required-span">* </span> -->
- 宸ユ椂绯绘暟锛�</el-col>
+ 宸ユ椂绯绘暟锛�</el-col
+ >
<el-col :span="16">
- <el-input size="small" v-model="moreInfo.manHour" clearable
- :disabled="moreSelects.length == 0"></el-input>
+ <el-input
+ size="small"
+ v-model="moreInfo.manHour"
+ clearable
+ :disabled="moreSelects.length == 0"
+ ></el-input>
</el-col>
</el-row>
<el-row style="width: 25%">
<el-col :span="6" style="text-align: right">
<!-- <span class="required-span">* </span> -->
- 妯℃澘锛�</el-col>
+ 妯℃澘锛�</el-col
+ >
<el-col :span="16">
- <el-select v-model="moreInfo.templateId" size="small" filterable placeholder="妯℃澘" style="width: 100%"
- :disabled="moreSelects.length == 0">
- <el-option v-for="(a, ai) in templateList" :key="ai" :label="a.name" :value="a.id"></el-option>
+ <el-select
+ v-model="moreInfo.templateId"
+ size="small"
+ filterable
+ placeholder="妯℃澘"
+ style="width: 100%"
+ :disabled="moreSelects.length == 0"
+ >
+ <el-option
+ v-for="(a, ai) in templateList"
+ :key="ai"
+ :label="a.name"
+ :value="a.id"
+ ></el-option>
</el-select>
</el-col>
</el-row>
<el-row style="width: 25%">
<el-col :span="6" style="text-align: right"> 鏄惁鍚敤锛�</el-col>
<el-col :span="16">
- <el-select v-model="moreInfo.state" size="small" filterable placeholder="鏄惁鍚敤" style="width: 100%"
- :disabled="moreSelects.length == 0" clearable>
+ <el-select
+ v-model="moreInfo.state"
+ size="small"
+ filterable
+ placeholder="鏄惁鍚敤"
+ style="width: 100%"
+ :disabled="moreSelects.length == 0"
+ clearable
+ >
<el-option label="鍚敤" :value="1"></el-option>
<el-option label="涓嶅惎鐢�" :value="0"></el-option>
</el-select>
</el-col>
</el-row>
<el-row style="width: 100%; margin-top: 8px">
- <el-col :span="24" style="display: flex; align-items: center; justify-content: flex-end">
- <el-button @click="clearProduct(1)" size="small" type="danger">閲嶇疆鍗曚环</el-button>
- <el-button @click="clearProduct(2)" size="small" type="danger">閲嶇疆宸ユ椂绯绘暟</el-button>
- <el-button type="primary" size="small" @click="sectionUp(moreSelects)">璁剧疆鍖洪棿</el-button>
- <el-button @click="moreEdit = false" size="small">鍙� 娑�</el-button>
- <el-button type="primary" @click="subMoreEdit" :loading="moreEditLoad" size="small">淇� 瀛�</el-button>
+ <el-col
+ :span="24"
+ style="
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ "
+ >
+ <el-button @click="clearProduct(1)" size="small" type="danger"
+ >閲嶇疆鍗曚环</el-button
+ >
+ <el-button @click="clearProduct(2)" size="small" type="danger"
+ >閲嶇疆宸ユ椂绯绘暟</el-button
+ >
+ <el-button
+ type="primary"
+ size="small"
+ @click="sectionUp(moreSelects)"
+ >璁剧疆鍖洪棿</el-button
+ >
+ <el-button @click="moreEdit = false" size="small"
+ >鍙� 娑�</el-button
+ >
+ <el-button
+ type="primary"
+ @click="subMoreEdit"
+ :loading="moreEditLoad"
+ size="small"
+ >淇� 瀛�</el-button
+ >
</el-col>
</el-row>
</div>
</div>
<div style="flex: 1; overflow-y: auto" v-loading="productTableLoading0">
- <el-table :data="productList0" ref="productTable0" style="width: 100%" height="96%" tooltip-effect="dark"
- stripe :fit="true" border @select-all="handleSelectAll0" @select="handleSelectionChange0"
- header-row-class-name="header-class" :row-key="(row) => row.id" @filter-change="filterHandler"
- highlight-current-row>
+ <el-table
+ :data="productList0"
+ ref="productTable0"
+ style="width: 100%"
+ height="96%"
+ tooltip-effect="dark"
+ stripe
+ :fit="true"
+ border
+ @select-all="handleSelectAll0"
+ @select="handleSelectionChange0"
+ header-row-class-name="header-class"
+ :row-key="(row) => row.id"
+ @filter-change="filterHandler"
+ highlight-current-row
+ >
<el-table-column type="selection" width="50"> </el-table-column>
- <el-table-column prop="sample" label="浜у搧" min-width="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="model" label="鍨嬪彿" min-width="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip :filters="filters0"
- :filter-multiple="false" column-key="inspectionItem" filter-placement="bottom-start"></el-table-column>
- <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" min-width="140" show-overflow-tooltip
- :filters="filters1" :filter-multiple="false" column-key="inspectionItemSubclass"
- filter-placement="bottom-start"></el-table-column>
- <el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" width="130" show-overflow-tooltip
- :filters="dict.type.sys_sub_lab" :filter-multiple="false" column-key="sonLaboratory"
- filter-placement="bottom-start"></el-table-column>
- <el-table-column prop="ask" label="瑕佹眰鍊�" min-width="200px"></el-table-column>
- <el-table-column prop="tell" label="瑕佹眰鎻忚堪" min-width="220px"></el-table-column>
- <el-table-column prop="methodS" label="璇曢獙鏂规硶" width="200"></el-table-column>
- <el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="price" label="鍗曚环(鍏�)" width="120"></el-table-column>
- <el-table-column prop="manHour" label="宸ユ椂绯绘暟" width="120"></el-table-column>
- <el-table-column prop="manHourGroup" label="宸ユ椂鍒嗙粍" width="100" show-overflow-tooltip></el-table-column>
+ <el-table-column
+ prop="sample"
+ label="浜у搧"
+ min-width="100"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="model"
+ label="鍨嬪彿"
+ min-width="100"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="inspectionItem"
+ label="妫�楠岄」"
+ min-width="140"
+ show-overflow-tooltip
+ :filters="filters0"
+ :filter-multiple="false"
+ column-key="inspectionItem"
+ filter-placement="bottom-start"
+ ></el-table-column>
+ <el-table-column
+ prop="inspectionItemSubclass"
+ label="妫�楠岄」瀛愰」"
+ min-width="140"
+ show-overflow-tooltip
+ :filters="filters1"
+ :filter-multiple="false"
+ column-key="inspectionItemSubclass"
+ filter-placement="bottom-start"
+ ></el-table-column>
+ <el-table-column
+ prop="sonLaboratory"
+ label="瀛愬疄楠屽"
+ width="130"
+ show-overflow-tooltip
+ :filters="dict.type.sys_sub_lab"
+ :filter-multiple="false"
+ column-key="sonLaboratory"
+ filter-placement="bottom-start"
+ ></el-table-column>
+ <el-table-column
+ prop="ask"
+ label="瑕佹眰鍊�"
+ min-width="200px"
+ ></el-table-column>
+ <el-table-column
+ prop="tell"
+ label="瑕佹眰鎻忚堪"
+ min-width="220px"
+ ></el-table-column>
+ <el-table-column
+ prop="methodS"
+ label="璇曢獙鏂规硶"
+ width="200"
+ ></el-table-column>
+ <el-table-column
+ prop="unit"
+ label="璁¢噺鍗曚綅"
+ width="100"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="price"
+ label="鍗曚环(鍏�)"
+ width="120"
+ ></el-table-column>
+ <el-table-column
+ prop="manHour"
+ label="宸ユ椂绯绘暟"
+ width="120"
+ ></el-table-column>
+ <el-table-column
+ prop="manHourGroup"
+ label="宸ユ椂鍒嗙粍"
+ width="100"
+ show-overflow-tooltip
+ ></el-table-column>
<el-table-column prop="templateId" label="妯℃澘" width="200">
<template slot-scope="scope">
{{
templateList.find((item) => item.id == scope.row.templateId)
? templateList.find(
- (item) => item.id == scope.row.templateId
- ).name
+ (item) => item.id == scope.row.templateId
+ ).name
: ""
}}
</template>
</el-table-column>
- <el-table-column prop="section" label="鍖洪棿" width="120" show-overflow-tooltip></el-table-column>
+ <el-table-column
+ prop="section"
+ label="鍖洪棿"
+ width="120"
+ show-overflow-tooltip
+ ></el-table-column>
</el-table>
- <el-pagination style="position: absolute; right: 16px; bottom: 4px" @current-change="handleCurrentChange0"
- :current-page="currentPage0" layout="total, prev, pager, next, jumper" :page-size="100" :total="total0">
+ <el-pagination
+ style="position: absolute; right: 16px; bottom: 4px"
+ @current-change="handleCurrentChange0"
+ :current-page="currentPage0"
+ layout="total, prev, pager, next, jumper"
+ :page-size="100"
+ :total="total0"
+ >
</el-pagination>
</div>
</div>
</el-dialog>
- <el-dialog title="鍖洪棿璁剧疆" :visible.sync="sectionUpDia" width="70%" :close-on-click-modal="false">
+ <el-dialog
+ title="鍖洪棿璁剧疆"
+ :visible.sync="sectionUpDia"
+ width="70%"
+ :close-on-click-modal="false"
+ >
<div style="width: 100%; text-align: left">
- <el-button id="copyBtn" v-if="sectionList.length > 0" :data-clipboard-text="JSON.stringify(sectionList)"
- type="primary" size="mini" @click="copySectionConfig">澶嶅埗鍖洪棿璁剧疆</el-button>
- <el-button type="primary" size="mini" @click="openImportSectionsConfig">瀵煎叆鍖洪棿璁剧疆</el-button>
- <el-dialog :visible.sync="importSectionsConfigDia" width="30%" title="瀵煎叆鍖洪棿閰嶇疆">
- <el-input type="textarea" :rows="3" v-model="sectionsConfigText"></el-input>
+ <el-button
+ id="copyBtn"
+ v-if="sectionList.length > 0"
+ :data-clipboard-text="JSON.stringify(sectionList)"
+ type="primary"
+ size="mini"
+ @click="copySectionConfig"
+ >澶嶅埗鍖洪棿璁剧疆</el-button
+ >
+ <el-button type="primary" size="mini" @click="openImportSectionsConfig"
+ >瀵煎叆鍖洪棿璁剧疆</el-button
+ >
+ <el-dialog
+ :visible.sync="importSectionsConfigDia"
+ width="30%"
+ title="瀵煎叆鍖洪棿閰嶇疆"
+ >
+ <el-input
+ type="textarea"
+ :rows="3"
+ v-model="sectionsConfigText"
+ ></el-input>
<span slot="footer" class="dialog-footer">
- <el-button @click="importSectionsConfigDia = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="confirmImportConfig">纭</el-button>
+ <el-button @click="importSectionsConfigDia = false"
+ >鍙� 娑�</el-button
+ >
+ <el-button type="primary" @click="confirmImportConfig"
+ >纭</el-button
+ >
</span>
</el-dialog>
</div>
@@ -509,62 +911,112 @@
</el-table-column>
<el-table-column label="鍖洪棿" align="center">
<template slot-scope="scope">
- <el-input size="small" v-model="scope.row.thing" clearable placeholder="鍖洪棿"></el-input>
+ <el-input
+ size="small"
+ v-model="scope.row.thing"
+ clearable
+ placeholder="鍖洪棿"
+ ></el-input>
</template>
</el-table-column>
<el-table-column label="瑕佹眰鍊�" align="center">
<template slot-scope="scope">
- <el-input size="small" v-model="scope.row.ask" clearable placeholder="瑕佹眰鍊�"></el-input>
+ <el-input
+ size="small"
+ v-model="scope.row.ask"
+ clearable
+ placeholder="瑕佹眰鍊�"
+ ></el-input>
</template>
</el-table-column>
<el-table-column label="瑕佹眰鎻忚堪" align="center">
<template slot-scope="scope">
- <el-input size="small" placeholder="瑕佹眰鎻忚堪" v-model="scope.row.tell" clearable type="textarea"
- :autosize="{ minRows: 1, maxRows: 2 }"></el-input>
+ <el-input
+ size="small"
+ placeholder="瑕佹眰鎻忚堪"
+ v-model="scope.row.tell"
+ clearable
+ type="textarea"
+ :autosize="{ minRows: 1, maxRows: 2 }"
+ ></el-input>
</template>
</el-table-column>
<el-table-column label="鍗曚环" align="center" width="120">
<template slot-scope="scope">
- <el-input size="small" v-model="scope.row.price" clearable placeholder="鍗曚环"></el-input>
+ <el-input
+ size="small"
+ v-model="scope.row.price"
+ clearable
+ placeholder="鍗曚环"
+ ></el-input>
</template>
</el-table-column>
<el-table-column label="宸ユ椂绯绘暟" align="center" width="120">
<template slot-scope="scope">
- <el-input size="small" v-model="scope.row.manHour" clearable placeholder="宸ユ椂绯绘暟"></el-input>
+ <el-input
+ size="small"
+ v-model="scope.row.manHour"
+ clearable
+ placeholder="宸ユ椂绯绘暟"
+ ></el-input>
</template>
</el-table-column>
<el-table-column label="鎿嶄綔" width="70" align="center">
<template slot-scope="scope">
- <el-button size="mini" type="danger" icon="el-icon-minus" circle
- @click="sectionList.splice(scope.$index, 1)"></el-button>
+ <el-button
+ size="mini"
+ type="danger"
+ icon="el-icon-minus"
+ circle
+ @click="sectionList.splice(scope.$index, 1)"
+ ></el-button>
</template>
</el-table-column>
</el-table>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="sectionUpDia = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="sectionLoadAdd" :loading="sectionLoad">淇� 瀛�</el-button>
- <el-button type="primary" @click="
- sectionList.push({
- thing: '',
- price: sectionRow.price,
- manHour: sectionRow.manHour,
- })
- " icon="el-icon-plus"></el-button>
+ <el-button type="primary" @click="sectionLoadAdd" :loading="sectionLoad"
+ >淇� 瀛�</el-button
+ >
+ <el-button
+ type="primary"
+ @click="
+ sectionList.push({
+ thing: '',
+ price: sectionRow.price,
+ manHour: sectionRow.manHour,
+ })
+ "
+ icon="el-icon-plus"
+ ></el-button>
</span>
</el-dialog>
<el-dialog title="鏁版嵁瀵煎叆" :visible.sync="uploadDia" width="500px">
<div style="margin: 0 auto">
- <el-upload ref="upload" drag :action="javaApi + '/standardTree/inExcelOfTree' + '/' + 'false'
- " :headers="uploadHeader" :file-list="fileList" name="file" :auto-upload="false" accept=".xlsx" :limit="1"
- :on-change="beforeUpload" :on-success="onSuccess" :on-error="onError">
+ <el-upload
+ ref="upload"
+ drag
+ :action="javaApi + '/standardTree/inExcelOfTree' + '/' + 'false'"
+ :headers="uploadHeader"
+ :file-list="fileList"
+ name="file"
+ :auto-upload="false"
+ accept=".xlsx"
+ :limit="1"
+ :on-change="beforeUpload"
+ :on-success="onSuccess"
+ :on-error="onError"
+ >
<i class="el-icon-upload"></i>
<div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
</el-upload>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="uploadDia = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="submitUpload()" :loading="uploading">涓� 浼�</el-button>
+ <el-button type="primary" @click="submitUpload()" :loading="uploading"
+ >涓� 浼�</el-button
+ >
</span>
</el-dialog>
</div>
@@ -588,10 +1040,10 @@
resetTreeOfPrice,
resetTreeOfHour,
selectsStandardMethodByFLSSM,
-} from '@/api/standard/standardLibrary.js'
+} from "@/api/standard/standardLibrary.js";
export default {
- dicts: ['sys_sub_lab'],
+ dicts: ["sys_sub_lab"],
data() {
return {
importSectionsConfigDia: false,
@@ -708,7 +1160,7 @@
this.selectStandardMethods();
},
methods: {
- confirmImportConfig() { },
+ confirmImportConfig() {},
openImportSectionsConfig() {
// this.importSectionsConfigDia = true
this.$confirm("纭瀵煎叆澶嶅埗鐨勫尯闂撮厤缃�?", "鎻愮ず", {
@@ -736,7 +1188,7 @@
this.$message.success("瀵煎叆鎴愬姛");
}
})
- .catch(() => { });
+ .catch(() => {});
},
//澶嶅埗鍖洪棿閰嶇疆
copySectionConfig() {
@@ -825,7 +1277,7 @@
this.productList = [];
});
})
- .catch((e) => { });
+ .catch((e) => {});
},
deleteStandard(arr, label) {
arr.forEach((item, index) => {
@@ -987,27 +1439,27 @@
return;
}
this.addLoad = true;
- addStandardTree(this.addOb).then((res) => {
- if (res.code === 201) {
+ addStandardTree(this.addOb)
+ .then((res) => {
+ if (res.code === 201) {
+ this.addLoad = false;
+ return;
+ }
+ this.$message.success("娣诲姞鎴愬姛");
+ this.addDia = false;
+ this.list
+ .find((a) => a.label == this.addOb.factory)
+ .children.find((a) => a.label == this.addOb.laboratory)
+ .children.find((a) => a.label == this.addOb.sampleType)
+ .children.find((a) => a.label == this.addOb.sample)
+ .children.push({
+ code: "[5]",
+ label: this.addOb.model,
+ value: this.addOb.model,
+ });
this.addLoad = false;
- return;
- }
- this.$message.success("娣诲姞鎴愬姛");
- this.addDia = false;
- this.list
- .find((a) => a.label == this.addOb.factory)
- .children.find((a) => a.label == this.addOb.laboratory)
- .children.find((a) => a.label == this.addOb.sampleType)
- .children.find((a) => a.label == this.addOb.sample)
- .children.push({
- code: "[5]",
- label: this.addOb.model,
- value: this.addOb.model,
- });
- this.addLoad = false;
- this.$tab.refreshPage();
-
- })
+ this.$tab.refreshPage();
+ })
.catch((e) => {
this.addDia = false;
this.addLoad = false;
@@ -1017,17 +1469,16 @@
this.tableLoad = true;
selectsStandardMethodByFLSSM({
tree: this.selectTree,
- })
- .then((res) => {
- this.tableLoad = false;
- this.standardList = res.data.standardMethodList;
- if (this.standardList && this.standardList.length > 0) {
- this.$refs.standard.setCurrentRow(this.standardList[0]);
- this.rowClick(this.standardList[0]);
- } else {
- this.productList = [];
- }
- });
+ }).then((res) => {
+ this.tableLoad = false;
+ this.standardList = res.data.standardMethodList;
+ if (this.standardList && this.standardList.length > 0) {
+ this.$refs.standard.setCurrentRow(this.standardList[0]);
+ this.rowClick(this.standardList[0]);
+ } else {
+ this.productList = [];
+ }
+ });
},
getPower() {
let power = JSON.parse(sessionStorage.getItem("power"));
@@ -1094,14 +1545,13 @@
id: index,
tell: value,
}),
- })
- .then((res) => {
- if (res.code == 201) {
- this.$message.error("鏈繚瀛�");
- return;
- }
- this.$message.success("宸蹭繚瀛�");
- });
+ }).then((res) => {
+ if (res.code == 201) {
+ this.$message.error("鏈繚瀛�");
+ return;
+ }
+ this.$message.success("宸蹭繚瀛�");
+ });
},
upStandardProductListOfMethodS(value, index) {
upStandardProductList({
@@ -1109,14 +1559,13 @@
id: index,
methodS: value,
}),
- })
- .then((res) => {
- if (res.code == 201) {
- this.$message.error("鏈繚瀛�");
- return;
- }
- // this.$message.success('宸蹭繚瀛�')
- });
+ }).then((res) => {
+ if (res.code == 201) {
+ this.$message.error("鏈繚瀛�");
+ return;
+ }
+ // this.$message.success('宸蹭繚瀛�')
+ });
},
upStandardProductListOfPrice(value, index) {
upStandardProductList({
@@ -1124,14 +1573,13 @@
id: index,
price: value,
}),
- })
- .then((res) => {
- if (res.code == 201) {
- this.$message.error("鏈繚瀛�");
- return;
- }
- // this.$message.success('宸蹭繚瀛�')
- });
+ }).then((res) => {
+ if (res.code == 201) {
+ this.$message.error("鏈繚瀛�");
+ return;
+ }
+ // this.$message.success('宸蹭繚瀛�')
+ });
},
upStandardProductListOfManHour(value, index) {
upStandardProductList({
@@ -1139,14 +1587,13 @@
id: index,
manHour: value,
}),
- })
- .then((res) => {
- if (res.code == 201) {
- this.$message.error("鏈繚瀛�");
- return;
- }
- // this.$message.success('宸蹭繚瀛�')
- });
+ }).then((res) => {
+ if (res.code == 201) {
+ this.$message.error("鏈繚瀛�");
+ return;
+ }
+ // this.$message.success('宸蹭繚瀛�')
+ });
},
upStandardProductListOfTemplate(value, index) {
upStandardProductList({
@@ -1154,14 +1601,13 @@
id: index,
templateId: value,
}),
- })
- .then((res) => {
- if (res.code == 201) {
- this.$message.error("鏈繚瀛�");
- return;
- }
- // this.$message.success('宸蹭繚瀛�')
- });
+ }).then((res) => {
+ if (res.code == 201) {
+ this.$message.error("鏈繚瀛�");
+ return;
+ }
+ // this.$message.success('宸蹭繚瀛�')
+ });
},
delStandardMethodByFLSSM(id) {
this.$confirm("鏄惁鍒犻櫎褰撳墠鏁版嵁?", "璀﹀憡", {
@@ -1171,7 +1617,7 @@
})
.then(() => {
this.tableLoad = true;
- delStandardMethodByFLSSM({ id: id, }).then((res) => {
+ delStandardMethodByFLSSM({ id: id }).then((res) => {
if (res.code == 201) {
return;
}
@@ -1179,7 +1625,7 @@
this.selectsStandardMethodByFLSSM();
});
})
- .catch(() => { });
+ .catch(() => {});
},
handleSelectionChange(val) {
this.selects = [];
@@ -1213,7 +1659,7 @@
this.selectsStandardMethodByFLSSM();
});
})
- .catch(() => { });
+ .catch(() => {});
},
// addStandardProductDo() {
// let selects = this.$refs.ValueTable.multipleSelection;
@@ -1386,16 +1832,15 @@
price: this.sectionRow.price,
manHour: this.sectionRow.manHour,
}),
- })
- .then((res) => {
- this.sectionLoad = false;
- if (res.code == 201) {
- this.$message.error("鏈繚瀛�");
- return;
- }
- this.$message.success("宸蹭繚瀛�");
- this.sectionUpDia = false;
- });
+ }).then((res) => {
+ this.sectionLoad = false;
+ if (res.code == 201) {
+ this.$message.error("鏈繚瀛�");
+ return;
+ }
+ this.$message.success("宸蹭繚瀛�");
+ this.sectionUpDia = false;
+ });
} else {
upStandardProducts({
ids: JSON.stringify(this.moreSelects.map((a) => a.id)),
@@ -1479,7 +1924,7 @@
upStandardProducts({
ids: JSON.stringify(this.moreSelects.map((a) => a.id)),
standardProductList: this.moreInfo,
- },).then((res) => {
+ }).then((res) => {
this.moreEditLoad = false;
if (res.code == 201) {
this.$message.error("鏈繚瀛�");
@@ -1531,23 +1976,22 @@
laboratory: this.sonLaboratory,
items: this.inspectionItemSubclass,
item: this.inspectionItem,
- })
- .then((res) => {
- this.productList0 = res.data.records;
- this.total0 = res.data.total;
- this.productTableLoading0 = false;
- this.page = res.data.pages;
- this.$nextTick(() => {
- this.productList0.forEach((a, i) => {
- if (this.moreSelects.find((b) => a.id == b.id)) {
- this.$refs.productTable0.toggleRowSelection(
- this.productList0[i],
- true
- );
- }
- });
+ }).then((res) => {
+ this.productList0 = res.data.records;
+ this.total0 = res.data.total;
+ this.productTableLoading0 = false;
+ this.page = res.data.pages;
+ this.$nextTick(() => {
+ this.productList0.forEach((a, i) => {
+ if (this.moreSelects.find((b) => a.id == b.id)) {
+ this.$refs.productTable0.toggleRowSelection(
+ this.productList0[i],
+ true
+ );
+ }
});
});
+ });
},
handleCurrentChange0(e) {
this.currentPage0 = e;
@@ -1558,25 +2002,24 @@
id: this.standardId,
tree: this.selectTree,
item: this.inspectionItem,
- })
- .then((res) => {
- this.filters0 = [];
- this.filters1 = [];
- res.data.item.forEach((a) => {
- this.filters0.push({
- text: a.inspectionItem,
- value: a.inspectionItem,
- });
- });
- res.data.items.forEach((a) => {
- if (a != null) {
- this.filters1.push({
- text: a.inspectionItemSubclass,
- value: a.inspectionItemSubclass,
- });
- }
+ }).then((res) => {
+ this.filters0 = [];
+ this.filters1 = [];
+ res.data.item.forEach((a) => {
+ this.filters0.push({
+ text: a.inspectionItem,
+ value: a.inspectionItem,
});
});
+ res.data.items.forEach((a) => {
+ if (a != null) {
+ this.filters1.push({
+ text: a.inspectionItemSubclass,
+ value: a.inspectionItemSubclass,
+ });
+ }
+ });
+ });
},
beforeUpload(file, fileList) {
if (
@@ -1640,21 +2083,20 @@
resetTreeOfHour({
tree: this.selectTree,
standardId: this.standardId,
- })
- .then((res) => {
- if (res.code == 201) {
- return;
- }
- this.$message.success("宸叉竻绌�");
- this.currentPage0 = 1;
- this.getList();
- this.rowClick({
- id: this.standardId,
- });
+ }).then((res) => {
+ if (res.code == 201) {
+ return;
+ }
+ this.$message.success("宸叉竻绌�");
+ this.currentPage0 = 1;
+ this.getList();
+ this.rowClick({
+ id: this.standardId,
});
+ });
}
})
- .catch(() => { });
+ .catch(() => {});
},
},
};
--
Gitblit v1.9.3