4a24bd2abead920b791f9d06399d635b7d5753a0.svn-base 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. <template>
  2. <a-card :bordered="false">
  3. <!-- 查询区域 -->
  4. <div class="table-page-search-wrapper">
  5. <a-form layout="inline" @keyup.enter.native="searchQuery">
  6. <a-row :gutter="24">
  7. <a-col :xl="6" :lg="7" :md="8" :sm="24">
  8. <a-form-item label="图层名称">
  9. <j-search-select-tag placeholder="请选择图层名称" v-model="queryParam.layername"
  10. dict="rescatalog,alias,name"/>
  11. </a-form-item>
  12. </a-col>
  13. <a-col :xl="6" :lg="7" :md="8" :sm="24">
  14. <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
  15. <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
  16. <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
  17. </span>
  18. </a-col>
  19. </a-row>
  20. </a-form>
  21. </div>
  22. <!-- 查询区域-END -->
  23. <!-- 操作按钮区域 -->
  24. <div class="table-operator">
  25. <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
  26. <a-button type="primary" icon="download" @click="handleExportXls('图层查询展示字段')">导出</a-button>
  27. <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
  28. :action="importExcelUrl" @change="handleImportExcel">
  29. <a-button type="primary" icon="import">导入</a-button>
  30. </a-upload>
  31. <!-- 高级查询区域 -->
  32. <j-super-query :fieldList="superFieldList" ref="superQueryModal"
  33. @handleSuperQuery="handleSuperQuery"></j-super-query>
  34. <a-dropdown v-if="selectedRowKeys.length > 0">
  35. <a-menu slot="overlay">
  36. <a-menu-item key="1" @click="batchDel">
  37. <a-icon type="delete"/>
  38. 删除
  39. </a-menu-item>
  40. </a-menu>
  41. <a-button style="margin-left: 8px"> 批量操作
  42. <a-icon type="down"/>
  43. </a-button>
  44. </a-dropdown>
  45. </div>
  46. <!-- table区域-begin -->
  47. <div>
  48. <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
  49. <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a
  50. style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
  51. <a style="margin-left: 24px" @click="onClearSelected">清空</a>
  52. </div>
  53. <a-table
  54. ref="table"
  55. size="middle"
  56. :scroll="{x:true}"
  57. bordered
  58. rowKey="id"
  59. :columns="columns"
  60. :dataSource="dataSource"
  61. :pagination="ipagination"
  62. :loading="loading"
  63. :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
  64. class="j-table-force-nowrap"
  65. @change="handleTableChange">
  66. <template slot="htmlSlot" slot-scope="text">
  67. <div v-html="text"></div>
  68. </template>
  69. <template slot="imgSlot" slot-scope="text">
  70. <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
  71. <img v-else :src="getImgView(text)" height="25px" alt=""
  72. style="max-width:80px;font-size: 12px;font-style: italic;"/>
  73. </template>
  74. <template slot="fileSlot" slot-scope="text">
  75. <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
  76. <a-button
  77. v-else
  78. :ghost="true"
  79. type="primary"
  80. icon="download"
  81. size="small"
  82. @click="downloadFile(text)">
  83. 下载
  84. </a-button>
  85. </template>
  86. <span slot="action" slot-scope="text, record">
  87. <a @click="handleEdit(record)">编辑</a>
  88. <a-divider type="vertical"/>
  89. <a-dropdown>
  90. <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
  91. <a-menu slot="overlay">
  92. <a-menu-item>
  93. <a @click="handleDetail(record)">详情</a>
  94. </a-menu-item>
  95. <a-menu-item>
  96. <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
  97. <a>删除</a>
  98. </a-popconfirm>
  99. </a-menu-item>
  100. </a-menu>
  101. </a-dropdown>
  102. </span>
  103. </a-table>
  104. </div>
  105. <layerfields-modal ref="modalForm" @ok="modalFormOk"></layerfields-modal>
  106. </a-card>
  107. </template>
  108. <script>
  109. import '@/assets/less/TableExpand.less'
  110. import {mixinDevice} from '@/utils/mixin'
  111. import {JeecgListMixin} from '@/mixins/JeecgListMixin'
  112. import LayerfieldsModal from './modules/LayerfieldsModal'
  113. import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
  114. import {filterObj} from "@/utils/util";
  115. export default {
  116. name: 'LayerfieldsList',
  117. mixins: [JeecgListMixin, mixinDevice],
  118. components: {
  119. LayerfieldsModal
  120. },
  121. data() {
  122. return {
  123. description: '图层查询展示字段管理页面',
  124. // 表头
  125. columns: [
  126. {
  127. title: '序号',
  128. dataIndex: '',
  129. key: 'rowIndex',
  130. width: 60,
  131. align: "center",
  132. customRender: function (t, r, index) {
  133. return parseInt(index) + 1;
  134. }
  135. },
  136. {
  137. title: '图层名称',
  138. align: "center",
  139. dataIndex: 'layername_dictText'
  140. },
  141. {
  142. title: '字段名',
  143. align: "center",
  144. dataIndex: 'name'
  145. },
  146. {
  147. title: '字段展示名',
  148. align: "center",
  149. dataIndex: 'alias'
  150. },
  151. {
  152. title: '展示顺序',
  153. align: "center",
  154. dataIndex: 'xh'
  155. },
  156. {
  157. title: '操作',
  158. dataIndex: 'action',
  159. align: "center",
  160. fixed: "right",
  161. width: 147,
  162. scopedSlots: {customRender: 'action'}
  163. }
  164. ],
  165. url: {
  166. list: "/resManager.fields/layerfields/list",
  167. delete: "/resManager.fields/layerfields/delete",
  168. deleteBatch: "/resManager.fields/layerfields/deleteBatch",
  169. exportXlsUrl: "/resManager.fields/layerfields/exportXls",
  170. importExcelUrl: "resManager.fields/layerfields/importExcel",
  171. },
  172. dictOptions: {},
  173. superFieldList: [],
  174. isorter: {
  175. column: 'layername,xh',
  176. order: 'asc',
  177. }
  178. }
  179. },
  180. created() {
  181. this.getSuperFieldList();
  182. },
  183. computed: {
  184. importExcelUrl: function () {
  185. return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
  186. },
  187. },
  188. methods: {
  189. initDictConfig() {
  190. },
  191. getSuperFieldList() {
  192. let fieldList = [];
  193. fieldList.push({
  194. type: 'sel_search',
  195. value: 'layername',
  196. text: '图层名称',
  197. dictTable: 'rescatalog',
  198. dictText: 'alias',
  199. dictCode: 'name'
  200. })
  201. fieldList.push({type: 'string', value: 'name', text: '字段名', dictCode: ''})
  202. fieldList.push({type: 'string', value: 'alias', text: '字段展示名', dictCode: ''})
  203. fieldList.push({type: 'int', value: 'xh', text: '展示顺序', dictCode: ''})
  204. this.superFieldList = fieldList
  205. },
  206. }
  207. }
  208. </script>
  209. <style scoped>
  210. @import '~@assets/less/common.less';
  211. </style>