XiaoRuby
2023-08-28 6a3ac9820a45b566c68b21b11c73badd59c8e6e1
Merge remote-tracking branch 'origin/master'

# Conflicts:
# src/main.js
# src/view/index.vue
已修改5个文件
已添加1个文件
1363 ■■■■■ 文件已修改
index.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/api/controller.js 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/sale.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/technicalaa.vue 240 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/index.vue 1104 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
index.html
@@ -6,7 +6,7 @@
    <meta http-equiv="Expires" CONTENT="0">
    <meta http-equiv="Cache-Control" CONTENT="no-cache">
    <meta http-equiv="Pragma" CONTENT="no-cache">
    <title>中天电缆附件MOM</title>
    <title>中天海洋MOM</title>
    <link rel="icon" type="image/x-icon" href="./static/img/logo.png">
  </head>
  <body>
src/assets/api/controller.js
@@ -8,11 +8,6 @@
    selectAllOrder: "/orders/selectAllOrder", //查询所有订单列表
    selectOrderById: "/orders/selectOrderById", //根据订单id查询订单详情
}
//技术管理-订单Bom
const purchaseorder= {
    selectAllOrder:"/orders/selectAllOrder",
    compile:"/orders/compile"    //编制
}
// åŽŸææ–™æ£€éªŒ
const raw = {
    selectRawInspectsList: "rawInspect/selectRawInspectsList", //查询原材料检验单列表
@@ -73,7 +68,7 @@
    ...finishedIns,
    ...unqualifiedaa,
    ...dispose,
    ...purchaseorder,
    // ...gettable,
    selectSaleList: "sale/selectSaleList", //查询销售单列表
    selectSaleDatilById: "sale/selectSaleDatilById", //根据销售单id查看详情,
    addSale: "sale/addSale", //新增销售单
src/components/view/sale.vue
@@ -50,7 +50,7 @@
    .select-model .body {
        padding: 0 20px;
        color: #333;
        max-height: 70vh;
        max-height: 72vh;
        overflow-y: auto;
    }
@@ -282,7 +282,7 @@
            </el-dialog>
        </div>
        <div class="select-model">
            <el-dialog :title="`销售${upDia==true?'修改':'新增'}`" :visible.sync="addDia" width="800px">
            <el-dialog :title="`销售${upDia==true?'修改':'新增'}`" :visible.sync="addDia" width="850px">
                <div class="body">
                    <div class="head">基本信息</div>
                    <div class="content">
@@ -351,7 +351,7 @@
                                    </el-input>
                                </template>
                            </el-table-column>
                            <el-table-column prop="specifications" label="规格型号" width="200">
                            <el-table-column prop="specifications" label="规格型号" width="180">
                                <template slot-scope="scope">
                                    <el-input v-model="scope.row.specifications" size="small" clearable placeholder="请输入规格型号"></el-input>
                                </template>
@@ -364,7 +364,7 @@
                            <el-table-column prop="number" label="数量">
                                <template slot-scope="scope">
                                    <el-input v-model.number="scope.row.number" size="small"
                                        @change="scope.row.number = isNaN(scope.row.number)?0:scope.row.number" clearable
                                         @change="(val)=>scope.row.number = isNaN(val)?null:val" clearable
                                        placeholder="请输入"></el-input>
                                </template>
                            </el-table-column>
src/components/view/technicalaa.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,240 @@
<template>
    <div>
        <div class="article-main" style="overflow: hidden;">
            <el-row>
            <el-col :span="12" style="line-height: 32px;">订单BOM</el-col>
            <el-col :span="12" style="text-align: right;">
                <el-button icon="el-icon-download" size="mini" @click="()=>{}">导出</el-button>
            </el-col>
            </el-row>
            <div>
                <div style="margin-top: 10px;">
                    <el-card shadow="hover" class="margin-30">
                            <el-form ref="form" :model="searchform" label-width="80px">
                            <el-row :gutter="30">
                                <el-col :span="4" >
                                    <el-form-item label="订单号:">
                                        <el-input v-model="searchform.orderCode" placeholder="请输入"></el-input>
                                    </el-form-item>
                                </el-col>
                                <el-col :span="4" >
                                    <el-form-item label="产品名称:">
                                        <el-input v-model="searchform.name" placeholder="请输入"></el-input>
                                    </el-form-item>
                                </el-col>
                                <el-col :span="4" >
                                    <el-form-item label="下单日期">
                                        <el-col>
                                        <el-date-picker type="date" placeholder="选择日期" v-model="searchform.time" weight="80%"></el-date-picker>
                                        </el-col>
                                    </el-form-item>
                                </el-col>
                                <el-col :span="4" >
                                    <el-form-item label="状态:">
                                        <el-input v-model="searchform.type" placeholder="请输入"></el-input>
                                    </el-form-item>
                                </el-col>
                                <el-col :span="4">
                                    <el-button size="default"  @click="">重置</el-button>
                                    <el-button type="primary" size="default" style="background:0, 78, 162 ;" @click="query">查询</el-button>
                                </el-col>
                            </el-row>
                            </el-form>
                    </el-card>
                </div>
                <div style="margin-top: 30px;">
                    <el-card shadow="hover" class="margin-30">
                        <el-table
                            ref="multipleTable"
                            :data="tableData"
                            tooltip-effect="dark"
                            border
                            style="width: 100%"
                            @selection-change="handleSelectionChange">
                            <el-table-column
                            type="selection"
                            width="55">
                            </el-table-column>
                            <el-table-column
                            prop="order_number"
                            label="订单号"
                            width="120">
                            <!-- <template slot-scope="scope">{{ scope.row.date }}</template> -->
                            </el-table-column>
                            <el-table-column
                            prop="saleman"
                            label="事业部"
                            >
                            </el-table-column>
                            <el-table-column
                            prop=""
                            label="省份"
                            show-overflow-tooltip>
                            </el-table-column>
                            <el-table-column
                            prop=""
                            label="业务员"
                            >
                            </el-table-column>
                            <el-table-column
                            prop="proname"
                            label="客户名称"
                            >
                            </el-table-column>
                            <el-table-column
                            prop="name"
                            label="产品名称"
                            >
                            </el-table-column>
                            <el-table-column
                            prop="name"
                            label="规格型号"
                            >
                            </el-table-column>
                            <el-table-column
                            prop="unit"
                            label="单位"
                            >
                            </el-table-column>
                            <el-table-column
                            prop="number"
                            label="数量"
                            >
                            </el-table-column>
                            <el-table-column
                            prop="下单日期"
                            label="下单日期"
                            >
                            </el-table-column>
                            <el-table-column
                            prop="交货日期"
                            label="交货期"
                            >
                            </el-table-column>
                            <el-table-column
                            prop="type"
                            label="状态"
                            width="120">
                            <template slot-scope="scope">
                                <span style="color:#34BD66;" v-if="scope.row.type==1">已编辑</span>
                                <span style="color:#E84738;" v-else-if="scope.row.type==0">未编辑</span>
                            </template>
                            </el-table-column>
                            <el-table-column
                            prop=""
                            label="操作"
                            width="180">
                            <template slot-scope="scope">
                            <div style="display: flex;">
                                <el-button type="text" siae="small"  size="mini">查询文件</el-button>
                                <el-button type="text" siae="small"  size="mini" @click="compileApi">编制</el-button>
                                <el-button type="text" siae="small"  size="mini" style=" color:87, 138, 193 ;" @click="">删除</el-button>
                            </div>
                            </template>
                            </el-table-column>
                        </el-table>
                    </el-card>
                    <el-col style="height: 50px;display: flex;align-items: center;justify-content: right;">
                        <el-pagination
                        @size-change="handleSizeChange"
                        @current-change="handleCurrentChange"
                        :current-page="0"
                        :page-sizes="[1,5,10, 20, 30, 50]"
                        :page-size="0"
                        layout="total, sizes, prev, pager, next, jumper"
                        :total="countSize">
                        </el-pagination>
                    </el-col>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
export default {
    data() {
      return {
        searchform:{
            name:'',
            type:'',
            orderCode:'',
            time:'',
        },
        tableData:[],
        pageSize:1,
        countSize:0,
        currentPage:1,
        multipleSelection:''
      }
    },
    props:['godata'],
    created(){
        this.getDetailInfo()
    },
    methods:{
        handleSelectionChange(val) {
            // console.log(val);
        this.multipleSelection = val;
      },
        handleSizeChange(val) {
        this.pageSize = 1
        this.countSize= val
        this.getDetailInfo()
        },
        handleCurrentChange(val) {
        this.pageSize = val
        this.getDetailInfo()
        },
        getDetailInfo() {
            this.axios.get(this.$api.url.selectAllOrder,{
                params:{countSize:this.currentPage,
                    pageSize:this.pageSize,total:this.countSize,
                    productName:this.searchform.name,
                },
            }).then(res=>{
                this.tableData = res.data.row
            })
        },
        compileApi() {
            this.axios.post(this.$api.url.compile,{id})
            .then(res=>{
                console.log(res);
            })
        },
        // query() {
        //     this.tableData(this.)
        // }
}}
</script>
<style scoped>
.card-2{
    display: flex;
    margin-top: 30px;
}
.ssss{
    background-color: #fff;
}
</style>
src/main.js
@@ -23,7 +23,7 @@
Vue.use(qs);
Vue.use(api);
const javaApi = 'http://localhost:8001/'
const javaApi = 'http://192.168.110.107:8001/'
axios.defaults.baseURL = javaApi
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
src/view/index.vue
@@ -1,611 +1,569 @@
<style scoped>
.all {
  width: 100vw;
  height: 100vh;
  background-size: 100% 100%;
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
}
    .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 {
  width: 92px;
  height: calc(100vh - 58px - 40px);
  background-color: #004ea2;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 20px 0;
  overflow-y: auto;
}
    .left {
        height: calc(100vh - 58px - 40px);
        background-color: #004ea2;
        display: flex;
        align-items: center;
        flex-direction: column;
        padding: 20px 0;
        transition: .3s;
    }
.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: .3s;
    }
