Эх сурвалжийг харах

Merge remote-tracking branch 'origin/master'

zhangcl 2 долоо хоног өмнө
parent
commit
d1ac15c964

+ 15 - 5
src/router/modules/remaining.ts

@@ -331,16 +331,15 @@ const remainingRouter: AppRouteRecordRaw[] = [
     ]
   },
   {
-    path: '/FillOrderInfoS',
+    path: '/IotOpeationFill1',
     component: Layout,
-    name: 'FillOrderInfoS',
+    name: 'IotOpeationFill1',
     meta: {
-      hidden: true,
-      keepAlive: true
+      hidden: true
     },
     children: [
       {
-        path: 'template/detail/:deptId/:orderStatus/:createTime*',
+        path: 'template/detail',
         component: () => import('@/views/pms/iotopeationfill/index.vue'),
         name: 'IotOpeationFill1',
         meta: {
@@ -352,6 +351,17 @@ const remainingRouter: AppRouteRecordRaw[] = [
           activeMenu: '/template/info'
         }
       },
+    ]
+  },
+  {
+    path: '/FillOrderInfoS',
+    component: Layout,
+    name: 'FillOrderInfoS',
+    meta: {
+      hidden: true,
+      keepAlive: true
+    },
+    children: [
       {
         path: 'template/detail/:id/:deviceid/:status/:deptid/:createtime',
         component: () => import('@/views/pms/device/record/RecordInfo.vue'),

+ 1 - 0
src/utils/dict.ts

@@ -272,6 +272,7 @@ export enum DICT_TYPE {
   PMS_MAIN_WORK_ORDER_TYPE = 'pms_main_work_order_type', // 保养工单类型
   PMS_MAIN_WORK_ORDER_RESULT = 'pms_main_work_order_result', // 保养工单状态
   RQ_IOT_ISCOLLECTION = 'rq_iot_isCollection',//是否数采
+  RQ_IOT_MODEL_TEMPLATE_ATTR = 'rq_iot_model_template_attr',
   RQ_IOT_SUM = 'rq_iot_isSum',//是否累计
   PMS_ORDER_PROCESS_MODE = "pms_main_work_order_process_mode",  // 保养方式 0内部保养  1委外保养
   PMS_THING_MODEL_UNIT = 'pms_thing_model_unit', // pms属性模板单位

+ 6 - 5
src/views/pms/iotopeationfill/index.vue

@@ -164,13 +164,14 @@ import { IotInspectOrderApi, IotInspectOrderVO } from '@/api/pms/inspect/order'
 //import IotInspectOrderForm from './IotInspectOrderForm.vue'
 import {DICT_TYPE, getStrDictOptions} from "@/utils/dict";
 import DeptTree from "@/views/system/user/DeptTree.vue";
+import {onMounted, ref} from "vue";
 import {IotOpeationFillApi, IotOpeationFillVO} from "@/api/pms/iotopeationfill";
 import {useUserStore} from "@/store/modules/user";
 const { push } = useRouter()
-const { params, name } = useRoute() // 查询参数
-const deptId= params.deptId;
-const orderStatus = params.orderStatus;
-const createTime = params.createTime;
+const { query} = useRoute() // 查询参数
+const deptId= query.deptId;
+const orderStatus = query.orderStatus;
+const createTime = query.createTime;
 /** 巡检工单 列表 */
 defineOptions({ name: 'IotOpeationFill1' })
 
@@ -278,7 +279,7 @@ const handleExport = async () => {
 }
 
 /** 初始化 **/
-onMounted(() => {
+onMounted(async () => {
   if(deptId != null){
     queryParams.deptId = deptId;
   }

+ 10 - 5
src/views/pms/iotopeationfill/statistics.vue

@@ -221,14 +221,19 @@ const handleQuery = () => {
 
 const formRef = ref()
 const openForm = (deptId?:string,isFill?:string,createTime?:[]) => {
-  /*const type = '填写设备明细';
-  const id = queryParams.deptId
-  formRef.value.open(type,id)*/
-
   push({ name: 'FillOrderInfo2',params:{deptId,isFill,createTime}})
 }
 const openFill = (deptId?:string,orderStatus?:string,createTime?:[]) => {
-  push({ name: 'IotOpeationFill1',params:{deptId,orderStatus,createTime}})
+  push({
+    name: 'IotOpeationFill1',
+    query: {  // 使用query传递参数,而非params
+      deptId,
+      orderStatus,
+      // 数组可以直接传递,会自动序列化
+      createTime: createTime ? createTime.join(',') : undefined
+      // 建议将数组转为字符串,避免路由参数格式问题
+    }
+  })
 }
 
 

+ 17 - 8
src/views/pms/modeltemplate/detail/attrsModel/AttrTemplateModelForm.vue

@@ -15,13 +15,6 @@
           </el-form-item>
         </el-col>
         <el-col :span="12">
-<!--          <el-form-item label="标识符" prop="code">
-            <el-input v-model="formData.code" placeholder="请输入标识符" />
-          </el-form-item>-->
-        </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="12">
           <el-form-item label="是否数采:" prop="isCollection">
             <el-radio-group v-model="formData.isCollection">
               <el-radio
@@ -35,6 +28,8 @@
             </el-radio-group>
           </el-form-item>
         </el-col>
+      </el-row>
+      <el-row>
         <el-col :span="12">
           <el-form-item label="是否累计:" prop="isSum">
             <el-radio-group v-model="formData.isSum">
@@ -49,6 +44,20 @@
             </el-radio-group>
           </el-form-item>
         </el-col>
+        <el-col :span="12">
+          <el-form-item label="标识符" prop="code" v-show="formData.isSum === 1">
+            <el-radio-group v-model="formData.code">
+              <el-radio
+                v-for="dict in getStrDictOptions(DICT_TYPE.RQ_IOT_MODEL_TEMPLATE_ATTR)"
+                :key="dict.value"
+                :value="dict.value"
+                @click="radioChange(dict.value)"
+              >
+                {{ dict.label }}
+              </el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </el-col>
       </el-row>
 
       <el-row>
@@ -96,7 +105,7 @@
 
 <script lang="ts" setup>
 import DeviceAttrModelProperty from './AttrTemplateModelProperty.vue'
-import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
+import { DICT_TYPE, getIntDictOptions,getStrDictOptions } from '@/utils/dict'
 import { DeviceAttrModelApi, DeviceAttrModelData } from '@/api/pms/modelattrtemplate'
 import { DataSpecsDataType, DeviceAttrModelFormRules } from './config'
 import { cloneDeep } from 'lodash-es'

+ 5 - 5
src/views/pms/modeltemplate/detail/attrsModel/AttrTemplateModelProperty.vue

@@ -16,7 +16,7 @@
     </el-select>
   </el-form-item>
   <!-- 数值型配置 -->
-  <ModelAttrModelNumberDataSpecs
+<!--  <ModelAttrModelNumberDataSpecs
     v-if="
       [DataSpecsDataType.INT, DataSpecsDataType.DOUBLE, DataSpecsDataType.FLOAT].includes(
         selectOptions.type || ''
@@ -24,11 +24,11 @@
     "
     v-model="selectOptions.dataSpecs"
   />
-  <!-- 枚举型配置 -->
+  &lt;!&ndash; 枚举型配置 &ndash;&gt;
   <ModelAttrModelNumberDataSpecs
     v-if="selectOptions.type === DataSpecsDataType.ENUM"
     v-model="selectOptions.dataSpecsList"
-  />
+  />-->
   <!-- 布尔型配置 -->
   <el-form-item v-if="selectOptions.type === DataSpecsDataType.BOOL" label="布尔值">
     <template v-for="(item, index) in selectOptions.dataSpecsList" :key="item.value">
@@ -77,7 +77,7 @@
     v-if="selectOptions.type === DataSpecsDataType.STRUCT"
     v-model="selectOptions.dataSpecsList"
   />
-  <el-form-item v-if="!isStructDataSpecs && !isParams" label="是否必填" prop="selectOptions.requiredFlag">
+<!--  <el-form-item v-if="!isStructDataSpecs && !isParams" label="是否必填" prop="selectOptions.requiredFlag">
     <el-radio-group v-model="selectOptions.requiredFlag">
       <el-radio :label="DeviceAttrModelRequired.REQUIRED.value">
         {{ DeviceAttrModelRequired.REQUIRED.label }}
@@ -86,7 +86,7 @@
         {{ DeviceAttrModelRequired.NOT_REQUIRED.label }}
       </el-radio>
     </el-radio-group>
-  </el-form-item>
+  </el-form-item>-->
 </template>
 
 <script lang="ts" setup>

+ 6 - 1
src/views/pms/modeltemplate/detail/attrsModel/index.vue

@@ -28,9 +28,13 @@
           添加属性
         </el-button>
       </el-form-item>
+      <el-form-item label="所属模板:" style="width: 200px" label-width="100px">
+        <span>
+          {{modelName}}
+        </span>
+      </el-form-item>
     </el-form>
   </ContentWrap>
-
   <!-- 列表 -->
   <ContentWrap>
     <el-tabs>
@@ -97,6 +101,7 @@ defineOptions({ name: 'ModelAttrTemplate' })
 
 const deviceCategoryId = route.params.id.split(",")[0] // 设备分类id
 const categoryName = route.params.id.split(",")[1];//设备分类名称
+const modelName = route.params.id.split(",")[2];//模板名称
 const { t } = useI18n() // 国际化
 const message = useMessage() // 消息弹窗
 

+ 1 - 1
src/views/pms/modeltemplate/index.vue

@@ -122,7 +122,7 @@
                 <el-button
                   type="primary"
                   link
-                  @click="openDetail(scope.row.deviceCategoryId+','+scope.row.deviceCategoryName)"
+                  @click="openDetail(scope.row.deviceCategoryId+','+scope.row.deviceCategoryName+','+scope.row.name)"
                 >
                   <Icon icon="ep:edit" />{{t('operationFill.view')}}
                 </el-button>