value
2023-09-13 ac9fd398dbc0a7df7d92b56dd7ec0c372ef01609
销售订单bug修复
已修改9个文件
2604 ■■■■ 文件已修改
src/components/view/Technicalindex.vue 1010 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/equipmentmaintain.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/mbom.vue 436 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/record-content.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/sale.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/self-inspection.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/standard.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/technology.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/index.vue 1135 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/Technicalindex.vue
@@ -1,320 +1,242 @@
<template>
    <div class="record_content">
        <div class="title">
            <el-row>
            <el-row>
                <el-col :span="12" style="line-height: 32px;">技术指标维护</el-col>
                <el-col :span="12" style="text-align: right;">
                    <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="event">新增</el-button>
                    <!-- <el-button icon="el-icon-edit-outline" @click="modify">修改</el-button> -->
                    <el-button icon="el-icon-delete"  @click="dels" >删除</el-button>
                    <el-button icon="el-icon-delete" @click="dels">删除</el-button>
                </el-col>
            </el-row>
        </div>
        <div>
            <!-- 编辑弹窗 -->
            <div>
            <el-dialog
            title="技术指标编辑"
            :visible.sync="modifyevent"
            width="40%"
            :before-close="handleClose">
            <el-form ref="form" :model="form" label-width="80px">
                <el-form-item label="类型">
                    <template>
                        <el-select v-model="value" placeholder="请选择" style="width: 560px;">
                            <el-option
                            v-for="item in options"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value">
                            </el-option>
                        </el-select>
                        </template>
                    </el-form-item>
                <el-row>
                    <el-col :span="11">
                        <el-form-item label="工序">
                            <el-input v-model="form.name"  placeholder="请输入或选择工序"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="11" :offset="2">
                        <el-form-item label="工艺">
                            <el-input v-model="form.name"  placeholder="请输入或选择工艺"></el-input>
                        </el-form-item>
                     </el-col>
                </el-row>
        <div style="height: calc(100% - 42px);">
            <!-- 编辑弹窗 -->
            <div>
                <el-dialog title="技术指标编辑" :visible.sync="modifyevent" width="40%" :before-close="handleClose">
                    <el-form ref="form" :model="form" label-width="80px">
                        <el-form-item label="类型">
                            <template>
                                <el-select v-model="value" placeholder="请选择" style="width: 560px;">
                                    <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
                                    </el-option>
                                </el-select>
                            </template>
                        </el-form-item>
                        <el-row>
                            <el-col :span="11">
                                <el-form-item label="工序">
                                    <el-input v-model="form.name" placeholder="请输入或选择工序"></el-input>
                                </el-form-item>
                            </el-col>
                            <el-col :span="11" :offset="2">
                                <el-form-item label="工艺">
                                    <el-input v-model="form.name" placeholder="请输入或选择工艺"></el-input>
                                </el-form-item>
                            </el-col>
                        </el-row>
                <el-row>
                    <el-col :span="11">
                        <el-form-item label="项目组">
                            <el-input v-model="form.name"  placeholder="请选择"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="11" :offset="2">
                        <el-form-item label="项目">
                            <el-input v-model="form.name"  placeholder="请输入项目"></el-input>
                        </el-form-item>
                     </el-col>
                </el-row>
                        <el-row>
                            <el-col :span="11">
                                <el-form-item label="项目组">
                                    <el-input v-model="form.name" placeholder="请选择"></el-input>
                                </el-form-item>
                            </el-col>
                            <el-col :span="11" :offset="2">
                                <el-form-item label="项目">
                                    <el-input v-model="form.name" placeholder="请输入项目"></el-input>
                                </el-form-item>
                            </el-col>
                        </el-row>
                <el-form-item label="单位">
                    <el-input v-model="form.name"  placeholder="请输入单位" style="width: 220px;"></el-input>
                </el-form-item>
                </el-form>
            <span slot="footer" class="dialog-footer">
                <el-button @click="modifyevent = false">取 消</el-button>
                <el-button type="primary" @click="modifyevent = false">确 定</el-button>
            </span>
            </el-dialog>
            </div>
        <div class="choose">
            <span>类型:</span>
            <el-select v-model="search.type" size="small" placeholder="请选择" @change="TYpe" style="width: 224px;margin-right: 30px;">
                <el-option label="橡胶连接器" :value="0"></el-option>
                <el-option label="金属连接器" :value="1"></el-option>
                <el-option label="湿插拔电连接器" :value="2"></el-option>
                <el-option label="分支组件" :value="3"></el-option>
            </el-select>
            <!-- <span>工序:</span>
                        <el-form-item label="单位">
                            <el-input v-model="form.name" placeholder="请输入单位" style="width: 220px;"></el-input>
                        </el-form-item>
                    </el-form>
                    <span slot="footer" class="dialog-footer">
                        <el-button @click="modifyevent = false">取 消</el-button>
                        <el-button type="primary" @click="modifyevent = false">确 定</el-button>
                    </span>
                </el-dialog>
            </div>
            <div class="choose">
                <span>类型:</span>
                <el-select v-model="search.type" size="small" placeholder="请选择" @change="TYpe"
                    style="width: 224px;margin-right: 30px;">
                    <el-option label="橡胶连接器" :value="0"></el-option>
                    <el-option label="金属连接器" :value="1"></el-option>
                    <el-option label="湿插拔电连接器" :value="2"></el-option>
                    <el-option label="分支组件" :value="3"></el-option>
                </el-select>
                <!-- <span>工序:</span>
            <el-select v-model="search.name" size="small" placeholder="请选择" style="width: 224px;margin-right: 30px;">
                <el-option v-for="(a, ai) in process" key="ai" :label="a.name" :value="a.id"></el-option>
            </el-select>
            <el-button size="mini"><span>重 置</span></el-button>
            <el-button size="mini" type="primary" style="background: #004EA2;"><span>查询</span></el-button> -->
        </div>
        <div class="thing">
        <!-- 主体左 -->
            <div  class="left">
                <el-input v-model="search.technology"
                suffix-icon="el-icon-search"
                placeholder="请输入搜索内容"
                size="small"
                clearable @input="query" ></el-input>
                    <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'father'}" node-key="name" default-expand-all
                    @node-click="handleNodeClick" highlight-current
                        >
                    <div class="custom-tree-node" slot-scope="{ node, data }">
                        <span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
                            {{data.code}} {{ data.name }}</span>
                        <!-- <el-button type="text" size="mini" @click.stop="remove(node, data)">
            </div>
            <div class="thing">
                <!-- 主体左 -->
                <div class="left">
                    <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small"
                        clearable @input="query"></el-input>
                    <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'father'}" node-key="name"
                        default-expand-all @node-click="handleNodeClick" highlight-current>
                        <div class="custom-tree-node" slot-scope="{ node, data }">
                            <span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
                                {{data.code}} {{ data.name }}</span>
                            <!-- <el-button type="text" size="mini" @click.stop="remove(node, data)">
                            <i class="el-icon-delete"></i>
                        </el-button> -->
                    </div>
                </el-tree>
            </div>
            <!-- 主体右 -->
            <div class="right">
                <el-table
                    :data="tableData"
                    style="width: 100%;margin-bottom: 20px;"
                    row-key="name"
                    border
                    @selection-change="handleSelectionChange"
                    default-expand-all
                    :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
                    <el-table-column
                    type="selection"
                    width="55">
                    </el-table-column>
                    <el-table-column
                    type="index"
                    width="50">
                    </el-table-column>
                    <el-table-column
                    prop="name"
                    label="项目"
                    sortable
                    width="400px">
                        <template slot-scope="scope">
                        <el-tag>
                            <div class="firstDiv" :style="`color: ${scope.row.children? '#16a7ff' : '#58c173'}`">
                            {{ scope.row.children ? "01" : "02" }}
                            </div>
                        </el-tag>
                        <span style="color: black">{{ scope.row.name }}</span>
                        </div>
                    </el-tree>
                </div>
                <!-- 主体右 -->
                <div class="right">
                    <el-table :data="tableData" style="width: 100%;overflow-y: auto;min-height: 100%"
                        max-height="100%" row-key="name" border @selection-change="handleSelectionChange"
                        default-expand-all :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
                        <el-table-column type="selection" width="55">
                        </el-table-column>
                        <el-table-column type="index" width="50">
                        </el-table-column>
                        <el-table-column prop="name" label="项目" sortable width="400px">
                            <template slot-scope="scope">
                                <el-tag>
                                    <div class="firstDiv" :style="`color: ${scope.row.children? '#16a7ff' : '#58c173'}`">
                                        {{ scope.row.children ? "01" : "02" }}
                                    </div>
                                </el-tag>
                                <span style="color: black">{{ scope.row.name }}</span>
                            </template>
                        </el-table-column>
                        <el-table-column prop="unit" label="单位">
                        </el-table-column>
                        <el-table-column prop="address" label="操作" 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="deleteRow(scope.$index, scope.row)">删除</el-button>
                                </div>
                            </template>
                        </el-table-column>
                    </el-table>
                </div>
                <div>
                    <el-dialog title="编辑技术内容" :visible.sync="upDia" width="500px">
                        <div class="body">
                        </template>
                        </el-table-column>
                        <el-table-column
                        prop="unit"
                        label="单位">
                        </el-table-column>
                        <el-table-column
                        prop="address"
                        label="操作"
                        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="deleteRow(scope.$index, scope.row)">删除</el-button>
                            </div>
                        </template>
                    </el-table-column>
                </el-table>
            </div>
            <div>
                <el-dialog title="编辑技术内容" :visible.sync="upDia" width="500px">
            <div class="body">
                            <el-row style="line-height: 46px;">
                                <el-col :span="4" style="font-size: 14px;text-align: right;">类型:</el-col>
                                <el-col :span="16" :offset="1">
                                    <template>
                                        <el-select v-model="edit.type" disabled placeholder="请选择" @change="TYpe"
                                            style="width: 306px;margin-right: 30px;">
                                            <el-option label="橡胶连接器" :value="0"></el-option>
                                            <el-option label="金属连接器" :value="1"></el-option>
                                            <el-option label="湿插拔电连接器" :value="2"></el-option>
                                            <el-option label="分支组件" :value="3"></el-option>
                                        </el-select>
                                    </template>
                                </el-col>
                            </el-row>
                            <el-row style="line-height: 46px;">
                                <el-col :span="4" style="font-size: 14px;text-align: right;">工序:</el-col>
                                <el-col :span="16" :offset="1">
                                    <template>
                                        <el-select v-model="edit.techFather" placeholder="请选择" allow-create disabled style="width: 306px;"
                                            filterable @change="workevent">
                                            <el-option v-for="(item,index) in process" :key="item.name" :label="item.name" :value="item.name">
                                            </el-option>
                                        </el-select>
                                    </template>
                                </el-col>
                            </el-row>
                            <el-row style="line-height: 46px;">
                                <el-col :span="4" style="font-size: 14px;text-align: right;">工艺:</el-col>
                                <el-col :span="16" :offset="1">
                                    <template>
                                        <el-select v-model="edit.techName" placeholder="请选择" disabled style="width: 306px;" allow-create
                                            filterable>
                                            <el-option v-for="item in craftapi" :key="item.id" :label="item.name" :value="item.id">
                                            </el-option>
                                        </el-select>
                                    </template>
                                </el-col>
                            </el-row>
                            <el-row style="line-height: 46px;">
                                <el-col :span="4" style="font-size: 14px;text-align: right;">项目组:</el-col>
                                <el-col :span="16" :offset="1">
                                    <el-input v-model="edit.father" :disabled="true" size="small" clearable></el-input>
                                </el-col>
                            </el-row>
                            <el-row style="line-height: 46px;">
                                <el-col :span="4" style="font-size: 14px;text-align: right;">项目名称:</el-col>
                                <el-col :span="16" :offset="1">
                                    <el-input v-model="edit.name" size="small" clearable></el-input>
                                </el-col>
                            </el-row>
                            <el-row style="line-height: 46px;">
                                <el-col :span="4" style="font-size: 14px;text-align: right;">单位:</el-col>
                                <el-col :span="16" :offset="1">
                                    <el-input v-model="edit.unit" size="small" clearable></el-input>
                                </el-col>
                            </el-row>
                        </div>
                        <span slot="footer" class="dialog-footer">
                            <el-button type="primary" @click="submitUpData">确 定</el-button>
                            <el-button @click="upDia = false">取 消</el-button>
                        </span>
                    </el-dialog>
                </div>
                <!-- 新增弹窗 -->
                <div>
                    <el-dialog title="技术指标新增" :visible.sync="dialogVisible" width="40%">
                        <el-form ref="form" :model="form" label-width="80px">
                            <el-form-item label="类型">
                                <template>
                                    <el-select v-model="form.type" size="small" placeholder="请选择" @change="edittype"
                                        style="width: 554px;margin-right: 30px;">
                                        <el-option label="橡胶连接器" :value="0"></el-option>
                                        <el-option label="金属连接器" :value="1"></el-option>
                                        <el-option label="湿插拔电连接器" :value="2"></el-option>
                                        <el-option label="分支组件" :value="3"></el-option>
                                    </el-select>
                                </template>
                            </el-form-item>
                            <el-row>
                                <el-col :span="11">
                                    <el-form-item label="工序">
                                        <template>
                                            <el-select v-model="form.work" placeholder="请选择" allow-create filterable @change="workevent">
                                                <el-option v-for="(item,index) in process" :key="item.name" :label="item.name"
                                                    :value="item.name">
                                                </el-option>
                                            </el-select>
                                        </template>
                                    </el-form-item>
                                </el-col>
                                <el-col :span="11" :offset="2">
                                    <el-form-item label="工艺">
                                        <template>
                                            <el-select v-model="form.name" placeholder="请选择" allow-create filterable>
                                                <el-option v-for="item in craftapi" :key="item.id" :label="item.name" :value="item.id">
                                                </el-option>
                                            </el-select>
                                        </template>
                                    </el-form-item>
                                </el-col>
                            </el-row>
                <el-row style="line-height: 46px;">
                    <el-col :span="4" style="font-size: 14px;text-align: right;">类型:</el-col>
                    <el-col :span="16" :offset="1">
                        <template>
                        <el-select v-model="edit.type"   disabled placeholder="请选择" @change="TYpe" style="width: 306px;margin-right: 30px;">
                            <el-option label="橡胶连接器" :value="0"></el-option>
                            <el-option label="金属连接器" :value="1"></el-option>
                            <el-option label="湿插拔电连接器" :value="2"></el-option>
                            <el-option label="分支组件" :value="3"></el-option>
                        </el-select>
                        </template>
                    </el-col>
                </el-row>
                <el-row style="line-height: 46px;">
                    <el-col :span="4"  style="font-size: 14px;text-align: right;">工序:</el-col>
                    <el-col :span="16" :offset="1">
                        <template>
                                <el-select v-model="edit.techFather"
                                placeholder="请选择"
                                allow-create
                                disabled
                                style="width: 306px;"
                                filterable
                                @change="workevent"
                                >
                                    <el-option
                                    v-for="(item,index) in process"
                                    :key="item.name"
                                    :label="item.name"
                                    :value="item.name">
                                    </el-option>
                                </el-select>
                                </template>
                    </el-col>
                </el-row>
                <el-row style="line-height: 46px;">
                    <el-col :span="4" style="font-size: 14px;text-align: right;">工艺:</el-col>
                    <el-col :span="16" :offset="1">
                        <template>
                                <el-select v-model="edit.techName"
                                placeholder="请选择"
                                disabled
                                style="width: 306px;"
                                allow-create
                                filterable
                                >
                                    <el-option
                                    v-for="item in craftapi"
                                    :key="item.id"
                                    :label="item.name"
                                    :value="item.id">
                                    </el-option>
                                </el-select>
                                </template>
                    </el-col>
                </el-row>
                <el-row style="line-height: 46px;">
                    <el-col :span="4"  style="font-size: 14px;text-align: right;">项目组:</el-col>
                    <el-col :span="16" :offset="1">
                        <el-input v-model="edit.father" :disabled="true" size="small" clearable></el-input>
                    </el-col>
                </el-row>
                <el-row style="line-height: 46px;">
                    <el-col :span="4" style="font-size: 14px;text-align: right;">项目名称:</el-col>
                    <el-col :span="16" :offset="1">
                        <el-input v-model="edit.name" size="small" clearable></el-input>
                    </el-col>
                </el-row>
                <el-row style="line-height: 46px;">
                    <el-col :span="4" style="font-size: 14px;text-align: right;">单位:</el-col>
                    <el-col :span="16" :offset="1">
                        <el-input v-model="edit.unit" size="small" clearable></el-input>
                    </el-col>
                </el-row>
            </div>
            <span slot="footer" class="dialog-footer">
                <el-button type="primary" @click="submitUpData">确 定</el-button>
                <el-button @click="upDia = false">取 消</el-button>
            </span>
        </el-dialog>
            </div>
                 <!-- 新增弹窗 -->
        <div>
            <el-dialog
            title="技术指标新增"
            :visible.sync="dialogVisible"
            width="40%"
           >
            <el-form ref="form" :model="form" label-width="80px">
                <el-form-item label="类型">
                    <template>
                        <el-select v-model="form.type"  size="small" placeholder="请选择" @change="edittype" style="width: 554px;margin-right: 30px;">
                            <el-option label="橡胶连接器" :value="0"></el-option>
                            <el-option label="金属连接器" :value="1"></el-option>
                            <el-option label="湿插拔电连接器" :value="2"></el-option>
                            <el-option label="分支组件" :value="3"></el-option>
                        </el-select>
                        </template>
                    </el-form-item>
                <el-row>
                    <el-col :span="11">
                        <el-form-item label="工序">
                            <template>
                                <el-select v-model="form.work"
                                placeholder="请选择"
                                allow-create
                                filterable
                                @change="workevent"
                                >
                                    <el-option
                                    v-for="(item,index) in process"
                                    :key="item.name"
                                    :label="item.name"
                                    :value="item.name">
                                    </el-option>
                                </el-select>
                                </template>
                        </el-form-item>
                    </el-col>
                    <el-col :span="11" :offset="2">
                        <el-form-item label="工艺">
                            <template>
                                <el-select v-model="form.name"
                                placeholder="请选择"
                                allow-create
                                filterable
                                >
                                    <el-option
                                    v-for="item in craftapi"
                                    :key="item.id"
                                    :label="item.name"
                                    :value="item.id">
                                    </el-option>
                                </el-select>
                                </template>
                        </el-form-item>
                     </el-col>
                </el-row>
                <el-row>
                    <el-col :span="11">
                        <el-form-item label="项目组" >
                            <template>
                                <el-select v-model="form.father"
                                placeholder="请选择"
                                allow-create
                                filterable
                                @create="electadd"
                                >
                                    <el-option
                                    v-for="item in higherlevel"
                                    :key="item"
                                    :label="item"
                                    :value="item">
                                    </el-option>
                                </el-select>
                                <!-- <el-autocomplete
                            <el-row>
                                <el-col :span="11">
                                    <el-form-item label="项目组">
                                        <template>
                                            <el-select v-model="form.father" placeholder="请选择" allow-create filterable @create="electadd">
                                                <el-option v-for="item in higherlevel" :key="item" :label="item" :value="item">
                                                </el-option>
                                            </el-select>
                                            <!-- <el-autocomplete
                                popper-class="my-autocomplete"
                                v-model="form.father"
                                :fetch-suggestions="higherlevel"
