Ver Código Fonte

[FE] 安防页面调整

chenxr3 4 anos atrás
pai
commit
aae1b31f8e

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

23
      <div class="alarm_people">
23
      <div class="alarm_people">
24
        <span class="title">员工 : </span>
24
        <span class="title">员工 : </span>
25
        <t-input v-model="searchdata.nameAsLike" placeholder="员工姓名" style="width: 200px"></t-input>
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
      </div>
28
      </div>
29
      <t-button color="primary" icon="upload" style="width:128px;height:32px" class="upload">导出至Excel</t-button>
27
30
28
    </div>
31
    </div>
29
32
31
34
32
      <!-- 导出excel -->
35
      <!-- 导出excel -->
33
      <div>
36
      <div>
34
        <t-button color="primary" icon="upload" style="width:128px;height:32px" class="upload">导出至Excel</t-button>
35
      </div>
37
      </div>
36
38
37
      <div>
39
      <div>
38
        <t-button color="primary" @click="btnsearch">查询</t-button>
39
        <t-button @click="reset">重置</t-button>
40
40
      </div>
41
      </div>
41
42
42
    </div>
43
    </div>
43
44
44
    <t-table :data="data" line @selection-change="handleSelectionChange">
45
    <t-table :data="data" line @selection-change="handleSelectionChange">
45
      <t-table-column type="selection" width="34px"></t-table-column>
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
        <template v-slot="{row}">
48
        <template v-slot="{row}">
48
          <span>{{ getInstrumentNumber(row) }}</span>
49
          <span>{{ getInstrumentNumber(row) }}</span>
49
        </template>
50
        </template>
50
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
59
      </t-table-column>
59
      <t-table-column label="操作" width="80px">
60
      <t-table-column :formatter="date_formatter" label="操作" width="80px">
60
        <template slot-scope="scope">
61
        <template slot-scope="scope">
61
          <a href="javascript:void(0)" size="sm" style="color:#0089D4" @click="handleClick(scope)">识别详情</a>
62
          <a href="javascript:void(0)" size="sm" style="color:#0089D4" @click="handleClick(scope)">识别详情</a>
62
        </template>
63
        </template>
423
        // console.log(base64, '是否成功打印base64')
424
        // console.log(base64, '是否成功打印base64')
424
        that.mainimage = base64
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
    // toPoint (percent) {
436
    // toPoint (percent) {

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

23
      <div class="alarm_people">
23
      <div class="alarm_people">
24
        <span class="title">员工 : </span>
24
        <span class="title">员工 : </span>
25
        <t-input v-model="searchdata.nameAsLike" placeholder="员工姓名" style="width: 200px"></t-input>
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
      </div>
28
      </div>
27
29
30
      <t-button color="primary" icon="upload" style="width:128px;height:32px" class="upload">导出至Excel</t-button>
31
28
    </div>
32
    </div>
29
33
30
    <div class="access_header">
34
    <div class="access_header">
31
35
32
      <!-- 导出excel -->
36
      <!-- 导出excel -->
33
      <div>
37
      <div>
34
        <t-button color="primary" icon="upload" style="width:128px;height:32px" class="upload">导出至Excel</t-button>
35
      </div>
38
      </div>
36
39
37
      <div>
40
      <div>
38
        <t-button color="primary" @click="btnsearch">查询</t-button>
39
        <t-button @click="reset">重置</t-button>
41
42
40
      </div>
43
      </div>
41
44
42
    </div>
45
    </div>
43
46
44
    <t-table :data="data" line @selection-change="handleSelectionChange">
47
    <t-table :data="data" line @selection-change="handleSelectionChange">
45
      <t-table-column type="selection" width="34px"></t-table-column>
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
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
68
      </t-table-column>
66
      <t-table-column label="操作" width="80px">
69
      <t-table-column label="操作" width="80px">
67
        <template slot-scope="scope">
70
        <template slot-scope="scope">
448
        // console.log(base64, '是否成功打印base64')
451
        // console.log(base64, '是否成功打印base64')
449
        that.mainimage = base64
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
    // toPoint (percent) {
463
    // toPoint (percent) {

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

18
      <div>
18
      <div>
19
        <span class="title">结束时间 : </span>
19
        <span class="title">结束时间 : </span>
20
        <t-date-picker :confirm="false" v-model="searchdata.endTime" placeholder="请选择结束时间" style="width:200px;height:32px"></t-date-picker>
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
      </div>
23
      </div>
24
      <t-button color="primary" icon="upload" style="width:128px;height:32px" class="upload">导出至Excel</t-button>
22

