diff --git a/list_view_sticky_header_and_column/__manifest__.py b/list_view_sticky_header_and_column/__manifest__.py index 6dcfc3b56..de7baa29f 100644 --- a/list_view_sticky_header_and_column/__manifest__.py +++ b/list_view_sticky_header_and_column/__manifest__.py @@ -37,6 +37,7 @@ 'depends': ['account', 'purchase', 'hr_expense', 'web'], 'assets': { 'web.assets_backend': [ + 'list_view_sticky_header_and_column/static/src/scss/form.scss', 'list_view_sticky_header_and_column/static/src/js' '/list_view_sticky_header_and_column.js', 'list_view_sticky_header_and_column/static/src/xml' diff --git a/list_view_sticky_header_and_column/static/src/scss/form.scss b/list_view_sticky_header_and_column/static/src/scss/form.scss new file mode 100644 index 000000000..64604c946 --- /dev/null +++ b/list_view_sticky_header_and_column/static/src/scss/form.scss @@ -0,0 +1,146 @@ +.o_form_view.o_xxl_form_view, { + .o_form_sheet_bg { + > .o_form_sheet { + width: 100%; + max-width: calc(100% - 100px) !important; + } + } +} + +button.btn { + margin-left: 3px; +} + +/* +选择o_wrap_field下具有o_required_modifier元素的标签, 在标签子元素o_wrap_label的label标签前面添加一个红色*号 +*/ +.o_wrap_field:has(.o_required_modifier) > .o_wrap_label { + position: relative; /* 为了使绝对定位的星号相对于标签定位 */ +} +.o_wrap_field:has(.o_required_modifier) > .o_wrap_label label::before { + content: "*"; + color: red; + font-weight: bold; + position: absolute; + left: 0.3rem; /* 根据需要调整位置 */ + top: 50%; + transform: translateY(-50%); + font-size: 1.2rem; /* 根据需要调整字体大小 */ +} + +//.o_wrap_field:has(.o_required_modifier) > .o_wrap_label label::before { +// content: "*"; +// color: red; +// font-weight: bold; +// display: inline-block; +// //margin-left: -0.5rem; +//} + +// 修改表单内label的样式 +.o_form_sheet, .o_form_nosheet { + .grid { + gap: 0 !important; + } + //.o_group { + // border-bottom: 1px solid black; + //} + > .o_inner_group:first-child { + border: 1px solid #{$gray-200}; + border-bottom: none; + } + > .o_inner_group:not(:first-child) { + border-right: 1px solid #{$gray-200}; + border-left: 2px solid #{$gray-200}; + } + > .o_group:first-child { + border: 1px solid #{$gray-200}; + border-bottom: none; + } + .o_group { + border-right: 1px solid #{$gray-200}; + border-left: 1px solid #{$gray-200}; + //box-shadow: inset 1px 0 0 #{$gray-200}, inset -1px 0 0 #{$gray-200}; + margin-right: calc(var(--gutter-x) * .0) !important; + margin-left: calc(var(--gutter-x) * .0) !important; + .o_inner_group { + padding-right: calc(var(--gutter-x) * .0) !important; + padding-left: calc(var(--gutter-x) * .0) !important; + } + //* { + // padding-right: calc(var(--gutter-x) * .0) !important; + // padding-left: calc(var(--gutter-x) * .0) !important; + //} + } + .o_horizontal_separator:not(:empty) { + text-align: center; + border-bottom: 1px solid #FFFFFF; + box-shadow: none; + //box-shadow: inset 0 1px 0 0 #FFFFFF !important; + padding: 0.5rem 1rem; + background: #{$gray-200}; + margin-bottom: 0 !important; + margin-top: 0 !important; + font-size: var(--body-font-size); + } + .o_inner_group { + --columns: 1; + gap: 0 !important;; + margin-bottom: 0 !important; + border-left: 1px solid #{$gray-200}; + margin-right: 0; + //box-shadow: inset 1px 0 0 #{$gray-200}, inset -1px 0 0 #{$gray-200}, inset 0 1px 0 #{$gray-200}; + //grid-template-columns: minmax(150px, auto) minmax(0, 1fr) !important; + } + .o_wrap_field { + .o_form_label { + margin-bottom: 0 !important; + } + .o_field_widget { + margin-bottom: 0 !important; + } + .o_wrap_label { + display: flex; + align-items: center; + } + .o_wrap_label:not(:last-child) { + padding: 0.8rem 1rem; + } + // 其实也是选择的label,不过防止有些样式覆盖 + .o_cell.o_wrap_label { + background: #{$gray-200} !important; + border-bottom: 1px solid #FFFFFF !important; + //margin-right: -1px !important; + } + + .o_wrap_input { + padding: 0 0 0 1rem; + display: flex; + align-items: center; + .o_field_x2many_list { + margin-left: -1rem !important; + width: calc(100% + 1rem) !important; + } + } + // 选择的也是o_wrap_input,不过有些字段设置nolabel后上面的选择不会被识别 + .o_cell:not(.o_wrap_label) { + border: 1px solid #{$gray-200} !important; + margin-top: -1px !important; + //box-shadow: inset 0 -1px 0 #{$gray-200}; + border-right: none; + display: flex; + align-items: center; + } + } + .o_form_statusbar { + border: 1px solid #{$gray-200}; + border-bottom: none; + .o_form_statusbar { + button {} + } + } +} +//.o_form_editable { +// .o_wrap_input { +// box-shadow: inset 0px -15px 30px -30px #{$gray-200}; +// } +//} \ No newline at end of file diff --git a/list_view_sticky_header_and_column/static/src/scss/list_view_sticky_header_and_column.scss b/list_view_sticky_header_and_column/static/src/scss/list_view_sticky_header_and_column.scss index 706cb7d71..d6e7285c0 100644 --- a/list_view_sticky_header_and_column/static/src/scss/list_view_sticky_header_and_column.scss +++ b/list_view_sticky_header_and_column/static/src/scss/list_view_sticky_header_and_column.scss @@ -33,10 +33,10 @@ } .o_form_view:not(.o_field_highlight) .o_field_widget:not(.o_field_invalid):not(.o_field_highlight) .o_input:not(:hover):not(:focus) { --o-input-border-color: transparent; - border-style: solid; - border-color: #000; - border-width: 0px; - border-bottom-width: 1px; + //border-style: solid; + //border-color: #000; + //border-width: 0px; + //border-bottom-width: 1px; } body.white .table { width: -webkit-fill-available !important; diff --git a/yuthon_issue/security/ir.model.access.csv b/yuthon_issue/security/ir.model.access.csv index 5d1cf9a60..a28fe2b21 100644 --- a/yuthon_issue/security/ir.model.access.csv +++ b/yuthon_issue/security/ir.model.access.csv @@ -1,5 +1,5 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_issue_library_line,issue_library_line,model_issue_library_line,base.group_user,1,1,1,1 +access_issue_library_line,issue_library_line,model_issue_library_line,,1,1,1,1 access_issue_approval_decision,issue_approval_decision,model_issue_approval_decision,base.group_user,1,1,1,1 access_issue_approval_decision_type,issue_approval_decision_type,model_issue_approval_decision_type,base.group_user,1,1,1,1 access_issue_library_approval_line,issue_library_approval_line,model_issue_library_approval_line,base.group_user,1,1,1,1 @@ -8,15 +8,3 @@ access_issue_approval_line,issue_approval_line,model_issue_approval_line,base.gr access_issue_library,issue_library,model_issue_library,base.group_user,1,1,1,1 access_issue_meeting_minutes_line,issue_meeting_minutes_line,model_issue_meeting_minutes_line,base.group_user,1,1,1,1 access_issue_meeting_minutes,issue_meeting_minutes,model_issue_meeting_minutes,base.group_user,1,1,1,1 - -access_issue_library,issue_library,model_issue_library,group_topic_admin,1,1,1,1 -access_issue_library,issue_library,model_issue_library,group_party_topic,1,1,1,1 -access_issue_library,issue_library,model_issue_library,group_team_topic,1,1,1,1 -access_issue_library,issue_library,model_issue_library,group_board_topic,1,1,1,1 - -access_issue_library,issue_library,model_issue_library,group_property_admin,1,1,1,1 -access_issue_library,issue_library,model_issue_library,property_group_party_topic,1,1,1,1 -access_issue_library,issue_library,model_issue_library,property_group_team_topic,1,1,1,1 -access_issue_library,issue_library,model_issue_library,group_grain_admin,1,1,1,1 -access_issue_library,issue_library,model_issue_library,group_grain_party_topic,1,1,1,1 -access_issue_library,issue_library,model_issue_library,group_grain_team_topic,1,1,1,1 diff --git a/yuthon_issue/views/issue_approval_decision_views.xml b/yuthon_issue/views/issue_approval_decision_views.xml index bd6a2d65f..84b98eba0 100644 --- a/yuthon_issue/views/issue_approval_decision_views.xml +++ b/yuthon_issue/views/issue_approval_decision_views.xml @@ -80,11 +80,23 @@ + + issue.approval.decision.search + issue.approval.decision + 20 + + + + + + + 决策清单 issue.approval.decision tree,form - {'search_default_group_decision_type_on_id': True, 'search_default_group_decision_type_id': True} + {'search_default_group_decision_type_on_id': True, + 'search_default_group_decision_type_id': True}