diff --git a/src/views/kc/QnZwtksfInfo/QnZwtksfInfo.api.ts b/src/views/kc/QnZwtksfInfo/QnZwtksfInfo.api.ts new file mode 100644 index 0000000..8721ddf --- /dev/null +++ b/src/views/kc/QnZwtksfInfo/QnZwtksfInfo.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/QnZwtksfInfo/qnZwtksfInfo/list', + save='/QnZwtksfInfo/qnZwtksfInfo/add', + edit='/QnZwtksfInfo/qnZwtksfInfo/edit', + deleteOne = '/QnZwtksfInfo/qnZwtksfInfo/delete', + deleteBatch = '/QnZwtksfInfo/qnZwtksfInfo/deleteBatch', + importExcel = '/QnZwtksfInfo/qnZwtksfInfo/importExcel', + exportXls = '/QnZwtksfInfo/qnZwtksfInfo/exportXls', +} + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; + +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 删除单个 + * @param params + * @param handleSuccess + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + +/** + * 批量删除 + * @param params + * @param handleSuccess + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} + +/** + * 保存或者更新 + * @param params + * @param isUpdate + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} diff --git a/src/views/kc/QnZwtksfInfo/QnZwtksfInfo.data.ts b/src/views/kc/QnZwtksfInfo/QnZwtksfInfo.data.ts new file mode 100644 index 0000000..d46a510 --- /dev/null +++ b/src/views/kc/QnZwtksfInfo/QnZwtksfInfo.data.ts @@ -0,0 +1,48 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '职位', + align: "center", + dataIndex: 'zw_dictText' + }, + { + title: '听课身份', + align: "center", + dataIndex: 'tksf_dictText' + }, +]; + +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; + +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '职位', + field: 'zw', + component: 'JDictSelectTag', + componentProps:{ + dictCode: "pdfzw" + }, + }, + { + label: '听课身份', + field: 'tksf', + component: 'JSelectMultiple', + componentProps:{ + dictCode: "tpkwcqkjzglx" + }, + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, +]; diff --git a/src/views/kc/QnZwtksfInfo/QnZwtksfInfoList.vue b/src/views/kc/QnZwtksfInfo/QnZwtksfInfoList.vue new file mode 100644 index 0000000..8b39e6a --- /dev/null +++ b/src/views/kc/QnZwtksfInfo/QnZwtksfInfoList.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/src/views/kc/QnZwtksfInfo/components/QnZwtksfInfoForm.vue b/src/views/kc/QnZwtksfInfo/components/QnZwtksfInfoForm.vue new file mode 100644 index 0000000..74ec210 --- /dev/null +++ b/src/views/kc/QnZwtksfInfo/components/QnZwtksfInfoForm.vue @@ -0,0 +1,135 @@ + + + + + diff --git a/src/views/kc/QnZwtksfInfo/components/QnZwtksfInfoModal.vue b/src/views/kc/QnZwtksfInfo/components/QnZwtksfInfoModal.vue new file mode 100644 index 0000000..821905d --- /dev/null +++ b/src/views/kc/QnZwtksfInfo/components/QnZwtksfInfoModal.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/kc/config/KcExportConfigTpkwcqkjzglxListNew.vue b/src/views/kc/config/KcExportConfigTpkwcqkjzglxListNew.vue index 84f8b7a..a5ab190 100644 --- a/src/views/kc/config/KcExportConfigTpkwcqkjzglxListNew.vue +++ b/src/views/kc/config/KcExportConfigTpkwcqkjzglxListNew.vue @@ -95,7 +95,7 @@ -
各学院情况查看
+
各学院情况查看
@@ -103,7 +103,7 @@ - + @@ -116,9 +116,12 @@ import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './KcExportConfigTpkwcqkjzglx.api'; import { useListPage } from '/@/hooks/system/useListPage'; import StaticConModal from '/@/views/kc/config/StaticCon/StaticConModal.vue'; + import StaticConChartModal from '/@/views/kc/config/StaticCon/StaticConChartModal.vue'; + const StaticCon = ref(); + const StaticConChart = ref(); const queryParam = ref({}); const roleList = computed(() => getUserInfo()?.roleList??[]); @@ -146,6 +149,11 @@ StaticCon.value.disableSubmit = true; StaticCon.value.edit(record); } + + function chartFun(record) { + StaticConChart.value.disableSubmit = true; + StaticConChart.value.edit(record); + } /** * 查询 */ diff --git a/src/views/kc/config/StaticCon/StaticCon.api.ts b/src/views/kc/config/StaticCon/StaticCon.api.ts index 03f91dd..9720b23 100644 --- a/src/views/kc/config/StaticCon/StaticCon.api.ts +++ b/src/views/kc/config/StaticCon/StaticCon.api.ts @@ -4,7 +4,7 @@ import { useMessage } from "/@/hooks/web/useMessage"; const { createConfirm } = useMessage(); enum Api { - list = '/config/kcExportConfigTpkwcqkjzglx/queryTkyqPageList', + list = '/config/kcExportConfigTpkwcqkjzglx/getListByCode', save='/config/kcExportConfigTpkwcqkjzglx/add', edit='/config/kcExportConfigTpkwcqkjzglx/edit', deleteOne = '/config/kcExportConfigTpkwcqkjzglx/delete', diff --git a/src/views/kc/config/StaticCon/StaticCon.data.ts b/src/views/kc/config/StaticCon/StaticCon.data.ts index 1636a81..76da6ab 100644 --- a/src/views/kc/config/StaticCon/StaticCon.data.ts +++ b/src/views/kc/config/StaticCon/StaticCon.data.ts @@ -7,18 +7,18 @@ export const columns: BasicColumn[] = [ { title: '学院名称', align: "center", - dataIndex: 'xymc' + dataIndex: 'dwmc' }, { title: '姓名', align: "center", dataIndex: 'xm' }, - { - title: '听课身份', - align: "center", - dataIndex: 'tksf' - }, + // { + // title: '听课身份', + // align: "center", + // dataIndex: 'tksf' + // }, { title: '本学期应听课次数', align: "center", diff --git a/src/views/kc/config/StaticCon/StaticCon.vue b/src/views/kc/config/StaticCon/StaticCon.vue index ac52140..4bbce1f 100644 --- a/src/views/kc/config/StaticCon/StaticCon.vue +++ b/src/views/kc/config/StaticCon/StaticCon.vue @@ -175,6 +175,7 @@ function init(record){ console.log(`🚀 ~ file: StaticCon.vue:177 ~ init ~ record:`, record) + queryParam.value.code = record.code; reload(); } diff --git a/src/views/kc/config/StaticCon/StaticConChart.vue b/src/views/kc/config/StaticCon/StaticConChart.vue new file mode 100644 index 0000000..cfdf1a1 --- /dev/null +++ b/src/views/kc/config/StaticCon/StaticConChart.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/views/kc/config/StaticCon/StaticConChartBar.vue b/src/views/kc/config/StaticCon/StaticConChartBar.vue new file mode 100644 index 0000000..3742b85 --- /dev/null +++ b/src/views/kc/config/StaticCon/StaticConChartBar.vue @@ -0,0 +1,109 @@ + + diff --git a/src/views/kc/config/StaticCon/StaticConChartModal.vue b/src/views/kc/config/StaticCon/StaticConChartModal.vue new file mode 100644 index 0000000..7b95103 --- /dev/null +++ b/src/views/kc/config/StaticCon/StaticConChartModal.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/kc/kcZwtksfInfo/KcZwtksfInfo.api.ts b/src/views/kc/kcZwtksfInfo/KcZwtksfInfo.api.ts new file mode 100644 index 0000000..399f3dd --- /dev/null +++ b/src/views/kc/kcZwtksfInfo/KcZwtksfInfo.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/kcZwtksfInfo/kcZwtksfInfo/list', + save='/kcZwtksfInfo/kcZwtksfInfo/add', + edit='/kcZwtksfInfo/kcZwtksfInfo/edit', + deleteOne = '/kcZwtksfInfo/kcZwtksfInfo/delete', + deleteBatch = '/kcZwtksfInfo/kcZwtksfInfo/deleteBatch', + importExcel = '/kcZwtksfInfo/kcZwtksfInfo/importExcel', + exportXls = '/kcZwtksfInfo/kcZwtksfInfo/exportXls', +} + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; + +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 删除单个 + * @param params + * @param handleSuccess + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + +/** + * 批量删除 + * @param params + * @param handleSuccess + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} + +/** + * 保存或者更新 + * @param params + * @param isUpdate + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} diff --git a/src/views/kc/kcZwtksfInfo/KcZwtksfInfo.data.ts b/src/views/kc/kcZwtksfInfo/KcZwtksfInfo.data.ts new file mode 100644 index 0000000..5d18c07 --- /dev/null +++ b/src/views/kc/kcZwtksfInfo/KcZwtksfInfo.data.ts @@ -0,0 +1,49 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '职位', + align: "center", + dataIndex: 'zw_dictText' + }, + { + title: '听课身份', + align: "center", + dataIndex: 'tksf_dictText' + }, +]; + +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; + +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '职位', + field: 'zw', + component: 'JDictSelectTag', + componentProps:{ + dictCode: "" + }, + dynamicDisabled: true + }, + { + label: '听课身份', + field: 'tksf', + component: 'JSelectMultiple', + componentProps:{ + dictCode: "" + }, + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, +]; diff --git a/src/views/kc/kcZwtksfInfo/KcZwtksfInfoList.vue b/src/views/kc/kcZwtksfInfo/KcZwtksfInfoList.vue new file mode 100644 index 0000000..b07dd8d --- /dev/null +++ b/src/views/kc/kcZwtksfInfo/KcZwtksfInfoList.vue @@ -0,0 +1,213 @@ + + + + + diff --git a/src/views/kc/kcZwtksfInfo/components/KcZwtksfInfoForm.vue b/src/views/kc/kcZwtksfInfo/components/KcZwtksfInfoForm.vue new file mode 100644 index 0000000..36dd496 --- /dev/null +++ b/src/views/kc/kcZwtksfInfo/components/KcZwtksfInfoForm.vue @@ -0,0 +1,135 @@ + + + + + diff --git a/src/views/kc/kcZwtksfInfo/components/KcZwtksfInfoModal.vue b/src/views/kc/kcZwtksfInfo/components/KcZwtksfInfoModal.vue new file mode 100644 index 0000000..9deb57b --- /dev/null +++ b/src/views/kc/kcZwtksfInfo/components/KcZwtksfInfoModal.vue @@ -0,0 +1,75 @@ + + + + +