diff --git a/extend/base/common/command/admin/VersionBase.php b/extend/base/common/command/admin/VersionBase.php
index de96881..b287700 100644
--- a/extend/base/common/command/admin/VersionBase.php
+++ b/extend/base/common/command/admin/VersionBase.php
@@ -12,7 +12,7 @@ use think\console\Output;
class VersionBase extends Command
{
- public const VERSION = 'v2.0.69';
+ public const VERSION = 'v2.0.70';
public const LAYUI_VERSION = '2.8.17';
diff --git a/public/static/plugs/lay-module/propertyInput/propertyInput.css b/public/static/plugs/lay-module/propertyInput/propertyInput.css
index 368566a..134f84e 100644
--- a/public/static/plugs/lay-module/propertyInput/propertyInput.css
+++ b/public/static/plugs/lay-module/propertyInput/propertyInput.css
@@ -3,4 +3,16 @@
}
.property-input-container .input-item .input-option {
white-space: nowrap;
+}
+.property-input-container .input-item .layui-textarea {
+ min-height: auto;
+}
+.property-input-container .input-item td {
+ vertical-align: top;
+}
+.property-input-container .input-item .input-radio label {
+ margin-right: 10px;
+}
+.property-input-container .input-item .input-radio .item-radio {
+ display: inline-block;
}
\ No newline at end of file
diff --git a/public/static/plugs/lay-module/propertyInput/propertyInput.html b/public/static/plugs/lay-module/propertyInput/propertyInput.html
index ec52213..622bfc6 100644
--- a/public/static/plugs/lay-module/propertyInput/propertyInput.html
+++ b/public/static/plugs/lay-module/propertyInput/propertyInput.html
@@ -5,7 +5,21 @@
|
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
diff --git a/public/static/plugs/lay-module/propertyInput/propertyInput.js b/public/static/plugs/lay-module/propertyInput/propertyInput.js
index a0fbab2..d109c1f 100644
--- a/public/static/plugs/lay-module/propertyInput/propertyInput.js
+++ b/public/static/plugs/lay-module/propertyInput/propertyInput.js
@@ -36,7 +36,6 @@
var options = $.extend(defaultOption, data);
options.value = $.trim(options.value);
-
// 处理field参数
// 如果是字符串,则转为json
if (typeof options.field === 'string') {
@@ -47,6 +46,7 @@
options.field = eval('(' + options.field + ')');
} catch (e) {
options.field = [];
+ console.error('field参数格式错误');
}
}
}
@@ -89,7 +89,7 @@
}
}
- // 如果field没有key或title,则初始化
+ // 如果field没有key、title、type、default,则初始化
for (var i = 0; i < options.field.length; i++) {
if (!options.field[i].key) {
options.field[i].key = 'name';
@@ -97,6 +97,74 @@
if (!options.field[i].title) {
options.field[i].title = '名称';
}
+ if (!options.field[i].type) {
+ options.field[i].type = 'text';
+ }
+ if (!options.field[i].default) {
+ options.field[i].default = '';
+ }
+
+
+
+ // 如果type是textarea且没有定义height,则高度为40px
+ if (options.field[i].type == 'textarea' && !options.field[i].height) {
+ options.field[i].height = '40px';
+ }
+
+ // 如果type是radio
+ if (options.field[i].type == 'radio') {
+
+ // selectList支持以下三种形式的数据
+ // 1 ['string1','string2']
+ // 2 [{title:'string1',value:'string1'},{title:'string2',value:'string2'}]
+ // 3 {string1:'string1',string2:'string2'}
+ // 第2个是标准格式
+
+
+ // 如果没有定义selectList
+ if (!options.field[i].selectList) {
+ options.field[i].selectList = [
+ {
+ title: '是',
+ value: 1
+ },
+ {
+ title: '否',
+ value: 0
+ }
+ ];
+ }
+
+ // 如果selectList是数组,但是数组的元素是字符串,则将该元素转为对象,title和value都为该元素
+ if (Array.isArray(options.field[i].selectList)) {
+ for (var j = 0; j < options.field[i].selectList.length; j++) {
+ if (typeof options.field[i].selectList[j] === 'string') {
+ options.field[i].selectList[j] = {
+ title: options.field[i].selectList[j],
+ value: options.field[i].selectList[j]
+ };
+ }
+ }
+ } else if (typeof options.field[i].selectList === 'object') {
+ // 如果selectList是对象,则将该对象转为数组
+ var selectList = [];
+ for (var key in options.field[i].selectList) {
+ selectList.push({
+ title: options.field[i].selectList[key],
+ value: key
+ });
+ }
+ options.field[i].selectList = selectList;
+ }
+
+ // selectList必须包含title和value,如果没有则报错
+ for (var j = 0; j < options.field[i].selectList.length; j++) {
+ if (!options.field[i].selectList[j].title || !options.field[i].selectList[j].value) {
+ console.error('selectList的元素必须包含title和value');
+ }
+ }
+
+ }
}
// 处理value参数
@@ -162,12 +230,12 @@
var emptyItem = {};
- for (var i = 0; i < this.field.length; i++) {
- emptyItem[this.field[i].key] = '';
- }
-
emptyItem.uid = ua.randdomString();
+ for (var i = 0; i < this.field.length; i++) {
+ emptyItem[this.field[i].key] = this.field[i].default;
+ }
+
this.listItem.push(emptyItem);
this.updateValue(this.listItem);
diff --git a/public/static/plugs/lay-module/propertyInput/propertyInput.scss b/public/static/plugs/lay-module/propertyInput/propertyInput.scss
index 1a97d9c..3d62989 100644
--- a/public/static/plugs/lay-module/propertyInput/propertyInput.scss
+++ b/public/static/plugs/lay-module/propertyInput/propertyInput.scss
@@ -7,5 +7,23 @@
.input-option{
white-space: nowrap;
}
+
+ .layui-textarea{
+ min-height: auto;
+ }
+
+ td{
+ vertical-align: top;
+ }
+
+ .input-radio{
+ label{
+ margin-right: 10px;
+ }
+
+ .item-radio{
+ display: inline-block;
+ }
+ }
}
}
\ No newline at end of file
diff --git a/public/static/plugs/ulthon-admin/ulthon-admin.js b/public/static/plugs/ulthon-admin/ulthon-admin.js
index 754bdb8..7919eae 100644
--- a/public/static/plugs/ulthon-admin/ulthon-admin.js
+++ b/public/static/plugs/ulthon-admin/ulthon-admin.js
@@ -2328,6 +2328,7 @@
var list = document.querySelectorAll('[data-toggle="property-input"]');
$.each(list, function (i, v) {
var data = $(v).data();
+
data.value = $(v).text();
propertyInput.render(v, data, admin);
|