From c52a53fdb6d250f7136ec23f88d6b253c4473e84 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 19 八月 2024 15:32:56 +0800
Subject: [PATCH] 最新版本

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java       |    2 
 admin/src/views/platform/platform.vue                                                                      |   40 ++++---
 admin/src/views/platform/platformGroup.vue                                                                 |   87 +++++++++++++++++
 admin/src/components/business/OperaPlatformGroupWindow.vue                                                 |  118 +++++++++++++++++++++++
 5 files changed, 235 insertions(+), 20 deletions(-)

diff --git a/admin/src/components/business/OperaPlatformGroupWindow.vue b/admin/src/components/business/OperaPlatformGroupWindow.vue
new file mode 100644
index 0000000..155a070
--- /dev/null
+++ b/admin/src/components/business/OperaPlatformGroupWindow.vue
@@ -0,0 +1,118 @@
+<template>
+  <GlobalWindow
+    :title="title"
+    width="50%"
+    :visible.sync="visible"
+    :confirm-working="isWorking"
+    @confirm="confirm"
+  >
+    <el-form :model="form" ref="form" :rules="rules">
+      <el-form-item label="鍒嗙粍鍚嶇О锛�" prop="name">
+        <el-input v-model="form.name" placeholder="璇疯緭鍏ュ垎缁勫悕绉�" v-trim/>
+      </el-form-item>
+      <el-form-item label="涓氬姟绫诲瀷锛�" prop="type">
+        <el-radio-group v-model="form.type" >
+          <el-radio  :label="0"  >瀹夋嘲鐗╂祦鍗歌揣</el-radio>
+          <el-radio  :label="1"  >瀹夋嘲鐗╂祦瑁呰揣</el-radio>
+          <el-radio  :label="2"  >甯傚叕鍙稿嵏璐�</el-radio>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="宸ヤ綔鏃堕棿锛�" prop="startTime">
+        <div style=" display: inline-block">
+          <el-time-picker
+              style="width: 150px;display: inline-block"
+              v-model="form.startTime"
+              format="HH:mm"
+              value-format="HH:mm"
+              placeholder="璇烽�夋嫨寮�濮嬫椂闂�"
+          >
+          </el-time-picker> 鑷�
+          <el-time-picker
+              style="width: 150px;display: inline-block"
+              v-model="form.endTime"
+              format="HH:mm"
+              value-format="HH:mm"
+              placeholder="璇烽�夋嫨缁撴潫鏃堕棿"
+          >
+          </el-time-picker>
+        </div>
+
+      </el-form-item>
+      <el-form-item label="鍙彿绛夊緟鏃堕棿(鍒嗛挓)锛�" prop="waitCallTime">
+        <el-input type="number"  v-model="form.waitCallTime" placeholder="璇疯緭鍏ュ彨鍙风瓑寰呮椂闂�(鍒嗛挓)" v-trim/>
+      </el-form-item>
+    </el-form>
+  </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import { numRuleGtZero } from '@/utils/form'
+import { allList } from '@/api/platform/platformGroup'
+import { getList as deviceList } from '@/api/business/device'
+export default {
+  name: 'OperaPlatformWindow',
+  extends: BaseOpera,
+  components: { GlobalWindow },
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      groupList: [],
+      broadcastList: [],
+      ledList: [],
+      form: {
+        id: null,
+        name: '',
+        type: 0,
+        startTime: '',
+        endTime: '',
+        waitCallTime: ''
+      },
+      // 楠岃瘉瑙勫垯
+      rules: {
+        name: [{ required: true, message: '璇疯緭鍏ュ垎缁勫悕绉� ', trigger: 'blur' }],
+        type: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷 '}]
+      }
+    }
+  },
+  created () {
+    this.config({
+      api: '/platform/platformGroup',
+      'field.id': 'id'
+    })
+  },
+  methods: {
+    seleTime(){},
+    /**
+     * 鎵撳紑绐楀彛
+     * @title 绐楀彛鏍囬
+     * @target 缂栬緫鐨勫璞�
+     */
+    open (title, target) {
+      this.title = title
+      this.visible = true
+      // 鏂板缓
+      if (target == null) {
+        this.$nextTick(() => {
+          this.$refs.form.resetFields()
+          this.form[this.configData['field.id']] = null
+        })
+        return
+      }
+      // 缂栬緫
+      this.$nextTick(() => {
+        for (const key in this.form) {
+          this.form[key] = target[key]
+        }
+      })
+    }
+  }
+}
+</script>
+<style scoped>
+.labelTip{
+  font-size: 12px;
+  color: #666666;
+}
+</style>
diff --git a/admin/src/views/platform/platform.vue b/admin/src/views/platform/platform.vue
index fa1324a..e567a8f 100644
--- a/admin/src/views/platform/platform.vue
+++ b/admin/src/views/platform/platform.vue
@@ -4,7 +4,17 @@
     <SearchFormCollapse slot="search-form" :need-more="false">
       <el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
         <el-form-item label="" prop="name">
