12172d2e9ead3ae6416d19705b878ed0.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. <?php if (!defined('THINK_PATH')) exit(); /*a:4:{s:82:"D:\phpstudy_pro\WWW\minongyun\public/../application/admin\view\customer\index.html";i:1709714141;s:72:"D:\phpstudy_pro\WWW\minongyun\application\admin\view\layout\default.html";i:1709714141;s:69:"D:\phpstudy_pro\WWW\minongyun\application\admin\view\common\meta.html";i:1709714141;s:71:"D:\phpstudy_pro\WWW\minongyun\application\admin\view\common\script.html";i:1711415624;}*/ ?>
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <title><?php echo (isset($title) && ($title !== '')?$title:''); ?></title>
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
  8. <meta name="renderer" content="webkit">
  9. <meta name="referrer" content="never">
  10. <meta name="robots" content="noindex, nofollow">
  11. <link rel="shortcut icon" href="/assets/img/favicon.ico" />
  12. <!-- Loading Bootstrap -->
  13. <link href="/assets/css/backend<?php echo \think\Config::get('app_debug')?'':'.min'; ?>.css?v=<?php echo \think\Config::get('site.version'); ?>" rel="stylesheet">
  14. <?php if(\think\Config::get('fastadmin.adminskin')): ?>
  15. <link href="/assets/css/skins/<?php echo \think\Config::get('fastadmin.adminskin'); ?>.css?v=<?php echo \think\Config::get('site.version'); ?>" rel="stylesheet">
  16. <?php endif; ?>
  17. <!-- HTML5 shim, for IE6-8 support of HTML5 elements. All other JS at the end of file. -->
  18. <!--[if lt IE 9]>
  19. <script src="/assets/js/html5shiv.js"></script>
  20. <script src="/assets/js/respond.min.js"></script>
  21. <![endif]-->
  22. <script type="text/javascript">
  23. var require = {
  24. config: <?php echo json_encode($config); ?>
  25. };
  26. </script>
  27. </head>
  28. <body class="inside-header inside-aside <?php echo defined('IS_DIALOG') && IS_DIALOG ? 'is-dialog' : ''; ?>">
  29. <div id="main" role="main">
  30. <div class="tab-content tab-addtabs">
  31. <div id="content">
  32. <div class="row">
  33. <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
  34. <section class="content-header hide">
  35. <h1>
  36. <?php echo __('Dashboard'); ?>
  37. <small><?php echo __('Control panel'); ?></small>
  38. </h1>
  39. </section>
  40. <?php if(!IS_DIALOG && !\think\Config::get('fastadmin.multiplenav') && \think\Config::get('fastadmin.breadcrumb')): ?>
  41. <!-- RIBBON -->
  42. <div id="ribbon">
  43. <ol class="breadcrumb pull-left">
  44. <?php if($auth->check('dashboard')): ?>
  45. <li><a href="dashboard" class="addtabsit"><i class="fa fa-dashboard"></i> <?php echo __('Dashboard'); ?></a></li>
  46. <?php endif; ?>
  47. </ol>
  48. <ol class="breadcrumb pull-right">
  49. <?php foreach($breadcrumb as $vo): ?>
  50. <li><a href="javascript:;" data-url="<?php echo $vo['url']; ?>"><?php echo $vo['title']; ?></a></li>
  51. <?php endforeach; ?>
  52. </ol>
  53. </div>
  54. <!-- END RIBBON -->
  55. <?php endif; ?>
  56. <div class="content">
  57. <div class="panel panel-default panel-intro">
  58. <?php echo build_heading(); ?>
  59. <div class="panel-body">
  60. <div id="myTabContent" class="tab-content">
  61. <div class="tab-pane fade active in" id="one">
  62. <div class="widget-body no-padding">
  63. <div id="toolbar" class="toolbar">
  64. <a href="javascript:;" class="btn btn-primary btn-refresh" title="<?php echo __('Refresh'); ?>" ><i class="fa fa-refresh"></i> </a>
  65. <a href="javascript:;" class="btn btn-success btn-add <?php echo $auth->check('customer/add')?'':'hide'; ?>" title="<?php echo __('Add'); ?>" ><i class="fa fa-plus"></i> <?php echo __('Add'); ?></a>
  66. <!--<a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled <?php echo $auth->check('customer/edit')?'':'hide'; ?>" title="<?php echo __('Edit'); ?>" ><i class="fa fa-pencil"></i> <?php echo __('Edit'); ?></a>-->
  67. <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled <?php echo $auth->check('customer/del')?'':'hide'; ?>" title="<?php echo __('Delete'); ?>" ><i class="fa fa-trash"></i> <?php echo __('Delete'); ?></a>
  68. <!--<div class="dropdown btn-group <?php echo $auth->check('customer/multi')?'':'hide'; ?>">-->
  69. <!--<a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> <?php echo __('More'); ?></a>-->
  70. <!--<ul class="dropdown-menu text-left" role="menu">-->
  71. <!--<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> <?php echo __('Set to normal'); ?></a></li>-->
  72. <!--<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> <?php echo __('Set to hidden'); ?></a></li>-->
  73. <!--</ul>-->
  74. <!--</div>-->
  75. </div>
  76. <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
  77. data-show-toggle="false"
  78. data-operate-edit="<?php echo $auth->check('customer/edit'); ?>"
  79. data-operate-del="<?php echo $auth->check('customer/del'); ?>"
  80. width="100%">
  81. </table>
  82. </div>
  83. </div>
  84. </div>
  85. </div>
  86. </div>
  87. </div>
  88. </div>
  89. </div>
  90. </div>
  91. </div>
  92. </div>
  93. <script src="/assets/js/require<?php echo \think\Config::get('app_debug')?'':'.min'; ?>.js" data-main="/assets/js/require-backend<?php echo \think\Config::get('app_debug')?'':'.min'; ?>.js?v=<?php echo htmlentities($site['version']); ?>"></script>
  94. <input type="hidden" value="<?php echo \think\Session::get('admin.username'); ?>" name="" id="username">
  95. <input type="hidden" value="<?php echo \think\Session::get('admin.company'); ?>" name="" id="company">
  96. <script>
  97. function watermark(element, config) {
  98. // 获取元素的坐标
  99. function getOffset(el) {
  100. if (el.offsetParent) {
  101. return {
  102. x: el.offsetLeft + getOffset(el.offsetParent).x,
  103. y: el.offsetTop + getOffset(el.offsetParent).y,
  104. };
  105. }
  106. return {
  107. x: el.offsetLeft,
  108. y: el.offsetTop,
  109. };
  110. }
  111. if (!element) return;
  112. // 默认配置
  113. const _config = {
  114. text1: '张三', //文本1
  115. text2: '13868686868', // 文本2
  116. start_x: 0, // x轴起始位置
  117. start_y: 0, // y轴起始位置
  118. space_x: 100, // x轴间距
  119. space_y: 50, // y轴间距
  120. width: 210, // 宽度
  121. height: 80, // 长度
  122. fontSize: 14, // 字体
  123. color: '#aaa', // 字色
  124. alpha: 0.4, // 透明度
  125. rotate: 15, // 倾斜度
  126. };
  127. // 替换默认配置
  128. if (arguments.length === 2 && typeof arguments[1] === "object") {
  129. const src = arguments[1] || {};
  130. for (let key in src) {
  131. if (src[key] && _config[key] && src[key] === _config[key]) {
  132. continue;
  133. } else if (src[key]) {
  134. _config[key] = src[key];
  135. }
  136. }
  137. }
  138. // 节点的总宽度
  139. const total_width = element.scrollWidth;
  140. // 节点的总高度
  141. const total_height = element.scrollHeight;
  142. // 创建文本碎片,用于包含所有的插入节点
  143. const mark = document.createDocumentFragment();
  144. // 水印节点的起始坐标
  145. const position = getOffset(element);
  146. let x = position.x + _config.start_x, y = position.y + _config.start_y;
  147. // 先循环y轴插入水印
  148. do {
  149. // 再循环x轴插入水印
  150. do {
  151. // 创建单个水印节点
  152. const item = document.createElement('div');
  153. item.className = 'watermark-item';
  154. // 设置节点的样式
  155. item.style.position = "absolute";
  156. item.style.zIndex = 99999;
  157. item.style.left = `${x}px`;
  158. item.style.top = `${y}px`;
  159. item.style.width = `${_config.width}px`;
  160. item.style.height = `${_config.height}px`;
  161. item.style.fontSize = `${_config.fontSize}px`;
  162. item.style.color = _config.color;
  163. item.style.textAlign = 'center';
  164. item.style.opacity = _config.alpha;
  165. item.style.filter = `alpha(opacity=${_config.alpha * 100})`;
  166. // item.style.filter = `opacity(${_config.alpha * 100}%)`;
  167. item.style.webkitTransform = `rotate(-${_config.rotate}deg)`;
  168. item.style.MozTransform = `rotate(-${_config.rotate}deg)`;
  169. item.style.msTransform = `rotate(-${_config.rotate}deg)`;
  170. item.style.OTransform = `rotate(-${_config.rotate}deg)`;
  171. item.style.transform = `rotate(-${_config.rotate}deg)`;
  172. item.style.pointerEvents = 'none'; //让水印不遮挡页面的点击事件
  173. // 创建text1水印节点
  174. const text1 = document.createElement('div');
  175. text1.appendChild(document.createTextNode(_config.text1));
  176. item.append(text1);
  177. // 创建text2水印节点
  178. const text2 = document.createElement('div');
  179. text2.appendChild(document.createTextNode(_config.text2));
  180. item.append(text2);
  181. // 添加水印节点到文本碎片
  182. mark.append(item);
  183. // x坐标递增
  184. x = x + _config.width + _config.space_x;
  185. // 超出文本右侧坐标停止插入
  186. } while (total_width + position.x > x + _config.width);
  187. // 重置x初始坐标
  188. x = position.x + _config.start_x;
  189. // y坐标递增
  190. y = y + _config.height + _config.space_y;
  191. // 超出文本底部坐标停止插入
  192. } while (total_height + position.y > y + _config.height);
  193. // 插入文档碎片
  194. element.append(mark);
  195. }
  196. var username = document.getElementById('username');
  197. var company = document.getElementById('company');
  198. //找到存放水印的盒子
  199. const element = document.getElementsByTagName('body')[0];
  200. watermark(element,{text1:username.value,text2:company.value});
  201. </script>
  202. </body>
  203. </html>