From bae07cec6cfa99cadd98fb7eb0332cbde35a921e Mon Sep 17 00:00:00 2001
From: husq <931347610@qq.com>
Date: Wed, 13 Sep 2023 17:12:38 +0800
Subject: [PATCH] 计划样式初步修改

---
 src/components/task/CreatePlan.vue |  199 +++++++++++++++++++++++++++----------------------
 1 files changed, 108 insertions(+), 91 deletions(-)

diff --git a/src/components/task/CreatePlan.vue b/src/components/task/CreatePlan.vue
index 5dc2ed2..cd3736c 100644
--- a/src/components/task/CreatePlan.vue
+++ b/src/components/task/CreatePlan.vue
@@ -5,17 +5,14 @@
     </div>
     <div class="content">
       <a-form ref="valueRef" layout="horizontal" :hideRequiredMark="true" :rules="rules" :model="planForm"
-              labelAlign="left">
-        <a-form-item label="计划名称" name="name" :labelCol="{span: 23}">
-          <a-input style="background: black;" placeholder="请输入计划名称" v-model:value="planForm.name"/>
+        labelAlign="left">
+        <a-form-item label="计划名称" name="name" :labelCol="{ span: 23 }">
+          <a-input style="background: black;" placeholder="请输入计划名称" v-model:value="planForm.name" />
         </a-form-item>
 
         <!-- 航线 -->
-        <a-form-item label="执行航线" :wrapperCol="{offset: 12}" name="fileId">
-          <router-link
-              :to="{name: 'select-plan'}"
-              @click="selectRoute"
-          >
+        <a-form-item label="执行航线" :wrapperCol="{ offset: 12 }" name="fileId">
+          <router-link :to="{ name: 'select-plan' }" @click="selectRoute">
             选择航线
           </router-link>
         </a-form-item>
@@ -29,21 +26,25 @@
                 </div>
               </a-tooltip>
               <div class="ml10">
-                <UserOutlined/>
+                <UserOutlined />
               </div>
               <a-tooltip :title="wayline.user_name">
                 <div class="ml5 pr10"
-                     style="width: 80px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;">
+                  style="width: 80px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;">
                   {{ wayline.user_name }}
                 </div>
               </a-tooltip>
             </div>
             <div class="ml10 mt5" style="color: hsla(0,0%,100%,0.65);">
-              <span><RocketOutlined/></span>
+              <span>
+                <RocketOutlined />
+              </span>
               <span class="ml5">{{
-                  Object.keys(EDeviceType)[Object.values(EDeviceType).indexOf(wayline.drone_model_key)]
-                }}</span>
-              <span class="ml10"><CameraFilled style="border-top: 1px solid; padding-top: -3px;"/></span>
+                Object.keys(EDeviceType)[Object.values(EDeviceType).indexOf(wayline.drone_model_key)]
+              }}</span>
+              <span class="ml10">
+                <CameraFilled style="border-top: 1px solid; padding-top: -3px;" />
+              </span>
               <span class="ml5" v-for="payload in wayline.payload_model_keys" :key="payload.id">
                 {{ Object.keys(EDeviceType)[Object.values(EDeviceType).indexOf(payload)] }}
               </span>
@@ -55,11 +56,8 @@
         </a-form-item>
 
         <!-- 设备 -->
-        <a-form-item label="执行设备" :wrapperCol="{offset: 12}" v-model:value="planForm.dockSn" name="dockSn">
-          <router-link
-              :to="{name: 'select-plan'}"
-              @click="selectDevice"
-          >选择设备
+        <a-form-item label="执行设备" :wrapperCol="{ offset: 12 }" v-model:value="planForm.dockSn" name="dockSn">
+          <router-link :to="{ name: 'select-plan' }" @click="selectDevice">选择设备
           </router-link>
         </a-form-item>
         <a-form-item v-if="planForm.dockSn" style="margin-top: -15px;">
