ly 1 vuosi sitten
vanhempi
säilyke
a4682a60ed

+ 381 - 481
src/views/business/housingFund/confirm/view.vue

@@ -1,13 +1,6 @@
 <template>
-  <el-dialog
-    title="公积金人员信息"
-    v-model="visible"
-    width="70%"
-    append-to-body
-    draggable
-    @close="close"
-    :close-on-click-modal = "false"
-  >
+  <el-dialog title="公积金人员信息" v-model="visible" width="70%" append-to-body draggable @close="close"
+    :close-on-click-modal="false">
     <!-- 功能按钮 -->
     <div style="padding: 8px 24px 16px 24px">
       <el-form size="small" label-width="120px" v-model="form">
@@ -64,58 +57,31 @@
             <div class="details-head">
               <div class="title">
                 <i class="fa fa-th-list" aria-hidden="true" /> 人员信息
-                <el-button class="button-class"
-                  size="small"
-                  @click="printSalary"
-                  icon="printer"
-                  type="primary"
-                  >打印</el-button
-                >
-                <el-button class="button-class"
-                  size="small"
-                  @click="exportSalary"
-                  icon="download"
-                  type="info"
-                  >导出</el-button
-                >
+                <el-button class="button-class" size="small" @click="printSalary" icon="printer"
+                  type="primary">打印</el-button>
+                <el-button class="button-class" size="small" @click="exportSalary" icon="download"
+                  type="info">导出</el-button>
               </div>
             </div>
             <div class="details-body">
               <div>
-                <el-table
-                  ref="sourceTable"
-                  :data="form.details"
-                  size="small"
-                  max-height="260px"
-                  border
-                  highlight-current-row
-                  header-row-class-name="list-header-row"
-                  @selection-change="handleCheckChange"
-                  @current-change="handleCurrentChange"
-                  :row-class-name="tableRowClassName"
-                >
+                <el-table ref="sourceTable" :data="form.details" size="small" max-height="260px" border
+                  highlight-current-row header-row-class-name="list-header-row" @selection-change="handleCheckChange"
+                  @current-change="handleCurrentChange" :row-class-name="tableRowClassName">
                   <el-table-column type="selection" width="40" align="center" />
-                  <el-table-column
-                    type="index"
-                    label="序号"
-                    width="55"
-                    align="center"
-                  />
+                  <el-table-column type="index" label="序号" width="55" align="center" />
                   <el-table-column label="姓名" width="80" align="center">
                     <template #default="scope">
                       <div>
                         {{ scope.row.employeeName }}
                       </div>
-                      <span
-                        style="
+                      <span style="
                           color: red;
                           position: absolute;
                           z-index: 10;
                           top: 4px;
                           right: 6px;
-                        "
-                        >*</span
-                      >
+                        ">*</span>
                     </template>
                   </el-table-column>
                   <el-table-column label="电话号" width="130" align="center">
@@ -123,74 +89,43 @@
                       <div>
                         {{ scope.row.phone }}
                       </div>
-                      <span
-                        style="
+                      <span style="
                           color: red;
                           position: absolute;
                           z-index: 10;
                           top: 4px;
                           right: 6px;
-                        "
-                        >*</span
-                      >
+                        ">*</span>
                     </template>
                   </el-table-column>
-                  <el-table-column
-                    label="身份证正面"
-                    width="120"
-                    align="center"
-                  >
+                  <el-table-column label="身份证正面" width="120" align="center">
                     <template #default="scope">
-                      <div
-                        class="show-image"
-                        style="display: flex; justify-content: center"
-                      >
-                        <img
-                          class="img"
-                          :src="baseUrl + '/' + scope.row.idCardImage"
-                          alt=""
-                          @click="handleImageView(scope.row.idCardImage)"
-                        />
+                      <div class="show-image" style="display: flex; justify-content: center">
+                        <img class="img" :src="baseUrl + '/' + scope.row.idCardImage" alt=""
+                          @click="handleImageView(scope.row.idCardImage)" />
                       </div>
-                      <span
-                        style="
+                      <span style="
                           color: red;
                           position: absolute;
                           z-index: 10;
                           top: 4px;
                           right: 6px;
