contract_detail.html 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>合同详情</title>
  6. <meta name="viewport"
  7. content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  8. <link href="../../css/mui.min.css" rel="stylesheet" />
  9. <link rel="stylesheet" href="../../css/animate.min.css" />
  10. <style>
  11. .mui-bar-nav~.mui-content{padding-top: 54px;}
  12. .bg{padding: 15px;text-align: center;}
  13. input{height: 45px!important;font-size: 14px;}
  14. textarea{font-size: 14px;}
  15. .m_box {padding: 10px 10px 25px 15px;box-shadow: 0 1px 6px #dbdbdb;}
  16. .btn{width: 230px;margin-top: -21px;}
  17. .img_list{font-size: 13px;color: darkgray;}
  18. .row .sm3{padding: 5px;width: 33.33%;}
  19. .img{width: 60px;border-radius: 3px;border: 1px solid darkgray;margin-bottom: 5px;}
  20. .img.active{border: 1px solid green;}
  21. .ht{text-align: left;padding-left: 20px;margin-top: -20px;padding-bottom: 10px;font-size: 14px;}
  22. .row label{float: left;padding-bottom: 7px;font-size: 15px;}
  23. .sa.active{color: green;}
  24. .mb6{margin-bottom: -6px!important;}
  25. </style>
  26. </head>
  27. <body>
  28. <div id="app">
  29. <header class="mui-bar mui-bar-nav">
  30. <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
  31. <h1 class="mui-title">合同详情</h1>
  32. </header>
  33. <div class="mui-content animated fadeInUp" style="margin-top: 10px;">
  34. <div class="bg">
  35. <div class="m_box">
  36. <div class="input-group">
  37. 合同接收人: {{items.nickName}}
  38. </div>
  39. <div class="row mb6">
  40. <label>合同名称</label>
  41. <input type="tel" v-model="item.contract_content" placeholder="输入合同名称">
  42. <div class="clear"></div>
  43. </div>
  44. <div class="row mb6" style="margin-top: -10px;">
  45. <label>合同金额</label>
  46. <input type="tel" v-model="item.contract_amount" placeholder="输入合同金额">
  47. <div class="clear"></div>
  48. </div>
  49. <div class="row mb6">
  50. <label>附加条款</label>
  51. <textarea rows="3" v-model="item.remark" placeholder="附加条款"> </textarea>
  52. <div class="clear"></div>
  53. </div>
  54. <div class="row">
  55. <label>合同模板</label>
  56. <div class="clear"></div>
  57. </div>
  58. <div class="img_list">
  59. <div class="row">
  60. <div class="sm3" >
  61. <img :src="item.contract_url" class="img" @click.stop="view(item.contract_url)" />
  62. <div class="sa" >{{item.title}}</div>
  63. </div>
  64. <div class="clear"></div>
  65. </div>
  66. </div>
  67. <!--<div class="img_list">
  68. <div class="row">
  69. <div class="sm3" v-for="(item,index) in contract_list" @click="select(item,index)">
  70. <img :src="item.contract_url" class="img" :class="{active:curr==index}" @click.stop="view(item.contract_url)" />
  71. <div class="sa" :class="{active:curr==index}">{{item.title}}</div>
  72. </div>
  73. <div class="clear"></div>
  74. </div>
  75. </div>
  76. -->
  77. </div>
  78. <div><button class="btn" @click="save()" v-if="item.status!='1' ">保存</button> </div>
  79. <div style="padding-top: 20px;"><button class="btn" @click="ok()" v-if="item.trustee_status!='1' ">确认合同</button>
  80. </div>
  81. </div>
  82. </div>
  83. </div>
  84. <script src="../../js/mui.min.js"></script>
  85. <script src="../../js/app.js"></script>
  86. <script src="../../js/vue.min.js"></script>
  87. <script>
  88. var vm = new Vue({
  89. el: "#app",
  90. data: {
  91. contract_list: [],
  92. curr: 0,
  93. item: {
  94. },
  95. items: {},
  96. parm:{trustee:getUser().id}
  97. },
  98. mounted: function() {
  99. mui.plusReady(function() {
  100. console.log("res===" + JSON.stringify(plus.webview.currentWebview().param));
  101. if (plus.webview.currentWebview().param != null) {
  102. vm.items = plus.webview.currentWebview().param;
  103. vm.parm.client = plus.webview.currentWebview().param.publisher;//招聘者
  104. vm.parm.parttime_id = plus.webview.currentWebview().param.id;
  105. //vm.item.client_status = 1; //发送表示委托人同意
  106. //获取合同列表
  107. //request(urls().contract_templete_list, {}, function(res) {
  108. // vm.contract_list = res.data;
  109. // setTimeout(() => {
  110. // plus.nativeUI.closeWaiting();
  111. //}, 500)
  112. // })
  113. //获取合同详情
  114. request(urls().u_contract, vm.parm, function(res) {
  115. console.log("res22==="+JSON.stringify(res));
  116. vm.item = res;
  117. setTimeout(() => {
  118. plus.nativeUI.closeWaiting();
  119. }, 500)
  120. })
  121. }
  122. })
  123. },
  124. methods: {
  125. //保存
  126. save: function() {
  127. if (vm.item.templete_id == '') {
  128. mui.alert('请选择合同模板');
  129. return;
  130. }
  131. //this.item.status=0;
  132. request(urls().save_contract, this.item, function(res) {
  133. if (res.result == true) {
  134. mui.toast("操作成功");
  135. plus.webview.getWebviewById("detail").reload(true);
  136. } else {
  137. mui.toast(res.msg);
  138. }
  139. plsetTimeout(() => {
  140. plus.nativeUI.closeWaiting();
  141. }, 500) })
  142. },
  143. //编辑
  144. ok: function() {
  145. //if (vm.item.templete_id == '') {
  146. // mui.alert('请选择合同模板');
  147. // return;
  148. // }
  149. this.item.status=1;
  150. this.item.trustee_status = 1;
  151. request(urls().save_contract, this.item, function(res) {
  152. if (res.result == true) {
  153. mui.toast("操作成功");
  154. plus.webview.getWebviewById("detail").reload(true);
  155. } else {
  156. mui.toast(res.msg);
  157. }
  158. plsetTimeout(() => {
  159. plus.nativeUI.closeWaiting();
  160. }, 500) })
  161. },
  162. //选择合同模板
  163. select: function(item, index) {
  164. this.curr = index;
  165. this.item.templete_id=item.id;
  166. },
  167. view: function(img) {
  168. plus.nativeUI.previewImage([img], {
  169. current: 0,
  170. loop: true,
  171. indicator: 'number'
  172. });
  173. }
  174. }
  175. })
  176. </script>
  177. </body>
  178. </html>