llj
2025-12-15 a0010bcabbfbc3771aa05d54094f5d02bcdd5609
src/views/component/CurrencyDialog/index.vue
@@ -10,21 +10,21 @@
      <el-card class="search-card">
        <div slot="header" class="clearfix">
          <span>查询条件</span>
          <el-button
            style="float: right; padding: 3px 0"
          <el-button
            style="float: right; padding: 3px 0"
            type="text"
            @click="toggleCollapse"
          >
            {{ collapse ? '展开' : '收起' }}
          </el-button>
        </div>
        <el-form :model="queryParams" ref="queryForm" :inline="true">
          <el-row :gutter="20">
            <el-col :span="8">
              <el-form-item label="货币代码">
                <el-input
                  v-model="queryParams.HNumber"
                <el-input
                  v-model="queryParams.HNumber"
                  placeholder="请输入货币代码"
                  clearable
                  @keyup.enter.native="handleQuery"
@@ -33,8 +33,8 @@
            </el-col>
            <el-col :span="8">
              <el-form-item label="货币名称">
                <el-input
                  v-model="queryParams.HName"
                <el-input
                  v-model="queryParams.HName"
                  placeholder="请输入货币名称"
                  clearable
                  @keyup.enter.native="handleQuery"
@@ -84,8 +84,8 @@
                </el-col>
                <el-col :span="8">
                  <el-form-item label="内容">
                    <el-input
                      v-model="queryParams.ColContent"
                    <el-input
                      v-model="queryParams.ColContent"
                      placeholder="请输入内容"
                      clearable
                      @keyup.enter.native="handleQuery"
@@ -124,7 +124,7 @@
          @selection-change="handleSelectionChange"
        >
          <el-table-column type="selection" width="55" align="center" />
          <el-table-column
          <el-table-column
            v-for="column in tableColumns"
            :key="column.field"
            :prop="column.field"
@@ -192,24 +192,24 @@
        Comparator: '0',
        ColContent: ''
      },
      tableData: [],
      tableColumns: [],
      selectedRow: null,
      multipleSelection: [],
      pagination: {
        page: 1,
        size: 50,
        total: 0
      },
      currentFilterScheme: '',
      HInterID_Choose: 0,
      hiddenFields: ["HItemID"],
      baseURL: process.env.VUE_APP_BASE_URL || 'http://47.96.97.237/API/',
      baseURL: process.env.VUE_APP_BASE_API || 'http://47.96.97.237/API/',
      user: 'admin',
      HModName: 'Gy_Currency',
      HModuleName: '货币列表维护'
@@ -245,12 +245,12 @@
      this.loadTableData()
      this.getDefaultFilterScheme()
    },
    async loadTableData() {
      this.loading = true
      try {
        const sWhere = this.buildQueryCondition()
        const response = await axios.get(`${this.baseURL}/Gy_Currency/list1`, {
          params: {
            sWhere: sWhere,
@@ -259,7 +259,7 @@
            size: this.pagination.size
          }
        })
        if (response.data.count === 1) {
          this.tableData = response.data.data
          this.pagination.total = response.data.total || response.data.data.length
@@ -274,18 +274,18 @@
        this.loading = false
      }
    },
    buildQueryCondition() {
      let sWhere = ""
      if (this.queryParams.HNumber) {
        sWhere += ` and 货币代码 like '%${this.queryParams.HNumber}%'`
      }
      if (this.queryParams.HName) {
        sWhere += ` and 货币名称 like '%${this.queryParams.HName}%'`
      }
      if (this.queryParams.ColName && this.queryParams.ColName !== "0" &&
      if (this.queryParams.ColName && this.queryParams.ColName !== "0" &&
          this.queryParams.Comparator && this.queryParams.Comparator !== "0") {
        let com = ""
        switch (this.queryParams.Comparator) {
@@ -307,24 +307,24 @@
        }
        sWhere += ` and ${this.queryParams.ColName} ${com}`
      }
      sWhere += this.addSWhereByOpenType()
      return sWhere
    },
    addSWhereByOpenType() {
      return " and 禁用标记 = '' and 审核人 != ''"
    },
    // 生成表格列
    generateTableColumns(columnList) {
      this.tableColumns = []
      // 添加选择列
      this.tableColumns.push({ type: 'selection', fixed: 'left' })
      // 动态生成列
      if (columnList && columnList.length > 0) {
        columnList.forEach(item => {
@@ -336,11 +336,11 @@
              sortable: true,
              width: 200
            }
            if (item.ColmType === 'DateTime') {
              column.formatter = this.formatDate
            }
            this.tableColumns.push(column)
          }
        })
@@ -361,13 +361,13 @@
        this.tableColumns = [...this.tableColumns, ...defaultColumns]
      }
    },
    // 查询
    handleQuery() {
      this.pagination.page = 1
      this.loadTableData()
    },
    // 重置查询
    handleReset() {
      this.queryParams = {
@@ -380,35 +380,35 @@
      this.pagination.page = 1
      this.loadTableData()
    },
    // 刷新
    handleRefresh() {
      this.loadTableData()
    },
    // 切换折叠状态
    toggleCollapse() {
      this.collapse = !this.collapse
    },
    // 行双击事件
    handleRowDblClick(row) {
      this.selectedRow = row
      this.confirmSelection()
    },
    // 行点击事件
    handleRowClick(row) {
      this.$refs.table.toggleRowSelection(row)
      this.selectedRow = row
    },
    handleCurrencyCodeClick(row) {
      console.log('点击货币代码:', row)
      this.selectedRow = row
      this.confirmSelection()
    },
    // 选择变化
    handleSelectionChange(selection) {
      this.multipleSelection = selection
@@ -416,7 +416,7 @@
        this.selectedRow = selection[0]
      }
    },
    // 确认选择
    confirmSelection() {
      if (this.selectedRow) {
@@ -430,12 +430,12 @@
        this.$message.warning('请选择一条数据')
      }
    },
    // 退出
    handleExit() {
      this.dialogVisible = false
    },
    // 关闭对话框
    handleClose(done) {
      this.$confirm('确认关闭?')
@@ -444,20 +444,20 @@
        })
        .catch(_ => {})
    },
    // 分页大小改变
    handleSizeChange(size) {
      this.pagination.size = size
      this.pagination.page = 1
      this.loadTableData()
    },
    // 当前页改变
    handleCurrentChange(page) {
      this.pagination.page = page
      this.loadTableData()
    },
    // 格式化日期
    formatDate(dateString) {
      if (!dateString) return ''
@@ -468,7 +468,7 @@
        return dateString
      }
    },
    // 获取默认过滤方案
    async getDefaultFilterScheme() {
      try {
@@ -480,12 +480,12 @@
            Type: "Default"
          }
        })
        if (response.data.count === 1) {
          const data = response.data.data[0]
          this.HInterID_Choose = data.hmainid
          this.currentFilterScheme = `当前过滤方案:${data.方案名称} (${data.备注})`
          // 应用过滤条件
          this.applyFilterConditions(response.data.data)
        }
@@ -493,7 +493,7 @@
        console.error('获取过滤方案失败:', error)
      }
    },
    // 应用过滤条件
    applyFilterConditions(filterData) {
      filterData.forEach(item => {
@@ -502,13 +502,13 @@
        }
      })
    },
    // 保存过滤方案
    handleSaveScheme() {
      // 实现保存过滤方案的逻辑
      this.$message.info('保存方案功能')
    },
    // 读取过滤方案
    handleReadScheme() {
      // 实现读取过滤方案的逻辑
@@ -565,4 +565,4 @@
  color: #fc9393;
  margin: 10px 0;
}
</style>
</style>