pengwei
2025-03-20 2591e298a3fd1332ad0ca33059f6ba0b7d426f51
ÏîÄ¿´úÂë/client/src/views/tts/TaskManagement/Taskmanagement.vue
@@ -26,24 +26,44 @@
          />
        </div>
        <div class="serch_box">
          <div class="serchb">全局搜索</div>
          <div class="serchb">
            <el-select
              v-model="queryForm.selectType"
              placeholder="请选择"
              size="small"
              style="width: 100%; height: 100%; font-size: 0.15rem"
            >
              <el-option
                v-for="item in selectoptions"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              />
            </el-select>
          </div>
          <input
            v-model="queryForm.selectName"
            v-model="queryForm.selectInput"
            placeholder="请输入关键词搜索"
            style="border-left: 0.06rem solid #e2e2e2"
          />
        </div>
        <el-button type="primary" size="small" style="margin-left: 0.98rem"
        <el-button
          type="primary"
          size="small"
          style="margin-left: 0.98rem; height: 2rem"
          @click="handleQuery"
          >查询</el-button
        >
        <el-button size="small">重置</el-button>
        <el-button size="small" @click="resetQuery" style="height: 2rem"
          >重置</el-button
        >
      </div>
      <div class="btns">
        <div style="display: flex; align-items: center">
          <el-button
            type="primary"
            size="small"
            @click="dialogVisible1 = true"
            @click="addData"
            style="
              width: 5.5rem;
              height: 2rem;
@@ -51,7 +71,7 @@
              display: flex;
              align-items: center;
            "
            ><el-icon style="margin-right: 0.2rem"><Plus /></el-icon
            ><el-icon style="margin-right: 0.2rem"> <Plus /> </el-icon
            >新建</el-button
          >
          <el-button
@@ -65,11 +85,11 @@
              display: flex;
              align-items: center;
            "
            ><el-icon style="margin-right: 0.2rem"><Plus /></el-icon
            ><el-icon style="margin-right: 0.2rem"> <Plus /> </el-icon
            >手动获取</el-button
          >
          <el-button
            @click="dialogVisible = true"
            @click="importDialogVisible = true"
            size="small"
            style="width: 5.5rem; height: 2rem; font-size: 0.88rem"
            >批量导入</el-button
@@ -77,9 +97,11 @@
          <el-button
            size="small"
            style="width: 5.5rem; height: 2rem; font-size: 0.88rem"
            @click="printExcel"
            >批量导出</el-button
          >
          <el-button
            @click="deleteAll"
            size="small"
            style="width: 5.5rem; height: 2rem; font-size: 0.88rem"
            >批量删除</el-button
@@ -101,6 +123,7 @@
      <div style="margin-top: 1rem; height: 100%">
        <el-table
          :data="tableData"
          height="500"
          style="width: 100%"
          :header-cell-style="{
            background: 'rgba(250,250,250,1)',
