|
@@ -90,8 +90,16 @@
|
|
plain
|
|
plain
|
|
icon="el-icon-circle-plus"
|
|
icon="el-icon-circle-plus"
|
|
:disabled="multipleSelection.length==0"
|
|
:disabled="multipleSelection.length==0"
|
|
- @click="dataSync"
|
|
|
|
|
|
+ @click="batchImportVisible = true"
|
|
>数据同步</el-button>
|
|
>数据同步</el-button>
|
|
|
|
+ <el-button
|
|
|
|
+ type="primary"
|
|
|
|
+ size="small"
|
|
|
|
+ plain
|
|
|
|
+ icon="el-icon-circle-plus"
|
|
|
|
+ :disabled="multipleSelection.length==0"
|
|
|
|
+ @click="batchBoundDevice = true"
|
|
|
|
+ >绑定设备</el-button>
|
|
</el-row>
|
|
</el-row>
|
|
<el-table
|
|
<el-table
|
|
:data="tableData"
|
|
:data="tableData"
|
|
@@ -282,6 +290,32 @@
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<!--批量导入E-->
|
|
<!--批量导入E-->
|
|
|
|
+
|
|
|
|
+ <!-- 批量绑定设备 -->
|
|
|
|
+ <el-dialog
|
|
|
|
+ title="绑定设备"
|
|
|
|
+ :visible.sync="batchBoundDevice"
|
|
|
|
+ :modal-append-to-body="false"
|
|
|
|
+ style="text-align: left;"
|
|
|
|
+ >
|
|
|
|
+ <el-form label-width="150px">
|
|
|
|
+ <el-form-item label="设备">
|
|
|
|
+ <el-select v-model="boundDeviceId" filterable placeholder="请选择">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="devices in deviceResult"
|
|
|
|
+ :key="devices.id"
|
|
|
|
+ :label="devices.aliasName"
|
|
|
|
+ :value="devices.id"
|
|
|
|
+ ></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button @click="closeBatchBoundDevice">关 闭</el-button>
|
|
|
|
+ <el-button type="primary" @click="handleBatchBoundDevice">确 定</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </el-dialog>
|
|
|
|
+ <!-- 批量绑定设备end -->
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
@@ -293,6 +327,8 @@ import PersonDeviceRelationBoundList from "./personDeviceRelation-BoundList";
|
|
import personInfoApi from "@/api/base/personInfo";
|
|
import personInfoApi from "@/api/base/personInfo";
|
|
import companyInfoApi from "@/api/base/companyInfo";
|
|
import companyInfoApi from "@/api/base/companyInfo";
|
|
import companyPositionApi from "@/api/base/companyPosition";
|
|
import companyPositionApi from "@/api/base/companyPosition";
|
|
|
|
+import deviceInfoApi from "@/api/base/deviceInfo";
|
|
|
|
+import personDeviceRelationApi from "@/api/base/personDeviceRelation";
|
|
|
|
|
|
import { getToken } from "@/utils/auth"; // get token from cookie
|
|
import { getToken } from "@/utils/auth"; // get token from cookie
|
|
import NProgress from "nprogress"; // progress bar
|
|
import NProgress from "nprogress"; // progress bar
|
|
@@ -343,7 +379,10 @@ export default {
|
|
showDeviceModal: false,
|
|
showDeviceModal: false,
|
|
showBoundModal: false,
|
|
showBoundModal: false,
|
|
personId: "",
|
|
personId: "",
|
|
- uploadSync: []
|
|
|
|
|
|
+ uploadSync: [],
|
|
|
|
+ batchBoundDevice: false,
|
|
|
|
+ deviceResult: "",
|
|
|
|
+ boundDeviceId: ""
|
|
};
|
|
};
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
@@ -660,6 +699,46 @@ export default {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
+ },
|
|
|
|
+ handleBatchBoundDevice() {
|
|
|
|
+ //批量同步人脸
|
|
|
|
+ var self = this;
|
|
|
|
+ self.loading = true;
|
|
|
|
+
|
|
|
|
+ let boundDeviceId = self.boundDeviceId;
|
|
|
|
+
|
|
|
|
+ var idList = this.multipleSelection.map(record => {
|
|
|
|
+ return record.id;
|
|
|
|
+ });
|
|
|
|
+ var formData = new FormData();
|
|
|
|
+
|
|
|
|
+ formData.append("persons", idList);
|
|
|
|
+ formData.append("deviceId", boundDeviceId);
|
|
|
|
+ personDeviceRelationApi
|
|
|
|
+ .batchBindPerson(formData)
|
|
|
|
+ .then(function(response) {
|
|
|
|
+ var jsonData = response.data;
|
|
|
|
+ self.loading = false;
|
|
|
|
+ if (jsonData.result) {
|
|
|
|
+ self.changePage(self.pageIndex);
|
|
|
|
+ self.batchBoundDevice = false;
|
|
|
|
+ self.boundDeviceId = "";
|
|
|
|
+ self.$message({
|
|
|
|
+ type: "success",
|
|
|
|
+ message: "绑定成功!"
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ self.$message({
|
|
|
|
+ type: "warning",
|
|
|
|
+ message: jsonData.message
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ closeBatchBoundDevice() {
|
|
|
|
+ var self = this;
|
|
|
|
+ self.batchBoundDevice = false;
|
|
|
|
+ self.boundDeviceId = "";
|
|
}
|
|
}
|
|
},
|
|
},
|
|
async mounted() {
|
|
async mounted() {
|
|
@@ -672,6 +751,13 @@ export default {
|
|
self.companyResult = jsonData.data;
|
|
self.companyResult = jsonData.data;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
+
|
|
|
|
+ deviceInfoApi.list().then(function(response) {
|
|
|
|
+ var jsonData = response.data;
|
|
|
|
+ if (jsonData.result) {
|
|
|
|
+ self.deviceResult = jsonData.data;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
},
|
|
},
|
|
components: {
|
|
components: {
|
|
"personInfo-detail": PersonInfoDetail,
|
|
"personInfo-detail": PersonInfoDetail,
|