<!-- 编辑文章 -->
<template>
	<view class="content">
		<view class="c-top">
			<view class="" @click="getback()">
				<uni-icons type="left" size="18"></uni-icons>
			</view>
			<view class="c-title">编辑</view>
			<view class=""></view>
		</view>
		<view class="dil">

		 <!-- 填空 -->
		 <view class="tinput">
			 <view class="text1"> <text class="hong1">*</text> 标题</view>
			 <view class="you">
				 <input type="text" placeholder="请输入标题" v-model="newsTitle">
			 </view>
		 </view>
		 <!-- 填空 -->
		<!-- <view class="tinput">
		 			 <view class="text1"> <text class="hong1">*</text> 发布单位</view>
		 			 <view class="you">
		 				 <input type="text" placeholder="请发布单位 "v-model="publishUnit"  >
		 			 </view>
		 </view> -->
		 <view class="tinput">
		 			 <view class="text1"> <text class="hong1">*</text> 封面图</view>
		 			 <view class="you">
		 				<!-- <input type="text" placeholder="请上传封面图片"> -->
		 						<text>请上传封面图片</text>
		 			 </view>
		 </view>
		 	<!-- 上传图片 -->
		 			<u-upload
		 				:fileList="fileList1"
		 				@afterRead="afterRead"
		 				@delete="deletePic"
		 				name="1"
		 				multiple
		 					:previewFullImage="true"
		 				:maxCount="1"
		 				></u-upload>

		 <view class="xinput">
		  			 <view class="text1"> <text class="hong1">*</text> 内容</view>
		  	<!-- 		<u--textarea v-model="newsContent" placeholder="请输入内容" autoHeight ></u--textarea> -->
				<Rboy-editor ref="RboyEditor"  @uploadFile="uploadFile"  :count="6"></Rboy-editor>
		  </view>
		  <view class="xinput" v-if="category ">
		   			<view class="text1"> <text class="hong1">*</text> 分类</view>
		   			<view class="xz">
		   				<view :class="{'xlan':maneizhi == index}" class="kuang" v-for="(item,index) in taplist" :key="index" @click="getzhi2(index,item.value)">
		   					<view class="">{{item.label}}</view>
		   				</view>
		   			</view>
		   </view>

						<view class="tinput">
								 <view class="text1"> 上传视频</view>
								 <view class="you">
								<!-- 	 <input type="text" placeholder="请上传视频"> -->
								<text>请上传视频</text>
								 </view>
						</view>
							<!-- 上传视频 -->
						<!-- <view class="videobox" v-if="videoList != [] ">
							<video :src="videoList[0].url" controls></video>
							<view style="color: crimson;" @click="detevideo()">点击删除</view>
						</view> -->
						<view class="" v-if="videoList == [] ">
						<u-upload
								:fileList="fileList2"
								@afterRead="afterRead1"
								@delete="deletePic1"
								name="2"
								multiple
								:maxCount="1"
								accept="video"
								:previewFullImage="true"
							></u-upload>
						</view>
			<view class="anniu" @click="getnewsadd()">
				<text>修改文章</text>
			</view>
			<view style="width: 100%; height: 60px;"></view>
		</view>


	</view>
</template>

