#
Junjie
4 天以前 d35c5cac9aa1ecdd064320e1253de0686da6cdf8
#
2个文件已修改
137 ■■■■■ 已修改文件
src/main/webapp/static/js/basMap/basMap.js 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/basMap/basMap.html 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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)) {
src/main/webapp/views/basMap/basMap.html
@@ -412,6 +412,22 @@
                    <div class="toolbar-ops">
                        <el-button size="small" type="primary" plain icon="el-icon-plus" @click="openCreateDialog">新增</el-button>
                        <el-button size="small" type="danger" plain icon="el-icon-delete" :disabled="selection.length === 0" @click="removeSelection">删除</el-button>
                        <el-button
                            size="small"
                            plain
                            icon="el-icon-upload2"
                            :loading="importingMap"
                            @click="triggerMapImport">
                            导入地图
                        </el-button>
                        <el-button
                            size="small"
                            plain
                            icon="el-icon-refresh"
                            :loading="initializingLocMast"
                            @click="promptInitLocMast">
                            初始化库位
                        </el-button>
                        <el-popover
                            placement="bottom"
                            width="320"
@@ -580,7 +596,7 @@
    <el-dialog
        class="dialog-panel"
        :title="dialog.mode === 'create' ? '新增 BasMap' : '修改 BasMap'"
        :title="dialog.mode === 'create' ? '新增地图' : '修改地图'"
        :visible.sync="dialog.visible"
        width="760px"
        :close-on-click-modal="false">
@@ -659,6 +675,12 @@
            <el-button type="primary" :loading="dialog.submitting" @click="submitDialog">保存</el-button>
        </div>
    </el-dialog>
    <input
        ref="mapUploadInput"
        type="file"
        style="display:none;"
        @change="handleMapFileChange">
</div>
<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>