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
<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>政策备案错误详情</title>
        <script src="../../../../js/vue/vue.js"></script>
        <script src="../../../../js/vue/element-ui/lib/index.js"></script>
        <script src="../../../../js/vue/page.js"></script>
        <script src="../../../../js/myelement.js"></script>
        
        <link href="../../../../js/vue/element-ui/lib/theme-chalk/index.css" rel="stylesheet">
        <link href="../../../../css/myelement.css" rel="stylesheet">
        <link href="../../../../css/iconfont.css" rel="stylesheet">
        <link href="../../../../css/page.css" rel="stylesheet">
        <link href="//at.alicdn.com/t/font_2374495_mkoo966o0uo.css" rel="stylesheet">
    </head>
    
    <body>
        <div id="vbody">
            <div >
                <div ref="popup_body" style="padding-right: 20px;">
                    <div class="el-dialog__header">
                        <div class="dialog-title">
                            <i class="iconfont icon-customermanagement"></i>
                            <span> 错误详情 </span>
                        </div>
                    </div>    
                    <div style="height: 550px; overflow-y: auto;" id="page_root">
                        <div class="el-dialog__body">
                            <el-collapse v-model="activeNames">
                              <el-collapse-item v-for="(oitem,index) in messageList" :title="oitem.title" :name="oitem.index">
                                  <div
                                    style="margin-top: 5px;"
                                    v-for="(item,index) in oitem.errorList"
                                   >
                                    <el-alert
                                      :title="item.error_title"
                                      type="warning"
                                      :description="item.error_message"
                                      :closable="false"
                                      show-icon>
                                    </el-alert>
                                  </div>
                              </el-collapse-item>
                            </el-collapse>
                        </div>
                    </div>
                    <div class="el-dialog__footer">
                        <el-button type="primary" :loading="isLoading" @click="submit">继续提交</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;z-index:9999">
                <div class="spinner">
                  <div class="cube1"></div>
                  <div class="cube2"></div>
                </div>
            </div>
        </div>    
        
        <script type="text/javascript">
            new ListVue({
                el: "#vbody",
                data: {
                    activeNames:['0'],
                    messageList:[],
                    isLoading:false
                },
                
                created() {
                    this.popupParames = clone(Root.popupParames);
                    this.messageList = clone(this.popupParames.data);
                },
                
                mounted() {
                    
                    this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
                        document.getElementById('page_root').style.display =  "block";
                        document.getElementById('page_loading').style.display =  "none";
                        //重新设置弹窗宽高
                        this.$nextTick(function(){
                            let w_ = this.$refs.popup_body.offsetWidth + "px";
                            let h_ = this.$refs.popup_body.offsetHeight + "px";
                            Root.setPopupWH(w_, h_);
                        })
                    });
                },
                
                methods:{
                    onServerInitData(){
                        
                    },
                    closeDialog(){
                        if(this.popupParames.callback) {
                            this.popupParames.callback({type:"close"},function(){Root.hidePopup()});
                        }
                    },
                    submit(){
                        if(this.popupParames.callback) {
                            this.isLoading = true;
                            this.popupParames.callback({type:"submit"},function(){Root.hidePopup()});
                        }
                    }
                }
            });
        </script>
        <style>
            .el-collapse-item__header{
                font-size: 14px;
            }
        </style>
    </body>
</html>