yuanyiming 1 year ago
parent
commit
7456857145

BIN
src/assets/images/eva/delpic.png


+ 6 - 6
src/views/eva/components/ImageComponent.vue

@@ -2,7 +2,7 @@
   <div class="imgBox">
     <div @click="addImg($event)" class="imgItem">
       <img src="@/assets/images/eva/camera.png" alt="" />
-      <input type="file" accept="image/*" style="display: none" @change="beforeUpload($event)" />
+      <input type="file" accept="image/*" multiple style="display: none" @change="beforeUpload($event)" />
     </div>
 
     <!-- <div class="imgList"> -->
@@ -11,7 +11,7 @@
         <img :src="item" alt="" />
       </div>
       <div class="deleteImg" @click="deleteItem(item)">
-        <img src="../../../assets/images/course/delete.png" alt="" />
+        <img src="../../../assets/images/eva/delpic.png" alt="" />
       </div>
     </div>
     <!-- </div> -->
@@ -156,11 +156,11 @@ export default {
       }
     }
     .deleteImg {
-      width: 20px;
-      height: 20px;
+      width: 17px;
+      height: 17px;
       position: absolute;
-      right: 0;
-      top: 0;
+      right: 3px;
+      top: 3px;
       z-index: 9;
       > img {
         width: 100%;

+ 17 - 0
src/views/eva/components/selectStyle.vue

@@ -8,6 +8,9 @@
             {{ i.name }}
           </div>
         </div>
+        <div v-if="!choose[0]" class="choosePerTxt">
+          全部
+        </div>
       </div>
     </div>
 
@@ -16,6 +19,15 @@
     </div>
 
     <div class="list" v-if="ico">
+      <div class="ol" @click.stop="cho({ id: '' })">
+        <div :style="{ color: !choose[0] ? '#3894FF' : 'none' }">
+          全部
+        </div>
+        <div>
+          <img :style="{ display: !choose[0] ? '' : 'none' }" src="@/assets/images/eva/dui.png" alt="" />
+        </div>
+      </div>
+
       <div class="ol" v-for="(i, index) in listCont" :key="index + 'w'" @click.stop="cho(i)">
         <div :style="{ color: choose.includes(i.id) ? '#3894FF' : 'none' }">
           {{ i.name }}
@@ -63,7 +75,12 @@ export default {
     },
     // 判断学生是否被选中
     cho(e) {
+      console.log('e', e)
+      // if (!e) {
+      //   this.choose[0] = ''
+      // } else {
       this.choose[0] = e.id
+      // }
       this.ico = false
       this.$emit('update-search')
     }

+ 29 - 14
src/views/eva/studentDetail.vue

@@ -53,9 +53,19 @@
           <img class="img" src="../../assets/images/eva/Frame (4).png" alt="" />
           <div>观察记录</div>
         </div>
-        <img class="img" src="../../assets/images/eva/Frame (5).png" alt="" />
+        <div style="display: flex;justify-content: flex-end;align-items: center;">
+          <selectStyle
+            ref="weiSel"
+            @shadeIsShow="shadeIsShow"
+            @update-search="handleUpdateSearch"
+            :listCont="filtrate"
+            :tit="'请选择纬度'"
+            :choose="filtrateData"
+          ></selectStyle>
+          <img class="img" src="../../assets/images/eva/Frame (5).png" alt="" />
+        </div>
       </div>
-      <div class="observe_box">
+      <!-- <div class="observe_box">
         <div
           class="observe_boxCon"
           v-for="(i, index) in filtrate"
@@ -63,22 +73,16 @@
           :class="{ active: activeItem === index }"
           :key="index"
         >
-          <!-- @touchstart="touchStart(index)" -->
-          <!-- @touchend="touchend(index)" -->
-          <!-- @touchmove="gtouchmove()" -->
           <div class="txt">{{ i.name }}</div>
-          <!-- <div ref="loop" class="loopList">
-            {{ i.name }}
-          </div> -->
         </div>
-        <!-- </div> -->
-      </div>
+        </div>
+      </div> -->
       <!-- 观察内容开始 -->
       <van-swipe-cell :swipeable="true" v-show="TermRecord.length" v-for="(i, index) in TermRecord" :key="index">
         <div class="observe_content" @click.stop="recordContinue(i.rid)">
           <div class="observe_contentTit">
-            <!-- {{ i.recordTit }} -->
-            观察内容
+            {{ i.recordTit ? i.recordTit : '暂未设置标题' }}
+            <!-- 观察内容 -->
           </div>
           <div class="observe_contentBir">
             <div>{{ i.username }}</div>
@@ -159,6 +163,8 @@ export default {
       conList: [],
       // 筛选项
       filtrate: [],
+      // 纬度筛选项选择数据
+      filtrateData: [''],
       // 学生信息
       studentInfo: {},
 
@@ -179,7 +185,9 @@ export default {
       isShowMask: false,
       delRid: '',
 
+      // 学期列表
       termList: [],
+      // 学期筛选框所选择的数据
       termData: [],
 
       // 记录渲染数据
@@ -261,7 +269,7 @@ export default {
           }
         }
         this.filtrate = allsType
-        // console.log('allsType', allsType)
+        console.log('allsType', allsType)
       })
     },
 
