Explorar o código

地点组件(无赋值)同步

cyy hai 1 ano
pai
achega
667ad75e0a

+ 20 - 1
src/business/platform/data/templaterender/templates/list.vue

@@ -1360,7 +1360,26 @@ export default {
                 rowHandle: rowHandle,
                 searchForm: searchForms.length > 0 ? { forms: searchForms } : null
             }
-
+            // 判断地点是否第一层级
+            const position = this.$store.getters.userInfo.positions
+            let showBoolean = false
+            if (position && position.length > 0 && this.first) {
+                showBoolean = position.some((item) => item.id === this.first)
+            }
+            const columnsShow = this.listConfig.columns.some((item) => item.prop === 'di_dian_')
+            if (!showBoolean && columnsShow) {
+                this.listConfig.columns.forEach((item) => {
+                    if (item.prop === 'di_dian_') {
+                        item.hidden = true
+                    }
+                })
+            } else {
+                this.listConfig.columns.forEach((item) => {
+                    if (item.prop === 'di_dian_') {
+                        item.hidden = false
+                    }
+                })
+            }
             // 分页
             this.showPagination = this.template.attrs ? this.template.attrs.need_page === 'Y' : true
             this.pagination.limit = this.template.attrs ? parseInt(this.template.attrs.page_size, 10) || 20 : 20

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 410 - 371
src/business/platform/form/constants/fieldTypes.js


+ 11 - 2
src/business/platform/form/formbuilder/form-main/widget-form-field.vue

@@ -54,11 +54,12 @@
                 :key="o.val+i"
                 :label="i"
                 :border="fieldOptions.border"
-                :style="{marginTop: '5px', display: fieldOptions.arrangement==='vertical' ? 'block' : null}"
+                :style="{marginTop: '5px', display: fieldOptions.arrangement === 'vertical' ? 'block' : ''}"
             >
                 {{ o.label }}
             </component>
         </el-radio-group>
+        
         <!-- 多选 -->
         <el-checkbox-group
             v-else-if="fieldType === 'checkbox'"
@@ -71,7 +72,7 @@
                 :key="o.val+i"
                 :label="i"
                 :border="fieldOptions.border"
-                :style="{ display: fieldOptions.arrangement==='vertical' ? 'block' : null}"
+                :style="{ display: fieldOptions.arrangement==='vertical' ? 'block' : ''}"
                 disabled
             > {{ o.label }}
             </component>
@@ -274,6 +275,14 @@
             :upload-type="fieldOptions.uploadType"
         />
         <!-- =======================系统字段==============================-->
+        <!-- 当前层级 -->
+        <ibps-user-selector
+            v-else-if="fieldType==='currentPosition'"
+            :placeholder="'自动获取当前层级'"
+            disabled-icon
+            disabled
+            show-placeholder
+        />
         <!-- 当前用户-->
         <ibps-user-selector
             v-else-if="fieldType==='currentUser'"

+ 92 - 89
src/business/platform/form/formbuilder/right-aside/field-types/index.js

@@ -1,107 +1,110 @@
-import IbpsFieldFormHeader from './ibps-field-form-header'
-import IbpsFieldGrid from './ibps-field-grid'
-import IbpsFieldTabs from './ibps-field-tabs'
-import IbpsFieldSteps from './ibps-field-steps'
-import IbpsFieldCollapse from './ibps-field-collapse'
-import IbpsFieldDivider from './ibps-field-divider'
+import IbpsFieldFormHeader from "./ibps-field-form-header";
+import IbpsFieldGrid from "./ibps-field-grid";
+import IbpsFieldTabs from "./ibps-field-tabs";
+import IbpsFieldSteps from "./ibps-field-steps";
+import IbpsFieldCollapse from "./ibps-field-collapse";
+import IbpsFieldDivider from "./ibps-field-divider";
 
 // ===============基础组件===================