@@ -331,86 +253,82 @@
                                </template>
                                </el-autocomplete> -->
                                </template>
                        </el-form-item>
                    </el-col>
                    <el-col :span="11" :offset="2">
                        <el-form-item label="项目">
                            <el-input v-model="form.project"  style="width: 200px;" placeholder="请输入项目"></el-input>
                        </el-form-item>
                     </el-col>
                </el-row>
                                        </template>
                                    </el-form-item>
                                </el-col>
                                <el-col :span="11" :offset="2">
                                    <el-form-item label="项目">
                                        <el-input v-model="form.project" style="width: 200px;" placeholder="请输入项目"></el-input>
                                    </el-form-item>
                                </el-col>
                            </el-row>
                <el-form-item label="单位">
                    <el-input v-model="form.unit"  placeholder="请输入单位" style="width: 200px;"></el-input>
                </el-form-item>
                </el-form>
            <span slot="footer" class="dialog-footer">
                <el-button @click="dialogVisible = false">取 消</el-button>
                <el-button type="primary" @click="add">确 定</el-button>
            </span>
            </el-dialog>
            </div>
        </div>
                            <el-form-item label="单位">
                                <el-input v-model="form.unit" placeholder="请输入单位" style="width: 200px;"></el-input>
                            </el-form-item>
                        </el-form>
                        <span slot="footer" class="dialog-footer">
                            <el-button @click="dialogVisible = false">取 消</el-button>
                            <el-button type="primary" @click="add">确 定</el-button>
                        </span>
                    </el-dialog>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
