diff --git a/src/main/webapp/assets/expand/module/gunsCheckbox/gunsCheckbox.js b/src/main/webapp/assets/expand/module/gunsCheckbox/gunsCheckbox.js
new file mode 100644
index 00000000..6352c213
--- /dev/null
+++ b/src/main/webapp/assets/expand/module/gunsCheckbox/gunsCheckbox.js
@@ -0,0 +1,55 @@
+/**
+ * 封装通用多选组件
+ *
+ * v1.0
+ * 支持多选框
+ *
+ * @author 尤文博
+ * @date 2021/9/18 10:23
+ */
+layui.define(['jquery', 'HttpRequest', 'xmSelect', 'form'], function (exports) {
+ "use strict";
+ var gunsCheckbox = function () {
+ this.v = '1.0';
+ },
+ $ = layui.$,
+ HttpRequest = layui.HttpRequest,
+ form = layui.form;
+
+ gunsCheckbox.prototype.render = function (options) {
+
+ var opts = options,
+ url = opts.url,
+ method = opts.method || 'get',
+ where = opts.where,
+ fields = opts.fields || {name: 'name', value: 'value'},
+ elem = opts.elem,
+ type = opts.type;
+ //渲染
+ //渲染
+
+ var a = {
+ init: function () {
+ new HttpRequest(url, method, function (obj) {
+ for (var i = 0; i < obj.data.length; i++) {
+ $(elem).append('');
+ }
+ form.render();
+ }, function (data) {
+ }).set(where).start();
+ }
+ }
+
+ var common = {
+ get: function (obj, key) {
+ return obj[key];
+ }
+ };
+
+ a.init();
+ return new gunsCheckbox();
+
+
+ };
+ exports('gunsCheckbox', new gunsCheckbox());
+});
\ No newline at end of file
diff --git a/src/main/webapp/assets/expand/module/gunsRadio/gunsRadio.js b/src/main/webapp/assets/expand/module/gunsRadio/gunsRadio.js
new file mode 100644
index 00000000..134e816e
--- /dev/null
+++ b/src/main/webapp/assets/expand/module/gunsRadio/gunsRadio.js
@@ -0,0 +1,55 @@
+/**
+ * 封装通用单选组件
+ *
+ * v1.0
+ * 支持单选框
+ *
+ * @author 尤文博
+ * @date 2021/9/18 10:02
+ */
+layui.define(['jquery', 'HttpRequest', 'xmSelect', 'form'], function (exports) {
+ "use strict";
+ var gunsRadio = function () {
+ this.v = '1.0';
+ },
+ $ = layui.$,
+ HttpRequest = layui.HttpRequest,
+ form = layui.form;
+
+ gunsRadio.prototype.render = function (options) {
+
+ var opts = options,
+ url = opts.url,
+ method = opts.method || 'get',
+ where = opts.where,
+ fields = opts.fields || {name: 'name', value: 'value'},
+ elem = opts.elem,
+ type = opts.type;
+ //渲染
+ //渲染
+
+ var a = {
+ init: function () {
+ new HttpRequest(url, method, function (obj) {
+ for (var i = 0; i < obj.data.length; i++) {
+ $(elem).append('');
+ }
+ form.render();
+ }, function (data) {
+ }).set(where).start();
+ }
+ }
+
+ var common = {
+ get: function (obj, key) {
+ return obj[key];
+ }
+ };
+
+ a.init();
+ return new gunsRadio();
+
+
+ };
+ exports('gunsRadio', new gunsRadio());
+});
\ No newline at end of file