Browse Source

资金流水页面优化

lxf 1 year ago
parent
commit
2a47973a3b
1 changed files with 142 additions and 0 deletions
  1. 142 0
      src/views/finance/fundManage/flow/index.vue

+ 142 - 0
src/views/finance/fundManage/flow/index.vue

@@ -18,6 +18,7 @@
             action: () => deriveExcel(),
             action: () => deriveExcel(),
           },
           },
         ]"
         ]"
+        @moreSearch="moreSearch"
         @get-list="getList">
         @get-list="getList">
         <template #amount="{ item }">
         <template #amount="{ item }">
           <div :style="'color: ' + (item.status === '10' ? '#04cb04;' : 'red;')">
           <div :style="'color: ' + (item.status === '10' ? '#04cb04;' : 'red;')">
@@ -83,6 +84,55 @@
         <el-button type="primary" @click="submitForm()" size="large">确 定</el-button>
         <el-button type="primary" @click="submitForm()" size="large">确 定</el-button>
       </template>
       </template>
     </el-dialog>
     </el-dialog>
+
+    <el-dialog title="高级检索" v-if="openSearch" v-model="openSearch" width="600">
+      <byForm :formConfig="formSearchConfig" :formOption="formOption" v-model="sourceList.pagination">
+        <template #money>
+          <div style="width: 100%">
+            <el-row :gutter="10">
+              <el-col :span="11">
+                <el-input-number
+                  onmousewheel="return false;"
+                  v-model="sourceList.pagination.beginAmount"
+                  placeholder="请输入"
+                  style="width: 100%"
+                  :precision="0"
+                  :controls="false"
+                  :min="2" />
+              </el-col>
+              <el-col :span="2" style="text-align: center">到</el-col>
+              <el-col :span="11">
+                <el-input-number
+                  onmousewheel="return false;"
+                  v-model="sourceList.pagination.endAmount"
+                  placeholder="请输入"
+                  style="width: 100%"
+                  :precision="0"
+                  :controls="false"
+                  :min="2" />
+              </el-col>
+            </el-row>
+          </div>
+        </template>
+        <template #time>
+          <div style="width: 100%">
+            <el-row :gutter="10">
+              <el-col :span="11">
+                <el-date-picker v-model="sourceList.pagination.startTime" type="datetime" placeholder="请选择" value-format="YYYY-MM-DD HH:mm:ss" />
+              </el-col>
+              <el-col :span="2" style="text-align: center">到</el-col>
+              <el-col :span="11">
+                <el-date-picker v-model="sourceList.pagination.stopTime" type="datetime" placeholder="请选择" value-format="YYYY-MM-DD HH:mm:ss" />
+              </el-col>
+            </el-row>
+          </div>
+        </template>
+      </byForm>
+      <template #footer>
+        <el-button @click="cancelSearch()" size="large">取 消</el-button>
+        <el-button type="primary" @click="submitSearch()" size="large">确 定</el-button>
+      </template>
+    </el-dialog>
   </div>
   </div>
 </template>
 </template>
 
 
@@ -127,6 +177,12 @@ const sourceList = ref({
     accountManagementId: "",
     accountManagementId: "",
     currency: "",
     currency: "",
     status: "",
     status: "",
+    received: "",
+    beginAmount: undefined,
+    endAmount: undefined,
+    startTime: "",
+    stopTime: "",
+    remarks: "",
   },
   },
 });
 });
 const loading = ref(false);
 const loading = ref(false);
@@ -160,6 +216,13 @@ const config = computed(() => {
     },
     },
     {
     {
       attrs: {
       attrs: {
+        label: "归属公司",
+        prop: "corporationName",
+        width: 160,
+      },
+    },
+    {
+      attrs: {
         label: "交易时间",
         label: "交易时间",
         prop: "transactionTime",
         prop: "transactionTime",
         width: 160,
         width: 160,
@@ -450,6 +513,85 @@ const exportData = (res, name) => {
     navigator.msSaveBlob(blob, fileName);
     navigator.msSaveBlob(blob, fileName);
   }
   }
 };
 };
+const openSearch = ref(false);
+const formSearchConfig = computed(() => {
+  return [
+    {
+      type: "select",
+      prop: "accountManagementId",
+      label: "资金账户",
+      data: accountList.value,
+      clearable: true,
+    },
+    {
+      type: "select",
+      prop: "status",
+      label: "交易类型",
+      data: status.value,
+      itemWidth: 50,
+      clearable: true,
+    },
+    {
+      type: "select",
+      prop: "received",
+      label: "是否合同到账",
+      data: received.value,
+      itemWidth: 50,
+      clearable: true,
+    },
+    {
+      type: "select",
+      prop: "currency",
+      label: "币种",
+      data: accountCurrency.value,
+      clearable: true,
+    },
+    {
+      type: "slot",
+      slotName: "money",
+      label: "交易金额",
+    },
+    {
+      type: "slot",
+      slotName: "time",
+      label: "交易时间",
+    },
+    {
+      type: "input",
+      prop: "remarks",
+      label: "摘要",
+      itemType: "text",
+    },
+  ];
+});
+let copySearch = ref({});
+const moreSearch = () => {
+  copySearch.value = proxy.deepClone(sourceList.value.pagination);
+  openSearch.value = true;
+};
+const cancelSearch = () => {
+  sourceList.value.pagination = copySearch.value;
+  openSearch.value = false;
+};
+const submitSearch = () => {
+  if (
+    sourceList.value.pagination.beginAmount &&
+    sourceList.value.pagination.endAmount &&
+    Number(sourceList.value.pagination.beginAmount) > Number(sourceList.value.pagination.endAmount)
+  ) {
+    return ElMessage("交易金额输入错误");
+  }
+  if (
+    sourceList.value.pagination.startTime &&
+    sourceList.value.pagination.stopTime &&
+    sourceList.value.pagination.startTime > sourceList.value.pagination.stopTime
+  ) {
+    return ElMessage("开始时间不能大于结束时间");
+  }
+  openSearch.value = false;
+  sourceList.value.pagination.pageNum = 1;
+  getList();
+};
 </script>
 </script>
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>