yanghao пре 4 дана
родитељ
комит
8ffd5abe7e
2 измењених фајлова са 26 додато и 18 уклоњено
  1. 20 15
      src/views/iot/thingmodel/ThingModelForm.vue
  2. 6 3
      src/views/pms/iotprojectinfo/index.vue

+ 20 - 15
src/views/iot/thingmodel/ThingModelForm.vue

@@ -23,7 +23,7 @@
       <el-form-item label="标识符" prop="identifier">
         <el-input v-model="formData.identifier" placeholder="请输入标识符" />
       </el-form-item>
-      <!-- 属性配-->
+      <!-- 属性配�?-->
       <ThingModelProperty
         v-if="formData.type === IoTThingModelTypeEnum.PROPERTY"
         v-model="formData.property" />
@@ -46,8 +46,8 @@
     </el-form>
 
     <template #footer>
-      <el-button :disabled="formLoading" type="primary" @click="submitForm">确 定</el-button>
-      <el-button @click="dialogVisible = false">取 消</el-button>
+      <el-button :disabled="formLoading" type="primary" @click="submitForm">确定</el-button>
+      <el-button @click="dialogVisible = false">取消</el-button>
     </template>
   </Dialog>
 </template>
@@ -67,17 +67,17 @@ import { cloneDeep } from 'lodash-es'
 import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
 import { isEmpty } from '@/utils/is'
 
-/** IoT 物模型数据表*/
+/** IoT 物模型数据表�?*/
 defineOptions({ name: 'IoTThingModelForm' })
 
-const product = inject<Ref<ProductVO>>(IOT_PROVIDE_KEY.PRODUCT) // 注入产品信息
+const product = inject<Ref<ProductVO> | undefined>(IOT_PROVIDE_KEY.PRODUCT) // 注入产品信息
 
-const { t } = useI18n() // 国际
+const { t } = useI18n() // 国际�?
 const message = useMessage() // 消息弹窗
 
-const dialogVisible = ref(false) // 弹窗的是否展
-const dialogTitle = ref('') // 弹窗的标
-const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
+const dialogVisible = ref(false) // 弹窗的是否展�?
+const dialogTitle = ref('') // 弹窗的标�?
+const formLoading = ref(false) // 表单的加载中�?)修改时的数据加载;2)提交的按钮禁用
 const formType = ref('') // 表单的类型:create - 新增;update - 修改
 const formData = ref<ThingModelData>({
   type: IoTThingModelTypeEnum.PROPERTY,
@@ -114,11 +114,11 @@ const open = async (type: string, id?: number) => {
           }
         }
       }
-      // 情况二:服务初始
+      // 情况二:服务初始�?
       if (isEmpty(formData.value.service)) {
         formData.value.service = {}
       }
-      // 情况三:事件初始
+      // 情况三:事件初始�?
       if (isEmpty(formData.value.event)) {
         formData.value.event = {}
       }
@@ -137,8 +137,13 @@ const submitForm = async () => {
   try {
     const data = cloneDeep(formData.value) as ThingModelData
     // 信息补全
-    data.productId = product!.value.id
-    data.productKey = product!.value.productKey
+    if (product?.value?.id) {
+      data.productId = product.value.id
+      data.productKey = product.value.productKey
+    } else {
+      delete data.productId
+      delete data.productKey
+    }
     fillExtraAttributes(data)
     if (formType.value === 'create') {
       await ThingModelApi.createThingModel(data)
@@ -157,7 +162,7 @@ const submitForm = async () => {
 
 /** 填写额外的属性(处理不同类型的情况) */
 const fillExtraAttributes = (data: any) => {
-  // 属
+  // 属�?
   if (data.type === IoTThingModelTypeEnum.PROPERTY) {
     removeDataSpecs(data.property)
     data.dataType = data.property.dataType
@@ -186,7 +191,7 @@ const fillExtraAttributes = (data: any) => {
   }
 }
 
-/** 处理 dataSpecs 为空的情*/
+/** 处理 dataSpecs 为空的情�?*/
 const removeDataSpecs = (val: any) => {
   if (isEmpty(val.dataSpecs)) {
     delete val.dataSpecs

+ 6 - 3
src/views/pms/iotprojectinfo/index.vue

@@ -819,11 +819,14 @@ const openForm = (type: string, id?: number) => {
 const assignTask = (row: IotProjectInfoVO) => {
   push({
     name: 'IotProjectTaskInfo',
-    query: {
+    params: {
+      type: 'create',
       projectId: row.id,
-      contractName: row.contractName
+      deptId: row.deptId
     },
-    params: { type: 'create' }
+    query: {
+      contractName: row.contractName
+    }
   })
 }