瀏覽代碼

评分统计状态

lvmax 7 月之前
父節點
當前提交
82bc8e51b8
共有 3 個文件被更改,包括 224 次插入62 次删除
  1. 143 14
      package-lock.json
  2. 2 2
      src/api/work/score/index.ts
  3. 79 46
      src/views/work/score/index.vue

+ 143 - 14
package-lock.json

@@ -15621,8 +15621,7 @@
     "node_modules/process-nextick-args": {
       "version": "2.0.1",
       "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
-      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
-      "peer": true
+      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
     },
     "node_modules/progress": {
       "version": "2.0.3",
@@ -16786,8 +16785,7 @@
     "node_modules/setimmediate": {
       "version": "1.0.5",
       "resolved": "https://registry.npmmirror.com/setimmediate/-/setimmediate-1.0.5.tgz",
-      "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
-      "peer": true
+      "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
     },
     "node_modules/sha.js": {
       "version": "2.4.11",
@@ -18965,6 +18963,11 @@
         "url": "https://github.com/sponsors/antfu"
       }
     },
+    "node_modules/underscore": {
+      "version": "1.13.7",
+      "resolved": "https://registry.npmmirror.com/underscore/-/underscore-1.13.7.tgz",
+      "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g=="
+    },
     "node_modules/undici-types": {
       "version": "6.19.8",
       "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.19.8.tgz",
@@ -21247,6 +21250,14 @@
         "node": ">=12"
       }
     },
+    "node_modules/xmlbuilder": {
+      "version": "10.1.1",
+      "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-10.1.1.tgz",
+      "integrity": "sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==",
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
     "node_modules/xtend": {
       "version": "4.0.2",
       "resolved": "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz",
@@ -26174,8 +26185,7 @@
     "base64-js": {
       "version": "1.5.1",
       "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
-      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
-      "peer": true
+      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
     },
     "benz-amr-recorder": {
       "version": "1.1.5",
@@ -27283,8 +27293,7 @@
     "core-util-is": {
       "version": "1.0.3",
       "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz",
-      "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
-      "peer": true
+      "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
     },
     "cors": {
       "version": "2.8.5",
@@ -28038,6 +28047,11 @@
       "resolved": "https://registry.npmmirror.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
       "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="
     },
+    "dingbat-to-unicode": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmmirror.com/dingbat-to-unicode/-/dingbat-to-unicode-1.0.1.tgz",
+      "integrity": "sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w=="
+    },
     "dir-glob": {
       "version": "3.0.1",
       "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -28143,6 +28157,14 @@
       "resolved": "https://registry.npmmirror.com/driver.js/-/driver.js-1.3.1.tgz",
       "integrity": "sha512-MvUdXbqSgEsgS/H9KyWb5Rxy0aE6BhOVT4cssi2x2XjmXea6qQfgdx32XKVLLSqTaIw7q/uxU5Xl3NV7+cN6FQ=="
     },
+    "duck": {
+      "version": "0.1.12",
+      "resolved": "https://registry.npmmirror.com/duck/-/duck-0.1.12.tgz",
+      "integrity": "sha512-wkctla1O6VfP89gQ+J/yDesM0S7B7XLXjKGzXxMDVFg7uEn706niAtyYovKbyq1oT9YwDcly721/iUWoc8MVRg==",
+      "requires": {
+        "underscore": "^1.13.1"
+      }
+    },
     "duplexer": {
       "version": "0.1.2",
       "resolved": "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz",
@@ -30084,6 +30106,11 @@
       "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
       "dev": true
     },
+    "immediate": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmmirror.com/immediate/-/immediate-3.0.6.tgz",
+      "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="
+    },
     "immer": {
       "version": "9.0.21",
       "resolved": "https://registry.npmmirror.com/immer/-/immer-9.0.21.tgz",
@@ -30673,6 +30700,46 @@
         "through": ">=2.2.7 <3"
       }
     },
+    "jszip": {
+      "version": "3.10.1",
+      "resolved": "https://registry.npmmirror.com/jszip/-/jszip-3.10.1.tgz",
+      "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
+      "requires": {
+        "lie": "~3.3.0",
+        "pako": "~1.0.2",
+        "readable-stream": "~2.3.6",
+        "setimmediate": "^1.0.5"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.8",
+          "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz",
+          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+          "requires": {
+            "core-util-is": "~1.0.0",
+            "inherits": "~2.0.3",
+            "isarray": "~1.0.0",
+            "process-nextick-args": "~2.0.0",
+            "safe-buffer": "~5.1.1",
+            "string_decoder": "~1.1.1",
+            "util-deprecate": "~1.0.1"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
+          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "requires": {
+            "safe-buffer": "~5.1.0"
+          }
+        }
+      }
+    },
     "katex": {
       "version": "0.16.11",
       "resolved": "https://registry.npmmirror.com/katex/-/katex-0.16.11.tgz",
@@ -30729,6 +30796,14 @@
         "type-check": "~0.4.0"
       }
     },
