buildFamily.vue 45 KB

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