fieldForm.html
7.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
{include file="common/head"/}
<div class="admin-main layui-anim layui-anim-upbit" ng-app="hd" ng-controller="ctrl">
<fieldset class="layui-elem-field layui-field-title">
<legend>{$title}</legend>
</fieldset>
<form class="layui-form layui-form-pane">
<div class="layui-form-item">
<label class="layui-form-label">字段类型</label>
<div class="layui-input-4">
<select id="type" name="type" lay-filter="type" ng-model="field.type" class="required" lay-verify="required" {if condition="ACTION_NAME eq 'fieldedit'"}disabled{/if}>
<option value='' >请选择字段类型</option>
<option value="catid">栏目</option>
{if condition="ACTION_NAME eq 'fieldedit'"}<option value="title">标题</option>{/if}
<option value="text" >单行文本</option>
<option value="textarea" >多行文本</option>
<option value="editor" >编辑器</option>
<option value="select" >下拉列表</option>
<option value="radio" >单选按钮</option>
<option value="checkbox" >复选框</option>
<option value="image" >单张图片</option>
<option value="images" >多张图片</option>
<option value="file" >文件上传</option>
<option value="number" >数字</option>
<option value="datetime" >日期和时间</option>
<option value="posid" >推荐位</option>
<option value="groupid" >会员组</option>
<option value="linkage" >地址联动</option>
<option value="template">模板选择</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">字段名</label>
<div class="layui-input-4">
<input type="text" name="field" ng-model="field.field" lay-verify="required" placeholder="必填:字段名" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">别名</label>
<div class="layui-input-4">
<input type="text" name="name" ng-model="field.name" lay-verify="required" placeholder="必填:别名" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">字段设置</label>
<div class="layui-input-4" id="field_setup">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">class名称</label>
<div class="layui-input-4">
<input type="text" name="class" ng-model="field.class" value="" placeholder="class名称" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">必填</label>
<div class="layui-input-block">
<input type="radio" name="required" ng-model="field.required" ng-checked="field.required==1" ng-value="1" title="是">
<input type="radio" name="required" ng-model="field.required" ng-checked="field.required==0" ng-value="0" title="否">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">验证规则</label>
<div class="layui-input-4">
<select name="pattern" lay-verify="required" ng-model="field.pattern" ng-options="v.name as v.title for v in pattern"></select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">字符长度</label>
<div class="layui-input-inline" style="width: 100px;">
<input type="text" name="minlength" ng-model="field.minlength" class="layui-input">
</div>
<div class="layui-form-mid">-</div>
<div class="layui-input-inline" style="width: 100px;">
<input type="text" name="maxlength" ng-model="field.maxlength" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">错误信息</label>
<div class="layui-input-4">
<input type="text" name="errormsg" ng-model="field.errormsg" value="" placeholder="验证失败错误信息" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button type="button" class="layui-btn" lay-submit="" lay-filter="submit">{:lang('submit')}</button>
<a href="{:url('field',['id'=>$moduleid])}" class="layui-btn layui-btn-primary">{:lang('back')}</a>
</div>
</div>
</form>
</div>
{include file="common/foot"/}
<script src="/static/common/js/jquery.2.1.1.min.js"></script>
<script src="/static/common/js/angular.min.js"></script>
<script>
var m = angular.module('hd',[]);
m.controller('ctrl',['$scope',function($scope) {
$scope.field = '{$info|raw}'!='null'?{$info|raw}:{type:'',field:'',name:'',required:1,minlength:'',maxlength:'',errormsg:'',pattern:''};
$scope.pattern = {$pattern|raw};
var oldfield = $scope.field.field;
layui.use(['form', 'layer'], function () {
var form = layui.form, layer = layui.layer;
field_setting($scope.field,'edit',form);
//事件监听
form.on('select(type)', function(type){
field_setting(type,'add',form);
});
form.on('submit(submit)', function (data) {
var loading = layer.load(1, {shade: [0.1, '#fff']});
data.field.moduleid = "{$moduleid}";
if($scope.field.id){
data.field.oldfield = oldfield;
data.field.id = $scope.field.id;
}
$.post("", data.field, function (res) {
layer.close(loading);
if (res.code > 0) {
layer.msg(res.msg, {time: 1800, icon: 1}, function () {
location.href = res.url;
});
} else {
layer.msg(res.msg, {time: 1800, icon: 2});
}
});
});
});
}]);
function field_setting(info,action,form) {
if(action=='add'){
var data = '';
var url = "{:url('fieldAdd')}?isajax=1&moduleid={$moduleid}&type="+type.value;
}else{
var data = info.setup;
var url = "{:url('fieldAdd')}?isajax=1&moduleid={$moduleid}&type="+info.type+"&name="+info.field;
}
$.ajax({
type: "POST",
url: url,
data: data,
beforeSend:function(){
$('#field_setup').html('<i class="fa fa-spinner fa-spin fa-fw"></i>');
form.render()
},
success: function(msg){
$('#field_setup').html(msg);
form.render()
},
complete:function(){
},
error:function(){
}
});
}
</script>