HuXiYu
authored
about a year ago
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
let action = null ;
layui . config ({
base : "/js/" ,
version : 1
}). use ([ 'system' ], function () {
var form = layui . form ,
$ = layui . jquery ,
element = layui . element ,
table = layui . table ,
system = layui . system ,
sysU = new system . u (),
sendDataWhere = null ,
sendDataDescWhere = null ,
areaName = "configure" ,
controllerName = "BaseProject" ,
app = null ;
action = {
addOptions : function () {
var options = {
fromId : "#modifyForm form" ,
url : ` / $ { areaName } /${controllerName}/ Ins ` ,
//sendDataWhere: null,
//isAddWhereExtend: "arbitrarily",
//mainTable: app.data.tableIns,
submit : "submit(fromAdd)"
}
return options ;
},
editOptions : function () {
var options = {
fromId : "#modifyForm form" ,
url : ` / $ { areaName } /${controllerName}/ Upd ` ,
submit : "submit(fromUpdate)"
}
return options ;
},
deleteOptions : function () {
var options = {
url : ` / $ { areaName } /${controllerName}/ DelByIds ` ,
keyId : "id"
}
return options ;
},
exportOptions : function () {
var options = {
fromId : "listForm" ,
url : ` / $ { areaName } /${controllerName}/ Export ` ,
isDefault : false ,
sendDataWhere : {},
excelCols : {
head : app . data . cols ,
body : app . data . colsDesc
}
}
return options ;
},
queryOptions : function () {
var options = {
resetFrom : "form[lay-filter=listForm]" ,
fromId : "listForm" ,
urlExport : ` / $ { areaName } /${controllerName}/ Export ` ,
urlQuery : ` / $ { areaName } /${controllerName}/ Load ` ,
sendDataWhere : {},
mainTable : app . data . tableIns
}
return options ;
},
/*rowClickOptions: function () {
var options = {
/ / 是否主子表
isDefault : true ,
targetTableId : app . data . tableElem ,
tabfilter : "tableTabBody" ,
tabId : 2 ,
customFn : app . methods . initTableDesc
}
return options ;
}, * /
uploadOptions: function () {
var options = {
url: `/ $ { areaName } /${controllerName}/ Import ` ,
fromFile : "#excelfile" ,
content : $ ( "#ImportData" )
}
return options ;
},
addBefore : function ( callBack ) {
//callBack是回调函数,如果editBefore有ajax 放在成功之后
if ( callBack != null ) callBack ();
},
addSaveBefore : function ( data , callBack ) {
if ( callBack != null ) callBack ();
},
editBefore : function ( data , callBack ) {
form . val ( "modifyForm" , data );
if ( callBack != null ) callBack ();
},
editSaveBefore : function ( data , callBack ) {
if ( callBack != null ) callBack ();
},
checkboxMethod : function ( obj ) {
var page = "" . GetUrlParam ( "page" ),
HuXiYu
authored
about a year ago
111
112
clientKeys = "" . GetUrlParam ( "clientKeys" );
if ( page == "BaseClientInfo" ) {
HuXiYu
authored
about a year ago
113
var sendData = {
HuXiYu
authored
about a year ago
114
115
116
clientKeys : clientKeys ,
checkeds : obj . checked ,
projectKeys : obj . data . keys ,
HuXiYu
authored
about a year ago
117
118
119
};
var ajaxConfig = {
data : sendData ,
HuXiYu
authored
about a year ago
120
url : "/configure/BaseClientInfo/BindClientProject" ,
HuXiYu
authored
about a year ago
121
122
123
124
125
126
127
128
129
130
success : function ( result ) {
if ( sysU . successBefore ( result )) return false ;
layer . msg ( result . Message );
}
};
sysU . ajax ( ajaxConfig );
}
},
//所有动作成功之后
actionSuccess : ( flag ) => {
HuXiYu
authored
about a year ago
131
sysU . refreshTable ( app , sysU , null , flag );
HuXiYu
authored
about a year ago
132
133
134
135
136
137
138
139
140
141
142
143
},
closeAfter : function ( callBack ) {
if ( callBack != null ) callBack ();
}
}
app = {
data : {
cols : [[
{ checkbox : true , fixed : true },
{ field : "id" , width : 80 , hide : true , title : "Id" },
{ field : "keys" , width : 80 , hide : true , title : "Keys" },
赖素文
authored
about a year ago
144
{ field : "projectAddress" , width : 300 , title : "地址" },
HuXiYu
authored
about a year ago
145
146
{ field : "projectManager" , width : 150 , title : "项目经理" },
{ field : "telephone" , width : 150 , title : "电话" },
赖素文
authored
about a year ago
147
148
149
150
151
152
{ field : "projectStatus" , width : 150 , title : "状态" , templet : function ( obj ) { return "" . GetState ( window . top . EnumProjectStatus , obj . projectStatus ) } },
{ field : "projectStartTime" , width : 150 , title : "开始日期" },
{ field : "projectEndTime" , width : 150 , title : "结束日期" },
{ field : "longitude" , width : 100 , title : "经度" },
{ field : "latitude" , width : 100 , title : "纬度" },
HuXiYu
authored
about a year ago
153
{ field : "picture" , width : 150 , title : "图片" },
赖素文
authored
about a year ago
154
155
{ field : "projectDescribe" , width : 150 , title : "描述" },
HuXiYu
authored
about a year ago
156
157
158
159
160
161
162
{ field : "createBy" , width : 150 , title : "createBy" },
{ field : "createTime" , width : 150 , title : "createTime" },
{ field : "updateTime" , width : 150 , title : "updateTime" },
{ field : "updateBy" , width : 150 , title : "updateBy" },
]],
tableIns : null ,
tableElem : "mainList" ,
赖素文
authored
about a year ago
163
164
165
btnGetPoint : $ ( "#btnGetPoint" ),
txtProjectAddress : $ ( "#modifyForm form input[name=projectAddress]" ),
赖素文
authored
about a year ago
166
167
btnCopyLonLat : document . querySelector ( "#btnCopyLonLat" ),
HuXiYu
authored
about a year ago
168
169
170
//下拉框配置
selectOption : {
赖素文
authored
about a year ago
171
type : {
HuXiYu
authored
about a year ago
172
SelValue : "value" ,
赖素文
authored
about a year ago
173
174
175
176
SelFrom : "dataSource" ,
Dom : [ $ ( "select[name='projectStatus']" )],
dataSource : window . top . EnumProjectStatus ,
},
HuXiYu
authored
about a year ago
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
//返回的数据 用于后续操作
selectData : {
}
}
},
methods : {
initTable : function ( opt ) {
var config = {};
if ( opt != undefined ) $ . extend ( config , opt );
let options = {
elem : "#" + app . data . tableElem ,
url : ` / $ { areaName } /${controllerName}/ Load ` ,
cols : sysU . columnRecord ( app . data . tableElem , app . data . cols ),
toolbar : '#toolbarTable' ,
where : config ,
//height: "full-56",//如果是主明细页签,列表主体高度要设置,否则分页导航不直观展示
doneExtend : function ( res , obj ) {
HuXiYu
authored
about a year ago
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
var pageFlag = "" . GetUrlParam ( "page" ),
clientKeys = "" . GetUrlParam ( "clientKeys" );
//加载用户绑定的客户
if ( pageFlag == "BaseClientInfo" ) {
let ajaxConfig = {
data : { clientKeys : clientKeys },
url : ` / configure / BaseClientInfo / GetClientBindProjects ` ,
success : function ( result ) {
if ( sysU . successBefore ( result )) return false ;
var targetArrValue = result . Result . map ( function ( e ) { return e . projectKeys ; });
var selectColKey = "" . GetUrlParam ( "selectColKeyCustom" );
sysU . SetTableCheck ( targetArrValue , res , selectColKey , app . data . tableElem );
}
};
sysU . ajax ( ajaxConfig );
}
HuXiYu
authored
about a year ago
210
211
212
213
214
}
}
app . data . tableIns = sysU . initTable ( options );
},
赖素文
authored
about a year ago
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
//根据地址解析经度纬度
setLngAndlat () {
debugger
let address = app . data . txtProjectAddress . val ();
if ( ! address ) {
app . data . txtProjectAddress . focus ();
return ;
}
mapApp . fn . getPointByAddress ( address , ( point ) => {
var val = { longitude : "" , latitude : "" , }
if ( point ) {
val . longitude = point . lng ;
val . latitude = point . lat ;
}
form . val ( "modifyForm" , val );
});
HuXiYu
authored
about a year ago
231
232
233
},
initFrom () {
赖素文
authored
about a year ago
234
sysU . initSelecteByEnum ( app . data . selectOption );
赖素文
authored
about a year ago
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
},
initCopy () {
app . data . btnCopyLonLat . addEventListener ( "click" , function ( event ) {
$ ( "#modifyForm form input[name=longitude]" ). focus ();
// 获取剪贴板中的文本数据
navigator . clipboard . readText ()
. then ( text => {
debugger
const pattern = /^ \d + (\.\d + )? , \d + (\.\d + )? $/ ;
if ( ! pattern . test ( text )) {
layer . alert ( '经纬度复制的值错误,正确的是格式【x,x】x是数字!' , { icon : sysU . config . iconoError , shadeClose : true , title : sysU . config . titleOpen });
return ;
}
var tempValue = text . split ( "," );
form . val ( "modifyForm" , { longitude : tempValue [ 0 ], latitude : tempValue [ 1 ] });
})
. catch ( err => {
layer . alert ( '无法读取剪贴板数据:' + err , { icon : sysU . config . iconoError , shadeClose : true , title : sysU . config . titleError });
});
});
HuXiYu
authored
about a year ago
255
256
257
}
},
registerEvent : function () {
赖素文
authored
about a year ago
258
259
260
app . data . btnGetPoint . click ( function () {
app . methods . setLngAndlat ();
})
HuXiYu
authored
about a year ago
261
262
263
264
},
init : function () {
app . methods . initTable ();
app . methods . initFrom ();
赖素文
authored
about a year ago
265
app . methods . initCopy ();
HuXiYu
authored
about a year ago
266
267
268
269
270
app . registerEvent ();
}
};
app . init ();
});