parent
64d16eeeed
commit
5c2a8b67fe
1 changed files with 0 additions and 260 deletions
@ -1,260 +0,0 @@ |
||||
/** |
||||
* 自定义模块前端工具 |
||||
*/ |
||||
(function () { |
||||
|
||||
|
||||
let URLS = { |
||||
"config": { |
||||
"get": "/mdiy/config/get.do", |
||||
formURL: { |
||||
update: { |
||||
"url": "/mdiy/configData/update.do", |
||||
"params": {} |
||||
}, |
||||
save: { |
||||
"url": "/mdiy/configData/update.do", |
||||
"params": {} |
||||
}, |
||||
get: { |
||||
"url": "/mdiy/configData/get.do", |
||||
"params": {} |
||||
} |
||||
}, |
||||
|
||||
}, |
||||
"form": { |
||||
"get": "/mdiy/form/get.do", |
||||
formURL: { |
||||
update: { |
||||
"url": "/mdiy/formData/update.do", |
||||
"params": {} |
||||
}, |
||||
save: { |
||||
"url": "/mdiy/formData/save.do", |
||||
"params": {} |
||||
}, |
||||
get: { |
||||
"url": "/mdiy/formData/getData.do", |
||||
"params": {} |
||||
} |
||||
}, |
||||
}, |
||||
"model": { |
||||
"get": "/mdiy/model/get.do", |
||||
formURL: { |
||||
update: { |
||||
"url": "/mdiy/model/data/update.do", |
||||
"params": {} |
||||
}, |
||||
save: { |
||||
"url": "/mdiy/model/data/save.do", |
||||
"params": {} |
||||
}, |
||||
get: { |
||||
"url": "/mdiy/model/data.do", |
||||
"params": {} |
||||
} |
||||
}, |
||||
} |
||||
}; |
||||
|
||||
/** |
||||
* 获取自定义配置 |
||||
* @param configName:配置名称 |
||||
* @paramk key:配置的key值(可选),key == null 可以获取所有的配置 |
||||
* @param isSystem true 后台调用会拼接后台地址 false前台调用 |
||||
*/ |
||||
function config(configName, key,isSystem) { |
||||
|
||||
var data = {configName: configName}; |
||||
|
||||
if(key != null) { |
||||
data.key = key; |
||||
} |
||||
|
||||
if(isSystem) {
|
||||
return ms.http.get(ms.manager + "/mdiy/configData/getMap.do",data); |
||||
} else { |
||||
return ms.http.get(ms.base + "/mdiy/config/get.do",data); |
||||
} |
||||
|
||||
} |
||||
|
||||
|
||||
|
||||
var dict = { |
||||
/** |
||||
* 获取所有字典类型的数组集合 |
||||
* @param dictType 字典类型 支持多个类型用英文逗号隔开 |
||||
* @param isChild 子业务类型 可选 |
||||
*/ |
||||
list: function(dictType, isChild) { |
||||
var _dict = { |
||||
dictType: dictType, |
||||
isChild: isChild, |
||||
} |
||||
return ms.http.get(ms.base + '/mdiy/dict/list.do', _dict); |
||||
}, |
||||
/** |
||||
* 根据字典 value 获取对应的 label |
||||
* @param dictList 字典列表 |
||||
* @param value 值 |
||||
* @returns {string|string|[{message: string, required: boolean}]|*} |
||||
*/ |
||||
getLabel: function(dictList, value) { |
||||
var data = dictList.find(function (v) { |
||||
return v.dictValue == value; |
||||
}); |
||||
|
||||
if (data) { |
||||
return data.dictLabel; |
||||
} |
||||
return ""; |
||||
}, |
||||
/** |
||||
* 根据字典 label 获取对应的 value |
||||
* @param dictList 字典列表 |
||||
* @param label 值 |
||||
* @returns {string|string|[{message: string, required: boolean}]|*} |
||||
*/ |
||||
getValue: function(dictList, label) { |
||||
var data = dictList.find(function (v) { |
||||
return v.dictLabel == label; |
||||
}); |
||||
|
||||
if (data) { |
||||
return data.dictValue; |
||||
} |
||||
return ""; |
||||
} |
||||
|
||||
} |
||||
|
||||
|
||||
var model = { |
||||
|
||||
/** |
||||
* 模型地址资源配置 |
||||
*/ |
||||
|
||||
/** |
||||
* 配置模型 |
||||
* @param renderDomId 绑定的domid,表单会显示在dom里面 |
||||
* @param model 模型对象 示例:业务调用{modelName:模型名称},自动业务使用{id:模型编号} |
||||
* @param params 请求参数 示例:{参数名称:值} |
||||
* @param isSystem true 后台调用会拼接后台地址 false前台调用 |
||||
* @returns {Promise<custom_model>} |
||||
*/ |
||||
config: function(renderDomId, model, params, isSystem) { |
||||
|
||||
URLS.config.formURL.get.params = params; |
||||
var urlStrs = JSON.stringify(URLS.config.formURL); |
||||
return this.render(renderDomId, model, JSON.parse(urlStrs), URLS["config"].get, isSystem); |
||||
}, |
||||
|
||||
/** |
||||
* 业务表单模型 |
||||
* @param renderDomId 绑定的domid,表单会显示在dom里面 |
||||
* @param model 模型对象 示例:业务调用{modelName:模型名称},自动业务使用{id:模型编号} |
||||
* @param params 请求参数 示例:{参数名称:值} |
||||
* @param isSystem true 后台调用会拼接后台地址 false前台调用 |
||||
* @returns {Promise<custom_model>} |
||||
*/ |
||||
form: function(renderDomId, model, params, isSystem) { |
||||
URLS.form.formURL.get.params = params; |
||||
var urlStrs = JSON.stringify(URLS.form.formURL); |
||||
return this.render(renderDomId, model, JSON.parse(urlStrs), URLS["form"].get, isSystem); |
||||
}, |
||||
|
||||
/** |
||||
* 扩展业务模型 |
||||
* @param renderDomId 绑定的domid,表单会显示在dom里面 |
||||
* @param model 模型对象 示例:业务调用方式{modelName:模型名称}如配置的使用,自动业务使用{id:模型编号},如内容模型 |
||||
* @param params 请求参数 示例:{参数名称:值} |
||||
* @param isSystem true 后台调用会拼接后台地址 false前台调用 |
||||
* @returns {Promise<custom_model>} |
||||
*/ |
||||
extend: function(renderDomId, model, params, isSystem) { |
||||
|
||||
URLS.model.formURL.get.params = params; |
||||
var urlStrs = JSON.stringify(URLS.model.formURL); |
||||
return this.render(renderDomId, model,JSON.parse(urlStrs) , URLS["model"].get, isSystem); |
||||
}, |
||||
|
||||
/** |
||||
* 渲染自定义模型对象 |
||||
* @param renderDomId 绑定的domid,表单会显示在dom里面 |
||||
* @param model 模型对象 示例:业务调用{modelName:模型名称},自动业务使用{id:模型编号} |
||||
* @param url 模型获取地址 |
||||
* @param isSystem true 后台调用会拼接后台地址 false前台调用 |
||||
* @returns {Promise<custom_model>} 返回model对象 |
||||
*/ |
||||
render: function(renderDomId, model, formUrls, url, isSystem) { |
||||
// if(model.modelName!=undefined || model.modelId!=undefined){
|
||||
// return null;
|
||||
// }
|
||||
//查模型
|
||||
|
||||
if (isSystem) { |
||||
url = ms.manager + url; |
||||
formUrls.update.url = ms.manager + formUrls.update.url; |
||||
formUrls.save.url = ms.manager + formUrls.save.url; |
||||
formUrls.get.url = ms.manager + formUrls.get.url; |
||||
} |
||||
var modelId = 0; |
||||
var modelName = ""; |
||||
|
||||
return new Promise(function(resolve,reject) { |
||||
|
||||
ms.http.get(url, model).then(function (res) { |
||||
if (res.result && res.data) { |
||||
//因为命名规范问做容错处理
|
||||
if("undefined" != typeof formVue) { |
||||
form = formVue; |
||||
} |
||||
form.mdiyModel = res.data; |
||||
modelId = res.data.id; |
||||
modelName = res.data.modelName; |
||||
var data = JSON.parse(form.mdiyModel.modelJson); |
||||
form.$nextTick(function () { |
||||
|
||||
var modelDom = document.getElementById(renderDomId); |
||||
modelDom.innerHTML=""; |
||||
var modelDom = document.getElementById(renderDomId); |
||||
var scriptDom = document.createElement('script'); |
||||
scriptDom.innerHTML = data.script; |
||||
var divDom = document.createElement('div'); |
||||
divDom.id = 'custom-model'; |
||||
divDom.innerHTML = data.html; |
||||
modelDom.appendChild(scriptDom); |
||||
modelDom.appendChild(divDom); //初始化自定义模型并传入关联参数
|
||||
// promise抛出resolve进行外部调用自定义模型
|
||||
resolve(new custom_model({ |
||||
data: { |
||||
modelName: modelName, |
||||
modelId: modelId, |
||||
formURL: formUrls |
||||
} |
||||
})) |
||||
}); |
||||
|
||||
} |
||||
}); |
||||
}) |
||||
} |
||||
} |
||||
|
||||
var mdiy = { |
||||
dict: dict, |
||||
model: model, |
||||
config: config |
||||
} |
||||
|
||||
|
||||
if (typeof ms != "object") { |
||||
window.ms = {}; |
||||
} |
||||
window.ms.mdiy = mdiy; |
||||
window.ms.debug = false |
||||
}()); |
||||
Loading…
Reference in new issue