説明なし
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

edit.htm 79KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510
  1. {include file="public/layout" /}
  2. <link rel="stylesheet" type="text/css" href="__PUBLIC__/plugins/webuploader/webuploader.css">
  3. {eq name="$editor.editor_select" value="1"}
  4. {load href="__PUBLIC__/plugins/Ueditor/ueditor.config.js" /}
  5. {load href="__PUBLIC__/plugins/Ueditor/ueditor.all.min.js" /}
  6. {load href="__PUBLIC__/plugins/Ueditor/lang/zh-cn/zh-cn.js" /}
  7. {else/}
  8. {load href="__PUBLIC__/plugins/ckeditor/ckeditor.js" /}
  9. {/eq}
  10. <style type="text/css">
  11. /*服务器名称下拉*/
  12. .help-hot-list {
  13. padding: 10px 0;
  14. width: 164px;
  15. position: absolute;
  16. left: 16px;
  17. top: 40px;
  18. margin: 0;
  19. line-height: 32px;
  20. font-size: 14px;
  21. border-radius: 2px;
  22. box-shadow: 0 1px 5px rgba(0,0,0,.2);
  23. background-color: #fff;
  24. display: none;
  25. z-index: 999999;
  26. }
  27. .remote-hot-list{
  28. left: 86px;
  29. top: 26px;
  30. }
  31. .help-hot-list>a {
  32. display: block;
  33. color: #333;
  34. text-decoration: none;
  35. overflow: hidden;
  36. padding-right: 10px;
  37. }
  38. .help-hot-list>a:hover {
  39. background-color: #f3f3f3;
  40. }
  41. .help-hot-list>a>div {
  42. float: left;
  43. height: 32px;
  44. overflow: hidden;
  45. }
  46. .help-hot-list>a>div.number {
  47. text-align: center;
  48. width: 22px;
  49. color: #ff8105
  50. }
  51. .help-hot-list>a>div.hottxt{
  52. width: 132px;
  53. overflow: hidden;
  54. text-overflow:ellipsis;
  55. white-space: nowrap;
  56. }
  57. .help-hot-list>a>div.number.c1 {
  58. color: #ff2c00
  59. }
  60. .help-hot-list>a>div.number.c2 {
  61. color: #ff5a00
  62. }
  63. .help-hot-list>a>div.number.c3 {
  64. color: #3cbe85
  65. }
  66. .template_div .ey_server_name{
  67. position: relative;
  68. }
  69. </style>
  70. <body class="bodysy-w">
  71. <div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
  72. <div id="append_parent"></div>
  73. <div id="ajaxwaitid"></div>
  74. <div id="geduan_div" class="h10"></div>
  75. <div id="page_div" class="page min-hg-c mb-20" style="min-width:auto;box-shadow:none;">
  76. <div class="fixed-bar">
  77. <div class="item-title">
  78. {include file="public/callback_page_1" /}<!-- 返回箭头 -->
  79. <a class="back_sz" href="javascript:void(0);" data-href="{:url('Download/help')}" onclick="openHelpframe(this, '设置与帮助', '500px', '100%', 'r');" title="设置与帮助"><i class="iconfont e-shezhi-tongyong"></i></a>
  80. <div class="subject">
  81. <h3>编辑文档</h3>
  82. <h5></h5>
  83. </div>
  84. <ul class="tab-base nc-row">
  85. <li><a href="javascript:void(0);" data-index='1' class="tab current"><span>基础内容</span></a></li>
  86. <li><a href="javascript:void(0);" data-index='2' class="tab"><span>SEO优化</span></a></li>
  87. <li><a href="javascript:void(0);" data-index='3' class="tab"><span>更多设置</span></a></li>
  88. <!-- #weapp_demontrate_li# -->
  89. <!-- #weapp_li# -->
  90. </ul>
  91. </div>
  92. </div>
  93. <form class="form-horizontal" id="post_form" action="{:url('Download/edit')}" method="post">
  94. <!-- 常规信息 -->
  95. <div class="ncap-form-default tab_div_1">
  96. <dl class="row">
  97. <dt class="tit">
  98. <label for="title"><em>*</em>文档标题</label>
  99. </dt>
  100. <dd class="opt">
  101. <input type="text" name="title" value="{$field.title}" id="title" class="input-txt" maxlength="200" {eq name="$channelRow.is_repeat_title" value="0"} oninput="check_title_repeat(this,'{$field.aid}');" {/eq}>
  102. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  103. 副标题:<input type="text" name="subtitle" value="{$field.subtitle}" id="subtitle" class="w200">
  104. <span class="err"></span>
  105. <p class="notic"></p>
  106. </dd>
  107. </dl>
  108. <dl class="row">
  109. <dt class="tit">
  110. <label for="typeid"><em>*</em>栏目分类</label>
  111. </dt>
  112. <dd class="opt">
  113. <input type="hidden" name="attr[typeid]" id="attr_typeid" value="{$field.typeid}">
  114. <select name="typeid" id="typeid">
  115. {$arctype_html}
  116. </select>
  117. <span class="err"></span>
  118. <p class="notic">谨慎切换,自定义字段的内容会随着栏目切换而清空,在保存之前不受影响!</p>
  119. </dd>
  120. </dl>
  121. {notempty name='$global.web_stypeid_open'}
  122. <dl class="row">
  123. <dt class="tit">
  124. <label for="stypeid">副栏目分类</label>
  125. </dt>
  126. <dd class="opt">
  127. <input type="hidden" name="stypeid" id="stypeid" value="{$field.stypeid}" class="input-txt" onkeyup="this.value=this.value.replace(/[^\d\,]/g,'');" onpaste="this.value=this.value.replace(/[^\d\,]/g,'');" placeholder="">
  128. &nbsp;<a href="javascript:void(0);" data-channel="{$channeltype}" onclick="select_stypeid(this);" class="ncap-btn ncap-btn-green">选择副栏目</a>
  129. <span class="err"></span>
  130. <p class="notic">支持同频道模型的栏目</p>
  131. <div id="stypeid_txt" class="pt5">
  132. {volist name='$stypeid_arr' id='vo'}{gt name='$key' value='0'}&nbsp;&nbsp;|&nbsp;&nbsp;{/gt}<span>{$vo.typename}</span>{/volist}
  133. </div>
  134. </dd>
  135. </dl>
  136. {/notempty}
  137. <dl class="row">
  138. <dt class="tit">
  139. <label>文档属性</label>
  140. </dt>
  141. <dd class="opt">
  142. {volist name="archives_flags" id="vo"}
  143. <input type="hidden" name="attr[{$vo.flag_fieldname}]" {if $field[$vo.flag_fieldname] == 1}value="1"{else/}value="0"{/if}>
  144. <label><input type="checkbox" name="{$vo.flag_fieldname}" value="1" {if $field[$vo.flag_fieldname] == 1}checked{/if}>{$vo.flag_name}<!-- [{$vo.flag_attr}] --></label>&nbsp;
  145. {/volist}
  146. <span class="err"></span>
  147. <p class="notic">如需管理,请点击右上角设置与帮助按钮</p>
  148. </dd>
  149. </dl>
  150. <dl class="row {if condition="$field.is_jump != 1"}none{/if} dl_jump">
  151. <dt class="tit">
  152. <label>跳转网址</label>
  153. </dt>
  154. <dd class="opt">
  155. <input type="text" value="{$field.jumplinks}" name="jumplinks" id="jumplinks" class="input-txt" placeholder="http://">
  156. <span class="err"></span>
  157. <p class="notic">请输入完整的URL网址(包含http或https),设置后访问该条信息将直接跳转到设置的网址</p>
  158. </dd>
  159. </dl>
  160. <dl class="row" style="z-index:2;">
  161. <dt class="tit">
  162. <label>文档标签</label>
  163. </dt>
  164. <dd class="opt">
  165. <input type="text" value="{$field.tags}" name="tags" id="tags" class="input-txt" placeholder="多个标签之间以逗号隔开" autocomplete="off" oninput="get_common_tagindex_input(this);" onfocus="$('#often_tags').hide();" onkeyup="this.value=this.value.replace(/[\,]/g,',');" onpaste="this.value=this.value.replace(/[\,]/g,',')">&nbsp;
  166. <a href="javascript:void(0);" onclick="get_common_tagindex(this);">显示常用标签</a>&nbsp;<img id="tag_loading" src="__STATIC__/common/images/loading.gif" style="display: none;" />
  167. <div class="often_tags" id="often_tags" data-opt="edit" style="display: none;"></div>
  168. <div class="often_tags" id="often_tags_input" style="display: none;"></div>
  169. <input type="hidden" id="tags_click_count">
  170. </dd>
  171. </dl>
  172. <dl class="row {empty name="$global.web_citysite_open"} none {/empty} ">
  173. <dt class="tit">
  174. <label for="title">所属区域</label>
  175. </dt>
  176. <dd class="opt">
  177. <select name="province_id" id="province_id" onchange="set_city_list(0);">
  178. <option value="0">全国</option>
  179. {volist name=':get_site_province_list()' id='vo'}
  180. <option value="{$vo.id}" {eq name="$field.province_id" value="$vo.id" } selected {/eq} >{$vo.name}</option>
  181. {/volist}
  182. </select>
  183. <select name="city_id" id="city_id" class="none ml5" onchange="set_area_list(0);">
  184. <option value="">--请选择--</option>
  185. </select>
  186. <select name="area_id" id="area_id" class="none ml5">
  187. <option value="">--请选择--</option>
  188. </select>
  189. <span class="err"></span>
  190. <p class="notic"></p>
  191. </dd>
  192. </dl>
  193. <dl class="row">
  194. <dt class="tit">
  195. <label>封面图片</label>
  196. </dt>
  197. <dd class="opt">
  198. <div class="input-file-show div_litpic_local" {neq name="$field.is_remote" value="0"}style="display: none;"{/neq}>
  199. <span class="show">
  200. <a id="img_a" target="_blank" class="nyroModal" rel="gal" href="{$field.litpic_local|default='javascript:void(0);'}">
  201. <i id="img_i" class="fa fa-picture-o" {notempty name="$field.litpic_local"}onmouseover="layer_tips=layer.tips('<img src={$field.litpic_local} class=\'layer_tips_img\'>',this,{tips: [1, '#fff']});"{/notempty} onmouseout="layer.close(layer_tips);"></i>
  202. </a>
  203. </span>
  204. <span class="type-file-box">
  205. <input type="text" id="litpic_local" name="litpic_local" value="{$field.litpic_local|default=''}" class="type-file-text" autocomplete="off">
  206. <input type="button" name="button" id="button1" value="选择上传..." class="type-file-button">
  207. <input class="type-file-file" onClick="GetUploadify(1,'','allimg','img_call_back')" size="30" hidefocus="true" nc_type="change_site_logo"
  208. title="点击前方预览图可查看大图,点击按钮选择文件并提交表单后上传生效">
  209. </span>
  210. </div>
  211. <input type="text" id="litpic_remote" name="litpic_remote" value="{$field.litpic_remote|default=''}" placeholder="http://" class="input-txt" onKeyup="keyupRemote(this, 'litpic');" {neq name="$field.is_remote" value="1"}style="display: none;"{/neq}>
  212. &nbsp;
  213. <label><input type="checkbox" name="is_remote" id="is_remote" value="1" {eq name="$field.is_remote" value="1"}checked="checked"{/eq} onClick="clickRemote(this, 'litpic');">远程图片</label>
  214. <span class="err"></span>
  215. <p class="notic">当没有手动上传图片时候,会自动提取正文的第一张图片作为缩略图</p>
  216. </dd>
  217. </dl>
  218. {if condition="!empty($channelRow.data.is_download_pay)"}
  219. <div class="{if condition='empty($channelRow.data.is_download_pay)'} none {/if}">
  220. <dl class="row">
  221. <dt class="tit">
  222. <label>付费限制</label>
  223. </dt>
  224. <dd class="opt">
  225. <label class="curpoin"><input type="radio" name="restric_type" value="0" {empty name="$field.restric_type"} checked="checked" {/empty}>免费</label>&nbsp;&nbsp;
  226. <label class="curpoin"><input type="radio" name="restric_type" value="1" {eq name="$field.restric_type" value="1"} checked="checked" {/eq}>付费</label>&nbsp;&nbsp;
  227. <label class="curpoin"><input type="radio" name="restric_type" value="2" {eq name="$field.restric_type" value="2"} checked="checked" {/eq}>指定会员</label>&nbsp;&nbsp;
  228. <label class="curpoin"><input type="radio" name="restric_type" value="3" {eq name="$field.restric_type" value="3"} checked="checked" {/eq}>会员付费</label>&nbsp;&nbsp;
  229. </dd>
  230. </dl>
  231. <dl class="row {if condition='!in_array($field.restric_type, [2,3])'} none {/if}" id="dl_arc_level_id">
  232. <dt class="tit">
  233. <label><em>*</em>会员等级</label>
  234. </dt>
  235. <dd class="opt">
  236. <select name="arc_level_id" id="arc_level_id">
  237. {volist name="users_level" id="vo"}
  238. <option value="{$vo.level_id}" level_value="{$vo.level_value}" {eq name='$vo.level_id' value='$field.arc_level_id'} selected {/eq}>{$vo.level_name}</option>
  239. {/volist}
  240. </select>
  241. &nbsp;
  242. <label id="no_vip_pay_label" class="{neq name="$field.restric_type" value="2"} none {/neq}" ><input type="checkbox" name="no_vip_pay" id="no_vip_pay" value="1" {eq name="$field.no_vip_pay" value="1"}checked="checked"{/eq} onClick="clickNoVipPay(this);">开启非会员付费</label>
  243. </dd>
  244. </dl>
  245. <dl class="row {if condition='in_array($field.restric_type, [0]) || ($field.restric_type == 2 && $field.no_vip_pay == 0) '} none {/if}" id="dl_users_price">
  246. <dt class="tit">
  247. <label for="users_price"><em>*</em>购买价格</label>
  248. </dt>
  249. <dd class="opt">
  250. <input type="text" name="users_price" id="users_price" value="{$field.users_price}" class="input-txt" autocomplete="off" onkeyup="this.value=this.value.replace(/[^\d\.]/g,'');" onpaste="this.value=this.value.replace(/[^\d\.]/g,'')" style="width: 100px !important;text-align: right;">&nbsp;元
  251. <span class="err"></span>
  252. <p class="notic"></p>
  253. </dd>
  254. </dl>
  255. </div>
  256. {else /}
  257. <dl class="row">
  258. <dt class="tit">
  259. <label>下载限制</label>
  260. </dt>
  261. <dd class="opt">
  262. <select name="arc_level_id" id="arc_level_id">
  263. <option value="0">不限会员</option>
  264. {volist name="users_level" id="vo"}
  265. <option value="{$vo.level_id}" {eq name='$vo.level_id' value='$field.arc_level_id'} selected {/eq}>{$vo.level_name}</option>
  266. {/volist}
  267. </select>
  268. <p class="notic">如需使用付费下载功能,请到频道模型里下载模型内开启</p>
  269. </dd>
  270. </dl>
  271. {/if}
  272. <dl class="row" style="z-index: 2;">
  273. <dt class="tit">
  274. <label>上传文件</label>
  275. </dt>
  276. <dd class="opt">
  277. <div class="layui-upload">
  278. {if condition="$qiniu_open eq 1"}
  279. <button type="button" class="layui-btn layui-btn-normal" style="position: relative;z-index: 1;">
  280. 七牛云上传
  281. <input type="file" name="file" id="qiniuFile" multiple="multiple" onchange="qiniu_upload(this);" style="position: absolute;top: 0;right: 0;opacity: 0;width: 110px;height: 30px;"/>
  282. </button>
  283. {elseif condition="$oss_open eq 1"/}
  284. <button type="button" class="layui-btn layui-btn-normal" style="position: relative;z-index: 1;">
  285. oss上传
  286. <input type="file" name="file" id="ossFile" multiple="multiple" onchange="oss_upload(this);" style="position: absolute;top: 0;right: 0;opacity: 0;width: 110px;height: 30px;"/>
  287. </button>
  288. {elseif condition="$cos_open eq 1"/}
  289. <button type="button" class="layui-btn layui-btn-normal" style="position: relative;z-index: 1;">
  290. cos上传
  291. <input type="file" name="file" id="cosFile" multiple="multiple" onchange="cos_multiple_upload(this);" style="position: absolute;top: 0;right: 0;opacity: 0;width: 110px;height: 30px;"/>
  292. </button>
  293. {else /}
  294. <button type="button" class="layui-btn layui-btn-normal" id="buttonList">选择多文件</button>
  295. {/if}
  296. <label><input type="checkbox" value="1" {eq name='$is_remote_file' value='1'}checked{/eq} onclick="ClickRemoteFile(this);">远程地址</label>
  297. <a href="javascript:void(0);" data-url="{:url('Download/template_set')}" onclick="TemplateSet(this);" style="display: inline-block;" id='TemplateSet' data-servername_use="{$servername_use}">[参数设置]</a>
  298. <div class="layui-upload-list none" id="layui-upload-list_downfile">
  299. <table class="layui-table">
  300. <thead>
  301. <tr>
  302. <th>文件名</th>
  303. <th class="th_server_name" {neq name="$servername_use" value="1"} style="display: none;" {/neq}>{$servername_info.field_title}</th>
  304. <th>大小</th>
  305. <th>状态</th>
  306. <th>操作</th>
  307. </tr>
  308. </thead>
  309. <tbody id="demoList">
  310. {volist name="downfile_list" id="vo"}
  311. {empty name='$vo.is_remote'}
  312. <tr>
  313. <td><a href="{$vo.file_url}" target="_blank">{$vo.file_name|default=''}</a></td>
  314. <td class="th_server_name" {neq name="$servername_use" value="1"} style="display: none;" {/neq}>
  315. <input type="text" name="fileupload[server_name][]" value="{$vo.server_name}" id="servername_local_{$key+1}" onclick="searchServername(this);" autocomplete="off">
  316. <div class="help-hot-list" style="display: none;" id="search_keywords_list_servername_local_{$key+1}"></div>
  317. </td>
  318. <td>{$vo.file_size|format_bytes=###}</td>
  319. <td><span style="color: #5FB878;">上传成功</span></td>
  320. <td>
  321. <span class="layui-btn layui-btn-xs layui-btn-danger" style="line-height:unset;height: unset;" onclick="DeleteFile(this)">移除</span>
  322. <input type="hidden" name="fileupload[file_url][]" value="{$vo.file_url|default=''}">
  323. <input type="hidden" name="fileupload[file_mime][]" value="{$vo.file_mime|default=''}">
  324. <input type="hidden" name="fileupload[file_name][]" value="{$vo.file_name|default=''}">
  325. <input type="hidden" name="fileupload[file_ext][]" value="{$vo.file_ext|default=''}">
  326. <input type="hidden" name="fileupload[file_size][]" value="{$vo.file_size|default=''}">
  327. <input type="hidden" name="fileupload[uhash][]" value="{$vo.uhash|default=''}">
  328. <input type="hidden" name="fileupload[md5file][]" value="{$vo.md5file|default=''}">
  329. </td>
  330. </tr>
  331. {/empty}
  332. {/volist}
  333. </tbody>
  334. </table>
  335. </div>
  336. <div {neq name='$is_remote_file' value='1'} style="display: none;" {/neq} id='ClickRemoteFile'>
  337. <div id='Template'>
  338. {empty name="$is_remote_file"}
  339. <div class="template_div">
  340. 远程地址1:<input type="text" name="remote_file[]" value="" placeholder="http://" style="width: 50%;">
  341. {volist name="attr_field" id="vo"}
  342. <span class="ey_{$vo.field_name}" {neq name="$vo.field_use" value="1"} style="display: none;" {/neq}>
  343. <span class="title_{$vo.field_name}">{$vo.field_title}</span>:<input type="text" name="{$vo.field_name}[]" id="{$vo.field_name}_remote_1" style="width: 7%;" {if $vo.field_name=='server_name'} onclick="searchServername(this);" autocomplete="off" value="{$default_servername}" {/if}>
  344. {if $vo.field_name=='server_name'}
  345. <div class="help-hot-list remote-hot-list" style="display: none;" id="search_keywords_list_{$vo.field_name}_remote_1">
  346. </div>
  347. {/if}
  348. </span>
  349. {/volist}
  350. </div>
  351. <div class="template_div">
  352. 远程地址2:<input type="text" name="remote_file[]" value="" placeholder="http://" style="width: 50%;">
  353. {volist name="attr_field" id="vo"}
  354. <span class="ey_{$vo.field_name}" {neq name="$vo.field_use" value="1"} style="display: none;" {/neq}>
  355. <span class="title_{$vo.field_name}">{$vo.field_title}</span>:<input type="text" name="{$vo.field_name}[]" id="{$vo.field_name}_remote_2" style="width: 7%;" {if $vo.field_name=='server_name'} onclick="searchServername(this);" autocomplete="off" value="{$default_servername}" {/if}>
  356. {if $vo.field_name=='server_name'}
  357. <div class="help-hot-list remote-hot-list" style="display: none;" id="search_keywords_list_{$vo.field_name}_remote_2">
  358. </div>
  359. {/if}
  360. </span>
  361. {/volist}
  362. </div>
  363. {else /}
  364. {volist name="$downfile_list" id="vo"}
  365. {eq name='$vo.is_remote' value='1'}
  366. <div class="template_div">
  367. 远程地址{php} static $num = 1; echo $num++; {/php}:<input type="text" name="remote_file[]" value="{$vo.file_url}" placeholder="http://" style="width: 50%;">
  368. {volist name="attr_field" id="f_vo"}
  369. <span class="ey_{$f_vo.field_name}" {neq name="$f_vo.field_use" value="1"} style="display: none;" {/neq}>
  370. <span class="title_{$f_vo.field_name}">{$f_vo.field_title}</span>:<input type="text" name="{$f_vo.field_name}[]" id="{$f_vo.field_name}_remote_{$num-1}" style="width: 7%;" value="{$vo[$f_vo.field_name]}" {if $f_vo.field_name=='server_name'} onclick="searchServername(this);" autocomplete="off" {/if}>
  371. {if $f_vo.field_name=='server_name'}
  372. <div class="help-hot-list remote-hot-list" style="display: none;" id="search_keywords_list_{$f_vo.field_name}_remote_{$num-1}">
  373. </div>
  374. {/if}
  375. </span>
  376. {/volist}
  377. </div>
  378. {/eq}
  379. {/volist}
  380. {/empty}
  381. </div>
  382. <a onclick="GetTemplateAddr(2);" style="cursor: pointer;">
  383. 更多远程地址
  384. </a>
  385. </div>
  386. <input type="hidden" name="fileName" id="fileName" value="{$file_name|default=''}" style="width: 100%;">
  387. <button style="display:none;" type="button" class="layui-btn" id="buttonListAction">批量重传</button>
  388. <script type="text/javascript">
  389. $(function(){
  390. if ($('#demoList tr').length > 0) {
  391. $('#layui-upload-list_downfile').show();
  392. }
  393. });
  394. </script>
  395. </div>
  396. </dd>
  397. </dl>
  398. {include file="archives/get_field_addonextitem" /}
  399. </div>
  400. <!-- 常规信息 -->
  401. <!-- SEO参数 -->
  402. <div class="ncap-form-default tab_div_2" style="display:none;">
  403. <dl class="row">
  404. <dt class="tit">
  405. <label for="seo_title">SEO标题</label>
  406. </dt>
  407. <dd class="opt">
  408. <input type="text" value="{$field.seo_title}" name="seo_title" id="seo_title" class="input-txt">
  409. <span class="err"></span>
  410. <p class="notic">一般不超过80个字符,为空时系统自动构成,可以到 <a href="{:url('Seo/index', array('inc_type'=>'seo'))}">SEO设置 - SEO基础</a> 中设置构成规则。</p>
  411. </dd>
  412. </dl>
  413. <dl class="row">
  414. <dt class="tit">
  415. <label>SEO关键词</label>
  416. </dt>
  417. <dd class="opt">
  418. <textarea rows="5" cols="60" id="seo_keywords" name="seo_keywords" style="height:20px;">{$field.seo_keywords}</textarea>
  419. <span class="err"></span>
  420. <p class="notic">一般不超过100个字符,多个关键词请用英文逗号(,)隔开,建议3到5个关键词。</p>
  421. </dd>
  422. </dl>
  423. <dl class="row">
  424. <dt class="tit">
  425. <label>SEO描述</label>
  426. </dt>
  427. <dd class="opt">
  428. <textarea rows="5" cols="60" id="seo_description" name="seo_description" style="height:54px;" class="keywordsTextarea" onkeyup="monitorInputStr();" onkeypress="monitorInputStr();">{$field.seo_description}</textarea>
  429. <span class="err"></span>
  430. <p class="notic">一般不超过100个字符,不填写时系统自动提取正文的前100个字符</p>
  431. <p class="notic2 {empty name='$field.seo_description'}none{/empty}" id="beenWritten">你已输入<span id="beenWrittenStr">0</span>个字符</p>
  432. <p><label><input type="checkbox" name="basic_update_seo_description" value="1" {if condition="!empty($global['basic_update_seo_description'])"} checked="checked" {/if}>勾选后SEO描述将随正文内容更新</label></p>
  433. </dd>
  434. </dl>
  435. </div>
  436. <!-- SEO参数 -->
  437. <!-- 其他参数 -->
  438. <div class="ncap-form-default tab_div_3" style="display:none;">
  439. <dl class="row">
  440. <dt class="tit">
  441. <label for="author">作者</label>
  442. </dt>
  443. <dd class="opt">
  444. <input type="hidden" value="{$field.users_id}" name="users_id" class="input-txt">
  445. <input type="text" value="{$field.author}" name="author" id="author" class="input-txt">
  446. <span class="err"></span>
  447. <p class="notic">设置作者默认名称(将同步至管理员笔名)</p>
  448. </dd>
  449. </dl>
  450. <dl class="row dl_origin">
  451. <dt class="tit">
  452. <label>来源</label>
  453. </dt>
  454. <dd class="opt origin-hot">
  455. <input type="text" value="{$field.origin}" name="origin" id="origin" class="input-txt" onclick="searchOrigin(this);" autocomplete="off">
  456. <div class="origin-hot-list" style="display: none;" id="search_keywords_list_origin"></div>
  457. <textarea id="system_originlist_str" style="display: none;">{$system_originlist_str}</textarea>
  458. <span class="setting" onclick="set_originlist();">设置</span>
  459. <span class="err"></span>
  460. <p class="notic">为空时默认“网络”</p>
  461. </dd>
  462. </dl>
  463. <dl class="row">
  464. <dt class="tit">
  465. <label>点击数</label>
  466. </dt>
  467. <dd class="opt">
  468. <input type="text" value="{$field.click}" name="click" id="click" class="input-txt">
  469. <span class="err"></span>
  470. <p class="notic"></p>
  471. </dd>
  472. </dl>
  473. <dl class="row">
  474. <dt class="tit">
  475. <label>下载数</label>
  476. </dt>
  477. <dd class="opt">
  478. <input type="text" value="{$field.downcount|default='0'}" name="downcount" id="downcount" class="input-txt">
  479. <span class="err"></span>
  480. <p class="notic"></p>
  481. </dd>
  482. </dl>
  483. <dl class="row">
  484. <dt class="tit">
  485. <label>阅读权限</label>
  486. </dt>
  487. <dd class="opt">
  488. <input type="hidden" value="{$field.arcrank}" name="old_arcrank" class="input-txt">
  489. <select name="arcrank" id="arcrank" {if $field.arcrank < 0 && $admin_info.role_id > 0 && $auth_role_info.check_oneself < 1} disabled="disabled" {/if}>
  490. {volist name="arcrank_list" id="vo"}
  491. <option value="{$vo.rank}" {eq name="$vo.rank" value="$field.arcrank"}selected{/eq}>{$vo.name}</option>
  492. {/volist}
  493. </select>
  494. <span class="err"></span>
  495. <p class="notic"></p>
  496. </dd>
  497. </dl>
  498. <!-- #weapp_UsersGroup_content_users_id={$field.users_id}#--><!-- #weapp_UsersGroup_content# -->
  499. <dl class="row">
  500. <dt class="tit">
  501. <label for="articleForm">发布时间</label>
  502. </dt>
  503. <dd class="opt">
  504. <input type="text" class="input-txt" id="add_time" name="add_time" value="{$field.add_time|date='Y-m-d H:i:s',###}" autocomplete="off">
  505. <span class="add-on input-group-addon">
  506. <i class="glyphicon glyphicon-calendar fa fa-calendar"></i>
  507. </span>
  508. <span class="err"></span>
  509. </dd>
  510. </dl>
  511. <dl class="row">
  512. <dt class="tit">
  513. <label for="tempview">文档模板</label>
  514. </dt>
  515. <dd class="opt">
  516. <select name="tempview" id="tempview">
  517. {volist name='$templateList' id='vo'}
  518. <option value="{$vo}" {eq name='$vo' value='$tempview'}selected{/eq}>{$vo}</option>
  519. {/volist}
  520. </select>
  521. <input type="hidden" name="type_tempview" value="{$tempview}" />
  522. <span class="err"></span>
  523. </dd>
  524. </dl>
  525. <dl class="row {notin name='$seo_pseudo' value='2,3'}no-grey{/notin}">
  526. <dt class="tit">
  527. <label>自定义文件名</label>
  528. </dt>
  529. <dd class="opt">
  530. <input type="text" {notin name='$seo_pseudo' value='2,3'}readonly="readonly" title="动态模式下不支持自定义文档url"{/notin} value="{$field.htmlfilename}" name="htmlfilename" id="htmlfilename" autocomplete="off" onkeyup="this.value=this.value.replace(/[^\u4E00-\u9FA5\w\-]/g,'-');" onpaste="this.value=this.value.replace(/[^\u4E00-\u9FA5\w\-]/g,'-');" class="input-txt {notin name='$seo_pseudo' value='2,3'}no-drop{/notin}">.html
  531. <span class="err"></span>
  532. <p class="notic">自定义文件名可由字母、数字、下划线(_)、连接符(-)等符号组成,除此之外其他字符将自动转为连接符(-)</p>
  533. </dd>
  534. </dl>
  535. </div>
  536. <!-- 其他参数 -->
  537. <!-- #weapp_demontrate_div# -->
  538. <!-- #weapp_div# -->
  539. <div class="ncap-form-default">
  540. <div class="bot2">
  541. <input type="hidden" name="gourl" value="{$gourl|default=''}">
  542. <input type="hidden" name="aid" value="{$field.aid|default='0'}">
  543. <input type="hidden" name="editor_addonFieldExt" id="editor_addonFieldExt" value="">
  544. <a href="JavaScript:void(0);" onclick="check_submit();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a>
  545. {include file="public/callback_page_2" /}<!-- 返回按钮 -->
  546. </div>
  547. </div>
  548. </form>
  549. </div>
  550. <script type="text/javascript" src="__PUBLIC__/plugins/webuploader/webuploader.min.js"></script>
  551. <script type="text/javascript">
  552. var uploader_swf = '__PUBLIC__/plugins/webuploader/Uploader.swf';
  553. var server_url = "{:url('Ueditor/DownloadUploadFile',array('savepath'=>'soft'))}";
  554. var admin_id = "{$Think.session.admin_id|default='1'}";
  555. </script>
  556. <script src="__SKIN__/js/getting-started.js"></script>
  557. <!-- 陈风任 -->
  558. <script type="text/javascript">
  559. function cos_multiple_upload() {
  560. $('#layui-upload-list_downfile').show();
  561. var cosFileObj = document.getElementById("cosFile").files;
  562. var servername_use = $('#TemplateSet').attr("data-servername_use");
  563. var formData = new FormData();
  564. formData.append('file_num', cosFileObj.length);
  565. for (var i = 0; i < cosFileObj.length; i++) {
  566. var file = cosFileObj[i];
  567. var fileName = file.name;
  568. var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
  569. var ext = judgeExt(fileExt);
  570. if (ext > -1) {
  571. // 追加显示在页面上
  572. var timestamp = new Date().getTime() + '-' + Math.ceil(Math.random()*100);
  573. var append_html = '';
  574. append_html += '<tr>';
  575. append_html += '<td>'+ file.name +'</td>';
  576. if (1 == servername_use){
  577. append_html += '<td class="th_server_name">';
  578. } else {
  579. append_html += '<td class="th_server_name" style="display: none;">';
  580. }
  581. append_html += '<input type="text" name="fileupload[server_name][]" value="腾讯云服务器" id="severname_qiniuyun_'+i+'" onclick="searchServername(this);" autocomplete="off">';
  582. append_html += '<div class="help-hot-list" style="display: none;" id="search_keywords_list_severname_qiniuyun_'+i+'"></div>';
  583. append_html += '</td>';
  584. append_html += '<td>'+ (file.size/1014).toFixed(1) +' KB</td>';
  585. append_html += '<td id="upload-'+ timestamp +'">上传腾讯云…请稍等</td>';
  586. append_html += '<td><button class="layui-btn layui-btn-xs layui-btn-danger demo-delete" style="line-height:unset;height: unset;" onclick="DeleteFile(this);">移除</button>';
  587. append_html += '</td>';
  588. append_html += '</tr>';
  589. $("#demoList").append(append_html);
  590. // 表单提交数据
  591. formData.append('file_' + [i], cosFileObj[i]);
  592. formData.append('file_mime_' + [i], file.type);
  593. formData.append('file_name_' + [i], file.name);
  594. formData.append('file_size_' + [i], file.size);
  595. formData.append('file_ext_' + [i], fileExt);
  596. formData.append('file_tdid_' + [i], "#upload-" + timestamp);
  597. } else {
  598. showErrorMsg('不支持选中的文件格式,仅支持' + "{$basic.file_type}");
  599. }
  600. }
  601. // 上传提示
  602. layer.msg('上传腾讯云……&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font id="upgrade_backup_speed">0.01</font>%,请勿刷新', {icon: 1, time: 3600000, shade: [0.2]});
  603. layer.load(3, {shade: [0.1,'#fff']});
  604. // 执行上传
  605. $.ajax({
  606. type: 'post',
  607. url : '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_multiple_upload&_ajax=1',
  608. data: formData,
  609. contentType: false,
  610. processData: false,
  611. dataType: 'json',
  612. xhr: function () {
  613. myXhr = $.ajaxSettings.xhr();
  614. if (myXhr.upload) {
  615. myXhr.upload.addEventListener('progress', function(e) {
  616. var curr = e.loaded;
  617. var total = e.total;
  618. var process = parseInt(curr / total * 100);
  619. process = 100 == process ? 99 : process;
  620. $('#upgrade_backup_speed').html(process);
  621. });
  622. }
  623. return myXhr;
  624. },
  625. success: function(res) {
  626. layer.closeAll();
  627. try {
  628. if (1 == res.code) {
  629. var file_url = res.data.file_url;
  630. $.each(file_url, function(i, item) {
  631. var html = '';
  632. html += '<input type="hidden" name="fileupload[file_url][]" value="'+ file_url[i] +'">';
  633. html += '<input type="hidden" name="fileupload[file_mime][]" value="'+ res.data.file_mime[i] +'">';
  634. html += '<input type="hidden" name="fileupload[file_name][]" value="'+ res.data.file_name[i] +'">';
  635. html += '<input type="hidden" name="fileupload[file_size][]" value="'+ res.data.file_size[i] +'">';
  636. html += '<input type="hidden" name="fileupload[file_ext][]" value="'+ res.data.file_ext[i] +'">';
  637. $(res.data.file_tdid[i]).html('<span style="color: #5FB878;">上传成功</span>' + html);
  638. });
  639. } else {
  640. showErrorAlert('接口超时,部分上传腾讯云失败,请移除未上传成功的文件重新上传。');
  641. }
  642. } catch(e) {}
  643. },
  644. error: function(e){
  645. layer.closeAll();
  646. showErrorAlert(e.responseText);
  647. }
  648. });
  649. }
  650. </script>
  651. <!-- END -->
  652. <script type="text/javascript">
  653. function qiniu_upload() {
  654. $('#layui-upload-list_downfile').show();
  655. var arr = [];
  656. var servername_use = $('#TemplateSet').attr("data-servername_use");
  657. for(var i = 0 ;i<document.getElementById("qiniuFile").files.length;i++){
  658. //file对象为用户选择的某一个文件
  659. file=document.getElementById("qiniuFile").files[i];
  660. var fileName = file.name;
  661. var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
  662. var ext = judgeExt(fileExt);
  663. if (ext>-1) {
  664. //此时取出这个文件进行处理,这里只是显示文件名
  665. var timestamp = new Date().getTime()+'-' + Math.ceil(Math.random()*100);
  666. arr[i] = timestamp;
  667. if (1 == servername_use){
  668. $("#demoList").append(
  669. '<tr id="upload-'+ timestamp +'">'+
  670. '<td>'+ file.name +'</td>'+
  671. '<td class="th_server_name"><input type="text" name="fileupload[server_name][]" value="七牛云服务器" id="severname_qiniuyun_'+i+'" onclick="searchServername(this);" autocomplete="off">'+
  672. '<div class="help-hot-list" style="display: none;" id="search_keywords_list_severname_qiniuyun_'+i+'"></div>'+
  673. '</td>'+
  674. '<td>'+ (file.size/1014).toFixed(1) +' KB</td>'+
  675. '<td>等待上传</td>'+
  676. '<td><button class="layui-btn layui-btn-xs layui-btn-danger demo-delete" style="line-height:unset;height: unset;" onclick="DeleteFile(this);">移除</button>'+
  677. '</td>'+
  678. '</tr>'
  679. );
  680. }else{
  681. $("#demoList").append(
  682. '<tr id="upload-'+ timestamp +'">'+
  683. '<td>'+ file.name +'</td>'+
  684. '<td class="th_server_name" style="display: none;"><input type="text" name="fileupload[server_name][]" value="七牛云服务器" id="severname_qiniuyun_'+i+'" onclick="searchServername(this);" autocomplete="off">'+
  685. '<div class="help-hot-list" style="display: none;" id="search_keywords_list_severname_qiniuyun_'+i+'"></div>'+
  686. '</td>'+
  687. '<td>'+ (file.size/1014).toFixed(1) +' KB</td>'+
  688. '<td>等待上传</td>'+
  689. '<td><button class="layui-btn layui-btn-xs layui-btn-danger demo-delete" style="line-height:unset;height: unset;" onclick="DeleteFile(this);">移除</button>'+
  690. '</td>'+
  691. '</tr>'
  692. );
  693. }
  694. }else{
  695. showErrorMsg('不支持选中的文件格式,仅支持'+"{$basic.file_type}");
  696. }
  697. }
  698. var date = new Date();
  699. var y = date.getFullYear();
  700. var m = date.getMonth() + 1;
  701. m = m < 10 ? '0' + m : m;
  702. var d = date.getDate();
  703. d = d < 10 ? ('0' + d) : d;
  704. //获取token
  705. $.ajax({
  706. type: 'POST',
  707. url : '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
  708. data: {_ajax:1,down:1},
  709. dataType: "JSON",
  710. success: function(res1){
  711. if (1 == res1.code){
  712. var token = res1.data.token;
  713. for(var i = 0 ;i<document.getElementById("qiniuFile").files.length;i++) {
  714. file = document.getElementById("qiniuFile").files[i];
  715. var fileName = file.name;
  716. var formData = new FormData();
  717. formData.append('token', token);
  718. //文件路径
  719. formData.append('file', file);
  720. //获取文件拓展名
  721. var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
  722. //三位随机数
  723. var num = round_num();
  724. //七牛云存储文件名
  725. var name = admin_id+'-'+ new Date().getTime()+num+ fileExt;
  726. fileName = res1.data.filePath + y + m + d + "/"+ name;
  727. formData.append('key', fileName);
  728. new Promise(function() {
  729. var tr = $("#upload-" + arr[i]);
  730. var file_mime = file.type;
  731. var file_name = file.name;
  732. var file_size = file.size;
  733. var file_ext = fileExt;
  734. $.ajax({
  735. url: res1.data.uphost,
  736. type: 'POST',
  737. dataType: 'JSON',
  738. data: formData,
  739. timeout: 1200000,
  740. // async: false,
  741. cache: false, //默认是true,但是一般不做缓存
  742. processData: false, //用于对data参数进行序列化处理,这里必须false;如果是true,就会将FormData转换为String类型
  743. contentType: false, //一些文件上传http协议的关系,自行百度,如果上传的有文件,那么只能设置为false
  744. xhr: function () { //获取ajaxSettings中的xhr对象,为它的upload属性绑定progress事件的处理函数
  745. myXhr = $.ajaxSettings.xhr();
  746. if (myXhr.upload) { //检查upload属性是否存在
  747. //绑定progress事件的回调函数
  748. // myXhr.upload.addEventListener('progress', progressHandlingFunction, false);
  749. myXhr.upload.addEventListener('progress', function (e) {
  750. var curr = e.loaded;
  751. var total = e.total;
  752. process = parseInt(curr / total * 100);
  753. tr.children("td").eq(3).text('上传中...' + process + "%");
  754. });
  755. }
  756. return myXhr; //xhr对象返回给jQuery使用
  757. },
  758. success: function (res2) {
  759. var video_url = res1.data.domain + "/" + res2.key;
  760. var html = '';
  761. html += '<input type="hidden" name="fileupload[file_url][]" value="'+ video_url +'">';
  762. html += '<input type="hidden" name="fileupload[file_mime][]" value="'+file_mime+'">';
  763. html += '<input type="hidden" name="fileupload[file_name][]" value="'+ file_name +'">';
  764. html += '<input type="hidden" name="fileupload[file_ext][]" value="'+ file_ext +'">';
  765. html += '<input type="hidden" name="fileupload[file_size][]" value="'+file_size+'">';
  766. var tds = tr.children();
  767. tds.eq(3).html('<span style="color: #5FB878;">上传成功</span>');
  768. tds.eq(4).html('<span class="layui-btn layui-btn-xs layui-btn-danger" style="line-height:unset;height: unset;" onclick="DeleteFile(this);">移除</span>'+html);
  769. },
  770. error: function (e) {
  771. showErrorMsg(e.responseText);
  772. return false;
  773. }
  774. });
  775. })
  776. }
  777. }else{
  778. showErrorMsg(res1.msg);
  779. }
  780. },
  781. error: function(e){
  782. showErrorMsg(e.responseText);
  783. }
  784. });
  785. }
  786. function oss_upload() {
  787. $('#layui-upload-list_downfile').show();
  788. var arr = [];
  789. var servername_use = $('#TemplateSet').attr("data-servername_use");
  790. for(var i = 0 ;i<document.getElementById("ossFile").files.length;i++){
  791. //file对象为用户选择的某一个文件
  792. file=document.getElementById("ossFile").files[i];
  793. var fileName = file.name;
  794. var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
  795. var ext = judgeExt(fileExt);
  796. if (ext>-1) {
  797. //此时取出这个文件进行处理,这里只是显示文件名
  798. var timestamp = new Date().getTime() + '-' + Math.ceil(Math.random()*100);
  799. arr[i] = timestamp;
  800. if (1 == servername_use) {
  801. $("#demoList").append(
  802. '<tr id="upload-' + timestamp + '">' +
  803. '<td>' + file.name + '</td>' +
  804. '<td class="th_server_name"><input type="text" name="fileupload[server_name][]" value="阿里云存储" id="severname_aliyun_' + i + '" onclick="searchServername(this);" onkeyup="searchServername(this);" autocomplete="off">' +
  805. '<div class="help-hot-list" style="display: none;" id="search_keywords_list_severname_aliyun_' + i + '"></div>' +
  806. '</td>' +
  807. '<td>' + (file.size / 1014).toFixed(1) + ' KB</td>' +
  808. '<td>等待上传</td>' +
  809. '<td><button class="layui-btn layui-btn-xs layui-btn-danger demo-delete" style="line-height:unset;height: unset;" onclick="DeleteFile(this);">移除</button>' +
  810. '</td>' +
  811. '</tr>'
  812. );
  813. }else{
  814. $("#demoList").append(
  815. '<tr id="upload-' + timestamp + '">' +
  816. '<td>' + file.name + '</td>' +
  817. '<td class="th_server_name" style="display: none;"><input type="text" name="fileupload[server_name][]" value="阿里云存储" id="severname_aliyun_' + i + '" onclick="searchServername(this);" onkeyup="searchServername(this);" autocomplete="off">' +
  818. '<div class="help-hot-list" style="display: none;" id="search_keywords_list_severname_aliyun_' + i + '"></div>' +
  819. '</td>' +
  820. '<td>' + (file.size / 1014).toFixed(1) + ' KB</td>' +
  821. '<td>等待上传</td>' +
  822. '<td><button class="layui-btn layui-btn-xs layui-btn-danger demo-delete" style="line-height:unset;height: unset;" onclick="DeleteFile(this);">移除</button>' +
  823. '</td>' +
  824. '</tr>'
  825. );
  826. }
  827. }else{
  828. showErrorMsg('不支持选中的文件格式,仅支持'+"{$basic.file_type}");
  829. }
  830. }
  831. var date = new Date();
  832. var y = date.getFullYear();
  833. var m = date.getMonth() + 1;
  834. m = m < 10 ? '0' + m : m;
  835. var d = date.getDate();
  836. d = d < 10 ? ('0' + d) : d;
  837. //获取token
  838. $.ajax({
  839. type: 'POST',
  840. url : '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
  841. data: {_ajax:1,down:1},
  842. dataType: "JSON",
  843. success: function(res1){
  844. if (1 == res1.code){
  845. var accessid = res1.data.accessid;
  846. var policy = res1.data.policy;
  847. var signature = res1.data.signature;
  848. var filePath = res1.data.filePath;
  849. for(var i = 0 ;i<document.getElementById("ossFile").files.length;i++) {
  850. file = document.getElementById("ossFile").files[i];
  851. var fileName = file.name;
  852. var request = new FormData();
  853. request.append("OSSAccessKeyId",accessid);//Bucket 拥有者的Access Key Id。
  854. request.append("policy",policy);//policy规定了请求的表单域的合法性
  855. request.append("Signature",signature);//根据Access Key Secret和policy计算的签名信息,OSS验证该签名信息从而验证该Post请求的合法性
  856. request.append("success_action_status",201);// 让服务端返回200,不然,默认会返回204
  857. //获取文件拓展名
  858. var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
  859. //三位随机数
  860. var num = round_num();
  861. //七牛云存储文件名
  862. var name = admin_id+'-'+ new Date().getTime()+num+ fileExt;
  863. fileName = filePath + y + m + d + "/"+ name;
  864. request.append("key", fileName);
  865. request.append('file', file);
  866. var tr = $("#upload-" + arr[i]);
  867. new Promise(function() {
  868. var tr = $("#upload-" + arr[i]);
  869. var file_mime = file.type;
  870. var file_name = file.name;
  871. var file_size = file.size;
  872. var file_ext = fileExt;
  873. $.ajax({
  874. url: res1.data.host,
  875. data: request,
  876. processData: false,
  877. cache: false,
  878. contentType: false,
  879. dataType: 'xml',
  880. type : 'post',
  881. xhr: function () { //获取ajaxSettings中的xhr对象,为它的upload属性绑定progress事件的处理函数
  882. myXhr = $.ajaxSettings.xhr();
  883. if (myXhr.upload) { //检查upload属性是否存在
  884. //绑定progress事件的回调函数
  885. // myXhr.upload.addEventListener('progress', progressHandlingFunction, false);
  886. myXhr.upload.addEventListener('progress', function (e) {
  887. var curr = e.loaded;
  888. var total = e.total;
  889. process = parseInt(curr / total * 100);
  890. tr.children("td").eq(3).text('上传中...' + process + "%");
  891. });
  892. }
  893. return myXhr; //xhr对象返回给jQuery使用
  894. },
  895. success: function (res2) {
  896. var res = $(res2).find('PostResponse');
  897. if (res) {
  898. var key = res.find('Key').text();
  899. var video_url = res1.data.domain + "/" + key;
  900. var html = '';
  901. html += '<input type="hidden" name="fileupload[file_url][]" value="' + video_url + '">';
  902. html += '<input type="hidden" name="fileupload[file_mime][]" value="' + file_mime + '">';
  903. html += '<input type="hidden" name="fileupload[file_name][]" value="' + file_name + '">';
  904. html += '<input type="hidden" name="fileupload[file_ext][]" value="' + file_ext + '">';
  905. html += '<input type="hidden" name="fileupload[file_size][]" value="' + file_size + '">';
  906. var tds = tr.children();
  907. tds.eq(3).html('<span style="color: #5FB878;">上传成功</span>');
  908. tds.eq(4).html('<span class="layui-btn layui-btn-xs layui-btn-danger" style="line-height:unset;height: unset;" onclick="DeleteFile(this);">移除</span>' + html);
  909. }
  910. },
  911. error: function (e) {
  912. showErrorMsg(e.responseText);
  913. return false;
  914. }
  915. });
  916. })
  917. }
  918. }else{
  919. showErrorMsg(res1.msg);
  920. }
  921. },
  922. error: function(e){
  923. showErrorMsg(e.responseText);
  924. }
  925. });
  926. }
  927. // 远程/本地上传文件切换
  928. function ClickRemoteFile(obj)
  929. {
  930. if ($(obj).is(':checked')) {
  931. $('#ClickRemoteFile').show();
  932. // $('#TemplateSet').show();
  933. } else {
  934. $('#ClickRemoteFile').hide();
  935. // $('#TemplateSet').hide();
  936. }
  937. }
  938. // 远程地址参数设置
  939. function TemplateSet(th){
  940. var url = $(th).attr('data-url');
  941. //iframe窗
  942. layer.open({
  943. type: 2,
  944. title: '参数设置',
  945. fixed: true, //不固定
  946. shadeClose: false,
  947. shade: layer_shade,
  948. maxmin: true, //开启最大化最小化按钮
  949. area: ['40%', '60%'],
  950. content: url
  951. });
  952. }
  953. // 获取模板属性数据
  954. function GetTemplateAddr(num){
  955. if (!num) {
  956. num = 1;
  957. }
  958. $.ajax({
  959. url: "{:url('Download/get_template', ['_ajax'=>1])}",
  960. data: {num:num},
  961. type:'post',
  962. dataType:'json',
  963. success: function(res){
  964. // 拼装模板属性并追加
  965. AddTemplateAddr(num,res.data);
  966. },
  967. });
  968. }
  969. // 删除对应的文件及文件信息
  970. function DeleteFile(obj){
  971. layer.confirm('确认要移除?', {
  972. shade: layer_shade,
  973. area: ['480px', '190px'],
  974. move: false,
  975. title: '提示',
  976. btnAlign:'r',
  977. btn: ['确定', '取消'], //按钮
  978. closeBtn: 3,
  979. success: function () {
  980. $(".layui-layer-content").css('text-align', 'left');
  981. }
  982. }, function (index) {
  983. layer.close(index);
  984. $(obj).parent().parent().remove();
  985. if ($('#demoList tr').length > 0) {
  986. $('#layui-upload-list_downfile').show();
  987. } else {
  988. $('#layui-upload-list_downfile').hide();
  989. }
  990. {if condition="$qiniu_open eq 1"}
  991. $('#qiniuFile').val('');
  992. {elseif condition="$oss_open eq 1"/}
  993. $('#ossFile').val('');
  994. {elseif condition="$cos_open eq 1"/}
  995. $('#cosFile').val('');
  996. {/if}
  997. }, function (index) {
  998. layer.close(index);
  999. });
  1000. }
  1001. // 拼装模板属性并追加
  1002. function AddTemplateAddr(num,data){
  1003. if (!num) {
  1004. num = 1;
  1005. }
  1006. // 获取指定div数量
  1007. var SerialNum = $('#Template div.template_div').length;
  1008. var default_servername = "{$default_servername}";
  1009. // 初始化数组
  1010. var html_div = [];
  1011. // 拼装html
  1012. if (num > 1) {
  1013. for (var i = 0; i < num; i++) {
  1014. SerialNum++;
  1015. html_div +=
  1016. [
  1017. '<div class="template_div">'+
  1018. '远程地址'+SerialNum+':<input type="text" name="remote_file[]" value="" placeholder="http://" style="width: 50%;"> '
  1019. ];
  1020. if (data) {
  1021. for (var j = 0; j < data.length; j++) {
  1022. if (data[j]['field_name'] == 'server_name') {
  1023. if (data[j]['field_use'] == 1){
  1024. html_div += ['<span class="ey_' + data[j]['field_name'] + '"> '];
  1025. }else {
  1026. html_div += ['<span style="display:none;" class="ey_' + data[j]['field_name'] + '"> '];
  1027. }
  1028. html_div +=
  1029. [
  1030. '<span class="title_'+data[j]['field_name']+'"> '+data[j]['field_title']+'</span>:<input type="text" name="'+data[j]['field_name']+'[]" id="'+data[j]['field_name']+'_remote_'+SerialNum+'" style="width: 7%;" onclick="searchServername(this);" autocomplete="off" value="'+default_servername+'">'+
  1031. '<div class="help-hot-list" style="display: none;" id="search_keywords_list_'+data[j]['field_name']+'_remote_'+SerialNum+'"></div>'+
  1032. '</span>'
  1033. ];
  1034. }else{
  1035. if (data[j]['field_use'] == 1){
  1036. html_div += ['<span class="ey_' + data[j]['field_name'] + '"> '];
  1037. }else {
  1038. html_div += ['<span style="display:none;" class="ey_' + data[j]['field_name'] + '"> '];
  1039. }
  1040. html_div +=
  1041. [
  1042. '<span class="title_'+data[j]['field_name']+'"> '+data[j]['field_title']+'</span>:<input type="text" name="'+data[j]['field_name']+'[]" id="'+data[j]['field_name']+'_'+SerialNum+'" style="width: 7%;">'+
  1043. '</span>'
  1044. ];
  1045. }
  1046. }
  1047. }
  1048. html_div +=
  1049. [
  1050. '</div>'
  1051. ];
  1052. }
  1053. }else{
  1054. SerialNum++;
  1055. html_div +=
  1056. [
  1057. '<div class="template_div">'+
  1058. '远程地址'+SerialNum+':<input type="text" name="remote_file[]" value="" placeholder="http://" style="width: 50%;">'
  1059. ];
  1060. if (data) {
  1061. for (var j = 0; j < data.length; j++) {
  1062. if (data[j]['field_name'] == 'server_name') {
  1063. if (data[j]['field_use'] == 1){
  1064. html_div += ['<span class="ey_' + data[j]['field_name'] + '"> '];
  1065. }else {
  1066. html_div += ['<span style="display:none;" class="ey_' + data[j]['field_name'] + '"> '];
  1067. }
  1068. html_div +=
  1069. [
  1070. '<span class="title_'+data[j]['field_name']+'"> '+data[j]['field_title']+'</span>:<input type="text" name="'+data[j]['field_name']+'[]" id="'+data[j]['field_name']+'_remote_'+SerialNum+'" style="width: 7%;" onclick="searchServername(this);" autocomplete="off" value="'+default_servername+'">'+
  1071. '<div class="help-hot-list" style="display: none;" id="search_keywords_list_'+data[j]['field_name']+'_remote_'+SerialNum+'"></div>'+
  1072. '</span>'
  1073. ];
  1074. }else{
  1075. if (data[j]['field_use'] == 1){
  1076. html_div += ['<span class="ey_' + data[j]['field_name'] + '"> '];
  1077. }else {
  1078. html_div += ['<span style="display:none;" class="ey_' + data[j]['field_name'] + '"> '];
  1079. }
  1080. html_div +=
  1081. [
  1082. '<span class="title_'+data[j]['field_name']+'"> '+data[j]['field_title']+'</span>:<input type="text" name="'+data[j]['field_name']+'[]" id="'+data[j]['field_name']+'_'+SerialNum+'" style="width: 7%;">'+
  1083. '</span>'
  1084. ];
  1085. }
  1086. }
  1087. }
  1088. html_div +=
  1089. [
  1090. '</div>'
  1091. ];
  1092. }
  1093. // 追加html
  1094. $('#Template').append(html_div);
  1095. }
  1096. // 文件上传JS
  1097. layui.use('upload', function(){
  1098. var type = "{$basic.file_type}";
  1099. var $ = layui.jquery,upload = layui.upload;
  1100. var servername_use = $('#TemplateSet').attr("data-servername_use");
  1101. // 多文件列表示例
  1102. var demoListView = $('#demoList'),uploadListIns = upload.render({
  1103. elem: '#buttonList',
  1104. url: server_url,
  1105. accept: 'file',
  1106. exts: type,
  1107. multiple: true,
  1108. auto: true,
  1109. bindAction: '#buttonListAction',
  1110. choose: function(obj){
  1111. $('#layui-upload-list_downfile').show();
  1112. // 将每次选择的文件追加到文件队列
  1113. var files = this.files = obj.pushFile();
  1114. // 读取本地文件
  1115. obj.preview(function(index, file, result){
  1116. if (1 == servername_use) {
  1117. var tr = $(
  1118. [
  1119. '<tr id="upload-' + index + '">',
  1120. '<td>' + file.name + '</td>',
  1121. '<td class="th_server_name"><input type="text" name="fileupload[server_name][]" value="{$default_servername}" id="severname_local_' + index + '" onclick="searchServername(this);" autocomplete="off">',
  1122. '<div class="help-hot-list" style="display: none;" id="search_keywords_list_severname_local_' + index + '"></div>',
  1123. '</td>',
  1124. '<td>' + (file.size / 1014).toFixed(1) + ' KB</td>',
  1125. '<td>等待上传</td>',
  1126. '<td>',
  1127. // '<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>',
  1128. '<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete" style="line-height:unset;height: unset;">移除</button>',
  1129. '</td>',
  1130. '</tr>'
  1131. ].join(''));
  1132. }else{
  1133. var tr = $(
  1134. [
  1135. '<tr id="upload-' + index + '">',
  1136. '<td>' + file.name + '</td>',
  1137. '<td class="th_server_name" style="display: none;"><input type="text" name="fileupload[server_name][]" value="{$default_servername}" id="severname_local_' + index + '" onclick="searchServername(this);" autocomplete="off">',
  1138. '<div class="help-hot-list" style="display: none;" id="search_keywords_list_severname_local_' + index + '"></div>',
  1139. '</td>',
  1140. '<td>' + (file.size / 1014).toFixed(1) + ' KB</td>',
  1141. '<td>等待上传</td>',
  1142. '<td>',
  1143. // '<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>',
  1144. '<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete" style="line-height:unset;height: unset;">移除</button>',
  1145. '</td>',
  1146. '</tr>'
  1147. ].join(''));
  1148. }
  1149. // 单个重传
  1150. tr.find('.demo-reload').on('click', function(){
  1151. obj.upload(index, file);
  1152. });
  1153. // 移除
  1154. tr.find('.demo-delete').on('click', function(){
  1155. // 移除对应的文件
  1156. delete files[index];
  1157. tr.remove();
  1158. // 清空 input file 值,以免移除后出现同名文件不可选
  1159. uploadListIns.config.elem.next()[0].value = '';
  1160. });
  1161. demoListView.append(tr);
  1162. });
  1163. },
  1164. done: function(res, index, upload){
  1165. if(res.code == 1){
  1166. // 上传成功
  1167. // 上传成功
  1168. var html = '';
  1169. html += '<input type="hidden" name="fileupload[file_url][]" value="'+res.file_url+'">';
  1170. html += '<input type="hidden" name="fileupload[file_mime][]" value="'+res.file_mime+'">';
  1171. html += '<input type="hidden" name="fileupload[file_name][]" value="'+res.file_name+'">';
  1172. html += '<input type="hidden" name="fileupload[file_ext][]" value="'+res.file_ext+'">';
  1173. html += '<input type="hidden" name="fileupload[file_size][]" value="'+res.file_size+'">';
  1174. html += '<input type="hidden" name="fileupload[uhash][]" value="'+res.uhash+'">';
  1175. html += '<input type="hidden" name="fileupload[md5file][]" value="'+res.md5file+'">';
  1176. var tr = demoListView.find('tr#upload-'+ index),
  1177. tds = tr.children();
  1178. tds.eq(0).html(res.file_name);
  1179. tds.eq(3).html('<span style="color: #5FB878;">'+res.msg+'</span>');
  1180. tds.eq(4).html('<span class="layui-btn layui-btn-xs layui-btn-danger" style="line-height:unset;height: unset;" onclick="DeleteFile(this);">移除</span>'+html);
  1181. // 清空操作
  1182. return delete this.files[index];// 移除文件队列已经上传成功的文件
  1183. }
  1184. this.error(res, index, upload);
  1185. },
  1186. error: function(res, index, upload){
  1187. if (res.msg){
  1188. var tr = demoListView.find('tr#upload-'+ index),
  1189. tds = tr.children();
  1190. tds.eq(3).html('<span style="color: #FF5722;">'+res.msg+'</span>');
  1191. }else{
  1192. msg = "请求上传接口出现异常,请打开<a style='color:red;' target='_blank' href='https://www.eyoucms.com/plus/view.php?aid=28315&origin_eycms=1'>教程</a>查看是否存在配置错误";
  1193. showSuccessAlert(msg);
  1194. }
  1195. return false;
  1196. }
  1197. });
  1198. });
  1199. </script>
  1200. <script type="text/javascript">
  1201. layui.use('laydate', function() {
  1202. var laydate = layui.laydate;
  1203. laydate.render({
  1204. elem: '#add_time'
  1205. ,type: 'datetime'
  1206. });
  1207. })
  1208. $(function () {
  1209. try {
  1210. var web_citysite_open = {$global['web_citysite_open']|default=0};
  1211. if (web_citysite_open > 0) {
  1212. var province_id = {$field.province_id|default=0};
  1213. var city_id = {$field.city_id|default=0};
  1214. var area_id = {$field.area_id|default=0};
  1215. if (province_id > 0) {
  1216. set_city_list(city_id);
  1217. }
  1218. if (city_id > 0) {
  1219. set_area_list(area_id);
  1220. }
  1221. }
  1222. }catch(e){}
  1223. //选项卡切换列表
  1224. $('.tab-base').find('.tab').click(function(){
  1225. $('.tab-base').find('.tab').each(function(){
  1226. $(this).removeClass('current');
  1227. });
  1228. $(this).addClass('current');
  1229. var tab_index = $(this).data('index');
  1230. $(".tab_div_1, .tab_div_2, .tab_div_3, .tab_div_4").hide();
  1231. $(".tab_div_"+tab_index).show();
  1232. layer.closeAll();
  1233. });
  1234. $('input[name=is_jump]').click(function(){
  1235. if ($(this).is(':checked')) {
  1236. $('.dl_jump').show();
  1237. } else {
  1238. $('.dl_jump').hide();
  1239. }
  1240. });
  1241. var dftypeid = {$field.typeid|default='0'};
  1242. $('#typeid').change(function(){
  1243. var current_channel = $(this).find('option:selected').data('current_channel');
  1244. if (0 < $(this).val() && {$channeltype} != current_channel) {
  1245. showErrorMsg('请选择对应模型的栏目!');
  1246. $(this).val(dftypeid);
  1247. } else if ({$channeltype} == current_channel) {
  1248. layer.closeAll();
  1249. }
  1250. var aid = $("input[name=aid]").val();
  1251. GetAddonextitem(1, $(this).val(), {$channeltype}, aid, true);
  1252. });
  1253. $(document).click(function(){
  1254. $('#often_tags').hide();
  1255. $('#often_tags_input').hide();
  1256. event.stopPropagation();
  1257. });
  1258. $('#often_tags').click(function(){
  1259. $('#often_tags').show();
  1260. event.stopPropagation();
  1261. });
  1262. $('input[name=restric_type]').click(function(){
  1263. $('#dl_arc_level_id').hide();
  1264. $('#dl_users_price').hide();
  1265. $('#no_vip_pay_label').hide();
  1266. var restric_type = $(this).val();
  1267. $('#arc_level_id').find('option:eq(0)').attr('selected',true);
  1268. if (-1 < $.inArray(restric_type, ['1','3'])) {
  1269. $('#dl_users_price').show();
  1270. }
  1271. if (-1 < $.inArray(restric_type, ['2','3'])) {
  1272. $('#dl_arc_level_id').show();
  1273. if (2 == restric_type) {
  1274. $('#no_vip_pay_label').show();
  1275. if ($('#no_vip_pay').is(':checked')){
  1276. $('#dl_users_price').show();
  1277. }
  1278. }
  1279. }
  1280. });
  1281. });
  1282. // 判断输入框是否为空
  1283. function check_submit(){
  1284. if($.trim($('input[name=title]').val()) == ''){
  1285. $($('.tab-base').find('.tab')[0]).trigger('click');
  1286. showErrorMsg('标题不能为空!');
  1287. $('input[name=title]').focus();
  1288. return false;
  1289. }
  1290. if ($('#typeid').val() == 0) {
  1291. $($('.tab-base').find('.tab')[0]).trigger('click');
  1292. showErrorMsg('请选择栏目…!');
  1293. $('#typeid').focus();
  1294. return false;
  1295. }
  1296. var is_download_pay = {$channelRow.data.is_download_pay|default=0};
  1297. if (is_download_pay != 0) {
  1298. var restric_type = $('input[name=restric_type]:checked').val()
  1299. if ( restric_type == 1 || restric_type == 3 || (restric_type == 2 && $('#no_vip_pay').is(':checked'))){
  1300. var users_price = $('#users_price').val();
  1301. if (parseFloat(users_price).toString() == "NaN") {
  1302. users_price = 0;
  1303. }
  1304. if (0 == users_price || users_price == '') {
  1305. showErrorMsg('购买价格不能为空或0');
  1306. $('#users_price').focus();
  1307. return false;
  1308. } else {
  1309. var exp = /^(([1-9]\d*)|\d)(\.\d{1,2})?$/;
  1310. if (!exp.test(users_price)) {
  1311. showErrorMsg('购买价格格式不正确!');
  1312. $('#users_price').focus();
  1313. return false;
  1314. }
  1315. }
  1316. }
  1317. }
  1318. var htmlfilename = $.trim($('input[name=htmlfilename]').val());
  1319. if (htmlfilename != '') {
  1320. var exp = /^\d{1,}$/;
  1321. if (exp.test(htmlfilename)) {
  1322. showErrorAlert('自定义文件名不能纯数字,会与文档ID冲突!');
  1323. $('input[name=htmlfilename]').focus();
  1324. return false;
  1325. }
  1326. }
  1327. layer_loading('正在处理');
  1328. if(!ajax_check_htmlfilename())
  1329. {
  1330. layer.closeAll();
  1331. showErrorMsg('同栏目下,自定义文件名已存在!');
  1332. $('input[name=htmlfilename]').focus();
  1333. return false;
  1334. }
  1335. setTimeout(function (){
  1336. editor_auto_210607();
  1337. $('#post_form').submit();
  1338. }, 1);
  1339. }
  1340. function img_call_back(fileurl_tmp)
  1341. {
  1342. $("#litpic_local").val(fileurl_tmp);
  1343. $("#img_a").attr('href', fileurl_tmp);
  1344. $("#img_i").attr('onmouseover', "layer_tips=layer.tips('<img src="+fileurl_tmp+" class=\\'layer_tips_img\\'>',this,{tips: [1, '#fff']});");
  1345. $("input[name=is_litpic]").attr('checked', true); // 自动勾选属性[图片]
  1346. }
  1347. function round_num() {
  1348. var num = '';
  1349. for(var i=0;i<3;i++)
  1350. {
  1351. num+=Math.floor(Math.random()*10);
  1352. }
  1353. return num;
  1354. }
  1355. function judgeExt(ext) {
  1356. var type = "{$basic.file_type}";
  1357. var extArr = [];
  1358. extArr = type.split("|");
  1359. var ext = ext.replace(".","");
  1360. return extArr.indexOf(ext);
  1361. }
  1362. </script>
  1363. <script type="text/javascript">
  1364. $(function(){
  1365. $("body").click(function(){
  1366. $('.help-hot-list').hide();
  1367. });
  1368. });
  1369. var t2_1598602098 = '';
  1370. function search_mouseover(th)
  1371. {
  1372. var sinput_id = $(th).attr('data-sinput_id');
  1373. $('#search_keywords_list_'+sinput_id).show();
  1374. try{
  1375. clearTimeout(t2_1598602098);
  1376. }catch(e){}
  1377. }
  1378. function search_mouseout(th)
  1379. {
  1380. var sinput_id = $(th).attr('data-sinput_id');
  1381. var setFunc = $("#search_keywords_list_"+sinput_id).hide();
  1382. t2_1598602098 = setTimeout('"'+setFunc+'"',1000);
  1383. }
  1384. function searchServername(th) {
  1385. var sinput_id = $(th).attr('id');
  1386. $.ajax({
  1387. type: "POST",
  1388. url: "{:url('Download/search_servername')}",
  1389. data: {keyword:'',_ajax:1},
  1390. dataType: 'json',
  1391. cache: false,
  1392. success: function (res) {
  1393. if(res.code == 1){
  1394. if (res.data.length > 0) {
  1395. // console.log(res.data);return false;
  1396. var html='';
  1397. res.data.forEach(function(i,e) {
  1398. var e_num = e+1;
  1399. html += '<a href="javascript:void(0);" onclick="select_sname(this);" onmouseover="search_mouseover(this);" onmouseout="search_mouseout(this);" data-sname="'+i+'" data-sinput_id="'+sinput_id+'" style="cursor: pointer;">';
  1400. html += '<div class="number c'+e_num+'">'+e_num+'</div>';
  1401. html += '<div class="hottxt">'+i+'</div>';
  1402. html += '</a>';
  1403. });
  1404. // console.log($('#search_keywords_list_'+sinput_id));return false;
  1405. $('#search_keywords_list_'+sinput_id).html(html).show();
  1406. } else {
  1407. $('#search_keywords_list_'+sinput_id).hide();
  1408. }
  1409. } else {
  1410. $('#search_keywords_list_'+sinput_id).hide();
  1411. }
  1412. }
  1413. });
  1414. }
  1415. function select_sname(th) {
  1416. var sinput_id = $(th).attr('data-sinput_id');
  1417. var sname = $(th).attr('data-sname');
  1418. $("#"+sinput_id).val(sname);
  1419. }
  1420. function clickNoVipPay(obj) {
  1421. if ($(obj).is(':checked')) {
  1422. $('#dl_users_price').show();
  1423. } else {
  1424. $('#dl_users_price').hide();
  1425. }
  1426. }
  1427. </script>
  1428. <script>
  1429. try{
  1430. var mt20_1649209614 = sessionStorage.getItem("mt20_1649209614");
  1431. if (mt20_1649209614 == 1){
  1432. $("#geduan_div").removeClass("h10");
  1433. }else{
  1434. $("#geduan_div").addClass("h10");
  1435. }
  1436. }catch(e){}
  1437. </script>
  1438. {include file="public/footer" /}