8ae4301f by lxs

Merge branch 'develop' of http://117.78.60.236:8000/csbr-daop/fe-data-asset-management into develop

2 parents 7a0ed032 71becdbd
......@@ -8,6 +8,7 @@ import * as XLSX from 'xlsx';
import {
getImageContent
} from '@/api/modules/queryService';
import { getDownFileSignByUrl, obsDownloadRequest, parseAndDecodeUrl } from "@/api/modules/obsService";
const props = defineProps({
noUpload: {
......@@ -266,7 +267,7 @@ const formatterPreviewDate = (row, info) => {
return v;
};
const setFormValue = (v) => {
const setFormValue = async (v) => {
fileFormItems.value[1].default = v.sheetName || "";
let url = v.file?.[0]?.url;
if (fileFormItems.value[0].default?.[0]?.url !== url) {
......@@ -275,72 +276,78 @@ const setFormValue = (v) => {
fileFieldLoading.value = true;
fileTableFields.value = [];
fileTableData.value = [];
getImageContent(url).then((res: any) => {
if (res && !res.msg) {
let urlNames = url.split('/');
let name = urlNames.at(-1);
let reader = new FileReader();
reader.onload = function (e) {
if (!e?.target) {
fileFieldLoading.value = false;
return;
const refSignInfo: any = await getDownFileSignByUrl(parseAndDecodeUrl(url).fileName);
if (!refSignInfo?.data) {
refSignInfo?.msg && ElMessage.error(refSignInfo?.msg);
return;
}
const res: any = await obsDownloadRequest(refSignInfo?.data);
// getImageContent(url).then((res: any) => {
if (res && !res.msg) {
let urlNames = url.split('/');
let name = urlNames.at(-1);
let reader = new FileReader();
reader.onload = function (e) {
if (!e?.target) {
fileFieldLoading.value = false;
return;
}
let data = new Uint8Array(<any>e.target.result);
const wb = XLSX.read(data, { type: 'array', raw: false, cellDates: true });
fileWb.value = wb;
console.log(wb);
sheetList.value = wb.SheetNames?.map(s => {
return {
value: s,
label: s
}
let data = new Uint8Array(<any>e.target.result);
const wb = XLSX.read(data, { type: 'array', raw: false, cellDates: true });
fileWb.value = wb;
console.log(wb);
sheetList.value = wb.SheetNames?.map(s => {
}) || [];
fileFormItems.value[1].options = sheetList.value;
fileFormItems.value[1].default = v.sheetName || "";
const sheet = wb.Sheets[v.sheetName];
const json: any[] = XLSX.utils.sheet_to_json(sheet, { header: 1 });
if (json.length == 0) {
fileTableFields.value = [];
fileTableData.value = [];
} else {
fileTableFields.value = json[0]?.map((j, index) => {
return {
value: s,
label: s
index: index,
enName: j + '',
chName: j + '',
dataType: 'varchar'
}
}) || [];
fileFormItems.value[1].options = sheetList.value;
fileFormItems.value[1].default = v.sheetName || "";
const sheet = wb.Sheets[v.sheetName];
const json: any[] = XLSX.utils.sheet_to_json(sheet, { header: 1 });
if (json.length == 0) {
fileTableFields.value = [];
fileTableData.value = [];
} else {
fileTableFields.value = json[0]?.map((j, index) => {
return {
index: index,
enName: j + '',
chName: j + '',
dataType: 'varchar'
}
}) || [];
if (json.length > 1) {
fileTableData.value = json.slice(1, 51).map((info, row) => {
let object = {};
json[0].forEach((name, col) => {
if (info[col] === "" || info[col] == null) {
object[name] = info[col];
} else {
var cellRef = XLSX.utils.encode_cell({ r: row + 1, c: col });
var cell = sheet[cellRef];
object[name] = cell.w || info[col];
let isNum = cell.t == 'n';
if (isNum && fileTableFields.value[col].dataType != 'int') {
fileTableFields.value[col].dataType = 'int';
}
if (json.length > 1) {
fileTableData.value = json.slice(1, 51).map((info, row) => {
let object = {};
json[0].forEach((name, col) => {
if (info[col] === "" || info[col] == null) {
object[name] = info[col];
} else {
var cellRef = XLSX.utils.encode_cell({ r: row + 1, c: col });
var cell = sheet[cellRef];
object[name] = cell.w || info[col];
let isNum = cell.t == 'n';
if (isNum && fileTableFields.value[col].dataType != 'int') {
fileTableFields.value[col].dataType = 'int';
}
});
return object;
}
});
} else {
fileTableData.value = [];
}
return object;
});
} else {
fileTableData.value = [];
}
fileFieldLoading.value = false;
};
reader.readAsArrayBuffer(res);
} else {
res?.msg && ElMessage.error(res?.msg);
}
})
}
fileFieldLoading.value = false;
};
reader.readAsArrayBuffer(res);
} else {
res?.msg && ElMessage.error(res?.msg);
}
// })
}
}
......@@ -371,11 +378,11 @@ defineExpose({
:style="{ width: '100%', height: '100%' }">
<template v-for="(item, index) in (fileTableFields || [])">
<el-table-column :label="item.chName" :width="item.dataType === 'datetime'
? TableColumnWidth.DATETIME
: item.dataType === 'date'
? TableColumnWidth.DATE
: originTableFieldColumn[item.enName]
" :align="getTextAlign(item)" :header-align="getTextAlign(item)"
? TableColumnWidth.DATETIME
: item.dataType === 'date'
? TableColumnWidth.DATE
: originTableFieldColumn[item.enName]
" :align="getTextAlign(item)" :header-align="getTextAlign(item)"
:formatter="(row) => formatterPreviewDate(row, item)" :show-overflow-tooltip="true">
</el-table-column>
</template>
......@@ -472,4 +479,4 @@ defineExpose({
display: none
}
}
</style>
\ No newline at end of file
</style>
......
......@@ -10,7 +10,6 @@ import {
import { pinyin } from 'pinyin-pro';
import useUserStore from "@/store/modules/user";
import { getDictionaryTree } from '@/api/modules/dataInventory';
import { pa } from 'element-plus/es/locale';
const emits = defineEmits([
"cancelImport",
......
......@@ -95,7 +95,7 @@ const searchItemList = ref([
{
type: "select",
label: "",
field: "registerState",
field: "isRegister",
default: "",
placeholder: "登记状态",
clearable: true,
......@@ -118,7 +118,7 @@ const pageInfo = ref({
damType: "",
tenantGuid: "",
dataSources: "",
registerState: "",
isRegister: "",
subjectDomain: [],
});
......@@ -193,7 +193,7 @@ const getTableData = () => {
subjectDomain: pageInfo.value.subjectDomain,
tenantGuid: pageInfo.value.tenantGuid,
dataSources: pageInfo.value.dataSources,
registerState: pageInfo.value.registerState,
isRegister: pageInfo.value.isRegister,
}).then((res: any) => {
listDataLoading.value = false;
if (res.code == proxy.$passCode) {
......@@ -216,14 +216,14 @@ const toSearch = (val: any, clear: boolean = false) => {
pageInfo.value.damType = "";
pageInfo.value.subjectDomain = [];
pageInfo.value.tenantGuid = "";
pageInfo.value.registerState = "";
pageInfo.value.isRegister = "";
pageInfo.value.dataSources = "";
} else {
pageInfo.value.damName = val.damName;
pageInfo.value.damType = val.damType;
pageInfo.value.subjectDomain = val.subjectDomain;
pageInfo.value.tenantGuid = val.tenantGuid;
pageInfo.value.registerState = val.registerState;
pageInfo.value.isRegister = val.isRegister;
pageInfo.value.dataSources = val.dataSources;
}
getTableData();
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!