GoodERP
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

258 lines
15KB

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <odoo>
  3. <data>
  4. <!--联系人-->
  5. <record id="contact_form" model="ir.ui.view">
  6. <field name="name">contact form</field>
  7. <field name="model">partner.address</field>
  8. <field name="arch" type="xml">
  9. <form>
  10. <group>
  11. <group>
  12. <field name="partner_id" invisible="1"/>
  13. <field name="contact" required="1"/>
  14. <field name="address_func" context="{'default_type': 'address_func'}"/>
  15. <field name="department"/>
  16. <field name="job"/>
  17. <field name="supervisor_id"
  18. options="{'no_open': True, 'no_create': True}"/>
  19. <field name="gone"/>
  20. <field name="mobile" required="1"/>
  21. <field name="phone"/>
  22. <field name="qq"/>
  23. <field name="email" widget="email"/>
  24. </group>
  25. <group>
  26. <field name="country_id" required="1"/>
  27. <field name="province_id" required="1"/>
  28. <field name="city_id" required="1" context="{'default_province_id': province_id}"/>
  29. <field name="county_id" context="{'default_city_id': city_id}"/>
  30. <field name="town"/>
  31. <field name="detail_address" required='1'/>
  32. <field name="is_default_add"/>
  33. </group>
  34. <field name="note"/>
  35. </group>
  36. </form>
  37. </field>
  38. </record>
  39. <record id="contact_list" model="ir.ui.view">
  40. <field name="name">contact list</field>
  41. <field name="model">partner.address</field>
  42. <field name="arch" type="xml">
  43. <list>
  44. <field name="partner_id"/>
  45. <field name="contact"/>
  46. <field name="detail_address"/>
  47. </list>
  48. </field>
  49. </record>
  50. <!--继承客户form,添加地址信息-->
  51. <record id="customer_address_form_inherit" model="ir.ui.view">
  52. <field name="name">customer_address_form_inherit</field>
  53. <field name="model">partner</field>
  54. <field name='inherit_id' ref='core.customer_address_form' />
  55. <field name="arch" type="xml">
  56. <field name="main_contact" position="after">
  57. <field name="address"/>
  58. </field>
  59. <xpath expr="//notebook/page[@name='fin']" position="before">
  60. <page name="contact" string="联系人">
  61. <field name="child_ids">
  62. <kanban class="o_kanban_mobile">
  63. <field name="gone"/>
  64. <templates>
  65. <t t-name="card">
  66. <div class="oe_kanban_card">
  67. <div t-attf-class="oe_kanban_content">
  68. <a t-if="! read_only_mode" type="delete" style="position: absolute; right: 0; padding: 4px; diplay: inline-block">X</a>
  69. <div name="tags">
  70. <field name="department"/>
  71. <field name="job"/>
  72. <span t-if="record.gone.raw_value" class="badge badge-pill badge-warning">已离职</span>
  73. <p/>
  74. <a type="open">
  75. <field name="contact" required="1"/>
  76. </a>
  77. <p/>
  78. <field name="mobile" required="1"/>
  79. <p/>
  80. <field name="phone"/>
  81. <p/>
  82. <field name="qq"/>
  83. <p/>
  84. <field name="email"/>
  85. <p/>
  86. <field name="province_id" required="1"/>
  87. <field name="city_id" required="1"/>
  88. <field name="county_id"/>
  89. <field name="town"/>
  90. <field name="detail_address" required='1'/>
  91. <p/>
  92. <field name="address_func"/>
  93. <p/>
  94. <field name="note"/>
  95. <p/>
  96. <field name="supervisor_id"/>
  97. </div>
  98. </div>
  99. </div>
  100. </t>
  101. </templates>
  102. </kanban>
  103. </field>
  104. </page>
  105. </xpath>
  106. </field>
  107. </record>
  108. <!--继承供应商form,添加地址信息-->
  109. <record id="supplier_address_form_inherit" model="ir.ui.view">
  110. <field name="name">supplier_address_form_inherit</field>
  111. <field name="model">partner</field>
  112. <field name='inherit_id' ref='core.supplier_address_form' />
  113. <field name="arch" type="xml">
  114. <xpath expr="//notebook/page[@name='fin']" position="before">
  115. <page name="contact" string="联系人">
  116. <field name="child_ids">
  117. <kanban class="o_kanban_mobile">
  118. <field name="gone"/>
  119. <templates>
  120. <t t-name="card">
  121. <div class="oe_kanban_card">
  122. <div t-attf-class="oe_kanban_content">
  123. <a t-if="!read_only_mode" type="delete" style="position: absolute; top: 2px; right: 2px; padding: 2px; display: inline-block; z-index: 1;" aria-label="Delete record" title="删除">
  124. <i class="fa fa-times" role="img"/>
  125. </a>
  126. <!-- 使用 o_kanban_record_body 或 oe_kanban_content 作为内容容器 -->
  127. <div class="oe_kanban_content p-2">
  128. <!-- 使用 div 和 Odoo 的 spacing class (如 mt-1, mb-1, me-1) 代替 <p/> 会更符合现代 Odoo 风格 -->
  129. <div>
  130. <field name="department" class="oe_inline"/>
  131. <field name="job" class="oe_inline ms-1"/>
  132. <span t-if="record.gone.raw_value" class="badge badge-pill badge-warning ms-1">已离职</span>
  133. </div>
  134. <div class="mt-1">
  135. <a type="open">
  136. <strong><field name="contact" required="1"/></strong>
  137. </a>
  138. </div>
  139. <div t-if="record.mobile.raw_value" class="mt-1">
  140. <i class="fa fa-mobile me-1" role="img" aria-label="Mobile"/> <field name="mobile" required="1"/>
  141. </div>
  142. <div t-if="record.phone.raw_value" class="mt-1">
  143. <i class="fa fa-phone me-1" role="img" aria-label="Phone"/> <field name="phone"/>
  144. </div>
  145. <div t-if="record.qq.raw_value" class="mt-1">
  146. <!-- 可以考虑为 QQ 添加图标 -->
  147. <i class="fa fa-qq me-1" role="img" aria-label="QQ"/> <field name="qq"/>
  148. </div>
  149. <div t-if="record.email.raw_value" class="mt-1">
  150. <i class="fa fa-envelope me-1" role="img" aria-label="Email"/> <field name="email"/>
  151. </div>
  152. <div class="mt-1"> <!-- 地址块 -->
  153. <field name="province_id" required="1" options="{'no_open': True}" class="oe_inline"/>
  154. <field name="city_id" required="1" options="{'no_open': True}" class="oe_inline"/>
  155. <field name="county_id" options="{'no_open': True}" class="oe_inline"/>
  156. <field name="town" class="oe_inline"/>
  157. <field name="detail_address" required='1'/>
  158. </div>
  159. <div t-if="record.address_func.raw_value" class="mt-1">
  160. <field name="address_func"/>
  161. </div>
  162. <div t-if="record.note.raw_value" class="mt-1 text-muted">
  163. <field name="note"/>
  164. </div>
  165. <div t-if="record.supervisor_id.raw_value" class="mt-1">
  166. <span class="text-muted">上级: </span><field name="supervisor_id"/>
  167. </div>
  168. </div>
  169. </div>
  170. </div>
  171. </t>
  172. </templates>
  173. </kanban>
  174. </field>
  175. </page>
  176. </xpath>
  177. </field>
  178. </record>
  179. <record id="country_list" model="ir.ui.view">
  180. <field name="name">country.list</field>
  181. <field name="model">country</field>
  182. <field name='type'>list</field>
  183. <field name="arch" type="xml">
  184. <list string='国家' editable="top">
  185. <field name='name'/>
  186. </list>
  187. </field>
  188. </record>
  189. <record id="all_state_one_list" model="ir.ui.view">
  190. <field name="name">country.state.list</field>
  191. <field name="model">country.state</field>
  192. <field name='type'>list</field>
  193. <field name="arch" type="xml">
  194. <list string='省' editable="top">
  195. <field name='country_id'/>
  196. <field name='name'/>
  197. <field name='code'/>
  198. </list>
  199. </field>
  200. </record>
  201. <record id="country_action" model="ir.actions.act_window">
  202. <field name='name'>国家</field>
  203. <field name='res_model'>country</field>
  204. <field name='view_mode'>list</field>
  205. </record>
  206. <record id="all_state_one_action" model="ir.actions.act_window">
  207. <field name='name'>省</field>
  208. <field name='res_model'>country.state</field>
  209. <field name='view_mode'>list</field>
  210. </record>
  211. <record id="all_city_one_list" model="ir.ui.view">
  212. <field name="name">all.city.list</field>
  213. <field name="model">all.city</field>
  214. <field name='type'>list</field>
  215. <field name="arch" type="xml">
  216. <list string='市' editable="top">
  217. <field name='country_id'/>
  218. <field name='province_id'/>
  219. <field name='city_name'/>
  220. </list>
  221. </field>
  222. </record>
  223. <record id="all_city_one_action" model="ir.actions.act_window">
  224. <field name='name'>市</field>
  225. <field name='res_model'>all.city</field>
  226. <field name='view_mode'>list</field>
  227. </record>
  228. <record id="all_county_one_list" model="ir.ui.view">
  229. <field name="name">all.county.list</field>
  230. <field name="model">all.county</field>
  231. <field name='type'>list</field>
  232. <field name="arch" type="xml">
  233. <list string='县' editable="top">
  234. <field name='country_id' readonly="1"/>
  235. <field name='province_id' readonly="1"/>
  236. <field name='city_id'/>
  237. <field name='county_name'/>
  238. <field name='description'/>
  239. </list>
  240. </field>
  241. </record>
  242. <record id="all_county_one_action" model="ir.actions.act_window">
  243. <field name='name'>县</field>
  244. <field name='res_model'>all.county</field>
  245. <field name='view_mode'>list</field>
  246. </record>
  247. <menuitem id="customer_country_menu" name="国家" parent="core.system_menu" action="country_action" sequence='15'/>
  248. <menuitem id="customer_state_menu" name="省" parent="core.system_menu" action="all_state_one_action" sequence='20'/>
  249. <menuitem id="customer_city_menu" name="市" parent="core.system_menu" action="all_city_one_action" sequence='30'/>
  250. <menuitem id="customer_all_county_menu" name="县" parent="core.system_menu" action="all_county_one_action" sequence='40'/>
  251. </data>
  252. </odoo>
上海开阖软件有限公司 沪ICP备12045867号-1