Browse Source

优化:修复已知问题

dev
科技小王子 5 months ago
parent
commit
d27cc2e5c9
  1. BIN
      public/favicon2.ico
  2. 7
      src/api/bszx/bszxClass/model/index.ts
  3. 5
      src/api/bszx/bszxGrade/model/index.ts
  4. 28
      src/views/bszx/bszxClass/components/bszxClassEdit.vue
  5. 68
      src/views/bszx/bszxClass/components/search.vue
  6. 20
      src/views/bszx/bszxClass/index.vue
  7. 7
      src/views/bszx/bszxGrade/components/bszxGradeEdit.vue
  8. 18
      src/views/bszx/bszxGrade/components/search.vue
  9. 16
      src/views/bszx/bszxGrade/index.vue

BIN
public/favicon2.ico

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 B

7
src/api/bszx/bszxClass/model/index.ts

@ -10,6 +10,10 @@ export interface BszxClass {
eraId?: number;
// 年级ID
gradeId?: number;
// 年级
gradeName?: string;
// 分部
branch?: number;
// 班级
name?: string;
// 排序(数字越小越靠前)
@ -29,5 +33,8 @@ export interface BszxClass {
*/
export interface BszxClassParam extends PageParam {
id?: number;
gradeId?: number;
eraId?: number;
branch?: number;
keywords?: string;
}

5
src/api/bszx/bszxGrade/model/index.ts

@ -10,6 +10,8 @@ export interface BszxGrade {
name?: string;
// 年代
eraId?: number;
// 分部
branch?: number;
// 排序(数字越小越靠前)
sortNumber?: number;
// 备注
@ -20,7 +22,7 @@ export interface BszxGrade {
tenantId?: number;
// 创建时间
createTime?: string;
value?: string;
value?: number;
label?: string;
}
@ -29,5 +31,6 @@ export interface BszxGrade {
*/
export interface BszxGradeParam extends PageParam {
id?: number;
branch?: number;
keywords?: string;
}

28
src/views/bszx/bszxClass/components/bszxClassEdit.vue

@ -19,6 +19,12 @@
styleResponsive ? { md: 19, sm: 19, xs: 24 } : { flex: '1' }
"
>
<a-form-item label="初高中部" name="branch">
<a-radio-group v-model:value="form.branch" @change="handleBranch">
<a-radio-button :value="1">初中部</a-radio-button>
<a-radio-button :value="2">高中部</a-radio-button>
</a-radio-group>
</a-form-item>
<a-form-item label="选择年级" name="gradeId">
<a-select
v-model:value="form.gradeName"
@ -105,6 +111,7 @@
name: undefined,
gradeId: undefined,
gradeName: undefined,
branch: 2,
sortNumber: 100,
comments: undefined,
status: undefined,
@ -134,6 +141,19 @@
form.gradeId = item.id;
};
const handleBranch = () => {
getBszxGradeList();
}
const getBszxGradeList = () => {
listBszxGrade({branch: form.branch}).then((list) => {
options.value = list.map(d => {
d.value = d.name;
d.label = d.name;
return d;
});
})
}
const { resetFields } = useForm(form, rules);
/* 保存编辑 */
@ -168,13 +188,7 @@
() => props.visible,
(visible) => {
if (visible) {
listBszxGrade({}).then((list) => {
options.value = list.map(d => {
d.value = d.name;
d.label = d.name;
return d;
});
})
getBszxGradeList()
images.value = [];
if (props.data) {
assignObject(form, props.data);

68
src/views/bszx/bszxClass/components/search.vue

@ -7,13 +7,35 @@
</template>
<span>添加</span>
</a-button>
<a-radio-group v-model:value="where.branch" @change="handleSearch">
<a-radio-button :value="1">初中部</a-radio-button>
<a-radio-button :value="2">高中部</a-radio-button>
</a-radio-group>
<a-select
show-search
v-model:value="where.gradeId"
style="width: 240px"
placeholder="选择年级"
:options="gradeList"
@change="onGrade"
></a-select>
<a-input-search
allow-clear
placeholder="请输入关键词"
style="width: 240px"
v-model:value="where.keywords"
@search="handleSearch"
/>
<a-button @click="reset">重置</a-button>
</a-space>
</template>
<script lang="ts" setup>
import {PlusOutlined} from '@ant-design/icons-vue';
import type { GradeParam } from '@/api/user/grade/model';
import { watch } from 'vue';
import {watch,ref} from 'vue';
import useSearch from "@/utils/use-search";
import {BszxClassParam} from "@/api/bszx/bszxClass/model";
import {listBszxGrade} from "@/api/bszx/bszxGrade";
const props = withDefaults(
defineProps<{
@ -23,20 +45,58 @@
{}
);
const gradeList = ref<BszxClassParam[]>([]);
const emit = defineEmits<{
(e: 'search', where?: GradeParam): void;
(e: 'search', where?: BszxClassParam): void;
(e: 'add'): void;
(e: 'remove'): void;
(e: 'batchMove'): void;
}>();
//
const {where, resetFields} = useSearch<BszxClassParam>({
gradeId: undefined,
eraId: undefined,
branch: undefined,
keywords: ''
});
//
const add = () => {
emit('add');
};
const handleSearch = () => {
emit('search', where);
}
/* 重置 */
const reset = () => {
resetFields();
handleSearch();
};
const onGrade = (gradeId: number) => {
where.gradeId = gradeId;
handleSearch();
}
const reload = () => {
listBszxGrade({}).then(res => {
gradeList.value = res.map(d => {
d.value = Number(d.id);
d.label = d.name;
return d;
});
})
}
reload();
watch(
() => props.selection,
() => {}
() => {
},
{ immediate: true }
);
</script>

20
src/views/bszx/bszxClass/index.vue

@ -119,19 +119,27 @@ const columns = ref<ColumnItem[]>([
title: 'ID',
dataIndex: 'id',
key: 'id',
align: 'center',
width: 90,
width: 120,
},
{
title: '年代',
dataIndex: 'eraName',
key: 'eraName'
title: '初高中',
dataIndex: 'branch',
key: 'branch',
width: 120,
customRender: ({ text }) => ['','初中','高中'][text]
},
{
title: '年级',
dataIndex: 'gradeName',
key: 'gradeName'
key: 'gradeName',
width: 120
},
// {
// title: '',
// dataIndex: 'gradeId',
// key: 'gradeId',
// width: 120
// },
{
title: '班级',
dataIndex: 'name',

7
src/views/bszx/bszxGrade/components/bszxGradeEdit.vue

@ -19,6 +19,12 @@
styleResponsive ? { md: 19, sm: 19, xs: 24 } : { flex: '1' }
"
>
<a-form-item label="分部" name="branch">
<a-radio-group v-model:value="form.branch">
<a-radio-button :value="1">初中部</a-radio-button>
<a-radio-button :value="2">高中部</a-radio-button>
</a-radio-group>
</a-form-item>
<a-form-item label="年级" name="name">
<a-input
allow-clear
@ -88,6 +94,7 @@
//
const form = reactive<BszxGrade>({
id: undefined,
branch: 2,
name: undefined,
comments: undefined,
status: undefined,

18
src/views/bszx/bszxGrade/components/search.vue

@ -7,13 +7,18 @@
</template>
<span>添加</span>
</a-button>
<a-radio-group v-model:value="where.branch" @change="handleSearch">
<a-radio-button :value="1">初中部</a-radio-button>
<a-radio-button :value="2">高中部</a-radio-button>
</a-radio-group>
</a-space>
</template>
<script lang="ts" setup>
import { PlusOutlined } from '@ant-design/icons-vue';
import type { GradeParam } from '@/api/user/grade/model';
import useSearch from "@/utils/use-search";
import { watch } from 'vue';
import {BszxGradeParam} from "@/api/bszx/bszxGrade/model";
const props = withDefaults(
defineProps<{
@ -24,17 +29,26 @@
);
const emit = defineEmits<{
(e: 'search', where?: GradeParam): void;
(e: 'search', where?: BszxGradeParam): void;
(e: 'add'): void;
(e: 'remove'): void;
(e: 'batchMove'): void;
}>();
//
const {where} = useSearch<BszxGradeParam>({
branch: undefined,
keywords: ''
});
//
const add = () => {
emit('add');
};
const handleSearch = () => {
emit('search', where);
}
watch(
() => props.selection,
() => {}

16
src/views/bszx/bszxGrade/index.vue

@ -119,11 +119,25 @@
// align: 'center',
// width: 90,
// },
{
title: '初高中',
dataIndex: 'branch',
key: 'branch',
width: 120,
customRender: ({ text }) => ['','初中','高中'][text]
},
{
title: '年级',
dataIndex: 'name',
key: 'name'
},
{
title: '排序',
dataIndex: 'sortNumber',
key: 'sortNumber',
align: 'center',
width: 120,
},
{
title: '操作',
key: 'action',
@ -154,7 +168,7 @@
/* 删除单个 */
const remove = (row: BszxGrade) => {
const hide = message.loading('请求中..', 0);
removeBszxGrade(row.appBszxGradeId)
removeBszxGrade(row.id)
.then((msg) => {
hide();
message.success(msg);

Loading…
Cancel
Save