瀏覽代碼

Merge branch 'master' of https://git.cocorobo.cn/CocoRoboLabs/ssti-CollegeManage

yuanyiming 2 年之前
父節點
當前提交
8690e2306d

+ 1 - 1
src/views/activityManage/makerActvityDetails.vue

@@ -151,7 +151,7 @@
                   <template #default="scope">
                       <div class="operations">
                           <!-- <el-button type="primary" > -->
-                              <el-button type="primary" size="mini" @click="updateTeacher(scope.row.Id)" style="font-size: 14px;">修改</el-button>
+                              <el-button type="primary" size="mini" @click="updateTeacher(scope.row.Id,scope.$index)" style="font-size: 14px;">修改</el-button>
                               <el-button type="primary" size="mini" style="font-size: 14px;" @click="DeleteS(scope.row)">删除</el-button>
                           <!-- </el-button> -->
                       </div>

+ 137 - 24
src/views/credit/credit.vue

@@ -9,7 +9,7 @@
     <div class="selects">
       <div class="selectsBlock">
         <span class="selectLabel">项目筛选</span>
-        <el-select v-model="pavalues.value" placeholder="我的项目">
+        <el-select v-model="pavalues.value" @change="getData" placeholder="我的项目">
           <el-option label="所有项目" :value="0"></el-option>
           <el-option
             v-for="item in options"
@@ -22,7 +22,7 @@
 
       <div class="selectsBlock">
         <span class="selectLabel">部门</span>
-        <el-select v-model="pavalues.value1" placeholder="请选择">
+        <el-select v-model="pavalues.value1" @change="getData" placeholder="请选择">
           <el-option label="所有部门" :value="0"></el-option>
           <el-option
             v-for="item in options1"
@@ -35,7 +35,7 @@
 
       <div class="selectsBlock">
         <span class="selectLabel">分类</span>
-        <el-select v-model="pavalues.value2" placeholder="请选择">
+        <el-select v-model="pavalues.value2" @change="getData" placeholder="请选择">
           <el-option label="所有分类" :value="0"></el-option>
           <el-option
             v-for="item in options2"
@@ -48,7 +48,7 @@
 
       <div class="selectsBlock">
         <span class="selectLabel">负责人</span>
-        <el-select v-model="pavalues.value3" placeholder="请选择">
+        <el-select v-model="pavalues.value3" @change="getData" placeholder="请选择">
           <el-option label="所有负责人" value=""></el-option>
           <el-option
             v-for="item in options3"
@@ -67,9 +67,9 @@
         :data="tableData"
         tooltip-effect="dark"
         stripe
-        class="fontSize"
+        class="fontSize core_dialogue"
+        style="height:65%;overflow: auto;"
         :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-        @selection-change="handleSelectionChange"
         >
         <!-- <el-table-column
           type="selection"
@@ -112,12 +112,68 @@
           >
           <template #default="scope">
               <div class="operations">
-                      <el-button type="primary" class="bt1" size="mini" >查看学分</el-button>
-                      <el-button type="primary" class="bt1" size="mini" @click="edit(scope)">修改</el-button>
+                      <el-button type="primary" class="bt1" size="mini" @click="queryScore(scope.row)">查看学分</el-button>
+                      <el-button type="primary" class="bt1" size="mini" @click="edit(scope.row.courseId)">修改</el-button>
               </div>
           </template>
         </el-table-column>
       </el-table>
+      <!-- 查看学分弹窗START -->
+      <el-dialog
+        title="查看学分"
+        :visible.sync="queryScoreDialog"
+        width="800px"
+        class="MAputIn AddMember">
+        <div class="addDialogLogo">LOGO</div>
+        <!-- <div class="deleteContent">是否删除“{{ delTeacherTable.Name}}”指导老师?</div> -->
+        <el-table
+          :data="ScoreData"
+          tooltip-effect="dark"
+          stripe
+          class="fontSize core_dialogue"
+          style="height:65%;overflow: auto;"
+          :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
+        >
+        <el-table-column
+          prop="name"
+          label="成员名称"
+          align="center"
+          min-width="20%">
+        </el-table-column>
+        <el-table-column
+          prop="class"
+          label="班级"
+          align="center"
+          min-width="20%">
+        </el-table-column>
+
+        <el-table-column
+          prop="phone"
+          label="联系电话"
+          align="center"
+          min-width="25%">
+        </el-table-column>
+
+        <el-table-column
+          prop="score"
+          label="学分"
+          align="center"
+          min-width="20%">
+        </el-table-column>
+        </el-table>
+        <span slot="footer" class="dialog-footer">
+            <el-button type="primary" @click="queryScoreDialog = false" class="btn5" size="small">确认</el-button>
+        </span>
+      </el-dialog>
+      <!-- 查看学分弹窗END -->
+      <el-pagination
+        @current-change="CurrentChange"
+        :page-size="Page.lim"
+        layout=" prev, pager, next"
+        background
+        class="pagination"
+        :total="Page.total">
+      </el-pagination>
     </div>
 <!-- 表格结束 -->
 
