flow_approve.html 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>流程办理</title>
  6. <meta name="apple-mobile-web-app-capable" content="yes">
  7. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  8. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  9. <link href="../../css/OA-style.css" rel="stylesheet" />
  10. <!--标准mui.css-->
  11. <link rel="stylesheet" href="../../css/mui.min.css">
  12. <link rel="stylesheet" href="../../css/mui.picker.min.css">
  13. <link rel="stylesheet" type="text/css" href="../../css/app.css" />
  14. <link rel="stylesheet" type="text/css" href="../../css/flow.css" />
  15. <style>
  16. .mui-card-footer {
  17. display: inherit;
  18. }
  19. </style>
  20. </head>
  21. <body class="mui-fullscreen">
  22. <!--页面主结构开始-->
  23. <div id="app" class="mui-views">
  24. <div class="mui-view">
  25. <div class="mui-navbar">
  26. </div>
  27. <div class="mui-pages">
  28. </div>
  29. </div>
  30. </div>
  31. <!--页面主结构结束-->
  32. <!--单页面开始-->
  33. <div id="setting" class="mui-page">
  34. <!--页面标题栏开始-->
  35. <div class="mui-navbar-inner mui-bar mui-bar-nav">
  36. <a class="mui-action-back back mui-pull-left"><img src="../../images/back.png"></a>
  37. <h1 class="mui-center mui-title" id="title">请假流程</h1>
  38. </div>
  39. <!--页面标题栏结束-->
  40. <!--页面主内容区开始-->
  41. <div class="mui-page-content">
  42. <div class="mui-scroll-wrapper">
  43. <div class="mui-scroll">
  44. <div class="mui-content-padded" style="margin: 5px;">
  45. <form class="mui-input-group" id="form_element">
  46. <div class="mui-content" style="background-color: #FFFFFF;">
  47. <template v-for="formElement in formElements">
  48. <template v-if="formElement.groupid != '1' || formElement.defaultValue != '' || formElement.canEdit == '1'">
  49. <div class="mui-table-view-cell mui-input-row" >
  50. <label>{{formElement.elementName}}</label>
  51. <!--
  52. 作者:18559387276@139.com
  53. 时间:2018-05-29
  54. 描述:文本框
  55. -->
  56. <template v-if="formElement.type == '0'">
  57. <input type="text" v-if="formElement.canEdit == '1'" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" v-bind:value="formElement.defaultValue" class="mui-input-clear">
  58. <input type="text" v-else v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" v-bind:value="formElement.defaultValue" readonly="readonly" class="mui-input-clear" placeholder="">
  59. </template>
  60. <template v-else-if="formElement.type == '1'">
  61. <textarea v-if="formElement.canEdit == '1'" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" rows="4">{{formElement.defaultValue}}</textarea>
  62. <textarea v-else v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" rows="4" readonly="readonly" placeholder="">{{formElement.defaultValue}}</textarea>
  63. </template>
  64. <template v-else-if="formElement.type == '2' ">
  65. <input type="text" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" style="display: none;" />
  66. <select v-bind:id="formElement.tableField" v-bind:name="formElement.tableField">
  67. <template v-for="enuma in formElement.typeDetail.enum">
  68. <option v-bind:value="enuma.enumVname" v-if="formElement.defaultValue==enuma.enumVname" selected="selected">{{enuma.enumVname}}</option>
  69. <option v-bind:value="enuma.enumVname" v-else>{{enuma.enumVname}}</option>
  70. </template>
  71. </select>
  72. </template>
  73. <template v-else-if="formElement.type == '2'|| formElement.type == '4'">
  74. <select v-if="formElement.canEdit == '1'" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" style="font-size: 14px;">
  75. <option value="" v-if="formElement.inputPrompt==''" style="color: #B6B6B6 !important;">请选择</option>
  76. <option value="" v-if="formElement.inputPrompt!=''" style="color: #B6B6B6 !important;">{{formElement.inputPrompt}}</option>
  77. <template v-for="enuma in formElement.typeDetail.enum">
  78. <option v-bind:value="enuma.enumVname" v-if="formElement.defaultValue==enuma.enumVname" selected="selected">{{enuma.enumVname}}</option>
  79. <option v-bind:value="enuma.enumVname" v-else>{{enuma.enumVname}}</option>
  80. </template>
  81. </select>
  82. <input type="text" v-else v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" v-bind:value="formElement.defaultValue" readonly="readonly" class="mui-input-clear" placeholder="">
  83. </template>
  84. <template v-else-if="formElement.type == '5' && formElement.canEdit == '1' ">
  85. <input type="text" v-bind:id="formElement.tableField" v-bind:value="formElement.defaultValue" v-bind:name="formElement.tableField" style="display: none;" />
  86. <select v-bind:id="formElement.tableField+'dept'" v-bind:name="formElement.tableField+'dept'" multiple class="dept_select">
  87. <template v-for="enuma in formElement.typeDetail.enum">
  88. <option v-bind:value="enuma.enumVname" v-if="formElement.defaultValue!='' && formElement.defaultValue.split(',').indexOf(enuma.enumVname)!=-1" selected="selected">{{enuma.enumVname}}</option>
  89. <option v-bind:value="enuma.enumVname" v-else>{{enuma.enumVname}}</option>
  90. </template>
  91. </select>
  92. </template>
  93. <template v-else-if="formElement.type == '8' ">
  94. <input type="text" v-if="formElement.canEdit == '1'&& formElement.inputPrompt==''" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" v-bind:value="formElement.defaultValue" class="mui-input-clear" placeholder="请输入">
  95. <input type="text" v-if="formElement.canEdit == '1'&& formElement.inputPrompt!=''" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" v-bind:value="formElement.defaultValue" class="mui-input-clear" v-bind:placeholder="formElement.inputPrompt">
  96. <input type="text" v-else v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" v-bind:value="formElement.defaultValue" readonly="readonly" class="mui-input-clear" placeholder="">
  97. </template>
  98. <template v-else-if="formElement.type == '9' || formElement.type == '3' ">
  99. <input type="text" v-if="formElement.canEdit == '1' && formElement.inputPrompt==''" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" readonly="readonly" v-bind:value="formElement.defaultValue" class="mui-input-clear dateinput" data-options='{}' placeholder="请点击">
  100. <input type="text" v-else-if="formElement.canEdit == '1' && formElement.inputPrompt!=''" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" readonly="readonly" v-bind:value="formElement.defaultValue" class="mui-input-clear dateinput" data-options='{}' v-bind:placeholder="formElement.inputPrompt">
  101. <input type="text" v-else v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" readonly="readonly" class="mui-input-clear" placeholder="" v-bind:value="formElement.defaultValue">
  102. </template>
  103. <template v-else-if=" formElement.type == '12' && formElement.canEdit == '1'">
  104. <select v-bind:id="formElement.tableField" v-bind:name="formElement.tableField">
  105. <option value="" v-if="formElement.inputPrompt==''" style="color: #B6B6B6 !important;">请选择</option>
  106. <option value="" v-if="formElement.inputPrompt!=''" style="color: #B6B6B6 !important;">{{formElement.inputPrompt}}</option>
  107. <template v-for="enuma in formElement.typeDetail.enum">
  108. <option v-bind:value="enuma.enumVname" v-if="formElement.defaultValue!='' && formElement.defaultValue.split(',').indexOf(enuma.enumVname)!=-1" selected="selected">{{enuma.enumVname}}</option>
  109. <option v-bind:value="enuma.enumVname" v-else>{{enuma.enumVname}}</option>
  110. </template>
  111. </select>
  112. </template>
  113. <template v-else-if="formElement.type == '15'">
  114. <template v-if="formElement.canEdit == '1'">
  115. <template v-if="formElement.defaultValue!=''&&formElement.defaultValue!=null">
  116. <input type="text" v-bind:id="formElement.tableField+'_name'" v-bind:name="formElement.tableField+'_name'" v-bind:value="formElement.defaultValue.split('|')[1]" readonly="readonly" class="mui-input-clear" placeholder="" v-on:click="choosePerson({'backId':formElement.tableField+'_name','backType':'bpmFormUser','isMultiDept':'0'})">
  117. <input type="hidden" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" v-bind:value="formElement.defaultValue" userId="{{formElement.defaultValue.split('|')[0]}}" readonly="readonly" class="mui-input-clear" placeholder="">
  118. </template>
  119. <template v-else >
  120. <input type="text" v-bind:id="formElement.tableField+'_name'" v-bind:name="formElement.tableField+'_name'" readonly="readonly" class="mui-input-clear" placeholder="选择人员" v-on:click="choosePerson({'backId':formElement.tableField+'_name','backType':'bpmFormUser','isMultiDept':'0'})">
  121. </template>
  122. <input class="userDefault" type="hidden" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" class="mui-input-clear" v-bind:value="formElement.defaultValue" />
  123. </template>
  124. <template v-else>
  125. <template v-if="formElement.defaultValue!=''&&formElement.defaultValue!=null">
  126. <input type="text" v-bind:id="formElement.tableField+'_name'" v-bind:name="formElement.tableField+'_name'" v-bind:value="formElement.defaultValue.split('|')[1]" readonly="readonly" class="mui-input-clear" placeholder="" >
  127. <input type="hidden" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" v-bind:value="formElement.defaultValue" readonly="readonly" class="mui-input-clear" placeholder="">
  128. </template>
  129. </template>
  130. </template>
  131. <!--<template v-else-if="formElement.type == '13' && formElement.canEdit == '0' && formElement.defaultValue != ''">
  132. <img v-bind:id="formElement.tableField + 'img'" v-bind:src="API.API_IP_PORT + formElement.defaultValue" />
  133. </template>
  134. <template v-else-if="formElement.type == '13' && formElement.canEdit == '1' ">
  135. <input type="text" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" readonly="readonly" class="mui-input-clear" placeholder="请签名" v-on:click="openDrawingBoard(formElement.tableField)">
  136. <input type="text" id="reSign" placeholder="重签" v-on:click="openDrawingBoard(formElement.tableField)" readonly="readonly" class="mui-input-clear" style="display: none;">
  137. <img v-bind:id="formElement.tableField + 'img'" src="#" style="display: none;" />
  138. </template>-->
  139. <template v-else-if="formElement.type == '14'">
  140. <span v-html="formElement.defaultValue"></span>
  141. </template>
  142. <template v-else-if="formElement.type == '21'">
  143. <template v-if="formElement.canEdit == '1'">
  144. <template v-if="formElement.defaultValue!=''&&formElement.defaultValue!=null">
  145. <input type="text" v-bind:id="formElement.tableField+'_name'" v-bind:name="formElement.tableField+'_name'" v-bind:value="formElement.defaultValue.split('|')[1]" readonly="readonly" class="mui-input-clear" placeholder="" v-on:click="choosePerson({'backId':formElement.tableField+'_name','backType':'bpmFormUser','isMultiDept':'0'})">
  146. <input type="hidden" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" v-bind:value="formElement.defaultValue" userId="{{formElement.defaultValue.split('|')[0]}}" readonly="readonly" class="mui-input-clear" placeholder="">
  147. </template>
  148. <template v-else >
  149. <input type="text" v-bind:id="formElement.tableField+'_name'" v-bind:name="formElement.tableField+'_name'" readonly="readonly" class="mui-input-clear" placeholder="" v-on:click="choosePerson({'backId':formElement.tableField+'_name','backType':'bpmFormUser','isMultiDept':'0'})">
  150. <input type="hidden" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" v-bind:value="formElement.defaultValue" readonly="readonly" class="mui-input-clear" placeholder="">
  151. </template>
  152. </template>
  153. <template v-else>
  154. <template v-if="formElement.defaultValue!=''&&formElement.defaultValue!=null">
  155. <input type="text" v-bind:id="formElement.tableField+'_name'" v-bind:name="formElement.tableField+'_name'" v-bind:value="formElement.defaultValue.split('|')[1]" readonly="readonly" class="mui-input-clear" placeholder="" >
  156. <input type="hidden" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" v-bind:value="formElement.defaultValue" readonly="readonly" class="mui-input-clear" placeholder="">
  157. </template>
  158. </template>
  159. </template>
  160. <!--<template v-else-if="formElement.type == '22'">
  161. <template v-if="formElement.canEdit == '1'">
  162. <input class="deptName" type="text" v-bind:id="formElement.tableField+'_name'" v-bind:name="formElement.tableField+'_name'" readonly="readonly" class="mui-input-clear" placeholder="选择部门" v-on:click="chooseDept({'backId':formElement.tableField+'_name','backType':'bpmFormDept','multiple':'n'})">
  163. <input class="deptId" type="hidden" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" class="mui-input-clear" v-bind:value="formElement.defaultValue"/>
  164. </template>
  165. <template v-else>
  166. <template v-if="formElement.defaultValue!=''&&formElement.defaultValue!=null" >
  167. {{formElement.defaultValue.split('|')[1]}}
  168. </template>
  169. </template>
  170. </template>
  171. <template v-else-if="formElement.type == '23'">
  172. <template v-if="formElement.canEdit == '1'">
  173. <input class="deptName" type="text" v-bind:id="formElement.tableField+'_name'" v-bind:name="formElement.tableField+'_name'" readonly="readonly" class="mui-input-clear" placeholder="选择部门" v-on:click="chooseDept({'backId':formElement.tableField+'_name','backType':'bpmFormDept','multiple':'y'})">
  174. <input class="deptId" type="hidden" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" class="mui-input-clear" v-bind:value="formElement.defaultValue"/>
  175. </template>
  176. <template v-else>
  177. <template v-if="formElement.defaultValue!=''&&formElement.defaultValue!=null" >
  178. {{formElement.defaultValue.split('|')[1]}}
  179. </template>
  180. </template>
  181. </template>-->
  182. <template v-else>
  183. <input type="text" v-if="formElement.canEdit == '1'" v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" v-bind:value="formElement.defaultValue" class="mui-input-clear">
  184. <input type="text" v-else v-bind:id="formElement.tableField" v-bind:name="formElement.tableField" v-bind:value="formElement.defaultValue" readonly="readonly" class="mui-input-clear" placeholder="">
  185. </template>
  186. </div>
  187. <div style="display: block;line-height: 24px;font-size: 14px;color:#666666;padding: 10px 16px;background-color: #F2F0F4;" v-if="formElement.beCareful!=''&& formElement.beCareful!=null">{{formElement.beCareful}}</div>
  188. </template>
  189. </template>
  190. </div>
  191. <div style="line-height: 24px;font-size: 14px;color:#666666;padding: 10px 16px;background-color: #F2F0F4;" v-if="formInfo.beCareful!=''&&formInfo.beCareful!=null">
  192. <div style="font-weight: bold;">【注意】</div>
  193. <div id="remark">
  194. {{formInfo.beCareful}}
  195. </div>
  196. </div>
  197. </form>
  198. <form class="mui-input-group" id="flowInfo">
  199. <flow-process :sel-model-id="selModelId" :flow="flow" :tmodel="tmodel" :next-tmodels="nextTmodels" :next-hand-tmodels="nextHandTmodels" :process-list="processList">
  200. </flow-process>
  201. </form>
  202. <div class="mui-button-row">
  203. <button type="button" class="mui-btn mui-btn-primary" id="saveBtn">同意</button>&nbsp;&nbsp;
  204. <button type="button" class="mui-btn mui-btn-danger" id="returnBth">驳回</button>
  205. </div>
  206. </div>
  207. </div>
  208. </div>
  209. </div>
  210. <!--页面主内容区结束-->
  211. </div>
  212. <!--单页面结束-->
  213. <div id="personComponent" class="mui-page">
  214. <div class="mui-navbar-inner mui-bar mui-bar-nav">
  215. <a class="mui-action-back back mui-pull-left"><img src="../../../images/back.png"></a>
  216. <h1 class="mui-center mui-title">人员选择</h1>
  217. </div>
  218. <div class="mui-page-content">
  219. <div class="mui-scroll-wrapper" id="person-scroll">
  220. <div class="mui-scroll">
  221. <div class="mui-card" id="personData">
  222. <user-select v-on:increment="selectUser()" :group-users="groupUsers" :depts="depts" multiple="y"></user-select>
  223. </div>
  224. <div style="height: 50px;"></div>
  225. </div>
  226. <nav class="mui-bar mui-bar-tab">
  227. <button type="button" class="mui-btn mui-pull-left mui-btn-primary mui-action-back mui-btn-danger" style="margin-left: 30px;">取消</button>
  228. <button type="button" class="mui-btn mui-pull-right mui-btn-primary" onclick="selectUser()" style="margin-right: 30px;">确定</button>
  229. </nav>
  230. </div>
  231. </div>
  232. </div>
  233. <script src="../../js/mui.min.js"></script>
  234. <script src="../../js/mui.view.js"></script>
  235. <script src="../../js/mui.picker.min.js"></script>
  236. <script src="../../js/vue.min.js"></script>
  237. <script src="../../js/config.js"></script>
  238. <script src="../../js/app.js"></script>
  239. <script src="../../js/jquery-1.11.2.min.js"></script>
  240. <script src="../../js/dj/component/vue.flowprocess.js"></script>
  241. <script src="../../js/dj/component/vue.userselect.js"></script>
  242. <script src="../../js/dj/flow/flow_process2.js"></script>
  243. <script type="text/javascript">
  244. </script>
  245. </body>
  246. </html>