Browse Source

fix:过滤创建流程中在上个步骤未审核通过的数据

snow 2 years ago
parent
commit
47f8bb8132

+ 5 - 4
src/views/purchase/inputInvoice/invoice-dialog.vue

@@ -4,7 +4,7 @@ import { ref } from "vue";
 
 const visible = ref(false);
 
-const invoiceData = ref<Record<any, any>>({});
+const invoiceData = ref<Record<string, any>>({});
 
 defineExpose({
   onDisplay: (data: any) => {
@@ -18,9 +18,10 @@ defineExpose({
   <el-dialog v-model="visible">
     <div class="InvoiceTmpDiv">
       <el-row>
-        <el-col :span="12" :offset="6" class="title no-border"
-          >XX市增值税X票XX发票</el-col
-        >
+        <!-- {{
+          invoiceData.invoiceType
+        }} -->
+        <el-col :span="12" :offset="6" class="title no-border" />
         <el-col :span="6" class="extra no-border">
           <div>
             <span class="label title-label">发票代码</span>:<span

+ 5 - 0
src/views/purchase/purchPay/component/approval-process/payment-receipt.vue

@@ -53,6 +53,10 @@ const handlePaymentReceipt = () => {
     isValid => isValid && emit("changeStatus", "4", formData)
   );
 };
+
+const disabledDate = time => {
+  return time.getTime() > Date.now();
+};
 </script>
 
 <template>
@@ -79,6 +83,7 @@ const handlePaymentReceipt = () => {
     <el-form-item label="回执时间" prop="return_time">
       <el-date-picker
         type="datetime"
+        :disabled-date="disabledDate"
         value-format="YYYY-MM-DD HH:mm:ss"
         v-model="formData.return_time"
         placeholder="请输入回执时间"

+ 10 - 3
src/views/purchase/purchPay/component/create-payment/order-table.vue

@@ -1,18 +1,24 @@
 <script setup lang="ts">
-import { ref } from "vue";
+import { ref, watchEffect } from "vue";
 import { columns } from "../../config/configs";
 import { ElTable } from "element-plus";
 
-defineProps<{
+const props = defineProps<{
   paymentList: Array<Record<string, string>>;
 }>();
 
 const emit = defineEmits(["change-payment-detail"]);
+const list = ref<Array<Record<string, string>>>([]);
 const tableRef = ref<InstanceType<typeof ElTable>>(null);
 
 function handleCurrentChange(value) {
   value && emit("change-payment-detail", value);
 }
+
+//过滤审核成功的对账列表
+watchEffect(
+  () => (list.value = props.paymentList.filter(item => item.status === "3"))
+);
 </script>
 
 <template>
@@ -20,8 +26,9 @@ function handleCurrentChange(value) {
     border
     ref="tableRef"
     row-key="id"
-    :data="paymentList"
+    :data="list"
     highlight-current-row
+    size="small"
     @current-change="handleCurrentChange"
   >
     <el-table-column

+ 3 - 6
src/views/purchase/purchPay/detail.vue

@@ -10,12 +10,9 @@ import { useShowAudit } from "./hooks/use-show-audit";
 import { useRoute, useRouter } from "vue-router";
 import { useResponseHandle } from "/@/hooks";
 
-import {
-  httpStatus,
-  httpAdd,
-  httpList,
-  httpInfo
-} from "/@/api/purchase/orderPay";
+import { httpList } from "/@/api/purchase/orderRecord";
+
+import { httpStatus, httpAdd, httpInfo } from "/@/api/purchase/orderPay";
 
 const { push } = useRouter();
 const { query } = useRoute();

+ 14 - 17
src/views/purchase/ticketReturn/components/create-ticket-dialog/create-ticket-dialog.vue

@@ -1,7 +1,7 @@
 <script setup lang="ts">
 import { dayjs, ElForm, ElInput, ElMessage, UploadProps } from "element-plus";
 import { ticketFormItems, ticketAddRules } from "../../config/configs";
-import { computed, ref, watch, nextTick } from "vue";
+import { computed, ref, watch, watchEffect } from "vue";
 import { httpAdd } from "/@/api/purchase/ticketReturn";
 import { useResponseHandle } from "/@/hooks";
 import { httpImageUpload, baseUrl } from "/@/api/other";
@@ -71,6 +71,7 @@ function handleClose() {
 }
 
 function handleScanKeydown(evt: KeyboardEvent) {
+  console.log("123");
   const { keyCode } = evt;
 
   if (keyCode !== 13) return;
@@ -81,9 +82,8 @@ function handleScanKeydown(evt: KeyboardEvent) {
     return (scanInputValue.value = "");
   }
 
-  const [_, ...chunks] = scanInputValue.value.split(",");
-  const [invoiceType, invCode, invNumber, gold, open_time, checkNumber] =
-    chunks;
+  const [_1, invoiceType, ...chunks] = scanInputValue.value.split(",");
+  const [invCode, invNumber, subtotal_amount, open_time, checkNumber] = chunks;
 
   const year = open_time.slice(0, 4);
   const month = open_time.slice(4, 6);
@@ -92,12 +92,12 @@ function handleScanKeydown(evt: KeyboardEvent) {
   formData.value = {
     invoiceType,
     invCode,
-    gold,
+    subtotal_amount,
     open_time: dayjs(`${year}-${month}-${day}`).format("YYYY-MM-DD HH:mm:ss"),
     invNumber,
     checkNumber
   };
-  console.log(formData.value);
+
   scanInputValue.value = "";
 }
 
@@ -128,19 +128,15 @@ watch(
 );
 
 //增值税专票校验码不必填
-watch(
-  () => formData.value,
-  () => {
-    nextTick(
-      () =>
-        (rules.value.checkNumber[0].required = formData.value.invName !== "01")
-    );
-  },
-  {
-    deep: true
-  }
+watchEffect(
+  () =>
+    (rules.value.checkNumber[0].required = formData.value.invoiceType !== "01")
 );
 
+const disabledDate = time => {
+  return time.getTime() > Date.now();
+};
+
 defineExpose({
   onDisplay: (_payNo: string) => {
     visible.value = true;
@@ -214,6 +210,7 @@ defineExpose({
         <template v-else-if="item.prop === 'open_time'">
           <el-date-picker
             v-model="formData[item.prop]"
+            :disabled-date="disabledDate"
             value-format="YYYY-MM-DD HH:mm:ss"
             placeholder="请输入开票日期"
           />

+ 8 - 2
src/views/purchase/ticketReturn/components/create-ticket-dialog/payment-table.vue

@@ -18,8 +18,10 @@ async function requestPurchaseList() {
   responseHandle({
     code,
     message,
-    handler: () => (purchaseList.value = data.list)
+    handler: () =>
+      (purchaseList.value = data?.list.filter(item => item.status === "3"))
   });
+
   loading.value = false;
 }
 
@@ -44,7 +46,11 @@ onMounted(() => requestPurchaseList());
 
     <el-table-column fixed="right" label="操作">
       <template #="{ row }">
-        <el-button link type="primary" @click="emit('addBtnClick', row)"
+        <el-button
+          link
+          type="primary"
+          size="small"
+          @click="emit('addBtnClick', row)"
           >添加</el-button
         >
       </template>

+ 0 - 1
src/views/purchase/ticketReturn/components/ticket-detail/index.vue

@@ -1,5 +1,4 @@
 <script setup lang="ts">
-// import dayjs from "dayjs";
 import { status_options, detailColumns, inv_type } from "../../config/configs";
 import { inv_type_list } from "/@/utils/status";
 

+ 8 - 5
src/views/purchase/ticketReturn/config/configs.ts

@@ -87,10 +87,6 @@ export const ticket_columns = [
 export const ticketFormItems = {
   //手工开票
   "1": [
-    {
-      label: "发票名称",
-      prop: "invName"
-    },
     {
       label: "发票代码",
       prop: "invCode"
@@ -101,7 +97,7 @@ export const ticketFormItems = {
     },
     {
       label: "金额",
-      prop: "gold"
+      prop: "subtotal_amount"
     },
     {
       label: "校验码",
@@ -157,6 +153,13 @@ export const ticketAddRules: FormRules = {
       required: true
     }
   ],
+  subtotal_amount: [
+    {
+      trigger: "blur",
+      message: "请输入金额",
+      required: true
+    }
+  ],
   inv_img: [
     {
       trigger: "blur",

+ 0 - 1
src/views/purchase/ticketReturn/detail.vue

@@ -3,7 +3,6 @@ import { computed, onMounted, ref } from "vue";
 import { useRoute, useRouter } from "vue-router";
 import { httpStatus, httpInfo } from "/@/api/purchase/ticketReturn";
 import { useResponseHandle } from "/@/hooks";
-
 import TicketDetail from "./components/ticket-detail/index.vue";
 import FinancialAudit from "./components/approval-process/financial-audit.vue";
 import Authentication from "./components/approval-process/authentication.vue";