@@ -307,6 +315,7 @@ export default {
     },
     // 上一个
     upStu() {
+      this.filtrateData = ['']
       // 判断学生在数组中的位置,获取班学生列表有初始值
       this.activeItem = null
       // 刷新学期
@@ -327,6 +336,8 @@ export default {
     },
     // 下一个
     nextStu() {
+      this.filtrateData = ['']
+
       this.activeItem = null
       // 刷新学期
       this.termData.splice(0, 1, this.termId)
@@ -403,6 +414,7 @@ export default {
       this.isSelectShow = false
       this.selectCordS()
       this.$refs.claSel.close()
+      this.$refs.weiSel.close()
     },
 
     // 子组件调用父组件方法显示遮罩层
@@ -412,7 +424,9 @@ export default {
     // 子组件调用父组件,进行学期查询
     handleUpdateSearch() {
       this.isSelectShow = false
+      // 获取筛选学生记录
       this.getTermRecord()
+      // 获取学期记录总条数
       this.selectCordS()
     },
     // 获取所有学生记录
@@ -420,8 +434,9 @@ export default {
       const data4 = {
         uid: this.stuId,
         trm: this.termData[0],
-        txt: ''
+        txt: this.filtrateData[0]
       }
+      // return console.log('getTermRecord', data4)
       // console.log(' 获取所有学生记录aaaaaaaaaaaaaaaaaaaaaaa', data4)
       selectRecord(data4).then(res => {
         // console.log('获取所有学生记录', res)

+ 100 - 17
src/views/eva/studentEvaluate.vue

@@ -107,7 +107,7 @@
       <!-- 上传图片开始 -->
       <div class="uploadImgTit">
         <div>图片上传</div>
-        <div>{{ imgList.length }}/10</div>
+        <!-- <div>{{ imgList.length }}/10</div> -->
       </div>
       <div class="uploadImg">
         <image-component @getImage="getImage" :imgList.sync="imgList"></image-component>
@@ -118,8 +118,8 @@
     <!-- 按钮 -->
     <div class="submitBtn">
       <!-- <div class="btn" @click="isShowMask = true">删除</div> -->
-      <!-- <div class="btn" @click="isShowMask = true">重复添加</div>
-      <div class="btn">添加新记录</div> -->
+      <div class="btn" v-if="shareShow" @click="repPop">重复添加</div>
+      <div class="btn" v-if="shareShow" @click="repetitionSave">添加新纪录</div>
       <div class="btn" v-if="!shareShow" @click="save">发布并返回</div>
       <div class="btn" v-else @click="amend">修改并返回</div>
     </div>
@@ -135,6 +135,17 @@
         <div class="btn" v-else style="color: rgba(251,67,25,1);" @click="updateRecord">确认</div>
       </template>
     </pop>
+
+    <pop v-show="repShowMask">
+      <template v-slot:tit>提示</template>
+      <template v-slot:con>确定重复添加吗</template>
+      <template v-slot:btn1>
+        <div class="btn" style="color: rgba(136,136,136,1);" @click="repShowMask = false">取消</div>
+      </template>
+      <template v-slot:btn2>
+        <div class="btn" style="color: rgba(251,67,25,1);" @click="repAddRecord">确认</div>
+      </template>
+    </pop>
   </div>
 </template>
 
@@ -176,6 +187,8 @@ export default {
     return {
       studentInfo: {},
 
+      // 重复添加弹出框判断
+      repShowMask: false,
       // 学生信息
       stuName: {},
       // 关联选项
@@ -212,6 +225,7 @@ export default {
       minDate: '',
       maxDate: '',
 
+      // 时间,学期未选择,提示选择红字警报
       wei: false,
       tim: false,
       term: false
@@ -227,7 +241,7 @@ export default {
 
       selectStudentDetail(stuData).then(res => {
         this.studentInfo = res[0][0]
-        // console.log('获取学生信息', this.studentInfo)
+        console.log('获取学生信息', this.studentInfo)
 
         // 获取班学生列表
         const data2 = {
@@ -242,6 +256,8 @@ export default {
       // 获取纬度筛选框
 
       this.getWei()
+
+      this.getTermData()
       // selectVeiDoo().then(res => {
       //   this.weiList = res[0]
       //   // console.log('this.weiList', this.weiList)
@@ -250,16 +266,6 @@ export default {
       // console.log('获取筛选项22222222', data3)
 
       // 获取学期筛选框
-      selectTerm().then(res => {
-        // console.log('获取学期筛选框', res)
-        res[0].forEach(e => {
-          // console.log(e)
-          if (e.defaultC === 1) {
-            this.termData.push(e.id)
-          }
-        })
-        this.termList = res[0]
-      })
 
       // 获取班学生列表
       // const data2 = {
@@ -276,6 +282,18 @@ export default {
       //   console.log('this.studentList', this.studentList)
       // })
     },
+    getTermData() {
+      selectTerm().then(res => {
+        // console.log('获取学期筛选框', res)
+        res[0].forEach(e => {
+          // console.log(e)
+          if (e.defaultC === 1) {
+            this.termData.push(e.id)
+          }
+        })
+        this.termList = res[0]
+      })
+    },
     getWei() {
       const data3 = {
         org: this.$store.state.user.userinfo.org,
@@ -333,6 +351,7 @@ export default {
       this.$forceUpdate()
     },
     save() {
+      // 判断是否填写完整,是否让他继续往下走
       let isOk = 0
       if (this.selectWData.length === 0) {
         this.wei = true
@@ -346,6 +365,27 @@ export default {
 
       this.isShowMask = true
     },
+    repPop() {
+      this.recordCon = ''
+      this.imgList = []
+      this.getPresentDate()
+    },
+    repetitionSave() {
+      let isOk = 0
+
+      if (this.selectWData.length === 0) {
+        this.wei = true
+        isOk = 1
+      }
+      if (this.visitTime === '') {
+        this.tim = true
+        isOk = 1
+      }
+      if (isOk === 1) return
+
+      this.repShowMask = true
+    },
+
     amend() {
       let isOk = 0
       // console.log(this.$store.state);
@@ -361,11 +401,19 @@ export default {
 
       this.isShowMask = true
     },
+    // 添加新纪录
+    repAddRecord() {
+      this.uploadRecord()
+    },
     // 上传评价
     uploadRecord() {
+      // 添加新纪录,关联人不能包含自己,要将自己删除
+      // this.selectSData.indexOf()
+
       const data = [
         {
-          uid: localStorage.getItem('userId'),
+          // uid: localStorage.getItem('userId'),
+          uid: this.studentInfo.userid,
           tid: this.$store.state.user.userinfo.userid,
           contact: this.selectSData.join(','),
           type: this.selectWData.join(','),
@@ -440,12 +488,15 @@ export default {
     },
     // 填写页面数据
     getRecord() {
+      this.getWei()
+
+      this.getTermData()
       const data = {
         id: this.$route.query.rid
       }
       // console.log('getRecord', this.$route.query.rid)
       selectRecordDetail(data).then(res => {
-        // console.log('获取单个学生记录详情', res[0][0])
+        console.log('获取单个学生记录详情', res[0][0])
         const allData = res[0][0]
         if (allData.contact !== '') {
           this.selectSData = allData.contact.split(',')
@@ -453,6 +504,10 @@ export default {
         if (allData.type !== '') {
           this.selectWData = allData.type.split(',')
         }
+        this.studentInfo.name = allData.name
+        this.studentInfo.cname = allData.cname
+        this.studentInfo.classid = allData.classid
+        this.studentInfo.userid = allData.sid
 
         this.visitTime = allData.recordDate
         this.place = allData.place
@@ -464,9 +519,36 @@ export default {
         }
         this.termData = [allData.term]
 
+        const data2 = {
+          cid: this.studentInfo.classid,
+          uid: allData.sid
+        }
+        // console.log('获取班学生列表', data2)
+        selectManyClassStudent(data2).then(res => {
+          this.studentList = res[0]
+        })
+
         // console.log('selectWData', this.selectWData)
       })
     },
+    getPresentDate() {
+      const currentTime = new Date()
+      const year = currentTime.getFullYear()
+      let month = currentTime.getMonth() + 1 // 月份从0开始,因此需要加1
+      month = (month < 10 ? '0' : '') + month
+      let day = currentTime.getDate()
+      day = (day < 10 ? '0' : '') + day
+
+      let hours = currentTime.getHours()
+      hours = (hours < 10 ? '0' : '') + hours
+
+      let minutes = currentTime.getMinutes()
+      minutes = (minutes < 10 ? '0' : '') + minutes
+
+      console.log(year, month, day, hours, minutes)
+      this.visitTime = `${year}-${month}-${day} ${hours}:${minutes}`
+      console.log(this.visitTime)
+    },
 
     onConfirm() {
       this.showPicker = false
@@ -542,8 +624,9 @@ export default {
     if (this.$route.query.shareShow * 1 === 1) {
       // console.log('aaaaaaaaaaaaaaaaaaaaa')
       this.getRecord()
+    } else {
+      this.getData()
     }
-    this.getData()
     // console.log(this.$route.query)
   }
 }