@@ -134,19 +190,25 @@
           options3:[],
           options4:[],
           tableData:[],
+          ScoreData:[],
+          queryScoreDialog:false,
           pavalues:{
             value:0,
             value1:0,
             value2:0,
             value3:'',
             value4:'',
-
-          }
+          },
+          Page:{
+            nowPage:1,
+            total:10,
+            lim:10
+          },
         }
       },
       methods:{
-        edit(){
-            this.$router.push('/credit1')
+        edit(Id){
+            this.$router.push(`/credit1?Id=${Id}`)
         },
         handleSelectionChange(val) {
           this.multipleSelection = val;
@@ -154,29 +216,33 @@
         getData(){
           this.ajax.get(this.$store.state.api+"/GetProjectIsEndProject",{
             uid:this.$store.state.userInfo.userid,
-            pid:0,
-            cid:0,
-            tid:0,
-            leader:"",
-            page:1,
-            lim:10,
+            pid:this.pavalues.value,
+            cid:this.pavalues.value1,
+            tid:this.pavalues.value2,
+            leader:this.pavalues.value3,
+            page:this.Page.nowPage,
+            lim:this.Page.lim,
           }).then(res=>{
-            console.log(res)
             let data = res.data[0];
-            // console.log(data)
             data.forEach(item=>item["course_student"] = JSON.parse(item['course_student']));
             this.options = res.data[1]
             this.options1 = res.data[2]
             this.options2 = res.data[3]
             this.options3 = res.data[4]
-            // data.course_student = JSON.parse(data.course_student)
+            this.Page.total = res.data[5][0]['total']
             this.tableData = data;
-            // console.log(res)
           }).catch(err=>{
             console.log(err)
           })
+        },
+        CurrentChange(nowPage){
+          this.Page.nowPage = nowPage;
+          this.getData();
+        },
+        queryScore(row){
+          this.ScoreData = row['course_student'];
+          this.queryScoreDialog = true;
         }
-       
       },
       mounted(){
         this.getData()
@@ -185,5 +251,52 @@
 </script>
 
 <style lang="less">
-
+.credit{
+  width: 100%;
+  height: 100%;
+  position: relative;
+}
+.pagination{
+    position: absolute;
+    // float: right;
+    bottom: 0;
+    right: 0;
+    margin: 20px 35px 10px;
+  }
+  .MAputIn{   //提交对话框样式
+  .deleteContent{
+    width: 100%;
+    text-align: center;
+    font-size: 25px;
+    color: #000;
+  }
+  .addDialogLogo{
+    width: 60px;
+    height: 30px;
+    line-height: 30px;
+    background: #f2f2f2;
+    position: absolute;
+    left: 10px;
+    top: 10px;
+    text-align: center;
+  }
+ 
+  .el-dialog__title{
+    // margin-left:250px;
+    display: flex;
+    justify-content: center;
+    color:rgb(246, 247, 246);
+  }
+  
+  .dialog-footer{
+    display: flex;
+    justify-content: center;
+    .btn5{
+      // background: #0e72e6;
+      height: 40px;
+      width: 200px;
+      font-size: 16px;
+    }
+  }
+}
 </style>

+ 143 - 55
src/views/credit/credit1.vue

@@ -12,28 +12,21 @@
          <div class="select">
                 <div class="selectTop">
                   <div class="label">项目名称</div>
-                  <el-input v-model="input" placeholder="请输入内容"></el-input>
+                  <el-input disabled v-model="tableData.title"></el-input>
                 </div>
                 <div class="selectMid">
                   <div class="selectLeft">
                       <div class="inpBlock">
                           <div class="label">项目负责人</div>
-                          <el-input v-model="input" placeholder="请输入内容"></el-input>
+                          <el-input disabled v-model="tableData.pro_leader"></el-input>
                       </div>
                       <div class="inpBlock">
                           <div class="label">所在部门</div>
-                          <el-select v-model="input" style="width: 100%;" placeholder="请选择">
-                            <el-option
-                              v-for="item in options"
-                              :key="item.value"
-                              :label="item.label"
-                              :value="item.value">
-                            </el-option>
-                          </el-select>
+                          <el-input disabled v-model="tableData.class"></el-input>
                       </div>
                       <div class="inpBlock">
                           <div class="label">联系电话</div>
-                          <el-input v-model="input" placeholder="请输入内容"></el-input>
+                          <el-input disabled v-model="tableData.phone"></el-input>
                       </div>
                   </div>
 
@@ -41,17 +34,20 @@
                     <div class="inpBlock">
                           <div class="label">项目开始时间</div>
                           <el-date-picker
-                            v-model="value"
+                            disabled
+                            v-model="tableData.begin_at"
                             type="date"
-                            style="width: 100%;"
-                            placeholder="选择日期">
+                            style="width: 100%;">
                           </el-date-picker>
                       </div>
                       <div class="inpBlock">
                           <div class="label">预算总经费</div>
-                          <el-input v-model="input" placeholder="请输入内容"></el-input>
+                          <el-input disabled v-model="tableData.money"></el-input>
+                      </div>
+                      <div class="inpBlock">
+                          <div class="label">分类</div>
+                          <el-input disabled v-model="tableData.type"></el-input>
                       </div>
-                      
                   </div>
                 </div>
       </div>
@@ -64,7 +60,7 @@
         </div>
         <hr>
         <el-table
-          :data="tableData"
+          :data="tableData.course_student"
           tooltip-effect="dark"
           stripe
           class="fontSize"
@@ -72,7 +68,7 @@
           :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
           >
           <el-table-column
-            prop="Name"
+            prop="name"
             label="姓名"
             align="center"
             >
@@ -85,7 +81,7 @@
           </el-table-column>
   
           <el-table-column
-            prop="tel"
+            prop="phone"
             label="电话"
             align="center"
             >
@@ -105,7 +101,7 @@
             >
             <template #default="scope">
                 <div class="operations">
-                        <el-button type="primary" @click="setCredit(scope)" size="mini">设置学分</el-button>
+                        <el-button type="primary" @click="setCredit(scope.row)" size="mini">设置学分</el-button>
                 </div>
             </template>
           </el-table-column>
@@ -118,58 +114,150 @@
           <el-button type="primary" @click="$router.back()">返回</el-button>
         </div>
       </div>
+      <el-dialog
+        title="查看学分"
+        :visible.sync="changeScoreDialog"
+        width="600px"
+        class="MAputIn AddMember">
+        <div class="addDialogLogo">LOGO</div>
+        <div class="littleBlock">
+              <div class="dialogLabel">姓名</div>
+              <div>
+                <el-input disabled  v-model="changeScoreTable.name"></el-input>
+              </div>
+            </div>
 
+            <div class="littleBlock">
+              <div class="dialogLabel">班级</div>
+              <div>
+                <el-input disabled v-model="changeScoreTable.class"></el-input>
+              </div>
+            </div>
+
+            <div class="littleBlock">
+              <div class="dialogLabel">电话</div>
+              <div>
+                <el-input disabled type="number" class="inputNumber" v-model="changeScoreTable.phone"></el-input>
+              </div>
+            </div>
+            <div class="littleBlock">
+              <div class="dialogLabel">分数</div>
+              <div>
+                <el-input type="number" class="inputNumber" v-model.number="changeScoreTable.score"></el-input>
+              </div>
+            </div>
+        <span slot="footer" class="dialog-footer">
+            <el-button type="primary" @click="changeScore" class="btn5" size="small">修改</el-button>
+            <el-button @click="changeScoreDialog = false" class="btn5" size="small">取消</el-button>
+        </span>
+      </el-dialog>
     </div>
+
   </template>
   
   <script>
       export default {
         data() {
           return {
-            input:'',
-            tableData:[{
-              Name:'徐晓慧',
-              class:'22电子通信G5',
-              tel:'13751177411',
-              score:'97',
+            changeScoreDialog:false,
+            changeScoreTable:{
+              id:"",
+              class:"",
+              name:"",
+              phone:"",
+              score:"",
             },
-            {
-              Name:'林凡文',
-              class:'22电子通信G5',
-              tel:'13751177411',
-              score:'90',
+            tableData:{
+              title:"",
+              type:"",
+              pro_leader:"",
+              phone:"",
+              money:"",
+              course_student:[],
+              class:"",
+              begin_at:"",
             },
-            {
-              Name:'林凡文',
-              class:'22电子通信G5',
-              tel:'13751177411',
-              score:'90',
-            },
-            ],
-            pavalues:{
-              value:'',
-              value1:'',
-              value2:'',
-              value3:'',
-              value4:'',
-  
-            }
           }
         },
         methods:{
-          setCredit(){
-
+          setCredit(row){
+            this.changeScoreTable = row;
+            this.changeScoreDialog = true;
           },
-          // handleSelectionChange(val) {
-          //   this.multipleSelection = val;
-          // },
-
+          getData(){
+            this.ajax.get(this.$store.state.api+"/GetProjectEndByID",{
+              uid:this.$store.state.userInfo.userid,
+              pid:this.$route.query["Id"]
+            }).then(res=>{
+              let data = res.data[0][0]
+              data['course_student'] = JSON.parse(data['course_student'])
+              this.tableData = data;
+            }).catch(err=>{
+              console.log(err)
+            })
+          },
+          changeScore(){
+            if(this.changeScoreTable.score<0||this.changeScoreTable.score>100)return this.$message.warning("学分只能再0~100之间")
+            let newData = [...this.tableData.course_student];
+            newData.forEach(item=>item = item.id==this.changeScoreTable.id?this.changeScoreTable:item);
+            this.ajax.post(this.$store.state.api+"/UpdateStudentScore",{
+              uid:this.$store.state.userInfo.userid,
+              pid:this.$route.query["Id"],
+              st:JSON.stringify(newData)
+            }).then(res=>{
+              if(res.data==1){
+                this.$message.success("修改分数成功")
+                this.changeScoreDialog = false;
+              }else{
+                this.$message.error("修改分数失败")
+              }
+              this.getData();
+            }).catch(err=>{
+              console.log(err)
+            })
+          }
+        },
+        mounted(){
+          this.getData();
         }
       }
   </script>
   
   <style lang="less">
-  // .credit1{
-
-  // }
+    .MAputIn{   //提交对话框样式
+  .deleteContent{
+    width: 100%;
+    text-align: center;
+    font-size: 25px;
+    color: #000;
+  }
+  .addDialogLogo{
+    width: 60px;
+    height: 30px;
+    line-height: 30px;
+    background: #f2f2f2;
+    position: absolute;
+    left: 10px;
+    top: 10px;
+    text-align: center;
+  }
+ 
+  .el-dialog__title{
+    // margin-left:250px;
+    display: flex;
+    justify-content: center;
+    color:rgb(246, 247, 246);
+  }
+  
+  .dialog-footer{
+    display: flex;
+    justify-content: center;
+    .btn5{
+      // background: #0e72e6;
+      height: 40px;
+      width: 200px;
+      font-size: 16px;
+    }
+  }
+}
   </style>

+ 1 - 2
src/views/projectApply/projectApplication.vue

@@ -81,8 +81,7 @@
         :data="tableData"
         tooltip-effect="dark"
         stripe
-        class="fontSize core_dialogue"
-        style="height: 481px;overflow: auto;"
+        class="fontSize"
         :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
         @selection-change="handleSelectionChange">
         <!-- selection-change批量选择功能后续可能用到 -->

+ 0 - 1
src/views/projectApply/projectApplicationApply.vue

@@ -230,7 +230,6 @@
           :close-on-click-modal="true"
           class="AddMember"
           :before-close="init">
-
             <div class="littleBlock">
               <div class="dialogLabel">姓名</div>
               <div>