add:映射前端

This commit is contained in:
2024-03-08 13:49:14 +08:00
parent 803a4b30bd
commit 8893081a40
4 changed files with 97 additions and 96 deletions

View File

@@ -27,7 +27,7 @@ export function edit(data) {
export function getTableColumnNames(params) {
return request({
url: 'api/externalFieldMapping/getTableColumnNames/' + params,
method: 'get',
method: 'get'
})
}
@@ -38,7 +38,6 @@ export function getAllTableName() {
})
}
export function getExistTableName() {
return request({
url: 'api/externalFieldMapping/getExistTableName',
@@ -49,7 +48,7 @@ export function getExistTableName() {
export function getTableColumnNamesFromMapping(params) {
return request({
url: 'api/externalFieldMapping/getTableColumnNamesFromMapping/' + params,
method: 'get',
method: 'get'
})
}
@@ -65,11 +64,10 @@ export function updateRows(data) {
return request({
url: 'api/externalFieldMapping/updateRows',
method: 'put',
data,
data
})
}
export default {
add,
edit,

View File

@@ -37,7 +37,7 @@
</el-select>
</el-form-item>
<el-form-item label="接口地址" prop="api_address">
<el-input :disabled="!form.local_table_name" v-model="form.api_address" style="width: 180px;"/>
<el-input v-model="form.api_address" :disabled="!form.local_table_name" style="width: 180px;" />
</el-form-item>
<el-form-item label="同步类型" prop="sync_type">
<el-select
@@ -116,7 +116,6 @@
import CRUD, { crud, header, presenter } from '@crud/crud'
import crudFieldMapping from '@/api/wms/base_manage/field_mapping/fieldMapping'
export default {
name: 'AddDtl',
components: {},
@@ -168,7 +167,7 @@ export default {
rows.splice(index, 1)
},
getColumns() {
if (this.form.local_table_name === "") {
if (this.form.local_table_name === '') {
this.form.local_field_name = null
this.tableData = []
return
@@ -179,21 +178,21 @@ export default {
},
submit() {
if (!this.form.local_table_name) {
this.crud.notify('映射表名不能为空!', CRUD.NOTIFICATION_TYPE.INFO);
return false;
this.crud.notify('映射表名不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
return false
}
if (!this.form.sync_type) {
this.crud.notify('同步类型不能为空!', CRUD.NOTIFICATION_TYPE.INFO);
return false;
this.crud.notify('同步类型不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
return false
}
const isInvalidRow = this.tableData.some(row => !row.external_field_name);
const isInvalidRow = this.tableData.some(row => !row.external_field_name)
if (isInvalidRow) {
this.crud.notify('外部字段名称不能为空!', CRUD.NOTIFICATION_TYPE.INFO);
return false;
this.crud.notify('外部字段名称不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
return false
}
const requestData = {
"bmExternalFieldMapping": this.form,
"dtos": this.tableData
'bmExternalFieldMapping': this.form,
'dtos': this.tableData
}
crudFieldMapping.addRows(requestData)
this.$emit('update:dialogShow', false)

View File

@@ -37,7 +37,7 @@
</el-select>
</el-form-item>
<el-form-item label="接口地址" prop="api_address">
<el-input :disabled="!form.local_table_name" v-model="form.api_address" style="width: 180px;"/>
<el-input v-model="form.api_address" :disabled="!form.local_table_name" style="width: 180px;" />
</el-form-item>
<el-form-item label="同步类型" prop="sync_type">
<el-select
@@ -116,7 +116,6 @@
import CRUD, { crud, header, presenter } from '@crud/crud'
import crudFieldMapping from '@/api/wms/base_manage/field_mapping/fieldMapping'
export default {
name: 'EditDtl',
components: {},
@@ -181,17 +180,17 @@ export default {
},
submit() {
if (!this.form.local_table_name) {
this.crud.notify('映射表名不能为空!', CRUD.NOTIFICATION_TYPE.INFO);
return false;
this.crud.notify('映射表名不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
return false
}
const isInvalidRow = this.tableData.some(row => !row.external_field_name);
const isInvalidRow = this.tableData.some(row => !row.external_field_name)
if (isInvalidRow) {
this.crud.notify('外部字段名称不能为空!', CRUD.NOTIFICATION_TYPE.INFO);
return false;
this.crud.notify('外部字段名称不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
return false
}
const requestData = {
"bmExternalFieldMapping": this.form,
"dtos": this.tableData
'bmExternalFieldMapping': this.form,
'dtos': this.tableData
}
crudFieldMapping.updateRows(requestData)
this.$emit('update:dialogShow', false)

View File

@@ -118,8 +118,14 @@
</div>
</el-dialog>
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;"
@selection-change="crud.selectionChangeHandler">
<el-table
ref="table"
v-loading="crud.loading"
:data="crud.data"
size="mini"
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column type="selection" width="55" />
<el-table-column prop="local_table_name" label="映射表名" width="250" />
<el-table-column prop="api_address" label="接口地址" width="250" />
@@ -149,7 +155,7 @@
<pagination />
</div>
<AddDialog :form="form" :dialog-show.sync="addShow" @AddChanged="querytable1" />
<EditDialog :form="form" ref="editRef" :dialog-show.sync="editShow" @EditChanged="querytable"/>
<EditDialog ref="editRef" :form="form" :dialog-show.sync="editShow" @EditChanged="querytable" />
</div>
</template>
@@ -163,7 +169,6 @@ import pagination from '@crud/Pagination.vue'
import AddDialog from '@/views/wms/base_manage/field_mapping/AddDialog'
import EditDialog from '@/views/wms/base_manage/field_mapping/EditDialog'
const defaultForm = {
id: null,
local_table_name: null,
@@ -191,7 +196,7 @@ export default {
download: false,
reset: true,
del: true
},
}
})
},
data() {
@@ -220,7 +225,7 @@ export default {
return true
},
getColumns() {
if (this.form.local_table_name === "") {
if (this.form.local_table_name === '') {
this.form.local_field_name = null
this.fieldNameList = []
return
@@ -241,7 +246,7 @@ export default {
},
querytable1() {
this.crud.toQuery()
},
}
}
}
</script>