zouyu
2023-09-13 27dd70096d181051200ec5febf11c99d1940f835
Merge branch 'master' of http://192.168.0.22:9001/r/mom-before
已修改10个文件
562 ■■■■■ 文件已修改
src/assets/api/controller.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/Technicalindex.vue 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/equipmentmaintain.vue 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/laboratoryManagement.vue 206 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/mbom.vue 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/standard-table/technology.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/technical.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/technology.vue 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/index.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/api/controller.js
@@ -156,6 +156,7 @@
    delQueById:"/techniqueModel/delQueById",//删除
    delAllQue:"/techniqueModel/delAllQue",//批量删除
    selecQueById:"/techniqueModel/selecQueById",//编辑
    writeQueById:"/techniqueModel/writeQueById",//编辑传参
}
const url = {
src/components/view/Technicalindex.vue
@@ -281,51 +281,92 @@
    export default {
        data() {
            return {
                search: {
                    type: 0,
                    technology: null,
                },
                //   handleClose:[],
                checkTreeNode: {
                    id: '',
                },
                higherlevel: [],
                value: {},
                options: [],
                process: [],
                filterNode: [],
                list: [],
                form: {
                    father: '',
                    work: '',
                    name: '',
                    unit: '',
                    project: '',
                },
                children: [],
                modifyevent: false,
                dialogVisible: false,
                tableData: [],
                typeselect: 0,
                upData: {},
                upDia: false,
                craftapi: [],
                edit: {
                    techFather: '',
                    techName: '',
                    father: '',
                    name: '',
                    unit: '',
                    id: ''
                }
            }
        },
        mounted() {
              search:{
                type:0,
                technology:null,
              },
            //   handleClose:[],
                checkTreeNode :{
                    id:'',
                },
                higherlevel:[],
                value:{},
                options:[],
                process:[],
                filterNode:[],
                list: [],
                form:{
                    father:'',
                    work:'',
                    name:'',
                    unit:'',
                    project:'',
                },
                children:[],
                modifyevent:false,
                dialogVisible:false,
                tableData: [],
                typeselect:0,
                upData:{},
                upDia:false,
                craftapi:[],
                edit:{
                    techFather:'',
                    techName:'',
                    father:'',
                    name:'',
                    unit:'',
                    id:'',
                },
                isAllSelect:false,
            }
        },
        mounted() {
            this.selectAllleft()
            this.selectAllright()
        },
        methods: {
            handleClose() {
        methods:{
              // 表格树全部选中配置
                // 全选/取消选操作
                selectAll(val) {
                    this.isAllSelect = !this.isAllSelect;
                    let data = this.tableData;
                    this.toggleSelect(data, this.isAllSelect, "all");
                },
             //选择某行
            selectTr(selection, row) {
                console.log(selection,row);
                this.$set(row, "isChecked", !row.isChecked);
                this.$nextTick(() => {
                    this.isAllSelect = row.isChecked;
                    this.toggleSelect(row, row.isChecked, "tr");
                });
            },
             //递归子级
            toggleSelect(data, flag, type) {
                if (type === "all") {
                    console.log('222');
                    if (data.length > 0) {
                        data.forEach((item) => {
                        this.toggleSelection(item, flag);
                        if (item.children && item.children.length > 0) {
                            this.toggleSelect(item.children, flag, type);
                        }
                        });
                    }
                } else {
                    if (data.children && data.children.length > 0) {
                        data.children.forEach((item) => {
                        item.isChecked = !item.isChecked;
                        this.$refs.multipleTable.toggleRowSelection(item, flag);
                        this.toggleSelect(item, flag, type);
                        });
                    }
                }
            },
            handleClose(){
            },
            selectDataList() {
@@ -693,4 +734,4 @@
        height: 30px;
        border-radius: 2px;
    }
</style>
</style>
src/components/view/equipmentmaintain.vue
@@ -262,11 +262,13 @@
            <div class="right">
                <el-table
                    :data="tableData"
                    style="width: 100%;margin-bottom: 20px;"
                    style="width: 100%;margin-bottom: 20px;height: 600px;overflow: auto;"
                    row-key="name"
                    border
                    @select="selectTr"
                    @selection-change="handleSelectionChange"
                    default-expand-all
                    ref="multipleTable"
                    :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
                    <el-table-column
                    type="selection"
@@ -317,7 +319,7 @@
                        width="200px">
                        <template slot-scope="scope" style="text-align: center;">
                            <div v-if="!scope.row.children">
                        <el-button type="text" size="mini" @click="childrenClick(scope.row)">编辑</el-button>
                        <!-- <el-button type="text" size="mini" @click="childrenClick(scope.row)">编辑</el-button> -->
                        <el-button type="text" size="mini" @click="deleteRow(scope.$index, scope.row)">删除</el-button>
                            </div>
                    </template>
@@ -568,9 +570,6 @@
                console.log(this.upData.id);
                this.delQueById()
            },
            handleSelectionChange(val) {
                this.selects = val
            },
            //批量删除
            delAllQue() {
                this.$axios.post(this.$api.url.delAllQue,{
@@ -608,6 +607,52 @@
            // // filterNode(){
            // },
            handleSelectionChange(val) {
                this.deleteList = [];
                val.forEach((v) => {
                if (v.id !== undefined) {
                    this.deleteList.push(v.id);
                }
                });
            },
             // 表格树全部选中配置
                // 全选/取消选操作
                selectAll(val) {
                    this.isAllSelect = !this.isAllSelect;
                    let data = this.tableData;
                    this.toggleSelect(data, this.isAllSelect, "all");
                },
             //选择某行
            selectTr(selection, row) {
                console.log(selection,row);
                this.$set(row, "isChecked", !row.isChecked);
                this.$nextTick(() => {
                    this.isAllSelect = row.isChecked;
                    this.toggleSelect(row, row.isChecked, "tr");
                });
            },
             //递归子级
            toggleSelect(data, flag, type) {
                if (type === "all") {
                    console.log('222');
                    if (data.length > 0) {
                        data.forEach((item) => {
                        this.toggleSelection(item, flag);
                        if (item.children && item.children.length > 0) {
                            this.toggleSelect(item.children, flag, type);
                        }
                        });
                    }
                } else {
                    if (data.children && data.children.length > 0) {
                        data.children.forEach((item) => {
                        item.isChecked = !item.isChecked;
                        this.$refs.multipleTable.toggleRowSelection(item, flag);
                        this.toggleSelect(item, flag, type);
                        });
                    }
                }
            },
          
        }
    }
src/components/view/laboratoryManagement.vue
@@ -1,8 +1,8 @@
<template>
  <div>
  <div class="laboratoryMangement">
    <el-row>
      <el-col :span="12" class="top_left_name">设备维护</el-col>
      <el-col :span="12" style="text-align: right;">
      <el-col :span="12" style="text-align: right;" class="title">
        <el-button
          @click="testItem()"
          type="primary"
@@ -39,6 +39,7 @@
                <el-form-item label="设备用途" prop="type">
                  <el-select
                    v-model="ruleForm.type"
                    @change="selectinstall"
                    placeholder="请选择设备用途"
                  >
                    <el-option label="生产设备" value="1"></el-option>
@@ -207,12 +208,11 @@
          :data="towTree"
          ref="tree"
          :props="{ children: 'children', label: 'father' }"
          node-key="id"
          node-key="father"
          default-expand-all
          highlight-current
          style="margin-top: 20px;"
          @node-click="handleNodeClick"
        >
          <div class="custom-tree-node" slot-scope="{ node, data }">
            <span
@@ -397,8 +397,10 @@
  name: "LaboratoryManagement",
  data() {
    return {
      value: "",
      dialogVisible: false,
      checkTreeNode:{},
      isCollapse: true, //默认为展开
      radio1: "true", // 分类切换
      tableData: [], // 主页表格数据
@@ -411,7 +413,7 @@
      staue_value: "", // 主页表格上方的状态选择
      // BOM树数据结构
      towTree: [],
      equipment: '',
      equipment: '1',
      equaip:'',
      ruleForm: {
        // 新增仪器表单
@@ -424,10 +426,11 @@
        name: "",
        rawInsProductId: "",
        type: "",
        treedata:{
            father:'设备组1',
        },
        // treedata:{
        //     father:'设备组1',
        // },
        equr:'',
      },
      delete:{},
      equip:1,
@@ -473,25 +476,29 @@
    this.twoTreeApi();
    // 初始化调用表格数据
    // this.tableDataApi();
    this.selectDevice()//右边
    // this.selectDevice()
  },
  methods: {
    selectDevice() {//右边数据
      console.log(this.ruleForm.treedata.father);
      console.log(this.equip);
      this.$axios.get(this.$api.url.selectDevice,{
        params:{
          father:this.ruleForm.treedata.father,
          type:this.equip,
        }
      }).then(res =>{
        console.log(res);
        this.tableData = res.data
      }, {
                headers: {
                        "Content-Type": "application/json"
                      }
      })
    handleNodeClick(val) {
      this.checkTreeNode = val
      console.log(this.checkTreeNode);
        this.selectDevice()
    },
    staueValueChange() {
      this.selectDevice()
      // this.tableData = [];
      // let val = 1;
      // if (this.radio1 === "false") {
      //   val = 2;
      // }
      // this.$axios
      //   .get(this.$api.url.tableDeviceList, {
      //     params: { type: val, deviceStatue: this.staue_value }
      //   })
      //   .then(res => {
      //     this.tableData = res.data;
      //   });
    },
    // 动态控制展开与收起和切换对应图标
    isC() {
@@ -535,14 +542,21 @@
        .catch(_ => {});
    },
    testItem() {
      this.listgroup()
      this.dialogVisible = true;
      this.$axios.get(this.$api.url.addDeviceKeeper).then(res => {
        this.keeperList = res.data;
      });
    },
    selectinstall(val) {
      this.equip = val
      this.listgroup()
    },
    listgroup() {
        this.$axios.get(this.$api.url.listgroup).then(res =>{
        this.$axios.get(this.$api.url.listgroup,{
            params:{
              type:this.equip
            }
        }).then(res =>{
            this.equaip = res.data
            console.log(this.equip);
        })
@@ -567,7 +581,51 @@
        //   }
        // });
        this.towTree = res.data;
      });
        this.$nextTick(() => {
                this.$refs.tree.setCurrentKey(this.towTree[0].father) // 默认选中节点第一个
            })
      console.log(this.towTree);
        let one=this.towTree[0]
        console.log(one);
        let name =one.father
              console.log(name);
        this.selectDeviceStart(name)
        });
    },
    selectDeviceStart(name,) {//右边数据
      this.$axios.get(this.$api.url.selectDevice,{
        params:{
          father:name,
          type:this.equip,
          deviceStatus:this.staue_value,
          message:this.codeNameModel,
        }
      }).then(res =>{
        console.log(res);
        this.tableData = res.data
      }, {
                headers: {
                        "Content-Type": "application/json"
                      }
      })
    },
    selectDevice() {//右边数据
      this.$axios.get(this.$api.url.selectDevice,{
        params:{
          father:this.checkTreeNode.father,
          type:this.equip,
          deviceStatus:this.staue_value,
          message:this.codeNameModel,
        }
      }).then(res =>{
        console.log(res);
        this.tableData = res.data
      }, {
                headers: {
                        "Content-Type": "application/json"
                      }
      })
    },
    addApi() {
      this.$axios.post(this.$api.url.addApi,{
@@ -581,9 +639,9 @@
        type:this.ruleForm.type,
      }, {headers: {"Content-Type": "application/json"}
    }).then(res =>{
      this.selectDevice()
      this.$message.success('新增成功')
      this.ruleForm = {}
      this.selectDevice()
    })
    },
    // tableDataApi() {
@@ -592,15 +650,13 @@
    //   });
    // },
    reset() {
      this.tableDataApi();
      this.radio1 = "true";
      this.codeNameModel = "";
      this.staue_value = "";
    },
    handleNodeClick(data) {
      console.log(data);
        // this.treedata = data
        this.selectDevice()
      // this.tableDataApi();
      // this.radio1 = "true";
      // this.codeNameModel = "";
      // this.staue_value = "";
      this.staue_value = ""
      this.codeNameModel = ""
      this.selectDevice()
    },
    handlerDeptList() {
      this.towTree = [];
@@ -617,24 +673,25 @@
        });
    },
    selectSearch() {
      this.tableData = [];
      if (this.radio1 === "false") {
        this.$axios
          .get(this.$api.url.tableDeviceList, {
            params: { type: 1, codeNameModel: this.codeNameModel }
          })
          .then(res => {
            this.tableData = res.data;
          });
      } else if (this.radio1 === "true") {
        this.$axios
          .get(this.$api.url.tableDeviceList, {
            params: { type: 2, codeNameModel: this.codeNameModel }
          })
          .then(res => {
            this.tableData = res.data;
          });
      }
      this.selectDevice()
      // this.tableData = [];
      // if (this.radio1 === "false") {
      //   this.$axios
      //     .get(this.$api.url.tableDeviceList, {
      //       params: { type: 1, codeNameModel: this.codeNameModel }
      //     })
      //     .then(res => {
      //       this.tableData = res.data;
      //     });
      // } else if (this.radio1 === "true") {
      //   this.$axios
      //     .get(this.$api.url.tableDeviceList, {
      //       params: { type: 2, codeNameModel: this.codeNameModel }
      //     })
      //     .then(res => {
      //       this.tableData = res.data;
      //     });
      // }
    },
    delDeviceById() {
      this.$axios.post(this.$api.url.delDeviceById,{
@@ -722,20 +779,7 @@
        }
      });
    },
    staueValueChange() {
      this.tableData = [];
      let val = 1;
      if (this.radio1 === "false") {
        val = 2;
      }
      this.$axios
        .get(this.$api.url.tableDeviceList, {
          params: { type: val, deviceStatue: this.staue_value }
        })
        .then(res => {
          this.tableData = res.data;
        });
    }
  },
 
  watch: {
@@ -951,3 +995,25 @@
  line-height: 14px;
}
</style>
<style>
    .laboratoryMangement .title *{
        font-size: 14px;
    }
    .laboratoryMangement .table_top_div *{
        font-size: 14px;
    }
    .laboratoryMangement .title .el-button {
      height: 32px;
      border: 1px solid rgba(190, 190, 190, 0.44);
      box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
      padding: 0 12px;
    }
    .laboratoryMangement .table_top_div .el-button {
      height: 32px;
      border: 1px solid rgba(190, 190, 190, 0.44);
      box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
      padding: 0 12px;
    }
</style>
src/components/view/mbom.vue
@@ -141,9 +141,9 @@
        </div>
        <!-- <el-dialog title="编辑记录内容" :visible.sync="upDia" width="500px">
            <div class="body">
            </div>
        </el-dialog> -->
    </div>
</template>
@@ -158,8 +158,8 @@
                list: [],
                process: {},
                // handleClose:[],
                checkTreeNode: {
                    id: 2,
                checkTreeNode:{
                    id:'',
                },
                tableData: [],
                tableapi: [{
@@ -220,20 +220,22 @@
                })
            },
            addMbom(data) {
                this.$axios.post(this.$api.url.addMbom, data
                    // {
                    // name:this.tableapi.name,
                    // qualityTraceability:this.tableapi.qualityTraceability,
                    // specifications:this.tableapi.specifications,
                    // supplier:this.tableapi.supplier,
                    // techTemId:this.craftapi.id,
                    // unit:this.tableapi.unit,
                this.$axios.post(this.$api.url.addMbom,data,{
                    // params:{
                    //     techTemId:this.craftapi.id,
                    //     mbomModelDto2List:[{
                    //         name:this.tableapi.name,
                    //         qualityTraceability:this.tableapi.qualityTraceability,
                    //         specifications:this.tableapi.specifications,
                    //         supplier:this.tableapi.supplier,
                    //         unit:this.tableapi.unit,
                    //     }]
                    // }
                    , {
                        headers: {
                            "Content-Type": "application/json"
                        }
                    }).then(res => {
                }, {
                    headers: {
                        "Content-Type": "application/json"
                      }
                }).then(res =>{
                    console.log(res);
                    this.$message.success('添加完成')
                    this.selectAllMbom()
@@ -261,23 +263,42 @@
            },
            //左边
            selectAllleft() {
                this.$axios.get(this.$api.url.selectAllleft, {
                    params: {
                        type: this.typeselect,
                        message: this.search.technology
                    }
                }).then(res => {
                    this.list = res.data;
                    console.log(this.list);
                    this.selectDataList()
                    this.$nextTick(() => {
                        this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 默认选中节点第一个
                    })
                }, {
                    headers: {
                        "Content-Type": "application/json"
                    }
                })
            this.$axios.get(this.$api.url.selectAllleft,{
                params:{type:this.typeselect,
                        message:this.search.technology
                }
            }).then(res => {
                this.list = res.data;
                console.log(this.list);
                this.selectDataList()
                this.$nextTick(() => {
                this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 默认选中节点第一个
            })
                let one=this.list.filter(item=>{
                return item.children.length>0
                })[0]
                console.log(one);
                let name=one.children[0].id
                console.log(name);
                this.selectAllMbomStart(name)
                this.selectDataList();
            }, {
                headers: {
                        "Content-Type": "application/json"
                      }
            })
            },
            selectAllMbomStart(name) {
            this.$axios.get(this.$api.url.selectAllMbom,{
                params:{id:name}
            }).then(res => {
                this.tableData = res.data;
                console.log(this.tableData);
            }, {
                headers: {
                        "Content-Type": "application/json"
                      }
            })
            },
            //右边
            selectAllMbom() {
@@ -294,8 +315,9 @@
                    }
                })
            },
            handleNodeClick(data) {
                this.checkTreeNode = data
            handleNodeClick(data){
                this.checkTreeNode = data
                console.log(data);
                console.log(this.checkTreeNode.id);
                this.selectAllMbom()
            },
@@ -306,28 +328,24 @@
                    })
                    .catch(_ => {});
            },
            event() {
                this.dialogVisible = true
            //新增
            event(){
                this.dialogVisible = true
                this.chooseTechFath()
            },
            Addrow() {
                if (this.tableapi == undefined) {
                    this.tableapi = new Array();
                }
                let obj = [];
                this.tableapi.push(obj);
            },
            //添加行
             Addrow() {
            if (this.tableapi == undefined) {
                this.tableapi = new Array();
            }
            let obj = [];
            this.tableapi.push(obj);
            },
            skipshow() {
                console.log('666');
                let data = this.tableapi.at(-1)
                // this.addMbom()
                data.techTemId = this.search.craft
                // console.log(this.search.craft);
                // console.log(data);
                this.addMbom(data)
                this.dialogVisible = false
            },
            //delAllMbom 批量删除
@@ -485,4 +503,4 @@
        height: 30px;
        border-radius: 2px;
    }
