lcl 10 месяцев назад
Родитель
Сommit
93cbc0b81c
40 измененных файлов с 1783 добавлено и 1722 удалено
  1. 0 209
      src/views/Template/SysLog/components/add/index.vue
  2. 0 210
      src/views/Template/SysLog/components/edit/index.vue
  3. 0 164
      src/views/Template/SysLog/hook.tsx
  4. 0 191
      src/views/Template/SysMenu/components/add/index.vue
  5. 0 191
      src/views/Template/SysMenu/components/edit/index.vue
  6. 0 181
      src/views/Template/SysUser/components/edit/index.vue
  7. 0 178
      src/views/Template/SysUser/hook.tsx
  8. 0 175
      src/views/Template/SysUser/index.vue
  9. 0 0
      src/views/menuitem/ApiGroup/components/add/index.vue
  10. 0 0
      src/views/menuitem/ApiGroup/components/update/index.vue
  11. 6 6
      src/views/menuitem/ApiGroup/hook.tsx
  12. 6 6
      src/views/menuitem/ApiGroup/index.vue
  13. 0 0
      src/views/menuitem/ApiInfo/components/add/index.vue
  14. 0 0
      src/views/menuitem/ApiInfo/components/update/index.vue
  15. 18 8
      src/views/menuitem/ApiInfo/hook.tsx
  16. 6 6
      src/views/menuitem/ApiInfo/index.vue
  17. 218 0
      src/views/menuitem/AppBottomNavs/components/add/index.vue
  18. 218 0
      src/views/menuitem/AppBottomNavs/components/update/index.vue
  19. 14 21
      src/views/menuitem/AppBottomNavs/hook.tsx
  20. 179 0
      src/views/menuitem/AppBottomNavs/index.vue
  21. 51 55
      src/views/menuitem/AppVersion/components/add/index.vue
  22. 187 0
      src/views/menuitem/AppVersion/components/update/index.vue
  23. 12 19
      src/views/menuitem/AppVersion/hook.tsx
  24. 10 13
      src/views/menuitem/AppVersion/index.vue
  25. 19 19
      src/views/menuitem/FileUpdateInfo/components/add/index.vue
  26. 22 17
      src/views/menuitem/FileUpdateInfo/components/update/index.vue
  27. 150 0
      src/views/menuitem/FileUpdateInfo/hook.tsx
  28. 10 13
      src/views/menuitem/FileUpdateInfo/index.vue
  29. 238 0
      src/views/menuitem/PageUpdateInfo/components/add/index.vue
  30. 235 0
      src/views/menuitem/PageUpdateInfo/components/update/index.vue
  31. 150 0
      src/views/menuitem/PageUpdateInfo/hook.tsx
  32. 10 16
      src/views/menuitem/PageUpdateInfo/index.vue
  33. 0 0
      src/views/menuitem/SysDict/components/add/index.vue
  34. 0 0
      src/views/menuitem/SysDict/components/update/index.vue
  35. 6 6
      src/views/menuitem/SysDict/hook.tsx
  36. 6 6
      src/views/menuitem/SysDict/index.vue
  37. 0 0
      src/views/menuitem/SysDictItem/components/add/index.vue
  38. 0 0
      src/views/menuitem/SysDictItem/components/update/index.vue
  39. 6 6
      src/views/menuitem/SysDictItem/hook.tsx
  40. 6 6
      src/views/menuitem/SysDictItem/index.vue

+ 0 - 209
src/views/Template/SysLog/components/add/index.vue

