Browse Source

no message

ly 1 năm trước cách đây
mục cha
commit
a5d283b283

+ 227 - 303
src/views/business/entrust/workOrder/currentMonth/index.vue

@@ -2,175 +2,92 @@
   <div class="page-container list-container">
     <!-- 功能按钮区 -->
     <div class="list-btns-container">
-      <el-button
-        type="primary"
-        size="small"
-        icon="Plus"
-        :disabled="multiple"
-        @click="setEntrustHandle"
-        v-hasPermi="['business:entrust:workOrder:current:edit']"
-        >设置委托</el-button
-      >
-      <el-button
-        type="danger"
-        size="small"
-        icon="delete"
-        :disabled="cancel"
-        @click="delEntrustHandle"
-        v-hasPermi="['business:entrust:workOrder:current:edit']"
-        >取消委托</el-button
-      >
-      <el-button
-        type="success"
-        size="small"
-        icon="Refresh"
-        @click="transEntrustHandler"
-        v-hasPermi="['business:entrust:workOrder:current:trans']"
-        >委托流转</el-button
-      >
+      <el-button type="primary" size="small" icon="Plus" :disabled="multiple" @click="setEntrustHandle"
+        v-hasPermi="['business:entrust:workOrder:current:edit']">设置委托</el-button>
+      <el-button type="danger" size="small" icon="delete" :disabled="cancel" @click="delEntrustHandle"
+        v-hasPermi="['business:entrust:workOrder:current:edit']">取消委托</el-button>
+      <el-button type="success" size="small" icon="Refresh" @click="transEntrustHandler"
+        v-hasPermi="['business:entrust:workOrder:current:trans']">委托流转</el-button>
       <el-dropdown trigger="click">
         <el-button type="primary" size="small">
           其它<el-icon class="el-icon--right"><arrow-down /></el-icon>
         </el-button>
         <template #dropdown>
           <el-dropdown-menu>
-            <el-dropdown-item
-              icon="Download"
-              @click="handleExport"
-              v-if="viewAdviser('business:entrust:workOrder:current:export')"
-            >
-              导出</el-dropdown-item
-            >
+            <el-dropdown-item icon="Download" @click="handleExport"
+              v-if="viewAdviser('business:entrust:workOrder:current:export')">
+              导出</el-dropdown-item>
           </el-dropdown-menu>
         </template>
       </el-dropdown>
       <el-button style="margin-left: 5px;" type="primary" size="small" icon="Plus" @click="exportZero">导入委托</el-button>
     </div>
     <!-- 搜索区 -->
-    <el-form
-      class="list-search-container"
-      size="small"
-      :model="queryParams"
-      ref="queryRef"
-      :inline="true"
-      label-width="68px"
-    >
+    <el-form class="list-search-container" size="small" :model="queryParams" ref="queryRef" :inline="true"
+      label-width="68px">
       <el-form-item label="当前月:">{{
         currentMonth == null
-          ? "未设定本月"
-          : moment(currentMonth).format("YYYY年MM月")
-      }}</el-form-item>
+        ? "未设定本月"
+        : moment(currentMonth).format("YYYY年MM月")
+        }}</el-form-item>
       <el-form-item label="客户名称:" prop="companyName">
-        <el-input
-          v-model="queryParams.companyName"
-          style="width: 150px"
-          placeholder="请输入客户名称"
-          clearable
-          @keyup.enter="handleQuery"
-        />
+        <el-input v-model="queryParams.companyName" style="width: 150px" placeholder="请输入客户名称" clearable
+          @keyup.enter="handleQuery" />
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="Search" @click="handleQuery"
-          >搜索</el-button
-        >
+        <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
         <el-button icon="Refresh" @click="resetQuery">重置</el-button>
       </el-form-item>
     </el-form>
 
     <!-- 列表区 -->
