Parcourir la Source

[FE] 安防页面调整

chenxr3 4 ans auparavant
Parent
commit
aae1b31f8e

+ 17 - 9
security-protection-platform/src/modules/access/component/instrumentRecord/index.vue

@ -23,7 +23,10 @@
23 23
      <div class="alarm_people">
24 24
        <span class="title">员工 : </span>
25 25
        <t-input v-model="searchdata.nameAsLike" placeholder="员工姓名" style="width: 200px"></t-input>
26
        <t-button color="primary" @click="btnsearch">查询</t-button>
27
        <t-button @click="reset">重置</t-button>
26 28
      </div>
29
      <t-button color="primary" icon="upload" style="width:128px;height:32px" class="upload">导出至Excel</t-button>
27 30
28 31
    </div>
29 32
@ -31,32 +34,30 @@
31 34
32 35
      <!-- 导出excel -->
33 36
      <div>
34
        <t-button color="primary" icon="upload" style="width:128px;height:32px" class="upload">导出至Excel</t-button>
35 37
      </div>
36 38
37 39
      <div>
38
        <t-button color="primary" @click="btnsearch">查询</t-button>
39
        <t-button @click="reset">重置</t-button>
40
40 41
      </div>
41 42
42 43
    </div>
43 44
44 45
    <t-table :data="data" line @selection-change="handleSelectionChange">
45 46
      <t-table-column type="selection" width="34px"></t-table-column>
46
      <t-table-column label="仪表读数" width="75px" align="center">
47
      <t-table-column :formatter="date_formatter" label="仪表读数" width="75px" align="center">
47 48
        <template v-slot="{row}">
48 49
          <span>{{ getInstrumentNumber(row) }}</span>
49 50
        </template>
50 51
      </t-table-column>
51
      <t-table-column label="进出时间" prop="taskExecuteTime" width="160px">
52
      <t-table-column :formatter="date_formatter" label="进出时间" prop="taskExecuteTime" width="160px">
52 53
      </t-table-column>
53
      <t-table-column label="位置" prop="terminalPosition" width="122px">
54
      <t-table-column :formatter="date_formatter" label="位置" prop="terminalPosition" width="122px">
54 55
      </t-table-column>
55
      <t-table-column label="终端名称" prop="resourceToolName" width="97px">
56
      <t-table-column :formatter="date_formatter" label="终端名称" prop="resourceToolName" width="97px">
56 57
      </t-table-column>
57
      <t-table-column label="终端编号" prop="resourceToolCode" width="90px">
58
      <t-table-column :formatter="date_formatter" label="终端编号" prop="resourceToolCode" width="90px">
58 59
      </t-table-column>
59
      <t-table-column label="操作" width="80px">
60
      <t-table-column :formatter="date_formatter" label="操作" width="80px">
60 61
        <template slot-scope="scope">
61 62
          <a href="javascript:void(0)" size="sm" style="color:#0089D4" @click="handleClick(scope)">识别详情</a>
62 63
        </template>
@ -423,6 +424,13 @@ export default {
423 424
        // console.log(base64, '是否成功打印base64')
424 425
        that.mainimage = base64
425 426
      })
427
    },
428
    date_formatter(row, column, cellValue, index) {
429
      if (cellValue === '' || cellValue === null) {
430
        return '-'
431
      }else {
432
        return cellValue
433
      }
426 434
    }
427 435
    // //将分数转换为小数
428 436
    // toPoint (percent) {

+ 23 - 13
security-protection-platform/src/modules/access/component/io-record/index.vue

@ -23,45 +23,48 @@
23 23
      <div class="alarm_people">
24 24
        <span class="title">员工 : </span>
25 25
        <t-input v-model="searchdata.nameAsLike" placeholder="员工姓名" style="width: 200px"></t-input>
26
        <t-button color="primary" @click="btnsearch">查询</t-button>
27
        <t-button @click="reset">重置</t-button>
26 28
      </div>
27 29
30
      <t-button color="primary" icon="upload" style="width:128px;height:32px" class="upload">导出至Excel</t-button>
31
28 32
    </div>
29 33
30 34
    <div class="access_header">
31 35
32 36
      <!-- 导出excel -->
33 37
      <div>
34
        <t-button color="primary" icon="upload" style="width:128px;height:32px" class="upload">导出至Excel</t-button>
35 38
      </div>
36 39
37 40
      <div>
38
        <t-button color="primary" @click="btnsearch">查询</t-button>
