一对多案列分享

<template>
	<div>
		<el-row>
			<el-col :span="24">
				<el-form :model="searchFormCli" inline>
					<el-form-item label="客户名:">
						<el-input v-model="searchFormCli.name" placeholder="请输入客户名"></el-input>
					</el-form-item>
					<el-form-item label="发卡银行:">
						<el-input v-model="searchFormCli.bname" placeholder="请输入发卡银行"></el-input>
					</el-form-item>
					<el-form-item>
						<el-button type="success" @click="handSearchCli">查询</el-button>
					</el-form-item>
				</el-form>
			</el-col>
		</el-row>
		<el-button type="primary" @click="openDialogCli">添加</el-button>
		<el-button type="danger" @click="deletesForm">批量删除</el-button>

		<el-table :data="tableData" @selection-change="handleSelectionChange">
			<el-table-column type="selection">
			</el-table-column>
			<el-table-column prop="cid" label="序号">
			</el-table-column>

			<el-table-column prop="name" label="客户名">
			</el-table-column>

			<el-table-column label="性别">
				<template slot-scope="scope">
					<span v-if="scope.row.sex==1"></span>
					<span v-else></span>
				</template>
			</el-table-column>

			<el-table-column prop="birthday" label="出生日期">
			</el-table-column>

			<el-table-column prop="bname" label="发卡银行">
			</el-table-column>
			<el-table-column label="操作">
				<template slot-scope="scope">
					<el-button type="info" size="mini">查看</el-button>
					<el-button type="warning" size="mini" @click="openUpdateDialogCli(scope.row)">修改</el-button>

				</template>
			</el-table-column>
		</el-table>
		<el-row>
			<el-col :span="24">
				<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="current"
				 :page-size="size" :page-sizes="sizes" layout="total, prev, pager, next" :total="total">
				</el-pagination>
			</el-col>
		</el-row>

		<!-- 添加的打开框 -->
		<el-dialog title="添加用户" :visible.sync="DialogCli">
			<el-form :model="saveFormCli">
				<el-form-item label="客户名:">
					<el-input v-model="saveFormCli.name" placeholder="请输入"></el-input>
				</el-form-item>
				<el-form-item label="性别:">
					<el-radio v-model="saveFormCli.sex" label="1" border></el-radio>
					<el-radio v-model="saveFormCli.sex" label="0" border></el-radio>
				</el-form-item>

				<el-form-item label="出生日期:">
					<el-date-picker v-model="saveFormCli.birthday"></el-date-picker>
				</el-form-item>

				<el-form-item label="发卡银行">

					<el-checkbox-group v-model="checkedBank" @change="handleCheckedCitiesChange">
						<el-checkbox v-for="bank in banks" :label="bank.bid">{{bank.name}}</el-checkbox>
					</el-checkbox-group>

				</el-form-item>

			</el-form>

			<span slot="footer" class="dialog-footer">
				<el-button @click="DialogCli = false">取 消</el-button>
				<el-button type="primary" @click="saveformCliBank">保存</el-button>
			</span>
		</el-dialog>
		<!-- 修改的打开框 -->
		<el-dialog title="修改用户" :visible.sync="UpdateDialogCli">
			<el-form :model="updateFormCli">

				<el-form-item label="客户名:">
					<el-input v-model="updateFormCli.name" placeholder="请输入"></el-input>
				</el-form-item>
				<el-form-item label="性别:">
					<el-radio v-model="updateFormCli.sex" label="1" border></el-radio>
					<el-radio v-model="updateFormCli.sex" label="0" border></el-radio>
				</el-form-item>

				<el-form-item label="出生日期:">
					<el-date-picker v-model="updateFormCli.birthday"></el-date-picker>
				</el-form-item>

				<el-form-item label="发卡银行">

					<el-checkbox-group v-model="checkedBank" @change="handleCheckedCitiesChange">
						<el-checkbox v-for="bank in banks" :label="bank.bid">{{bank.name}}</el-checkbox>
					</el-checkbox-group>

				</el-form-item>

			</el-form>

			<span slot="footer" class="dialog-footer">
				<el-button @click="UpdateDialogCli = false">取 消</el-button>
				<el-button type="primary" @click="updateformCliBank">保存</el-button>
			</span>
		</el-dialog>
	</div>
</template>

