edit.html.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. <?php
  2. /**
  3. * The edit view file of workflowdatasource module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2024 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  5. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  6. * @author Gang Liu <liugang@easycorp.ltd>
  7. * @package workflowdatasource
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. $buildOptions = function() use ($lang, $datasource)
  12. {
  13. $options = array();
  14. foreach($datasource->options as $key => $value)
  15. {
  16. $options[] = inputGroup
  17. (
  18. inputGroupAddon($lang->workflowdatasource->key),
  19. input(set::name('options[value][]'), set::value($key), set::placeholder($lang->workflowdatasource->placeholder->optionCode)),
  20. inputGroupAddon($lang->workflowdatasource->value),
  21. input(set::name('options[text][]'), set::value($value)),
  22. inputGroupAddon(button(setClass('btn-add'), icon('plus'))),
  23. inputGroupAddon(button(setClass('btn-del'), icon('minus')))
  24. );
  25. }
  26. if(!$options)
  27. {
  28. $options[] = inputGroup
  29. (
  30. inputGroupAddon($lang->workflowdatasource->key),
  31. input(set::name('options[value][]'), set::placeholder($lang->workflowdatasource->placeholder->optionCode)),
  32. inputGroupAddon($lang->workflowdatasource->value),
  33. input(set::name('options[text][]')),
  34. inputGroupAddon(button(setClass('btn-add'), icon('plus'))),
  35. inputGroupAddon(button(setClass('btn-del'), icon('minus')))
  36. );
  37. }
  38. return $options;
  39. };
  40. $buildParams = function() use($lang, $datasource)
  41. {
  42. $params = array();
  43. foreach($datasource->params as $param)
  44. {
  45. $params[] = inputGroup
  46. (
  47. inputGroupAddon($lang->workflowdatasource->param),
  48. input
  49. (
  50. set::name('paramName[]'),
  51. set::value($param->name),
  52. set::title($param->name),
  53. set::readonly(true)
  54. ),
  55. inputGroupAddon($lang->workflowdatasource->paramType),
  56. input
  57. (
  58. set::name('paramType[]'),
  59. set::value($param->type),
  60. set::title($param->type),
  61. set::readonly(true)
  62. ),
  63. inputGroupAddon($lang->workflowdatasource->desc),
  64. input
  65. (
  66. set::name('paramDesc[]'),
  67. set::value($param->desc),
  68. set::title($param->desc),
  69. set::readonly(true)
  70. ),
  71. inputGroupAddon($lang->workflowdatasource->paramValue),
  72. input
  73. (
  74. set::name('paramValue[]'),
  75. set::value($param->value),
  76. set::title($param->value)
  77. )
  78. );
  79. }
  80. return $params;
  81. };
  82. modalHeader();
  83. formPanel
  84. (
  85. on::change('#type', 'changeType'),
  86. on::focusout('#sql', 'changeSql'),
  87. on::change('[name=module]', 'changeModule'),
  88. on::change('[name=method]', 'changeMethod'),
  89. on::click('.btn-add', 'addOption'),
  90. on::click('.btn-del', 'delOption'),
  91. set::submitBtnText($lang->save),
  92. formGroup
  93. (
  94. set::label($lang->workflowdatasource->name),
  95. set::name('name'),
  96. set::value($datasource->name),
  97. set::required(true)
  98. ),
  99. formGroup
  100. (
  101. set::label($lang->workflowdatasource->code),
  102. set::name('code'),
  103. set::value($datasource->code)
  104. ),
  105. formGroup
  106. (
  107. set::label($lang->workflowdatasource->type),
  108. set::name('type'),
  109. set::items($lang->workflowdatasource->typeList),
  110. set::value($datasource->type),
  111. set::required(true)
  112. ),
  113. formGroup
  114. (
  115. $datasource->type != 'option' ? setClass('hidden') : null,
  116. set::label($lang->workflowdatasource->typeList['option']),
  117. set::required(true),
  118. div
  119. (
  120. setID('options'),
  121. setClass('w-full'),
  122. $buildOptions()
  123. )
  124. ),
  125. formGroup
  126. (
  127. $datasource->type != 'sql' ? setClass('hidden') : null,
  128. set::label($lang->workflowdatasource->sql),
  129. set::control('textarea'),
  130. set::name('sql'),
  131. set::value($datasource->sql),
  132. set::placeholder($lang->workflowdatasource->placeholder->sql),
  133. set::required(true)
  134. ),
  135. formGroup
  136. (
  137. $datasource->type != 'sql' ? setClass('hidden') : null,
  138. set::label($lang->workflowdatasource->key),
  139. set::required(true),
  140. inputGroup
  141. (
  142. picker
  143. (
  144. set::name('keyField'),
  145. set::items($fields),
  146. set::value($datasource->keyField)
  147. ),
  148. inputGroupAddon($lang->workflowdatasource->value),
  149. picker
  150. (
  151. set::name('valueField'),
  152. set::items($fields),
  153. set::value($datasource->valueField)
  154. )
  155. ),
  156. div(setID('keyValue'))
  157. ),
  158. formGroup
  159. (
  160. $datasource->type != 'system' ? setClass('hidden') : null,
  161. set::label($lang->workflowdatasource->typeList['system']),
  162. set::required(true),
  163. div
  164. (
  165. setClass('w-full'),
  166. inputGroup
  167. (
  168. inputGroupAddon($lang->workflowdatasource->module),
  169. picker
  170. (
  171. set::name('module'),
  172. set::items($modules),
  173. set::value($datasource->module)
  174. ),
  175. inputGroupAddon($lang->workflowdatasource->method),
  176. picker
  177. (
  178. set::name('method'),
  179. set::items($methods),
  180. set::value($datasource->method)
  181. )
  182. ),
  183. inputGroup
  184. (
  185. inputGroupAddon($lang->workflowdatasource->desc),
  186. input
  187. (
  188. set::name('methodDesc'),
  189. set::value($datasource->methodDesc),
  190. set::readonly(true)
  191. )
  192. ),
  193. div
  194. (
  195. setID('paramsDIV'),
  196. setClass('mt-2.5'),
  197. $buildParams()
  198. )
  199. )
  200. ),
  201. formGroup
  202. (
  203. $datasource->type != 'lang' ? setClass('hidden') : null,
  204. set::label($lang->workflowdatasource->typeList['lang']),
  205. set::name('lang'),
  206. set::items($lang->workflowdatasource->langList),
  207. set::value($datasource->lang),
  208. set::required(true)
  209. ),
  210. formHidden('app', '')
  211. );
  212. render();