zengyicheng 2 rokov pred
rodič
commit
3dd4048938

+ 344 - 19
src/components/pages/munAdmin/anliList.vue

@@ -7,23 +7,46 @@
     </div>
     <div class="touTop">
       <div class="touLeft">
-        <div>
+        <!-- <div>
           <div>案例分类</div>
           <el-select v-model="anliType" clearable>
             <el-option value="0" label="所有分类"></el-option>
           </el-select>
+        </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="getTypeName"
+          >
+            <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>案例筛选</div>
-          <el-select v-model="anliBox" clearable>
-            <el-option value="0" label="全部"></el-option>
+          <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>
       <div class="touRight">
         <div></div>
         <div>
-          <el-button>分配案例</el-button>
+          <el-button @click="dialogVisibleMember = true">分配案例</el-button>
         </div>
       </div>
     </div>
@@ -50,10 +73,76 @@
       </div>
     </div>
     <div class="student_page">
-      <el-pagination background layout="prev, pager, next" :page-size="10" :total="total"
-        v-if="page && tableData.length" style="padding-bottom: 20px" @current-change="handleCurrentChange">
+      <el-pagination
+        background
+        layout="prev, pager, next"
+        :page-size="10"
+        :total="total"
+        v-if="page && tableData.length"
+        style="padding-bottom: 20px"
+        @current-change="handleCurrentChange"
+      >
       </el-pagination>
     </div>
+    <el-dialog
+      title="分配案例"
+      :visible.sync="dialogVisibleMember"
+      :append-to-body="true"
+      width="25%"
+      height="80%"
+      :before-close="handleClose"
+      class="dialog_diy1 customWidth"
+    >
+      <div class="people">
+        <div class="people_top">
+          <div class="people_top_right">
+            <div class="people_search">
+              <div>选择评委</div>
+              <el-select v-model="reviewer" placeholder="请选择评委">
+                <el-option
+                  v-for="item in reviewerBox"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                ></el-option>
+              </el-select>
+            </div>
+          </div>
+        </div>
+        <el-checkbox
+          :indeterminate="isIndeterminate"
+          v-model="checkAll"
+          @change="handleCheckAllChange"
+          style="padding: 15px 0 0 15px"
+          >全选</el-checkbox
+        >
+        <el-checkbox-group
+          v-model="checkboxList"
+          class="people_name"
+          v-if="anliBox1.length"
+          @change="handleCheckedAnliChange"
+        >
+          <el-checkbox v-for="item in anliBox1" :key="item.id" :label="item.id">
+            <div class="t_j_box">
+              <div>案例名称:</div>
+              <el-tooltip
+                placement="top"
+                :content="item.info.title ? item.info.title : '暂无姓名'"
+              >
+                <span>{{
+                  item.info.title ? item.info.title : "暂无姓名"
+                }}</span>
+              </el-tooltip>
+            </div>
+          </el-checkbox>
+        </el-checkbox-group>
+        <div style="text-align: center; margin-top: 10px" v-else>暂无数据</div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisibleMember = false">取 消</el-button>
+        <el-button type="primary">确定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -63,9 +152,21 @@ export default {
     return {
       page: 1,
       total: 0,
-      anliType: "",
+      // anliType: "",
+      CourseType: [],
+      CourseTypeJson: {},
+      courseTypeId: {},
+      courseTypeSon: [],
       anliBox: "",
       tableData: [],
+      reviewer: "",
+      reviewerBox: [],
+      anliBox1: [],
+      checkboxList: [],
+      checkboxIdList: [],
+      isIndeterminate: false,
+      checkAll: false,
+      dialogVisibleMember: false,
     };
   },
   methods: {
@@ -73,8 +174,62 @@ export default {
       this.page = val;
       this.getAnliList();
     },
+    search() {
+      this.page = 1;
+      this.getAnliList();
+    },
+    handleCheckAllChange(val) {
+      if (this.checkboxIdList.length == 0) {
+        for (var i = 0; i < this.anliBox1.length; i++) {
+          this.checkboxIdList.push(this.anliBox1[i].id);
+        }
+      }
+      this.checkboxList = val ? this.checkboxIdList : [];
+      this.isIndeterminate = false;
+    },
+    handleCheckedAnliChange(value) {
+      let checkedCount = this.checkboxList.length;
+      this.checkAll = checkedCount === this.anliBox1.length;
+      this.isIndeterminate =
+        checkedCount > 0 && checkedCount < this.anliBox1.length;
+    },
+    handleClose(done) {
+      done();
+    },
     getAnliList() {
+      var typeE = [];
+      var typea, typeb, typec, typed;
+      if (this.isChoose == 1) {
+        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 == "栏目") {
+              typeb = 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];
+            } else if (this.CourseType[0][i].name == "学科") {
+              typed = 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,
         page: this.page,
       };
       this.ajax
@@ -95,9 +250,67 @@ export default {
           console.error(err);
         });
     },
