Browse Source

完成字段CURD操作

v1
超级管理员 3 years ago
parent
commit
556f10970a
  1. 91
      src/api/dict/index.ts
  2. 15
      src/api/dict/types.ts
  3. 29
      src/views/system/dict/DictData.vue
  4. 21
      src/views/system/dict/index.vue

91
src/api/dict/index.ts

@ -6,7 +6,8 @@ import {
DictTypeForm,
DictQuery,
DictForm,
DictPageResult
DictPageResult,
dictId
} from './types';
/**
@ -37,19 +38,24 @@ export function getDictTypePage(
*
* @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',
@ -57,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
});
}
/**
*
*
@ -96,7 +122,7 @@ export function getDictOptions(typeCode: string): AxiosPromise<OptionType[]> {
/**
*
*/
export function getDictPage(
export function getDictPageOld(
queryParams: DictQuery
): AxiosPromise<DictPageResult> {
return request({
@ -106,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[]
}

29
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();
}
);
@ -47,7 +47,7 @@ const total = ref(0);
const queryParams = reactive<DictQuery>({
page: 1,
pagesize: 10,
typeCode: props.typeCode,
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 }) => {
@ -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,14 +236,14 @@ 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>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" align="center">
<el-table-column fixed="right" label="操作" align="center">
<template #default="scope">
<el-button type="primary" link @click="openDialog(scope.row.id)"
><i-ep-edit />编辑</el-button
@ -256,6 +256,7 @@ onMounted(() => {
>
</template>
</el-table-column>
<el-table-column label="排序" prop="sort" width="60" align="center" />
</el-table>
<pagination
@ -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">

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

@ -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" }],
});
/**
@ -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>
@ -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">

Loading…
Cancel
Save