Răsfoiți Sursa

Merge branch 'V0.0.2' of http://10.87.10.227:4000/jzyd_yyds/soc_app into V0.0.2

jiawuxian 2 ani în urmă
părinte
comite
a58b0cc642

+ 2 - 1
src/config/env.development.js

@@ -2,8 +2,9 @@
 module.exports = {
   title: 'soc-app-dev',
   baseUrl: 'http://localhost:9018', // 项目地址
-  baseApi: '/luowei', // 本地api请求地址,注意:如果你使用了代理,请设置成'/'
+  baseApi: '/dev', // 本地api请求地址,注意:如果你使用了代理,请设置成'/'
   APPID: 'xxx',
   APPSECRET: 'xxx',
   $cdn: 'https://www.sunniejs.cn/static'  //静态资源
 }
+

+ 12 - 0
src/router/router.config.js

@@ -60,12 +60,24 @@ export let routers = [
     meta: { title: '培训登记', keepAlive: false }
   },
   {
+    path: '/addRehearsalTask/:id',
+    name: 'addRehearsalTask',
+    component: () => import('@/views/menu/rehearsalTask/components/addRehearsalTask.vue'),
+    meta: { title: '演练登记', keepAlive: false }
+  },
+  {
     path: '/personnelSignature/:id',
     name: 'personnelSignature',
     component: () => import('@/views/menu/training/components/personnelSignature.vue'),
     meta: { title: '培训参与人员签名', keepAlive: false }
   },
   {
+    path: '/rehearsalTaskSign/:id',
+    name: 'rehearsalTaskSign',
+    component: () => import('@/views/menu/rehearsalTask/components/rehearsalTaskSign.vue'),
+    meta: { title: '演练登记签名', keepAlive: false }
+  },
+  {
     path: '/home',
     component: () => import('@/components/layouts/index'),
     redirect:'/works',

+ 51 - 0
src/views/menu/monitoringCall/1.vue

@@ -0,0 +1,51 @@
+<
+<template>
+  <div>
+    <div v-for="item in list">
+        
+    </div>
+  </div>
+</template>
+<script>
+export default {
+  name: 'SocApp1',
+
+  data() {
+    return {
+      list: [
+        {
+          title: '每日履职',
+          dictValue:'0',
+          data: {
+            a: '网点安全员',
+            b: '',
+            c: '',
+            d: ''
+          }
+        },
+        {
+          title: '每月履职',
+          dictValue:'1',
+        },
+        {
+          title: '每季履职'
+        },
+        {
+          title: '半年履职'
+        },
+        {
+          title: '每年履职'
+        }
+      ]
+    }
+  },
+
+  mounted() {},
+
+  methods: {
+    submitHandler() {
+      aaaaaa(this.list).then(res => {})
+    }
+  }
+}
+</script>

+ 3 - 2
src/views/menu/monitoringCall/components/consultInfo.vue

@@ -21,7 +21,7 @@
           </div>
           <!-- ------------ -->
           <div v-else>
-            <van-collapse-item :name="item.hostId" v-for="item in hostList" :key="item.hostId">
+            <van-collapse-item  :name="item.hostId" v-for="item in hostList" :key="item.hostId">
               <template #title>
                 <div class="textTitle">{{ item?.hostName }}</div>
               </template>
@@ -38,7 +38,7 @@
             <van-button type="info" @click="addInfoHandler">添加调阅记录</van-button>
           </van-col>
         </van-row> -->
-        <van-row v-if="taskData.coreMonitoringTaskRegistrationMonitorVOList&&taskData.coreMonitoringTaskRegistrationMonitorVOList.length>0">
+        <van-row v-if="hostList&&hostList.length>0">
           <van-col span="24">
             <van-button type="info" @click="endMontor">结束调阅</van-button>
           </van-col>
@@ -106,6 +106,7 @@ export default {
         if (code == 200) {
           
           this.hostList=data
+          this.activeNames=[this.hostList[0].hostId]
         }
       })
     },

+ 13 - 3
src/views/menu/monitoringCall/components/taskInfo.vue

