From 4efeb31d5b4921d7e851c256009486ad86bc70e2 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Tue, 21 Jun 2022 09:14:57 +0800
Subject: [PATCH] 地址替换

---
 pages/dispatch/imgissue.vue |  221 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 171 insertions(+), 50 deletions(-)

diff --git a/pages/dispatch/imgissue.vue b/pages/dispatch/imgissue.vue
index 9a40658..8c4db3a 100644
--- a/pages/dispatch/imgissue.vue
+++ b/pages/dispatch/imgissue.vue
@@ -1,36 +1,72 @@
 <template>
 	<view class="container">
-		<view class='initiae-box'>
+
+		<view class="group-chat-box">
+
 			<u-form :model="form" ref="uForm">
 
-				<u-form-item label-width='180' prop="content" label="指令内容" :required="true">
+				<u-form-item label-width='132' prop="content" label="指令内容" :required="true">
 					<u-input type='textarea' v-model="form.content" placeholder="请输入指令内容" />
 				</u-form-item>
-				
-				<u-form-item label-width='180' prop="recipientText" label="指令接收人" :required="true">
-				
-					<u-input v-model="form.recipientText" type="select" placeholder="请选择接收人" :border="false"
-						@click="recipientClick" />
-					<u-select v-model="recipientShow" mode="mutil-column-auto" :list="recipientList"
-						@confirm="recipientConfirm">
-					</u-select>
-				
+
+				<u-form-item label-width='158' prop="recipientText" label="指令接收人" :required="true">
+
+					<u-input type='textarea' v-model="form.recipientPeople" placeholder="请选择指令接收人"
+						@click="recipientClick" autoHeight  />
+
+					<!-- <u-button slot="right" type="success" size="mini" @click="recipientClick">选择接收人</u-button> -->
+
+					<u-popup :closeable="true" v-model="recipientShow" mode="bottom" height="50%" border-radius="14">
+
+						<view>
+
+							<u-checkbox-group v-show="recipientList.length > 0" @change="checkboxGroupChange"
+								:wrap='true' :size="40">
+
+								<u-checkbox v-model="item.checked" v-for="(item, index) in recipientList" :key="index"
+									:name="item.id" shape="circle"
+									style="padding: 0 40rpx; height: 92rpx; position: relative; box-sizing: border-box;">
+
+									<view style="margin-left: 22rpx">
+										{{item.real_name}}
+									</view>
+
+								</u-checkbox>
+
+							</u-checkbox-group>
+
+							<view style=" height: 92rpx; padding: 0 40rpx;" v-show="recipientList.length == 0">
+
+								暂无数据
+
+							</view>
+
+						</view>
+
+					</u-popup>
+
 				</u-form-item>
 
-				<u-form-item label-width='180' label="指令相关图片" class='imgissue-upload'>
+				<u-form-item label-width='184' label="指令相关图片" class='imgissue-upload'>
 					<seeImgs :imgs="imgs" :videos="[]" @del="delImg" :type="'imgs'"></seeImgs>
 					<image style="width: 4rem; height: 4rem; display: block;" @tap="takePhoto"
 						src="../../static/images/upload.png" mode=""></image>
 				</u-form-item>
 
 			</u-form>
-			<view>
-				<u-button type="primary" @click="initiateClick" style="margin-top: 4%; width: 60%;">发送</u-button>
-			</view>
-			<view>
-				<u-toast ref="uToast" />
-			</view>
+
 		</view>
+
+		<view class="establish-box">
+
+			<u-button class="submit" type="primary" @click="initiateClick">发送</u-button>
+
+		</view>
+
+		<view>
+			<u-toast ref="uToast" />
+		</view>
+
 	</view>
 </template>
 
@@ -44,11 +80,11 @@
 			return {
 				recipientShow: false,
 				recipientList: [],
-
 				form: {
 					content: '',
 					recipient: '',
-					recipientText: ''
+					recipientData: [],
+					recipientPeople: ''
 				},
 				rules: {
 
@@ -58,11 +94,7 @@
 						message: '指令内容不能少于5个字',
 						trigger: ['change', 'blur'],
 					}],
-					recipientText: [{
-						required: true,
-						message: '请选择接收人',
-						trigger: ['change', 'blur'],
-					}],
+
 				},
 				imgs: [],
 			};
