linwenxin 1 yıl önce
ebeveyn
işleme
b5ebac53b1

+ 271 - 256
src/views/auxiliaryFittings/settleAccountManagement/settleAccountWeixinPay/index.vue

@@ -1,24 +1,26 @@
 <template>
-	<template-page ref="pageRef" :get-list="getList" :table-attributes="tableAttributes" :table-events="tableEvents" :operationColumnWidth="120"
-	  :options-evens-group="optionsEvensGroup" :moreParameters="moreParameters" :column-parsing="columnParsing"
-	  :operation="operation()" :exportList="tabIndex==1?exportList1:exportList2">
-	  <div slot="moreSearch" style="margin-bottom: 10px;">
-		<el-radio-group v-model="tabIndex" size="mini" @change="changeType">
-			<el-radio-button label="1">汇总</el-radio-button>
-			<el-radio-button label="2">明细</el-radio-button>
-		</el-radio-group>
-	  </div>
-	  <div slot="moreSearch" v-if="tabIndex == 2">
-	    <el-radio-group v-model="status" size="mini" @change="changeType">
-	    	<el-radio-button label="">全部</el-radio-button>
-	    	<el-radio-button label="WAIT">待结算</el-radio-button>
-	    	<el-radio-button label="WAIT_ING">可提现</el-radio-button>
-			<el-radio-button label="ING">提现中</el-radio-button>
-			<el-radio-button label="OVER">已提现</el-radio-button>
-	    </el-radio-group>
-	    <br><br>
-	  </div>
-		<el-dialog title="详情" width="80%" :modal="true" :visible.sync="formDialog" :show-close="true" :close-on-click-modal="false" :modal-append-to-body="false" @close="formDialog = false;formData = {}">
+	<template-page ref="pageRef" v-if="tabIndexShow" :get-list="getList" :table-attributes="tableAttributes"
+		:table-events="tableEvents" :operationColumnWidth="120" :options-evens-group="optionsEvensGroup"
+		:moreParameters="moreParameters" :column-parsing="columnParsing" :operation="operation()"
+		:exportList="tabIndex == 1 ? exportList1 : exportList2">
+		<div slot="moreSearch" style="margin-bottom: 10px;">
+			<el-radio-group v-model="tabIndex" size="mini" @change="changeType">
+				<el-radio-button label="1">汇总</el-radio-button>
+				<el-radio-button label="2">明细</el-radio-button>
+			</el-radio-group>
+		</div>
+		<div slot="moreSearch" v-if="tabIndex == 2">
+			<el-radio-group v-model="status" size="mini" @change="changeType">
+				<el-radio-button label="">全部</el-radio-button>
+				<el-radio-button label="WAIT">待结算</el-radio-button>
+				<el-radio-button label="WAIT_ING">可提现</el-radio-button>
+				<el-radio-button label="ING">提现中</el-radio-button>
+				<el-radio-button label="OVER">已提现</el-radio-button>
+			</el-radio-group>
+			<br><br>
+		</div>
+		<el-dialog title="详情" width="80%" :modal="true" :visible.sync="formDialog" :show-close="true"
+			:close-on-click-modal="false" :modal-append-to-body="false" @close="formDialog = false; formData = {}">
 			<el-card class="box-card">
 				<div slot="header" class="clearfix">
 					<span>基础信息</span>
@@ -125,26 +127,31 @@
 						</tr>
 					</thead>
 					<tbody>
