210 lines
8.4 KiB
JavaScript
Raw Normal View History

2025-08-13 11:14:39 +08:00
/* * 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();
}