export default {
    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() {
            this.selectAllleft()
            this.selectAllright()
                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: ''
                }
            }
        },
        methods:{
            handleClose(){
        mounted() {
            this.selectAllleft()
            this.selectAllright()
        },
        methods: {
            handleClose() {
            },
            selectDataList() {
            },
            selectDataList() {
                this.list.forEach(a => {
                    a.code = '[1]'
                    if (a.children != undefined) {
@@ -426,66 +344,66 @@
                })
                this.upIndex++
            },
            //编辑
            selecTech() {
                this.$axios.get(this.$api.url.selecTech,{
                    params:{
                        id:this.upData.id
            //编辑
            selecTech() {
                this.$axios.get(this.$api.url.selecTech, {
                    params: {
                        id: this.upData.id
                    }
                }).then(res => {
                    this.edit = res.data[0]
                    console.log(this.edit);
                })
            },
            childrenClick(val) {
            childrenClick(val) {
                this.upData = val
                this.selecTech()
                this.upDia = true
            },
            writeTechByIdskill() {
                this.selecTech()
                this.upDia = true
            },
            writeTechByIdskill() {
                // console.log(this.upData.id);
                this.$axios.post(this.$api.url.writeTechByIdskill + '?id=' + this.upData.id,{
                    name:this.edit.name,
                    father:this.edit.father,
                    techTemId:this.edit.id,
                    unit:this.edit.unit
                this.$axios.post(this.$api.url.writeTechByIdskill + '?id=' + this.upData.id, {
                    name: this.edit.name,
                    father: this.edit.father,
                    techTemId: this.edit.id,
                    unit: this.edit.unit
                }, {
                    headers: {
                        "Content-Type": "application/json"
                      }
                        "Content-Type": "application/json"
                    }
                }).then(res => {
                    this.selectAllright()
                })
            },
            submitUpData() {//确定
                this.writeTechByIdskill()
                this.upDia = false
            },
            //删除
            delTechBy() {
                console.log(this.$api.url.delTechBy,this.upData.id);
                this.$axios.post(this.$api.url.delTechBy,{
                        id:this.upData.id
                }).then(res =>{
                    this.selectAllright()
                    this.$message.success('删除完成')
                })
            },
            deleteRow(index, rows) {
                this.tableData.splice(index,1)
                this.upData = rows
            submitUpData() { //确定
                this.writeTechByIdskill()
                this.upDia = false
            },
            //删除
            delTechBy() {
                console.log(this.$api.url.delTechBy, this.upData.id);
                this.$axios.post(this.$api.url.delTechBy, {
                    id: this.upData.id
                }).then(res => {
                    this.selectAllright()
                    this.$message.success('删除完成')
                })
            },
            deleteRow(index, rows) {
                this.tableData.splice(index, 1)
                this.upData = rows
                this.upData.id = rows.id
                this.delTechBy()
            },
             //批量删除
             delAllTechskill() {
                this.$axios.post(this.$api.url.delAllTechskill,{
                    ids:this.delete
                }).then(res =>{
                    this.selectAllright()
                })
            },
            dels() {
            //批量删除
            delAllTechskill() {
                this.$axios.post(this.$api.url.delAllTechskill, {
                    ids: this.delete
                }).then(res => {
                    this.selectAllright()
                })
            },
            dels() {
                this.selects.forEach(a => {
                    for (var b = 0; b < this.tableData.length; b++) {
                        if (this.tableData[b].id == a.id) {
@@ -494,7 +412,7 @@
                        }
                    }
                })
                let cc = this.selects.map(el => {
                let cc = this.selects.map(el => {
                    return el.id
                })
                this.delete = cc.join(',')
@@ -502,141 +420,152 @@
                this.delAllTechskill()
                this.$message.success('删除完成')
            },
            add() {
                this.dialogVisible = false
                this.addTechMode()
            add() {
                this.dialogVisible = false
                this.addTechMode()
                this.form = {};
            },
            electadd(value) {
                console.log(value);
                this.higherlevel.push({});
                this.form.father = value;
            },
            addTechMode() {
                this.$axios.post(this.$api.url.addTechMode,{
                    father:this.form.father,
                    name:this.form.project,
                    techTemId:this.form.name,
                    unit:this.form.unit,
                }, {
            },
            electadd(value) {
                console.log(value);
                this.higherlevel.push({});
                this.form.father = value;
            },
            addTechMode() {
                this.$axios.post(this.$api.url.addTechMode, {
                    father: this.form.father,
                    name: this.form.project,
                    techTemId: this.form.name,
                    unit: this.form.unit,
                }, {
                    headers: {
                        "Content-Type": "application/json"
                      }
                }).then(res =>{
                    this.$message.success('新增完成')
                    this.selectAllright()
                        "Content-Type": "application/json"
                    }
                }).then(res => {
                    this.$message.success('新增完成')
                    this.selectAllright()
                })
            },
            TYpe(val) {
                this.typeselect = val
                console.log(this.typeselect);
                this.selectAllleft()
            },
            edittype(val) {
                })
            },
            TYpe(val) {
                this.typeselect = val
                console.log(this.typeselect);
                this.selectAllleft()
            },
            edittype(val) {
                this.typeselect = val
                this.chooseTechFath()
            },
            //主体左
            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) // 默认选中节点第一个
            })
            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.selectAllrightStart(name)
            this.selectDataList();
            });
            //主体左
            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) // 默认选中节点第一个
                    })
                    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.selectAllrightStart(name)
                    this.selectDataList();
                });
            },
            selectAllrightStart(name) {
            this.$axios.get(this.$api.url.selectAllright,{
                params:{id:name}
            }).then(res => {
                this.tableData = res.data;
                console.log(this.tableData);
            });
            selectAllrightStart(name) {
                this.$axios.get(this.$api.url.selectAllright, {
                    params: {
                        id: name
                    }
                }).then(res => {
                    this.tableData = res.data;
                    console.log(this.tableData);
                });
            },
            //
            //查询
            query(val) {
                this.selectAllleft()
            },
            //右
            selectAllright() {
            this.$axios.get(this.$api.url.selectAllright,{
                params:{id:this.checkTreeNode.id}
            }).then(res => {
                this.tableData = res.data;
                console.log(this.tableData);
            });
            //
            //查询
            query(val) {
                this.selectAllleft()
            },
            //上级
            chooseProFath() {
                console.log(this.checkTreeNode.id);
            this.$axios.get(this.$api.url.chooseProFath,{
                params:{techTemId:this.checkTreeNode.id}
            }).then(res => {
                this.higherlevel = res.data;
                console.log(this.higherlevel);
            }, {
                headers: {
                        "Content-Type": "application/json"
                      }
            })
            //右
            selectAllright() {
                this.$axios.get(this.$api.url.selectAllright, {
                    params: {
                        id: this.checkTreeNode.id
                    }
                }).then(res => {
                    this.tableData = res.data;
                    console.log(this.tableData);
                });
            },
            //工序工艺
            chooseTechFath() {
            this.$axios.get(this.$api.url.chooseTechFath,{
                params:{type:this.typeselect}
            }).then(res => {
                this.process = res.data;
                console.log(this.process);
            }, {
                headers: {
                        "Content-Type": "application/json"
                      }
            })
            //上级
            chooseProFath() {
                console.log(this.checkTreeNode.id);
                this.$axios.get(this.$api.url.chooseProFath, {
                    params: {
                        techTemId: this.checkTreeNode.id
                    }
                }).then(res => {
                    this.higherlevel = res.data;
                    console.log(this.higherlevel);
                }, {
                    headers: {
                        "Content-Type": "application/json"
                    }
                })
            },
            workevent(val){
                console.log(val);
                let idx = this.process.findIndex(el => el.name === val)
                this.craftapi = this.process[idx].children
            },
            handleNodeClick(data){
                this.checkTreeNode = data
            //工序工艺
            chooseTechFath() {
                this.$axios.get(this.$api.url.chooseTechFath, {
                    params: {
                        type: this.typeselect
                    }
                }).then(res => {
                    this.process = res.data;
                    console.log(this.process);
                }, {
                    headers: {
                        "Content-Type": "application/json"
                    }
                })
            },
            workevent(val) {
                console.log(val);
                let idx = this.process.findIndex(el => el.name === val)
                this.craftapi = this.process[idx].children
            },
            handleNodeClick(data) {
                this.checkTreeNode = data
                console.log(this.checkTreeNode.id);
                this.selectAllright()
            },
            event(){
                this.dialogVisible = true
                this.chooseProFath()
                this.chooseTechFath()
            },
            modify(){
                this.modifyevent = true
            },
            // deleteRow(index, rows) {
                // console.log();
                // rows.splice(index, 1);
            },
            event() {
                this.dialogVisible = true
                this.chooseProFath()
                this.chooseTechFath()
            },
            modify() {
                this.modifyevent = true
            },
            // deleteRow(index, rows) {
            // console.log();
            // rows.splice(index, 1);
            // },
            handleSelectionChange(val) {
            handleSelectionChange(val) {
                this.selects = val;
            },
            //编辑
        }
    }
            //编辑
        }
    }
</script>
<style scoped>
@@ -677,7 +606,7 @@
    .thing {
        width: 100%;
        height: calc(100% - 120px);
        height: calc(100% - 78px);
        background-color: #fff;
        display: flex;
    }
@@ -687,6 +616,7 @@
        height: calc(100% - 20px);
        border-right: 3px solid rgb(245, 247, 251);
        padding: 16px;
        overflow-y: auto;
    }
    .thing .left .custom-tree-node span {
@@ -726,8 +656,9 @@
        color: #004ea0;
        cursor: pointer;
    }
.firstDiv {
  /* float: left;
    .firstDiv {
        /* float: left;
  width: 20px;
  height: 20px;
  border-radius: 60px;
@@ -737,11 +668,12 @@
  display: flex;
  align-items: center;
  margin-right: 8px; */
  /* border-radius: 60px; */
}
.el-tag{
    border-radius: 50%;
}
        /* border-radius: 60px; */
    }
    .el-tag {
        border-radius: 50%;
    }
</style>
<style>
    .record_content .title .el-button * {
@@ -761,4 +693,4 @@
        height: 30px;
        border-radius: 2px;
    }
</style>
</style>
src/components/view/equipmentmaintain.vue
@@ -245,7 +245,6 @@
                placeholder="请输入搜索内容" 
                size="small" clearable ></el-input>
                    <el-tree :data="list" ref="tree" 
                    style="height: 500px;overflow-y: auto;"
                    :props="{children: 'children',label: 'name'}" highlight-current node-key="name" default-expand-all
                         
                        @node-click="handleNodeClick"
@@ -662,6 +661,7 @@
        height: calc(100% - 20px);
        border-right: 3px solid rgb(245, 247, 251);
        padding: 16px;
        overflow-y: auto;
    }
    .thing .left .custom-tree-node span {
src/components/view/mbom.vue
@@ -1,127 +1,96 @@
<template>
    <div class="record_content">
        <div class="title">
            <el-row>
            <el-row>
                <el-col :span="12" style="line-height: 32px;">物料清单维护</el-col>
                <el-col :span="12" style="text-align: right;">
                    <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="event">新增</el-button>
                    <el-button icon="el-icon-delete" @click="dels" >删除</el-button>
                    <el-button icon="el-icon-delete" @click="dels">删除</el-button>
                </el-col>
            </el-row>
        </div>
        <div>
            <el-dialog
            title="物料清单的维护"
            :visible.sync="dialogVisible"
            width="80%"
            :before-close="handleClose" :center="true">
            <div>
                <el-form>
                <el-row :gutter="2">
                <el-col :span="8">
                    <el-form-item label="类型:">
                    <el-select v-model="search.type" size="small" placeholder="请选择" style="width: 224px;margin-right: 30px;">
                        <el-option label="橡胶连接器" :value="0"></el-option>
                        <el-option label="金属连接器" :value="1"></el-option>
                        <el-option label="湿插拔电连接器" :value="2"></el-option>
                        <el-option label="分支组件" :value="3"></el-option>
                    </el-select>
                    </el-form-item>
                </el-col>
                <el-col :span="8">
                    <el-form-item label="工序">
                            <template>
                                <el-select v-model="search.work"
                                placeholder="请选择"
                                allow-create
                                filterable
                                @change="workevent"
                                >
                                    <el-option
                                    v-for="(item,index) in process"
                                    :key="item.name"
                                    :label="item.name"
                                    :value="item.name">
                                    </el-option>
                                </el-select>
                                </template>
                        </el-form-item>
                </el-col>
                <el-col :span="8">
                    <el-form-item label="工艺名称:">
                    <el-select v-model="search.craft" size="small" placeholder="请选择" style="width: 224px;margin-right: 30px;">
                        <el-option
                            v-for="item in craftapi"
                            :key="item.id"
                            :label="item.name"
                            :value="item.id">
                            </el-option>
                    </el-select>
                </el-form-item>
                </el-col>
                </el-row>
            </el-form>
                <el-button size="mini" @click="Addrow" >添加行</el-button>
            </div>
            <div style="margin: 10px 0px;">
                <template>
                    <el-table
                    border
                    :data="tableapi"
                    height="calc(80vh - 250px)"
                    style="width: 100%">
                    <el-table-column type="index" label="序号" width="70">
                    </el-table-column>
                    <el-table-column
                        prop="date"
                        label="供应商名称"
                        width="180">
                        <template slot-scope="scope">
                            <el-input v-model="scope.row.supplier" placeholder="" ></el-input>
                        </template>
                    </el-table-column>
                    <el-table-column
                        prop=""
                        label="质量追溯号"
                        width="180">
                        <template slot-scope="scope">
                            <el-input v-model="scope.row.qualityTraceability" placeholder="" ></el-input>
                        </template>
                    </el-table-column>
                    <el-table-column
                        prop="name"
                        label="原材料名称">
                        <template slot-scope="scope">
                            <el-input v-model="scope.row.name" placeholder="" ></el-input>
                        </template>
                    </el-table-column>
                    <el-table-column
                        prop="address"
                        label="规格型号">
                        <template slot-scope="scope">
                            <el-input v-model="scope.row.specifications" placeholder="" ></el-input>
                        </template>
                    </el-table-column>
                    <el-table-column
                        prop="unit"
                        label="单位">
                        <template slot-scope="scope">
                            <el-input v-model="scope.row.unit" placeholder="" ></el-input>
                        </template>
                    </el-table-column>
                    </el-table>
                </template>
            </div>
            <span slot="footer" class="dialog-footer">
                <el-button @click="dialogVisible = false">取 消</el-button>
                <el-button type="primary" @click="skipshow">确 定</el-button>
            </span>
            </el-dialog>
        </div>
            <el-dialog title="物料清单的维护" :visible.sync="dialogVisible" width="80%" :before-close="handleClose" :center="true">
                <div>
                    <el-form>
                        <el-row :gutter="2">
                            <el-col :span="8">
                                <el-form-item label="类型:">
                                    <el-select v-model="search.type" size="small" placeholder="请选择"
                                        style="width: 224px;margin-right: 30px;">
                                        <el-option label="橡胶连接器" :value="0"></el-option>
                                        <el-option label="金属连接器" :value="1"></el-option>
                                        <el-option label="湿插拔电连接器" :value="2"></el-option>
                                        <el-option label="分支组件" :value="3"></el-option>
                                    </el-select>
                                </el-form-item>
                            </el-col>
                            <el-col :span="8">
                                <el-form-item label="工序">
                                    <template>
                                        <el-select v-model="search.work" placeholder="请选择" allow-create filterable @change="workevent">
                                            <el-option v-for="(item,index) in process" :key="item.name" :label="item.name" :value="item.name">
                                            </el-option>
                                        </el-select>
                                    </template>
                                </el-form-item>
                            </el-col>
                            <el-col :span="8">
                                <el-form-item label="工艺名称:">
                                    <el-select v-model="search.craft" size="small" placeholder="请选择"
                                        style="width: 224px;margin-right: 30px;">
                                        <el-option v-for="item in craftapi" :key="item.id" :label="item.name" :value="item.id">
                                        </el-option>
                                    </el-select>
                                </el-form-item>
                            </el-col>
                        </el-row>
                    </el-form>
                    <el-button size="mini" @click="Addrow">添加行</el-button>
                </div>
                <div style="margin: 10px 0px;">
                    <template>
                        <el-table border :data="tableapi" height="calc(80vh - 250px)" style="width: 100%">
                            <el-table-column type="index" label="序号" width="70">
                            </el-table-column>
                            <el-table-column prop="date" label="供应商名称" width="180">
                                <template slot-scope="scope">
                                    <el-input v-model="scope.row.supplier" placeholder=""></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column prop="" label="质量追溯号" width="180">
                                <template slot-scope="scope">
                                    <el-input v-model="scope.row.qualityTraceability" placeholder=""></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column prop="name" label="原材料名称">
                                <template slot-scope="scope">
                                    <el-input v-model="scope.row.name" placeholder=""></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column prop="address" label="规格型号">
                                <template slot-scope="scope">
                                    <el-input v-model="scope.row.specifications" placeholder=""></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column prop="unit" label="单位">
                                <template slot-scope="scope">
                                    <el-input v-model="scope.row.unit" placeholder=""></el-input>
                                </template>
                            </el-table-column>
                        </el-table>
                    </template>
                </div>
                <span slot="footer" class="dialog-footer">
                    <el-button @click="dialogVisible = false">取 消</el-button>
                    <el-button type="primary" @click="skipshow">确 定</el-button>
                </span>
            </el-dialog>
        </div>
        <div class="choose">
            <span>类型:</span>
            <el-select v-model="search.type" size="small" @change="TYpe" placeholder="请选择" style="width: 224px;margin-right: 30px;">
            <span>类型:</span>
            <el-select v-model="search.type" size="small" @change="TYpe" placeholder="请选择"
                style="width: 224px;margin-right: 30px;">
                <el-option label="橡胶连接器" :value="0"></el-option>
                <el-option label="金属连接器" :value="1"></el-option>
                <el-option label="湿插拔电连接器" :value="2"></el-option>
@@ -136,15 +105,11 @@
        </div>
        <div class="thing">
            <div class="left">
                <el-input v-model="search.technology" @input="query" suffix-icon="el-icon-search" placeholder="请输入搜索内容"  size="small" clearable ></el-input>
                <el-tree
                :data="list" ref="tree"
                style="height: 500px;overflow-y: auto;"
                highlight-current
                :props="{children: 'children',label: 'name'}"
                node-key="name"
                default-expand-all
                @node-click="handleNodeClick" >
                <el-input v-model="search.technology" @input="query" suffix-icon="el-icon-search" placeholder="请输入搜索内容"
                    size="small" clearable></el-input>
                <el-tree :data="list" ref="tree" style="overflow-y: auto;" highlight-current
                    :props="{children: 'children',label: 'name'}" node-key="name" default-expand-all
                    @node-click="handleNodeClick">
                    <div class="custom-tree-node" slot-scope="{ node, data }">
                        <span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
                            {{data.code}} {{ data.name }}</span>
@@ -155,7 +120,7 @@
                </el-tree>
            </div>
            <div class="right">
                <el-table :data="tableData" border style="width: 100%;overflow-y: auto;min-height: 100%" max-height="100%"
                <el-table :data="tableData" border style="width: 100%;overflow-y: auto;min-height: 100%" max-height="100%"
                    @selection-change="handleSelectionChange" default-expand-all>
                    <el-table-column type="selection" width="50">
                    </el-table-column>
@@ -183,41 +148,41 @@
    </div>
</template>
<script>
export default {
    export default {
        data() {
            return {
              search:{
                search: {
                    type: 0,
                    technology: ''
                },
              list:[],
                process:{},
                list: [],
                process: {},
                // handleClose:[],
                checkTreeNode:{
                    id:2,
                checkTreeNode: {
                    id: 2,
                },
                tableData:[],
                tableapi:[{
                    supplier:'',
                    qualityTraceability:'',
                    name:'',
                    specifications:'',
                    unit:'',
                    }],
                addsearch:{},
                upData:{},
                form:{},
                dialogVisible:false,
                typeselect:0,
                input:'',
                craftapi:[],
            }
        },
        mounted() {
            this.selectAllleft()
            this.selectAllMbom()
                tableData: [],
                tableapi: [{
                    supplier: '',
                    qualityTraceability: '',
                    name: '',
                    specifications: '',
                    unit: '',
                }],
                addsearch: {},
                upData: {},
                form: {},
                dialogVisible: false,
                typeselect: 0,
                input: '',
                craftapi: [],
            }
        },
        methods:{
        mounted() {
            this.selectAllleft()
            this.selectAllMbom()
        },
        methods: {
            selectDataList() {
                this.list.forEach(a => {
                    a.code = '[1]'
@@ -234,39 +199,41 @@
                })
                this.upIndex++
            },
             workevent(val){
                console.log(val);
                let idx = this.process.findIndex(el => el.name === val)
                this.craftapi = this.process[idx].children
            },
            workevent(val) {
                console.log(val);
                let idx = this.process.findIndex(el => el.name === val)
                this.craftapi = this.process[idx].children
            },
            //新增
            chooseTechFath() {
            this.$axios.get(this.$api.url.chooseTechFath,{
                params:{type:this.typeselect}
            }).then(res => {
                this.process = res.data;
                console.log(this.process);
            }, {
                headers: {
                        "Content-Type": "application/json"
                      }
            })
                this.$axios.get(this.$api.url.chooseTechFath, {
                    params: {
                        type: this.typeselect
                    }
                }).then(res => {
                    this.process = res.data;
                    console.log(this.process);
                }, {
                    headers: {
                        "Content-Type": "application/json"
                    }
                })
            },
            addMbom(data) {
                this.$axios.post(this.$api.url.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,
                // }
                , {
                    headers: {
                        "Content-Type": "application/json"
                      }
                }).then(res =>{
                    // }
                    , {
                        headers: {
                            "Content-Type": "application/json"
                        }
                    }).then(res => {
                    console.log(res);
                    this.$message.success('添加完成')
                    this.selectAllMbom()
@@ -276,11 +243,11 @@
            //删除
            material(index) {
                console.log(this.upData.id);
                this.$axios.post(this.$api.url.material,{
                    id:this.upData.id
                }).then(res =>{
                this.$axios.post(this.$api.url.material, {
                    id: this.upData.id
                }).then(res => {
                    this.$message.success(res.message)
                    this.tableData.splice(index,1)
                    this.tableData.splice(index, 1)
                    // console.log(res);
                })
@@ -294,61 +261,64 @@
            },
            //左边
            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) // 默认选中节点第一个
                    })
                }, {
                    headers: {
                        "Content-Type": "application/json"
                    }
                })
            },
            //右边
            selectAllMbom() {
            this.$axios.get(this.$api.url.selectAllMbom,{
                params:{id:this.checkTreeNode.id}
            }).then(res => {
                this.tableData = res.data;
                console.log(this.tableData);
            }, {
                headers: {
                        "Content-Type": "application/json"
                      }
            })
                this.$axios.get(this.$api.url.selectAllMbom, {
                    params: {
                        id: this.checkTreeNode.id
                    }
                }).then(res => {
                    this.tableData = res.data;
                    console.log(this.tableData);
                }, {
                    headers: {
                        "Content-Type": "application/json"
                    }
                })
            },
            handleNodeClick(data){
                this.checkTreeNode = data
            handleNodeClick(data) {
                this.checkTreeNode = data
                console.log(this.checkTreeNode.id);
                this.selectAllMbom()
            },
            },
            handleClose(done) {
                this.$confirm('确认关闭?')
                .then(_ => {
                    done();
                })
                .catch(_ => {});
                    .then(_ => {
                        done();
                    })
                    .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);
            },
            skipshow(){
            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()
@@ -357,17 +327,17 @@
                // console.log(data);
                this.addMbom(data)
                this.dialogVisible = false
            },
            //delAllMbom 批量删除
            delAllMbom() {
                this.$axios.post(this.$api.url.delAllMbom,{
                    ids:this.delete
                }).then(res =>{
                    this.selectAllMbom()
                })
            },
                this.$axios.post(this.$api.url.delAllMbom, {
                    ids: this.delete
                }).then(res => {
                    this.selectAllMbom()
                })
            },
            dels() {
                this.selects.forEach(a => {
                    for (var b = 0; b < this.tableData.length; b++) {
@@ -396,8 +366,8 @@
                this.material(index)
            },
        }
    }
        }
    }
</script>
<style scoped>
@@ -416,7 +386,8 @@
    .title * {
        font-size: 16px;
    }
    .choose-1{
    .choose-1 {
        padding: 5px 24px;
        display: flex;
        align-items: center;
@@ -455,6 +426,7 @@
        height: calc(100% - 20px);
        border-right: 3px solid rgb(245, 247, 251);
        padding: 16px;
        overflow-y: auto;
    }
    .thing .left .custom-tree-node span {
@@ -513,4 +485,4 @@
        height: 30px;
        border-radius: 2px;
    }
</style>
</style>
src/components/view/record-content.vue
@@ -46,6 +46,7 @@
        height: calc(100% - 20px);
        border-right: 3px solid rgb(245, 247, 251);
        padding: 16px;
        overflow-y: auto;
    }
    .thing .left .custom-tree-node span {
@@ -141,7 +142,6 @@
            <div class="left">
                <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable @input="query"></el-input>
                <el-tree :data="list" ref="tree"
                style="height: 500px;overflow-y: auto;"
                :props="{children: 'children',label: 'name'}" node-key="name" default-expand-all
                    @node-click="handleNodeClick" highlight-current
                    :key="upIndex">
src/components/view/sale.vue
@@ -470,7 +470,8 @@
                    formTime: null,
                    createTime: null,
                    insState: 2,
                    judgeState: 2
                    judgeState: 2,
                    type: null
                }
                this.selectRawInspectsList()
            },
src/components/view/self-inspection.vue
@@ -141,7 +141,7 @@
        <div class="thing">
            <div class="left">
                <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable @input="(val)=>$refs.tree.filter(val)"></el-input>
                <el-tree :data="list" style="height: 500px;overflow-y: auto;" ref="tree" :props="{children: 'children',label: 'name'}" node-key="name" default-expand-all
                <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'name'}" node-key="name" default-expand-all
                    @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" @node-collapse="nodeClose" :filter-node-method="filterNode"
                    :key="upIndex">
                    <div class="custom-tree-node" slot-scope="{ node, data }">
src/components/view/standard.vue
@@ -32,8 +32,6 @@
          </div>
        </el-tree>
      </div>
      <div class="right">
        <div class="choose">
          <span>类型:</span>
@@ -45,10 +43,10 @@
            <el-option :value="3" label="生产工艺"></el-option>
          </el-select>
          <span>{{ tableType == 1 ? '项目:' : '工艺名称:' }}</span>
          <el-input v-model="searchName" size="small" placeholder="请输入" style="width: 224px;margin-right: 24px;"
          <el-input v-model="searchName" size="small" placeholder="请输入" style="width: 224px;margin-right: 50px;"
            clearable></el-input>
          <span>{{ tableType == 1 ? '版本:' : '版本:' }}</span>
          <el-select v-model="VER" @change="verevent" style="width: 280px;" placeholder="请选择">
          <span>版本:</span>
          <el-select v-model="version2" @change="verevent" size="small" style="width: 280px;margin-right: 10px;" placeholder="请选择">
            <el-option v-for="item in version" :key="item" :label="item" :value="item">
            </el-option>
          </el-select>
@@ -391,7 +389,7 @@
        name: null,
        specifications: null
      },
      VER: {},
      version2: {},
      verdata: {},
      character: 0,
      restaurants: [],
@@ -708,7 +706,7 @@
        return this.verdata[0]
      })
      this.character=v
      this.VER="v"+v
      this.version2="v"+v
      this.selectAll()
    },
    //右侧数据