-import IbpsFieldText from './ibps-field-text'
-import IbpsFieldTextarea from './ibps-field-textarea'
-import IbpsFieldNumber from './ibps-field-number'
-import IbpsFieldInputNumber from './ibps-field-input-number'
-import IbpsFieldRadio from './ibps-field-radio'
-import IbpsFieldCheckbox from './ibps-field-checkbox'
-import IbpsFieldSelect from './ibps-field-select'
-import IbpsFieldSwitch from './ibps-field-switch'
-import IbpsFieldSlider from './ibps-field-slider'
-import IbpsFieldRate from './ibps-field-rate'
-import IbpsFieldDatePicker from './ibps-field-datepicker'
-import IbpsFieldHidden from './ibps-field-hidden'
-import IbpsFieldTable from './ibps-field-table'
+import IbpsFieldText from "./ibps-field-text";
+import IbpsFieldTextarea from "./ibps-field-textarea";
+import IbpsFieldNumber from "./ibps-field-number";
+import IbpsFieldInputNumber from "./ibps-field-input-number";
+import IbpsFieldRadio from "./ibps-field-radio";
+import IbpsFieldCheckbox from "./ibps-field-checkbox";
+import IbpsFieldSelect from "./ibps-field-select";
+import IbpsFieldSwitch from "./ibps-field-switch";
+import IbpsFieldSlider from "./ibps-field-slider";
+import IbpsFieldRate from "./ibps-field-rate";
+import IbpsFieldDatePicker from "./ibps-field-datepicker";
+import IbpsFieldHidden from "./ibps-field-hidden";
+import IbpsFieldTable from "./ibps-field-table";
 // ===============增强组件===================
-import IbpsFieldEditor from './ibps-field-editor'
-import IbpsFieldDictionary from './ibps-field-dictionary'
-import IbpsFieldAutoNumber from './ibps-field-autonumber'
-import IbpsFieldAttachment from './ibps-field-attachment'
-import IbpsFieldSelector from './ibps-field-selector'
-import IbpsFieldCustomDialog from './ibps-field-custom-dialog'
-import IbpsFieldLinkdata from './ibps-field-linkdata'
-import IbpsFieldAddress from './ibps-field-address'
-import IbpsFieldSignature from './ibps-field-signature'
-import IbpsFieldImage from './ibps-field-image'
+import IbpsFieldEditor from "./ibps-field-editor";
+import IbpsFieldDictionary from "./ibps-field-dictionary";
+import IbpsFieldAutoNumber from "./ibps-field-autonumber";
+import IbpsFieldAttachment from "./ibps-field-attachment";
+import IbpsFieldSelector from "./ibps-field-selector";
+import IbpsFieldCustomDialog from "./ibps-field-custom-dialog";
+import IbpsFieldLinkdata from "./ibps-field-linkdata";
+import IbpsFieldAddress from "./ibps-field-address";
+import IbpsFieldSignature from "./ibps-field-signature";
+import IbpsFieldImage from "./ibps-field-image";
 // ===============系统组件===================
-import IbpsFieldCurrentUser from './ibps-field-current-user'
-import IbpsFieldCurrentOrg from './ibps-field-current-org'
-import IbpsFieldCurrentTime from './ibps-field-current-time'
-import IbpsFieldCurrentDate from './ibps-field-current-date'
+import IbpsFieldCurrentUser from "./ibps-field-current-user";
+import IbpsFieldCurrentOrg from "./ibps-field-current-org";
+import IbpsFieldCurrentPosition from "./ibps-field-current-position";
+import IbpsFieldCurrentTime from "./ibps-field-current-time";
+import IbpsFieldCurrentDate from "./ibps-field-current-date";
 // ===============流程组件===================
-import IbpsFieldFlowDiagram from './ibps-field-flow-diagram'
-import IbpsFieldApprovalHistory from './ibps-field-approval-history'
-import IbpsFieldApprovalOpinion from './ibps-field-approval-opinion'
-import IbpsFieldBpmInstHis from './ibps-field-bpm-inst-his'
-import IbpsFieldBpmLink from './ibps-field-bpm-link'
+import IbpsFieldFlowDiagram from "./ibps-field-flow-diagram";
+import IbpsFieldApprovalHistory from "./ibps-field-approval-history";
+import IbpsFieldApprovalOpinion from "./ibps-field-approval-opinion";
+import IbpsFieldBpmInstHis from "./ibps-field-bpm-inst-his";
+import IbpsFieldBpmLink from "./ibps-field-bpm-link";
 // ===============自定义组件===================
 
-import IbpsFieldComponent from './ibps-field-component'
-import IbpsFieldControl from './ibps-field-control'
+import IbpsFieldComponent from "./ibps-field-component";
+import IbpsFieldControl from "./ibps-field-control";
 
 // ===============其它组件===================
