chooseCom.vue 6.58 KB
<template>
	<view class="page">
		<view class="test">
			<!-- <up-load></up-load> -->
			<!-- <view class="file_upload"
				style="width: 90%;height: 60rpx; margin: 0 auto;display: flex;color: white; align-items: center; justify-content: space-around; background-color: gray;border-radius: 20rpx;">
				<view class="file_name">
					{{fileName}}
				</view>
				<view class="" @click="handleUploadClick" style="display: flex;align-items: center;">
					<text>上传文件</text>
					<image src="../../static/image/upload.png" style="width: 20rpx;height: 20rpx;margin-left: 20rpx;"
						mode=""></image>
				</view>

			</view> -->
			<xe-upload ref="XeUpload" :options="uploadOptions" @callback="handleUploadCallback"></xe-upload>
			<wyh-tree-select :items="items" :activeIds="city_ids5" :selectAll="true" :isSearch="true"
				@getTypeCompanyList="getTypeCompanyList" />
			<view class="official">
				<view>已选<text class="official-num">{{city_ids5.length}}</text>家企业</view>
				<!-- <view class="official-btn" @click="toGrouping">自定义分组</view> -->
				<view class="official-btn" @click="send">确认</view>
			</view>
		</view>
	</view>
</template>

<script>
	import request from '@/utils/request.js'
	import upLoad from '@/components/ncc/ncc-upload/index.vue'
	export default {
		computed: {
			city_name5() {
				return this.getCityNames(this.city_ids5);
			},

		},
		components: {
			upLoad
		},
		data() {
			return {
				items: [],
				city_ids5: [],
				files: [],
				// 上传的文件路径
				fileUrl: '',
				uploadOptions: {
					url: 'http://deyanggaoxin.fengshiyun.com/api/file/Uploader/1', // 不传入上传地址则返回本地链接
					// url: '', // 不传入上传地址则返回本地链接
				},
				// 文件名
				fileName: '文件名',
				// 当前用户ID:
				userId: ''
			}
		},
		onShow() {
			this.getUser()
			this.getTypeOfCompany()
			this.getTypeCompanyList('365139048618001669')
			// this.getCompanyList()
			// this.getTypeOfCompany()
		},
		watch: {

		},
		methods: {
			// 获取用户信息
			getUser() {
				if (uni.getStorageSync('user')) {
					let userCode = uni.getStorageSync('user')
					// console.log("用户的code", this.userCode)
					this.userId = userCode.userInfo.userId
					this.userName = userCode.userInfo.userAccount
					this.userIcon = userCode.userInfo.headIcon
					this.organizeName = userCode.userInfo.organizeName
					console.log(userCode)
				} else {
					uni.showToast({
						title: '请登录',
						icon: 'none'
					})
					setTimeout(() => {
						uni.reLaunch({
							url: '/pages/login/index'
						})
					})
				}
			},

			// 跳转到自定义分组页面
			toGrouping() {
				uni.navigateTo({
					url: '/pages/official/grouping/grouping'
				})
			},
			// 获取企业分类
			getTypeOfCompany() {
				request({
					url: '/api/system/DictionaryData/365138541614728453',
					method: 'get',
					data: {}
				}).then(res => {
					if (res.code == 200) {
						console.log(res)
						this.items = []
						for (let i = 0; i < res.data.list.length; i++) {
							this.items.push({
								text: res.data.list[i].fullName,
								id: res.data.list[i].id,
								children: []
							})
						}
						console.log(this.items)
					} else if (res.code == 600) {
						uni.showToast({
							title: '请登录',
							icon: 'none'
						})
					}
				})
			},
			// 根据分类获取企业列表
			getTypeCompanyList(id) {
				request({
					url: '/api/permission/organize/list',
					method: 'get',
					data: {
						pageSize: 1000,
						groupId: id
					}
				}).then(res => {
					console.log(res)
					if (res.code == 200) {
						let result = this.items.findIndex(it => it.id === id)
						this.items[result].children = []
						console.log('下标', result)
						let arr = res.data.list.map(it => {
							return {
								...it,
								text: it.fullName,
								id: it.id,
								type: false,
							}
						})
						this.items[result].children = arr
					}
				})
			},
			handleUploadClick() {
				// 使用默认配置则不需要传入第二个参数
				type: ['image', 'video', 'file'];
				this.$refs.XeUpload.upload('file', {});
				// this.$refs.XeUpload.upload('image', {
				//  count: 6,
				//  sizeType: ['original', 'compressed'],
				//  sourceType: ['album'],
				// });
			},
			handleUploadCallback(e) {
				// e.type: ['choose', 'success', 'warning']
				// choose 是options没有传入url,返回临时链接时触发
				// success 是上传成功返回对应的数据时触发
				// warning 上传或者选择文件失败触发
				// ......
				console.log(e)
				this.fileUrl = e.data[0].response.data.url
				this.fileName = e.data[0].name

			},

			onItem(res) {
				console.log(res);
			},
			// select(e){
			// 	console.log("上传文件",e)
			// 	this.files = e.tempFiles
			// 	// console.log(this.files)
			// },
			// success(e){
			// 	console.log('success',this.files)

			// },
			// 发送文件
			send() {
				uni.$emit('idInfo',this.city_ids5)
				uni.navigateBack({
					delta: 1, //返回层数,2则上上页
				})
				// console.log("111")
				// let userInfo = uni.getStorageSync('user')
				// console.log(userInfo)
				// this.userId = userInfo.userInfo.userId
				// console.log(this.userId)
				// console.log('文件路径', this.fileUrl)
				// if (this.city_ids5.length === 0) {
				// 	uni.showToast({
				// 		title: "请选择企业"
				// 	})
				// 	return
				// }
				// for (let i = 0; i < this.city_ids5.length; i++) {
				// 	request({
				// 		url: '/api/Extend/basedocumenthandle',
				// 		method: 'post',
				// 		data: {
				// 			companyId: this.city_ids5[i],
				// 			creatorUserId: this.userId,
				// 			docmentUrl: this.fileUrl,
				// 			docmentName: this.fileName
				// 		},
				// 		header: {
				// 			"Content-Type": "application/json-patch+json"
				// 		}
				// 	}).then(res => {
				// 		console.log(res)
				// 		if (res.code === 200) {
				// 			uni.showToast({
				// 				icon: "success",
				// 				title: "发送成功"
				// 			})
				// 		} else {
				// 			uni.showToast({
				// 				icon: "error",
				// 				title: "发送失败,请重试"
				// 			})
				// 		}
				// 	})
				// }
				// console.log(this.city_ids5)

			},
			getCityNames(ids) {
				if (!ids) return;
				if (ids.length == 0) {
					return '';
				}
				let city_name = [];
				this.items.map(function(item, index) {
					item.children.map(function(city, ind) {
						ids.map(function(id, i) {
							if (id == city.id) {
								city_name.push(city.text);
							}
						})
					})
				})
				return city_name.join(',');
			}
		},
		created() {

		}
	}
</script>

<style scoped lang="scss">
	@import 'official.scss';
</style>