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; |
package org.nl.acs.region.rest; |
||||
|
|
||||
import lombok.RequiredArgsConstructor; |
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 |
@RestController |
||||
@RequiredArgsConstructor |
@RequiredArgsConstructor |
||||
|
@RequestMapping("/api/region") |
||||
|
@Slf4j |
||||
public class RegionController { |
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; |
package org.nl.acs.region.service.mapper; |
||||
|
|
||||
|
import org.apache.ibatis.annotations.Param; |
||||
import org.nl.acs.common.base.CommonMapper; |
import org.nl.acs.common.base.CommonMapper; |
||||
import org.nl.acs.region.domain.Region; |
import org.nl.acs.region.domain.Region; |
||||
import org.springframework.stereotype.Repository; |
import org.springframework.stereotype.Repository; |
||||
|
|
||||
|
import java.util.Set; |
||||
|
|
||||
@Repository |
@Repository |
||||
public interface RegionMapper extends CommonMapper<Region> { |
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