{extend name="foxcms_content" /}

{block name="css"}
{/block}

{block name="body"}
<input name="bcid" value="{$bcid}" type="hidden" />
<input name="id" value="{$id}" type="hidden" />
<div class="foxcms-content-inner">
	<!-- page content -->
	<div class="company-news-add-content">
		<div class="foxui-tabs foxui-type-line" id="contentTabs">
			<div class="foxui-tabs-header">
				<div class="foxui-tabs-item is-active">基本</div>
				<div class="foxui-tabs-item">参数</div>
				<div class="foxui-tabs-item">详情</div>
			</div>
			<div class="foxui-tabs-content">
				<div class="foxui-tabs-pane">
					<div class="section">
						<div class="section-title">基本信息</div>
						<div class="section-main">
							<div class="display-flex">
								<div class="section-main-item">
									<div class="foxui-input-group foxui-align-items-start">
										<div class="input-label">
											<label class="foxui-required">文章标题:</label>
										</div>
										<div class="input-box">
											<div class="foxui-textarea">
												<textarea autocomplete="off" rows="2" maxlength="120" placeholder="" name="title">{$product.title}</textarea>
												<span class="foxui-textarea-count">0/120</span>
											</div>
										</div>
									</div>
								</div>
								<div class="section-main-item second-item">
									<div class="foxui-input-group foxui-align-items-start">
										<div class="input-label">
											<label>简略标题:</label>
										</div>
										<div class="input-box">
											<div class="foxui-textarea">
												<textarea autocomplete="off" rows="2" maxlength="60" placeholder="" name="brief_title">{$product.brief_title}</textarea>
												<span class="foxui-textarea-count">0/60</span>
											</div>
										</div>
									</div>
								</div>
							</div>
							<div class="section-main-item">
								<div class="foxui-input-group foxui-align-items-start">
									<div class="input-label">
										<label>文章属性:</label>
									</div>
									<div class="article-field">
										{foreach $articleFieldList as $key=>$vo }
										<div class="foxui-checkbox {if $vo.state == 1} is-checked {/if}">
											<span class="foxui-checkbox-input">
												<i class="foxui-checkbox-icon"></i>
												<input type="checkbox" value="{$vo.tag}"/>
											</span>
											<span class="foxui-checkbox-label">{$vo.text}({$vo.tag})</span>
										</div>
										{/foreach}
									</div>
								</div>
							</div>
							<div class="section-main-item">
								<div class="foxui-input-group">
									<div class="input-label">
										<label class="foxui-required">所属栏目:</label>
									</div>
									<div class="input-box">
										<div class="foxui-select">
											<div class="foxui-select-handle foxui-select-icon">
												<input class="foxui-select-input foxui-size-small" readonly="readonly" placeholder="请选择所属栏目" data-id="{$product.column_id}" value="{$product.column}" name="column" />
												<i class="foxui-icon-close-circle" style="display: none"></i>
											</div>
											<div class="foxui-select-menu">
												<ul class="foxui-select-slide">
													{foreach $columns as $key=>$vo }
													<li class="foxui-select-item" data-id="{$vo.id}">{$vo.title}</li>
													{/foreach}
												</ul>
											</div>
										</div>
									</div>
								</div>
							</div>

							<div class="section-main-item">
								<div class="foxui-input-group">
									<div class="input-label">
										<label>文档标签:</label>
									</div>
									<div class="input-box">
										<div class="foxui-select foxui-select-settable">
											<div class="foxui-select-handle">
												<input class="foxui-select-input foxui-size-small" placeholder="多个标签之间以逗号隔开" value="{$product.tags}" name="tags"/>
											</div>
											<div class="foxui-select-menu">
												<ul class="foxui-select-slide member-list">
													{foreach tagList as $key=>$vo }
													<li class="foxui-select-item multiple" data-id="{$vo.name}">{$vo.name}</li>
													{/foreach}
												</ul>
											</div>
										</div>
									</div>
								</div>
							</div>

							<div class="section-main-item">
								<div class="foxui-input-group foxui-align-items-start">
									<div class="input-label">
										<label>文章缩略图:</label>
									</div>
									<div class="input-box">
										<div class="foxui-images foxui-images-fluid">
											<div class="foxui-images-card breviary_pic">
												<ul class="foxui-images-list">
													{if $product->breviary_pic_id != "" && $product.img_url != ""}
													<li class="foxui-images-item foxui-animate-fadeInDown">
														<div class="content">
															<img data-id="{$product->breviary_pic_id}" src="{$product.img_url}"/>
															<span class="replace">替换</span>
															<i class="foxui-icon-cuowu-f delete"></i>
														</div>
													</li>
													{/if}
													<div class="foxui-images-handle">
														<div class="foxui-images-handle-inner">
															<i class="foxui-icon-jiahao-o"></i>
															<span class="text">添加图片</span>
														</div>
													</div>
												</ul>
											</div>
										</div>
									</div>
								</div>
								<p class="input-box-info">图片尺寸建议根据前端网站模板的尺寸制作</p>
							</div>

							<div class="section-main-item">
								<div class="foxui-input-group foxui-align-items-start">
									<div class="input-label">
										<label>图片集:</label>
									</div>
									<div class="input-box">
										<div class="foxui-images foxui-drag" data-count="-1">
											<div class="foxui-images-card foxui-drag-container picset">
												<ul class="foxui-images-list">
													{foreach $product->pic_set as $key=>$vo }
													<li class="foxui-images-item foxui-drag-item foxui-animate-fadeInDown">
														<div class="content">
															<img data-id="{$vo.id}" src="{$vo.url}"/>
															<div class="foxui-drag-handle"></div>
															<span class="replace">替换</span>
															<i class="foxui-icon-cuowu-f delete"></i>
														</div>
													</li>
													{/foreach}
													<div class="foxui-images-handle">
														<div class="foxui-images-handle-inner">
															<i class="foxui-icon-jiahao-o"></i>
															<span class="text">添加图片</span>
														</div>
													</div>
												</ul>
											</div>
										</div>
									</div>
								</div>
								<p class="input-box-info">建议尺寸:800*800像素,可以拖拽图片调整顺序</p>
							</div>



							<div class="section-main-item">
								<div class="foxui-input-group">
									<div class="input-label">
										<label>SEO关键词:</label>
									</div>
									<div class="input-box">
										<input class="foxui-size-small" placeholder="" value="{$product.keywords}" name="keywords"/>
									</div>
								</div>
								<p class="input-box-info">一般不超过100个字符,多个关键词请用英文逗号隔开,建议3到5个关键词</p>
							</div>
							<div class="section-main-item">
								<div class="foxui-input-group foxui-align-items-start">
									<div class="input-label">
										<label>SEO描述:</label>
									</div>
									<div class="input-box">
										<div class="foxui-textarea">
											<textarea autocomplete="off" rows="2" maxlength="200" placeholder="" name="description">{$product.description}</textarea>
											<span class="foxui-textarea-count">0/200</span>
										</div>
									</div>
								</div>
								<p class="input-box-info">描述一般不超过200个字符,不填写时系统自动提取正文的前200个字符</p>
							</div>
							<div class="display-flex">
								<div class="section-main-item">
									<div class="foxui-input-group">
										<div class="input-label">
											<label>文章来源:</label>
										</div>
										<div class="input-box">
											<div class="foxui-select foxui-select-settable" data-title="文章来源" id="article_source">
												<div class="foxui-select-handle">
													<input class="foxui-select-input foxui-size-small" placeholder="" value="{$product.article_source}" />
													<button class="foxui-select-set foxui-size-small foxui-plain">设置</button>
												</div>
												<div class="foxui-select-menu">
													<ul class="foxui-select-slide">
														{foreach $articleSources as $key=>$vo }
														<li class="foxui-select-item" data-id="{$articleSourceDictCode}">{$vo}</li>
														{/foreach}
													</ul>
												</div>
											</div>
										</div>
									</div>
								</div>
								<div class="section-main-item second-item">
									<div class="foxui-input-group">
										<div class="input-label">
											<label>作者:</label>
										</div>
										<div class="input-box">
											<div class="foxui-select foxui-select-settable" data-title="作者" id="author">
												<div class="foxui-select-handle">
													<input class="foxui-select-input foxui-size-small" placeholder="" value="{$product.author}" />
													<button class="foxui-select-set foxui-size-small foxui-plain">设置</button>
												</div>
												<div class="foxui-select-menu">
													<ul class="foxui-select-slide">
														{foreach $authors as $key=>$vo }
														<li class="foxui-select-item" data-id="{$authorDictCode}">{$vo}</li>
														{/foreach}
													</ul>
												</div>
											</div>
										</div>
									</div>
								</div>
							</div>
							<div class="section-main-item">
								<div class="foxui-input-group">
									<div class="input-label">
										<label>发布时间:</label>
									</div>
									<div class="input-box">
										<div class="foxui-picker foxui-datetime-picker">
											<div class="foxui-picker-handle foxui-input-prefix">
												<i class="foxui-icon-gongzuo-o foxui-prefix-icon"></i>
												<input class="foxui-size-small" readonly="readonly" placeholder="请选择时间" value="{$product.release_time|date='Y-m-d H:i'}" name="release_time"/>
											</div>
										</div>
									</div>
								</div>
							</div>
							<div class="section-main-item">
								<div class="foxui-input-group">
									<div class="input-label">
										<label>浏览量:</label>
									</div>
									<div class="input-box">
										<input class="foxui-size-small" placeholder="" required="" value="{$product.click}" name="click"/>
									</div>
								</div>
							</div>

							<!--动态标签start-->
							<div class="field">
								<?php echo modelFieldTag('product', $product['id']); ?>
							</div>
							<!--动态标签end-->

						</div>
					</div>
				</div>

				<div class="foxui-tabs-pane">
					<div class="section">
						<div class="section-title">参数信息</div>
						<div class="section-main-item">
							<div class="foxui-input-group foxui-align-items-start">
								<div class="input-label">
									<label>参数编辑:</label>
								</div>
								<div>
									<div class="foxui-radio-group param-edit" onclick="clickParamEdit(this)">
										<div class="foxui-radio is-checked">
											<span class="foxui-radio-input">
												<i class="foxui-radio-icon"></i>
												<input type="radio" value="1" checked="checked" />
											</span>
											<span class="foxui-radio-label">开启</span>
										</div>
										<div class="foxui-radio">
											<span class="foxui-radio-input">
												<i class="foxui-radio-icon"></i>
												<input type="radio" value="0" />
											</span>
											<span class="foxui-radio-label">关闭</span>
										</div>
									</div>
								</div>
							</div>
						</div>
						<div class="section-main-item">
							<div class="param-box">
								<div class="left">
									<div class="head">
										<h3>参数预设管理</h3>
										<button class="foxui-size-medium color-primary" id="addParamGroup">
											<i class="foxui-icon-jiahao-o"></i>
											<span>添加</span>
										</button>
									</div>
									<ul class="foxui-drag foxui-drag-container" id="paramGroupTable">

										{foreach productAttrList as $key=>$vo }
										<li class="foxui-drag-item" data-id="{$vo.id}">
											<div class="foxui-drag-content">
												<div>
													<span class="foxui-drag-handle foxui-icon-liebiao-o"></span>
													<span class="parts-name">{$vo.name}</span>
												</div>
												<div class="btn-box">
													<button class="foxui-text-primary foxui-size-mini append" onclick="initAttrParams(this)">
														<i class="foxui-icon-jiahao-o"></i>
													</button>
													<button class="foxui-text-primary foxui-size-mini edit" onclick="paramGroupEdit(event)">
														<i class="foxui-icon-bianji-o"></i>
													</button>
													<button class="foxui-text-primary foxui-size-mini delete" onclick="paramGroupDelete(event)">
														<i class="foxui-icon-shanchu-o"></i>
													</button>
												</div>
											</div>
										</li>
										{/foreach}

									</ul>
								</div>
								<div class="right">
									<div class="param-table-box">
										<div class="foxui-table foxui-table-border-bottom" id="paramTable">
											<ul class="foxui-table-thead">
												<li class="foxui-table-tr">
													<div class="foxui-table-th"></div>
													<div class="foxui-table-th">参数名称</div>
													<div class="foxui-table-th">参数值</div>
													<div class="foxui-table-th">操作</div>
												</li>
											</ul>

											<ul class="foxui-table-tbody foxui-drag foxui-drag-container">

												{foreach $productParamList as $key=>$vo }

												{if $vo.type_id == 13}
												<li class="foxui-table-tr foxui-drag-item" data-id="{$vo.attr_param_id}" id="{$vo.id}">
													<div class="foxui-table-td">
														<span class="foxui-drag-handle foxui-icon-liebiao-o"></span>
													</div>
													<div class="foxui-table-td param-title">
														<input class="foxui-size-small" value="{$vo.name}">
													</div>
													<div class="foxui-table-td param-val">

														<div class="foxui-select">
															<div class="foxui-select-handle foxui-select-icon">
																<input class="foxui-select-input foxui-size-small" readonly="readonly" value="{$vo.dfvalue}">
															</div>
															<div class="foxui-select-menu">
																<ul class="foxui-select-slide">
																	{foreach $vo.selvalues as $keyy=>$voo }
																	<li class="foxui-select-item" data-id="{$keyy}">{$voo}</li>
																	{/foreach}
																</ul>
															</div>
														</div>

													</div>
													<div class="foxui-table-td">
														<button class="foxui-text-primary foxui-size-small delete">删除</button>
													</div>
												</li>

												{else/}
												<li class="foxui-table-tr foxui-drag-item" data-id="{$vo.attr_param_id}" style="" id="{$vo.id}">
													<div class="foxui-table-td">
														<span class="foxui-drag-handle foxui-icon-liebiao-o"></span>
													</div>
													<div class="foxui-table-td param-title">
														<input class="foxui-size-small" value="{$vo.name}">
													</div>
													<div class="foxui-table-td param-val">
														<input class="foxui-size-small" value="{$vo.dfvalue}">
													</div>
													<div class="foxui-table-td">
														<button class="foxui-text-primary foxui-size-small delete">删除</button>
													</div>
												</li>
												{/if}

												{/foreach}

											</ul>

										</div>
									</div>
									<div class="add-param" id="addParam">
										<button class="foxui-text-primary">
											<i class="foxui-icon-jiahao-o"></i>
											<span>添加参数</span>
										</button>
									</div>
								</div>
							</div>
						</div>
					</div>
				</div>

				<div class="foxui-tabs-pane">
					<div class="section">
						<div class="section-title">内容详情</div>
						<div class="section-main-item">
							<div class="foxui-input-group foxui-align-items-start">
								<div class="input-label">
									<label>状态:</label>
								</div>
								<div>
									<div class="foxui-checkbox {if $product->statusDown}is-checked{/if}">
										<span class="foxui-checkbox-input">
											<i class="foxui-checkbox-icon"></i>
											<input type="checkbox" value="" checked="checked" name="statusDown"/>
										</span>
										<span class="foxui-checkbox-label">下载远程图片</span>
									</div>
									<div class="foxui-checkbox {if $product->statusDel}is-checked{/if}">
										<span class="foxui-checkbox-input">
											<i class="foxui-checkbox-icon"></i>
											<input type="checkbox" value="" name="statusDel"/>
										</span>
										<span class="foxui-checkbox-label">删除非站内链接</span>
									</div>
								</div>
							</div>
						</div>
						<div class="section-main-item">
							<div class="foxui-input-group foxui-align-items-start">
								<div class="input-label">
									<label>内容详情:</label>
								</div>
								<div class="block-box rich-text">
									<!-- 富文本 -->
									<textarea class="richText" id="initRT">{$product.content}</textarea>
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
</div>

