<template>
  <div class="dialog" v-if="dialogForm">
    <div class="head_box">
      <span class="title">交易物品信息详情</span>
      <div>
        <el-button size="small" @click="close">关闭</el-button>
      </div>
    </div>
    <div class="cntinfo">
      <el-form :model="listQuery" :label-width="230" label-position="left">
        <div class="form-row">
          <el-form-item label="业务流水号码">
            <el-input v-model="listQuery.businessNo" placeholder="011022" />
          </el-form-item>
          <el-form-item label="交易物品名称">
            <el-input
              v-model="listQuery.goodsName"
              placeholder="2025/1/20 10:00:00"
            />
          </el-form-item>
        </div>
        <el-form-item label="金额">
          <el-input
            v-model="listQuery.goodsPrice"
            placeholder="2025/1/20 10:00:00"
          />
        </el-form-item>
        <el-form-item label="物品相片">
          <div class="image-group">
            <div
              class="image-item"
              v-for="(item, index) in listQuery.goodsImages"
              :key="index"
            >
              <el-image :src="item.img" fit="cover"></el-image>
            </div>
          </div>
        </el-form-item>
        <el-form-item label="简单描述">
          <el-input v-model="listQuery.goodsDesc" placeholder="" />
        </el-form-item>
      </el-form>
    </div>
  </div>
</template>

<script setup>
import { ref, reactive } from "vue";
import { Plus } from "@element-plus/icons-vue";

const dialogForm = ref(false);
const activeName = ref("basic");
const title = ref("详情");
const listQuery = ref({
  businessNo: "",
  goodsName: "",
  goodsPrice: "",
  goodsDesc: "",
  goodsImages: [
    { img: require("@/assets/images/person.png") },
    { img: require("@/assets/images/person.png") },
    { img: require("@/assets/images/person.png") }
  ]
});

// 初始化数据
const init = (type, row) => {
  dialogForm.value = true;
  // 根据type和row初始化表单数据
};

const close = () => {
  dialogForm.value = false;
};

defineExpose({ init });
</script>

<style lang="scss" scoped>
.dialog {
  padding: 20px;

  :deep(.el-form-item__label) {
    background-color: #f7fafb;
    padding: 0px 8px;
    color: #000;
    font-weight: 500;
    border: 1px solid #e3e7ed;
  }

  .head_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
  }
  .cntinfo {
    height: calc(100% - 70px);
    overflow: hidden;
    overflow-y: auto;
  }

  .form-row {
    display: flex;

    .el-form-item {
      flex: 1;
    }
  }
  .image-group {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;

    .image-item {
      width: 150px;
      height: 150px;
      border: 1px solid #dcdfe6;

      .el-image {
        width: 100%;
        height: 100%;
      }
    }
  }

  .upload-group {
    display: flex;
    // gap: 20px;

    .el-form-item {
      flex: 1;
    }
  }

  .unit {
    margin-left: 5px;
  }
  ::v-deep .el-input__inner {
    height: 36px !important;
    line-height: 36px !important;
    border-radius: 0;
    color: #777575;
  }
}
.el-form-item--default {
  margin-bottom: 0px;
}
</style>
