zhangyanpeng
2024-05-29 1f227a1cf627526701c652ba84bae3e430bba8d3
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
417
418
419
420
421
422
423
424
425
426
<!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>备案信息ById</title>
        
        <script type="text/javascript">
            var pageVue = null;
            function loadJsCss(callback) {
                var jscss_urls = [];
                window.top.initJsCss(document, jscss_urls, callback);
            };
            
            function initVue() {
                new BasicsVue({
                    el: "#vbody",
                    data: {
                        //dataname:  "agm_record", 
                        form_dataname: "agm_record",
                        //table_dataname: "receiptDetail",
                        dataRequest: [],
                        
                        title: "备案信息",
                        formAttr: {
                            istitle: false,
                            title: "备案信息",
                            columnnumber: 2,
                            labelwidth: "110px",
                            labelposition: "left",// right
                            size: "medium",
                            border: "0px solid #c6c6c600"
                        },
                        formFields: [
                            {isshow: "T", field: "code", name: "备案号", type: "span", notvalunit: true},
                            {isshow: "T", field: "versionno", name: "版本号", type: "span", notvalunit: true},
                            
                            {isshow: "T", field: "creator_name", name: "创建人", type: "span", notvalunit: true},
                            {isshow: "T", field: "create_time", name: "创建时间", type: "span", notvalunit: true},
                            //{isshow: "T", field: "customer_id", name: "客户-id"},
                            {isshow: "T", field: "customer_name", name: "客户名称", type: "popup", notvalunit: true},
                            //{isshow: "T", field: "product_id", name: "产品-id"},
                            {isshow: "T", field: "product_name", name: "产品名称", type: "popup", notvalunit: true},
                            {isshow: "T", field: "customer_code", name: "客户编码", type: "span", notvalunit: true},
                            {isshow: "T", field: "product_code", name: "产品编码", type: "span", notvalunit: true},
                            //{isshow: "T", field: "type_code", name: "类型编码", type: "selectbyadd", isrefresh: true, options: [{label: "选项1",value: "s1"}, {label: "选项2",value: "s2"}], notvalunit: true},
                            {isshow: "T", field: "type_code", name: "类型", type: "select", isrefresh: true, options: [{label: "主渠道",value: "ZQD"}, {label: "佣金",value: "YJ"}, {label: "二次议价",value: "ECYJ"}], notvalunit: true},
                            //{isshow: "T", field: "type_name", name: "类型名称", type: "select", isrefresh: true, options: [{label: "主渠道",value: "ZQD"}, {label: "佣金",value: "YJ"}, {label: "二次议价",value: "ECYJ"}], notvalunit: true},
                            //{isshow: "T", field: "state_code", name: "状态-编码"},
                            //{isshow: "T", field: "state_name", name: "状态名称", notvalunit: true},
                            {isshow: "T", field: "price_raw", name: "原始价格/政策价格", labelwidth: "140px", align: "right", notvalunit: true},
                            {isshow: "T", field: "rate", name: "扣率", align: "right", valunit: "%"},
                            {isshow: "T", field: "price", name: "价格/补偿单价", align: "right", notvalunit: true},
                            {isshow: "T", field: "date_from", name: "生效时间", type: "date", notvalunit: true},
                            {isshow: "T", field: "date_to", name: "失效时间", type: "date", notvalunit: true},
                            {isshow: "T", field: "remark", name: "备注", type: "textarea", notvalunit: true},
                            //{isshow: "T", field: "creator_id", name: "创建人-id"},
                            
                            // {isshow: "T", field: "update_time", name: "更新时间", notvalunit: true},
                        ],
                        newRowDefault: {
                            //id: uuid_short(),
                            code: createCode("BA"),
                            versionno: "1",
                            create_time: createDatetime(),
                            state_code: "Input",
                        },
                        formData: {},
                        isWithinEditTableData: false,
                        notdisabled: true,
                        Approval: false,
                        
                        tableData2: [],
                        
                        isCommit: false,
                        
                    },
                    created() {
                        this.popupParames = clone(Root.popupParames);
                        
                        if (this.popupParames.data) {
                            this.formData = 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 == "add") {
                                if (this.newRowDefault) {
                                    let formData_ = clone(this.formData);
                                    
                                    for (var k in this.newRowDefault) {
                                        formData_[k] = this.newRowDefault[k];
                                    }
                                    this.formData = formData_;
                                }
                            }
                            else if (this.popupParames.sceneCode == "draw") {
                                this.formAttr.disabled = true;
                                this.isWithinEditTableData = false;
                                this.notdisabled = false;
                                this.Approval = false;
                            }
                        }
                    },
                    
                    mounted() {
                        var me = this;
                        //预加载数据
                        if (this.dataRequest.length) {
                            var result = {};
                            this.loadRequestData(this.dataRequest, result, function(data) {
                                me.dataRequestObj = data;
                                //预加载数据后给哪些字段设置options或formatterjson
                                
                                me.initData();
                            });
                        }
                        else {
                            this.initData();
                        }
                        
                        this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
                            hideLoading();
                            
                            //重新设置弹窗宽高
                            this.$nextTick(function(){
                                //let w_ = this.$refs.popup_body.offsetWidth + "px";
                                let w_ = "900px";
                                let h_ = this.$refs.popup_body.offsetHeight + "px";
                                Root.setPopupWH(w_, h_);
                            })
                        });
                    },
                    
                    methods:{
                        closeDialog() {
                            var me = this;
                            if (me.popupParames.totab){
                                Root.tab.removeItem(Root.tab.selected);
                                Root.tab.open(me.popupParames.parentOption, false); 
                            }
                            else {
                                Root.hidePopup();
                            }
                        },
                        saveAfter() {//调回调的关闭
                            var me = this;
                            if(this.popupParames.callback) {
                                let obj = {
                                    //row: this.formData
                                }
                                this.popupParames.callback(obj, function() {
                                    me.closeDialog();
                                });
                            }
                            else {
                                me.closeDialog();
                            }
                        },
                        
                        initData() {
                            let me = this
                            let filter_table = "";
                            
                            // if (this.formData.id) {
                            //     filter_table = "parentid = '" + this.formData.id + "'";
                            // }
                            
                            // let param_table = {
                            //     isClientMode: false,
                            //     dataname: this.table_dataname,
                            //     filter: filter_table,
                            // }
                            
                            // Server.call("root/data/getEntitySet", param_table, function(result) {
                            //     if (result && result.data) {
                            //         me.tableData2= result.data.entityset;
                            //     }
                            // });
                        },
                        
                        submitRowTable() {
                            this.isCommit = true;
                            this.saveRowTable();
                        },
                        
                        saveRowTable() {
                            var me = this;
                            
                            var operator_ = "save";//保存
                            
                            if(me.isCommit) {
                                operator_ = "commit";//提交
                            }
                            
                            var entity_ = clone(this.formData);
                            var entity = {};
                            for (var r in entity_) {
                                if (entity_[r] || entity_[r] == "" || entity_[r] == false || entity_[r] == 0) {
                                    entity[r] = entity_[r];
                                }
                            }
                            
                            let param = {
                                isClientMode: false,
                                dataname: this.form_dataname,
                                // operator: operator_,
                                data: {},
                            }
                            param.data[this.form_dataname] = entity;
                            
                            Server.call("dmsroot/data/saveEntity", param, function(result) {
                                console.log(result);
                                if (result.success) {
                                    if(me.isCommit){
                                        me.isCommit = false;
                                        Root.message({
                                            type: 'success',
                                            message: '提交成功'
                                        }); 
                                        me.saveAfter();
                                        // let param = {
                                        //     isClientMode: false,
                                        //     dataname: me.form_dataname,
                                        //     operator: "commit",
                                        //     id: result.data.id,
                                        //     //state: "working"//"commit"
                                        // }
                                        // Server.call("root/data/exec", param, function(result) {
                                        //     console.log(result);
                                            
                                        //     Root.message({
                                        //         type: 'success',
                                        //         message: '提交成功'
                                        //     }); 
                                        //     me.saveAfter();
                                        // });
                                    }
                                    else {
                                        Root.message({
                                            type: 'success',
                                            message: '保存成功'
                                        }); 
                                        me.saveAfter();
                                    }
                                }
                                
                            });
                        },
                        
                        selectOptionOperate(obj) {
                            let me = this;
                            if (obj.type == "add") {
                                if (obj.fieldobj.field == "type_code") {
                                    
                                    
                                    /* Root.showPopup({
                                        url: "../md/customer/popup/customer_list.html",
                                        width: 800,
                                        height: 550,
                                        data: this.oldObj,
                                        dataname: "customer",
                                        callback: function(obj, callback) {
                                            let formData_ = clone(me.formData);
                                            formData_.customer_name = obj.row.md_description;
                                            formData_.customer_code = obj.row.md_code;
                                            formData_.customer_id = obj.row.id;
                                            formData_.province_name = obj.row.province;
                                            
                                            me.formData = formData_;
                                            if (callback) {
                                                callback();
                                            }
                                        }
                                    }); */
                                }
                            }
                            
                        },
                        
                        formChange(obj) {
                            let me = this;
                            if (obj.fieldobj.field == "type_code") {
                                obj.data.type_name = clone(obj.selectoption.label);
                            }
                            
                        },
                        
                        selectChange(obj) {
                            let me = this;
                            if (obj.fieldobj.field == "type_code") {
                                obj.data.type_name = clone(obj.selectoption.label);
                            }
                            
                        },
                        
                        showPopup(obj) {
                            let me = this;
                            this.selectFormField = obj.obj;
                            if (this.selectFormField.field == "customer_name") {
                                
                                Root.showPopup({
                                    url: "../md/customer/popup/customer_list.html",
                                    width: 800,
                                    height: 550,
                                    data: this.oldObj,
                                    dataname: "customer",
                                    callback: function(obj, callback) {
                                        let formData_ = clone(me.formData);
                                        formData_.customer_name = obj.row.md_description;
                                        formData_.customer_code = obj.row.md_code;
                                        formData_.customer_id = obj.row.id;
                                        // formData_.province_name = obj.row.province;
                                        
                                        me.formData = formData_;
                                        if (callback) {
                                            callback();
                                        }
                                    }
                                });
                            }
                            if (this.selectFormField.field == "delivery_part_name") {
                                Root.showPopup({
                                    url: "../org/company/popup/managesubject_list.html",
                                    width: 800,
                                    height: 550,
                                    dataname:"getDelivery_part_name",
                                    type :"managesubjectname",
                                    callback: function(obj, callback) {
                                        let formData_ = clone(me.formData);
                                        formData_.delivery_part_name = obj.row.delivery_part_name;
                                        formData_.delivery_part_code = obj.row.delivery_part_code;
                                        me.formData = formData_;
                                        if (callback) {
                                            callback();
                                        }
                                    }
                                });
                            }
                            if (this.selectFormField.field == "product_name") {
                                Root.showPopup({
                                    url: "../md/product/popup/sku_list.html",
                                    width: 800,
                                    height: 550,
                                    callback: function(obj, callback) {
                                        let formData_ = clone(me.formData);
                                        
                                        formData_.product_id = obj.row.id;
                                        formData_.product_code = obj.row.md_code;
                                        formData_.product_name = obj.row.md_description;
                                        //formData_.spec = obj.row.pack_specification;
                                        
                                        me.formData = formData_;
                                        if (callback) {
                                            callback();
                                        }
                                    }
                                });
                            }
                        },
                    }
                });
            };
            
            loadJsCss(function () {
                initVue();
            });
        </script>
        <style>
            /*  在vue.js中 v-cloak 这个指令是防止页面加载时出现 vuejs 的变量名而设计的 */
            [v-cloak] {
                display: none !important;
            }
        </style>
        
    </head>
    
    <body style="margin: 0px;">
        <div v-cloak id="vbody">
            <div id="page_root">
                <div ref="popup_body" style="padding: 0 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">
                            <h-form
                                ref="form1"
                                :form-attr="formAttr"
                                :table-fields="formFields"
                                :form-data="formData"
                                
                                v-on:form-change="formChange"
                                v-on:select-change="selectChange"
                                
                                v-on:show-popup="showPopup"
                                v-on:select-option-operate="selectOptionOperate"
                            >
                            </h-form>
                        </div>
                    </div>
                    <div class="el-dialog__footer">
                        <el-button size="small" v-if="notdisabled" type="primary" @click="saveRowTable":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button>
                        <el-button size="small" v-if="notdisabled" type="success" @click="submitRowTable":icon="buttonsconfig.submit.icon">{{buttonsconfig.submit.name}}</el-button>
                        <el-button size="small" type="default" @click="closeDialog">取 消</el-button>
                    </div>
                </div>
            </div>
            
            <div id="page_loading" style="position: absolute; top:0px; width: 100vw; height: 50vh;">
                <div class="spinner">
                  <div class="cube1"></div>
                  <div class="cube2"></div>
                </div>
            </div>
        </div>    
        
    </body>
</html>