
    h0                        d dl mZ d dlmZ d dlmZ  G d dej                        Z G d dej                        Z G d d	ej                        Z	 G d
 dej                        Z
 G d dej                        Z G d dej                        Z G d dej                        Z G d dej                        Z G d dej                        Z G d dej                        Zy)    )models)User)timezonec                   F   e Zd ZdZ ej
                  dd      Z ej                  d      Z ej
                  ddd	
      Z	 ej                  dd	d	d      Z ej                  d	d      Z ej                  dd      Z ej                   d	d      Z G d d      Zd Zy)Serviceu   服务类别d   u   服务名称
max_lengthverbose_nameu   服务描述r   2   u   图标类名Tr
   r   blankz	services/u   服务图片	upload_tor   nullr      是否启用defaultr   r      排序   创建时间auto_now_addr   c                       e Zd ZdZdZddgZy)Service.Metau   服务项目order-created_atN__name__
__module____qualname__r   verbose_name_pluralordering     %/var/www/tech_portal/portal/models.pyMetar      s    %,]+r%   r'   c                     | j                   S Nnameselfs    r&   __str__zService.__str__       yyr%   N)r   r    r!   __doc__r   	CharFieldr+   	TextFielddescriptionicon
ImageFieldimageBooleanField	is_activeIntegerFieldr   DateTimeField
created_atr'   r.   r$   r%   r&   r   r      s    6sHD"&""?K6rdSDF4dYghE###D~NIFAE%%%4nUJ, ,
r%   r   c                       e Zd ZdZ ej
                  dd      Z ej                  dej                  dddd	      Z	 ej                  d
d      Z G d d      Zd Zy)ProductCategory   产品分类r   u   分类名称r	   r-   Tchildrenu   父级分类)	on_deleter   r   related_namer   r   r   r   c                       e Zd ZdZdZdgZy)ProductCategory.Metar>   r   Nr   r$   r%   r&   r'   rC       s    %,9r%   r'   c                     | j                   S r)   r*   r,   s    r&   r.   zProductCategory.__str__%   r/   r%   N)r   r    r!   r0   r   r1   r+   
ForeignKeyCASCADEparentr9   r   r'   r.   r$   r%   r&   r=   r=      sa    6sHDVvdRV,6^UFFAE 
r%   r=   c                      e Zd ZdZ ej
                  eej                  dd      Z ej                  dd      Z
 ej                  dd	d
      Z ej                  ddd
      Z ej                  dd
      Z ej                  ddd      Z ej                   dd
d
d      Z ej$                  d
d      Z ej(                  d
d      Z ej(                  d
d      Z G d d      Zd Zy) Productu   产品/配件productsu   分类r@   rA   r      u   产品名称r	   r   u   型号Tr   u   品牌u   规格参数r   r      u   单位u   个)r
   r   r   z	products/u   产品图片r   r   r   r   r      更新时间auto_nowr   c                       e Zd ZdZdZdgZy)Product.Meta   产品r   Nr   r$   r%   r&   r'   rS   7       &!?r%   r'   c                 R    | j                    d| j                   d| j                   S )N )brandr+   modelr,   s    r&   r.   zProduct.__str__<   s%    **Qtyyk4::,77r%   N)r   r    r!   r0   r   rE   r=   rF   categoryr1   r+   rY   rX   r2   specificationsunitr5   r6   r7   r8   r:   r;   
updated_atr'   r.   r$   r%   r&   rI   rI   )   s     v  FNN.8xQH6sHDF($OEF($OE%V%%>NN6r%PDF4dYghE###D~NI%%%4nUJ%%%t.QJ# #
8r%   rI   c                      e Zd ZdZg dZ ej                  eej                  dd      Z	 ej                  ded      Z ej                  d	d
d      Z ej                  dd      Z ej                  ddd      Z ej"                  dd      Z ej&                  dd      Z ej*                  ej.                  d      Z ej                  eej4                  dd      Z G d d      Zd Zy)PriceRecord   价格记录)jdu   京东taobaou   淘宝tmallu   天猫)manualu   手动录入price_recordsrT   rK   rN      平台r
   choicesr   
      u   价格
