Browse Source

修改bug处理部分问题

yangg 10 months ago
parent
commit
2604c1a66f

+ 1 - 0
src/icons/svg/AI.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1725526739339" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5795" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24"><path d="M354.40128 0c-87.04 0-157.44 70.55872-157.44 157.59872v275.68128H78.72c-21.6576 0-39.36256 17.69984-39.36256 39.36256v236.31872c0 21.6576 17.69984 39.35744 39.36256 39.35744h118.24128v118.08256c0 87.04 70.4 157.59872 157.44 157.59872h472.63744c87.04 0 157.59872-70.55872 157.59872-157.59872V315.0336c0-41.74848-38.9888-81.93024-107.52-149.27872l-29.11744-29.12256L818.87744 107.52C751.5392 38.9888 711.39328 0 669.59872 0H354.4064z m0 78.72h287.20128c28.35456 7.0912 27.99616 42.1376 27.99616 76.8v120.16128c0 21.6576 17.69984 39.35744 39.36256 39.35744h118.07744c39.38816 0 78.87872-0.0256 78.87872 39.36256v512c0 43.32032-35.55328 78.87872-78.87872 78.87872H354.4064c-43.32544 0-78.72-35.5584-78.72-78.87872v-118.08256h393.91744c21.66272 0 39.36256-17.69472 39.36256-39.35744V472.64256c0-21.66272-17.69984-39.36256-39.36256-39.36256H275.68128V157.59872c0-43.32032 35.39456-78.87872 78.72-78.87872z m-25.92256 427.67872h20.16256l65.28 176.64h-23.04l-19.2-54.71744h-65.28l-19.2 54.71744h-23.04l64.31744-176.64z m95.04256 0.96256H487.8336v12.47744l-21.12 4.80256v141.11744l21.12 4.80256v12.47744H423.5264v-12.47744l21.12-4.80256V524.6464l-21.12-4.80256v-12.47744z m-84.48 23.04c-1.92 8.96-4.80256 18.23744-8.64256 27.83744l-17.28 50.88256h51.84l-18.23744-50.88256c-3.84-10.88-6.4-20.15744-7.68-27.83744z" p-id="5796" fill="#2c2c2c"></path></svg>

+ 18 - 0
src/router/index.js

@@ -325,6 +325,24 @@ export const asyncRoutes = [
         meta: { title: '解析块',  noCache: true ,roles: ['admin']}
       }
     ]