</style>
</style>
src/components/view/standard-table/technology.vue
@@ -67,7 +67,6 @@
    props:['tableData','tableType'],
    created() {},
    mounted() {
    },
    methods: {
      // 表格树全部选中配置
src/components/view/technical.vue
@@ -4,7 +4,7 @@
      <el-row>
        <el-col :span="12">技术文件</el-col>
        <el-col :span="12" style="text-align: right;">
          <el-button  icon="el-icon-plus">生成项目书</el-button>
          <el-button icon="el-icon-plus">生成项目书</el-button>
        </el-col>
      </el-row>
    </div>
@@ -25,14 +25,14 @@
          <el-input v-model="searchData.name" @input="query"></el-input>
        </el-form-item>
        <el-form-item label="编制状态:" >
          <el-select v-model="searchData.type" placeholder="全部" style="width: 310px;">
          <el-select v-model="searchData.type" size="small" placeholder="全部" style="width: 250px;">
              <el-option label="待编制" :value="0"></el-option>
                            <el-option label="已编制" :value="1"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item >
                <el-button  plain @click="resetBtn">重 置</el-button>
                <el-button  @click="searchTechnical">查 询</el-button>
        <el-form-item>
              <el-button plain @click="resetBtn" style="margin-left: 12px;">重 置</el-button>
              <el-button @click="searchTechnical">查 询</el-button>
        </el-form-item>
      </el-form>
    </div>
@@ -335,6 +335,7 @@
  background: #fff;
  padding: 24px 32px;
}
.search-header .el-form-item__label{
  padding: 0 30px 0 0;
}
@@ -416,3 +417,12 @@
}
</style>
<style>
    .technical .title *{
        font-size: 14px;
    }
    .technical .search-header *{
        font-size: 14px;
    }
