diff --git a/package.json b/package.json index 9f49143..0746e67 100644 --- a/package.json +++ b/package.json @@ -111,7 +111,8 @@ "vxe-table-plugin-export-xlsx": "^3.0.4", "xe-utils": "^3.5.11", "xlsx": "^0.18.5", - "element-plus": "2.2.28" + "element-plus": "2.2.28", + "vue3-tree-org":"^4.2.2" }, "devDependencies": { "@commitlint/cli": "^17.6.6", diff --git a/src/main.ts b/src/main.ts index 7a490d6..736ab45 100644 --- a/src/main.ts +++ b/src/main.ts @@ -20,12 +20,15 @@ import { setupStore } from '@/store'; import "echarts" import ECharts from "vue-echarts" +import vue3TreeOrg from 'vue3-tree-org'; +import "vue3-tree-org/lib/vue3-tree-org.css"; + import App from './App.vue'; async function bootstrap() { const app = createApp(App); app.use(ElementPlus) - + app.use(vue3TreeOrg) // Configure store // 配置 store setupStore(app); diff --git a/src/views/informationSub/countStatistics/countStatistics.api.ts b/src/views/informationSub/countStatistics/countStatistics.api.ts new file mode 100644 index 0000000..8ef21d6 --- /dev/null +++ b/src/views/informationSub/countStatistics/countStatistics.api.ts @@ -0,0 +1,24 @@ +import { defHttp } from '@/utils/http/axios'; + +export enum Api { + + changeFieldManagePageList = '/huzhouChangefieldmanage/changeFieldManagePageList', + getchangeFieldManageById = '/huzhouChangefieldmanage/getchangeFieldManageById', + modifychangeFieldManageById='/huzhouChangefieldmanage/modifychangeFieldManageById' +} + +/** + * 职务list + */ +export const changeFieldManagePageList = (params?) =>defHttp.get({ url: Api.changeFieldManagePageList, params }); + +export const getchangeFieldManageById = (params?) =>defHttp.get({ url: Api.getchangeFieldManageById, params }); +export const modifychangeFieldManageById = (params?) =>defHttp.post({ url: Api.modifychangeFieldManageById, params }); + + + + + + + + diff --git a/src/views/informationSub/countStatistics/countStatistics.data.ts b/src/views/informationSub/countStatistics/countStatistics.data.ts new file mode 100644 index 0000000..1335b2a --- /dev/null +++ b/src/views/informationSub/countStatistics/countStatistics.data.ts @@ -0,0 +1,71 @@ +import { FormSchema } from '@/components/Form'; +import { BasicColumn } from '@/components/Table'; +import { useDictStore } from '@/store/modules/dict'; + +export const countStatisticsColumns: BasicColumn[] = [ + + { + title: '责任单位', + width: 150, + dataIndex: 'fieldName', + }, + { + title: '行政区划', + dataIndex: 'ischange', + width: 150, + + }, + { + title: '已提交稿件数量', + dataIndex: 'isuploadfile', + width: 150, + sorter: true, + + } + +]; + + +export const searchFormSchema: FormSchema[] = [ + { + label: '责任单位', + field: 'fieldName', + component: 'Input', + colProps: { span: 6 }, + }, + { + label: '行政区划', + field: 'fieldName', + component: 'Input', + colProps: { span: 6 }, + }, +] +export const countStatisticsFormSchema: FormSchema[] = [ + { + label: '责任单位', + field: 'fieldName', + component: 'Input', + dynamicDisabled: true, + colProps: { span:12}, + }, + { + label: '行政区划', + field: 'ischange', + component: 'DictSelect', + componentProps: { + dictType: 'whether', + }, + dynamicDisabled: true, + colProps: { span:12 }, + }, + { + label: '已提交稿件数量', + field: 'isuploadfile', + component: 'DictSelect', + componentProps: { + dictType: 'whether', + }, + required: true, + colProps: { span: 12 }, + } +]; \ No newline at end of file diff --git a/src/views/informationSub/countStatistics/index.vue b/src/views/informationSub/countStatistics/index.vue new file mode 100644 index 0000000..318627f --- /dev/null +++ b/src/views/informationSub/countStatistics/index.vue @@ -0,0 +1,73 @@ + + + + + \ No newline at end of file diff --git a/src/views/informationSub/countStatistics/modifycountStatistics.vue b/src/views/informationSub/countStatistics/modifycountStatistics.vue new file mode 100644 index 0000000..981add5 --- /dev/null +++ b/src/views/informationSub/countStatistics/modifycountStatistics.vue @@ -0,0 +1,58 @@ + + + + \ No newline at end of file diff --git a/src/views/informationSub/monthlyJournal/addAndModify.vue b/src/views/informationSub/monthlyJournal/addAndModify.vue new file mode 100644 index 0000000..eb2d469 --- /dev/null +++ b/src/views/informationSub/monthlyJournal/addAndModify.vue @@ -0,0 +1,138 @@ + + + + \ No newline at end of file diff --git a/src/views/informationSub/monthlyJournal/index.vue b/src/views/informationSub/monthlyJournal/index.vue new file mode 100644 index 0000000..cdef458 --- /dev/null +++ b/src/views/informationSub/monthlyJournal/index.vue @@ -0,0 +1,113 @@ + + + + + \ No newline at end of file diff --git a/src/views/informationSub/monthlyJournal/monthlyJournal.api.ts b/src/views/informationSub/monthlyJournal/monthlyJournal.api.ts new file mode 100644 index 0000000..ba609da --- /dev/null +++ b/src/views/informationSub/monthlyJournal/monthlyJournal.api.ts @@ -0,0 +1,23 @@ +import { defHttp } from '@/utils/http/axios'; +import { downloadFile } from "../../../api/common/api" + +export enum Api { + periodicallabPageList = '/huzhouPeriodicallab/periodicallabPageList', + addPeriodicallab="/huzhouPeriodicallab/addPeriodicallab", + modifyPeriodicallab = '/huzhouPeriodicallab/modifyPeriodicallab', + getperiodicallabById="/huzhouPeriodicallab/getperiodicallabById", + deletePeriodicallab = '/huzhouPeriodicallab/deletePeriodicallab', + batchdownloadPeriodicallabFiles="/huzhouPeriodicallab/batchdownloadPeriodicallabFiles" +} + +export const periodicallabPageList = (params) => defHttp.get({ url: Api.periodicallabPageList, params }) +export const getperiodicallabById = (params) => defHttp.get({ url: Api.getperiodicallabById, params }) +export const batchdownloadPeriodicallabFiles = (params) => downloadFile(Api.batchdownloadPeriodicallabFiles,"批量导出.zip",params) +export const addPeriodicallab = (params?) =>defHttp.post({ url: Api.addPeriodicallab,headers:{ "Content-Type": "multipart/form-data" }, params }) + +export const modifyPeriodicallab = (params?) =>defHttp.post({ url: Api.modifyPeriodicallab,headers:{ "Content-Type": "multipart/form-data" }, params }) + +export const deletePeriodicallab = (params?) =>defHttp.post({ url: Api.deletePeriodicallab, params }) + + + diff --git a/src/views/informationSub/monthlyJournal/monthlyJournal.data.ts b/src/views/informationSub/monthlyJournal/monthlyJournal.data.ts new file mode 100644 index 0000000..5143b73 --- /dev/null +++ b/src/views/informationSub/monthlyJournal/monthlyJournal.data.ts @@ -0,0 +1,90 @@ +import { FormSchema } from '@/components/Form'; +import { BasicColumn } from '@/components/Table'; + + +export const monthlyJournalcolumns: BasicColumn[] = [ + { + title: '期刊名称', + width: 150, + dataIndex: 'name', + }, + + { + title: '期刊期数', + width: 150, + dataIndex: 'periods', + }, + { + title: '发布日期', + width: 200, + dataIndex: 'publishTime', + }, + // { + // title: '文件名称', + // dataIndex: 'documentName', + // width: 150, + // }, + // { + // title: '文件大小', + // dataIndex: 'size', + // width: 150, + // customRender: ({ record }) => { + // let kbNum: number = record.size / 1024 + // if (kbNum < 1024) { + // return kbNum.toFixed(2).toString() + "KB" + // } else { + // let mbNum: number = kbNum / 1024 + // return mbNum.toFixed(2).toString() + "MB" + // } + + // }, + + // }, + +]; +export const searchFormSchema: FormSchema[] = [ + { + label: '期刊期数', + field: 'periods', + component: 'Input', + colProps: { span: 5 }, + }, + { + label: '发布日期', + field: 'publishTime', + component: 'Input', + colProps: { span: 5 }, + + }, + +]; +export const monthlyJournalformSchemas: FormSchema[] = [ + { + label: '期刊名称', + field: 'name', + component: 'Input', + required: true, + colProps: { span: 12 }, + }, + + { + label: '期刊期数', + field: 'periods', + required: true, + component: 'Input', + colProps: { span: 6 }, + + }, { + label: '发布日期', + field: 'publishTime', + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD', + + }, + required: true, + colProps: { span: 6}, + + }, + +]; diff --git a/src/views/workSystem/organizationStructure/detail.vue b/src/views/workSystem/organizationStructure/detail.vue new file mode 100644 index 0000000..f1b789a --- /dev/null +++ b/src/views/workSystem/organizationStructure/detail.vue @@ -0,0 +1,57 @@ + + + + + \ No newline at end of file diff --git a/src/views/workSystem/organizationStructure/index.vue b/src/views/workSystem/organizationStructure/index.vue new file mode 100644 index 0000000..4432ff7 --- /dev/null +++ b/src/views/workSystem/organizationStructure/index.vue @@ -0,0 +1,113 @@ + + + diff --git a/src/views/workSystem/organizationStructure/organizationStructure.api.ts b/src/views/workSystem/organizationStructure/organizationStructure.api.ts new file mode 100644 index 0000000..0e73665 --- /dev/null +++ b/src/views/workSystem/organizationStructure/organizationStructure.api.ts @@ -0,0 +1,10 @@ +import { defHttp } from '@/utils/http/axios'; +import { downloadFile } from "../../../api/common/api" + +export enum Api { + getUsers = '/api/auth/sys/user/getUsers', +} + +export const getUsers = (params) => defHttp.get({ url: Api.getUsers, params }) + + diff --git a/src/views/workSystem/organizationStructure/organizationStructure.data.ts b/src/views/workSystem/organizationStructure/organizationStructure.data.ts new file mode 100644 index 0000000..1478cc8 --- /dev/null +++ b/src/views/workSystem/organizationStructure/organizationStructure.data.ts @@ -0,0 +1,71 @@ +import { FormSchema } from '@/components/Form'; +import { BasicColumn } from '@/components/Table'; + + +export const organizationStructurecolumns: BasicColumn[] = [ + { + title: '昵称', + width: 150, + dataIndex: 'nickname', + }, + + { + title: '角色', + width: 150, + dataIndex: 'role', + // format: 'dict|regulationlabCategory', + }, + { + title: '性别', + width: 200, + dataIndex: 'sex', + format: 'dict|sex', + }, + { + title: '手机号', + dataIndex: 'phoneNumber', + width: 150, + }, + { + title: '单位名称', + dataIndex: 'workplace', + width: 150 + + }, + +]; +export const searchFormSchema: FormSchema[] = [ + { + label: '昵称', + field: 'nickname', + component: 'Input', + colProps: { span: 6 }, + }, + { + label: '角色', + field: 'role', + component: 'Input', + + // component: 'DictSelect', + // itemProps: { validateTrigger: 'blur' }, + // componentProps: { + // dictType: 'regulationlabCategory' + // }, + colProps: { span: 6 }, + + }, + { + label: '手机号', + field: 'phoneNumber', + component: 'Input', + colProps: { span: 6 }, + + }, + { + label: '单位名称', + field: 'workplace', + component: 'Input', + colProps: { span: 6 }, + } + +]; \ No newline at end of file