| | |
| | | primaryKeyField: primaryKeyField, |
| | | loading: false, |
| | | exporting: false, |
| | | importingMap: false, |
| | | initializingLocMast: false, |
| | | tableData: [], |
| | | selection: [], |
| | | advancedFiltersVisible: false, |
| | |
| | | }); |
| | | }, |
| | | editableFields: function () { |
| | | var editableKeys = { |
| | | lev: true, |
| | | originData: true |
| | | }; |
| | | return this.fieldMeta.filter(function (field) { |
| | | return !field.primaryKey; |
| | | return editableKeys[field.field]; |
| | | }); |
| | | }, |
| | | exportColumns: function () { |
| | |
| | | } |
| | | }); |
| | | }, |
| | | 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) { |
| | |
| | | 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)) { |