@@ -114,23 +137,84 @@
            fontSize: '0.88rem',
            height: '3rem',
          }"
          @select="SelectionChange"
        >
          <el-table-column type="selection" align="center" />
          <el-table-column prop="address" label="车型" align="center" />
          <el-table-column prop="date" label="车组" align="center" />
          <el-table-column prop="name" label="股道" align="center" />
          <el-table-column prop="address" label="车厢号位置" align="center" />
          <el-table-column prop="address" label="转向架位置" align="center" />
          <el-table-column prop="address" label="检修班组" align="center" />
          <el-table-column prop="address" label="任务状态" align="center" />
          <el-table-column prop="address" label="检修日期" align="center" />
          <el-table-column prop="address" label="创建日期" align="center" />
          <el-table-column prop="address" label="操作" align="center">
            <template #default="">
              <el-button size="small" type="text" @click="Send"
          <el-table-column type="selection" align="center" min-width="1%" />
          <el-table-column
            prop="trainKind"
            label="车型"
            align="center"
            min-width="2%"
          />
          <el-table-column
            prop="trainNum"
            label="车组"
            align="center"
            min-width="2%"
          />
          <el-table-column
            prop="track"
            label="股道"
            align="center"
            min-width="2%"
          />
          <el-table-column
            prop="coachNum"
            label="车厢号位置"
            align="center"
            min-width="2%"
          />
          <el-table-column
            prop="bogie"
            label="转向架位置"
            align="center"
            min-width="2%"
          />
          <el-table-column
            prop="processDept"
            label="检修班组"
            align="center"
            min-width="3%"
          />
          <el-table-column
            prop="taskstatus"
            label="任务状态"
            align="center"
            min-width="3%"
          >
            <template #default="scope">
              <span style="color: #ff5400" v-if="scope.row.taskstatus == 0"
                >待派工</span
              >
              <span style="color: #c4ccd5" v-if="scope.row.taskstatus == 1"
                >已派工</span
              >
            </template>
          </el-table-column>
          <el-table-column
            prop="address"
            label="检修日期"
            align="center"
            min-width="3%"
          />
          <el-table-column
            prop="createTime"
            label="创建日期"
            align="center"
            min-width="3%"
          />
          <el-table-column label="操作" align="center" min-width="3%">
            <template #default="scope">
              <el-button
                :disabled="scope.row.taskstatus == 1"
                size="small"
                type="text"
                @click="Send(scope.row)"
                >派任务</el-button
              >
              <el-button size="small" type="text" @click="delt">编辑</el-button>
              <el-button size="small" type="text" @click="Editdata(scope.row)"
                >编辑</el-button
              >
            </template>
          </el-table-column>
        </el-table>
@@ -148,16 +232,20 @@
          size="small"
          background
          layout="prev, pager, next"
          :total="1"
          :current-page="pageQuery.page"
          :page-size="pageQuery.rows"
          :total="pageTotal"
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
        />
      </div>
    </div>
    <!-- ä»»åŠ¡ä¿¡æ¯å¼¹å‡ºæ¡† -->
    <!-- æ–°å»º/编辑任务信息弹出框 -->
    <el-dialog
      v-model="dialogVisible1"
      title=""
      width="60%"
      :before-close="handleClose"
      @close="resetForm(ruleFormRef)"
      style="margin-top: 15.625rem"
    >
      <template #title>
@@ -174,10 +262,17 @@
          >
        </div>
      </template>
      <el-form :model="form" label-width="auto" label-position="top">
      <el-form
        :model="form"
        label-width="auto"
        label-position="top"
        :rules="rules"
        ref="ruleFormRef"
        :hide-required-asterisk="true"
      >
        <el-row :gutter="20">
          <el-col :span="8">
            <el-form-item>
            <el-form-item prop="trainKind">
              <template #label>
                <div style="display: flex; align-items: flex-end">
                  <span style="color: red; margin-right: 0.2rem">*</span>
@@ -187,11 +282,15 @@
                  >
                </div>
              </template>
              <el-input size="small" v-model="form.name" placeholder="请输入" />
              <el-input
                size="small"
                v-model="form.trainKind"
                placeholder="请输入"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item>
            <el-form-item prop="trainNum">
              <template #label>
                <div style="display: flex; align-items: flex-end">
                  <span style="color: red; margin-right: 0.2rem">*</span>
@@ -201,11 +300,15 @@
                  >
                </div>
              </template>
              <el-input size="small" v-model="form.name" placeholder="请输入" />
              <el-input
                size="small"
                v-model="form.trainNum"
                placeholder="请输入"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item>
            <el-form-item prop="track">
              <template #label>
                <div style="display: flex; align-items: flex-end">
                  <span style="color: red; margin-right: 0.2rem">*</span>