<script>
	import RboyEditor from "@/components/Rboy-editor/Rboy-editor"
	import request from '../../utils/request'
	import config from '@/config'
	import upload from '@/utils/upload.js'
	export default{
		data(){
			return{
				baseUrl :"",

				obj:{},
				fileList1: [],
				fileList2: [],
				videoList:[],
				taplist:[],
				value:[],
				category:'',
				newsCover:'',
				videoUrl:'',
				newsTitle:'',
				publishUnit:'',
				newsContent:'',
				type:'',
				id:1,
				carzhi:0,
				maneizhi:0,
				manei:[
					{text:'行业公告'},
				],
			}
		},
		onLoad(option) {
			this.id = option.id
			this.type = option.type

		},
		mounted() {
			this.gettap()
			this.baseUrl = this.$baseUrl
			this.postedit()
		},
		components:{
		 RboyEditor
		},
		methods:{
			// 上传图片
			async uploadFile(event) {
				let that = this
			    // event 选择的图片
			    for (var item in event.tempFilePaths) {
			        // uploadFileApi  为上传到服务端的接口 count大于1 使用 await
					upload({
						url:'/common/upload',
						filePath: event.tempFilePaths[item],
					}).then((res)=>{
					that.$refs.RboyEditor.editor_insertImage({
					    src: this.baseUrl + res.fileName,
					    alt: "图像",
					})
					})
			    }
				},
			async gettap(){
					//行业公告分类
				let ress = await request({
					url: '/appInspection/news/editType',
					method: 'get',
				})
				this.taplist = ress.data
			},
			async postedit(){
				let that =this
				let res = await request({
					url: '/appInspection/news/getDetail?newsId='+this.id,
					method: 'get',
				})
				this.obj = res
				this.newsTitle = res.data.newsTitle,
				this.newsCover= res.data.newsCover,
				this.publishUnit= res.data.publishUnit
				this.newsContent = res.data.newsContent,
				this.videoUrl = res.data.videoUrl,
				this.category = res.data.category,
				this.$refs.RboyEditor.editor_setContentsNew( res.data.newsContent)
				// this.type = res.type
				this.fileList1.push(
				{
					url:this.baseUrl + res.data.newsCover
				}
				)
				if(res.data.videoUrl != null){
					this.videoList.push({
						 url:this.baseUrl + res.data.videoUrl
					})
				}else{
					this.videoList = ""
				}


			},
				// 删除图片
						deletePic(event) {
							this[`fileList${event.name}`].splice(event.index, 1)
						},
						// 新增图片
						async afterRead(event) {
							// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
							let lists = [].concat(event.file)
							let fileListLen = this[`fileList${event.name}`].length
							lists.map((item) => {
								this[`fileList${event.name}`].push({
									...item,

								})
							})
							for (let i = 0; i < lists.length; i++) {
								const result = await this.uploadFilePromise(lists[i].url)
								let item = this[`fileList${event.name}`][fileListLen]
								this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
									status: 'success',
									message: '',
									url: result
								}))
								fileListLen++
							}
						},
						uploadFilePromise(url) {
							upload({
								url:'/common/upload',
								filePath: url,
							}).then((res)=>{
								this.newsCover =  res.fileName
							})

						},
						deletePic1(event) {
							this[`fileList${event.name}`].splice(event.index, 1)
						},
						// 新增图片
						async afterRead1(event) {
							// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
							let lists = [].concat(event.file)
							let fileListLen = this[`fileList${event.name}`].length
							lists.map((item) => {
								this[`fileList${event.name}`].push({
									...item,

								})
							})
							for (let i = 0; i < lists.length; i++) {
								const result = await this.uploadFilePromise1(lists[i].url)
								let item = this[`fileList${event.name}`][fileListLen]
								this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
									status: 'success',
									message: '',
									url: result
								}))
								fileListLen++
							}
						},
						uploadFilePromise1(url) {
							upload({
								url:'/common/upload',
								filePath: url,
							}).then((res)=>{
								this.videoUrl =  res.fileName
								this.videoList.push({
									 url:this.$baseUrl + this.videoUrl
								})
							})

						},
					//发布按钮
						async getnewsadd(){
							 this.newsContent = await this.$refs.RboyEditor.editor_getcontents()
							 if(this.newsTitle==''||this.newsCover==''||this.newsContent==''){
							 uni.showToast({
							 	title:'必填项不能有空!',
							 	icon:'none'
							 })
							 return
							 }
							let data={
								id:this.id,
								newsTitle:this.newsTitle,
								newsCover:this.newsCover,
								publishUnit:this.publishUnit,
								newsContent:this.newsContent,
								videoUrl:this.videoUrl,
								category:this.category,
								type:this.type,
							}
							let res = await request({
								url: '/appInspection/news/edit',
								method: 'post',
								data:data
							})
							if(res.code == 200){
								uni.showToast({
									title:'修改成功'
								})
							}
							setTimeout(() => {
							  uni.navigateBack()
							}, 1000);

						},

			getback(){
			uni.navigateBack({
					delta:1,
				})
			},
			detevideo(){
				this.fileList2 = ""
				this.videoList = ''
				this.videoUrl = ''
			},
			getzhi(index){
				this.carzhi = index
			},
			getzhi2(index,value){
				this.category =value
				this.maneizhi = index
			},

		}

	}
</script>

<style scoped lang="scss">
	.content{
		width: 100%;
		height: calc(100vh);
		background-color: #F6F6F6;
		box-sizing: border-box;
		padding-top: 45px;
	}

	.dil{
		box-sizing: border-box;
		background-color: #F6F6F6;
		padding: 0px 12px;

	}
	.top-icon{
		margin-bottom: 45px;
	}
	.c-top{
		width: 100%;
		box-sizing: border-box;
		padding: 15px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		background-color: white;
	}
	.c-title{
		font-size: 18px;
		font-weight: bold
	}
	.top{
		box-sizing: border-box;
		padding: 0px 15px;
		width: 100%;
		background-color: white;
	}
	.top-box{
		display: flex;
		justify-content: space-between;
		align-items: center;
		box-sizing: border-box;
		padding: 20px 0px;
	}
	.tb-left{
		height: 100%;
		width: 80%;
		display: flex;
		align-items: center;
	}
	.uicon{
		width: 18px;
		height: 18px;
		border-radius: 4px;
		color: white;
		background: orangered;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 12px;
		font-weight: bold;
		margin-right: 6px;
	}
	.tb-right{
		width: 20px;
		height: 26px;
		image{
			width: 100%;
			height: 100%;
		}
	}
	.text1{
		font-size: 16px;
		font-weight: bold;
		color: #363636;
	}
	.hong1{
		margin-top: 5px;
		font-size: 12px;
		font-weight: 400;
		color: #FF5453;
	}
	.hong2{
		margin-top: 5px;
		font-size: 12px;
		font-weight: 400;

	}
	.tinput{
		width: 100%;
		display: flex;
		background: white;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
		padding: 16px;
		margin-top: 14px;
		margin-bottom: 14px;
	}
	.xinput{
		width: 100%;
		background: white;
		box-sizing: border-box;
		padding: 16px;
		margin-top: 14px;
	}
	.you{
		text-align: right;
	}
	.xz{
		margin-top: 10px;
		display: flex;
		align-items: center;
	}
	.kuang{
		width: 70px;
		height: 23px;
		background: #ECECEC;
		border-radius: 5px;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #666666;
		font-size: 14px;
		margin-right: 15px;
	}
	.xlan{
		background: #CDE7FF !important;
		color: #1D62FF !important;
		border: 1px solid #2A96FE;
	}
	.anniu{
		width: 100%;
		background: linear-gradient(180deg, #3F61C0 0%, #0D2E8D 100%);
		border-radius: 50px ;
		height: 40px;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #542F0E;
		margin-top: 20px;
		color: white;
	}
</style>