| | |
| | | v-model="filterText" |
| | | placeholder="输入关键字进行过滤" |
| | | /> |
| | | <el-button type="text">全部</el-button> |
| | | <el-tree |
| | | ref="tree" |
| | | class="filter-tree" |
| | | :data="data" |
| | | :data="standardTree" |
| | | :props="defaultProps" |
| | | default-expand-all |
| | | :filter-node-method="filterNode" |
| | | > |
| | | </el-tree> |
| | | @node-click="nodeClick" |
| | | /> |
| | | </div> |
| | | <div class="library-table"> |
| | | <div class="table-header"> |
| | | <div class="search-bar"> |
| | | <el-form ref="form" inline="true" :model="searchData"> |
| | | <el-form ref="form" :inline="true" :model="searchData"> |
| | | <el-form-item> |
| | | <el-input |
| | | placeholder="请输入人员名称/原材料名称" |
| | | v-model="searchData.keyword" |
| | | placeholder="请输入人员名称/原材料名称" |
| | | > |
| | | <i slot="prefix" class="el-input__icon el-icon-search" /> |
| | | </el-input> |
| | |
| | | </el-table> |
| | | <div> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage" |
| | | :page-sizes="[100, 200, 300, 400]" |
| | | :page-size="100" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="400"> |
| | | </el-pagination> |
| | | :total="400" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getStandardsList, getSerialNumberList, getSpecificationsList } from '@/api/standardLibrary' |
| | | export default { |
| | | data() { |
| | | return { |
| | | filterText: '', |
| | | // 标准库bom树 |
| | | data: [{ |
| | | standardTree: [{ |
| | | id: 1, |
| | | label: '一级 1', |
| | | children: [{ |
| | |
| | | vel: 'V1.0', |
| | | spe_state: 1 |
| | | } |
| | | ] |
| | | ], |
| | | currentPage: 1 |
| | | |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | this.$refs.tree.filter(val) |
| | | } |
| | | }, |
| | | created() { |
| | | this.getStandardTree() |
| | | }, |
| | | methods: { |
| | | filterNode(value, data) { |
| | | if (!value) return true |
| | | return data.label.indexOf(value) !== -1 |
| | | }, |
| | | async getStandardTree() { |
| | | const { data: standard } = await getStandardsList()// 获取所有标准 |
| | | // console.log(standard)// 获取所有标准 |
| | | for (const standardItem of standard) { |
| | | const { data: serialNumber } = await getSerialNumberList({ IdOrNameOfSerialNumber: standardItem.name, standardsId: standardItem.id }) |
| | | // console.log(children) //所有型号 |
| | | // for (const serialNumberItem of serialNumber) { |
| | | // // const {data} = await getSpecificationsList({}) |
| | | // } |
| | | standardItem.children = serialNumber.map(item => ({ id: item.id, label: item.name })) |
| | | } |
| | | this.standardTree = standard.map(item => ({ ...item, label: item.name })) |
| | | console.log(this.standardTree)// 获取所有标准 |
| | | }, |
| | | async nodeClick(data, node, element) { |
| | | // 数据 节点node对象 节点组件对象 |
| | | // console.log(data, node, element) |
| | | // console.log(data.children && data.children?.length !== 0) |
| | | if (!data.children && data.children?.length !== 0) { |
| | | console.log('点击子节点', data) |
| | | const res = await getSpecificationsList({ serialNumberId: data.id, specificationsName: data.label, pageNo: 1, pageSize: 10 }) |
| | | console.log(res) |
| | | } |
| | | console.log('点击父节点') |
| | | } |
| | | } |
| | | } |
| | |
| | | flex: 2; |
| | | margin-right: 12px; |
| | | .el-tree { |
| | | margin-top: 12px; |
| | | ::v-deep .el-tree-node__content{ |
| | | height: 24px !important; |
| | | font-size: 14px; |
| | | display: inline-block !important; |
| | | padding: 2px; |
| | | color: #333; |
| | | } |
| | | ::v-deep .el-tree-node__content:hover{ |
| | | background: rgba(58,124,253,0.1) ; |
| | | // opacity: 0.31; |
| | | border-radius: 3px; |
| | | color: #333 !important; |
| | | } |
| | | ::v-deep .el-tree-node:focus>.el-tree-node__content{ |
| | | background: rgba(58,124,253,0.1) ; |
| | | // opacity: 0.31; |
| | | border-radius: 3px; |
| | | color: #333 !important; |
| | | } |
| | | // margin-top: 12px; |
| | | } |
| | | // .el-tree { |
| | | // margin-top: 12px; |
| | | // ::v-deep .el-tree-node__content{ |
| | | // height: 24px !important; |
| | | // font-size: 14px; |
| | | // display: inline-block !important; |
| | | // padding: 2px; |
| | | // color: #333; |
| | | // } |
| | | // ::v-deep .el-tree-node__content:hover{ |
| | | // background: rgba(58,124,253,0.1) ; |
| | | // // opacity: 0.31; |
| | | // border-radius: 3px; |
| | | // color: #333 !important; |
| | | // } |
| | | // ::v-deep .el-tree-node:focus>.el-tree-node__content{ |
| | | // background: rgba(58,124,253,0.1) ; |
| | | // // opacity: 0.31; |
| | | // border-radius: 3px; |
| | | // color: #333 !important; |
| | | // } |
| | | // } |
| | | } |
| | | .library-table{ |
| | | flex: 8; |