basic-in.component.html 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. <div class="entry">
  2. <form
  3. nz-form
  4. [formGroup]="validateForm"
  5. class="login-form"
  6. (ngSubmit)="submitForm()"
  7. >
  8. <nz-form-item style="margin-bottom: 16px">
  9. <nz-form-label
  10. [nzSm]="8"
  11. [nzNoColon]="true"
  12. [nzXs]="8"
  13. nzRequired
  14. nzFor="user"
  15. >申报教材名称</nz-form-label
  16. >
  17. <nz-form-control nzErrorTip="请输入申报教材名称" [nzSm]="12" [nzXs]="12">
  18. <nz-input-group>
  19. <input
  20. type="text"
  21. nz-input
  22. formControlName="title"
  23. placeholder="请输入申报教材名称"
  24. />
  25. </nz-input-group>
  26. </nz-form-control>
  27. </nz-form-item>
  28. <nz-form-item style="margin-bottom: 16px">
  29. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired
  30. >教材应用对象及所属学科专业类</nz-form-label
  31. >
  32. <nz-form-control
  33. nzErrorTip="输入所属本科专业类代码(四位)搜索所属学科"
  34. [nzSm]="12"
  35. [nzXs]="12"
  36. >
  37. <nz-input-group>
  38. <nz-select
  39. nzShowSearch
  40. nzAllowClear
  41. nzPlaceHolder="填写 4 位专业代码选择"
  42. formControlName="majorPoniter"
  43. (ngModelChange)="changeCode()"
  44. (nzOnSearch)="getCode($event)"
  45. >
  46. @for(major of selectList; track major.code;let index = $index){
  47. <nz-option
  48. nzCustomContent
  49. [nzValue]="major.code"
  50. [nzLabel]="major.name + '-' + major.code"
  51. >
  52. <div>{{ major.name }}</div>
  53. <div style="font-size: 12px; color: gray">{{ major.code }}</div>
  54. </nz-option>
  55. }
  56. </nz-select>
  57. <!-- <nz-select [nzOptionOverflowSize]="nzOptionOverflowSize" nzShowSearch nzAllowClear nzPlaceHolder="输入所属本科专业类代码(四位)搜索所属学科" formControlName="majorPoniter">
  58. @for(major of selectList; track major.code;let index = $index){
  59. <nz-option nzCustomContent [nzValue]="major.code +'/'+ major.name" [nzLabel]="major.name+'-'+major.code">
  60. <div>{{ major.name }}</div>
  61. <div style="font-size: 12px;color: gray;">{{ major.code }}</div>
  62. </nz-option>
  63. }
  64. </nz-select> -->
  65. </nz-input-group>
  66. </nz-form-control>
  67. </nz-form-item>
  68. <nz-form-item style="margin-bottom: 16px">
  69. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired
  70. >是否重点立项教材</nz-form-label
  71. >
  72. <nz-form-control nzErrorTip="请输入完成项" [nzSm]="12" [nzXs]="12">
  73. <nz-input-group>
  74. <nz-select
  75. nzShowSearch
  76. nzAllowClear
  77. nzPlaceHolder="请输入是否重点立项教材"
  78. formControlName="approval"
  79. >
  80. @for (item of options; track item.code) {
  81. <nz-option
  82. nzCustomContent
  83. [nzValue]="item.name"
  84. [nzLabel]="item.name"
  85. >{{ item.name }}</nz-option
  86. >
  87. }
  88. <!-- <nz-option nzCustomContent [nzValue]="'基础学科“101计划”核心教材'" [nzLabel]="'基础学科“101计划”核心教材'">基础学科“101计划”核心教材</nz-option>
  89. <nz-option nzCustomContent [nzValue]="'战略性新兴领域教材'" [nzLabel]="'战略性新兴领域教材'">战略性新兴领域教材</nz-option>
  90. <nz-option nzCustomContent [nzValue]="'“四新”重点建设教材'" [nzLabel]="'“四新”重点建设教材'">“四新”重点建设教材</nz-option>
  91. <nz-option nzCustomContent [nzValue]="'否'" [nzLabel]="'否'">否</nz-option> -->
  92. </nz-select>
  93. </nz-input-group>
  94. </nz-form-control>
  95. </nz-form-item>
  96. @if (validateForm.value.approval && validateForm.value.approval != '否') {
  97. <nz-form-item style="margin-bottom: 16px">
  98. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired
  99. >教材获批截图</nz-form-label
  100. >
  101. <nz-form-control nzErrorTip="请上传教材获批截图" [nzSm]="12" [nzXs]="12">
  102. @if (validateForm.value.approvedImgUrl) {
  103. <a
  104. style="color: #3e49b3; font-size: 14px"
  105. (click)="openFile(validateForm.value.approvedImgUrl)"
  106. >
  107. <span nz-icon nzType="file" nzTheme="outline"></span>
  108. 教材获批截图
  109. </a>
  110. }
  111. <nz-input-group>
  112. <app-comp-upload
  113. [type]="'pdf'"
  114. (change)="upload($event, 'approvedImgUrl')"
  115. title="上传教材获批截图"
  116. ></app-comp-upload>
  117. </nz-input-group>
  118. <p style="color: gray">支持上传 PDF 格式,文件大小不超过 2M</p>
  119. </nz-form-control>
  120. </nz-form-item>
  121. }
  122. <nz-form-item style="margin-bottom: 16px">
  123. <nz-form-label [nzSm]="8" [nzNoColon]="true" [nzXs]="8" nzRequired
  124. >申报类型</nz-form-label
  125. >
  126. <nz-form-control nzErrorTip="请输入申报类型" [nzSm]="12" [nzXs]="12">
  127. <nz-input-group>
  128. <!-- <input
  129. type="text"
  130. nz-input
  131. formControlName="type"
  132. placeholder="请输入申报类型"
  133. /> -->
  134. <nz-radio-group
  135. style="display: flex; flex-direction: column"
  136. formControlName="type"
  137. >
  138. <label (click)="checkSingle()" nz-radio nzValue="单册">单册</label>
  139. <div class="basic-row">
  140. <label (click)="checkAll()" nz-radio nzValue="全册">全册</label>
  141. <!-- @if (validateForm.value.type =='全册') {
  142. <nz-input-group
  143. style="flex: 1; margin-left: 20px"
  144. [nzSuffix]="suffixTemplateInfo"
  145. >
  146. <input
  147. min="2"
  148. type="number"
  149. [ngModelOptions]="{ standalone: true }"
  150. [(ngModel)]="typeNumber"
  151. (ngModelChange)="typeNumberChange()"
  152. nz-input
  153. placeholder="输入册数"
  154. />
  155. </nz-input-group>
  156. <ng-template #suffixTemplateInfo> 册 </ng-template>
  157. } -->
  158. </div>
  159. </nz-radio-group>
  160. </nz-input-group>
  161. </nz-form-control>
  162. </nz-form-item>
  163. @if(!loading){
  164. <!-- @if(validateForm.value.type=='全册'){
  165. <mat-accordion class="example-headers-align" multi>
  166. @for (item of eduTextbookVolumeList; track $index) {
  167. <mat-expansion-panel>
  168. <mat-expansion-panel-header>
  169. <mat-panel-title>
  170. <b>分册{{ $index + 1 }}</b>
  171. <span
  172. (click)="deleteVolume($index)"
  173. style="margin-left: 20px"
  174. nz-icon
  175. nzType="delete"
  176. ></span>
  177. </mat-panel-title>
  178. </mat-expansion-panel-header>
  179. <app-one
  180. #children
  181. [eduTextbookId]="eduTextbookId"
  182. [eduTextbookVolumeId]="item?.id"
  183. ></app-one>
  184. </mat-expansion-panel>
  185. }
  186. </mat-accordion>
  187. } @else {
  188. @if (singleId) {
  189. <app-one
  190. #children
  191. [eduTextbookId]="eduTextbookId"
  192. [eduTextbookVolumeId]="singleId"
  193. ></app-one>
  194. }
  195. @if(!singleId){
  196. <app-one
  197. #children
  198. [eduTextbookId]="eduTextbookId"
  199. eduTextbookVolumeId=""
  200. ></app-one>
  201. }
  202. } } -->
  203. @if (validateForm.value.type =='全册') {
  204. <nz-collapse [nzBordered]="false">
  205. @for (panel of eduTextbookVolumeList; track panel) {
  206. <nz-collapse-panel
  207. #p
  208. [nzHeader]="title"
  209. [nzActive]="false"
  210. nzExpandedIcon="caret-right"
  211. [nzExtra]="extraTpl"
  212. style="
  213. background: #f7f7f7;
  214. border-radius: 4px;
  215. margin-bottom: 24px;
  216. border: 0px;
  217. "
  218. >
  219. <ng-template #title>
  220. <span class="panel-title">{{'分册' + ($index+1)}}</span>
  221. </ng-template>
  222. <ng-template #extraTpl>
  223. <span nz-icon nzType="delete" (click)="deleteVolume($index, children)"></span>
  224. </ng-template>
  225. <div class="">
  226. <app-one
  227. #children
  228. [eduTextbookId]="eduTextbookId"
  229. [eduTextbookVolumeId]="panel?.id"
  230. ></app-one>
  231. </div>
  232. <ng-template #expandedIcon let-active>
  233. {{ active }}
  234. <span
  235. nz-icon
  236. nzType="caret-right"
  237. class="ant-collapse-arrow"
  238. [nzRotate]="p.nzActive ? 90 : -90"
  239. ></span>
  240. </ng-template>
  241. </nz-collapse-panel>
  242. }
  243. </nz-collapse>
  244. }@else {
  245. @if (singleId) {
  246. <app-one
  247. #children
  248. [eduTextbookId]="eduTextbookId"
  249. [eduTextbookVolumeId]="singleId"
  250. ></app-one>
  251. }
  252. @if(!singleId){
  253. <app-one
  254. #children
  255. [eduTextbookId]="eduTextbookId"
  256. eduTextbookVolumeId=""
  257. ></app-one>
  258. } }
  259. }
  260. @if (validateForm.value.type == '全册' && this.eduTextbookVolumeList.length < 12 ) {
  261. <div class="add-bar" (click)="addVolume()">
  262. 新增分页
  263. </div>
  264. }
  265. </form>
  266. </div>
  267. <div class="footer">
  268. <button
  269. nz-button
  270. nzType="default"
  271. style="margin-right: 20px"
  272. (click)="submitForm('save')"
  273. >
  274. 保存本页
  275. </button>
  276. <button
  277. nz-button
  278. nzType="primary"
  279. style="background: #3e49b3; border: 1px #3e49b3"
  280. (click)="submitForm('next')"
  281. >
  282. 下一页
  283. </button>
  284. </div>
  285. <div class="loading" [hidden]="!saveLoading">
  286. <nz-spin nzSimple [nzSize]="'large'"></nz-spin>
  287. </div>