AssetInDetailList.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  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. <a-input placeholder="请输入资产编号" v-model="queryParam.assetNumber"></a-input>
  10. </a-form-item>
  11. </a-col>
  12. <a-col :xl="6" :lg="7" :md="8" :sm="24">
  13. <a-form-item label="资产名称">
  14. <a-input placeholder="请输入资产名称" v-model="queryParam.assetName"></a-input>
  15. </a-form-item>
  16. </a-col>
  17. <template v-if="toggleSearchStatus">
  18. <a-col :xl="6" :lg="7" :md="8" :sm="24">
  19. <a-form-item label="资产类别">
  20. <a-input placeholder="请输入资产类别" v-model="queryParam.assetsCategory"></a-input>
  21. </a-form-item>
  22. </a-col>
  23. <a-col :xl="6" :lg="7" :md="8" :sm="24">
  24. <a-form-item label="品牌">
  25. <a-input placeholder="请输入品牌" v-model="queryParam.brand"></a-input>
  26. </a-form-item>
  27. </a-col>
  28. <a-col :xl="6" :lg="7" :md="8" :sm="24">
  29. <a-form-item label="单位名称">
  30. <a-input placeholder="请输入单位名称" v-model="queryParam.unitName"></a-input>
  31. </a-form-item>
  32. </a-col>
  33. <a-col :xl="6" :lg="7" :md="8" :sm="24">
  34. <a-form-item label="规格型号">
  35. <a-input placeholder="请输入规格型号" v-model="queryParam.model"></a-input>
  36. </a-form-item>
  37. </a-col>
  38. <a-col :xl="6" :lg="7" :md="8" :sm="24">
  39. <a-form-item label="使用人">
  40. <a-input placeholder="请输入使用人" v-model="queryParam.user"></a-input>
  41. </a-form-item>
  42. </a-col>
  43. <a-col :xl="6" :lg="7" :md="8" :sm="24">
  44. <a-form-item label="使用部门">
  45. <a-input placeholder="请输入使用部门" v-model="queryParam.userDept"></a-input>
  46. </a-form-item>
  47. </a-col>
  48. <a-col :xl="6" :lg="7" :md="8" :sm="24">
  49. <a-form-item label="入库人">
  50. <a-input placeholder="请输入入库人" v-model="queryParam.operator"></a-input>
  51. </a-form-item>
  52. </a-col>
  53. <a-col :xl="6" :lg="7" :md="8" :sm="24">
  54. <a-form-item label="入库部门">
  55. <a-input placeholder="请输入入库部门" v-model="queryParam.operatorDept"></a-input>
  56. </a-form-item>
  57. </a-col>
  58. <a-col :xl="10" :lg="11" :md="12" :sm="24">
  59. <a-form-item label="入库日期">
  60. <j-date placeholder="请选择开始日期" class="query-group-cust" v-model="queryParam.operatorDate_begin"></j-date>
  61. <span class="query-group-split-cust"></span>
  62. <j-date placeholder="请选择结束日期" class="query-group-cust" v-model="queryParam.operatorDate_end"></j-date>
  63. </a-form-item>
  64. </a-col>
  65. </template>
  66. <a-col :xl="6" :lg="7" :md="8" :sm="24">
  67. <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
  68. <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
  69. <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
  70. <a @click="handleToggleSearch" style="margin-left: 8px">
  71. {{ toggleSearchStatus ? '收起' : '展开' }}
  72. <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
  73. </a>
  74. </span>
  75. </a-col>
  76. </a-row>
  77. </a-form>
  78. </div>
  79. <!-- 查询区域-END -->
  80. <!-- 操作按钮区域 -->
  81. <div class="table-operator">
  82. <a-button @click="handleMultiAdd" type="primary" icon="plus">新增</a-button>
  83. <!-- <a-button type="primary" icon="download" @click="handleExportXls('固定资产入库明细')">导出</a-button>
  84. <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
  85. <a-button type="primary" icon="import">导入</a-button>
  86. </a-upload> -->
  87. <a-dropdown v-if="selectedRowKeys.length > 0">
  88. <a-menu slot="overlay">
  89. <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
  90. </a-menu>
  91. <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
  92. </a-dropdown>
  93. </div>
  94. <!-- table区域-begin -->
  95. <div>
  96. <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
  97. <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
  98. <a style="margin-left: 24px" @click="onClearSelected">清空</a>
  99. </div>
  100. <a-table
  101. ref="table"
  102. size="middle"
  103. bordered
  104. rowKey="id"
  105. :columns="columns"
  106. :dataSource="dataSource"
  107. :pagination="ipagination"
  108. :loading="loading"
  109. :rowSelection="{fixed:true,selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
  110. @change="handleTableChange">
  111. <template slot="htmlSlot" slot-scope="text">
  112. <div v-html="text"></div>
  113. </template>
  114. <template slot="imgSlot" slot-scope="text">
  115. <span v-if="!text" style="font-size: 12px;font-style: italic;">无此图片</span>
  116. <img v-else :src="getImgView(text)" height="25px" alt="图片不存在" style="max-width:80px;font-size: 12px;font-style: italic;"/>
  117. </template>
  118. <template slot="fileSlot" slot-scope="text">
  119. <span v-if="!text" style="font-size: 12px;font-style: italic;">无此文件</span>
  120. <a-button
  121. v-else
  122. :ghost="true"
  123. type="primary"
  124. icon="download"
  125. size="small"
  126. @click="uploadFile(text)">
  127. 下载
  128. </a-button>
  129. </template>
  130. <span slot="action" slot-scope="text, record">
  131. <a @click="handleEdit(record)">编辑</a>
  132. <a-divider type="vertical" />
  133. <a-dropdown>
  134. <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
  135. <a-menu slot="overlay">
  136. <a-menu-item>
  137. <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
  138. <a>删除</a>
  139. </a-popconfirm>
  140. </a-menu-item>
  141. </a-menu>
  142. </a-dropdown>
  143. </span>
  144. </a-table>
  145. </div>
  146. <assetInDetail-modal ref="modalForm" @ok="modalFormOk"></assetInDetail-modal>
  147. <assetIn-modal ref="multiAddModalForm" @ok="modalFormOk"></assetIn-modal>
  148. </a-card>
  149. </template>
  150. <script>
  151. import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  152. import AssetInDetailModal from './modules/AssetInDetailModal'
  153. import AssetInModal from './modules/AssetInModal'
  154. export default {
  155. name: "AssetInDetailList",
  156. mixins:[JeecgListMixin],
  157. components: {
  158. AssetInDetailModal,
  159. AssetInModal
  160. },
  161. data () {
  162. return {
  163. description: '固定资产入库明细管理页面',
  164. // 表头
  165. columns: [
  166. {
  167. title: '#',
  168. dataIndex: '',
  169. key:'rowIndex',
  170. width:60,
  171. align:"center",
  172. customRender:function (t,r,index) {
  173. return parseInt(index)+1;
  174. }
  175. },
  176. {
  177. title:'资产编号',
  178. align:"center",
  179. dataIndex: 'assetNumber'
  180. },
  181. {
  182. title:'资产名称',
  183. align:"center",
  184. dataIndex: 'assetName'
  185. },
  186. {
  187. title:'资产类别',
  188. align:"center",
  189. dataIndex: 'assetsCategory'
  190. },
  191. {
  192. title:'品牌',
  193. align:"center",
  194. dataIndex: 'brand'
  195. },
  196. {
  197. title:'单位名称',
  198. align:"center",
  199. dataIndex: 'unitName'
  200. },
  201. {
  202. title:'规格型号',
  203. align:"center",
  204. dataIndex: 'model'
  205. },
  206. {
  207. title:'计量单位',
  208. align:"center",
  209. dataIndex: 'unit'
  210. },
  211. {
  212. title:'数量',
  213. align:"center",
  214. dataIndex: 'quantity'
  215. },
  216. {
  217. title:'金额',
  218. align:"center",
  219. dataIndex: 'amount'
  220. },
  221. {
  222. title:'使用年限',
  223. align:"center",
  224. dataIndex: 'exp'
  225. },
  226. {
  227. title:'购置日期',
  228. align:"center",
  229. dataIndex: 'purhcaseDate',
  230. customRender:function (text) {
  231. return !text?"":(text.length>10?text.substr(0,10):text)
  232. }
  233. },
  234. {
  235. title:'入库日期',
  236. align:"center",
  237. dataIndex: 'inDate',
  238. customRender:function (text) {
  239. return !text?"":(text.length>10?text.substr(0,10):text)
  240. }
  241. },
  242. {
  243. title:'存放地点',
  244. align:"center",
  245. dataIndex: 'place'
  246. },
  247. {
  248. title:'使用人',
  249. align:"center",
  250. dataIndex: 'user'
  251. },
  252. {
  253. title:'使用部门',
  254. align:"center",
  255. dataIndex: 'userDept'
  256. },
  257. {
  258. title:'资产状态',
  259. align:"center",
  260. dataIndex: 'state'
  261. },
  262. {
  263. title:'入库人',
  264. align:"center",
  265. dataIndex: 'operator'
  266. },
  267. {
  268. title:'入库部门',
  269. align:"center",
  270. dataIndex: 'operatorDept'
  271. },
  272. {
  273. title:'入库日期',
  274. align:"center",
  275. dataIndex: 'operatorDate'
  276. },
  277. {
  278. title: '操作',
  279. dataIndex: 'action',
  280. align:"center",
  281. scopedSlots: { customRender: 'action' }
  282. }
  283. ],
  284. url: {
  285. list: "/oa/assetInDetail/list",
  286. delete: "/oa/assetInDetail/delete",
  287. deleteBatch: "/oa/assetInDetail/deleteBatch",
  288. exportXlsUrl: "/oa/assetInDetail/exportXls",
  289. importExcelUrl: "oa/assetInDetail/importExcel",
  290. },
  291. dictOptions:{},
  292. }
  293. },
  294. computed: {
  295. importExcelUrl: function(){
  296. return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
  297. }
  298. },
  299. methods: {
  300. initDictConfig(){
  301. },
  302. handleMultiAdd: function () {
  303. this.$refs.multiAddModalForm.add();
  304. this.$refs.multiAddModalForm.title = "新增";
  305. this.$refs.multiAddModalForm.disableSubmit = false;
  306. this.$refs.multiAddModalForm.init();
  307. },
  308. }
  309. }
  310. </script>
  311. <style scoped>
  312. @import '~@assets/less/common.less';
  313. </style>