-    <el-table
-      v-loading="loading"
-      :data="list"
-      size="small"
-      border
-      height="100%"
-      @selection-change="handleSelectionChange"
-    >
+    <el-table v-loading="loading" :data="list" size="small" border height="100%"
+      @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <!-- <el-table-column label="工单号" align="center" prop="workOrderNo" width="200" /> -->
-      <el-table-column
-        label="客户名称"
-        align="center"
-        min-width="250"
-        prop="companyName"
-      />
-      <el-table-column
-        label="税号"
-        align="center"
-        prop="socialCreditCode"
-        min-width="200"
-      />
-      <el-table-column
-        label="工单类型"
-        align="center"
-        prop="amount"
-        min-width="80"
-      >
+      <el-table-column label="客户名称" align="center" min-width="250" prop="companyName" />
+      <el-table-column label="税号" align="center" prop="socialCreditCode" min-width="200" />
+      <el-table-column label="工单类型" align="center" prop="amount" min-width="80">
         <template #default="scope">
           {{ scope.row.type === 1 ? "循环工单" : "代办工单" }}
         </template>
       </el-table-column>
-      <el-table-column
-        v-if="list.findIndex((v) => v.tenantId !== tenantId) >= 0"
-        label="来源"
-        align="center"
-        prop="fromCompanyName"
-        min-width="80"
-      >
+      <el-table-column v-if="list.findIndex((v) => v.tenantId !== tenantId) >= 0" label="来源" align="center"
+        prop="fromCompanyName" min-width="80">
       </el-table-column>
-      <el-table-column
-        label="项目"
-        align="center"
-        prop="taskTypeName"
-        min-width="140"
-      >
+      <el-table-column label="项目" align="center" prop="taskTypeName" min-width="140">
         <template #default="scope">
           {{ scope.row.taskTypeName }}
           {{
-            scope.row.taskTypeDetailName
-              ? `-${scope.row.taskTypeDetailName}`
-              : ""
+          scope.row.taskTypeDetailName
+          ? `-${scope.row.taskTypeDetailName}`
+          : ""
           }}
         </template>
       </el-table-column>
-      <el-table-column
-        label="起始月"
-        align="center"
-        width="90"
-        min-prop="startMonth"
-      >
+      <el-table-column label="起始月" align="center" width="90" min-prop="startMonth">
         <template #default="scope">
           {{
-            scope.row.type === 1
-              ? scope.row.startMonth
-                ? moment(scope.row.startMonth).format("YYYY年MM月")
-                : ""
-              : "-"
+          scope.row.type === 1
+          ? scope.row.startMonth
+          ? moment(scope.row.startMonth).format("YYYY年MM月")
+          : ""
+          : "-"
           }}
         </template>
       </el-table-column>
-      <el-table-column
-        label="结束月"
-        align="center"
-        min-width="90"
-        prop="endMonth"
-      >
+      <el-table-column label="结束月" align="center" min-width="90" prop="endMonth">
         <template #default="scope">
           {{
-            scope.row.type === 1
-              ? scope.row.endMonth
-                ? moment(scope.row.endMonth).format("YYYY年MM月")
-                : ""
-              : "-"
+          scope.row.type === 1
+          ? scope.row.endMonth
+          ? moment(scope.row.endMonth).format("YYYY年MM月")
+          : ""
+          : "-"
           }}
         </template>
       </el-table-column>
-      <el-table-column
-        label="工单月数"
-        align="center"
-        min-width="80"
-        prop="monthNum"
-      >
+      <el-table-column label="工单月数" align="center" min-width="80" prop="monthNum">
         <template #default="scope">
           {{ scope.row.type === 1 ? scope.row.monthNum : "-" }}
         </template>
@@ -178,223 +95,230 @@
       <el-table-column label="工单执行人" align="center" min-width="100">
         <template #default="scope">
           {{
-            scope.row.entrust != null
-              ? scope.row.entrust.toAccountName
-              : scope.row.serviceName
+          scope.row.entrust != null
+          ? scope.row.entrust.toAccountName
+          : scope.row.serviceName
           }}
         </template>
       </el-table-column>
     </el-table>
     <!-- <contract-form ref="contractRef" :get-list="getList" /> -->
     <!-- 分页 -->
