From 6f1203d1cf895efc473fade3ab049fc30d92c618 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 26 三月 2025 16:48:23 +0800
Subject: [PATCH] 优化

---
 admin/src/components/business/OperaPlatformGroupWindow.vue |  101 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 97 insertions(+), 4 deletions(-)

diff --git a/admin/src/components/business/OperaPlatformGroupWindow.vue b/admin/src/components/business/OperaPlatformGroupWindow.vue
index 155a070..5892ad5 100644
--- a/admin/src/components/business/OperaPlatformGroupWindow.vue
+++ b/admin/src/components/business/OperaPlatformGroupWindow.vue
@@ -17,6 +17,18 @@
           <el-radio  :label="2"  >甯傚叕鍙稿嵏璐�</el-radio>
         </el-radio-group>
       </el-form-item>
+      <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>
       <el-form-item label="宸ヤ綔鏃堕棿锛�" prop="startTime">
         <div style=" display: inline-block">
           <el-time-picker
@@ -49,7 +61,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',
@@ -67,13 +79,18 @@
         type: 0,
         startTime: '',
         endTime: '',
-        waitCallTime: ''
+        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' }]
+      },
+      memberList: []
     }
   },
   created () {
@@ -83,6 +100,75 @@
     })
   },
   methods: {
+    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,
+        companyType: 1
+      }).then(res => {
+        this.memberList = res
+      })
+    },
     seleTime(){},
     /**
      * 鎵撳紑绐楀彛
@@ -91,6 +177,7 @@
      */
     open (title, target) {
       this.title = title
+      this.loadMember()
       this.visible = true
       // 鏂板缓
       if (target == null) {
@@ -105,6 +192,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