<template>
|
<div>
|
<el-row :gutter="5">
|
<el-col :span="5">
|
<div class="fa-card-a" style="margin-right: 5px;height: calc(100vh - 123px)">
|
<product-model-tree @on-selected="onProductSelected" showXdy="true" ref="ProductModelTree"/>
|
</div>
|
</el-col>
|
<el-col :span="19">
|
<div class="mod-basicInfo-xhProductModel fa-card-a" style="margin-left: 5px;">
|
<zt-table-wraper ref="tableObj" defaultNotQuery="true" query-url="/basicInfo/XhProductModel/page"
|
delete-url="/basicInfo/XhProductModel/ "
|
:paging='false'
|
v-slot="{ table }">
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
|
<el-form-item>
|
<el-input v-model="dataForm.name" placeholder="请输入名称" clearable></el-input>
|
</el-form-item>
|
<el-form-item>
|
<zt-button v-if="productType && productType!=='10'" type="query" @click="table.query()"/>
|
<zt-button v-if="productType && productType!=='10'" type="add" @click="add()"/>
|
<zt-button v-if="productType==='3'" type="primary" @click="addCell()">新增虚单元</zt-button>
|
<zt-button v-if="productType && productType!=='10'" type="delete" @click="table.deleteHandle()"/>
|
</el-form-item>
|
</el-form>
|
<el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:30}"
|
row-key="id"
|
@selection-change="table.selectionChangeHandle"
|
>
|
<el-table-column prop="name" label="名称"/>
|
<zt-table-column-dict prop="productType" label="节点类型" dict="product"/>
|
<el-table-column prop="operatImg" label="运行图片" align="center">
|
<template v-slot="{ row }">
|
<el-image v-if="row.operatImg" :src="url+row.operatImg" style="height: 50px;width: 50px"></el-image>
|
</template>
|
</el-table-column>
|
<el-table-column prop="sort" label="排序" width="100px"/>
|
<zt-table-column-handle :table="table" width="180px">
|
<template v-slot="{ row }">
|
<zt-table-button v-if="productType==='5'" size="small" type="primary"
|
@click="importData(row)">导入
|
</zt-table-button>
|
</template>
|
</zt-table-column-handle>
|
</el-table>
|
<!-- 弹窗, 新增 / 修改 -->
|
<add-or-update @refreshDataList="refreshData" ref="AddOrUpdate"/>
|
<select-ty-model @refreshDataList="refreshData" ref="SelectTyModel"/>
|
<product-import @refreshDataList="refreshData" ref="ProductImport" />
|
</zt-table-wraper>
|
</div>
|
</el-col>
|
</el-row>
|
</div>
|
</template>
|
|
<script>
|
import AddOrUpdate from './XhProductModel-AddOrUpdate'
|
import SelectTyModel from './SelectTyModel'
|
import ProductModelTree from "./ProductModelTree";
|
import Cookies from "js-cookie";
|
import TyProductModel from "./TyProductModel-AddOrUpdate";
|
import ProductImport from "./ProductImport";
|
|
export default {
|
data() {
|
return {
|
url: `${window.SITE_CONFIG['apiURL']}/sysPictureBase/getSvgImage?token=${Cookies.get('token')}&id=`,
|
productType: '',
|
dataForm: {
|
name: '',
|
type: '',
|
pid: '',
|
srcId: '',
|
}
|
}
|
},
|
components: {
|
ProductImport,
|
TyProductModel,
|
ProductModelTree,
|
AddOrUpdate,
|
SelectTyModel
|
},
|
methods: {
|
add() {
|
this.dataForm.type = this.productType
|
if (this.dataForm.type !== '5') {
|
if (this.dataForm.type !== '3') {
|
this.dataForm.type = this.dataForm.type - 1
|
} else if (this.dataForm.type === '3') {
|
this.dataForm.type = this.dataForm.type - 2
|
} else if (this.dataForm.type === '0') {
|
this.$alert("当前节点不可新增子节点,请重新设置")
|
return
|
}
|
this.$refs.SelectTyModel.$refs.dialog.init(null, {type: this.dataForm.type, id: this.dataForm.pid})
|
} else {
|
this.$refs.AddOrUpdate.$refs.dialog.init(null, {id: null, type: 'zt', pid: this.dataForm.pid})
|
}
|
},
|
addCell() {
|
this.$refs.AddOrUpdate.$refs.dialog.init(null, {type: 10, pid: this.dataForm.pid})
|
},
|
cellStyle({column}) {
|
if (column.label === '名称') {
|
return 'text-align: left !important;'
|
}
|
},
|
refreshData() {
|
this.$refs.tableObj.query()
|
this.$refs.ProductModelTree.getProductList()
|
},
|
onProductSelected(data) {
|
console.log(data)
|
this.dataForm.pid = data.id
|
this.dataForm.type = data.productType
|
this.productType = data.productType
|
if (data.productType !== '10') {
|
this.$refs.tableObj.query()
|
}
|
},
|
importData(row) {
|
this.$refs.ProductImport.$refs.dialog.init(row.id)
|
}
|
}
|
}
|
</script>
|