rev:界面优化和新增点位角度
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
package org.nl.acs.angle.controller;
|
||||
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.angle.domain.AcsPointAngle;
|
||||
import org.nl.acs.angle.service.IAcsPointAngleService;
|
||||
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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author tq
|
||||
* @since 2023-12-13
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "点位角度管理")
|
||||
@RequestMapping("/api/acsPointAngle")
|
||||
@Slf4j
|
||||
public class AcsPointAngleController {
|
||||
@Autowired
|
||||
private IAcsPointAngleService acsPointAngleService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询点位角度")
|
||||
@ApiOperation("查询点位角度")
|
||||
//@PreAuthorize("@el.check('acsPointAngle:list')")
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
|
||||
return new ResponseEntity<>(acsPointAngleService.queryAll(whereJson, page), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@Log("新增点位角度")
|
||||
@ApiOperation("新增点位角度")
|
||||
//@PreAuthorize("@el.check('acsPointAngle:add')")
|
||||
public ResponseEntity<Object> create(@Validated @RequestBody AcsPointAngle dto) {
|
||||
acsPointAngleService.create(dto);
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@Log("修改点位角度")
|
||||
@ApiOperation("修改点位角度")
|
||||
//@PreAuthorize("@el.check('acsPointAngle:edit')")
|
||||
public ResponseEntity<Object> update(@Validated @RequestBody AcsPointAngle dto) {
|
||||
acsPointAngleService.update(dto);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@Log("删除点位角度")
|
||||
@ApiOperation("删除点位角度")
|
||||
//@PreAuthorize("@el.check('acsPointAngle:del')")
|
||||
@DeleteMapping
|
||||
public ResponseEntity<Object> delete(@RequestBody String[] ids) {
|
||||
acsPointAngleService.deleteAll(ids);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/updateActive")
|
||||
@Log("是否启用")
|
||||
@ApiOperation("是否启用")
|
||||
public ResponseEntity<Object> updateOn(@RequestParam Long id, @RequestParam String is_active) {
|
||||
acsPointAngleService.updateOn(id, is_active);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package org.nl.acs.angle.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.io.Serializable;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author tq
|
||||
* @since 2023-12-13
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("acs_point_angle")
|
||||
@ApiModel(value="AcsPointAngle对象", description="")
|
||||
public class AcsPointAngle implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "id标识")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "起始点位编码")
|
||||
private String start_point_code;
|
||||
|
||||
@ApiModelProperty(value = "起始设备编码")
|
||||
private String start_device_code;
|
||||
|
||||
@ApiModelProperty(value = "目标点位编码")
|
||||
private String next_point_code;
|
||||
|
||||
@ApiModelProperty(value = "目标设备编码")
|
||||
private String next_device_code;
|
||||
|
||||
@ApiModelProperty(value = "起始点位角度")
|
||||
private BigDecimal start_point_angle;
|
||||
|
||||
@ApiModelProperty(value = "目标点位角度")
|
||||
private BigDecimal next_point_angle;
|
||||
|
||||
@ApiModelProperty(value = "是否启用")
|
||||
private String is_active;
|
||||
|
||||
@ApiModelProperty(value = "创建者")
|
||||
private String create_by;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private String create_time;
|
||||
|
||||
@ApiModelProperty(value = "修改者")
|
||||
private String update_by;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private String update_time;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.nl.acs.angle.mapper;
|
||||
|
||||
import org.nl.acs.angle.domain.AcsPointAngle;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author tq
|
||||
* @since 2023-12-13
|
||||
*/
|
||||
public interface AcsPointAngleMapper extends BaseMapper<AcsPointAngle> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package org.nl.acs.angle.service;
|
||||
|
||||
import org.nl.acs.angle.domain.AcsPointAngle;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author tq
|
||||
* @since 2023-12-13
|
||||
*/
|
||||
public interface IAcsPointAngleService extends IService<AcsPointAngle> {
|
||||
|
||||
void create(AcsPointAngle dto);
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param dto /
|
||||
*/
|
||||
void update(AcsPointAngle dto);
|
||||
|
||||
void deleteAll(String[] ids);
|
||||
|
||||
Map<String, Object> queryAll(Map whereJson, Pageable page);
|
||||
|
||||
void updateOn(Long id, String is_active);
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
package org.nl.acs.angle.service.impl;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||
import org.nl.acs.angle.domain.AcsPointAngle;
|
||||
import org.nl.acs.angle.mapper.AcsPointAngleMapper;
|
||||
import org.nl.acs.angle.service.IAcsPointAngleService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.acs.device.domain.Device;
|
||||
import org.nl.acs.utils.ConvertUtil;
|
||||
import org.nl.acs.utils.PageUtil;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.config.language.LangProcess;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author tq
|
||||
* @since 2023-12-13
|
||||
*/
|
||||
@Service
|
||||
public class AcsPointAngleServiceImpl extends ServiceImpl<AcsPointAngleMapper, AcsPointAngle> implements IAcsPointAngleService {
|
||||
|
||||
@Autowired
|
||||
private AcsPointAngleMapper acsPointAngleMapper;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void create(AcsPointAngle dto) {
|
||||
AcsPointAngle acsPointAngle = new AcsPointAngle();
|
||||
String currentUsername = SecurityUtils.getCurrentUsername();
|
||||
String now = DateUtil.now();
|
||||
acsPointAngle.setId(dto.getId());
|
||||
acsPointAngle.setStart_point_code(dto.getStart_point_code());
|
||||
acsPointAngle.setStart_device_code(dto.getStart_device_code());
|
||||
acsPointAngle.setNext_point_code(dto.getNext_point_code());
|
||||
acsPointAngle.setNext_device_code(dto.getNext_device_code());
|
||||
acsPointAngle.setStart_point_angle(dto.getStart_point_angle());
|
||||
acsPointAngle.setNext_point_angle(dto.getNext_point_angle());
|
||||
acsPointAngle.setIs_active(dto.getIs_active());
|
||||
acsPointAngle.setCreate_by("auto");
|
||||
acsPointAngle.setCreate_time(now);
|
||||
acsPointAngle.setUpdate_by(currentUsername);
|
||||
acsPointAngle.setUpdate_time(now);
|
||||
acsPointAngleMapper.insert(acsPointAngle);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(AcsPointAngle dto) {
|
||||
if (dto == null) {
|
||||
throw new BadRequestException(LangProcess.msg("error_nullPoint"));
|
||||
}
|
||||
AcsPointAngle acsPointAngle = new AcsPointAngle();
|
||||
acsPointAngle.setId(dto.getId());
|
||||
//起点角度,终点角度变化
|
||||
acsPointAngle.setStart_point_angle(dto.getStart_point_angle());
|
||||
acsPointAngle.setNext_point_angle(dto.getNext_point_angle());
|
||||
String currentUsername = SecurityUtils.getCurrentUsername();
|
||||
String now = DateUtil.now();
|
||||
acsPointAngle.setUpdate_by(currentUsername);
|
||||
acsPointAngle.setUpdate_time(now);
|
||||
acsPointAngleMapper.updateById(acsPointAngle);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteAll(String[] ids) {
|
||||
for (String id : ids) {
|
||||
AcsPointAngle pointAngle = new LambdaQueryChainWrapper<>(acsPointAngleMapper)
|
||||
.eq(AcsPointAngle::getId, id)
|
||||
.one();
|
||||
if (pointAngle == null) {
|
||||
continue;
|
||||
}
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("id", id);
|
||||
acsPointAngleMapper.deleteByMap(map);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
|
||||
IPage<AcsPointAngle> queryPage = PageUtil.toMybatisPage(page);
|
||||
LambdaQueryWrapper<AcsPointAngle> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.orderByDesc(AcsPointAngle::getUpdate_time);
|
||||
IPage<AcsPointAngle> pointAnglePage = acsPointAngleMapper.selectPage(queryPage, wrapper);
|
||||
final JSONObject json = (JSONObject) JSON.toJSON(ConvertUtil.convertPage(pointAnglePage, AcsPointAngle.class));
|
||||
return json;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateOn(Long id, String is_active) {
|
||||
AcsPointAngle acsPointAngle = new AcsPointAngle();
|
||||
acsPointAngle.setId(id);
|
||||
acsPointAngle.setIs_active(is_active);
|
||||
String currentUsername = SecurityUtils.getCurrentUsername();
|
||||
String now = DateUtil.now();
|
||||
acsPointAngle.setUpdate_by(currentUsername);
|
||||
acsPointAngle.setUpdate_time(now);
|
||||
acsPointAngleMapper.updateById(acsPointAngle);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.acs.angle.mapper.AcsPointAngleMapper">
|
||||
|
||||
<!-- 通用查询结果列 -->
|
||||
<sql id="Base_Column_List">
|
||||
id, start_point_code, start_device_code, next_point_code, next_device_code, start_point_angle, next_point_angle, is_active, create_by, create_time, update_by, update_time
|
||||
</sql>
|
||||
|
||||
</mapper>
|
||||
35
acs/nladmin-ui/src/api/acs/angle/acsPointAngle.js
Normal file
35
acs/nladmin-ui/src/api/acs/angle/acsPointAngle.js
Normal file
@@ -0,0 +1,35 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function add(data) {
|
||||
return request({
|
||||
url: 'api/acsPointAngle',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function del(ids) {
|
||||
return request({
|
||||
url: 'api/acsPointAngle/',
|
||||
method: 'delete',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
|
||||
export function edit(data) {
|
||||
return request({
|
||||
url: 'api/acsPointAngle',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function updateOn(id, is_active) {
|
||||
console.log(is_active)
|
||||
return request({
|
||||
url: '/api/acsPointAngle/updateActive?id=' + id + '&is_active=' + is_active,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, updateOn }
|
||||
@@ -18,6 +18,9 @@ import timing from './timing/zh'
|
||||
import config from './config/zh'
|
||||
import user from './user/zh'
|
||||
import deviceErrorInfo from './deviceErrorInfo/zh'
|
||||
import role from './role/zh'
|
||||
import department from './department/zh'
|
||||
import dict from './dict/zh'
|
||||
|
||||
export default {
|
||||
...zhLocale,
|
||||
@@ -39,6 +42,9 @@ export default {
|
||||
...timing,
|
||||
...config,
|
||||
...deviceErrorInfo,
|
||||
...user
|
||||
...user,
|
||||
...role,
|
||||
...department,
|
||||
...dict
|
||||
}
|
||||
|
||||
|
||||
25
acs/nladmin-ui/src/i18n/langs/department/en.js
Normal file
25
acs/nladmin-ui/src/i18n/langs/department/en.js
Normal file
@@ -0,0 +1,25 @@
|
||||
export default {
|
||||
'department': {
|
||||
'table_title': {
|
||||
'Department_name': 'Department Name',
|
||||
'enter_department_name': 'Enter Department Name',
|
||||
'Department': 'Department'
|
||||
},
|
||||
'table_value': {
|
||||
'Sort': 'Sort',
|
||||
'Name': 'Name',
|
||||
'State': 'State',
|
||||
'CreateDate': 'CreateDate',
|
||||
'Operate': 'Operate'
|
||||
},
|
||||
'other': {
|
||||
'Department_code': 'Department Code',
|
||||
'Department_sort': 'Department Sort',
|
||||
'External_identification': 'External Identification',
|
||||
'Top_departments': 'Top Departments'
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': 'Confirm That One Of The Selected Data Items Is Deleted?'
|
||||
}
|
||||
}
|
||||
}
|
||||
25
acs/nladmin-ui/src/i18n/langs/department/in.js
Normal file
25
acs/nladmin-ui/src/i18n/langs/department/in.js
Normal file
@@ -0,0 +1,25 @@
|
||||
export default {
|
||||
'department': {
|
||||
'table_title': {
|
||||
'Department_name': 'Nama Departemen',
|
||||
'enter_department_name': 'Silakan Masukkan Nama Departemen',
|
||||
'Department': 'Departemen'
|
||||
},
|
||||
'table_value': {
|
||||
'Sort': 'Jenis',
|
||||
'Name': 'Nama',
|
||||
'State': 'Negara',
|
||||
'CreateDate': 'Tanggal Pembuatan',
|
||||
'Operate': 'Beroperasi'
|
||||
},
|
||||
'other': {
|
||||
'Department_code': 'Kode Departemen',
|
||||
'Department_sort': 'Urutkan Berdasarkan Departemen',
|
||||
'External_identification': 'Identifikasi Eksternal',
|
||||
'Top_departments': 'Departemen Teratas'
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': 'Mengonfirmasi Bahwa Salah Satu Item Data Yang Dipilih Dihapus?'
|
||||
}
|
||||
}
|
||||
}
|
||||
25
acs/nladmin-ui/src/i18n/langs/department/zh.js
Normal file
25
acs/nladmin-ui/src/i18n/langs/department/zh.js
Normal file
@@ -0,0 +1,25 @@
|
||||
export default {
|
||||
'department': {
|
||||
'table_title': {
|
||||
'Department_name': '部门名称',
|
||||
'enter_department_name': '请输入部门名称',
|
||||
'Department': '部门'
|
||||
},
|
||||
'table_value': {
|
||||
'Sort': '排序',
|
||||
'Name': '名称',
|
||||
'State': '状态',
|
||||
'CreateDate': '创建日期',
|
||||
'Operate': '操作'
|
||||
},
|
||||
'other': {
|
||||
'Department_code': '部门编码',
|
||||
'Department_sort': '部门排序',
|
||||
'External_identification': '外部标识',
|
||||
'Top_departments': '顶级部门'
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': '确认删除选中的1条数据?'
|
||||
}
|
||||
}
|
||||
}
|
||||
28
acs/nladmin-ui/src/i18n/langs/dict/en.js
Normal file
28
acs/nladmin-ui/src/i18n/langs/dict/en.js
Normal file
@@ -0,0 +1,28 @@
|
||||
export default {
|
||||
'dict': {
|
||||
'table_title': {
|
||||
'code_Name': 'Code(Name)',
|
||||
'enter_code_name': 'Enter Name(Code)'
|
||||
},
|
||||
'table_value': {
|
||||
'Code': 'Code',
|
||||
'Name': 'Name',
|
||||
'Operate': 'Operate',
|
||||
'Dict': 'Dict'
|
||||
},
|
||||
'other': {
|
||||
'Dict_detail': 'Dict Detail',
|
||||
'Department_label': 'Department Label',
|
||||
'Dictionary_value': 'Dictionary Value',
|
||||
'Sort': 'Sort',
|
||||
'Parameter1': 'Parameter1',
|
||||
'Parameter2': 'Parameter2',
|
||||
'Parameter3': 'Parameter3',
|
||||
'Which_dictionary': 'Which Dictionary',
|
||||
'Click_dictionary_see_details': 'Click On The Dictionary To See Details'
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': 'Confirm That One Of The Selected Data Items Is Deleted?'
|
||||
}
|
||||
}
|
||||
}
|
||||
28
acs/nladmin-ui/src/i18n/langs/dict/in.js
Normal file
28
acs/nladmin-ui/src/i18n/langs/dict/in.js
Normal file
@@ -0,0 +1,28 @@
|
||||
export default {
|
||||
'dict': {
|
||||
'table_title': {
|
||||
'code_Name': 'Nama (Kode)',
|
||||
'enter_code_name': 'Masukkan Nama (Kode)'
|
||||
},
|
||||
'table_value': {
|
||||
'Code': 'Pengkodean Kamus',
|
||||
'Name': 'Nama',
|
||||
'Operate': 'Beroperasi',
|
||||
'Dict': 'Kamus'
|
||||
},
|
||||
'other': {
|
||||
'Dict_detail': 'Detail Kamus',
|
||||
'Department_label': 'Tag Kamus',
|
||||
'Dictionary_value': 'Nilai Kamus',
|
||||
'Sort': 'Jenis',
|
||||
'Parameter1': 'Parameter 1',
|
||||
'Parameter2': 'Parameter 2',
|
||||
'Parameter3': 'Parameter 3',
|
||||
'Which_dictionary': 'Kamus Yang Menjadi Miliknya',
|
||||
'Click_dictionary_see_details': 'Klik Kamus Untuk Melihat Detailnya'
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': 'Mengonfirmasi Bahwa Salah Satu Item Data Yang Dipilih Dihapus?'
|
||||
}
|
||||
}
|
||||
}
|
||||
28
acs/nladmin-ui/src/i18n/langs/dict/zh.js
Normal file
28
acs/nladmin-ui/src/i18n/langs/dict/zh.js
Normal file
@@ -0,0 +1,28 @@
|
||||
export default {
|
||||
'dict': {
|
||||
'table_title': {
|
||||
'code_Name': '名称(编码)',
|
||||
'enter_code_name': '输入名称(编码)'
|
||||
},
|
||||
'table_value': {
|
||||
'Code': '字典编码',
|
||||
'Name': '名称',
|
||||
'Operate': '操作',
|
||||
'Dict': '字典'
|
||||
},
|
||||
'other': {
|
||||
'Dict_detail': '字典详情',
|
||||
'Department_label': '字典标签',
|
||||
'Dictionary_value': '字典值',
|
||||
'Sort': '排序',
|
||||
'Parameter1': '参数1',
|
||||
'Parameter2': '参数2',
|
||||
'Parameter3': '参数3',
|
||||
'Which_dictionary': '所属字典',
|
||||
'Click_dictionary_see_details': '点击字典查看详情'
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': '确认删除选中的1条数据?'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,9 @@ import config from './config/en'
|
||||
import customPolicy from './customPolicy/en'
|
||||
import deviceErrorInfo from './deviceErrorInfo/en'
|
||||
import user from './user/en'
|
||||
import role from './role/en'
|
||||
import department from './department/en'
|
||||
import dict from './dict/en'
|
||||
|
||||
export default {
|
||||
...enLocale,
|
||||
@@ -39,6 +42,9 @@ export default {
|
||||
...timing,
|
||||
...config,
|
||||
...deviceErrorInfo,
|
||||
...user
|
||||
...user,
|
||||
...role,
|
||||
...department,
|
||||
...dict
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,9 @@ import config from './config/in'
|
||||
import customPolicy from './customPolicy/in'
|
||||
import deviceErrorInfo from './deviceErrorInfo/in'
|
||||
import user from './user/in'
|
||||
import role from './role/in'
|
||||
import department from './department/in'
|
||||
import dict from './dict/in'
|
||||
|
||||
export default {
|
||||
...idLocale,
|
||||
@@ -40,5 +43,8 @@ export default {
|
||||
...config,
|
||||
...timing,
|
||||
...deviceErrorInfo,
|
||||
...user
|
||||
...user,
|
||||
...role,
|
||||
...department,
|
||||
...dict
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
export default {
|
||||
'role': {
|
||||
'table_title': {
|
||||
'taskCode_or_instCode': 'Task Number (Instruction Number)',
|
||||
'input_taskCode_or_instCode': 'Input TaskCode Or InstCode'
|
||||
},
|
||||
'table_value': {
|
||||
'roleList': 'List Of Roles',
|
||||
'Name': 'Name',
|
||||
'Description': 'Description',
|
||||
'CreateDate': 'CreateDate',
|
||||
'Operate': 'Operate',
|
||||
'Role': 'Role'
|
||||
},
|
||||
'other': {
|
||||
'Menu_assignments': 'Menu Assignments',
|
||||
'Save': 'Save'
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': 'Confirm That One Of The Selected Data Items Is Deleted?'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
export default {
|
||||
'role': {
|
||||
'table_title': {
|
||||
'taskCode_or_instCode': 'Nomor Tugas (Nomor Instruksi)',
|
||||
'input_taskCode_or_instCode': 'Masukkan Nomor Tugas Atau Nomor Instruksi'
|
||||
},
|
||||
'table_value': {
|
||||
'roleList': 'Daftar Peran',
|
||||
'Name': 'Nama',
|
||||
'Description': 'Deskripsi',
|
||||
'CreateDate': 'Tanggal Pembuatan',
|
||||
'Operate': 'Beroperasi',
|
||||
'Role': 'Peranan'
|
||||
},
|
||||
'other': {
|
||||
'Menu_assignments': 'Penetapan Menu',
|
||||
'Save': 'Simpan'
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': 'Mengonfirmasi Bahwa Salah Satu Item Data Yang Dipilih Dihapus?'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
export default {
|
||||
'role': {
|
||||
'table_title': {
|
||||
'taskCode_or_instCode': '任务号(指令号)',
|
||||
'input_taskCode_or_instCode': '输入任务号或指令号'
|
||||
},
|
||||
'table_value': {
|
||||
'roleList': '角色列表',
|
||||
'Name': '角色名称',
|
||||
'Description': '描述',
|
||||
'CreateDate': '创建日期',
|
||||
'Operate': '操作',
|
||||
'Role': '角色'
|
||||
},
|
||||
'other': {
|
||||
'Menu_assignments': '菜单分配',
|
||||
'Save': '保存'
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': '确认删除选中的1条数据?'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,9 @@ export default {
|
||||
'enter_department_name': 'Enter Department Name',
|
||||
'Account_Number (Name)': 'Account_Number (Name)',
|
||||
'Enter_Account_Number (Name)': 'Enter_Account_Number (Name)',
|
||||
'State': 'State'
|
||||
'State': 'State',
|
||||
'Search': 'Search',
|
||||
'System': 'System'
|
||||
},
|
||||
'table_value': {
|
||||
'Username': 'Username',
|
||||
@@ -16,7 +18,14 @@ export default {
|
||||
'Department': 'Department',
|
||||
'State': 'State',
|
||||
'create_Date': 'Create Date',
|
||||
'Operate': 'Operate'
|
||||
'Operate': 'Operate',
|
||||
'Password': 'Password',
|
||||
'boy': 'Boy',
|
||||
'girl': 'Girl',
|
||||
'Select_Sector_Categories': 'Select Sector Categories',
|
||||
'User': 'User',
|
||||
'activation': 'Activation',
|
||||
'lock': 'Lock'
|
||||
},
|
||||
'other': {
|
||||
'Revise': 'Revise',
|
||||
|
||||
@@ -1,22 +1,31 @@
|
||||
export default {
|
||||
'user': {
|
||||
'table_title': {
|
||||
'Department_name': '部门名称',
|
||||
'enter_department_name': '请输入部门名称',
|
||||
'Account_Number (Name)': '账号(名称)',
|
||||
'Enter_Account_Number (Name)': '请输入账号或者名称',
|
||||
'State': '状态'
|
||||
'Department_name': 'Nama Departemen',
|
||||
'enter_department_name': 'Silakan Masukkan Nama Departemen',
|
||||
'Account_Number (Name)': 'Nomor Rekening (Nama)',
|
||||
'Enter_Account_Number (Name)': 'Silakan Masukkan Nomor Akun Atau Nama',
|
||||
'State': 'Negara',
|
||||
'Search': 'Mencari',
|
||||
'System': 'Sistem'
|
||||
},
|
||||
'table_value': {
|
||||
'Username': '用户名',
|
||||
'Name': '姓名',
|
||||
'Sex': '性别',
|
||||
'Phone': '电话',
|
||||
'Mailbox': '邮箱',
|
||||
'Department': '部门',
|
||||
'State': '状态',
|
||||
'create_Date': '创建日期',
|
||||
'Operate': '操作'
|
||||
'Username': 'Nama Pengguna',
|
||||
'Name': 'Nama',
|
||||
'Sex': 'Jenis Kelamin',
|
||||
'Phone': 'Ponsel',
|
||||
'Mailbox': 'Kotak Surat',
|
||||
'Department': 'Departemen',
|
||||
'State': 'Negara',
|
||||
'create_Date': 'Tanggal Pembuatan',
|
||||
'Operate': 'Beroperasi',
|
||||
'Password': 'Kata Sandi',
|
||||
'boy': 'Laki',
|
||||
'girl': 'Wanita',
|
||||
'Select_Sector_Categories': 'Pilih Kategori Departemen',
|
||||
'User': 'Pengguna',
|
||||
'activation': 'Pengaktifan',
|
||||
'lock': 'Kunci'
|
||||
},
|
||||
'other': {
|
||||
'Revise': 'Merevisi',
|
||||
|
||||
@@ -5,7 +5,9 @@ export default {
|
||||
'enter_department_name': '请输入部门名称',
|
||||
'Account_Number (Name)': '账号(名称)',
|
||||
'Enter_Account_Number (Name)': '请输入账号或者名称',
|
||||
'State': '状态'
|
||||
'State': '状态',
|
||||
'Search': '搜索',
|
||||
'System': '所属系统'
|
||||
},
|
||||
'table_value': {
|
||||
'Username': '用户名',
|
||||
@@ -16,7 +18,14 @@ export default {
|
||||
'Department': '部门',
|
||||
'State': '状态',
|
||||
'create_Date': '创建日期',
|
||||
'Operate': '操作'
|
||||
'Operate': '操作',
|
||||
'Password': '密码',
|
||||
'boy': '男',
|
||||
'girl': '女',
|
||||
'Select_Sector_Categories': '选择部门类目',
|
||||
'User': '用户',
|
||||
'activation': '激活',
|
||||
'lock': '锁定'
|
||||
},
|
||||
'other': {
|
||||
'Revise': '修改',
|
||||
@@ -25,7 +34,7 @@ export default {
|
||||
'Reset': '重置密码',
|
||||
'Department_permissions': '部门权限',
|
||||
'Data_Permissions': '数据权限',
|
||||
'Lock_account': '锁定账号',
|
||||
'Lock_account': '账号',
|
||||
'Assign_roles': '分配角色'
|
||||
},
|
||||
'msg': {
|
||||
|
||||
231
acs/nladmin-ui/src/views/acs/angle/index.vue
Normal file
231
acs/nladmin-ui/src/views/acs/angle/index.vue
Normal file
@@ -0,0 +1,231 @@
|
||||
<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="500px"
|
||||
>
|
||||
<el-form
|
||||
ref="form"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
size="small"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-form-item
|
||||
v-if="false"
|
||||
label="id标识"
|
||||
>
|
||||
<el-input v-model="form.id" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="起始点位编码"
|
||||
>
|
||||
<el-input v-model="form.start_point_code" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="起始设备编码"
|
||||
>
|
||||
<el-input v-model="form.start_device_code" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="目标点位编码"
|
||||
>
|
||||
<el-input v-model="form.next_point_code" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="目标设备编码"
|
||||
>
|
||||
<el-input v-model="form.next_device_code" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="起始点位角度"
|
||||
>
|
||||
<el-input v-model="form.start_point_angle" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="目标点位角度"
|
||||
>
|
||||
<el-input v-model="form.next_point_angle" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="是否启用"
|
||||
prop="is_active"
|
||||
>
|
||||
<el-input v-model="form.is_active" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</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
|
||||
v-if="false"
|
||||
prop="id"
|
||||
label="id标识"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="start_point_code"
|
||||
label="起始点位编码"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="start_device_code"
|
||||
label="起始设备编码"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="next_point_code"
|
||||
label="目标点位编码"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="next_device_code"
|
||||
label="目标设备编码"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="start_point_angle"
|
||||
label="起始点位角度"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="next_point_angle"
|
||||
label="目标点位角度"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="is_active"
|
||||
label="是否启用"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.is_active"
|
||||
active-color="#13ce66"
|
||||
inactive-color="#ff4949"
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
@change="updateIsOn(scope.row.id,scope.row.is_active)"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="create_by"
|
||||
label="创建者"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="create_time"
|
||||
label="创建时间"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="update_by"
|
||||
label="修改者"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="update_time"
|
||||
label="修改时间"
|
||||
/>
|
||||
<el-table-column
|
||||
v-permission="['admin','acsPointAngle:edit','acsPointAngle:del']"
|
||||
label="操作"
|
||||
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 CRUD, { crud, form, header, presenter } from '@crud/crud'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
import udOperation from '@crud/UD.operation'
|
||||
import pagination from '@crud/Pagination'
|
||||
import crudAcsPointAngle from '@/api/acs/angle/acsPointAngle'
|
||||
|
||||
|
||||
const defaultForm = {
|
||||
id: null,
|
||||
start_point_code: null,
|
||||
start_device_code: null,
|
||||
next_point_code: null,
|
||||
next_device_code: null,
|
||||
start_point_angle: null,
|
||||
next_point_angle: null,
|
||||
is_active: null,
|
||||
create_by: null,
|
||||
create_time: null,
|
||||
update_by: null,
|
||||
update_time: null
|
||||
}
|
||||
export default {
|
||||
name: 'AcsPointAngle',
|
||||
components: { pagination, crudOperation, udOperation },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
title: '点位角度',
|
||||
url: 'api/acsPointAngle',
|
||||
idField: 'id',
|
||||
sort: 'id,desc',
|
||||
crudMethod: { ...crudAcsPointAngle }
|
||||
})
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
permission: {
|
||||
add: ['admin', 'acsPointAngle:add'],
|
||||
edit: ['admin', 'acsPointAngle:edit'],
|
||||
del: ['admin', 'acsPointAngle:del']
|
||||
},
|
||||
rules: {
|
||||
is_active: [
|
||||
{
|
||||
required: true,
|
||||
message: '是否启用不能为空',
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
||||
[CRUD.HOOK.beforeRefresh]() {
|
||||
return true
|
||||
},
|
||||
updateIsOn(id, is_active) {
|
||||
crudAcsPointAngle.updateOn(id, is_active).then(res => {
|
||||
this.notify('保存成功', 'success')
|
||||
}).catch(err => {
|
||||
console.log(err.response.data.message)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<div class="login" :style="'background-image:url('+ Background +');'">
|
||||
<div style="font-size: 42px; color: #f4f4f5; text-align: center; background-color: transparent;padding-top: 20px;">兰州海亮设备管理任务看板</div>
|
||||
<div style="font-size: 42px; color: #f4f4f5; text-align: center; background-color: transparent;padding-top: 20px;">{{ $t('task.screen.title') }}</div>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<di><h2 style="font-size: 50px; color: #f4f4f5;margin-left: 30px;padding-top: 10px;">任务看板</h2></di>
|
||||
<di><h2 style="font-size: 50px; color: #f4f4f5;margin-left: 30px;padding-top: 10px;">{{ $t('task.screen.task_screen') }}</h2></di>
|
||||
<el-form
|
||||
:inline="true"
|
||||
label-position="right"
|
||||
|
||||
@@ -4,27 +4,38 @@
|
||||
<div class="head-container">
|
||||
<div v-if="crud.props.searchToggle">
|
||||
<!-- 搜索 -->
|
||||
<el-input
|
||||
v-model="query.name"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="输入部门名称搜索"
|
||||
style="width: 200px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
<el-select
|
||||
v-model="query.is_used"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="状态"
|
||||
class="filter-item"
|
||||
style="width: 90px"
|
||||
@change="crud.toQuery"
|
||||
<el-form
|
||||
:inline="true"
|
||||
class="demo-form-inline"
|
||||
label-position="right"
|
||||
label-suffix=":"
|
||||
>
|
||||
<el-option v-for="item in enabledTypeOptions" :key="item.key" :label="item.display_name" :value="item.key" />
|
||||
</el-select>
|
||||
<rrOperation />
|
||||
<el-form-item :label="$t('department.table_title.Department_name')">
|
||||
<el-input
|
||||
v-model="query.name"
|
||||
clearable
|
||||
size="mini"
|
||||
:placeholder="$t('department.table_title.enter_department_name')"
|
||||
style="width: 200px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('department.table_value.State')">
|
||||
<el-select
|
||||
v-model="query.is_used"
|
||||
clearable
|
||||
size="mini"
|
||||
:placeholder="$t('department.table_value.State')"
|
||||
class="filter-item"
|
||||
style="width: 200px"
|
||||
@change="crud.toQuery"
|
||||
>
|
||||
<el-option v-for="item in enabledTypeOptions" :key="item.key" :label="item.display_name" :value="item.key" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<rrOperation />
|
||||
</el-form>
|
||||
</div>
|
||||
<crudOperation :permission="permission" />
|
||||
</div>
|
||||
@@ -34,16 +45,16 @@
|
||||
:before-close="crud.cancelCU"
|
||||
:visible.sync="crud.status.cu > 0"
|
||||
:title="crud.status.title"
|
||||
width="500px"
|
||||
width="650px"
|
||||
>
|
||||
<el-form ref="form" inline :model="form" :rules="rules" size="mini" label-width="80px">
|
||||
<el-form-item label="部门编码" prop="code">
|
||||
<el-form ref="form" inline :model="form" :rules="rules" size="mini" label-width="160px">
|
||||
<el-form-item :label="$t('department.other.Department_code')" prop="code" :min-width="flexWidth('code',crud.data,$t('department.other.Department_code'))">
|
||||
<el-input v-model="form.code" :disabled="true" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="部门名称" prop="name">
|
||||
<el-form-item :label="$t('department.table_title.Department_name')" prop="name" :min-width="flexWidth('code',crud.data,$t('department.other.Department_code'))">
|
||||
<el-input v-model="form.name" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="部门排序" prop="dept_sort">
|
||||
<el-form-item :label="$t('department.other.Department_sort')" prop="dept_sort" :min-width="flexWidth('code',crud.data,$t('department.other.Department_code'))">
|
||||
<el-input-number
|
||||
v-model.number="form.dept_sort"
|
||||
:min="0"
|
||||
@@ -52,16 +63,18 @@
|
||||
style="width: 370px;"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="外部标识" prop="ext_id">
|
||||
<el-form-item :label="$t('department.other.External_identification')" prop="ext_id" :min-width="flexWidth('code',crud.data,$t('department.other.Department_code'))">
|
||||
<el-input v-model="form.ext_id" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="顶级部门">
|
||||
<el-form-item :label="$t('department.other.Top_departments')" :min-width="flexWidth('code',crud.data,$t('department.other.Department_code'))">
|
||||
<el-radio-group v-model="form.isTop" style="width: 140px">
|
||||
<el-radio label="1">是</el-radio>
|
||||
<el-radio label="0">否</el-radio>
|
||||
<el-row>
|
||||
<el-radio label="1">{{ $t('common.true') }}</el-radio>
|
||||
<el-radio label="0">{{ $t('common.false') }}</el-radio>
|
||||
</el-row>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="is_used">
|
||||
<el-form-item :label="$t('department.table_value.State')" prop="is_used" :min-width="flexWidth('code',crud.data,$t('department.other.Department_code'))">
|
||||
<el-switch
|
||||
v-model="form.is_used"
|
||||
active-color="#409EFF"
|
||||
@@ -70,7 +83,7 @@
|
||||
inactive-valu="false"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.isTop === '0'" style="margin-bottom: 0;" label="上级部门" prop="pid">
|
||||
<el-form-item v-if="form.isTop === '0'" style="margin-bottom: 0;" :label="$t('department.other.Top_departments')" prop="pid" :min-width="flexWidth('code',crud.data,$t('department.other.Department_code'))">
|
||||
<treeselect
|
||||
v-model="form.pid"
|
||||
:load-options="loadDepts"
|
||||
@@ -82,8 +95,8 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||
<el-button type="text" @click="crud.cancelCU">{{ $t('task.select.Cancel') }}</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{ $t('task.select.Confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--表格渲染 :load="getDeptDatas" 点击事件 row-key需要指定唯一的数据id-->
|
||||
@@ -101,9 +114,9 @@
|
||||
>
|
||||
<el-table-column :selectable="checkboxT" type="selection" width="55" />
|
||||
<!-- <el-table-column label="编码" prop="code" />-->
|
||||
<el-table-column label="名称" prop="name" />
|
||||
<el-table-column label="排序" prop="dept_sort" />
|
||||
<el-table-column label="状态" align="center" prop="is_used">
|
||||
<el-table-column :label="$t('department.table_value.Name')" prop="name" :min-width="flexWidth('name',crud.data,$t('department.table_value.Name'))" />
|
||||
<el-table-column :label="$t('department.table_value.Sort')" prop="dept_sort" :min-width="flexWidth('dept_sort',crud.data,$t('department.table_value.Sort'))" />
|
||||
<el-table-column :label="$t('department.table_value.State')" align="center" prop="is_used" :min-width="flexWidth('is_used',crud.data,$t('department.table_value.State'))">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.is_used"
|
||||
@@ -114,10 +127,10 @@
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="create_time" label="创建日期" />
|
||||
<el-table-column prop="create_time" :label="$t('department.table_value.CreateDate')" :min-width="flexWidth('create_time',crud.data,$t('department.table_value.CreateDate'))" />
|
||||
<el-table-column
|
||||
v-permission="['admin','dept:edit','dept:del']"
|
||||
label="操作"
|
||||
:label="$t('department.table_value.Operate')"
|
||||
width="130px"
|
||||
align="center"
|
||||
fixed="right"
|
||||
@@ -143,6 +156,7 @@ import CRUD, { crud, form, header, presenter } from '@crud/crud'
|
||||
import rrOperation from '@crud/RR.operation'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
import udOperation from '@crud/UD.operation'
|
||||
import i18n from '@/i18n'
|
||||
|
||||
const defaultForm = {
|
||||
code: null,
|
||||
@@ -158,7 +172,7 @@ export default {
|
||||
name: 'Dept',
|
||||
components: { Treeselect, crudOperation, rrOperation, udOperation },
|
||||
cruds() {
|
||||
return CRUD({ title: '部门', idField: 'dept_id', url: 'api/dept/vo', crudMethod: { ...crudDept }})
|
||||
return CRUD({ title: i18n.t('department.table_title.Department'), idField: 'dept_id', url: 'api/dept/vo', crudMethod: { ...crudDept }})
|
||||
},
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
// 设置数据字典
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<div v-if="query.code === ''">
|
||||
<div class="my-code">点击字典查看详情</div>
|
||||
<div class="my-code">{{ $t('dict.other.Click_dictionary_see_details') }}</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<!--工具栏-->
|
||||
@@ -27,16 +27,16 @@
|
||||
:before-close="crud.cancelCU"
|
||||
:visible="crud.status.cu > 0"
|
||||
:title="crud.status.title"
|
||||
width="500px"
|
||||
width="600px"
|
||||
>
|
||||
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
|
||||
<el-form-item label="字典标签" prop="label">
|
||||
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="150px">
|
||||
<el-form-item :label="$t('dict.other.Dict_detail')" prop="label">
|
||||
<el-input v-model="form.label" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="字典值" prop="value">
|
||||
<el-form-item :label="$t('dict.other.Dictionary_value')" prop="value">
|
||||
<el-input v-model="form.value" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="排序" prop="dict_sort">
|
||||
<el-form-item :label="$t('dict.other.Sort')" prop="dict_sort">
|
||||
<el-input-number
|
||||
v-model.number="form.dict_sort"
|
||||
:min="0"
|
||||
@@ -45,19 +45,19 @@
|
||||
style="width: 370px;"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="参数1" prop="para1">
|
||||
<el-form-item :label="$t('dict.other.Parameter1')" prop="para1">
|
||||
<el-input v-model="form.para1" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="参数2" prop="para2">
|
||||
<el-form-item :label="$t('dict.other.Parameter2')" prop="para2">
|
||||
<el-input v-model="form.para2" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="参数3" prop="para3">
|
||||
<el-form-item :label="$t('dict.other.Parameter3')" prop="para3">
|
||||
<el-input v-model="form.para3" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||
<el-button type="text" @click="crud.cancelCU">{{ $t('task.select.Cancel') }}</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{ $t('task.select.Confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--表格渲染-->
|
||||
@@ -69,18 +69,18 @@
|
||||
style="width: 100%;"
|
||||
@selection-change="crud.selectionChangeHandler"
|
||||
>
|
||||
<el-table-column label="所属字典" min-width="150" show-overflow-tooltip>
|
||||
<el-table-column prop="code" :label="$t('dict.other.Which_dictionary')" :min-width="flexWidth('code',crud.data,$t('dict.other.Which_dictionary'))" show-overflow-tooltip>
|
||||
{{ query.code }}
|
||||
</el-table-column>
|
||||
<el-table-column prop="label" label="字典标签" align="center" width="120" show-overflow-tooltip />
|
||||
<el-table-column prop="value" label="字典值" align="center" width="60" />
|
||||
<el-table-column prop="dict_sort" label="排序" align="center" width="65" />
|
||||
<el-table-column prop="para1" label="参数1" align="center" width="65" />
|
||||
<el-table-column prop="para2" label="参数2" align="center" width="65" />
|
||||
<el-table-column prop="para3" label="参数3" align="center" width="65" />
|
||||
<el-table-column prop="label" :label="$t('dict.other.Department_label')" align="center" :min-width="flexWidth('label',crud.data,$t('dict.other.Department_label'))" show-overflow-tooltip />
|
||||
<el-table-column prop="value" :label="$t('dict.other.Dictionary_value')" align="center" :min-width="flexWidth('value',crud.data,$t('dict.other.Dictionary_value'))" />
|
||||
<el-table-column prop="dict_sort" :label="$t('dict.other.Sort')" align="center" min-width="120px" />
|
||||
<el-table-column prop="para1" :label="$t('dict.other.Parameter1')" align="center" :min-width="flexWidth('para1',crud.data,$t('dict.other.Parameter1'))" />
|
||||
<el-table-column prop="para2" :label="$t('dict.other.Parameter2')" align="center" :min-width="flexWidth('para2',crud.data,$t('dict.other.Parameter2'))" />
|
||||
<el-table-column prop="para3" :label="$t('dict.other.Parameter3')" align="center" :min-width="flexWidth('para3',crud.data,$t('dict.other.Parameter3'))" />
|
||||
<el-table-column
|
||||
v-permission="['admin','dict:edit','dict:del']"
|
||||
label="操作"
|
||||
:label="$t('dict.table_value.Operate')"
|
||||
align="center"
|
||||
width="115px"
|
||||
fixed="right"
|
||||
@@ -105,6 +105,7 @@ import CRUD, { form, header, presenter } from '@crud/crud'
|
||||
import pagination from '@crud/Pagination'
|
||||
import rrOperation from '@crud/RR.operation'
|
||||
import udOperation from '@crud/UD.operation'
|
||||
import i18n from '@/i18n'
|
||||
|
||||
const defaultForm = { dict_id: null, name: null, label: null, value: null, dict_sort: null, dictType: null, para1: null, para2: null, para3: null, createId: null, createName: null, createTime: null, updateId: null, updateName: null, updateTime: null }
|
||||
|
||||
@@ -113,7 +114,7 @@ export default {
|
||||
cruds() {
|
||||
return [
|
||||
CRUD({
|
||||
title: '字典详情',
|
||||
title: i18n.t('dict.other.Dict_detail'),
|
||||
url: 'api/dict/dictDetail',
|
||||
query: { code: '' },
|
||||
idField: 'dict_id',
|
||||
|
||||
@@ -7,19 +7,19 @@
|
||||
:before-close="crud.cancelCU"
|
||||
:visible="crud.status.cu > 0"
|
||||
:title="crud.status.title"
|
||||
width="500px"
|
||||
width="650px"
|
||||
>
|
||||
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
|
||||
<el-form-item label="字典编码" prop="code">
|
||||
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="170px">
|
||||
<el-form-item :label="$t('dict.table_value.Code')" prop="code">
|
||||
<el-input v-model="form.code" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="名称">
|
||||
<el-form-item :label="$t('dict.table_value.Name')">
|
||||
<el-input v-model="form.name" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||
<el-button type="text" @click="crud.cancelCU">{{ $t('task.select.Cancel') }}</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{ $t('task.select.Confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 字典列表 -->
|
||||
@@ -30,16 +30,25 @@
|
||||
<div class="head-container">
|
||||
<div v-if="crud.props.searchToggle">
|
||||
<!-- 搜索 -->
|
||||
<el-input
|
||||
v-model="query.blurry"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="输入名称或者描述搜索"
|
||||
style="width: 200px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
<rrOperation />
|
||||
<el-form
|
||||
:inline="true"
|
||||
class="demo-form-inline"
|
||||
label-position="right"
|
||||
label-suffix=":"
|
||||
>
|
||||
<el-form-item :label="$t('dict.table_title.code_Name')">
|
||||
<el-input
|
||||
v-model="query.blurry"
|
||||
clearable
|
||||
size="mini"
|
||||
:placeholder="$t('dict.table_title.enter_code_name')"
|
||||
style="width: 200px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<rrOperation />
|
||||
</el-form>
|
||||
</div>
|
||||
<crudOperation :permission="permission" />
|
||||
</div>
|
||||
@@ -54,11 +63,11 @@
|
||||
@current-change="handleCurrentChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column show-overflow-tooltip prop="code" label="编码" />
|
||||
<el-table-column show-overflow-tooltip prop="name" label="名称" />
|
||||
<el-table-column show-overflow-tooltip prop="code" :label="$t('dict.table_value.Code')" />
|
||||
<el-table-column show-overflow-tooltip prop="name" :label="$t('dict.table_value.Name')" />
|
||||
<el-table-column
|
||||
v-permission="['admin','dict:edit','dict:del']"
|
||||
label="操作"
|
||||
:label="$t('dict.table_value.Operate')"
|
||||
width="130px"
|
||||
align="center"
|
||||
fixed="right"
|
||||
@@ -79,7 +88,7 @@
|
||||
<el-col :xs="11" :sm="11" :md="11" :lg="11" :xl="11">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>字典详情</span>
|
||||
<span>{{ $t('dict.other.Dict_detail') }}</span>
|
||||
<el-button
|
||||
v-if="checkPermission(['admin','dict:add']) && this.$refs.dictDetail && this.$refs.dictDetail.query.code"
|
||||
class="filter-item"
|
||||
@@ -88,7 +97,7 @@
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
@click="$refs.dictDetail && $refs.dictDetail.crud.toAdd()"
|
||||
>新增
|
||||
>{{ $t('common.Create') }}
|
||||
</el-button>
|
||||
</div>
|
||||
<dictDetail ref="dictDetail" :permission="permission" />
|
||||
@@ -108,6 +117,7 @@ import crudOperation from '@crud/CRUD.operation'
|
||||
import pagination from '@crud/Pagination'
|
||||
import rrOperation from '@crud/RR.operation'
|
||||
import udOperation from '@crud/UD.operation'
|
||||
import i18n from '@/i18n'
|
||||
|
||||
const defaultForm = {
|
||||
dict_id: null,
|
||||
@@ -127,7 +137,7 @@ export default {
|
||||
components: { crudOperation, pagination, rrOperation, udOperation, dictDetail },
|
||||
cruds() {
|
||||
return [
|
||||
CRUD({ title: '字典', url: 'api/dict', idField: 'dict_id', crudMethod: { ...crudDict }})
|
||||
CRUD({ title: i18n.t('dict.table_value.Dict'), url: 'api/dict', idField: 'dict_id', crudMethod: { ...crudDict }})
|
||||
]
|
||||
},
|
||||
mixins: [presenter(), header(), form(defaultForm)],
|
||||
|
||||
@@ -4,28 +4,35 @@
|
||||
<div class="head-container">
|
||||
<div v-if="crud.props.searchToggle">
|
||||
<!-- 搜索 -->
|
||||
<el-input
|
||||
v-model="query.blurry"
|
||||
clearable
|
||||
size="mini"
|
||||
:placeholder="$t('menu.placeholder.fuzzy_search')"
|
||||
style="width: 200px;margin-bottom: 10px"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="queryBlurry"
|
||||
/>
|
||||
<el-select
|
||||
v-model="query.system_type"
|
||||
style="width: 100px; height: 35px;top: -5px;"
|
||||
:placeholder="$t('menu.placeholder.owning_system')"
|
||||
@change="changetype"
|
||||
<el-form
|
||||
:inline="true"
|
||||
class="demo-form-inline"
|
||||
label-position="right"
|
||||
label-suffix=":"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.system_type"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
<rrOperation />
|
||||
<el-form-item :label="$t('menu.placeholder.fuzzy_search')">
|
||||
<el-input
|
||||
v-model="query.blurry"
|
||||
clearable
|
||||
size="mini"
|
||||
:placeholder="$t('menu.placeholder.fuzzy_search')"
|
||||
style="width: 200px;margin-bottom: 10px"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="queryBlurry"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('menu.placeholder.owning_system')">
|
||||
<el-select
|
||||
v-model="query.system_type"
|
||||
style="width: 200px; margin-bottom: 10px"
|
||||
:placeholder="$t('menu.placeholder.owning_system')"
|
||||
@change="changetype"
|
||||
>
|
||||
<el-option v-for="item in dict.system_type" :label="item.label" :value="item.value"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<rrOperation />
|
||||
</el-form>
|
||||
</div>
|
||||
<crudOperation :permission="permission" />
|
||||
</div>
|
||||
@@ -38,7 +45,7 @@
|
||||
:title="crud.status.title"
|
||||
width="650px"
|
||||
>
|
||||
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="100px">
|
||||
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="150px">
|
||||
<el-form-item :label="$t('menu.dialog.menu_type')" prop="type">
|
||||
<el-radio-group v-model="form.type" size="mini">
|
||||
<el-radio-button label="1">{{ $t('menu.dialog.system') }}</el-radio-button>
|
||||
@@ -69,20 +76,20 @@
|
||||
</el-form-item>
|
||||
<el-form-item v-show="form.type.toString() !== '2' && form.type.toString() !== '1'" :label="$t('menu.dialog.menu_chain')" prop="iframe">
|
||||
<el-radio-group v-model="form.iframe" size="mini">
|
||||
<el-radio-button label="true">是</el-radio-button>
|
||||
<el-radio-button label="false">否</el-radio-button>
|
||||
<el-radio-button label="true">{{ $t('common.true') }}</el-radio-button>
|
||||
<el-radio-button label="false">{{ $t('common.false') }}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-show="form.type.toString() === '2'" :label="$t('menu.dialog.menu_cache')" prop="cache">
|
||||
<el-radio-group v-model="form.cache" size="mini">
|
||||
<el-radio-button label="true">是</el-radio-button>
|
||||
<el-radio-button label="false">否</el-radio-button>
|
||||
<el-radio-button label="true">{{ $t('common.true') }}</el-radio-button>
|
||||
<el-radio-button label="false">{{ $t('common.false') }}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-show="form.type.toString() !== '2' && form.type.toString() !== '1' " :label="$t('menu.dialog.menu_visible')" prop="hidden">
|
||||
<el-radio-group v-model="form.hidden" size="mini">
|
||||
<el-radio-button label="false">是</el-radio-button>
|
||||
<el-radio-button label="true">否</el-radio-button>
|
||||
<el-radio-button label="false">{{ $t('common.true') }}</el-radio-button>
|
||||
<el-radio-button label="true">{{ $t('common.false') }}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.type.toString() !== '2'" :label="$t('menu.dialog.default_title')" prop="title">
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
label-position="right"
|
||||
label-suffix=":"
|
||||
>
|
||||
<el-form-item :label="$t('task.txt_box.Task_code')">
|
||||
<el-form-item :label="$t('role.table_title.taskCode_or_instCode')">
|
||||
<el-input
|
||||
v-model="query.blurry"
|
||||
size="mini"
|
||||
@@ -36,16 +36,16 @@
|
||||
width="520px"
|
||||
>
|
||||
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="80px">
|
||||
<el-form-item label="角色名称" prop="name">
|
||||
<el-form-item :label="$t('role.table_value.Name')" prop="name">
|
||||
<el-input v-model="form.name" style="width: 380px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="description">
|
||||
<el-form-item :label="$t('role.table_value.Name')" prop="description">
|
||||
<el-input v-model="form.remark" style="width: 380px;" rows="2" type="textarea" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||
<el-button type="text" @click="crud.cancelCU">{{ $t('task.select.Cancel') }}</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{ $t('task.select.Confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-row :gutter="15">
|
||||
@@ -53,7 +53,7 @@
|
||||
<el-col :span="12" style="margin-bottom: 10px">
|
||||
<el-card class="box-card" shadow="never">
|
||||
<div slot="header" class="clearfix">
|
||||
<span class="role-span">角色列表</span>
|
||||
<span class="role-span">{{ $t('role.table_value.roleList') }}</span>
|
||||
</div>
|
||||
<el-table
|
||||
ref="table"
|
||||
@@ -65,16 +65,16 @@
|
||||
@current-change="handleCurrentChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column prop="name" label="名称" min-width="100" show-overflow-tooltip />
|
||||
<el-table-column show-overflow-tooltip prop="remark" label="描述" />
|
||||
<el-table-column show-overflow-tooltip width="135px" prop="create_time" label="创建日期">
|
||||
<el-table-column prop="name" :label="$t('role.table_value.Name')" :min-width="flexWidth('name',crud.data,$t('role.table_value.Name'))" show-overflow-tooltip />
|
||||
<el-table-column show-overflow-tooltip prop="remark" :label="$t('role.table_value.Description')" :min-width="flexWidth('remark',crud.data,$t('role.table_value.Description'))" />
|
||||
<el-table-column show-overflow-tooltip :min-width="flexWidth('create_time',crud.data,$t('role.table_value.CreateDate'))" prop="create_time" :label="$t('role.table_value.CreateDate')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.create_time) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-permission="['admin','roles:edit','roles:del']"
|
||||
label="操作"
|
||||
:label="$t('role.table_value.Operate')"
|
||||
width="130px"
|
||||
align="center"
|
||||
fixed="right"
|
||||
@@ -96,7 +96,7 @@
|
||||
<el-card class="box-card" shadow="never">
|
||||
<div slot="header" class="clearfix">
|
||||
<el-tooltip class="item" effect="dark" content="选择指定角色分配菜单" placement="top">
|
||||
<span class="role-span">菜单分配</span>
|
||||
<span class="role-span">{{ $t('role.other.Menu_assignments') }}</span>
|
||||
</el-tooltip>
|
||||
<el-button
|
||||
v-permission="['admin','roles:edit']"
|
||||
@@ -107,7 +107,7 @@
|
||||
style="float: right; padding: 6px 10px"
|
||||
type="primary"
|
||||
@click="saveMenu"
|
||||
>保存
|
||||
>{{ $t('role.other.Save') }}
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
@@ -139,18 +139,19 @@ 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 = { role_id: null, name: null, remark: null }
|
||||
export default {
|
||||
name: 'Role',
|
||||
components: { pagination, crudOperation, rrOperation, udOperation, crudMenu },
|
||||
cruds() {
|
||||
return CRUD({ idField: 'role_id', title: '角色', url: 'api/sysRole', crudMethod: { ...crudRoles }})
|
||||
return CRUD({ idField: 'role_id', title: i18n.t('role.table_value.Role'), url: 'api/sysRole', crudMethod: { ...crudRoles }})
|
||||
},
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
data() {
|
||||
return {
|
||||
defaultProps: { children: 'children', label: 'title', isLeaf: 'leaf' },
|
||||
defaultProps: { children: 'children', label: this.$langPre.computedProp('title'), isLeaf: 'leaf' },
|
||||
currentId: 0, menuLoading: false, showButton: false,
|
||||
menus: [], menuIds: [], // 多选时使用
|
||||
permission: {
|
||||
@@ -221,6 +222,8 @@ export default {
|
||||
this.showButton = true
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
menuChange(menu) {
|
||||
// 获取该节点的所有子节点,id 包含自身
|
||||
getChild(menu.menu_id).then(childIds => {
|
||||
|
||||
@@ -148,6 +148,7 @@
|
||||
v-permission="['admin','timing:edit']"
|
||||
size="mini"
|
||||
style="margin-right: 3px;"
|
||||
icon="el-icon-edit"
|
||||
type="text"
|
||||
@click="crud.toEdit(scope.row)"
|
||||
>{{ $t('Timing.DB.edit') }}
|
||||
@@ -156,6 +157,7 @@
|
||||
v-permission="['admin','timing:edit']"
|
||||
style="margin-left: -2px"
|
||||
type="text"
|
||||
icon="el-icon-video-pause"
|
||||
size="mini"
|
||||
@click="execute(scope.row.job_id)"
|
||||
>{{ $t('Timing.DB.execute') }}
|
||||
@@ -164,6 +166,7 @@
|
||||
v-permission="['admin','timing:edit']"
|
||||
style="margin-left: 3px"
|
||||
type="text"
|
||||
icon="el-icon-video-play"
|
||||
size="mini"
|
||||
@click="updateStatus(scope.row.job_id,scope.row.is_pause ? $t('Timing.DB.restore') : $t('Timing.DB.suspend'))"
|
||||
>
|
||||
@@ -177,11 +180,11 @@
|
||||
>
|
||||
{{ $t('Timing.msg.delete_msg') }}
|
||||
<div style="text-align: right; margin: 0">
|
||||
<el-button size="mini" type="text" @click="$refs[scope.row.job_id].doClose()">{{ $t('common.Cancel') }}</el-button>
|
||||
<el-button size="mini" type="text" @click="$refs[scope.row.job_id].doClose()">{{ $t('common.Cancel') }}</el-button>
|
||||
<el-button :loading="delLoading" type="primary" size="mini" @click="delMethod(scope.row.job_id)">{{ $t('common.determine') }}
|
||||
</el-button>
|
||||
</div>
|
||||
<el-button slot="reference" type="text" size="mini">{{ $t('common.Cancel') }}</el-button>
|
||||
<el-button slot="reference" icon="el-icon-circle-close" type="text" size="mini">{{ $t('common.Cancel') }}</el-button>
|
||||
</el-popover>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
size="mini"
|
||||
:placeholder="$t('user.table_title.State')"
|
||||
class="filter-item"
|
||||
style="width: 90px"
|
||||
style="width: 200px"
|
||||
@change="crud.toQuery"
|
||||
>
|
||||
<el-option
|
||||
@@ -82,45 +82,45 @@
|
||||
:before-close="crud.cancelCU"
|
||||
:visible.sync="crud.status.cu > 0"
|
||||
:title="crud.status.title"
|
||||
width="700px"
|
||||
width="800px"
|
||||
>
|
||||
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="100px">
|
||||
<el-form-item label="用户名" prop="username">
|
||||
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="150px">
|
||||
<el-form-item :label="$t('user.table_value.Username')" prop="username">
|
||||
<el-input v-model="form.username" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="电话" prop="phone">
|
||||
<el-form-item :label="$t('user.table_value.Phone')" prop="phone">
|
||||
<el-input v-model.number="form.phone" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="姓名" prop="preson_name">
|
||||
<el-form-item :label="$t('user.table_value.Name')" prop="preson_name">
|
||||
<el-input v-model="form.person_name" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<el-form-item :label="$t('user.table_value.Mailbox')" prop="email">
|
||||
<el-input v-model="form.email" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<br v-if="!crud.status.edit">
|
||||
<el-form-item v-if="crud.status.add" label="部门" prop="depts" :rules="[{ required: true, message: '请选择部门', trigger: 'change' }]">
|
||||
<el-form-item v-if="crud.status.add" :label="$t('user.table_value.Department')" prop="depts" :rules="[{ required: true, message: '请选择部门', trigger: 'change' }]">
|
||||
<treeselect
|
||||
v-model="form.depts"
|
||||
:load-options="loadDepts"
|
||||
:options="deptDatas"
|
||||
style="width: 370px;"
|
||||
style="width: 200px;"
|
||||
:multiple="true"
|
||||
:flat="true"
|
||||
:normalizer="normalizer"
|
||||
placeholder="选择部门类目"
|
||||
:placeholder="$t('user.table_value.Select_Sector_Categories')"
|
||||
/>
|
||||
</el-form-item>
|
||||
<br v-if="!crud.status.add">
|
||||
<el-form-item v-if="crud.status.add" label="密码" prop="password">
|
||||
<el-form-item v-if="crud.status.add" :label="$t('user.table_value.Password')" prop="password">
|
||||
<el-input v-model="form.password" style="width: 200px;" show-password auto-complete="new-password" />
|
||||
</el-form-item>
|
||||
<el-form-item label="性别">
|
||||
<el-radio-group v-model="form.gender" style="width: 178px">
|
||||
<el-radio label="男">男</el-radio>
|
||||
<el-radio label="女">女</el-radio>
|
||||
<el-form-item :label="$t('user.table_value.Sex')">
|
||||
<el-radio-group v-model="form.gender" style="width: 200px">
|
||||
<el-radio :label="$t('user.table_value.boy')">{{ $t('user.table_value.boy') }}</el-radio>
|
||||
<el-radio :label="$t('user.table_value.girl')">{{ $t('user.table_value.girl') }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="is_uesd">
|
||||
<el-form-item :label="$t('user.table_value.State')" prop="is_uesd">
|
||||
<el-switch
|
||||
v-model="form.is_used"
|
||||
active-color="#409EFF"
|
||||
@@ -128,14 +128,14 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<br v-if="!crud.status.edit">
|
||||
<el-form-item v-if="crud.status.add" style="margin-bottom: 0;" label="角色" prop="roles">
|
||||
<el-form-item v-if="crud.status.add" style="margin-bottom: 0;" :label="$t('role.table_value.Role')" prop="roles">
|
||||
<el-select
|
||||
v-model="roleDatas"
|
||||
style="width: 512px"
|
||||
style="width: 200px"
|
||||
multiple
|
||||
active-value="1"
|
||||
inactive-value="0"
|
||||
placeholder="请选择"
|
||||
:placeholder="$t('common.please')"
|
||||
@remove-tag="deleteTag"
|
||||
@change="changeRole"
|
||||
>
|
||||
@@ -150,8 +150,8 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||
<el-button type="text" @click="crud.cancelCU">{{ $t('common.Cancel') }}</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{ $t('common.Confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--表格渲染-->
|
||||
@@ -171,42 +171,42 @@
|
||||
/>
|
||||
<el-table-column prop="gender" :label="$t('user.table_value.Sex')" :min-width="flexWidth('gender',crud.data,$t('user.table_value.Sex'))" />
|
||||
<el-table-column prop="phone" :label="$t('user.table_value.Phone')" :min-width="flexWidth('phone',crud.data,$t('user.table_value.Phone'))" />
|
||||
<el-table-column prop="email" label="邮箱" :min-width="flexWidth('email',crud.data,'邮箱')" />
|
||||
<el-table-column show-overflow-tooltip prop="depts" label="部门" :min-width="flexWidth('depts',crud.data,'邮箱')">
|
||||
<el-table-column prop="email" :label="$t('user.table_value.Mailbox')" :min-width="flexWidth('email',crud.data,$t('user.table_value.Mailbox'))" />
|
||||
<el-table-column show-overflow-tooltip prop="depts" :label="$t('user.table_value.Department')" :min-width="flexWidth('depts',crud.data,$t('user.table_value.Department'))">
|
||||
<template slot-scope="scope">
|
||||
<span v-for="(item, index) in scope.row.depts" :key="index">
|
||||
{{ item.name }}<span v-if="index !== scope.row.depts.length - 1">、</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" align="center" prop="enabled">
|
||||
<el-table-column :label="$t('user.table_value.State')" align="center" prop="enabled" :min-width="flexWidth('enabled',crud.data,$t('user.table_value.State'))">
|
||||
<template slot-scope="scope">
|
||||
<span :style="{'color': caseStatusColorFilter(scope.row.is_used)}">{{ enabledTypeOptions.find(item => {return item.key == scope.row.is_used}).display_name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="create_time" label="创建日期" :min-width="flexWidth('create_time',crud.data,'创建日期')" />
|
||||
<el-table-column prop="create_time" :label="$t('user.table_value.create_Date')" :min-width="flexWidth('create_time',crud.data,$t('user.table_value.create_Date'))" />
|
||||
<el-table-column
|
||||
label="操作"
|
||||
:label="$t('user.table_value.Operate')"
|
||||
fixed="right"
|
||||
align="center"
|
||||
width="200"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="crud.toEdit(scope.row)">修改</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handdeleted(scope.row)">删除</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="crud.toEdit(scope.row)">{{ $t('user.other.Revise') }}</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handdeleted(scope.row)">{{ $t('user.other.Delete') }}</el-button>
|
||||
<el-dropdown v-hasPermi="['system:user:resetPwd', 'system:user:edit']" size="mini">
|
||||
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">{{ $t('user.other.More') }}</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item icon="el-icon-refresh-right"><span @click="resetPassword(scope.row)">重置密码</span></el-dropdown-item>
|
||||
<el-dropdown-item icon="el-icon-refresh-right"><span @click="resetPassword(scope.row)">{{ $t('user.other.Reset') }}</span></el-dropdown-item>
|
||||
<el-dropdown-item icon="el-icon-key">
|
||||
<span @click="openDeptDrawer(scope.row)">部门权限</span>
|
||||
<span @click="openDeptDrawer(scope.row)">{{ $t('user.other.Department_permissions') }}</span>
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item icon="el-icon-key">
|
||||
<span @click="openDataDialog(scope.row)">数据权限</span>
|
||||
<span @click="openDataDialog(scope.row)">{{ $t('user.other.Data_Permissions') }}</span>
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item icon="el-icon-lock"><span @click="changeEnabled(scope.row)">{{ enabledTypeOptions.find(item => {return item.key !== scope.row.is_used}).display_name }}账号</span></el-dropdown-item>
|
||||
<el-dropdown-item icon="el-icon-lock"><span @click="changeEnabled(scope.row)">{{ enabledTypeOptions.find(item => {return item.key !== scope.row.is_used}).display_name }}{{ $t('user.other.Lock_account') }}</span></el-dropdown-item>
|
||||
<el-dropdown-item icon="el-icon-circle-check">
|
||||
<span @click="openRoleDrawer(scope.row)">分配角色</span>
|
||||
<span @click="openRoleDrawer(scope.row)">{{ $t('user.other.Assign_roles') }}</span>
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
@@ -356,6 +356,7 @@ import { mapGetters } from 'vuex'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
import RelevanceUserDialog from '@/views/system/user/dialog/relevanceUserDialog'
|
||||
import RelevanceDeptDialog from '@/views/system/user/dialog/relevanceDeptDialog'
|
||||
import i18n from '@/i18n'
|
||||
|
||||
let userRoles = []
|
||||
const defaultForm = {
|
||||
@@ -374,7 +375,7 @@ export default {
|
||||
name: 'User',
|
||||
components: { RelevanceDeptDialog, RelevanceUserDialog, Treeselect, crudOperation, rrOperation, udOperation, pagination },
|
||||
cruds() {
|
||||
return CRUD({ title: '用户', idField: 'user_id', url: 'api/users', crudMethod: { ...crudUser }})
|
||||
return CRUD({ title: i18n.t('user.table_value.User'), idField: 'user_id', url: 'api/users', crudMethod: { ...crudUser }})
|
||||
},
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
// 数据字典
|
||||
@@ -384,7 +385,7 @@ export default {
|
||||
height: document.documentElement.clientHeight - 180 + 'px;',
|
||||
deptName: '', depts: [], deptDatas: [], level: 3, roles: [],
|
||||
roleDatas: [], // 多选时使用
|
||||
defaultProps: { children: 'children', label: 'name' },
|
||||
defaultProps: { children: 'children', label: this.$langPre.computedProp('name') },
|
||||
deptProps: { children: 'children', label: 'name' },
|
||||
permission: {
|
||||
add: ['admin', 'user:add'],
|
||||
@@ -392,8 +393,8 @@ export default {
|
||||
del: ['admin', 'user:del']
|
||||
},
|
||||
enabledTypeOptions: [
|
||||
{ key: true, display_name: '激活' },
|
||||
{ key: false, display_name: '锁定' }
|
||||
{ key: true, display_name: i18n.t('user.table_value.activation') },
|
||||
{ key: false, display_name: i18n.t('user.table_value.lock') }
|
||||
],
|
||||
rules: {
|
||||
username: [
|
||||
|
||||
Reference in New Issue
Block a user