Quellcode durchsuchen

Signed-off-by: 不吃茄子的阿宝 <528046418@qq.com>

不吃茄子的阿宝 vor 6 Monaten
Ursprung
Commit
4a84d65a41
78 geänderte Dateien mit 1587 neuen und 13 gelöschten Zeilen
  1. 47 0
      api/camera.js
  2. 38 0
      api/reporting.js
  3. 122 0
      packageA/pages/camera/index.vue
  4. 0 1
      packageA/pages/danger/index.vue
  5. 0 1
      packageA/pages/disaster/components/CreateDisaster.vue
  6. 2 2
      packageA/pages/goods/components/RecordDetail.vue
  7. 1 1
      packageA/pages/goods/record.vue
  8. 70 0
      packageA/pages/reporting/components/Detail.vue
  9. 143 0
      packageA/pages/reporting/components/Edit.vue
  10. 210 0
      packageA/pages/reporting/components/Report.vue
  11. 293 0
      packageA/pages/reporting/index.vue
  12. 14 0
      pages.json
  13. 33 5
      pages/index/index.vue
  14. BIN
      static/images/camera.png
  15. BIN
      static/images/reporting.png
  16. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  17. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  18. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/packageA/common/vendor.js.map
  19. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/packageA/index.js.map
  20. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/packageA/index/index.js.map
  21. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/packageA/packageA/pages/camera/index.js.map
  22. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/packageA/packageA/pages/reporting/index.js.map
  23. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/camera/index.js.map
  24. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/danger/index.js.map
  25. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/disaster/components/CreateDisaster.js.map
  26. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/goods/components/RecordDetail.js.map
  27. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/goods/record.js.map
  28. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/reporting/components/Create.js.map
  29. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/reporting/components/Detail.js.map
  30. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/reporting/components/Edit.js.map
  31. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/reporting/components/Report.js.map
  32. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/reporting/index.js.map
  33. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  34. 3 1
      unpackage/dist/dev/mp-weixin/app.json
  35. 0 0
      unpackage/dist/dev/mp-weixin/common/runtime.js
  36. 0 0
      unpackage/dist/dev/mp-weixin/common/vendor.js
  37. 0 1
      unpackage/dist/dev/mp-weixin/packageA/common/vendor.js
  38. 1 0
      unpackage/dist/dev/mp-weixin/packageA/index.js
  39. 4 0
      unpackage/dist/dev/mp-weixin/packageA/index.json
  40. 1 0
      unpackage/dist/dev/mp-weixin/packageA/index.wxml
  41. 1 0
      unpackage/dist/dev/mp-weixin/packageA/index/index.js
  42. 4 0
      unpackage/dist/dev/mp-weixin/packageA/index/index.json
  43. 1 0
      unpackage/dist/dev/mp-weixin/packageA/index/index.wxml
  44. 1 0
      unpackage/dist/dev/mp-weixin/packageA/packageA/pages/camera/index.js
  45. 3 0
      unpackage/dist/dev/mp-weixin/packageA/packageA/pages/camera/index.json
  46. 1 0
      unpackage/dist/dev/mp-weixin/packageA/packageA/pages/reporting/index.js
  47. 3 0
      unpackage/dist/dev/mp-weixin/packageA/packageA/pages/reporting/index.json
  48. 0 0
      unpackage/dist/dev/mp-weixin/packageA/pages/camera/index.js
  49. 8 0
      unpackage/dist/dev/mp-weixin/packageA/pages/camera/index.json
  50. 1 0
      unpackage/dist/dev/mp-weixin/packageA/pages/camera/index.wxml
  51. 75 0
      unpackage/dist/dev/mp-weixin/packageA/pages/camera/index.wxss
  52. 0 0
      unpackage/dist/dev/mp-weixin/packageA/pages/goods/components/RecordDetail.wxml
  53. 0 0
      unpackage/dist/dev/mp-weixin/packageA/pages/goods/record.js
  54. 1 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Create.js
  55. 10 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Create.json
  56. 0 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Create.wxml
  57. 77 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Create.wxss
  58. 0 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Detail.js
  59. 11 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Detail.json
  60. 1 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Detail.wxml
  61. 31 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Detail.wxss
  62. 0 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Edit.js
  63. 10 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Edit.json
  64. 0 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Edit.wxml
  65. 77 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Edit.wxss
  66. 0 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Report.js
  67. 10 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Report.json
  68. 0 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Report.wxml
  69. 102 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Report.wxss
  70. 0 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/index.js
  71. 14 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/index.json
  72. 0 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/index.wxml
  73. 157 0
      unpackage/dist/dev/mp-weixin/packageA/pages/reporting/index.wxss
  74. 0 0
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  75. 0 0
      unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  76. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/index.wxss
  77. BIN
      unpackage/dist/dev/mp-weixin/static/images/camera.png
  78. BIN
      unpackage/dist/dev/mp-weixin/static/images/reporting.png

+ 47 - 0
api/camera.js

@@ -0,0 +1,47 @@
+import {request} from '@/libs/request.js'
+export default {
+	  // 分页查询
+	  getByPage: (data) => request({url:'/camera/page', data }),
+
+	  // 列表查询
+	  getByList: (data) => request({url:'/camera', data }),
+
+	  // 基于ID查询
+	  getById: (cameraId) => request({url:`/camera/${cameraId}`}),
+
+	  // 基于ID查询
+	  getByListWithEnt: (entId) => request({url:`/camera/ent/${entId}`}),
+
+	  // 基于ID查询
+	  getByListWithLocation: (locationId) => request({url:`/camera/location/${locationId}`}),
+
+	  // 新增
+	  create: (data) => request({url:'/camera/add',method: 'POST', data}),
+
+	  // 更新
+	  update: (data) => request({url:'/camera/update',method: 'put', data}),
+
+	  // 删除
+	  deleteById: (cameraId) =>  request({url:`/camera/${cameraId}`,method: 'delete'}),
+
+	  // 数据同步
+	  sync: () =>request({url:`/camera/sync`}),
+
+	  // Get Video Info
+	  getVideoInfo: (cameraId) => request({url:`/camera/view/${cameraId}`}),
+
+	  // 关联到企业
+	  toEnt: (cameraId, entId) => request({url:`/camera/to/ent/${cameraId}/${entId}`,method: 'put'}),
+
+	  // 关联到自然灾害点
+	  toLocation: (cameraId, locationId) =>request({url:`/camera/to/location/${cameraId}/${locationId}`,method: 'put'}),
+
+	  // 分页选择
+	  selectByPage: (data) => request({url:'/camera/select/page', data }),
+
+	  // 列表选择
+	  selectByList: (data) => request({url:'/camera/select', data }),
+
+	  // 关联到自然灾害点
+	  putTags: (cameraId, tags) => request({url:`/camera/tags/${cameraId}/${tags}`,method: 'put'}),
+}

+ 38 - 0
api/reporting.js

@@ -0,0 +1,38 @@
+import {request} from '@/libs/request.js'
+export default {
+		  
+	getByPage: (data) => request({url:'/reporting/page',data }),
+	// 列表查询
+	getByList: (data) => request({url:'/reporting',data }),
+	// 基于ID查询
+	getById: (reportingId) => request({url:`/reporting/${reportingId}` }),
+	// 新增
+	create: (data) => request({url:'/reporting/submit',method: 'POST', data}),
+	// 更新
+	update: (data) =>  request({url:'/reporting/update',method: 'put', data}),
+	// 删除
+	deleteById: (reportingId) => request({url:`/reporting/${reportingId}`,method: 'delete'}), 
+	// template	
+	// 分页查询
+	getTemplateByPage: (data) => request({url:'/reporting/template/page',data }),
+	// 列表查询
+	getTemplateyList: (data) => request({url:'/reporting/template',data }),
+	// 基于ID查询
+	getTemplateById: (templateId) => request({url:`/reporting/template/${templateId}` }),
+	// 新增
+	createTemplate: (data) => request({url:'/reporting/template/add',method: 'POST', data}),
+	// 更新
+	updateTemplate: (data) =>  request({url:'/reporting/template/update',method: 'put', data}),
+	// 删除
+	deleteTemplateById: (templateId) => request({url:`/reporting/template/${templateId}`,method: 'delete'}), 
+	// 列表查询	 
+	getTemplateByView: (data) => request({url:'/reporting/template/type/view',data }),
+	// type
+	// 列表查询
+	getTypeByList: (data) => request({url:'/reporting/type',data }),
+
+	// 按月统计
+	counterByMonth: (data) => request({url:'/reporting/statis/counterByMonth', data }),
+	// 分类统计
+	counterByType: (data) => request({url:'/reporting/statis/counterByType',data }),
+}