src/components/view/technology.vue
@@ -46,6 +46,7 @@
  height: calc(100% - 20px);
  border-right: 3px solid rgb(245, 247, 251);
  padding: 16px;
    overflow-y: auto;
}
.thing .left .custom-tree-node span {
@@ -174,7 +175,6 @@
          node-key="name"
          default-expand-all
          @node-click="handleNodeClick"
          style="height: 500px;overflow-y: auto;"
          :key="upIndex"
          highlight-current
        >
src/view/index.vue
@@ -1,629 +1,582 @@
<style scoped>
.all {
  width: 100vw;
  height: 100vh;
  background-size: 100% 100%;
  display: flex;
  flex-wrap: wrap;
}
    .all {
        width: 100vw;
        height: 100vh;
        background-size: 100% 100%;
        display: flex;
        flex-wrap: wrap;
    }
.title {
  width: 100%;
  height: 58px;
  display: flex;
  align-items: center;
  padding: 0 30px;
}
    .title {
        width: 100%;
        height: 58px;
        display: flex;
        align-items: center;
        padding: 0 30px;
    }
.logo {
  width: 130px;
}
    .logo {
        width: 130px;
    }
.logo img {
  width: 100%;
  height: 100%;
}
    .logo img {
        width: 100%;
        height: 100%;
    }
.title .label {
  font-size: 18px;
  text-align: center;
  width: calc(100% - 130px - 200px);
}
    .title .label {
        font-size: 18px;
        text-align: center;
        width: calc(100% - 130px - 200px);
    }
.user {
  width: 200px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: right;
  color: #000;
}
    .user {
        width: 200px;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: right;
        color: #000;
    }
.user * {
  margin: 0 5px;
}
    .user * {
        margin: 0 5px;
    }
.user img {
  margin-left: 20px;
  cursor: pointer;
  width: 14px;
}
    .user img {
        margin-left: 20px;
        cursor: pointer;
        width: 14px;
    }
.user span {
  font-size: 14px;
}
    .user span {
        font-size: 14px;
    }
.left {
  height: calc(100vh - 58px - 40px);
  background-color: #004ea2;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 20px 0;
  transition: 0.3s;
  overflow-y: auto;
}
    .left {
        height: calc(100vh - 58px - 40px);
        background-color: #004ea2;
        display: flex;
        align-items: center;
        flex-direction: column;
        padding: 20px 0;
        transition: 0.3s;
        overflow-y: auto;
    }
.left::-webkit-scrollbar {
  width: 0;
}
    .left::-webkit-scrollbar {
        width: 0;
    }
.left .box {
  color: #fff;
  width: 68px;
  height: 68px;
  margin: 8px 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 8px;
}
    .left .box {
        color: #fff;
        width: 68px;
        height: 68px;
        margin: 8px 0;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        border-radius: 8px;
    }
.left .box:active {
  opacity: 0.8;
}
    .left .box:active {
        opacity: 0.8;
    }
.left .active_box {
  background-color: #fff;
  color: #004ea2;
}
    .left .active_box {
        background-color: #fff;
        color: #004ea2;
    }
.left .box i {
  font-size: 32px;
  margin-bottom: 8px;
}
    .left .box i {
        font-size: 32px;
        margin-bottom: 8px;
    }
.left .box div {
  font-size: 14px;
}
    .left .box div {
        font-size: 14px;
    }
.small_menu {
  color: #666;
}
    .small_menu {
        color: #666;
    }
.small_menu .active_p {
  color: #004ea2;
}
    .small_menu .active_p {
        color: #004ea2;
    }
.small_menu p {
  padding: 12px 15px;
  cursor: pointer;
}
    .small_menu p {
        padding: 12px 15px;
        cursor: pointer;
    }
.small_menu p:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
    .small_menu p:hover {
        background-color: rgba(0, 0, 0, 0.05);
    }
.small_menu i {
  font-size: 16px;
}
    .small_menu i {
        font-size: 16px;
    }
.small_menu span {
  font-size: 14px;
}
    .small_menu span {
        font-size: 14px;
    }
.right {
  height: calc(100vh - 58px);
  transition: 0.3s;
}
    .right {
        height: calc(100vh - 58px);
        transition: 0.3s;
    }
.tag {
  width: 100%;
  height: 36px;
  background: rgb(255, 255, 255);
  opacity: 0.8;
  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  color: #999;
  font-size: 14px;
}
    .tag {
        width: 100%;
        height: 36px;
        background: rgb(255, 255, 255);
        opacity: 0.8;
        box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1);
        display: flex;
        align-items: center;
        color: #999;
        font-size: 14px;
    }
