图书馆智能管理系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
6.3 KiB

5 months ago
  1. <div class="modal" ng-controller="SaveAppDefinitionCtrl">
  2. <div class="modal-dialog">
  3. <div class="modal-content">
  4. <div class="modal-header"><h2>{{'APP.POPUP.SAVE-APP-TITLE' | translate}}</h2></div>
  5. <div class="modal-body">
  6. <p>{{'APP.POPUP.CREATE-DESCRIPTION' | translate}}</p>
  7. <div ng-if="saveDialog.errorMessage && saveDialog.errorMessage.length > 0" class="alert error" style="font-size: 14px; margin-top:20px">
  8. <div class="popup-error" style="font-size: 14px">
  9. <span class="glyphicon glyphicon-remove-circle"></span>
  10. <span>{{saveDialog.errorMessage}}</span>
  11. </div>
  12. </div>
  13. <div class="form-group">
  14. <label for="appName">{{'APP.NAME' | translate}}</label>
  15. <input ng-disabled="model.loading" type="text" class="form-control"
  16. id="appName" ng-model="saveDialog.name" ui-keypress="{13:'ok()'}" auto-focus>
  17. </div>
  18. <div class="form-group">
  19. <label for="appKey">{{'APP.KEY' | translate}}</label>
  20. <input ng-disabled="model.loading" type="text" class="form-control"
  21. id="appKey" ng-model="saveDialog.key">
  22. </div>
  23. <div class="form-group">
  24. <label for="appDescription">{{'APP.DESCRIPTION' | translate}}</label>
  25. <textarea ng-disabled="model.loading" class="form-control" id="appDescription" rows="5" ng-model="saveDialog.description"></textarea>
  26. </div>
  27. <div class="checkbox" ng-if="currentAppDefinition.definition &&
  28. ((currentAppDefinition.definition.models && currentAppDefinition.definition.models.length > 0)
  29. || (currentAppDefinition.definition.cmmnModels && currentAppDefinition.definition.cmmnModels.length > 0)) ">
  30. <label>
  31. <input type="checkbox" ng-model="saveDialog.publish">
  32. {{'APP.POPUP.PUBLISH-FIELD' | translate}}
  33. </label>
  34. </div>
  35. <div ng-if="error && (error.hasCustomStencilItem || error.hasValidationErrors) && !status.loading" class="alert error" style="font-size: 14px; margin-top:20px">
  36. <div class="popup-error" style="font-size: 14px">
  37. <span class="glyphicon glyphicon-remove-circle"></span>
  38. <span ng-if="error.hasCustomStencilItem">{{'APP.POPUP.HAS-CUSTOM-STENCILITEM' | translate:error}}</span>
  39. <span ng-if="error.hasValidationErrors">{{'APP.POPUP.HAS-VALIDATIONERROR' | translate:error}}</span>
  40. </div>
  41. </div>
  42. <div ng-if="conflict && conflict.type && conflict.type == 'conflictingProcDefKey'"
  43. class="alert-danger app-publish-error" role="alert">
  44. <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true" style="margin-right: 2px"></span>
  45. <span>{{'APP.POPUP.PUBLISH-ERROR-PROCDEF-KEY-CONFLICT' | translate:conflict.data}}</span>
  46. </div>
  47. <div ng-if="conflict && conflict.type && conflict.type == 'duplicateProcDefKeys'"
  48. class="alert-danger app-publish-error" role="alert">
  49. <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true" style="margin-right: 2px"></span>
  50. <span>{{'APP.POPUP.PUBLISH-ERROR-PROCDEF-DUPLICATE-KEYS' | translate}}</span>
  51. <ul>
  52. <li ng-repeat="entry in conflict.data.duplicateProcessDefinitionIds">
  53. <span ng-repeat="(id, name) in entry">{{id}} ({{name}})</span>
  54. </li>
  55. </ul>
  56. </div>
  57. <div ng-if="conflict && conflict.type && conflict.type == 'processModelAlreadyUsed'"
  58. class="alert-warning app-publish-error" role="alert">
  59. <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true" style="margin-right: 2px"></span>
  60. <span>{{'APP.POPUP.PUBLISH-ERROR-PROCESS-ALREADY-USED' | translate}}</span>
  61. <ul>
  62. <li ng-repeat="processName in conflict.data.conflictingProcessModelNames track by $index">
  63. {{processName}} ({{'APP.POPUP.PUBLISH-ERROR-PROCESS-ALREADY-USED-APP' | translate}} "{{conflict.data.conflictingAppNames[$index]}}")
  64. </li>
  65. </ul>
  66. </div>
  67. </div>
  68. <div class="modal-footer">
  69. <div class="pull-right" ng-if="conflict == null || conflict == undefined || conflict.type != 'processModelAlreadyUsed'">
  70. <button class="btn btn-sm btn-default" ng-click="cancel()" ng-disabled="model.loading" translate>GENERAL.ACTION.CANCEL</button>
  71. <button class="btn btn-primary" ng-click="saveAndClose()" ng-disabled="status.loading || saveDialog.name.length == 0 || saveDialog.key.length == 0" ng-show="!error && !error.hasCustomStencilItem && !error.hasValidationErrors" translate>ACTION.SAVE-AND-CLOSE</button>
  72. <button class="btn btn-primary" ng-click="save()" ng-disabled="status.loading || saveDialog.name.length == 0 || saveDialog.key.length == 0" ng-show="!error && !error.hasCustomStencilItem && !error.hasValidationErrors" translate>ACTION.SAVE</button>
  73. </div>
  74. <div class="pull-right" ng-if="conflict && conflict.type == 'processModelAlreadyUsed'">
  75. <button type="button" class="btn btn-sm btn-default" ng-click="cancel()" ng-disabled="popup.loading">
  76. {{'GENERAL.ACTION.CANCEL' | translate}}
  77. </button>
  78. <button type="button" class="btn btn-sm btn-success" style="background-color: #5cb85c;border-color: #4cae4c;" ng-click="saveAndClose(true)" ng-disabled="popup.loading">
  79. <span>{{'GENERAL.ACTION.CONFIRM-AND-CLOSE' | translate}}</span>
  80. </button>
  81. <button type="button" class="btn btn-sm btn-success" style="background-color: #5cb85c;border-color: #4cae4c;" ng-click="save(true)" ng-disabled="popup.loading">
  82. <span>{{'GENERAL.ACTION.CONFIRM' | translate}}</span>
  83. </button>
  84. </div>
  85. <div class="loading pull-right" ng-show="model.loading">
  86. <div class="l1"></div><div class="l2"></div><div class="l2"></div>
  87. </div>
  88. </div>
  89. </div>
  90. </div>
  91. </div>