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
<!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/elementDefault.js"></script> -->
        <script src="../../../js/vue/page.js"></script>
        <script src="../../../js/myelement.js"></script>
        <script src="../../../data/data.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 id="page_root">
                <div ref="popup_body">
                    <div class="el-dialog__header">
                        <div class="dialog-title">
                            <i class="iconfont icon-customermanagement"></i>
                            <span> {{formAttr.title}} </span>
                        </div>
                    </div>
                    <div class="el-dialog__body">
                        <h-form ref="form1" :form-attr="formAttr" :table-fields="tableFields" :form-data="formData" v-on:show-popup="showPopup">
                        </h-form>
                    </div>
 
                    <div class="el-dialog__footer">
                        <el-button-group  style="margin: 0px 20px;">
                            <el-button v-if="addApproval" type="success" @click="passApproval">开户</el-button>
                            <el-button v-if="Approval" type="success" @click="passApproval">通过</el-button>
                            <el-button v-if="Approval" type="danger" @click="refuseApproval">拒绝</el-button>
                            
                        </el-button-group>
                        <el-button type="default" @click="closeDialog">取 消</el-button>
                        <el-button  v-if="notdisabled" type="primary" @click="saveRowTable">保 存</el-button>
                    </div>
                </div>
 
                <el-dialog title="选择" :visible.sync="popupByFieldsDialog">
                    {{selectFormField.field}}
                    {{selectFormField.dataurl}}
 
                    <div slot="footer" class="dialog-footer">
                        <el-button @click="popupByFieldsDialog = false">取 消</el-button>
                        <el-button type="primary" @click="saveFormValByField('123')">确 定</el-button>
                    </div>
                </el-dialog>
            </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: {
                    notdisabled: true,
                    Approval:false,
                    addApproval:false,
                    formAttr: {
                        istitle: false,
                        title: "客户信息",
                        columnnumber: 3,
                        labelwidth: "100px",
                        labelposition: "right",
                        size: "medium",
                        border: "10px solid #c6c6c600"
                    },
                    tableFields: [
                        {field: "field1", name: "编号", isshow: "T", align: "center", width: "70", required: true, disabled:false, iscellclick: true},
                        {field: "field2", name: "商业名称", isshow: "T", colspan: 2, required: true},
                        {field: "field3", name: "别名", isshow: "F", colspan: 2},
                        {field: "field4", name: "省份", isshow: "T", align: "center", required: true, type: "select", options: dataRoot.database.province},
                        {field: "field5", name: "类别", isshow: "T", align: "center", width: "70", type: "select", options: dataRoot.database.customertype},
                        {field: "field6", name: "等级", isshow: "T", align: "center", width: "70", type: "select", options: dataRoot.database.agenciesgrade},
                        {field: "field7", name: "联系人", isshow: "T", align: "center", width: "60"},
                        {field: "field9", name: "地址", isshow: "T", colspan: 2},
                        {field: "field8", name: "联系电话", isshow: "T", align: "center", width: "110", pattern:/^1[34578]\d{9}$/},
                        {field: "field10", name: "状态", isshow: "T", colspan: 1, align: "center", width: "100"},
                        {field: "field11", name: "资质", isshow: "F", colspan: 1, align: "center", iscellclick: true, width: "60"},
                        {field: "field12", name: "法人代表", isshow: "T", colspan: 1, align: "center", width: "60"},
                        {field: "field13", name: "资质等级", isshow: "T", colspan: 1, align: "center", width: "60", type: "select", options: dataRoot.database.customergrade},
                    ],
 
                    formData: {},
                    selectFormField: {},
                    popupByFieldsDialog: false,
                    popupParames: {},
                },
                created() {
                    this.popupParames = clone(Root.popupParames);
                },
 
                mounted() {
                    if (this.popupParames.disabled) {
                        this.formAttr.disabled = true;
                        this.isEditTableData = false;
                        this.isWithinEditTableData = false;
                        this.notdisabled = false;
                        this.Approval = true;
                    }
                    if (this.popupParames.disabledone) {
                        this.formAttr.disabled = true;
                        this.isEditTableData = false;
                        this.isWithinEditTableData = false;
                        this.notdisabled = false;
                        this.addApproval = true;
                        
                    }
                    if (this.popupParames.data) {
                        this.formData = clone(this.popupParames.data);
                    }
                    if (this.popupParames.tableFields) {
                        this.tableFields = this.popupParames.tableFields;
                    }
                    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: {
                        
                    closeDialog() {
                        Root.hidePopup();
                    },
                    passApproval() {
                        if(this.popupParames.callback) {
                            if(this.formData.statecode == "commit"){
                                this.formData.statecode = "open";
                            }else if(this.formData.statecode == "未开户"){
                                this.formData.statecode = "审批中";
                            }
                            let obj = {
                                row: this.formData
                            }
                            this.popupParames.callback(obj, function() {
                                Root.hidePopup();
                            });
                        }
                        else {
                            alert("该按键事件缺失!")
                        }
                    },
                    
                    refuseApproval() {
                        if(this.popupParames.callback) {
                            this.formData.statecode = "待修改";
                            let obj = {
                                row: this.formData
                            }
                            this.popupParames.callback(obj, function() {
                                Root.hidePopup();
                            });
                        }
                        else {
                            alert("该按键事件缺失!")
                        }
                    },
                    saveRowTable() {
                        let me = this;
                        if (this.popupParames.callback) {
                            let obj = {
                                row: this.formData
                            }
                            this.popupParames.callback(obj, function() {
                                parent.hidePopup(frameElement.parentNode.parentNode);
                            });
                        } else {
                            alert("该按键事件缺失!")
                        }
                    },
 
                    //表单
                    showPopup(obj) {
                        this.selectFormField = obj.obj;
                        this.popupByFieldsDialog = true;
                    },
                    saveFormValByField(val) {
                        this.popupByFieldsDialog = false;
                        this.$refs.form1.setFormValByField(this.selectFormField, val);
                    },
                }
            });
        </script>
 
    </body>
</html>