| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338 |
- <template id="shop_order_search">
- <div>
- <el-form :inline="true" :model="component_form" class="demo-form-inline">
- <el-form-item v-if="extra_param.package_deliver" label="">
- <el-input v-model="component_form.package_deliver_id" placeholder="自提点ID"></el-input>
- </el-form-item>
- <el-form-item v-if="extra_param.package_deliver" label="">
- <el-input v-model="component_form.package_deliver_name" placeholder="自提点名称"></el-input>
- </el-form-item>
- <el-form-item label="">
- <el-input v-model="component_form.member_id" placeholder="购买会员ID"></el-input>
- </el-form-item>
- <el-form-item label="">
- <el-input v-model="component_form.member_info" placeholder="购买昵称/姓名/手机号"></el-input>
- </el-form-item>
- <el-form-item label="">
- <el-input v-model="component_form.address_name" placeholder="收货人姓名"></el-input>
- </el-form-item>
- <el-form-item label="">
- <el-input v-model="component_form.address_mobile" placeholder="收货人手机号"></el-input>
- </el-form-item>
- <el-form-item label="">
- <el-input v-model="component_form.address" placeholder="收货地址"></el-input>
- </el-form-item>
- <el-form-item label="">
- <el-input v-model="component_form.express" placeholder="快递单号"></el-input>
- </el-form-item>
- <el-form-item label="">
- <el-input v-model="component_form.goods_id" placeholder="商品ID"></el-input>
- </el-form-item>
- <el-form-item label="">
- <el-input v-model="component_form.goods_title" placeholder="商品名称"></el-input>
- </el-form-item>
- <el-form-item label="">
- <el-input v-model="component_form.order_sn" placeholder="订单编号"></el-input>
- </el-form-item>
- <el-form-item label="">
- <el-input v-model="component_form.parent_id" placeholder="上级ID"></el-input>
- </el-form-item>
- <el-form-item label="">
- <el-input v-model="component_form.pay_sn" placeholder="支付单号"></el-input>
- </el-form-item>
- @if (request()->input('route') == 'order.order-list.index')
- <el-form-item label="">
- <el-select v-model="component_form.plugin_id" clearable placeholder="订单类型" style="width:150px">
- @foreach((new \app\backend\modules\order\services\OrderViewService)->getOrderType() as $order_type)
- @if($order_type['name'])
- <el-option label="{{$order_type['name']}}" value="{{$order_type['plugin_id']}}"></el-option>
- @endif
- @endforeach
- </el-select>
- </el-form-item>
- @endif
- {{--供应商订单列表才显示--}}
- <el-form-item v-if="viewReturn.all_supplier">
- <el-select v-model="component_form.supplier" clearable placeholder="选择供应商账号" style="width:150px">
- <el-option v-for="(supplier,supplierkey) in viewReturn.all_supplier" :key="supplierkey" :value="supplier.id">
- [[supplier.username ]]【[[supplier.id]]】
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="">
- <el-select v-model="component_form.sort" clearable placeholder="排序" style="width:150px">
- <el-option label="会员排序" value="1"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="">
- <el-select v-model="component_form.first_order" clearable placeholder="是否搜索首单" style="width:150px">
- <el-option label="搜索首单" value="1"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="">
- <el-select v-model="component_form.order_status" multiple clearable collapse-tags placeholder="订单状态" style="width:150px">
- <el-option label="待支付" value="waitPay"></el-option>
- <el-option label="待发货" value="1"></el-option>
- <el-option label="待收货" value="2"></el-option>
- <el-option label="已完成" value="3"></el-option>
- <el-option label="已关闭" value="-1"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="">
- <el-select v-model="component_form.pay_type" clearable placeholder="支付方式" style="width:150px">
- @foreach(\app\backend\modules\order\services\OrderViewService::searchablePayType() as $pay_type)
- <el-option label="{{$pay_type['name']}}" value="{{$pay_type['value']}}"></el-option>
- @endforeach
- </el-select>
- </el-form-item>
- <el-form-item label="">
- <el-select v-model="component_form.pay_type_group" clearable placeholder="支付方式组" style="width:150px">
- @foreach(\app\backend\modules\order\services\OrderViewService::payTypeGroup() as $pay_type_group)
- <el-option label="{{$pay_type_group['name']}}" value="{{$pay_type_group['id']}}"></el-option>
- @endforeach
- </el-select>
- </el-form-item>
- <el-form-item label="">
- <el-select v-model="component_form.dispatch_type_id" clearable placeholder="配送方式" style="width:150px">
- <el-option v-for="(v,k) in this.dispatch_type_list" :label="v.name" :value="v.id" :key="v.id"></el-option>
- </el-select>
- </el-form-item>
- @if(app('plugins')->isEnabled('marketing-qr'))
- <el-form-item label="">
- <el-input v-model="component_form.marketing_qr_label" placeholder="营销码标签"></el-input>
- </el-form-item>
- @endif
- @if(app('plugins')->isEnabled('package-delivery'))
- <el-form-item label="">
- <el-input v-model="component_form.package_delivery_clerk_kwd" placeholder="平台核销员昵称/姓名/手机号"></el-input>
- </el-form-item>
- <el-form-item label="">
- <el-input v-model="component_form.package_delivery_clerk_uid" placeholder="平台核销员会员ID"></el-input>
- </el-form-item>
- @endif
- @if(app('plugins')->isEnabled('shop-clerk'))
- <el-form-item label="">
- <el-input v-model="component_form.shop_clerk_kwd" placeholder="pos收银员昵称/姓名/手机号"></el-input>
- </el-form-item>
- <el-form-item label="">
- <el-input v-model="component_form.shop_clerk_uid" placeholder="pos收银员会员ID"></el-input>
- </el-form-item>
- @endif
- <el-form-item label="">
- <el-select v-model="component_form.time_field" clearable placeholder="不搜索时间" style="width:150px">
- <el-option label="下单时间" value="create_time"></el-option>
- <el-option label="支付时间" value="pay_time"></el-option>
- <el-option label="发货时间" value="send_time"></el-option>
- <el-option label="完成时间" value="finish_time"></el-option>
- <el-option label="关闭时间" value="cancel_time"></el-option>
- <el-option label="退款申请时间" value="refund_create_time"></el-option>
- <el-option label="退款完成时间" value="refund_finish_time"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="">
- <el-date-picker
- v-model="times"
- type="datetimerange"
- value-format="yyyy-MM-dd HH:mm:ss"
- range-separator="至"
- start-placeholder="开始日期"
- end-placeholder="结束日期"
- style="margin-left:5px;"
- align="right">
- </el-date-picker>
- </el-form-item>
- @if(app('plugins')->isEnabled('electronics-bill'))
- <el-form-item label="">
- <el-select v-model="component_form.bill_print" clearable placeholder="电子面单打印状态">
- <el-option label="已打印" value="print"></el-option>
- <el-option label="未打印" value="not_print"></el-option>
- </el-select>
- </el-form-item>
- @endif
- @if(app('plugins')->isEnabled('invoice') && \Setting::get('plugin.invoice.is_open')==1)
- <el-form-item label="">
- <el-select v-model="component_form.is_invoice" clearable placeholder="是否需要开票">
- <el-option label="是" value="1"></el-option>
- <el-option label="否" value="0"></el-option>
- </el-select>
- </el-form-item>
- @endif
- <el-form-item label="">
- <el-select v-model="component_form.source_id" clearable placeholder="请选择商品来源" v-if="is_source_open==1">
- <el-option v-for="(v,k) in source_list" :label="v.source_name" :value="v.id" :key="v.id"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="">
- <el-button type="primary" @click="childSearch()">搜索</el-button>
- <el-button @click="agentExport(1,1)">导出(旧)</el-button>
- <el-button @click="agentExport(1,2)">导出(新)</el-button>
- <el-button v-if="extra_param.team_dividend" @click="agentExport(2)">导出直推(经销商)</el-button>
- </el-form-item>
- </el-form>
- </div>
- </template>
- <script>
- Vue.component('shopOrderSearch', {
- style:``,
- name:"shopOrderSearch",
- template: `#shop_order_search`,
- props: {
- viewReturn:{
- type:Object|String,
- default:{},
- },
- searchForm:{
- type:Object|String,
- default:{},
- },
- otherData:{
- type:Object|String,
- default:{},
- },
- },
- delimiters: ['[[', ']]'],
- data() {
- return {
- component_form:{},
- extra_param:{},
- dispatch_type_list:[],//配送方式
- times:[], //时间搜索
- is_source_open: 0,
- source_list: [],
- }
- },
- watch: {
- // component_form:{
- // immediate:true,
- // deep:true,
- // handler(val) {
- // console.log(val);
- // this.syncSearchForm();
- // },
- // },
- times:{
- handler(val) {
- this.updateSearchTime();
- },
- },
- },
- created() {},
- mounted: function () {
- this.__childInitial();
- },
- methods: {
- //初始化页面数据,请求链接
- __childInitial() {
- if (this.viewReturn.extraParam) {
- this.extra_param = this.viewReturn.extraParam;
- }
- this.is_source_open = this.viewReturn.is_source_open;
- this.source_list = this.viewReturn.source_list;
- //为了能在子组件里监听搜索参数值的变动,把参数赋值给当前组件定义的参数
- this.component_form = this.searchForm;
- this.$set(this.component_form,'order_sn','{!! $_REQUEST['order_sn']?:'' !!}');
- if (this.getParam('o_status')) {
- this.$set(this.component_form, 'order_status', [this.getParam('o_status')]);
- }
- this.$set(this.component_form,'member_id',this.getParam('member_id'));
- this.$set(this.component_form,'time_field',this.getParam('o_time'));
- this.times = [
- this.formatTime(new Date(new Date(new Date().toLocaleDateString()).getTime())),
- this.formatTime(new Date(new Date(new Date().toLocaleDateString()).getTime() + (24 * 60 * 60 * 1000 - 1)))
- ];
- this.$set(this.component_form,'start_time',this.times[0]);
- this.$set(this.component_form,'end_time',this.times[1]);
- this.dispatchTypeList();
- },
- //更新搜索时间到搜索参数里
- updateSearchTime () {
- if(this.times && this.times.length>0) {
- this.$set(this.component_form,'start_time',this.times[0]);
- this.$set(this.component_form,'end_time',this.times[1]);
- }
- },
- //子组件搜索传参到父级
- syncSearchForm() {
- let mainData = this.component_form;
- let other = {};
- this.$emit('sync-form', mainData, other);
- },
- //订单搜索搜索
- childSearch() {
- this.$emit('search');
- },
- //订单导出导出
- agentExport(export_type,template,exportUrl = '') {
- this.$emit('export', export_type,template,exportUrl);
- },
- //配送方式
- dispatchTypeList(){
- this.$http.post('{!! yzWebFullUrl('dispatch.dispatch-type.get-data') !!}', {}).then(response => {
- if (response.data.result) {
- this.dispatch_type_list = response.data.data;
- } else {
- this.$message({message: response.data.msg, type: 'error'});
- }
- }, response => {
- this.$message({message: response.data.msg, type: 'error'});
- })
- },
- //时间转化
- formatTime(date) {
- let y = date.getFullYear()
- let m = date.getMonth() + 1
- m = m < 10 ? '0' + m : m
- let d = date.getDate()
- d = d < 10 ? '0' + d : d
- let h = date.getHours()
- h = h < 10 ? '0' + h : h
- let minute = date.getMinutes()
- minute = minute < 10 ? '0' + minute : minute
- let second = date.getSeconds()
- second = second < 10 ? '0' + second : second
- return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second
- },
- // 字符转义
- escapeHTML(a) {
- a = "" + a;
- return a.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, "\"").replace(/'/g, "'");;
- },
- getParam(name) {
- let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
- let r = window.location.search.substr(1).match(reg);
- if (r != null) return unescape(r[2]);
- return null;
- },
- },
- });
- </script>
|