postDemand.vue 5.9 KB
<template>
	<view class="page">
		<!-- 反馈内容 -->
		<view class="feedback-data">
			<view class="titleall-box">
				<view class="titleall-left">
					<view class="titleall-left-line"></view>填写产品信息
				</view>
			</view>
			<uni-forms ref="valiForm" :rules="rules" :modelValue="valiFormData" style="width: 96%;margin: 0 auto;">
				<uni-forms-item label="需求标题" required name="title">
					<uni-easyinput v-model="valiFormData.title" placeholder="请输入" />
				</uni-forms-item>
				<uni-forms-item label="需求简介" required name="subTitle">
					<uni-easyinput v-model="valiFormData.subTitle" placeholder="请输入" />
				</uni-forms-item>
				<uni-forms-item label="联系电话" required name="phone">
					<uni-easyinput v-model="valiFormData.phone" placeholder="请输入电话号码" />
				</uni-forms-item>
				<uni-forms-item label="需求详细内容">
					<uni-easyinput type="textarea" v-model="valiFormData.bodyContent" placeholder="请输入详细产品介绍" />
				</uni-forms-item>
			</uni-forms>
			<view class="example-body">
				<uni-file-picker limit="9"  @select="select"
					title="最多选择9张产品图片"></uni-file-picker>
			</view>
			<!-- <view class="voucher-img">
				<view class="list">
					<image src="/static/voucher_bg.png"></image>
				</view>
				<view class="list">
					<image src="/static/img/yf_01.png"></image>
				</view>
				<view class="list">
					<image src="/static/img/yf_01.png"></image>
				</view>
			</view> -->
		</view>
		<!-- 选择反馈类型 -->
		<!-- <view class="feedback-type">
			<view class="feedback-type-left">隶属类别</view>
			<view class="feedback-type-right">
				<view class="title">
					<text>{{TypeArray[TypeIndex]}}</text>
				</view>
				<view class="picker">
					<picker @change="FeedbackTypeCh" :value="TypeIndex" :range="TypeArray">
						<view class="uni-input">{{TypeArray[TypeIndex]}}</view>
					</picker>
				</view>
				<view class="more">
					<image src="../../static/down1.png"></image>
				</view>
			</view>
		</view> -->
		<!-- 提交 -->
		<view class="submit-btn" @click="submitContent('valiForm')">
			<text>发布</text>
		</view>
	</view>
</template>

<script>
	import {
		data
	} from '../../uview-ui/libs/mixin/mixin';
	import request from '@/utils/request.js'
	export default {
		data() {
			return {
				userCode:{},
				// 选择图片路径
				filePath:[],
				uploadPath:[],
				imageValue: [],
				TypeArray: ['资讯', '意见建议', '投诉', '表扬'],
				TypeIndex: 0,
				type: "",
				lastModifyUserId: '',
				// 校验表单数据
				valiFormData: {
					title: '',
					bodyContent: '',
					subTitle:'',
					phone:''
				},
				creater: '',
				rules: {
					title: {
						rules: [{
							required: true,
							errorMessage: '不能为空'
						}]
					},
					subTitle: {
						rules: [{
							required: true,
							errorMessage: '不能为空'
						}]
					},
					phone: {
						rules: [{
							required: true,
							errorMessage: '不能为空'
						}]
					},
				},
				baseUrl:"http://deyanggaoxin.fengshiyun.com"
			};

		},
		onShow() {
			this.getType()
		},
		onLoad() {
			this.getUser()
			let user = uni.getStorageSync('user')
			this.lastModifyUserId = user.userInfo.userId

		},
		methods: {
			// 获取上传状态
			select(e) {
				console.log('选择文件:', e)
				this.filePath = e.tempFilePaths
			},
			// 获取用户信息
			getUser() {
				if (uni.getStorageSync('user')) {
					this.userCode = uni.getStorageSync('user').userInfo
					// this.userInfo = this.userCode.userAccount
					// this.userInfo = '123456'
					console.log('用户已登录!',this.userCode)
				} else {
					uni.showToast({
						title: '请登录',
						icon: 'none'
					})
					setTimeout(() => {
						uni.reLaunch({
							url: '/pages/login/index'
						})
					})
				}
			},
			// 提交内容
			submitContent(ref) {
				this.$refs[ref].validate().then(res => {
					console.log('success', res);
					uni.showToast({
						title: `校验通过`
					})
					
					this.uploadPath = []
					for(let i=0;i<this.filePath.length;i++){
						uni.uploadFile({
							url:"http://deyanggaoxin.fengshiyun.com/api/file/Uploader/1",
							filePath:this.filePath[i],
							name:'file',
							success: (res) => {
								console.log(JSON.parse(res.data))
								let data = JSON.parse(res.data).data
								console.log(data)
								this.uploadPath.push(data)
							}
						})
					}
					console.log('需要',this.uploadPath)
					let stageName = this.TypeArray[this.TypeIndex]
					let that = this
					setTimeout(function(){
						console.log('需要',that.uploadPath)
						if(that.uploadPath){
							console.log('jinru')
							request({
								url:'/api/Extend/demandrelease',
								method:'post',
								// header:{
								// 	"Content-Type": "application/json-patch+json'"
								// },
								data:{
									title:that.valiFormData.title,
									content:that.valiFormData.bodyContent,
									creatorUserId:that.userCode.userId,
									stageName:stageName,
									stage:stageName,
									comanyId:that.userCode.organizeId,
									comapny:that.userCode.organizeName,
									images:that.uploadPath,
									subTitle:that.valiFormData.subTitle,
									phone:that.valiFormData.phone
								}
							}).then(res=>{
								if(res.code === 200){
									console.log("上传后的值",res)
									uni.showToast({
										icon:"success",
										title:"发布成功"
									}).then(()=>{
										uni.navigateTo({
											url:"/pages/demand/demand"
										})
									})
								}
							})
						}else{
							uni.showToast({
								icon:"error",
								title:"请选择图片"
							})
						}
					},2000)
				}).catch(err => {
					console.log('err', err);
				})	
			},
			/**
			 * 反馈类型
			 * @param {Object} 
			 */
			FeedbackTypeCh(val) {
				console.log(val);
				this.TypeIndex = val.detail.value;
			}
		}
	}
</script>

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