<div class="foxcms-content-footer">
	<button class="is-long foxui-size-small foxui-solid-primary next-btn">下一步</button>
	<button class="is-long foxui-size-small foxui-plain-primary save-btn">保存</button>
</div>

{include file="footed-copy"/}
{/block}

{block name="js"}
<script>
	/**
	 *
	 * 拼装参数预设管理
	 *
	 */
	function pinAttrParam(){
		$.ajax({
			type: "GET",
			url: "{:url('Product/getAttrParamList')}" ,
			dataType: "json",
			async:false,
			success: function (res) {
				if (res.code == 1 && res.data) {
					let content = "";
					$.each(res.data, function(i, item){
						content+=`<li class="foxui-drag-item" data-id="`+item.id+`">`;
						content+=`<div class="foxui-drag-content">
                            <div>
                                <span class="foxui-drag-handle foxui-icon-liebiao-o"></span>
                                <span class="parts-name">`+item.name+`</span>
                            </div>
                            <div class="btn-box">
                            	<button  class="foxui-text-primary foxui-size-mini append" onclick="initAttrParams(this)">
                                    <i class="foxui-icon-jiahao-o"></i>
                                </button>
                                <button  class="foxui-text-primary foxui-size-mini edit" onclick="paramGroupEdit(event)">
                                    <i class="foxui-icon-bianji-o"></i>
                                </button>
                                <button  class="foxui-text-primary foxui-size-mini delete" onclick="paramGroupDelete(event)">
                                    <i class="foxui-icon-shanchu-o"></i>
                                </button>
                            </div>
                        </div>
                    </li>`;
					});
					$("#paramGroupTable").html(content);
				}
			}, error: function (res) {
			}
		});

	}

	/**
	 * 获取预设产品参数
	 * @param attrParamId
	 */
	function getAttrParams(attrParamId){
		let data = {"attrParamId": attrParamId};
		$.ajax({
			type: "post",
			url: "{:url('Product/getAttrParams')}" ,
			dataType: "json",
			data: data,
			async:false,
			success: function (res) {
				if (res.code == 1 && res.data) {
					addParamInit(res.data);
					$("#paramGroupTable li").removeClass('is-active');
					$("#paramGroupTable").find('li[data-id=' + attrParamId+']').addClass("is-active");

				}
			}, error: function (res) {
			}
		});
	}

	/**
	 * @description: 绑定删除参数组
	 * @param {*}
	 * @return {*}
	 * @Date: 2022-01-14 16:24:35
	 */
	function paramGroupDelete(event){
		event.stopPropagation();//阻止冒泡
		const $item = $(event.target).closest('.foxui-drag-item');
		const id = $item.attr('data-id');
		const title = $item.find('.parts-name').text();
		foxui.dialog({
			title: '删除',
			content: `您确定要删除 ${title} 所有参数吗`,
			cancelText: '取消',
			confirmText: '删除',
			buttonType: 'danger',
			confirm: function (callback) {
				// 添加异步请求
				$item.slideUp('fast', function () {
					$(this).remove();
				});
				let data = {"attrParamId": id};
				ajaxR("{:url('Product/attrParamDelete')}","post",data,{},function (res) {
					if (res.code == 1) {
						pinAttrParam();//重新刷新产品参数
					}else{
					}
				}, function (res) {
				})
				callback();
			},
			cancel: function () {},
		});
	}

	/**
	 * @description: 修改/新增参数组(id存在是修改,否则是新增) -> 左侧
	 * @param {*} id
	 * @param {*} title
	 * @return {*}
	 * @Date: 2022-01-14 16:58:54
	 */
	function modifyParamGroup(id, title) {
		let dataList = [{}];
		if (id) {
			// 如果id存在,须先异步请求数据
			dataList = [
				// { id: 1, title: '品牌', type: '下拉选择', typeId: 13, value: '' },
				// { id: 2, title: '产地', type: '默认输入', typeId: 11, value: '' },
				// { id: 3, title: '颜色', type: '手动输入', typeId: 12 },
				// { id: 4, title: '保质期', type: '手动输入', typeId: 12 },
				// { id: 5, title: '厚薄', type: '手动输入', typeId: 12 },
				// { id: 6, title: '生产企业', type: '默认输入', typeId: 13, value: '贵州黔狐科技股份有限公司' },
			];

			let data = {"attrParamId": id};
			$.ajax({
				type: "post",
				url: "{:url('Product/attrParamEdit')}" ,
				dataType: "json",
				data: data,
				async:false,
				success: function (res) {
					if (res.code == 1 && res.data) {
						dataList = res.data;
					}
				}, error: function (res) {
				}
			});

		}
		foxui.dialog({
			title: `${id ? '编辑' : '新增'}参数预设`,
			content: _modifyParamGroupHtml(title, dataList),
			cancelText: '取消',
			confirmText: '确定',
			buttonSize: 'small',
			buttonAlign: 'center',
			width: '1130px',
			longButton: true,
			border: true,
			marginTop: '10vh',
			confirm: function (callback) {
				callback();
				// 摸拟异步提交
				foxui.loading({
					text: '加载中...',
				});
				let ppb = $(".foxui-dialog .param-preset-box");
				let attrName = $(ppb).find('input[name="attrName"]').val();
				let attrParamArr = [];
				let fttl = $(ppb).find('.foxui-table-tbody').children('li');
				$(fttl).each(function (){
					let pId = $(this).attr("data-id");
					let paramName = $(this).find('input[name="paramName"]').val();
					let dataId = $(this).find('input[name="type"]').attr('data-id');
					let type = "";//参数类型
					let dfvalue = "";//默认值
					let type_desc = $(this).find('input[name="type"]').val();//参数类型描述
					if(dataId == "11"){
						//默认输入
						type = "varchar(255)";
						dfvalue = $(this).find('input[name="dfvalue"]').val();
					}else if(dataId == "12"){
						//手动输入
						type = "varchar(255)";
					}else if(dataId == "13"){
						//下拉选择
						type = "text";
						dfvalue = $(this).find('textarea[name="dfvalue"]').val();

					}
					if(pId == "undefined"){
						attrParamArr.push({'name': paramName, 'type': type, 'dfvalue': dfvalue,'type_desc': type_desc, 'type_id': dataId});
					}else{
						attrParamArr.push({'name': paramName, 'type': type, 'dfvalue': dfvalue,'type_desc': type_desc, 'type_id': dataId, 'id': pId});
					}
				})
				let data = {"id": id , "attrName": attrName,  "attrParamArr": attrParamArr};
				ajaxR("{:url('Product/addAttrParam')}","post",data,{},function (res) {
					if (res.code == 1 && res.data) {
						let attrParams = sessionStorage.getItem("attrParams");
						if(!(attrParams == undefined || attrParams == "")){
							attrParams += res.data + ",";
						}else{
							attrParams = res.data + ",";
						}
						sessionStorage.setItem("attrParams", attrParams);
						foxui.message({
							text: res.msg,
							type: 'success',
						});
						pinAttrParam();//拼装参数预设管理
					}else{
						foxui.message({
							text: res.msg,
							type: 'error',
						});
					}
					foxui.closeLoading();
				}, function (res) {
					foxui.closeLoading();
					foxui.message({
						text: res.msg,
						type: 'error',
					});
				})
			},
		});
	}
