fastui 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- N2I3ZWJjNDA0NTUwYWFhMjNmMzg4ZjMwNGM5YTA5YzVjMGVkM2E5NA==
4
+ YjUzNjU3ZjkwNjZhYmQ5ZGUyODQzOTcwZWY2ZDQzMWQ5MWEzM2VmMQ==
5
5
  data.tar.gz: !binary |-
6
- YWVkNTA3OWI4Yzk5ZTg2MTkwNTY0ZTcwN2E4NDUxOWQyYjMxYWQzZQ==
6
+ YTExZGY2ODUyZmE3ZTYzODZlZjk3YTkxZjZiYTk4Zjc4OWUyZmE3Yg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NTM1MmZkOTQwNzc1NDZkYWRjYmI2ZjI1ZTM0NDZlMWQyOWNhNjU4NTczYTcw
10
- Njc4MmViY2YzOGJjZTU2MDA3MTZjMGY5YTcwYzMyYzk0NzhkMWI4ZThiZTY2
11
- MWIzOTcwMGZjNDdkYTg5YzRhNmIyY2VlMjJjNmE1MzcxMzgzM2Q=
9
+ NjcwYWNjMjNhZjM4YzQ3MzYzNjczZjAzODcwZTAxMGNkZjc2YjRlYzQ5MmJh
10
+ OTU0NWYzZWFmNTYyZmE4OGQ3NTMyY2JkZTMyODcwNGRkM2NhNTI4YTAzYjNj
11
+ OTUwNTEzYzI5YTZiMDg4YjU2OGY3MGM2MjQxYzI4NWQwN2E5OGY=
12
12
  data.tar.gz: !binary |-
13
- ODAxNzdhMGI5Zjg2Yjc1MTViOWJkMGIwNmVmZDQ0YzBhYTZlM2E2NmU4YmI3
14
- ZDZjNTMxNmZjNjY1ZWMzNTQ2M2NkNDIwYmEzYzk1NTdlOGFlNmUyZTM4NmJi
15
- ZjEyMTNlNDI2NTY2NDA2NmNjYTY0YTkzNTNhODAxOTczMzlhMTQ=
13
+ ZjI4MmY4MGQwMmY2MGUyOWRiZjVmMDA2NGJmMWUzYTdhMDk1OThiYmEzZDc0
14
+ N2UyYjk1YTMwMmFhNWRiOWI1NzcwMzQzOGE1ZjNjNTZhNjJhODgwZjY2ZDFh
15
+ ZmI5NWM1NmUyZWVhYzJjYmY3MjdjNmNkOTI2NzE1ZDc0MmZkZWI=
@@ -2,15 +2,14 @@
2
2
  require_dependency "awesome_nested_set"
3
3
  module Fastui
4
4
  class MOrg < MObject
5
- attr_accessible :parent_id, :parent
6
5
  acts_as_nested_set
7
6
 
8
- has_many :m_relationships, :foreign_key => 'm_org_id', :class_name => 'Fastui::MRelationship'
9
- has_many :act_roles, :through => :m_relationships, :source => :m_role
10
- has_many :actors, :through => :m_relationships, :source => :m_person
7
+ attr_accessible :parent_id, :parent
8
+
9
+ has_many :m_org_accesses, :foreign_key => 'm_org_id', :class_name => 'Fastui::MOrgAccess'
10
+ has_many :m_roles, :through => :m_org_accesses, :source => :m_role
11
11
 
12
12
  belongs_to :parent, :class_name => 'Fastui::MOrg'
13
-
14
13
  alias :leaf :leaf?
15
14
  alias :expanded :child?
16
15
 
@@ -0,0 +1,10 @@
1
+ # encoding: utf-8
2
+ module Fastui
3
+ class MOrgAccess < MObject
4
+ attr_accessible :m_dept_id,:m_org_id,:m_role_id
5
+
6
+ belongs_to :m_role, :class_name => 'Fastui::MRole'
7
+ belongs_to :m_dept, :class_name => 'Fastui::MDept'
8
+ belongs_to :m_org, :class_name => 'Fastui::MOrg'
9
+ end
10
+ end
@@ -3,13 +3,11 @@ require 'bcrypt'
3
3
  module Fastui
4
4
  class MPerson < MObject
5
5
  attr_accessible :username, :password, :access_level
6
- has_many :m_relationships, :foreign_key => 'm_person_id', :class_name => 'Fastui::MRelationship'
7
- has_many :act_roles, :through => :m_relationships, :source => :m_role
8
- has_many :join_orgs, :through => :m_relationships, :source => :m_org
6
+ has_many :m_role_assignments, :foreign_key => 'm_person_id', :class_name => 'Fastui::MRoleAssignment'
7
+ has_many :m_roles, :through => :m_role_assignments, :source => :m_role
9
8
 
10
9
  # users.password_digest in the database is a :string
11
10
  include BCrypt
12
-
13
11
  def password
14
12
  @password ||= Password.new(self.password_digest)
15
13
  end
@@ -0,0 +1,10 @@
1
+ # encoding: utf-8
2
+ module Fastui
3
+ class MRoleAssignment < MObject
4
+ attr_accessible :m_person_id, :m_role_id
5
+
6
+ belongs_to :m_role, :class_name => 'Fastui::MRole'
7
+ belongs_to :m_person, :class_name => 'Fastui::MPerson'
8
+
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+ module Fastui
3
+ class MWindowAccess < MObject
4
+ attr_accessible :m_dept_id,:m_org_id,:m_role_id
5
+
6
+ belongs_to :m_role, :class_name => 'Fastui::MRole'
7
+ end
8
+ end
@@ -1,6 +1,7 @@
1
1
  class CreateFastuiMRoles < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :fastui_m_roles do |t|
4
+ t.references :m_menu
4
5
  t.string :title, :limit => 60, :null => false
5
6
  t.string :print_text,:default => '',:limit => 60
6
7
  t.string :name, :default => '', :limit => 60 # 系统标识
@@ -1,25 +1,23 @@
1
- class CreateFastuiMRelationships < ActiveRecord::Migration
2
- def change
3
- create_table :fastui_m_relationships do |t|
4
- t.references :m_person
5
- t.references :m_org
6
- t.references :m_role
7
-
8
- t.string :title, :limit => 60
9
- t.string :print_text,:default => '',:limit => 60
10
- t.string :name, :default => '', :limit => 60 #
11
- t.string :type
12
-
13
- t.string :entity_kind, :default => 'app' #:sys,:app
14
- t.integer :seq, :default => 0
15
- t.boolean :is_active, :default => true
16
- t.string :note, :default => ''
17
- t.string :help, :default => ''
18
- t.integer :createdbyorg_id, :default => 0
19
- t.integer :createdby_id, :default => 0
20
- t.integer :updatedby_id, :default => 0
21
-
22
- t.timestamps
23
- end
24
- end
25
- end
1
+ class CreateFastuiMRoleAssignments < ActiveRecord::Migration
2
+ def change
3
+ create_table :fastui_m_role_assignments do |t|
4
+ t.references :m_person
5
+ t.references :m_role
6
+
7
+ t.string :title, :limit => 60
8
+ t.string :print_text,:default => '',:limit => 60
9
+ t.string :name, :default => '', :limit => 60
10
+
11
+ t.string :entity_kind, :default => 'app' #:sys,:app
12
+ t.integer :seq, :default => 0
13
+ t.boolean :is_active, :default => true
14
+ t.string :note, :default => ''
15
+ t.string :help, :default => ''
16
+ t.integer :createdbyorg_id, :default => 0
17
+ t.integer :createdby_id, :default => 0
18
+ t.integer :updatedby_id, :default => 0
19
+
20
+ t.timestamps
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ class CreateFastuiMWindowAccesses < ActiveRecord::Migration
2
+ def change
3
+ create_table :fastui_m_window_accesses do |t|
4
+ t.references :m_role
5
+ t.string :window
6
+
7
+ t.string :title, :limit => 60
8
+ t.string :print_text,:default => '',:limit => 60
9
+ t.string :name, :default => '', :limit => 60
10
+
11
+ t.string :entity_kind, :default => 'app' #:sys,:app
12
+ t.integer :seq, :default => 0
13
+ t.boolean :is_active, :default => true
14
+ t.string :note, :default => ''
15
+ t.string :help, :default => ''
16
+ t.integer :createdbyorg_id, :default => 0
17
+ t.integer :createdby_id, :default => 0
18
+ t.integer :updatedby_id, :default => 0
19
+
20
+ t.timestamps
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ class CreateFastuiMOrgAccesses < ActiveRecord::Migration
2
+ def change
3
+ create_table :fastui_m_org_accesses do |t|
4
+ t.references :m_role
5
+ t.references :m_org
6
+
7
+ t.string :title, :limit => 60
8
+ t.string :print_text,:default => '',:limit => 60
9
+ t.string :name, :default => '', :limit => 60
10
+
11
+ t.string :entity_kind, :default => 'app' #:sys,:app
12
+ t.integer :seq, :default => 0
13
+ t.boolean :is_active, :default => true
14
+ t.string :note, :default => ''
15
+ t.string :help, :default => ''
16
+ t.integer :createdbyorg_id, :default => 0
17
+ t.integer :createdby_id, :default => 0
18
+ t.integer :updatedby_id, :default => 0
19
+
20
+ t.timestamps
21
+ end
22
+ end
23
+ end
@@ -1,3 +1,3 @@
1
1
  module Fastui
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
data/lib/fastui.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require "fastui/version"
1
2
  require "fastui/tab"
2
3
  require "fastui/window"
3
4
  require "fastui/view"
@@ -21,6 +21,7 @@ namespace :fastui do
21
21
  so.children.build({name: 'app_menu', title: '菜单', window:'m_menu', m_menu: sm}.merge(attr))