25

23
    </div>
26
    </div>
24

27

34

37

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

41

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

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

46

57
      </t-table-column>
58
      </t-table-column>
58
      <t-table-column label="报警类型" prop="alarmTypeName">
59
      <t-table-column label="报警类型" prop="alarmTypeName">
59
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
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
      </t-table-column>
74
      </t-table-column>
74
      <t-table-column label="操作" width="120">
75
      <t-table-column label="操作" width="120">
75
        <template slot-scope="scope">
76
        <template slot-scope="scope">
421
      } else {
422
      } else {
422
        return true
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
        <div class="keep-row">
9
        <div class="keep-row">
10
          <span>部门/员工:</span>
10
          <span>部门/员工:</span>
11
          <dept-staff-cascader v-model="form" @inited="handleInited" @getOrgId="getDailyOrgId" @getDepId="getDailyDepId" @getStaffId="getDailyStaffId" />
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
        </div>
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
      </div>
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
      <t-table :data="tableData" :loading="loadTable" size="sm" line class="table-detail">
21
      <t-table :data="tableData" :loading="loadTable" size="sm" line class="table-detail">
21
        <t-table-column type="selection"></t-table-column>
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
          <template slot-scope="scope">
28
          <template slot-scope="scope">
28
            <span v-if="scope.row.timesLate===0" size="sm">{{ scope.row.timesLate }}</span>
29
            <span v-if="scope.row.timesLate===0" size="sm">{{ scope.row.timesLate }}</span>
29
            <span v-else class="abnormalState">{{ scope.row.timesLate }}</span>
30
            <span v-else class="abnormalState">{{ scope.row.timesLate }}</span>
30
          </template>
31
          </template>
31
        </t-table-column>
32
        </t-table-column>
32
        <t-table-column width="110" prop="hoursLate" label="迟到时长(h)">
33
        <t-table-column   prop="hoursLate" label="迟到时长(h)">
33
          <template slot-scope="scope">
34
          <template slot-scope="scope">
34
            <span v-if="scope.row.hoursLate===0" size="sm">{{ scope.row.hoursLate }}</span>
35
            <span v-if="scope.row.hoursLate===0" size="sm">{{ scope.row.hoursLate }}</span>
35
            <span v-else class="abnormalState">{{ scope.row.hoursLate }}</span>
36
            <span v-else class="abnormalState">{{ scope.row.hoursLate }}</span>
36
          </template>
37
          </template>
37
        </t-table-column>
38
        </t-table-column>
38
        <t-table-column width="120" prop="timesLeftearly" label="早退次数(次)">
39
        <t-table-column   prop="timesLeftearly" label="早退次数(次)">
39
          <template slot-scope="scope">
40
          <template slot-scope="scope">
40
            <span v-if="scope.row.timesLeftearly===0" size="sm">{{ scope.row.timesLeftearly }}</span>
41
            <span v-if="scope.row.timesLeftearly===0" size="sm">{{ scope.row.timesLeftearly }}</span>
41
            <span v-else class="abnormalState">{{ scope.row.timesLeftearly }}</span>
42
            <span v-else class="abnormalState">{{ scope.row.timesLeftearly }}</span>
42
          </template>
43
          </template>
43
        </t-table-column>
44
        </t-table-column>
44
        <t-table-column width="120" prop="hoursLeftearly" label="早退时长(h)">
45
        <t-table-column  prop="hoursLeftearly" label="早退时长(h)">
45
          <template slot-scope="scope">
46
          <template slot-scope="scope">
46
            <span v-if="scope.row.hoursLeftearly===0" size="sm">{{ scope.row.hoursLeftearly }}</span>
47
            <span v-if="scope.row.hoursLeftearly===0" size="sm">{{ scope.row.hoursLeftearly }}</span>
47
            <span v-else class="abnormalState">{{ scope.row.hoursLeftearly }}</span>
48
            <span v-else class="abnormalState">{{ scope.row.hoursLeftearly }}</span>
48
          </template>
49
          </template>
49
        </t-table-column>
50
        </t-table-column>
50
        <t-table-column width="120" prop="timesAbsence" label="旷工次数(次)">
51
        <t-table-column prop="timesAbsence" label="旷工次数(次)">
51
          <template slot-scope="scope">
52
          <template slot-scope="scope">
52
            <span v-if="scope.row.timesAbsence===0" size="sm">{{ scope.row.timesAbsence }}</span>
53
            <span v-if="scope.row.timesAbsence===0" size="sm">{{ scope.row.timesAbsence }}</span>
53
            <span v-else class="abnormalState">{{ scope.row.timesAbsence }}</span>
54
            <span v-else class="abnormalState">{{ scope.row.timesAbsence }}</span>
54
          </template>
55
          </template>
55
        </t-table-column>
56
        </t-table-column>
56
        <t-table-column width="120" prop="daysAbsence" label="旷工时长(天)">
57
        <t-table-column  prop="daysAbsence" label="旷工时长(天)">
57
          <template slot-scope="scope">
58
          <template slot-scope="scope">
58
            <span v-if="scope.row.daysAbsence===0" size="sm">{{ scope.row.daysAbsence }}</span>
59
            <span v-if="scope.row.daysAbsence===0" size="sm">{{ scope.row.daysAbsence }}</span>
59
            <span v-else class="abnormalState">{{ scope.row.daysAbsence }}</span>
60
            <span v-else class="abnormalState">{{ scope.row.daysAbsence }}</span>

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

12
            <div class="keep-row">
12
            <div class="keep-row">
13
              <span>部门/员工:</span>
13
              <span>部门/员工:</span>
14
              <dept-staff-cascader v-model="dailyForm" @inited="handleDailyInited" @getOrgId="getDailyOrgId" @getDepId="getDailyDepId" @getStaffId="getDailyStaffId" />
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
            </div>
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
          </div>
21
          </div>
21
          <t-table :data="dailyTableData" :loading="loadDailyTable" size="sm" line class="table-detail">
22
          <t-table :data="dailyTableData" :loading="loadDailyTable" size="sm" line class="table-detail">
22
            <t-table-column size="sm" type="selection"></t-table-column>
23
            <t-table-column size="sm" type="selection"></t-table-column>
42
            <div class="keep-row">
43
            <div class="keep-row">
43
              <span>部门/员工:</span>
44
              <span>部门/员工:</span>
44
              <dept-staff-cascader v-model="monthlyForm" @getOrgId="getMonthOrgId" @getDepId="getMonthDepId" @getStaffId="getMonthStaffId" />
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
            </div>
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
          </div>
52
          </div>
51
          <t-button class="export-excel" color="primary">
53
          <t-button class="export-excel" color="primary">
52
            <t-icon size="14" class="icon-txt" icon="upload-outline"></t-icon>导出至Excel
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
<template>
1
<template>
2
  <div class="work-order-page">
2
  <div class="work-order-page">
3
    <t-card class="page-card">
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
          <t-select v-model="orderTypeId" width="200px">
11
          <t-select v-model="orderTypeId" width="200px">
7
            <t-option v-for="item in workOrderTypesList.allType" :key="item.approvalType" :value="item.approvalType">{{ item.approvalTypeName }}</t-option>
12
            <t-option v-for="item in workOrderTypesList.allType" :key="item.approvalType" :value="item.approvalType">{{ item.approvalTypeName }}</t-option>
8
          </t-select>
13
          </t-select>
9
        </div>
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
        </div>
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
          <t-button color="primary" @click="refreshAllDataHandle">查询</t-button>
31
          <t-button color="primary" @click="refreshAllDataHandle">查询</t-button>
16
          <t-button @click="resetData">重置</t-button>
32
          <t-button @click="resetData">重置</t-button>
17
        </div>
33
        </div>
34
18
      </div>
35
      </div>
36
37
38
39
19
      <div class="function-button-box">
40
      <div class="function-button-box">
20
        <t-button color="primary" @click="leaveModal=true">
41
        <t-button color="primary" @click="leaveModal=true">
21
          <t-icon icon="plus-circle-outline" size="16"></t-icon>请假
42
          <t-icon icon="plus-circle-outline" size="16"></t-icon>请假
22
        </t-button>
43
        </t-button>
23
        <t-button @click="overtimeModal=true">
44
        <t-button color="primary" @click="overtimeModal=true">
24
          <t-icon icon="plus-circle-outline" size="16"></t-icon>加班
45
          <t-icon icon="plus-circle-outline" size="16"></t-icon>加班
25
        </t-button>
46
        </t-button>
26
        <t-button @click="fieldServiceModal=true">
47
        <t-button color="primary" @click="fieldServiceModal=true">
27
          <t-icon icon="plus-circle-outline" size="16"></t-icon>外勤
48
          <t-icon icon="plus-circle-outline" size="16"></t-icon>外勤
28
        </t-button>
49
        </t-button>
29
        <t-button @click="cardReplacementModal=true">
50
        <t-button color="primary" @click="cardReplacementModal=true">
30
          <t-icon icon="plus-circle-outline" size="16"></t-icon>补卡
51
          <t-icon icon="plus-circle-outline" size="16"></t-icon>补卡
31
        </t-button>
52
        </t-button>
32
        <t-button>
53
        <t-button color="primary">
33
          <t-icon icon="upload" size="16"></t-icon>导出至Excel
54
          <t-icon icon="upload" size="16"></t-icon>导出至Excel
34
        </t-button>
55
        </t-button>
35
        <t-button @click="importWorkOrderModal=true">
56
        <t-button color="primary" @click="importWorkOrderModal=true">
36
          <t-icon icon="download" size="16"></t-icon>导入
57
          <t-icon icon="download" size="16"></t-icon>导入
37
        </t-button>
58
        </t-button>
38
        <a href="javascript:;">模板下载 <t-icon icon="cloud-download-outline" size="16" style="lineHeight:24px"></t-icon></a>
59
        <a href="javascript:;">模板下载 <t-icon icon="cloud-download-outline" size="16" style="lineHeight:24px"></t-icon></a>
261
    display: flex;
282
    display: flex;
262
    justify-content: flex-end;
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
</style>
300
</style>
266
301

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

41
  {
41
  {
42
    path: '/videoSurveillance',
42
    path: '/videoSurveillance',
43
    component: Layout,
43
    component: Layout,
44
    meta: { title: '视频监控', icon: 'video' },
44
    meta: { title: '智能监控', icon: 'video' },
45
    children: [
45
    children: [
46
      {
46
      {
47
        name: 'videoSurveillance',
47
        name: 'videoSurveillance',
48
        path: '',
48
        path: '',
49
        component: () => import(/* webpackChunkName: "videoSurveillance" */ './modules/videoSurveillance'),
49
        component: () => import(/* webpackChunkName: "videoSurveillance" */ './modules/videoSurveillance'),
50
        meta: { title: '视频监控', icon: 'video' }
50
        meta: { title: '智能监控', icon: 'video' }
51
      },
51
      },
52
      {
52
      {
53
        path: '/videoSurveillance/distinguishRecord',
53
        path: '/videoSurveillance/distinguishRecord',
66
        name: 'access',
66
        name: 'access',
67
        path: '',
67
        path: '',
68
        component: () => import(/* webpackChunkName: "sys_attendance" */ './modules/access/index.vue'),
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
    component: Layout,
75
    component: Layout,
76
    meta: { title: '考勤报表', icon: 'calendar' },
77
    redirect: '/attendance/report',
76
    meta: { icon: 'bell' },
78
    children: [
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
    ]
96
    ]
103
  },
97
  },
104
  {
98
  {
105
    path: '/alarm',
99
    path: '/attendance',
106
    component: Layout,
100
    component: Layout,
107
    meta: { icon: 'bell' },
101
    meta: { title: '考勤报表', icon: 'calendar' },
102
    redirect: '/attendance/report',
108
    children: [
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
    path: '/system',
117
    path: '/system',
118
    component: Layout,
118
    component: Layout,
119
    meta: { title: '系统配置', icon: 'setting' },
119
    meta: { title: '系统管理', icon: 'setting' },
120
    alwaysShow: true,
120
    alwaysShow: true,
121
    redirect: 'attendance',
121
    redirect: 'attendance',
122
    children: [
122
    children: [
130
        name: 'sys_task',
130
        name: 'sys_task',
131
        path: 'assignment',
131
        path: 'assignment',
132
        component: () => import(/* webpackChunkName: "sys__task" */ './modules/system/assignment'),
132
        component: () => import(/* webpackChunkName: "sys__task" */ './modules/system/assignment'),
133
        meta: { title: 'AI任务' }
133
        meta: { title: '任务管理' }
134
      },
134
      },
135
      {
135
      {
136
        name: 'sys_monitor',
136
        name: 'sys_monitor',
143
        path: 'attendance',
143
        path: 'attendance',
144
        component: () => import(/* webpackChunkName: "sys_attendance" */ './modules/system/attendance'),
144
        component: () => import(/* webpackChunkName: "sys_attendance" */ './modules/system/attendance'),
145
        meta: { title: '考勤配置' }
145
        meta: { title: '考勤配置' }
146
      }
147
    ]
148
  },
149
  {
150
    path: '/usermana',
151
    component: Layout,
152
    meta: { icon: 'lock' },
153
    children: [
146
      },
154
      {
147
      {
155
        name: 'usermana',
148
        name: 'usermana',
156
        path: '',
149
        path: 'usermana',
157
        component: () => import(/* webpackChunkName: "user_rights" */ './modules/usermana'),
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
  {