办学质量监测教学评价系统
du
12 小时以前 58a5855774af8f66bdea6324d0b9a153065e5348
页面调整
已修改2个文件
已添加4个文件
270 ■■■■■ 文件已修改
ruoyi-ui/apps/web-antd/src/bootstrap.ts 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/apps/web-antd/src/views/assessment/serviceRating/data.ts 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/apps/web-antd/src/views/assessment/serviceRating/index.vue 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/apps/web-antd/src/views/assessment/serviceRating/serivceDialog.vue 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/apps/web-antd/src/views/pageDesigner/index.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/apps/web-antd/src/views/system/process/index.vue 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/apps/web-antd/src/bootstrap.ts
@@ -19,7 +19,10 @@
import { router } from './router';
import formCreate from '@form-create/element-ui';
import FcDesigner from '@form-create/designer';
import Antd from 'ant-design-vue';
import 'ant-design-vue/dist/reset.css';
async function bootstrap(namespace: string) {
  // åˆå§‹åŒ–组件适配器
  await initComponentAdapter();
@@ -62,6 +65,7 @@
  app.use(ElementPlus);
  app.use(formCreate);
  app.use(FcDesigner);
  app.use(Antd);
  // åŠ¨æ€æ›´æ–°æ ‡é¢˜
  watchEffect(() => {
    if (preferences.app.dynamicTitle) {
ruoyi-ui/apps/web-antd/src/views/assessment/serviceRating/data.ts
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
import type { VxeGridProps } from 'src/adapter/vxe-table';
import type { FormSchemaGetter } from "src/adapter/form";
export const querySchema: FormSchemaGetter = () => [
  {
    component: 'Input',
    fieldName: 'roleName',
    label: '名称',
  },
  {
    component: 'Select',
    fieldName: 'roleSort',
    label: '创建人',
  },
  {
    component: 'RangePicker',
    fieldName: 'createTime',
    label: '创建时间',
  },
];
export const columns: VxeGridProps['columns'] = [
  { type: 'checkbox', width: 60 },
  {
    title: '名称',
    field: 'roleName',
  },
  {
    title: '创建人',
    field: 'roleSort',
  },
  {
    title: '创建时间',
    field: 'createTime',
  },
  {
    field: 'action',
    fixed: 'right',
    slots: { default: 'action' },
    title: '操作',
    width: 180,
  },
];
ruoyi-ui/apps/web-antd/src/views/assessment/serviceRating/index.vue
@@ -1,10 +1,92 @@
<template>
<div>工作考核指标</div>
  <Page :auto-content-height="true">
    <BasicTable table-title="工作考核指标列表">
      <template #toolbar-tools>
        <Space>
          <a-button
            v-access:code="['system:role:export']"
            @click="handleDownloadExcel"
            style="margin-right: 10px"
          >
            {{ $t('pages.common.export') }}
          </a-button>
          <a-button
            type="primary"
            v-access:code="['system:role:add']"
            @click="handleAdd"
          >
            {{ $t('pages.common.add') }}
          </a-button>
        </Space>
      </template>
    </BasicTable>
  </Page>
</template>
<script>
export default {
  name: "index"
<script setup lang="ts">
import type { VxeGridProps } from "#/adapter/vxe-table";
import { useVbenVxeGrid, vxeCheckboxChecked } from '#/adapter/vxe-table';
import type { VbenFormProps } from '@vben/common-ui';
import type { roleList} from "#/api/system/role";
import { columns, querySchema } from './data';
import { Page, useVbenDrawer, useVbenModal } from '@vben/common-ui';
const formOptions: VbenFormProps = {
  commonConfig: {
    labelWidth: 80,
    componentProps: {
      allowClear: true,
    },
  },
  schema: querySchema(),
  wrapperClass: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4',
  // æ—¥æœŸé€‰æ‹©æ ¼å¼åŒ–
  fieldMappingTime: [
    [
      'createTime',
      ['params[beginTime]', 'params[endTime]'],
      ['YYYY-MM-DD 00:00:00', 'YYYY-MM-DD 23:59:59'],
    ],
  ],
};
const gridOptions: VxeGridProps = {
  checkboxConfig: {
    // é«˜äº®
    highlight: true,
    // ç¿»é¡µæ—¶ä¿ç•™é€‰ä¸­çŠ¶æ€
    reserve: true,
    // ç‚¹å‡»è¡Œé€‰ä¸­
    // trigger: 'row',
    checkMethod: ({ row }) => row.roleId !== 1,
  },
  columns,
  height: 'auto',
  keepSource: true,
  pagerConfig: {},
  proxyConfig: {
    ajax: {
      query: async ({ page }, formValues = {}) => {
        return await roleList({
          pageNum: page.currentPage,
          pageSize: page.pageSize,
          ...formValues,
        });
      },
    },
  },
  rowConfig: {
    keyField: 'roleId',
  },
  id: 'system-role-index',
};
const [BasicTable,tableApi] = useVbenVxeGrid({
  formOptions,
  gridOptions,
});
const handleAdd = () => {
  console.log('新增')
}
const handleDownloadExcel = () => {
  console.log('导出')
}
</script>
ruoyi-ui/apps/web-antd/src/views/assessment/serviceRating/serivceDialog.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
<script>
import {modelInfo} from "#/api/system/model/index.js";
import {pick} from "lodash-es";
import {useVbenModal} from "@vben/common-ui";
import {ref, computed} from "vue";
import { $t } from '@vben/locales';
const defaultValues = {
  id: undefined,
  name: undefined,
}
const isUpdate = ref(false);
const title = computed(() => {
  return isUpdate.value ? $t('编辑') : $t('新增');
});
const { validate, validateInfos, resetFields } = Form.useForm(
  formData,
  formRules,
);
const [BasicModal, modalApi] = useVbenModal({
  class: 'w-[550px]',
  fullscreenButton: false,
  closeOnClickModal: false,
  onClosed: handleCancel,
  onConfirm: handleConfirm,
  onOpenChange: async (isOpen) => {
    if (!isOpen) {
      return null;
    }
    modalApi.modalLoading(true);
    const { id } = modalApi.getData() as { id?: number | string };
    isUpdate.value = !!id;
    if (isUpdate.value && id) {
      const record = await modelInfo(id);
      // åªèµ‹å€¼å­˜åœ¨çš„字段
      const filterRecord = pick(record, Object.keys(defaultValues));
      formData.value = filterRecord;
    }
    modalApi.modalLoading(false);
  },
});
</script>
<template>
  <BasicModal :title="title">
    <Form :label-col="{ span: 4 }">
      <FormItem label="名称" v-bind="validateInfos.name">
        <Input
          v-model:value="formData.name"
          :placeholder="$t('ui.formRules.required')"
        />
      </FormItem>
    </Form>
  </BasicModal>
</template>
<style scoped>
</style>
ruoyi-ui/apps/web-antd/src/views/pageDesigner/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
  <div>111</div>
</template>
<script>
export default {
  name: "index"
}
</script>
<style scoped>
</style>
ruoyi-ui/apps/web-antd/src/views/system/process/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
<template>
<div style="padding: 20px">
  <a-card style="width: 100%" title="流程定义列表">
    <a-table :dataSource="dataSource" :columns="columns" />
  </a-card>
</div>
</template>
<script>
export default {
  setup() {
    return {
      dataSource: [
        {
          key: '1',
          name: '胡彦斌',
          age: 32,
          address: '西湖区湖底公园1号',
        },
        {
          key: '2',
          name: '胡彦祖',
          age: 42,
          address: '西湖区湖底公园1号',
        },
      ],
      columns: [
        {
          title: '姓名',
          dataIndex: 'name',
          key: 'name',
          align: 'center',
        },
        {
          title: '年龄',
          dataIndex: 'age',
          key: 'age',
          align: 'center',
        },
        {
          title: '住址',
          dataIndex: 'address',
          key: 'address',
          align: 'center',
        },
      ],
    };
  },
};
</script>
<style scoped>
</style>