tmsSignDetails.html 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta content="yes" name="apple-mobile-web-app-capable">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  7. <title>Hello APP</title>
  8. <link rel="stylesheet" type="text/css" href="../../../../../css/api.css" />
  9. <link rel="stylesheet" type="text/css" href="../../../../../css/aui-win.css" />
  10. <link rel="stylesheet" type="text/css" href="../../../../../css/css/vant-ui.css" />
  11. <link rel="stylesheet" type="text/css" href="../../../../../css/css/iconfont.css">
  12. <script src="../../../../../script/js/vue.js"></script>
  13. <script src="../../../../../script/js/vant-ui.js"></script>
  14. <script src="../../../../../script/js/auto-size.js"></script>
  15. <script src="../../../../../script/js/pdfjs-2.5.207-es5-dist/build/pdf.js"></script>
  16. <script src="../../../../../script/js/pdf_plugins.js"></script>
  17. <style>
  18. .flex{
  19. display: flex;
  20. }
  21. #app{}
  22. #aui-header{
  23. background: linear-gradient(to right,#1474E4,#14A7E4);
  24. justify-content: space-between;
  25. align-items: center;
  26. }
  27. #scrollcontaier{
  28. overflow-y: auto;
  29. }
  30. .aui-btn-info{
  31. border: 0
  32. }
  33. .title{
  34. padding: 10px 12px;
  35. color: #ffffff;
  36. }
  37. .image-icon{
  38. width: .66rem;
  39. height: .66rem;
  40. margin-right: 19px;
  41. }
  42. img{
  43. width: 100%;
  44. height: 100%;
  45. }
  46. .nav{
  47. width: 10.1rem;
  48. height: 1.44rem;
  49. margin: .28rem auto 0;
  50. justify-content: space-between;
  51. align-items: center;
  52. background: url("../../../../../image/icon/hedui.png") no-repeat 0 0;
  53. background-size: 100% auto;
  54. }
  55. .details-btn{
  56. height: .96rem;
  57. line-height: .96rem;
  58. padding: 0 .38rem;
  59. border-radius: 0.08rem;
  60. background: #1474E4;
  61. color: #ffffff;
  62. margin-right: .24rem;
  63. }
  64. .details-wrap{
  65. background: #ffffff;
  66. box-sizing: border-box;
  67. width: 10.1rem;
  68. margin: 0.36rem auto 0;
  69. border-radius: 0.08rem;
  70. padding: .4rem;
  71. }
  72. .canvas-container{
  73. position: relative;
  74. }
  75. #canvas{
  76. width: 9.45rem;
  77. height: 2.39rem;
  78. background: url("../../../../../image/icon/noimage.png") #e1e5e2 no-repeat 0 0;
  79. background-size: 100% auto;
  80. }
  81. .scale-btn{
  82. position: absolute;
  83. top: 0;
  84. right: -.13rem;
  85. width: 0;
  86. height: 0;
  87. border-bottom: .8rem solid transparent;
  88. border-right: .8rem solid #1474E4;
  89. border-left: .8rem solid transparent;
  90. }
  91. .scale-btn span{
  92. display: inline-block;
  93. width: .32rem;
  94. height: .32rem;
  95. position: absolute;
  96. top: 0;
  97. right: -.7rem;
  98. }
  99. .scale-btn span img{
  100. width: 100%;
  101. height: 100%;
  102. }
  103. .text-msg{
  104. color: #595959;
  105. }
  106. .field-container{
  107. background: #F5F5F5;
  108. }
  109. .signature{
  110. /*height: 3.2rem;*/
  111. width: 100%;
  112. }
  113. .signature p{
  114. color: #595959;
  115. }
  116. .esign-box{
  117. background: rgba(236,236,236,.5) url(../../../../../image/icon/qianming.png) no-repeat 50%;
  118. width: 9.42rem;
  119. height: 4.54rem;
  120. }
  121. .esigh-btns{
  122. margin-top: 10px;
  123. }
  124. .confirm-btn-container{
  125. justify-content: center;
  126. }
  127. .confirm-btn{
  128. background: linear-gradient(to right, #F09623, #FFCF4C);
  129. /*padding: 0 1.18rem;*/
  130. height: .96rem;
  131. width: 10.1rem;
  132. line-height: .96rem;
  133. border-radius: .48rem;
  134. color: #ffffff;
  135. font-size: .42rem;
  136. text-align: center;
  137. margin: .42rem auto;
  138. }
  139. </style>
  140. </head>
  141. <style>
  142. </style>
  143. <body>
  144. <div id="app">
  145. <header class="flex flex-between" id="aui-header">
  146. <a class="aui-btn aui-btn-info aui-pull-left" tapmode onclick="closeWin()"> <span class="aui-iconfont aui-icon-left"></span> </a>
  147. <div class="title">签收信息查看</div>
  148. <div class="image-icon" @click="handleGoInstructions"><img src="../../../../../image/icon/zhiyinshuoming.png" alt=""></div>
  149. </header>
  150. <div id="scrollcontaier" ref="scrollcontaier">
  151. <div class="nav flex"><span></span><span class="details-btn" @click="handleGo">核对明细<van-icon name="arrow" /></span></div>
  152. <div class="details-wrap">
  153. <div class="canvas-container">
  154. <div id="canvas" ref="canvas"></div>
  155. <div class="scale-btn"><span @click='handleScale'><img src="../../../../../image/icon/fangda.png" alt="放大"></span></div>
  156. </div>
  157. <van-divider ></van-divider>
  158. <template v-if="dataDetails.signFileList&&dataDetails.signFileList.length>0">
  159. <p class="text-msg">若您收到的货物与订单存在差异,可上传相关图片及描述,我们会及时处理。</p>
  160. <van-row class="image-container" gutter="20">
  161. <van-col span="8" v-for="(item,index) in dataDetails.signFileList" class="image-item" :key="index">
  162. <van-image :src="item" fit="contain" width="2.82rem" height="2.82rem" />
  163. </van-col>
  164. </van-row>
  165. </template>
  166. <van-field
  167. class="field-container"
  168. v-model="dataDetails.remark"
  169. rows="2"
  170. type="textarea"
  171. placeholder="备注~"
  172. ref="remark"
  173. readonly
  174. ></van-field>
  175. </div>
  176. </div>
  177. </div>
  178. </body>
  179. <script type="text/javascript" src="../../../../../script/api.js"></script>
  180. <link rel="stylesheet" href="../../../../../script/mescroll/mescroll.min.css">
  181. <script type="text/javascript" src="../../../../../script/mescroll/mescroll.min.js"></script>
  182. <script type="text/javascript" src="../../../js/httpRequest_sub.js"></script>
  183. <script type="text/javascript" src="../../../js/vue_plugins_sub.js"></script>
  184. <script type="text/javascript">
  185. function closeWin() {
  186. api.closeWin({
  187. });
  188. }
  189. apiready = function() {
  190. api.parseTapmode();
  191. var header = $api.byId('aui-header');
  192. $api.fixStatusBar(header);
  193. var headerPos = $api.offset(header);
  194. var body_h = $api.offset($api.dom('body')).h;
  195. document.getElementById("scrollcontaier").style.height = $api.offset($api.dom('body')).h - headerPos.h + "px";
  196. var signId = api.pageParam.signId;
  197. var tknum = api.pageParam.tknum;
  198. var vbelnList = api.pageParam.vbelnList;
  199. var kunnrWeName = api.pageParam.kunnrWeName;
  200. var grossWeight = api.pageParam.grossWeight;
  201. var lifmg = api.pageParam.lifmg;
  202. new Vue({
  203. el: '#app',
  204. data: {
  205. token: $api.getStorage('loginToken'),
  206. signId: signId,
  207. tknum: tknum,
  208. vbelnList: vbelnList,
  209. kunnrWeName: kunnrWeName,
  210. grossWeight: grossWeight,
  211. lifmg: lifmg,
  212. dataDetails: {},
  213. pdfReader: "",
  214. imageList: [],
  215. message: "",
  216. },
  217. filters:{
  218. },
  219. mounted: function() {
  220. //月度pdf文件
  221. this.pdfReader = api.require('pdfReader');
  222. this.handleGetData();
  223. },
  224. methods:{
  225. handleScale: function(){
  226. var _this = this;
  227. this.pdfReader.open({
  228. path: _this.dataDetails.signUrl,//"https://srmapi.sailuntire.com/Files/20201221/20200000000186-3000100-8379-Out.pdf",
  229. hidden: {
  230. print: true,
  231. export: true,
  232. bookmark: true,
  233. email: true
  234. },
  235. backBtn: {
  236. size: { //JSON对象;左上角按钮的大小配置
  237. w: 20, //数字类型;左上角按钮的宽;默认:60
  238. h: 20 //数字类型;左上角按钮的高;默认:40
  239. },
  240. title: { //JSON对象;按钮标题配置
  241. text: "返回", //字符串类型;标题文本;默认:‘’
  242. },
  243. corner: 5 //数字类型;左上角按钮圆角大小;默认值:5.0
  244. }
  245. });
  246. },
  247. handleGetData: function(){
  248. var data = {
  249. //"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyZWFsTmFtZSI6IuWRqOi-iSIsImNyZWF0ZXRpbWUiOiIyMDIwLTEyLTE5IDIxOjI5OjQ2IiwibG9naW5UeXBlIjoiOSIsInRlbCI6IjE4NzY1OTI1MzM0IiwiaWQiOiJhcHBfODMifQ.NZdADXneFoHNCIbcNZS_MwUPfM_NpbYS_8hXO8eDs_Q",//--app登录信息
  250. "signId": this.signId,//"1",//,//
  251. "token": this.token,
  252. url : 'json',
  253. type : 'body'
  254. }, _this = this;
  255. _this.$post("getSignMsg", data, function(ret) {
  256. if(ret.code==1||ret.code=="1"){
  257. _this.dataDetails = ret.data;
  258. // pdf展示成图片
  259. var canvasWidth=_this.$refs.canvas.offsetWidth,canvasHeight=_this.$refs.canvas.offsetHeight;
  260. // $canvasPdf.loadPDF("https://srmapi.sailuntire.com/Files/20201221/20200000000186-3000100-8379-Out.pdf",canvasWidth,canvasHeight);
  261. if (_this.dataDetails.signUrl) {
  262. $canvasPdf.loadPDF(_this.dataDetails.signUrl,canvasWidth,canvasHeight);
  263. }
  264. }
  265. })
  266. },
  267. handleGo: function(){
  268. var params = {
  269. tknum: this.tknum,
  270. vbelnList: this.vbelnList,
  271. kunnrWeName: this.kunnrWeName,
  272. grossWeight: this.grossWeight,
  273. lifmg: this.lifmg
  274. };
  275. this.goWin("tmsdetails","./tmsDetails.html",params);
  276. },
  277. handleGoInstructions: function(){
  278. var _this = this;
  279. // this.goWin("tmsinstructions","./tmsInstructions.html");//操作视频
  280. this.pdfReader.open({
  281. path: "https://b2bcnfile.sailuntire.com/upload/TMS/operationManual/TMS销售出库单签收的操作手册.pdf",//"https://srmapi.sailuntire.com/Files/20201221/20200000000186-3000100-8379-Out.pdf",
  282. hidden: {
  283. print: true,
  284. export: true,
  285. bookmark: true,
  286. email: true
  287. },
  288. backBtn: {
  289. size: { //JSON对象;左上角按钮的大小配置
  290. w: 20, //数字类型;左上角按钮的宽;默认:60
  291. h: 20 //数字类型;左上角按钮的高;默认:40
  292. },
  293. title: { //JSON对象;按钮标题配置
  294. text: "返回", //字符串类型;标题文本;默认:‘’
  295. },
  296. corner: 5 //数字类型;左上角按钮圆角大小;默认值:5.0
  297. }
  298. });
  299. },
  300. }
  301. })
  302. };
  303. </script>
  304. </html>