.tag > .el-icon-s-unfold,
.el-icon-s-fold {
  font-size: 18px;
  cursor: pointer;
  margin: 0 8px;
}
    .tag .el-icon-delete {
        display: none;
    }
.tabs {
  min-width: calc(100% - 34px);
  height: 100%;
  align-items: center;
  display: flex;
  overflow-x: auto;
}
    .tag .el-icon-delete:hover {
        color: #F56C6C;
    }
.tab {
  cursor: pointer;
  font-size: 14px;
  margin: 0 8px;
  line-height: 32px;
  transition: 0.3s;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
  user-select: none;
  flex-shrink: 0;
}
    .tag:hover .el-icon-delete {
        display: block;
    }
.tab i {
  font-size: 12px;
  display: none;
}
    .tag>.el-icon-s-unfold,
    .el-icon-s-fold,
    .el-icon-delete {
        font-size: 18px;
        cursor: pointer;
        margin: 0 8px;
    }
.active_tab {
  border-bottom: 2px solid #004ea2;
  color: #004ea2;
}
    .tabs {
        min-width: calc(100% - 68px);
        height: 100%;
        align-items: center;
        display: flex;
        overflow-x: auto;
    }
.active_tab i {
  display: inline;
  color: #004ea2;
}
    .tab {
        cursor: pointer;
        font-size: 14px;
        margin: 0 8px;
        line-height: 32px;
        transition: 0.3s;
        border-top: 2px solid transparent;
        border-bottom: 2px solid transparent;
        user-select: none;
        flex-shrink: 0;
    }