-						<tr v-for="(item,index) in formData.settlementOrderItemList" :key="index">
-							<td align="center">{{item.goodsName}}</td>
-							<td align="center">{{item.chargeType=='ACC'?(item.goodsType == 'M'?'辅材':'配件')+'物料':item.chargeType=='SERV'?'服务收费':''}}</td>
-							<td align="center">{{item.num}}</td>
-							<td align="center">{{item.goodsAmount}}</td>
-							<td align="center">{{item.totalAmount}}</td>
-							<td align="center">{{item.settlementType == 'OWN'?'自有':item.settlementType == 'OUT'?'外购':''}}</td>
-							<td align="center">{{(item.websitProceAmount*100 + item.workerProceAmount*100)/100}}</td>
-							<td align="center">{{item.workerAmount}}</td>
-							<td align="center">{{item.websitAmount}}</td>
+						<tr v-for="(item, index) in formData.settlementOrderItemList" :key="index">
+							<td align="center">{{ item.goodsName }}</td>
+							<td align="center">{{ item.chargeType == 'ACC' ? (item.goodsType ==
+								'M' ? '辅材' : '配件') + '物料' : item.chargeType == 'SERV' ? '服务收费' : '' }}</td>
+							<td align="center">{{ item.num }}</td>
+							<td align="center">{{ item.goodsAmount }}</td>
+							<td align="center">{{ item.totalAmount }}</td>
+							<td align="center">{{ item.settlementType == 'OWN' ? '自有' : item.settlementType == 'OUT' ? '外购' : '' }}</td>
+							<td align="center">{{ (item.websitProceAmount * 100 + item.workerProceAmount * 100) / 100 }}</td>
+							<td align="center">{{ item.workerAmount }}</td>
+							<td align="center">{{ item.websitAmount }}</td>
 						</tr>
 						<!-- <tr>
 							<td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
 						</tr> -->
 						<tr>
-							<td align="center">总计</td><td></td><td></td><td></td>
-							<td align="center">{{totalAmount}}</td><td></td>
-							<td align="center">{{commissionAmount}}</td>
-							<td align="center">{{workerAmount}}</td>
-							<td align="center">{{websitAmount}}</td>
+							<td align="center">总计</td>
+							<td></td>
+							<td></td>
+							<td></td>
+							<td align="center">{{ totalAmount }}</td>
+							<td></td>
+							<td align="center">{{ commissionAmount }}</td>
+							<td align="center">{{ workerAmount }}</td>
+							<td align="center">{{ websitAmount }}</td>
 						</tr>
 					</tbody>
 				</table>
