src/views/performance/class/index.vue
@@ -86,6 +86,13 @@
          v-if="checkPermi(['performance:class:add'])"
          >排 班</el-button
        >
        <el-button
          size="small"
          type="danger"
          @click="delSchedulingVisible = true"
          v-if="checkPermi(['performance:class:del'])"
          >删除排班</el-button
        >
      </div>
    </div>
    <div class="center" v-loading="pageLoading">
@@ -562,6 +569,58 @@
        >
      </span>
    </el-dialog>
<!--    删除排班弹框-->
    <el-dialog
      title="删除排班"
      :visible.sync="delSchedulingVisible"
      @close="closeSchedulingDelDialog"
      width="30%">
      <el-form
        ref="delSchedulingFormRef"
        :model="delSchedulingForm"
        :rules="delSchedulingFormRules"
      >
        <el-form-item label="人员名称:" prop="userIdList">
          <el-select
            v-model="delSchedulingForm.userIdList"
            popper-class="select-with-all"
            placeholder="请选择"
            style="width: 100%"
            multiple
            collapse-tags
            clearable
          >
            <el-option
              v-for="item in personList"
              :key="item.id"
              :label="item.name"
              :value="item.id"
            >
              <span style="float: left">{{ item.name }}</span>
              <span style="float: right; color: #8492a6; font-size: 13px">{{
                  item.account
                }}</span>
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="时间范围:" prop="dateRange">
          <el-date-picker
            v-model="delSchedulingForm.dateRange"
            type="datetimerange"
            value-format="yyyy-MM-dd HH:mm:ss"
            :default-time="['00:00:00', '23:59:59']"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
            style="width: 100%"
          >
          </el-date-picker>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
    <el-button @click="closeSchedulingDelDialog">取 消</el-button>
    <el-button type="primary" @click="confirmDelScheduling">确 定</el-button>
  </span>
    </el-dialog>
  </div>
</template>
@@ -579,6 +638,7 @@
  update,
  editAnnotationText,
  delAnnotationText,
  delShift
} from "@/api/performance/class";
import { selectUserListByPerformance } from "@/api/system/user";
import { getWorkMonth } from "@/utils/date";
@@ -685,6 +745,24 @@
      menuX: 0,
      menuY: 0,
      selectedTarget: null,
      //删除排班
      delSchedulingVisible:false,
      delSchedulingForm:{
        userIdList: [],
        dateRange: [],
      },
      delSchedulingFormRules: {
        dateRange: {
          required: true,
          message: "请选择日期范围",
          trigger: "change",
        },
        userIdList: {
          required: true,
          message: "请选择人员名称",
          trigger: "change",
        }
      },
    };
  },
  computed: {
@@ -716,6 +794,30 @@
    document.removeEventListener("click", this.handleClickOutside);
  },
  methods: {
    //确认删除排班
    confirmDelScheduling() {
      const data = {
        userIdList: this.delSchedulingForm.userIdList,
        startTime: this.delSchedulingForm.dateRange[0],
        endTime: this.delSchedulingForm.dateRange[1],
      }
      delShift(data).then(res => {
        if(res.code === 200) {
          this.$message.success("删除成功");
          this.closeSchedulingDelDialog()
          this.refreshTable()
        }
      }).catch(err => {
        console.error(err);
        this.closeSchedulingDelDialog()
      })
    },
    closeSchedulingDelDialog(){
      this.delSchedulingVisible = false;
      this.delSchedulingForm.userIdList = [];
      this.delSchedulingForm.dateRange = [];
      this.$refs.delSchedulingFormRef.resetFields()
    },
    resetForm() {
      this.$refs.schedulingQueryRef.resetFields();
      this.$nextTick(() => {