39
        <t-button @click="reset">重置</t-button>
41
42
40 43
      </div>
41 44
42 45
    </div>
43 46
44 47
    <t-table :data="data" line @selection-change="handleSelectionChange">
45 48
      <t-table-column type="selection" width="34px"></t-table-column>
46
      <t-table-column label="姓名" prop="employeeName" width="60px">
49
      <t-table-column :formatter="date_formatter" label="姓名" prop="employeeName" width="60px">
47 50
      </t-table-column>
48
      <t-table-column label="员工编号" prop="employeeCode" width="80px">
51
      <t-table-column :formatter="date_formatter" label="员工编号" prop="employeeCode" width="80px">
49 52
      </t-table-column>
50
      <t-table-column label="公司" prop="companyname" width="94px">
53
      <t-table-column :formatter="date_formatter" label="公司" prop="companyname" width="94px">
51 54
      </t-table-column>
52
      <t-table-column label="部门" prop="organizationName" width="94px">
55
      <t-table-column :formatter="date_formatter" label="部门" prop="organizationName" width="94px">
53 56
      </t-table-column>
54
      <t-table-column label="职务" prop="employeePositionZh" width="80px">
57
      <t-table-column :formatter="date_formatter" label="职务" prop="employeePositionZh" width="80px">
55 58
      </t-table-column>
56
      <t-table-column prop="simi" label="相似度" width="75px">
59
      <t-table-column :formatter="date_formatter" prop="simi" label="相似度" width="75px">
57 60
      </t-table-column>
58
      <t-table-column label="进出时间" prop="taskExecuteTime" width="160px">
61
      <t-table-column :formatter="date_formatter" label="进出时间" prop="taskExecuteTime" width="160px">
59 62
      </t-table-column>
60
      <t-table-column label="位置" prop="terminalPosition" width="122px">
63
      <t-table-column :formatter="date_formatter" label="位置" prop="terminalPosition" width="122px">
61 64
      </t-table-column>
62
      <t-table-column label="终端名称" prop="resourceToolName" width="97px">
65
      <t-table-column :formatter="date_formatter" label="终端名称" prop="resourceToolName" width="97px">
63 66
      </t-table-column>
64
      <t-table-column label="终端编号" prop="resourceToolCode" width="90px">
67
      <t-table-column :formatter="date_formatter" label="终端编号" prop="resourceToolCode" width="90px">
65 68
      </t-table-column>
66 69
      <t-table-column label="操作" width="80px">
67 70
        <template slot-scope="scope">
@ -448,6 +451,13 @@ export default {
448 451
        // console.log(base64, '是否成功打印base64')
449 452
        that.mainimage = base64
450 453
      })
454
    },
455
    date_formatter(row, column, cellValue, index) {
456
      if (cellValue === '' || cellValue === null) {
457
        return '-'
458
      }else {
459
        return cellValue
460
      }
451 461
    }
452 462
    // //将分数转换为小数
453 463
    // toPoint (percent) {

+ 18 - 10
security-protection-platform/src/modules/aialarm/index.vue

@ -18,7 +18,10 @@
18 18
      <div>
19 19
        <span class="title">结束时间 : </span>
20 20
        <t-date-picker :confirm="false" v-model="searchdata.endTime" placeholder="请选择结束时间" style="width:200px;height:32px"></t-date-picker>
21
        <t-button color="primary" @click="btnsearch">查询</t-button>
22
        <t-button @click="reset">重置</t-button>
21 23
      </div>
24
      <t-button color="primary" icon="upload" style="width:128px;height:32px" class="upload">导出至Excel</t-button>
22 25

23 26
    </div>
24 27

@ -34,12 +37,10 @@
34 37

35 38
      <!-- 导出excel组件 -->
36 39
      <div>
37
        <t-button color="primary" icon="upload" style="width:128px;height:32px" class="upload">导出至Excel</t-button>
38 40
      </div>
39 41

40 42
      <div>
41
        <t-button color="primary" @click="btnsearch">查询</t-button>
42
        <t-button @click="reset">重置</t-button>
43

43 44
      </div>
44 45
    </div>
45 46

@ -57,19 +58,19 @@
57 58
      </t-table-column>
58 59
      <t-table-column label="报警类型" prop="alarmTypeName">
59 60
      </t-table-column>
60
      <t-table-column label="报警描述" prop="alarmMemo" width="110">
