From f5d67b69142c78be1ee996f53b6bb8e4c954761c Mon Sep 17 00:00:00 2001
From: zhouwenxuan <1175765986@qq.com>
Date: 星期三, 15 十一月 2023 10:06:38 +0800
Subject: [PATCH] 页面跳转修改

---
 pages/tabBar/notice/measures.vue |  160 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 128 insertions(+), 32 deletions(-)

diff --git a/pages/tabBar/notice/measures.vue b/pages/tabBar/notice/measures.vue
index 4723e25..9ed6f14 100644
--- a/pages/tabBar/notice/measures.vue
+++ b/pages/tabBar/notice/measures.vue
@@ -6,12 +6,13 @@
 			<view class="statusBar" :style="{ paddingTop: statusBarHeight + 'px' }"></view>
 			<!-- 真正的导航栏内容 -->
 			<view class="navBar">
+				<u-icon name="arrow-left" color="black" size="17" style="margin-left: 10px;" @click="goBack" />
 				<view class="barText">响应措施反馈</view>
 			</view>
 		</view>
-		<view style="display: flex;flex-direction: column; padding: 10px 15px;">
+		<view class="measureCard">
 			<view class="first">
-				<text style="font-size: 16px;margin-bottom: 20px;">基础措施</text>
+				<text style="font-size: 16px;margin-bottom: 20px;"><text style="color: red;">*</text>基础措施</text>
 				 <u-checkbox-group
 				            v-model="checkboxValue1"
 				            placement="column"
@@ -21,8 +22,8 @@
 				                :customStyle="{marginBottom: '8px'}"
 				                v-for="(item, index) in list"
 				                :key="index"
-				                :label="item.name"
-				                :name="item.name"
+				                :label="item.measure"
+				                :name="item.id"
 				            >
 				            </u-checkbox>
 				        </u-checkbox-group>
@@ -42,16 +43,23 @@
 						:maxCount="10"
 						style="margin-top: -10px;"
 					></u-upload>
-					<view class="pic" v-for="item in nameList" :key="index">
-						{{item.name}}
+					<view :class="{pic: nameList.length>0}">
+						<view class="picItem" v-for="(item,index) in nameList" :key="index">
+							<image src="../../../static/pic.png">
+							{{item.name}}
+						</view>
 					</view>
 			</view>
-			<u-button class="btn" type="success">提交</u-button>
+		</view>
+		<view class="measures">
+		<u-button  class="measureBtn" type="primary" @click="$noMoreClicks(submit)">提交</u-button>
 		</view>
 	</view>
 </template>
 
 <script>
+	import { measureList, submitMeasures, getMeasureDetail } from '@/api/notice.js'
+	import VUE_APP_BASE_URL from '../../../common/constant.js'
 	export default {
 		components:{
 			
@@ -61,36 +69,80 @@
 				statusBarHeight: [],
 				fileList1: [],
 				nameList: [],
-				checkboxValue1: '',
+				checkboxValue1: [],
 				measures: "",
 				type: 'textarea',
 				border: true,
 				height: 100,
 				autoHeight: true,
-				list: [
-					{
-						name: '苹果',
-						disabled: false
-					},
-					{
-						name: '香蕉',
-						disabled: false
-					},
-					{
-						name: '橙子',
-						disabled: false
-					}
-				]
+				detailData : {},
+				measureIds : [],
+				baseUrl: VUE_APP_BASE_URL,
+				list: [],
+				showBtn: false,
+				noClick:true,
 			}
 		},
