浏览代码

排序浮动表头可全选

Zhouzhendong 5 年之前
父节点
当前提交
bd3b7177ce

+ 3 - 3
app/Http/Controllers/OrderController.php

@@ -135,7 +135,7 @@ class OrderController extends Controller
        BAS_SKU.Alternate_SKU1,BAS_SKU.Descr_C,(select count(*) from DOC_ORDER_HEADER WHERE 1=1";
         $sql=$this->preciseQuery($request,$sql);
         ;$sql.=" ) as counted from (";
-        if (!$request->input('export'))$sql.=" select * from (";
+        if (!$export)$sql.=" select * from (";
         $sql.=" select ROWNUM as rn,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID
                           ,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,
                          DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1
@@ -157,8 +157,8 @@ class OrderController extends Controller
                 $sql.=")";
             }
         }
-        if (!$request->input('export'))$sql.=" and ROWNUM<='".$page*$paginate."')";
-        if (!$request->input('export'))$sql.=" header where header.rn>'".($page-1)*$paginate."' ";
+        if (!$export)$sql.=" and ROWNUM<='".$page*$paginate."')";
+        if (!$export)$sql.=" header where header.rn>'".($page-1)*$paginate."' ";
         $sql.=")DOC_ORDER_HEADER left join DOC_ORDER_DETAILS on DOC_ORDER_DETAILS.ORDERNO=DOC_ORDER_HEADER.ORDERNO
                       left join BAS_CODES  order_code on order_code.CODE=DOC_ORDER_HEADER.sostatus and order_code.codeid='SO_STS'
                       left join BAS_CODES  order_detail_code on order_detail_code.CODE=DOC_ORDER_DETAILS.linestatus and order_detail_code.codeid='SO_STS'

+ 31 - 1
resources/js/queryForm/header.js

@@ -13,6 +13,8 @@ window.Header = function getHeader(object) {
     this._fixedTop = object.fixedTop || 0;  //同级浮动元素高度,使当前元素追加该元素高度浮动
     this._offset = object.offset || 0;  //偏移量
     this._is_restorationColumn_asc = object.is_restorationColumn_asc || false;    //恢复原数据基准字段的排序类型 true:asc false:desc
+    this._vue = object.vue || null; //vue容器
+    this._checkbox = object.checkbox || 'checkData';
 
     let _this = this;
     let _parentNode = $(_this._header);
@@ -167,8 +169,14 @@ window.Header = function getHeader(object) {
             let column_dom = $('#dom_'+column.name);
             let column_dom_temp = column_dom.clone();
             let columnNameDom = column_dom_temp.children()[0];
+            if (column.customization){
+                if (column.type === 'checkAll'){
+                    var checkbox = $($(columnNameDom).children()[0]).children()[0];
+                    checkbox.id = checkbox.id+"_temp";
+                }
+            }
             if (!column.neglect){
-                $(column_dom_temp.children()[0]).children()[0].id = 'sort_'+column.name+"_temp";
+                $(columnNameDom).children()[0].id = 'sort_'+column.name+"_temp";
             }
             column_dom_temp.attr('id','dom_'+column.name+"_temp");
             $(columnNameDom).css('width',column_dom.width()+_this._offset);
@@ -179,6 +187,11 @@ window.Header = function getHeader(object) {
                 column_dom.on('click',rule(column,column_sort,column_sort_temp));
                 column_dom_temp.on('click',rule(column,column_sort,column_sort_temp));
             }
+            if (column.customization){
+                if (column.type === 'checkAll'){
+                    checkAll($(checkbox),column.column);
+                }
+            }
         });
     }
     //初始化
@@ -186,5 +199,22 @@ window.Header = function getHeader(object) {
         append();
         fixed();
         cloneDom();
+    };
+
+    function checkAll(dom,column){
+        dom.on('click',function () {
+            if ($(this).is(":checked")== true) {
+                _this._vue[_this._checkbox].length = 0;
+                _this._data.forEach(function (object) {
+                    if (column) {
+                        object = object[column];
+                    }
+                    _this._vue[_this._checkbox].push(object);
+                });
+            } else {
+                _this._vue[_this._checkbox].length = 0;
+                _this._vue.$forceUpdate();
+            }
+        });
     }
 };

+ 22 - 12
resources/views/inventory/statement/changeInventory.blade.php

@@ -57,7 +57,7 @@
     <script type="text/javascript" src="{{asset('js/queryForm/queryForm200806.js')}}"></script>
     <script type="text/javascript" src="{{asset('js/queryForm/header200814.js')}}"></script>
     <script>