22
22
  so.children.build({name: 'app_org', title: '组织', window:'m_org', m_menu: sm}.merge(attr))
23
23
  so.children.build({name: 'app_person', title: '人员', window:'m_person', m_menu: sm}.merge(attr))
24
+ so.children.build({name: 'app_role', title: '角色', window:'m_role', m_menu: sm}.merge(attr))
24
25
  so.children.build({name: 'app_data', title: '数据字典', window: 'm_list', m_menu: sm}.merge(attr))
25
26
  end
26
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - sgzhe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-23 00:00:00.000000000 Z
11
+ date: 2013-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -223,9 +223,11 @@ files:
223
223
  - app/models/fastui/m_menu_item.rb
224
224
  - app/models/fastui/m_object.rb
225
225
  - app/models/fastui/m_org.rb
226
+ - app/models/fastui/m_org_access.rb
226
227
  - app/models/fastui/m_person.rb
227
- - app/models/fastui/m_relationship.rb
228
228
  - app/models/fastui/m_role.rb
229
+ - app/models/fastui/m_role_assignment.rb
230
+ - app/models/fastui/m_window_access.rb
229
231
  - app/models/fastui/user_authenticator.rb
230
232
  - app/views/fastui/admin/index.html.erb
231
233
  - app/views/layouts/fastui/application.html.erb
@@ -235,7 +237,9 @@ files:
235
237
  - db/migrate/20121017024943_create_fastui_m_orgs.rb
236
238
  - db/migrate/20121017025014_create_fastui_m_people.rb
237
239
  - db/migrate/20121204021053_create_fastui_m_roles.rb
238
- - db/migrate/20121204061207_create_fastui_m_relationships.rb
240
+ - db/migrate/20121204064227_create_fastui_m_role_assignments.rb
241
+ - db/migrate/20121204072145_create_fastui_m_window_accesses.rb
242
+ - db/migrate/20121204072420_create_fastui_m_org_accesses.rb
239
243
  - db/migrate/20121211062955_create_fastui_m_lists.rb
240
244
  - db/migrate/20121211074436_create_fastui_m_list_items.rb
241
245
  - db/migrate/20121217020606_create_fastui_m_acl_entries.rb
@@ -250,7 +254,6 @@ files:
250
254
  - lib/generators/fastui/templates/fastui_config.erb
251
255
  - lib/generators/fastui/USAGE
252
256
  - lib/tasks/create_sys_data.rake
253
- - lib/tasks/fastui_tasks.rake
254
257
  - lib/tasks/loading_data.rake
255
258
  - MIT-LICENSE
256
259
  - Rakefile