61
      <t-table-column :formatter="date_formatter" label="报警描述" prop="alarmMemo" width="110">
61 62
      </t-table-column>
62
      <t-table-column label="设备名称" prop="resourceToolName" width="110">
63
      <t-table-column :formatter="date_formatter" label="设备名称" prop="resourceToolName" width="110">
63 64
      </t-table-column>
64
      <t-table-column label="设备编号" prop="resourceToolCode" width="90">
65
      <t-table-column :formatter="date_formatter" label="设备编号" prop="resourceToolCode" width="90">
65 66
      </t-table-column>
66
      <t-table-column label="设备位置" prop="monitorSceneName" width="120">
67
      <t-table-column :formatter="date_formatter" label="设备位置" prop="monitorSceneName" width="120">
67 68
      </t-table-column>
68
      <t-table-column label="报警时间" prop="aiIdenTime" width="160px">
69
      <t-table-column :formatter="date_formatter" label="报警时间" prop="aiIdenTime" width="160px">
69 70
      </t-table-column>
70
      <t-table-column label="处理人" prop="workEmployeeRoleName" width="70">
71
      <t-table-column :formatter="date_formatter" label="处理人" prop="workEmployeeRoleName" width="70">
71 72
      </t-table-column>
72
      <t-table-column label="处理时间" prop="processTime" width="160px">
73
      <t-table-column :formatter="date_formatter" label="处理时间" prop="processTime" width="160px">
73 74
      </t-table-column>
74 75
      <t-table-column label="操作" width="120">
75 76
        <template slot-scope="scope">
@ -421,6 +422,13 @@ export default {
421 422
      } else {
422 423
        return true
423 424
      }
425
    },
426
    date_formatter(row, column, cellValue, index) {
427
      if (cellValue === '' || cellValue === null) {
428
        return '-'
429
      }else {
430
        return cellValue
431
      }
424 432
    }
425 433

426 434
  }

+ 17 - 16
security-protection-platform/src/modules/attendance/abnormal/index.vue

@ -9,51 +9,52 @@
9 9
        <div class="keep-row">
10 10
          <span>部门/员工:</span>
11 11
          <dept-staff-cascader v-model="form" @inited="handleInited" @getOrgId="getDailyOrgId" @getDepId="getDailyDepId" @getStaffId="getDailyStaffId" />
12
          <div class="search-btn">
13
            <t-button color="primary" @click="handSearchAttendance">查询</t-button>
14
          </div>
12 15
        </div>
13
        <div class="search-btn">
14
          <t-button color="primary" @click="handSearchAttendance">查询</t-button>
15
        </div>
16
17
        <t-button class="export-excel" color="primary">
18
          <t-icon size="14" class="icon-txt" icon="upload-outline"></t-icon>导出至Excel
19
        </t-button>
16 20
      </div>
17
      <t-button class="export-excel" color="primary">
18
        <t-icon size="14" class="icon-txt" icon="upload-outline"></t-icon>导出至Excel
19
      </t-button>
20 21
      <t-table :data="tableData" :loading="loadTable" size="sm" line class="table-detail">
21 22
        <t-table-column type="selection"></t-table-column>
22
        <t-table-column width="80" prop="name" label="姓名"></t-table-column>
23
        <t-table-column width="120" prop="userid" label="员工编号"></t-table-column>
24
        <t-table-column width="90" prop="duty" label="职务"></t-table-column>
25
        <t-table-column width="120" prop="daysAttendance" label="出勤天数(天)"></t-table-column>
26
        <t-table-column width="120" prop="timesLate" label="迟到次数(次)">
23
        <t-table-column   prop="name" label="姓名"></t-table-column>
24
        <t-table-column   prop="userid" label="员工编号"></t-table-column>
25
        <t-table-column   prop="duty" label="职务"></t-table-column>
26
        <t-table-column   prop="daysAttendance" label="出勤天数(天)"></t-table-column>
27
        <t-table-column   prop="timesLate" label="迟到次数(次)">
27 28
          <template slot-scope="scope">
28 29
            <span v-if="scope.row.timesLate===0" size="sm">{{ scope.row.timesLate }}</span>
29 30
            <span v-else class="abnormalState">{{ scope.row.timesLate }}</span>
30 31
          </template>
31 32
        </t-table-column>
32
        <t-table-column width="110" prop="hoursLate" label="迟到时长(h)">
33
        <t-table-column   prop="hoursLate" label="迟到时长(h)">