@@ -77,40 +109,48 @@
 		},
 		methods: {
 			recipientClick() {
+				if (this.recipientList.length > 0) {
+					this.recipientShow = true;
+					return;
+				}
+
 				uni.request({
-					url: this.$store.state.piAPI + "/blade-system/dept/lazy-tree-user-app?userId=" + this.$store
-						.state
-						.UserData.user_id,
+					url: this.$store.state.piAPI + "/blade-user/seleL",
 					method: "get",
 					data: {
-
+						type: 1,
+						jurisdiction: this.$store.state
+							.UserData.jurisdiction,
 					},
 					success: (res) => {
 						this.recipientList = []
-						res.data.forEach(item => {
-							if (item.hasChildren) {
-								this.recipientList.push(item)
+
+						res.data.data.forEach(item => {
+							var flag = true
+
+							if (this.recipientList.length > 0) {
+								this.recipientList.forEach(it => {
+									if (item.id == it.id) flag = false
+								})
 							}
+
+							if (flag == true) {
+								if (item.id != this.$store.state
+									.UserData.user_id
+								) {
+									item.checked = false;
+									this.recipientList.push(item)
+								}
+							}
+
 						})
+
 						this.recipientShow = true;
 					}
 				});
 
 			},
-			recipientConfirm(e) {
-				
-				if (e.length == 1) {
-					this.form.recipient = e[0].value
-					this.form.recipientText = e[0].label
-				} else if (e.length == 2) {
-					this.form.recipient = e[1].value
-					this.form.recipientText = e[1].label
-				} else if (e.length == 3) {
-					this.form.recipient = e[2].value
-					this.form.recipientText = e[2].label
-				}
-				
-			},
+
 			initiateClick() {
 				var imgurl = '';
 				this.imgs.forEach((item, index) => {
@@ -122,12 +162,28 @@
 				})
 				this.$refs.uForm.validate(valid => {
 					if (valid) {
+
+						if (this.form.recipientData.length == 0) {
+							this.$refs.uToast.show({
+								title: '请最少选择一个接收人',
+							})
+							return
+						}
+
+						var str = '';
+
+						this.form.recipientData.forEach(item => {
+							str += item + ','
+						})
+
+						str = str.substr(0, str.length - 1);
+
 						uni.request({
 							url: this.$store.state.piAPI + "/directive/saveDirectiveAndFile",
 							method: "post",
 							data: {
 								// 接收
-								receiveDirectiveIds: this.form.recipient,
+								receiveDirectiveIds: str,
 								// 发送
 								sendDirectiveId: this.$store.state
 									.UserData.user_id,
@@ -136,7 +192,7 @@
 
 							},
 							success: (res) => {
-								if (res.data.msg == "操作成功") {
+								if (res.data.msg.indexOf('成功') != -1) {
 									this.$refs.uToast.show({
 										title: '指令下发成功',
 										type: 'success',
@@ -206,13 +262,78 @@
 					}
 				});
 			},
+			checkboxGroupChange(e) {
+				var that = this
+
+				this.form.recipientData = e
+
+				var str = ""
+				var num = 0
+
+				that.form.recipientData.forEach((item, index) => {
+					that.recipientList.forEach((it, index) => {
+						if (item == it.id) {
+							if (num > 0) {
+								str += '、';
+								str += it.real_name;
+							} else {
+								str += it.real_name
+							}
+							num += 1
+							return
+						}
+					})
+				})
+
+				this.form.recipientPeople = str
+
+			},
+
 		}
 	};
 </script>
 
 
 <style lang="scss">
-	.initiae-box {
-		padding: 0 30rpx;
+	.submit {
+		border: none;
+		width: 94%;
+		height: 86rpx;
+		line-height: 86rpx;
+		box-sizing: border-box;
+		border-radius: 15rpx;
+		color: #ffffff;
+		font-size: 38rpx;
+
+	}
+
+	.container {
+		height: 100%;
+
+		.group-chat-box {
+			height: calc(100% - 116rpx);
+			padding: 0 36rpx;
+			box-sizing: border-box;
+			overflow-y: auto;
+		}
+
+		.establish-box {
+			position: relative;
+			height: 116rpx;
+			background: #fff;
+			text-align: center;
+
+			uni-button {
+				margin: 0;
+				position: absolute;
+				top: 0;
+				left: 0;
+				right: 0;
+				bottom: 0;
+				margin: auto;
+			}
+
+		}
+
 	}
 </style>

--
Gitblit v1.9.3