浏览代码

单位同步到设备。

zhengqiang 4 年之前
父节点
当前提交
9c1a353136

+ 29 - 0
src/App.vue

@@ -44,4 +44,33 @@ body{
 .el-table{
   margin-top:5px;
 }
+
+.role-permission {
+  .el-transfer-panel {
+    border: 1px solid #ebeef5;
+    border-radius: 4px;
+    overflow: hidden;
+    background: #fff;
+    display: inline-block;
+    vertical-align: middle;
+    width: 300px;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    position: relative;
+  }
+
+  .el-transfer__button {
+    display: block;
+    margin: 0 auto;
+    padding: 10px;
+    border-radius: 50%;
+    color: #fff;
+    background-color: #409eff;
+    font-size: 0;
+  }
+
+  .el-button+.el-button{
+    margin-left: 0px;
+  }
+}
 </style>

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

@@ -70,6 +70,10 @@ function bindDevice(formData) {
   return request.post(constant.serverUrl + "/base/companyInfo/bindDevice", formData);
 }
 
+function syncDevice(formData) {
+  return request.post(constant.serverUrl + "/base/companyInfo/syncDevice", formData);
+}
+
 function unbindDevice(formData) {
   return request.post(constant.serverUrl + "/base/companyInfo/unbindDevice", formData);
 }
@@ -93,5 +97,6 @@ function getCompanyName(formData) {
 
 export default {
   list, create, edit, add, update, remove, batchRemove, pageList, queryBindDeviceList,
-  bindDevice, unbindDevice,loadChildren,treeList,isOpenMobilePayment,departmentList,getCompanyName
+  bindDevice, unbindDevice,loadChildren,treeList,isOpenMobilePayment,departmentList,getCompanyName,
+  syncDevice
 }

+ 41 - 3
src/views/base/companyDeviceRelation-list.vue

@@ -1,13 +1,13 @@
 <template>
   <el-dialog
     :visible.sync="showDialog"
-    title="查看设备"
+    :title="title"
     append-to-body
     :modal="true"
     style="text-align:left;"
     @close="closeDialog"
     :close-on-click-modal="false"
-    width="60%"
+    width="1000px"
   >
     <div>
       <!--
@@ -68,6 +68,10 @@
             </span>
             <span v-else>
               <el-button size="mini" type="danger" @click="handleUnBound(row)">解除绑定</el-button>
+              &nbsp;
+              <el-button size="mini" type="primary" @click="handleSyncDevice(row,'all')">同步(所有人)</el-button>
+              &nbsp;
+              <el-button size="mini" type="primary" @click="handleSyncDevice(row,'bind')">同步(已绑定)</el-button>
             </span>
           </template>
         </el-table-column>
@@ -99,7 +103,7 @@ import NProgress from "nprogress"; // progress bar
 import "nprogress/nprogress.css"; // progress bar style
 
 export default {
-  props: ["companyId"],
+  props: ["companyId","title"],
   data() {
     var self = this;
 
@@ -293,6 +297,40 @@ export default {
         });
       });
     },
+    handleSyncDevice(record,mode){
+      //同步照片
+      var self = this;
+
+      this.$confirm("是否将单位下人员照片同步到设备?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+        distinguishCancelAndClose: true
+      }).then(() => {
+        self.loading = true;
+        var formData = new FormData();
+        formData.append("companyId", self.companyId);
+        formData.append("deviceId", record.id);
+        formData.append("mode", mode);
+        
+        return companyInfoApi.syncDevice(formData).then(function(response) {
+          self.loading = false;
+          var jsonData = response.data;
+
+          if (jsonData.result) {
+            self.$message({
+              message: "已下发同步任务" + jsonData.data  + "个,请查看同步队列!",
+              type: "success"
+            });
+          } else {
+            self.$message({
+              message: jsonData.message + "",
+              type: "warning"
+            });
+          }
+        });
+      });
+    },
     onDetailModalClose(refreshed) {
       //保存成功后回调
       this.showModal = false;

+ 4 - 1
src/views/base/companyInfo-list.vue

@@ -271,6 +271,7 @@
       @close="onDetailModalClose"
     ></companyInfo-detail>
     <companyDeviceRelation-list
+      :title="deviceRelationTitle"
       v-if="showDeviceModal"
       :companyId="companyId"
       @close="onDetailModalClose"
@@ -392,7 +393,8 @@ export default {
       },
       xlsLoading: false,
       sceneData: [],
-      typeData:[]
+      typeData:[],
+      deviceRelationTitle: ""
     };
   },
   created() {
@@ -599,6 +601,7 @@ export default {
     bindDevice(record) {
       //绑定设备
       this.companyId = record.id;
+      this.deviceRelationTitle = record.name + "关联设备列表";
       this.showDeviceModal = true;
     },
     openQRCode(record) {

+ 2 - 0
src/views/base/personRoleInfo-icon.vue

@@ -161,4 +161,6 @@ export default {
   justify-content: center; /* 水平居中 */
   align-items: center;     /* 垂直居中 */
 }
+
+
 </style>