Переглянути джерело

feat:加油机档案 平台和软件版本筛选 软件包跳转

huang, kai (Contractor) 2 тижнів тому
батько
коміт
d5412e4c65

+ 1 - 1
admin.ui.plus-master/src/views/admin/application/softwarePackageManagement/index.vue

@@ -74,7 +74,7 @@
               <template #default="{ row }">
                 <el-link class="my-el-link mr12 ml12" v-if="row.state === 0" type="primary" icon="ele-Upload"
                   @click="onRelease(row)" :underline="false" target="_blank">发布</el-link>
-                <el-link class="my-el-link mr12 ml12" v-if="row.state === 0" type="primary" icon="ele-Edit"
+                <el-link class="my-el-link mr12 ml12" v-if="row.state === 0" type="primary" icon="ele-EditPen"
                   @click="editTableData(row)" :underline="false" target="_blank">编辑</el-link>
                 <el-link class="my-el-link mr12 ml12" v-if="row.state === 1" type="primary" icon="ele-Download"
                   @click="onDownload(row)" :underline="false" target="_blank">下载</el-link>

+ 2 - 1
admin.ui.plus-master/src/views/admin/authorize/softwarePackageManagement/components/form-edit.vue

@@ -47,7 +47,7 @@
               <el-input v-model="formData.editData.digitalSignature" placeholder="数字签名,TQC+、ECVR、OPW必填" clearable></el-input>
             </el-form-item>
           </el-col>
-          <el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
 <el-form-item label="项目" prop="projectName">
   <el-select 
     v-model="formData.editData.projectName" 
@@ -66,6 +66,7 @@
   </el-select>
 </el-form-item>
           </el-col>
+          
         </el-row>
         <MyUploadFile  v-model="formData.fileValue" ref="uploadFileRef" :file="{fileUrl:formData.editData.downloadUrl,fileName:formData.editData.fileName}"  @onUpload="onUpload"/>
       </el-form>

+ 4 - 4
admin.ui.plus-master/src/views/admin/authorize/softwarePackageManagement/index.vue

@@ -8,7 +8,7 @@
             <el-form-item prop="name" style="width: 100%">
               <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" class="mb20">
                 <el-form-item label="软件类型">
-                  <el-select v-model="softwareData.Filter.softwareType" placeholder="请选择软件类型" style="width: 200px;">
+                  <el-select v-model="softwareData.Filter.softwareType" placeholder="请选择软件类型">
                     <el-option label="所有" :value="''"></el-option>
                     <el-option v-for="(value, key) in softwareType" :key="key" :label="value[1].name"
                       :value="Number(value[1].value)" />
@@ -27,7 +27,7 @@
               </el-col>
               <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" class="mb20">
                 <el-form-item label="设备类型">
-                  <el-select v-model="softwareData.Filter.equipmentType" placeholder="请选择设备类型" style="width: 200px;">
+                  <el-select v-model="softwareData.Filter.equipmentType" placeholder="请选择设备类型">
                     <el-option label="所有" :value="''"></el-option>
                     <el-option v-for="(value, key) in equipmentType" :key="key" :label="value[1].name"
                       :value="Number(value[1].value)" />
@@ -35,7 +35,7 @@
                 </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" class="mb20">
-                              <el-form-item label="状态" style="width: 308px;">
+                              <el-form-item label="状态">
                                   <el-select  placeholder="请选择上传状态">
                                    <el-option label="所有" :value="''"></el-option>
                                    <el-option label="已发布" :value="''"></el-option>
@@ -103,7 +103,7 @@
               <template #default="{ row }">
                 <el-link class="my-el-link mr12 ml12" v-if="row.state === 0" type="primary" icon="ele-Upload"
                   @click="onRelease(row)" :underline="false" target="_blank">发布</el-link>
-                <el-link class="my-el-link mr12 ml12" v-if="row.state === 0" type="primary" icon="ele-Edit"
+                <el-link class="my-el-link mr12 ml12" v-if="row.state === 0" type="primary" icon="ele-EditPen"
                   @click="editTableData(row)" :underline="false" target="_blank">编辑</el-link>
                 <el-link class="my-el-link mr12 ml12" v-if="row.state === 1" type="primary" icon="ele-Download"
                   @click="onDownload(row)" :underline="false" target="_blank">下载</el-link>

+ 11 - 4
admin.ui.plus-master/src/views/admin/product/slelist/index.vue