</script>
<script>
	let $nextBtn = $('.foxcms-content-footer .next-btn'),
			$tabsItem = $('#contentTabs .foxui-tabs-item'),
			tabsLen = $tabsItem.length;

	foxui.tabs.$on(getIndex);
	function getIndex(data) {
		const { index, id } = data;
		if(id === 'contentTabs'){
			if (index === tabsLen - 1) {
				$nextBtn.hide();
			} else {
				$nextBtn.show();
			}
		}
	}

	$nextBtn.click(function () {
		let index = $('#contentTabs .foxui-tabs-item.is-active').index();
		$tabsItem.eq(index + 1).click();
	});

	//设置回调
	foxui.select.$off();
	foxui.select.$on(getSetData);
	function getSetData(data) {
		foxui.loading();
		$.ajax({
			type: "POST",
			url: "{:url('saveDict')}",
			dataType: "json",
			async:false,
			data:data,
			success: (res)=> {
				if (res.code == 1 && res.data) {
					let id = data.id;
					let liHtml = [];
					let dataList = res.data.dataList;
					if(dataList.length > 0){
						dataList.forEach(item => {
							liHtml.push(`<li class="foxui-select-item" data-id="${res.data.id}">${item}</li>`);
						});
					}
					$('#' + id).find(".foxui-select-slide").empty().append(liHtml.join(""));
				}else{
					foxui.message({
						type:"danger",
						text:res.msg
					})
				}
				foxui.closeLoading();
			},
			error: function(res) {
				foxui.message({
					type:"danger",
					text:res.msg
				})
				foxui.closeLoading();
			}
		});
	}