-		onLoad() {
+		onLoad(options) {
+			let test = options.data && JSON.parse(decodeURIComponent(options.data));
+			console.log("test",test)
+			this.detailData = test;
 			//获取手机状态栏高度
 			this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];
 			uni.hideTabBar();
+			this.getMeasureList();
 		},
 		methods: {
+			getMeasureList() {
+				const param = {
+					pageIndex: 1,
+					pageSize: 10000,
+				}
+				measureList(param).then(res => {
+					if(res.code == 100){
+						this.list = res.data;
+					}
+				}).catch(err=>{})
+			},
+			goBack() {
+				uni.navigateTo({
+				  url: `/pages/tabBar/notice/detail?data=` + encodeURIComponent(JSON.stringify(uni.getStorageSync("fdetailData")))
+				})
+			},
+			
 			checkboxChange(n) {
-				console.log('change', n);
+				 let finalArr = this.list.filter(item => !(n.indexOf(item.id) < 0));
+				this.measureIds = finalArr.map((item) => {
+				  return {id: item.id, baseMeasureContent: item.measure};
+				});
+				console.log('change', this.measureIds);
+			},
+			submit() {
+				if(this.measureIds.length <0) {
+					uni.showToast({
+						icon: "none",
+						title: '请勾选基础措施'
+					});
+					return;
+				}
+				const param = {
+					id: this.detailData.id,
+					baseMeasures: this.measureIds,
+					responseMeasure: this.measures
+				}
+				submitMeasures(param).then(res => {
+					if(res.code == 100){
+						uni.showToast({
+							icon: "none",
+							title: '提交成功'
+						});
+						uni.navigateTo({
+						  url: `/pages/tabBar/notice/detail?data=` + encodeURIComponent(JSON.stringify(this.detailData))
+						})
+					}else{
+						 uni.$u.toast(res.msg)
+					}
+				})
 			},
 			// 删除图片
 			deletePic(event) {
@@ -127,11 +179,16 @@
 			uploadFilePromise(url) {
 				return new Promise((resolve, reject) => {
 					let a = uni.uploadFile({
-						url: 'http://www.example.com', // 仅为示例,非真实的接口地址
+						url: VUE_APP_BASE_URL + '/attachment/uploadMeasureImage/key',
 						filePath: url,
 						name: 'file',
+						header: {
+							'tk':uni.getStorageSync('tk'),
+							'uid': uni.getStorageSync('uid')
+						},
 						formData: {
-							user: 'test'
+							id: this.detailData.id,
+							module: 'naturalDisasterPath'
 						},
 						success: (res) => {
 							setTimeout(() => {
@@ -148,12 +205,31 @@
 
 <style lang='scss' scoped>
 .navBarBox .navBar {
-	background-color:lightgrey;
-	height: 25px;
+  background-color:#fff;
+  height: 50px;
+  display: flex;
+  flex-direction: row;
+  /* justify-content: center; */
+  align-items: center;
+  box-shadow: 0 3px 12px rgba(0,0,0,0.05);
+}
+.barText{
+  /* margin-left: 20px; */
+  text-align: center;
+  width: 85%;
+  font-size: 16px;
+  /* text-align: center; */
+  font-weight: 600;
+}
+
+.measureCard{
 	display: flex;
-	flex-direction: row;
-	justify-content: center;
-	align-items: center;
+	flex-direction: column;
+	background: #fff;
+	box-shadow: 0 3px 12px rgba(0,0,0,0.05);
+	margin: 12px 12px 20px;
+	border-radius: 5px;
+	padding: 30px 12px;
 }
 .fix{
 	position: sticky;
@@ -173,7 +249,7 @@
 .second{
 	display: flex;
 	flex-direction: column;
-	margin-top: 50px;
+	margin-top: 30px;
 }
 .third{
 	display: flex;
@@ -188,9 +264,29 @@
 	display: flex;
 	flex-direction: column;
 	background-color: rgb(242,242,242);
+	padding: 5px 8px;
+}
+.picItem{
+	font-weight: 500;
 	margin-top: 5px;
 	font-size: 14px;
+	display: flex;
+	image{
+		width: 20px;
+		height: 20px;
+		margin-right:3px;
+	}
 }
+.measures{
+	margin-top: 50px 12px 0;
+	padding: 0 12px;
+	
+	.measureBtn{
+		border-radius: 5px;
+		box-shadow: 0 3px 12px rgba(33,239,102,0.4);
+	}
+}
+
 /* .btn{
 	position: fixed;
 	bottom: var(--window-bottom, 1);

--
Gitblit v1.9.2