+    "lie": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmmirror.com/lie/-/lie-3.3.0.tgz",
+      "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
+      "requires": {
+        "immediate": "~3.0.5"
+      }
+    },
     "lilconfig": {
       "version": "3.1.2",
       "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-3.1.2.tgz",
@@ -31050,6 +31125,16 @@
         }
       }
     },
+    "lop": {
+      "version": "0.4.2",
+      "resolved": "https://registry.npmmirror.com/lop/-/lop-0.4.2.tgz",
+      "integrity": "sha512-RefILVDQ4DKoRZsJ4Pj22TxE3omDO47yFpkIBoDKzkqPRISs5U1cnAdg/5583YPkWPaLIYHOKRMQSvjFsO26cw==",
+      "requires": {
+        "duck": "^0.1.12",
+        "option": "~0.2.1",
+        "underscore": "^1.13.1"
+      }
+    },
     "lru-cache": {
       "version": "5.1.1",
       "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -31093,6 +31178,38 @@
         }
       }
     },
+    "mammoth": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmmirror.com/mammoth/-/mammoth-1.8.0.tgz",
+      "integrity": "sha512-pJNfxSk9IEGVpau+tsZFz22ofjUsl2mnA5eT8PjPs2n0BP+rhVte4Nez6FdgEuxv3IGI3afiV46ImKqTGDVlbA==",
+      "requires": {
+        "@xmldom/xmldom": "^0.8.6",
+        "argparse": "~1.0.3",
+        "base64-js": "^1.5.1",
+        "bluebird": "~3.4.0",
+        "dingbat-to-unicode": "^1.0.1",
+        "jszip": "^3.7.1",
+        "lop": "^0.4.1",
+        "path-is-absolute": "^1.0.0",
+        "underscore": "^1.13.1",
+        "xmlbuilder": "^10.0.0"
+      },
+      "dependencies": {
+        "argparse": {
+          "version": "1.0.10",
+          "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz",
+          "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+          "requires": {
+            "sprintf-js": "~1.0.2"
+          }
+        },
+        "bluebird": {
+          "version": "3.4.7",
+          "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.4.7.tgz",
+          "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA=="
+        }
+      }
+    },
     "map-cache": {
       "version": "0.2.2",
       "resolved": "https://registry.npmmirror.com/map-cache/-/map-cache-0.2.2.tgz",
@@ -32051,6 +32168,11 @@
         "mimic-fn": "^4.0.0"
       }
     },
