3a3ecabe
Imshann
init
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import template from "./Form.html";
import style from "antd/lib/form/style/index.css";
angular.module("esNgAntd").directive("esForm", function (esNgAntd) {
return {
controllerAs: "esForm",
restrict: "E",
transclude: true,
replace: true,
scope: {
name: "@",
labelCol: "=",
wrapperCol: "=",
onFinish: "&",
|
dd962f77
Imshann
优化
|
14
|
form: "=",
|
3a3ecabe
Imshann
init
|
15
16
17
18
19
20
21
|
},
template: template,
controller: function ($scope, $element) {
this.getContext = function () {
return $scope;
};
|
dd962f77
Imshann
优化
|
22
23
24
25
26
27
28
29
30
|
$scope.state = {
formItems: [],
};
$scope.resetFields = function () {
$scope.state.formItems.forEach(function (item) {
item.value = null;
});
};
|
3a3ecabe
Imshann
init
|
31
32
33
|
$scope.handleSubmit = function () {
let values = {};
|
dd962f77
Imshann
优化
|
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
$scope.state.formItems.forEach(function (item) {
let name = item.esFormItem && item.esFormItem.name;
let value = item.value || item.state.value || null;
values[name] = value;
}); // for (let i = 0; i < inputs.length; i++) {
// const element = inputs[i];
// const value = element.value === "" ? null : element.value;
// if (element.id) {
// if (element.id.split("_").length > 1) {
// values[element.id.split("_")[1]] = value;
// } else {
// values[element.id] = value;
// }
// }
// }
|
3a3ecabe
Imshann
init
|
49
50
51
52
53
54
55
56
|
$scope.onFinish({
values: values,
});
};
},
link: function ($scope, $element, $attrs, $controllers, $transclude) {
esNgAntd.createStyle("ant-form", style);
|
dd962f77
Imshann
优化
|
57
|
$scope.form = $scope;
|
3a3ecabe
Imshann
init
|
58
59
60
61
62
63
64
65
66
67
68
69
|
if ($scope.name) {
let inputs = $element[0].querySelectorAll("input");
for (let i = 0; i < inputs.length; i++) {
const element = inputs[i];
element.id = $scope.name + "_" + element.id;
}
}
},
};
});
|