@@ -72,19 +70,22 @@
               </a-tooltip>
             </div>
             <div class="ml10 mt5" style="color: hsla(0,0%,100%,0.65);">
-              <span><RocketOutlined/></span>
+              <span>
+                <RocketOutlined />
+              </span>
               <span class="ml5">{{ dock.children?.nickname ?? 'No drone' }}</span>
             </div>
           </div>
         </a-form-item>
 
         <!-- 任务策略 -->
-        <a-form-item label="任务策略" name="taskType" class="plan-timer-form-item" :labelCol="{span: 23}" >
+        <a-form-item label="任务策略" name="taskType" class="plan-timer-form-item" :labelCol="{ span: 23 }">
           <div style="white-space: nowrap;">
-            <a-radio-group v-model:value="planForm.taskType" button-style="solid" @change="taskTypeChange">
+            <a-radio-group class="group_radio" v-model:value="planForm.taskType" button-style="solid"
+              @change="taskTypeChange">
               <a-radio-button v-for="type in TaskTypeOptions" :value="type.value" :key="type.value">{{
-                  type.label
-                }}
+                type.label
+              }}
               </a-radio-button>
             </a-radio-group>
 
@@ -94,131 +95,132 @@
 
         <!-- 单次定时- -->
         <a-form-item label="执行时间" v-if="planForm.taskType === TaskType.Timed" name="executeSingleTime"
-                     :labelCol="{span: 23}">
-          <a-date-picker
-              v-model:value="planForm.executeSingleTime"
-              format="YYYY-MM-DD HH:mm"
-              valueFormat="YYYY-MM-DD HH:mm"
-              show-time
-              placeholder="请选择日期"
-          />
+          :labelCol="{ span: 23 }">
+          <a-date-picker v-model:value="planForm.executeSingleTime" format="YYYY-MM-DD HH:mm"
+            valueFormat="YYYY-MM-DD HH:mm" show-time placeholder="请选择日期" />
         </a-form-item>
 
         <!--重复定时-->
         <!--执行日期-->
         <a-form-item v-if="planForm.taskType === TaskType.RepeatTimed || planForm.taskType === TaskType.Continuous"
-                     label="执行日期" name="repeatExecuteTimeArr" :labelCol="{span: 23}">
+          label="执行日期" name="repeatExecuteTimeArr" :labelCol="{ span: 23 }">
           <a-range-picker v-model:value="planForm.repeatExecuteTimeArr" format="YYYY-MM-DD" valueFormat="YYYY-MM-DD"
-                          :placeholder="['开始日期','结束日期']"/>
+            :placeholder="['开始日期', '结束日期']" />
         </a-form-item>
 
         <!--执行时间-->
-        <a-form-item v-if="planForm.taskType ===TaskType.RepeatTimed" label="执行时间" name="repeatTimeArr"
-                     :labelCol="{span: 23}">
-          <div v-for="(item ,index) in repeatTimeArr" :key="index">
-            <a-time-picker style="background: black" v-model:value="item.value" placeholder="请选择时间"
-                           format="HH:mm" valueFormat="HH:mm"/>
+        <a-form-item v-if="planForm.taskType === TaskType.RepeatTimed" label="执行时间" name="repeatTimeArr"
+          :labelCol="{ span: 23 }">
+          <div v-for="(item, index) in repeatTimeArr" :key="index">
+            <a-time-picker style="background: black" v-model:value="item.value" placeholder="请选择时间" format="HH:mm"
+              valueFormat="HH:mm" />
 
             <a-button @click="addTime" type="default" shape="circle" :size="btnSize">
               <template #icon>
-                <PlusCircleOutlined/>
+                <PlusCircleOutlined />
               </template>
             </a-button>
 
             <a-button @click="deleteTime(item)" type="default" shape="circle" :size="btnSize">
               <template #icon>
-                <MinusCircleOutlined/>
+                <MinusCircleOutlined />
               </template>
             </a-button>
           </div>
         </a-form-item>