@@ -215,13 +318,17 @@
                  >
                </div>
              </template>
              <el-input size="small" v-model="form.name" placeholder="请输入" />
              <el-input
                size="small"
                v-model="form.track"
                placeholder="请输入"
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="8">
            <el-form-item>
            <el-form-item prop="coachNum">
              <template #label>
                <div style="display: flex; align-items: flex-end">
                  <span style="color: red; margin-right: 0.2rem">*</span>
@@ -231,11 +338,15 @@
                  >
                </div>
              </template>
              <el-input size="small" v-model="form.name" placeholder="请输入" />
              <el-input
                size="small"
                v-model="form.coachNum"
                placeholder="请输入"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item>
            <el-form-item prop="bogie">
              <template #label>
                <div style="display: flex; align-items: flex-end">
                  <span style="color: red; margin-right: 0.2rem">*</span>
@@ -245,11 +356,15 @@
                  >
                </div>
              </template>
              <el-input size="small" v-model="form.name" placeholder="请输入" />
              <el-input
                size="small"
                v-model="form.bogie"
                placeholder="请输入"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item>
            <el-form-item prop="processDept">
              <template #label>
                <div style="display: flex; align-items: flex-end">
                  <span style="color: red; margin-right: 0.2rem">*</span>
@@ -259,7 +374,11 @@
                  >
                </div>
              </template>
              <el-input size="small" v-model="form.name" placeholder="请输入" />
              <el-input
                size="small"
                v-model="form.processDept"
                placeholder="请输入"
              />
            </el-form-item>
          </el-col>
        </el-row>
@@ -269,7 +388,7 @@
          <el-button
            size="small"
            type="primary"
            @click="dialogVisible1 = false"
            @click="AddNJinfomclick(ruleFormRef)"
            style="height: 2rem; font-size: 0.88rem"
          >
            ç¡®è®¤
@@ -289,7 +408,7 @@
      v-model="SenddialogVisible"
      title=""
      width="60%"
      :before-close="handleClose"
      @close="resetForm(sendformRef)"
      top="2%"
    >
      <template #title>
@@ -306,7 +425,13 @@
          >
        </div>
      </template>
      <el-form :model="form" label-width="auto" label-position="top">
      <el-form
        :model="sendform"
        label-width="auto"
        label-position="top"
        :rules="rules"
        ref="sendformRef"
      >
        <el-form-item>
          <template #label>
            <div style="display: flex; align-items: flex-end">
@@ -316,12 +441,17 @@
              >
            </div>
          </template>
          <el-select v-model="value" placeholder="请选择" size="small">
          <el-select
            v-model="sendform.templateID"
            placeholder="请选择"
            size="small"
            @change="getTemplate"
          >
            <el-option
              v-for="item in options"
              :key="item.value"
              :label="item.label"
              :value="item.value"
              v-for="item in temopitions"
              :key="item.templateID"
              :label="item.templateName"
              :value="item.templateID"
            />
          </el-select>
        </el-form-item>
@@ -337,7 +467,11 @@
                  >
                </div>
              </template>
              <el-input size="small" v-model="form.name" placeholder="请输入" />
              <el-input
                size="small"
                v-model="sendform.templateName"
                placeholder="请输入"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
@@ -351,7 +485,11 @@
                  >
                </div>
              </template>
              <el-input size="small" v-model="form.name" placeholder="请输入" />
              <el-input
                size="small"
                v-model="sendform.jiShuYuan"
                placeholder="请输入"
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
@@ -365,7 +503,11 @@
                  >
                </div>
              </template>
              <el-input size="small" v-model="form.name" placeholder="请输入" />
              <el-input
                size="small"
                v-model="sendform.gongZhang"
                placeholder="请输入"
              />
            </el-form-item>
          </el-col>
        </el-row>