-    <pagination
-      v-show="total > 0"
-      :total="total"
-      v-model:page="queryParams.pageNum"
-      v-model:limit="queryParams.pageSize"
-      @pagination="getList"
-    />
-    <init-month-dialog
-      ref="initMonthDialogRef"
-      :get-list="checkCurrentMonthHandle"
-      :setCurrentMonth="setCurrentMonth"
-    />
+    <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
+      v-model:limit="queryParams.pageSize" @pagination="getList" />
+    <init-month-dialog ref="initMonthDialogRef" :get-list="checkCurrentMonthHandle"
+      :setCurrentMonth="setCurrentMonth" />
 
-    <set-entrust-dialog
-      ref="setEntrustDialogRef"
-      :get-list="getList"
-      @submit="handleAddEntrust"
-    />
+    <set-entrust-dialog ref="setEntrustDialogRef" :get-list="getList" @submit="handleAddEntrust" />
 
     <exports ref="exportRef" :get-list="getList"></exports>
   </div>
 </template>
 
 <script setup name="Company">
-import InitMonthDialog from "../initMonthDialog";
-import exports  from "./export.vue"
-import { getToken, getTenant } from "@/utils/auth";
-import {
-  listCurrentWorkOrder,
-  checkCurrent,
-  exportCurrentWorkOrder,
-  delEntrust,
-  transNext,
-  addEntrust,
-} from "@/api/business/entrust/currentWorkOrder";
-import SetEntrustDialog from "../setEntrustDialog";
-import useUserStore from "@/store/modules/user";
-// import { ca } from "element-plus/es/locale";
-const { proxy } = getCurrentInstance();
-const currentMonth = ref(null);
-/** 字典数组区 */
-/** 查询 对象 */
+  import InitMonthDialog from "../initMonthDialog";
+  import exports from "./export.vue"
+  import { getToken, getTenant } from "@/utils/auth";
+  import {
+    listCurrentWorkOrder,
+    checkCurrent,
+    exportCurrentWorkOrder,
+    delEntrust,
+    transNext,
+    addEntrust,
+  } from "@/api/business/entrust/currentWorkOrder";
+  import SetEntrustDialog from "../setEntrustDialog";
+  import useUserStore from "@/store/modules/user";
+  // import { ca } from "element-plus/es/locale";
+  const { proxy } = getCurrentInstance();
+  const currentMonth = ref(null);
+  /** 字典数组区 */
+  /** 查询 对象 */
 
-const list = ref([]);
-const loading = ref(true);
-const cancel = ref(true);
-const multiple = ref(true);
-const ids = ref([]);
-const selections = ref([]);
-const single = ref(false);
-const total = ref(0);
-const prev = ref([]);
-const tenantId = ref(getTenant());
-const permissions = useUserStore().permissions;
-const all_permission = "*:*:*";
+  const list = ref([]);
+  const loading = ref(true);
+  const cancel = ref(true);
+  const multiple = ref(true);
+  const ids = ref([]);
+  const selections = ref([]);
+  const single = ref(false);
+  const total = ref(0);
+  const prev = ref([]);
+  const tenantId = ref(getTenant());
+  const permissions = useUserStore().permissions;
+  const all_permission = "*:*:*";
 
-const initMonthDialogRef = ref(null);
-const setEntrustDialogRef = ref(null);
+  const initMonthDialogRef = ref(null);
+  const setEntrustDialogRef = ref(null);
 
-const showInitMonth = ref(false);
+  const showInitMonth = ref(false);
 
-const { contract_verify_status } = proxy.useDict("contract_verify_status");
-const { contract_status } = proxy.useDict("contract_status");
-/** 查询对象 */
-const queryParams = ref({
-  pageNum: 1,
-  pageSize: 20,
-  companyName: "",
-  orderByColumn: "create_time",
-  noContract: 0,
-  type: 1,
-});
+  const { contract_verify_status } = proxy.useDict("contract_verify_status");
+  const { contract_status } = proxy.useDict("contract_status");
+  /** 查询对象 */
+  const queryParams = ref({
+    pageNum: 1,
+    pageSize: 20,
+    companyName: "",
+    orderByColumn: "create_time",
+    noContract: 0,
+    type: 1,
+  });
 