-          <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ユ湀鍙板悕绉�" @keypress.enter.native="search"></el-input>
+          <el-input v-model="searchForm.name" clearable placeholder="璇疯緭鍏ユ湀鍙板悕绉�" @keypress.enter.native="search"></el-input>
+        </el-form-item>
+        <el-form-item label="" >
+          <el-select v-model="searchForm.groupId"     placeholder="璇烽�夋嫨鏈堝彴鍒嗙粍" @change="search" clearable>
+            <el-option
+                v-for="item in groupList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id">
+            </el-option>
+          </el-select>
         </el-form-item>
         <section>
           <el-button type="primary" @click="search">鎼滅储</el-button>
@@ -16,7 +26,7 @@
     <template v-slot:table-wrap>
       <ul class="toolbar" v-permissions="['business:hksync:platforms']">
         <li><el-button type="primary" :loading="working" @click="syncData" icon="el-icon-plus" v-permissions="['business:hksync:platforms']">鍚屾</el-button></li>
-        <li><el-button type="primary" :loading="working1" @click="syncStatus" icon="el-icon-plus" v-permissions="['business:hksync:platforms']">鍚屾鐘舵��</el-button></li>
+        <li><el-button type="primary" :loading="working1" @click="syncStatus" icon="el-icon-plus" v-permissions="['business:hksync:platforms']">鍚屾瀹炴椂鐘舵��</el-button></li>
       </ul>
       <el-table
         v-loading="isWorking.search"
@@ -27,7 +37,7 @@
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column prop="name" label="鏈堝彴鍚嶇О" fixed min-width="100px"></el-table-column>
         <el-table-column prop="code" label="鏈堝彴缂栫爜" fixed min-width="100px"></el-table-column>
-        <el-table-column prop="groupName" label="鎵�灞炴湀鍙扮粍" fixed min-width="100px"></el-table-column>
+        <el-table-column prop="groupName" label="鎵�灞炴湀鍙扮粍" fixed min-width="150px"></el-table-column>
         <el-table-column prop="workingNum" label="鍚屾椂鍙彿杞﹁締鏁�" min-width="120px"></el-table-column>
         <el-table-column prop="stayTmeoutAlarmTime" label="鍋滅暀瓒呮椂鎶ヨ鏃堕棿(鍒嗛挓锛�" min-width="180px">
           <template scope="{row}">{{row.stayTmeoutAlarmTime?(row.stayTmeoutAlarmTime):'-'}}</template>
@@ -36,18 +46,6 @@
           <template scope="{row}"> {{row.workTimeoutAlarmTime?(row.workTimeoutAlarmTime):'-'}}</template>
         </el-table-column>
         <el-table-column prop="workRate" label="鏈堝彴浣滀笟鏁堢巼(涓囧彧/灏忔椂)" min-width="180px"></el-table-column>
-          <el-table-column label="鏄惁鍥尯鍏ュ彛">
-            <template slot-scope="{row}">
-              <el-switch
-                  @change="changeStatus($event, row)"
-                  v-model="row.status"
-                  active-color="#13ce66"
-                  inactive-color="#ff4949"
-                  :active-value="0"
-                  :inactive-value="1">
-              </el-switch>
-            </template>
-          </el-table-column>
         <el-table-column prop="platformStatus" label="鏈堝彴鐘舵��" min-width="100px">
           <template scope="{row}">
             <span v-if="row.platformStatus == 0">鏃犺溅</span>
