From 1c20c8231980a8d4b91688ff8641a06d3b2f68ab Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 14 十月 2025 16:34:22 +0800
Subject: [PATCH] 改bug

---
 admin/src/components/business/OperaPlatformGroupWindow.vue |  156 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 146 insertions(+), 10 deletions(-)

diff --git a/admin/src/components/business/OperaPlatformGroupWindow.vue b/admin/src/components/business/OperaPlatformGroupWindow.vue
index 155a070..96533f5 100644
--- a/admin/src/components/business/OperaPlatformGroupWindow.vue
+++ b/admin/src/components/business/OperaPlatformGroupWindow.vue
@@ -10,6 +10,12 @@
       <el-form-item label="鍒嗙粍鍚嶇О锛�" prop="name">
         <el-input v-model="form.name" placeholder="璇疯緭鍏ュ垎缁勫悕绉�" v-trim/>
       </el-form-item>
+      <el-form-item label="鏄惁铏氭嫙鏈堝彴缁�" prop="isVirtual" >
+        <el-radio-group v-model="form.isVirtual" @change="chagneVirtural">
+          <el-radio :label="0">鍚�</el-radio>
+          <el-radio :label="1">鏄�</el-radio>
+        </el-radio-group>
+      </el-form-item>
       <el-form-item label="涓氬姟绫诲瀷锛�" prop="type">
         <el-radio-group v-model="form.type" >
           <el-radio  :label="0"  >瀹夋嘲鐗╂祦鍗歌揣</el-radio>
@@ -17,16 +23,29 @@
           <el-radio  :label="2"  >甯傚叕鍙稿嵏璐�</el-radio>
         </el-radio-group>
       </el-form-item>
-      <el-form-item label="宸ヤ綔鏃堕棿锛�" prop="startTime">
-        <div style=" display: inline-block">
+      <el-form-item label="閫夋嫨绛惧埌閫氱煡浜哄憳" prop="signInNoticeUsers">
+        <el-select v-model="form.signInNoticeUsers" filterable multiple clearable @change="changeSignInNoticeUsers" placeholder="璇烽�夋嫨">
+          <el-option v-for="item in memberList" :key="item.id" :label="item.name" :value="item.id">
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="閫夋嫨浣滀笟鏈畬鎴愰�氱煡浜哄憳" prop="unFinishNoticeUsers">
+        <el-select v-model="form.unFinishNoticeUsers" filterable multiple clearable @change="changeUnFinishNoticeUsers" placeholder="璇烽�夋嫨">
+          <el-option v-for="item in memberList" :key="item.id" :label="item.name" :value="item.id">
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <div style=" display: inline-block">
+      <el-form-item label="宸ヤ綔鏃堕棿锛�" prop="startTime"  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>
+        </el-form-item>鑷�
+        <el-form-item label="" prop="endTime"  style=" display: inline-block">
           <el-time-picker
               style="width: 150px;display: inline-block"
               v-model="form.endTime"
@@ -35,9 +54,35 @@
               placeholder="璇烽�夋嫨缁撴潫鏃堕棿"
           >
           </el-time-picker>
-        </div>
-
       </el-form-item>
+        </div>
+      <el-form-item label="鏄惁鑷姩鍙彿" prop="autoCall">
+        <el-radio-group v-model="form.autoCall">
+          <el-radio :label="0" :value="0">鍚�</el-radio>
+          <el-radio :label="1" :value="1">鏄�</el-radio>
+        </el-radio-group>
+      </el-form-item>
+      <div>
+      <el-form-item label="鑷姩鍙彿鏃堕棿锛�" prop="autoCallStartTime"  style=" display: inline-block">
+          <el-time-picker
+              style="width: 150px;display: inline-block"
+              v-model="form.autoCallStartTime"
+              format="HH:mm"
+              value-format="HH:mm"
+              placeholder="璇烽�夋嫨寮�濮嬫椂闂�"
+          >
+          </el-time-picker> </el-form-item>鑷�
+        <el-form-item label="" prop="autoCallEndTime"  style=" display: inline-block">
+          <el-time-picker
+              style="width: 150px;display: inline-block"
+              v-model="form.autoCallEndTime"
+              format="HH:mm"
+              value-format="HH:mm"
+              placeholder="璇烽�夋嫨缁撴潫鏃堕棿"
+          >
+          </el-time-picker>
+       </el-form-item>
+      </div>
       <el-form-item label="鍙彿绛夊緟鏃堕棿(鍒嗛挓)锛�" prop="waitCallTime">
         <el-input type="number"  v-model="form.waitCallTime" placeholder="璇疯緭鍏ュ彨鍙风瓑寰呮椂闂�(鍒嗛挓)" v-trim/>
       </el-form-item>
@@ -49,7 +94,7 @@
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalWindow from '@/components/common/GlobalWindow'
 import { numRuleGtZero } from '@/utils/form'
