index.vue 51 KB

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