zhao
2021-07-19 8347f2fbddbd25369359dcb2da1233ac48a19fdc
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
@{
    ViewBag.Title = "SysConfig";
    Layout = "~/Views/Shared/_LayoutVue.cshtml";
}
@section head{
    <style>
        /*.el-input {
            font-size: 14px;
            display: inline-block;
            width: 120px;
        }*/
    </style>
}
<el-container id="idMain">
    <el-row>
        <el-form label-width="150px" v-bind:model="formData" class="demo-ruleForm" ref="formData" label-width="300px">
            <el-form-item required label="WmsApi:">
                <el-input v-model="wmsApi" size="mini" style="width: 120px"></el-input>
                <i class="el-icon-circle-check" v-show="wmsTestOk" style=" color:blue"></i>
                <i class="el-icon-circle-close" v-show="wmsTestErr" style="color:red"></i>
                <el-button size="mini" type="primary" v-on:click="testWmsApi(true)">测试</el-button>
            </el-form-item>
            <el-form-item required label="AppCode:">
                <el-input v-model="formData.APP_CODE" required size="mini" style="width: 120px"></el-input>
            </el-form-item>
            <el-form-item required label="AppName:">
                <el-input v-model="formData.APP_NAME" size="mini" style="width: 120px"></el-input>
            </el-form-item>
            <el-form-item required label="数据库类型:">
                <hh-select-url v-model="formData.DB_TYPE"
                               v-bind:options="dbTypeOptions"></hh-select-url>
            </el-form-item>
            <el-form-item required label="数据库链接:">
                <el-input v-model="formData.DB_URL" size="mini" style="width: 660px"></el-input>
                <i class="el-icon-circle-check" v-show="dbTestOk" style="color:blue"></i>
                <i class="el-icon-circle-close" v-show="dbTestErr" style="color:red"></i>
                <el-button size="mini" type="primary" v-on:click="testDb">测试</el-button>
            </el-form-item>
            <el-form-item required label="AutoBom API:">
                <el-input v-model="formData.AUTOBOM" size="mini" style="width: 240px">
                    <template slot="prepend">
                        Http://
                    </template>
                </el-input>
                <i class="el-icon-circle-check" v-show="autobomTestOk" style=" color:blue"></i>
                <i class="el-icon-circle-close" v-show="autobomTestErr" style="color:red"></i>
                <el-button size="mini" type="primary" v-on:click="testAutobom">测试</el-button>
            </el-form-item>
            <el-form-item required label="RedisPath:">
                <el-input v-model="formData.REDIS" size="mini" style="width: 240px"></el-input>
                <el-input v-model="formData.REDIS_DB" size="mini" style="width: 50px"></el-input>
            </el-form-item>
            <el-form-item required label="MongoDb URL:">
                <el-input v-model="formData.MIP" size="mini" style="width: 120px"></el-input>:
                <el-input v-model="formData.MPORT" size="mini" style="width: 60px"></el-input>
            </el-form-item>
            <el-form-item required label="MongoDB_Name:">
                <el-input v-model="formData.MDB" size="mini" style="width: 120px"></el-input>
            </el-form-item>
            <el-form-item required label="MongoDB_User:">
                <el-input v-model="formData.MUSER" size="mini" style="width: 120px"></el-input>
            </el-form-item>
            <el-form-item required label="MongoDB_Password:">
                <el-input v-model="formData.MPWD" size="mini" style="width: 120px"></el-input>
            </el-form-item>
 
            <el-form-item required label="UI部署根路径:">
                <el-input v-model="formData.UI_ROOT_PATH" size="mini" style="width:420px"></el-input>
            </el-form-item>
 
            <el-form-item label="KdEID:">
                <el-input v-model="formData.KdEID" size="mini" style="width: 200px"></el-input>
            </el-form-item>
            <el-form-item label="KdEAppKey:">
                <el-input v-model="formData.KdEAppKey" size="mini" style="width: 220px"></el-input>
            </el-form-item>
            <el-form-item label="KdEReqURL:">
                <el-input v-model="formData.KdEReqURL" size="mini" style="width: 420px"></el-input>
            </el-form-item>
            <el-form-item label="PdaServerVersion:">
                <el-input v-model="formData.PdaServerVersion" size="mini" style="width: 240px"></el-input>
            </el-form-item>
            <el-form-item label="PdalastForce:">
                <el-input v-model="formData.PdalastForce" size="mini" style="width: 240px"></el-input>
            </el-form-item>
            <el-form-item label="PdaUpdateUrl:">
                <el-input v-model="formData.PdaUpdateUrl" size="mini" style="width: 420px"></el-input>
            </el-form-item>
 
 
            <el-form-item label="OMS_API:">
                <el-input v-model="formData.OMS_API" size="mini" style="width: 420px"></el-input>
            </el-form-item>
        </el-form>
    </el-row>
    <el-footer>
        <el-row style="padding:10px;text-align:center">
            <el-button size="mini" type="primary" v-on:click="save">保 存</el-button>
        </el-row>
    </el-footer>
</el-container>
 