@@ -22,13 +22,13 @@
             <div class="mainItem">
               <van-row class="rowItem" v-for="item in dataList" :key="item.id">
                 <van-col class="itemCls" span="10"
-                  ><van-checkbox v-model="item.isChecked" :disabled="disabled" icon-size="16px" shape="square">{{
+                  ><van-checkbox v-model="item.isChecked" @change="checkedFc($event, item)" :disabled="disabled" icon-size="16px" shape="square">{{
                     item.dictLabel
                   }}</van-checkbox>
                 </van-col>
                 <van-radio-group v-model="item.situation" @change="checkHandler($event, item)">
                   <van-col class="itemCls" span="7" v-for="itemDict in dictList" :key="itemDict.dictValue">
-                    <van-radio icon-size="16px" shape="square" :name="itemDict.dictValue">{{
+                    <van-radio icon-size="16px"  :name="itemDict.dictValue">{{
                       itemDict.dictLabel
                     }}</van-radio></van-col
                   >
@@ -112,7 +112,7 @@ export default {
       this.getDictHandler('core_registration_project', res => {
         this.dataList = JSON.parse(JSON.stringify(res))
         this.dataList.forEach(item => {
-          this.$set(item, 'situation', '0') //异常情况初始化默认值
+          this.$set(item, 'situation', ' ') //异常情况初始化默认值
           this.$set(item, 'isChecked', false) //选中初始值
           this.$set(item, 'abnormalIllustrate', '') //情况说明初始化默认值
           
@@ -130,10 +130,20 @@ export default {
     },
     //复选框选中变化
     checkHandler(val, item) {
+     
       if (val&&item.situation=='0') {
         item.abnormalIllustrate = ''
       }
     },
+    checkedFc(val,item){
+      if(val){
+        item.situation='0'
+      }else{
+        item.situation=''
+
+      }
+      
+    },
     getInfoHandler(id, videoId, hostId) {
       //获取卡片详情数据
       getEditInfo({ taskId: id+'', videoId: videoId+'', hostId: hostId+'' }).then(res => {

+ 3 - 0
src/views/menu/monitoringCall/index.vue

@@ -345,6 +345,9 @@ export default {
           this.str = item.dictValue
         }
       })
+      if(value=='全部'){
+        this.str =''
+      }
       this.showStatus = false
       this.selectListAppHandler()
     },

+ 34 - 40
src/views/menu/rehearsalTask/components/addTraining.vue → src/views/menu/rehearsalTask/components/addRehearsalTask.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <NavBar :go="{type:'push',path:'/training'}" />
+    <NavBar :go="{ type: 'push', path: '/rehearsalTask' }" />
     <van-form class="bigbox" ref="form">
       <div class="mainItem">
         <div>标题</div>
@@ -10,30 +10,17 @@
         <div>单位名称</div>
         <div>{{ trainingData?.orgName }}</div>
       </div>
-      <van-field
-        readonly
-        clickable
-        required
-        name="picker"
-        :value="form.typeText"
-        label="培训类型"
-        :rules="[{ required: true, message: '培训类型不能为空' }]"
-        placeholder="请选择培训类型"
-        @click="showPicker = true"
-      />
-      <van-popup v-model="showPicker" position="bottom">
-        <van-picker show-toolbar :columns="columns" @confirm="onConfirm" @cancel="showPicker = false" />
-      </van-popup>
-      <!-- 培训开始时间 -->
+    
+      <!-- 演练时间 -->
       <van-field
         readonly
         clickable
         name="datetimePicker"
         :value="form.trainingStartDateTime"
         required
-        :rules="[{ required: true, message: '培训开始时间不能为空' }]"
-        label="培训开始时间"
-        placeholder="请选择培训开始时间"
+        :rules="[{ required: true, message: '演练时间不能为空' }]"
+        label="演练时间"
+        placeholder="请选择演练时间"
         @click="showStartDate = true"
       />
       <van-popup v-model="showStartDate" position="bottom">
@@ -44,47 +31,54 @@
           @cancel="showStartDate = false"
         />
       </van-popup>
-      <!-- 培训结束时间 -->
+      <!-- 演练地点 -->
       <van-field
         readonly
         clickable
-        name="datetimePicker"
         :value="form.trainingEndDateTime"
         required
-        :rules="[{ required: true, message: '培训结束时间不能为空' }]"
-        label="培训结束时间"
-        placeholder="请选择培训结束时间"
-        @click="showEndDate = true"
+        :rules="[{ required: true, message: '演练地点不能为空' }]"
+        label="演练地点"
+        placeholder="请选择演练地点"
       />
-      <van-popup v-model="showEndDate" position="bottom">
-        <van-datetime-picker
-          v-model="endDateTime"
-          type="datetime"
-          @confirm="onConfirmEndDate"
-          @cancel="showEndDate = false"
-        />
+      <!-- 演练项目 -->
+      <van-field
+        readonly
+        clickable
+        required
+        name="picker"
+        :value="form.typeText"
+        label="演练项目"
+        :rules="[{ required: true, message: '演练项目不能为空' }]"
+        placeholder="请选择演练项目"
+        @click="showPicker = true"
+      />
+      <van-popup v-model="showPicker" position="bottom">
+        <van-picker show-toolbar :columns="columns" @confirm="onConfirm" @cancel="showPicker = false" />
       </van-popup>
-      <!-- 培训内容 -->
+      <van-button type="info" @click="submitHandler(1)">参考预案演练库</van-button>
+
+      <!-- 预设案由 -->
       <van-field
         required
-        :rules="[{ required: true, message: '培训内容不能为空' }]"
+        :rules="[{ required: true, message: '预设案由不能为空' }]"
         v-model="form.content"
         name="content"
-        label="培训内容"
+        label="预设案由"
         type="textarea"
         row="2"
-        placeholder="请填写培训内容"
+        placeholder="请填写预设案由"
       />
-      <!-- 总结 -->
+      <!-- 演练情况 -->
       <van-field
         required
-        :rules="[{ required: true, message: '总结不能为空' }]"
+        :rules="[{ required: true, message: '演练情况不能为空' }]"
         v-model="form.note"
         name="note"
-        label="总结"
+        label="演练情况"
         type="textarea"
         row="3"
-        placeholder="请结合网点进行总结"
+        placeholder="请结合网点进行演练情况"
       />
 
       <!-- 参与人员 -->

+ 7 - 7
src/views/menu/rehearsalTask/components/personnelSignature.vue → src/views/menu/rehearsalTask/components/rehearsalTaskSign.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <NavBar :go="{type:'push',path:'/training'}"/>
+    <NavBar :go="{type:'push',path:'/rehearsalTask'}"/>
 
     <div class="mainItem">
       <div>标题</div>
@@ -11,27 +11,27 @@
       <div>{{ trainingData?.orgName }}</div>
     </div>
     <div class="mainItem">
-      <div>培训类型</div>
+      <div>演练时间</div>
       <div>{{ trainingData?.typeText }}</div>
     </div>
     <div class="mainItem">
-      <div>培训开始时间</div>
+      <div>演练地点</div>
       <div>{{ trainingData?.trainingStartDateTime }}</div>
     </div>
     <div class="mainItem">
-      <div>培训结束时间</div>
+      <div>指挥人</div>
       <div>{{ trainingData?.trainingEndDateTime }}</div>
     </div>
     <div class="mainItem">
-      <div>主持人</div>
+      <div>演练项目</div>
       <div>{{ trainingData?.hostName }}</div>
     </div>
     <div class="mainItem">
-      <div>培训内容</div>
+      <div>预设案由</div>
       <div>{{ trainingData?.content }}</div>
     </div>
     <div class="mainItem">
-      <div>总结</div>
+      <div>演练情况</div>
       <div>{{ trainingData?.note }}</div>
     </div>
     <div class="mainItem">

+ 68 - 109
src/views/menu/rehearsalTask/index.vue

@@ -38,7 +38,7 @@
             v-model="currentDate"
             clearable
             label-width="3em"
-            label="份"
+            label="份"
             placeholder=""
             :disabled="showDate"
             @click="showDate = true"
@@ -49,40 +49,12 @@
               @cancel="onCancel"
               @confirm="onDateConfirm"
               type="year-month"
-              title="份"
+              title="份"
             />
           </van-popup>
         </van-col>
       </van-row>
-      <van-row>
-        <van-col span="24"
-          ><van-field
-            v-model="typeName"
-            is-link
-            label-width="3em"
-            clearable
-            label="类型"
-            :disabled="typeStatus"
-            placeholder=""
-            @click="typeStatus = true"
-          />
-          <van-popup v-model="typeStatus" round position="bottom">
-            <van-picker
-              title="类型"
-              show-toolbar
-              :columns="typeColumns"
-              @confirm="onConfirmHandler"
-              @cancel="onCancel"
-              @change="onChange"
-              :close-on-click-overlay="false"
-            />
-          </van-popup>
-        </van-col>
-
-        <!-- <van-col span="6" class="btnf_box">
-        <van-button type="info" class="btn" @click="clearSearch" size="small">重置</van-button>
-      </van-col> -->
-      </van-row>
+      
     </div>
 
     <!-- //卡片内容区域 -->
@@ -94,11 +66,14 @@
               <div class="title">{{ item.title }}</div>
               <div>
                 <van-button plain type="info" v-if="isSign(item)" size="mini" @click="trainSign(item.id)"
-                  >培训登记</van-button
+                  >演练登记</van-button
                 >
                 <van-button plain type="info" v-if="isSignature(item)" size="mini" @click="signature(item.id)"
                   >签名</van-button
                 >
+                <van-button plain type="info" v-if="isSignature(item)" size="mini" @click="signature(item.id)"
+                  >评价</van-button
+                >
               </div>
             </div>
           </template>
@@ -108,15 +83,15 @@
               <div>{{ item.orgName }}</div>
             </div>
             <div class="mainItem" @click="goInfo(item.id)">
-              <div>培训状态</div>
+              <div>演练状态</div>
               <div>{{ item.statusText }}</div>
             </div>
             <div class="mainItem" @click="goInfo(item.id)">
-              <div>培训类型</div>
+              <div>演练项目</div>
               <div>{{ item.typeText }}</div>
             </div>
             <div class="mainItem" @click="goInfo(item.id)">
-              <div>培训时间</div>
+              <div>演练时间</div>
               <div>{{ item.startDate }}</div>
             </div>
             <div class="mainItem">
@@ -183,7 +158,6 @@ export default {
       fieldValue: '全部', //状态名称
       statusValue: ' ', //状态值
       columns: ['全部', '待记录', '待签名', '已完成'], //状态数组
-      typeColumns: ['每月安全培训教育', '专项安全培训教育'], //类型数组
       currentDate: newDateMonth(), //月份值
       conditionShow: false //机构弹框显示隐藏
     }
@@ -242,65 +216,67 @@ export default {
     },
     //判断是否展示签名按钮
     isSignature(list) {
-      let falg = false
-      let timefalg = false
-      //value1 当前登陆用户ID
-      //任务处于待记录状态,且任务在规定完成时间范围内,登录人所在机构和角色与任务培训角色、培训机构一致才显示
-      if (list.startDate && list.endDate && list.status == 1) {
-        let date = new Date().getTime()
-        let startDate = Date.parse(new Date(list.startDate))
-        let endDate = Date.parse(new Date(list.endDate))
+      return true
+      // let falg = false
+      // let timefalg = false
+      // //value1 当前登陆用户ID
+      // //任务处于待记录状态,且任务在规定完成时间范围内,登录人所在机构和角色与任务培训角色、培训机构一致才显示
+      // if (list.startDate && list.endDate && list.status == 1) {
+      //   let date = new Date().getTime()
+      //   let startDate = Date.parse(new Date(list.startDate))
+      //   let endDate = Date.parse(new Date(list.endDate))
 
-        if (date >= startDate && date <= endDate) {
-          console.log(list.id, 'ssss')
-          timefalg = true
-        }
-      }
-      list.userList?.forEach(item => {
-        console.log(this.value1, 'sss')
-        if (this.value1 == item.userId && item.sign === 0) {
-          console.log(list.id, 'fff')
-          falg = true
-        }
-      })
+      //   if (date >= startDate && date <= endDate) {
+      //     console.log(list.id, 'ssss')
+      //     timefalg = true
+      //   }
+      // }
+      // list.userList?.forEach(item => {
+      //   console.log(this.value1, 'sss')
+      //   if (this.value1 == item.userId && item.sign === 0) {
+      //     console.log(list.id, 'fff')
+      //     falg = true
+      //   }
+      // })
 
-      if (falg && timefalg) {
-        return true
-      }
+      // if (falg && timefalg) {
+      //   return true
+      // }
     },
     //判断是否展示登记按钮
     isSign(list) {
-      let falg = false
-      let timefalg = false
-      //value1 当前登陆用户ID
-      let date = new Date().getTime()
-      let startDate = Date.parse(new Date(list.startDate))
-      let endDate = Date.parse(new Date(list.endDate))
-      //当前时间再时间范围内且签名是待签名状态且签名列表存在当前登录人未签名的情况才可以进行签名
-      if (list.startDate && list.endDate && list.status == 0) {
-        if (date >= startDate && date <= endDate) {
-          timefalg = true
-        }
-      }
-      //cascaderValue  当前机构ID
-      //当前用户角色ID
-      let roleL = JSON.parse(sessionStorage.getItem('SET_USER_ROLELIST'))
-      roleL.forEach(i => {
-        list.taskRoleList?.forEach(item => {
-          if (this.cascaderValue == list.orgId && i.roleId == item.roleId) {
-            falg = true
-          }
-        })
-      })
-      if (date > endDate) {
-        //当前时间大于结束时间表示已超期
+      return true
+      // let falg = false
+      // let timefalg = false
+      // //value1 当前登陆用户ID
+      // let date = new Date().getTime()
+      // let startDate = Date.parse(new Date(list.startDate))
+      // let endDate = Date.parse(new Date(list.endDate))
+      // //当前时间再时间范围内且签名是待签名状态且签名列表存在当前登录人未签名的情况才可以进行签名
+      // if (list.startDate && list.endDate && list.status == 0) {
+      //   if (date >= startDate && date <= endDate) {
+      //     timefalg = true
+      //   }
+      // }
+      // //cascaderValue  当前机构ID
+      // //当前用户角色ID
+      // let roleL = JSON.parse(sessionStorage.getItem('SET_USER_ROLELIST'))
+      // roleL.forEach(i => {
+      //   list.taskRoleList?.forEach(item => {
+      //     if (this.cascaderValue == list.orgId && i.roleId == item.roleId) {
+      //       falg = true
+      //     }
+      //   })
+      // })
+      // if (date > endDate) {
+      //   //当前时间大于结束时间表示已超期
       
-        timefalg = false
-        falg = false
-      }
-      if (falg && timefalg) {
-        return true
-      }
+      //   timefalg = false
+      //   falg = false
+      // }
+      // if (falg && timefalg) {
+      //   return true
+      // }
     },
     //清空查询条件
     clearSearch() {
@@ -397,23 +373,7 @@ export default {
       this.selectListAppHandler()
       this.showStatus = false
     },
-    //类型确认框
-    onConfirmHandler(value, index) {
-      this.typeName = value
-
-      switch (value) {
-        case '每月安全培训教育':
-          this.typeValue = '0'
-
-          break
-        case '专项安全培训教育':
-          this.typeValue = '1'
-          break
-      }
-      console.log(this.typeValue)
-      this.typeStatus = false
-      this.selectListAppHandler()
-    },
+    
     //月份选中触发
     onDateConfirm() {
       this.currentDate = this.newDate(this.presentDate)
@@ -464,7 +424,7 @@ export default {
     },
     //培训登记跳转
     trainSign(id) {
-      this.$router.push('/Addtraining/' + id)
+      this.$router.push('/addRehearsalTask/' + id)
     },
     //签名
     signature(id) {
@@ -474,10 +434,9 @@ export default {
     goInfo(id) {
       this.$router.push('/personnelSignature/' + id + '_info')
     },
-    onChange(picker, value, index) {},
     onCancel() {
       this.show = false
-      this.typeStatus = false
+      
       this.showDate = false
       this.showStatus = false
     }