liyu-pc-base 1.0.441 → 1.0.443
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.
- package/dist/{FieldRender2-Z8ZuE1Kt.js → FieldRender2-DYV82S0i.js} +15 -15
- package/dist/FieldRender2-DYV82S0i.js.map +1 -0
- package/dist/FormRender3-P1-PJHkZ.js +2 -0
- package/dist/{FormRender3-BcbsArYE.js → FormRender3-dMiPooGH.js} +1 -1
- package/dist/{FormRender3-BcbsArYE.js.map → FormRender3-dMiPooGH.js.map} +1 -1
- package/dist/SearchRender-D6C4fCLy.js +2 -0
- package/dist/{SearchRender-dBK6ahZL.js → SearchRender-kAqagzYv.js} +1 -1
- package/dist/{SearchRender-dBK6ahZL.js.map → SearchRender-kAqagzYv.js.map} +1 -1
- package/dist/components/index.js +3 -3
- package/dist/index.js +1 -1
- package/dist/liyu-pc-base.css +1 -1
- package/package.json +1 -1
- package/dist/FieldRender2-Z8ZuE1Kt.js.map +0 -1
- package/dist/FormRender3-Br-c2yCm.js +0 -2
- package/dist/SearchRender-DV8eco7q.js +0 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as e } from "./_plugin-vue_export-helper-D3hKq4w_.js";
|
|
2
2
|
import { s as t } from "./function-CaGMqBdj.js";
|
|
3
3
|
import { d as n } from "./TinymceEditor-7iXcNpky.js";
|
|
4
|
-
import { t as r } from "./FieldRender2-
|
|
4
|
+
import { t as r } from "./FieldRender2-DYV82S0i.js";
|
|
5
5
|
import { Fragment as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createSlots as c, createTextVNode as l, createVNode as u, defineComponent as d, openBlock as f, reactive as p, ref as m, renderList as h, resolveComponent as g, toDisplayString as _, watch as v, withCtx as y } from "vue";
|
|
6
6
|
import { message as b } from "ant-design-vue";
|
|
7
7
|
//#region src/components/FormRender/FieldCol.vue?vue&type=script&lang.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormRender3-BcbsArYE.js","names":[],"sources":["../src/components/FormRender/FieldCol.vue","../src/components/FormRender/FieldCol.vue","../src/components/FormRender/FormRender3.vue","../src/components/FormRender/FormRender3.vue"],"sourcesContent":["<template>\n <a-col\n :span=\"is_show_field ? (field_item.span !== undefined ? field_item.span : 24) : 0\"\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:label=\"model[field_item.name + '.label']\"\n v-model:is_show_field=\"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 :alwaysShowGroup=\"alwaysShowGroup\"\n :context=\"context\"\n :inner-model=\"innerModel\"\n :global-inner-model=\"globalInnerModel\"\n :nestValidate=\"nestValidate\"\n :base-key-path=\"baseKeyPath\"\n :worker-host-functions=\"workerHostFunctions\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n />\n </a-col>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue';\nimport FieldRender2 from 'liyu-pc-base/components/FormRender/FieldRender2.vue';\n\nexport default defineComponent({\n name: 'FieldCol',\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 options: {\n type: Object,\n required: true,\n default: () => {},\n },\n validateInfos: {\n type: Object,\n default: () => {},\n },\n alwaysShowGroup: {\n type: Boolean,\n default: false,\n },\n field_item: {\n type: Object,\n default: () => {},\n },\n context: {\n type: Object,\n default: null,\n },\n innerModel: {\n default: null,\n },\n globalInnerModel: {\n default: null,\n },\n nestValidate: {\n type: Object as PropType<Record<string, any> | null>,\n default: null,\n },\n baseKeyPath: {\n type: Array,\n default: () => [],\n },\n workerHostFunctions: {\n type: Object,\n default: () => {},\n },\n },\n emits: ['update_model', 'update_name2'],\n setup(props, { emit }) {\n const is_show_field = ref(true);\n const onUpdateModel = params => {\n emit('update_model', params);\n };\n const onUpdateName2 = params => {\n emit('update_name2', params);\n };\n return { is_show_field, onUpdateModel, onUpdateName2 };\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-col\n :span=\"is_show_field ? (field_item.span !== undefined ? field_item.span : 24) : 0\"\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:label=\"model[field_item.name + '.label']\"\n v-model:is_show_field=\"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 :alwaysShowGroup=\"alwaysShowGroup\"\n :context=\"context\"\n :inner-model=\"innerModel\"\n :global-inner-model=\"globalInnerModel\"\n :nestValidate=\"nestValidate\"\n :base-key-path=\"baseKeyPath\"\n :worker-host-functions=\"workerHostFunctions\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n />\n </a-col>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue';\nimport FieldRender2 from 'liyu-pc-base/components/FormRender/FieldRender2.vue';\n\nexport default defineComponent({\n name: 'FieldCol',\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 options: {\n type: Object,\n required: true,\n default: () => {},\n },\n validateInfos: {\n type: Object,\n default: () => {},\n },\n alwaysShowGroup: {\n type: Boolean,\n default: false,\n },\n field_item: {\n type: Object,\n default: () => {},\n },\n context: {\n type: Object,\n default: null,\n },\n innerModel: {\n default: null,\n },\n globalInnerModel: {\n default: null,\n },\n nestValidate: {\n type: Object as PropType<Record<string, any> | null>,\n default: null,\n },\n baseKeyPath: {\n type: Array,\n default: () => [],\n },\n workerHostFunctions: {\n type: Object,\n default: () => {},\n },\n },\n emits: ['update_model', 'update_name2'],\n setup(props, { emit }) {\n const is_show_field = ref(true);\n const onUpdateModel = params => {\n emit('update_model', params);\n };\n const onUpdateName2 = params => {\n emit('update_name2', params);\n };\n return { is_show_field, onUpdateModel, onUpdateName2 };\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 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 || alwaysShowGroup)\"\n #title\n >\n {{ row.group_name }}\n </template>\n <template #extra>\n <div\n class=\"group-custom-btn-list\"\n v-if=\"row.custom_btn_list && row.custom_btn_list.length > 0\"\n >\n <template v-for=\"btn in row.custom_btn_list\">\n <debug-code\n :action_code_id=\"btn.action_code_id\"\n v-model:code=\"btn.code\"\n >\n <a-button\n size=\"small\"\n :type=\"btn.type\"\n :danger=\"btn.danger\"\n @click=\"handleCustomBtnClick(btn)\"\n >\n {{ btn.label }}\n </a-button>\n </debug-code>\n </template>\n </div>\n </template>\n <a-row\n :gutter=\"5\"\n type=\"flex\"\n >\n <field-col\n v-for=\"(field_item, i) in row?.children\"\n :key=\"i\"\n :model=\"model\"\n :out-model=\"outModel\"\n :options=\"options\"\n :validate-infos=\"validateInfos\"\n :always-show-group=\"alwaysShowGroup\"\n :field_item=\"field_item\"\n :context=\"context\"\n :inner-model=\"_innerModel\"\n :global-inner-model=\"_globalInnerModel\"\n :nestValidate=\"nestValidate\"\n :base-key-path=\"baseKeyPath\"\n :worker-host-functions=\"workerHostFunctions\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n ></field-col>\n </a-row>\n </a-card>\n </template>\n </a-form>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, watch, reactive, PropType } from 'vue';\nimport FieldCol from './FieldCol.vue';\nimport { executeScriptInWorker } from 'liyu-pc-base/utils/function';\nimport { message } from 'ant-design-vue';\nimport debugCode from 'liyu-pc-base/components/FormRender/debugCode.vue';\n\nexport default defineComponent({\n name: 'FormRender3',\n components: {\n FieldCol,\n debugCode,\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 alwaysShowGroup: {\n type: Boolean,\n default: false,\n },\n context: {\n type: Object,\n default: null,\n },\n innerModel: {\n type: Object,\n default: null,\n },\n globalInnerModel: {\n default: null,\n },\n nestValidate: {\n type: Object as PropType<Record<string, any> | null>,\n default: null,\n },\n baseKeyPath: {\n type: Array,\n default: () => [],\n },\n workerHostFunctions: {\n type: Object,\n default: () => {},\n },\n },\n emits: ['update_model'],\n setup(props, { emit }) {\n // 解决传入非响应式数据时,动态增加is_show_field无用正常相应问题\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 const _globalInnerModel = props.globalInnerModel || reactive({});\n const _innerModel = props.innerModel || _globalInnerModel;\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 const handleCustomBtnClick = async btn => {\n if (btn.code) {\n let res;\n try {\n res = await executeScriptInWorker(\n btn.code,\n {\n context: props.context,\n formModel: props.model,\n keyPath: [...props.baseKeyPath, btn.group_name],\n },\n props.workerHostFunctions || {},\n );\n } catch (e) {\n message.error(e.message);\n return;\n }\n if (res) {\n Object.assign(props.model, res);\n }\n }\n };\n return {\n validate,\n onUpdateModel,\n onUpdateName2,\n _globalInnerModel,\n _innerModel,\n handleCustomBtnClick,\n };\n },\n});\n</script>\n\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.group-custom-btn-list {\n display: inline-flex;\n gap: 5px;\n flex-wrap: wrap;\n margin-right: 2px;\n}\n</style>\n","<template>\n <a-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 || alwaysShowGroup)\"\n #title\n >\n {{ row.group_name }}\n </template>\n <template #extra>\n <div\n class=\"group-custom-btn-list\"\n v-if=\"row.custom_btn_list && row.custom_btn_list.length > 0\"\n >\n <template v-for=\"btn in row.custom_btn_list\">\n <debug-code\n :action_code_id=\"btn.action_code_id\"\n v-model:code=\"btn.code\"\n >\n <a-button\n size=\"small\"\n :type=\"btn.type\"\n :danger=\"btn.danger\"\n @click=\"handleCustomBtnClick(btn)\"\n >\n {{ btn.label }}\n </a-button>\n </debug-code>\n </template>\n </div>\n </template>\n <a-row\n :gutter=\"5\"\n type=\"flex\"\n >\n <field-col\n v-for=\"(field_item, i) in row?.children\"\n :key=\"i\"\n :model=\"model\"\n :out-model=\"outModel\"\n :options=\"options\"\n :validate-infos=\"validateInfos\"\n :always-show-group=\"alwaysShowGroup\"\n :field_item=\"field_item\"\n :context=\"context\"\n :inner-model=\"_innerModel\"\n :global-inner-model=\"_globalInnerModel\"\n :nestValidate=\"nestValidate\"\n :base-key-path=\"baseKeyPath\"\n :worker-host-functions=\"workerHostFunctions\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n ></field-col>\n </a-row>\n </a-card>\n </template>\n </a-form>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, watch, reactive, PropType } from 'vue';\nimport FieldCol from './FieldCol.vue';\nimport { executeScriptInWorker } from 'liyu-pc-base/utils/function';\nimport { message } from 'ant-design-vue';\nimport debugCode from 'liyu-pc-base/components/FormRender/debugCode.vue';\n\nexport default defineComponent({\n name: 'FormRender3',\n components: {\n FieldCol,\n debugCode,\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 alwaysShowGroup: {\n type: Boolean,\n default: false,\n },\n context: {\n type: Object,\n default: null,\n },\n innerModel: {\n type: Object,\n default: null,\n },\n globalInnerModel: {\n default: null,\n },\n nestValidate: {\n type: Object as PropType<Record<string, any> | null>,\n default: null,\n },\n baseKeyPath: {\n type: Array,\n default: () => [],\n },\n workerHostFunctions: {\n type: Object,\n default: () => {},\n },\n },\n emits: ['update_model'],\n setup(props, { emit }) {\n // 解决传入非响应式数据时,动态增加is_show_field无用正常相应问题\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 const _globalInnerModel = props.globalInnerModel || reactive({});\n const _innerModel = props.innerModel || _globalInnerModel;\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 const handleCustomBtnClick = async btn => {\n if (btn.code) {\n let res;\n try {\n res = await executeScriptInWorker(\n btn.code,\n {\n context: props.context,\n formModel: props.model,\n keyPath: [...props.baseKeyPath, btn.group_name],\n },\n props.workerHostFunctions || {},\n );\n } catch (e) {\n message.error(e.message);\n return;\n }\n if (res) {\n Object.assign(props.model, res);\n }\n }\n };\n return {\n validate,\n onUpdateModel,\n onUpdateName2,\n _globalInnerModel,\n _innerModel,\n handleCustomBtnClick,\n };\n },\n});\n</script>\n\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.group-custom-btn-list {\n display: inline-flex;\n gap: 5px;\n flex-wrap: wrap;\n margin-right: 2px;\n}\n</style>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FormRender3-dMiPooGH.js","names":[],"sources":["../src/components/FormRender/FieldCol.vue","../src/components/FormRender/FieldCol.vue","../src/components/FormRender/FormRender3.vue","../src/components/FormRender/FormRender3.vue"],"sourcesContent":["<template>\n <a-col\n :span=\"is_show_field ? (field_item.span !== undefined ? field_item.span : 24) : 0\"\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:label=\"model[field_item.name + '.label']\"\n v-model:is_show_field=\"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 :alwaysShowGroup=\"alwaysShowGroup\"\n :context=\"context\"\n :inner-model=\"innerModel\"\n :global-inner-model=\"globalInnerModel\"\n :nestValidate=\"nestValidate\"\n :base-key-path=\"baseKeyPath\"\n :worker-host-functions=\"workerHostFunctions\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n />\n </a-col>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue';\nimport FieldRender2 from 'liyu-pc-base/components/FormRender/FieldRender2.vue';\n\nexport default defineComponent({\n name: 'FieldCol',\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 options: {\n type: Object,\n required: true,\n default: () => {},\n },\n validateInfos: {\n type: Object,\n default: () => {},\n },\n alwaysShowGroup: {\n type: Boolean,\n default: false,\n },\n field_item: {\n type: Object,\n default: () => {},\n },\n context: {\n type: Object,\n default: null,\n },\n innerModel: {\n default: null,\n },\n globalInnerModel: {\n default: null,\n },\n nestValidate: {\n type: Object as PropType<Record<string, any> | null>,\n default: null,\n },\n baseKeyPath: {\n type: Array,\n default: () => [],\n },\n workerHostFunctions: {\n type: Object,\n default: () => {},\n },\n },\n emits: ['update_model', 'update_name2'],\n setup(props, { emit }) {\n const is_show_field = ref(true);\n const onUpdateModel = params => {\n emit('update_model', params);\n };\n const onUpdateName2 = params => {\n emit('update_name2', params);\n };\n return { is_show_field, onUpdateModel, onUpdateName2 };\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-col\n :span=\"is_show_field ? (field_item.span !== undefined ? field_item.span : 24) : 0\"\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:label=\"model[field_item.name + '.label']\"\n v-model:is_show_field=\"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 :alwaysShowGroup=\"alwaysShowGroup\"\n :context=\"context\"\n :inner-model=\"innerModel\"\n :global-inner-model=\"globalInnerModel\"\n :nestValidate=\"nestValidate\"\n :base-key-path=\"baseKeyPath\"\n :worker-host-functions=\"workerHostFunctions\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n />\n </a-col>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue';\nimport FieldRender2 from 'liyu-pc-base/components/FormRender/FieldRender2.vue';\n\nexport default defineComponent({\n name: 'FieldCol',\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 options: {\n type: Object,\n required: true,\n default: () => {},\n },\n validateInfos: {\n type: Object,\n default: () => {},\n },\n alwaysShowGroup: {\n type: Boolean,\n default: false,\n },\n field_item: {\n type: Object,\n default: () => {},\n },\n context: {\n type: Object,\n default: null,\n },\n innerModel: {\n default: null,\n },\n globalInnerModel: {\n default: null,\n },\n nestValidate: {\n type: Object as PropType<Record<string, any> | null>,\n default: null,\n },\n baseKeyPath: {\n type: Array,\n default: () => [],\n },\n workerHostFunctions: {\n type: Object,\n default: () => {},\n },\n },\n emits: ['update_model', 'update_name2'],\n setup(props, { emit }) {\n const is_show_field = ref(true);\n const onUpdateModel = params => {\n emit('update_model', params);\n };\n const onUpdateName2 = params => {\n emit('update_name2', params);\n };\n return { is_show_field, onUpdateModel, onUpdateName2 };\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 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 || alwaysShowGroup)\"\n #title\n >\n {{ row.group_name }}\n </template>\n <template #extra>\n <div\n class=\"group-custom-btn-list\"\n v-if=\"row.custom_btn_list && row.custom_btn_list.length > 0\"\n >\n <template v-for=\"btn in row.custom_btn_list\">\n <debug-code\n :action_code_id=\"btn.action_code_id\"\n v-model:code=\"btn.code\"\n >\n <a-button\n size=\"small\"\n :type=\"btn.type\"\n :danger=\"btn.danger\"\n @click=\"handleCustomBtnClick(btn)\"\n >\n {{ btn.label }}\n </a-button>\n </debug-code>\n </template>\n </div>\n </template>\n <a-row\n :gutter=\"5\"\n type=\"flex\"\n >\n <field-col\n v-for=\"(field_item, i) in row?.children\"\n :key=\"i\"\n :model=\"model\"\n :out-model=\"outModel\"\n :options=\"options\"\n :validate-infos=\"validateInfos\"\n :always-show-group=\"alwaysShowGroup\"\n :field_item=\"field_item\"\n :context=\"context\"\n :inner-model=\"_innerModel\"\n :global-inner-model=\"_globalInnerModel\"\n :nestValidate=\"nestValidate\"\n :base-key-path=\"baseKeyPath\"\n :worker-host-functions=\"workerHostFunctions\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n ></field-col>\n </a-row>\n </a-card>\n </template>\n </a-form>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, watch, reactive, PropType } from 'vue';\nimport FieldCol from './FieldCol.vue';\nimport { executeScriptInWorker } from 'liyu-pc-base/utils/function';\nimport { message } from 'ant-design-vue';\nimport debugCode from 'liyu-pc-base/components/FormRender/debugCode.vue';\n\nexport default defineComponent({\n name: 'FormRender3',\n components: {\n FieldCol,\n debugCode,\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 alwaysShowGroup: {\n type: Boolean,\n default: false,\n },\n context: {\n type: Object,\n default: null,\n },\n innerModel: {\n type: Object,\n default: null,\n },\n globalInnerModel: {\n default: null,\n },\n nestValidate: {\n type: Object as PropType<Record<string, any> | null>,\n default: null,\n },\n baseKeyPath: {\n type: Array,\n default: () => [],\n },\n workerHostFunctions: {\n type: Object,\n default: () => {},\n },\n },\n emits: ['update_model'],\n setup(props, { emit }) {\n // 解决传入非响应式数据时,动态增加is_show_field无用正常相应问题\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 const _globalInnerModel = props.globalInnerModel || reactive({});\n const _innerModel = props.innerModel || _globalInnerModel;\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 const handleCustomBtnClick = async btn => {\n if (btn.code) {\n let res;\n try {\n res = await executeScriptInWorker(\n btn.code,\n {\n context: props.context,\n formModel: props.model,\n keyPath: [...props.baseKeyPath, btn.group_name],\n },\n props.workerHostFunctions || {},\n );\n } catch (e) {\n message.error(e.message);\n return;\n }\n if (res) {\n Object.assign(props.model, res);\n }\n }\n };\n return {\n validate,\n onUpdateModel,\n onUpdateName2,\n _globalInnerModel,\n _innerModel,\n handleCustomBtnClick,\n };\n },\n});\n</script>\n\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.group-custom-btn-list {\n display: inline-flex;\n gap: 5px;\n flex-wrap: wrap;\n margin-right: 2px;\n}\n</style>\n","<template>\n <a-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 || alwaysShowGroup)\"\n #title\n >\n {{ row.group_name }}\n </template>\n <template #extra>\n <div\n class=\"group-custom-btn-list\"\n v-if=\"row.custom_btn_list && row.custom_btn_list.length > 0\"\n >\n <template v-for=\"btn in row.custom_btn_list\">\n <debug-code\n :action_code_id=\"btn.action_code_id\"\n v-model:code=\"btn.code\"\n >\n <a-button\n size=\"small\"\n :type=\"btn.type\"\n :danger=\"btn.danger\"\n @click=\"handleCustomBtnClick(btn)\"\n >\n {{ btn.label }}\n </a-button>\n </debug-code>\n </template>\n </div>\n </template>\n <a-row\n :gutter=\"5\"\n type=\"flex\"\n >\n <field-col\n v-for=\"(field_item, i) in row?.children\"\n :key=\"i\"\n :model=\"model\"\n :out-model=\"outModel\"\n :options=\"options\"\n :validate-infos=\"validateInfos\"\n :always-show-group=\"alwaysShowGroup\"\n :field_item=\"field_item\"\n :context=\"context\"\n :inner-model=\"_innerModel\"\n :global-inner-model=\"_globalInnerModel\"\n :nestValidate=\"nestValidate\"\n :base-key-path=\"baseKeyPath\"\n :worker-host-functions=\"workerHostFunctions\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n ></field-col>\n </a-row>\n </a-card>\n </template>\n </a-form>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, watch, reactive, PropType } from 'vue';\nimport FieldCol from './FieldCol.vue';\nimport { executeScriptInWorker } from 'liyu-pc-base/utils/function';\nimport { message } from 'ant-design-vue';\nimport debugCode from 'liyu-pc-base/components/FormRender/debugCode.vue';\n\nexport default defineComponent({\n name: 'FormRender3',\n components: {\n FieldCol,\n debugCode,\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 alwaysShowGroup: {\n type: Boolean,\n default: false,\n },\n context: {\n type: Object,\n default: null,\n },\n innerModel: {\n type: Object,\n default: null,\n },\n globalInnerModel: {\n default: null,\n },\n nestValidate: {\n type: Object as PropType<Record<string, any> | null>,\n default: null,\n },\n baseKeyPath: {\n type: Array,\n default: () => [],\n },\n workerHostFunctions: {\n type: Object,\n default: () => {},\n },\n },\n emits: ['update_model'],\n setup(props, { emit }) {\n // 解决传入非响应式数据时,动态增加is_show_field无用正常相应问题\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 const _globalInnerModel = props.globalInnerModel || reactive({});\n const _innerModel = props.innerModel || _globalInnerModel;\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 const handleCustomBtnClick = async btn => {\n if (btn.code) {\n let res;\n try {\n res = await executeScriptInWorker(\n btn.code,\n {\n context: props.context,\n formModel: props.model,\n keyPath: [...props.baseKeyPath, btn.group_name],\n },\n props.workerHostFunctions || {},\n );\n } catch (e) {\n message.error(e.message);\n return;\n }\n if (res) {\n Object.assign(props.model, res);\n }\n }\n };\n return {\n validate,\n onUpdateModel,\n onUpdateName2,\n _globalInnerModel,\n _innerModel,\n handleCustomBtnClick,\n };\n },\n});\n</script>\n\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.group-custom-btn-list {\n display: inline-flex;\n gap: 5px;\n flex-wrap: wrap;\n margin-right: 2px;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./_plugin-vue_export-helper-D3hKq4w_.js";
|
|
2
2
|
import { t } from "./lodash-T_IuH2iQ.js";
|
|
3
|
-
import { t as n } from "./FieldRender2-
|
|
3
|
+
import { t as n } from "./FieldRender2-DYV82S0i.js";
|
|
4
4
|
import { Fragment as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, createVNode as l, openBlock as u, renderList as d, renderSlot as f, resolveComponent as p, toDisplayString as m, vShow as h, watch as g, withCtx as _, withDirectives as v } from "vue";
|
|
5
5
|
import y from "moment";
|
|
6
6
|
import { CloseOutlined as b, LeftOutlined as x, RightOutlined as S } from "@ant-design/icons-vue";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchRender-dBK6ahZL.js","names":[],"sources":["../src/components/FormRender/SearchRender.vue","../src/components/FormRender/SearchRender.vue"],"sourcesContent":["<template>\n <template v-if=\"!isShowGeneralFilter\">\n <div v-show=\"!formShow.open\">\n <a-space>\n <a-button\n type=\"link\"\n @click=\"handleShowGeneralFilter\"\n v-if=\"is_show_advantage\"\n >\n {{ $t('高级') }}\n </a-button>\n <a-button\n type=\"link\"\n @click=\"\n () => {\n formShow.open = true;\n $emit('resize');\n }\n \"\n >\n {{ $t('展开') }}\n </a-button>\n </a-space>\n <span v-for=\"field in form.fields\">\n <span v-if=\"field.type == 'rangepicker'\">\n <a-tag\n v-show=\"model[field.name] != null && model[field.name] != ''\"\n color=\"green\"\n >\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"reduceRangePre(field)\"\n >\n <template #icon><left-outlined /></template>\n </a-button>\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"addRangePre(field)\"\n >\n <template #icon><right-outlined /></template>\n </a-button>\n {{ field.label }}:{{ showLabel(field, field.name) }}\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"reduceRangeAfter(field)\"\n >\n <template #icon><left-outlined /></template>\n </a-button>\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"addRangeAfter(field)\"\n >\n <template #icon><right-outlined /></template>\n </a-button>\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ name: field.name, key: 'model' })\"\n />\n </a-tag>\n </span>\n <span v-else-if=\"field.type == 'datepicker'\">\n <a-tag\n v-show=\"model[field.name] != null && model[field.name] != ''\"\n color=\"green\"\n >\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"reduce(field)\"\n >\n <template #icon><left-outlined /></template>\n </a-button>\n {{ field.label }}:{{ showLabel(field, field.name) }}\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"add(field)\"\n >\n <template #icon><right-outlined /></template>\n </a-button>\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ name: field.name, key: 'model' })\"\n />\n </a-tag>\n </span>\n <span v-else>\n <a-tag\n v-show=\"model[field.name] != null && model[field.name] != '' && isShowFilter(field)\"\n color=\"green\"\n >\n {{ field.label }}:{{ showLabel(field, field.name) }}\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ name: field.name, key: 'model' })\"\n />\n </a-tag>\n </span>\n </span>\n <template v-if=\"searchLabelList.length > 0\">\n <template\n v-for=\"(label, index) in searchLabelList\"\n :key=\"index\"\n >\n <a-tag\n v-show=\"\n label.filters\n ? label.filteredValue && JSON.stringify(label.filteredValue) !== '[]'\n : false\n \"\n color=\"green\"\n >\n {{ label.label }} 包含:{{ loadLabelOptions(label) }}\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ label, key: 'filters' })\"\n />\n </a-tag>\n </template>\n <template\n v-for=\"(label, index) in searchLabelList\"\n :key=\"index\"\n >\n <a-tag\n v-show=\"label.sorter && label.sortOrder\"\n color=\"blue\"\n >\n {{ label.label }}: {{ loadLabelSort(label) }}\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ label, key: 'sorter' })\"\n />\n </a-tag>\n </template>\n </template>\n </div>\n <a-form\n v-if=\"delayShow || formShow.open\"\n v-show=\"formShow.open\"\n ref=\"form\"\n autocomplete=\"off\"\n :model=\"model\"\n :rules=\"form.rules\"\n :layout=\"form.settings.layout\"\n :label-col=\"form.settings.labelCol\"\n :wrapper-col=\"form.settings.wrapperCol\"\n :labelAlign=\"form.settings.labelAlign\"\n scrollToFirstError\n >\n <a-form-item v-if=\"showSearch\">\n <a-space>\n <a-button\n type=\"link\"\n @click=\"handleShowGeneralFilter\"\n v-if=\"is_show_advantage\"\n >\n {{ $t('高级') }}\n </a-button>\n <a-button\n type=\"link\"\n @click=\"\n () => {\n formShow.open = false;\n $emit('resize');\n }\n \"\n >\n {{ $t('隐藏') }}\n </a-button>\n </a-space>\n </a-form-item>\n <template\n v-for=\"field in form.fields\"\n :key=\"field.name\"\n >\n <field-render-2\n v-if=\"field.type == 'rangepicker'\"\n v-model:label=\"labelModel[field.name]\"\n v-model:value=\"model[field.name]\"\n :field=\"{ ...field, format: field.dateFormat }\"\n :formModel=\"model\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n :validateInfos=\"validateInfos\"\n />\n <field-render-2\n v-else\n v-model:label=\"labelModel[field.name]\"\n v-model:value=\"model[field.name]\"\n :field=\"field\"\n :formModel=\"model\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <a-form-item v-if=\"showSearch\">\n <a-button\n size=\"small\"\n type=\"primary\"\n @click=\"search\"\n >\n {{ $t('查询') }}\n </a-button>\n </a-form-item>\n <a-form-item v-if=\"showReset\">\n <a-button\n size=\"small\"\n @click=\"resetFields\"\n >\n {{ $t('重置') }}\n </a-button>\n </a-form-item>\n <a-form-item v-if=\"showReport\">\n <a-button\n size=\"small\"\n type=\"info\"\n @click=\"editModal.open = true\"\n >\n {{ $t('订阅') }}\n </a-button>\n </a-form-item>\n </a-form>\n <a-modal\n v-if=\"editModal.open\"\n :open=\"editModal.open\"\n @cancel=\"\n () => {\n editModal.open = false;\n }\n \"\n />\n </template>\n <template v-if=\"isShowGeneralFilter\">\n <slot name=\"generalFilter\"></slot>\n </template>\n</template>\n<script language=\"ts\">\nimport { watch } from 'vue';\nimport { CloseOutlined, LeftOutlined, RightOutlined } from '@ant-design/icons-vue';\nimport moment from 'moment';\nimport FieldRender2 from 'liyu-pc-base/components/FormRender/FieldRender2.vue';\nimport { cloneDeep } from 'lodash';\n\nexport default {\n name: 'SearchRender',\n components: { FieldRender2, LeftOutlined, RightOutlined, CloseOutlined },\n emits: ['search', 'resize', 'delSearch', 'showGeneralFilter'],\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 resetFields: {\n type: Function,\n default: () => {},\n },\n showReport: {\n type: Boolean,\n default: () => false,\n },\n showSearch: {\n type: Boolean,\n default: () => true,\n },\n showReset: {\n type: Boolean,\n default: () => true,\n },\n defaultShowEdit: {\n type: Boolean,\n default: () => false,\n },\n search_visible: {\n type: Boolean,\n default: () => false,\n },\n searchLabelList: {\n type: Array,\n default: () => [],\n },\n isShowGeneralFilter: {\n type: Boolean,\n default: () => false,\n },\n is_show_advantage: {\n type: Boolean,\n default: () => false,\n },\n delayShow: {\n type: Boolean,\n default: () => true,\n },\n },\n data() {\n return {\n editModal: {\n open: false,\n },\n formShow: {\n open: this.defaultShowEdit,\n },\n labelModel: {},\n };\n },\n methods: {\n delSearch(obj) {\n this.$emit('delSearch', obj);\n },\n search() {\n this.$refs.form.validate().then(\n () => {\n this.$emit('search');\n this.formShow.open = this.search_visible;\n },\n () => {\n // this.$emit('search');\n },\n );\n },\n validate() {\n return this.$refs.form.validate();\n },\n reset() {\n this.$refs.form.resetFields();\n },\n disable(name) {\n this.form.fields[name].disabled = true;\n },\n disableAll() {\n this.form.fields.forEach(item => {\n item.disabled = true;\n });\n },\n isShowFilter(field) {\n let is = true;\n this.searchLabelList.forEach(item => {\n if (field.name == item.key && item.is_filter_model) {\n is = false;\n }\n });\n return is;\n },\n showLabel(field, name) {\n const options = this.options[field.datasource ? field.datasource : field.name];\n if (this.labelModel[name] != undefined) {\n return this.labelModel[name];\n } else if (options) {\n if (\n typeof this.model[name] == 'object' &&\n this.model[name] != undefined &&\n this.model[name].length >= 0\n ) {\n const selectItems = options\n .filter(item => this.model[name].includes(item.value))\n .map(item => item.name);\n if (selectItems.length > 0) {\n return selectItems;\n }\n\n return '';\n } else {\n const selectItem = options.find(item => item.value == this.model[name]);\n if (selectItem) {\n return selectItem.name;\n }\n return '';\n }\n } else if (field.type === 'rangepicker' && this.model[name] instanceof Array) {\n const [first, second] = this.model[name];\n let first_srt, second_srt;\n if (field?.picker === 'month') {\n first_srt = moment(first).format('YYYY-MM');\n second_srt = moment(second).format('YYYY-MM');\n } else if (field?.picker === 'year') {\n first_srt = moment(first).format('YYYY');\n second_srt = moment(second).format('YYYY');\n } else if (field?.picker === 'time') {\n first_srt = moment(first, field.valueFormat).format(field.valueFormat);\n second_srt = moment(second, field.valueFormat).format(field.valueFormat);\n } else if (!field?.picker || field?.picker === 'date') {\n if (field.show_time) {\n first_srt = moment(first).format('YYYY-MM-DD HH:mm:ss');\n second_srt = moment(second).format('YYYY-MM-DD HH:mm:ss');\n } else {\n first_srt = moment(first).format('YYYY-MM-DD');\n second_srt = moment(second).format('YYYY-MM-DD');\n }\n } else if (field.valueFormat) {\n first_srt = moment(first).format(field.valueFormat);\n second_srt = moment(second).format(field.valueFormat);\n }\n return `${first_srt},${second_srt}`;\n } else {\n return this.model[name];\n }\n },\n loadLabelOptions(label) {\n if (label?.filters && label.filteredValue) {\n const str = [];\n label.filters.forEach(item => {\n let i = cloneDeep(item.value);\n if (i === 'true') {\n i = true;\n } else if (i === 'false') {\n i = false;\n }\n if (Array.isArray(label.filteredValue)) {\n if (label.filteredValue.includes(i) || label.filteredValue.includes(item.value)) {\n str.push(item.text ? item.text : item.label ? item.label : '');\n }\n } else {\n if (label.filteredValue == i || label.filteredValue == item.value) {\n str.push(item.text ? item.text : item.label ? item.label : '');\n }\n }\n });\n return `\" ${str.toString()} \"`;\n }\n },\n loadLabelSort(label) {\n if (label?.sorter && label.sortOrder) {\n if (label.sortOrder === 'ascend') {\n return '升序';\n } else if (label.sortOrder === 'descend') {\n return '降序';\n }\n }\n },\n add(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n reduce(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n reduceRangePre(fields) {\n console.log('reduceRangePre');\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n addRangePre(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n reduceRangeAfter(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n addRangeAfter(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n isShow(name) {\n let is = false;\n if (this.form?.sideSearch && this.form?.sideSearch.length > 0) {\n this.form?.sideSearch.forEach(item => {\n if (item.name == name) {\n is = true;\n }\n });\n }\n return is;\n },\n handleShowGeneralFilter() {\n this.$emit('showGeneralFilter', { is_show: true });\n },\n },\n created() {\n if (this.form.watch) {\n for (const k in this.form.watch) {\n watch(\n () => this.model[k],\n () => {\n this.form.watch[k](this.model, this.form);\n },\n );\n }\n }\n },\n};\n</script>\n<style scoped lang=\"less\">\n:deep(.ant-select-selection-placeholder) {\n overflow: hidden;\n width: 100%;\n}\n</style>\n","<template>\n <template v-if=\"!isShowGeneralFilter\">\n <div v-show=\"!formShow.open\">\n <a-space>\n <a-button\n type=\"link\"\n @click=\"handleShowGeneralFilter\"\n v-if=\"is_show_advantage\"\n >\n {{ $t('高级') }}\n </a-button>\n <a-button\n type=\"link\"\n @click=\"\n () => {\n formShow.open = true;\n $emit('resize');\n }\n \"\n >\n {{ $t('展开') }}\n </a-button>\n </a-space>\n <span v-for=\"field in form.fields\">\n <span v-if=\"field.type == 'rangepicker'\">\n <a-tag\n v-show=\"model[field.name] != null && model[field.name] != ''\"\n color=\"green\"\n >\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"reduceRangePre(field)\"\n >\n <template #icon><left-outlined /></template>\n </a-button>\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"addRangePre(field)\"\n >\n <template #icon><right-outlined /></template>\n </a-button>\n {{ field.label }}:{{ showLabel(field, field.name) }}\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"reduceRangeAfter(field)\"\n >\n <template #icon><left-outlined /></template>\n </a-button>\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"addRangeAfter(field)\"\n >\n <template #icon><right-outlined /></template>\n </a-button>\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ name: field.name, key: 'model' })\"\n />\n </a-tag>\n </span>\n <span v-else-if=\"field.type == 'datepicker'\">\n <a-tag\n v-show=\"model[field.name] != null && model[field.name] != ''\"\n color=\"green\"\n >\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"reduce(field)\"\n >\n <template #icon><left-outlined /></template>\n </a-button>\n {{ field.label }}:{{ showLabel(field, field.name) }}\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"add(field)\"\n >\n <template #icon><right-outlined /></template>\n </a-button>\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ name: field.name, key: 'model' })\"\n />\n </a-tag>\n </span>\n <span v-else>\n <a-tag\n v-show=\"model[field.name] != null && model[field.name] != '' && isShowFilter(field)\"\n color=\"green\"\n >\n {{ field.label }}:{{ showLabel(field, field.name) }}\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ name: field.name, key: 'model' })\"\n />\n </a-tag>\n </span>\n </span>\n <template v-if=\"searchLabelList.length > 0\">\n <template\n v-for=\"(label, index) in searchLabelList\"\n :key=\"index\"\n >\n <a-tag\n v-show=\"\n label.filters\n ? label.filteredValue && JSON.stringify(label.filteredValue) !== '[]'\n : false\n \"\n color=\"green\"\n >\n {{ label.label }} 包含:{{ loadLabelOptions(label) }}\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ label, key: 'filters' })\"\n />\n </a-tag>\n </template>\n <template\n v-for=\"(label, index) in searchLabelList\"\n :key=\"index\"\n >\n <a-tag\n v-show=\"label.sorter && label.sortOrder\"\n color=\"blue\"\n >\n {{ label.label }}: {{ loadLabelSort(label) }}\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ label, key: 'sorter' })\"\n />\n </a-tag>\n </template>\n </template>\n </div>\n <a-form\n v-if=\"delayShow || formShow.open\"\n v-show=\"formShow.open\"\n ref=\"form\"\n autocomplete=\"off\"\n :model=\"model\"\n :rules=\"form.rules\"\n :layout=\"form.settings.layout\"\n :label-col=\"form.settings.labelCol\"\n :wrapper-col=\"form.settings.wrapperCol\"\n :labelAlign=\"form.settings.labelAlign\"\n scrollToFirstError\n >\n <a-form-item v-if=\"showSearch\">\n <a-space>\n <a-button\n type=\"link\"\n @click=\"handleShowGeneralFilter\"\n v-if=\"is_show_advantage\"\n >\n {{ $t('高级') }}\n </a-button>\n <a-button\n type=\"link\"\n @click=\"\n () => {\n formShow.open = false;\n $emit('resize');\n }\n \"\n >\n {{ $t('隐藏') }}\n </a-button>\n </a-space>\n </a-form-item>\n <template\n v-for=\"field in form.fields\"\n :key=\"field.name\"\n >\n <field-render-2\n v-if=\"field.type == 'rangepicker'\"\n v-model:label=\"labelModel[field.name]\"\n v-model:value=\"model[field.name]\"\n :field=\"{ ...field, format: field.dateFormat }\"\n :formModel=\"model\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n :validateInfos=\"validateInfos\"\n />\n <field-render-2\n v-else\n v-model:label=\"labelModel[field.name]\"\n v-model:value=\"model[field.name]\"\n :field=\"field\"\n :formModel=\"model\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <a-form-item v-if=\"showSearch\">\n <a-button\n size=\"small\"\n type=\"primary\"\n @click=\"search\"\n >\n {{ $t('查询') }}\n </a-button>\n </a-form-item>\n <a-form-item v-if=\"showReset\">\n <a-button\n size=\"small\"\n @click=\"resetFields\"\n >\n {{ $t('重置') }}\n </a-button>\n </a-form-item>\n <a-form-item v-if=\"showReport\">\n <a-button\n size=\"small\"\n type=\"info\"\n @click=\"editModal.open = true\"\n >\n {{ $t('订阅') }}\n </a-button>\n </a-form-item>\n </a-form>\n <a-modal\n v-if=\"editModal.open\"\n :open=\"editModal.open\"\n @cancel=\"\n () => {\n editModal.open = false;\n }\n \"\n />\n </template>\n <template v-if=\"isShowGeneralFilter\">\n <slot name=\"generalFilter\"></slot>\n </template>\n</template>\n<script language=\"ts\">\nimport { watch } from 'vue';\nimport { CloseOutlined, LeftOutlined, RightOutlined } from '@ant-design/icons-vue';\nimport moment from 'moment';\nimport FieldRender2 from 'liyu-pc-base/components/FormRender/FieldRender2.vue';\nimport { cloneDeep } from 'lodash';\n\nexport default {\n name: 'SearchRender',\n components: { FieldRender2, LeftOutlined, RightOutlined, CloseOutlined },\n emits: ['search', 'resize', 'delSearch', 'showGeneralFilter'],\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 resetFields: {\n type: Function,\n default: () => {},\n },\n showReport: {\n type: Boolean,\n default: () => false,\n },\n showSearch: {\n type: Boolean,\n default: () => true,\n },\n showReset: {\n type: Boolean,\n default: () => true,\n },\n defaultShowEdit: {\n type: Boolean,\n default: () => false,\n },\n search_visible: {\n type: Boolean,\n default: () => false,\n },\n searchLabelList: {\n type: Array,\n default: () => [],\n },\n isShowGeneralFilter: {\n type: Boolean,\n default: () => false,\n },\n is_show_advantage: {\n type: Boolean,\n default: () => false,\n },\n delayShow: {\n type: Boolean,\n default: () => true,\n },\n },\n data() {\n return {\n editModal: {\n open: false,\n },\n formShow: {\n open: this.defaultShowEdit,\n },\n labelModel: {},\n };\n },\n methods: {\n delSearch(obj) {\n this.$emit('delSearch', obj);\n },\n search() {\n this.$refs.form.validate().then(\n () => {\n this.$emit('search');\n this.formShow.open = this.search_visible;\n },\n () => {\n // this.$emit('search');\n },\n );\n },\n validate() {\n return this.$refs.form.validate();\n },\n reset() {\n this.$refs.form.resetFields();\n },\n disable(name) {\n this.form.fields[name].disabled = true;\n },\n disableAll() {\n this.form.fields.forEach(item => {\n item.disabled = true;\n });\n },\n isShowFilter(field) {\n let is = true;\n this.searchLabelList.forEach(item => {\n if (field.name == item.key && item.is_filter_model) {\n is = false;\n }\n });\n return is;\n },\n showLabel(field, name) {\n const options = this.options[field.datasource ? field.datasource : field.name];\n if (this.labelModel[name] != undefined) {\n return this.labelModel[name];\n } else if (options) {\n if (\n typeof this.model[name] == 'object' &&\n this.model[name] != undefined &&\n this.model[name].length >= 0\n ) {\n const selectItems = options\n .filter(item => this.model[name].includes(item.value))\n .map(item => item.name);\n if (selectItems.length > 0) {\n return selectItems;\n }\n\n return '';\n } else {\n const selectItem = options.find(item => item.value == this.model[name]);\n if (selectItem) {\n return selectItem.name;\n }\n return '';\n }\n } else if (field.type === 'rangepicker' && this.model[name] instanceof Array) {\n const [first, second] = this.model[name];\n let first_srt, second_srt;\n if (field?.picker === 'month') {\n first_srt = moment(first).format('YYYY-MM');\n second_srt = moment(second).format('YYYY-MM');\n } else if (field?.picker === 'year') {\n first_srt = moment(first).format('YYYY');\n second_srt = moment(second).format('YYYY');\n } else if (field?.picker === 'time') {\n first_srt = moment(first, field.valueFormat).format(field.valueFormat);\n second_srt = moment(second, field.valueFormat).format(field.valueFormat);\n } else if (!field?.picker || field?.picker === 'date') {\n if (field.show_time) {\n first_srt = moment(first).format('YYYY-MM-DD HH:mm:ss');\n second_srt = moment(second).format('YYYY-MM-DD HH:mm:ss');\n } else {\n first_srt = moment(first).format('YYYY-MM-DD');\n second_srt = moment(second).format('YYYY-MM-DD');\n }\n } else if (field.valueFormat) {\n first_srt = moment(first).format(field.valueFormat);\n second_srt = moment(second).format(field.valueFormat);\n }\n return `${first_srt},${second_srt}`;\n } else {\n return this.model[name];\n }\n },\n loadLabelOptions(label) {\n if (label?.filters && label.filteredValue) {\n const str = [];\n label.filters.forEach(item => {\n let i = cloneDeep(item.value);\n if (i === 'true') {\n i = true;\n } else if (i === 'false') {\n i = false;\n }\n if (Array.isArray(label.filteredValue)) {\n if (label.filteredValue.includes(i) || label.filteredValue.includes(item.value)) {\n str.push(item.text ? item.text : item.label ? item.label : '');\n }\n } else {\n if (label.filteredValue == i || label.filteredValue == item.value) {\n str.push(item.text ? item.text : item.label ? item.label : '');\n }\n }\n });\n return `\" ${str.toString()} \"`;\n }\n },\n loadLabelSort(label) {\n if (label?.sorter && label.sortOrder) {\n if (label.sortOrder === 'ascend') {\n return '升序';\n } else if (label.sortOrder === 'descend') {\n return '降序';\n }\n }\n },\n add(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n reduce(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n reduceRangePre(fields) {\n console.log('reduceRangePre');\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n addRangePre(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n reduceRangeAfter(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n addRangeAfter(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n isShow(name) {\n let is = false;\n if (this.form?.sideSearch && this.form?.sideSearch.length > 0) {\n this.form?.sideSearch.forEach(item => {\n if (item.name == name) {\n is = true;\n }\n });\n }\n return is;\n },\n handleShowGeneralFilter() {\n this.$emit('showGeneralFilter', { is_show: true });\n },\n },\n created() {\n if (this.form.watch) {\n for (const k in this.form.watch) {\n watch(\n () => this.model[k],\n () => {\n this.form.watch[k](this.model, this.form);\n },\n );\n }\n }\n },\n};\n</script>\n<style scoped lang=\"less\">\n:deep(.ant-select-selection-placeholder) {\n overflow: hidden;\n width: 100%;\n}\n</style>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SearchRender-kAqagzYv.js","names":[],"sources":["../src/components/FormRender/SearchRender.vue","../src/components/FormRender/SearchRender.vue"],"sourcesContent":["<template>\n <template v-if=\"!isShowGeneralFilter\">\n <div v-show=\"!formShow.open\">\n <a-space>\n <a-button\n type=\"link\"\n @click=\"handleShowGeneralFilter\"\n v-if=\"is_show_advantage\"\n >\n {{ $t('高级') }}\n </a-button>\n <a-button\n type=\"link\"\n @click=\"\n () => {\n formShow.open = true;\n $emit('resize');\n }\n \"\n >\n {{ $t('展开') }}\n </a-button>\n </a-space>\n <span v-for=\"field in form.fields\">\n <span v-if=\"field.type == 'rangepicker'\">\n <a-tag\n v-show=\"model[field.name] != null && model[field.name] != ''\"\n color=\"green\"\n >\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"reduceRangePre(field)\"\n >\n <template #icon><left-outlined /></template>\n </a-button>\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"addRangePre(field)\"\n >\n <template #icon><right-outlined /></template>\n </a-button>\n {{ field.label }}:{{ showLabel(field, field.name) }}\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"reduceRangeAfter(field)\"\n >\n <template #icon><left-outlined /></template>\n </a-button>\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"addRangeAfter(field)\"\n >\n <template #icon><right-outlined /></template>\n </a-button>\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ name: field.name, key: 'model' })\"\n />\n </a-tag>\n </span>\n <span v-else-if=\"field.type == 'datepicker'\">\n <a-tag\n v-show=\"model[field.name] != null && model[field.name] != ''\"\n color=\"green\"\n >\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"reduce(field)\"\n >\n <template #icon><left-outlined /></template>\n </a-button>\n {{ field.label }}:{{ showLabel(field, field.name) }}\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"add(field)\"\n >\n <template #icon><right-outlined /></template>\n </a-button>\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ name: field.name, key: 'model' })\"\n />\n </a-tag>\n </span>\n <span v-else>\n <a-tag\n v-show=\"model[field.name] != null && model[field.name] != '' && isShowFilter(field)\"\n color=\"green\"\n >\n {{ field.label }}:{{ showLabel(field, field.name) }}\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ name: field.name, key: 'model' })\"\n />\n </a-tag>\n </span>\n </span>\n <template v-if=\"searchLabelList.length > 0\">\n <template\n v-for=\"(label, index) in searchLabelList\"\n :key=\"index\"\n >\n <a-tag\n v-show=\"\n label.filters\n ? label.filteredValue && JSON.stringify(label.filteredValue) !== '[]'\n : false\n \"\n color=\"green\"\n >\n {{ label.label }} 包含:{{ loadLabelOptions(label) }}\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ label, key: 'filters' })\"\n />\n </a-tag>\n </template>\n <template\n v-for=\"(label, index) in searchLabelList\"\n :key=\"index\"\n >\n <a-tag\n v-show=\"label.sorter && label.sortOrder\"\n color=\"blue\"\n >\n {{ label.label }}: {{ loadLabelSort(label) }}\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ label, key: 'sorter' })\"\n />\n </a-tag>\n </template>\n </template>\n </div>\n <a-form\n v-if=\"delayShow || formShow.open\"\n v-show=\"formShow.open\"\n ref=\"form\"\n autocomplete=\"off\"\n :model=\"model\"\n :rules=\"form.rules\"\n :layout=\"form.settings.layout\"\n :label-col=\"form.settings.labelCol\"\n :wrapper-col=\"form.settings.wrapperCol\"\n :labelAlign=\"form.settings.labelAlign\"\n scrollToFirstError\n >\n <a-form-item v-if=\"showSearch\">\n <a-space>\n <a-button\n type=\"link\"\n @click=\"handleShowGeneralFilter\"\n v-if=\"is_show_advantage\"\n >\n {{ $t('高级') }}\n </a-button>\n <a-button\n type=\"link\"\n @click=\"\n () => {\n formShow.open = false;\n $emit('resize');\n }\n \"\n >\n {{ $t('隐藏') }}\n </a-button>\n </a-space>\n </a-form-item>\n <template\n v-for=\"field in form.fields\"\n :key=\"field.name\"\n >\n <field-render-2\n v-if=\"field.type == 'rangepicker'\"\n v-model:label=\"labelModel[field.name]\"\n v-model:value=\"model[field.name]\"\n :field=\"{ ...field, format: field.dateFormat }\"\n :formModel=\"model\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n :validateInfos=\"validateInfos\"\n />\n <field-render-2\n v-else\n v-model:label=\"labelModel[field.name]\"\n v-model:value=\"model[field.name]\"\n :field=\"field\"\n :formModel=\"model\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <a-form-item v-if=\"showSearch\">\n <a-button\n size=\"small\"\n type=\"primary\"\n @click=\"search\"\n >\n {{ $t('查询') }}\n </a-button>\n </a-form-item>\n <a-form-item v-if=\"showReset\">\n <a-button\n size=\"small\"\n @click=\"resetFields\"\n >\n {{ $t('重置') }}\n </a-button>\n </a-form-item>\n <a-form-item v-if=\"showReport\">\n <a-button\n size=\"small\"\n type=\"info\"\n @click=\"editModal.open = true\"\n >\n {{ $t('订阅') }}\n </a-button>\n </a-form-item>\n </a-form>\n <a-modal\n v-if=\"editModal.open\"\n :open=\"editModal.open\"\n @cancel=\"\n () => {\n editModal.open = false;\n }\n \"\n />\n </template>\n <template v-if=\"isShowGeneralFilter\">\n <slot name=\"generalFilter\"></slot>\n </template>\n</template>\n<script language=\"ts\">\nimport { watch } from 'vue';\nimport { CloseOutlined, LeftOutlined, RightOutlined } from '@ant-design/icons-vue';\nimport moment from 'moment';\nimport FieldRender2 from 'liyu-pc-base/components/FormRender/FieldRender2.vue';\nimport { cloneDeep } from 'lodash';\n\nexport default {\n name: 'SearchRender',\n components: { FieldRender2, LeftOutlined, RightOutlined, CloseOutlined },\n emits: ['search', 'resize', 'delSearch', 'showGeneralFilter'],\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 resetFields: {\n type: Function,\n default: () => {},\n },\n showReport: {\n type: Boolean,\n default: () => false,\n },\n showSearch: {\n type: Boolean,\n default: () => true,\n },\n showReset: {\n type: Boolean,\n default: () => true,\n },\n defaultShowEdit: {\n type: Boolean,\n default: () => false,\n },\n search_visible: {\n type: Boolean,\n default: () => false,\n },\n searchLabelList: {\n type: Array,\n default: () => [],\n },\n isShowGeneralFilter: {\n type: Boolean,\n default: () => false,\n },\n is_show_advantage: {\n type: Boolean,\n default: () => false,\n },\n delayShow: {\n type: Boolean,\n default: () => true,\n },\n },\n data() {\n return {\n editModal: {\n open: false,\n },\n formShow: {\n open: this.defaultShowEdit,\n },\n labelModel: {},\n };\n },\n methods: {\n delSearch(obj) {\n this.$emit('delSearch', obj);\n },\n search() {\n this.$refs.form.validate().then(\n () => {\n this.$emit('search');\n this.formShow.open = this.search_visible;\n },\n () => {\n // this.$emit('search');\n },\n );\n },\n validate() {\n return this.$refs.form.validate();\n },\n reset() {\n this.$refs.form.resetFields();\n },\n disable(name) {\n this.form.fields[name].disabled = true;\n },\n disableAll() {\n this.form.fields.forEach(item => {\n item.disabled = true;\n });\n },\n isShowFilter(field) {\n let is = true;\n this.searchLabelList.forEach(item => {\n if (field.name == item.key && item.is_filter_model) {\n is = false;\n }\n });\n return is;\n },\n showLabel(field, name) {\n const options = this.options[field.datasource ? field.datasource : field.name];\n if (this.labelModel[name] != undefined) {\n return this.labelModel[name];\n } else if (options) {\n if (\n typeof this.model[name] == 'object' &&\n this.model[name] != undefined &&\n this.model[name].length >= 0\n ) {\n const selectItems = options\n .filter(item => this.model[name].includes(item.value))\n .map(item => item.name);\n if (selectItems.length > 0) {\n return selectItems;\n }\n\n return '';\n } else {\n const selectItem = options.find(item => item.value == this.model[name]);\n if (selectItem) {\n return selectItem.name;\n }\n return '';\n }\n } else if (field.type === 'rangepicker' && this.model[name] instanceof Array) {\n const [first, second] = this.model[name];\n let first_srt, second_srt;\n if (field?.picker === 'month') {\n first_srt = moment(first).format('YYYY-MM');\n second_srt = moment(second).format('YYYY-MM');\n } else if (field?.picker === 'year') {\n first_srt = moment(first).format('YYYY');\n second_srt = moment(second).format('YYYY');\n } else if (field?.picker === 'time') {\n first_srt = moment(first, field.valueFormat).format(field.valueFormat);\n second_srt = moment(second, field.valueFormat).format(field.valueFormat);\n } else if (!field?.picker || field?.picker === 'date') {\n if (field.show_time) {\n first_srt = moment(first).format('YYYY-MM-DD HH:mm:ss');\n second_srt = moment(second).format('YYYY-MM-DD HH:mm:ss');\n } else {\n first_srt = moment(first).format('YYYY-MM-DD');\n second_srt = moment(second).format('YYYY-MM-DD');\n }\n } else if (field.valueFormat) {\n first_srt = moment(first).format(field.valueFormat);\n second_srt = moment(second).format(field.valueFormat);\n }\n return `${first_srt},${second_srt}`;\n } else {\n return this.model[name];\n }\n },\n loadLabelOptions(label) {\n if (label?.filters && label.filteredValue) {\n const str = [];\n label.filters.forEach(item => {\n let i = cloneDeep(item.value);\n if (i === 'true') {\n i = true;\n } else if (i === 'false') {\n i = false;\n }\n if (Array.isArray(label.filteredValue)) {\n if (label.filteredValue.includes(i) || label.filteredValue.includes(item.value)) {\n str.push(item.text ? item.text : item.label ? item.label : '');\n }\n } else {\n if (label.filteredValue == i || label.filteredValue == item.value) {\n str.push(item.text ? item.text : item.label ? item.label : '');\n }\n }\n });\n return `\" ${str.toString()} \"`;\n }\n },\n loadLabelSort(label) {\n if (label?.sorter && label.sortOrder) {\n if (label.sortOrder === 'ascend') {\n return '升序';\n } else if (label.sortOrder === 'descend') {\n return '降序';\n }\n }\n },\n add(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n reduce(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n reduceRangePre(fields) {\n console.log('reduceRangePre');\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n addRangePre(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n reduceRangeAfter(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n addRangeAfter(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n isShow(name) {\n let is = false;\n if (this.form?.sideSearch && this.form?.sideSearch.length > 0) {\n this.form?.sideSearch.forEach(item => {\n if (item.name == name) {\n is = true;\n }\n });\n }\n return is;\n },\n handleShowGeneralFilter() {\n this.$emit('showGeneralFilter', { is_show: true });\n },\n },\n created() {\n if (this.form.watch) {\n for (const k in this.form.watch) {\n watch(\n () => this.model[k],\n () => {\n this.form.watch[k](this.model, this.form);\n },\n );\n }\n }\n },\n};\n</script>\n<style scoped lang=\"less\">\n:deep(.ant-select-selection-placeholder) {\n overflow: hidden;\n width: 100%;\n}\n</style>\n","<template>\n <template v-if=\"!isShowGeneralFilter\">\n <div v-show=\"!formShow.open\">\n <a-space>\n <a-button\n type=\"link\"\n @click=\"handleShowGeneralFilter\"\n v-if=\"is_show_advantage\"\n >\n {{ $t('高级') }}\n </a-button>\n <a-button\n type=\"link\"\n @click=\"\n () => {\n formShow.open = true;\n $emit('resize');\n }\n \"\n >\n {{ $t('展开') }}\n </a-button>\n </a-space>\n <span v-for=\"field in form.fields\">\n <span v-if=\"field.type == 'rangepicker'\">\n <a-tag\n v-show=\"model[field.name] != null && model[field.name] != ''\"\n color=\"green\"\n >\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"reduceRangePre(field)\"\n >\n <template #icon><left-outlined /></template>\n </a-button>\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"addRangePre(field)\"\n >\n <template #icon><right-outlined /></template>\n </a-button>\n {{ field.label }}:{{ showLabel(field, field.name) }}\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"reduceRangeAfter(field)\"\n >\n <template #icon><left-outlined /></template>\n </a-button>\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"addRangeAfter(field)\"\n >\n <template #icon><right-outlined /></template>\n </a-button>\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ name: field.name, key: 'model' })\"\n />\n </a-tag>\n </span>\n <span v-else-if=\"field.type == 'datepicker'\">\n <a-tag\n v-show=\"model[field.name] != null && model[field.name] != ''\"\n color=\"green\"\n >\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"reduce(field)\"\n >\n <template #icon><left-outlined /></template>\n </a-button>\n {{ field.label }}:{{ showLabel(field, field.name) }}\n <a-button\n size=\"small\"\n type=\"text\"\n @click=\"add(field)\"\n >\n <template #icon><right-outlined /></template>\n </a-button>\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ name: field.name, key: 'model' })\"\n />\n </a-tag>\n </span>\n <span v-else>\n <a-tag\n v-show=\"model[field.name] != null && model[field.name] != '' && isShowFilter(field)\"\n color=\"green\"\n >\n {{ field.label }}:{{ showLabel(field, field.name) }}\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ name: field.name, key: 'model' })\"\n />\n </a-tag>\n </span>\n </span>\n <template v-if=\"searchLabelList.length > 0\">\n <template\n v-for=\"(label, index) in searchLabelList\"\n :key=\"index\"\n >\n <a-tag\n v-show=\"\n label.filters\n ? label.filteredValue && JSON.stringify(label.filteredValue) !== '[]'\n : false\n \"\n color=\"green\"\n >\n {{ label.label }} 包含:{{ loadLabelOptions(label) }}\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ label, key: 'filters' })\"\n />\n </a-tag>\n </template>\n <template\n v-for=\"(label, index) in searchLabelList\"\n :key=\"index\"\n >\n <a-tag\n v-show=\"label.sorter && label.sortOrder\"\n color=\"blue\"\n >\n {{ label.label }}: {{ loadLabelSort(label) }}\n <close-outlined\n style=\"cursor: pointer; margin-left: 5px\"\n @click=\"delSearch({ label, key: 'sorter' })\"\n />\n </a-tag>\n </template>\n </template>\n </div>\n <a-form\n v-if=\"delayShow || formShow.open\"\n v-show=\"formShow.open\"\n ref=\"form\"\n autocomplete=\"off\"\n :model=\"model\"\n :rules=\"form.rules\"\n :layout=\"form.settings.layout\"\n :label-col=\"form.settings.labelCol\"\n :wrapper-col=\"form.settings.wrapperCol\"\n :labelAlign=\"form.settings.labelAlign\"\n scrollToFirstError\n >\n <a-form-item v-if=\"showSearch\">\n <a-space>\n <a-button\n type=\"link\"\n @click=\"handleShowGeneralFilter\"\n v-if=\"is_show_advantage\"\n >\n {{ $t('高级') }}\n </a-button>\n <a-button\n type=\"link\"\n @click=\"\n () => {\n formShow.open = false;\n $emit('resize');\n }\n \"\n >\n {{ $t('隐藏') }}\n </a-button>\n </a-space>\n </a-form-item>\n <template\n v-for=\"field in form.fields\"\n :key=\"field.name\"\n >\n <field-render-2\n v-if=\"field.type == 'rangepicker'\"\n v-model:label=\"labelModel[field.name]\"\n v-model:value=\"model[field.name]\"\n :field=\"{ ...field, format: field.dateFormat }\"\n :formModel=\"model\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n :validateInfos=\"validateInfos\"\n />\n <field-render-2\n v-else\n v-model:label=\"labelModel[field.name]\"\n v-model:value=\"model[field.name]\"\n :field=\"field\"\n :formModel=\"model\"\n :options=\"options[field.datasource ? field.datasource : field.name]\"\n :validateInfos=\"validateInfos\"\n />\n </template>\n <a-form-item v-if=\"showSearch\">\n <a-button\n size=\"small\"\n type=\"primary\"\n @click=\"search\"\n >\n {{ $t('查询') }}\n </a-button>\n </a-form-item>\n <a-form-item v-if=\"showReset\">\n <a-button\n size=\"small\"\n @click=\"resetFields\"\n >\n {{ $t('重置') }}\n </a-button>\n </a-form-item>\n <a-form-item v-if=\"showReport\">\n <a-button\n size=\"small\"\n type=\"info\"\n @click=\"editModal.open = true\"\n >\n {{ $t('订阅') }}\n </a-button>\n </a-form-item>\n </a-form>\n <a-modal\n v-if=\"editModal.open\"\n :open=\"editModal.open\"\n @cancel=\"\n () => {\n editModal.open = false;\n }\n \"\n />\n </template>\n <template v-if=\"isShowGeneralFilter\">\n <slot name=\"generalFilter\"></slot>\n </template>\n</template>\n<script language=\"ts\">\nimport { watch } from 'vue';\nimport { CloseOutlined, LeftOutlined, RightOutlined } from '@ant-design/icons-vue';\nimport moment from 'moment';\nimport FieldRender2 from 'liyu-pc-base/components/FormRender/FieldRender2.vue';\nimport { cloneDeep } from 'lodash';\n\nexport default {\n name: 'SearchRender',\n components: { FieldRender2, LeftOutlined, RightOutlined, CloseOutlined },\n emits: ['search', 'resize', 'delSearch', 'showGeneralFilter'],\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 resetFields: {\n type: Function,\n default: () => {},\n },\n showReport: {\n type: Boolean,\n default: () => false,\n },\n showSearch: {\n type: Boolean,\n default: () => true,\n },\n showReset: {\n type: Boolean,\n default: () => true,\n },\n defaultShowEdit: {\n type: Boolean,\n default: () => false,\n },\n search_visible: {\n type: Boolean,\n default: () => false,\n },\n searchLabelList: {\n type: Array,\n default: () => [],\n },\n isShowGeneralFilter: {\n type: Boolean,\n default: () => false,\n },\n is_show_advantage: {\n type: Boolean,\n default: () => false,\n },\n delayShow: {\n type: Boolean,\n default: () => true,\n },\n },\n data() {\n return {\n editModal: {\n open: false,\n },\n formShow: {\n open: this.defaultShowEdit,\n },\n labelModel: {},\n };\n },\n methods: {\n delSearch(obj) {\n this.$emit('delSearch', obj);\n },\n search() {\n this.$refs.form.validate().then(\n () => {\n this.$emit('search');\n this.formShow.open = this.search_visible;\n },\n () => {\n // this.$emit('search');\n },\n );\n },\n validate() {\n return this.$refs.form.validate();\n },\n reset() {\n this.$refs.form.resetFields();\n },\n disable(name) {\n this.form.fields[name].disabled = true;\n },\n disableAll() {\n this.form.fields.forEach(item => {\n item.disabled = true;\n });\n },\n isShowFilter(field) {\n let is = true;\n this.searchLabelList.forEach(item => {\n if (field.name == item.key && item.is_filter_model) {\n is = false;\n }\n });\n return is;\n },\n showLabel(field, name) {\n const options = this.options[field.datasource ? field.datasource : field.name];\n if (this.labelModel[name] != undefined) {\n return this.labelModel[name];\n } else if (options) {\n if (\n typeof this.model[name] == 'object' &&\n this.model[name] != undefined &&\n this.model[name].length >= 0\n ) {\n const selectItems = options\n .filter(item => this.model[name].includes(item.value))\n .map(item => item.name);\n if (selectItems.length > 0) {\n return selectItems;\n }\n\n return '';\n } else {\n const selectItem = options.find(item => item.value == this.model[name]);\n if (selectItem) {\n return selectItem.name;\n }\n return '';\n }\n } else if (field.type === 'rangepicker' && this.model[name] instanceof Array) {\n const [first, second] = this.model[name];\n let first_srt, second_srt;\n if (field?.picker === 'month') {\n first_srt = moment(first).format('YYYY-MM');\n second_srt = moment(second).format('YYYY-MM');\n } else if (field?.picker === 'year') {\n first_srt = moment(first).format('YYYY');\n second_srt = moment(second).format('YYYY');\n } else if (field?.picker === 'time') {\n first_srt = moment(first, field.valueFormat).format(field.valueFormat);\n second_srt = moment(second, field.valueFormat).format(field.valueFormat);\n } else if (!field?.picker || field?.picker === 'date') {\n if (field.show_time) {\n first_srt = moment(first).format('YYYY-MM-DD HH:mm:ss');\n second_srt = moment(second).format('YYYY-MM-DD HH:mm:ss');\n } else {\n first_srt = moment(first).format('YYYY-MM-DD');\n second_srt = moment(second).format('YYYY-MM-DD');\n }\n } else if (field.valueFormat) {\n first_srt = moment(first).format(field.valueFormat);\n second_srt = moment(second).format(field.valueFormat);\n }\n return `${first_srt},${second_srt}`;\n } else {\n return this.model[name];\n }\n },\n loadLabelOptions(label) {\n if (label?.filters && label.filteredValue) {\n const str = [];\n label.filters.forEach(item => {\n let i = cloneDeep(item.value);\n if (i === 'true') {\n i = true;\n } else if (i === 'false') {\n i = false;\n }\n if (Array.isArray(label.filteredValue)) {\n if (label.filteredValue.includes(i) || label.filteredValue.includes(item.value)) {\n str.push(item.text ? item.text : item.label ? item.label : '');\n }\n } else {\n if (label.filteredValue == i || label.filteredValue == item.value) {\n str.push(item.text ? item.text : item.label ? item.label : '');\n }\n }\n });\n return `\" ${str.toString()} \"`;\n }\n },\n loadLabelSort(label) {\n if (label?.sorter && label.sortOrder) {\n if (label.sortOrder === 'ascend') {\n return '升序';\n } else if (label.sortOrder === 'descend') {\n return '降序';\n }\n }\n },\n add(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name] = moment(this.model[fields.name])\n .add('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n reduce(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name] = moment(this.model[fields.name])\n .subtract('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n reduceRangePre(fields) {\n console.log('reduceRangePre');\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .subtract('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n addRangePre(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][0] = moment(this.model[fields.name][0])\n .add('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n reduceRangeAfter(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .subtract('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n addRangeAfter(fields) {\n if (this.model[fields.name]) {\n if (!fields.picker || fields.picker === 'date') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'days')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM-DD');\n this.search();\n } else if (fields.picker === 'month') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'months')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY-MM');\n this.search();\n } else if (fields.picker === 'week') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'weeks')\n .format(fields.valueFormat ? fields.valueFormat : 'GGGG-WW[周]');\n this.search();\n } else if (fields.picker === 'quarter') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'quarters')\n .format(fields.valueFormat ? fields.valueFormat : '');\n this.search();\n } else if (fields.picker === 'year') {\n this.model[fields.name][1] = moment(this.model[fields.name][1])\n .add('1', 'years')\n .format(fields.valueFormat ? fields.valueFormat : 'YYYY');\n this.search();\n }\n }\n },\n isShow(name) {\n let is = false;\n if (this.form?.sideSearch && this.form?.sideSearch.length > 0) {\n this.form?.sideSearch.forEach(item => {\n if (item.name == name) {\n is = true;\n }\n });\n }\n return is;\n },\n handleShowGeneralFilter() {\n this.$emit('showGeneralFilter', { is_show: true });\n },\n },\n created() {\n if (this.form.watch) {\n for (const k in this.form.watch) {\n watch(\n () => this.model[k],\n () => {\n this.form.watch[k](this.model, this.form);\n },\n );\n }\n }\n },\n};\n</script>\n<style scoped lang=\"less\">\n:deep(.ant-select-selection-placeholder) {\n overflow: hidden;\n width: 100%;\n}\n</style>\n"],"mappings":"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"}
|
package/dist/components/index.js
CHANGED
|
@@ -12,9 +12,9 @@ import { t as v } from "../JsonObj-Bq62nHPb.js";
|
|
|
12
12
|
import { t as y } from "../modal-tools-9zfwQHxQ.js";
|
|
13
13
|
import { t as b } from "../FieldRender-i8-tc3o1.js";
|
|
14
14
|
import { c as x, d as S, f as ee, i as C } from "../TinymceEditor-7iXcNpky.js";
|
|
15
|
-
import { t as w } from "../FieldRender2-
|
|
16
|
-
import { t as T } from "../SearchRender-
|
|
17
|
-
import { t as E } from "../FormRender3-
|
|
15
|
+
import { t as w } from "../FieldRender2-DYV82S0i.js";
|
|
16
|
+
import { t as T } from "../SearchRender-kAqagzYv.js";
|
|
17
|
+
import { t as E } from "../FormRender3-dMiPooGH.js";
|
|
18
18
|
import { a as te, c as ne, i as re, l as D, n as ie, o as ae, r as oe, s as O, t as k } from "../tablePro-Bw3_40RA.js";
|
|
19
19
|
import { gridPageStateSymbol as A } from "./gridPage/utils.js";
|
|
20
20
|
import { Fragment as j, computed as M, createBlock as N, createCommentVNode as P, createElementBlock as F, createElementVNode as I, createTextVNode as L, createVNode as R, defineComponent as z, getCurrentInstance as se, inject as ce, markRaw as le, mergeProps as ue, nextTick as B, normalizeClass as de, normalizeStyle as V, onActivated as fe, onBeforeMount as pe, onBeforeUnmount as me, onMounted as he, onUnmounted as ge, openBlock as H, provide as U, reactive as W, ref as G, renderList as K, renderSlot as _e, resolveComponent as q, resolveDynamicComponent as ve, shallowRef as ye, toDisplayString as J, unref as be, vShow as xe, watch as Y, withCtx as X, withDirectives as Se, withModifiers as Z } from "vue";
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { I as e, M as t, P as n, a as r, b as i, c as a, d as o, g as s, i as c,
|
|
|
3
3
|
import { defineAsyncComponent as y } from "vue";
|
|
4
4
|
//#region src/index.ts
|
|
5
5
|
var b = { install(b, x) {
|
|
6
|
-
x?.env && b.use(r(x.env)), x?.globMap && b.use(u(x.globMap)), x?.bus && b.use(g(x.bus)), x?.useAppStore && b.use(i(x.useAppStore)), x?.useUserStore && b.use(n(x.useUserStore)), x?.request && b.use(d(x.request)), x?.useRequiredConditionStore && b.use(t(x.useRequiredConditionStore)), x?.required_condition_event_obj && b.use(s(x.required_condition_event_obj)), x?.event_obj && b.use(h(x.event_obj)), x?.ls && b.use(_(x.ls)), x?.sourceStore && b.use(v(x.sourceStore)), x?.usePageConfigStore && b.use(l(x.usePageConfigStore)), x?.remoteSelectStore && b.use(p(x.remoteSelectStore)), x?.cellComponentMap && b.use(f(x.cellComponentMap)), x?.cellFormatExcelValueMap && b.use(m(x.cellFormatExcelValueMap)), x?.menuComponents && b.use(o(x.menuComponents)), x?.debugCodeComponent && b.use(c(x.debugCodeComponent)), x?.extraMenuIcons && b.use(a(x.extraMenuIcons)), x?.workerHostFunctions && b.use(e(x.workerHostFunctions)), b.component("FieldRender", y(() => import("./FieldRender-CIyxcSkq.js"))).component("AttributeTable", y(() => import("./AttributeTable-Dztznjrx.js").then((e) => e.n))).component("AttributeNomTable", y(() => import("./AttributeNomTable-BV3zeA9I.js").then((e) => e.n))).component("SearchRender", y(() => import("./SearchRender-
|
|
6
|
+
x?.env && b.use(r(x.env)), x?.globMap && b.use(u(x.globMap)), x?.bus && b.use(g(x.bus)), x?.useAppStore && b.use(i(x.useAppStore)), x?.useUserStore && b.use(n(x.useUserStore)), x?.request && b.use(d(x.request)), x?.useRequiredConditionStore && b.use(t(x.useRequiredConditionStore)), x?.required_condition_event_obj && b.use(s(x.required_condition_event_obj)), x?.event_obj && b.use(h(x.event_obj)), x?.ls && b.use(_(x.ls)), x?.sourceStore && b.use(v(x.sourceStore)), x?.usePageConfigStore && b.use(l(x.usePageConfigStore)), x?.remoteSelectStore && b.use(p(x.remoteSelectStore)), x?.cellComponentMap && b.use(f(x.cellComponentMap)), x?.cellFormatExcelValueMap && b.use(m(x.cellFormatExcelValueMap)), x?.menuComponents && b.use(o(x.menuComponents)), x?.debugCodeComponent && b.use(c(x.debugCodeComponent)), x?.extraMenuIcons && b.use(a(x.extraMenuIcons)), x?.workerHostFunctions && b.use(e(x.workerHostFunctions)), b.component("FieldRender", y(() => import("./FieldRender-CIyxcSkq.js"))).component("AttributeTable", y(() => import("./AttributeTable-Dztznjrx.js").then((e) => e.n))).component("AttributeNomTable", y(() => import("./AttributeNomTable-BV3zeA9I.js").then((e) => e.n))).component("SearchRender", y(() => import("./SearchRender-D6C4fCLy.js"))).component("RemoteSelect", y(() => import("./RemoteSelect-DvptpIwS.js").then((e) => e.n))).component("RemoteCascader", y(() => import("./RemoteCascader-DyHXstUo.js").then((e) => e.n))).component("RemoteFilterSelect", y(() => import("./RemoteFilterSelect-CapzhUOg.js").then((e) => e.n))).component("RemoteModal", y(() => import("./RemoteModal-BYhpbVT4.js"))).component("JsonStr", y(() => import("./JsonStr-DE1QSIsP.js").then((e) => e.n))).component("JsonObj", y(() => import("./JsonObj-Bq62nHPb.js").then((e) => e.n))).component("RemoteText", y(() => import("./RemoteText-BCKZJK52.js").then((e) => e.n))).component("RemoteTable2", y(() => import("./RemoteTable2-DEUCRHzb.js").then((e) => e.n))).component("FormRender3", y(() => import("./FormRender3-P1-PJHkZ.js")));
|
|
7
7
|
} };
|
|
8
8
|
//#endregion
|
|
9
9
|
export { b as default };
|