+    "option": {
+      "version": "0.2.4",
+      "resolved": "https://registry.npmmirror.com/option/-/option-0.2.4.tgz",
+      "integrity": "sha512-pkEqbDyl8ou5cpq+VsnQbe/WlEy5qS7xPzMS1U55OCG9KPvwFD46zDbxQIj3egJSFc3D+XhYOPUzz49zQAVy7A=="
+    },
     "optionator": {
       "version": "0.9.4",
       "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.4.tgz",
@@ -32109,8 +32231,7 @@
     "pako": {
       "version": "1.0.11",
       "resolved": "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz",
-      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
-      "peer": true
+      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
     },
     "parallel-transform": {
       "version": "1.2.0",
@@ -32790,8 +32911,7 @@
     "process-nextick-args": {
       "version": "2.0.1",
       "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
-      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
-      "peer": true
+      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
     },
     "progress": {
       "version": "2.0.3",
@@ -33705,8 +33825,7 @@
     "setimmediate": {
       "version": "1.0.5",
       "resolved": "https://registry.npmmirror.com/setimmediate/-/setimmediate-1.0.5.tgz",
-      "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
-      "peer": true
+      "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
     },
     "sha.js": {
       "version": "2.4.11",
@@ -35379,6 +35498,11 @@
         "jiti": "^1.21.0"
       }
     },
+    "underscore": {
+      "version": "1.13.7",
+      "resolved": "https://registry.npmmirror.com/underscore/-/underscore-1.13.7.tgz",
+      "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g=="
+    },
     "undici-types": {
       "version": "6.19.8",
       "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.19.8.tgz",
@@ -37101,6 +37225,11 @@
       "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
       "dev": true
     },
+    "xmlbuilder": {
+      "version": "10.1.1",
+      "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-10.1.1.tgz",
+      "integrity": "sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg=="
+    },
     "xtend": {
       "version": "4.0.2",
       "resolved": "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz",

+ 2 - 2
src/api/work/score/index.ts

@@ -21,8 +21,8 @@ export const ScoreApi = {
   },
 
   // 查询作品评分详情
-  getScoreStatus: async () => {
-    return await request.get({ url: `/work/score/getStatus` })
+  getScoreStatus: async (id: number) => {
+    return await request.get({ url: `/work/score/getStatus?id=`+id})
   },
   // 查询作品评分详情
   getScoreInfo: async () => {

+ 79 - 46
src/views/work/score/index.vue

@@ -17,7 +17,7 @@
             <el-radio-group v-model="startType">
               <template v-for="(o)  in typeList" :key="o">
                 <el-menu-item style="width: 250px">
-                  <el-radio :value="o" :label="o" border>{{ o.typeName }}</el-radio>
+                  <el-radio @click="getScoreStatus(o.id)" :value="o" :label="o" border>{{ o.typeName }}</el-radio>
                   <br/>
                 </el-menu-item>
               </template>
@@ -28,25 +28,30 @@
 
       </el-aside>
       <el-main>
-        <el-row style="background-color: #ffffff;min-width: 840px">
-          <el-col :span="8" style="padding: 20px;">
+        <el-row :style="'min-width: 840px;background-color:'+(scoreStatus.status?'#b6f1bf':'#ffffff')">
+          <el-col :span="6" style="padding: 20px;" >
             <el-card style="height: 100px;">
               总作品数量
               {{ scoreStatus.all }}
             </el-card>
           </el-col>
-          <el-col :span="8" style="padding: 20px;">
+          <el-col :span="6" style="padding: 20px;">
             <el-card style="height: 100px;">
               已评作品数量
               {{ scoreStatus.finish }}
             </el-card>
           </el-col>
-          <el-col :span="8" style="padding: 20px;">
+          <el-col :span="6" style="padding: 20px;">
             <el-card style="height: 100px;">
               未评作品数量
               {{ scoreStatus.remain }}
             </el-card>
           </el-col>
+          <el-col :span="6" style="padding: 20px;">
+            <el-card style="height: 100px;">
+              {{ scoreStatus.status?"已提交审核":"未提交审核" }}
+            </el-card>
+          </el-col>
         </el-row>
         <div style="font-size: 30px;margin-top: 15px;text-align: center">
           当前选择评卷类别:{{ startType.typeName }}
@@ -91,10 +96,10 @@
             text-color="#000"
           >
             <el-radio-group v-model="lookWorkOne">
-              <template v-for="(o)  in workList" :key="o">
+              <template v-for="(o,i)  in workList" :key="o">
                 <el-menu-item
                   :style="'width: 250px;background-color:'+(o.scoreDO.score!==null?'#b6f1bf':'#ffffff')">
-                  <el-radio @click="lookWork(o)" :value="o" :label="o" border>{{
+                  <el-radio @click="lookWork(o,i)" :value="o" :label="o" border>{{
                       o.workName
                     }}
                   </el-radio>
@@ -111,11 +116,14 @@
 
         <el-header style="justify-content:center; display: flex;height: 30px">
           <el-radio-group size="large" v-model="tabPosition" style="width: 800px;margin-top: 10px">
-            <el-radio-button value="当前作品" @click="scrollToSection('chapter1')" style="height: 20px">作品名称
+            <el-radio-button value="当前作品" @click="scrollToSection('chapter1')"
+                             style="height: 20px">作品名称
             </el-radio-button>
-            <el-radio-button value="作品详情" @click="scrollToSection('chapter3') " style="height: 20px">作品详情
+            <el-radio-button value="作品详情" @click="scrollToSection('chapter3') "
+                             style="height: 20px">作品详情
             </el-radio-button>
-            <el-radio-button value="文稿材料" @click="scrollToSection('chapter2')" style="height: 20px">文稿/材料
+            <el-radio-button value="文稿材料" @click="scrollToSection('chapter2')"
+                             style="height: 20px">文稿/材料
             </el-radio-button>
           </el-radio-group>
         </el-header>
@@ -132,18 +140,19 @@
 
                   <div id="chapter1">
                     <el-tag type="primary" size="large">作品名称</el-tag>
-<!--                    <el-card style="width: 100%;margin-top: 10px;margin-bottom: 10px"-->
-<!--                             shadow="always">-->
-<!--                      作品名称-->
-<!--                    </el-card>-->
+                    <!--                    <el-card style="width: 100%;margin-top: 10px;margin-bottom: 10px"-->
+                    <!--                             shadow="always">-->
+                    <!--                      作品名称-->
+                    <!--                    </el-card>-->
                   </div>
 
-                    <el-card style="width: 100%;margin-top: 10px;margin-bottom: 10px;text-align: center"
-                             shadow="always">
-                      {{ file.workName }}
-                    </el-card>
+                  <el-card
+                    style="width: 100%;margin-top: 10px;margin-bottom: 10px;text-align: center"
+                    shadow="always">
+                    {{ file.workName }}
+                  </el-card>
                   <el-tag id="chapter3" type="primary" size="large">作品详情</el-tag>
-                  <el-card  style="width: 100%;margin-top: 10px;margin-bottom: 10px" shadow="always">
+                  <el-card style="width: 100%;margin-top: 10px;margin-bottom: 10px" shadow="always">
                     <div style="max-width: 800px">
                       <audio v-if="file.format==='mp3'" :src="file.url" controls>
                       </audio>
@@ -166,14 +175,17 @@
                     {{
                       file.manuscriptAndMaterial.split("/")[file.manuscriptAndMaterial.split("/").length - 1]
                     }}
-                    <el-divider />
+                    <el-divider/>
                     <el-scrollbar v-if="file.manuscriptAndMaterial!==''"
                                   style="max-width: 850px;max-height: 1000px;overflow-y: auto;">
-                      <div v-if="file.manuscriptAndMaterial.substring(file.manuscriptAndMaterial.lastIndexOf('.') + 1, file.manuscriptAndMaterial.length)==='pdf'">
-                      <VueOfficePdf :src="file.manuscriptAndMaterial" style="height: 670px"/>
+                      <div
+                        v-if="file.manuscriptAndMaterial.substring(file.manuscriptAndMaterial.lastIndexOf('.') + 1, file.manuscriptAndMaterial.length)==='pdf'">
+                        <VueOfficePdf :src="file.manuscriptAndMaterial" style="height: 670px"/>
                       </div>
-                      <div v-if="file.manuscriptAndMaterial.substring(file.manuscriptAndMaterial.lastIndexOf('.') + 1, file.manuscriptAndMaterial.length)==='doc' ||file.manuscriptAndMaterial.substring(file.manuscriptAndMaterial.lastIndexOf('.') + 1, file.manuscriptAndMaterial.length)==='docx'">
-                        <iframe :src="yulanData.yulandz+file.manuscriptAndMaterial" width="100%" height="670px"></iframe>
+                      <div
+                        v-if="file.manuscriptAndMaterial.substring(file.manuscriptAndMaterial.lastIndexOf('.') + 1, file.manuscriptAndMaterial.length)==='doc' ||file.manuscriptAndMaterial.substring(file.manuscriptAndMaterial.lastIndexOf('.') + 1, file.manuscriptAndMaterial.length)==='docx'">
+                        <iframe :src="yulanData.yulandz+file.manuscriptAndMaterial" width="100%"
+                                height="670px"></iframe>
                       </div>
                     </el-scrollbar>
                   </el-card>
@@ -193,8 +205,8 @@
                   <el-form-item label="附加分" style="margin-top: 20px">
                     <el-input
 
-                              @change="submitScope"
-                              placeholder="请输入分数(未启用)" disabled/>
+                      @change="submitScope"
+                      placeholder="请输入分数(未启用)" disabled/>
                   </el-form-item>
                 </el-row>
                 <el-row style="margin-top: 20px">
@@ -415,15 +427,15 @@ const startDraw = (x, y) => {
 const handleClear = () => {
   ctx.value.clearRect(0, 0, 1000, 500)
 }
-const handleSave = () => {
+const handleSave = async () => {
   formLoading.value = true
   const base64 = canvas.value.toDataURL()
   uploadBase64Image(base64)
   try {
     const data = formDataScope.value as unknown as ScoreVO
 
-    ScoreApi.updateScoreStatus(data)
-    message.success(t('common.updateSuccess'))
+    await ScoreApi.updateScoreStatus(data)
+    message.success("提交成功")
 
     file.value.score = formDataScope.value.score
     visible.value = false
@@ -435,7 +447,7 @@ const handleSave = () => {
     file.value = {score: undefined, workName: "", manuscriptAndMaterial: "", format: "", url: ""}
     workList.value = undefined
   }
-  getScoreStatus()
+
   getTypeList()
   getList()
 }
@@ -491,7 +503,7 @@ const returnScope = () => {
 
 /** 下一个 */
 const nextScope = () => {
-  if (indexScore.value+1 === workList.value.length) {
+  if (indexScore.value + 1 === workList.value.length) {
     return
   }
   indexScore.value++
@@ -500,17 +512,19 @@ const nextScope = () => {
   formDataScope.value.id = undefined
   getWorkLists()
 }
-/** 状态获取 */
-const subScoreInfoStatus = () => {
+/** 提交 */
+const subScoreInfoStatus = async () => {
+  await getWorkLists()
+
   let j = 0
   for (let i = 0; i < workList.value.length; i++) {
     if (workList.value[i].scoreDO.score !== null) {
       j++
     }
   }
-  if (j===workList.value.length){
+  if (j === workList.value.length) {
     visible.value = true
-  }else {
+  } else {
     ElMessageBox.alert('作品并没有打分完毕', '提示', {
       confirmButtonText: 'OK'
     })
@@ -634,8 +648,11 @@ const list = ref<ScoreVO[]>([]) // 列表的数据
 const scoreStatus = ref({
   all: 0,
   finish: 0,
-  remain: 0
-}) // 个人评分统计
+  remain: 0,
+  status: false
+})
+
+// 个人评分统计
 const typeList = ref([]) // 列表的数据
 const total = ref(0) // 列表的总页数
 const queryParams = reactive({//评分查询参数
@@ -672,7 +689,8 @@ const handleNodeClick = () => {
 }
 
 /** 评分查看作品内容 */
-const lookWork = (value) => {
+const lookWork = (value,i) => {
+  indexScore.value=i
   file.value = {score: undefined, workName: "", manuscriptAndMaterial: "", format: "", url: ""}
   console.log(value)
   file.value.format = value.format
@@ -693,6 +711,8 @@ const getTypeList = async () => {
   try {
     const datas = await TypeApi.getScoreTreeList(typeQueryParams)
     typeList.value = handleTreeAll(datas)
+
+    getScoreStatus(typeList.value[0].id)
     // list.value = data.list
   } finally {
     loading.value = false
@@ -750,6 +770,14 @@ const getWorkLists = async () => {
   try {
     const data = await workApi.getworkList(workQueryParams)
     workList.value = data.list
+    if (workList.value.length==1&&workList.value[0].scoreDO===null){
+      ElMessage({
+        message: '作品已经全部提交,请勿重复评分!',
+        type: 'warning',
+      })
+      loading.value = false
+      return
+    }
     if (workList.value.length > 0) {
       lookWorkOne.value = workList.value[indexScore.value]
       file.value.format = workList.value[indexScore.value].format
@@ -761,9 +789,9 @@ const getWorkLists = async () => {
       formDataScope.value.id = workList.value[indexScore.value].scoreDO.id
       formDataScope.value.workId = workList.value[indexScore.value].workId
       pageAndPage.value = 1
-    }else {
+    } else {
       ElMessage({
-        message: '当前类别没有您要评的作品!',
+        message: '本次上传作品为空!',
         type: 'warning',
       })
     }
@@ -783,10 +811,10 @@ const getList = async () => {
   }
 }
 /** 查询列表 */
-const getScoreStatus = async () => {
+const getScoreStatus = async (id:number) => {
   loading.value = true
   try {
-    const data = await ScoreApi.getScoreStatus()
+    const data = await ScoreApi.getScoreStatus(id)
     scoreStatus.value = data
     console.log(scoreStatus.value)
     console.log(data)
@@ -816,7 +844,7 @@ const formDataScope = ref({
   url: undefined
 })
 /** 添加/修改操作 */
-const submitScope = async () => {
+const submitScope = async (type: true) => {
   if (file.value.score === null) {
     formType.value = 'create'
   } else {
@@ -831,16 +859,22 @@ const submitScope = async () => {
     const data = formDataScope.value as unknown as ScoreVO
     if (formType.value === 'create') {
       formDataScope.value.id = await ScoreApi.createScore(data)
-      message.success(t('common.createSuccess'))
+      if (type) {
+        message.success(t('common.createSuccess'))
+      }
     } else {
       await ScoreApi.updateScore(data)
-      message.success(t('common.updateSuccess'))
+      if (type) {
+        message.success(t('common.updateSuccess'))
+      }
     }
+
     file.value.score = formDataScope.value.score
     dialogVisible.value = false
     // 发送操作成功的事件
     emit('success')
   } finally {
+    await getWorkLists()
     formLoading.value = false
   }
 }
@@ -878,7 +912,6 @@ const handleExport = async () => {
 onMounted(() => {
   getTypeList()
   getList()
-  getScoreStatus()
 })
 </script>
 <style>