-import IbpsFieldDesc from './ibps-field-desc'
-import IbpsFieldLabel from './ibps-field-label'
-import IbpsFieldHyperlink from './ibps-field-hyperlink'
-import IbpsFieldAlert from './ibps-field-alert'
+import IbpsFieldDesc from "./ibps-field-desc";
+import IbpsFieldLabel from "./ibps-field-label";
+import IbpsFieldHyperlink from "./ibps-field-hyperlink";
+import IbpsFieldAlert from "./ibps-field-alert";
 
 export default {
-  IbpsFieldFormHeader,
-  IbpsFieldGrid,
-  IbpsFieldTabs,
-  IbpsFieldSteps,
-  IbpsFieldCollapse,
-  IbpsFieldDivider,
+    IbpsFieldFormHeader,
+    IbpsFieldGrid,
+    IbpsFieldTabs,
+    IbpsFieldSteps,
+    IbpsFieldCollapse,
+    IbpsFieldDivider,
 
-  IbpsFieldText,
-  IbpsFieldTextarea,
-  IbpsFieldNumber,
-  IbpsFieldInputNumber,
-  IbpsFieldRadio,
-  IbpsFieldCheckbox,
-  IbpsFieldSelect,
-  IbpsFieldSwitch,
-  IbpsFieldSlider,
-  IbpsFieldRate,
-  IbpsFieldDatePicker,
-  IbpsFieldHidden,
-  IbpsFieldTable,
-  IbpsFieldHyperlink,
+    IbpsFieldText,
+    IbpsFieldTextarea,
+    IbpsFieldNumber,
+    IbpsFieldInputNumber,
+    IbpsFieldRadio,
+    IbpsFieldCheckbox,
+    IbpsFieldSelect,
+    IbpsFieldSwitch,
+    IbpsFieldSlider,
+    IbpsFieldRate,
+    IbpsFieldDatePicker,
+    IbpsFieldHidden,
+    IbpsFieldTable,
+    IbpsFieldHyperlink,
 
-  IbpsFieldEditor,
-  IbpsFieldDictionary,
-  IbpsFieldAutoNumber,
-  IbpsFieldAttachment,
-  IbpsFieldSelector,
-  IbpsFieldCustomDialog,
-  IbpsFieldLinkdata,
-  IbpsFieldAddress,
-  IbpsFieldSignature,
-  IbpsFieldImage,
+    IbpsFieldEditor,
+    IbpsFieldDictionary,
+    IbpsFieldAutoNumber,
+    IbpsFieldAttachment,
+    IbpsFieldSelector,
+    IbpsFieldCustomDialog,
+    IbpsFieldLinkdata,
+    IbpsFieldAddress,
+    IbpsFieldSignature,
+    IbpsFieldImage,
 
-  IbpsFieldCurrentUser,
-  IbpsFieldCurrentOrg,
-  IbpsFieldCurrentTime,
-  IbpsFieldCurrentDate,
+    IbpsFieldCurrentUser,
+    IbpsFieldCurrentUser,
+    IbpsFieldCurrentOrg,
+    IbpsFieldCurrentPosition,
+    IbpsFieldCurrentTime,
+    IbpsFieldCurrentDate,
 
-  IbpsFieldFlowDiagram,
-  IbpsFieldApprovalHistory,
-  IbpsFieldApprovalOpinion,
+    IbpsFieldFlowDiagram,
+    IbpsFieldApprovalHistory,
+    IbpsFieldApprovalOpinion,
 
-  IbpsFieldBpmInstHis,
-  IbpsFieldBpmLink,
+    IbpsFieldBpmInstHis,
+    IbpsFieldBpmLink,
 
-  IbpsFieldComponent,
-  IbpsFieldControl,
+    IbpsFieldComponent,
+    IbpsFieldControl,
 
-  IbpsFieldDesc,
-  IbpsFieldLabel,
-  IbpsFieldAlert
-}
+    IbpsFieldDesc,
+    IbpsFieldLabel,
+    IbpsFieldAlert,
+};

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 441 - 344
src/business/platform/form/formbuilder/utils/generateCode.js


+ 6 - 5
src/business/platform/form/formrender/dynamic-form/dynamic-form-field.vue

@@ -119,7 +119,7 @@
                     :key="o.val"
                     :label="o.val"
                     :border="fieldOptions.border"
-                    :style="{ display: fieldOptions.arrangement === 'vertical' ? 'block' : null }"
+                    :style="{ display: fieldOptions.arrangement === 'vertical' ? 'block' : '' }"
                     class="ibps-pt-5"
                 >
                     {{ o.label }}
@@ -146,7 +146,7 @@
                     :key="o.val"
                     :label="o.val"
                     :border="fieldOptions.border"
-                    :style="{ display: fieldOptions.arrangement === 'vertical' ? 'block' : null }"
+                    :style="{ display: fieldOptions.arrangement === 'vertical' ? 'block' : '' }"
                 >
                     {{ o.label }}
                 </component>
@@ -374,9 +374,9 @@
             v-on="$listeners"
         />
         <!-- 选择器-->
