index.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. <!--合规性分析-->
  2. <template >
  3. <div class="ghzc siteselection">
  4. <div class="innerContainer leftPane" v-drag @click.native.stop>
  5. <h2 class="Pangetitle darg-div">
  6. <span class="pange_text">智能规划选址</span>
  7. </h2>
  8. <el-tabs
  9. type="border-card"
  10. class="xz_box"
  11. v-model="activeTabs"
  12. stretch
  13. @tab-click="tabClick"
  14. >
  15. <el-tab-pane label="辅助选址" name="fzxz">
  16. <FZXZ
  17. v-loading="loading"
  18. @updateParent="changeData"
  19. ref="fzxz"
  20. ></FZXZ>
  21. </el-tab-pane>
  22. <el-tab-pane label="历史记录" name="lsju">
  23. <Lsjl
  24. :rzBsm="rzBsm"
  25. :activeTabs="activeTabs"
  26. @updateParent="changeData"
  27. type="ghxz"
  28. ref="lsju"
  29. ></Lsjl>
  30. </el-tab-pane>
  31. <!-- :disabled="activeTabs != 'scjg'" -->
  32. <el-tab-pane
  33. label="选址结果"
  34. :disabled="activeTabs != 'xzjg'"
  35. name="xzjg"
  36. >
  37. <div v-drag style="height: 100%">
  38. <XZJG
  39. :activeTabs="activeTabs"
  40. :loading="loading"
  41. :rwBsm="rwBsm"
  42. :rzMc="nowObj.xmmc"
  43. ref="xzjg"
  44. ></XZJG>
  45. </div>
  46. </el-tab-pane>
  47. </el-tabs>
  48. </div>
  49. <RzDtails
  50. :rzBsm="rzBsm"
  51. :rzMc="nowObj.xmmc"
  52. @updateParent="changeData"
  53. ></RzDtails>
  54. </div>
  55. </template>
  56. <script>
  57. import FZXZ from "./components/fzxz.vue";
  58. import XZJG from "./components/xzjg.vue";
  59. import Lsjl from "../complianceAnalysis/components/lsjl.vue";
  60. import RzDtails from "../complianceAnalysis/components/rzDtails.vue";
  61. export default {
  62. name: "siteselection",
  63. components: {
  64. FZXZ,
  65. Lsjl,
  66. XZJG,
  67. RzDtails,
  68. },
  69. data() {
  70. return {
  71. activeTabs: "fzxz",
  72. rzBsm: "",
  73. rwBsm: "",
  74. nowObj: {},
  75. rzMc: "",
  76. loading: false,
  77. };
  78. },
  79. created() {},
  80. computed: {
  81. query() {
  82. return this.$route.query.rwbsm;
  83. },
  84. },
  85. mounted() {},
  86. methods: {
  87. changeData(name, updata) {
  88. this[name] = updata;
  89. },
  90. tabClick(evt) {
  91. this.activeTabs = evt.name;
  92. },
  93. },
  94. watch: {
  95. activeTabs(newValue) {
  96. if (newValue != "fzxz") this.$refs.fzxz.reset();
  97. if (newValue != "lsju") this.$refs.lsju.reset();
  98. if (newValue != "xzjg") this.$refs.xzjg.reset();
  99. if (newValue == "lsju") {
  100. this.$refs.lsju.reset();
  101. this.$refs.lsju.changeForm();
  102. }
  103. if (newValue == "xzjg") {
  104. this.$nextTick(() => {
  105. this.$refs.xzjg.GetXzjg();
  106. });
  107. }
  108. },
  109. query(newVal, oldVal) {
  110. if (newVal) {
  111. this.rwBsm = newVal;
  112. this.$refs.xzjg.reset();
  113. this.activeTabs = "xzjg";
  114. this.$refs.xzjg.GetXzjg();
  115. }
  116. },
  117. },
  118. };
  119. </script>
  120. <style lang="scss" scoped>
  121. .siteselection {
  122. .xz_box {
  123. .title {
  124. padding: 8px;
  125. margin-bottom: 10px;
  126. span {
  127. color: #605e5e;
  128. padding-left: 8px;
  129. border-left: 3px solid #3a8ee6;
  130. }
  131. button {
  132. padding: 0;
  133. float: right;
  134. margin-right: 5px;
  135. min-height: unset;
  136. }
  137. }
  138. .el-form-item {
  139. margin-bottom: 0;
  140. }
  141. .xz_table {
  142. height: 180px;
  143. /deep/.el-table__header-wrapper {
  144. height: 40px;
  145. }
  146. /deep/.el-table__body-wrapper {
  147. height: calc(100% - 40px);
  148. overflow-y: auto;
  149. }
  150. }
  151. .xz_type {
  152. margin-bottom: 10px;
  153. justify-content: space-evenly;
  154. div {
  155. i {
  156. font-size: 36px;
  157. }
  158. }
  159. }
  160. .xz-btn {
  161. width: 100%;
  162. // background: #efefef;
  163. position: absolute;
  164. height: 55px;
  165. z-index: 999;
  166. bottom: 0;
  167. right: 0;
  168. display: flex;
  169. align-items: center;
  170. }
  171. .jg-box {
  172. td {
  173. padding-left: 15px;
  174. }
  175. .el-collapse-item__header {
  176. span {
  177. position: absolute;
  178. right: 40px;
  179. }
  180. }
  181. .el-collapse-item__content {
  182. padding-bottom: 0;
  183. }
  184. }
  185. }
  186. .tckz {
  187. position: absolute;
  188. left: auto;
  189. right: 10px;
  190. bottom: 100px;
  191. text-align: center;
  192. // background-color: rgba(255, 255, 255, 0.85);
  193. padding-top: 5px;
  194. padding-bottom: 5px;
  195. padding-right: 5px;
  196. padding-left: 5px;
  197. border-radius: 5px;
  198. > div {
  199. padding: 5px;
  200. text-align: left;
  201. }
  202. }
  203. }
  204. </style>
  205. <style lang="scss">
  206. @import "../complianceAnalysis//ghzc.scss";
  207. </style>