| | |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | |
| | | <div> |
| | | <div style="height: calc(100% - 42px);"> |
| | | <!-- 编辑弹窗 --> |
| | | <div> |
| | | <el-dialog |
| | | title="技术指标编辑" |
| | | :visible.sync="modifyevent" |
| | | width="40%" |
| | | :before-close="handleClose"> |
| | | <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 v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | |
| | | </div> |
| | | <div class="choose"> |
| | | <span>类型:</span> |
| | | <el-select v-model="search.type" size="small" placeholder="请选择" @change="TYpe" style="width: 224px;margin-right: 30px;"> |
| | | <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> |
| | |
| | | <div class="thing"> |
| | | <!-- 主体左 --> |
| | | <div class="left"> |
| | | <el-input v-model="search.technology" |
| | | suffix-icon="el-icon-search" |
| | | placeholder="请输入搜索内容" |
| | | size="small" |
| | | <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 |
| | | > |
| | | <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> |
| | |
| | | </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 :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 type="index" width="50"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="项目" |
| | | sortable |
| | | width="400px"> |
| | | <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'}`"> |
| | |
| | | </div> |
| | | </el-tag> |
| | | <span style="color: black">{{ scope.row.name }}</span> |
| | | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="单位"> |
| | | <el-table-column prop="unit" label="单位"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="操作" |
| | | width="200px"> |
| | | <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-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-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-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-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 :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-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> |
| | |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | |
| | | <!-- 新增弹窗 --> |
| | | <div> |
| | | <el-dialog |
| | | title="技术指标新增" |
| | | :visible.sync="dialogVisible" |
| | | width="40%" |
| | | > |
| | | <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-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-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" |
| | | <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> |
| | |
| | | <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-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-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-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-dialog> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | father:'', |
| | | name:'', |
| | | unit:'', |
| | | id:'', |
| | | |
| | | id: '' |
| | | } |
| | | } |
| | | |
| | | }, |
| | | mounted() { |
| | | this.selectAllleft() |
| | | this.selectAllright() |
| | | |
| | | }, |
| | | methods:{ |
| | | handleClose(){ |
| | |
| | | //主体左 |
| | | selectAllleft() { |
| | | this.$axios.get(this.$api.url.selectAllleft,{ |
| | | params:{type:this.typeselect,message:this.search.technology} |
| | | params: { |
| | | type: this.typeselect, |
| | | message: this.search.technology |
| | | } |
| | | }).then(res => { |
| | | this.list = res.data; |
| | | console.log(this.list); |
| | |
| | | }, |
| | | selectAllrightStart(name) { |
| | | this.$axios.get(this.$api.url.selectAllright,{ |
| | | params:{id:name} |
| | | params: { |
| | | id: name |
| | | } |
| | | }).then(res => { |
| | | this.tableData = res.data; |
| | | console.log(this.tableData); |
| | |
| | | //右 |
| | | selectAllright() { |
| | | this.$axios.get(this.$api.url.selectAllright,{ |
| | | params:{id:this.checkTreeNode.id} |
| | | params: { |
| | | id: this.checkTreeNode.id |
| | | } |
| | | }).then(res => { |
| | | this.tableData = res.data; |
| | | console.log(this.tableData); |
| | |
| | | chooseProFath() { |
| | | console.log(this.checkTreeNode.id); |
| | | this.$axios.get(this.$api.url.chooseProFath,{ |
| | | params:{techTemId:this.checkTreeNode.id} |
| | | params: { |
| | | techTemId: this.checkTreeNode.id |
| | | } |
| | | }).then(res => { |
| | | this.higherlevel = res.data; |
| | | console.log(this.higherlevel); |
| | |
| | | //工序工艺 |
| | | chooseTechFath() { |
| | | this.$axios.get(this.$api.url.chooseTechFath,{ |
| | | params:{type:this.typeselect} |
| | | params: { |
| | | type: this.typeselect |
| | | } |
| | | }).then(res => { |
| | | this.process = res.data; |
| | | console.log(this.process); |
| | |
| | | |
| | | .thing { |
| | | width: 100%; |
| | | height: calc(100% - 120px); |
| | | height: calc(100% - 78px); |
| | | background-color: #fff; |
| | | display: flex; |
| | | } |
| | |
| | | height: calc(100% - 20px); |
| | | border-right: 3px solid rgb(245, 247, 251); |
| | | padding: 16px; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .thing .left .custom-tree-node span { |
| | |
| | | color: #004ea0; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .firstDiv { |
| | | /* float: left; |
| | | width: 20px; |
| | |
| | | margin-right: 8px; */ |
| | | /* border-radius: 60px; */ |
| | | } |
| | | |
| | | .el-tag{ |
| | | border-radius: 50%; |
| | | } |
| | |
| | | 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" |
| | |
| | | height: calc(100% - 20px); |
| | | border-right: 3px solid rgb(245, 247, 251); |
| | | padding: 16px; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .thing .left .custom-tree-node span { |
| | |
| | | </el-row> |
| | | </div> |
| | | <div> |
| | | <el-dialog |
| | | title="物料清单的维护" |
| | | :visible.sync="dialogVisible" |
| | | width="80%" |
| | | :before-close="handleClose" :center="true"> |
| | | <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-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-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-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-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-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> |
| | |
| | | </div> |
| | | <div style="margin: 10px 0px;"> |
| | | <template> |
| | | <el-table |
| | | border |
| | | :data="tableapi" |
| | | height="calc(80vh - 250px)" |
| | | style="width: 100%"> |
| | | <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"> |
| | | <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"> |
| | | <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="原材料名称"> |
| | | <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="规格型号"> |
| | | <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="单位"> |
| | | <el-table-column prop="unit" label="单位"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.unit" placeholder="" ></el-input> |
| | | </template> |
| | |
| | | </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;"> |
| | | <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> |
| | |
| | | </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 |
| | | <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> |
| | |
| | | //新增 |
| | | chooseTechFath() { |
| | | this.$axios.get(this.$api.url.chooseTechFath,{ |
| | | params:{type:this.typeselect} |
| | | params: { |
| | | type: this.typeselect |
| | | } |
| | | }).then(res => { |
| | | this.process = res.data; |
| | | console.log(this.process); |
| | |
| | | //左边 |
| | | selectAllleft() { |
| | | this.$axios.get(this.$api.url.selectAllleft,{ |
| | | params:{type:this.typeselect, |
| | | params: { |
| | | type: this.typeselect, |
| | | message:this.search.technology |
| | | } |
| | | }).then(res => { |
| | |
| | | //右边 |
| | | selectAllMbom() { |
| | | this.$axios.get(this.$api.url.selectAllMbom,{ |
| | | params:{id:this.checkTreeNode.id} |
| | | params: { |
| | | id: this.checkTreeNode.id |
| | | } |
| | | }).then(res => { |
| | | this.tableData = res.data; |
| | | console.log(this.tableData); |
| | |
| | | .title * { |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .choose-1{ |
| | | padding: 5px 24px; |
| | | display: flex; |
| | |
| | | height: calc(100% - 20px); |
| | | border-right: 3px solid rgb(245, 247, 251); |
| | | padding: 16px; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .thing .left .custom-tree-node span { |
| | |
| | | height: calc(100% - 20px); |
| | | border-right: 3px solid rgb(245, 247, 251); |
| | | padding: 16px; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .thing .left .custom-tree-node span { |
| | |
| | | <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"> |
| | |
| | | formTime: null, |
| | | createTime: null, |
| | | insState: 2, |
| | | judgeState: 2 |
| | | judgeState: 2, |
| | | type: null |
| | | } |
| | | this.selectRawInspectsList() |
| | | }, |
| | |
| | | <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 }"> |
| | |
| | | </div> |
| | | </el-tree> |
| | | </div> |
| | | |
| | | |
| | | <div class="right"> |
| | | <div class="choose"> |
| | | <span>类型:</span> |
| | |
| | | <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> |
| | |
| | | name: null, |
| | | specifications: null |
| | | }, |
| | | VER: {}, |
| | | version2: {}, |
| | | verdata: {}, |
| | | character: 0, |
| | | restaurants: [], |
| | |
| | | return this.verdata[0] |
| | | }) |
| | | this.character=v |
| | | this.VER="v"+v |
| | | this.version2="v"+v |
| | | this.selectAll() |
| | | }, |
| | | //右侧数据 |
| | |
| | | height: calc(100% - 20px); |
| | | border-right: 3px solid rgb(245, 247, 251); |
| | | padding: 16px; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .thing .left .custom-tree-node span { |
| | |
| | | node-key="name" |
| | | default-expand-all |
| | | @node-click="handleNodeClick" |
| | | style="height: 500px;overflow-y: auto;" |
| | | :key="upIndex" |
| | | highlight-current |
| | | > |
| | |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .tag .el-icon-delete { |
| | | display: none; |
| | | } |
| | | |
| | | .tag .el-icon-delete:hover { |
| | | color: #F56C6C; |
| | | } |
| | | |
| | | .tag:hover .el-icon-delete { |
| | | display: block; |
| | | } |
| | | |
| | | .tag > .el-icon-s-unfold, |
| | | .el-icon-s-fold { |
| | | .el-icon-s-fold, |
| | | .el-icon-delete { |
| | | font-size: 18px; |
| | | cursor: pointer; |
| | | margin: 0 8px; |
| | | } |
| | | |
| | | .tabs { |
| | | min-width: calc(100% - 34px); |
| | | min-width: calc(100% - 68px); |
| | | height: 100%; |
| | | align-items: center; |
| | | display: flex; |
| | |
| | | </div> |
| | | </div> |
| | | <div class="left" :style="`width: ${leftOpen ? '92' : '0'}px;`"> |
| | | <div |
| | | :class="`box ${activeBox == 0 ? 'active_box' : ''}`" |
| | | @click="addTab(menu[0].c[0])" |
| | | > |
| | | <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])" |
| | | > |
| | | <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" |
| | | > |
| | | <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)" |
| | | > |
| | | <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="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> |
| | | <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)" |
| | | > |
| | | <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> |
| | | <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 class="com_index" v-for="(com, index) in tabs" :is="com.u" :key="upIndex + '|' + index" |
| | | v-show="com.k == tabActive"> |
| | | </component> |
| | | </div> |
| | | </div> |
| | |
| | | return { |
| | | userName: "value", |
| | | leftOpen: true, |
| | | menu: [ |
| | | { |
| | | menu: [{ |
| | | k: 0, |
| | | v: "首页", |
| | | i: "font icon-shouye", |
| | | c: [ |
| | | { |
| | | c: [{ |
| | | k: 0, |
| | | v: "首页", |
| | | i: "font icon-shouye", |
| | | u: "index-index" |
| | | } |
| | | ] |
| | | }] |
| | | }, |
| | | { |
| | | k: 3, |
| | | v: "销售管理", |
| | | i: "font icon-jine", |
| | | c: [ |
| | | { |
| | | c: [{ |
| | | k: 11, |
| | | v: "销售管理", |
| | | i: "font icon-jine", |
| | | u: "sale" |
| | | } |
| | | ] |
| | | }] |
| | | }, |
| | | { |
| | | k: 1, |
| | | v: "技术管理", |
| | | i: "font icon-ic_form_set24px", |
| | | c: [ |
| | | { |
| | | c: [{ |
| | | k: 1, |
| | | v: "标准BOM", |
| | | i: "font icon-shouye", |
| | |
| | | k: 4, |
| | | v: "生产管理", |
| | | i: "font icon-shengchanguanli", |
| | | c: [ |
| | | { |
| | | c: [{ |
| | | k: 12, |
| | | v: "生产订单", |
| | | i: "font icon-shouye", |
| | |
| | | k: 5, |
| | | v: "WMS管理", |
| | | i: "font icon-a-Inventorydumprequest", |
| | | c: [ |
| | | { |
| | | c: [{ |
| | | k: 15, |
| | | v: "原材料库存", |
| | | i: "font icon-shouye", |
| | |
| | | k: 2, |
| | | v: "QMS管理", |
| | | i: "font icon-xunhuan", |
| | | c: [ |
| | | { |
| | | c: [{ |
| | | k: 3, |
| | | v: "原材料检验", |
| | | i: "font icon-shouye", |
| | |
| | | k: 6, |
| | | v: "核算管理", |
| | | i: "font icon-caiwuhesuanxitong", |
| | | c: [ |
| | | { |
| | | c: [{ |
| | | k: 21, |
| | | v: "产量工资", |
| | | i: "font icon-shouye", |
| | |
| | | k: 7, |
| | | v: "基础数据", |
| | | i: "font icon-a-ziyuan20", |
| | | c: [ |
| | | { |
| | | c: [{ |
| | | k: 23, |
| | | v: "生产记录维护", |
| | | i: "font icon-shouye", |
| | |
| | | i: "font icon-shouye", |
| | | u: "mbom" |
| | | }, |
| | | // { |
| | | // k: 29, |
| | | // v: "巡检项目维护", |
| | | // i: "font icon-shouye", |
| | | // u: "routinginspection" |
| | | // }, |
| | | { |
| | | k: 30, |
| | | v: "生产工艺维护", |
| | |
| | | activeBox: 0, |
| | | activeP: 0, |
| | | tabActive: 0, |
| | | tabs: [ |
| | | { |
| | | tabs: [{ |
| | | k: 0, |
| | | v: "首页", |
| | | i: "font icon-shouye", |
| | | u: "index-index" |
| | | } |
| | | ], |
| | | }], |
| | | upIndex: 0 |
| | | }; |
| | | }, |
| | |
| | | } |
| | | }, |
| | | 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("不能关闭最后的标签"); |
| | | } |
| | | }, |
| | | 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; |
| | | 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; |
| | | 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() { |