<template>
	<div class="page">
		<template-page v-if="isShowTab && !formDialog" ref="pageRef" :get-list="getList" :table-attributes="tableAttributes"
			:table-events="tableEvents" :operationColumnWidth="170" :options-evens-group="optionsEvensGroup"
			:moreParameters="moreParameters" :column-parsing="columnParsing" :operation="operation()" :exportList="exportList">
			<div slot="moreSearch">
				<el-radio-group v-model="status" size="mini" @change="changeType">
					<el-radio-button label="">全部</el-radio-button>
					<el-radio-button label="NO">未付款</el-radio-button>
					<el-radio-button label="WAIT">部分付款</el-radio-button>
					<el-radio-button label="OK">已完成</el-radio-button>
				</el-radio-group>
				<br><br>
			</div>
		</template-page>
		<div class="detail" v-if="formDialog">
			<detail :id="id" @back="backList" :formType="formDialogType" title="工程辅材收款详情"></detail>
		</div>
	</div>
</template>

<script>
import TemplatePage from '@/components/template/template-page-1.vue'
import detail from './detail.vue'
import import_mixin from '@/components/template/import_mixin.js'
import ImageUpload from '@/components/file-upload'
import { downloadFiles } from '@/utils/util'
import { required, mobileRequired, mobile, httpUrl, email } from '@/components/template/rules_verify.js'
import { listPage, pageExport } from "@/api/auxiliaryFittings/projectAuxiliaryManage";
import operation_mixin from '@/components/template/operation_mixin.js'
export default {
	components: { TemplatePage, ImageUpload, detail },
	mixins: [import_mixin, operation_mixin],
	data() {
		return {
			// 表格属性
			tableAttributes: {
				// 启用勾选列
				selectColumn: true
			},
			// 表格事件
			tableEvents: {
				'selection-change': this.selectionChange
			},
			// 勾选选中行
			recordSelected: [],
			/** 表单变量 */
			formDialogType: 0,
			formDialogTitles: ["新增", "编辑", "详情"],
			formDialog: false,
			id: '',
			status: 'NO',
			isShowTab: true
		}
	},
	computed: {
		// 事件组合
		optionsEvensGroup() {
			return [
				// [
				// 	[
				// 		this.optionsEvensAuth("add", {
				// 			click: this.addData
				// 		}),
				// 	]
				// ]
			]
		},
		// 更多参数
		moreParameters() {
			return []
		},
		formItems() { }
	},
	created(){},
	watch: {
		status(){
			this.isShowTab = false
			this.$nextTick(()=>{
				this.isShowTab = true
			})
		}
	},
	methods: {
		// 切换状态
		changeType(val) {
			this.$refs?.pageRef?.refreshList()
		},
		backList() {
			this.id = ''
			this.formDialog = false;
			this.$refs?.pageRef?.refreshList()
		},
		// 列表请求函数
		getList(p, cb) {
			try {
				var pam = JSON.parse(JSON.stringify(p))
				pam.params.push({ "param": "a.goods_type", "compare": "=", "value": 'M' }, { 'param': 'a.status', "compare": "=", "value": this.status })
				cb && cb(pam)
				return listPage(pam)
			} catch (error) {
				console.log(error)
			}
		},
		// 列表导出函数
		exportList: pageExport,
		// 表格列解析渲染数据更改
		columnParsing(item, defaultData) {
			return defaultData
		},
		// 监听勾选变化
		selectionChange(data) {
			this.recordSelected = data
		},

		operation() {
			return this.operationBtn({
				detail: {
					click: ({ row, index, column }) => {
						this.id = row.websitSalesManagerId
						this.formDialogType = 2
						this.openForm()
					}
				},
				sellOrderDetail: {
					click: ({ row, index, column }) => {
						this.$router.push({
							name: 'auxiliarySalesOrder',
							params: {
								pageName: row.orderEnginBaseId,
								pageType: '-',
								pageCode: row.orderEnginBaseId,
							},
						})
					}
				},
				returnGoodsDetail: {
					click: ({ row, index, column }) => {
						this.$router.push({
							name: 'auxiliarySalesReturnOrder',
							params: {
								pageName: row.orderEnginBaseId,
								pageType: '-',
								pageCode: row.orderEnginBaseId,
							},
						})
					}
				},
			})
		},

		openForm() {
			this.formDialog = true;
		}
	}
}
</script>

<style lang="scss" scoped>
.page {
	height: 100%;
}

.tab {
	padding: 20px 20px 0 20px;
}
</style>