.right {
  width: calc(100% - 92px);
  height: calc(100vh - 58px);
}
    .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-s-unfold {
  font-size: 18px;
  cursor: pointer;
  margin: 0 8px;
}
    .tabs {
        min-width: calc(100% - 34px);
        height: 100%;
        align-items: center;
        display: flex;
        overflow-x: auto;
    }
.tabs {
  min-width: calc(100% - 34px);
  height: 100%;
  align-items: center;
  display: flex;
  overflow-x: auto;
}
    .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;
    }
.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;
}
    .tab i {
        font-size: 12px;
        display: none;
    }
.tab i {
  font-size: 12px;
  display: none;
}
    .active_tab {
        border-bottom: 2px solid #004ea2;
        color: #004ea2;
    }
.active_tab {
  border-bottom: 2px solid #004ea2;
  color: #004ea2;
}
    .active_tab i {
        display: inline;
        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);
    }
.component_view {
  height: calc(100vh - 94px - 22px);
  width: calc(100% - 48px);
  padding: 11px 24px;
  background: rgb(245, 247, 251);
}
.com_index {
  width: 100%;
  height: 100%;
}
    .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">
      <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">
      <div class="tag">
        <i class="el-icon-s-unfold"></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)"></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>
            </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",
      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: 4,
          v: "生产管理",
          i: "font icon-shouye",
          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-shouye",
          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: 1,
          v: "技术管理",
          i: "font icon-shouye",
          c: [
            {
              k: 1,
              v: "标准BOM",
              i: "font icon-shouye",
              u: "standard"
            },
            {
              k: 2,
              v: "订单Bom",
              i: "font icon-shouye",
              u: "technicalaa"
            }
          ]
        },
        {
          k: 2,
          v: "QMS管理",
          i: "font icon-shouye",
          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: ""
            },
            {
              k: 10.2,
              v: "不合格品处置",
              i: "font icon-shouye",
              u: "Processingproducts"
            }
          ]
        },
        {
          k: 6,
          v: "核算管理",
          i: "font icon-shouye",
          c: [
            {
              k: 21,
              v: "产量工资",
              i: "font icon-shouye",
              u: ""
            },
            {
              k: 22,
              v: "员工出勤",
              i: "font icon-shouye",
              u: ""
            }
          ]
        },
        {
          k: 7,
          v: "基础数据",
          i: "font icon-shouye",
          c: [
            {
              k: 23,
              v: "工序维护",
              i: "font icon-shouye",
              u: ""
            },
            {
              k: 24,
              v: "自检维护",
              i: "font icon-shouye",
              u: "self-inspection"
            },
            {
              k: 25,
              v: "技术指标维护",
              i: "font icon-shouye",
              u: ""
            },
            {
              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"
            }
          ]
        }
      ],
      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 <= 28) {
        this.activeBox = 7;
      }
    },
    out() {
      sessionStorage.clear();
      localStorage.removeItem("autoenter");
      this.$router.push("/enter");
    }
  }
};
    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-shouye",
                        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-shouye",
                        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-shouye",
                        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-shouye",
                        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-shouye",
                        c: [{
                                k: 21,
                                v: "产量工资",
                                i: "font icon-shouye",
                                u: ""
                            },
                            {
                                k: 22,
                                v: "员工出勤",
                                i: "font icon-shouye",
                                u: ""
                            }
                        ]
                    },
                    {
                        k: 7,
                        v: "基础数据",
                        i: "font icon-shouye",
                        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: ""
                            },
                            {
                                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: ""
                            },
                            {
                                k: 30,
                                v: "设备指标维护",
                                i: "font icon-shouye",
                                u: ""
                            }
                        ]
                    }
                ],
                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>