ly 1 år sedan
förälder
incheckning
76dc1d4cc8
1 ändrade filer med 254 tillägg och 253 borttagningar
  1. 254 253
      src/views/business/production/receiveTicket/view.vue

+ 254 - 253
src/views/business/production/receiveTicket/view.vue

@@ -1,6 +1,5 @@
 <template>
-  <el-dialog title="收票信息" v-model="visible" :width="width" append-to-body draggable @close="close"
-    :close-on-click-modal="false">
+  <el-dialog title="收票信息" v-model="visible" :width="width" append-to-body draggable @close="close" :close-on-click-modal = "false">
     <!-- 功能按钮 -->
     <div style="padding: 8px 24px 16px 24px">
       <el-form size="small" label-width="100px" v-model="form">
@@ -58,9 +57,9 @@
               <div v-if="form.status === 3">{{ form.salaryTicket }}</div>
               <div v-else>
                 {{
-                salaryDetail == null
-                ? "未开始"
-                : getStatusOfSalary(salaryDetail)
+                  salaryDetail == null
+                  ? "未开始"
+                  : getStatusOfSalary(salaryDetail)
                 }}
               </div>
             </el-form-item>
@@ -190,7 +189,7 @@
       <el-button v-if="showVerify()" type="primary" size="small" icon="check" style="float: right; margin-left: 12px"
         @click="handleVerify(3, 1)">
         审核通过并反馈</el-button>
-      <el-button v-if="showVerifyDeleted() && form.status === 3" type="warning" size="small" icon="back"
+      <el-button v-if="renturn() && form.status === 3" type="warning" size="small" icon="back"
         style="float: right; margin-left: 12px" @click="returnStatus()">
         退回</el-button>
     </div>
@@ -199,282 +198,284 @@
   </el-dialog>
 </template>
 <script setup>
-  import {
-    getDetail,
-    verifyDetail,
-    turnBackDetail,
-    getSalaryDetail,
-  } from "@/api/business/production/receiveTicket";
-  import feedbackDialog from "../feedbackDialog.vue";
-  import { salaryStatusTypes } from "@/utils/default";
-  import useUserStore from "@/store/modules/user";
-  import { ref } from "vue";
-  const { proxy } = getCurrentInstance();
-  const visible = ref(false);
-  const width = ref(800);
-  const selections = ref([]);
-  const currentSource = ref(null);
+import {
+  getDetail,
+  verifyDetail,
+  turnBackDetail,
+  getSalaryDetail,
+} from "@/api/business/production/receiveTicket";
+import feedbackDialog from "../feedbackDialog.vue";
+import { salaryStatusTypes } from "@/utils/default";
+import useUserStore from "@/store/modules/user";
+import { ref } from "vue";
+const { proxy } = getCurrentInstance();
+const visible = ref(false);
+const width = ref(800);
+const selections = ref([]);
+const currentSource = ref(null);
 
-  const permissions = useUserStore().permissions;
-  const all_permission = "*:*:*";
+const permissions = useUserStore().permissions;
+const all_permission = "*:*:*";
 
-  const feedbackDialogView = ref(null);
+const feedbackDialogView = ref(null);
 
-  const props = defineProps({
-    getList: {
-      type: Function,
-      default: () => { },
-    },
-  });
+const props = defineProps({
+  getList: {
+    type: Function,
+    default: () => { },
+  },
+});
 
-  const { getList } = toRefs(props);
-  const total = ref(0);
+const { getList } = toRefs(props);
+const total = ref(0);
 