@@ -392,12 +534,16 @@
                  >
                </div>
              </template>
              <el-select v-model="value" placeholder="请选择" size="small">
              <el-select
                v-model="sendform.zhiJianYuan_Dq"
                placeholder="请选择"
                size="small"
              >
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                  v-for="item in UerTypeoptions.quality"
                  :key="item.userTrueName"
                  :label="item.userTrueName"
                  :value="item.userTrueName"
                />
              </el-select>
            </el-form-item>
@@ -413,12 +559,16 @@
                  >
                </div>
              </template>
              <el-select v-model="value" placeholder="请选择" size="small">
              <el-select
                v-model="sendform.zhiJianYuan_Lc"
                placeholder="请选择"
                size="small"
              >
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                  v-for="item in UerTypeoptions.quality"
                  :key="item.userTrueName"
                  :label="item.userTrueName"
                  :value="item.userTrueName"
                />
              </el-select>
            </el-form-item>
@@ -434,12 +584,16 @@
                  >
                </div>
              </template>
              <el-select v-model="value" placeholder="请选择" size="small">
              <el-select
                v-model="sendform.zhiJianYuan_Dg"
                placeholder="请选择"
                size="small"
              >
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                  v-for="item in UerTypeoptions.quality"
                  :key="item.userTrueName"
                  :label="item.userTrueName"
                  :value="item.userTrueName"
                />
              </el-select>
            </el-form-item>
@@ -468,12 +622,16 @@
                  >
                </div>
              </template>
              <el-select v-model="value" placeholder="请选择" size="small">
              <el-select
                v-model="sendform.liJu_Dq"
                placeholder="请选择"
                size="small"
              >
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                  v-for="item in UerTypeoptions.electric"
                  :key="item.userTrueName"
                  :label="item.userTrueName"
                  :value="item.userTrueName"
                />
              </el-select>
            </el-form-item>
@@ -489,12 +647,16 @@
                  >
                </div>
              </template>
              <el-select v-model="value" placeholder="请选择" size="small">
              <el-select
                v-model="sendform.fuZhu_Dq"
                placeholder="请选择"
                size="small"
              >
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                  v-for="item in UerTypeoptions.electric"
                  :key="item.userTrueName"
                  :label="item.userTrueName"
                  :value="item.userTrueName"
                />
              </el-select>
            </el-form-item>
@@ -523,12 +685,16 @@
                  >
                </div>
              </template>
              <el-select v-model="value" placeholder="请选择" size="small">
              <el-select
                v-model="sendform.liJu_Lc"
                placeholder="请选择"
                size="small"
              >
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                  v-for="item in UerTypeoptions.mechanical"
                  :key="item.userTrueName"
                  :label="item.userTrueName"
                  :value="item.userTrueName"
                />
              </el-select>
            </el-form-item>
@@ -544,12 +710,16 @@
                  >
                </div>
              </template>
              <el-select v-model="value" placeholder="请选择" size="small">
              <el-select
                v-model="sendform.fuZhu_Lc"
                placeholder="请选择"
                size="small"
              >
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                  v-for="item in UerTypeoptions.mechanical"
                  :key="item.userTrueName"
                  :label="item.userTrueName"
                  :value="item.userTrueName"
                />
              </el-select>
            </el-form-item>
@@ -578,12 +748,16 @@
                  >
                </div>
              </template>
              <el-select v-model="value" placeholder="请选择" size="small">
              <el-select
                v-model="sendform.liJu_Dg"
                placeholder="请选择"
                size="small"
              >
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                  v-for="item in UerTypeoptions.trench"
                  :key="item.userTrueName"
                  :label="item.userTrueName"
                  :value="item.userTrueName"
                />
              </el-select>
            </el-form-item>
@@ -599,12 +773,16 @@
                  >
                </div>
              </template>
              <el-select v-model="value" placeholder="请选择" size="small">
              <el-select
                v-model="sendform.fuZhu_Dg"
                placeholder="请选择"
                size="small"
              >
                <el-option
                  v-for="item in options"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                  v-for="item in UerTypeoptions.trench"
                  :key="item.userTrueName"
                  :label="item.userTrueName"
                  :value="item.userTrueName"
                />
              </el-select>
            </el-form-item>
