liuhj před 1 měsícem
rodič
revize
f9be6c3098

+ 34 - 7
package-lock.json

@@ -21,8 +21,10 @@
         "echarts": "^5.4.0",
         "element-china-area-data": "^6.1.0",
         "element-ui": "^2.15.13",
+        "github-markdown-css": "^5.8.1",
         "mapkit-token": "^1.1.1",
         "mapkit-vue": "^0.0.1",
+        "marked": "^4.3.0",
         "openai": "^4.89.0",
         "pinyin-pro": "^3.17.0",
         "tesseract.js": "^6.0.0",
@@ -8561,6 +8563,18 @@
         "through2": "~2.0.0"
       }
     },
+    "node_modules/github-markdown-css": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmmirror.com/github-markdown-css/-/github-markdown-css-5.8.1.tgz",
+      "integrity": "sha512-8G+PFvqigBQSWLQjyzgpa2ThD9bo7+kDsriUIidGcRhXgmcaAWUIpCZf8DavJgc+xifjbCG+GvMyWr0XMXmc7g==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
     "node_modules/glob": {
       "version": "7.2.3",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
@@ -10691,14 +10705,15 @@
       }
     },
     "node_modules/marked": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmmirror.com/marked/-/marked-5.1.2.tgz",
-      "integrity": "sha512-ahRPGXJpjMjwSOlBoTMZAK7ATXkli5qCPxZ21TG44rx1KEo44bii4ekgTDQPNRQ4Kh7JMb9Ub1PVk1NxRSsorg==",
+      "version": "4.3.0",
+      "resolved": "https://registry.npmmirror.com/marked/-/marked-4.3.0.tgz",
+      "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==",
+      "license": "MIT",
       "bin": {
         "marked": "bin/marked.js"
       },
       "engines": {
-        "node": ">= 16"
+        "node": ">= 12"
       }
     },
     "node_modules/marked-terminal": {
@@ -10721,9 +10736,9 @@
       }
     },
     "node_modules/marked-terminal/node_modules/chalk": {
-      "version": "5.3.0",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-5.3.0.tgz",
-      "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
+      "version": "5.6.2",
+      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-5.6.2.tgz",
+      "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
       "engines": {
         "node": "^12.17.0 || ^14.13 || >=16.0.0"
       },
@@ -19281,6 +19296,18 @@
       "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.4.3.tgz",
       "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="
     },
+    "node_modules/semantic-release/node_modules/marked": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmmirror.com/marked/-/marked-5.1.2.tgz",
+      "integrity": "sha512-ahRPGXJpjMjwSOlBoTMZAK7ATXkli5qCPxZ21TG44rx1KEo44bii4ekgTDQPNRQ4Kh7JMb9Ub1PVk1NxRSsorg==",
+      "license": "MIT",
+      "bin": {
+        "marked": "bin/marked.js"
+      },
+      "engines": {
+        "node": ">= 16"
+      }
+    },
     "node_modules/semantic-release/node_modules/micromatch": {
       "version": "4.0.8",
       "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz",

+ 2 - 0
package.json

@@ -23,8 +23,10 @@
     "echarts": "^5.4.0",
     "element-china-area-data": "^6.1.0",
     "element-ui": "^2.15.13",
+    "github-markdown-css": "^5.8.1",
     "mapkit-token": "^1.1.1",
     "mapkit-vue": "^0.0.1",
+    "marked": "^4.3.0",
     "openai": "^4.89.0",
     "pinyin-pro": "^3.17.0",
     "tesseract.js": "^6.0.0",

+ 1 - 1
src/components/OP/AffairsBackward.vue

@@ -4,7 +4,7 @@
             <el-form style="display: flex;justify-content: space-between;align-items: center;" :inline="true" :model="formInline" class="demo-form-inline">
                 <el-form-item>
                     <el-select filterable @change="ConferenceProceduresInit" v-model="diid" placeholder="团组名称" style="width: 250px;">
-                        <el-option v-for="(item, index) in AuditStatus" :key="index" :label="item.teamName"
+                        <el-option :style="item.hasChildData?'color: #66b1ff;':''" v-for="(item, index) in AuditStatus" :key="index" :label="item.teamName"
                             :value="item.id"></el-option>
                     </el-select>
                 </el-form-item>

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 278 - 0
src/components/OP/performanceanalysis.vue


+ 26 - 0
src/main.js

@@ -67,6 +67,32 @@ Vue.prototype.transformDateFormat = function (time) {
   // 拼接
   return year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
 };
+
+// 兼容性导入方式
+let marked
+
+try {
+  // 尝试作为命名导入(marked 4.x+)
+  const markedModule = require('marked')
+  marked = markedModule.marked || markedModule.default || markedModule
+} catch (error) {
+  console.error('marked 导入失败:', error)
+}
+
+// 如果导入成功,进行配置
+if (marked && typeof marked === 'function') {
+  marked.setOptions({
+    breaks: true,
+    gfm: true,
+    sanitize: false
+  })
+  
+  Vue.prototype.$marked = marked
+} else {
+  console.warn('marked 未正确加载,相关功能将不可用')
+}
+
+
 /* eslint-disable no-new */
 new Vue({
   el: '#app',

+ 6 - 0
src/router/index.js

@@ -144,6 +144,7 @@ import DepartProcessList from '@/components/OP/DepartProcessList'
 import DepartProcessAdd from '@/components/OP/DepartProcessAdd'
 import TaskReview from '@/components/OP/TaskReview'
 import GroupProgress from '@/components/OP/GroupProgress'
+import performanceanalysis from '@/components/OP/performanceanalysis'
 
 
 Vue.use(Router)
@@ -861,6 +862,11 @@ export default new Router({
           name: 'GroupProgress',
           component: GroupProgress
         },
+        {
+          path: '/home/performanceanalysis',
+          name: 'performanceanalysis',
+          component: performanceanalysis
+        },
       ]
     },
     {