Merge branch 'dev' of gitee.com:jinan-pengyusen-data/gzth into dev
# Conflicts: # yuthon_hr_attendance/models/hr_attendance_detail_wechat.py
This commit is contained in:
@@ -340,18 +340,28 @@ class SoongWorkflowMixin(models.AbstractModel):
|
||||
btn for btn in next_node.button_ids
|
||||
if btn.name == '转交'
|
||||
]
|
||||
# 判断按钮隐藏条件 如果没有可用的就跳过
|
||||
has_visible_transfer_btn = True
|
||||
# 判断按钮隐藏条件 如果没有可用的就跳过(说明流程最后一步)
|
||||
if not transfer_buttons:
|
||||
has_visible_transfer_btn = True
|
||||
else:
|
||||
has_visible_transfer_btn = any(
|
||||
not btn.invisible_expression or
|
||||
self.search(eval(btn.invisible_expression))
|
||||
for btn in transfer_buttons
|
||||
)
|
||||
for btn in transfer_buttons:
|
||||
if btn.is_review_invisible:
|
||||
domain = eval(btn.invisible_expression)
|
||||
expression_result = self.search(domain)
|
||||
has_self_in_result = self.id in expression_result.ids
|
||||
if has_self_in_result:
|
||||
has_visible_transfer_btn = True
|
||||
break
|
||||
else:
|
||||
has_visible_transfer_btn = False
|
||||
else:
|
||||
has_visible_transfer_btn = True
|
||||
|
||||
if not has_visible_transfer_btn:
|
||||
skipped_node_names.append(next_node.name)
|
||||
_logger.info(f"跳过节点: {next_node.name},无可见的转交按钮")
|
||||
|
||||
# 更新索引
|
||||
index = state_list.index(matched_key)
|
||||
if index >= len(node_list):
|
||||
|
||||
@@ -154,6 +154,8 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
for record in self:
|
||||
if not record.trans_link_id:
|
||||
continue
|
||||
available_links = self.env['trans.link'].search([])
|
||||
record.invalid_link_ids = available_links[1:]
|
||||
record_id = self.env[record.res_model].browse(record.res_id) if record.res_model and record.res_id else None
|
||||
for link in record.trans_link_id:
|
||||
employee_user_role_ids = self._get_approvers_for_link(link, record_id)
|
||||
|
||||
@@ -121,7 +121,7 @@ class AppletAttendance(Controller):
|
||||
'缺卡'] else f'<p style="color:green">{check_out_str}</p>'
|
||||
state = "no"
|
||||
message = "超出范围或wifi未连接,不允许打卡"
|
||||
address_ids = request.env(user=SUPERUSER_ID)["applet.address"].search([])
|
||||
address_ids = request.env(user=SUPERUSER_ID)["applet.address"].search([('company_id', '=', employee_id.company_id.id)])
|
||||
if kw['att_latitude'] != kw['att_longitude']:
|
||||
self_address = self.get_address_from_coords(kw['att_latitude'], kw['att_longitude'])
|
||||
else:
|
||||
@@ -301,7 +301,7 @@ class AppletAttendance(Controller):
|
||||
'checkin_type': checkin_type,
|
||||
'sch_checkin_time': sch_checkin_time,
|
||||
})
|
||||
now_time = fields.Datetime.to_datetime(fields.Date.today()) + timedelta(hours=8, days=1)
|
||||
now_time = fields.Datetime.to_datetime(fields.Date.today()) - timedelta(hours=8, days=1)
|
||||
start_time = now_time - timedelta(days=2)
|
||||
request.env["hr.attendance.detail"].get_hr_attendance_time(employee_id, now_time, start_time)
|
||||
return_data = {'code': '200', 'message': '打卡成功'}
|
||||
|
||||
@@ -111,6 +111,25 @@ class HrAttendance(models.Model):
|
||||
else:
|
||||
record.company_id = False
|
||||
|
||||
def write(self, vals):
|
||||
if 'check_out' in vals:
|
||||
for record in self:
|
||||
target_date = record.current_data
|
||||
start_of_day = datetime.combine(target_date, datetime.min.time())
|
||||
end_of_day = start_of_day + timedelta(days=1)
|
||||
start_str = fields.Datetime.to_string(start_of_day)
|
||||
end_str = fields.Datetime.to_string(end_of_day)
|
||||
detail_records = self.env['hr.attendance.detail'].search([
|
||||
('employee_id', '=', record.employee_id.id),
|
||||
('checkin_time', '>=', start_str),
|
||||
('checkin_time', '<', end_str)
|
||||
])
|
||||
|
||||
if detail_records:
|
||||
max_checkin_time = max(detail_records.mapped('checkin_time'))
|
||||
vals['check_out'] = max_checkin_time
|
||||
return super(HrAttendance, self).write(vals)
|
||||
|
||||
# @api.model
|
||||
# def web_read_group(self, domain, fields, groupby, limit=None, offset=0, orderby=False, lazy=True):
|
||||
# result = super().web_read_group(domain, fields, groupby, limit, offset, orderby, lazy)
|
||||
|
||||
@@ -113,19 +113,13 @@ class HrAttendanceDetail(models.Model):
|
||||
"""同步打卡记录到hr.attendance 更新上下班打卡时间 """
|
||||
checkin_date = fields.Date.from_string(record.checkin_time)
|
||||
attendance = self.env['hr.attendance'].search([
|
||||
('employee_id', '=', record.employee_id.id),
|
||||
('employee_id.name', '=', '叶华锋'),
|
||||
('current_data', '=', checkin_date)
|
||||
], limit=1)
|
||||
if attendance:
|
||||
if not attendance.check_in:
|
||||
attendance.check_in = record.checkin_time
|
||||
elif not attendance.check_out:
|
||||
attendance.check_out = record.checkin_time
|
||||
existing_checkout = fields.Datetime.from_string(attendance.check_out)
|
||||
new_checkout = fields.Datetime.from_string(record.checkin_time)
|
||||
# 只在新打卡时间更晚的情况下更新
|
||||
if not existing_checkout or new_checkout > existing_checkout:
|
||||
attendance.check_out = record.checkin_time
|
||||
attendance.check_out = record.checkin_time
|
||||
|
||||
|
||||
# 传参按一个人打卡一次传参
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
'category': 'Human Resources/Attendances',
|
||||
'version': '0.1',
|
||||
'license': 'LGPL-3',
|
||||
'depends': ['mail', 'hr', 'soong_workflow', 'room', 'yuthon_issue'],
|
||||
'depends': ['mail', 'hr', 'soong_workflow', 'room', 'yuthon_issue', 'yuthon_trade'],
|
||||
'data': [
|
||||
'data/official_type_data.xml',
|
||||
'security/ir.model.access.csv',
|
||||
@@ -23,7 +23,7 @@
|
||||
'views/yuthon_official_incoming_labor_views.xml',
|
||||
'views/yuthon_official_party_views.xml',
|
||||
'views/yuthon_official_incoming_party_views.xml',
|
||||
'views/inherit_soong_workflow_insector_views.xml',
|
||||
# 'views/inherit_soong_workflow_insector_views.xml',
|
||||
'views/inherit_room_booking_views.xml',
|
||||
'views/inherit_issue_library_views.xml',
|
||||
'views/official_menus.xml',
|
||||
|
||||
@@ -1,97 +1,127 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<!-- <menuitem-->
|
||||
<!-- id="official_management_menu_root"-->
|
||||
<!-- name="公文管理"-->
|
||||
<!-- web_icon="yuthon_official,static/description/icon.png"-->
|
||||
<!-- groups="module_yuthon_official_user"-->
|
||||
<!-- sequence="91"-->
|
||||
<!-- action="send_receive_messages_management_action"/>-->
|
||||
|
||||
<!-- <menuitem-->
|
||||
<!-- id="yuthon_official_my_menu"-->
|
||||
<!-- parent="official_management_menu_root"-->
|
||||
<!-- name="我的公文"-->
|
||||
<!-- sequence="2"/>-->
|
||||
|
||||
<!-- <menuitem-->
|
||||
<!-- id="yuthon_official_normal_management_menu"-->
|
||||
<!-- parent="official_management_menu_root"-->
|
||||
<!-- name="行政公文管理"-->
|
||||
<!-- sequence="5"/>-->
|
||||
|
||||
<!-- <menuitem-->
|
||||
<!-- id="yuthon_official_party_management_menu"-->
|
||||
<!-- parent="official_management_menu_root"-->
|
||||
<!-- name="党总支公文管理"-->
|
||||
<!-- sequence="7"/>-->
|
||||
|
||||
<!-- <menuitem-->
|
||||
<!-- id="yuthon_official_labor_management_menu"-->
|
||||
<!-- parent="official_management_menu_root"-->
|
||||
<!-- name="工会公文管理"-->
|
||||
<!-- sequence="9"/>-->
|
||||
|
||||
<!-- <menuitem-->
|
||||
<!-- id="yuthon_official_normal"-->
|
||||
<!-- parent="yuthon_official_normal_management_menu"-->
|
||||
<!-- name="行政发文"-->
|
||||
<!-- action="send_receive_messages_management_action"-->
|
||||
<!-- sequence="8"/>-->
|
||||
|
||||
<!-- <menuitem-->
|
||||
<!-- id="yuthon_official_incoming_normal"-->
|
||||
<!-- parent="yuthon_official_normal_management_menu"-->
|
||||
<!-- name="行政收文"-->
|
||||
<!-- action="yuthon_official_incoming_normal_action"-->
|
||||
<!-- sequence="10"/>-->
|
||||
|
||||
<!-- <menuitem-->
|
||||
<!-- id="yuthon_official_incoming_party"-->
|
||||
<!-- parent="yuthon_official_party_management_menu"-->
|
||||
<!-- name="党总支收文"-->
|
||||
<!-- action="yuthon_official_incoming_party_action"-->
|
||||
<!-- sequence="10"/>-->
|
||||
|
||||
<!-- <menuitem-->
|
||||
<!-- id="yuthon_official_party"-->
|
||||
<!-- parent="yuthon_official_party_management_menu"-->
|
||||
<!-- name="党总支发文"-->
|
||||
<!-- action="yuthon_official_party_action"-->
|
||||
<!-- sequence="20"/>-->
|
||||
|
||||
<!-- <menuitem-->
|
||||
<!-- id="yuthon_official_incoming_labor"-->
|
||||
<!-- parent="yuthon_official_labor_management_menu"-->
|
||||
<!-- name="工会收文"-->
|
||||
<!-- action="yuthon_official_incoming_labor_action"-->
|
||||
<!-- sequence="5"/>-->
|
||||
|
||||
<!-- <menuitem-->
|
||||
<!-- id="yuthon_official_labor"-->
|
||||
<!-- parent="yuthon_official_labor_management_menu"-->
|
||||
<!-- name="工会发文"-->
|
||||
<!-- action="yuthon_official_labor_action"-->
|
||||
<!-- sequence="10"/>-->
|
||||
|
||||
|
||||
<!-- <menuitem id="yuthon_official_setting"-->
|
||||
<!-- parent="official_management_menu_root"-->
|
||||
<!-- name="配置"-->
|
||||
<!-- sequence="9"/>-->
|
||||
|
||||
<!-- <menuitem-->
|
||||
<!-- id="official_management_partner_menu"-->
|
||||
<!-- parent="yuthon_official_setting"-->
|
||||
<!-- name="发文单位管理"-->
|
||||
<!-- action="official_partner_action"-->
|
||||
<!-- sequence="1"/>-->
|
||||
|
||||
<!-- <menuitem-->
|
||||
<!-- id="official_management_type_menu"-->
|
||||
<!-- parent="yuthon_official_setting"-->
|
||||
<!-- name="公文类型管理"-->
|
||||
<!-- action="official_type_action"-->
|
||||
<!-- sequence="2"/>-->
|
||||
|
||||
<menuitem id="administrative_offices_root_board"
|
||||
name="行政办公"
|
||||
web_icon="yuthon_work_brand,static/description/administrative_offices.png"
|
||||
sequence="65"/>
|
||||
<menuitem
|
||||
id="yuthon_official_my_menu"
|
||||
parent="administrative_offices_root_board"
|
||||
name="我的公文"
|
||||
sequence="2"/>
|
||||
<menuitem
|
||||
id="yuthon_official_normal_management_menu"
|
||||
parent="administrative_offices_root_board"
|
||||
name="行政公文管理"
|
||||
sequence="5"/>
|
||||
<menuitem
|
||||
id="yuthon_official_party_management_menu"
|
||||
parent="administrative_offices_root_board"
|
||||
name="党总支公文管理"
|
||||
sequence="7"/>
|
||||
<menuitem
|
||||
id="yuthon_official_labor_management_menu"
|
||||
parent="administrative_offices_root_board"
|
||||
name="工会公文管理"
|
||||
sequence="9"/>
|
||||
<menuitem
|
||||
id="yuthon_official_normal"
|
||||
parent="yuthon_official_normal_management_menu"
|
||||
name="行政发文"
|
||||
action="send_receive_messages_management_action"
|
||||
sequence="8"/>
|
||||
<menuitem
|
||||
id="yuthon_official_incoming_normal"
|
||||
parent="yuthon_official_normal_management_menu"
|
||||
name="行政收文"
|
||||
action="yuthon_official_incoming_normal_action"
|
||||
sequence="10"/>
|
||||
<menuitem
|
||||
id="yuthon_official_incoming_party"
|
||||
parent="yuthon_official_party_management_menu"
|
||||
name="党总支收文"
|
||||
action="yuthon_official_incoming_party_action"
|
||||
sequence="10"/>
|
||||
<menuitem
|
||||
id="yuthon_official_party"
|
||||
parent="yuthon_official_party_management_menu"
|
||||
name="党总支发文"
|
||||
action="yuthon_official_party_action"
|
||||
sequence="20"/>
|
||||
<menuitem
|
||||
id="yuthon_official_incoming_labor"
|
||||
parent="yuthon_official_labor_management_menu"
|
||||
name="工会收文"
|
||||
action="yuthon_official_incoming_labor_action"
|
||||
sequence="5"/>
|
||||
<menuitem
|
||||
id="yuthon_official_labor"
|
||||
parent="yuthon_official_labor_management_menu"
|
||||
name="工会发文"
|
||||
action="yuthon_official_labor_action"
|
||||
sequence="10"/>
|
||||
<menuitem id="trade_project_approval_board"
|
||||
name="立项"
|
||||
parent="administrative_offices_root_board"
|
||||
action="yuthon_trade.trade_project_approval_action"
|
||||
sequence="50"/>
|
||||
<menuitem id="yuthon_reward_approval_board"
|
||||
name="奖励审批表"
|
||||
parent="administrative_offices_root_board"
|
||||
action="yuthon_trade.view_trade_reward_approval_action"
|
||||
sequence="60"/>
|
||||
<menuitem id="yuthon_business_approval_board"
|
||||
name="业务审批"
|
||||
parent="administrative_offices_root_board"
|
||||
action="yuthon_trade.view_business_approval_action"
|
||||
sequence="70"/>
|
||||
<menuitem id="yuthon_seals_approval_board"
|
||||
name="用章审批"
|
||||
parent="administrative_offices_root_board"
|
||||
action="yuthon_trade.view_yuthon_seals_approval_action"
|
||||
sequence="80"/>
|
||||
<menuitem id="parking_fee_approval_board"
|
||||
name="停车票发放"
|
||||
parent="administrative_offices_root_board"
|
||||
action="yuthon_trade.view_parking_fee_approval_action"
|
||||
sequence="85"/>
|
||||
<menuitem id="yuthon_official_setting"
|
||||
parent="administrative_offices_root_board"
|
||||
name="配置"
|
||||
sequence="99"/>
|
||||
<menuitem id="official_management_partner_menu"
|
||||
parent="yuthon_official_setting"
|
||||
name="发文单位"
|
||||
action="official_partner_action"
|
||||
sequence="20"/>
|
||||
<menuitem id="official_management_type_menu"
|
||||
parent="yuthon_official_setting"
|
||||
name="公文类型"
|
||||
action="official_type_action"
|
||||
sequence="30"/>
|
||||
<menuitem id="seals_type_setting_board"
|
||||
name="用章类型"
|
||||
parent="yuthon_official_setting"
|
||||
action="yuthon_trade.view_seals_type_setting_action"
|
||||
sequence="50"/>
|
||||
<menuitem id="yuthon_seal_scope_board"
|
||||
name="用章范围"
|
||||
parent="yuthon_official_setting"
|
||||
action="yuthon_trade.view_seals_scope_setting_action"
|
||||
sequence="60"/>
|
||||
<menuitem id="yuthon_sending_unit_board"
|
||||
name="发送单位"
|
||||
parent="yuthon_official_setting"
|
||||
action="yuthon_trade.view_sending_unit_setting_action"
|
||||
sequence="70"/>
|
||||
<menuitem id="project_funding_setting_board"
|
||||
name="资金来源"
|
||||
parent="yuthon_official_setting"
|
||||
action="yuthon_trade.view_project_funding_setting_action"
|
||||
sequence="90"/>
|
||||
<menuitem id="project_classify_setting_board"
|
||||
name="项目分类"
|
||||
parent="yuthon_official_setting"
|
||||
action="yuthon_trade.view_project_classify_setting_action"
|
||||
sequence="100"/>
|
||||
</odoo>
|
||||
@@ -33,6 +33,8 @@ class PropertyEvaluationPlan(models.Model):
|
||||
record.lease_form = 'sublease'
|
||||
else:
|
||||
record.lease_form = 'whole'
|
||||
else:
|
||||
record.lease_form = False
|
||||
|
||||
|
||||
def put_assessment_approval(self):
|
||||
|
||||
@@ -6,7 +6,7 @@ from odoo import models, fields, api, exceptions, _
|
||||
|
||||
class PropertyLeaseAlter(models.Model):
|
||||
_name = 'property.lease.alter'
|
||||
_description = '续租审批审批'
|
||||
_description = '延租审批'
|
||||
_inherit = ['mail.thread.main.attachment', 'mail.activity.mixin', 'soong.workflow.mixin']
|
||||
_rec_name = 'name'
|
||||
|
||||
|
||||
@@ -42,17 +42,15 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="users_id"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="sincerity_gold"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="reason"/>
|
||||
<field name="issues_result" invisible="is_issues == False"/>
|
||||
<field name="documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
<group string="个人信息">
|
||||
<field name="users_id"/>
|
||||
<field name="department_id" widget="ztree_select"/>
|
||||
<field name="sincerity_gold"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="承租方列表">
|
||||
<field name="eligibility_ids">
|
||||
|
||||
@@ -43,15 +43,13 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="name" required="1"/>
|
||||
<field name="users_id"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="work_end" invisible="1"/>
|
||||
<field name="name" required="1"/>
|
||||
<field name="reason"/>
|
||||
<field name="issues_result" invisible="is_issues == False"/>
|
||||
<field name="documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
<group string="个人信息">
|
||||
<field name="users_id"/>
|
||||
<field name="department_id" widget="ztree_select"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="意向客户信息">
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
<group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="work_end"/>
|
||||
<field name="property_documents_ids" widget="many2many_tags">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
|
||||
@@ -316,6 +316,20 @@
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="tax" readonly="1" force_save="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="not_tax_amount" readonly="1" force_save="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="first_year_rent" force_save="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="total_contract_receivables" style="font-size: 1.2rem; font-weight: bold;"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="附件">
|
||||
<group col="2">
|
||||
@@ -335,20 +349,6 @@
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="tax" readonly="1" force_save="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="not_tax_amount" readonly="1" force_save="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="first_year_rent" force_save="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="total_contract_receivables" style="font-size: 1.2rem; font-weight: bold;"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
@@ -722,6 +722,21 @@
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="tax" readonly="1" force_save="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="not_tax_amount" readonly="1" force_save="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="first_year_rent" force_save="1" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="total_contract_receivables" style="font-size: 1.2rem; font-weight: bold;"
|
||||
readonly="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="附件">
|
||||
<group col="2">
|
||||
@@ -748,21 +763,6 @@
|
||||
<field name="contract_date"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="tax" readonly="1" force_save="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="not_tax_amount" readonly="1" force_save="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="first_year_rent" force_save="1" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="total_contract_receivables" style="font-size: 1.2rem; font-weight: bold;"
|
||||
readonly="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -24,132 +24,6 @@
|
||||
action="yuthon_trade.view_yuthon_stack_position_action"
|
||||
sequence="20"/>
|
||||
|
||||
|
||||
<menuitem id="administrative_offices_root_board"
|
||||
name="行政办公"
|
||||
web_icon="yuthon_work_brand,static/description/administrative_offices.png"
|
||||
sequence="65"/>
|
||||
<menuitem
|
||||
id="yuthon_official_my_menu"
|
||||
parent="administrative_offices_root_board"
|
||||
name="我的公文"
|
||||
sequence="2"/>
|
||||
<menuitem
|
||||
id="yuthon_official_normal_management_menu"
|
||||
parent="administrative_offices_root_board"
|
||||
name="行政公文管理"
|
||||
sequence="5"/>
|
||||
<menuitem
|
||||
id="yuthon_official_party_management_menu"
|
||||
parent="administrative_offices_root_board"
|
||||
name="党总支公文管理"
|
||||
sequence="7"/>
|
||||
<menuitem
|
||||
id="yuthon_official_labor_management_menu"
|
||||
parent="administrative_offices_root_board"
|
||||
name="工会公文管理"
|
||||
sequence="9"/>
|
||||
<menuitem
|
||||
id="yuthon_official_normal"
|
||||
parent="yuthon_official_normal_management_menu"
|
||||
name="行政发文"
|
||||
action="yuthon_official.send_receive_messages_management_action"
|
||||
sequence="8"/>
|
||||
<menuitem
|
||||
id="yuthon_official_incoming_normal"
|
||||
parent="yuthon_official_normal_management_menu"
|
||||
name="行政收文"
|
||||
action="yuthon_official.yuthon_official_incoming_normal_action"
|
||||
sequence="10"/>
|
||||
<menuitem
|
||||
id="yuthon_official_incoming_party"
|
||||
parent="yuthon_official_party_management_menu"
|
||||
name="党总支收文"
|
||||
action="yuthon_official.yuthon_official_incoming_party_action"
|
||||
sequence="10"/>
|
||||
<menuitem
|
||||
id="yuthon_official_party"
|
||||
parent="yuthon_official_party_management_menu"
|
||||
name="党总支发文"
|
||||
action="yuthon_official.yuthon_official_party_action"
|
||||
sequence="20"/>
|
||||
<menuitem
|
||||
id="yuthon_official_incoming_labor"
|
||||
parent="yuthon_official_labor_management_menu"
|
||||
name="工会收文"
|
||||
action="yuthon_official.yuthon_official_incoming_labor_action"
|
||||
sequence="5"/>
|
||||
<menuitem
|
||||
id="yuthon_official_labor"
|
||||
parent="yuthon_official_labor_management_menu"
|
||||
name="工会发文"
|
||||
action="yuthon_official.yuthon_official_labor_action"
|
||||
sequence="10"/>
|
||||
<menuitem id="trade_project_approval_board"
|
||||
name="立项"
|
||||
parent="administrative_offices_root_board"
|
||||
action="yuthon_trade.trade_project_approval_action"
|
||||
sequence="50"/>
|
||||
<menuitem id="yuthon_reward_approval_board"
|
||||
name="奖励审批表"
|
||||
parent="administrative_offices_root_board"
|
||||
action="yuthon_trade.view_trade_reward_approval_action"
|
||||
sequence="60"/>
|
||||
<menuitem id="yuthon_business_approval_board"
|
||||
name="业务审批"
|
||||
parent="administrative_offices_root_board"
|
||||
action="yuthon_trade.view_business_approval_action"
|
||||
sequence="70"/>
|
||||
<menuitem id="yuthon_seals_approval_board"
|
||||
name="用章审批"
|
||||
parent="administrative_offices_root_board"
|
||||
action="yuthon_trade.view_yuthon_seals_approval_action"
|
||||
sequence="80"/>
|
||||
<menuitem id="parking_fee_approval_board"
|
||||
name="停车票发放"
|
||||
parent="administrative_offices_root_board"
|
||||
action="yuthon_trade.view_parking_fee_approval_action"
|
||||
sequence="85"/>
|
||||
<menuitem id="yuthon_official_setting"
|
||||
parent="administrative_offices_root_board"
|
||||
name="配置"
|
||||
sequence="99"/>
|
||||
<menuitem id="official_management_partner_menu"
|
||||
parent="yuthon_official_setting"
|
||||
name="发文单位"
|
||||
action="yuthon_official.official_partner_action"
|
||||
sequence="20"/>
|
||||
<menuitem id="official_management_type_menu"
|
||||
parent="yuthon_official_setting"
|
||||
name="公文类型"
|
||||
action="yuthon_official.official_type_action"
|
||||
sequence="30"/>
|
||||
<menuitem id="seals_type_setting_board"
|
||||
name="用章类型"
|
||||
parent="yuthon_official_setting"
|
||||
action="yuthon_trade.view_seals_type_setting_action"
|
||||
sequence="50"/>
|
||||
<menuitem id="yuthon_seal_scope_board"
|
||||
name="用章范围"
|
||||
parent="yuthon_official_setting"
|
||||
action="yuthon_trade.view_seals_scope_setting_action"
|
||||
sequence="60"/>
|
||||
<menuitem id="yuthon_sending_unit_board"
|
||||
name="发送单位"
|
||||
parent="yuthon_official_setting"
|
||||
action="yuthon_trade.view_sending_unit_setting_action"
|
||||
sequence="70"/>
|
||||
<menuitem id="project_funding_setting_board"
|
||||
name="资金来源"
|
||||
parent="yuthon_official_setting"
|
||||
action="yuthon_trade.view_project_funding_setting_action"
|
||||
sequence="90"/>
|
||||
<menuitem id="project_classify_setting_board"
|
||||
name="项目分类"
|
||||
parent="yuthon_official_setting"
|
||||
action="yuthon_trade.view_project_classify_setting_action"
|
||||
sequence="100"/>
|
||||
|
||||
<menuitem id="information_root_board"
|
||||
name="信息化"
|
||||
web_icon="yuthon_work_brand,static/description/information.png"
|
||||
|
||||
@@ -616,36 +616,11 @@
|
||||
<menuitem id="holiday_manage_menu_root_board"
|
||||
name="我的"
|
||||
web_icon="yuthon_work_brand,static/description/holiday.png"
|
||||
sequence="29"/>
|
||||
<menuitem id="menu_hr_attendance_my_record_board"
|
||||
name="我的考勤"
|
||||
parent="holiday_manage_menu_root_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_action1"
|
||||
sequence="5"/>
|
||||
<menuitem id="menu_hr_attendance_my_abnormal_board"
|
||||
name="我的异常"
|
||||
parent="holiday_manage_menu_root_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_my_abnormal"
|
||||
sequence="6"/>
|
||||
<menuitem id="yuthon_vacation_reports_my"
|
||||
name="我的考勤确认"
|
||||
parent="holiday_manage_menu_root_board"
|
||||
action="yuthon_hr_attendance.action_server_open_my_vacation_form1"
|
||||
sequence="7"/>
|
||||
<!-- <menuitem id="menu_hr_attendance_month_my_detail"-->
|
||||
<!-- name="我的考勤确认"-->
|
||||
<!-- parent="holiday_manage_menu_root_board"-->
|
||||
<!-- sequence="10"-->
|
||||
<!-- action="yuthon_hr_attendance.hr_attendance_month_my_detail_action"/>-->
|
||||
<menuitem id="salary_view_my_payslip_board"
|
||||
name="我的薪资"
|
||||
parent="holiday_manage_menu_root_board"
|
||||
sequence="20"
|
||||
action="yuthon_salary.action_view_my_payslip"/>
|
||||
<menuitem id="menu_workflow_approval_request_my"
|
||||
sequence="3"/>
|
||||
<menuitem id="menu_workflow_approval_request_my"
|
||||
name="我的流程"
|
||||
parent="holiday_manage_menu_root_board"
|
||||
sequence="25"/>
|
||||
sequence="1"/>
|
||||
<menuitem id="menu_workflow_approval_request_new"
|
||||
name="新建流程"
|
||||
parent="menu_workflow_approval_request_my"
|
||||
@@ -671,50 +646,75 @@
|
||||
parent="menu_workflow_approval_request_my"
|
||||
action="soong_workflow.soong_workflow_record_end_action"
|
||||
sequence="5"/>
|
||||
<menuitem id="menu_hr_attendance_approval_request_board"
|
||||
name="流程"
|
||||
<menuitem id="menu_hr_attendance_my_record_board"
|
||||
name="我的考勤"
|
||||
parent="holiday_manage_menu_root_board"
|
||||
sequence="50"/>
|
||||
<menuitem id="menu_hr_leave_batch_action_all_board"
|
||||
name="休假申请"
|
||||
parent="menu_hr_attendance_approval_request_board"
|
||||
action="yuthon_holiday.hr_leave_batch_action_all"
|
||||
sequence="1"/>
|
||||
<menuitem id="menu_hr_attendance_overtime_board"
|
||||
name="加班申请"
|
||||
parent="menu_hr_attendance_approval_request_board"
|
||||
sequence="2"
|
||||
action="yuthon_hr_attendance.approval_request_overtime"/>
|
||||
<menuitem id="menu_hr_attendance_going_board"
|
||||
name="外出申请"
|
||||
parent="menu_hr_attendance_approval_request_board"
|
||||
sequence="3"
|
||||
action="yuthon_hr_attendance.approval_request_going"/>
|
||||
<menuitem id="menu_hr_attendance_duty_board"
|
||||
name="值班申请"
|
||||
parent="menu_hr_attendance_approval_request_board"
|
||||
sequence="5"
|
||||
action="yuthon_hr_attendance.approval_request_duty"/>
|
||||
<menuitem id="menu_hr_attendance_leave_board"
|
||||
name="调休申请"
|
||||
parent="menu_hr_attendance_approval_request_board"
|
||||
sequence="7"
|
||||
action="yuthon_hr_attendance.approval_request_leave"/>
|
||||
<menuitem id="holiday_yuthon_fixes_approval_board"
|
||||
name="假期余额修正"
|
||||
parent="menu_hr_attendance_approval_request_board"
|
||||
action="yuthon_holiday.view_yuthon_fixes_approval_action"
|
||||
action="yuthon_hr_attendance.hr_attendance_action1"
|
||||
sequence="5"/>
|
||||
<menuitem id="menu_hr_attendance_my_abnormal_board"
|
||||
name="我的异常"
|
||||
parent="holiday_manage_menu_root_board"
|
||||
action="yuthon_hr_attendance.hr_attendance_my_abnormal"
|
||||
sequence="6"/>
|
||||
<menuitem id="yuthon_vacation_reports_my"
|
||||
name="我的考勤确认"
|
||||
parent="holiday_manage_menu_root_board"
|
||||
action="yuthon_hr_attendance.action_server_open_my_vacation_form1"
|
||||
sequence="7"/>
|
||||
<menuitem id="menu_hr_attendance_remove_holiday_board"
|
||||
name="销假申请"
|
||||
parent="menu_hr_attendance_approval_request_board"
|
||||
sequence="11"
|
||||
action="yuthon_hr_attendance.approval_request_remove_holiday"/>
|
||||
<menuitem id="menu_hr_attendance_remove_card_board"
|
||||
name="补卡申请"
|
||||
parent="menu_hr_attendance_approval_request_board"
|
||||
sequence="13"
|
||||
action="yuthon_hr_attendance.approval_request_card"/>
|
||||
<!-- <menuitem id="menu_hr_attendance_month_my_detail"-->
|
||||
<!-- name="我的考勤确认"-->
|
||||
<!-- parent="holiday_manage_menu_root_board"-->
|
||||
<!-- sequence="10"-->
|
||||
<!-- action="yuthon_hr_attendance.hr_attendance_month_my_detail_action"/>-->
|
||||
<menuitem id="salary_view_my_payslip_board"
|
||||
name="我的薪资"
|
||||
parent="holiday_manage_menu_root_board"
|
||||
sequence="20"
|
||||
action="yuthon_salary.action_view_my_payslip"/>
|
||||
<!-- <menuitem id="menu_hr_attendance_approval_request_board"-->
|
||||
<!-- name="流程"-->
|
||||
<!-- parent="holiday_manage_menu_root_board"-->
|
||||
<!-- sequence="50"/>-->
|
||||
<!-- <menuitem id="menu_hr_leave_batch_action_all_board"-->
|
||||
<!-- name="休假申请"-->
|
||||
<!-- parent="menu_hr_attendance_approval_request_board"-->
|
||||
<!-- action="yuthon_holiday.hr_leave_batch_action_all"-->
|
||||
<!-- sequence="1"/>-->
|
||||
<!-- <menuitem id="menu_hr_attendance_overtime_board"-->
|
||||
<!-- name="加班申请"-->
|
||||
<!-- parent="menu_hr_attendance_approval_request_board"-->
|
||||
<!-- sequence="2"-->
|
||||
<!-- action="yuthon_hr_attendance.approval_request_overtime"/>-->
|
||||
<!-- <menuitem id="menu_hr_attendance_going_board"-->
|
||||
<!-- name="外出申请"-->
|
||||
<!-- parent="menu_hr_attendance_approval_request_board"-->
|
||||
<!-- sequence="3"-->
|
||||
<!-- action="yuthon_hr_attendance.approval_request_going"/>-->
|
||||
<!-- <menuitem id="menu_hr_attendance_duty_board"-->
|
||||
<!-- name="值班申请"-->
|
||||
<!-- parent="menu_hr_attendance_approval_request_board"-->
|
||||
<!-- sequence="5"-->
|
||||
<!-- action="yuthon_hr_attendance.approval_request_duty"/>-->
|
||||
<!-- <menuitem id="menu_hr_attendance_leave_board"-->
|
||||
<!-- name="调休申请"-->
|
||||
<!-- parent="menu_hr_attendance_approval_request_board"-->
|
||||
<!-- sequence="7"-->
|
||||
<!-- action="yuthon_hr_attendance.approval_request_leave"/>-->
|
||||
<!-- <menuitem id="holiday_yuthon_fixes_approval_board"-->
|
||||
<!-- name="假期余额修正"-->
|
||||
<!-- parent="menu_hr_attendance_approval_request_board"-->
|
||||
<!-- action="yuthon_holiday.view_yuthon_fixes_approval_action"-->
|
||||
<!-- sequence="7"/>-->
|
||||
<!-- <menuitem id="menu_hr_attendance_remove_holiday_board"-->
|
||||
<!-- name="销假申请"-->
|
||||
<!-- parent="menu_hr_attendance_approval_request_board"-->
|
||||
<!-- sequence="11"-->
|
||||
<!-- action="yuthon_hr_attendance.approval_request_remove_holiday"/>-->
|
||||
<!-- <menuitem id="menu_hr_attendance_remove_card_board"-->
|
||||
<!-- name="补卡申请"-->
|
||||
<!-- parent="menu_hr_attendance_approval_request_board"-->
|
||||
<!-- sequence="13"-->
|
||||
<!-- action="yuthon_hr_attendance.approval_request_card"/>-->
|
||||
|
||||
|
||||
<!-- 培训管理 -->
|
||||
|
||||
Reference in New Issue
Block a user