@@ -1,209 +0,0 @@
-<script lang="ts">
-// 声明额外的选项
-export default {
-  name: "Add"
-};
-</script>
-<script setup lang="ts">
-import { inject, ref } from "vue";
-import { useRenderIcon } from "@/components/ReIcon/src/hooks";
-import { ElMessage, ElMessageBox } from "element-plus";
-import { http } from "@/utils/http";
-// 获取当前板块接口列表
-import Upload from "@iconify-icons/ri/upload-2-fill";
-import Close from "@iconify-icons/ri/close-fill";
-// 获取URLLIST
-import { getGroupUrl } from "@/utils/getUrl/getUrl";
-
-const props = defineProps<{
-  submit: {
-    type: Function;
-    default: () => {};
-  };
-  addVisible: {
-    type: Boolean;
-    default: false;
-  };
-  width: {
-    type: Number;
-    default: 50;
-  };
-}>();
-// 表单数据
-let UpdateForm = ref({
-  logType: "", //日志类型
-  title: "", //日志标题
-  serviceId: "", //服务ID
-  createBy: "", //创建人
-  updateBy: "", //修改人
-  createTime: "", //创建时间
-  updateTime: "", //更新时间
-  remoteAddr: "", //远程地址
-  userAgent: "", //用户代理
-  requestUri: "", //请求URI
-  method: "", //请求方法
-  params: "", //请求参数
-  time: "", //执行时间
-  delFlag: "", //删除标志
-  exception: "", //异常信息
-
-});
-
-// 选项卡参数(默认值为列表某项的id)
-const activeId = ref('1')
-// 提交函数
-const submit = async () => {
-  const UrlList = await getGroupUrl(['KxsConfigServer']);
-  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.SysLogadd.method, url: UrlList.KxsConfigServer.SysLogadd.url, params: UpdateForm.value});
-  if (status === 1) {
-    ElMessage({
-      message: "新增成功",
-      type: "success"
-    });
-    UpdateForm.value = {
-      logType: "", //日志类型
-      title: "", //日志标题
-      serviceId: "", //服务ID
-      createBy: "", //创建人
-      updateBy: "", //修改人
-      createTime: "", //创建时间
-      updateTime: "", //更新时间
-      remoteAddr: "", //远程地址
-      userAgent: "", //用户代理
-      requestUri: "", //请求URI
-      method: "", //请求方法
-      params: "", //请求参数
-      time: "", //执行时间
-      delFlag: "", //删除标志
-      exception: "", //异常信息
-
-    };
-    closeVisible();
-  } else {
-    ElMessageBox.alert(msg, "提示", {
-      confirmButtonText: "关闭",
-      type: "warning"
-    });
-  };
-};
-const closeFn: any = inject('closeAddVisible');
-// 关闭弹窗回调函数
-const closeVisible = () => {
-  UpdateForm.value = {
-    logType: "", //日志类型
-    title: "", //日志标题
-    serviceId: "", //服务ID
-    createBy: "", //创建人
-    updateBy: "", //修改人
-    createTime: "", //创建时间
-    updateTime: "", //更新时间
-    remoteAddr: "", //远程地址
-    userAgent: "", //用户代理
-    requestUri: "", //请求URI
-    method: "", //请求方法
-    params: "", //请求参数
-    time: "", //执行时间
-    delFlag: "", //删除标志
-    exception: "", //异常信息
-
-  };
-  closeFn();
-};
-</script>
-
-<template lang="pug">
-.main
-  el-dialog(v-model='props.addVisible' width="50%" title="新增" @close="closeVisible()")
-    el-form(:model='UpdateForm' label-position="right" label-width="100px")
-      el-form-item(label='日志类型' prop="logType")
-        el-input(v-model='UpdateForm.logType' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入日志类型")
-      el-form-item(label='日志标题' prop="title")
-        el-input(v-model='UpdateForm.title' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入日志标题")
-      el-form-item(label='服务ID' prop="serviceId")
-        el-input(v-model='UpdateForm.serviceId' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入服务ID")
-      el-form-item(label='创建人' prop="createBy")
-        el-input(v-model='UpdateForm.createBy' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入创建人")
-      el-form-item(label='修改人' prop="updateBy")
-        el-input(v-model='UpdateForm.updateBy' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入修改人")
-      el-form-item(label='远程地址' prop="remoteAddr")
-        el-input(v-model='UpdateForm.remoteAddr' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入远程地址")
-      el-form-item(label='用户代理' prop="userAgent")
-        el-input(v-model='UpdateForm.userAgent' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入用户代理")
-      el-form-item(label='请求URI' prop="requestUri")
-        el-input(v-model='UpdateForm.requestUri' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入请求URI")
-      el-form-item(label='请求方法' prop="method")
-        el-input(v-model='UpdateForm.method' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入请求方法")
-      el-form-item(label='请求参数' prop="params")
-        el-input(v-model='UpdateForm.params' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入请求参数")
-      el-form-item(label='执行时间' prop="time")
-        el-input(v-model='UpdateForm.time' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入执行时间")
-      el-form-item(label='删除标志' prop="delFlag")
-        el-input(v-model='UpdateForm.delFlag' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入删除标志")
-      el-form-item(label='异常信息' prop="exception")
-        el-input(v-model='UpdateForm.exception' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入异常信息")
-
-    el-button(
-      :icon="useRenderIcon(Close)",
-      :loading="loading",
-      @click="closeVisible()"
-    ) 关闭
-    el-button(
-      type="primary",
-      :icon="useRenderIcon(Upload)",
-      :loading="loading",
-      @click="submit"
-    ) 确认提交
-</template>
-
-<style scoped lang="scss">
-:deep(.el-dropdown-menu__item i) {
-  margin: 0;
-}
-
-:deep(.el-form-item__label) {
-  font-weight: 700;
-}
-
-:deep(.el-pagination) {
-  flex-flow: wrap;
-}
-
-:deep(.is-draggable) {
-  max-height: 80vh;
-  overflow: auto;
-}
-
-:deep(.el-dialog__header) {
-  position: sticky;
-  top: 0;
-  z-index: 2;
-  background: #fff;
-}
-
-.collapsedom {
-  padding: 0 20px;
-  background-color: #fff;
-}
-
-.ovh-x {
-  height: 40vh;
-  overflow-y: auto;
-}
-
-:deep(.el-descriptions__header) {
-  margin: 16px 0 !important;
-}
-</style>

+ 0 - 210
src/views/Template/SysLog/components/edit/index.vue

@@ -1,210 +0,0 @@
-<script lang="ts">
-// 声明额外的选项
-export default {
-  name: "Edit"
-};
-</script>
-<script setup lang="ts">
-import { inject, ref } from "vue";
-import { useRenderIcon } from "@/components/ReIcon/src/hooks";
-import { ElMessage, ElMessageBox } from "element-plus";
-import Upload from "@iconify-icons/ri/upload-2-fill"
-import Close from "@iconify-icons/ri/close-fill"
-import { http } from "@/utils/http";
-// 获取URLLIST
-import { getGroupUrl } from "@/utils/getUrl/getUrl";
-
-const props = defineProps<{
-  editVisible: {
-    type: Boolean;
-    default: false;
-  };
-  width: {
-    type: Number;
-    default: 50;
-  };
-  formData: {
-    type: Object;
-    default: {};
-  };
-}>();
-// 表单数据
-let UpdateForm: any = ref({
-  id: "", //编号
-  logType: "", //日志类型
-  title: "", //日志标题
-  serviceId: "", //服务ID
-  createBy: "", //创建人
-  updateBy: "", //修改人
-  createTime: "", //创建时间
-  updateTime: "", //更新时间
-  remoteAddr: "", //远程地址
-  userAgent: "", //用户代理
-  requestUri: "", //请求URI
-  method: "", //请求方法
-  params: "", //请求参数
-  time: "", //执行时间
-  delFlag: "", //删除标志
-  exception: "", //异常信息
-
-});
-
-// 选项卡参数(默认值为列表某项的id)
-const activeId = ref('1')
-// 提交函数
-const submit = async () => {
-  const UrlList = await getGroupUrl(['KxsConfigServer']);
-  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.SysLogupdate.method, url: UrlList.KxsConfigServer.SysLogupdate.url, params: UpdateForm.value});
-  if (status === 1) {
-    ElMessage({
-      message: "修改成功",
-      type: "success"
-    });
-    UpdateForm.value = {
-      id: "", //编号
-      logType: "", //日志类型
-      title: "", //日志标题
-      serviceId: "", //服务ID
-      createBy: "", //创建人
-      updateBy: "", //修改人
-      createTime: "", //创建时间
-      updateTime: "", //更新时间
-      remoteAddr: "", //远程地址
-      userAgent: "", //用户代理
-      requestUri: "", //请求URI
-      method: "", //请求方法
-      params: "", //请求参数
-      time: "", //执行时间
-      delFlag: "", //删除标志
-      exception: "", //异常信息
-
-    };
-    closeVisible();
-  } else {
-    ElMessageBox.alert(msg, "提示", {
-      confirmButtonText: "关闭",
-      type: "warning"
-    });
-  };
-};
-// 关闭弹窗回调函数
-const closeFn: any = inject('closeEditVisible');
-const openVisible = async () => {
-  //通过ID获取表格数据
-  const UrlList = await getGroupUrl(['KxsConfigServer']);
-  const { status, data }: any = await http.Request({method: UrlList.KxsConfigServer.SysLogquery.method, url: UrlList.KxsConfigServer.SysLogquery.url, params: props.formData});
-  if (status === 1) {
-    UpdateForm.value = data;
-  }
-};
-// 关闭弹窗回调函数
-const closeVisible = () => {
-  UpdateForm.value = {
-    groupName: "", //名称
-    groupRemark: "", //说明
-    groupVersion: "", //版本号
-
-  };
-  closeFn();
-};
-</script>
-
-<template lang="pug">
-.main
-  el-dialog(v-model='props.editVisible' width="50%" title="修改" @close="closeVisible()" @open="openVisible")
-    el-form(:model='UpdateForm' label-position="right" label-width="100px")
-      el-form-item(label='编号' prop="id")
-        el-input(v-model='UpdateForm.id' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入编号")
-      el-form-item(label='日志类型' prop="logType")
-        el-input(v-model='UpdateForm.logType' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入日志类型")
-      el-form-item(label='日志标题' prop="title")
-        el-input(v-model='UpdateForm.title' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入日志标题")
-      el-form-item(label='服务ID' prop="serviceId")
-        el-input(v-model='UpdateForm.serviceId' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入服务ID")
-      el-form-item(label='创建人' prop="createBy")
-        el-input(v-model='UpdateForm.createBy' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入创建人")
-      el-form-item(label='修改人' prop="updateBy")
-        el-input(v-model='UpdateForm.updateBy' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入修改人")
-      el-form-item(label='远程地址' prop="remoteAddr")
-        el-input(v-model='UpdateForm.remoteAddr' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入远程地址")
-      el-form-item(label='用户代理' prop="userAgent")
-        el-input(v-model='UpdateForm.userAgent' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入用户代理")
-      el-form-item(label='请求URI' prop="requestUri")
-        el-input(v-model='UpdateForm.requestUri' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入请求URI")
-      el-form-item(label='请求方法' prop="method")
-        el-input(v-model='UpdateForm.method' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入请求方法")
-      el-form-item(label='请求参数' prop="params")
-        el-input(v-model='UpdateForm.params' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入请求参数")
-      el-form-item(label='执行时间' prop="time")
-        el-input(v-model='UpdateForm.time' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入执行时间")
-      el-form-item(label='删除标志' prop="delFlag")
-        el-input(v-model='UpdateForm.delFlag' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入删除标志")
-      el-form-item(label='异常信息' prop="exception")
-        el-input(v-model='UpdateForm.exception' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入异常信息")
-
-    el-button(
-      :icon="useRenderIcon(Close)",
-      :loading="loading",
-      @click="closeVisible()"
-    ) 关闭
-    el-button(
-      type="primary",
-      :icon="useRenderIcon(Upload)",
-      :loading="loading",
-      @click="submit"
-    ) 确认提交
-</template>
-
-<style scoped lang="scss">
-:deep(.el-dropdown-menu__item i) {
-  margin: 0;
-}
-
-:deep(.el-form-item__label) {
-  font-weight: 700;
-}
-
-:deep(.el-pagination) {
-  flex-flow: wrap;
-}
-
-:deep(.is-draggable) {
-  max-height: 80vh;
-  overflow: auto;
-}
-
-:deep(.el-dialog__header) {
-  position: sticky;
-  top: 0;
-  z-index: 2;
-  background: #fff;
-}
-
-.collapsedom {
-  padding: 0 20px;
-  background-color: #fff;
-}
-
-.ovh-x {
-  height: 40vh;
-  overflow-y: auto;
-}
-
-:deep(.el-descriptions__header) {
-  margin: 16px 0 !important;
-}
-</style>

+ 0 - 164
src/views/Template/SysLog/hook.tsx

@@ -1,164 +0,0 @@
-import { getRoleList } from "@/api/system";
-import { type PaginationProps } from "@pureadmin/table";
-import { ElMessage, ElMessageBox } from "element-plus";
-import { reactive, ref, computed, onMounted } from "vue";
-// 获取URLLIST
-import { getGroupUrl } from "@/utils/getUrl/getUrl"
-import { http } from "@/utils/http";
-// 获取当前板块接口列表
-const UrlList = await getGroupUrl(['KxsConfigServer']);
-
-export function useSysLog() {
-  let form = reactive({
-      createBy:"", //创建人
-  createTime:"", //创建时间
-
-  });
-  const dataList = ref([]);
-  const loading = ref(false);
-  const dialogAddVisible = ref(false);
-  const pagination = reactive<PaginationProps>({
-    total: 0,
-    pageSize: 10,
-    currentPage: 1,
-    background: true
-  });
-  const columns: TableColumnList = [
-    {
-      type: "selection",
-      width: 55,
-      align: "left",
-      hide: ({ checkList }) => !checkList.includes("勾选列")
-    },
-    {
-      label: "序号",
-      type: "index",
-      width: 70,
-      hide: ({ checkList }) => !checkList.includes("序号列")
-    },
-    {
-      label: "创建人",
-      prop: "createBy",
-      minWidth: 200
-    },
-    {
-      label: "创建时间",
-      prop: "createTime",
-      minWidth: 200
-    },
-
-    {
-      label: "操作",
-      fixed: "right",
-      width: 200,
-      slot: "operation"
-    }
-  ];
-  // 当前页数量切换
-  function handleSizeChange(val: number) {
-    console.log(`${val} items per page`);
-    onSearch()
-  }
-  // 当前页码切换
-  function handleCurrentChange(val: number) {
-    console.log(`current page: ${val}`);
-    onSearch()
-  }
-  // 选择表格项
-  function handleSelectionChange(val) {
-    console.log("handleSelectionChange", val);
-    onSearch()
-  }
-  // 搜索列表
-  async function onSearch(type = 'search') {
-    if (type === 'all') {
-         form.createBy = "";
-   form.createTime = "";
-
-    }
-    // if (type == 'search' && !Object.values(form).some(item => !!item)) {
-    //   return ElMessage({
-    //     message: "请输入查询条件",
-    //     type: "error"
-    //   });
-    // };
-    loading.value = true;
-    const { status, msg, data }: any = await http.Request({ method: UrlList.KxsConfigServer.SysLoglist.method, url: UrlList.KxsConfigServer.SysLoglist.url, params: { ...form, PageSize: pagination.pageSize, PageNum: pagination.currentPage }});
-    if (status === 1) {
-      dataList.value = data.result;
-      pagination.total = data.totalNum;
-      setTimeout(() => {
-        loading.value = false;
-      }, 500);
-    } else {
-      ElMessageBox.alert(msg, "提示", {
-        confirmButtonText: "关闭",
-        type: "warning"
-      });
-    }
-  }
-  onMounted(() => {
-    onSearch();
-  });
-
-  // 删除
-  function handleDelete(row) {
-    ElMessageBox.confirm(
-      `是否删除该日志表? `,
-      "提示",
-      {
-        confirmButtonText: "删除",
-        cancelButtonText: "取消",
-        type: "warning"
-      }
-    ).then(async () => {
-      const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.SysLogdelete.method, url: UrlList.KxsConfigServer.SysLogdelete.url, params: row.id });
-      if (status === 1) {
-        ElMessage({
-          message: "删除成功",
-          type: "success"
-        });
-        onSearch();
-      } else {
-        ElMessageBox.alert(msg, "提示", {
-        confirmButtonText: "关闭",
-        type: "warning"
-      });
-      };
-    })
-  }
-
-  // 新增
-  const addVisible = ref(false);
-  function handleAdd() {
-    addVisible.value = true;
-  };
-
-  // 修改
-  const editVisible = ref(false);
-  const editFormData = ref({});
-  function handleUpdate(row) {
-    editVisible.value = true;
-    // 表格数据赋值
-    editFormData.value = row;
-  };
-
-  return {
-    form,
-    loading,
-    columns,
-    dataList,
-    pagination,
-    onSearch,
-    handleSizeChange,
-    handleCurrentChange,
-    handleSelectionChange,
-    handleAdd,
-    addVisible,
-    handleUpdate,
-    editVisible,
-    editFormData,
-    handleDelete,
-
-  };
-}

+ 0 - 191
src/views/Template/SysMenu/components/add/index.vue

@@ -1,191 +0,0 @@
-<script lang="ts">
-// 声明额外的选项
-export default {
-  name: "Add"
-};
-</script>
-<script setup lang="ts">
-import { inject, ref } from "vue";
-import { useRenderIcon } from "@/components/ReIcon/src/hooks";
-import { ElMessage, ElMessageBox } from "element-plus";
-import { http } from "@/utils/http";
-// 获取当前板块接口列表
-import Upload from "@iconify-icons/ri/upload-2-fill";
-import Close from "@iconify-icons/ri/close-fill";
-// 获取URLLIST
-import { getGroupUrl } from "@/utils/getUrl/getUrl";
-
-const props = defineProps<{
-  submit: {
-    type: Function;
-    default: () => {};
-  };
-  addVisible: {
-    type: Boolean;
-    default: false;
-  };
-  width: {
-    type: Number;
-    default: 50;
-  };
-}>();
-// 表单数据
-let UpdateForm = ref({
-  name: "", //菜单名称
-  enName: "", //英文名称
-  permission: "", //权限标识
-  path: "", //路由路径
-  parentId: "", //父菜单ID
-  icon: "", //菜单图标
-  visible: "", //是否可见,0隐藏,1显示
-  sortOrder: "", //排序值,越小越靠前
-  keepAlive: "", //是否缓存,0否,1是
-  embedded: "", //是否内嵌,0否,1是
-  menuType: "", //菜单类型,0目录,1菜单,2按钮
-
-});
-
-// 选项卡参数(默认值为列表某项的id)
-const activeId = ref('1')
-// 提交函数
-const submit = async () => {
-  const UrlList = await getGroupUrl(['KxsConfigServer']);
-  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.SysMenuadd.method, url: UrlList.KxsConfigServer.SysMenuadd.url, params: UpdateForm.value});
-  if (status === 1) {
-    ElMessage({
-      message: "新增成功",
-      type: "success"
-    });
-    UpdateForm.value = {
-      name: "", //菜单名称
-      enName: "", //英文名称
-      permission: "", //权限标识
-      path: "", //路由路径
-      parentId: "", //父菜单ID
-      icon: "", //菜单图标
-      visible: "", //是否可见,0隐藏,1显示
-      sortOrder: "", //排序值,越小越靠前
-      keepAlive: "", //是否缓存,0否,1是
-      embedded: "", //是否内嵌,0否,1是
-      menuType: "", //菜单类型,0目录,1菜单,2按钮
-
-    };
-    closeVisible();
-  } else {
-    ElMessageBox.alert(msg, "提示", {
-      confirmButtonText: "关闭",
-      type: "warning"
-    });
-  };
-};
-const closeFn: any = inject('closeAddVisible');
-// 关闭弹窗回调函数
-const closeVisible = () => {
-  UpdateForm.value = {
-    name: "", //菜单名称
-    enName: "", //英文名称
-    permission: "", //权限标识
-    path: "", //路由路径
-    parentId: "", //父菜单ID
-    icon: "", //菜单图标
-    visible: "", //是否可见,0隐藏,1显示
-    sortOrder: "", //排序值,越小越靠前
-    keepAlive: "", //是否缓存,0否,1是
-    embedded: "", //是否内嵌,0否,1是
-    menuType: "", //菜单类型,0目录,1菜单,2按钮
-
-  };
-  closeFn();
-};
-</script>
-
-<template lang="pug">
-.main
-  el-dialog(v-model='props.addVisible' width="50%" title="新增" @close="closeVisible()")
-    el-form(:model='UpdateForm' label-position="right" label-width="100px")
-      el-form-item(label='菜单名称' prop="name")
-        el-input(v-model='UpdateForm.name' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入菜单名称")
-      el-form-item(label='英文名称' prop="enName")
-        el-input(v-model='UpdateForm.enName' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入英文名称")
-      el-form-item(label='权限标识' prop="permission")
-        el-input(v-model='UpdateForm.permission' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入权限标识")
-      el-form-item(label='路由路径' prop="path")
-        el-input(v-model='UpdateForm.path' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入路由路径")
-      el-form-item(label='父菜单ID' prop="parentId")
-        el-input(v-model='UpdateForm.parentId' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入父菜单ID")
-      el-form-item(label='菜单图标' prop="icon")
-        el-input(v-model='UpdateForm.icon' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入菜单图标")
-      el-form-item(label='是否可见,0隐藏,1显示' prop="visible")
-        el-input(v-model='UpdateForm.visible' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入是否可见,0隐藏,1显示")
-      el-form-item(label='排序值,越小越靠前' prop="sortOrder")
-        el-input(v-model='UpdateForm.sortOrder' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入排序值,越小越靠前")
-      el-form-item(label='是否缓存,0否,1是' prop="keepAlive")
-        el-input(v-model='UpdateForm.keepAlive' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入是否缓存,0否,1是")
-      el-form-item(label='是否内嵌,0否,1是' prop="embedded")
-        el-input(v-model='UpdateForm.embedded' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入是否内嵌,0否,1是")
-      el-form-item(label='菜单类型,0目录,1菜单,2按钮' prop="menuType")
-        el-input(v-model='UpdateForm.menuType' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入菜单类型,0目录,1菜单,2按钮")
-
-    el-button(
-      :icon="useRenderIcon(Close)",
-      :loading="loading",
-      @click="closeVisible()"
-    ) 关闭
-    el-button(
-      type="primary",
-      :icon="useRenderIcon(Upload)",
-      :loading="loading",
-      @click="submit"
-    ) 确认提交
-</template>
-
-<style scoped lang="scss">
-:deep(.el-dropdown-menu__item i) {
-  margin: 0;
-}
-
-:deep(.el-form-item__label) {
-  font-weight: 700;
-}
-
-:deep(.el-pagination) {
-  flex-flow: wrap;
-}
-
-:deep(.is-draggable) {
-  max-height: 80vh;
-  overflow: auto;
-}
-
-:deep(.el-dialog__header) {
-  position: sticky;
-  top: 0;
-  z-index: 2;
-  background: #fff;
-}
-
-.collapsedom {
-  padding: 0 20px;
-  background-color: #fff;
-}
-
-.ovh-x {
-  height: 40vh;
-  overflow-y: auto;
-}
-
-:deep(.el-descriptions__header) {
-  margin: 16px 0 !important;
-}
-</style>

+ 0 - 191
src/views/Template/SysMenu/components/edit/index.vue

@@ -1,191 +0,0 @@
-<script lang="ts">
-// 声明额外的选项
-export default {
-  name: "Edit"
-};
-</script>
-<script setup lang="ts">
-import { inject, ref } from "vue";
-import { useRenderIcon } from "@/components/ReIcon/src/hooks";
-import { ElMessage, ElMessageBox } from "element-plus";
-import Upload from "@iconify-icons/ri/upload-2-fill"
-import Close from "@iconify-icons/ri/close-fill"
-import { http } from "@/utils/http";
-// 获取URLLIST
-import { getGroupUrl } from "@/utils/getUrl/getUrl";
-
-const props = defineProps<{
-  editVisible: {
-    type: Boolean;
-    default: false;
-  };
-  width: {
-    type: Number;
-    default: 50;
-  };
-  formData: {
-    type: Object;
-    default: {};
-  };
-}>();
-// 表单数据
-let UpdateForm: any = ref({
-  name: "", //菜单名称
-  enName: "", //英文名称
-  permission: "", //权限标识
-  path: "", //路由路径
-  parentId: "", //父菜单ID
-  icon: "", //菜单图标
-  visible: "", //是否可见,0隐藏,1显示
-  sortOrder: "", //排序值,越小越靠前
-  keepAlive: "", //是否缓存,0否,1是
-  embedded: "", //是否内嵌,0否,1是
-  menuType: "", //菜单类型,0目录,1菜单,2按钮
-
-});
-
-// 选项卡参数(默认值为列表某项的id)
-const activeId = ref('1')
-// 提交函数
-const submit = async () => {
-  const UrlList = await getGroupUrl(['KxsConfigServer']);
-  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.SysMenuupdate.method, url: UrlList.KxsConfigServer.SysMenuupdate.url, params: UpdateForm.value});
-  if (status === 1) {
-    ElMessage({
-      message: "修改成功",
-      type: "success"
-    });
-    UpdateForm.value = {
-      name: "", //菜单名称
-      enName: "", //英文名称
-      permission: "", //权限标识
-      path: "", //路由路径
-      parentId: "", //父菜单ID
-      icon: "", //菜单图标
-      visible: "", //是否可见,0隐藏,1显示
-      sortOrder: "", //排序值,越小越靠前
-      keepAlive: "", //是否缓存,0否,1是
-      embedded: "", //是否内嵌,0否,1是
-      menuType: "", //菜单类型,0目录,1菜单,2按钮
-
-    };
-    closeVisible();
-  } else {
-    ElMessageBox.alert(msg, "提示", {
-      confirmButtonText: "关闭",
-      type: "warning"
-    });
-  };
-};
-// 关闭弹窗回调函数
-const closeFn: any = inject('closeEditVisible');
-const openVisible = async () => {
-  //通过ID获取表格数据
-  const UrlList = await getGroupUrl(['KxsConfigServer']);
-  const { status, data }: any = await http.Request({method: UrlList.KxsConfigServer.SysMenuquery.method, url: UrlList.KxsConfigServer.SysMenuquery.url, params: props.formData});
-  if (status === 1) {
-    UpdateForm.value = data;
-  }
-};
-// 关闭弹窗回调函数
-const closeVisible = () => {
-  UpdateForm.value = {
-    groupName: "", //名称
-    groupRemark: "", //说明
-    groupVersion: "", //版本号
-
-  };
-  closeFn();
-};
-</script>
-
-<template lang="pug">
-.main
-  el-dialog(v-model='props.editVisible' width="50%" title="修改" @close="closeVisible()" @open="openVisible")
-    el-form(:model='UpdateForm' label-position="right" label-width="100px")
-      el-form-item(label='菜单名称' prop="name")
-        el-input(v-model='UpdateForm.name' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入菜单名称")
-      el-form-item(label='英文名称' prop="enName")
-        el-input(v-model='UpdateForm.enName' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入英文名称")
-      el-form-item(label='权限标识' prop="permission")
-        el-input(v-model='UpdateForm.permission' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入权限标识")
-      el-form-item(label='路由路径' prop="path")
-        el-input(v-model='UpdateForm.path' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入路由路径")
-      el-form-item(label='父菜单ID' prop="parentId")
-        el-input(v-model='UpdateForm.parentId' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入父菜单ID")
-      el-form-item(label='菜单图标' prop="icon")
-        el-input(v-model='UpdateForm.icon' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入菜单图标")
-      el-form-item(label='是否可见,0隐藏,1显示' prop="visible")
-        el-input(v-model='UpdateForm.visible' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入是否可见,0隐藏,1显示")
-      el-form-item(label='排序值,越小越靠前' prop="sortOrder")
-        el-input(v-model='UpdateForm.sortOrder' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入排序值,越小越靠前")
-      el-form-item(label='是否缓存,0否,1是' prop="keepAlive")
-        el-input(v-model='UpdateForm.keepAlive' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入是否缓存,0否,1是")
-      el-form-item(label='是否内嵌,0否,1是' prop="embedded")
-        el-input(v-model='UpdateForm.embedded' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入是否内嵌,0否,1是")
-      el-form-item(label='菜单类型,0目录,1菜单,2按钮' prop="menuType")
-        el-input(v-model='UpdateForm.menuType' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入菜单类型,0目录,1菜单,2按钮")
-
-    el-button(
-      :icon="useRenderIcon(Close)",
-      :loading="loading",
-      @click="closeVisible()"
-    ) 关闭
-    el-button(
-      type="primary",
-      :icon="useRenderIcon(Upload)",
-      :loading="loading",
-      @click="submit"
-    ) 确认提交
-</template>
-
-<style scoped lang="scss">
-:deep(.el-dropdown-menu__item i) {
-  margin: 0;
-}
-
-:deep(.el-form-item__label) {
-  font-weight: 700;
-}
-
-:deep(.el-pagination) {
-  flex-flow: wrap;
-}
-
-:deep(.is-draggable) {
-  max-height: 80vh;
-  overflow: auto;
-}
-
-:deep(.el-dialog__header) {
-  position: sticky;
-  top: 0;
-  z-index: 2;
-  background: #fff;
-}
-
-.collapsedom {
-  padding: 0 20px;
-  background-color: #fff;
-}
-
-.ovh-x {
-  height: 40vh;
-  overflow-y: auto;
-}
-
-:deep(.el-descriptions__header) {
-  margin: 16px 0 !important;
-}
-</style>

+ 0 - 181
src/views/Template/SysUser/components/edit/index.vue

@@ -1,181 +0,0 @@
-<script lang="ts">
-// 声明额外的选项
-export default {
-  name: "Edit"
-};
-</script>
-<script setup lang="ts">
-import { inject, ref } from "vue";
-import { useRenderIcon } from "@/components/ReIcon/src/hooks";
-import { ElMessage, ElMessageBox } from "element-plus";
-import Upload from "@iconify-icons/ri/upload-2-fill"
-import Close from "@iconify-icons/ri/close-fill"
-import { http } from "@/utils/http";
-// 获取URLLIST
-import { getGroupUrl } from "@/utils/getUrl/getUrl";
-
-const props = defineProps<{
-  editVisible: {
-    type: Boolean;
-    default: false;
-  };
-  width: {
-    type: Number;
-    default: 50;
-  };
-  formData: {
-    type: Object;
-    default: {};
-  };
-}>();
-// 表单数据
-let UpdateForm: any = ref({
-  username: "", //用户名
-  password: "", //密码
-  salt: "", //盐值
-  phone: "", //电话号码
-  avatar: "", //头像
-  nickname: "", //昵称
-  name: "", //姓名
-  email: "", //邮箱地址
-  deptId: "", //所属部门ID
-
-});
-
-// 选项卡参数(默认值为列表某项的id)
-const activeId = ref('1')
-// 提交函数
-const submit = async () => {
-  const UrlList = await getGroupUrl(['KxsConfigServer']);
-  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.SysUserupdate.method, url: UrlList.KxsConfigServer.SysUserupdate.url, params: UpdateForm.value});
-  if (status === 1) {
-    ElMessage({
-      message: "修改成功",
-      type: "success"
-    });
-    UpdateForm.value = {
-      username: "", //用户名
-      password: "", //密码
-      salt: "", //盐值
-      phone: "", //电话号码
-      avatar: "", //头像
-      nickname: "", //昵称
-      name: "", //姓名
-      email: "", //邮箱地址
-      deptId: "", //所属部门ID
-
-    };
-    closeVisible();
-  } else {
-    ElMessageBox.alert(msg, "提示", {
-      confirmButtonText: "关闭",
-      type: "warning"
-    });
-  };
-};
-// 关闭弹窗回调函数
-const closeFn: any = inject('closeEditVisible');
-const openVisible = async () => {
-  //通过ID获取表格数据
-  const UrlList = await getGroupUrl(['KxsConfigServer']);
-  const { status, data }: any = await http.Request({method: UrlList.KxsConfigServer.SysUserquery.method, url: UrlList.KxsConfigServer.SysUserquery.url, params: props.formData});
-  if (status === 1) {
-    UpdateForm.value = data;
-  }
-};
-// 关闭弹窗回调函数
-const closeVisible = () => {
-  UpdateForm.value = {
-    groupName: "", //名称
-    groupRemark: "", //说明
-    groupVersion: "", //版本号
-
-  };
-  closeFn();
-};
-</script>
-
-<template lang="pug">
-.main
-  el-dialog(v-model='props.editVisible' width="50%" title="修改" @close="closeVisible()" @open="openVisible")
-    el-form(:model='UpdateForm' label-position="right" label-width="100px")
-      el-form-item(label='用户名' prop="username")
-        el-input(v-model='UpdateForm.username' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入用户名")
-      el-form-item(label='密码' prop="password")
-        el-input(v-model='UpdateForm.password' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入密码")
-      el-form-item(label='盐值' prop="salt")
-        el-input(v-model='UpdateForm.salt' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入盐值")
-      el-form-item(label='电话号码' prop="phone")
-        el-input(v-model='UpdateForm.phone' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入电话号码")
-      el-form-item(label='头像' prop="avatar")
-        el-input(v-model='UpdateForm.avatar' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入头像")
-      el-form-item(label='昵称' prop="nickname")
-        el-input(v-model='UpdateForm.nickname' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入昵称")
-      el-form-item(label='姓名' prop="name")
-        el-input(v-model='UpdateForm.name' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入姓名")
-      el-form-item(label='邮箱地址' prop="email")
-        el-input(v-model='UpdateForm.email' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入邮箱地址")
-      el-form-item(label='所属部门ID' prop="deptId")
-        el-input(v-model='UpdateForm.deptId' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入所属部门ID")
-
-    el-button(
-      :icon="useRenderIcon(Close)",
-      :loading="loading",
-      @click="closeVisible()"
-    ) 关闭
-    el-button(
-      type="primary",
-      :icon="useRenderIcon(Upload)",
-      :loading="loading",
-      @click="submit"
-    ) 确认提交
-</template>
-
-<style scoped lang="scss">
-:deep(.el-dropdown-menu__item i) {
-  margin: 0;
-}
-
-:deep(.el-form-item__label) {
-  font-weight: 700;
-}
-
-:deep(.el-pagination) {
-  flex-flow: wrap;
-}
-
-:deep(.is-draggable) {
-  max-height: 80vh;
-  overflow: auto;
-}
-
-:deep(.el-dialog__header) {
-  position: sticky;
-  top: 0;
-  z-index: 2;
-  background: #fff;
-}
-
-.collapsedom {
-  padding: 0 20px;
-  background-color: #fff;
-}
-
-.ovh-x {
-  height: 40vh;
-  overflow-y: auto;
-}
-
-:deep(.el-descriptions__header) {
-  margin: 16px 0 !important;
-}
-</style>

+ 0 - 178
src/views/Template/SysUser/hook.tsx

@@ -1,178 +0,0 @@
-import { getRoleList } from "@/api/system";
-import { type PaginationProps } from "@pureadmin/table";
-import { ElMessage, ElMessageBox } from "element-plus";
-import { reactive, ref, computed, onMounted } from "vue";
-// 获取URLLIST
-import { getGroupUrl } from "@/utils/getUrl/getUrl"
-import { http } from "@/utils/http";
-// 获取当前板块接口列表
-const UrlList = await getGroupUrl(['KxsConfigServer']);
-
-export function useSysUser() {
-  let form = reactive({
-      username:"", //用户名
-  phone:"", //电话号码
-  nickname:"", //昵称
-  name:"", //姓名
-
-  });
-  const dataList = ref([]);
-  const loading = ref(false);
-  const dialogAddVisible = ref(false);
-  const pagination = reactive<PaginationProps>({
-    total: 0,
-    pageSize: 10,
-    currentPage: 1,
-    background: true
-  });
-  const columns: TableColumnList = [
-    {
-      type: "selection",
-      width: 55,
-      align: "left",
-      hide: ({ checkList }) => !checkList.includes("勾选列")
-    },
-    {
-      label: "序号",
-      type: "index",
-      width: 70,
-      hide: ({ checkList }) => !checkList.includes("序号列")
-    },
-    {
-      label: "用户名",
-      prop: "username",
-      minWidth: 200
-    },
-    {
-      label: "电话号码",
-      prop: "phone",
-      minWidth: 200
-    },
-    {
-      label: "昵称",
-      prop: "nickname",
-      minWidth: 200
-    },
-    {
-      label: "姓名",
-      prop: "name",
-      minWidth: 200
-    },
-
-    {
-      label: "操作",
-      fixed: "right",
-      width: 200,
-      slot: "operation"
-    }
-  ];
-  // 当前页数量切换
-  function handleSizeChange(val: number) {
-    console.log(`${val} items per page`);
-    onSearch()
-  }
-  // 当前页码切换
-  function handleCurrentChange(val: number) {
-    console.log(`current page: ${val}`);
-    onSearch()
-  }
-  // 选择表格项
-  function handleSelectionChange(val) {
-    console.log("handleSelectionChange", val);
-    onSearch()
-  }
-  // 搜索列表
-  async function onSearch(type = 'search') {
-    if (type === 'all') {
-         form.username = "";
-   form.phone = "";
-   form.nickname = "";
-   form.name = "";
-
-    }
-    // if (type == 'search' && !Object.values(form).some(item => !!item)) {
-    //   return ElMessage({
-    //     message: "请输入查询条件",
-    //     type: "error"
-    //   });
-    // };
-    loading.value = true;
-    const { status, msg, data }: any = await http.Request({ method: UrlList.KxsConfigServer.SysUserlist.method, url: UrlList.KxsConfigServer.SysUserlist.url, params: { ...form, PageSize: pagination.pageSize, PageNum: pagination.currentPage }});
-    if (status === 1) {
-      dataList.value = data.result;
-      pagination.total = data.totalNum;
-      setTimeout(() => {
-        loading.value = false;
-      }, 500);
-    } else {
-      ElMessageBox.alert(msg, "提示", {
-        confirmButtonText: "关闭",
-        type: "warning"
-      });
-    }
-  }
-  onMounted(() => {
-    onSearch();
-  });
-
-  // 删除
-  function handleDelete(row) {
-    ElMessageBox.confirm(
-      `是否删除该用户表? `,
-      "提示",
-      {
-        confirmButtonText: "删除",
-        cancelButtonText: "取消",
-        type: "warning"
-      }
-    ).then(async () => {
-      const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.SysUserdelete.method, url: UrlList.KxsConfigServer.SysUserdelete.url, params: row.id });
-      if (status === 1) {
-        ElMessage({
-          message: "删除成功",
-          type: "success"
-        });
-        onSearch();
-      } else {
-        ElMessageBox.alert(msg, "提示", {
-        confirmButtonText: "关闭",
-        type: "warning"
-      });
-      };
-    })
-  }
-
-  // 新增
-  const addVisible = ref(false);
-  function handleAdd() {
-    addVisible.value = true;
-  };
-
-  // 修改
-  const editVisible = ref(false);
-  const editFormData = ref({});
-  function handleUpdate(row) {
-    editVisible.value = true;
-    // 表格数据赋值
-    editFormData.value = row;
-  };
-
-  return {
-    form,
-    loading,
-    columns,
-    dataList,
-    pagination,
-    onSearch,
-    handleSizeChange,
-    handleCurrentChange,
-    handleSelectionChange,
-    handleAdd,
-    addVisible,
-    handleUpdate,
-    editVisible,
-    editFormData,
-    handleDelete,
-
-  };
-}

+ 0 - 175
src/views/Template/SysUser/index.vue

@@ -1,175 +0,0 @@
-<script lang="ts">
-// 声明额外的选项
-export default {
-  name: "SysUser"
-};
-</script>
-<script setup lang="ts">
-import { provide, ref } from "vue";
-import { useSysUser } from "./hook";
-import { hasAuth } from "@/router/utils";
-import { PureTableBar } from "@/components/RePureTableBar";
-import { useRenderIcon } from "@/components/ReIcon/src/hooks";
-import Add from "./components/add/index.vue";
-import Edit from "./components/edit/index.vue";
-import Search from "@iconify-icons/ep/search";
-import All from "@iconify-icons/ep/refresh-left";
-import Addicon from "@iconify-icons/ep/document-add";
-
-const formRef = ref();
-const {
-  form,
-  loading,
-  columns,
-  dataList,
-  pagination,
-  onSearch,
-  handleSizeChange,
-  handleCurrentChange,
-  handleSelectionChange,
-  handleAdd,
-  addVisible,
-  handleUpdate,
-  editVisible,
-  editFormData,
-  handleDelete,
-
-} = useSysUser();
-
-// 关闭添加
-const closeAddVisible = () => {
-  addVisible.value = false
-}
-provide('closeAddVisible', closeAddVisible)
-// 关闭修改
-const closeEditVisible = () => {
-  editVisible.value = false
-}
-provide('closeEditVisible', closeEditVisible)
-
-
-
-</script>
-
-<template lang="pug">
-.main
-  div
-    el-form.bg-bg_color.pl-8.pt-4.pr-8(
-      label-position="left"
-      label-width="100px"
-      ref="formRef",
-      :inline="true",
-      :model="form",
-      :rules="rules",
-      class="w-[99/100]"
-    )
-      el-form-item(label='用户名' prop="username")
-        el-input(v-model='form.username' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入用户名")
-      el-form-item(label='电话号码' prop="phone")
-        el-input(v-model='form.phone' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入电话号码")
-      el-form-item(label='昵称' prop="nickname")
-        el-input(v-model='form.nickname' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入昵称")
-      el-form-item(label='姓名' prop="name")
-        el-input(v-model='form.name' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入姓名")
-
-      el-form-item
-        el-button(
-          type="primary",
-          :icon="useRenderIcon(Search)",
-          :loading="loading",
-          @click="onSearch()"
-        ) 查询
-      el-form-item
-        el-button(
-          type="primary",
-          :icon="useRenderIcon(All)",
-          :loading="loading",
-          @click="onSearch('all')"
-        ) 全部
-    //- 表格组件
-    PureTableBar(title="用户表", @refresh="onSearch" )
-      template(#buttons)
-        el-button(type="primary" :icon="useRenderIcon(Addicon)" @click="handleAdd()") 新增
-
-      template(v-slot="{ size, checkList }")
-        pure-table(stripe 
-          border,
-          align-whole="center",
-          table-layout="auto",
-          :loading="loading",
-          :size="size",
-          :data="dataList",
-          :columns="columns",
-          :checkList="checkList",
-          :pagination="pagination",
-          :paginationSmall="size === 'default' ? true : false",
-          :header-cell-style="{ background: 'var(--el-table-row-hover-bg-color)', color: 'var(--el-text-color-primary)' }",
-          @selection-change="handleSelectionChange",
-          @size-change="handleSizeChange",
-          @current-change="handleCurrentChange"
-        )          
-          template(#operation="{ row }")
-            .flex.flex-wrap.items-center
-              el-dropdown(trigger="click", :hide-on-click="false")
-                el-button(type="primary") 操作
-                  el-icon.el-icon--right
-                    arrow-down
-                template(#dropdown)
-                  el-dropdown-menu
-                    el-dropdown-item
-                      el-button.reset-margin(
-                        link
-                        type="primary"
-                        :size="size"
-                        @click="handleUpdate(row)"
-                        :icon="useRenderIcon(EditPen)"
-                        v-if="hasAuth(['edit'])"
-                      ) 编辑
-                    el-button.reset-margin(
-                      link
-                      type="primary"
-                      :size="size"
-                      @click="handleDelete(row)"
-                      :icon="useRenderIcon(Delete)"
-                      v-if="hasAuth(['delete'])"
-                    ) 删除
-
-    Add(:addVisible="addVisible")
-    Edit(:editVisible="editVisible" :formData="editFormData")
-
-                    
-</template>
-
-<style scoped lang="scss">
-:deep(.el-dropdown-menu__item i) {
-  margin: 0;
-}
-
-:deep(.el-form-item__label) {
-  font-weight: 700;
-}
-
-:deep(.el-pagination) {
-  flex-flow: wrap;
-}
-
-:deep(.is-draggable) {
-  max-height: 80vh;
-  overflow: auto;
-}
-
-:deep(.el-dialog__header) {
-  position: sticky;
-  top: 0;
-  z-index: 2;
-  background: #fff;
-}
-
-:deep(.el-descriptions__header) {
-  margin: 16px 0 !important;
-}
-</style>

+ 0 - 0
src/views/Template/ApiGroup/components/add/index.vue → src/views/menuitem/ApiGroup/components/add/index.vue


+ 0 - 0
src/views/Template/ApiGroup/components/edit/index.vue → src/views/menuitem/ApiGroup/components/update/index.vue


+ 6 - 6
src/views/Template/ApiGroup/hook.tsx → src/views/menuitem/ApiGroup/hook.tsx

@@ -128,12 +128,12 @@ export function useApiGroup() {
   };
 
   // 修改
-  const editVisible = ref(false);
-  const editFormData = ref({});
+  const editUpdateVisible = ref(false);
+  const editUpdateFormData = ref({});
   function handleUpdate(row) {
-    editVisible.value = true;
+    editUpdateVisible.value = true;
     // 表格数据赋值
-    editFormData.value = row;
+    editUpdateFormData.value = row;
   };
 
   return {
@@ -149,8 +149,8 @@ export function useApiGroup() {
     handleAdd,
     addVisible,
     handleUpdate,
-    editVisible,
-    editFormData,
+    editUpdateVisible,
+    editUpdateFormData,
     handleDelete,
 
   };

+ 6 - 6
src/views/Template/ApiGroup/index.vue → src/views/menuitem/ApiGroup/index.vue

@@ -30,8 +30,8 @@ const {
   handleAdd,
   addVisible,
   handleUpdate,
-  editVisible,
-  editFormData,
+  editUpdateVisible,
+  editUpdateFormData,
   handleDelete,
 
 } = useApiGroup();
@@ -42,10 +42,10 @@ const closeAddVisible = () => {
 }
 provide('closeAddVisible', closeAddVisible)
 // 关闭修改
-const closeEditVisible = () => {
-  editVisible.value = false
+const closeEditUpdateVisible = () => {
+  editUpdateVisible.value = false
 }
-provide('closeEditVisible', closeEditVisible)
+provide('closeEditUpdateVisible', closeEditUpdateVisible)
 
 
 
@@ -130,7 +130,7 @@ provide('closeEditVisible', closeEditVisible)
                     ) 删除
 
     Add(:addVisible="addVisible")
-    Edit(:editVisible="editVisible" :formData="editFormData")
+    EditUpdate(:editVisible="editUpdateVisible" :formData="editUpdateFormData")
 
                     
 </template>

+ 0 - 0
src/views/Template/ApiInfo/components/add/index.vue → src/views/menuitem/ApiInfo/components/add/index.vue


+ 0 - 0
src/views/Template/ApiInfo/components/edit/index.vue → src/views/menuitem/ApiInfo/components/update/index.vue


+ 18 - 8
src/views/Template/ApiInfo/hook.tsx → src/views/menuitem/ApiInfo/hook.tsx

@@ -37,8 +37,18 @@ export function useApiInfo() {
       hide: ({ checkList }) => !checkList.includes("序号列")
     },
     {
-      label: "分组",
-      prop: "groupId",
+      label: "分组api接口分组",
+      prop: "apiGroupInfo.groupName",
+      minWidth: 200
+    },
+    {
+      label: "分组api接口分组",
+      prop: "apiGroupInfo.groupRemark",
+      minWidth: 200
+    },
+    {
+      label: "分组api接口分组",
+      prop: "apiGroupInfo.groupVersion",
       minWidth: 200
     },
     {
@@ -135,12 +145,12 @@ export function useApiInfo() {
   };
 
   // 修改
-  const editVisible = ref(false);
-  const editFormData = ref({});
+  const editUpdateVisible = ref(false);
+  const editUpdateFormData = ref({});
   function handleUpdate(row) {
-    editVisible.value = true;
+    editUpdateVisible.value = true;
     // 表格数据赋值
-    editFormData.value = row;
+    editUpdateFormData.value = row;
   };
 
   return {
@@ -156,8 +166,8 @@ export function useApiInfo() {
     handleAdd,
     addVisible,
     handleUpdate,
-    editVisible,
-    editFormData,
+    editUpdateVisible,
+    editUpdateFormData,
     handleDelete,
 
   };

+ 6 - 6
src/views/Template/ApiInfo/index.vue → src/views/menuitem/ApiInfo/index.vue

@@ -30,8 +30,8 @@ const {
   handleAdd,
   addVisible,
   handleUpdate,
-  editVisible,
-  editFormData,
+  editUpdateVisible,
+  editUpdateFormData,
   handleDelete,
 
 } = useApiInfo();
@@ -42,10 +42,10 @@ const closeAddVisible = () => {
 }
 provide('closeAddVisible', closeAddVisible)
 // 关闭修改
-const closeEditVisible = () => {
-  editVisible.value = false
+const closeEditUpdateVisible = () => {
+  editUpdateVisible.value = false
 }
-provide('closeEditVisible', closeEditVisible)
+provide('closeEditUpdateVisible', closeEditUpdateVisible)
 
 
 // 分组选项数据
@@ -140,7 +140,7 @@ const groupIdOptionList = []
                     ) 删除
 
     Add(:addVisible="addVisible")
-    Edit(:editVisible="editVisible" :formData="editFormData")
+    EditUpdate(:editVisible="editUpdateVisible" :formData="editUpdateFormData")
 
                     
 </template>

+ 218 - 0
src/views/menuitem/AppBottomNavs/components/add/index.vue

@@ -0,0 +1,218 @@
+<script lang="ts">
+// 声明额外的选项
+export default {
+  name: "Add"
+};
+</script>
+<script setup lang="ts">
+import { inject, ref } from "vue";
+import { useRenderIcon } from "@/components/ReIcon/src/hooks";
+import { ElMessage, ElMessageBox } from "element-plus";
+import { http } from "@/utils/http";
+// 获取当前板块接口列表
+import Upload from "@iconify-icons/ri/upload-2-fill";
+import Close from "@iconify-icons/ri/close-fill";
+// 获取URLLIST
+import { getGroupUrl } from "@/utils/getUrl/getUrl";
+
+const props = defineProps<{
+  submit: {
+    type: Function;
+    default: () => {};
+  };
+  addVisible: {
+    type: Boolean;
+    default: false;
+  };
+  width: {
+    type: Number;
+    default: 50;
+  };
+}>();
+// 表单数据
+let UpdateForm = ref({
+  title: "", //标题
+  selectIcon: "", //选中图标
+  normalIcon: "", //未选中图标
+  selectTextColor: "", //选中文字颜色
+  normalTextColor: "", //未选中文字颜色
+  pageName: "", //关联页面文件
+  noPageHint: "", //空页面提示信息
+  backgroudColor: "", //背景色
+  style: "", //按钮样式
+  scrollerAnimationImages: "", //滚动图片
+  pagPath: "", //PAG文件
+  showTitle: "", //是否显示标题
+  pagLocalPath: "", //pag文件路径
+  pagDefaultIcon: "", //pag默认图标
+  iconSize: "", //图标尺寸
+  statusBarColor: "", //状态栏底色
+
+});
+// 按钮样式选项数据
+const styleOptionList = [
+  { Id: 'default', label: '默认' },
+  { Id: 'pag', label: 'PAG' },
+  { Id: 'scrollerAnimatio', label: '滚动变化' },
+  { Id: 'irregularity', label: '不规则图形外凸' },
+  { Id: 'concavity', label: '不规则内凹' },
+]
+
+// 选项卡参数(默认值为列表某项的id)
+const activeId = ref('1')
+// 提交函数
+const submit = async () => {
+  const UrlList = await getGroupUrl(['KxsConfigServer']);
+  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.AppBottomNavsadd.method, url: UrlList.KxsConfigServer.AppBottomNavsadd.url, params: UpdateForm.value});
+  if (status === 1) {
+    ElMessage({
+      message: "新增成功",
+      type: "success"
+    });
+    UpdateForm.value = {
+      title: "", //标题
+      selectIcon: "", //选中图标
+      normalIcon: "", //未选中图标
+      selectTextColor: "", //选中文字颜色
+      normalTextColor: "", //未选中文字颜色
+      pageName: "", //关联页面文件
+      noPageHint: "", //空页面提示信息
+      backgroudColor: "", //背景色
+      style: "", //按钮样式
+      scrollerAnimationImages: "", //滚动图片
+      pagPath: "", //PAG文件
+      showTitle: "", //是否显示标题
+      pagLocalPath: "", //pag文件路径
+      pagDefaultIcon: "", //pag默认图标
+      iconSize: "", //图标尺寸
+      statusBarColor: "", //状态栏底色
+
+    };
+    closeVisible();
+  } else {
+    ElMessageBox.alert(msg, "提示", {
+      confirmButtonText: "关闭",
+      type: "warning"
+    });
+  };
+};
+const closeFn: any = inject('closeAddVisible');
+// 关闭弹窗回调函数
+const closeVisible = () => {
+  UpdateForm.value = {
+    title: "", //标题
+    selectIcon: "", //选中图标
+    normalIcon: "", //未选中图标
+    selectTextColor: "", //选中文字颜色
+    normalTextColor: "", //未选中文字颜色
+    pageName: "", //关联页面文件
+    noPageHint: "", //空页面提示信息
+    backgroudColor: "", //背景色
+    style: "", //按钮样式
+    scrollerAnimationImages: "", //滚动图片
+    pagPath: "", //PAG文件
+    showTitle: "", //是否显示标题
+    pagLocalPath: "", //pag文件路径
+    pagDefaultIcon: "", //pag默认图标
+    iconSize: "", //图标尺寸
+    statusBarColor: "", //状态栏底色
+
+  };
+  closeFn();
+};
+</script>
+
+<template lang="pug">
+.main
+  el-dialog(v-model='props.addVisible' width="50%" title="新增" @close="closeVisible()")
+    el-tabs(v-model="activeId" class="demo-tabs" @tab-click="handleClick")
+      el-tab-pane(label="基本资料" name="1")
+        el-form(:model='UpdateForm' label-position="right" label-width="100px")
+          el-form-item(label='标题' prop="title")
+            el-input(v-model='UpdateForm.title' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入标题")
+          el-form-item(label='选中文字颜色' prop="selectTextColor")
+            el-input(v-model='UpdateForm.selectTextColor' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入选中文字颜色")
+          el-form-item(label='未选中文字颜色' prop="normalTextColor")
+            el-input(v-model='UpdateForm.normalTextColor' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入未选中文字颜色")
+          el-form-item(label='关联页面文件' prop="pageName")
+            el-input(v-model='UpdateForm.pageName' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入关联页面文件")
+          el-form-item(label='空页面提示信息' prop="noPageHint")
+            el-input(v-model='UpdateForm.noPageHint' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入空页面提示信息")
+          el-form-item(label='背景色' prop="backgroudColor")
+            el-input(v-model='UpdateForm.backgroudColor' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入背景色")
+          el-form-item(label="按钮样式", prop="style")
+            el-select(
+              v-model="UpdateForm.style",
+              placeholder="请选择按钮样式",
+              clearable,
+              class="!w-[230px]"
+            )
+              el-option(:label="item.label", :value="item.Id" v-for="(item,index) in styleOptionList")
+      el-tab-pane(label="基本信息" name="2")
+        el-form(:model='UpdateForm' label-position="right" label-width="100px")
+          el-form-item(label='图标尺寸' prop="iconSize")
+            el-input-number(v-model='UpdateForm.iconSize' :min="1" :max="1000"
+              placeholder="请输入图标尺寸")
+          el-form-item(label='状态栏底色' prop="statusBarColor")
+            el-input(v-model='UpdateForm.statusBarColor' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入状态栏底色")
+    el-tabs(v-model="activeId" class="demo-tabs" @tab-click="handleClick")
+
+    el-button(
+      :icon="useRenderIcon(Close)",
+      :loading="loading",
+      @click="closeVisible()"
+    ) 关闭
+    el-button(
+      type="primary",
+      :icon="useRenderIcon(Upload)",
+      :loading="loading",
+      @click="submit"
+    ) 确认提交
+</template>
+
+<style scoped lang="scss">
+:deep(.el-dropdown-menu__item i) {
+  margin: 0;
+}
+
+:deep(.el-form-item__label) {
+  font-weight: 700;
+}
+
+:deep(.el-pagination) {
+  flex-flow: wrap;
+}
+
+:deep(.is-draggable) {
+  max-height: 80vh;
+  overflow: auto;
+}
+
+:deep(.el-dialog__header) {
+  position: sticky;
+  top: 0;
+  z-index: 2;
+  background: #fff;
+}
+
+.collapsedom {
+  padding: 0 20px;
+  background-color: #fff;
+}
+
+.ovh-x {
+  height: 40vh;
+  overflow-y: auto;
+}
+
+:deep(.el-descriptions__header) {
+  margin: 16px 0 !important;
+}
+</style>

+ 218 - 0
src/views/menuitem/AppBottomNavs/components/update/index.vue

@@ -0,0 +1,218 @@
+<script lang="ts">
+// 声明额外的选项
+export default {
+  name: "Edit"
+};
+</script>
+<script setup lang="ts">
+import { inject, ref } from "vue";
+import { useRenderIcon } from "@/components/ReIcon/src/hooks";
+import { ElMessage, ElMessageBox } from "element-plus";
+import Upload from "@iconify-icons/ri/upload-2-fill"
+import Close from "@iconify-icons/ri/close-fill"
+import { http } from "@/utils/http";
+// 获取URLLIST
+import { getGroupUrl } from "@/utils/getUrl/getUrl";
+
+const props = defineProps<{
+  editVisible: {
+    type: Boolean;
+    default: false;
+  };
+  width: {
+    type: Number;
+    default: 50;
+  };
+  formData: {
+    type: Object;
+    default: {};
+  };
+}>();
+// 表单数据
+let UpdateForm: any = ref({
+  title: "", //标题
+  selectIcon: "", //选中图标
+  normalIcon: "", //未选中图标
+  selectTextColor: "", //选中文字颜色
+  normalTextColor: "", //未选中文字颜色
+  pageName: "", //关联页面文件
+  noPageHint: "", //空页面提示信息
+  backgroudColor: "", //背景色
+  style: "", //按钮样式
+  scrollerAnimationImages: "", //滚动图片
+  pagPath: "", //PAG文件
+  showTitle: "", //是否显示标题
+  pagLocalPath: "", //pag文件路径
+  pagDefaultIcon: "", //pag默认图标
+  iconSize: "", //图标尺寸
+  statusBarColor: "", //状态栏底色
+  id: "", //ID
+
+});
+// 按钮样式选项数据
+const styleOptionList = [
+  { Id: 'default', label: '默认' },
+  { Id: 'pag', label: 'PAG' },
+  { Id: 'scrollerAnimatio', label: '滚动变化' },
+  { Id: 'irregularity', label: '不规则图形外凸' },
+  { Id: 'concavity', label: '不规则内凹' },
+]
+
+// 选项卡参数(默认值为列表某项的id)
+const activeId = ref('1')
+// 提交函数
+const submit = async () => {
+  const UrlList = await getGroupUrl(['KxsConfigServer']);
+  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.AppBottomNavsupdate.method, url: UrlList.KxsConfigServer.AppBottomNavsupdate.url, params: UpdateForm.value});
+  if (status === 1) {
+    ElMessage({
+      message: "修改成功",
+      type: "success"
+    });
+    UpdateForm.value = {
+      title: "", //标题
+      selectIcon: "", //选中图标
+      normalIcon: "", //未选中图标
+      selectTextColor: "", //选中文字颜色
+      normalTextColor: "", //未选中文字颜色
+      pageName: "", //关联页面文件
+      noPageHint: "", //空页面提示信息
+      backgroudColor: "", //背景色
+      style: "", //按钮样式
+      scrollerAnimationImages: "", //滚动图片
+      pagPath: "", //PAG文件
+      showTitle: "", //是否显示标题
+      pagLocalPath: "", //pag文件路径
+      pagDefaultIcon: "", //pag默认图标
+      iconSize: "", //图标尺寸
+      statusBarColor: "", //状态栏底色
+      id: "", //ID
+
+    };
+    closeVisible();
+  } else {
+    ElMessageBox.alert(msg, "提示", {
+      confirmButtonText: "关闭",
+      type: "warning"
+    });
+  };
+};
+// 关闭弹窗回调函数
+const closeFn: any = inject('closeEditVisible');
+const openVisible = async () => {
+  //通过ID获取表格数据
+  const UrlList = await getGroupUrl(['KxsConfigServer']);
+  const { status, data }: any = await http.Request({method: UrlList.KxsConfigServer.AppBottomNavsquery.method, url: UrlList.KxsConfigServer.AppBottomNavsquery.url, params: props.formData});
+  if (status === 1) {
+    UpdateForm.value = data;
+  }
+};
+// 关闭弹窗回调函数
+const closeVisible = () => {
+  UpdateForm.value = {
+    groupName: "", //名称
+    groupRemark: "", //说明
+    groupVersion: "", //版本号
+
+  };
+  closeFn();
+};
+</script>
+
+<template lang="pug">
+.main
+  el-dialog(v-model='props.editVisible' width="50%" title="修改" @close="closeVisible()" @open="openVisible")
+    el-tabs(v-model="activeId" class="demo-tabs" @tab-click="handleClick")
+    el-tabs(v-model="activeId" class="demo-tabs" @tab-click="handleClick")
+      el-tab-pane(label="基本资料" name="1")
+        el-form(:model='UpdateForm' label-position="right" label-width="100px")
+          el-form-item(label='标题' prop="title")
+            el-input(v-model='UpdateForm.title' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入标题")
+          el-form-item(label='选中文字颜色' prop="selectTextColor")
+            el-input(v-model='UpdateForm.selectTextColor' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入选中文字颜色")
+          el-form-item(label='未选中文字颜色' prop="normalTextColor")
+            el-input(v-model='UpdateForm.normalTextColor' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入未选中文字颜色")
+          el-form-item(label='关联页面文件' prop="pageName")
+            el-input(v-model='UpdateForm.pageName' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入关联页面文件")
+          el-form-item(label='空页面提示信息' prop="noPageHint")
+            el-input(v-model='UpdateForm.noPageHint' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入空页面提示信息")
+          el-form-item(label='背景色' prop="backgroudColor")
+            el-input(v-model='UpdateForm.backgroudColor' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入背景色")
+          el-form-item(label="按钮样式", prop="style")
+            el-select(
+              v-model="UpdateForm.style",
+              placeholder="请选择按钮样式",
+              clearable,
+              class="!w-[230px]"
+            )
+              el-option(:label="item.label", :value="item.Id" v-for="(item,index) in styleOptionList")
+      el-tab-pane(label="基本信息" name="2")
+        el-form(:model='UpdateForm' label-position="right" label-width="100px")
+          el-form-item(label='图标尺寸' prop="iconSize")
+            el-input-number(v-model='UpdateForm.iconSize' :min="1" :max="1000"
+              placeholder="请输入图标尺寸")
+          el-form-item(label='状态栏底色' prop="statusBarColor")
+            el-input(v-model='UpdateForm.statusBarColor' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入状态栏底色")
+          el-form-item(label='ID' prop="id")
+            el-input-number(v-model='UpdateForm.id' :min="1" :max="1000"
+              placeholder="请输入ID")
+
+    el-button(
+      :icon="useRenderIcon(Close)",
+      :loading="loading",
+      @click="closeVisible()"
+    ) 关闭
+    el-button(
+      type="primary",
+      :icon="useRenderIcon(Upload)",
+      :loading="loading",
+      @click="submit"
+    ) 确认提交
+</template>
+
+<style scoped lang="scss">
+:deep(.el-dropdown-menu__item i) {
+  margin: 0;
+}
+
+:deep(.el-form-item__label) {
+  font-weight: 700;
+}
+
+:deep(.el-pagination) {
+  flex-flow: wrap;
+}
+
+:deep(.is-draggable) {
+  max-height: 80vh;
+  overflow: auto;
+}
+
+:deep(.el-dialog__header) {
+  position: sticky;
+  top: 0;
+  z-index: 2;
+  background: #fff;
+}
+
+.collapsedom {
+  padding: 0 20px;
+  background-color: #fff;
+}
+
+.ovh-x {
+  height: 40vh;
+  overflow-y: auto;
+}
+
+:deep(.el-descriptions__header) {
+  margin: 16px 0 !important;
+}
+</style>

+ 14 - 21
src/views/Template/SysMenu/hook.tsx → src/views/menuitem/AppBottomNavs/hook.tsx

@@ -8,10 +8,9 @@ import { http } from "@/utils/http";
 // 获取当前板块接口列表
 const UrlList = await getGroupUrl(['KxsConfigServer']);
 
-export function useSysMenu() {
+export function useAppBottomNavs() {
   let form = reactive({
-      name:"", //菜单名称
-  enName:"", //英文名称
+      style:"", //按钮样式
 
   });
   const dataList = ref([]);
@@ -37,13 +36,8 @@ export function useSysMenu() {
       hide: ({ checkList }) => !checkList.includes("序号列")
     },
     {
-      label: "菜单名称",
-      prop: "name",
-      minWidth: 200
-    },
-    {
-      label: "英文名称",
-      prop: "enName",
+      label: "按钮样式",
+      prop: "style",
       minWidth: 200
     },
 
@@ -72,8 +66,7 @@ export function useSysMenu() {
   // 搜索列表
   async function onSearch(type = 'search') {
     if (type === 'all') {
-         form.name = "";
-   form.enName = "";
+         form.style = "";
 
     }
     // if (type == 'search' && !Object.values(form).some(item => !!item)) {
@@ -83,7 +76,7 @@ export function useSysMenu() {
     //   });
     // };
     loading.value = true;
-    const { status, msg, data }: any = await http.Request({ method: UrlList.KxsConfigServer.SysMenulist.method, url: UrlList.KxsConfigServer.SysMenulist.url, params: { ...form, PageSize: pagination.pageSize, PageNum: pagination.currentPage }});
+    const { status, msg, data }: any = await http.Request({ method: UrlList.KxsConfigServer.AppBottomNavslist.method, url: UrlList.KxsConfigServer.AppBottomNavslist.url, params: { ...form, PageSize: pagination.pageSize, PageNum: pagination.currentPage }});
     if (status === 1) {
       dataList.value = data.result;
       pagination.total = data.totalNum;
@@ -104,7 +97,7 @@ export function useSysMenu() {
   // 删除
   function handleDelete(row) {
     ElMessageBox.confirm(
-      `是否删除该菜单权限表? `,
+      `是否删除该app底部导航? `,
       "提示",
       {
         confirmButtonText: "删除",
@@ -112,7 +105,7 @@ export function useSysMenu() {
         type: "warning"
       }
     ).then(async () => {
-      const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.SysMenudelete.method, url: UrlList.KxsConfigServer.SysMenudelete.url, params: row.id });
+      const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.AppBottomNavsdelete.method, url: UrlList.KxsConfigServer.AppBottomNavsdelete.url, params: row.id });
       if (status === 1) {
         ElMessage({
           message: "删除成功",
@@ -135,12 +128,12 @@ export function useSysMenu() {
   };
 
   // 修改
-  const editVisible = ref(false);
-  const editFormData = ref({});
+  const editUpdateVisible = ref(false);
+  const editUpdateFormData = ref({});
   function handleUpdate(row) {
-    editVisible.value = true;
+    editUpdateVisible.value = true;
     // 表格数据赋值
-    editFormData.value = row;
+    editUpdateFormData.value = row;
   };
 
   return {
@@ -156,8 +149,8 @@ export function useSysMenu() {
     handleAdd,
     addVisible,
     handleUpdate,
-    editVisible,
-    editFormData,
+    editUpdateVisible,
+    editUpdateFormData,
     handleDelete,
 
   };

+ 179 - 0
src/views/menuitem/AppBottomNavs/index.vue

@@ -0,0 +1,179 @@
+<script lang="ts">
+// 声明额外的选项
+export default {
+  name: "AppBottomNavs"
+};
+</script>
+<script setup lang="ts">
+import { provide, ref } from "vue";
+import { useAppBottomNavs } from "./hook";
+import { hasAuth } from "@/router/utils";
+import { PureTableBar } from "@/components/RePureTableBar";
+import { useRenderIcon } from "@/components/ReIcon/src/hooks";
+import Add from "./components/add/index.vue";
+import Edit from "./components/edit/index.vue";
+import Search from "@iconify-icons/ep/search";
+import All from "@iconify-icons/ep/refresh-left";
+import Addicon from "@iconify-icons/ep/document-add";
+
+const formRef = ref();
+const {
+  form,
+  loading,
+  columns,
+  dataList,
+  pagination,
+  onSearch,
+  handleSizeChange,
+  handleCurrentChange,
+  handleSelectionChange,
+  handleAdd,
+  addVisible,
+  handleUpdate,
+  editUpdateVisible,
+  editUpdateFormData,
+  handleDelete,
+
+} = useAppBottomNavs();
+
+// 关闭添加
+const closeAddVisible = () => {
+  addVisible.value = false
+}
+provide('closeAddVisible', closeAddVisible)
+// 关闭修改
+const closeEditUpdateVisible = () => {
+  editUpdateVisible.value = false
+}
+provide('closeEditUpdateVisible', closeEditUpdateVisible)
+
+
+// 按钮样式选项数据
+const styleOptionList = [
+  { Id: 'default', label: '默认' },
+  { Id: 'pag', label: 'PAG' },
+  { Id: 'scrollerAnimatio', label: '滚动变化' },
+  { Id: 'irregularity', label: '不规则图形外凸' },
+  { Id: 'concavity', label: '不规则内凹' },
+]
+
+</script>
+
+<template lang="pug">
+.main
+  div
+    el-form.bg-bg_color.pl-8.pt-4.pr-8(
+      label-position="left"
+      label-width="100px"
+      ref="formRef",
+      :inline="true",
+      :model="form",
+      :rules="rules",
+      class="w-[99/100]"
+    )
+      el-form-item(label="按钮样式", prop="style")
+        el-select(
+          v-model="form.style",
+          placeholder="请选择按钮样式",
+          clearable,
+          class="!w-[230px]"
+        )
+          el-option(:label="item.label", :value="item.Id" v-for="(item,index) in styleOptionList")
+
+      el-form-item
+        el-button(
+          type="primary",
+          :icon="useRenderIcon(Search)",
+          :loading="loading",
+          @click="onSearch()"
+        ) 查询
+      el-form-item
+        el-button(
+          type="primary",
+          :icon="useRenderIcon(All)",
+          :loading="loading",
+          @click="onSearch('all')"
+        ) 全部
+    //- 表格组件
+    PureTableBar(title="app底部导航", @refresh="onSearch" )
+      template(#buttons)
+        el-button(type="primary" :icon="useRenderIcon(Addicon)" @click="handleAdd()") 新增
+
+      template(v-slot="{ size, checkList }")
+        pure-table(stripe 
+          border,
+          align-whole="center",
+          table-layout="auto",
+          :loading="loading",
+          :size="size",
+          :data="dataList",
+          :columns="columns",
+          :checkList="checkList",
+          :pagination="pagination",
+          :paginationSmall="size === 'default' ? true : false",
+          :header-cell-style="{ background: 'var(--el-table-row-hover-bg-color)', color: 'var(--el-text-color-primary)' }",
+          @selection-change="handleSelectionChange",
+          @size-change="handleSizeChange",
+          @current-change="handleCurrentChange"
+        )          
+          template(#operation="{ row }")
+            .flex.flex-wrap.items-center
+              el-dropdown(trigger="click", :hide-on-click="false")
+                el-button(type="primary") 操作
+                  el-icon.el-icon--right
+                    arrow-down
+                template(#dropdown)
+                  el-dropdown-menu
+                    el-dropdown-item
+                      el-button.reset-margin(
+                        link
+                        type="primary"
+                        :size="size"
+                        @click="handleUpdate(row)"
+                        :icon="useRenderIcon(EditPen)"
+                        v-if="hasAuth(['edit'])"
+                      ) 编辑
+                    el-button.reset-margin(
+                      link
+                      type="primary"
+                      :size="size"
+                      @click="handleDelete(row)"
+                      :icon="useRenderIcon(Delete)"
+                      v-if="hasAuth(['delete'])"
+                    ) 删除
+
+    Add(:addVisible="addVisible")
+    EditUpdate(:editVisible="editUpdateVisible" :formData="editUpdateFormData")
+
+                    
+</template>
+
+<style scoped lang="scss">
+:deep(.el-dropdown-menu__item i) {
+  margin: 0;
+}
+
+:deep(.el-form-item__label) {
+  font-weight: 700;
+}
+
+:deep(.el-pagination) {
+  flex-flow: wrap;
+}
+
+:deep(.is-draggable) {
+  max-height: 80vh;
+  overflow: auto;
+}
+
+:deep(.el-dialog__header) {
+  position: sticky;
+  top: 0;
+  z-index: 2;
+  background: #fff;
+}
+
+:deep(.el-descriptions__header) {
+  margin: 16px 0 !important;
+}
+</style>

+ 51 - 55
src/views/Template/SysUser/components/add/index.vue → src/views/menuitem/AppVersion/components/add/index.vue

@@ -31,39 +31,40 @@ const props = defineProps<{
 }>();
 // 表单数据
 let UpdateForm = ref({
-  username: "", //用户名
-  password: "", //密码
-  salt: "", //盐值
-  phone: "", //电话号码
-  avatar: "", //头像
-  nickname: "", //昵称
-  name: "", //姓名
-  email: "", //邮箱地址
-  deptId: "", //所属部门ID
+  terminalKind: "", //终端类型
+  versionNum: "", //版本号
+  title: "", //标题
+  info: "", //更新信息
+  confirmText: "", //确定按钮文字
+  cancelText: "", //取消按钮文字
+  downloadUrl: "", //更新地址
 
 });
+// 终端类型选项数据
+const terminalKindOptionList = [
+  { Id: 'ios', label: 'ios' },
+  { Id: 'android', label: 'android' },
+]
 
 // 选项卡参数(默认值为列表某项的id)
 const activeId = ref('1')
 // 提交函数
 const submit = async () => {
   const UrlList = await getGroupUrl(['KxsConfigServer']);
-  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.SysUseradd.method, url: UrlList.KxsConfigServer.SysUseradd.url, params: UpdateForm.value});
+  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.AppVersionadd.method, url: UrlList.KxsConfigServer.AppVersionadd.url, params: UpdateForm.value});
   if (status === 1) {
     ElMessage({
       message: "新增成功",
       type: "success"
     });
     UpdateForm.value = {
-      username: "", //用户名
-      password: "", //密码
-      salt: "", //盐值
-      phone: "", //电话号码
-      avatar: "", //头像
-      nickname: "", //昵称
-      name: "", //姓名
-      email: "", //邮箱地址
-      deptId: "", //所属部门ID
+      terminalKind: "", //终端类型
+      versionNum: "", //版本号
+      title: "", //标题
+      info: "", //更新信息
+      confirmText: "", //确定按钮文字
+      cancelText: "", //取消按钮文字
+      downloadUrl: "", //更新地址
 
     };
     closeVisible();
@@ -78,15 +79,13 @@ const closeFn: any = inject('closeAddVisible');
 // 关闭弹窗回调函数
 const closeVisible = () => {
   UpdateForm.value = {
-    username: "", //用户名
-    password: "", //密码
-    salt: "", //盐值
-    phone: "", //电话号码
-    avatar: "", //头像
-    nickname: "", //昵称
-    name: "", //姓名
-    email: "", //邮箱地址
-    deptId: "", //所属部门ID
+    terminalKind: "", //终端类型
+    versionNum: "", //版本号
+    title: "", //标题
+    info: "", //更新信息
+    confirmText: "", //确定按钮文字
+    cancelText: "", //取消按钮文字
+    downloadUrl: "", //更新地址
 
   };
   closeFn();
@@ -97,33 +96,30 @@ const closeVisible = () => {
 .main
   el-dialog(v-model='props.addVisible' width="50%" title="新增" @close="closeVisible()")
     el-form(:model='UpdateForm' label-position="right" label-width="100px")
-      el-form-item(label='用户名' prop="username")
-        el-input(v-model='UpdateForm.username' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入用户名")
-      el-form-item(label='密码' prop="password")
-        el-input(v-model='UpdateForm.password' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入密码")
-      el-form-item(label='盐值' prop="salt")
-        el-input(v-model='UpdateForm.salt' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入盐值")
-      el-form-item(label='电话号码' prop="phone")
-        el-input(v-model='UpdateForm.phone' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入电话号码")
-      el-form-item(label='头像' prop="avatar")
-        el-input(v-model='UpdateForm.avatar' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入头像")
-      el-form-item(label='昵称' prop="nickname")
-        el-input(v-model='UpdateForm.nickname' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入昵称")
-      el-form-item(label='姓名' prop="name")
-        el-input(v-model='UpdateForm.name' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入姓名")
-      el-form-item(label='邮箱地址' prop="email")
-        el-input(v-model='UpdateForm.email' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入邮箱地址")
-      el-form-item(label='所属部门ID' prop="deptId")
-        el-input(v-model='UpdateForm.deptId' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入所属部门ID")
+      el-form-item(label="终端类型", prop="terminalKind")
+        el-select(
+          v-model="UpdateForm.terminalKind",
+          placeholder="请选择终端类型",
+          clearable,
+          class="!w-[230px]"
+        )
+          el-option(:label="item.label", :value="item.Id" v-for="(item,index) in terminalKindOptionList")
+      el-form-item(label='版本号' prop="versionNum")
+        el-input(v-model='UpdateForm.versionNum' autocomplete='off' class="!w-[230px]"
+          placeholder="请输入版本号")
+      el-form-item(label='标题' prop="title")
+        el-input(v-model='UpdateForm.title' autocomplete='off' class="!w-[230px]"
+          placeholder="请输入标题")
+      el-form-item(label='确定按钮文字' prop="confirmText")
+        el-input(v-model='UpdateForm.confirmText' autocomplete='off' class="!w-[230px]"
+          placeholder="请输入确定按钮文字")
+      el-form-item(label='取消按钮文字' prop="cancelText")
+        el-input(v-model='UpdateForm.cancelText' autocomplete='off' class="!w-[230px]"
+          placeholder="请输入取消按钮文字")
+      el-form-item(label='更新地址' prop="downloadUrl")
+        el-input(v-model='UpdateForm.downloadUrl' autocomplete='off' class="!w-[230px]"
+          placeholder="请输入更新地址")
+    el-tabs(v-model="activeId" class="demo-tabs" @tab-click="handleClick")
 
     el-button(
       :icon="useRenderIcon(Close)",

+ 187 - 0
src/views/menuitem/AppVersion/components/update/index.vue

@@ -0,0 +1,187 @@
+<script lang="ts">
+// 声明额外的选项
+export default {
+  name: "Edit"
+};
+</script>
+<script setup lang="ts">
+import { inject, ref } from "vue";
+import { useRenderIcon } from "@/components/ReIcon/src/hooks";
+import { ElMessage, ElMessageBox } from "element-plus";
+import Upload from "@iconify-icons/ri/upload-2-fill"
+import Close from "@iconify-icons/ri/close-fill"
+import { http } from "@/utils/http";
+// 获取URLLIST
+import { getGroupUrl } from "@/utils/getUrl/getUrl";
+
+const props = defineProps<{
+  editVisible: {
+    type: Boolean;
+    default: false;
+  };
+  width: {
+    type: Number;
+    default: 50;
+  };
+  formData: {
+    type: Object;
+    default: {};
+  };
+}>();
+// 表单数据
+let UpdateForm: any = ref({
+  terminalKind: "", //终端类型
+  versionNum: "", //版本号
+  title: "", //标题
+  info: "", //更新信息
+  confirmText: "", //确定按钮文字
+  cancelText: "", //取消按钮文字
+  downloadUrl: "", //更新地址
+  id: "", //ID
+
+});
+// 终端类型选项数据
+const terminalKindOptionList = [
+  { Id: 'ios', label: 'ios' },
+  { Id: 'android', label: 'android' },
+]
+
+// 选项卡参数(默认值为列表某项的id)
+const activeId = ref('1')
+// 提交函数
+const submit = async () => {
+  const UrlList = await getGroupUrl(['KxsConfigServer']);
+  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.AppVersionupdate.method, url: UrlList.KxsConfigServer.AppVersionupdate.url, params: UpdateForm.value});
+  if (status === 1) {
+    ElMessage({
+      message: "修改成功",
+      type: "success"
+    });
+    UpdateForm.value = {
+      terminalKind: "", //终端类型
+      versionNum: "", //版本号
+      title: "", //标题
+      info: "", //更新信息
+      confirmText: "", //确定按钮文字
+      cancelText: "", //取消按钮文字
+      downloadUrl: "", //更新地址
+      id: "", //ID
+
+    };
+    closeVisible();
+  } else {
+    ElMessageBox.alert(msg, "提示", {
+      confirmButtonText: "关闭",
+      type: "warning"
+    });
+  };
+};
+// 关闭弹窗回调函数
+const closeFn: any = inject('closeEditVisible');
+const openVisible = async () => {
+  //通过ID获取表格数据
+  const UrlList = await getGroupUrl(['KxsConfigServer']);
+  const { status, data }: any = await http.Request({method: UrlList.KxsConfigServer.AppVersionquery.method, url: UrlList.KxsConfigServer.AppVersionquery.url, params: props.formData});
+  if (status === 1) {
+    UpdateForm.value = data;
+  }
+};
+// 关闭弹窗回调函数
+const closeVisible = () => {
+  UpdateForm.value = {
+    groupName: "", //名称
+    groupRemark: "", //说明
+    groupVersion: "", //版本号
+
+  };
+  closeFn();
+};
+</script>
+
+<template lang="pug">
+.main
+  el-dialog(v-model='props.editVisible' width="50%" title="修改" @close="closeVisible()" @open="openVisible")
+    el-tabs(v-model="activeId" class="demo-tabs" @tab-click="handleClick")
+      el-tab-pane(label="基本资料" name="1")
+        el-form(:model='UpdateForm' label-position="right" label-width="100px")
+          el-form-item(label="终端类型", prop="terminalKind")
+            el-select(
+              v-model="UpdateForm.terminalKind",
+              placeholder="请选择终端类型",
+              clearable,
+              class="!w-[230px]"
+            )
+              el-option(:label="item.label", :value="item.Id" v-for="(item,index) in terminalKindOptionList")
+          el-form-item(label='版本号' prop="versionNum")
+            el-input(v-model='UpdateForm.versionNum' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入版本号")
+          el-form-item(label='标题' prop="title")
+            el-input(v-model='UpdateForm.title' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入标题")
+          el-form-item(label='确定按钮文字' prop="confirmText")
+            el-input(v-model='UpdateForm.confirmText' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入确定按钮文字")
+          el-form-item(label='取消按钮文字' prop="cancelText")
+            el-input(v-model='UpdateForm.cancelText' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入取消按钮文字")
+          el-form-item(label='更新地址' prop="downloadUrl")
+            el-input(v-model='UpdateForm.downloadUrl' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入更新地址")
+      el-tab-pane(label="基本信息" name="2")
+        el-form(:model='UpdateForm' label-position="right" label-width="100px")
+          el-form-item(label='ID' prop="id")
+            el-input-number(v-model='UpdateForm.id' :min="1" :max="1000"
+              placeholder="请输入ID")
+
+    el-button(
+      :icon="useRenderIcon(Close)",
+      :loading="loading",
+      @click="closeVisible()"
+    ) 关闭
+    el-button(
+      type="primary",
+      :icon="useRenderIcon(Upload)",
+      :loading="loading",
+      @click="submit"
+    ) 确认提交
+</template>
+
+<style scoped lang="scss">
+:deep(.el-dropdown-menu__item i) {
+  margin: 0;
+}
+
+:deep(.el-form-item__label) {
+  font-weight: 700;
+}
+
+:deep(.el-pagination) {
+  flex-flow: wrap;
+}
+
+:deep(.is-draggable) {
+  max-height: 80vh;
+  overflow: auto;
+}
+
+:deep(.el-dialog__header) {
+  position: sticky;
+  top: 0;
+  z-index: 2;
+  background: #fff;
+}
+
+.collapsedom {
+  padding: 0 20px;
+  background-color: #fff;
+}
+
+.ovh-x {
+  height: 40vh;
+  overflow-y: auto;
+}
+
+:deep(.el-descriptions__header) {
+  margin: 16px 0 !important;
+}
+</style>

+ 12 - 19
src/views/Template/SysRole/hook.tsx → src/views/menuitem/AppVersion/hook.tsx

@@ -8,10 +8,9 @@ import { http } from "@/utils/http";
 // 获取当前板块接口列表
 const UrlList = await getGroupUrl(['KxsConfigServer']);
 
-export function useSysRole() {
+export function useAppVersion() {
   let form = reactive({
-      roleName:"", //角色名称
-
+    
   });
   const dataList = ref([]);
   const loading = ref(false);
@@ -35,11 +34,6 @@ export function useSysRole() {
       width: 70,
       hide: ({ checkList }) => !checkList.includes("序号列")
     },
-    {
-      label: "角色名称",
-      prop: "roleName",
-      minWidth: 200
-    },
 
     {
       label: "操作",
@@ -66,8 +60,7 @@ export function useSysRole() {
   // 搜索列表
   async function onSearch(type = 'search') {
     if (type === 'all') {
-         form.roleName = "";
-
+      
     }
     // if (type == 'search' && !Object.values(form).some(item => !!item)) {
     //   return ElMessage({
@@ -76,7 +69,7 @@ export function useSysRole() {
     //   });
     // };
     loading.value = true;
-    const { status, msg, data }: any = await http.Request({ method: UrlList.KxsConfigServer.SysRolelist.method, url: UrlList.KxsConfigServer.SysRolelist.url, params: { ...form, PageSize: pagination.pageSize, PageNum: pagination.currentPage }});
+    const { status, msg, data }: any = await http.Request({ method: UrlList.KxsConfigServer.AppVersionlist.method, url: UrlList.KxsConfigServer.AppVersionlist.url, params: { ...form, PageSize: pagination.pageSize, PageNum: pagination.currentPage }});
     if (status === 1) {
       dataList.value = data.result;
       pagination.total = data.totalNum;
@@ -97,7 +90,7 @@ export function useSysRole() {
   // 删除
   function handleDelete(row) {
     ElMessageBox.confirm(
-      `是否删除该系统角色表? `,
+      `是否删除该app版本管理? `,
       "提示",
       {
         confirmButtonText: "删除",
@@ -105,7 +98,7 @@ export function useSysRole() {
         type: "warning"
       }
     ).then(async () => {
-      const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.SysRoledelete.method, url: UrlList.KxsConfigServer.SysRoledelete.url, params: row.id });
+      const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.AppVersiondelete.method, url: UrlList.KxsConfigServer.AppVersiondelete.url, params: row.id });
       if (status === 1) {
         ElMessage({
           message: "删除成功",
@@ -128,12 +121,12 @@ export function useSysRole() {
   };
 
   // 修改
-  const editVisible = ref(false);
-  const editFormData = ref({});
+  const editUpdateVisible = ref(false);
+  const editUpdateFormData = ref({});
   function handleUpdate(row) {
-    editVisible.value = true;
+    editUpdateVisible.value = true;
     // 表格数据赋值
-    editFormData.value = row;
+    editUpdateFormData.value = row;
   };
 
   return {
@@ -149,8 +142,8 @@ export function useSysRole() {
     handleAdd,
     addVisible,
     handleUpdate,
-    editVisible,
-    editFormData,
+    editUpdateVisible,
+    editUpdateFormData,
     handleDelete,
 
   };

+ 10 - 13
src/views/Template/SysLog/index.vue → src/views/menuitem/AppVersion/index.vue

@@ -1,12 +1,12 @@
 <script lang="ts">
 // 声明额外的选项
 export default {
-  name: "SysLog"
+  name: "AppVersion"
 };
 </script>
 <script setup lang="ts">
 import { provide, ref } from "vue";
-import { useSysLog } from "./hook";
+import { useAppVersion } from "./hook";
 import { hasAuth } from "@/router/utils";
 import { PureTableBar } from "@/components/RePureTableBar";
 import { useRenderIcon } from "@/components/ReIcon/src/hooks";
@@ -30,11 +30,11 @@ const {
   handleAdd,
   addVisible,
   handleUpdate,
-  editVisible,
-  editFormData,
+  editUpdateVisible,
+  editUpdateFormData,
   handleDelete,
 
-} = useSysLog();
+} = useAppVersion();
 
 // 关闭添加
 const closeAddVisible = () => {
@@ -42,10 +42,10 @@ const closeAddVisible = () => {
 }
 provide('closeAddVisible', closeAddVisible)
 // 关闭修改
-const closeEditVisible = () => {
-  editVisible.value = false
+const closeEditUpdateVisible = () => {
+  editUpdateVisible.value = false
 }
-provide('closeEditVisible', closeEditVisible)
+provide('closeEditUpdateVisible', closeEditUpdateVisible)
 
 
 
@@ -63,9 +63,6 @@ provide('closeEditVisible', closeEditVisible)
       :rules="rules",
       class="w-[99/100]"
     )
-      el-form-item(label='创建人' prop="createBy")
-        el-input(v-model='form.createBy' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入创建人")
 
       el-form-item
         el-button(
@@ -82,7 +79,7 @@ provide('closeEditVisible', closeEditVisible)
           @click="onSearch('all')"
         ) 全部
     //- 表格组件
-    PureTableBar(title="日志表", @refresh="onSearch" )
+    PureTableBar(title="app版本管理", @refresh="onSearch" )
       template(#buttons)
         el-button(type="primary" :icon="useRenderIcon(Addicon)" @click="handleAdd()") 新增
 
@@ -130,7 +127,7 @@ provide('closeEditVisible', closeEditVisible)
                     ) 删除
 
     Add(:addVisible="addVisible")
-    Edit(:editVisible="editVisible" :formData="editFormData")
+    EditUpdate(:editVisible="editUpdateVisible" :formData="editUpdateFormData")
 
                     
 </template>

+ 19 - 19
src/views/Template/SysRole/components/add/index.vue → src/views/menuitem/FileUpdateInfo/components/add/index.vue

@@ -31,9 +31,9 @@ const props = defineProps<{
 }>();
 // 表单数据
 let UpdateForm = ref({
-  roleName: "", //角色名称
-  roleCode: "", //角色编码
-  roleDesc: "", //角色描述
+  versionNum: "", //更新版本
+  path: "", //路径
+  fileName: "", //文件名
 
 });
 
@@ -42,16 +42,16 @@ const activeId = ref('1')
 // 提交函数
 const submit = async () => {
   const UrlList = await getGroupUrl(['KxsConfigServer']);
-  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.SysRoleadd.method, url: UrlList.KxsConfigServer.SysRoleadd.url, params: UpdateForm.value});
+  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.FileUpdateInfoadd.method, url: UrlList.KxsConfigServer.FileUpdateInfoadd.url, params: UpdateForm.value});
   if (status === 1) {
     ElMessage({
       message: "新增成功",
       type: "success"
     });
     UpdateForm.value = {
-      roleName: "", //角色名称
-      roleCode: "", //角色编码
-      roleDesc: "", //角色描述
+      versionNum: "", //更新版本
+      path: "", //路径
+      fileName: "", //文件名
 
     };
     closeVisible();
@@ -66,9 +66,9 @@ const closeFn: any = inject('closeAddVisible');
 // 关闭弹窗回调函数
 const closeVisible = () => {
   UpdateForm.value = {
-    roleName: "", //角色名称
-    roleCode: "", //角色编码
-    roleDesc: "", //角色描述
+    versionNum: "", //更新版本
+    path: "", //路径
+    fileName: "", //文件名
 
   };
   closeFn();
@@ -79,15 +79,15 @@ const closeVisible = () => {
 .main
   el-dialog(v-model='props.addVisible' width="50%" title="新增" @close="closeVisible()")
     el-form(:model='UpdateForm' label-position="right" label-width="100px")
-      el-form-item(label='角色名称' prop="roleName")
-        el-input(v-model='UpdateForm.roleName' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入角色名称")
-      el-form-item(label='角色编码' prop="roleCode")
-        el-input(v-model='UpdateForm.roleCode' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入角色编码")
-      el-form-item(label='角色描述' prop="roleDesc")
-        el-input(v-model='UpdateForm.roleDesc' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入角色描述")
+      el-form-item(label='更新版本' prop="versionNum")
+        el-input-number(v-model='UpdateForm.versionNum' :min="1" :max="1000"
+          placeholder="请输入更新版本")
+      el-form-item(label='路径' prop="path")
+        el-input(v-model='UpdateForm.path' autocomplete='off' class="!w-[230px]"
+          placeholder="请输入路径")
+      el-form-item(label='文件名' prop="fileName")
+        el-input(v-model='UpdateForm.fileName' autocomplete='off' class="!w-[230px]"
+          placeholder="请输入文件名")
 
     el-button(
       :icon="useRenderIcon(Close)",

+ 22 - 17
src/views/Template/SysRole/components/edit/index.vue → src/views/menuitem/FileUpdateInfo/components/update/index.vue

@@ -30,9 +30,10 @@ const props = defineProps<{
 }>();
 // 表单数据
 let UpdateForm: any = ref({
-  roleName: "", //角色名称
-  roleCode: "", //角色编码
-  roleDesc: "", //角色描述
+  versionNum: "", //更新版本
+  path: "", //路径
+  fileName: "", //文件名
+  id: "", //ID
 
 });
 
@@ -41,16 +42,17 @@ const activeId = ref('1')
 // 提交函数
 const submit = async () => {
   const UrlList = await getGroupUrl(['KxsConfigServer']);
-  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.SysRoleupdate.method, url: UrlList.KxsConfigServer.SysRoleupdate.url, params: UpdateForm.value});
+  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.FileUpdateInfoupdate.method, url: UrlList.KxsConfigServer.FileUpdateInfoupdate.url, params: UpdateForm.value});
   if (status === 1) {
     ElMessage({
       message: "修改成功",
       type: "success"
     });
     UpdateForm.value = {
-      roleName: "", //角色名称
-      roleCode: "", //角色编码
-      roleDesc: "", //角色描述
+      versionNum: "", //更新版本
+      path: "", //路径
+      fileName: "", //文件名
+      id: "", //ID
 
     };
     closeVisible();
@@ -66,7 +68,7 @@ const closeFn: any = inject('closeEditVisible');
 const openVisible = async () => {
   //通过ID获取表格数据
   const UrlList = await getGroupUrl(['KxsConfigServer']);
-  const { status, data }: any = await http.Request({method: UrlList.KxsConfigServer.SysRolequery.method, url: UrlList.KxsConfigServer.SysRolequery.url, params: props.formData});
+  const { status, data }: any = await http.Request({method: UrlList.KxsConfigServer.FileUpdateInfoquery.method, url: UrlList.KxsConfigServer.FileUpdateInfoquery.url, params: props.formData});
   if (status === 1) {
     UpdateForm.value = data;
   }
@@ -87,15 +89,18 @@ const closeVisible = () => {
 .main
   el-dialog(v-model='props.editVisible' width="50%" title="修改" @close="closeVisible()" @open="openVisible")
     el-form(:model='UpdateForm' label-position="right" label-width="100px")
-      el-form-item(label='角色名称' prop="roleName")
-        el-input(v-model='UpdateForm.roleName' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入角色名称")
-      el-form-item(label='角色编码' prop="roleCode")
-        el-input(v-model='UpdateForm.roleCode' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入角色编码")
-      el-form-item(label='角色描述' prop="roleDesc")
-        el-input(v-model='UpdateForm.roleDesc' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入角色描述")
+      el-form-item(label='更新版本' prop="versionNum")
+        el-input-number(v-model='UpdateForm.versionNum' :min="1" :max="1000"
+          placeholder="请输入更新版本")
+      el-form-item(label='路径' prop="path")
+        el-input(v-model='UpdateForm.path' autocomplete='off' class="!w-[230px]"
+          placeholder="请输入路径")
+      el-form-item(label='文件名' prop="fileName")
+        el-input(v-model='UpdateForm.fileName' autocomplete='off' class="!w-[230px]"
+          placeholder="请输入文件名")
+      el-form-item(label='ID' prop="id")
+        el-input-number(v-model='UpdateForm.id' :min="1" :max="1000"
+          placeholder="请输入ID")
 
     el-button(
       :icon="useRenderIcon(Close)",

+ 150 - 0
src/views/menuitem/FileUpdateInfo/hook.tsx

@@ -0,0 +1,150 @@
+import { getRoleList } from "@/api/system";
+import { type PaginationProps } from "@pureadmin/table";
+import { ElMessage, ElMessageBox } from "element-plus";
+import { reactive, ref, computed, onMounted } from "vue";
+// 获取URLLIST
+import { getGroupUrl } from "@/utils/getUrl/getUrl"
+import { http } from "@/utils/http";
+// 获取当前板块接口列表
+const UrlList = await getGroupUrl(['KxsConfigServer']);
+
+export function useFileUpdateInfo() {
+  let form = reactive({
+    
+  });
+  const dataList = ref([]);
+  const loading = ref(false);
+  const dialogAddVisible = ref(false);
+  const pagination = reactive<PaginationProps>({
+    total: 0,
+    pageSize: 10,
+    currentPage: 1,
+    background: true
+  });
+  const columns: TableColumnList = [
+    {
+      type: "selection",
+      width: 55,
+      align: "left",
+      hide: ({ checkList }) => !checkList.includes("勾选列")
+    },
+    {
+      label: "序号",
+      type: "index",
+      width: 70,
+      hide: ({ checkList }) => !checkList.includes("序号列")
+    },
+
+    {
+      label: "操作",
+      fixed: "right",
+      width: 200,
+      slot: "operation"
+    }
+  ];
+  // 当前页数量切换
+  function handleSizeChange(val: number) {
+    console.log(`${val} items per page`);
+    onSearch()
+  }
+  // 当前页码切换
+  function handleCurrentChange(val: number) {
+    console.log(`current page: ${val}`);
+    onSearch()
+  }
+  // 选择表格项
+  function handleSelectionChange(val) {
+    console.log("handleSelectionChange", val);
+    onSearch()
+  }
+  // 搜索列表
+  async function onSearch(type = 'search') {
+    if (type === 'all') {
+      
+    }
+    // if (type == 'search' && !Object.values(form).some(item => !!item)) {
+    //   return ElMessage({
+    //     message: "请输入查询条件",
+    //     type: "error"
+    //   });
+    // };
+    loading.value = true;
+    const { status, msg, data }: any = await http.Request({ method: UrlList.KxsConfigServer.FileUpdateInfolist.method, url: UrlList.KxsConfigServer.FileUpdateInfolist.url, params: { ...form, PageSize: pagination.pageSize, PageNum: pagination.currentPage }});
+    if (status === 1) {
+      dataList.value = data.result;
+      pagination.total = data.totalNum;
+      setTimeout(() => {
+        loading.value = false;
+      }, 500);
+    } else {
+      ElMessageBox.alert(msg, "提示", {
+        confirmButtonText: "关闭",
+        type: "warning"
+      });
+    }
+  }
+  onMounted(() => {
+    onSearch();
+  });
+
+  // 删除
+  function handleDelete(row) {
+    ElMessageBox.confirm(
+      `是否删除该资源文件更新信息? `,
+      "提示",
+      {
+        confirmButtonText: "删除",
+        cancelButtonText: "取消",
+        type: "warning"
+      }
+    ).then(async () => {
+      const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.FileUpdateInfodelete.method, url: UrlList.KxsConfigServer.FileUpdateInfodelete.url, params: row.id });
+      if (status === 1) {
+        ElMessage({
+          message: "删除成功",
+          type: "success"
+        });
+        onSearch();
+      } else {
+        ElMessageBox.alert(msg, "提示", {
+        confirmButtonText: "关闭",
+        type: "warning"
+      });
+      };
+    })
+  }
+
+  // 新增
+  const addVisible = ref(false);
+  function handleAdd() {
+    addVisible.value = true;
+  };
+
+  // 修改
+  const editUpdateVisible = ref(false);
+  const editUpdateFormData = ref({});
+  function handleUpdate(row) {
+    editUpdateVisible.value = true;
+    // 表格数据赋值
+    editUpdateFormData.value = row;
+  };
+
+  return {
+    form,
+    loading,
+    columns,
+    dataList,
+    pagination,
+    onSearch,
+    handleSizeChange,
+    handleCurrentChange,
+    handleSelectionChange,
+    handleAdd,
+    addVisible,
+    handleUpdate,
+    editUpdateVisible,
+    editUpdateFormData,
+    handleDelete,
+
+  };
+}

+ 10 - 13
src/views/Template/SysRole/index.vue → src/views/menuitem/FileUpdateInfo/index.vue

@@ -1,12 +1,12 @@
 <script lang="ts">
 // 声明额外的选项
 export default {
-  name: "SysRole"
+  name: "FileUpdateInfo"
 };
 </script>
 <script setup lang="ts">
 import { provide, ref } from "vue";
-import { useSysRole } from "./hook";
+import { useFileUpdateInfo } from "./hook";
 import { hasAuth } from "@/router/utils";
 import { PureTableBar } from "@/components/RePureTableBar";
 import { useRenderIcon } from "@/components/ReIcon/src/hooks";
@@ -30,11 +30,11 @@ const {
   handleAdd,
   addVisible,
   handleUpdate,
-  editVisible,
-  editFormData,
+  editUpdateVisible,
+  editUpdateFormData,
   handleDelete,
 
-} = useSysRole();
+} = useFileUpdateInfo();
 
 // 关闭添加
 const closeAddVisible = () => {
@@ -42,10 +42,10 @@ const closeAddVisible = () => {
 }
 provide('closeAddVisible', closeAddVisible)
 // 关闭修改
-const closeEditVisible = () => {
-  editVisible.value = false
+const closeEditUpdateVisible = () => {
+  editUpdateVisible.value = false
 }
-provide('closeEditVisible', closeEditVisible)
+provide('closeEditUpdateVisible', closeEditUpdateVisible)
 
 
 
@@ -63,9 +63,6 @@ provide('closeEditVisible', closeEditVisible)
       :rules="rules",
       class="w-[99/100]"
     )
-      el-form-item(label='角色名称' prop="roleName")
-        el-input(v-model='form.roleName' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入角色名称")
 
       el-form-item
         el-button(
@@ -82,7 +79,7 @@ provide('closeEditVisible', closeEditVisible)
           @click="onSearch('all')"
         ) 全部
     //- 表格组件
-    PureTableBar(title="系统角色表", @refresh="onSearch" )
+    PureTableBar(title="资源文件更新信息", @refresh="onSearch" )
       template(#buttons)
         el-button(type="primary" :icon="useRenderIcon(Addicon)" @click="handleAdd()") 新增
 
@@ -130,7 +127,7 @@ provide('closeEditVisible', closeEditVisible)
                     ) 删除
 
     Add(:addVisible="addVisible")
-    Edit(:editVisible="editVisible" :formData="editFormData")
+    EditUpdate(:editVisible="editUpdateVisible" :formData="editUpdateFormData")
 
                     
 </template>

+ 238 - 0
src/views/menuitem/PageUpdateInfo/components/add/index.vue

@@ -0,0 +1,238 @@
+<script lang="ts">
+// 声明额外的选项
+export default {
+  name: "Add"
+};
+</script>
+<script setup lang="ts">
+import { inject, ref } from "vue";
+import { useRenderIcon } from "@/components/ReIcon/src/hooks";
+import { ElMessage, ElMessageBox } from "element-plus";
+import { http } from "@/utils/http";
+// 获取当前板块接口列表
+import Upload from "@iconify-icons/ri/upload-2-fill";
+import Close from "@iconify-icons/ri/close-fill";
+// 获取URLLIST
+import { getGroupUrl } from "@/utils/getUrl/getUrl";
+
+const props = defineProps<{
+  submit: {
+    type: Function;
+    default: () => {};
+  };
+  addVisible: {
+    type: Boolean;
+    default: false;
+  };
+  width: {
+    type: Number;
+    default: 50;
+  };
+}>();
+// 表单数据
+let UpdateForm = ref({
+  moduleVersion: "", //模板更新版本
+  modulePath: "", //模板路径
+  backgroudColor: "", //背景色
+  textColor: "", //前景色
+  statusBarStyle: "", //苹果状态栏
+  showTitle: "", //是否显示头部
+  title: "", //顶部标题
+  showScrollBar: "", //是否显示滚动条
+  skidFlag: "", //是否侧滑返回
+  leftBtn1: "", //左侧按钮1
+  leftBtn2: "", //左侧按钮2
+  rightBtn1: "", //右侧按钮1
+  rightBtn2: "", //右侧按钮2
+  leftAction1: "", //左侧按钮1点击事件
+  leftAction2: "", //左侧按钮2点击事件
+  rightAction1: "", //右侧按钮1点击事件
+  rightAction2: "", //右侧按钮2点击事件
+  gotoPages: "", //下级页面
+  mustUpdate: "", //是否强制更新
+
+});
+
+// 选项卡参数(默认值为列表某项的id)
+const activeId = ref('1')
+// 提交函数
+const submit = async () => {
+  const UrlList = await getGroupUrl(['KxsConfigServer']);
+  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.PageUpdateInfoadd.method, url: UrlList.KxsConfigServer.PageUpdateInfoadd.url, params: UpdateForm.value});
+  if (status === 1) {
+    ElMessage({
+      message: "新增成功",
+      type: "success"
+    });
+    UpdateForm.value = {
+      moduleVersion: "", //模板更新版本
+      modulePath: "", //模板路径
+      backgroudColor: "", //背景色
+      textColor: "", //前景色
+      statusBarStyle: "", //苹果状态栏
+      showTitle: "", //是否显示头部
+      title: "", //顶部标题
+      showScrollBar: "", //是否显示滚动条
+      skidFlag: "", //是否侧滑返回
+      leftBtn1: "", //左侧按钮1
+      leftBtn2: "", //左侧按钮2
+      rightBtn1: "", //右侧按钮1
+      rightBtn2: "", //右侧按钮2
+      leftAction1: "", //左侧按钮1点击事件
+      leftAction2: "", //左侧按钮2点击事件
+      rightAction1: "", //右侧按钮1点击事件
+      rightAction2: "", //右侧按钮2点击事件
+      gotoPages: "", //下级页面
+      mustUpdate: "", //是否强制更新
+
+    };
+    closeVisible();
+  } else {
+    ElMessageBox.alert(msg, "提示", {
+      confirmButtonText: "关闭",
+      type: "warning"
+    });
+  };
+};
+const closeFn: any = inject('closeAddVisible');
+// 关闭弹窗回调函数
+const closeVisible = () => {
+  UpdateForm.value = {
+    moduleVersion: "", //模板更新版本
+    modulePath: "", //模板路径
+    backgroudColor: "", //背景色
+    textColor: "", //前景色
+    statusBarStyle: "", //苹果状态栏
+    showTitle: "", //是否显示头部
+    title: "", //顶部标题
+    showScrollBar: "", //是否显示滚动条
+    skidFlag: "", //是否侧滑返回
+    leftBtn1: "", //左侧按钮1
+    leftBtn2: "", //左侧按钮2
+    rightBtn1: "", //右侧按钮1
+    rightBtn2: "", //右侧按钮2
+    leftAction1: "", //左侧按钮1点击事件
+    leftAction2: "", //左侧按钮2点击事件
+    rightAction1: "", //右侧按钮1点击事件
+    rightAction2: "", //右侧按钮2点击事件
+    gotoPages: "", //下级页面
+    mustUpdate: "", //是否强制更新
+
+  };
+  closeFn();
+};
+</script>
+
+<template lang="pug">
+.main
+  el-dialog(v-model='props.addVisible' width="50%" title="新增" @close="closeVisible()")
+    el-tabs(v-model="activeId" class="demo-tabs" @tab-click="handleClick")
+      el-tab-pane(label="基本信息" name="1")
+        el-form(:model='UpdateForm' label-position="right" label-width="100px")
+          el-form-item(label='模板更新版本' prop="moduleVersion")
+            el-input-number(v-model='UpdateForm.moduleVersion' :min="1" :max="1000"
+              placeholder="请输入模板更新版本")
+          el-form-item(label='模板路径' prop="modulePath")
+            el-input(v-model='UpdateForm.modulePath' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入模板路径")
+          el-form-item(label='背景色' prop="backgroudColor")
+            el-input(v-model='UpdateForm.backgroudColor' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入背景色")
+          el-form-item(label='前景色' prop="textColor")
+            el-input(v-model='UpdateForm.textColor' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入前景色")
+          el-form-item(label="苹果状态栏", prop="statusBarStyle")
+            el-select(
+              v-model="UpdateForm.statusBarStyle",
+              placeholder="请选择苹果状态栏",
+              clearable,
+              class="!w-[230px]"
+            )
+              el-option(:label="item.label", :value="item.Id" v-for="(item,index) in statusBarStyleOptionList")
+          el-form-item(label='顶部标题' prop="title")
+            el-input(v-model='UpdateForm.title' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入顶部标题")
+          el-form-item(label='左侧按钮1' prop="leftBtn1")
+            el-input(v-model='UpdateForm.leftBtn1' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入左侧按钮1")
+          el-form-item(label='左侧按钮2' prop="leftBtn2")
+            el-input(v-model='UpdateForm.leftBtn2' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入左侧按钮2")
+          el-form-item(label='右侧按钮1' prop="rightBtn1")
+            el-input(v-model='UpdateForm.rightBtn1' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入右侧按钮1")
+          el-form-item(label='右侧按钮2' prop="rightBtn2")
+            el-input(v-model='UpdateForm.rightBtn2' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入右侧按钮2")
+          el-form-item(label='左侧按钮1点击事件' prop="leftAction1")
+            el-input(v-model='UpdateForm.leftAction1' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入左侧按钮1点击事件")
+          el-form-item(label='左侧按钮2点击事件' prop="leftAction2")
+            el-input(v-model='UpdateForm.leftAction2' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入左侧按钮2点击事件")
+          el-form-item(label='右侧按钮1点击事件' prop="rightAction1")
+            el-input(v-model='UpdateForm.rightAction1' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入右侧按钮1点击事件")
+          el-form-item(label='右侧按钮2点击事件' prop="rightAction2")
+            el-input(v-model='UpdateForm.rightAction2' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入右侧按钮2点击事件")
+      el-tab-pane(label="下级页面" name="2")
+        el-form(:model='UpdateForm' label-position="right" label-width="100px")
+          el-form-item(label="下级页面", prop="gotoPages")
+            el-transfer(v-model="UpdateForm.gotoPages" :data="gotoPagesOptionList")
+      el-tab-pane(label="基本资料" name="3")
+        el-form(:model='UpdateForm' label-position="right" label-width="100px")
+    el-tabs(v-model="activeId" class="demo-tabs" @tab-click="handleClick")
+
+    el-button(
+      :icon="useRenderIcon(Close)",
+      :loading="loading",
+      @click="closeVisible()"
+    ) 关闭
+    el-button(
+      type="primary",
+      :icon="useRenderIcon(Upload)",
+      :loading="loading",
+      @click="submit"
+    ) 确认提交
+</template>
+
+<style scoped lang="scss">
+:deep(.el-dropdown-menu__item i) {
+  margin: 0;
+}
+
+:deep(.el-form-item__label) {
+  font-weight: 700;
+}
+
+:deep(.el-pagination) {
+  flex-flow: wrap;
+}
+
+:deep(.is-draggable) {
+  max-height: 80vh;
+  overflow: auto;
+}
+
+:deep(.el-dialog__header) {
+  position: sticky;
+  top: 0;
+  z-index: 2;
+  background: #fff;
+}
+
+.collapsedom {
+  padding: 0 20px;
+  background-color: #fff;
+}
+
+.ovh-x {
+  height: 40vh;
+  overflow-y: auto;
+}
+
+:deep(.el-descriptions__header) {
+  margin: 16px 0 !important;
+}
+</style>

+ 235 - 0
src/views/menuitem/PageUpdateInfo/components/update/index.vue

@@ -0,0 +1,235 @@
+<script lang="ts">
+// 声明额外的选项
+export default {
+  name: "Edit"
+};
+</script>
+<script setup lang="ts">
+import { inject, ref } from "vue";
+import { useRenderIcon } from "@/components/ReIcon/src/hooks";
+import { ElMessage, ElMessageBox } from "element-plus";
+import Upload from "@iconify-icons/ri/upload-2-fill"
+import Close from "@iconify-icons/ri/close-fill"
+import { http } from "@/utils/http";
+// 获取URLLIST
+import { getGroupUrl } from "@/utils/getUrl/getUrl";
+
+const props = defineProps<{
+  editVisible: {
+    type: Boolean;
+    default: false;
+  };
+  width: {
+    type: Number;
+    default: 50;
+  };
+  formData: {
+    type: Object;
+    default: {};
+  };
+}>();
+// 表单数据
+let UpdateForm: any = ref({
+  moduleVersion: "", //模板更新版本
+  modulePath: "", //模板路径
+  backgroudColor: "", //背景色
+  textColor: "", //前景色
+  statusBarStyle: "", //苹果状态栏
+  showTitle: "", //是否显示头部
+  title: "", //顶部标题
+  showScrollBar: "", //是否显示滚动条
+  skidFlag: "", //是否侧滑返回
+  leftBtn1: "", //左侧按钮1
+  leftBtn2: "", //左侧按钮2
+  rightBtn1: "", //右侧按钮1
+  rightBtn2: "", //右侧按钮2
+  leftAction1: "", //左侧按钮1点击事件
+  leftAction2: "", //左侧按钮2点击事件
+  rightAction1: "", //右侧按钮1点击事件
+  rightAction2: "", //右侧按钮2点击事件
+  id: "", //ID
+  gotoPages: "", //下级页面
+  mustUpdate: "", //是否强制更新
+
+});
+
+// 选项卡参数(默认值为列表某项的id)
+const activeId = ref('1')
+// 提交函数
+const submit = async () => {
+  const UrlList = await getGroupUrl(['KxsConfigServer']);
+  const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.PageUpdateInfoupdate.method, url: UrlList.KxsConfigServer.PageUpdateInfoupdate.url, params: UpdateForm.value});
+  if (status === 1) {
+    ElMessage({
+      message: "修改成功",
+      type: "success"
+    });
+    UpdateForm.value = {
+      moduleVersion: "", //模板更新版本
+      modulePath: "", //模板路径
+      backgroudColor: "", //背景色
+      textColor: "", //前景色
+      statusBarStyle: "", //苹果状态栏
+      showTitle: "", //是否显示头部
+      title: "", //顶部标题
+      showScrollBar: "", //是否显示滚动条
+      skidFlag: "", //是否侧滑返回
+      leftBtn1: "", //左侧按钮1
+      leftBtn2: "", //左侧按钮2
+      rightBtn1: "", //右侧按钮1
+      rightBtn2: "", //右侧按钮2
+      leftAction1: "", //左侧按钮1点击事件
+      leftAction2: "", //左侧按钮2点击事件
+      rightAction1: "", //右侧按钮1点击事件
+      rightAction2: "", //右侧按钮2点击事件
+      id: "", //ID
+      gotoPages: "", //下级页面
+      mustUpdate: "", //是否强制更新
+
+    };
+    closeVisible();
+  } else {
+    ElMessageBox.alert(msg, "提示", {
+      confirmButtonText: "关闭",
+      type: "warning"
+    });
+  };
+};
+// 关闭弹窗回调函数
+const closeFn: any = inject('closeEditVisible');
+const openVisible = async () => {
+  //通过ID获取表格数据
+  const UrlList = await getGroupUrl(['KxsConfigServer']);
+  const { status, data }: any = await http.Request({method: UrlList.KxsConfigServer.PageUpdateInfoquery.method, url: UrlList.KxsConfigServer.PageUpdateInfoquery.url, params: props.formData});
+  if (status === 1) {
+    UpdateForm.value = data;
+  }
+};
+// 关闭弹窗回调函数
+const closeVisible = () => {
+  UpdateForm.value = {
+    groupName: "", //名称
+    groupRemark: "", //说明
+    groupVersion: "", //版本号
+
+  };
+  closeFn();
+};
+</script>
+
+<template lang="pug">
+.main
+  el-dialog(v-model='props.editVisible' width="50%" title="修改" @close="closeVisible()" @open="openVisible")
+    el-tabs(v-model="activeId" class="demo-tabs" @tab-click="handleClick")
+    el-tabs(v-model="activeId" class="demo-tabs" @tab-click="handleClick")
+      el-tab-pane(label="基本信息" name="1")
+        el-form(:model='UpdateForm' label-position="right" label-width="100px")
+          el-form-item(label='模板更新版本' prop="moduleVersion")
+            el-input-number(v-model='UpdateForm.moduleVersion' :min="1" :max="1000"
+              placeholder="请输入模板更新版本")
+          el-form-item(label='模板路径' prop="modulePath")
+            el-input(v-model='UpdateForm.modulePath' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入模板路径")
+          el-form-item(label='背景色' prop="backgroudColor")
+            el-input(v-model='UpdateForm.backgroudColor' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入背景色")
+          el-form-item(label='前景色' prop="textColor")
+            el-input(v-model='UpdateForm.textColor' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入前景色")
+          el-form-item(label="苹果状态栏", prop="statusBarStyle")
+            el-select(
+              v-model="UpdateForm.statusBarStyle",
+              placeholder="请选择苹果状态栏",
+              clearable,
+              class="!w-[230px]"
+            )
+              el-option(:label="item.label", :value="item.Id" v-for="(item,index) in statusBarStyleOptionList")
+          el-form-item(label='顶部标题' prop="title")
+            el-input(v-model='UpdateForm.title' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入顶部标题")
+          el-form-item(label='左侧按钮1' prop="leftBtn1")
+            el-input(v-model='UpdateForm.leftBtn1' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入左侧按钮1")
+          el-form-item(label='左侧按钮2' prop="leftBtn2")
+            el-input(v-model='UpdateForm.leftBtn2' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入左侧按钮2")
+          el-form-item(label='右侧按钮1' prop="rightBtn1")
+            el-input(v-model='UpdateForm.rightBtn1' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入右侧按钮1")
+          el-form-item(label='右侧按钮2' prop="rightBtn2")
+            el-input(v-model='UpdateForm.rightBtn2' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入右侧按钮2")
+          el-form-item(label='左侧按钮1点击事件' prop="leftAction1")
+            el-input(v-model='UpdateForm.leftAction1' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入左侧按钮1点击事件")
+          el-form-item(label='左侧按钮2点击事件' prop="leftAction2")
+            el-input(v-model='UpdateForm.leftAction2' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入左侧按钮2点击事件")
+          el-form-item(label='右侧按钮1点击事件' prop="rightAction1")
+            el-input(v-model='UpdateForm.rightAction1' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入右侧按钮1点击事件")
+          el-form-item(label='右侧按钮2点击事件' prop="rightAction2")
+            el-input(v-model='UpdateForm.rightAction2' autocomplete='off' class="!w-[230px]"
+              placeholder="请输入右侧按钮2点击事件")
+          el-form-item(label='ID' prop="id")
+            el-input-number(v-model='UpdateForm.id' :min="1" :max="1000"
+              placeholder="请输入ID")
+      el-tab-pane(label="下级页面" name="2")
+        el-form(:model='UpdateForm' label-position="right" label-width="100px")
+          el-form-item(label="下级页面", prop="gotoPages")
+            el-transfer(v-model="UpdateForm.gotoPages" :data="gotoPagesOptionList")
+      el-tab-pane(label="基本资料" name="3")
+        el-form(:model='UpdateForm' label-position="right" label-width="100px")
+
+    el-button(
+      :icon="useRenderIcon(Close)",
+      :loading="loading",
+      @click="closeVisible()"
+    ) 关闭
+    el-button(
+      type="primary",
+      :icon="useRenderIcon(Upload)",
+      :loading="loading",
+      @click="submit"
+    ) 确认提交
+</template>
+
+<style scoped lang="scss">
+:deep(.el-dropdown-menu__item i) {
+  margin: 0;
+}
+
+:deep(.el-form-item__label) {
+  font-weight: 700;
+}
+
+:deep(.el-pagination) {
+  flex-flow: wrap;
+}
+
+:deep(.is-draggable) {
+  max-height: 80vh;
+  overflow: auto;
+}
+
+:deep(.el-dialog__header) {
+  position: sticky;
+  top: 0;
+  z-index: 2;
+  background: #fff;
+}
+
+.collapsedom {
+  padding: 0 20px;
+  background-color: #fff;
+}
+
+.ovh-x {
+  height: 40vh;
+  overflow-y: auto;
+}
+
+:deep(.el-descriptions__header) {
+  margin: 16px 0 !important;
+}
+</style>

+ 150 - 0
src/views/menuitem/PageUpdateInfo/hook.tsx

@@ -0,0 +1,150 @@
+import { getRoleList } from "@/api/system";
+import { type PaginationProps } from "@pureadmin/table";
+import { ElMessage, ElMessageBox } from "element-plus";
+import { reactive, ref, computed, onMounted } from "vue";
+// 获取URLLIST
+import { getGroupUrl } from "@/utils/getUrl/getUrl"
+import { http } from "@/utils/http";
+// 获取当前板块接口列表
+const UrlList = await getGroupUrl(['KxsConfigServer']);
+
+export function usePageUpdateInfo() {
+  let form = reactive({
+    
+  });
+  const dataList = ref([]);
+  const loading = ref(false);
+  const dialogAddVisible = ref(false);
+  const pagination = reactive<PaginationProps>({
+    total: 0,
+    pageSize: 10,
+    currentPage: 1,
+    background: true
+  });
+  const columns: TableColumnList = [
+    {
+      type: "selection",
+      width: 55,
+      align: "left",
+      hide: ({ checkList }) => !checkList.includes("勾选列")
+    },
+    {
+      label: "序号",
+      type: "index",
+      width: 70,
+      hide: ({ checkList }) => !checkList.includes("序号列")
+    },
+
+    {
+      label: "操作",
+      fixed: "right",
+      width: 200,
+      slot: "operation"
+    }
+  ];
+  // 当前页数量切换
+  function handleSizeChange(val: number) {
+    console.log(`${val} items per page`);
+    onSearch()
+  }
+  // 当前页码切换
+  function handleCurrentChange(val: number) {
+    console.log(`current page: ${val}`);
+    onSearch()
+  }
+  // 选择表格项
+  function handleSelectionChange(val) {
+    console.log("handleSelectionChange", val);
+    onSearch()
+  }
+  // 搜索列表
+  async function onSearch(type = 'search') {
+    if (type === 'all') {
+      
+    }
+    // if (type == 'search' && !Object.values(form).some(item => !!item)) {
+    //   return ElMessage({
+    //     message: "请输入查询条件",
+    //     type: "error"
+    //   });
+    // };
+    loading.value = true;
+    const { status, msg, data }: any = await http.Request({ method: UrlList.KxsConfigServer.PageUpdateInfolist.method, url: UrlList.KxsConfigServer.PageUpdateInfolist.url, params: { ...form, PageSize: pagination.pageSize, PageNum: pagination.currentPage }});
+    if (status === 1) {
+      dataList.value = data.result;
+      pagination.total = data.totalNum;
+      setTimeout(() => {
+        loading.value = false;
+      }, 500);
+    } else {
+      ElMessageBox.alert(msg, "提示", {
+        confirmButtonText: "关闭",
+        type: "warning"
+      });
+    }
+  }
+  onMounted(() => {
+    onSearch();
+  });
+
+  // 删除
+  function handleDelete(row) {
+    ElMessageBox.confirm(
+      `是否删除该页面模板更新信息? `,
+      "提示",
+      {
+        confirmButtonText: "删除",
+        cancelButtonText: "取消",
+        type: "warning"
+      }
+    ).then(async () => {
+      const { status, msg }: any = await http.Request({ method: UrlList.KxsConfigServer.PageUpdateInfodelete.method, url: UrlList.KxsConfigServer.PageUpdateInfodelete.url, params: row.id });
+      if (status === 1) {
+        ElMessage({
+          message: "删除成功",
+          type: "success"
+        });
+        onSearch();
+      } else {
+        ElMessageBox.alert(msg, "提示", {
+        confirmButtonText: "关闭",
+        type: "warning"
+      });
+      };
+    })
+  }
+
+  // 新增
+  const addVisible = ref(false);
+  function handleAdd() {
+    addVisible.value = true;
+  };
+
+  // 修改
+  const editUpdateVisible = ref(false);
+  const editUpdateFormData = ref({});
+  function handleUpdate(row) {
+    editUpdateVisible.value = true;
+    // 表格数据赋值
+    editUpdateFormData.value = row;
+  };
+
+  return {
+    form,
+    loading,
+    columns,
+    dataList,
+    pagination,
+    onSearch,
+    handleSizeChange,
+    handleCurrentChange,
+    handleSelectionChange,
+    handleAdd,
+    addVisible,
+    handleUpdate,
+    editUpdateVisible,
+    editUpdateFormData,
+    handleDelete,
+
+  };
+}

+ 10 - 16
src/views/Template/SysMenu/index.vue → src/views/menuitem/PageUpdateInfo/index.vue

@@ -1,12 +1,12 @@
 <script lang="ts">
 // 声明额外的选项
 export default {
-  name: "SysMenu"
+  name: "PageUpdateInfo"
 };
 </script>
 <script setup lang="ts">
 import { provide, ref } from "vue";
-import { useSysMenu } from "./hook";
+import { usePageUpdateInfo } from "./hook";
 import { hasAuth } from "@/router/utils";
 import { PureTableBar } from "@/components/RePureTableBar";
 import { useRenderIcon } from "@/components/ReIcon/src/hooks";
@@ -30,11 +30,11 @@ const {
   handleAdd,
   addVisible,
   handleUpdate,
-  editVisible,
-  editFormData,
+  editUpdateVisible,
+  editUpdateFormData,
   handleDelete,
 
-} = useSysMenu();
+} = usePageUpdateInfo();
 
 // 关闭添加
 const closeAddVisible = () => {
@@ -42,10 +42,10 @@ const closeAddVisible = () => {
 }
 provide('closeAddVisible', closeAddVisible)
 // 关闭修改
-const closeEditVisible = () => {
-  editVisible.value = false
+const closeEditUpdateVisible = () => {
+  editUpdateVisible.value = false
 }
-provide('closeEditVisible', closeEditVisible)
+provide('closeEditUpdateVisible', closeEditUpdateVisible)
 
 
 
@@ -63,12 +63,6 @@ provide('closeEditVisible', closeEditVisible)
       :rules="rules",
       class="w-[99/100]"
     )
-      el-form-item(label='菜单名称' prop="name")
-        el-input(v-model='form.name' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入菜单名称")
-      el-form-item(label='英文名称' prop="enName")
-        el-input(v-model='form.enName' autocomplete='off' class="!w-[230px]"
-          placeholder="请输入英文名称")
 
       el-form-item
         el-button(
@@ -85,7 +79,7 @@ provide('closeEditVisible', closeEditVisible)
           @click="onSearch('all')"
         ) 全部
     //- 表格组件
-    PureTableBar(title="菜单权限表", @refresh="onSearch" )
+    PureTableBar(title="页面模板更新信息", @refresh="onSearch" )
       template(#buttons)
         el-button(type="primary" :icon="useRenderIcon(Addicon)" @click="handleAdd()") 新增
 
@@ -133,7 +127,7 @@ provide('closeEditVisible', closeEditVisible)
                     ) 删除
 
     Add(:addVisible="addVisible")
-    Edit(:editVisible="editVisible" :formData="editFormData")
+    EditUpdate(:editVisible="editUpdateVisible" :formData="editUpdateFormData")
 
                     
 </template>

+ 0 - 0
src/views/Template/SysDict/components/add/index.vue → src/views/menuitem/SysDict/components/add/index.vue


+ 0 - 0
src/views/Template/SysDict/components/edit/index.vue → src/views/menuitem/SysDict/components/update/index.vue


+ 6 - 6
src/views/Template/SysDict/hook.tsx → src/views/menuitem/SysDict/hook.tsx

@@ -135,12 +135,12 @@ export function useSysDict() {
   };
 
   // 修改
-  const editVisible = ref(false);
-  const editFormData = ref({});
+  const editUpdateVisible = ref(false);
+  const editUpdateFormData = ref({});
   function handleUpdate(row) {
-    editVisible.value = true;
+    editUpdateVisible.value = true;
     // 表格数据赋值
-    editFormData.value = row;
+    editUpdateFormData.value = row;
   };
 
   return {
@@ -156,8 +156,8 @@ export function useSysDict() {
     handleAdd,
     addVisible,
     handleUpdate,
-    editVisible,
-    editFormData,
+    editUpdateVisible,
+    editUpdateFormData,
     handleDelete,
 
   };

+ 6 - 6
src/views/Template/SysDict/index.vue → src/views/menuitem/SysDict/index.vue

@@ -30,8 +30,8 @@ const {
   handleAdd,
   addVisible,
   handleUpdate,
-  editVisible,
-  editFormData,
+  editUpdateVisible,
+  editUpdateFormData,
   handleDelete,
 
 } = useSysDict();
@@ -42,10 +42,10 @@ const closeAddVisible = () => {
 }
 provide('closeAddVisible', closeAddVisible)
 // 关闭修改
-const closeEditVisible = () => {
-  editVisible.value = false
+const closeEditUpdateVisible = () => {
+  editUpdateVisible.value = false
 }
-provide('closeEditVisible', closeEditVisible)
+provide('closeEditUpdateVisible', closeEditUpdateVisible)
 
 
 
@@ -133,7 +133,7 @@ provide('closeEditVisible', closeEditVisible)
                     ) 删除
 
     Add(:addVisible="addVisible")
-    Edit(:editVisible="editVisible" :formData="editFormData")
+    EditUpdate(:editVisible="editUpdateVisible" :formData="editUpdateFormData")
 
                     
 </template>

+ 0 - 0
src/views/Template/SysDictItem/components/add/index.vue → src/views/menuitem/SysDictItem/components/add/index.vue


+ 0 - 0
src/views/Template/SysDictItem/components/edit/index.vue → src/views/menuitem/SysDictItem/components/update/index.vue


+ 6 - 6
src/views/Template/SysDictItem/hook.tsx → src/views/menuitem/SysDictItem/hook.tsx

@@ -142,12 +142,12 @@ export function useSysDictItem() {
   };
 
   // 修改
-  const editVisible = ref(false);
-  const editFormData = ref({});
+  const editUpdateVisible = ref(false);
+  const editUpdateFormData = ref({});
   function handleUpdate(row) {
-    editVisible.value = true;
+    editUpdateVisible.value = true;
     // 表格数据赋值
-    editFormData.value = row;
+    editUpdateFormData.value = row;
   };
 
   return {
@@ -163,8 +163,8 @@ export function useSysDictItem() {
     handleAdd,
     addVisible,
     handleUpdate,
-    editVisible,
-    editFormData,
+    editUpdateVisible,
+    editUpdateFormData,
     handleDelete,
 
   };

+ 6 - 6
src/views/Template/SysDictItem/index.vue → src/views/menuitem/SysDictItem/index.vue

@@ -30,8 +30,8 @@ const {
   handleAdd,
   addVisible,
   handleUpdate,
-  editVisible,
-  editFormData,
+  editUpdateVisible,
+  editUpdateFormData,
   handleDelete,
 
 } = useSysDictItem();
@@ -42,10 +42,10 @@ const closeAddVisible = () => {
 }
 provide('closeAddVisible', closeAddVisible)
 // 关闭修改
-const closeEditVisible = () => {
-  editVisible.value = false
+const closeEditUpdateVisible = () => {
+  editUpdateVisible.value = false
 }
-provide('closeEditVisible', closeEditVisible)
+provide('closeEditUpdateVisible', closeEditUpdateVisible)
 
 
 
@@ -136,7 +136,7 @@ provide('closeEditVisible', closeEditVisible)
                     ) 删除
 
     Add(:addVisible="addVisible")
-    Edit(:editVisible="editVisible" :formData="editFormData")
+    EditUpdate(:editVisible="editUpdateVisible" :formData="editUpdateFormData")
 
                     
 </template>