210 lines
8.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* * 版 本 PIT-ADMS V7.0.3 敏捷开发框架
* Copyright (c) 2013-2018 Hexagon PPM
* 创建人:超级管理员
* 日 期2022-02-28 14:47
* 描 述:属性组表
*/
var PropertyID = request('PropertyID');
var ProjectId = request('ProjectId');
var IsRequired = request('IsRequired');
var IsChecked = request('IsChecked');
var ObjectTypeID = request('ObjectTypeID');
var selectedSpecialType = '';
var Save;
var obj;
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
console.log('IsRequired: ' + IsRequired);
page.initData();
page.bind();
},
bind: function () {
},
initData: function () {
// 初始化下拉列表并配置数据
$('#trigger_property_id').lrselect({
url: top.$.rootUrl + '/ZZDT_EC/ec_property/GetPropTreeDataByType', //获取数据地址
param: { ProjectId: ProjectId, ObjectTypeId: ObjectTypeID, exceptionProp: PropertyID }, //请求后台参数
type: 'tree',//数据展示类型: 1.default普通2.tree树形数据3. treemultiple树形多选multiple普通多选
allowSearch: true,
maxHeight: 205,
select: function (item) {
// 判断是否为末端节点
if (item == null) {
}
else if (item.ChildNodes && item.ChildNodes.length > 0) {
console.log('选中的是非末端节点:', item.text);
$('#trigger_property_id').lrselectSet('');
learun.alert.warning('请选择属性,而不是属性组。');
}
},
});
$('#trigger_property_id').on('change', function () {
var selectedValue = $(this).lrselectGet(); // 获取选中的值
console.log('trigger_property_id: ' + selectedValue);
if (selectedValue == null || selectedValue == -1) {
//未选前置属性
$('#dependency_type').lrselectSet('');
$('#trigger_operator').lrselectSet('');
$('#trigger_value').val('');
}
});
// 初始化下拉列表并配置数据
$('#dependency_type').lrselect({
data: [
{ id: '0', text: '不需要' },
{ id: '1', text: 'RequireIfRequired(前置属性必填时,该属性自己也必填)' },
{ id: '2', text: 'RequireIf(前置属性满足特定值后,该属性自己为必填)' },
{ id: '3', text: 'RequireMutually(同一属性组内的必填互斥)' }
],
placeholder: '请选择联动类型',
select: function (item) {
if (item == null) {
$('#div_trigger_value').hide();
$('#div_trigger_operator').hide();
}
else {
// 将选择的值赋给变量 B
selectedSpecialType = item.id;
console.log('选中的值为:' + selectedSpecialType);
switch (item.id) {
case "2":
$('#div_trigger_value').show();
$('#div_trigger_operator').show();
break;
default:
$('#div_trigger_value').hide();
$('#div_trigger_operator').hide();
break;
}
}
},
});
// 初始化下拉列表并配置数据
$('#trigger_operator').lrselect({
data: [
{ id: '=', text: '等于' },
{ id: '>', text: '大于' },
{ id: '<', text: '小于' },
{ id: '!=', text: '不等于' }
],
placeholder: '请选择操作符',
select: function (item) {
if (item) {
}
}
});
//objectTypeP对象查询
$.ajax({
url: top.$.rootUrl + '/ZZDT_EC/ec_property/GetObjectTypeP', // 替换为实际的 API 地址
type: 'GET', // GET 方法用于查询数据
data: { objectTypeID: ObjectTypeID, propertyID: PropertyID, ProjectId: ProjectId },
async: false,
dataType: "json",
success: function (data) {
obj = data.data; // 返回的是200那个结构体
console.log(obj); // 输出查看
$('#trigger_property_id').lrselectSet(obj.trigger_property_id);
$('#dependency_type').lrselectSet(obj.dependency_type);
$('#trigger_value').val(obj.trigger_value);
$('#trigger_operator').lrselectSet(obj.trigger_operator);
//$('#form').lrSetFormData(obj);
},
error: function (xhr, status, error) {
console.error("请求失败:", error); // 错误处理
}
});
},
};
// 保存数据。从发起的js文件里会调用这个函数
Save = function (callBack) {
var formData = $('#form').lrGetFormData();
console.log(formData.trigger_property_id);
console.log(formData.dependency_type);
console.log(formData.trigger_operator);
//VALIDATE
//if (formData.trigger_property_id != -1) {
// if (formData.dependency_type == -1 || formData.dependency_type == 0) {
// learun.alert.warning('请选择一个需要的联动类型。');
// return;
// }
//}
//没选 联动类型,就会保存为 不需要
if (formData.dependency_type === "" || formData.dependency_type === "-1") {
learun.alert.warning('请选择一个需要的联动类型。'); return;
}
else if (formData.dependency_type == 1) {
if (formData.trigger_property_id === "" || formData.trigger_property_id === "-1") {
learun.alert.warning('请选择一个前置属性。');
return;
}
}
else if (formData.dependency_type == 2) {
if (formData.trigger_property_id === "" || formData.trigger_property_id === "-1") {
learun.alert.warning('请选择一个前置属性。'); return;
}
if (formData.trigger_value === "" || formData.trigger_value === "-1") {
learun.alert.warning('前置属性的属性值需要填写。'); return;
}
if (formData.trigger_operator === "" || formData.trigger_operator === "-1") {
learun.alert.warning('前置属性的操作符需要填写。'); return;
}
}
var obj = {
PropertyID: PropertyID, // 这里根据你的数据模型,提取需要的字段
IsRequired: IsRequired,
IsChecked: true,
ObjectTypeID: ObjectTypeID,
trigger_property_id: formData.trigger_property_id,
dependency_type: formData.dependency_type,
trigger_value: formData.trigger_value,
trigger_operator: formData.trigger_operator,
PropertyType: "1"
}
console.log(obj);
var dataList = [obj]; // 将单个对象包装成数组
console.log(dataList);
$.ajax({
url: top.$.rootUrl + '/ZZDT_EC/ec_property/SaveObjectTypeP?objectTypeID=' + ObjectTypeID + "&ProjectId=" + ProjectId, // 只保存联动属性部分
method: 'POST',
contentType: 'application/json',
data: JSON.stringify(dataList),
success: function (response) {
alert('保存成功!');
learun.layerClose('PropertyDependentForm'); //再执行关闭
},
error: function (error) {
console.error('保存失败', error);
alert('保存失败,请重试!');
}
});
};
page.init();
}