-const editStatus = {
-  startMonth: false,
-};
+  const editStatus = {
+    startMonth: false,
+  };
 
-function checkCurrentMonthHandle() {
-  checkCurrent().then((res) => {
-    if (res.data.checkResult === true) {
-      setCurrentMonth(res.data.currentMonth);
-      getList();
-    } else {
-      showInitMonthDialog();
-    }
-  });
-}
+  function checkCurrentMonthHandle() {
+    checkCurrent().then((res) => {
+      if (res.data.checkResult === true) {
+        setCurrentMonth(res.data.currentMonth);
+        getList();
+      } else {
+        showInitMonthDialog();
+      }
+    });
+  }
 
-function showInitMonthDialog() {
-  initMonthDialogRef.value.open();
-}
+  function showInitMonthDialog() {
+    initMonthDialogRef.value.open();
+  }
 
-/***********************  方法区  ****************************/
+  /***********************  方法区  ****************************/
 
-/** 查询company列表 */
-function getList() {
-  loading.value = true;
-  queryParams.value.currentMonth = currentMonth.value;
-  listCurrentWorkOrder(queryParams.value).then((response) => {
-    list.value = response.rows;
-    console.log(response);
-    total.value = response.total;
-    loading.value = false;
-  });
-}
+  /** 查询company列表 */
+  function getList() {
+    loading.value = true;
+    queryParams.value.currentMonth = currentMonth.value;
+    listCurrentWorkOrder(queryParams.value).then((response) => {
+      list.value = response.rows;
+      console.log(response);
+      total.value = response.total;
+      loading.value = false;
+    });
+  }
 
-//判断是否有权限
-function viewAdviser(quer) {
-  return permissions.includes(all_permission) || permissions.includes(quer);
-}
+  //判断是否有权限
+  function viewAdviser(quer) {
+    return permissions.includes(all_permission) || permissions.includes(quer);
+  }
 
-/** 搜索按钮操作 */
-function handleQuery() {
-  queryParams.value.pageNum = 1;
-  getList();
-}
+  /** 搜索按钮操作 */
+  function handleQuery() {
+    queryParams.value.pageNum = 1;
+    getList();
+  }
 
-/** 重置按钮操作 */
-function resetQuery() {
-  proxy.resetForm("queryRef");
-  handleQuery();
-}
+  /** 重置按钮操作 */
+  function resetQuery() {
+    proxy.resetForm("queryRef");
+    handleQuery();
+  }
   /** 新增导入操作 */
   function exportZero() {
     proxy.$refs.exportRef.open();
   }
