Merge pull request !8612 from 李鹏宇/dev_wang
This commit is contained in:
李鹏宇
2026-02-03 12:58:57 +00:00
committed by Gitee
5 changed files with 83 additions and 58 deletions
+3 -9
View File
@@ -42,7 +42,7 @@
<div class="info-line">
会议时间:
<span t-if="doc.start_datetime_local">
<t t-esc="doc.start_datetime_local.strftime('%Y')"/>年<t t-esc="doc.start_datetime_local.strftime('%m')"/>月<t t-esc="doc.start_datetime_local.strftime('%d')"/>日星期<t t-esc="['一', '二', '三', '四', '五', '六', '日'][doc.start_datetime_local.weekday()]"/> <t t-if="doc.start_datetime_local.hour &lt; 12">上午</t><t t-else="">下午</t><t t-esc="doc.start_datetime_local.strftime('%H')"/>时<t t-esc="doc.start_datetime_local.strftime('%M')"/>分
<t t-esc="doc.start_datetime_local.strftime('%Y')"/>年<t t-esc="doc.start_datetime_local.strftime('%m')"/>月<t t-esc="doc.start_datetime_local.strftime('%d')"/>日 星期<t t-esc="['一', '二', '三', '四', '五', '六', '日'][doc.start_datetime_local.weekday()]"/> <t t-if="doc.start_datetime_local.hour &lt; 12">上午</t><t t-else="">下午</t><t t-esc="doc.start_datetime_local.strftime('%H')"/>时<t t-esc="doc.start_datetime_local.strftime('%M')"/>分
</span>
</div>
@@ -106,14 +106,8 @@
</t>
</td>
<td>
<div>
<span class="checkbox" t-att-class="'checkbox-checked' if not line.is_sanda else ''"></span>
<span>否</span>
</div>
<div style="margin-top: 4px;">
<span class="checkbox" t-att-class="'checkbox-checked' if line.is_sanda else ''"></span>
<span>是</span>
</div>
<span t-if="line.is_sanda">是</span>
<span t-else="">否</span>
</td>
</tr>
<t t-set="sequence_number" t-value="sequence_number + 1"/>
@@ -89,6 +89,7 @@ class HrContract(models.Model):
compute="_compute_is_company",
search="_search_part_of_company",
)
change_ids = fields.One2many('hr.contract.change.line', 'contract_id', string="异动信息")
def update_version(self):
contract_ids = self.env["hr.contract"].browse(
@@ -418,3 +419,16 @@ class HrContract(models.Model):
})
return contracts
class HrContractChangeLine(models.Model):
_name = 'hr.contract.change.line'
_description = '异动信息明细行'
contract_id = fields.Many2one('hr.contract', string="关联合同")
department_id = fields.Many2one('hr.department', string="部门")
job_id = fields.Many2one('hr.job', string="工作岗位")
structure_type_id = fields.Many2one('hr.payroll.structure.type', string="工资结构类型")
salary_group_id = fields.Many2one('yuthon.salary.group', string="工资单分组")
change_start_date = fields.Date(string="开始日期")
change_end_date = fields.Date(string="结束日期")
@@ -1,5 +1,6 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_yuthon_contract_wizard,yuthon.contract.wizard,model_yuthon_contract_wizard,,1,1,1,1
access_hr_contract_change_line,hr.contract.change.line,model_hr_contract_change_line,,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_yuthon_contract_wizard yuthon.contract.wizard model_yuthon_contract_wizard 1 1 1 1
3 access_hr_contract_change_line hr.contract.change.line model_hr_contract_change_line 1 1 1 1
4
5
6
@@ -87,7 +87,7 @@
<attribute name="string">工作日历</attribute>
</xpath>
<xpath expr="//notebook" position="attributes">
<attribute name="invisible">1</attribute>
<attribute name="invisible">0</attribute>
</xpath>
<xpath expr="//group[@name='top_info']" position="before">
<group string="甲方信息">
@@ -108,16 +108,24 @@
<xpath expr="//group[@name='top_info']" position="attributes">
<attribute name="string">乙方信息</attribute>
</xpath>
<xpath expr="//page[@name='information']" position="replace">
<page name="information2" string="工资信息">
<group>
<group>
<field name="wage_type"/>
<field name="schedule_pay"/>
<field name="wage" string="基本薪资" required="False"/>
</group>
<group/>
</group>
<xpath expr="//page[@name='information']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
<xpath expr="//page[@name='other']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
<xpath expr="//notebook" position="inside">
<page name="change_info" string="异动信息">
<field name="change_ids">
<tree editable="bottom">
<field name="department_id"/>
<field name="job_id" string="岗位"/>
<field name="structure_type_id" string="职级"/>
<field name="salary_group_id"/>
<field name="change_start_date"/>
<field name="change_end_date"/>
</tree>
</field>
</page>
</xpath>
</field>
@@ -54,8 +54,9 @@
租赁合同审批
</h1>
</div>
<group col="3" string="基本信息">
<group>
<group col="2" string="基本信息">
<!-- 1. 合同编号:单独占一横行(跨两列) -->
<group colspan="2">
<label for="contract_code"/>
<div class="d-inline-flex w-100 align-items-center">
<field name="contract_code" class="me-2" style="flex: 1 1 auto; min-width: 200px;" string="合同编号"/>
@@ -63,43 +64,49 @@
<field name="version" class="me-2" style="min-width: 80px;" force_save="1"/>
</div>
</group>
<!-- <group>-->
<!-- <field name="rental_purposes" options="{'no_open': True}"/>-->
<!-- </group>-->
<!-- <group>-->
<!-- <field name="contract_sort"/>-->
<!-- </group>-->
<!-- 2. 三个字段:每个单独占一横行(各跨两列) -->
<group colspan="2">
<field name="rent_company" string="出租方" readonly="1" invisible="contract_sort != 'property'"/>
</group>
<group colspan="2">
<field name="lessee_id"/>
</group>
<group colspan="2">
<field name="property_name"/>
</group>
<!-- 3. 其他字段:正常左右两列分布 -->
<!-- 左列 -->
<group>
<field name="title_address" invisible="contract_sort != 'property'"/>
<field name="contract_sort"/>
<field name="type_stamp_ids" widget="many2many_tags" options="{'no_create': True, 'no_open': True}"/>
</group>
<!-- 右列 -->
<group>
<field name="title_information" invisible="contract_sort != 'property'"/>
<field name="address_for_delivery" invisible="contract_sort != 'property'"/>
<field name="rental_purposes" options="{'no_open': True}"/>
</group>
</group>
<group>
<group>
<field name="name" invisible="1"/>
<field name="is_back" invisible="1"/>
<field name="state" invisible="1"/>
<field name="work_end" invisible="1"/>
<field name="is_manage" invisible="1"/>
<field name="contract_sort"/>
<field name="rental_purposes" options="{'no_open': True}"/>
<field name="rent_company" string="出租方" readonly="1"
invisible="contract_sort != 'property'"/>
<field name="lessee_id"/>
<!-- <field name="lessor_id" invisible="1"/>-->
<field name="users_id" readonly="1" invisible="1"/>
<field name="department_id" invisible="1"/>
<field name="property_name"/>
<field name="contract_date" invisible="1"/>
<field name="issues_result" invisible="is_issues == False"/>
<field name="use_address" invisible="contract_sort != 'property'"/>
<field name="address_for_delivery" invisible="contract_sort != 'property'"/>
<field name="title_information" invisible="contract_sort != 'property'"/>
<field name="title_address" invisible="contract_sort != 'property'"/>
<field name="handling_opinions" invisible="contract_sort != 'property'"/>
<field name="tenure_type" invisible="1"/>
<field name="is_child_contract" invisible="1"/>
<field name="is_contract" invisible="1"/>
<field name="contract_source_id" invisible="not is_child_contract"/>
<field name="condition" readonly="1" invisible="1"/>
<field name="type_stamp_ids" widget="many2many_tags" options="{'no_create': True, 'no_open': True}}"/>
</group>
<field name="handling_opinions" invisible="contract_sort != 'property'"/>
</group>
<!-- 隐藏字段单独放一个不占布局的分组 -->
<group>
<field name="name" invisible="1"/>
<field name="is_back" invisible="1"/>
<field name="state" invisible="1"/>
<field name="work_end" invisible="1"/>
<field name="is_manage" invisible="1"/>
<field name="users_id" readonly="1" invisible="1"/>
<field name="department_id" invisible="1"/>
<field name="contract_date" invisible="1"/>
<field name="issues_result" invisible="is_issues == False"/>
<field name="tenure_type" invisible="1"/>
<field name="is_child_contract" invisible="1"/>
<field name="is_contract" invisible="1"/>
<field name="contract_source_id" invisible="not is_child_contract"/>
<field name="condition" readonly="1" invisible="1"/>
</group>
<notebook>
<page string="物业列表" invisible="(state in ['分管领导', '总经理']) and (not work_end)">
@@ -179,7 +186,7 @@
<field name="rent" string="季租金" invisible="cycle_dict != 'quarter'"/>
<field name="rent" string="半年租金" invisible="cycle_dict != 'half'"/>
<field name="rent" string="年租金" invisible="cycle_dict != 'year'"/>
<field name="unit_price" force_save="1" invisible="contract_sort != 'property'"/>
<!-- <field name="unit_price" force_save="1" invisible="contract_sort != 'property'"/>-->
</group>
<group>
<label for="first_pay"/>
@@ -190,6 +197,7 @@
style="max-width: 3rem !important;"/>日
</div>
<field name="expected_reminders"/>
<field name="unit_price" force_save="1" invisible="contract_sort != 'property'"/>
<field name="is_less_than_2" invisible="1"/>
</group>
</group>