yzSupplyOrderSearch.blade.php 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346
  1. <template id="yz_supply_order_search">
  2. <div>
  3. <el-form :inline="true" :model="component_form" class="demo-form-inline">
  4. <el-form-item v-if="extra_param.package_deliver" label="">
  5. <el-input v-model="component_form.package_deliver_id" placeholder="自提点ID"></el-input>
  6. </el-form-item>
  7. <el-form-item v-if="extra_param.package_deliver" label="">
  8. <el-input v-model="component_form.package_deliver_name" placeholder="自提点名称"></el-input>
  9. </el-form-item>
  10. <el-form-item label="">
  11. <el-input v-model="component_form.member_id" placeholder="购买会员ID"></el-input>
  12. </el-form-item>
  13. <el-form-item label="">
  14. <el-input v-model="component_form.member_info" placeholder="购买昵称/姓名/手机号"></el-input>
  15. </el-form-item>
  16. <el-form-item label="">
  17. <el-input v-model="component_form.address_name" placeholder="收货人姓名"></el-input>
  18. </el-form-item>
  19. <el-form-item label="">
  20. <el-input v-model="component_form.address_mobile" placeholder="收货人手机号"></el-input>
  21. </el-form-item>
  22. <el-form-item label="">
  23. <el-input v-model="component_form.address" placeholder="收货地址"></el-input>
  24. </el-form-item>
  25. <el-form-item label="">
  26. <el-input v-model="component_form.express" placeholder="快递单号"></el-input>
  27. </el-form-item>
  28. <el-form-item label="">
  29. <el-input v-model="component_form.goods_id" placeholder="商品ID"></el-input>
  30. </el-form-item>
  31. <el-form-item label="">
  32. <el-input v-model="component_form.goods_title" placeholder="商品名称"></el-input>
  33. </el-form-item>
  34. <el-form-item label="">
  35. <el-input v-model="component_form.order_sn" placeholder="订单编号"></el-input>
  36. </el-form-item>
  37. <el-form-item label="">
  38. <el-input v-model="component_form.parent_id" placeholder="上级ID"></el-input>
  39. </el-form-item>
  40. <el-form-item label="">
  41. <el-input v-model="component_form.pay_sn" placeholder="支付单号"></el-input>
  42. </el-form-item>
  43. @if (request()->input('route') == 'order.order-list.index')
  44. <el-form-item label="">
  45. <el-select v-model="component_form.plugin_id" clearable placeholder="订单类型" style="width:150px">
  46. @foreach((new \app\backend\modules\order\services\OrderViewService)->getOrderType() as $order_type)
  47. @if($order_type['name'])
  48. <el-option label="{{$order_type['name']}}" value="{{$order_type['plugin_id']}}"></el-option>
  49. @endif
  50. @endforeach
  51. </el-select>
  52. </el-form-item>
  53. @endif
  54. <el-form-item label="">
  55. <el-select v-model="component_form.sort" clearable placeholder="排序" style="width:150px">
  56. <el-option label="会员排序" value="1"></el-option>
  57. </el-select>
  58. </el-form-item>
  59. <el-form-item label="">
  60. <el-select v-model="component_form.first_order" clearable placeholder="是否搜索首单" style="width:150px">
  61. <el-option label="搜索首单" value="1"></el-option>
  62. </el-select>
  63. </el-form-item>
  64. <el-form-item label="">
  65. <el-select v-model="component_form.order_status" multiple clearable placeholder="订单状态" style="width:150px">
  66. <el-option label="待支付" value="waitPay"></el-option>
  67. <el-option label="待发货" value="1"></el-option>
  68. <el-option label="待收货" value="2"></el-option>
  69. <el-option label="已完成" value="3"></el-option>
  70. <el-option label="已关闭" value="-1"></el-option>
  71. </el-select>
  72. </el-form-item>
  73. <el-form-item label="">
  74. <el-select v-model="component_form.yz_supply_refund" clearable placeholder="订单售后状态" style="width:150px">
  75. <el-option label="全部" value=""></el-option>
  76. <el-option label="退换货" value="refund"></el-option>
  77. <el-option label="已退款" value="refunded"></el-option>
  78. </el-select>
  79. </el-form-item>
  80. <el-form-item label="">
  81. <el-select v-model="component_form.yz_supply_status" clearable placeholder="订单提交状态" style="width:150px">
  82. <el-option label="全部" value="0"></el-option>
  83. <el-option label="待提交" value="1"></el-option>
  84. </el-select>
  85. </el-form-item>
  86. <el-form-item label="">
  87. <el-select v-model="component_form.pay_type" clearable placeholder="支付方式" style="width:150px">
  88. @foreach(\app\backend\modules\order\services\OrderViewService::searchablePayType() as $pay_type)
  89. <el-option label="{{$pay_type['name']}}" value="{{$pay_type['value']}}"></el-option>
  90. @endforeach
  91. </el-select>
  92. </el-form-item>
  93. <el-form-item label="">
  94. <el-select v-model="component_form.pay_type_group" clearable placeholder="支付方式组" style="width:150px">
  95. @foreach(\app\backend\modules\order\services\OrderViewService::payTypeGroup() as $pay_type_group)
  96. <el-option label="{{$pay_type_group['name']}}" value="{{$pay_type_group['id']}}"></el-option>
  97. @endforeach
  98. <el-option label="微信支付" value="1"></el-option>
  99. <el-option label="支付宝支付" value="2"></el-option>
  100. <el-option label="余额支付" value="3"></el-option>
  101. <el-option label="后台付款" value="4"></el-option>
  102. </el-select>
  103. </el-form-item>
  104. <el-form-item label="">
  105. <el-select v-model="component_form.dispatch_type_id" clearable placeholder="配送方式" style="width:150px">
  106. <el-option v-for="(v,k) in this.dispatch_type_list" :label="v.name" :value="v.id" :key="v.id"></el-option>
  107. </el-select>
  108. </el-form-item>
  109. @if(app('plugins')->isEnabled('marketing-qr'))
  110. <el-form-item label="">
  111. <el-input v-model="component_form.marketing_qr_label" placeholder="营销码标签"></el-input>
  112. </el-form-item>
  113. @endif
  114. @if(app('plugins')->isEnabled('package-delivery'))
  115. <el-form-item label="">
  116. <el-input v-model="component_form.package_delivery_clerk_kwd" placeholder="平台核销员昵称/姓名/手机号"></el-input>
  117. </el-form-item>
  118. <el-form-item label="">
  119. <el-input v-model="component_form.package_delivery_clerk_uid" placeholder="平台核销员会员ID"></el-input>
  120. </el-form-item>
  121. @endif
  122. @if(app('plugins')->isEnabled('shop-clerk'))
  123. <el-form-item label="">
  124. <el-input v-model="component_form.shop_clerk_kwd" placeholder="pos收银员昵称/姓名/手机号"></el-input>
  125. </el-form-item>
  126. <el-form-item label="">
  127. <el-input v-model="component_form.shop_clerk_uid" placeholder="pos收银员会员ID"></el-input>
  128. </el-form-item>
  129. @endif
  130. <el-form-item label="">
  131. <el-select v-model="component_form.time_field" clearable placeholder="不搜索时间" style="width:150px">
  132. <el-option label="下单时间" value="create_time"></el-option>
  133. <el-option label="支付时间" value="pay_time"></el-option>
  134. <el-option label="发货时间" value="send_time"></el-option>
  135. <el-option label="完成时间" value="finish_time"></el-option>
  136. <el-option label="关闭时间" value="cancel_time"></el-option>
  137. <el-option label="退款申请时间" value="refund_create_time"></el-option>
  138. <el-option label="退款完成时间" value="refund_finish_time"></el-option>
  139. </el-select>
  140. </el-form-item>
  141. <el-form-item label="">
  142. <el-date-picker
  143. v-model="times"
  144. type="datetimerange"
  145. value-format="yyyy-MM-dd HH:mm:ss"
  146. range-separator="至"
  147. start-placeholder="开始日期"
  148. end-placeholder="结束日期"
  149. style="margin-left:5px;"
  150. align="right">
  151. </el-date-picker>
  152. </el-form-item>
  153. @if(app('plugins')->isEnabled('electronics-bill'))
  154. <el-form-item label="">
  155. <el-select v-model="component_form.bill_print" clearable placeholder="电子面单打印状态">
  156. <el-option label="已打印" value="print"></el-option>
  157. <el-option label="未打印" value="not_print"></el-option>
  158. </el-select>
  159. </el-form-item>
  160. @endif
  161. @if(app('plugins')->isEnabled('invoice') && \Setting::get('plugin.invoice.is_open')==1)
  162. <el-form-item label="">
  163. <el-select v-model="component_form.is_invoice" clearable placeholder="是否需要开票">
  164. <el-option label="是" value="1"></el-option>
  165. <el-option label="否" value="0"></el-option>
  166. </el-select>
  167. </el-form-item>
  168. @endif
  169. <el-form-item label="">
  170. <el-select v-model="component_form.source_id" clearable placeholder="请选择商品来源" v-if="is_source_open==1">
  171. <el-option v-for="(v,k) in source_list" :label="v.source_name" :value="v.id" :key="v.id"></el-option>
  172. </el-select>
  173. </el-form-item>
  174. <el-form-item label="">
  175. <el-button type="primary" @click="childSearch()">搜索</el-button>
  176. <el-button @click="agentExport(1,2)">导出</el-button>
  177. </el-form-item>
  178. </el-form>
  179. </div>
  180. </template>
  181. <script>
  182. Vue.component('yzSupplyOrderSearch', {
  183. style:``,
  184. name:"yzSupplyOrderSearch",
  185. template: `#yz_supply_order_search`,
  186. props: {
  187. viewReturn:{
  188. type:Object|String,
  189. default:{},
  190. },
  191. searchForm:{
  192. type:Object|String,
  193. default:{},
  194. },
  195. otherData:{
  196. type:Object|String,
  197. default:{},
  198. },
  199. },
  200. delimiters: ['[[', ']]'],
  201. data() {
  202. return {
  203. component_form:{},
  204. extra_param:{},
  205. dispatch_type_list:[],//配送方式
  206. times:[], //时间搜索
  207. is_source_open: 0,
  208. source_list: [],
  209. }
  210. },
  211. watch: {
  212. // component_form:{
  213. // immediate:true,
  214. // deep:true,
  215. // handler(val) {
  216. // console.log(val);
  217. // this.syncSearchForm();
  218. // },
  219. // },
  220. times:{
  221. handler(val) {
  222. this.updateSearchTime();
  223. },
  224. },
  225. },
  226. created() {},
  227. mounted: function () {
  228. this.__childInitial();
  229. },
  230. methods: {
  231. //初始化页面数据,请求链接
  232. __childInitial() {
  233. if (this.viewReturn.extraParam) {
  234. this.extra_param = this.viewReturn.extraParam;
  235. }
  236. this.is_source_open = this.viewReturn.is_source_open;
  237. this.source_list = this.viewReturn.source_list;
  238. //为了能在子组件里监听搜索参数值的变动,把参数赋值给当前组件定义的参数
  239. this.component_form = this.searchForm;
  240. this.$set(this.component_form,'order_sn','{!! $_REQUEST['order_sn']?:'' !!}');
  241. if (this.getParam('o_status')) {
  242. this.$set(this.component_form, 'order_status', [this.getParam('o_status')]);
  243. }
  244. this.$set(this.component_form,'member_id',this.getParam('member_id'));
  245. this.$set(this.component_form,'source_id',this.getParam('source_id'));
  246. this.$set(this.component_form,'time_field',this.getParam('o_time'));
  247. this.times = [
  248. this.formatTime(new Date(new Date(new Date().toLocaleDateString()).getTime())),
  249. this.formatTime(new Date(new Date(new Date().toLocaleDateString()).getTime() + (24 * 60 * 60 * 1000 - 1)))
  250. ];
  251. this.$set(this.component_form,'start_time',this.times[0]);
  252. this.$set(this.component_form,'end_time',this.times[1]);
  253. this.dispatchTypeList();
  254. },
  255. //更新搜索时间到搜索参数里
  256. updateSearchTime () {
  257. if(this.times && this.times.length>0) {
  258. this.$set(this.component_form,'start_time',this.times[0]);
  259. this.$set(this.component_form,'end_time',this.times[1]);
  260. }
  261. },
  262. //子组件搜索传参到父级
  263. syncSearchForm() {
  264. let mainData = this.component_form;
  265. let other = {};
  266. this.$emit('sync-form', mainData, other);
  267. },
  268. //订单搜索搜索
  269. childSearch() {
  270. this.$emit('search');
  271. },
  272. //订单导出导出
  273. agentExport(export_type,template,exportUrl = '') {
  274. this.$emit('export', export_type,template,exportUrl);
  275. },
  276. //配送方式
  277. dispatchTypeList(){
  278. this.$http.post('{!! yzWebFullUrl('dispatch.dispatch-type.get-data') !!}', {}).then(response => {
  279. if (response.data.result) {
  280. this.dispatch_type_list = response.data.data;
  281. } else {
  282. this.$message({message: response.data.msg, type: 'error'});
  283. }
  284. }, response => {
  285. this.$message({message: response.data.msg, type: 'error'});
  286. })
  287. },
  288. //时间转化
  289. formatTime(date) {
  290. let y = date.getFullYear()
  291. let m = date.getMonth() + 1
  292. m = m < 10 ? '0' + m : m
  293. let d = date.getDate()
  294. d = d < 10 ? '0' + d : d
  295. let h = date.getHours()
  296. h = h < 10 ? '0' + h : h
  297. let minute = date.getMinutes()
  298. minute = minute < 10 ? '0' + minute : minute
  299. let second = date.getSeconds()
  300. second = second < 10 ? '0' + second : second
  301. return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second
  302. },
  303. // 字符转义
  304. escapeHTML(a) {
  305. a = "" + a;
  306. return a.replace(/&amp;/g, "&").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, "\"").replace(/&apos;/g, "'");;
  307. },
  308. getParam(name) {
  309. let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  310. let r = window.location.search.substr(1).match(reg);
  311. if (r != null) return unescape(r[2]);
  312. return null;
  313. },
  314. },
  315. });
  316. </script>