王震
2023-09-14 0c409fb4381a7be9dd96a3e8cb0161f77bc7ef8c
src/components/view/standard.vue
@@ -5,9 +5,9 @@
        <el-col :span="12" style="line-height: 32px;">标准BOM</el-col>
        <el-col :span="12" style="text-align: right;">
          <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;"
            @click="bomAddModelVisible = true">新增</el-button>
          <el-button icon="el-icon-plus">新增版本</el-button>
          <el-button @click="bomRightDl=true" icon="el-icon-delete">删除</el-button>
            @click="showBomAddModel">新增</el-button>
          <el-button icon="el-icon-plus" @click="addVersionBtn">新增版本</el-button>
          <el-button @click="deleteDataBtn" icon="el-icon-delete">删除</el-button>
        </el-col>
      </el-row>
    </div>
@@ -56,16 +56,17 @@
        </div>
        <div class="contentTable" v-if="this.typeselect == 0">
          <technology  :tableType="tableType" :tableData="tableData"></technology>
          <technology @childData="getChildData"  :tableType="tableType" :tableData="tableData"></technology>
        </div>
        <div v-if="this.typeselect == 1">
          <target :tableType="tableType" :tableData="tableData"></target>
          <target @childData="getChildData" :tableType="tableType" :tableData="tableData"></target>
        </div>
        <div v-if="this.typeselect == 2">
          <bom  :tableType="tableType" :tableData="tableData"></bom>
          <material @childData="getChildData" :tableType="tableType" :tableData="tableData"></material>
        </div>
        <div v-if="this.typeselect == 3">生产工艺</div>
        <div v-if="this.typeselect == 3">
          <product @childData="getChildData" :tableType="tableType" :tableData="tableData"></product>
        </div>
      </div>
    </div>
@@ -332,10 +333,11 @@
<script>
import technology from "./standard-table/technology.vue"
import material from "./standard-table/material.vue"
// import bom from "./standard-table/bom.vue"
import target from "./standard-table/target.vue"
import product from "./standard-table/product.vue"
import bomClickAdd from '@/components/view/standard-box/bomClickAdd'
export default {
  components: { technology,material,bomClickAdd },
  components: { technology,material,target,product,bomClickAdd },
  data() {
    var checkPq = (rule,value,callback)=>{
@@ -352,6 +354,8 @@
      callback();
    };
    return {
      //子组件传的id列表
      childIds:[],
      //工序列表
      technologyIdList:[],
      fatherList:[],
@@ -429,7 +433,7 @@
      // BOM树数据结构
      list: [],
      search: null,
      tableType: 1, // 表格类型 1:技术指标,0:工艺路线
      tableType: 0, // 表格类型 1:技术指标,0:工艺路线
      searchName: "",// 查询条件-名称
      checkTreeNode: {},// 点击选中树节点
      tableData: [],
@@ -439,9 +443,7 @@
      bomRightDl: false,
      formTypeOptions: null,
      typeselect: 0,
      returntree: {
        id:28,
      },
      returntree: {id:28},
      version: {},
      leftAdd:{
        type: [],
@@ -574,6 +576,68 @@
    leftAddBom(){
      
    },
    //获取子组件数据
    getChildData(data){
      this.childIds = data;
    },
    //删除按钮
    deleteDataBtn(){
      let ids;
      let url;
      ids = this.childIds.filter(item=>{
        return item != undefined;
      });
      if(ids.length < 1){
        this.$message.error("请先选择数据!");
        return;
      }
      switch(this.typeselect){
        case 0:
          url = this.$api.url.delAllByTechnology;
          break;
        case 1:
          url = this.$api.url.delAllByTarget;
          break;
        case 2:
          url = this.$api.url.delAllByMBom;
          break;
        case 3:
          url = this.$api.url.delAllByProduct;
          break;
      }
      this.$confirm('确认删除已选中的数据吗', '删除', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          this.$axios.post(url,{
            ids : ids.join(",")
          }).then(res=>{
            this.selectAll();
            this.$message.success(res.message);
          }).catch(error=>{
            this.$message.error(error.message);
          })
        }).catch(() => {});
    },
    //新增版本
    addVersionBtn(){
        this.$confirm('确认新增版本吗', '新增版本', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'info'
        }).then(() => {
          this.$axios.post(this.$api.url.addVersion,{
            specificationsId : this.returntree.id,
            version : this.version2.substring(1,2),
          }).then(res=>{
            this.selectVersion();
            this.$message.success(res.message);
          }).catch(error=>{
            this.$message.error(error.message);
          })
        }).catch(() => {});
    },
    //右侧bom,确认新增
    confirmAdd(formName){
      this.$refs[formName].validate(valid=>{