browseQrcodeDe.html 108 KB

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