@@ -622,7 +800,7 @@
          <el-button
            size="small"
            type="primary"
            @click="SenddialogVisible = false"
            @click="savesublit(sendformRef)"
            style="height: 2rem; font-size: 0.88rem"
          >
            ä¿å­˜æ¨¡æ¿å¹¶æäº¤
@@ -630,7 +808,7 @@
          <el-button
            size="small"
            type="primary"
            @click="SenddialogVisible = false"
            @click="sublit(sendformRef)"
            style="height: 2rem; font-size: 0.88rem"
          >
            æäº¤
@@ -640,11 +818,11 @@
    </el-dialog>
    <!-- æ‰¹é‡å¯¼å…¥å¼¹å‡ºæ¡† -->
    <el-dialog
    <!-- <el-dialog
      v-model="dialogVisible"
      title=""
      width="60%"
      :before-close="handleClose"
      @close="handleClose"
      style="margin-top: 15.625rem"
    >
      <template #title>
@@ -688,66 +866,451 @@
          >
        </div>
      </template>
    </el-dialog> -->
    <!-- æ¡†æž¶æ‰¹é‡å¯¼å…¥å¼¹å‡ºæ¡† -->
    <el-dialog v-model="importDialogVisible">
      <UploadExcel
        @importExcelAfter="importExcelAfter"
        url="/api/NjTask/Import"
        :template="{
          url: '/api/NjTask/DownLoadTemplate',
          fileName: '任务模板',
        }"
      />
    </el-dialog>
  </div>
