|
|
@@ -69,10 +69,10 @@
|
|
|
v-if="getConditionType(domain.attrCode) === 'radio'"
|
|
|
>
|
|
|
<el-radio
|
|
|
- :value="item.id"
|
|
|
+ :value="item.id+''"
|
|
|
size="large"
|
|
|
v-for="item in getOptions(domain.attrCode)"
|
|
|
- :key="item.id"
|
|
|
+ :key="item.id+''"
|
|
|
>{{ item.name }}</el-radio
|
|
|
>
|
|
|
</el-radio-group>
|
|
|
@@ -291,10 +291,12 @@
|
|
|
style="display: inline-block; margin: 0 20px"
|
|
|
>
|
|
|
<el-input
|
|
|
- v-model="formData.actionJson[1].name"
|
|
|
+ v-model="formData.actionJson[1].name"
|
|
|
style="width: 327px"
|
|
|
placeholder="变更后对接人姓名"
|
|
|
- :disabled="formData.actionJson[1].linkType === 'select_account'"
|
|
|
+ :disabled="
|
|
|
+ formData.actionJson[1].linkType === 'select_account'
|
|
|
+ "
|
|
|
clearable
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
@@ -309,7 +311,9 @@
|
|
|
placeholder="变更后对接人手机号"
|
|
|
maxlength="11"
|
|
|
@input="handlePhoneInput"
|
|
|
- :disabled="formData.actionJson[1].linkType === 'select_account'"
|
|
|
+ :disabled="
|
|
|
+ formData.actionJson[1].linkType === 'select_account'
|
|
|
+ "
|
|
|
clearable
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
@@ -333,7 +337,7 @@
|
|
|
:disabled="formData.actionJson[1].linkType === 'manual_input'"
|
|
|
clearable
|
|
|
>
|
|
|
- <!-- -->
|
|
|
+ <!-- -->
|
|
|
<el-option
|
|
|
v-for="item in accountList"
|
|
|
:key="item.id"
|
|
|
@@ -379,6 +383,7 @@ const props = defineProps({
|
|
|
validator: (value: string | number) => value !== "" && value !== 0,
|
|
|
},
|
|
|
editData: {},
|
|
|
+ editType: "",
|
|
|
drawerTitle: {
|
|
|
type: String,
|
|
|
default: "规则配置",
|
|
|
@@ -414,7 +419,7 @@ const formData = ref<{
|
|
|
actionJson: [
|
|
|
{
|
|
|
actionCode: "specify_agreement"; // 固定:指定报价协议
|
|
|
- agreementId: string; // 报价协议ID
|
|
|
+ agreementId: string; // 报价协议ID
|
|
|
},
|
|
|
{
|
|
|
actionCode: "change_bs_account"; // 固定:变更对接人
|
|
|
@@ -463,10 +468,15 @@ const accountList = ref([]);
|
|
|
const dictionaries = ref([]);
|
|
|
|
|
|
const dispatchId = ref(""); //调度id
|
|
|
+const editType = ref("");
|
|
|
|
|
|
// 表单校验规则
|
|
|
// 先定义独立校验函数(放在formRules之前)
|
|
|
-const validateConditionGroups = (rule: any, value: ConditionGroup[], callback: any) => {
|
|
|
+const validateConditionGroups = (
|
|
|
+ rule: any,
|
|
|
+ value: ConditionGroup[],
|
|
|
+ callback: any
|
|
|
+) => {
|
|
|
// 1. 校验:至少1组条件
|
|
|
if (value.length === 0) {
|
|
|
return callback(new Error("至少配置1组“或者”条件"));
|
|
|
@@ -501,7 +511,9 @@ const validateConditionGroups = (rule: any, value: ConditionGroup[], callback: a
|
|
|
// 3.1 多选/标签类型(依赖minArray)
|
|
|
if (["checkbox", "inputTag"].includes(attrType)) {
|
|
|
if (!row.minArray || row.minArray.length === 0) {
|
|
|
- row.errorMsg = `请选择至少一个条件值(当前为${attrType === "checkbox" ? "多选" : "标签"}类型)`;
|
|
|
+ row.errorMsg = `请选择至少一个条件值(当前为${
|
|
|
+ attrType === "checkbox" ? "多选" : "标签"
|
|
|
+ }类型)`;
|
|
|
return callback(new Error(row.errorMsg));
|
|
|
}
|
|
|
}
|
|
|
@@ -518,11 +530,17 @@ const validateConditionGroups = (rule: any, value: ConditionGroup[], callback: a
|
|
|
}
|
|
|
// 3.3 普通类型(单选/输入框,依赖min或max)
|
|
|
else {
|
|
|
- const targetVal = ["radio", "select", "plate", "datetime"].includes(attrType)
|
|
|
- ? row.max
|
|
|
+ const targetVal = ["radio", "select", "plate", "datetime"].includes(
|
|
|
+ attrType
|
|
|
+ )
|
|
|
+ ? row.max
|
|
|
: row.min;
|
|
|
if (targetVal === null || targetVal === "" || targetVal === undefined) {
|
|
|
- row.errorMsg = `请${attrType === "datetime" ? "选择" : "输入"}条件值(当前为${attrType === "select" ? "下拉选择" : "文本输入"}类型)`;
|
|
|
+ row.errorMsg = `请${
|
|
|
+ attrType === "datetime" ? "选择" : "输入"
|
|
|
+ }条件值(当前为${
|
|
|
+ attrType === "select" ? "下拉选择" : "文本输入"
|
|
|
+ }类型)`;
|
|
|
return callback(new Error(row.errorMsg));
|
|
|
}
|
|
|
}
|
|
|
@@ -558,7 +576,9 @@ const validateLinkManPhone = (rule: any, value: string, callback: any) => {
|
|
|
return callback(new Error("请输入对接人手机号(手动输入模式)"));
|
|
|
}
|
|
|
if (!/^1[3-9]\d{9}$/.test(value)) {
|
|
|
- return callback(new Error("手机号格式错误,请输入11位有效号码(如13800138000)"));
|
|
|
+ return callback(
|
|
|
+ new Error("手机号格式错误,请输入11位有效号码(如13800138000)")
|
|
|
+ );
|
|
|
}
|
|
|
callback();
|
|
|
};
|
|
|
@@ -616,7 +636,6 @@ const formRules = reactive<FormRules>({
|
|
|
],
|
|
|
});
|
|
|
|
|
|
-
|
|
|
// 工具函数:根据条件类型获取对应的运算符列表
|
|
|
const getOperations = (conditionValue: string) => {
|
|
|
const target = dispatchList.value.find(
|
|
|
@@ -661,7 +680,7 @@ const handleOperatorChange = (domain: ConditionRow) => {
|
|
|
|
|
|
// 组内添加并且条件行
|
|
|
const handleAddRow = (groupIndex: number) => {
|
|
|
- formData.conditionGroups[groupIndex].actions.push({
|
|
|
+ formData.value.conditionGroups[groupIndex].actions.push({
|
|
|
key: Date.now(),
|
|
|
min: "",
|
|
|
attrCode: "",
|
|
|
@@ -674,12 +693,12 @@ const handleAddRow = (groupIndex: number) => {
|
|
|
|
|
|
// 删除组内条件行
|
|
|
const handleRemoveRow = (groupIndex: number, rowIndex: number) => {
|
|
|
- formData.conditionGroups[groupIndex].actions.splice(rowIndex, 1);
|
|
|
+ formData.value.conditionGroups[groupIndex].actions.splice(rowIndex, 1);
|
|
|
};
|
|
|
|
|
|
// 添加新的或者条件组
|
|
|
const handleAddGroup = () => {
|
|
|
- formData.conditionGroups.push({
|
|
|
+ formData.value.conditionGroups.push({
|
|
|
groupKey: Date.now(),
|
|
|
actions: [
|
|
|
{
|
|
|
@@ -728,7 +747,9 @@ const getByCompanyId = async () => {
|
|
|
// 获取保司账号列表
|
|
|
const getAccountList = async () => {
|
|
|
try {
|
|
|
- const res = await api.dispatchApi.getAgreementAttributionByCompanyId(props.companyId);
|
|
|
+ const res = await api.dispatchApi.getAgreementAttributionByCompanyId(
|
|
|
+ props.companyId
|
|
|
+ );
|
|
|
accountList.value = res.data;
|
|
|
} catch (error) {
|
|
|
console.error("获取保司账号列表失败:", error);
|
|
|
@@ -752,55 +773,52 @@ const handleTypeChange = () => {
|
|
|
|
|
|
// 提交表单
|
|
|
const submit = async () => {
|
|
|
+ const { editType } = props;
|
|
|
// if (!formRef.value) return;
|
|
|
|
|
|
-
|
|
|
- // await formRef.value.validate();
|
|
|
- const actionJson = formData.value.actionJson;
|
|
|
-
|
|
|
- // 构建提交的actions数据
|
|
|
- // const actions =formData.value.actionJson
|
|
|
- const actions = [
|
|
|
- // 报价协议动作
|
|
|
- {
|
|
|
- actionCode: actionJson[0].actionCode,
|
|
|
- actionJson:{
|
|
|
+ // await formRef.value.validate();
|
|
|
+ const actionJson = formData.value.actionJson;
|
|
|
|
|
|
- agreementId: actionJson[0].agreementId,
|
|
|
- }
|
|
|
+ // const actions =formData.value.actionJson
|
|
|
+ const actions = [
|
|
|
+ {
|
|
|
+ actionCode: actionJson[0].actionCode,
|
|
|
+ actionJson: {
|
|
|
+ agreementId: actionJson[0].agreementId,
|
|
|
},
|
|
|
- // 对接人动作(仅保留当前方式的有效字段)
|
|
|
- {
|
|
|
- actionCode: actionJson[1].linkType=='manual_input'?'change_poc':'change_bs_account',
|
|
|
- actionJson:{
|
|
|
- ...(actionJson[1].linkType === "manual_input"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ actionCode:
|
|
|
+ actionJson[1].linkType == "manual_input"
|
|
|
+ ? "change_poc"
|
|
|
+ : "change_bs_account",
|
|
|
+ actionJson: {
|
|
|
+ ...(actionJson[1].linkType === "manual_input"
|
|
|
? { name: actionJson[1].name, phone: actionJson[1].phone }
|
|
|
: { accountId: actionJson[1].accountId }),
|
|
|
- }
|
|
|
-
|
|
|
},
|
|
|
- ];
|
|
|
-
|
|
|
- // 最终提交数据
|
|
|
- const submitData = {
|
|
|
- companyId: props.companyId + "",
|
|
|
- attrLinks: formData.value.conditionGroups.flatMap((group => group.actions)),
|
|
|
- actions,
|
|
|
- // ...(dispatchId.value && { dispatchId: dispatchId.value }), // 编辑时携带ID
|
|
|
- };
|
|
|
-
|
|
|
- // 调用接口(新增/编辑)
|
|
|
- const apiFunc = dispatchId.value
|
|
|
- ? api.dispatchApi.updateAgreementDispatch
|
|
|
- : api.dispatchApi.addAgreementDispatch;
|
|
|
- const res = await apiFunc(submitData);
|
|
|
-
|
|
|
- if (res.code === 200) {
|
|
|
- ElMessage.success('保存成功');
|
|
|
- handleClose();
|
|
|
- } else {
|
|
|
- ElMessage.error('保存失败');
|
|
|
- }
|
|
|
+ },
|
|
|
+ ];
|
|
|
+
|
|
|
+ const submitData = {
|
|
|
+ companyId: props.companyId + "",
|
|
|
+ attrLinks: formData.value.conditionGroups.flatMap((group) => group.actions),
|
|
|
+ actions,
|
|
|
+ ...(dispatchId.value && { dispatchId: dispatchId.value }), // 编辑时携带ID
|
|
|
+ };
|
|
|
+
|
|
|
+ const apiFunc = editType==="edit"
|
|
|
+ ? api.dispatchApi.updateAgreementDispatch
|
|
|
+ : api.dispatchApi.addAgreementDispatch;
|
|
|
+ // const apiFunc = api.dispatchApi.addAgreementDispatch;
|
|
|
+ const res = await apiFunc(submitData);
|
|
|
+
|
|
|
+ if (res.code === 200) {
|
|
|
+ ElMessage.success("保存成功");
|
|
|
+ handleClose();
|
|
|
+ } else {
|
|
|
+ ElMessage.error("保存失败");
|
|
|
+ }
|
|
|
// try {
|
|
|
// } catch (error) {
|
|
|
// ElMessage.error("表单校验失败,请检查填写内容");
|
|
|
@@ -822,112 +840,185 @@ const handleClose = () => {
|
|
|
// formData.value = props.editData;
|
|
|
// });
|
|
|
onMounted(async () => {
|
|
|
- await Promise.all([getList(), getByCompanyId(), getAccountList()]);
|
|
|
+ // 1. 加载基础数据(条件类型、协议列表等)
|
|
|
+ await Promise.all([
|
|
|
+ getList(), // 条件类型列表
|
|
|
+ getByCompanyId(), // 报价协议列表
|
|
|
+ getAccountList(), // 保司账号列表
|
|
|
+ ]);
|
|
|
dictionaries.value = await getDictItems({ dictCode: "dispatch_action" });
|
|
|
|
|
|
- dispatchId.value = props.editData.dispatchId;
|
|
|
- if (props.editData && Object.keys(props.editData).length > 0) {
|
|
|
- const rawData = props.editData;
|
|
|
-
|
|
|
- const conditionGroups: ConditionGroup[] = [];
|
|
|
- const rawGroups = rawData.groupedAttrLinks
|
|
|
- ? rawData.groupedAttrLinks
|
|
|
- : rawData.attrLinks
|
|
|
- ? [rawData.attrLinks]
|
|
|
- : [];
|
|
|
+ // 2. 提取props参数
|
|
|
+ const { editType, editData } = props;
|
|
|
+ console.log("当前操作类型:", editType);
|
|
|
+
|
|
|
+ dispatchId.value = editData?.dispatchId || "";
|
|
|
|
|
|
- rawGroups.forEach((rawGroup: any[], groupIndex: number) => {
|
|
|
+ // 3. 初始化formData基础结构(固定保留actionJson默认值,仅动态处理conditionGroups)
|
|
|
+ const baseFormData = {
|
|
|
+ // actionJson保持初始默认结构(新增/编辑通用基础配置)
|
|
|
+ actionJson: [
|
|
|
+ {
|
|
|
+ actionCode: "specify_agreement",
|
|
|
+ agreementId: "", // 新增时为空,编辑时后续单独处理
|
|
|
+ },
|
|
|
+ {
|
|
|
+ actionCode: "change_bs_account",
|
|
|
+ linkType: "manual_input" as "manual_input" | "select_account",
|
|
|
+ name: "",
|
|
|
+ phone: "",
|
|
|
+ accountId: "",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ // 条件组:根据editType动态赋值
|
|
|
+ conditionGroups: [] as ConditionGroup[],
|
|
|
+ };
|
|
|
+ let isDefaultScene = false;
|
|
|
+ // 4. 新增场景:仅初始化conditionGroups为默认一组条件
|
|
|
+ if (!editType || editType === "add") {
|
|
|
+ isDefaultScene = true;
|
|
|
+ console.log("[初始化] 进入场景:无editType或add"); // 新增日志
|
|
|
+
|
|
|
+ // 提取原始条件组(兼容editData可能的格式)
|
|
|
+ const rawGroups = editData?.groupedAttrLinks
|
|
|
+ ? editData.groupedAttrLinks
|
|
|
+ : editData?.attrLinks
|
|
|
+ ? [editData.attrLinks]
|
|
|
+ : [];
|
|
|
+ console.log("[初始化] 提取到的rawGroups:", rawGroups, "长度:", rawGroups.length); // 新增日志
|
|
|
+
|
|
|
+ // 转换rawGroups为conditionGroups
|
|
|
+ baseFormData.conditionGroups = rawGroups.map((rawGroup: any[], groupIdx: number) => {
|
|
|
const group: ConditionGroup = {
|
|
|
- groupKey: rawData.dispatchId || Date.now(),
|
|
|
- actions: [], // 组内"并且"条件行
|
|
|
+ groupKey: editData?.dispatchId || `group_${groupIdx}_${Date.now()}`,
|
|
|
+ actions: [],
|
|
|
};
|
|
|
|
|
|
- rawGroup.forEach((rawAttr: any) => {
|
|
|
- // 每个原始条件项对应一个 action 行
|
|
|
- group.actions.push({
|
|
|
- key: rawAttr.id || Date.now(),
|
|
|
- attrCode: rawAttr.attrCode || "",
|
|
|
- operator: rawAttr.operator || "",
|
|
|
- min: rawAttr.min ? parseInt(rawAttr.min) : "",
|
|
|
- max: rawAttr.max ? parseInt(rawAttr.max) : "",
|
|
|
- // 强制确保minArray为数组(避免undefined导致校验失败)
|
|
|
- minArray: rawAttr.minArray ? [...rawAttr.minArray] : [],
|
|
|
+ // 处理组内条件行
|
|
|
+ if (rawGroup.length > 0) {
|
|
|
+ group.actions = rawGroup.map((rawRow: any, rowIdx: number) => ({
|
|
|
+ key: rawRow.id || `row_${groupIdx}_${rowIdx}_${Date.now()}`,
|
|
|
+ attrCode: rawRow.attrCode || "",
|
|
|
+ operator: rawRow.operator || "",
|
|
|
+ min: rawRow.min !== undefined ? rawRow.min : null,
|
|
|
+ max: rawRow.max !== undefined ? rawRow.max : null,
|
|
|
+ minArray: rawRow.minArray ? [...rawRow.minArray] : [],
|
|
|
errorMsg: "",
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- // 确保每个组至少有一行条件(防止空组)
|
|
|
- if (group.actions.length === 0) {
|
|
|
+ }));
|
|
|
+ } else {
|
|
|
+ // 组内无数据时,兜底1行
|
|
|
group.actions.push({
|
|
|
key: Date.now(),
|
|
|
attrCode: "",
|
|
|
operator: "",
|
|
|
- min: "",
|
|
|
- max: "",
|
|
|
+ min: null,
|
|
|
+ max: null,
|
|
|
errorMsg: "",
|
|
|
minArray: [],
|
|
|
});
|
|
|
}
|
|
|
-
|
|
|
- conditionGroups.push(group);
|
|
|
+ return group;
|
|
|
});
|
|
|
|
|
|
- // 3. 组装最终的formData
|
|
|
- formData.value = {
|
|
|
- agreement: "",
|
|
|
- actionJson: [
|
|
|
- // 第一个对象:报价协议(对应初始 actionJson[0])
|
|
|
- {
|
|
|
- actionCode: "specify_agreement",
|
|
|
- agreementId: "", // 从编辑数据中取协议ID
|
|
|
- },
|
|
|
- // 第二个对象:对接人信息(对应初始 actionJson[1])
|
|
|
- {
|
|
|
- actionCode: "",
|
|
|
- accountId: "",
|
|
|
- name: "",
|
|
|
- phone: "",
|
|
|
- },
|
|
|
- ],
|
|
|
- conditionGroups:
|
|
|
- conditionGroups.length > 0
|
|
|
- ? conditionGroups
|
|
|
- : [
|
|
|
- {
|
|
|
- groupKey: Date.now(),
|
|
|
- actions: [
|
|
|
- {
|
|
|
- key: Date.now(),
|
|
|
- attrCode: "",
|
|
|
- operator: "",
|
|
|
- min: "",
|
|
|
- max: "",
|
|
|
- errorMsg: "",
|
|
|
- minArray: [],
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
- ],
|
|
|
- };
|
|
|
- } else {
|
|
|
- // 如果没有编辑数据,使用默认初始值
|
|
|
- formData.value = {
|
|
|
- agreement: "",
|
|
|
- actionJson: [
|
|
|
- // 第一个对象:报价协议(对应初始 actionJson[0])
|
|
|
- {
|
|
|
- actionCode: "specify_agreement",
|
|
|
- agreementId: "", // 从编辑数据中取协议ID
|
|
|
- },
|
|
|
- // 第二个对象:对接人信息(对应初始 actionJson[1])
|
|
|
- {
|
|
|
- actionCode: "", // 显式添加 actionCode
|
|
|
- accountId: "",
|
|
|
- name: "",
|
|
|
- phone: "",
|
|
|
- },
|
|
|
- ],
|
|
|
- conditionGroups: [
|
|
|
+ // 第一次兜底:如果转换后还是空,直接加1组
|
|
|
+ if (baseFormData.conditionGroups.length === 0) {
|
|
|
+ console.log("[初始化] rawGroups为空,第一次兜底添加1组条件"); // 新增日志
|
|
|
+ baseFormData.conditionGroups.push({
|
|
|
+ groupKey: Date.now(),
|
|
|
+ actions: [
|
|
|
+ {
|
|
|
+ key: Date.now(),
|
|
|
+ attrCode: "",
|
|
|
+ operator: "",
|
|
|
+ min: null,
|
|
|
+ max: null,
|
|
|
+ errorMsg: "",
|
|
|
+ minArray: [],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 5. 编辑场景:从editData解析conditionGroups(保持之前的编辑逻辑)
|
|
|
+ else if (
|
|
|
+ editType === "edit" &&
|
|
|
+ editData &&
|
|
|
+ Object.keys(editData).length > 0
|
|
|
+ ) {
|
|
|
+ const rawGroups = editData.groupedAttrLinks
|
|
|
+ ? editData.groupedAttrLinks
|
|
|
+ : editData.attrLinks
|
|
|
+ ? [editData.attrLinks]
|
|
|
+ : [];
|
|
|
+
|
|
|
+ baseFormData.conditionGroups = rawGroups.map(
|
|
|
+ (rawGroup: any[], groupIdx: number) => {
|
|
|
+ const group: ConditionGroup = {
|
|
|
+ groupKey: editData.dispatchId || `group_${groupIdx}_${Date.now()}`,
|
|
|
+ actions: [],
|
|
|
+ };
|
|
|
+
|
|
|
+ rawGroup.forEach((rawRow: any, rowIdx: number) => {
|
|
|
+ group.actions.push({
|
|
|
+ key: rawRow.id || `row_${groupIdx}_${rowIdx}_${Date.now()}`,
|
|
|
+ attrCode: rawRow.attrCode || "",
|
|
|
+ operator: rawRow.operator || "",
|
|
|
+ min: rawRow.min !== undefined ? rawRow.min : null,
|
|
|
+ max: rawRow.max !== undefined ? rawRow.max : null,
|
|
|
+ minArray: rawRow.minArray ? [...rawRow.minArray] : [],
|
|
|
+ errorMsg: "",
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ // 兜底:确保每组至少有一行条件
|
|
|
+ if (group.actions.length === 0) {
|
|
|
+ group.actions.push({
|
|
|
+ key: Date.now(),
|
|
|
+ attrCode: "",
|
|
|
+ operator: "",
|
|
|
+ min: null,
|
|
|
+ max: null,
|
|
|
+ errorMsg: "",
|
|
|
+ minArray: [],
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return group;
|
|
|
+ }
|
|
|
+ );
|
|
|
+
|
|
|
+ // 编辑场景补充:回显actionJson(报价协议和对接人信息)
|
|
|
+ if (editData.actions && editData.actions.length > 0) {
|
|
|
+ // 回显报价协议
|
|
|
+ const agreementAction = editData.actions.find(
|
|
|
+ (action: any) => action.actionCode === "specify_agreement"
|
|
|
+ );
|
|
|
+ if (agreementAction?.actionJson?.agreementId) {
|
|
|
+ baseFormData.actionJson[0].agreementId =
|
|
|
+ agreementAction.actionJson.agreementId;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 回显对接人信息
|
|
|
+ const linkAction = editData.actions.find(
|
|
|
+ (action: any) =>
|
|
|
+ action.actionCode === "change_bs_account" ||
|
|
|
+ action.actionCode === "change_poc"
|
|
|
+ );
|
|
|
+ if (linkAction?.actionJson) {
|
|
|
+ const linkJson = linkAction.actionJson;
|
|
|
+ if (linkJson.accountId) {
|
|
|
+ baseFormData.actionJson[1].linkType = "select_account";
|
|
|
+ baseFormData.actionJson[1].accountId = linkJson.accountId;
|
|
|
+ } else {
|
|
|
+ baseFormData.actionJson[1].linkType = "manual_input";
|
|
|
+ baseFormData.actionJson[1].name = linkJson.name || "";
|
|
|
+ baseFormData.actionJson[1].phone = linkJson.phone || "";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (baseFormData.conditionGroups.length === 0) {
|
|
|
+ baseFormData.conditionGroups = [
|
|
|
{
|
|
|
groupKey: Date.now(),
|
|
|
actions: [
|
|
|
@@ -935,17 +1026,23 @@ onMounted(async () => {
|
|
|
key: Date.now(),
|
|
|
attrCode: "",
|
|
|
operator: "",
|
|
|
- min: "",
|
|
|
- max: "",
|
|
|
+ min: null,
|
|
|
+ max: null,
|
|
|
errorMsg: "",
|
|
|
minArray: [],
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
- ],
|
|
|
- };
|
|
|
+ ];
|
|
|
+ }
|
|
|
}
|
|
|
- console.log(formData.value);
|
|
|
+
|
|
|
+ // 6. 赋值给formData(确保响应式生效)
|
|
|
+ formData.value = baseFormData;
|
|
|
+ console.log(
|
|
|
+ `[${editType}] 场景初始化完成,conditionGroups长度:`,
|
|
|
+ formData.value.conditionGroups.length
|
|
|
+ );
|
|
|
});
|
|
|
</script>
|
|
|
|