-  const data = reactive({
-    confirmChoices: [
-      {
-        label: "有",
-        value: 1,
-      },
-      {
-        label: "无",
-        value: 0,
-      },
-    ],
-    salaryDetail: null,
-    selectStatus: [
-      {
-        label: "未开始",
-        value: 0,
-        color: "#fff",
-      },
-      {
-        label: "待确认",
-        value: 1,
-        color: "#fcd080",
-      },
-      {
-        label: "待审核",
-        value: 2,
-        color: "#80a7fc",
-      },
-      {
-        label: "已完成",
-        value: 3,
-        color: "#57e63e",
-      },
-      {
-        label: "驳回待处理",
-        value: 4,
-        color: "#e63e3e",
-      },
-    ],
-  });
-
-  const { confirmChoices, salaryDetail, selectStatus } = toRefs(data);
+const data = reactive({
+  confirmChoices: [
+    {
+      label: "有",
+      value: 1,
+    },
+    {
+      label: "无",
+      value: 0,
+    },
+  ],
+  salaryDetail: null,
+  selectStatus: [
+    {
+      label: "未开始",
+      value: 0,
+      color: "#fff",
+    },
+    {
+      label: "待确认",
+      value: 1,
+      color: "#fcd080",
+    },
+    {
+      label: "待审核",
+      value: 2,
+      color: "#80a7fc",
+    },
+    {
+      label: "已完成",
+      value: 3,
+      color: "#57e63e",
+    },
+    {
+      label: "驳回待处理",
+      value: 4,
+      color: "#e63e3e",
+    },
+  ],
+});
 
-  const employeeEmptyData = {
-    id: null,
-    title: "",
-    remark: "",
-    employeeName: "",
-    departmentName: "",
-    idCode: "",
-    salaryAmount: "",
-    bonusAmount: "",
-    allowanceAmount: "",
-    subsidyAmount: "",
-    absenceCut: "",
-    planSalary: 0,
-    actuallySalary: 0,
-    endowmentInsurance: 0,
-    medicalInsurance: 0,
-    unemploymentBenefit: 0,
-    seriousIllnessInsurance: 0,
-    housingFund: 0,
-    otherCut: 0,
-    cumulativeIncome: 0,
-    cumulativeSpecialCut: 0,
-    cumulativeChildEduCut: 0,
-    cumulativeHouseLoanInterestCut: 0,
-    cumulativeHouseRentCut: 0,
-    cumulativeSupportElderCut: 0,
-    cumulativeContinuingEduCut: 0,
-    cumulativeBabyCareCut: 0,
-    sumSpecialCumulativeCut: 0,
-    cumulativeOtherCut: 0,
-    cumulativeIndividualIncomeTax: 0,
-    cumulativeHasPaidIit: 0,
-    currentIndividualIncomeTax: 0,
-    idiograph: "",
-    details: [],
-    editStatus: true,
-  };
+const { confirmChoices, salaryDetail, selectStatus } = toRefs(data);
 
-  const form = ref({
-    amount: null,
-    details: [],
-  });
+const employeeEmptyData = {
+  id: null,
+  title: "",
+  remark: "",
+  employeeName: "",
+  departmentName: "",
+  idCode: "",
+  salaryAmount: "",
+  bonusAmount: "",
+  allowanceAmount: "",
+  subsidyAmount: "",
+  absenceCut: "",
+  planSalary: 0,
+  actuallySalary: 0,
+  endowmentInsurance: 0,
+  medicalInsurance: 0,
+  unemploymentBenefit: 0,
+  seriousIllnessInsurance: 0,
+  housingFund: 0,
+  otherCut: 0,
+  cumulativeIncome: 0,
+  cumulativeSpecialCut: 0,
+  cumulativeChildEduCut: 0,
+  cumulativeHouseLoanInterestCut: 0,
+  cumulativeHouseRentCut: 0,
+  cumulativeSupportElderCut: 0,
+  cumulativeContinuingEduCut: 0,
+  cumulativeBabyCareCut: 0,
+  sumSpecialCumulativeCut: 0,
+  cumulativeOtherCut: 0,
+  cumulativeIndividualIncomeTax: 0,
+  cumulativeHasPaidIit: 0,
+  currentIndividualIncomeTax: 0,
+  idiograph: "",
+  details: [],
+  editStatus: true,
+};
 
-  const emptyForm = {
-    details: [],
-  };
+const form = ref({
+  amount: null,
+  details: [],
+});
 
-  function open(detail) {
-    console.log(detail);
-    visible.value = true;
-    form.value = detail;
-    loadData();
-  }
+const emptyForm = {
+  details: [],
+};
 
