<template>
  <div class="order-details">
    <title-block class="titile-d" title="寄存画作">
      <template #left>
        <div>
          <image
            style="width: 112rpx; height: 52rpx"
            src="https://cdns.fontree.cn/fonchain-main/prod/image/default/artwork/785cf885-c4c9-44b3-8155-4b39988c7ef8.png"
            @click="back"
          ></image>
        </div>
      </template>
    </title-block>
    <div class="content-list" v-if="listPaintings.length > 1">
      <div class="wrap1">*请注意确认寄存结束时间</div>
      <div class="wrap2">
        <div class="wrap2_1" :style="{ height: `${listHeight}rpx` }">
          <div
            :class="['item', index === currentIndex ? 'active' : '']"
            @click="itemClick(index)"
            v-for="(item, index) of listPaintings"
          >
            <div class="item_1">{{ index + 1 }}</div>
            <div class="item_2">
              <div class="item_2_1">
                <img :src="listPaintings[index].fileList1[0].url" alt="" />
              </div>
              <div class="item_2_2">{{ listPaintings[index].artworkNum }}</div>
            </div>
            <div class="item_3">{{ listPaintings[index].artworkName }}</div>
            <div class="item_4">
              {{
                listPaintings[index].warehouseID
                  ? addressList.find(
                      (x) => x.ID === listPaintings[index].warehouseID
                    ).address
                  : ""
              }}
            </div>
            <div class="item_5">{{ listPaintings[index].endAt }}</div>
          </div>
        </div>
        <div class="wrap2_2" @click="expand">
          <div
            class="wrap2_2_1"
            v-if="listPaintings.length > 2"
            :style="{
              transform: `translate(-50%, -50%) ${
                isExpand ? 'rotate(180deg)' : ''
              }`,
            }"
          ></div>
          <div class="wrap2_2_2">共计{{ listPaintings.length }}幅画作</div>
        </div>
      </div>
    </div>
    <scroll-view
      class="content-center"
      :style="{ marginTop: `${contentListHeight + 10}px` }"
      @scroll="scrollDetail"
      :scroll-into-view="scrollId"
      scroll-y="true"
    >
      <div
        class="content-scroll"
        v-for="(item, index) of listPaintings"
        :id="`item-${index}`"
      >
        <div class="painting-name" v-if="listPaintings.length > 1">
          <div class="wrap1">画作{{ index + 1 }}:</div>
          <div class="wrap2" @click="itemDelete(index)">删除</div>
        </div>
        <div class="content2">
          <u-upload
            :fileList="listPaintings[index].fileList1"
            @afterRead="
              (e) => {
                afterRead(e, index);
              }
            "
            @delete="
              (e) => {
                deletePic(e, index);
              }
            "
            name="6"
            multiple
            :maxCount="1"
            width="404rpx"
            height="306rpx"
          >
            <div
              style="
                width: 404rpx;
                height: 306rpx;
                background: #000;
                border-radius: 20rpx;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
              "
            >
              <div style="margin-bottom: 14rpx">
                <image
                  style="width: 38.32rpx; height: 38.2rpx"
                  src="../../static/zu142@3x.png"
                ></image>
              </div>
              <div style="font-size: 32rpx; color: #fff">上传画作图片</div>
            </div>
          </u-upload>
        </div>
        <div class="content3">
          <div class="prompt">*扫描自动填入</div>
          <div class="wrap1">
            <div class="wrap1_1">
              <div class="wrap1_1_1">画作编号</div>
              <div class="wrap1_1_2"></div>
              <div class="wrap1_1_3">
                <input
                  style="color: #939393; font-size: 24rpx"
                  v-model="listPaintings[index].artworkNum"
                  placeholder-style="color: #939393;font-size: 24rpx;z-index:0"
                  placeholder="请输入画作编号"
                />
              </div>
              <div class="wrap1_1_4"></div>
            </div>
            <div class="wrap1_1">
              <div class="wrap1_1_1">画作名称</div>
              <div class="wrap1_1_2"></div>
              <div class="wrap1_1_3">
                <input
                  style="color: #939393; font-size: 24rpx"
                  v-model="listPaintings[index].artworkName"
                  placeholder-style="color: #939393;font-size: 24rpx;z-index:0"
                  placeholder="请输入画作名称"
                />
              </div>
              <div class="wrap1_1_4"></div>
            </div>
            <div class="wrap1_1">
              <div class="wrap1_1_1">画家名称</div>
              <div class="wrap1_1_2"></div>
              <div class="wrap1_1_3">
                <input
                  style="color: #939393; font-size: 24rpx"
                  v-model="listPaintings[index].artistName"
                  placeholder-style="color: #939393;font-size: 24rpx;z-index:0"
                  placeholder="请输入画家名称"
                />
              </div>
              <div class="wrap1_1_4"></div>
            </div>
            <div class="wrap1_1">
              <div class="wrap1_1_1">画作平尺数</div>
              <div class="wrap1_1_2"></div>
              <div class="wrap1_1_3">
                <input
                  type="number"
                  style="color: #939393; font-size: 24rpx"
                  v-model="listPaintings[index].artworkSquareSize"
                  @input="
                    (e) => {
                      inputConfirm(e, index);
                    }
                  "
                  placeholder-style="color: #939393;font-size: 24rpx;z-index:0"
                  placeholder="请输入画作平尺数"
                />
              </div>
            </div>
          </div>
          <div class="wrap2"></div>
        </div>
        <div class="content4">
          <div class="wrap1">
            <div class="wrap1_1" @click="show2Click(index)">
              <div class="wrap1_1_1">寄存地址</div>
              <div class="wrap1_1_2"></div>
              <div class="wrap1_1_3">
                <input
                  style="color: #939393; font-size: 24rpx"
                  disabled
                  :value="
                    listPaintings[index].warehouseID
                      ? addressList.find(
                          (x) => x.ID === listPaintings[index].warehouseID
                        ).address
                      : ''
                  "
                  placeholder-style="color: #939393;font-size: 24rpx;z-index:0"
                  placeholder="请选择寄存地址"
                />
              </div>

              <div class="wrap1_1_4"></div>
              <div class="wrap1_1_5">
                <image src="../../static/zu611@3x.png"></image>
              </div>
            </div>
            <div class="wrap1_1" @click="openShow1(index)">
              <div class="wrap1_1_1">寄存时长</div>
              <div class="wrap1_1_2"></div>
              <div class="wrap1_1_3">
                <input
                  style="color: #939393; font-size: 24rpx"
                  :value="listPaintings[index].endAt"
                  disabled
                  placeholder-style="color: #939393;font-size: 24rpx;z-index:0"
                  placeholder="请选择寄存时长"
                />
              </div>
              <div class="wrap1_1_5">
                <image src="../../static/zu612@3x.png"></image>
              </div>
            </div>
          </div>
          <div class="wrap2"></div>
        </div>
        <div
          class="content7"
          v-if="index === listPaintings.length - 1"
          @click="addPainting"
        >
          <div class="wrap1">
            <div class="horizontal"></div>
            <div class="vertical"></div>
          </div>
          <div class="wrap2">添加</div>
        </div>
      </div>
    </scroll-view>
    <div class="content5" @click="expand1">
      <div
        class="wrap4"
        v-show="isExpand1"
        :style="{ top: `-${152 * listPaintings.length}rpx` }"
      >
        <div class="item" v-for="(item, index) in listPaintings">
          <div class="item_1">{{ index + 1 }}</div>
          <div class="item_2">{{ item.artworkNum }}</div>
          <div class="item_3">{{ item.artworkName }}</div>
          <div class="item_4">¥ {{ item.expectedPayment }}</div>
        </div>
      </div>
      <div
        class="wrap3"
        :style="{ transform: `${isExpand1 ? '' : 'rotate(180deg)'}` }"
      >
        <img
          src="https://cdns.fontree.cn/fonchain-main/prod/image/default/approval/13639162-2871-4187-abc5-71c2d9f01ac2.png"
          alt=""
        />
      </div>
      <div class="wrap1">
        <div class="wrap1_1">*仅微信付款</div>
        <div class="wrap1_2">预计 ¥{{ totalMoney || "0" }}</div>
      </div>
      <div class="wrap2" @click.stop="signContract">确认金额并签署合同</div>
    </div>
    <u-popup
      :round="15"
      :show="show_2"
      mode="bottom"
      @open="
        () => {
          show_2 = true;
        }
      "
    >
      <div class="poup1">
        <div class="content1">
          <div class="wrap1">更换您的寄存地址</div>
          <div @click="show_2 = false" class="wrap2">
            <image
              src="https://cdns.fontree.cn/fonchain-main/prod/image/default/artwork/d84593b3-10a8-4d86-be8c-b048b03b22c7.png"
            ></image>
          </div>
        </div>
        <div class="content2"></div>
        <div class="content3">
          <div
            v-for="(itemaddress, index1) of addressList"
            @click="selectAddress(itemaddress)"
            :class="[
              listPaintings[currentIndex].warehouseID === itemaddress.ID
                ? 'active'
                : '',
            ]"
            :key="index1"
            class="wrap1"
          >
            <div class="wrap1_1">{{ itemaddress.address }}</div>
            <div class="wrap1_2">*剩余{{ itemaddress.leftNum }}位置</div>
          </div>
        </div>
        <div class="content2"></div>
        <div class="content6" @click="confirmAddress">
          <div class="wrap1">确定</div>
        </div>
      </div>
    </u-popup>
    <u-picker
      v-if="show_1"
      :show="show_1"
      ref="uPicker"
      :columns="columns"
      @confirm="
        (e) => {
          confirmDate(e);
        }
      "
      @cancel="closeClick"
      @change="
        (e) => {
          changeHandler(e);
        }
      "
    ></u-picker>
    <u-loading-page
      bgColor="rgba(0,0,0,0.5)"
      :loading="loading"
      loading-text="正在进入法大大签署..."
    ></u-loading-page>
    <u-toast ref="uToast"></u-toast>
  </div>
