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
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
<!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>
                            <el-button-group  style="margin: 0px 20px;float: right;">
                                <!-- <el-button type="success" @click="qualifications">资质</el-button> -->
                                <el-button type="success" @click="Credit">资信</el-button>
                            </el-button-group>
                        </div>
                        <div v-if="formData.statecode == 'open'" class="h_seal">
                            <div style="margin: 0 auto; text-align: center;">{{formData.statecode}}</div>
                        </div>
                    </div>
                    <div class="el-dialog__body" style="height: 400px;">
                        <el-collapse v-model="activeNames" @change="handleChange">
                            <el-collapse-item name="1">
                                <template slot="title">
                                    <i class="header-icon el-icon-info"></i>
                                    <span>
                                        基本信息
                                    </span>
                                </template>
                                <h-form ref="form1" :form-attr="formAttr" :table-fields="tableFields" :form-data="formData" v-on:show-popup="showPopup">
                                </h-form>
                            </el-collapse-item>
                            
                            <el-collapse-item name="2">
                                <template slot="title">
                                    <i class="header-icon el-icon-info"></i>
                                    <span>
                                        资质证照
                                    </span>
                                </template>
                                <el-button-group v-if="notdisabled" style="float: right; margin-top: 10px; margin-right: 30px;">
                                    <el-upload action="#" >
                                        <el-button type="primary" >点击上传</el-button>
                                    </el-upload>
                                </el-button-group>
                                <div >
                                    <img v-for="(item, k) in certificateList" :key="k" :src="item.url" height="100px" style="margin-right: 5px;" />
                                </div>
                            </el-collapse-item>
                            <el-collapse-item name="3">
                                <template slot="title">
                                    <i class="header-icon el-icon-info"></i>
                                    <span>
                                        地址列表
                                    </span>
                                </template>
                                <el-button-group v-if="notdisabled" style="float: right; margin-top: 10px; margin-right: 30px;">
                                    <el-button @click="addTableData">新增数据</el-button>
                                </el-button-group>
                                
                                <h-table
                                    v-if="isRefresh"
                                    ref="table1"
                                    :table-fields="tableFields2" 
                                    :table-data="tableData" 
                                    :is-edit-table-data="isEditTableData"
                                    :is-within-edit-table-data= "isWithinEditTableData"
                                    :table-height="tableHeight2"
                                    :is-pagination="false"
                                    
                                >
                                </h-table>
                            </el-collapse-item>
                        </el-collapse>
                        
                    </div>
 
                    <div class="el-dialog__footer">
                        <el-button-group  style="margin: 0px 20px;">
                            <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,
                    
                    formAttr: {
                        istitle: false,
                        title: "经销商信息",
                        columnnumber: 3,
                        labelwidth: "100px",
                        labelposition: "right",
                        size: "medium",
                        border: "3px solid #c6c6c600",
                        
                        formatter: function(data, fields) {
                            
                        }
                    },
                    tableFields: [],
                    /* 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: "field11", name: "资质", isshow: "F", colspan: 1, align: "center", iscellclick: true, width: "60"},
                        {field: "field12", name: "法人代表", isshow: "T", colspan: 1, align: "center", 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},
                        {field: "field16", name: "授信额度", isshow: "T"},
                        {field: "field10", name: "状态", isshow: "F", colspan: 1, align: "center", width: "100"},
                    ], */
 
                    formData: {},
                    selectFormField: {},
                    popupByFieldsDialog: false,
                    popupParames: {},
                    
                    activeNames: ["1"],
                    certificateList: [
                        {url: "../../../img/Businesslicense.jpg"},
                        {url: "../../../img/Organization.jpg"},
                        {url: "../../../img/Taxregistrationcertificate.jpg"},
                    ],
                    
                    isRefresh: true,
                    isEditTableData: false,
                    isWithinEditTableData: true,
                    tableFields2: [
                        {field: "field1", name: "关联商业id", isshow: "F"},
                        {field: "field2", name: "关联商业名称", isshow: "F"},
                        {field: "field7", name: "联系人", isshow: "T", type: "input", align: "center", width: "100"},
                        {field: "field8", name: "联系电话", isshow: "T", type: "input", align: "center", width: "140", pattern:/^1[34578]\d{9}$/},
                        {field: "field9", name: "地址", isshow: "T", type: "input", colspan: 2}
                    ],
                    tableData: [],
                    
                    tableHeight2: 200,
                    
                    newRowDefault: {
                        statecode: "input",
                        state: "input"
                    }
                },
                created() {
                    this.popupParames = clone(Root.popupParames);
                },
 
                mounted() {
                    if (this.popupParames.data) {
                        this.formData = clone(this.popupParames.data);
                        this.tableData.push(clone(this.popupParames.data));
                    }
                    
                    if (this.popupParames.sceneCode) {
                        if (this.popupParames.sceneCode == "browse") {
                            this.formAttr.disabled = true;
                            this.isWithinEditTableData = false;
                            this.notdisabled = false;
                            this.Approval = false;
                        }
                        else if (this.popupParames.sceneCode == "approval") {
                            this.formAttr.disabled = true;
                            this.isWithinEditTableData = false;
                            this.notdisabled = false;
                            this.Approval = true;
                        }
                        else if (this.popupParames.sceneCode == "add") {
                            if (this.newRowDefault) {
                                let formData_ = clone(this.formData);
                                
                                for (var k in this.newRowDefault) {
                                    formData_[k] = this.newRowDefault[k];
                                }
                                this.formData = formData_;
                            }
                        }
                    }
                    
                    this.tableFields = dataRootFields.formFields.customer_;
                    
                    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) {
                            
                                this.formData.state = "completed";
                            
                            let obj = {
                                row: this.formData
                            }
                            this.popupParames.callback(obj, function() {
                                Root.hidePopup();
                            });
                        }
                        else {
                            alert("该按键事件缺失!")
                        }
                    },
                    
                    handleChange(val) {
                        console.log(val);
                    },
                    addTableData() {
                        let row_ = {
                            isWithinEdit: true
                        };
                        for (var i = 0; i < this.tableFields2.length; i++) {
                            let field_ = this.tableFields2[i].field;
                            row_[field_]="";
                        } 
                        this.tableData.unshift(row_);
                        /* this.isRefresh = false;
                        this.$nextTick(function(){
                            this.isRefresh = true;
                        }) */
                    },
                    
                    qualifications(obj){
                        this.openMsg1("disabled", obj.row);
                    },
                    Credit(obj){
                        this.openMsg2("showCredit", obj.row);
                    },
                    openMsg1(code, row) {
                        let me = this;
                        Root.popupParames = {
                            width: "900px",
                            //height: "580px",
                            url: "../md/customer/certificate_list.html",
                            callback: function(obj, callback) {
                                me.saveRowTable_popup(obj);
                                if (callback) {
                                    callback();
                                }
                            }
                        };
                         if (code == "disabled") {
                            Root.popupParames.data = row;
                            Root.popupParames.disabled = true;
                            Root.popupParames.imgUrl1 = "../../../img/Businesslicense.jpg"
                            Root.popupParames.imgUrl2 = "../../../img/Organization.jpg"
                            Root.popupParames.imgUrl3 = "../../../img/Taxregistrationcertificate.jpg"
                        }
                        Root.showPopup(Root.popupParames);
                    },
                    openMsg2(code, row) {
                        let me = this;
                        Root.popupParames = {
                            width: "900px",
                            //height: "580px",
                            url: "../tool/credit_status.html",
                            callback: function(obj, callback) {
                                me.saveRowTable_popup(obj);
                                if (callback) {
                                    callback();
                                }
                            }
                        };
                         if (code == "disabled") {
                            Root.popupParames.data = row;
                            Root.popupParames.disabled = true;
                        }
                        Root.showPopup(Root.popupParames);
                    },
                    refuseApproval() {
                        if(this.popupParames.callback) {
                            this.formData.field10 = "待修改";
                            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() {
                                Root.hidePopup();
                            });
                        } else {
                            alert("该按键事件缺失!")
                        }
                    },
 
                    //表单
                    showPopup(obj) {
                        this.selectFormField = obj.obj;
                        this.popupByFieldsDialog = true;
                    },
                    saveFormValByField(val) {
                        this.popupByFieldsDialog = false;
                        this.$refs.form1.setFormValByField(this.selectFormField, val);
                    },
                    
                }
            });
        </script>
        
        <style>
            .el-collapse {
                border: 0;
            }
            .el-collapse-item__content {
                padding-bottom: 5px;
            }
            .el-collapse-item__header {
                height: 30px;
                line-height: 30px;
            }
            .el-collapse-item__header.is-active {
                border-bottom-color: #e9f5f2;
            }
            .el-collapse-item__wrap {
                border: 0;
            }
            .h_seal {
                color: red;
                font-weight: bold;
                font-size: 14px;
                border: 3px solid red;
                border-radius: 50%;
                padding: 5px;
                height: 50px;
                line-height: 50px;
                width: 50px;
                
                position: absolute;
                top:30px; 
                right: 150px; 
                z-index: 1000;
                transform:rotate(-45deg);
                -ms-transform:rotate(-45deg);
                -moz-transform:rotate(-45deg);
                -webkit-transform:rotate(-45deg);
                -o-transform:rotate(-45deg); 
            }
        </style>
 
    </body>
</html>