-        <a-form-item v-if="planForm.taskType ===TaskType.Continuous" label="执行时间" name="repeatTimeArr"
-                     :labelCol="{span: 23}">
-          <div v-for="(item ,index) in repeatTimeArr" :key="index">
-            <a-time-picker style="background: black" v-model:value="item.value[0]" placeholder="请选择时间"
-                           format="HH:mm" valueFormat="HH:mm"/>
+        <a-form-item v-if="planForm.taskType === TaskType.Continuous" label="执行时间" name="repeatTimeArr"
+          :labelCol="{ span: 23 }">
+          <div v-for="(item, index) in repeatTimeArr" :key="index">
+            <a-time-picker style="background: black" v-model:value="item.value[0]" placeholder="请选择时间" format="HH:mm"
+              valueFormat="HH:mm" />
             <div style="color: white">-</div>
-            <a-time-picker style="background: black" v-model:value="item.value[1]" placeholder="请选择时间"
-                           format="HH:mm"  valueFormat="HH:mm"/>
+            <a-time-picker style="background: black" v-model:value="item.value[1]" placeholder="请选择时间" format="HH:mm"
+              valueFormat="HH:mm" />
 
             <a-button @click="addTime" type="default" shape="circle" :size="btnSize">
               <template #icon>
-                <PlusCircleOutlined/>
+                <PlusCircleOutlined />
               </template>
             </a-button>
 
             <a-button @click="deleteTime(item)" type="default" shape="circle" :size="btnSize">
               <template #icon>
-                <MinusCircleOutlined/>
+                <MinusCircleOutlined />
               </template>
             </a-button>
           </div>
         </a-form-item>
 
         <!-- 任务开始执行的电量 -->
-        <a-form-item v-if="planForm.taskType === TaskType.Continuous" label="任务开始执行的电量" :labelCol="{span: 23}"
-                     name="startPower">
-          <a-input style="background: black;" placeholder="请输入计划名称" v-model:value="planForm.startPower"/>
+        <a-form-item v-if="planForm.taskType === TaskType.Continuous" label="任务开始执行的电量" :labelCol="{ span: 23 }"
+          name="startPower">
+          <a-input style="background: black;" placeholder="请输入计划名称" v-model:value="planForm.startPower" />
 
         </a-form-item>
 
         <!--重复频率-->
         <a-form-item v-if="planForm.taskType === TaskType.RepeatTimed || planForm.taskType === TaskType.Continuous"
-                     label="重复频率" name="frequencyValue" :labelCol="{span: 23}">
+          label="重复频率" name="frequencyValue" :labelCol="{ span: 23 }">
           <div>
             <div style="color: white">每</div>
-            <a-input style="background-color: black;" placeholder="请输入计划名称"
-                     v-model:value="planForm.frequencyValue"/>
+            <a-input style="background-color: black;" placeholder="请输入计划名称" v-model:value="planForm.frequencyValue" />
             <a-select v-model:value="planForm.frequencyType" style="width: 200px"
-                      :options="FrequencyTypeOptions"></a-select>
+              :options="FrequencyTypeOptions"></a-select>
           </div>
         </a-form-item>
 
         <!--重复规则-->
         <a-form-item v-if="planForm.taskType === TaskType.RepeatTimed || planForm.taskType === TaskType.Continuous"
-                     label="重复规则" name="repeatRuleType" :labelCol="{span: 23}">
+          label="重复规则" name="repeatRuleType" :labelCol="{ span: 23 }">
           <div>
             <a-select v-model:value="planForm.repeatRuleType" style="background-color:black;width: 200px"
-                      @change="repeatRuleTypeChange" :options="RepeatRuleTypeOptions"></a-select>
+              @change="repeatRuleTypeChange" :options="RepeatRuleTypeOptions"></a-select>
           </div>
 
           <div v-if="planForm.repeatRuleType === RepeatRuleType.day">
