textbook-details.component.html 20 KB

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