easyui主表子表维护页面

easyui主表子表维护页面

请添加图片描述

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Title</title>
		<!-- <#include "common.html"/> -->
		<link rel="stylesheet" type="text/css" href="http://www.jeasyui.net/Public/js/easyui/themes/default/easyui.css">
		<link rel="stylesheet" type="text/css" href="http://www.jeasyui.net/Public/js/easyui/themes/icon.css">
		<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
		<script src="https://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
		<script type="text/javascript" src="http://www.jeasyui.net/Public/js/jquery.min.js"></script>
		<script type="text/javascript" src="http://www.jeasyui.net/Public/js/easyui/jquery.easyui.min.js"></script>
		<style>
			html,
			body {
				padding: 0;
				margin: 0;
				height: 99%;
			}

			#basicInfoTable {
				table-layout: fixed;
				width: 90%;
				height: auto;
				margin-left: 5%;
				margin-top: 1%;
			}

			#accountTable {
				table-layout: fixed;
				width: 90%;
				height: auto;
				margin-left: 5%;
				margin-top: 1%;
			}

			#basicInfoTable td {
				height: 40px;
				border: 1px solid #e2e2e2;
			}

			#basicInfoTable .tdTitle {
				background-color: #fafafa;
				width: 15%;
				text-align: center;
			}

			#accountTable td {
				height: 40px;
				border: 1px solid #e2e2e2;
			}

			#accountTable .tdTitle {
				background-color: #fafafa;
				width: 15%;
				text-align: center;
			}

			.title {
				display: block;
				text-align: center;
				font-weight: bold;
				font-size: 24px;
			}

			.headerFont {
				font-size: 12px;
			}

			.form-buttons {
				text-align: left;
				margin-top: 25px;
				padding-right: 656px;
			}

			.form-buttons a {
				display: inline-block;
				padding: 2px 6px;
				background-color: #b7d2ff;
				text-align: center;
				text-decoration: none;
				border-radius: 3px;
				font-size: 12px;
				margin-right: 10px;
				transition: all 0.3s ease-in-out;
			}

			.form-buttons a:hover {
				background-color: #3399cc;
			}
		</style>
		<div id="form-buttons" class="form-buttons" style="margin-top: 1%;margin-left: 5%">
			<a href="#" class="easyui-linkbutton" id="submitFormBtn" onclick="submitForm()">保存</a>
			<a href="#" class="easyui-linkbutton" id="cancelSaveBtn" onclick="cancelSave()">返回</a>
		</div>
		<div><span class="title" style="margin-top: 1%">客商信息维护</span></div>
		<form id="customerForm" method="post">
			<div>

				<div
					style="margin-left: 5%; display: flex; align-items: center; border-bottom: 1px solid #99CCFF; padding-bottom: 5px;">
					<i class="layui-icon layui-icon-file"
						style="font-size: 20px; margin-right: 10px;color: #99CCFF;"></i>
					<span id="basicInfo" style="color: #99CCFF;">基本信息</span>
				</div>

				<table id="basicInfoTable">
					<tr>
						<td class="tdTitle">单位类别</td>
						<td width="35%" style="padding-left: 0.5%">
							<input class="easyui-textbox" id="unitName" name="unitName" style="width: 99%;" readonly
								data-options="required:true" />
						</td>
						<td class="tdTitle">注册地</td>
						<td style="padding-left: 0.5%"><input class="easyui-textbox" name="registerPlace"
								style="width: 99%" /></td>
					</tr>
					<tr>
						<td class="tdTitle">名称</td>
						<td colspan="3" style="padding-left: 0.5%"><input class="easyui-textbox" name="appellation"
								style="width: 99.7%;" data-options="required:true,missingMessage:'请填写名称'" /></td>
					</tr>
					<tr>
						<td class="tdTitle">统一社会信用代码/身份证</td>
						<td style="padding-left: 0.5%">
							<input class="easyui-textbox" name="unitCode" style="width: 99%"
								data-options="required:true, missingMessage:'请填写身份证', validType:'idcard'" />
						</td>
						<td class="tdTitle">法人代表</td>
						<td style="padding-left: 0.5%"><input class="easyui-textbox" name="legalPerson"
								style="width: 99%" /></td>
					</tr>
					<tr>
						<td class="tdTitle">成立日期</td>
						<td style="padding-left: 0.5%">
							<input class="easyui-datebox" required="true" editable="false" id="foundTime"
								name="foundTime" style="width: 99%" />
						</td>
						<td class="tdTitle">单位地址</td>
						<td style="padding-left: 0.5%"><input class="easyui-textbox" name="workAddress"
								style="width: 99%" /></td>
					</tr>
					<tr>
						<td class="tdTitle">联系人</td>
						<td style="padding-left: 0.5%"><input class="easyui-textbox" name="contacts"
								style="width: 99%" /></td>
						<td class="tdTitle">联系电话</td>
						<td style="padding-left: 0.5%">
							<input class="easyui-textbox" name="phone" style="width: 99%"
								data-options=" validType:'mobile'" />
						</td>
					</tr>
					<tr>
						<td class="tdTitle">备注</td>
						<td colspan="3" style="padding-left: 0.5%;height: 90px"><input id="notes" name="notes"
								class="easyui-textbox" style="width: 99.7%;height: 80px;margin-top: 10px"
								data-options="multiline:true" /></td>
					</tr>
					<input id="customerTreeId" name="customerTreeId" type="hidden" class="easyui-textbox" />
					<input id="customerListId" name="customerListId" type="hidden" class="easyui-textbox" />
					<input id="customerCode" name="customerCode" type="hidden" class="easyui-textbox" />
				</table>
			</div>
		</form>

		<div>
			<div
				style="margin-left: 5%; margin-top: 0%; display: flex; align-items: center; border-bottom: 1px solid #99CCFF; padding: 5px;">
				<i class="layui-icon layui-icon-user" style="font-size: 20px; margin-right: 10px; color: #99CCFF;"></i>
				<span style="color: #99CCFF;">收款账户信息</span>
			</div>
			<table id="accountTable">
				<thead style="background-color: #fafafa; border: 1px solid #ccc;">
					<tr style=" height: 40px;border: 1px solid #e2e2e2; background-color: #fafafa;
            width: 15%;
            text-align: center;">
						<th id="accountTableTrAdd" field="add" width="10%" style="border: 1px solid #ccc;">
							<button class="layui-btn layui-btn-sm layui-btn-primary" id="accountTableAddRow"
								onclick="addRow()" style="background-color: #99CCFF;">
								<i class="layui-icon layui-icon-add-1" style="color: #fff;"></i>添加
							</button>
						</th>
						<th field="name" width="30%" style="border: 1px solid #ccc;"><span
								class="headerFont">收款户名</span></th>
						<th field="account" width="30%" style="border: 1px solid #ccc;"><span
								class="headerFont">银行账号</span></th>
						<th field="bank" width="30%" style="border: 1px solid #ccc;"><span class="headerFont">开户行</span>
						</th>
					</tr>
				</thead>
				<tbody>
					<!-- <tr>
            <td style="text-align: center;">
                <button class="layui-btn layui-btn-sm layui-btn-danger" οnclick="deleteRow(this)">
                    <i class="layui-icon layui-icon-delete"></i>删除
                </button>
            </td>
            <td><input class="easyui-textbox" style="width: 100%" data-options="required:true"/></td>
            <td><input class="easyui-textbox" style="width: 100%" data-options="required:true"/></td>
            <td><input class="easyui-textbox" style="width: 100%;" data-options="required:true"/></td>
        </tr>-->
				</tbody>
			</table>
		</div>


		</body>
		<script type="text/javascript">
			$.extend($.fn.validatebox.defaults.rules, {
				mobile: {
					validator: function(value) {
						// 判断手机号格式是否正确
						return /^1[3-9]\d{9}$/.test(value);
					},
					message: '请输入正确的手机号码'
				}
			});

			$.extend($.fn.validatebox.defaults.rules, {
				idcard: {
					validator: function(value) {
						// 判断身份证号格式是否正确
						return /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(value);
					},
					message: '请输入正确的身份证号码'
				}
			});

			function addRow(data) {
				if (data != null) {
					var table = $('#accountTable');
					for (var i = 0; i < data.length; i++) {
						var paymentNameValue = data[i].paymentName;
						var bankAccountValue = data[i].bankAccount;
						var bankNameValue = data[i].bankName;
						var paymentInfoIdValue = data[i].paymentInfoId;
						var index = table.find('tbody tr').length + 1;
						var row = '<tr>' +
							'<td style="text-align: center;">' +
							'<button class="layui-btn layui-btn-sm layui-btn-danger" οnclick="deleteRow(this)">' +
							'<i class="layui-icon layui-icon-delete"></i>删除' +
							'</button>' +
							'</td>' +
							'<td style="padding-left: 0.5%"><input class="easyui-textbox" name="paymentName" style="width: 99%" data-options="required:true" value="' +
							paymentNameValue + '"/></td>' +
							'<td style="padding-left: 0.5%"><input class="easyui-textbox" name="bankAccount" style="width: 99%" data-options="required:true" value="' +
							bankAccountValue + '"/></td>' +
							'<td style="padding-left: 0.5%"><input class="easyui-textbox" name="bankName" style="width: 99%;" data-options="required:true" value="' +
							bankNameValue + '"/></td>' +
							'<td style="padding-left: 0.5%"><input class="easyui-textbox" name="paymentInfoId"  type="hidden"  data-options="required:true" value="' +
							paymentInfoIdValue + '"/></td>' +
							'</tr>';
						table.find('tbody').append(row);
						$.parser.parse(table.find('tbody tr:last-child')); // 解析 EasyUI 组件
					}
				} else {
					var table = $('#accountTable');
					var index = table.find('tbody tr').length + 1;
					var row = '<tr>' +
						'<td style="text-align: center;">' +
						'<button class="layui-btn layui-btn-sm layui-btn-danger" οnclick="deleteRow(this)">' +
						'<i class="layui-icon layui-icon-delete"></i>删除' +
						'</button>' +
						'</td>' +
						'<td style="padding-left: 0.5%"><input class="easyui-textbox" name="paymentName" style="width: 99%" data-options="required:true"/></td>' +
						'<td style="padding-left: 0.5%"><input class="easyui-textbox" name="bankAccount" style="width: 99%" data-options="required:true"/></td>' +
						'<td style="padding-left: 0.5%"><input class="easyui-textbox" name="bankName" style="width: 99%;" data-options="required:true"/></td>' +
						'<td style="padding-left: 0.5%"><input class="easyui-textbox" name="paymentInfoId" type="hidden" /></td>' +
						'</tr>';
					table.find('tbody').append(row);
					$.parser.parse(table.find('tbody tr:last-child')); // 解析 EasyUI 组件
				}
			}


			function addRowInfo(data) {
				if (data != null) {
					var table = $('#accountTable');
					for (var i = 0; i < data.length; i++) {
						var paymentNameValue = data[i].paymentName;
						var bankAccountValue = data[i].bankAccount;
						var bankNameValue = data[i].bankName;
						var paymentInfoIdValue = data[i].paymentInfoId;
						var index = table.find('tbody tr').length + 1;
						var row = '<tr style="width: 100%">' +
							'<td style="padding-left: 0.5%;text-align:center;"><span class="headerFont">' + (i + 1) +
							'</span></td>' +
							'<td style="padding-left: 0.5%;"><input class="easyui-textbox" name="paymentName" style="width: 99%" data-options="required:true" value="' +
							paymentNameValue + '"/></td>' +
							'<td style="padding-left: 0.5%;"><input class="easyui-textbox" name="bankAccount" style="width: 99%" data-options="required:true" value="' +
							bankAccountValue + '"/></td>' +
							'<td style="padding-left: 0.5%;"><input class="easyui-textbox" name="bankName"    style="width: 99%;" data-options="required:true" value="' +
							bankNameValue + '"/></td>' +
							'<td id="accountTableTrTdAdd"><input class="easyui-textbox" name="paymentInfoId"  type="hidden"  data-options="required:true" value="' +
							paymentInfoIdValue + '"/></td>' +
							'</tr>';
						table.find('tbody').append(row);
						$.parser.parse(table.find('tbody tr:last-child')); // 解析 EasyUI 组件
						$('#accountTableTrTdAdd' + (i + 1)).hide();
					}
					var h = "";
					h += " <span class=\"headerFont\">编号</span>";
					$('#accountTableTrAdd').html(h);
				}
			}


			function selectList() {
				var list = []; // 定义一个列表,用于保存输入框的值
				$.each($("#accountTable tbody tr"), function(index, item) {
					list[index] = {
						paymentName: $(this).find("[name=paymentName]").val(),
						bankAccount: $(this).find("[name=bankAccount]").val(),
						bankName: $(this).find("[name=bankName]").val(),
						paymentInfoId: $(this).find("[name=paymentInfoId]").val()
					}
				});
				return JSON.stringify(list);
			}


			function deleteRow(btn) { //删除子表信息
				var paymentInfoId = $(btn).closest('tr').find("[name=paymentInfoId]").val();
				$(btn).closest('tr').remove();
				$.ajax({ //子表 数据
					url: ctx + "/conPayment/delPaymentList?id=" + paymentInfoId,
					type: "get",
					success: function(data) {
						if (data) {
							// 将 data 的值动态设置到 addRow() 函数中的输入框中
							layer.msg('操作成功', {
								icon: 1,
								time: 1500,
								offset: 't',
								area: '200px'
							});
						}
					}
				});
			}
		</script>