-  function loadData() {
-    Promise.all([
-      getDetail(form.value),
-      getSalaryDetail({
-        companyId: form.value.companyId,
-        year: form.value.year,
-        month: form.value.month,
-      }),
-    ]).then((res) => {
-      form.value = { ...proxy.deepClone(emptyForm), ...res[0].data };
-      salaryDetail.value = res[1].data;
-    });
-  }
+function open(detail) {
+  console.log(detail);
+  visible.value = true;
+  form.value = detail;
+  loadData();
+}
 
-  function close() {
-    visible.value = false;
-    reset();
-  }
+function loadData() {
+  Promise.all([
+    getDetail(form.value),
+    getSalaryDetail({
+      companyId: form.value.companyId,
+      year: form.value.year,
+      month: form.value.month,
+    }),
+  ]).then((res) => {
+    form.value = { ...proxy.deepClone(emptyForm), ...res[0].data };
+    salaryDetail.value = res[1].data;
+  });
+}
 
-  function reset() {
-    form.value = proxy.deepClone(emptyForm);
-    total.value = 0;
-  }
+function close() {
+  visible.value = false;
+  reset();
+}
 
-  function printSalary() { }
-  function exportSalary() { }
+function reset() {
+  form.value = proxy.deepClone(emptyForm);
+  total.value = 0;
+}
 
-  function showVerify() {
-    if (salaryDetail.value == null || salaryDetail.value.status !== 3) {
-      return false;
-    }
-    if (
-      form.value.id == null ||
-      form.value.status === 0 ||
-      form.value.status === 1 ||
-      form.value.status === 3 ||
-      form.value.status === 4
-    ) {
-      return false;
-    } else if (verifiable()) {
-      return true;
-    } else {
-      return false;
-    }
-  }
-  function showVerifyDeleted() {
-    return (
-      permissions.includes(all_permission) ||
-      permissions.includes("business:salary:return")
-    );
-  }
-  function verifiable() {
-    return (
-      permissions.includes(all_permission) ||
-      permissions.includes("business:salary:verify")
-      // permissions.includes("business:salary:return")
-    );
-  }
+function printSalary() { }
+function exportSalary() { }
 
