zengyicheng 1 year ago
parent
commit
8a209f8b83

+ 1 - 1
dist/index.html

@@ -24,4 +24,4 @@
             height: 100%;
             width: 100%;
             background: #e6eaf0;
-        }</style><link href=./static/css/app.a9ce6e167997af1fbbcf7ff80e0f8701.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.9cf3645489e7b6bb2704.js></script><script type=text/javascript src=./static/js/app.82b62534a779105644b7.js></script></body></html><script>document.domain = document.domain.split(".").slice(-2).join(".");</script>
+        }</style><link href=./static/css/app.e7dbe99ed517939bd369d46ce676f946.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.dca404bd3711c644c2ae.js></script><script type=text/javascript src=./static/js/app.b86c53314cddf2390d8c.js></script></body></html><script>document.domain = document.domain.split(".").slice(-2).join(".");</script>

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.a9ce6e167997af1fbbcf7ff80e0f8701.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.e7dbe99ed517939bd369d46ce676f946.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.e7dbe99ed517939bd369d46ce676f946.css.map


BIN
dist/static/img/pzBtn.604a778.png


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.82b62534a779105644b7.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.82b62534a779105644b7.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.b86c53314cddf2390d8c.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.b86c53314cddf2390d8c.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/vendor.dca404bd3711c644c2ae.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/vendor.dca404bd3711c644c2ae.js.map


+ 5 - 4
src/App.vue

@@ -159,7 +159,7 @@ export default {
         return;
       }
       var a = 0;