@@ -39,7 +39,7 @@
             <el-button  type="primary" icon="ele-Search" @click="onQuery"> 查询 </el-button>
             <el-button  type="primary" icon="ele-RefreshRight" @click="onReset"> 重置 </el-button>
           </el-row>
-          <el-button  type="primary" icon="ele-CirclePlus" @click="onAdd"> 添加 </el-button>
+          <el-button  type="primary" icon="ele-Plus" @click="onAdd"> 添加 </el-button>
           </el-row>
 </el-card>
       </el-col>
@@ -54,7 +54,7 @@
                   <el-link
                   class="my-el-link mr12 ml12"
                   type="primary"
-                  icon="ele-Upload"
+                  icon="ele-EditPen"
                   @click="onDateUpdate(row)"
                   :underline="false"
                   target="_blank"
@@ -87,8 +87,8 @@
       </el-col>
 </el-row>
 
-<el-dialog v-model="dialogVisible" :title="dialogTitle" width="50%" center>
-      <el-form ref="formRef" :model="formData" label-width="120px" :rules="rules" label-position="right">
+<el-dialog v-model="dialogVisible" :title="dialogTitle" width="50%">
+      <el-form class="duiqi" ref="formRef" :model="formData" label-width="120px" :rules="rules" label-position="right">
         <el-form-item label="项目名称" prop="projectName">
           <el-input v-model="formData.projectName" placeholder="请输入项目名称" clearable />
         </el-form-item>
