browseQrcodeDe.html 88 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
  6. <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
  7. <meta name="format-detection"content="telephone=no">
  8. <title>二维码详情</title>
  9. <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
  10. <link rel="stylesheet" href="../../css/swiper.css">
  11. <link rel="stylesheet" href="../../css/animate.css">
  12. <link rel="stylesheet" type="text/css" href="../../css/popoPicker.css"/>
  13. <link rel="stylesheet" type="text/css" href="../../script/H5/mobileSelect.css"/>
  14. <link rel="stylesheet" href="../../css/select.css">
  15. <link rel="stylesheet" href="../../css/addRecode.css">
  16. <style>
  17. .overflow{
  18. overflow: hidden;
  19. height: 100%;
  20. }
  21. html,body{
  22. overflow-x: hidden;
  23. }
  24. p{
  25. width: auto;
  26. margin: 0;
  27. padding: 0;
  28. text-align: justify;
  29. font-size: 14px;
  30. /*text-indent: 30px!important;*/
  31. }
  32. *{
  33. box-sizing: border-box;
  34. }
  35. .hide{
  36. display: none;
  37. }
  38. .qrcode-wrap{
  39. /*padding-top: 5px;*/
  40. background: #fff;
  41. }
  42. .col{
  43. padding: 0 10px;
  44. position: relative;
  45. }
  46. .col-file {
  47. padding: 0 10px;
  48. position: relative;
  49. }
  50. .col-file label{
  51. color: #333;
  52. font-size: 16px;
  53. padding: 15px 0 ;
  54. position: relative;
  55. padding-left: 15px;
  56. width: 100%;
  57. }
  58. .file-title-add {
  59. display: flex;
  60. align-items: center;
  61. justify-content: space-between;
  62. border-bottom: solid 1px #ECF0F1
  63. }
  64. .file-title-add img {
  65. display: block;
  66. width: 14px;
  67. height: 14px;
  68. }
  69. .col label{
  70. color: #333;
  71. font-size: 16px;
  72. padding: 15px 0 ;
  73. position: relative;
  74. padding-left: 15px;
  75. width: 100%;
  76. }
  77. .col-file label:before {
  78. content: '';
  79. position: absolute;
  80. top: 13px;
  81. left: 0;
  82. width: 3px;
  83. height: 26px;
  84. background: #009fe8;
  85. }
  86. .col label:before{
  87. content: '';
  88. position: absolute;
  89. top: 13px;
  90. left: 0;
  91. width: 3px;
  92. height: 26px;
  93. background: #009fe8;
  94. }
  95. .col-file label:after {
  96. content: '';
  97. position: absolute;
  98. top: 13px;
  99. left: 0;
  100. width: 3px;
  101. height: 26px;
  102. background: #009fe8;
  103. }
  104. .col label:after{
  105. content: '';
  106. position: absolute;
  107. bottom: 0;
  108. left: 0;
  109. width: 100%;
  110. height: 1px;
  111. background: #ECF0F1;
  112. }
  113. .content{
  114. padding: 15px 0;
  115. color: #333;
  116. font-size: 14px;
  117. }
  118. .content p{
  119. color: #333;
  120. }
  121. .col img{
  122. width: 100%;
  123. border-radius: 5px;
  124. }
  125. .col .swiper-slide img{
  126. width: 100%;
  127. height: 209px;
  128. object-fit: cover;
  129. }
  130. /*线*/
  131. .line{
  132. height: 3px;
  133. width: 100%;
  134. background: #ECF0F1;
  135. }
  136. /*轮播*/
  137. .api_page_text{
  138. bottom:0;
  139. }
  140. .swiper-pagination-fraction{
  141. width: 20%;
  142. left: inherit;
  143. right: 10px;
  144. bottom: 5px;
  145. color: #fff;
  146. z-index: 1001
  147. }
  148. .api_page_text{
  149. position: absolute;
  150. width: 100%;
  151. bottom: 0;
  152. left: 0;
  153. z-index: 1000;
  154. background: rgba(0,0,0,0.2);
  155. border-bottom-left-radius: 5px;
  156. border-bottom-right-radius: 5px;
  157. }
  158. .content .api_banner_info{
  159. font-size: 14px;
  160. width: 75%;
  161. height: 30px;
  162. padding-left: 5px;
  163. line-height: 30px;
  164. color: #fff;
  165. overflow: hidden;
  166. text-overflow: ellipsis;
  167. white-space: nowrap;
  168. }
  169. /*一行两张*/
  170. .img-atls{
  171. padding: 15px 0;
  172. display: -webkit-flex;
  173. display: flex;
  174. justify-content: space-between;
  175. -webkit-justify-content: space-between;
  176. flex-wrap: wrap;
  177. -webkit-flex-wrap: wrap;
  178. align-items: center;
  179. }
  180. .img-atls li{
  181. width: 48%;
  182. height: 150px;
  183. margin-bottom: 10px;
  184. }
  185. .img-atls img{
  186. height: 100%;
  187. object-fit: cover;
  188. }
  189. .col .img-atls3 li{
  190. width: 31%;
  191. height: 100px;
  192. }
  193. /*文件*/
  194. .file-item{
  195. padding: 15px;
  196. display: -webkit-flex;
  197. display: flex;
  198. justify-content: flex-start;
  199. -webkit-justify-content: flex-start;
  200. flex-wrap: nowrap;
  201. -webkit-flex-wrap: nowrap;
  202. align-items: center;
  203. font-size: 14px;
  204. position: relative;
  205. }
  206. .file-item:after{
  207. content: '';
  208. position: absolute;
  209. bottom: 0;
  210. left: 0;
  211. width: 100%;
  212. height: 1px;
  213. background: #ECF0F1;
  214. }
  215. .file-item:last-child:after{
  216. height:0;
  217. }
  218. .file-item img{
  219. width: 45px;
  220. height: 45px;
  221. margin-right: 15px;
  222. object-fit: contain;
  223. border-radius: 0;
  224. }
  225. .file-info{
  226. min-width: 0;width: 100%;
  227. }
  228. .file-info p{
  229. font-weight: 400;
  230. font-size: 14px;
  231. width: auto;
  232. overflow: hidden;
  233. text-overflow: ellipsis;
  234. white-space: nowrap;
  235. word-wrap: normal;
  236. word-break: break-all;
  237. color: #333;
  238. }
  239. .file-info span{
  240. font-size: 12px;
  241. color: #999;
  242. }
  243. /*链接*/
  244. .file-info .link-title{
  245. width: 80%;
  246. }
  247. .more{
  248. position: absolute;
  249. top: 25px;
  250. right: 10px;
  251. width: 12px;
  252. height: 12px;
  253. background: url("../../image/more.png") center no-repeat;
  254. background-size: cover;
  255. }
  256. /*一行两项*/
  257. .link-items{
  258. display: -webkit-flex;
  259. display: flex;
  260. justify-content: flex-start;
  261. -webkit-justify-content: flex-start;
  262. flex-wrap: wrap;
  263. -webkit-flex-wrap: wrap;
  264. align-items: center;
  265. }
  266. .link-item{
  267. min-width: 0;
  268. width: 50%;
  269. padding: 15px 10px;
  270. display: -webkit-flex;
  271. display: flex;
  272. justify-content: flex-start;
  273. -webkit-justify-content: flex-start;
  274. flex-wrap: nowrap;
  275. -webkit-flex-wrap: nowrap;
  276. align-items: center;
  277. position: relative;
  278. }
  279. .link-item img{
  280. width: 50px;
  281. height: 50px;
  282. border-radius: 50%;
  283. margin-right: 10px;
  284. }
  285. .link-item span{
  286. font-weight: 400;
  287. font-size: 14px;
  288. width: auto;
  289. overflow: hidden;
  290. text-overflow: ellipsis;
  291. white-space: nowrap;
  292. word-wrap: normal;
  293. word-break: break-all;
  294. }
  295. .link-item:nth-child(odd):before{
  296. content: '';
  297. position: absolute;
  298. top: 15px;
  299. right: 0;
  300. width: 1px;
  301. height: 50px;
  302. background: #ECF0F1;
  303. }
  304. /*一行三项*/
  305. .type3{
  306. display: -webkit-flex;
  307. display: flex;
  308. justify-content: flex-start;
  309. -webkit-justify-content: flex-start;
  310. flex-wrap: wrap;
  311. -webkit-flex-wrap: wrap;
  312. align-items: center;
  313. padding: 15px 0;
  314. }
  315. .type3 li{
  316. width: 33.3333333333333%;
  317. text-align: center;
  318. font-size: 14px;
  319. color: #333;
  320. margin-bottom: 10px;
  321. }
  322. .type3 img{
  323. width: 50px;
  324. height: 50px;
  325. border-radius: 50%;
  326. margin: auto;
  327. margin-bottom: 10px;
  328. }
  329. .type3 p{
  330. font-weight: 400;
  331. font-size: 14px;
  332. width: auto;
  333. overflow: hidden;
  334. text-overflow: ellipsis;
  335. white-space: nowrap;
  336. word-wrap: normal;
  337. word-break: break-all;
  338. padding: 0 10px;
  339. color: #333;
  340. text-align: center;
  341. }
  342. /*一行四项*/
  343. .col .type4 li{
  344. width: 25%;
  345. }
  346. /*视频*/
  347. .col video{
  348. width: 100%;
  349. height: 400px;
  350. }
  351. /*铭牌*/
  352. .nameplate-li{
  353. display: -webkit-flex;
  354. display: flex;
  355. justify-content: flex-start;
  356. -webkit-justify-content: flex-start;
  357. flex-wrap: nowrap;
  358. -webkit-flex-wrap: nowrap;
  359. padding: 10px 0;
  360. font-size: 14px;
  361. position: relative;
  362. }
  363. .nameplate-li p{
  364. width: 30%;
  365. }
  366. .nameplate-li p:last-child{
  367. width: 70%;
  368. }
  369. .border{
  370. color: #999;
  371. }
  372. .border:after{
  373. content: '';
  374. position: absolute;
  375. bottom: 0;
  376. left: 0;
  377. width: 100%;
  378. height: 1px;
  379. background: #ECF0F1;
  380. }
  381. .img-tilte{
  382. margin-top: 10px;
  383. line-height: 1.8;
  384. }
  385. .img-tilte span{
  386. display: inline;
  387. }
  388. .text span{
  389. display: inline;
  390. }
  391. /*添加记录*/
  392. .add-recode{
  393. width: 100%;
  394. position: fixed;
  395. bottom: 0;
  396. left: 0;
  397. padding: 20px 0;
  398. background: #009fe8;
  399. color: #fff;
  400. font-size: 18px;
  401. z-index: 900;
  402. }
  403. .module-box{
  404. position: fixed;
  405. top: 0;
  406. left: 0;
  407. width: 100%;
  408. height: 100%;
  409. background: rgba(0, 0, 0, .4);
  410. z-index: 1000;
  411. transition: 0.1s;
  412. }
  413. .recode-content{
  414. position: absolute;
  415. bottom: 0;
  416. left: 2%;
  417. width: 96%;
  418. height: 345px;
  419. z-index: 999;
  420. transition: 0.1s;
  421. }
  422. .recode-content p{
  423. background: #009fe8;
  424. padding: 15px 0;
  425. text-align: center;
  426. color: #fff;
  427. font-size: 15px;
  428. border-top-left-radius: 8px;
  429. border-top-right-radius: 8px;
  430. }
  431. .recode-itmes{
  432. background: #fff;
  433. height: 230px;
  434. border-bottom-left-radius: 8px;
  435. border-bottom-right-radius: 8px;
  436. padding-left: 10px;
  437. overflow-y: scroll;
  438. }
  439. .recode-itmes::-webkit-scrollbar {display:none;}
  440. .recode-itme{
  441. padding: 15px 0;
  442. color: #333;
  443. font-size: 14px;
  444. position: relative;
  445. }
  446. .recode-itme:after{
  447. content: '';
  448. position: absolute;
  449. bottom: 0;
  450. left: 0;
  451. width: 100%;
  452. height: 1px;
  453. background: #ECF0F1;
  454. }
  455. .recode-itme span{
  456. display: block;
  457. width: 80%;
  458. text-overflow: ellipsis;
  459. overflow: hidden;
  460. white-space: nowrap;
  461. }
  462. .recode-itme i{
  463. position: absolute;
  464. top: 16px;
  465. right: 10px;
  466. width: 12px;
  467. height: 12px;
  468. background: url("../../image/more.png") center no-repeat;
  469. background-size: cover;
  470. }
  471. .close-recode{
  472. display: block;
  473. padding: 15px 0;
  474. text-align: center;
  475. color: #333;
  476. border-radius: 8px;
  477. background: #fff;
  478. margin-top: 8px;
  479. font-size: 16px;
  480. }
  481. /*浏览记录*/
  482. .browse-items{
  483. display: -webkit-flex;
  484. display: flex;
  485. justify-content: flex-start;
  486. -webkit-justify-content: flex-start;
  487. flex-wrap: wrap;
  488. -webkit-flex-wrap: wrap;
  489. align-items: center;;
  490. }
  491. .browse-info{
  492. padding-top: 15px;
  493. }
  494. .browse-item{
  495. width: 20%;
  496. font-size: 14px;
  497. color: #333;
  498. text-align: center;
  499. margin-bottom: 10px;
  500. }
  501. .browse-item img{
  502. width: 100%;
  503. border-radius: 50%;
  504. object-fit: cover;
  505. margin: auto;
  506. margin-bottom: 5px;
  507. }
  508. .browse-item p{
  509. text-overflow: ellipsis;
  510. overflow: hidden;
  511. white-space: nowrap;
  512. min-width: 0;
  513. }
  514. .browse-item span{
  515. display: block;
  516. color: #fff;
  517. /*background: red;*/
  518. text-align: center;
  519. margin: auto;
  520. margin-bottom: 9px;
  521. border-radius: 50%;
  522. }
  523. /*浏览弹出框*/
  524. .modular{
  525. position: fixed;
  526. top: 0;
  527. left: 0;
  528. width: 100%;
  529. height: 100%;
  530. background: rgba(0,0,0, .6);
  531. z-index: 1000;
  532. }
  533. .box{
  534. -webkit-border-radius: 5px;
  535. -moz-border-radius: 5px;
  536. border-radius: 5px;
  537. background: #fff;
  538. position: absolute;
  539. top: -10%;
  540. bottom: 0;
  541. left: 0;
  542. right: 0;
  543. margin: auto;
  544. width: 270px;
  545. height: 220px;
  546. z-index: 200;
  547. padding: 20px 10px;
  548. -webkit-box-sizing: border-box;
  549. -moz-box-sizing: border-box;
  550. box-sizing: border-box;
  551. }
  552. .header-img{
  553. text-align: center;
  554. }
  555. .header-img img{
  556. width: 60px;
  557. height: 60px;
  558. -webkit-border-radius: 50%;
  559. -moz-border-radius: 50%;
  560. border-radius: 50%;
  561. margin: auto;
  562. }
  563. .header-img p{
  564. text-align: center;
  565. -webkit-border-radius: 50%;
  566. -moz-border-radius: 50%;
  567. border-radius: 50%;
  568. }
  569. .header-img{
  570. margin-bottom: 10px;
  571. }
  572. .personal-info p{
  573. padding: 5px 0;
  574. text-align: center;
  575. font-size: 14px;
  576. color: #333;
  577. }
  578. .personal-info .times{
  579. color: #727472;
  580. }
  581. /*记录列表*/
  582. .recode-wraps{
  583. width: 95%;
  584. border: 1px dashed #ECF0F1;
  585. margin: auto;
  586. margin-top: 10px;
  587. border-radius: 5px;
  588. padding-bottom: 5px;
  589. }
  590. .time{
  591. background: #31A5FF;
  592. padding: 5px 10px;
  593. font-size: 14px;
  594. display: inline-block;
  595. color: #fff;
  596. border-radius: 10px;
  597. position: relative;
  598. margin-bottom: 5px;
  599. }
  600. .name{
  601. color: #000;
  602. font-size: 14px;
  603. /*font-weight: bold;*/
  604. line-height: 1.6;
  605. }
  606. .main{
  607. padding-left: 50px;
  608. position: relative;
  609. padding-bottom: 10px;
  610. }
  611. .main:after{
  612. content: '';
  613. position: absolute;
  614. top: 0;
  615. left: 30px;
  616. width:2px;
  617. background: #31A5FF;
  618. height: 100%;
  619. }
  620. .main:before{
  621. content: '';
  622. position: absolute;
  623. top: 5px;
  624. left:23px;
  625. width:15px;
  626. background: #31A5FF;
  627. height: 15px;
  628. border-radius: 50%;
  629. }
  630. /*三角形*/
  631. .Triangle{
  632. position: absolute;
  633. top: 5px;
  634. left: -14px;
  635. width: 0;
  636. height: 0;
  637. border-width: 8px;
  638. border-style: solid;
  639. border-color: transparent #31A5FF transparent transparent;
  640. transform: rotate(360deg);
  641. }
  642. .recode-img{
  643. display: inline-block;
  644. width: 38px;
  645. height: 46px;
  646. background: url("../../icon/recode.png") center no-repeat;
  647. background-size: contain;
  648. position: relative;
  649. left: 12px;
  650. top: 9px;
  651. }
  652. .recodeTitle{
  653. display: block;
  654. margin-top: 3px;
  655. }
  656. .state1{
  657. padding-left: 50px;
  658. position: relative;
  659. }
  660. .stop{
  661. position: absolute;
  662. top: 6px;
  663. left: 23px;
  664. width: 15px;
  665. height: 15px;
  666. background: url("../../icon/stop.png") center no-repeat;
  667. background-size: contain;
  668. z-index: 800;
  669. }
  670. .state1:after{
  671. content: '';
  672. position: absolute;
  673. top: -2px;
  674. left: 30px;
  675. width:2px;
  676. background: #31A5FF;
  677. height: 10px;
  678. }
  679. .recode-more{
  680. padding: 20px;
  681. text-align: center;
  682. }
  683. /*点击浏览图片*/
  684. .gallery{
  685. display: none;
  686. position: fixed;
  687. top: 0;
  688. right: 0;
  689. bottom: 0;
  690. left: 0;
  691. background-color: #000000;
  692. z-index: 10000;
  693. }
  694. .gallery-img{
  695. position: absolute;
  696. top: 30px;
  697. right: 0;
  698. bottom: 30px;
  699. left: 0;
  700. background: center center no-repeat;
  701. background-size: contain;
  702. }
  703. /*echarts*/
  704. .left{
  705. position: relative;
  706. width: 100%;
  707. height: 35px;
  708. margin-bottom: 20px;
  709. display: flex;
  710. justify-content: space-between;
  711. align-items: center;
  712. flex-wrap: nowrap;
  713. padding-left:
  714. }
  715. .left input{
  716. flex: 1;
  717. height: 35px;
  718. border:1px solid #ccc;
  719. padding:0 20px 0 10px;
  720. outline: none;
  721. background: #fff;
  722. border-radius: 3px;
  723. }
  724. .left #radioSelect{
  725. flex: 1;
  726. height: 35px;
  727. line-height: 34px;
  728. border:1px solid #ccc;
  729. padding:0 20px 0 10px;
  730. background: #fff;
  731. border-radius: 3px;
  732. overflow: hidden;
  733. text-overflow: ellipsis;
  734. white-space: nowrap;
  735. }
  736. .left span{
  737. flex: 0 0 80px;
  738. }
  739. .Echartsmain{
  740. text-align: center;
  741. width: 100%;
  742. }
  743. .icos{
  744. position: absolute;
  745. top: 10px;
  746. right: 8px;
  747. width: 18px;
  748. height: 13px;
  749. background: url(../../icon/ico.png) no-repeat;
  750. background-size: cover;
  751. }
  752. .btnSelect{
  753. text-align: center;
  754. padding-bottom: 20px;
  755. }
  756. .btnSelect button{
  757. height: 35px;
  758. line-height: 34px;
  759. width: 80px;
  760. border: 1px solid #009fe8;
  761. background: #009fe8;
  762. color: #fff;
  763. border-radius: 3px;
  764. }
  765. /*部分记录列表*/
  766. /*name*/
  767. .date-lists{
  768. width: 100%;
  769. padding: 10px 0;
  770. overflow-x: scroll;
  771. white-space: nowrap;
  772. box-sizing: border-box;
  773. }
  774. .date-lists::-webkit-scrollbar{
  775. display: none;
  776. }
  777. .date-wrap{
  778. width: 100%;
  779. box-sizing: border-box;
  780. background: #fff;
  781. position: relative;
  782. }
  783. .date-wrap:after{
  784. content: "";
  785. position: absolute;
  786. bottom: 0;
  787. left: 0;
  788. width: 100%;
  789. height: 1px;
  790. background: #f0f0f0;
  791. }
  792. .date-lists li{
  793. margin-right: 10px;
  794. border: 1px solid #f0f0f0;
  795. padding: 0 10px;
  796. height: 32px;
  797. line-height: 31px;
  798. border-radius: 5px;
  799. color: #ccc;
  800. display: inline-block;
  801. }
  802. .date-lists .active{
  803. background: #009FE8;
  804. color: #fff;
  805. }
  806. .no_data{
  807. text-align: center;
  808. color: #999;
  809. font-size: 15px;
  810. padding: 20px 0;
  811. }
  812. /*弹出*/
  813. .module-box1{
  814. position: absolute;
  815. width: 100%;
  816. height: 100%;
  817. top: 0;
  818. left: 0;
  819. background: rgba(0,159,232,.9);
  820. }
  821. .module-box1:after{
  822. content: '点击输入密码查看';
  823. width: 100%;
  824. height: 23px;
  825. position: absolute;
  826. top: -45px;
  827. left: 0;
  828. bottom: 0;
  829. right: 0;
  830. margin: auto;
  831. color: #fff;
  832. font-size: 16px;
  833. text-align: center;
  834. }
  835. .module-box1:before{
  836. content: "";
  837. width: 50px;
  838. height: 50px;
  839. position: absolute;
  840. top: 45px;
  841. left: 0;
  842. bottom: 0;
  843. right: 0;
  844. margin: auto;
  845. background: url("../../icon/key.png") no-repeat;
  846. background-size: cover;
  847. }
  848. /*工资密码*/
  849. .wages-layout{
  850. width: 100%;
  851. height: 100%;
  852. position: fixed;
  853. top: 0;
  854. left:0;
  855. background: rgba(0, 0, 0, 0.5);
  856. z-index: 9999;
  857. }
  858. .wages{
  859. position: absolute;
  860. top: 0;left: 0;right: 0;bottom: 0;
  861. width:300px;
  862. height: 200px;
  863. margin: auto;
  864. background: #fff;
  865. border-radius: 5px;
  866. padding: 10px;
  867. }
  868. .wages-title{
  869. text-align: center;
  870. font-size: 18px;
  871. }
  872. .wages-wrap{
  873. padding: 15px 10px 0 10px;
  874. box-sizing: border-box;
  875. }
  876. .wages-wrap input{
  877. width: 100%;
  878. height: 35px;
  879. border: 1px solid #E8E8E8;
  880. border-radius: 5px;
  881. padding-left: 10px;
  882. box-sizing: border-box;
  883. }
  884. .btn-term{
  885. text-align: center;
  886. margin-top: 20px;
  887. position: absolute;
  888. bottom: 10px;
  889. left: 0;
  890. width: 100%;
  891. padding: 0 10px;
  892. box-sizing: border-box;
  893. }
  894. .btn-term button{
  895. width: 49%;
  896. padding: 10px 0;
  897. text-align: center;
  898. border-radius: 3px;
  899. }
  900. .btn-close{
  901. border: 1px solid #E8E8E8;
  902. }
  903. .btn-close:active{
  904. background: #E8E8E8;
  905. }
  906. .btn-confirm:active{
  907. background: rgba(0,159,232,.7);
  908. border: 1px solid rgba(0,159,232,.7);
  909. }
  910. .btn-confirm{
  911. margin-top: 10px;
  912. border: 1px solid #009fe8;
  913. background: #009fe8;
  914. color: #fff;
  915. }
  916. .Tips{
  917. color: #6C6F74;
  918. font-size: 12px;
  919. padding: 0 10px;
  920. margin-top: 20px;
  921. }
  922. </style>
  923. </head>
  924. <body>
  925. <!-- b直接显示的wrap-->
  926. <div class="recode-warp" style="display:none">
  927. <div class="recode_contents">
  928. <div class="template_my_record">
  929. <p class="template_name"></p>
  930. <p class="my_record" onclick="my_recode()">我的记录</p>
  931. </div>
  932. <div id="position_warp"></div>
  933. <div id="recode_content"></div>
  934. </div>
  935. </div>
  936. <!-- a类型 1.底部,2.图标,3.列表-->
  937. <div class="a-recodeWrap">
  938. <div class="a-recodeWrap3" id="add_recodes_list"></div>
  939. <div class="a-recodeWrap2" id="add_recodes_icon"></div>
  940. </div>
  941. <!--二维码详情-->
  942. <div class="qrcode-wrap" id="qrcode_wrap" style="margin-bottom:60px;"></div>
  943. <!--浏览信息弹出框-->
  944. <div class="modular hide animated" id="myModal">
  945. <div class=" box">
  946. <div class="header-img">
  947. <!--<img src="http://jiewei-php-files.oss-cn-qingdao.aliyuncs.com/avatar/avatar_15038412.png" alt="">-->
  948. </div>
  949. <div class="personal-info">
  950. <p class="name"></p>
  951. <p class="dep"></p>
  952. <p class="times"></p>
  953. </div>
  954. </div>
  955. </div>
  956. <!-- 点击浏览图片-->
  957. <div class="gallery">
  958. <span class="gallery-img"></span>
  959. </div>
  960. <!-- 工资密码-->
  961. <div class="wages-layout" id="wages-layout" style="display: none;">
  962. <div class="wages">
  963. <h3 class="wages-title">模块权限验证</h3>
  964. <div class="wages-wrap">
  965. <input type="password" placeholder="请输入模块密码" class="password">
  966. <p class="Tips-p" style="color:red;font-size:12px;margin-top:5px;"></p>
  967. </div>
  968. <div class="Tips">
  969. <span>友情提示:该密码为用户模块密码。</span>
  970. </div>
  971. <div class="btn-term">
  972. <button type="button" name="button" class="btn-close" onclick="closeWages()">取消</button>
  973. <button type="button" name="button" class="btn-confirm" onclick="Jurisdiction()">确认</button>
  974. </div>
  975. </div>
  976. </div>
  977. </body>
  978. </html>
  979. <script type="text/template" id="addRecodeTemplate">
  980. <!-- 是否开启定位 -->
  981. {{?it.position == true}}
  982. {{=getLonLat(false)}}
  983. {{?}}
  984. <!-- 状态-->
  985. {{?it.recordStatusList != "" && it.recordStatusList != null}}
  986. {{ for(var i= 0;i<it.recordStatusList.length;i++) { }}
  987. <div class="modula state">
  988. <label class="title isOptionals" isOptional="true">
  989. {{=it.recordStatusList[i].statusContent}}:
  990. <span>*</span>
  991. </label>
  992. <div class="text-input input-recode">
  993. <input type="text" placeholder="请选择{{=it.recordStatusList[i].statusContent}}" statusId="{{=it.recordStatusList[i].statusId}}" class="isOptional input moreStatusA" id="moreStatus{{=it.recordStatusList[i].id}}" readonly>
  994. <i class="ico"></i>
  995. </div>
  996. </div>
  997. {{?it.recordStatusList[i].choseType === 'checkbox'}}
  998. {{=statusCheckbox('moreStatus'+it.recordStatusList[i].id,it.recordStatusList[i].statusItemList,it.recordStatusList[i].statusContent)}}
  999. {{??}}
  1000. {{=statusRadio('moreStatus'+it.recordStatusList[i].id,it.recordStatusList[i].statusItemList,it.recordStatusList[i].statusContent)}}
  1001. {{?}}
  1002. {{ } }}
  1003. {{??it.statusName !=""}}
  1004. <div class="modula state">
  1005. <label class="title isOptionals" isOptional="true">
  1006. {{=it.statusName}}:
  1007. <span>*</span>
  1008. </label>
  1009. <div class="text-input input-recode">
  1010. <input type="text" placeholder="请输入{{=it.statusName}}" class="isOptional input statusContent">
  1011. </div>
  1012. </div>
  1013. {{?}}
  1014. <!-- 记录项 -->
  1015. {{ for(var key in it.inputList) { }}
  1016. <div class="row_col">
  1017. <label style="display:{{=key==""?'none':'block'}}">{{=key}}</label>
  1018. <div class="content" style="padding-top:15px;">
  1019. {{ for(var i=0;i<it.inputList[key].length;i++) { }}
  1020. {{?it.inputList[key][i].inputType === 'text'}}
  1021. <div class="modula text">
  1022. <label class="title isOptionals" isOptional="{{=it.inputList[key][i].isOptional}}">
  1023. <span style="display:{{=it.inputList[key][i].isOptional== true?'inline-block':'none'}}">*</span>
  1024. {{=it.inputList[key][i].inputName}}:
  1025. </label>
  1026. <div class="text-input input-recode">
  1027. <textarea oninput="Oninput(this)" placeholder="请输入{{=it.inputList[key][i].inputName}}" style="padding: 10px 15px" recordTrem-id="{{=it.inputList[key][i].id}}" class="isOptional input recordTrems textarea"></textarea>
  1028. </div>
  1029. </div>
  1030. {{??it.inputList[key][i].inputType === 'date_auto'}}
  1031. <div class="modula text">
  1032. <label class="title isOptionals" isOptional="{{=it.inputList[key][i].isOptional}}">
  1033. <span style="display:{{=it.inputList[key][i].isOptional== true?'inline-block':'none'}}">*</span>
  1034. {{=it.inputList[key][i].inputName}}:
  1035. </label>
  1036. <div class="text-input input-recode">
  1037. <input type="text" readonly value="{{=getYearMonthDate()}}" class="isOptional input recordTrems" recordTrem-id="{{=it.inputList[key][i].id}}">
  1038. </div>
  1039. </div>
  1040. {{??it.inputList[key][i].inputType === 'dateTime_auto'}}
  1041. <div class="modula text">
  1042. <label class="title isOptionals" isOptional="{{=it.inputList[key][i].isOptional}}">
  1043. <span style="display:{{=it.inputList[key][i].isOptional== true?'inline-block':'none'}}">*</span>
  1044. {{=it.inputList[key][i].inputName}}:
  1045. </label>
  1046. <div class="text-input input-recode">
  1047. <input type="text" readonly value="{{=getYearMonthDateTime()}}" class="isOptional input recordTrems" recordTrem-id="{{=it.inputList[key][i].id}}">
  1048. </div>
  1049. </div>
  1050. {{??it.inputList[key][i].inputType === 'text_phone'}}
  1051. <div class="modula text">
  1052. <label class="title isOptionals" isOptional="{{=it.inputList[key][i].isOptional}}">
  1053. <span style="display:{{=it.inputList[key][i].isOptional== true?'inline-block':'none'}}">*</span>
  1054. {{=it.inputList[key][i].inputName}}:
  1055. </label>
  1056. <div class="text-input input-recode">
  1057. <input type="tel" placeholder="请填写手机号" value="{{=JSON.parse($api.getStorage('data')).data.user.mobile == null?'':JSON.parse($api.getStorage('data')).data.user.mobile}}" class="isOptional input recordTrems" recordTrem-id="{{=it.inputList[key][i].id}}">
  1058. </div>
  1059. </div>
  1060. {{??it.inputList[key][i].inputType === 'text_id'}}
  1061. <div class="modula text">
  1062. <label class="title isOptionals" isOptional="{{=it.inputList[key][i].isOptional}}">
  1063. <span style="display:{{=it.inputList[key][i].isOptional== true?'inline-block':'none'}}">*</span>
  1064. {{=it.inputList[key][i].inputName}}:
  1065. </label>
  1066. <div class="text-input input-recode">
  1067. <input type="text" placeholder="请填写身份证号" value="{{=JSON.parse($api.getStorage('data')).data.user.identity_card == null?'':JSON.parse($api.getStorage('data')).data.user.identity_card }}" class="isOptional input recordTrems" recordTrem-id="{{=it.inputList[key][i].id}}">
  1068. </div>
  1069. </div>
  1070. {{??it.inputList[key][i].inputType === 'company_auto'}}
  1071. <div class="modula text">
  1072. <label class="title isOptionals" isOptional="{{=it.inputList[key][i].isOptional}}">
  1073. <span style="display:{{=it.inputList[key][i].isOptional== true?'inline-block':'none'}}">*</span>
  1074. {{=it.inputList[key][i].inputName}}:
  1075. </label>
  1076. <div class="text-input input-recode">
  1077. <input type="text" readonly value="{{=JSON.parse($api.getStorage('data')).data.user.section}}" class="isOptional input recordTrems" recordTrem-id="{{=it.inputList[key][i].id}}">
  1078. </div>
  1079. </div>
  1080. {{??it.inputList[key][i].inputType === 'dateTime'}}
  1081. <div class="modula date-time">
  1082. <label class="title isOptionals" isOptional="{{=it.inputList[key][i].isOptional}}">
  1083. <span style="display:{{=it.inputList[key][i].isOptional== true?'inline-block':'none'}}">*</span>
  1084. {{=it.inputList[key][i].inputName}}:
  1085. </label>
  1086. <div class="text-input input-recode">
  1087. <input type="datetime-local" data-datetime="true" class="isOptional input recordTrems" recordTrem-id="{{=it.inputList[key][i].id}}">
  1088. </div>
  1089. </div>
  1090. {{??it.inputList[key][i].inputType === 'date'}}
  1091. <div class="modula date">
  1092. <label class="title isOptionals" isOptional="{{=it.inputList[key][i].isOptional}}">
  1093. <span style="display:{{=it.inputList[key][i].isOptional== true?'inline-block':'none'}}">*</span>
  1094. {{=it.inputList[key][i].inputName}}:
  1095. </label>
  1096. <div class="text-input input-recode">
  1097. <input type="date" class="isOptional input recordTrems" recordTrem-id="{{=it.inputList[key][i].id}}">
  1098. </div>
  1099. </div>
  1100. {{??it.inputList[key][i].inputType === 'file'}}
  1101. <div class="modula file-warp">
  1102. <label class="title" isOptional="{{=it.inputList[key][i].isOptional}}">
  1103. <span style="display:{{=it.inputList[key][i].isOptional== true?'inline-block':'none'}}">*</span>
  1104. {{=it.inputList[key][i].inputName}}:
  1105. </label>
  1106. <div class="text-input input-recode file-items-add fileList_warp" recordTrem-id="{{=it.inputList[key][i].id}}">
  1107. <div class="upload file-width" onclick="getFile(this,'file')">
  1108. <img src="../../image/upload.png" alt="">
  1109. </div>
  1110. </div>
  1111. </div>
  1112. {{??it.inputList[key][i].inputType === 'mp3'}}
  1113. <div class="modula audio-warp">
  1114. <h4 class="title" isOptional="{{=it.inputList[key][i].isOptional}}">
  1115. <span style="display:{{=it.inputList[key][i].isOptional== true?'inline-block':'none'}}">*</span>
  1116. {{=it.inputList[key][i].inputName}}:
  1117. </h4>
  1118. <div class="text-input input-recode mp3_wrap" recordTrem-id="{{=it.inputList[key][i].id}}">
  1119. <div class="upload-audio">
  1120. <span class="upload-btn" onclick="getFile(this,'mp3')"></span>
  1121. <button type="button" class="del-btn hide" onclick="delAudio(this)">删除</button>
  1122. </div>
  1123. <div class="audio-content">
  1124. </div>
  1125. </div>
  1126. </div>
  1127. {{??it.inputList[key][i].inputType === 'number'}}
  1128. <div class="modula number">
  1129. <label class="title isOptionals" isOptional="{{=it.inputList[key][i].isOptional}}">
  1130. <span style="display:{{=it.inputList[key][i].isOptional== true?'inline-block':'none'}}">*</span>
  1131. {{=it.inputList[key][i].inputName}}:
  1132. </label>
  1133. <div class="text-input input-recode">
  1134. <input type="number" placeholder="请输入{{=it.inputList[key][i].inputName}}" recordTrem-id="{{=it.inputList[key][i].id}}" class="isOptional input recordTrems">
  1135. </div>
  1136. </div>
  1137. {{??it.inputList[key][i].inputType === 'photo'}}
  1138. <div class="modula img-warp">
  1139. <label class="title" isOptional="{{=it.inputList[key][i].isOptional}}">
  1140. <span style="display:{{=it.inputList[key][i].isOptional== true?'inline-block':'none'}}">*</span>
  1141. {{=it.inputList[key][i].inputName}}:
  1142. </label>
  1143. <div class="text-input input-recode file-items-add img-items photoFile" isOptional="{{=it.inputList[key][i].isOptional}}" recordTrem-id="{{=it.inputList[key][i].id}}">
  1144. <div class="upload file-width" onclick="uploadImg('{{=it.inputList[key][i].businessType}}',this)">
  1145. <img src="../../image/upload.png" alt="">
  1146. </div>
  1147. </div>
  1148. </div>
  1149. {{??it.inputList[key][i].inputType === 'radio'}}
  1150. <div class="modula radio">
  1151. <label class="title isOptionals" isOptional="{{=it.inputList[key][i].isOptional}}">
  1152. <span style="display:{{=it.inputList[key][i].isOptional== true?'inline-block':'none'}}">*</span>
  1153. {{=it.inputList[key][i].inputName}}:
  1154. </label>
  1155. <div class="text-input input-recode">
  1156. <input type="text" placeholder="请选择" class="isOptional input changeInput" recordTrem-id="{{=it.inputList[key][i].id}}" id="radio{{=i}}" readonly>
  1157. <i class="ico"></i>
  1158. </div>
  1159. </div>
  1160. {{=radioRecord('radio'+i,it.inputList[key][i].inputItemList)}}
  1161. {{??it.inputList[key][i].inputType === 'video'}}
  1162. <div class="modula vedio-warp">
  1163. <h4 class="title isOptionals" isOptional="{{=it.inputList[key][i].isOptional}}">
  1164. <span style="display:{{=it.inputList[key][i].isOptional== true?'inline-block':'none'}}">*</span>
  1165. {{=it.inputList[key][i].inputName}}:
  1166. </h4>
  1167. <div class="text-input input-recode mp4_wrap" recordTrem-id="{{=it.inputList[key][i].id}}">
  1168. <div class="upload-audio">
  1169. <span class="upload-btn1" onclick="getFile(this,'mp4')"></span>
  1170. <button type="button" class="del-btn hide" onclick="delVedio(this)">删除</button>
  1171. </div>
  1172. <div class="audio-content">
  1173. </div>
  1174. </div>
  1175. </div>
  1176. {{??it.inputList[key][i].inputType === 'checkbox'}}
  1177. <div class="modula checkbox">
  1178. <label class="title isOptionals" isOptional="{{=it.inputList[key][i].isOptional}}">
  1179. <span style="display:{{=it.inputList[key][i].isOptional== true?'inline-block':'none'}}">*</span>
  1180. {{=it.inputList[key][i].inputName}}:
  1181. </label>
  1182. <div class="text-input input-recode">
  1183. <input type="text" placeholder="请选择" class="isOptional input changeInput" recordTrem-id="{{=it.inputList[key][i].id}}" id="checkbox{{=i}}" readonly>
  1184. <i class="ico"></i>
  1185. </div>
  1186. </div>
  1187. {{=checkboxRecord('checkbox'+i,it.inputList[key][i].inputItemList)}}
  1188. {{?}}
  1189. {{ } }}
  1190. </div>
  1191. </div>
  1192. {{ } }}
  1193. <!-- 检查项 -->
  1194. {{?it.checkItemList != ""}}
  1195. {{ for(var i= 0;i<it.checkItemList.length;i++) { }}
  1196. <div class="modula checkbox-term">
  1197. <label class="title" style="margin-bottom: 0">
  1198. {{=it.checkItemList[i].group.groupName}}:
  1199. </label>
  1200. <div class="radio-wrap">
  1201. {{?it.checkItemList[i].group.checkType == 'radio'}}
  1202. {{ for(var t=0;t<it.checkItemList[i].checkItemList.length;t++) { }}
  1203. <label>
  1204. <input class="aui-radio checked" type="radio" value="{{=it.checkItemList[i].checkItemList[t].id}}" name="{{=it.checkItemList[i].group.groupName}}">
  1205. {{=it.checkItemList[i].checkItemList[t].itemValue}}
  1206. </label>
  1207. {{ } }}
  1208. {{??}}
  1209. {{ for(var t=0;t<it.checkItemList[i].checkItemList.length;t++) { }}
  1210. <label>
  1211. <input class="aui-checkbox checked" type="checkbox" value="{{=it.checkItemList[i].checkItemList[t].id}}" name="{{=it.checkItemList[i].group.groupName}}">
  1212. {{=it.checkItemList[i].checkItemList[t].itemValue}}
  1213. </label>
  1214. {{ } }}
  1215. {{?}}
  1216. </div>
  1217. </div>
  1218. {{ } }}
  1219. {{?}}
  1220. <button type="button" name="button" class="submit-btn" onclick="submitRecode()">提交记录</button>
  1221. </script>
  1222. <script type="text/template" id="mapTemplate">
  1223. <div class="position flex-space-between">
  1224. <div class="map-name flex-start">
  1225. <i class="ico-map"></i>
  1226. <div class="names">
  1227. <p class="map1">{{=it.address}}</p>
  1228. </div>
  1229. </div>
  1230. <p class="again" onclick="getLonLat(true)">重新定位</p>
  1231. </div>
  1232. </script>
  1233. <script type="text/template" id="templateQrcode">
  1234. {{~it:value}}
  1235. <!-- 文本 -->
  1236. {{?value.pageRelation.businessType === 'TEXT'}}
  1237. <div class="col text">
  1238. <label class="{{=value.textVo.title==null?'hide':(value.textVo.title == ""?'hide':'')}}">{{=value.textVo.title}}</label>
  1239. <div class="content" style="line-height:1.8">{{=base64.decode(value.textVo.dataContent)}}</div>
  1240. <!-- <div class="module-box"></div> -->
  1241. </div>
  1242. <div class="line"></div>
  1243. {{??value.pageRelation.businessType === 'IMAGE_TEXT'}}
  1244. <div class="col">
  1245. <label class="{{=value.imageText.title==null?'hide':(value.imageText.title == ""?'hide':'')}}">{{=value.imageText.title}}</label>
  1246. <div class="content" style="{{=value.imageText.imageUrl==""?'padding-top:0':''}}">
  1247. <img src="{{=value.imageText.imageUrl}}" alt="">
  1248. <div class="img-tilte" style="{{=value.imageText.imageUrl==""?'margin-top:0':''}}">{{=base64.decode(value.imageText.dataContent)}}</div>
  1249. </div>
  1250. </div>
  1251. <div class="line"></div>
  1252. {{??value.pageRelation.businessType === 'PICTURE' && value.pictureList!="" && value.pictureList!=null}}
  1253. {{?value.pictureList[0].imageType == 10}}
  1254. <div class="col">
  1255. <label style="display:{{=value.pictureList[0].title==null?'none':(value.pictureList[0].title == ""?'none':'block')}}">{{=value.pictureList[0].title}}</label>
  1256. <div class="content">
  1257. <div class="swiper-container">
  1258. <div class="swiper-wrapper" id="age_list">
  1259. {{ for(var i = 0;i<value.pictureList.length;i++) { }}
  1260. <div class="swiper-slide" onclick="openLink('{{=value.pictureList[i].imageLinking}}', '{{=value.pictureList[i].imageUrl}}','{{=value.pictureList[i].imageTitle == ""?'':(value.pictureList[i].imageTitle==null?'':(value.pictureList[i].imageTitle == 'null'?'':value.pictureList[i].imageTitle))}}')">
  1261. <a href="javascript:;" style="display:block">
  1262. <img src="{{=value.pictureList[i].imageUrl}}" style="display:block;width:100%" alt="">
  1263. </a>
  1264. <div class="api_page_text">
  1265. <p class="api_banner_info">{{=value.pictureList[i].imageTitle == ""?'':(value.pictureList[i].imageTitle==null?'':(value.pictureList[i].imageTitle == 'null'?'':value.pictureList[i].imageTitle))}}</p>
  1266. </div>
  1267. </div>
  1268. {{ } }}
  1269. </div>
  1270. <div class="swiper-pagination swiper-pagination-fraction" id="api_page"></div>
  1271. </div>
  1272. </div>
  1273. </div>
  1274. <div class="line"></div>
  1275. {{??value.pictureList[0].imageType == 11}}
  1276. <div class="col">
  1277. <label style="display:{{=value.pictureList[0].title==null?'none':(value.pictureList[0].title == ""?'none':'block')}}">{{=value.pictureList[0].title}}</label>
  1278. <ul class="img-atls">
  1279. {{ for(var i = 0;i<value.pictureList.length;i++) { }}
  1280. <li onclick="openLink('{{=value.pictureList[i].imageLinking}}', '{{=value.pictureList[i].imageUrl}}','{{=value.pictureList[i].imageTitle}}')">
  1281. <img src="{{=value.pictureList[i].imageUrl}}" alt="">
  1282. </li>
  1283. {{ } }}
  1284. </ul>
  1285. </div>
  1286. <div class="line"></div>
  1287. {{??value.pictureList[0].imageType == 12}}
  1288. <div class="col">
  1289. <label style="display:{{=value.pictureList[0].title==null?'none':(value.pictureList[0].title == ""?'none':'block')}}">{{=value.pictureList[0].title}}</label>
  1290. <ul class="img-atls img-atls3">
  1291. {{ for(var i = 0;i<value.pictureList.length;i++) { }}
  1292. <li onclick="openLink('{{=value.pictureList[i].imageLinking}}', '{{=value.pictureList[i].imageUrl}}','{{=value.pictureList[i].imageTitle}}')">
  1293. <img src="{{=value.pictureList[i].imageUrl}}" alt="">
  1294. </li>
  1295. {{ } }}
  1296. </ul>
  1297. </div>
  1298. <div class="line"></div>
  1299. {{?}}
  1300. <!-- **** -->
  1301. {{??value.pageRelation.businessType === 'VIDEO' && value.videoList !="" && value.videoList !=null}}
  1302. <div class="col">
  1303. <div class="content">
  1304. <video controls="" x5-video-player-type="h5" poster="" loop="">
  1305. <source src="{{=value.videoList[0].videoUrl}}" type="video/mp4">
  1306. </video>
  1307. </div>
  1308. </div>
  1309. <div class="line"></div>
  1310. {{??value.pageRelation.businessType === 'LINKS' && value.linksList != "" && value.linksList != null}}
  1311. {{?value.linksList[0].types ==11}}
  1312. <div class="col">
  1313. <label style="display:{{=value.linksList[0].title==null?'none':(value.linksList[0].title == ""?'none':'block')}}">{{=value.linksList[0].title}}</label>
  1314. <ul class="file-items">
  1315. {{ for(var i = 0;i<value.linksList.length;i++) { }}
  1316. <li class="file-item" onclick="openLink('{{=value.linksList[i].linkUrl}}','','{{=value.linksList[i].linkName}}')" style="padding:10px 5px">
  1317. <img src="{{=value.linksList[i].imageUrl=='../../static/images/link.png'?'../../icon/link.png':(value.linksList[i].imageUrl==null?'../../icon/link.png':(value.linksList[i].imageUrl==""?'../../icon/link.png':value.linksList[i].imageUrl))}}" style="height:auto;" alt="">
  1318. <div class="file-info">
  1319. <p class="link-title">{{=value.linksList[i].linkName}}</p>
  1320. </div>
  1321. <i class="more"></i>
  1322. </li>
  1323. {{ } }}
  1324. </ul>
  1325. <!-- <div class="module-box1" onclick="openWages(this)"></div> -->
  1326. </div>
  1327. <div class="line"></div>
  1328. {{??value.linksList[0].types == 12}}
  1329. <div class="col">
  1330. <label style="display:{{=value.linksList[0].title==null?'none':(value.linksList[0].title == ""?'none':'block')}}">{{=value.linksList[0].title}}</label>
  1331. <ul class="link-items">
  1332. {{ for(var i = 0;i<value.linksList.length;i++) { }}
  1333. <li class="link-item" onclick="openLink('{{=value.linksList[i].linkUrl}}','','{{=value.linksList[i].linkName}}')">
  1334. <img src="{{=value.linksList[i].imageUrl=='../../static/images/link.png'?'../../icon/link.png':(value.linksList[i].imageUrl==null?'../../icon/link.png':(value.linksList[i].imageUrl==""?'../../icon/link.png':value.linksList[i].imageUrl))}}" alt="">
  1335. <span class="link-title">{{=value.linksList[i].linkName}}</span>
  1336. </li>
  1337. {{ } }}
  1338. </ul>
  1339. </div>
  1340. <div class="line"></div>
  1341. {{??value.linksList[0].types == 13}}
  1342. <div class="col">
  1343. <label style="display:{{=value.linksList[0].title==null?'none':(value.linksList[0].title == ""?'none':'block')}}">{{=value.linksList[0].title}}</label>
  1344. <ul class="type3">
  1345. {{ for(var i = 0;i<value.linksList.length;i++) { }}
  1346. <li onclick="openLink('{{=value.linksList[i].linkUrl}}','','{{=value.linksList[i].linkName}}')">
  1347. <img src="{{=value.linksList[i].imageUrl=='../../static/images/link.png'?'../../icon/link.png':(value.linksList[i].imageUrl==null?'../../icon/link.png':(value.linksList[i].imageUrl==""?'../../icon/link.png':value.linksList[i].imageUrl))}}" alt="">
  1348. <p>{{=value.linksList[i].linkName}}</p>
  1349. </li>
  1350. {{ } }}
  1351. </ul>
  1352. </div>
  1353. <div class="line"></div>
  1354. {{??value.linksList[0].types == 14}}
  1355. <div class="col">
  1356. <label style="display:{{=value.linksList[0].title==null?'none':(value.linksList[0].title == ""?'none':'block')}}">{{=value.linksList[0].title}}</label>
  1357. <ul class="type3 type4">
  1358. {{ for(var i= 0;i<value.linksList.length;i++) { }}
  1359. <li onclick="openLink('{{=value.linksList[i].linkUrl}}','','{{=value.linksList[i].linkName}}')">
  1360. <img src="{{=value.linksList[i].imageUrl=='../../static/images/link.png'?'../../icon/link.png':(value.linksList[i].imageUrl==null?'../../icon/link.png':(value.linksList[i].imageUrl==""?'../../icon/link.png':value.linksList[i].imageUrl))}}" alt="">
  1361. <p>{{=value.linksList[i].linkName}}</p>
  1362. </li>
  1363. {{ } }}
  1364. </ul>
  1365. </div>
  1366. <div class="line"></div>
  1367. {{?}}
  1368. <!-- TODO // 上传文件
  1369. // 浏览手机文件夹,获取文件路径 -->
  1370. {{??value.pageRelation.businessType === 'FILE' && value.fileList !="" && value.fileList != null}}
  1371. <div class="col-file">
  1372. <div class="file-title-add">
  1373. <label style="display:{{=value.fileList[0].title==null?'none':(value.fileList[0].title == ""?'none':'block')}}">{{=value.fileList[0].title}}</label>
  1374. <img style="display:{{=value.fileList[0].title==null?'none':(value.fileList[0].title == ""?'none':'block')}}" src="../../icon/add.png" alt="" onclick="browseFileUpload(this,'file')">
  1375. </div>
  1376. <ul class="file-items file-item-type-ul">
  1377. {{ for(var i = 0;i<value.fileList.length;i++) { }}
  1378. {{?value.fileList[i].fileName.endsWith('doc') || value.fileList[i].fileName.endsWith('docx')}}
  1379. <li class="file-item file-item-type" onclick="browseFile('{{=value.fileList[i].filePath}}')">
  1380. <img src="../../icon/doc.png" alt="" style="width:40px;height:40px;">
  1381. <div class="file-info">
  1382. <p>{{=value.fileList[i].fileName}}</p>
  1383. <span>{{=value.fileList[i].fileSize}}</span>
  1384. </div>
  1385. </li>
  1386. {{??value.fileList[i].fileName.endsWith('ppt') || value.fileList[i].fileName.endsWith('ptx')}}
  1387. <li class="file-item file-item-type" onclick="browseFile('{{=value.fileList[i].filePath}}')">
  1388. <img src="../../icon/ppt.png" alt="" style="width:40px;height:40px;">
  1389. <div class="file-info">
  1390. <p>{{=value.fileList[i].fileName}}</p>
  1391. <span>{{=value.fileList[i].fileSize}}</span>
  1392. </div>
  1393. </li>
  1394. {{??value.fileList[i].fileName.endsWith('pdf')}}
  1395. <li class="file-item file-item-type" onclick="browseFile('{{=value.fileList[i].filePath}}')">
  1396. <img src="../../icon/pdf.png" alt="" style="width:40px;height:40px;">
  1397. <div class="file-info">
  1398. <p>{{=value.fileList[i].fileName}}</p>
  1399. <span>{{=value.fileList[i].fileSize}}</span>
  1400. </div>
  1401. </li>
  1402. {{??value.fileList[i].fileName.endsWith('zip') || value.fileList[i].fileName.endsWith('rar')}}
  1403. <li class="file-item file-item-type" onclick="browseFile('{{=value.fileList[i].filePath}}',true)">
  1404. <img src="../../icon/zip.png" alt="" style="width:40px;height:40px;">
  1405. <div class="file-info">
  1406. <p>{{=value.fileList[i].fileName}}</p>
  1407. <span>{{=value.fileList[i].fileSize}}</span>
  1408. </div>
  1409. </li>
  1410. {{??value.fileList[i].fileName.endsWith('xlsx') || value.fileList[i].fileName.endsWith('xls') }}
  1411. <li class="file-item file-item-type" onclick="browseFile('{{=value.fileList[i].filePath}}')">
  1412. <img src="../../icon/lsx.png" alt="" style="width:40px;height:40px;">
  1413. <div class="file-info">
  1414. <p>{{=value.fileList[i].fileName}}</p>
  1415. <span>{{=value.fileList[i].fileSize}}</span>
  1416. </div>
  1417. </li>
  1418. {{??}}
  1419. <li class="file-item" onclick="browseFile('{{=value.fileList[i].filePath}}')">
  1420. <img src="../../icon/OTHER.png" alt="" style="width:40px;height:40px;">
  1421. <div class="file-info">
  1422. <p>{{=value.fileList[i].fileName}}</p>
  1423. <span>{{=value.fileList[i].fileSize}}</span>
  1424. </div>
  1425. </li>
  1426. {{?}}
  1427. {{ } }}
  1428. </ul>
  1429. </div>
  1430. <div class="line"></div>
  1431. {{??value.pageRelation.businessType === 'EQUIPMENT' && value.equipmentList !="" && value.equipmentList != null}}
  1432. <div class="col" style="margin-bottom:5px">
  1433. <label style="display:{{=value.equipmentList[0].title==null?'none':(value.equipmentList[0].title == ""?'none':'block')}}">{{=value.equipmentList[0].title}}</label>
  1434. <ul class="nameplate">
  1435. <li class="nameplate-li">
  1436. <p>名称</p>
  1437. <p>内容</p>
  1438. </li>
  1439. {{ for(var i = 0;i<value.equipmentList.length;i++) { }}
  1440. <li class="nameplate-li border">
  1441. <p>{{=value.equipmentList[i].paramName}}</p>
  1442. <p>{{=value.equipmentList[i].paramContent}}</p>
  1443. </li>
  1444. {{ } }}
  1445. </ul>
  1446. </div>
  1447. <div class="line"></div>
  1448. {{?}}
  1449. {{~}}
  1450. <!-- 添加记录模版 -->
  1451. <div id="add_recodes"></div>
  1452. <!-- Echarts -->
  1453. <div class="Echarts col" id="Echarts" style="display:none"></div>
  1454. <div class="line"></div>
  1455. <!-- 显示部分记录列表 -->
  1456. <div class="recodeContent">
  1457. <div class="date-wrap" id="date_wrap"></div>
  1458. <div id="recodes"></div>
  1459. </div>
  1460. <!-- 浏览信息 -->
  1461. <div class="line"></div>
  1462. <div class="col">
  1463. <label>浏览记录</label>
  1464. <div class="browse-info">
  1465. <ul class="browse-items" id="browse_items"></ul>
  1466. </div>
  1467. </div>
  1468. </script>
  1469. <!-- 浏览记录列表 -->
  1470. <script type="text/template" id="browseTl">
  1471. {{~it:value:index}}
  1472. {{?index < 14}}
  1473. {{?value.name != "" && value.name != null}}
  1474. {{?value.img == null}}
  1475. <li class="browse-item" onclick="openModular('{{=value.name}}','{{=value.img}}','{{=value.department}}','{{=value.createDate}}')">
  1476. <span style="width: {{=imgSize()}}px;height:{{=imgSize()}}px;line-height:{{=imgSize()}}px;background-color:#{{=Math.random().toString(16).slice(2,8)}}">{{=value.name.substr(value.name.length-1,1)}}</span>
  1477. <p style="text-align: center;">{{=value.name}}</p>
  1478. </li>
  1479. {{??}}
  1480. <li class="browse-item" onclick="openModular('{{=value.name}}','{{=value.img}}','{{=value.department}}','{{=value.createDate}}')">
  1481. <img src="{{=value.img.substr(value.img, 4) == 'http'?value.img:urlphp+value.img}}" style="width: {{=imgSize()}}px;height:{{=imgSize()}}px" alt="">
  1482. <p style="text-align: center;">{{=value.name}}</p>
  1483. </li>
  1484. {{?}}
  1485. {{?}}
  1486. {{?}}
  1487. {{~}}
  1488. <li class="browse-item" onclick="moreBrowse()">
  1489. <span style="width: {{=imgSize()}}px;height:{{=imgSize()}}px;line-height:{{=imgSize()}}px;color:#333;border:1px solid #ECF0F1;">更多</span>
  1490. <p style="visibility: hidden;">更多</p>
  1491. </li>
  1492. </script>
  1493. <!-- 添加记录列表 底部弹出-->
  1494. <script type="text/template" id="addTemplate">
  1495. <button type="button" name="button" class="add-recode" onclick="openRecode()">添加记录</button>
  1496. <div class="module-box hide">
  1497. <div class="recode-content">
  1498. <p>请选择你要添加的内容</p>
  1499. <ul class="recode-itmes">
  1500. {{~it:value}}
  1501. <li class="recode-itme" onclick="openAddRecode('{{=value.templateName}}', '{{=value.id}}')">
  1502. <span>{{=value.templateName}}</span>
  1503. <i></i>
  1504. </li>
  1505. {{~}}
  1506. </ul>
  1507. <a href="javascript:;" class="close-recode" onclick="closeRecode()">取消</a>
  1508. </div>
  1509. </div>
  1510. </script>
  1511. <!-- 添加记录 图标类型 -->
  1512. <script type="text/template" id="addTemplate_icon">
  1513. <ul class="a-recodeWrap-ul-icon">
  1514. {{~it:value}}
  1515. <li onclick="openAddRecode('{{=value.templateName}}', '{{=value.id}}')">
  1516. <img src="{{=value.iconUrl == null?'../../icon/link.png':value.iconUrl}}" alt="">
  1517. <span>{{=value.templateName}}</span>
  1518. </li>
  1519. {{~}}
  1520. </ul>
  1521. </script>
  1522. <!-- 添加记录 列表类型 -->
  1523. <script type="text/template" id="addTemplate_list">
  1524. <ul class="a-recodeWrap-ul">
  1525. {{~it:value}}
  1526. <li onclick="openAddRecode('{{=value.templateName}}', '{{=value.id}}')">
  1527. {{=value.templateName}}
  1528. <i class="a-addRecode"></i>
  1529. </li>
  1530. {{~}}
  1531. </ul>
  1532. </script>
  1533. <!-- Echarts -->
  1534. <script type="text/template" id="templateReocde">
  1535. <label>统计</label>
  1536. <div class="Echartsmain">
  1537. <canvas id="container" height="0"></canvas>
  1538. <canvas id="container1" height="0" style="display:none;"></canvas>
  1539. </div>
  1540. <div class="left flex-start selectTime1" style="margin-top:15px;">
  1541. <span>起始时间: </span>
  1542. <input type="text" name="start_date" placeholder="选择开始日期" readonly="readonly" class="startTime">
  1543. </div>
  1544. <div class="left flex-start endTime1">
  1545. <span>结束时间: </span>
  1546. <input type="text" name="end_date" placeholder="选择开始日期" readonly="readonly" class="endTime">
  1547. </div>
  1548. <div class="left flex-start screen">
  1549. <span>统计项: </span>
  1550. <div id="radioSelect">请选择</div>
  1551. <i class="icos"></i>
  1552. </div>
  1553. <div class="left flex-start screenSelectType">
  1554. <span>图表类型: </span>
  1555. <input type="text" placeholder="请选择" value="饼图" class="SelectType" readonly>
  1556. <i class="icos"></i>
  1557. </div>
  1558. <div class="btnSelect">
  1559. <button type="button" onclick="switchEcharts()">统计</button>
  1560. </div>
  1561. </script>
  1562. <script type="text/javascript" src="../../script/api.js"></script>
  1563. <!-- 记录模版名称 -->
  1564. <script type="text/template" id="TemplateName">
  1565. <div class="col">
  1566. <label>记录列表</label>
  1567. <ul class="date-lists flex-start">
  1568. {{~it:value:index}}
  1569. {{?index == 0}}
  1570. <li class="active" onclick="randomSwitchBtn(this,'{{=value.parentId}}')">{{=value.templateName}}</li>
  1571. {{??}}
  1572. <li onclick="randomSwitchBtn(this,'{{=value.parentId}}')">{{=value.templateName}}</li>
  1573. {{?}}
  1574. {{~}}
  1575. </ul>
  1576. </div>
  1577. </script>
  1578. <!-- 部分记录列表 -->
  1579. <script type="text/template" id="recodeTemplate">
  1580. <div class="col">
  1581. <div class="recodes-wrap">
  1582. {{=it ==""?'<p class="no_data">暂无数据<p>':''}}
  1583. {{~it:value:index}}
  1584. {{?index<5}}
  1585. <div class="recode-wraps">
  1586. <span class="recode-img"></span>
  1587. <div class="recode-list">
  1588. {{ for (var t=0;t<value.length;t++) { }}
  1589. <div class="main" onclick="openRecordDe('{{=value[t].recordParentId}}')">
  1590. <p class="time">
  1591. {{=value[t].createDate}}
  1592. <span class="Triangle"></span>
  1593. <span class="recodeTitle">{{=value[t].templateName}}</span>
  1594. </p>
  1595. <p class="name">{{=value[t].createName}}</p>
  1596. <div class="name">
  1597. {{?value[t].recordStatusInstanceList != null}}
  1598. {{ for(var i= 0;i<value[t].recordStatusInstanceList.length;i++){ }}
  1599. <div class="state-items">
  1600. <p class="state-title" style="width:auto;display:{{=value[t].statusName == ""?'none':'inline-block'}}">{{=value[t].recordStatusInstanceList[i].statusName}}:</p>
  1601. {{ for(var j= 0;j<value[t].recordStatusInstanceList[i].recordStatusInstanceItemList.length;j++){ }}
  1602. {{?value[t].recordStatusInstanceList[i].recordStatusInstanceItemList.length == 1}}
  1603. <span>{{=value[t].recordStatusInstanceList[i].recordStatusInstanceItemList[j].statusContent}}</span>
  1604. {{??}}
  1605. <span>{{=value[t].recordStatusInstanceList[i].recordStatusInstanceItemList[j].statusContent}},</span>
  1606. {{?}}
  1607. {{ } }}
  1608. </div>
  1609. {{ } }}
  1610. {{??}}
  1611. <div class="state-items">
  1612. <p class="state-title" style="width:auto;display:{{=value[t].statusName == ""?'none':'inline-block'}}">{{=value[t].statusName}}:</p>
  1613. <span>{{=value[t].statusContent}}</span>
  1614. </div>
  1615. {{?}}
  1616. </div>
  1617. </div>
  1618. {{?t == value.length-1}}
  1619. {{?value[value.length-1].continueStatus == false}}
  1620. <div class="state1">
  1621. <p class="time">
  1622. 结束:{{=value[t].createDate}}
  1623. <span class="Triangle" style="top:6px;"></span>
  1624. </p>
  1625. <i class="stop"></i>
  1626. </div>
  1627. {{??}}
  1628. <div class="state1 wait">
  1629. <p class="time" style="background:#F7A329">
  1630. 等待处理......
  1631. <span class="Triangle" style="top:6px;border-color: transparent #F7A329 transparent transparent;"></span>
  1632. </p>
  1633. <i class="stop" style="background: url('../../icon/Continue.png') center no-repeat;background-size: contain;"></i>
  1634. </div>
  1635. {{?}}
  1636. {{?}}
  1637. {{ } }}
  1638. </div>
  1639. </div>
  1640. {{?}}
  1641. {{~}}
  1642. </div>
  1643. <div class="recode-more" onclick="openBrowseRecordItem('记录列表')">查看更多</div>
  1644. </div>
  1645. </script>
  1646. <script type="text/javascript" src="../../script/base64.js"></script>
  1647. <script type="text/javascript" src="../../script/doT.min.js"></script>
  1648. <script type="text/javascript" src="../../script/swiper.min.js"></script>
  1649. <script type="text/javascript" src="../../script/f2.js"></script>
  1650. <script type="text/javascript" src="../../script/zepto.js"></script>
  1651. <script src="../../script/popoPicker.js" charset="utf-8"></script>
  1652. <script src="../../script/H5/mobileSelect.min.js" charset="utf-8"></script>
  1653. <script type="text/javascript" src="../../script/select.js"></script>
  1654. <script src="../../script/addRecode.js" charset="utf-8"></script>
  1655. <script src="../../script/config.js" charset="utf-8"></script>
  1656. <script type="text/javascript">
  1657. var base64 = new Base64()
  1658. var pageId = '',organizationIds='',recodeTeamId = "",
  1659. name= "",uuid="",topSpace = 0,startDate = '',endDate='',
  1660. echartsType = 1,mobileSelect='',implementOne = true, token='',
  1661. recodeData = [{id:"1",value:'暂无数据'}];//统计记录列表数据;
  1662. apiready = function () {
  1663. $apis.UILoading('browseQrcodeDe')
  1664. UIAlbumBrowser = api.require('UIAlbumBrowser');
  1665. var info = $api.getStorage('data');
  1666. userName = name = JSON.parse(info).data.user.name;
  1667. userId = uuid = JSON.parse(info).data.user.staff_num;
  1668. token = JSON.parse(info).data.access_token || "";
  1669. pageId= api.pageParam.pageId;
  1670. departmentId = organizationIds = JSON.parse(info).data.user.section_id;
  1671. QrDetails()
  1672. .then((ret)=>{
  1673. // 添加浏览人数
  1674. return addDrowse()
  1675. })
  1676. .then((ret)=>{
  1677. // 浏览人数
  1678. return browseNum()
  1679. })
  1680. .then((ret)=>{
  1681. // 浏览人数
  1682. $apis.html(browse_items,'#browseTl',ret.data);
  1683. })
  1684. .catch((err)=>{})
  1685. };
  1686. // 二维码详情
  1687. let QrDetails = ()=>{
  1688. return new Promise((resolve, reject)=> {
  1689. var parm={
  1690. pageId: pageId,
  1691. sourceType: '',
  1692. organizationIds: organizationIds,
  1693. userId: uuid,
  1694. userName: name,
  1695. };
  1696. $http.fnReuestDataNologing(UrlRouter.getQrcodeDe,'','get',parm,function (ret, err) {
  1697. if (ret.code === '200') {
  1698. var showMoudle = true
  1699. // 所有人都能看
  1700. if ((!ret.data.addFlag && !ret.data.viewFlag && !ret.data.othersFlag)
  1701. || ret.data.addFlag) {
  1702. //TODO
  1703. // console.log(JSON.stringify(ret.data.pageItemList));
  1704. $apis.html(qrcode_wrap,'#templateQrcode',ret.data.pageItemList);
  1705. if (ret.data.pageRecordAppVo != null) {
  1706. $('.recode-warp').show()
  1707. pageRecordParentId = ret.data.pageRecordAppVo.parentId;
  1708. templateId = ret.data.pageRecordAppVo.recordTemplate.id
  1709. templateName = ret.data.pageRecordAppVo.recordTemplate.templateName
  1710. $('.template_name').html(templateName)
  1711. $apis.html(recode_content, '#addRecodeTemplate',ret.data.pageRecordAppVo.recordTemplate);
  1712. }else {
  1713. for (var i = 0; i < ret.data.pageItemList.length; i++) {
  1714. if (ret.data.pageItemList[i].pageRelation.businessType === 'RECORD' && ret.data.pageItemList[i].pageRecordList !="" && ret.data.pageItemList[i].pageRecordList != null) {
  1715. showMoudle = false
  1716. }
  1717. }
  1718. }
  1719. if (showMoudle === false) {
  1720. if (ret.data.pageItemShowIndex1.length >0) {
  1721. $apis.html(add_recodes,'#addTemplate',ret.data.pageItemShowIndex1);
  1722. }
  1723. if (ret.data.pageItemShowIndex2.length >0) {
  1724. $apis.html(add_recodes_icon,'#addTemplate_icon',ret.data.pageItemShowIndex2);
  1725. }
  1726. if (ret.data.pageItemShowIndex3.length >0) {
  1727. $apis.html(add_recodes_list,'#addTemplate_list',ret.data.pageItemShowIndex3);
  1728. }
  1729. }
  1730. var showMoudle1 = true
  1731. for (var i = 0; i < ret.data.pageItemList.length; i++) {
  1732. if (ret.data.pageItemList[i].pageRelation.businessType === 'RECORD' && ret.data.pageItemList[i].pageRecordList !="" && ret.data.pageItemList[i].pageRecordList != null) {
  1733. showMoudle1 = false
  1734. }
  1735. }
  1736. if (showMoudle1 === false) {
  1737. TemplateName()
  1738. $apis.html(Echarts,'#templateReocde','');
  1739. timeSelectrecode()
  1740. setTimeout(()=>{
  1741. var date = new Date();
  1742. var year = date.getFullYear()
  1743. var month = date.getMonth() + 1
  1744. month = month < 10 ? '0' + month : month
  1745. var d = date.getDate();
  1746. d = d<10? '0'+d:d
  1747. startDate = year +"-"+month+"-01"
  1748. endDate = year +"-"+month+"-"+d
  1749. $('.startTime').val(startDate)
  1750. $('.endTime').val(endDate)
  1751. selectRecode(pageId,startDate,endDate)
  1752. },1000)
  1753. }
  1754. }else if (ret.data.addFlag && ret.data.othersFlag || ret.data.viewFlag && ret.data.othersFlag) {
  1755. $apis.html(qrcode_wrap,'#templateQrcode',ret.data.pageItemList);
  1756. TemplateName()
  1757. $apis.html(Echarts,'#templateReocde','');
  1758. timeSelectrecode()
  1759. setTimeout(()=>{
  1760. var date = new Date();
  1761. var year = date.getFullYear()
  1762. var month = date.getMonth() + 1
  1763. month = month < 10 ? '0' + month : month
  1764. var d = date.getDate();
  1765. d = d<10? '0'+d:d
  1766. startDate = year +"-"+month+"-01"
  1767. endDate = year +"-"+month+"-"+d
  1768. $('.startTime').val(startDate)
  1769. $('.endTime').val(endDate)
  1770. selectRecode(pageId,startDate,endDate)
  1771. },1000)
  1772. }else {
  1773. $apis.html(qrcode_wrap,'#templateQrcode',ret.data.pageItemList);
  1774. }
  1775. $apis.swiper('.swiper-container',true,'fraction');
  1776. $apis.CloseUILoading();
  1777. resolve(ret)
  1778. }else {
  1779. reject(err)
  1780. }
  1781. })
  1782. })
  1783. }
  1784. // 上传文件 文件格式为PPT PTX lsx doc等格式
  1785. function uploadFile(el,fileUrl) {
  1786. // console.log(JSON.stringify(el));
  1787. $http.fileUploadRequest(UrlRouter.uploadFile,'post',{file:fileUrl})
  1788. .then(ret=>{
  1789. if(ret.code === '200'){
  1790. api.toast({
  1791. msg: '上传成功',
  1792. duration: 2000,
  1793. location: 'top'
  1794. });
  1795. var fileType = ret.data.fileName.substr(ret.data.fileName.length-3,3);
  1796. if (
  1797. fileType == 'ppt' ||
  1798. fileType == 'ptx' ||
  1799. fileType == 'lsx' ||
  1800. fileType == 'xls' ||
  1801. fileType == 'doc' ||
  1802. fileType == 'ocx' ||
  1803. fileType == 'zip' ||
  1804. fileType == 'rar' ||
  1805. fileType == 'pdf'
  1806. ){
  1807. var html = `<li class="file-item file-item" file-Url="${ret.data.fullURL}" file-Name="${ret.data.fileName}">
  1808. <img src="../../icon/${ret.data.fullURL.substr(ret.data.fullURL.length-3,3)}.png" style="width:40px;height:40px;"/>
  1809. <div class="file-info">
  1810. <p>${ret.data.fileName}</p>
  1811. </div>
  1812. </li>`;
  1813. $api.before($api.dom('.file-item-type'), html);
  1814. }else {
  1815. api.toast({
  1816. msg: '文件格式不对',
  1817. duration: 2000,
  1818. location: 'top'
  1819. });
  1820. }
  1821. }else {
  1822. api.toast({
  1823. msg: '上传失败',
  1824. duration: 2000,
  1825. location: 'top'
  1826. });
  1827. }
  1828. })
  1829. .catch(err=>{
  1830. api.toast({
  1831. msg: '网络错误',
  1832. duration: 2000,
  1833. location: 'top'
  1834. });
  1835. })
  1836. }
  1837. // 添加浏览人数
  1838. function addDrowse() {
  1839. return new Promise(function(resolve, reject) {
  1840. var data = {
  1841. "pageId": pageId,
  1842. "userId": uuid,
  1843. };
  1844. $http.fnReuestDataNologing(UrlRouter.addPageUser,'','post',data,function (ret, err) {
  1845. if (ret.code === '200') {
  1846. resolve(ret)
  1847. }else {
  1848. reject(err)
  1849. }
  1850. })
  1851. })
  1852. }
  1853. // 浏览人数
  1854. function browseNum() {
  1855. return new Promise(function(resolve, reject) {
  1856. $http.fnReuestDataNologing(UrlRouter.getPageUserByPageId+pageId,'','get','',function (ret, err) {
  1857. if (ret.code === '200') {
  1858. resolve(ret)
  1859. }else {
  1860. reject(err)
  1861. }
  1862. })
  1863. })
  1864. }
  1865. // 浏览人员详情
  1866. function openModular(name, img, dep, time) {
  1867. $('.modular').show();
  1868. $('.box').addClass('animated bounceInDown');
  1869. setTimeout(function () {
  1870. $('.box').removeClass('animated bounceInDown')
  1871. }, 1000);
  1872. if (img == 'null') {
  1873. $('.box').find('.header-img').html(` <p style="background:#${Math.random().toString(16).slice(2,8)};width: 60px;height: 60px;line-height:60px;margin: auto">${name.substr(name.length-1,1)}</p>`)
  1874. }else {
  1875. var url = img.substr(img, 4)
  1876. if ( url == 'http') {
  1877. $('.box').find('.header-img').html(`<img src="${img}">`)
  1878. }else {
  1879. $('.box').find('.header-img').html(`<img src="${urlphp+img}">`)
  1880. }
  1881. }
  1882. $('.box').find('.name').html('姓名:'+name)
  1883. $('.box').find('.dep').html('部门:'+ dep)
  1884. $('.box').find('.times').html('最新浏览时间:' + time)
  1885. }
  1886. $('body').on('click',function(e){
  1887. if (event.target == document.getElementById('myModal')) {
  1888. $('#myModal').hide();
  1889. }
  1890. })
  1891. // 查看更多浏览记录
  1892. function moreBrowse() {
  1893. var parm ={
  1894. id: pageId
  1895. }
  1896. $event.openTabLayout('moreBrowse','moreBrowse','浏览记录',parm);
  1897. }
  1898. // 打开记录列表(add)
  1899. function openRecode() {
  1900. $api.removeCls($api.dom('.module-box'), 'hide');
  1901. $api.addCls($api.dom('.add-recode'), 'hide');
  1902. BodyScroll(true)
  1903. }
  1904. // 关闭记录列表(add)
  1905. function closeRecode() {
  1906. $api.addCls($api.dom('.module-box'), 'hide');
  1907. $api.removeCls($api.dom('.add-recode'), 'hide');
  1908. BodyScroll(false)
  1909. }
  1910. // 记录模版列表
  1911. var num=0;
  1912. function TemplateName() {
  1913. $http.fnReuestDataNologing(UrlRouter.selectRecordByGetPageId+pageId,'','get','',function (ret, err) {
  1914. if (ret.code == '200' && ret.data != "") {
  1915. $apis.html(date_wrap,'#TemplateName',ret.data);
  1916. recodeList(ret.data[0].parentId)
  1917. }
  1918. })
  1919. }
  1920. // 记录列表
  1921. function recodeList(data) {
  1922. var parm= {
  1923. pageId:pageId,
  1924. pageRecordParentId: data,
  1925. pageNumber: 1,
  1926. pageSize: 5
  1927. }
  1928. $http.fnReuestDataNologing(UrlRouter.getPageRecordInstanceList,'','get',parm,function (ret, err) {
  1929. if (ret.code == '200') {
  1930. $apis.html(recodes,'#recodeTemplate',ret.data);
  1931. }
  1932. })
  1933. }
  1934. // 切换模版名称
  1935. function randomSwitchBtn( tag ,ParentId) {
  1936. if( tag == $api.dom('.date-lists li.active') )return;
  1937. var eFootLis = $api.domAll('.date-lists li');
  1938. index = 0;
  1939. for (var i = 0,len = eFootLis.length; i < len; i++) {
  1940. if( tag == eFootLis[i] ){
  1941. index = i;
  1942. }else{
  1943. $api.removeCls(eFootLis[i], 'active');
  1944. }
  1945. }
  1946. $api.addCls( eFootLis[index], 'active');
  1947. recodeList(ParentId)
  1948. }
  1949. // 动态计算浏览人数img大小
  1950. function imgSize() {
  1951. var width = document.body.clientWidth;
  1952. return width / 5 - 23
  1953. }
  1954. // 上传文件
  1955. function browseFileUpload(el,type) {
  1956. var fileBrowser = api.require('fileBrowser');
  1957. fileBrowser.open(function(ret) {
  1958. if (ret) {
  1959. var type = ret.name.substring(ret.name.lastIndexOf('.'))
  1960. if (
  1961. type === '.xls' ||
  1962. type === '.ppt' ||
  1963. type === '.pptx' ||
  1964. type === '.xlsx' ||
  1965. type === '.doc' ||
  1966. type === '.docx' ||
  1967. type === '.zip' ||
  1968. type === '.rar' ||
  1969. type === '.pdf'
  1970. ) {
  1971. setTimeout(function () {
  1972. uploadFile(el,ret.url)
  1973. },500)
  1974. }else if (type === '.mp3') {
  1975. setTimeout(function () {
  1976. uploadAudio(el,ret.url)
  1977. },500)
  1978. }else if(type === '.mp4'){
  1979. setTimeout(function () {
  1980. uploadVedio(el,ret.url)
  1981. },500)
  1982. }else {
  1983. alert('选择文件格式不正确');
  1984. }
  1985. }
  1986. });
  1987. fileBrowser.skin({
  1988. skin:1
  1989. });
  1990. }
  1991. // 文件在线浏览
  1992. function browseFile(paths, flag) {
  1993. api.download({
  1994. url: paths,
  1995. report: true,
  1996. cache: true,
  1997. allowResume: true
  1998. }, function(ret, err) {
  1999. if (ret.state == 1) {
  2000. if (!flag) {
  2001. var superFile = api.require('superFile');
  2002. superFile.open({path:ret.savePath});
  2003. }
  2004. setTimeout(function () {
  2005. api.toast({
  2006. msg: '下载成功',
  2007. duration: 2000,
  2008. location: 'top'
  2009. });
  2010. },100)
  2011. } else {
  2012. }
  2013. });
  2014. }
  2015. // 链接跳转
  2016. function openLink(path, imgUrl,title) {
  2017. var num = path.indexOf("?"),
  2018. sPath = path.substr(num + 1);
  2019. var arr = sPath.split("&");
  2020. if(sPath === "") {
  2021. var $galleryImg = $(".gallery-img");
  2022. var $gallery = $(".gallery");
  2023. $galleryImg.attr("style", 'background-image: url("' + imgUrl + '");');
  2024. $gallery.show();
  2025. $gallery.on("click", function() {
  2026. $gallery.hide();
  2027. });
  2028. } else if(arr[0].slice(0, 7) == 'pageId=') {
  2029. var parm= {
  2030. pageId:arr[0].substring(7),
  2031. organizationIds:organizationIds,
  2032. title:title
  2033. }
  2034. $event.openWin('browseQrcode_win'+Math.random(),'browseQrcode_win',parm,'')
  2035. } else if(arr[0].slice(0, 5) == 'name=') {
  2036. var parm= {
  2037. pageId:arr[2].substring(7),
  2038. organizationIds:organizationIds,
  2039. title:title
  2040. }
  2041. $event.openWin('browseQrcode_win'+Math.random(),'browseQrcode_win',parm,'')
  2042. }else if (path.indexOf('order::') === 0) {
  2043. var pageParam = {
  2044. id: path.substring(7),
  2045. title: '工单审批'
  2046. }
  2047. $event.openWin('changeFill_win'+Math.random(), '../wordorder/changefillword_win', pageParam, '')
  2048. }else if (path.indexOf('token::') === 0) {
  2049. $event.openWin('browseUrl'+Math.random(),'browseUrl',{url:path.substring(7)+"&token="+token},title);
  2050. } else {
  2051. $event.openWin('browseUrl'+Math.random(),'browseUrl',{url:path},'');
  2052. }
  2053. }
  2054. //跳转到添加记录
  2055. function openAddRecode(title,pageRecordId) {
  2056. var param= {
  2057. pageId: pageId,
  2058. pageRecordId: pageRecordId,
  2059. createBy: uuid,
  2060. createName: name,
  2061. recordTrueID:'',
  2062. organizationIds:organizationIds
  2063. }
  2064. $event.openTabLayout('addRecode'+Math.random(),'addRecode',title,param);
  2065. }
  2066. // 记录列表跳转
  2067. function openBrowseRecordItem(title) {
  2068. $event.openTabLayout('recodeItem'+Math.random(),'recodeItem',title,{id:pageId,departmentID:organizationIds,name:name,uuid:uuid});
  2069. }
  2070. // 记录详情
  2071. function openRecordDe(id) {
  2072. $event.openTabLayout('recodeDetails'+Math.random(),'recodeDetails','记录详情',{recordParentId:id});
  2073. // $event.openWin('browseRecodeDe'+Math.random(),'browseRecodeDe',{id:id,departmentID:organizationIds,name:name,uuid:uuid},'');
  2074. }
  2075. // 遮罩层下面内容不让滚动
  2076. function BodyScroll (isState) {
  2077. var bodyDoc = document.body
  2078. if (isState) {
  2079. topSpace = window.scrollY
  2080. bodyDoc .style.position = 'fixed'
  2081. bodyDoc .style.width = '100%'
  2082. bodyDoc .style.top = -topSpace + 'px'
  2083. } else {
  2084. bodyDoc .style.position = ''
  2085. bodyDoc .style.top = ''
  2086. window.scrollTo(0, topSpace )
  2087. }
  2088. }
  2089. // 根据时间查询记录列表
  2090. let timeSelectrecode= ()=>{
  2091. var startTime = '',endTime = '';
  2092. new popoDateTime('.startTime',{
  2093. container:'.selectTime1',
  2094. background:'light',
  2095. time: false,
  2096. save:function (data) {
  2097. startTime = data
  2098. startDate = data
  2099. if (startTime&&endTime) {
  2100. selectRecode(pageId,startTime,endTime)
  2101. }
  2102. }
  2103. });
  2104. new popoDateTime('.endTime',{
  2105. container:'.endTime1',
  2106. background:'light',
  2107. time: false,
  2108. save:function (data) {
  2109. endTime = data
  2110. endDate = data
  2111. if (startTime&&endTime) {
  2112. selectRecode(pageId,startTime,endTime)
  2113. }
  2114. }
  2115. });
  2116. dropDown()
  2117. }
  2118. // Echarts
  2119. let selectRecode= (pageId,startTime,endTime)=>{
  2120. $http.fnReuestDataNologing(UrlRouter.getSearchPageRecordInstance+pageId+"/"+startTime+"/"+endTime,'','get','',(ret,err)=>{
  2121. if (ret && ret.code === '200') {
  2122. if (ret.data.length==0) {
  2123. $('#Echarts').hide()
  2124. recodeData = [{id:0,value:'暂无数据'}]
  2125. recodeTeamId = ''
  2126. mobileSelect.updateWheel(0,recodeData)
  2127. mobileSelect.locatePostion(0,0)
  2128. $('#radioSelect').html('请选择')
  2129. }else {
  2130. $('#Echarts').show()
  2131. var data = ret.data.map((item)=>{
  2132. return {id:item.itemId+"/"+item.pageId+"/"+item.pageRecordParentId+"::"+item.flag,value:item.templateName +"-"+ item.name}
  2133. })
  2134. $('#radioSelect').html(data[0].value)
  2135. recodeTeamId= data[0].id;
  2136. mobileSelect.updateWheel(0,data)
  2137. mobileSelect.locatePostion(0,0)
  2138. if (implementOne) {
  2139. implementOne = false;
  2140. selectStatue(recodeTeamId,1,startDate,endDate)
  2141. }
  2142. }
  2143. }
  2144. })
  2145. }
  2146. // 切换图表类型
  2147. let switchEcharts = ()=>{
  2148. if (recodeTeamId == "") {
  2149. api.toast({
  2150. msg: '请选择记录项',
  2151. duration: 2000,
  2152. location: 'top'
  2153. });
  2154. }else {
  2155. selectStatue(recodeTeamId,echartsType,startDate,endDate)
  2156. }
  2157. }
  2158. //Echarts 点击记录项统计
  2159. let selectStatue= (data,type,startTime,endTime)=>{
  2160. if (data.substring(data.length-1) == 1) {
  2161. statusEcharts(data.substring(0,data.lastIndexOf('::')),type,startTime,endTime)
  2162. }else {
  2163. recodeEcharts(data.substring(0,data.lastIndexOf('::')),type,startTime,endTime)
  2164. }
  2165. }
  2166. // 状态项统计
  2167. let statusEcharts= (value,type,startTime,endTime)=>{
  2168. $http.fnReuestDataNologing(UrlRouter.selectPageStatusPercet+'/'+value+'/'+startTime+"/"+endTime,'','get','',(ret,err)=>{
  2169. if (ret && ret.code === '200') {
  2170. var data = ret.data;
  2171. var heightCanvas = 300
  2172. var map = {}
  2173. for (var i = 0; i < data.length; i++) {
  2174. if (i>1) {
  2175. heightCanvas += 30
  2176. }
  2177. map[data[i].name]=data[i].value+"%"+"("+data[i].count+"次)"
  2178. }
  2179. if(type == 1){
  2180. $('#container').show()
  2181. $('#container1').hide()
  2182. const chart = new F2.Chart({
  2183. id: 'container',
  2184. height: heightCanvas,
  2185. appendPadding:[10, 0 , 20, 0],
  2186. pixelRatio: window.devicePixelRatio
  2187. });
  2188. chart.source(data);
  2189. chart.legend({
  2190. position: 'bottom',
  2191. itemFormatter: function itemFormatter(val) {
  2192. return val +" "+ map[val];
  2193. }
  2194. });
  2195. chart.tooltip(false);
  2196. chart.coord('polar', {
  2197. transposed: true,
  2198. innerRadius: 0.4,
  2199. radius: 0.85
  2200. });
  2201. chart.axis(false);
  2202. // 配置文本饼图
  2203. chart.pieLabel({
  2204. sidePadding: 0,
  2205. label1: function label1(data) {
  2206. return {
  2207. text: data.name,
  2208. fill: '#808080'
  2209. };
  2210. },
  2211. label2: function label2(data) {
  2212. return {
  2213. fill: '#000000',
  2214. text: data.count+'次',
  2215. fontWeight: 500,
  2216. fontSize: 10
  2217. };
  2218. }
  2219. });
  2220. chart.interval()
  2221. .position('st*value')
  2222. .color('name')
  2223. .adjust('stack')
  2224. .style({
  2225. lineWidth: 1,
  2226. stroke: '#fff',
  2227. lineJoin: 'round',
  2228. lineCap: 'round'
  2229. })
  2230. .animate({
  2231. appear: {
  2232. duration: 1200,
  2233. easing: 'bounceOut'
  2234. }
  2235. });
  2236. chart.render();
  2237. }else {
  2238. $('#container').hide()
  2239. $('#container1').show()
  2240. const chart = new F2.Chart({
  2241. id: 'container1',
  2242. height: 300,
  2243. pixelRatio: window.devicePixelRatio
  2244. });
  2245. chart.source(data, {
  2246. sales: {
  2247. tickCount: 5
  2248. }
  2249. });
  2250. chart.tooltip({
  2251. showItemMarker: false,
  2252. onShow: function onShow(ev) {
  2253. const items = ev.items;
  2254. items[0].name = null;
  2255. items[0].name = items[0].title;
  2256. items[0].value = items[0].value+"次";
  2257. }
  2258. });
  2259. chart.interval().position('name*count');
  2260. chart.render();
  2261. }
  2262. }
  2263. })
  2264. }
  2265. // 记录统计
  2266. let recodeEcharts=(recordInstanceId,type,startTime,endTime)=>{
  2267. $http.fnReuestDataNologing(UrlRouter.selectPageRecodePercet+recordInstanceId+'/'+startTime+"/"+endTime,'','get','',(ret,err)=>{
  2268. if (ret && ret.code === '200') {
  2269. var data = ret.data;
  2270. var heightCanvas = 300
  2271. var map = {}
  2272. for (var i = 0; i < data.length; i++) {
  2273. if (i>1) {
  2274. heightCanvas += 40
  2275. }
  2276. map[data[i].name]=data[i].value+"%"+"("+data[i].count+"次)"
  2277. }
  2278. if(type == 1){
  2279. $('#container').show()
  2280. $('#container1').hide()
  2281. const chart = new F2.Chart({
  2282. id: 'container',
  2283. height: heightCanvas,
  2284. appendPadding:[10, 0 , 20, 0],
  2285. pixelRatio: window.devicePixelRatio
  2286. });
  2287. chart.source(data);
  2288. chart.legend({
  2289. position: 'bottom',
  2290. itemFormatter: function itemFormatter(val) {
  2291. return val +" "+ map[val];
  2292. }
  2293. });
  2294. chart.tooltip(false);
  2295. chart.coord('polar', {
  2296. transposed: true,
  2297. innerRadius: 0.4,
  2298. radius: 0.85
  2299. });
  2300. chart.axis(false);
  2301. // 配置文本饼图
  2302. chart.pieLabel({
  2303. sidePadding: 0,
  2304. activeShape: true,
  2305. triggerOn:'touchstart',
  2306. label1: function label1(data) {
  2307. return {
  2308. text: data.name,
  2309. fill: '#808080'
  2310. };
  2311. },
  2312. label2: function label2(data) {
  2313. return {
  2314. fill: '#000000',
  2315. text: data.count+'次',
  2316. fontWeight: 500,
  2317. fontSize: 10
  2318. };
  2319. },
  2320. onClick: function onClick(ev) {
  2321. const { data } = ev;
  2322. if (data && data.typeValue == 'radio') {
  2323. var params = {
  2324. pageId:data.pageId,
  2325. pageRecordParentId: data.pageRecordParentId,
  2326. startTime: startTime,
  2327. endTime: endTime,
  2328. inputValue:data.inputValue,
  2329. type:''
  2330. }
  2331. $event.openTabLayout('echartLevel'+Math.random(),'echartLevel',data.name,params);
  2332. }
  2333. }
  2334. });
  2335. chart.interval()
  2336. .position('st*value')
  2337. .color('name')
  2338. .adjust('stack')
  2339. .style({
  2340. lineWidth: 1,
  2341. stroke: '#fff',
  2342. lineJoin: 'round',
  2343. lineCap: 'round'
  2344. })
  2345. .animate({
  2346. appear: {
  2347. duration: 1200,
  2348. easing: 'bounceOut'
  2349. }
  2350. });
  2351. chart.render();
  2352. }else {
  2353. $('#container').hide()
  2354. $('#container1').show()
  2355. const chart = new F2.Chart({
  2356. id: 'container1',
  2357. height: 300,
  2358. pixelRatio: window.devicePixelRatio
  2359. });
  2360. chart.source(data, {
  2361. sales: {
  2362. tickCount: 5
  2363. }
  2364. });
  2365. chart.tooltip({
  2366. showItemMarker: false,
  2367. onShow: function onShow(ev) {
  2368. const items = ev.items;
  2369. items[0].name = null;
  2370. items[0].name = items[0].title;
  2371. items[0].value = items[0].value+"次";
  2372. }
  2373. });
  2374. chart.interval().position('name*count');
  2375. chart.render();
  2376. }
  2377. }
  2378. })
  2379. }
  2380. // 下拉记录控件
  2381. let dropDown =()=>{
  2382. mobileSelect = new MobileSelect({
  2383. trigger: '#radioSelect',
  2384. title: '统计项',
  2385. wheels: [
  2386. {data: recodeData}
  2387. ],
  2388. position:[0,0],
  2389. callback:function(indexArr, data){
  2390. recodeTeamId = data[0].id
  2391. }
  2392. });
  2393. new popoPicker('.SelectType',{
  2394. container:'.screenSelectType',
  2395. wheels: [{
  2396. infinite: false,
  2397. data:[
  2398. {value:1,display:'饼图'},
  2399. {value:2,display:'柱状图'},
  2400. ]
  2401. }],
  2402. background:'light',
  2403. save:function (data) {
  2404. echartsType = data.result[0].value
  2405. }
  2406. });
  2407. }
  2408. // 添加记录
  2409. // 上传文件
  2410. // 浏览手机文件夹,获取文件路径
  2411. function getFile(el,type) {
  2412. var fileBrowser = api.require('fileBrowser');
  2413. fileBrowser.open(function(ret) {
  2414. if (ret) {
  2415. var type = ret.name.substring(ret.name.lastIndexOf('.'))
  2416. if (
  2417. type === '.xls' ||
  2418. type === '.ppt' ||
  2419. type === '.pptx' ||
  2420. type === '.xlsx' ||
  2421. type === '.doc' ||
  2422. type === '.docx' ||
  2423. type === '.zip' ||
  2424. type === '.rar' ||
  2425. type === '.pdf'
  2426. ) {
  2427. setTimeout(function () {
  2428. uploadFile(el,ret.url)
  2429. },500)
  2430. }else if (type === '.mp3') {
  2431. setTimeout(function () {
  2432. uploadAudio(el,ret.url)
  2433. },500)
  2434. }else if(type === '.mp4'){
  2435. setTimeout(function () {
  2436. uploadVedio(el,ret.url)
  2437. },500)
  2438. }else {
  2439. alert('选择文件格式不正确');
  2440. }
  2441. }
  2442. });
  2443. fileBrowser.skin({
  2444. skin:1
  2445. });
  2446. }
  2447. // textarea根据文字多少自适应高度
  2448. function Oninput(that) {
  2449. $(that).height(that.scrollHeight);
  2450. }
  2451. // 我的记录
  2452. function my_recode() {
  2453. $event.openTabLayout('echartLevel'+Math.random(),'echartLevel','我的记录',{type:'my',pageId:pageId});
  2454. }
  2455. // 模块权限
  2456. // 当前模块
  2457. var moduleThat;
  2458. function openWages(that) {
  2459. moduleThat = that
  2460. $('.password').val('');
  2461. $('.Tips-p').html('');
  2462. $('.wages-layout').show();
  2463. $('.wages').addClass('animated bounceInDown');
  2464. setTimeout(function () {
  2465. $('.wages').removeClass('animated bounceInDown')
  2466. }, 1000);
  2467. }
  2468. $('body').on('click',function(e){
  2469. if (event.target == document.getElementById('wages-layout')) {
  2470. $('.wages-layout').hide();
  2471. }
  2472. })
  2473. function closeWages() {
  2474. $('.wages-layout').hide();
  2475. };
  2476. // 模块权限验证
  2477. function Jurisdiction() {
  2478. // var param = {
  2479. // staff_num:jobID,
  2480. // password:$('.password').val()
  2481. // }
  2482. $('.wages-layout').hide();
  2483. $('.Tips-p').html('');
  2484. $(moduleThat).hide()
  2485. // $('.Tips-p').html(ret.message)
  2486. }
  2487. </script>