-            <a-button class="btn" :class="[item.checked?'btn-selected':'btn-unselected'] "
-                      v-for="(item,index) in dayNumArr" :key="index" size="small" @click="selectBtn(item)">
+            <a-button class="btn" :class="[item.checked ? 'btn-selected' : 'btn-unselected']"
+              v-for="(item, index) in dayNumArr" :key="index" size="small" @click="selectBtn(item)">
               {{ item.value }}
             </a-button>
           </div>
 
-          <div v-if="planForm.repeatRuleType===RepeatRuleType.week">
+          <div v-if="planForm.repeatRuleType === RepeatRuleType.week">
             <a-select v-model:value="planForm.repeatRuleValueWeek[0]" style="width: 200px"
-                      :options="WhichWeekOptions"></a-select>
+              :options="WhichWeekOptions"></a-select>
             <a-select v-model:value="planForm.repeatRuleValueWeek[1]" style="width: 200px"
-                      :options="WhichDayOptions"></a-select>
+              :options="WhichDayOptions"></a-select>
           </div>
 
         </a-form-item>
 
         <!-- 相对机场返航高度 -->
-        <a-form-item label="相对机场返航高度(ALT)" :labelCol="{span: 23}" name="rthAltitude">
+        <a-form-item label="相对机场返航高度(ALT)" :labelCol="{ span: 23 }" name="rthAltitude">
           <div class="form-alt">
-            <a-button class="alt-btn" type="primary" size="small" :disabled="calculateDisabled('-',100)" @click="calculate('-',100)">-100</a-button>
-            <a-button class="alt-btn" type="primary" size="small" :disabled="calculateDisabled('-',10)" @click="calculate('-',10)">-10</a-button>
-            <a-button class="alt-btn" type="primary" size="small" :disabled="calculateDisabled('-',1)" @click="calculate('-',1)">-1</a-button>
+            <a-button class="alt-btn" type="primary" size="small" :disabled="calculateDisabled('-', 100)"
+              @click="calculate('-', 100)">-100</a-button>
+            <a-button class="alt-btn" type="primary" size="small" :disabled="calculateDisabled('-', 10)"
+              @click="calculate('-', 10)">-10</a-button>
+            <a-button class="alt-btn" type="primary" size="small" :disabled="calculateDisabled('-', 1)"
+              @click="calculate('-', 1)">-1</a-button>
 
-            <a-input class="alt-input" v-model:value="planForm.rthAltitude" :min="20" :max="1500"  required/>
+            <a-input class="alt-input" v-model:value="planForm.rthAltitude" :min="20" :max="1500" required />
 
-            <a-button class="alt-btn" type="primary" size="small" :disabled="calculateDisabled('+',1)" @click="calculate('+',1)">+1</a-button>
-            <a-button class="alt-btn" type="primary" size="small" :disabled="calculateDisabled('+',10)" @click="calculate('+',10)">+10</a-button>
-            <a-button class="alt-btn" type="primary" size="small" :disabled="calculateDisabled('+',100)" @click="calculate('+',100)"> +100</a-button>
+            <a-button class="alt-btn" type="primary" size="small" :disabled="calculateDisabled('+', 1)"
+              @click="calculate('+', 1)">+1</a-button>
+            <a-button class="alt-btn" type="primary" size="small" :disabled="calculateDisabled('+', 10)"
+              @click="calculate('+', 10)">+10</a-button>
+            <a-button class="alt-btn" type="primary" size="small" :disabled="calculateDisabled('+', 100)"
+              @click="calculate('+', 100)"> +100</a-button>
           </div>
 
         </a-form-item>
 
         <!-- Lost Action -->
-        <a-form-item label="航线飞行中失联" :labelCol="{span: 23}" name="outOfControl">
+        <a-form-item label="航线飞行中失联" :labelCol="{ span: 23 }" name="outOfControl">
           <div class="form-outOfControl" style="white-space: nowrap;">
             <a-radio-group v-model:value="planForm.outOfControl" button-style="solid">