-  function handleCurrentChange(row) {
-    currentSource.value = row;
+function showVerify() {
+  if (salaryDetail.value == null || salaryDetail.value.status !== 3) {
+    return false;
   }
-
-  function handleCheckChange(selection) {
-    selections.value = selection.map((item) => item);
+  if (
+    form.value.id == null ||
+    form.value.status === 0 ||
+    form.value.status === 1 ||
+    form.value.status === 3 ||
+    form.value.status === 4
+  ) {
+    return false;
+  } else if (verifiable()) {
+    return true;
+  } else {
+    return false;
   }
+}
 
-  function handleVerify(status, feedbackStatus) {
-    if (status === 4) {
-      const saveValue = proxy.deepClone(form.value);
-      saveValue.status = status;
-      saveValue.feedbackStatus = 1;
-      feedbackDialogView.value.open(saveValue);
-    } else if (status === 3 && feedbackStatus === 1) {
-      const saveValue = proxy.deepClone(form.value);
-      saveValue.status = status;
-      saveValue.feedbackStatus = feedbackStatus;
-      feedbackDialogView.value.open(saveValue);
-    } else {
-      proxy.$modal
-        .confirm("确认审核么?")
-        .then((_) => {
-          const saveValue = proxy.deepClone(form.value);
-          saveValue.status = status;
-          verify(saveValue);
-        })
-        .catch((_) => {
-          proxy.$modal.msg("已取消审核");
-        });
-    }
-  }
+function verifiable() {
+  // console.log(permissions)
+  // console.log(permissions)
+  return (
+    permissions.includes(all_permission) ||
+    permissions.includes("business:receiveTicket:verify")
+  );
+}
+function renturn(){
+  return (
+    permissions.includes(all_permission) ||
+    permissions.includes("business:receiveTicket:return")
+  );
+}
 
-  function verify(data) {
-    verifyDetail(data).then((res) => {
-      reset();
-      getList.value();
-      close();
-    });
-  }
+function handleCurrentChange(row) {
+  currentSource.value = row;
+}
 
-  function computeTotal() {
-    let totalSalay = 0;
-    form.value.details.forEach((l) => {
-      totalSalay += l.actuallySalary == null ? 0 : l.actuallySalary;
-    });
-    form.value.amount = totalSalay.toFixed(2);
-  }
+function handleCheckChange(selection) {
+  selections.value = selection.map((item) => item);
+}
 
-  function returnStatus(status) {
+function handleVerify(status, feedbackStatus) {
+  if (status === 4) {
+    const saveValue = proxy.deepClone(form.value);
+    saveValue.status = status;
+    saveValue.feedbackStatus = 1;
+    feedbackDialogView.value.open(saveValue);
+  } else if (status === 3 && feedbackStatus === 1) {
+    const saveValue = proxy.deepClone(form.value);
+    saveValue.status = status;
+    saveValue.feedbackStatus = feedbackStatus;
+    feedbackDialogView.value.open(saveValue);
+  } else {
     proxy.$modal
-      .confirm("确认退回么?")
+      .confirm("确认审核么?")
       .then((_) => {
-        turnBackDetail(form.value).then((res) => {
-          reset();
-          getList.value();
-          close();
-        });
+        const saveValue = proxy.deepClone(form.value);
+        saveValue.status = status;
+        verify(saveValue);
       })
       .catch((_) => {
-        proxy.$modal.msg("已取消退回");
+        proxy.$modal.msg("已取消审核");
       });
   }
+}
 
-  function getStatusLabel(status) {
-    const index = selectStatus.value.findIndex((v) => v.value === status);
-    return index < 0 ? "未开始" : selectStatus.value[index].label;
-  }
+function verify(data) {
+  verifyDetail(data).then((res) => {
+    reset();
+    getList.value();
+    close();
+  });
+}
 
-  function ticketNumberChange() {
-    let amount = 0;
-    amount += form.value.incomeTicket;
-    amount += form.value.costTicket;
-    amount += form.value.feeTicketNumber;
-    amount += form.value.bankCopyNumber;
-    amount += form.value.bankSlipsNumber;
-    amount += form.value.salaryTicket;
-    amount += form.value.ssafTicket;
-    amount += form.value.otherTicket;
+function computeTotal() {
+  let totalSalay = 0;
+  form.value.details.forEach((l) => {
+    totalSalay += l.actuallySalary == null ? 0 : l.actuallySalary;
+  });
+  form.value.amount = totalSalay.toFixed(2);
+}
 
-    form.value.sumNumber = amount;
-  }
+function returnStatus(status) {
+  proxy.$modal
+    .confirm("确认退回么?")
+    .then((_) => {
+      turnBackDetail(form.value).then((res) => {
+        reset();
+        getList.value();
+        close();
+      });
+    })
+    .catch((_) => {
+      proxy.$modal.msg("已取消退回");
+    });
+}
 
-  function getStatusOfSalary(arg) {
-    const index = salaryStatusTypes.findIndex((v) => v.value === arg.status);
-    return index <= 0 ? "未开始" : salaryStatusTypes[index].label;
-  }
-  // 暴露给父组件的方法
-  defineExpose({
-    open,
-  });
+function getStatusLabel(status) {
+  const index = selectStatus.value.findIndex((v) => v.value === status);
+  return index < 0 ? "未开始" : selectStatus.value[index].label;
+}
+
+function ticketNumberChange() {
+  let amount = 0;
+  amount += form.value.incomeTicket;
+  amount += form.value.costTicket;
+  amount += form.value.feeTicketNumber;
+  amount += form.value.bankCopyNumber;
+  amount += form.value.bankSlipsNumber;
+  amount += form.value.salaryTicket;
+  amount += form.value.ssafTicket;
+  amount += form.value.otherTicket;
+
+  form.value.sumNumber = amount;
+}
+
+function getStatusOfSalary(arg) {
+  const index = salaryStatusTypes.findIndex((v) => v.value === arg.status);
+  return index <= 0 ? "未开始" : salaryStatusTypes[index].label;
+}
+// 暴露给父组件的方法
+defineExpose({
+  open,
+});
 </script>