app-cas-details-editer.component.html 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. <div *nzModalTitle> {{ isEdit ? ('mxk.text.edit' | i18n) : ('mxk.text.add' | i18n) }} </div>
  2. <div>
  3. <form nz-form [formGroup]="formGroup" (ngSubmit)="onSubmit($event)" se-container="1">
  4. <nz-tabset style="width: 100%">
  5. <nz-tab nzTitle="{{ 'mxk.apps.tab.basic' | i18n }}">
  6. <div nz-row>
  7. <nz-form-item>
  8. <nz-form-item style="width: 100%">
  9. <nz-form-label [nzMd]="8" nzRequired nzFor="id">{{ 'mxk.text.id' | i18n }}</nz-form-label>
  10. <nz-form-control [nzMd]="16" nzErrorTip="The input is not valid id!">
  11. <input [(ngModel)]="form.model.id" readonly [ngModelOptions]="{ standalone: true }" nz-input name="id"
  12. id="id" />
  13. </nz-form-control>
  14. </nz-form-item>
  15. <nz-form-item style="width: 100%">
  16. <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="secret">{{ 'mxk.apps.secret' | i18n }}
  17. </nz-form-label>
  18. <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  19. nzErrorTip="The input is not valid secret!">
  20. <nz-input-group nzSearch [nzAddOnAfter]="suffixPasswordButton">
  21. <input [(ngModel)]="form.model.secret" readonly [ngModelOptions]="{ standalone: true }" nz-input
  22. name="secret" id="secret" />
  23. </nz-input-group>
  24. <ng-template #suffixPasswordButton>
  25. <button nz-button nzType="primary" nzSearch (click)="onGenerateSecret($event)">{{ 'mxk.text.generate'
  26. | i18n }}</button>
  27. </ng-template>
  28. </nz-form-control>
  29. </nz-form-item>
  30. </nz-form-item>
  31. <nz-form-item>
  32. <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="icon">{{ 'mxk.apps.icon' | i18n }}</nz-form-label>
  33. <div nz-col class="clearfix" nzSm="16" nzXs="24">
  34. <nz-upload nzAction="file/upload/" nzListType="picture-card" [(nzFileList)]="fileList" nzName="uploadFile"
  35. [nzShowButton]="fileList.length < 1" [nzPreview]="handlePreview" (nzChange)="uploadImageChange($event)">
  36. <div>
  37. <i nz-icon nzType="plus"></i>
  38. <div style="margin-top: 8px">Upload</div>
  39. </div>
  40. </nz-upload>
  41. <nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null"
  42. (nzOnCancel)="previewVisible = false">
  43. <ng-template #modalContent>
  44. <img [src]="previewImage" [ngStyle]="{ width: '100%' }" />
  45. </ng-template>
  46. </nz-modal>
  47. </div>
  48. <nz-form-control style="display: none" [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  49. nzErrorTip="The input is not valid icon!">
  50. <input [(ngModel)]="form.model.iconId" disabled="true" [ngModelOptions]="{ standalone: true }" nz-input
  51. name="icon" id="icon" />
  52. </nz-form-control>
  53. </nz-form-item>
  54. </div>
  55. <div nz-row>
  56. <nz-form-item>
  57. <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="name">{{ 'mxk.apps.name' | i18n }}</nz-form-label>
  58. <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid name!">
  59. <input [(ngModel)]="form.model.name" [ngModelOptions]="{ standalone: true }" nz-input name="name"
  60. id="name" />
  61. </nz-form-control>
  62. </nz-form-item>
  63. <nz-form-item>
  64. <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="frequently">{{ 'mxk.apps.frequently' | i18n }}</nz-form-label>
  65. <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  66. nzErrorTip="The input is not valid frequently!">
  67. <nz-radio-group [(ngModel)]="form.model.frequently" [ngModelOptions]="{ standalone: true }"
  68. nzButtonStyle="solid">
  69. <label nz-radio-button nzValue="yes">{{ 'mxk.text.yes' | i18n }}</label>
  70. <label nz-radio-button nzValue="no">{{ 'mxk.text.no' | i18n }}</label>
  71. </nz-radio-group>
  72. </nz-form-control>
  73. </nz-form-item>
  74. </div>
  75. <div nz-row>
  76. <nz-form-item>
  77. <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="protocol">{{ 'mxk.apps.protocol' | i18n }}
  78. </nz-form-label>
  79. <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  80. nzErrorTip="The input is not valid protocol!">
  81. <input [(ngModel)]="form.model.protocol" [ngModelOptions]="{ standalone: true }" nz-input name="protocol"
  82. id="protocol" />
  83. </nz-form-control>
  84. </nz-form-item>
  85. <nz-form-item>
  86. <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="category">{{ 'mxk.apps.category' | i18n }}</nz-form-label>
  87. <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  88. nzErrorTip="The input is not valid category!">
  89. <nz-select [(ngModel)]="form.model.category" [ngModelOptions]="{ standalone: true }" name="category"
  90. id="category">
  91. <nz-option nzValue="none" nzLabel="{{ 'mxk.apps.category.none' | i18n }}"></nz-option>
  92. <nz-option nzValue="1011" nzLabel="{{ 'mxk.apps.category.1011' | i18n }}"></nz-option>
  93. <nz-option nzValue="1012" nzLabel="{{ 'mxk.apps.category.1012' | i18n }}"></nz-option>
  94. <nz-option nzValue="1013" nzLabel="{{ 'mxk.apps.category.1013' | i18n }}"></nz-option>
  95. <nz-option nzValue="1014" nzLabel="{{ 'mxk.apps.category.1014' | i18n }}"></nz-option>
  96. <nz-option nzValue="1015" nzLabel="{{ 'mxk.apps.category.1015' | i18n }}"></nz-option>
  97. <nz-option nzValue="1016" nzLabel="{{ 'mxk.apps.category.1016' | i18n }}"></nz-option>
  98. <nz-option nzValue="1017" nzLabel="{{ 'mxk.apps.category.1017' | i18n }}"></nz-option>
  99. <nz-option nzValue="1111" nzLabel="{{ 'mxk.apps.category.1111' | i18n }}"></nz-option>
  100. <nz-option nzValue="1112" nzLabel="{{ 'mxk.apps.category.1112' | i18n }}"></nz-option>
  101. <nz-option nzValue="1113" nzLabel="{{ 'mxk.apps.category.1113' | i18n }}"></nz-option>
  102. <nz-option nzValue="1114" nzLabel="{{ 'mxk.apps.category.1114' | i18n }}"></nz-option>
  103. <nz-option nzValue="1211" nzLabel="{{ 'mxk.apps.category.1211' | i18n }}"></nz-option>
  104. <nz-option nzValue="1212" nzLabel="{{ 'mxk.apps.category.1212' | i18n }}"></nz-option>
  105. <nz-option nzValue="1213" nzLabel="{{ 'mxk.apps.category.1213' | i18n }}"></nz-option>
  106. <nz-option nzValue="1214" nzLabel="{{ 'mxk.apps.category.1214' | i18n }}"></nz-option>
  107. <nz-option nzValue="1215" nzLabel="{{ 'mxk.apps.category.1215' | i18n }}"></nz-option>
  108. <nz-option nzValue="1311" nzLabel="{{ 'mxk.apps.category.1311' | i18n }}"></nz-option>
  109. <nz-option nzValue="1411" nzLabel="{{ 'mxk.apps.category.1411' | i18n }}"></nz-option>
  110. <nz-option nzValue="1511" nzLabel="{{ 'mxk.apps.category.1511' | i18n }}"></nz-option>
  111. <nz-option nzValue="1512" nzLabel="{{ 'mxk.apps.category.1512' | i18n }}"></nz-option>
  112. <nz-option nzValue="1611" nzLabel="{{ 'mxk.apps.category.1611' | i18n }}"></nz-option>
  113. <nz-option nzValue="1711" nzLabel="{{ 'mxk.apps.category.1711' | i18n }}"></nz-option>
  114. <nz-option nzValue="1712" nzLabel="{{ 'mxk.apps.category.1712' | i18n }}"></nz-option>
  115. <nz-option nzValue="1811" nzLabel="{{ 'mxk.apps.category.1811' | i18n }}"></nz-option>
  116. <nz-option nzValue="1812" nzLabel="{{ 'mxk.apps.category.1812' | i18n }}"></nz-option>
  117. <nz-option nzValue="1911" nzLabel="{{ 'mxk.apps.category.1911' | i18n }}"></nz-option>
  118. <nz-option nzValue="1912" nzLabel="{{ 'mxk.apps.category.1912' | i18n }}"></nz-option>
  119. </nz-select>
  120. </nz-form-control>
  121. </nz-form-item>
  122. </div>
  123. <div nz-row>
  124. <nz-form-item style="width: 100%">
  125. <nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="loginUrl">{{ 'mxk.apps.loginUrl' | i18n }}
  126. </nz-form-label>
  127. <nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  128. nzErrorTip="The input is not valid loginUrl!">
  129. <input [(ngModel)]="form.model.loginUrl" [ngModelOptions]="{ standalone: true }" nz-input name="loginUrl"
  130. id="loginUrl" />
  131. </nz-form-control>
  132. </nz-form-item>
  133. </div>
  134. </nz-tab>
  135. <nz-tab nzTitle="{{ 'mxk.apps.cas.tab' | i18n }}">
  136. <div nz-row>
  137. <nz-form-item style="width: 100%">
  138. <nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="service">{{ 'mxk.apps.cas.service' | i18n }}
  139. </nz-form-label>
  140. <nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  141. nzErrorTip="The input is not valid service!">
  142. <input [(ngModel)]="form.model.service" [ngModelOptions]="{ standalone: true }" nz-input name="service"
  143. id="service" />
  144. </nz-form-control>
  145. </nz-form-item>
  146. </div>
  147. <div nz-row>
  148. <nz-form-item style="width: 100%">
  149. <nz-form-label [nzSm]="4" [nzXs]="24" nzRequired nzFor="callbackUrl">{{ 'mxk.apps.cas.callbackUrl' | i18n }}
  150. </nz-form-label>
  151. <nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  152. nzErrorTip="The input is not valid callbackUrl!">
  153. <input [(ngModel)]="form.model.callbackUrl" [ngModelOptions]="{ standalone: true }" nz-input
  154. name="callbackUrl" id="callbackUrl" />
  155. </nz-form-control>
  156. </nz-form-item>
  157. </div>
  158. <div nz-row>
  159. <nz-form-item>
  160. <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="casUser">{{ 'mxk.apps.cas.casUser' | i18n }}
  161. </nz-form-label>
  162. <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  163. nzErrorTip="The input is not valid casUser!">
  164. <nz-select [(ngModel)]="form.model.casUser" [ngModelOptions]="{ standalone: true }" name="category"
  165. id="category">
  166. <nz-option nzValue="username" nzLabel="{{ 'mxk.users.username' | i18n }}"></nz-option>
  167. <nz-option nzValue="employeeNumber" nzLabel="{{ 'mxk.users.employeeNumber' | i18n }}"></nz-option>
  168. <nz-option nzValue="email" nzLabel="{{ 'mxk.users.email' | i18n }}"></nz-option>
  169. <nz-option nzValue="mobile" nzLabel="{{ 'mxk.users.mobile' | i18n }}"></nz-option>
  170. <nz-option nzValue="windowsaccount" nzLabel="{{ 'mxk.users.windowsAccount' | i18n }}"></nz-option>
  171. <nz-option nzValue="userId" nzLabel="{{ 'mxk.users.id' | i18n }}"></nz-option>
  172. </nz-select>
  173. </nz-form-control>
  174. </nz-form-item>
  175. <nz-form-item>
  176. <nz-form-label [nzSm]="8" [nzXs]="24" nzRequired nzFor="expires">{{ 'mxk.apps.cas.expires' | i18n }}
  177. </nz-form-label>
  178. <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  179. nzErrorTip="The input is not valid expires!">
  180. <nz-input-group nzAddOnAfter="{{ 'mxk.text.second' | i18n }}">
  181. <input [(ngModel)]="form.model.expires" [ngModelOptions]="{ standalone: true }" nz-input name="expires"
  182. id="expires" />
  183. </nz-input-group>
  184. </nz-form-control>
  185. </nz-form-item>
  186. </div>
  187. </nz-tab>
  188. <nz-tab nzTitle="{{ 'mxk.apps.tab.extra' | i18n }}">
  189. <div nz-row>
  190. <nz-form-item>
  191. <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutUrl">{{ 'mxk.apps.logoutUrl' | i18n }}</nz-form-label>
  192. <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  193. nzErrorTip="The input is not valid logoutUrl!">
  194. <input [(ngModel)]="form.model.logoutUrl" [ngModelOptions]="{ standalone: true }" nz-input
  195. name="logoutUrl" id="logoutUrl" />
  196. </nz-form-control>
  197. </nz-form-item>
  198. <nz-form-item>
  199. <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="logoutType">{{ 'mxk.apps.logoutType' | i18n }}</nz-form-label>
  200. <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  201. nzErrorTip="The input is not valid logoutType!">
  202. <nz-select [(ngModel)]="form.model.logoutType" [ngModelOptions]="{ standalone: true }" name="logoutType"
  203. id="logoutType">
  204. <nz-option nzValue="0" nzLabel="{{ 'mxk.apps.logoutType.none' | i18n }}"></nz-option>
  205. <nz-option nzValue="1" nzLabel="{{ 'mxk.apps.logoutType.back_channel' | i18n }}"></nz-option>
  206. <nz-option nzValue="2" nzLabel="{{ 'mxk.apps.logoutType.front_channel' | i18n }}"></nz-option>
  207. </nz-select>
  208. </nz-form-control>
  209. </nz-form-item>
  210. </div>
  211. <div nz-row>
  212. <nz-form-item>
  213. <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="visible">{{ 'mxk.apps.visible' | i18n }}</nz-form-label>
  214. <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  215. nzErrorTip="The input is not valid visible!">
  216. <nz-select [(ngModel)]="form.model.visible" [ngModelOptions]="{ standalone: true }" name="visible"
  217. id="visible">
  218. <nz-option nzValue="0" nzLabel="{{ 'mxk.apps.visible.hidden' | i18n }}"></nz-option>
  219. <nz-option nzValue="1" nzLabel="{{ 'mxk.apps.visible.all' | i18n }}"></nz-option>
  220. <nz-option nzValue="2" nzLabel="{{ 'mxk.apps.visible.internet' | i18n }}"></nz-option>
  221. <nz-option nzValue="3" nzLabel="{{ 'mxk.apps.visible.intranet' | i18n }}"></nz-option>
  222. </nz-select>
  223. </nz-form-control>
  224. </nz-form-item>
  225. <nz-form-item>
  226. <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="sortIndex">{{ 'mxk.text.sortIndex' | i18n }}</nz-form-label>
  227. <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  228. nzErrorTip="The input is not valid sortIndex!">
  229. <input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input
  230. name="sortIndex" id="sortIndex" />
  231. </nz-form-control>
  232. </nz-form-item>
  233. </div>
  234. <div nz-row>
  235. <nz-form-item>
  236. <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendor">{{ 'mxk.apps.vendor' | i18n }}</nz-form-label>
  237. <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  238. nzErrorTip="The input is not valid vendor!">
  239. <input [(ngModel)]="form.model.vendor" [ngModelOptions]="{ standalone: true }" nz-input name="vendor"
  240. id="vendor" />
  241. </nz-form-control>
  242. </nz-form-item>
  243. <nz-form-item>
  244. <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="vendorUrl">{{ 'mxk.apps.vendor.url' | i18n }}</nz-form-label>
  245. <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  246. nzErrorTip="The input is not valid vendorUrl!">
  247. <input [(ngModel)]="form.model.vendorUrl" [ngModelOptions]="{ standalone: true }" nz-input
  248. name="vendorUrl" id="vendorUrl" />
  249. </nz-form-control>
  250. </nz-form-item>
  251. </div>
  252. <div nz-row>
  253. <nz-form-item>
  254. <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="isAdapter">{{ 'mxk.apps.isAdapter' | i18n }}</nz-form-label>
  255. <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  256. nzErrorTip="The input is not valid isAdapter!">
  257. <nz-select [(ngModel)]="form.model.isAdapter" [ngModelOptions]="{ standalone: true }" name="isAdapter"
  258. id="isAdapter">
  259. <nz-option nzValue="0" nzLabel="{{ 'mxk.apps.isAdapter.no' | i18n }}"></nz-option>
  260. <nz-option nzValue="1" nzLabel="{{ 'mxk.apps.isAdapter.yes' | i18n }}"></nz-option>
  261. </nz-select>
  262. </nz-form-control>
  263. </nz-form-item>
  264. <nz-form-item>
  265. <nz-form-label [nzSm]="8" [nzXs]="24" nzFor="adapterName">{{ 'mxk.apps.adapter' | i18n }}</nz-form-label>
  266. <nz-form-control [nzSm]="16" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  267. nzErrorTip="The input is not valid adapterName!">
  268. <nz-input-group nzSearch [nzAddOnAfter]="suffixAdapterButton">
  269. <input [(ngModel)]="form.model.adapterName" [ngModelOptions]="{ standalone: true }" nz-input
  270. name="adapterName" id="adapterName" />
  271. </nz-input-group>
  272. <ng-template #suffixAdapterButton>
  273. <button nz-button nzType="primary" nzSearch (click)="onSelectAdapter($event)">{{ 'mxk.text.select' |
  274. i18n }}</button>
  275. </ng-template>
  276. <input type="hidden" [(ngModel)]="form.model.adapterId" [ngModelOptions]="{ standalone: true }" nz-input
  277. name="adapterId" id="adapterId" />
  278. <input type="hidden" [(ngModel)]="form.model.adapter" [ngModelOptions]="{ standalone: true }" nz-input
  279. name="adapter" id="adapter" />
  280. </nz-form-control>
  281. </nz-form-item>
  282. </div>
  283. <div nz-row>
  284. <nz-form-item style="width: 100%">
  285. <nz-form-label [nzSm]="4" [nzXs]="24" nzFor="description">{{ 'mxk.text.description' | i18n }}
  286. </nz-form-label>
  287. <nz-form-control [nzSm]="20" [nzMd]="16" [nzXs]="36" [nzXl]="48"
  288. nzErrorTip="The input is not valid description!">
  289. <input [(ngModel)]="form.model.description" [ngModelOptions]="{ standalone: true }" nz-input
  290. name="description" id="description" />
  291. </nz-form-control>
  292. </nz-form-item>
  293. </div>
  294. </nz-tab>
  295. </nz-tabset>
  296. </form>
  297. </div>
  298. <div *nzModalFooter>
  299. <button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
  300. <button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
  301. </div>