|
@@ -0,0 +1,269 @@
|
|
|
+<template>
|
|
|
+ <el-dialog :title="title" :visible.sync="dialogVisible" :before-close="handleClose" width="900px" id="addEqDialog">
|
|
|
+ <div class="table-box">
|
|
|
+ <el-table :data="tableData" style="width: 100%" height="350" v-loading="loading" :header-cell-style="headerStyle" ref="multipleTable"
|
|
|
+ @selection-change="handleSelectionChange">
|
|
|
+ <el-table-column type="selection" width="55"></el-table-column>
|
|
|
+ <el-table-column type="expand">
|
|
|
+ <template slot-scope="props">
|
|
|
+ <p v-if="props.row.partsList && props.row.partsList.length" style="color:#99a9bf;line-height:32px;font-size:14px;">包含的部件:</p>
|
|
|
+ <el-form label-position="left" inline class="demo-table-expand" v-if="props.row.partsList && props.row.partsList.length">
|
|
|
+ <el-form-item v-for="item in props.row.partsList" :key="item.name" :label="`${item.name}:`">
|
|
|
+ <span>{{ item.number }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="所属模型文件夹" width="110" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">{{ scope.row.build }}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="模型文件名" width="100" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">{{ scope.row.floor }}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="EquipLocalName" label="设备本地名称" show-overflow-tooltip width="100"></el-table-column>
|
|
|
+ <el-table-column prop="EquipLocalId" label="设备本地编码" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="EquipName" label="设备类" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="installation" label="BIM ID" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="type" label="现场验证操作规定" width="150">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button @click.native.prevent="handleOpenDetail(scope.row, tableData)" type="text" size="small">详情</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <template slot="empty">
|
|
|
+ <div style="height: 60%;transform: translateY(50%);">
|
|
|
+ <i class="icon-wushuju iconfont"></i>
|
|
|
+ 数据暂无
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table>
|
|
|
+ <!-- 分页 -->
|
|
|
+ <el-pagination class="fr" v-show="tableData && tableData.length" @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
|
|
+ :current-page="page.pageNumber" :page-sizes="page.pageSizes" :page-size="page.pageSize" layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total="page.total"></el-pagination>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button size="small" @click="$emit('update:dialogVisible',false)">返回重选</el-button>
|
|
|
+ <el-button size="small" type="primary" @click="savaRelation">确认创建</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { } from "@/api/scan/request";
|
|
|
+import { mapGetters } from "vuex";
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
+
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapGetters("layout", ["projectId"])
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ title: "确认创建任务",
|
|
|
+ tableData: [{
|
|
|
+ build: 'A栋',
|
|
|
+ floor: '12F',
|
|
|
+ EquipLocalName: 'XXXXXXXXXXX',
|
|
|
+ EquipLocalId: '5484161891',
|
|
|
+ EquipName: '低压开关柜',
|
|
|
+ installation: '王小虎夫妻店',
|
|
|
+ type: '1'
|
|
|
+ }, {
|
|
|
+ build: 'A栋',
|
|
|
+ floor: '12F',
|
|
|
+ EquipLocalName: 'XXXXXXXXXXX',
|
|
|
+ EquipLocalId: '5484161891',
|
|
|
+ EquipName: '低压开关柜',
|
|
|
+ installation: '王小虎夫妻店',
|
|
|
+ type: '1',
|
|
|
+ partsList: [{
|
|
|
+ name: '部件1',
|
|
|
+ number: 6
|
|
|
+ }, {
|
|
|
+ name: '部件2',
|
|
|
+ number: 23
|
|
|
+ }, {
|
|
|
+ name: '部件3',
|
|
|
+ number: 5
|
|
|
+ }, {
|
|
|
+ name: '部件4',
|
|
|
+ number: 9
|
|
|
+ }, {
|
|
|
+ name: '部件5',
|
|
|
+ number: 1
|
|
|
+ }]
|
|
|
+ }, {
|
|
|
+ build: 'A栋',
|
|
|
+ floor: '12F',
|
|
|
+ EquipLocalName: 'XXXXXXXXXXX',
|
|
|
+ EquipLocalId: '5484161891',
|
|
|
+ EquipName: '低压开关柜',
|
|
|
+ installation: '王小虎夫妻店',
|
|
|
+ type: '1'
|
|
|
+ }, {
|
|
|
+ build: 'A栋',
|
|
|
+ floor: '12F',
|
|
|
+ EquipLocalName: 'XXXXXXXXXXX',
|
|
|
+ EquipLocalId: '5484161891',
|
|
|
+ EquipName: '低压开关柜',
|
|
|
+ installation: '王小虎夫妻店',
|
|
|
+ type: '1'
|
|
|
+ }],
|
|
|
+ loading: false,
|
|
|
+ selections: [], // 选中项
|
|
|
+ page: {
|
|
|
+ pageSize: 50,
|
|
|
+ pageSizes: [10, 20, 50, 100],
|
|
|
+ pageNumber: 1,
|
|
|
+ total: 0
|
|
|
+ },
|
|
|
+ headerStyle: {
|
|
|
+ backgroundColor: '#e1e4e5',
|
|
|
+ color: '#2b2b2b',
|
|
|
+ lineHeight: '30px'
|
|
|
+ } // 列表样式
|
|
|
+ };
|
|
|
+ },
|
|
|
+ props: {
|
|
|
+ dialogVisible: Boolean,//是否显示弹窗
|
|
|
+ params: Object //模型和设备的信息
|
|
|
+ },
|
|
|
+ created() { },
|
|
|
+ methods: {
|
|
|
+ getTableData() {
|
|
|
+ let params = {
|
|
|
+ Cascade: [{ Name: 'equipCategory' }],
|
|
|
+ Orders: "CreateTime desc, EquipID desc",
|
|
|
+ PageNumber: this.page.pageNumber,
|
|
|
+ PageSize: this.page.pageSize,
|
|
|
+ }
|
|
|
+ // unshaftInSys(params, res => {
|
|
|
+ /**将模型文件夹和模型文件名加入到table数据中 */
|
|
|
+ this.tableData = res.Content
|
|
|
+ this.page.total = res.Total
|
|
|
+ // })
|
|
|
+ },
|
|
|
+ //选中项修改
|
|
|
+ handleSelectionChange(val) {
|
|
|
+ this.selections = val;
|
|
|
+ },
|
|
|
+ savaRelation() {
|
|
|
+ if(this.selections.length){
|
|
|
+ let params = {
|
|
|
+
|
|
|
+ }
|
|
|
+ // linkSySh(params, res => {
|
|
|
+ this.$emit('update:dialogVisible',false)
|
|
|
+ this.$message.success('创建成功!')
|
|
|
+ this.$router.push({name:'buildTask'})//跳转回首页
|
|
|
+ // })
|
|
|
+ }else {
|
|
|
+ this.$message('请选择要创建的设备!')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //改变pagesize
|
|
|
+ handleSizeChange(pageSize) {
|
|
|
+ this.page.pageSize = pageSize;
|
|
|
+ this.getTableData();
|
|
|
+ },
|
|
|
+ //改变pageno
|
|
|
+ handleCurrentChange(pageNo) {
|
|
|
+ this.page.pageNumber = pageNo;
|
|
|
+ this.getTableData();
|
|
|
+ },
|
|
|
+ handleClose(){//关闭弹窗
|
|
|
+ this.$emit('update:dialogVisible',false);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ dialogVisible(newData,oldData){
|
|
|
+ if(newData){
|
|
|
+ this.tableData = [{
|
|
|
+ build: 'A栋',
|
|
|
+ floor: '12F',
|
|
|
+ EquipLocalName: 'XXXXXXXXXXX',
|
|
|
+ EquipLocalId: '5484161891',
|
|
|
+ EquipName: '低压开关柜',
|
|
|
+ installation: '王小虎夫妻店',
|
|
|
+ type: '1'
|
|
|
+ }, {
|
|
|
+ build: 'A栋',
|
|
|
+ floor: '12F',
|
|
|
+ EquipLocalName: 'XXXXXXXXXXX',
|
|
|
+ EquipLocalId: '5484161891',
|
|
|
+ EquipName: '低压开关柜',
|
|
|
+ installation: '王小虎夫妻店',
|
|
|
+ type: '1',
|
|
|
+ partsList: [{
|
|
|
+ name: '部件1',
|
|
|
+ number: 6
|
|
|
+ }, {
|
|
|
+ name: '部件2',
|
|
|
+ number: 23
|
|
|
+ }, {
|
|
|
+ name: '部件3',
|
|
|
+ number: 5
|
|
|
+ }, {
|
|
|
+ name: '部件4',
|
|
|
+ number: 9
|
|
|
+ }, {
|
|
|
+ name: '部件5',
|
|
|
+ number: 1
|
|
|
+ }]
|
|
|
+ }, {
|
|
|
+ build: 'A栋',
|
|
|
+ floor: '12F',
|
|
|
+ EquipLocalName: 'XXXXXXXXXXX',
|
|
|
+ EquipLocalId: '5484161891',
|
|
|
+ EquipName: '低压开关柜',
|
|
|
+ installation: '王小虎夫妻店',
|
|
|
+ type: '1'
|
|
|
+ }, {
|
|
|
+ build: 'A栋',
|
|
|
+ floor: '12F',
|
|
|
+ EquipLocalName: 'XXXXXXXXXXX',
|
|
|
+ EquipLocalId: '5484161891',
|
|
|
+ EquipName: '低压开关柜',
|
|
|
+ installation: '王小虎夫妻店',
|
|
|
+ type: '1'
|
|
|
+ }]
|
|
|
+ this.page.pageNumber = 1
|
|
|
+ this.getTableData()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+<style lang="less" scoped>
|
|
|
+#addEqDialog {
|
|
|
+ .filters {
|
|
|
+ margin-bottom: 10px;
|
|
|
+ /deep/ .el-input__inner {
|
|
|
+ vertical-align: baseline;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .table-box {
|
|
|
+ height: 370px;
|
|
|
+ .fr{
|
|
|
+ margin-top: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|
|
|
+
|
|
|
+<style>
|
|
|
+ .demo-table-expand {
|
|
|
+ font-size: 0;
|
|
|
+ }
|
|
|
+ .demo-table-expand label {
|
|
|
+ width: 90px;
|
|
|
+ color: #99a9bf;
|
|
|
+ }
|
|
|
+ .demo-table-expand .el-form-item {
|
|
|
+ margin-right: 0;
|
|
|
+ margin-bottom: 0;
|
|
|
+ margin-left: 120px;
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+</style>
|