ProblemBack.cshtml 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. 
  2. @{
  3. ViewBag.Title = "ProblemBack";
  4. Layout = "~/Views/MobileProblem/_APPMain.cshtml";
  5. }
  6. <link href="~/Content/Scripts/plugins/mui/css/webuploader.css" rel="stylesheet" />
  7. <script src="~/Content/Scripts/plugins/mui/js/webuploader.js"></script>
  8. <script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js"></script>
  9. <style>
  10. .mui-btn-success{
  11. color: #fff;
  12. border: 1px solid #00aaff;
  13. background-color: #00aaff;
  14. }
  15. </style>
  16. <div id="vue">
  17. <header class="mui-bar mui-bar-nav">
  18. <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left" style="color:#ffffff"></a>
  19. <h1 class="mui-title" style="color:white"></h1>
  20. </header>
  21. <nav class="mui-bar mui-bar-tab">
  22. <button v-on:click="SubmitBack" type="button" class="mui-btn mui-btn-primary" style="width:90%;background-color: #2ab8ff;border:none;margin-left:5%">提交</button>
  23. </nav>
  24. <div class="mui-content mui-scroll-wrapper" id="scr1">
  25. <div class="mui-scroll">
  26. <h5 v-if="Type==1" style="font-size:15px;padding:10px 17px">回退说明</h5>
  27. <h5 v-if="Type==2" style="font-size:15px;padding:10px 17px">终止说明</h5>
  28. <div class="mui-input-row" style="font-size:14px">
  29. <textarea v-focus v-model="Detail" id="Detail" rows="6" placeholder="请填写相关说明描述" style="font-size:15px"></textarea>
  30. </div>
  31. <ul id="fileList" class="mui-table-view mui-grid-view mui-grid-9" style="border-color:transparent;"></ul>
  32. <button style="margin:10px" id="pick" type="button" class="mui-btn mui-btn-success mui-icon mui-icon-plus">添加附件</button>
  33. <div style="display:none" id="picker">选择文件</div>
  34. <button style="margin-top: 30px;display:none;" id="ctlBtn" class="btn btn-default">开始上传</button>
  35. </div>
  36. </div>
  37. </div>
  38. <script>
  39. var ProblemId='@ViewBag.ID';
  40. var Type=@ViewBag.type;
  41. var ProcessId;
  42. var t;
  43. var Count = 0;
  44. var vm = new Vue({
  45. el: '#vue',
  46. data: {
  47. msg: 'Hello World!',
  48. ProblemId:ProblemId,
  49. Type:Type,
  50. Detail:''
  51. },created: function () {
  52. },
  53. directives: {
  54. focus: {
  55. // 指令的定义
  56. inserted: function (el) {
  57. el.focus()
  58. }
  59. }
  60. },
  61. methods:{
  62. ///提交处理
  63. SubmitBack:function(){
  64. var that=this;
  65. if(!this.Detail){
  66. mui.toast('请填写说明描述');
  67. return;
  68. }
  69. //回退
  70. t = mui.showLoading("操作中..", "div");
  71. mui.post('/MobileProblem/ProblemBackSubmit/' + ProblemId, {type:Type,Deatil:that.Detail}, function (data) {
  72. if (data.code== 200) {
  73. ProcessId = data.msg;
  74. $("#ctlBtn").click();
  75. }else{
  76. mui.hideLoading(t);
  77. mui.toast(data.msg);
  78. }
  79. }, 'json');
  80. },
  81. //初始化上传接口
  82. InitUploader: function () {
  83. var $list = $("#fileList");
  84. var $btn = $("#ctlBtn");
  85. var uploader = WebUploader.create({
  86. auto: false,
  87. // swf文件路径
  88. swf: '/Content/Scripts/plugins/mui/js/Uploader.swf',
  89. // 文件接收服务端。
  90. server: '/MobileProblem/FlieUploadAndSave',
  91. // 选择文件的按钮。可选。
  92. // 内部根据当前运行是创建,可能是input元素,也可能是flash.
  93. pick: '#picker',
  94. // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
  95. resize: false
  96. });
  97. uploader.on('fileQueued', function (file) {
  98. $list.append('<li id="' + file.id + '" class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3"><span class="mui-icon mui-icon-upload"></span>' +
  99. '<div class="mui-media-body">' + file.name + '</div> </li>');
  100. });
  101. uploader.on('uploadSuccess', function (file,response) {
  102. var $li = $('#' + file.id),
  103. $error = $li.find('div.error');
  104. // 避免重复创建
  105. if (!$error.length) {
  106. $error = $('<div class="error" style="color:#4cd964;font-size:13px"></div>').appendTo($li);
  107. }
  108. $error.text('上传成功');
  109. if (response.code ==200) {
  110. Count += 1;
  111. }
  112. });
  113. uploader.on('uploadError', function (file) {
  114. var $li = $('#' + file.id),
  115. $error = $li.find('div.error');
  116. // 避免重复创建
  117. if (!$error.length) {
  118. $error = $('<div class="error" style="color:red;font-size:13px"></div>').appendTo($li);
  119. }
  120. $error.text('上传失败');
  121. });
  122. uploader.on('uploadComplete', function (file) {
  123. });
  124. uploader.on('uploadFinished', function () {
  125. mui.hideLoading(t);
  126. mui.toast("操作成功!成功上传" + Count + "个附件");
  127. setTimeout(function () {
  128. //mui.openWindow({
  129. // url: '/MobileProblem/ProblemDetail/' + ProblemId
  130. //});
  131. window.location.href = '/MobileProblem/ProblemDetail/' + ProblemId
  132. }, 500);
  133. })
  134. $btn.on('click', function () {
  135. uploader.options.formData.ProcessId = ProcessId;
  136. uploader.upload();
  137. });
  138. document.getElementById('pick').addEventListener('tap', function () {
  139. $(".webuploader-element-invisible").click();
  140. });
  141. },
  142. },
  143. mounted: function () {
  144. mui.init();
  145. mui('.mui-scroll-wrapper').scroll();
  146. this.InitUploader();
  147. }
  148. })
  149. </script>