max_digitsdecimal_placesr   Tu   商品链接r   r   rL   u	   供应商r      备注u   是否有效r   u   获取时间	   创建人r@   r   r   c                       e Zd ZdZdZdgZy)PriceRecord.Metar`   z-fetched_atNr   r$   r%   r&   r'   rv   U       %,!?r%   r'   c                 h    | j                   j                   d| j                   d| j                   dS )N - u   元 ())productr+   priceplatformr,   s    r&   r.   zPriceRecord.__str__Z   s.    ,,##$C

|5qIIr%   N)r   r    r!   r0   PLATFORM_CHOICESr   rE   rI   rF   r{   r1   r}   DecimalFieldr|   URLFieldurlsupplierr2   remarkr7   is_validr:   r   now
fetched_atr   SET_NULL
created_byr'   r.   r$   r%   r&   r_   r_   @   s      f6>>-<8UGv27GV^_HF2ahWE
&//>
BCv3[PTUHVDx@F"v""4nMH%%%hllXJ"""46??0;=J# #
Jr%   r_   c                   B   e Zd ZdZ ej
                  dd      Z ej
                  dd      Z ej
                  dd      Z ej                  d	d
      Z
 ej                  d	d      Z ej                  d	d      Z ej                  d	d      Z G d d      Zd Zy)Customer   客户rL   u   客户名称r	   r   u	   联系人rN      联系电话T   邮箱rq   u   地址   公司信息r   r   c                       e Zd ZdZdZdgZy)Customer.Metar   r   Nr   r$   r%   r&   r'   r   h   rU   r%   r'   c                     | j                   S r)   r*   r,   s    r&   r.   zCustomer.__str__m   r/   r%   N)r   r    r!   r0   r   r1   r+   contact_personphone
EmailFieldemailr2   addresscompany_infor:   r;   r'   r.   r$   r%   r&   r   r   ^   s    6sHD%V%%;ONFHEFDx@EfTAG#6##$^LL%%%4nUJ# #
r%   r   c                   f    e Zd ZdZg dZ ej                  ddd      Z ej                  e	ej                  dd	      Z ej                  d
d      Z ej                  dedd      Z ej                  dd      Z ej                   dddd      Z ej                   dddd      Z ej                   dddd      Z ej(                  dd      Z ej                  eej.                  dd       Z ej2                  dd!"      Z ej2                  dd#$      Z G d% d&      Zd' Z fd(Z xZS ))	Quotation	   报价单))draftu   草稿)pendingu	   待审核)approvedu	   已审核)sentu	   已发送)acceptedu	   已接受)rejectedu	   已拒绝r   Tu   报价单号)r
   uniquer   
quotationsr   rK   rL   u   报价单标题r	   rN   r   u   状态)r
   rk   r   r      u   有效期(天)r      rm   r      折扣率(%)ro   rp   r   r      u	   税率(%)   u	   总金额rr   rq   rs   rt   r   r   rO   rP   c                       e Zd ZdZdZdgZy)Quotation.Metar   r   Nr   r$   r%   r&   r'   r      s    ")!?r%   r'   c                 L    | j                    d| j                  j                   S Nry   )quotation_nocustomerr+   r,   s    r&   r.   zQuotation.__str__   s%    ##$C(:(:';<<r%   c                 \   | j                   sddlm} |j                         j                  d      }t        j
                  j                  |      j                  d      j                         }|rt        |j                   dd        }|dz   }nd}| |d| _         t        | ,  |i | y )	Nr   )datetimezQT%Y%m%d)quotation_no__startswithz-quotation_no   04d)r   r   r   strftimer   objectsfilterorder_byfirstintsupersave)	r-   argskwargsr   prefixlast_quotationlast_number
new_number	__class__s	           r&   r   zQuotation.save   s      )\\^,,Z8F&..55)/ 6 h'  !."="=bc"BC(1_

#)(:c*: ;Dd%f%r%   ) r   r    r!   r0   STATUS_CHOICESr   r1   r   rE   r   rF   r   titlestatusr9   
valid_daysr   discount_ratetax_ratetotal_amountr2   r   r   r   r   r:   r;   r]   r'   r.   r   __classcell__r   s   @r&   r   r   q   sS   N $6##r$^\L v  V^^.:SHF:KLEV^&-HFF$$$R>NOJ'F''1Q01PM"v""a+-KIH&6&&"Q/0{LLVDx@F"""46??0;=J%%%4nUJ%%%t.QJ# #
=& &r%   r   c                       e Zd ZdZ ej
                  eej                  dd      Z ej
                  e	ej                  d      Z
 ej                  dd	      Z ej                  d
dd      Z ej                  dddd      Z ej                  d
dd      Z ej"                  ddd      Z G d d      Zd Z fdZ xZS )QuotationItem   报价单明细itemsr   rK   rT   r@   r   r   u   数量r   rl   rm   u   单价rn   r   r   r   r   u   小计  Trr   )r
   r   r   c                       e Zd ZdZdZy)QuotationItem.Metar   Nr   r    r!   r   r"   r$   r%   r&   r'   r      s    (/r%   r'   c                 L    | j                   j                   d| j                   S )Nz x )r{   r+   quantityr,   s    r&   r.   zQuotationItem.__str__   s"    ,,##$C77r%   c                     | j                   | j                  z  | j                  dz  z  }| j                   | j                  z  |z
  | _        t	        |   |i | y )Nr   )
unit_pricer   r   subtotalr   r   )r-   r   r   discount_amountr   s       r&   r   zQuotationItem.save   sP    //DMM9T=O=ORU=UV$--7/Id%f%r%   )r   r    r!   r0   r   rE   r   rF   	quotationrI   r{   r9   r   r   r   r   r   r1   r   r'   r.   r   r   r   s   @r&   r   r      s    !!!)v~~/6[RIf6>>PXYG"v""18DH$$$1S[\J'F''1Q01PM"v""bQYZHVDxPF0 08& &r%   r   c                      e Zd ZdZ ej
                  dd      Z ej
                  ddd      Z ej                  d	
      Z	 ej
                  dd      Z
 ej
                  dd      Z ej
                  ddd      Z ej                  d
      Z ej                  dd      Z ej
                  ddd      Z ej
                  ddd      Z ej&                  ddd      Z ej&                  ddd      Z ej
                  ddd      Z ej
                  ddd      Z ej
                  ddd      Z G d d      Zd Zy )!CompanyInfor   rL   u   公司名称r	   r   u   公司口号Tr   u   公司简介r   u   公司地址r   r   u   手机号码r   u   网站rM   r   u	   微信号rN   u   QQ号zcompany/u
   公司Logo)r   r   r   u	   二维码u   营业执照号u   开户银行u   银行账号c                       e Zd ZdZdZy)CompanyInfo.Metar   Nr   r$   r%   r&   r'   r      s    %,r%   r'   c                     | j                   S r)   r*   r,   s    r&   r.   zCompanyInfo.__str__   r/   r%   N)r   r    r!   r0   r   r1   r+   sloganr2   r3   r   r   mobiler   r   r   websitewechatqqr5   logoqr_codebusiness_license	bank_namebank_accountr'   r.   r$   r%   r&   r   r      sU   6sHDV>QUVF"&""?Kf#NKGFHEV.PTUFF84Efoo84@GV;dSF			RgT	JB6zTXYDf*;VZ[G'v''3EV^bc   CnTXYI#6##sW[\L- -r%   r   c                   h   e Zd ZdZ ej
                  dd      Z ej
                  dd      Z ej                  dd	      Z	 ej
                  d
d      Z
 ej                  d      Z ej                  dd      Z ej                  dd      Z ej                   dd      Z G d d      Zd Zy)ContactMessage   联系留言r   u   姓名r	   rN   u   电话r   TrM   rL   u   主题u   留言内容r   Fu   是否已读r   u   是否已回复r   r   c                       e Zd ZdZdZdgZy)ContactMessage.Metar   r   Nr   r$   r%   r&   r'   r      rw   r%   r'   c                 8    | j                    d| j                   S r   )r+   subjectr,   s    r&   r.   zContactMessage.__str__   s    ))C~..r%   N)r   r    r!   r0   r   r1   r+   r   r   r   r   r2   messager7   is_read
is_repliedr:   r;   r'   r.   r$   r%   r&   r   r      s    6sBDFBEF84@Ef#HEGfN;G!f!!%nMG$$$UARSJ%%%4nUJ# #
/r%   r   c                      e Zd ZdZg dZ ej                  ded      Z ej                  d      Z	 ej                  dd	d
      Z
 ej                  d
d      Z ej                  d
d
d      Z ej                  d
d      Z ej                  d
d      Z ej"                  eej&                  d      Z G d d      Zd Zd Zy)PlatformCookieu   平台Cookie管理)ra   rc   re   )otheru   其他rN   ri   rj   u   Cookie数据r   rL   u   描述Tr   r   r   u   最后使用时间)r   r   r   r   r   rO   rP   rs   r   c                       e Zd ZdZdZdgZy)PlatformCookie.Metau   平台Cookiez-updated_atNr   r$   r%   r&   r'   r     rw   r%   r'   c                 H    | j                          d| j                  xs d S )Nry   u	   无描述)get_platform_displayr3   r,   s    r&   r.   zPlatformCookie.__str__
  s)    ++-.c$2B2B2Qk1RSSr%   c                     i }| j                   rk| j                   j                  d      D ]M  }|j                         }d|v s|j                  dd      \  }}|j                         ||j                         <   O |S )u!   将Cookie字符串转换为字典;=r   )cookie_datasplitstrip)r-   cookie_dictitemkeyvalues        r&   get_cookie_dictzPlatformCookie.get_cookie_dict  st    ((..s3 =zz|$;!%C!3JC/4{{}K		,	=
 r%   N)r   r    r!   r0   r~   r   r1   r}   r2   r   r3   r7   r8   r:   	last_usedr;   r]   rE   r   rF   r   r'   r.   r  r$   r%   r&   r   r      s      v27GV^_H"&""?K"&""cPTUK###D~NI$$$$dI]^I%%%4nUJ%%%t.QJ"""46>>P[\J# #
T	r%   r   N)	django.dbr   django.contrib.auth.modelsr   django.utilsr   Modelr   r=   rI   r_   r   r   r   r   r   r   r$   r%   r&   <module>r     s     + !fll &fll  8fll 8.J&,, J<v|| &7& 7&t&FLL &4&,, 4/V\\ /(#V\\ #r%   