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. 27
      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, DictTypeForm,
DictQuery, DictQuery,
DictForm, DictForm,
DictPageResult DictPageResult,
dictId
} from './types'; } from './types';
/** /**
@ -37,19 +38,24 @@ export function getDictTypePage(
* *
* @param id * @param id
*/ */
export function getDictTypeForm(id: number): AxiosPromise<DictTypeForm> { export function getDictTypeFormOld(id: number): AxiosPromise<DictTypeForm> {
return request({ return request({
url: '/api/v1/dict/types/' + id + '/form', url: '/api/v1/dict/types/' + id + '/form',
method: 'get' method: 'get'
}); });
} }
export function getDictTypeForm(id: number): AxiosPromise<DictTypeForm> {
return request({
url: '/systemapi/dict/get_dict_type_cont?id=' + id,
method: 'get'
});
}
/** /**
* *
* *
* @param data * @param data
*/ */
export function addDictType(data: DictTypeForm) { export function addDictTypeOld(data: DictTypeForm) {
return request({ return request({
url: '/api/v1/dict/types', url: '/api/v1/dict/types',
method: 'post', 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 id
* @param data * @param data
*/ */
export function updateDictType(id: number, data: DictTypeForm) { export function updateDictTypeOld(id: number, data: DictTypeForm) {
return request({ return request({
url: '/api/v1/dict/types/' + id, url: '/api/v1/dict/types/' + id,
method: 'put', method: 'put',
data: data 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({ return request({
url: '/api/v1/dict/types/' + ids, url: '/api/v1/dict/types/' + ids,
method: 'delete' 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 queryParams: DictQuery
): AxiosPromise<DictPageResult> { ): AxiosPromise<DictPageResult> {
return request({ 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 * @param id
*/ */
export function getDictFormData(id: number): AxiosPromise<DictForm> { export function getDictFormDataOld(id: number): AxiosPromise<DictForm> {
return request({ return request({
url: '/api/v1/dict/' + id + '/form', url: '/api/v1/dict/' + id + '/form',
method: 'get' method: 'get'
}); });
} }
export function getDictFormData(id: number): AxiosPromise<DictForm> {
return request({
url: '/systemapi/dict/get_dictionary_cont?id=' + id,
method: 'get'
});
}
/** /**
* *
* *
* @param data * @param data
*/ */
export function addDict(data: DictForm) { export function addDictOld(data: DictForm) {
return request({ return request({
url: '/api/v1/dict', url: '/api/v1/dict',
method: 'post', method: 'post',
data: data data: data
}); });
} }
export function addDict(data: DictForm) {
return request({
url: '/systemapi/dict/add_dictionary_cont',
method: 'post',
data: data
});
}
/** /**
* *
* *
* @param id * @param id
* @param data * @param data
*/ */
export function updateDict(id: number, data: DictForm) { export function updateDictOld(id: number, data: DictForm) {
return request({ return request({
url: '/api/v1/dict/' + id, url: '/api/v1/dict/' + id,
method: 'put', method: 'put',
data: data data: data
}); });
} }
export function updateDict(data: DictForm) {
return request({
url: '/systemapi/dict/edit_dictionary_cont',
method: 'post',
data: data
});
}
/** /**
* *
* *
* @param ids ID(,) * @param ids ID(,)
*/ */
export function deleteDict(ids: string) { export function deleteDictOld(ids: string) {
return request({ return request({
url: '/api/v1/dict/' + ids, url: '/api/v1/dict/' + ids,
method: 'delete' 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; remark?: string;
/**
*
*/
codekey: string;
} }
/** /**
@ -46,7 +50,7 @@ export interface DictTypeForm {
/** /**
* ID * 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; remark?: string;
} }
//删除字典类型
export interface dictId {
id?:string[]
}

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

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

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

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

Loading…
Cancel
Save