a9eb8f9c2fff54aa0a409cade04a4c91cde2b71e.svn-base 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. <template>
  2. <a-card :bordered="false" :class="'cust-erp-sub-tab'">
  3. <!-- 操作按钮区域 -->
  4. <div class="table-operator" v-if="mainId">
  5. <a-button @click="handleAdd" v-has="'yxqk:add'" type="primary" icon="plus">新增</a-button>
  6. <a-button type="primary" icon="download" v-has="'yxqk:dc'" @click="handleExportXls('影响情况及消除或减轻影响措施')">导出</a-button>
  7. <a-upload
  8. name="file"
  9. :showUploadList="false"
  10. :multiple="false"
  11. :headers="tokenHeader"
  12. :action="importExcelUrl"
  13. @change="handleImportExcel">
  14. <a-button type="primary" v-has="'yxqk:dr'" icon="import">导入</a-button>
  15. </a-upload>
  16. <!-- 高级查询区域 -->
  17. <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
  18. <a-dropdown v-if="selectedRowKeys.length > 0">
  19. <a-menu slot="overlay">
  20. <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
  21. </a-menu>
  22. <a-button style="margin-left: 8px" v-has="'yxqk:batchDel'"> 批量操作 <a-icon type="down" /></a-button>
  23. </a-dropdown>
  24. </div>
  25. <!-- table区域-begin -->
  26. <div>
  27. <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
  28. <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
  29. <a style="margin-left: 24px" @click="onClearSelected">清空</a>
  30. </div>
  31. <a-table
  32. ref="table"
  33. size="middle"
  34. bordered
  35. rowKey="id"
  36. :scroll="{x:true}"
  37. :columns="columns"
  38. :dataSource="dataSource"
  39. :pagination="ipagination"
  40. :loading="loading"
  41. :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
  42. @change="handleTableChange">
  43. <template slot="xmmc" slot-scope="text,record">
  44. <a @click="handleDetail(record)">{{ text }}</a>
  45. </template>
  46. <template slot="htmlSlot" slot-scope="text">
  47. <div v-html="text"></div>
  48. </template>
  49. <template slot="imgSlot" slot-scope="text">
  50. <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
  51. <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
  52. </template>
  53. <template slot="fileSlot" slot-scope="text">
  54. <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
  55. <a-button
  56. v-else
  57. :ghost="true"
  58. type="primary"
  59. icon="download"
  60. size="small"
  61. @click="downloadFile(text)">
  62. 下载
  63. </a-button>
  64. </template>
  65. <span slot="action" slot-scope="text, record">
  66. <a-space>
  67. <a-button @click='handleEdit(record)' v-has="'yxqk:edit'" size='small' type='primary'>编辑</a-button>
  68. <a-popconfirm title='确定删除吗?' @confirm='() => handleDelete(record.id)'>
  69. <a-button size='small' v-has="'yxqk:del'" type='danger'>删除</a-button>
  70. </a-popconfirm>
  71. </a-space>
  72. </span>
  73. </a-table>
  74. </div>
  75. <rmYxqk-modal ref="modalForm" @ok="modalFormOk" :mainId="mainId" :xmmc="xmmc"></rmYxqk-modal>
  76. </a-card>
  77. </template>
  78. <script>
  79. import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  80. import RmYxqkModal from './modules/RmYxqkModal'
  81. export default {
  82. name: "RmYxqkList",
  83. mixins:[JeecgListMixin],
  84. components: { RmYxqkModal },
  85. props:{
  86. mainId:{
  87. type:String,
  88. default:'',
  89. required:false
  90. },
  91. xmmc: {
  92. type: String,
  93. default: '',
  94. required: false
  95. }
  96. },
  97. watch:{
  98. mainId:{
  99. immediate: true,
  100. handler(val) {
  101. if(!this.mainId){
  102. this.clearList()
  103. }else{
  104. this.queryParam['mainId'] = val
  105. this.loadData(1);
  106. }
  107. }
  108. }
  109. },
  110. data () {
  111. return {
  112. description: '项目信息管理页面',
  113. disableMixinCreated:true,
  114. // 表头
  115. columns: [
  116. {
  117. title: '序号',
  118. dataIndex: '',
  119. key:'rowIndex',
  120. width:60,
  121. align:"center",
  122. customRender:function (t,r,index) {
  123. return parseInt(index)+1;
  124. }
  125. },
  126. {
  127. title:'工程名称',
  128. align:"center",
  129. dataIndex: 'xmmc',
  130. scopedSlots: {customRender: 'xmmc'}
  131. },
  132. {
  133. title:'影响情况',
  134. align:"center",
  135. dataIndex: 'yxcs'
  136. },
  137. {
  138. title:'措施',
  139. align:"center",
  140. dataIndex: 'cs'
  141. },
  142. {
  143. title: '操作',
  144. dataIndex: 'action',
  145. align:"center",
  146. fixed:"right",
  147. width:147,
  148. scopedSlots: { customRender: 'action' },
  149. }
  150. ],
  151. url: {
  152. list: "/hzz.shjsgc.xmrk/rmAxxmxx/listRmYxqkByMainId",
  153. delete: "/hzz.shjsgc.xmrk/rmAxxmxx/deleteRmYxqk",
  154. deleteBatch: "/hzz.shjsgc.xmrk/rmAxxmxx/deleteBatchRmYxqk",
  155. exportXlsUrl: "/hzz.shjsgc.xmrk/rmAxxmxx/exportRmYxqk",
  156. importUrl: "/hzz.shjsgc.xmrk/rmAxxmxx/importRmYxqk",
  157. },
  158. dictOptions:{
  159. szsx:[],
  160. sfpjbf:[],
  161. sfbbsp:[],
  162. jszt:[],
  163. },
  164. superFieldList:[],
  165. }
  166. },
  167. created() {
  168. this.getSuperFieldList();
  169. },
  170. computed: {
  171. importExcelUrl(){
  172. return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`;
  173. }
  174. },
  175. methods: {
  176. clearList(){
  177. this.dataSource=[]
  178. this.selectedRowKeys=[]
  179. this.ipagination.current = 1
  180. },
  181. getSuperFieldList(){
  182. let fieldList=[];
  183. fieldList.push({type:'string',value:'xmmc',text:'项目名称',dictCode:''})
  184. fieldList.push({type:'string',value:'szsx',text:'所在水系',dictCode:'szsx'})
  185. fieldList.push({type:'string',value:'xzqh',text:'行政区划',dictCode:''})
  186. fieldList.push({type:'string',value:'xjqhdm',text:'县级区划代码',dictCode:''})
  187. fieldList.push({type:'double',value:'hzb',text:'横坐标',dictCode:''})
  188. fieldList.push({type:'double',value:'zzb',text:'纵坐标',dictCode:''})
  189. fieldList.push({type:'string',value:'xmfzr',text:'项目负责人',dictCode:''})
  190. fieldList.push({type:'string',value:'dh',text:'电话',dictCode:''})
  191. fieldList.push({type:'string',value:'lxqk',text:'立项情况',dictCode:''})
  192. fieldList.push({type:'string',value:'spnd',text:'审批年度',dictCode:''})
  193. fieldList.push({type:'string',value:'fhbz',text:'防洪标准',dictCode:''})
  194. fieldList.push({type:'string',value:'spdw',text:'审批单位',dictCode:''})
  195. fieldList.push({type:'string',value:'spjb',text:'审批级别',dictCode:''})
  196. fieldList.push({type:'string',value:'sfpjbf',text:'是否批建不符',dictCode:'yn'})
  197. fieldList.push({type:'string',value:'sfbbsp',text:'是否补办审批',dictCode:'yn'})
  198. fieldList.push({type:'string',value:'ztbzjs',text:'总体布置简述',dictCode:''})
  199. fieldList.push({type:'string',value:'jszt',text:'建设状态',dictCode:'gcjsqk'})
  200. fieldList.push({type:'string',value:'qt',text:'其他',dictCode:''})
  201. this.superFieldList = fieldList
  202. }
  203. }
  204. }
  205. </script>
  206. <style scoped>
  207. @import '~@assets/less/common.less';
  208. </style>