From a15fb376f2a52a36be5ce2f1eeaf252a509dfcb7 Mon Sep 17 00:00:00 2001
From: 王震 <10952869+daywangzhen@user.noreply.gitee.com>
Date: 星期三, 13 九月 2023 14:45:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/components/view/technology.vue | 2
src/components/view/mbom.vue | 359 ++---
src/components/view/processInspection.vue | 527 ++++----
src/view/index.vue | 1135 ++++++++---------
src/assets/api/controller.js | 16
src/components/view/sale.vue | 36
src/components/view/standard-table/material.vue | 19
src/components/view/standard-table/product.vue | 26
src/components/view/standard.vue | 587 ++++++--
src/components/view/self-inspection.vue | 2
src/components/view/equipmentmaintain.vue | 2
src/components/view/record-content.vue | 2
src/main.js | 3
src/components/view/standard-table/target.vue | 19
src/components/view/Technicalindex.vue | 925 ++++++--------
src/components/view/standard-table/technology.vue | 10
16 files changed, 1,915 insertions(+), 1,755 deletions(-)
diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index 70e6450..5f600fd 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -14,6 +14,17 @@
leftAddOneTwo: "/material/add",//宸︿晶鏂板1锛�2绾�
leftAddThree: "/standard/add",//宸︿晶涓夌骇鏂板
leftAddFour: "/specifications/add",//宸︿晶鍥涚骇鏂板
+ chooseTechByStandard:"/product/chooseTech",//鍙充笂瑙掓柊澧�-->鎶�鏈寚鏍�-->閫夋嫨宸ュ簭,宸ヨ壓
+ chooseFatherByStandard:"/product/chooseFather",//鍙充笂瑙掓柊澧�-->鎶�鏈寚鏍�-->閫夋嫨椤圭洰鐖剁被
+ addProductByStandard:"/product/add",//鍙充笂瑙掓柊澧�-->鎶�鏈寚鏍�
+ addMBomByStandard:"/mbom/add",//鍙充笂瑙掓柊澧�-->鐗╂枡娓呭崟
+ chooseTechByMBom:"/mbom/chooseTech",//鍙充笂瑙掓柊澧�-->鐗╂枡娓呭崟-->閫夋嫨宸ュ簭,宸ヨ壓
+ mBomWrite:"/mbom/write",//鐗╂枡娓呭崟-->鏁伴噺,绉诲紑淇濆瓨
+ chooseTechByProduct:"/technique/chooseTech",//鍙充笂瑙掓柊澧�-->鐢熶骇宸ヨ壓-->閫夋嫨宸ュ簭,宸ヨ壓
+ addTechniqueByStandard:"/technique/add",//鍙充笂瑙掓柊澧�-->鐢熶骇宸ヨ壓
+ chooseProByProduct:"/technique/choosePro",//鍙充笂瑙掓柊澧�-->鐢熶骇宸ヨ壓-->閫夋嫨椤圭洰(鐖跺瓙),鍗曚綅
+ chooseDevByProduct:"/technique/chooseDev",//鍙充笂瑙掓柊澧�-->鐢熶骇宸ヨ壓-->閫夋嫨璁惧
+
// 鎶�鏈鐞�-鎶�鏈枃浠�
selectAllOrder: "/orders/selectAllOrder", //鏌ヨ鎵�鏈夎鍗曞垪琛�
selectOrderById: "/orders/selectOrderById", //鏍规嵁璁㈠崟id鏌ヨ璁㈠崟璇︽儏
@@ -56,11 +67,14 @@
// listMaterial:"/finished-inspect/list_material",//娣诲姞妫�楠屽崟鏃剁殑椤圭洰鍒楄〃
finishedInspectUser: "/finished-inspect/page_user", //鑾峰彇鎵�鏈変富鏈哄伐
projectListByfinishId: "/inspection-item/list_user", //鏍规嵁id鏌ヨ鎵�鏈夐」鐩�
-
+ processInspectAddProcess: "/processInspect/addProcess",//鏂板妫�楠�
+ inspectionItemListUser: "/inspection-item/list_user",//鏌ヨ鎵�鏈夋楠岄」鐩�
}
// 杩囩▼妫�楠�
const processInspection = {
selectProcessInspectsList: "/processInspect/selectProcessInspectsList", // 鍒嗛〉鏌ヨ杩囩▼妫�楠屽崟鍒楄〃
+ chooseMaterProcessInspect: "/processInspect/chooseMater",//鏍规嵁璁㈠崟鍙烽�夋嫨浜у搧鍜屽伐鑹�
+
}
// QMS瀹為獙瀹ょ鐞�
const laboratory = {
diff --git a/src/components/view/Technicalindex.vue b/src/components/view/Technicalindex.vue
index 54ba8fe..96f7f9f 100644
--- a/src/components/view/Technicalindex.vue
+++ b/src/components/view/Technicalindex.vue
@@ -1,322 +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'}" style="height: 500px;overflow-y: auto;" 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; height: 580px;overflow: auto;"
- row-key="name"
- border
- @select="selectTr"
- @selection-change="handleSelectionChange"
- default-expand-all
- ref="multipleTable"
- :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
- <el-table-column
- type="selection"
- 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"
@@ -333,33 +253,32 @@
</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:{
@@ -402,12 +321,11 @@
},
isAllSelect:false,
}
-
+
},
mounted() {
this.selectAllleft()
- this.selectAllright()
-
+ this.selectAllright()
},
methods:{
// 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆
@@ -450,8 +368,8 @@
},
handleClose(){
- },
- selectDataList() {
+ },
+ selectDataList() {
this.list.forEach(a => {
a.code = '[1]'
if (a.children != undefined) {
@@ -467,66 +385,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) {
@@ -535,7 +453,7 @@
}
}
})
- let cc = this.selects.map(el => {
+ let cc = this.selects.map(el => {
return el.id
})
this.delete = cc.join(',')
@@ -543,142 +461,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) {
- console.log(val);
+ handleSelectionChange(val) {
this.selects = val;
},
- //缂栬緫
-
- }
- }
+ //缂栬緫
+
+ }
+ }
</script>
<style scoped>
@@ -719,7 +647,7 @@
.thing {
width: 100%;
- height: calc(100% - 120px);
+ height: calc(100% - 78px);
background-color: #fff;
display: flex;
}
@@ -729,6 +657,7 @@
height: calc(100% - 20px);
border-right: 3px solid rgb(245, 247, 251);
padding: 16px;
+ overflow-y: auto;
}
.thing .left .custom-tree-node span {
@@ -768,8 +697,9 @@
color: #004ea0;
cursor: pointer;
}
-.firstDiv {
- /* float: left;
+
+ .firstDiv {
+ /* float: left;
width: 20px;
height: 20px;
border-radius: 60px;
@@ -779,11 +709,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 * {
diff --git a/src/components/view/equipmentmaintain.vue b/src/components/view/equipmentmaintain.vue
index 91e466e..30759c4 100644
--- a/src/components/view/equipmentmaintain.vue
+++ b/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"
@@ -707,6 +706,7 @@
height: calc(100% - 20px);
border-right: 3px solid rgb(245, 247, 251);
padding: 16px;
+ overflow-y: auto;
}
.thing .left .custom-tree-node span {
diff --git a/src/components/view/mbom.vue b/src/components/view/mbom.vue
index 5472b93..4e8c3ba 100644
--- a/src/components/view/mbom.vue
+++ b/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>
@@ -176,48 +141,48 @@
</div>
<!-- <el-dialog title="缂栬緫璁板綍鍐呭" :visible.sync="upDia" width="500px">
<div class="body">
-
+
</div>
-
+
</el-dialog> -->
</div>
</template>
<script>
-export default {
+ export default {
data() {
return {
- search:{
+ search: {
type: 0,
technology: ''
},
- list:[],
- process:{},
+ list: [],
+ process: {},
// handleClose:[],
checkTreeNode:{
id:'',
},
- 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,23 +199,25 @@
})
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,{
@@ -278,11 +245,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);
})
@@ -335,29 +302,31 @@
},
//鍙宠竟
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
console.log(data);
console.log(this.checkTreeNode.id);
this.selectAllMbom()
- },
+ },
handleClose(done) {
this.$confirm('纭鍏抽棴锛�')
- .then(_ => {
- done();
- })
- .catch(_ => {});
+ .then(_ => {
+ done();
+ })
+ .catch(_ => {});
},
//鏂板
event(){
@@ -372,7 +341,7 @@
let obj = [];
this.tableapi.push(obj);
},
- skipshow(){
+ skipshow() {
console.log('666');
let data = this.tableapi.at(-1)
data.techTemId = this.search.craft
@@ -381,12 +350,12 @@
},
//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++) {
@@ -415,8 +384,8 @@
this.material(index)
},
- }
- }
+ }
+ }
</script>
<style scoped>
@@ -435,7 +404,8 @@
.title * {
font-size: 16px;
}
- .choose-1{
+
+ .choose-1 {
padding: 5px 24px;
display: flex;
align-items: center;
@@ -474,6 +444,7 @@
height: calc(100% - 20px);
border-right: 3px solid rgb(245, 247, 251);
padding: 16px;
+ overflow-y: auto;
}
.thing .left .custom-tree-node span {
diff --git a/src/components/view/processInspection.vue b/src/components/view/processInspection.vue
index f844244..a4d05e1 100644
--- a/src/components/view/processInspection.vue
+++ b/src/components/view/processInspection.vue
@@ -5,137 +5,70 @@
<el-row>
<el-col :span="12">杩囩▼妫�楠�</el-col>
<el-col :span="12" style="text-align: right;">
- <el-button
- @click="handleAddNew"
- type="primary"
- size="mini"
- icon="el-icon-plus"
- style="background: #004EA2; "
- >鏂板</el-button
- >
+ <el-button @click="handleAddNew" type="primary" size="mini" icon="el-icon-plus"
+ style="background: #004EA2; ">鏂板</el-button>
<el-button icon="el-icon-download" size="mini">瀵煎嚭</el-button>
</el-col>
</el-row>
</div>
<div class="nav">
<span>妫�楠岀姸鎬侊細</span>
- <el-select
- size="small"
- v-model="search.result"
- placeholder="璇烽�夋嫨妫�娴嬬姸鎬�"
- style="width: 224px;margin-right: 52px;"
- >
+ <el-select size="small" v-model="search.result" placeholder="璇烽�夋嫨妫�娴嬬姸鎬�" style="width: 224px;margin-right: 52px;">
<el-option :value="''" label="鍏ㄩ儴"></el-option>
<el-option :value="1" label="宸叉娴�"></el-option>
<el-option :value="2" label="寰呮娴�"></el-option>
</el-select>
<span>浜у搧鍚嶇О锛�</span>
- <el-input
- size="small"
- style="width: 224px;margin-right: 30px;"
- v-model="search.name"
- placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�"
- ></el-input>
+ <el-input size="small" style="width: 224px;margin-right: 30px;" v-model="search.name"
+ placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�"></el-input>
<span>宸ュ簭锛�</span>
- <el-input
- size="small"
- style="width: 224px;margin-right: 30px;"
- v-model="search.techfather"
- placeholder="璇疯緭鍏ュ伐搴�"
- ></el-input>
+ <el-input size="small" style="width: 224px;margin-right: 30px;" v-model="search.techfather"
+ placeholder="璇疯緭鍏ュ伐搴�"></el-input>
<el-button size="mini"><span>閲� 缃�</span></el-button>
- <el-button size="mini" type="primary" style="background: #004EA2;"
- ><span>鏌� 璇�</span></el-button
- >
+ <el-button size="mini" type="primary" style="background: #004EA2;"><span>鏌� 璇�</span></el-button>
</div>
<div class="content-body">
<div class="inspectionTable">
- <el-table
- ref="inspectionTable"
- height="calc(100vh - 320px)"
- :cell-style="{ textAlign: 'center' }"
+ <el-table ref="inspectionTable" height="calc(100vh - 320px)" :cell-style="{ textAlign: 'center' }"
:header-cell-style="{
border: '0px',
background: '#f5f7fa',
color: '#606266',
boxShadow: 'inset 0 1px 0 #ebeef5',
textAlign: 'center'
- }"
- border
- :data="inspectionTable"
- style="width: 100%"
- >
+ }" border :data="inspectionTable" style="width: 100%">
<el-table-column type="selection" width="50"> </el-table-column>
- <el-table-column
- label="搴忓彿"
- type="index"
- width="60"
- ></el-table-column>
- <el-table-column
- prop="order_number"
- label="璁㈠崟缂栧彿"
- min-width="90"
- />
+ <el-table-column label="搴忓彿" type="index" width="60"></el-table-column>
+ <el-table-column prop="order_number" label="璁㈠崟缂栧彿" min-width="90" />
<el-table-column prop="material" label="浜у搧鍚嶇О" min-width="80" />
- <el-table-column
- prop="specifications_model"
- label="瑙勬牸鍨嬪彿"
- min-width="60"
- />
+ <el-table-column prop="specifications_model" label="瑙勬牸鍨嬪彿" min-width="60" />
<el-table-column prop="techfather" label="宸ュ簭" min-width="70" />
<el-table-column prop="techname" label="宸ヨ壓鍚嶇О" min-width="70" />
<el-table-column prop="unit" label="鍗曚綅" min-width="50" />
<el-table-column prop="quantity" label="鏁伴噺" min-width="50" />
- <el-table-column
- prop="createTime"
- label="鎶ユ鏃ユ湡"
- min-width="60"
- />
+ <el-table-column prop="createTime" label="鎶ユ鏃ユ湡" min-width="60" />
<el-table-column prop="name" label="鎶ユ浜�" min-width="50" />
- <el-table-column
- prop="updateTime"
- label="妫�娴嬫棩鏈�"
- min-width="60"
- />
+ <el-table-column prop="updateTime" label="妫�娴嬫棩鏈�" min-width="60" />
<el-table-column prop="result" label="鍚堟牸鐘舵��" min-width="80">
<template slot-scope="scope">
- <span style="color: #34BD66;" v-if="scope.row.result == 1"
- >鍚堟牸</span
- >
- <span style="color: #E84738;" v-else-if="scope.row.result == 0"
- >涓嶅悎鏍�</span
- >
+ <span style="color: #34BD66;" v-if="scope.row.result == 1">鍚堟牸</span>
+ <span style="color: #E84738;" v-else-if="scope.row.result == 0">涓嶅悎鏍�</span>
</template>
</el-table-column>
<el-table-column label="鎿嶄綔" min-width="80">
<template slot-scope="scope">
- <el-button type="text" size="small" style="margin-left: 0;"
- >璇︽儏</el-button
- >
- <el-button
- type="text"
- size="small"
- @click="handleClick(scope.row)"
- >鏌ョ湅</el-button
- >
- <el-button type="text" size="small" style="margin-left: 0;"
- >缂栬緫</el-button
- >
+ <el-button type="text" size="small" style="margin-left: 0;">璇︽儏</el-button>
+ <el-button type="text" size="small" @click="handleClick(scope.row)">鏌ョ湅</el-button>
+ <el-button type="text" size="small" style="margin-left: 0;">缂栬緫</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!-- 鍒嗛〉鍣� -->
<div class="pagination">
- <el-pagination
- :current-page="1"
- :page-sizes="[10, 20, 30, 40]"
- :page-size="pageSize"
- layout="total, sizes, prev, pager, next, jumper"
- :total="inspectionTableTotal"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- />
+ <el-pagination :current-page="1" :page-sizes="[10, 20, 30, 40]" :page-size="pageSize"
+ layout="total, sizes, prev, pager, next, jumper" :total="inspectionTableTotal" @size-change="handleSizeChange"
+ @current-change="handleCurrentChange" />
</div>
</div>
</div>
@@ -146,109 +79,60 @@
<el-col :span="12">鏂板杩囩▼妫�楠屽崟</el-col>
<el-col :span="12" style="text-align: right;">
<!-- 鐐瑰嚮杩斿洖锛屽綋鍓嶉〉闈㈠�间负false -->
- <el-button
- type="primary"
- size="mini"
- style="background: #004EA2; "
- icon="el-icon-circle-plus-outline"
- >鏂板</el-button
- >
- <el-button
- @click="showAddPage = false"
- type="primary"
- size="mini"
- icon="el-icon-back"
- style="background: #004EA2; "
- >杩斿洖</el-button
- >
+ <el-button type="primary" size="mini" style="background: #004EA2; "
+ icon="el-icon-circle-plus-outline">鏂板</el-button>
+ <el-button @click="showAddPage = false" type="primary" size="mini" icon="el-icon-back"
+ style="background: #004EA2; ">杩斿洖</el-button>
</el-col>
</el-row>
- <el-form
- :model="addInspectionform"
- ref="addInspectionform"
- class="addInspectionform"
- label-position="right"
- label-width="120px"
- size="small"
- >
+ <el-form :model="processInspectVo" ref="addInspectionform" class="addInspectionform" label-position="right"
+ label-width="120px" size="small">
<div class="formwrapper">
<el-row :gutter="230">
<el-col :span="7">
<el-form-item label="璁㈠崟鍙凤細">
- <el-input
- style="width: 210px;"
- size="small"
- v-model="addInspectionform.number"
- placeholder="璇疯緭鍏ヨ鍗曞彿"
- />
+ <el-input @blur="selectInfoByOrderId" style="width: 210px;" size="small"
+ v-model="processInspectVo.orderNumber" placeholder="璇疯緭鍏ヨ鍗曞彿" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="浜у搧鍚嶇О锛�">
- <el-input
- style="width: 210px;"
- size="small"
- v-model="addInspectionform.code"
- placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�"
- />
+ <el-select style="width: 210px;" size="small" @change="selectSample" v-model="processInspectVo.material"
+ placeholder="璇烽�夋嫨浜у搧">
+ <el-option v-for="item in optionsSamplename" :key="item.value" :label="item.name" :value="item.name">
+ </el-option>
+ </el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="浜у搧缂栫爜锛�">
- <el-input
- style="width: 210px;"
- size="small"
- disabled
- v-model="addInspectionform.code"
- placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�"
- />
+ <el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.materialCode"
+ placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="230">
<el-col :span="7">
<el-form-item label="瑙勬牸鍨嬪彿锛�">
- <el-input
- style="width: 210px;"
- size="small"
- disabled
- v-model="addInspectionform.number"
- placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�"
- />
+ <el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.specificationsModel"
+ placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="宸ュ簭鍚嶇О锛�">
- <el-select
- v-model="value"
- placeholder="璇烽�夋嫨"
- style="width: 210px;"
- size="small"
- >
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-select @change="changeOptionSoptionSprocesses" v-model="processInspectVo.techfather"
+ placeholder="璇烽�夋嫨" style="width: 210px;" size="small">
+ <el-option v-for="item in optionSoptionSprocesses" :key="item.name" :label="item.name"
+ :value="item.name">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="宸ヨ壓鍚嶇О锛�">
- <el-select
- v-model="value"
- placeholder="璇烽�夋嫨"
- style="width: 210px;"
- size="small"
- >
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
+ <el-select v-model="processInspectVo.techname" placeholder="璇烽�夋嫨" style="width: 210px;" size="small">
+ <el-option v-for="item in optionTechnology" :key="item.id" :label="item.name"
+ :value="item.id + '-' + item.name">
</el-option>
</el-select>
</el-form-item>
@@ -257,31 +141,17 @@
<el-row :gutter="230">
<el-col :span="7">
<el-form-item label="鍗曚綅锛�">
- <el-input
- style="width: 210px;"
- size="small"
- disabled
- v-model="addInspectionform.quantity"
- placeholder="璇疯緭鍏ュ崟浣�"
- />
+ <el-input style="width: 210px;" size="small" disabled v-model="processInspectVo.unit"
+ placeholder="璇疯緭鍏ュ崟浣�" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="鏁伴噺锛�">
- <el-input
- style="width: 210px;"
- size="small"
- v-model="addInspectionform.quantity"
- placeholder="璇疯緭鍏ユ暟閲�"
- />
+ <el-input style="width: 210px;" size="small" v-model="processInspectVo.quantity" placeholder="璇疯緭鍏ユ暟閲�" />
</el-form-item>
</el-col>
- <el-col :span="7">
- <el-button
- type="primary"
- style="float: right; font-size: 14px; !important"
- >鐢熸垚妫�楠岄」鐩�</el-button
- >
+ <el-col :span="10" style="display: flex;justify-content: end;">
+ <el-button type="primary" @click="addTestProjevt">鐢熸垚妫�楠岄」鐩�</el-button>
</el-col>
</el-row>
</div>
@@ -291,92 +161,52 @@
<el-row>
<el-col :span="12" class="inspectionProject_span">妫�楠岄」鐩�</el-col>
<el-col :span="12" class="inspectionProject_span">
- <el-button size="mini" @click="clickDeleteInspectionColumn()"
- >鍒犻櫎妫�楠屽�煎垪</el-button
- >
- <el-button
- style="margin-right: 30px;"
- size="mini"
- @click="clickAddInspectionColumn()"
- >娣诲姞妫�楠屽�煎垪</el-button
- >
- <el-button
+ <el-button size="mini" @click="clickDeleteInspectionColumn()">鍒犻櫎妫�楠屽�煎垪</el-button>
+ <el-button style="margin-right: 30px;" size="mini" @click="clickAddInspectionColumn()">娣诲姞妫�楠屽�煎垪</el-button>
+ <!-- <el-button
size="mini"
style="margin-right: 30px;"
@click="clickAddLine()"
>娣诲姞妫�楠岃</el-button
- >
+ > -->
</el-col>
</el-row>
- <el-table
- :data="inspectionItems"
- height="calc(100vh - 550px)"
- style="width: 100%"
- >
- <el-table-column
- type="index"
- label="搴忓彿"
- width="60"
- ></el-table-column>
- <el-table-column prop="material" label="椤圭洰"></el-table-column>
+ <el-table :row-key="inspectionItems.id" :data="inspectionItems" max-height="420" :span-method="handleSpanMethod" height="calc(100vh - 550px)" style="width: 100%">
+ <el-table-column type="index" label="搴忓彿" width="60"></el-table-column>
+ <el-table-column label="椤圭洰" prop="father"></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="standardVal" label="鏍囧噯鍊�"></el-table-column>
- <el-table-column prop="controlVal" label="鍐呮祴鍊�"></el-table-column>
- <el-table-column
- prop="testValue"
- label="妫�娴嬪��"
- min-width="150"
- v-for="(item, index) in empiricalValueAdd"
- :key="index"
- >
- <template slot-scope="scope">
- <el-tooltip
- :disabled="scope.row.deviceId != null"
- class="item"
- effect="dark"
- content="璇峰厛閫夋嫨璁惧锛�"
- placement="top-start"
- >
- <el-input
- :disabled="scope.row.deviceId == null"
- // v-model="scope.row.testValueList[index]"
- @blur="changeState(scope.row, index)"
- placeholder="璇疯緭鍏ユ娴嬪��"
- ></el-input>
- </el-tooltip>
- </template>
- </el-table-column>
+ <el-table-column prop="required" label="鏍囧噯鍊�"></el-table-column>
+ <el-table-column prop="internal" label="鍐呮祴鍊�"></el-table-column>
+ <el-table-column prop="inspectionValue" label="妫�娴嬪��" min-width="100" style="text-align: center;">
+ <template slot-scope="scope">
+ <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�"
+ placement="top-start">
+ <el-input :disabled="scope.row.deviceId === null" :value="item"
+ @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
+ </el-tooltip>
+ </template>
+ </el-table-column>
<el-table-column label="璇曢獙璁惧">
<template slot-scope="scope">
{{ scope.row.device }}
- <el-select
- v-model="scope.row.device"
- size="small"
- slot="append"
- style="width: 100px;"
- >
+ <el-select v-model="scope.row.device" size="small" slot="append" style="width: 100px;">
<el-option value="閫夐」1"></el-option>
<el-option value="閫夐」2"></el-option>
</el-select>
</template>
</el-table-column>
- <el-table-column prop="conclusion" label="缁撹">
+ <el-table-column label="缁撹">
<template slot-scope="scope">
- <span style="color: #34BD66;" v-if="scope.row.insState == 1"
- >鍚堟牸</span
- >
- <span style="color: #E84738;" v-else-if="scope.row.insState == 0"
- >涓嶅悎鏍�</span
- >
+ <span style="color: #34BD66;" v-if="scope.row.result === 1">鍚堟牸</span>
+ <span style="color: #E84738;" v-else-if="scope.row.result === 0">涓嶅悎鏍�</span>
</template>
</el-table-column>
<el-table-column v-if="detailId == null" label="鎿嶄綔" width="100">
- <template slot-scope="scope">
- <el-button type="text" @click="clickDeleteline(scope)"
- >鍒犻櫎</el-button
- >
- </template>
- </el-table-column>
+ <template slot-scope="scope">
+ <el-button type="text" @click="clickDeleteline(scope)">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
</el-table>
</div>
<div class="inspectionResult">
@@ -397,6 +227,7 @@
export default {
data() {
return {
+ detailId: null,
search: {
countSize: 10,
pageSize: 1,
@@ -404,13 +235,29 @@
name: "", // 浜у搧鍚嶇О
techfather: "" // 宸ュ簭
},
+ optionsSamplename: [],
inspectionTable: [],
+ optionSoptionSprocesses: [],
+ optionTechnology: [],
inspectionTableTotal: "",
+ treeProject: [],
// 娣诲姞鍒�
- empiricalValueAdd: 1,
+ empiricalValueAdd: [],
// 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
empiricalValueAddMaxNumber: 0,
showAddPage: false,
+ processInspectVo: {
+ material: null,
+ materialCode: null,
+ orderNumber: "D-001",
+ quantity: null,
+ specificationsModel: null,
+ techfather: null,
+ techname: null,
+ technologyId: null,
+ unit: null
+ },
+ InspectioniD: null,
addInspectionform: [
{
number: "",
@@ -425,8 +272,8 @@
group: "",
worker: "",
machine: ""
- }
- ],
+ }]
+ ,
inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍�
inspectionResultForm: [
{
@@ -437,36 +284,151 @@
operation: ""
}
],
- options: [
- {
- value: "閫夐」1",
- label: "榛勯噾绯�"
- },
- {
- value: "閫夐」2",
- label: "鍙岀毊濂�"
- },
- {
- value: "閫夐」3",
- label: "铓典粩鐓�"
- },
- {
- value: "閫夐」4",
- label: "榫欓』闈�"
- },
- {
- value: "閫夐」5",
- label: "鍖椾含鐑ら腑"
- }
- ],
- value: ""
+ options: [],
+ value: "",
+ rowList: [],
+ spanArr: [],
+ position: 0
};
+ },
+ mounted() {
+ // this.getTableData()
},
methods: {
// 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
handleSizeChange(val) {
this.search.countSize = val;
this.defaultInitializationTable();
+ },
+ getInsArr(val){
+ console.log(val);
+ return val.split(",")
+ },
+ handleSpanMethod({ row, column, rowIndex, columnIndex }) {
+ if (columnIndex === 0) {
+ const _row = this.spanArr[rowIndex];
+ const _col = _row>0 ? 1 : 0;
+ return {
+ rowspan: _row,
+ colspan: _col
+ }
+ }
+ if(columnIndex === 1){
+ const _row = this.spanArr[rowIndex];
+ const _col = _row>0 ? 1 : 0;
+ return {
+ rowspan: _row,
+ colspan: _col
+ }
+ }
+ },
+ // 鍚堝苟琛ㄦ牸
+ mergeTable() {
+ this.rowList=[]
+ this.spanArr=[]
+ this.position=0
+ this.inspectionItems.forEach((item,index) => {
+ if( index === 0){
+ this.spanArr.push(1);
+ this.position = 0;
+ }else{
+ if(this.inspectionItems[index].father === this.inspectionItems[index-1].father ){
+ this.spanArr[this.position] += 1;
+ this.spanArr.push(0);
+ }else{
+ this.spanArr.push(1);
+ this.position = index;
+ }
+ }
+ })
+ },
+ changeOptionSoptionSprocesses() {
+ this.optionTechnology = []
+ let working = this.optionSoptionSprocesses.filter(item => {
+ return item.name === this.processInspectVo.techfather
+ })[0]
+ this.optionTechnology = working.children
+ },
+ addTestProjevt() {
+ let val = JSON.parse(JSON.stringify(this.processInspectVo))
+ val.techname = this.processInspectVo.techname.split("-")[1]
+ val.technologyId = this.processInspectVo.techname.split("-")[0]
+ this.$axios.post(this.$api.url.processInspectAddProcess, {
+ material: val.material,
+ materialCode: val.materialCode,
+ orderNumber: val.orderNumber,
+ quantity: val.quantity,
+ specificationsModel: val.specificationsModel,
+ techfather: val.techfather,
+ techname: val.techname,
+ technologyId: val.technologyId,
+ unit: val.unit
+ }, {
+ headers: { "Content-Type": "application/json" }
+ }).then(res => {
+ if (res.code === 201) {
+ this.$message({
+ message: res.message,
+ type: 'warning'
+ });
+ return
+ }
+ this.InspectioniD = res.data
+ this.getTableData()
+ })
+ },
+ getTableData() {
+ this.$axios.get(this.$api.url.inspectionItemListUser, {
+ params: {
+ id: 28,
+ type: 1
+ }
+ }).then(res => {
+ this.inspectionItems = res.data
+ let arr = []
+ let val=JSON.parse(JSON.stringify(this.inspectionItems))
+ //杞垚涓�缁存暟缁�
+ val.forEach(l => {
+ let father = l.father
+ l.children.forEach(c => {
+ c.father = father
+ c.empiricalValueAdd=[]
+ arr.push(c)
+ })
+ })
+ this.inspectionItems = arr
+ console.log(this.inspectionItems);
+ this.mergeTable(arr)
+ })
+ },
+ selectSample() {
+ let sample = this.optionsSamplename.filter(item => {
+ return item.name === this.processInspectVo.material
+ })[0]
+ this.processInspectVo.techfather = null
+ this.processInspectVo.techname = null
+ this.processInspectVo.materialCode = sample.code
+ this.processInspectVo.specificationsModel = sample.specifications
+ this.processInspectVo.unit = sample.unit
+ this.optionSoptionSprocesses = []
+ this.optionSoptionSprocesses = sample.children
+ },
+ selectInfoByOrderId() {
+ this.$axios.get(this.$api.url.chooseMaterProcessInspect, {
+ params: {
+ orderNumber: this.processInspectVo.orderNumber
+ }
+ }).then(res => {
+ if (res.data.length > 0) {
+ console.log(res.data);
+ this.optionsSamplename = res.data
+ } else {
+ this.$message({
+ message: '娌℃湁璇ヨ鍗曞彿锛�',
+ type: 'warning'
+ });
+ }
+ })
},
// 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
handleCurrentChange(val) {
@@ -476,6 +438,7 @@
// 鏄剧ず鏂板椤甸潰
handleAddNew() {
this.showAddPage = true;
+ this.getTableData()
},
// 琛ㄦ牸鍒濆鍖栨帴鍙�
defaultInitializationTable() {
@@ -535,52 +498,66 @@
align-items: center;
background-color: #fff;
}
+
.table_header {
height: calc(100vh - 550px);
}
+
.nav * {
font-size: 14px;
}
+
.content-body .rawPage {
background-color: #fff;
overflow: hidden;
}
+
.inspectionTable {
padding: 20px 20px;
}
+
.pagination {
float: right;
margin-right: 20px;
}
+
.newPage {
overflow: hidden;
}
+
.header {
padding: 12px;
}
+
.addInspectionform {
background-color: #fff;
}
+
.addInspectionform .formwrapper {
padding: 20px 0px;
margin-left: 100px;
}
+
.inspectionProject .el-table {
background-color: #fff;
padding: 10px 12px;
}
+
.inspectionResult span {
display: block;
padding: 5px 0px;
}
+
.inspectionResult .el-table {
background-color: #fff;
padding: 10px 12px;
}
+
.inspectionProject_span {
line-height: 32px;
padding: 10px 20px;
}
+
.inspectionProject_span .el-button {
float: right;
font-size: 13px !important;
diff --git a/src/components/view/record-content.vue b/src/components/view/record-content.vue
index fd9e74b..504470a 100644
--- a/src/components/view/record-content.vue
+++ b/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">
diff --git a/src/components/view/sale.vue b/src/components/view/sale.vue
index bdec015..b106e8f 100644
--- a/src/components/view/sale.vue
+++ b/src/components/view/sale.vue
@@ -132,9 +132,8 @@
<span>鐘舵�侊細</span>
<el-select v-model="search.type" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
<el-option label="鍏ㄩ儴" :value="null"></el-option>
- <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="1"></el-option>
+ <el-option label="涓嶉�氳繃" :value="0"></el-option>
</el-select>
<span>浜よ揣鏃ユ湡锛�</span>
<el-date-picker v-model="search.delTime" size="small" placeholder="璇疯緭鍏�" style="width: 224px;margin-right: 30px;"
@@ -174,7 +173,8 @@
<span class="table_do" @click="changeShowDetail(scope.row)"> 鏌ョ湅璇︽儏 </span>
<span class="table_do" v-if="scope.row.type==null" @click="saleCheck(scope)"> 瀹℃牳 </span>
<span class="table_do" v-else> </span>
- <span class="table_do" @click="openUpDia(scope.row.id)"> 缂栬緫 </span>
+ <span class="table_do" v-if="scope.row.type==null" @click="openUpDia(scope.row.id)"> 缂栬緫 </span>
+ <span class="table_do" v-else> </span>
<span class="table_do" @click="delSale(scope.$index)"> 鍒犻櫎 </span>
</template>
</el-table-column>
@@ -402,7 +402,7 @@
delTime: null
},
tableData: [],
- selects: [],
+ selects: '',
currentPage: 1,
countSize: 0,
pageSize: 10,
@@ -430,7 +430,13 @@
},
methods: {
handleSelectionChange(val) {
- this.selects = val.id;
+ this.selects = ''
+ val.forEach((a, ai)=>{
+ this.selects += a.id
+ if(ai!=val.length-1){
+ this.selects += ','
+ }
+ })
},
handleSizeChange(val) {
this.pageSize = val
@@ -456,7 +462,7 @@
})
},
clean() {
- this.selects = []
+ this.selects = ''
this.currentPage = 1
this.countSize = 0
this.pageSize = 10
@@ -464,7 +470,8 @@
formTime: null,
createTime: null,
insState: 2,
- judgeState: 2
+ judgeState: 2,
+ type: null
}
this.selectRawInspectsList()
},
@@ -565,7 +572,6 @@
})
},
upSale() {
- console.log(this.addData);
for (var b = 0; b < this.addData.saleMaterialList.length; b++) {
if (Object.keys(this.addData.saleMaterialList[b]).length == 0) {
this.addData.saleMaterialList.splice(b, 1)
@@ -581,7 +587,8 @@
}
}
for (var a in this.addData) {
- if ((this.addData[a] == null || this.addData[a] == '') && a != 'type') {
+ console.log(a);
+ if ((this.addData[a] == null || this.addData[a] == '') && a!='checkname' && a!='checkTime' && a != 'type') {
if (a == 'saleMaterialList') {
this.$message.error('浜у搧淇℃伅涓嶈兘涓虹┖')
} else {
@@ -612,13 +619,12 @@
})
},
delSales(){
- console.log(this.selects);
+ if(this.selects=='') {
+ this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹垹闄�')
+ return
+ }
this.axios.post(this.$api.url.delAllSale,{
ids: this.selects
- }, {
- headers: {
- 'Content-Type': 'application/json'
- }
}).then(res=>{
this.$message.success('鍒犻櫎鎴愬姛')
this.selectRawInspectsList()
diff --git a/src/components/view/self-inspection.vue b/src/components/view/self-inspection.vue
index a10d40f..55b8cbc 100644
--- a/src/components/view/self-inspection.vue
+++ b/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 }">
diff --git a/src/components/view/standard-table/material.vue b/src/components/view/standard-table/material.vue
index 66e3416..32384da 100644
--- a/src/components/view/standard-table/material.vue
+++ b/src/components/view/standard-table/material.vue
@@ -40,6 +40,11 @@
<el-table-column prop="unit" label="鍗曚綅">
</el-table-column>
<el-table-column prop="num" label="鏁伴噺">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.num"
+ v-if="scope.row.mname != null"
+ @blur="updateVal(scope.row)"></el-input>
+ </template>
</el-table-column>
</el-table>
</div>
@@ -58,6 +63,16 @@
created() {},
mounted() {},
methods: {
+ updateVal(row){
+ this.$axios.post(this.$api.url.mBomWrite,{
+ id : row.id,
+ num : row.num
+ }).then(res=>{
+ this.$message.success(res.message);
+ }).catch(error=>{
+ this.$message.error(error.message);
+ })
+ },
// 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆
// 鍏ㄩ��/鍙栨秷閫夋搷浣�
selectAll(val) {
@@ -146,8 +161,8 @@
.standard .el-table__body {
height: 100%;
}
- .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){
+ /* .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){
padding-left: 23px !important;
- }
+ } */
</style>
\ No newline at end of file
diff --git a/src/components/view/standard-table/product.vue b/src/components/view/standard-table/product.vue
index 80f18e1..6141739 100644
--- a/src/components/view/standard-table/product.vue
+++ b/src/components/view/standard-table/product.vue
@@ -35,9 +35,9 @@
/* .standard .el-table__body {
height: 100%;
} */
- .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){
+ /* .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){
padding-left: 23px !important;
- }
+ } */
</style>
<template>
<div class="standard">
@@ -67,19 +67,37 @@
<span>{{scope.row.device}}</span>
</template>
</el-table-column>
- <el-table-column prop="productFather" label="椤圭洰"></el-table-column>
+ <el-table-column prop="productFather" label="椤圭洰">
+ <template slot-scope="scope">
+ <el-tag type="info" v-if="scope.row.productFather != null">04</el-tag>
+ <span>{{scope.row.productFather}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="productFather" hidden></el-table-column>
<el-table-column prop="unit" label="鍗曚綅"></el-table-column>
<el-table-column prop="product" label="鎸囨爣"></el-table-column>
+ <el-table-column label="鎿嶄綔">
+ <template slot-scope="scope">
+ <el-button type="text" @click="updateProduct(scope.row)">缂栬緫</el-button>
+ </template>
+ </el-table-column>
</el-table>
</div>
</template>
<script>
export default ({
data() {
-
+ return {
+ deviceGroupDialog:false,
+ selects: [],
+ isAllSelect:false,
+ }
},
props:['tableData','tableType'],
methods:{
+ updateProduct(row){
+ console.log(row);
+ },
// 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆
// 鍏ㄩ��/鍙栨秷閫夋搷浣�
selectAll(val) {
diff --git a/src/components/view/standard-table/target.vue b/src/components/view/standard-table/target.vue
index f07c292..cb8ad69 100644
--- a/src/components/view/standard-table/target.vue
+++ b/src/components/view/standard-table/target.vue
@@ -19,11 +19,16 @@
<span>{{scope.row.tname}}</span>
</template>
</el-table-column>
+ <el-table-column prop="pfather" label="椤圭洰">
+ <template slot-scope="scope">
+ <el-tag type="info" color="#faf2ff" v-if="scope.row.pfather != null">
+ <span style="color: #e1affb">03</span>
+ </el-tag>
+ <span>{{scope.row.pfather}}</span>
+ </template>
+ </el-table-column>
<el-table-column prop="pname" label="鎸囨爣鍚嶇О">
<template slot-scope="scope">
- <el-tag type="info" color="#faf2ff" v-if="scope.row.pname != null">
- <span style="color: #e1affb">03</span>
- </el-tag>
<span>{{scope.row.pname}}</span>
</template>
</el-table-column>
@@ -31,14 +36,14 @@
<el-table-column prop="internal" label="鍐呮帶鍊�">
<template slot-scope="scope">
<el-input v-model="scope.row.internal"
- v-if="scope.row.internal != null"
+ v-if="scope.row.pname != null"
@blur="updateVal(scope.row)"></el-input>
</template>
</el-table-column>
<el-table-column prop="required" label="鏍囧噯鍊�">
<template slot-scope="scope">
<el-input v-model="scope.row.required"
- v-if="scope.row.required != null"
+ v-if="scope.row.pname != null"
@blur="updateVal(scope.row)"></el-input>
</template>
</el-table-column>
@@ -164,8 +169,8 @@
/* .standard .el-table__body {
height: 100%;
} */
- .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){
+ /* .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){
padding-left: 23px !important;
- }
+ } */
</style>
\ No newline at end of file
diff --git a/src/components/view/standard-table/technology.vue b/src/components/view/standard-table/technology.vue
index 3186948..63eb015 100644
--- a/src/components/view/standard-table/technology.vue
+++ b/src/components/view/standard-table/technology.vue
@@ -35,7 +35,7 @@
<el-table-column prop="pq" label="鐢熶骇瀹氶(涓�/澶�)">
<template slot-scope="scope">
<el-input v-model="scope.row.pq"
- v-if="scope.row.pq != null"
+ v-if="scope.row.dg != null"
@blur="updatePq(scope.row)"
></el-input>
</template>
@@ -65,9 +65,7 @@
}
},
props:['tableData','tableType'],
- created() {
- console.log(this.tableData)
- },
+ created() {},
mounted() {
},
methods: {
@@ -190,7 +188,7 @@
/* .standard .el-table__body {
height: 100%;
} */
- .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){
+ /* .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){
padding-left: 23px !important;
- }
+ } */
</style>
diff --git a/src/components/view/standard.vue b/src/components/view/standard.vue
index 56f6ba2..2018424 100644
--- a/src/components/view/standard.vue
+++ b/src/components/view/standard.vue
@@ -5,9 +5,8 @@
<el-col :span="12" style="line-height: 32px;">鏍囧噯BOM</el-col>
<el-col :span="12" style="text-align: right;">
<el-button type="primary" icon="el-icon-plus" style="background: #004EA2;"
- @click="showBomAddModel">鏂板</el-button>
+ @click="bomAddModelVisible = true">鏂板</el-button>
<el-button icon="el-icon-plus">鏂板鐗堟湰</el-button>
- <el-button @click="bomRightUp=true" icon="el-icon-edit-outline">淇敼</el-button>
<el-button @click="bomRightDl=true" icon="el-icon-delete">鍒犻櫎</el-button>
</el-col>
</el-row>
@@ -33,8 +32,6 @@
</div>
</el-tree>
</div>
-
-
<div class="right">
<div class="choose">
<span>绫诲瀷锛�</span>
@@ -46,180 +43,253 @@
<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 size="small" 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>
- <el-button style="margin-left:10px;" size="mini" @click="() => { searchName = ''; selectProductTableData() }"><span>閲� 缃�</span></el-button>
+ <el-button size="mini" @click="() => { searchName = ''; selectProductTableData() }"><span>閲� 缃�</span></el-button>
<el-button size="mini" type="primary" style="background: #004EA2;" @click="selectProductTableData"><span>鏌�
璇�</span></el-button>
</div>
- <div v-if="this.typeselect == 0">
+ <div class="contentTable" v-if="this.typeselect == 0">
<technology :tableType="tableType" :tableData="tableData"></technology>
</div>
<div v-if="this.typeselect == 1">
<target :tableType="tableType" :tableData="tableData"></target>
</div>
<div v-if="this.typeselect == 2">
- <material :tableType="tableType" :tableData="tableData"></material>
+ <bom :tableType="tableType" :tableData="tableData"></bom>
</div>
- <div v-if="this.typeselect == 3">
- <product :tableType="tableType" :tableData="tableData"></product>
- </div>
+ <div v-if="this.typeselect == 3">鐢熶骇宸ヨ壓</div>
</div>
</div>
<div class="bom-add-model">
- <el-dialog title="BOM鏂板" :visible.sync="bomAddModelVisible" width="35%">
+ <el-dialog title="BOM鏂板" :visible.sync="bomAddModelVisible" width="45%">
<!-- 宸ヨ壓璺嚎 -->
- <div v-if="typeselect == 0">銆�
- <el-form :model="technologyForm" :inline="true" class="demo-form-inline" label-position="right"
- :rules="boomRules" ref="boomForm" label-width="90px">
- <el-form-item label="宸ュ簭:" prop="father" width="250">
- <el-select v-model="technologyForm.father"
- style="width:200px;" placeholder="璇疯緭鍏ユ垨閫夋嫨宸ュ簭">
+ <div v-if="typeselect == 0">
+ <el-form :model="technologyForm" :inline="true" label-position="right"
+ ref="technologyForm" :rules="technologyRules" label-width="90px">
+ <el-form-item label="宸ュ簭:" prop="tefather">
+ <el-select id="tefather" size="small"
+ filterable allow-create default-first-option
+ v-model="technologyForm.tefather" placeholder="璇疯緭鍏ユ垨閫夋嫨宸ュ簭">
<el-option :value="item.father" :label="item.father" v-for="(item,index) in fatherList" :key="index"></el-option>
</el-select>
</el-form-item>
- <el-form-item label="宸ヨ壓鍚嶇О:" prop="name" width="250">
- <el-input placeholder="璇疯緭鍏ュ伐鑹哄悕绉�" style="width:200px;"
- v-model="technologyForm.name"></el-input>
+ <el-form-item label="宸ヨ壓鍚嶇О:" prop="tename">
+ <el-input id="tename" size="small" placeholder="璇疯緭鍏ュ伐鑹哄悕绉�"
+ clearable v-model="technologyForm.tename"></el-input>
</el-form-item>
- <el-form-item label="璁惧缁�:" prop="deviceGroup" width="250">
- <el-select placeholder="璇烽�夋嫨璁惧缁�"
- style="width:200px;"
+ <el-form-item label="璁惧缁�:" prop="deviceGroup">
+ <el-select id="deviceGroup" placeholder="璇烽�夋嫨璁惧缁�" size="small"
v-model="technologyForm.deviceGroup">
<el-option :value="item.father"
v-for="(item,index) in deviceList" :key="index" :label="item.father"></el-option>
</el-select>
</el-form-item>
- <el-form-item label="鐢熶骇瀹氶:" prop="productionQuota" width="250">
- <el-input style="width:200px;" v-model.number="technologyForm.productionQuota" placeholder="璇疯緭鍏ョ敓浜у畾棰�" />
+ <el-form-item label="鐢熶骇瀹氶:" prop="productionQuota">
+ <el-input id="productionQuota" size="small" clearable v-model.number="technologyForm.productionQuota" placeholder="璇疯緭鍏ョ敓浜у畾棰�" />
</el-form-item>
</el-form>
+ <div style="width:100%;text-align: right;">
+ <span slot="footer" class="dialog-footer" >
+ <el-button type="primary" @click="confirmAdd('technologyForm')">纭� 瀹�</el-button>
+ <el-button @click="bomAddModelVisible = false">鍙� 娑�</el-button>
+ </span>
+ </div>
</div>
<!-- 鎶�鏈寚鏍� -->
<div v-if="typeselect == 1">
- <el-form :model="targetForm" :inline="true" class="demo-form-inline" label-position="right"
- label-width="80px">
- <el-form-item label="鎸囨爣鍚嶇О:" prop="father" width="250">
- <el-input style="width:200px;" v-model="targetForm.pname" placeholder="璇疯緭鍏ュ崟浣�"/>
+ <el-form :model="targetForm" :inline="true" label-position="right"
+ :rules="targetRules" ref="targetForm" label-width="90px">
+ <el-form-item label="宸ュ簭:" prop="pfather">
+ <el-select v-model="targetForm.pfather"
+ @change="changeFather"
+ style="width:200px;" placeholder="璇烽�夋嫨宸ュ簭">
+ <el-option :value="item.name" :label="item.name" v-for="(item,index) in targetFormList" :key="index"></el-option>
+ </el-select>
</el-form-item>
- <el-form-item label="鍗曚綅:" prop="name" width="250">
+ <el-form-item label="宸ヨ壓鍚嶇О:" prop="technologyId">
+ <el-select v-model="targetForm.technologyId"
+ @change="changeTechnologyId"
+ style="width:200px;" placeholder="璇烽�夋嫨宸ヨ壓鍚嶇О">
+ <el-option :value="item.id" :label="item.name" v-for="(item,index) in technologyIdList" :key="index"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="椤圭洰:" prop="father">
+ <el-select v-model="targetForm.father"
+ filterable allow-create default-first-option
+ style="width:200px;" placeholder="璇疯緭鍏ユ垨閫夋嫨椤圭洰">
+ <el-option :value="item.father" :label="item.father" v-for="(item,index) in projectList" :key="index"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鎸囨爣鍚嶇О:" prop="name">
+ <el-input style="width:200px;" v-model="targetForm.name" placeholder="璇疯緭鍏ユ寚鏍囧悕绉�"/>
+ </el-form-item>
+ <el-form-item label="鍗曚綅:" prop="unit">
<el-input style="width:200px;" v-model="targetForm.unit" placeholder="璇疯緭鍏ュ崟浣�"/>
</el-form-item>
- <el-form-item label="鍐呮帶鍊�:" prop="dg" width="250">
- <el-input style="width:200px;" v-model="targetForm.internal" placeholder="璇疯緭鍏ュ崟浣�"/>
+ <el-form-item label="鍐呮帶鍊�:" prop="internal">
+ <el-input style="width:200px;" v-model="targetForm.internal" placeholder="璇疯緭鍏ュ唴鎺у��"/>
</el-form-item>
- <el-form-item label="鏍囧噯鍊�:" prop="unit" width="250">
- <el-input style="width:200px;" v-model="targetForm.required" placeholder="璇疯緭鍏ュ崟浣�"/>
+ <el-form-item label="鏍囧噯鍊�:" prop="required">
+ <el-input style="width:200px;" v-model="targetForm.required" placeholder="璇疯緭鍏ユ爣鍑嗗��"/>
</el-form-item>
</el-form>
+ <div style="width:100%;text-align: right;">
+ <span slot="footer" class="dialog-footer" >
+ <el-button type="primary" @click="confirmAdd('targetForm')">纭� 瀹�</el-button>
+ <el-button @click="bomAddModelVisible = false">鍙� 娑�</el-button>
+ </span>
+ </div>
</div>
<!-- 鐗╂枡娓呭崟 -->
<div v-if="typeselect == 2">
- <el-form :model="materialForm" class="demo-form-inline" label-position="right"
- label-width="80px">
- <el-row>
+ <el-form :model="materialForm" label-position="right"
+ :rules="materialRules" ref="materialForm" label-width="90px">
+ <el-row :gutter="100">
<el-col :span="12">
- <el-form-item label="瑙勬牸鍨嬪彿:" prop="father" width="250">
- <el-input style="width:200px;" v-model="materialForm.pname" placeholder="璇疯緭鍏ュ崟浣�"/>
- </el-form-item>
+ <el-form-item label="宸ュ簭:" prop="mfather">
+ <el-select placeholder="璇烽�夋嫨宸ュ簭" @change="changeMName"
+ style="width:100%;" v-model="materialForm.mfather">
+ <el-option v-for="(item,index) in materialFormList" :key="index"
+ :label="item.name" :value="item.name" ></el-option>
+ </el-select>
+ </el-form-item>
</el-col>
- <el-col :span="12" style="text-align: right;">
- <el-form-item label="浜у搧澶х被:" prop="name" width="250">
- <el-select placeholder="璇烽�夋嫨浜у搧澶х被"
- style="width:240px;" v-model="materialForm.dg">
- <el-option value="1">1</el-option>
- <el-option value="2">2</el-option>
- <el-option value="3">3</el-option>
- <el-option value="4">4</el-option>
+ <el-col :span="12">
+ <el-form-item label="宸ヨ壓鍚嶇О:" prop="mtechnologyId">
+ <el-select placeholder="璇烽�夋嫨宸ヨ壓鍚嶇О" style="width:100%;"
+ v-model="materialForm.mtechnologyId">
+ <el-option v-for="(item,index) in mIdList" :key="index"
+ :value="item.id" :label="item.name"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
- <el-form-item label="鏉愭枡淇℃伅"></el-form-item>
+ <el-form-item label="鏉愭枡淇℃伅" style="font-weight: bold;"></el-form-item>
</el-col>
<el-col :span="12" style="text-align: right;">
- <el-button size="mini" style="text-align: right;">娣诲姞琛�</el-button>
+ <el-button size="mini" @click="addRowByMaterial">娣诲姞琛�</el-button>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
- <el-table >
- <el-table-column label="鏉愭枡鍚嶇О"></el-table-column>
- <el-table-column label="瑙勬牸鍨嬪彿"></el-table-column>
- <el-table-column label="鍗曚綅"></el-table-column>
- <el-table-column label="鏁伴噺"></el-table-column>
+ <el-table :data="materialForm.tableList" border max-height="470"
+ style="width:100%;text-align: left;margin: 0;padding: 0;"
+ :cell-style="{height:'20px',textAlign:'left'}"
+ :header-cell-style="{height:'20px'}">
+ <el-table-column label="渚涘簲鍟嗗悕绉�">
+ <template slot-scope="scope">
+ <el-input size="mini" v-model="scope.row.supplier"
+ placeholder="璇疯緭鍏�"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column label="璐ㄩ噺杩芥函鍙�">
+ <template slot-scope="scope">
+ <el-input size="mini" v-model="scope.row.qualityTraceability"
+ placeholder="璇疯緭鍏�"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍘熸潗鏂欏悕绉�">
+ <template slot-scope="scope">
+ <el-input size="mini" v-model="scope.row.name"
+ placeholder="璇疯緭鍏�"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column label="瑙勬牸鍨嬪彿">
+ <template slot-scope="scope">
+ <el-input size="mini" v-model="scope.row.specifications"
+ placeholder="璇疯緭鍏�"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍗曚綅">
+ <template slot-scope="scope">
+ <el-input size="mini" v-model="scope.row.unit"
+ placeholder="璇疯緭鍏�"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column label="鏁伴噺">
+ <template slot-scope="scope">
+ <el-input size="mini" v-model="scope.row.num"
+ placeholder="璇疯緭鍏�"></el-input>
+ </template>
+ </el-table-column>
</el-table>
</el-col>
</el-row>
</el-form>
+ <div style="width:100%;margin-top: 20px;margin-left:75%">
+ <span slot="footer" class="dialog-footer" >
+ <el-button type="primary" @click="confirmAdd('materialForm')">纭� 瀹�</el-button>
+ <el-button @click="bomAddModelVisible = false">鍙� 娑�</el-button>
+ </span>
+ </div>
</div>
<!-- 鐢熶骇宸ヨ壓 -->
<div v-if="typeselect == 3">
- <el-form :model="technologyForm" :inline="true" class="demo-form-inline" label-position="right"
- label-width="80px">
- <el-form-item label="宸ュ簭:" prop="father" width="250">
- <el-select v-model="technologyForm.father"
- style="width:200px;"
- placeholder="璇疯緭鍏ユ垨閫夋嫨鐢熶骇瀹氶">
- <el-option value="1">1</el-option>
- <el-option value="2">2</el-option>
- <el-option value="3">3</el-option>
- <el-option value="4">4</el-option>
+ <el-form :model="productForm" :inline="true" label-position="right"
+ :rules="productRules" ref="productForm" label-width="90px">
+ <el-form-item label="宸ュ簭:" prop="profather">
+ <el-select v-model="productForm.profather"
+ style="width:200px;" @change="changeProduct"
+ placeholder="璇烽�夋嫨宸ュ簭">
+ <el-option v-for="(item,index) in productFormList" :key="index"
+ :value="item.name" :label="item.name"></el-option>
</el-select>
</el-form-item>
- <el-form-item label="宸ヨ壓鍚嶇О:" prop="name" width="250">
- <el-select placeholder="璇疯緭鍏ユ垨閫夋嫨宸ヨ壓鍚嶇О"
- style="width:200px;"
- v-model="technologyForm.name">
- <el-option value="1">1</el-option>
- <el-option value="2">2</el-option>
- <el-option value="3">3</el-option>
- <el-option value="4">4</el-option>
+ <el-form-item label="宸ヨ壓鍚嶇О:" prop="protechnologyId">
+ <el-select placeholder="璇烽�夋嫨宸ヨ壓鍚嶇О"
+ style="width:200px;" @change="getProductDeviceList"
+ v-model="productForm.protechnologyId">
+ <el-option v-for="(item,index) in proIdList" :key="index"
+ :value="item.id" :label="item.name"></el-option>
</el-select>
</el-form-item>
- <el-form-item label="璁惧:" prop="dg" width="250">
+ <el-form-item label="璁惧:" prop="device">
<el-select placeholder="璇烽�夋嫨璁惧"
style="width:200px;"
- v-model="technologyForm.dg">
- <el-option value="1">1</el-option>
- <el-option value="2">2</el-option>
- <el-option value="3">3</el-option>
- <el-option value="4">4</el-option>
+ v-model="productForm.device">
+ <el-option v-for="(item,index) in productDeviceList" :key="index"
+ :value="item.device" :label="item.device"></el-option>
</el-select>
</el-form-item>
- <el-form-item label="椤圭洰:" prop="dg" width="250">
+ <el-form-item label="椤圭洰:" prop="productFather">
<el-select placeholder="璇烽�夋嫨椤圭洰"
- style="width:200px;"
- v-model="technologyForm.dg">
- <el-option value="1">1</el-option>
- <el-option value="2">2</el-option>
- <el-option value="3">3</el-option>
- <el-option value="4">4</el-option>
+ style="width:200px;" @change="changeProductFather"
+ v-model="productForm.productFather">
+ <el-option v-for="(item,index) in productProjectList" :key="index"
+ :value="item.name" :label="item.name"></el-option>
</el-select>
</el-form-item>
- <el-form-item label="鍗曚綅:" prop="unit" width="250">
- <el-input style="width:200px;" v-model="technologyForm.unit" placeholder="璇疯緭鍏ュ崟浣�"/>
+ <el-form-item label="鎸囨爣:" prop="product">
+ <el-select placeholder="璇烽�夋嫨鎸囨爣"
+ style="width:200px;" @change="changeProProduct"
+ v-model="productForm.product">
+ <el-option v-for="(item,index) in proProductList" :key="index"
+ :value="item.name" :label="item.name"></el-option>
+ </el-select>
</el-form-item>
- <el-form-item label="鎸囨爣:" prop="pq" width="250">
- <el-input style="width:200px;" v-model="technologyForm.pq" placeholder="璇疯緭鍏ユ寚鏍�" />
+ <el-form-item label="鍗曚綅:" prop="unit">
+ <el-input style="width:200px;" disabled v-model="productForm.unit"/>
</el-form-item>
</el-form>
- </div>
- <span slot="footer" class="dialog-footer">
- <el-button @click="bomAddModelVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="confirmAdd('boomForm')">纭� 瀹�</el-button>
- </span>
+ <div style="width:100%;text-align: right;">
+ <span slot="footer" class="dialog-footer" >
+ <el-button type="primary" @click="confirmAdd('productForm')">纭� 瀹�</el-button>
+ <el-button @click="bomAddModelVisible = false">鍙� 娑�</el-button>
+ </span>
+ </div>
+ </div>
</el-dialog>
<!-- 宸︿晶鐐瑰嚮+鎸夐挳 -->
<el-dialog title="BOM鏂板" :visible.sync="bomLeftAdd" width="29%">
@@ -245,16 +315,6 @@
<el-button type="primary" @click="submitForm('leftAdd')">纭� 瀹�</el-button>
</span>
</el-dialog>
- <!-- 鍙充笂渚х偣鍑讳慨鏀规寜閽� -->
- <el-dialog title="BOM淇敼" :visible.sync="bomRightUp" width="30%">
- <el-form>
- 淇敼
- </el-form>
- <span slot="footer" class="dialog-footer">
- <el-button @click="bomRightUp = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="bomRightUp = false">纭� 瀹�</el-button>
- </span>
- </el-dialog>
<!-- 鍙充笂渚х偣鍑诲垹闄ゆ寜閽� -->
<el-dialog title="BOM鍒犻櫎" :visible.sync="bomRightDl" width="30%">
<el-form>
@@ -272,40 +332,100 @@
<script>
import technology from "./standard-table/technology.vue"
import material from "./standard-table/material.vue"
-import target from "./standard-table/target.vue"
-import product from "./standard-table/product.vue"
+// import bom from "./standard-table/bom.vue"
import bomClickAdd from '@/components/view/standard-box/bomClickAdd'
export default {
- components: { technology,material,target,product,bomClickAdd },
+ components: { technology,material,bomClickAdd },
+
data() {
+ var checkPq = (rule,value,callback)=>{
+ if(value!='' && !Number.isInteger(value)){
+ return callback(new Error('璇疯緭鍏ユ暟瀛楀��'));
+ }
+ callback();
+ };
+ var checkVal = (rule,value,callback)=>{
+ let arr = [">","<","="];
+ if(value!='' && arr.indexOf(value.substring(0,1))==-1){
+ callback(new Error("寮�澶撮渶鍖呭惈 > 鎴� < 鎴� = "))
+ }
+ callback();
+ };
return {
//宸ュ簭鍒楄〃
+ technologyIdList:[],
fatherList:[],
- //璁惧缁勫垪琛�
deviceList:[],
technologyForm:{
- father:'',
- name:'',
+ tefather:'',
+ tename:'',
deviceGroup:'',
productionQuota:''
},
+ technologyRules:{
+ tefather:{required:true,message:'宸ュ簭涓嶈兘涓虹┖',trigger:'change'},
+ tename:{required:true,message:'宸ヨ壓鍚嶇О涓嶈兘涓虹┖',trigger:'blur'},
+ deviceGroup:{required:true,message:'璁惧缁勪笉鑳戒负绌�',trigger:'change'},
+ productionQuota:{validator:checkPq,trigger:'change'}
+ },
+ //鎶�鏈寚鏍�
+ targetFormList:[],
+ projectList:[],
targetForm:{
- pname:'',
+ pfather:'',
+ father: '',
+ technologyId:'',
+ name:'',
unit:'',
internal:'',
required: ''
},
- formTypeOptions:[],
- materialForm:{},
- boomRules:{
- father:{required:true,message:'宸ュ簭涓嶈兘涓虹┖',trigger:'change'},
- name:{required:true,message:'宸ヨ壓鍚嶇О涓嶈兘涓虹┖',trigger:'blur'},
- deviceGroup:{required:true,message:'璁惧缁勪笉鑳戒负绌�',trigger:'change'},
- productionQuota:[
- {required:true,message:'鐢熶骇瀹氶涓嶈兘涓虹┖',trigger:'blur'},
- {type:'number',required:true,message:'鏁版嵁绫诲瀷蹇呴』鏄函鏁板瓧',trigger:'blur'}
- ]
+ targetRules:{
+ pfather:{required:true,message:'宸ュ簭涓嶈兘涓虹┖',trigger:'change'},
+ technologyId:{required:true,message:'宸ヨ壓鍚嶇О涓嶈兘涓虹┖',trigger:'change'},
+ father:{required:true,message:'椤圭洰涓嶈兘涓虹┖',trigger:'change'},
+ name:{required:true,message:'鎸囨爣鍚嶇О涓嶈兘涓虹┖',trigger:'blur'},
+ unit:{required:true,message:'鍗曚綅涓嶈兘涓虹┖',trigger:'change'},
+ internal:{validator:checkVal,trigger:'change'},
+ required:{validator:checkVal,trigger:'change'}
},
+ //鐗╂枡娓呭崟
+ materialForm:{
+ mfather: '',
+ mtechnologyId:'',
+ tableList:[]
+ },
+ materialFormList:[],
+ mIdList:[],
+ materialRules:{
+ mfather:{required:true,message:'宸ュ簭涓嶈兘涓虹┖',trigger:'change'},
+ mtechnologyId:{required:true,message:'宸ヨ壓鍚嶇О涓嶈兘涓虹┖',trigger:'change'},
+ },
+ //鐢熶骇宸ヨ壓
+ productForm:{
+ profather:'',
+ protechnologyId:'',
+ productFather:'',
+ product:'',
+ unit:'',
+ device:''
+ },
+ //璁惧鍒楄〃
+ productDeviceList:[],
+ //宸ヨ壓鍚嶇О鍒楄〃
+ proIdList:[],
+ //椤圭洰鍒楄〃
+ productProjectList:[],
+ //鎸囨爣鍒楄〃
+ proProductList:[],
+ productRules:{
+ profather:{required:true,message:'宸ュ簭涓嶈兘涓虹┖',trigger:'change'},
+ protechnologyId:{required:true,message:'宸ヨ壓鍚嶇О涓嶈兘涓虹┖',trigger:'change'},
+ productFather:{required:true,message:'椤圭洰涓嶈兘涓虹┖',trigger:'change'},
+ product:{required:true,message:'鎸囨爣涓嶈兘涓虹┖',trigger:'change'},
+ device:{required:true,message:'璁惧涓嶈兘涓虹┖',trigger:'change'}
+ },
+ productFormList:[],
// BOM鏍戞暟鎹粨鏋�
list: [],
search: null,
@@ -330,7 +450,7 @@
name: null,
specifications: null
},
- VER: {},
+ version2: {},
verdata: {},
character: 0,
restaurants: [],
@@ -339,19 +459,10 @@
isLeftAdd: true
}
},
- // watch: {
- // search(val) {
- // this.$refs.tree.filter(val);
- // },
- // tableType(val){
- // this.selectProductTableData()
- // }
- // },
mounted() {
this.tableType=0
this.selectMaterialTree()
this.selectVersion()
- console.log(this.formTypeOptions);
},
methods: {
changeLeftAdd(){
@@ -461,33 +572,178 @@
this.$refs[formName].resetFields();
},
leftAddBom(){
-
+
},
+ //鍙充晶bom,纭鏂板
confirmAdd(formName){
this.$refs[formName].validate(valid=>{
if(valid){
- console.log(this.technologyForm);
- this.$axios.post(this.$api.url.addTechnology,
- {
- "specificationsId": this.returntree.id,
- "technologyDto": JSON.stringify({
+ let type = this.typeselect;
+ let obj = {}
+ if(type == 0){
+ obj = {
+ specificationsId: Number.parseInt(this.returntree.id),
deviceGroup: this.technologyForm.deviceGroup,
- father: this.technologyForm.father,
- name: this.technologyForm.name,
- productionQuota: this.technologyForm.productionQuota,
- })
- },{
- headers: { "Content-Type": "application/json" }
- }).then(res=>{
- this.$message.success(res.message);
- }).catch(error=>{
- this.$message.error(error.message);
- })
- this.bomAddModelVisible = false;
+ father: this.technologyForm.tefather,
+ name: this.technologyForm.tename,
+ productionQuota: Number.parseInt(this.technologyForm.productionQuota),
+ }
+ this.submitBomAdd(this.$api.url.addTechnology,obj);
+ }else if(type == 1){
+ this.submitBomAdd(this.$api.url.addProductByStandard,this.targetForm);
+ }else if(type == 2){
+ obj = {
+ mbomDto2List:this.materialForm.tableList,
+ technologyId:this.materialForm.mtechnologyId
+ }
+ this.submitBomAdd(this.$api.url.addMBomByStandard,obj);
+ }else if(type == 3){
+ let form = this.productForm;
+ obj = {
+ device: form.device,
+ product: form.product,
+ productFather: form.productFather,
+ technologyId: form.protechnologyId,
+ unit: form.unit
+ }
+ this.submitBomAdd(this.$api.url.addTechniqueByStandard,obj);
+ }else{
+ return
+ }
}
})
},
- //鑾峰彇宸ュ簭鍒楄〃
+ submitBomAdd(url,data){
+ this.$axios.post(
+ url,data,
+ {headers: { "Content-Type": "application/json" }}
+ ).then(res=>{
+ this.selectAll();
+ this.$message.success(res.message);
+ }).catch(error=>{
+ this.$message.error(error.message);
+ })
+ this.bomAddModelVisible = false;
+ },
+ clearBomAddModel(){
+ if(this.typeselect == 0){
+ this.$refs["technologyForm"].resetFields();
+ }else if(this.typeselect == 1){
+ this.$refs["targetForm"].resetFields();
+ }else if(this.typeselect == 2){
+ this.$refs["materialForm"].resetFields();
+ }else{
+ this.$refs["productForm"].resetFields();
+ }
+ },
+ changeTechnologyId(val){
+ this.$axios.get(this.$api.url.chooseFatherByStandard,{
+ params:{technologyId : val}
+ }).then(res=>{
+ this.projectList = res.data;
+ }).catch(error=>{
+ this.$message.error(error.message);
+ });
+ },
+ changeFather(val){
+ let arr = this.targetFormList.filter(item=>{
+ return item.name == val;
+ });
+ if(arr != undefined || arr.children != null){
+ this.technologyIdList = arr[0].children;
+ }
+ },
+ //鐗╂枡娓呭崟--娣诲姞琛�
+ addRowByMaterial(){
+ let obj = {
+ "name": "",
+ "num": null,
+ "qualityTraceability": "",
+ "specifications": "",
+ "supplier": "",
+ "unit": ""
+ }
+ this.materialForm.tableList.push(obj);
+ },
+ //鐗╂枡娓呭崟--鑾峰彇宸ュ簭锛屽伐鑹哄垪琛�
+ getMaterialFormList(){
+ this.$axios.get(this.$api.url.chooseTechByMBom,{
+ params:{specificationsId : this.returntree.id}
+ }).then(res=>{
+ this.materialFormList = res.data;
+ }).catch(error=>{
+ this.$message.error(error.message);
+ })
+ },
+ changeMName(val){
+ let arr = this.materialFormList.filter(item=>{
+ return item.name == val;
+ })
+ this.mIdList = arr[0].children;
+ },
+ //鎶�鏈寚鏍�--鑾峰彇宸ュ簭锛屽伐鑹哄垪琛�
+ getTargetFormList(){
+ this.$axios.get(this.$api.url.chooseTechByStandard,{
+ params:{specificationsId : this.returntree.id}
+ }).then(res=>{
+ this.targetFormList = res.data;
+ }).catch(error=>{
+ this.$message.error(error.message);
+ })
+ },
+ //1.鐢熶骇宸ヨ壓-->閫夋嫨宸ュ簭,宸ヨ壓
+ getProductFormList(){
+ this.$axios.get(this.$api.url.chooseTechByProduct,{
+ params:{specificationsId : this.returntree.id}
+ }).then(res=>{
+ this.productFormList = res.data;
+ }).catch(error=>{
+ this.$message.error(error.message);
+ })
+ },
+ //2.閫夋嫨宸ュ簭锛岃幏鍙栧伐鑹哄悕绉�
+ changeProduct(val){
+ let arr = this.productFormList.filter(item=>{
+ return item.name == val
+ });
+ this.proIdList = arr[0].children;
+ },
+ //3.鐢熶骇宸ヨ壓-->閫夋嫨璁惧
+ getProductDeviceList(val){
+ this.$axios.get(this.$api.url.chooseDevByProduct,{
+ params:{technologyId : val}
+ }).then(res=>{
+ this.productDeviceList = res.data;
+ this.getProjectFormList(val);
+ }).catch(error=>{
+ this.$message.error(error.message);
+ })
+ },
+ //4.鐢熶骇宸ヨ壓--鑾峰彇椤圭洰鍒楄〃
+ getProjectFormList(val){
+ this.$axios.get(this.$api.url.chooseProByProduct,{
+ params:{technologyId : val}
+ }).then(res=>{
+ this.productProjectList = res.data;
+ }).catch(error=>{
+ this.$message.error(error.message);
+ })
+ },
+ //5.閫夋嫨椤圭洰鍒楄〃,鑾峰彇鎸囨爣
+ changeProductFather(val){
+ let arr = this.productProjectList.filter(item=>{
+ return item.name == val;
+ })
+ this.proProductList = arr[0].children;
+ },
+ //閫夋嫨鎸囨爣鍒楄〃
+ changeProProduct(val){
+ let arr = this.proProductList.filter(item=>{
+ return item.name == val;
+ })
+ this.productForm.unit = arr[0].unit;
+ },
+ //宸ヨ壓璺嚎--鑾峰彇宸ュ簭鍒楄〃
getFatherList(){
this.$axios.get(this.$api.url.chooseFather,{
params:{specificationsId : this.returntree.id}
@@ -497,7 +753,7 @@
this.$message.error(error.message);
})
},
- //鑾峰彇璁惧缁勫垪琛�
+ //宸ヨ壓璺嚎--鑾峰彇璁惧缁勫垪琛�
getDeviceList(){
this.$axios.get(this.$api.url.chooseDevice).then(res=>{
this.deviceList = res.data;
@@ -508,6 +764,9 @@
showBomAddModel(){
this.getFatherList();
this.getDeviceList();
+ this.getTargetFormList();
+ this.getMaterialFormList();
+ this.getProductFormList();
this.bomAddModelVisible = true
},
startLeftAdd(){
@@ -577,6 +836,7 @@
TYPE(val) {//绫诲瀷.鏁版嵁
// console.log(val);
this.typeselect = val
+
// console.log(this.typeselect);
this.selectVersion()
},
@@ -603,7 +863,7 @@
return this.verdata[0]
})
this.character=v
- this.VER="v"+v
+ this.version2="v"+v
this.selectAll()
},
//鍙充晶鏁版嵁
@@ -786,6 +1046,11 @@
this.restaurants=this.loadFatherType()
}
}
+ },
+ bomAddModelVisible(newVal){
+ if(!newVal){
+ this.clearBomAddModel();
+ }
}
}
}
@@ -793,7 +1058,15 @@
<style scoped>
-.standard {}
+
+.standard .bom-add-model{
+ width: 100%;
+}
+
+.standard .bom-add-model form{
+ width: 90%;
+ margin-left: 5%;
+}
.standard .title .el-button {
height: 32px;
diff --git a/src/components/view/technology.vue b/src/components/view/technology.vue
index 6fa3369..1693634 100644
--- a/src/components/view/technology.vue
+++ b/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
>
diff --git a/src/main.js b/src/main.js
index 9417325..a3be056 100644
--- a/src/main.js
+++ b/src/main.js
@@ -12,7 +12,6 @@
import swal from 'sweetalert'
Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80/"; //鍓嶇鏈湴绔彛
-
Vue.prototype.HaveJson = (val) => {
return JSON.parse(JSON.stringify(val))
}
@@ -27,7 +26,7 @@
const javaApi = 'http://192.168.0.23:8001'
// localhost 127.0.0.1
-// const javaApi = 'http://127.0.0.1:8001/'
+// const javaApi = 'http://127.0.0.1'
diff --git a/src/view/index.vue b/src/view/index.vue
index 09cfbd5..95ba3db 100644
--- a/src/view/index.vue
+++ b/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">涓ぉ娴锋磱鏂颁竴浠om绯荤粺</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">涓ぉ娴锋磱鏂颁竴浠om绯荤粺</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;
- }
- });
- // 濡傛灉娌℃湁閬嶅巻鍒皌abs閲屾病鏈夎ob瀵瑰簲鐨則able锛屽線tabs閲岄潰鍔犲叆璇b
- 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;
+ }
+ });
+ // 濡傛灉娌℃湁閬嶅巻鍒皌abs閲屾病鏈夎ob瀵瑰簲鐨則able锛屽線tabs閲岄潰鍔犲叆璇b
+ 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>
\ No newline at end of file
--
Gitblit v1.9.3