| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.ModelMap; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.javaweb.common.annotation.Log; |
| | | import com.javaweb.common.enums.BusinessType; |
| | | import com.javaweb.geo.domain.DeviceLog; |
| | |
| | | import com.javaweb.common.core.domain.AjaxResult; |
| | | import com.javaweb.common.utils.poi.ExcelUtil; |
| | | import com.javaweb.common.core.page.TableDataInfo; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | /** |
| | | * 设备出入库记录Controller |
| | |
| | | * 新增设备出入库记录 |
| | | */ |
| | | @GetMapping("/add") |
| | | public String add() { |
| | | public String add(String projectId, ModelMap mmap) { |
| | | mmap.put("projectId", projectId); |
| | | return prefix + "/add"; |
| | | } |
| | | |
| | |
| | | public AjaxResult remove(String ids) { |
| | | return toAjax(deviceLogService.deleteDeviceLogByIds(ids)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 导入设备出入库记录 |
| | | */ |
| | | @RequiresPermissions("geo:deviceLog:import") |
| | | @Log(title = "导入设备出入库记录") |
| | | @PostMapping( "/importDeviceLog/{projectId}") |
| | | @ResponseBody |
| | | public AjaxResult importDeviceLog(@PathVariable("projectId") String projectId, @RequestParam("file") MultipartFile file, boolean updateSupport) throws Exception{ |
| | | String message = deviceLogService.importDeviceLog(projectId,file,updateSupport); |
| | | return AjaxResult.success(message); |
| | | } |
| | | } |
| | |
| | | /** 设备id */ |
| | | private String deviceId; |
| | | |
| | | /** 设备编码 */ |
| | | private String deviceCode; |
| | | |
| | | /** 设备名称 */ |
| | | @Excel(name = "设备名称") |
| | | private String deviceName; |
| | |
| | | this.deviceName = deviceName; |
| | | } |
| | | |
| | | public String getDeviceName() |
| | | public String getDeviceCode() { |
| | | return deviceCode; |
| | | } |
| | | |
| | | public void setDeviceCode(String deviceCode) { |
| | | this.deviceCode = deviceCode; |
| | | } |
| | | |
| | | public String getDeviceName() |
| | | { |
| | | return deviceName; |
| | | } |
| | |
| | | .append("projectId", getProjectId()) |
| | | .append("projectName", getProjectName()) |
| | | .append("deviceId", getDeviceId()) |
| | | .append("deviceCode", getDeviceCode()) |
| | | .append("deviceName", getDeviceName()) |
| | | .append("type", getType()) |
| | | .append("transactionDate", getTransactionDate()) |
New file |
| | |
| | | package com.javaweb.geo.enums; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | public class CityConst { |
| | | |
| | | private static Map<Integer,String> cityMap = new HashMap<Integer, String>(); |
| | | |
| | | static{ |
| | | cityMap.put(1, "东城区"); |
| | | cityMap.put(2, "西城区"); |
| | | cityMap.put(5, "朝阳区"); |
| | | cityMap.put(6, "丰台区"); |
| | | cityMap.put(7, "石景山"); |
| | | |
| | | cityMap.put(8, "海淀区"); |
| | | cityMap.put(9, "门头沟区"); |
| | | |
| | | cityMap.put(10, "房山区"); |
| | | |
| | | cityMap.put(11, "通州区"); |
| | | |
| | | cityMap.put(12, "顺义区"); |
| | | |
| | | cityMap.put(13, "昌平区"); |
| | | cityMap.put(14, "大兴区"); |
| | | cityMap.put(15, "怀柔区"); |
| | | cityMap.put(16, "平谷区"); |
| | | cityMap.put(17, "密云县"); |
| | | cityMap.put(18, "延庆县"); |
| | | cityMap.put(99, "外埠"); |
| | | |
| | | } |
| | | |
| | | public static String getCitName(Integer key){ |
| | | |
| | | if(key != null && cityMap.containsKey(key)){ |
| | | return cityMap.get(key); |
| | | } |
| | | return null; |
| | | |
| | | } |
| | | } |
New file |
| | |
| | | package com.javaweb.geo.enums; |
| | | |
| | | public enum RecordType { |
| | | |
| | | /** |
| | | * 出入库状态 |
| | | */ |
| | | deviceLog_in("in","入库"), |
| | | deviceLog_out("out","出库"), |
| | | |
| | | /** |
| | | * 记录分类(必填,直接填写汉字,因考虑历史数据原因, |
| | | * “机长”表示司钻员) |
| | | * 回次、岩土、取土、标贯、动探、水位、取水、负责人、工程师、机长、钻机 |
| | | */ |
| | | hc("回次","回次"), |
| | | yt("岩土","岩土"), |
| | | qt("取土","取土"), |
| | | bg("标贯","标贯"), |
| | | dt("动探","动探"), |
| | | sw("水位","水位"), |
| | | qs("取水","取水"), |
| | | fzr("负责人","负责人"), |
| | | gcs("工程师","工程师"), |
| | | jz("机长","机长"), |
| | | zj("钻机","钻机"), |
| | | |
| | | |
| | | |
| | | /** |
| | | * 项目状态 |
| | | */ |
| | | projectStatus0("0","项目未完成"), |
| | | projectStatus1("1","项目验收完成"), |
| | | |
| | | /** |
| | | * 是否删除 |
| | | */ |
| | | isDelete0("0","未删除"), |
| | | isDelete1("1","已删除"), |
| | | |
| | | /** |
| | | * 勘探点状态 1-验收通过,2-验收不通过,3-废孔 |
| | | */ |
| | | holeStatus1("1","验收通过"), |
| | | holeStatus2("2","验收不通过"), |
| | | holeStatus3("3","废孔"); |
| | | |
| | | |
| | | private String id ; |
| | | private String name ; |
| | | |
| | | RecordType(String id, String name) { |
| | | this.id = id; |
| | | this.name = name; |
| | | } |
| | | |
| | | public String getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(String id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getName() { |
| | | return name; |
| | | } |
| | | |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | } |
| | | |
| | | /** |
| | | * 根据id获取name |
| | | */ |
| | | public static String getValueByKey(String id) { |
| | | RecordType[] recordTypes = values(); |
| | | for (RecordType item: recordTypes) { |
| | | if (item.getId().equals(id)) { |
| | | return item.getName(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 根据name获取id |
| | | */ |
| | | public static String getKeyByName(String name) { |
| | | RecordType[] recordTypes = values(); |
| | | for (RecordType item: recordTypes) { |
| | | if (item.getName().equals(name)) { |
| | | return item.getId(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | String valueByKey = RecordType.getKeyByName("水文-水文测井"); |
| | | System.out.println(valueByKey); |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | package com.javaweb.geo.service; |
| | | |
| | | import com.javaweb.geo.domain.DeviceLog; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | * @return 结果 |
| | | */ |
| | | public int deleteDeviceLogById(String id); |
| | | |
| | | /** |
| | | * 导入设备出入库记录 |
| | | */ |
| | | String importDeviceLog(String projectId, MultipartFile file, boolean updateSupport); |
| | | } |
| | |
| | | package com.javaweb.geo.service.impl; |
| | | |
| | | import java.io.File; |
| | | import java.util.List; |
| | | |
| | | import cn.hutool.poi.excel.ExcelReader; |
| | | import cn.hutool.poi.excel.ExcelUtil; |
| | | import com.javaweb.common.config.Global; |
| | | import com.javaweb.common.utils.DateUtils; |
| | | import com.javaweb.common.utils.IdGenerate; |
| | | import com.javaweb.geo.domain.Device; |
| | | import com.javaweb.geo.domain.Project; |
| | | import com.javaweb.geo.enums.RecordType; |
| | | import com.javaweb.geo.service.IDeviceService; |
| | | import com.javaweb.geo.service.IProjectService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import com.javaweb.geo.mapper.DeviceLogMapper; |
| | |
| | | import com.javaweb.geo.service.IDeviceLogService; |
| | | import com.javaweb.common.core.text.Convert; |
| | | import org.springframework.util.ObjectUtils; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | import tk.mybatis.mapper.genid.GenIdUtil; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Service |
| | | public class DeviceLogServiceImpl implements IDeviceLogService { |
| | | |
| | | @Autowired |
| | | private DeviceLogMapper deviceLogMapper; |
| | | |
| | | @Autowired |
| | | private IProjectService projectService; |
| | | |
| | | @Autowired |
| | | private IDeviceService deviceService; |
| | | |
| | | private String fileSaveDir = Global.getProfile() + "\\template\\" ; |
| | | |
| | | /** |
| | | * 查询设备出入库记录 |
| | |
| | | if(ObjectUtils.isEmpty(deviceLog.getId())){ |
| | | deviceLog.setId(IdGenerate.nextId()); |
| | | } |
| | | deviceLog.setCreateTime(DateUtils.getNowDate()); |
| | | deviceLog.setCreateDate(DateUtils.getNowDate()); |
| | | return deviceLogMapper.insertDeviceLog(deviceLog); |
| | | } |
| | | |
| | |
| | | public int deleteDeviceLogById(String id) { |
| | | return deviceLogMapper.deleteDeviceLogById(id); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 导入设备出入库记录 |
| | | */ |
| | | @Override |
| | | public String importDeviceLog(String projectId,MultipartFile file, boolean updateSupport) { |
| | | // 关联项目信息 |
| | | Project project = projectService.selectProjectById(projectId); |
| | | |
| | | try { |
| | | String dest = saveExcel(file); |
| | | List<DeviceLog> list = readData(dest); |
| | | for (DeviceLog item : list) { |
| | | // 转换项目信息 |
| | | item.setProjectId(projectId); |
| | | item.setProjectName(project.getFullName()); |
| | | |
| | | // 转换出入库类型 |
| | | String proTypeCode = RecordType.getKeyByName(item.getType()); |
| | | item.setType(proTypeCode); |
| | | |
| | | // 转换设备编码 |
| | | String deviceCode = item.getDeviceCode(); |
| | | if (!ObjectUtils.isEmpty(deviceCode)){ |
| | | Device param = new Device(); |
| | | param.setCode(deviceCode); |
| | | List<Device> devices = deviceService.selectDeviceList(param); |
| | | if (!ObjectUtils.isEmpty(devices)){ |
| | | Device device = devices.get(0); |
| | | item.setDeviceId(device.getId()); |
| | | item.setDeviceCode(device.getCode()); |
| | | item.setDeviceName(device.getName()); |
| | | } |
| | | } |
| | | |
| | | item.setCreateDate(DateUtils.getNowDate()); |
| | | insertDeviceLog(item); |
| | | } |
| | | } catch (Exception e) { |
| | | return e.toString(); |
| | | } |
| | | return "导入完毕" ; |
| | | } |
| | | |
| | | private String saveExcel(MultipartFile file) { |
| | | String filename = file.getOriginalFilename(); |
| | | File dir = new File(fileSaveDir); |
| | | if (!dir.exists()) { |
| | | dir.mkdir(); |
| | | } |
| | | String addr = fileSaveDir + filename; |
| | | try { |
| | | File dest = new File(addr); |
| | | file.transferTo(dest); |
| | | } catch (Exception e) { |
| | | return null; |
| | | } |
| | | return addr; |
| | | } |
| | | |
| | | private List<DeviceLog> readData(String filepath) { |
| | | ExcelReader reader = ExcelUtil.getReader(filepath, 0); |
| | | reader.addHeaderAlias("出入库单子号", "code"); |
| | | reader.addHeaderAlias("设备编码", "deviceCode"); |
| | | reader.addHeaderAlias("出入库类型", "type"); |
| | | reader.addHeaderAlias("出入库时间", "transactionDate"); |
| | | reader.addHeaderAlias("经办人", "optUser"); |
| | | reader.addHeaderAlias("使用人", "applyUser"); |
| | | reader.addHeaderAlias("出入库数量", "number"); |
| | | reader.addHeaderAlias("备注", "remark"); |
| | | |
| | | List<DeviceLog> list = reader.readAll(DeviceLog.class); |
| | | return list; |
| | | } |
| | | } |
| | |
| | | <result property="projectId" column="project_id" /> |
| | | <result property="projectName" column="project_name" /> |
| | | <result property="deviceId" column="device_id" /> |
| | | <result property="deviceCode" column="device_code" /> |
| | | <result property="deviceName" column="device_name" /> |
| | | <result property="type" column="type" /> |
| | | <result property="transactionDate" column="transaction_date" /> |
| | |
| | | </resultMap> |
| | | |
| | | <sql id="selectDeviceLogVo"> |
| | | select id, code, project_id, project_name, device_id, device_name, type, transaction_date, opt_user, apply_user, number, create_date, remark from js_device_log |
| | | select id, code, project_id, project_name, device_id, device_code, device_name, type, transaction_date, opt_user, apply_user, number, create_date, remark from js_device_log |
| | | </sql> |
| | | |
| | | <select id="selectDeviceLogList" parameterType="DeviceLog" resultMap="DeviceLogResult"> |
| | | <include refid="selectDeviceLogVo"/> |
| | | <where> |
| | | <if test="projectId != null and projectId != ''"> and project_id = #{projectId}</if> |
| | | <if test="deviceId != null and deviceId != ''"> and device_id = #{deviceId}</if> |
| | | <if test="code != null and code != ''"> and code = #{code}</if> |
| | | <if test="projectId != null and projectId != ''"> and project_id = #{projectId}</if> |
| | | <if test="projectName != null and projectName != ''"> and project_name like concat('%', #{projectName}, '%')</if> |
| | | <if test="deviceId != null and deviceId != ''"> and device_id = #{deviceId}</if> |
| | | <if test="deviceCode != null and deviceCode != ''"> and device_code = #{deviceCode}</if> |
| | | <if test="deviceName != null and deviceName != ''"> and device_name like concat('%', #{deviceName}, '%')</if> |
| | | <if test="type != null and type != ''"> and type = #{type}</if> |
| | | <if test="optUser != null and optUser != ''"> and opt_user = #{optUser}</if> |
| | | <if test="applyUser != null and applyUser != ''"> and apply_user = #{applyUser}</if> |
| | | </where> |
| | | ORDER BY create_date |
| | | </select> |
| | | |
| | | <select id="selectDeviceLogById" parameterType="String" resultMap="DeviceLogResult"> |
| | |
| | | <if test="projectId != null and projectId != ''">project_id,</if> |
| | | <if test="projectName != null and projectName != ''">project_name,</if> |
| | | <if test="deviceId != null and deviceId != ''">device_id,</if> |
| | | <if test="deviceCode != null and deviceCode != ''">device_code,</if> |
| | | <if test="deviceName != null and deviceName != ''">device_name,</if> |
| | | <if test="type != null and type != ''">type,</if> |
| | | <if test="transactionDate != null and transactionDate != ''">transaction_date,</if> |
| | |
| | | <if test="projectId != null and projectId != ''">#{projectId},</if> |
| | | <if test="projectName != null and projectName != ''">#{projectName},</if> |
| | | <if test="deviceId != null and deviceId != ''">#{deviceId},</if> |
| | | <if test="deviceCode != null and deviceCode != ''">#{deviceCode},</if> |
| | | <if test="deviceName != null and deviceName != ''">#{deviceName},</if> |
| | | <if test="type != null and type != ''">#{type},</if> |
| | | <if test="transactionDate != null and transactionDate != ''">#{transactionDate},</if> |
| | |
| | | <if test="projectId != null and projectId != ''">project_id = #{projectId},</if> |
| | | <if test="projectName != null and projectName != ''">project_name = #{projectName},</if> |
| | | <if test="deviceId != null and deviceId != ''">device_id = #{deviceId},</if> |
| | | <if test="deviceCode != null and deviceCode != ''">device_code = #{deviceCode},</if> |
| | | <if test="deviceName != null and deviceName != ''">device_name = #{deviceName},</if> |
| | | <if test="type != null and type != ''">type = #{type},</if> |
| | | <if test="transactionDate != null and transactionDate != ''">transaction_date = #{transactionDate},</if> |
| | |
| | | <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="geo:device:remove"> |
| | | <i class="fa fa-remove"></i> 删除 |
| | | </a> |
| | | <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="geo:device:export"> |
| | | <i class="fa fa-download"></i> 导出 |
| | | </a> |
| | | <!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="geo:device:export">--> |
| | | <!-- <i class="fa fa-download"></i> 导出--> |
| | | <!-- </a>--> |
| | | </div> |
| | | <div class="col-sm-12 select-table table-striped"> |
| | | <table id="bootstrap-table"></table> |
| | |
| | | <input name="projectName" class="form-control" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">设备编号:</label> |
| | | <div class="col-sm-8"> |
| | | <input name="deviceCode" class="form-control" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">设备名称:</label> |
| | | <div class="col-sm-8"> |
| | |
| | | <th:block th:include="include :: footer" /> |
| | | <script th:inline="javascript"> |
| | | var prefix = ctx + "geo/deviceLog" |
| | | var projectId = [[${projectId}]]; |
| | | |
| | | $("#form-deviceLog-add").validate({ |
| | | focusCleanup: true |
| | | }); |
| | | |
| | | function submitHandler() { |
| | | if ($.validate.form()) { |
| | | $.operate.save(prefix + "/add", $('#form-deviceLog-add').serialize()); |
| | | let formData = $('#form-deviceLog-add').serialize(); |
| | | let data = formData + "&projectId=" + projectId; |
| | | $.operate.save(prefix + "/add", data); |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="geo:deviceLog:remove"> |
| | | <i class="fa fa-remove"></i> 删除 |
| | | </a> |
| | | <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="geo:deviceLog:export"> |
| | | <i class="fa fa-download"></i> 导出 |
| | | </a> |
| | | <!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="geo:deviceLog:export">--> |
| | | <!-- <i class="fa fa-download"></i> 导出--> |
| | | <!-- </a>--> |
| | | <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="geo:deviceLog:import"> |
| | | <i class="fa fa-upload"></i> 导入 |
| | | </a> |
| | | </div> |
| | | <div class="col-sm-12 select-table table-striped"> |
| | | <table id="bootstrap-table"></table> |
| | |
| | | $(function() { |
| | | var options = { |
| | | url: prefix + "/list?projectId="+projectId, |
| | | createUrl: prefix + "/add", |
| | | createUrl: prefix + "/add?projectId="+projectId, |
| | | updateUrl: prefix + "/edit/{id}", |
| | | removeUrl: prefix + "/remove", |
| | | exportUrl: prefix + "/export", |
| | | importUrl: prefix + "/importDeviceLog/"+projectId, |
| | | modalName: "设备出入库记录", |
| | | columns: [{ |
| | | checkbox: true |
| | | }, |
| | | { |
| | | field : 'id', |
| | | field : 'id', |
| | | title : '主键', |
| | | visible: false |
| | | }, |
| | | { |
| | | field : 'code', |
| | | field : 'code', |
| | | title : '出入库单子号' |
| | | }, |
| | | { |
| | | field : 'projectName', |
| | | field : 'projectName', |
| | | title : '项目名称' |
| | | }, |
| | | { |
| | | field : 'deviceCode', |
| | | title : '设备编码' |
| | | }, |
| | | { |
| | | field : 'deviceName', |
| | | field : 'deviceName', |
| | | title : '设备名称' |
| | | }, |
| | | { |
| | | field : 'type', |
| | | field : 'type', |
| | | title : '出入库类型', |
| | | formatter: function(value, row, index) { |
| | | return $.table.selectDictLabel(typeDatas, value); |
| | | } |
| | | }, |
| | | { |
| | | field : 'transactionDate', |
| | | field : 'transactionDate', |
| | | title : '出入库时间' |
| | | }, |
| | | { |
| | | field : 'optUser', |
| | | field : 'optUser', |
| | | title : '经办人' |
| | | }, |
| | | { |
| | | field : 'applyUser', |
| | | field : 'applyUser', |
| | | title : '使用人' |
| | | }, |
| | | { |
| | | field : 'number', |
| | | field : 'number', |
| | | title : '出入库数量' |
| | | }, |
| | | { |
| | | field : 'remark', |
| | | field : 'remark', |
| | | title : '备注' |
| | | }, |
| | | { |
| | |
| | | }; |
| | | $.table.init(options); |
| | | }); |
| | | |
| | | //下载 |
| | | function importTemplate() { |
| | | var filename="设备出入库记录模板.xls"; |
| | | window.location.href = ctx + "common/download?fileName=" + encodeURI(filename) + "&delete=" + false; |
| | | } |
| | | </script> |
| | | </body> |
| | | |
| | | <!-- 导入区域 --> |
| | | <script id="importTpl" type="text/template"> |
| | | <form enctype="multipart/form-data" class="mt20 mb10"> |
| | | <div class="col-xs-offset-1"> |
| | | <input type="file" id="file" name="file"/> |
| | | <div class="mt10 pt5"> |
| | | <input type="checkbox" id="updateSupport" name="updateSupport" title="导入设备出入库信息信息"> 是否更新已经存在的数据 |
| | | <a onclick="importTemplate()" class="btn btn-default btn-xs"><i class="fa fa-file-excel-o"></i> 下载模板</a> |
| | | </div> |
| | | <font color="red" class="pull-left mt10"> |
| | | 提示:仅允许导入“xls”或“xlsx”格式文件! |
| | | </font> |
| | | </div> |
| | | </form> |
| | | </script> |
| | | |
| | | </html> |
| | |
| | | <input name="projectName" th:field="*{projectName}" class="form-control" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">设备编号:</label> |
| | | <div class="col-sm-8"> |
| | | <input name="deviceCode" th:field="*{deviceCode}" class="form-control" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">设备名称:</label> |
| | | <div class="col-sm-8"> |
| | |
| | | <div class="select-list"> |
| | | <ul> |
| | | <li> |
| | | <p>项目id:</p> |
| | | <input type="text" name="projectId"/> |
| | | </li> |
| | | <li> |
| | | <p>名称:</p> |
| | | <input type="text" name="name"/> |
| | | </li> |
| | | <li> |
| | | <p>视频编号:</p> |
| | | <input type="text" name="code"/> |
| | | </li> |
| | | <li> |
| | | <p>经度:</p> |
| | | <input type="text" name="lng"/> |
| | | </li> |
| | | <li> |
| | | <p>纬度:</p> |
| | | <input type="text" name="lat"/> |
| | | </li> |
| | | <li> |
| | | <p>Ip地址:</p> |
| | |
| | | <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="geo:projectCamera:remove"> |
| | | <i class="fa fa-remove"></i> 删除 |
| | | </a> |
| | | <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="geo:projectCamera:export"> |
| | | <i class="fa fa-download"></i> 导出 |
| | | </a> |
| | | <!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="geo:projectCamera:export">--> |
| | | <!-- <i class="fa fa-download"></i> 导出--> |
| | | <!-- </a>--> |
| | | </div> |
| | | <div class="col-sm-12 select-table table-striped"> |
| | | <table id="bootstrap-table"></table> |
| | |
| | | <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="geo:projectData:remove"> |
| | | <i class="fa fa-remove"></i> 删除 |
| | | </a> |
| | | <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="geo:projectData:export"> |
| | | <i class="fa fa-download"></i> 导出 |
| | | </a> |
| | | <!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="geo:projectData:export">--> |
| | | <!-- <i class="fa fa-download"></i> 导出--> |
| | | <!-- </a>--> |
| | | </div> |
| | | <div class="col-sm-12 select-table table-striped"> |
| | | <table id="bootstrap-table"></table> |
| | |
| | | <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="geo:projectPerson:remove"> |
| | | <i class="fa fa-remove"></i> 删除 |
| | | </a> |
| | | <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="geo:projectPerson:export"> |
| | | <i class="fa fa-download"></i> 导出 |
| | | </a> |
| | | <!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="geo:projectPerson:export">--> |
| | | <!-- <i class="fa fa-download"></i> 导出--> |
| | | <!-- </a>--> |
| | | </div> |
| | | <div class="col-sm-12 select-table table-striped"> |
| | | <table id="bootstrap-table"></table> |