index.vue 58 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027
  1. <template>
  2. <div id="family">
  3. <nav>
  4. <div class="tab-box">
  5. <el-tabs v-model="value" @tab-click="chooseMedicine" type="card">
  6. <el-tab-pane v-for="item in options" :key="item.value" :label="item.label" :name="item.value">{{item.label}}</el-tab-pane>
  7. </el-tabs>
  8. </div>
  9. <div class="button-box">
  10. <el-button @click="handleClickConfig" size="small">批量配置信息点</el-button>
  11. </div>
  12. </nav>
  13. <main>
  14. <div class="left_main" v-loading="isLoading">
  15. <header>
  16. <el-input style="width:323px;" v-model="searchVal" @change="changeVal" placeholder="支持关键字、英文代号查找" clearable>
  17. <i slot="prefix" class="el-input__icon el-icon-search" style="cursor:pointer;" @click="changeVal(searchVal)"></i>
  18. </el-input>
  19. </header>
  20. <div class="family_all">
  21. <div class="family" v-for="(letter,index) in letterArr" :key="index">
  22. <div class="family_title" :id="letter">{{letter}}</div>
  23. <div class="family_content" v-if="searchVal == ''">
  24. <ul class="family_list">
  25. <li class="family_item" @click="familyActive(family.name,family.code)" :class="active == family.name ? 'active' : ''" v-for="(family,index) in allFamily" :key="index" v-if="family.capitalize === letter">{{family.name}}-{{family.code}}</li>
  26. </ul>
  27. </div>
  28. <div class="family_content" v-else>
  29. <ul class="family_list">
  30. <li class="family_item" @click="familyActive(family.name,family.code)" :class="active == family.name ? 'active' : ''" v-for="(family,index) in searchArr" :key="index" v-if="family.capitalize === letter">{{family.name}}-{{family.code}}</li>
  31. </ul>
  32. </div>
  33. </div>
  34. <div id="letter"></div>
  35. <div class="initials">
  36. <ul id="characterList">
  37. <li @click="moveScroll()">↑</li>
  38. <li v-for="(character,index) in letterArr" :key="index" @click="moveScroll(character)">{{ character }}</li>
  39. </ul>
  40. </div>
  41. </div>
  42. </div>
  43. <div class="right_main" v-loading="rightLoading">
  44. <el-tabs v-if="labelKey.length && tabsFalg" tab-position="right" style="height: 100%;">
  45. <el-tab-pane v-for="(item,index) in labelKey" :key="index">
  46. <span slot="label">{{item.FirstName || '信息'}}</span>
  47. <div class="label_main" v-for="(tag,tagIndex) in item.details" :key="tagIndex">
  48. <p>{{tag.SecondName}}</p>
  49. <ul v-for="(detail,detailInd) in tag.details" :key="detailInd">
  50. <el-checkbox :title="detail.InfoPointName" :disabled="!detail.UnDisabled" v-model="detail.Visible" @change="boxChange(detail)">{{detail.InfoPointName}}</el-checkbox>
  51. </ul>
  52. </div>
  53. </el-tab-pane>
  54. </el-tabs>
  55. <div v-else class="center" style="margin-top:260px;">
  56. <i class="icon-wushuju iconfont"></i> 请选择设备族
  57. </div>
  58. </div>
  59. </main>
  60. <!-- 批量配置信息点 -->
  61. <config-dialog :dialog="dialog" @configInfo="familyActive(active, code)"></config-dialog>
  62. <!-- 请求提示弹窗 -->
  63. <el-dialog title="提示" :Visible.sync="dialogVisible">
  64. <span>{{ajaxMsg}}</span>
  65. <span slot="footer" class="dialog-footer">
  66. <el-button @click="dialogVisible = false">取 消</el-button>
  67. <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
  68. </span>
  69. </el-dialog>
  70. </div>
  71. </template>
  72. <script>
  73. import buildInput from "@/components/common/search_input";
  74. import configDialog from "@/components/dialogs/config/infoPoint"
  75. import {
  76. // getAllFamily, //获取所有设备族
  77. queryPhysicsAllType, //查询设备、部件、系统
  78. queryFamilyAll, //查询所有设备族
  79. getDataDictionary, //点击时后去右侧的数据
  80. setDataDictionary, //修改右侧数据
  81. // getEqCode,
  82. getBussTypes
  83. } from "@/api/scan/request";
  84. import { mapGetters, mapActions } from "vuex";
  85. export default {
  86. name: "family",
  87. components: {
  88. configDialog,
  89. "build-input": buildInput
  90. },
  91. data() {
  92. return {
  93. value: "property",
  94. options: [{
  95. label: "资产",
  96. value: "property"
  97. }, {
  98. label: "系统",
  99. value: "System"
  100. }, {
  101. label: "设备",
  102. value: "Equipment"
  103. }, {
  104. label: "部件",
  105. value: "Component"
  106. }, {
  107. label: "空间",
  108. value: "space"
  109. }, {
  110. label: "租户",
  111. value: "tenant"
  112. }, {
  113. label: "竖井",
  114. value: "shaft"
  115. }],
  116. tabsFalg: false,
  117. active: "",
  118. checked2: false,
  119. allFamily: [],
  120. dialog: {
  121. config: false
  122. },
  123. dialogVisible: false,
  124. ajaxMsg: "",
  125. code: '',
  126. letterArr: [], //出现的a-z字符
  127. UserId: "18612660722", //用户id
  128. labelKey: [], // 右侧主体数据承接数组
  129. searchArr: [], // 搜索后的数据
  130. searchVal: "", //搜索内容
  131. isLoading: true, //loading弹窗
  132. rightLoading: false, //右侧loading
  133. strChineseFirstPY: "YDYQSXMWZSSXJBYMGCCZQPSSQBYCDSCDQLDYLYBSSJGYZZJJFKCCLZDHWDWZJLJPFYYNWJJTMYHZWZHFLZPPQHGSCYYYNJQYXXGJHHSDSJNKKTMOMLCRXYPSNQSECCQZGGLLYJLMYZZSECYKYYHQWJSSGGYXYZYJWWKDJHYCHMYXJTLXJYQBYXZLDWRDJRWYSRLDZJPCBZJJBRCFTLECZSTZFXXZHTRQHYBDLYCZSSYMMRFMYQZPWWJJYFCRWFDFZQPYDDWYXKYJAWJFFXYPSFTZYHHYZYSWCJYXSCLCXXWZZXNBGNNXBXLZSZSBSGPYSYZDHMDZBQBZCWDZZYYTZHBTSYYBZGNTNXQYWQSKBPHHLXGYBFMJEBJHHGQTJCYSXSTKZHLYCKGLYSMZXYALMELDCCXGZYRJXSDLTYZCQKCNNJWHJTZZCQLJSTSTBNXBTYXCEQXGKWJYFLZQLYHYXSPSFXLMPBYSXXXYDJCZYLLLSJXFHJXPJBTFFYABYXBHZZBJYZLWLCZGGBTSSMDTJZXPTHYQTGLJSCQFZKJZJQNLZWLSLHDZBWJNCJZYZSQQYCQYRZCJJWYBRTWPYFTWEXCSKDZCTBZHYZZYYJXZCFFZZMJYXXSDZZOTTBZLQWFCKSZSXFYRLNYJMBDTHJXSQQCCSBXYYTSYFBXDZTGBCNSLCYZZPSAZYZZSCJCSHZQYDXLBPJLLMQXTYDZXSQJTZPXLCGLQTZWJBHCTSYJSFXYEJJTLBGXSXJMYJQQPFZASYJNTYDJXKJCDJSZCBARTDCLYJQMWNQNCLLLKBYBZZSYHQQLTWLCCXTXLLZNTYLNEWYZYXCZXXGRKRMTCNDNJTSYYSSDQDGHSDBJGHRWRQLYBGLXHLGTGXBQJDZPYJSJYJCTMRNYMGRZJCZGJMZMGXMPRYXKJNYMSGMZJYMKMFXMLDTGFBHCJHKYLPFMDXLQJJSMTQGZSJLQDLDGJYCALCMZCSDJLLNXDJFFFFJCZFMZFFPFKHKGDPSXKTACJDHHZDDCRRCFQYJKQCCWJDXHWJLYLLZGCFCQDSMLZPBJJPLSBCJGGDCKKDEZSQCCKJGCGKDJTJDLZYCXKLQSCGJCLTFPCQCZGWPJDQYZJJBYJHSJDZWGFSJGZKQCCZLLPSPKJGQJHZZLJPLGJGJJTHJJYJZCZMLZLYQBGJWMLJKXZDZNJQSYZMLJLLJKYWXMKJLHSKJGBMCLYYMKXJQLBMLLKMDXXKWYXYSLMLPSJQQJQXYXFJTJDXMXXLLCXQBSYJBGWYMBGGBCYXPJYGPEPFGDJGBHBNSQJYZJKJKHXQFGQZKFHYGKHDKLLSDJQXPQYKYBNQSXQNSZSWHBSXWHXWBZZXDMNSJBSBKBBZKLYLXGWXDRWYQZMYWSJQLCJXXJXKJEQXSCYETLZHLYYYSDZPAQYZCMTLSHTZCFYZYXYLJSDCJQAGYSLCQLYYYSHMRQQKLDXZSCSSSYDYCJYSFSJBFRSSZQSBXXPXJYSDRCKGJLGDKZJZBDKTCSYQPYHSTCLDJDHMXMCGXYZHJDDTMHLTXZXYLYMOHYJCLTYFBQQXPFBDFHHTKSQHZYYWCNXXCRWHOWGYJLEGWDQCWGFJYCSNTMYTOLBYGWQWESJPWNMLRYDZSZTXYQPZGCWXHNGPYXSHMYQJXZTDPPBFYHZHTJYFDZWKGKZBLDNTSXHQEEGZZYLZMMZYJZGXZXKHKSTXNXXWYLYAPSTHXDWHZYMPXAGKYDXBHNHXKDPJNMYHYLPMGOCSLNZHKXXLPZZLBMLSFBHHGYGYYGGBHSCYAQTYWLXTZQCEZYDQDQMMHTKLLSZHLSJZWFYHQSWSCWLQAZYNYTLSXTHAZNKZZSZZLAXXZWWCTGQQTDDYZTCCHYQZFLXPSLZYGPZSZNGLNDQTBDLXGTCTAJDKYWNSYZLJHHZZCWNYYZYWMHYCHHYXHJKZWSXHZYXLYSKQYSPSLYZWMYPPKBYGLKZHTYXAXQSYSHXASMCHKDSCRSWJPWXSGZJLWWSCHSJHSQNHCSEGNDAQTBAALZZMSSTDQJCJKTSCJAXPLGGXHHGXXZCXPDMMHLDGTYBYSJMXHMRCPXXJZCKZXSHMLQXXTTHXWZFKHCCZDYTCJYXQHLXDHYPJQXYLSYYDZOZJNYXQEZYSQYAYXWYPDGXDDXSPPYZNDLTWRHXYDXZZJHTCXMCZLHPYYYYMHZLLHNXMYLLLMDCPPXHMXDKYCYRDLTXJCHHZZXZLCCLYLNZSHZJZZLNNRLWHYQSNJHXYNTTTKYJPYCHHYEGKCTTWLGQRLGGTGTYGYHPYHYLQYQGCWYQKPYYYTTTTLHYHLLTYTTSPLKYZXGZWGPYDSSZZDQXSKCQNMJJZZBXYQMJRTFFBTKHZKBXLJJKDXJTLBWFZPPTKQTZTGPDGNTPJYFALQMKGXBDCLZFHZCLLLLADPMXDJHLCCLGYHDZFGYDDGCYYFGYDXKSSEBDHYKDKDKHNAXXYBPBYYHXZQGAFFQYJXDMLJCSQZLLPCHBSXGJYNDYBYQSPZWJLZKSDDTACTBXZDYZYPJZQSJNKKTKNJDJGYYPGTLFYQKASDNTCYHBLWDZHBBYDWJRYGKZYHEYYFJMSDTYFZJJHGCXPLXHLDWXXJKYTCYKSSSMTWCTTQZLPBSZDZWZXGZAGYKTYWXLHLSPBCLLOQMMZSSLCMBJCSZZKYDCZJGQQDSMCYTZQQLWZQZXSSFPTTFQMDDZDSHDTDWFHTDYZJYQJQKYPBDJYYXTLJHDRQXXXHAYDHRJLKLYTWHLLRLLRCXYLBWSRSZZSYMKZZHHKYHXKSMDSYDYCJPBZBSQLFCXXXNXKXWYWSDZYQOGGQMMYHCDZTTFJYYBGSTTTYBYKJDHKYXBELHTYPJQNFXFDYKZHQKZBYJTZBXHFDXKDASWTAWAJLDYJSFHBLDNNTNQJTJNCHXFJSRFWHZFMDRYJYJWZPDJKZYJYMPCYZNYNXFBYTFYFWYGDBNZZZDNYTXZEMMQBSQEHXFZMBMFLZZSRXYMJGSXWZJSPRYDJSJGXHJJGLJJYNZZJXHGXKYMLPYYYCXYTWQZSWHWLYRJLPXSLSXMFSWWKLCTNXNYNPSJSZHDZEPTXMYYWXYYSYWLXJQZQXZDCLEEELMCPJPCLWBXSQHFWWTFFJTNQJHJQDXHWLBYZNFJLALKYYJLDXHHYCSTYYWNRJYXYWTRMDRQHWQCMFJDYZMHMYYXJWMYZQZXTLMRSPWWCHAQBXYGZYPXYYRRCLMPYMGKSJSZYSRMYJSNXTPLNBAPPYPYLXYYZKYNLDZYJZCZNNLMZHHARQMPGWQTZMXXMLLHGDZXYHXKYXYCJMFFYYHJFSBSSQLXXNDYCANNMTCJCYPRRNYTYQNYYMBMSXNDLYLYSLJRLXYSXQMLLYZLZJJJKYZZCSFBZXXMSTBJGNXYZHLXNMCWSCYZYFZLXBRNNNYLBNRTGZQYSATSWRYHYJZMZDHZGZDWYBSSCSKXSYHYTXXGCQGXZZSHYXJSCRHMKKBXCZJYJYMKQHZJFNBHMQHYSNJNZYBKNQMCLGQHWLZNZSWXKHLJHYYBQLBFCDSXDLDSPFZPSKJYZWZXZDDXJSMMEGJSCSSMGCLXXKYYYLNYPWWWGYDKZJGGGZGGSYCKNJWNJPCXBJJTQTJWDSSPJXZXNZXUMELPXFSXTLLXCLJXJJLJZXCTPSWXLYDHLYQRWHSYCSQYYBYAYWJJJQFWQCQQCJQGXALDBZZYJGKGXPLTZYFXJLTPADKYQHPMATLCPDCKBMTXYBHKLENXDLEEGQDYMSAWHZMLJTWYGXLYQZLJEEYYBQQFFNLYXRDSCTGJGXYYNKLLYQKCCTLHJLQMKKZGCYYGLLLJDZGYDHZWXPYSJBZKDZGYZZHYWYFQYTYZSZYEZZLYMHJJHTSMQWYZLKYYWZCSRKQYTLTDXWCTYJKLWSQZWBDCQYNCJSRSZJLKCDCDTLZZZACQQZZDDXYPLXZBQJYLZLLLQDDZQJYJYJZYXNYYYNYJXKXDAZWYRDLJYYYRJLXLLDYXJCYWYWNQCCLDDNYYYNYCKCZHXXCCLGZQJGKWPPCQQJYSBZZXYJSQPXJPZBSBDSFNSFPZXHDWZTDWPPTFLZZBZDMYYPQJRSDZSQZSQXBDGCPZSWDWCSQZGMDHZXMWWFYBPDGPHTMJTHZSMMBGZMBZJCFZWFZBBZMQCFMBDMCJXLGPNJBBXGYHYYJGPTZGZMQBQTCGYXJXLWZKYDPDYMGCFTPFXYZTZXDZXTGKMTYBBCLBJASKYTSSQYYMSZXFJEWLXLLSZBQJJJAKLYLXLYCCTSXMCWFKKKBSXLLLLJYXTYLTJYYTDPJHNHNNKBYQNFQYYZBYYESSESSGDYHFHWTCJBSDZZTFDMXHCNJZYMQWSRYJDZJQPDQBBSTJGGFBKJBXTGQHNGWJXJGDLLTHZHHYYYYYYSXWTYYYCCBDBPYPZYCCZYJPZYWCBDLFWZCWJDXXHYHLHWZZXJTCZLCDPXUJCZZZLYXJJTXPHFXWPYWXZPTDZZBDZCYHJHMLXBQXSBYLRDTGJRRCTTTHYTCZWMXFYTWWZCWJWXJYWCSKYBZSCCTZQNHXNWXXKHKFHTSWOCCJYBCMPZZYKBNNZPBZHHZDLSYDDYTYFJPXYNGFXBYQXCBHXCPSXTYZDMKYSNXSXLHKMZXLYHDHKWHXXSSKQYHHCJYXGLHZXCSNHEKDTGZXQYPKDHEXTYKCNYMYYYPKQYYYKXZLTHJQTBYQHXBMYHSQCKWWYLLHCYYLNNEQXQWMCFBDCCMLJGGXDQKTLXKGNQCDGZJWYJJLYHHQTTTNWCHMXCXWHWSZJYDJCCDBQCDGDNYXZTHCQRXCBHZTQCBXWGQWYYBXHMBYMYQTYEXMQKYAQYRGYZSLFYKKQHYSSQYSHJGJCNXKZYCXSBXYXHYYLSTYCXQTHYSMGSCPMMGCCCCCMTZTASMGQZJHKLOSQYLSWTMXSYQKDZLJQQYPLSYCZTCQQPBBQJZCLPKHQZYYXXDTDDTSJCXFFLLCHQXMJLWCJCXTSPYCXNDTJSHJWXDQQJSKXYAMYLSJHMLALYKXCYYDMNMDQMXMCZNNCYBZKKYFLMCHCMLHXRCJJHSYLNMTJZGZGYWJXSRXCWJGJQHQZDQJDCJJZKJKGDZQGJJYJYLXZXXCDQHHHEYTMHLFSBDJSYYSHFYSTCZQLPBDRFRZTZYKYWHSZYQKWDQZRKMSYNBCRXQBJYFAZPZZEDZCJYWBCJWHYJBQSZYWRYSZPTDKZPFPBNZTKLQYHBBZPNPPTYZZYBQNYDCPJMMCYCQMCYFZZDCMNLFPBPLNGQJTBTTNJZPZBBZNJKLJQYLNBZQHKSJZNGGQSZZKYXSHPZSNBCGZKDDZQANZHJKDRTLZLSWJLJZLYWTJNDJZJHXYAYNCBGTZCSSQMNJPJYTYSWXZFKWJQTKHTZPLBHSNJZSYZBWZZZZLSYLSBJHDWWQPSLMMFBJDWAQYZTCJTBNNWZXQXCDSLQGDSDPDZHJTQQPSWLYYJZLGYXYZLCTCBJTKTYCZJTQKBSJLGMGZDMCSGPYNJZYQYYKNXRPWSZXMTNCSZZYXYBYHYZAXYWQCJTLLCKJJTJHGDXDXYQYZZBYWDLWQCGLZGJGQRQZCZSSBCRPCSKYDZNXJSQGXSSJMYDNSTZTPBDLTKZWXQWQTZEXNQCZGWEZKSSBYBRTSSSLCCGBPSZQSZLCCGLLLZXHZQTHCZMQGYZQZNMCOCSZJMMZSQPJYGQLJYJPPLDXRGZYXCCSXHSHGTZNLZWZKJCXTCFCJXLBMQBCZZWPQDNHXLJCTHYZLGYLNLSZZPCXDSCQQHJQKSXZPBAJYEMSMJTZDXLCJYRYYNWJBNGZZTMJXLTBSLYRZPYLSSCNXPHLLHYLLQQZQLXYMRSYCXZLMMCZLTZSDWTJJLLNZGGQXPFSKYGYGHBFZPDKMWGHCXMSGDXJMCJZDYCABXJDLNBCDQYGSKYDQTXDJJYXMSZQAZDZFSLQXYJSJZYLBTXXWXQQZBJZUFBBLYLWDSLJHXJYZJWTDJCZFQZQZZDZSXZZQLZCDZFJHYSPYMPQZMLPPLFFXJJNZZYLSJEYQZFPFZKSYWJJJHRDJZZXTXXGLGHYDXCSKYSWMMZCWYBAZBJKSHFHJCXMHFQHYXXYZFTSJYZFXYXPZLCHMZMBXHZZSXYFYMNCWDABAZLXKTCSHHXKXJJZJSTHYGXSXYYHHHJWXKZXSSBZZWHHHCWTZZZPJXSNXQQJGZYZYWLLCWXZFXXYXYHXMKYYSWSQMNLNAYCYSPMJKHWCQHYLAJJMZXHMMCNZHBHXCLXTJPLTXYJHDYYLTTXFSZHYXXSJBJYAYRSMXYPLCKDUYHLXRLNLLSTYZYYQYGYHHSCCSMZCTZQXKYQFPYYRPFFLKQUNTSZLLZMWWTCQQYZWTLLMLMPWMBZSSTZRBPDDTLQJJBXZCSRZQQYGWCSXFWZLXCCRSZDZMCYGGDZQSGTJSWLJMYMMZYHFBJDGYXCCPSHXNZCSBSJYJGJMPPWAFFYFNXHYZXZYLREMZGZCYZSSZDLLJCSQFNXZKPTXZGXJJGFMYYYSNBTYLBNLHPFZDCYFBMGQRRSSSZXYSGTZRNYDZZCDGPJAFJFZKNZBLCZSZPSGCYCJSZLMLRSZBZZLDLSLLYSXSQZQLYXZLSKKBRXBRBZCYCXZZZEEYFGKLZLYYHGZSGZLFJHGTGWKRAAJYZKZQTSSHJJXDCYZUYJLZYRZDQQHGJZXSSZBYKJPBFRTJXLLFQWJHYLQTYMBLPZDXTZYGBDHZZRBGXHWNJTJXLKSCFSMWLSDQYSJTXKZSCFWJLBXFTZLLJZLLQBLSQMQQCGCZFPBPHZCZJLPYYGGDTGWDCFCZQYYYQYSSCLXZSKLZZZGFFCQNWGLHQYZJJCZLQZZYJPJZZBPDCCMHJGXDQDGDLZQMFGPSYTSDYFWWDJZJYSXYYCZCYHZWPBYKXRYLYBHKJKSFXTZJMMCKHLLTNYYMSYXYZPYJQYCSYCWMTJJKQYRHLLQXPSGTLYYCLJSCPXJYZFNMLRGJJTYZBXYZMSJYJHHFZQMSYXRSZCWTLRTQZSSTKXGQKGSPTGCZNJSJCQCXHMXGGZTQYDJKZDLBZSXJLHYQGGGTHQSZPYHJHHGYYGKGGCWJZZYLCZLXQSFTGZSLLLMLJSKCTBLLZZSZMMNYTPZSXQHJCJYQXYZXZQZCPSHKZZYSXCDFGMWQRLLQXRFZTLYSTCTMJCXJJXHJNXTNRZTZFQYHQGLLGCXSZSJDJLJCYDSJTLNYXHSZXCGJZYQPYLFHDJSBPCCZHJJJQZJQDYBSSLLCMYTTMQTBHJQNNYGKYRQYQMZGCJKPDCGMYZHQLLSLLCLMHOLZGDYYFZSLJCQZLYLZQJESHNYLLJXGJXLYSYYYXNBZLJSSZCQQCJYLLZLTJYLLZLLBNYLGQCHXYYXOXCXQKYJXXXYKLXSXXYQXCYKQXQCSGYXXYQXYGYTQOHXHXPYXXXULCYEYCHZZCBWQBBWJQZSCSZSSLZYLKDESJZWMYMCYTSDSXXSCJPQQSQYLYYZYCMDJDZYWCBTJSYDJKCYDDJLBDJJSODZYSYXQQYXDHHGQQYQHDYXWGMMMAJDYBBBPPBCMUUPLJZSMTXERXJMHQNUTPJDCBSSMSSSTKJTSSMMTRCPLZSZMLQDSDMJMQPNQDXCFYNBFSDQXYXHYAYKQYDDLQYYYSSZBYDSLNTFQTZQPZMCHDHCZCWFDXTMYQSPHQYYXSRGJCWTJTZZQMGWJJTJHTQJBBHWZPXXHYQFXXQYWYYHYSCDYDHHQMNMTMWCPBSZPPZZGLMZFOLLCFWHMMSJZTTDHZZYFFYTZZGZYSKYJXQYJZQBHMBZZLYGHGFMSHPZFZSNCLPBQSNJXZSLXXFPMTYJYGBXLLDLXPZJYZJYHHZCYWHJYLSJEXFSZZYWXKZJLUYDTMLYMQJPWXYHXSKTQJEZRPXXZHHMHWQPWQLYJJQJJZSZCPHJLCHHNXJLQWZJHBMZYXBDHHYPZLHLHLGFWLCHYYTLHJXCJMSCPXSTKPNHQXSRTYXXTESYJCTLSSLSTDLLLWWYHDHRJZSFGXTSYCZYNYHTDHWJSLHTZDQDJZXXQHGYLTZPHCSQFCLNJTCLZPFSTPDYNYLGMJLLYCQHYSSHCHYLHQYQTMZYPBYWRFQYKQSYSLZDQJMPXYYSSRHZJNYWTQDFZBWWTWWRXCWHGYHXMKMYYYQMSMZHNGCEPMLQQMTCWCTMMPXJPJJHFXYYZSXZHTYBMSTSYJTTQQQYYLHYNPYQZLCYZHZWSMYLKFJXLWGXYPJYTYSYXYMZCKTTWLKSMZSYLMPWLZWXWQZSSAQSYXYRHSSNTSRAPXCPWCMGDXHXZDZYFJHGZTTSBJHGYZSZYSMYCLLLXBTYXHBBZJKSSDMALXHYCFYGMQYPJYCQXJLLLJGSLZGQLYCJCCZOTYXMTMTTLLWTGPXYMZMKLPSZZZXHKQYSXCTYJZYHXSHYXZKXLZWPSQPYHJWPJPWXQQYLXSDHMRSLZZYZWTTCYXYSZZSHBSCCSTPLWSSCJCHNLCGCHSSPHYLHFHHXJSXYLLNYLSZDHZXYLSXLWZYKCLDYAXZCMDDYSPJTQJZLNWQPSSSWCTSTSZLBLNXSMNYYMJQBQHRZWTYYDCHQLXKPZWBGQYBKFCMZWPZLLYYLSZYDWHXPSBCMLJBSCGBHXLQHYRLJXYSWXWXZSLDFHLSLYNJLZYFLYJYCDRJLFSYZFSLLCQYQFGJYHYXZLYLMSTDJCYHBZLLNWLXXYGYYHSMGDHXXHHLZZJZXCZZZCYQZFNGWPYLCPKPYYPMCLQKDGXZGGWQBDXZZKZFBXXLZXJTPJPTTBYTSZZDWSLCHZHSLTYXHQLHYXXXYYZYSWTXZKHLXZXZPYHGCHKCFSYHUTJRLXFJXPTZTWHPLYXFCRHXSHXKYXXYHZQDXQWULHYHMJTBFLKHTXCWHJFWJCFPQRYQXCYYYQYGRPYWSGSUNGWCHKZDXYFLXXHJJBYZWTSXXNCYJJYMSWZJQRMHXZWFQSYLZJZGBHYNSLBGTTCSYBYXXWXYHXYYXNSQYXMQYWRGYQLXBBZLJSYLPSYTJZYHYZAWLRORJMKSCZJXXXYXCHDYXRYXXJDTSQFXLYLTSFFYXLMTYJMJUYYYXLTZCSXQZQHZXLYYXZHDNBRXXXJCTYHLBRLMBRLLAXKYLLLJLYXXLYCRYLCJTGJCMTLZLLCYZZPZPCYAWHJJFYBDYYZSMPCKZDQYQPBPCJPDCYZMDPBCYYDYCNNPLMTMLRMFMMGWYZBSJGYGSMZQQQZTXMKQWGXLLPJGZBQCDJJJFPKJKCXBLJMSWMDTQJXLDLPPBXCWRCQFBFQJCZAHZGMYKPHYYHZYKNDKZMBPJYXPXYHLFPNYYGXJDBKXNXHJMZJXSTRSTLDXSKZYSYBZXJLXYSLBZYSLHXJPFXPQNBYLLJQKYGZMCYZZYMCCSLCLHZFWFWYXZMWSXTYNXJHPYYMCYSPMHYSMYDYSHQYZCHMJJMZCAAGCFJBBHPLYZYLXXSDJGXDHKXXTXXNBHRMLYJSLTXMRHNLXQJXYZLLYSWQGDLBJHDCGJYQYCMHWFMJYBMBYJYJWYMDPWHXQLDYGPDFXXBCGJSPCKRSSYZJMSLBZZJFLJJJLGXZGYXYXLSZQYXBEXYXHGCXBPLDYHWETTWWCJMBTXCHXYQXLLXFLYXLLJLSSFWDPZSMYJCLMWYTCZPCHQEKCQBWLCQYDPLQPPQZQFJQDJHYMMCXTXDRMJWRHXCJZYLQXDYYNHYYHRSLSRSYWWZJYMTLTLLGTQCJZYABTCKZCJYCCQLJZQXALMZYHYWLWDXZXQDLLQSHGPJFJLJHJABCQZDJGTKHSSTCYJLPSWZLXZXRWGLDLZRLZXTGSLLLLZLYXXWGDZYGBDPHZPBRLWSXQBPFDWOFMWHLYPCBJCCLDMBZPBZZLCYQXLDOMZBLZWPDWYYGDSTTHCSQSCCRSSSYSLFYBFNTYJSZDFNDPDHDZZMBBLSLCMYFFGTJJQWFTMTPJWFNLBZCMMJTGBDZLQLPYFHYYMJYLSDCHDZJWJCCTLJCLDTLJJCPDDSQDSSZYBNDBJLGGJZXSXNLYCYBJXQYCBYLZCFZPPGKCXZDZFZTJJFJSJXZBNZYJQTTYJYHTYCZHYMDJXTTMPXSPLZCDWSLSHXYPZGTFMLCJTYCBPMGDKWYCYZCDSZZYHFLYCTYGWHKJYYLSJCXGYWJCBLLCSNDDBTZBSCLYZCZZSSQDLLMQYYHFSLQLLXFTYHABXGWNYWYYPLLSDLDLLBJCYXJZMLHLJDXYYQYTDLLLBUGBFDFBBQJZZMDPJHGCLGMJJPGAEHHBWCQXAXHHHZCHXYPHJAXHLPHJPGPZJQCQZGJJZZUZDMQYYBZZPHYHYBWHAZYJHYKFGDPFQSDLZMLJXKXGALXZDAGLMDGXMWZQYXXDXXPFDMMSSYMPFMDMMKXKSYZYSHDZKXSYSMMZZZMSYDNZZCZXFPLSTMZDNMXCKJMZTYYMZMZZMSXHHDCZJEMXXKLJSTLWLSQLYJZLLZJSSDPPMHNLZJCZYHMXXHGZCJMDHXTKGRMXFWMCGMWKDTKSXQMMMFZZYDKMSCLCMPCGMHSPXQPZDSSLCXKYXTWLWJYAHZJGZQMCSNXYYMMPMLKJXMHLMLQMXCTKZMJQYSZJSYSZHSYJZJCDAJZYBSDQJZGWZQQXFKDMSDJLFWEHKZQKJPEYPZYSZCDWYJFFMZZYLTTDZZEFMZLBNPPLPLPEPSZALLTYLKCKQZKGENQLWAGYXYDPXLHSXQQWQCQXQCLHYXXMLYCCWLYMQYSKGCHLCJNSZKPYZKCQZQLJPDMDZHLASXLBYDWQLWDNBQCRYDDZTJYBKBWSZDXDTNPJDTCTQDFXQQMGNXECLTTBKPWSLCTYQLPWYZZKLPYGZCQQPLLKCCYLPQMZCZQCLJSLQZDJXLDDHPZQDLJJXZQDXYZQKZLJCYQDYJPPYPQYKJYRMPCBYMCXKLLZLLFQPYLLLMBSGLCYSSLRSYSQTMXYXZQZFDZUYSYZTFFMZZSMZQHZSSCCMLYXWTPZGXZJGZGSJSGKDDHTQGGZLLBJDZLCBCHYXYZHZFYWXYZYMSDBZZYJGTSMTFXQYXQSTDGSLNXDLRYZZLRYYLXQHTXSRTZNGZXBNQQZFMYKMZJBZYMKBPNLYZPBLMCNQYZZZSJZHJCTZKHYZZJRDYZHNPXGLFZTLKGJTCTSSYLLGZRZBBQZZKLPKLCZYSSUYXBJFPNJZZXCDWXZYJXZZDJJKGGRSRJKMSMZJLSJYWQSKYHQJSXPJZZZLSNSHRNYPZTWCHKLPSRZLZXYJQXQKYSJYCZTLQZYBBYBWZPQDWWYZCYTJCJXCKCWDKKZXSGKDZXWWYYJQYYTCYTDLLXWKCZKKLCCLZCQQDZLQLCSFQCHQHSFSMQZZLNBJJZBSJHTSZDYSJQJPDLZCDCWJKJZZLPYCGMZWDJJBSJQZSYZYHHXJPBJYDSSXDZNCGLQMBTSFSBPDZDLZNFGFJGFSMPXJQLMBLGQCYYXBQKDJJQYRFKZTJDHCZKLBSDZCFJTPLLJGXHYXZCSSZZXSTJYGKGCKGYOQXJPLZPBPGTGYJZGHZQZZLBJLSQFZGKQQJZGYCZBZQTLDXRJXBSXXPZXHYZYCLWDXJJHXMFDZPFZHQHQMQGKSLYHTYCGFRZGNQXCLPDLBZCSCZQLLJBLHBZCYPZZPPDYMZZSGYHCKCPZJGSLJLNSCDSLDLXBMSTLDDFJMKDJDHZLZXLSZQPQPGJLLYBDSZGQLBZLSLKYYHZTTNTJYQTZZPSZQZTLLJTYYLLQLLQYZQLBDZLSLYYZYMDFSZSNHLXZNCZQZPBWSKRFBSYZMTHBLGJPMCZZLSTLXSHTCSYZLZBLFEQHLXFLCJLYLJQCBZLZJHHSSTBRMHXZHJZCLXFNBGXGTQJCZTMSFZKJMSSNXLJKBHSJXNTNLZDNTLMSJXGZJYJCZXYJYJWRWWQNZTNFJSZPZSHZJFYRDJSFSZJZBJFZQZZHZLXFYSBZQLZSGYFTZDCSZXZJBQMSZKJRHYJZCKMJKHCHGTXKXQGLXPXFXTRTYLXJXHDTSJXHJZJXZWZLCQSBTXWXGXTXXHXFTSDKFJHZYJFJXRZSDLLLTQSQQZQWZXSYQTWGWBZCGZLLYZBCLMQQTZHZXZXLJFRMYZFLXYSQXXJKXRMQDZDMMYYBSQBHGZMWFWXGMXLZPYYTGZYCCDXYZXYWGSYJYZNBHPZJSQSYXSXRTFYZGRHZTXSZZTHCBFCLSYXZLZQMZLMPLMXZJXSFLBYZMYQHXJSXRXSQZZZSSLYFRCZJRCRXHHZXQYDYHXSJJHZCXZBTYNSYSXJBQLPXZQPYMLXZKYXLXCJLCYSXXZZLXDLLLJJYHZXGYJWKJRWYHCPSGNRZLFZWFZZNSXGXFLZSXZZZBFCSYJDBRJKRDHHGXJLJJTGXJXXSTJTJXLYXQFCSGSWMSBCTLQZZWLZZKXJMLTMJYHSDDBXGZHDLBMYJFRZFSGCLYJBPMLYSMSXLSZJQQHJZFXGFQFQBPXZGYYQXGZTCQWYLTLGWSGWHRLFSFGZJMGMGBGTJFSYZZGZYZAFLSSPMLPFLCWBJZCLJJMZLPJJLYMQDMYYYFBGYGYZMLYZDXQYXRQQQHSYYYQXYLJTYXFSFSLLGNQCYHYCWFHCCCFXPYLYPLLZYXXXXXKQHHXSHJZCFZSCZJXCPZWHHHHHAPYLQALPQAFYHXDYLUKMZQGGGDDESRNNZLTZGCHYPPYSQJJHCLLJTOLNJPZLJLHYMHEYDYDSQYCDDHGZUNDZCLZYZLLZNTNYZGSLHSLPJJBDGWXPCDUTJCKLKCLWKLLCASSTKZZDNQNTTLYYZSSYSSZZRYLJQKCQDHHCRXRZYDGRGCWCGZQFFFPPJFZYNAKRGYWYQPQXXFKJTSZZXSWZDDFBBXTBGTZKZNPZZPZXZPJSZBMQHKCYXYLDKLJNYPKYGHGDZJXXEAHPNZKZTZCMXCXMMJXNKSZQNMNLWBWWXJKYHCPSTMCSQTZJYXTPCTPDTNNPGLLLZSJLSPBLPLQHDTNJNLYYRSZFFJFQWDPHZDWMRZCCLODAXNSSNYZRESTYJWJYJDBCFXNMWTTBYLWSTSZGYBLJPXGLBOCLHPCBJLTMXZLJYLZXCLTPNCLCKXTPZJSWCYXSFYSZDKNTLBYJCYJLLSTGQCBXRYZXBXKLYLHZLQZLNZCXWJZLJZJNCJHXMNZZGJZZXTZJXYCYYCXXJYYXJJXSSSJSTSSTTPPGQTCSXWZDCSYFPTFBFHFBBLZJCLZZDBXGCXLQPXKFZFLSYLTUWBMQJHSZBMDDBCYSCCLDXYCDDQLYJJWMQLLCSGLJJSYFPYYCCYLTJANTJJPWYCMMGQYYSXDXQMZHSZXPFTWWZQSWQRFKJLZJQQYFBRXJHHFWJJZYQAZMYFRHCYYBYQWLPEXCCZSTYRLTTDMQLYKMBBGMYYJPRKZNPBSXYXBHYZDJDNGHPMFSGMWFZMFQMMBCMZZCJJLCNUXYQLMLRYGQZCYXZLWJGCJCGGMCJNFYZZJHYCPRRCMTZQZXHFQGTJXCCJEAQCRJYHPLQLSZDJRBCQHQDYRHYLYXJSYMHZYDWLDFRYHBPYDTSSCNWBXGLPZMLZZTQSSCPJMXXYCSJYTYCGHYCJWYRXXLFEMWJNMKLLSWTXHYYYNCMMCWJDQDJZGLLJWJRKHPZGGFLCCSCZMCBLTBHBQJXQDSPDJZZGKGLFQYWBZYZJLTSTDHQHCTCBCHFLQMPWDSHYYTQWCNZZJTLBYMBPDYYYXSQKXWYYFLXXNCWCXYPMAELYKKJMZZZBRXYYQJFLJPFHHHYTZZXSGQQMHSPGDZQWBWPJHZJDYSCQWZKTXXSQLZYYMYSDZGRXCKKUJLWPYSYSCSYZLRMLQSYLJXBCXTLWDQZPCYCYKPPPNSXFYZJJRCEMHSZMSXLXGLRWGCSTLRSXBZGBZGZTCPLUJLSLYLYMTXMTZPALZXPXJTJWTCYYZLBLXBZLQMYLXPGHDSLSSDMXMBDZZSXWHAMLCZCPJMCNHJYSNSYGCHSKQMZZQDLLKABLWJXSFMOCDXJRRLYQZKJMYBYQLYHETFJZFRFKSRYXFJTWDSXXSYSQJYSLYXWJHSNLXYYXHBHAWHHJZXWMYLJCSSLKYDZTXBZSYFDXGXZJKHSXXYBSSXDPYNZWRPTQZCZENYGCXQFJYKJBZMLJCMQQXUOXSLYXXLYLLJDZBTYMHPFSTTQQWLHOKYBLZZALZXQLHZWRRQHLSTMYPYXJJXMQSJFNBXYXYJXXYQYLTHYLQYFMLKLJTMLLHSZWKZHLJMLHLJKLJSTLQXYLMBHHLNLZXQJHXCFXXLHYHJJGBYZZKBXSCQDJQDSUJZYYHZHHMGSXCSYMXFEBCQWWRBPYYJQTYZCYQYQQZYHMWFFHGZFRJFCDPXNTQYZPDYKHJLFRZXPPXZDBBGZQSTLGDGYLCQMLCHHMFYWLZYXKJLYPQHSYWMQQGQZMLZJNSQXJQSYJYCBEHSXFSZPXZWFLLBCYYJDYTDTHWZSFJMQQYJLMQXXLLDTTKHHYBFPWTYYSQQWNQWLGWDEBZWCMYGCULKJXTMXMYJSXHYBRWFYMWFRXYQMXYSZTZZTFYKMLDHQDXWYYNLCRYJBLPSXCXYWLSPRRJWXHQYPHTYDNXHHMMYWYTZCSQMTSSCCDALWZTCPQPYJLLQZYJSWXMZZMMYLMXCLMXCZMXMZSQTZPPQQBLPGXQZHFLJJHYTJSRXWZXSCCDLXTYJDCQJXSLQYCLZXLZZXMXQRJMHRHZJBHMFLJLMLCLQNLDXZLLLPYPSYJYSXCQQDCMQJZZXHNPNXZMEKMXHYKYQLXSXTXJYYHWDCWDZHQYYBGYBCYSCFGPSJNZDYZZJZXRZRQJJYMCANYRJTLDPPYZBSTJKXXZYPFDWFGZZRPYMTNGXZQBYXNBUFNQKRJQZMJEGRZGYCLKXZDSKKNSXKCLJSPJYYZLQQJYBZSSQLLLKJXTBKTYLCCDDBLSPPFYLGYDTZJYQGGKQTTFZXBDKTYYHYBBFYTYYBCLPDYTGDHRYRNJSPTCSNYJQHKLLLZSLYDXXWBCJQSPXBPJZJCJDZFFXXBRMLAZHCSNDLBJDSZBLPRZTSWSBXBCLLXXLZDJZSJPYLYXXYFTFFFBHJJXGBYXJPMMMPSSJZJMTLYZJXSWXTYLEDQPJMYGQZJGDJLQJWJQLLSJGJGYGMSCLJJXDTYGJQJQJCJZCJGDZZSXQGSJGGCXHQXSNQLZZBXHSGZXCXYLJXYXYYDFQQJHJFXDHCTXJYRXYSQTJXYEFYYSSYYJXNCYZXFXMSYSZXYYSCHSHXZZZGZZZGFJDLTYLNPZGYJYZYYQZPBXQBDZTZCZYXXYHHSQXSHDHGQHJHGYWSZTMZMLHYXGEBTYLZKQWYTJZRCLEKYSTDBCYKQQSAYXCJXWWGSBHJYZYDHCSJKQCXSWXFLTYNYZPZCCZJQTZWJQDZZZQZLJJXLSBHPYXXPSXSHHEZTXFPTLQYZZXHYTXNCFZYYHXGNXMYWXTZSJPTHHGYMXMXQZXTSBCZYJYXXTYYZYPCQLMMSZMJZZLLZXGXZAAJZYXJMZXWDXZSXZDZXLEYJJZQBHZWZZZQTZPSXZTDSXJJJZNYAZPHXYYSRNQDTHZHYYKYJHDZXZLSWCLYBZYECWCYCRYLCXNHZYDZYDYJDFRJJHTRSQTXYXJRJHOJYNXELXSFSFJZGHPZSXZSZDZCQZBYYKLSGSJHCZSHDGQGXYZGXCHXZJWYQWGYHKSSEQZZNDZFKWYSSTCLZSTSYMCDHJXXYWEYXCZAYDMPXMDSXYBSQMJMZJMTZQLPJYQZCGQHXJHHLXXHLHDLDJQCLDWBSXFZZYYSCHTYTYYBHECXHYKGJPXHHYZJFXHWHBDZFYZBCAPNPGNYDMSXHMMMMAMYNBYJTMPXYYMCTHJBZYFCGTYHWPHFTWZZEZSBZEGPFMTSKFTYCMHFLLHGPZJXZJGZJYXZSBBQSCZZLZCCSTPGXMJSFTCCZJZDJXCYBZLFCJSYZFGSZLYBCWZZBYZDZYPSWYJZXZBDSYUXLZZBZFYGCZXBZHZFTPBGZGEJBSTGKDMFHYZZJHZLLZZGJQZLSFDJSSCBZGPDLFZFZSZYZYZSYGCXSNXXCHCZXTZZLJFZGQSQYXZJQDCCZTQCDXZJYQJQCHXZTDLGSCXZSYQJQTZWLQDQZTQCHQQJZYEZZZPBWKDJFCJPZTYPQYQTTYNLMBDKTJZPQZQZZFPZSBNJLGYJDXJDZZKZGQKXDLPZJTCJDQBXDJQJSTCKNXBXZMSLYJCQMTJQWWCJQNJNLLLHJCWQTBZQYDZCZPZZDZYDDCYZZZCCJTTJFZDPRRTZTJDCQTQZDTJNPLZBCLLCTZSXKJZQZPZLBZRBTJDCXFCZDBCCJJLTQQPLDCGZDBBZJCQDCJWYNLLZYZCCDWLLXWZLXRXNTQQCZXKQLSGDFQTDDGLRLAJJTKUYMKQLLTZYTDYYCZGJWYXDXFRSKSTQTENQMRKQZHHQKDLDAZFKYPBGGPZREBZZYKZZSPEGJXGYKQZZZSLYSYYYZWFQZYLZZLZHWCHKYPQGNPGBLPLRRJYXCCSYYHSFZFYBZYYTGZXYLXCZWXXZJZBLFFLGSKHYJZEYJHLPLLLLCZGXDRZELRHGKLZZYHZLYQSZZJZQLJZFLNBHGWLCZCFJYSPYXZLZLXGCCPZBLLCYBBBBUBBCBPCRNNZCZYRBFSRLDCGQYYQXYGMQZWTZYTYJXYFWTEHZZJYWLCCNTZYJJZDEDPZDZTSYQJHDYMBJNYJZLXTSSTPHNDJXXBYXQTZQDDTJTDYYTGWSCSZQFLSHLGLBCZPHDLYZJYCKWTYTYLBNYTSDSYCCTYSZYYEBHEXHQDTWNYGYCLXTSZYSTQMYGZAZCCSZZDSLZCLZRQXYYELJSBYMXSXZTEMBBLLYYLLYTDQYSHYMRQWKFKBFXNXSBYCHXBWJYHTQBPBSBWDZYLKGZSKYHXQZJXHXJXGNLJKZLYYCDXLFYFGHLJGJYBXQLYBXQPQGZTZPLNCYPXDJYQYDYMRBESJYYHKXXSTMXRCZZYWXYQYBMCLLYZHQYZWQXDBXBZWZMSLPDMYSKFMZKLZCYQYCZLQXFZZYDQZPZYGYJYZMZXDZFYFYTTQTZHGSPCZMLCCYTZXJCYTJMKSLPZHYSNZLLYTPZCTZZCKTXDHXXTQCYFKSMQCCYYAZHTJPCYLZLYJBJXTPNYLJYYNRXSYLMMNXJSMYBCSYSYLZYLXJJQYLDZLPQBFZZBLFNDXQKCZFYWHGQMRDSXYCYTXNQQJZYYPFZXDYZFPRXEJDGYQBXRCNFYYQPGHYJDYZXGRHTKYLNWDZNTSMPKLBTHBPYSZBZTJZSZZJTYYXZPHSSZZBZCZPTQFZMYFLYPYBBJQXZMXXDJMTSYSKKBJZXHJCKLPSMKYJZCXTMLJYXRZZQSLXXQPYZXMKYXXXJCLJPRMYYGADYSKQLSNDHYZKQXZYZTCGHZTLMLWZYBWSYCTBHJHJFCWZTXWYTKZLXQSHLYJZJXTMPLPYCGLTBZZTLZJCYJGDTCLKLPLLQPJMZPAPXYZLKKTKDZCZZBNZDYDYQZJYJGMCTXLTGXSZLMLHBGLKFWNWZHDXUHLFMKYSLGXDTWWFRJEJZTZHYDXYKSHWFZCQSHKTMQQHTZHYMJDJSKHXZJZBZZXYMPAGQMSTPXLSKLZYNWRTSQLSZBPSPSGZWYHTLKSSSWHZZLYYTNXJGMJSZSUFWNLSOZTXGXLSAMMLBWLDSZYLAKQCQCTMYCFJBSLXCLZZCLXXKSBZQCLHJPSQPLSXXCKSLNHPSFQQYTXYJZLQLDXZQJZDYYDJNZPTUZDSKJFSLJHYLZSQZLBTXYDGTQFDBYAZXDZHZJNHHQBYKNXJJQCZMLLJZKSPLDYCLBBLXKLELXJLBQYCXJXGCNLCQPLZLZYJTZLJGYZDZPLTQCSXFDMNYCXGBTJDCZNBGBQYQJWGKFHTNPYQZQGBKPBBYZMTJDYTBLSQMPSXTBNPDXKLEMYYCJYNZCTLDYKZZXDDXHQSHDGMZSJYCCTAYRZLPYLTLKXSLZCGGEXCLFXLKJRTLQJAQZNCMBYDKKCXGLCZJZXJHPTDJJMZQYKQSECQZDSHHADMLZFMMZBGNTJNNLGBYJBRBTMLBYJDZXLCJLPLDLPCQDHLXZLYCBLCXZZJADJLNZMMSSSMYBHBSQKBHRSXXJMXSDZNZPXLGBRHWGGFCXGMSKLLTSJYYCQLTSKYWYYHYWXBXQYWPYWYKQLSQPTNTKHQCWDQKTWPXXHCPTHTWUMSSYHBWCRWXHJMKMZNGWTMLKFGHKJYLSYYCXWHYECLQHKQHTTQKHFZLDXQWYZYYDESBPKYRZPJFYYZJCEQDZZDLATZBBFJLLCXDLMJSSXEGYGSJQXCWBXSSZPDYZCXDNYXPPZYDLYJCZPLTXLSXYZYRXCYYYDYLWWNZSAHJSYQYHGYWWAXTJZDAXYSRLTDPSSYYFNEJDXYZHLXLLLZQZSJNYQYQQXYJGHZGZCYJCHZLYCDSHWSHJZYJXCLLNXZJJYYXNFXMWFPYLCYLLABWDDHWDXJMCXZTZPMLQZHSFHZYNZTLLDYWLSLXHYMMYLMBWWKYXYADTXYLLDJPYBPWUXJMWMLLSAFDLLYFLBHHHBQQLTZJCQJLDJTFFKMMMBYTHYGDCQRDDWRQJXNBYSNWZDBYYTBJHPYBYTTJXAAHGQDQTMYSTQXKBTZPKJLZRBEQQSSMJJBDJOTGTBXPGBKTLHQXJJJCTHXQDWJLWRFWQGWSHCKRYSWGFTGYGBXSDWDWRFHWYTJJXXXJYZYSLPYYYPAYXHYDQKXSHXYXGSKQHYWFDDDPPLCJLQQEEWXKSYYKDYPLTJTHKJLTCYYHHJTTPLTZZCDLTHQKZXQYSTEEYWYYZYXXYYSTTJKLLPZMCYHQGXYHSRMBXPLLNQYDQHXSXXWGDQBSHYLLPJJJTHYJKYPPTHYYKTYEZYENMDSHLCRPQFDGFXZPSFTLJXXJBSWYYSKSFLXLPPLBBBLBSFXFYZBSJSSYLPBBFFFFSSCJDSTZSXZRYYSYFFSYZYZBJTBCTSBSDHRTJJBYTCXYJEYLXCBNEBJDSYXYKGSJZBXBYTFZWGENYHHTHZHHXFWGCSTBGXKLSXYWMTMBYXJSTZSCDYQRCYTWXZFHMYMCXLZNSDJTTTXRYCFYJSBSDYERXJLJXBBDEYNJGHXGCKGSCYMBLXJMSZNSKGXFBNBPTHFJAAFXYXFPXMYPQDTZCXZZPXRSYWZDLYBBKTYQPQJPZYPZJZNJPZJLZZFYSBTTSLMPTZRTDXQSJEHBZYLZDHLJSQMLHTXTJECXSLZZSPKTLZKQQYFSYGYWPCPQFHQHYTQXZKRSGTTSQCZLPTXCDYYZXSQZSLXLZMYCPCQBZYXHBSXLZDLTCDXTYLZJYYZPZYZLTXJSJXHLPMYTXCQRBLZSSFJZZTNJYTXMYJHLHPPLCYXQJQQKZZSCPZKSWALQSBLCCZJSXGWWWYGYKTJBBZTDKHXHKGTGPBKQYSLPXPJCKBMLLXDZSTBKLGGQKQLSBKKTFXRMDKBFTPZFRTBBRFERQGXYJPZSSTLBZTPSZQZSJDHLJQLZBPMSMMSXLQQNHKNBLRDDNXXDHDDJCYYGYLXGZLXSYGMQQGKHBPMXYXLYTQWLWGCPBMQXCYZYDRJBHTDJYHQSHTMJSBYPLWHLZFFNYPMHXXHPLTBQPFBJWQDBYGPNZTPFZJGSDDTQSHZEAWZZYLLTYYBWJKXXGHLFKXDJTMSZSQYNZGGSWQSPHTLSSKMCLZXYSZQZXNCJDQGZDLFNYKLJCJLLZLMZZNHYDSSHTHZZLZZBBHQZWWYCRZHLYQQJBEYFXXXWHSRXWQHWPSLMSSKZTTYGYQQWRSLALHMJTQJSMXQBJJZJXZYZKXBYQXBJXSHZTSFJLXMXZXFGHKZSZGGYLCLSARJYHSLLLMZXELGLXYDJYTLFBHBPNLYZFBBHPTGJKWETZHKJJXZXXGLLJLSTGSHJJYQLQZFKCGNNDJSSZFDBCTWWSEQFHQJBSAQTGYPQLBXBMMYWXGSLZHGLZGQYFLZBYFZJFRYSFMBYZHQGFWZSYFYJJPHZBYYZFFWODGRLMFTWLBZGYCQXCDJYGZYYYYTYTYDWEGAZYHXJLZYYHLRMGRXXZCLHNELJJTJTPWJYBJJBXJJTJTEEKHWSLJPLPSFYZPQQBDLQJJTYYQLYZKDKSQJYYQZLDQTGJQYZJSUCMRYQTHTEJMFCTYHYPKMHYZWJDQFHYYXWSHCTXRLJHQXHCCYYYJLTKTTYTMXGTCJTZAYYOCZLYLBSZYWJYTSJYHBYSHFJLYGJXXTMZYYLTXXYPZLXYJZYZYYPNHMYMDYYLBLHLSYYQQLLNJJYMSOYQBZGDLYXYLCQYXTSZEGXHZGLHWBLJHEYXTWQMAKBPQCGYSHHEGQCMWYYWLJYJHYYZLLJJYLHZYHMGSLJLJXCJJYCLYCJPCPZJZJMMYLCQLNQLJQJSXYJMLSZLJQLYCMMHCFMMFPQQMFYLQMCFFQMMMMHMZNFHHJGTTHHKHSLNCHHYQDXTMMQDCYZYXYQMYQYLTDCYYYZAZZCYMZYDLZFFFMMYCQZWZZMABTBYZTDMNZZGGDFTYPCGQYTTSSFFWFDTZQSSYSTWXJHXYTSXXYLBYQHWWKXHZXWZNNZZJZJJQJCCCHYYXBZXZCYZTLLCQXYNJYCYYCYNZZQYYYEWYCZDCJYCCHYJLBTZYYCQWMPWPYMLGKDLDLGKQQBGYCHJXY",
  134. oMultiDiff: {
  135. "19969": "DZ",
  136. "19975": "WM",
  137. "19988": "QJ",
  138. "20048": "YL",
  139. "20056": "SC",
  140. "20060": "NM",
  141. "20094": "QG",
  142. "20127": "QJ",
  143. "20167": "QC",
  144. "20193": "YG",
  145. "20250": "KH",
  146. "20256": "ZC",
  147. "20282": "SC",
  148. "20285": "QJG",
  149. "20291": "TD",
  150. "20314": "YD",
  151. "20340": "NE",
  152. "20375": "TD",
  153. "20389": "YJ",
  154. "20391": "CZ",
  155. "20415": "PB",
  156. "20446": "YS",
  157. "20447": "SQ",
  158. "20504": "TC",
  159. "20608": "KG",
  160. "20854": "QJ",
  161. "20857": "ZC",
  162. "20911": "PF",
  163. "20504": "TC",
  164. "20608": "KG",
  165. "20854": "QJ",
  166. "20857": "ZC",
  167. "20911": "PF",
  168. "20985": "AW",
  169. "21032": "PB",
  170. "21048": "XQ",
  171. "21049": "SC",
  172. "21089": "YS",
  173. "21119": "JC",
  174. "21242": "SB",
  175. "21273": "SC",
  176. "21305": "YP",
  177. "21306": "QO",
  178. "21330": "ZC",
  179. "21333": "SDC",
  180. "21345": "QK",
  181. "21378": "CA",
  182. "21397": "SC",
  183. "21414": "XS",
  184. "21442": "SC",
  185. "21477": "JG",
  186. "21480": "TD",
  187. "21484": "ZS",
  188. "21494": "YX",
  189. "21505": "YX",
  190. "21512": "HG",
  191. "21523": "XH",
  192. "21537": "PB",
  193. "21542": "PF",
  194. "21549": "KH",
  195. "21571": "E",
  196. "21574": "DA",
  197. "21588": "TD",
  198. "21589": "O",
  199. "21618": "ZC",
  200. "21621": "KHA",
  201. "21632": "ZJ",
  202. "21654": "KG",
  203. "21679": "LKG",
  204. "21683": "KH",
  205. "21710": "A",
  206. "21719": "YH",
  207. "21734": "WOE",
  208. "21769": "A",
  209. "21780": "WN",
  210. "21804": "XH",
  211. "21834": "A",
  212. "21899": "ZD",
  213. "21903": "RN",
  214. "21908": "WO",
  215. "21939": "ZC",
  216. "21956": "SA",
  217. "21964": "YA",
  218. "21970": "TD",
  219. "22003": "A",
  220. "22031": "JG",
  221. "22040": "XS",
  222. "22060": "ZC",
  223. "22066": "ZC",
  224. "22079": "MH",
  225. "22129": "XJ",
  226. "22179": "XA",
  227. "22237": "NJ",
  228. "22244": "TD",
  229. "22280": "JQ",
  230. "22300": "YH",
  231. "22313": "XW",
  232. "22331": "YQ",
  233. "22343": "YJ",
  234. "22351": "PH",
  235. "22395": "DC",
  236. "22412": "TD",
  237. "22484": "PB",
  238. "22500": "PB",
  239. "22534": "ZD",
  240. "22549": "DH",
  241. "22561": "PB",
  242. "22612": "TD",
  243. "22771": "KQ",
  244. "22831": "HB",
  245. "22841": "JG",
  246. "22855": "QJ",
  247. "22865": "XQ",
  248. "23013": "ML",
  249. "23081": "WM",
  250. "23487": "SX",
  251. "23558": "QJ",
  252. "23561": "YW",
  253. "23586": "YW",
  254. "23614": "YW",
  255. "23615": "SN",
  256. "23631": "PB",
  257. "23646": "ZS",
  258. "23663": "ZT",
  259. "23673": "YG",
  260. "23762": "TD",
  261. "23769": "ZS",
  262. "23780": "QJ",
  263. "23884": "QK",
  264. "24055": "XH",
  265. "24113": "DC",
  266. "24162": "ZC",
  267. "24191": "GA",
  268. "24273": "QJ",
  269. "24324": "NL",
  270. "24377": "TD",
  271. "24378": "QJ",
  272. "24439": "PF",
  273. "24554": "ZS",
  274. "24683": "TD",
  275. "24694": "WE",
  276. "24733": "LK",
  277. "24925": "TN",
  278. "25094": "ZG",
  279. "25100": "XQ",
  280. "25103": "XH",
  281. "25153": "PB",
  282. "25170": "PB",
  283. "25179": "KG",
  284. "25203": "PB",
  285. "25240": "ZS",
  286. "25282": "FB",
  287. "25303": "NA",
  288. "25324": "KG",
  289. "25341": "ZY",
  290. "25373": "WZ",
  291. "25375": "XJ",
  292. "25384": "A",
  293. "25457": "A",
  294. "25528": "SD",
  295. "25530": "SC",
  296. "25552": "TD",
  297. "25774": "ZC",
  298. "25874": "ZC",
  299. "26044": "YW",
  300. "26080": "WM",
  301. "26292": "PB",
  302. "26333": "PB",
  303. "26355": "ZY",
  304. "26366": "CZ",
  305. "26397": "ZC",
  306. "26399": "QJ",
  307. "26415": "ZS",
  308. "26451": "SB",
  309. "26526": "ZC",
  310. "26552": "JG",
  311. "26561": "TD",
  312. "26588": "JG",
  313. "26597": "CZ",
  314. "26629": "ZS",
  315. "26638": "YL",
  316. "26646": "XQ",
  317. "26653": "KG",
  318. "26657": "XJ",
  319. "26727": "HG",
  320. "26894": "ZC",
  321. "26937": "ZS",
  322. "26946": "ZC",
  323. "26999": "KJ",
  324. "27099": "KJ",
  325. "27449": "YQ",
  326. "27481": "XS",
  327. "27542": "ZS",
  328. "27663": "ZS",
  329. "27748": "TS",
  330. "27784": "SC",
  331. "27788": "ZD",
  332. "27795": "TD",
  333. "27812": "O",
  334. "27850": "PB",
  335. "27852": "MB",
  336. "27895": "SL",
  337. "27898": "PL",
  338. "27973": "QJ",
  339. "27981": "KH",
  340. "27986": "HX",
  341. "27994": "XJ",
  342. "28044": "YC",
  343. "28065": "WG",
  344. "28177": "SM",
  345. "28267": "QJ",
  346. "28291": "KH",
  347. "28337": "ZQ",
  348. "28463": "TL",
  349. "28548": "DC",
  350. "28601": "TD",
  351. "28689": "PB",
  352. "28805": "JG",
  353. "28820": "QG",
  354. "28846": "PB",
  355. "28952": "TD",
  356. "28975": "ZC",
  357. "29100": "A",
  358. "29325": "QJ",
  359. "29575": "SL",
  360. "29602": "FB",
  361. "30010": "TD",
  362. "30044": "CX",
  363. "30058": "PF",
  364. "30091": "YSP",
  365. "30111": "YN",
  366. "30229": "XJ",
  367. "30427": "SC",
  368. "30465": "SX",
  369. "30631": "YQ",
  370. "30655": "QJ",
  371. "30684": "QJG",
  372. "30707": "SD",
  373. "30729": "XH",
  374. "30796": "LG",
  375. "30917": "PB",
  376. "31074": "NM",
  377. "31085": "JZ",
  378. "31109": "SC",
  379. "31181": "ZC",
  380. "31192": "MLB",
  381. "31293": "JQ",
  382. "31400": "YX",
  383. "31584": "YJ",
  384. "31896": "ZN",
  385. "31909": "ZY",
  386. "31995": "XJ",
  387. "32321": "PF",
  388. "32327": "ZY",
  389. "32418": "HG",
  390. "32420": "XQ",
  391. "32421": "HG",
  392. "32438": "LG",
  393. "32473": "GJ",
  394. "32488": "TD",
  395. "32521": "QJ",
  396. "32527": "PB",
  397. "32562": "ZSQ",
  398. "32564": "JZ",
  399. "32735": "ZD",
  400. "32793": "PB",
  401. "33071": "PF",
  402. "33098": "XL",
  403. "33100": "YA",
  404. "33152": "PB",
  405. "33261": "CX",
  406. "33324": "BP",
  407. "33333": "TD",
  408. "33406": "YA",
  409. "33426": "WM",
  410. "33432": "PB",
  411. "33445": "JG",
  412. "33486": "ZN",
  413. "33493": "TS",
  414. "33507": "QJ",
  415. "33540": "QJ",
  416. "33544": "ZC",
  417. "33564": "XQ",
  418. "33617": "YT",
  419. "33632": "QJ",
  420. "33636": "XH",
  421. "33637": "YX",
  422. "33694": "WG",
  423. "33705": "PF",
  424. "33728": "YW",
  425. "33882": "SR",
  426. "34067": "WM",
  427. "34074": "YW",
  428. "34121": "QJ",
  429. "34255": "ZC",
  430. "34259": "XL",
  431. "34425": "JH",
  432. "34430": "XH",
  433. "34485": "KH",
  434. "34503": "YS",
  435. "34532": "HG",
  436. "34552": "XS",
  437. "34558": "YE",
  438. "34593": "ZL",
  439. "34660": "YQ",
  440. "34892": "XH",
  441. "34928": "SC",
  442. "34999": "QJ",
  443. "35048": "PB",
  444. "35059": "SC",
  445. "35098": "ZC",
  446. "35203": "TQ",
  447. "35265": "JX",
  448. "35299": "JX",
  449. "35782": "SZ",
  450. "35828": "YS",
  451. "35830": "E",
  452. "35843": "TD",
  453. "35895": "YG",
  454. "35977": "MH",
  455. "36158": "JG",
  456. "36228": "QJ",
  457. "36426": "XQ",
  458. "36466": "DC",
  459. "36710": "JC",
  460. "36711": "ZYG",
  461. "36767": "PB",
  462. "36866": "SK",
  463. "36951": "YW",
  464. "37034": "YX",
  465. "37063": "XH",
  466. "37218": "ZC",
  467. "37325": "ZC",
  468. "38063": "PB",
  469. "38079": "TD",
  470. "38085": "QY",
  471. "38107": "DC",
  472. "38116": "TD",
  473. "38123": "YD",
  474. "38224": "HG",
  475. "38241": "XTC",
  476. "38271": "ZC",
  477. "38415": "YE",
  478. "38426": "KH",
  479. "38461": "YD",
  480. "38463": "AE",
  481. "38466": "PB",
  482. "38477": "XJ",
  483. "38518": "YT",
  484. "38551": "WK",
  485. "38585": "ZC",
  486. "38704": "XS",
  487. "38739": "LJ",
  488. "38761": "GJ",
  489. "38808": "SQ",
  490. "39048": "JG",
  491. "39049": "XJ",
  492. "39052": "HG",
  493. "39076": "CZ",
  494. "39271": "XT",
  495. "39534": "TD",
  496. "39552": "TD",
  497. "39584": "PB",
  498. "39647": "SB",
  499. "39730": "LG",
  500. "39748": "TPB",
  501. "40109": "ZQ",
  502. "40479": "ND",
  503. "40516": "HG",
  504. "40536": "HG",
  505. "40583": "QJ",
  506. "40765": "YQ",
  507. "40784": "QJ",
  508. "40840": "YK",
  509. "40863": "QJG"
  510. }
  511. };
  512. },
  513. computed: {
  514. ...mapGetters("layout", [
  515. "projectId",
  516. "secret",
  517. "userId"
  518. ])
  519. },
  520. created() {
  521. this.getAllFamily();
  522. },
  523. methods: {
  524. chooseMedicine(val) {
  525. this.getAllFamily()
  526. },
  527. //批量配置信息点
  528. handleClickConfig() {
  529. this.dialog.config = true
  530. },
  531. //获取所有设备族
  532. getAllFamily() {
  533. this.labelKey = []
  534. this.active = ""
  535. this.searchVal = ""
  536. if (this.value == "property") {
  537. queryFamilyAll(res => {
  538. this.allFamily = res.Content.map((item) => {
  539. return {
  540. code: item.Code,
  541. name: item.Name
  542. }
  543. })
  544. this.isLoading = false
  545. this.familySort()
  546. })
  547. } else if (this.value == "space") {
  548. getBussTypes(res => {
  549. this.isLoading = false
  550. // this.allFamily = res.Content;
  551. this.allFamily = [{
  552. "code": "GeneralZone",
  553. "name": "默认分区",
  554. "rel_type": "99"
  555. },
  556. {
  557. "name": "供电分区",
  558. "rel_type": "1",
  559. "code": "PowerSupplyZone"
  560. },
  561. {
  562. "name": "照明分区",
  563. "rel_type": "2",
  564. "code": "LightingZone"
  565. },
  566. {
  567. "name": "空调分区",
  568. "rel_type": "4",
  569. "code": "AirConditioningZone"
  570. },
  571. {
  572. "code": "TenantZone",
  573. "name": "租户分区",
  574. "rel_type": "10"
  575. }
  576. ]
  577. this.familySort();
  578. })
  579. } else if (this.value == "tenant") {
  580. this.allFamily = [{
  581. "code": "Tenant",
  582. "name": "租户"
  583. }
  584. ]
  585. this.familySort()
  586. } else if (this.value == "shaft") {
  587. this.allFamily = [{
  588. "code": "Shaft",
  589. "name": "竖井"
  590. }
  591. ]
  592. this.familySort()
  593. }else {
  594. queryPhysicsAllType(this.value, res => {
  595. this.allFamily = res.Content.map((item) => {
  596. return {
  597. code: item.Code,
  598. name: item.Name
  599. }
  600. })
  601. this.familySort()
  602. })
  603. }
  604. },
  605. changeSpace(arr) {
  606. return arr.map(item => {
  607. return {
  608. name: item.name,
  609. code: item.code
  610. }
  611. })
  612. },
  613. //点击checkBox的事件
  614. boxChange(detail) {
  615. let param = [{
  616. Type: this.code,
  617. InfoPointCode: detail.InfoPointCode,
  618. Visible: detail.Visible
  619. }]
  620. setDataDictionary(param, res => {
  621. return
  622. });
  623. },
  624. //修改search
  625. changeVal(val) {
  626. let newArr = [],
  627. arr = [],
  628. obj = {};
  629. this.searchVal = val;
  630. const self = this;
  631. for (let i = 0; i < this.allFamily.length; i++) {
  632. if (this.allFamily[i].name.indexOf(val) >= 0 || this.allFamily[i].code.indexOf(val) >= 0) {
  633. newArr.push(this.allFamily[i]);
  634. }
  635. }
  636. newArr.forEach(function(value, index, array) {
  637. //在每个城市加一个capitalize的标识代表首字母
  638. value.capitalize = self
  639. .makePy(value.name)[0]
  640. .toUpperCase()
  641. .substr(0, 1);
  642. if (!obj[value.capitalize]) {
  643. obj[value.capitalize] = true;
  644. arr.push(value.capitalize);
  645. }
  646. });
  647. if (val == "") {
  648. this.getAllFamily();
  649. } else {
  650. this.searchArr = newArr;
  651. this.letterArr = arr;
  652. }
  653. },
  654. //高亮行
  655. familyActive(name, code) {
  656. this.active = name
  657. this.code = code
  658. if(code) {
  659. let param = {
  660. data: {
  661. Orders: "sort asc,InfoPointCode asc",
  662. PageNumber: 1,
  663. PageSize: 500
  664. },
  665. type: code
  666. };
  667. this.rightLoading = true
  668. this.tabsFalg = false
  669. getDataDictionary(param, result => {
  670. this.rightLoading = false
  671. if (result.Result == "success") {
  672. this.tabsFalg = true
  673. this.labelKey = this.arrayCnt(result.Content)
  674. } else {
  675. this.dialogVisible = true;
  676. this.ajaxMsg = "请求出错";
  677. }
  678. });
  679. }
  680. },
  681. //处理头部函数
  682. arrayCnt(arr) {
  683. let first = {}
  684. //一级循环出来一级标签
  685. arr.map(item => {
  686. if (first[item.FirstName] && first[item.FirstName].length) {} else {
  687. first[item.FirstName] = []
  688. }
  689. first[item.FirstName].push({
  690. InfoPointName: item.InfoPointName,
  691. InfoPointCode: item.InfoPointCode,
  692. Visible: item.Visible,
  693. UnDisabled: item.UnDisabled,
  694. SecondName: item.SecondName? item.SecondName: ""
  695. })
  696. })
  697. //循环出第二级标签
  698. let sound = []
  699. for (let key in first) {
  700. let obj = {
  701. FirstName: key,
  702. details: {}
  703. }
  704. first[key].map(item => {
  705. if (!!obj.details[item.SecondName] && obj.details[item.SecondName].length) {
  706. } else {
  707. obj.details[item.SecondName] = []
  708. }
  709. obj.details[item.SecondName].push({
  710. InfoPointName: item.InfoPointName,
  711. InfoPointCode: item.InfoPointCode,
  712. Visible: item.Visible,
  713. UnDisabled: item.UnDisabled
  714. })
  715. })
  716. sound.push(obj)
  717. }
  718. //循环出制定的数据结构
  719. let newArr = sound.map(item => {
  720. let copyarr = Object.assign(item.details, {})
  721. for (let k in item.details) {
  722. if (item.details instanceof Array) {} else {
  723. item.details = []
  724. }
  725. item.details.push({
  726. SecondName: k,
  727. details: copyarr[k]
  728. })
  729. }
  730. return item
  731. })
  732. return newArr
  733. },
  734. //所选字母淡入淡出效果
  735. moveScroll(character) {
  736. const LetterBox = $("#letter");
  737. const Initials = $(".initials");
  738. Initials.css("background", "rgba(145,145,145,0.6)");
  739. if (self.timeOut) {
  740. clearTimeout(self.timeOut);
  741. }
  742. self.timeOut = setTimeout(function() {
  743. Initials.css("background", "rgba(145,145,145,0)");
  744. LetterBox.fadeOut();
  745. }, 1000);
  746. if (character == undefined) {
  747. $(".family_all").animate({
  748. scrollTop: "0px"
  749. }, 300); //点击第一个滚到顶部
  750. } else {
  751. if ($("#" + character).length > 0) {
  752. LetterBox.html(character).fadeIn();
  753. const LetterTop = document.getElementById(character).offsetTop;
  754. $(".family_all").animate({
  755. scrollTop: LetterTop
  756. }, 300);
  757. }
  758. }
  759. },
  760. //排序方法
  761. familySort() {
  762. let obj = {};
  763. let arr = [];
  764. const self = this;
  765. this.allFamily.forEach(function(value, index, array) {
  766. //在每个城市加一个capitalize的标识代表首字母
  767. value.capitalize = self
  768. .makePy(value.name)[0]
  769. .toUpperCase()
  770. .substr(0, 1);
  771. if (!obj[value.capitalize]) {
  772. obj[value.capitalize] = true;
  773. arr.push(value.capitalize);
  774. }
  775. });
  776. //字母列表排序
  777. this.letterArr = arr.sort();
  778. },
  779. //对字符串进行截取
  780. makePy(str) {
  781. if (typeof str != "string")
  782. throw new Error(-1, "函数makePy需要字符串类型参数!");
  783. let arrResult = new Array(); //保存中间结果的数组
  784. for (let i = 0, len = str.length; i < len; i++) {
  785. //获得unicode码
  786. let ch = str.charAt(i);
  787. //检查该unicode码是否在处理范围之内,在则返回该码对映汉字的拼音首字母,不在则调用其它函数处理
  788. arrResult.push(this.checkCh(ch));
  789. }
  790. //处理arrResult,返回所有可能的拼音首字母串数组
  791. return this.mkRslt(arrResult);
  792. },
  793. //处理中文字符
  794. checkCh(ch) {
  795. let uni = ch.charCodeAt(0);
  796. //如果不在汉字处理范围之内,返回原字符,也可以调用自己的处理函数
  797. if (uni > 40869 || uni < 19968) return ch; //dealWithOthers(ch);
  798. //检查是否是多音字,是按多音字处理,不是就直接在this.strChineseFirstPY字符串中找对应的首字母
  799. return this.oMultiDiff[uni] ?
  800. this.oMultiDiff[uni] :
  801. this.strChineseFirstPY.charAt(uni - 19968);
  802. },
  803. //对数组添加首字母
  804. mkRslt(arr) {
  805. let arrRslt = [""];
  806. for (let i = 0, len = arr.length; i < len; i++) {
  807. let str = arr[i];
  808. let strlen = str.length;
  809. if (strlen == 1) {
  810. for (let k = 0; k < arrRslt.length; k++) {
  811. arrRslt[k] += str;
  812. }
  813. } else {
  814. let tmpArr = arrRslt.slice(0);
  815. arrRslt = [];
  816. for (let k = 0; k < strlen; k++) {
  817. //复制一个相同的arrRslt
  818. let tmp = tmpArr.slice(0);
  819. //把当前字符str[k]添加到每个元素末尾
  820. for (let j = 0; j < tmp.length; j++) {
  821. tmp[j] += str.charAt(k);
  822. }
  823. //把复制并修改后的数组连接到arrRslt上
  824. arrRslt = arrRslt.concat(tmp);
  825. }
  826. }
  827. }
  828. return arrRslt;
  829. }
  830. },
  831. watch: {
  832. projectId(){
  833. this.getAllFamily()
  834. this.main = null
  835. this.active = ""
  836. this.code = ""
  837. this.tabsFalg = false
  838. }
  839. }
  840. };
  841. </script>
  842. <style lang="scss">
  843. #page-main .el-scrollbar .el-scrollbar__wrap .el-scrollbar__view {
  844. height: 100%;
  845. }
  846. #page-main .right_main .el-tabs__content{
  847. height: 100%;
  848. padding-top: 5px;
  849. overflow-y: auto;
  850. }
  851. nav .el-tabs__content{
  852. display: none;
  853. }
  854. nav .el-tabs__header {
  855. margin: 0;
  856. }
  857. nav .el-tabs--card>.el-tabs__header .el-tabs__item.is-active {
  858. border-top: 2px solid #409EFF;
  859. }
  860. nav .el-tabs--card>.el-tabs__header .el-tabs__item {
  861. border-top: 2px solid transparent;
  862. }
  863. </style>
  864. <style lang="scss" scoped>
  865. #family {
  866. overflow-y: hidden;
  867. height: 100%;
  868. display: flex;
  869. flex-direction: column;
  870. padding: 10px;
  871. background: #fff;
  872. select {
  873. height: 28px;
  874. line-height: 40px;
  875. option {
  876. height: 28px;
  877. }
  878. }
  879. header {
  880. height: 3rem;
  881. line-height: 3rem;
  882. margin: 0 0rem;
  883. box-sizing: border-box;
  884. padding-left: 10px;
  885. margin-bottom: 3px;
  886. }
  887. .family_all::-webkit-scrollbar{
  888. background: #FFF;
  889. }
  890. nav {
  891. flex: 1;
  892. display: flex;
  893. flex-direction: row;
  894. overflow: hidden;
  895. .tab-box{
  896. flex: 1;
  897. }
  898. .button-box{
  899. width: 200px;
  900. text-align: right;
  901. border-bottom: 1px solid #E4E7ED;
  902. }
  903. }
  904. main {
  905. // flex: 1;
  906. border: 1px solid #E4E7ED;
  907. border-top: none;
  908. height: calc(100% - 42px);
  909. overflow: hidden;
  910. position: relative;
  911. transform: translate(0, 0);
  912. .left_main {
  913. width: 350px;
  914. float: left;
  915. height: 100%;
  916. position: absolute;
  917. top: 0;
  918. bottom: 0;
  919. background-color: #fff;
  920. .family_all{
  921. overflow-y: auto;
  922. height: calc(100% - 60px);
  923. position: relative;
  924. }
  925. #letter {
  926. width: 100px;
  927. height: 100px;
  928. border-radius: 5px;
  929. font-size: 75px;
  930. color: #555;
  931. text-align: center;
  932. line-height: 100px;
  933. background: rgba(145, 145, 145, 0.6);
  934. position: fixed;
  935. left: 50%;
  936. top: 50%;
  937. margin: -50px 0px 0px -50px;
  938. z-index: 99;
  939. display: none;
  940. }
  941. .initials {
  942. position: fixed;
  943. top: 42px;
  944. left: 334px;
  945. height: 100%;
  946. width: 16px;
  947. text-align: center;
  948. font-size: 12px;
  949. padding-top: 30px;
  950. z-index: 99;
  951. background: white !important;
  952. li {
  953. cursor: pointer;
  954. font-size: 14px;
  955. }
  956. li:hover {
  957. color: #409eff;
  958. }
  959. }
  960. .family_title {
  961. font-size: 18px;
  962. font-weight: bold;
  963. padding: 5px 10px;
  964. background-color: #ccc;
  965. }
  966. .family_content {
  967. background-color: #fff;
  968. }
  969. .family_item {
  970. padding: 5px 10px;
  971. border-bottom: 1px solid #eee;
  972. color: #333;
  973. cursor: pointer;
  974. }
  975. .family_item:hover {
  976. background-color: #409eff;
  977. color: #fff;
  978. }
  979. .active {
  980. background-color: #409eff;
  981. color: #fff;
  982. }
  983. }
  984. .right_main {
  985. float: right;
  986. overflow-y: auto;
  987. width: calc(100% - 370px);
  988. padding-left: 10px;
  989. height: 100%;
  990. background-color: #fff;
  991. border-left: 1px solid #f5f5f5;
  992. .right_main_msg {
  993. padding-left: 10px;
  994. padding-top: 200px;
  995. font-size: 40px;
  996. font-weight: 600;
  997. }
  998. .label_main {
  999. p {
  1000. font-size: 18px;
  1001. padding-left: 30px;
  1002. color: #333;
  1003. line-height: 40px;
  1004. }
  1005. ul {
  1006. display: inline-block;
  1007. width: 230px;
  1008. line-height: 30px;
  1009. .el-checkbox{
  1010. width: 220px;
  1011. overflow: hidden;
  1012. white-space: nowrap;
  1013. text-overflow: ellipsis;
  1014. }
  1015. }
  1016. }
  1017. }
  1018. }
  1019. }
  1020. </style>