-import { allList } from '@/api/platform/platformGroup'
+import { allList } from '@/api/business/member'
 import { getList as deviceList } from '@/api/business/device'
 export default {
   name: 'OperaPlatformWindow',
@@ -65,15 +110,26 @@
         id: null,
         name: '',
         type: 0,
+        autoCall: 0,
+        isVirtual: 0,
         startTime: '',
         endTime: '',
-        waitCallTime: ''
+        autoCallStartTime: '',
+        autoCallEndTime: '',
+        waitCallTime: '',
+        signInNoticeUsers: [],
+        unFinishNoticeUsers: []
       },
       // 楠岃瘉瑙勫垯
       rules: {
         name: [{ required: true, message: '璇疯緭鍏ュ垎缁勫悕绉� ', trigger: 'blur' }],
-        type: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷 '}]
-      }
+        type: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷' }],
+        signInNoticeUsers: [{ required: true, message: '璇烽�夋嫨绛惧埌閫氱煡浜哄憳', trigger: 'blur' }],
+        unFinishNoticeUsers: [{ required: true, message: '璇烽�夋嫨浣滀笟鏈畬鎴愰�氱煡浜哄憳', trigger: 'blur' }],
+        isVirtual: [{ required: true, message: '璇烽�夋嫨鏄惁铏氭嫙鏈堝彴', trigger: 'change' }],
+        autoCall: [{ required: true, message: '璇烽�夋嫨鏄惁鑷姩鍙彿', trigger: 'change' }]
+      },
+      memberList: []
     }
   },
   created () {
@@ -83,6 +139,79 @@
     })
   },
   methods: {
+    chagneVirtural(){
+      /*if(this.form.isVirtual ==1){
+        this.form.type=1
+      }*/
+    },
+    changeSignInNoticeUsers(e) {
+      if (this.form.signInNoticeUsers.length > 5) {
+        this.form.signInNoticeUsers.splice(this.form.signInNoticeUsers.length - 1, 1)
+        this.$message.warning('鏈�澶氬彧鑳介�夋嫨浜斾釜浜哄憳锛�')
+      }
+    },
+    changeUnFinishNoticeUsers(e) {
+      if (this.form.unFinishNoticeUsers.length > 5) {
+        this.form.unFinishNoticeUsers.splice(this.form.unFinishNoticeUsers.length - 1, 1)
+        this.$message.warning('鏈�澶氬彧鑳介�夋嫨浜斾釜浜哄憳锛�')
+      }
+    },
+    // 纭鏂板缓
+    __confirmCreate () {
+      this.$refs.form.validate((valid) => {
+        if (!valid) {
+          return
+        }
+        let obj = JSON.parse(JSON.stringify(this.form))
+        obj.signInNoticeUsers = obj.signInNoticeUsers.join(',')
+        obj.unFinishNoticeUsers = obj.unFinishNoticeUsers.join(',')
+        // 璋冪敤鏂板缓鎺ュ彛
+        this.isWorking = true
+        this.api.create(obj)
+          .then(() => {
+            this.visible = false
+            this.$tip.apiSuccess('鏂板缓鎴愬姛')
+            this.$emit('success')
+          })
+          .catch(e => {
+            // this.$tip.apiFailed(e)
+          })
+          .finally(() => {
+            this.isWorking = false
+          })
+      })
+    },
+    __confirmEdit () {
+      this.$refs.form.validate((valid) => {
+        if (!valid) {
+          return
+        }
+        let obj = JSON.parse(JSON.stringify(this.form))
+        obj.signInNoticeUsers = obj.signInNoticeUsers.join(',')
+        obj.unFinishNoticeUsers = obj.unFinishNoticeUsers.join(',')
+        // 璋冪敤鏂板缓鎺ュ彛
+        this.isWorking = true
+        this.api.updateById(obj)
+          .then(() => {
+            this.visible = false
+            this.$tip.apiSuccess('淇敼鎴愬姛')
+            this.$emit('success')
+          })
+          .catch(e => {
+            // this.$tip.apiFailed(e)
+          })
+          .finally(() => {
+            this.isWorking = false
+          })
+      })
+    },
+    loadMember() {
+      allList({
+        type: 2
+      }).then(res => {
+        this.memberList = res
+      })
+    },
     seleTime(){},
     /**
      * 鎵撳紑绐楀彛
@@ -91,6 +220,7 @@
      */
     open (title, target) {
       this.title = title
+      this.loadMember()
       this.visible = true
       // 鏂板缓
       if (target == null) {
@@ -105,6 +235,12 @@
         for (const key in this.form) {
           this.form[key] = target[key]
         }
+        if (this.form.signInNoticeUsers) {
+          this.form.signInNoticeUsers = this.form.signInNoticeUsers.split(',').map(item => Number(item))
+        }
+        if (this.form.unFinishNoticeUsers) {
+          this.form.unFinishNoticeUsers = this.form.unFinishNoticeUsers.split(',').map(item => Number(item))
+        }
       })
     }
   }

--
Gitblit v1.9.3