formedit.html 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405
  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml" ng-app="app">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  6. <title>oa变更单</title>
  7. <link href="../../../AFrontEnd/css/animate.css" rel="stylesheet" />
  8. <link href="../../../AFrontEnd/css/fontawesome/css/font-awesome.css" rel="stylesheet" />
  9. <link href="../../../AFrontEnd/css/bootstrap.css" rel="stylesheet" />
  10. <link href="../../../AFrontEnd/css/style.css" rel="stylesheet" />
  11. <script>document.write("<link href='../../../AFrontEnd/css/special.css?time=" + new Date().getTime() + "' rel='stylesheet'>");</script>
  12. <script>document.write("<link href='../../flowchart_app_imgcss/css/formedit.css?time=" + new Date().getTime() + "' rel='stylesheet'>");</script>
  13. <script>document.write("<link href='../../flowchart_app_imgcss/css/canvasQianzi.css?time=" + new Date().getTime() + "' rel='stylesheet'>");</script>
  14. <style>
  15. .formedit {
  16. border-collapse: collapse;
  17. width: 100%;
  18. border: 2px solid #000;
  19. color: #000;
  20. }
  21. .formedit tbody td {
  22. text-align: center;
  23. line-height: 20px;
  24. padding: 7px 8px;
  25. border-top: 1px solid #000;
  26. border-right: 1px solid #000;
  27. }
  28. .sp-page-center input,
  29. .sp-page-center select,
  30. .sp-page-center textarea {
  31. border: 1px solid #fff;
  32. color: #333;
  33. }
  34. .sp-error {
  35. color: #409EFF;
  36. }
  37. .sp-errorTip:hover,
  38. .sp-errorTip:focus {
  39. border: 1px solid #409EFF;
  40. }
  41. </style>
  42. </head>
  43. <body>
  44. <div ng-controller="formeditCtrl as ctl" id="app" ng-cloak>
  45. <div class="wrapper wrapper-content">
  46. <div class="row">
  47. <div class="col-md-12">
  48. <div class="ibox float-e-margins">
  49. <div class="ibox-content">
  50. <div class="row">
  51. <div class="col-md-12">
  52. <div class="sp-box sp-bg-white">
  53. <div class="sp-page-col">
  54. <div class="sp-page-title" style="margin:7px 0;">oa变更单</div>
  55. </div>
  56. <div class="sp-page-col sp-ml-15 topPart">
  57. <a ng-repeat="item in ctl.SwenList" ng-class="{'activeSwen':ctl.Title==item.VNAME}" class="SwenBtn" href="{{item.TEMPFORM}}" title="{{item.VNAME}}">
  58. {{item.VNAME}}
  59. <!--<i ng-if="ctl.Title==item.VNAME" class="fa fa-check sp-color-blue"></i>-->
  60. </a>
  61. </div>
  62. <div class="sp-page-col sp-pull-right btn-box">
  63. <a class="sp-md sp-radius" ng-class="{'sp-btn-gray':item.CODE.indexOf('SENDITEM')==-1,'sp-btn-blue':item.CODE.indexOf('SENDITEM')!=-1}"ng-repeat="item in ctl.buttonList" ng-click="ctl.btnEvent(item)" ng-if="ctl.dotype==1||(ctl.dotype!=1&&item.EXPLAIN=='1')">
  64. <img ng-if="item.CODE.indexOf('SAVEITEM')!=-1" src="../../flowchart_app_imgcss/img/bc.png" height="14" />
  65. <img ng-if="item.CODE.indexOf('PRINTITEM')!=-1" src="../../flowchart_app_imgcss/img/dy.png" height="14" />
  66. <img ng-if="item.CODE.indexOf('SENDITEM')!=-1" src="../../flowchart_app_imgcss/img/zfw.png" height="14" />
  67. <img ng-if="item.CODE.indexOf('SENDLOG')!=-1" src="../../flowchart_app_imgcss/img/lz.png" height="14" />
  68. {{item.CNAME}}
  69. </a>
  70. <a href="{{ctl.return}}" class="sp-btn-gray sp-radius">
  71. <img src="../../flowchart_app_imgcss/img/fh.png" height="14" />
  72. 返 回
  73. </a>
  74. </div>
  75. </div>
  76. <div class="sp-page-center" style="line-height: 30px; color: #000; overflow-y: auto;" ng-class="{'sp-width-900': '{{ctl.deviceType}}'=='pad','sp-width-1000': '{{ctl.deviceType}}'!='pad'}">
  77. <h3 class="sp-text-center">建委机关OA变更申请单</h3>
  78. <table class="formedit">
  79. <tr>
  80. <td width="200">申请部门</td>
  81. <td>
  82. <input type="text" class="sp-input" ng-model="ctl.data.SQBM" readonly ng-click="ctl.openDpList('SQBM')" />
  83. </td>
  84. <td width="200">申请日期</td>
  85. <td>
  86. <input type="text" class="sp-input laydate-logo" sp-laydate ng-model="ctl.data.SQRQ" ng-disabled="ctl.hide('readonly','SQRQ')" ng-change="ctl.changeFiled('SQRQ')" />
  87. </td>
  88. </tr>
  89. <tr>
  90. <td>申请人</td>
  91. <td>
  92. <input type="text" class="sp-input" ng-model="ctl.data.SQR" readonly ng-click="ctl.openUserList('SQR')" sp-required />
  93. </td>
  94. <td>联系电话</td>
  95. <td>
  96. <input type="text" class="sp-input" ng-model="ctl.data.LXDH" ng-disabled="ctl.hide('readonly','LXDH')" ng-change="ctl.changeFiled('LXDH')" />
  97. </td>
  98. </tr>
  99. <tr>
  100. <td>变更类型</td>
  101. <td colspan="3">
  102. <select class="sp-select" ng-model="ctl.data.BGLX" ng-disabled="ctl.hide('readonly','BGLX')" ng-change="ctl.changeFiled('BGLX')">
  103. <option ng-repeat="item in ctl.BGLX" value="{{item.CODE}}" ng-bind="item.CNAME"></option>
  104. </select>
  105. </td>
  106. </tr>
  107. <tr>
  108. <td>变更原因</td>
  109. <td colspan="3">
  110. <input type="text" class="sp-input" ng-model="ctl.data.BGYY" ng-disabled="ctl.hide('readonly','BGYY')" ng-change="ctl.changeFiled('BGYY')" />
  111. </td>
  112. </tr>
  113. <tr>
  114. <td>变更内容</td>
  115. <td colspan="3">
  116. <textarea class="sp-textarea" ng-model="ctl.data.BGNR" ng-disabled="ctl.hide('readonly','BGNR')" ng-change="ctl.changeFiled('BGNR')" rows="5"></textarea>
  117. </td>
  118. </tr>
  119. <tr>
  120. <td>部门负责人</td>
  121. <td colspan="3">
  122. <input type="text" class="sp-input" ng-model="ctl.data.BMFZR" readonly ng-click="ctl.openUserList('BMFZR')" />
  123. </td>
  124. </tr>
  125. <tr>
  126. <td>分管委领导</td>
  127. <td colspan="3">
  128. <input type="text" class="sp-input" ng-model="ctl.data.FGWLD" readonly ng-click="ctl.openUserList('FGWLD')" />
  129. </td>
  130. </tr>
  131. <tr>
  132. <td>委主要领导</td>
  133. <td colspan="3">
  134. <input type="text" class="sp-input" ng-model="ctl.data.WZYLD" readonly ng-click="ctl.openUserList('WZYLD')" />
  135. </td>
  136. </tr>
  137. <tr>
  138. <td>系统主管部门意见</td>
  139. <td colspan="3">
  140. <div ng-if="ctl.opinion.XTZGBMYJ==false">
  141. <div class="sp-page" style="height: 212px; margin-bottom: 30px; overflow-y: auto">
  142. <table class="sp-grid sp-mb-5">
  143. <tr ng-repeat="item in ctl.YJ.XTZGBMYJ" class="qianzi">
  144. <td>
  145. <div class="sp-page">
  146. <p ng-if="!item.OPINIONIMAGE" class="sp-page sp-text-left" ng-bind-html="item.OPINION | trustHtml"></p>
  147. <img class="sp-pull-left" ng-if="!item.OPINION" ng-src="{{item.OPINIONIMAGE}}" style="width:50%" />
  148. <div class="sp-page">
  149. <div class="sp-col-75">
  150. <div ng-repeat="item in item.FILEDATA" style="width: 135px; display: inline-block; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; position: relative; top: 5px; margin-left: 10px">
  151. <a ng-click="ctl.downLoadOption(item)" title="下载">
  152. <i class="fa fa-download sp-color-red"></i>
  153. </a>
  154. <a ng-click="ctl.deleteOptionFile(item,'XTZGBMYJ')" title="删除" ng-if="item.ROUTEID==ctl.routeid">
  155. <i class="fa fa-trash sp-color-red"></i>
  156. </a>
  157. <span ng-bind="item.FILENAME" title="{{item.FILENAME}}"></span>
  158. </div>
  159. <div style="display: inline-block; position: relative; margin-left: 10px; line-height: 40px;" ng-if="item.ROUTEID==ctl.routeid&&ctl.opinion.XTZGBMYJ==false&&ctl.dotype==1&&item.COLID=='XTZGBMYJ'">
  160. <span class="opbtn" style="position: relative; color: #1c84c6">
  161. <span class="upload-tip"></span>
  162. <input id="fileupload-XTZGBMYJ" class="upload-file-single" ng-click="ctl.upload2('XTZGBMYJ')" type="file" name="files[]" multiple>
  163. <i class="fa fa-upload"></i>
  164. <span class="upload-loading" ng-if="ctl.uploading1"><i class="fa fa-spinner fa-pulse sp-fs-20"></i></span>
  165. </span>
  166. </div>
  167. </div>
  168. <div class="sp-col-25 sp-text-right sp-pull-right" style="line-height:40px">
  169. <span ng-bind="item.CMANNAME"></span>
  170. <span ng-bind="item.CDATE"></span>
  171. </div>
  172. </div>
  173. </div>
  174. <div class="sp-page sp-text-right">
  175. <div class="opbtn" style="color: #FF6F6F; display: inline-block; " ng-if="item.ROUTEID==ctl.routeid&&ctl.dotype==1"
  176. ng-click="ctl.Dopinion('XTZGBMYJ')">
  177. <i class="fa fa-trash-o fa-lg"></i>
  178. </div>
  179. <div class="opbtn" ng-if="item.ROUTEID==ctl.routeid&&ctl.dotype==1" style="color: #66D151; display: inline-block; "
  180. ng-click="ctl.changeOpinionItem('XTZGBMYJ',item)">
  181. <i class="fa fa-pencil fa-lg"></i>
  182. </div>
  183. </div>
  184. </td>
  185. </tr>
  186. </table>
  187. </div>
  188. <span class="opbtn sp-pull-right" ng-if="ctl.YJ.XTZGBMYJSTATUS==false" style="color: #1EADFF"
  189. ng-hide="ctl.hide('readonly','XTZGBMYJ')" ng-click="ctl.openOpinion('XTZGBMYJ')">
  190. <i class="fa fa-pencil fa-lg"></i>
  191. </span>
  192. </div>
  193. <div ng-if="ctl.opinion.XTZGBMYJ==true||ctl.opinion.XTZGBMYJImg==true">
  194. <textarea id="XTZGBMYJ" class="op-textarea sp-mb-10" ng-model="ctl.data.XTZGBMYJ" ng-if="ctl.opinion.XTZGBMYJ==true&&ctl.opinion.XTZGBMYJImg==false"></textarea>
  195. <div ng-if="ctl.opinion.XTZGBMYJImg==true">
  196. <div id="XTZGBMYJQZ" class="canvas"></div>
  197. </div>
  198. <div class="sp-page">
  199. <div class="sp-pull-left" ng-class="{'sp-qz-blue':ctl.opinion.XTZGBMYJImg==false,'sp-qz-gray':ctl.opinion.XTZGBMYJImg==true}" ng-click="ctl.opinion.XTZGBMYJImg=false">文字</div>
  200. <div class="sp-pull-left" ng-class="{'sp-qz-blue':ctl.opinion.XTZGBMYJImg==true,'sp-qz-gray':ctl.opinion.XTZGBMYJImg==false}" ng-click="ctl.QianZi('XTZGBMYJ')">手签</div>
  201. <span class="sp-btn-gray sp-btn-sm sp-btn-radius sp-pull-right" ng-click="ctl.opinion.XTZGBMYJ=false;ctl.opinion.XTZGBMYJImg=false">取消</span>
  202. <span class="sp-btn-gray sp-btn-sm sp-btn-radius sp-pull-right" ng-click="ctl.Sopinion('XTZGBMYJ')">保存</span>
  203. <span class="sp-btn-gray sp-btn-sm sp-btn-radius sp-pull-right" ng-click="ctl.canvasClear('XTZGBMYJ')" ng-if="ctl.opinion.XTZGBMYJImg==true">清除</span>
  204. <span class="sp-btn-gray sp-btn-sm sp-btn-radius sp-pull-right" ng-click="ctl.phrase('XTZGBMYJ')" ng-if="ctl.opinion.XTZGBMYJ==true&&ctl.opinion.XTZGBMYJImg==false">常用语</span>
  205. </div>
  206. </div>
  207. </td>
  208. </tr>
  209. <tr>
  210. <td>系统管理员操作记录</td>
  211. <td colspan="3">
  212. <textarea class="sp-textarea" ng-model="ctl.data.XTGLYCZJL" ng-disabled="ctl.hide('readonly','XTGLYCZJL')" ng-change="ctl.changeFiled('XTGLYCZJL')" rows="5"></textarea>
  213. </td>
  214. </tr>
  215. </table>
  216. </div>
  217. </div>
  218. </div>
  219. </div>
  220. </div>
  221. </div>
  222. </div>
  223. </div>
  224. <div class="sp-layer" id="DpList" style="width: 900px;">
  225. <div class="sp-layer-head" style="background:#2176d6">
  226. <div class="sp-page sp-text-center sp-font16">
  227. 部门列表
  228. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  229. ×
  230. </div>
  231. </div>
  232. </div>
  233. <div class="sp-layer-body" ng-class="{'sp-height-400': '{{ctl.deviceType}}' =='pad'}">
  234. <div class="sp-page" style="height:290px;overflow:auto">
  235. <label class="sp-col-20">
  236. <input type="checkbox" style="position:relative;top:2px" ng-checked="ctl.AllCheckedDp[ctl.filed]" ng-click="ctl.checkAllDp()" />
  237. 全选
  238. </label>
  239. <div class="sp-page">
  240. <label class="sp-col-25" title="{{item.SECTION}}" ng-repeat="item in ctl.DpList[ctl.filed]">
  241. <input type="checkbox" style="position:relative;top:2px" ng-checked="item.checked" ng-click="ctl.checkDpItem(item)" />
  242. {{item.SECTION}}
  243. </label>
  244. </div>
  245. </div>
  246. <div class="sp-page sp-text-center sp-pt-10">
  247. <a class="sp-btn-blue sp-radius" ng-click="ctl.submitDpList(0)"><i class="fa fa-check sp-mr-5"></i>确 定</a>
  248. <a class="sp-btn-blue sp-radius" onclick="sp.layerhide()"><i class="fa fa-close sp-mr-5"></i>取 消</a>
  249. </div>
  250. </div>
  251. </div>
  252. <div class="sp-layer" id="userList" style="width: 900px;">
  253. <div class="sp-layer-head" style="background:#2176d6">
  254. <div class="sp-page sp-text-center sp-font16">
  255. 人员列表
  256. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  257. ×
  258. </div>
  259. </div>
  260. </div>
  261. <div class="sp-layer-body" ng-class="{'sp-height-400': '{{ctl.deviceType}}' =='pad'}">
  262. <div class="sp-page" style="height:290px;overflow:auto">
  263. <label class="sp-col-20">
  264. <input type="checkbox" style="position:relative;top:2px" ng-checked="ctl.AllChecked[ctl.filed]" ng-click="ctl.checkAllUser()" />
  265. 全选
  266. </label>
  267. <div class="sp-page" ng-repeat="item in ctl.UserList[ctl.filed]">
  268. <h4 style="background:#409EFF" class="sp-color-white sp-pl-10">
  269. <input type="checkbox" style="position:relative;top:2px" ng-checked="item.checked" ng-click="ctl.checkUserItem(item)" />
  270. {{item.DEP}}
  271. </h4>
  272. <label ng-repeat="item1 in item.USER" class="sp-col-20" title="{{item1.USHOWNAME}}">
  273. <input type="checkbox" style="position:relative;top:2px" ng-checked="item1.checked" ng-click="ctl.checkUser(item1)" />
  274. {{item1.USHOWNAME2}}
  275. </label>
  276. </div>
  277. </div>
  278. <div class="sp-page sp-text-center sp-pt-10">
  279. <a class="sp-btn-blue sp-radius" ng-click="ctl.submitUserList(0)"><i class="fa fa-check sp-mr-5"></i>确 定</a>
  280. <a class="sp-btn-blue sp-radius" onclick="sp.layerhide()"><i class="fa fa-close sp-mr-5"></i>取 消</a>
  281. </div>
  282. </div>
  283. </div>
  284. <div class="sp-layer" id="phrase" style="width:480px;">
  285. <div class="sp-layer-head" style="background:#2176d6">
  286. <div class="sp-page sp-text-center sp-font16">
  287. 常用语库
  288. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  289. ×
  290. </div>
  291. </div>
  292. </div>
  293. <div class="sp-layer-body" ng-class="{'sp-height-400': '{{ctl.deviceType}}' =='pad'}">
  294. <div class="sp-box">
  295. <div class="sp-col-70">
  296. <input type="text" ng-model="ctl.phraseText" class="sp-input" />
  297. </div>
  298. <div class="sp-col-30">
  299. <span class="sp-btn-blue sp-pull-left sp-radius" ng-class="{'sp-disabled':ctl.phraseText==''}" ng-click="ctl.Aphrase()">添加常用语</span>
  300. </div>
  301. </div>
  302. <div class="sp-box">
  303. <div class="sp-col-20" style="line-height:30px;">
  304. 常用语:
  305. </div>
  306. <div class="sp-col-60">
  307. <select class="sp-select sp-bg-white" ng-model="ctl.phraseSelect">
  308. <option ng-repeat="item in ctl.phraseList" value="{{item.CONTENTS}}" ng-bind="item.CONTENTS"></option>
  309. </select>
  310. </div>
  311. <div class="sp-col-20">
  312. <span class="sp-btn-blue sp-pull-left sp-radius" ng-click="ctl.Dphrase()">删除</span>
  313. </div>
  314. </div>
  315. <div class="sp-page sp-text-center sp-pt-10">
  316. <a class="sp-btn-blue sp-radius" ng-click="ctl.btnPhrase()"><i class="fa fa-check sp-mr-5"> </i>确 认</a>
  317. <a class="sp-btn-blue sp-radius" onclick="sp.closeCenter('.sp-layer')"><i class="fa fa-reply-all sp-mr-5"> </i>关 闭</a>
  318. </div>
  319. </div>
  320. </div>
  321. <div class="sp-layer" id="forward" style="width: 1000px;">
  322. <div class="sp-layer-head" style="background:#2176d6">
  323. <div class="sp-page sp-text-center sp-font16">
  324. 转&nbsp;&nbsp;发
  325. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  326. ×
  327. </div>
  328. </div>
  329. </div>
  330. <div class="sp-layer-body" ng-class="{'sp-height-400': '{{ctl.deviceType}}' =='pad'}">
  331. <iframe id="forwardWin" style="width:100%;border:0"></iframe>
  332. </div>
  333. </div>
  334. <div class="sp-layer" id="RouteList" style="width:900px;">
  335. <div class="sp-layer-head" style="background:#2176d6">
  336. <div class="sp-page sp-text-center sp-font16">
  337. 流转记录
  338. <div class="sp-layer-close" title="关闭" onclick="sp.closeCenter('.sp-layer')">
  339. ×
  340. </div>
  341. </div>
  342. </div>
  343. <div class="sp-layer-body" ng-class="{'sp-height-400': '{{ctl.deviceType}}' =='pad'}">
  344. <table class="sp-table">
  345. <thead>
  346. <tr>
  347. <th style="width:100px"><strong>流程名称</strong></th>
  348. <th style="width:200px"><strong>标题</strong></th>
  349. <th style="width:100px"><strong>工作节点</strong></th>
  350. <th style="width:100px"><strong>转发人</strong></th>
  351. <th style="width:100px"><strong>主送</strong></th>
  352. <th style="width:150px"><strong>抄送</strong></th>
  353. <th style="width:200px"><strong>发送日期</strong></th>
  354. </tr>
  355. </thead>
  356. </table>
  357. <div style="overflow-y:scroll;max-height:400px">
  358. <table class="sp-table" style="margin-top: -38px">
  359. <thead>
  360. <tr>
  361. <th style="width:100px"><strong>流程名称</strong></th>
  362. <th style="width:200px"><strong>标题</strong></th>
  363. <th style="width:100px"><strong>工作节点</strong></th>
  364. <th style="width:100px"><strong>转发人</strong></th>
  365. <th style="width:100px"><strong>主送</strong></th>
  366. <th style="width:150px"><strong>抄送</strong></th>
  367. <th style="width:200px"><strong>发送日期</strong></th>
  368. </tr>
  369. </thead>
  370. <tbody>
  371. <tr ng-repeat="item in ctl.routeList">
  372. <td ng-bind="item.FLOWNAME"></td>
  373. <td ng-bind="item.TITLE"></td>
  374. <td ng-bind="item.ENDNODENAME"></td>
  375. <td ng-bind="item.USERNAMEFROM"></td>
  376. <td ng-bind="item.mainUser"></td>
  377. <td ng-bind="item.copyUsers"></td>
  378. <td ng-bind="item.RECEIVEDATE"></td>
  379. </tr>
  380. </tbody>
  381. </table>
  382. </div>
  383. <div class="sp-page sp-text-center sp-pt-10">
  384. <a class="sp-btn-blue sp-radius" onclick="sp.closeCenter('.sp-layer')"><i class="fa fa-reply-all sp-mr-5"> </i>关 闭</a>
  385. </div>
  386. </div>
  387. </div>
  388. </div>
  389. <script src="../../../AFrontEnd/js/jquery/jquery-2.1.4.min.js"></script>
  390. <script src="../../../AFrontEnd/js/laydate/laydate.js"></script>
  391. <script src="../../../AFrontEnd/js/angularjs/angular.js"></script>
  392. <script src="../../../AFrontEnd/js/angularjs/dirPagination.js"></script>
  393. <script src="../../../apiurljs.js"></script>
  394. <!--<script src="../../js/watermark.js"></script>-->
  395. <script src="../../../js/sm4.js"></script>
  396. <script>document.write('<scri' + 'pt src="../../../AFrontEnd/js/special/special.js?time=' + new Date().getTime() + '" type="text/javascript"></s' + 'cript>')</script>
  397. <script>document.write('<scri' + 'pt src="js/formedit.js?time=' + new Date().getTime() + '" type="text/javascript"></s' + 'cript>')</script>
  398. <script src="../../../AFrontEnd/js/special/spng.js"></script>
  399. <script src="../../../AFrontEnd/js/special/spngvld.js"></script>
  400. </body>
  401. </html>