-        <div v-else-if="(fieldType === 'selector' || fieldType === 'currentUser' || fieldType === 'currentOrg') && readonlyText && !dataModel" :class="isTable ? '' : 'ibps-field-text-no'">/</div>
+        <div v-else-if="(fieldType === 'selector' || fieldType === 'currentUser' || fieldType === 'currentOrg' || fieldType === 'currentPosition') && readonlyText && !dataModel" :class="isTable ? '' : 'ibps-field-text-no'">/</div>
         <ibps-user-selector
-            v-else-if="fieldType === 'selector' || fieldType === 'currentUser' || fieldType === 'currentOrg'"
+            v-else-if="fieldType === 'selector' || fieldType === 'currentUser' || fieldType === 'currentOrg' || fieldType === 'currentPosition'"
             v-model="dataModel"
             :class="isTable ? '' : readonlyText ? 'ibps-field-text' : ''"
             :placeholder="selectPlaceholder"
@@ -384,12 +384,13 @@
             :filter="fieldOptions.filter"
             :multiple="multiple"
             :store="fieldOptions.store || 'id'"
-            :disabled="fieldType === 'currentUser' || fieldType === 'currentOrg' ? true : readonly"
+            :disabled="fieldType === 'currentUser' || fieldType === 'currentOrg' || fieldType === 'currentPosition'? true : readonly"
             :readonly-text="readonlyText ? 'text' : null"
             :style="{ width: width }"
             @change-link-data="handleSeletorLinkageData"
             v-on="$listeners"
         />
+       
         <!--自定义对话框-->
         <div v-else-if="fieldType === 'customDialog' && readonlyText && !dataModel" :class="isTable ? '' : 'ibps-field-text-no'">/</div>
         <ibps-custom-dialog

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 561 - 362
src/business/platform/form/utils/formUtil.js


+ 81 - 30
src/store/getters.js

