lxf vor 1 Jahr
Ursprung
Commit
2e75701720

+ 249 - 2
src/components/process/SendFunds.vue

@@ -38,13 +38,18 @@
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="6">
-          <el-form-item label="关联预支" prop="advanceId" v-if="formData.data.type === '3'">
+        <el-col :span="6" v-if="formData.data.type === '3'">
+          <el-form-item label="关联预支" prop="advanceId">
             <el-select v-model="formData.data.advanceId" placeholder="请选择" filterable style="width: 100%" @change="changeAdvanceId">
               <el-option v-for="item in advanceList" :label="item.createTime.substr(0, 10) + '  ' + item.currency + item.total" :value="item.id"> </el-option>
             </el-select>
           </el-form-item>
         </el-col>
+        <el-col :span="6" v-if="formData.data.type === '3'">
+          <el-form-item label="  ">
+            <el-button type="primary" @click="clickPrint" text>查看</el-button>
+          </el-form-item>
+        </el-col>
       </el-row>
       <el-row>
         <el-col :span="6">
@@ -187,6 +192,213 @@
         </el-col>
       </el-row>
     </el-form>
+
+    <el-dialog title="查看" v-if="openPrint" v-model="openPrint" width="680px">
+      <div id="pdfDom" style="width: 616px">
+        <div style="margin: 16px 8px; border: 1px solid black; font-size: 12px !important; color: black">
+          <div style="font-size: 16px; font-weight: 700; text-align: center; padding: 8px">
+            <span>{{ printDetails.corporationName }}</span>
+            <span style="margin-left: 16px">{{ dictDataEcho(printDetails.type, fundsType) }}审批单</span>
+          </div>
+          <div class="baseRow"></div>
+          <div class="baseRow" style="display: flex">
+            <div class="contentRow" style="width: 80px">请款部门</div>
+            <div class="contentRow" style="width: calc(50% - 80px)">
+              {{ printDetails.deptName }}
+            </div>
+            <div class="contentRow" style="width: 80px">货币</div>
+            <div class="contentRow" style="width: calc(50% - 80px)">
+              {{ dictDataEcho(printDetails.currency, currencyType) }}
+            </div>
+          </div>
+          <div class="baseRow" style="display: flex">
+            <div class="contentRow" style="width: 80px">请款时间</div>
+            <div class="contentRow" style="width: calc(50% - 80px)">
+              {{ printDetails.createTime }}
+            </div>
+            <div class="contentRow" style="width: 80px">发票类型</div>
+            <div class="contentRow" style="width: calc(50% - 80px)"></div>
+          </div>
+          <div class="baseRow" style="display: flex" v-if="printDetails.type == '3'">
+            <div class="contentRow" style="width: 80px">预支单</div>
+            <div class="contentRow" style="width: calc(100% - 80px)">
+              {{ printDetails.advanceText }}
+            </div>
+          </div>
+          <div class="baseRow" style="display: flex">
+            <div class="contentRow" style="width: 80px">请款说明</div>
+            <div class="contentRow" style="width: calc(100% - 80px)">
+              {{ printDetails.paymentRemarks }}
+            </div>
+          </div>
+          <div class="baseRow" style="display: flex">
+            <div class="contentRow" style="width: 80px">凭证</div>
+            <div class="contentRow" style="width: calc(100% - 80px)"></div>
+          </div>
+          <div class="specialRow">
+            <span>请款明细</span>
+          </div>
+          <div v-if="printDetails.type == '3'">
+            <div v-if="printDetails.accountRequestFundsDetailList && printDetails.accountRequestFundsDetailList.length > 0">
+              <div class="baseRow" style="display: flex">
+                <div class="contentRow" style="width: 17%">费用类型</div>
+                <div class="contentRow" style="width: 17%">关联合同</div>
+                <div class="contentRow" style="width: 17%">预支金额</div>
+                <div class="contentRow" style="width: 32%">核销说明</div>
+                <div class="contentRow" style="width: 17%">核销金额</div>
+              </div>
+              <div v-for="item in printDetails.accountRequestFundsDetailList" :key="item.id">
+                <div class="baseRow" style="display: flex">
+                  <div class="contentRow" style="width: 17%">
+                    {{ dictDataEcho(item.costType, fundsCostType) }}
+                  </div>
+                  <div class="contentRow" style="width: 17%">
+                    {{ item.contractCode }}
+                  </div>
+                  <div class="contentRow" style="width: 17%">
+                    {{ item.advanceAmount }}
+                  </div>
+                  <div class="contentRow" style="width: 32%">
+                    {{ item.remarks }}
+                  </div>
+                  <div class="contentRow" style="width: 17%">
+                    {{ item.amount }}
+                  </div>
+                </div>
+              </div>
+            </div>
+            <div v-else>
+              <div class="baseRow" style="display: flex">
+                <div class="contentRow" style="width: 17%">费用类型</div>
+                <div class="contentRow" style="width: 17%">关联合同</div>
+                <div class="contentRow" style="width: 17%">预支金额</div>
+                <div class="contentRow" style="width: 32%">核销说明</div>
+                <div class="contentRow" style="width: 17%">核销金额</div>
+              </div>
+              <div class="baseRow" style="display: flex">
+                <div class="contentRow" style="width: 17%"></div>
+                <div class="contentRow" style="width: 17%"></div>
+                <div class="contentRow" style="width: 17%"></div>
+                <div class="contentRow" style="width: 32%"></div>
+                <div class="contentRow" style="width: 17%"></div>
+              </div>
+            </div>
+            <div class="baseRow" style="display: flex">
+              <div class="contentRow" style="width: 80px">预支总额</div>
+              <div class="contentRow" style="width: calc(50% - 80px)">{{ printDetails.advanceAmounts }}</div>
+              <div class="contentRow" style="width: 80px">核销总额</div>
+              <div class="contentRow" style="width: calc(50% - 80px)">{{ printDetails.total }}</div>
+            </div>
+            <div class="baseRow" style="display: flex">
+              <div class="contentRow" style="width: 80px">差额</div>
+              <div class="contentRow" style="width: calc(50% - 80px)"></div>
+              <div class="contentRow" style="width: 80px">单证数量</div>
+              <div class="contentRow" style="width: calc(50% - 80px)">{{ printDetails.quantity }}</div>
+            </div>
+          </div>
+          <div v-else>
+            <div v-if="printDetails.accountRequestFundsDetailList && printDetails.accountRequestFundsDetailList.length > 0">
+              <div class="baseRow" style="display: flex">
+                <div class="contentRow" style="width: 25%">费用类型</div>
+                <div class="contentRow" style="width: 25%">关联合同</div>
+                <div class="contentRow" style="width: 25%">款项说明</div>
+                <div class="contentRow" style="width: 25%">请款金额</div>
+              </div>
+              <div v-for="item in printDetails.accountRequestFundsDetailList" :key="item.id">
+                <div class="baseRow" style="display: flex">
+                  <div class="contentRow" style="width: 25%">
+                    {{ dictDataEcho(item.costType, fundsCostType) }}
+                  </div>
+                  <div class="contentRow" style="width: 25%">
+                    {{ item.contractCode }}
+                  </div>
+                  <div class="contentRow" style="width: 25%">
+                    {{ item.remarks }}
+                  </div>
+                  <div class="contentRow" style="width: 25%">
+                    {{ item.amount }}
+                  </div>
+                </div>
+              </div>
+            </div>
+            <div v-else>
+              <div class="baseRow" style="display: flex">
+                <div class="contentRow" style="width: 25%">费用类型</div>
+                <div class="contentRow" style="width: 25%">关联合同</div>
+                <div class="contentRow" style="width: 25%">款项说明</div>
+                <div class="contentRow" style="width: 25%">请款金额</div>
+              </div>
+              <div class="baseRow" style="display: flex">
+                <div class="contentRow" style="width: 25%"></div>
+                <div class="contentRow" style="width: 25%"></div>
+                <div class="contentRow" style="width: 25%"></div>
+                <div class="contentRow" style="width: 25%"></div>
+              </div>
+            </div>
+            <div class="baseRow" style="display: flex">
+              <div class="contentRow" style="width: 80px">请款总额</div>
+              <div class="contentRow" style="width: calc(50% - 80px)">
+                {{ printDetails.total }}
+              </div>
+              <div class="contentRow" style="width: 80px">单证数量</div>
+              <div class="contentRow" style="width: calc(50% - 80px)">
+                {{ printDetails.quantity }}
+              </div>
+            </div>
+          </div>
+          <div class="specialRow">
+            <span>付款明细</span>
+          </div>
+          <div class="baseRow" style="display: flex">
+            <div class="contentRow" style="width: 80px">付款方式</div>
+            <div class="contentRow" style="width: calc(50% - 80px)">
+              {{ dictDataEcho(printDetails.paymentMethod, fundsPaymentMethod) }}
+            </div>
+            <div class="contentRow" style="width: 80px">付款账户</div>
+            <div class="contentRow" style="width: calc(50% - 80px)">
+              {{ dictValueLabel(printDetails.accountManagementId, accountData) }}
+            </div>
+          </div>
+          <div class="baseRow" style="display: flex">
+            <div class="contentRow" style="width: 80px">户名</div>
+            <div class="contentRow" style="width: calc(50% - 80px)">
+              {{ printDetails.name }}
+            </div>
+            <div class="contentRow" style="width: 80px">开户银行</div>
+            <div class="contentRow" style="width: calc(50% - 80px)">
+              {{ printDetails.openingBank }}
+            </div>
+          </div>
+          <div class="baseRow" style="display: flex">
+            <div class="contentRow" style="width: 80px">账号</div>
+            <div class="contentRow" style="width: calc(50% - 80px)">
+              {{ printDetails.accountOpening }}
+            </div>
+            <div class="contentRow" style="width: 80px">联行号</div>
+            <div class="contentRow" style="width: calc(50% - 80px)">
+              {{ printDetails.interbankNumber }}
+            </div>
+          </div>
+          <div class="specialRow">
+            <span>审批记录</span>
+          </div>
+          <template v-if="printDetails.recordList && printDetails.recordList.length > 0">
+            <div class="baseRow" style="display: flex" v-for="(item, index) in printDetails.recordList" :key="index">
+              <div class="contentRow" style="width: 80px">{{ item.nodeName }}</div>
+              <div class="contentRow" style="width: calc(100% - 330px)">
+                <span v-if="item.remark">{{ item.remark }}</span>
+              </div>
+              <div class="contentRow" style="width: 110px">{{ item.processedUser }}</div>
+              <div class="contentRow" style="width: 140px">{{ item.processedDate }}</div>
+            </div>
+          </template>
+        </div>
+      </div>
+      <template #footer>
+        <el-button @click="openPrint = false" size="large">取消</el-button>
+        <el-button type="primary" @click="clickDownload()" size="large">下载PDF</el-button>
+      </template>
+    </el-dialog>
   </div>
 </template>
 
