| | |
| | | > |
| | | <p class="tip-warn"><i class="el-icon-warning"></i>导å
¥è¯´æï¼<br> |
| | | 1.请å
ä¸è½½æä»¶æ¨¡æ¿ï¼å¹¶æç
§æ¨¡æ¿è¦æ±å¡«åè¡¨æ ¼å
容;<br> |
| | | 2.带*为å¿
填项ï¼å
³èæ¿æºæ ¼å¼ä¸ºï¼æ¥¼å®/楼å±/æ¿æº;<br> |
| | | 2.带*为å¿
填项ï¼å«*è®¾å¤æ°éï¼ï¼å
³èæ¿æºæ ¼å¼ä¸ºï¼æ¥¼å®/楼å±/æ¿æº;<br> |
| | | 3.设å¤åç±»æ ¼å¼ä¸ºï¼ä¸çº§åç±»/äºçº§åç±»;<br> |
| | | </p> |
| | | <el-form class="demo-form-inline"> |
| | |
| | | <div class="val">{{ info.name }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="la">è®¾å¤æ°é</div> |
| | | <div class="val">{{ info.deviceNum || 1 }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="la">设å¤åå·</div> |
| | | <div class="val">{{ info.modelNo }}</div> |
| | | </div> |
| | |
| | | </el-form-item> |
| | | </div> |
| | | <div style="width: 31%;"> |
| | | <el-form-item label="è®¾å¤æ°é" prop="deviceNum"> |
| | | <el-input-number v-model="param.deviceNum" :min="1" :precision="0" controls-position="right" /> |
| | | </el-form-item> |
| | | </div> |
| | | <div style="width: 31%;"> |
| | | <el-form-item label="设å¤åå·" prop="modelNo"> |
| | | <el-input v-model="param.modelNo" placeholder="请è¾å
¥" v-trim /> |
| | | </el-form-item> |
| | |
| | | param: { |
| | | code: '', |
| | | name: '', |
| | | deviceNum: 1, |
| | | modelNo: '', |
| | | cateIds: '', |
| | | userId: '', |
| | |
| | | if (valid) { |
| | | let fn = param.id ? updateById : create |
| | | this.subLoading = true |
| | | fn(param).then(res => { |
| | | const payload = { |
| | | ...param, |
| | | deviceNum: !param.deviceNum || param.deviceNum < 1 ? 1 : param.deviceNum |
| | | } |
| | | fn(payload).then(res => { |
| | | this.subLoading = false |
| | | this.$emit('success') |
| | | Message.success('ä¿åæå') |
| | |
| | | getDetail(id) { |
| | | detailById(id).then(res => { |
| | | this.param = res |
| | | this.param.deviceNum = res.deviceNum || 1 |
| | | this.param.rooms = [res.projectId, res.buildingId, res.floorId, res.roomId] |
| | | console.log(this.param.rooms) |
| | | if (res.multifileList && res.multifileList.length > 0) { |
| | |
| | | <el-table v-loading="loading" :data="list" stripe> |
| | | <el-table-column prop="code" label="设å¤ç¼å·" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="name" label="设å¤åç§°" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="deviceNum" label="è®¾å¤æ°é" min-width="90" show-overflow-tooltip /> |
| | | <el-table-column prop="categoryName" label="设å¤åç±»" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="modelNo" label="设å¤åå·" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="realName" label="管çå" min-width="100" show-overflow-tooltip /> |
| | |
| | | { |
| | | "name" : "laborVisitors", |
| | | "appid" : "__UNI__BCCF400", |
| | | "name" : "éå®è¿ç»´ç³»ç»", |
| | | "appid" : "__UNI__E3BA820", |
| | | "description" : "", |
| | | "versionName" : "1.0.0", |
| | | "versionCode" : "100", |
| | |
| | | "quickapp" : {}, |
| | | /* å°ç¨åºç¹æç¸å
³ */ |
| | | "mp-weixin" : { |
| | | "appid" : "wx4d7c10bdec51942b", |
| | | "appid" : "wx15dfdae9a19177f3", |
| | | "setting" : { |
| | | "urlCheck" : false, |
| | | "es6" : true, |
| | |
| | | }
|
| | | })
|
| | | } else {
|
| | | // let url = 'https://zhcg.fnwtzx.com/yunwei_h5'
|
| | | let url = 'https://zhcg.fnwtzx.com/fn_h5'
|
| | | // const appID = 'wx95ac1efb67f0330d'
|
| | | let url = 'https://dmtest.ahapp.net/yunwei_h5'
|
| | | const appID = 'wx4d7c10bdec51942b'
|
| | | //let url = 'https://dmtest.ahapp.net/yunwei_h5'
|
| | | const appID = 'wx15dfdae9a19177f3'
|
| | | let uri = encodeURIComponent(url)
|
| | | let authURL =
|
| | | `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_base#wechat_redirect`
|
| | |
| | | // export const baseUrl = 'gateway_interface/' |
| | | export const baseUrl = 'http://localhost:10010/gateway_interface/' |
| | | // export const baseUrl = 'https://zhcg.fnwtzx.com/gateway_interface/' |
| | | //export const baseUrl = 'http://localhost:10010/gateway_interface/' |
| | | export const baseUrl = 'https://zhcg.fnwtzx.com/gateway_interface/' |
| | | //export const baseUrl = 'https://dmtest.ahapp.net/gateway_interface/' |
| | | |
| | | export const uploadAvatar = `${baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do` |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | -- è¿ç»´è®¾å¤ï¼è®¾å¤æ°é |
| | | SET @db := DATABASE(); |
| | | |
| | | SET @sql := IF( |
| | | (SELECT COUNT(*) FROM information_schema.COLUMNS |
| | | WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'yw_device' AND COLUMN_NAME = 'device_num') = 0, |
| | | 'ALTER TABLE `yw_device` ADD COLUMN `device_num` int NOT NULL DEFAULT 1 COMMENT ''è®¾å¤æ°é'' AFTER `name`', |
| | | 'SELECT 1' |
| | | ); |
| | | PREPARE stmt FROM @sql; |
| | | EXECUTE stmt; |
| | | DEALLOCATE PREPARE stmt; |
| | |
| | | spring: |
| | | profiles: |
| | | active: dev |
| | | active: pro |
| | | application: |
| | | name: visitsAdmin |
| | | # å®å
¨é
ç½® |
| | |
| | | @ExcelColumn(name = "*设å¤åç§°", value = "name", index = 1) |
| | | private String name; |
| | | |
| | | @ExcelColumn(name = "*设å¤åç±»", value = "categoryPath", index = 2) |
| | | @ExcelColumn(name = "*è®¾å¤æ°é", value = "deviceNum", index = 2) |
| | | private String deviceNum; |
| | | |
| | | @ExcelColumn(name = "*设å¤åç±»", value = "categoryPath", index = 3) |
| | | private String categoryPath; |
| | | |
| | | @ExcelColumn(name = "设å¤åå·", value = "modelNo", index = 3) |
| | | @ExcelColumn(name = "设å¤åå·", value = "modelNo", index = 4) |
| | | private String modelNo; |
| | | |
| | | @ExcelColumn(name = "设å¤ç®¡çå", value = "adminUserName", index = 4) |
| | | @ExcelColumn(name = "设å¤ç®¡çå", value = "adminUserName", index = 5) |
| | | private String adminUserName; |
| | | |
| | | @ExcelColumn(name = "æå¨ä½ç½®", value = "addr", index = 5) |
| | | @ExcelColumn(name = "æå¨ä½ç½®", value = "addr", index = 6) |
| | | private String addr; |
| | | |
| | | @ExcelColumn(name = "*æå±é¡¹ç®", value = "projectName", index = 6) |
| | | @ExcelColumn(name = "*æå±é¡¹ç®", value = "projectName", index = 7) |
| | | private String projectName; |
| | | |
| | | @ExcelColumn(name = "*å
³èæ¿æº", value = "roomPath", index = 7) |
| | | @ExcelColumn(name = "*å
³èæ¿æº", value = "roomPath", index = 8) |
| | | private String roomPath; |
| | | |
| | | @ExcelColumn(name = "è´å
¥æ¶é´", value = "buyDate", index = 8) |
| | | @ExcelColumn(name = "è´å
¥æ¶é´", value = "buyDate", index = 9) |
| | | private String buyDate; |
| | | |
| | | @ExcelColumn(name = "设å¤ç¶æ", value = "statusText", index = 9) |
| | | @ExcelColumn(name = "设å¤ç¶æ", value = "statusText", index = 10) |
| | | private String statusText; |
| | | |
| | | @ExcelColumn(name = "è¿ç»´å
容", value = "content", index = 10) |
| | | @ExcelColumn(name = "è¿ç»´å
容", value = "content", index = 11) |
| | | private String content; |
| | | |
| | | @ExcelColumn(name = "设å¤ä¾åºå", value = "supplier", index = 11) |
| | | @ExcelColumn(name = "设å¤ä¾åºå", value = "supplier", index = 12) |
| | | private String supplier; |
| | | |
| | | @ExcelColumn(name = "ä¾åºåè系人", value = "supplierLinker", index = 12) |
| | | @ExcelColumn(name = "ä¾åºåè系人", value = "supplierLinker", index = 13) |
| | | private String supplierLinker; |
| | | |
| | | @ExcelColumn(name = "ä¾åºåèç³»æ¹å¼", value = "supplierPhone", index = 13) |
| | | @ExcelColumn(name = "ä¾åºåèç³»æ¹å¼", value = "supplierPhone", index = 14) |
| | | private String supplierPhone; |
| | | |
| | | @ExcelColumn(name = "ç»´ä¿è´è´£äºº", value = "maintenanceUserName", index = 14) |
| | | @ExcelColumn(name = "ç»´ä¿è´è´£äºº", value = "maintenanceUserName", index = 15) |
| | | private String maintenanceUserName; |
| | | |
| | | @ExcelColumn(name = "ç»´ä¿å°ææ¥", value = "maintenanceOverDate", index = 15) |
| | | @ExcelColumn(name = "ç»´ä¿å°ææ¥", value = "maintenanceOverDate", index = 16) |
| | | private String maintenanceOverDate; |
| | | |
| | | @ExcelColumn(name = "ç»´ä¿è¯´æ", value = "maintenanceContent", index = 16) |
| | | @ExcelColumn(name = "ç»´ä¿è¯´æ", value = "maintenanceContent", index = 17) |
| | | private String maintenanceContent; |
| | | } |
| | |
| | | @ExcelColumn(name="åç§°") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "è®¾å¤æ°é") |
| | | @ExcelColumn(name = "è®¾å¤æ°é") |
| | | private Integer deviceNum; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelColumn(name="夿³¨") |
| | | private String remark; |
| | |
| | | if(ywDeviceMapper.selectCount(new QueryWrapper<YwDevice>().lambda().eq(YwDevice::getIsdeleted,Constants.ZERO).eq(YwDevice::getCode,ywDevice.getCode()))>Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"设å¤ç¼å·éå¤!"); |
| | | } |
| | | ywDevice.setDeviceNum(normalizeDeviceNum(ywDevice.getDeviceNum())); |
| | | ywDevice.setCreateDate(new Date()); |
| | | ywDevice.setCreator(loginUserInfo.getId()); |
| | | ywDevice.setIsdeleted(Constants.ZERO); |
| | |
| | | .ne(YwDevice::getId,ywDevice.getId()))>Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"设å¤ç¼å·éå¤!"); |
| | | } |
| | | ywDevice.setDeviceNum(normalizeDeviceNum(ywDevice.getDeviceNum())); |
| | | ywDevice.setEditDate(new Date()); |
| | | ywDevice.setEditor(loginUserInfo.getId()); |
| | | ywDeviceMapper.updateById(ywDevice); |
| | |
| | | private boolean isImportBlankRow(DeviceImport row) { |
| | | return StringUtils.isBlank(row.getCode()) |
| | | && StringUtils.isBlank(row.getName()) |
| | | && StringUtils.isBlank(row.getDeviceNum()) |
| | | && StringUtils.isBlank(row.getProjectName()) |
| | | && StringUtils.isBlank(row.getRoomPath()); |
| | | } |
| | |
| | | if (StringUtils.isBlank(row.getName())) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼ç¬¬" + rowNum + "è¡è®¾å¤åç§°ä¸è½ä¸ºç©ºï¼è¯·æ£æ¥è¡¨æ ¼å
容ï¼"); |
| | | } |
| | | Integer deviceNum = parseImportDeviceNum(row.getDeviceNum(), rowNum); |
| | | if (StringUtils.isBlank(row.getProjectName())) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼ç¬¬" + rowNum + "è¡æå±é¡¹ç®ä¸è½ä¸ºç©ºï¼è¯·æ£æ¥è¡¨æ ¼å
容ï¼"); |
| | | } |
| | |
| | | YwDevice device = new YwDevice(); |
| | | device.setCode(code); |
| | | device.setName(row.getName().trim()); |
| | | device.setDeviceNum(deviceNum); |
| | | device.setCateId(cateId); |
| | | device.setModelNo(StringUtils.trimToNull(row.getModelNo())); |
| | | device.setUserId(userId); |
| | |
| | | return device; |
| | | } |
| | | |
| | | private Integer normalizeDeviceNum(Integer deviceNum) { |
| | | if (deviceNum == null || deviceNum <= 0) { |
| | | return 1; |
| | | } |
| | | return deviceNum; |
| | | } |
| | | |
| | | private Integer parseImportDeviceNum(String deviceNumText, int rowNum) { |
| | | if (StringUtils.isBlank(deviceNumText)) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼ç¬¬" + rowNum + "è¡è®¾å¤æ°éä¸è½ä¸ºç©ºï¼è¯·æ£æ¥è¡¨æ ¼å
容ï¼"); |
| | | } |
| | | String text = deviceNumText.trim(); |
| | | if (StringUtils.endsWith(text, ".0")) { |
| | | text = StringUtils.substringBefore(text, ".0"); |
| | | } |
| | | try { |
| | | double value = Double.parseDouble(text); |
| | | if (value <= 0 || value != Math.floor(value)) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼ç¬¬" + rowNum + "è¡è®¾å¤æ°éå¿
é¡»ä¸ºæ£æ´æ°ï¼è¯·æ£æ¥è¡¨æ ¼å
容ï¼"); |
| | | } |
| | | return (int) value; |
| | | } catch (NumberFormatException e) { |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对ä¸èµ·ï¼ç¬¬" + rowNum + "è¡è®¾å¤æ°éå¿
é¡»ä¸ºæ£æ´æ°ï¼è¯·æ£æ¥è¡¨æ ¼å
容ï¼"); |
| | | } |
| | | } |
| | | |
| | | private Integer resolveInternalUserId(String userName, int rowNum, String fieldLabel, DeviceImportCache cache) { |
| | | if (StringUtils.isBlank(userName)) { |
| | | return null; |