From 8d2a081dfded669c58273764907914f365c1c306 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 21 七月 2026 10:00:20 +0800
Subject: [PATCH] 1.不合格处理:新增问题类型字段;2.班次:新增删除排班操作;3.检验任务:新增撤销委托订单操作

---
 src/views/performance/class/index.vue |  102 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 102 insertions(+), 0 deletions(-)

diff --git a/src/views/performance/class/index.vue b/src/views/performance/class/index.vue
index f0c3c07..b549c43 100644
--- a/src/views/performance/class/index.vue
+++ b/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(() => {

--
Gitblit v1.9.3