textbook-details.component.html 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641
  1. <div class="preview">
  2. <div class="site-page-header">
  3. <nz-page-header
  4. nzTitle="教材详情 - {{ textBook?.title }}"
  5. nzSubtitle=""
  6. style="padding: 0"
  7. >
  8. </nz-page-header>
  9. <nz-tabset [(nzSelectedIndex)]="active">
  10. <nz-tab nzTitle="教材申报书及附件"></nz-tab>
  11. <nz-tab nzTitle="教材文件"> </nz-tab>
  12. </nz-tabset>
  13. </div>
  14. @if(active == 0) {
  15. <ng-container *ngTemplateOutlet="Basics"></ng-container>
  16. } @else if (active == 1) {
  17. <div class="content"></div>
  18. }
  19. <ng-template #Basics>
  20. <div class="content">
  21. <div nz-row>
  22. <div nz-col nzSpan="18">
  23. <div id="anchor1" class="occupy" style="height: 100px"></div>
  24. <div class="templ1" #templ1 style="width: 500px">
  25. <div class="title">教材基本信息</div>
  26. <div class="base-content">
  27. <div class="row">
  28. <div class="label">申报教材名称</div>
  29. <div class="value">{{ textBook?.title }}</div>
  30. </div>
  31. <div class="row">
  32. <div class="label">教材所属学科专业类</div>
  33. <div class="value">
  34. {{ textBook?.discipline?.code }}
  35. {{ textBook?.discipline?.name }}
  36. </div>
  37. </div>
  38. <div class="row">
  39. <div class="label">教材应用对象及所属学科专业类</div>
  40. <div class="value">
  41. {{ textBook?.majorPoniter?.code }}
  42. {{ textBook?.majorPoniter?.name }}
  43. </div>
  44. </div>
  45. <div class="row">
  46. <div class="label">是否为重点立项教材</div>
  47. <div class="value">
  48. {{ textBook?.approval }}
  49. @if (textBook?.approval&&textBook?.approval!='否') {
  50. <a (click)="openFile(textBook?.approvedImgUrl)">
  51. <span nz-icon nzType="file" nzTheme="outline"></span>
  52. 教材获批截图
  53. </a>
  54. }
  55. </div>
  56. </div>
  57. <div class="row">
  58. <div class="label">申报类型</div>
  59. <div class="value">
  60. {{ textBook?.type }}
  61. {{
  62. textBook?.type == "全册" ? textBook?.typeNumber + "册" : ""
  63. }}
  64. </div>
  65. </div>
  66. <nz-collapse>
  67. @for (volume of eduTextbookVolumeList; track $index) {
  68. <nz-collapse-panel
  69. [nzHeader]="$index + 1 + '册'"
  70. [nzActive]="'true'"
  71. >
  72. <div class="row">
  73. <div class="label">第一主编(作者)</div>
  74. <div class="value">{{ volume?.author }}</div>
  75. </div>
  76. <div class="row">
  77. <div class="label">第一主编(作者)单位</div>
  78. <div class="value">{{ volume?.unit }}</div>
  79. </div>
  80. <div class="row">
  81. <div class="label">教材主要语种类型</div>
  82. <div class="value">{{ volume?.lang }}</div>
  83. </div>
  84. <div class="row">
  85. <div class="label">国际标准书号</div>
  86. <div class="value">{{ volume?.ISBN }}</div>
  87. </div>
  88. <div class="row">
  89. <div class="label">其他主编姓名</div>
  90. <div class="value">{{ volume?.authors || "-" }}</div>
  91. </div>
  92. <div class="row">
  93. <div class="label">其他编者姓名</div>
  94. <div class="value">{{ volume?.editor || "-" }}</div>
  95. </div>
  96. <div class="row">
  97. <div class="label">出版单位</div>
  98. <div class="value">{{ volume?.editionUnit }}</div>
  99. </div>
  100. <div class="row">
  101. <div class="label">初版时间</div>
  102. <div class="value">
  103. {{ volume?.editionFirst?.iso | date : "yyyy-MM" }}
  104. </div>
  105. </div>
  106. <div class="row">
  107. <div class="label">载体形式</div>
  108. <div class="value">{{ volume?.carrierShape }}</div>
  109. </div>
  110. <div class="row">
  111. <div class="label">本版出版时间及版次</div>
  112. <div class="value">
  113. {{ volume?.editionDate?.iso | date : "yyyy-MM" }}/{{
  114. volume?.editionNumber
  115. }}
  116. </div>
  117. </div>
  118. <div class="row">
  119. <div class="label">最新印次时间及印次</div>
  120. <div class="value">
  121. {{ volume?.printDate?.iso | date : "yyyy-MM" }}/{{
  122. volume?.printNumber
  123. }}
  124. </div>
  125. </div>
  126. <div class="row">
  127. <div class="label">初版以来合计印数</div>
  128. <div class="value">{{ volume?.printSum }}万册</div>
  129. </div>
  130. <div class="row">
  131. <div class="label">初版以来是否曾列为重点项目</div>
  132. <div class="value">
  133. @for (item of volume?.importantProject; track $index) {
  134. <p>
  135. {{ item }}
  136. {{
  137. item == "其他省部级及以上项目"
  138. ? "-" + volume?.importantProjectOther
  139. : ""
  140. }}
  141. </p>
  142. } @if (!(volume?.importantProject?.length > 0)) {
  143. <p>否</p>
  144. }
  145. </div>
  146. </div>
  147. </nz-collapse-panel>
  148. }
  149. </nz-collapse>
  150. </div>
  151. </div>
  152. <div id="anchor2" class="occupy" style="height: 60px"></div>
  153. <div class="templ">
  154. <div class="title">教材适用情况</div>
  155. <div class="base-content">
  156. <div class="row">
  157. <div class="label">适用专业代码(六位)及名称</div>
  158. <div class="value">
  159. {{ textBook?.major?.code }} {{ textBook?.major?.name }}
  160. </div>
  161. </div>
  162. <div class="row">
  163. <div class="label">适用课程</div>
  164. <div class="value">{{ textBook?.lessons }}</div>
  165. </div>
  166. <div class="row">
  167. <div class="label">课程学时</div>
  168. <div class="value">{{ textBook?.period }}</div>
  169. </div>
  170. <div class="row">
  171. <div class="label">适用课程性质</div>
  172. <div class="value">
  173. @for (tag of textBook?.characteristic; track tag) { @if
  174. (tag.checked){
  175. <nz-tag>{{ tag.label }}</nz-tag>
  176. } }
  177. </div>
  178. </div>
  179. </div>
  180. </div>
  181. <div id="anchor3" class="occupy" style="height: 60px"></div>
  182. <div class="templ">
  183. <div id="anchor3_1" class="occupy" style="height: 60px"></div>
  184. <div class="title">作者信息</div>
  185. <nz-collapse>
  186. @for (volume of eduTextbookVolumeList; track $index) {
  187. <nz-collapse-panel
  188. [nzHeader]="$index + 1 + '册'"
  189. [nzActive]="'true'"
  190. >
  191. <div class="text mar10">
  192. 作者(含主编,不超过 6 人,教材中明确出现姓名)
  193. </div>
  194. <div class="base-content">
  195. <nz-table
  196. #basicTable
  197. [nzShowPagination]="false"
  198. [nzData]="volume?.authorList"
  199. [nzScroll]="{
  200. x: (templ1.style.width || '1000') + 'px',
  201. y: '240px'
  202. }"
  203. >
  204. <thead>
  205. <tr>
  206. <th nzEllipsis nzWidth="120px" nzLeft>姓名</th>
  207. <th nzEllipsis nzWidth="120px">单位</th>
  208. <th nzEllipsis nzWidth="120px">出生年月</th>
  209. <th nzEllipsis nzWidth="120px">国籍</th>
  210. <th nzEllipsis nzWidth="120px">职务</th>
  211. <th nzEllipsis nzWidth="120px">职称</th>
  212. <th nzEllipsis nzWidth="120px">手机号码</th>
  213. <th nzEllipsis nzWidth="120px">电子邮箱</th>
  214. <th nzEllipsis nzWidth="120px">分工</th>
  215. <!-- <th nzEllipsis nzWidth="120px">签名</th> -->
  216. <!-- <th nzEllipsis nzWidth="120px">政治审查表</th> -->
  217. </tr>
  218. </thead>
  219. <tbody>
  220. @for (data of volume?.authorList; track data.mobile;let
  221. index = $index) {
  222. <tr>
  223. <td nzEllipsis nzLeft>
  224. {{ data.name }}
  225. </td>
  226. <td nzEllipsis>
  227. {{ data.unit }}
  228. </td>
  229. <td nzEllipsis>
  230. {{ data.birth?.iso | date : "yyyy-MM" }}
  231. </td>
  232. <td nzEllipsis>
  233. {{ data.nationality }}
  234. </td>
  235. <td nzEllipsis>
  236. {{ data.job }}
  237. </td>
  238. <td nzEllipsis>
  239. {{ data.title }}
  240. </td>
  241. <td nzEllipsis>
  242. {{ data.mobile }}
  243. </td>
  244. <td nzEllipsis>
  245. {{ data.email }}
  246. </td>
  247. <td nzEllipsis>
  248. {{ data.work }}
  249. </td>
  250. </tr>
  251. }
  252. </tbody>
  253. </nz-table>
  254. </div>
  255. <div id="anchor3_2" class="occupy" style="height: 60px"></div>
  256. <div class="text mar10">第一主编(作者)情况</div>
  257. <div class="base-content">
  258. <div class="text-tips">1.相关教学经历</div>
  259. <div class="note">
  260. {{ volume?.authorDetails }}
  261. </div>
  262. <div class="text-tips">
  263. 2.相关科学研究项目、成果或论文专著(限5项)
  264. </div>
  265. <nz-table
  266. #basicTable
  267. [nzShowPagination]="false"
  268. [nzData]="volume?.achievementOptions"
  269. [nzScroll]="{
  270. x: (templ1.style.width || '1000') + 'px',
  271. y: '240px'
  272. }"
  273. nzTableLayout="fixed"
  274. >
  275. <thead>
  276. <tr>
  277. <th nzWidth="80px" nzLeft nzAlign="right">序号</th>
  278. <th nzWidth="160px" nzEllipsis>名称</th>
  279. <th nzWidth="160px">来源/出版单位</th>
  280. <th nzWidth="80px">时间</th>
  281. </tr>
  282. </thead>
  283. <tbody>
  284. @for (data of volume?.achievementOptions; track
  285. data.name;let index = $index) {
  286. <tr>
  287. <td nzEllipsis nzLeft nzAlign="right">
  288. {{ index + 1 }}
  289. </td>
  290. <td nzEllipsis>
  291. {{ data.name }}
  292. </td>
  293. <td nzEllipsis>
  294. {{ data.unit }}
  295. </td>
  296. <td nzEllipsis>
  297. {{ data.date?.iso | date : "yyyy-MM" }}
  298. </td>
  299. </tr>
  300. }
  301. </tbody>
  302. </nz-table>
  303. </div>
  304. </nz-collapse-panel>
  305. }
  306. </nz-collapse>
  307. </div>
  308. <div id="anchor4" class="occupy" style="height: 60px"></div>
  309. <div class="templ">
  310. <div class="title">申报教材建设历程</div>
  311. <div class="base-content">
  312. <nz-collapse>
  313. @for (volume of eduTextbookVolumeList; track $index) {
  314. <nz-collapse-panel
  315. [nzHeader]="$index + 1 + '册'"
  316. [nzActive]="'true'"
  317. >
  318. <nz-table
  319. #basicTable
  320. [nzShowPagination]="false"
  321. [nzData]="volume?.courses"
  322. [nzScroll]="{
  323. x: (templ1.style.width || '1000') + 'px',
  324. y: '240px'
  325. }"
  326. >
  327. <thead>
  328. <tr>
  329. <th nzWidth="80px" nzLeft nzAlign="right">版次</th>
  330. <th nzWidth="120px">出版时间</th>
  331. <th nzWidth="100px">字数</th>
  332. <th nzWidth="100px">重印次数</th>
  333. <th nzWidth="100px">本版总印数</th>
  334. <th nzWidth="200px">获奖励情况</th>
  335. </tr>
  336. </thead>
  337. <tbody>
  338. @for (data of volume?.courses; track data;let index =
  339. $index) {
  340. <tr>
  341. <td nzEllipsis nzLeft nzAlign="right">
  342. {{ index + 1 }}
  343. </td>
  344. <td nzEllipsis>
  345. {{ data.date?.iso | date : "yyyy-MM" }}
  346. </td>
  347. <td nzEllipsis>
  348. {{ data.wordage }}
  349. </td>
  350. <td nzEllipsis>
  351. {{ data.num }}
  352. </td>
  353. <td nzEllipsis>
  354. {{ data.sumNum }}
  355. </td>
  356. <td nzEllipsis>
  357. {{ data.accolade }}
  358. </td>
  359. </tr>
  360. }
  361. </tbody>
  362. </nz-table>
  363. </nz-collapse-panel>
  364. }
  365. </nz-collapse>
  366. </div>
  367. </div>
  368. <div
  369. id="anchor4"
  370. id="anchor5"
  371. class="occupy"
  372. style="height: 60px"
  373. ></div>
  374. <div class="templ">
  375. <div class="title">申报教材特色及创新</div>
  376. <div class="base-content">
  377. <div class="note">
  378. {{ textBook?.innovateExplain }}
  379. </div>
  380. </div>
  381. </div>
  382. <div
  383. id="anchor4"
  384. id="anchor6"
  385. class="occupy"
  386. style="height: 60px"
  387. ></div>
  388. <div class="templ">
  389. <div class="title">申报教材应用情况及社会影响力</div>
  390. <div class="base-content">
  391. <div class="note">
  392. {{ textBook?.influence }}
  393. </div>
  394. </div>
  395. </div>
  396. <div
  397. id="anchor4"
  398. id="anchor9"
  399. class="occupy"
  400. style="height: 60px"
  401. ></div>
  402. <div class="templ">
  403. <div class="title">教材作者诚信承诺</div>
  404. <div class="base-content">
  405. <div class="row">
  406. <div class="label">教材作者诚信承诺</div>
  407. <div class="value">
  408. <span style="color: #3e49b3">{{ textBook?.accept }}</span>
  409. </div>
  410. </div>
  411. <!-- <div class="text-tips">教材作者诚信承诺</div>
  412. <div class="note">
  413. {{ textBook?.accept }}
  414. </div> -->
  415. <!-- <div class="text-tips">2.申报单位承诺意见</div>
  416. <div class="note">
  417. {{textBook?.unitMaterial?.text}}
  418. </div> -->
  419. <div class="row">
  420. <div class="label">作者诚信承诺签名页</div>
  421. <div class="value">
  422. @if (textBook?.authorSignPDF?.url) {
  423. <a (click)="openFile(textBook?.authorSignPDF?.url)">{{
  424. textBook?.authorSignPDF?.name || "签名页文件"
  425. }}</a>
  426. }
  427. </div>
  428. </div>
  429. </div>
  430. </div>
  431. <div class="templ">
  432. <div class="title">申报单位承诺意见</div>
  433. <div class="base-content">
  434. <div class="row">
  435. <div class="label">申报单位承诺意见材料</div>
  436. <div class="value">
  437. @if (textBook?.unitMaterial?.url) {
  438. <a (click)="openFile(textBook?.unitMaterial?.url)">{{
  439. textBook?.unitMaterial?.name || "申报单位承诺意见材料文件"
  440. }}</a>
  441. }
  442. </div>
  443. </div>
  444. </div>
  445. </div>
  446. <div
  447. id="anchor4"
  448. id="anchor7"
  449. class="occupy"
  450. style="height: 60px"
  451. ></div>
  452. <div class="templ">
  453. <div class="title">附件材料</div>
  454. <div class="base-content">
  455. <nz-collapse>
  456. @for (volume of eduTextbookVolumeList; track $index) {
  457. <nz-collapse-panel
  458. [nzHeader]="$index + 1 + '册'"
  459. [nzActive]="'true'"
  460. >
  461. <nz-table
  462. style="margin-bottom: 20px"
  463. #basicTable
  464. [nzShowPagination]="false"
  465. [nzData]="volume?.authorList"
  466. [nzScroll]="{
  467. x: (templ1.style.width || '1000') + 'px',
  468. y: '240px'
  469. }"
  470. >
  471. <thead>
  472. <tr>
  473. <th nzEllipsis nzWidth="120px" nzLeft>姓名</th>
  474. <th nzEllipsis nzWidth="120px" nzLeft>政治审查表</th>
  475. <th nzEllipsis nzWidth="120px">单位</th>
  476. <th nzEllipsis nzWidth="120px">出生年月</th>
  477. <th nzEllipsis nzWidth="120px">国籍</th>
  478. <th nzEllipsis nzWidth="120px">职务</th>
  479. <th nzEllipsis nzWidth="120px">职称</th>
  480. <th nzEllipsis nzWidth="120px">手机号码</th>
  481. <th nzEllipsis nzWidth="120px">电子邮箱</th>
  482. <th nzEllipsis nzWidth="120px">分工</th>
  483. <!-- <th nzEllipsis nzWidth="120px">签名</th> -->
  484. </tr>
  485. </thead>
  486. <tbody>
  487. @for (data of volume?.authorList; track data.mobile;let
  488. index = $index) {
  489. <tr>
  490. <td nzEllipsis nzLeft>
  491. {{ data.name }}
  492. </td>
  493. <td nzEllipsis nzLeft>
  494. <a (click)="openFile(data?.examine)">政治审查表</a>
  495. </td>
  496. <td nzEllipsis>
  497. {{ data.unit }}
  498. </td>
  499. <td nzEllipsis>
  500. {{ data.birth?.iso | date : "yyyy-MM" }}
  501. </td>
  502. <td nzEllipsis>
  503. {{ data.nationality }}
  504. </td>
  505. <td nzEllipsis>
  506. {{ data.job }}
  507. </td>
  508. <td nzEllipsis>
  509. {{ data.title }}
  510. </td>
  511. <td nzEllipsis>
  512. {{ data.mobile }}
  513. </td>
  514. <td nzEllipsis>
  515. {{ data.email }}
  516. </td>
  517. <td nzEllipsis>
  518. {{ data.work }}
  519. </td>
  520. <!-- <td nzEllipsis>
  521. <a (click)="openFile(data?.signature)">签名文件</a>
  522. </td> -->
  523. </tr>
  524. }
  525. </tbody>
  526. </nz-table>
  527. @if (volume?.otherEditor) {
  528. <a (click)="openFile(volume.otherEditor)"
  529. >其他编者政治审查意见</a
  530. >
  531. }
  532. </nz-collapse-panel>
  533. }
  534. </nz-collapse>
  535. <div class="row" style="margin-top: 10px">
  536. <div class="label">图书编校质量自查结果记录表</div>
  537. <div class="value">
  538. <a (click)="openFile(textBook?.selfResults?.url)">{{
  539. textBook?.selfResults?.name
  540. }}</a>
  541. </div>
  542. </div>
  543. <div class="row">
  544. <div class="label">专家审查意见表</div>
  545. <div class="value">
  546. <a (click)="openFile(textBook?.expertOpinion?.url)">{{
  547. textBook?.expertOpinion?.name
  548. }}</a>
  549. </div>
  550. </div>
  551. <div class="row">
  552. <div class="label">教材使用情况证明材料</div>
  553. <div class="value">
  554. <a (click)="openFile(textBook?.evidence?.url)">{{
  555. textBook?.evidence?.name
  556. }}</a>
  557. </div>
  558. </div>
  559. <div class="row">
  560. <div class="label">版权页截图</div>
  561. <div class="value">
  562. @if (textBook?.copyrightImgUrl) {
  563. <a (click)="openFile(textBook?.copyrightImgUrl)">截图文件</a>
  564. }
  565. </div>
  566. </div>
  567. <div class="row">
  568. <div class="label">中国版本图书馆 CIP 查询截图</div>
  569. <div class="value">
  570. @if (textBook?.CIPImgUrl) {
  571. <a (click)="openFile(textBook?.CIPImgUrl)">查询截图</a>
  572. }
  573. </div>
  574. </div>
  575. <div class="row">
  576. <div class="label">CIP 相关证明截图</div>
  577. <div class="value">
  578. @for (item of textBook?.cipProveFile; track item.name) {
  579. <a (click)="openFile(item.url)" style="margin-right: 10px">{{
  580. item.name
  581. }}</a>
  582. <br />
  583. }
  584. </div>
  585. </div>
  586. <div class="row">
  587. <div class="label">其他材料</div>
  588. <div class="value">
  589. @for (item of textBook?.moreMaterial; track item.name) {
  590. <a (click)="openFile(item.url)" style="margin-right: 10px">{{
  591. item.name
  592. }}</a>
  593. <br />
  594. }
  595. </div>
  596. </div>
  597. </div>
  598. </div>
  599. </div>
  600. <div nz-col nzSpan="6">
  601. <div style="position: fixed">
  602. <ul class="herf">
  603. <li class="lv1" (click)="herfLink('anchor1')">教材基本信息</li>
  604. <li class="lv1" (click)="herfLink('anchor2')">教材适用情况</li>
  605. <li class="lv1" (click)="herfLink('anchor3')">作者信息</li>
  606. <li class="lv2" (click)="herfLink('anchor3_1')">作者</li>
  607. <li class="lv2" (click)="herfLink('anchor3_2')">
  608. 第一主编(作者)情况
  609. </li>
  610. <li class="lv1" (click)="herfLink('anchor4')">
  611. 申报教材建设历程
  612. </li>
  613. <li class="lv1" (click)="herfLink('anchor5')">
  614. 申报教材特色及创新
  615. </li>
  616. <li class="lv1" (click)="herfLink('anchor6')">
  617. 申报教材应用情况及社会影响力
  618. </li>
  619. <li class="lv1" (click)="herfLink('anchor9')">
  620. 申报单位承诺意见
  621. </li>
  622. <li class="lv1" (click)="herfLink('anchor7')">附件材料清单</li>
  623. </ul>
  624. </div>
  625. </div>
  626. </div>
  627. </div>
  628. </ng-template>
  629. </div>