index.vue 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. <!--
  2. * @Author: zouwenying
  3. * @Date: 2020-10-22 11:08:44
  4. * @LastEditTime: 2021-04-28 08:49:01
  5. * @LastEditors: zwy
  6. * @Description: In User Settings Edit
  7. * @FilePath: \vue-manage-system-master\src\views\system\dictionarys\index.vue
  8. -->
  9. <script src="../../../../../../WEB/WEB/userCenter/src/router/index.js"></script>
  10. <template>
  11. <div class="main">
  12. <div>
  13. <div class="search">
  14. <el-input v-model="query.buildingName" placeholder="请输入楼栋名称" class="search-input" v-model.trim="mixins_query.keyWords"></el-input>
  15. <el-select v-model="query.communityName" placeholder="请选择社区名称">
  16. <el-option label="清空" value=""></el-option>
  17. <el-option v-for="(item,index) in communityList" :label="item.label" :value="item.id"></el-option>
  18. </el-select>
  19. <el-button type="primary" @click="mixins_search" class="search-btn" icon="el-icon-search">查询
  20. <!-- <i class="iconfont">&#xe6fc;</i> -->
  21. </el-button>
  22. <template>
  23. <el-tooltip
  24. class="item"
  25. effect="light"
  26. placement="bottom"
  27. content="导出"
  28. >
  29. <span class="zoniot_font item el-fl-right" @click="exportExcel()"
  30. >&#xe66d;</span
  31. >
  32. </el-tooltip>
  33. <el-dropdown
  34. type="primary"
  35. @command="addCommand"
  36. class="el-fl-right"
  37. >
  38. <span class="zoniot_font item el-fl-right">&#xe664;</span>
  39. <el-dropdown-menu
  40. slot="dropdown"
  41. hide-on-click="false"
  42. class="device-search-dropdown"
  43. >
  44. <el-dropdown-item command="add">单个添加</el-dropdown-item>
  45. <el-dropdown-item command="batchAdd">
  46. <div class="upload_div">
  47. <xk-upload
  48. class="upload_class"
  49. @callback="mixins_search"
  50. :params="{ importType: 7 }"
  51. >
  52. <span class="upload_text" slot="content">批量添加</span>
  53. </xk-upload>
  54. </div>
  55. </el-dropdown-item>
  56. <el-dropdown-item command="template">下载模板</el-dropdown-item>
  57. </el-dropdown-menu>
  58. </el-dropdown>
  59. </template>
  60. </div>
  61. <div class="dictionarys-wrap">
  62. <zz-table
  63. :cols="cols"
  64. :settings="{ showCheckbox: true, showIndex: true, stripe: true }"
  65. :loading="mixins_onQuery"
  66. :data="mixins_list"
  67. :pageset="mixins_pageset"
  68. @page-change="pageChange"
  69. @selection-change="selectionChange"
  70. >
  71. <template slot-scope="scope" slot="opt">
  72. <i @click="addOrEdit('edit', scope.index)" class="iconfont" style="color:#2787F1;margin-right:30px" v-txt-tip data-txt="编辑">&#xe645;</i>
  73. <i @click="deleteOne(scope.row.id)" class="iconfont" style="color:#FF7272" v-txt-tip data-txt="删除">&#xe63a;</i>
  74. </template>
  75. </zz-table>
  76. </div>
  77. </div>
  78. <!-- <addplan :userinfo='userinfo' v-if="showaddDialog" @close='showaddDialog = false' @refresh='mixins_search'></addplan>-->
  79. </div>
  80. </template>
  81. <script>
  82. import list from '@utils/list.js';
  83. // import addplan from './pageJump/addoredit';
  84. export default {
  85. mixins: [list],
  86. data() {
  87. return {
  88. communityList:[],//社区名称下拉列表
  89. query:{
  90. buildingName:'',//楼栋名称
  91. communityName:'',//社区名称
  92. },
  93. cols: [
  94. {
  95. label: '所属社区',
  96. prop: 'dictCode'
  97. },
  98. {
  99. label: '楼栋名称',
  100. prop: 'dictName'
  101. },
  102. {
  103. label: '单元数',
  104. prop: 'remark'
  105. },
  106. {
  107. label: '楼栋类型',
  108. prop: 'remark'
  109. },
  110. {
  111. label: '建筑结构',
  112. prop: 'remark'
  113. },
  114. {
  115. label: '楼层',
  116. prop: 'remark'
  117. },
  118. {
  119. label: '楼栋用途',
  120. prop: 'remark'
  121. },
  122. {
  123. label: '建成日期',
  124. prop: 'remark'
  125. },
  126. {
  127. label: '验收日期',
  128. prop: 'remark'
  129. },
  130. {
  131. label: '建筑面积',
  132. prop: 'remark'
  133. },
  134. {
  135. label: '使用面积',
  136. prop: 'remark'
  137. },
  138. {
  139. label: '操作',
  140. prop: 'opt',
  141. slot: 'opt'
  142. }
  143. ],
  144. selectRow: [],
  145. // showaddDialog:false,
  146. };
  147. },
  148. components: {
  149. // addplan
  150. // viewDetail
  151. },
  152. methods: {
  153. //获取社区名称下拉列表
  154. communityNameList(){
  155. this.communityList=[];
  156. let onOption='';
  157. this.$http.get('/assets/community/list', {}).then((res) => {
  158. res.data.map(res=>{
  159. onOption={
  160. label:res.communityName,
  161. id:res.id
  162. }
  163. this.communityList.push(onOption)
  164. })
  165. });
  166. },
  167. addCommand(command) {
  168. if (command === "add") {
  169. // this.showaddDialog=true
  170. this.$router.push('/buildingManagement/pageJump/addoredit')
  171. return;
  172. }
  173. if (command === "template") {
  174. // this.__exportExcel("/installPlan/plan/downTemplate");
  175. return;
  176. }
  177. },
  178. //批量删除
  179. deleteRow() {
  180. let ids = [];
  181. if (!this.selectRow.length) {
  182. this.$message.error('您尚未选择要删除的记录,请选择后再操作批量删除');
  183. return;
  184. }
  185. this.selectRow.forEach((v) => {
  186. ids.push(v.id);
  187. });
  188. this.$msgBox(`刪除楼栋`, '删除后将无法恢复,请问是否继续?')
  189. .then(() => {
  190. this.$http.post('/dict/delete', ids).then(({ status, data, msg }) => {
  191. if (0 === status) {
  192. this.$message({
  193. type: 'success',
  194. message: '删除成功!'
  195. });
  196. this.mixins_search();
  197. } else {
  198. this.$message.error('删除失败!');
  199. }
  200. });
  201. })
  202. .catch(() => {
  203. });
  204. },
  205. //单个删除
  206. deleteOne(ids) {
  207. this.$msgBox(`刪除字典`, '删除后将无法恢复,请问是否继续?')
  208. .then(() => {
  209. this.$http.post('/dict/delete', [ids]).then(({ status, data, msg }) => {
  210. if (0 === status) {
  211. this.$message({
  212. type: 'success',
  213. message: '删除成功!'
  214. });
  215. this.mixins_search();
  216. } else {
  217. this.$message.error('删除失败!');
  218. }
  219. });
  220. })
  221. .catch(() => {
  222. this.$message({
  223. type: 'info',
  224. message: '已取消删除'
  225. });
  226. });
  227. },
  228. selectionChange(val) {
  229. this.selectRow = val;
  230. },
  231. mixins_search(){
  232. this.communityList()
  233. },
  234. //获取列表数据
  235. communityList(){
  236. let submitData={
  237. "pageNum": 1,
  238. "pageSize": 10
  239. }
  240. this.$http.post('/sc-community-web/assets/building/page', submitData).then((data) => {
  241. this.mixins_list=data.data.list;
  242. this.mixins_onQuery=false;
  243. }).catch(function () {
  244. });
  245. }
  246. },
  247. created() {
  248. this.communityNameList();
  249. this.communityList();
  250. this.mixins_dataUrl = '/dict/selectPage';
  251. this.mixins_query = {
  252. keyWords: ''
  253. };
  254. // this.mixins_search();
  255. }
  256. };
  257. </script>
  258. <style lang="scss" scoped>
  259. </style>