<script>
	export default {
		data() {
			return {
				cid: [],
				deleteCli: [],
				UpdateDialogCli: false,
				checkedBank: [],
				banks: [],
				DialogCli: false,
				size: 3,
				sizes: [3, 5, 8],
				total: 0,
				current: 1,
				tableData: [],
				searchFormCli: {
					name: '',
					bname: ''
				},
				saveFormCli: {
					name: '',
					sex: '',
					birthday: ''
				},
				updateFormCli: {
					bid: '',
					cid: 0,
					name: '',
					sex: '',
					birthday: ''
				}
			}
		},
		created() {
			this.initData();
		},
		methods: {
			initData() {
				this.axios.get('http://localhost:81/client/list', {
					params: {
						name: this.searchFormCli.name,
						bname: this.searchFormCli.bname,
						current: this.current,
						size: this.size,

					}
				}).then((response) => {
					this.tableData = response.data.data.records;
					this.total = response.data.data.total;
				})
			},
			handleSelectionChange(val) {
				this.deleteCli = val;

			},
			handSearchCli() {
				this.current = 1;
				this.initData();
			},
			handleSizeChange(val) {
				this.size = val;
				this.initData();
			},
			handleCurrentChange(val) {
				this.current = val;
				this.initData();
			},
			openDialogCli() {
				this.checkedBank = [];
				this.axios.get('http://localhost:81/bank/list').then((response) => {
					this.banks = response.data.data;
				});
				this.DialogCli = true;
			},
			handleCheckedCitiesChange(val) {
				this.checkedBank = val;

			},
			saveformCliBank() {
				this.saveFormCli.bid = this.checkedBank.map((bid) => bid).join(",");
				//console.log(this.saveFormCli+"1111111")
				this.axios.post('http://localhost:81/client/insert', this.saveFormCli).then((response) => {
					if (response.data.data) {
						this.$message({
							message: '用户添加成功',
							type: 'success'
						});
						this.DialogCli = false;
						this.initData();
					} else {
						this.$message.error("用户添加失败了");
					}
				});
			},
			openUpdateDialogCli(row) {
				this.checkedBank = [];
				console.log(row.bid + "1111");
				if (row.bid != null && row.bid != '') {
					//拆分
					let bids = row.bid.split(",");
					for (let i = 0; i < bids.length; i++) {
						let bid = bids[i];
						if (!isNaN(bid)) {
							this.checkedBank.push(parseInt(bid));
						}
					}
				}
				this.axios.get('http://localhost:81/bank/list').then((response) => {
					this.banks = response.data.data;
				});
				Object.assign(this.updateFormCli, row);
				if (row.sex == 1) {
					this.updateFormCli.sex = '1';
				} else {
					this.updateFormCli.sex = '0';
				}


				this.UpdateDialogCli = true;
			},
			updateformCliBank() {
				this.updateFormCli.bid = this.checkedBank.map((bid) => bid).join(",");
				//console.log(this.saveFormCli+"1111111")
				this.axios.post('http://localhost:81/client/update', this.updateFormCli).then((response) => {
					if (response.data.data) {
						this.$message({
							message: '用户修改成功',
							type: 'success'
						});
						this.UpdateDialogCli = false;
						this.initData();
					} else {
						this.$message.error("用户修改失败了");
					}
				});
			},
			/* 	deletesForm() {
								if (this.deleteCli.length > 0) {
									this.$confirm('你确定要删除选中的数据吗?', '提示', {
										confirmButtonText: '确定',
										cancelButtonText: '取消',
										type: 'warning',
										center: true
									}).then(() => {
				
										//删除用户ids
										let ids = this.deleteCli.map((row) => row.cid).join(",");
				
										this.axios.get('http://localhost:81/client/deletes', {
											params: {
												ids: ids
											}
										}).then((response) => {
											if(response.data.data){
												this.$message({
													type: 'success',
													message: '删除成功!'
												});
												
												//重新初始化数据值
												this.initData();
											}else{
												this.$message({
													type: 'info',
													message: '删除失败'
												});
											}
										});
				
									}).catch(() => {
										this.$message({
											type: 'info',
											message: '已取消删除'
										});
				
									});
								} else {
									this.$message.error('请选择你要删除的数据');
								}
							} */
			deletesForm() {

				this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
					confirmButtonText: '确定',
					cancelButtonText: '取消',
					type: 'warning'
				}).then(() => {
					let ids = this.deleteCli.map((row) => row.cid).join(",");

					console.log(ids + "1111")
					this.axios.get('http://localhost:81/client/deletes', {
						params: {
							ids: ids
						}
					}).then((res) => {
						if (res.data.data) {
							this.$message({
								type: 'success',
								message: '删除成功!'
							});

							//重新初始化数据值
							this.initData();

						} else {
							this.$message({
								type: 'info',
								message: '删除失败'
							});
						}
					})
				}).catch(() => {
					this.$message({
						type: 'info',
						message: '取消删除'
					});
				});
			}
		}
	}
</script>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值