.component_view {
  height: calc(100vh - 94px - 22px);
  width: calc(100% - 48px);
  padding: 11px 24px;
  background: rgb(245, 247, 251);
  overflow-y: auto;
}
    .tab i {
        font-size: 12px;
        display: none;
    }
.com_index {
  width: 100%;
  height: 100%;
}
    .active_tab {
        border-bottom: 2px solid #004ea2;
        color: #004ea2;
    }
    .active_tab i {
        display: inline;
        color: #004ea2;
    }
    .component_view {
        height: calc(100vh - 94px - 22px);
        width: calc(100% - 48px);
        padding: 11px 24px;
        background: rgb(245, 247, 251);
        overflow-y: auto;
    }
    .com_index {
        width: 100%;
        height: 100%;
    }
</style>
<style></style>
<template>
  <div class="all">
    <div class="title">
      <div class="logo">
        <img src="../../static/img/logo 1.png" />
      </div>
      <div class="label">中天海洋新一代mom系统</div>
      <div class="user">
        <el-avatar :size="24">{{ userName.substring(0, 1) }}</el-avatar>
        <span>{{ userName }}</span>
        <img src="../../static/img/退出.png" @click="out" />
      </div>
    </div>
    <div class="left" :style="`width: ${leftOpen ? '92' : '0'}px;`">
      <div
        :class="`box ${activeBox == 0 ? 'active_box' : ''}`"
        @click="addTab(menu[0].c[0])"
      >
        <i class="font icon-shouye"></i>
        <div>首页</div>
      </div>
      <div
        :class="`box ${activeBox == 3 ? 'active_box' : ''}`"
        @click="addTab(menu[1].c[0])"
      >
        <i class="font icon-jine"></i>
        <div>销售管理</div>
      </div>
      <el-popover
        placement="right-start"
        width="90"
        trigger="click"
        v-for="(a, ai) in menu"
        :key="ai"
        v-if="a.k != '0' && a.k != '3'"
      >
        <div
          :class="`box ${activeBox == a.k ? 'active_box' : ''}`"
          @click="activeBox = a.k"
          slot="reference"
        >
          <i :class="a.i"></i>
          <div>{{ a.v }}</div>
        </div>
        <div class="small_menu">
          <p
            v-for="(b, bi) in a.c"
            :key="bi"
            :class="activeP == b.k ? 'active_p' : ''"
            @click="addTab(b)"
          >
            <i :class="b.i"></i>
            <span>{{ b.v }}</span>
          </p>
        </div>
      </el-popover>
    </div>
    <div
      class="right"
      :style="`width: calc(100% - ${leftOpen ? '92' : '0'}px);`"
    >
      <div class="tag">
        <i
          :class="`${leftOpen ? 'el-icon-s-unfold' : 'el-icon-s-fold'}`"
          @click="leftOpen = !leftOpen"
        ></i>
        <div class="tabs">
          <div
            :class="`tab ${tabActive == a.k ? 'active_tab' : ''}`"
            v-for="(a, ai) in tabs"
            :key="ai"
            @click="upTabActive(a.k)"
          >
            {{ a.v }}
            <i
              class="el-icon-close"
              @click="removeTab(ai)"
              v-if="tabActive != 0"
            ></i>
          </div>
        </div>
      </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"
        >
        </component>
      </div>
    </div>
  </div>
    <div class="all">
        <div class="title">
            <div class="logo">
                <img src="../../static/img/logo 1.png" />
            </div>
            <div class="label">中天海洋新一代mom系统</div>
            <div class="user">
                <el-avatar :size="24">{{ userName.substring(0, 1) }}</el-avatar>
                <span>{{ userName }}</span>
                <img src="../../static/img/退出.png" @click="out" />
            </div>
        </div>
        <div class="left" :style="`width: ${leftOpen ? '92' : '0'}px;`">
            <div :class="`box ${activeBox == 0 ? 'active_box' : ''}`" @click="addTab(menu[0].c[0])">
                <i class="font icon-shouye"></i>
                <div>首页</div>
            </div>
            <div :class="`box ${activeBox == 3 ? 'active_box' : ''}`" @click="addTab(menu[1].c[0])">
                <i class="font icon-jine"></i>
                <div>销售管理</div>
            </div>
            <el-popover placement="right-start" width="90" trigger="click" v-for="(a, ai) in menu" :key="ai"
                v-if="a.k != '0' && a.k != '3'">
                <div :class="`box ${activeBox == a.k ? 'active_box' : ''}`" @click="activeBox = a.k" slot="reference">
                    <i :class="a.i"></i>
                    <div>{{ a.v }}</div>
                </div>
                <div class="small_menu">
                    <p v-for="(b, bi) in a.c" :key="bi" :class="activeP == b.k ? 'active_p' : ''" @click="addTab(b)">
                        <i :class="b.i"></i>
                        <span>{{ b.v }}</span>
                    </p>
                </div>
            </el-popover>
        </div>
        <div class="right" :style="`width: calc(100% - ${leftOpen ? '92' : '0'}px);`">
            <div class="tag">
                <i :class="`${leftOpen ? 'el-icon-s-unfold' : 'el-icon-s-fold'}`" @click="leftOpen = !leftOpen"></i>
                <div class="tabs">
                    <div :class="`tab ${tabActive == a.k ? 'active_tab' : ''}`" v-for="(a, ai) in tabs" :key="ai"
                        @click="upTabActive(a.k)">
                        {{ a.v }}
                        <i class="el-icon-close" @click="removeTab(ai)" v-if="tabActive != 0"></i>
                    </div>
                </div>
                <i class="el-icon-delete" @click="allDel" title="删除所有标签页"></i>
            </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">
                </component>
            </div>
        </div>
    </div>
