105 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <template>
 | |
| 	<div class="app-container">
 | |
| 		<base-table
 | |
| 			v-loading="dataListLoading"
 | |
| 			:table-props="tableProps"
 | |
| 			:page="listQuery.pageNo"
 | |
| 			:limit="listQuery.pageSize"
 | |
| 			:max-height="tableH"
 | |
| 			:table-data="tableData">
 | |
| 		</base-table>
 | |
| 		<pagination
 | |
| 			:limit.sync="listQuery.pageSize"
 | |
| 			:page.sync="listQuery.pageNo"
 | |
| 			:total="listQuery.total"
 | |
| 			@pagination="getDataList" />
 | |
| 	</div>
 | |
| </template>
 | |
| 
 | |
| <script>
 | |
| import basicPage from '@/mixins/basic-page';
 | |
| import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | |
| import { parseTime } from '@/filter/code-filter';
 | |
| import {
 | |
| 	deleteRawOthercostLog,
 | |
| 	getRawOthercostLogPage,
 | |
| 	exportRawOthercostLogExcel,
 | |
| } from '@/api/cost/costOthercostLog';
 | |
| import { getRawOthercostRulePage } from '@/api/cost/rawOthercostRule';
 | |
| 
 | |
| const tableProps = [
 | |
| 	{
 | |
| 		prop: 'otherCostName',
 | |
| 		label: '成本名称',
 | |
| 	},
 | |
| 	{
 | |
| 		prop: 'recTime',
 | |
| 		label: '日期',
 | |
| 		filter: (val) => parseTime(val, '{y}年{m}月{d}日'),
 | |
| 	},
 | |
| 	{
 | |
| 		prop: 'price',
 | |
| 		label: '成本金额',
 | |
| 		align: 'right',
 | |
| 	},
 | |
| 	{
 | |
| 		prop: 'remark',
 | |
| 		label: '备注',
 | |
| 	},
 | |
| ];
 | |
| 
 | |
| export default {
 | |
| 	mixins: [basicPage, tableHeightMixin],
 | |
| 	data() {
 | |
| 		return {
 | |
| 			urlOptions: {
 | |
| 				getDataListURL: getRawOthercostLogPage,
 | |
| 				deleteURL: deleteRawOthercostLog,
 | |
| 				exportURL: exportRawOthercostLogExcel,
 | |
| 			},
 | |
| 			tableProps,
 | |
| 			tableData: [],
 | |
| 		};
 | |
| 	},
 | |
| 	components: {
 | |
| 	},
 | |
| 	created() {
 | |
| 		const params = {
 | |
| 			pageNo: 1,
 | |
| 			pageSize: 100,
 | |
| 		};
 | |
| 		getRawOthercostRulePage(params).then((response) => {
 | |
| 			this.formConfig[0].selectOptions = response.data.list;
 | |
| 		});
 | |
| 	},
 | |
| 	methods: {
 | |
| 		buttonClick(val) {
 | |
| 			switch (val.btnName) {
 | |
| 				case 'search':
 | |
| 					this.listQuery.pageNo = 1;
 | |
| 					this.listQuery.pageSize = 10;
 | |
| 					this.listQuery.name = val.name||null;
 | |
| 					this.listQuery.startTime = val.searchTime ? val.searchTime[0] : null;
 | |
| 					this.listQuery.endTime = val.searchTime
 | |
| 						? val.searchTime[1].substr(0, 10) + ' 23:59:59'
 | |
| 						: null;
 | |
| 					this.getDataList();
 | |
| 					break;
 | |
| 				case 'add':
 | |
| 					this.addOrUpdateHandle();
 | |
| 					break;
 | |
| 				case 'export':
 | |
| 					this.listQuery.pageNo = 1;
 | |
| 					this.listQuery.pageSize = 10;
 | |
| 					this.listQuery.name = val.name;
 | |
| 					this.listQuery.recTime = val.searchTime;
 | |
| 					this.handleExport();
 | |
| 					break;
 | |
| 				default:
 | |
| 					console.log(val);
 | |
| 			}
 | |
| 		},
 | |
| 	},
 | |
| };
 | |
| </script>
 |