</script>

<script>

	//保存
	$('.save-btn').click(function() {

		let bcid = $("input[name='bcid']").val();
		//状态
		let status = $('.param-edit .foxui-radio.is-checked input').val();
		//获取参数
		let productParamArr = [];//产品参数数组
		if(status == 1){
			let lis = $('#paramTable .foxui-table-tbody').children('li');

			$(lis).each(function (index){
				let pid = $(this).attr("data-id");
				let id = $(this).attr("id");
				let paramTitle = $(this).find(".param-title .foxui-size-small").val();
				let valObj = $(this).find(".param-val");
				let paramVal = $(valObj).find("input").val();
				productParamArr.push({'id':id, 'name': paramTitle, 'dfvalue': paramVal, 'pid': pid, 'is_select': $(valObj).find('.foxui-select').length, "sort":index});
			});
		}

		let id = $("input[name='id']").val();
		//文章标题
		let title = $('textarea[name="title"]').val();
		//简略标题
		let brief_title = $('textarea[name="brief_title"]').val();

		//文章属性
		let articleField = "";
		$('.article-field .foxui-checkbox').each(function (){
			let isCheck =  $(this).is('.is-checked');
			if(isCheck){
				let af = $(this).find('input[type="checkbox"]').val();
				articleField += af + ",";
			}
		});
		if(articleField.length> 0){
			articleField = articleField.substr(0, articleField.length -1);
		}

		//所属栏目
		let columnId = $('input[name="column"]').attr('data-id');
		//栏目名称
		let column = $('input[name="column"]').val();
		//文章缩率图
		let breviary_pic_id = $('.breviary_pic img').attr('data-id');

		//图片集
		let picset_ids = "";
		$('.picset img').each(function (){
			picset_ids += $(this).attr('data-id') + ",";
		});

		//SEO关键词
		let keywords = $('input[name="keywords"]').val();
		//SEO描述
		let description = $('textarea[name="description"]').val();
		//文章来源
		let article_source = $('#article_source input').val();
		//作者
		let author = $('#author input').val();
		//发布时间
		let release_time = $('input[name="release_time"]').val();
		//预览量
		let click = $('input[name="click"]').val();
		//下载远程图片
		let statusDown = $('input[name="statusDown"]').closest('.foxui-checkbox').is('.is-checked') ? 'down' : '';
		//删除非站内链接
		let statusDel = $('input[name="statusDel"]').closest('.foxui-checkbox').is('.is-checked') ? 'del' : '';
		//内容
		let content = getRTtContent("initRT");
		//文档标签
		let tags = $('input[name="tags"]').val();
		//查询参数预设管理
		let product_attr_ids = "";
		$('#paramGroupTable li').each(function (){
			product_attr_ids += $(this).attr('data-id') + ",";
		});

		let datas = {
			'id':id,
			'title': title,
			"brief_title": brief_title,
			"article_field": articleField,
			"column_id": columnId,
			"column": column,
			"breviary_pic_id": breviary_pic_id||"",
			"keywords": keywords,
			"description": description,
			"article_source": article_source,
			"author": author,
			"team_status": statusDown + "," + statusDel,
			"content": content,
			"release_time":release_time,
			"picset_ids":picset_ids,
			"click":click,
			"status":status,
			"productParams":productParamArr,
			tags,
			product_attr_ids
		};

		//拉取模型属性
		let feildUrl = "{:url('Product/getField')}?model=product";
		let saveData = getField($(".field"), feildUrl);
		let curData = Object.assign(datas, saveData);
		foxui.dialog({
			title: '保存',
			content: '您确定要保存吗',
			cancelText: '取消',
			confirmText: '保存',
			confirm: function(callback) {
				foxui.loading({text:"发布中"});
				ajaxR("{:url('edit')}","post",curData,{},function(res) {
                        if (res.code == 1) {
                            foxui.message({
                                type: 'success',
                                text: res.msg
                            })
                            if(res.data != ""){
                                let params = res.data;
                                if(params.oneId && params.oneId == "key3"){
                                    addDataBuildDetail(params);
                                    singleAllSite(params);
                                }
                                foxui.closeLoading();
                            }
                            window.location.href=document.referrer;//返回并且刷新
                        } else {
                            foxui.message({
                                type: 'warning',
                                text: res.msg
                            })
                        }
                        foxui.closeLoading();
                    },
                    function(res) {
                        foxui.message({
                            type: 'warning',
                            text: res.responseJSON.msg
                        })
                        foxui.closeLoading();
                    })
				callback();
			},
			cancel: function() {
				foxui.message({
					type: 'warning',
					text: res.msg
				})
			},
		});

	})
