browseQrcodeDe.html 108 KB

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