+  },
+    {
+    path: '/applet',
+    component: Layout,
+    type:1,
+    meta: {
+      title: '小程序管理',
+      icon: 'paizhao-01-20',
+      roles: ['admin']
+    },
+    children: [
+      {
+        path: 'index',
+        component: () => import('@/views/applet/index'),
+        name: 'project',
+        meta: { title: '小程序管理', noCache: true,roles: ['admin'] }
+      },
+    ]
   },
   {
     path: '/system',

+ 170 - 0
src/views/applet/index.vue

@@ -0,0 +1,170 @@
+<template>
+  <div class="search-list-form">
+    <!-- 搜索表单 -->
+    <el-form :inline="true" :model="searchForm" class="demo-form-inline">
+      <el-form-item label="姓名">
+        <el-input v-model="searchForm.name" placeholder="请输入姓名"></el-input>
+      </el-form-item>
+      <el-form-item label="状态">
+        <el-select v-model="searchForm.status" placeholder="请选择状态">
+          <el-option label="全部" value=""></el-option>
+          <el-option label="启用" value="1"></el-option>
+          <el-option label="禁用" value="0"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" @click="onSearch">查询</el-button>
+        <el-button @click="resetSearch">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <!-- 数据列表 -->
+    <el-table
+      :data="tableData"
+      style="width: 100%"
+      header-row-class-name="headerBg"
+      empty-text="暂无用户信息"
+    >
+      <el-table-column prop="name" label="姓名"></el-table-column>
+      <el-table-column prop="age" label="年龄"></el-table-column>
+      <el-table-column prop="status" label="状态">
+        <template slot-scope="scope">
+          {{ scope.row.status === "1" ? "启用" : "禁用" }}
+        </template>
+      </el-table-column>
+      <el-table-column label="操作">
+        <template slot-scope="scope">
+          <el-button size="mini" @click="handleEdit(scope.$index, scope.row)"
+            >编辑</el-button
+          >
+          <!-- <el-button
+              size="mini"
+              :type="scope.row.status === '1' ? 'danger' : 'success'"
+              @click="handleToggleStatus(scope.$index, scope.row)">
+              {{ scope.row.status === '1' ? '禁用' : '启用' }}
+            </el-button> -->
+        </template>
+      </el-table-column>
+    </el-table>
+    <div class="pagination-container">
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="pagination.currentPage"
+        :page-sizes="[10, 20, 50, 100]"
+        :page-size="pagination.pageSize"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="pagination.total"
+      >
+      </el-pagination>
+    </div>
+
+    <!-- 编辑表单对话框 -->
+    <el-dialog title="编辑信息" :visible.sync="dialogFormVisible">
+      <el-form :model="editForm">
+        <el-form-item label="姓名" :label-width="formLabelWidth">
+          <el-input v-model="editForm.name" autocomplete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="年龄" :label-width="formLabelWidth">
+          <el-input v-model="editForm.age" autocomplete="off"></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible = false">取 消</el-button>
+        <el-button type="primary" @click="submitEdit">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+  
+  <script>
+export default {
+  data() {
+    return {
+      searchForm: {
+        name: "",
+        status: "",
+      },
+      tableData: [
+        /* { name: '张三', age: 25, status: '1' },
+          { name: '李四', age: 30, status: '0' },
+          { name: '王五', age: 35, status: '1' } */
+      ],
+      dialogFormVisible: false,
+      editForm: {
+        name: "",
+        age: "",
+      },
+      formLabelWidth: "120px",
+      editIndex: -1,
+      pagination: {
+        currentPage: 1,
+        pageSize: 10,
+        total: 0,
+      },
+    };
+  },
+  methods: {
+    async fetchData() {
+      try {
+        // 假设这是一个 API 调用
+        const response = await this.$api.getUsers({
+          page: this.pagination.currentPage,
+          pageSize: this.pagination.pageSize,
+          ...this.searchForm,
+        });
+        this.tableData = response.data;
+        this.pagination.total = response.total;
+      } catch (error) {
+        this.$message.error("获取数据失败");
+      }
+    },
+    handleSizeChange(val) {
+      this.pagination.pageSize = val;
+      this.fetchData();
+    },
+    handleCurrentChange(val) {
+      this.pagination.currentPage = val;
+      this.fetchData();
+    },
+    onSearch() {
+      // 实现搜索逻辑
+      console.log("搜索条件:", this.searchForm);
+      // 这里应该调用API进行搜索,然后更新tableData
+    },
+    resetSearch() {
+      this.searchForm = {
+        name: "",
+        status: "",
+      };
+    },
+    handleEdit(index, row) {
+      this.dialogFormVisible = true;
+      this.editForm = { ...row };
+      this.editIndex = index;
+    },
+    handleToggleStatus(index, row) {
+      // 切换状态
+      this.tableData[index].status = row.status === "1" ? "0" : "1";
+      // 这里应该调用API来更新状态
+    },
+    submitEdit() {
+      if (this.editIndex > -1) {
+        // 更新表格数据
+        this.tableData[this.editIndex] = {
+          ...this.editForm,
+          status: this.tableData[this.editIndex].status,
+        };
+        // 这里应该调用API来更新数据
+        this.dialogFormVisible = false;
+      }
+    },
+  },
+};
+</script>
+  
+  <style scoped>
+.search-list-form {
+  padding: 20px;
+}
+</style>

+ 1 - 1
src/views/auth/components/dataList.vue

@@ -41,7 +41,7 @@
 
       <div class="page-info">
       	<el-pagination
-      	v-model:currentPage="queryForm.page"
+      	:currentPage="queryForm.page"
       	:page-size="queryForm.pageSize"
       	:total="recordCount"
       	:page-count="pageTotal"

+ 1 - 0
src/views/document/com/editor.scss

@@ -126,4 +126,5 @@
 .btn-save{
   display: flex;
   justify-content: flex-end;
+  margin-right: 10px;
 }

+ 9 - 1
src/views/document/com/editor.vue

@@ -273,7 +273,15 @@ export default {
           it.isEdit = 2;
           it.selDisabled = true;
           it.valDisabled = true;
-          it.category_id=it.category_id.split(" ")
+          if (
+            typeof it.category_id === "string" &&
+            it.category_id.includes(" ")
+          ) {
+            it.category_id = it.category_id.split(" ");
+          } else if (!Array.isArray(it.category_id)) {
+            // 如果不是数组,将其转换为包含单个元素的数组
+            it.category_id = [it.category_id].filter(Boolean);
+          }
           return it;
         });
       },

