liyu-pc-base 1.0.669 → 1.0.671

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.
@@ -2,7 +2,7 @@ import { n as e } from "./rolldown-runtime-CWhphoD1.js";
2
2
  import { t } from "./_plugin-vue_export-helper-B3ysoDQm.js";
3
3
  import { s as n } from "./function-B9sjc24Z.js";
4
4
  import { d as r } from "./TinymceEditor-XzwbkIr5.js";
5
- import { t as i } from "./FieldRender2-B4jasiDr.js";
5
+ import { t as i } from "./FieldRender2-DjygGLG6.js";
6
6
  import { Fragment as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createSlots as l, createTextVNode as u, createVNode as d, defineComponent as f, openBlock as p, reactive as m, ref as h, renderList as g, resolveComponent as _, toDisplayString as v, watch as y, withCtx as b } from "vue";
7
7
  import { message as x } from "ant-design-vue";
8
8
  //#region src/components/FormRender/FieldCol.vue?vue&type=script&lang.ts
@@ -1 +1 @@
1
- {"version":3,"file":"FormRender3-D6-VXQi8.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":";;;;;;;;AAiCA,IAAA,IAAe,EAAgB;CAC7B,MAAM;CACN,YAAY,EACV,cAAA,EACF;CACA,OAAO;EACL,OAAO;GACL,MAAM;GACN,UAAU;EACZ;EACA,UAAU;GACR,MAAM;GACN,eAAe,CAAC;EAClB;EACA,SAAS;GACP,MAAM;GACN,UAAU;GACV,eAAe,CAAC;EAClB;EACA,eAAe;GACb,MAAM;GACN,eAAe,CAAC;EAClB;EACA,iBAAiB;GACf,MAAM;GACN,SAAS;EACX;EACA,YAAY;GACV,MAAM;GACN,eAAe,CAAC;EAClB;EACA,SAAS;GACP,MAAM;GACN,SAAS;EACX;EACA,YAAY,EACV,SAAS,KACX;EACA,kBAAkB,EAChB,SAAS,KACX;EACA,cAAc;GACZ,MAAM;GACN,SAAS;EACX;EACA,aAAa;GACX,MAAM;GACN,eAAe,CAAC;EAClB;EACA,qBAAqB;GACnB,MAAM;GACN,eAAe,CAAC;EAClB;CACF;CACA,OAAO,CAAC,gBAAgB,cAAc;CACtC,MAAM,GAAO,EAAE,WAAQ;EAQrB,OAAO;GAAE,eAPa,EAAI,EAOjB;GAAe,gBANF,MAAU;IAC9B,EAAK,gBAAgB,CAAM;GAC7B;GAIuC,gBAHjB,MAAU;IAC9B,EAAK,gBAAgB,CAAM;GAC7B;EACqD;CACvD;AACF,CAAC;;;;;aCjGC,EA0BQ,GAAA;EAzBL,MAAM,EAAA,gBAAiB,EAAA,WAAW,SAAS,KAAA,IAA2B,KAAf,EAAA,WAAW,OAAI;EACtE,QAAQ,EAAA,WAAW;EACnB,MAAM,EAAA,WAAW;EACjB,MAAM,EAAA,WAAW;;EALtB,SAAA,QA0BM,EAAA,EAAA,GAnBF,EAmBE,GAAA;GAlBQ,OAAO,EAAA,MAAM,EAAA,WAAW;GARtC,kBAAA,AAAA,EAAA,QAAA,MAAA,EAQqB,MAAM,EAAA,WAAW,QAAI;GAC5B,OAAO,EAAA,MAAM,EAAA,WAAW,OAAI;GAT1C,kBAAA,AAAA,EAAA,QAAA,MAAA,EASqB,MAAM,EAAA,WAAW,OAAI,YAAA;GAC5B,eAAe,EAAA;GAV7B,0BAAA,AAAA,EAAA,QAAA,MAAA,EAU6B,gBAAa;GACnC,OAAO,EAAA;GACP,WAAW,EAAA;GACX,UAAU,EAAA;GACV,KAAK,EAAA,WAAW;GAChB,eAAe,EAAA;GACf,SAAS,EAAA,QAAQ,EAAA,WAAW,aAAa,EAAA,WAAW,aAAa,EAAA,WAAW;GAC5E,iBAAiB,EAAA;GACjB,SAAS,EAAA;GACT,eAAa,EAAA;GACb,sBAAoB,EAAA;GACpB,cAAc,EAAA;GACd,iBAAe,EAAA;GACf,yBAAuB,EAAA;GACvB,gBAAc,EAAA;GACd,gBAAc,EAAA;;;;;;;;;;;;;;;;;;;;EAzBrB,GAAA;;;;;;;;;;ACiFA,IAAA,IAAe,EAAgB;CAC7B,MAAM;CACN,YAAY;EACV,UAAA,sEAAA;EACA,WAAA;CACF;CACA,OAAO;EACL,OAAO;GACL,MAAM;GACN,UAAU;EACZ;EACA,UAAU;GACR,MAAM;GACN,eAAe,CAAC;EAClB;EACA,MAAM;GACJ,MAAM;GACN,UAAU;EACZ;EACA,SAAS;GACP,MAAM;GACN,UAAU;GACV,eAAe,CAAC;EAClB;EACA,eAAe;GACb,MAAM;GACN,eAAe,CAAC;EAClB;EACA,iBAAiB;GACf,MAAM;GACN,SAAS;EACX;EACA,SAAS;GACP,MAAM;GACN,SAAS;EACX;EACA,YAAY;GACV,MAAM;GACN,SAAS;EACX;EACA,kBAAkB,EAChB,SAAS,KACX;EACA,cAAc;GACZ,MAAM;GACN,SAAS;EACX;EACA,aAAa;GACX,MAAM;GACN,eAAe,CAAC;EAClB;EACA,qBAAqB;GACnB,MAAM;GACN,eAAe,CAAC;EAClB;CACF;CACA,OAAO,CAAC,cAAc;CACtB,MAAM,GAAO,EAAE,WAAQ;EAErB,IAAI,EAAM,KAAK,OACb,KAAK,IAAI,KAAK,EAAM,KAAK,OACvB,QACQ,EAAM,MAAM,UACZ;GACJ,EAAM,KAAK,MAAM,EAAE,CAAC,EAAM,OAAO,EAAM,IAAI;EAC7C,CACF;EAGJ,IAAM,IAAoB,EAAM,oBAAoB,EAAS,CAAC,CAAC;EAkC/D,OAAO;GACL,gBA/BQ,EAAM,KAAa,SAAS;GAgCpC,gBA9BoB,MAAU;IAC9B,EAAK,gBAAgB,CAAM;GAC7B;GA6BE,gBA5BoB,MAAU;IAC9B,EAAK,gBAAgB,CAAM;GAC7B;GA2BE;GACA,aAtCkB,EAAM,cAAc;GAuCtC,6BA5BiC,MAAO;IACxC,IAAI,EAAI,MAAM;KACZ,IAAI;KACJ,IAAI;MACF,IAAM,MAAM,EACV,EAAI,MACJ;OACE,SAAS,EAAM;OACf,WAAW,EAAM;OACjB,SAAS,CAAC,GAAG,EAAM,aAAa,EAAI,UAAU;MAChD,GACA,EAAM,uBAAuB,CAAC,CAChC;KACF,SAAS,GAAG;MACV,EAAQ,MAAM,EAAE,OAAO;MACvB;KACF;KACA,AAAI,KACF,OAAO,OAAO,EAAM,OAAO,CAAG;IAElC;GACF;EAQA;CACF;AACF,CAAC;CCjMD,KAAA;CA0BY,OAAM;;;;aAzBhB,EAsES,GAAA;EArEP,cAAa;EACZ,OAAO,EAAA;EACP,OAAO,EAAA,KAAK;EACZ,QAAQ,EAAA,KAAK,SAAS;EACvB,oBAAA;EACA,OAAM;EACL,iBAAiB;;EARtB,SAAA,QAWmD,EAAA,EAAA,EAAA,GAD/C,EA4DW,GAAA,MAtEf,EAW6B,EAAA,KAAK,mBAApB,GAAK,YAGb,EAuDS,GAAA;GArEf,KAYY;GAGH,cAAY,EAAA,SAAA,cAAA;GACb,OAAA,EAAA,iBAAA,MAAA;KAhBR,EAAA;GAwBmB,OAAK,QAoBR,CAjBE,EAAI,mBAAmB,EAAI,gBAAgB,SAAM,KAAA,EAAA,GAFzD,EAmBM,OAnBN,GAmBM,EAAA,EAAA,EAAA,GAfJ,EAcW,GAAA,MA3CvB,EA6BoC,EAAI,kBAAX,YACf,EAYa,GAAA;IAXV,gBAAgB,EAAI;IACb,MAAM,EAAI;IAhClC,kBAAA,MAAA,EAgCkC,OAAI;;IAhCtC,SAAA,QAyC2B,CAPX,EAOW,GAAA;KANT,MAAK;KACJ,MAAM,EAAI;KACV,QAAQ,EAAI;KACZ,UAAK,MAAE,EAAA,qBAAqB,CAAG;;KAtClD,SAAA,QAwCiC,CAxCjC,EAAA,EAwCqB,EAAI,KAAK,GAAA,CAAA,CAAA,CAAA;KAxC9B,GAAA;;;;;;IAAA,GAAA;;;;;oBAAA,EAAA,IAAA,EAAA,CAAA,CAAA;GAAA,SAAA,QAoEgB,CAtBR,EAsBQ,GAAA;IArBL,QAAQ;IACT,MAAK;;IAhDf,SAAA,QAmDoD,EAAA,EAAA,EAAA,GAD1C,EAiBa,GAAA,MAnEvB,EAmDsC,GAAK,WAAvB,GAAY,YADtB,EAiBa,GAAA;KAfV,KAAK;KACL,OAAO,EAAA;KACP,aAAW,EAAA;KACX,SAAS,EAAA;KACT,kBAAgB,EAAA;KAChB,qBAAmB,EAAA;KACP;KACZ,SAAS,EAAA;KACT,eAAa,EAAA;KACb,sBAAoB,EAAA;KACpB,cAAc,EAAA;KACd,iBAAe,EAAA;KACf,yBAAuB,EAAA;KACvB,gBAAc,EAAA;KACd,gBAAc,EAAA;;;;;;;;;;;;;;;;;IAlE3B,GAAA;;GAAA,GAAA;MAmBgB,EAAI,eAAe,EAAA,KAAK,iBAAiB,SAAM,KAAQ,EAAA,mBAAA;GAnBvE,MAoBW;GApBX,IAAA,QAsB8B,CAtB9B,EAAA,EAsBa,EAAI,UAAU,GAAA,CAAA,CAAA,CAAA;GAtB3B,KAAA;MAAA,KAAA,CAAA,CAAA,GAAA,IAAA;EAAA,GAAA"}
1
+ {"version":3,"file":"FormRender3-DwVipjZA.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,7 +1,7 @@
1
1
  import { n as e } from "./rolldown-runtime-CWhphoD1.js";
2
2
  import { t } from "./_plugin-vue_export-helper-B3ysoDQm.js";
3
3
  import { t as n } from "./lodash-CC0qDxjV.js";
4
- import { t as r } from "./FieldRender2-B4jasiDr.js";
4
+ import { t as r } from "./FieldRender2-DjygGLG6.js";
5
5
  import { Fragment as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createTextVNode as l, createVNode as u, openBlock as d, renderList as f, renderSlot as p, resolveComponent as m, toDisplayString as h, vShow as g, watch as _, withCtx as v, withDirectives as y } from "vue";
6
6
  import b from "moment";
7
7
  import { CloseOutlined as x, LeftOutlined as S, RightOutlined as C } from "@ant-design/icons-vue";
@@ -1 +1 @@
1
- {"version":3,"file":"SearchRender-CpxdrptS.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-BHinmGJV.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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"}
@@ -13,9 +13,9 @@ import { t as E } from "../JsonObj-DIlhMCbj.js";
13
13
  import { t as D } from "../modal-tools-C_oj5djt.js";
14
14
  import { t as O } from "../FieldRender-Bp5YAplm.js";
15
15
  import { c as k, d as A, f as j, i as M } from "../TinymceEditor-XzwbkIr5.js";
16
- import { t as N } from "../FieldRender2-B4jasiDr.js";
17
- import { t as ee } from "../SearchRender-CpxdrptS.js";
18
- import { t as P } from "../FormRender3-D6-VXQi8.js";
16
+ import { t as N } from "../FieldRender2-DjygGLG6.js";
17
+ import { t as ee } from "../SearchRender-BHinmGJV.js";
18
+ import { t as P } from "../FormRender3-DwVipjZA.js";
19
19
  import { _ as F, a as I, b as L, c as R, d as te, f as ne, g as re, h as ie, i as ae, l as oe, m as se, o as ce, p as le, r as ue, s as de, t as fe, u as pe, v as me, y as he } from "../tablePro-B8mGmcxP.js";
20
20
  import { n as z, r as ge } from "../remotePages-Cs9NcIj3.js";
21
21
  import { gridPageStateSymbol as _e } from "./gridPage/utils.js";
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-Bp5YAplm.js").then((e) => e.n))).component("AttributeTable", y(() => import("./AttributeTable-BeZnyj9P.js").then((e) => e.n))).component("AttributeNomTable", y(() => import("./AttributeNomTable-HiLsOuv9.js").then((e) => e.n))).component("SearchRender", y(() => import("./SearchRender-CpxdrptS.js").then((e) => e.n))).component("RemoteSelect", y(() => import("./RemoteSelect-C6LnvD0H.js").then((e) => e.n))).component("RemoteCascader", y(() => import("./RemoteCascader-CgsLYvPo.js").then((e) => e.n))).component("RemoteFilterSelect", y(() => import("./RemoteFilterSelect-D3ARyt9y.js").then((e) => e.n))).component("RemoteModal", y(() => import("./RemoteModal-B5Awxm9V.js").then((e) => e.n))).component("JsonStr", y(() => import("./JsonStr-Bx2WI6jK.js").then((e) => e.n))).component("JsonObj", y(() => import("./JsonObj-DIlhMCbj.js").then((e) => e.n))).component("RemoteText", y(() => import("./RemoteText-DpHIQuad.js").then((e) => e.n))).component("RemoteTable2", y(() => import("./RemoteTable2-BPpx3pNe.js").then((e) => e.n))).component("syncDataSourceConfig", y(() => import("./syncDataSourceConfig-BXAolK4f.js"))).component("syncModelTypeConfig", y(() => import("./syncModelTypeConfig-I8soeVxO.js"))).component("syncExportRawData", y(() => import("./syncExportRawData-B8xySuut.js"))).component("aiGenModel", y(() => import("./aiGenModel-C7SZpnoO.js"))).component("batchCreateUser", y(() => import("./batchCreateUser-CP_0i4pL.js"))).component("FormRender3", y(() => import("./FormRender3-D6-VXQi8.js").then((e) => e.n)));
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-Bp5YAplm.js").then((e) => e.n))).component("AttributeTable", y(() => import("./AttributeTable-BeZnyj9P.js").then((e) => e.n))).component("AttributeNomTable", y(() => import("./AttributeNomTable-HiLsOuv9.js").then((e) => e.n))).component("SearchRender", y(() => import("./SearchRender-BHinmGJV.js").then((e) => e.n))).component("RemoteSelect", y(() => import("./RemoteSelect-C6LnvD0H.js").then((e) => e.n))).component("RemoteCascader", y(() => import("./RemoteCascader-CgsLYvPo.js").then((e) => e.n))).component("RemoteFilterSelect", y(() => import("./RemoteFilterSelect-D3ARyt9y.js").then((e) => e.n))).component("RemoteModal", y(() => import("./RemoteModal-B5Awxm9V.js").then((e) => e.n))).component("JsonStr", y(() => import("./JsonStr-Bx2WI6jK.js").then((e) => e.n))).component("JsonObj", y(() => import("./JsonObj-DIlhMCbj.js").then((e) => e.n))).component("RemoteText", y(() => import("./RemoteText-DpHIQuad.js").then((e) => e.n))).component("RemoteTable2", y(() => import("./RemoteTable2-BPpx3pNe.js").then((e) => e.n))).component("syncDataSourceConfig", y(() => import("./syncDataSourceConfig-BXAolK4f.js"))).component("syncModelTypeConfig", y(() => import("./syncModelTypeConfig-I8soeVxO.js"))).component("syncExportRawData", y(() => import("./syncExportRawData-B8xySuut.js"))).component("aiGenModel", y(() => import("./aiGenModel-C7SZpnoO.js"))).component("batchCreateUser", y(() => import("./batchCreateUser-CP_0i4pL.js"))).component("FormRender3", y(() => import("./FormRender3-DwVipjZA.js").then((e) => e.n)));
7
7
  } };
8
8
  //#endregion
9
9
  export { b as default };