From 9a4d054c9dd589cd40e3d9a8a3657281a2c87025 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 12 三月 2025 19:32:30 +0800
Subject: [PATCH] 完成检验下单接口联调及自测
---
src/views/business/inspectionOrder/equip-config.vue | 1236 ++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 758 insertions(+), 478 deletions(-)
diff --git a/src/views/business/inspectionOrder/equip-config.vue b/src/views/business/inspectionOrder/equip-config.vue
index ddf3fbd..33f637c 100644
--- a/src/views/business/inspectionOrder/equip-config.vue
+++ b/src/views/business/inspectionOrder/equip-config.vue
@@ -2,54 +2,152 @@
<div class="ins_order_config">
<div>
<el-row class="title">
- <el-col :span="6" style="padding-left: 20px;text-align: left;">瀛愭牱鍝侀厤缃�</el-col>
- <el-col :span="18" style="text-align: right;">
- <el-button size="medium" type="primary" @click="addChild" v-if="active==1">娣诲姞瀛愭牱鍝�</el-button>
- <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-if="active==1">淇� 瀛�</el-button>
+ <el-col :span="6" style="padding-left: 20px; text-align: left"
+ >瀛愭牱鍝侀厤缃�</el-col
+ >
+ <el-col :span="18" style="text-align: right">
+ <el-button
+ size="medium"
+ type="primary"
+ @click="addChild"
+ v-if="active == 1"
+ >娣诲姞瀛愭牱鍝�</el-button
+ >
+ <el-button
+ size="medium"
+ type="primary"
+ @click="save"
+ :loading="saveLoad"
+ v-if="active == 1"
+ >淇� 瀛�</el-button
+ >
<el-button size="medium" @click="outConfig">
- <span style="color: #3A7BFA;">杩� 鍥�</span>
+ <span style="color: #3a7bfa">杩� 鍥�</span>
</el-button>
</el-col>
</el-row>
</div>
<div class="center">
- <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" height="50%" tooltip-effect="dark"
- border highlight-current-row @row-click="rowClick" @current-change="selectSample">
- <!-- <el-table-column type="selection" width="60" :selectable="selectable" v-if="active==1"></el-table-column> -->
- <el-table-column type="index" label="搴忓彿" width="65" align="center"></el-table-column>
- <el-table-column prop="sample" label="鏍峰搧鍚嶇О" align="center" min-width="100">
+ <el-table
+ class="el-table sampleTable"
+ ref="sampleTable"
+ :data="sampleList"
+ height="50%"
+ tooltip-effect="dark"
+ border
+ highlight-current-row
+ @row-click="rowClick"
+ @current-change="selectSample"
+ >
+ <el-table-column
+ type="index"
+ label="搴忓彿"
+ width="65"
+ align="center"
+ ></el-table-column>
+ <el-table-column
+ prop="sample"
+ label="鏍峰搧鍚嶇О"
+ align="center"
+ min-width="100"
+ >
<template slot-scope="scope">
- <el-input size="small" v-model="scope.row.sample" clearable :readonly="active>1"></el-input>
+ <el-input
+ size="small"
+ v-model="scope.row.sample"
+ clearable
+ :readonly="active > 1"
+ ></el-input>
</template>
</el-table-column>
- <el-table-column prop="sampleCode" label="鏍峰搧缂栧彿" min-width="140" align="center">
+ <el-table-column
+ prop="sampleCode"
+ label="鏍峰搧缂栧彿"
+ min-width="140"
+ align="center"
+ >
<template slot-scope="scope">
- <el-input size="small" v-model="scope.row.sampleCode" clearable placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚"
- :readonly="active>1"></el-input>
+ <el-input
+ size="small"
+ v-model="scope.row.sampleCode"
+ clearable
+ placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚"
+ :readonly="active > 1"
+ ></el-input>
</template>
</el-table-column>
- <el-table-column prop="model" label="鏍峰搧鍨嬪彿" align="center" min-width="100">
+ <el-table-column
+ prop="model"
+ label="鏍峰搧鍨嬪彿"
+ align="center"
+ min-width="100"
+ >
<template slot-scope="scope">
- <el-select v-model="scope.row.model" filterable allow-create default-first-option placeholder="鏍峰搧鍨嬪彿"
- size="small" @change="handleChangeModel" :disabled="active>1" style="width: 100%;">
- <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
+ <el-select
+ v-model="scope.row.model"
+ filterable
+ allow-create
+ default-first-option
+ placeholder="鏍峰搧鍨嬪彿"
+ size="small"
+ @change="handleChangeModel"
+ :disabled="active > 1"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in models"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
</el-option>
</el-select>
</template>
</el-table-column>
- <el-table-column prop="modelNum" label="鍨嬪彿鍙傛暟" width="130" align="center" v-if="!(active>1)">
+ <el-table-column
+ prop="modelNum"
+ label="鍨嬪彿鍙傛暟"
+ width="130"
+ align="center"
+ v-if="!(active > 1)"
+ >
<template slot-scope="scope">
- <el-input size="small" v-model="scope.row.modelNum" clearable placeholder="闈炲繀濉�"
- @keyup.enter.native="methodChange(scope.row.standardMethodListId, scope.row)"
- @clear="methodChange(scope.row.standardMethodListId, scope.row)"></el-input>
+ <el-input
+ size="small"
+ v-model="scope.row.modelNum"
+ clearable
+ placeholder="闈炲繀濉�"
+ @keyup.enter.native="
+ methodChange(scope.row.standardMethodListId, scope.row)
+ "
+ @clear="methodChange(scope.row.standardMethodListId, scope.row)"
+ ></el-input>
</template>
</el-table-column>
- <el-table-column prop="standardMethodListId" label="妫�楠屾爣鍑�" align="center" min-width="100">
+ <el-table-column
+ prop="standardMethodListId"
+ label="妫�楠屾爣鍑�"
+ align="center"
+ min-width="100"
+ >
<template slot-scope="scope">
- <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1"
- placeholder="妫�楠屾爣鍑�" size="small" :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)"
- @focus="methodFocus" :readonly="active>1" style="width: 100%;">
- <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
+ <el-select
+ v-model="scope.row.standardMethodListId"
+ :disabled="scope.row.model == null || active > 1"
+ placeholder="妫�楠屾爣鍑�"
+ size="small"
+ :loading="methodLoad"
+ @change="(value) => methodChange(value, scope.row)"
+ @focus="methodFocus"
+ :readonly="active > 1"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in methods"
+ :key="item.id"
+ :label="item.code"
+ :value="item.id"
+ >
</el-option>
</el-select>
</template>
@@ -58,59 +156,162 @@
</el-table-column>
<el-table-column label="鎿嶄綔" width="120">
<template slot-scope="scope">
- <el-button @click.native.prevent="deleteRow(scope.$index, sampleList)" type="text"
- size="small">鍒犻櫎</el-button>
+ <el-button
+ @click.native.prevent="deleteRow(scope.$index, sampleList)"
+ type="text"
+ size="small"
+ >鍒犻櫎</el-button
+ >
</template>
</el-table-column>
</el-table>
- <el-table class="el-table" ref="productTable" :data="productList" height="50%" tooltip-effect="dark" border
- @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect"
- :row-class-name="tableRowClassName" v-loading="getProductLoad" @select-all="handleAll">
- <el-table-column type="selection" width="65" :selectable="selectable" v-if="active==1"></el-table-column>
- <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" 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="瀛愬疄楠屽" min-width="130" show-overflow-tooltip :filters="filters"
- :filter-method="filterHandler"></el-table-column>
- <el-table-column prop="methodS" label="璇曢獙鏂规硶" min-width="120" show-overflow-tooltip>
+ <el-table
+ class="el-table"
+ ref="productTable"
+ :data="productList"
+ height="50%"
+ tooltip-effect="dark"
+ border
+ @selection-change="selectProduct"
+ style="margin-bottom: 10px"
+ @select="upProductSelect"
+ :row-class-name="tableRowClassName"
+ v-loading="getProductLoad"
+ @select-all="handleAll"
+ >
+ <el-table-column
+ type="selection"
+ width="65"
+ :selectable="selectable"
+ v-if="active == 1"
+ ></el-table-column>
+ <el-table-column
+ prop="inspectionItem"
+ label="妫�楠岄」"
+ min-width="140"
+ 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="瀛愬疄楠屽"
+ min-width="130"
+ show-overflow-tooltip
+ :filters="filters"
+ :filter-method="filterHandler"
+ ></el-table-column>
+ <el-table-column
+ prop="methodS"
+ label="璇曢獙鏂规硶"
+ min-width="120"
+ 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="100" show-overflow-tooltip></el-table-column>
- <el-table-column prop="section" label="鍖洪棿" min-width="120" 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="100"
+ show-overflow-tooltip
+ ></el-table-column>
+ <el-table-column
+ prop="section"
+ label="鍖洪棿"
+ min-width="120"
+ show-overflow-tooltip
+ ></el-table-column>
<el-table-column prop="ask" label="瑕佹眰鍊�" min-width="220px">
<template slot-scope="scope">
- <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea"
- :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)"
- v-if="active==1&&isAskOnlyRead"></el-input>
+ <el-input
+ size="small"
+ placeholder="瑕佹眰鍊�"
+ v-model="scope.row.ask"
+ clearable
+ type="textarea"
+ :autosize="{ minRows: 1, maxRows: 3 }"
+ @change="(e) => requestChange(e, scope.row)"
+ v-if="active == 1 && isAskOnlyRead"
+ ></el-input>
<span v-else>{{ scope.row.ask }}</span>
</template>
</el-table-column>
</el-table>
</div>
- <el-dialog title="閫夋嫨瀛愭牱鍝�" :visible.sync="selectStandardTree" width="400px" @closed="addObj.sampleNum = 1">
- <div class="body" style="height: 60vh;overflow-y: auto;user-select: none;" v-if="selectStandardTree">
- <el-row style="margin-bottom: 10px;">
+ <el-dialog
+ title="閫夋嫨瀛愭牱鍝�"
+ :visible.sync="selectStandardTree"
+ width="400px"
+ @closed="addObj.sampleNum = 1"
+ >
+ <div
+ class="body"
+ style="height: 60vh; overflow-y: auto; user-select: none"
+ v-if="selectStandardTree"
+ >
+ <el-row style="margin-bottom: 10px">
<el-col :span="24">
<label>鏍峰搧鏁伴噺锛�</label>
- <el-input-number v-model="addObj.sampleNum" :min="1" label="璇疯緭鍏ユ暟閲�" size="small"></el-input-number>
+ <el-input-number
+ v-model="addObj.sampleNum"
+ :min="1"
+ label="璇疯緭鍏ユ暟閲�"
+ size="small"
+ ></el-input-number>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
- <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" suffix-icon="el-icon-search" v-model="search" size="small"
- style="margin-bottom: 5px;" clearable @blur="searchFilter" @clear="searchFilter"
- @keyup.enter.native="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"
+ @keyup.enter.native="searchFilter"
+ ></el-input>
</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 @node-expand="nodeOpen"
- @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" @dblclick.native="activeStandardTree">
+ <el-tree
+ :data="list"
+ ref="tree"
+ :props="{ children: 'children', label: 'label' }"
+ node-key="label"
+ :filter-node-method="filterNode"
+ @node-click="handleNodeClick"
+ highlight-current
+ @node-expand="nodeOpen"
+ @node-collapse="nodeClose"
+ :default-expanded-keys="expandedKeys"
+ @dblclick.native="activeStandardTree"
+ >
<div class="custom-tree-node" slot-scope="{ node, data }">
<el-row>
<el-col :span="24">
- <span><i
- :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i>
- {{ data.code }} {{ data.label }}</span>
+ <span
+ ><i
+ :class="`node_i ${
+ data.children != undefined
+ ? data.code === '[1]'
+ ? 'el-icon-folder-opened'
+ : 'el-icon-folder'
+ : 'el-icon-tickets'
+ }`"
+ ></i>
+ {{ data.code }} {{ data.label }}</span
+ >
</el-col>
</el-row>
</div>
@@ -121,24 +322,42 @@
<el-button type="primary" @click="activeStandardTree">纭� 瀹�</el-button>
</span>
</el-dialog>
- <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1Dia" width="500px" :show-close="false"
- :before-close="beforeClose">
- <div class="body" style="max-height: 60vh;">
+ <el-dialog
+ title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨"
+ :visible.sync="bsm1Dia"
+ width="500px"
+ :show-close="false"
+ :before-close="beforeClose"
+ >
+ <div class="body" style="max-height: 60vh">
<el-row v-if="bsm1">
<el-col class="search_thing" :span="22">
- <div class="search_label"><span class="required-span">* </span>鎶ゅ瀵嗗害锛�</div>
+ <div class="search_label">
+ <span class="required-span">* </span>鎶ゅ瀵嗗害锛�
+ </div>
<div class="search_input">
<el-radio-group v-model="bsm1Val" @input="upBsm1">
- <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a"></el-radio>
+ <el-radio
+ v-for="(a, ai) in JSON.parse(bsmRow.section)"
+ :key="ai"
+ :label="a"
+ ></el-radio>
</el-radio-group>
</div>
</el-col>
<el-col class="search_thing" :span="22">
<div class="search_label">瑕佹眰鍊硷細</div>
- <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''">
+ <div
+ class="search_input"
+ v-show="bsm1Val !== null && bsm1Val !== ''"
+ >
<el-radio-group v-model="bsm1Val" @input="upBsm1">
- <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai"
- :label="a">{{JSON.parse(bsmRow.ask)[ai]}}</el-radio>
+ <el-radio
+ v-for="(a, ai) in JSON.parse(bsmRow.section)"
+ :key="ai"
+ :label="a"
+ >{{ JSON.parse(bsmRow.ask)[ai] }}</el-radio
+ >
</el-radio-group>
</div>
</el-col>
@@ -149,443 +368,504 @@
</template>
<script>
- export default {
- props: {
- active: {
- type: Number,
- default: () => 0
- },
+import {
+ getStandTreeBySampleType,
+ selectStandardTreeList2,
+ selectStandardMethodEnum,
+ selectsStandardMethodByFLSSM,
+ selectStandardProductList,
+} from "@/api/standard/standardLibrary";
+export default {
+ props: {
+ active: {
+ type: Number,
+ default: () => 0,
},
- data() {
- return {
- saveLoad: false,
- sampleList: [],
- productList: [],
- getProductLoad: false,
- filters: [],
- sampleIds: [],
- isAskOnlyRead: false,
- selectStandardTree: false,
- search: '',
- expandedKeys: [],
- addObj: {
- sampleNum: 1,
- },
- selectTree: null,
- models: [],
- sample: {
- sampleCode: null,
- laboratory: null,
- factory: null,
- sampleType: null,
- sample: null,
- model: null,
- modelNum: null,
- sampleNum: 1,
- isLeave: 0,
- unit: null
- },
- currentMethod: null,
- methods: [],
- methodLoad: false,
- sampleId: null,
- bsmRow: null,
- bsm1: false,
- bsm1Val: null,
- bsm1Dia: false,
- list: [],
- parentSample: []
+ },
+ data() {
+ return {
+ saveLoad: false,
+ sampleList: [],
+ productList: [],
+ getProductLoad: false,
+ filters: [],
+ sampleIds: [],
+ isAskOnlyRead: false,
+ selectStandardTree: false,
+ search: "",
+ expandedKeys: [],
+ addObj: {
+ sampleNum: 1,
+ },
+ selectTree: null,
+ models: [],
+ sample: {
+ sampleCode: null,
+ laboratory: null,
+ factory: null,
+ sampleType: null,
+ sample: null,
+ model: null,
+ modelNum: null,
+ sampleNum: 1,
+ isLeave: 0,
+ unit: null,
+ },
+ currentMethod: null,
+ methods: [],
+ methodLoad: false,
+ sampleId: null,
+ bsmRow: null,
+ bsm1: false,
+ bsm1Val: null,
+ bsm1Dia: false,
+ list: [],
+ parentSample: [],
+ };
+ },
+ mounted() {
+ this.selectStandardTreeList();
+ this.selectStandardMethods();
+ this.$parent.sampleIds.forEach((a) => {
+ for (var i = 0; i < this.$parent.sampleList.length; i++) {
+ if (this.$parent.sampleList[i].id == a) {
+ this.sampleList = this.$parent.sampleList[i].childSampleList;
+ this.parentSample.push(this.$parent.sampleList[i]);
+ break;
+ }
+ }
+ });
+ },
+ methods: {
+ selectStandardTreeList() {
+ selectStandardTreeList()
+ .then((res) => {
+ if (res.code === 200) {
+ this.list = res.data;
+ this.list.forEach((a) => {
+ this.expandedKeys.push(a.label);
+ });
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ save() {
+ if (this.sampleList.length === 0) {
+ this.$message.error("缂哄皯閰嶇疆鏃犳硶淇濆瓨");
+ return;
+ }
+ this.parentSample.forEach((a) => {
+ a.childSampleList = this.sampleList;
+ });
+ this.$message.success("宸蹭繚瀛�");
+ },
+ deleteRow(index, rows) {
+ this.productList = [];
+ rows.splice(index, 1);
+ },
+ outConfig() {
+ this.$parent.equipConfigShow = false;
+ },
+ addChild() {
+ this.selectStandardTree = true;
+ },
+ selectSample(val) {
+ if (val === null) return;
+ this.sampleIds = [val.id];
+ },
+ rowClick(row, column, event) {
+ this.currentMethod = row;
+ let obj = this.methods.find(
+ (a) => a.id == this.currentMethod.standardMethodListId
+ );
+ if (obj && obj.code == "濮旀墭瑕佹眰") {
+ this.isAskOnlyRead = true;
+ } else {
+ this.isAskOnlyRead = false;
+ }
+ this.sampleId = row.id;
+ if (this.active !== 1) {
+ this.sampleIds = [];
+ this.sampleIds.push(row.id);
+ }
+ this.productList = row.insProduct;
+ setTimeout(() => {
+ this.productList.forEach((a) => {
+ if (a.state == 1) this.toggleSelection(a);
+ });
+ }, 200);
+ },
+ toggleSelection(row) {
+ this.$refs.productTable.toggleRowSelection(row, true);
+ },
+ selectable() {
+ if (this.active > 1) {
+ return false;
+ } else {
+ return true;
}
},
- mounted() {
- this.selectStandardTreeList()
- this.selectStandardMethods()
- this.$parent.sampleIds.forEach(a => {
- for (var i = 0; i < this.$parent.sampleList.length; i++) {
- if (this.$parent.sampleList[i].id == a) {
- this.sampleList = this.$parent.sampleList[i].childSampleList
- this.parentSample.push(this.$parent.sampleList[i])
- break
- }
- }
- })
+ handleChangeModel(e) {
+ let num = this.selectTree.split("-").length;
+ if (num != 5) {
+ this.selectTree = this.selectTree + " - " + e;
+ } else {
+ let arr = this.selectTree.split("-");
+ let arr0 = arr.slice(0, arr.length - 1);
+ this.selectTree = arr0.join("-") + "- " + e;
+ }
},
- methods: {
- selectStandardTreeList() {
- this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => {
- this.list = res.data
- this.list.forEach(a => {
- this.expandedKeys.push(a.label)
- })
- })
- },
- save() {
- if (this.sampleList.length === 0) {
- this.$message.error('缂哄皯閰嶇疆鏃犳硶淇濆瓨')
- return
- }
- this.parentSample.forEach(a => {
- a.childSampleList = this.sampleList
- })
- this.$message.success('宸蹭繚瀛�')
- },
- deleteRow(index, rows) {
- this.productList = []
- rows.splice(index, 1);
- },
- outConfig() {
- this.$parent.equipConfigShow = false
- },
- addChild() {
- this.selectStandardTree = true
- },
- selectSample(val) {
- if (val === null) return
- this.sampleIds = [val.id]
- },
- rowClick(row, column, event) {
- this.currentMethod = row
- let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
- if (obj && obj.code == '濮旀墭瑕佹眰') {
- this.isAskOnlyRead = true
- } else {
- this.isAskOnlyRead = false
- }
- this.sampleId = row.id
- if (this.active !== 1) {
- this.sampleIds = []
- this.sampleIds.push(row.id)
- }
- this.productList = row.insProduct
- setTimeout(() => {
- this.productList.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- }, 200)
- },
- toggleSelection(row) {
- this.$refs.productTable.toggleRowSelection(row, true);
- },
- selectable() {
- if (this.active > 1) {
- return false
- } else {
- return true
- }
- },
- handleChangeModel(e) {
- let num = this.selectTree.split('-').length;
- if (num != 5) {
- this.selectTree = this.selectTree + ' - ' + e
- } else {
- let arr = this.selectTree.split('-')
- let arr0 = arr.slice(0, arr.length - 1)
- this.selectTree = arr0.join('-') + '- ' + e
- }
- },
- methodChange(val, row) {
- if (val === null || val === '') return
- this.currentMethod = row
- let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
- if (obj && obj.code == '濮旀墭瑕佹眰') {
- this.isAskOnlyRead = true
- } else {
- this.isAskOnlyRead = false
- }
- this.getProductLoad = true
- this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- model: row.model + '-' + row.modelNum,
- standardMethodListId: val,
- factory: this.selectTree,
- }, {
- headers: {
- 'Content-Type': 'application/json'
+ methodChange(val, row) {
+ if (val === null || val === "") return;
+ this.currentMethod = row;
+ let obj = this.methods.find(
+ (a) => a.id == this.currentMethod.standardMethodListId
+ );
+ if (obj && obj.code == "濮旀墭瑕佹眰") {
+ this.isAskOnlyRead = true;
+ } else {
+ this.isAskOnlyRead = false;
+ }
+ this.getProductLoad = true;
+ selectStandardProductList({
+ model: row.model + "-" + row.modelNum,
+ standardMethodListId: val,
+ factory: this.selectTree,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ res.data.forEach((a) => {
+ a.state = 0;
+ });
+ row.insProduct = this.HaveJson(res.data);
+ this.getProductLoad = false;
+ this.productList = row.insProduct;
+ this.$refs.sampleTable.setCurrentRow(row);
+ setTimeout(() => {
+ this.productList.forEach((a) => {
+ if (a.state == 1) this.toggleSelection(a);
+ });
+ }, 200);
}
- }).then(res => {
- res.data.forEach(a => {
- a.state = 0
- })
- row.insProduct = this.HaveJson(res.data)
- this.getProductLoad = false
- this.productList = row.insProduct
- this.$refs.sampleTable.setCurrentRow(row)
- setTimeout(() => {
- this.productList.forEach(a => {
- if (a.state == 1) this.toggleSelection(a)
- })
- }, 200)
})
- },
- methodFocus() {
- this.selectsStandardMethodByFLSSM()
- },
- selectStandardMethods() {
- this.$axios.get(this.$api.standardTree.selectStandardMethodEnum).then(res => {
- this.methods = res.data
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ methodFocus() {
+ this.selectsStandardMethodByFLSSM();
+ },
+ selectStandardMethods() {
+ selectStandardMethodEnum()
+ .then((res) => {
+ if (res.code === 200) {
+ this.methods = res.data;
+ }
})
- },
- selectsStandardMethodByFLSSM() {
- this.methodLoad = true
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: this.selectTree
- }).then(res => {
- this.methodLoad = false
- try {
- if (res.data.standardMethodList.length == 0 && this.selectTree.split('-').length == 5) {
- let arr = this.selectTree.split('-')
- let arr0 = arr.slice(0, arr.length - 1)
- let selectTree = arr0.join('-').substring(0, arr0.join('-').length - 1)
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
- tree: selectTree
- }).then(ress => {
- this.methods = ress.data.standardMethodList
- })
- } else {
- this.methods = res.data.standardMethodList
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ selectsStandardMethodByFLSSM() {
+ this.methodLoad = true;
+ selectsStandardMethodByFLSSM({
+ tree: this.selectTree,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.methodLoad = false;
+ try {
+ if (
+ res.data.standardMethodList.length == 0 &&
+ this.selectTree.split("-").length == 5
+ ) {
+ let arr = this.selectTree.split("-");
+ let arr0 = arr.slice(0, arr.length - 1);
+ let selectTree = arr0
+ .join("-")
+ .substring(0, arr0.join("-").length - 1);
+ selectsStandardMethodByFLSSM({
+ tree: selectTree,
+ })
+ .then((res) => {
+ if (res.code === 200) {
+ this.methods = res.data.standardMethodList;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ } else {
+ this.methods = res.data.standardMethodList;
+ }
+ } catch (e) {}
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ },
+ selectProduct(val) {
+ this.productIds = [];
+ val.forEach((a) => {
+ this.productIds.push(a.id);
+ });
+ },
+ upProductSelect(selection, row) {
+ row.state = row.state == 1 ? 0 : 1;
+ if (
+ row.bsm === "1" &&
+ row.section !== "" &&
+ row.section !== null &&
+ row.state === 1
+ ) {
+ if (row.section.indexOf("[") > -1) {
+ this.bsmRow = this.HaveJson(row);
+ }
+ this.bsm1 = true;
+ this.bsm1Dia = true;
+ } else if (
+ row.bsm === "1" &&
+ row.section !== "" &&
+ row.section !== null &&
+ row.state === 0
+ ) {
+ this.bsm1 = false;
+ }
+ this.sampleList.map((item) => {
+ if (this.sampleIds.indexOf(item.id) > -1) {
+ item.insProduct.map((m) => {
+ if (m.id == row.id) {
+ m.state = row.state;
}
- } catch (e) {}
- })
- },
- selectProduct(val) {
- this.productIds = []
- val.forEach(a => {
- this.productIds.push(a.id)
- })
- },
- upProductSelect(selection, row) {
- row.state = row.state == 1 ? 0 : 1
- if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1) {
- if (row.section.indexOf('[') > -1) {
- this.bsmRow = this.HaveJson(row)
- }
- this.bsm1 = true
- this.bsm1Dia = true
- } else if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 0) {
- this.bsm1 = false
+ return m;
+ });
}
- this.sampleList.map(item => {
+ return item;
+ });
+ },
+ tableRowClassName({ row, rowIndex }) {
+ if (row.state === 0) {
+ return "warning-row";
+ }
+ return "";
+ },
+ handleAll(e) {
+ if (e.length > 0) {
+ this.productList.map((m) => {
+ m.state = 1;
+ return m;
+ });
+ } else {
+ this.productList.map((m) => {
+ m.state = 0;
+ return m;
+ });
+ }
+ this.productList.forEach((p) => {
+ if (
+ p.bsm === "1" &&
+ p.section !== "" &&
+ p.section !== null &&
+ p.state === 1
+ ) {
+ if (p.section.indexOf("[") > -1) {
+ this.bsmRow = this.HaveJson(p);
+ }
+ this.bsm1 = true;
+ this.bsm1Dia = true;
+ } else if (
+ p.bsm === "1" &&
+ p.section !== "" &&
+ p.section !== null &&
+ p.state === 0
+ ) {
+ this.bsm1 = false;
+ }
+ });
+ if (e.length > 0) {
+ this.sampleList.map((item) => {
if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- if (m.id == row.id) {
- m.state = row.state;
- }
+ item.insProduct.map((m) => {
+ m.state = 1;
return m;
- })
+ });
}
- return item
- })
- },
- tableRowClassName({
- row,
- rowIndex
- }) {
- if (row.state === 0) {
- return 'warning-row';
- }
- return '';
- },
- handleAll(e) {
- if (e.length > 0) {
- this.productList.map(m => {
- m.state = 1
- return m
- })
- } else {
- this.productList.map(m => {
- m.state = 0
- return m
- })
- }
- this.productList.forEach(p => {
- if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 1) {
- if (p.section.indexOf('[') > -1) {
- this.bsmRow = this.HaveJson(p)
- }
- this.bsm1 = true
- this.bsm1Dia = true
- } else if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 0) {
- this.bsm1 = false
- }
- })
- if (e.length > 0) {
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- m.state = 1
- return m;
- })
- }
- return item
- })
- } else {
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- m.state = 0
- return m;
- })
- }
- return item
- })
- }
- this.$nextTick(() => {
- this.$refs.productTable.doLayout()
- })
- },
- filterHandler(value, row, column) {
- const property = column['property'];
- return row[property] === value;
- },
- requestChange(e, row) {
- this.sampleList.map(item => {
+ return item;
+ });
+ } else {
+ this.sampleList.map((item) => {
if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(m => {
- if (m.id == row.id) {
- m.ask = e;
- }
+ item.insProduct.map((m) => {
+ m.state = 0;
return m;
- })
+ });
}
- return item
- })
- },
- activeStandardTree() {
- let trees = this.selectTree.split(" - ")
- if (trees.length < 4) {
- this.$message.error('鏈�夋嫨瀛愪骇鍝�')
- return
+ return item;
+ });
+ }
+ this.$nextTick(() => {
+ this.$refs.productTable.doLayout();
+ });
+ },
+ filterHandler(value, row, column) {
+ const property = column["property"];
+ return row[property] === value;
+ },
+ requestChange(e, row) {
+ this.sampleList.map((item) => {
+ if (this.sampleIds.indexOf(item.id) > -1) {
+ item.insProduct.map((m) => {
+ if (m.id == row.id) {
+ m.ask = e;
+ }
+ return m;
+ });
}
- this.addObj.factory = trees[0]
- this.addObj.laboratory = trees[1]
- this.addObj.sampleType = trees[2]
- if(trees[3]===''){
- this.addObj.sample = (trees[4] == undefined ? null : trees[4])
- }else if(trees[3]===undefined){
- this.addObj.sample = trees[2]
- }else{
- this.addObj.sample = trees[3]
+ return item;
+ });
+ },
+ activeStandardTree() {
+ let trees = this.selectTree.split(" - ");
+ if (trees.length < 4) {
+ this.$message.error("鏈�夋嫨瀛愪骇鍝�");
+ return;
+ }
+ this.addObj.factory = trees[0];
+ this.addObj.laboratory = trees[1];
+ this.addObj.sampleType = trees[2];
+ if (trees[3] === "") {
+ this.addObj.sample = trees[4] == undefined ? null : trees[4];
+ } else if (trees[3] === undefined) {
+ this.addObj.sample = trees[2];
+ } else {
+ this.addObj.sample = trees[3];
+ }
+ this.addObj.model = trees[4] == undefined ? null : trees[4];
+ this.selectStandardTree = false;
+ this.sample.joinName = null;
+ this.sample.joinModel = null;
+ this.sample.joinNum = 1;
+ this.sample.sample = this.addObj.sample;
+ this.sample.model = this.addObj.model;
+ this.sample.unit = this.addObj.unit;
+ this.sample.standardMethodListId = null;
+ this.sample.insProduct = [];
+ this.sample.id = this.count;
+ this.sample.num = this.addObj.sampleNum;
+ this.sampleList.push(this.HaveJson(this.sample));
+ this.count++;
+ this.$refs.sampleTable.doLayout();
+ },
+ searchFilter() {
+ this.$refs.tree.filter(this.search);
+ },
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.label.indexOf(value) !== -1;
+ },
+ handleNodeClick(val, node, el) {
+ this.selectTree = "";
+ this.models = val.children;
+ this.getNodeParent(node);
+ this.selectTree = this.selectTree.replace(" - ", "");
+ let data = this.selectTree.split(" - ");
+ let data2 = "";
+ for (let index = data.length - 1; index >= 0; index--) {
+ data2 += " - " + data[index];
+ }
+ this.selectTree = data2.replace(" - ", "");
+ },
+ getNodeParent(val) {
+ if (val.parent != null) {
+ if (val.data.children === null) {
+ this.selectTree += " - " + val.label + " - " + "";
+ } else {
+ this.selectTree += " - " + val.label;
}
- this.addObj.model = (trees[4] == undefined ? null : trees[4])
- this.selectStandardTree = false
- this.sample.joinName = null
- this.sample.joinModel = null
- this.sample.joinNum = 1
- this.sample.sample = this.addObj.sample
- this.sample.model = this.addObj.model
- this.sample.unit = this.addObj.unit
- this.sample.standardMethodListId = null
- this.sample.insProduct = []
- this.sample.id = this.count
- this.sample.num = this.addObj.sampleNum
- this.sampleList.push(this.HaveJson(this.sample))
- this.count++
- this.$refs.sampleTable.doLayout()
- },
- searchFilter() {
- this.$refs.tree.filter(this.search)
- },
- filterNode(value, data) {
- if (!value) return true;
- return data.label.indexOf(value) !== -1;
- },
- handleNodeClick(val, node, el) {
- this.selectTree = ''
- this.models = val.children
- this.getNodeParent(node)
- this.selectTree = this.selectTree.replace(' - ', '')
- let data = this.selectTree.split(' - ')
- let data2 = ''
- for (let index = data.length - 1; index >= 0; index--) {
- data2 += " - " + data[index]
+ this.getNodeParent(val.parent);
+ }
+ },
+ nodeOpen(data, node, el) {
+ $($(el.$el).find(".node_i")[0]).attr(
+ "class",
+ "node_i el-icon-folder-opened"
+ );
+ },
+ nodeClose(data, node, el) {
+ $($(el.$el).find(".node_i")[0]).attr("class", "node_i el-icon-folder");
+ },
+ beforeClose(done) {
+ if (this.bsm1) {
+ if (this.bsm1Val === null || this.bsm1Val === "") {
+ this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+ return;
}
- this.selectTree = data2.replace(' - ', '')
- },
- getNodeParent(val) {
- if (val.parent != null) {
- if (val.data.children === null) {
- this.selectTree += ' - ' + val.label + ' - ' + ''
- } else {
- this.selectTree += ' - ' + val.label
- }
- this.getNodeParent(val.parent)
+ }
+ done();
+ },
+ upBsm1(val) {
+ let sections = JSON.parse(this.bsmRow.section);
+ let asks = JSON.parse(this.bsmRow.ask);
+ let tells = JSON.parse(this.bsmRow.tell);
+ let manHours = JSON.parse(this.bsmRow.manHour);
+ let prices = JSON.parse(this.bsmRow.price);
+ for (var a in sections) {
+ if (val === sections[a]) {
+ this.productList.forEach((p) => {
+ if (p.id === this.bsmRow.id) {
+ p.section = sections[a];
+ p.ask = asks[a];
+ p.tell = tells[a];
+ p.manHour = manHours[a];
+ p.price = prices[a];
+ }
+ });
+ break;
}
- },
- nodeOpen(data, node, el) {
- $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
- },
- nodeClose(data, node, el) {
- $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
- },
- beforeClose(done) {
- if (this.bsm1) {
- if (this.bsm1Val === null || this.bsm1Val === '') {
- this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
- return
- }
- }
- done()
- },
- upBsm1(val) {
- let sections = JSON.parse(this.bsmRow.section);
- let asks = JSON.parse(this.bsmRow.ask);
- let tells = JSON.parse(this.bsmRow.tell);
- let manHours = JSON.parse(this.bsmRow.manHour);
- let prices = JSON.parse(this.bsmRow.price);
- for (var a in sections) {
- if (val === sections[a]) {
- this.productList.forEach(p => {
- if (p.id === this.bsmRow.id) {
- p.section = sections[a]
- p.ask = asks[a]
- p.tell = tells[a]
- p.manHour = manHours[a]
- p.price = prices[a]
- }
- })
- break
- }
- }
- },
- }
- }
+ }
+ },
+ },
+};
</script>
<style scoped>
- .ins_order_config {
- width: 100%;
- height: 100%;
- overflow-y: auto;
- overflow-x: hidden;
- }
+.ins_order_config {
+ width: 100%;
+ height: 100%;
+ overflow-y: auto;
+ overflow-x: hidden;
+}
- .ins_order_config::-webkit-scrollbar {
- width: 0;
- }
+.ins_order_config::-webkit-scrollbar {
+ width: 0;
+}
- .title {
- height: 60px;
- line-height: 60px;
- }
+.title {
+ height: 60px;
+ line-height: 60px;
+}
- .center {
- width: 100%;
- height: calc(100% - 60px);
- }
+.center {
+ width: 100%;
+ height: calc(100% - 60px);
+}
+>>> .all-disabled .el-checkbox__input .el-checkbox__inner {
+ background-color: #edf2fc;
+ border-color: #dcdfe6;
+ cursor: not-allowed;
+}
- >>>.all-disabled .el-checkbox__input .el-checkbox__inner {
- background-color: #edf2fc;
- border-color: #dcdfe6;
- cursor: not-allowed;
- }
+.node_i {
+ color: orange;
+ font-size: 18px;
+}
- .node_i {
- color: orange;
- font-size: 18px;
- }
-
- .el-select-dropdown__item {
- display: flex;
- align-items: center;
- justify-content: space-between;
- }
+.el-select-dropdown__item {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
</style>
--
Gitblit v1.9.3