-                        "
-                        >*</span
-                      >
+                        ">*</span>
                     </template>
                   </el-table-column>
-                  <el-table-column
-                    label="身份证反面"
-                    width="120"
-                    align="center"
-                  >
+                  <el-table-column label="身份证反面" width="120" align="center">
                     <template #default="scope">
-                      <div
-                        class="show-image"
-                        style="display: flex; justify-content: center"
-                      >
-                        <img
-                          class="img"
-                          :src="baseUrl + '/' + scope.row.idCardImageBack"
-                          alt=""
-                          @click="handleImageView(scope.row.idCardImageBack)"
-                        />
+                      <div class="show-image" style="display: flex; justify-content: center">
+                        <img class="img" :src="baseUrl + '/' + scope.row.idCardImageBack" alt=""
+                          @click="handleImageView(scope.row.idCardImageBack)" />
                       </div>
-                      <span
-                        style="
+                      <span style="
                           color: red;
                           position: absolute;
                           z-index: 10;
                           top: 4px;
                           right: 6px;
-                        "
-                        >*</span
-                      >
+                        ">*</span>
                     </template>
                   </el-table-column>
                   <el-table-column label="基数" width="100" align="center">
@@ -198,31 +133,25 @@
                       <div>
                         {{ rowNum(scope.row.cardinalNumber) }}
                       </div>
-                      <span
-                        style="
+                      <span style="
                           color: red;
                           position: absolute;
                           z-index: 10;
                           top: 4px;
                           right: 6px;
-                        "
-                        >*</span
-                      >
+                        ">*</span>
                     </template>
                   </el-table-column>
                   <el-table-column label="比例" width="100" align="center">
                     <template #default="scope">
                       <div>{{ scope.row.ratio }}%</div>
-                      <span
-                        style="
+                      <span style="
                           color: red;
                           position: absolute;
                           z-index: 10;
                           top: 4px;
                           right: 6px;
-                        "
-                        >*</span
-                      >
+                        ">*</span>
                     </template>
                   </el-table-column>
                   <el-table-column label="备注" header-align="center">
@@ -254,349 +183,260 @@
           </el-col>
           <el-col v-if="showVerify()" :span="24">
             <el-form-item label="备注">
-              <el-input
-                v-model.trim="form.verifyContent"
-                type="textarea"
-                rows="2"
-              />
+              <el-input v-model.trim="form.verifyContent" type="textarea" rows="2" />
             </el-form-item>
           </el-col>
         </el-row>
       </el-form>
     </div>
     <div class="form-btns-container" style="height: 40px">
-      <el-button
-        v-show="showVerify()"
-        type="danger"
-        size="small"
-        style="float: right; margin-left: 12px"
-        icon="back"
-        @click="handleVerify(4)"
-      >
-        驳回</el-button
-      >
-      <el-button
-        v-show="showVerify()"
-        type="primary"
-        size="small"
-        icon="check"
-        style="float: right; margin-left: 12px"
-        @click="handleVerify(3)"
-        >审核通过</el-button
-      >
-      <el-button
-        v-show="verifiable() && form.status === 3"
-        type="warning"
-        size="small"
-        icon="back"
-        style="float: right; margin-left: 12px"
-        @click="returnStatus()"
-        >退回</el-button
-      >
+      <el-button v-show="showVerify()" type="danger" size="small" style="float: right; margin-left: 12px" icon="back"
+        @click="handleVerify(4)">
+        驳回</el-button>
+      <el-button v-show="showVerify()" type="primary" size="small" icon="check" style="float: right; margin-left: 12px"
+        @click="handleVerify(3)">审核通过</el-button>
+      <el-button v-show="verifiable() && form.status === 3" type="warning" size="small" icon="back"
+        style="float: right; margin-left: 12px" @click="returnStatus()">退回</el-button>
     </div>
     <feedback-dialog ref="feedbackDialogView" :verify="verify" />
-    <el-image-viewer
-      v-if="showViewer"
-      :url-list="currentFileList"
-      @close="closeImages"
-      :initial-index="showIndex"
-    />
+    <el-image-viewer v-if="showViewer" :url-list="currentFileList" @close="closeImages" :initial-index="showIndex" />
 
     <!-- <print-dialog ref="printDialog" /> -->
   </el-dialog>
 </template>
 <script setup>