@@ -1,9 +0,0 @@
1
- module Fastui
2
- class MRelationship < MObject
3
- attr_accessible :m_person_id,:m_org_id,:m_role_id
4
-
5
- belongs_to :m_person, :class_name => 'Fastui::MPerson'
6
- belongs_to :m_org, :class_name => 'Fastui::MOrg'
7
- belongs_to :m_role, :class_name => 'Fastui::MRole'
8
- end
9
- end
@@ -1,707 +0,0 @@
1
- # encoding: utf-8
2
- #desc "Explaining what the task does"
3
- namespace :fastui do
4
- desc "init fastui 'system' data"
5
- task :system_data => :environment do
6
- org_system = Fastui::MOrg.create({name: 'system', title: '系统组织'})
7
- person1 = Fastui::MPerson.create({name: 'Administrator', title: '系统管理员', username: 'admin', password: 'admin'})
8
- attr = {entity_kind: 'sys', seq: 1, is_active: true, createdbyorg: org_system, createdby: person1, updatedby: person1}
9
- Fastui::Env.ctx.set('g_person_id', person1.id)
10
- Fastui::Env.ctx.set('g_org_id', org_system.id)
11
-
12
- v_number = Fastui::MNumber.create({name: 'VNumber', title: '整型'})
13
- v_date = Fastui::MDate.create({name: 'VDate', title: '日期'})
14
- v_text = Fastui::MText.create({name: 'VText', title: '字符串'})
15
- v_tree = Fastui::MTree.create({name: 'VTree', title: '层级树'})
16
- v_htmleditor = Fastui::MHtmlEditor.create({name: 'VHtmlEditor', title: '文本编辑器'})
17
- v_textarea = Fastui::MTextArea.create({name: 'VTextArea', title: '文本'})
18
- v_checkbox = Fastui::MCheckbox.create({name: 'VCheckbox', title: '选择框'})
19
- v_combobox = Fastui::MCombobox.create({name: 'VCombobox', title: '下拉框'})
20
- v_multi_combobox = Fastui::MMultiCombobox.create({name: 'VMultiCombobox', title: '多选下拉框'})
21
- v_file = Fastui::MFile.create({name: 'VFile', title: '上传资源'})
22
- v_yesorno = Fastui::MYesOrNo.create({name: 'VYesOrNo', title: '是否'})
23
- v_sex_select = Fastui::MSexSelect.create({name: 'VSexSelect', title: '男女'})
24
-
25
- access_level = Fastui::MList.create({name: 'access_level', title: '访问级别'})
26
- access_level.m_list_items.create([{name: 'system', title: '系统级别'}, {name: 'org', title: '组织级别'}, {name: 'dept', title: '部门级别'}])
27
-
28
- entity_kind = Fastui::MList.create({name: 'entity_kind', title: '实体种类'})
29
- entity_kind.m_list_items.create([{name: 'sys', title: '系统实体'}, {name: 'app', title: '应用实体'}])
30
-
31
- window_kind = Fastui::MList.create({name: 'window_kind', title: '窗体种类'})
32
- window_kind.m_list_items.create([{name: 'maintain', title: '维护'}, {name: 'transaction', title: '事务'}, {name: 'query', title: '查询'}])
33
-
34
-
35
- m_person = Fastui::MEntity.create({name: 'Fastui::MPerson', title: '人员', access_level: 'system'}.merge(attr))
36
- mentity = Fastui::MEntity.create({name: 'Fastui::MEntity', title: '实体', access_level: 'system'}.merge(attr))
37
- mproperty = Fastui::MEntity.create({name: 'Fastui::MProperty', title: '属性', access_level: 'system'}.merge(attr))
38
- m_org = Fastui::MEntity.create({name: 'Fastui::MOrg', title: '组织', access_level: 'system'}.merge(attr))
39
- mmenu = Fastui::MEntity.create({name: 'Fastui::MMenu', title: '菜单', access_level: 'system'}.merge(attr))
40
- m_datatype = Fastui::MEntity.create({name: 'Fastui::MDatatype', title: '数据类型', access_level: 'system'}.merge(attr))
41
- m_comment = Fastui::MEntity.create({name: 'Fastui::MComment', title: '评论', access_level: 'system'}.merge(attr))
42
-
43
- m_relation_org = Fastui::MRelation.create({m_entity: m_org, name: 'Fastui::MOrg', title: '组织', access_level: 'system'}.merge(attr))
44
- m_relation_person = Fastui::MRelation.create({m_entity: m_person, name: 'Fastui::MPerson', title: '人员', access_level: 'system'}.merge(attr))
45
- m_relation_entity = Fastui::MRelation.create({m_entity: mentity, name: 'Fastui::MEntity', title: '实体', access_level: 'system'}.merge(attr))
46
- #测试多选
47
- multi_relation_person = Fastui::MMultiCombobox.create({m_entity: m_person, name: 'Fastui::MEntity', title: '实体', access_level: 'system'}.merge(attr))
48
- m_relation_property = Fastui::MRelation.create({m_entity: mproperty, name: 'Fastui::MProperty', title: '属性', access_level: 'system'}.merge(attr))
49
- m_relation_menu = Fastui::MRelation.create({m_entity: mmenu, name: 'Fastui::MMenu', title: '菜单', access_level: 'system'}.merge(attr))
50
- m_relation_datatype = Fastui::MRelation.create({m_entity: m_datatype, name: 'Fastui::MDatatype', title: '数据类型', access_level: 'system'}.merge(attr))
51
-
52
-
53
- mwin = Fastui::MEntity.create({name: 'Fastui::MWindow', title: '窗口', access_level: 'system'}.merge(attr)) do |ent|
54
- ent.m_properties.build([{name: 'id', title: 'ID', m_datatype: v_number},
55
- {name: 'title', title: '标题', m_datatype: v_text},
56
- {name: 'print_text', title: '打印文本', m_datatype: v_text},
57
- {name: 'name', title: '标识', m_datatype: v_text},
58
- {name: 'entity_kind', title: '实体种类', m_datatype: entity_kind},
59
- {name: 'window_kind', title: '窗体种类', m_datatype: window_kind},
60
- {name: 'seq', title: '排序', m_datatype: v_number},
61
- {name: 'is_active', title: '是否激活', m_datatype: v_yesorno},
62
- {name: 'help', title: '帮助', m_datatype: v_textarea},
63
- {name: 'note', title: '备注', m_datatype: v_textarea},
64
- {name: 'createdbyorg_id', title: '创建组织', m_datatype: m_relation_org},
65
- {name: 'createdby_id', title: '创建人', m_datatype: m_relation_person},
66
- {name: 'updatedby_id', title: '更新人', m_datatype: m_relation_person}
67
- ].map { |a| a.merge(attr) })
68
-
69
- end
70
- m_relation_window = Fastui::MRelation.create({m_entity: mwin, name: 'Fastui::MWindow', title: '窗口', access_level: 'system'}.merge(attr))
71
-
72
- mtab = Fastui::MEntity.create({name: 'Fastui::MTab', title: '标签', access_level: 'system'}.merge(attr))
73
- m_relation_tab = Fastui::MRelation.create({m_entity: mtab, name: 'Fastui::MTab', title: '标签', access_level: 'system'}.merge(attr))
74
- mtab.m_properties.create([{name: 'id', title: 'ID', m_datatype: v_number},
75
- {name: 'title', title: '标题', m_datatype: v_text},
76
- {name: 'print_text', title: '打印文本', m_datatype: v_text},
77
- {name: 'name', title: '标识', m_datatype: v_text},
78
- {name: 'is_readonly', title: '只读', m_datatype: v_yesorno},
79
- {name: 'entity_kind', title: '实体种类', m_datatype: entity_kind},
80
- {name: 'seq', title: '排序', m_datatype: v_number},
81
- {name: 'is_active', title: '是否激活', m_datatype: v_yesorno},
82
- {name: 'm_window_id', title: '对应窗口', m_datatype: m_relation_window},
83
- {name: 'included_tab_id', title: '依赖标签', m_datatype: m_relation_tab},
84
- {name: 'm_entity_id', title: '依赖实体', m_datatype: m_relation_entity},
85
- {name: 'help', title: '帮助', m_datatype: v_textarea},
86
- {name: 'note', title: '备注', m_datatype: v_textarea},
87
- {name: 'createdbyorg_id', title: '创建组织', m_datatype: m_relation_org},
88
- {name: 'createdby_id', title: '创建人', m_datatype: m_relation_person},
89
- {name: 'updatedby_id', title: '更新人', m_datatype: m_relation_person}].map { |a| a.merge(attr) })
90
-
91
- mfield = Fastui::MEntity.create({name: 'Fastui::MField', title: '字段', access_level: 'system'}.merge(attr)) do |field_ent|
92
- field_ent.m_properties.build([{name: 'id', title: 'ID', m_datatype: v_number},
93
- {name: 'title', title: '标题', m_datatype: v_text},
94
- {name: 'print_text', title: '打印文本', m_datatype: v_text},
95
- {name: 'name', title: '标识', m_datatype: v_text},
96
- {name: 'm_property_id', title: '所属属性', m_datatype: m_relation_property},
97
- {name: 'is_display', title: '是否显示', m_datatype: v_yesorno},
98
- {name: 'is_readonly', title: '是否只读', m_datatype: v_yesorno},
99
- {name: 'entity_kind', title: '实体种类', m_datatype: entity_kind},
100
- {name: 'default_logic', title: '默认逻辑', m_datatype: v_textarea},
101
- {name: 'seq', title: '排序', m_datatype: v_number},
102
- {name: 'is_active', title: '是否激活', m_datatype: v_yesorno},
103
- {name: 'm_tab_id', title: '依赖标签', m_datatype: m_relation_tab},
104
- {name: 'help', title: '帮助', m_datatype: v_textarea},
105
- {name: 'note', title: '备注', m_datatype: v_textarea},
106
- {name: 'createdbyorg_id', title: '创建组织', m_datatype: m_relation_org},
107
- {name: 'createdby_id', title: '创建人', m_datatype: m_relation_person},
108
- {name: 'updatedby_id', title: '更新人', m_datatype: m_relation_person}
109
- ].map { |a| a.merge(attr) })
110
- end
111
- mcolumn = Fastui::MEntity.create({name: 'Fastui::MColumn', title: '表列', access_level: 'system'}.merge(attr)) do |column_ent|
112
- column_ent.m_properties.build([{name: 'id', title: 'ID', m_datatype: v_number},
113
- {name: 'title', title: '标题', m_datatype: v_text},
114
- {name: 'print_text', title: '打印文本', m_datatype: v_text},
115
- {name: 'name', title: '标识', m_datatype: v_text},
116
- {name: 'm_property_id', title: '所属属性', m_datatype: m_relation_property},
117
- {name: 'width', title: '列宽度', m_datatype: v_number},
118
- {name: 'entity_kind', title: '实体种类', m_datatype: entity_kind},
119
- {name: 'seq', title: '排序', m_datatype: v_number},
120
- {name: 'is_active', title: '是否激活', m_datatype: v_yesorno},
121
- {name: 'm_tab_id', title: '依赖标签', m_datatype: m_relation_tab},
122
- {name: 'help', title: '帮助', m_datatype: v_textarea},
123
- {name: 'note', title: '备注', m_datatype: v_textarea},
124
- {name: 'createdbyorg_id', title: '创建组织', m_datatype: m_relation_org},
125
- {name: 'createdby_id', title: '创建人', m_datatype: m_relation_person},
126
- {name: 'updatedby_id', title: '更新人', m_datatype: m_relation_person}
127
- ].map { |a| a.merge(attr) })
128
- end
129
-
130
- win = Fastui::MWindow.create({title: 'FastUI', window_kind: 'maintain'}.merge(attr))
131
- fastui_window = win.m_tabs.create({title: '窗口', m_entity: mwin, is_readonly: true}.merge(attr)) do |win_tab|
132
- win_tab.m_fields.build([{title: 'ID', m_property: mwin.prop_by('id'), is_display: true, is_readonly: true},
133
- {title: '标题', m_property: mwin.prop_by('title'), is_display: true, is_readonly: false},
134
- {title: '打印文本', m_property: mwin.prop_by('print_text'), is_display: true, is_readonly: false},
135
- {title: '标识', m_property: mwin.prop_by('name'), is_display: true, is_readonly: false},
136
- {title: '窗体种类', m_property: mwin.prop_by('window_kind'), is_display: true, is_readonly: false},
137
- {title: '实体种类', m_property: mwin.prop_by('entity_kind'), is_display: true, is_readonly: false},
138
- {title: '排序', m_property: mwin.prop_by('seq'), is_display: true, is_readonly: false},
139
- {title: '是否激活', m_property: mwin.prop_by('is_active'), is_display: true, is_readonly: false},
140
- {title: '帮助', m_property: mwin.prop_by('help'), is_display: true, is_readonly: false},
141
- {title: '备注', m_property: mwin.prop_by('note'), is_display: true, is_readonly: false}].map { |a| a.merge(attr) })
142
- win_tab.m_columns.build([{title: 'ID', m_property: mwin.prop_by('id'), width: 35},
143
- {title: '标题', m_property: mwin.prop_by('title'), width: 75},
144
- {title: '打印文本', m_property: mwin.prop_by('print_text'), width: 75},
145
- {title: '标识', m_property: mwin.prop_by('name'), width: 75},
146
- {title: '窗体种类', m_property: mwin.prop_by('window_kind'), width: 75},
147
- {title: '实体种类', m_property: mwin.prop_by('entity_kind'), width: 75},
148
- {title: '排序', m_property: mwin.prop_by('seq'), width: 75},
149
- {title: '是否激活', m_property: mwin.prop_by('is_active'), width: 75},
150
- {title: '创建组织', m_property: mwin.prop_by('createdbyorg_id'), width: 75},
151
- {title: '创建人', m_property: mwin.prop_by('updatedby_id'), width: 75},
152
- {title: '更新人', m_property: mwin.prop_by('updatedby_id'), width: 75},
153
- {title: '备注', m_property: mwin.prop_by('note'), width: 75}
154
- ].map { |a| a.merge(attr) })
155
- end
156
- fastui_tab = win.m_tabs.create({title: '标签', m_entity: mtab, is_readonly: true, included_tab: fastui_window}.merge(attr)) do |t_tab|
157
- t_tab.m_fields.build([{title: 'ID', m_property: mtab.prop_by('id'), is_display: true, is_readonly: true},
158
- {title: '标题', m_property: mtab.prop_by('title'), is_display: true, is_readonly: false},
159
- {title: '打印文本', m_property: mtab.prop_by('print_text'), is_display: true, is_readonly: false},
160
- {title: '标识', m_property: mtab.prop_by('name'), is_display: true, is_readonly: false},
161
- {title: '只读', m_property: mtab.prop_by('is_readonly'), is_display: true, is_readonly: false},
162
- {title: '实体种类', m_property: mtab.prop_by('entity_kind'), is_display: true, is_readonly: false},
163
- {title: '排序', m_property: mtab.prop_by('seq'), is_display: true, is_readonly: false},
164
- {title: '是否激活', m_property: mtab.prop_by('is_active'), is_display: true, is_readonly: false},
165
- {title: '对应窗口', m_property: mtab.prop_by('m_window_id'), default_logic: "{id:${m_window_id},title:'${m_window_title}'}", is_display: true, is_readonly: false},
166
- {title: '依赖标签', m_property: mtab.prop_by('included_tab_id'), is_display: true, is_readonly: false},
167
- {title: '所属实体', m_property: mtab.prop_by('m_entity_id'), is_display: true, is_readonly: false},
168
- {title: '帮助', m_property: mtab.prop_by('help'), is_display: true, is_readonly: false},
169
- {title: '备注', m_property: mtab.prop_by('note'), is_display: true, is_readonly: false}
170
- ].map { |a| a.merge(attr) })
171
- t_tab.m_columns.build([{title: 'ID', m_property: mtab.prop_by('id'), width: 35},
172
- {title: '标题', m_property: mtab.prop_by('title'), width: 75},
173
- {title: '打印文本', m_property: mtab.prop_by('print_text'), width: 75},
174
- {title: '标识', m_property: mtab.prop_by('name'), width: 75},
175
- {title: '只读', m_property: mtab.prop_by('is_readonly'), width: 75},
176
- {title: '实体种类', m_property: mtab.prop_by('entity_kind'), width: 75},
177
- {title: '排序', m_property: mtab.prop_by('seq'), width: 75},
178
- {title: '是否激活', m_property: mtab.prop_by('is_active'), width: 75},
179
- {title: '对应窗口', m_property: mtab.prop_by('m_window_id'), width: 75},
180
- {title: '依赖标签', m_property: mtab.prop_by('included_tab_id'), width: 75},
181
- {title: '所属实体', m_property: mtab.prop_by('m_entity_id'), width: 75},
182
- {title: '创建组织', m_property: mtab.prop_by('createdbyorg_id'), width: 75},
183
- {title: '创建人', m_property: mtab.prop_by('createdby_id'), width: 75},
184
- {title: '更新人', m_property: mtab.prop_by('updatedby_id'), width: 75},
185
- {title: '备注', m_property: mtab.prop_by('note'), width: 75}
186
- ].map { |a| a.merge(attr) })
187
- end
188
- win.m_tabs.create({title: '字段', m_entity: mfield, is_readonly: true, included_tab: fastui_tab}.merge(attr)) do |field_tab|
189
- field_tab.m_fields.build([{title: 'ID', m_property: mfield.prop_by('id'), is_display: true, is_readonly: true},
190
- {title: '标题', m_property: mfield.prop_by('title'), is_display: true, is_readonly: false},
191
- {title: '打印文本', m_property: mfield.prop_by('print_text'), is_display: true, is_readonly: false},
192
- {title: '标识', m_property: mfield.prop_by('name'), is_display: true, is_readonly: false},
193
- {title: '所属属性', m_property: mfield.prop_by('m_property_id'), is_display: true, is_readonly: false},
194
- {title: '显示', m_property: mfield.prop_by('is_display'), is_display: true, is_readonly: false},
195
- {title: '只读', m_property: mfield.prop_by('is_readonly'), is_display: true, is_readonly: false},
196
- {title: '实体种类', m_property: mfield.prop_by('entity_kind'), is_display: true, is_readonly: false},
197
- {title: '默认逻辑', m_property: mfield.prop_by('default_logic'), is_display: true, is_readonly: false},
198
- {title: '排序', m_property: mfield.prop_by('seq'), is_display: true, is_readonly: false},
199
- {title: '是否激活', m_property: mfield.prop_by('is_active'), is_display: true, is_readonly: false},
200
- {title: '依赖标签', m_property: mfield.prop_by('m_tab_id'), default_logic: "{id:${m_tab_id},title:'${m_tab_title}'}", is_display: true, is_readonly: false},
201
- {title: '帮助', m_property: mfield.prop_by('help'), is_display: true, is_readonly: false},
202
- {title: '备注', m_property: mfield.prop_by('note'), is_display: true, is_readonly: false}].map { |a| a.merge(attr) })
203
- field_tab.m_columns.build([{title: 'ID', m_property: mfield.prop_by('id'), width: 35},
204
- {title: '标题', m_property: mfield.prop_by('title'), width: 75},
205
- {title: '打印文本', m_property: mfield.prop_by('print_text'), width: 75},
206
- {title: '标识', m_property: mfield.prop_by('name'), width: 75},
207
- {title: '所属属性', m_property: mfield.prop_by('m_property_id'), width: 75},
208
- {title: '显示', m_property: mfield.prop_by('is_display'), width: 75},
209
- {title: '只读', m_property: mfield.prop_by('is_readonly'), width: 75},
210
- {title: '实体种类', m_property: mfield.prop_by('entity_kind'), width: 75},
211
- {title: '默认逻辑', m_property: mfield.prop_by('default_logic'), width: 75},
212
- {title: '排序', m_property: mfield.prop_by('seq'), width: 75},
213
- {title: '是否激活', m_property: mfield.prop_by('is_active'), width: 75},
214
- {title: '创建组织', m_property: mfield.prop_by('createdbyorg_id'), width: 75},
215
- {title: '依赖标签', m_property: mfield.prop_by('m_tab_id'), width: 75},
216
- {title: '创建人', m_property: mfield.prop_by('createdby_id'), width: 75},
217
- {title: '更新人', m_property: mfield.prop_by('updatedby_id'), width: 75},
218
- {title: '备注', m_property: mfield.prop_by('note'), width: 75}].map { |a| a.merge(attr) })
219
- end
220
- win.m_tabs.create({title: '表列', m_entity: mcolumn, is_readonly: true, included_tab: fastui_tab}.merge(attr)) do |column_tab|
221
- column_tab.m_fields.build([{title: 'ID', m_property: mcolumn.prop_by('id'), is_display: true, is_readonly: true},
222
- {title: '标题', m_property: mcolumn.prop_by('title'), is_display: true, is_readonly: false},
223
- {title: '打印文本', m_property: mcolumn.prop_by('print_text'), is_display: true, is_readonly: false},
224
- {title: '标识', m_property: mcolumn.prop_by('name'), is_display: true, is_readonly: false},
225
- {title: '所属属性', m_property: mcolumn.prop_by('m_property_id'), is_display: true, is_readonly: false},
226
- {title: '列宽度', m_property: mcolumn.prop_by('width'), is_display: true, is_readonly: false},
227
- {title: '实体种类', m_property: mcolumn.prop_by('entity_kind'), is_display: true, is_readonly: false},
228
- {title: '排序', m_property: mcolumn.prop_by('seq'), is_display: true, is_readonly: false},
229
- {title: '是否激活', m_property: mcolumn.prop_by('is_active'), is_display: true, is_readonly: false},
230
- {title: '依赖标签', m_property: mcolumn.prop_by('m_tab_id'), default_logic: "{id:${m_tab_id},title:'${m_tab_title}'}", is_display: true, is_readonly: false},
231
- {title: '帮助', m_property: mcolumn.prop_by('help'), is_display: true, is_readonly: false},
232
- {title: '备注', m_property: mcolumn.prop_by('note'), is_display: true, is_readonly: false}].map { |a| a.merge(attr) })
233
- column_tab.m_columns.build([{title: 'ID', m_property: mcolumn.prop_by('id'), width: 35},
234
- {title: '标题', m_property: mcolumn.prop_by('title'), width: 75},
235
- {title: '打印文本', m_property: mcolumn.prop_by('print_text'), width: 75},
236
- {title: '标识', m_property: mcolumn.prop_by('name'), width: 75},
237
- {title: '所属属性', m_property: mcolumn.prop_by('m_property_id'), width: 75},
238
- {title: '列宽度', m_property: mcolumn.prop_by('width'), width: 75},
239
- {title: '实体种类', m_property: mcolumn.prop_by('entity_kind'), width: 75},
240
- {title: '排序', m_property: mcolumn.prop_by('seq'), width: 75},
241
- {title: '是否激活', m_property: mcolumn.prop_by('is_active'), width: 75},
242
- {title: '创建组织', m_property: mcolumn.prop_by('createdbyorg_id'), width: 75},
243
- {title: '依赖标签', m_property: mcolumn.prop_by('m_tab_id'), width: 75},
244
- {title: '创建人', m_property: mcolumn.prop_by('createdby_id'), width: 75},
245
- {title: '更新人', m_property: mcolumn.prop_by('updatedby_id'), width: 75},
246
- {title: '备注', m_property: mcolumn.prop_by('note'), width: 75}].map { |a| a.merge(attr) })
247
- end
248
-
249
- # 实体 属性
250
- mentity.m_properties.create([{name: 'id', title: 'ID', m_datatype: v_number},
251
- {name: 'title', title: '标题', m_datatype: v_text},
252
- {name: 'print_text', title: '打印文本', m_datatype: v_text},
253
- {name: 'name', title: '标识', m_datatype: v_text},
254
- {name: 'access_level', title: '访问级别', m_datatype: access_level},
255
- {name: 'entity_kind', title: '实体种类', m_datatype: entity_kind},
256
- {name: 'seq', title: '排序', m_datatype: v_number},
257
- {name: 'is_active', title: '是否激活', m_datatype: v_yesorno},
258
- {name: 'help', title: '帮助', m_datatype: v_textarea},
259
- {name: 'note', title: '备注', m_datatype: v_textarea},
260
- {name: 'createdbyorg_id', title: '创建组织', m_datatype: m_relation_org},
261
- {name: 'createdby_id', title: '创建人', m_datatype: m_relation_person},
262
- {name: 'updatedby_id', title: '更新人', m_datatype: m_relation_person}].map { |a| a.merge(attr) })
263
-
264
- mproperty.m_properties.create([{name: 'id', title: 'ID', m_datatype: v_number},
265
- {name: 'title', title: '标题', m_datatype: v_text},
266
- {name: 'print_text', title: '打印文本', m_datatype: v_text},
267
- {name: 'name', title: '标识', m_datatype: v_text},
268
- {name: 'external_key', title: '外键', m_datatype: v_text},
269
- {name: 'm_datatype_id', title: '数据类型', m_datatype: m_relation_datatype},
270
- {name: 'entity_kind', title: '实体种类', m_datatype: entity_kind},
271
- {name: 'm_entity_id', title: '所属实体', m_datatype: m_relation_entity},
272
- #{name: 'm_entity_id', title: '所属实体', m_datatype: multi_relation_entity},
273
- {name: 'seq', title: '排序', m_datatype: v_number},
274
- {name: 'is_active', title: '是否激活', m_datatype: v_yesorno},
275
- {name: 'help', title: '帮助', m_datatype: v_textarea},
276
- {name: 'note', title: '备注', m_datatype: v_textarea},
277
- {name: 'createdbyorg_id', title: '创建组织', m_datatype: m_relation_org},
278
- {name: 'createdby_id', title: '创建人', m_datatype: m_relation_person},
279
- {name: 'updatedby_id', title: '更新人', m_datatype: m_relation_person}].map { |a| a.merge(attr) })
280
-
281
-
282
- win_entity = Fastui::MWindow.create({title: '实体', :window_kind => 'maintain', entity_kind: 'sys'}.merge(attr)) do |w_entity|
283
- tab_ent = w_entity.m_tabs.build({title: '实体', m_entity: mentity, is_readonly: true, entity_kind: 'sys'}.merge(attr))
284
- tab_ent.m_fields.build([{title: 'ID', m_property: mentity.prop_by('id'), is_display: true, is_readonly: true},
285
- {title: '标题', m_property: mentity.prop_by('title'), is_display: true, is_readonly: false},
286
- {title: '打印文本', m_property: mentity.prop_by('print_text'), is_display: true, is_readonly: false},
287
- {title: '标识', m_property: mentity.prop_by('name'), is_display: true, is_readonly: false},
288
- {title: '访问级别', m_property: mentity.prop_by('access_level'), is_display: true, is_readonly: false},
289
- {title: '实体种类', m_property: mentity.prop_by('entity_kind'), is_display: true, is_readonly: false},
290
- {title: '排序', m_property: mentity.prop_by('seq'), is_display: true, is_readonly: false},
291
- {title: '是否激活', m_property: mentity.prop_by('is_active'), is_display: true, is_readonly: false},
292
- {title: '帮助', m_property: mentity.prop_by('help'), is_display: true, is_readonly: false},
293
- {title: '备注', m_property: mentity.prop_by('note'), is_display: true, is_readonly: false}].map { |a| a.merge(attr) })
294
- tab_ent.m_columns.build([{title: 'ID', m_property: mentity.prop_by('id'), width: 35},
295
- {title: '标题', m_property: mentity.prop_by('title'), width: 75},
296
- {title: '打印文本', m_property: mentity.prop_by('print_text'), width: 75},
297
- {title: '标识', m_property: mentity.prop_by('name'), width: 75},
298
- {title: '访问级别', m_property: mentity.prop_by('access_level'), width: 75},
299
- {title: '实体种类', m_property: mentity.prop_by('entity_kind'), width: 75},
300
- {title: '排序', m_property: mentity.prop_by('seq'), width: 75},
301
- {title: '是否激活', m_property: mentity.prop_by('is_active'), width: 75},
302
- {title: '创建组织', m_property: mentity.prop_by('createdbyorg_id'), width: 75},
303
- {title: '创建人', m_property: mentity.prop_by('createdby_id'), width: 75},
304
- {title: '更新人', m_property: mentity.prop_by('updatedby_id'), width: 75},
305
- {title: '备注', m_property: mentity.prop_by('note'), width: 75}].map { |a| a.merge(attr) })
306
-
307
-
308
- w_entity.m_tabs.build({title: '属性', m_entity: mproperty, is_readonly: true, included_tab: tab_ent}.merge(attr)) do |tab_prop|
309
- tab_prop.m_fields.build([{title: 'ID', m_property: mproperty.prop_by('id'), is_display: true, is_readonly: true},
310
- {title: '标题', m_property: mproperty.prop_by('title'), is_display: true, is_readonly: false},
311
- {title: '打印文本', m_property: mproperty.prop_by('print_text'), is_display: true, is_readonly: false},
312
- {title: '标识', m_property: mproperty.prop_by('name'), is_display: true, is_readonly: false},
313
- {title: '外键', m_property: mproperty.prop_by('external_key'), is_display: true, is_readonly: false},
314
- {title: '数据类型', m_property: mproperty.prop_by('m_datatype_id'), is_display: true, is_readonly: false},
315
- {title: '实体种类', m_property: mproperty.prop_by('entity_kind'), is_display: true, is_readonly: false},
316
- {title: '所属实体', m_property: mproperty.prop_by('m_entity_id'), default_logic: "{id:${m_entity_id},title:'${m_entity_title}'}", is_display: true, is_readonly: false},
317
- {title: '排序', m_property: mproperty.prop_by('seq'), is_display: true, is_readonly: false},
318
- {title: '是否激活', m_property: mproperty.prop_by('is_active'), is_display: true, is_readonly: false},
319
- {title: '帮助', m_property: mproperty.prop_by('help'), is_display: true, is_readonly: false},
320
- {title: '备注', m_property: mproperty.prop_by('note'), is_display: true, is_readonly: false}].map { |a| a.merge(attr) })
321
- tab_prop.m_columns.build([{title: 'ID', m_property: mproperty.prop_by('id'), width: 35},
322
- {title: '标题', m_property: mproperty.prop_by('title'), width: 75},
323
- {title: '打印文本', m_property: mproperty.prop_by('print_text'), width: 75},
324
- {title: '标识', m_property: mproperty.prop_by('name'), width: 75},
325
- {title: '外键', m_property: mproperty.prop_by('external_key'), width: 75},
326
- {title: '数据类型', m_property: mproperty.prop_by('m_datatype_id'), width: 75},
327
- {title: '实体种类', m_property: mproperty.prop_by('entity_kind'), width: 75},
328
- {title: '所属实体', m_property: mproperty.prop_by('m_entity_id'), width: 75},
329
- {title: '排序', m_property: mproperty.prop_by('seq'), width: 75},
330
- {title: '是否激活', m_property: mproperty.prop_by('is_active'), width: 75},
331
- {title: '创建组织', m_property: mproperty.prop_by('createdbyorg_id'), width: 75},
332
- {title: '创建人', m_property: mproperty.prop_by('createdby_id'), width: 75},
333
- {title: '更新人', m_property: mproperty.prop_by('updatedby_id'), width: 75},
334
- {title: '备注', m_property: mproperty.prop_by('note'), width: 75}].map { |a| a.merge(attr) })
335
- end
336
- end
337
-
338
- # 菜单 菜单项
339
- menu_sys = Fastui::MMenu.create({name: 'menu_sys', title: '系统菜单'}.merge(attr))
340
-
341
- m_menu_item = Fastui::MEntity.create({name: 'Fastui::MMenuItem', title: '菜单项', access_level: 'system'}.merge(attr))
342
- mmenu.m_properties.create([{name: 'id', title: 'ID', m_datatype: v_number},
343
- {name: 'title', title: '标题', m_datatype: v_text},
344
- {name: 'print_text', title: '打印文本', m_datatype: v_text},
345
- {name: 'name', title: '标识', m_datatype: v_text},
346
- {name: 'entity_kind', title: '实体种类', m_datatype: entity_kind},
347
- {name: 'seq', title: '排序', m_datatype: v_number},
348
- {name: 'is_active', title: '是否激活', m_datatype: v_yesorno},
349
- {name: 'help', title: '帮助', m_datatype: v_textarea},
350
- {name: 'createdbyorg_id', title: '创建组织', m_datatype: m_relation_org},
351
- {name: 'createdby_id', title: '创建人', m_datatype: m_relation_person},
352
- {name: 'updatedby_id', title: '更新人', m_datatype: m_relation_person}].map { |a| a.merge(attr) })
353
- m_menu_item.m_properties.create([{name: 'id', title: 'ID', m_datatype: v_number},
354
- {name: 'title', title: '标题', m_datatype: v_text},
355
- {name: 'print_text', title: '打印文本', m_datatype: v_text},
356
- {name: 'name', title: '标识', m_datatype: v_text},
357
- {name: 'entity_kind', title: '实体种类', m_datatype: entity_kind},
358
- {name: 'm_menu_id', title: '对应菜单', m_datatype: m_relation_menu},
359
- {name: 'm_window_id', title: '对应窗口', m_datatype: m_relation_window},
360
- {name: 'seq', title: '排序', m_datatype: v_number},
361
- {name: 'is_active', title: '是否激活', m_datatype: v_yesorno},
362
- {name: 'help', title: '帮助', m_datatype: v_textarea},
363
- {name: 'createdbyorg_id', title: '创建组织', m_datatype: m_relation_org},
364
- {name: 'createdby_id', title: '创建人', m_datatype: m_relation_person},
365
- {name: 'updatedby_id', title: '更新人', m_datatype: m_relation_person}].map { |a| a.merge(attr) })
366
-
367
- sys_win_menu = Fastui::MWindow.create({title: '菜单', :window_kind => 'maintain'}.merge(attr)) do |w_menu|
368
- win_menu = w_menu.m_tabs.build({title: '菜单', m_entity: mmenu, is_readonly: true}.merge(attr))
369
- win_menu.m_fields.build([{title: 'ID', m_property: mmenu.prop_by('id'), is_display: true, is_readonly: true},
370
- {title: '标题', m_property: mmenu.prop_by('title'), is_display: true, is_readonly: false},
371
- {title: '打印文本', m_property: mmenu.prop_by('print_text'), is_display: true, is_readonly: false},
372
- {title: '标识', m_property: mmenu.prop_by('name'), is_display: true, is_readonly: false},
373
- {title: '实体种类', m_property: mmenu.prop_by('entity_kind'), is_display: true, is_readonly: false},
374
- {title: '排序', m_property: mmenu.prop_by('seq'), is_display: true, is_readonly: false},
375
- {title: '是否激活', m_property: mmenu.prop_by('is_active'), is_display: true, is_readonly: false},
376
- {title: '帮助', m_property: mmenu.prop_by('help'), is_display: true, is_readonly: false}].map { |a| a.merge(attr) })
377
- win_menu.m_columns.build([{title: 'ID', m_property: mmenu.prop_by('id'), width: 35},
378
- {title: '标题', m_property: mmenu.prop_by('title'), width: 75},
379
- {title: '打印文本', m_property: mmenu.prop_by('print_text'), width: 75},
380
- {title: '标识', m_property: mmenu.prop_by('name'), width: 75},
381
- {title: '实体种类', m_property: mmenu.prop_by('entity_kind'), width: 75},
382
- {title: '排序', m_property: mmenu.prop_by('seq'), width: 75},
383
- {title: '是否激活', m_property: mmenu.prop_by('is_active'), width: 75},
384
- {title: '创建组织', m_property: mmenu.prop_by('createdbyorg_id'), width: 75},
385
- {title: '创建人', m_property: mmenu.prop_by('createdby_id'), width: 75},
386
- {title: '更新人', m_property: mmenu.prop_by('updatedby_id'), width: 75}].map { |a| a.merge(attr) })
387
-
388
- w_menu.m_tabs.build({title: '菜单项', m_entity: m_menu_item, is_readonly: true, included_tab: win_menu}.merge(attr)) do |menu_item|
389
- menu_item.m_fields.build([{title: 'ID', m_property: m_menu_item.prop_by('id'), is_display: true, is_readonly: true},
390
- {title: '标题', m_property: m_menu_item.prop_by('title'), is_display: true, is_readonly: false},
391
- {title: '打印文本', m_property: m_menu_item.prop_by('print_text'), is_display: true, is_readonly: false},
392
- {title: '标识', m_property: m_menu_item.prop_by('name'), is_display: true, is_readonly: false},
393
- {title: '实体种类', m_property: m_menu_item.prop_by('entity_kind'), is_display: true, is_readonly: false},
394
- {title: '对应菜单', m_property: m_menu_item.prop_by('m_menu_id'), default_logic: "{id:${m_menu_id},title:'${m_menu_title}'}", is_display: true, is_readonly: false},
395
- {title: '对应窗口', m_property: m_menu_item.prop_by('m_window_id'), is_display: true, is_readonly: false},
396
- {title: '排序', m_property: m_menu_item.prop_by('seq'), is_display: true, is_readonly: false},
397
- {title: '是否激活', m_property: m_menu_item.prop_by('is_active'), is_display: true, is_readonly: false},
398
- {title: '帮助', m_property: m_menu_item.prop_by('help'), is_display: true, is_readonly: false}].map { |a| a.merge(attr) })
399
- menu_item.m_columns.build([{title: 'ID', m_property: m_menu_item.prop_by('id'), width: 35},
400
- {title: '标题', m_property: m_menu_item.prop_by('title'), width: 75},
401
- {title: '打印文本', m_property: m_menu_item.prop_by('print_text'), width: 75},
402
- {title: '标识', m_property: m_menu_item.prop_by('name'), width: 75},
403
- {title: '实体种类', m_property: m_menu_item.prop_by('entity_kind'), width: 75},
404
- {title: '对应菜单', m_property: m_menu_item.prop_by('m_menu_id'), width: 75},
405
- {title: '对应窗口', m_property: m_menu_item.prop_by('m_window_id'), width: 75},
406
- {title: '排序', m_property: m_menu_item.prop_by('seq'), width: 75},
407
- {title: '是否激活', m_property: m_menu_item.prop_by('is_active'), width: 75},
408
- {title: '创建组织', m_property: m_menu_item.prop_by('createdbyorg_id'), width: 75},
409
- {title: '创建人', m_property: m_menu_item.prop_by('createdby_id'), width: 75},
410
- {title: '更新人', m_property: m_menu_item.prop_by('updatedby_id'), width: 75}].map { |a| a.merge(attr) })
411
- end
412
- end
413
-
414
- # 数据类型 关联 枚举 枚举项
415
- m_dt_relation = Fastui::MEntity.create({name: 'Fastui::MRelation', title: '关联', access_level: 'system'}.merge(attr))
416
- m_dt_relation.m_properties.create([{name: 'id', title: 'ID', m_datatype: v_number},
417
- {name: 'title', title: '标题', m_datatype: v_text},
418
- {name: 'print_text', title: '打印文本', m_datatype: v_text},
419
- {name: 'name', title: '标识', m_datatype: v_text},
420
- {name: 'm_entity_id', title: '所属实体', m_datatype: m_relation_entity},
421
- #{name: 'm_entity_id', title: '所属实体', m_datatype: multi_relation_entity},
422
- {name: 'filter', title: '筛选条件', m_datatype: v_textarea},
423
- {name: 'access_level', title: '访问级别', m_datatype: access_level},
424
- {name: 'entity_kind', title: '实体种类', m_datatype: entity_kind},
425
- {name: 'seq', title: '排序', m_datatype: v_number},
426
- {name: 'is_active', title: '是否激活', m_datatype: v_yesorno},
427
- {name: 'help', title: '帮助', m_datatype: v_textarea},
428
- {name: 'note', title: '备注', m_datatype: v_textarea},
429
- {name: 'createdbyorg_id', title: '创建组织', m_datatype: m_relation_org},
430
- {name: 'createdby_id', title: '创建人', m_datatype: m_relation_person},
431
- {name: 'updatedby_id', title: '更新人', m_datatype: m_relation_person}].map { |a| a.merge(attr) })
432
-
433
- # 枚举
434
- m_list = Fastui::MEntity.create({name: 'Fastui::MList', title: '枚举', access_level: 'system'}.merge(attr))
435
- m_list.m_properties.create([{name: 'id', title: 'ID', m_datatype: v_number},
436
- {name: 'title', title: '标题', m_datatype: v_text},
437
- {name: 'print_text', title: '打印文本', m_datatype: v_text},
438
- {name: 'name', title: '标识', m_datatype: v_text},
439
- {name: 'entity_kind', title: '实体种类', m_datatype: entity_kind},
440
- {name: 'seq', title: '排序', m_datatype: v_number},
441
- {name: 'is_active', title: '是否激活', m_datatype: v_yesorno},
442
- {name: 'help', title: '帮助', m_datatype: v_textarea},
443
- {name: 'note', title: '备注', m_datatype: v_textarea},
444
- {name: 'createdbyorg_id', title: '创建组织', m_datatype: m_relation_org},
445
- {name: 'createdby_id', title: '创建人', m_datatype: m_relation_person},
446
- {name: 'updatedby_id', title: '更新人', m_datatype: m_relation_person}].map { |a| a.merge(attr) })
447
-
448
- # 枚举项
449
- m_list_item = Fastui::MEntity.create({name: 'Fastui::MListItem', title: '枚举项', access_level: 'system'}.merge(attr))
450
- m_list_item.m_properties.create([{name: 'id', title: 'ID', m_datatype: v_number},
451
- {name: 'title', title: '标题', m_datatype: v_text},
452
- {name: 'print_text', title: '打印文本', m_datatype: v_text},
453
- {name: 'name', title: '标识', m_datatype: v_text},
454
- {name: 'entity_kind', title: '实体种类', m_datatype: entity_kind},
455
- {name: 'seq', title: '排序', m_datatype: v_number},
456
- {name: 'is_active', title: '是否激活', m_datatype: v_yesorno},
457
- {name: 'help', title: '帮助', m_datatype: v_textarea},
458
- {name: 'note', title: '备注', m_datatype: v_textarea},
459
- {name: 'createdbyorg_id', title: '创建组织', m_datatype: m_relation_org},
460
- {name: 'createdby_id', title: '创建人', m_datatype: m_relation_person},
461
- {name: 'updatedby_id', title: '更新人', m_datatype: m_relation_person}].map { |a| a.merge(attr) })
462
-
463
-
464
- sys_datatype = Fastui::MWindow.create({title: '数据类型', window_kind: 'maintain'}.merge(attr)) do |data_type|
465
- data_type.m_tabs.build({title: '关联', m_entity: m_dt_relation, is_readonly: true}.merge(attr)) do |rel|
466
- rel.m_fields.build([{title: 'ID', m_property: m_dt_relation.prop_by('id'), is_display: true, is_readonly: true},
467
- {title: '标题', m_property: m_dt_relation.prop_by('title'), is_display: true, is_readonly: false},
468
- {title: '打印文本', m_property: m_dt_relation.prop_by('print_text'), is_display: true, is_readonly: false},
469
- {title: '标识', m_property: m_dt_relation.prop_by('name'), is_display: true, is_readonly: false},
470
- {title: '关联实体', m_property: m_dt_relation.prop_by('m_entity_id'), is_display: true, is_readonly: false},
471
- {title: '筛选条件', m_property: m_dt_relation.prop_by('filter'), is_display: true, is_readonly: false},
472
- {title: '访问级别', m_property: m_dt_relation.prop_by('access_level'), is_display: true, is_readonly: false},
473
- {title: '实体种类', m_property: m_dt_relation.prop_by('entity_kind'), is_display: true, is_readonly: false},
474
- {title: '排序', m_property: m_dt_relation.prop_by('seq'), is_display: true, is_readonly: false},
475
- {title: '是否激活', m_property: m_dt_relation.prop_by('is_active'), is_display: true, is_readonly: false},
476
- {title: '帮助', m_property: m_dt_relation.prop_by('help'), is_display: true, is_readonly: false},
477
- {title: '备注', m_property: m_dt_relation.prop_by('note'), is_display: true, is_readonly: false}].map { |a| a.merge(attr) })
478
- rel.m_columns.build([{title: 'ID', m_property: m_dt_relation.prop_by('id'), width: 35},
479
- {title: '标题', m_property: m_dt_relation.prop_by('title'), width: 75},
480
- {title: '打印文本', m_property: m_dt_relation.prop_by('print_text'), width: 75},
481
- {title: '标识', m_property: m_dt_relation.prop_by('name'), width: 75},
482
- {title: '关联实体', m_property: m_dt_relation.prop_by('m_entity_id'), width: 75},
483
- {title: '筛选条件', m_property: m_dt_relation.prop_by('filter'), width: 75},
484
- {title: '访问级别', m_property: m_dt_relation.prop_by('access_level'), width: 75},
485
- {title: '实体种类', m_property: m_dt_relation.prop_by('entity_kind'), width: 75},
486
- {title: '排序', m_property: m_dt_relation.prop_by('seq'), width: 75},
487
- {title: '是否激活', m_property: m_dt_relation.prop_by('is_active'), width: 75},
488
- {title: '创建组织', m_property: m_dt_relation.prop_by('createdbyorg_id'), width: 75},
489
- {title: '创建人', m_property: m_dt_relation.prop_by('createdby_id'), width: 75},
490
- {title: '更新人', m_property: m_dt_relation.prop_by('updatedby_id'), width: 75},
491
- {title: '备注', m_property: m_dt_relation.prop_by('note'), width: 75}].map { |a| a.merge(attr) })
492
- end
493
- w_list = data_type.m_tabs.build({title: '枚举', m_entity: m_list, is_readonly: true}.merge(attr))
494
- w_list.m_fields.build([{title: 'ID', m_property: m_list.prop_by('id'), is_display: true, is_readonly: true},
495
- {title: '标题', m_property: m_list.prop_by('title'), is_display: true, is_readonly: false},
496
- {title: '打印文本', m_property: m_list.prop_by('print_text'), is_display: true, is_readonly: false},
497
- {title: '标识', m_property: m_list.prop_by('name'), is_display: true, is_readonly: false},
498
- {title: '实体种类', m_property: m_list.prop_by('entity_kind'), is_display: true, is_readonly: false},
499
- {title: '排序', m_property: m_list.prop_by('seq'), is_display: true, is_readonly: false},
500
- {title: '是否激活', m_property: m_list.prop_by('is_active'), is_display: true, is_readonly: false},
501
- {title: '帮助', m_property: m_list.prop_by('help'), is_display: true, is_readonly: false},
502
- {title: '备注', m_property: m_list.prop_by('note'), is_display: true, is_readonly: false}].map { |a| a.merge(attr) })
503
- w_list.m_columns.build([{title: 'ID', m_property: m_list.prop_by('id'), width: 35},
504
- {title: '标题', m_property: m_list.prop_by('title'), width: 75},
505
- {title: '打印文本', m_property: m_list.prop_by('print_text'), width: 75},
506
- {title: '标识', m_property: m_list.prop_by('name'), width: 75},
507
- {title: '实体种类', m_property: m_list.prop_by('entity_kind'), width: 75},
508
- {title: '排序', m_property: m_list.prop_by('seq'), width: 75},
509
- {title: '是否激活', m_property: m_list.prop_by('is_active'), width: 75},
510
- {title: '创建组织', m_property: m_list.prop_by('createdbyorg_id'), width: 75},
511
- {title: '创建人', m_property: m_list.prop_by('createdby_id'), width: 75},
512
- {title: '更新人', m_property: m_list.prop_by('updatedby_id'), width: 75},
513
- {title: '备注', m_property: m_list.prop_by('note'), width: 75}].map { |a| a.merge(attr) })
514
-
515
- data_type.m_tabs.build({title: '枚举项', m_entity: m_list_item, is_readonly: true, included_tab: w_list}.merge(attr)) do |w_list_item|
516
- w_list_item.m_fields.build([{title: 'ID', m_property: m_list_item.prop_by('id'), is_display: true, is_readonly: true},
517
- {title: '标题', m_property: m_list_item.prop_by('title'), is_display: true, is_readonly: false},
518
- {title: '打印文本', m_property: m_list_item.prop_by('print_text'), is_display: true, is_readonly: false},
519
- {title: '标识', m_property: m_list_item.prop_by('name'), is_display: true, is_readonly: false},
520
- {title: '实体种类', m_property: m_list_item.prop_by('entity_kind'), is_display: true, is_readonly: false},
521
- {title: '排序', m_property: m_list_item.prop_by('seq'), is_display: true, is_readonly: false},
522
- {title: '是否激活', m_property: m_list_item.prop_by('is_active'), is_display: true, is_readonly: false},
523
- {title: '帮助', m_property: m_list_item.prop_by('help'), is_display: true, is_readonly: false},
524
- {title: '备注', m_property: m_list_item.prop_by('note'), is_display: true, is_readonly: false}].map { |a| a.merge(attr) })
525
- w_list_item.m_columns.build([{title: 'ID', m_property: m_list_item.prop_by('id'), width: 35},
526
- {title: '标题', m_property: m_list_item.prop_by('title'), width: 75},
527
- {title: '打印文本', m_property: m_list_item.prop_by('print_text'), width: 75},
528
- {title: '标识', m_property: m_list_item.prop_by('name'), width: 75},
529
- {title: '实体种类', m_property: m_list_item.prop_by('entity_kind'), width: 75},
530
- {title: '排序', m_property: m_list_item.prop_by('seq'), width: 75},
531
- {title: '是否激活', m_property: m_list_item.prop_by('is_active'), width: 75},
532
- {title: '创建组织', m_property: m_list_item.prop_by('createdbyorg_id'), width: 75},
533
- {title: '创建人', m_property: m_list_item.prop_by('createdby_id'), width: 75},
534
- {title: '更新人', m_property: m_list_item.prop_by('updatedby_id'), width: 75},
535
- {title: '备注', m_property: m_list_item.prop_by('note'), width: 75}].map { |a| a.merge(attr) })
536
- end
537
-
538
- end
539
-
540
-
541
- # 权限 人员 角色 测试activerecord many-to-many relations
542
- m_rights_person = Fastui::MEntity.create({name: 'Fastui::MPerson', title: '人员', access_level: 'system'}.merge(attr))
543
- m_rights_person.m_properties.create([{name: 'id', title: 'ID', m_datatype: v_number},
544
- {name: 'title', title: '标题', m_datatype: v_text},
545
- {name: 'print_text', title: '打印文本', m_datatype: v_text},
546
- {name: 'name', title: '标识', m_datatype: v_text},
547
- {name: 'access_level', title: '访问级别', m_datatype: access_level},
548
- {name: 'entity_kind', title: '实体种类', m_datatype: entity_kind},
549
- {name: 'seq', title: '排序', m_datatype: v_number},
550
- {name: 'is_active', title: '是否激活', m_datatype: v_yesorno},
551
- {name: 'help', title: '帮助', m_datatype: v_textarea},
552
- {name: 'note', title: '备注', m_datatype: v_textarea},
553
- {name: 'createdbyorg_id', title: '创建组织', m_datatype: m_relation_org},
554
- {name: 'createdby_id', title: '创建人', m_datatype: m_relation_person},
555
- {name: 'updatedby_id', title: '更新人', m_datatype: m_relation_person}].map { |a| a.merge(attr) })
556
-
557
- # 角色
558
- m_rights_role = Fastui::MEntity.create({name: 'Fastui::MRole', title: '角色', access_level: 'system'}.merge(attr))
559
- m_rights_role.m_properties.create([{name: 'id', title: 'ID', m_datatype: v_number},
560
- {name: 'title', title: '标题', m_datatype: v_text},
561
- {name: 'print_text', title: '打印文本', m_datatype: v_text},
562
- {name: 'name', title: '标识', m_datatype: v_text},
563
- {name: 'person_id', title: '对应人员', m_datatype: multi_relation_person},
564
- {name: 'entity_kind', title: '实体种类', m_datatype: entity_kind},
565
- {name: 'seq', title: '排序', m_datatype: v_number},
566
- {name: 'is_active', title: '是否激活', m_datatype: v_yesorno},
567
- {name: 'help', title: '帮助', m_datatype: v_textarea},
568
- {name: 'note', title: '备注', m_datatype: v_textarea},
569
- {name: 'createdbyorg_id', title: '创建组织', m_datatype: m_relation_org},
570
- {name: 'createdby_id', title: '创建人', m_datatype: m_relation_person},
571
- {name: 'updatedby_id', title: '更新人', m_datatype: m_relation_person}].map { |a| a.merge(attr) })
572
-
573
-
574
- sys_rights = Fastui::MWindow.create({title: '权限', window_kind: 'maintain'}.merge(attr)) do |rights|
575
- rights.m_tabs.build({title: '人员', m_entity: m_rights_person, is_readonly: true}.merge(attr)) do |r_person|
576
- r_person.m_fields.build([{title: 'ID', m_property: m_rights_person.prop_by('id'), is_display: true, is_readonly: true},
577
- {title: '标题', m_property: m_rights_person.prop_by('title'), is_display: true, is_readonly: false},
578
- {title: '打印文本', m_property: m_rights_person.prop_by('print_text'), is_display: true, is_readonly: false},
579
- {title: '标识', m_property: m_rights_person.prop_by('name'), is_display: true, is_readonly: false},
580
- {title: '访问级别', m_property: m_rights_person.prop_by('access_level'), is_display: true, is_readonly: false},
581
- {title: '实体种类', m_property: m_rights_person.prop_by('entity_kind'), is_display: true, is_readonly: false},
582
- {title: '排序', m_property: m_rights_person.prop_by('seq'), is_display: true, is_readonly: false},
583
- {title: '是否激活', m_property: m_rights_person.prop_by('is_active'), is_display: true, is_readonly: false},
584
- {title: '帮助', m_property: m_rights_person.prop_by('help'), is_display: true, is_readonly: false},
585
- {title: '备注', m_property: m_rights_person.prop_by('note'), is_display: true, is_readonly: false}].map { |a| a.merge(attr) })
586
- r_person.m_columns.build([{title: 'ID', m_property: m_rights_person.prop_by('id'), width: 35},
587
- {title: '标题', m_property: m_rights_person.prop_by('title'), width: 75},
588
- {title: '打印文本', m_property: m_rights_person.prop_by('print_text'), width: 75},
589
- {title: '标识', m_property: m_rights_person.prop_by('name'), width: 75},
590
- {title: '访问级别', m_property: m_rights_person.prop_by('access_level'), width: 75},
591
- {title: '实体种类', m_property: m_rights_person.prop_by('entity_kind'), width: 75},
592
- {title: '排序', m_property: m_rights_person.prop_by('seq'), width: 75},
593
- {title: '是否激活', m_property: m_rights_person.prop_by('is_active'), width: 75},
594
- {title: '创建组织', m_property: m_rights_person.prop_by('createdbyorg_id'), width: 75},
595
- {title: '创建人', m_property: m_rights_person.prop_by('createdby_id'), width: 75},
596
- {title: '更新人', m_property: m_rights_person.prop_by('updatedby_id'), width: 75},
597
- {title: '备注', m_property: m_rights_person.prop_by('note'), width: 75}].map { |a| a.merge(attr) })
598
- end
599
- r_role= rights.m_tabs.build({title: '角色', m_entity: m_rights_role, is_readonly: true}.merge(attr))
600
- r_role.m_fields.build([{title: 'ID', m_property: m_rights_role.prop_by('id'), is_display: true, is_readonly: true},
601
- {title: '标题', m_property: m_rights_role.prop_by('title'), is_display: true, is_readonly: false},
602
- {title: '打印文本', m_property: m_rights_role.prop_by('print_text'), is_display: true, is_readonly: false},
603
- {title: '标识', m_property: m_rights_role.prop_by('name'), is_display: true, is_readonly: false},
604
- {title: '对应人员', m_property: m_rights_role.prop_by('person_id'), is_display: true, is_readonly: false},
605
- {title: '实体种类', m_property: m_rights_role.prop_by('entity_kind'), is_display: true, is_readonly: false},
606
- {title: '排序', m_property: m_rights_role.prop_by('seq'), is_display: true, is_readonly: false},
607
- {title: '是否激活', m_property: m_rights_role.prop_by('is_active'), is_display: true, is_readonly: false},
608
- {title: '帮助', m_property: m_rights_role.prop_by('help'), is_display: true, is_readonly: false},
609
- {title: '备注', m_property: m_rights_role.prop_by('note'), is_display: true, is_readonly: false}].map { |a| a.merge(attr) })
610
- r_role.m_columns.build([{title: 'ID', m_property: m_rights_role.prop_by('id'), width: 35},
611
- {title: '标题', m_property: m_rights_role.prop_by('title'), width: 75},
612
- {title: '打印文本', m_property: m_rights_role.prop_by('print_text'), width: 75},
613
- {title: '标识', m_property: m_rights_role.prop_by('name'), width: 75},
614
- {title: '对应人员', m_property: m_rights_role.prop_by('person_id'), width: 75},
615
- {title: '实体种类', m_property: m_rights_role.prop_by('entity_kind'), width: 75},
616
- {title: '排序', m_property: m_rights_role.prop_by('seq'), width: 75},
617
- {title: '是否激活', m_property: m_rights_role.prop_by('is_active'), width: 75},
618
- {title: '创建组织', m_property: m_rights_role.prop_by('createdbyorg_id'), width: 75},
619
- {title: '创建人', m_property: m_rights_role.prop_by('createdby_id'), width: 75},
620
- {title: '更新人', m_property: m_rights_role.prop_by('updatedby_id'), width: 75},
621
- {title: '备注', m_property: m_rights_role.prop_by('note'), width: 75}].map { |a| a.merge(attr) })
622
-
623
-
624
- end
625
-
626
- sys_org = Fastui::MWindow.create({title: '组织', window_kind: 'maintain'})
627
-
628
- m_org.m_properties.build([{name: 'id', title: 'ID', m_datatype: v_number},
629
- {name: 'title', title: '组织', m_datatype: v_tree},
630
- {name: 'print_text', title: '打印文本', m_datatype: v_text},
631
- {name: 'name', title: '组织编码', m_datatype: v_text},
632
- #{name: 'type', title: '组织类型', m_datatype: subject_type},
633
- {name: 'parent_id', title: '父组织', m_datatype: m_relation_org},
634
- {name: 'entity_kind', title: '实体种类', m_datatype: entity_kind},
635
- {name: 'seq', title: '排序', m_datatype: v_number},
636
- {name: 'is_active', title: '是否激活', m_datatype: v_yesorno},
637
- {name: 'help', title: '帮助', m_datatype: v_textarea},
638
- {name: 'note', title: '备注', m_datatype: v_textarea},
639
- {name: 'createdbyorg_id', title: '创建组织', m_datatype: m_relation_org},
640
- {name: 'updatedby_id', title: '更新人', m_datatype: m_relation_person}
641
- ])
642
- tab_org = sys_org.m_tabs.create({title: '组织', m_entity: m_org, is_readonly: true, grid_kind:'treegrid'}.merge(attr)) do |org|
643
- org.m_fields.build([{title: 'ID', m_property: m_org.prop_by('id'), is_display: true, is_readonly: true},
644
- {title: '组织名', m_property: m_org.prop_by('title'), is_display: true, is_readonly: false},
645
- {title: '打印文本', m_property: m_org.prop_by('print_text'), is_display: true, is_readonly: false},
646
- {title: '组织编码', m_property: m_org.prop_by('name'), is_display: true, is_readonly: false},
647
- #{title: '学科类型', m_property: m_org.prop_by('subject_type'), is_display: true, is_readonly: false},
648
- {title: '父组织', m_property: m_org.prop_by('parent_id'), is_display: true, is_readonly: false},
649
- {title: '实体种类', m_property: m_org.prop_by('entity_kind'), is_display: true, is_readonly: false},
650
- {title: '排序', m_property: m_org.prop_by('seq'), is_display: true, is_readonly: false},
651
- {title: '是否激活', m_property: m_org.prop_by('is_active'), is_display: true, is_readonly: false},
652
- {title: '帮助', m_property: m_org.prop_by('help'), is_display: true, is_readonly: false},
653
- {title: '备注', m_property: m_org.prop_by('note'), is_display: true, is_readonly: false}].map { |a| a.merge(attr) })
654
- org.m_columns.build([{title: 'ID', m_property: m_org.prop_by('id'), width: 35},
655
- {title: '组织名', m_property: m_org.prop_by('title'), width: 75},
656
- {title: '打印文本', m_property: m_org.prop_by('print_text'), width: 75},
657
- {title: '组织编码', m_property: m_org.prop_by('name'), width: 75},
658
- #{title: '学科类型', m_property: m_org.prop_by('subject_type'), width: 75},
659
- {title: '父组织', m_property: m_org.prop_by('parent_id'), width: 75},
660
- {title: '实体种类', m_property: m_org.prop_by('entity_kind'), width: 75},
661
- {title: '排序', m_property: m_org.prop_by('seq'), width: 75},
662
- {title: '是否激活', m_property: m_org.prop_by('is_active'), width: 75},
663
- {title: '创建组织', m_property: m_org.prop_by('createdbyorg_id'), width: 75},
664
- {title: '创建人', m_property: m_org.prop_by('updatedby_id'), width: 75},
665
- {title: '更新人', m_property: m_org.prop_by('updatedby_id'), width: 75},
666
- {title: '备注', m_property: m_org.prop_by('note'), width: 75}
667
- ].map { |a| a.merge(attr) })
668
- end
669
-
670
- sys_scale = Fastui::MWindow.create({title: '评定表', :window_kind => 'maintain'}.merge(attr))
671
- m_comment.m_properties.build([
672
- {name: 'title', title: '名称', m_datatype: v_tree},
673
- {name: 'note', title: '描述', m_datatype: v_textarea},
674
- {name: 'guide', title: '指导', m_datatype: v_text},
675
- {name: 'total', title: '总分', m_datatype: v_number},
676
- {name: 'memo', title: '备注', m_datatype: v_textarea}
677
- ])
678
- tab_comment = sys_scale.m_tabs.create({title: '评论', m_entity: m_comment, form_kind: 'VComment', is_readonly: true}.merge(attr)) do |com|
679
- com.m_fields.build([{title: '名称', m_property: m_comment.prop_by('title'), is_display: true, is_readonly: false},
680
- {title: '描述', m_property: m_comment.prop_by('note'), is_display: true, is_readonly: false},
681
- {title: '指导', m_property: m_comment.prop_by('guide'), is_display: true, is_readonly: false},
682
- {title: '总分', m_property: m_comment.prop_by('total'), is_display: true, is_readonly: false},
683
- {title: '备注', m_property: m_comment.prop_by('memo'), is_display: true, is_readonly: false}
684
- ].map { |a| a.merge(attr) })
685
- com.m_columns.build([{title: '名称', m_property: m_comment.prop_by('title'), width: 35},
686
- {title: '描述', m_property: m_comment.prop_by('note'), width: 75},
687
- {title: '指导', m_property: m_comment.prop_by('guide'), width: 75},
688
- {title: '总分', m_property: m_comment.prop_by('total'), width: 75},
689
- {title: '备注', m_property: m_comment.prop_by('memo'), width: 75}
690
- ].map { |a| a.merge(attr) })
691
- end
692
-
693
- menu_sys_settings = Fastui::MMenuItem.create({name: 'sys_tools', title: '系统设置', m_menu_id: menu_sys.id, m_window_id: 0}.merge(attr))
694
- menu_sys_settings_sys_datatype = menu_sys_settings.children.create({name: 'sys_datatype', title: '数据类型', m_window_id: sys_datatype.id, m_menu_id: menu_sys.id}.merge(attr))
695
- menu_sys_settings_win_entity = menu_sys_settings.children.create({name: 'win_entity', title: '实体', m_window_id: win_entity.id, m_menu_id: menu_sys.id}.merge(attr))
696
- menu_sys_settings_fastui = menu_sys_settings.children.create({name: 'sys_fastui', title: 'FastUI', m_window_id: win.id, m_menu_id: menu_sys.id}.merge(attr))
697
- menu_sys_settings_win_menu = menu_sys_settings.children.create({name: 'win_menu', title: '菜单', m_window_id: sys_win_menu.id, m_menu_id: menu_sys.id}.merge(attr))
698
-
699
- # 权限
700
- menu_sys_settings_rights = menu_sys_settings.children.create({name: 'rights', title: '权限', m_window_id: sys_rights.id, m_menu_id: menu_sys.id}.merge(attr))
701
- # 组织
702
- org_settings = menu_sys_settings.children.create({name: 'org', title: '组织', m_window_id: sys_org.id, m_menu_id: menu_sys.id}.merge(attr))
703
-
704
-
705
- scale_settings = menu_sys_settings.children.create({name: 'win_scale', title: '评定表', m_window_id: sys_scale.id, m_menu_id: menu_sys.id}.merge(attr))
706
- end
707
- end