jiangping
2025-03-26 4ecdc50ae3deea4714b4638936ff8244f9839aff
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))
        }
      })
    }
  }