src/assets/api/controller.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/standard-table/bom.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/standard-table/material.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/standard-table/product.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/standard-table/target.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/standard-table/technology.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/standard.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/assets/api/controller.js
@@ -6,6 +6,11 @@ selectProductByMaterial: "product/selectTreeByMaterial", //æ ¹æ®ç©ææ¥è¯¢é¡¹ç®è¡¨æ ¼ selectTechnologyByMaterial: "technology/select", selectAll:"/material/selectAll",//å³ä¾§æ°æ® technologyWrite:"/technology/write",//å·¥èºè·¯çº¿ï¼ç§»å¼ä¿åç产å®é¢ productWrite:"/product/write",//ææ¯ææ ï¼ç§»å¼ä¿åå æ§å¼åæ åå¼ chooseFather: "/technology/chooseFather",//è·åå·¥åºå表 chooseDevice: "/technology/chooseDevice",//è·å设å¤ç»å表 addTechnology: "/technology/add",//æ·»å å·¥èºè·¯çº¿ // ææ¯ç®¡ç-ææ¯æä»¶ selectAllOrder: "/orders/selectAllOrder", //æ¥è¯¢ææè®¢åå表 selectOrderById: "/orders/selectOrderById", //æ ¹æ®è®¢åidæ¥è¯¢è®¢å详æ src/components/view/standard-table/bom.vue
ÎļþÒÑɾ³ý src/components/view/standard-table/material.vue
@@ -1,12 +1,13 @@ <template> <div class="standard"> <div> <el-table :data="tableData" max-height="675" style="width: 100%;margin-bottom: 20px;" row-key="rowId" border <el-table :data="tableData" max-height="675" row-key="rowId" border @select-all="selectAll" @select="selectTr" ref="multipleTable" @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" label="åºå·"> <el-table-column type="index" width="60" label="åºå·"> </el-table-column> <el-table-column prop="father" label="å·¥åº" sortable width="200px"> <template slot-scope="scope"> @@ -19,7 +20,7 @@ <el-table-column prop="tname" sortable label="å·¥èºåç§°"> <template slot-scope="scope"> <el-tag type="success" v-if="scope.row.tname != null">02</el-tag> <span style="color: black"> <span style="color: #000000"> {{ scope.row.tname }} </span> </template> @@ -54,16 +55,54 @@ } }, props:['tableData','tableType'], created() { console.log(this.tableData,this.tableType) }, mounted() { }, created() {}, mounted() {}, methods: { // è¡¨æ ¼æ å ¨é¨éä¸é ç½® // å ¨é/åæ¶éæä½ selectAll(val) { this.isAllSelect = !this.isAllSelect; let data = this.tableData; this.toggleSelect(data, this.isAllSelect, "all"); }, //éæ©æè¡ selectTr(selection, row) { this.$set(row, "isChecked", !row.isChecked); this.$nextTick(() => { this.isAllSelect = row.isChecked; this.toggleSelect(row, row.isChecked, "tr"); }); }, //éå½å级 toggleSelect(data, flag, type) { if (type === "all") { if (data.length > 0) { data.forEach((item) => { this.toggleSelection(item, flag); if (item.children && item.children.length > 0) { this.toggleSelect(item.children, flag, type); } }); } } else { if (data.children && data.children.length > 0) { data.children.forEach((item) => { item.isChecked = !item.isChecked; this.$refs.multipleTable.toggleRowSelection(item, flag); this.toggleSelect(item, flag, type); }); } } }, handleSelectionChange(val) { this.selects = val; } this.deleteList = []; val.forEach((v) => { if (v.id !== undefined) { this.deleteList.push(v.id); } }); }, // è¡¨æ ¼æ å ¨é¨éä¸é ç½® ç»æ } } </script> src/components/view/standard-table/product.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,130 @@ <style scoped> .standard { width: 100%; height: 100%; } .standard * { font-size: 14px; } .standard .has-gutter .el-table__cell { background-color: #F0F1F5 !important; color: #333; } .standard .has-gutter .el-table__cell .cell { font-size: 16px; font-weight: 500; } .standard .cell { color: #333; padding-left: 17px !important; } .standard { width: 100%; height: 100%; overflow: auto; } /* .standard .el-table__body-wrapper { height: 100%; } */ /* .standard .el-table__body { height: 100%; } */ .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"> <el-table ref="multipleTable" :data="tableData" row-key="rowId" border max-height="675" @select-all="selectAll" @select="selectTr" @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="60" label="åºå·"></el-table-column> <el-table-column prop="father" label="å·¥åº"> <template slot-scope="scope"> <el-tag type="primary" v-if="scope.row.father != null">01</el-tag> <span>{{scope.row.father}}</span> </template> </el-table-column> <el-table-column prop="name" label="å·¥èºåç§°"> <template slot-scope="scope"> <el-tag type="success" v-if="scope.row.name != null">02</el-tag> <span>{{scope.row.name}}</span> </template> </el-table-column> <el-table-column prop="device" label="设å¤åç§°"> <template slot-scope="scope"> <el-tag type="info" color="#faf2ff" v-if="scope.row.device != null"> <span style="color: #e1affb">03</span> </el-tag> <span>{{scope.row.device}}</span> </template> </el-table-column> <el-table-column prop="productFather" label="项ç®"></el-table-column> <el-table-column prop="unit" label="åä½"></el-table-column> <el-table-column prop="product" label="ææ "></el-table-column> </el-table> </div> </template> <script> export default ({ data() { }, props:['tableData','tableType'], methods:{ // è¡¨æ ¼æ å ¨é¨éä¸é ç½® // å ¨é/åæ¶éæä½ selectAll(val) { this.isAllSelect = !this.isAllSelect; let data = this.tableData; this.toggleSelect(data, this.isAllSelect, "all"); }, //éæ©æè¡ selectTr(selection, row) { this.$set(row, "isChecked", !row.isChecked); this.$nextTick(() => { this.isAllSelect = row.isChecked; this.toggleSelect(row, row.isChecked, "tr"); }); }, //éå½å级 toggleSelect(data, flag, type) { if (type === "all") { if (data.length > 0) { data.forEach((item) => { this.toggleSelection(item, flag); if (item.children && item.children.length > 0) { this.toggleSelect(item.children, flag, type); } }); } } else { if (data.children && data.children.length > 0) { data.children.forEach((item) => { item.isChecked = !item.isChecked; this.$refs.multipleTable.toggleRowSelection(item, flag); this.toggleSelect(item, flag, type); }); } } }, handleSelectionChange(val) { this.deleteList = []; val.forEach((v) => { if (v.id !== undefined) { this.deleteList.push(v.id); } }); }, // è¡¨æ ¼æ å ¨é¨éä¸é ç½® ç»æ } }) </script> src/components/view/standard-table/target.vue
@@ -1,14 +1,15 @@ <template> <div class="standard"> <div> <el-table ref="table" :data="tableData" row-key="rowId" border max-height="675" <el-table ref="multipleTable" :data="tableData" row-key="rowId" border max-height="675" @select-all="selectAll" @select="selectTr" @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="60" label="åºå·"></el-table-column> <el-table-column prop="tfather" label="å·¥åº"> <template slot-scope="scope"> <el-tag type="primay" v-if="scope.row.tfather != null">01</el-tag> <el-tag type="primary" v-if="scope.row.tfather != null">01</el-tag> <span>{{scope.row.tfather}}</span> </template> </el-table-column> @@ -27,8 +28,20 @@ </template> </el-table-column> <el-table-column prop="unit" label="åä½"></el-table-column> <el-table-column prop="internal" label="å æ§å¼"></el-table-column> <el-table-column prop="required" label="æ åå¼"></el-table-column> <el-table-column prop="internal" label="å æ§å¼"> <template slot-scope="scope"> <el-input v-model="scope.row.internal" v-if="scope.row.internal != 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" @blur="updateVal(scope.row)"></el-input> </template> </el-table-column> </el-table> </div> </div> @@ -45,21 +58,74 @@ created() {}, mounted() {}, methods: { // è¡¨æ ¼æ å ¨é¨éä¸é ç½® // å ¨é/åæ¶éæä½ selectAll(val) { this.isAllSelect = !this.isAllSelect; let data = this.tableData; this.toggleSelect(data, this.isAllSelect, "all"); }, //éæ©æè¡ selectTr(selection, row) { this.$set(row, "isChecked", !row.isChecked); this.$nextTick(() => { this.isAllSelect = row.isChecked; this.toggleSelect(row, row.isChecked, "tr"); }); }, //éå½å级 toggleSelect(data, flag, type) { if (type === "all") { if (data.length > 0) { data.forEach((item) => { this.toggleSelection(item, flag); if (item.children && item.children.length > 0) { this.toggleSelect(item.children, flag, type); } }); } } else { if (data.children && data.children.length > 0) { data.children.forEach((item) => { item.isChecked = !item.isChecked; this.$refs.multipleTable.toggleRowSelection(item, flag); this.toggleSelect(item, flag, type); }); } } }, handleSelectionChange(val) { this.deleteList = []; val.forEach((v) => { if (v.id !== undefined) { this.deleteList.push(v.id); } }); }, // è¡¨æ ¼æ å ¨é¨éä¸é ç½® ç»æ updateVal(row){ this.$axios.post(this.$api.url.productWrite,{ id : row.pid, internal : row.internal, required : row.required }).then(res=>{ this.$message.success(res.message); }).catch(error=>{ this.$message.error(error.message); }) }, handleSelectionChange(val) { this.selects = val; }, aaaa(){ console.log("aaaaa----",this.targetData); } } } </script> <style scoped> .expand-button { cursor: pointer; color: #1890ff; } cursor: pointer; color: #1890ff; } .standard { width: 100%; height: 100%; src/components/view/standard-table/technology.vue
@@ -2,6 +2,7 @@ <div class="standard"> <div> <el-table :data="tableData" max-height="675" row-key="rowId" border @select-all="selectAll" @select="selectTr" ref="multipleTable" :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'left'}" @selection-change="handleSelectionChange" default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> @@ -24,14 +25,33 @@ </template> </el-table-column> <el-table-column prop="dg" label="设å¤ç»"> <template slot-scope="scope"> <div class="showDiv"> <span>{{scope.row.dg}}</span> <div @click="showDialog">éæ©</div> </div> </template> </el-table-column> <el-table-column prop="pq" label="ç产å®é¢"> </el-table-column> <el-table-column label="æä½"> <el-button style="color: rgb(137, 137, 229);">ç¼è¾</el-button> <el-table-column prop="pq" label="ç产å®é¢(个/天)"> <template slot-scope="scope"> <el-input v-model="scope.row.pq" v-if="scope.row.pq != null" @blur="updatePq(scope.row)" ></el-input> </template> </el-table-column> </el-table> </div> <el-dialog title="éæ©è®¾å¤ç»" :visible.sync="deviceGroupDialog" width="30%"> <span>è¿æ¯ä¸æ®µä¿¡æ¯</span> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="deviceGroupDialog = false">ç¡® å®</el-button> <el-button @click="deviceGroupDialog = false">å æ¶</el-button> </span> </el-dialog> </div> </template> @@ -39,7 +59,9 @@ export default { data() { return { selects: [] deviceGroupDialog:false, selects: [], isAllSelect:false, } }, props:['tableData','tableType'], @@ -50,9 +72,64 @@ }, methods: { // è¡¨æ ¼æ å ¨é¨éä¸é ç½® // å ¨é/åæ¶éæä½ selectAll(val) { this.isAllSelect = !this.isAllSelect; let data = this.tableData; this.toggleSelect(data, this.isAllSelect, "all"); }, //éæ©æè¡ selectTr(selection, row) { this.$set(row, "isChecked", !row.isChecked); this.$nextTick(() => { this.isAllSelect = row.isChecked; this.toggleSelect(row, row.isChecked, "tr"); }); }, //éå½å级 toggleSelect(data, flag, type) { if (type === "all") { if (data.length > 0) { data.forEach((item) => { this.toggleSelection(item, flag); if (item.children && item.children.length > 0) { this.toggleSelect(item.children, flag, type); } }); } } else { if (data.children && data.children.length > 0) { data.children.forEach((item) => { item.isChecked = !item.isChecked; this.$refs.multipleTable.toggleRowSelection(item, flag); this.toggleSelect(item, flag, type); }); } } }, handleSelectionChange(val) { this.selects = val; } this.deleteList = []; val.forEach((v) => { if (v.id !== undefined) { this.deleteList.push(v.id); } }); }, // è¡¨æ ¼æ å ¨é¨éä¸é ç½® ç»æ showDialog(){ this.deviceGroupDialog = true }, updatePq(row){ this.$axios.post(this.$api.url.technologyWrite,{ id : row.id, productionQuota : row.pq }).then(res=>{ this.$message.success(res.message); }).catch(error=>{ this.$message.error(error.message); }) }, } } </script> @@ -62,6 +139,24 @@ width: 100%; height: 100%; } .standard .showDiv{ cursor: pointer; } .standard .showDiv div{ color:#407ab9; display: none; } .showDiv span{ cursor: pointer; display: block; width: 100%; } .showDiv:hover span{ display: none; } .showDiv:hover div{ display: block; } </style> <style> .standard * { src/components/view/standard.vue
@@ -5,7 +5,7 @@ <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="bomAddModelVisible = true">æ°å¢</el-button> @click="showBomAddModel">æ°å¢</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> @@ -49,39 +49,176 @@ <el-input v-model="searchName" size="small" placeholder="请è¾å ¥" style="width: 224px;margin-right: 24px;" clearable></el-input> <span>{{ tableType == 1 ? 'çæ¬ï¼' : 'çæ¬ï¼' }}</span> <el-select v-model="VER" @change="verevent" style="width: 280px;" placeholder="è¯·éæ©"> <el-select size="small" v-model="VER" @change="verevent" style="width: 280px;" placeholder="è¯·éæ©"> <el-option v-for="item in version" :key="item" :label="item" :value="item"> </el-option> </el-select> <el-button size="mini" @click="() => { searchName = ''; selectProductTableData() }"><span>é ç½®</span></el-button> <el-button style="margin-left:10px;" 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 class="contentTable" v-if="this.typeselect == 0"> <div 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"> <bom :tableType="tableType" :tableData="tableData"></bom> <material :tableType="tableType" :tableData="tableData"></material> </div> <div v-if="this.typeselect == 3">ç产工èº</div> <div v-if="this.typeselect == 3"> <product :tableType="tableType" :tableData="tableData"></product> </div> </div> </div> <div class="bom-add-model"> <el-dialog title="BOMæ°å¢" :visible.sync="bomAddModelVisible" width="30%"> <div> <!-- ç©ææ¸ åæ°å¢ --> <bomClickAdd v-if="typeselect===2"/> <el-dialog title="BOMæ°å¢" :visible.sync="bomAddModelVisible" width="35%"> <!-- å·¥èºè·¯çº¿ --> <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="请è¾å ¥æéæ©å·¥åº"> <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> <el-form-item label="设å¤ç»:" prop="deviceGroup" width="250"> <el-select placeholder="è¯·éæ©è®¾å¤ç»" style="width:200px;" 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> </el-form> </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-item> <el-form-item label="åä½:" prop="name" width="250"> <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> <el-form-item label="æ åå¼:" prop="unit" width="250"> <el-input style="width:200px;" v-model="targetForm.required" placeholder="请è¾å ¥åä½"/> </el-form-item> </el-form> </div> <!-- ç©ææ¸ å --> <div v-if="typeselect == 2"> <el-form :model="materialForm" class="demo-form-inline" label-position="right" label-width="80px"> <el-row> <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-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-select> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="ææä¿¡æ¯"></el-form-item> </el-col> <el-col :span="12" style="text-align: right;"> <el-button size="mini" style="text-align: right;">æ·»å è¡</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> </el-col> </el-row> </el-form> </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-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-select> </el-form-item> <el-form-item label="设å¤:" prop="dg" width="250"> <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> </el-select> </el-form-item> <el-form-item label="项ç®:" prop="dg" width="250"> <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> </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> <el-form-item label="ææ :" prop="pq" width="250"> <el-input style="width:200px;" v-model="technologyForm.pq" placeholder="请è¾å ¥ææ " /> </el-form-item> </el-form> </div> <span slot="footer" class="dialog-footer"> <el-button @click="bomAddModelVisible = false">å æ¶</el-button> <el-button type="primary" @click="bomAddModelVisible = false">ç¡® å®</el-button> <el-button type="primary" @click="confirmAdd('boomForm')">ç¡® å®</el-button> </span> </el-dialog> <!-- 左侧ç¹å»+æé® --> @@ -123,13 +260,40 @@ <script> import technology from "./standard-table/technology.vue" import material from "./standard-table/material.vue" import bom from "./standard-table/bom.vue" import target from "./standard-table/target.vue" import product from "./standard-table/product.vue" import bomClickAdd from '@/components/view/standard-box/bomClickAdd' export default { components: { technology,material,bom,bomClickAdd }, components: { technology,material,target,product,bomClickAdd }, data() { return { //å·¥åºå表 fatherList:[], //设å¤ç»å表 deviceList:[], technologyForm:{ father:'', name:'', deviceGroup:'', productionQuota:'' }, targetForm:{ pname:'', 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'} ] }, // BOMæ æ°æ®ç»æ list: [], search: null, @@ -171,8 +335,56 @@ this.tableType=0 this.selectMaterialTree() this.selectVersion() console.log(this.formTypeOptions); }, methods: { 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({ 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; } }) }, //è·åå·¥åºå表 getFatherList(){ this.$axios.get(this.$api.url.chooseFather,{ params:{specificationsId : this.returntree.id} }).then(res=>{ this.fatherList = res.data; }).catch(error=>{ this.$message.error(error.message); }) }, //è·å设å¤ç»å表 getDeviceList(){ this.$axios.get(this.$api.url.chooseDevice).then(res=>{ this.deviceList = res.data; }).catch(error=>{ this.$message.error(error.message); }) }, showBomAddModel(){ this.getFatherList(); this.getDeviceList(); this.bomAddModelVisible = true }, startLeftAdd(){ }, @@ -207,12 +419,10 @@ TYPE(val) {//ç±»å.æ°æ® // console.log(val); this.typeselect = val // console.log(this.typeselect); this.selectVersion() }, handleNodeClick(val) {//æ çå¼ // console.log(val); this.returntree = val }, async selectVersion() {//çæ¬ @@ -296,7 +506,6 @@ }) }, getDefault(arr, index) { console.log(arr); for (const item of arr) { if (item.children && item.children.length > 0) { // æåèç¹ @@ -380,9 +589,6 @@ <style scoped> .standard {} .standard .contentTable{ } .standard .title .el-button { height: 32px;