sign_in_view.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Hello MUI</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
  7. <meta name="apple-mobile-web-app-capable" content="yes">
  8. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  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. <!--App自定义的css-->
  15. <link rel="stylesheet" type="text/css" href="../../../css/flow.css" />
  16. </head>
  17. <body class="mui-fullscreen">
  18. <!--页面主结构开始-->
  19. <div id="app" class="mui-views">
  20. <div class="mui-view">
  21. <div class="mui-navbar">
  22. </div>
  23. <div class="mui-pages">
  24. </div>
  25. </div>
  26. </div>
  27. <!--页面主结构结束-->
  28. <!--单页面开始-->
  29. <div id="setting" class="mui-page">
  30. <!--页面标题栏开始-->
  31. <div class="mui-navbar-inner mui-bar mui-bar-nav">
  32. <a class="mui-action-back back mui-pull-left"><img src="../../../images/back.png"></a>
  33. <h1 class="mui-center mui-title">未签到(退)说明流程</h1>
  34. </div>
  35. <!--页面标题栏结束-->
  36. <!--页面主内容区开始-->
  37. <div class="mui-page-content">
  38. <div class="mui-scroll-wrapper">
  39. <div class="mui-scroll">
  40. <div class="mui-content-padded" style="margin: 5px;">
  41. <form class="mui-input-group" id="form_element">
  42. <div class="mui-content">
  43. <ul class="mui-table-view ">
  44. <li class="mui-table-view-cell mui-input-row">
  45. <label>姓名</label>
  46. <template v-for="formElement in formElements" v-if="formElement.tableField == 'form_element_23344106258004'">
  47. <input type="text" id="form_element_23344106258004" name="form_element_23344106258004" v-bind:value="formElement.defaultValue" class="mui-input-clear" readonly="readonly" placeholder="">
  48. </template>
  49. </li>
  50. <li class="mui-table-view-cell mui-input-row">
  51. <label>部门及职务</label>
  52. <template v-for="formElement in formElements" v-if="formElement.tableField == 'form_element_23344106871975'">
  53. <input type="text" id="form_element_23344106871975" name="form_element_23344106871975" readonly="readonly" v-bind:value="formElement.defaultValue" class="mui-input-clear" readonly="readonly" placeholder="">
  54. </template>
  55. </li>
  56. <li class="mui-table-view-cell mui-input-row">
  57. <label>未按时签到(退)时间</label>
  58. <template v-for="formElement in formElements" v-if="formElement.tableField == 'form_element_23344111349374'">
  59. <input id="endDate" name="form_element_23344111349374" type="text" readonly="readonly" v-bind:value="formElement.defaultValue" data-options='{"type":"date"}' class="dateinput" placeholder="">
  60. </template>
  61. </li>
  62. <li class="mui-table-view-cell mui-input-row" style="height: 100px;margin: 5px 5px;">
  63. <label>事由</label>
  64. <template v-for="formElement in formElements" v-if="formElement.tableField == 'form_element_23344108344418'">
  65. <textarea id="form_element_23344108344418" name="form_element_23344108344418" rows="4" readonly="readonly" placeholder="请输入请假事由">{{formElement.defaultValue}}</textarea>
  66. </template>
  67. </li>
  68. <li class="mui-table-view-cell mui-input-row" style="height: 100px;margin: 5px 5px;">
  69. <label>备注</label>
  70. <template v-for="formElement in formElements" v-if="formElement.tableField == 'form_element_23344110339975'">
  71. <textarea id="form_element_23344110339975" name="form_element_23344110339975" rows="4" v-if="formElement.canEdit == '1'" placeholder=""></textarea>
  72. <textarea id="form_element_23344110339975" name="form_element_23344110339975" rows="4" v-else if readonly="readonly" placeholder="">{{formElement.defaultValue}}</textarea>
  73. </template>
  74. </li>
  75. </ul>
  76. <ul class="mui-table-view ">
  77. <li class="mui-table-view-cell mui-input-row" style="height: 100px;margin: 5px 5px;">
  78. <label>主管领导意见</label>
  79. <template v-for="formElement in formElements" v-if="formElement.tableField == 'form_element_23344109341744'">
  80. <textarea id="form_element_23344109341744" name="form_element_23344109341744" rows="4" v-if="formElement.canEdit == '1'" placeholder=""></textarea>
  81. <textarea id="form_element_23344109341744" name="form_element_23344109341744" rows="4" v-else if readonly="readonly" placeholder="">{{formElement.defaultValue}}</textarea>
  82. </template>
  83. </li>
  84. </ul>
  85. </div>
  86. </form>
  87. <ul class="mui-table-view" id="item3mobile">
  88. <li class="mui-table-view-cell" v-for="item3mobileC in item3mobileCs">
  89. <p><span>环节名称:{{item3mobileC.tmodelName}}({{item3mobileC.name}})</span><span style="margin-left: 10px;">{{item3mobileC.dataName}}</span></p>
  90. <p><span>创建时间:{{item3mobileC.createdate}}</span></p>
  91. <template v-if="item3mobileC.finishdate != ''">
  92. <p><span>办理时间:{{item3mobileC.finishdate}}</span></p>
  93. </template>
  94. </li>
  95. </ul>
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. <!--页面主内容区结束-->
  101. </div>
  102. <!--单页面结束-->
  103. <script src="../../../js/mui.min.js"></script>
  104. <script src="../../../js/mui.view.js"></script>
  105. <script src="../../../js/mui.picker.min.js"></script>
  106. <script src="../../../js/vue.min.js"></script>
  107. <script src="../../../js/config.js"></script>
  108. <script src="../../../js/app.js"></script>
  109. <script src="../../../js/jquery-1.11.2.min.js"></script>
  110. <script type="text/javascript">
  111. var url = API.API_URL();
  112. mui.init();
  113. var viewApi = mui('#app').view({
  114. defaultPage: '#setting'
  115. });
  116. //初始化单页的区域滚动
  117. mui('.mui-scroll-wrapper').scroll();
  118. var view = viewApi.view;
  119. (function($, doc) {
  120. //处理view的后退与webview后退
  121. var oldBack = $.back;
  122. $.back = function() {
  123. if(viewApi.canBack()) { //如果view可以后退,则执行view的后退
  124. viewApi.back();
  125. } else { //执行webview后退
  126. oldBack();
  127. }
  128. };
  129. //监听页面切换事件方案1,通过view元素监听所有页面切换事件,目前提供pageBeforeShow|pageShow|pageBeforeBack|pageBack四种事件(before事件为动画开始前触发)
  130. //第一个参数为事件名称,第二个参数为事件回调,其中e.detail.page为当前页面的html对象
  131. view.addEventListener('pageBeforeShow',
  132. function(e) {
  133. console.log(e.detail.page.id + ' beforeShow');
  134. });
  135. view.addEventListener('pageShow', function(e) {
  136. console.log(e.detail.page.id + ' show');
  137. });
  138. view.addEventListener('pageBeforeBack', function(e) {
  139. console.log(e.detail.page.id + ' beforeBack');
  140. });
  141. view.addEventListener('pageBack', function(e) {
  142. console.log(e.detail.page.id + ' back');
  143. });
  144. })(mui);
  145. var tinsId = "";
  146. var insId = "";
  147. mui.plusReady(function() {
  148. var self = plus.webview.currentWebview();
  149. tinsId = self.tinsId;
  150. insId = self.insId;
  151. console.log("plusReady");
  152. console.log("tinsId=====" + tinsId + "insId====" + insId)
  153. getProcessflow();
  154. getFormInfo();
  155. });
  156. function choosePerson(tmodelId) {
  157. getGroupUser(347517153919893);
  158. $("#selTmodelId").val(tmodelId);
  159. viewApi.go('#personComponent');
  160. };
  161. function selectUser(user) {
  162. var tmodelId = $("#selTmodelId").val()
  163. $("#" + tmodelId).val(user.text);
  164. $("#" + tmodelId).attr("userId", user.id);
  165. viewApi.back();
  166. }
  167. var vm = new Vue({
  168. el: '#item3mobile',
  169. data: {
  170. item3mobileCs: []
  171. }
  172. });
  173. var vm3 = new Vue({
  174. el: '#form_element',
  175. data: {
  176. formInfo: {},
  177. formElements: []
  178. }
  179. });
  180. //流程流转信息
  181. function getProcessflow() {
  182. var state = app.getState(); //获取登陆信息
  183. var staffId = state.user.useId;
  184. mui.ajax(url, {
  185. dataType: 'json', //服务器返回json格式数据
  186. type: 'post', //HTTP请求类型
  187. data: {
  188. 'serviceId': 'bpm_2013V0100PHONE007',
  189. 'params': '{staffId:"' + staffId + '",insid:"' + insId + '"}'
  190. },
  191. timeout: 10000, //超时时间设置为10秒;
  192. headers: {
  193. 'Accept': 'application/json'
  194. },
  195. success: function(data) {
  196. //服务器返回响应
  197. console.log("流转过程信息:" + JSON.stringify(data));
  198. if(data && data.returnCode == "0") {
  199. var returnParams = data.returnParams.list;
  200. if(returnParams.length > 0) {
  201. vm.item3mobileCs = vm.item3mobileCs.concat(returnParams);
  202. }
  203. } else {
  204. mui.toast("获取流程信息错误");
  205. }
  206. },
  207. error: function(xhr, type, errorThrown) {
  208. //异常处理;
  209. console.log(xhr + "========" + type + "===========" + errorThrown);
  210. }
  211. });
  212. };
  213. //获取表单信息
  214. function getFormInfo() {
  215. //开启等待框
  216. var w = plus.nativeUI.showWaiting("处理中,请等待...", {
  217. loading: {
  218. display: "inline"
  219. }
  220. });
  221. var state = app.getState(); //获取登陆信息
  222. var staffId = state.user.useId;
  223. mui.ajax(url, {
  224. dataType: 'json', //服务器返回json格式数据
  225. type: 'post', //HTTP请求类型
  226. data: {
  227. 'serviceId': 'bpm_2013V0100PHONE006',
  228. 'params': '{staffId:"' + staffId + '",tinsid:"' + tinsId + '",insId:"' + insId + '"}'
  229. },
  230. timeout: 10000, //超时时间设置为10秒;
  231. headers: {
  232. 'Accept': 'application/json'
  233. },
  234. success: function(data) {
  235. //服务器返回响应
  236. console.log("表单信息:" + JSON.stringify(data));
  237. if(data && data.returnCode == "0") {
  238. //关闭等待框
  239. var t = setInterval(function() {
  240. w.setTitle("处理中,请等待...");
  241. w.close();
  242. clearInterval(t);
  243. }, 1000);
  244. var returnParams = data.returnParams;
  245. var returnParams = data.returnParams;
  246. vm3.formInfo = returnParams.formInfo[0];
  247. console.log("vm3.formInfo********" + vm3.formInfo);
  248. vm3.formElements = returnParams.formElements;
  249. console.log("vm3.formElements********" + vm3.formElements);
  250. } else {
  251. mui.toast("获取流程信息错误");
  252. }
  253. },
  254. error: function(xhr, type, errorThrown) {
  255. //异常处理;
  256. console.log(xhr + "========" + type + "===========" + errorThrown);
  257. }
  258. });
  259. };
  260. </script>
  261. </body>
  262. </html>