</template>
<script>
import http from "@/http/api";
import { postDataByParams } from "../../http/service";
import dayjs from "dayjs";
import _ from "lodash";
export default {
  name: "order-details",
  data() {
    return {
      itemHeight: 0,
      scrollId: "item-0",
      columns: [
        [180],
        ["*"],
        [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
        ["="],
        [180],
      ],
      currentIndex: 0,
      listPaintings: [
        {
          expectedPayment: "",
          fileList1: [],
          artworkNum: "",
          artworkName: "",
          artistName: "",
          artworkSquareSize: "",
          warehouseID: "",
          endAt: "",
        },
      ],
      contentListHeight: 0,
      isExpand: false,
      isExpand1: false,
      listHeight: 308,
      minDate: "",
      show: false,
      value1: "",
      loading: false,
      fileList1: [],
      dayMoney: "",
      expectedPayment: "",
      warehouseID: "",
      cycleId: "",
      cycleList: [],
      addressList: [],
      info: {},
      show_2: false,
      data: [],
      show_1: false,
      title: "picker-view",

      visible: true,
      url: "",
    };
  },
  computed: {
    totalMoney() {
      return this.listPaintings.reduce((total, item) => {
        return total + Number(item.expectedPayment);
      }, 0);
    },
  },
  onLoad(load) {
    if (load.url) {
      this.url = load.url;
      this.getDetailUrl();
    }
    if (load.type === "detail") {
      this.getData();
      this.type = load.type;
    }
    if (load.type === "confirm") {
      this.listPaintings = uni.getStorageSync("orderingInfo").listPaintings;
    }
    if (load.type === "scan") {
      this.listPaintings = uni.getStorageSync("scanlist")?.map((x) => {
        return {
          ...x,
          expectedPayment: "",
          warehouseID: "",
          fileList1: [{ url: x.artworkImg }],
        };
      });
    }
  },
  mounted() {
    this.getCycle();
    if (this.$mp.query.url) {
      this.url = this.$mp.query.url;
      this.getDetailUrl();
    }
    this.getAddress();
    this.$nextTick(async () => {
      this.itemHeight = await this.getElementHeight(".content-scroll");
      this.getheight();
    });
  },
  methods: {
    inputConfirm: _.debounce(function (event, index) {
      this.listPaintings[index].artworkSquareSize = event.target.value.replace(
        /\D/g,
        ""
      );
      let number = parseInt(this.listPaintings[index].artworkSquareSize, 10);
      if (isNaN(number) || number <= 0) {
        this.listPaintings[index].artworkSquareSize = "";
      } else {
        this.obtainAmount(index);
      }
    }, 1000),
    addDaysToCurrentDate(days) {
      return dayjs().add(days, "day").format("YYYY-MM-DD");
    },
    show2Click(index) {
      this.currentIndex = index;
      this.show_2 = true;
    },
    closeClick() {
      this.show_1 = false;
    },
    getElementHeight(selector) {
      return new Promise((resolve, reject) => {
        const query = uni.createSelectorQuery();
        query
          .select(selector)
          .boundingClientRect((data) => {
            if (data) {
              resolve(data.height); // 成功获取高度时,通过 Promise 返回
            } else {
              reject(new Error("无法获取元素高度")); // 如果找不到元素或获取高度失败时,通过 Promise 返回错误
            }
          })
          .exec();
      });
    },
    async scrollDetail(event) {
      const scrollTop = event.detail.scrollTop; // 获取当前滚动位置
      const totalHeight = this.listPaintings.length * this.itemHeight;
      const scrollPercent = (scrollTop / totalHeight) * 100;
      const index = Math.floor(scrollTop / this.itemHeight); // 计算索引
      /* console.log(`滚动了 ${scrollPercent}%`);
      console.log(`滚动到了第 ${index} 个元素的位置`);*/
      this.currentIndex = index;
    },
    async getData() {
      const data1 = {
        ID: Number(this.$mp.query.ID),
      };
      const res1 = await postDataByParams("/api/v2/warehouse/detail", data1);
      if (res1.code === 200) {
        this.info = res1.data;
      }
    },
    changeHandler(e, i) {
      const {
        columnIndex,
        value,
        values,
        index,
        picker = this.$refs.uPicker,
      } = e;
      if (columnIndex === 2) {
        picker.setColumnValues(this.columns.length - 1, [
          this.columns[2][e.index] * this.columns[0][0],
        ]);
      }
    },
    itemDelete(index) {
      this.listPaintings.splice(index, 1);
      this.currentIndex = 0;
      this.scrollId = `item-0`;
      if (this.listPaintings.length === 1) {
        this.contentListHeight = 0;
      }
      this.$nextTick(() => {
        this.getheight();
      });
    },
    itemClick(index) {
      this.scrollId = `item-${index}`;
      this.currentIndex = index;
    },
    addPainting() {
      this.listPaintings.push({
        expectedPayment: "",
        fileList1: [],
        artworkNum: "",
        artworkName: "",
        artistName: "",
        artworkSquareSize: "",
        warehouseID: this.listPaintings[0].warehouseID,
        endAt: this.listPaintings[0].endAt,
      });
      this.$nextTick(() => {
        this.getheight();
      });
      this.currentIndex = this.currentIndex + 1;
    },
    getheight() {
      let query = uni.createSelectorQuery().in(this);
      query
        .select(".content-list")
        .boundingClientRect((data) => {
          if (data) {
            let query = uni.createSelectorQuery().in(this);
            query
              .select(".titile-d")
              .boundingClientRect((data1) => {
                if (data1) {
                  this.contentListHeight = data.bottom - data1.bottom;
                }
              })
              .exec();
          }
        })
        .exec();
    },
    expand1() {
      if (this.isExpand) {
        this.listHeight = 154 * 2;
      }
      if (this.isExpand) {
        this.isExpand = false;
      }

      this.isExpand1 = !this.isExpand1;
    },
    expand() {
      if (this.isExpand) {
        this.listHeight = 154 * 2;
      } else {
        this.listHeight =
          154 *
          (this.listPaintings.length <= 7 ? this.listPaintings.length : 7);
      }
      this.isExpand = !this.isExpand;
      if (this.isExpand1) {
        this.isExpand1 = false;
      }
    },

    confirmDate(data, index) {
      this.listPaintings[this.currentIndex].endAt =
        data.value[data.value.length - 1];
      if (this.currentIndex === 0) {
        for (let listPainting of this.listPaintings) {
          listPainting.endAt = data.value[data.value.length - 1];
        }
      }
      this.obtainAmount(this.currentIndex, this.currentIndex === 0);
      this.show_1 = false;
    },
    openShow1(index) {
      if (!this.listPaintings[index].artworkSquareSize) {
        uni.showToast({
          title: "请先填写画作平尺数",
          duration: 2000,
          icon: "none",
        });
        return;
      }
      this.currentIndex = index;
      this.show_1 = true;
    },
    uploadFilePromise(url, type = null) {
      return new Promise((resolve) => {
        uni.uploadFile({
          url: http.baseUrl + "/api/wxuser/uploadpic",
          filePath: url,
          name: "file",
          success: (res) => {
            const { path } = JSON.parse(res.data).data;
            resolve(path);
          },
        });
      });
    },
    deletePic() {
      this.fileList1 = [];
    },
    // 新增图片
    async afterRead(event, index) {
      // 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
      let lists = [].concat(event.file);
      let fileListLen = this.listPaintings[index].fileList1.length;
      lists.map((item) => {
        this.listPaintings[index].fileList1.push({
          ...item,
          status: "uploading",
          message: "上传中",
        });
      });
      for (let i = 0; i < lists.length; i++) {
        const result = await this.uploadFilePromise(lists[i].url, "check");
        let item = this.listPaintings[index].fileList1[fileListLen];
        this.listPaintings[index].fileList1.splice(
          fileListLen,
          1,
          Object.assign(item, {
            status: "success",
            message: "",
            url: result,
          })
        );
        fileListLen++;
      }
    },
    async signContract() {
      const checks = [
        {
          value: "fileList1",
          message: "画作图片",
        },
        {
          value: "artworkSquareSize",
          message: "画作平尺数",
        },
        {
          value: "artistName",
          message: "画家名称",
        },
        {
          value: "artworkName",
          message: "画作名称",
        },
        {
          value: "artworkNum",
          message: "画作编号",
        },
        {
          value: "warehouseID",
          message: "寄存地址",
        },
        {
          value: "endAt",
          message: "择寄存时长",
        },
      ];
      for (const [index, item] of this.listPaintings.entries()) {
        for (const check of checks) {
          if (check.value === "fileList1" && item.fileList1.length < 1) {
            uni.showToast({
              title: `请完善第${index + 1}条数据的${check.message}`,
              icon: "none",
            });
            return;
          }

          if (!item[check.value]) {
            uni.showToast({
              title: `请完善第${index + 1}条数据的${check.message}`,
              icon: "none",
            });
            return;
          }
          if (check.value === "artworkSquareSize") {
            if (Number(item[check.value]) < 1) {
              uni.showToast({
                title: `第${index + 1}条数据的${check.message}应大于0`,
                icon: "none",
              });
              return;
            }
          }
        }
      }
      this.loading = true;
      const data = {
        orders: this.listPaintings.map((x) => {
          return {
            endAt: this.addDaysToCurrentDate(x.endAt),
            warehouseID: x.warehouseID,
            artworkSquareSize: Number(x.artworkSquareSize),
            artworkName: x.artworkName,
            artworkImg: x.fileList1?.[0]?.url,
            artworkNum: x.artworkNum,
            artistName: x.artistName,
          };
        }),
      };
      const res = await postDataByParams(
        "/api/v2/warehouse/fdd/contract/h5",
        data
      );
      if (res.code === 200) {
        uni.setStorageSync("jumpUrl", res.data.jumpUrl);
        uni.setStorageSync("orderingInfo", {
          listPaintings: this.listPaintings,
          transactionId: res.data.transactionId,
        });
        uni.navigateTo({
          url: `/pages/signwebview/index`,
        });
      } else {
        // uni.showToast({
        //   title: res.msg,
        //   duration: 2000,
        //   icon: "none",
        // });
        this.$refs.uToast.show({
          message: res.msg,
          icon: "none",
        });
      }
      this.loading = false;
    },
    async obtainAmount(index, list = false) {
      let data = {
        orders: [
          {
            artworkSquareSize: Number(
              this.listPaintings[index].artworkSquareSize
            ),
            endAt: this.addDaysToCurrentDate(this.listPaintings[index].endAt),
          },
        ],
      };
      if (list) {
        data = {
          orders: this.listPaintings.map((x) => {
            return {
              artworkSquareSize: Number(x.artworkSquareSize),
              endAt: this.addDaysToCurrentDate(x.endAt),
            };
          }),
        };
      }
      const res = await postDataByParams("/api/v2/warehouse/calculate", data);
      if (res.code === 200) {
        if (list) {
          this.listPaintings.forEach((x, ix) => {
            res.data.orders?.forEach((y, iy) => {
              if (ix === iy) {
                x.expectedPayment = Number(y.money);
              }
            });
          });
        } else {
          this.listPaintings[index].expectedPayment = Number(
            res.data.orders?.[0]?.money
          );
        }
      }
    },
    confirmCycle() {
      this.show_1 = false;
    },
    confirmAddress() {
      this.show_2 = false;
    },
    selectAddress(item) {
      this.listPaintings[this.currentIndex].warehouseID = item.ID;
      if (this.currentIndex === 0) {
        this.listPaintings.forEach((x) => {
          x.warehouseID = item.ID;
        });
      }
    },
    selectionPeriod(item) {
      this.cycleId = item.ID;
    },
    async getCycle() {
      const res = await postDataByParams("/api/warehouse/cycle");
      if (res.code === 200) {
        this.cycleList = res.data.data;
      }
    },
    async getAddress() {
      const res = await postDataByParams("/api/warehouse/address");
      if (res.code === 200) {
        this.addressList = res.data.data;
        console.log(this.addressList, "addressList");
      }
    },
    async getDetailUrl() {
      const data = {
        url: this.url,
      };
      const res = await postDataByParams("/api/warehouse/ocr", data);
      if (res.code === 200) {
        this.info = res.data;
        this.fileList1 = [{ url: this.info.artworkImg }];
      } else {
        this.$refs.uToast.show({
          message: res.msg,
          icon: "none",
        });
        // uni.showToast({
        //   title: res.msg,
        //   icon: "none",
        // });
      }
      console.log(res, "getDetailUrl");
    },
    isDateFont(item, num) {
      if (Array.isArray && this.data.length === 3) {
        return this.data[num] === item;
      }
    },
    changeData(e) {
      this.data = [
        e.detail.value[0] + 1990,
        e.detail.value[1] + 1,
        e.detail.value[2] + 1,
      ];
    },
    back() {
      uni.navigateBack({ delta: 2 });
    },
  },
};
</script>
<style scoped lang="scss">
.fontDate {
  color: #fff;
}

/deep/ .pickerSelected {
  color: #ffffff !important;
  z-index: 2;
}

/deep/ .test {
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: -1;
  background: #a9d897;
  color: #fff;
  height: 62rpx;
}

uni-picker-view {
  display: block;
}

uni-picker-view .uni-picker-view-wrapper {
  display: flex;
  position: relative;
  overflow: hidden;
  height: 100%;
  background-color: white;
}

uni-picker-view[hidden] {
  display: none;
}

picker-view {
  width: 100%;
  // height: 600upx;
  height: 400rpx;
  margin-top: 20 upx;
}

.item {
  line-height: 100 upx;
  text-align: center;
}

.order-details {
  background-image: url("https://cdns.fontree.cn/fonchain-main/prod/image/default/artwork/4fdc9a0f-d72a-46b6-a04d-ed56d5465213.png");
  box-sizing: border-box;
  overflow: hidden;
  padding-left: 30rpx;
  padding-right: 30rpx;
  background-size: cover;
  width: 100vw;
  height: 100vh;
  position: relative;
  display: flex;
  flex-direction: column;
  .content-list {
    top: 130rpx;
    z-index: 999;
    position: absolute;
    width: 686rpx;
    margin-top: 34rpx;
    text-align: right;
    .wrap1 {
      margin-bottom: 10rpx;
      font-size: 24rpx;
      color: rgba(78, 150, 77, 1);
    }
    .wrap2 {
      box-sizing: border-box;
      padding-top: 20rpx;
      border: 2rpx dashed rgba(118, 196, 88, 1);
      border-radius: 20rpx;
      background-color: #fff;
      padding-left: 20rpx;
      padding-right: 20rpx;
      .wrap2_2 {
        border-top: 1rpx dashed rgba(118, 196, 88, 1);
        height: 60rpx;
        position: relative;
        .wrap2_2_2 {
          line-height: 60rpx;
          color: rgba(118, 196, 88, 1);
          font-size: 24rpx;
        }
        .wrap2_2_1 {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          width: 30rpx;
          height: 16rpx;
          background-image: url("https://cdns.fontree.cn/fonchain-main/prod/image/default/approval/13639162-2871-4187-abc5-71c2d9f01ac2.png");
          background-size: cover;
        }
      }
      .wrap2_1 {
        z-index: 999;
        padding-bottom: 20rpx;
        overflow-y: scroll;
        .item {
          height: 154rpx;
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding-left: 10rpx;
          padding-right: 10rpx;
          &.active {
            background-color: rgb(245, 251, 242);
          }
          .item_5 {
            width: 134rpx;
            color: rgba(98, 98, 98, 1);
            font-size: 24rpx;
          }
          .item_4 {
            margin-right: 28rpx;
            width: 192rpx;
            color: rgba(98, 98, 98, 1);
            font-size: 24rpx;
          }
          .item_3 {
            margin-right: 48rpx;
            width: 78rpx;
            color: rgba(98, 98, 98, 1);
            font-size: 24rpx;
          }
          .item_2 {
            margin-right: 24rpx;
            width: 68rpx;
            display: flex;
            flex-direction: column;
            align-items: center;
            .item_2_2 {
              color: rgba(147, 147, 147, 1);
              font-size: 20rpx;
            }
            .item_2_1 {
              background-color: #000;
              width: 68rpx;
              height: 68rpx;
              img {
                width: 100%;
                height: 100%;
              }
            }
          }
          .item_1 {
            margin-right: 18rpx;
            color: rgba(88, 166, 107, 1);
            font-size: 24rpx;
            display: flex;
            justify-content: center;
            align-items: center;
            width: 36rpx;
            height: 36rpx;
            border: 5rpx solid rgba(118, 196, 88, 1);
            border-radius: 50%;
            background: transparent;
          }
        }
      }
    }
  }

  & > .content5 {
    align-items: center;
    left: 0;
    background: #fff;
    width: 750rpx;
    position: fixed;
    bottom: 0;
    height: 172rpx;
    display: flex;
    .wrap4 {
      z-index: 999;
      width: 100%;
      background-color: #fff;
      position: absolute;
      border-top-right-radius: 20rpx;
      border-top-left-radius: 20rpx;
      border-top: 1px dashed rgba(118, 196, 88, 1);
      .item {
        height: 152rpx;
        display: flex;
        align-items: center;
        .item_4 {
          margin-right: 64rpx;
          margin-left: auto;
          color: rgba(118, 196, 88, 1);
          font-size: 24rpx;
          font-weight: bold;
        }
        .item_3 {
          width: 100rpx;
          margin-left: 48rpx;
          color: rgba(98, 98, 98, 1);
          font-size: 24rpx;
        }
        .item_2 {
          width: 100rpx;
          margin-left: 34rpx;
          color: rgba(98, 98, 98, 1);
          font-size: 24rpx;
        }
        .item_1 {
          margin-left: 56rpx;
          color: rgba(88, 166, 107, 1);
          font-size: 24rpx;
          display: flex;
          justify-content: center;
          align-items: center;
          width: 36rpx;
          height: 36rpx;
          border: 5rpx solid rgba(118, 196, 88, 1);
          border-radius: 50%;
          background: transparent;
        }
      }
    }
    .wrap3 {
      margin-left: 32rpx;
      img {
        width: 30rpx;
        height: 16rpx;
      }
    }
    .wrap2 {
      border-radius: 40rpx;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 392rpx;
      height: 56rpx;
      color: #fff;
      font-size: 32rpx;
      background: #76c458;
    }

    .wrap1 {
      margin-left: 18rpx;
      margin-right: 70rpx;
      display: flex;
      flex-direction: column;
      align-items: start;

      .wrap1_1 {
        color: #939393;
        font-size: 16rpx;
      }

      .wrap1_2 {
        font-size: 32rpx;
        color: #76c458;
      }
    }
  }

  .poup1 {
    padding-top: 28rpx;
    padding-left: 30rpx;
    padding-right: 30rpx;
    margin-bottom: 72rpx;

    & > .content6 {
      margin-top: 26rpx;
      display: flex;
      justify-content: center;

      .wrap1 {
        color: #fff;
        font-size: 28rpx;
        width: 436rpx;
        height: 60rpx;
        display: flex;
        justify-content: center;
        align-items: center;
        background: #76c458;
        border-radius: 30rpx;
      }
    }

    & > .content3 {
      margin-bottom: 70rpx;

      .wrap1 {
        margin-bottom: 18rpx;
        border-radius: 32rpx;
        height: 80rpx;
        box-sizing: border-box;
        border: 2px solid #76c458;
        padding-left: 44rpx;
        padding-right: 42rpx;
        display: flex;
        justify-content: space-between;
        align-items: center;

        .wrap1_2 {
          color: #76c458;
          font-size: 26rpx;
        }

        .wrap1_1 {
          font-size: 28rpx;
          color: #000;
        }

        &.disabled {
          border: none;
          background: #d8d8d8;

          .wrap1_1 {
            color: #626262;
            font-size: 28rpx;
          }

          .wrap1_2 {
            color: #626262;
            font-size: 16rpx;
          }
        }

        &.active {
          background: #76c458;

          .wrap1_2 {
            color: #fff;
            font-size: 26rpx;
          }

          .wrap1_1 {
            font-size: 28rpx;
            color: #fff;
          }
        }
      }
    }

    & > .content1 {
      margin-bottom: 36rpx;
      display: flex;
      justify-content: space-between;

      .wrap1 {
        color: #000;
        font-size: 32rpx;
      }

      .wrap2 {
        image {
          width: 48rpx;
          height: 48rpx;
        }
      }
    }

    & > .content2 {
      margin-bottom: 36rpx;
      height: 1rpx;
      background: #626262;
    }
  }

  .poup {
    margin-bottom: 72rpx;
    padding-top: 28rpx;
    padding-left: 30rpx;
    padding-right: 30rpx;
    & > .content7 {
    }
    & > .content3 {
      display: flex;
      flex-wrap: wrap;

      .wrap4 {
        margin-bottom: 40rpx;
        border-radius: 32rpx;
        margin-top: 30rpx;
        width: 220rpx;
        height: 84rpx;
        background: #d8d8d8;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        .wrap4_1 {
          color: #626262;
          font-size: 28rpx;
        }

        .wrap4_2 {
          color: #be7e7e;
          font-size: 16rpx;
        }
      }

      .wrap1 {
        box-sizing: border-box;
        flex-shrink: 0;
        margin-right: 16rpx;
        font-size: 28rpx;
        border-radius: 32rpx;
        border: 2rpx solid #76c458;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 220rpx;
        height: 84rpx;

        &:nth-child(3) {
          margin-right: 0;
        }

        &.active {
          color: #fff;
          background: #76c458;
        }
      }
    }

    & > .content6 {
      margin-top: 26rpx;
      display: flex;
      justify-content: center;

      .wrap1 {
        color: #fff;
        font-size: 28rpx;
        width: 436rpx;
        height: 60rpx;
        display: flex;
        justify-content: center;
        align-items: center;
        background: #76c458;
        border-radius: 30rpx;
      }
    }

    & > .content5 {
      margin-top: 36rpx;
      height: 66rpx;
      display: flex;
      align-items: center;
      border-bottom: 1rpx solid #bababa;
      border-top: 1rpx solid #bababa;

      .wrap1 {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-grow: 1;
        color: #4e964d;
        font-size: 28rpx;
      }

      .wrap2 {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-grow: 1;
        color: #4e964d;
        font-size: 28rpx;
      }

      .wrap3 {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-grow: 1;
        color: #4e964d;
        font-size: 28rpx;
      }
    }

    & > .content4 {
      font-size: 32rpx;
      color: #000;
    }

    & > .content2 {
      margin-bottom: 36rpx;
      height: 1rpx;
      background: #626262;
    }

    & > .content1 {
      margin-bottom: 36rpx;
      display: flex;
      justify-content: space-between;

      .wrap1 {
        color: #000;
        font-size: 32rpx;
      }

      .wrap2 {
        image {
          width: 48rpx;
          height: 48rpx;
        }
      }
    }
  }

  .content-center {
    overflow-y: scroll;
    margin-bottom: 180rpx;
    .content-scroll {
      .painting-name {
        margin-top: 48rpx;
        align-items: center;
        display: flex;
        justify-content: space-between;
        .wrap1 {
          color: rgba(0, 0, 0, 1);
          font-size: 28rpx;
        }
        .wrap2 {
          font-size: 28rpx;
          display: flex;
          justify-content: center;
          align-items: center;
          color: rgba(118, 196, 88, 1);
          border-radius: 40rpx;
          background-color: #fff;
          width: 148rpx;
          height: 56rpx;
          border: 1px solid rgba(118, 196, 88, 1);
        }
      }
      & > .content4 {
        margin-bottom: 24rpx;
        margin-top: 60rpx;

        .wrap1 {
          border: 1rpx dashed #dfe9f0;
          background-color: #fff;

          .wrap1_1 {
            position: relative;
            height: 114rpx;
            display: flex;
            align-items: center;

            .wrap1_1_4 {
              left: 50%;
              transform: translateX(-50%);
              bottom: 0;
              position: absolute;
              height: 0;
              width: 636rpx;
              border-bottom: 0.5px solid #626262;
            }

            .wrap1_1_5 {
              right: 42rpx;
              position: absolute;

              image {
                width: 46.34rpx;
                height: 20rpx;
              }
            }

            .wrap1_1_2 {
              margin-right: 36rpx;
              width: 0;
              height: 66rpx;
              border-left: 0.5px solid #626262;
            }

            .wrap1_1_1 {
              width: 210rpx;
              padding-left: 32rpx;

              color: #626262;
              font-size: 24rpx;
            }
          }
        }
      }

      & > .content3 {
        margin-top: 60rpx;

        .prompt {
          color: #4e964d;
          font-size: 16rpx;
          margin-bottom: 4rpx;
        }

        .wrap1 {
          border: 1rpx dashed #dfe9f0;
          background-color: #fff;

          .wrap1_1 {
            position: relative;
            height: 114rpx;
            display: flex;
            align-items: center;

            .wrap1_1_4 {
              left: 50%;
              transform: translateX(-50%);
              bottom: 0;
              position: absolute;
              height: 0;
              width: 636rpx;
              border-bottom: 0.5px solid #626262;
            }

            .wrap1_1_2 {
              margin-right: 36rpx;
              width: 0;
              height: 66rpx;
              border-left: 0.5px solid #626262;
            }

            .wrap1_1_1 {
              width: 210rpx;
              padding-left: 32rpx;

              color: #626262;
              font-size: 24rpx;
            }
          }
        }
      }

      & > .content2 {
        display: flex;
        justify-content: center;

        image {
          width: 404rpx;
          height: 306rpx;
        }
      }
      & > .content7 {
        margin: 0 auto;
        margin-bottom: 20rpx;
        background-color: #fff;
        border-radius: 40rpx;
        width: 228rpx;
        height: 56rpx;
        border: 3rpx solid rgba(118, 196, 88, 1);
        display: flex;
        justify-content: center;
        align-items: center;
        .wrap2 {
          color: rgba(118, 196, 88, 1);
          font-size: 28rpx;
        }
        .wrap1 {
          margin-right: 20rpx;
          box-sizing: border-box;
          width: 32rpx;
          height: 32rpx;
          border: 3rpx solid rgba(118, 196, 88, 1);
          border-radius: 50%;
          background: transparent;

          position: relative;
          .horizontal {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            width: 18rpx;
            height: 2rpx;
            background-color: rgba(118, 196, 88, 1);
          }

          .vertical {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            width: 2rpx;
            height: 18rpx;
            background-color: rgba(118, 196, 88, 1);
          }
        }
      }
    }
  }
}
</style>