+    selectType() {
+      this.ajax
+        .get(this.$store.state.api + "selectMatType")
+        .then((res) => {
+          this.CourseType = res.data;
+          for (var i = 0; i < res.data[0].length; i++) {
+            if (!this.cid) {
+              this.raceDetail.type[res.data[0][i].id] = "";
+            }
+            for (var j = 0; j < res.data[1].length; j++) {
+              if (res.data[0][i].id == res.data[1][j].pid) {
+                if (!this.CourseTypeJson[res.data[0][i].id]) {
+                  this.CourseTypeJson[res.data[0][i].id] = [];
+                }
+                this.CourseTypeJson[res.data[0][i].id].push(res.data[1][j]);
+              }
+            }
+          }
+        })
+        .catch((err) => {
+          console.error(err);
+        });
+    },
+    getAdmin() {
+      let params = {
+        uid: this.$store.state.userInfo.userid,
+        cn: "",
+        page: this.page,
+      };
+      this.ajax
+        .get(this.$store.state.api + "selectReviewer", params)
+        .then((res) => {
+          this.reviewerBox = res.data[0];
+        })
+        .catch((err) => {
+          console.error(err);
+        });
+    },
+    getAnliBox() {
+      this.ajax
+        .get(this.$store.state.api + "selecAnliBox")
+        .then((res) => {
+          this.anliBox1 = res.data[0];
+          for (var i = 0; i < this.anliBox1.length; i++) {
+            this.anliBox1[i].info = JSON.parse(this.anliBox1[i].info);
+            this.anliBox1[i].overview = JSON.parse(this.anliBox1[i].overview);
+            this.anliBox1[i].process = JSON.parse(this.anliBox1[i].process);
+            this.anliBox1[i].proact = JSON.parse(this.anliBox1[i].proact);
+            this.anliBox1[i].proexc = JSON.parse(this.anliBox1[i].proexc);
+            this.anliBox1[i].results = JSON.parse(this.anliBox1[i].results);
+          }
+        })
+        .catch((err) => {
+          console.error(err);
+        });
+    },
   },
   created() {
     this.getAnliList();
+    this.getAdmin();
+    this.getAnliBox();
   },
 };
 </script>
