提交 7e65dfdb authored 作者: liuluyu's avatar liuluyu

风险监测指标增加批量删除

上级 a76b863c
<template> <template>
<div> <div>
<!--引用表格--> <!--引用表格-->
<BasicTable @register="registerTable" @edit-end="handleEditEnd" @edit-cancel="handleEditCancel" :beforeEditSubmit="beforeEditSubmit"> <BasicTable
<!--插槽:table标题--> @register="registerTable"
@edit-end="handleEditEnd"
@edit-cancel="handleEditCancel"
:beforeEditSubmit="beforeEditSubmit"
:rowSelection="rowSelection"
>
<!--插槽:table标题-->
<template #tableTitle> <template #tableTitle>
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button> <a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
<a-button type="primary" @click="handleCaluculatAllMetric" preIcon="ant-design:plus-outlined">计算所有指标值</a-button> <a-button type="primary" @click="handleCaluculatAllMetric" preIcon="ant-design:plus-outlined">计算所有指标值</a-button>
<a-button type="primary" @click="handleCustomImport" preIcon="ant-design:plus-outlined">从EXCEL导入</a-button> <a-button type="primary" @click="handleCustomImport" preIcon="ant-design:plus-outlined">从EXCEL导入</a-button>
<a-dropdown v-if="selectedRowKeys.length > 0">
<template #overlay>
<a-menu>
<a-menu-item key="1" @click="batchHandleDelete">
<Icon icon="ant-design:delete-outlined"></Icon>
删除
</a-menu-item>
</a-menu>
</template>
<a-button
>批量操作
<Icon icon="mdi:chevron-down"></Icon>
</a-button>
</a-dropdown>
</template> </template>
<!--操作栏--> <!--操作栏-->
<template #action="{ record }"> <template #action="{ record }">
<TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)"/> <TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)" />
</template> </template>
<!--字段回显插槽--> <!--字段回显插槽-->
<template #htmlSlot="{text}"> <template #htmlSlot="{ text }">
<div v-html="text"></div> <div v-html="text"></div>
</template> </template>
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
<template v-if="column.key === 'tolVal'"> <template v-if="column.key === 'tolVal'">{{ record.stTolVal }}~{{ record.tolVal }}</template>
{{record.stTolVal}}~{{record.tolVal}} <template v-if="column.key === 'warnVal'"> ({{ record.tolVal }}~{{ record.warnVal }}</template>
</template> <template v-if="column.key === 'intvVal'">{{ record.warnVal }}~{{ record.intvVal }}</template>
<template v-if="column.key === 'warnVal'">
({{record.tolVal}}~{{record.warnVal}}
</template>
<template v-if="column.key === 'intvVal'">
{{record.warnVal}}~{{record.intvVal}}
</template>
</template> </template>
</BasicTable> </BasicTable>
<!-- 表单区域 --> <!-- 表单区域 -->
...@@ -37,188 +51,179 @@ ...@@ -37,188 +51,179 @@
</template> </template>
<script lang="ts" name="metric-metricMonitorSet" setup> <script lang="ts" name="metric-metricMonitorSet" setup>
import {ref, computed, unref} from 'vue'; import { ref, computed, unref } from 'vue';
import {BasicTable, useTable, TableAction} from '/@/components/Table'; import { BasicTable, useTable, TableAction } from '/@/components/Table';
import {useModal} from '/@/components/Modal'; import { useModal } from '/@/components/Modal';
import { useListPage } from '/@/hooks/system/useListPage' import { useListPage } from '/@/hooks/system/useListPage';
import MetricMonitorSetFomulaModal from './components/MetricMonitorSetFomulaModal.vue' import MetricMonitorSetFomulaModal from './components/MetricMonitorSetFomulaModal.vue';
import {columns, searchFormSchema,formSchema} from './MetricMonitorSet.data'; import { columns, searchFormSchema, formSchema } from './MetricMonitorSet.data';
import {listCombined, deleteOne, batchDelete,caluculatAllMetric,saveOrUpdate,batchImmportCalculate} from './MetricMonitorSet.api'; import { listCombined, deleteOne, batchDelete, caluculatAllMetric, saveOrUpdate, batchImmportCalculate } from './MetricMonitorSet.api';
import Import from '/@/views/audit/common/components/import.vue' import Import from '/@/views/audit/common/components/import.vue';
const [registerModal, {openModal}] = useModal(); const [registerModal, { openModal }] = useModal();
const [registerFomulasModal, {openModal:openFomulasModal}] = useModal(); const [registerFomulasModal, { openModal: openFomulasModal }] = useModal();
const refImport = ref() const refImport = ref();
//注册table数据 //注册table数据
const { tableContext} = useListPage({ const { tableContext } = useListPage({
tableProps:{ tableProps: {
title: '监测方案', title: '监测方案',
api: listCombined, api: listCombined,
columns, columns,
canResize:true, canResize: true,
formConfig: { formConfig: {
schemas: searchFormSchema, schemas: searchFormSchema,
autoSubmitOnEnter:true, autoSubmitOnEnter: true,
showAdvancedButton:true, showAdvancedButton: true,
fieldMapToNumber: [ fieldMapToNumber: [],
], fieldMapToTime: [],
fieldMapToTime: [ },
], actionColumn: {
}, width: 150,
actionColumn: { fixed: 'right',
width: 150, },
fixed:'right' },
}, });
}
}) const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext;
const [registerTable, {reload},{ rowSelection, selectedRowKeys }] = tableContext /**
* 新增事件
*/
/**
* 新增事件
*/
function handleAdd() { function handleAdd() {
openModal(true, { openModal(true, {
mtrcCtp:2, mtrcCtp: 2,
isUpdate: false, isUpdate: false,
showFooter: true, showFooter: true,
}); });
} }
/**
/** * 编辑事件
* 编辑事件 */
*/
function handleEdit(record: Recordable) { function handleEdit(record: Recordable) {
openModal(true, { openModal(true, {
record, record,
isUpdate: true, isUpdate: true,
showFooter: true, showFooter: true,
}); });
} }
/** /**
* 详情 * 详情
*/ */
function handleDetail(record: Recordable) { function handleDetail(record: Recordable) {
openModal(true, { openModal(true, {
record, record,
isUpdate: true, isUpdate: true,
showFooter: false, showFooter: false,
}); });
} }
function handleFormulas(record: Recordable) { function handleFormulas(record: Recordable) {
openFomulasModal(true, { openFomulasModal(true, {
record, record,
isUpdate: true, isUpdate: true,
showFooter: true, showFooter: true,
}); });
} }
/** /**
* 删除事件 * 删除事件
*/ */
async function handleDelete(record) { async function handleDelete(record) {
await deleteOne({id: record.id}, handleSuccess); await deleteOne({ id: record.id }, handleSuccess);
} }
/** /**
* 批量删除事件 * 批量删除事件
*/ */
async function batchHandleDelete() { async function batchHandleDelete() {
await batchDelete({ids: selectedRowKeys.value}, handleSuccess); await batchDelete({ ids: selectedRowKeys.value }, handleSuccess);
} }
/** /**
* 成功回调 * 成功回调
*/ */
function handleSuccess() { function handleSuccess() {
(selectedRowKeys.value = []) && reload(); (selectedRowKeys.value = []) && reload();
} }
/** /**
* 操作栏 * 操作栏
*/ */
function getTableAction(record){ function getTableAction(record) {
return [ return [
{ {
label: '编辑', label: '编辑',
onClick: handleEdit.bind(null, record), onClick: handleEdit.bind(null, record),
}, },
// { // {
// label: '编辑公式', // label: '编辑公式',
// onClick: handleFormulas.bind(null, record), // onClick: handleFormulas.bind(null, record),
// } // }
] ];
} }
/** /**
* 下拉操作栏 * 下拉操作栏
*/ */
function getDropDownAction(record){ function getDropDownAction(record) {
return [ return [
{ {
label: '详情', label: '详情',
onClick: handleDetail.bind(null, record), onClick: handleDetail.bind(null, record),
}, { },
label: '删除', {
popConfirm: { label: '删除',
title: '是否确认删除', popConfirm: {
confirm: handleDelete.bind(null, record), title: '是否确认删除',
} confirm: handleDelete.bind(null, record),
} },
] },
} ];
}
function handleEditEnd({ record, index, key, value }: Recordable) {
handleSuccess()
return false;
}
async function beforeEditSubmit({ record, index, key, value }) {
let tmpPbj = {
id:record.id,
mtrcNo:record.mtrcNo,
}
tmpPbj[key] = value
await saveOrUpdate(tmpPbj);
}
function handleEditCancel() {
console.log('cancel');
}
function handleCaluculatAllMetric(){
caluculatAllMetric()
}
const importCallback = async (datas) => {
//const transformedData = transformData(datas,pid);
await batchImmportCalculate(datas);
await reload();
}
const handleCustomImport = () => {
refImport.value.iniData(formSchema)
}
// function transformData(originalArray) {
// return originalArray.map(item => ({
// item: item.item,
// content: item.complineContent,
// fileName: item.fileName,
// checkMethods: [{
// actNames: item.actNames,
// content: item.content,
// projectid:projectId,
// }]
// }));
// }
function handleEditEnd({ record, index, key, value }: Recordable) {
handleSuccess();
return false;
}
async function beforeEditSubmit({ record, index, key, value }) {
let tmpPbj = {
id: record.id,
mtrcNo: record.mtrcNo,
};
tmpPbj[key] = value;
await saveOrUpdate(tmpPbj);
}
</script> function handleEditCancel() {
console.log('cancel');
}
function handleCaluculatAllMetric() {
caluculatAllMetric();
}
<style scoped> const importCallback = async (datas) => {
//const transformedData = transformData(datas,pid);
await batchImmportCalculate(datas);
await reload();
};
const handleCustomImport = () => {
refImport.value.iniData(formSchema);
};
// function transformData(originalArray) {
// return originalArray.map(item => ({
// item: item.item,
// content: item.complineContent,
// fileName: item.fileName,
// checkMethods: [{
// actNames: item.actNames,
// content: item.content,
// projectid:projectId,
// }]
// }));
// }
</script>
</style> <style scoped></style>
\ No newline at end of file
<template> <template>
<div> <div>
<!--引用表格--> <!--引用表格-->
<BasicTable @register="registerTable" @edit-end="handleEditEnd" @edit-cancel="handleEditCancel" :beforeEditSubmit="beforeEditSubmit" :loading="isLoading"> <BasicTable
<!--插槽:table标题--> @register="registerTable"
@edit-end="handleEditEnd"
@edit-cancel="handleEditCancel"
:beforeEditSubmit="beforeEditSubmit"
:loading="isLoading"
:rowSelection="rowSelection"
>
<!--插槽:table标题-->
<template #tableTitle> <template #tableTitle>
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button> <a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
<a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button> <a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
<j-upload-button type="primary" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button> <j-upload-button type="primary" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button>
<a-button type="primary" @click="handleCustomImport" preIcon="ant-design:plus-outlined">从EXCEL导入</a-button> <a-button type="primary" @click="handleCustomImport" preIcon="ant-design:plus-outlined">从EXCEL导入</a-button>
<a-dropdown v-if="selectedRowKeys.length > 0"> <a-dropdown v-if="selectedRowKeys.length > 0">
<template #overlay> <template #overlay>
<a-menu> <a-menu>
<a-menu-item key="1" @click="batchHandleDelete"> <a-menu-item key="1" @click="batchHandleDelete">
<Icon icon="ant-design:delete-outlined"></Icon> <Icon icon="ant-design:delete-outlined"></Icon>
删除 删除
</a-menu-item> </a-menu-item>
</a-menu> </a-menu>
</template> </template>
<a-button>批量操作 <a-button
<Icon icon="mdi:chevron-down"></Icon> >批量操作
</a-button> <Icon icon="mdi:chevron-down"></Icon>
</a-button>
</a-dropdown> </a-dropdown>
</template>
</template>
<!--操作栏-->
<!--操作栏-->
<template #action="{ record }"> <template #action="{ record }">
<TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)"/> <TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)" />
</template> </template>
<!--字段回显插槽--> <!--字段回显插槽-->
<template #htmlSlot="{text}"> <template #htmlSlot="{ text }">
<div v-html="text"></div> <div v-html="text"></div>
</template> </template>
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
<template v-if="column.key === 'tolVal'"> <template v-if="column.key === 'tolVal'">{{ record.stTolVal }}~{{ record.tolVal }}</template>
{{record.stTolVal}}~{{record.tolVal}} <template v-if="column.key === 'warnVal'"> ({{ record.tolVal }}~{{ record.warnVal }}</template>
</template> <template v-if="column.key === 'intvVal'">{{ record.warnVal }}~{{ record.intvVal }}</template>
<template v-if="column.key === 'warnVal'">
({{record.tolVal}}~{{record.warnVal}}
</template>
<template v-if="column.key === 'intvVal'">
{{record.warnVal}}~{{record.intvVal}}
</template>
</template> </template>
</BasicTable> </BasicTable>
<!-- 表单区域 --> <!-- 表单区域 -->
<MetricMonitorSetModal @register="registerModal" @success="handleSuccess"></MetricMonitorSetModal> <MetricMonitorSetModal @register="registerModal" @success="handleSuccess"></MetricMonitorSetModal>
<MetricFomulasModal @register="registerFomulasModal" @success="handleSuccess"></MetricFomulasModal> <MetricFomulasModal @register="registerFomulasModal" @success="handleSuccess"></MetricFomulasModal>
<MetricApiCfgModal @register="registerAPICofngModal" @success="handleSuccess"></MetricApiCfgModal> <MetricApiCfgModal @register="registerAPICofngModal" @success="handleSuccess"></MetricApiCfgModal>
<MetricMonitorSetHistory @register="registerMetricSetHistory" @success="handleSuccess"></MetricMonitorSetHistory> <MetricMonitorSetHistory @register="registerMetricSetHistory" @success="handleSuccess"></MetricMonitorSetHistory>
</div> </div>
<Import ref="refImport" @callback="importCallback"></Import> <Import ref="refImport" @callback="importCallback"></Import>
</template> </template>
<script lang="ts" name="metric-metricMonitorSet" setup> <script lang="ts" name="metric-metricMonitorSet" setup>
import {ref, computed, unref} from 'vue'; import { ref, computed, unref } from 'vue';
import {BasicTable, useTable, TableAction} from '/@/components/Table'; import { BasicTable, useTable, TableAction } from '/@/components/Table';
import {useModal} from '/@/components/Modal'; import { useModal } from '/@/components/Modal';
import { useListPage } from '/@/hooks/system/useListPage' import { useListPage } from '/@/hooks/system/useListPage';
import MetricMonitorSetModal from './components/MetricMonitorSetModal.vue' import MetricMonitorSetModal from './components/MetricMonitorSetModal.vue';
import MetricFomulasModal from './components/MetricFomulasModal.vue' import MetricFomulasModal from './components/MetricFomulasModal.vue';
import Import from '/@/views/audit/common/components/import.vue' import Import from '/@/views/audit/common/components/import.vue';
import MetricMonitorSetHistory from './components/MetricMonitorSetHistory.vue' import MetricMonitorSetHistory from './components/MetricMonitorSetHistory.vue';
import {columns, searchFormSchema,formSchema} from './MetricMonitorSet.data'; import { columns, searchFormSchema, formSchema } from './MetricMonitorSet.data';
import {list, deleteOne, batchDelete, getImportUrl,getExportUrl,saveOrUpdate,batchImmportBase} from './MetricMonitorSet.api'; import { list, deleteOne, batchDelete, getImportUrl, getExportUrl, saveOrUpdate, batchImmportBase } from './MetricMonitorSet.api';
import MetricApiCfgModal from './components/MetricApiCfgModal.vue' import MetricApiCfgModal from './components/MetricApiCfgModal.vue';
import {queryAll} from './MetricApiCfg.api'; import { queryAll } from './MetricApiCfg.api';
import { usePermission } from '/@/hooks/web/usePermission'; import { usePermission } from '/@/hooks/web/usePermission';
const { hasPermission } = usePermission(); const { hasPermission } = usePermission();
const refImport = ref(); const refImport = ref();
const isLoading = ref(false) const isLoading = ref(false);
//注册model //注册model
const [registerModal, {openModal}] = useModal(); const [registerModal, { openModal }] = useModal();
const [registerBatchModal, {openModal:openBatchModal}] = useModal(); const [registerBatchModal, { openModal: openBatchModal }] = useModal();
const [registerFomulasModal, {openModal:openFomulasModal}] = useModal(); const [registerFomulasModal, { openModal: openFomulasModal }] = useModal();
const [registerAPICofngModal, {openModal:openAPIConfigModal}] = useModal(); const [registerAPICofngModal, { openModal: openAPIConfigModal }] = useModal();
const [registerMetricSetHistory, {openModal:openHistory}] = useModal(); const [registerMetricSetHistory, { openModal: openHistory }] = useModal();
//注册table数据 //注册table数据
const { tableContext,onExportXls,onImportXls} = useListPage({ const { tableContext, onExportXls, onImportXls } = useListPage({
tableProps:{ tableProps: {
title: '监测方案', title: '监测方案',
api: list, api: list,
columns, columns,
canResize:true, canResize: true,
defSort :{ defSort: {
column: 'id', column: 'id',
order: 'asc', order: 'asc',
},
formConfig: {
schemas: searchFormSchema,
autoSubmitOnEnter:true,
showAdvancedButton:true,
fieldMapToNumber: [
],
fieldMapToTime: [
],
},
actionColumn: {
width: 150,
fixed:'right'
},
},
exportConfig: {
name:"指标导出",
url: getExportUrl,
}, },
importConfig: { rowSelection: {
url: getImportUrl, type: 'checkbox',
success: handleSuccess
}, },
}) formConfig: {
schemas: searchFormSchema,
const [registerTable, {reload},{ rowSelection, selectedRowKeys }] = tableContext autoSubmitOnEnter: true,
showAdvancedButton: true,
fieldMapToNumber: [],
fieldMapToTime: [],
},
actionColumn: {
width: 150,
fixed: 'right',
},
},
exportConfig: {
name: '指标导出',
url: getExportUrl,
},
importConfig: {
url: getImportUrl,
success: handleSuccess,
},
});
const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext;
/** /**
* 新增事件 * 新增事件
*/ */
function handleAdd() { function handleAdd() {
openModal(true, { openModal(true, {
mtrcCtp:1, mtrcCtp: 1,
isUpdate: false, isUpdate: false,
showFooter: true, showFooter: true,
}); });
} }
/** /**
* 编辑事件 * 编辑事件
*/ */
function handleEdit(record: Recordable) { function handleEdit(record: Recordable) {
openModal(true, { openModal(true, {
record, record,
isUpdate: true, isUpdate: true,
showFooter: true, showFooter: true,
}); });
} }
/** /**
* 详情 * 详情
*/ */
function handleDetail(record: Recordable) { function handleDetail(record: Recordable) {
openModal(true, { openModal(true, {
record, record,
isUpdate: true, isUpdate: true,
showFooter: false, showFooter: false,
}); });
} }
function handleHistory(record: Recordable) {
openHistory(true, {
record,
isUpdate: true,
showFooter: false,
});
}
function handleHistory(record: Recordable) {
openHistory(true, {
record,
isUpdate: true,
showFooter: false,
});
}
function handleFormulas(record: Recordable) { function handleFormulas(record: Recordable) {
openFomulasModal(true, { openFomulasModal(true, {
record, record,
isUpdate: true, isUpdate: true,
showFooter: true, showFooter: true,
}); });
} }
async function handleAPIConfig(record: Recordable) { async function handleAPIConfig(record: Recordable) {
let dataList = await queryAll({mtrcNo:record.mtrcNo}) let dataList = await queryAll({ mtrcNo: record.mtrcNo });
let data = {} let data = {};
if(dataList&&dataList.length>0) { if (dataList && dataList.length > 0) {
data = dataList[0] data = dataList[0];
openAPIConfigModal(true, { openAPIConfigModal(true, {
record:data, record: data,
isUpdate: true, isUpdate: true,
showFooter: true, showFooter: true,
}); });
...@@ -189,116 +186,111 @@ ...@@ -189,116 +186,111 @@
showFooter: true, showFooter: true,
}); });
} }
return false return false;
} }
/** /**
* 删除事件 * 删除事件
*/ */
async function handleDelete(record) { async function handleDelete(record) {
await deleteOne({id: record.id}, handleSuccess); await deleteOne({ id: record.id }, handleSuccess);
} }
/** /**
* 批量删除事件 * 批量删除事件
*/ */
async function batchHandleDelete() { async function batchHandleDelete() {
await batchDelete({ids: selectedRowKeys.value}, handleSuccess); await batchDelete({ ids: selectedRowKeys.value }, handleSuccess);
} }
/** /**
* 成功回调 * 成功回调
*/ */
function handleSuccess() { function handleSuccess() {
(selectedRowKeys.value = []) && reload(); (selectedRowKeys.value = []) && reload();
} }
/** /**
* 操作栏 * 操作栏
*/ */
function getTableAction(record){ function getTableAction(record) {
let obj = [{ let obj = [
label: '编辑', {
disabled:false, label: '编辑',
onClick: handleEdit.bind(null, record), disabled: false,
}] onClick: handleEdit.bind(null, record),
},
];
obj.push({ obj.push({
label: '接口配置', label: '接口配置',
disabled:record.collMethod==1?true:false, disabled: record.collMethod == 1 ? true : false,
onClick: handleAPIConfig.bind(null, record), onClick: handleAPIConfig.bind(null, record),
}) });
return obj return obj;
}
/**
* 下拉操作栏
*/
function getDropDownAction(record) {
return [
{
label: '详情',
onClick: handleDetail.bind(null, record),
},
{
label: '修改历史',
onClick: handleHistory.bind(null, record),
},
{
label: '删除',
popConfirm: {
title: '是否确认删除',
confirm: handleDelete.bind(null, record),
},
},
];
} }
/**
* 下拉操作栏
*/
function getDropDownAction(record){
return [
{
label: '详情',
onClick: handleDetail.bind(null, record),
}, {
label: '修改历史',
onClick: handleHistory.bind(null, record),
}, {
label: '删除',
popConfirm: {
title: '是否确认删除',
confirm: handleDelete.bind(null, record),
}
}
]
}
async function beforeEditSubmit({ record, index, key, value }) {
let tmpPbj = {
id:record.id,
mtrcNo:record.mtrcNo,
}
tmpPbj[key] = value
await saveOrUpdate(tmpPbj);
}
function handleEditCancel() {
console.log('cancel');
}
function handleEditEnd({ record, index, key, value }: Recordable) {
handleSuccess()
return false;
}
const importCallback = async (datas) => { async function beforeEditSubmit({ record, index, key, value }) {
isLoading.value = true let tmpPbj = {
const result = await datas.map(item => ({ id: record.id,
...item, mtrcNo: record.mtrcNo,
stTolVal: extractFirstNumber(item.stTolVal), };
tolVal: extractFirstNumber(item.tolVal), tmpPbj[key] = value;
warnVal: extractFirstNumber(item.warnVal), await saveOrUpdate(tmpPbj);
intvVal: extractFirstNumber(item.intvVal) }
}));
await batchImmportBase(result); function handleEditCancel() {
await reload(); console.log('cancel');
}
isLoading.value = false function handleEditEnd({ record, index, key, value }: Recordable) {
} handleSuccess();
return false;
}
const importCallback = async (datas) => {
isLoading.value = true;
const result = await datas.map((item) => ({
...item,
stTolVal: extractFirstNumber(item.stTolVal),
tolVal: extractFirstNumber(item.tolVal),
warnVal: extractFirstNumber(item.warnVal),
intvVal: extractFirstNumber(item.intvVal),
}));
const handleCustomImport = () => { await batchImmportBase(result);
refImport.value.iniData(formSchema) await reload();
}
isLoading.value = false;
};
function extractFirstNumber(value) { const handleCustomImport = () => {
if (!value || typeof value !== 'string') return null; refImport.value.iniData(formSchema);
const match = value.match(/^(\d+)/); };
return match ? parseInt(match[1]) : null;
}
function extractFirstNumber(value) {
if (!value || typeof value !== 'string') return null;
const match = value.match(/^(\d+)/);
return match ? parseInt(match[1]) : null;
}
</script> </script>
<style scoped> <style scoped></style>
</style>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论