zhengqiang 5 years ago
parent
commit
dbbfc43c9c
2 changed files with 97 additions and 68 deletions
  1. 5 1
      src/api/base/companyInfo.js
  2. 92 67
      src/views/base/companyInfo-list.vue

+ 5 - 1
src/api/base/companyInfo.js

@@ -9,6 +9,10 @@ function pageList(formData) {
   return request.post(constant.serverUrl + "/base/companyInfo/pageList", formData);
 }
 
+function loadChildren(formData) {
+  return request.post(constant.serverUrl + "/base/companyInfo/children",formData);
+}
+
 function create() {
   return request.get(constant.serverUrl + "/base/companyInfo/create");
 }
@@ -66,5 +70,5 @@ function unbindDevice(formData) {
 
 export default {
   list, create, edit, add, update, remove, batchRemove, pageList, queryBindDeviceList,
-  bindDevice, unbindDevice
+  bindDevice, unbindDevice,loadChildren
 }

+ 92 - 67
src/views/base/companyInfo-list.vue

@@ -62,70 +62,78 @@
         @click="handleBatchDelete"
       >删除选中项</el-button>
     </el-row>
-    <el-table
-      :data="tableData"
-      style="min-height:400px;"
-      v-loading="loading"
-      stripe
-      :height="tableHeight"
-      @sort-change="sortChange"
-      @selection-change="handleSelectionChange"
-    >
-      <el-table-column type="selection" width="55"></el-table-column>
-      <el-table-column prop="sortNo" label="序号" width="80"></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="parentName" label="上级单位" width="230"></el-table-column>
-      <el-table-column prop="name" 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">
-        <template slot-scope="{row}">
-          <el-row>
-            <el-col>
-              <el-link type="primary" :underline="false" @click="handleEdit(row)">编辑</el-link>-
-              <el-link type="danger" :underline="false" @click="handleDelete(row)">删除</el-link>-
-              <el-link type="primary" :underline="false" @click="bindDevice(row)">绑定设备</el-link>-
-              <el-popover
-                placement="left"
-                width="300"
-                trigger="click"
-                @show="openQRCode(row)"
-                @hide="closeQRCode(row)"
-              >
-                <div :id="row.id" ref="qrCodeDiv"></div>
-                <el-link type="primary" :underline="false" slot="reference">健康公示二维码</el-link>
-              </el-popover>-
-              <span v-if="row.type != null && row.type != ''">
-                <el-link type="primary" :underline="false" @click="openDP(row)">大屏网址</el-link>
-              </span>
-            </el-col>
-          </el-row>
-        </template>
-      </el-table-column>
-    </el-table>
-    <el-pagination
-      :current-page.sync="pageIndex"
-      :total="totalElements"
-      :page-sizes="pageSizeList"
-      @current-change="changePage"
-      @size-change="pageSizeChange"
-      layout="total, sizes, prev, pager, next, jumper"
-    ></el-pagination>
+    <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;"
+            v-loading="loading"
+            stripe
+            :height="tableHeight"
+            @sort-change="sortChange"
+            @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="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">
+              <template slot-scope="{row}">
+                <el-row>
+                  <el-col>
+                    <el-link type="primary" :underline="false" @click="handleEdit(row)">编辑</el-link>-
+                    <el-link type="danger" :underline="false" @click="handleDelete(row)">删除</el-link>-
+                    <el-link type="primary" :underline="false" @click="bindDevice(row)">绑定设备</el-link>-
+                    <el-popover
+                      placement="left"
+                      width="300"
+                      trigger="click"
+                      @show="openQRCode(row)"
+                      @hide="closeQRCode(row)"
+                    >
+                      <div :id="row.id" ref="qrCodeDiv"></div>
+                      <el-link type="primary" :underline="false" slot="reference">健康公示二维码</el-link>
+                    </el-popover>-
+                    <span v-if="row.type != null && row.type != ''">
+                      <el-link type="primary" :underline="false" @click="openDP(row)">大屏网址</el-link>
+                    </span>
+                  </el-col>
+                </el-row>
+              </template>
+            </el-table-column>
+          </el-table>
+          <el-pagination
+            :current-page.sync="pageIndex"
+            :total="totalElements"
+            :page-sizes="pageSizeList"
+            @current-change="changePage"
+            @size-change="pageSizeChange"
+            layout="total, sizes, prev, pager, next, jumper"
+          ></el-pagination>
+    </el-row>
     <companyInfo-detail
       v-if="showModal"
       :businessKey="businessKey"
@@ -171,12 +179,12 @@ export default {
       showModal: false,
       modalTitle: "",
       businessKey: "",
-      tableHeight: "",
+      tableHeight: "400",
       showDeviceModal: false,
       companyId: "",
       qrCode: "",
       companyResult: []
-    };
+    }
   },
   created() {
     var self = this;
@@ -189,6 +197,23 @@ export default {
     });
   },
   methods: {
+    loadChildren(tree, treeNode, resolve) {
+      console.log(tree);
+
+      var formData = new FormData();
+      formData.append("parentId", tree.id);
+
+      companyInfoApi.loadChildren(formData).then((resp)=>{
+        var jsonData = resp.data;
+
+        if(jsonData.result){
+          resolve(jsonData.data);
+        }
+        else{
+          this.$message.error(jsonData.message + "");
+        }
+      });
+    },
     changePage(pageIndex) {
       var self = this;
 
@@ -223,7 +248,7 @@ export default {
           self.totalPages = jsonData.totalPages;
           self.totalElements = jsonData.recordsTotal;
 
-          self.tableHeight = window.innerHeight - 280;
+          //self.tableHeight = window.innerHeight - 280;
         })
         .catch(error => {
           self.loading = false;