diff --git a/src/api/DesignForm/fieldUnit.ts b/src/api/DesignForm/fieldUnit.ts index 70aedaf..903c2bf 100644 --- a/src/api/DesignForm/fieldUnit.ts +++ b/src/api/DesignForm/fieldUnit.ts @@ -4,3 +4,4 @@ export const orgUnit = ["org"] export const choiceUnit = ["radio"] export const switchUnit = ["switch"] export const checkboxUnit = ["checkbox"] +export const orgDeptUnit = ["deptOrg"] diff --git a/src/components/DesignForm/app/formPage.vue b/src/components/DesignForm/app/formPage.vue index 7c72b31..023db0e 100644 --- a/src/components/DesignForm/app/formPage.vue +++ b/src/components/DesignForm/app/formPage.vue @@ -3,371 +3,401 @@ @ 时间: 2024-06-03 13:43:43 @ 备注: 表格 --> - - diff --git a/src/components/DesignForm/app/index.vue b/src/components/DesignForm/app/index.vue index f75a530..7ae3608 100644 --- a/src/components/DesignForm/app/index.vue +++ b/src/components/DesignForm/app/index.vue @@ -25,6 +25,7 @@ import { switchUnit, orgUnit, checkboxUnit, + orgDeptUnit, } from "@/api/DesignForm/fieldUnit"; import type { FormInstance, FormRules, ElNotification } from "element-plus"; import { gainFormPageListCont } from "@/api/DesignForm/requestapi"; @@ -183,6 +184,9 @@ const unitIsShow = (val: tableButton, unitName: string) => { case "checkbox": return checkboxUnit.includes(unitName); break; + case "deptOrg": + return orgDeptUnit.includes(unitName); + break; default: if (val.fieldClass != "datePicker" && val.fieldClass != "timePicker") { return inputUnit.includes(unitName); @@ -1005,7 +1009,18 @@ const transformOption = (val: string | number, type?: string) => { v-if="unitIsShow(item, 'org')" > + + +
diff --git a/src/components/DesignForm/formControlPropertiNew.vue b/src/components/DesignForm/formControlPropertiNew.vue index 158eff9..f3180a3 100644 --- a/src/components/DesignForm/formControlPropertiNew.vue +++ b/src/components/DesignForm/formControlPropertiNew.vue @@ -499,7 +499,7 @@ const attrList = computed(() => { value: config.append, placeholder: "文本后缀", path: "config.append", - vShow: ["input", "password"], + vShow: ["input", "password", "digitpage"], }, // { // label: '状态打开时的值', @@ -1364,6 +1364,7 @@ const delSelectOption = (index: number, type?: string) => { }; // 多选固定选项增加 const addSelectOption = (type: any) => { + // console.log("多选固定选项增加", controlData.value.type); if (controlData.value.type === "cascader") { // 级联时打开弹窗口 openAttrDialog("cascader", "级联选择器"); @@ -1377,14 +1378,43 @@ const addSelectOption = (type: any) => { }); } else { let maxVal = 1; + + // console.log("多选固定选项增加-------1---->", maxVal, controlData.value.options); + if (controlData.value.options && controlData.value.options.length > 0) { + let optMax = 1; controlData.value.options.forEach((item: any) => { - if (item.value >= maxVal) { - maxVal = item.value; + if (item.value * 1 >= optMax) { + optMax = item.value; } }); - maxVal = maxVal * 1 + 1; + + // console.log("多选固定选项增加-------4---->", maxVal, optMax); + + if (maxVal < optMax) { + maxVal = optMax * 1 + 1; + } else { + maxVal = maxVal * 1 + 1; + } + + // let isTrue = true; + // controlData.value.options.forEach((item: any) => { + // console.log("多选固定选项增加-------4---->", maxVal, item.value); + // if (item.value == maxVal) { + // maxVal = item.value; + // isTrue = false; + // } + // }); + + // if (isTrue) { + // maxVal = maxVal * 1 + 1; + // } } + // console.log( + // "多选固定选项增加-------3---->", + // maxVal, + // controlData.value.options.length + // ); controlData.value.options.push({ label: "", value: maxVal.toString(), diff --git a/src/components/DesignForm/public/expand/treeSelect.vue b/src/components/DesignForm/public/expand/treeSelect.vue new file mode 100644 index 0000000..4671cde --- /dev/null +++ b/src/components/DesignForm/public/expand/treeSelect.vue @@ -0,0 +1,50 @@ + + + + diff --git a/src/components/DesignForm/public/form/form.vue b/src/components/DesignForm/public/form/form.vue index 8d60c45..34da915 100644 --- a/src/components/DesignForm/public/form/form.vue +++ b/src/components/DesignForm/public/form/form.vue @@ -3,336 +3,335 @@ @ 时间: 2023-09-20 08:35:17 @ 备注: 自定义表单通用模块 --> - - diff --git a/src/components/DesignForm/public/form/formItem.vue b/src/components/DesignForm/public/form/formItem.vue index 9193320..190bc53 100644 --- a/src/components/DesignForm/public/form/formItem.vue +++ b/src/components/DesignForm/public/form/formItem.vue @@ -34,6 +34,7 @@ import OrgCitys from "@/components/DesignForm/public/expand/orgCitys.vue"; import DatePickerPage from "@/components/DesignForm/public/expand/datePicker.vue"; import CascaderPage from "@/components/DesignForm/public/expand/cascader.vue"; import AssociatedForms from "@/widget/associatedforms/index.vue"; +import TreeSelectPage from "@/components/DesignForm/public/expand/treeSelect.vue"; import AKSelect from "./select.vue"; import { uploadUrl, getRequest } from "@/api/DesignForm"; @@ -211,6 +212,10 @@ const currentComponent = computed(() => { if (props.data.type === "cascader") { return markRaw(CascaderPage); } + if (props.data.type === "treeSelect") { + return markRaw(TreeSelectPage); + } + if (props.data.type === "switch") { if (typeof props.data.control.activeValue === "number") { props.data.control.activeValue = props.data.control.activeValue.toString(); @@ -222,7 +227,7 @@ const currentComponent = computed(() => { // if (props.data.type === 'timePicker') { // props.data.control.valueFormat="timestamp" // } - // console.log("自定义组件",props.data) + console.log("自定义组件", props.data.tye); return `el-${props.data.type}`; }); // 控制编辑模式下是否可用 @@ -941,7 +946,9 @@ const judjeCascader = (val: any[], options: any[]) => { if (val && val.length < 0) return ""; let valAry = stringToObj(val); console.log("获取级联选择值", stringToObj(val), val.length, options); - if (!Array.isArray(valAry)) return ""; + if (!Array.isArray(valAry)) { + return diGuiJilian(val, options); + } let title = ""; valAry.forEach((item: any) => { // console.log("item", item); @@ -991,7 +998,13 @@ const diGuiJilian = (val: any, options: any[]) => { v-if="judgeIsShow(data.name) && data.type === 'baidumap' && type != 4" :data="data" /> - + + { data.type != 'lowcodeCarsusel' && data.type != 'signaturemap' && data.type != 'signaturemap' && - data.type != 'urllink' + data.type != 'urllink' && + data.type != 'deptOrg' " :disabled="judgeIsDisabled(data.name)" :prop="tProp || data.name" @@ -1117,6 +1131,9 @@ const diGuiJilian = (val: any, options: any[]) => {
{{ judjeCascader(value, data.options) }}
+
+ {{ judjeCascader(value, data.control.data) }} +
diff --git a/src/components/DesignForm/tableListPage/index.vue b/src/components/DesignForm/tableListPage/index.vue index 32a75f9..d42b723 100644 --- a/src/components/DesignForm/tableListPage/index.vue +++ b/src/components/DesignForm/tableListPage/index.vue @@ -25,6 +25,7 @@ import { switchUnit, orgUnit, checkboxUnit, + orgDeptUnit, } from "@/api/DesignForm/fieldUnit"; import type { FormInstance, FormRules, ElNotification } from "element-plus"; import { gainFormPageListCont } from "@/api/DesignForm/requestapi"; @@ -179,6 +180,9 @@ const unitIsShow = (val: tableButton, unitName: string) => { case "checkbox": return checkboxUnit.includes(unitName); break; + case "deptOrg": + return orgDeptUnit.includes(unitName); + break; default: if (val.fieldClass != "datePicker" && val.fieldClass != "timePicker") { return inputUnit.includes(unitName); @@ -989,6 +993,10 @@ const diGuiJilian = (val: any, options: any[]) => { v-if="unitIsShow(item, 'org')" > +
diff --git a/src/widget/index.ts b/src/widget/index.ts index e8747f0..e8bcec8 100644 --- a/src/widget/index.ts +++ b/src/widget/index.ts @@ -22,6 +22,7 @@ import FounderTime from './systemunit/founderTime.vue' import EditTime from './systemunit/editTime.vue' import OwnerPage from './systemunit/ownerPage.vue' import DeptOrgPage from './systemunit/deptOrgPage.vue' +import DeptOrgSearch from './systemunit/deptOrgSearch.vue' import Editor from "@/components/WangEditor/index.vue"; // import { QuillEditor } from '@vueup/vue-quill' @@ -49,6 +50,7 @@ export default (app: any) => { app.component('EditTime',EditTime) //创建时间主键 app.component('OwnerPage',OwnerPage) //选择拥有者 app.component('DeptOrgPage',DeptOrgPage) //所属部门 + app.component('DeptOrgSearch',DeptOrgSearch) //所属部门 app.component('Editor', Editor) //Editor富文本 } diff --git a/src/widget/systemunit/deptOrgSearch.vue b/src/widget/systemunit/deptOrgSearch.vue new file mode 100644 index 0000000..80e17da --- /dev/null +++ b/src/widget/systemunit/deptOrgSearch.vue @@ -0,0 +1,101 @@ + + + +