buildFamily.vue 45 KB

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