@@ -1,44 +1,95 @@
 export default {
     // ===========  用户相关
-    userId: state => state.ibps.user.info && state.ibps.user.info.user ? state.ibps.user.info.user.id : '', // 用户ID
-    name: state => state.ibps.user.info && state.ibps.user.info.employee ? state.ibps.user.info.employee.name : '', // 姓名
-    status: state => state.ibps.user.info && state.ibps.user.info.employee ? state.ibps.user.info.employee.status : '', // 用户状态
-    org: state => state.ibps.user.info ? state.ibps.user.info.org : {}, // 用户部门信息
-    position: state => state.ibps.user.info && state.ibps.user.info.employee ? state.ibps.user.info.employee.positions : '', // 用户部门信息
-    isSuper: state => state.ibps.user.info && state.ibps.user.info.user ? state.ibps.user.info.user.isSuper === 'Y' : false, // 是否超级管理员
-    account: state => state.ibps.user.info && state.ibps.user.info.user ? state.ibps.user.info.user.account : '', // 用户名
-    regOpen: state => state.ibps.user.regOpen, // 注册状态
+    userId: (state) =>
+        state.ibps.user.info && state.ibps.user.info.user
+            ? state.ibps.user.info.user.id
+            : "", // 用户ID
+    name: (state) =>
+        state.ibps.user.info && state.ibps.user.info.employee
+            ? state.ibps.user.info.employee.name
+            : "", // 姓名
+    status: (state) =>
+        state.ibps.user.info && state.ibps.user.info.employee
+            ? state.ibps.user.info.employee.status
+            : "", // 用户状态
+    org: (state) => (state.ibps.user.info ? state.ibps.user.info.org : {}), // 用户部门信息
+    position: (state) =>
+        state.ibps.user.info && state.ibps.user.info.employee
+            ? state.ibps.user.info.employee.positions
+            : "", // 用户部门信息
+    isSuper: (state) =>
+        state.ibps.user.info && state.ibps.user.info.user
+            ? state.ibps.user.info.user.isSuper === "Y"
+            : false, // 是否超级管理员
+    account: (state) =>
+        state.ibps.user.info && state.ibps.user.info.user
+            ? state.ibps.user.info.user.account
+            : "", // 用户名
+    regOpen: (state) => state.ibps.user.regOpen, // 注册状态
 
-    userInfo: state => state.ibps.user.info, // 用户信息
+    userInfo: (state) => state.ibps.user.info, // 用户信息
 
     // =========== 租户
-    tenant: state => state.ibps.user.info && state.ibps.user.info.mainTenant ? state.ibps.user.info.mainTenant || {} : {}, // 当前租户
-    tenants: state => state.ibps.user.info && state.ibps.user.info.tenants ? state.ibps.user.info.tenants || [] : [], // 当前拥有的租户
-    tenantid: state => state.ibps.user.info && state.ibps.user.info.tenantId ? state.ibps.user.info.tenantId || '' : '', // 租户id
-    isTenantAdmin: state => state.ibps.user.info && state.ibps.user.info.isTenantAdmin ? state.ibps.user.info.isTenantAdmin || false : false, // 是否租户管理员
+    tenant: (state) =>
+        state.ibps.user.info && state.ibps.user.info.mainTenant
+            ? state.ibps.user.info.mainTenant || {}
+            : {}, // 当前租户
+    tenants: (state) =>
+        state.ibps.user.info && state.ibps.user.info.tenants
+            ? state.ibps.user.info.tenants || []
+            : [], // 当前拥有的租户
+    tenantid: (state) =>
+        state.ibps.user.info && state.ibps.user.info.tenantId
+            ? state.ibps.user.info.tenantId || ""
+            : "", // 租户id
+    isTenantAdmin: (state) =>
+        state.ibps.user.info && state.ibps.user.info.isTenantAdmin
+            ? state.ibps.user.info.isTenantAdmin || false
+            : false, // 是否租户管理员
 
-    single: state => state.ibps.api.single, // 单体应用
-    baseApi: state => state.ibps.api.base, // baseAPI地址
-    websocket: state => state.ibps.api.websocket, // websocket地址
+    single: (state) => state.ibps.api.single, // 单体应用
+    baseApi: (state) => state.ibps.api.base, // baseAPI地址
+    websocket: (state) => state.ibps.api.websocket, // websocket地址
 
-    isTenantOpen: state => state.ibps.sass ? state.ibps.sass.tenantOpen : false, // 是否租户模式
+    isTenantOpen: (state) =>
+        state.ibps.sass ? state.ibps.sass.tenantOpen : false, // 是否租户模式
 
-    designTenantid: state => state.ibps.user && state.ibps.user.designTenantid ? state.ibps.user.designTenantid || '' : '',
+    designTenantid: (state) =>
+        state.ibps.user && state.ibps.user.designTenantid
+            ? state.ibps.user.designTenantid || ""
+            : "",
     // =========== 菜单
-    menus: state => state.ibps.menu.menus, // 菜单
-    routers: state => state.ibps.menu.routers, // 新增的路由表
+    menus: (state) => state.ibps.menu.menus, // 菜单
+    routers: (state) => state.ibps.menu.routers, // 新增的路由表
     // =========== 子系统
-    system: state => state.ibps.system.system, // 子系统
-    systemid: state => state.ibps.system.system ? state.ibps.system.system.id : '', // 子系统id
+    system: (state) => state.ibps.system.system, // 子系统
+    systemid: (state) =>
+        state.ibps.system.system ? state.ibps.system.system.id : "", // 子系统id
 
-    permissions: state => state.ibps.menu.permissions, //  拥有的权限
-    jianCeDuiXiangId: state => state.ibps.jianCeDuiXiangId ? state.ibps.jianCeDuiXiangId : '',
-    myform: state => state.ibps.myform ? state.ibps.myform : '',
-    jianCeCanShuId: state => state.ibps.jianCeCanShuId ? state.ibps.jianCeCanShuId : '',
+    permissions: (state) => state.ibps.menu.permissions, //  拥有的权限
+    jianCeDuiXiangId: (state) =>
+        state.ibps.jianCeDuiXiangId ? state.ibps.jianCeDuiXiangId : "",
+    myform: (state) => (state.ibps.myform ? state.ibps.myform : ""),
+    jianCeCanShuId: (state) =>
+        state.ibps.jianCeCanShuId ? state.ibps.jianCeCanShuId : "",
     // 所有检测项目名称及流程key数组
-    testingList: state => state.ibps.param && state.ibps.param.testingList ? state.ibps.param.testingList : [],
+    testingList: (state) =>
+        state.ibps.param && state.ibps.param.testingList
+            ? state.ibps.param.testingList
+            : [],
     // 获取所有用户信息
-    userList: state => state.ibps.param && state.ibps.param.userList ? state.ibps.param.userList : [],
+    userList: (state) =>
+        state.ibps.param && state.ibps.param.userList
+            ? state.ibps.param.userList
+            : [],
+    // 获取用户最高层级
+    level: (state) =>
+        state.ibps.param && state.ibps.param.level
+            ? state.ibps.param.level
+            : [],
     // 获取所有部门信息
-    deptList: state => state.ibps.param && state.ibps.param.deptList ? state.ibps.param.deptList : []
-}
+    deptList: (state) =>
+        state.ibps.param && state.ibps.param.deptList
+            ? state.ibps.param.deptList
+            : [],
+};

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio