gaoluyang
2 天以前 4d3882045d317ddb3c7416f606ac738ca6ec2c01
src/views/productionManagement/operationScheduling/index.vue
@@ -16,8 +16,9 @@
            </el-form-item>
            <el-form-item label="状态:">
               <el-select v-model="searchForm.status" placeholder="请选择状态" style="width: 140px" clearable>
                  <el-option label="已排产" :value="1"></el-option>
                  <el-option label="待排产" :value="0"></el-option>
                  <el-option label="待排产" :value="1"></el-option>
                  <el-option label="已排产" :value="0"></el-option>
                  <el-option label="排产中" :value="2"></el-option>
               </el-select>
            </el-form-item>
            <el-form-item>
@@ -27,8 +28,8 @@
      </div>
      <div class="table_list">
         <div style="text-align: right" class="mb10">
            <el-button type="primary" @click="openForm('add')">工序排产</el-button>
            <el-button type="danger" @click="openForm('delete')" plain>取消排产</el-button>
            <el-button type="primary" @click="openForm">工序排产</el-button>
            <el-button type="danger" @click="handleDelete" plain>取消排产</el-button>
         </div>
         <PIMTable
            rowKey="id"
@@ -48,15 +49,15 @@
<script setup>
import {onMounted, ref} from "vue";
import FormDia from "@/views/productionManagement/productionDispatching/components/formDia.vue";
import {staffJoinDel, staffJoinListPage} from "@/api/personnelManagement/onboarding.js";
import FormDia from "@/views/productionManagement/operationScheduling/components/formDia.vue";
import {ElMessageBox} from "element-plus";
import dayjs from "dayjs";
import {listPageProcess, productionDispatchDelete} from "@/api/productionManagement/operationScheduling.js";
const data = reactive({
   searchForm: {
      staffName: "",
      status: 0,
      status: 1,
      entryDate: [
         dayjs().format("YYYY-MM-DD"),
         dayjs().add(1, "day").format("YYYY-MM-DD"),
@@ -68,54 +69,83 @@
const { searchForm } = toRefs(data);
const tableColumn = ref([
   {
      label: "录入日期",
      prop: "staffNo",
      label: "状态",
      prop: "status",
      dataType: "tag",
      formatData: (params) => {
         if (params == 0) {
            return "已排产";
         } else if (params == 1) {
            return "待排产";
         } else {
            return '排产中';
         }
      },
      formatType: (params) => {
         if (params == 0) {
            return "success";
         } else if (params == 1) {
            return "primary";
         } else {
            return 'warning';
         }
      },
   },
   {
      label: "派工日期",
      prop: "schedulingDate",
      width: 120,
   },
   {
      label: "派工人",
      prop: "schedulingUserName",
   },
   {
      label: "合同号",
      prop: "staffName",
      prop: "salesContractNo",
      width: 200,
   },
   {
      label: "客户合同号",
      prop: "addressPhone",
      width: 250,
      prop: "customerContractNo",
      width: 200,
   },
   {
      label: "客户名称",
      prop: "contactPerson",
      prop: "customerName",
      width: 200,
   },
   {
      label: "项目名称",
      prop: "contactPhone",
      width:150
      prop: "projectName",
      width:300
   },
   {
      label: "产品大类",
      prop: "basicBankAccount",
      width: 220,
      prop: "productCategory",
      width: 150,
   },
   {
      label: "规格型号",
      prop: "bankAccount",
      width: 220,
      prop: "specificationModel",
      width: 150,
   },
   {
      label: "单位",
      prop: "bankCode",
      width:220
      prop: "unit",
   },
   {
      label: "数量",
      prop: "maintainer",
      label: "排产总数",
      prop: "schedulingNum",
   },
   {
      label: "排产数量",
      prop: "maintenanceTime",
      label: "已排产数量",
      prop: "successNum",
      width: 100,
   },
   {
      label: "待排数量",
      prop: "maintenanceTime",
      label: "待排产数量",
      prop: "pendingNum",
      width: 100,
   },
]);
@@ -138,11 +168,11 @@
};
const changeDaterange = (value) => {
   if (value) {
      searchForm.entryDateStart = dayjs(value[0]).format("YYYY-MM-DD");
      searchForm.entryDateEnd = dayjs(value[1]).format("YYYY-MM-DD");
      searchForm.value.entryDateStart = dayjs(value[0]).format("YYYY-MM-DD");
      searchForm.value.entryDateEnd = dayjs(value[1]).format("YYYY-MM-DD");
   } else {
      searchForm.entryDateStart = undefined;
      searchForm.entryDateEnd = undefined;
      searchForm.value.entryDateStart = undefined;
      searchForm.value.entryDateEnd = undefined;
   }
   handleQuery();
};
@@ -153,9 +183,14 @@
};
const getList = () => {
   tableLoading.value = true;
   staffJoinListPage({...page, ...searchForm.value}).then(res => {
   const params = { ...searchForm.value, ...page };
   params.entryDate = undefined
   listPageProcess(params).then(res => {
      tableLoading.value = false;
      tableData.value = res.data.records
      tableData.value = res.data.records.map(item => ({
         ...item,
         pendingNum: (Number(item.schedulingNum) || 0) - (Number(item.successNum) || 0)
      }));
      page.total = res.data.total;
   }).catch(err => {
      tableLoading.value = false;
@@ -172,12 +207,12 @@
      proxy.$message.error("请选择一条数据");
      return;
   }
   if (selectedRows.value[0].unPaymentAmountTotal == 0) {
      proxy.$message.warning("无需再付款");
   if (selectedRows.value[0].pendingNum == 0) {
      proxy.$message.warning("无需再排产");
      return;
   }
   nextTick(() => {
      formDia.value?.openDialog(type, row)
      formDia.value?.openDialog(type, selectedRows.value[0])
   })
};
@@ -190,30 +225,18 @@
      proxy.$modal.msgWarning("请选择数据");
      return;
   }
   ElMessageBox.confirm("选中的内容将被删除,是否确认删除?", "导出", {
   ElMessageBox.confirm("是否确认取消排产?", "删除提示", {
      confirmButtonText: "确认",
      cancelButtonText: "取消",
      type: "warning",
   })
      .then(() => {
         staffJoinDel(ids).then((res) => {
            proxy.$modal.msgSuccess("删除成功");
            getList();
         });
      })
      .catch(() => {
         proxy.$modal.msg("已取消");
      });
};
// 导出
const handleOut = () => {
   ElMessageBox.confirm("选中的内容将被导出,是否确认导出?", "导出", {
      confirmButtonText: "确认",
      cancelButtonText: "取消",
      type: "warning",
   })
      .then(() => {
         proxy.download("/staff/staffJoinLeaveRecord/export", {staffState: 1}, "人员入职.xlsx");
         tableLoading.value = true;
         productionDispatchDelete(ids)
            .then((res) => {
               proxy.$modal.msgSuccess("取消排产成功");
               getList();
            })
      })
      .catch(() => {
         proxy.$modal.msg("已取消");