coys před 2 roky
rodič
revize
e8c6c7bf54

+ 8 - 3
src/components/TopBar.vue

@@ -7,7 +7,7 @@
     <div class="bottom-box">
       <div>
         <p class="user-name">{{userName}}</p>
-        <p class="introduce-info">福建省农村信用联合社 · 省联社安全保卫管理人员</p>
+        <p class="introduce-info" v-for="item in rolesList" :key="item.roleId">{{orgName}} · {{item.roleName}}</p>
       </div>
       <van-icon name="arrow" size="20"  />
     </div>
@@ -23,11 +23,16 @@ export default {
   },
   data() {
     return {
-      active: this.defaultActive
+      active: this.defaultActive,
+      rolesList:[]
     }
   },
   computed: {
-    ...mapGetters(['userName'])
+    ...mapGetters(['userName','orgName'])
+  },
+  created(){
+    this.rolesList=JSON.parse(window.sessionStorage.getItem('SET_USER_ROLELIST'))
+    console.log(this.rolesList);
   },
   methods: {
     clickOutLogin(){

+ 0 - 57
src/components/table/index.vue

@@ -1,57 +0,0 @@
-<template>
-  <div class="table">
-    <ve-table
-      :border-x="true"
-      :border-y="true"
-      :border-around="true"
-      :columns="columns"
-      :table-data="dataList" />
-  </div>
-</template>
-
-<script>
-
-export default {
-  props:{
-    data:{
-      type: Array,
-      default: ()=>[],
-    }
-  },
-  data(){
-    return {
-      columns:[
-        {
-          field: "index",
-          key: "index",
-          title: "序号",
-          width: 50,
-          align: "center",
-          fixed: "left",
-          renderBodyCell: ({ row, column, rowIndex }, h) => {
-            return ++rowIndex;
-          },
-        },
-        {field:'orgName',key:'2',title:'单位名称',align: "center" },
-        {field:'finish',key:'3',title:'应培训数',align: "center" },
-        {field:'shouldFinish',key:'4',title:'已培训数',align: "center" },
-        {field:'finishRate',key:'5',title:'完成率',align: "center" },
-      ],
-      dataList:[],
-    }
-  },
-  watch:{
-    data:{
-      handler(val){
-        console.log(val,'val')
-        this.dataList = this.data;
-      },
-      immediate:true,
-      deep:true
-    }
-  },
-  methods:{
-
-  }
-}
-</script>

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

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

+ 0 - 3
src/main.js

@@ -10,8 +10,6 @@ import 'vant/lib/index.css';
 import router from './router'
 import store from './store'
 import dayjs from "dayjs";
-import "vue-easytable/libs/theme-default/index.css";
-import VueEasytable from "vue-easytable";
 import {imgUrl} from "@/utils";
 // 设置 js中可以访问 $cdn
 import config, { $cdn } from '@/config'
@@ -28,7 +26,6 @@ Vue.config.productionTip = false
 import VCalendar from 'v-calendar';
 import globals from "@/utils/global.js"//全局混入
 Vue.use(Vant);
-Vue.use(VueEasytable);
 Vue.use(globals);
 Vue.use(VCalendar,{
   componentPrefix: 'vc',  // Use <vc-calendar /> instead of <v-calendar />

+ 1 - 1
src/router/router.config.js

@@ -102,7 +102,7 @@ export let routers = [
         path: '/nfc',
         name: 'nfc',
         component: () => import('@/views/menu/NFCmanage/index'),
-        meta: { title: 'NFC管理', keepAlive: false }
+        meta: { title: '履职登记', keepAlive: false }
       },
       {
         path: '/lvzhi',

+ 2 - 2
src/views/home/menu.vue

@@ -3,9 +3,9 @@
     <top-bar></top-bar>
     <div class="menu-list">
       <div class="menu-list-item" v-for="(v,i) in menuList" :key="i">
-        <p @click="onclick">{{v.meta?.title}}</p>
+        <p @click="onclick">{{v.meta.title}}</p>
         <van-grid border :column-num="3">
-          <van-grid-item v-for="item in v.children" :key="item.path" :icon="item.meta.icon" :text="item.meta.title" :to="item.path" />
+          <van-grid-item v-for="(item,index) in v.children" :key="index" :icon="item.meta.icon" :text="item.meta.title" :to="item.path" />
         </van-grid>
 <!--          <li v-for="(item,index) in v.list" :key="index">-->
 <!--            <div></div>-->

+ 5 - 10
src/views/menu/LZRegister/edit.vue

@@ -12,16 +12,16 @@
               <van-cell title="NFC:"  >
                 <template #extra>
                   <p class="flex-box">
-                    <span style="color: #969799;">已扫 <span style="color: #1989fa;">{{taskInfo.areaScanY}}</span> </span>
-                    <span style="color: #969799;">未扫 <span style="color: orange;">{{taskInfo.areaScanN}}</span> </span>
+                    <span >已扫 {{taskInfo.areaScanY}}</span>
+                    <span >未扫 {{taskInfo.areaScanN}}</span>
                   </p>
                 </template>
               </van-cell>
               <van-cell title="检查区域:">
                 <template #extra>
                   <p class="flex-box">
-                    <span style="color: #969799;">已查 <span style="color: #1989fa;">{{taskInfo.nfcScanY}}</span> </span>
-                    <span style="color: #969799;">未查 <span style="color: orange;">{{taskInfo.nfcScanN}}</span> </span>
+                    <span >已查 {{taskInfo.nfcScanY}}</span>
+                    <span >未查 {{taskInfo.nfcScanN}}</span>
                   </p>
                 </template>
               </van-cell>
@@ -111,10 +111,6 @@
                       active-color="orange"
                       @change="switchChange(item)"
                       size="20" />
-                    <div v-else>
-                      <span v-if="item.resvalue" style="color: orange">异常</span>
-                      <span v-else style="color: #88ef4b;">正常</span>
-                    </div>
                   </template>
                 </van-cell>
                 <van-cell-group v-show="item.resvalue">
@@ -422,7 +418,7 @@ export default {
     justify-content: space-between;
     align-items: center;
     >span{
-      margin-left: 40px;
+      margin: 0 20px;
     }
   }
   .card{
@@ -465,6 +461,5 @@ export default {
   .nfc-img{
     width: 160px;
     height: 160px;
-    border:1px solid #f1f1f1;
   }
 </style>

+ 1 - 1
src/views/menu/LZRegister/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="lvzhi" ref="container">
-    <nav-bar/>
+    <nav-bar></nav-bar>
     <van-sticky :container="container">
       <DatePicker ref="DatePicker" @change="changeDate"></DatePicker>
     </van-sticky>

+ 25 - 68
src/views/menu/educationStatistics/index.vue

@@ -3,36 +3,27 @@
     <NavBar />
     <div class="statistics-container">
       <org-tree v-model="query.orgId" @change="getDataList"></org-tree>
-      <div class="search-flex-box">
-        <select-cell title="教育计划名称" v-model="query.planId" :dataList="planList" :prop="prop" @change="getDataList"/>
-        <date-cell title="统计月份"  v-model="query.date" date-type="year-month" @change="getDataList"/>
-      </div>
+      <select-cell title="教育计划名称" v-model="query.planId" :dataList="planList" :prop="prop" @change="getDataList"/>
+      <date-cell title="统计月份"  v-model="query.date" date-type="year-month" @change="getDataList"/>
       <div class="card-list">
         <van-empty description="暂无数据" v-if="!dataList || dataList.length === 0" />
-<!--          <van-cell-group  v-for="(v,i) in dataList" :key="i">-->
-<!--            <van-cell :title="v.orgName" >-->
-<!--              <template #extra>-->
-<!--                <div class="card-num">-->
-<!--                  {{v.finishRate}}-->
-<!--                </div>-->
-<!--              </template>-->
-<!--              <template #label>-->
-<!--                <div class="flex-box">-->
-<!--                  <div>应培训数:{{v.shouldFinish}}</div>-->
-<!--                  <div>已培训数:{{v.finish}}</div>-->
-<!--                </div>-->
-<!--              </template>-->
-<!--            </van-cell>-->
-<!--          </van-cell-group>-->
-          <ve-table
-            v-else
-            :border-x="true"
-            :border-y="true"
-            :border-around="true"
-            :columns="columns"
-            :fixed-header="true"
-            maxHeight="calc(100vh - 240px)"
-            :table-data="dataList" />
+        <template v-else>
+          <van-cell-group  v-for="(v,i) in dataList">
+            <van-cell :title="v.orgName" >
+              <template #extra>
+                <div class="card-num">
+                  {{v.finishRate}}
+                </div>
+              </template>
+              <template #label>
+                <div class="flex-box">
+                  <div>应培训数:{{v.shouldFinish}}</div>
+                  <div>已培训数:{{v.finish}}</div>
+                </div>
+              </template>
+            </van-cell>
+          </van-cell-group>
+        </template>
       </div>
     </div>
   </div>
@@ -40,9 +31,8 @@
 <script>
 import NavBar from '@/components/NavBar'
 import OrgTree from '@/components/orgTree'
-import DateCell from '@/components/dateCell'
-import SelectCell from '@/components/selectCell'
-import Tables from '@/components/table'
+import dateCell from '@/components/dateCell'
+import selectCell from '@/components/selectCell'
 import {dataList,planList} from './api'
 import {mapGetters} from "vuex";
 import {formatDate} from "@/filters/filter";
@@ -50,9 +40,8 @@ export default {
   components: {
     NavBar,
     OrgTree,
-    DateCell,
-    SelectCell,
-    Tables
+    dateCell,
+    selectCell
   },
   data() {
     return {
@@ -67,24 +56,7 @@ export default {
         value:'id',
       },
       loading:false,
-      columns:[
-        {
-          field: "index",
-          key: "index",
-          title: "序号",
-          width: 50,
-          align: "center",
-          fixed: "left",
-          renderBodyCell: ({ row, column, rowIndex }, h) => {
-            return ++rowIndex;
-          },
-        },
-        {field:'orgName',key:'2',title:'单位名称',align: "center" },
-        {field:'finish',key:'3',title:'应培训数',align: "center" },
-        {field:'shouldFinish',key:'4',title:'已培训数',align: "center" },
-        {field:'finishRate',key:'5',title:'完成率',align: "center" },
-      ],
-      dataList:[],
+      dataList:[]
     }
   },
   mounted() {
@@ -127,12 +99,6 @@ export default {
 .van-cell-group:last-child{
   margin-bottom: 0;
 }
-.vue-table-root{
-  tr,th,td{
-    font-size: 25px!important;
-    color:#666!important;
-  }
-}
 </style>
 <style lang="scss" scoped>
   .educationStatistics{
@@ -141,18 +107,9 @@ export default {
   .statistics-container{
 
   }
-  .search-flex-box{
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    >div{
-      width: 50%;
-      border-right: 1px solid #eaeaea ;
-    }
-  }
   .card-list{
     padding: 20px;
-    -height: calc(100vh - 410px);
+    height: calc(100vh - 550px);
     overflow: auto;
   }
   .card-num{

+ 1 - 1
src/views/menu/monitoringCall/components/consultInfo.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <NavBar />
+    <NavBar :go="{type:'push',path:'/monitoringCall'}" />
     <div class="bigBox">
       <van-collapse v-model="activeNames">
         <div class="titleBox">

+ 4 - 0
src/views/menu/monitoringCall/components/taskInfo.vue

@@ -171,15 +171,19 @@ export default {
       this.falg = false
 
       this.dataList.forEach(item => {
+
         if (item.isChecked) {
+          console.log(item);
           if (item.situation == '1' && item.abnormalIllustrate == '') {
             Toast(`${item.dictLabel}的异常情况说明不能为空!`)
+            
             this.falg = true
           }
         }
       })
     },
     submitHadnler() {
+      this.beforSubmitV()
       if (this.falg) {
         //校验不通过
       } else {

+ 2 - 6
src/views/menu/monitoringCall/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <NavBar />
+    <NavBar :go="{type:'push',path:'/menu'}" />
     <van-row>
       <van-col span="24">
         <org-tree v-model="cascaderValue" @change="getDataList"></org-tree>
@@ -156,7 +156,7 @@ export default {
   },
   mounted() {
     this.cascaderValue = JSON.parse(window.sessionStorage.getItem('SET_USER_ORGID')) + ''
-    this.init() 
+    this.init()
   },
   methods: {
     //单元格点击事件
@@ -328,16 +328,12 @@ export default {
     onFinish() {},
     //搜索选择状态时触发
     onConfirm(value, index) {
-    
       this.fieldValue = value
       this.statusList.forEach(item => {
         if (value == item.dictLabel) {
           this.str = item.dictValue
         }
       })
-      if(value=='全部'){
-        this.str=''
-      }
       this.showStatus = false
       this.selectListAppHandler()
     },

+ 1 - 1
src/views/menu/training/components/addTraining.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <NavBar />
+    <NavBar :go="{type:'push',path:'/training'}" />
     <van-form class="bigbox" ref="form">
       <div class="mainItem">
         <div>标题</div>

+ 1 - 1
src/views/menu/training/components/personnelSignature.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <NavBar />
+    <NavBar :go="{type:'push',path:'/training'}"/>
 
     <div class="mainItem">
       <div>标题</div>

+ 18 - 30
src/views/menu/training/index.vue

@@ -1,23 +1,12 @@
 <template>
   <div>
     <div class="topBox">
-      <NavBar />
+      <NavBar :go="{type:'push',path:'/menu'}" />
 
       <van-row>
         <van-col span="24">
           <org-tree v-model="cascaderValue" :name="'sss'" @changeItem="getDataList"></org-tree>
-          <!-- <van-field
-            v-model="orgName"
-            is-link
-            label-width="4em"
-            clearable
-            label="组织机构"
-            placeholder=""
-            @click="orgShow = true"
-          />
-          <van-popup v-model="orgShow" class="popup" round position="bottom">
-            
-          </van-popup> -->
+         
         </van-col>
       </van-row>
       <van-row>
@@ -234,22 +223,16 @@ export default {
   },
 
   created() {
-    this.init()
-    this.presentDate = this.presentDateCpd
+    this.presentDate = new Date(+newDateMonth().split('-')[0], +newDateMonth().split('-')[1] - 1)
   },
   mounted() {
-    this.cascaderValue=(JSON.parse(window.sessionStorage.getItem('SET_USER_ORGID'))+'')
-    console.log(this.cascaderValue);
-  },
-  computed: {
-    presentDateCpd() {
-      return new Date(+newDateMonth().split('-')[0], +newDateMonth().split('-')[1] - 1)
-    }
+    this.cascaderValue = JSON.parse(window.sessionStorage.getItem('SET_USER_ORGID')) + ''
+    console.log(this.cascaderValue)
+    this.init()
   },
   methods: {
     //机构搜索
     getDataList(val) {
-      
       this.cascaderValue = val.id
       this.orgName = val.name
       this.selectListAppHandler()
@@ -287,11 +270,11 @@ export default {
       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) {
-        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) {
           timefalg = true
         }
@@ -306,7 +289,12 @@ export default {
           }
         })
       })
-
+      if (date > endDate) {
+        //当前时间大于结束时间表示已超期
+      
+        timefalg = false
+        falg = false
+      }
       if (falg && timefalg) {
         return true
       }
@@ -357,7 +345,7 @@ export default {
         if (code == 200) {
           if (type) {
             this.taskList.push(...rows)
-            if (rows.length == 0||rows.length <10) {
+            if (rows.length == 0 || rows.length < 10) {
               //已加载完全部数据
               this.finished = true
             }
@@ -425,7 +413,7 @@ export default {
     },
     //月份选中触发
     onDateConfirm() {
-      this.currentDate = this.newDate(this.currentDate)
+      this.currentDate = this.newDate(this.presentDate)
 
       this.showDate = false
       this.selectListAppHandler()
@@ -494,7 +482,7 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-.popup{
+.popup {
   height: 40vh;
 }
 .navBarclas {