@@ -89,17 +87,20 @@
 import SearchFormCollapse from '@/components/common/SearchFormCollapse'
 import Pagination from '@/components/common/Pagination'
 import OperaPlatformWindow from '@/components/business/OperaPlatformWindow'
+import {allList} from "@/api/platform/platformGroup";
 export default {
   name: 'Platform',
   extends: BaseTable,
   components: { SearchFormCollapse, TableLayout, Pagination, OperaPlatformWindow },
   data () {
     return {
+      groupList:[],
       // 鎼滅储
       working: false,
       working1: false,
       searchForm: {
-        name: ''
+        name: '',
+        groupId:null
       }
     }
   },
@@ -111,8 +112,15 @@
       'field.main': 'id'
     })
     this.search()
+    this.loadGroupList()
   },
   methods: {
+    loadGroupList () {
+      allList({})
+          .then(res => {
+            this.groupList = res || []
+          })
+    },
     changeStatus (e, row) {
       this.api.updateStatusById({
         id: row.id,
diff --git a/admin/src/views/platform/platformGroup.vue b/admin/src/views/platform/platformGroup.vue
new file mode 100644
index 0000000..52fb60f
--- /dev/null
+++ b/admin/src/views/platform/platformGroup.vue
@@ -0,0 +1,87 @@
+<template>
+  <TableLayout :permissions="['business:platformgroup:query']">
+    <!-- 琛ㄦ牸鍜屽垎椤� -->
+    <template v-slot:table-wrap>
+      <ul class="toolbar" v-permissions="['business:platformgroup:create','business:platformgroup:delete']">
+        <li><el-button type="primary" @click="$refs.operaPlatformGroupWindow.open('鏂板缓鏈堝彴鍒嗙粍')" icon="el-icon-plus" v-permissions="['business:platformgroup:create']">鏂板缓</el-button></li>
+        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:platformgroup:delete']">鍒犻櫎</el-button></li>
+      </ul>
+      <el-table
+        v-loading="isWorking.search"
+        :data="tableData.list"
+        stripe
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column prop="name" label="鏈堝彴缁勫悕绉�" fixed min-width="150px" align="center"></el-table-column>
+        <el-table-column prop="startTime" label="宸ヤ綔鏃堕棿" min-width="150px"  align="center">
+          <template scope="{row}">
+            {{row.startTime || ' '}} - {{row.endTime || ' '}}
+          </template>
+        </el-table-column>
+        <el-table-column prop="type" label="涓氬姟绫诲瀷"  align="center" min-width="150px">
+          <template scope="{row}">
+            <span v-if="row.type == 0">瀹夋嘲鐗╂祦鍗歌揣</span>
+            <span v-if="row.type == 1">瀹夋嘲鐗╂祦瑁呰揣</span>
+            <span v-if="row.type == 2">甯傚叕鍙稿嵏璐�</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="waitCallTime" label="鍙彿绛夊緟鏃堕棿锛堝垎閽燂級" min-width="100px"  align="center"></el-table-column>
+        <el-table-column prop="editDate" label="鏈�杩戞洿鏂版椂闂�" min-width="140px"  align="center"></el-table-column>
+        <el-table-column
+          v-if="containPermissions(['business:platformgroup:update', 'business:platformgroup:delete'])"
+          label="鎿嶄綔"
+          min-width="120"
+          align="center"
+          fixed="right"
+        >
+          <template slot-scope="{row}">
+            <el-button type="text" @click="$refs.operaPlatformGroupWindow.open('缂栬緫鏈堝彴鍒嗙粍', row)" icon="el-icon-edit" v-permissions="['business:platformgroup:update']">缂栬緫</el-button>
+            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:platformgroup:delete']">鍒犻櫎</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+        @size-change="handleSizeChange"
+        @current-change="handlePageChange"
+        :pagination="tableData.pagination"
+      >
+      </pagination>
+    </template>
+    <!-- 鏂板缓/淇敼 -->
+    <OperaPlatformGroupWindow ref="operaPlatformGroupWindow" @success="handlePageChange"/>
+  </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaPlatformGroupWindow from '@/components/business/OperaPlatformGroupWindow'
+export default {
+  name: 'Platform',
+  extends: BaseTable,
+  components: { TableLayout, Pagination, OperaPlatformGroupWindow },
+  data () {
+    return {
+      // 鎼滅储
+      working: false,
+      working1: false,
+      searchForm: {
+        name: ''
+      }
+    }
+  },
+  created () {
+    this.config({
+      module: '鏈堝彴淇℃伅琛�',
+      api: '/platform/platformGroup',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    this.search()
+  },
+  methods: {
+  }
+}
+</script>
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
index 227a194..7700605 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
@@ -58,11 +58,11 @@
         )>0){
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇ョ被鍨嬪垎缁勫凡缁忓垱寤猴紝璇疯繑鍥炲埛鏂伴〉闈㈡煡鐪嬶紒");
         }
-
+        platformGroup.setStatus(Constants.ZERO);
         platformGroup.setIsdeleted(Constants.ZERO);
         platformGroup.setCreator(platformGroup.getLoginUserInfo().getId());
         platformGroup.setCreateDate(new Date());
-        platformGroup.setEditDate(platformGroup.getEditDate());
+        platformGroup.setEditDate(platformGroup.getCreateDate());
         platformGroup.setEditor(platformGroup.getCreator());
         platformGroupMapper.insert(platformGroup);
         return platformGroup.getId();
@@ -125,8 +125,8 @@
         )>0){
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇ョ被鍨嬪垎缁勫凡缁忓垱寤猴紝璇疯繑鍥炲埛鏂伴〉闈㈡煡鐪嬶紒");
         }
-        platformGroup.setEditDate(platformGroup.getEditDate());
-        platformGroup.setEditor(platformGroup.getCreator());
+        platformGroup.setEditDate(new Date());
+        platformGroup.setEditor(platformGroup.getLoginUserInfo().getId());
         platformGroupMapper.updateById(platformGroup);
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java
index d4d4d4b..54652e2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java
@@ -128,6 +128,7 @@
         job.setIsdeleted(Constants.ZERO);
         job.setType(Constants.platformJobType.wxcxh);//榛樿鏄鍗忚溅鍗歌揣
         job.setStatus(Constants.PlatformJobStatus.WAIT_CONFIRM.getKey());//榛樿寰呯‘璁ょ姸鎬�
+        //鏌ヨ杞﹁締鏄惁鑷湁杞︼紝浠ュ強jobNum琛ㄧず浣嗘眰浣滀笟鏁伴噺锛堥潪宸茬鍥殑浣滀笟鏁�)
         Cars car = carsMapper.selectOne(new QueryWrapper<Cars>()
                 .select("*,(select count(1) from platform_job b where b.plate_num='"+param.getPlateNumber()+"' and b.status in("+
                         Constants.PlatformJobStatus.LEAVED+")) as jobNum")
@@ -157,6 +158,7 @@
         job.setIsdeleted(Constants.ZERO);
         job.setType(Constants.platformJobType.wxczh);//榛樿鏄鍗忚溅瑁呭ソ
         job.setStatus(Constants.PlatformJobStatus.WAIT_CONFIRM.getKey());//榛樿寰呯‘璁ょ姸鎬�
+        //鏌ヨ杞﹁締鏄惁鑷湁杞︼紝浠ュ強jobNum琛ㄧず浣嗘眰浣滀笟鏁伴噺锛堥潪宸茬鍥殑浣滀笟鏁�)
         Cars car = carsMapper.selectOne(new QueryWrapper<Cars>()
                 .select("*,(select count(1) from platform_job b where b.plate_num='"+param.getPlateNumber()+"' and b.status in("+
                         Constants.PlatformJobStatus.LEAVED+")) as jobNum")

--
Gitblit v1.9.3