liyu-pc-base 1.0.58 → 1.0.60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1616,9 +1616,31 @@ const Ue = "customviewdatauser", jl = "view_system_edit", Al = [
1616
1616
  const g = y.value.filter((i) => i.uid == f);
1617
1617
  g && g.length > 0 ? r("change", d, { ...g[0], ...g[0].data }, !0, !0) : Fl({
1618
1618
  org_id: U.id,
1619
- is_active: !0,
1620
- view_menu__name: e.menu_flag,
1621
- uid: f
1619
+ conditions: [
1620
+ [
1621
+ {
1622
+ field_name: "is_active",
1623
+ operator: "in",
1624
+ value: [!0],
1625
+ format: "choices",
1626
+ class_name: "bool"
1627
+ },
1628
+ {
1629
+ field_name: "view_menu__flag",
1630
+ operator: "eq",
1631
+ value: [e.menu_flag],
1632
+ format: "input",
1633
+ class_name: "str"
1634
+ },
1635
+ {
1636
+ field_name: "uid",
1637
+ operator: "eq",
1638
+ value: [f],
1639
+ format: "input",
1640
+ class_name: "str"
1641
+ }
1642
+ ]
1643
+ ]
1622
1644
  }).then((i) => {
1623
1645
  if (i && i.data && i.data.length > 0)
1624
1646
  r(
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/components/FormRender/GeneralFilter/AddConditionModal/index.vue","../../src/components/FormRender/GeneralFilter/AddConditionGroupModal/index.vue","../../src/components/FormRender/GeneralFilter/data.ts","../../src/components/FormRender/GeneralFilter/index.vue","../../src/components/FormRender/FormRender3.vue","../../src/components/FormRender/FormRender.vue","../../src/components/FormRender/FormRender2.vue","../../src/api/view-model.ts","../../src/constants.ts","../../src/components/SideSearchRender/viewManage.vue","../../src/components/SideSearchRender/SideSearchRender.vue"],"sourcesContent":["<template>\n <a-modal\n title=\"添加过滤条件\"\n width=\"800px\"\n :open=\"open\"\n transitionName=\"\"\n maskTransitionName=\"\"\n :destroyOnClose=\"true\"\n :confirmLoading=\"loading\"\n centered\n @ok=\"handleSubmit\"\n @cancel=\"\n () => {\n $emit('cancel');\n }\n \"\n >\n <a-tabs v-model:activeKey=\"activeKey\">\n <a-tab-pane\n class=\"my-card\"\n v-for=\"item in tab_list\"\n :key=\"item.key\"\n :tab=\"item.tab_name\"\n >\n <div\n v-for=\"base_search_item in item.base_search_list\"\n :key=\"base_search_item.name\"\n >\n <div style=\"font-size: 14px\">{{ base_search_item.name }}</div>\n <a-space\n wrap\n style=\"padding-left: 10px; margin-bottom: 0\"\n >\n <div\n v-for=\"obj in base_search_item.group\"\n :key=\"obj.field_name\"\n >\n <a-checkbox v-model:checked=\"obj.checked\">\n <span style=\"color: #7d8089\">{{ obj.label }}</span>\n </a-checkbox>\n </div>\n </a-space>\n </div>\n </a-tab-pane>\n </a-tabs>\n </a-modal>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, reactive, ref } from 'vue';\n\nexport default defineComponent({\n name: 'AddConditionModal',\n props: {\n open: {\n type: Boolean,\n required: true,\n },\n loading: {\n type: Boolean,\n required: false,\n },\n default_search_condition_config_list: {\n type: Array,\n required: false,\n },\n base_search_condition_config_list: {\n type: Array,\n required: false,\n },\n },\n emits: ['ok', 'cancel'],\n setup(props, { emit }) {\n const activeKey = ref('condition_tab_0');\n const tab_list = ref([]);\n props.default_search_condition_config_list.forEach((item_list: any, index: number) => {\n const base_search_list: any = JSON.parse(\n JSON.stringify(props.base_search_condition_config_list),\n );\n if (base_search_list) {\n base_search_list.forEach((base_search_list: any) => {\n base_search_list.group.forEach(i => {\n item_list.forEach((k: any) => {\n if (i.field_name == k.field_name) {\n i.operator = k.operator;\n i.checked = true;\n }\n });\n });\n });\n }\n tab_list.value.push({\n tab_name: `条件组${index + 1}`,\n key: `condition_tab_${index}`,\n base_search_list: base_search_list,\n });\n });\n const handleSubmit = (e: Event) => {\n e.preventDefault();\n const list = [];\n tab_list.value.forEach(item => {\n const selected_group_list: any = [];\n item.base_search_list.forEach(i => {\n i.group.forEach((temp: any) => {\n if (temp.checked) {\n if (!temp.operator) {\n const operator_list_selected = get_operator_list_selected(temp);\n if (operator_list_selected.length > 0) {\n const [first] = operator_list_selected;\n temp.operator = first;\n }\n }\n selected_group_list.push(temp);\n }\n });\n });\n list.push(selected_group_list);\n });\n emit('ok', { new_list: list });\n };\n const get_operator_list_selected = (condition) => {\n if (condition.operator_list_selected) {\n return condition.operator_list_selected;\n }\n else if (condition.operator_list) {\n return condition.operator_list;\n }\n else {\n return [];\n }\n };\n\n return {\n props,\n activeKey,\n tab_list,\n handleSubmit,\n };\n },\n});\n</script>\n<style scoped>\n.my-card {\n padding: 20px;\n background-color: #f6f7f9;\n}\n</style>\n","<template>\n <a-modal\n title=\"添加过滤条件组\"\n width=\"800px\"\n :open=\"open\"\n transitionName=\"\"\n maskTransitionName=\"\"\n :destroyOnClose=\"true\"\n :confirmLoading=\"loading\"\n centered\n @ok=\"handleSubmit\"\n @cancel=\"\n () => {\n $emit('cancel');\n }\n \"\n >\n\n <a-tab-pane class=\"my-card\" v-for=\"item in tab_list\"\n :key=\"item.key\" :tab=\"item.tab_name\">\n <div v-for=\"base_search_item in item.base_search_list\" :key=\"base_search_item.name\">\n <div style=\"font-size: 14px;\">{{base_search_item.name}}</div>\n <a-space wrap>\n <div v-for=\"obj in base_search_item.group\" :key=\"obj.field_name\">\n <a-checkbox v-model:checked=\"obj.checked\" >\n <span style=\"color:#7d8089\">{{ obj.label }}</span>\n </a-checkbox>\n </div>\n </a-space>\n </div>\n </a-tab-pane>\n\n <a-tabs v-model:activeKey=\"activeKey\">\n <a-tab-pane class=\"my-card\" v-for=\"item in tab_list\"\n :key=\"item.key\" :tab=\"item.tab_name\">\n <div v-for=\"base_search_item in item.base_search_list\" :key=\"base_search_item.name\">\n <div style=\"font-size: 14px;\">{{base_search_item.name}}</div>\n <a-space wrap style=\"padding-left: 10px; margin-bottom:0\">\n <div v-for=\"obj in base_search_item.group\" :key=\"obj.field_name\">\n <a-checkbox v-model:checked=\"obj.checked\" >\n <span style=\"color:#7d8089\">{{ obj.label }}</span>\n </a-checkbox>\n </div>\n </a-space>\n </div>\n </a-tab-pane>\n </a-tabs>\n </a-modal>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, reactive, ref } from 'vue';\nimport { message } from 'ant-design-vue';\nexport default defineComponent({\n name: 'AddConditionGroupModal',\n props: {\n open: {\n type: Boolean,\n required: true,\n },\n loading: {\n type: Boolean,\n required: false,\n },\n default_search_condition_config_list: {\n type: Array,\n required: false,\n },\n base_search_condition_config_list: {\n type: Array,\n required: false,\n },\n },\n emits: ['ok', 'cancel'],\n setup(props, { emit }) {\n const tab_list = ref([]);\n const get_operator_list_selected = (condition) => {\n if (condition.operator_list_selected) {\n return condition.operator_list_selected;\n }\n else if (condition.operator_list) {\n return condition.operator_list;\n }\n else {\n return [];\n }\n };\n props.default_search_condition_config_list?.forEach((item_list:any, index:number)=>{\n const base_search_list:any = JSON.parse(JSON.stringify(props.base_search_condition_config_list));\n if(base_search_list){\n base_search_list.forEach((base_search_list:any)=>{\n base_search_list.group.forEach(i=>{\n item_list.forEach((k:any)=>{\n if(i.field_name == k.field_name){\n i.checked = true;\n }\n });\n });\n });\n }\n tab_list.value.push({\n tab_name:`条件组${index+1}`,\n key:`condition_tab_${index}`,\n base_search_list: base_search_list,\n });\n });\n const index = props.default_search_condition_config_list?.length || 0;\n const new_search_list = [];\n props.base_search_condition_config_list.forEach((item:any)=>{\n const new_group = [];\n item.group.forEach(i=>{\n const operator_list_selected = get_operator_list_selected(i);\n if(i.default_operator){\n i.operator = i.default_operator;\n }\n if(!operator_list_selected.includes(i.operator)){\n i.operator = null;\n }\n if(!i.operator && operator_list_selected.length>0){\n const [first] = operator_list_selected;\n i.operator = first;\n }\n const new_i = { ...i, checked:false };\n new_group.push(new_i);\n });\n new_search_list.push({\n name:item.name,\n group:new_group,\n });\n });\n tab_list.value.push({\n tab_name:`条件组${index+1}`,\n key:`condition_tab_${index}`,\n base_search_list: new_search_list,\n });\n const activeKey = ref(`condition_tab_${index}`);\n\n const handleSubmit = (e: Event) => {\n e.preventDefault();\n const list = [];\n tab_list.value.forEach(item=>{\n const selected_group_list:any = [];\n item.base_search_list.forEach(i=>{\n i.group.forEach((temp:any)=>{\n if(temp.checked){\n selected_group_list.push(temp);\n }\n });\n });\n if(selected_group_list.length>0){\n list.push(selected_group_list);\n }\n });\n if(list.length==0){\n message.error('新增条件组未增加新的字段,自动取消');\n emit('cancel');//关闭对话框\n }else{\n emit('ok', { new_list: list });\n }\n };\n\n return {\n props,\n activeKey,\n tab_list,\n handleSubmit,\n get_operator_list_selected,\n };\n },\n});\n</script>\n<style scoped>\n.my-card{\n padding:20px;\n background-color: #f6f7f9;\n}\n</style>","export const get_options_eq = t => {\n const options_eq = [\n { value: '上月', label: '上月' },\n { value: '本月', label: '本月' },\n { value: '今日', label: '今日' },\n { value: '昨日', label: '昨日' },\n { value: '期初', label: '期初' },\n ];\n return {\n options_eq,\n };\n};\n","<template>\n <a-space v-if=\"!is_massage_default\">\n <a-button\n type=\"link\"\n v-if=\"is_show_normal_search\"\n @click=\"handleShowSearchRender\"\n >\n {{ $t('普通') }}\n </a-button>\n <a-button\n v-if=\"!isShowForm\"\n type=\"link\"\n @click=\"\n () => {\n isShowForm = true;\n $emit('resize');\n }\n \"\n >\n <span class=\"expand-btn\">{{ $t('展开') }}</span>\n </a-button>\n <a-button\n v-else\n type=\"link\"\n @click=\"\n () => {\n isShowForm = false;\n $emit('resize');\n }\n \"\n >\n {{ $t('隐藏') }}\n </a-button>\n </a-space>\n <span v-show=\"!isShowForm\">\n <span\n v-for=\"(item, index) in default_search_condition_config_list\"\n :key=\"index\"\n >\n <a-tag>{{ $t('条件组') }}{{ index + 1 }}:</a-tag>\n <span\n v-for=\"condition in item\"\n :key=\"condition.field_name\"\n >\n <a-tag\n v-show=\"isShowSearchTag(index, condition)\"\n color=\"green\"\n >\n {{ condition.label }}: {{ transferValueFunc(index, condition) }}\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"handleDelSearch(index, condition.field_name)\"\n />\n </a-tag>\n </span>\n </span>\n </span>\n <div\n class=\"card\"\n v-show=\"isShowForm\"\n >\n <div\n v-for=\"(group_item, group_index) in default_search_condition_config_list\"\n :key=\"group_index\"\n >\n <div\n class=\"condition-group\"\n v-if=\"default_search_condition_config_list.length > 1\"\n >\n {{ $t('条件组') }} {{ group_index + 1 }}\n </div>\n <a-space\n :wrap=\"true\"\n align=\"center\"\n :size=\"0\"\n >\n <a-space-compact\n block\n v-for=\"(condition, k) in group_item\"\n :key=\"condition.field_name\"\n size=\"middle\"\n @mouseenter=\"handleMouseEnter(group_index, condition)\"\n @mouseleave=\"handleMouseLeave(group_index, condition)\"\n >\n <a-input-group compact>\n <a-tooltip :title=\"condition.label\">\n <a-cascader\n :value=\"condition.label\"\n style=\"width: 125px\"\n :options=\"searchItemOptionsDict[group_index]\"\n showSearch\n :allowClear=\"false\"\n :placeholder=\"$t('请选择...')\"\n @change=\"value => onChangeSearchItem(value, group_index, condition, k)\"\n />\n </a-tooltip>\n <a-tooltip :title=\"get_operator_type_map(condition.format, condition.operator)\">\n <a-select\n v-if=\"get_operator_list_selected(condition).length > 0\"\n :dropdownMatchSelectWidth=\"false\"\n v-model:value=\"condition.operator\"\n @change=\"value => onChangeOperator(value, group_index, condition)\"\n style=\"width: 100px\"\n >\n <a-select-option\n v-for=\"item in get_operator_list_selected(condition)\"\n :value=\"item\"\n :key=\"item\"\n >\n {{ get_operator_type_map(condition.format, item) }}\n </a-select-option>\n </a-select>\n </a-tooltip>\n <span style=\"width: 315px; height: 40px\">\n <template\n v-if=\"['is_or_not_blank_or_null', 'is_or_not_null'].includes(condition.operator)\"\n >\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"{\n ...condition,\n type: 'select',\n mode: 'default',\n format: 'choices',\n class_name: 'str',\n placeholder: '',\n }\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"is_or_not_blank_or_null_options\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <template v-else-if=\"['input'].includes(condition.format)\">\n <template\n v-if=\"condition.operator === 'between' || condition.operator === 'notbetween'\"\n >\n <template v-if=\"condition.type === 'datepicker'\">\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"{ ...condition, type: 'rangepicker', format: condition.dateFormat }\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <template v-else-if=\"condition.type === 'monthpicker'\">\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"{\n ...condition,\n type: 'monthrangepicker',\n }\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <template v-else>\n <a-flex>\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name][0]\"\n :field=\"condition\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n <div class=\"range\">~</div>\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name][1]\"\n :field=\"condition\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n </a-flex>\n </template>\n </template>\n <template v-else-if=\"condition.operator === '_eq'\">\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"{\n ...condition,\n type: 'select',\n mode: 'default',\n format: 'choices',\n class_name: 'str',\n placeholder: '',\n }\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"options_eq\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <template\n v-else-if=\"condition.type === 'datepicker' || condition.type === 'monthpicker'\"\n >\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"{ ...condition, format: condition.dateFormat }\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <template v-else>\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"condition\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n </template>\n <template v-else-if=\"['choices', 'remote'].includes(condition.format)\">\n <template v-if=\"condition.format === 'choices'\">\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"condition\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <template v-else-if=\"condition.format === 'remote'\">\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"{ ...condition, name: condition?.field_name }\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n </template>\n </span>\n <span class=\"close-icon\">\n <a-tooltip\n title=\"删除此条件\"\n v-if=\"\n deleteBtnDict[group_index][condition.field_name] &&\n (default_search_condition_config_list[0].length > 1 ||\n default_search_condition_config_list.length > 1) &&\n !is_massage_default\n \"\n >\n <close-circle-outlined @click=\"handleDeleteFormItem(group_index, condition)\" />\n </a-tooltip>\n </span>\n </a-input-group>\n </a-space-compact>\n </a-space>\n <a-divider\n class=\"divider\"\n style=\"margin: 0\"\n v-if=\"\n default_search_condition_config_list.length > 1 &&\n group_index != default_search_condition_config_list.length - 1\n \"\n >\n 或\n </a-divider>\n </div>\n </div>\n <div\n class=\"search-bar\"\n v-show=\"isShowForm && !is_massage_default\"\n >\n <a-space>\n <a-button\n size=\"small\"\n type=\"primary\"\n @click=\"handleAddConditions\"\n >\n {{ $t('添加条件') }}\n </a-button>\n <a-button\n size=\"small\"\n type=\"primary\"\n @click=\"handleAddGroupCondition\"\n >\n {{ $t('添加条件组') }}\n </a-button>\n <a-button\n size=\"small\"\n type=\"primary\"\n @click=\"handleSearch\"\n >\n {{ $t('查询') }}\n </a-button>\n </a-space>\n </div>\n\n <add-condition-modal\n v-if=\"addConditionModal.open\"\n :open=\"addConditionModal.open\"\n :default_search_condition_config_list=\"default_search_condition_config_list\"\n :base_search_condition_config_list=\"base_search_condition_config_list\"\n @ok=\"handleAddConditionOk\"\n @cancel=\"handleAddConditionCancel\"\n />\n\n <add-condition-group-modal\n v-if=\"addConditionGroupModal.open\"\n :open=\"addConditionGroupModal.open\"\n :default_search_condition_config_list=\"default_search_condition_config_list\"\n :base_search_condition_config_list=\"base_search_condition_config_list\"\n @ok=\"handleAddGroupConditionOK\"\n @cancel=\"handleAddGroupConditionCancel\"\n />\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n onMounted,\n reactive,\n ref,\n computed,\n watch,\n PropType,\n nextTick,\n onUnmounted,\n} from 'vue';\nimport FieldRender from 'liyu-pc-base/components/FormRender/FieldRender.vue';\nimport AddConditionModal from 'liyu-pc-base/components/FormRender/GeneralFilter/AddConditionModal/index.vue';\nimport AddConditionGroupModal from 'liyu-pc-base/components/FormRender/GeneralFilter/AddConditionGroupModal/index.vue';\nimport { isNotEmpty } from 'liyu-pc-base/utils/function';\nimport {\n CloseCircleOutlined,\n CloseOutlined,\n LeftOutlined,\n RightOutlined,\n} from '@ant-design/icons-vue';\nimport { useI18n } from 'vue-i18n';\nimport { get_options_eq } from 'liyu-pc-base/components/FormRender/GeneralFilter/data';\nimport moment from 'moment';\nimport FieldRender2 from 'liyu-pc-base/components/FormRender/FieldRender2.vue';\nimport { get_operator_type_map } from 'liyu-pc-base/utils/function';\n\nexport default defineComponent({\n name: 'GeneralFilter',\n props: {\n base_search_condition_config_list: {\n type: Array as PropType<any[]>,\n },\n default_search_condition_config_list: {\n type: Array as PropType<any[]>,\n },\n is_show_normal_search: {\n type: Boolean,\n default: () => false,\n },\n is_clear_model: {\n type: Boolean,\n default: () => false,\n },\n is_show_advantage: {\n type: Boolean,\n default: () => false,\n },\n is_massage_default: {\n type: Boolean,\n default: () => false,\n },\n eventBus: {\n type: Object,\n required: false,\n },\n },\n components: {\n FieldRender2,\n CloseOutlined,\n LeftOutlined,\n RightOutlined,\n FieldRender,\n AddConditionGroupModal,\n AddConditionModal,\n CloseCircleOutlined,\n },\n emits: [\n 'search',\n 'resize',\n 'update_default_search_condition_config_list',\n 'onShowSearchRender',\n 'delSearch',\n 'onChangeValue',\n 'update:is_clear_model',\n ],\n setup(props, { emit }) {\n const isShowForm = ref(props.is_massage_default);\n const labelModel = ref({});\n const { t } = useI18n();\n const { options_eq } = get_options_eq(t);\n //条件组-->\n const condition_model_dict = ref([]);\n const validateInfos = {};\n const source_default_search_condition_config_list = ref(null);\n const is_or_not_blank_or_null_options = ref([\n { value: 'yes', label: t('is_or_not_blank_or_null.yes') },\n { value: 'no', label: t('is_or_not_blank_or_null.no') },\n ]);\n if (!source_default_search_condition_config_list.value) {\n source_default_search_condition_config_list.value = JSON.parse(\n JSON.stringify(props.default_search_condition_config_list),\n );\n }\n\n const operator_type_count_map = {\n between: 2,\n gt: 1,\n lt: 1,\n gte: 1,\n lte: 1,\n in: 0,\n eq: 1,\n _eq: 1,\n contains: 1,\n icontains: 1,\n startswith: 1,\n notbetween: 2,\n notin: 0,\n notcontains: 1,\n not_eq: 1,\n not_blank_not_null: 1,\n json_list_not_blank_not_null: 1,\n json_list_is_blank_is_null: 1,\n is_or_not_blank_or_null: 1,\n is_or_not_null: 1,\n };\n const is2DArray = arr => {\n const [first] = [arr];\n return Array.isArray(first) && arr.every(subArray => Array.isArray(subArray));\n };\n let old_operator = null;\n const onChangeOperator = (operator, index, condition) => {\n //不同操作类型,设置不同的默认值\n // if (condition_model_dict.value[index][condition.field_name]) {\n // return;\n // }\n const value = condition_model_dict.value[index][condition.field_name];\n if (get_operator_list_selected(condition).includes('_eq')) {\n if (operator == '_eq') {\n condition_model_dict.value[index][condition.field_name] = null;\n old_operator = operator;\n emit('onChangeValue', { model: condition_model_dict.value });\n return;\n } else if (old_operator == '_eq') {\n condition_model_dict.value[index][condition.field_name] = null;\n old_operator = operator;\n emit('onChangeValue', { model: condition_model_dict.value });\n return;\n }\n }\n if (get_operator_list_selected(condition).includes('not_blank_not_null')) {\n if (operator == 'not_blank_not_null') {\n condition_model_dict.value[index][condition.field_name] = '是';\n old_operator = operator;\n emit('onChangeValue', { model: condition_model_dict.value });\n return;\n } else if (old_operator == 'not_blank_not_null') {\n condition_model_dict.value[index][condition.field_name] = null;\n old_operator = operator;\n emit('onChangeValue', { model: condition_model_dict.value });\n return;\n }\n }\n if (\n get_operator_list_selected(condition).includes('is_or_not_blank_or_null') ||\n get_operator_list_selected(condition).includes('is_or_not_null')\n ) {\n if (operator == 'is_or_not_blank_or_null' || operator == 'is_or_not_null') {\n condition_model_dict.value[index][condition.field_name] = null;\n old_operator = operator;\n emit('onChangeValue', { model: condition_model_dict.value });\n return;\n } else if (old_operator == 'is_or_not_blank_or_null' || old_operator == 'is_or_not_null') {\n condition_model_dict.value[index][condition.field_name] = null;\n old_operator = operator;\n emit('onChangeValue', { model: condition_model_dict.value });\n return;\n }\n }\n if (value instanceof Array && is2DArray(value)) {\n // 级联类型,默认值默认清空\n condition_model_dict.value[index][condition.field_name] = null;\n } else if (operator_type_count_map[operator] == 1) {\n if (value instanceof Array) {\n const [first] = condition_model_dict.value[index][condition.field_name];\n if (isNotEmpty(first)) {\n condition_model_dict.value[index][condition.field_name] = first;\n } else {\n condition_model_dict.value[index][condition.field_name] = null;\n }\n } else {\n condition_model_dict.value[index][condition.field_name] = value ? value : null;\n }\n const is = options_eq.some(\n obj => obj.value === condition_model_dict.value[index][condition.field_name],\n );\n if (is) {\n condition_model_dict.value[index][condition.field_name] = null;\n }\n } else if (operator_type_count_map[operator] == 2) {\n if (condition_model_dict.value[index][condition.field_name] instanceof Array) {\n const [first, seconds] = condition_model_dict.value[index][condition.field_name];\n condition_model_dict.value[index][condition.field_name] = [first, seconds];\n } else if (condition_model_dict.value[index][condition.field_name]) {\n const first = condition_model_dict.value[index][condition.field_name];\n condition_model_dict.value[index][condition.field_name] = [first, null];\n } else {\n condition_model_dict.value[index][condition.field_name] = [null, null];\n }\n const is = options_eq.some(\n obj => obj.value === condition_model_dict.value[index][condition.field_name][0],\n );\n if (is) {\n condition_model_dict.value[index][condition.field_name] = [null, null];\n }\n }\n old_operator = operator;\n emit('onChangeValue', { model: condition_model_dict.value });\n // console.log('onChangeValue');\n };\n\n const addConditionModal = reactive({\n open: false,\n });\n const handleAddConditions = () => {\n addConditionModal.open = true;\n };\n const handleAddConditionOk = (data: any) => {\n props.default_search_condition_config_list.forEach((item: any, index: any) => {\n data.new_list.forEach((item1: any, index1: any) => {\n if (index == index1) {\n item.forEach((item2: any) => {\n item1.forEach((item3: any) => {\n if (item2.field_name == item3.field_name) {\n item3.value = item2.value;\n item3.operator = item2.operator;\n }\n });\n });\n }\n });\n });\n //保存后处理 new_list\n emit('update_default_search_condition_config_list', { new_list: data.new_list });\n // refreshCondition();\n addConditionModal.open = false;\n };\n const handleAddConditionCancel = () => {\n addConditionModal.open = false;\n };\n\n const addConditionGroupModal = reactive({\n open: false,\n });\n const handleAddGroupCondition = () => {\n addConditionGroupModal.open = true;\n };\n const handleAddGroupConditionOK = (data: any) => {\n props.default_search_condition_config_list.forEach((item: any, index: any) => {\n data.new_list.forEach((item1: any, index1: any) => {\n if (index == index1) {\n item.forEach((item2: any) => {\n item1.forEach((item3: any) => {\n if (item2.field_name == item3.field_name) {\n item3.value = item2.value;\n item3.operator = item2.operator;\n }\n });\n });\n }\n });\n });\n emit('update_default_search_condition_config_list', { new_list: data.new_list });\n // refreshCondition();\n addConditionGroupModal.open = false;\n };\n const handleAddGroupConditionCancel = () => {\n addConditionGroupModal.open = false;\n };\n const handleSearch = () => {\n isShowForm.value = false;\n console.log('condition_model_dict.value', condition_model_dict.value);\n emit('search', { model: condition_model_dict.value });\n };\n const refreshCondition = (update_all = false) => {\n if (props.base_search_condition_config_list.length == 0) {\n return;\n }\n props.default_search_condition_config_list?.forEach((item_list: any, index: number) => {\n deleteBtnDict[index] = {};\n if (!condition_model_dict.value[index]) {\n condition_model_dict.value[index] = {};\n }\n props.base_search_condition_config_list.forEach((i: any) => {\n i.group?.forEach((group_item: any) => {\n item_list.forEach((k: any) => {\n if (group_item.field_name == k.field_name) {\n const value = condition_model_dict.value[index][k.field_name];\n if (value == undefined || update_all) {\n if (operator_type_count_map[k.operator] == 1) {\n if (k.value !== undefined) {\n condition_model_dict.value[index][k.field_name] = k.value;\n } else {\n condition_model_dict.value[index][k.field_name] = null;\n }\n } else if (operator_type_count_map[k.operator] == 2) {\n if (k.value !== undefined) {\n condition_model_dict.value[index][k.field_name] = k.value;\n } else {\n condition_model_dict.value[index][k.field_name] = [null, null];\n }\n } else if (operator_type_count_map[k.operator] == 0) {\n if (k.value !== undefined) {\n condition_model_dict.value[index][k.field_name] = k.value;\n } else {\n condition_model_dict.value[index][k.field_name] = [];\n }\n }\n }\n Object.assign(k, { ...group_item, operator: k.operator }); // 保持表单项原有选择的查询条件\n if (k.operator == 'eq' && k.mode != 'default') {\n group_item.mode = 'default';\n Object.assign(k, { model: 'default' });\n } else if (['in', 'notin'].includes(k.operator) && k.mode != 'multiple') {\n group_item.mode = 'multiple';\n Object.assign(k, { model: 'multiple' });\n }\n }\n });\n });\n });\n });\n };\n const onFilterChanged = () => {\n refreshCondition(true);\n };\n\n const deleteBtnDict = reactive({}); // 表单项的删除按钮是否显示\n const handleMouseEnter = (index: any, form_item: any) => {\n deleteBtnDict[index][form_item.field_name] = true;\n };\n const handleMouseLeave = (index: any, form_item: any) => {\n deleteBtnDict[index][form_item.field_name] = false;\n };\n const handleDeleteFormItem = (index: any, condition: any) => {\n //default_search_condition_config_list 不允许删除最后一个条件组的条件项\n const new_list = [];\n props.default_search_condition_config_list.forEach((item_list: any, index_: number) => {\n if (index_ !== index) {\n new_list.push(item_list);\n } else {\n const list = [];\n item_list.forEach((k: any) => {\n if (k.field_name !== condition.field_name) {\n list.push(k);\n }\n });\n if (list.length > 0) {\n new_list.push(list);\n }\n }\n });\n emit('update_default_search_condition_config_list', { new_list: new_list });\n // refreshCondition();\n };\n const handleDelSearch = (index, filed_name) => {\n if (condition_model_dict.value[index][filed_name] instanceof Array) {\n condition_model_dict.value[index][filed_name].length = 0;\n } else {\n condition_model_dict.value[index][filed_name] = null;\n }\n emit('onChangeValue', { model: condition_model_dict.value });\n emit('delSearch', { model: JSON.parse(JSON.stringify(condition_model_dict.value)) });\n };\n\n const onChangeSearchItem = (value: any, group_index, condition: any, condition_index) => {\n if (value instanceof Array && value.length > 0) {\n const selected_field_name = value[value.length - 1];\n let new_condition = null;\n props.base_search_condition_config_list.forEach(item_list => {\n item_list.group.forEach(i => {\n if (i.field_name === selected_field_name) {\n new_condition = JSON.parse(JSON.stringify(i));\n if (new_condition.default_operator) {\n new_condition.operator = new_condition.default_operator;\n } else if (get_operator_list_selected(new_condition).length > 0) {\n const [first] = get_operator_list_selected(new_condition);\n new_condition.operator = first;\n }\n }\n });\n });\n\n if (new_condition) {\n const new_list = JSON.parse(JSON.stringify(props.default_search_condition_config_list));\n new_list.forEach((item_list, i) => {\n if (i === group_index) {\n item_list.forEach((item, k) => {\n if (item.field_name == condition.field_name && k == condition_index) {\n item_list.splice(k, 1, new_condition);\n delete condition_model_dict.value[group_index][item.field_name];\n }\n });\n }\n });\n emit('update_default_search_condition_config_list', {\n new_list: new_list,\n });\n }\n refreshCondition();\n }\n };\n\n const searchItemOptionsDict: any = computed(() => {\n const dict = {};\n props.default_search_condition_config_list.forEach((group_item, index) => {\n dict[index] = [];\n const filter_field_name_list = group_item.map(item => item.field_name);\n props.base_search_condition_config_list.forEach(item => {\n const filter_list = item.group.filter(\n i => !filter_field_name_list.includes(i.field_name),\n );\n const o = {\n value: item.name,\n label: item.name,\n children: filter_list.map(i => {\n return {\n value: i.field_name,\n label: i.label,\n };\n }),\n };\n dict[index].push(o);\n });\n });\n return dict;\n });\n\n const isShowSearchTag = (index, condition) => {\n const value = condition_model_dict.value[index][condition.field_name];\n if (value instanceof Array) {\n const [first] = value;\n if (isNotEmpty(first)) {\n return true;\n }\n } else if (isNotEmpty(value)) {\n return true;\n }\n return false;\n };\n\n const transferValueFunc = (index, condition) => {\n const str_list: any = [];\n const value = condition_model_dict.value[index][condition.field_name];\n if (\n condition.operator === 'is_or_not_blank_or_null' ||\n condition.operator === 'is_or_not_null'\n ) {\n if (value === 'yes') {\n return t('is_or_not_blank_or_null.yes');\n } else {\n return t('is_or_not_blank_or_null.no');\n }\n } else if (condition.operator === '_eq') {\n if (['上月', '本月', '今日', '昨日', '期初'].includes(value)) {\n return t(value);\n }\n } else if (labelModel.value[condition.field_name] != undefined) {\n return `${get_operator_type_map(condition.format, condition.operator)} ${\n labelModel.value[condition.field_name]\n }`;\n } else if (value instanceof Array && condition.field_name_list instanceof Array) {\n let transfer_value;\n if (condition.field_name_list) {\n if (value instanceof Array) {\n transfer_value = value.join(',');\n } else {\n transfer_value = value;\n }\n }\n return `${get_operator_type_map(condition.format, condition.operator)} ${transfer_value}`;\n } else if (value instanceof Array && condition.options instanceof Array) {\n value.forEach(item => {\n condition.options.forEach(i => {\n if (item == i.value) {\n str_list.push(i.label);\n }\n });\n });\n return `${get_operator_type_map(condition.format, condition.operator)} ${str_list.join(\n ',',\n )}`;\n } else {\n let transfer_value;\n if (condition.options) {\n condition.options.forEach(i => {\n if (value == i.value) {\n transfer_value = i.label;\n }\n });\n } else if (condition.type == 'monthpicker' && condition.dateFormat) {\n if (value instanceof Array) {\n const str_list = [];\n value.forEach(i => {\n if (i) {\n str_list.push(moment(i).format(condition.dateFormat));\n } else {\n str_list.push(i);\n }\n });\n transfer_value = str_list.join(',');\n } else {\n transfer_value = moment(value).format(condition.dateFormat);\n }\n } else {\n transfer_value = value;\n }\n return `${get_operator_type_map(condition.format, condition.operator)} ${transfer_value}`;\n }\n };\n\n const handleShowSearchRender = () => {\n emit('onShowSearchRender');\n };\n\n const get_operator_list_selected = condition => {\n if (condition.operator_list_selected) {\n return condition.operator_list_selected;\n } else if (condition.operator_list) {\n return condition.operator_list;\n } else {\n return [];\n }\n };\n\n watch(\n () => condition_model_dict.value,\n () => {\n emit('onChangeValue', { model: condition_model_dict.value });\n // console.log('onChangeValue_watch');\n },\n { deep: true },\n );\n watch(\n () => props.default_search_condition_config_list,\n () => {\n if (props.default_search_condition_config_list?.length == 0) {\n emit('update_default_search_condition_config_list', {\n new_list: source_default_search_condition_config_list.value,\n });\n return;\n }\n refreshCondition();\n },\n { deep: true },\n );\n watch(\n () => props.base_search_condition_config_list,\n () => {\n refreshCondition();\n },\n { deep: true },\n );\n\n watch(\n () => props.is_clear_model,\n () => {\n if (props.is_clear_model) {\n condition_model_dict.value = {};\n refreshCondition();\n emit('update:is_clear_model', false);\n }\n },\n );\n onMounted(() => {\n refreshCondition();\n if (props.eventBus) {\n props.eventBus.on('filterChange', onFilterChanged);\n }\n });\n onUnmounted(() => {\n if (props.eventBus) {\n props.eventBus.off('filterChange', onFilterChanged);\n }\n });\n return {\n props,\n t,\n isShowForm,\n labelModel,\n get_operator_type_map,\n condition_model_dict,\n addConditionModal,\n handleAddConditions,\n handleAddConditionOk,\n handleAddConditionCancel,\n onChangeOperator,\n handleAddGroupCondition,\n handleSearch,\n\n addConditionGroupModal,\n handleAddGroupConditionOK,\n handleAddGroupConditionCancel,\n validateInfos,\n\n deleteBtnDict,\n handleMouseEnter,\n handleMouseLeave,\n handleDeleteFormItem,\n handleDelSearch,\n\n searchItemOptionsDict,\n onChangeSearchItem,\n transferValueFunc,\n isShowSearchTag,\n handleShowSearchRender,\n options_eq,\n get_operator_list_selected,\n is_or_not_blank_or_null_options,\n };\n },\n});\n</script>\n<style lang=\"less\" scoped>\n.card {\n overflow: auto;\n max-height: 300px;\n background: #f2f5f7;\n}\n\n.condition-group {\n padding: 5px;\n}\n\n.range {\n margin-top: 5px;\n}\n\n.close-icon {\n width: 15px;\n margin-top: 5px;\n margin-left: 5px;\n color: red;\n}\n\n.search-bar {\n background: #f2f5f7;\n text-align: right;\n}\n\n:deep(.divider .ant-divider) {\n margin: 0;\n}\n</style>\n","<template>\n <a-form\n ref=\"form\"\n autocomplete=\"off\"\n :model=\"model\"\n :rules=\"form.rules\"\n :layout=\"form.settings.layout\"\n scrollToFirstError\n class=\"cards\"\n :validateTrigger=\"false\"\n >\n <template\n v-for=\"(row, index) in form.dynamicFieldList\"\n :key=\"index\"\n >\n <a-card\n :body-style=\"{ padding: '10px 10px 0' }\"\n style=\"margin-bottom: 5px\"\n >\n <template\n v-if=\"row.group_name && form.dynamicFieldList.length > 1\"\n #title\n >\n {{ row.group_name }}\n </template>\n <a-row\n :gutter=\"5\"\n type=\"flex\"\n >\n <a-col\n v-for=\"(field_item, i) in row?.children\"\n :key=\"i\"\n :span=\"\n field_item.is_show_field ? (field_item.span !== undefined ? field_item.span : 24) : 0\n \"\n :offset=\"field_item.offset\"\n :push=\"field_item.push\"\n :pull=\"field_item.pull\"\n >\n <field-render-2\n v-model:value=\"model[field_item.name]\"\n v-model:is_show_field=\"field_item['is_show_field']\"\n :field=\"field_item\"\n :formModel=\"model\"\n :outModel=\"outModel\"\n :key=\"field_item.name\"\n :validateInfos=\"validateInfos\"\n :options=\"options[field_item.datasource ? field_item.datasource : field_item.name]\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n />\n </a-col>\n </a-row>\n </a-card>\n <!-- <a-row-->\n <!-- v-else-->\n <!-- :gutter=\"5\"-->\n <!-- type=\"flex\"-->\n <!-- >-->\n <!-- <a-col-->\n <!-- v-for=\"(field_item, i) in row?.children\"-->\n <!-- :key=\"i\"-->\n <!-- :span=\"-->\n <!-- field_item.is_show_field ? (field_item.span !== undefined ? field_item.span : 24) : 0-->\n <!-- \"-->\n <!-- :offset=\"field_item.offset\"-->\n <!-- :push=\"field_item.push\"-->\n <!-- :pull=\"field_item.pull\"-->\n <!-- >-->\n <!-- <field-render-2-->\n <!-- v-model:value=\"model[field_item.name]\"-->\n <!-- v-model:is_show_field=\"field_item['is_show_field']\"-->\n <!-- :field=\"field_item\"-->\n <!-- :formModel=\"model\"-->\n <!-- :outModel=\"outModel\"-->\n <!-- :key=\"field_item.name\"-->\n <!-- :validateInfos=\"validateInfos\"-->\n <!-- :options=\"options[field_item.datasource ? field_item.datasource : field_item.name]\"-->\n <!-- @update_model=\"onUpdateModel\"-->\n <!-- @update_name2=\"onUpdateName2\"-->\n <!-- />-->\n <!-- </a-col>-->\n <!-- </a-row>-->\n </template>\n </a-form>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, watch } from 'vue';\nimport FieldRender2 from 'liyu-pc-base/components/FormRender/FieldRender2.vue';\n\nexport default defineComponent({\n name: 'FormRender3',\n components: {\n FieldRender2,\n },\n props: {\n model: {\n type: Object,\n required: true,\n },\n outModel: {\n type: Object,\n default: () => {},\n },\n form: {\n type: Object,\n required: true,\n },\n options: {\n type: Object,\n required: true,\n default: () => {},\n },\n validateInfos: {\n type: Object,\n default: () => {},\n },\n },\n emits: ['update_model', 'update_model'],\n setup(props, { emit }) {\n if (props.form.watch) {\n for (let k in props.form.watch) {\n watch(\n () => props.model[k],\n () => {\n props.form.watch[k](props.model, props.form);\n },\n );\n }\n }\n\n const validate = () => {\n return (props.form as any).validate();\n };\n const onUpdateModel = params => {\n emit('update_model', params);\n };\n const onUpdateName2 = params => {\n emit('update_model', params);\n };\n return {\n validate,\n onUpdateModel,\n onUpdateName2,\n };\n },\n});\n</script>\n<style lang=\"less\" scoped>\n.cards {\n ::v-deep(.ant-card-head) {\n padding: 0 8px;\n min-height: 44px;\n background-color: rgba(0, 0, 0, 0.02);\n }\n}\n</style>\n","<template>\n <a-form\n ref=\"form\"\n autocomplete=\"off\"\n :model=\"model\"\n :rules=\"form.rules\"\n :layout=\"form.settings.layout\"\n :validateTrigger=\"false\"\n :label-col=\"\n form.settings.layout == 'vertical'\n ? undefined\n : form.settings.labelCol\n ? form.settings.labelCol\n : form.settings.col && form.settings.col.length > 0\n ? { span: 6 }\n : { span: 4 }\n \"\n :wrapper-col=\"\n form.settings.layout == 'vertical'\n ? undefined\n : form.settings.wrapperCol\n ? form.settings.wrapperCol\n : form.settings.col && form.settings.col.length > 0\n ? { span: 18 }\n : { span: 20 }\n \"\n :labelAlign=\"form.settings.labelAlign\"\n scrollToFirstError\n >\n <a-row\n :gutter=\"20\"\n style=\"margin: 0\"\n >\n <template v-if=\"form.settings.col && form.settings.col.length > 0\">\n <a-col\n v-for=\"col in fieldList\"\n :xl=\"24 / fieldList.length\"\n :lg=\"24\"\n :md=\"24\"\n :sm=\"24\"\n :xs=\"24\"\n >\n <field-render\n v-for=\"field in form.fields.slice(col[0], col[1])\"\n v-model:value=\"model[field.name]\"\n :field=\"field\"\n :formModel=\"model\"\n :key=\"field.name\"\n :validateInfos=\"validateInfos\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n />\n </a-col>\n </template>\n <a-col\n v-if=\"!form.settings.col || form.settings.col.length === 0\"\n :xl=\"24\"\n :lg=\"24\"\n :md=\"24\"\n :sm=\"24\"\n :xs=\"24\"\n >\n <template v-for=\"field in form.fields\">\n <field-render\n v-model:value=\"model[field.name]\"\n v-model:label=\"model[field.name2]\"\n v-if=\"field.name2\"\n :field=\"field\"\n :formModel=\"model\"\n :key=\"field.name\"\n :validateInfos=\"validateInfos\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n />\n <field-render\n v-model:value=\"model[field.name]\"\n v-else\n :field=\"field\"\n :formModel=\"model\"\n :key=\"field.name\"\n :validateInfos=\"validateInfos\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n />\n </template>\n </a-col>\n </a-row>\n </a-form>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, watch } from 'vue';\n\nexport default defineComponent({\n name: 'FormRender',\n components: {},\n props: {\n model: {\n type: Object,\n required: true,\n },\n form: {\n type: Object,\n required: true,\n },\n options: {\n type: Object,\n required: true,\n },\n validateInfos: {\n type: Object,\n default: () => {},\n },\n },\n setup(props) {\n if (props.form.watch) {\n for (const k in props.form.watch) {\n watch(\n () => props.model[k],\n () => {\n props.form.watch[k](props.model, props.form);\n },\n );\n }\n }\n },\n\n data() {\n return {\n fieldList: [] as any[],\n };\n },\n methods: {\n validate() {\n return (this.$refs.form as any).validate();\n },\n reset() {\n (this.$refs.form as any).resetFields();\n },\n disable(name: string | number) {\n // eslint-disable-next-line vue/no-mutating-props\n this.form.fields[name].disabled = true;\n },\n disableAll() {\n this.form.fields.forEach((item: any) => {\n item.disabled = true;\n });\n },\n },\n created() {\n let a = 0;\n if (this.form.settings.col && this.form.settings.col.length > 0) {\n this.form.settings.col.forEach((item: number, i: number) => {\n a = a + item;\n if (i === 0) {\n this.fieldList.push([0, a]);\n } else {\n this.fieldList.push([a - item, a]);\n }\n });\n }\n },\n});\n</script>\n","<template>\n <a-form\n ref=\"form\"\n autocomplete=\"off\"\n :model=\"model\"\n :rules=\"form.rules\"\n scrollToFirstError\n >\n <a-row\n gutter=\"5\"\n v-for=\"row in form.fieldList\"\n type=\"flex\"\n >\n <a-col\n v-for=\"field in row\"\n :span=\"field.span\"\n >\n <template v-for=\"field in form.fields\">\n <field-render\n v-model:value=\"model[field.name]\"\n v-model:label=\"model[field.name2]\"\n v-if=\"field.name2\"\n :field=\"field\"\n :formModel=\"model\"\n :key=\"field.name\"\n :validateInfos=\"validateInfos\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n />\n <field-render\n v-model:value=\"model[field.name]\"\n v-else\n :field=\"field\"\n :formModel=\"model\"\n :key=\"field.name\"\n :validateInfos=\"validateInfos\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n />\n </template>\n </a-col>\n </a-row>\n </a-form>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, watch } from 'vue';\n\nexport default defineComponent({\n name: 'FormRender2',\n components: {},\n props: {\n model: {\n type: Object,\n required: true,\n },\n form: {\n type: Object,\n required: true,\n },\n options: {\n type: Object,\n required: true,\n },\n validateInfos: {\n type: Object,\n default: () => {},\n },\n },\n setup(props) {\n if (props.form.watch) {\n for (const k in props.form.watch) {\n watch(\n () => props.model[k],\n () => {\n props.form.watch[k](props.model, props.form);\n },\n );\n }\n }\n },\n\n data() {\n return {};\n },\n methods: {\n validate() {\n return (this.$refs.form as any).validate();\n },\n reset() {\n (this.$refs.form as any).resetFields();\n },\n disable(name: string | number) {\n // eslint-disable-next-line vue/no-mutating-props\n this.form.fields[name].disabled = true;\n },\n disableAll() {\n this.form.fields.forEach((item: any) => {\n item.disabled = true;\n });\n },\n },\n created() {},\n});\n</script>\n","import { useRequest } from 'liyu-pc-base/init-plugin';\nimport type { PageResult } from 'liyu-pc-base/api/typing';\n\nexport async function create_view_settings(params: Record<string, any>) {\n return useRequest().post('/view/create_view_settings', params);\n}\n\nexport async function update_view_settings(params: Record<string, any>) {\n return useRequest().post('/view/update_view_settings', params);\n}\n\nexport async function refresh_view_settings_cache(params: Record<string, any>) {\n return useRequest().post('/view/refresh_view_settings_cache', params);\n}\n\nexport async function set_view_settings_default(params: Record<string, any>) {\n return useRequest().post('/view/set_view_settings_default', params);\n}\n\nexport async function delete_view_settings(params: Record<string, any>) {\n return useRequest().post('/view/delete_view_settings', params);\n}\n\nexport async function recover_view_settings(params: Record<string, any>) {\n return useRequest().post('/view/recover_view_settings', params);\n}\n\nexport async function get_view_settings(params: Record<string, any>) {\n return useRequest().post('/view/get_view_settings', params);\n}\n\nexport async function create_user_view(params: Record<string, any>) {\n return useRequest().post('/view/create_user_view', params);\n}\n\nexport async function update_user_view(params: Record<string, any>) {\n return useRequest().post('/view/update_user_view', params);\n}\n\nexport async function delete_user_view(params: Record<string, any>) {\n return useRequest().post('/view/delete_user_view', params);\n}\n\nexport async function recover_user_view(params: Record<string, any>) {\n return useRequest().post('/view/recover_user_view', params);\n}\n\nexport async function get_user_view(params: Record<string, any>) {\n return useRequest().post('/view/get_user_view', params);\n}\n\nexport async function get_view_settings_for_user(params: Record<string, any>) {\n return useRequest().post('/view/get_view_settings_for_user', params);\n}\n\nexport async function change_view_settings_sort(params: Record<string, any>) {\n return useRequest().post('/view/change_view_settings_sort', params);\n}\n\nexport async function query_view_settings_list(params?: {\n [key: string]: any;\n}): Promise<PageResult> {\n return useRequest().post('/view/query_view_settings_list', params);\n}\n\nexport async function query_user_view_list(params?: { [key: string]: any }): Promise<PageResult> {\n return useRequest().post('/view/query_user_view_list', params);\n}\n","export const CUSTOM_VIEW_DATA_USER = 'customviewdatauser';\n","<template>\n <a-card :body-style=\"{ padding: 0, height: height + 96 + 'px', overflowY: 'auto' }\">\n <a-collapse\n v-model:activeKey=\"viewKey\"\n :bordered=\"false\"\n class=\"collapses\"\n style=\"background: rgb(255, 255, 255)\"\n >\n <template #expandIcon=\"{ isActive }\">\n <caret-right-outlined :rotate=\"isActive ? 90 : 0\" />\n </template>\n <a-collapse-panel\n :key=\"'1'\"\n :style=\"customStyle\"\n >\n <template #header>\n <span style=\"font-weight: 700\">{{ $t('个人视图') }}</span>\n </template>\n <template #extra>\n <a-tooltip>\n <template #title>{{ $t('个人视图管理') }}</template>\n <setting-outlined\n style=\"margin-right: 10px\"\n @click.stop=\"editView('personal')\"\n />\n </a-tooltip>\n <a-tooltip>\n <template #title>{{ $t('新建个人视图') }}</template>\n <plus-outlined @click.stop=\"addView('personal')\" />\n </a-tooltip>\n </template>\n <a-table\n v-if=\"personData.length > 0\"\n :columns=\"columns\"\n :customRow=\"customRow\"\n :dataSource=\"personData\"\n :pagination=\"false\"\n :showHeader=\"false\"\n :size=\"'small'\"\n >\n <template #bodyCell=\"{ column, record }\">\n <div\n class=\"table\"\n v-if=\"column.dataIndex === 'name'\"\n style=\"width: 100%; cursor: pointer\"\n @click=\"changeView(record)\"\n >\n <a-tooltip\n :title=\"record.name\"\n :color=\"'magenta'\"\n placement=\"left\"\n :destroyTooltipOnHide=\"true\"\n :overlayStyle=\"{ maxWidth: '200px' }\"\n >\n <div style=\"max-width: 130px; float: left; white-space: nowrap; overflow: hidden\">\n {{ record.name }}\n </div>\n </a-tooltip>\n <span\n class=\"num\"\n style=\"float: right\"\n :style=\"\n currentViewObj.id === record.id ? { color: '#1890ff', fontWeight: 'bold' } : {}\n \"\n >\n {{ record.num }}\n </span>\n <a-dropdown class=\"dropdown\">\n <span\n style=\"float: right; font-weight: 800\"\n @click.stop=\"\"\n >\n · · ·\n </span>\n <template #overlay>\n <a-menu>\n <a-menu-item v-if=\"!record.is_system || is_auth\">\n <a\n href=\"javascript:;\"\n @click=\"handleSubmit(record, 'personal')\"\n >\n {{ $t('编辑') }}\n </a>\n </a-menu-item>\n <a-menu-item>\n <a\n href=\"javascript:;\"\n @click=\"handleShare(record)\"\n >\n {{ $t('分享视图') }}\n </a>\n </a-menu-item>\n <a-menu-item v-if=\"!record.is_system || is_auth\">\n <a\n href=\"javascript:;\"\n @click=\"handleDelet(record)\"\n >\n {{ $t('删除') }}\n </a>\n </a-menu-item>\n </a-menu>\n </template>\n </a-dropdown>\n </div>\n </template>\n </a-table>\n </a-collapse-panel>\n <a-collapse-panel\n :key=\"'2'\"\n :style=\"customStyle\"\n >\n <template #header>\n <span style=\"font-weight: 700\">{{ $t('公共视图') }}</span>\n </template>\n <template #extra>\n <a-tooltip>\n <template #title>{{ $t('公共视图管理') }}</template>\n <setting-outlined\n style=\"margin-right: 10px\"\n @click.stop=\"editView('public')\"\n />\n </a-tooltip>\n <a-tooltip>\n <template #title>{{ $t('新建公共视图') }}</template>\n <plus-outlined @click.stop=\"addView('public')\" />\n </a-tooltip>\n </template>\n <a-table\n v-if=\"publicData.length > 0\"\n :columns=\"columns\"\n :customRow=\"customRow\"\n :dataSource=\"publicData\"\n :pagination=\"false\"\n :showHeader=\"false\"\n :size=\"'small'\"\n >\n <template #bodyCell=\"{ column, record }\">\n <div\n class=\"table\"\n v-if=\"column.dataIndex === 'name'\"\n style=\"width: 100%; cursor: pointer\"\n @click=\"changeView(record)\"\n >\n <a-tooltip\n :title=\"record.name\"\n :color=\"'magenta'\"\n placement=\"left\"\n :destroyTooltipOnHide=\"true\"\n :overlayStyle=\"{ maxWidth: '200px' }\"\n >\n <div style=\"max-width: 130px; float: left; white-space: nowrap; overflow: hidden\">\n {{ record.name }}\n </div>\n </a-tooltip>\n <span\n class=\"num\"\n style=\"float: right\"\n :style=\"\n currentViewObj.id === record.id ? { color: '#1890ff', fontWeight: 'bold' } : {}\n \"\n >\n {{ record.num }}\n </span>\n <a-dropdown class=\"dropdown\">\n <span\n style=\"float: right; font-weight: 800\"\n @click.stop=\"\"\n >\n · · ·\n </span>\n <template #overlay>\n <a-menu>\n <a-menu-item v-if=\"!record.is_system || is_auth\">\n <a\n href=\"javascript:;\"\n @click=\"handleSubmit(record, 'public')\"\n >\n {{ $t('编辑') }}\n </a>\n </a-menu-item>\n <a-menu-item>\n <a\n href=\"javascript:;\"\n @click=\"handleShare(record)\"\n >\n {{ $t('分享视图') }}\n </a>\n </a-menu-item>\n <a-menu-item v-if=\"!record.is_system || is_auth\">\n <a\n href=\"javascript:;\"\n @click=\"handleDelet(record)\"\n >\n {{ $t('删除') }}\n </a>\n </a-menu-item>\n </a-menu>\n </template>\n </a-dropdown>\n </div>\n </template>\n </a-table>\n </a-collapse-panel>\n </a-collapse>\n </a-card>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n createVNode,\n defineComponent,\n onActivated,\n onMounted,\n onUnmounted,\n reactive,\n ref,\n watch,\n} from 'vue';\nimport {\n CaretRightOutlined,\n ExclamationCircleOutlined,\n PlusOutlined,\n SettingOutlined,\n} from '@ant-design/icons-vue';\nimport modalBox from 'liyu-pc-base/components/form-modal/modal-tools';\nimport { message, Modal } from 'ant-design-vue';\nimport { useUserStore } from 'liyu-pc-base/init-plugin';\nimport {\n change_view_settings_sort,\n create_view_settings,\n delete_view_settings,\n query_view_settings_list,\n refresh_view_settings_cache,\n set_view_settings_default,\n update_view_settings,\n} from 'liyu-pc-base/api/view-model';\nimport { sourceStore } from 'liyu-pc-base/init-plugin';\nimport { copyValue } from 'liyu-pc-base/utils/function';\nimport { getApiData } from 'liyu-pc-base/api/api-model';\nimport {\n getPageConfig,\n getViewSettingsAndPageConfig,\n} from 'liyu-pc-base/components/remotePages/index';\nimport { useI18n } from 'vue-i18n';\nimport { useRequiredConditionStore } from 'liyu-pc-base/init-plugin';\nimport { required_condition_event_obj } from 'liyu-pc-base/init-plugin';\nimport { useEnv } from 'liyu-pc-base/init-plugin';\nimport { CUSTOM_VIEW_DATA_USER } from 'liyu-pc-base/constants';\n\nconst VIEW_SYSTEM_EDIT = 'view_system_edit';\nconst columns = [\n {\n title: '',\n dataIndex: 'name',\n key: 'name',\n },\n];\nexport default defineComponent({\n name: 'ViewManage',\n components: {\n CaretRightOutlined,\n PlusOutlined,\n SettingOutlined,\n },\n props: {\n currentViewObj: {\n type: Object,\n required: true,\n },\n menu_flag: {\n type: String,\n required: true,\n },\n menu_name: {\n type: String,\n required: true,\n },\n countData: {\n type: String,\n required: true,\n },\n create_num: {\n type: Number,\n required: true,\n },\n current_num: {\n type: Number,\n required: true,\n },\n count_num: {\n type: Number,\n required: true,\n },\n height: {\n type: Number,\n required: true,\n },\n modalType: {\n type: String,\n },\n app_flag: {\n type: String,\n },\n },\n emits: ['change'],\n setup(props, { emit }) {\n const env = useEnv();\n const requiredConditionStore = useRequiredConditionStore();\n const userStore = useUserStore();\n const current_org = userStore.currentOrg;\n const userid = userStore.userid;\n const is_auth = ref(userStore.CHECK_AUTH(VIEW_SYSTEM_EDIT));\n const viewData = ref([]); // 视图数据\n const { t } = useI18n();\n let mergedConfig: any;\n let defaultAndServerConfig: any;\n const personData = computed(() => {\n const list = viewData.value\n .filter((item: any) => !!item.user_id && item.is_system)\n .map((item: any) => {\n return item;\n })\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort));\n const list1 = viewData.value\n .filter((item: any) => !!item.user_id && !item.is_system)\n .map((item: any) => {\n return item;\n })\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort));\n return list.concat(list1);\n }); // 个人视图数据\n const publicData = computed(() => {\n const list = viewData.value\n .filter((item: any) => !item.user_id && item.is_system)\n .map((item: any) => {\n return item;\n })\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort));\n const list1 = viewData.value\n .filter((item: any) => !item.user_id && !item.is_system)\n .map((item: any) => {\n return item;\n })\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort));\n return list.concat(list1);\n }); // 公共视图数据\n const viewNameList = computed(() => {\n return viewData.value.map((item: any) => {\n return item.name;\n });\n }); // 视图名称列表,用于创建、修改时查重\n\n const fetchData = async ({\n id,\n search_model,\n filter_map,\n sort_fields,\n group_condition,\n conditions,\n isShowGeneralFilter,\n }) => {\n return new Promise(resolve => {\n if (!props.countData && !mergedConfig?.countData) {\n console.error('无count接口');\n resolve(null);\n }\n const obj: any = {\n org_id: current_org.id,\n ...search_model,\n ...filter_map,\n sort_fields: sort_fields,\n };\n if (isShowGeneralFilter) {\n obj.group_condition = group_condition;\n obj.conditions = conditions;\n }\n obj.required_condition = getRequiredConditionObj();\n getApiData(obj, mergedConfig?.countData ? mergedConfig.countData : props.countData)\n .then((res: any) => {\n viewData.value.forEach((item: any) => {\n if (item.id == id) {\n item.num = res;\n }\n });\n resolve(null);\n })\n .catch(error => {\n console.log('error', error);\n message.error(t('获取数据失败, 请刷新页面'));\n });\n });\n };\n const setCount = async (list: any) => {\n for (const item of list) {\n try {\n await fetchData(item);\n } catch (error) {\n console.log('error', error);\n message.error(t('获取数据失败, 请刷新页面'));\n }\n }\n };\n // 查询视图、刷新count\n const viewRefresh = () => {\n getViewSettingsAndPageConfig({\n org_id: current_org.id,\n user_id: userid,\n app_flag: props.app_flag,\n modalType: props.modalType,\n sort_fields: ['sort', 'create_time'],\n is_cache: false,\n })\n .then((res: any) => {\n mergedConfig = getPageConfig(\n props.app_flag,\n props.modalType,\n res.defaultAndServerConfig,\n t,\n {\n use_store: true,\n to_i18n: true,\n enable_btn: false,\n },\n );\n defaultAndServerConfig = res.defaultAndServerConfig;\n if (mergedConfig?.isView === false) {\n window.location.hash = '';\n emit('change', defaultAndServerConfig, {}, true, true);\n return;\n }\n requiredConditionStore.set_required_condition(\n props.modalType,\n mergedConfig.required_condition,\n );\n viewData.value.length = 0;\n let list: any = [];\n const count_search_list: any = [];\n if (res && res.system_user_datas && res.system_user_datas.length > 0) {\n list = list.concat(res.system_user_datas);\n }\n if (res && res.system_public_datas && res.system_public_datas.length > 0) {\n list = list.concat(res.system_public_datas);\n }\n if (res && res.public_datas && res.public_datas.length > 0) {\n list = list.concat(res.public_datas);\n }\n if (res && res.user_datas && res.user_datas.length > 0) {\n list = list.concat(res.user_datas);\n }\n list.forEach((item: any) => {\n let search_model: any = null;\n let filter_map: any = null;\n let group_condition: any = null;\n let conditions: any = null;\n if (item.data.isShowGeneralFilter) {\n search_model = {};\n filter_map = {};\n group_condition = item.data.group_condition;\n conditions = item.data.conditions;\n } else {\n search_model = item.data.search_model;\n filter_map = item.data.filter_map;\n group_condition = {};\n conditions = [];\n }\n viewData.value.push({\n ...item,\n search_model,\n filter_map,\n sort_fields: item.data.sort_fields,\n group_condition: group_condition,\n conditions: conditions,\n });\n count_search_list.push({\n id: item.id,\n isShowGeneralFilter: item.data.isShowGeneralFilter,\n search_model,\n filter_map,\n sort_fields: item.data.sort_fields,\n group_condition,\n conditions,\n });\n });\n if (count_search_list.length > 0) {\n setCount(count_search_list);\n }\n handleHashChange(null);\n })\n .catch(err => {\n console.log('err', err);\n message.error(t('获取视图失败, 请刷新页面'));\n });\n };\n // 根据hash选定当前视图数据 event返回(视图数据,是否刷新页面,是否可自我保存)\n const handleHashChange = (uid: any) => {\n let hash = null;\n if (uid) {\n hash = uid;\n } else if (window.location.hash) {\n hash = window.location.hash.substring(1); // 去掉 # 符号\n }\n if (hash) {\n // 分享的视图链接打开\n const list = viewData.value.filter((item: any) => item.uid == hash);\n if (list && list.length > 0) {\n emit('change', defaultAndServerConfig, { ...list[0], ...list[0].data }, true, true);\n } else {\n query_view_settings_list({\n org_id: current_org.id,\n is_active: true,\n view_menu__name: props.menu_flag,\n uid: hash,\n }).then((res: any) => {\n if (res && res.data && res.data.length > 0) {\n emit(\n 'change',\n defaultAndServerConfig,\n {\n ...res.data[0],\n ...res.data[0].data,\n },\n true,\n false,\n );\n } else {\n const list = viewData.value.filter((item: any) => !item.user_id && item.is_default);\n if (list && list.length > 0) {\n window.location.hash = list[0].uid;\n emit('change', defaultAndServerConfig, { ...list[0], ...list[0].data }, true, true);\n return;\n }\n let obj = viewData.value\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort))\n .find((item: any) => !item.user_id);\n if (obj && obj.uid) {\n window.location.hash = obj.uid;\n emit('change', defaultAndServerConfig, { ...obj, ...obj.data }, true, true);\n } else {\n obj = viewData.value\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort))\n .find((item: any) => item.user_id);\n if (obj && obj.uid) {\n window.location.hash = obj.uid;\n emit('change', defaultAndServerConfig, { ...obj, ...obj.data }, true, true);\n } else {\n const obj = {\n uid: null,\n view_menu__flag: props.menu_flag,\n column: {},\n search_model: {},\n filter_map: {},\n sort_fields: [],\n filtered_value: {},\n sort_orders: [],\n };\n emit('change', defaultAndServerConfig, obj, true, false);\n window.location.hash = '';\n }\n }\n }\n });\n }\n } else {\n let current_uid = '';\n if (sourceStore().get(CUSTOM_VIEW_DATA_USER)) {\n current_uid = sourceStore().get(CUSTOM_VIEW_DATA_USER)?.[props.menu_flag]; // 菜单当前视图uid\n }\n if (current_uid) {\n window.location.hash = current_uid;\n handleHashChange(current_uid);\n } else {\n // 优先选择非系统视图的默认视图\n const list = viewData.value.filter(\n (item: any) => !item.user_id && item.is_default && !item.is_system,\n );\n if (list && list.length > 0) {\n window.location.hash = list[0].uid;\n emit('change', defaultAndServerConfig, { ...list[0], ...list[0].data }, true, true);\n return;\n }\n // 其次选择系统视图默认视图(多个默认选择第一个)\n const list_is_system = viewData.value.filter(\n (item: any) => !item.user_id && item.is_default && item.is_system,\n );\n if (list_is_system && list_is_system.length > 0) {\n window.location.hash = list_is_system[0].uid;\n emit(\n 'change',\n defaultAndServerConfig,\n { ...list_is_system[0], ...list_is_system[0].data },\n true,\n true,\n );\n return;\n }\n let obj = viewData.value\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort))\n .find((item: any) => !item.user_id);\n if (obj && obj.uid) {\n window.location.hash = obj.uid;\n emit('change', defaultAndServerConfig, { ...obj, ...obj.data }, true, true);\n } else {\n obj = viewData.value\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort))\n .find((item: any) => item.user_id);\n if (obj && obj.uid) {\n window.location.hash = obj.uid;\n emit('change', defaultAndServerConfig, { ...obj, ...obj.data }, true, true);\n } else {\n window.location.hash = '';\n const obj = {\n uid: null,\n view_menu__flag: props.menu_flag,\n column: {},\n search_model: {},\n filter_map: {},\n sort_fields: [],\n filtered_value: {},\n sort_orders: [],\n };\n emit('change', defaultAndServerConfig, obj, true, false);\n }\n }\n }\n }\n };\n viewRefresh();\n const viewKey = ref(['1', '2']); // 视图数据展开控制key\n const customStyle =\n 'background: #ffffff;border-radius: 4px;margin-bottom: 2px;border: 0;overflow: hidden;';\n const customRow = (record: any) => {\n return props.currentViewObj && record && record.id === props.currentViewObj.id\n ? { style: { backgroundColor: '#ddf1ff' } }\n : { style: {} };\n };\n // 切换视图\n const changeView = (record: any) => {\n window.location.hash = record.uid;\n handleHashChange(record.uid);\n refreshCount([record]);\n };\n // 保存修改视图\n const viewSubmit = ({ updateView, record }) => {\n if (record.name != updateView.name && viewNameList.value.includes(updateView.name)) {\n message.error(t('视图名称已存在'));\n return;\n }\n if (record?.id) {\n const list = viewData.value.filter((item: any) => record?.id == item.id);\n if (updateView.is_submit?.[0]) {\n const view = {\n ...list[0].data,\n search_model: { ...props.currentViewObj.search_model, current: 1 },\n filter_map: props.currentViewObj.filter_map,\n sort_fields: props.currentViewObj.sort_fields,\n filtered_value: props.currentViewObj.filtered_value,\n sort_orders: props.currentViewObj.sort_orders,\n column: props.currentViewObj.column,\n isShowGeneralFilter: props.currentViewObj.isShowGeneralFilter,\n conditions: props.currentViewObj.conditions,\n group_condition: props.currentViewObj.group_condition,\n group_record: props.currentViewObj.group_record,\n default_search_condition_config_list:\n props.currentViewObj.default_search_condition_config_list,\n };\n delete view.is_system; // 存储时不记录is_system,防止后端直接修改,前端不起效\n update_view_settings({\n org_id: current_org.id,\n view_settings_id: record?.id,\n is_system: updateView.is_system?.[0],\n name: updateView.name,\n data: JSON.stringify(view),\n }).then((res: any) => {\n if (updateView.is_default?.[0]) {\n set_view_settings_default({\n org_id: current_org.id,\n view_settings_id: record?.id,\n }).then(() => {\n refresh_view_settings_cache({\n org_id: current_org.id,\n view_settings_id: record?.id,\n }).then(() => {\n message.success(t('保存成功'));\n if (res.id == props.currentViewObj?.id) {\n emit('change', defaultAndServerConfig, { ...res, ...res.data }, false, true);\n } else {\n viewData.value.forEach((item: any) => {\n if (item.id == res.id) {\n Object.assign(item, { ...res, ...res.data });\n }\n });\n }\n viewRefresh();\n });\n });\n } else {\n refresh_view_settings_cache({\n org_id: current_org.id,\n view_settings_id: record?.id,\n }).then(() => {\n message.success(t('保存成功'));\n if (res.id == props.currentViewObj?.id) {\n emit('change', defaultAndServerConfig, { ...res, ...res.data }, false, true);\n } else {\n viewData.value.forEach((item: any) => {\n if (item.id == res.id) {\n Object.assign(item, { ...res, ...res.data });\n }\n });\n }\n viewRefresh();\n });\n }\n });\n } else {\n update_view_settings({\n org_id: current_org.id,\n view_settings_id: record?.id,\n is_system: updateView.is_system?.[0],\n name: updateView.name,\n }).then((res: any) => {\n if (updateView.is_default?.[0]) {\n set_view_settings_default({\n org_id: current_org.id,\n view_settings_id: record?.id,\n }).then(() => {\n refresh_view_settings_cache({\n org_id: current_org.id,\n view_settings_id: record?.id,\n }).then(() => {\n message.success(t('保存成功'));\n if (res.id == props.currentViewObj?.id) {\n emit('change', defaultAndServerConfig, { ...res, ...res.data }, false, true);\n } else {\n viewData.value.forEach((item: any) => {\n if (item.id == res.id) {\n Object.assign(item, { ...res, ...res.data });\n }\n });\n }\n viewRefresh();\n });\n });\n } else {\n refresh_view_settings_cache({\n org_id: current_org.id,\n view_settings_id: record?.id,\n }).then(() => {\n message.success(t('保存成功'));\n if (res.id == props.currentViewObj?.id) {\n emit('change', defaultAndServerConfig, { ...res, ...res.data }, false, true);\n } else {\n viewData.value.forEach((item: any) => {\n if (item.id == res.id) {\n Object.assign(item, { ...res, ...res.data });\n }\n });\n }\n viewRefresh();\n });\n }\n });\n }\n } else {\n let view: any = {};\n if (updateView.is_submit?.[0]) {\n view = {\n search_model: { ...props.currentViewObj.search_model, current: 1 },\n filter_map: props.currentViewObj.filter_map,\n sort_fields: props.currentViewObj.sort_fields,\n filtered_value: props.currentViewObj.filtered_value,\n sort_orders: props.currentViewObj.sort_orders,\n column: props.currentViewObj.column,\n isShowGeneralFilter: props.currentViewObj.isShowGeneralFilter,\n conditions: props.currentViewObj.conditions,\n group_condition: props.currentViewObj.group_condition,\n group_record: props.currentViewObj.group_record,\n default_search_condition_config_list:\n props.currentViewObj.default_search_condition_config_list,\n };\n delete view.is_system; // 存储时不记录is_system,防止后端直接修改,前端不起效\n } else {\n view = {\n column: {},\n search_model: {},\n filter_map: {},\n sort_fields: [],\n filtered_value: {},\n sort_orders: [],\n isShowGeneralFilter: null,\n conditions: [],\n group_condition: {},\n group_record: {},\n };\n }\n create_view_settings({\n org_id: current_org.id,\n user_id: updateView.view_type == 'personal' ? userid : null,\n name: updateView.name,\n view_project__flag: env.VITE_APP_VIEW_PROJECT_FLAG,\n view_menu__flag: props.menu_flag,\n view_menu__name: props.menu_name,\n is_system: false,\n data: JSON.stringify(view),\n }).then((res: any) => {\n emit('change', defaultAndServerConfig, { ...res, ...res.data }, true, true);\n if (res.id) {\n viewData.value = viewData.value.concat([\n {\n ...res,\n },\n ]);\n setCount([\n {\n id: res.id,\n search_model: view.search_model,\n filter_map: view.filter_map,\n sort_fields: view.sort_fields,\n group_condition: view.group_condition,\n conditions: view.conditions,\n isShowGeneralFilter: view.isShowGeneralFilter,\n },\n ]);\n window.location.hash = res.uid;\n handleHashChange(res.uid);\n }\n });\n }\n };\n // 视图编辑按钮\n const handleSubmit = (record: any, view_type: string) => {\n let is_submit: any = [false];\n if (props.currentViewObj.id == record.id) {\n is_submit = [true];\n }\n const tempModal = reactive({\n open: true,\n loading: false,\n title: t('编辑视图'),\n form: {\n settings: {\n labelAlign: 'right',\n layout: 'vertical',\n col: [],\n },\n fields: [\n {\n type: 'input',\n name: 'name',\n label: t('视图名称'),\n disabled: false,\n allowClear: true,\n inputType: 'text',\n defaultValue: '',\n placeholder: t('请输入视图名称'),\n },\n {\n type: 'checkbox',\n name: 'is_submit',\n label: '',\n disabled: false,\n allowClear: true,\n labelKey: 'name',\n valueKey: 'value',\n defaultValue: [false],\n placeholder: '',\n },\n ],\n rules: reactive({\n name: [\n {\n required: true,\n message: t('请输入视图名称'),\n },\n ],\n }),\n model: reactive({\n name: record.name,\n is_submit: is_submit,\n is_default: [record?.is_default ? record?.is_default : false],\n is_system: [record?.is_system ? record?.is_system : false],\n }),\n },\n options: {\n is_submit: [\n {\n name: t('将当前过滤条件、排序、显示属性、视图和分组等设置更新到该视图中'),\n value: true,\n },\n ],\n is_default: [\n {\n name: t('设为默认视图'),\n value: true,\n },\n ],\n is_system: [\n {\n name: t('设为系统视图'),\n value: true,\n },\n ],\n },\n ok: (data: any) => {\n return new Promise(function (resolve) {\n viewSubmit({ updateView: data, record: record });\n resolve(null);\n });\n },\n });\n if (view_type == 'public') {\n tempModal.form.fields.push({\n type: 'checkbox',\n name: 'is_default',\n label: '',\n disabled: false,\n allowClear: true,\n labelKey: 'name',\n valueKey: 'value',\n defaultValue: [false],\n placeholder: '',\n });\n if (is_auth.value) {\n tempModal.form.fields.push({\n type: 'checkbox',\n name: 'is_system',\n label: '',\n disabled: false,\n allowClear: true,\n labelKey: 'name',\n valueKey: 'value',\n defaultValue: [false],\n placeholder: '',\n });\n }\n }\n modalBox(tempModal);\n };\n // 添加视图\n const addView = (view_type: any) => {\n const tempModal = reactive({\n open: true,\n loading: false,\n title: t('新建视图'),\n form: {\n settings: {\n labelAlign: 'right',\n layout: 'vertical',\n col: [],\n },\n fields: [\n {\n type: 'input',\n name: 'name',\n label: t('视图名称'),\n disabled: false,\n allowClear: true,\n inputType: 'text',\n defaultValue: '',\n placeholder: t('请输入视图名称'),\n },\n {\n type: 'radio',\n name: 'view_type',\n label: t('视图可见范围'),\n disabled: false,\n allowClear: true,\n labelKey: 'name',\n valueKey: 'value',\n defaultValue: '',\n placeholder: '',\n },\n {\n type: 'checkbox',\n name: 'is_submit',\n label: '',\n disabled: false,\n allowClear: true,\n labelKey: 'name',\n valueKey: 'value',\n defaultValue: [false],\n placeholder: '',\n },\n ],\n rules: reactive({\n name: [\n {\n required: true,\n message: t('请输入视图名称'),\n },\n ],\n }),\n model: reactive({\n name: null,\n view_type: view_type,\n is_submit: [true],\n }),\n },\n options: {\n view_type: [\n { name: t('个人视图(仅自己可见)'), value: 'personal' },\n { name: t('公共视图(项目成员均可见)'), value: 'public' },\n ],\n is_submit: [\n {\n name: t('将当前过滤条件、排序、显示属性、视图和分组等设置更新到该视图中'),\n value: true,\n },\n ],\n },\n ok: (data: any) => {\n return new Promise(function (resolve) {\n if (viewNameList.value.includes(data.name)) {\n message.error(t('视图名称已存在'));\n return;\n }\n viewSubmit({ updateView: data, record: data });\n resolve(null);\n });\n },\n });\n modalBox(tempModal);\n };\n // 管理视图\n const editView = (view_type: any) => {\n const tempModal = reactive({\n open: true,\n component: 'ViewEditModal',\n compObj: {\n title: view_type == 'personal' ? t('个人视图管理') : t('公共视图管理'),\n data: view_type == 'personal' ? personData.value : publicData.value,\n },\n ok: (ids: any) => {\n if (ids && ids.length > 0) {\n change_view_settings_sort({\n org_id: current_org.id,\n view_settings_ids: ids,\n }).then(() => {\n message.success(t('保存成功'));\n viewRefresh();\n });\n } else {\n message.success(t('保存成功'));\n viewRefresh();\n }\n },\n cancel: (isEdit: any) => {\n if (isEdit) {\n viewRefresh();\n }\n },\n });\n modalBox(tempModal);\n };\n // 分享视图\n const handleShare = (record: any) => {\n let url = '';\n const index = window.location.href.indexOf('#');\n if (index !== -1) {\n // 如果找到了 #,则截取它之前的部分\n url = window.location.href.substring(0, index) + '#' + record.uid;\n } else {\n // 如果没有找到 #,则返回原始字符串\n url = window.location.href + '#' + record.uid;\n }\n copyValue({ val: url, message: t('复制成功') });\n };\n // 删除视图\n const handleDelet = (record: any) => {\n Modal.confirm({\n title: () =>\n `${t('确认删除此')}【${record.name}】${record?.user_id ? t('个人视图') : t('公共视图')}?`,\n content: t('视图删除后不可恢复,视图下工作项不受影响,是否确认删除?'),\n icon: () => createVNode(ExclamationCircleOutlined),\n okText: t('确定'),\n onOk() {\n return new Promise(resolve => {\n delete_view_settings({\n org_id: current_org.id,\n view_settings_id: record?.id,\n })\n .then(() => {\n viewData.value = viewData.value.filter((item: any) => item.id != record.id);\n handleHashChange(null);\n message.success(t('删除成功'));\n })\n .finally(() => {\n resolve(null);\n });\n }).catch(() => console.log('Oops errors!'));\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onCancel() {},\n });\n };\n const getRequiredConditionObj = () => {\n const page_config = getPageConfig(props.app_flag, props.modalType, null, t, {\n use_store: true,\n to_i18n: true,\n enable_btn: false,\n });\n const required_condition = page_config.required_condition;\n const required_condition_obj = {};\n if (required_condition) {\n required_condition.forEach((item: any) => {\n const value = requiredConditionStore.value_map[item.key];\n if (value !== undefined && value !== null) {\n required_condition_obj[item.field_name] = value;\n }\n });\n }\n return required_condition_obj;\n };\n // 刷新Count (视图record,uid) => {}\n const refreshCount = (list: any) => {\n const count_search_list = [];\n list.forEach((item: any) => {\n let search_model: any = null;\n let filter_map: any = null;\n let group_condition: any = null;\n let conditions: any = null;\n if (item.data.isShowGeneralFilter) {\n search_model = {};\n filter_map = {};\n group_condition = item.data.group_condition;\n conditions = item.data.conditions;\n } else {\n search_model = item.data.search_model;\n filter_map = item.data.filter_map;\n group_condition = {};\n conditions = [];\n }\n count_search_list.push({\n id: item.id,\n search_model,\n filter_map,\n sort_fields: item.data.sort_fields,\n group_condition,\n conditions,\n isShowGeneralFilter: item.data.isShowGeneralFilter,\n });\n });\n setCount(count_search_list);\n };\n watch(\n () => props.current_num, // 监听保存当前视图\n () => {\n Modal.confirm({\n title: () => t('确定覆盖视图吗?'),\n content: t('当前视图原有的数据会被覆盖'),\n icon: () => createVNode(ExclamationCircleOutlined),\n okText: t('确定'),\n onOk() {\n return new Promise(resolve => {\n viewSubmit({\n updateView: {\n is_submit: [true],\n is_system: [props.currentViewObj.is_system],\n name: props.currentViewObj.name,\n },\n record: props.currentViewObj,\n });\n resolve(null);\n }).catch(() => console.log('Oops errors!'));\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onCancel() {},\n });\n },\n );\n watch(\n () => props.create_num, // 监听另存为\n () => {\n const tempModal = reactive({\n open: true,\n loading: false,\n title: t('新建视图'),\n form: {\n settings: {\n labelAlign: 'right',\n layout: 'vertical',\n col: [],\n },\n fields: [\n {\n type: 'input',\n name: 'name',\n label: t('视图名称'),\n disabled: false,\n allowClear: true,\n inputType: 'text',\n defaultValue: '',\n placeholder: t('请输入视图名称'),\n },\n {\n type: 'radio',\n name: 'view_type',\n label: t('视图可见范围'),\n disabled: false,\n allowClear: true,\n labelKey: 'name',\n valueKey: 'value',\n defaultValue: '',\n placeholder: '',\n },\n ],\n rules: reactive({\n name: [\n {\n required: true,\n message: t('请输入视图名称'),\n },\n ],\n }),\n model: reactive({\n name: null,\n view_type: 'personal',\n is_submit: [true],\n }),\n },\n options: {\n view_type: [\n { name: t('个人视图(仅自己可见)'), value: 'personal' },\n { name: t('公共视图(项目成员均可见)'), value: 'public' },\n ],\n is_submit: [\n {\n name: t('将当前过滤条件、排序、显示属性、视图和分组等设置更新到该视图中'),\n value: true,\n },\n ],\n },\n ok: (data: any) => {\n return new Promise(function (resolve) {\n const viewNameList = viewData.value.map((item: any) => item.name);\n if (viewNameList.includes(data.name)) {\n message.error(t('视图名称已存在'));\n return;\n }\n viewSubmit({ updateView: data, record: data });\n resolve(null);\n });\n },\n });\n modalBox(tempModal);\n },\n );\n\n watch(\n () => props.count_num, // 监听刷新当前视图count\n () => {\n refreshCount(viewData.value);\n },\n );\n const handleRequiredConditionChange = (key: string) => {\n const page_config = getPageConfig(props.currentViewObj.app_flag, props.modalType, null, t, {\n use_store: true,\n to_i18n: true,\n enable_btn: false,\n });\n if (page_config.required_condition) {\n const item = page_config.required_condition.find((item: any) => item.key === key);\n if (item) {\n viewRefresh();\n }\n }\n };\n onMounted(() => {\n required_condition_event_obj().on('change', handleRequiredConditionChange);\n });\n onUnmounted(() => {\n required_condition_event_obj().off('change', handleRequiredConditionChange);\n });\n // 页面重新进入刷新count\n onActivated(() => {\n refreshCount(viewData.value);\n });\n return {\n props,\n viewKey,\n customStyle,\n columns,\n personData,\n publicData,\n is_auth,\n addView,\n editView,\n customRow,\n changeView,\n handleSubmit,\n handleShare,\n handleDelet,\n };\n },\n});\n</script>\n<style lang=\"less\">\n.collapses .ant-collapse-item .ant-collapse-content .ant-collapse-content-box {\n padding: 0;\n}\n\n.num {\n display: inline-block;\n}\n\n.dropdown {\n display: none;\n}\n\n.table:hover .dropdown {\n display: inline-block;\n}\n\n.table:hover .num {\n display: none;\n}\n</style>\n","<template>\n <a-card :body-style=\"{ padding: 0, height: selectObj.height + 96 + 'px', overflowY: 'auto' }\">\n <view-manage\n :select-obj=\"selectObj\"\n @change=\"change\"\n />\n </a-card>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue';\n// import SideFieldRender from 'liyu-pc-base/components/SideSearchRender/SideFieldRender.vue';\n// import { ReloadOutlined } from '@ant-design/icons-vue';\nimport ViewManage from 'liyu-pc-base/components/SideSearchRender/viewManage.vue';\n\nexport default defineComponent({\n name: 'SideSearchRender',\n components: {\n ViewManage,\n },\n props: {\n selectObj: {\n type: Object,\n required: true,\n },\n },\n emits: ['change'],\n setup(props, { emit }) {\n const change = (data: any, is_refresh: any, is_ownView: any) => {\n emit('change', data, is_refresh, is_ownView);\n };\n return {\n props,\n change,\n };\n },\n});\n</script>\n<style lang=\"less\">\n.collapses .ant-collapse-item .ant-collapse-content .ant-collapse-content-box {\n padding: 0;\n}\n</style>\n"],"names":["_sfc_main$7","defineComponent","props","emit","activeKey","ref","tab_list","item_list","index","base_search_list","i","k","handleSubmit","e","list","item","selected_group_list","temp","operator_list_selected","get_operator_list_selected","first","condition","_resolveComponent","_openBlock","_createBlock","_component_a_modal","_ctx","_cache","_withCtx","_createVNode","_component_a_tabs","$event","_createElementBlock","_Fragment","_renderList","_component_a_tab_pane","base_search_item","_createElementVNode","_hoisted_1","_toDisplayString","_component_a_space","obj","_component_a_checkbox","_sfc_main$6","_a","_b","new_search_list","new_group","new_i","message","_hoisted_3","get_options_eq","t","_sfc_main$5","FieldRender2","CloseOutlined","LeftOutlined","RightOutlined","FieldRender","AddConditionGroupModal","AddConditionModal","CloseCircleOutlined","isShowForm","labelModel","useI18n","options_eq","condition_model_dict","validateInfos","source_default_search_condition_config_list","is_or_not_blank_or_null_options","operator_type_count_map","is2DArray","arr","subArray","old_operator","onChangeOperator","operator","value","isNotEmpty","seconds","addConditionModal","reactive","handleAddConditions","handleAddConditionOk","data","item1","index1","item2","item3","handleAddConditionCancel","addConditionGroupModal","handleAddGroupCondition","handleAddGroupConditionOK","handleAddGroupConditionCancel","handleSearch","refreshCondition","update_all","deleteBtnDict","group_item","onFilterChanged","handleMouseEnter","form_item","handleMouseLeave","handleDeleteFormItem","new_list","index_","handleDelSearch","filed_name","onChangeSearchItem","group_index","condition_index","selected_field_name","new_condition","searchItemOptionsDict","computed","dict","filter_field_name_list","filter_list","o","isShowSearchTag","transferValueFunc","str_list","get_operator_type_map","transfer_value","moment","handleShowSearchRender","watch","onMounted","onUnmounted","_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_4","_createCommentVNode","_component_a_button","_withDirectives","_component_a_tag","_createTextVNode","_component_close_outlined","_vShow","_hoisted_2","_component_a_space_compact","_component_a_input_group","_component_a_tooltip","_component_a_cascader","_component_a_select","_component_a_select_option","_component_field_render_2","_component_a_flex","_hoisted_5","_hoisted_6","_component_close_circle_outlined","_component_a_divider","_hoisted_7","_component_add_condition_modal","_component_add_condition_group_modal","_sfc_main$4","params","_component_a_form","row","_component_a_card","_createSlots","_component_a_row","field_item","_component_a_col","_sfc_main$3","name","a","col","field","_component_field_render","_sfc_main$2","field2","create_view_settings","useRequest","update_view_settings","refresh_view_settings_cache","set_view_settings_default","delete_view_settings","change_view_settings_sort","query_view_settings_list","CUSTOM_VIEW_DATA_USER","VIEW_SYSTEM_EDIT","columns","_sfc_main$1","CaretRightOutlined","PlusOutlined","SettingOutlined","env","useEnv","requiredConditionStore","useRequiredConditionStore","userStore","useUserStore","current_org","userid","is_auth","viewData","mergedConfig","defaultAndServerConfig","personData","b","list1","publicData","viewNameList","fetchData","id","search_model","filter_map","sort_fields","group_condition","conditions","isShowGeneralFilter","resolve","getRequiredConditionObj","getApiData","res","error","setCount","viewRefresh","getViewSettingsAndPageConfig","getPageConfig","count_search_list","handleHashChange","err","uid","hash","current_uid","sourceStore","list_is_system","viewKey","customStyle","customRow","record","changeView","refreshCount","viewSubmit","updateView","view","_c","_d","view_type","is_submit","tempModal","modalBox","addView","editView","ids","isEdit","handleShare","url","copyValue","handleDelet","Modal","createVNode","ExclamationCircleOutlined","required_condition","required_condition_obj","handleRequiredConditionChange","key","page_config","required_condition_event_obj","onActivated","_component_a_collapse","isActive","_component_caret_right_outlined","_component_a_collapse_panel","_normalizeStyle","_component_setting_outlined","_component_plus_outlined","_component_a_table","column","_component_a_dropdown","_component_a_menu","_component_a_menu_item","_withModifiers","_sfc_main","ViewManage","is_refresh","is_ownView","_component_view_manage"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/components/FormRender/GeneralFilter/AddConditionModal/index.vue","../../src/components/FormRender/GeneralFilter/AddConditionGroupModal/index.vue","../../src/components/FormRender/GeneralFilter/data.ts","../../src/components/FormRender/GeneralFilter/index.vue","../../src/components/FormRender/FormRender3.vue","../../src/components/FormRender/FormRender.vue","../../src/components/FormRender/FormRender2.vue","../../src/api/view-model.ts","../../src/constants.ts","../../src/components/SideSearchRender/viewManage.vue","../../src/components/SideSearchRender/SideSearchRender.vue"],"sourcesContent":["<template>\n <a-modal\n title=\"添加过滤条件\"\n width=\"800px\"\n :open=\"open\"\n transitionName=\"\"\n maskTransitionName=\"\"\n :destroyOnClose=\"true\"\n :confirmLoading=\"loading\"\n centered\n @ok=\"handleSubmit\"\n @cancel=\"\n () => {\n $emit('cancel');\n }\n \"\n >\n <a-tabs v-model:activeKey=\"activeKey\">\n <a-tab-pane\n class=\"my-card\"\n v-for=\"item in tab_list\"\n :key=\"item.key\"\n :tab=\"item.tab_name\"\n >\n <div\n v-for=\"base_search_item in item.base_search_list\"\n :key=\"base_search_item.name\"\n >\n <div style=\"font-size: 14px\">{{ base_search_item.name }}</div>\n <a-space\n wrap\n style=\"padding-left: 10px; margin-bottom: 0\"\n >\n <div\n v-for=\"obj in base_search_item.group\"\n :key=\"obj.field_name\"\n >\n <a-checkbox v-model:checked=\"obj.checked\">\n <span style=\"color: #7d8089\">{{ obj.label }}</span>\n </a-checkbox>\n </div>\n </a-space>\n </div>\n </a-tab-pane>\n </a-tabs>\n </a-modal>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, reactive, ref } from 'vue';\n\nexport default defineComponent({\n name: 'AddConditionModal',\n props: {\n open: {\n type: Boolean,\n required: true,\n },\n loading: {\n type: Boolean,\n required: false,\n },\n default_search_condition_config_list: {\n type: Array,\n required: false,\n },\n base_search_condition_config_list: {\n type: Array,\n required: false,\n },\n },\n emits: ['ok', 'cancel'],\n setup(props, { emit }) {\n const activeKey = ref('condition_tab_0');\n const tab_list = ref([]);\n props.default_search_condition_config_list.forEach((item_list: any, index: number) => {\n const base_search_list: any = JSON.parse(\n JSON.stringify(props.base_search_condition_config_list),\n );\n if (base_search_list) {\n base_search_list.forEach((base_search_list: any) => {\n base_search_list.group.forEach(i => {\n item_list.forEach((k: any) => {\n if (i.field_name == k.field_name) {\n i.operator = k.operator;\n i.checked = true;\n }\n });\n });\n });\n }\n tab_list.value.push({\n tab_name: `条件组${index + 1}`,\n key: `condition_tab_${index}`,\n base_search_list: base_search_list,\n });\n });\n const handleSubmit = (e: Event) => {\n e.preventDefault();\n const list = [];\n tab_list.value.forEach(item => {\n const selected_group_list: any = [];\n item.base_search_list.forEach(i => {\n i.group.forEach((temp: any) => {\n if (temp.checked) {\n if (!temp.operator) {\n const operator_list_selected = get_operator_list_selected(temp);\n if (operator_list_selected.length > 0) {\n const [first] = operator_list_selected;\n temp.operator = first;\n }\n }\n selected_group_list.push(temp);\n }\n });\n });\n list.push(selected_group_list);\n });\n emit('ok', { new_list: list });\n };\n const get_operator_list_selected = (condition) => {\n if (condition.operator_list_selected) {\n return condition.operator_list_selected;\n }\n else if (condition.operator_list) {\n return condition.operator_list;\n }\n else {\n return [];\n }\n };\n\n return {\n props,\n activeKey,\n tab_list,\n handleSubmit,\n };\n },\n});\n</script>\n<style scoped>\n.my-card {\n padding: 20px;\n background-color: #f6f7f9;\n}\n</style>\n","<template>\n <a-modal\n title=\"添加过滤条件组\"\n width=\"800px\"\n :open=\"open\"\n transitionName=\"\"\n maskTransitionName=\"\"\n :destroyOnClose=\"true\"\n :confirmLoading=\"loading\"\n centered\n @ok=\"handleSubmit\"\n @cancel=\"\n () => {\n $emit('cancel');\n }\n \"\n >\n\n <a-tab-pane class=\"my-card\" v-for=\"item in tab_list\"\n :key=\"item.key\" :tab=\"item.tab_name\">\n <div v-for=\"base_search_item in item.base_search_list\" :key=\"base_search_item.name\">\n <div style=\"font-size: 14px;\">{{base_search_item.name}}</div>\n <a-space wrap>\n <div v-for=\"obj in base_search_item.group\" :key=\"obj.field_name\">\n <a-checkbox v-model:checked=\"obj.checked\" >\n <span style=\"color:#7d8089\">{{ obj.label }}</span>\n </a-checkbox>\n </div>\n </a-space>\n </div>\n </a-tab-pane>\n\n <a-tabs v-model:activeKey=\"activeKey\">\n <a-tab-pane class=\"my-card\" v-for=\"item in tab_list\"\n :key=\"item.key\" :tab=\"item.tab_name\">\n <div v-for=\"base_search_item in item.base_search_list\" :key=\"base_search_item.name\">\n <div style=\"font-size: 14px;\">{{base_search_item.name}}</div>\n <a-space wrap style=\"padding-left: 10px; margin-bottom:0\">\n <div v-for=\"obj in base_search_item.group\" :key=\"obj.field_name\">\n <a-checkbox v-model:checked=\"obj.checked\" >\n <span style=\"color:#7d8089\">{{ obj.label }}</span>\n </a-checkbox>\n </div>\n </a-space>\n </div>\n </a-tab-pane>\n </a-tabs>\n </a-modal>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, reactive, ref } from 'vue';\nimport { message } from 'ant-design-vue';\nexport default defineComponent({\n name: 'AddConditionGroupModal',\n props: {\n open: {\n type: Boolean,\n required: true,\n },\n loading: {\n type: Boolean,\n required: false,\n },\n default_search_condition_config_list: {\n type: Array,\n required: false,\n },\n base_search_condition_config_list: {\n type: Array,\n required: false,\n },\n },\n emits: ['ok', 'cancel'],\n setup(props, { emit }) {\n const tab_list = ref([]);\n const get_operator_list_selected = (condition) => {\n if (condition.operator_list_selected) {\n return condition.operator_list_selected;\n }\n else if (condition.operator_list) {\n return condition.operator_list;\n }\n else {\n return [];\n }\n };\n props.default_search_condition_config_list?.forEach((item_list:any, index:number)=>{\n const base_search_list:any = JSON.parse(JSON.stringify(props.base_search_condition_config_list));\n if(base_search_list){\n base_search_list.forEach((base_search_list:any)=>{\n base_search_list.group.forEach(i=>{\n item_list.forEach((k:any)=>{\n if(i.field_name == k.field_name){\n i.checked = true;\n }\n });\n });\n });\n }\n tab_list.value.push({\n tab_name:`条件组${index+1}`,\n key:`condition_tab_${index}`,\n base_search_list: base_search_list,\n });\n });\n const index = props.default_search_condition_config_list?.length || 0;\n const new_search_list = [];\n props.base_search_condition_config_list.forEach((item:any)=>{\n const new_group = [];\n item.group.forEach(i=>{\n const operator_list_selected = get_operator_list_selected(i);\n if(i.default_operator){\n i.operator = i.default_operator;\n }\n if(!operator_list_selected.includes(i.operator)){\n i.operator = null;\n }\n if(!i.operator && operator_list_selected.length>0){\n const [first] = operator_list_selected;\n i.operator = first;\n }\n const new_i = { ...i, checked:false };\n new_group.push(new_i);\n });\n new_search_list.push({\n name:item.name,\n group:new_group,\n });\n });\n tab_list.value.push({\n tab_name:`条件组${index+1}`,\n key:`condition_tab_${index}`,\n base_search_list: new_search_list,\n });\n const activeKey = ref(`condition_tab_${index}`);\n\n const handleSubmit = (e: Event) => {\n e.preventDefault();\n const list = [];\n tab_list.value.forEach(item=>{\n const selected_group_list:any = [];\n item.base_search_list.forEach(i=>{\n i.group.forEach((temp:any)=>{\n if(temp.checked){\n selected_group_list.push(temp);\n }\n });\n });\n if(selected_group_list.length>0){\n list.push(selected_group_list);\n }\n });\n if(list.length==0){\n message.error('新增条件组未增加新的字段,自动取消');\n emit('cancel');//关闭对话框\n }else{\n emit('ok', { new_list: list });\n }\n };\n\n return {\n props,\n activeKey,\n tab_list,\n handleSubmit,\n get_operator_list_selected,\n };\n },\n});\n</script>\n<style scoped>\n.my-card{\n padding:20px;\n background-color: #f6f7f9;\n}\n</style>","export const get_options_eq = t => {\n const options_eq = [\n { value: '上月', label: '上月' },\n { value: '本月', label: '本月' },\n { value: '今日', label: '今日' },\n { value: '昨日', label: '昨日' },\n { value: '期初', label: '期初' },\n ];\n return {\n options_eq,\n };\n};\n","<template>\n <a-space v-if=\"!is_massage_default\">\n <a-button\n type=\"link\"\n v-if=\"is_show_normal_search\"\n @click=\"handleShowSearchRender\"\n >\n {{ $t('普通') }}\n </a-button>\n <a-button\n v-if=\"!isShowForm\"\n type=\"link\"\n @click=\"\n () => {\n isShowForm = true;\n $emit('resize');\n }\n \"\n >\n <span class=\"expand-btn\">{{ $t('展开') }}</span>\n </a-button>\n <a-button\n v-else\n type=\"link\"\n @click=\"\n () => {\n isShowForm = false;\n $emit('resize');\n }\n \"\n >\n {{ $t('隐藏') }}\n </a-button>\n </a-space>\n <span v-show=\"!isShowForm\">\n <span\n v-for=\"(item, index) in default_search_condition_config_list\"\n :key=\"index\"\n >\n <a-tag>{{ $t('条件组') }}{{ index + 1 }}:</a-tag>\n <span\n v-for=\"condition in item\"\n :key=\"condition.field_name\"\n >\n <a-tag\n v-show=\"isShowSearchTag(index, condition)\"\n color=\"green\"\n >\n {{ condition.label }}: {{ transferValueFunc(index, condition) }}\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"handleDelSearch(index, condition.field_name)\"\n />\n </a-tag>\n </span>\n </span>\n </span>\n <div\n class=\"card\"\n v-show=\"isShowForm\"\n >\n <div\n v-for=\"(group_item, group_index) in default_search_condition_config_list\"\n :key=\"group_index\"\n >\n <div\n class=\"condition-group\"\n v-if=\"default_search_condition_config_list.length > 1\"\n >\n {{ $t('条件组') }} {{ group_index + 1 }}\n </div>\n <a-space\n :wrap=\"true\"\n align=\"center\"\n :size=\"0\"\n >\n <a-space-compact\n block\n v-for=\"(condition, k) in group_item\"\n :key=\"condition.field_name\"\n size=\"middle\"\n @mouseenter=\"handleMouseEnter(group_index, condition)\"\n @mouseleave=\"handleMouseLeave(group_index, condition)\"\n >\n <a-input-group compact>\n <a-tooltip :title=\"condition.label\">\n <a-cascader\n :value=\"condition.label\"\n style=\"width: 125px\"\n :options=\"searchItemOptionsDict[group_index]\"\n showSearch\n :allowClear=\"false\"\n :placeholder=\"$t('请选择...')\"\n @change=\"value => onChangeSearchItem(value, group_index, condition, k)\"\n />\n </a-tooltip>\n <a-tooltip :title=\"get_operator_type_map(condition.format, condition.operator)\">\n <a-select\n v-if=\"get_operator_list_selected(condition).length > 0\"\n :dropdownMatchSelectWidth=\"false\"\n v-model:value=\"condition.operator\"\n @change=\"value => onChangeOperator(value, group_index, condition)\"\n style=\"width: 100px\"\n >\n <a-select-option\n v-for=\"item in get_operator_list_selected(condition)\"\n :value=\"item\"\n :key=\"item\"\n >\n {{ get_operator_type_map(condition.format, item) }}\n </a-select-option>\n </a-select>\n </a-tooltip>\n <span style=\"width: 315px; height: 40px\">\n <template\n v-if=\"['is_or_not_blank_or_null', 'is_or_not_null'].includes(condition.operator)\"\n >\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"{\n ...condition,\n type: 'select',\n mode: 'default',\n format: 'choices',\n class_name: 'str',\n placeholder: '',\n }\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"is_or_not_blank_or_null_options\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <template v-else-if=\"['input'].includes(condition.format)\">\n <template\n v-if=\"condition.operator === 'between' || condition.operator === 'notbetween'\"\n >\n <template v-if=\"condition.type === 'datepicker'\">\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"{ ...condition, type: 'rangepicker', format: condition.dateFormat }\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <template v-else-if=\"condition.type === 'monthpicker'\">\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"{\n ...condition,\n type: 'monthrangepicker',\n }\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <template v-else>\n <a-flex>\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name][0]\"\n :field=\"condition\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n <div class=\"range\">~</div>\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name][1]\"\n :field=\"condition\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n </a-flex>\n </template>\n </template>\n <template v-else-if=\"condition.operator === '_eq'\">\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"{\n ...condition,\n type: 'select',\n mode: 'default',\n format: 'choices',\n class_name: 'str',\n placeholder: '',\n }\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"options_eq\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <template\n v-else-if=\"condition.type === 'datepicker' || condition.type === 'monthpicker'\"\n >\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"{ ...condition, format: condition.dateFormat }\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <template v-else>\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"condition\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n </template>\n <template v-else-if=\"['choices', 'remote'].includes(condition.format)\">\n <template v-if=\"condition.format === 'choices'\">\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"condition\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <template v-else-if=\"condition.format === 'remote'\">\n <field-render-2\n :is_show_label=\"false\"\n v-model:label=\"labelModel[condition.field_name]\"\n v-model:value=\"condition_model_dict[group_index][condition.field_name]\"\n :field=\"{ ...condition, name: condition?.field_name }\"\n :formModel=\"condition_model_dict[group_index]\"\n :options=\"condition.options\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n </template>\n </span>\n <span class=\"close-icon\">\n <a-tooltip\n title=\"删除此条件\"\n v-if=\"\n deleteBtnDict[group_index][condition.field_name] &&\n (default_search_condition_config_list[0].length > 1 ||\n default_search_condition_config_list.length > 1) &&\n !is_massage_default\n \"\n >\n <close-circle-outlined @click=\"handleDeleteFormItem(group_index, condition)\" />\n </a-tooltip>\n </span>\n </a-input-group>\n </a-space-compact>\n </a-space>\n <a-divider\n class=\"divider\"\n style=\"margin: 0\"\n v-if=\"\n default_search_condition_config_list.length > 1 &&\n group_index != default_search_condition_config_list.length - 1\n \"\n >\n 或\n </a-divider>\n </div>\n </div>\n <div\n class=\"search-bar\"\n v-show=\"isShowForm && !is_massage_default\"\n >\n <a-space>\n <a-button\n size=\"small\"\n type=\"primary\"\n @click=\"handleAddConditions\"\n >\n {{ $t('添加条件') }}\n </a-button>\n <a-button\n size=\"small\"\n type=\"primary\"\n @click=\"handleAddGroupCondition\"\n >\n {{ $t('添加条件组') }}\n </a-button>\n <a-button\n size=\"small\"\n type=\"primary\"\n @click=\"handleSearch\"\n >\n {{ $t('查询') }}\n </a-button>\n </a-space>\n </div>\n\n <add-condition-modal\n v-if=\"addConditionModal.open\"\n :open=\"addConditionModal.open\"\n :default_search_condition_config_list=\"default_search_condition_config_list\"\n :base_search_condition_config_list=\"base_search_condition_config_list\"\n @ok=\"handleAddConditionOk\"\n @cancel=\"handleAddConditionCancel\"\n />\n\n <add-condition-group-modal\n v-if=\"addConditionGroupModal.open\"\n :open=\"addConditionGroupModal.open\"\n :default_search_condition_config_list=\"default_search_condition_config_list\"\n :base_search_condition_config_list=\"base_search_condition_config_list\"\n @ok=\"handleAddGroupConditionOK\"\n @cancel=\"handleAddGroupConditionCancel\"\n />\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n onMounted,\n reactive,\n ref,\n computed,\n watch,\n PropType,\n nextTick,\n onUnmounted,\n} from 'vue';\nimport FieldRender from 'liyu-pc-base/components/FormRender/FieldRender.vue';\nimport AddConditionModal from 'liyu-pc-base/components/FormRender/GeneralFilter/AddConditionModal/index.vue';\nimport AddConditionGroupModal from 'liyu-pc-base/components/FormRender/GeneralFilter/AddConditionGroupModal/index.vue';\nimport { isNotEmpty } from 'liyu-pc-base/utils/function';\nimport {\n CloseCircleOutlined,\n CloseOutlined,\n LeftOutlined,\n RightOutlined,\n} from '@ant-design/icons-vue';\nimport { useI18n } from 'vue-i18n';\nimport { get_options_eq } from 'liyu-pc-base/components/FormRender/GeneralFilter/data';\nimport moment from 'moment';\nimport FieldRender2 from 'liyu-pc-base/components/FormRender/FieldRender2.vue';\nimport { get_operator_type_map } from 'liyu-pc-base/utils/function';\n\nexport default defineComponent({\n name: 'GeneralFilter',\n props: {\n base_search_condition_config_list: {\n type: Array as PropType<any[]>,\n },\n default_search_condition_config_list: {\n type: Array as PropType<any[]>,\n },\n is_show_normal_search: {\n type: Boolean,\n default: () => false,\n },\n is_clear_model: {\n type: Boolean,\n default: () => false,\n },\n is_show_advantage: {\n type: Boolean,\n default: () => false,\n },\n is_massage_default: {\n type: Boolean,\n default: () => false,\n },\n eventBus: {\n type: Object,\n required: false,\n },\n },\n components: {\n FieldRender2,\n CloseOutlined,\n LeftOutlined,\n RightOutlined,\n FieldRender,\n AddConditionGroupModal,\n AddConditionModal,\n CloseCircleOutlined,\n },\n emits: [\n 'search',\n 'resize',\n 'update_default_search_condition_config_list',\n 'onShowSearchRender',\n 'delSearch',\n 'onChangeValue',\n 'update:is_clear_model',\n ],\n setup(props, { emit }) {\n const isShowForm = ref(props.is_massage_default);\n const labelModel = ref({});\n const { t } = useI18n();\n const { options_eq } = get_options_eq(t);\n //条件组-->\n const condition_model_dict = ref([]);\n const validateInfos = {};\n const source_default_search_condition_config_list = ref(null);\n const is_or_not_blank_or_null_options = ref([\n { value: 'yes', label: t('is_or_not_blank_or_null.yes') },\n { value: 'no', label: t('is_or_not_blank_or_null.no') },\n ]);\n if (!source_default_search_condition_config_list.value) {\n source_default_search_condition_config_list.value = JSON.parse(\n JSON.stringify(props.default_search_condition_config_list),\n );\n }\n\n const operator_type_count_map = {\n between: 2,\n gt: 1,\n lt: 1,\n gte: 1,\n lte: 1,\n in: 0,\n eq: 1,\n _eq: 1,\n contains: 1,\n icontains: 1,\n startswith: 1,\n notbetween: 2,\n notin: 0,\n notcontains: 1,\n not_eq: 1,\n not_blank_not_null: 1,\n json_list_not_blank_not_null: 1,\n json_list_is_blank_is_null: 1,\n is_or_not_blank_or_null: 1,\n is_or_not_null: 1,\n };\n const is2DArray = arr => {\n const [first] = [arr];\n return Array.isArray(first) && arr.every(subArray => Array.isArray(subArray));\n };\n let old_operator = null;\n const onChangeOperator = (operator, index, condition) => {\n //不同操作类型,设置不同的默认值\n // if (condition_model_dict.value[index][condition.field_name]) {\n // return;\n // }\n const value = condition_model_dict.value[index][condition.field_name];\n if (get_operator_list_selected(condition).includes('_eq')) {\n if (operator == '_eq') {\n condition_model_dict.value[index][condition.field_name] = null;\n old_operator = operator;\n emit('onChangeValue', { model: condition_model_dict.value });\n return;\n } else if (old_operator == '_eq') {\n condition_model_dict.value[index][condition.field_name] = null;\n old_operator = operator;\n emit('onChangeValue', { model: condition_model_dict.value });\n return;\n }\n }\n if (get_operator_list_selected(condition).includes('not_blank_not_null')) {\n if (operator == 'not_blank_not_null') {\n condition_model_dict.value[index][condition.field_name] = '是';\n old_operator = operator;\n emit('onChangeValue', { model: condition_model_dict.value });\n return;\n } else if (old_operator == 'not_blank_not_null') {\n condition_model_dict.value[index][condition.field_name] = null;\n old_operator = operator;\n emit('onChangeValue', { model: condition_model_dict.value });\n return;\n }\n }\n if (\n get_operator_list_selected(condition).includes('is_or_not_blank_or_null') ||\n get_operator_list_selected(condition).includes('is_or_not_null')\n ) {\n if (operator == 'is_or_not_blank_or_null' || operator == 'is_or_not_null') {\n condition_model_dict.value[index][condition.field_name] = null;\n old_operator = operator;\n emit('onChangeValue', { model: condition_model_dict.value });\n return;\n } else if (old_operator == 'is_or_not_blank_or_null' || old_operator == 'is_or_not_null') {\n condition_model_dict.value[index][condition.field_name] = null;\n old_operator = operator;\n emit('onChangeValue', { model: condition_model_dict.value });\n return;\n }\n }\n if (value instanceof Array && is2DArray(value)) {\n // 级联类型,默认值默认清空\n condition_model_dict.value[index][condition.field_name] = null;\n } else if (operator_type_count_map[operator] == 1) {\n if (value instanceof Array) {\n const [first] = condition_model_dict.value[index][condition.field_name];\n if (isNotEmpty(first)) {\n condition_model_dict.value[index][condition.field_name] = first;\n } else {\n condition_model_dict.value[index][condition.field_name] = null;\n }\n } else {\n condition_model_dict.value[index][condition.field_name] = value ? value : null;\n }\n const is = options_eq.some(\n obj => obj.value === condition_model_dict.value[index][condition.field_name],\n );\n if (is) {\n condition_model_dict.value[index][condition.field_name] = null;\n }\n } else if (operator_type_count_map[operator] == 2) {\n if (condition_model_dict.value[index][condition.field_name] instanceof Array) {\n const [first, seconds] = condition_model_dict.value[index][condition.field_name];\n condition_model_dict.value[index][condition.field_name] = [first, seconds];\n } else if (condition_model_dict.value[index][condition.field_name]) {\n const first = condition_model_dict.value[index][condition.field_name];\n condition_model_dict.value[index][condition.field_name] = [first, null];\n } else {\n condition_model_dict.value[index][condition.field_name] = [null, null];\n }\n const is = options_eq.some(\n obj => obj.value === condition_model_dict.value[index][condition.field_name][0],\n );\n if (is) {\n condition_model_dict.value[index][condition.field_name] = [null, null];\n }\n }\n old_operator = operator;\n emit('onChangeValue', { model: condition_model_dict.value });\n // console.log('onChangeValue');\n };\n\n const addConditionModal = reactive({\n open: false,\n });\n const handleAddConditions = () => {\n addConditionModal.open = true;\n };\n const handleAddConditionOk = (data: any) => {\n props.default_search_condition_config_list.forEach((item: any, index: any) => {\n data.new_list.forEach((item1: any, index1: any) => {\n if (index == index1) {\n item.forEach((item2: any) => {\n item1.forEach((item3: any) => {\n if (item2.field_name == item3.field_name) {\n item3.value = item2.value;\n item3.operator = item2.operator;\n }\n });\n });\n }\n });\n });\n //保存后处理 new_list\n emit('update_default_search_condition_config_list', { new_list: data.new_list });\n // refreshCondition();\n addConditionModal.open = false;\n };\n const handleAddConditionCancel = () => {\n addConditionModal.open = false;\n };\n\n const addConditionGroupModal = reactive({\n open: false,\n });\n const handleAddGroupCondition = () => {\n addConditionGroupModal.open = true;\n };\n const handleAddGroupConditionOK = (data: any) => {\n props.default_search_condition_config_list.forEach((item: any, index: any) => {\n data.new_list.forEach((item1: any, index1: any) => {\n if (index == index1) {\n item.forEach((item2: any) => {\n item1.forEach((item3: any) => {\n if (item2.field_name == item3.field_name) {\n item3.value = item2.value;\n item3.operator = item2.operator;\n }\n });\n });\n }\n });\n });\n emit('update_default_search_condition_config_list', { new_list: data.new_list });\n // refreshCondition();\n addConditionGroupModal.open = false;\n };\n const handleAddGroupConditionCancel = () => {\n addConditionGroupModal.open = false;\n };\n const handleSearch = () => {\n isShowForm.value = false;\n console.log('condition_model_dict.value', condition_model_dict.value);\n emit('search', { model: condition_model_dict.value });\n };\n const refreshCondition = (update_all = false) => {\n if (props.base_search_condition_config_list.length == 0) {\n return;\n }\n props.default_search_condition_config_list?.forEach((item_list: any, index: number) => {\n deleteBtnDict[index] = {};\n if (!condition_model_dict.value[index]) {\n condition_model_dict.value[index] = {};\n }\n props.base_search_condition_config_list.forEach((i: any) => {\n i.group?.forEach((group_item: any) => {\n item_list.forEach((k: any) => {\n if (group_item.field_name == k.field_name) {\n const value = condition_model_dict.value[index][k.field_name];\n if (value == undefined || update_all) {\n if (operator_type_count_map[k.operator] == 1) {\n if (k.value !== undefined) {\n condition_model_dict.value[index][k.field_name] = k.value;\n } else {\n condition_model_dict.value[index][k.field_name] = null;\n }\n } else if (operator_type_count_map[k.operator] == 2) {\n if (k.value !== undefined) {\n condition_model_dict.value[index][k.field_name] = k.value;\n } else {\n condition_model_dict.value[index][k.field_name] = [null, null];\n }\n } else if (operator_type_count_map[k.operator] == 0) {\n if (k.value !== undefined) {\n condition_model_dict.value[index][k.field_name] = k.value;\n } else {\n condition_model_dict.value[index][k.field_name] = [];\n }\n }\n }\n Object.assign(k, { ...group_item, operator: k.operator }); // 保持表单项原有选择的查询条件\n if (k.operator == 'eq' && k.mode != 'default') {\n group_item.mode = 'default';\n Object.assign(k, { model: 'default' });\n } else if (['in', 'notin'].includes(k.operator) && k.mode != 'multiple') {\n group_item.mode = 'multiple';\n Object.assign(k, { model: 'multiple' });\n }\n }\n });\n });\n });\n });\n };\n const onFilterChanged = () => {\n refreshCondition(true);\n };\n\n const deleteBtnDict = reactive({}); // 表单项的删除按钮是否显示\n const handleMouseEnter = (index: any, form_item: any) => {\n deleteBtnDict[index][form_item.field_name] = true;\n };\n const handleMouseLeave = (index: any, form_item: any) => {\n deleteBtnDict[index][form_item.field_name] = false;\n };\n const handleDeleteFormItem = (index: any, condition: any) => {\n //default_search_condition_config_list 不允许删除最后一个条件组的条件项\n const new_list = [];\n props.default_search_condition_config_list.forEach((item_list: any, index_: number) => {\n if (index_ !== index) {\n new_list.push(item_list);\n } else {\n const list = [];\n item_list.forEach((k: any) => {\n if (k.field_name !== condition.field_name) {\n list.push(k);\n }\n });\n if (list.length > 0) {\n new_list.push(list);\n }\n }\n });\n emit('update_default_search_condition_config_list', { new_list: new_list });\n // refreshCondition();\n };\n const handleDelSearch = (index, filed_name) => {\n if (condition_model_dict.value[index][filed_name] instanceof Array) {\n condition_model_dict.value[index][filed_name].length = 0;\n } else {\n condition_model_dict.value[index][filed_name] = null;\n }\n emit('onChangeValue', { model: condition_model_dict.value });\n emit('delSearch', { model: JSON.parse(JSON.stringify(condition_model_dict.value)) });\n };\n\n const onChangeSearchItem = (value: any, group_index, condition: any, condition_index) => {\n if (value instanceof Array && value.length > 0) {\n const selected_field_name = value[value.length - 1];\n let new_condition = null;\n props.base_search_condition_config_list.forEach(item_list => {\n item_list.group.forEach(i => {\n if (i.field_name === selected_field_name) {\n new_condition = JSON.parse(JSON.stringify(i));\n if (new_condition.default_operator) {\n new_condition.operator = new_condition.default_operator;\n } else if (get_operator_list_selected(new_condition).length > 0) {\n const [first] = get_operator_list_selected(new_condition);\n new_condition.operator = first;\n }\n }\n });\n });\n\n if (new_condition) {\n const new_list = JSON.parse(JSON.stringify(props.default_search_condition_config_list));\n new_list.forEach((item_list, i) => {\n if (i === group_index) {\n item_list.forEach((item, k) => {\n if (item.field_name == condition.field_name && k == condition_index) {\n item_list.splice(k, 1, new_condition);\n delete condition_model_dict.value[group_index][item.field_name];\n }\n });\n }\n });\n emit('update_default_search_condition_config_list', {\n new_list: new_list,\n });\n }\n refreshCondition();\n }\n };\n\n const searchItemOptionsDict: any = computed(() => {\n const dict = {};\n props.default_search_condition_config_list.forEach((group_item, index) => {\n dict[index] = [];\n const filter_field_name_list = group_item.map(item => item.field_name);\n props.base_search_condition_config_list.forEach(item => {\n const filter_list = item.group.filter(\n i => !filter_field_name_list.includes(i.field_name),\n );\n const o = {\n value: item.name,\n label: item.name,\n children: filter_list.map(i => {\n return {\n value: i.field_name,\n label: i.label,\n };\n }),\n };\n dict[index].push(o);\n });\n });\n return dict;\n });\n\n const isShowSearchTag = (index, condition) => {\n const value = condition_model_dict.value[index][condition.field_name];\n if (value instanceof Array) {\n const [first] = value;\n if (isNotEmpty(first)) {\n return true;\n }\n } else if (isNotEmpty(value)) {\n return true;\n }\n return false;\n };\n\n const transferValueFunc = (index, condition) => {\n const str_list: any = [];\n const value = condition_model_dict.value[index][condition.field_name];\n if (\n condition.operator === 'is_or_not_blank_or_null' ||\n condition.operator === 'is_or_not_null'\n ) {\n if (value === 'yes') {\n return t('is_or_not_blank_or_null.yes');\n } else {\n return t('is_or_not_blank_or_null.no');\n }\n } else if (condition.operator === '_eq') {\n if (['上月', '本月', '今日', '昨日', '期初'].includes(value)) {\n return t(value);\n }\n } else if (labelModel.value[condition.field_name] != undefined) {\n return `${get_operator_type_map(condition.format, condition.operator)} ${\n labelModel.value[condition.field_name]\n }`;\n } else if (value instanceof Array && condition.field_name_list instanceof Array) {\n let transfer_value;\n if (condition.field_name_list) {\n if (value instanceof Array) {\n transfer_value = value.join(',');\n } else {\n transfer_value = value;\n }\n }\n return `${get_operator_type_map(condition.format, condition.operator)} ${transfer_value}`;\n } else if (value instanceof Array && condition.options instanceof Array) {\n value.forEach(item => {\n condition.options.forEach(i => {\n if (item == i.value) {\n str_list.push(i.label);\n }\n });\n });\n return `${get_operator_type_map(condition.format, condition.operator)} ${str_list.join(\n ',',\n )}`;\n } else {\n let transfer_value;\n if (condition.options) {\n condition.options.forEach(i => {\n if (value == i.value) {\n transfer_value = i.label;\n }\n });\n } else if (condition.type == 'monthpicker' && condition.dateFormat) {\n if (value instanceof Array) {\n const str_list = [];\n value.forEach(i => {\n if (i) {\n str_list.push(moment(i).format(condition.dateFormat));\n } else {\n str_list.push(i);\n }\n });\n transfer_value = str_list.join(',');\n } else {\n transfer_value = moment(value).format(condition.dateFormat);\n }\n } else {\n transfer_value = value;\n }\n return `${get_operator_type_map(condition.format, condition.operator)} ${transfer_value}`;\n }\n };\n\n const handleShowSearchRender = () => {\n emit('onShowSearchRender');\n };\n\n const get_operator_list_selected = condition => {\n if (condition.operator_list_selected) {\n return condition.operator_list_selected;\n } else if (condition.operator_list) {\n return condition.operator_list;\n } else {\n return [];\n }\n };\n\n watch(\n () => condition_model_dict.value,\n () => {\n emit('onChangeValue', { model: condition_model_dict.value });\n // console.log('onChangeValue_watch');\n },\n { deep: true },\n );\n watch(\n () => props.default_search_condition_config_list,\n () => {\n if (props.default_search_condition_config_list?.length == 0) {\n emit('update_default_search_condition_config_list', {\n new_list: source_default_search_condition_config_list.value,\n });\n return;\n }\n refreshCondition();\n },\n { deep: true },\n );\n watch(\n () => props.base_search_condition_config_list,\n () => {\n refreshCondition();\n },\n { deep: true },\n );\n\n watch(\n () => props.is_clear_model,\n () => {\n if (props.is_clear_model) {\n condition_model_dict.value = {};\n refreshCondition();\n emit('update:is_clear_model', false);\n }\n },\n );\n onMounted(() => {\n refreshCondition();\n if (props.eventBus) {\n props.eventBus.on('filterChange', onFilterChanged);\n }\n });\n onUnmounted(() => {\n if (props.eventBus) {\n props.eventBus.off('filterChange', onFilterChanged);\n }\n });\n return {\n props,\n t,\n isShowForm,\n labelModel,\n get_operator_type_map,\n condition_model_dict,\n addConditionModal,\n handleAddConditions,\n handleAddConditionOk,\n handleAddConditionCancel,\n onChangeOperator,\n handleAddGroupCondition,\n handleSearch,\n\n addConditionGroupModal,\n handleAddGroupConditionOK,\n handleAddGroupConditionCancel,\n validateInfos,\n\n deleteBtnDict,\n handleMouseEnter,\n handleMouseLeave,\n handleDeleteFormItem,\n handleDelSearch,\n\n searchItemOptionsDict,\n onChangeSearchItem,\n transferValueFunc,\n isShowSearchTag,\n handleShowSearchRender,\n options_eq,\n get_operator_list_selected,\n is_or_not_blank_or_null_options,\n };\n },\n});\n</script>\n<style lang=\"less\" scoped>\n.card {\n overflow: auto;\n max-height: 300px;\n background: #f2f5f7;\n}\n\n.condition-group {\n padding: 5px;\n}\n\n.range {\n margin-top: 5px;\n}\n\n.close-icon {\n width: 15px;\n margin-top: 5px;\n margin-left: 5px;\n color: red;\n}\n\n.search-bar {\n background: #f2f5f7;\n text-align: right;\n}\n\n:deep(.divider .ant-divider) {\n margin: 0;\n}\n</style>\n","<template>\n <a-form\n ref=\"form\"\n autocomplete=\"off\"\n :model=\"model\"\n :rules=\"form.rules\"\n :layout=\"form.settings.layout\"\n scrollToFirstError\n class=\"cards\"\n :validateTrigger=\"false\"\n >\n <template\n v-for=\"(row, index) in form.dynamicFieldList\"\n :key=\"index\"\n >\n <a-card\n :body-style=\"{ padding: '10px 10px 0' }\"\n style=\"margin-bottom: 5px\"\n >\n <template\n v-if=\"row.group_name && form.dynamicFieldList.length > 1\"\n #title\n >\n {{ row.group_name }}\n </template>\n <a-row\n :gutter=\"5\"\n type=\"flex\"\n >\n <a-col\n v-for=\"(field_item, i) in row?.children\"\n :key=\"i\"\n :span=\"\n field_item.is_show_field ? (field_item.span !== undefined ? field_item.span : 24) : 0\n \"\n :offset=\"field_item.offset\"\n :push=\"field_item.push\"\n :pull=\"field_item.pull\"\n >\n <field-render-2\n v-model:value=\"model[field_item.name]\"\n v-model:is_show_field=\"field_item['is_show_field']\"\n :field=\"field_item\"\n :formModel=\"model\"\n :outModel=\"outModel\"\n :key=\"field_item.name\"\n :validateInfos=\"validateInfos\"\n :options=\"options[field_item.datasource ? field_item.datasource : field_item.name]\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n />\n </a-col>\n </a-row>\n </a-card>\n <!-- <a-row-->\n <!-- v-else-->\n <!-- :gutter=\"5\"-->\n <!-- type=\"flex\"-->\n <!-- >-->\n <!-- <a-col-->\n <!-- v-for=\"(field_item, i) in row?.children\"-->\n <!-- :key=\"i\"-->\n <!-- :span=\"-->\n <!-- field_item.is_show_field ? (field_item.span !== undefined ? field_item.span : 24) : 0-->\n <!-- \"-->\n <!-- :offset=\"field_item.offset\"-->\n <!-- :push=\"field_item.push\"-->\n <!-- :pull=\"field_item.pull\"-->\n <!-- >-->\n <!-- <field-render-2-->\n <!-- v-model:value=\"model[field_item.name]\"-->\n <!-- v-model:is_show_field=\"field_item['is_show_field']\"-->\n <!-- :field=\"field_item\"-->\n <!-- :formModel=\"model\"-->\n <!-- :outModel=\"outModel\"-->\n <!-- :key=\"field_item.name\"-->\n <!-- :validateInfos=\"validateInfos\"-->\n <!-- :options=\"options[field_item.datasource ? field_item.datasource : field_item.name]\"-->\n <!-- @update_model=\"onUpdateModel\"-->\n <!-- @update_name2=\"onUpdateName2\"-->\n <!-- />-->\n <!-- </a-col>-->\n <!-- </a-row>-->\n </template>\n </a-form>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, watch } from 'vue';\nimport FieldRender2 from 'liyu-pc-base/components/FormRender/FieldRender2.vue';\n\nexport default defineComponent({\n name: 'FormRender3',\n components: {\n FieldRender2,\n },\n props: {\n model: {\n type: Object,\n required: true,\n },\n outModel: {\n type: Object,\n default: () => {},\n },\n form: {\n type: Object,\n required: true,\n },\n options: {\n type: Object,\n required: true,\n default: () => {},\n },\n validateInfos: {\n type: Object,\n default: () => {},\n },\n },\n emits: ['update_model', 'update_model'],\n setup(props, { emit }) {\n if (props.form.watch) {\n for (let k in props.form.watch) {\n watch(\n () => props.model[k],\n () => {\n props.form.watch[k](props.model, props.form);\n },\n );\n }\n }\n\n const validate = () => {\n return (props.form as any).validate();\n };\n const onUpdateModel = params => {\n emit('update_model', params);\n };\n const onUpdateName2 = params => {\n emit('update_model', params);\n };\n return {\n validate,\n onUpdateModel,\n onUpdateName2,\n };\n },\n});\n</script>\n<style lang=\"less\" scoped>\n.cards {\n ::v-deep(.ant-card-head) {\n padding: 0 8px;\n min-height: 44px;\n background-color: rgba(0, 0, 0, 0.02);\n }\n}\n</style>\n","<template>\n <a-form\n ref=\"form\"\n autocomplete=\"off\"\n :model=\"model\"\n :rules=\"form.rules\"\n :layout=\"form.settings.layout\"\n :validateTrigger=\"false\"\n :label-col=\"\n form.settings.layout == 'vertical'\n ? undefined\n : form.settings.labelCol\n ? form.settings.labelCol\n : form.settings.col && form.settings.col.length > 0\n ? { span: 6 }\n : { span: 4 }\n \"\n :wrapper-col=\"\n form.settings.layout == 'vertical'\n ? undefined\n : form.settings.wrapperCol\n ? form.settings.wrapperCol\n : form.settings.col && form.settings.col.length > 0\n ? { span: 18 }\n : { span: 20 }\n \"\n :labelAlign=\"form.settings.labelAlign\"\n scrollToFirstError\n >\n <a-row\n :gutter=\"20\"\n style=\"margin: 0\"\n >\n <template v-if=\"form.settings.col && form.settings.col.length > 0\">\n <a-col\n v-for=\"col in fieldList\"\n :xl=\"24 / fieldList.length\"\n :lg=\"24\"\n :md=\"24\"\n :sm=\"24\"\n :xs=\"24\"\n >\n <field-render\n v-for=\"field in form.fields.slice(col[0], col[1])\"\n v-model:value=\"model[field.name]\"\n :field=\"field\"\n :formModel=\"model\"\n :key=\"field.name\"\n :validateInfos=\"validateInfos\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n />\n </a-col>\n </template>\n <a-col\n v-if=\"!form.settings.col || form.settings.col.length === 0\"\n :xl=\"24\"\n :lg=\"24\"\n :md=\"24\"\n :sm=\"24\"\n :xs=\"24\"\n >\n <template v-for=\"field in form.fields\">\n <field-render\n v-model:value=\"model[field.name]\"\n v-model:label=\"model[field.name2]\"\n v-if=\"field.name2\"\n :field=\"field\"\n :formModel=\"model\"\n :key=\"field.name\"\n :validateInfos=\"validateInfos\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n />\n <field-render\n v-model:value=\"model[field.name]\"\n v-else\n :field=\"field\"\n :formModel=\"model\"\n :key=\"field.name\"\n :validateInfos=\"validateInfos\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n />\n </template>\n </a-col>\n </a-row>\n </a-form>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, watch } from 'vue';\n\nexport default defineComponent({\n name: 'FormRender',\n components: {},\n props: {\n model: {\n type: Object,\n required: true,\n },\n form: {\n type: Object,\n required: true,\n },\n options: {\n type: Object,\n required: true,\n },\n validateInfos: {\n type: Object,\n default: () => {},\n },\n },\n setup(props) {\n if (props.form.watch) {\n for (const k in props.form.watch) {\n watch(\n () => props.model[k],\n () => {\n props.form.watch[k](props.model, props.form);\n },\n );\n }\n }\n },\n\n data() {\n return {\n fieldList: [] as any[],\n };\n },\n methods: {\n validate() {\n return (this.$refs.form as any).validate();\n },\n reset() {\n (this.$refs.form as any).resetFields();\n },\n disable(name: string | number) {\n // eslint-disable-next-line vue/no-mutating-props\n this.form.fields[name].disabled = true;\n },\n disableAll() {\n this.form.fields.forEach((item: any) => {\n item.disabled = true;\n });\n },\n },\n created() {\n let a = 0;\n if (this.form.settings.col && this.form.settings.col.length > 0) {\n this.form.settings.col.forEach((item: number, i: number) => {\n a = a + item;\n if (i === 0) {\n this.fieldList.push([0, a]);\n } else {\n this.fieldList.push([a - item, a]);\n }\n });\n }\n },\n});\n</script>\n","<template>\n <a-form\n ref=\"form\"\n autocomplete=\"off\"\n :model=\"model\"\n :rules=\"form.rules\"\n scrollToFirstError\n >\n <a-row\n gutter=\"5\"\n v-for=\"row in form.fieldList\"\n type=\"flex\"\n >\n <a-col\n v-for=\"field in row\"\n :span=\"field.span\"\n >\n <template v-for=\"field in form.fields\">\n <field-render\n v-model:value=\"model[field.name]\"\n v-model:label=\"model[field.name2]\"\n v-if=\"field.name2\"\n :field=\"field\"\n :formModel=\"model\"\n :key=\"field.name\"\n :validateInfos=\"validateInfos\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n />\n <field-render\n v-model:value=\"model[field.name]\"\n v-else\n :field=\"field\"\n :formModel=\"model\"\n :key=\"field.name\"\n :validateInfos=\"validateInfos\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n />\n </template>\n </a-col>\n </a-row>\n </a-form>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, watch } from 'vue';\n\nexport default defineComponent({\n name: 'FormRender2',\n components: {},\n props: {\n model: {\n type: Object,\n required: true,\n },\n form: {\n type: Object,\n required: true,\n },\n options: {\n type: Object,\n required: true,\n },\n validateInfos: {\n type: Object,\n default: () => {},\n },\n },\n setup(props) {\n if (props.form.watch) {\n for (const k in props.form.watch) {\n watch(\n () => props.model[k],\n () => {\n props.form.watch[k](props.model, props.form);\n },\n );\n }\n }\n },\n\n data() {\n return {};\n },\n methods: {\n validate() {\n return (this.$refs.form as any).validate();\n },\n reset() {\n (this.$refs.form as any).resetFields();\n },\n disable(name: string | number) {\n // eslint-disable-next-line vue/no-mutating-props\n this.form.fields[name].disabled = true;\n },\n disableAll() {\n this.form.fields.forEach((item: any) => {\n item.disabled = true;\n });\n },\n },\n created() {},\n});\n</script>\n","import { useRequest } from 'liyu-pc-base/init-plugin';\nimport type { PageResult } from 'liyu-pc-base/api/typing';\n\nexport async function create_view_settings(params: Record<string, any>) {\n return useRequest().post('/view/create_view_settings', params);\n}\n\nexport async function update_view_settings(params: Record<string, any>) {\n return useRequest().post('/view/update_view_settings', params);\n}\n\nexport async function refresh_view_settings_cache(params: Record<string, any>) {\n return useRequest().post('/view/refresh_view_settings_cache', params);\n}\n\nexport async function set_view_settings_default(params: Record<string, any>) {\n return useRequest().post('/view/set_view_settings_default', params);\n}\n\nexport async function delete_view_settings(params: Record<string, any>) {\n return useRequest().post('/view/delete_view_settings', params);\n}\n\nexport async function recover_view_settings(params: Record<string, any>) {\n return useRequest().post('/view/recover_view_settings', params);\n}\n\nexport async function get_view_settings(params: Record<string, any>) {\n return useRequest().post('/view/get_view_settings', params);\n}\n\nexport async function create_user_view(params: Record<string, any>) {\n return useRequest().post('/view/create_user_view', params);\n}\n\nexport async function update_user_view(params: Record<string, any>) {\n return useRequest().post('/view/update_user_view', params);\n}\n\nexport async function delete_user_view(params: Record<string, any>) {\n return useRequest().post('/view/delete_user_view', params);\n}\n\nexport async function recover_user_view(params: Record<string, any>) {\n return useRequest().post('/view/recover_user_view', params);\n}\n\nexport async function get_user_view(params: Record<string, any>) {\n return useRequest().post('/view/get_user_view', params);\n}\n\nexport async function get_view_settings_for_user(params: Record<string, any>) {\n return useRequest().post('/view/get_view_settings_for_user', params);\n}\n\nexport async function change_view_settings_sort(params: Record<string, any>) {\n return useRequest().post('/view/change_view_settings_sort', params);\n}\n\nexport async function query_view_settings_list(params?: {\n [key: string]: any;\n}): Promise<PageResult> {\n return useRequest().post('/view/query_view_settings_list', params);\n}\n\nexport async function query_user_view_list(params?: { [key: string]: any }): Promise<PageResult> {\n return useRequest().post('/view/query_user_view_list', params);\n}\n","export const CUSTOM_VIEW_DATA_USER = 'customviewdatauser';\n","<template>\n <a-card :body-style=\"{ padding: 0, height: height + 96 + 'px', overflowY: 'auto' }\">\n <a-collapse\n v-model:activeKey=\"viewKey\"\n :bordered=\"false\"\n class=\"collapses\"\n style=\"background: rgb(255, 255, 255)\"\n >\n <template #expandIcon=\"{ isActive }\">\n <caret-right-outlined :rotate=\"isActive ? 90 : 0\" />\n </template>\n <a-collapse-panel\n :key=\"'1'\"\n :style=\"customStyle\"\n >\n <template #header>\n <span style=\"font-weight: 700\">{{ $t('个人视图') }}</span>\n </template>\n <template #extra>\n <a-tooltip>\n <template #title>{{ $t('个人视图管理') }}</template>\n <setting-outlined\n style=\"margin-right: 10px\"\n @click.stop=\"editView('personal')\"\n />\n </a-tooltip>\n <a-tooltip>\n <template #title>{{ $t('新建个人视图') }}</template>\n <plus-outlined @click.stop=\"addView('personal')\" />\n </a-tooltip>\n </template>\n <a-table\n v-if=\"personData.length > 0\"\n :columns=\"columns\"\n :customRow=\"customRow\"\n :dataSource=\"personData\"\n :pagination=\"false\"\n :showHeader=\"false\"\n :size=\"'small'\"\n >\n <template #bodyCell=\"{ column, record }\">\n <div\n class=\"table\"\n v-if=\"column.dataIndex === 'name'\"\n style=\"width: 100%; cursor: pointer\"\n @click=\"changeView(record)\"\n >\n <a-tooltip\n :title=\"record.name\"\n :color=\"'magenta'\"\n placement=\"left\"\n :destroyTooltipOnHide=\"true\"\n :overlayStyle=\"{ maxWidth: '200px' }\"\n >\n <div style=\"max-width: 130px; float: left; white-space: nowrap; overflow: hidden\">\n {{ record.name }}\n </div>\n </a-tooltip>\n <span\n class=\"num\"\n style=\"float: right\"\n :style=\"\n currentViewObj.id === record.id ? { color: '#1890ff', fontWeight: 'bold' } : {}\n \"\n >\n {{ record.num }}\n </span>\n <a-dropdown class=\"dropdown\">\n <span\n style=\"float: right; font-weight: 800\"\n @click.stop=\"\"\n >\n · · ·\n </span>\n <template #overlay>\n <a-menu>\n <a-menu-item v-if=\"!record.is_system || is_auth\">\n <a\n href=\"javascript:;\"\n @click=\"handleSubmit(record, 'personal')\"\n >\n {{ $t('编辑') }}\n </a>\n </a-menu-item>\n <a-menu-item>\n <a\n href=\"javascript:;\"\n @click=\"handleShare(record)\"\n >\n {{ $t('分享视图') }}\n </a>\n </a-menu-item>\n <a-menu-item v-if=\"!record.is_system || is_auth\">\n <a\n href=\"javascript:;\"\n @click=\"handleDelet(record)\"\n >\n {{ $t('删除') }}\n </a>\n </a-menu-item>\n </a-menu>\n </template>\n </a-dropdown>\n </div>\n </template>\n </a-table>\n </a-collapse-panel>\n <a-collapse-panel\n :key=\"'2'\"\n :style=\"customStyle\"\n >\n <template #header>\n <span style=\"font-weight: 700\">{{ $t('公共视图') }}</span>\n </template>\n <template #extra>\n <a-tooltip>\n <template #title>{{ $t('公共视图管理') }}</template>\n <setting-outlined\n style=\"margin-right: 10px\"\n @click.stop=\"editView('public')\"\n />\n </a-tooltip>\n <a-tooltip>\n <template #title>{{ $t('新建公共视图') }}</template>\n <plus-outlined @click.stop=\"addView('public')\" />\n </a-tooltip>\n </template>\n <a-table\n v-if=\"publicData.length > 0\"\n :columns=\"columns\"\n :customRow=\"customRow\"\n :dataSource=\"publicData\"\n :pagination=\"false\"\n :showHeader=\"false\"\n :size=\"'small'\"\n >\n <template #bodyCell=\"{ column, record }\">\n <div\n class=\"table\"\n v-if=\"column.dataIndex === 'name'\"\n style=\"width: 100%; cursor: pointer\"\n @click=\"changeView(record)\"\n >\n <a-tooltip\n :title=\"record.name\"\n :color=\"'magenta'\"\n placement=\"left\"\n :destroyTooltipOnHide=\"true\"\n :overlayStyle=\"{ maxWidth: '200px' }\"\n >\n <div style=\"max-width: 130px; float: left; white-space: nowrap; overflow: hidden\">\n {{ record.name }}\n </div>\n </a-tooltip>\n <span\n class=\"num\"\n style=\"float: right\"\n :style=\"\n currentViewObj.id === record.id ? { color: '#1890ff', fontWeight: 'bold' } : {}\n \"\n >\n {{ record.num }}\n </span>\n <a-dropdown class=\"dropdown\">\n <span\n style=\"float: right; font-weight: 800\"\n @click.stop=\"\"\n >\n · · ·\n </span>\n <template #overlay>\n <a-menu>\n <a-menu-item v-if=\"!record.is_system || is_auth\">\n <a\n href=\"javascript:;\"\n @click=\"handleSubmit(record, 'public')\"\n >\n {{ $t('编辑') }}\n </a>\n </a-menu-item>\n <a-menu-item>\n <a\n href=\"javascript:;\"\n @click=\"handleShare(record)\"\n >\n {{ $t('分享视图') }}\n </a>\n </a-menu-item>\n <a-menu-item v-if=\"!record.is_system || is_auth\">\n <a\n href=\"javascript:;\"\n @click=\"handleDelet(record)\"\n >\n {{ $t('删除') }}\n </a>\n </a-menu-item>\n </a-menu>\n </template>\n </a-dropdown>\n </div>\n </template>\n </a-table>\n </a-collapse-panel>\n </a-collapse>\n </a-card>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n createVNode,\n defineComponent,\n onActivated,\n onMounted,\n onUnmounted,\n reactive,\n ref,\n watch,\n} from 'vue';\nimport {\n CaretRightOutlined,\n ExclamationCircleOutlined,\n PlusOutlined,\n SettingOutlined,\n} from '@ant-design/icons-vue';\nimport modalBox from 'liyu-pc-base/components/form-modal/modal-tools';\nimport { message, Modal } from 'ant-design-vue';\nimport { useUserStore } from 'liyu-pc-base/init-plugin';\nimport {\n change_view_settings_sort,\n create_view_settings,\n delete_view_settings,\n query_view_settings_list,\n refresh_view_settings_cache,\n set_view_settings_default,\n update_view_settings,\n} from 'liyu-pc-base/api/view-model';\nimport { sourceStore } from 'liyu-pc-base/init-plugin';\nimport { copyValue } from 'liyu-pc-base/utils/function';\nimport { getApiData } from 'liyu-pc-base/api/api-model';\nimport {\n getPageConfig,\n getViewSettingsAndPageConfig,\n} from 'liyu-pc-base/components/remotePages/index';\nimport { useI18n } from 'vue-i18n';\nimport { useRequiredConditionStore } from 'liyu-pc-base/init-plugin';\nimport { required_condition_event_obj } from 'liyu-pc-base/init-plugin';\nimport { useEnv } from 'liyu-pc-base/init-plugin';\nimport { CUSTOM_VIEW_DATA_USER } from 'liyu-pc-base/constants';\n\nconst VIEW_SYSTEM_EDIT = 'view_system_edit';\nconst columns = [\n {\n title: '',\n dataIndex: 'name',\n key: 'name',\n },\n];\nexport default defineComponent({\n name: 'ViewManage',\n components: {\n CaretRightOutlined,\n PlusOutlined,\n SettingOutlined,\n },\n props: {\n currentViewObj: {\n type: Object,\n required: true,\n },\n menu_flag: {\n type: String,\n required: true,\n },\n menu_name: {\n type: String,\n required: true,\n },\n countData: {\n type: String,\n required: true,\n },\n create_num: {\n type: Number,\n required: true,\n },\n current_num: {\n type: Number,\n required: true,\n },\n count_num: {\n type: Number,\n required: true,\n },\n height: {\n type: Number,\n required: true,\n },\n modalType: {\n type: String,\n },\n app_flag: {\n type: String,\n },\n },\n emits: ['change'],\n setup(props, { emit }) {\n const env = useEnv();\n const requiredConditionStore = useRequiredConditionStore();\n const userStore = useUserStore();\n const current_org = userStore.currentOrg;\n const userid = userStore.userid;\n const is_auth = ref(userStore.CHECK_AUTH(VIEW_SYSTEM_EDIT));\n const viewData = ref([]); // 视图数据\n const { t } = useI18n();\n let mergedConfig: any;\n let defaultAndServerConfig: any;\n const personData = computed(() => {\n const list = viewData.value\n .filter((item: any) => !!item.user_id && item.is_system)\n .map((item: any) => {\n return item;\n })\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort));\n const list1 = viewData.value\n .filter((item: any) => !!item.user_id && !item.is_system)\n .map((item: any) => {\n return item;\n })\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort));\n return list.concat(list1);\n }); // 个人视图数据\n const publicData = computed(() => {\n const list = viewData.value\n .filter((item: any) => !item.user_id && item.is_system)\n .map((item: any) => {\n return item;\n })\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort));\n const list1 = viewData.value\n .filter((item: any) => !item.user_id && !item.is_system)\n .map((item: any) => {\n return item;\n })\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort));\n return list.concat(list1);\n }); // 公共视图数据\n const viewNameList = computed(() => {\n return viewData.value.map((item: any) => {\n return item.name;\n });\n }); // 视图名称列表,用于创建、修改时查重\n\n const fetchData = async ({\n id,\n search_model,\n filter_map,\n sort_fields,\n group_condition,\n conditions,\n isShowGeneralFilter,\n }) => {\n return new Promise(resolve => {\n if (!props.countData && !mergedConfig?.countData) {\n console.error('无count接口');\n resolve(null);\n }\n const obj: any = {\n org_id: current_org.id,\n ...search_model,\n ...filter_map,\n sort_fields: sort_fields,\n };\n if (isShowGeneralFilter) {\n obj.group_condition = group_condition;\n obj.conditions = conditions;\n }\n obj.required_condition = getRequiredConditionObj();\n getApiData(obj, mergedConfig?.countData ? mergedConfig.countData : props.countData)\n .then((res: any) => {\n viewData.value.forEach((item: any) => {\n if (item.id == id) {\n item.num = res;\n }\n });\n resolve(null);\n })\n .catch(error => {\n console.log('error', error);\n message.error(t('获取数据失败, 请刷新页面'));\n });\n });\n };\n const setCount = async (list: any) => {\n for (const item of list) {\n try {\n await fetchData(item);\n } catch (error) {\n console.log('error', error);\n message.error(t('获取数据失败, 请刷新页面'));\n }\n }\n };\n // 查询视图、刷新count\n const viewRefresh = () => {\n getViewSettingsAndPageConfig({\n org_id: current_org.id,\n user_id: userid,\n app_flag: props.app_flag,\n modalType: props.modalType,\n sort_fields: ['sort', 'create_time'],\n is_cache: false,\n })\n .then((res: any) => {\n mergedConfig = getPageConfig(\n props.app_flag,\n props.modalType,\n res.defaultAndServerConfig,\n t,\n {\n use_store: true,\n to_i18n: true,\n enable_btn: false,\n },\n );\n defaultAndServerConfig = res.defaultAndServerConfig;\n if (mergedConfig?.isView === false) {\n window.location.hash = '';\n emit('change', defaultAndServerConfig, {}, true, true);\n return;\n }\n requiredConditionStore.set_required_condition(\n props.modalType,\n mergedConfig.required_condition,\n );\n viewData.value.length = 0;\n let list: any = [];\n const count_search_list: any = [];\n if (res && res.system_user_datas && res.system_user_datas.length > 0) {\n list = list.concat(res.system_user_datas);\n }\n if (res && res.system_public_datas && res.system_public_datas.length > 0) {\n list = list.concat(res.system_public_datas);\n }\n if (res && res.public_datas && res.public_datas.length > 0) {\n list = list.concat(res.public_datas);\n }\n if (res && res.user_datas && res.user_datas.length > 0) {\n list = list.concat(res.user_datas);\n }\n list.forEach((item: any) => {\n let search_model: any = null;\n let filter_map: any = null;\n let group_condition: any = null;\n let conditions: any = null;\n if (item.data.isShowGeneralFilter) {\n search_model = {};\n filter_map = {};\n group_condition = item.data.group_condition;\n conditions = item.data.conditions;\n } else {\n search_model = item.data.search_model;\n filter_map = item.data.filter_map;\n group_condition = {};\n conditions = [];\n }\n viewData.value.push({\n ...item,\n search_model,\n filter_map,\n sort_fields: item.data.sort_fields,\n group_condition: group_condition,\n conditions: conditions,\n });\n count_search_list.push({\n id: item.id,\n isShowGeneralFilter: item.data.isShowGeneralFilter,\n search_model,\n filter_map,\n sort_fields: item.data.sort_fields,\n group_condition,\n conditions,\n });\n });\n if (count_search_list.length > 0) {\n setCount(count_search_list);\n }\n handleHashChange(null);\n })\n .catch(err => {\n console.log('err', err);\n message.error(t('获取视图失败, 请刷新页面'));\n });\n };\n // 根据hash选定当前视图数据 event返回(视图数据,是否刷新页面,是否可自我保存)\n const handleHashChange = (uid: any) => {\n let hash = null;\n if (uid) {\n hash = uid;\n } else if (window.location.hash) {\n hash = window.location.hash.substring(1); // 去掉 # 符号\n }\n if (hash) {\n // 分享的视图链接打开\n const list = viewData.value.filter((item: any) => item.uid == hash);\n if (list && list.length > 0) {\n emit('change', defaultAndServerConfig, { ...list[0], ...list[0].data }, true, true);\n } else {\n query_view_settings_list({\n org_id: current_org.id,\n conditions: [\n [\n {\n field_name: 'is_active',\n operator: 'in',\n value: [true],\n format: 'choices',\n class_name: 'bool',\n },\n {\n field_name: 'view_menu__flag',\n operator: 'eq',\n value: [props.menu_flag],\n format: 'input',\n class_name: 'str',\n },\n {\n field_name: 'uid',\n operator: 'eq',\n value: [hash],\n format: 'input',\n class_name: 'str',\n },\n ],\n ],\n }).then((res: any) => {\n if (res && res.data && res.data.length > 0) {\n emit(\n 'change',\n defaultAndServerConfig,\n {\n ...res.data[0],\n ...res.data[0].data,\n },\n true,\n false,\n );\n } else {\n const list = viewData.value.filter((item: any) => !item.user_id && item.is_default);\n if (list && list.length > 0) {\n window.location.hash = list[0].uid;\n emit('change', defaultAndServerConfig, { ...list[0], ...list[0].data }, true, true);\n return;\n }\n let obj = viewData.value\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort))\n .find((item: any) => !item.user_id);\n if (obj && obj.uid) {\n window.location.hash = obj.uid;\n emit('change', defaultAndServerConfig, { ...obj, ...obj.data }, true, true);\n } else {\n obj = viewData.value\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort))\n .find((item: any) => item.user_id);\n if (obj && obj.uid) {\n window.location.hash = obj.uid;\n emit('change', defaultAndServerConfig, { ...obj, ...obj.data }, true, true);\n } else {\n const obj = {\n uid: null,\n view_menu__flag: props.menu_flag,\n column: {},\n search_model: {},\n filter_map: {},\n sort_fields: [],\n filtered_value: {},\n sort_orders: [],\n };\n emit('change', defaultAndServerConfig, obj, true, false);\n window.location.hash = '';\n }\n }\n }\n });\n }\n } else {\n let current_uid = '';\n if (sourceStore().get(CUSTOM_VIEW_DATA_USER)) {\n current_uid = sourceStore().get(CUSTOM_VIEW_DATA_USER)?.[props.menu_flag]; // 菜单当前视图uid\n }\n if (current_uid) {\n window.location.hash = current_uid;\n handleHashChange(current_uid);\n } else {\n // 优先选择非系统视图的默认视图\n const list = viewData.value.filter(\n (item: any) => !item.user_id && item.is_default && !item.is_system,\n );\n if (list && list.length > 0) {\n window.location.hash = list[0].uid;\n emit('change', defaultAndServerConfig, { ...list[0], ...list[0].data }, true, true);\n return;\n }\n // 其次选择系统视图默认视图(多个默认选择第一个)\n const list_is_system = viewData.value.filter(\n (item: any) => !item.user_id && item.is_default && item.is_system,\n );\n if (list_is_system && list_is_system.length > 0) {\n window.location.hash = list_is_system[0].uid;\n emit(\n 'change',\n defaultAndServerConfig,\n { ...list_is_system[0], ...list_is_system[0].data },\n true,\n true,\n );\n return;\n }\n let obj = viewData.value\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort))\n .find((item: any) => !item.user_id);\n if (obj && obj.uid) {\n window.location.hash = obj.uid;\n emit('change', defaultAndServerConfig, { ...obj, ...obj.data }, true, true);\n } else {\n obj = viewData.value\n .sort((a, b) => (a.sort == b.sort ? a.id - b.id : a.sort - b.sort))\n .find((item: any) => item.user_id);\n if (obj && obj.uid) {\n window.location.hash = obj.uid;\n emit('change', defaultAndServerConfig, { ...obj, ...obj.data }, true, true);\n } else {\n window.location.hash = '';\n const obj = {\n uid: null,\n view_menu__flag: props.menu_flag,\n column: {},\n search_model: {},\n filter_map: {},\n sort_fields: [],\n filtered_value: {},\n sort_orders: [],\n };\n emit('change', defaultAndServerConfig, obj, true, false);\n }\n }\n }\n }\n };\n viewRefresh();\n const viewKey = ref(['1', '2']); // 视图数据展开控制key\n const customStyle =\n 'background: #ffffff;border-radius: 4px;margin-bottom: 2px;border: 0;overflow: hidden;';\n const customRow = (record: any) => {\n return props.currentViewObj && record && record.id === props.currentViewObj.id\n ? { style: { backgroundColor: '#ddf1ff' } }\n : { style: {} };\n };\n // 切换视图\n const changeView = (record: any) => {\n window.location.hash = record.uid;\n handleHashChange(record.uid);\n refreshCount([record]);\n };\n // 保存修改视图\n const viewSubmit = ({ updateView, record }) => {\n if (record.name != updateView.name && viewNameList.value.includes(updateView.name)) {\n message.error(t('视图名称已存在'));\n return;\n }\n if (record?.id) {\n const list = viewData.value.filter((item: any) => record?.id == item.id);\n if (updateView.is_submit?.[0]) {\n const view = {\n ...list[0].data,\n search_model: { ...props.currentViewObj.search_model, current: 1 },\n filter_map: props.currentViewObj.filter_map,\n sort_fields: props.currentViewObj.sort_fields,\n filtered_value: props.currentViewObj.filtered_value,\n sort_orders: props.currentViewObj.sort_orders,\n column: props.currentViewObj.column,\n isShowGeneralFilter: props.currentViewObj.isShowGeneralFilter,\n conditions: props.currentViewObj.conditions,\n group_condition: props.currentViewObj.group_condition,\n group_record: props.currentViewObj.group_record,\n default_search_condition_config_list:\n props.currentViewObj.default_search_condition_config_list,\n };\n delete view.is_system; // 存储时不记录is_system,防止后端直接修改,前端不起效\n update_view_settings({\n org_id: current_org.id,\n view_settings_id: record?.id,\n is_system: updateView.is_system?.[0],\n name: updateView.name,\n data: JSON.stringify(view),\n }).then((res: any) => {\n if (updateView.is_default?.[0]) {\n set_view_settings_default({\n org_id: current_org.id,\n view_settings_id: record?.id,\n }).then(() => {\n refresh_view_settings_cache({\n org_id: current_org.id,\n view_settings_id: record?.id,\n }).then(() => {\n message.success(t('保存成功'));\n if (res.id == props.currentViewObj?.id) {\n emit('change', defaultAndServerConfig, { ...res, ...res.data }, false, true);\n } else {\n viewData.value.forEach((item: any) => {\n if (item.id == res.id) {\n Object.assign(item, { ...res, ...res.data });\n }\n });\n }\n viewRefresh();\n });\n });\n } else {\n refresh_view_settings_cache({\n org_id: current_org.id,\n view_settings_id: record?.id,\n }).then(() => {\n message.success(t('保存成功'));\n if (res.id == props.currentViewObj?.id) {\n emit('change', defaultAndServerConfig, { ...res, ...res.data }, false, true);\n } else {\n viewData.value.forEach((item: any) => {\n if (item.id == res.id) {\n Object.assign(item, { ...res, ...res.data });\n }\n });\n }\n viewRefresh();\n });\n }\n });\n } else {\n update_view_settings({\n org_id: current_org.id,\n view_settings_id: record?.id,\n is_system: updateView.is_system?.[0],\n name: updateView.name,\n }).then((res: any) => {\n if (updateView.is_default?.[0]) {\n set_view_settings_default({\n org_id: current_org.id,\n view_settings_id: record?.id,\n }).then(() => {\n refresh_view_settings_cache({\n org_id: current_org.id,\n view_settings_id: record?.id,\n }).then(() => {\n message.success(t('保存成功'));\n if (res.id == props.currentViewObj?.id) {\n emit('change', defaultAndServerConfig, { ...res, ...res.data }, false, true);\n } else {\n viewData.value.forEach((item: any) => {\n if (item.id == res.id) {\n Object.assign(item, { ...res, ...res.data });\n }\n });\n }\n viewRefresh();\n });\n });\n } else {\n refresh_view_settings_cache({\n org_id: current_org.id,\n view_settings_id: record?.id,\n }).then(() => {\n message.success(t('保存成功'));\n if (res.id == props.currentViewObj?.id) {\n emit('change', defaultAndServerConfig, { ...res, ...res.data }, false, true);\n } else {\n viewData.value.forEach((item: any) => {\n if (item.id == res.id) {\n Object.assign(item, { ...res, ...res.data });\n }\n });\n }\n viewRefresh();\n });\n }\n });\n }\n } else {\n let view: any = {};\n if (updateView.is_submit?.[0]) {\n view = {\n search_model: { ...props.currentViewObj.search_model, current: 1 },\n filter_map: props.currentViewObj.filter_map,\n sort_fields: props.currentViewObj.sort_fields,\n filtered_value: props.currentViewObj.filtered_value,\n sort_orders: props.currentViewObj.sort_orders,\n column: props.currentViewObj.column,\n isShowGeneralFilter: props.currentViewObj.isShowGeneralFilter,\n conditions: props.currentViewObj.conditions,\n group_condition: props.currentViewObj.group_condition,\n group_record: props.currentViewObj.group_record,\n default_search_condition_config_list:\n props.currentViewObj.default_search_condition_config_list,\n };\n delete view.is_system; // 存储时不记录is_system,防止后端直接修改,前端不起效\n } else {\n view = {\n column: {},\n search_model: {},\n filter_map: {},\n sort_fields: [],\n filtered_value: {},\n sort_orders: [],\n isShowGeneralFilter: null,\n conditions: [],\n group_condition: {},\n group_record: {},\n };\n }\n create_view_settings({\n org_id: current_org.id,\n user_id: updateView.view_type == 'personal' ? userid : null,\n name: updateView.name,\n view_project__flag: env.VITE_APP_VIEW_PROJECT_FLAG,\n view_menu__flag: props.menu_flag,\n view_menu__name: props.menu_name,\n is_system: false,\n data: JSON.stringify(view),\n }).then((res: any) => {\n emit('change', defaultAndServerConfig, { ...res, ...res.data }, true, true);\n if (res.id) {\n viewData.value = viewData.value.concat([\n {\n ...res,\n },\n ]);\n setCount([\n {\n id: res.id,\n search_model: view.search_model,\n filter_map: view.filter_map,\n sort_fields: view.sort_fields,\n group_condition: view.group_condition,\n conditions: view.conditions,\n isShowGeneralFilter: view.isShowGeneralFilter,\n },\n ]);\n window.location.hash = res.uid;\n handleHashChange(res.uid);\n }\n });\n }\n };\n // 视图编辑按钮\n const handleSubmit = (record: any, view_type: string) => {\n let is_submit: any = [false];\n if (props.currentViewObj.id == record.id) {\n is_submit = [true];\n }\n const tempModal = reactive({\n open: true,\n loading: false,\n title: t('编辑视图'),\n form: {\n settings: {\n labelAlign: 'right',\n layout: 'vertical',\n col: [],\n },\n fields: [\n {\n type: 'input',\n name: 'name',\n label: t('视图名称'),\n disabled: false,\n allowClear: true,\n inputType: 'text',\n defaultValue: '',\n placeholder: t('请输入视图名称'),\n },\n {\n type: 'checkbox',\n name: 'is_submit',\n label: '',\n disabled: false,\n allowClear: true,\n labelKey: 'name',\n valueKey: 'value',\n defaultValue: [false],\n placeholder: '',\n },\n ],\n rules: reactive({\n name: [\n {\n required: true,\n message: t('请输入视图名称'),\n },\n ],\n }),\n model: reactive({\n name: record.name,\n is_submit: is_submit,\n is_default: [record?.is_default ? record?.is_default : false],\n is_system: [record?.is_system ? record?.is_system : false],\n }),\n },\n options: {\n is_submit: [\n {\n name: t('将当前过滤条件、排序、显示属性、视图和分组等设置更新到该视图中'),\n value: true,\n },\n ],\n is_default: [\n {\n name: t('设为默认视图'),\n value: true,\n },\n ],\n is_system: [\n {\n name: t('设为系统视图'),\n value: true,\n },\n ],\n },\n ok: (data: any) => {\n return new Promise(function (resolve) {\n viewSubmit({ updateView: data, record: record });\n resolve(null);\n });\n },\n });\n if (view_type == 'public') {\n tempModal.form.fields.push({\n type: 'checkbox',\n name: 'is_default',\n label: '',\n disabled: false,\n allowClear: true,\n labelKey: 'name',\n valueKey: 'value',\n defaultValue: [false],\n placeholder: '',\n });\n if (is_auth.value) {\n tempModal.form.fields.push({\n type: 'checkbox',\n name: 'is_system',\n label: '',\n disabled: false,\n allowClear: true,\n labelKey: 'name',\n valueKey: 'value',\n defaultValue: [false],\n placeholder: '',\n });\n }\n }\n modalBox(tempModal);\n };\n // 添加视图\n const addView = (view_type: any) => {\n const tempModal = reactive({\n open: true,\n loading: false,\n title: t('新建视图'),\n form: {\n settings: {\n labelAlign: 'right',\n layout: 'vertical',\n col: [],\n },\n fields: [\n {\n type: 'input',\n name: 'name',\n label: t('视图名称'),\n disabled: false,\n allowClear: true,\n inputType: 'text',\n defaultValue: '',\n placeholder: t('请输入视图名称'),\n },\n {\n type: 'radio',\n name: 'view_type',\n label: t('视图可见范围'),\n disabled: false,\n allowClear: true,\n labelKey: 'name',\n valueKey: 'value',\n defaultValue: '',\n placeholder: '',\n },\n {\n type: 'checkbox',\n name: 'is_submit',\n label: '',\n disabled: false,\n allowClear: true,\n labelKey: 'name',\n valueKey: 'value',\n defaultValue: [false],\n placeholder: '',\n },\n ],\n rules: reactive({\n name: [\n {\n required: true,\n message: t('请输入视图名称'),\n },\n ],\n }),\n model: reactive({\n name: null,\n view_type: view_type,\n is_submit: [true],\n }),\n },\n options: {\n view_type: [\n { name: t('个人视图(仅自己可见)'), value: 'personal' },\n { name: t('公共视图(项目成员均可见)'), value: 'public' },\n ],\n is_submit: [\n {\n name: t('将当前过滤条件、排序、显示属性、视图和分组等设置更新到该视图中'),\n value: true,\n },\n ],\n },\n ok: (data: any) => {\n return new Promise(function (resolve) {\n if (viewNameList.value.includes(data.name)) {\n message.error(t('视图名称已存在'));\n return;\n }\n viewSubmit({ updateView: data, record: data });\n resolve(null);\n });\n },\n });\n modalBox(tempModal);\n };\n // 管理视图\n const editView = (view_type: any) => {\n const tempModal = reactive({\n open: true,\n component: 'ViewEditModal',\n compObj: {\n title: view_type == 'personal' ? t('个人视图管理') : t('公共视图管理'),\n data: view_type == 'personal' ? personData.value : publicData.value,\n },\n ok: (ids: any) => {\n if (ids && ids.length > 0) {\n change_view_settings_sort({\n org_id: current_org.id,\n view_settings_ids: ids,\n }).then(() => {\n message.success(t('保存成功'));\n viewRefresh();\n });\n } else {\n message.success(t('保存成功'));\n viewRefresh();\n }\n },\n cancel: (isEdit: any) => {\n if (isEdit) {\n viewRefresh();\n }\n },\n });\n modalBox(tempModal);\n };\n // 分享视图\n const handleShare = (record: any) => {\n let url = '';\n const index = window.location.href.indexOf('#');\n if (index !== -1) {\n // 如果找到了 #,则截取它之前的部分\n url = window.location.href.substring(0, index) + '#' + record.uid;\n } else {\n // 如果没有找到 #,则返回原始字符串\n url = window.location.href + '#' + record.uid;\n }\n copyValue({ val: url, message: t('复制成功') });\n };\n // 删除视图\n const handleDelet = (record: any) => {\n Modal.confirm({\n title: () =>\n `${t('确认删除此')}【${record.name}】${record?.user_id ? t('个人视图') : t('公共视图')}?`,\n content: t('视图删除后不可恢复,视图下工作项不受影响,是否确认删除?'),\n icon: () => createVNode(ExclamationCircleOutlined),\n okText: t('确定'),\n onOk() {\n return new Promise(resolve => {\n delete_view_settings({\n org_id: current_org.id,\n view_settings_id: record?.id,\n })\n .then(() => {\n viewData.value = viewData.value.filter((item: any) => item.id != record.id);\n handleHashChange(null);\n message.success(t('删除成功'));\n })\n .finally(() => {\n resolve(null);\n });\n }).catch(() => console.log('Oops errors!'));\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onCancel() {},\n });\n };\n const getRequiredConditionObj = () => {\n const page_config = getPageConfig(props.app_flag, props.modalType, null, t, {\n use_store: true,\n to_i18n: true,\n enable_btn: false,\n });\n const required_condition = page_config.required_condition;\n const required_condition_obj = {};\n if (required_condition) {\n required_condition.forEach((item: any) => {\n const value = requiredConditionStore.value_map[item.key];\n if (value !== undefined && value !== null) {\n required_condition_obj[item.field_name] = value;\n }\n });\n }\n return required_condition_obj;\n };\n // 刷新Count (视图record,uid) => {}\n const refreshCount = (list: any) => {\n const count_search_list = [];\n list.forEach((item: any) => {\n let search_model: any = null;\n let filter_map: any = null;\n let group_condition: any = null;\n let conditions: any = null;\n if (item.data.isShowGeneralFilter) {\n search_model = {};\n filter_map = {};\n group_condition = item.data.group_condition;\n conditions = item.data.conditions;\n } else {\n search_model = item.data.search_model;\n filter_map = item.data.filter_map;\n group_condition = {};\n conditions = [];\n }\n count_search_list.push({\n id: item.id,\n search_model,\n filter_map,\n sort_fields: item.data.sort_fields,\n group_condition,\n conditions,\n isShowGeneralFilter: item.data.isShowGeneralFilter,\n });\n });\n setCount(count_search_list);\n };\n watch(\n () => props.current_num, // 监听保存当前视图\n () => {\n Modal.confirm({\n title: () => t('确定覆盖视图吗?'),\n content: t('当前视图原有的数据会被覆盖'),\n icon: () => createVNode(ExclamationCircleOutlined),\n okText: t('确定'),\n onOk() {\n return new Promise(resolve => {\n viewSubmit({\n updateView: {\n is_submit: [true],\n is_system: [props.currentViewObj.is_system],\n name: props.currentViewObj.name,\n },\n record: props.currentViewObj,\n });\n resolve(null);\n }).catch(() => console.log('Oops errors!'));\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onCancel() {},\n });\n },\n );\n watch(\n () => props.create_num, // 监听另存为\n () => {\n const tempModal = reactive({\n open: true,\n loading: false,\n title: t('新建视图'),\n form: {\n settings: {\n labelAlign: 'right',\n layout: 'vertical',\n col: [],\n },\n fields: [\n {\n type: 'input',\n name: 'name',\n label: t('视图名称'),\n disabled: false,\n allowClear: true,\n inputType: 'text',\n defaultValue: '',\n placeholder: t('请输入视图名称'),\n },\n {\n type: 'radio',\n name: 'view_type',\n label: t('视图可见范围'),\n disabled: false,\n allowClear: true,\n labelKey: 'name',\n valueKey: 'value',\n defaultValue: '',\n placeholder: '',\n },\n ],\n rules: reactive({\n name: [\n {\n required: true,\n message: t('请输入视图名称'),\n },\n ],\n }),\n model: reactive({\n name: null,\n view_type: 'personal',\n is_submit: [true],\n }),\n },\n options: {\n view_type: [\n { name: t('个人视图(仅自己可见)'), value: 'personal' },\n { name: t('公共视图(项目成员均可见)'), value: 'public' },\n ],\n is_submit: [\n {\n name: t('将当前过滤条件、排序、显示属性、视图和分组等设置更新到该视图中'),\n value: true,\n },\n ],\n },\n ok: (data: any) => {\n return new Promise(function (resolve) {\n const viewNameList = viewData.value.map((item: any) => item.name);\n if (viewNameList.includes(data.name)) {\n message.error(t('视图名称已存在'));\n return;\n }\n viewSubmit({ updateView: data, record: data });\n resolve(null);\n });\n },\n });\n modalBox(tempModal);\n },\n );\n\n watch(\n () => props.count_num, // 监听刷新当前视图count\n () => {\n refreshCount(viewData.value);\n },\n );\n const handleRequiredConditionChange = (key: string) => {\n const page_config = getPageConfig(props.currentViewObj.app_flag, props.modalType, null, t, {\n use_store: true,\n to_i18n: true,\n enable_btn: false,\n });\n if (page_config.required_condition) {\n const item = page_config.required_condition.find((item: any) => item.key === key);\n if (item) {\n viewRefresh();\n }\n }\n };\n onMounted(() => {\n required_condition_event_obj().on('change', handleRequiredConditionChange);\n });\n onUnmounted(() => {\n required_condition_event_obj().off('change', handleRequiredConditionChange);\n });\n // 页面重新进入刷新count\n onActivated(() => {\n refreshCount(viewData.value);\n });\n return {\n props,\n viewKey,\n customStyle,\n columns,\n personData,\n publicData,\n is_auth,\n addView,\n editView,\n customRow,\n changeView,\n handleSubmit,\n handleShare,\n handleDelet,\n };\n },\n});\n</script>\n<style lang=\"less\">\n.collapses .ant-collapse-item .ant-collapse-content .ant-collapse-content-box {\n padding: 0;\n}\n\n.num {\n display: inline-block;\n}\n\n.dropdown {\n display: none;\n}\n\n.table:hover .dropdown {\n display: inline-block;\n}\n\n.table:hover .num {\n display: none;\n}\n</style>\n","<template>\n <a-card :body-style=\"{ padding: 0, height: selectObj.height + 96 + 'px', overflowY: 'auto' }\">\n <view-manage\n :select-obj=\"selectObj\"\n @change=\"change\"\n />\n </a-card>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue';\n// import SideFieldRender from 'liyu-pc-base/components/SideSearchRender/SideFieldRender.vue';\n// import { ReloadOutlined } from '@ant-design/icons-vue';\nimport ViewManage from 'liyu-pc-base/components/SideSearchRender/viewManage.vue';\n\nexport default defineComponent({\n name: 'SideSearchRender',\n components: {\n ViewManage,\n },\n props: {\n selectObj: {\n type: Object,\n required: true,\n },\n },\n emits: ['change'],\n setup(props, { emit }) {\n const change = (data: any, is_refresh: any, is_ownView: any) => {\n emit('change', data, is_refresh, is_ownView);\n };\n return {\n props,\n change,\n };\n },\n});\n</script>\n<style lang=\"less\">\n.collapses .ant-collapse-item .ant-collapse-content .ant-collapse-content-box {\n padding: 0;\n}\n</style>\n"],"names":["_sfc_main$7","defineComponent","props","emit","activeKey","ref","tab_list","item_list","index","base_search_list","i","k","handleSubmit","e","list","item","selected_group_list","temp","operator_list_selected","get_operator_list_selected","first","condition","_resolveComponent","_openBlock","_createBlock","_component_a_modal","_ctx","_cache","_withCtx","_createVNode","_component_a_tabs","$event","_createElementBlock","_Fragment","_renderList","_component_a_tab_pane","base_search_item","_createElementVNode","_hoisted_1","_toDisplayString","_component_a_space","obj","_component_a_checkbox","_sfc_main$6","_a","_b","new_search_list","new_group","new_i","message","_hoisted_3","get_options_eq","t","_sfc_main$5","FieldRender2","CloseOutlined","LeftOutlined","RightOutlined","FieldRender","AddConditionGroupModal","AddConditionModal","CloseCircleOutlined","isShowForm","labelModel","useI18n","options_eq","condition_model_dict","validateInfos","source_default_search_condition_config_list","is_or_not_blank_or_null_options","operator_type_count_map","is2DArray","arr","subArray","old_operator","onChangeOperator","operator","value","isNotEmpty","seconds","addConditionModal","reactive","handleAddConditions","handleAddConditionOk","data","item1","index1","item2","item3","handleAddConditionCancel","addConditionGroupModal","handleAddGroupCondition","handleAddGroupConditionOK","handleAddGroupConditionCancel","handleSearch","refreshCondition","update_all","deleteBtnDict","group_item","onFilterChanged","handleMouseEnter","form_item","handleMouseLeave","handleDeleteFormItem","new_list","index_","handleDelSearch","filed_name","onChangeSearchItem","group_index","condition_index","selected_field_name","new_condition","searchItemOptionsDict","computed","dict","filter_field_name_list","filter_list","o","isShowSearchTag","transferValueFunc","str_list","get_operator_type_map","transfer_value","moment","handleShowSearchRender","watch","onMounted","onUnmounted","_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_4","_createCommentVNode","_component_a_button","_withDirectives","_component_a_tag","_createTextVNode","_component_close_outlined","_vShow","_hoisted_2","_component_a_space_compact","_component_a_input_group","_component_a_tooltip","_component_a_cascader","_component_a_select","_component_a_select_option","_component_field_render_2","_component_a_flex","_hoisted_5","_hoisted_6","_component_close_circle_outlined","_component_a_divider","_hoisted_7","_component_add_condition_modal","_component_add_condition_group_modal","_sfc_main$4","params","_component_a_form","row","_component_a_card","_createSlots","_component_a_row","field_item","_component_a_col","_sfc_main$3","name","a","col","field","_component_field_render","_sfc_main$2","field2","create_view_settings","useRequest","update_view_settings","refresh_view_settings_cache","set_view_settings_default","delete_view_settings","change_view_settings_sort","query_view_settings_list","CUSTOM_VIEW_DATA_USER","VIEW_SYSTEM_EDIT","columns","_sfc_main$1","CaretRightOutlined","PlusOutlined","SettingOutlined","env","useEnv","requiredConditionStore","useRequiredConditionStore","userStore","useUserStore","current_org","userid","is_auth","viewData","mergedConfig","defaultAndServerConfig","personData","b","list1","publicData","viewNameList","fetchData","id","search_model","filter_map","sort_fields","group_condition","conditions","isShowGeneralFilter","resolve","getRequiredConditionObj","getApiData","res","error","setCount","viewRefresh","getViewSettingsAndPageConfig","getPageConfig","count_search_list","handleHashChange","err","uid","hash","current_uid","sourceStore","list_is_system","viewKey","customStyle","customRow","record","changeView","refreshCount","viewSubmit","updateView","view","_c","_d","view_type","is_submit","tempModal","modalBox","addView","editView","ids","isEdit","handleShare","url","copyValue","handleDelet","Modal","createVNode","ExclamationCircleOutlined","required_condition","required_condition_obj","handleRequiredConditionChange","key","page_config","required_condition_event_obj","onActivated","_component_a_collapse","isActive","_component_caret_right_outlined","_component_a_collapse_panel","_normalizeStyle","_component_setting_outlined","_component_plus_outlined","_component_a_table","column","_component_a_dropdown","_component_a_menu","_component_a_menu_item","_withModifiers","_sfc_main","ViewManage","is_refresh","is_ownView","_component_view_manage"],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "liyu-pc-base",
3
3
  "type": "module",
4
4
  "license": "MIT",
5
- "version": "1.0.58",
5
+ "version": "1.0.60",
6
6
  "scripts": {
7
7
  "build": "vite build",
8
8
  "build:watch": "vite build --watch --mode development",