安全例会模块开发
parent
c36e88fba1
commit
0f75d87d73
|
@ -48,6 +48,14 @@
|
|||
"path": "pages/basics/documentation/documentation",
|
||||
"style": {}
|
||||
},
|
||||
{
|
||||
"path": "pages/application/safetymeeting/home",
|
||||
"style": {}
|
||||
},
|
||||
{
|
||||
"path": "pages/application/safetymeeting/safetymeeting-detail",
|
||||
"style": {}
|
||||
},
|
||||
{
|
||||
"path": "pages/basics/risk-distribution/risk-distribution",
|
||||
"style": {}
|
||||
|
|
|
@ -0,0 +1,297 @@
|
|||
<template>
|
||||
<view>
|
||||
<cu-custom bgColor="bg-gradual-blueness" :isBack="true" :isRingt="true">
|
||||
<block slot="backText">返回</block>
|
||||
<block slot="content">安全例会</block>
|
||||
<block slot="right">
|
||||
<view @click="showDrawer('showRight')">查询</view>
|
||||
</block>
|
||||
</cu-custom>
|
||||
<view class="select-fixed top-fixed">
|
||||
<view class="cu-bar search bg-white">
|
||||
<view class="search-form radius">
|
||||
<text class="cuIcon-search"></text>
|
||||
<input @input="InputBlur" placeholder="请输入关键字" confirm-type="search"></input>
|
||||
|
||||
</view>
|
||||
<view class="action">
|
||||
<button class="cu-btn bg-green shadow-blur radius" @click="getQuery">搜索</button>
|
||||
</view>
|
||||
</view>
|
||||
<view class="line"></view>
|
||||
</view>
|
||||
<scroll-view class="dy-scroll" @scrolltolower="scrolltolower" scroll-y
|
||||
:style="'top:'+sTop+'px;height:calc(100vh - '+totalHeight+'px)'">
|
||||
<view v-if="list.length>0">
|
||||
<view class="dy-list">
|
||||
<view class="dy-list-item p201 arrow" v-for="i in list" @click="goToDetail(i)">
|
||||
<view class="dy-subtitle">
|
||||
<text>会议标题:{{i.MEETING_TITLE}}</text>
|
||||
</view>
|
||||
<view class="dy-subtitle">
|
||||
<text>会议类型:</text>
|
||||
<text>{{i.MEETING_TYPE === '1' ? '安全生产例会' : i.MEETING_TYPE === '2' ? '安全生产委员会会议' : ''}}</text>
|
||||
</view>
|
||||
<view class="dy-subtitle">
|
||||
<text>会议时间:{{i.MEETING_DATE_START}}</text>
|
||||
</view>
|
||||
<view class="dy-subtitle">
|
||||
<text>会议状态:{{i.MEETING_STATUS}}</text>
|
||||
</view>
|
||||
<!-- <view class="dy-subtitle">-->
|
||||
<!-- <text>会议内容:</text>-->
|
||||
<!-- <rich-text :nodes="i.MEETING_CONTENT"></rich-text>-->
|
||||
<!-- </view>-->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-else-if="dataFlag=='noData'" class="dy-null">
|
||||
<view class="dy-null-img">
|
||||
<image :src="background[dataFlag].url" mode=""></image>
|
||||
</view>
|
||||
<view class="dy-null-title">
|
||||
{{background[dataFlag].msg}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="cu-tabbar-height"></view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
basePath,
|
||||
corpinfoId,
|
||||
loginSession,
|
||||
} from '@/common/tool.js';
|
||||
import tkiTree from "@/components/select-tree/select-tree.vue"
|
||||
export default {
|
||||
components: {
|
||||
tkiTree
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
showRight: false,
|
||||
dataFlag: 'noData',
|
||||
sTop: 0,
|
||||
totalHeight: 0,
|
||||
list: [], //返回数据
|
||||
page: 1, //分页参数--页数
|
||||
rows: 10, //分页参数--每页数据条数
|
||||
totalCount: 0, //分页参数--初始化页数
|
||||
isEnd: false, //防止多次刷新
|
||||
totalPage: 0, //分页参数--分页数量
|
||||
NameLikes: '',
|
||||
}
|
||||
},
|
||||
onReady() {
|
||||
let that = this;
|
||||
let CustomBar = this.CustomBar;
|
||||
uni.getSystemInfo({ //调用uni-app接口获取屏幕高度
|
||||
success(res) { //成功回调函数
|
||||
let titleH = uni.createSelectorQuery().select(".top-fixed"); //想要获取高度的元素名(class/id)
|
||||
titleH.boundingClientRect(data => {
|
||||
that._data.sTop = data.height //计算高度:元素高度=窗口高度-元素距离顶部的距离(data.top)
|
||||
that.totalHeight = data.height + CustomBar
|
||||
}).exec()
|
||||
}
|
||||
})
|
||||
},
|
||||
onLoad() { //页面第一次加载时触发,从跳转页面返回时不能触发,可以传递参
|
||||
var _this = this;
|
||||
_this.background = require('@/common/background.json');
|
||||
_this.showCount = -1;
|
||||
_this.currentPage = 1;
|
||||
_this.list = [];
|
||||
_this.isEnd = false;
|
||||
_this.getDate();
|
||||
loginSession();
|
||||
},
|
||||
methods: {
|
||||
//跳转事件
|
||||
goToDetail(e) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/application/safetymeeting/safetymeeting-detail?id=' + e
|
||||
.SAFETY_MEETING_ID
|
||||
});
|
||||
},
|
||||
getQuery() { //搜索按钮事件
|
||||
var _this = this;
|
||||
_this.showCount = -1;
|
||||
_this.currentPage = 1;
|
||||
_this.list = [];
|
||||
_this.isEnd = false;
|
||||
_this.getDate();
|
||||
},
|
||||
InputBlur(e) {
|
||||
this.NameLikes = e.detail.value
|
||||
},
|
||||
// 确定回调事件
|
||||
depttreeConfirm(e) {
|
||||
// this.isUps=false;
|
||||
this.DEPT = e[0].id;
|
||||
this.DEPTNAME = e[0].name;
|
||||
this.uindex = -1;
|
||||
this.RISK_UNIT_ID = ''; //单元
|
||||
this.RISK_UNIT_NAME = ''; //单元
|
||||
this.$forceUpdate(); //强制刷新
|
||||
this.getUnitList();
|
||||
this.getQuery();
|
||||
},
|
||||
// 取消回调事件
|
||||
depttreeCancel(e) {
|
||||
// this.isUps=false;
|
||||
},
|
||||
PickerUnit(e) {
|
||||
this.uindex = e.detail.value;
|
||||
this.RISK_UNIT_ID = this.unitList[this.uindex].RISKUNIT_ID;
|
||||
this.RISK_UNIT_NAME = this.unitList[this.uindex].RISKUNITNAME;
|
||||
this.$forceUpdate(); //强制刷新
|
||||
this.getQuery();
|
||||
},
|
||||
changeLevel(e) {
|
||||
var _this = this;
|
||||
_this.LEVELID = e
|
||||
_this.getQuery();
|
||||
},
|
||||
reset() {
|
||||
var _this = this;
|
||||
_this.DEPT = '';
|
||||
_this.DEPTNAME = '请选择';
|
||||
_this.unitList = [];
|
||||
_this.RISK_UNIT_ID = ''; //单元
|
||||
_this.RISK_UNIT_NAME = ''; //单元
|
||||
_this.uindex = -1;
|
||||
_this.LEVELID = '';
|
||||
_this.getQuery();
|
||||
},
|
||||
// 显示树形选择器
|
||||
showDeptTree() {
|
||||
// this.isUps=true
|
||||
this.$refs.tkiTree._show();
|
||||
},
|
||||
// 打开窗口
|
||||
showDrawer(e) {
|
||||
this.$refs[e].open()
|
||||
},
|
||||
// 关闭窗口
|
||||
closeDrawer(e) {
|
||||
this.$refs[e].close()
|
||||
},
|
||||
// 抽屉状态发生变化触发
|
||||
change(e, type) {
|
||||
this[type] = e
|
||||
},
|
||||
// 滑动到底方法
|
||||
scrolltolower() {
|
||||
var _this = this;
|
||||
_this.showCount = -1;
|
||||
_this.currentPage = _this.currentPage + 1;
|
||||
_this.isEnd = false;
|
||||
if (_this.totalPage >= _this.currentPage) {
|
||||
_this.getDate(); //开始分页查询
|
||||
}
|
||||
},
|
||||
getDate() {
|
||||
var _this = this;
|
||||
if (_this.isEnd) {
|
||||
return
|
||||
} else {
|
||||
this.isEnd = true;
|
||||
}
|
||||
uni.showLoading({
|
||||
title: "加载中..."
|
||||
}); //加载中动画
|
||||
uni.request({
|
||||
url: basePath + 'app/safetymeeting/listForSafetyMeeting?showCount=' + _this.showCount + '¤tPage=' + _this
|
||||
.currentPage,
|
||||
method: 'POST',
|
||||
dataType: 'json',
|
||||
header: {
|
||||
'Content-type': 'application/x-www-form-urlencoded'
|
||||
},
|
||||
data: {
|
||||
CORPINFOID: corpinfoId,
|
||||
KEYWORDS: _this.NameLikes, //关键字模糊查询
|
||||
},
|
||||
success: (res) => {
|
||||
uni.hideLoading(); //结束加载中动画
|
||||
if (res.data != null) {
|
||||
_this.totalPage = res.data.page.totalPage;
|
||||
if (_this.list.length == 0) {
|
||||
_this.list = res.data.varList;
|
||||
} else {
|
||||
if (res.data.varList != null) {
|
||||
_this.list2 = res.data.varList;
|
||||
_this.list = _this.list.concat(_this.list2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.dy-card {
|
||||
background-color: #fff;
|
||||
border-radius: 10upx;
|
||||
margin: 30upx
|
||||
}
|
||||
|
||||
.dy-card-title {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid #eee;
|
||||
min-height: 80upx;
|
||||
line-height: 80upx;
|
||||
padding: 0 30upx;
|
||||
}
|
||||
|
||||
.dy-card-content {
|
||||
padding: 0upx 30upx 30upx;
|
||||
|
||||
}
|
||||
|
||||
.dy-card-content-item {
|
||||
margin-top: 20upx;
|
||||
}
|
||||
|
||||
.dy-card-content-item .title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.dy-card-content-item .title .l {
|
||||
width: 10upx;
|
||||
height: 30upx;
|
||||
border-radius: 20upx;
|
||||
background-color: #666;
|
||||
margin-right: 10upx;
|
||||
}
|
||||
|
||||
.dy-card-content-item .content {
|
||||
background-color: #F1F1F1;
|
||||
padding: 10upx 14upx;
|
||||
margin-top: 14upx;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.dy-card-content-item .name text {
|
||||
background-color: #F1F1F1;
|
||||
padding: 10upx 14upx;
|
||||
margin-top: 14upx;
|
||||
line-height: 1.6;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.dy-card-foot {
|
||||
border-top: 1px solid #eee;
|
||||
padding: 30upx;
|
||||
}
|
||||
.picker-tree{
|
||||
padding-right: 0;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,287 @@
|
|||
<template>
|
||||
<view>
|
||||
<cu-custom bgColor="bg-gradual-blueness" :isBack="true">
|
||||
<block slot="backText">返回</block>
|
||||
<block slot="content">安全例会详情</block>
|
||||
</cu-custom>
|
||||
<scroll-view scroll-y>
|
||||
<view class="dy-card">
|
||||
<view class="dy-card-title">
|
||||
<text>{{pd.MEETING_TITLE}}</text>
|
||||
</view>
|
||||
<view class="dy-card-content">
|
||||
<view class="dy-card-content-item">
|
||||
<text>主持人:</text>
|
||||
<text>{{pd.HOST_PERSON}}</text>
|
||||
</view>
|
||||
<view class="dy-card-content-item">
|
||||
<text>记录人:</text>
|
||||
<text>{{pd.RECORDER}}</text>
|
||||
</view>
|
||||
<view class="dy-card-content-item">
|
||||
<text>会议开始时间:</text>
|
||||
<text>{{pd.MEETING_DATE_START}}</text>
|
||||
</view>
|
||||
<view class="dy-card-content-item">
|
||||
<text>会议结束时间:</text>
|
||||
<text>{{pd.MEETING_DATE_END}}</text>
|
||||
</view>
|
||||
<view class="dy-card-content-item">
|
||||
<text>会议类型:</text>
|
||||
<text>{{pd.MEETING_TYPE === '1' ? '安全生产例会' : pd.MEETING_TYPE === '2' ? '安全生产委员会会议' : ''}}</text>
|
||||
</view>
|
||||
<view class="dy-card-content-item">
|
||||
<text>会议内容:</text>
|
||||
<rich-text :nodes="pd.MEETING_CONTENT"></rich-text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cu-tabbar-height"></view>
|
||||
</scroll-view>
|
||||
<uni-drawer ref="showHiddenWindow" mode="right" :mask-click="true">
|
||||
<scroll-view scroll-y="true" style="height: 100vh;">
|
||||
<!-- 实时照片部分 -->
|
||||
<view class="cu-form-group image-upload-container">
|
||||
<view class="title">实时照片:</view>
|
||||
<view class="icon-upload" v-if="!livePhotos.length" @click="chooseImage('LIVEPHOTOS')">
|
||||
<text class='cuIcon-cameraadd'></text>
|
||||
</view>
|
||||
<!-- 图片预览区 -->
|
||||
<view class="image-preview" v-for="(photo, index) in livePhotos" :key="index">
|
||||
<image :src="photo" mode="aspectFill" class="upload-image"></image>
|
||||
<!-- 删除按钮 -->
|
||||
<view class="delete-icon" @tap.stop="removeImage(index, 'LIVEPHOTOS')">
|
||||
<text class='cuIcon-close'></text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 签字照片部分 -->
|
||||
<view class="cu-form-group image-upload-container">
|
||||
<view class="title">签字照片:</view>
|
||||
<view class="icon-upload" v-if="!signaturePicture" @click="chooseImage('SIGNATUREPICTURE')">
|
||||
<text class='cuIcon-edit'></text>
|
||||
</view>
|
||||
<!-- 图片预览区 -->
|
||||
<view class="image-preview" v-if="signaturePicture">
|
||||
<image :src="signaturePicture" mode="aspectFill" class="upload-image"></image>
|
||||
</view>
|
||||
<!-- 删除按钮 -->
|
||||
<view>
|
||||
<view class="delete-icon" @tap.stop="removeImage('SIGNATUREPICTURE')">
|
||||
<text class='cuIcon-close'></text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<button @click="saveAndCloseDrawer">保存并关闭</button>
|
||||
</uni-drawer>
|
||||
<view class="cu-form-group">
|
||||
<view class="title">是否参会:</view>
|
||||
<button class="cu-btn round bg-blue" @click="addHidden">参会</button>
|
||||
</view>
|
||||
|
||||
<yk-authpup ref="authpup" type="top" @changeAuth="$noMultipleClicks(editLocation)" :permissionID="permissionID"></yk-authpup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
basePath,loginUser
|
||||
} from '@/common/tool.js';
|
||||
import ykAuthpup from "@/components/yk-authpup/yk-authpup"
|
||||
export default {
|
||||
components: {
|
||||
ykAuthpup
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
permissionID:'',
|
||||
SAFETY_MEETING_ID : '',
|
||||
varList:[],
|
||||
pd:[],
|
||||
noClick:true,
|
||||
ACCIDENTS_NAME:"",
|
||||
MEETING_TITLE:"",
|
||||
MEETING_TYPE:"",
|
||||
MEETING_ADDRESS:"",
|
||||
HOST_PERSON:"",
|
||||
MEETING_CONTENT:"",
|
||||
RECORDER:"",
|
||||
MEETING_DATE_START:"",
|
||||
MEETING_DATE_END:"",
|
||||
livePhotos: [],
|
||||
signaturePicture: [],
|
||||
}
|
||||
},
|
||||
onLoad(e){
|
||||
var _this = this;
|
||||
_this.SAFETY_MEETING_ID=e.id;
|
||||
_this.getData();
|
||||
|
||||
},
|
||||
methods: {
|
||||
//跳转事件
|
||||
goToEdit(e) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/application/basic-info-manage/basic-information/basic-information-edit'
|
||||
});
|
||||
},
|
||||
getData() {
|
||||
var _this = this;
|
||||
uni.showLoading({
|
||||
title: '请稍候'
|
||||
})
|
||||
uni.request({
|
||||
url: basePath + '/app/safetymeeting/goEdit',
|
||||
method: 'POST',
|
||||
dataType: 'json',
|
||||
header:{
|
||||
'Content-type':'application/x-www-form-urlencoded'
|
||||
},
|
||||
data: {
|
||||
SAFETY_MEETING_ID: _this.SAFETY_MEETING_ID,
|
||||
CORPINFO_ID:loginUser.CORPINFO_ID,
|
||||
USER_ID:loginUser.USER_ID,
|
||||
},
|
||||
success: (res) => {
|
||||
if (res.data != null) {
|
||||
uni.hideLoading();
|
||||
_this.pd = res.data.pd;
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.data.message,
|
||||
duration: 2000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
addHidden() {
|
||||
if (this.$refs.showHiddenWindow) {
|
||||
this.$refs.showHiddenWindow.open();
|
||||
}
|
||||
this.creatorList = [{
|
||||
NAME: loginUser.NAME,
|
||||
USER_ID: loginUser.USER_ID
|
||||
}]
|
||||
this.$refs['showHiddenWindow'].open()
|
||||
this.showHiddenWindow = true
|
||||
this.hiddenIsEdit = true
|
||||
},
|
||||
chooseImage(type) {
|
||||
uni.chooseImage({
|
||||
count: 1, // 限制只能选择一张图片
|
||||
success: (res) => {
|
||||
if (type === 'LIVEPHOTOS' && res.tempFilePaths.length) {
|
||||
this.livePhotos = res.tempFilePaths[0]; // 如果是单图,确保赋值字符串
|
||||
} else if (type === 'SIGNATUREPICTURE' && res.tempFilePaths.length) {
|
||||
this.signaturePicture = res.tempFilePaths[0]; // 确保赋值为字符串路径
|
||||
}
|
||||
},
|
||||
});
|
||||
},
|
||||
removeImage(type) {
|
||||
if (type === 'LIVEPHOTOS') {
|
||||
this.livePhotos = []; // 清空数组即可移除图片
|
||||
} else {
|
||||
this.signaturePicture = null; // 设为null即可移除图片
|
||||
}
|
||||
},
|
||||
|
||||
openAuth(permissionID){
|
||||
this.permissionID = permissionID;
|
||||
setTimeout(()=>{
|
||||
this.$refs['authpup'].open();
|
||||
},200)
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.dy-card {
|
||||
background-color: #fff;
|
||||
border-radius: 10upx;
|
||||
margin: 30upx;
|
||||
}
|
||||
|
||||
.dy-card-title {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid #eee;
|
||||
min-height: 80upx;
|
||||
line-height: 80upx;
|
||||
padding: 0 30upx;
|
||||
}
|
||||
|
||||
.dy-card-content {
|
||||
padding: 0upx 30upx 30upx;
|
||||
}
|
||||
|
||||
.dy-card-content-item {
|
||||
margin-top: 20upx;
|
||||
}
|
||||
|
||||
.dy-card-content-item .title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* 注释掉未使用的样式 */
|
||||
/* .dy-card-content-item .title .l {
|
||||
width: 10upx;
|
||||
height: 30upx;
|
||||
border-radius: 20upx;
|
||||
background-color: #666;
|
||||
margin-right: 10upx;
|
||||
} */
|
||||
|
||||
.dy-card-content-item .content,
|
||||
.dy-card-content-item .name text {
|
||||
background-color: #F1F1F1;
|
||||
padding: 10upx 14upx;
|
||||
margin-top: 14upx;
|
||||
line-height: 1.6;
|
||||
display: inline-block; /* 如果需要显示为inline-block */
|
||||
}
|
||||
|
||||
.image-upload-container {
|
||||
position: relative;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.upload-image {
|
||||
width: 100%; /* 宽度占满容器,根据需要调整 */
|
||||
height: auto; /* 高度自适应 */
|
||||
border-radius: 4px; /* 轻微圆角 */
|
||||
}
|
||||
|
||||
.image-preview {
|
||||
position: relative;
|
||||
width: 90px; /* 根据需要调整 */
|
||||
height: 90px; /* 根据需要调整 */
|
||||
margin-right: 10px; /* 与下一张图片的间距 */
|
||||
display: inline-block; /* 使图片并排显示 */
|
||||
}
|
||||
|
||||
.delete-icon {
|
||||
position: absolute;
|
||||
top: -10px; /* 超出图片范围的一部分,根据需要调整 */
|
||||
right: -10px; /* 超出图片范围的一部分,根据需要调整 */
|
||||
background-color: #ff4949; /* 您的红色背景 */
|
||||
width: 20px; /* 删除图标的大小,根据实际情况调整 */
|
||||
height: 20px;
|
||||
border-radius: 10px; /* 圆形 */
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.delete-icon text {
|
||||
color: white; /* 图标颜色为白色 */
|
||||
font-size: 14px; /* 图标大小,根据需要调整 */
|
||||
}
|
||||
|
||||
</style>
|
|
@ -80,6 +80,7 @@
|
|||
<text>工作安排</text>
|
||||
</view>
|
||||
</navigator>
|
||||
|
||||
<navigator class="home-apps-item" hover-class="none"
|
||||
url="/pages/basics/risk-distribution/risk-distribution">
|
||||
<view class="home-apps-item-img">
|
||||
|
@ -109,7 +110,6 @@
|
|||
<text>高危作业</text>
|
||||
</view>
|
||||
</navigator>
|
||||
|
||||
<navigator class="home-apps-item" hover-class="none" url="/pages/application/key-project-management/index/index">
|
||||
<view class="home-apps-item-img">
|
||||
<image src="../../static/icon-apps/home-zdgcgl.jpg" mode=""></image>
|
||||
|
@ -119,8 +119,7 @@
|
|||
</view>
|
||||
<view v-if="keyProjectManagement" class="cu-tag badge">{{ keyProjectManagement }}</view>
|
||||
</navigator>
|
||||
<navigator class="home-apps-item" hover-class="none" url="/pages/application/commitment"
|
||||
v-show="premission.commitment">
|
||||
<navigator class="home-apps-item" hover-class="none" url="/pages/application/commitment">
|
||||
<view class="home-apps-item-img">
|
||||
<image src="../../static/icon-apps/home-cns.png" mode=""></image>
|
||||
</view>
|
||||
|
@ -137,7 +136,8 @@
|
|||
<text>学习园地</text>
|
||||
</view>
|
||||
</navigator>
|
||||
|
||||
</view>
|
||||
<view class="home-apps-list">
|
||||
<navigator class="home-apps-item" hover-class="none" url="/pages/application/safety-environmental-inspection/home">
|
||||
|
||||
<view class="home-apps-item-img">
|
||||
|
@ -158,6 +158,15 @@
|
|||
<text>设备巡检</text>
|
||||
</view>
|
||||
</navigator>
|
||||
<navigator class="home-apps-item" hover-class="none"
|
||||
url="/pages/application/safetymeeting/home">
|
||||
<view class="home-apps-item-img">
|
||||
<image src="../../static/icon-apps/home-risk.png" mode=""></image>
|
||||
</view>
|
||||
<view class="text">
|
||||
<text>安全例会</text>
|
||||
</view>
|
||||
</navigator>
|
||||
<!-- <navigator class="home-apps-item" hover-class="none" url="/pages/application/onlinexxks/face/index">
|
||||
<view class="home-apps-item-img">
|
||||
<image src="../../static/icon-apps/home-study.png" mode=""></image>
|
||||
|
|
Loading…
Reference in New Issue