Compare commits

...

4 Commits
master ... v1

  1. 103
      src/api/dict/index.ts
  2. 15
      src/api/dict/types.ts
  3. 6
      src/api/menu/types.ts
  4. 8
      src/components/Pagination/index.vue
  5. 4
      src/types/global.d.ts
  6. 37
      src/views/system/dict/DictData.vue
  7. 31
      src/views/system/dict/index.vue
  8. 19
      src/views/system/menu/index.vue
  9. 10
      src/views/system/role/index.vue
  10. 10
      src/views/system/user/index.vue

103
src/api/dict/index.ts

@ -6,7 +6,8 @@ import {
DictTypeForm,
DictQuery,
DictForm,
DictPageResult
DictPageResult,
dictId
} from './types';
/**
@ -14,7 +15,7 @@ import {
*
* @param queryParams
*/
export function getDictTypePage(
export function getDictTypePageOld(
queryParams: DictTypeQuery
): AxiosPromise<DictTypePageResult> {
return request({
@ -23,25 +24,38 @@ export function getDictTypePage(
params: queryParams
});
}
export function getDictTypePage(
queryParams: DictTypeQuery
): AxiosPromise<DictTypePageResult> {
return request({
url: '/systemapi/dict/dict_type_list',
method: 'post',
data: queryParams
});
}
/**
*
*
* @param id
*/
export function getDictTypeForm(id: number): AxiosPromise<DictTypeForm> {
export function getDictTypeFormOld(id: number): AxiosPromise<DictTypeForm> {
return request({
url: '/api/v1/dict/types/' + id + '/form',
method: 'get'
});
}
export function getDictTypeForm(id: number): AxiosPromise<DictTypeForm> {
return request({
url: '/systemapi/dict/get_dict_type_cont?id=' + id,
method: 'get'
});
}
/**
*
*
* @param data
*/
export function addDictType(data: DictTypeForm) {
export function addDictTypeOld(data: DictTypeForm) {
return request({
url: '/api/v1/dict/types',
method: 'post',
@ -49,30 +63,50 @@ export function addDictType(data: DictTypeForm) {
});
}
export function addDictType(data: DictTypeForm) {
return request({
url: '/systemapi/dict/add_dict_type',
method: 'post',
data: data
});
}
/**
*
*
* @param id
* @param data
*/
export function updateDictType(id: number, data: DictTypeForm) {
export function updateDictTypeOld(id: number, data: DictTypeForm) {
return request({
url: '/api/v1/dict/types/' + id,
method: 'put',
data: data
});
}
export function updateDictType(data: DictTypeForm) {
return request({
url: '/systemapi/dict/edit_dict_type_cont',
method: 'post',
data: data
});
}
/**
*
*/
export function deleteDictTypes(ids: string) {
export function deleteDictTypesOld(ids: string) {
return request({
url: '/api/v1/dict/types/' + ids,
method: 'delete'
});
}
export function deleteDictTypes(data: dictId) {
return request({
url: '/systemapi/dict/del_dict_type_cont',
method: 'post',
data:data
});
}
/**
*
*
@ -88,7 +122,7 @@ export function getDictOptions(typeCode: string): AxiosPromise<OptionType[]> {
/**
*
*/
export function getDictPage(
export function getDictPageOld(
queryParams: DictQuery
): AxiosPromise<DictPageResult> {
return request({
@ -98,53 +132,86 @@ export function getDictPage(
});
}
export function getDictPage(
queryParams: DictQuery
): AxiosPromise<DictPageResult> {
return request({
url: '/systemapi/dict/get_dictionary',
method: 'post',
data: queryParams
});
}
/**
*
*
* @param id
*/
export function getDictFormData(id: number): AxiosPromise<DictForm> {
export function getDictFormDataOld(id: number): AxiosPromise<DictForm> {
return request({
url: '/api/v1/dict/' + id + '/form',
method: 'get'
});
}
export function getDictFormData(id: number): AxiosPromise<DictForm> {
return request({
url: '/systemapi/dict/get_dictionary_cont?id=' + id,
method: 'get'
});
}
/**
*
*
* @param data
*/
export function addDict(data: DictForm) {
export function addDictOld(data: DictForm) {
return request({
url: '/api/v1/dict',
method: 'post',
data: data
});
}
export function addDict(data: DictForm) {
return request({
url: '/systemapi/dict/add_dictionary_cont',
method: 'post',
data: data
});
}
/**
*
*
* @param id
* @param data
*/
export function updateDict(id: number, data: DictForm) {
export function updateDictOld(id: number, data: DictForm) {
return request({
url: '/api/v1/dict/' + id,
method: 'put',
data: data
});
}
export function updateDict(data: DictForm) {
return request({
url: '/systemapi/dict/edit_dictionary_cont',
method: 'post',
data: data
});
}
/**
*
*
* @param ids ID(,)
*/
export function deleteDict(ids: string) {
export function deleteDictOld(ids: string) {
return request({
url: '/api/v1/dict/' + ids,
method: 'delete'
});
}
export function deleteDict(data: dictId) {
return request({
url: '/systemapi/dict/del_dictionary_cont',
method: 'post',
data:data
});
}

15
src/api/dict/types.ts

@ -32,6 +32,10 @@ export interface DictTypePageVO {
*
*/
remark?: string;
/**
*
*/
codekey: string;
}
/**
@ -46,7 +50,7 @@ export interface DictTypeForm {
/**
* ID
*/
id?: number;
id?: number|string;
/**
*
*/
@ -72,11 +76,11 @@ export interface DictQuery extends PageQuery {
/**
*
*/
name?: string;
keywords?: string;
/**
*
*/
typeCode?: string;
codetype?: string;
}
/**
@ -140,3 +144,8 @@ export interface DictForm {
*/
remark?: string;
}
//删除字典类型
export interface dictId {
id?:string[]
}

6
src/api/menu/types.ts

@ -1,4 +1,4 @@
import { MenuTypeEnum } from '@/enums/MenuTypeEnum';
import { MenuTypeEnum } from "@/enums/MenuTypeEnum";
/**
*
@ -116,6 +116,6 @@ export interface MenuForm {
/**
*
*/
export interface menuInfo {
id:string;
export interface menuInfo {
id: string;
}

8
src/components/Pagination/index.vue

@ -2,10 +2,10 @@
<div :class="'pagination ' + { hidden: hidden }">
<el-pagination
v-model:current-page="currentPage"
v-model:page-size="pageSize"
v-model:page-size="pagesize"
:background="background"
:layout="layout"
:page-sizes="pageSizes"
:page-sizes="pagesizes"
:total="total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
@ -31,7 +31,7 @@ const props = defineProps({
type: Number,
default: 20,
},
pageSizes: {
pagesizes: {
type: Array as PropType<number[]>,
default() {
return [10, 20, 30, 50];
@ -59,7 +59,7 @@ const emit = defineEmits(["pagination"]);
const currentPage = useVModel(props, "page", emit);
const pageSize = useVModel(props, "limit", emit);
const pagesize = useVModel(props, "limit", emit);
function handleSizeChange(val: number) {
emit("pagination", { page: currentPage, limit: val });

4
src/types/global.d.ts

@ -3,8 +3,8 @@ declare global {
*
*/
interface PageQuery {
pageNum: number;
pageSize: number;
page: number;
pagesize: number;
}
/**

37
src/views/system/dict/DictData.vue

@ -32,7 +32,7 @@ const props = defineProps({
watch(
() => props.typeCode,
(newVal: string) => {
queryParams.typeCode = newVal;
queryParams.codetype = newVal;
resetQuery();
}
);
@ -45,9 +45,9 @@ const ids = ref<number[]>([]);
const total = ref(0);
const queryParams = reactive<DictQuery>({
pageNum: 1,
pageSize: 10,
typeCode: props.typeCode,
page: 1,
pagesize: 10,
codetype: props.typeCode,
});
const dictList = ref<DictPageVO[]>();
@ -59,7 +59,7 @@ const dialog = reactive<DialogOption>({
const formData = reactive<DictForm>({
status: 1,
typeCode: props.typeCode,
sort: 1,
sort: 50,
});
const rules = reactive({
@ -71,7 +71,7 @@ const rules = reactive({
* 查询
*/
function handleQuery() {
if (queryParams.typeCode) {
if (queryParams.codetype) {
loading.value = true;
getDictPage(queryParams)
.then(({ data }) => {
@ -87,7 +87,7 @@ function handleQuery() {
*/
function resetQuery() {
queryFormRef.value.resetFields();
queryParams.pageNum = 1;
queryParams.page = 1;
handleQuery();
}
@ -126,7 +126,7 @@ function handleSubmit() {
if (isValid) {
const dictId = formData.id;
if (dictId) {
updateDict(dictId, formData)
updateDict(formData)
.then(() => {
ElMessage.success("修改成功");
closeDialog();
@ -176,13 +176,13 @@ function handleDelete(dictId?: number) {
ElMessage.warning("请勾选删除项");
return;
}
let dictionanyIdAry = dictIds.split(",")
ElMessageBox.confirm("确认删除已选中的数据项?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
deleteDict(dictIds).then(() => {
deleteDict({id:dictionanyIdAry}).then(() => {
ElMessage.success("删除成功");
resetQuery();
});
@ -201,7 +201,7 @@ onMounted(() => {
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
<el-form-item label="关键字" prop="name">
<el-input
v-model="queryParams.name"
v-model="queryParams.keywords"
placeholder="字典名称"
clearable
/>
@ -236,8 +236,8 @@ onMounted(() => {
>
<el-table-column type="selection" width="50" />
<el-table-column label="字典名称" prop="name" />
<el-table-column label="字典值" prop="value" />
<el-table-column label="状态" align="center">
<el-table-column label="字典值" prop="codestring" />
<el-table-column label="状态" align="center" width="100" >
<template #default="scope">
<el-tag v-if="scope.row.status === 1" type="success">启用</el-tag>
<el-tag v-else type="info">禁用</el-tag>
@ -256,13 +256,14 @@ onMounted(() => {
>
</template>
</el-table-column>
<el-table-column label="排序" prop="sort" width="60" align="center" />
</el-table>
<pagination
v-if="total > 0"
v-model:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
v-model:page="queryParams.page"
v-model:limit="queryParams.pagesize"
@pagination="handleQuery"
/>
</el-card>
@ -284,9 +285,9 @@ onMounted(() => {
<el-form-item label="字典名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入字典名称" />
</el-form-item>
<el-form-item label="字典值" prop="value">
<!-- <el-form-item label="字典值" prop="value">
<el-input v-model="formData.value" placeholder="字典值" />
</el-form-item>
</el-form-item> -->
<el-form-item label="排序" prop="sort">
<el-input-number
v-model="formData.sort"
@ -297,7 +298,7 @@ onMounted(() => {
<el-form-item label="状态" prop="status">
<el-radio-group v-model="formData.status">
<el-radio :label="1">正常</el-radio>
<el-radio :label="0">停用</el-radio>
<el-radio :label="2">停用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">

31
src/views/system/dict/index.vue

@ -25,8 +25,8 @@ const ids = ref<number[]>([]);
const total = ref(0);
const queryParams = reactive<DictTypeQuery>({
pageNum: 1,
pageSize: 10,
page: 1,
pagesize: 10,
});
const dictTypeList = ref<DictTypePageVO[]>();
@ -41,7 +41,7 @@ const formData = reactive<DictTypeForm>({
const rules = reactive({
name: [{ required: true, message: "请输入字典类型名称", trigger: "blur" }],
code: [{ required: true, message: "请输入字典类型编码", trigger: "blur" }],
// code: [{ required: true, message: "", trigger: "blur" }],
});
/**
@ -64,7 +64,7 @@ function handleQuery() {
*/
function resetQuery() {
queryFormRef.value.resetFields();
queryParams.pageNum = 1;
queryParams.page = 1;
handleQuery();
}
@ -101,7 +101,8 @@ function handleSubmit() {
if (isValid) {
const dictTypeId = formData.id;
if (dictTypeId) {
updateDictType(dictTypeId, formData)
formData.id = dictTypeId.toString()
updateDictType(formData)
.then(() => {
ElMessage.success("修改成功");
closeDialog();
@ -149,13 +150,15 @@ function handleDelete(dictTypeId?: number) {
ElMessage.warning("请勾选删除项");
return;
}
// console.log("-------->",dictTypeIds)
let dictTypeIdAry = dictTypeIds.split(",")
// console.log("-------->",dictTypeIdAry)
ElMessageBox.confirm("确认删除已选中的数据项?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
deleteDictTypes(dictTypeIds).then(() => {
deleteDictTypes({id:dictTypeIdAry}).then(() => {
ElMessage.success("删除成功");
resetQuery();
});
@ -176,7 +179,7 @@ function openDictDialog(row: DictTypePageVO) {
dictDataDialog.visible = true;
dictDataDialog.title = "【" + row.name + "】字典数据";
selectedDictType.typeCode = row.code;
selectedDictType.typeCode = row.codekey;
selectedDictType.typeName = row.name;
}
@ -234,7 +237,7 @@ onMounted(() => {
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="字典类型名称" prop="name" width="200" />
<el-table-column label="字典类型编码" prop="code" width="200" />
<el-table-column label="字典类型编码" prop="codekey" width="200" />
<el-table-column label="状态" align="center" width="100">
<template #default="scope">
<el-tag v-if="scope.row.status === 1" type="success">启用</el-tag>
@ -272,8 +275,8 @@ onMounted(() => {
<pagination
v-if="total > 0"
v-model:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
v-model:page="queryParams.page"
v-model:limit="queryParams.pagesize"
@pagination="handleQuery"
/>
</el-card>
@ -293,13 +296,13 @@ onMounted(() => {
<el-form-item label="字典名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入字典名称" />
</el-form-item>
<el-form-item label="字典编码" prop="code">
<!-- <el-form-item label="字典编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入字典编码" />
</el-form-item>
</el-form-item> -->
<el-form-item label="状态" prop="status">
<el-radio-group v-model="formData.status">
<el-radio :label="1">正常</el-radio>
<el-radio :label="0">停用</el-radio>
<el-radio :label="2">停用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">

19
src/views/system/menu/index.vue

@ -227,7 +227,7 @@ onMounted(() => {
<el-card shadow="never">
<template #header>
<el-button type="success" @click="openDialog(0)">
<el-button type="success" @click="openDialog(0)" v-hasPerm="['121646328009732100']">
<template #icon><i-ep-plus /></template>
新增</el-button
>
@ -259,17 +259,17 @@ onMounted(() => {
<el-table-column label="菜单类型" align="center" width="150">
<template #default="scope">
<el-tag
v-if="scope.row.type === MenuTypeEnum.CATALOG"
v-if="scope.row.class === MenuTypeEnum.CATALOG"
type="warning"
>目录</el-tag
>
<el-tag v-if="scope.row.type === MenuTypeEnum.MENU" type="success"
<el-tag v-if="scope.row.class === MenuTypeEnum.MENU" type="success"
>菜单</el-tag
>
<el-tag v-if="scope.row.type === MenuTypeEnum.BUTTON" type="danger"
<el-tag v-if="scope.row.class === MenuTypeEnum.BUTTON" type="danger"
>按钮</el-tag
>
<el-tag v-if="scope.row.type === MenuTypeEnum.EXTLINK" type="info"
<el-tag v-if="scope.row.class === MenuTypeEnum.EXTLINK" type="info"
>外链</el-tag
>
</template>
@ -293,7 +293,8 @@ onMounted(() => {
<el-table-column fixed="right" align="center" label="操作" width="220">
<template #default="scope">
<el-button
v-if="scope.row.type == 'CATALOG' || scope.row.type == 'MENU'"
v-if="scope.row.class == 'CATALOG' || scope.row.class == 'MENU'"
v-hasPerm="['121646328009732100']"
type="primary"
link
size="small"
@ -303,6 +304,7 @@ onMounted(() => {
</el-button>
<el-button
v-hasPerm="['122274485305880580']"
type="primary"
link
size="small"
@ -311,6 +313,7 @@ onMounted(() => {
<i-ep-edit />编辑
</el-button>
<el-button
v-hasPerm="['122274565337395200']"
type="primary"
link
size="small"
@ -401,13 +404,13 @@ onMounted(() => {
</el-form-item>
<!-- 权限标识 -->
<el-form-item
<!-- <el-form-item
v-if="formData.type == 'BUTTON'"
label="权限标识"
prop="perm"
>
<el-input v-model="formData.perm" placeholder="sys:user:add" />
</el-form-item>
</el-form-item> -->
<el-form-item
v-if="formData.type !== 'BUTTON'"

10
src/views/system/role/index.vue

@ -26,8 +26,8 @@ const ids = ref<number[]>([]);
const total = ref(0);
const queryParams = reactive<RoleQuery>({
pageNum: 1,
pageSize: 10,
page: 1,
pagesize: 10,
});
const roleList = ref<RolePageVO[]>();
@ -79,7 +79,7 @@ function handleQuery() {
*/
function resetQuery() {
queryFormRef.value.resetFields();
queryParams.pageNum = 1;
queryParams.page = 1;
handleQuery();
}
@ -330,8 +330,8 @@ onMounted(() => {
<pagination
v-if="total > 0"
v-model:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
v-model:page="queryParams.page"
v-model:limit="queryParams.pagesize"
@pagination="handleQuery"
/>
</el-card>

10
src/views/system/user/index.vue

@ -36,8 +36,8 @@ const dialog = reactive<DialogOption>({
});
const queryParams = reactive<UserQuery>({
pageNum: 1,
pageSize: 10,
page: 1,
pagesize: 10,
});
const userList = ref<UserPageVO[]>();
@ -154,7 +154,7 @@ function handleQuery() {
*/
function resetQuery() {
queryFormRef.value.resetFields();
queryParams.pageNum = 1;
queryParams.page = 1;
queryParams.deptId = undefined;
handleQuery();
}
@ -581,8 +581,8 @@ onMounted(() => {
<pagination
v-if="total > 0"
v-model:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
v-model:page="queryParams.page"
v-model:limit="queryParams.pagesize"
@pagination="handleQuery"
/>
</el-card>

Loading…
Cancel
Save