|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <div>
|
|
|
+ <div style="padding-left:5px;">
|
|
|
<el-breadcrumb separator=">">
|
|
|
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
|
|
|
<el-breadcrumb-item>
|
|
@@ -10,15 +10,12 @@
|
|
|
</el-breadcrumb-item>
|
|
|
</el-breadcrumb>
|
|
|
<el-divider></el-divider>
|
|
|
- <!--
|
|
|
- 要resetFields起作用,必须配置:model和prop
|
|
|
- -->
|
|
|
<el-form ref="queryForm" :model="queryModel" inline class="demo-form-inline">
|
|
|
<el-form-item label="单位名称" prop="name">
|
|
|
<el-input type="text" size="mini" v-model="queryModel.name"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="上级单位" prop="parentId">
|
|
|
- <el-select
|
|
|
+ <!-- <el-select
|
|
|
size="mini"
|
|
|
v-model="queryModel.parentId"
|
|
|
filterable
|
|
@@ -31,7 +28,16 @@
|
|
|
:label="company.name"
|
|
|
:value="company.id"
|
|
|
></el-option>
|
|
|
- </el-select>
|
|
|
+ </el-select> -->
|
|
|
+ <el-select-tree
|
|
|
+ :props="props"
|
|
|
+ :options="optionData"
|
|
|
+ :value="queryModel.parentId"
|
|
|
+ @getValue="getSelectedValue($event)"
|
|
|
+ height="200"
|
|
|
+ >
|
|
|
+ </el-select-tree>
|
|
|
+
|
|
|
<el-checkbox v-model="queryModel.subordinate">是否包含下级单位</el-checkbox>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
@@ -63,12 +69,6 @@
|
|
|
>删除选中项</el-button>
|
|
|
</el-row>
|
|
|
<el-row style="padding-left:5px;">
|
|
|
- <!--
|
|
|
- lazy
|
|
|
- :load="loadChildren"
|
|
|
- row-key="id"
|
|
|
- :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
|
|
|
- -->
|
|
|
<el-table
|
|
|
:data="tableData"
|
|
|
style="min-height:400px;"
|
|
@@ -79,28 +79,12 @@
|
|
|
@selection-change="handleSelectionChange"
|
|
|
>
|
|
|
<el-table-column type="selection" width="55"></el-table-column>
|
|
|
- <!-- <el-table-column prop="logo" label="单位logo" width="120">
|
|
|
- <template slot-scope="{row}">
|
|
|
- <a :href="row.logo" target="_blank">
|
|
|
- <el-avatar
|
|
|
- :size="48"
|
|
|
- :src="row.logo+'?x-oss-process=image/resize,m_lfit,h_100,w_100'"
|
|
|
- :key="row.id"
|
|
|
- ></el-avatar>
|
|
|
- </a>
|
|
|
- </template>
|
|
|
- </el-table-column>-->
|
|
|
<el-table-column prop="sortNo" label="序号" width="120"></el-table-column>
|
|
|
- <el-table-column prop="parentName" label="上级单位" width="230"></el-table-column>
|
|
|
<el-table-column prop="name" label="单位名称" width="230"></el-table-column>
|
|
|
+ <el-table-column prop="parentName" label="上级单位" width="230"></el-table-column>
|
|
|
<el-table-column prop="typeN" label="性质" width="80"></el-table-column>
|
|
|
- <!-- <el-table-column prop="position1Name" label="一级位置" width="180"></el-table-column>
|
|
|
- <el-table-column prop="position2Name" label="二级位置" width="180"></el-table-column>
|
|
|
- <el-table-column prop="position3Name" label="三级位置" width="180"></el-table-column>
|
|
|
- <el-table-column prop="position4Name" label="四级位置" width="180"></el-table-column>
|
|
|
- <el-table-column prop="position5Name" label="五级位置" width="180"></el-table-column>-->
|
|
|
<el-table-column prop="remark" sort-by="remark_" width="350" label="备注"></el-table-column>
|
|
|
- <el-table-column label="操作" width="350">
|
|
|
+ <el-table-column label="操作" width="350" fixed="right">
|
|
|
<template slot-scope="{row}">
|
|
|
<el-row>
|
|
|
<el-col>
|
|
@@ -116,8 +100,9 @@
|
|
|
>
|
|
|
<div :id="row.id" ref="qrCodeDiv"></div>
|
|
|
<el-link type="primary" :underline="false" slot="reference">健康公示二维码</el-link>
|
|
|
- </el-popover>-
|
|
|
+ </el-popover>
|
|
|
<span v-if="row.type != null && row.type != ''">
|
|
|
+ -
|
|
|
<el-link type="primary" :underline="false" @click="openDP(row)">大屏网址</el-link>
|
|
|
</span>
|
|
|
</el-col>
|
|
@@ -152,7 +137,7 @@ import Constant from "@/constant";
|
|
|
import companyInfoDetail from "./companyInfo-detail";
|
|
|
import companyDeviceRelationList from "./companyDeviceRelation-list";
|
|
|
import companyInfoApi from "@/api/base/companyInfo";
|
|
|
-
|
|
|
+import SelectTree from "@/components/SelectTree";
|
|
|
import QRCode from "qrcodejs2";
|
|
|
import NProgress from "nprogress"; // progress bar
|
|
|
import "nprogress/nprogress.css"; // progress bar style
|
|
@@ -161,6 +146,7 @@ export default {
|
|
|
data() {
|
|
|
var self = this;
|
|
|
return {
|
|
|
+ activeName: "list",
|
|
|
queryModel: {
|
|
|
name: "",
|
|
|
parentId: "",
|
|
@@ -168,6 +154,7 @@ export default {
|
|
|
},
|
|
|
loading: false,
|
|
|
tableData: [],
|
|
|
+ treeData: [],
|
|
|
pageIndex: 1,
|
|
|
pageSize: 10,
|
|
|
totalPages: 0,
|
|
@@ -179,14 +166,35 @@ export default {
|
|
|
showModal: false,
|
|
|
modalTitle: "",
|
|
|
businessKey: "",
|
|
|
- tableHeight: "400",
|
|
|
+ tableHeight: 400,
|
|
|
showDeviceModal: false,
|
|
|
companyId: "",
|
|
|
qrCode: "",
|
|
|
- companyResult: []
|
|
|
+ companyResult: [],
|
|
|
+ props: {
|
|
|
+ // 配置项(必选)
|
|
|
+ value: "id",
|
|
|
+ label: "name",
|
|
|
+ children: "children"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ /* 转树形数据 */
|
|
|
+ optionData() {
|
|
|
+ let cloneData = JSON.parse(JSON.stringify(this.companyResult)); // 对源数据深度克隆
|
|
|
+ return cloneData.filter(father => {
|
|
|
+ // 循环所有项,并添加children属性
|
|
|
+ let branchArr = cloneData.filter(child => father.id == child.parentId); // 返回每一项的子级数组
|
|
|
+ branchArr.length > 0 ? (father.children = branchArr) : ""; //给父级添加一个children属性,并赋值
|
|
|
+ return father.parentId == null; //返回第一层
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
+ this.tableHeight = window.innerHeight - 320;
|
|
|
+ this.treeHeight = window.innerHeight - 200;
|
|
|
+
|
|
|
var self = this;
|
|
|
|
|
|
companyInfoApi.list().then(function(response) {
|
|
@@ -195,8 +203,28 @@ export default {
|
|
|
self.companyResult = jsonData.data;
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ this.changePage(1);
|
|
|
+ this.loadTree();
|
|
|
},
|
|
|
methods: {
|
|
|
+ getSelectedValue(value) {
|
|
|
+ this.queryModel.parentId = value;
|
|
|
+ },
|
|
|
+ loadTree() {
|
|
|
+ var formData = new FormData();
|
|
|
+
|
|
|
+ companyInfoApi.loadChildren(formData).then((resp)=>{
|
|
|
+ var jsonData = resp.data;
|
|
|
+
|
|
|
+ if(jsonData.result){
|
|
|
+ this.treeData = jsonData.data;
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ this.$message.error(jsonData.message + "");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
loadChildren(tree, treeNode, resolve) {
|
|
|
console.log(tree);
|
|
|
|
|
@@ -393,11 +421,12 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
mounted: function() {
|
|
|
- this.changePage(1);
|
|
|
+
|
|
|
},
|
|
|
components: {
|
|
|
"companyInfo-detail": companyInfoDetail,
|
|
|
- "companyDeviceRelation-list": companyDeviceRelationList
|
|
|
+ "companyDeviceRelation-list": companyDeviceRelationList,
|
|
|
+ "el-select-tree": SelectTree
|
|
|
}
|
|
|
};
|
|
|
</script>
|