-// 多选框选中数据
-function handleSelectionChange(selection) {
-  ids.value = selection.map((item) => item.id);
-  selections.value = selection;
+  // 多选框选中数据
+  function handleSelectionChange(selection) {
+    ids.value = selection.map((item) => item.id);
+    selections.value = selection;
 
-  //取消委托计数
-  let cancelNum = 0;
-  //设置委托计数
-  let multipleNum = 0;
-  //判断是否有执行人
-  selections.value.forEach((item) => {
-    if (item.entrust) {
-      //有执行人
-      if (item.entrust.toAccountName) {
-        cancelNum++;
+    //取消委托计数
+    let cancelNum = 0;
+    //设置委托计数
+    let multipleNum = 0;
+    //判断是否有执行人
+    selections.value.forEach((item) => {
+      if (item.entrust) {
+        //有执行人
+        if (item.entrust.toAccountName) {
+          cancelNum++;
+        }
       }
-    }
-    //没有执行人
-    if (!item.entrust) {
-      multipleNum++;
-    }
-  });
+      //没有执行人
+      if (!item.entrust) {
+        multipleNum++;
+      }
+    });
 
-  //判断是否有选中数据
-  if (!selections.value.length > 0) {
-    multiple.value = true;
-    cancel.value = true;
-  } //判断是否设置执行人和设置委托选中
-  else if (cancelNum > 0 && multipleNum > 0) {
-    cancel.value = cancelNum > 0;
-    multiple.value = multipleNum > 0;
-  } else {
-    cancel.value = !cancelNum > 0;
-    multiple.value = !multipleNum > 0;
+    //判断是否有选中数据
+    if (!selections.value.length > 0) {
+      multiple.value = true;
+      cancel.value = true;
+    } //判断是否设置执行人和设置委托选中
+    else if (cancelNum > 0 && multipleNum > 0) {
+      cancel.value = cancelNum > 0;
+      multiple.value = multipleNum > 0;
+    } else {
+      cancel.value = !cancelNum > 0;
+      multiple.value = !multipleNum > 0;
+    }
   }
-}
 
-/** 导出按钮操作 */
-function handleExport() {
-  exportCurrentWorkOrder(queryParams.value);
-}
-
-function setCurrentMonth(month) {
-  currentMonth.value = month;
-}
+  /** 导出按钮操作 */
+  function handleExport() {
+    exportCurrentWorkOrder(queryParams.value);
+  }
 
-function setEntrustHandle() {
-  setEntrustDialogRef.value.open({
-    selections: selections.value,
-    optionCurrentMonth: currentMonth.value,
-  });
-}
+  function setCurrentMonth(month) {
+    currentMonth.value = month;
+  }
 
-function delEntrustHandle() {
-  const entrust = {
-    workMonth: currentMonth.value,
-    workOrderIds: ids.value,
-  };
-  proxy.$modal.confirm("是否确认取消委托?").then(() => {
-    delEntrust(entrust).then((res) => {
-      proxy.$modal.msgSuccess("取消成功");
-      getList();
+  function setEntrustHandle() {
+    setEntrustDialogRef.value.open({
+      selections: selections.value,
+      optionCurrentMonth: currentMonth.value,
     });
-  });
-}
+  }
 
-function transEntrustHandler() {
-  proxy.$modal.confirm("确定流转到下一月?").then(() => {
-    transNext().then((res) => {
-      proxy.$modal.msgSuccess("流转成功");
-      checkCurrentMonthHandle();
+  function delEntrustHandle() {
+    const entrust = {
+      workMonth: currentMonth.value,
+      workOrderIds: ids.value,
+    };
+    proxy.$modal.confirm("是否确认取消委托?").then(() => {
+      delEntrust(entrust).then((res) => {
+        proxy.$modal.msgSuccess("取消成功");
+        getList();
+      });
     });
-  });
-}
+  }
 
-function handleAddEntrust(data) {
-  addEntrust(data).then((response) => {
-    proxy.$modal.msgSuccess("设置完成!");
-    setEntrustDialogRef.value.cancel();
-    getList();
-  });
-}
+  function transEntrustHandler() {
+    let currentDate = new Date().getMonth() + 1;
+    let formattedMonth = currentDate.toString().padStart(2, '0');
+    let month = currentMonth.value.split('-')[1];
+    console.log(formattedMonth);
+    //真实月 != 当前月 
+    if (month != formattedMonth) {
+      proxy.$modal.msgError("每月只可流转一次");
+    } else {
+      let currentDay = new Date().getDate()
+      let cutoffDay = 20;
+      //如果当前月时间小于20号
+      if (currentDay < cutoffDay) {
+        proxy.$modal.msgError("每月20号后才能流转");
+      } else {
+        proxy.$modal.confirm("确定流转到下一月?").then(() => {
+          transNext().then((res) => {
+            proxy.$modal.msgSuccess("流转成功");
+            checkCurrentMonthHandle();
+          });
+        });
+      }
+
+    }
+
+
+  }
+
+  function handleAddEntrust(data) {
+    addEntrust(data).then((response) => {
+      proxy.$modal.msgSuccess("设置完成!");
+      setEntrustDialogRef.value.cancel();
+      getList();
+    });
+  }
 
-checkCurrentMonthHandle();
-</script>
+  checkCurrentMonthHandle();
+</script>

+ 0 - 1
src/views/business/production/productionCompany/index.vue

@@ -20,7 +20,6 @@
         <el-form-item>
           <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
           <el-button icon="Refresh" @click="resetQuery">重置</el-button>
-          <el-button icon="Refresh" @click="aaa">dianji</el-button>
         </el-form-item>
       </el-form>
     </el-form>