From b5893d4a599147e89f49863a5c6b564754222683 Mon Sep 17 00:00:00 2001
From: zhouzhou <123@qq.com>
Date: Sat, 21 Dec 2024 21:05:23 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../models/inherit_hr_employee.py | 10 +-
.../models/inherit_planning_role.py | 5 +-
.../models/yuthon_duty_plan.py | 11 +-
.../models/yuthon_run_planning.py | 35 +-
.../views/yuthon_run_planning_views.xml | 8 +-
yuthon_property/models/yuthon_property.py | 22 +-
.../models/yuthon_resource_mgmt_config.py | 10 +-
yuthon_property/security/ir.model.access.csv | 3 +-
yuthon_property/views/menuitem.xml | 7 +-
.../views/yuthon_property_views.xml | 5 +-
.../yuthon_resource_mgmt_config_views.xml | 18 +-
.../models/property_evaluate_application.py | 2 +-
.../models/property_information.py | 2 +-
.../models/property_management.py | 2 +-
.../models/property_record.py | 2 +-
yuthon_work_brand/views/attendance_menu.xml | 452 +++++++++---------
16 files changed, 320 insertions(+), 274 deletions(-)
diff --git a/yuthon_hr_attendance/models/inherit_hr_employee.py b/yuthon_hr_attendance/models/inherit_hr_employee.py
index b826f38f7..23c968e45 100644
--- a/yuthon_hr_attendance/models/inherit_hr_employee.py
+++ b/yuthon_hr_attendance/models/inherit_hr_employee.py
@@ -11,11 +11,15 @@ class YuthonHrEmployee(models.Model):
def _compute_user_roles(self):
group_mapping = {
'运行班排班计划管理员': 'group_property_run_admin',
+ '运行班:用户':'group_property_run_user',
'高压班排班计划管理员': 'group_property_hv_admin',
+ '高压班:用户': 'group_property_hv_user',
'综合班排班计划管理员': 'group_property_integrated_admin',
- '班组A排班计划管理员': 'group_property_class_a_admin',
- '班组B排班计划管理员': 'group_property_class_b_admin',
- '班组C排班计划管理员': 'group_property_class_c_admin',
+ '综合班:用户': 'group_property_integrated_user',
+ '保安部排班计划管理员': 'group_property_class_a_admin',
+ '保安部:用户': 'group_property_security_user',
+ '联安粮库排班计划管理员': 'group_property_grain_depot_admin',
+ '联安粮库:用户':'group_property_grain_depot_user',
}
old_users_ids = self.user_role_ids
for employee in self:
diff --git a/yuthon_hr_attendance/models/inherit_planning_role.py b/yuthon_hr_attendance/models/inherit_planning_role.py
index 9773d2773..1152bbad4 100644
--- a/yuthon_hr_attendance/models/inherit_planning_role.py
+++ b/yuthon_hr_attendance/models/inherit_planning_role.py
@@ -36,12 +36,11 @@ class InheritPlanningSlot(models.Model):
_inherit = 'planning.slot'
department_id = fields.Many2one('hr.department', string="部门")
+ display_sequence = fields.Integer(string=" ")
@api.depends('start_datetime', 'end_datetime', 'template_id')
def _compute_display_name(self):
for slot in self:
- start_str = (slot.start_datetime + timedelta(hours=8)).strftime("%Y/%m/%d %H:%M") if slot.start_datetime else ""
- end_str = (slot.end_datetime + timedelta(hours=8)).strftime("%Y/%m/%d %H:%M") if slot.end_datetime else ""
planning_name = slot.template_id.planning_name if slot.template_id and slot.template_id.planning_name else ""
- slot.display_name = f"{start_str}-{end_str}-{planning_name}"
+ slot.display_name = f"{planning_name}"
diff --git a/yuthon_hr_attendance/models/yuthon_duty_plan.py b/yuthon_hr_attendance/models/yuthon_duty_plan.py
index 798d82a0f..c0e97382d 100644
--- a/yuthon_hr_attendance/models/yuthon_duty_plan.py
+++ b/yuthon_hr_attendance/models/yuthon_duty_plan.py
@@ -19,11 +19,6 @@ class YuthonDutyPlan(models.Model):
('5', '五月'), ('6', '六月'), ('7', '七月'), ('8', '八月'),
('9', '九月'), ('10', '十月'), ('11', '十一月'),
('12', '十二月')], string='选择月份', default=lambda self: self._get_default_month())
- # default = lambda self: self._default_month()
- # @api.model
- # def _default_month(self):
- # current_month = datetime.now().strftime('%B')
- # return current_month
def auto_duty_plan(self, next_date=False):
selected_month = int(self.select_time)
@@ -33,14 +28,14 @@ class YuthonDutyPlan(models.Model):
# 计算结束日期(下个月的第一天)
next_month = (selected_month % 12) + 1
next_year = year + (1 if next_month == 1 else 0) # 如果是12月,年份加1
- last_day_of_month = datetime(next_year, next_month, 1)
+ last_day_of_month = datetime(next_year, next_month, 1)- timedelta(days=1)
else:
next_month = (selected_month % 12) + 1
next_year = year + (1 if next_month == 1 else 0)
first_day_of_month = datetime(next_year, next_month, 1)
next_next_month = (next_month % 12) + 1
next_next_year = next_year + (1 if next_next_month == 1 else 0)
- last_day_of_month = datetime(next_next_year, next_next_month, 1)
+ last_day_of_month = datetime(next_next_year, next_next_month, 1)- timedelta(days=1)
role_a = self.env['planning.role'].search([('name', '=', '联安粮库')], limit=1)
role_template_a = self.env['planning.slot.template'].search([('planning_name', '=', '白班'), ('role_id', '=', role_a.id)])
@@ -71,7 +66,7 @@ class YuthonDutyPlan(models.Model):
if zu == len(self.plan_line_ids):
zu = 0
for employee in self.plan_line_ids[zu].employee_ids:
- employee_id = self.env['planning.slot'].search([('resource_id', '=', employee.resource_id.id)]).sorted('start_datetime')
+ employee_id = self.env['planning.slot'].search([('resource_id', '=', employee.resource_id.id),('start_datetime', '>=', first_day_of_month), ('start_datetime', '<=', last_day_of_month)]).sorted('start_datetime')
if i < len(employee_id):
start_hour2 = int(role_template_b.start_time)
end_hour2 = int(role_template_b.end_time)
diff --git a/yuthon_hr_attendance/models/yuthon_run_planning.py b/yuthon_hr_attendance/models/yuthon_run_planning.py
index d4f3090ab..8d03c9d79 100644
--- a/yuthon_hr_attendance/models/yuthon_run_planning.py
+++ b/yuthon_hr_attendance/models/yuthon_run_planning.py
@@ -25,17 +25,17 @@ class YuthonRunPlanning(models.Model):
year = datetime.now().year
if not next_date:
first_day_of_month = datetime(year, selected_month, 1)
- # 计算结束日期(下个月的第一天)
+ # 计算结束日期(当月的最后一天)
next_month = (selected_month % 12) + 1
- next_year = year + (1 if next_month == 1 else 0) # 如果是12月,年份加1
- last_day_of_month = datetime(next_year, next_month, 1)
+ next_year = year + (1 if next_month == 1 else 0)
+ last_day_of_month = datetime(next_year, next_month, 1) - timedelta(days=1)
else:
next_month = (selected_month % 12) + 1
next_year = year + (1 if next_month == 1 else 0)
first_day_of_month = datetime(next_year, next_month, 1)
next_next_month = (next_month % 12) + 1
next_next_year = next_year + (1 if next_next_month == 1 else 0)
- last_day_of_month = datetime(next_next_year, next_next_month, 1)
+ last_day_of_month = datetime(next_next_year, next_next_month, 1) - timedelta(days=1)
role_a = self.env['planning.role'].search([('name', '=', '工程部')], limit=1)
start_time = int(self.env['planning.slot.template'].search([('role_id', '=', role_a.id), ('planning_name', '=', '白班')]).start_time)
@@ -57,13 +57,13 @@ class YuthonRunPlanning(models.Model):
break
start_time2 = int(self.env['planning.slot.template'].search([('planning_name', '=', '中夜'), ('role_id', '=', role_a.id)]).start_time)
end_time2 = int(self.env['planning.slot.template'].search([('planning_name', '=', '中夜'), ('role_id', '=', role_a.id)]).end_time)
- all_slot = self.env['planning.slot'].search([('department_id.name', '=', '运行班')])
current_date = first_day_of_month
+ all_slot = self.env['planning.slot'].search([('department_id.name', '=', '运行班'), ('start_datetime', '>=', first_day_of_month), ('start_datetime', '<=', last_day_of_month)])
i = -1
while current_date <= last_day_of_month:
for employee in range(0, len(self.engineering_run_ids)):
i = i + 1
- slot_id = all_slot.search([('resource_id', '=', self.engineering_run_ids[employee].employee_id.resource_id.id)]).sorted('start_datetime')
+ slot_id = all_slot.search([('resource_id', '=', self.engineering_run_ids[employee].employee_id.resource_id.id),('start_datetime', '>=', first_day_of_month),('start_datetime', '<=', last_day_of_month)]).sorted('start_datetime')
if i < 31:
slot_id[i].write({
'template_id': self.env['planning.slot.template'].search([('role_id', '=', role_a.id), ('planning_name', '=', '中夜')]).id,
@@ -104,6 +104,7 @@ class YuthonRunPlanning(models.Model):
'resource_id': resource_id.id,
'start_datetime': datetime(current_date.year, current_date.month, current_date.day,start_time) + timedelta(hours=16)- timedelta(days=1),
'end_datetime': datetime(current_date.year, current_date.month, current_date.day,end_time) + timedelta(hours=16)- timedelta(days=1),
+ 'display_sequence': employee.sequence,
'role_id': role_a.id,
'allocated_hours': 8,
})
@@ -128,14 +129,14 @@ class YuthonRunPlanning(models.Model):
# 计算结束日期(下个月的第一天)
next_month = (selected_month % 12) + 1
next_year = year + (1 if next_month == 1 else 0) # 如果是12月,年份加1
- last_day_of_month = datetime(next_year, next_month, 1)
+ last_day_of_month = datetime(next_year, next_month, 1) - timedelta(days=1)
else:
next_month = (selected_month % 12) + 1
next_year = year + (1 if next_month == 1 else 0)
first_day_of_month = datetime(next_year, next_month, 1)
next_next_month = (next_month % 12) + 1
next_next_year = next_year + (1 if next_next_month == 1 else 0)
- last_day_of_month = datetime(next_next_year, next_next_month, 1)
+ last_day_of_month = datetime(next_next_year, next_next_month, 1) - timedelta(days=1)
role_a = self.env['planning.role'].search([('name', '=', '工程部')], limit=1)
start_time = int(self.env['planning.slot.template'].search([('role_id', '=', role_a.id), ('planning_name', '=', '白班')]).start_time)
@@ -157,15 +158,13 @@ class YuthonRunPlanning(models.Model):
break
start_time2 = int(self.env['planning.slot.template'].search( [('planning_name', '=', '中夜'), ('role_id', '=', role_a.id)]).start_time)
end_time2 = int(self.env['planning.slot.template'].search([('planning_name', '=', '中夜'), ('role_id', '=', role_a.id)]).end_time)
- all_slot = self.env['planning.slot'].search([('department_id.name', '=', '高压班')])
current_date = first_day_of_month
+ all_slot = self.env['planning.slot'].search([('department_id.name', '=', '高压班'), ('start_datetime', '>=', first_day_of_month),('start_datetime', '<=', last_day_of_month)])
i = -1
while current_date <= last_day_of_month:
for employee in range(0, len(self.high_run_ids)):
i = i + 1
- slot_id = all_slot.search(
- [('resource_id', '=', self.high_run_ids[employee].employee_id.resource_id.id)]).sorted(
- 'start_datetime')
+ slot_id = all_slot.search([('resource_id', '=', self.engineering_run_ids[employee].employee_id.resource_id.id), ('start_datetime', '>=', first_day_of_month), ('start_datetime', '<=', last_day_of_month)]).sorted('start_datetime')
if i < 31:
slot_id[i].write({
'template_id': self.env['planning.slot.template'].search(
@@ -205,14 +204,14 @@ class YuthonRunPlanning(models.Model):
# 计算结束日期(下个月的第一天)
next_month = (selected_month % 12) + 1
next_year = year + (1 if next_month == 1 else 0) # 如果是12月,年份加1
- last_day_of_month = datetime(next_year, next_month, 1)
+ last_day_of_month = datetime(next_year, next_month, 1)- timedelta(days=1)
else:
next_month = (selected_month % 12) + 1
next_year = year + (1 if next_month == 1 else 0)
first_day_of_month = datetime(next_year, next_month, 1)
next_next_month = (next_month % 12) + 1
next_next_year = next_year + (1 if next_next_month == 1 else 0)
- last_day_of_month = datetime(next_next_year, next_next_month, 1)
+ last_day_of_month = datetime(next_next_year, next_next_month, 1)- timedelta(days=1)
role_a = self.env['planning.role'].search([('name', '=', '工程部')], limit=1)
start_time = int(self.env['planning.slot.template'].search(
@@ -240,15 +239,15 @@ class YuthonRunPlanning(models.Model):
end_time2 = int(self.env['planning.slot.template'].search(
[('planning_name', '=', '中夜'), ('role_id', '=', role_a.id)]).end_time)
- all_slot = self.env['planning.slot'].search([('department_id.name', '=', '综合班')])
current_date = first_day_of_month
+ all_slot = self.env['planning.slot'].search(
+ [('department_id.name', '=', '综合班'), ('start_datetime', '>=', first_day_of_month),
+ ('start_datetime', '<=', last_day_of_month)])
i = -1
while current_date <= last_day_of_month:
for employee in range(0, len(self.all_run_ids)):
i = i + 1
- slot_id = all_slot.search(
- [('resource_id', '=', self.all_run_ids[employee].employee_id.resource_id.id)]).sorted(
- 'start_datetime')
+ slot_id = all_slot.search([('resource_id', '=', self.engineering_run_ids[employee].employee_id.resource_id.id), ('start_datetime', '>=', first_day_of_month), ('start_datetime', '<=', last_day_of_month)]).sorted('start_datetime')
if i < 31:
slot_id[i].write({
'template_id': self.env['planning.slot.template'].search(
diff --git a/yuthon_hr_attendance/views/yuthon_run_planning_views.xml b/yuthon_hr_attendance/views/yuthon_run_planning_views.xml
index cc6090006..748127b53 100644
--- a/yuthon_hr_attendance/views/yuthon_run_planning_views.xml
+++ b/yuthon_hr_attendance/views/yuthon_run_planning_views.xml
@@ -31,7 +31,7 @@
-
+
@@ -40,7 +40,7 @@
-
+
@@ -81,7 +81,7 @@
-
+
@@ -121,7 +121,7 @@
-
+
diff --git a/yuthon_property/models/yuthon_property.py b/yuthon_property/models/yuthon_property.py
index 003c13d1f..1877e4680 100644
--- a/yuthon_property/models/yuthon_property.py
+++ b/yuthon_property/models/yuthon_property.py
@@ -10,7 +10,7 @@ class YuthonProperty(models.Model):
name = fields.Char(string="资产名称")
referred = fields.Char(string="简称")
- premises = fields.Char(string="楼盘")
+ premises = fields.Char(string="楼盘小区")
units = fields.Char(string="单元")
house_type_id = fields.Many2one('yuthon.resource.house.type', string="户型")
property_room = fields.Text(string="区")
@@ -28,7 +28,6 @@ class YuthonProperty(models.Model):
is_done_split = fields.Boolean(string="已拆分")
is_done_merge = fields.Boolean(string="已合并")
- abbreviation = fields.Char(string="简称")
property_floor = fields.Integer(string="楼层")
property_orientation = fields.Selection([('north', '东'), ('south', '南'), ('east', '西'), ('west', '北')],
string="朝向")
@@ -39,20 +38,21 @@ class YuthonProperty(models.Model):
state = fields.Selection([('to', '待评估'), ('done', '已评估'), ('ing', '评估中'),
('ing_handover', '移交中'), ('done_handover', '已移交'),
('filing', '备案中'), ('net', '挂网'), ('signing', '签约中'),
- ('signed', '已备案'), ('leased', '已出租'), ('idle', '闲置')], string='状态', default='to')
+ ('signed', '已备案'), ('leased', '已租'), ('idle', '空置'), ('no_lease','不可租')], string='资产目前状态', default='to')
is_meter = fields.Boolean(string="水表")
+ live_room = fields.Many2one('yuthon.live.room', string="居住用房")
is_electricity_meter = fields.Boolean(string="电表")
- yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'), ('thlc', '天河粮储'), ('thtj', '天城投建')], string='所属公司')
+ yuthon_company = fields.Selection([('thtz', '天河投资'), ('thwg', '天河物管'), ('thlc', '天河粮储'), ('thtj', '天投城建')], string='所属公司')
admin_id = fields.Many2one('res.users', string="管理员")
- purpose_id = fields.Many2one('yuthon.resource.purpose', string="资产用途")
- mgmt_type_id = fields.Many2one('yuthon.resource.management.type', string="管理类型")
+ purpose_id = fields.Many2one('yuthon.resource.purpose', string="管理类型")
+ mgmt_type_id = fields.Many2one('yuthon.resource.management.type', string="权属类型")
is_confirm_authorization = fields.Boolean(string="确权")
owner_id = fields.Many2one('yuthon.owner.message', string="权属人")
property_card = fields.Html(string="产权证")
life_timer = fields.Datetime(string="使用时间")
property_use_time = fields.Selection([('a', '70年'), ('b', '40年')], string="使用年限")
- property_precinct = fields.Char(string="片区")
- asset_type_id = fields.Many2one('yuthon.resource.type', string="资产类型")
+ property_precinct = fields.Char(string="所属片区")
+ asset_type_id = fields.Many2one('yuthon.resource.type', string="出租类型")
is_hvac = fields.Boolean(string="使用中央空调")
is_handle_land = fields.Boolean(string="办理土地有偿使用手续")
property_use_id = fields.Integer(string="物业用途ID")
@@ -70,8 +70,8 @@ class YuthonProperty(models.Model):
end_date = fields.Date(string="失效日期")
lessee_id = fields.Many2one('yuthon.property.lessee', string='承租方')
manage_standard = fields.Char(string="物业管理费标准")
- title_address = fields.Char(string="产权地址")
- rental_address = fields.Char(string="出租地址")
+ title_address = fields.Text(string="产权地址")
+ rental_address = fields.Text(string="出租地址")
ame = fields.Char(string='标题')
decoration_type = fields.Selection([('blank', '毛坯'), ('hardcover', '精装'), ('brands', '简装'), ('rsz', '豪装')],
string="装修类型")
@@ -303,7 +303,7 @@ class ManageInformationLine(models.Model):
_description = '管理信息明细行'
yuthon_property_id = fields.Many2one('yuthon.property', string="关联物业信息")
- purpose_id = fields.Many2one('yuthon.resource.purpose', string="资产用途")
+ purpose_id = fields.Many2one('yuthon.resource.purpose', string="管理类型")
precinct = fields.Char(string="片区")
admin_id = fields.Many2one('res.users', string="管理员")
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'), ('thlc', '天河粮储'), ('thtj', '天城投建')], string="所属公司")
diff --git a/yuthon_property/models/yuthon_resource_mgmt_config.py b/yuthon_property/models/yuthon_resource_mgmt_config.py
index 8bc408625..00fe6cf8a 100644
--- a/yuthon_property/models/yuthon_resource_mgmt_config.py
+++ b/yuthon_property/models/yuthon_resource_mgmt_config.py
@@ -25,9 +25,9 @@ class YuthonResourcePurpose(models.Model):
class YuthonResourceManagementType(models.Model):
_name = 'yuthon.resource.management.type'
- _description = '管理类型'
+ _description = '权属类型'
- name = fields.Char(string="管理类型")
+ name = fields.Char(string="权属类型")
class YuthonResourceBillingType(models.Model):
@@ -55,3 +55,9 @@ class YuthonRentalPurposes(models.Model):
_description = '出租用途'
name = fields.Char(string="出租用途")
+
+class YuthonLiveRoom(models.Model):
+ _name = 'yuthon.live.room'
+ _description = '居住用房'
+
+ name = fields.Char(string="居住用房")
diff --git a/yuthon_property/security/ir.model.access.csv b/yuthon_property/security/ir.model.access.csv
index 7c00fef8d..29fe8da90 100644
--- a/yuthon_property/security/ir.model.access.csv
+++ b/yuthon_property/security/ir.model.access.csv
@@ -43,4 +43,5 @@ access_property_check_stairs,property_check_stairs,model_property_check_stairs,b
access_property_meter_reading,property_meter_reading,model_property_meter_reading,base.group_user,1,1,1,1
access_property_message_fee,property_message_fee,model_property_message_fee,base.group_user,1,1,1,1
access_yuthon_penalty_setting,yuthon_penalty_setting,model_yuthon_penalty_setting,base.group_user,1,1,1,1
-access_yuthon_tariff_setting,yuthon_tariff_setting,model_yuthon_tariff_setting,base.group_user,1,1,1,1
\ No newline at end of file
+access_yuthon_tariff_setting,yuthon_tariff_setting,model_yuthon_tariff_setting,base.group_user,1,1,1,1
+access_yuthon_live_room,yuthon_live_room,model_yuthon_live_room,base.group_user,1,1,1,1
\ No newline at end of file
diff --git a/yuthon_property/views/menuitem.xml b/yuthon_property/views/menuitem.xml
index 17871af57..1ffda78a9 100644
--- a/yuthon_property/views/menuitem.xml
+++ b/yuthon_property/views/menuitem.xml
@@ -301,7 +301,7 @@
sequence="50"/>
-
@@ -309,9 +309,10 @@
action="yuthon_resource_house_type_action" sequence="20"/>
+
-
@@ -323,6 +324,8 @@
action="yuthon_property_tariff_action" sequence="35"/>
+
diff --git a/yuthon_property/views/yuthon_property_views.xml b/yuthon_property/views/yuthon_property_views.xml
index e37cd4311..c825e162d 100644
--- a/yuthon_property/views/yuthon_property_views.xml
+++ b/yuthon_property/views/yuthon_property_views.xml
@@ -49,8 +49,9 @@
-
+
+
@@ -188,7 +189,7 @@
-
+
diff --git a/yuthon_property/views/yuthon_resource_mgmt_config_views.xml b/yuthon_property/views/yuthon_resource_mgmt_config_views.xml
index 87e0c101c..b9f983569 100644
--- a/yuthon_property/views/yuthon_resource_mgmt_config_views.xml
+++ b/yuthon_property/views/yuthon_resource_mgmt_config_views.xml
@@ -11,7 +11,7 @@
- 资产类型
+ 出租类型
yuthon.resource.type
tree
@@ -56,7 +56,7 @@
- 管理类型
+ 权属类型
yuthon.resource.management.type
tree
@@ -118,4 +118,18 @@
yuthon.rental.purpose
tree
+
+ yuthon.live.room.tree
+ yuthon.live.room
+
+
+
+
+
+
+
+ 居住用房配置
+ yuthon.live.room
+ tree
+
diff --git a/yuthon_property_approval/models/property_evaluate_application.py b/yuthon_property_approval/models/property_evaluate_application.py
index dea392ccc..b366fee4d 100644
--- a/yuthon_property_approval/models/property_evaluate_application.py
+++ b/yuthon_property_approval/models/property_evaluate_application.py
@@ -50,7 +50,7 @@ class EvaluateApplicationLine(models.Model):
owner_id = fields.Many2one('yuthon.owner.message', string="权属人")
assessment_category = fields.Selection([('rent_money', '租金'), ('value', '价值')], string="评估类别")
registered_use = fields.Char(string='证载用途')
- purpose_id = fields.Many2one('yuthon.resource.purpose', string="资产用途")
+ purpose_id = fields.Many2one('yuthon.resource.purpose', string="管理类型")
rental_conditions = fields.Text(string='出租条件')
current_status = fields.Date(string='现状(合同到期日)')
evaluation_area = fields.Float(string='评估面积(m²)')
diff --git a/yuthon_property_approval/models/property_information.py b/yuthon_property_approval/models/property_information.py
index eeb2d1c2f..a2cc0f935 100644
--- a/yuthon_property_approval/models/property_information.py
+++ b/yuthon_property_approval/models/property_information.py
@@ -22,6 +22,6 @@ class PropertyInformation(models.Model):
admin_id = fields.Many2one('res.users', string="管理员")
precinct = fields.Char(string="片区")
address = fields.Text(string="物业地址")
- management_type = fields.Char(string="管理类型")
+ management_type = fields.Char(string="权属类型")
property_id = fields.Char(string="物业ID")
diff --git a/yuthon_property_approval/models/property_management.py b/yuthon_property_approval/models/property_management.py
index 9727bb29e..5d34f6eae 100644
--- a/yuthon_property_approval/models/property_management.py
+++ b/yuthon_property_approval/models/property_management.py
@@ -29,7 +29,7 @@ class PropertyInformationDetailLines(models.Model):
new_company = fields.Char(string="新公司")
new_admin = fields.Char(string="新管理员")
new_precincts = fields.Char(string="新片区")
- new_management_type = fields.Char(string="新管理类型")
+ new_management_type = fields.Char(string="新权属类型")
diff --git a/yuthon_property_approval/models/property_record.py b/yuthon_property_approval/models/property_record.py
index 2ed337688..c0eb2e8a5 100644
--- a/yuthon_property_approval/models/property_record.py
+++ b/yuthon_property_approval/models/property_record.py
@@ -29,7 +29,7 @@ class EvaluatedApplicationLine(models.Model):
owner_id = fields.Many2one('yuthon.owner.message', string="权属人")
assessment_category = fields.Selection([('rent_money', '租金'), ('value', '价值')], string="评估类别")
registered_use = fields.Char(string='证载用途')
- purpose_id = fields.Many2one('yuthon.resource.purpose', string="资产用途")
+ purpose_id = fields.Many2one('yuthon.resource.purpose', string="管理类型")
rental_conditions = fields.Text(string='出租条件')
current_status = fields.Date(string='现状(合同到期日)')
evaluation_area = fields.Float(string='评估面积(m²)')
diff --git a/yuthon_work_brand/views/attendance_menu.xml b/yuthon_work_brand/views/attendance_menu.xml
index e47bc0940..bc65d6a0f 100644
--- a/yuthon_work_brand/views/attendance_menu.xml
+++ b/yuthon_work_brand/views/attendance_menu.xml
@@ -20,126 +20,6 @@
parent="hr_attendance_root_board"
action="yuthon_hr_attendance.view_action_card_remind"
sequence="3"/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From 3c9c11d55d72e4804735c016f187293940c7b361 Mon Sep 17 00:00:00 2001
From: zhouzhou <123@qq.com>
Date: Sat, 21 Dec 2024 21:07:41 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../static/description/planning.png | Bin 0 -> 3630 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 yuthon_work_brand/static/description/planning.png
diff --git a/yuthon_work_brand/static/description/planning.png b/yuthon_work_brand/static/description/planning.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c0d47263d9b9720168ac1e4085b4fedc0ca5a24
GIT binary patch
literal 3630
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
Date: Sat, 21 Dec 2024 21:11:28 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
yuthon_hr_attendance/views/go_approval.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/yuthon_hr_attendance/views/go_approval.xml b/yuthon_hr_attendance/views/go_approval.xml
index c86f27bef..7fed44dc2 100644
--- a/yuthon_hr_attendance/views/go_approval.xml
+++ b/yuthon_hr_attendance/views/go_approval.xml
@@ -29,10 +29,10 @@
-
-
+
+