</template>
<script setup>
import { ref, reactive } from "vue";
import { ref, reactive, onMounted, toRef } from "vue";
import { useRouter } from "vue-router";
import {
  GetPageData,
  AddNJinfom,
  Submit,
  Submtandsave,
  GetTemplate,
  GetTemplateList,
  Delete,
  ExportApi,
  Update,
} from "@/api/newapi/NjTask";
import { GetUerType } from "@/api/user";
import { formatTime } from "@/utils/index.js";
import { ElMessage } from "element-plus";
import UploadExcel from "@/components/basic/UploadExcel.vue";
//使用路由
const router = useRouter();
const queryForm = reactive({
// åˆå§‹åŒ–数据
const obj = {
  selectName: "",
  selectTime: [], // æ—¶é—´èŒƒå›´
  selectType: "", //选择的类型
  selectInput: "", //输入的数据
};
//搜索传的数据
const queryForm = toRef({ ...obj });
//页面的数量
const pageTotal = ref(0);
//表单的数据
const tableData = ref([]);
const UerTypeoptions = ref({
  quality: [], //质检
  electric: [], //电气
  mechanical: [], //机械
  trench: [], //地沟
});
const tableData = ref([]);
const options = ref([]);
const props = { multiple: true };
const table = ref(false);
const form = reactive({});
function cancelClick() {
  table.value = false;
}
function confirmClick() {
  table.value = false;
}
//表单验证规则
const rules = reactive({
  bogie: [{ required: true, message: "请输入转向架", trigger: "blur" }],
  coachNum: [{ required: true, message: "请输入车厢号", trigger: "blur" }],
  processDept: [{ required: true, message: "请输入检修班组", trigger: "blur" }],
  track: [{ required: true, message: "请输入股道", trigger: "blur" }],
  trainKind: [{ required: true, message: "请输入车型", trigger: "blur" }],
  trainNum: [{ required: true, message: "请输入车组号", trigger: "blur" }],
});
//新建编辑表单ref值
const ruleFormRef = ref();
//添加/编辑的表单数据
const form = ref({
  bogie: "", //转向架
  coachNum: "", //车厢
  processDept: "", //检修班组
  track: "", //股道
  trainKind: "", //车型
  trainNum: "", //车组号
  createDate: formatTime(new Date()), //创建时间
  creater: JSON.parse(localStorage.getItem("user")).userName, //创建人
});
//删除
const dialogVisible1 = ref(false);
//派任务
const SenddialogVisible = ref(false);
//派任务表单ref值
const sendformRef = ref();
//批量导入
const dialogVisible = ref(false);
//批量导入数据
const gridtableData = ref([]);
//派任务方法
const Send = () => {
  SenddialogVisible.value = true;
//模板列表
const temopitions = ref([]);
const props = { multiple: true };
const table = ref(false);
const type = ref("新建");
//搜索选择的字段
const selectoptions = reactive([
  { label: "车型", value: "trainkind" },
  { label: "车组", value: "trainNum" },
  { label: "股道", value: "track" },
  { label: "检修班组", value: "processkept" },
]);
//提交的数据变量
const sendform = ref({});
//批量导入
const importDialogVisible = ref(false);
//监听文件上传成功的回调
const importExcelAfter = () => {
  importDialogVisible.value = false;
  initData();
};
//删除方法
const delt = () => {
//新建任务信息
const AddNJinfomclick = async (formEl) => {
  if (!formEl) return;
  await formEl.validate((valid, fields) => {
    if (valid) {
      if (type.value == "新建") {
        AddNJinfom(form.value).then((res) => {
          if (res.code == 0) {
            ElMessage({
              message: "创建成功",
              type: "success",
            });
            dialogVisible1.value = false;
            initData();
          }
        });
      } else {
        //编辑
        Update(form.value).then((res) => {
          if (res.code == 0) {
            ElMessage({
              message: "修改成功",
              type: "success",
            });
            dialogVisible1.value = false;
            initData();
          }
        });
      }
    } else {
      console.log("error submit!", fields);
    }
  });
};
//新建任务信息
const addData = () => {
  type.value = "新建";
  dialogVisible1.value = true;
};
//编辑任务信息
const Editdata = (row) => {
  let obj = Object.assign({}, row);
  type.value = "编辑";
  dialogVisible1.value = true;
  form.value = obj;
};
//提交
const sublit = async (formEl) => {
  let data = {
    njtakeid: sendform.value.nJtaskID,
    takename: sendform.value.takeName,
    jishuyuan: sendform.value.jiShuYuan,
    zhijianyuan_lc: sendform.value.zhiJianYuan_Lc,
    zhijianyuan_dg: sendform.value.zhiJianYuan_Dg,
    zhijianyuan_dq: sendform.value.zhiJianYuan_Dq,
    gongzhang: sendform.value.gongZhang,
    liju_lc: sendform.value.liJu_Lc,
    fuzhu_lc: sendform.value.fuZhu_Lc,
    liju_dg: sendform.value.liJu_Dg,
    fuzhu_dg: sendform.value.fuZhu_Dg,
    liju_dq: sendform.value.liJu_Dq,
    fuzhu_dq: sendform.value.fuZhu_Dq,
  };
  if (!formEl) return;
  await formEl.validate((valid, fields) => {
    if (valid) {
      Submit(data).then((res) => {
        ElMessage({
          message: res.message,
          type: "success",
        });
        SenddialogVisible.value = false;
        initData();
      });
    } else {
      console.log("error submit!", fields);
    }
  });
};
//提交保存
const savesublit = async (formEl) => {
  let data = {
    tpid: sendform.value.templateID,
    njtakeid: sendform.value.nJtaskID,
    takename: sendform.value.takeName,
    jishuyuan: sendform.value.jiShuYuan,
    zhijianyuan_lc: sendform.value.zhiJianYuan_Lc,
    zhijianyuan_dg: sendform.value.zhiJianYuan_Dg,
    zhijianyuan_dq: sendform.value.zhiJianYuan_Dq,
    gongzhang: sendform.value.gongZhang,
    liju_lc: sendform.value.liJu_Lc,
    fuzhu_lc: sendform.value.fuZhu_Lc,
    liju_dg: sendform.value.liJu_Dg,
    fuzhu_dg: sendform.value.fuZhu_Dg,
    liju_dq: sendform.value.liJu_Dq,
    fuzhu_dq: sendform.value.fuZhu_Dq,
  };
  if (!formEl) return;
  await formEl.validate((valid, fields) => {
    if (valid) {
      Submtandsave(data).then((res) => {
        ElMessage({
          message: res.message,
          type: "success",
        });
        initData();
        SenddialogVisible.value = false;
      });
    } else {
      console.log("error submit!", fields);
    }
  });
};
//数据导出的方法
const printExcel = () => {
  // æŸ¥è¯¢æ¡ä»¶
  const startTime = formatTime(queryForm.value.selectTime[0]);
  const endTime = formatTime(queryForm.value.selectTime[1]);
  const filter = [
    {
      name: queryForm.value.selectType,
      value: queryForm.value.selectInput,
      displayType: "String",
    },
    { name: "createTime", value: startTime, displayType: "ThanOrEqual" },
    { name: "createTime", value: endTime, displayType: "LessOrEqual" },
  ];
  ExportApi({
    ...pageQuery.value,
    filter,
  });
};
// quality: [], //质检
// electric: [], //电气
// mechanical: [], //机械
// trench: [], //地沟
//派任务方法
const Send = (val) => {
  SenddialogVisible.value = true;
  sendform.value = { ...val };
  getTemplateList();
  GetUerType().then((res) => {
    UerTypeoptions.value.quality = res.data.filter((item) => {
      return item.user_Id != 1 && item.roleName.substring(2, 4) == "质检";
    });
    UerTypeoptions.value.electric = res.data.filter(
      (item) =>
        item.user_Id != 1 &&
        item.roleName.substring(2, 4) != "质检" &&
        item.roleName.substring(0, 2) == "电气"
    );
    UerTypeoptions.value.mechanical = res.data.filter(
      (item) =>
        item.user_Id != 1 &&
        item.roleName.substring(2, 4) != "质检" &&
        item.roleName.substring(0, 2) == "机械"
    );
    UerTypeoptions.value.trench = res.data.filter(
      (item) =>
        item.user_Id != 1 &&
        item.roleName.substring(2, 4) != "质检" &&
        item.roleName.substring(0, 2) == "地沟"
    );
  });
  console.log(UerTypeoptions.value);
};
//获取所有模板
const getTemplateList = () => {
  GetTemplateList({
    page: 1,
    rows: 1000,
    total: 1000,
    tableName: "string",
    sort: "string",
    order: "string",
    wheres: "string",
    export: true,
    value: "string",
    filter: [
      {
        name: "string",
        value: "string",
        displayType: "string",
      },
    ],
  }).then((res) => {
    temopitions.value = res.rows;
  });
};
//获取模板内容
const getTemplate = () => {
  GetTemplate(sendform.value.templateID).then((res) => {
    sendform.value = { ...sendform.value, ...res.data[0] };
  });
};
//批量删除
const ids = ref([]); //批量删除的id
const SelectionChange = (val) => {
  //获取批量删除的id
  ids.value = [];
  ids.value = val.map((item) => item.id);
};
//删除选中的数据
const deleteAll = () => {
  if (ids.value.length == 0) {
    ElMessage({ message: "请选择要删除的数据", type: "error" });
    return;
  }
  Delete(ids.value).then((res) => {
    ElMessage({ message: "删除成功", type: "success" });
    initData();
  });
};
//分页请求参数
const pageQuery = ref({
  page: 1, //当前页面
  rows: 10, //每页显示条数
  order: "desc", //排序方式
  sort: "", //排序字段
  wheres: "", //条件查询
});
//分页页面大小改变
const handleSizeChange = (val) => {
  pageQuery.value.rows = val;
  initData();
};
//分页页面改变
const handleCurrentChange = (val) => {
  pageQuery.value.page = val;
  initData();
};
//页面初始化方法
const initData = () => {
  // æŸ¥è¯¢æ¡ä»¶
  const startTime = formatTime(queryForm.value.selectTime[0]);
  const endTime = formatTime(queryForm.value.selectTime[1]);
  const filter = [
    {
      name: queryForm.value.selectType,
      value: queryForm.value.selectInput,
      displayType: "like",
    },
    { name: "createtime", value: startTime, displayType: "ThanOrEqual" },
    { name: "createtime", value: endTime, displayType: "LessOrEqual" },
  ];
  GetPageData({
    ...pageQuery.value,
    filter,
  }).then((res) => {
    tableData.value = res.rows;
    pageTotal.value = res.total;
  });
};
//数据检索事件
const handleQuery = () => {
  pageQuery.value.page = 1;
  initData();
};
//重置表单
const resetForm = (formEl) => {
  if (!formEl) return;
  formEl.resetFields();
  form.value = {
    bogie: "", //转向架
    coachNum: "", //车厢
    processDept: "", //检修班组
    track: "", //股道
    trainKind: "", //车型
    trainNum: "", //车组号
    creater: "",
    createDate: formatTime(new Date()), //创建时间
  };
};
//重置方法
const resetQuery = () => {
  queryForm.value = Object.assign({}, obj);
  pageQuery.value.page = 1;
  initData();
};
onMounted(() => {
  initData();
  GetUerType().then((res) => {
    UerTypeoptions.value.quality = res.data.filter(
      (item) => item.roleId != 1 && item.roleName.substring(2, 2) == "质检"
    );
    UerTypeoptions.value.electric = res.data.filter(
      (item) =>
        item.roleId != 1 &&
        item.roleName.substring(2, 2) != "质检" &&
        item.roleName.substring(0, 2) == "电气"
    );
    UerTypeoptions.value.mechanical = res.data.filter(
      (item) =>
        item.roleId != 1 &&
        item.roleName.substring(2, 2) != "质检" &&
        item.roleName.substring(0, 2) == "机械"
    );
    UerTypeoptions.value.trench = res.data.filter(
      (item) =>
        item.roleId != 1 &&
        item.roleName.substring(2, 2) != "质检" &&
        item.roleName.substring(0, 2) == "地沟"
    );
  });
});
</script>
<style lang="scss" scoped>
.Taskmanagement {
  display: flex;
  background-color: #fff;
  .content {
    width: 100%;
    display: flex;
    flex-direction: column;
    .serch {
      display: flex;
      margin-top: 1.31rem;
      align-items: center;
      .time_box {
        display: flex;
        align-items: center;
        text-align: center;
        margin-left: 0.98rem;
        .time {
          box-sizing: border-box;
          width: 6.88rem;
@@ -761,24 +1324,26 @@
          justify-content: center;
        }
      }
      .serch_box {
        display: flex;
        align-items: center;
        text-align: center;
        margin-left: 0.98rem;
        border-radius: 0.38rem;
        .serchb {
          box-sizing: border-box;
          width: 6.88rem;
          height: 2rem;
          text-align: center;
          border: 0.06rem solid rgba(222, 222, 222, 1);
          border-radius: 0.25rem 0 0 0.25rem;
          font-size: 0.75rem;
          display: flex;
          align-items: center;
          justify-content: center;
        }
        input {
          box-sizing: border-box;
          outline: none;
@@ -791,6 +1356,7 @@
        }
      }
    }
    .btns {
      display: flex;
      justify-content: space-between;
@@ -807,6 +1373,7 @@
.confirmButtonClass {
  margin-right: 10px;
}
.el-message-box .el-message-box__btns {
  flex-direction: row-reverse !important;
  justify-content: normal !important;