25 changed files with 396 additions and 47 deletions
@ -0,0 +1,17 @@ |
|||
package org.nl.acs.region.domain; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
@Data |
|||
@AllArgsConstructor |
|||
@NoArgsConstructor |
|||
public class PageBean<T> implements Serializable { |
|||
private long total; //总记录数
|
|||
|
|||
private List<T> records; //当前页数据集合
|
|||
} |
@ -1,9 +1,52 @@ |
|||
package org.nl.acs.region.rest; |
|||
|
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.nl.acs.region.service.RegionService; |
|||
import org.nl.acs.region.service.dto.RegionDto; |
|||
import org.nl.common.logging.annotation.Log; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.data.domain.Pageable; |
|||
import org.springframework.http.HttpStatus; |
|||
import org.springframework.http.ResponseEntity; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import java.util.Map; |
|||
|
|||
@RestController |
|||
@RequiredArgsConstructor |
|||
@RequestMapping("/api/region") |
|||
@Slf4j |
|||
public class RegionController { |
|||
@Autowired |
|||
private RegionService regionService; |
|||
|
|||
@GetMapping |
|||
@Log("查询自定义策略") |
|||
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) { |
|||
return new ResponseEntity<>(regionService.queryAll(whereJson, page), HttpStatus.OK); |
|||
} |
|||
|
|||
@PostMapping |
|||
@Log("新增自定义策略基础信息") |
|||
public ResponseEntity<Object> create(@Validated @RequestBody RegionDto dto) { |
|||
regionService.create(dto); |
|||
return new ResponseEntity<>(HttpStatus.CREATED); |
|||
} |
|||
|
|||
@PutMapping |
|||
@Log("修改自定义策略") |
|||
public ResponseEntity<Object> update(@Validated @RequestBody RegionDto dto) { |
|||
regionService.update(dto); |
|||
return new ResponseEntity<>(HttpStatus.NO_CONTENT); |
|||
} |
|||
|
|||
@Log("删除自定义策略") |
|||
@DeleteMapping |
|||
public ResponseEntity<Object> delete(@RequestBody String[] ids) { |
|||
regionService.deleteAll(ids); |
|||
return new ResponseEntity<>(HttpStatus.OK); |
|||
} |
|||
|
|||
} |
|||
|
@ -0,0 +1,15 @@ |
|||
package org.nl.acs.region.service.dto; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Builder; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
@Data |
|||
@Builder |
|||
@AllArgsConstructor |
|||
@NoArgsConstructor |
|||
public class RegionPageDTO { |
|||
private Integer page = 1; |
|||
private Integer pageSize = 5; |
|||
} |
@ -1,9 +1,18 @@ |
|||
package org.nl.acs.region.service.mapper; |
|||
|
|||
import org.apache.ibatis.annotations.Param; |
|||
import org.nl.acs.common.base.CommonMapper; |
|||
import org.nl.acs.region.domain.Region; |
|||
import org.springframework.stereotype.Repository; |
|||
|
|||
import java.util.Set; |
|||
|
|||
@Repository |
|||
public interface RegionMapper extends CommonMapper<Region> { |
|||
|
|||
/** |
|||
* 批量更新 |
|||
* @param idsSet |
|||
*/ |
|||
void upBatchIds(@Param("ids") Set<String> idsSet); |
|||
} |
|||
|
@ -0,0 +1,27 @@ |
|||
import request from '@/utils/request' |
|||
|
|||
export function add(data) { |
|||
return request({ |
|||
url: 'api/region', |
|||
method: 'post', |
|||
data |
|||
}) |
|||
} |
|||
|
|||
export function del(ids) { |
|||
return request({ |
|||
url: 'api/region/', |
|||
method: 'delete', |
|||
data: ids |
|||
}) |
|||
} |
|||
|
|||
export function edit(data) { |
|||
return request({ |
|||
url: 'api/region', |
|||
method: 'put', |
|||
data |
|||
}) |
|||
} |
|||
|
|||
export default { add, edit, del } |
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
After Width: | Height: | Size: 8.2 KiB |
@ -0,0 +1,12 @@ |
|||
export default { |
|||
'region': { |
|||
'title': '区域', |
|||
'region_code': '区域编号', |
|||
'region_name': '区域名称', |
|||
'is_charge': '是否管控', |
|||
'has_agv': '是否存在agv' |
|||
}, |
|||
'msg': { |
|||
'delete_msg': 'Are You Sure To Delete It? If There Are Subordinate Nodes, they Will Be Deleted Together. This Operation Cannot Be Undone!' |
|||
} |
|||
} |
@ -0,0 +1,12 @@ |
|||
export default { |
|||
'region': { |
|||
'title': '区域', |
|||
'region_code': '区域编号', |
|||
'region_name': '区域名称', |
|||
'is_charge': '是否管控', |
|||
'has_agv': '是否存在agv' |
|||
}, |
|||
'msg': { |
|||
'delete_msg': 'Are You Sure To Delete It? If There Are Subordinate Nodes, they Will Be Deleted Together. This Operation Cannot Be Undone!' |
|||
} |
|||
} |
@ -0,0 +1,12 @@ |
|||
export default { |
|||
'region': { |
|||
'title': '区域', |
|||
'region_code': '区域编号', |
|||
'region_name': '区域名称', |
|||
'is_charge': '是否管控', |
|||
'has_agv': '是否存在agv' |
|||
}, |
|||
'msg': { |
|||
'delete_msg': 'Are You Sure To Delete It? If There Are Subordinate Nodes, they Will Be Deleted Together. This Operation Cannot Be Undone!' |
|||
} |
|||
} |
@ -0,0 +1,91 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<!--工具栏--> |
|||
<div class="head-container"> |
|||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'--> |
|||
<crudOperation :permission="permission" /> |
|||
<!--表单组件--> |
|||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="600px"> |
|||
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="150px"> |
|||
<el-form-item :label="$t('region.region_code')" prop="region_code"> |
|||
<el-input v-model="form.region_code" style="width: 370px;" /> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('region.region_name')" prop="region_name"> |
|||
<el-input v-model="form.region_name" style="width: 370px;" /> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button type="text" @click="crud.cancelCU">{{ $t('auto.common.Cancel') }}</el-button> |
|||
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">{{ $t('auto.common.Confirm') }}</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
<!--表格渲染--> |
|||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;" @selection-change="crud.selectionChangeHandler"> |
|||
<el-table-column type="selection" width="55" /> |
|||
<el-table-column prop="region_code" :label="$t('region.region_code')" /> |
|||
<el-table-column prop="region_name" :label="$t('region.region_name')" /> |
|||
<el-table-column prop="is_charge" :label="$t('region.is_charge')" /> |
|||
<el-table-column prop="has_agv" :label="$t('region.has_agv')" /> |
|||
<el-table-column prop="create_by" :label="$t('auto.common.create_by')" /> |
|||
<el-table-column prop="update_user" :label="$t('auto.common.update_by')" /> |
|||
<el-table-column prop="create_time" :label="$t('auto.common.create_time')" /> |
|||
<el-table-column prop="update_time" :label="$t('auto.common.update_time')" /> |
|||
<el-table-column v-permission="['admin','customPolicy:del']" :label="$t('auto.common.Operate')" width="150px" align="center"> |
|||
<template slot-scope="scope"> |
|||
<udOperation |
|||
:data="scope.row" |
|||
:permission="permission" |
|||
/> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<!--分页组件--> |
|||
<pagination /> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import crudRegion from '@/api/acs/device/region' |
|||
import CRUD, { presenter, header, form, crud } from '@crud/crud' |
|||
import rrOperation from '@crud/RR.operation' |
|||
import crudOperation from '@crud/CRUD.operation' |
|||
import udOperation from '@crud/UD.operation' |
|||
import pagination from '@crud/Pagination' |
|||
import i18n from '@/i18n' |
|||
|
|||
const defaultForm = { id: null, create_time: null, update_time: null, region_code: null, region_name: null } |
|||
export default { |
|||
name: 'Region', |
|||
// eslint-disable-next-line vue/no-unused-components |
|||
components: { pagination, crudOperation, rrOperation, udOperation }, |
|||
mixins: [presenter(), header(), form(defaultForm), crud()], |
|||
cruds() { |
|||
return CRUD({ title: i18n.t('region.title'), url: 'api/region', idField: 'id', sort: 'id,desc', crudMethod: { ...crudRegion }}) |
|||
}, |
|||
data() { |
|||
return { |
|||
permission: { |
|||
add: ['admin', 'region:add'], |
|||
edit: ['admin', 'region:edit'], |
|||
del: ['admin', 'region:del'] |
|||
}, |
|||
deviceList: [], |
|||
rules: { |
|||
region_code: [ |
|||
{ required: true, message: '设备号不能为空', trigger: 'blur' } |
|||
] |
|||
}} |
|||
}, |
|||
methods: { |
|||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据 |
|||
[CRUD.HOOK.beforeRefresh]() { |
|||
return true |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
|
|||
</style> |
Loading…
Reference in new issue