basic.component.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436
  1. <form nz-form [formGroup]="validateForm" class="login-form">
  2. <nz-form-item style="margin-bottom: 16px">
  3. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired
  4. >国际标准书号(ISBN)</nz-form-label
  5. >
  6. <nz-form-control
  7. nzErrorTip="请输入国际标准书号,仅可输入数字"
  8. [nzSm]="12"
  9. [nzXs]="12"
  10. >
  11. <nz-input-group nzSearch [nzAddOnAfter]="autoButton">
  12. <input
  13. type="number"
  14. nz-input
  15. formControlName="ISBN"
  16. placeholder="请输入国际标准书号,仅可输入数字"
  17. />
  18. </nz-input-group>
  19. <ng-template #autoButton>
  20. <button (click)="autoCompleteByISBN()" nz-button nzType="primary">
  21. 获取教材信息
  22. </button>
  23. </ng-template>
  24. </nz-form-control>
  25. </nz-form-item>
  26. <nz-form-item style="margin-bottom: 16px">
  27. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired>
  28. 第一主编(作者)
  29. <span
  30. class="exclamation-circle"
  31. nzPopoverPlacement="top"
  32. nz-popover
  33. [nzPopoverContent]="authorTemplate"
  34. nz-icon
  35. nzType="exclamation-circle"
  36. nzTheme="outline"
  37. ></span>
  38. </nz-form-label>
  39. <ng-template #authorTemplate>
  40. <div class="template">
  41. 教材的第一主编须与版权页及CIP核字号验证一致。第一主编是组织或单位的,也应按版权页填写组织或单位,同时按照教材相关内容中的具体编者名单,填写“作者信息”表。按“全册”申报的,如多册之间的第一主编不是同一人,可将各册的第一主编均写上,
  42. 并由其中一人所在单位处申报。
  43. </div>
  44. </ng-template>
  45. <nz-form-control
  46. nzErrorTip="请输入第一主编(作者)"
  47. [nzSm]="12"
  48. [nzXs]="12"
  49. >
  50. <nz-input-group>
  51. <input
  52. type="text"
  53. nz-input
  54. formControlName="author"
  55. placeholder="请输入作者姓名"
  56. />
  57. </nz-input-group>
  58. </nz-form-control>
  59. </nz-form-item>
  60. <nz-form-item style="margin-bottom: 16px">
  61. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired>
  62. 第一主编(作者)单位
  63. <span
  64. class="exclamation-circle"
  65. nzPopoverPlacement="top"
  66. nz-popover
  67. [nzPopoverContent]="unitTemplate"
  68. nz-icon
  69. nzType="exclamation-circle"
  70. nzTheme="outline"
  71. ></span>
  72. </nz-form-label>
  73. <ng-template #unitTemplate>
  74. <div class="template">
  75. <ul>
  76. <li>
  77. 如教材第一主编出版教材后调换单位,原则上由现在单位处申报,但须经原单位认可。
  78. </li>
  79. <li>
  80. 如教材第一主编无单位或者单位不是高校,可由第二主编单位处申报,但须经原单位同意。
  81. </li>
  82. <li>
  83. 如教材第一主编已退休,原则上仍由原单位处申报。如退休后被聘至新单位,且在新单位工作期间出版教材,可由新单位处申报,但须经原单位认可。
  84. </li>
  85. <li>
  86. 如教材第一主编已去世,可根据第一主编(作者)单位意见,继续由该单位申报,或者经第一主编单位同意,顺延至第二主编(作者)所在单位申报,上述两种方式均需去世第一主编继承人同意。
  87. </li>
  88. </ul>
  89. 以上情况,均需在申报材料中有说明并有佐证,如同意申报的证明等。
  90. </div>
  91. </ng-template>
  92. <nz-form-control
  93. nzErrorTip="请输入第一主编(作者)单位"
  94. [nzSm]="12"
  95. [nzXs]="12"
  96. >
  97. <nz-input-group>
  98. <input
  99. type="text"
  100. nz-input
  101. formControlName="unit"
  102. placeholder="请输入作者单位"
  103. />
  104. </nz-input-group>
  105. </nz-form-control>
  106. </nz-form-item>
  107. <nz-form-item style="margin-bottom: 16px">
  108. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired
  109. >第一主编(作者)单位类型</nz-form-label
  110. >
  111. <nz-form-control
  112. nzErrorTip="第一主编(作者)单位类型"
  113. [nzSm]="12"
  114. [nzXs]="12"
  115. >
  116. <nz-input-group>
  117. <nz-select
  118. nzShowSearch
  119. nzAllowClear
  120. nzPlaceHolder="请选择第一主编(作者)单位类型"
  121. formControlName="unitType"
  122. >
  123. @for(type of unitSelects; track type.code;let index = $index){
  124. <nz-option
  125. nzCustomContent
  126. [nzValue]="type.name"
  127. [nzLabel]="type.name"
  128. >
  129. <div>{{ type.name }}</div>
  130. </nz-option>
  131. }
  132. </nz-select>
  133. </nz-input-group>
  134. </nz-form-control>
  135. </nz-form-item>
  136. <nz-form-item style="margin-bottom: 16px">
  137. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired
  138. >教材主要语种类型</nz-form-label
  139. >
  140. <nz-form-control nzErrorTip="选择教材主要语种" [nzSm]="12" [nzXs]="12">
  141. <nz-input-group>
  142. <nz-select
  143. nzShowSearch
  144. nzAllowClear
  145. nzPlaceHolder="选择教材主要语种"
  146. formControlName="lang"
  147. >
  148. @for(lang of selectLang; track lang.lang;let index = $index){
  149. <nz-option
  150. nzCustomContent
  151. [nzValue]="lang.name"
  152. [nzLabel]="lang.name"
  153. >{{ lang.name }}</nz-option
  154. >
  155. }
  156. </nz-select>
  157. </nz-input-group>
  158. </nz-form-control>
  159. </nz-form-item>
  160. <nz-form-item style="margin-bottom: 16px">
  161. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8"
  162. >其他主编姓名
  163. <span
  164. nz-popover
  165. nzPopoverPlacement="top"
  166. nzPopoverContent="顺序完全遵照教材上的排序"
  167. class="exclamation-circle"
  168. nz-icon
  169. nzType="exclamation-circle"
  170. nzTheme="outline"
  171. ></span>
  172. </nz-form-label>
  173. <nz-form-control
  174. nzErrorTip="请输入其他主编姓名,使用「、」隔开"
  175. [nzSm]="12"
  176. [nzXs]="12"
  177. >
  178. <nz-input-group>
  179. <textarea
  180. type="text"
  181. nz-input
  182. formControlName="authors"
  183. placeholder="请输入其他主编姓名,使用「、」隔开"
  184. ></textarea>
  185. </nz-input-group>
  186. </nz-form-control>
  187. </nz-form-item>
  188. <nz-form-item style="margin-bottom: 16px">
  189. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8"
  190. >其他编者姓名
  191. <span
  192. nz-popover
  193. nzPopoverPlacement="top"
  194. nzPopoverContent="顺序完全遵照教材上的排序,请列出所有作者姓名,以“、”连接"
  195. class="exclamation-circle"
  196. nz-icon
  197. nzType="exclamation-circle"
  198. nzTheme="outline"
  199. ></span>
  200. </nz-form-label>
  201. <nz-form-control
  202. nzErrorTip="请输入其他编者姓名,使用「,」隔开"
  203. [nzSm]="12"
  204. [nzXs]="12"
  205. >
  206. <nz-input-group>
  207. <textarea
  208. type="text"
  209. nz-input
  210. formControlName="editor"
  211. placeholder="请输入其他编者姓名,使用「,」隔开"
  212. ></textarea>
  213. </nz-input-group>
  214. </nz-form-control>
  215. </nz-form-item>
  216. <nz-form-item style="margin-bottom: 16px">
  217. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired
  218. >出版单位</nz-form-label
  219. >
  220. @if (!isShowChooseEU) {
  221. <p
  222. title="点击更改出版单位"
  223. (click)="isShowChooseEU = true"
  224. style="margin-top: 6px; color: rgb(0, 140, 255)"
  225. >
  226. {{ validateForm.value.editionUnit }}
  227. </p>
  228. }@else{
  229. <nz-form-control nzErrorTip="请输入出版单位" [nzSm]="12" [nzXs]="12">
  230. <nz-input-group>
  231. <nz-select
  232. nzShowSearch
  233. nzServerSearch
  234. nzPlaceHolder="选择出版单位"
  235. formControlName="editionUnit"
  236. [nzShowArrow]="false"
  237. [nzFilterOption]="nzFilterOption"
  238. (nzOnSearch)="search($event)"
  239. >
  240. @for(edu of eduList; track edu;let index = $index){
  241. <nz-option
  242. nzCustomContent
  243. [nzLabel]="edu?.get('name')"
  244. [nzValue]="edu?.get('name')"
  245. >
  246. {{ edu?.get("name") }}
  247. </nz-option>
  248. }
  249. </nz-select>
  250. </nz-input-group>
  251. </nz-form-control>
  252. }
  253. </nz-form-item>
  254. <nz-form-item style="margin-bottom: 16px">
  255. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired>
  256. 初版时间
  257. <span
  258. nz-popover
  259. [nzPopoverContent]="editionFirstTemplate"
  260. nzPopoverPlacement="top"
  261. class="exclamation-circle"
  262. nz-icon
  263. nzType="exclamation-circle"
  264. nzTheme="outline"
  265. ></span>
  266. </nz-form-label>
  267. <ng-template #editionFirstTemplate>
  268. <div class="template">
  269. 参评教材需同时满足以下两个时间要求:<br />
  270. 1、2022年8月(含)前初版(第一版)教材出版;<br />
  271. 2、2022年12月(含)后对教材进行过修订或重印
  272. </div>
  273. </ng-template>
  274. <nz-form-control nzErrorTip="请输入初版时间" [nzSm]="12" [nzXs]="12">
  275. <nz-input-group>
  276. <nz-date-picker
  277. nzMode="month"
  278. style="width: 100%"
  279. formControlName="editionFirst"
  280. ></nz-date-picker>
  281. </nz-input-group>
  282. </nz-form-control>
  283. </nz-form-item>
  284. <nz-form-item style="margin-bottom: 16px">
  285. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired>
  286. 载体形式
  287. <!-- <span style="padding: 0 5px;" nz-icon nzType="info-circle" nzTheme="outline"></span> -->
  288. </nz-form-label>
  289. <nz-form-control nzErrorTip="请输入载体形式" [nzSm]="12" [nzXs]="12">
  290. <nz-input-group>
  291. <nz-select
  292. nzShowSearch
  293. nzAllowClear
  294. nzPlaceHolder="选择载体形式"
  295. formControlName="carrierShape"
  296. >
  297. @for(item of carrierOptions; track item.code;let index = $index){
  298. <nz-option
  299. nzCustomContent
  300. [nzValue]="item.name"
  301. [nzLabel]="item.name"
  302. >{{ item.name }}</nz-option
  303. >
  304. }
  305. </nz-select>
  306. </nz-input-group>
  307. </nz-form-control>
  308. </nz-form-item>
  309. <nz-form-item style="margin-bottom: 16px">
  310. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired
  311. >本版出版时间及版次</nz-form-label
  312. >
  313. <nz-form-control nzErrorTip="请输入出版时间" [nzSm]="12" [nzXs]="12">
  314. <nz-input-group>
  315. <div class="basic-row">
  316. <nz-date-picker
  317. nzMode="month"
  318. style="flex: 1"
  319. formControlName="editionDate"
  320. ></nz-date-picker>
  321. <nz-input-group
  322. style="width: 150px; margin-left: 20px"
  323. [nzSuffix]="suffixTemplateInfo"
  324. >
  325. <!-- <input type="number" formControlName="editionNumber" nz-input placeholder="输入版次" /> -->
  326. <nz-input-number
  327. nzBorderless
  328. formControlName="editionNumber"
  329. [nzPrecision]="0"
  330. [nzMin]="1"
  331. [nzStep]="1"
  332. ></nz-input-number>
  333. </nz-input-group>
  334. <ng-template #suffixTemplateInfo> 版 </ng-template>
  335. </div>
  336. </nz-input-group>
  337. </nz-form-control>
  338. </nz-form-item>
  339. <nz-form-item style="margin-bottom: 16px">
  340. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired
  341. >最新印次时间及印次</nz-form-label
  342. >
  343. <nz-form-control nzErrorTip="请输入完整内容" [nzSm]="12" [nzXs]="12">
  344. <nz-input-group>
  345. <div class="basic-row">
  346. <nz-date-picker
  347. nzMode="month"
  348. style="flex: 1"
  349. formControlName="printDate"
  350. [nzDisabledDate]="disabledEditionDate"
  351. ></nz-date-picker>
  352. <nz-input-group
  353. style="width: 150px; margin-left: 20px"
  354. [nzSuffix]="suffixTemplateInfo02"
  355. >
  356. <!-- <input type="number" formControlName="printNumber" nz-input placeholder="输入印次" /> -->
  357. <nz-input-number
  358. nzBorderless
  359. [nzPrecision]="0"
  360. formControlName="printNumber"
  361. [nzMin]="1"
  362. [nzStep]="1"
  363. ></nz-input-number>
  364. </nz-input-group>
  365. <ng-template #suffixTemplateInfo02> 次 </ng-template>
  366. </div>
  367. </nz-input-group>
  368. </nz-form-control>
  369. </nz-form-item>
  370. <nz-form-item style="margin-bottom: 16px">
  371. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired
  372. >初版以来合计印数</nz-form-label
  373. >
  374. <nz-form-control
  375. nzErrorTip="请输入初版以来合计印数"
  376. [nzSm]="12"
  377. [nzXs]="12"
  378. >
  379. <nz-input-group>
  380. <nz-input-group [nzSuffix]="suffixTemplateInfo03">
  381. <!-- <input type="number" formControlName="printSum" nz-input placeholder="输入合计印数" /> -->
  382. <nz-input-number
  383. style="width: 100%"
  384. nzBorderless
  385. [nzPrecision]="4"
  386. formControlName="printSum"
  387. [nzMin]="0.01"
  388. [nzStep]="1"
  389. ></nz-input-number>
  390. </nz-input-group>
  391. <ng-template #suffixTemplateInfo03> 万册 </ng-template>
  392. </nz-input-group>
  393. </nz-form-control>
  394. </nz-form-item>
  395. <nz-form-item style="margin-bottom: 16px">
  396. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8">
  397. 初版以来是否列为重点项目
  398. <span
  399. nz-popover
  400. nzPopoverPlacement="top"
  401. nzPopoverContent="若没有列为重点项目则不选此项"
  402. class="exclamation-circle"
  403. nz-icon
  404. nzType="exclamation-circle"
  405. nzTheme="outline"
  406. ></span>
  407. </nz-form-label>
  408. <nz-form-control nzErrorTip="" [nzSm]="12" [nzXs]="12">
  409. <nz-checkbox-wrapper>
  410. @for (item of importantProjectList; track item.value) {
  411. <label
  412. style="margin: 0; padding: 0"
  413. [ngModelOptions]="{ standalone: true }"
  414. nz-checkbox
  415. [nzValue]="item.value"
  416. [(ngModel)]="item.checked"
  417. >{{ item.value }}</label
  418. >
  419. <br />
  420. }
  421. </nz-checkbox-wrapper>
  422. @if (importantProjectList[4].checked) {
  423. <input
  424. type="text"
  425. formControlName="importantProjectOther"
  426. placeholder="请输入入选项目名称"
  427. nz-input
  428. />
  429. }
  430. </nz-form-control>
  431. </nz-form-item>
  432. </form>