</style>
src/components/view/technology.vue
@@ -602,7 +602,7 @@
          }
        )
        .then((res) => {
          console.log(res);
                    this.$parent.removeAllTab()
          this.selectAllTechNam();
          this.form = {};
        });
@@ -640,17 +640,17 @@
            },
    //批量删除
    delAllTech() {
      console.log(this.delete);
      this.$axios.post(this.$api.url.delAllTech, {
        ids: this.delete,
        ids: this.delete
      });
            this.$parent.removeAllTab()
    },
    //删除
    delTechById() {
      console.log(this.$api.url.delTechById, this.upData.id);
      this.$axios.post(this.$api.url.delTechById, {
        id: this.upData.id,
        id: this.upData.id
      });
            this.$parent.removeAllTab()
    },
    //编辑
    writeTechById() {
@@ -677,7 +677,7 @@
          }
        )
        .then((res) => {
          console.log(res);
                    this.$parent.removeAllTab()
        });
    },
@@ -789,7 +789,6 @@
        return el.id;
      });
      this.delete = cc.join(",");
      console.log(this.delete);
      this.delAllTech();
      this.$message.success("删除完成");
    },
src/main.js
@@ -23,7 +23,12 @@
Vue.use(qs);
Vue.use(api);
const javaApi = 'http://192.168.0.24:8001/'
const javaApi = 'http://192.168.0.23:8001'
// localhost 127.0.0.1
// const javaApi = 'http://127.0.0.1'
axios.defaults.baseURL = javaApi
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
@@ -56,6 +61,7 @@
        // console.log(config.data)
    }
    return config
}, function(error) {
    return Promise.reject(error)
src/view/index.vue
@@ -91,7 +91,7 @@
    }
    .left .box i {
        font-size: 32px;
        font-size: 24px;
        margin-bottom: 8px;
    }
@@ -209,7 +209,6 @@
        height: 100%;
    }
</style>
<style></style>
<template>
    <div class="all">
        <div class="title">
@@ -260,7 +259,7 @@
            </div>
            <div class="component_view">
                <component class="com_index" v-for="(com, index) in tabs" :is="com.u" :key="upIndex + '|' + index"
                    v-show="com.k == tabActive">
                    v-show="com.k == tabActive" @removeAllTab="removeAllTab">
                </component>
            </div>
        </div>
@@ -560,6 +559,7 @@
                    u: "index-index"
                }]
            },
            upTabActive(num) {
                this.tabActive = num;
                this.activeP = num;
@@ -576,6 +576,9 @@
                sessionStorage.clear();
                localStorage.removeItem("autoenter");
                this.$router.push("/enter");
            },
            removeAllTab(){
                this.upIndex++
            }
        }
    };