-        new Vue({
+        let vue=new Vue({
             el:"#list",
             data:{
                 oracleActTransactingLogs:{!! $oracleActTransactingLogs !!},
@@ -120,7 +120,8 @@
                     });
                 }
                 let column = [
-                    {name:'cloneCheckAll',customization:true,dom:$('#cloneCheckAll').removeClass('d-none'), neglect: true},
+                    {name:'cloneCheckAll',customization:true,type:'checkAll',
+                        dom:$('#cloneCheckAll').removeClass('d-none'), neglect: true},
                     {name:'index',value: '序号', neglect: true},
                     {name:'货主',value: '货主', class:'text-primary'},
                     {name:'库位',value: '库位', class:'text-muted'},
@@ -136,24 +137,33 @@
                     {name:'在库数量',value: '在库数量', neglect: true},
                     {name:'占用数量',value: '占用数量', neglect: true},
                 ];
-                let header = new Header({
-                    el: "#header",
-                    column: column,
-                    data: this.oracleActTransactingLogs,
-                    restorationColumn: 'rn',
-                    is_restorationColumn_asc:true,
-                    fixedTop:($('#form_div').height())+2,
-                    offset:0.5
-                });
-                header.init();
+
+                let header=null;
+                let _this = this;
+                setTimeout(function () {
+                    header = new Header({
+                        el: "#header",
+                        column: column,
+                        data: _this.oracleActTransactingLogs,
+                        restorationColumn: 'rn',
+                        is_restorationColumn_asc:true,
+                        fixedTop:($('#form_div').height())+2,
+                        offset:0.5,
+                        vue:vue
+                    });
+                    header.init();
+                },0);
+
             },
             watch:{
                 checkData:{
                     handler(){
                         if (this.checkData.length === this.oracleActTransactingLogs.length){
                             document.querySelector('#all').checked = true;
+                            document.querySelector('#all_temp').checked = true;
                         }else {
                             document.querySelector('#all').checked = false;
+                            document.querySelector('#all_temp').checked = false;
                         }
                     },
                     deep:true

+ 22 - 17
resources/views/order/index/delivering.blade.php

@@ -42,15 +42,12 @@
                         </div><!-- /.modal-content -->
                     </div><!-- /.modal -->
                 </div>
+                <label for="all" id="cloneCheckAll" class="d-none">
+                    <input id="all" type="checkbox" @click="checkAll($event)">全选
+                </label>
                 <table class="table table-sm table-striped table-bordered table-hover card-body mt-2 ml-3 d-none" id="headerRoll"></table>
                 <table class="table table-sm table-striped table-bordered table-hover card-body mt-2 ml-3" id="headerParent">
-                    <tr class="text-nowrap" id="header">
-                        <th>
-                            <label for="all">
-                                <input id="all" type="checkbox" @click="checkAll($event)">全选
-                            </label>
-                        </th>
-                    </tr>
+                    <tr class="text-nowrap" id="header"></tr>
                     <tr v-for="(order,i) in orders" @click="selectedColor(order.orderno)" :style="{'font-weight': order.orderno==selectedStyle?'bold':''}">
                         <td>
                             <input class="checkItem" type="checkbox" :value="order.orderno" v-model="checkData">
@@ -144,7 +141,7 @@
     <script type="text/javascript" src="{{asset('js/queryForm/queryForm200806.js')}}"></script>
     <script type="text/javascript" src="{{asset('js/queryForm/header200814.js')}}"></script>
     <script>
-        new Vue({
+        let vue=new Vue({
             el:"#list",
             data:{
                 page:Number('{{$page}}'),
@@ -203,6 +200,8 @@
                 });
                 this.form.init();
                 let column = [
+                    {name:'cloneCheckAll',customization:true,type:'checkAll',column:'orderno',
+                        dom:$('#cloneCheckAll').removeClass('d-none'), neglect: true},
                     {name:'index',value: '序号', neglect: true},
                     {name:'orderno',value: '编号'},
                     {name:'ordercodename',value: '订单状态'},
@@ -236,23 +235,29 @@
                     {name:'update',value: '订单冻结', neglect: true},
                     {name:'remove',value: '取消分配', neglect: true},
                 ];
-                let header = new Header({
-                    el: "#header",
-                    column: column,
-                    data: this.orders,
-                    restorationColumn: 'addtime',
-                    fixedTop:($('#form_div').height())+2,
-                    offset:0.5,
-                });
-                header.init();
+                let _this=this;
+                setTimeout(function () {
+                    let header = new Header({
+                        el: "#header",
+                        column: column,
+                        data: _this.orders,
+                        restorationColumn: 'addtime',
+                        fixedTop:($('#form_div').height())+2,
+                        offset:0.5,
+                        vue:vue
+                    });
+                    header.init();
+                },0);
             },
             watch:{
                 checkData:{
                     handler(){
                         if (this.checkData.length === this.orders.length){
                             document.querySelector('#all').checked = true;
+                            document.querySelector('#all_temp').checked = true;
                         }else {
                             document.querySelector('#all').checked = false;
+                            document.querySelector('#all_temp').checked = false;
                         }
                     },
                     deep:true

+ 21 - 16
resources/views/personnel/laborReport/index.blade.php

@@ -26,7 +26,7 @@
             <tr class="text-center" id="header"></tr>
             <tr v-for="(laborReport,i) in laborReports"  @click="selectedColor(laborReport.id)" :style="{'font-weight': laborReport.id==selectedStyle?'bold':''}">
                 <td>
-                    <input class="checkItem" type="checkbox" :value="laborReport.id" v-model="checkData">
+                    <input class="checkItem" type="checkbox" :value="laborReport.id" v-model="checkData" />
                 </td>
                 <td>@{{ i+1  }}</td>
                 <td >
@@ -233,7 +233,7 @@
         @if(isset($request))
         let request={!! json_encode($request) !!};
         @endif
-        new Vue({
+        let vue = new Vue({
             el:"#list",
             data:{
                 laborReports:[
@@ -269,9 +269,9 @@
                 sum:{!! $laborReports->total() !!},
             },
             mounted:function(){
-                initEcho();
+                /*initEcho();*/
                 let _this=this;
-                let laborReports=_this.laborReports;
+/*                let laborReports=_this.laborReports;
                 //进场
                 let tokenOfBroadcastEnterAndLeave='{{$tokenOfBroadcastEnterAndLeave}}';
                 if(tokenOfBroadcastEnterAndLeave)
@@ -347,7 +347,7 @@
                             return true;
                         });
                     });
-                });
+                });*/
                 $(".tooltipTarget").tooltip({'trigger':'hover'});
                 $('#list').removeClass('d-none');
                 let data=[
@@ -369,7 +369,8 @@
                 });
                 this.form.init();
                 let column = [
-                    {name:'cloneCheckAll',customization:true,dom:$('#cloneCheckAll').removeClass('d-none'), neglect: true},
+                    {name:'cloneCheckAll',customization:true,type:'checkAll',column:'id',
+                        dom:$('#cloneCheckAll').removeClass('d-none'), neglect: true},
                     {name:'index',value: '序号', neglect: true},
                     {name:'operation',value: '操作', neglect: true},
                     {name:'enter_number',value: '进厂编号', style:'background-color: rgb(241, 234, 190)'},
@@ -389,24 +390,28 @@
                     {name:'thisRecordWorkingTime',value: '本次工作时长', neglect: true},
                     {name:'remark',value: '备注'},
                 ];
-                let header = new Header({
-                    el: "#header",
-                    column: column,
-                    data: this.oracleActTransactingLogs,
-                    restorationColumn: 'rn',
-                    is_restorationColumn_asc:true,
-                    fixedTop:($('#form_div').height())+2,
-                    offset:0.5
-                });
-                header.init();
+                setTimeout(function () {
+                    let header = new Header({
+                        el: "#header",
+                        column: column,
+                        data: _this.laborReports,
+                        restorationColumn: 'id',
+                        fixedTop:($('#form_div').height())+2,
+                        offset:0.5,
+                        vue:vue
+                    });
+                    header.init();
+                },0);
             },
             watch:{
                 checkData:{
                     handler(){
                         if (this.checkData.length === this.laborReports.length){
                             document.querySelector('#all').checked = true;
+                            document.querySelector('#all_temp').checked = true;
                         }else {
                             document.querySelector('#all').checked = false;
+                            document.querySelector('#all_temp').checked = false;
                         }
                     },
                     deep:true

+ 43 - 37
resources/views/process/index.blade.php

@@ -158,15 +158,12 @@
                 </div><!-- /.modal-content -->
             </div><!-- /.modal -->
         </div>
+        <label for="all" class="d-none" id="cloneCheckAll">
+            <input id="all" type="checkbox" @click="checkAll($event)">全选
+        </label>
         <table class="table table-sm text-nowrap table-bordered d-none" id="headerRoll"></table>
         <table class="table table-sm text-nowrap table-bordered" id="headerParent">
-            <tr class="row-even p-0" id="header">
-                <th>
-                    <label for="all">
-                        <input id="all" type="checkbox" @click="checkAll($event)">全选
-                    </label>
-                </th>
-            </tr>
+            <tr class="row-even p-0" id="header"></tr>
             <template>
             <tr v-for="(processOne,i) in processes" :class="count(i,processes)%2==0?'row-even':''" :id="processOne.id?processOne.id:processes[i-1].id+'-2'"
                 :name="'process_table_'+count(i,processes)" @mouseover="changeStyle('process_table_'+count(i,processes),true)"
@@ -463,7 +460,7 @@
     <script type="text/javascript" src="{{asset('js/queryForm/queryForm200806.js')}}"></script>
     <script type="text/javascript" src="{{asset('js/queryForm/header200814.js')}}"></script>
     <script>
-        new Vue({
+        let vue = new Vue({
             el:"#process",
             data:{
                 participantInputting:{},
@@ -513,8 +510,10 @@
                     handler(){
                         if (this.checkData.length === this.processes.length){
                             document.querySelector('#all').checked = true;
+                            document.querySelector('#all_temp').checked = true;
                         }else {
                             document.querySelector('#all').checked = false;
+                            document.querySelector('#all_temp').checked = false;
                         }
                     },
                     deep:true
@@ -546,35 +545,42 @@
                     condition: data,
                 });
                 this.form.init();
-                let header = new Header({
-                    el: "#header",
-                    column: [
-                        {name:'index',value: '序号', neglect: true},
-                        {name:'operation',value: '操作', neglect: true},
-                        {name: 'status', value: '状态'},
-                        {name: 'code', value: '任务号'},
-                        {name:'person',value: '经手人', neglect: true},
-                        {name: 'owner_name', value: '货主'},
-                        {name: 'process_method_name', value: '加工类型'},
-                        {name: 'amount', value: '预期数量'},
-                        {name:'tutorial',value: '教程', neglect: true},
-                        {name: 'unit_price', value: '单价'},
-                        {name: 'completed_amount', value: '完成数量'},
-                        {name: 'created_at', value: '提交日期'},
-                        {name:'bill_type',value: '单据类型', neglect: true, style: 'min-width:200px;'},
-                        {name:'wms_code',value: '单据号', neglect: true, style: 'min-width:200px;'},
-                        {name:'count',value: '本单数量', neglect: true, style: 'min-width:200px;'},
-                        {name:'commodity_barcode',value: '商品条码', neglect: true, style: 'min-width:200px;'},
-                        {name:'commodity_name',value: '商品名称', neglect: true, style: 'min-width:200px;'},
-                        {name: 'remark', value: '备注'},
-                        {name:'remove',value: '', neglect: true},
-                    ],
-                    data: this.processes,
-                    restorationColumn: 'serial_number',
-                    fixedTop:($('#form_div').height())+2,
-                    is_restorationColumn_asc :true,
-                });
-                header.init();
+                let _this = this;
+                let column = [
+                    {name:'cloneCheckAll',customization:true,type:'checkAll',column:'id',
+                        dom:$('#cloneCheckAll').removeClass('d-none'), neglect: true},
+                    {name:'index',value: '序号', neglect: true},
+                    {name:'operation',value: '操作', neglect: true},
+                    {name: 'status', value: '状态'},
+                    {name: 'code', value: '任务号'},
+                    {name:'person',value: '经手人', neglect: true},
+                    {name: 'owner_name', value: '货主'},
+                    {name: 'process_method_name', value: '加工类型'},
+                    {name: 'amount', value: '预期数量'},
+                    {name:'tutorial',value: '教程', neglect: true},
+                    {name: 'unit_price', value: '单价'},
+                    {name: 'completed_amount', value: '完成数量'},
+                    {name: 'created_at', value: '提交日期'},
+                    {name:'bill_type',value: '单据类型', neglect: true, style: 'min-width:200px;'},
+                    {name:'wms_code',value: '单据号', neglect: true, style: 'min-width:200px;'},
+                    {name:'count',value: '本单数量', neglect: true, style: 'min-width:200px;'},
+                    {name:'commodity_barcode',value: '商品条码', neglect: true, style: 'min-width:200px;'},
+                    {name:'commodity_name',value: '商品名称', neglect: true, style: 'min-width:200px;'},
+                    {name: 'remark', value: '备注'},
+                    {name:'remove',value: '', neglect: true},
+                ];
+                setTimeout(function () {
+                    let header = new Header({
+                        el: "#header",
+                        column: column,
+                        data: _this.processes,
+                        restorationColumn: 'serial_number',
+                        fixedTop:($('#form_div').height())+2,
+                        is_restorationColumn_asc :true,
+                        vue:vue
+                    });
+                    header.init();
+                },0);
             },
             methods: {
                 arrayFilter: function (processesContents, process) {

+ 52 - 31
resources/views/rejected/search/analyze.blade.php

@@ -22,8 +22,10 @@
                    href="javascript:">导出所有页</a>
             </div>
         </span>
-        <input type="checkbox" class="form-control-sm tooltipTarget d-none" title="全选"
-               id="checkSelectingAll" @click="checkBoxAllToggle" v-model="checkBoxAll" value="1">
+        <label id="cloneCheckAll" class="d-none">
+            <input type="checkbox" class="form-control-sm tooltipTarget" title="全选"
+                   id="checkSelectingAll" @click="checkBoxAllToggle($event)">
+        </label>
         <table class="table table-striped table-sm table-bordered table-hover d-none" id="headerRoll"></table>
         <table class="table table-striped table-sm table-bordered table-hover" style="background: #fff;" id="headerParent">
             <tr id="header"></tr>
@@ -62,7 +64,7 @@
     <script src="{{asset('js/queryForm/queryForm200806.js')}}"></script>
     <script type="text/javascript" src="{{asset('js/queryForm/header200814.js')}}"></script>
     <script>
-        new Vue({
+        let vue = new Vue({
             el:"#list",
             data:{
                 rejectedBills : {!! $rejectedBills !!},
@@ -93,38 +95,57 @@
                     isPaginations:false,
                 });
                 this.form.init();
-                let header = new Header({
-                    el: "#header",
-                    column: [
-                        {name:'checkSelectingAll',customization:true,dom:$('#checkSelectingAll').removeClass('d-none'), neglect: true},
-                        {name:'index',value: '序号', neglect: true},
-                        {name:'owner_name',value: '货主', neglect: true},
-                        {name:'bounce_amount',value: '退件数', neglect: true, class:'text-muted'},
-                        {name:'check_amount',value: '审核数', neglect: true, class:'text-success font-weight-bold'},
-                        {name:'bounce_amount_check_amount',value: '未审核数', neglect: true},
-                        {name:'in_storage_count',value: '入库数', neglect: true, class:'text-success font-weight-bold'},
-                        {name:'not_in_storage_count',value: '未入库数', neglect: true},
-                    ],
-                    data: this.rejectedBills,
-                    restorationColumn: 'id',
-                    fixedTop:($('#form_div').height())+2,
-                    offset:0.5,
-                });
-                header.init();
+                let column = [
+                    {name:'cloneCheckAll',customization:true,type:'checkAll',column:'id_owner',
+                        dom:$('#cloneCheckAll').removeClass('d-none'), neglect: true},
+                    {name:'index',value: '序号', neglect: true},
+                    {name:'owner_name',value: '货主', neglect: true},
+                    {name:'bounce_amount',value: '退件数', neglect: true, class:'text-muted'},
+                    {name:'check_amount',value: '审核数', neglect: true, class:'text-success font-weight-bold'},
+                    {name:'bounce_amount_check_amount',value: '未审核数', neglect: true},
+                    {name:'in_storage_count',value: '入库数', neglect: true, class:'text-success font-weight-bold'},
+                    {name:'not_in_storage_count',value: '未入库数', neglect: true},
+                ];
+                let _this = this;
+                setTimeout(function () {
+                    let header = new Header({
+                        el: "#header",
+                        column: column,
+                        data: _this.rejectedBills,
+                        restorationColumn: 'id',
+                        fixedTop:($('#form_div').height())+2,
+                        offset:0.5,
+                        vue:vue,
+                        checkbox:'rejectedBills_checkBoxes',
+                    });
+                    header.init();
+                },0);
+            },
+            watch:{
+                rejectedBills_checkBoxes:{
+                    handler(){
+                        if (this.rejectedBills_checkBoxes.length === this.rejectedBills.length){
+                            document.querySelector('#checkSelectingAll').checked = true;
+                            document.querySelector('#checkSelectingAll_temp').checked = true;
+                        }else {
+                            document.querySelector('#checkSelectingAll').checked = false;
+                            document.querySelector('#checkSelectingAll_temp').checked = false;
+                        }
+                    },
+                    deep:true
+                }
             },
             methods:{
                 checkBoxAllToggle:function(e){
-                    let _this=this;
-                    if(_this.rejectedBills_checkBoxes.length>=this.rejectedBills.length){
-                        _this.rejectedBills_checkBoxes=[];
-                        _this.checkBoxAll=[];
-                    }
-                    else{
-                        _this.rejectedBills_checkBoxes=[];
-                        this.rejectedBills.forEach(function(bill){
-                            _this.rejectedBills_checkBoxes.push(bill.id_owner);
-                            _this.checkBoxAll=[1];
+                    if (e.target.checked) {
+                        this.rejectedBills.forEach((el) => {
+                            if (!el.id) this.rejectedBills_checkBoxes.push(el.id);
+                            if (el.id && this.rejectedBills_checkBoxes.indexOf(el.id) == '-1') {
+                                this.rejectedBills_checkBoxes.push(el.id);
+                            }
                         });
+                    } else {
+                        this.rejectedBills_checkBoxes = [];
                     }
                 },
                 exportExcel:function(checkAllSign){

+ 70 - 54
resources/views/rejected/search/general.blade.php

@@ -56,15 +56,13 @@
                         <a class="dropdown-item" @click="setIsLoaded_batch(4)" href="javascript:">待确认</a>
                     </div>
                 </span>
+                <label for="checkSelectingAll" class="d-none" id="cloneCheckAll">
+                    <input type="checkbox" class="form-control-sm tooltipTarget" title="全选"
+                           id="checkSelectingAll" @click="checkBoxAllToggle($event)">
+                </label>
                 <table class="table table-striped table-sm table-bordered table-hover text-nowrap d-none" id="headerRoll" ></table>
                 <table class="table table-striped table-sm table-bordered table-hover text-nowrap" style="background: #fff;" id="headerParent">
-                    <tr id="header">
-                        <th>
-                            <input type="checkbox" class="form-control-sm tooltipTarget" title="全选"
-                                   id="checkSelectingAll" @click="checkBoxAllToggle" v-model="checkBoxAll" value="1">
-                        </th>
-                    </tr>
-
+                    <tr id="header"></tr>
                     <tr v-for="(rejectedBill,i) in rejectedBills" :data-id="rejectedBill.id">
                         <td>
                             <input type="checkbox" v-model="rejectedBills_checkBoxes" :value="rejectedBill.id"/>
@@ -182,10 +180,9 @@
     <script src="{{asset('js/queryForm/queryForm200806.js')}}"></script>
     <script type="text/javascript" src="{{asset('js/queryForm/header200814.js')}}"></script>
     <script>
-        new Vue({
+        let vue = new Vue({
             el:"#list",
             data:{
-                checkBoxAll:[],
                 rejectedBills:rejectedBills,
                 rejectedBills_checkBoxes:[],
                 owners:[
@@ -232,43 +229,65 @@
                     condition:data
                 });
                 this.form.init();
-                let header = new Header({
-                    el: "#header",
-                    column: [
-                        {name:'index',value: '序号', neglect: true},
-                        {name:'checked_numbers',value: '是否审核', neglect: true},
-                        {name: 'is_finished', value: '是否完结',neglect: true},
-                        {name: 'is_loaded', value: '是否入库', neglect: true},
-                        {name:'created_at',value: '创建时间'},
-                        {name: 'owner_name', value: '客户名称', neglect: true},
-                        {name: 'logistic_number_return', value: '退回单号'},
-                        {name: 'logistic_name', value: '退回公司', neglect: true},
-                        {name:'order_number',value: '订单号'},
-                        {name: 'sender', value: '姓名'},
-                        {name: 'mobile_sender', value: '电话'},
-                        {name: 'logistic_number', value: '原单单号'},
+                let _this = this;
+                let column = [
+                    {name:'cloneCheckAll',customization:true,type:'checkAll',column:'id',
+                        dom:$('#cloneCheckAll').removeClass('d-none'), neglect: true},
+                    {name:'index',value: '序号', neglect: true},
+                    {name:'checked_numbers',value: '是否审核', neglect: true},
+                    {name: 'is_finished', value: '是否完结',neglect: true},
+                    {name: 'is_loaded', value: '是否入库', neglect: true},
+                    {name:'created_at',value: '创建时间'},
+                    {name: 'owner_name', value: '客户名称', neglect: true},
+                    {name: 'logistic_number_return', value: '退回单号'},
+                    {name: 'logistic_name', value: '退回公司', neglect: true},
+                    {name:'order_number',value: '订单号'},
+                    {name: 'sender', value: '姓名'},
+                    {name: 'mobile_sender', value: '电话'},
+                    {name: 'logistic_number', value: '原单单号'},
                         @cannot('退货管理-到付费用'){name:'fee_collected',value: '到付费用'},@endcannot
                         @can('退货管理-查询-客户定义-爱奇艺'){name:'common_01',value: '寄件方省'},@endcan
-                        {name:'common_02',value: '重量'},
-                        {name:'goods_amount',value: '商品总数'},
-                        {name:'item_barcode_goods',value: '商品条码', neglect: true},
-                        {name: 'item_name_goods', value: '商品名称', neglect: true},
-                        {name: 'item_amount', value: '数量', neglect: true},
-                        {name:'item_quality_label',value: '是否正品', neglect: true},
-                        {name:'item_batch_number',value: '批次号', neglect: true},
-                        {name:'item_made_at',value: '生产日期', neglect: true},
-                        {name:'item_validity_at',value: '效期', neglect: true},
-                        {name:'item_remark',value: '备注', neglect: true},
-                        {name:'remark',value: '退单备注'},
-                        {name:'operator_name',value: '录入人'},
+                    {name:'common_02',value: '重量'},
+                    {name:'goods_amount',value: '商品总数'},
+                    {name:'item_barcode_goods',value: '商品条码', neglect: true},
+                    {name: 'item_name_goods', value: '商品名称', neglect: true},
+                    {name: 'item_amount', value: '数量', neglect: true},
+                    {name:'item_quality_label',value: '是否正品', neglect: true},
+                    {name:'item_batch_number',value: '批次号', neglect: true},
+                    {name:'item_made_at',value: '生产日期', neglect: true},
+                    {name:'item_validity_at',value: '效期', neglect: true},
+                    {name:'item_remark',value: '备注', neglect: true},
+                    {name:'remark',value: '退单备注'},
+                    {name:'operator_name',value: '录入人'},
                         @can('退货管理-编辑','退货管理-删除'){name:'remove',value: '操作', neglect: true},@endcan
-                    ],
-                    data: this.rejectedBills,
-                    restorationColumn: 'id',
-                    fixedTop:($('#form_div').height())+2,
-                    offset:0.5,
-                });
-                header.init();
+                ];
+                setTimeout(function () {
+                    let header = new Header({
+                        el: "#header",
+                        column: column,
+                        data: _this.rejectedBills,
+                        restorationColumn: 'id',
+                        fixedTop:($('#form_div').height())+2,
+                        offset:0.5,
+                        vue:vue,
+                        checkbox : 'rejectedBills_checkBoxes',
+                    });
+                    header.init();
+                },0);
+            },
+            watch:{
+                rejectedBills_checkBoxes:{
+                    handler(){
+                        if (this.rejectedBills_checkBoxes.length === this.rejectedBills.length){
+                            document.querySelector('#checkSelectingAll').checked = true;
+                            document.querySelector('#checkSelectingAll_temp').checked = true;
+                        }else {
+                            document.querySelector('#checkSelectingAll').checked = false;
+                            document.querySelector('#checkSelectingAll_temp').checked = false;
+                        }
+                    },
+                    deep:true
+                }
             },
             methods:{
                 edit(id){
@@ -304,7 +323,6 @@
                     setTimeout(function () {
                         $(".tooltipTarget").tooltip({'trigger':'hover'})
                     }, 10);
-                    this.checkBoxAll=false;
                     this.rejectedBills.forEach(function(rejectedBill){
                         if(rejectedBill.is_checked===-1)
                             rejectedBill.is_checked='0';
@@ -357,17 +375,15 @@
                     $(e.target).val("")
                 },
                 checkBoxAllToggle:function(e){
-                    let _this=this;
-                    if(_this.rejectedBills_checkBoxes.length>=this.rejectedBills.length){
-                        _this.rejectedBills_checkBoxes=[];
-                        _this.checkBoxAll=[];
-                    }
-                    else{
-                        _this.rejectedBills_checkBoxes=[];
-                        this.rejectedBills.forEach(function(bill){
-                            _this.rejectedBills_checkBoxes.push(bill.id);
-                            _this.checkBoxAll=[1];
+                    if (e.target.checked) {
+                        this.rejectedBills.forEach((el) => {
+                            if (!el.id) this.rejectedBills_checkBoxes.push(el.id);
+                            if (el.id && this.rejectedBills_checkBoxes.indexOf(el.id) == '-1') {
+                                this.rejectedBills_checkBoxes.push(el.id);
+                            }
                         });
+                    } else {
+                        this.rejectedBills_checkBoxes = [];
                     }
                 },
                 checkAll:function(){

+ 20 - 15
resources/views/store/index.blade.php

@@ -7,15 +7,12 @@
     </span>
     <div class="d-none" id="fast">
         <div class="container-fluid">
+            <label for="all" class="d-none" id="cloneCheckAll">
+                <input id="all" type="checkbox" @click="checkAll($event)">全选
+            </label>
             <table class="table table-sm text-nowrap table-bordered d-none" id="headerRoll"></table>
             <table class="table table-striped table-sm text-nowrap table-hover" id="headerParent">
-                <tr id="header">
-                    <th>
-                        <label for="all">
-                            <input id="all" type="checkbox" @click="checkAll($event)">全选
-                        </label>
-                    </th>
-                </tr>
+                <tr id="header"></tr>
                 <tr v-for="(store,i) in stores">
                     <td>
                         <input class="checkItem" type="checkbox" :value="store.id" v-model="checkData">
@@ -39,7 +36,7 @@
 @section('lastScript')
     <script type="text/javascript" src="{{asset('js/queryForm/header200814.js')}}"></script>
     <script>
-        new Vue({
+        let vue = new Vue({
             el:'#fast',
             data:{
                 stores:[
@@ -51,7 +48,10 @@
             },
             mounted:function(){
                 $('#fast').removeClass('d-none');
+                let _this = this;
                 let column = [
+                    {name:'cloneCheckAll',customization:true,type:'checkAll',column:'id',
+                        dom:$('#cloneCheckAll').removeClass('d-none'), neglect: true},
                     {name:'index',value: '序号', neglect: true},
                     {name:'asn_code',value: 'ASN编号'},
                     {name:'warehouse_name',value: '仓库'},
@@ -61,21 +61,26 @@
                     {name:'remark',value: '备注'},
                     {name:'created_at',value: '生成时间'},
                 ];
-                let header = new Header({
-                    el: "#header",
-                    column: column,
-                    data: this.stores,
-                    restorationColumn: 'id',
-                });
-                header.init();
+                setTimeout(function () {
+                    let header = new Header({
+                        el: "#header",
+                        column: column,
+                        data: _this.stores,
+                        restorationColumn: 'id',
+                        vue:vue,
+                    });
+                    header.init();
+                },0);
             },
             watch:{
                 checkData:{
                     handler(){
                         if (this.checkData.length === this.stores.length){
                             document.querySelector('#all').checked = true;
+                            document.querySelector('#all_temp').checked = true;
                         }else {
                             document.querySelector('#all').checked = false;
+                            document.querySelector('#all_temp').checked = false;
                         }
                     },
                     deep:true

+ 20 - 15
resources/views/store/storeItem/index.blade.php

@@ -8,15 +8,12 @@
     </span>
     <div class="d-none" id="item">
         <div class="container-fluid">
+            <label for="all" class="d-none" id="cloneCheckAll">
+                <input id="all" type="checkbox" @click="checkAll($event)">全选
+            </label>
             <table class="table table-sm text-nowrap table-bordered d-none" id="headerRoll"></table>
             <table class="table table-striped table-sm text-nowrap table-hover" id="headerParent">
-                <tr id="header">
-                    <th>
-                        <label for="all">
-                            <input id="all" type="checkbox" @click="checkAll($event)">全选
-                        </label>
-                    </th>
-                </tr>
+                <tr id="header"></tr>
                 <tr v-for="(storeItem,i) in storeItems">
                     <td>
                         <input class="checkItem" type="checkbox" :value="storeItem.id" v-model="checkData">
@@ -43,7 +40,7 @@
 @section('lastScript')
     <script type="text/javascript" src="{{asset('js/queryForm/header200814.js')}}"></script>
     <script>
-        new Vue({
+        let vue = new Vue({
             el:'#item',
             data:{
                 storeItems:[
@@ -55,7 +52,10 @@
             },
             mounted:function(){
                 $('#item').removeClass('d-none');
+                let _this=this;
                 let column = [
+                    {name:'cloneCheckAll',customization:true,type:'checkAll',column:'id',
+                        dom:$('#cloneCheckAll').removeClass('d-none'), neglect: true},
                     {name:'index',value: '序号', neglect: true},
                     {name:'store_asn_code',value: 'ASN编号'},
                     {name:'asn_line_code',value: 'ASN行号'},
@@ -68,21 +68,26 @@
                     {name:'status',value: '状态', class:'text-muted'},
                     {name:'created_at',value: '创建时间', class:'text-muted'},
                 ];
-                let header = new Header({
-                    el: "#header",
-                    column: column,
-                    data: this.storeItems,
-                    restorationColumn: 'id',
-                });
-                header.init();
+                setTimeout(function () {
+                    let header = new Header({
+                        el: "#header",
+                        column: column,
+                        data: _this.storeItems,
+                        restorationColumn: 'id',
+                        vue:vue,
+                    });
+                    header.init();
+                },0);
             },
             watch:{
                 checkData:{
                     handler(){
                         if (this.checkData.length === this.storeItems.length){
                             document.querySelector('#all').checked = true;
+                            document.querySelector('#all_temp').checked = true;
                         }else {
                             document.querySelector('#all').checked = false;
+                            document.querySelector('#all_temp').checked = false;
                         }
                     },
                     deep:true

+ 27 - 37
resources/views/waybill/index.blade.php

@@ -42,6 +42,9 @@
                     <div class="alert alert-success h1">{{Session::get('successTip')}}</div>
                 @endif
             </div>
+            <label for="all" class="d-none" id="cloneCheckAll">
+                <input id="all" type="checkbox" @click="checkAll($event)">全选
+            </label>
             <table class="table table-striped table-sm table-bordered table-hover text-nowrap d-none" id="headerRoll">
             <table class="table table-striped table-sm table-bordered table-hover text-nowrap waybill-table" style="background: #fff;" id="headerParent">
                 <tr>
@@ -53,25 +56,7 @@
                         <th class="table-header-layer-1" colspan="1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>
                     @endcan
                 </tr>
-                <tr id="header">
-                    <th class="td-operation">
-                        <label for="all">
-                            <input id="all" type="checkbox" @click="checkAll($event)">
-                        </label>
-                    </th>
-                    {{--                    <th>WMS单号</th>--}}
-                    {{--                    <th>收件人</th>--}}
-                    {{--                    <th>收件人电话</th>--}}
-                    {{--                    <th>收费(元)</th>--}}
-                    {{--                    <th>到付金额(元)</th>--}}
-                    {{--                    <th>下单备注</th>--}}
-                    {{--                    <th>运单审核人</th>--}}
-                    {{--                    <th>商品列表</th>--}}
-                    {{--                    <th>始发市</th>--}}
-                    {{--                    <th>目的市</th>--}}
-                    {{--                    <th>车辆信息</th>--}}
-                    {{--                    <th>调度审核人</th>--}}
-                </tr>
+                <tr id="header"></tr>
 
                 <tr v-for="(waybill,i) in waybills" :style="[{color:waybill.status=='待重审'?'red':''||waybill.status=='已完结'?'green':''},{'font-weight': waybill.id==selectedStyle?'bold':''}]"
                     :id="'waybill'+waybill.id" @click="selectedColor(waybill.id)" position="static" v-on:mouseover="hidetop($event)" v-on:mouseleave="showtop($event)">
@@ -201,7 +186,7 @@
                     <td class="td-helpful"><span v-html="waybill.dispatch_remark"></span></td>
                     @can('运输管理-删除')
                         <td class="td-operation">
-                            <button type="button" class="btn btn-outline-danger btn-sm" @click="waybillDestroy(waybill.id,waybill.waybill_number)">删</button>
+                            <button type="button" class="btn btn-outline-danger btn-sm" @click="waybillDestroy(waybill.id,waybill.waybill_number,i)">删</button>
                         </td>
                     @endcan
                     {{--                    <td>@{{waybill.wms_bill_number}}</td>--}}
@@ -352,7 +337,7 @@
     <script type="text/javascript" src="{{asset('js/queryForm/queryForm200806.js')}}"></script>
     <script type="text/javascript" src="{{asset('js/queryForm/header200814.js')}}"></script>
     <script>
-        let vueList=new Vue({
+        let vue = new Vue({
             el:'#list',
             data:{
                 waybills:[
@@ -414,8 +399,10 @@
                     handler(){
                         if (this.checkData.length === this.waybills.length){
                             document.querySelector('#all').checked = true;
+                            document.querySelector('#all_temp').checked = true;
                         }else {
                             document.querySelector('#all').checked = false;
+                            document.querySelector('#all_temp').checked = false;
                         }
                     },
                     deep:true
@@ -458,6 +445,8 @@
                 });
                 this.form.init();
                 let column = [
+                    {name:'cloneCheckAll',customization:true,type:'checkAll',column:'id',
+                        dom:$('#cloneCheckAll').removeClass('d-none'), neglect: true},
                     @can('运输管理-编辑','运输管理-运单审核','运输管理-调度','运输管理-编辑')
                     {name:'operation',value: '操作', neglect: true, class:"td-operation"},@endcan
                     {name:'onTop',value: '置顶', neglect: true, class:"td-operation"},
@@ -492,15 +481,19 @@
                     {name:'dispatch_remark',value: '调度备注', class:"td-helpful"},
                     @can('运输管理-删除'){name:'remove',value: '操作', neglect: true, class:"td-delete"},@endcan
                 ];
-                let header = new Header({
-                    el: "#header",
-                    column: column,
-                    data: this.waybills,
-                    restorationColumn: 'id',
-                    fixedTop:($('#form_div').height())+2,
-                    offset:0.5,
-                });
-                header.init();
+                let _this = this;
+                setTimeout(function () {
+                    let header = new Header({
+                        el: "#header",
+                        column: column,
+                        data: _this.waybills,
+                        restorationColumn: 'id',
+                        fixedTop:($('#form_div').height())+2,
+                        offset:0.5,
+                        vue : vue,
+                    });
+                    header.init();
+                },0);
             },
             methods:{
                 btnRefreshWeightZoomIn(waybill){
@@ -561,22 +554,19 @@
                 {{--    location.href="{{url('waybill/waybillEdit')}}/"+id;--}}
                 {{--},--}}
                 // 软删除
-                waybillDestroy(id,waybill_number){
+                waybillDestroy(id,waybill_number,index){
                     if(!confirm('确定要删除运单号为:“'+waybill_number+'”的运单吗?')){return};
-                    let _this = this;
                     let url = '{{url('waybill')}}/'+id;
+                    let _this = this;
                     axios.delete(url).then(
                         function (response) {
                             if(!response.data.success){
                                 tempTip.setDuration(3000);
                                 tempTip.show('运单:'+waybill_number+'删除失败!');
                             }else {
-                                tempTip.setDuration(3000);
+                                tempTip.setDuration(2000);
                                 tempTip.showSuccess('运单:'+waybill_number+'删除成功!');
-                                setInterval(function () {
-                                    window.location.reload();
-                                    form.submit();
-                                },1000)
+                                _this.$delete(_this.waybills,index);
                             }
                         }
                     ).catch(function (err) {

+ 24 - 17
resources/views/waybill/waybillFinancialSnapshot/index.blade.php

@@ -55,16 +55,15 @@
         </span>
     </div>
     @endif
+    @if(!isset($excepted))
+        <label for="all" class="d-none" id="cloneCheckAll">
+            <input id="all" type="checkbox" @click="checkAll($event)">全选
+        </label>
+    @endif
     <table class="d-none table table-bordered text-nowrap" id="headerRoll"></table>
     <table class="table  table-hover table-bordered text-nowrap " style="width: 1500px;height: auto" id="headerParent">
         <thead>
-        <tr style="background: #E8E8E8;@if(isset($excepted)) color: red; @endif" id="header">
-            @if(!isset($excepted))
-            <th>
-                <input id="all" type="checkbox" @click="checkAll($event)">全选
-            </th>
-            @endif
-        </tr>
+        <tr style="background: #E8E8E8;@if(isset($excepted)) color: red; @endif" id="header"></tr>
         </thead>
         <tbody>
 
@@ -136,7 +135,7 @@
 @section('lastScript')
 <script type="text/javascript" src="{{asset('js/queryForm/header200814.js')}}"></script>
 <script>
-    let editing= new Vue({
+    let vue = new Vue({
         el:'#editingPanel',
         data:{
             json_contents:[
@@ -154,10 +153,12 @@
         watch:{
             checkData:{
                 handler(){
-                    if (this.checkData.length == this.json_contents.length){
+                    if (this.checkData.length === this.json_contents.length){
                         document.querySelector('#all').checked = true;
+                        document.querySelector('#all_temp').checked = true;
                     }else {
                         document.querySelector('#all').checked = false;
+                        document.querySelector('#all_temp').checked = false;
                     }
                 },
                 deep:true
@@ -168,6 +169,8 @@
             $(".tooltipTarget").tooltip({'trigger':'hover'});
             $('#editingPanel').removeClass('d-none');
             let column = [
+                @if(!isset($excepted)){name:'cloneCheckAll',customization:true,type:'checkAll',column:'waybill_id',
+                    dom:$('#cloneCheckAll').removeClass('d-none'), neglect: true},@endif
                 {name:'index',value: '序号', neglect: true},
                 {name:'type',value: '运单类型', neglect: true},
                 {name:'waybill_number',value: '运单号', neglect: true},
@@ -202,14 +205,18 @@
                 {name:'gross_margin',value: '毛利', neglect: true},
                 {name:'gross_profit_rate',value: '毛利率', neglect: true},
             ];
-            let header = new Header({
-                column: column,
-                data: this.json_contents,
-                restorationColumn: 'id',
-                offset:0.5,
-            });
-            header.init();
-
+            let _this = this;
+            setTimeout(function () {
+                let header = new Header({
+                    el: "#header",
+                    column: column,
+                    data: _this.json_contents,
+                    restorationColumn: 'id',
+                    offset:0.5,
+                    vue : vue,
+                });
+                header.init();
+            },0);
         },
         methods:{
             initInputs:function(){

+ 22 - 17
resources/views/weight/package/index.blade.php

@@ -20,16 +20,13 @@
                     <a class="dropdown-item" @click="packageExport(true)" href="javascript:">导出所有页</a>
                 </div>
             </span>
-            <div class="">
+            <div>
+                <label for="all" class="d-none" id="cloneCheckAll">
+                    <input id="all" type="checkbox" @click="checkAll($event)">全选
+                </label>
                 <table class="table table-sm text-nowrap table-bordered d-none" id="headerRoll"></table>
                 <table class="table table-striped table-sm text-nowrap table-hover" id="headerParent">
-                    <tr id="header">
-                        <th>
-                            <label for="all">
-                                <input id="all" type="checkbox" @click="checkAll($event)">全选
-                            </label>
-                        </th>
-                    </tr>
+                    <tr id="header"></tr>
                     <tr v-for="(package,i) in packages">
                         <td>
                             <input class="checkItem" type="checkbox" :value="package.id" v-model="checkData">
@@ -67,7 +64,7 @@
             @if(isset($request))
         let request={!! json_encode($request) !!};
         @endif
-        new Vue({
+        let vue = new Vue({
             el:"#list",
             data:{
                 packages:[
@@ -110,6 +107,8 @@
                 });
                 _this.form.init();
                 let column = [
+                    {name:'cloneCheckAll',customization:true,type:'checkAll',column:'id',
+                        dom:$('#cloneCheckAll').removeClass('d-none'), neglect: true},
                     {name:'index',value: '序号', neglect: true},
                     {name:'ownerName',value: '货主'},
                     {name: 'logisticNumber', value: '快递单号'},
@@ -127,22 +126,28 @@
                     {name:'recipient',value: '收件人'},
                     {name:'recipientMobile',value: '收件人电话'},
                 ];
-                let header = new Header({
-                    el: "#header",
-                    column: column,
-                    data: this.packages,
-                    restorationColumn: 'id',
-                    fixedTop:($('#form_div').height())+2,
-                });
-                header.init();
+                setTimeout(function () {
+                    let header = new Header({
+                        el: "#header",
+                        column: column,
+                        data: _this.packages,
+                        restorationColumn: 'id',
+                        fixedTop:($('#form_div').height())+2,
+                        offset:0.5,
+                        vue : vue,
+                    });
+                    header.init();
+                },0);
             },
             watch:{
                 checkData:{
                     handler(){
                         if (this.checkData.length === this.packages.length){
                             document.querySelector('#all').checked = true;
+                            document.querySelector('#all_temp').checked = true;
                         }else {
                             document.querySelector('#all').checked = false;
+                            document.querySelector('#all_temp').checked = false;
                         }
                     },
                     deep:true

+ 21 - 16
resources/views/weight/weightExcepted/index.blade.php

@@ -27,7 +27,7 @@
                                 <td >
                                     <label style="margin-left: 5px"> 操作选定记录:</label>
                                     <span class="dropdown">
-                                        <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget" :class="[checkData.length>0?'btn-dark':'btn-outline-dark']"
+                                        <button class="btn btn-sm form-control-sm dropdown-toggle tooltipTarget" :class="[checkData.length>0?'btn-dark':'btn-outline-dark']"
                                                 data-toggle="dropdown" title="导出所有页将会以搜索条件得到的过滤结果,将其全部记录(每一页)导出">
                                             导出Excel
                                         </button>
@@ -43,15 +43,12 @@
                     </form>
                 </div>
             <div class="card-body">
+                <label for="all" class="d-none" id="cloneCheckAll">
+                    <input id="all" type="checkbox" @click="checkAll($event)">全选
+                </label>
                 <table class="d-none table table-bordered text-nowrap" id="headerRoll"></table>
                 <table class="table table-striped table-sm text-nowrap" id="headerParent">
-                    <tr id="header">
-                        <th>
-                            <label for="all">
-                                <input id="all" type="checkbox" @click="checkAll($event)">全选
-                            </label>
-                        </th>
-                    </tr>
+                    <tr id="header"></tr>
                     <tr v-for="(weightExcepted,i) in weightExcepteds" :style="weightExcepted.status=='上传异常'||weightExcepted.status=='下发异常'?'':color">
                         <td>
                             <input class="checkItem" type="checkbox" :value="weightExcepted.id" v-model="checkData">
@@ -91,7 +88,7 @@
 @section('lastScript')
     <script type="text/javascript" src="{{asset('js/queryForm/header200814.js')}}"></script>
     <script>
-        new Vue({
+        let vue = new Vue({
             el:"#list",
             data:{
                 weightExcepteds:[
@@ -118,6 +115,8 @@
                $(".tooltipTarget").tooltip({'trigger':'hover'});
                $('#list').removeClass('d-none');
                let column = [
+                   {name:'cloneCheckAll',customization:true,type:'checkAll',column:'id',
+                       dom:$('#cloneCheckAll').removeClass('d-none'), neglect: true},
                    {name:'index',value: '序号', neglect: true},
                    {name:'logisticNumber',value: '快递单号'},
                    {name:'carrierName',value: '物流公司'},
@@ -138,21 +137,27 @@
                    {name:'paperBoxName',value: '纸箱'},
                    {name:'status',value: '异常类型'},@endif
                ];
-               let header = new Header({
-                   el: "#header",
-                   column: column,
-                   data: this.weightExcepteds,
-                   restorationColumn: 'id',
-               });
-               header.init();
+               let _this = this;
+               setTimeout(function () {
+                   let header = new Header({
+                       el: "#header",
+                       column: column,
+                       data: _this.weightExcepteds,
+                       restorationColumn: 'id',
+                       vue : vue,
+                   });
+                   header.init();
+               },0);
             },
             watch:{
                 checkData:{
                     handler(){
                         if (this.checkData.length === this.weightExcepteds.length){
                             document.querySelector('#all').checked = true;
+                            document.querySelector('#all_temp').checked = true;
                         }else {
                             document.querySelector('#all').checked = false;
+                            document.querySelector('#all_temp').checked = false;
                         }
                     },
                     deep:true