33 34
          <template slot-scope="scope">
34 35
            <span v-if="scope.row.hoursLate===0" size="sm">{{ scope.row.hoursLate }}</span>
35 36
            <span v-else class="abnormalState">{{ scope.row.hoursLate }}</span>
36 37
          </template>
37 38
        </t-table-column>
38
        <t-table-column width="120" prop="timesLeftearly" label="早退次数(次)">
39
        <t-table-column   prop="timesLeftearly" label="早退次数(次)">
39 40
          <template slot-scope="scope">
40 41
            <span v-if="scope.row.timesLeftearly===0" size="sm">{{ scope.row.timesLeftearly }}</span>
41 42
            <span v-else class="abnormalState">{{ scope.row.timesLeftearly }}</span>
42 43
          </template>
43 44
        </t-table-column>
44
        <t-table-column width="120" prop="hoursLeftearly" label="早退时长(h)">
45
        <t-table-column  prop="hoursLeftearly" label="早退时长(h)">
45 46
          <template slot-scope="scope">
46 47
            <span v-if="scope.row.hoursLeftearly===0" size="sm">{{ scope.row.hoursLeftearly }}</span>
47 48
            <span v-else class="abnormalState">{{ scope.row.hoursLeftearly }}</span>
48 49
          </template>
49 50
        </t-table-column>
50
        <t-table-column width="120" prop="timesAbsence" label="旷工次数(次)">
51
        <t-table-column prop="timesAbsence" label="旷工次数(次)">
51 52
          <template slot-scope="scope">
52 53
            <span v-if="scope.row.timesAbsence===0" size="sm">{{ scope.row.timesAbsence }}</span>
53 54
            <span v-else class="abnormalState">{{ scope.row.timesAbsence }}</span>
54 55
          </template>
55 56
        </t-table-column>
56
        <t-table-column width="120" prop="daysAbsence" label="旷工时长(天)">
57
        <t-table-column  prop="daysAbsence" label="旷工时长(天)">
57 58
          <template slot-scope="scope">
58 59
            <span v-if="scope.row.daysAbsence===0" size="sm">{{ scope.row.daysAbsence }}</span>
59 60
            <span v-else class="abnormalState">{{ scope.row.daysAbsence }}</span>

+ 10 - 8
security-protection-platform/src/modules/attendance/report/index.vue

@ -12,11 +12,12 @@
12 12
            <div class="keep-row">
13 13
              <span>部门/员工:</span>
14 14
              <dept-staff-cascader v-model="dailyForm" @inited="handleDailyInited" @getOrgId="getDailyOrgId" @getDepId="getDailyDepId" @getStaffId="getDailyStaffId" />
15
              <div class="search-btn">
16
                <t-button color="primary" @click="handSearchDay">查询</t-button>
17
                <t-button @click="resetDailyData">重置</t-button>
18
              </div>
15 19
            </div>
16
            <div class="search-btn">
17
              <t-button color="primary" @click="handSearchDay">查询</t-button>
18
              <t-button @click="resetDailyData">重置</t-button>
19
            </div>
20
20 21
          </div>
21 22
          <t-table :data="dailyTableData" :loading="loadDailyTable" size="sm" line class="table-detail">
22 23
            <t-table-column size="sm" type="selection"></t-table-column>
@ -42,11 +43,12 @@
42 43
            <div class="keep-row">
43 44
              <span>部门/员工:</span>
44 45
              <dept-staff-cascader v-model="monthlyForm" @getOrgId="getMonthOrgId" @getDepId="getMonthDepId" @getStaffId="getMonthStaffId" />
46
              <div class="search-btn">
47
                <t-button color="primary" @click="handSearchMonth">查询</t-button>
48
                <t-button @click="resetMonthData">重置</t-button>
49
              </div>
45 50
            </div>
46
            <div class="search-btn">
47
              <t-button color="primary" @click="handSearchMonth">查询</t-button>
48
              <t-button @click="resetMonthData">重置</t-button>
49
            </div>
51
50 52
          </div>
51 53
          <t-button class="export-excel" color="primary">
52 54
            <t-icon size="14" class="icon-txt" icon="upload-outline"></t-icon>导出至Excel

+ 46 - 11
security-protection-platform/src/modules/workorder/index.vue

@ -1,38 +1,59 @@
1 1
<template>
2 2
  <div class="work-order-page">
3 3
    <t-card class="page-card">
4
      <div class="select-confidtion-box row">