</script>

<script>
	/**
	 * 参数编辑点击
	 * @param event
	 */
	function clickParamEdit(obj){
		$(".param-box").toggle();
	}

	/**
	 * 拼接产品参数数据
	 * @param attrParamId
	 */
	function initAttrParams(obj){
		let liItem = $(obj).closest('.foxui-drag-item');

		let data_append = $(obj).attr("data-append");//追加状态
		let attrParamId = $(liItem).attr('data-id');
		if(data_append == "append"){
			foxui.dialog({
				title: '参数继续追加',
				content: `您确定要继续追加参数吗`,
				cancelText: '取消',
				confirmText: '确定',
				buttonType: 'danger',
				confirm: function (callback) {
					getAttrParams(attrParamId);
					callback();
				},
				cancel: function () {},
			});
		}else{
			$(obj).attr("data-append", "append");
			getAttrParams(attrParamId);
		}

	}

	/**
	 * @description: 绑定编辑参数组
	 * @param {*}
	 * @return {*}
	 * @Date: 2022-01-14 16:50:22
	 */
	function paramGroupEdit(event){
		event.stopPropagation();//阻止冒泡
		const id = $(event.target).closest('.foxui-drag-item').attr('data-id');
		const title = $(event.target).closest('.foxui-drag-content').find('.parts-name').text();
		modifyParamGroup(id, title);
	}

	/**
	 * @description: 参数表格初始化 或 整体更新
	 * @param {*} dataList
	 * @return {*}
	 * @Date: 2022-01-14 14:48:16
	 */
	function addParamInit(dataList) {
		$('#paramTable .foxui-table-tbody').append(_addParamHtml(dataList));
	}

	/**
	 * @description: 绑定删除参数 -> 右侧
	 * @param {*}
	 * @return {*}
	 * @Date: 2022-01-14 15:26:42
	 */
	$(document).on('click', '#paramTable button.delete', function () {
		const $item = $(this).closest('.foxui-table-tr'),
				attr_param_id = $item.attr('data-id'),
				id = $item.attr('id'),
				title = $item.find('.param-title input').val();

		if(id == undefined || id == ""){
			$item.slideUp('fast', function () {
				$(this).remove();
			});
		}else{
			foxui.dialog({
				title: '删除',
				content: `您确定要删除 ${title} 参数吗`,
				confirmText: '删除',
				cancelText: '取消',
				buttonType: 'danger',
				confirm: function (callback) {
					// 添加异步请求
					let data = {"paramId": id};
					$.ajax({
						type: "post",
						url: "{:url('Product/paramDelete')}" ,
						dataType: "json",
						data: data,
						async:false,
						success: function (res) {
							if (res.code == 1) {
								foxui.message({
									text: '删除成功',
									type: 'success',
								});
								$item.slideUp('fast', function () {
									$(this).remove();
								});
							}else{
								foxui.message({
									text: res.msg,
									type: 'error',
								});
							}
						}, error: function (res) {
							foxui.message({
								text: res.msg,
								type: 'error',
							});
						}
					});
					callback();
				},
			});

		}
	});

	/**
	 * @description: 新增参数 -> 右侧
	 * @param {*}
	 * @return {*}
	 * @Date: 2022-01-14 15:18:53
	 */
	$(document).on('click', '#addParam button', function () {
		const $tbody = $('#paramTable .foxui-table-tbody');
		$tbody.append(_addParamHtml([{}]));
		$tbody.find('.foxui-table-tr:last-child').css('display', 'none').slideDown('fast');
	});

	/**
	 * @description: 绑定新增参数组 -> 左侧
	 * @param {*}
	 * @return {*}
	 * @Date: 2022-01-14 16:37:36
	 */
	$(document).on('click', '#addParamGroup', function () {
		modifyParamGroup();
	});

	/**
	 * @description: 绑定编辑参数组 -> 左侧
	 * @param {*}
	 * @return {*}
	 * @Date: 2022-01-14 16:50:22
	 */
	$(document).on('click', '#paramGroupTable .edit', function () {
		const id = $(this).closest('.foxui-drag-item').attr('data-id');
		const title = $(this).closest('.foxui-drag-content').find('.parts-name').text();
		modifyParamGroup(id, title);
	});

	/**
	 * @description: 绑定删除参数组
	 * @param {*}
	 * @return {*}
	 * @Date: 2022-01-14 16:24:35
	 */
	$(document).on('click', '#paramGroupTable button.delete', function () {
		const $item = $(this).closest('.foxui-drag-item');
		const id = $item.attr('data-id');
		const title = $item.find('.parts-name').text();
		foxui.dialog({
			title: '删除',
			content: `您确定要删除 ${title} 所有参数吗`,
			cancelText: '取消',
			confirmText: '删除',
			buttonType: 'danger',
			confirm: function (callback) {
				callback();
				// 添加异步请求
				$item.slideUp('fast', function () {
					$(this).remove();
				});
				foxui.message({
					text: '删除成功',
					type: 'success',
				});
			},
			cancel: function () {},
		});
	});

	/**
	 * @description: 添加参数 html -> 右侧
	 * @param {*} dataList
	 * @return {*}
	 * @Date: 2022-01-14 14:40:18
	 */
	function _addParamHtml(dataList) {
		dataList = dataList || [];
		let htmlArr = [];
		dataList.forEach(item => {
			htmlArr.push(`
            <li class="foxui-table-tr foxui-drag-item" data-id="${item.id || ''}">
                <div class="foxui-table-td">
                    <span class="foxui-drag-handle foxui-icon-liebiao-o"></span>
                </div>
                <div class="foxui-table-td param-title">
                    <input class="foxui-size-small" value="${item.title || ''}" />
                </div>
                <div class="foxui-table-td param-val">
                    ${_judgeTypeHtml(item)}
                </div>
                <div class="foxui-table-td">
                    <button class="foxui-text-primary foxui-size-small delete">删除</button>
                </div>
            </li>
        `);
		});
		return htmlArr.join('');
	}

	/**
	 * @description: 根据判断typeId,生成相应的表单
	 * @param {*} item
	 * @return {*}
	 * @Date: 2022-02-09 16:20:49
	 */
	function _judgeTypeHtml(item) {
		const { typeId, value, valueId, selectList } = item;
		let html = '';
		if (typeId === 13) {
			let itemHtmlArr = [];
			selectList.forEach(select => {
				itemHtmlArr.push(`
                <li class="foxui-select-item" data-id="${select.id}">${select.text}</li>
            `);
			});
			html = `
            <div class="foxui-select">
                <div class="foxui-select-handle foxui-select-icon">
                    <input class="foxui-select-input foxui-size-small" readonly="readonly" data-id="${valueId || ''}" value="${value || ''}" />
                </div>
                <div class="foxui-select-menu">
                    <ul class="foxui-select-slide">
                        ${itemHtmlArr.join('')}
                    </ul>
                </div>
            </div>
        `;
		} else {
			html = `<input class="foxui-size-small" value="${value || ''}" />`;
		}
		return html;
	}

	/**
	 * @description: 新增/编辑参数预设弹框 html  ->  弹框
	 * @param {*} title
	 * @param {*} dataList
	 * @return {*}
	 * @Date: 2022-01-14 17:07:15
	 */
	function _modifyParamGroupHtml(title, dataList) {
		return `
        <div class="param-preset-box">
            <div class="section-main-item margin-top-0">
                <div class="foxui-input-group">
                    <div class="input-label">
                        <label class="foxui-required">预设名称:</label>
                    </div>
                    <div class="input-box">
                        <div class="foxui-input-suffix">
                            <input maxlength="10" class="foxui-size-small" placeholder="" required value="${title || ''}" name="attrName"/>
                            <i class="foxui-suffix-icon foxui-suffix-count">0/10</i>
                        </div>
                    </div>
                </div>
            </div>
            <div class="section-main-item">
                <div class="foxui-input-group foxui-align-items-start">
                    <div class="input-label">
                        <label>参数列表:</label>
                    </div>
                    <div class="block-box foxui-border">
                        <div class="foxui-table foxui-table-border-bottom">
                            <ul class="foxui-table-thead">
                                <li class="foxui-table-tr">
                                    <div class="foxui-table-th"></div>
                                    <div class="foxui-table-th">参数名称</div>
                                    <div class="foxui-table-th">参数类型</div>
                                    <div class="foxui-table-th">参数值</div>
                                    <div class="foxui-table-th">操作</div>
                                </li>
                            </ul>
                            <ul class="foxui-table-tbody foxui-drag foxui-drag-container">
                                ${_modifyParamGroupTrHtml(dataList)}
                            </ul>
                        </div>
                        <div class="add-param">
                            <button class="foxui-text-primary" onclick="_handleAddParamPop(event)">
                                <i class="foxui-icon-jiahao-o"></i>
                                <span>添加参数</span>
                            </button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    `;
	}

	/**
	 * @description: 新增/编辑参数预设弹框tr的 html
	 * @param {*} dataList
	 * @return {*}
	 * @Date: 2022-01-14 22:52:25
	 */
	function _modifyParamGroupTrHtml(dataList) {
		dataList = dataList || [];
		let htmlArr = [];
		dataList.forEach(item => {
			htmlArr.push(`
            <li class="foxui-table-tr foxui-drag-item" data-id="${item.id}">
                <div class="foxui-table-td">
                    <span class="foxui-drag-handle foxui-icon-liebiao-o"></span>
                </div>
                <div class="foxui-table-td param-title">
                    <input name="paramName" class="foxui-size-small" value="${item.title || ''}" />
                </div>
                <div class="foxui-table-td">
                    <div class="foxui-select">
                        <div class="foxui-select-handle foxui-select-icon">
                            <input name="type" class="foxui-select-input foxui-size-small" readonly="readonly" data-id="${item.typeId || ''}" value="${item.type || ''}" />
                        </div>
                        <div class="foxui-select-menu">
                            <ul class="foxui-select-slide">
                                <li class="foxui-select-item" data-id="11" onclick="_handleTypeChange(event)">默认输入</li>
                                <li class="foxui-select-item" data-id="12" onclick="_handleTypeChange(event)">手动输入</li>
                                <li class="foxui-select-item" data-id="13" onclick="_handleTypeChange(event)">下拉选择</li>
                            </ul>
                        </div>
                    </div>
                </div>
                <div class="foxui-table-td">
                    ${_paramValueBySelectHtml(item.type, item.value)}
                </div>
                <div class="foxui-table-td">
                    <button class="foxui-text-primary foxui-size-small delete" onclick="_handleDeleteParamPop(event)">删除</button>
                </div>
            </li>
        `);
		});
		return htmlArr.join('');
	}

	/**
	 * @description: 通过 type 生成参数预设参数值 html
	 * @param {*} type
	 * @param {*} value
	 * @return {*}
	 * @Date: 2022-01-14 23:22:34
	 */
	function _paramValueBySelectHtml(type, value) {
		let html = '<p>/</p>';
		if (type === '默认输入') {
			html = `<input name="dfvalue"  class="foxui-size-small" placeholder="请输入默认参数值" value="${value || ''}" />`;
		} else if (type === '手动输入') {
			html = '<p>/</p>';
		} else if (type === '下拉选择') {
			html = `<textarea name="dfvalue"  autocomplete="off" rows="2" maxlength="120" placeholder="一行一个可选值">${value || ''}</textarea>`;
		}
		return html;
	}

	/**
	 * @description: 参数预设弹框新增字段
	 * @param {*} event
	 * @return {*}
	 * @Date: 2022-01-15 00:23:25
	 */
	function _handleAddParamPop(event) {
		const target = event.target;
		const html = _modifyParamGroupTrHtml([{}]);
		const $mainItem = $(target).closest('.section-main-item');
		$mainItem.find('.foxui-table .foxui-table-tbody').append(html);
		$mainItem.find('.foxui-table .foxui-table-tbody .foxui-table-tr:last-child').css('display', 'none').slideDown('fast');
	}

	/**
	 * @description: 参数预设弹框删除字段
	 * @param {*} event
	 * @return {*}
	 * @Date: 2022-01-15 00:18:29
	 */
	function _handleDeleteParamPop(event) {
		const target = event.target;
		const $item = $(target).closest('.foxui-table-tr');
		foxui.dialog({
			title: '删除',
			content: `您确定要删除吗`,
			cancelText: '取消',
			confirmText: '删除',
			buttonType: 'danger',
			confirm: function (callback) {
				callback();
				$item.slideUp('fast', function () {
					$(this).remove();
				});
				foxui.message({
					text: '删除成功',
					type: 'success',
				});
			},
			cancel: function () {},
		});
	}

	/**
	 * @description: 绑定监听type,改变更新html
	 * @param {*}
	 * @return {*}
	 * @Date: 2022-01-14 23:44:42
	 */
	function _handleTypeChange(event) {
		const target = event.target;
		const type = $(target).text();
		const html = _paramValueBySelectHtml(type);
		$(target).closest('.foxui-table-td').next('.foxui-table-td').empty().append(html);
	}

</script>
{/block}