feat: 触控项目执行
This commit is contained in:
parent
12d6ba703e
commit
992195273a
@ -85,12 +85,12 @@ export const addValueProperty = (data, schemeId = '') => {
|
||||
// 处理单个对象或对象数组
|
||||
const processItem = (item, index, path) => {
|
||||
// 根据类型设置默认值
|
||||
item.value = item.name === 'schemeId' ? schemeId : '';
|
||||
item.value = item.name === 'schemeId' ? schemeId : item.type.includes('array') ? '[0]' : item.type === 'number' ? 0 : item.type === 'boolean' ? false : '';
|
||||
item.propPath = `${path}.${index}.`
|
||||
if (item.type.includes('array') && !item.type.includes('object')) {
|
||||
const type = item.type.match(/<([^>]+)>/)[1]
|
||||
item.children = [{ name: 'Array Item', type, value: '', propPath: item.propPath + '.0'}]
|
||||
}
|
||||
// if (item.type.includes('array') && !item.type.includes('object')) {
|
||||
// const type = item.type.match(/<([^>]+)>/)[1]
|
||||
// item.children = [{ name: 'Array Item', type, value: '', propPath: item.propPath + '.0'}]
|
||||
// }
|
||||
// 递归处理子项
|
||||
if (item.children && item.children.length > 0) {
|
||||
item.children = item.children.map((cItem, cIndex) => {
|
||||
|
||||
@ -46,6 +46,9 @@
|
||||
<el-input-number v-if="row.type === 'number'" :controls="false" v-model="row.value" />
|
||||
<el-switch v-if="row.type === 'boolean'" v-model="row.value" />
|
||||
</el-form-item>
|
||||
<el-form-item v-else-if="row.type !== 'object' && row.type.includes('array')" label="" :prop="`tableData${row.propPath}value`" :rules="row.required ? [{ required: true, message: '请输入变量名', trigger: 'blur' }] : []">
|
||||
<el-input v-model="row.value" placeholder="请输入数组值,格式如:[1,2,3]" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
@ -53,6 +53,9 @@
|
||||
<el-input-number v-if="row.type === 'number'" :controls="false" v-model="row.value" />
|
||||
<el-switch v-if="row.type === 'boolean'" v-model="row.value" />
|
||||
</el-form-item>
|
||||
<el-form-item v-else-if="row.type !== 'object' && row.type.includes('array')" label="" :prop="`formData.tableData.${pIndex}.config${row.propPath}value`" :rules="row.required ? [{ required: true, message: '请输入变量名', trigger: 'blur' }] : []">
|
||||
<el-input v-model="row.value" placeholder="请输入数组值,格式如:[1,2,3]" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
@ -181,9 +181,10 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="功能选择" prop="testFuncs">
|
||||
<el-form-item label="功能选择" prop="testFuncIds">
|
||||
<el-select
|
||||
v-model="form.testFuncs"
|
||||
v-model="form.testFuncIds"
|
||||
:multiple="true"
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option
|
||||
@ -237,7 +238,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="项目描述" prop="remark">
|
||||
<el-input
|
||||
v-model="form.remark"
|
||||
@ -318,13 +319,13 @@
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
|
||||
<Run
|
||||
:drawer="executeOpen"
|
||||
@close="executeOpen = false"
|
||||
:projectId="executeProjectId"
|
||||
/>
|
||||
<Run
|
||||
:drawer="executeOpen"
|
||||
@close="executeOpen = false"
|
||||
:projectId="executeProjectId"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
@ -356,7 +357,7 @@ const data = reactive({
|
||||
tester: null,
|
||||
planStart: null,
|
||||
vehicleConfigId: null,
|
||||
testFuncs: null,
|
||||
testFuncIds: null,
|
||||
indicatorId: null,
|
||||
planEnd: null,
|
||||
sort: null,
|
||||
@ -378,7 +379,7 @@ const data = reactive({
|
||||
planStart: [{ required: true, message: "请输入计划测试开始时间", trigger: "blur" }],
|
||||
planEnd: [{ required: true, message: "请输入计划测试结束时间", trigger: "blur" }],
|
||||
vehicleConfigId: [{ required: true, message: "请选择车机版本", trigger: "blur" }],
|
||||
testFuncs: [{ required: true, message: "请选择功能", trigger: "blur" }],
|
||||
testFuncIds: [{ required: true, message: "请选择功能", trigger: "blur" }],
|
||||
indicatorId: [{ required: true, message: "请选择评价指标", trigger: "blur" }],
|
||||
sampleName: [{ required: true, message: "请输入样品名称", trigger: "blur" }],
|
||||
trademark: [{ required: true, message: "请输入样品商标", trigger: "blur" }],
|
||||
@ -398,20 +399,32 @@ const { queryParams, form, rules } = toRefs(data);
|
||||
const treeData = ref([])
|
||||
|
||||
const getTreeData = async () => {
|
||||
const res = await getTreeDataApi()
|
||||
if (res) {
|
||||
treeData.value = res
|
||||
try {
|
||||
const res = await getTreeDataApi();
|
||||
if (res) {
|
||||
treeData.value = res;
|
||||
}
|
||||
} catch (err) {
|
||||
console.error("获取树数据异常:", err);
|
||||
ElMessage.error("加载车机版本树失败");
|
||||
}
|
||||
}
|
||||
|
||||
/** 查询语音交互-项目列表 */
|
||||
function getList() {
|
||||
getProjectList(queryParams.value).then(res => {
|
||||
if (res.code === 200) {
|
||||
projectList.value = res.rows;
|
||||
total.value = res.total;
|
||||
}
|
||||
})
|
||||
getProjectList(queryParams.value)
|
||||
.then(res => {
|
||||
if (res.code === 200) {
|
||||
projectList.value = res.rows;
|
||||
total.value = res.total;
|
||||
} else {
|
||||
ElMessage.error(res.msg || "查询项目列表失败");
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.error("查询项目列表异常:", err);
|
||||
ElMessage.error("网络异常,查询项目列表失败");
|
||||
})
|
||||
}
|
||||
|
||||
// 取消按钮
|
||||
@ -429,7 +442,7 @@ function reset() {
|
||||
planStart: null,
|
||||
planEnd: null,
|
||||
vehicleConfigId: null,
|
||||
testFuncs: null,
|
||||
testFuncIds: null,
|
||||
indicatorId: null,
|
||||
sort: null,
|
||||
remark: null,
|
||||
@ -483,6 +496,7 @@ const submitForm = () => {
|
||||
if (!valid) {
|
||||
return
|
||||
}
|
||||
form.value.testFuncIds = JSON.stringify(form.value.testFuncIds)
|
||||
if (isAdd.value) {
|
||||
addProject(form.value).then(res => {
|
||||
if (res.code === 200) {
|
||||
@ -509,6 +523,7 @@ const handleUpdate = (row) => {
|
||||
isAdd.value = false;
|
||||
title.value = "修改测试项目";
|
||||
form.value = row;
|
||||
form.value.testFuncIds = form.value.testFuncIds.split(',').map(item => Number(item));
|
||||
};
|
||||
|
||||
const handleDelete = (row) => {
|
||||
@ -528,16 +543,23 @@ const handleDelete = (row) => {
|
||||
|
||||
const indicatorData = ref([]);
|
||||
const getIndicatorData = () => {
|
||||
getChildrenByParentIdWithLevelLimitApi(0,2, 1).then((res) => {
|
||||
if (res.code === 200) {
|
||||
indicatorData.value = res.data || []
|
||||
}
|
||||
})
|
||||
getChildrenByParentIdWithLevelLimitApi(0,2, 1)
|
||||
.then((res) => {
|
||||
if (res.code === 200) {
|
||||
indicatorData.value = res.data || [];
|
||||
} else {
|
||||
ElMessage.error(res.msg || "加载评价指标失败");
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.error("获取评价指标异常:", err);
|
||||
ElMessage.error("网络异常,加载评价指标失败");
|
||||
});
|
||||
}
|
||||
|
||||
const funcIdOptions = ref([])
|
||||
const vehicleConfigChange = (value) => {
|
||||
form.value.testFuncs = null
|
||||
form.value.testFuncIds = null
|
||||
funcIdOptions.value = []
|
||||
getFunction({
|
||||
pageNum: 1,
|
||||
|
||||
@ -53,6 +53,9 @@
|
||||
<el-input-number v-if="row.type === 'number'" :controls="false" v-model="row.value" />
|
||||
<el-switch v-if="row.type === 'boolean'" v-model="row.value" />
|
||||
</el-form-item>
|
||||
<el-form-item v-else-if="row.type !== 'object' && row.type.includes('array')" label="" :prop="`formData.tableData.${pIndex}.config${row.propPath}value`" :rules="row.required ? [{ required: true, message: '请输入变量名', trigger: 'blur' }] : []">
|
||||
<el-input v-model="row.value" placeholder="请输入数组值,格式如:[1,2,3]" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user