设备事件

master
guochaojie 4 months ago
parent 83af3321d2
commit 75e88503f1

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-06-18
* 2024-07-01
*/
public interface RecycleDeviceEventMapper extends BaseMapper<RecycleDeviceEventEntity> {

@ -11,7 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-06-18
* 2024-07-01
*/
public interface RecycleDeviceEventService extends IService<RecycleDeviceEventEntity> {
List<RecycleDeviceEventEntity> getList(RecycleDeviceEventPagination recycleDeviceEventPagination);

@ -36,7 +36,7 @@ import jnpf.permission.entity.UserEntity;
* V3.5
* https://www.jnpfsoft.com
* JNPF
* 2024-06-18
* 2024-07-01
*/
@Service
public class RecycleDeviceEventServiceImpl extends ServiceImpl<RecycleDeviceEventMapper, RecycleDeviceEventEntity> implements RecycleDeviceEventService{
@ -173,45 +173,35 @@ public class RecycleDeviceEventServiceImpl extends ServiceImpl<RecycleDeviceEven
}
if(ObjectUtil.isNotEmpty(recycleDeviceEventPagination.getBucketCode())){
if(ObjectUtil.isNotEmpty(recycleDeviceEventPagination.getEventType())){
recycleDeviceEventNum++;
List<String> idList = new ArrayList<>();
try {
String[][] bucketCode = JsonUtil.getJsonToBean(recycleDeviceEventPagination.getBucketCode(),String[][].class);
for(int i=0;i<bucketCode.length;i++){
if(bucketCode[i].length>0){
idList.add(JsonUtil.getObjectToString(Arrays.asList(bucketCode[i])));
String[][] eventType = JsonUtil.getJsonToBean(recycleDeviceEventPagination.getEventType(),String[][].class);
for(int i=0;i<eventType.length;i++){
if(eventType[i].length>0){
idList.add(JsonUtil.getObjectToString(Arrays.asList(eventType[i])));
}
}
}catch (Exception e1){
try {
List<String> bucketCode = JsonUtil.getJsonToList(recycleDeviceEventPagination.getBucketCode(),String.class);
if(bucketCode.size()>0){
idList.addAll(bucketCode);
List<String> eventType = JsonUtil.getJsonToList(recycleDeviceEventPagination.getEventType(),String.class);
if(eventType.size()>0){
idList.addAll(eventType);
}
}catch (Exception e2){
idList.add(String.valueOf(recycleDeviceEventPagination.getBucketCode()));
idList.add(String.valueOf(recycleDeviceEventPagination.getEventType()));
}
}
recycleDeviceEventQueryWrapper.lambda().and(t->{
idList.forEach(tt->{
t.like(RecycleDeviceEventEntity::getBucketCode, tt).or();
t.like(RecycleDeviceEventEntity::getEventType, tt).or();
});
});
}
if(ObjectUtil.isNotEmpty(recycleDeviceEventPagination.getEventType())){
recycleDeviceEventNum++;
String value = recycleDeviceEventPagination.getEventType() instanceof List ?
JsonUtil.getObjectToString(recycleDeviceEventPagination.getEventType()) :
String.valueOf(recycleDeviceEventPagination.getEventType());
recycleDeviceEventQueryWrapper.lambda().like(RecycleDeviceEventEntity::getEventType,value);
}
if(ObjectUtil.isNotEmpty(recycleDeviceEventPagination.getIsLocal())){
recycleDeviceEventNum++;
@ -229,10 +219,13 @@ public class RecycleDeviceEventServiceImpl extends ServiceImpl<RecycleDeviceEven
if(ObjectUtil.isNotEmpty(recycleDeviceEventPagination.getEventTime())){
recycleDeviceEventNum++;
String value = recycleDeviceEventPagination.getEventTime() instanceof List ?
JsonUtil.getObjectToString(recycleDeviceEventPagination.getEventTime()) :
String.valueOf(recycleDeviceEventPagination.getEventTime());
recycleDeviceEventQueryWrapper.lambda().like(RecycleDeviceEventEntity::getEventTime,value);
List EventTimeList = JsonUtil.getJsonToList(recycleDeviceEventPagination.getEventTime(),String.class);
Long fir = Long.valueOf(String.valueOf(EventTimeList.get(0)));
Long sec = Long.valueOf(String.valueOf(EventTimeList.get(1)));
recycleDeviceEventQueryWrapper.lambda().ge(RecycleDeviceEventEntity::getEventTime, new Date(fir))
.le(RecycleDeviceEventEntity::getEventTime, DateUtil.stringToDate(DateUtil.daFormatYmd(sec) + " 23:59:59"));
}

@ -5,24 +5,16 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jnpf.base.ActionResult;
import jnpf.base.UserInfo;
import jnpf.base.vo.PageListVO;
import jnpf.base.vo.PaginationVO;
import jnpf.entity.RecycleBucketEntity;
import jnpf.entity.RecycleCameraEntity;
import jnpf.entity.RecycleDeviceEntity;
import jnpf.entity.SimCardEntity;
import jnpf.entity.*;
import jnpf.model.recycledevice.Command;
import jnpf.model.recycledevice.RecycleDeviceConstant;
import jnpf.model.recycledevice.RecycleDeviceForm;
import jnpf.model.recycledevice.RecycleDevicePagination;
import jnpf.service.RecycleBucketService;
import jnpf.service.RecycleCameraService;
import jnpf.service.RecycleDeviceService;
import jnpf.service.SimCardService;
import jnpf.util.GeneraterSwapUtil;
import jnpf.util.JsonUtil;
import jnpf.util.StringUtil;
import jnpf.util.UserProvider;
import jnpf.service.*;
import jnpf.util.*;
import jnpf.utils.CustomerMqttClient;
import lombok.extern.slf4j.Slf4j;
import oracle.jdbc.proxy.annotation.Post;
@ -35,6 +27,7 @@ import javax.annotation.Resource;
import javax.validation.Valid;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -67,6 +60,8 @@ public class RecycleDeviceController {
@Resource
private RecycleCameraService cameraService;
@Resource
private RecycleDeviceEventService eventService;
@Resource
private CustomerMqttClient mqttClient;
@ -267,8 +262,24 @@ public class RecycleDeviceController {
@Operation(summary = "远程发送命令")
@PostMapping("/command")
public ActionResult command(@RequestBody Command command) {
UserInfo userInfo = userProvider.get();
Date nowDate = DateUtil.getNowDate();
String deviceCode = command.getDeviceCode();
mqttClient.publish(deviceCode + "/command", JSONUtil.toJsonStr(command));
//记录命令下发
RecycleDeviceEventEntity event = new RecycleDeviceEventEntity();
event.setDeviceCode(command.getDeviceCode());
if (null != command.getData() && !"".equals(command.getData().toString()))
event.setBucketCode(command.getData().toString());
event.setEventTime(nowDate);
event.setEventType(command.getCmd().getValue());
event.setEventDesc("手动远程控制,命令下发!");
event.setCompanyId(userInfo.getOrganizeId());
event.setCreateTime(nowDate);
event.setCreateUserId(userInfo.getUserId());
eventService.save(event);
return ActionResult.success("命令已发送!");
}

@ -34,7 +34,7 @@ import org.springframework.transaction.annotation.Transactional;
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-06-18
* @ 2024-07-01
*/
@Slf4j
@RestController

@ -25,7 +25,7 @@ public class RecycleDeliveryOrderEntity {
@TableField(value = "ORDER_NO" , updateStrategy = FieldStrategy.IGNORED)
private String orderNo;
@TableField(value = "DEVICE_ORDER_NO" , updateStrategy = FieldStrategy.IGNORED)
private Integer deviceOrderNo;
private String deviceOrderNo;
@TableField(value = "DEVICE_CODE" , updateStrategy = FieldStrategy.IGNORED)
private String deviceCode;
@TableField(value = "BUCKET_CODE" , updateStrategy = FieldStrategy.IGNORED)

@ -9,7 +9,7 @@ import java.util.Date;
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-06-18
* @ 2024-07-01
*/
@Data
@TableName("nx_recycle_device_event")
@ -52,4 +52,10 @@ public class RecycleDeviceEventEntity {
private String organizeJsonId;
@TableField("F_FLOW_ID")
private String flowId;
@TableField("ORDER_NO")
private String orderNo;
@TableField("PHONE")
private String phone;
@TableField("ORDER_TYPE")
private String orderType;
}

@ -10,7 +10,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-06-18
* @ 2024-07-01
*/
@Data
public class RecycleDeviceEventForm {
@ -25,11 +25,11 @@ public class RecycleDeviceEventForm {
private Object bucketCode;
/** 门号 **/
@JsonProperty("doorNum")
private String doorNum;
private Object doorNum;
/** 事件类型 **/
@JsonProperty("eventType")
private String eventType;
/** 事件时间 **/
private Object eventType;
/** 发生时间 **/
@JsonProperty("eventTime")
private String eventTime;
/** 事件描述 **/

@ -11,7 +11,7 @@ import java.util.List;
* @ V3.5
* @ https://www.jnpfsoft.com
* @ JNPF
* @ 2024-06-18
* @ 2024-07-01
*/
@Data
public class RecycleDeviceEventPagination extends Pagination {
@ -30,9 +30,6 @@ public class RecycleDeviceEventPagination extends Pagination {
/** 设备编码 */
@JsonProperty("deviceCode")
private Object deviceCode;
/** 桶编码 */
@JsonProperty("bucketCode")
private Object bucketCode;
/** 事件类型 */
@JsonProperty("eventType")
private Object eventType;

@ -227,30 +227,37 @@
<jnpf-form-tip-item label="租户" prop="tenantId">
<JnpfOrganizeSelect v-model="dataForm.tenantId" @change="changeData('tenantId', -1)"
placeholder="请选择" selectType="all" :ableIds="ableAll.tenantIdableIds" clearable
:style='{ "width": "100%" }'>
</JnpfOrganizeSelect>
</jnpf-form-tip-item>
</el-col>
<!-- 表单结束 -->
</template>
</el-form>
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm" ref="selectDialog"
@select="addForSelect" @close="selectDialogVisible = false" />
</el-row>
</div>
</transition>
:style='{"width":"100%"}'>
</JnpfOrganizeSelect>
</jnpf-form-tip-item>
</el-col>
<!-- 表单结束 -->
</template>
</el-form>
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm"
ref="selectDialog" @select="addForSelect" @close="selectDialogVisible=false"/>
</el-row>
</div>
</transition>
</template>
<script>
import request from '@/utils/request'
import { mapGetters } from "vuex";
import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
import { getDefaultCurrentValueUserId } from '@/api/permission/user'
import { getDefaultCurrentValueDepartmentId } from '@/api/permission/organize'
import { getDateDay, getLaterData, getBeforeData, getBeforeTime, getLaterTime } from '@/components/Generator/utils/index.js'
import { thousandsFormat } from "@/components/Generator/utils/index"
import {mapGetters} from "vuex";
import {getDataInterfaceRes} from '@/api/systemData/dataInterface'
import {getDictionaryDataSelector} from '@/api/systemData/dictionary'
import {getDefaultCurrentValueUserId} from '@/api/permission/user'
import {getDefaultCurrentValueDepartmentId} from '@/api/permission/organize'
import {
getDateDay,
getLaterData,
getBeforeData,
getBeforeTime,
getLaterTime
} from '@/components/Generator/utils/index.js'
import {thousandsFormat} from "@/components/Generator/utils/index"
export default {
components: {},
props: [],
@ -319,8 +326,29 @@ export default {
tenantId: [],
},
tableRequiredData: {},
dataRule:
dataRule:
{
bucketName: [
{
required: true,
message: '请输入',
trigger: 'blur'
},
],
showName: [
{
required: true,
message: '请输入',
trigger: 'blur'
},
],
doorNum: [
{
required: true,
message: '请选择',
trigger: 'change'
},
],
deviceCode: [
{
required: true,
@ -328,6 +356,118 @@ export default {
trigger: 'change'
},
],
isShow: [
{
required: true,
message: '请至少选择一个',
trigger: 'change'
},
],
showOrd: [
{
required: true,
message: '数字文本',
trigger: ["blur", "change"]
},
],
status: [
{
required: true,
message: '不能为空',
trigger: 'change'
},
],
productCode: [
{
required: true,
message: '请至少选择一个',
trigger: 'change'
},
],
price: [
{
required: true,
message: '数字文本',
trigger: ["blur", "change"]
},
],
fullSet: [
{
required: true,
message: '不能为空',
trigger: 'change'
},
],
fullStatus: [
{
required: true,
message: '不能为空',
trigger: 'change'
},
],
currentWeight: [
{
required: true,
message: '请输入',
trigger: 'blur'
},
],
smogSet: [
{
required: true,
message: '请至少选择一个',
trigger: 'change'
},
],
smogStatus: [
{
required: true,
message: '不能为空',
trigger: 'change'
},
],
containerWeight: [
{
required: true,
message: '请输入',
trigger: 'blur'
},
],
warningWeight: [
{
required: true,
message: '请输入',
trigger: 'blur'
},
],
closeDelay: [
{
required: true,
message: '请输入',
trigger: 'blur'
},
],
bagNo: [
{
required: true,
message: '请输入',
trigger: 'blur'
},
],
deliveryDoorStatus: [
{
required: true,
message: '不能为空',
trigger: 'change'
},
],
cleanDoorStatus: [
{
required: true,
message: '不能为空',
trigger: 'change'
},
],
},
doorNumOptions: [{ "fullName": "1号", "id": "1" }, { "fullName": "2号", "id": "2" }, { "fullName": "3号", "id": "3" }, { "fullName": "4号", "id": "4" }, { "fullName": "5号", "id": "5" }, { "fullName": "6号", "id": "6" }, { "fullName": "7号", "id": "7" }, { "fullName": "8号", "id": "8" }, { "fullName": "9号", "id": "9" }, { "fullName": "10号", "id": "10" }, { "fullName": "11号", "id": "11" }, { "fullName": "12号", "id": "12" }],
doorNumProps: { "label": "fullName", "value": "id" },

@ -7,73 +7,73 @@
<el-form ref="formRef" :model="dataForm" size="small" label-width="100px" label-position="right" >
<template v-if="!loading">
<el-col :span="24" >
<jnpf-form-tip-item label="设备编码"
<jnpf-form-tip-item label="设备编码"
prop="deviceCode" >
<p>{{ dataForm.deviceCode }} </p>
<p>{{dataForm.deviceCode}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="桶编码"
<jnpf-form-tip-item label="桶编码"
prop="bucketCode" >
<p>{{dataForm.bucketCode}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="门号"
<jnpf-form-tip-item label="门号"
prop="doorNum" >
<p>{{dataForm.doorNum}}</p>
<p>{{ dataForm.doorNum }} </p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="事件类型"
<jnpf-form-tip-item label="事件类型"
prop="eventType" >
<p>{{dataForm.eventType}}</p>
<p>{{ dataForm.eventType }} </p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="事件时间"
<jnpf-form-tip-item label="发生时间"
prop="eventTime" >
<p>{{dataForm.eventTime}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="事件描述"
<jnpf-form-tip-item label="事件描述"
prop="eventDesc" >
<p>{{dataForm.eventDesc}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="本地调用"
<jnpf-form-tip-item label="本地调用"
prop="isLocal" >
<p>{{ dataForm.isLocal }} </p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="事件结果"
<jnpf-form-tip-item label="事件结果"
prop="eventResult" >
<p>{{ dataForm.eventResult }} </p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="创建用户"
<jnpf-form-tip-item label="创建用户"
prop="createUserId" >
<p>{{dataForm.createUserId}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="创建时间"
<jnpf-form-tip-item label="创建时间"
prop="createTime" >
<p>{{dataForm.createTime}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="所属组织"
<jnpf-form-tip-item label="所属组织"
prop="organizeJsonId" >
<p>{{dataForm.organizeJsonId}}</p>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item label="部门"
<jnpf-form-tip-item label="部门"
prop="departmentId" >
<p>{{dataForm.departmentId}}</p>
</jnpf-form-tip-item>
@ -107,8 +107,8 @@
id :'',
deviceCode : "",
bucketCode : "",
doorNum : '',
eventType : '',
doorNum : "",
eventType : "",
eventTime : '',
eventDesc : '',
isLocal : '',
@ -118,9 +118,12 @@
organizeJsonId : "",
departmentId : "",
},
deviceCodeOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
deviceCodeProps:{"label":"fullName","value":"id" },
bucketCodeProps:{"label":"device_name","value":"device_code" },
deviceCodeProps:{"label":"device_name","value":"device_code" },
bucketCodeProps:{"label":"bucket_name","value":"bucket_code" },
doorNumOptions:[{"fullName":"1号","id":"1"},{"fullName":"2号","id":"2"},{"fullName":"3号","id":"3"},{"fullName":"4号","id":"4"},{"fullName":"5号","id":"5"},{"fullName":"6号","id":"6"},{"fullName":"7号","id":"7"},{"fullName":"8号","id":"8"},{"fullName":"9号","id":"9"},{"fullName":"10号","id":"10"},{"fullName":"11号","id":"11"},{"fullName":"12号","id":"12"}],
doorNumProps:{"label":"fullName","value":"id" },
eventTypeOptions:[{"fullName":"登录成功","id":"login"},{"fullName":"配置变更","id":"change"},{"fullName":"重启设备","id":"reboot"},{"fullName":"重启应用","id":"restart"},{"fullName":"更新应用","id":"update"},{"fullName":"投递开门","id":"deliveryOpen"},{"fullName":"投递关门","id":"deliveryClose"},{"fullName":"延时关门","id":"delay"},{"fullName":"清运开门","id":"cleanOpen"},{"fullName":"抓拍","id":"snapshot"},{"fullName":"秤体校准","id":"adjust"},{"fullName":"秤体清零","id":"clear"},{"fullName":"获取状态","id":"status"}],
eventTypeProps:{"label":"fullName","value":"id" },
isLocalOptions:[{"fullName":"本地","id":"1"},{"fullName":"远程","id":"2"}],
isLocalProps:{"label":"fullName","value":"id" },
eventResultOptions:[{"fullName":"成功","id":"1"},{"fullName":"失败","id":"0"}],

File diff suppressed because one or more lines are too long

@ -13,7 +13,7 @@
<el-col :span="24" >
<jnpf-form-tip-item
label="设备编码" prop="deviceCode" >
<JnpfSelect v-model="dataForm.deviceCode" @change="changeData('deviceCode',-1)"
<JnpfSelect v-model="dataForm.deviceCode" @change="changeData('deviceCode',-1)"
placeholder="请选择" clearable :style='{"width":"100%"}' :options="deviceCodeOptions" :props="deviceCodeProps" >
</JnpfSelect>
</jnpf-form-tip-item>
@ -21,7 +21,7 @@
<el-col :span="24" >
<jnpf-form-tip-item
label="桶编码" prop="bucketCode" >
<JnpfSelect v-model="dataForm.bucketCode" @change="changeData('bucketCode',-1)"
<JnpfSelect v-model="dataForm.bucketCode" @change="changeData('bucketCode',-1)"
placeholder="请选择" clearable :style='{"width":"100%"}' :options="bucketCodeOptions" :props="bucketCodeProps" >
</JnpfSelect>
</jnpf-form-tip-item>
@ -29,31 +29,32 @@
<el-col :span="24" >
<jnpf-form-tip-item
label="门号" prop="doorNum" >
<JnpfInput v-model="dataForm.doorNum" @change="changeData('doorNum',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</JnpfInput>
<JnpfSelect v-model="dataForm.doorNum" @change="changeData('doorNum',-1)"
placeholder="请选择" clearable :style='{"width":"100%"}' :options="doorNumOptions" :props="doorNumProps" >
</JnpfSelect>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="事件类型" prop="eventType" >
<JnpfInput v-model="dataForm.eventType" @change="changeData('eventType',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</JnpfInput>
<JnpfSelect v-model="dataForm.eventType" @change="changeData('eventType',-1)"
placeholder="请选择" clearable :style='{"width":"100%"}' :options="eventTypeOptions" :props="eventTypeProps" >
</JnpfSelect>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="事件时间" prop="eventTime" >
<JnpfInput v-model="dataForm.eventTime" @change="changeData('eventTime',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</JnpfInput>
label="发生时间" prop="eventTime" >
<JnpfDatePicker v-model="dataForm.eventTime" @change="changeData('eventTime',-1)"
:startTime="dateTime(false,1,1,'','')" :endTime="dateTime(false,1,1,'','')" placeholder="请选择" clearable :style='{"width":"100%"}' type="datetime" format="yyyy-MM-dd HH:mm:ss" >
</JnpfDatePicker>
</jnpf-form-tip-item>
</el-col>
<el-col :span="24" >
<jnpf-form-tip-item
label="事件描述" prop="eventDesc" >
<JnpfInput v-model="dataForm.eventDesc" @change="changeData('eventDesc',-1)"
<JnpfInput v-model="dataForm.eventDesc" @change="changeData('eventDesc',-1)"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
@ -61,7 +62,7 @@
<el-col :span="24" >
<jnpf-form-tip-item
label="本地调用" prop="isLocal" >
<JnpfRadio v-model="dataForm.isLocal" @change="changeData('isLocal',-1)"
<JnpfRadio v-model="dataForm.isLocal" @change="changeData('isLocal',-1)"
optionType="button" direction="horizontal" size="small" :options="isLocalOptions" :props="isLocalProps" >
</JnpfRadio>
</jnpf-form-tip-item>
@ -69,7 +70,7 @@
<el-col :span="24" >
<jnpf-form-tip-item
label="事件结果" prop="eventResult" >
<JnpfRadio v-model="dataForm.eventResult" @change="changeData('eventResult',-1)"
<JnpfRadio v-model="dataForm.eventResult" @change="changeData('eventResult',-1)"
optionType="button" direction="horizontal" size="small" :options="eventResultOptions" :props="eventResultProps" >
</JnpfRadio>
</jnpf-form-tip-item>
@ -77,7 +78,7 @@
<el-col :span="24" >
<jnpf-form-tip-item
label="创建用户" prop="createUserId" >
<JnpfOpenData v-model="dataForm.createUserId" @change="changeData('createUserId',-1)"
<JnpfOpenData v-model="dataForm.createUserId" @change="changeData('createUserId',-1)"
placeholder="系统自动生成" readonly :style='{"width":"100%"}' type="currUser" >
</JnpfOpenData>
</jnpf-form-tip-item>
@ -85,7 +86,7 @@
<el-col :span="24" >
<jnpf-form-tip-item
label="创建时间" prop="createTime" >
<JnpfOpenData v-model="dataForm.createTime" @change="changeData('createTime',-1)"
<JnpfOpenData v-model="dataForm.createTime" @change="changeData('createTime',-1)"
placeholder="系统自动生成" readonly :style='{"width":"100%"}' type="currTime" >
</JnpfOpenData>
</jnpf-form-tip-item>
@ -93,7 +94,7 @@
<el-col :span="24" >
<jnpf-form-tip-item
label="所属组织" prop="organizeJsonId" >
<JnpfOpenData v-model="dataForm.organizeJsonId" @change="changeData('organizeJsonId',-1)"
<JnpfOpenData v-model="dataForm.organizeJsonId" @change="changeData('organizeJsonId',-1)"
placeholder="系统自动生成" readonly :style='{"width":"100%"}' type="currOrganize" showLevel="all" >
</JnpfOpenData>
</jnpf-form-tip-item>
@ -101,7 +102,7 @@
<el-col :span="24" >
<jnpf-form-tip-item
label="部门" prop="departmentId" >
<JnpfOpenData v-model="dataForm.departmentId" @change="changeData('departmentId',-1)"
<JnpfOpenData v-model="dataForm.departmentId" @change="changeData('departmentId',-1)"
placeholder="系统自动生成" readonly :style='{"width":"100%"}' type="currPosition" >
</JnpfOpenData>
</jnpf-form-tip-item>
@ -172,8 +173,8 @@
dataForm: {
deviceCode : undefined,
bucketCode : undefined,
doorNum : undefined,
eventType : undefined,
doorNum : undefined,
eventType : undefined,
eventTime : undefined,
eventDesc : undefined,
isLocal : undefined,
@ -187,10 +188,14 @@
dataRule:
{
},
deviceCodeOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
deviceCodeProps:{"label":"fullName","value":"id" },
deviceCodeOptions:[],
deviceCodeProps:{"label":"device_name","value":"device_code" },
bucketCodeOptions:[],
bucketCodeProps:{"label":"device_name","value":"device_code" },
bucketCodeProps:{"label":"bucket_name","value":"bucket_code" },
doorNumOptions:[{"fullName":"1号","id":"1"},{"fullName":"2号","id":"2"},{"fullName":"3号","id":"3"},{"fullName":"4号","id":"4"},{"fullName":"5号","id":"5"},{"fullName":"6号","id":"6"},{"fullName":"7号","id":"7"},{"fullName":"8号","id":"8"},{"fullName":"9号","id":"9"},{"fullName":"10号","id":"10"},{"fullName":"11号","id":"11"},{"fullName":"12号","id":"12"}],
doorNumProps:{"label":"fullName","value":"id" },
eventTypeOptions:[{"fullName":"登录成功","id":"login"},{"fullName":"配置变更","id":"change"},{"fullName":"重启设备","id":"reboot"},{"fullName":"重启应用","id":"restart"},{"fullName":"更新应用","id":"update"},{"fullName":"投递开门","id":"deliveryOpen"},{"fullName":"投递关门","id":"deliveryClose"},{"fullName":"延时关门","id":"delay"},{"fullName":"清运开门","id":"cleanOpen"},{"fullName":"抓拍","id":"snapshot"},{"fullName":"秤体校准","id":"adjust"},{"fullName":"秤体清零","id":"clear"},{"fullName":"获取状态","id":"status"}],
eventTypeProps:{"label":"fullName","value":"id" },
isLocalOptions:[{"fullName":"本地","id":"1"},{"fullName":"远程","id":"2"}],
isLocalProps:{"label":"fullName","value":"id" },
eventResultOptions:[{"fullName":"成功","id":"1"},{"fullName":"失败","id":"0"}],
@ -199,7 +204,7 @@
isEdit:false,
interfaceRes: {
deviceCode:[] ,
bucketCode:[] ,
bucketCode:[{"dataType":"varchar","defaultValue":"","field":"device_code","fieldName":"","id":"ow3vw72","jnpfKey":"select","relationField":"deviceCode","required":"0"}] ,
doorNum:[] ,
eventType:[] ,
eventTime:[] ,
@ -301,8 +306,34 @@
}
},
dataAll(){
this.getdeviceCodeOptions();
this.getbucketCodeOptions();
},
getdeviceCodeOptions() {
const index = this.childIndex
let templateJsonList = JSON.parse(JSON.stringify(this.interfaceRes.deviceCode))
for (let i = 0; i < templateJsonList.length; i++) {
let json = templateJsonList[i];
if(json.relationField){
let relationFieldAll = json.relationField.split("-");
let val = json.defaultValue;
if(relationFieldAll.length>1 && index>-1){
val = this.dataForm[relationFieldAll[0]+'List']&&this.dataForm[relationFieldAll[0]+'List'].length?this.dataForm[relationFieldAll[0]+'List'][index][relationFieldAll[1]]:''
}else {
val = this.dataForm[relationFieldAll]
}
json.defaultValue = val
}
}
let template ={
paramList:templateJsonList
}
getDataInterfaceRes('564713894723988869',template).then(res => {
let data = res.data
this.deviceCodeOptions = data
this.changeDataFormData(1,'deviceCode','deviceCode',index,'')
})
},
getbucketCodeOptions() {
const index = this.childIndex
let templateJsonList = JSON.parse(JSON.stringify(this.interfaceRes.bucketCode))
@ -322,7 +353,7 @@
let template ={
paramList:templateJsonList
}
getDataInterfaceRes('563706688754953029',template).then(res => {
getDataInterfaceRes('565524506681020549',template).then(res => {
let data = res.data
this.bucketCodeOptions = data
this.changeDataFormData(1,'bucketCode','bucketCode',index,'')

@ -19,27 +19,22 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="桶编码">
<JnpfSelect v-model="query.bucketCode" placeholder="请选择" clearable
:options="bucketCodeOptions"
:props="bucketCodeProps" multiple >
<el-form-item label="事件类型">
<JnpfSelect v-model="query.eventType" placeholder="请选择" clearable
:options="eventTypeOptions"
:props="eventTypeProps" multiple >
</JnpfSelect>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="事件类型">
<el-input v-model="query.eventType" placeholder="请输入" clearable> </el-input>
<el-form-item label="本地调用">
<JnpfSelect v-model="query.isLocal" placeholder="请选择" clearable
:options="isLocalOptions"
:props="isLocalProps" >
</JnpfSelect>
</el-form-item>
</el-col>
<template v-if="showAll">
<el-col :span="6">
<el-form-item label="本地调用">
<JnpfSelect v-model="query.isLocal" placeholder="请选择" clearable
:options="isLocalOptions"
:props="isLocalProps" >
</JnpfSelect>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="事件结果">
<JnpfSelect v-model="query.eventResult" placeholder="请选择" clearable
@ -50,7 +45,10 @@
</el-col>
<el-col :span="6">
<el-form-item label="事件时间">
<el-input v-model="query.eventTime" placeholder="请输入" clearable> </el-input>
<JnpfDateRangePicker v-model="query.eventTime"
format="yyyy-MM-dd HH:mm:ss" startPlaceholder="开始日期"
endPlaceholder="结束日期" >
</JnpfDateRangePicker>
</el-form-item>
</el-col>
</template>
@ -85,34 +83,35 @@
</el-tooltip>
</div>
</div>
<JNPF-table v-loading="listLoading" :data="list" @sort-change='sortChange'
:span-method="arraySpanMethod"
<JNPF-table v-loading="listLoading" :data="list" @sort-change='sortChange'
:span-method="arraySpanMethod"
>
<el-table-column label="设备编码" prop="deviceCode" algin="left"
<el-table-column
prop="deviceCode"
label="设备编码" align="left"
>
<template slot-scope="scope">
{{ scope.row.deviceCode}}
</template>
</el-table-column>
</el-table-column>
<el-table-column
prop="bucketCode"
label="桶编码" align="left"
>
</el-table-column>
<el-table-column
prop="doorNum"
label="门号" align="left"
<el-table-column label="门号" prop="doorNum" algin="left"
>
</el-table-column>
<el-table-column
prop="eventType"
label="事件类型" align="left"
<template slot-scope="scope">
{{ scope.row.doorNum}}
</template>
</el-table-column>
<el-table-column label="事件类型" prop="eventType" algin="left"
>
</el-table-column>
<template slot-scope="scope">
{{ scope.row.eventType}}
</template>
</el-table-column>
<el-table-column
prop="eventTime"
label="事件时间" align="left"
label="发生时间" align="left"
>
</el-table-column>
<el-table-column
@ -140,16 +139,6 @@
<el-table-column
prop="createTime"
label="创建时间" align="left"
>
</el-table-column>
<el-table-column
prop="organizeJsonId"
label="所属组织" align="left"
>
</el-table-column>
<el-table-column
prop="departmentId"
label="部门" align="left"
>
</el-table-column>
<el-table-column label="操作"
@ -160,7 +149,7 @@
</el-button>
<el-button type="text" class="JNPF-table-delBtn" @click="handleDel(scope.row.id)">
</el-button>
<el-button type="text"
<el-button type="text"
@click="goDetail(scope.row.id)">详情
</el-button>
</template>
@ -227,7 +216,6 @@
detailVisible: false,
query: {
deviceCode:undefined,
bucketCode:undefined,
eventType:undefined,
isLocal:undefined,
eventResult:undefined,
@ -255,10 +243,14 @@
flowListVisible: false,
flowList: [],
exportBoxVisible: false,
deviceCodeOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
deviceCodeProps:{"label":"fullName","value":"id" },
deviceCodeOptions:[],
deviceCodeProps:{"label":"device_name","value":"device_code" },
bucketCodeOptions:[],
bucketCodeProps:{"label":"device_name","value":"device_code" },
bucketCodeProps:{"label":"bucket_name","value":"bucket_code" },
doorNumOptions:[{"fullName":"1号","id":"1"},{"fullName":"2号","id":"2"},{"fullName":"3号","id":"3"},{"fullName":"4号","id":"4"},{"fullName":"5号","id":"5"},{"fullName":"6号","id":"6"},{"fullName":"7号","id":"7"},{"fullName":"8号","id":"8"},{"fullName":"9号","id":"9"},{"fullName":"10号","id":"10"},{"fullName":"11号","id":"11"},{"fullName":"12号","id":"12"}],
doorNumProps:{"label":"fullName","value":"id" },
eventTypeOptions:[{"fullName":"登录成功","id":"login"},{"fullName":"配置变更","id":"change"},{"fullName":"重启设备","id":"reboot"},{"fullName":"重启应用","id":"restart"},{"fullName":"更新应用","id":"update"},{"fullName":"投递开门","id":"deliveryOpen"},{"fullName":"投递关门","id":"deliveryClose"},{"fullName":"延时关门","id":"delay"},{"fullName":"清运开门","id":"cleanOpen"},{"fullName":"抓拍","id":"snapshot"},{"fullName":"秤体校准","id":"adjust"},{"fullName":"秤体清零","id":"clear"},{"fullName":"获取状态","id":"status"}],
eventTypeProps:{"label":"fullName","value":"id" },
isLocalOptions:[{"fullName":"本地","id":"1"},{"fullName":"远程","id":"2"}],
isLocalProps:{"label":"fullName","value":"id" },
eventResultOptions:[{"fullName":"成功","id":"1"},{"fullName":"失败","id":"0"}],
@ -276,7 +268,7 @@
created() {
this.getColumnList(),
this.initSearchDataAndListData()
this.getbucketCodeOptions();
this.getdeviceCodeOptions();
this.queryData = JSON.parse(JSON.stringify(this.query))
},
methods: {
@ -427,10 +419,10 @@
}
this.exportList = exportList
},
getbucketCodeOptions() {
getDataInterfaceRes('563706688754953029').then(res => {
getdeviceCodeOptions() {
getDataInterfaceRes('564713894723988869').then(res => {
let data = res.data
this.bucketCodeOptions = data
this.deviceCodeOptions = data
})
},
goDetail(id){

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save