@@ -305,4 +305,11 @@ const gotoSoftwarePackage = (row: any) => {
 ::v-deep .el-table th.el-table__cell {
   background-color: #F6F6F6;
 }
+
+/* 只选择弹窗内的表单标签 */
+::v-deep .el-dialog .el-form-item__label {
+  text-align: right !important;
+  justify-content: flex-end; /* 确保文本右对齐 */
+}
+
   </style>

+ 54 - 78
admin.ui.plus-master/src/views/admin/yujing/alarmRules/components/add-alarmRules.vue

@@ -100,8 +100,8 @@
         <el-form :inline="true" @submit.stop.prevent>
           <el-form-item label="触发方式:" style="width: 100%;" prop="triggerMethod">
             <el-radio-group v-model="Data.Filter.triggerMethod">
-              <el-radio :label="0">其中之一条件满足即触发</el-radio>
-              <el-radio :label="1">全部满足时触发</el-radio>
+              <el-radio label="其中之一条件满足即触发">其中之一条件满足即触发</el-radio>
+              <el-radio label="全部满足时触发">全部满足时触发</el-radio>
             </el-radio-group>
           </el-form-item>
         </el-form>
@@ -189,8 +189,8 @@
         <el-form :inline="true" @submit.stop.prevent>
           <el-form-item label="触发方式:" style="width: 100%;" prop="triggerMethod2">
             <el-radio-group v-model="Data.Filter.triggerMethod2">
-              <el-radio :label="0">其中之一条件满足即触发</el-radio>
-              <el-radio :label="1">全部满足时触发</el-radio>
+              <el-radio label="其中之一条件满足即触发">其中之一条件满足即触发</el-radio>
+              <el-radio label="全部满足时触发">全部满足时触发</el-radio>
             </el-radio-group>
           </el-form-item>
         </el-form>
@@ -295,8 +295,8 @@ const Data = reactive({
     regular: '',
     isExclusive: false,
     taskPriority: 1,
-    triggerMethod: null,
-    triggerMethod2: null,
+    triggerMethod: null, // 这里应根据实际情况设置默认值,比如0表示其中之一条件满足即触发
+    triggerMethod2: null, // 这里应根据实际情况设置默认值,比如0表示其中之一条件满足即触发
     conditionsJson: '' as any,
     MaintenanceJson: '' as any,
     pushUserid: []
@@ -577,82 +577,58 @@ const submitForm = async () => {
  * @param row
  */
 const openDialog = (row: alarmRluesFilterModel) => {
-  // 重置基本状态
-  Data.radioValue1 = false
-  Data.radioValue2 = false
-  Data.showAlarmConditions = false
-  Data.showRepairConditions = false
-  
-  // 初始化条件数组
-  Data.condition = [{
-    equipment: '',
-    type: '',
-    source: ''
-  }]
-  Data.condition2 = [{
-    proType: '',
-    proStatus: ''
-  }]
-  
-  if (row) {
-    // 深度复制所有属性
-    Data.Filter = {
-      ...row,
-      // 处理数组属性
-      roleMappingId: [...(row.roleMappingId || [])],
-      pushTemplateMappingID: [...(row.pushTemplateMappingID || [])],
-      pushUserid: [...(row.pushUserid || [])],
-      // 确保关键字段有值
-      ruleName: row.ruleName || '',
-      labelId: row.labelId || null,
-      // 处理触发方式类型
-      triggerMethod: row.triggerMethod != null ? String(row.triggerMethod) : null,
-      triggerMethod2: row.triggerMethod2 != null ? String(row.triggerMethod2) : null,
-      // 处理互斥开关
-      isExclusive: row.isExclusive === '是' || row.isExclusive === true
+  console.log(row)
+  if(row){
+    console.log(Data.Filter)
+    const { triggerMethod, triggerMethod2, ruleName, roleMappingId, labelId, ...rest } = Data.Filter;
+    Data.Filter = { ...rest, ...row };
+    Data.Filter.triggerMethod = triggerMethod || Data.Filter.triggerMethod;
+    Data.Filter.triggerMethod2 = triggerMethod2 || Data.Filter.triggerMethod2;
+    Data.Filter.roleMappingId = roleMappingId || Data.Filter.roleMappingId;
+    Data.Filter.labelId = labelId || Data.Filter.labelId;
+    Data.Filter.ruleName = ruleName || Data.Filter.ruleName;
+
+    if (Data.Filter.isExclusive == '是') {
+      Data.Filter.isExclusive = true;
+    } else {
+      Data.Filter.isExclusive = false;
     }
-    
-    // 处理推送方式
-    const temp = (row.pushMethod || '').split(',')
-    Data.radioValue1 = temp.includes('微信') || temp.includes('wx')
-    Data.radioValue2 = temp.includes('电子邮箱') || temp.includes('email')
-    
-    // 处理模板选择
-    if (row.pushTemplateMappingID) {
-      Data.mode1 = templateData.wxList.find((item: { id: number; }) => 
-        row.pushTemplateMappingID?.includes(item.id))?.id || ''
-      Data.mode2 = templateData.emailList.find((item: { id: number; }) => 
-        row.pushTemplateMappingID?.includes(item.id))?.id || ''
+    const temp = <string[]>Data.Filter.pushMethod?.split(',');
+    for (var i = 0; i < temp.length; i++) {
+      if (temp[i] == '微信') {
+        Data.radioValue1 = true;
+      } else if (temp[i] == '电子邮箱') {
+        Data.radioValue2 = true;
+      }
     }
-    
-    // 解析条件数据
-    try {
-      // 报警条件
-      if (row.conditionsJson) {
-        const parsed = typeof row.conditionsJson === 'string' 
-          ? JSON.parse(row.conditionsJson)
-          : row.conditionsJson
-        if (parsed && parsed.length) {
-          Data.condition = [...parsed]
-          Data.showAlarmConditions = true
+
+    // 如果有条件数据,解析并显示
+    // 解析报警条件
+    if (row.conditionsJson) {
+      try {
+        const alarmConditions = JSON.parse(row.conditionsJson);
+        if (alarmConditions && alarmConditions.length > 0) {
+          Data.condition = alarmConditions;
+          Data.showAlarmConditions = true;
         }
+      } catch (e) {
+        console.error('解析报警条件JSON失败:', e);
       }
-      
-      // 维修条件
-      if (row.MaintenanceJson) {
-        const parsed = typeof row.MaintenanceJson === 'string'
-          ? JSON.parse(row.MaintenanceJson)
-          : row.MaintenanceJson
-        if (parsed && parsed.length) {
-          Data.condition2 = [...parsed]
-          Data.showRepairConditions = true
+    }
+
+    // 解析维修条件
+    if (row.MaintenanceJson) {
+      try {
+        const repairConditions = JSON.parse(row.MaintenanceJson);
+        if (repairConditions && repairConditions.length > 0) {
+          Data.condition2 = repairConditions;
+          Data.showRepairConditions = true;
         }
+      } catch (e) {
+        console.error('解析维修条件JSON失败:', e);
       }
-    } catch (e) {
-      console.error('解析条件失败:', e)
     }
   } else {
-    // 新规则初始化
     Data.Filter = {
       ruleName: '',
       roleMappingId: [],
@@ -668,11 +644,11 @@ const openDialog = (row: alarmRluesFilterModel) => {
       conditionsJson: null,
       MaintenanceJson: null,
       pushUserid: []
-    }
+    } as unknown as alarmRluesFilterModel;
   }
-  
-  Data.isShowDialog = true
-}
+
+  Data.isShowDialog = true;
+};
 
 defineExpose({
   openDialog,