2024-06-05 15:16:25 +08:00

1039 lines
44 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="fullHeight whiteBlock">
<!--功能被取消-->
<!-- <div class="topBox " v-if="false">
<div>{{$t('message.laborDev.topBoxMsg')}}</div>
<div class="item-main">
<div v-for="(item,index) in devTypeList" @click="choiceDevice(index)" class="item-select">
{{item}}
<img :src="index===beaconForm.supplierType?devIcon.active:devIcon.grey" alt="">
</div>
</div>
</div> -->
<div class="table_wrap">
<div class="titleBox">
<!-- {{$t('message.laborDev.titleBox')}}{{beaconForm.supplierType!=''?devTypeList[parseInt(beaconForm.supplierType)].name:''}}<br><br> -->
<el-button type="primary" @click="addPoint" size="medium">{{$t('message.laborDev.add')}}</el-button>
<el-button
type="primary"
@click="initDialog=true;canCloseInitDialog=true;noEdit=true"
size="medium"
>{{$t('message.laborDev.projectInit')}}
</el-button>
<!-- 对接协议下载 -->
<!-- <span class="downloadBtn primaryText" @click="downloadFn">{{$t('message.laborDev.protocolDownload')}}</span> -->
</div>
<vue-scroll>
<ul class="devList">
<li v-for="(i,index) in pointList" @mousemove="current=index" @mouseleave="current=-1">
<div class="whiteBlock">
<p>{{$t('message.laborDev.devName')}}{{i.devName}}</p>
<div>{{$t('message.laborDev.devSn')}}{{i.devSn}}</div>
<div>{{$t('message.laborDev.in')}}
<tag :type="tagArr[i.isEnter]"
:text="$t('message.laborDev.whetherList')[i.isEnter]"></tag>
</div>
<div>{{$t('message.laborDev.out')}}
<tag :type="tagArr[i.isOut]" :text="$t('message.laborDev.whetherList')[i.isOut]"></tag>
</div>
<!-- <div>进出场时间段进场06:00-12:00出场12:00-05:00</div>-->
<div class="icon-Group">
<p>状态:
<tag text="在线" v-show="i.devOnline==1"></tag>
<tag text="离线" v-show="i.devOnline==0"></tag>
</p>
<div v-if="current===index">
<span @click="editPoint(i)"><i class="el-icon-edit"></i>{{$t('message.laborDev.btn_edit')}}</span>
<span @click="removePoint(i)"><i class="el-icon-delete"></i>{{$t('message.laborDev.btn_delete')}}</span>
</div>
</div>
</div>
</li>
</ul>
<div class="noData" v-if="!pointList.length">
<img src="../../../assets/images/noData.png" alt="">
<p>{{$t('message.laborDev.noData')}}</p>
</div>
</vue-scroll>
<!--<tag text="默认"></tag>
<tag type="normal" text="normal"></tag>
<tag type="grey" text="grey"></tag>
<tag type="violet" text="violet"></tag>
<tag type="warning" text="warning"></tag>
<tag type="danger" text="danger"></tag>
<tag type="success" text="success"></tag>
<tag type="info" text="info"></tag>-->
<!--<el-table class="tables" :data="pointList">
<el-table-column
type="index"
width="50"
align="center"
:label="$t('message.personnelPosition.beaconManage.table.index')"
></el-table-column>
<el-table-column prop="devName" :label="$t('message.laborDev.devName')"
align="center"></el-table-column>
<el-table-column prop="devSn" :label="$t('message.laborDev.devSn')" align="center"></el-table-column>
&lt;!&ndash; <el-table-column :label="$t('message.laborDev.devAddr')" align="center"></el-table-column>&ndash;&gt;
<el-table-column prop="isEnter" :label="$t('message.laborDev.in')" align="center">
<template slot-scope="scope">{{scope.row.isEnter===1?'是':'否'}}</template>
</el-table-column>
<el-table-column prop="isOut" :label="$t('message.laborDev.out')" align="center">
<template slot-scope="scope">{{scope.row.isOut===1?'是':'否'}}</template>
</el-table-column>
<el-table-column
:label="$t('message.personnelPosition.beaconManage.table.operation')"
align="center"
width="250"
>
<template slot-scope="scope">
<div class="tableBtns">
<div @click="editPoint(scope.row)" class="operationText">
<img src="@/assets/images/icon-edit.png" width="15px" height="15px"/>
<span>{{$t('message.personnelPosition.beaconManage.table.edit')}}</span>
</div>
<div @click="removePoint(scope.row)" class="operationText">
<img src="@/assets/images/icon-delete.png" width="15px" height="15px"/>
<span>{{$t('message.personnelPosition.beaconManage.table.delete')}}</span>
</div>
</div>
</template>
</el-table-column>
</el-table>-->
</div>
<!-- 项目初始化 -->
<el-dialog @close="CloseChoiceDevice"
:title="$t('message.laborDev.projectInit')"
:visible.sync="initDialog"
width="667px"
:modal-append-to-body="false"
:show-close="canCloseInitDialog"
:close-on-click-modal="canCloseInitDialog"
>
<div class="dialog_content">
<el-form
size="medium"
:model="beaconForm"
ref="beaconForm"
:rules="beaconFormRules"
label-width="125px"
class="dialogFormBox"
>
<el-form-item :label="$t('message.laborDev.devTypeLabel')" prop="supplierType">
<el-select
v-model="beaconForm.supplierType" :disabled="noEdit"
:placeholder="$t('message.personnelPosition.please_select')"
>
<el-option
:label="item.name"
:value="item.id"
v-for="(item,index) in devTypeList"
:key="index"
></el-option>
</el-select>
<el-button style=" position: absolute;right: -95px;top: 3px;" v-show="beaconForm.supplierType==4" type="primary" @click="openPlat" size="small">
<!-- 打开平台 -->
{{ $t('message.laborDev.openPlatform') }}
</el-button>
</el-form-item>
<!-- v-if="beaconForm.supplierType!=5" -->
<el-form-item :label="$t('message.laborDev.appID')" v-if="![5,7,9].includes(beaconForm.supplierType)" prop="appId" :rules='[
{
required: true,
message: this.$t("message.personnelPosition.required"),
trigger: ["blur", "change"],
}
]'>
<el-input :disabled="noEdit"
v-model="beaconForm.appId"
:placeholder="$t('message.personnelPosition.please_enter')"
></el-input>
</el-form-item>
<el-form-item v-if="![4,5,6,7,9].includes(beaconForm.supplierType)" :label="$t('message.laborDev.projectAppKey')" prop="appKey" :rules='[
{
required: true,
message: this.$t("message.personnelPosition.required"),
trigger: ["blur", "change"],
}
]'>
<el-input :disabled="noEdit"
v-model="beaconForm.appKey"
:placeholder="$t('message.personnelPosition.please_enter')"
></el-input>
</el-form-item>
<el-form-item v-if="![5,6,7,9].includes(beaconForm.supplierType)" :label="$t('message.laborDev.projectAppSecret')" prop="appSecret" :rules='[
{
required: true,
message: this.$t("message.personnelPosition.required"),
trigger: ["blur", "change"],
}
]'>
<el-input :disabled="noEdit"
v-model="beaconForm.appSecret"
:placeholder="$t('message.personnelPosition.please_enter')"
></el-input>
</el-form-item>
<!-- 推送服务器地址 -->
<el-form-item v-if="beaconForm.supplierType==6 || beaconForm.supplierType==5" :label="$t('message.laborDev.pushServerAddress')" prop="serviceUrl" :rules='[
{
required: true,
message: this.$t("message.personnelPosition.required"),
trigger: ["blur", "change"],
}
]'>
<el-input :disabled="noEdit"
v-model="beaconForm.serviceUrl"
:placeholder="$t('message.personnelPosition.please_enter')"
></el-input>
</el-form-item>
<el-form-item :label="$t('message.laborDev.isSendToDev')" prop="issueDev">
<!-- 否 -->
<el-radio :disabled="noEdit" v-model="beaconForm.issueDev" :label="0">{{$t('message.laborDev.whetherList')[0]}}</el-radio>
<!-- 是 -->
<el-radio :disabled="noEdit" v-model="beaconForm.issueDev" :label="1">{{$t('message.laborDev.whetherList')[1]}}</el-radio>
</el-form-item>
<el-form-item :label="$t('message.laborDev.uploadToGover')" prop="housing">
<el-checkbox-group v-model="selectedHousingList">
<el-checkbox v-for="(item,index) in housingList" :key="index" :label="item.id+''">{{item.serviceName}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<div class="dialog-footer">
<!-- 取消按钮 -->
<el-button
type="primary"
plain
icon="el-icon-circle-close"
@click="cancelBeaconFn"
size="medium"
>取消
</el-button>
<el-button
type="primary"
icon="el-icon-circle-check"
@click="saveBeaconFn"
size="medium"
>{{$t('message.personnelPosition.determine')}}
</el-button>
</div>
</el-form>
</div>
</el-dialog>
<!-- 添加编辑设备 -->
<el-dialog
@close="DevClose"
:modal-append-to-body="false"
:title="addEditDialogTitle"
:visible.sync="addEditDialog"
width="967px"
>
<div class="dialog_content">
<vue-scroll style="height: 500px">
<el-form
size="medium"
:model="addEditForm"
ref="addEditForm"
:rules="addEditFormRules"
label-width="120px"
class="dialogFormBox"
>
<el-form-item :label="$t('message.laborDev.devName')" prop="devName">
<el-input
v-model="addEditForm.devName"
:placeholder="$t('message.personnelPosition.please_enter')"
></el-input>
</el-form-item>
<el-form-item :label="$t('message.laborDev.devSn')" prop="devSn">
<el-input :disabled="!isAdd"
v-model="addEditForm.devSn"
:placeholder="$t('message.personnelPosition.please_enter')"
></el-input>
</el-form-item>
<!-- 归属区域 -->
<el-form-item v-if="company == 'nanchang'" :label="$t('message.laborDev.devGroupType')" prop="devGroupType">
<el-select :disabled="!isAdd"
v-model="addEditForm.devGroupType"
:placeholder="$t('message.personnelPosition.please_select')"
>
<el-option
:label="item.name"
:value="item.id"
v-for="(item,index) in devGroupTypeList"
:key="index"
></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('message.laborDev.in')" prop="enterTime">
<el-radio-group v-model="addEditForm.isEnter" @change="changRadio(addEditForm.isEnter,'enter')">
<el-radio :label="0">{{$t('message.laborDev.whetherList')[0]}}</el-radio>
<el-radio :label="1">{{$t('message.laborDev.whetherList')[1]}}</el-radio>
</el-radio-group>
<el-checkbox v-show="addEditForm.isEnter===1" style="display:block" :indeterminate="isIndeterminate" v-model="checkAllEnter" @change="handleCheckAllChange(checkAllEnter,'enter')">
<!-- 全选 -->
{{ $t('message.laborDev.selectAll') }}
</el-checkbox>
<el-checkbox-group v-show="addEditForm.isEnter===1" v-model="enableInList" @change="handleCheckedChange(enableInList,'enter')">
<!--i.type=!i.type-->
<el-checkbox
v-for="i in timeList"
:value="i.id"
:label="i.id"
@change="setEnableIn(i,i.id)"
:key="i.id"
:checked="i.type"
>{{i.name}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item :label="$t('message.laborDev.out')" prop="outTime">
<el-radio-group v-model="addEditForm.isOut" @change="changRadio(addEditForm.isOut,'out')">
<el-radio :label="0">{{$t('message.laborDev.whetherList')[0]}}</el-radio>
<el-radio :label="1">{{$t('message.laborDev.whetherList')[1]}}</el-radio>
</el-radio-group>
<el-checkbox v-show="addEditForm.isOut===1" style="display:block" :indeterminate="isIndeterminate2" v-model="checkAllOut" @change="handleCheckAllChange(checkAllOut,'out')">
<!-- 全选 -->
{{ $t('message.laborDev.selectAll') }}
</el-checkbox>
<el-checkbox-group v-show="addEditForm.isOut===1" v-model="enableOutList" @change="handleCheckedChange(enableOutList,'out')">
<el-checkbox
v-for="i in timeList"
:value="i.id"
:label="i.id"
:key="i.id"
@change="setEnableOut(i,i.id)"
:checked="i.type"
>{{i.name}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
</vue-scroll>
<div class="dialog-footer">
<el-button
class="cancleBtn"
@click="addEditDialog = false"
icon="el-icon-circle-close"
size="medium"
>{{$t('message.personnelPosition.cancel')}}
</el-button>
<el-button
type="primary"
icon="el-icon-circle-check"
@click="saveDevFn"
size="medium"
>{{$t('message.personnelPosition.determine')}}
</el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import tag from '@/components/tag';
import {
getProjectUfaceConfigInfo,
projectUfaceConfigEdit,
ufaceDevAdd,
ufaceDevEdit,
ufaceDevDelete,
ufaceDevList,selectHousingListApi
} from "../../../assets/js/api/laborPerson";
export default {
components: {
tag
},
data() {
return {
checkAllEnter: false,
isIndeterminate: false,
checkAllOut: false,
isIndeterminate2: false,
noEdit: true,//不允许配置信息
record: [],//用于储存选择前的
devIcon: {
active: require('../../../assets/images/switch_active.png'),
grey: require('../../../assets/images/switch.png'),
},
current: -1,
// selectDev: '',
tagArr: ['info', 'success'],
enableInList: [], //入场时间
enableOutList: [], //出场时间
pointList: [],
initDialog: false,
beaconForm: {
supplierType: '',
appId: "",
appSecret: "",
appKey: "",
projectSn: this.$store.state.projectSn,
housing:'',
issueDev:"",
serviceUrl:''
},
beaconFormRules: {
supplierType: [
{
required: true,
message: this.$t("message.personnelPosition.required"),
trigger: "blur",
},
],
// appId: [
// {
// required: true,
// message: this.$t("message.personnelPosition.required"),
// trigger: "blur",
// },
// {
// required: true,
// message: this.$t("message.personnelPosition.required"),
// trigger: "change",
// },
// ],
// appSecret: [
// {
// required: true,
// message: this.$t("message.personnelPosition.required"),
// trigger: "blur",
// },
// {
// required: true,
// message: this.$t("message.personnelPosition.required"),
// trigger: "change",
// },
// ],
issueDev:[
{
required: true,
message: this.$t("message.personnelPosition.required"),
trigger: "change",
},
],
},
addEditDialog: false,
addEditDialogTitle: "",
addEditForm: {
devName: '',
devSn: '',
isEnter: '',
isOut: '',
devGroupType: 1
},
addEditFormRules: {
devName: [
{
required: true,
message: this.$t("message.personnelPosition.required"),
trigger: "blur",
},
{
required: true,
message: this.$t("message.personnelPosition.required"),
trigger: "change",
},
],
devSn: [
{
required: true,
message: this.$t("message.personnelPosition.required"),
trigger: "blur",
},
{
required: true,
message: this.$t("message.personnelPosition.required"),
trigger: "change",
},
],
devGroupType: [
{
required: true,
message: this.$t("message.personnelPosition.required"),
trigger: "change",
},
]
},
isAdd: true,
devTypeList: this.$t("message.laborDev.devTypeList"),
// devTypeList:[{name:'杭州宇泛智能科技',id:1},{name:'芊熠智能',id:4},{name:'佳信捷',id:6}],
devGroupTypeList: this.$t("message.laborDev.devGroupTypeList"),
canCloseInitDialog: false,
timeList: [
{id: 0, name: "00:01~01:00"},
{id: 1, name: "01:01~02:00"},
{id: 2, name: "02:01~03:00"},
{id: 3, name: "03:01~04:00"},
{id: 4, name: "04:01~05:00"},
{id: 5, name: "05:01~06:00"},
{id: 6, name: "06:01~07:00"},
{id: 7, name: "07:01~08:00"},
{id: 8, name: "08:01~09:00"},
{id: 9, name: "09:01~10:00"},
{id: 10, name: "10:01~11:00"},
{id: 11, name: "11:01~12:00"},
{id: 12, name: "12:01~13:00"},
{id: 13, name: "13:01~14:00"},
{id: 14, name: "14:01~15:00"},
{id: 15, name: "15:01~16:00"},
{id: 16, name: "16:01~17:00"},
{id: 17, name: "17:01~18:00"},
{id: 18, name: "18:01~19:00"},
{id: 19, name: "19:01~20:00"},
{id: 20, name: "20:01~22:00"},
{id: 21, name: "21:01~23:00"},
{id: 22, name: "22:01~24:00"},
{id: 23, name: "23:01~00:00"},
],
housingList:[],
selectedHousingList:[],
};
},
created() {
this.company = COMPANY;
console.log(this.company)
},
mounted() {
this.getConfig();
this.selectHousingList()
this.getList()
},
methods: {
handleCheckAllChange(val,type){
if(type == 'enter'){
this.enableInList = val ? [ 0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,] : [];
this.isIndeterminate = false;
} else if(type == 'out'){
this.enableOutList = val ? [ 0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,] : [];
this.isIndeterminate2 = false;
}
},
handleCheckedChange(val,type){
let checkedCount = val.length;
if(type == 'enter'){
this.checkAllEnter = checkedCount === this.timeList.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.timeList.length;
} else if(type == 'out'){
this.checkAllOut = checkedCount === this.timeList.length;
this.isIndeterminate2 = checkedCount > 0 && checkedCount < this.timeList.length;
}
},
changRadio(val,type){
console.log(val,type)
if(type == 'enter'){
this.isIndeterminate = false;
this.checkAllEnter = false
this.enableInList = []
} else if(type == 'out'){
this.enableOutList = []
this.checkAllOut = false
this.isIndeterminate2 = false;
}
},
downloadFn(){
// HTTP人脸设备对接协议
window.open('/doc/'+this.$t("message.laborDev.faceDockingProtocol")+'.docx')
},
openPlat(){
window.open('http://scenario.qy-rgs.com:9000/auth/page')
},
selectHousingList(){
selectHousingListApi({}).then((res) => {
console.log('=======',res)
this.housingList=res.result
});
},
getConfig() {
getProjectUfaceConfigInfo({
projectSn: this.$store.state.projectSn,
}).then((result) => {
if (result.success) {
if (!result.result) {
console.log("弹窗");
// this.canCloseInitDialog = true;
this.noEdit = false;
this.initDialog = true;
} else {
this.beaconForm = result.result;
if(this.beaconForm.housing){
if(this.beaconForm.housing.indexOf(',')!=-1){
this.selectedHousingList=this.beaconForm.housing.split(',')
}else{
this.selectedHousingList=[this.beaconForm.housing]
}
}
// console.log("配置", result.result);
// this.selectDev = result.result.supplierType;
this.getList();
}
}
});
},
getList() {
ufaceDevList({projectSn: this.$store.state.projectSn}).then((list) => {
console.log("列表", list);
this.pointList = list.result;
});
},
setEnableIn(i, id) {
// this.enableOutList=[];
i.type = !i.type;
// this.enableOutList.push(id);
// this.timeList[index]=id;
console.log(
"a入厂时间",
this.enableInList,
"出厂时间",
this.enableOutList
);
},
setEnableOut(i, id) {
// this.enableInList=[];
i.type = !i.type;
/*this.enableInList.map(value => {
if (value === id) {
console.log('val', value)
}
})*/
console.log(id)
// this.enableInList.forEach((item,index)=>{
// if(item != id){
// this.enableInList.push(id);
// return;
// }else{
// this.enableInList.splice(index,1)
// return;
// }
// })
console.log(
"b入厂时间",
this.enableInList,
"出厂时间",
this.enableOutList
);
},
addPoint() {
this.isAdd = true;
this.addEditDialogTitle = this.$t("message.laborDev.add");
this.addEditDialog = true;
},
editPoint(devInfo) {
this.isAdd = false;
this.addEditDialogTitle = this.$t("message.laborDev.edit"); //编辑卡片
this.addEditForm = devInfo;
console.log("编辑", devInfo);
// this.enableInList = [1]
// this.enableOutList = [2,3]
if(devInfo.enterTime){
this.enableInList = devInfo.enterTime.split(",").map(Number).sort(function(a, b){return a - b});
if(this.enableInList.length>0){
let checkedCount = this.enableInList.length;
this.checkAllEnter = checkedCount === this.timeList.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.timeList.length;
}
} else {
this.enableInList = []
}
if(devInfo.outTime){
this.enableOutList = devInfo.outTime.split(",").map(Number).sort(function(a, b){return a - b});
if(this.enableOutList.length>0){
let checkedCount = this.enableOutList.length;
this.checkAllOut = checkedCount === this.timeList.length;
this.isIndeterminate2 = checkedCount > 0 && checkedCount < this.timeList.length;
}
}
console.log("入厂时间转", this.enableInList);
console.log("出厂时间转", this.enableOutList);
this.addEditDialog = true;
},
removePoint(item) {
this.$confirm(
this.$t("message.personnelPosition.beaconManage.table.confirmText") +
"【" +
item.devName +
"】?",
this.$t("message.personnelPosition.beaconManage.table.Tips"),
{
confirmButtonText: this.$t(
"message.personnelPosition.confirmButtonText"
),
cancelButtonText: this.$t(
"message.personnelPosition.cancelButtonText"
),
type: "warning",
}
)
.then(() => {
ufaceDevDelete({id: item.id}).then((res) => {
this.$message.success(
this.$t("message.personnelPosition.delete_success")
); //删除成功!
this.getList();
});
})
},
// 取消
cancelBeaconFn(){
this.initDialog = false
this.beaconForm= {
supplierType: '',
appId: "",
appSecret: "",
appKey: "",
projectSn: this.$store.state.projectSn,
housing:'',
issueDev:"",
serviceUrl:''
}
},
saveBeaconFn() {
this.$refs["beaconForm"].validate((valid) => {
if (valid) {
if(this.selectedHousingList.length>0){
this.beaconForm.housing=this.selectedHousingList.join(',')
}else{
this.beaconForm.housing=0
}
projectUfaceConfigEdit(this.beaconForm).then((res) => {
console.log('初始化设备',res)
this.getConfig();//???获取配置
// this.getList();
this.$message.success(
this.$t("message.personnelPosition.add_success")
); //添加成功!
this.beaconDialog = false;
this.initDialog = false;
});
} else {
console.log("error submit!!");
return false;
}
});
},
isRepeat(arr){
let obj = {};
for(var i in arr){
if(obj[arr[i]]){
return true;
}
obj[arr[i]] = true
}
return false
},
//添加或编辑设备
saveDevFn() {
this.$refs["addEditForm"].validate((valid) => {
if (valid) {
if ((this.addEditForm.isEnter === 0 || this.addEditForm.isEnter === '') && (this.addEditForm.isOut === 0 || this.addEditForm.isOut === '')) {
this.$message.error(this.$t("message.laborDev.error"));
return;
}
let arr = []
this.enableInList.forEach(item=>{
arr.push(item)
})
this.enableOutList.forEach(item=>{
arr.push(item)
})
console.log(arr)
if(this.isRepeat(arr)){
this.$message.error(this.$t("message.laborDev.error1")); // 同一时间段内无法同时选择进出!
return;
}
if (this.isAdd) {
// if (this.enableInList.length + this.enableOutList.length === 24) {
console.log(
"$入厂时间",
this.enableInList,
"出厂时间",
this.enableOutList
);
this.addEditForm.enterTime = this.enableInList.join(",");
this.addEditForm.outTime = this.enableOutList.join(",");
this.addEditForm.projectSn = this.$store.state.projectSn;
console.log("信息", this.addEditForm);
ufaceDevAdd(this.addEditForm).then((result) => {
console.log("设备添加成功", result);
this.$message.success(result.message);
this.addEditDialog = false;
this.getList();
this.resetForm()
});
// } else {
// console.log('入场出场时间不完整', this.enableInList, this.enableOutList)
// }
/*addPositionBeaconApi(this.addEditForm).then((res) => {
this.beaconDialog = false;
this.loadBeaconData();
this.$message.success(
this.$t("message.personnelPosition.add_success")
); //添加成功!
});*/
} else {
//editPositionBeaconApi
this.addEditForm.enterTime = this.enableInList.join(",");
this.addEditForm.outTime = this.enableOutList.join(",");
console.log("信息", this.addEditForm);
delete this.addEditForm.heartBeatTime;
ufaceDevEdit(this.addEditForm).then((res) => {
this.beaconDialog = false;
this.getList();
this.$message.success(
this.$t("message.personnelPosition.edit_success")
); //编辑成功!
this.resetForm()
this.addEditDialog = false;
});
}
} else {
console.log("error submit!!");
return false;
}
});
},
resetForm(){
this.addEditForm.enterTime = [];
this.addEditForm.outTime = [];
this.checkAllEnter = false
this.isIndeterminate = false
this.checkAllOut = false
this.isIndeterminate2 = false
},
DevClose() {
// Object.assign(this.$data.enableInList, this.$options.data().enableInList)
this.enableInList = [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
];
this.enableOutList = [];
this.addEditForm = {
devName: '',
devSn: '',
isEnter: '',
isOut: '',
devGroupType: 1
}
this.$nextTick(() => {
this.$refs.addEditForm.clearValidate();
})
},
choiceDevice(index) {
if (this.beaconForm.supplierType !== index) {
this.record = [];
this.record.push(this.beaconForm.supplierType);
console.log('this.beaconForm.supplierType', this.beaconForm.supplierType)
this.canCloseInitDialog = true;
this.initDialog = true;
this.beaconForm.supplierType = index;
// this.beaconForm.selectDev = index;
console.log('历史记录', this.record)
}
},
CloseChoiceDevice() {
// this.beaconForm.supplierType = this.record[0];
}
},
};
</script>
<style lang="less" scoped>
.flex {
display: flex;
}
.noData {
.flex;
flex-direction: column;
align-items: center;
margin-top: 5%;
> p {
margin-top: 10px;
}
}
.topBox {
padding: 20px 25px;
.item-main {
.flex;
.item-select {
.flex;
align-items: center;
padding-top: 16px;
margin-right: 69px;
img {
margin-left: 10px;
}
}
}
}
.titleBox {
padding: 20px 0 0 25px;
position: relative;
// margin-top: 20px;
}
.devList {
.flex;
flex-wrap: wrap;
/*background-color: #f3f5fd;*/
padding: 24px 25px;
> li {
width: 33.33%;
/*background-color: #f3f5fd;*/
box-sizing: border-box;
> p {
color: rgba(38, 45, 71, 100);
font-size: 16px;
font-weight: bold;
}
> div {
padding: 18px 25px;
word-break: break-word;
border-radius: 3px;
border: 1px solid @borderColor;
margin: 0 24px 20px 0;
> div {
opacity: 0.8;
font-size: 14px;
margin-top: 7px;
}
}
.icon-Group {
.flex;
justify-content: space-between;
margin-top: 17px;
> div > span {
opacity: 0.6;
cursor: pointer;
margin-right: 20px;
}
.el-icon-edit, .el-icon-delete {
margin-right: 10px;
}
.el-icon-edit {
color: #3A7BFF;
}
.el-icon-delete {
color: red;
}
}
}
> li:nth-child(3n+3) > div {
margin-right: 0;
}
// > li > div:hover {
// background-color: rgba(243, 245, 255, 1);
// box-shadow: 0 1px 8px 2px rgba(81, 129, 246, 0.16);
// }
}
.dialogFormBox {
/*width: 840px;*/
}
.downloadBtn{
position: absolute;
right: 20px;
top: 25px;
text-decoration: underline;
cursor: pointer;
}
</style>