@@ -167,239 +174,248 @@ import operation_mixin from '@/components/template/operation_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 { listPageV1,listPageV2,pageExport1, pageExport2, getDetail, refund, settleAccounts, withdraw } from "@/api/auxiliaryFittings/settleAccountWeixinPay";
+import { listPageV1, listPageV2, pageExport1, pageExport2, getDetail, refund, settleAccounts, withdraw } from "@/api/auxiliaryFittings/settleAccountWeixinPay";
 export default {
-  components: { TemplatePage, ImageUpload },
-  mixins: [import_mixin,operation_mixin],
-  data() {
-    return {
-		// 表格属性
-		tableAttributes: {
-			// 启用勾选列
-			selectColumn: true
-		},
-		// 表格事件
-		tableEvents: {
-			'selection-change': this.selectionChange
-		},
-		// 勾选选中行
-		recordSelected: [],
-		formDialogType: 0,
-		formDialogTitles: ["新增","编辑", "详情"],
-		formDialog: false,
-		formData: {},
-		status: '',
-		totalAmount: 0,
-		workerAmount: 0,
-		websitAmount: 0,
-		commissionAmount: 0,
-		tabIndex: 1,
-		workerId: '',
-		websitId: ''
-    }
-  },
-  computed: {
-	  // 事件组合
-	  optionsEvensGroup() {
-	  	return [
-	  		[
-	  			[
-	  				this.optionsEvensAuth("bulkSettlement", {
-						isRole: this.tabIndex== 2,
-	  					click: () => {
-	  						this.batchSettleAccounts()
-	  					}
-	  				})
-	  			],
-	  		],
-			[
+	components: { TemplatePage, ImageUpload },
+	mixins: [import_mixin, operation_mixin],
+	data() {
+		return {
+			// 表格属性
+			tableAttributes: {
+				// 启用勾选列
+				selectColumn: true
+			},
+			// 表格事件
+			tableEvents: {
+				'selection-change': this.selectionChange
+			},
+			// 勾选选中行
+			recordSelected: [],
+			formDialogType: 0,
+			formDialogTitles: ["新增", "编辑", "详情"],
+			formDialog: false,
+			formData: {},
+			status: '',
+			totalAmount: 0,
+			workerAmount: 0,
+			websitAmount: 0,
+			commissionAmount: 0,
+			tabIndex: 1,
+			workerId: '',
+			websitId: '',
+			tabIndexShow: true
+		}
+	},
+	watch: {
+		tabIndex() {
+			this.tabIndexShow = false
+			this.$nextTick(() => {
+				this.tabIndexShow = true
+			})
+		}
+	},
+	computed: {
+		// 事件组合
+		optionsEvensGroup() {
+			return [
 				[
-					this.optionsEvensAuth("bulkWithdrawal", {
-						isRole: this.tabIndex== 2,
-						click: () => {
-							this.batchWithdraw()
-						}
-					})
+					[
+						this.optionsEvensAuth("bulkSettlement", {
+							isRole: this.tabIndex == 2,
+							click: () => {
+								this.batchSettleAccounts()
+							}
+						})
+					],
 				],
+				[
+					[
+						this.optionsEvensAuth("bulkWithdrawal", {
+							isRole: this.tabIndex == 2,
+							click: () => {
+								this.batchWithdraw()
+							}
+						})
+					],
+				]
 			]
-	  	]
-	  },
-    // 更多参数
-    moreParameters() {
-      return []
-    }
-  },
-  methods: {
-	// 切换状态
-	changeType(val) {
-		this.workerId = ''
-		this.websitId = ''
-	  this.$refs.pageRef.refreshList()
-	},
-    // 列表请求函数
-	getList(p) {
-	  try {
-	    var pam = JSON.parse(JSON.stringify(p))
-		pam.params.push({ "param": "a.pay_type", "compare": "=", "value": 'WECHAT' })
-	    if (this.status && this.tabIndex==2) {
-			pam.params.push({ "param": "a.status", "compare": "=", "value": this.status })
-	    }
-		if(this.workerId){
-			pam.params.push({ "param": "a.websit_id", "compare": "=", "value": this.websitId },{ "param": "a.worker_id", "compare": "=", "value": this.workerId })
+		},
+		// 更多参数
+		moreParameters() {
+			return []
 		}
-	    return this.tabIndex==1?listPageV1(pam):listPageV2(pam)
-	  } catch (error) {
-	    console.log(error)
-	  }
 	},
-    // 列表导出函数
-    exportList1: pageExport1,
-	exportList2: pageExport2,
-    // 表格列解析渲染数据更改
-    columnParsing(item, defaultData) {
-		return defaultData
-    },
-    // 监听勾选变化
-    selectionChange(data) {
-      this.recordSelected = data
-    },
-	openForm() {
-	  this.formDialog = true;
-	},
-	formCancel() {
-	  this.$refs.formRef.$refs.inlineForm.clearValidate()
-	  this.$data.formData = this.$options.data().formData
-	  this.formDialog = false
-	},
-	// 表格操作列
-	operation() {
-		return this.operationBtn({
-			detail: {
-				btnType: 'text',
-				name: ({ row, index, column }) => {
-					return this.tabIndex==1?'查看明细':'详情'
+	methods: {
+		// 切换状态
+		changeType(val) {
+			this.workerId = ''
+			this.websitId = ''
+			this.$refs.pageRef.refreshList()
+		},
+		// 列表请求函数
+		getList(p) {
+			try {
+				var pam = JSON.parse(JSON.stringify(p))
+				pam.params.push({ "param": "a.pay_type", "compare": "=", "value": 'WECHAT' })
+				if (this.status && this.tabIndex == 2) {
+					pam.params.push({ "param": "a.status", "compare": "=", "value": this.status })
+				}
+				if (this.workerId) {
+					pam.params.push({ "param": "a.websit_id", "compare": "=", "value": this.websitId }, { "param": "a.worker_id", "compare": "=", "value": this.workerId })
+				}
+				return this.tabIndex == 1 ? listPageV1(pam) : listPageV2(pam)
+			} catch (error) {
+				console.log(error)
+			}
+		},
+		// 列表导出函数
+		exportList1: pageExport1,
+		exportList2: pageExport2,
+		// 表格列解析渲染数据更改
+		columnParsing(item, defaultData) {
+			return defaultData
+		},
+		// 监听勾选变化
+		selectionChange(data) {
+			this.recordSelected = data
+		},
+		openForm() {
+			this.formDialog = true;
+		},
+		formCancel() {
+			this.$refs.formRef.$refs.inlineForm.clearValidate()
+			this.$data.formData = this.$options.data().formData
+			this.formDialog = false
+		},
+		// 表格操作列
+		operation() {
+			return this.operationBtn({
+				detail: {
+					btnType: 'text',
+					name: ({ row, index, column }) => {
+						return this.tabIndex == 1 ? '查看明细' : '详情'
+					},
+					click: ({ row, index, column }) => {
+						if (this.tabIndex == 1) {
+							this.workerId = row.workerId
+							this.websitId = row.websitId
+							this.tabIndex = 2
+							this.$refs.pageRef.refreshList()
+						} else {
+							this.totalAmount = 0
+							this.workerAmount = 0
+							this.websitAmount = 0
+							this.commissionAmount = 0
+							getDetail({ id: row.settlementOrderId }).then(res => {
+								Object.assign(this.formData, res.data)
+								res.data.settlementOrderItemList.forEach(item => {
+									this.totalAmount += (item.totalAmount * 100 + this.totalAmount * 100) / 100
+									this.workerAmount = (item.workerAmount * 100 + this.workerAmount * 100) / 100
+									this.websitAmount += (item.websitAmount * 100 + this.websitAmount * 100) / 100
+									this.commissionAmount += (item.websitProceAmount * 100 + item.workerProceAmount * 100 + this.commissionAmount * 100) / 100
+								})
+								this.formDialogType = 1
+								this.openForm()
+							})
+						}
+					}
 				},
-				click: ({ row, index, column }) => {
-					if(this.tabIndex==1){
-						this.workerId = row.workerId
-						this.websitId = row.websitId
-						this.tabIndex = 2
-						this.$refs.pageRef.refreshList()
-					}else{
-						this.totalAmount = 0
-						this.workerAmount = 0
-						this.websitAmount = 0
-						this.commissionAmount = 0
-						getDetail({ id: row.settlementOrderId }).then(res => {
-						  Object.assign(this.formData, res.data)
-						  res.data.settlementOrderItemList.forEach(item=>{
-							  this.totalAmount += (item.totalAmount*100 +  this.totalAmount*100)/100
-							  this.workerAmount = (item.workerAmount*100 +  this.workerAmount*100)/100
-							  this.websitAmount += (item.websitAmount*100 +  this.websitAmount*100)/100
-							  this.commissionAmount += (item.websitProceAmount*100 + item.workerProceAmount*100 +  this.commissionAmount*100)/100
-						  })
-						  this.formDialogType = 1
-						  this.openForm()
+				refund: {
+					btnType: 'text',
+					prompt: '确认是否退款?',
+					conditions: ({ row, index, column }) => {
+						return row.totalAmount > 0 && this.tabIndex == 2
+					},
+					click: ({ row, index, column }) => {
+						refund({ id: row.settlementOrderId }).then(res => {
+							if (res.code == 200) {
+								this.$message({ type: 'success', message: '退款成功!' })
+								this.$refs.pageRef.refreshList()
+							} else {
+								this.$message.error(res.msg);
+							}
 						})
 					}
-				}
-			},
-			refund: {
-				btnType: 'text',
-				prompt: '确认是否退款?',
-				conditions: ({ row, index, column }) => {
-					return row.totalAmount > 0 && this.tabIndex==2
 				},
-				click: ({ row, index, column }) => {
-					refund({ id: row.settlementOrderId }).then(res => {
-					  if (res.code == 200) {
-					  	this.$message({ type: 'success', message: '退款成功!' })
-					  	this.$refs.pageRef.refreshList()
-					  } else {
-					  	this.$message.error(res.msg);
-					  }
-					})
-				}
-			},
-			settlement: {
-				btnType: 'text',
-				conditions: ({ row, index, column }) => {
-					return row.status == 'WAIT' || this.tabIndex==1
+				settlement: {
+					btnType: 'text',
+					conditions: ({ row, index, column }) => {
+						return row.status == 'WAIT' || this.tabIndex == 1
+					},
+					click: ({ row, index, column }) => {
+						if (this.tabIndex == 1) {
+							this.status = 'WAIT'
+							this.workerId = row.workerId
+							this.websitId = row.websitId
+							this.tabIndex = 2
+							this.$refs.pageRef.refreshList()
+						} else {
+							this.settleAccounts(row.settlementOrderId)
+						}
+					}
 				},
-				click: ({ row, index, column }) => {
-					if(this.tabIndex==1){
-						this.status = 'WAIT'
-						this.workerId = row.workerId
-						this.websitId = row.websitId
-						this.tabIndex = 2
-						this.$refs.pageRef.refreshList()
-					}else{
-						this.settleAccounts(row.settlementOrderId)
+				withdraw: {
+					btnType: 'text',
+					conditions: ({ row, index, column }) => {
+						return row.status == 'WAIT_ING' && this.tabIndex == 2
+					},
+					click: ({ row, index, column }) => {
+						this.withdraw(row.settlementOrderId)
 					}
-				}
-			},
-			withdraw: {
-				btnType: 'text',
-				conditions: ({ row, index, column }) => {
-					return row.status == 'WAIT_ING' && this.tabIndex==2
 				},
-				click: ({ row, index, column }) => {
-					this.withdraw(row.settlementOrderId)
-				}
-			},
-		})
-	},
-	batchSettleAccounts(){
-		if(this.recordSelected.length == 0){
-			return this.$message.warning('请至少勾选一条数据!');
-		}
-		this.settleAccounts(this.recordSelected.map(item=>{return item.settlementOrderId}).join(','))
-	},
-	settleAccounts(id){
-		this.$confirm(`请确认是否结算选中数据, 是否继续?`, '提示', {
-			confirmButtonText: '确定',
-			cancelButtonText: '取消',
-			type: 'warning'
-		}).then(() => {
-			settleAccounts({
-				id
-			}).then(res => {
-				if (res.code == 200) {
-					this.$message({ type: 'success', message: `结算成功!` })
-					this.$refs.pageRef.refreshList()
-					this.formDialog = false
-				} else {
-					this.$message.error(res.msg);
-				}
 			})
-		});
-	},
-	batchWithdraw(){
-		if(this.recordSelected.length == 0){
-			return this.$message.warning('请至少勾选一条数据!');
-		}
-		this.withdraw(this.recordSelected.map(item=>{return item.settlementOrderId}).join(','))
-	},
-	withdraw(id){
-		this.$confirm(`请确认是否提现选中数据, 是否继续?`, '提示', {
-			confirmButtonText: '确定',
-			cancelButtonText: '取消',
-			type: 'warning'
-		}).then(() => {
-			withdraw({
-				id
-			}).then(res => {
-				if (res.code == 200) {
-					this.$message({ type: 'success', message: `提现成功!` })
-					this.$refs.pageRef.refreshList()
-					this.formDialog = false
-				} else {
-					this.$message.error(res.msg);
-				}
-			})
-		});
-	},
-  }
+		},
+		batchSettleAccounts() {
+			if (this.recordSelected.length == 0) {
+				return this.$message.warning('请至少勾选一条数据!');
+			}
+			this.settleAccounts(this.recordSelected.map(item => { return item.settlementOrderId }).join(','))
+		},
+		settleAccounts(id) {
+			this.$confirm(`请确认是否结算选中数据, 是否继续?`, '提示', {
+				confirmButtonText: '确定',
+				cancelButtonText: '取消',
+				type: 'warning'
+			}).then(() => {
+				settleAccounts({
+					id
+				}).then(res => {
+					if (res.code == 200) {
+						this.$message({ type: 'success', message: `结算成功!` })
+						this.$refs.pageRef.refreshList()
+						this.formDialog = false
+					} else {
+						this.$message.error(res.msg);
+					}
+				})
+			});
+		},
+		batchWithdraw() {
+			if (this.recordSelected.length == 0) {
+				return this.$message.warning('请至少勾选一条数据!');
+			}
+			this.withdraw(this.recordSelected.map(item => { return item.settlementOrderId }).join(','))
+		},
+		withdraw(id) {
+			this.$confirm(`请确认是否提现选中数据, 是否继续?`, '提示', {
+				confirmButtonText: '确定',
+				cancelButtonText: '取消',
+				type: 'warning'
+			}).then(() => {
+				withdraw({
+					id
+				}).then(res => {
+					if (res.code == 200) {
+						this.$message({ type: 'success', message: `提现成功!` })
+						this.$refs.pageRef.refreshList()
+						this.formDialog = false
+					} else {
+						this.$message.error(res.msg);
+					}
+				})
+			});
+		},
+	}
 }
 </script>
 
@@ -412,5 +428,4 @@ export default {
 	width: 160px;
 	font-weight: bold;
 	background-color: #f0f0f0;
-}
-</style>
+}</style>