+ 122 - 0
packageA/pages/camera/index.vue

@@ -0,0 +1,122 @@
+<template>
+	<view class="page-wrap">
+		<view class="head">
+			<uni-card padding="0" margin="5px 0">
+				<uni-search-bar @confirm="search" v-model="keywords" @clear="search"></uni-search-bar>
+			</uni-card>
+		</view>	
+		<view class="pageMain">
+			<view class="camerasbox">
+				<view class="item" v-for="item in items" :key="item.cameraId">
+						<view class="item-card">
+							<uni-icons type="videocam-filled" size="40" color="#999" @click="showCamera(item)"></uni-icons>							
+							<view class="title" v-if="item.cameraTitle">{{item.cameraTitle}}</view>
+						</view>		
+					</view>		
+				</view>	
+			</view>
+		</view>	
+	</view>
+</template>
+
+<script>
+	import cameraApi from '@/api/camera.js'					
+	export default {
+		data() {
+			return {
+				items:[],
+				page:1,
+				limit:20,
+				total:0,	
+				keywords: ""
+			}
+		},
+		onShow() {
+			this.getData();
+		},
+		methods: {
+			search(){
+				this.resetFilter();
+				this.getData()
+			},
+			getData(){
+				cameraApi.getByPage({
+					page:this.page,
+					limit:this.limit,
+					keywords:this.keywords
+				}).then((res)=>{
+					this.items=this.items.concat(res.data)
+					this.total=res.total
+				})
+			},		
+			resetFilter(){
+				this.page = 1
+				this.limit = 20
+				this.total = 0
+				this.items=[]
+			},
+			showCamera(item){
+				uni.navigateTo({
+					url:`/pages/webview/webview?id=${item.cameraId}&title=${item.cameraTitle}`
+				})
+			},
+		},
+		onReachBottom() {
+			if(this.total>this.limit*this.page){
+				this.page++
+				this.getData()				
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+.page-wrap{
+	padding:0 20rpx;
+	.head{
+		position: fixed;
+		width: 750rpx;
+		height: 60px;
+		left: 0;
+		top: 0;
+		background-color: #fff;
+	}
+	.pageMain{
+		margin-top: 70px;
+		background-color: #f5f5f5;
+		padding-bottom: 50rpx;
+		.camerasbox{
+			width:100%;
+			display: flex;
+			align-items: center;
+			flex-wrap: wrap;
+			background-color: #fff;
+			.item{
+				width: 50%;		
+				padding: 20rpx;
+				background-color: #fff;
+				box-sizing: border-box;
+				.item-card{
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					flex-direction: column;
+					box-shadow: 0 0 1px rgba(0,0,0,0.6);
+					padding: 20rpx;
+					.title{
+						width: 100%;
+						font-size: 24rpx;
+						color: #424242;
+						line-height: 1.4;
+						padding-bottom: 15rpx;
+						overflow:hidden;
+						text-overflow:ellipsis;
+						white-space:nowrap;
+						text-align: center;
+					}
+				}
+			}
+		}	
+	}
+}
+</style>

+ 0 - 1
packageA/pages/danger/index.vue

@@ -62,7 +62,6 @@
 											<uni-icons type="plusempty" size="20" color="#ccc"></uni-icons>
 										</view>
 									</template>
-
 								</view>														
 							</view>
 						</view>

+ 0 - 1
packageA/pages/disaster/components/CreateDisaster.vue

@@ -83,7 +83,6 @@
 			},	
 			disasterCats(){
 				let disasterCats=this.cats
-				//uni.getStorageSync('disasterCats')
 				if(!disasterCats)return []
 				return disasterCats.map(item=>{
 					return{

+ 2 - 2
packageA/pages/goods/components/RecordDetail.vue

@@ -11,10 +11,10 @@
 			<uni-list-item v-if="type==='in'" title="入库地址" :rightText="viewData.inboundLocation"></uni-list-item>
 			<uni-list-item v-if="type==='out'" title="出库地址" :rightText="viewData.outboundLocation"></uni-list-item>
 			<uni-list-item title="物资编号" :rightText="viewData.goodsNo"></uni-list-item>
-			<uni-list-item title="物资说明" :rightText="viewData.goodsTitle"></uni-list-item>
+			<uni-list-item title="物资名称" :rightText="viewData.goodsTitle"></uni-list-item>
 			<uni-list-item title="生产日期" :rightText="viewData.goodsPdDate"></uni-list-item>
 			<uni-list-item title="过期日期" :rightText="viewData.goodsExpDate"></uni-list-item>
-			<uni-list-item title="物资描述" :rightText="viewData.goodsDesc"></uni-list-item>
+			<uni-list-item title="物资说明" :rightText="viewData.goodsDesc"></uni-list-item>
 			<uni-list-item title="备注" :rightText="viewData.remark"></uni-list-item>
 		</uni-list>
 	</uni-popup>

+ 1 - 1
packageA/pages/goods/record.vue

@@ -149,7 +149,7 @@
 			}
 		},
 		onReachBottom() {
-			if(this.total>this.size*this.page){
+			if(this.total>this.limit*this.page){
 				this.page++
 				this.getData()				
 			}

+ 70 - 0
packageA/pages/reporting/components/Detail.vue

@@ -0,0 +1,70 @@
+<template>
+	<view class="detail">
+		<uni-popup ref="popup" type="top">
+			<uni-section type="line"  title="突发事件详情">
+				<template v-slot:right>
+					<uni-icons type="closeempty" size="24" color="#999" @click="close"></uni-icons>
+				</template>		
+			</uni-section>
+			<view class="detail-cont">
+				<uni-list >
+					<uni-list-item title="主题" :rightText="viewData.reportingSubject"></uni-list-item>
+					<uni-list-item title="上报部门" :rightText="viewData.reportingGroupName"></uni-list-item>
+					<uni-list-item title="类别" :rightText="viewData.reportingTypeTitle"></uni-list-item>
+					<uni-list-item title="上报时间" :rightText="viewData.reportingTime"></uni-list-item>					
+					<uni-list-item title="内容" :note="viewData.reportingContent"></uni-list-item>															
+				</uni-list>				
+			</view>		
+		</uni-popup>	
+	</view>
+</template>
+
+<script>
+	import disasterApi from '@/api/disaster.js'
+	import {getVideoInfo} from '@/api/system.js'
+	import CameraModal from '@/components/CameraModal.vue'
+	export default{
+		name:"DisasteDetail",
+		components:{
+			CameraModal
+		},
+		props:{
+			type:{
+				type:[String,Number],
+				default:'dl'
+			}
+		},
+		data(){
+			return{
+				viewData:{
+					reportingId: 0,
+					reportingTypeId: 0,
+					reportingTypeTitle: '',
+					reportingSubject: '',
+					reportingContent: '',
+					reportingGroupName: '',
+					reportingTime:"",
+					remark: '',
+				}
+			}
+		},
+		methods:{
+			show(item){
+				this.$refs.popup.open('bottom')
+				this.viewData={...item}
+			},
+			close(){
+				this.$refs.popup.close()
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.detail-cont{
+		&{
+			max-height: 80vh;
+			overflow-y: auto;
+		}		
+	}
+</style>

+ 143 - 0
packageA/pages/reporting/components/Edit.vue

@@ -0,0 +1,143 @@
+<template>
+	<uni-drawer ref="drawer" mode="left" :mask-click="false" width="85%" :maskClick='true'>
+		<scroll-view class="scroll-view" scroll-y="true">
+			<uni-section :title="type==='add'?'突发事件上报':'编辑突发事件' " type="line"></uni-section>
+			<view class="form-wrap" >
+				<uni-forms ref="form" label-position="top" :rules="rules" :model="form" :label-width="300">
+					<uni-forms-item  label ="消息标题">
+						<uni-easyinput v-model="form.reportingSubject" placeholder="请输入消息标题" type="textarea" :maxlength="150" autoHeight />
+						<view class="word-limit">{{form.reportingSubject.length||0}}/150</view>
+					</uni-forms-item>	
+					<uni-forms-item  label ="上报单位" >
+						<uni-easyinput v-model="form.reportingGroupName" placeholder="请输入上报单位"  />
+					</uni-forms-item>						
+					<uni-forms-item label="请输入消息内容">
+						<uni-easyinput type="textarea" :maxlength="300"
+						 v-model="form.reportingContent" autoHeight 
+						placeholder="请输入消息内容"></uni-easyinput>
+						<view class="word-limit">{{form.reportingContent.length||0}}/300</view>
+						</uni-forms-item>																																																																																																																																																																						
+				</uni-forms>
+				<view class="handle-container">
+					<button class="save" type="primary" @click="onSubmit">保存</button>
+					<button class="cancel" type="default" @click="close">取消</button>
+				</view>
+			</view>	
+		</scroll-view>
+	</uni-drawer>
+</template>
+
+<script>
+	import reportingApi from '@/api/reporting.js'
+	export default{
+		name:"EditReporting",
+		data(){
+			return{
+				type:undefined,
+				form:{
+					reportingId: 0,
+					reportingTypeId: 0,
+					reportingTypeTitle: '',
+					reportingSubject: '',
+					reportingContent: '',
+					reportingGroupName: '',
+					remark: ''
+				}
+			}
+		},
+		methods:{
+			resetForm(){
+				this.form={
+					reportingId: 0,
+					reportingTypeId: 0,
+					reportingTypeTitle: '',
+					reportingSubject: '',
+					reportingContent: '',
+					reportingGroupName: '',
+					remark: ''
+				}
+			},
+			onSubmit(){
+				this.$refs.form.validate().then(res=>{
+					reportingApi.update(this.form).then(()=>{
+						uni.showToast({
+							icon:"none",
+							title:"成功!!"
+						})
+						this.$emit('success')
+						this.close();
+					})
+
+				}).catch(err =>{
+					uni.showToast({
+						icon:"none",
+						title:"请检查填写信息!"
+					})
+				})
+			},
+			show({type,item}){
+				this.resetForm()
+				this.type=type
+				this.$refs.drawer.open()
+				reportingApi.getById(item.reportingId).then((res)=>{
+					this.form={...res.data}
+				})
+			},
+			close(){
+				this.$refs.drawer.close()
+			}
+		}
+	}
+</script>
+<style lang="scss" scoped>
+	.scroll-view {
+		height: 100%;
+		padding: 20rpx;
+		box-sizing: border-box;
+		.form-wrap{
+			padding:40rpx 20rpx;
+			.handle-container{
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				button{
+					width: 160rpx;
+					padding: 20rpx 16rpx;
+					line-height: 1;
+					font-size: 28rpx;
+					&.save{
+						background-color: #007aff;
+					}
+				}
+			}
+			.word-limit{
+				text-align: right;
+				padding: 10rpx 0;
+				color: #999;
+				font-size: 26rpx;
+			}
+			.attachbox{
+				display: flex;
+				flex-wrap: wrap;
+				.attach{
+					padding: 16rpx 18rpx;
+					image,.handle{
+						display: block;
+						width: 100rpx;
+						height: 100rpx;
+						box-shadow: rgba(0,0,0,0.6);	
+						border: 1rpx solid #ccc;	
+						border-radius: 10px;
+						overflow: hidden;	
+						box-sizing: border-box;
+					}
+					.handle{
+						display: flex;
+						justify-content: center;
+						align-items: center;
+					}
+				}
+			}
+		}
+	}
+</style>

+ 210 - 0
packageA/pages/reporting/components/Report.vue

@@ -0,0 +1,210 @@
+<template>
+	<uni-drawer ref="drawer" mode="left" :mask-click="false" width="85%" :maskClick='true'>
+		<scroll-view class="scroll-view" scroll-y="true">
+			<view class="Report">
+				<uni-card title="模板"  extra="可点选下面模板,然后修改填写" padding="0" margin="10px 5px">
+					<view class="templatewrap">
+						<view class="template" v-for="(template,templateIdx) in templateList" :key="template.reportingTypeId">
+							<view class="reportingTypeTitle">{{template.reportingTypeTitle}}</view>
+							<view class="template-item" v-for="(item,idx) in template.templateList" :key="item.templateId" @click='changeTemplate(item)' 
+								:class="form.templateId===item.templateId?'active':''">
+								<text class="index">{{idx+1}}.</text>
+								<text class="word">{{item.templateTitle}}</text>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+				<uni-card :title="form.reportingTypeTitle"  :extra="form.templateTitle" :note="form.templateDesc" padding="0" margin="10px 5px">
+					<view class="form-wrap" >
+						<uni-forms ref="form" label-position="top" :rules="rules" :model="form" :label-width="300">
+							<uni-forms-item  label ="消息标题">
+								<uni-easyinput v-model="form.reportingSubject" type="textarea" auto-height="true" placeholder="请输入消息标题" :maxlength="150" />
+								<view class="word-limit">{{form.reportingSubject.length||0}}/150</view>
+							</uni-forms-item>	
+							<uni-forms-item  label ="上报单位" >
+								<uni-easyinput v-model="form.reportingGroupName" placeholder="请输入上报单位"  />
+							</uni-forms-item>						
+							<uni-forms-item label="请输入消息内容">
+								<uni-easyinput type="textarea" :maxlength="300"
+								 v-model="form.reportingContent" autoHeight 
+								placeholder="请输入消息内容"></uni-easyinput>
+								<view class="word-limit">{{form.reportingContent.length||0}}/300</view>
+							</uni-forms-item>																																																																																																																																																																						
+						</uni-forms>
+						<view class="handle-container">
+							<button class="save" type="primary" @click="onSubmit">保存</button>
+							<button class="cancel" type="default" @click="close">取消</button>
+						</view>
+					</view>	
+				</uni-card>
+			</view>
+		</scroll-view>
+	</uni-drawer>
+</template>
+
+<script>
+	import reportingApi from '@/api/reporting.js'
+	export default{
+		name:"EditReporting",
+		data(){
+			return{
+				defaultTemplateId: 1,
+				templateList:uni.getStorageSync('reportTemplates')||[],
+				form:{
+					templateId: undefined ,
+					templateTitle: '',
+					reportingTypeId: '',
+					reportingTypeTitle: '',
+					reportingSubject: '',
+					reportingContent: '',
+					reportingGroupName: "",
+					templateDesc: '',
+				}
+			}
+		},
+		methods:{
+			resetForm(){
+				let accountInfo=uni.getStorageSync('accountInfo')
+				this.form={
+					templateId: undefined ,
+					templateTitle: '',
+					reportingTypeId: '',
+					reportingTypeTitle: '',
+					reportingSubject: '',
+					reportingContent: '',
+					reportingGroupName: accountInfo&&accountInfo.groupName,
+					templateDesc: '',
+				}
+			},
+			onSubmit(){
+				this.$refs.form.validate().then(res=>{
+					reportingApi.create(this.form).then(()=>{
+						uni.showToast({
+							icon:"none",
+							title:"成功!!"
+						})
+						this.$emit('success')
+						this.close();
+					})
+			
+				}).catch(err =>{
+					uni.showToast({
+						icon:"none",
+						title:"请检查填写信息!"
+					})
+				})
+			},
+			changeTemplate(item){
+				reportingApi.getTemplateById(item.templateId).then((res)=>{
+					this.getTemplateData(res.data)
+				})
+			},
+			show(){
+				this.resetForm()
+				this.$refs.drawer.open()
+				if(!uni.getStorageSync('reportTemplates')){
+					reportingApi.getTemplateByView().then((res)=>{
+						uni.setStorageSync('reportTemplates',res.data)
+						this.templateList=res.data
+					})
+				}
+				reportingApi.getTemplateById(this.defaultTemplateId).then((res)=>{
+					this.getTemplateData(res.data)
+				})
+			},
+			getTemplateData(data){
+				this.form.templateId = data.templateId
+				this.form.reportingTitle = data.templateTitle
+				this.form.reportingTypeId = data.reportingTypeId
+				this.form.reportingTypeTitle = data.reportingTypeTitle				
+				this.form.reportingSubject = data.templateSubject
+				this.form.reportingContent = data.templateContent				
+				this.form.templateDesc = data.templateDesc		
+				this.form.templateTitle = data.templateTitle	
+			},
+			close(){
+				this.$refs.drawer.close()
+			}
+		},
+	}
+</script>
+
+<style lang="scss" scoped>
+	.scroll-view {
+		height: 100%;
+		padding: 20rpx 10rpx;
+		box-sizing: border-box;
+		.templatewrap{
+			padding-top: 16rpx;
+			.template{
+				.reportingTypeTitle{
+					font-weight: 500;
+					color: #000;
+					font-size: 30rpx;
+				}
+				.template-item{
+					padding: 10rpx 0 10rpx 24rpx;
+					&.active{
+						background-color:rgba(64, 158, 255,1);
+						.index,.word{
+							color: #fff;
+						}
+					}
+					.index{
+						padding-right: 4rpx;
+					}
+					.word{
+						font-size: 24rpx;
+						color: #999999;
+						line-height: 1;
+					}
+				}
+			}
+		}
+		.form-wrap{
+			padding:40rpx 0;
+			.handle-container{
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				button{
+					width: 160rpx;
+					padding: 20rpx 16rpx;
+					line-height: 1;
+					font-size: 28rpx;
+					&.save{
+						background-color: #007aff;
+					}
+				}
+			}
+			.word-limit{
+				text-align: right;
+				padding: 10rpx 0;
+				color: #999;
+				font-size: 26rpx;
+			}
+			.attachbox{
+				display: flex;
+				flex-wrap: wrap;
+				.attach{
+					padding: 16rpx 18rpx;
+					image,.handle{
+						display: block;
+						width: 100rpx;
+						height: 100rpx;
+						box-shadow: rgba(0,0,0,0.6);	
+						border: 1rpx solid #ccc;	
+						border-radius: 10px;
+						overflow: hidden;	
+						box-sizing: border-box;
+					}
+					.handle{
+						display: flex;
+						justify-content: center;
+						align-items: center;
+					}
+				}
+			}
+		}
+	}
+</style>

+ 293 - 0
packageA/pages/reporting/index.vue

@@ -0,0 +1,293 @@
+<template>
+	<view class="page-wrap">
+		<view class="search-wrap">
+			<uni-search-bar class="search" @confirm="search" v-model="keywords" @clear="search"></uni-search-bar>
+			<uni-data-select class="select"   v-model="reportingTypeId" :localdata="types" placeholder="请选择类别" @change="search"></uni-data-select>
+		</view>
+		<view class="addbt" @click="handle({type:'add'})">
+			<view class="word">事件上报</view>
+		</view>
+		<view class="pageMain">
+			<uni-swipe-action class="item-action-box">
+				<uni-card padding="10px 0" margin="5px 0" v-for="item in items" :key="item.reportingId">
+					<uni-swipe-action-item class="item-action" :auto-close="true">
+						<template v-slot:right>
+							<view class="slot-button">
+								<view class="bt edit" @click="handle({type:'edit',item})"><text class="slot-button-text">编辑</text></view>
+								<view class="bt del" @click="handle({type:'del',item})"><text class="slot-button-text">删除</text></view>
+							</view>
+						</template>
+						<view class="item" @click="handle({type:'detail',item})">
+							<view class="title">
+								<view class="name">{{item.reportingSubject}}</view>									
+							</view>
+							<view class="tagbox">								
+								<uni-tag :text="item.reportingTypeTitle" custom-style="background-color: #ecf5ff; border-color: #d9ecff; color: #409eff;"></uni-tag>								
+							</view>
+							<view class="icon-item">
+								<image class="icon" src="/static/images/time.png" mode="widthFix"></image>
+								<text class="word">{{item.reportingTime}}</text>
+							</view>	
+							<view class="icon-item">
+								<image class="icon" src="/static/images/admin_icon.png" mode="widthFix"></image>
+								<text class="word">{{item.reportingGroupName}}</text>
+							</view>	
+						</view>
+					</uni-swipe-action-item>
+				</uni-card>
+			</uni-swipe-action>
+		</view>
+		<Detail ref="detail"></Detail>
+		<Edit ref="edit" @success="search"></Edit>	
+		<Report ref="report" @success="search"></Report>			
+	</view>
+</template>
+
+<script>
+	import reportingApi from '@/api/reporting.js'
+	import Report from './components/Report.vue'
+	import Detail from './components/Detail.vue'
+	import Edit from './components/Edit.vue'	
+	export default {
+		components:{
+			Report,
+			Detail,
+			Edit
+		},
+		computed:{
+			types(){
+				return this.reportingTypes.map(item=>{
+					return{
+						...item,
+						value:item.reportingTypeId,
+						text:item.reportingTypeTitle
+					}
+				})
+			}
+		},
+		data() {
+			return {
+				items:[],
+				reportingTypes:uni.getStorageSync('reportingTypes')||[],
+				page:1,	
+				limit:10,
+				total:0,	
+				keywords:""	,
+				reportingTypeId:undefined
+			}
+		},
+		onShow() {
+			this.init()
+			this.getData()
+		},
+		methods: {
+			init(){
+				if(!uni.getStorageSync('reportingTypes')){
+					reportingApi.getTypeByList().then((res)=>{
+						uni.setStorageSync('reportingTypes',res.data)
+						this.reportingTypes=res.data
+					})
+				}
+			},
+			search(){
+				this.resetFilter()
+				this.getData()
+			},
+			getData(){
+				const items=JSON.parse(JSON.stringify(this.items))
+				let params={
+					page:this.page,
+					limit:this.limit,
+					keywords:this.keywords,
+				}
+				if(this.reportingTypeId){params.reportingTypeId=this.reportingTypeId}
+				reportingApi.getByPage(params).then((res)=>{
+					this.items=items.concat(res.data)
+					this.total=res.total
+				})
+			},
+			handle({type,item}){
+				const self=this;
+				if(type==='del'){
+					uni.showModal({
+						title: '提示',
+						content: '是否确定删除',
+						success: function (res) {
+							if (res.confirm) {
+								reportingApi.deleteById(item.reportingId).then(()=>{
+									uni.showToast({
+										title:'删除成功!',
+										icon:'none'
+									})
+									self.resetFilter()
+									self.getData()
+								})
+					
+							}
+						}
+					});
+				}else{
+					if(type==='detail'){
+						this.$refs.detail.show(item)
+					}
+					if(type==='edit'){
+						this.$refs.edit.show({type:"edit",item})
+					}
+					if(type==='add'){
+						this.$refs.report.show()
+					}
+				}
+			},
+			resetFilter(){
+				this.page = 1
+				this.limit = 10
+				this.total = 0
+				this.items=[]
+			}
+		},
+		onReachBottom() {
+			if(this.total>this.limit*this.page){
+				this.page++
+				this.getData()				
+			}
+		}
+	}
+</script>
+<style lang="scss" scoped>
+.page-wrap{
+	padding:0 20rpx;
+	.search-wrap{
+		margin: 5px 0;
+		padding: 0 5px;
+		box-shadow: 0px 0px 3px 1px rgba(0, 0, 0, 0.08);
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		flex-wrap: wrap;
+		background-color: #fff;
+		.search{
+			flex: 1;
+		}
+		.select{
+			width: 240rpx;
+			margin-top: 10rpx;
+			flex-shrink: 0;
+			margin-left: 10rpx;
+		}
+	}
+	.addbt{
+		width: 100rpx;
+		height: 100rpx;
+		border-radius: 50%;
+		color: #fff;
+		background-color: rgba(64,158,255,0.7);			
+		box-shadow:0 0 10rpx rgba(0,0,0,0.4);
+		position: fixed;
+		right: 10rpx;
+		bottom: 20%;
+		z-index: 99;
+		text-align: center;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		.word{
+			width: 80rpx;
+			height: 80rpx;
+			border-radius: 50%;
+			margin: 5rpx auto;
+			font-size: 28rpx;
+			letter-spacing: 2px;
+		}
+	}
+	.pageMain{
+		margin-top: 20rpx;
+		background-color: #f5f5f5;
+		padding-bottom: 50rpx;
+		.item{
+			.title{
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+				.name{
+					font-size: 36rpx;
+					color: #222222;
+					font-weight: 500;
+				}
+				.num{
+					font-size: 32rpx;
+					color: #424242;
+				}
+			}
+			.tagbox{
+				font-size: 24rpx;
+				color: #666666;
+				padding: 14rpx 0;
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+			}
+			.location{
+				display: flex;
+				align-items: center;
+			}
+			.bottom{
+				.time{
+					font-size: 24rpx;
+					color: #666666;
+				}
+			}
+			image{
+				&.icon{
+					width: 30rpx;
+					height: 30rpx;
+					display: block;
+				}
+			}
+			.item-row{
+				display: flex;
+				align-items: center;
+				padding-top: 14rpx;
+				&.space-between{
+					justify-content: space-between;
+				}
+			}
+			.icon-item{
+				display: flex;
+				align-items: center;
+				.word{
+					margin-left: 8rpx;
+					font-size: 24rpx;
+				}
+			}
+		}
+		.slot-button{
+			width: 400rpx;
+			height: 100%;
+			display: flex;
+			flex-direction: row;
+			justify-content: center;
+			align-items: center;
+			color: #fff;
+			padding-left: 10px;
+			.bt{
+				width: 50%;
+				height: 100%;
+				font-size: 30rpx;
+				box-sizing: border-box;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				&.edit{
+				    background-color:#007aff;
+				}
+				&.del{
+					background-color:#F56C6C;
+				}
+				&.detail{
+					background-color: #e6a23c;
+				}
+			}
+		}
+	}
+}
+</style>

+ 14 - 0
pages.json

@@ -95,6 +95,20 @@
 					"style" :{ 
 						"navigationBarTitleText" : "出库/入库记录"
 					}
+				},
+				{
+					"path" : "pages/reporting/index",
+					"style" : 
+					{
+						"navigationBarTitleText" : "突发事件"
+					}
+				},
+				{
+					"path" : "pages/camera/index",
+					"style" : 
+					{
+						"navigationBarTitleText" : "现场视频"
+					}
 				}
 		  ]
 		}

+ 33 - 5
pages/index/index.vue

@@ -43,6 +43,18 @@
 				</view>
 				<view class="name">自然灾害</view>	
 			</view>
+			<view class="item" @click="linkTo('reporting')">
+				<view class="icon">
+					<image src="/static/images/reporting.png" mode=""></image>
+				</view>
+				<view class="name">突发事件</view>	
+			</view>
+			<view class="item" @click="linkTo('camera')">
+				<view class="icon">
+					<image src="/static/images/camera.png" mode=""></image>
+				</view>
+				<view class="name">现场视频</view>	
+			</view>			
 		</view>
 	</uni-section>
 	<div class="duty-conatiner">
@@ -142,7 +154,8 @@
 	import teamApi from '@/api/team.js'
 	import goodsApi from '@/api/goods.js'
 	import industryApi from '@/api/industry.js'	
-    import dangerApi from '@/api/danger.js'			
+    import dangerApi from '@/api/danger.js'	
+	import reportingApi from '@/api/reporting.js'			
 	import {parseTime} from '@/libs/index.js'
 	import {selectGroupUser,getGroupView} from '@/api/system.js'
 	export default {
@@ -174,7 +187,7 @@
 				statisticsIdx:0,
 				dutyDate:parseTime(new Date(),'{y}-{m}-{d}'),
 				dutyGroupId:undefined,
-				statisticsTabs: ['队伍建设', '物资储备', '行业管理', '隐患管理'],
+				statisticsTabs: ['队伍建设', '物资储备', '行业管理', '隐患管理','突发事件'],
 				statisticsData:{
 					name:"救援队",unit:"人数",
 					items:[]
@@ -292,7 +305,22 @@
 						}
 					})
 				}
-				
+				if(this.statisticsIdx===4){
+					reportingApi.counterByType().then((res)=>{
+						let data=res.data;
+						this.statisticsData.items=data.map(item=>{
+							return{
+								name:item.reportingTypeTitle,
+								num:item.count
+							}
+						});
+						this.chartdata={
+							yData:data.map(item=>item.count),
+							xData:data.map(item=>item.reportingTypeTitle),
+							name:"突发事件"
+						}
+					})
+				}				
 			},
 			linkTo(type){
 				uni.navigateTo({
@@ -302,7 +330,7 @@
 			changeStatics({currentIndex}) {
 				if (this.statisticsIdx !== currentIndex) {
 					this.statisticsIdx = currentIndex				
-					let ths=[{name:"救援队",unit:"人数"},{name:"物资分类",unit:"数量"},{name:"监管单位",unit:"企业/单位数目"},{name:"监管单位",unit:"隐患数目"}]
+					let ths=[{name:"救援队",unit:"人数"},{name:"物资分类",unit:"数量"},{name:"监管单位",unit:"企业/单位数目"},{name:"监管单位",unit:"隐患数目"},{name:"突发事件",unit:"数目"}]
 					this.statisticsData={
 						name:ths[currentIndex].name,unit:ths[currentIndex].unit,
 						items:[]
@@ -340,7 +368,7 @@
 		flex-wrap: wrap;
 		padding-bottom: 20rpx;
 		.item{
-			width: 33.33%;
+			width: 25%;
 			display: flex;
 			justify-content: space-between;
 			align-items: center;

BIN
static/images/camera.png


BIN
static/images/reporting.png


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/packageA/common/vendor.js.map


+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/packageA/index.js.map

@@ -0,0 +1 @@
+{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":"yIAAA,MAGA,aACA,YAFAA,EAAGC,kCAAoCC,EAGvCC,EAAWC,a","file":"packageA/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './packageA/index.vue'\ncreatePage(Page)"],"sourceRoot":""}

+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/packageA/index/index.js.map

@@ -0,0 +1 @@
+{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":"+IAAA,MAGA,aACA,YAFAA,EAAGC,kCAAoCC,EAGvCC,EAAWC,a","file":"packageA/index/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './packageA/index/index.vue'\ncreatePage(Page)"],"sourceRoot":""}

+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/packageA/packageA/pages/camera/index.js.map

@@ -0,0 +1 @@
+{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":"+JAAA,MAGA,aACA,4IAFAA,EAAGC,kCAAoCC,EAGvCC,EAAWC,a","file":"packageA/packageA/pages/camera/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './packageA/packageA/pages/camera/index.vue'\ncreatePage(Page)"],"sourceRoot":""}

+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/packageA/packageA/pages/reporting/index.js.map

@@ -0,0 +1 @@
+{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":"kKAAA,MAGA,aACA,+IAFAA,EAAGC,kCAAoCC,EAGvCC,EAAWC,a","file":"packageA/packageA/pages/reporting/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './packageA/packageA/pages/reporting/index.vue'\ncreatePage(Page)"],"sourceRoot":""}

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/camera/index.js.map


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/danger/index.js.map


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/disaster/components/CreateDisaster.js.map


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/goods/components/RecordDetail.js.map


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/goods/record.js.map


+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/reporting/components/Create.js.map

@@ -0,0 +1 @@
+{"version":3,"sources":[],"names":[],"mappings":"","file":"packageA/pages/reporting/components/Create.js","sourceRoot":""}

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/reporting/components/Detail.js.map


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/reporting/components/Edit.js.map


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/reporting/components/Report.js.map


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/packageA/pages/reporting/index.js.map


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


+ 3 - 1
unpackage/dist/dev/mp-weixin/app.json

@@ -17,7 +17,9 @@
         "pages/duty/index",
         "pages/team/index",
         "pages/goods/index",
-        "pages/goods/record"
+        "pages/goods/record",
+        "pages/reporting/index",
+        "pages/camera/index"
       ]
     }
   ],

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/mp-weixin/common/runtime.js


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/mp-weixin/common/vendor.js


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 1
unpackage/dist/dev/mp-weixin/packageA/common/vendor.js


+ 1 - 0
unpackage/dist/dev/mp-weixin/packageA/index.js

@@ -0,0 +1 @@
+Component({})

+ 4 - 0
unpackage/dist/dev/mp-weixin/packageA/index.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "突发事件",
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/packageA/index.wxml

@@ -0,0 +1 @@
+<view></view>

+ 1 - 0
unpackage/dist/dev/mp-weixin/packageA/index/index.js

@@ -0,0 +1 @@
+Component({})

+ 4 - 0
unpackage/dist/dev/mp-weixin/packageA/index/index.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "现场视频",
+  "usingComponents": {}
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/packageA/index/index.wxml

@@ -0,0 +1 @@
+<view></view>

+ 1 - 0
unpackage/dist/dev/mp-weixin/packageA/packageA/pages/camera/index.js

@@ -0,0 +1 @@
+Component({})

+ 3 - 0
unpackage/dist/dev/mp-weixin/packageA/packageA/pages/camera/index.json

@@ -0,0 +1,3 @@
+{
+  "navigationBarTitleText": "现场视频"
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/packageA/packageA/pages/reporting/index.js

@@ -0,0 +1 @@
+Component({})

+ 3 - 0
unpackage/dist/dev/mp-weixin/packageA/packageA/pages/reporting/index.json

@@ -0,0 +1,3 @@
+{
+  "navigationBarTitleText": "突发事件"
+}

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/camera/index.js


+ 8 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/camera/index.json

@@ -0,0 +1,8 @@
+{
+  "navigationBarTitleText": "现场视频",
+  "usingComponents": {
+    "uni-card": "/uni_modules/uni-card/components/uni-card/uni-card",
+    "uni-search-bar": "/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar",
+    "uni-icons": "/uni_modules/uni-icons/components/uni-icons/uni-icons"
+  }
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/camera/index.wxml

@@ -0,0 +1 @@
+<view class="page-wrap data-v-79bc97ee"><view class="head data-v-79bc97ee"><uni-card vue-id="bdd563c6-1" padding="0" margin="5px 0" class="data-v-79bc97ee" bind:__l="__l" vue-slots="{{['default']}}"><uni-search-bar bind:confirm="__e" bind:clear="__e" bind:input="__e" vue-id="{{('bdd563c6-2')+','+('bdd563c6-1')}}" value="{{keywords}}" data-event-opts="{{[['^confirm',[['search']]],['^clear',[['search']]],['^input',[['__set_model',['','keywords','$event',[]]]]]]}}" class="data-v-79bc97ee" bind:__l="__l"></uni-search-bar></uni-card></view><view class="pageMain data-v-79bc97ee"><view class="camerasbox data-v-79bc97ee"><block wx:for="{{items}}" wx:for-item="item" wx:for-index="__i0__" wx:key="cameraId"><view class="item data-v-79bc97ee"><view class="item-card data-v-79bc97ee"><uni-icons vue-id="{{'bdd563c6-3-'+__i0__}}" type="videocam-filled" size="40" color="#999" data-event-opts="{{[['^click',[['showCamera',['$0'],[[['items','cameraId',item.cameraId]]]]]]]}}" bind:click="__e" class="data-v-79bc97ee" bind:__l="__l"></uni-icons><block wx:if="{{item.cameraTitle}}"><view class="title data-v-79bc97ee">{{item.cameraTitle}}</view></block></view></view></block></view></view></view>

+ 75 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/camera/index.wxss

@@ -0,0 +1,75 @@
+@charset "UTF-8";
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.page-wrap.data-v-79bc97ee {
+  padding: 0 20rpx;
+}
+.page-wrap .head.data-v-79bc97ee {
+  position: fixed;
+  width: 750rpx;
+  height: 60px;
+  left: 0;
+  top: 0;
+  background-color: #fff;
+}
+.page-wrap .pageMain.data-v-79bc97ee {
+  margin-top: 70px;
+  background-color: #f5f5f5;
+  padding-bottom: 50rpx;
+}
+.page-wrap .pageMain .camerasbox.data-v-79bc97ee {
+  width: 100%;
+  display: flex;
+  align-items: center;
+  flex-wrap: wrap;
+  background-color: #fff;
+}
+.page-wrap .pageMain .camerasbox .item.data-v-79bc97ee {
+  width: 50%;
+  padding: 20rpx;
+  background-color: #fff;
+  box-sizing: border-box;
+}
+.page-wrap .pageMain .camerasbox .item .item-card.data-v-79bc97ee {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  flex-direction: column;
+  box-shadow: 0 0 1px rgba(0, 0, 0, 0.6);
+  padding: 20rpx;
+}
+.page-wrap .pageMain .camerasbox .item .item-card .title.data-v-79bc97ee {
+  width: 100%;
+  font-size: 24rpx;
+  color: #424242;
+  line-height: 1.4;
+  padding-bottom: 15rpx;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  text-align: center;
+}
+

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/goods/components/RecordDetail.wxml


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/goods/record.js


+ 1 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Create.js

@@ -0,0 +1 @@
+Component({})

+ 10 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Create.json

@@ -0,0 +1,10 @@
+{
+  "usingComponents": {
+    "uni-drawer": "/uni_modules/uni-drawer/components/uni-drawer/uni-drawer",
+    "uni-section": "/uni_modules/uni-section/components/uni-section/uni-section",
+    "uni-forms": "/uni_modules/uni-forms/components/uni-forms/uni-forms",
+    "uni-forms-item": "/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item",
+    "uni-easyinput": "/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput"
+  },
+  "component": true
+}

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Create.wxml


+ 77 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Create.wxss

@@ -0,0 +1,77 @@
+@charset "UTF-8";
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.scroll-view.data-v-2b8a6203 {
+  height: 100%;
+  padding: 20rpx;
+  box-sizing: border-box;
+}
+.scroll-view .form-wrap.data-v-2b8a6203 {
+  padding: 40rpx 20rpx;
+}
+.scroll-view .form-wrap .handle-container.data-v-2b8a6203 {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+.scroll-view .form-wrap .handle-container button.data-v-2b8a6203 {
+  width: 160rpx;
+  padding: 20rpx 16rpx;
+  line-height: 1;
+  font-size: 28rpx;
+}
+.scroll-view .form-wrap .handle-container button.save.data-v-2b8a6203 {
+  background-color: #007aff;
+}
+.scroll-view .form-wrap .word-limit.data-v-2b8a6203 {
+  text-align: right;
+  padding: 10rpx 0;
+  color: #999;
+  font-size: 26rpx;
+}
+.scroll-view .form-wrap .attachbox.data-v-2b8a6203 {
+  display: flex;
+  flex-wrap: wrap;
+}
+.scroll-view .form-wrap .attachbox .attach.data-v-2b8a6203 {
+  padding: 16rpx 18rpx;
+}
+.scroll-view .form-wrap .attachbox .attach image.data-v-2b8a6203, .scroll-view .form-wrap .attachbox .attach .handle.data-v-2b8a6203 {
+  display: block;
+  width: 100rpx;
+  height: 100rpx;
+  box-shadow: rgba(0, 0, 0, 0.6);
+  border: 1rpx solid #ccc;
+  border-radius: 10px;
+  overflow: hidden;
+  box-sizing: border-box;
+}
+.scroll-view .form-wrap .attachbox .attach .handle.data-v-2b8a6203 {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Detail.js


+ 11 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Detail.json

@@ -0,0 +1,11 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-popup": "/uni_modules/uni-popup/components/uni-popup/uni-popup",
+    "uni-section": "/uni_modules/uni-section/components/uni-section/uni-section",
+    "uni-icons": "/uni_modules/uni-icons/components/uni-icons/uni-icons",
+    "uni-list": "/uni_modules/uni-list/components/uni-list/uni-list",
+    "uni-list-item": "/uni_modules/uni-list/components/uni-list-item/uni-list-item",
+    "camera-modal": "/components/CameraModal"
+  }
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Detail.wxml

@@ -0,0 +1 @@
+<view class="detail data-v-c7adb250"><uni-popup vue-id="2e0795a4-1" type="top" data-ref="popup" class="data-v-c7adb250 vue-ref" bind:__l="__l" vue-slots="{{['default']}}"><uni-section vue-id="{{('2e0795a4-2')+','+('2e0795a4-1')}}" type="line" title="突发事件详情" class="data-v-c7adb250" bind:__l="__l" vue-slots="{{['right']}}"><uni-icons vue-id="{{('2e0795a4-3')+','+('2e0795a4-2')}}" type="closeempty" size="24" color="#999" data-event-opts="{{[['^click',[['close']]]]}}" bind:click="__e" class="data-v-c7adb250" slot="right" bind:__l="__l"></uni-icons></uni-section><view class="detail-cont data-v-c7adb250"><uni-list vue-id="{{('2e0795a4-4')+','+('2e0795a4-1')}}" class="data-v-c7adb250" bind:__l="__l" vue-slots="{{['default']}}"><uni-list-item vue-id="{{('2e0795a4-5')+','+('2e0795a4-4')}}" title="主题" rightText="{{viewData.reportingSubject}}" class="data-v-c7adb250" bind:__l="__l"></uni-list-item><uni-list-item vue-id="{{('2e0795a4-6')+','+('2e0795a4-4')}}" title="上报部门" rightText="{{viewData.reportingGroupName}}" class="data-v-c7adb250" bind:__l="__l"></uni-list-item><uni-list-item vue-id="{{('2e0795a4-7')+','+('2e0795a4-4')}}" title="类别" rightText="{{viewData.reportingTypeTitle}}" class="data-v-c7adb250" bind:__l="__l"></uni-list-item><uni-list-item vue-id="{{('2e0795a4-8')+','+('2e0795a4-4')}}" title="上报时间" rightText="{{viewData.reportingTime}}" class="data-v-c7adb250" bind:__l="__l"></uni-list-item><uni-list-item vue-id="{{('2e0795a4-9')+','+('2e0795a4-4')}}" title="内容" note="{{viewData.reportingContent}}" class="data-v-c7adb250" bind:__l="__l"></uni-list-item></uni-list></view></uni-popup></view>

+ 31 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Detail.wxss

@@ -0,0 +1,31 @@
+@charset "UTF-8";
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.detail-cont.data-v-c7adb250 {
+  max-height: 80vh;
+  overflow-y: auto;
+}
+

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Edit.js


+ 10 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Edit.json

@@ -0,0 +1,10 @@
+{
+  "usingComponents": {
+    "uni-drawer": "/uni_modules/uni-drawer/components/uni-drawer/uni-drawer",
+    "uni-section": "/uni_modules/uni-section/components/uni-section/uni-section",
+    "uni-forms": "/uni_modules/uni-forms/components/uni-forms/uni-forms",
+    "uni-forms-item": "/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item",
+    "uni-easyinput": "/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput"
+  },
+  "component": true
+}

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Edit.wxml


+ 77 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Edit.wxss

@@ -0,0 +1,77 @@
+@charset "UTF-8";
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.scroll-view.data-v-486d705e {
+  height: 100%;
+  padding: 20rpx;
+  box-sizing: border-box;
+}
+.scroll-view .form-wrap.data-v-486d705e {
+  padding: 40rpx 20rpx;
+}
+.scroll-view .form-wrap .handle-container.data-v-486d705e {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+.scroll-view .form-wrap .handle-container button.data-v-486d705e {
+  width: 160rpx;
+  padding: 20rpx 16rpx;
+  line-height: 1;
+  font-size: 28rpx;
+}
+.scroll-view .form-wrap .handle-container button.save.data-v-486d705e {
+  background-color: #007aff;
+}
+.scroll-view .form-wrap .word-limit.data-v-486d705e {
+  text-align: right;
+  padding: 10rpx 0;
+  color: #999;
+  font-size: 26rpx;
+}
+.scroll-view .form-wrap .attachbox.data-v-486d705e {
+  display: flex;
+  flex-wrap: wrap;
+}
+.scroll-view .form-wrap .attachbox .attach.data-v-486d705e {
+  padding: 16rpx 18rpx;
+}
+.scroll-view .form-wrap .attachbox .attach image.data-v-486d705e, .scroll-view .form-wrap .attachbox .attach .handle.data-v-486d705e {
+  display: block;
+  width: 100rpx;
+  height: 100rpx;
+  box-shadow: rgba(0, 0, 0, 0.6);
+  border: 1rpx solid #ccc;
+  border-radius: 10px;
+  overflow: hidden;
+  box-sizing: border-box;
+}
+.scroll-view .form-wrap .attachbox .attach .handle.data-v-486d705e {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Report.js


+ 10 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Report.json

@@ -0,0 +1,10 @@
+{
+  "usingComponents": {
+    "uni-drawer": "/uni_modules/uni-drawer/components/uni-drawer/uni-drawer",
+    "uni-card": "/uni_modules/uni-card/components/uni-card/uni-card",
+    "uni-forms": "/uni_modules/uni-forms/components/uni-forms/uni-forms",
+    "uni-forms-item": "/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item",
+    "uni-easyinput": "/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput"
+  },
+  "component": true
+}

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Report.wxml


+ 102 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/components/Report.wxss

@@ -0,0 +1,102 @@
+@charset "UTF-8";
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.scroll-view.data-v-4d0c3a3b {
+  height: 100%;
+  padding: 20rpx 10rpx;
+  box-sizing: border-box;
+}
+.scroll-view .templatewrap.data-v-4d0c3a3b {
+  padding-top: 16rpx;
+}
+.scroll-view .templatewrap .template .reportingTypeTitle.data-v-4d0c3a3b {
+  font-weight: 500;
+  color: #000;
+  font-size: 30rpx;
+}
+.scroll-view .templatewrap .template .template-item.data-v-4d0c3a3b {
+  padding: 10rpx 0 10rpx 24rpx;
+}
+.scroll-view .templatewrap .template .template-item.active.data-v-4d0c3a3b {
+  background-color: #409eff;
+}
+.scroll-view .templatewrap .template .template-item.active .index.data-v-4d0c3a3b, .scroll-view .templatewrap .template .template-item.active .word.data-v-4d0c3a3b {
+  color: #fff;
+}
+.scroll-view .templatewrap .template .template-item .index.data-v-4d0c3a3b {
+  padding-right: 4rpx;
+}
+.scroll-view .templatewrap .template .template-item .word.data-v-4d0c3a3b {
+  font-size: 24rpx;
+  color: #999999;
+  line-height: 1;
+}
+.scroll-view .form-wrap.data-v-4d0c3a3b {
+  padding: 40rpx 0;
+}
+.scroll-view .form-wrap .handle-container.data-v-4d0c3a3b {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+.scroll-view .form-wrap .handle-container button.data-v-4d0c3a3b {
+  width: 160rpx;
+  padding: 20rpx 16rpx;
+  line-height: 1;
+  font-size: 28rpx;
+}
+.scroll-view .form-wrap .handle-container button.save.data-v-4d0c3a3b {
+  background-color: #007aff;
+}
+.scroll-view .form-wrap .word-limit.data-v-4d0c3a3b {
+  text-align: right;
+  padding: 10rpx 0;
+  color: #999;
+  font-size: 26rpx;
+}
+.scroll-view .form-wrap .attachbox.data-v-4d0c3a3b {
+  display: flex;
+  flex-wrap: wrap;
+}
+.scroll-view .form-wrap .attachbox .attach.data-v-4d0c3a3b {
+  padding: 16rpx 18rpx;
+}
+.scroll-view .form-wrap .attachbox .attach image.data-v-4d0c3a3b, .scroll-view .form-wrap .attachbox .attach .handle.data-v-4d0c3a3b {
+  display: block;
+  width: 100rpx;
+  height: 100rpx;
+  box-shadow: rgba(0, 0, 0, 0.6);
+  border: 1rpx solid #ccc;
+  border-radius: 10px;
+  overflow: hidden;
+  box-sizing: border-box;
+}
+.scroll-view .form-wrap .attachbox .attach .handle.data-v-4d0c3a3b {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/index.js


+ 14 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/index.json

@@ -0,0 +1,14 @@
+{
+  "navigationBarTitleText": "突发事件",
+  "usingComponents": {
+    "uni-search-bar": "/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar",
+    "uni-data-select": "/uni_modules/uni-data-select/components/uni-data-select/uni-data-select",
+    "uni-swipe-action": "/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action",
+    "uni-card": "/uni_modules/uni-card/components/uni-card/uni-card",
+    "uni-swipe-action-item": "/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item",
+    "uni-tag": "/uni_modules/uni-tag/components/uni-tag/uni-tag",
+    "report": "/packageA/pages/reporting/components/Report",
+    "detail": "/packageA/pages/reporting/components/Detail",
+    "edit": "/packageA/pages/reporting/components/Edit"
+  }
+}

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/index.wxml


+ 157 - 0
unpackage/dist/dev/mp-weixin/packageA/pages/reporting/index.wxss

@@ -0,0 +1,157 @@
+@charset "UTF-8";
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.page-wrap.data-v-2c18ef20 {
+  padding: 0 20rpx;
+}
+.page-wrap .search-wrap.data-v-2c18ef20 {
+  margin: 5px 0;
+  padding: 0 5px;
+  box-shadow: 0px 0px 3px 1px rgba(0, 0, 0, 0.08);
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  flex-wrap: wrap;
+  background-color: #fff;
+}
+.page-wrap .search-wrap .search.data-v-2c18ef20 {
+  flex: 1;
+}
+.page-wrap .search-wrap .select.data-v-2c18ef20 {
+  width: 240rpx;
+  margin-top: 10rpx;
+  flex-shrink: 0;
+  margin-left: 10rpx;
+}
+.page-wrap .addbt.data-v-2c18ef20 {
+  width: 100rpx;
+  height: 100rpx;
+  border-radius: 50%;
+  color: #fff;
+  background-color: rgba(64, 158, 255, 0.7);
+  box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.4);
+  position: fixed;
+  right: 10rpx;
+  bottom: 20%;
+  z-index: 99;
+  text-align: center;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+.page-wrap .addbt .word.data-v-2c18ef20 {
+  width: 80rpx;
+  height: 80rpx;
+  border-radius: 50%;
+  margin: 5rpx auto;
+  font-size: 28rpx;
+  letter-spacing: 2px;
+}
+.page-wrap .pageMain.data-v-2c18ef20 {
+  margin-top: 20rpx;
+  background-color: #f5f5f5;
+  padding-bottom: 50rpx;
+}
+.page-wrap .pageMain .item .title.data-v-2c18ef20 {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+.page-wrap .pageMain .item .title .name.data-v-2c18ef20 {
+  font-size: 36rpx;
+  color: #222222;
+  font-weight: 500;
+}
+.page-wrap .pageMain .item .title .num.data-v-2c18ef20 {
+  font-size: 32rpx;
+  color: #424242;
+}
+.page-wrap .pageMain .item .tagbox.data-v-2c18ef20 {
+  font-size: 24rpx;
+  color: #666666;
+  padding: 14rpx 0;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+.page-wrap .pageMain .item .location.data-v-2c18ef20 {
+  display: flex;
+  align-items: center;
+}
+.page-wrap .pageMain .item .bottom .time.data-v-2c18ef20 {
+  font-size: 24rpx;
+  color: #666666;
+}
+.page-wrap .pageMain .item image.icon.data-v-2c18ef20 {
+  width: 30rpx;
+  height: 30rpx;
+  display: block;
+}
+.page-wrap .pageMain .item .item-row.data-v-2c18ef20 {
+  display: flex;
+  align-items: center;
+  padding-top: 14rpx;
+}
+.page-wrap .pageMain .item .item-row.space-between.data-v-2c18ef20 {
+  justify-content: space-between;
+}
+.page-wrap .pageMain .item .icon-item.data-v-2c18ef20 {
+  display: flex;
+  align-items: center;
+}
+.page-wrap .pageMain .item .icon-item .word.data-v-2c18ef20 {
+  margin-left: 8rpx;
+  font-size: 24rpx;
+}
+.page-wrap .pageMain .slot-button.data-v-2c18ef20 {
+  width: 400rpx;
+  height: 100%;
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+  align-items: center;
+  color: #fff;
+  padding-left: 10px;
+}
+.page-wrap .pageMain .slot-button .bt.data-v-2c18ef20 {
+  width: 50%;
+  height: 100%;
+  font-size: 30rpx;
+  box-sizing: border-box;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+.page-wrap .pageMain .slot-button .bt.edit.data-v-2c18ef20 {
+  background-color: #007aff;
+}
+.page-wrap .pageMain .slot-button .bt.del.data-v-2c18ef20 {
+  background-color: #F56C6C;
+}
+.page-wrap .pageMain .slot-button .bt.detail.data-v-2c18ef20 {
+  background-color: #e6a23c;
+}
+

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.js


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.wxml


+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/index.wxss

@@ -52,7 +52,7 @@
   padding-bottom: 20rpx;
 }
 .page-wrap .tab-container .item.data-v-57280228 {
-  width: 33.33%;
+  width: 25%;
   display: flex;
   justify-content: space-between;
   align-items: center;

BIN
unpackage/dist/dev/mp-weixin/static/images/camera.png


BIN
unpackage/dist/dev/mp-weixin/static/images/reporting.png


Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.