+ 1 - 1
src/views/document/com/menus.vue

@@ -131,7 +131,7 @@
               {
                 key:"ai",
                 name:"AI模块",
-                icon:"insertAuth",
+                icon:"AI",
               },
              /*  {
                 key:"aiEs",

+ 23 - 7
src/views/document/create.vue

@@ -724,9 +724,9 @@ export default {
       document.title = this.docAttr.title + "-轻良实业";
     }
     this.$nextTick(() => {
-      const arrows = document.querySelectorAll('.el-collapse-item__arrow');
-      arrows.forEach(arrow => {
-        arrow.style.margin = '0';
+      const arrows = document.querySelectorAll(".el-collapse-item__arrow");
+      arrows.forEach((arrow) => {
+        arrow.style.margin = "0";
       });
     });
   },
@@ -1668,7 +1668,7 @@ export default {
 
     //插入图文
     insertArticle() {
-      let _this = this;
+      /*   let _this = this;
       _this.coms.push({
         type: "TextArea",
         lay_id: "textArea",
@@ -1679,7 +1679,25 @@ export default {
         content: "请填写内容",
         attrs: [],
       });
+      _this.comIndex = _this.coms.length - 1; */
+      let _this = this;
+      let newArticle = {
+        type: "TextArea",
+        lay_id: "textArea",
+        code: "模块名",
+        name: "图文",
+        intro: "图文介绍",
+        isEdit: 2,
+        content: "请填写内容",
+        attrs: [],
+      };
+      _this.coms.push(newArticle);
       _this.comIndex = _this.coms.length - 1;
+
+      // 添加一些日志来帮助调试
+      console.log("New article added:", newArticle);
+      console.log("Current coms:", _this.coms);
+      console.log("New comIndex:", _this.comIndex);
     },
 
     //插入表格
@@ -1919,10 +1937,9 @@ export default {
 .el-collapse,
 .el-collapse-item__header {
   border: none;
-  .el-collapse-item__arrow{
+  .el-collapse-item__arrow {
     margin: 0;
   }
-
 }
 .borderless-collapse {
   border: none;
@@ -1931,7 +1948,6 @@ export default {
   ::v-deep .el-collapse-item__content,
   ::v-deep .el-collapse-item {
     border: none;
-    
   }
 
   ::v-deep .el-collapse-item__wrap {

+ 23 - 5
src/views/knowledgeMenu/category/infoList.vue

@@ -1,16 +1,29 @@
 <template>
   <div class="project-search">
-    <div style="width: 50%" v-if="dataList.length!==0">
-      <div v-for="item in dataList" :key="item.id">
-        <div>{{ !item }}</div>
+    <div style="width: 50%" v-if="dataList.length !== 0">
+      <div v-for="item in dataList" :key="item.id" class="listClass">
+        <img
+          :src="item.url"
+          alt=""
+          style="width: 150px; height: 150px; padding: 10px 10px 10px 0"
+        />
         <div v-html="item.content"></div>
       </div>
     </div>
-    <div v-else style="width: 50%;font-size: 25px;margin: 300px auto; color: #909399;text-align: center;">
+    <div
+      v-else
+      style="
+        width: 50%;
+        font-size: 25px;
+        margin: 300px auto;
+        color: #909399;
+        text-align: center;
+      "
+    >
       暂无解析数据
     </div>
     <div style="width: 50%">
-      <iframe :src="documentUrl" width="100%" height="780px"></iframe>
+      <iframe :src="documentUrl" width="100%" height="100%"></iframe>
     </div>
   </div>
 </template>
@@ -66,5 +79,10 @@ export default {
   padding: 10px;
   font-size: 12px;
 }
+.listClass {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+}
 </style>