detail.blade.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. @extends('layouts.base')
  2. @section('title','电子面单编辑')
  3. @section('content')
  4. <link rel="stylesheet" type="text/css"
  5. href="{{resource_get('plugins/electronics-bill/src/common/static/css/electronics-bill.css', 1)}}"/>
  6. <div id="app">
  7. <div class="electronics-div" style="min-height: 1500px">
  8. <span>电子面单编辑</span>
  9. <div id="install">
  10. <span><B>快递公司支持情况:</B>顺丰速运、宅急送、圆通速递、百世快递、中通快递、韵达快递、申通快递、德邦快递、优速快递、京东快递、信丰物流、安能快递、国通快递、天天快递、跨越速运、邮政快递包裹、中铁快运、邮政国内标块、远程快运、全一快递、速尔快递、品骏快递
  11. 快运公司支持情况: 德邦快运、安能快运、京东快运、龙邦快运</span>
  12. <span><B>快运公司支持情况:</B> 德邦快运、安能快运、京东快运、龙邦快运</span>
  13. <span><B>无需申请直接打单:</B>顺丰(SF)、宅急送(ZJS)、中铁快运(ZTKY)、全一快递(UAPEX)</span>
  14. <span><B>月结账号直接打单:</B>德邦(DBL)</span>
  15. <span><B>快递鸟后台申请账号:</B>优速(UC)、韵达(YD)、圆通(YTO)、远程(YCWL)、安能(ANE)、百世快递(HTKY)</span>
  16. <span><B>线下(网点)申请账号</B>EMS(广东省内发件不需要,广东省外EMS发货,需联系当地EMS网点,在85系统里面申请大客户和APP_SECRET)、中通(ZTO)、申通(STO)、德邦(DBL)、京东(JD)、信丰(XFEX)、国通(GTO)、天天快递(HHTT)、速尔快递(SURE)、品骏快递(PJ)</span>
  17. <span><B>快运电子面单:</B>京东快运(JDKY),安能快运(ANEKEY),德邦快运(DBLKY),龙邦快运(LB)</span>
  18. <span><B>顺丰、宅急送等直营型的可以直接使用电子面单的账户请求电子面单接口。中通,圆通,申通,百世快递,韵达,优速等加盟型的需要客户去当地物流快递网点申请电子面单账户,将相应的参数传入电子面单接口进行电子面单请求。</B></span>
  19. <span><B>将订单号、收寄件地址等信息通过电子面单API传递给快递公司,快递公司会通过接口返回物流单号给到用户端,打印在面单上,就是面单上的运单号。加盟快递公司需要预先充值单号,</B></span>
  20. </div>
  21. <div class="electronics-table">
  22. <el-form label-width="180px" style="width: 80%">
  23. <el-form-item label="电子面单名称" required>
  24. <el-input v-model="form.panel_name"></el-input>
  25. </el-form-item>
  26. <el-form-item label="电子面单客户账号">
  27. <el-input v-model="form.panel_no"></el-input>
  28. </el-form-item>
  29. <el-form-item label="电子面单密码">
  30. <el-input v-model="form.panel_pass"></el-input>
  31. </el-form-item>
  32. <el-form-item label="快递类型" required>
  33. <el-select v-model="form.exhelper_style" clearable filterable placeholder="请选择快递类型">
  34. {{-- <el-option label="请选择" :value="0" v-if="form.exhelper_style == false"></el-option>--}}
  35. <el-option v-for="(item,index) in list" :label="item.name" :value="item.code" :key="index"></el-option>
  36. </el-select>
  37. </el-form-item>
  38. <el-form-item label="快递/快运业务类型" required>
  39. <el-select v-model="form.exhelper_type" clearable placeholder="请选择快递/快运业务类型">
  40. {{-- <el-option label="请选择" :value="0" v-if="form.exhelper_type == false"></el-option>--}}
  41. <el-option v-for="(item,index) in business_type" :label="item.name" :value="item.value" :key="index"></el-option>
  42. </el-select>
  43. </el-form-item>
  44. <el-form-item label="模板样式">
  45. <el-select v-model="form.panel_style" clearable placeholder="请选择模板样式">
  46. <el-option label="默认" :value="0" v-if="template_style == false"></el-option>
  47. <el-option v-for="(item,index) in template_style" :label="item.name" :value="item.value" :key="index">
  48. <span style="float: left;min-width: 100px;margin-right: 20px">[[item.name]]</span>
  49. <span v-if="item.des" style="float: left;color: #8492a6;">[[item.des]]</span>
  50. <span v-else style="float: left;color: #8492a6;">没有描述</span>
  51. </el-option>
  52. </el-select>
  53. </el-form-item>
  54. <el-form-item label="月结编码">
  55. <el-input v-model="form.panel_sign"></el-input>
  56. </el-form-item>
  57. <el-form-item label="收件网点标识">
  58. <el-input v-model="form.panel_code"></el-input>
  59. </el-form-item>
  60. <el-form-item label="是否为默认模板">
  61. <el-switch v-model="form.is_default" :active-value="1" :inactive-value="0"></el-switch>
  62. </el-form-item>
  63. <el-form-item label="是否通知快递员上门揽件">
  64. <el-switch v-model="form.is_self" :active-value="1" :inactive-value="0"></el-switch>
  65. </el-form-item>
  66. <el-form-item label="通知快递员上门揽件时间" v-if="form.is_self">
  67. <template>
  68. <el-select v-model="form.day" clearable placeholder="请选择时间">
  69. <el-option
  70. v-for="item in day_list"
  71. :key="item.value"
  72. :label="item.name"
  73. :value="item.value">
  74. </el-option>
  75. </el-select>
  76. <el-time-select
  77. placeholder="起始时间"
  78. v-model="form.begin_time"
  79. :picker-options="{
  80. start: '08:00',
  81. step: '01:00',
  82. end: '17:00',
  83. format: 'HH:mm:ss'
  84. }">
  85. </el-time-select>
  86. <el-time-select
  87. placeholder="结束时间"
  88. v-model="form.end_time"
  89. :picker-options="{
  90. start: '08:00',
  91. step: '01:00',
  92. end: '17:00',
  93. format: 'HH:mm:ss',
  94. minTime: form.begin_time
  95. }">
  96. </el-time-select>
  97. <br>
  98. <span style="color: red;">按照打印电子面单当天时间计算,不选默认今天</span>
  99. </template>
  100. </el-form-item>
  101. </el-form>
  102. </div>
  103. </div>
  104. <div class="confirm-btn">
  105. <el-button type="primary" @click="submit()">提交</el-button>
  106. <el-button type="primary" @click="goBack()">返回</el-button>
  107. </div>
  108. </div>
  109. <script>
  110. var detail_url = '{!! yzWebFullUrl('plugin.electronics-bill.admin.bill-manage.detail') !!}';
  111. var submit_url = '{!! yzWebFullUrl('plugin.electronics-bill.admin.bill-manage.save') !!}';
  112. let id = '{{$id}}';
  113. var app = new Vue({
  114. el: '#app',
  115. delimiters: ['[[', ']]'],
  116. data() {
  117. return {
  118. form:{
  119. panel_name:'',
  120. panel_no:'',
  121. panel_pass:'',
  122. panel_sign:'',
  123. panel_code:'',
  124. panel_style:'',
  125. exhelper_style:'',
  126. is_self:0,
  127. is_default:0,
  128. day:'',
  129. exhelper_type:'',
  130. begin_time:'',
  131. end_time:'',
  132. },
  133. list:[],
  134. business_type:[],
  135. template_style:[],
  136. day_list:[
  137. {
  138. name:'今天',
  139. value:1
  140. },
  141. {
  142. name:'明天',
  143. value:2
  144. },
  145. {
  146. name:'后天',
  147. value:3
  148. }
  149. ]
  150. }
  151. },
  152. watch:{
  153. 'form.exhelper_style':function(code){
  154. let that = this;
  155. that.list.forEach(function(item,index){
  156. if(code == item.code){
  157. that.business_type = item.business_type;
  158. that.template_style = item.template_style;
  159. // that.form.exhelper_type = '';
  160. // that.form.panel_style = '';
  161. return;
  162. }
  163. });
  164. }
  165. },
  166. created() {
  167. },
  168. mounted() {
  169. this.getData();
  170. },
  171. methods: {
  172. getData(){
  173. let that = this;
  174. let loading = this.$loading({
  175. target: document.querySelector(".content"),
  176. background: 'rgba(0, 0, 0, 0)'
  177. });
  178. that.$http.get((detail_url += '&id=' + id)).then(function(res){
  179. if(res.data.result == 1){
  180. if(res.data.data.list){
  181. that.list = res.data.data.list;
  182. }
  183. if(res.data.data.detail != false){
  184. that.form = res.data.data.detail;
  185. }
  186. }else{
  187. that.$message({
  188. message: res.data.msg,
  189. type: 'error'
  190. });
  191. }
  192. loading.close();
  193. },function(err){
  194. this.$message({message: err.data.msg, type: 'error'});
  195. loading.close();
  196. })
  197. },
  198. submit(){
  199. let that = this;
  200. let loading = this.$loading({
  201. target: document.querySelector(".content"),
  202. background: 'rgba(0, 0, 0, 0)'
  203. });
  204. that.$http.post(submit_url,{
  205. 'form':that.form
  206. }).then(function(res){
  207. if (res.data.result == 1) {
  208. that.$message({message: res.data.msg, type: 'success'});
  209. return this.goBack();
  210. } else {
  211. let tips = '';
  212. if (res.data.msg instanceof Object) {
  213. for (let key in res.data.msg) {
  214. tips += res.data.msg[key][0];
  215. }
  216. }
  217. that.$message({
  218. message: tips ? tips : res.data.msg,
  219. type: 'error'
  220. });
  221. }
  222. loading.close();
  223. },function (err){
  224. that.$message({
  225. message: err.data.msg,
  226. type: 'error'
  227. });
  228. loading.close();
  229. })
  230. },
  231. goBack(){
  232. history.go(-1);
  233. }
  234. },
  235. });
  236. </script>
  237. @endsection