gaoluyang
2025-02-24 7cafed0404a6fa12ef56d85d08da7bf5115ba7e5
src/views/business/productOrder/components/auxiliaryWireCore.vue
@@ -1,60 +1,42 @@
<template>
  <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" @click="outConfig">
            <span style="color: #3A7BFA;">返 回</span>
          </el-button>
          <el-button size="medium" type="primary" @click="save">保 存</el-button>
        </el-col>
      </el-row>
    </div>
    <div class="search">
      <el-radio-group v-model="currentTab" size="small" style="margin-left: 20px;" @input="changeTab">
        <el-radio-button label="绝缘">绝 缘</el-radio-button>
        <!--        <el-radio-button label="护套">护 套</el-radio-button>-->
      </el-radio-group>
      <div v-if="currentTab=='绝缘'" class="search_thing">
        <div class="search_label">芯数:</div>
        <el-select v-model="auxiliaryWireCore.num" allow-create
                   clearable
                   default-first-option
                   filterable
                   multiple
                   size="small">
          <el-option v-for="item in quantityList" :key="item.value" :label="item.label" :value="item.value"></el-option>
        </el-select>
    <div class="search_form">
      <div class="search_input">
        <el-radio-group v-model="currentTab" size="small" style="margin-right: 20px;" @input="changeTab">
          <el-radio-button label="绝缘">绝 缘</el-radio-button>
        </el-radio-group>
        <el-form :model="auxiliaryWireCore" ref="entity" size="small" :inline="true">
          <el-form-item label="芯数" prop="num">
            <el-select v-model="auxiliaryWireCore.num" allow-create
                       clearable
                       default-first-option
                       filterable
                       multiple
                       size="small">
              <el-option v-for="item in quantityList" :key="item.value" :label="item.label" :value="item.value"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="检验标准" prop="standardMethodListId">
            <el-select v-model="auxiliaryWireCore.standardMethodListId" allow-create
                       clearable
                       default-first-option
                       filterable
                       multiple
                       size="small">
              <el-option v-for="item in quantityList" :key="item.value" :label="item.label" :value="item.value"></el-option>
            </el-select>
          </el-form-item>
        </el-form>
      </div>
<!--      <div v-if="currentTab=='绝缘'" class="search_thing">-->
<!--        <div class="search_label">型号参数:</div>-->
<!--        <el-input v-model="auxiliaryWireCore.modelNum" clearable size="small"-->
<!--                  @input="methodChange(auxiliaryWireCore.standardMethodListId)"></el-input>-->
<!--      </div>-->
      <div v-if="currentTab=='绝缘'" class="search_thing">
        <div class="search_label">检验标准:</div>
        <el-select v-model="auxiliaryWireCore.standardMethodListId" disabled placeholder="请选择检验标准"
                   size="small"
                   @change="(value)=>methodChange(value)">
          <el-option v-for="item in standards" :key="item.id" :label="item.code" :value="item.id">
          </el-option>
        </el-select>
      <div>
        <el-button size="small" @click="outConfig">返 回</el-button>
        <el-button size="small" type="primary" @click="save">保 存</el-button>
      </div>
      <!--      <div class="search_thing" v-if="currentTab=='护套'">-->
      <!--        <div class="search_label">检验标准:</div>-->
      <!--        <el-select v-model="sheath.standardMethodListId" placeholder="请选择检验标准" size="small"-->
      <!--                   disabled-->
      <!--        @change="(value)=>methodChange(value)">-->
      <!--          <el-option v-for="item in standards" :key="item.id" :label="item.code" :value="item.id">-->
      <!--          </el-option>-->
      <!--        </el-select>-->
      <!--      </div>-->
    </div>
    <div class="table">
      <el-table ref="productTable" v-loading="getProductLoad" :data="productList"
                :row-class-name="tableRowClassName" border class="el-table" height="100%"
                style="margin-bottom: 10px;" tooltip-effect="dark" @select="upProductSelect"
                :row-class-name="tableRowClassName" border class="el-table" :height="'calc(100vh - 200px)'"
                tooltip-effect="dark" @select="upProductSelect"
                @selection-change="selectProduct" @select-all="handleAll">
        <el-table-column :selectable="selectable" type="selection" width="65"></el-table-column>
        <el-table-column label="检验项分类" min-width="140" prop="inspectionItemClass" show-overflow-tooltip></el-table-column>
@@ -132,11 +114,12 @@
<script>
import { Tree } from 'element-ui'
import {selectsStandardMethodByFLSSM, selectStandardProductList} from "@/api/business/rawMaterialOrder";
export default {
  props: {
    active: {
      type: Number,
      default: () => 0
      type: String,
      default: () => '0'
    },
    sampleSelectionList: {
      type: Array,
@@ -286,7 +269,7 @@
    },
    selectsStandardMethodByFLSSM2() {
      this.standards = []
      this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
      selectsStandardMethodByFLSSM({
        tree: this.$parent.selectTree
      }).then(res => {
        try {
@@ -294,7 +277,7 @@
            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, {
            selectsStandardMethodByFLSSM({
              tree: selectTree
            }).then(ress => {
              this.standards = ress.data.standardMethodList
@@ -330,7 +313,7 @@
      const conductorMaterial = this.sampleSelectionList[0].conductorMaterial
      const conductorType = this.sampleSelectionList[0].conductorType
      const modelNum = this.sampleSelectionList[0].modelNum
      this.$axios.post(this.$api.standardTree.selectStandardProductList, {
      selectStandardProductList({
        model: this.$parent.addObj.model ? this.$parent.addObj.model : model,
        modelNum: modelNum,
        standardMethodListId: val,
@@ -357,21 +340,16 @@
      this.$refs.productTable.toggleRowSelection(row, true);
    },
    save() {
      // if(this.auxiliaryWireCore.insProduct.length === 0 && this.sheath.insProduct.length === 0){
      //   this.$message.error('缺少配置无法保存')
      //   return
      // }
      if (this.auxiliaryWireCore.insProduct.length !== 0) {
        if (this.auxiliaryWireCore.num.length === 0) {
          this.$message.error('缺少芯数无法保存')
          return
        }
      }
      // this.sample.forEach(a=>{
      //   a.auxiliaryWireCore = this.auxiliaryWireCore
      //   a.sheath = this.sheath
      // })
      this.auxiliaryWireCore.insProduct = this.productList
      this.auxiliaryWireCore.insProduct = this.HaveJson(this.productList)
      this.auxiliaryWireCore.insProduct.forEach(a => {
        delete a.id
      })
      if (this.currentTab === '绝缘') {
        this.sample.forEach(a => {
          a.auxiliaryWireCore = this.auxiliaryWireCore
@@ -399,54 +377,14 @@
</script>
<style scoped>
.ins_order_config {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}
.ins_order_config::-webkit-scrollbar {
  width: 0;
}
.title {
  height: 60px;
  line-height: 60px;
}
.search {
  background-color: #fff;
  height: 80px;
.search_form {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.search_thing {
  width: 300px;
  display: flex;
  align-items: center;
}
.search_label {
  width: 100px;
  font-size: 14px;
  text-align: right;
}
.search_input {
  width: calc(100% - 70px);
  display: flex;
  justify-content: space-between;
}
.table {
  margin-top: 10px;
  background-color: #fff;
  width: calc(100% - 40px);
  height: calc(100% - 60px - 80px - 26px - 24px);
  padding: 20px;
}
</style>
<style>
.ins_order_config .has-gutter .el-table__cell .cell {
  line-height: 30px;
  background-color: #fafafa;