essential-information.component.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  1. <!-- 基本信息 -->
  2. <form nz-form [formGroup]="validateForm" (ngSubmit)="submitForm()">
  3. <nz-card>
  4. <div nz-row [nzGutter]="24">
  5. <!-- 合同编码 -->
  6. <div nz-col [nzSpan]="6">
  7. <nz-form-item>
  8. <nz-form-label [nzSpan]="'vertical' ? 24 : null" nzRequired>合同编码</nz-form-label>
  9. <nz-form-control [nzSm]="24" [nzXs]="24">
  10. <input nz-input placeholder="自动生成" disabled="true" />
  11. </nz-form-control>
  12. </nz-form-item>
  13. </div>
  14. <!-- 项目名称 -->
  15. <div nz-col [nzSpan]="6">
  16. <nz-form-item>
  17. <nz-form-label [nzSpan]="'vertical' ? 24 : null" nzRequired>项目名称</nz-form-label>
  18. <nz-form-control [nzSm]="24" [nzXs]="24">
  19. <nz-tree-select style="width: 100%" [nzNodes]="proList" nzShowSearch [nzMultiple]="false"
  20. formControlName="proId" id="proId" nzPlaceHolder="请选择" [(ngModel)]="contractFile.proId"
  21. [nzMaxTagCount]="3" [nzAllowClear]="true" (ngModelChange)="proChange($event)">
  22. </nz-tree-select>
  23. <nz-form-explain *ngIf="validateForm.get('proId')?.dirty && validateForm.get('proId')?.errors">
  24. 请选择项目
  25. </nz-form-explain>
  26. </nz-form-control>
  27. </nz-form-item>
  28. </div>
  29. <!-- 免费售后起始 -->
  30. <div nz-col [nzSpan]="6">
  31. <nz-form-item>
  32. <nz-form-label [nzSpan]="'vertical' ? 24 : null" nzRequired>免费售后起始</nz-form-label>
  33. <nz-form-control>
  34. <nz-date-picker nzFormat="yyyy-MM-dd" formControlName="freeAfterSalesStart" id="freeAfterSalesStart"
  35. [(ngModel)]="contractFile.freeAfterSalesStart" [nzDisabledDate]="disabledDate"></nz-date-picker>
  36. <nz-form-explain
  37. *ngIf="validateForm.get('freeAfterSalesStart')?.dirty && validateForm.get('freeAfterSalesStart')?.errors">
  38. 请选择免费售后起始
  39. </nz-form-explain>
  40. </nz-form-control>
  41. </nz-form-item>
  42. </div>
  43. <!-- 免费售后截至 -->
  44. <div nz-col [nzSpan]="6">
  45. <nz-form-item>
  46. <nz-form-label [nzSpan]="'vertical' ? 24 : null" nzRequired>免费售后截至</nz-form-label>
  47. <nz-form-explain>
  48. <nz-date-picker nzFormat="yyyy-MM-dd" formControlName="freeAfterSalesEnd" id="freeAfterSalesEnd"
  49. [(ngModel)]="contractFile.freeAfterSalesEnd" [nzDisabledDate]="disabledDate2"></nz-date-picker>
  50. <nz-form-explain
  51. *ngIf="validateForm.get('freeAfterSalesEnd')?.dirty && validateForm.get('freeAfterSalesEnd')?.errors">
  52. 请选择免费售后截至
  53. </nz-form-explain>
  54. </nz-form-explain>
  55. </nz-form-item>
  56. </div>
  57. </div>
  58. <div nz-row [nzGutter]="24">
  59. <!-- 合同概述 -->
  60. <div nz-col [nzSpan]="24">
  61. <nz-form-item>
  62. <nz-form-label [nzSpan]="'vertical' ? 24 : null">合同概述</nz-form-label>
  63. <nz-form-control [nzSm]="24" [nzXs]="24">
  64. <textarea rows="2" formControlName="overview" id="overview" nz-input [(ngModel)]="contractFile.overview"
  65. placeholder="请输入合同概述"></textarea>
  66. </nz-form-control>
  67. </nz-form-item>
  68. </div>
  69. </div>
  70. <div nz-row [nzGutter]="24">
  71. <div nz-col [nzSpan]="6">
  72. <nz-form-item>
  73. <nz-form-label [nzSpan]="'vertical' ? 24 : null" nzRequired>客户</nz-form-label>
  74. <nz-form-control [nzSm]="24" [nzXs]="24">
  75. <nz-input-group nzSearch [nzAddOnAfter]="suffixIconButton">
  76. <input type="text" [(ngModel)]="contractFile.fdCustomerName" formControlName="fdCustomerName"
  77. id="fdCustomerName" nz-input placeholder="{{ 'select.please.choose' | translate }}" disabled="true" />
  78. </nz-input-group>
  79. <ng-template #suffixIconButton>
  80. <!-- 放大镜 勾选列表 -->
  81. <button nz-button nzType="primary" nzSearch (click)="modalTable()">
  82. <i nz-icon type="search"></i>
  83. </button>
  84. </ng-template>
  85. <nz-form-explain
  86. *ngIf="validateForm.get('fdCustomerName')?.dirty && validateForm.get('fdCustomerName')?.errors">
  87. 请选择客户
  88. </nz-form-explain>
  89. </nz-form-control>
  90. </nz-form-item>
  91. </div>
  92. <div nz-col [nzSpan]="18">
  93. <nz-form-item>
  94. <nz-form-label [nzSpan]="'vertical' ? 24 : null">客户地址</nz-form-label>
  95. <nz-form-control [nzSm]="24" [nzXs]="24">
  96. <input disabled="true" nz-input [(ngModel)]="contractFile.fdCustomeraddress"
  97. formControlName="fdCustomeraddress" id="fdCustomeraddress" placeholder="客户地址" [disabled]="true" />
  98. </nz-form-control>
  99. </nz-form-item>
  100. </div>
  101. </div>
  102. <div nz-row [nzGutter]="24">
  103. <div nz-col [nzSpan]="6">
  104. <nz-form-item>
  105. <nz-form-label [nzSpan]="'vertical' ? 24 : null" nzRequired>客户人员</nz-form-label>
  106. <nz-form-control>
  107. <nz-select style="widows: 100%;" nzShowSearch nzAllowClear formControlName="fdCustomerPersonnelId"
  108. id="fdCustomerPersonnelId" [(ngModel)]="contractFile.fdCustomerPersonnelId" nzPlaceHolder="请选择"
  109. (ngModelChange)="fdCustomerPersonnelChange($event)">
  110. <nz-option *ngFor="let i of fdCustomerPersonnelList" [nzValue]="i.id" [nzLabel]="i.contactPsn">
  111. </nz-option>
  112. </nz-select>
  113. <nz-form-explain
  114. *ngIf="validateForm.get('fdCustomerPersonnelId')?.dirty && validateForm.get('fdCustomerPersonnelId')?.errors">
  115. 请选择客户人员
  116. </nz-form-explain>
  117. </nz-form-control>
  118. </nz-form-item>
  119. </div>
  120. <!-- 手机 -->
  121. <div nz-col [nzSpan]="6">
  122. <nz-form-item>
  123. <nz-form-label [nzSpan]="'vertical' ? 24 : null">手机</nz-form-label>
  124. <nz-form-control>
  125. <input disabled="true" nz-input [(ngModel)]="contractFile.fdCustomerPersonnelTel"
  126. formControlName="fdCustomerPersonnelTel" id="fdCustomerPersonnelTel" placeholder="客户地址"
  127. [disabled]="true" />
  128. </nz-form-control>
  129. </nz-form-item>
  130. </div>
  131. <!-- 销售人员 -->
  132. <div nz-col [nzSpan]="6">
  133. <nz-form-item>
  134. <nz-form-label [nzSpan]="'vertical' ? 24 : null" nzRequired>销售人员</nz-form-label>
  135. <nz-form-control>
  136. <nz-tree-select [nzNodes]="salesStaffList" nzShowSearch formControlName="salesmanId" id="salesmanId"
  137. nzAllowClear="false" [(ngModel)]="contractFile.salesmanId" (ngModelChange)="onChangeSalesmanId($event)"
  138. nzPlaceHolder="{{ 'select.please.choose' | translate }}"></nz-tree-select>
  139. <nz-form-explain *ngIf="validateForm.get('salesmanId')?.dirty && validateForm.get('salesmanId')?.errors">
  140. 请选择销售人员
  141. </nz-form-explain>
  142. </nz-form-control>
  143. </nz-form-item>
  144. </div>
  145. <!-- 业务类型 -->
  146. <div nz-col [nzSpan]="6">
  147. <nz-form-item>
  148. <nz-form-label [nzSpan]="'vertical' ? 24 : null">业务类型</nz-form-label>
  149. <nz-form-control [nzSm]="24" [nzXs]="24">
  150. <nz-select style="widows: 100%;" nzShowSearch nzAllowClear formControlName="businessTypeDictId"
  151. id="businessTypeDictId" [(ngModel)]="contractFile.businessTypeDictId" nzPlaceHolder="请选择"
  152. (ngModelChange)="businessTypeDictIdChange($event)">
  153. <nz-option *ngFor="let i of businessTypeDictList" [nzValue]="i.value" [nzLabel]="i.text"></nz-option>
  154. </nz-select>
  155. <nz-form-explain
  156. *ngIf="validateForm.get('businessTypeDictId')?.dirty && validateForm.get('businessTypeDictId')?.errors">
  157. 请选择业务类型
  158. </nz-form-explain>
  159. </nz-form-control>
  160. </nz-form-item>
  161. </div>
  162. </div>
  163. </nz-card>
  164. <nz-card>
  165. <div nz-row [nzGutter]="24">
  166. <!-- 标准报价 -->
  167. <div nz-col [nzSpan]="4">
  168. <nz-form-item>
  169. <nz-form-label [nzSpan]="'vertical' ? 24 : null">标准报价</nz-form-label>
  170. <nz-form-explain>
  171. <nz-input-number [(ngModel)]="contractFile.standardQuotation" formControlName="standardQuotation"
  172. id="standardQuotation" [nzDisabled]="true" [nzMin]="0" [nzFormatter]="formatterDollar" [nzParser]="parserDollar">
  173. </nz-input-number>
  174. </nz-form-explain>
  175. </nz-form-item>
  176. </div>
  177. <!-- 成交金额 -->
  178. <div nz-col [nzSpan]="4">
  179. <nz-form-item>
  180. <nz-form-label [nzSpan]="'vertical' ? 24 : null">成交金额</nz-form-label>
  181. <nz-form-explain>
  182. <nz-input-number [(ngModel)]="contractFile.transactionAmount" formControlName="transactionAmount"
  183. id="transactionAmount" [nzMin]="0" [nzFormatter]="formatterDollar" [nzParser]="parserDollar">
  184. </nz-input-number>
  185. </nz-form-explain>
  186. </nz-form-item>
  187. </div>
  188. <!-- 折扣率 -->
  189. <div nz-col [nzSpan]="4">
  190. <nz-form-item>
  191. <nz-form-label [nzSpan]="'vertical' ? 24 : null">折扣率</nz-form-label>
  192. <nz-form-explain>
  193. <nz-input-number [(ngModel)]="contractFile.discountRate" formControlName="discountRate" id="discountRate"
  194. [nzMin]="0" [nzFormatter]="formatterDollar" [nzParser]="parserDollar">
  195. </nz-input-number>
  196. </nz-form-explain>
  197. </nz-form-item>
  198. </div>
  199. <!-- 赠品金额 -->
  200. <div nz-col [nzSpan]="4">
  201. <nz-form-item>
  202. <nz-form-label [nzSpan]="'vertical' ? 24 : null">赠品金额</nz-form-label>
  203. <nz-form-explain>
  204. <nz-input-number [(ngModel)]="contractFile.giftAmount" formControlName="giftAmount" id="giftAmount"
  205. [nzMin]="0" [nzFormatter]="formatterDollar" [nzParser]="parserDollar">
  206. </nz-input-number>
  207. </nz-form-explain>
  208. </nz-form-item>
  209. </div>
  210. <!-- 成本 -->
  211. <div nz-col [nzSpan]="4">
  212. <nz-form-item>
  213. <nz-form-label [nzSpan]="'vertical' ? 24 : null">成本</nz-form-label>
  214. <nz-form-explain>
  215. <nz-input-number [(ngModel)]="contractFile.cost" formControlName="cost" id="cost" [nzMin]="0"
  216. [nzFormatter]="formatterDollar" [nzParser]="parserDollar">
  217. </nz-input-number>
  218. </nz-form-explain>
  219. </nz-form-item>
  220. </div>
  221. <!-- 合同费用 -->
  222. <div nz-col [nzSpan]="4">
  223. <nz-form-item>
  224. <nz-form-label [nzSpan]="'vertical' ? 24 : null">合同费用</nz-form-label>
  225. <nz-form-explain>
  226. <nz-input-number [(ngModel)]="contractFile.contractCost" formControlName="contractCost" id="contractCost"
  227. [nzMin]="0" [nzFormatter]="formatterDollar" [nzParser]="parserDollar">
  228. </nz-input-number>
  229. </nz-form-explain>
  230. </nz-form-item>
  231. </div>
  232. </div>
  233. <div nz-row [nzGutter]="24">
  234. <!-- 合同利润 -->
  235. <div nz-col [nzSpan]="4">
  236. <nz-form-item>
  237. <nz-form-label [nzSpan]="'vertical' ? 24 : null">合同利润</nz-form-label>
  238. <nz-form-explain>
  239. <nz-input-number [(ngModel)]="contractFile.contractProfit" formControlName="contractProfit"
  240. id="contractProfit" [nzMin]="0" [nzFormatter]="formatterDollar" [nzParser]="parserDollar">
  241. </nz-input-number>
  242. </nz-form-explain>
  243. </nz-form-item>
  244. </div>
  245. <!-- 应收款账 -->
  246. <div nz-col [nzSpan]="4">
  247. <nz-form-item>
  248. <nz-form-label [nzSpan]="'vertical' ? 24 : null">应收款账</nz-form-label>
  249. <nz-form-explain>
  250. <nz-input-number [(ngModel)]="contractFile.accountsReceivable" formControlName="accountsReceivable"
  251. id="accountsReceivable" [nzMin]="0" [nzFormatter]="formatterDollar" [nzParser]="parserDollar">
  252. </nz-input-number>
  253. </nz-form-explain>
  254. </nz-form-item>
  255. </div>
  256. <!-- 业绩计算率 -->
  257. <div nz-col [nzSpan]="4">
  258. <nz-form-item>
  259. <nz-form-label [nzSpan]="'vertical' ? 24 : null">业绩计算率</nz-form-label>
  260. <nz-form-explain>
  261. <nz-input-number [(ngModel)]="contractFile.performanceCalculationRate"
  262. formControlName="performanceCalculationRate" id="performanceCalculationRate" [nzMin]="0"
  263. [nzFormatter]="formatterDollar" [nzParser]="parserDollar">
  264. </nz-input-number>
  265. </nz-form-explain>
  266. </nz-form-item>
  267. </div>
  268. </div>
  269. </nz-card>
  270. <nz-card>
  271. <div nz-row [nzGutter]="24">
  272. <!-- 制单人 -->
  273. <div nz-col [nzSpan]="12">
  274. <nz-form-item>
  275. <nz-form-label [nzSpan]="'vertical' ? 24 : null">制单人</nz-form-label>
  276. <nz-form-explain>
  277. xxx
  278. </nz-form-explain>
  279. </nz-form-item>
  280. </div>
  281. <!-- 制单时间 -->
  282. <div nz-col [nzSpan]="12">
  283. <nz-form-item>
  284. <nz-form-label [nzSpan]="'vertical' ? 24 : null">制单人</nz-form-label>
  285. <nz-form-explain>
  286. xxx
  287. </nz-form-explain>
  288. </nz-form-item>
  289. </div>
  290. </div>
  291. <div nz-row [nzGutter]="24">
  292. <!-- 修改人 -->
  293. <div nz-col [nzSpan]="12">
  294. <nz-form-item>
  295. <nz-form-label [nzSpan]="'vertical' ? 24 : null">修改人</nz-form-label>
  296. <nz-form-explain>
  297. xxx
  298. </nz-form-explain>
  299. </nz-form-item>
  300. </div>
  301. <!-- 修改时间 -->
  302. <div nz-col [nzSpan]="12">
  303. <nz-form-item>
  304. <nz-form-label [nzSpan]="'vertical' ? 24 : null">修改时间</nz-form-label>
  305. <nz-form-explain>
  306. xxx
  307. </nz-form-explain>
  308. </nz-form-item>
  309. </div>
  310. </div>
  311. </nz-card>
  312. </form>