hookehuyr

🐞 fix(规则判断): 单选或者多选组件带有补充信息时,判断内容包含了冒号之后的内容导致判断出问题

1 <!-- 1 <!--
2 * @Date: 2022-07-18 10:22:22 2 * @Date: 2022-07-18 10:22:22
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2024-07-16 15:53:15 4 + * @LastEditTime: 2024-07-21 11:49:27
5 * @FilePath: /data-table/src/views/index.vue 5 * @FilePath: /data-table/src/views/index.vue
6 * @Description: 首页 6 * @Description: 首页
7 --> 7 -->
...@@ -796,10 +796,22 @@ const checkRules = () => { ...@@ -796,10 +796,22 @@ const checkRules = () => {
796 let form_submission_value = postData.value[expr['field_name']]; // 表单提交值, field_12 : "" || field_13 : [] 796 let form_submission_value = postData.value[expr['field_name']]; // 表单提交值, field_12 : "" || field_13 : []
797 let rule_matching_value = expr['values']; // 规则匹配值 values : ['x'] 797 let rule_matching_value = expr['values']; // 规则匹配值 values : ['x']
798 if (typeof form_submission_value === 'string') { // 表单值为字符串(单选,下拉) 798 if (typeof form_submission_value === 'string') { // 表单值为字符串(单选,下拉)
799 + // 处理单选项带补充信息时判断,去除补充信息
800 + if (form_submission_value.indexOf(':') !== -1) {
801 + let parts = form_submission_value.split(':');
802 + form_submission_value = parts[0];
803 + }
799 const k = !!rule_matching_value.includes(form_submission_value); // 转换为布尔值 804 const k = !!rule_matching_value.includes(form_submission_value); // 转换为布尔值
800 condition += `${k}${op}`; 805 condition += `${k}${op}`;
801 } 806 }
802 if (typeof form_submission_value === 'object') { // 表单值为数组(多选) 807 if (typeof form_submission_value === 'object') { // 表单值为数组(多选)
808 + // 处理多选项带补充信息时判断,去除补充信息
809 + form_submission_value = form_submission_value.map(item => {
810 + if (item.includes(':')) {
811 + return item.split(':')[0].trim(); // 去除冒号及其后面的部分并去除前后空格
812 + }
813 + return item;
814 + });
803 const k = !!(_.intersection(rule_matching_value, form_submission_value)).length; // 转换为布尔值 815 const k = !!(_.intersection(rule_matching_value, form_submission_value)).length; // 转换为布尔值
804 condition += `${k}${op}` 816 condition += `${k}${op}`
805 } 817 }
......