-              <a-radio-button v-for="action in OutOfControlActionOptions" :value="action.value" :key="action.value">
+              <a-radio-button v-for="(action, acIndex) in  OutOfControlActionOptions " :value="action.value"
+                :key="action.value" :style="{ marginRight: ( acIndex === 0 ? '10px' : '0px' ) }">
                 {{ action.label }}
               </a-radio-button>
             </a-radio-group>
@@ -226,14 +228,14 @@
         </a-form-item>
 
         <!--完成动作-->
-        <a-form-item label="完成动作" :labelCol="{span: 23}" name="finishAction">
+        <a-form-item label="完成动作" :labelCol="{ span: 23 }" name="finishAction">
           <a-select disabled v-model:value="planForm.finishAction" style="width: 200px"
-                    :options="FinishActionOptions"></a-select>
+            :options="FinishActionOptions"></a-select>
         </a-form-item>
 
         <!--断点续飞-->
-        <a-form-item label="自动断点续飞" :labelCol="{span: 20}" name="breakContinue">
-          <a-switch v-model:checked="planForm.breakContinue" :checkedValue="1" :unCheckedValue="2"/>
+        <a-form-item label="自动断点续飞" :labelCol="{ span: 20 }" name="breakContinue">
+          <a-switch v-model:checked="planForm.breakContinue" :checkedValue="1" :unCheckedValue="2" />
         </a-form-item>
 
         <!--提交,取消按钮-->
@@ -249,13 +251,13 @@
     </div>
   </div>
   <div v-if="drawerVisible"
-       style="position: absolute; left: 335px; width: 280px; height: 100vh; float: right; top: 0; z-index: 1000; color: white; background: #282828;">
+    style="position: absolute; left: 370px; width: 280px; height: 100vh; float: right; top: 0; z-index: 1000; color: white; background: #282828;">
     <div>
-      <router-view :name="routeName"/>
+      <router-view :name="routeName" />
     </div>
     <div style="position: absolute; top: 15px; right: 10px;">
       <a style="color: white;" @click="closePanel">
-        <CloseOutlined/>
+        <CloseOutlined />
       </a>
     </div>
   </div>
@@ -416,7 +418,7 @@
 
 // 构建表单
 function buildForm () {
-  const form :any = {}
+  const form: any = {}
 
   // 公共字段
   form.name = planForm.name
@@ -564,8 +566,13 @@
       margin: 10px;
     }
 
-    form label, input, .ant-input, .ant-calendar-range-picker-separator,
-    .ant-input:hover, .ant-time-picker .anticon, .ant-calendar-picker .anticon {
+    form label,
+    input,
+    .ant-input,
+    .ant-calendar-range-picker-separator,
+    .ant-input:hover,
+    .ant-time-picker .anticon,
+    .ant-calendar-picker .anticon {
       background-color: #232323;
       color: #fff;
     }
@@ -581,10 +588,17 @@
         color: #fff;
         width: 23%;
         text-align: center;
+        padding: 0;
 
         &.ant-radio-button-wrapper-checked {
           background-color: #1890ff;
         }
+      }
+
+      .group_radio {
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
       }
     }
   }
@@ -645,27 +659,30 @@
   }
 }
 
-.form-alt{
+.form-alt {
   display: flex;
   align-items: center;
 
-  .alt-btn{
-    margin: 0 2px 0 2px ;
+  .alt-btn {
+    margin: 0 2px 0 2px;
     width: 45px;
+    padding: 0 4px;
   }
 
-  .alt-input{
+  .alt-input {
     width: 50px;
+    padding: 0;
+    text-align: center;
   }
 }
 
-.btn-selected{
+.btn-selected {
   background: #2d8cf0 !important;
-  color:white !important;
+  color: white !important;
 }
 
 .btn-unselected {
   background: #3c3c3c !important;
-  color:white !important;
+  color: white !important;
 }
 </style>

--
Gitblit v1.9.3