-      if (userInfo.type == 2 || userInfo.type == 4) {
+      if (userInfo.type == 4) {
         if (navTabs.indexOf(router_path) != -1) {
           a = 1;
           this.isShowNav = true;
@@ -168,7 +168,8 @@ export default {
       } else if (
         userInfo.type == 5 ||
         userInfo.type == 6 ||
-        userInfo.type == 0
+        userInfo.type == 0 ||
+        userInfo.type == 2
       ) {
         if (navTabs2.indexOf(router_path) != -1) {
           a = 1;
@@ -211,13 +212,13 @@ export default {
       const toPath = to.path;
       const fromName = from.name;
       var a = 0;
-      if (userInfo.type == 2 || userInfo.type == 4) {
+      if (userInfo.type == 4) {
         if (navTabs.indexOf(toPath) != -1) {
           a = 1;
           this.isShowNav = true;
         }
         this.nav = navTabs;
-      } else if (userInfo.type == 5 || userInfo.type == 6 || userInfo.type == 0) {
+      } else if (userInfo.type == 5 || userInfo.type == 6 || userInfo.type == 0 || userInfo.type == 2) {
         if (navTabs2.indexOf(toPath) != -1) {
           a = 1;
           this.isShowNav = true;

BIN
src/assets/pzBtn.png


BIN
src/assets/pzBtn2.png


+ 233 - 137
src/components/pages/disAdmin/score.vue

@@ -1,57 +1,58 @@
 <template>
-  <div class="pb_content">
-    <div class="pb_head">
+  <div class="pb_content" style="width: 100%">
+    <div
+      class="pb_head"
+      style="
+        display: flex;
+        flex-direction: row;
+        flex-wrap: nowrap;
+        justify-content: space-between;
+        align-items: center;
+      "
+    >
       <div>
         <span>评分管理</span>
       </div>
+      <div @click="goTo('/eventCenter?steps=' + '1')" class="clear">返回</div>
     </div>
     <div class="touTop" v-if="CourseType.length > 0">
       <div class="touLeft">
-        <!-- <div>
-          <div>案例分类</div>
-          <el-select v-model="anliType" clearable>
-            <el-option value="0" label="所有分类"></el-option>
-          </el-select>
-        </div> -->
-        <div>
-          <div
-            class="all_choose"
-            v-for="(item, index) in CourseType[0]"
-            :key="index"
-          >
-            <span>{{ item.name }}</span>
-            <el-select
-              v-model="courseTypeId[item.id]"
-              placeholder="请选择"
-              @change="search"
+        <div class="sTop">
+          <div>
+            <div
+              class="all_choose"
+              v-for="(item, index) in CourseType[0]"
+              :key="index"
             >
-              <el-option label="全部" value="1">全部</el-option>
-              <el-option
-                v-for="item1 in CourseTypeJson[item.id]"
-                :key="item1.id"
-                :label="item1.name"
-                :value="item1.id"
+              <span>{{ item.name }}</span>
+              <el-select
+                v-model="courseTypeId[item.id]"
+                placeholder="请选择"
+                @change="search"
               >
-              </el-option>
-            </el-select>
+                <el-option label="全部" value="1">全部</el-option>
+                <el-option
+                  v-for="item1 in CourseTypeJson[item.id]"
+                  :key="item1.id"
+                  :label="item1.name"
+                  :value="item1.id"
+                >
+                </el-option>
+              </el-select>
+            </div>
           </div>
-          <!-- <div class="anliCss">
-            <div>案例筛选</div>
-            <el-select v-model="anliBox" clearable @change="search">
-              <el-option value="" label="全部"></el-option>
-              <el-option value="1" label="经典案例"></el-option>
-              <el-option value="0" label="平台案例"></el-option>
-            </el-select>
-          </div> -->
+          <div @click="clear" class="clear">重置</div>
         </div>
-        <div @click="clear" class="clear">重置</div>
         <div class="aName">
+          <div class="search" @click="search">
+            <img src="../../../assets/icon/search.png" alt="" />
+          </div>
           <el-input
             v-model="anliName"
             auto-complete="off"
             placeholder="请输入案例名称"
-            @input="search"
           ></el-input>
+          <!-- @input="search" -->
         </div>
       </div>
       <!-- 导出所有评分数据 -->
@@ -93,14 +94,19 @@
           :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }"
           :row-class-name="tableRowClassName"
         >
-          <el-table-column label="排名" min-width="10" align="center">
+          <el-table-column label="序号" min-width="10" align="center">
             <template slot-scope="scope">
               <div>
                 {{ (page - 1) * 10 + scope.$index + 1 }}
               </div>
             </template>
           </el-table-column>
-          <el-table-column label="创建人" min-width="10" align="center">
+          <el-table-column
+            label="创建人"
+            min-width="10"
+            align="center"
+            v-if="tType == 0"
+          >
             <template slot-scope="scope">
               <div class="userImg">
                 <div>
@@ -116,27 +122,87 @@
               </div>
             </template>
           </el-table-column>
-          <!-- <el-table-column label="评委" min-width="10" align="center">
+          <el-table-column
+            label="我的评分"
+            min-width="10"
+            align="center"
+            v-if="tType == 2"
+          >
             <template slot-scope="scope">
-              <div>{{ scope.row.scoreName ? scope.row.scoreName : "-" }}</div>
+              <div>{{ scope.row.ownScore ? scope.row.ownScore : "-" }}</div>
             </template>
-          </el-table-column> -->
-          <el-table-column label="评委1" min-width="10" align="center">
+          </el-table-column>
+          <el-table-column
+            label="所属单位"
+            min-width="10"
+            align="center"
+            v-if="tType == 0"
+          >
             <template slot-scope="scope">
-              <div>{{ scope.row.firstPw ? scope.row.firstPw : "-" }}</div>
+              <div>
+                {{ scope.row.school ? scope.row.school : "暂无单位" }}
+              </div>
             </template>
           </el-table-column>
-          <el-table-column label="评委2" min-width="10" align="center">
+          <el-table-column
+            label="评委姓名/分数"
+            min-width="10"
+            align="center"
+            v-if="tType == 0"
+          >
             <template slot-scope="scope">
-              <div>{{ scope.row.secondPw ? scope.row.secondPw : "-" }}</div>
+              <div
+                v-for="(item, index) in scope.row.scoreList"
+                :key="index"
+                v-if="scope.row.scoreList.length > 0"
+              >
+                {{ item.name + "/" + item.score }}
+              </div>
+              <div v-else>"-"</div>
             </template>
           </el-table-column>
-          <el-table-column label="评分结果" min-width="10" align="center">
+          <!-- <el-table-column
+            label="评委姓名/分数"
+            min-width="10"
+            align="center"
+            v-if="tType == 0"
+          >
+            <template slot-scope="scope">
+              <div>
+                {{
+                  scope.row.secondPw
+                    ? scope.row.secondPw.name + "/" + scope.row.secondPw.score
+                    : "-"
+                }}
+              </div>
+            </template>
+          </el-table-column> -->
+          <el-table-column
+            label="平均得分"
+            min-width="10"
+            align="center"
+            v-if="tType == 0"
+          >
             <template slot-scope="scope">
               <div>{{ scope.row.sum ? scope.row.sum : "-" }}</div>
             </template>
           </el-table-column>
-          <el-table-column label="所获奖项" min-width="10" align="center">
+          <el-table-column
+            label="案例分类"
+            min-width="20"
+            align="center"
+            v-if="tType == 2"
+          >
+            <template slot-scope="scope">
+              <div>{{ scope.row.typename ? scope.row.typename : "-" }}</div>
+            </template>
+          </el-table-column>
+          <!-- <el-table-column
+            label="所获奖项"
+            min-width="10"
+            align="center"
+            v-if="tType == 2"
+          >
             <template slot-scope="scope">
               <div>
                 {{
@@ -154,17 +220,58 @@
                 }}
               </div>
             </template>
-          </el-table-column>
-          <el-table-column label="时间" min-width="10" align="center">
+          </el-table-column> -->
+          <el-table-column
+            label="时间"
+            min-width="10"
+            align="center"
+            v-if="tType == 2"
+          >
             <template slot-scope="scope">
               <div>{{ scope.row.scoreTime ? scope.row.scoreTime : "-" }}</div>
             </template>
           </el-table-column>
-          <el-table-column label="操作" min-width="20">
+          <el-table-column label="操作" min-width="20" v-if="tType == 2">
             <template slot-scope="scope">
               <div class="tableButton">
-                <div @click="lookDetail(scope.row.id)">案例详情</div>
-                <div @click="openScore(scope.row, 1)">立即评分</div>
+                <div
+                  v-if="tType == 0"
+                  @click="
+                    goTo(
+                      '/anliDetail?aid=' +
+                        scope.row.id +
+                        '&userid=' +
+                        userid +
+                        '&oid=' +
+                        oid +
+                        '&org=' +
+                        org +
+                        '&tType=' +
+                        tType
+                    )
+                  "
+                >
+                  案例详情
+                </div>
+                <!-- <div @click="openScore(scope.row, 1)">立即评分</div> -->
+                <div
+                  @click="
+                    goTo(
+                      '/anliDetail?aid=' +
+                        scope.row.id +
+                        '&userid=' +
+                        userid +
+                        '&oid=' +
+                        oid +
+                        '&org=' +
+                        org +
+                        '&tType=' +
+                        tType
+                    )
+                  "
+                >
+                  立即评分
+                </div>
                 <!-- <div @click="openScore(scope.row, 2)">推荐</div> -->
               </div>
             </template>
@@ -315,6 +422,10 @@
 export default {
   data() {
     return {
+      userid: this.$route.query.userid,
+      oid: this.$route.query.oid,
+      org: this.$route.query.org,
+      tType: this.$route.query.type,
       page: 1,
       total: 0,
       // anliType: "",
@@ -469,7 +580,7 @@ export default {
       for (var i = 0; i < this.CourseType[0].length; i++) {
         if (this.courseTypeId[this.CourseType[0][i].id] == "1") {
           // typeE.push(this.CourseType[0][i].id);
-          typeE = []
+          typeE = [];
         } else if (this.courseTypeId[this.CourseType[0][i].id] != "") {
           if (this.CourseType[0][i].name == "案例组别") {
             typea = this.courseTypeId[this.CourseType[0][i].id];
@@ -526,6 +637,7 @@ export default {
           for (var j = 0; j < p.length; j++) {
             let sum = 0;
             let isScore = 0;
+            p[j].scoreList = [];
             for (var i = 0; i < scoreList.length; i++) {
               if (p[j].id == scoreList[i].rid) {
                 var point = JSON.parse(scoreList[i].score);
@@ -535,13 +647,23 @@ export default {
                 var sumScore = Math.round((a + b + c) / 3);
                 sum += sumScore;
                 isScore++;
-                if (!p[j].firstPw) {
-                  p[j].firstPw = sumScore;
-                } else {
-                  if (!p[j].secondPw) {
-                    p[j].secondPw = sumScore;
+                if (scoreList[i].scorer == this.userid) {
+                  if (!p[j].ownScore) {
+                    p[j].ownScore = sumScore;
                   }
                 }
+                p[j].scoreList.push({
+                  name: scoreList[i].scoreName,
+                  score: sumScore,
+                });
+                //  else {
+                //   if (!p[j].secondPw) {
+                //     p[j].secondPw = {
+                //       score: sumScore,
+                //       name: scoreList[i].scoreName,
+                //     };
+                //   }
+                // }
               }
             }
             p[j].sum = isScore == 0 ? 0 : (sum / isScore).toFixed(2);
@@ -553,68 +675,6 @@ export default {
           console.error(err);
         });
     },
-    // getAnliList(rc) {
-    //   this.isLoading = true;
-    //   var typeE = [];
-    //   var typea, typeb, typec, typed;
-    //   for (var i = 0; i < this.CourseType[0].length; i++) {
-    //     if (this.courseTypeId[this.CourseType[0][i].id] == "1") {
-    //       typeE.push(this.CourseType[0][i].id);
-    //     } else if (this.courseTypeId[this.CourseType[0][i].id] != "") {
-    //       if (this.CourseType[0][i].name == "案例组别") {
-    //         typea = this.courseTypeId[this.CourseType[0][i].id];
-    //       } else if (this.CourseType[0][i].name == "年级") {
-    //         typeb = this.courseTypeId[this.CourseType[0][i].id];
-    //       } else if (this.CourseType[0][i].name == "学科") {
-    //         typec = this.courseTypeId[this.CourseType[0][i].id];
-    //       }
-    //       this.courseTypeSon.push(this.courseTypeId[this.CourseType[0][i].id]);
-    //     }
-    //   }
-    //   let params = {
-    //     typea: typea != undefined ? typea : "",
-    //     typeb: typeb != undefined ? typeb : "",
-    //     typec: typec != undefined ? typec : "",
-    //     typed: typed != undefined ? typed : "",
-    //     typeE: typeE.join(","),
-    //     cn: this.anliBox == "" ? 0 : this.anliBox,
-    //     cid: rc ? rc : "",
-    //     title: this.anliName,
-    //     page: this.page,
-    //   };
-    //   this.ajax
-    //     .get(this.$store.state.api + "selectPoint", params)
-    //     .then((res) => {
-    //       this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
-    //       this.tableData = res.data[0];
-    //       for (var i = 0; i < this.tableData.length; i++) {
-    //         this.tableData[i].info = JSON.parse(this.tableData[i].info);
-    //         this.tableData[i].overview = JSON.parse(this.tableData[i].overview);
-    //         this.tableData[i].process = JSON.parse(this.tableData[i].process);
-    //         this.tableData[i].proact = JSON.parse(this.tableData[i].proact);
-    //         this.tableData[i].proexc = JSON.parse(this.tableData[i].proexc);
-    //         this.tableData[i].results = JSON.parse(this.tableData[i].results);
-    //         if (this.tableData[i].score != null) {
-    //           var point = JSON.parse(this.tableData[i].score);
-    //           var a = parseInt(point.first);
-    //           var b = parseInt(point.second);
-    //           var c = parseInt(point.third);
-    //           // var d = parseInt(point.fourth);
-    //           // var e = parseInt(point.fivth);
-    //           // var sumScore = Math.round((a + b + c + d + e) / 5);
-    //           var sumScore = Math.round((a + b + c) / 3);
-    //           this.tableData[i].sum = sumScore;
-    //         }
-    //         var a = JSON.parse(JSON.stringify(this.tableData));
-    //         a.sort((item1, item2) => item2.sum - item1.sum);
-    //         this.tableData = a;
-    //       }
-    //       this.isLoading = false;
-    //     })
-    //     .catch((err) => {
-    //       console.error(err);
-    //     });
-    // },
     selectType(rc) {
       this.ajax
         .get(this.$store.state.api + "selectMatTypeYT")
@@ -642,7 +702,7 @@ export default {
     },
     getAdmin() {
       let params = {
-        uid: this.$store.state.userInfo.userid,
+        uid: this.userid,
         cn: "",
         page: this.page,
       };
@@ -656,7 +716,7 @@ export default {
         });
     },
     getReviewerOrAdmin() {
-      if (this.$store.state.userInfo.type == 6) {
+      if (this.tType == 6) {
         this.getUser();
       } else {
         this.selectType();
@@ -664,7 +724,7 @@ export default {
     },
     getUser() {
       let params = {
-        uid: this.$store.state.userInfo.userid,
+        uid: this.userid,
       };
       this.ajax
         .get(this.$store.state.api + "selectCaseUser", params)
@@ -691,7 +751,7 @@ export default {
     getScore(id, t) {
       let params = {
         rid: id,
-        suser: this.$store.state.userInfo.userid,
+        suser: this.userid,
       };
       this.ajax
         .get(this.$store.state.api + "selectScore", params)
@@ -747,7 +807,7 @@ export default {
       let params = [
         {
           rid: this.scoreDetail[0].id,
-          suser: this.$store.state.userInfo.userid,
+          suser: this.userid,
           s: JSON.stringify(this.scoreDetail[0].scoreAll),
         },
       ];
@@ -804,9 +864,19 @@ export default {
           console.error(err);
         });
     },
-    lookDetail(aid) {
-      window.open(window.origin + "/#/anliDetail?aid=" + aid);
-    },
+    // lookDetail(aid) {
+    //   window.open(
+    //     window.origin +
+    //       "/#/anliDetail?aid=" +
+    //       aid +
+    //       "&userid=" +
+    //       this.$store.state.userInfo.userid +
+    //       "&oid=" +
+    //       this.$store.state.userInfo.oid +
+    //       "&tType=" +
+    //       this.$store.state.userInfo.type
+    //   );
+    // },
     exportAllScore() {
       this.ajax
         .get(this.$store.state.api + "selectAllScore")
@@ -866,7 +936,7 @@ export default {
         .then((res) => {
           var scoreList = res.data[0];
           let params = {
-            uid: this.$store.state.userInfo.userid,
+            uid: this.userid,
           };
           this.ajax
             .get(this.$store.state.api + "selectScoreByUid", params)
@@ -1017,29 +1087,31 @@ export default {
   flex-wrap: nowrap;
   align-items: center;
   justify-content: space-between;
-  width: 95%;
+  width: 94%;
 }
 .touLeft {
   display: flex;
   flex-direction: row;
   flex-wrap: nowrap;
   align-items: baseline;
+  justify-content: space-between;
+  width: 100%;
 }
-.touLeft > div:nth-child(1) {
+.sTop > div:nth-child(1) {
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   align-items: center;
 }
 
-.touLeft > div > div {
+.sTop > div > div {
   margin: 0 10px 0 0;
   display: flex;
   flex-direction: row;
   align-items: center;
 }
 
-.touLeft > div > div {
+.sTop > div > div {
   margin-right: 10px;
 }
 
@@ -1237,6 +1309,7 @@ export default {
   border-radius: 5px;
   line-height: 35px;
   cursor: pointer;
+  font-size: 16px;
 }
 .anliCss {
   display: flex;
@@ -1429,11 +1502,34 @@ export default {
   width: 100%;
   height: 100%;
 }
-.aName {
-  margin-left: 10px;
-}
 
 .aName >>> .el-input__inner {
   width: 300px;
 }
+
+.sTop {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  justify-content: center;
+  align-items: center;
+}
+
+.aName {
+  position: relative;
+}
+
+.search {
+  width: 25px;
+  position: absolute;
+  top: 7px;
+  right: 10px;
+  z-index: 9;
+  cursor: pointer;
+}
+
+.search > img {
+  width: 100%;
+  height: 100%;
+}
 </style>

+ 13 - 4
src/components/pages/race/eventCenter.vue

@@ -13,15 +13,24 @@
     </div>
     <div class="center_nav">
       <span @click="steps = 1" :class="{ active: steps == 1 }">活动信息</span>
-      <span @click="steps = 2" :class="{ active: steps == 2 }">我的案例</span>
-      <el-button
+      <span
+        v-if="tType == 0 || tType == 2"
+        @click="
+          goTo('/score1?userid=' + userid + '&oid=' + oid + '&org=' + org + '&type=' + tType)
+        "
+        >我的评审</span
+      >
+      <span v-else @click="steps = 2" :class="{ active: steps == 2 }"
+        >我的案例</span
+      >
+      <!-- <el-button
         v-if="tType == 0"
         @click="
           goTo('/score1?userid=' + userid + '&oid=' + oid + '&org=' + org)
         "
         type="primary"
         >查看评分</el-button
-      >
+      > -->
       <!-- <span @click="steps = 3" :class="{ active: steps == 3 }">项目进度</span> -->
     </div>
     <div :class="steps == 1 ? 'center_body' : 'center_body1'">
@@ -31,7 +40,7 @@
         :oid="oid"
         :org="org"
         :type="tType"
-        v-if="steps == 2"
+        v-else-if="steps == 2"
       ></MyAnli>
       <!-- <ProjectJd v-if="steps == 3"></ProjectJd> -->
     </div>

+ 237 - 78
src/components/pages/race/eventCenter/anliDetail.vue

@@ -2,6 +2,7 @@
   <div
     class="center_content"
     ref="cenBox"
+    style="position: relative"
     @scroll.passive="allScrollTop($event)"
   >
     <div class="detaBox">
@@ -86,7 +87,18 @@
             </div>
           </div>
           <el-button
-            @click="goTo('/eventCenter?steps=' + '2')"
+            @click="
+              goTo(
+                '/score1?userid=' +
+                  userid +
+                  '&oid=' +
+                  oid +
+                  '&org=' +
+                  org +
+                  '&type=' +
+                  tType
+              )
+            "
             style="
               position: absolute;
               right: 100px;
@@ -95,9 +107,9 @@
             "
             >返回</el-button
           >
-          <div class="getScore" v-if="$store.state.userInfo.type != 1">
+          <!-- <div class="getScore" v-if="$store.state.userInfo.type != 1">
             <el-button @click="openScore(anliBox[0])">评分</el-button>
-          </div>
+          </div> -->
         </div>
       </div>
       <div class="navBox" :class="{ isNavBox: isNavTop >= 300 }">
@@ -2338,6 +2350,85 @@
         回到顶部
       </div>
     </div>
+    <div class="pButton" @click="psDialog = true" v-if="tType == 2">
+      <!-- 批 -->
+      <img src="../../../../assets/pzBtn2.png" style="width: 25px" alt="" />
+    </div>
+    <div v-if="psDialog == true" class="newDialogCss">
+      <div class="pzTop2">
+        <!-- <div>批注</div>
+        <div @click="pzDialog = false">
+          <img src="../assets/close1.png" alt="" />
+        </div> -->
+        <div class="checkbox">
+          <div class="check" style="font-size: 25px">评审区域</div>
+          <img
+            src="../../../../assets/pzBtn.png"
+            @click="psDialog = false"
+            alt=""
+          />
+        </div>
+      </div>
+      <div class="pzBox">
+        <div class="addPzButton">
+          <div class="scoreTitle">
+            <div>{{ scoreDetail[0].uname }}</div>
+          </div>
+          <div class="psBox">
+            <div>
+              <span>项目式学习</span
+              ><el-input-number
+                class="number"
+                v-model="scoreDetail[0].scoreAll.first"
+                :controls="false"
+                :min="0"
+                :max="100"
+              ></el-input-number>
+            </div>
+            <div>
+              <span>项目成果</span
+              ><el-input-number
+                class="number"
+                v-model="scoreDetail[0].scoreAll.second"
+                :controls="false"
+                :min="0"
+                :max="100"
+              ></el-input-number>
+            </div>
+            <div>
+              <span>项目评价</span
+              ><el-input-number
+                class="number"
+                v-model="scoreDetail[0].scoreAll.third"
+                :controls="false"
+                :min="0"
+                :max="100"
+              ></el-input-number>
+            </div>
+            <div style="border-top: 1px solid #eee; padding-top: 10px">
+              <span>平均分</span
+              ><span class="number" style="font-size: 35px; color: #4b79ce">{{
+                Math.floor(
+                  (scoreDetail[0].scoreAll.first +
+                    scoreDetail[0].scoreAll.second +
+                    scoreDetail[0].scoreAll.third) /
+                    3
+                )
+              }}</span>
+            </div>
+            <div style="border-top: 1px solid #eee; padding-top: 10px">
+              <span>总分</span
+              ><span class="number" style="font-size: 35px; color: #4b79ce">{{
+                scoreDetail[0].scoreAll.first +
+                scoreDetail[0].scoreAll.second +
+                scoreDetail[0].scoreAll.third
+              }}</span>
+            </div>
+            <div class="addScore" @click="addScore">评分</div>
+          </div>
+        </div>
+      </div>
+    </div>
     <el-dialog
       title="查看详情"
       :visible.sync="dialogVisibleBrief"
@@ -2412,7 +2503,7 @@
         >
       </div>
     </el-dialog>
-    <el-dialog
+    <!-- <el-dialog
       title="评分"
       :visible.sync="dialogVisibleScore"
       :append-to-body="true"
@@ -2484,7 +2575,7 @@
           <div class="addScore" @click="addScore">进行评分</div>
         </div>
       </div>
-    </el-dialog>
+    </el-dialog> -->
   </div>
 </template>
 
@@ -2550,9 +2641,11 @@ export default {
         effData: {},
       },
       fileImg: "",
-      userid: this.$store.state.userInfo.userid,
-      oid: this.$store.state.userInfo.oid,
+      userid: this.$route.query.userid,
+      oid: this.$route.query.oid,
+      org: this.$route.query.org,
       aid: this.$route.query.aid,
+      tType: this.$route.query.tType,
       anliBox: [],
       imgAnliBox: [],
       noBanner: require("../../../../assets/noBanner.jpg"),
@@ -2603,6 +2696,7 @@ export default {
           sumScore: 0,
         },
       ],
+      psDialog: false,
     };
   },
   methods: {
@@ -2675,10 +2769,10 @@ export default {
       this.scoreDetail[0].uname = a.name;
       this.getScore(a.id);
     },
-    getScore(id, t) {
+    getScore(id) {
       let params = {
         rid: id,
-        suser: this.$store.state.userInfo.userid,
+        suser: this.userid,
       };
       this.ajax
         .get(this.$store.state.api + "selectScore", params)
@@ -2698,7 +2792,7 @@ export default {
             };
             this.scoreDetail[0].sumScore = 0;
           }
-          this.dialogVisibleScore = true;
+          // this.dialogVisibleScore = true;
         })
         .catch((err) => {
           console.error(err);
@@ -2717,8 +2811,8 @@ export default {
       }
       let params = [
         {
-          rid: this.scoreDetail[0].id,
-          suser: this.$store.state.userInfo.userid,
+          rid: this.aid,
+          suser: this.userid,
           s: JSON.stringify(this.scoreDetail[0].scoreAll),
         },
       ];
@@ -2744,7 +2838,8 @@ export default {
               sumScore: 0,
             },
           ];
-          this.dialogVisibleScore = false;
+          this.getScore(this.aid);
+          // this.dialogVisibleScore = false;
         })
         .catch((err) => {
           console.error(err);
@@ -3252,7 +3347,8 @@ export default {
         ) {
           this.pptImgUrl2.proData[i].showType = 2;
           this.pptImgUrl2.proData[i].url =
-            "https://view.officeapps.live.com/op/view.aspx?src=" + encodeURIComponent(u);
+            "https://view.officeapps.live.com/op/view.aspx?src=" +
+            encodeURIComponent(u);
         } else if (
           u.split(".")[u.split(".").length - 1].toLocaleUpperCase() == "PDF"
         ) {
@@ -3279,7 +3375,8 @@ export default {
         ) {
           this.pptImgUrl2.excData.showType = 2;
           this.pptImgUrl2.excData.url =
-            "https://view.officeapps.live.com/op/view.aspx?src=" + encodeURIComponent(u);
+            "https://view.officeapps.live.com/op/view.aspx?src=" +
+            encodeURIComponent(u);
         } else if (
           u.split(".")[u.split(".").length - 1].toLocaleUpperCase() == "PDF"
         ) {
@@ -3306,7 +3403,8 @@ export default {
         ) {
           this.pptImgUrl2.effData.showType = 2;
           this.pptImgUrl2.effData.url =
-            "https://view.officeapps.live.com/op/view.aspx?src=" + encodeURIComponent(u);
+            "https://view.officeapps.live.com/op/view.aspx?src=" +
+            encodeURIComponent(u);
         } else if (
           u.split(".")[u.split(".").length - 1].toLocaleUpperCase() == "PDF"
         ) {
@@ -3906,67 +4004,7 @@ export default {
       }
       this.$forceUpdate();
     },
-    // lookBig(u) {
-    //   var b = [
-    //     "DOC",
-    //     "DOCX",
-    //     "DOCM",
-    //     "DOTM",
-    //     "DOTX",
-    //     "PPTX",
-    //     "PPSX",
-    //     "PPT",
-    //     "PPS",
-    //     "PPTM",
-    //     "POTM",
-    //     "PPAM",
-    //     "POTX",
-    //     "PPSM",
-    //     "DOT",
-    //     "XLSX",
-    //     "XLS",
-    //   ];
-    //   var c = [
-    //     "BMP",
-    //     "PJP",
-    //     "APNG",
-    //     "PNG",
-    //     "JPG",
-    //     "GIF",
-    //     "SVG",
-    //     "JPEG",
-    //     "JPG",
-    //     "ICO",
-    //     "PGPEG",
-    //     "AVIF",
-    //   ];
-    //   if (
-    //     b.indexOf(u.split(".")[u.split(".").length - 1].toLocaleUpperCase()) !=
-    //     -1
-    //   ) {
-    //     this.pptImgUrl =
-    //       "https://view.officeapps.live.com/op/view.aspx?src=" +
-    //       encodeURIComponent(u);
-    //     this.showPDF = false;
-    //     this.dialogVisible = true;
-    //   } else if (
-    //     u.split(".")[u.split(".").length - 1].toLocaleUpperCase() == "PDF"
-    //   ) {
-    //     this.pptImgUrl = u;
-    //     this.showPDF = true;
-    //     this.dialogVisible = true;
-    //   } else if (
-    //     c.indexOf(u.split(".")[u.split(".").length - 1].toLocaleUpperCase()) !=
-    //     -1
-    //   ) {
-    //     this.previewImg(u);
-    //   } else {
-    //     this.videoDetail = {};
-    //     this.playerOptions.sources[0].src = u;
-    //     this.videoDetail = this.playerOptions;
-    //     this.videoVisible = true;
-    //   }
-    // },
+    selectPs() {},
   },
   computed: {
     selectHeight() {
@@ -3983,6 +4021,12 @@ export default {
   created() {
     this.selectAnLi();
   },
+  mounted() {
+    if (this.tType == 2) {
+      this.psDialog = true;
+      this.getScore(this.aid);
+    }
+  },
 };
 </script>
 
@@ -4971,7 +5015,7 @@ ol {
 }
 .addScore {
   width: 75%;
-  margin: 10px auto;
+  margin: 20px auto;
   background: #409efe;
   color: #fff;
   height: 35px;
@@ -4980,4 +5024,119 @@ ol {
   border-radius: 5px;
   cursor: pointer;
 }
+
+.pButton {
+  position: fixed;
+  color: #fff;
+  text-align: center;
+  cursor: pointer;
+  z-index: 999;
+  right: 0;
+  top: 250px;
+  width: 50px;
+  height: 50px;
+  background: #fff;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  box-shadow: 0px 0 8px 0px #c5c5c5;
+}
+
+.newDialogCss {
+  position: fixed;
+  right: 0;
+  top: 250px;
+  width: 340px;
+  height: calc(100% - 80px);
+  z-index: 999;
+  background: #fff;
+  border-radius: 15px;
+  border-top-right-radius: 0px;
+  border-bottom-right-radius: 0px;
+  overflow: hidden;
+}
+
+.pzTop2 .checkbox {
+  display: flex;
+  align-items: center;
+  padding: 15px 30px;
+  flex: 0 0 auto;
+  font-weight: bold;
+  border-bottom: 1px solid #eee;
+  justify-content: space-between;
+}
+
+.pzTop2 .check {
+  text-align: center;
+  cursor: pointer;
+  box-sizing: border-box;
+  display: flex;
+}
+
+.pzTop2 img {
+  width: 25px;
+  cursor: pointer;
+}
+
+.pzBox {
+  height: calc(100% - 60px);
+  /* background: #ededed; */
+  background: #fff;
+  /* border-radius: 0 0 15px 15px; */
+}
+
+.addPzButton {
+  position: relative;
+  margin-top: 3px;
+  width: 100%;
+}
+
+.addPzButton .img1 {
+  position: absolute;
+  top: 50%;
+  right: 25px;
+  transform: translateY(-50%);
+  height: 100%;
+  display: flex;
+  align-items: center;
+}
+
+.addPzButton .img1 div {
+  display: flex;
+}
+
+.addPzButton .img1 div img {
+  width: 28px;
+  margin-left: 10px;
+  cursor: pointer;
+}
+
+.addPzButton .img1 div span {
+  font-size: 14px;
+  margin: 4px 0 0 3px;
+  color: hsl(0, 0%, 69%);
+}
+
+.psBox {
+  margin-bottom: 50px;
+}
+
+.psBox > div:not(:last-child) {
+  display: flex;
+  align-items: center;
+  margin-top: 20px;
+  padding: 0px 30px;
+}
+
+.psBox > div > span:nth-child(1) {
+  width: 280px;
+  font-size: 15px;
+  text-align: left;
+  margin-right: 10px;
+}
+
+.psBox > div > .number {
+  width: 100px;
+  text-align: center;
+}
 </style>

+ 3 - 3
src/components/tools/leftBar.vue

@@ -2,7 +2,7 @@
   <div class="bottom">
     <el-row class="tac">
       <el-col :span="12">
-        <el-menu :default-active="path" background-color="#fff" text-color="#777" active-text-color="#fff" router v-if="$store.state.userInfo.type == 2 || $store.state.userInfo.type == 4">
+        <el-menu :default-active="path" background-color="#fff" text-color="#777" active-text-color="#fff" router v-if="$store.state.userInfo.type == 4">
           <el-menu-item index="/score" v-if="nav.indexOf('/score') != -1">
             <div class="img" v-if="path == '/score'">
               <img src="../../assets/icon/works-active.png" alt="" />
@@ -30,7 +30,7 @@
             </div>
             <span>区县管理</span>
           </el-menu-item> -->
-          <el-menu-item index="/user" v-if="nav.indexOf('/user') != -1 && $store.state.userInfo.type == 2">
+          <el-menu-item index="/user" v-if="nav.indexOf('/user') != -1">
             <div class="img" v-if="path == '/user'">
               <img src="../../assets/icon/user-active.png" alt="" />
             </div>
@@ -67,7 +67,7 @@
             <span>通知公告</span>
           </el-menu-item> -->
         </el-menu>
-        <el-menu :default-active="path" background-color="#fff" text-color="#777" active-text-color="#fff" router v-else-if="$store.state.userInfo.type == 5 || $store.state.userInfo.type == 6 || $store.state.userInfo.type == 0">
+        <el-menu :default-active="path" background-color="#fff" text-color="#777" active-text-color="#fff" router v-else-if="$store.state.userInfo.type == 5 || $store.state.userInfo.type == 6 || $store.state.userInfo.type == 0 || $store.state.userInfo.type == 2">
           <el-menu-item index="/score1" v-if="nav.indexOf('/score1') != -1">
             <div class="img" v-if="path == '/score1'">
               <img src="../../assets/icon/works-active.png" alt="" />

Some files were not shown because too many files changed in this diff