adManage.html 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656
  1. <div class="bg-light lter b-b wrapper-md">
  2. <h1 class="m-n font-thin h4">投放广告</h1>
  3. </div>
  4. <div class="wrapper-md" ng-controller="adManageCtrl">
  5. <style>
  6. .condition-row{
  7. background: #eee;
  8. margin: 10px -5px !important;
  9. border: 1px solid #ccc;
  10. padding: 5px !important;
  11. }
  12. </style>
  13. <div class="panel panel-default">
  14. <div class="row wrapper">
  15. <div class="col-sm-4">
  16. <div>
  17. <div class="btn btn-default" ng-click="addAd()"><i class="fa fa-plus-circle"></i> 新增</div>
  18. <div class="btn btn-default" ng-click="editAd()"><i class="fa fa-edit "></i> 修改</div>
  19. <div class="btn btn-default" ng-click="deleteAd()"><i class="fa fa-trash-o"></i> 删除</div>
  20. </div>
  21. </div>
  22. <div class="col-sm-2">
  23. </div>
  24. <div class="col-sm-6">
  25. <div class="col-sm-6 text-right">
  26. <div class="btn-group dropdown" dropdown>
  27. <button class="btn btn-default dropdown-toggle" dropdown-toggle>
  28. <span class="dropdown-label">{{condition.online.label}}</span>
  29. <span class="caret"></span>
  30. </button>
  31. <ul class="dropdown-menu">
  32. <li ng-repeat="item in enum.online" ng-click="event.conditionChange('online',item)">
  33. <a href ng-bind="item.label"></a></li>
  34. </ul>
  35. </div>
  36. <div class="btn-group dropdown" dropdown>
  37. <button class="btn btn-default dropdown-toggle" dropdown-toggle>
  38. <span class="dropdown-label">{{condition.adType.label}}</span>
  39. <span class="caret"></span>
  40. </button>
  41. <ul class="dropdown-menu">
  42. <li ng-repeat="item in enum.adType" ng-click="event.conditionChange('adType',item)">
  43. <a href ng-bind="item.label"></a></li>
  44. </ul>
  45. </div>
  46. </div>
  47. <div class="col-sm-6">
  48. <div class="btn-group input-group">
  49. <input type="text" class=" form-control" ng-model="condition.searchKey"
  50. ng-keydown="$event.keyCode==13&&event.search()"
  51. placeholder="名称、广告词等">
  52. <span class="input-group-btn">
  53. <div class="btn btn-default" ng-click="event.search()"><i class="fa fa-search"></i> 搜索</div>
  54. </span>
  55. </div>
  56. </div>
  57. </div>
  58. </div>
  59. <div class="table-responsive">
  60. <div ui-grid="gridOptions" style="min-height:420px" ui-grid-pagination ui-grid-selection ui-grid-expandable
  61. ui-grid-resize-columns></div>
  62. <div class="grid-mask" ng-if="gridOptionsLoading"><span>正在加载,请稍候...</span></div>
  63. </div>
  64. </div>
  65. <!--禁止enter提交-->
  66. <form name="adForm" id="adPanel" class="form-horizontal form-validation modal fade" role="dialog"
  67. onkeydown="if(event.keyCode==13){return false;}"
  68. style=" width: 1280px;height: 80%">
  69. <div class="panel panel-default">
  70. <div class="panel-heading">
  71. <strong ng-bind="dialogName"></strong>
  72. </div>
  73. <div class="panel-body no-animate">
  74. <accordion close-others="false">
  75. <accordion-group is-open="dialogStatus.openbase">
  76. <accordion-heading>
  77. 基本配置<i class="pull-right fa fa-angle-right"
  78. ng-class="{'fa-angle-down': dialogStatus.openbase, 'fa-angle-right': !dialogStatus.openbase}"></i>
  79. </accordion-heading>
  80. <div class="form-group">
  81. <label class="col-sm-3 control-label">是否开启</label>
  82. <div class="col-sm-3">
  83. <div class="checkbox">
  84. <label class="i-checks">
  85. <input type="checkbox" ng-model="dialogData.online">
  86. <i></i>
  87. </label>
  88. </div>
  89. </div>
  90. </div>
  91. <div class="form-group">
  92. <label class="col-sm-3 control-label">名称<i class="text-danger text-base"> *</i></label>
  93. <div class="col-sm-4">
  94. <input type="text" ng-model="dialogData.name" class="form-control" placeholder="名称"
  95. required>
  96. </div>
  97. </div>
  98. <div class="form-group">
  99. <label class="col-sm-3 control-label">广告场景<i class="text-danger text-base"> *</i></label>
  100. <div class="col-sm-9">
  101. <div class="radio pull-left">
  102. <label class="i-checks">
  103. <input type="radio" name="adType" value="init" required
  104. ng-model="dialogData.adType">
  105. <i></i>
  106. 主页广告
  107. </label>
  108. </div>
  109. <!--<div class="radio pull-left m-l">-->
  110. <!--<label class="i-checks">-->
  111. <!--<input type="radio" name="adType" value="payAfter" required-->
  112. <!--ng-model="dialogData.adType">-->
  113. <!--<i></i>-->
  114. <!--投币后-->
  115. <!--</label>-->
  116. <!--</div>-->
  117. </div>
  118. </div>
  119. <div ng-if="dialogData.adType=='init'">
  120. <div class="form-group">
  121. <label class="col-sm-3 control-label">自动下线</label>
  122. <div class="col-sm-2">
  123. <input type="number" min="0" ng-model="dialogData.offlineFansNumber"
  124. class="form-control"
  125. placeholder="0"
  126. required>
  127. </div>
  128. <div class="col-sm-7 m-t-xs ">
  129. <span class="">吸粉达到指定数目下线,输入0则不下线</span>
  130. </div>
  131. </div>
  132. <div class="form-group">
  133. <label class="col-sm-3 control-label">吸粉号类型<i class="text-danger text-base">
  134. *</i></label>
  135. <div class="col-sm-9">
  136. <div class="radio pull-left">
  137. <label class="i-checks">
  138. <input type="radio" name="fansType" value="person" required
  139. ng-model="dialogData.fansType">
  140. <i></i>
  141. 个人号
  142. </label>
  143. </div>
  144. <div class="radio pull-left m-l">
  145. <label class="i-checks">
  146. <input type="radio" name="fansType" value="official" required
  147. ng-model="dialogData.fansType">
  148. <i></i>
  149. 公众号
  150. </label>
  151. </div>
  152. </div>
  153. </div>
  154. </div>
  155. <div ng-if="dialogData.adType=='payAfter'&&(!dialogData.scriptType)">
  156. <div class="line line-dashed b-b line-lg pull-in"></div>
  157. <div class="form-group">
  158. <label class="col-sm-3 control-label">跳转行为<i class="text-danger text-base">
  159. *</i></label>
  160. <div class="col-sm-9">
  161. <div class="radio pull-left">
  162. <label class="i-checks">
  163. <input type="radio" name="autoRedirect" ng-value="false" required
  164. ng-model="dialogData.configs.autoRedirect">
  165. <i></i>
  166. 点击跳转
  167. </label>
  168. </div>
  169. <div class="radio pull-left m-l">
  170. <label class="i-checks">
  171. <input type="radio" name="autoRedirect" ng-value="true" required
  172. ng-model="dialogData.configs.autoRedirect">
  173. <i></i>
  174. 自动跳转
  175. </label>
  176. </div>
  177. </div>
  178. </div>
  179. <div class="form-group">
  180. <label class="col-sm-3 control-label">广告链接<i class="text-danger text-base"> *</i></label>
  181. <div class="col-sm-9">
  182. <input type="url" ng-model="dialogData.link" class="form-control"
  183. placeholder="http://www.baidu.com" required>
  184. </div>
  185. </div>
  186. </div>
  187. <div ng-if="dialogData.adType=='payAfter'">
  188. <div class="line line-dashed b-b line-lg pull-in"></div>
  189. <div class="form-group">
  190. <label class="col-sm-3 control-label">广告脚本</label>
  191. <div class="col-sm-9">
  192. <div class="radio pull-left ">
  193. <label class="i-checks">
  194. <input type="radio" name="fansType" value="remote"
  195. ng-model="dialogData.scriptType">
  196. <i></i>
  197. 远程脚本路径
  198. </label>
  199. </div>
  200. <div class="radio pull-left m-l">
  201. <label class="i-checks">
  202. <input type="radio" name="fansType" value="inline"
  203. ng-model="dialogData.scriptType">
  204. <i></i>
  205. 代码文本
  206. </label>
  207. </div>
  208. <div class="radio pull-left m-l">
  209. <label class="i-checks">
  210. <input type="radio" name="fansType" value=""
  211. ng-model="dialogData.scriptType">
  212. <i></i>
  213. 无
  214. </label>
  215. </div>
  216. </div>
  217. </div>
  218. <div class="form-group" ng-if="dialogData.scriptType=='remote'">
  219. <label class="col-sm-3 control-label">脚本代码</label>
  220. <div class="col-sm-9">
  221. <input type="url" ng-model="dialogData.script" class="form-control"
  222. placeholder="">
  223. </div>
  224. </div>
  225. <div class="form-group" ng-if="dialogData.scriptType=='inline'">
  226. <label class="col-sm-3 control-label">脚本代码</label>
  227. <div class="col-sm-9">
  228. <textarea ng-model="dialogData.script" style="height: 100px;"
  229. class="form-control" placeholder="代码"></textarea>
  230. </div>
  231. </div>
  232. </div>
  233. <div class="line line-dashed b-b line-lg pull-in"></div>
  234. <div class="form-group">
  235. <label class="col-sm-3 control-label">广告词<i ng-if="dialogData.adType=='init'"
  236. class="text-danger text-base"> *</i></label>
  237. <div class="col-sm-4">
  238. <input type="text" ng-model="dialogData.word" class="form-control" name="word"
  239. placeholder="广告词"
  240. ng-required="dialogData.adType=='init'">
  241. </div>
  242. </div>
  243. <div class="form-group">
  244. <label class="col-sm-3 control-label">图片|素材</label>
  245. <div class="col-sm-5">
  246. <!---文件选择-->
  247. <input type="file" nv-file-select="" id="fileUpload" uploader="uploader"/>
  248. <input type="hidden" name="img" id="fileUploadValue" title="图片路径隐藏域"
  249. class="form-control hide-required-img-input img-input"
  250. ng-model="dialogData.img"/>
  251. <!---上传进度-->
  252. <div class="progress bg-light dker" style="margin-top: 10px;margin-bottom: 10px">
  253. <div class="progress-bar progress-bar-striped bg-info" role="progressbar"
  254. ng-style="{ 'width': uploader.progress + '%' }"></div>
  255. </div>
  256. <!---上传按钮-->
  257. <button type="button" class="btn btn-addon btn-success" ng-click="uploader.uploadAll()"
  258. ng-disabled="!uploader.getNotUploadedItems().length">
  259. <i class="fa fa-arrow-circle-o-up"></i> 上传图片
  260. </button>
  261. </div>
  262. <div class="col-sm-4">
  263. <!---图片预览-->
  264. <img id="previewImg"
  265. ng-src="{{dialogData.img+(dialogData.img?('?t='+dialogData._nowTime):'')}}"
  266. style="max-height: 160px;max-width: 100%">
  267. </div>
  268. </div>
  269. </accordion-group>
  270. <accordion-group is-open="dialogStatus.opentarget" ng-click="ngEvent.openDeviceTarget()">
  271. <accordion-heading>
  272. 投放目标<i class="pull-right fa fa-angle-right"
  273. ng-class="{'fa-angle-down': dialogStatus.opentarget, 'fa-angle-right': !dialogStatus.opentarget}"></i>
  274. </accordion-heading>
  275. <div style="min-height: 600px">
  276. <div class="form-group m-b-xs ">
  277. <label class="col-sm-4 control-label text-left padding-t-0">地址类型</label>
  278. </div>
  279. <div class="form-group form-inline ">
  280. <div class="col-sm-12">
  281. <div class="checkbox m-l m-r-xs"
  282. ng-repeat="item in dialogData.selectAddressType">
  283. <label class="i-checks">
  284. <input type="checkbox"
  285. ng-true-value="true"
  286. ng-false-value="false" ng-model="item.checked"><i></i>
  287. {{item.label}}
  288. </label>
  289. </div>
  290. </div>
  291. </div>
  292. <div class="form-group m-b-xs ">
  293. <label class="col-sm-4 control-label text-left padding-t-0">设备类型</label>
  294. </div>
  295. <div class="form-group form-inline ">
  296. <div class="col-sm-12">
  297. <div class="checkbox m-l m-r-xs"
  298. ng-repeat="item in dialogData.selectDevType">
  299. <label class="i-checks">
  300. <input type="checkbox"
  301. ng-true-value="true"
  302. ng-false-value="false" ng-model="item.checked"><i></i>
  303. {{item.name}}
  304. </label>
  305. </div>
  306. </div>
  307. </div>
  308. <div class="form-group m-b-xs col-sm-12">
  309. <button type="button" class="btn btn-info" ng-click="ngEvent.findDevList()">查询
  310. </button>
  311. </div>
  312. <div class="line line-dashed b-b line-lg pull-in"></div>
  313. <div class="form-group m-b-xs ">
  314. <div class="checkbox m-l m-r-xs">
  315. <label class="i-checks">
  316. <input type="checkbox" ng-change="ngEvent.selectAllDevice()"
  317. ng-true-value="true"
  318. ng-false-value="false"
  319. ng-model="dialogData.selectAllDeviceChecked"><i></i>
  320. 全选
  321. </label>
  322. <label class=" control-label text-left padding-t-0">目标设备(将投放广告给这些选中设备)</label>
  323. </div>
  324. </div>
  325. <div class="form-group ">
  326. <div class="table-responsive">
  327. <div ui-grid="deviceGridOptions" ui-grid-pagination
  328. ui-grid-resize-columns></div>
  329. </div>
  330. </div>
  331. <div class="line line-dashed b-b line-lg pull-in"></div>
  332. <div class="form-group m-b-xs ">
  333. <label class="col-sm-4 control-label text-left ">目标人群性别</label>
  334. </div>
  335. <div class="form-group">
  336. <div class="col-sm-4">
  337. <select class="form-control" ng-model="dialogData.targetSex">
  338. <option value="*">*</option>
  339. <option value="男">男</option>
  340. <option value="女">女</option>
  341. </select>
  342. </div>
  343. </div>
  344. <div class="form-group m-b-xs ">
  345. <label class="col-sm-4 control-label text-left ">手机系统</label>
  346. </div>
  347. <div class="form-group form-inline">
  348. <div class="col-sm-12">
  349. <div class="checkbox m-l m-r-xs"
  350. ng-repeat="item in dialogData.selectPhoneOS">
  351. <label class="i-checks">
  352. <input type="checkbox" value="item.name"
  353. ng-true-value="true"
  354. ng-false-value="false" ng-model="item.checked"><i></i>
  355. {{item.name}}
  356. </label>
  357. </div>
  358. </div>
  359. </div>
  360. <div class="form-group m-b-xs ">
  361. <label class="col-sm-4 control-label text-left ">网关</label>
  362. </div>
  363. <div class="form-group form-inline">
  364. <div class="col-sm-12">
  365. <div class="checkbox m-l m-r-xs"
  366. ng-repeat="item in dialogData.selectGateway">
  367. <label class="i-checks">
  368. <input type="checkbox" value="item.name"
  369. ng-true-value="true"
  370. ng-false-value="false" ng-model="item.checked"><i></i>
  371. {{item.name}}
  372. </label>
  373. </div>
  374. </div>
  375. </div>
  376. </div>
  377. </accordion-group>
  378. <accordion-group is-open="dialogStatus.openptime">
  379. <accordion-heading>
  380. 投放时间<i class="pull-right fa fa-angle-right"
  381. ng-class="{'fa-angle-down': dialogStatus.openptime, 'fa-angle-right': !dialogStatus.openptime}"></i>
  382. </accordion-heading>
  383. <div style="min-height: 400px">
  384. <div class="form-group">
  385. <label class="col-sm-3 control-label">开始时间</label>
  386. <div class="col-sm-4">
  387. <div class="dropdown" dropdown is-open="startTimeOpen">
  388. <a class="dropdown-toggle" data-target="#" href="">
  389. <div class="input-group" dropdown-toggle>
  390. <input type="text" class="form-control" onkeydown="return false"
  391. name="startTime"
  392. ui-validate="'$value==null||$value&&$value<dialogData.endTime'"
  393. ui-validate-watch=" 'dialogData.endTime'"
  394. ng-model="dialogData.startTime"
  395. placeholder="请选择开始时间">
  396. <span class="input-group-addon"><i
  397. class="glyphicon glyphicon-calendar"></i></span>
  398. </div>
  399. </a>
  400. <span ng-show="adForm.startTime.$invalid"
  401. class="text-danger">开始时间必须小于结束时间!</span>
  402. <ul class="dropdown-menu" dropdown-menu>
  403. <datetimepicker on-set-time="timeChange()" class="max"
  404. data-datetimepicker-config="{modelType: 'YYYY-MM-DD HH:mm'}"
  405. data-ng-model="dialogData.startTime"></datetimepicker>
  406. </ul>
  407. </div>
  408. </div>
  409. </div>
  410. <div class="form-group">
  411. <label class="col-sm-3 control-label">结束时间</label>
  412. <div class="col-sm-4">
  413. <div class="dropdown" dropdown is-open="endTimeOpen">
  414. <a class="dropdown-toggle" data-target="#" href="">
  415. <div class="input-group" dropdown-toggle>
  416. <input type="text" class="form-control" onkeydown="return false"
  417. name="endTime"
  418. ui-validate="'$value==null||$value&&$value>dialogData.startTime'"
  419. ui-validate-watch=" 'dialogData.startTime'"
  420. ng-model="dialogData.endTime"
  421. placeholder="请选择结束时间">
  422. <span class="input-group-addon"><i
  423. class="glyphicon glyphicon-calendar"></i></span>
  424. </div>
  425. </a>
  426. <span ng-show="adForm.endTime.$invalid"
  427. class="text-danger">开始时间必须小于结束时间!</span>
  428. <ul class="dropdown-menu" dropdown-menu>
  429. <datetimepicker on-set-time="timeChange()" class="max"
  430. data-datetimepicker-config="{modelType: 'YYYY-MM-DD HH:mm'}"
  431. data-ng-model="dialogData.endTime"></datetimepicker>
  432. </ul>
  433. </div>
  434. </div>
  435. <div class="col-sm-4">
  436. <div class="btn-group dropdown" dropdown>
  437. <input type="button" class="dropdown-toggle form-control v-middle" value="快速选择"
  438. dropdown-toggle>
  439. <ul class="dropdown-menu" id="adTimeRange">
  440. <li ng-click="modelEvent.adQuickTime($event,3)"><a href>未来3天</a></li>
  441. <li ng-click="modelEvent.adQuickTime($event,30)"><a href>未来30天</a></li>
  442. <li ng-click="modelEvent.adQuickTime($event,90)"><a href>未来90天</a></li>
  443. <li ng-click="modelEvent.adQuickTime($event,180)"><a href>未来180天</a></li>
  444. <li ng-click="modelEvent.adQuickTime($event,365)"><a href>未来1年</a></li>
  445. <li ng-click="modelEvent.adQuickTime($event,365*3)"><a href>未来3年</a></li>
  446. <li ng-click="modelEvent.adQuickTime($event,365*10)"><a href>未来10年</a></li>
  447. </ul>
  448. </div>
  449. </div>
  450. </div>
  451. </div>
  452. </accordion-group>
  453. </accordion>
  454. </div>
  455. <footer class="panel-footer text-right bg-light lter">
  456. <button type="submit" class="btn btn-success" ng-click="saveData()">保存
  457. </button>
  458. </footer>
  459. </div>
  460. </form>
  461. <div id="copyLinkPanel" class="form-horizontal form-validation modal fade" role="dialog"
  462. style="width: 480px;min-height: 180px;height: 180px">
  463. <div class="panel panel-default">
  464. <div class="panel-heading text-center">
  465. <strong>复制链接</strong>
  466. </div>
  467. <div class="panel-body">
  468. <div class="form-group">
  469. <div class="col-sm-12">
  470. <input type="text" ng-model="copyLinkData.link" class="form-control" placeholder=""
  471. id="copyLinkInput"
  472. required>
  473. </div>
  474. </div>
  475. </div>
  476. <footer class="panel-footer text-center bg-light lter">
  477. <button id="copyLinkBtn" data-clipboard-target="#copyLinkInput" type="submit" class="btn btn-info"
  478. >复制
  479. </button>
  480. </footer>
  481. </div>
  482. </div>
  483. <div id="chartInfoPanel" class="form-horizontal form-validation modal fade" role="dialog"
  484. style="height:80%;width: 80%;">
  485. <div class="panel panel-default">
  486. <div class="nav-tabs-alt panel-heading">
  487. <ul class="nav nav-tabs ">
  488. <li ng-class="{active:adFansDetailShow=='chart'}">
  489. <a ng-click="modelEvent.adFansDetailShow('chart')"><i class="fa fa-bar-chart-o"></i> 查看统计图</a>
  490. </li>
  491. <li ng-class="{active:adFansDetailShow=='grid'}">
  492. <a ng-click="modelEvent.adFansDetailShow('grid')"><i class="fa fa-list"></i> 查看列表</a>
  493. </li>
  494. </ul>
  495. </div>
  496. <div class="panel-heading" style="height: auto">
  497. <div class="m-l-xs btn-group dropdown" dropdown is-open="modelEvent.startTimeOpen">
  498. <input type="text" class="form-control w-xs" dropdown-toggle
  499. ng-model="chartCondition.startTime"
  500. placeholder="开始日期">
  501. <ul class="dropdown-menu" dropdown-menu>
  502. <datetimepicker
  503. data-datetimepicker-config="{modelType: 'YYYY-MM-DD',startView:'day',minView:'day'}"
  504. on-set-time="modelEvent.timeChange()"
  505. data-ng-model="chartCondition.startTime"></datetimepicker>
  506. </ul>
  507. </div>
  508. <span class="v-middle">至</span>
  509. <div class="btn-group dropdown" dropdown is-open="modelEvent.endTimeOpen">
  510. <input type="text" class=" form-control w-xs" dropdown-toggle
  511. ng-model="chartCondition.endTime"
  512. placeholder="结束日期">
  513. <ul class="dropdown-menu" dropdown-menu>
  514. <datetimepicker
  515. data-datetimepicker-config="{modelType: 'YYYY-MM-DD',startView:'day',minView:'day'}"
  516. on-set-time="modelEvent.timeChange()"
  517. data-ng-model="chartCondition.endTime"></datetimepicker>
  518. </ul>
  519. </div>
  520. <div class="btn-group dropdown" dropdown>
  521. <input type="button" class="dropdown-toggle form-control v-middle" value="快捷日期"
  522. dropdown-toggle>
  523. <ul class="dropdown-menu" id="timeRange">
  524. <li ng-click="modelEvent.quickTime($event,1)"><a href>今天</a></li>
  525. <li ng-click="modelEvent.quickTime($event,7)"><a href>过去7天</a></li>
  526. <li ng-click="modelEvent.quickTime($event,15)"><a href>过去15天</a></li>
  527. <li ng-click="modelEvent.quickTime($event,30)"><a href>最近30天</a></li>
  528. <li ng-click="modelEvent.quickTime($event,60)"><a href>最近60天</a></li>
  529. <li ng-click="modelEvent.quickTime($event,90)"><a href>最近90天</a></li>
  530. </ul>
  531. </div>
  532. <div class="btn btn-default btn-info" ng-click="modelEvent.searchDetail()"><i
  533. class="fa fa-search"></i> 查询
  534. </div>
  535. <!--<div class=" inline" ng-show="adFansDetailShow=='grid'">-->
  536. <!--<div ng-disabled="ngEvent.exportExcelOpen" class="btn btn-default btn-success"-->
  537. <!--ng-click="ngEvent.exportExcel()"><i class="fa fa-file-excel-o"></i>-->
  538. <!--生成报表-->
  539. <!--</div>-->
  540. <!--</div>-->
  541. </div>
  542. <div class="panel-body">
  543. <div id="adChartPanel" style="height: 100%" ng-show="adFansDetailShow=='chart'"></div>
  544. <div class="table-responsive" style="height: 100%" ng-show="adFansDetailShow=='grid'">
  545. <div ui-grid="adFansDetailGridOptions" style="min-height:96%" ui-grid-pagination
  546. ui-grid-resize-columns></div>
  547. </div>
  548. </div>
  549. <footer class="panel-footer text-center bg-light lter">
  550. <button type="button" class="btn btn-info margin-5" ng-click="closeChart()"
  551. style="margin-left: 8px"><i
  552. class="fa fa-close"></i> 关闭
  553. </button>
  554. </footer>
  555. </div>
  556. </div>
  557. <div id="QRCodePanel" class="form-horizontal form-validation modal fade" role="dialog"
  558. style=" width: 360px;min-height: 388px;height: 388px">
  559. <div class="panel panel-default">
  560. <div class="panel-heading text-center">
  561. <strong ng-if="!currentWxIsLogin">扫码登录</strong>
  562. <strong ng-if="currentWxIsLogin" class="text-success">{{currentWxUserName}}已登录</strong>
  563. </div>
  564. <div class="panel-body">
  565. <div class="form-group text-center">
  566. <img id="qrCodePreviewImg"
  567. style="z-index: 9;position:relative;box-shadow: 0 0 4px #ccc;background: #fff"
  568. width="200"
  569. height="230"/></div>
  570. <div class="text-center">
  571. <a href="javascript:void(0)" ng-if="currentWxTimeout" ng-click="refreshQRCode()"
  572. class="text-danger">已超时,点此处刷新二维码</a>
  573. </div>
  574. </div>
  575. <footer class="panel-footer text-center bg-light lter">
  576. <button type="button" class="btn btn-info margin-5" ng-click="closeQRCode()" style="margin-left: 8px"><i
  577. class="fa fa-close"></i> 关闭
  578. </button>
  579. </footer>
  580. </div>
  581. </div>
  582. </div>