|
@@ -33,6 +33,10 @@
|
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
|
:total="page.total">
|
|
|
</el-pagination>
|
|
|
+ <!-- 所属建筑 -->
|
|
|
+ <building-dialog :shaftId="shaftId" :dialog="myDialog" :onlyRead="onlyRead"
|
|
|
+ @change="changeBuildingList"
|
|
|
+ :buildingList="buildingList"></building-dialog>
|
|
|
<!-- 不支持的输入方式 -->
|
|
|
<el-dialog title="临时维护信息点" :visible.sync="myDialog.update" @close="handleCloseUpdate" width="670px">
|
|
|
<el-row>
|
|
@@ -52,10 +56,12 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import tools from "@/utils/scan/tools"
|
|
|
+import tools from "@/utils/scan/tools";
|
|
|
+import text from "@/utils/handsontable/mainText";
|
|
|
import handsonUtils from "@/utils/hasontableUtils"
|
|
|
import showTools from "@/utils/handsontable/notShow"
|
|
|
import cenoteType from "@/components/ledger/lib/cenoteType";
|
|
|
+import buildingDialog from "@/components/ledger/lib/buildingDialog";
|
|
|
import handsonTable from "@/components/common/handsontable";
|
|
|
import {getDataDictionary} from "@/api/dict";
|
|
|
import {
|
|
@@ -70,7 +76,8 @@ import {mapGetters} from "vuex";
|
|
|
export default {
|
|
|
components: {
|
|
|
cenoteType,
|
|
|
- handsonTable
|
|
|
+ handsonTable,
|
|
|
+ buildingDialog
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -96,20 +103,14 @@ export default {
|
|
|
},
|
|
|
tableData: [],
|
|
|
copyTableData: [],
|
|
|
+ buildData: [],
|
|
|
tableExample: null,
|
|
|
myDialog: {
|
|
|
update: false,//临时维护信息点
|
|
|
+ building: false,//所属建筑
|
|
|
},
|
|
|
- inputMap: {
|
|
|
- flowBuild: {
|
|
|
- editable: true,
|
|
|
- code: "flowBuild",
|
|
|
- name: "建筑楼层",
|
|
|
- path: "flowBuild",
|
|
|
- category: 'STATIC',
|
|
|
- dataType: "ENUM"
|
|
|
- }
|
|
|
- }, //信息点和输入方式映射表
|
|
|
+ inputMap: {}, //信息点和输入方式映射表
|
|
|
+ buildingList: [], //当前选中竖井所属建筑
|
|
|
updateInputShow: false, //是否显示临时维护输入框
|
|
|
updateInfoPoint: '',//临时维护信息点
|
|
|
updateInput: '', //临时维护信息点值
|
|
@@ -171,7 +172,7 @@ export default {
|
|
|
},
|
|
|
async getTableData() {//获取表格数据
|
|
|
let params = {
|
|
|
- cascade: [{ name: 'spaceList' }],
|
|
|
+ cascade: [{ name: 'spaceList' }, { name: 'buildingList' }],
|
|
|
orders: "createTime desc, localName desc, localId desc, id asc",
|
|
|
pageNumber: this.page.pageNumber,
|
|
|
pageSize: this.page.pageSize
|
|
@@ -319,6 +320,9 @@ export default {
|
|
|
let arr = tools.copyArr(list)
|
|
|
let data = showTools.headerTextFilter(arr, "shaft", this.onlyRead, this.showType)
|
|
|
data.unshift("关联的业务空间", "其他关系");
|
|
|
+ if (this.showType == 'all') {
|
|
|
+ data.splice(4, 0, '所属建筑');
|
|
|
+ }
|
|
|
return data;
|
|
|
},
|
|
|
formatHeaderType(list) {//格式化表头头映射的数据
|
|
@@ -328,6 +332,7 @@ export default {
|
|
|
data: "spaceList",
|
|
|
renderer: (instance, td, row, col, prop, value, cellProperties) => {
|
|
|
td.style.color = "#409EFF";
|
|
|
+ td.style.cursor = "pointer";
|
|
|
td.innerHTML = `<span>${value ? value.length : 0}</span>`
|
|
|
return td;
|
|
|
},
|
|
@@ -342,6 +347,13 @@ export default {
|
|
|
},
|
|
|
readOnly: true
|
|
|
})
|
|
|
+ if (this.showType == 'all') {
|
|
|
+ data.splice(4, 0, {
|
|
|
+ data: 'buildingList',
|
|
|
+ renderer: text.buildingList,
|
|
|
+ readOnly: this.onlyRead
|
|
|
+ })
|
|
|
+ }
|
|
|
return data;
|
|
|
},
|
|
|
initTable() {//实例化表格
|
|
@@ -351,6 +363,7 @@ export default {
|
|
|
colHeaders: this.formatHeaderData(this.tableHeader),
|
|
|
columns: this.formatHeaderType(this.tableHeader),
|
|
|
rowHeights: 30,
|
|
|
+ fillHandle: 'vertical', //允许纵向填充
|
|
|
maxRows: this.tableData.length,
|
|
|
contextMenu: this.onlyRead ? false : {
|
|
|
items: {
|
|
@@ -376,6 +389,7 @@ export default {
|
|
|
let val = this.tableExample.colToProp(row.col)
|
|
|
let inputData = this.inputMap[val]
|
|
|
let name = infos.localName ? infos.localName : infos.name
|
|
|
+ this.row = row.row;
|
|
|
this.shaftId = infos.id //要操作的数据id
|
|
|
//点击关联的业务空间
|
|
|
if (val === "spaceList") {
|
|
@@ -393,10 +407,20 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
return false
|
|
|
+ } else if (val === "buildingList") { //所属建筑
|
|
|
+ this.buildingList = infos[val]? infos[val]: [];
|
|
|
+ this.myDialog.building = true;
|
|
|
+ return false
|
|
|
}
|
|
|
if (!this.onlyRead && !inputData.editable) {
|
|
|
- this.$message("该信息点的值为自动生成,不可人工维护!");
|
|
|
- return false;
|
|
|
+ this.$confirm('该信息点的值为自动生成,不可人工维护!', '提示', {
|
|
|
+ confirmButtonText: '我知道了',
|
|
|
+ showCancelButton: false,
|
|
|
+ type: 'warning',
|
|
|
+ center: true
|
|
|
+ }).then(() => {
|
|
|
+ return false;
|
|
|
+ });
|
|
|
}
|
|
|
if (!this.onlyRead && showTools.inputModeArr.indexOf(inputData.dataType) == '-1') {
|
|
|
this.updateInfoPoint = val;
|
|
@@ -405,6 +429,13 @@ export default {
|
|
|
return false;
|
|
|
}
|
|
|
},
|
|
|
+ //所属建筑
|
|
|
+ changeBuildingList(data) {
|
|
|
+ console.log(this.tableData[this.row]);
|
|
|
+ console.log("buildingList");
|
|
|
+ console.log(data);
|
|
|
+ tools.setDataForKey(this.tableData[this.row], "buildingList", data);
|
|
|
+ },
|
|
|
//关闭临时维护弹窗回调
|
|
|
handleCloseUpdate() {
|
|
|
this.updateInputShow = false
|