5
        <div class="col-3">工单类型:
4
5
6
7
      <div class="access_header">
8
9
        <div>
10
          <span class="title">工单类型 : </span>
6 11
          <t-select v-model="orderTypeId" width="200px">
7 12
            <t-option v-for="item in workOrderTypesList.allType" :key="item.approvalType" :value="item.approvalType">{{ item.approvalTypeName }}</t-option>
8 13
          </t-select>
9 14
        </div>
10
        <div class="col-3">开始时间:<t-date-picker v-model="startDate" style="width:200px" placeholder="请选择开始时间" @date-change="startPickerDateChange"></t-date-picker>
11
        </div>
12
        <div class="col-3">结束时间:<t-date-picker v-model="endDate" style="width:200px" placeholder="请选择结束时间" @date-change="endPickerDateChange"></t-date-picker>
15
16
        <div>
17
          <span class="title">开始时间 : </span>
18
          <t-date-picker v-model="startDate" style="width:200px" placeholder="请选择开始时间" @date-change="startPickerDateChange"></t-date-picker>
13 19
        </div>
14
        <div class="col-2 offset-1" align="end">
20
21
        <!-- <div>
22
          <span class="title">进出类型 : </span>
23
          <t-select v-model="searchdata.typeid" style="width:200px;height:32px">
24
            <t-option v-for="item in accesstype" :value="item.id" :key="item.id">{{ item.name }}</t-option>
25
26
          </t-select>
27
        </div> -->
28
        <div class="alarm_people">
29
          <span class="title">结束时间 : </span>
30
          <t-date-picker v-model="endDate" style="width:200px" placeholder="请选择结束时间" @date-change="endPickerDateChange"></t-date-picker>
15 31
          <t-button color="primary" @click="refreshAllDataHandle">查询</t-button>
16 32
          <t-button @click="resetData">重置</t-button>
17 33
        </div>
34
18 35
      </div>
36
37
38
39
19 40
      <div class="function-button-box">
20 41
        <t-button color="primary" @click="leaveModal=true">
21 42
          <t-icon icon="plus-circle-outline" size="16"></t-icon>请假
22 43
        </t-button>
23
        <t-button @click="overtimeModal=true">
44
        <t-button color="primary" @click="overtimeModal=true">
24 45
          <t-icon icon="plus-circle-outline" size="16"></t-icon>加班
25 46
        </t-button>
26
        <t-button @click="fieldServiceModal=true">
47
        <t-button color="primary" @click="fieldServiceModal=true">
27 48
          <t-icon icon="plus-circle-outline" size="16"></t-icon>外勤
28 49
        </t-button>
29
        <t-button @click="cardReplacementModal=true">
50
        <t-button color="primary" @click="cardReplacementModal=true">
30 51
          <t-icon icon="plus-circle-outline" size="16"></t-icon>补卡
31 52
        </t-button>
32
        <t-button>
53
        <t-button color="primary">
33 54
          <t-icon icon="upload" size="16"></t-icon>导出至Excel
34 55
        </t-button>
35
        <t-button @click="importWorkOrderModal=true">
56
        <t-button color="primary" @click="importWorkOrderModal=true">
36 57
          <t-icon icon="download" size="16"></t-icon>导入
37 58
        </t-button>
38 59
        <a href="javascript:;">模板下载 <t-icon icon="cloud-download-outline" size="16" style="lineHeight:24px"></t-icon></a>
@ -261,6 +282,20 @@ export default {
261 282
    display: flex;
262 283
    justify-content: flex-end;
263 284
  }
285
  .access_header {
286
    display: flex;
287
    justify-content: space-between;
288
    margin-top: 24px;
289
    margin-bottom: 24px;
290
    .title {
291
      display: inline-block;
292
      width: 70px;
293
      height: 20px;
294
      font-size: 14px;
295
      text-align: right;
296
      color: rgba($color: #000000, $alpha: 0.65);
297
    }
298
  }
264 299
}
265 300
</style>
266 301

+ 26 - 34
security-protection-platform/src/routes.js

