tom
2023-12-06 9e968679ed2e6937aeb7b50a6c450d5d19251f42
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
<!doctype html>
<html>
    <head>
        <meta charset="utf-8"><meta http-equiv="Expires" content="0"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cache-control" content="no-cache"><meta http-equiv="Cache" content="no-cache">
        <title>物流信息</title>
        <script src="../../../js/vue/vue.js"></script>
        <script src="../../../js/vue/element-ui/lib/index.js"></script>
        <!-- <script src="../../../../js/vue/elementDefault.js"></script> -->
        <script src="../../../js/vue/axios/dist/axios.min.js"></script>
        <script src="../../../js/vue/page.js?v=20220615"></script>
        <script src="../../../js/myelement.js?v=20220615"></script>
        
        <link href="../../../js/vue/element-ui/lib/theme-chalk/index.css" rel="stylesheet">
        <link href="../../../css/myelement.css?v=20220425" rel="stylesheet">
        <link href="../../../css/iconfont.css" rel="stylesheet">
        <link href="../../../css/page.css?v=20220425" rel="stylesheet">
        <link href="//at.alicdn.com/t/font_2374495_mkoo966o0uo.css" rel="stylesheet">
    </head>
    
    <body>
        <div id="vbody">
            <div id="page_root">
                <div ref="popup_body" style="padding-right: 20px;">
                    <div class="el-dialog__header">
                        <div class="dialog-title">
                          <i class="iconfont icon-customermanagement"></i>
                          <span> {{formAttr.title}} </span>
                        </div>
                    </div>    
                    <div style="height: 550px; overflow-y: auto;">
                        <div class="el-dialog__body" >
                            <!-- <div style="margin: 0px 20px; height: 20px; line-height: 20px; font-size: 18px;">
                                <span style="float: left;">顺丰速运</span>
                                <span style="float: left; margin-left: 20px;">SF2021031219482365</span>
                            </div> -->
                            <el-collapse  v-model="activeNames"  accordion @change="handleChange">
                                <el-collapse-item  v-for="(key, value) in Item" :name ="key.id" >
                                    <template slot="title">
                                        <span>
                                            {{key.logisticsName}}{{key.logisticsNum}}
                                        </span>
                                    </template>
                                    <div style="overflow: auto;">
                                        <div v-if="key.driverName" style="margin-left: 50px">驾驶员姓名:{{key.driverName}}</div>
                                        <div v-if="key.plateNum" style="margin-left: 50px">车  牌  号:{{key.plateNum}}</div>
                                        
                                        <el-timeline style="margin-top: 20px; overflow: auto;">
                                            <el-timeline-item
                                                v-for="(logistics, index) in logistics"
                                                :key="index"
                                                :color="logistics.color"
                                                :timestamp="logistics.acceptTime">
                                                {{logistics.remark}}
                                            </el-timeline-item>
                                         </el-timeline>
                                    </div>
                                </el-collapse-item>
                            </el-collapse>
                        </div>
                    </div>
                    <div class="el-dialog__footer">
                        <el-button @click="hoauFaceOrder">天地华宇面单</el-button>
                        <el-button @click="SFFaceOrder">顺丰面单</el-button>
                      <el-button type="default" @click="closeDialog">关 闭</el-button>
                    </div>
                </div>
            </div>
            
            <div id="page_loading" style="position: absolute; top:0px; width: 100vw; height: 100vh;">
                <div class="spinner">
                  <div class="cube1"></div>
                  <div class="cube2"></div>
                </div>
            </div>
        </div>    
        
        <script type="text/javascript">
            new Vue({
                el: "#vbody",
                data: {
                    formAttr: {
                        istitle: false,
                        title: "物流信息",
                        columnnumber: 1,
                        labelwidth: "100px",
                        labelposition: "left",
                        size: "medium",
                        border: "0px solid #c6c6c600"
                    },
                    logistics: [],
                    Item:[],
                    activeNames:[],
                },
                
                created() {
                    this.popupParames = clone(Root.popupParames);
                    this.getLogistics();
                },
                
                mounted() {
                    let me = this;
                    me.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
                        document.getElementById('page_root').style.display =  "block";
                        document.getElementById('page_loading').style.display =  "none";
                        
                        //重新设置弹窗宽高
                        me.$nextTick(function(){
                            let w_ = me.$refs.popup_body.offsetWidth + "px";
                            let h_ = me.$refs.popup_body.offsetHeight + "px";
                            Root.setPopupWH(w_, h_);
                        })
                    });
                },
                
                methods:{
                    getLogistics() {
                        let me = this;
                        if (this.popupParames.data) {
                            this.formData = clone(this.popupParames.data);
                            let url = window.top.RootSetting.url_stock +  "order/getDeliveryLogistics/" +  me.formData.deo_id;
                            axios.get(url, {
                            })
                            .then(data => {
                              console.log(data);
                                if (data.data.success){
                                    me.Item = data.data.data;
                                    if(me.Item.length == 1){
                                        me.activeNames = [data.data.data[0].id]
                                        me.handleChange(data.data.data[0].id)
                                    }
                                }
                            })
                            .catch( (error) => {
                                console.log(error);
                            });
                        }
                    },
                    hoauFaceOrder() {
                        let me = this;
                        let url = window.top.RootSetting.url_stock +  "order/hoauFaceOrder/" +  me.formData.deo_id;
                        axios.get(url, {
                        })
                        .then(data => {
                          console.log(data);
                            if (data.data.success){
                                if(data.data.data &&  data.data.data.length > 0) {
                                    let config = {
                                        icon: "icon-product",
                                        text: "预览",
                                        url: "../logistics/logistics/popup/popup_file.html",
                                        data: data.data.data,
                                        delta: {},
                                        callback: function(obj, callback) {
                                            if (callback) {
                                                callback();
                                            }
                                        }
                                    };
                                    me.doPopup(config);
                                }else{
                                    Root.message({
                                        type:"warning",
                                        message:"面单数据为空"
                                    })
                                }
                            }
                        })
                        .catch( (error) => {
                            console.log(error);
                            Root.message({
                                type:"warning",
                                message:"查询失败"
                            })
                        });
                    },
                    doPopup: function(popupObj) {
                        var me = this;
                        var callback_ = popupObj.callback;
                        var width_ = popupObj.width ? popupObj.width : "900px";
                        var height_ = popupObj.height ? popupObj.height : "550px";
                        var hide_close_ =  popupObj.hide_close ? popupObj.hide_close : false;
                        
                        var parames = {
                            width: width_,
                            height: height_,
                            url: popupObj.url,
                            //title: popupObj.title,
                            text: popupObj.text,
                            sceneCode: popupObj.sceneCode,
                            data: popupObj.data,
                            delta: popupObj.delta,
                            disabled: popupObj.disabled,
                            disabledone: popupObj.disabledone,
                            hide_close: hide_close_,
                            callback: function(obj, callback) {
                                if (callback_) {
                                    callback_(obj);
                                }
                                if (callback) {
                                    callback();
                                }
                            }
                        };
                        
                        Root.popupParames = parames;
                        Root.showPopup(parames);
                    },
                    SFFaceOrder() {
                        let me = this;
                        let url = window.top.RootSetting.url_stock +  "order/SFFaceOrder/"  +  me.formData.deo_id ;
                        axios.get(url, {
                        })
                        .then(data => {
                          console.log(data);
                            if (data.data.success ){
                                let config = {
                                    icon: "icon-product",
                                    text: "预览",
                                    url: "../logistics/logistics/popup/sf_popup.html",
                                    data: data.data.data,
                                    width:"1050px",
                                    height:"550px",
                                    delta: {},
                                    callback: function(obj, callback) {
                                        if (callback) {
                                            callback();
                                        }
                                    }
                                };
                                me.doPopup(config);
                                
                            }else{
                                Root.message({
                                    type:"warning",
                                    message:data.data.message
                                })
                            }
                        })
                        .catch( (error) => {
                            console.log(error);
                            Root.message({
                                type:"warning",
                                message:"查询失败"
                            })
                        });
                    },
                    handleChange(val){
                        if(val){
                            let me = this;
                            let url = window.top.RootSetting.url_stock +  "order/logistics/" + val;
                            axios.get(url, {
                            })
                            .then(data => {
                              console.log(data);
                                if (data.data.success){
                                    me.logistics = data.data.data.data[0].routes;
                                }else{
                                    Root.message({
                                        type:"warning",
                                        message:data.data.message
                                    })
                                }
                            })
                            .catch( (error) => {
                                console.log(error);
                            }); 
                        }
                    },
                    closeDialog() {
                        if(this.popupParames.totab) {
                            Root.tab.removeItem(Root.tab.selected);
                            Root.tab.open(me.popupParames.parentOption, false);
                        }
                        else {
                            Root.hidePopup();
                        }
                    },
                }
            });
        </script>
    </body>
</html>