|
@@ -1,38 +1,48 @@
|
|
|
<template>
|
|
|
<div class="hc-project-list-adjust-excel-set-formula">
|
|
|
- <el-form ref="formRef" :model="formModel" :rules="formRules" label-position="left" label-width="auto">
|
|
|
- <el-form-item label="不知道是什么:" prop="key1">
|
|
|
- <el-select v-model="formModel.key1" filterable block placeholder="请选择">
|
|
|
- <el-option label="功能还没开发" :value="1" />
|
|
|
- <el-option label="不清楚是什么" :value="2" />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="不知道是什么:" prop="key2">
|
|
|
- <el-input v-model="formModel.key2" placeholder="不知道是什么" />
|
|
|
+ <el-form ref="formRef" :model="formModel" label-position="left" label-width="auto">
|
|
|
+ <el-form-item label="元素坐标:" prop="elementName">
|
|
|
+ <el-input v-model="formModel.elementName" placeholder="请点击左侧表单" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="默认开放:" prop="key3">
|
|
|
- <el-switch v-model="formModel.key3" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="VIP开放:" prop="key4">
|
|
|
- <el-switch v-model="formModel.key4" />
|
|
|
+ <el-form-item label=" 参数名称:" prop="parameterId">
|
|
|
+ <el-select v-model="formModel.parameterId" filterable block placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.paramName"
|
|
|
+ :value="item.id"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div class="action-btn-box mt-10px text-center">
|
|
|
<el-button type="primary" :loading="submitLoading" @click="dialogSubmit">保存设置</el-button>
|
|
|
</div>
|
|
|
+ <!-- 新增表格 -->
|
|
|
+ <hc-table
|
|
|
+ :datas="tableData"
|
|
|
+ :column="tableColumn"
|
|
|
+ align="center"
|
|
|
+ class="mt-20"
|
|
|
+ :loading="tableLoading"
|
|
|
+ />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
import { onMounted, ref, watch } from 'vue'
|
|
|
-import { getObjValue } from 'js-fast-way'
|
|
|
-//import mainApi from '~api/project/tree'
|
|
|
+import { getArrValue, getObjValue } from 'js-fast-way'
|
|
|
+import paramApi from '~api/paramter/parmter'
|
|
|
|
|
|
const props = defineProps({
|
|
|
info: {
|
|
|
type: Object,
|
|
|
default: () => ({}),
|
|
|
},
|
|
|
+ excelInfo:{
|
|
|
+ type: Object,
|
|
|
+ default: () => ({}),
|
|
|
+ },
|
|
|
})
|
|
|
|
|
|
//事件
|
|
@@ -40,29 +50,105 @@ const emit = defineEmits(['finish'])
|
|
|
|
|
|
//监听数据
|
|
|
const dataInfo = ref(props.info)
|
|
|
-watch(() => props.info, (data) => {
|
|
|
- dataInfo.value = getObjValue(data)
|
|
|
+const excelInfo = ref(props.excelInfo)
|
|
|
+watch([() => props.info, () => props.excelInfo], ([newInfo, newExcelInfo]) => {
|
|
|
+ dataInfo.value = getObjValue(newInfo)
|
|
|
+ excelInfo.value = getObjValue(newExcelInfo)
|
|
|
}, { deep: true })
|
|
|
|
|
|
//渲染完成
|
|
|
onMounted(() => {
|
|
|
formModel.value = {}
|
|
|
+ getOptions()
|
|
|
+ getTableData()
|
|
|
})
|
|
|
|
|
|
//基础表单
|
|
|
const formRef = ref(null)
|
|
|
const formModel = ref({})
|
|
|
-const formRules = {
|
|
|
- type: { required: true, trigger: 'change', message: '请选择证书类型' },
|
|
|
- roleType: { required: true, trigger: 'change', message: '请选择所属方' },
|
|
|
-}
|
|
|
|
|
|
+const tableData = ref([])
|
|
|
+const tableColumn = ref([
|
|
|
+ { key: 'elementName', name: '元素位置' },
|
|
|
+ { key: 'parameterName', name: '参数名称' },
|
|
|
+])
|
|
|
+const tableLoading = ref(false)
|
|
|
+const getTableData = async () => {
|
|
|
+
|
|
|
+ const { pkeyId } = getObjValue(
|
|
|
+ excelInfo.value,
|
|
|
+ )
|
|
|
+
|
|
|
+ tableLoading.value = true
|
|
|
+ const { data, code, error } = await paramApi.checkParamElement({
|
|
|
+ pkeyId:pkeyId,
|
|
|
+ })
|
|
|
+ tableLoading.value = false
|
|
|
+ if (code === 200 && !error) {
|
|
|
+ tableData.value = getArrValue(data?.list)
|
|
|
+ } else {
|
|
|
+ tableData.value = []
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+//设置dom数据
|
|
|
+const setDomData = (item) => {
|
|
|
+ formModel.value.elementName = item.text
|
|
|
+}
|
|
|
//提交
|
|
|
const submitLoading = ref(false)
|
|
|
const dialogSubmit = async () => {
|
|
|
- window.$message.warning('此功能还没开发哦~')
|
|
|
+ // 检查关键字段是否存在
|
|
|
+ if (!formModel.value?.elementName || !formModel.value?.parameterId) {
|
|
|
+ window.$message.warning('缺少必要的数据字段')
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ let type = ''
|
|
|
+ options.value.forEach(item => {
|
|
|
+ if (item.id === formModel.value.parameterId) {
|
|
|
+ type = item.type
|
|
|
+ }
|
|
|
+ })
|
|
|
+ // 检查 name 是否已存在于 tableData 中
|
|
|
+ const isKeynameExists = tableData.value.some(item => item.elementName === name)
|
|
|
+ if (isKeynameExists) {
|
|
|
+ window.$message.warning('已存在相同的关键字段,请勿重复添加')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let subObj = {
|
|
|
+ parameterId: formModel.value.parameterId,
|
|
|
+ type:type,
|
|
|
+ elementName:formModel.value.elementName,
|
|
|
+ projectList:[{ projectId:dataInfo.value.id }],
|
|
|
+ }
|
|
|
+ const { code, error, msg } = await paramApi.submitElement([subObj])
|
|
|
+ if (code === 200) {
|
|
|
+ window.$message.success(msg)
|
|
|
+ getTableData()
|
|
|
+ }
|
|
|
+
|
|
|
//emit('finish')
|
|
|
}
|
|
|
+const options = ref([])
|
|
|
+const getOptions = async () => {
|
|
|
+ const { data, code, error } = await paramApi.queryParameterList({
|
|
|
+ current: 1,
|
|
|
+ size: 1000,
|
|
|
+ })
|
|
|
+ if (!error && code === 200) {
|
|
|
+ options.value = data.records
|
|
|
+ } else {
|
|
|
+ options.value = []
|
|
|
+ }
|
|
|
+ }
|
|
|
+ defineExpose({
|
|
|
+ setDomData,
|
|
|
+})
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|