</html>




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/54482.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

hive函数大全

hive函数大全 一级目录!!%&*-/<<<><>>>^absacosadd_monthsandarrayarray_containsasciiasinassert_trueatanavgbase64betweenbinbroundcasecbrtceilceilingchrcoalescecollect_listcollect_setconcatconcat_wscontext_ngramsconvcorrcoscountcovar…

【使用维纳滤波进行信号分离】基于维纳-霍普夫方程的信号分离或去噪维纳滤波器估计(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Arcgis制作深度学习标签

接这篇教程 Arcgis制作深度学习标签_arcgis标签_k54kdk的博客-CSDN博客Arcgis制作深度学习标签_arcgis标签https://blog.csdn.net/k54kdk/article/details/127576447 获取研究区范围矢量 拖入原始多波段tif图片&#xff0c;按照上一篇教程中给出的新建矢量图层&#xff0c;完…

生态共建丨YashanDB与构力科技完成兼容互认证

近日&#xff0c;深圳计算科学研究院崖山数据库系统YashanDB V22.2与北京构力科技有限公司BIMBase云平台完成兼容性互认证。经严格测试&#xff0c;双方产品完全兼容、运行稳定。 崖山数据库系统YashanDB是深算院自主研发设计的新型数据库系统&#xff0c;融入原创理论&#xf…

线程的学习

在单线程的时候&#xff0c;一个程序就是在一个栈里面执行方法&#xff0c;所有的方法不断地在栈内存中压栈出栈&#xff0c;执行的速度慢 在多线程的程序中&#xff0c;一个程序可以分为多个线程&#xff0c;一个线程占用一片栈内存&#xff0c;每新开一个线程&#xff0c;就…

【Java基础教程】(五十)JDBC篇:JDBC概念及操作步骤、主要类与接口解析、批处理与事务处理~

Java基础教程之JDBC &#x1f539;本章学习目标1️⃣ JDBC概念2️⃣ 连接数据库3️⃣ Statement 接口3.1 数据更新操作3.2 数据查询 4️⃣ PreparedStatement 接口4.1 Statement 接口问题4.2 PreparedStatement操作 5️⃣ 批处理与事务处理&#x1f33e; 总结 &#x1f539;本…

Grandle安装配置(8.2.1)-windows环境

一、官网地址 https://gradle.org/releases/ 下载链接&#xff1a; https://downloads.gradle.org/distributions/gradle-8.2.1-bin.zip 下载后解压到指定文件夹,实例安装目录为&#xff1a; D:\ProgramFiles\gradle-8.2.1 二、配置环境变量 示例中配置的目录为&#xff1a…

服务器出入口IP通俗理解

一、出口IP 这是机房的网络设备&#xff08;如防火墙&#xff09;给内网主机生成的一个外网IP&#xff0c;用来保证内网主机能和其他公网主机进行来回通信&#xff0c;通常作为其他接入方的IP白名单使用&#xff0c;一般有几台内网主机就有几个出口IP&#xff0c;出口IP通常和入…

基于SSM家电补贴一站式服务平台-计算机毕设 附源码12305

ssm家电补贴一站式服务平台 摘 要 近年来&#xff0c;随着移动互联网的快速发展&#xff0c;电子商务越来越受到网民们的欢迎&#xff0c;电子商务对国家经济的发展也起着越来越重要的作用。简单的流程、便捷可靠的支付方式、快捷畅通的物流快递、安全的信息保护都使得电子商务…

无涯教程-Lua - 条件判断

if结构要求程序员确定一个或多个要由程序判断或测试的条件&#xff0c;以及要确定的条件为真的情况下要执行的一条或多条语句&#xff0c;如果条件为真&#xff0c;则执行指定语句&#xff0c;如果条件为假&#xff0c;则执行其他语句。 Lua编程语言假定布尔值 true 和 non-nil…

【硬件设计】模拟电子基础一--元器件介绍

模拟电子基础一--元器件介绍 一、半导体&#xff08;了解&#xff09;1.1 基础知识1.2 PN结 二、二级管2.1 定义与特性2.2 二极管的分类 三、三级管四、MOS管三、其他元器件管3.1 电容3.2 光耦3.3 发声器件3.4 继电器3.5 瞬态电压抑制器 前言&#xff1a;本章为知识的简单复习&…

蓝桥云课ROS机器人旧版实验报告-01入门

项目名称 实验一 ROS[Kinetic/Melodic/Noetic]入门 成绩 设计要求&#xff1a; 机器人操作系统安装、虚拟机、Docker、嵌入式系统 实验记录&#xff08;70分&#xff09; 1.以 $ 开头的行是终端命令。 - 要打开一个新终端 → 使用快捷键 ctrlaltt。 - 要在现有终端内…

C语言结构体讲解

目录 结构体的声明 结构的基础知识 结构的声明 为什么要出现结构体&#xff1f; 结构成员的类型 结构体变量的定义和初始化 定义&#xff1a;&#xff08;全局变量//局部变量&#xff09; 初始化&#xff1a; 结构体成员的访问 结构体传参 结构体的声明 结构的基础知识…

你真的会自动化吗?Web自动化测试-PO模式实战,一文通透...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 PO模式 Page Obj…

C# Socket实际应用案例与属性详解

引言 Socket是一个在网络编程中非常常见和重要的概念&#xff0c;它提供了一种通信机制&#xff0c;使不同的计算机之间可以进行数据传输。本文将介绍C#中Socket的实际应用案例&#xff0c;并对Socket的常用属性进行详细解析。 文章目录 1. Socket的实际应用案例2. Socket的属…

【Lua学习笔记】Lua进阶——协程

文章目录 协程协程的定义和调度wrap StatusRunning补充 协程与主程的数据交互——return...yield 协程 协程是一种并发操作&#xff0c;相比于线程&#xff0c;线程在执行时往往是并行的&#xff0c;并且线程在创建销毁执行时极其消耗资源&#xff0c;并且过长的执行时间会造成…

统一观测|借助 Prometheus 监控 ClickHouse 数据库

引言 ClickHouse 作为用于联机分析(OLAP)的列式数据库管理系统(DBMS), 最核心的特点是极致压缩率和极速查询性能。同时&#xff0c;ClickHouse 支持 SQL 查询&#xff0c;在基于大宽表的聚合分析查询场景下展现出优异的性能。因此&#xff0c;获得了广泛的应用。本文旨在分享阿…

CentOS7.3 安装 docker

亲测、截图 阿里云服务器 文章目录 更新源2345 启动开机自启 更新源 sudo yum update -y2 sudo yum install -y yum-utils device-mapper-persistent-data lvm23 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo4 sudo yum …

计数排序算法

计数排序 计数排序说明&#xff1a; 计数排序&#xff08;Counting Sort&#xff09;是一种非比较性的排序算法&#xff0c;它通过统计元素出现的次数&#xff0c;然后根据元素出现的次数将元素排列在正确的位置上&#xff0c;从而实现排序。计数排序适用于非负整数或者具有确…

算法综合篇专题一:双指针问题

"就算没有看清那株灿烂的花蕊&#xff0c;也应该放声歌颂赞美鲜红的玫瑰" 1、移动零 (1) 题目解析 (2) 算法原理 class Solution { public:void moveZeroes(vector<int>& nums) {for(int cur0,dest-1;cur<nums.size();cur){if(nums[cu…