-import {
-  getDetail,
-  verifyDetail,
-  turnBackDetail,
-  exportHousingFundConfirmEmployee,
-  exportHousingFundConfirmPdf,
-} from "@/api/business/production/housingFundConfirm";
-import feedbackDialog from "../feedbackDialog.vue";
-import useUserStore from "@/store/modules/user";
-import { rowNum } from "@/utils/index";
-import { ref } from "vue";
-const { proxy } = getCurrentInstance();
-const visible = ref(false);
-const width = ref(800);
-const selections = ref([]);
-const currentSource = ref(null);
-
-const showViewer = ref(false);
-const currentFileList = ref([]);
-const showIndex = ref(0);
-const editStatus = ref(false);
-
-const baseUrl = ref(import.meta.env.VITE_APP_BASE_API);
-
-const permissions = useUserStore().permissions;
-const all_permission = "*:*:*";
-
-const feedbackDialogView = ref(null);
-
-const confirmChoices = ref([
-  {
-    label: "是",
-    value: 1,
-  },
-  {
-    label: "否",
-    value: 0,
-  },
-]);
-
-const props = defineProps({
-  getList: {
-    type: Function,
-    default: () => {},
-  },
-});
-
-const { getList } = toRefs(props);
-const total = ref(0);
-
-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 form = ref({
-  amount: null,
-  details: [],
-});
-
-const emptyForm = {
-  details: [],
-};
-
-function open(detail) {
-  console.log(detail);
-  visible.value = true;
-  form.value = detail;
-  loadData();
-}
-
-function loadData() {
-  getDetail(form.value).then((res) => {
-    form.value = { ...proxy.deepClone(emptyForm), ...res.data };
-    computeTotal();
+  import {
+    getDetail,
+    verifyDetail,
+    turnBackDetail,
+    exportHousingFundConfirmEmployee,
+    exportHousingFundConfirmPdf,
+  } from "@/api/business/production/housingFundConfirm";
+  import feedbackDialog from "../feedbackDialog.vue";
+  import useUserStore from "@/store/modules/user";
+  import { rowNum } from "@/utils/index";
+  import { ref } from "vue";
+  const { proxy } = getCurrentInstance();
+  const visible = ref(false);
+  const width = ref(800);
+  const selections = ref([]);
+  const currentSource = ref(null);
+
+  const showViewer = ref(false);
+  const currentFileList = ref([]);
+  const showIndex = ref(0);
+  const editStatus = ref(false);
+
+  const baseUrl = ref(import.meta.env.VITE_APP_BASE_API);
+
+  const permissions = useUserStore().permissions;
+  const all_permission = "*:*:*";
+
+  const feedbackDialogView = ref(null);
+
+  const confirmChoices = ref([
+    {
+      label: "是",
+      value: 1,
+    },
+    {
+      label: "否",
+      value: 0,
+    },
+  ]);
+
+  const props = defineProps({
+    getList: {
+      type: Function,
+      default: () => { },
+    },
+  });
+
+  const { getList } = toRefs(props);
+  const total = ref(0);
+
+  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 form = ref({
+    amount: null,
+    details: [],
   });
-}
-
-function close() {
-  visible.value = false;
-  reset();
-}
-
-function reset() {
-  form.value = proxy.deepClone(emptyForm);
-  total.value = 0;
-}
-
-//人员信息打印
-function printSalary() {
-  exportHousingFundConfirmPdf(form.value.id);
-}
-
-//人员信息导出
-function exportSalary() {
-  exportHousingFundConfirmEmployee(form.value.id);
-}
-
-function showVerify() {
-  if (
-    form.value.id == null ||
-    form.value.status === 0 ||
-    form.value.status === 3 ||
-    form.value.status === 4
-  ) {
-    return false;
-  } else if (verifiable()) {
-    return true;
-  } else {
-    return false;
+
+  const emptyForm = {
+    details: [],
+  };
+
+  function open(detail) {
+    console.log(detail);
+    visible.value = true;
+    form.value = detail;
+    loadData();
   }
-}
-
-function verifiable() {
-  // console.log(permissions)
-  // console.log(permissions)
-  return (
-    permissions.includes(all_permission) ||
-    permissions.includes("business:housingFundConfirm:verify")
-  );
-}
-
-function handleCurrentChange(row) {
-  currentSource.value = row;
-}
-
-function handleCheckChange(selection) {
-  selections.value = selection.map((item) => item);
-}
-
-function getSummaries(param) {
-  const { columns, data } = param;
-  const sums = [];
-  columns.forEach((column, index) => {
-    if (index === 0) {
-      sums[index] = "合计";
-      return;
-    } else if (index === 1) {
-      sums[index] = "";
-      return;
-    }
-    const values = data.map((item) => Number(item[column.property]));
-
-    if (!values.every((value) => isNaN(value))) {
-      sums[index] = values.reduce((prev, curr) => {
-        const value = Number(curr);
-        if (!isNaN(value)) {
-          return (Number(prev) + Number(curr)).toFixed(2);
-        } else {
-          return Number(prev).toFixed(2);
-        }
-      }, 0);
+
+  function loadData() {
+    getDetail(form.value).then((res) => {
+      form.value = { ...proxy.deepClone(emptyForm), ...res.data };
+      computeTotal();
+    });
+  }
+
+  function close() {
+    visible.value = false;
+    reset();
+  }
+
+  function reset() {
+    form.value = proxy.deepClone(emptyForm);
+    total.value = 0;
+  }
+
+  //人员信息打印
+  function printSalary() {
+    exportHousingFundConfirmPdf(form.value.id);
+  }
+
+  //人员信息导出
+  function exportSalary() {
+    exportHousingFundConfirmEmployee(form.value.id);
+  }
+
+  function showVerify() {
+    if (
+      form.value.id == null ||
+      form.value.status === 0 ||
+      form.value.status === 3 ||
+      form.value.status === 4
+    ) {
+      return false;
+    } else if (verifiable()) {
+      return true;
     } else {
-      sums[index] = "";
+      return false;
     }
-  });
-  return sums;
-}
-
-function handleVerify(status) {
-  if (status === 4) {
-    const saveValue = proxy.deepClone(form.value);
-    saveValue.status = status;
-    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 verify(data) {
-  verifyDetail(data).then((res) => {
-    reset();
-    getList.value();
-    close();
-  });
-}
-
-function rowChangeSum(row) {
-  let actuallySalary = 0;
-  actuallySalary += row.planSalary == null ? 0 : row.planSalary;
-  actuallySalary += row.bonusAmount == null ? 0 : row.bonusAmount;
-  actuallySalary -= row.endowmentInsurance == null ? 0 : row.endowmentInsurance;
-  actuallySalary -= row.medicalInsurance == null ? 0 : row.medicalInsurance;
-  actuallySalary -=
-    row.unemploymentBenefit == null ? 0 : row.unemploymentBenefit;
-  actuallySalary -=
-    row.seriousIllnessInsurance == null ? 0 : row.seriousIllnessInsurance;
-  actuallySalary -= row.housingFund == null ? 0 : row.housingFund;
-  if (form.value.hasIndividualIncomeTax === 1) {
-    actuallySalary -=
-      row.individualIncomeTaxConfirm == null
-        ? 0
-        : row.individualIncomeTaxConfirm;
-  } else {
-    actuallySalary -=
-      row.currentIndividualIncomeTax == null
-        ? 0
-        : row.currentIndividualIncomeTax;
+  function verifiable() {
+    // console.log(permissions)
+    // console.log(permissions)
+    return (
+      permissions.includes(all_permission) ||
+      // permissions.includes("business:housingFundConfirm:verify")
+      permissions.includes("business:housingFundConfirm:return")
+    );
   }
-  actuallySalary -= row.otherCut == null ? 0 : row.otherCut;
-  row.actuallySalary = actuallySalary;
-  computeTotal();
-}
-
-function computeTotal() {
-  let totalSalay = 0;
-  form.value.details.forEach((l) => {
-    totalSalay += l.actuallySalary == null ? 0 : l.actuallySalary;
-  });
-  form.value.amount = totalSalay.toFixed(2);
-}
-
-function returnStatus(status) {
-  proxy.$modal
-    .confirm("确认退回么?")
-    .then((_) => {
-      turnBackDetail(form.value).then((res) => {
-        // if (res.data.successStatus = true) {
-        //   reset()
-        //   getList.value()
-        //   close()
-        // } else {
-        //   proxy.$modal.msg(res.data.message)
-        // }
-        reset();
-        getList.value();
-        close();
-      });
-    })
-    .catch((_) => {
-      proxy.$modal.msg("已取消退回");
+
+  function handleCurrentChange(row) {
+    currentSource.value = row;
+  }
+
+  function handleCheckChange(selection) {
+    selections.value = selection.map((item) => item);
+  }
+
+  function getSummaries(param) {
+    const { columns, data } = param;
+    const sums = [];
+    columns.forEach((column, index) => {
+      if (index === 0) {
+        sums[index] = "合计";
+        return;
+      } else if (index === 1) {
+        sums[index] = "";
+        return;
+      }
+      const values = data.map((item) => Number(item[column.property]));
+
+      if (!values.every((value) => isNaN(value))) {
+        sums[index] = values.reduce((prev, curr) => {
+          const value = Number(curr);
+          if (!isNaN(value)) {
+            return (Number(prev) + Number(curr)).toFixed(2);
+          } else {
+            return Number(prev).toFixed(2);
+          }
+        }, 0);
+      } else {
+        sums[index] = "";
+      }
     });
-}
+    return sums;
+  }
+
+  function handleVerify(status) {
+    if (status === 4) {
+      const saveValue = proxy.deepClone(form.value);
+      saveValue.status = status;
+      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 changeIndividual(arg) {
-  // if (arg === 1) {
-  form.value.details.forEach((row) => {
+  function verify(data) {
+    verifyDetail(data).then((res) => {
+      reset();
+      getList.value();
+      close();
+    });
+  }
+
+  function rowChangeSum(row) {
     let actuallySalary = 0;
     actuallySalary += row.planSalary == null ? 0 : row.planSalary;
     actuallySalary += row.bonusAmount == null ? 0 : row.bonusAmount;
-    actuallySalary -=
-      row.endowmentInsurance == null ? 0 : row.endowmentInsurance;
+    actuallySalary -= row.endowmentInsurance == null ? 0 : row.endowmentInsurance;
     actuallySalary -= row.medicalInsurance == null ? 0 : row.medicalInsurance;
     actuallySalary -=
       row.unemploymentBenefit == null ? 0 : row.unemploymentBenefit;
     actuallySalary -=
       row.seriousIllnessInsurance == null ? 0 : row.seriousIllnessInsurance;
     actuallySalary -= row.housingFund == null ? 0 : row.housingFund;
-    if (arg === 1) {
+    if (form.value.hasIndividualIncomeTax === 1) {
       actuallySalary -=
         row.individualIncomeTaxConfirm == null
           ? 0
@@ -609,88 +449,148 @@ function changeIndividual(arg) {
     }
     actuallySalary -= row.otherCut == null ? 0 : row.otherCut;
     row.actuallySalary = actuallySalary;
-  });
-  computeTotal();
-}
+    computeTotal();
+  }
+
+  function computeTotal() {
+    let totalSalay = 0;
+    form.value.details.forEach((l) => {
+      totalSalay += l.actuallySalary == null ? 0 : l.actuallySalary;
+    });
+    form.value.amount = totalSalay.toFixed(2);
+  }
+
+  function returnStatus(status) {
+    proxy.$modal
+      .confirm("确认退回么?")
+      .then((_) => {
+        turnBackDetail(form.value).then((res) => {
+          // if (res.data.successStatus = true) {
+          //   reset()
+          //   getList.value()
+          //   close()
+          // } else {
+          //   proxy.$modal.msg(res.data.message)
+          // }
+          reset();
+          getList.value();
+          close();
+        });
+      })
+      .catch((_) => {
+        proxy.$modal.msg("已取消退回");
+      });
+  }
+
+  function changeIndividual(arg) {
+    // if (arg === 1) {
+    form.value.details.forEach((row) => {
+      let actuallySalary = 0;
+      actuallySalary += row.planSalary == null ? 0 : row.planSalary;
+      actuallySalary += row.bonusAmount == null ? 0 : row.bonusAmount;
+      actuallySalary -=
+        row.endowmentInsurance == null ? 0 : row.endowmentInsurance;
+      actuallySalary -= row.medicalInsurance == null ? 0 : row.medicalInsurance;
+      actuallySalary -=
+        row.unemploymentBenefit == null ? 0 : row.unemploymentBenefit;
+      actuallySalary -=
+        row.seriousIllnessInsurance == null ? 0 : row.seriousIllnessInsurance;
+      actuallySalary -= row.housingFund == null ? 0 : row.housingFund;
+      if (arg === 1) {
+        actuallySalary -=
+          row.individualIncomeTaxConfirm == null
+            ? 0
+            : row.individualIncomeTaxConfirm;
+      } else {
+        actuallySalary -=
+          row.currentIndividualIncomeTax == null
+            ? 0
+            : row.currentIndividualIncomeTax;
+      }
+      actuallySalary -= row.otherCut == null ? 0 : row.otherCut;
+      row.actuallySalary = actuallySalary;
+    });
+    computeTotal();
+  }
 
-function passwordCheckHandler(value, field) {
-  // console.log(value)
-  if (!passwordCheck(form.value[field])) {
-    proxy.$modal.msgError("请输入正确密码");
+  function passwordCheckHandler(value, field) {
+    // console.log(value)
+    if (!passwordCheck(form.value[field])) {
+      proxy.$modal.msgError("请输入正确密码");
+    }
   }
-}
 
-function handleImageView(fileUrl) {
-  window.open(`${baseUrl.value}${fileUrl}`);
-}
+  function handleImageView(fileUrl) {
+    window.open(`${baseUrl.value}${fileUrl}`);
+  }
 
-function closeImages() {
-  showViewer.value = false;
-}
+  function closeImages() {
+    showViewer.value = false;
+  }
 
-function amountChange() {
-  let amount = 0;
-  if (form.value.details.length > 0) {
-    for (let i = 0; i < form.value.details.length; i++) {
-      amount = amount + form.value.details[i].arriveAmount;
+  function amountChange() {
+    let amount = 0;
+    if (form.value.details.length > 0) {
+      for (let i = 0; i < form.value.details.length; i++) {
+        amount = amount + form.value.details[i].arriveAmount;
+      }
+      // 判断到款状态
+      form.value.arriveAmount = amount;
+      if (form.value.arriveAmount > 0)
+        form.value.arriveStatus =
+          form.value.arriveAmount === form.value.amount ? 1 : 2;
+      else form.value.arriveStatus = 0;
     }
-    // 判断到款状态
-    form.value.arriveAmount = amount;
-    if (form.value.arriveAmount > 0)
-      form.value.arriveStatus =
-        form.value.arriveAmount === form.value.amount ? 1 : 2;
-    else form.value.arriveStatus = 0;
   }
-}
-
-function tableRowClassName({ row, index }) {
-  if (row.changeStatus === 1) {
-    return "list-row add-row";
-  } else if (row.changeStatus === 2) {
-    return "list-row delete-row";
-  } else {
-    return "list-row";
+
+  function tableRowClassName({ row, index }) {
+    if (row.changeStatus === 1) {
+      return "list-row add-row";
+    } else if (row.changeStatus === 2) {
+      return "list-row delete-row";
+    } else {
+      return "list-row";
+    }
   }
-}
 
-// 暴露给父组件的方法
-defineExpose({
-  open,
-});
+  // 暴露给父组件的方法
+  defineExpose({
+    open,
+  });
 </script>
 <style scoped>
-.img {
-  width: 23px;
-  height: 23px;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-}
-
-.button-class{
+  .img {
+    width: 23px;
+    height: 23px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+  }
+
+  .button-class {
     margin-top: 15px;
     margin-bottom: 15px;
-}
-
-::v-deep(.el-upload) {
-  display: flex;
-  text-align: center;
-  justify-content: center;
-  cursor: pointer;
-  outline: 0;
-}
-
-.required::after {
-  content: "*";
-  color: red;
-}
+  }
+
+  ::v-deep(.el-upload) {
+    display: flex;
+    text-align: center;
+    justify-content: center;
+    cursor: pointer;
+    outline: 0;
+  }
+
+  .required::after {
+    content: "*";
+    color: red;
+  }
 </style>
 <style>
-.el-table .delete-row {
-  background-color: rgb(251, 159, 173);
-}
+  .el-table .delete-row {
+    background-color: rgb(251, 159, 173);
+  }
 
-.el-table .add-row {
-  background-color: rgb(184, 234, 147);
-}
+  .el-table .add-row {
+    background-color: rgb(184, 234, 147);
+  }
 </style>

+ 2 - 1
src/views/business/production/keepAccount/view.vue

@@ -255,7 +255,8 @@ function showVerify() {
 function verifiable() {
   return (
     permissions.includes(all_permission) ||
-    permissions.includes("business:keepAccount:verify")
+    // permissions.includes("business:keepAccount:verify")
+    permissions.includes("business:keepAccount:return")
   );
 }
 

+ 3 - 4
src/views/business/production/receiveTicket/view.vue

@@ -373,11 +373,10 @@ function showVerify() {
 }
 
 function verifiable() {
-  // console.log(permissions)
-  // console.log(permissions)
   return (
-    permissions.includes(all_permission) ||
-    permissions.includes("business:salary:verify")
+    permissions.includes(all_permission) || 
+    // permissions.includes("business:salary:verify")
+    permissions.includes("business:salary:return")
   );
 }
 

+ 30 - 24
src/views/business/production/salaryZero/index.vue

@@ -17,14 +17,13 @@
       </el-dropdown>
     </div>
     <!-- 搜索区 -->
-    <el-form class="list-search-container" :model="queryParams" ref="queryRef" :inline="true"
-    label-width="68px">
+    <el-form class="list-search-container" :model="queryParams" ref="queryRef" :inline="true" label-width="68px">
       <el-form-item label="客户名称:" prop="companyName">
-        <el-input v-model="queryParams.companyName" size="small"  placeholder="请输入客户名称" clearable style="width: 130px"
+        <el-input v-model="queryParams.companyName" size="small" placeholder="请输入客户名称" clearable style="width: 130px"
           @keyup.enter="handleQuery" />
       </el-form-item>
       <el-form-item label="客户标签:">
-        <el-select size="small"  v-model="queryParams.customerLabelId" style="width: 130px" clearable>
+        <el-select size="small" v-model="queryParams.customerLabelId" style="width: 130px" clearable>
           <el-option v-for="item in options" :key="item.id" :label="item.lable" :value="item.id" />
         </el-select>
       </el-form-item>
@@ -35,40 +34,43 @@
         </el-select>
       </el-form-item>
       <el-form-item label="状态:">
-        <el-select  v-model.trim="queryParams.status" prop="status" size="small" type="text" placeholder="状态"
+        <el-select v-model.trim="queryParams.status" prop="status" size="small" type="text" placeholder="状态"
           :clearable="true" style="width: 130px" @clear="clearStatus">
           <el-option v-for="item in selectStatus" :key="item.value" :label="item.label" :value="item.value" />
         </el-select>
       </el-form-item>
       <el-form-item label="审核人:" prop="verifierName">
-        <el-input size="small"  v-model="queryParams.verifierName" placeholder="请输入审核人" clearable style="width: 130px"
+        <el-input size="small" v-model="queryParams.verifierName" placeholder="请输入审核人" clearable style="width: 130px"
           @keyup.enter="handleQuery" />
       </el-form-item>
 
       <el-form-item prop="dateFilter" label="审核时间:">
-        <el-date-picker size="small"  v-model="queryParams.dateFilter" type="daterange" clearable  
-            format="YYYY - MM - DD " value-format="YYYY-MM-DD" range-separator="至" start-placeholder="业务日期"
-            end-placeholder="业务日期" style="width: 70%;"></el-date-picker>
-    </el-form-item>
+        <el-date-picker size="small" v-model="queryParams.dateFilter" type="daterange" clearable
+          format="YYYY - MM - DD " value-format="YYYY-MM-DD" range-separator="至" start-placeholder="业务日期"
+          end-placeholder="业务日期" style="width: 70%;"></el-date-picker>
+      </el-form-item>
       <!-- <el-form-item v-if="tenant.versionId !== '4'" label="是否自己负责:"  v-hasPermi="['business:wage:person']">
         <el-switch v-model="oneself" @change="handleOneself" />
       </el-form-item> -->
       <el-form-item>
-        <el-button type="primary"  size="small"  icon="Search" @click="handleQuery">搜索</el-button>
-        <el-button icon="operation"  size="small" @click="moreSearch = true">更多</el-button>
-        <el-button icon="Refresh"  size="small"  @click="resetQuery">重置</el-button>
+        <el-button type="primary" size="small" icon="Search" @click="handleQuery">搜索</el-button>
+        <el-button icon="operation" size="small" @click="moreSearch = true">更多</el-button>
+        <el-button icon="Refresh" size="small" @click="resetQuery">重置</el-button>
       </el-form-item>
     </el-form>
-    <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick" v-if="flag">
-      <el-tab-pane label="全部" name="first">
+    <div v-if="flag && flag2 && tenant.versionId !== '4'">
+      <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
+        <el-tab-pane label="全部" name="first">
+
+        </el-tab-pane>
 
-      </el-tab-pane>
+        <el-tab-pane label="我的" name="second">
 
-      <el-tab-pane label="我的" name="second">
 
+        </el-tab-pane>
+      </el-tabs>
+    </div>
 
-      </el-tab-pane>
-    </el-tabs>
     <!-- 列表区 -->
     <el-table v-loading="loading" :data="list" size="small" border height="100%"
       @selection-change="handleSelectionChange">
@@ -93,7 +95,7 @@
       </el-table-column>
       <el-table-column label="来源" align="center" prop="fromCompanyName" min-width="100" />
       <el-table-column label="纳税性质" align="center" min-width="130" prop="taxType" />
-   
+
       <el-table-column label="所属期" min-width="90" align="center">
         <template #default="scope">
           <!-- {{ moment().subtract(1, "month").format("YYYY年MM月") }} -->
@@ -144,10 +146,11 @@
           </template>
         </el-table-column>
       </el-table-column>
-      <el-table-column label="执行人" align="center" prop="serviceName" min-width="100"/>
-      <el-table-column label="审核人" align="center" prop="verifierName" min-width="100"/>
-      <el-table-column label="审核时间" align="center" prop="verifierTime" min-width="100" :show-overflow-tooltip="true"/>
-      <el-table-column label="税号" align="center" prop="socialCreditCode" min-width="150" :show-overflow-tooltip="true"/>
+      <el-table-column label="执行人" align="center" prop="serviceName" min-width="100" />
+      <el-table-column label="审核人" align="center" prop="verifierName" min-width="100" />
+      <el-table-column label="审核时间" align="center" prop="verifierTime" min-width="100" :show-overflow-tooltip="true" />
+      <el-table-column label="税号" align="center" prop="socialCreditCode" min-width="150"
+        :show-overflow-tooltip="true" />
     </el-table>
     <!-- 分页 -->
     <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
@@ -312,6 +315,7 @@
   });
   const { selectStatus, selectMonths } = toRefs(data);
   const flag = ref(checkPermission(['business:wage:person']))
+  const flag2 = ref(checkPermission(['business:wage:myself']))
   const formDialogRef = ref(null);
   const viewDialogRef = ref(null);
   const activeName = flag.value ? ref('first') : ref('second');
@@ -389,6 +393,8 @@
         all_permission === permission || templatePermission.includes(permission)
       );
     });
+    console.log(23123, hasPermissions);
+
     return hasPermissions;
   }
   /** 搜索按钮操作 */

+ 2 - 1
src/views/business/socialSecurity/confirm/view.vue

@@ -395,7 +395,8 @@
   function verifiable() {
     return (
       permissions.includes(all_permission) ||
-      permissions.includes("business:socialSecurityConfirm:verify")
+      // permissions.includes("business:socialSecurityConfirm:verify")
+      permissions.includes("business:socialSecurityConfirm:return")
     );
   }