|
|
|
@ -10,7 +10,7 @@ |
|
|
|
<el-form-item label="请选择数据源" prop="taskTitle"> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<div class="flex" v-if="progress==1"> |
|
|
|
<div class="flex" v-if="progress==1"> |
|
|
|
<div @click="onClickTab(item)" class="flex" style=" cursor: pointer; position: relative;display: flex; flex-direction: column; align-items: center; justify-content: center; width: 155px;height: 90px;background: #F1F4FA;border-radius: 4px; margin-left: 20px;" v-for="(item, index) in dataSourceList"> |
|
|
|
<img style="width: 30px; height: 30px;" :src="item.image" alt=""> |
|
|
|
<span style="margin-top: 10px;">{{ item.name }}</span> |
|
|
|
@ -18,6 +18,94 @@ |
|
|
|
<img v-if="!item.status" style="width: 30px; height: 30px;position: absolute; top: 0;right: 0;" src="@/assets/images/index/notselect.png" alt=""> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div v-if="dataList.length > 0" style="height: 600px; overflow-y: scroll"> |
|
|
|
<p style="margin-top: 0px;"> |
|
|
|
说明:您上传的表格列已自动匹配到系统对应的字段,请检查确认或手动调整,没有对应到系统字段的表格列将被忽略。 |
|
|
|
</p> |
|
|
|
<el-table |
|
|
|
ref="ref_table" |
|
|
|
:data="dataList" |
|
|
|
border |
|
|
|
class="m-table-item" |
|
|
|
style="width: 100%" |
|
|
|
> |
|
|
|
<el-table-column |
|
|
|
label="序号" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
type="index" |
|
|
|
width="100" |
|
|
|
></el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="userTableHeader" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
label="上传表格列" |
|
|
|
min-width="80" |
|
|
|
> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span |
|
|
|
:class="[ |
|
|
|
scope.row.itemId && scope.row.itemId != '' |
|
|
|
? '' |
|
|
|
: 'font_color_red', |
|
|
|
]" |
|
|
|
>{{ scope.row.userTableHeader || "--" }}</span |
|
|
|
> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
label="对应到" |
|
|
|
min-width="50" |
|
|
|
> |
|
|
|
<template slot-scope="scope"><span v-if="scope.row.itemId"> =></span> </template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="itemGroupId" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
label="系统字段" |
|
|
|
min-width="110" |
|
|
|
> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div> |
|
|
|
<el-select |
|
|
|
class="item_width_sel" |
|
|
|
v-model.trim="scope.row.itemGroupId" |
|
|
|
size="small" |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in groupList" |
|
|
|
@click.native="handleSelGroup(scope.$index, item, 'change')" |
|
|
|
:key="item.fileModeCode" |
|
|
|
:label="item.fileModeName" |
|
|
|
:value="item.fileModeName" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
<el-select |
|
|
|
class="item_width_sel" |
|
|
|
v-model.trim="scope.row.itemId" |
|
|
|
size="small" |
|
|
|
style="margin-left: 10px" |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in scope.row.itemList" |
|
|
|
:key="item.itemId" |
|
|
|
:label="item.columnName" |
|
|
|
:value="item.columnName" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -25,15 +113,18 @@ |
|
|
|
<script> |
|
|
|
import { requestPost } from "@/js/dai/request"; |
|
|
|
export default { |
|
|
|
props: { |
|
|
|
progress: { |
|
|
|
type: Number, |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
data() { |
|
|
|
return { |
|
|
|
formData1:{ |
|
|
|
}, |
|
|
|
|
|
|
|
formData1: { |
|
|
|
id:0, |
|
|
|
name:"楼栋房屋信息一张表", |
|
|
|
image:"https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet-saas/dev/internal/20250114/003b8782213a487b8ce7d4267262d0ec.png", |
|
|
|
status:1, |
|
|
|
importCategory:"BASEINFO", |
|
|
|
originalFilePath: "https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet-saas/dev/20250115/c4102136584140aeaf323767361a1e92.xls" |
|
|
|
}, |
|
|
|
dataSourceList:[ |
|
|
|
{ |
|
|
|
id:0, |
|
|
|
@ -89,39 +180,15 @@ export default { |
|
|
|
fileList:[] |
|
|
|
}; |
|
|
|
}, |
|
|
|
props: {}, |
|
|
|
async created() { |
|
|
|
console.log("dflk;jsdklj"); |
|
|
|
}, |
|
|
|
mounted(){ |
|
|
|
console.log(this.progress,this.dataList,"sfklhjfdlskj"); |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
onClickNext(){ |
|
|
|
console.log(this.formData1,"sdfkljjslkdf"); |
|
|
|
this.checkExtractExcelHead() |
|
|
|
}, |
|
|
|
async checkExtractExcelHead() { |
|
|
|
const url = "/actual/base/intelligentImportData/extractExcelHead"; |
|
|
|
let params = { |
|
|
|
originFileName: "", |
|
|
|
originalFilePath: this.formData1.originalFilePath, |
|
|
|
importCategory: this.formData1.importCategory, |
|
|
|
}; |
|
|
|
const { data, code, msg } = await requestPost(url, params); |
|
|
|
if (code === 0) { |
|
|
|
this.dialogVisibleExtractExcelHead = true; |
|
|
|
const { metaListData, fileCode, msg } = data; |
|
|
|
this.dataList = metaListData; |
|
|
|
this.fileCode = fileCode; |
|
|
|
let groupMap = new Map( |
|
|
|
this.groupList.map((item) => [item.label, item]) |
|
|
|
); |
|
|
|
for (let i in this.dataList) { |
|
|
|
this.handleSelGroup(i, groupMap.get(this.dataList[i].fileModeCode)); |
|
|
|
} |
|
|
|
this.dataListLoading = false; |
|
|
|
} else if (code >= 8000) { |
|
|
|
|
|
|
|
} |
|
|
|
}, |
|
|
|
onClickTab(value){ |
|
|
|
this.formData1={} |
|
|
|
this.dataSourceList.filter(item => item.status === 1).forEach(item => { |
|
|
|
item.status = 0; // 将筛选出来的项的 status 改为 0 |
|
|
|
}); |
|
|
|
@ -129,44 +196,8 @@ export default { |
|
|
|
item2.status = 1; // 将筛选出来的项的 status 改为 0 |
|
|
|
}, |
|
|
|
this.formData1=this.dataSourceList[value.id] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
); |
|
|
|
}, |
|
|
|
handelClearCategory() { |
|
|
|
this.categoryName = null; |
|
|
|
}, |
|
|
|
async loadPersonGroup() { |
|
|
|
const url = "/oper/customize/fileModeColumns/listModule"; |
|
|
|
// const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/isServiceProject/service/serviceScopeTree' |
|
|
|
const { data, code, msg } = await requestPost(url); |
|
|
|
if (code === 0) { |
|
|
|
this.groupList = data; |
|
|
|
} else { |
|
|
|
this.$message.error(msg); |
|
|
|
} |
|
|
|
}, |
|
|
|
async handleSelGroup(index, item, change) { |
|
|
|
const url = "/oper/customize/fileModeColumns/listField"; |
|
|
|
// const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/isServiceProject/service/serviceScopeTree' |
|
|
|
let params ={ |
|
|
|
REVISION: 1010, |
|
|
|
fileModeCode:this.formData1.importCategory, |
|
|
|
}; |
|
|
|
const { data, code, msg } = await requestPost(url, params); |
|
|
|
if (code === 0) { |
|
|
|
let oneData = this.dataList[index]; |
|
|
|
if (change == "change") { |
|
|
|
this.dataList[index].itemId = ""; |
|
|
|
} |
|
|
|
oneData.itemList = data; |
|
|
|
this.$set(this.dataList, index, oneData); |
|
|
|
console.log(this.dataList); |
|
|
|
} else { |
|
|
|
this.$message.error(msg); |
|
|
|
} |
|
|
|
}, |
|
|
|
async getDictList() { |
|
|
|
const url = "/sys/dict/data/dictlist"; |
|
|
|
const { data, code, msg } = await requestPost(url, { |
|
|
|
@ -324,6 +355,16 @@ export default { |
|
|
|
this.$emit("handelClickBack"); |
|
|
|
}, |
|
|
|
}, |
|
|
|
props: { |
|
|
|
progress: { |
|
|
|
type: Number, |
|
|
|
default: '' |
|
|
|
}, |
|
|
|
tableData:{ |
|
|
|
type: Array, // dataList 应为 Array 类型 |
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
components: {}, |
|
|
|
computed: {}, |
|
|
|
watch: {}, |
|
|
|
|