@@ -457,9 +669,17 @@ const changeType = () => {
     }
   }
 };
+const openPrint = ref(false);
+const printDetails = ref({});
 const changeAdvanceId = (val) => {
   if (val) {
     proxy.post("/accountRequestFunds/detail", { id: val }).then((res) => {
+      printDetails.value = res;
+      if (res.flowInfoId) {
+        proxy.post("/flowExample/getApprovalRecord", { id: res.flowInfoId }).then((record) => {
+          printDetails.value.recordList = record.recordList;
+        });
+      }
       formData.data.departmentId = res.departmentId;
       formData.data.currency = res.currency;
       formData.data.paymentRemarks = res.paymentRemarks;
@@ -496,6 +716,16 @@ const changeAdvanceId = (val) => {
     });
   }
 };
+const clickDownload = () => {
+  proxy.getPdf("请款PDF文件");
+};
+const clickPrint = () => {
+  if (formData.data.advanceId) {
+    openPrint.value = true;
+  } else {
+    ElMessage("请选择关联预支");
+  }
+};
 </script>
 
 <style lang="scss" scoped>
@@ -506,4 +736,21 @@ const changeAdvanceId = (val) => {
 ::v-deep(.el-input-number .el-input__inner) {
   text-align: left;
 }
+.baseRow {
+  min-height: 24px;
+  border-top: 1px solid black;
+}
+.contentRow {
+  border-right: 1px solid black;
+  line-height: 24px;
+  padding-left: 4px;
+}
+.specialRow {
+  font-size: 14px;
+  font-weight: 700;
+  text-align: center;
+  border-top: 1px solid black;
+  height: 30px;
+  line-height: 30px;
+}
 </style>

+ 1 - 1
src/views/EHSD/procurement/profitBudgetEHSD/index.vue

@@ -373,7 +373,7 @@ const handleSizeChange = (val) => {
   getList();
 };
 const handlePageChange = (val) => {
-  sourceList.value.pagination.pageSize = val;
+  sourceList.value.pagination.pageNum = val;
   getList();
 };
 const dialogVisible = ref(false);

+ 1 - 1
src/views/EHSD/procurement/profitSettlementEHSD/index.vue

@@ -167,7 +167,7 @@ const handleSizeChange = (val) => {
   getList();
 };
 const handlePageChange = (val) => {
-  sourceList.value.pagination.pageSize = val;
+  sourceList.value.pagination.pageNum = val;
   getList();
 };
 const formOption = reactive({

+ 11 - 6
src/views/finance/fundManage/funds/index.vue

@@ -23,7 +23,7 @@
       </byTable>
     </div>
 
-    <el-dialog title="打印" v-if="openPrint" v-model="openPrint" width="680px" v-loading="loadingPrint">
+    <el-dialog title="打印" v-if="openPrint" v-model="openPrint" width="680px">
       <div id="pdfDom" style="width: 616px">
         <div style="margin: 16px 8px; border: 1px solid black; font-size: 12px !important; color: black">
           <div style="font-size: 16px; font-weight: 700; text-align: center; padding: 8px">
@@ -51,7 +51,9 @@
           </div>
           <div class="baseRow" style="display: flex" v-if="printDetails.type == '3'">
             <div class="contentRow" style="width: 80px">预支单</div>
-            <div class="contentRow" style="width: calc(100% - 80px)"></div>
+            <div class="contentRow" style="width: calc(100% - 80px)">
+              {{ printDetails.advanceText }}
+            </div>
           </div>
           <div class="baseRow" style="display: flex">
             <div class="contentRow" style="width: 80px">请款说明</div>
@@ -469,16 +471,19 @@ const getDictData = () => {
 getDictData();
 getList();
 const openPrint = ref(false);
-const loadingPrint = ref(false);
 const printDetails = ref({});
 const clickPrint = (row) => {
-  loadingPrint.value = true;
   openPrint.value = true;
   proxy.post("/accountRequestFunds/detail", { id: row.id }).then((res) => {
     printDetails.value = res;
-    proxy.post("/flowExample/getApprovalRecord", { id: row.flowInfoId }).then((res) => {
-      printDetails.value.recordList = res.recordList;
+    proxy.post("/flowExample/getApprovalRecord", { id: row.flowInfoId }).then((record) => {
+      printDetails.value.recordList = record.recordList;
     });
+    if (printDetails.value.type == "3" && printDetails.value.advanceId) {
+      proxy.post("/accountRequestFunds/detail", { id: printDetails.value.advanceId }).then((advance) => {
+        printDetails.value.advanceText = advance.createTime.substr(0, 10) + "  " + advance.currency + advance.total;
+      });
+    }
   });
 };
 const clickDownload = () => {

+ 1 - 1
src/views/purchaseManage/purchaseManage/purchaseDocumentary/index.vue

@@ -230,7 +230,7 @@ const handleSizeChange = (val) => {
   getList();
 };
 const handlePageChange = (val) => {
-  sourceList.value.pagination.pageSize = val;
+  sourceList.value.pagination.pageNum = val;
   getList();
 };
 const selectRegion = (item) => {

+ 1 - 1
src/views/salesMange/saleContract/salesDocumentary/index.vue

@@ -230,7 +230,7 @@ const handleSizeChange = (val) => {
   getList();
 };
 const handlePageChange = (val) => {
-  sourceList.value.pagination.pageSize = val;
+  sourceList.value.pagination.pageNum = val;
   getList();
 };
 const selectRegion = (item) => {

+ 1 - 1
src/views/salesMange/salesMange/performance/index.vue

@@ -414,7 +414,7 @@ const handleSizeChange = (val) => {
   getList();
 };
 const handlePageChange = (val) => {
-  sourceList.value.pagination.pageSize = val;
+  sourceList.value.pagination.pageNum = val;
   getList();
 };
 const dialogVisible = ref(false);

+ 1 - 1
src/views/salesMange/salesMange/profitSettlement/index.vue

@@ -261,7 +261,7 @@ const handleSizeChange = (val) => {
   getList();
 };
 const handlePageChange = (val) => {
-  sourceList.value.pagination.pageSize = val;
+  sourceList.value.pagination.pageNum = val;
   getList();
 };
 const dialogVisible = ref(false);