2545307760@qq.com 4 ay önce
ebeveyn
işleme
8d3f8d6243

+ 0 - 1
server/api/v1/vehicle/vehicle.go

@@ -17,7 +17,6 @@ func CreateVehicle(c *gin.Context) {
 		response.FailWithMessage(err.Error(), c)
 		return
 	}
-
 	err := vehicle.VehicleService.CreateVehicle(req)
 	if err != nil {
 		response.FailWithMessage(err.Error(), c)

+ 1 - 1
server/config.yaml

@@ -125,7 +125,7 @@ mysql:
     config: charset=utf8mb4&parseTime=True&loc=Local
     db-name: lc_garage
     username: root
-    password: root
+    password: 123456
     path: 127.0.0.1
     engine: ""
     log-mode: error

+ 1 - 1
server/dao/vehicle.go

@@ -8,7 +8,7 @@ import (
 type Vehicle struct {
 	global.GVA_MODEL
 	PlateNumber   string    `gorm:"size:20;not null;uniqueIndex" json:"plate_number"` // 车牌号
-	RFIDTag       string    `gorm:"size:20;not null;uniqueIndex" json:"rfid_tag"`     // 电子标签
+	RFIDTag       string    `gorm:"size:20;" json:"rfid_tag"`                         // 电子标签
 	VehicleType   string    `gorm:"size:20;not null" json:"vehicle_type"`             // 车辆类型
 	VehicleBrand  string    `gorm:"size:50" json:"vehicle_brand"`                     // 车辆品牌
 	VehicleColor  string    `gorm:"size:20" json:"vehicle_color"`                     // 车辆颜色

+ 0 - 2
server/service/vehicle/vehicle.go

@@ -22,13 +22,11 @@ func (s *vehicleService) CreateVehicle(req request.VehicleCreate) error {
 	if result.RowsAffected > 0 {
 		return errors.New("车牌号已存在")
 	}
-
 	// 处理临时车辆的情况
 	var ownerId *uint
 	if req.OwnerId > 0 {
 		ownerId = &req.OwnerId
 	}
-
 	vehicle := dao.Vehicle{
 		PlateNumber:  req.PlateNumber,
 		VehicleType:  req.VehicleType,

+ 35 - 8
web/src/view/parking/carInfo.vue

@@ -30,9 +30,8 @@
         </el-form-item>
         <el-form-item label="车辆类型:">
           <el-select v-model="carInfoData.vehicle_type">
-            <el-option label="货车" value="货车"/>
-            <el-option label="小汽车" value="小汽车"/>
-            <el-option label="面包车" value="面包车"/>
+            <el-option label="月租车" value="月租车"/>
+            <el-option label="临时车" value="临时车"/>
           </el-select>
         </el-form-item>
         <el-form-item label="车辆品牌:">
@@ -42,14 +41,17 @@
           <el-input v-model="carInfoData.vehicle_color"/>
         </el-form-item>
         <el-form-item label="车主:">
-          <el-select v-model="carInfoData.owner_id">
+          <el-select v-model="ownerName" value-key="ID" @change="changeCarOwner">
             <el-option
                 v-for="item in carOwnerList"
                 :key="item.ID"
                 :label="item.owner_name"
-                :value="item.ID"/>
+                :value="item.owner_name"/>
           </el-select>
         </el-form-item>
+        <el-form-item label="电子标签:">
+          <el-input v-model="carInfoData.rfid_tag"/>
+        </el-form-item>
       </el-form>
       <template #footer>
         <el-button @click="carInfoShow = false">取消</el-button>
@@ -68,33 +70,59 @@ const carOwnerList = reactive([])
 const carInfoTitle = ref('')
 const carInfoShow = ref(false)
 const carInfoData = reactive({
+  id:0,
   plate_number: '',
   vehicle_type: '',
   vehicle_brand: '',
   vehicle_color: '',
-  owner_id: 0
+  owner_id: 0,
+  rfid_tag: '17'
 })
+
+const ownerName = ref('')
 const carInfoList = reactive([])
 const openCarInfo = (head,data) => {
   carInfoTitle.value = head
   carInfoShow.value = true
-  if (head === '新增车辆信息') {
+  console.log('编辑信息', data)
+  if (head === '编辑车辆信息') {
     carInfoData.id = data.ID
+    carInfoData.owner_id = data.owner_id
     carInfoData.plate_number = data.plate_number
     carInfoData.vehicle_type = data.vehicle_type
     carInfoData.vehicle_brand = data.vehicle_brand
     carInfoData.vehicle_color = data.vehicle_color
+    carInfoData.rfid_tag = data.rfid_tag
+    carOwnerList.forEach(item => {
+      if (item.ID === data.owner_id) {
+        ownerName.value = item.owner_name
+      }
+    })
   } else {
     carInfoData.plate_number = ''
     carInfoData.vehicle_type = ''
     carInfoData.vehicle_brand = ''
     carInfoData.vehicle_color = ''
+    carInfoData.owner_id = 0
+    carInfoData.rfid_tag = ''
+    ownerName.value = ''
   }
 }
 
+const changeCarOwner = (val) => {
+  carOwnerList.forEach(item => {
+    if (item.owner_name === val) {
+      ownerName.value = item.owner_name
+      carInfoData.owner_id = item.ID
+    }
+  })
+}
+
 const carInfoOperation = () => {
   if (carInfoTitle.value === '新增车辆信息') {
+    console.log('新增信息', carInfoData)
     addCarInfo(carInfoData).then(res => {
+      console.log('结果', res)
       if (res.code === 0) {
         ElMessage.success('添加成功')
         carInfoShow.value = false
@@ -151,7 +179,6 @@ const getCarInfoList = () => {
     if (res.code === 0) {
       carInfoList.length = 0
       carInfoList.push(...res.data.list)
-      carInfoList.push(1)
     }
   })
 }

+ 37 - 6
web/src/view/parking/roster.vue

@@ -20,26 +20,57 @@
         <el-button>批量导入</el-button>
       </el-form-item>
       <el-form-item>
-        <el-button icon="Plus">新增</el-button>
+        <el-button icon="Plus" @click="addRollShow = true">新增</el-button>
       </el-form-item>
       <el-form-item>
         <el-button type="primary">搜索</el-button>
       </el-form-item>
     </el-form>
-    <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
-      <el-tab-pane label="月租车" name="first">月租车</el-tab-pane>
-      <el-tab-pane label="临时车" name="second">临时车</el-tab-pane>
-    </el-tabs>
+    <el-dialog v-model="rollOperationShow">
+      <el-form>
+        <el-form-item label="黑白名单:">
+          <el-radio-group v-model="rollData.black_white" size="large" fill="#409eff">
+            <el-radio-button label="否" :value="false" />
+            <el-radio-button label="是" :value="true" />
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="车主名称:">
+          <el-select></el-select>
+        </el-form-item>
+        <el-form-item label="车牌:"></el-form-item>
+        <el-form-item label="车辆识别名称:"></el-form-item>
+        <el-form-item label="到期日期:"></el-form-item>
+      </el-form>
+      <template #footer>
+        <el-button @click="rollOperationShow = false">取消</el-button>
+        <el-button @click="rollOperation" type="primary">确认</el-button>
+      </template>
+    </el-dialog>
   </div>
 </template>
 
 <script setup>
-import { ref } from 'vue'
+import { ref, reactive } from 'vue'
 const activeName = ref('first')
 
 const handleClick = () => {
 
 }
+// 黑白名单操作
+const rollOperationShow = ref(false)
+
+const rollData = reactive({
+  black_white: false,
+  carOwner: 0,
+  carPlate: '',
+  recognize: '',
+  expire: ''
+})
+
+const rollOperation = () => {
+
+}
+
 </script>
 
 <style scoped lang="scss">