@ -41,13 +41,13 @@ export const constantRoutes = [
41 41
  {
42 42
    path: '/videoSurveillance',
43 43
    component: Layout,
44
    meta: { title: '视频监控', icon: 'video' },
44
    meta: { title: '智能监控', icon: 'video' },
45 45
    children: [
46 46
      {
47 47
        name: 'videoSurveillance',
48 48
        path: '',
49 49
        component: () => import(/* webpackChunkName: "videoSurveillance" */ './modules/videoSurveillance'),
50
        meta: { title: '视频监控', icon: 'video' }
50
        meta: { title: '智能监控', icon: 'video' }
51 51
      },
52 52
      {
53 53
        path: '/videoSurveillance/distinguishRecord',
@ -66,26 +66,20 @@ export const constantRoutes = [
66 66
        name: 'access',
67 67
        path: '',
68 68
        component: () => import(/* webpackChunkName: "sys_attendance" */ './modules/access/index.vue'),
69
        meta: { title: '进出记录', icon: 'file-solution-outline' }
69
        meta: { title: '识别记录', icon: 'file-solution-outline' }
70 70
      }
71 71
    ]
72 72
  },
73 73
  {
74
    path: '/attendance',
74
    path: '/alarm',
75 75
    component: Layout,
76
    meta: { title: '考勤报表', icon: 'calendar' },
77
    redirect: '/attendance/report',
76
    meta: { icon: 'bell' },
78 77
    children: [
79 78
      {
80
        name: 'report',
81
        path: 'report',
82
        component: () => import(/* webpackChunkName: "report" */ './modules/attendance/report'),
83
        meta: { title: '考勤报表' }
84
      }, {
85
        name: 'abnormal',
86
        path: 'abnormal',
87
        component: () => import(/* webpackChunkName: "abnormal" */ './modules/attendance/abnormal'),
88
        meta: { title: '异常考勤' }
79
        name: 'ai_alarm',
80
        path: '',
81
        component: () => import(/* webpackChunkName: "alarm" */ './modules/aialarm/index.vue'),
82
        meta: { title: '智能报警', icon: 'bell' }
89 83
      }
90 84
    ]
91 85
  }, {
@ -102,21 +96,27 @@ export const constantRoutes = [
102 96
    ]
103 97
  },
104 98
  {
105
    path: '/alarm',
99
    path: '/attendance',
106 100
    component: Layout,
107
    meta: { icon: 'bell' },
101
    meta: { title: '考勤报表', icon: 'calendar' },
102
    redirect: '/attendance/report',
108 103
    children: [
109 104
      {
110
        name: 'ai_alarm',
111
        path: '',
112
        component: () => import(/* webpackChunkName: "alarm" */ './modules/aialarm/index.vue'),
113
        meta: { title: 'AI报警', icon: 'bell' }
105
        name: 'report',
106
        path: 'report',
107
        component: () => import(/* webpackChunkName: "report" */ './modules/attendance/report'),
108
        meta: { title: '考勤报表' }
109
      }, {
110
        name: 'abnormal',
111
        path: 'abnormal',
112
        component: () => import(/* webpackChunkName: "abnormal" */ './modules/attendance/abnormal'),
113
        meta: { title: '异常考勤' }
114 114
      }
115 115
    ]
116 116
  }, {
117 117
    path: '/system',
118 118
    component: Layout,
119
    meta: { title: '系统配置', icon: 'setting' },
119
    meta: { title: '系统管理', icon: 'setting' },
120 120
    alwaysShow: true,
121 121
    redirect: 'attendance',
122 122
    children: [
@ -130,7 +130,7 @@ export const constantRoutes = [
130 130
        name: 'sys_task',
131 131
        path: 'assignment',
132 132
        component: () => import(/* webpackChunkName: "sys__task" */ './modules/system/assignment'),
133
        meta: { title: 'AI任务' }
133
        meta: { title: '任务管理' }
134 134
      },
135 135
      {
136 136
        name: 'sys_monitor',
@ -143,21 +143,13 @@ export const constantRoutes = [
143 143
        path: 'attendance',
144 144
        component: () => import(/* webpackChunkName: "sys_attendance" */ './modules/system/attendance'),
145 145
        meta: { title: '考勤配置' }
146
      }
147
    ]
148
  },
149
  {
150
    path: '/usermana',
151
    component: Layout,
152
    meta: { icon: 'lock' },
153
    children: [
146
      },
154 147
      {
155 148
        name: 'usermana',
156
        path: '',
149
        path: 'usermana',
157 150
        component: () => import(/* webpackChunkName: "user_rights" */ './modules/usermana'),
158
        meta: { title: '用户管理', icon: 'lock' }
151
        meta: { title: '用户管理'}
159 152
      }
160
161 153
    ]
162 154
  },
163 155
  {