182 lines
6.9 KiB
JavaScript
182 lines
6.9 KiB
JavaScript
(function (vc) {
|
|
|
|
vc.extends({
|
|
propTypes: {
|
|
callBackListener: vc.propTypes.string, //父组件名称
|
|
callBackFunction: vc.propTypes.string //父组件监听方法
|
|
},
|
|
data: {
|
|
addHardwareManufacturerInfo: {
|
|
hmId: '',
|
|
hmName: '',
|
|
version: '',
|
|
protocolImpl: '',
|
|
hmType: '1001',
|
|
author: '',
|
|
link: '',
|
|
license: '',
|
|
prodUrl: '',
|
|
//defaultProtocol: '',
|
|
}
|
|
},
|
|
_initMethod: function () {
|
|
|
|
},
|
|
_initEvent: function () {
|
|
vc.on('addHardwareManufacturer', 'openAddHardwareManufacturerModal', function () {
|
|
$('#addHardwareManufacturerModel').modal('show');
|
|
});
|
|
},
|
|
methods: {
|
|
addHardwareManufacturerValidate() {
|
|
return vc.validate.validate({
|
|
addHardwareManufacturerInfo: $that.addHardwareManufacturerInfo
|
|
}, {
|
|
'addHardwareManufacturerInfo.hmName': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "厂商名称不能为空"
|
|
},
|
|
{
|
|
limit: "maxLength",
|
|
param: "200",
|
|
errInfo: "厂商名称不能超过200"
|
|
},
|
|
],
|
|
'addHardwareManufacturerInfo.version': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "厂商协议版本号不能为空"
|
|
},
|
|
{
|
|
limit: "maxLength",
|
|
param: "12",
|
|
errInfo: "厂商协议版本号不能超过12"
|
|
},
|
|
],
|
|
'addHardwareManufacturerInfo.protocolImpl': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "协议实现不能为空"
|
|
},
|
|
{
|
|
limit: "maxLength",
|
|
param: "200",
|
|
errInfo: "协议实现不能超过200"
|
|
},
|
|
],
|
|
'addHardwareManufacturerInfo.hmType': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "商户类型不能为空"
|
|
},
|
|
],
|
|
'addHardwareManufacturerInfo.author': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "该协议开发者不能为空"
|
|
},
|
|
{
|
|
limit: "maxLength",
|
|
param: "64",
|
|
errInfo: "该协议开发者不能超过64"
|
|
},
|
|
],
|
|
'addHardwareManufacturerInfo.link': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "开发者联系方式不能为空"
|
|
},
|
|
{
|
|
limit: "phone",
|
|
param: "",
|
|
errInfo: "开发者联系方式格式错误"
|
|
},
|
|
],
|
|
'addHardwareManufacturerInfo.license': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "该协议许可不能为空"
|
|
},
|
|
],
|
|
'addHardwareManufacturerInfo.prodUrl': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "产品官网不能为空"
|
|
},
|
|
{
|
|
limit: "maxLength",
|
|
param: "500",
|
|
errInfo: "产品官网不能超过500"
|
|
},
|
|
],
|
|
/*'addHardwareManufacturerInfo.defaultProtocol': [
|
|
{
|
|
limit: "required",
|
|
param: "",
|
|
errInfo: "是否启用该协议不能为空"
|
|
},
|
|
],*/
|
|
});
|
|
},
|
|
saveHardwareManufacturerInfo: function () {
|
|
if (!$that.addHardwareManufacturerValidate()) {
|
|
vc.toast(vc.validate.errInfo);
|
|
return;
|
|
}
|
|
|
|
//不提交数据将数据 回调给侦听处理
|
|
if (vc.notNull($props.callBackListener)) {
|
|
vc.emit($props.callBackListener, $props.callBackFunction, $that.addHardwareManufacturerInfo);
|
|
$('#addHardwareManufacturerModel').modal('hide');
|
|
return;
|
|
}
|
|
|
|
vc.http.apiPost(
|
|
'/hm.saveHardwareManufacturer',
|
|
JSON.stringify($that.addHardwareManufacturerInfo),
|
|
{
|
|
emulateJSON: true
|
|
},
|
|
function (json, res) {
|
|
let _json = JSON.parse(json);
|
|
if (_json.code === 0) {
|
|
//关闭model
|
|
$('#addHardwareManufacturerModel').modal('hide');
|
|
$that.clearAddHardwareManufacturerInfo();
|
|
vc.emit('hardwareManufacturerManage', 'listHardwareManufacturer', {});
|
|
return;
|
|
}
|
|
vc.toast(_json.msg);
|
|
},
|
|
function (errInfo, error) {
|
|
console.log('请求失败处理');
|
|
vc.toast(errInfo);
|
|
});
|
|
},
|
|
clearAddHardwareManufacturerInfo: function () {
|
|
$that.addHardwareManufacturerInfo = {
|
|
hmId: '',
|
|
hmName: '',
|
|
version: '',
|
|
protocolImpl: '',
|
|
hmType: '1001',
|
|
author: '',
|
|
link: '',
|
|
license: '',
|
|
prodUrl: '',
|
|
//defaultProtocol: '',
|
|
};
|
|
}
|
|
}
|
|
});
|
|
})(window.vc);
|