ly 1 tahun lalu
induk
melakukan
bbd1162176

+ 24 - 15
src/views/business/entrust/workOrder/currentMonth/index.vue

@@ -289,27 +289,36 @@
     let formattedMonth = currentDate.toString().padStart(2, '0');
     let month = currentMonth.value.split('-')[1];
     console.log(formattedMonth);
-    //真实月 != 当前月 
-    if (month != formattedMonth) {
-      proxy.$modal.msgError("每月只可流转一次");
+    if (month < formattedMonth) {
+      proxy.$modal.confirm("确定流转到下一月?").then(() => {
+        transNext().then((res) => {
+          proxy.$modal.msgSuccess("流转成功");
+          checkCurrentMonthHandle();
+        });
+      });
     } else {
-      let currentDay = new Date().getDate()
-      let cutoffDay = 20;
-      //如果当前月时间小于20号
-      if (currentDay < cutoffDay) {
-        proxy.$modal.msgError("每月20号后才能流转");
+
+      // //真实月 != 当前月 
+      if (month != formattedMonth) {
+        proxy.$modal.msgError("每月只可流转一次");
       } else {
-        proxy.$modal.confirm("确定流转到下一月?").then(() => {
-          transNext().then((res) => {
-            proxy.$modal.msgSuccess("流转成功");
-            checkCurrentMonthHandle();
+        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) {

+ 189 - 234
src/views/business/entrust/workOrderForFactory/currentMonth/index.vue

@@ -2,138 +2,84 @@
   <div class="page-container list-container">
     <!-- 功能按钮区 -->
     <div class="list-btns-container">
-      <el-button
-        type="success"
-        size="small"
-        icon="Refresh"
-        @click="transEntrustHandler"
-        v-hasPermi="['business:entrust:workOrder:current:trans']"
-        >委托流转</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>
     </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"
-          placeholder="请输入客户名称"
-          clearable
-          @keyup.enter="handleQuery"
-        />
+        <el-input v-model="queryParams.companyName" 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" prop="companyName" />
-      <el-table-column
-        label="来源"
-        align="center"
-        width="100"
-        prop="fromCompanyName"
-      />
-      <el-table-column
-        label="税号"
-        align="center"
-        prop="socialCreditCode"
-        width="200"
-      />
+      <el-table-column label="来源" align="center" width="100" prop="fromCompanyName" />
+      <el-table-column label="税号" align="center" prop="socialCreditCode" width="200" />
       <el-table-column label="工单类型" align="center" prop="amount" width="80">
         <template #default="scope">
           {{ scope.row.type === 1 ? "循环工单" : "代办工单" }}
         </template>
       </el-table-column>
-      <el-table-column
-        label="项目"
-        align="center"
-        prop="taskTypeName"
-        width="140"
-      >
+      <el-table-column label="项目" align="center" prop="taskTypeName" 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"
-        prop="startMonth"
-      >
+      <el-table-column label="起始月" align="center" width="90" 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" 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"
-        width="80"
-        prop="monthNum"
-      >
+      <el-table-column label="工单月数" align="center" width="80" prop="monthNum">
         <template #default="scope">
           {{ scope.row.type === 1 ? scope.row.monthNum : "-" }}
         </template>
@@ -141,184 +87,193 @@
       <el-table-column label="工单执行人" align="center" 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>
-    <init-month-dialog
-      ref="initMonthDialogRef"
-      :get-list="checkCurrentMonthHandle"
-      :setCurrentMonth="setCurrentMonth"
-    />
+    <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"
-    />
+    <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
+      v-model:limit="queryParams.pageSize" @pagination="getList" />
   </div>
 </template>
 
 <script setup name="Company">
-import { getToken, getTenant } from "@/utils/auth";
-import {
-  listFactoryCurrentWorkOrder,
-  checkCurrent,
-  exportCurrentWorkOrder,
-  delEntrust,
-  transNextForFactory,
-} from "@/api/business/entrust/currentWorkOrder";
-import InitMonthDialog from "../initMonthDialog";
-import useUserStore from "@/store/modules/user";
+  import { getToken, getTenant } from "@/utils/auth";
+  import {
+    listFactoryCurrentWorkOrder,
+    checkCurrent,
+    exportCurrentWorkOrder,
+    delEntrust,
+    transNextForFactory,
+  } from "@/api/business/entrust/currentWorkOrder";
+  import InitMonthDialog from "../initMonthDialog";
+  import useUserStore from "@/store/modules/user";
 
-const { proxy } = getCurrentInstance();
-const currentMonth = ref(null);
-/** 字典数组区 */
-/** 查询 对象 */
+  const { proxy } = getCurrentInstance();
+  const currentMonth = ref(null);
+  /** 字典数组区 */
+  /** 查询 对象 */
 
-const list = ref([]);
-const loading = ref(true);
-const ids = ref([]);
-const selections = ref([]);
-const single = ref(false);
-const multiple = ref(false);
-const permissions = useUserStore().permissions;
-const all_permission = "*:*:*";
-const total = ref(0);
-const prev = ref([]);
+  const list = ref([]);
+  const loading = ref(true);
+  const ids = ref([]);
+  const selections = ref([]);
+  const single = ref(false);
+  const multiple = ref(false);
+  const permissions = useUserStore().permissions;
+  const all_permission = "*:*:*";
+  const total = ref(0);
+  const prev = ref([]);
 
-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: "",
-  noContract: 0,
-  toTenantId: getTenant(),
-  type: 1,
-});
-
-const editStatus = {
-  startMonth: false,
-};
-
-function checkCurrentMonthHandle() {
-  checkCurrent().then((res) => {
-    if (res.data.checkResult === true) {
-      setCurrentMonth(res.data.currentMonth);
-      getList();
-    } else {
-      showInitMonthDialog();
-    }
+  const { contract_verify_status } = proxy.useDict("contract_verify_status");
+  const { contract_status } = proxy.useDict("contract_status");
+  /** 查询对象 */
+  const queryParams = ref({
+    pageNum: 1,
+    pageSize: 20,
+    companyName: "",
+    noContract: 0,
+    toTenantId: getTenant(),
+    type: 1,
   });
-}
 
-function showInitMonthDialog() {
-  initMonthDialogRef.value.open();
-}
+  const editStatus = {
+    startMonth: false,
+  };
 
-/***********************  方法区  ****************************/
+  function checkCurrentMonthHandle() {
+    checkCurrent().then((res) => {
+      if (res.data.checkResult === true) {
+        setCurrentMonth(res.data.currentMonth);
+        getList();
+      } else {
+        showInitMonthDialog();
+      }
+    });
+  }
 
-/** 查询company列表 */
-function getList() {
-  loading.value = true;
-  queryParams.value.currentMonth = currentMonth.value;
-  listFactoryCurrentWorkOrder(queryParams.value).then((response) => {
-    list.value = response.rows;
-    total.value = response.total;
-    loading.value = false;
-  });
-}
+  function showInitMonthDialog() {
+    initMonthDialogRef.value.open();
+  }
 
-//判断是否有权限
-function viewAdviser(quer) {
-  return permissions.includes(all_permission) || permissions.includes(quer);
-}
+  /***********************  方法区  ****************************/
 
-/** 搜索按钮操作 */
-function handleQuery() {
-  queryParams.value.pageNum = 1;
-  getList();
-}
+  /** 查询company列表 */
+  function getList() {
+    loading.value = true;
+    queryParams.value.currentMonth = currentMonth.value;
+    listFactoryCurrentWorkOrder(queryParams.value).then((response) => {
+      list.value = response.rows;
+      total.value = response.total;
+      loading.value = false;
+    });
+  }
 
-/** 重置按钮操作 */
-function resetQuery() {
-  proxy.resetForm("queryRef");
-  handleQuery();
-}
+  //判断是否有权限
+  function viewAdviser(quer) {
+    return permissions.includes(all_permission) || permissions.includes(quer);
+  }
 
-// 多选框选中数据
-function handleSelectionChange(selection) {
-  ids.value = selection.map((item) => item.id);
-  selections.value = selection;
-  single.value = selection.length != 1;
-  multiple.value = selection.length > 0;
-}
+  /** 搜索按钮操作 */
+  function handleQuery() {
+    queryParams.value.pageNum = 1;
+    getList();
+  }
 
-/** 导出按钮操作 */
-function handleExport() {
-  exportCurrentWorkOrder(queryParams.value);
-}
+  /** 重置按钮操作 */
+  function resetQuery() {
+    proxy.resetForm("queryRef");
+    handleQuery();
+  }
 
-function setCurrentMonth(month) {
-  currentMonth.value = month;
-}
+  // 多选框选中数据
+  function handleSelectionChange(selection) {
+    ids.value = selection.map((item) => item.id);
+    selections.value = selection;
+    single.value = selection.length != 1;
+    multiple.value = selection.length > 0;
+  }
 
-function setEntrustHandle() {
-  if (!multiple.value) {
-    proxy.$modal.msgError("请选择一条记录!");
-    return;
+  /** 导出按钮操作 */
+  function handleExport() {
+    exportCurrentWorkOrder(queryParams.value);
   }
-  setEntrustDialogRef.value.open({
-    selections: selections.value,
-    optionCurrentMonth: currentMonth.value,
-  });
-}
 
-function delEntrustHandle() {
-  if (!multiple.value) {
-    proxy.$modal.msgError("请选择一条记录!");
-    return;
+  function setCurrentMonth(month) {
+    currentMonth.value = month;
   }
-  const entrust = {
-    workMonth: currentMonth.value,
-    workOrderIds: ids.value,
-  };
-  proxy.$modal.confirm("是否确认取消委托?").then(() => {
-    delEntrust(entrust).then((res) => {
-      proxy.$modal.msgSuccess("取消成功");
-      getList();
+
+  function setEntrustHandle() {
+    if (!multiple.value) {
+      proxy.$modal.msgError("请选择一条记录!");
+      return;
+    }
+    setEntrustDialogRef.value.open({
+      selections: selections.value,
+      optionCurrentMonth: currentMonth.value,
     });
-  });
-}
+  }
 
-function transEntrustHandler() {
-  proxy.$modal.confirm("确定流转到下一月?").then(() => {
-    transNextForFactory().then((res) => {
-      proxy.$modal.msgSuccess("流转成功");
-      checkCurrentMonthHandle();
+  function delEntrustHandle() {
+    if (!multiple.value) {
+      proxy.$modal.msgError("请选择一条记录!");
+      return;
+    }
+    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(() => {
+          transNextForFactory().then((res) => {
+            proxy.$modal.msgSuccess("流转成功");
+            checkCurrentMonthHandle();
+          });
+        });
+      }
+
+    }
+  }
+
+  function handleAddEntrust(data) {
+    addEntrust(data).then((response) => {
+      proxy.$modal.msgSuccess("设置完成!");
+      setEntrustDialogRef.value.cancel();
+      getList();
+    });
+  }
 
-checkCurrentMonthHandle();
-</script>
+  checkCurrentMonthHandle();
+</script>

+ 1 - 1
src/views/business/production/IndividualIncomeTaxIs/index.vue

@@ -61,7 +61,7 @@
     <!-- 列表区 -->
     <el-table v-loading="loading" :data="detailList" size="small" border  height="100%"
       @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
+      <!-- <el-table-column type="selection" width="55" align="center" /> -->
       <el-table-column label="客户名称" align="center" prop="companyName" min-width="250">
         <template #default="scope">
           <div style="display: flex; align-items: center; ">

+ 67 - 62
src/views/business/production/archiveTicket/form.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-dialog v-model="visible" :width="width" append-to-body draggable show-close :close-on-click-modal = "false">
+  <el-dialog v-model="visible" :width="width" append-to-body draggable show-close :close-on-click-modal="false">
     <template #header>
       <div class="dialog-title-container">
         <span class="title-label" style="color: #fff">
@@ -16,65 +16,67 @@
       <el-button type="primary" size="small" icon="Finished" @click="handleSave">
         保存</el-button>
     </div>
-    <div style="padding: 8px 24px 16px 24px">
-      <el-form size="small" label-width="80px">
-        <el-row :gutter="30">
-          <el-col :span="12">
-            <el-form-item label="客户名称">
-              <div>{{ form.companyName }}</div>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="账期">
-              <el-select v-model="form.currentMonth" style="width: 100%" @change="changeMonthHandle">
-                <el-option v-for="item in months" :key="item.id" :label="`${item.year}-${item.month}`"
-                  :value="item.id" />
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="上传完成">
-              <el-checkbox v-model="form.isFinished" :true-label="1" :false-label="0" />
-            </el-form-item>
-          </el-col>
-          <el-col v-if="form.isFinished === 0" :span="12">
-            <!-- <el-form-item label="" required> -->
-            <el-upload action="#" :http-request="upload" :before-upload="handleBeforeUpload" :with-credentials="true"
-              :show-file-list="false" accept=".png, .jpg, .jpeg, .gif" multiple>
-              <el-button size="small" type="primary" icon="Upload">上传文件</el-button>
-            </el-upload>
-            <!-- </el-form-item> -->
-          </el-col>
-          <el-col :span="24">
-            <el-row :gutter="10">
-              <el-col v-if="files.length === 0">
-                <el-empty description="没有数据" />
-              </el-col>
-              <el-col v-for="(o, index) in files" :key="o.UUID" :span="8"
-                style="margin-bottom: 10px; position: relative">
-                <el-card :body-style="{ padding: '0px' }">
-                  <!-- <img :src="`${baseUrl}${o.fileUrl}`" class="image" style="max-width: 100%; height: 200px" @click="handleImageView(o.fileUrl)" /> -->
-                  <el-image :src="`${baseUrl}${o.fileUrl}`" class="image" style="max-width: 100%; height: 200px"
-                    :preview-teleported="true" fit="contain" :preview-src-list="srcList"
-                    @click="vbs(baseUrl + o.fileUrl)" />
-                  <div style="padding: 14px">
-                    <!-- <span>好吃的汉堡</span> -->
-                    <div class="bottom clearfix">
-                      <el-form-item label="票据类型" prop="typeId">
-                        <el-select v-model="o.typeId">
-                          <el-option v-for="i in ticket_type" :key="i.value" :value="i.value" :label="i.label" />
-                        </el-select>
-                      </el-form-item>
+    <div v-loading="loading">
+      <div style="padding: 8px 24px 16px 24px">
+        <el-form size="small" label-width="80px">
+          <el-row :gutter="30">
+            <el-col :span="12">
+              <el-form-item label="客户名称">
+                <div>{{ form.companyName }}</div>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="账期">
+                <el-select v-model="form.currentMonth" style="width: 100%" @change="changeMonthHandle">
+                  <el-option v-for="item in months" :key="item.id" :label="`${item.year}-${item.month}`"
+                    :value="item.id" />
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="上传完成">
+                <el-checkbox v-model="form.isFinished" :true-label="1" :false-label="0" />
+              </el-form-item>
+            </el-col>
+            <el-col v-if="form.isFinished === 0" :span="12">
+              <!-- <el-form-item label="" required> -->
+              <el-upload action="#" :http-request="upload" :before-upload="handleBeforeUpload" :with-credentials="true"
+                :show-file-list="false" accept=".png, .jpg, .jpeg, .gif" multiple>
+                <el-button size="small" type="primary" icon="Upload">上传文件</el-button>
+              </el-upload>
+              <!-- </el-form-item> -->
+            </el-col>
+            <el-col :span="24">
+              <el-row :gutter="10">
+                <el-col v-if="files.length === 0">
+                  <el-empty description="没有数据" />
+                </el-col>
+                <el-col v-for="(o, index) in files" :key="o.UUID" :span="8"
+                  style="margin-bottom: 10px; position: relative">
+                  <el-card :body-style="{ padding: '0px' }">
+                    <!-- <img :src="`${baseUrl}${o.fileUrl}`" class="image" style="max-width: 100%; height: 200px" @click="handleImageView(o.fileUrl)" /> -->
+                    <el-image :src="`${baseUrl}${o.fileUrl}`" class="image" style="max-width: 100%; height: 200px"
+                      :preview-teleported="true" fit="contain" :preview-src-list="srcList"
+                      @click="vbs(baseUrl + o.fileUrl)" />
+                    <div style="padding: 14px">
+                      <!-- <span>好吃的汉堡</span> -->
+                      <div class="bottom clearfix">
+                        <el-form-item label="票据类型" prop="typeId">
+                          <el-select v-model="o.typeId">
+                            <el-option v-for="i in ticket_type" :key="i.value" :value="i.value" :label="i.label" />
+                          </el-select>
+                        </el-form-item>
+                      </div>
                     </div>
-                  </div>
-                  <el-button v-if="form.isFinished === 0" circle size="small" type="danger" icon="Close"
-                    style="position: absolute; top: 5px; right: 10px" @click="deleteHandle(index)" />
-                </el-card>
-              </el-col>
-            </el-row>
-          </el-col>
-        </el-row>
-      </el-form>
+                    <el-button v-if="form.isFinished === 0" circle size="small" type="danger" icon="Close"
+                      style="position: absolute; top: 5px; right: 10px" @click="deleteHandle(index)" />
+                  </el-card>
+                </el-col>
+              </el-row>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
     </div>
   </el-dialog>
 </template>
@@ -87,7 +89,7 @@
   import { uploadFile } from "@/api/tool/file";
   const { proxy } = getCurrentInstance();
   const { ticket_type } = proxy.useDict("ticket_type");
-
+  const loading = ref(false);
   const formRules = ref({
     typeId: [
       { required: true, message: '请选择票据类型', trigger: 'change' }
@@ -138,8 +140,9 @@
 
   function open(arg) {
     visible.value = true;
+    loading.value = true;
     form.value = arg;
-    form.value.month =  proxy.moment().subtract(1, "month").format("MM")
+    form.value.month = proxy.moment().subtract(1, "month").format("MM")
     form.value.currentMonth = `${form.value.year}-${form.value.month}`;
     options.value = arg;
     loadData();
@@ -163,6 +166,7 @@
     files.value = res.data.files;
     months.value = res.data.months;
     form.value.isFinished = res.data.finished.isFinished;
+    loading.value = false;
   };
   /**
    * 列表checkbox列选择 事件
@@ -192,12 +196,13 @@
         file.fileUrl = res.fileName;
         files.value.push(file);
         srcList.value = files.value.map((v) => baseUrl.value + v.fileUrl);
-        console.log(srcList.value,2222);
+        console.log(srcList.value, 2222);
       }
     });
   }
 
   function changeMonthHandle(item) {
+    loading.value = true;
     const index = months.value.findIndex((v) => v.id === item);
     if (index >= 0) {
       const moment =