</template>
<script>
const requireComponent = require.context("../components/view", false, /\.vue/);
var comObj = {};
requireComponent.keys().forEach(fileName => {
  var names = fileName
    .split("/")
    .pop()
    .replace(".vue", "");
  const componentConfig = requireComponent(fileName);
  comObj[names] = componentConfig.default || componentConfig;
});
export default {
  components: comObj,
  data() {
    return {
      userName: "value",
      leftOpen: true,
      menu: [
        {
          k: 0,
          v: "首页",
          i: "font icon-shouye",
          c: [
            {
              k: 0,
              v: "首页",
              i: "font icon-shouye",
              u: "index-index"
            }
          ]
        },
        {
          k: 3,
          v: "销售管理",
          i: "font icon-jine",
          c: [
            {
              k: 11,
              v: "销售管理",
              i: "font icon-jine",
              u: "sale"
            }
          ]
        },
        {
          k: 1,
          v: "技术管理",
          i: "font icon-ic_form_set24px",
          c: [
            {
              k: 1,
              v: "标准BOM",
              i: "font icon-shouye",
              u: "standard"
            },
            {
              k: 2,
              v: "订单BOM",
              i: "font icon-shouye",
              u: "technical"
            }
          ]
        },
        {
          k: 4,
          v: "生产管理",
          i: "font icon-shengchanguanli",
          c: [
            {
              k: 12,
              v: "生产订单",
              i: "font icon-shouye",
              u: ""
            },
            {
              k: 13,
              v: "生产计划",
              i: "font icon-shouye",
              u: ""
            },
            {
              k: 14,
              v: "生产报工",
              i: "font icon-shouye",
              u: ""
            }
          ]
        },
        {
          k: 5,
          v: "WMS管理",
          i: "font icon-a-Inventorydumprequest",
          c: [
            {
              k: 15,
              v: "原材料库存",
              i: "font icon-shouye",
              u: ""
            },
            {
              k: 16,
              v: "回单管理",
              i: "font icon-shouye",
              u: ""
            },
            {
              k: 17,
              v: "半成品库存",
              i: "font icon-shouye",
              u: ""
            },
            {
              k: 18,
              v: "成品库存",
              i: "font icon-shouye",
              u: ""
            },
            {
              k: 19,
              v: "成品发货",
              i: "font icon-shouye",
              u: ""
            },
            {
              k: 20,
              v: "成品入库",
              i: "font icon-shouye",
              u: ""
            }
          ]
        },
        {
          k: 2,
          v: "QMS管理",
          i: "font icon-xunhuan",
          c: [
            {
              k: 3,
              v: "原材料检验",
              i: "font icon-shouye",
              u: "rawInsBox"
            },
            {
              k: 4,
              v: "原材料不合格品",
              i: "font icon-shouye",
              u: "rawUnqualifiedBox"
            },
            {
              k: 5,
              v: "过程检验",
              i: "font icon-shouye",
              u: "processInspection"
            },
            {
              k: 6,
              v: "成品检验",
              i: "font icon-shouye",
              u: "finishedProductInspection"
            },
            {
              k: 7,
              v: "不合格品管理",
              i: "font icon-shouye",
              u: "unqualifiedManagement"
            },
            {
              k: 9,
              v: "质量统计",
              i: "font icon-shouye",
              u: ""
            },
            {
              k: 10,
              v: "计量管理",
              i: "font icon-shouye",
              u: "measurementManagement"
            },
            {
              k: 10.1,
              v: "不合格品处置",
              i: "font icon-shouye",
              u: "Processingproducts"
            }
          ]
        },
        {
          k: 6,
          v: "核算管理",
          i: "font icon-caiwuhesuanxitong",
          c: [
            {
              k: 21,
              v: "产量工资",
              i: "font icon-shouye",
              u: ""
            },
            {
              k: 22,
              v: "员工出勤",
              i: "font icon-shouye",
              u: ""
            }
          ]
        },
        {
          k: 7,
          v: "基础数据",
          i: "font icon-a-ziyuan20",
          c: [
            {
              k: 23,
              v: "生产记录维护",
              i: "font icon-shouye",
              u: "record-content"
            },
            {
              k: 24,
              v: "自检项目维护",
              i: "font icon-shouye",
              u: "self-inspection"
            },
            {
              k: 25,
              v: "技术指标维护",
              i: "font icon-shouye",
              u: "Technicalindex"
            },
            {
              k: 26,
              v: "工艺路线维护",
              i: "font icon-shouye",
              u: "technology"
            },
            {
              k: 27,
              v: "设备维护",
              i: "font icon-shouye",
              u: "laboratoryManagement"
            },
            {
              k: 28,
              v: "物料清单维护",
              i: "font icon-shouye",
              u: "mbom"
            },
            // {
            //     k: 29,
            //     v: "巡检项目维护",
            //     i: "font icon-shouye",
            //     u: "routinginspection"
            // },
            {
              k: 30,
              v: "生产工艺维护",
              i: "font icon-shouye",
              u: "equipmentmaintain"
            }
          ]
        }
      ],
      activeBox: 0,
      activeP: 0,
      tabActive: 0,
      tabs: [
        {
          k: 0,
          v: "首页",
          i: "font icon-shouye",
          u: "index-index"
        }
      ],
      upIndex: 0
    };
  },
  created() {},
  mounted() {
    this.userName = JSON.parse(localStorage.getItem("user")).name;
  },
  methods: {
    addTab(ob) {
      if (ob.k == 0) this.activeBox = 0;
      if (ob.k == 11) this.activeBox = 3;
      this.activeP = ob.k; //0
      this.tabActive = ob.k; //0
      let num = -1;
      this.tabs.forEach((a, ai) => {
        if (ob.k == a.k) {
          num = a.k;
        }
      });
      // 如果没有遍历到tabs里没有该ob对应的table,往tabs里面加入该ob
      if (num == -1) {
        this.tabs.push(ob);
      }
    },
    removeTab(index) {
      if (this.tabs.length > 1) {
        this.tabs.splice(index, 1);
        this.activeP = this.tabs[this.tabs.length - 1].k;
        this.tabActive = this.tabs[this.tabs.length - 1].k;
      } else {
        this.$message.warning("不能关闭最后的标签");
      }
    },
    upTabActive(num) {
      this.tabActive = num;
      this.activeP = num;
      if (num == 0) {
        this.activeBox = 0;
      } else if (num > 0 && num <= 2) {
        this.activeBox = 1;
      } else if (num > 2 && num < 11) {
        this.activeBox = 2;
      } else if (num == 11) {
        this.activeBox = 3;
      } else if (num > 11 && num <= 14) {
        this.activeBox = 4;
      } else if (num > 14 && num <= 20) {
        this.activeBox = 5;
      } else if (num > 20 && num <= 22) {
        this.activeBox = 6;
      } else if (num > 22 && num <= 30) {
        this.activeBox = 7;
      }
    },
    out() {
      sessionStorage.clear();
      localStorage.removeItem("autoenter");
      this.$router.push("/enter");
    }
  }
};
</script>
    const requireComponent = require.context("../components/view", false, /\.vue/);
    var comObj = {};
    requireComponent.keys().forEach(fileName => {
        var names = fileName
            .split("/")
            .pop()
            .replace(".vue", "");
        const componentConfig = requireComponent(fileName);
        comObj[names] = componentConfig.default || componentConfig;
    });
    export default {
        components: comObj,
        data() {
            return {
                userName: "value",
                leftOpen: true,
                menu: [{
                        k: 0,
                        v: "首页",
                        i: "font icon-shouye",
                        c: [{
                            k: 0,
                            v: "首页",
                            i: "font icon-shouye",
                            u: "index-index"
                        }]
                    },
                    {
                        k: 3,
                        v: "销售管理",
                        i: "font icon-jine",
                        c: [{
                            k: 11,
                            v: "销售管理",
                            i: "font icon-jine",
                            u: "sale"
                        }]
                    },
                    {
                        k: 1,
                        v: "技术管理",
                        i: "font icon-ic_form_set24px",
                        c: [{
                                k: 1,
                                v: "标准BOM",
                                i: "font icon-shouye",
                                u: "standard"
                            },
                            {
                                k: 2,
                                v: "订单BOM",
                                i: "font icon-shouye",
                                u: "technical"
                            }
                        ]
                    },
                    {
                        k: 4,
                        v: "生产管理",
                        i: "font icon-shengchanguanli",
                        c: [{
                                k: 12,
                                v: "生产订单",
                                i: "font icon-shouye",
                                u: ""
                            },
                            {
                                k: 13,
                                v: "生产计划",
                                i: "font icon-shouye",
                                u: ""
                            },
                            {
                                k: 14,
                                v: "生产报工",
                                i: "font icon-shouye",
                                u: ""
                            }
                        ]
                    },
                    {
                        k: 5,
                        v: "WMS管理",
                        i: "font icon-a-Inventorydumprequest",
                        c: [{
                                k: 15,
                                v: "原材料库存",
                                i: "font icon-shouye",
                                u: ""
                            },
                            {
                                k: 16,
                                v: "回单管理",
                                i: "font icon-shouye",
                                u: ""
                            },
                            {
                                k: 17,
                                v: "半成品库存",
                                i: "font icon-shouye",
                                u: ""
                            },
                            {
                                k: 18,
                                v: "成品库存",
                                i: "font icon-shouye",
                                u: ""
                            },
                            {
                                k: 19,
                                v: "成品发货",
                                i: "font icon-shouye",
                                u: ""
                            },
                            {
                                k: 20,
                                v: "成品入库",
                                i: "font icon-shouye",
                                u: ""
                            }
                        ]
                    },
                    {
                        k: 2,
                        v: "QMS管理",
                        i: "font icon-xunhuan",
                        c: [{
                                k: 3,
                                v: "原材料检验",
                                i: "font icon-shouye",
                                u: "rawInsBox"
                            },
                            {
                                k: 4,
                                v: "原材料不合格品",
                                i: "font icon-shouye",
                                u: "rawUnqualifiedBox"
                            },
                            {
                                k: 5,
                                v: "过程检验",
                                i: "font icon-shouye",
                                u: "processInspection"
                            },
                            {
                                k: 6,
                                v: "成品检验",
                                i: "font icon-shouye",
                                u: "finishedProductInspection"
                            },
                            {
                                k: 7,
                                v: "不合格品管理",
                                i: "font icon-shouye",
                                u: "unqualifiedManagement"
                            },
                            {
                                k: 9,
                                v: "质量统计",
                                i: "font icon-shouye",
                                u: ""
                            },
                            {
                                k: 10,
                                v: "计量管理",
                                i: "font icon-shouye",
                                u: "measurementManagement"
                            },
                            {
                                k: 10.1,
                                v: "不合格品处置",
                                i: "font icon-shouye",
                                u: "Processingproducts"
                            }
                        ]
                    },
                    {
                        k: 6,
                        v: "核算管理",
                        i: "font icon-caiwuhesuanxitong",
                        c: [{
                                k: 21,
                                v: "产量工资",
                                i: "font icon-shouye",
                                u: ""
                            },
                            {
                                k: 22,
                                v: "员工出勤",
                                i: "font icon-shouye",
                                u: ""
                            }
                        ]
                    },
                    {
                        k: 7,
                        v: "基础数据",
                        i: "font icon-a-ziyuan20",
                        c: [{
                                k: 23,
                                v: "生产记录维护",
                                i: "font icon-shouye",
                                u: "record-content"
                            },
                            {
                                k: 24,
                                v: "自检项目维护",
                                i: "font icon-shouye",
                                u: "self-inspection"
                            },
                            {
                                k: 25,
                                v: "技术指标维护",
                                i: "font icon-shouye",
                                u: "Technicalindex"
                            },
                            {
                                k: 26,
                                v: "工艺路线维护",
                                i: "font icon-shouye",
                                u: "technology"
                            },
                            {
                                k: 27,
                                v: "设备维护",
                                i: "font icon-shouye",
                                u: "laboratoryManagement"
                            },
                            {
                                k: 28,
                                v: "物料清单维护",
                                i: "font icon-shouye",
                                u: "mbom"
                            },
                            {
                                k: 30,
                                v: "生产工艺维护",
                                i: "font icon-shouye",
                                u: "equipmentmaintain"
                            }
                        ]
                    }
                ],
                activeBox: 0,
                activeP: 0,
                tabActive: 0,
                tabs: [{
                    k: 0,
                    v: "首页",
                    i: "font icon-shouye",
                    u: "index-index"
                }],
                upIndex: 0
            };
        },
        created() {},
        mounted() {
            this.userName = JSON.parse(localStorage.getItem("user")).name;
        },
        methods: {
            addTab(ob) {
                if (ob.k == 0) this.activeBox = 0;
                if (ob.k == 11) this.activeBox = 3;
                this.activeP = ob.k; //0
                this.tabActive = ob.k; //0
                let num = -1;
                this.tabs.forEach((a, ai) => {
                    if (ob.k == a.k) {
                        num = a.k;
                    }
                });
                // 如果没有遍历到tabs里没有该ob对应的table,往tabs里面加入该ob
                if (num == -1) {
                    this.tabs.push(ob);
                }
            },
            removeTab(index) {
                this.tabs.splice(index, 1);
                this.activeP = this.tabs[this.tabs.length - 1].k;
                this.tabActive = this.tabs[this.tabs.length - 1].k;
            },
            allDel() {
                this.activeBox = 0
                this.activeP = 0
                this.tabActive = 0
                this.tabs = [{
                    k: 0,
                    v: " 首页",
                    i: "font icon-shouye",
                    u: "index-index"
                }]
            },
            upTabActive(num) {
                this.tabActive = num;
                this.activeP = num;
                for (var i = 0; i < this.menu.length; i++) {
                    this.menu[i].c.forEach(b => {
                        if (b.k == num) {
                            this.activeBox = this.menu[i].k;
                            return
                        }
                    })
                }
            },
            out() {
                sessionStorage.clear();
                localStorage.removeItem("autoenter");
                this.$router.push("/enter");
            }
        }
    };
</script>