@@ -110,7 +323,32 @@ export default {
 </style>
 
 <style scoped>
-.disUoloadSty>>>.el-upload--picture-card {
+.dialog_diy1 >>> .el-dialog__header {
+  background: #3d67bd !important;
+  padding: 15px 20px;
+  text-align: center;
+}
+.dialog_diy1 >>> .el-dialog__title {
+  color: #fff;
+}
+
+.dialog_diy1 >>> .el-dialog__headerbtn {
+  top: 19px;
+}
+
+.dialog_diy1 >>> .el-dialog__headerbtn .el-dialog__close {
+  color: #fff;
+}
+
+.dialog_diy1 >>> .el-dialog__headerbtn .el-dialog__close:hover {
+  color: #fff;
+}
+
+.dialog_diy1 >>> .el-dialog__body,
+.dialog_diy1 >>> .el-dialog__footer {
+  background: #fafafa;
+}
+.disUoloadSty >>> .el-upload--picture-card {
   display: none;
   /* 上传按钮隐藏 */
 }
@@ -138,39 +376,40 @@ export default {
   align-items: center;
 }
 
-.touLeft>div {
+.touLeft > div {
   display: flex;
   flex-direction: row;
   flex-wrap: nowrap;
   align-items: center;
 }
 
-.touLeft>div>div {
+.touLeft > div > div {
   margin-right: 10px;
 }
 
-.touRight>div:nth-child(2)>.el-button {
+.touRight > div:nth-child(2) > .el-button {
   background: #2268bd;
   color: #fff;
 }
 
 .student_page {
   width: 95%;
-  margin: 0 auto;
+  margin: 20px auto 0;
 }
 
 .anliBox {
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
-  align-items: center;
+  align-items: flex-start;
   margin: 25px auto 0;
   width: 95%;
+  height: 570px;
 }
 
 .anLi {
   width: 280px;
-  margin-right: 20px;
+  margin: 0 20px 10px 0;
   box-shadow: 3px 1px 15px 3px #f0f0f2;
 }
 
@@ -179,7 +418,7 @@ export default {
   height: 170px;
 }
 
-.anliImg>img {
+.anliImg > img {
   width: 100%;
   height: 100%;
 }
@@ -196,7 +435,7 @@ export default {
   box-sizing: border-box;
 }
 
-.detailBox>div:nth-child(1) {
+.detailBox > div:nth-child(1) {
   font-size: 20px;
   width: 250px;
   white-space: nowrap;
@@ -205,7 +444,7 @@ export default {
   word-break: break-word;
 }
 
-.detailBox>div:nth-child(2) {
+.detailBox > div:nth-child(2) {
   color: #999;
   margin-top: 5px;
   font-size: 14px;
@@ -220,14 +459,100 @@ export default {
   padding: 10px 0 0 0;
 }
 
-.anliButton>div {
+.anliButton > div {
   margin-right: 5px;
 }
 
-.anliButton>div>.el-button {
+.anliButton > div > .el-button {
   background: #409efe;
   color: #fff;
   width: 80px;
   border-radius: 5px;
 }
+.customWidth >>> .el-dialog {
+  min-width: 500px !important;
+}
+.people {
+  border: 1px solid rgb(229 229 229);
+  height: 495px;
+  border-radius: 5px;
+  width: 100%;
+  overflow: auto;
+  background: #fff;
+  box-shadow: 0px 0px 10px 8px #ededed;
+}
+.people::-webkit-scrollbar {
+  /*滚动条整体样式*/
+  width: 6px;
+  /*高宽分别对应横竖滚动条的尺寸*/
+  height: 6px;
+}
+
+/*定义滚动条轨道 内阴影+圆角*/
+.people::-webkit-scrollbar-track {
+  border-radius: 10px;
+  background-color: #eee;
+}
+
+/*定义滑块 内阴影+圆角*/
+.people::-webkit-scrollbar-thumb {
+  border-radius: 10px;
+  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
+  background-color: rgba(0, 0, 0, 0.1);
+}
+.people_top {
+  display: flex;
+  width: 100%;
+  flex-direction: column;
+  padding: 10px 25px 10px;
+  box-sizing: border-box;
+  border-bottom: 1px solid #f4f4f7;
+}
+
+.people_top_right {
+  height: 40px;
+  margin-bottom: 10px;
+}
+
+.people_search {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+}
+.people_search > div:nth-child(1) {
+  font-size: 20px;
+  margin-right: 10px;
+}
+.t_j_box {
+  display: flex;
+}
+.t_j_box span:nth-child(1) {
+  width: 15%;
+  overflow: hidden;
+  margin-right: 10px;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.t_j_box span:nth-child(2) {
+  width: 30%;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  margin-right: 10px;
+}
+.t_j_box span:nth-child(3) {
+  width: calc(55% - 20px);
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+.people_name {
+  display: flex;
+  flex-direction: column;
+  flex-wrap: wrap;
+  align-items: flex-start;
+  padding: 15px 0 0 15px;
+}
+.people_name >>> .el-checkbox {
+  margin-bottom: 10px;
+}
 </style>

+ 607 - 2
src/components/pages/munAdmin/user.vue

@@ -5,16 +5,621 @@
         <span>账号管理</span>
       </div>
     </div>
+    <div class="touTop">
+      <div class="touLeft">
+        <div>
+          <el-input v-model="suser" placeholder="请输入手机号或用户名">
+          </el-input>
+          <el-button @click="search">查询</el-button>
+        </div>
+      </div>
+      <div class="touRight">
+        <div></div>
+        <div>
+          <el-button @click="addUser">添加账号</el-button>
+        </div>
+      </div>
+    </div>
+    <div class="pb_content_body" style="margin: 0 auto">
+      <div class="student_table">
+        <el-table
+          ref="table"
+          :data="tableData"
+          border
+          :height="tableHeight"
+          :fit="true"
+          v-loading="isLoading"
+          style="width: 100%"
+          :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }"
+          :row-class-name="tableRowClassName"
+        >
+          <el-table-column label="姓名" min-width="10" align="center">
+            <template slot-scope="scope">
+              <div class="userImg">
+                <div>
+                  {{ scope.row.name }}
+                </div>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column label="电话" min-width="10" align="center">
+            <template slot-scope="scope">
+              <div>{{ scope.row.phone ? scope.row.phone : "" }}</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="level"
+            label="权限等级"
+            min-width="10"
+            align="center"
+            ><template slot-scope="scope">
+              <div>{{ scope.row.type == 4 ? "评审员" : "暂无" }}</div>
+            </template>
+          </el-table-column>
+          <el-table-column label="操作" min-width="20">
+            <template slot-scope="scope">
+              <div class="tableButton">
+                <el-button @click="dialogVisibleMember = true"
+                  >分配案例</el-button
+                >
+                <el-button @click="upUser(scope.row)">修改</el-button>
+                <el-button @click="deUser(scope.row.userid)">删除</el-button>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <div class="student_page">
+        <el-pagination
+          background
+          layout="prev, pager, next"
+          :page-size="10"
+          :total="total"
+          v-if="page"
+          @current-change="handleCurrentChange"
+        ></el-pagination>
+      </div>
+    </div>
+    <el-dialog
+      title="添加管理员"
+      :visible.sync="dialogVisible"
+      :append-to-body="true"
+      width="500px"
+      :before-close="handleClose"
+      class="dialog_diy"
+    >
+      <el-form class="inputClass">
+        <el-form-item label="名称" :label-width="formLabelWidth">
+          <span>
+            <el-input
+              placeholder="请输入名称"
+              clearable
+              v-model="sName"
+              class="add_input"
+            ></el-input>
+          </span>
+        </el-form-item>
+        <el-form-item label="手机号" :label-width="formLabelWidth">
+          <span>
+            <el-input
+              placeholder="请输入手机号"
+              clearable
+              v-model="sPhone"
+              class="add_input"
+            ></el-input>
+          </span>
+        </el-form-item>
+        <el-form-item label="权限" :label-width="formLabelWidth">
+          <el-select v-model="sType" placeholder="请选择权限">
+            <el-option label="评审员" value="4">评审员</el-option>
+          </el-select>
+        </el-form-item>
+        <div style="text-align: center; color: #adb3b7">
+          注:添加账号账号密码为123456
+        </div>
+      </el-form>
+      <span slot="footer" class="dialog-footer flex">
+        <el-button class="left" @click="dialogVisible = false">取消</el-button>
+        <el-button class="right" @click="addRaceUser" v-if="isAddOrUp == false"
+          >确认</el-button
+        >
+        <el-button
+          class="right"
+          @click="updateRaceUser"
+          v-if="isAddOrUp == true"
+          >修改</el-button
+        >
+      </span>
+    </el-dialog>
 
+    <el-dialog
+      title="分配案例"
+      :visible.sync="dialogVisibleMember"
+      :append-to-body="true"
+      width="25%"
+      height="80%"
+      :before-close="handleClose"
+      class="dialog_diy1 customWidth"
+    >
+      <div class="people">
+        <div class="people_top">
+          <div class="people_top_right">
+            <div class="people_search">
+              <div>选择评委</div>
+              <el-select v-model="reviewer" placeholder="请选择评委">
+                <el-option
+                  v-for="item in reviewerBox"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                ></el-option>
+              </el-select>
+            </div>
+          </div>
+        </div>
+        <el-checkbox
+          :indeterminate="isIndeterminate"
+          v-model="checkAll"
+          @change="handleCheckAllChange"
+          style="padding: 15px 0 0 15px"
+          >全选</el-checkbox
+        >
+        <el-checkbox-group
+          v-model="checkboxList"
+          class="people_name"
+          v-if="anliBox.length"
+          @change="handleCheckedAnliChange"
+        >
+          <el-checkbox v-for="item in anliBox" :key="item.id" :label="item.id">
+            <div class="t_j_box">
+              <div>案例名称:</div>
+              <el-tooltip
+                placement="top"
+                :content="item.info.title ? item.info.title : '暂无姓名'"
+              >
+                <span>{{
+                  item.info.title ? item.info.title : "暂无姓名"
+                }}</span>
+              </el-tooltip>
+            </div>
+          </el-checkbox>
+        </el-checkbox-group>
+        <div style="text-align: center; margin-top: 10px" v-else>暂无数据</div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisibleMember = false">取 消</el-button>
+        <el-button type="primary">确定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
 <script>
 export default {
-
-}
+  data() {
+    return {
+      suser: "",
+      tableData: [],
+      tableHeight: "500px",
+      isLoading: false,
+      formLabelWidth: "100px",
+      page: 1,
+      total: 0,
+      dialogVisible: false,
+      isAddOrUp: false,
+      dialogVisibleMember: false,
+      sName: "",
+      sPhone: "",
+      sType: "",
+      upId: "",
+      reviewer: "",
+      reviewerBox: [],
+      anliBox: [],
+      checkboxList: [],
+      checkboxIdList: [],
+      isIndeterminate: false,
+      checkAll: false,
+    };
+  },
+  mounted() {
+    this.$nextTick(function () {
+      this.tableHeight =
+        window.innerHeight - this.$refs.table.$el.offsetTop - 200;
+      if (this.tableHeight <= 530) {
+        this.tableHeight = 530;
+      }
+      // 监听窗口大小变化
+      let self = this;
+      window.onresize = function () {
+        self.tableHeight =
+          window.innerHeight - self.$refs.table.$el.offsetTop - 200;
+        if (self.tableHeight <= 530) {
+          self.tableHeight = 530;
+        }
+      };
+    });
+  },
+  methods: {
+    tableRowClassName({ row, rowIndex }) {
+      if ((rowIndex + 1) % 2 === 0) {
+        return "even_row";
+      } else {
+        return "";
+      }
+    },
+    handleCheckAllChange(val) {
+      if (this.checkboxIdList.length == 0) {
+        for (var i = 0; i < this.anliBox.length; i++) {
+          this.checkboxIdList.push(this.anliBox[i].id);
+        }
+      }
+      this.checkboxList = val ? this.checkboxIdList : [];
+      this.isIndeterminate = false;
+    },
+    handleCheckedAnliChange(value) {
+      let checkedCount = this.checkboxList.length;
+      this.checkAll = checkedCount === this.anliBox.length;
+      this.isIndeterminate =
+        checkedCount > 0 && checkedCount < this.anliBox.length;
+    },
+    handleClose(done) {
+      done();
+    },
+    handleCurrentChange(val) {
+      this.page = val;
+      this.getAdmin();
+    },
+    search() {
+      this.page = 1;
+      this.getAdmin();
+    },
+    addUser() {
+      this.sName = "";
+      this.sPhone = "";
+      this.sType = "";
+      this.isAddOrUp = false;
+      this.dialogVisible = true;
+    },
+    getAdmin() {
+      let params = {
+        uid: this.$store.state.userInfo.userid,
+        cn: this.suser,
+        page: this.page,
+      };
+      this.ajax
+        .get(this.$store.state.api + "selectReviewer", params)
+        .then((res) => {
+          this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
+          this.tableData = res.data[0];
+          this.reviewerBox = res.data[0];
+        })
+        .catch((err) => {
+          console.error(err);
+        });
+    },
+    addRaceUser() {
+      if (this.sName == "") {
+        this.$message.error("请输入名称");
+        return;
+      } else if (this.sPhone == "") {
+        this.$message.error("请输入手机号");
+        return;
+      } else if (
+        this.sId != "" &&
+        !/^[1][3,4,5,7,8][0-9]{9}$/.test(this.sPhone)
+      ) {
+        this.$message.error("手机号格式不正确");
+        return;
+      } else if (this.sType == "") {
+        this.$message.error("请选择权限");
+        return;
+      }
+      this.isloading = true;
+      let params = [
+        {
+          reg: "",
+          res: "",
+          sch: this.$store.state.userInfo.school,
+          n: this.sName,
+          p: this.sPhone,
+          t: this.sType,
+          parent: this.$store.state.userInfo.userid,
+        },
+      ];
+      this.ajax
+        .post(this.$store.state.api + "addRaceUser", params)
+        .then((res) => {
+          this.$message({
+            message: "创建成功",
+            type: "success",
+          });
+          this.isloading = false;
+          this.sName = "";
+          this.sPhone = "";
+          this.sType = "";
+          this.dialogVisible = false;
+          this.getAdmin();
+        })
+        .catch((err) => {
+          this.isloading = false;
+          this.$message.error("创建失败");
+          console.error(err);
+        });
+    },
+    upUser(r) {
+      this.sName = r.name;
+      this.sPhone = r.phone;
+      this.sType = r.type;
+      this.upId = r.userid;
+      this.isAddOrUp = true;
+      this.dialogVisible = true;
+    },
+    updateRaceUser() {
+      let params = {
+        n: this.sName,
+        p: this.sPhone,
+        t: this.sType,
+        uid: this.upId,
+      };
+      this.ajax
+        .get(this.$store.state.api + "updateReviewer", params)
+        .then((res) => {
+          this.$message({
+            message: "修改成功",
+            type: "success",
+          });
+          this.sName = "";
+          this.sPhone = "";
+          this.sType = "";
+          this.upId = "";
+          this.isAddOrUp = false;
+          this.dialogVisible = false;
+          this.getAdmin();
+        })
+        .catch((err) => {
+          console.error(err);
+        });
+    },
+    deUser(id) {
+      let params = {
+        uid: id,
+      };
+      this.ajax
+        .get(this.$store.state.api + "deleteReviewer", params)
+        .then((res) => {
+          this.$message({
+            message: "删除成功",
+            type: "success",
+          });
+          this.dialogVisible = false;
+          this.getAdmin();
+        })
+        .catch((err) => {
+          console.error(err);
+        });
+    },
+    getAnliBox() {
+      this.ajax
+        .get(this.$store.state.api + "selecAnliBox")
+        .then((res) => {
+          this.anliBox = res.data[0];
+          for (var i = 0; i < this.anliBox.length; i++) {
+            this.anliBox[i].info = JSON.parse(this.anliBox[i].info);
+            this.anliBox[i].overview = JSON.parse(this.anliBox[i].overview);
+            this.anliBox[i].process = JSON.parse(this.anliBox[i].process);
+            this.anliBox[i].proact = JSON.parse(this.anliBox[i].proact);
+            this.anliBox[i].proexc = JSON.parse(this.anliBox[i].proexc);
+            this.anliBox[i].results = JSON.parse(this.anliBox[i].results);
+          }
+        })
+        .catch((err) => {
+          console.error(err);
+        });
+    },
+  },
+  created() {
+    this.getAdmin();
+    this.getAnliBox();
+  },
+};
 </script>
 
 <style scoped>
+.dialog_diy >>> .el-dialog__header,
+.dialog_diy1 >>> .el-dialog__header {
+  background: #3d67bd !important;
+  padding: 15px 20px;
+}
+.dialog_diy1 >>> .el-dialog__header {
+  text-align: center;
+}
+.dialog_diy >>> .el-dialog__title,
+.dialog_diy1 >>> .el-dialog__title {
+  color: #fff;
+}
 
+.dialog_diy >>> .el-dialog__headerbtn,
+.dialog_diy1 >>> .el-dialog__headerbtn {
+  top: 19px;
+}
+
+.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close,
+.dialog_diy1 >>> .el-dialog__headerbtn .el-dialog__close {
+  color: #fff;
+}
+
+.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close:hover,
+.dialog_diy1 >>> .el-dialog__headerbtn .el-dialog__close:hover {
+  color: #fff;
+}
+
+.dialog_diy >>> .el-dialog__body,
+.dialog_diy >>> .el-dialog__footer,
+.dialog_diy1 >>> .el-dialog__body,
+.dialog_diy1 >>> .el-dialog__footer {
+  background: #fafafa;
+}
+/* .inputClass.is-active >>> .el-input__inner,
+.inputClass >>> .el-input__inner:focus {
+  border-color: #5c549f;
+}
+
+.inputClass >>> .el-select .el-input.is-focus .el-input__inner {
+  border-color: #5c549f;
+}
+.inputClass >>> .el-select .el-input__inner:focus {
+  border-color: #5c549f;
+} */
+.left {
+  background: #fff !important;
+  color: #000 !important;
+}
+.right,
+.left {
+  width: 80px;
+  color: #fff;
+  background: #409efe;
+  margin-bottom: 20px;
+}
+.touTop {
+  margin: 15px auto;
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+  justify-content: space-between;
+  width: 95%;
+}
+
+.touLeft {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+}
+
+.touLeft > div {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+}
+
+.touLeft > div > .el-button {
+  background: #2268bd;
+  color: #fff;
+  margin-left: 10px;
+}
+
+.touRight > div:nth-child(2) > .el-button {
+  background: #2268bd;
+  color: #fff;
+}
+.student_table >>> .el-table--border td {
+  border-right: 0px !important;
+}
+.student_table >>> .el-table,
+.student_table >>> .el-table__body-wrapper {
+  height: auto !important;
+}
+.student_page {
+  margin-top: 10px;
+}
+.tableButton {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+}
+.tableButton > .el-button {
+  background: #409efe;
+  color: #fff;
+  cursor: pointer;
+}
+.customWidth >>> .el-dialog {
+  min-width: 500px !important;
+}
+.people {
+  border: 1px solid rgb(229 229 229);
+  height: 495px;
+  border-radius: 5px;
+  width: 100%;
+  overflow: auto;
+  background: #fff;
+  box-shadow: 0px 0px 10px 8px #ededed;
+}
+.people::-webkit-scrollbar {
+  /*滚动条整体样式*/
+  width: 6px;
+  /*高宽分别对应横竖滚动条的尺寸*/
+  height: 6px;
+}
+
+/*定义滚动条轨道 内阴影+圆角*/
+.people::-webkit-scrollbar-track {
+  border-radius: 10px;
+  background-color: #eee;
+}
+
+/*定义滑块 内阴影+圆角*/
+.people::-webkit-scrollbar-thumb {
+  border-radius: 10px;
+  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
+  background-color: rgba(0, 0, 0, 0.1);
+}
+.people_top {
+  display: flex;
+  width: 100%;
+  flex-direction: column;
+  padding: 10px 25px 10px;
+  box-sizing: border-box;
+  border-bottom: 1px solid #f4f4f7;
+}
+
+.people_top_right {
+  height: 40px;
+  margin-bottom: 10px;
+}
+
+.people_search {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: center;
+}
+.people_search > div:nth-child(1) {
+  font-size: 20px;
+  margin-right: 10px;
+}
+.t_j_box {
+  display: flex;
+}
+.t_j_box span:nth-child(1) {
+  width: 15%;
+  overflow: hidden;
+  margin-right: 10px;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.t_j_box span:nth-child(2) {
+  width: 30%;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  margin-right: 10px;
+}
+.t_j_box span:nth-child(3) {
+  width: calc(55% - 20px);
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+.people_name {
+  display: flex;
+  flex-direction: column;
+  flex-wrap: wrap;
+  align-items: flex-start;
+  padding: 15px 0 0 15px;
+}
+.people_name >>> .el-checkbox {
+  margin-bottom: 10px;
+}
 </style>

+ 3 - 0
src/components/pages/race/addRace/projectActpro.vue

@@ -385,6 +385,9 @@ export default {
   height: 50px;
   cursor: pointer;
 }
+.stepRightNav:hover{
+  color: #999;
+}
 .stepBg .steps::after {
   content: "";
   height: 100%;

+ 3 - 1
src/components/pages/race/addRace/projectEffect.vue

@@ -376,7 +376,9 @@ export default {
   height: 50px;
   cursor: pointer;
 }
-
+.stepRightNav:hover{
+  color: #999;
+}
 .right {
   width: calc(100% - 20%);
   background: rgb(255, 255, 255);

+ 3 - 1
src/components/pages/race/addRace/projectExceva.vue

@@ -376,7 +376,9 @@ export default {
   height: 50px;
   cursor: pointer;
 }
-
+.stepRightNav:hover{
+  color: #999;
+}
 .right {
   width: calc(100% - 20%);
   background: rgb(255, 255, 255);

+ 3 - 1
src/components/pages/race/addRace/projectProcess.vue

@@ -1052,7 +1052,9 @@ export default {
   height: 50px;
   cursor: pointer;
 }
-
+.stepRightNav:hover{
+  color: #999;
+}
 .right {
   width: calc(100% - 20%);
   background: rgb(255, 255, 255);

+ 3 - 0
src/components/pages/race/addRace/raceDetail.vue

@@ -1090,6 +1090,9 @@ export default {
   height: 50px;
   cursor: pointer;
 }
+.stepRightNav:hover{
+  color: #999;
+}
 .line,
 .isLine {
   position: absolute;

+ 3 - 2
src/components/pages/race/addRace/raceOverview.vue

@@ -953,7 +953,9 @@ export default {
   height: 50px;
   cursor: pointer;
 }
-
+.stepRightNav:hover{
+  color: #999;
+}
 .line,
 .isLine {
   position: absolute;
@@ -1315,7 +1317,6 @@ export default {
 
 .rightNav {
   width: 87%;
-  margin-left: 15px;
   color: #a19f9f;
 }
 </style>