|
@@ -68,9 +68,9 @@
|
|
|
custom-class="addDialog"
|
|
custom-class="addDialog"
|
|
|
>
|
|
>
|
|
|
<div class="elbody">
|
|
<div class="elbody">
|
|
|
- <span class="ic">指纹录入</span>
|
|
|
|
|
- <el-button @click="addDialogShow = false">关 闭</el-button>
|
|
|
|
|
- <el-button @click="addDialogShow = false" type="primary"
|
|
|
|
|
|
|
+ <span class="ic">{{ addTitle }}</span>
|
|
|
|
|
+ <el-button @click="closefingerprint">关 闭</el-button>
|
|
|
|
|
+ <el-button @click="addfingerprint" type="primary"
|
|
|
>保 存</el-button
|
|
>保 存</el-button
|
|
|
>
|
|
>
|
|
|
</div>
|
|
</div>
|
|
@@ -98,6 +98,7 @@
|
|
|
width="692px"
|
|
width="692px"
|
|
|
append-to-body
|
|
append-to-body
|
|
|
custom-class="dialongAllRoom"
|
|
custom-class="dialongAllRoom"
|
|
|
|
|
+ :close-on-click-modal="false"
|
|
|
>
|
|
>
|
|
|
<div class="tree">
|
|
<div class="tree">
|
|
|
<div class="tree-left">
|
|
<div class="tree-left">
|
|
@@ -121,11 +122,11 @@
|
|
|
</div>
|
|
</div>
|
|
|
<ul class="infinite-list" style="overflow: auto">
|
|
<ul class="infinite-list" style="overflow: auto">
|
|
|
<li class="infinite-list-item" v-show="title">
|
|
<li class="infinite-list-item" v-show="title">
|
|
|
- <span style="margin-left: 19px">{{ title }}</span
|
|
|
|
|
- ><i
|
|
|
|
|
|
|
+ <span style="margin-left: 19px">{{ title }}</span>
|
|
|
|
|
+ <!-- <i
|
|
|
class="el-icon-close"
|
|
class="el-icon-close"
|
|
|
@click="cancelCheck"
|
|
@click="cancelCheck"
|
|
|
- ></i>
|
|
|
|
|
|
|
+ ></i> -->
|
|
|
</li>
|
|
</li>
|
|
|
</ul>
|
|
</ul>
|
|
|
</div>
|
|
</div>
|
|
@@ -146,15 +147,8 @@
|
|
|
v-model="icCardInfo.userType"
|
|
v-model="icCardInfo.userType"
|
|
|
placeholder="用户"
|
|
placeholder="用户"
|
|
|
>
|
|
>
|
|
|
- <el-option
|
|
|
|
|
- label="普通用户"
|
|
|
|
|
- value="普通用户"
|
|
|
|
|
- ></el-option>
|
|
|
|
|
- <el-option
|
|
|
|
|
- label="不普通用户"
|
|
|
|
|
- value="不普通用户"
|
|
|
|
|
- ></el-option>
|
|
|
|
|
- <el-option label="管理员" value="管理员"></el-option>
|
|
|
|
|
|
|
+ <el-option label="普通用户" value="2"></el-option>
|
|
|
|
|
+ <el-option label="管理员" value="1"></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="生效时间(默认今天)">
|
|
<el-form-item label="生效时间(默认今天)">
|
|
@@ -167,9 +161,6 @@
|
|
|
>
|
|
>
|
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="房间号(锁设备UID)">
|
|
|
|
|
- <el-input v-model="icCardInfo.roomId"></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
</div>
|
|
</div>
|
|
|
<div class="right">
|
|
<div class="right">
|
|
|
<el-form-item label="指纹">
|
|
<el-form-item label="指纹">
|
|
@@ -195,6 +186,7 @@
|
|
|
:visible.sync="fingerprintShow"
|
|
:visible.sync="fingerprintShow"
|
|
|
:append-to-body="true"
|
|
:append-to-body="true"
|
|
|
custom-class="fingerprint"
|
|
custom-class="fingerprint"
|
|
|
|
|
+ :close-on-click-modal="false"
|
|
|
>
|
|
>
|
|
|
<div class="elbody">
|
|
<div class="elbody">
|
|
|
<span>指 纹</span>
|
|
<span>指 纹</span>
|
|
@@ -206,13 +198,18 @@
|
|
|
<div class="el-footer">
|
|
<div class="el-footer">
|
|
|
<div style="height:350px;margin: 30px auto;">
|
|
<div style="height:350px;margin: 30px auto;">
|
|
|
<el-steps direction="vertical" :active="stepindex">
|
|
<el-steps direction="vertical" :active="stepindex">
|
|
|
- <el-step title="步骤 1"></el-step>
|
|
|
|
|
- <el-step title="步骤 2"></el-step>
|
|
|
|
|
|
|
+ <el-step
|
|
|
|
|
+ v-for="i in step"
|
|
|
|
|
+ :key="i.id"
|
|
|
|
|
+ :title="`步骤 ${i.id}`"
|
|
|
|
|
+ :description="i.title"
|
|
|
|
|
+ ></el-step>
|
|
|
|
|
+ <!-- <el-step title="步骤 2"></el-step>
|
|
|
<el-step title="步骤 3"></el-step>
|
|
<el-step title="步骤 3"></el-step>
|
|
|
<el-step
|
|
<el-step
|
|
|
title="步骤 4"
|
|
title="步骤 4"
|
|
|
description="录取成功"
|
|
description="录取成功"
|
|
|
- ></el-step>
|
|
|
|
|
|
|
+ ></el-step> -->
|
|
|
</el-steps>
|
|
</el-steps>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -244,7 +241,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
|
|
- <div class="export" @click="exportExcel">导出订单</div>
|
|
|
|
|
|
|
+ <!-- <div class="export" @click="exportExcel">导出订单</div> -->
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<!-- 表格区域 -->
|
|
<!-- 表格区域 -->
|
|
@@ -329,147 +326,6 @@
|
|
|
<span @click="handleDelete(row)" class="operate">解绑</span>
|
|
<span @click="handleDelete(row)" class="operate">解绑</span>
|
|
|
<!-- 编辑按钮 -->
|
|
<!-- 编辑按钮 -->
|
|
|
<span @click="handleEdit(row)" class="operate">编辑</span>
|
|
<span @click="handleEdit(row)" class="operate">编辑</span>
|
|
|
-
|
|
|
|
|
- <el-dialog
|
|
|
|
|
- title="指纹录入"
|
|
|
|
|
- :visible.sync="dialogVisible"
|
|
|
|
|
- custom-class="editCard"
|
|
|
|
|
- >
|
|
|
|
|
- <div class="dialog-footer">
|
|
|
|
|
- <el-form :model="icCardInfo" label-position="top">
|
|
|
|
|
- <div class="left">
|
|
|
|
|
- <el-form-item label="卡号">
|
|
|
|
|
- <el-input v-model="icCardInfo.roomId"></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="房间号(锁设备UID)">
|
|
|
|
|
- <el-input v-model="icCardInfo.roomId"></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="创建时间">
|
|
|
|
|
- <el-input v-model="icCardInfo.roomId"></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
-
|
|
|
|
|
- <el-form-item label="生效时间(默认今天)">
|
|
|
|
|
- <el-date-picker
|
|
|
|
|
- v-model="startTime"
|
|
|
|
|
- type="datetime"
|
|
|
|
|
- placeholder="选择日期时间"
|
|
|
|
|
- default-time="12:00:00"
|
|
|
|
|
- value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
|
|
- >
|
|
|
|
|
- </el-date-picker>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="right">
|
|
|
|
|
- <el-form-item label="用户类型">
|
|
|
|
|
- <el-select
|
|
|
|
|
- v-model="icCardInfo.userType"
|
|
|
|
|
- placeholder="用户"
|
|
|
|
|
- >
|
|
|
|
|
- <el-option
|
|
|
|
|
- label="普通用户"
|
|
|
|
|
- value="普通用户"
|
|
|
|
|
- ></el-option>
|
|
|
|
|
- <el-option
|
|
|
|
|
- label="不普通用户"
|
|
|
|
|
- value="不普通用户"
|
|
|
|
|
- ></el-option>
|
|
|
|
|
- <el-option
|
|
|
|
|
- label="管理员"
|
|
|
|
|
- value="管理员"
|
|
|
|
|
- ></el-option>
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="持卡人姓名">
|
|
|
|
|
- <el-input v-model="icCardInfo.name"></el-input>
|
|
|
|
|
- <span
|
|
|
|
|
- style="
|
|
|
|
|
- position: absolute;
|
|
|
|
|
- left: 200px;
|
|
|
|
|
- color: #296de3;
|
|
|
|
|
- cursor: pointer;
|
|
|
|
|
- "
|
|
|
|
|
- @click="Editstaff"
|
|
|
|
|
- >员工</span
|
|
|
|
|
- >
|
|
|
|
|
- <el-dialog
|
|
|
|
|
- title="添加员工"
|
|
|
|
|
- :visible.sync="selectStaffShow"
|
|
|
|
|
- width="692px"
|
|
|
|
|
- append-to-body
|
|
|
|
|
- custom-class="dialongAllRoom"
|
|
|
|
|
- >
|
|
|
|
|
- <div class="tree">
|
|
|
|
|
- <div class="tree-left">
|
|
|
|
|
- <span style="margin-left: 15px">列表</span>
|
|
|
|
|
- <span style="margin-left: 228px">1/1</span>
|
|
|
|
|
- </div>
|
|
|
|
|
- <el-tree
|
|
|
|
|
- :data="data"
|
|
|
|
|
- show-checkbox
|
|
|
|
|
- node-key="id"
|
|
|
|
|
- ref="roomTree"
|
|
|
|
|
- :default-expand-all="true"
|
|
|
|
|
- :props="defaultProps"
|
|
|
|
|
- @check="checkStaff"
|
|
|
|
|
- >
|
|
|
|
|
- </el-tree>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="tree">
|
|
|
|
|
- <div class="tree-left">
|
|
|
|
|
- <p style="margin-left: 15px">已选</p>
|
|
|
|
|
- </div>
|
|
|
|
|
- <ul class="infinite-list" style="overflow: auto">
|
|
|
|
|
- <li class="infinite-list-item" v-show="title">
|
|
|
|
|
- <span style="margin-left: 19px">{{
|
|
|
|
|
- title
|
|
|
|
|
- }}</span
|
|
|
|
|
- ><i
|
|
|
|
|
- class="el-icon-close"
|
|
|
|
|
- @click="cancelCheck"
|
|
|
|
|
- ></i>
|
|
|
|
|
- </li>
|
|
|
|
|
- </ul>
|
|
|
|
|
- </div>
|
|
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
|
|
- <el-button @click="selectStaffShow = false"
|
|
|
|
|
- >取 消</el-button
|
|
|
|
|
- >
|
|
|
|
|
- <el-button
|
|
|
|
|
- type="primary"
|
|
|
|
|
- @click="selectStaffShow = false"
|
|
|
|
|
- >确 定</el-button
|
|
|
|
|
- >
|
|
|
|
|
- </span>
|
|
|
|
|
- </el-dialog>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="收预付款(元)">
|
|
|
|
|
- <el-input v-model="icCardInfo.roomId"></el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="失效时间">
|
|
|
|
|
- <el-date-picker
|
|
|
|
|
- v-model="endTime"
|
|
|
|
|
- type="datetime"
|
|
|
|
|
- placeholder="选择日期时间"
|
|
|
|
|
- value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
|
|
- default-time="12:00:00"
|
|
|
|
|
- @change="endT"
|
|
|
|
|
- >
|
|
|
|
|
- </el-date-picker>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-radio-group
|
|
|
|
|
- v-model="icCardInfo.radio"
|
|
|
|
|
- @change="radioChange"
|
|
|
|
|
- >
|
|
|
|
|
- <el-radio label="一个星期">一个星期</el-radio>
|
|
|
|
|
- <el-radio label="一个月">一个月</el-radio>
|
|
|
|
|
- <el-radio label="半年">半年</el-radio>
|
|
|
|
|
- <el-radio label="一年">一年</el-radio>
|
|
|
|
|
- <el-radio label="长期">长期</el-radio>
|
|
|
|
|
- </el-radio-group>
|
|
|
|
|
- </div>
|
|
|
|
|
- </el-form>
|
|
|
|
|
- </div>
|
|
|
|
|
- </el-dialog>
|
|
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
@@ -507,12 +363,11 @@ export default {
|
|
|
// 新增 弹窗属性
|
|
// 新增 弹窗属性
|
|
|
addDialogShow: false,
|
|
addDialogShow: false,
|
|
|
icCardInfo: {
|
|
icCardInfo: {
|
|
|
- cardType: [],
|
|
|
|
|
- userType: "",
|
|
|
|
|
- roomId: "",
|
|
|
|
|
- cardId: "",
|
|
|
|
|
- name: "",
|
|
|
|
|
- radio: "一个星期"
|
|
|
|
|
|
|
+ userType: "", // 用户类型
|
|
|
|
|
+ cardId: "", // 指纹编码
|
|
|
|
|
+ name: "", // 用户姓名
|
|
|
|
|
+ radio: "一个星期",
|
|
|
|
|
+ id: ""
|
|
|
},
|
|
},
|
|
|
startTime: dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss"),
|
|
startTime: dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss"),
|
|
|
endTime: dayjs(new Date())
|
|
endTime: dayjs(new Date())
|
|
@@ -521,9 +376,16 @@ export default {
|
|
|
// 指纹录入弹窗属性
|
|
// 指纹录入弹窗属性
|
|
|
fingerprintShow: false,
|
|
fingerprintShow: false,
|
|
|
stepindex: 0, // 录取指纹步骤
|
|
stepindex: 0, // 录取指纹步骤
|
|
|
|
|
+ step: [
|
|
|
|
|
+ { id: 1, title: "" },
|
|
|
|
|
+ { id: 2, title: "" },
|
|
|
|
|
+ { id: 3, title: "" },
|
|
|
|
|
+ { id: 4, title: "" }
|
|
|
|
|
+ ], // 指纹步骤数据
|
|
|
roomNo: "", // 房间号
|
|
roomNo: "", // 房间号
|
|
|
|
|
|
|
|
// 员工弹窗属性
|
|
// 员工弹窗属性
|
|
|
|
|
+ addTitle: "新增指纹",
|
|
|
selectStaffShow: false,
|
|
selectStaffShow: false,
|
|
|
defaultProps: {
|
|
defaultProps: {
|
|
|
children: "children",
|
|
children: "children",
|
|
@@ -588,12 +450,42 @@ export default {
|
|
|
},
|
|
},
|
|
|
watch: {
|
|
watch: {
|
|
|
stepindex(newVal, oldVal) {
|
|
stepindex(newVal, oldVal) {
|
|
|
- console.log(newVal);
|
|
|
|
|
|
|
+ // console.log(newVal);
|
|
|
this.stepindex = newVal;
|
|
this.stepindex = newVal;
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
mounted() {
|
|
mounted() {
|
|
|
this.roomNo = JSON.parse(sessionStorage.getItem("roomNo"));
|
|
this.roomNo = JSON.parse(sessionStorage.getItem("roomNo"));
|
|
|
|
|
+ this.API.hotelStaff
|
|
|
|
|
+ .departList()
|
|
|
|
|
+ .then(res => {
|
|
|
|
|
+ // console.log(res, "员工类型");
|
|
|
|
|
+
|
|
|
|
|
+ let data = [];
|
|
|
|
|
+ res.data.forEach(item => {
|
|
|
|
|
+ let children = [];
|
|
|
|
|
+ item.staffs.forEach(i => {
|
|
|
|
|
+ children.push({
|
|
|
|
|
+ label: i.username,
|
|
|
|
|
+ id: i.id
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
|
|
+ let arr = {
|
|
|
|
|
+ id: item.id,
|
|
|
|
|
+ label: item.department,
|
|
|
|
|
+ disabled: true,
|
|
|
|
|
+ children
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ data.push(arr);
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ this.data = data;
|
|
|
|
|
+ // console.log(data);
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch(err => {
|
|
|
|
|
+ console.log(err);
|
|
|
|
|
+ });
|
|
|
this.getData();
|
|
this.getData();
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
@@ -606,9 +498,12 @@ export default {
|
|
|
// 获取表格数据
|
|
// 获取表格数据
|
|
|
async getData() {
|
|
async getData() {
|
|
|
let params = "";
|
|
let params = "";
|
|
|
|
|
+ if (this.createTime == null) {
|
|
|
|
|
+ this.createTime = "";
|
|
|
|
|
+ }
|
|
|
params = `${this.roomNo}?curPage=${this.curPage}&pageSize=${this.pageSize}&keyWord=${this.queryValue}&createTime=${this.createTime}&userType=${this.userType}`;
|
|
params = `${this.roomNo}?curPage=${this.curPage}&pageSize=${this.pageSize}&keyWord=${this.queryValue}&createTime=${this.createTime}&userType=${this.userType}`;
|
|
|
let res = await this.API.fingerprint.queryInfo(params);
|
|
let res = await this.API.fingerprint.queryInfo(params);
|
|
|
- console.log(res, "指纹管理");
|
|
|
|
|
|
|
+ // console.log(res, "指纹管理");
|
|
|
if (res.success) {
|
|
if (res.success) {
|
|
|
this.tableData = res.data.list;
|
|
this.tableData = res.data.list;
|
|
|
this.total = res.data.totalCount;
|
|
this.total = res.data.totalCount;
|
|
@@ -619,6 +514,69 @@ export default {
|
|
|
//新增弹窗
|
|
//新增弹窗
|
|
|
addCard() {
|
|
addCard() {
|
|
|
this.addDialogShow = true;
|
|
this.addDialogShow = true;
|
|
|
|
|
+ this.selectTime = true;
|
|
|
|
|
+ this.addTitle = "新增指纹";
|
|
|
|
|
+ this.icCardInfo = {
|
|
|
|
|
+ userType: "",
|
|
|
|
|
+ cardId: "",
|
|
|
|
|
+ name: "",
|
|
|
|
|
+ radio: "一个星期",
|
|
|
|
|
+ id: ""
|
|
|
|
|
+ };
|
|
|
|
|
+ this.startTime = dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss");
|
|
|
|
|
+ this.endTime = dayjs(new Date())
|
|
|
|
|
+ .add(7, "day")
|
|
|
|
|
+ .format("YYYY-MM-DD HH:mm:ss");
|
|
|
|
|
+ },
|
|
|
|
|
+ // 确定新增指纹
|
|
|
|
|
+ async addfingerprint() {
|
|
|
|
|
+ if (this.addTitle == "新增指纹") {
|
|
|
|
|
+ let data = {
|
|
|
|
|
+ fingerprintNumber: this.icCardInfo.cardId, //指纹编码
|
|
|
|
|
+ roomNo: this.roomNo, //房间号
|
|
|
|
|
+ holderName: this.icCardInfo.name, // 持有人
|
|
|
|
|
+ userType: this.icCardInfo.userType, // 用户类型
|
|
|
|
|
+ takeTime: this.startTime, // 生效时间
|
|
|
|
|
+ failureTime: this.endTime, // 失效时间
|
|
|
|
|
+ createTime: dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss"), // 创建时间
|
|
|
|
|
+ statu: 1 // 状态 失效:0 生效:1
|
|
|
|
|
+ };
|
|
|
|
|
+ let res = await this.API.fingerprint.add(data);
|
|
|
|
|
+ if (res.code == 1) {
|
|
|
|
|
+ this.$message.success("新增成功");
|
|
|
|
|
+ this.getData();
|
|
|
|
|
+ this.addDialogShow = false;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error("新增失败");
|
|
|
|
|
+ }
|
|
|
|
|
+ // console.log(res, "确定添加指纹");
|
|
|
|
|
+ } else if (this.addTitle == "编辑指纹") {
|
|
|
|
|
+ let data = {
|
|
|
|
|
+ id: this.icCardInfo.id, //数据id
|
|
|
|
|
+ fingerprintNumber: this.icCardInfo.cardId, //指纹编码
|
|
|
|
|
+ roomNo: this.roomNo, //房间号
|
|
|
|
|
+ holderName: this.icCardInfo.name, // 持有人
|
|
|
|
|
+ userType: this.icCardInfo.userType, // 用户类型
|
|
|
|
|
+ takeTime: this.startTime, // 生效时间
|
|
|
|
|
+ failureTime: this.endTime, // 失效时间
|
|
|
|
|
+ createTime: dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss"), // 创建时间
|
|
|
|
|
+ statu: 1 // 状态 失效:0 生效:1
|
|
|
|
|
+ };
|
|
|
|
|
+ let res = await this.API.fingerprint.update(data);
|
|
|
|
|
+ if (res.code == 1) {
|
|
|
|
|
+ this.$message.success("修改成功");
|
|
|
|
|
+ this.getData();
|
|
|
|
|
+ this.addDialogShow = false;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error("修改失败");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // this.addDialogShow = false;
|
|
|
|
|
+ },
|
|
|
|
|
+ // 关闭新增指纹
|
|
|
|
|
+ closefingerprint() {
|
|
|
|
|
+ this.addDialogShow = false;
|
|
|
},
|
|
},
|
|
|
endT() {
|
|
endT() {
|
|
|
if (
|
|
if (
|
|
@@ -662,6 +620,13 @@ export default {
|
|
|
//指纹录入
|
|
//指纹录入
|
|
|
fingerprin() {
|
|
fingerprin() {
|
|
|
this.fingerprintShow = true;
|
|
this.fingerprintShow = true;
|
|
|
|
|
+ this.step = [
|
|
|
|
|
+ { id: 1, title: "" },
|
|
|
|
|
+ { id: 2, title: "" },
|
|
|
|
|
+ { id: 3, title: "" },
|
|
|
|
|
+ { id: 4, title: "" }
|
|
|
|
|
+ ];
|
|
|
|
|
+ this.stepindex = 0;
|
|
|
let _this = this;
|
|
let _this = this;
|
|
|
var wsUrl = "ws://localhost:8181/";
|
|
var wsUrl = "ws://localhost:8181/";
|
|
|
let websocket = new WebSocket(wsUrl);
|
|
let websocket = new WebSocket(wsUrl);
|
|
@@ -671,22 +636,21 @@ export default {
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
websocket.onmessage = function(evt) {
|
|
websocket.onmessage = function(evt) {
|
|
|
- console.log(evt.data, "输出数据");
|
|
|
|
|
|
|
+ // console.log(evt.data, "输出数据");
|
|
|
let data = JSON.parse(evt.data);
|
|
let data = JSON.parse(evt.data);
|
|
|
-
|
|
|
|
|
if (data.type == 0) {
|
|
if (data.type == 0) {
|
|
|
- console.log("检测到设备");
|
|
|
|
|
|
|
+ // console.log(JSON.parse(evt.data).data.portNames); // 获取到 USB接口
|
|
|
let params1 = {
|
|
let params1 = {
|
|
|
type: 1,
|
|
type: 1,
|
|
|
data: {
|
|
data: {
|
|
|
type: 0,
|
|
type: 0,
|
|
|
- portName: "COM3",
|
|
|
|
|
|
|
+ portName: JSON.parse(evt.data).data.portNames[1],
|
|
|
baudRate: 115200
|
|
baudRate: 115200
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
websocket.send(JSON.stringify(params1));
|
|
websocket.send(JSON.stringify(params1));
|
|
|
} else if (data.type == 110) {
|
|
} else if (data.type == 110) {
|
|
|
- console.log("已获取设备信息");
|
|
|
|
|
|
|
+ // console.log("已获取设备信息");
|
|
|
} else if (data.type == 11) {
|
|
} else if (data.type == 11) {
|
|
|
var params2 = {
|
|
var params2 = {
|
|
|
type: 2,
|
|
type: 2,
|
|
@@ -697,9 +661,20 @@ export default {
|
|
|
websocket.send(JSON.stringify(params2));
|
|
websocket.send(JSON.stringify(params2));
|
|
|
} else if (data.type == 21) {
|
|
} else if (data.type == 21) {
|
|
|
if (data.data.step == 0) {
|
|
if (data.data.step == 0) {
|
|
|
- console.log("请按压指纹");
|
|
|
|
|
|
|
+ // console.log("请按压指纹");
|
|
|
|
|
+ _this.$message.success("请开始按压指纹");
|
|
|
} else {
|
|
} else {
|
|
|
- console.log(`请按下同一指纹,第${data.data.step}次按压`);
|
|
|
|
|
|
|
+ // console.log(`请按下同一指纹,第${data.data.step}次按压`);
|
|
|
|
|
+ if (data.data.step <= 4) {
|
|
|
|
|
+ // _this.$message.success(
|
|
|
|
|
+ // `请按下同一指纹,第${data.data.step}次录入指纹成功`
|
|
|
|
|
+ // );
|
|
|
|
|
+ _this.step.forEach(item => {
|
|
|
|
|
+ if (item.id == data.data.step) {
|
|
|
|
|
+ item.title = `请按下同一指纹,第${data.data.step}次录入指纹成功`;
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
_this.stepindex = data.data.step;
|
|
_this.stepindex = data.data.step;
|
|
|
}
|
|
}
|
|
|
// _this.$message.warning("请将手指按在传感器上");
|
|
// _this.$message.warning("请将手指按在传感器上");
|
|
@@ -715,7 +690,10 @@ export default {
|
|
|
} else if (data.type == 31) {
|
|
} else if (data.type == 31) {
|
|
|
_this.icCardInfo.cardId = data.data.template;
|
|
_this.icCardInfo.cardId = data.data.template;
|
|
|
_this.$message.success("指纹录取成功");
|
|
_this.$message.success("指纹录取成功");
|
|
|
- _this.fingerprintShow = false;
|
|
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ _this.fingerprintShow = false;
|
|
|
|
|
+ websocket.close();
|
|
|
|
|
+ }, 1500);
|
|
|
} else {
|
|
} else {
|
|
|
_this.$message.error("设备连接失败,请刷新重新录入");
|
|
_this.$message.error("设备连接失败,请刷新重新录入");
|
|
|
}
|
|
}
|
|
@@ -750,6 +728,7 @@ export default {
|
|
|
// console.log(this.count);
|
|
// console.log(this.count);
|
|
|
this.$refs.roomTree.setCheckedNodes(this.count);
|
|
this.$refs.roomTree.setCheckedNodes(this.count);
|
|
|
this.title = this.count[0].label;
|
|
this.title = this.count[0].label;
|
|
|
|
|
+ this.icCardInfo.name = this.count[0].label;
|
|
|
},
|
|
},
|
|
|
cancelCheck() {
|
|
cancelCheck() {
|
|
|
// if (this.data[0].children.length == this.count.length) {
|
|
// if (this.data[0].children.length == this.count.length) {
|
|
@@ -794,55 +773,70 @@ export default {
|
|
|
return wbout;
|
|
return wbout;
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
- //详情按钮回调
|
|
|
|
|
|
|
+ //编辑按钮回调
|
|
|
handleEdit(row) {
|
|
handleEdit(row) {
|
|
|
// console.log(row);
|
|
// console.log(row);
|
|
|
- this.order = row.order;
|
|
|
|
|
- this.waterTable = [];
|
|
|
|
|
- this.electricTable = [];
|
|
|
|
|
- if (row.orderBill) {
|
|
|
|
|
- let waterTemList = [];
|
|
|
|
|
- let electricTemList = [];
|
|
|
|
|
-
|
|
|
|
|
- waterTemList.push({
|
|
|
|
|
- startOfWater: row.orderBill.startOfWater,
|
|
|
|
|
- endOfWater: row.orderBill.endOfWater,
|
|
|
|
|
- priceOfWater: row.orderBill.priceOfWater,
|
|
|
|
|
- waterVolume: row.orderBill.endOfWater - row.orderBill.startOfWater,
|
|
|
|
|
- allowance: null,
|
|
|
|
|
- cost:
|
|
|
|
|
- row.orderBill.priceOfWater *
|
|
|
|
|
- (row.orderBill.endOfWater - row.orderBill.startOfWater)
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- electricTemList.push({
|
|
|
|
|
- startOfElectric: row.orderBill.startOfElectric,
|
|
|
|
|
- endOfElectric: row.orderBill.endOfElectric,
|
|
|
|
|
- priceOfElectric: row.orderBill.priceOfElectric,
|
|
|
|
|
- electricVolume:
|
|
|
|
|
- row.orderBill.endOfElectric - row.orderBill.startOfElectric,
|
|
|
|
|
- allowance: null,
|
|
|
|
|
- cost:
|
|
|
|
|
- row.orderBill.priceOfElectric *
|
|
|
|
|
- (row.orderBill.endOfElectric - row.orderBill.startOfElectric)
|
|
|
|
|
- });
|
|
|
|
|
- this.waterTable = waterTemList;
|
|
|
|
|
- this.electricTable = electricTemList;
|
|
|
|
|
|
|
+ this.addDialogShow = true;
|
|
|
|
|
+ this.selectTime = true;
|
|
|
|
|
+ this.addTitle = "编辑指纹";
|
|
|
|
|
+ this.icCardInfo = {
|
|
|
|
|
+ id: row.id,
|
|
|
|
|
+ userType: row.userType,
|
|
|
|
|
+ cardId: row.fingerprintNumber,
|
|
|
|
|
+ name: row.holderName,
|
|
|
|
|
+ radio: ""
|
|
|
|
|
+ };
|
|
|
|
|
+ this.startTime = row.takeTime;
|
|
|
|
|
+ this.endTime = row.failureTime;
|
|
|
|
|
+ if (
|
|
|
|
|
+ this.endTime ==
|
|
|
|
|
+ dayjs(this.startTime)
|
|
|
|
|
+ .add(1, "week")
|
|
|
|
|
+ .format("YYYY-MM-DD HH:mm:ss")
|
|
|
|
|
+ ) {
|
|
|
|
|
+ this.icCardInfo.radio = "一个星期";
|
|
|
|
|
+ } else if (
|
|
|
|
|
+ this.endTime ==
|
|
|
|
|
+ dayjs(this.startTime)
|
|
|
|
|
+ .add(1, "month")
|
|
|
|
|
+ .format("YYYY-MM-DD HH:mm:ss")
|
|
|
|
|
+ ) {
|
|
|
|
|
+ this.icCardInfo.radio = "一个月";
|
|
|
|
|
+ } else if (
|
|
|
|
|
+ this.endTime ==
|
|
|
|
|
+ dayjs(this.startTime)
|
|
|
|
|
+ .add(6, "month")
|
|
|
|
|
+ .format("YYYY-MM-DD HH:mm:ss")
|
|
|
|
|
+ ) {
|
|
|
|
|
+ this.icCardInfo.radio = "半年";
|
|
|
|
|
+ } else if (
|
|
|
|
|
+ this.endTime ==
|
|
|
|
|
+ dayjs(this.startTime)
|
|
|
|
|
+ .add(1, "year")
|
|
|
|
|
+ .format("YYYY-MM-DD HH:mm:ss")
|
|
|
|
|
+ ) {
|
|
|
|
|
+ this.icCardInfo.radio = "一年";
|
|
|
|
|
+ } else if (
|
|
|
|
|
+ (this.endTime = dayjs(this.startTime)
|
|
|
|
|
+ .add(100, "year")
|
|
|
|
|
+ .format("YYYY-MM-DD HH:mm:ss"))
|
|
|
|
|
+ ) {
|
|
|
|
|
+ this.icCardInfo.radio = "长期";
|
|
|
}
|
|
}
|
|
|
- this.dialogVisible = true;
|
|
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
//删除按钮回调
|
|
//删除按钮回调
|
|
|
handleDelete(row) {
|
|
handleDelete(row) {
|
|
|
- // console.log(row.order.id);
|
|
|
|
|
- this.$confirm("确认删除?")
|
|
|
|
|
|
|
+ // console.log(row.id);
|
|
|
|
|
+ this.$confirm("确认解绑?")
|
|
|
.then(async () => {
|
|
.then(async () => {
|
|
|
- let res = await this.API.hotelOrder.hotelOrderAdminDelete(
|
|
|
|
|
- row.order.id
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ let res = await this.API.fingerprint.unbundIC({
|
|
|
|
|
+ id: row.id,
|
|
|
|
|
+ statu: 0
|
|
|
|
|
+ });
|
|
|
// console.log(res);
|
|
// console.log(res);
|
|
|
if (res.success) {
|
|
if (res.success) {
|
|
|
- this.$message.success("删除成功");
|
|
|
|
|
|
|
+ this.$message.success("解绑成功");
|
|
|
let totalPage = Math.ceil((this.total - 1) / this.pageSize);
|
|
let totalPage = Math.ceil((this.total - 1) / this.pageSize);
|
|
|
let currentPage =
|
|
let currentPage =
|
|
|
this.curPage > totalPage ? totalPage : this.curPage;
|
|
this.curPage > totalPage ? totalPage : this.curPage;
|
|
@@ -904,7 +898,7 @@ export default {
|
|
|
.order-top {
|
|
.order-top {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
|
|
|
|
+ // justify-content: space-between;
|
|
|
padding: 33px 29px 34px 33px;
|
|
padding: 33px 29px 34px 33px;
|
|
|
font-size: 16px;
|
|
font-size: 16px;
|
|
|
font-weight: 400;
|
|
font-weight: 400;
|
|
@@ -912,6 +906,7 @@ export default {
|
|
|
.add {
|
|
.add {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
|
|
+ margin-left: 400px;
|
|
|
}
|
|
}
|
|
|
.el-button {
|
|
.el-button {
|
|
|
background-color: rgba(41, 109, 227, 1);
|
|
background-color: rgba(41, 109, 227, 1);
|