@section scripts{
    <script src="~/Content/js/linq.js_ver2.2.0.2/linq.js"></script>
    <script>
        new Vue({
            el: '#idMain',
            data: {
                dbTypeOptions: [
                    {
                        value: 'MSSQL',
                        label: 'MSSQL'
                    }, {
                        value: 'MYSQL',
                        label: 'MYSQL'
                    }, {
                        value: 'ORACLE',
                        label: 'ORACLE'
                    }],
                formData: {
                    APP_CODE: "",
                    APP_NAME: "",
                    DB_TYPE: "",
                    DB_URL: "",
                    AUTOBOM: "",
                    REDIS: "",
                    REDIS_DB: "",
                    MIP: "",
                    MPORT: "",
                    MDB: "",
                    MUSER: "",
                    MPWD: "",
 
                    UI_ROOT_PATH: "",
 
                    KdEID: "",
                    KdEAppKey: "",
                    KdEReqURL: "",
                    PdaServerVersion: "",
                    PdalastForce: "",
                    PdaUpdateUrl: "",
 
                    OMS_API: ""
                },
                wmsApi: "@ViewData["CN_S_WMS_API"]",
                dbTestOk: false,
                dbTestErr: false,
 
                autobomTestOk: false,
                autobomTestErr: false,
 
                wmsTestOk: false,
                wmsTestErr: false,
 
            },
            mounted: function () {
                var $this = this;
                if (this.wmsApi != undefined && this.wmsApi != "")
                    this.loadData();
            },
            watch: {
                //stockCode: function ()
                //{
                //    this.loadValue();
                //}
            },
            methods: {
                loadData: function () {
                    var $this = this;
                    ajaxManage({
                        url: "/Sys/SysSet/GetWebConfig",
                        type: "GET",
                        success: function (result) {
                            if (result.Success) {
                                while (result.Data.UI_ROOT_PATH.indexOf('*') >= 0) {
                                    result.Data.UI_ROOT_PATH = result.Data.UI_ROOT_PATH.replace('*', '\\');
                                }
                                result.Data.DB_URL = result.Data.DB_URL.replace('*', '\\');
 
                                $this.formData = result.Data;
                            }
                            else {
                                $this.$message({
                                    showClose: true,
                                    message: result.Msg
                                });
                            }
                        }
                    });
                },
                testDb: function () {
                    //测试数据库
                    var $this = this;
                    ajaxManage({
                        url: "/SysSet/TestDb?DbUrl=" + $this.formData.DB_URL + "&DbType=" + $this.formData.DB_TYPE,
                        success: function (result) {
                            if (result.Success) {
                                $this.dbTestErr = false;
                                $this.dbTestOk = true;
                            }
                            else {
                                $this.dbTestErr = true;
                                $this.dbTestOk = false;
                            }
                        }
                    });
                },
                testAutobom: function () {
                    //测试Autobom
                    var $this = this;
                    ajaxManage({
                        url: "/Sys/SysSet/TestIpPort?ipPort=" + $this.formData.AUTOBOM,
                        success: function (result) {
                            if (result.Success) {
                                $this.autobomTestErr = false;
                                $this.autobomTestOk = true;
                            }
                            else {
                                $this.autobomTestErr = true;
                                $this.autobomTestOk = false;
                            }
                        }
                    });
                },
                testWmsApi: function (ref) {
                    var $this = this;
                    ajaxManage({
                        url: "/Sys/SysSet/TestWmsApi?ipPort=" + $this.wmsApi,
                        success: function (result) {
                            if (result.Success) {
                                $this.wmsTestErr = false;
                                $this.wmsTestOk = true;
 
                                if (ref)
                                    $this.loadData();
                            }
                            else {
                                $this.wmsTestErr = true;
                                $this.wmsTestOk = false;
                            }
                        }
                    });
                },
                //saveWmsApi: function () {
                //    var $this = this;
                //    $this.testWmsApi(false);
                //    if ($this.wmsTestOk) {
                //        ajaxManage({
                //            url: "/SysSet/SaveWmsApi",
                //            data: $this.formData,
                //            success: function (result) {
                //                if (result.Success) {
                //                    $this.$message({
                //                        showClose: true,
                //                    });
                //                }
                //            }
                //        });
                //    }
                //},
                rep: function (str) {
                    return str.replace('*', '\\');
                },
                save: function () {
                    var $this = this;
                    this.$refs["formData"].validate(function (valid) {
                        //验证必填项
                        if (valid) {
                            $this.testWmsApi(false);
                            $this.testDb();
                            $this.testAutobom();
                            if ($this.wmsTestOk && $this.dbTestOk && $this.autobomTestOk) {
                                ajaxManage({
                                    url: "/SysSet/SaveWebConfig",
                                    data: $this.formData,
                                    success: function (result) {
                                        if (result.Success) {
                                            $this.$message({
                                                showClose: true,
                                                message: '设置成功,跳转登录界面!'
                                            });
                                            window.location = "../../Login/Index";
                                        }
                                        else {
                                            $this.$message({
                                                showClose: true,
                                                message: '设置失败!' + result.Msg
                                            });
                                        }
                                    }
                                });
                            }
                        }
                    });
                }
            }
        });
    </script>
}