#
Junjie
4 天以前 d35c5cac9aa1ecdd064320e1253de0686da6cdf8
src/main/webapp/static/js/basMap/basMap.js
@@ -818,6 +818,8 @@
                    primaryKeyField: primaryKeyField,
                    loading: false,
                    exporting: false,
                    importingMap: false,
                    initializingLocMast: false,
                    tableData: [],
                    selection: [],
                    advancedFiltersVisible: false,
@@ -880,8 +882,12 @@
                    });
                },
                editableFields: function () {
                    var editableKeys = {
                        lev: true,
                        originData: true
                    };
                    return this.fieldMeta.filter(function (field) {
                        return !field.primaryKey;
                        return editableKeys[field.field];
                    });
                },
                exportColumns: function () {
@@ -1097,6 +1103,109 @@
                        }
                    });
                },
                buildDialogPayload: function () {
                    var self = this;
                    var payload = {};
                    if (!isEmptyValue(self.dialogForm[self.primaryKeyField])) {
                        payload[self.primaryKeyField] = self.dialogForm[self.primaryKeyField];
                    }
                    self.editableFields.forEach(function (field) {
                        var value = self.dialogForm[field.field];
                        if (field.valueType === 'number' && !isEmptyValue(value)) {
                            value = Number(value);
                        }
                        if (field.valueType === 'number' && value === '') {
                            value = null;
                        }
                        payload[field.field] = value;
                    });
                    return payload;
                },
                triggerMapImport: function () {
                    var uploadInput = this.$refs.mapUploadInput;
                    if (!uploadInput) {
                        this.$message.error('上传控件未准备好');
                        return;
                    }
                    uploadInput.value = '';
                    uploadInput.click();
                },
                handleMapFileChange: function (event) {
                    var self = this;
                    var uploadInput = event && event.target ? event.target : self.$refs.mapUploadInput;
                    var file = uploadInput && uploadInput.files ? uploadInput.files[0] : null;
                    var formData;
                    if (!file) {
                        return;
                    }
                    formData = new FormData();
                    formData.append('file', file);
                    self.importingMap = true;
                    $.ajax({
                        url: baseUrl + '/basMap/crn/upload',
                        method: 'POST',
                        headers: self.authHeaders(),
                        data: formData,
                        processData: false,
                        contentType: false,
                        success: function (res) {
                            if (self.handleForbidden(res)) {
                                return;
                            }
                            if (!res || res.code !== 200) {
                                self.$message.error((res && res.msg) ? res.msg : '导入失败');
                                return;
                            }
                            self.$message.success(res.msg || '导入成功');
                            self.loadTable();
                        },
                        error: function () {
                            self.$message.error('导入失败');
                        },
                        complete: function () {
                            self.importingMap = false;
                            if (uploadInput) {
                                uploadInput.value = '';
                            }
                        }
                    });
                },
                promptInitLocMast: function () {
                    var self = this;
                    self.$prompt('请输入初始化库位层数', '初始化库位', {
                        confirmButtonText: '确定',
                        cancelButtonText: '取消',
                        inputPattern: /^\d+$/,
                        inputErrorMessage: '请输入数字层数'
                    }).then(function (payload) {
                        self.initializingLocMast = true;
                        $.ajax({
                            url: baseUrl + '/locMast/init',
                            method: 'POST',
                            headers: self.authHeaders(),
                            data: {
                                lev: $.trim(payload && payload.value ? payload.value : '')
                            },
                            success: function (res) {
                                if (self.handleForbidden(res)) {
                                    return;
                                }
                                if (!res || res.code !== 200) {
                                    self.$message.error((res && res.msg) ? res.msg : '初始化失败');
                                    return;
                                }
                                self.$message.success(res.msg || '初始化成功');
                                self.loadTable();
                            },
                            error: function () {
                                self.$message.error('初始化失败');
                            },
                            complete: function () {
                                self.initializingLocMast = false;
                            }
                        });
                    }).catch(function () {});
                },
                submitDialog: function () {
                    var self = this;
                    if (!self.$refs.dialogForm) {
@@ -1111,7 +1220,7 @@
                            url: baseUrl + '/' + simpleEntityName + '/' + (self.dialog.mode === 'create' ? 'add' : 'update') + '/auth',
                            method: 'POST',
                            headers: self.authHeaders(),
                            data: buildPayload(self.dialogForm),
                            data: self.buildDialogPayload(),
                            success: function (res) {
                                self.dialog.submitting = false;
                                if (self.handleForbidden(res)) {