<template>
  <view class="app-container">
    <u-navbar
      leftText="返回"
      title="店铺活动管理"
      :autoBack="true"
      :placeholder="true"
    />
    <view
      class="list-item active view-global"
      v-for="(item, index) in applyList"
      :key="index"
    >
      <view class="item-cell">
        <view class="cell-lable">活动名称：</view>
        <view class="cell-value">{{ item.activeName }}</view>
      </view>
      <view class="item-cell">
        <view class="cell-lable">活动时间：</view>
        <view class="cell-value"
          >{{ item.activeStart }}—{{ item.activeEnd }}</view
        >
      </view>
      <view class="item-cell">
        <view class="cell-lable">活动内容：</view>
        <view class="cell-value">{{ item.activeContent }}</view>
      </view>
      <view class="item-cell" style="align-items: flex-start">
        <view class="cell-lable">活动地点：</view>
        <view class="cell-value">{{ item.activePoint }}</view>
      </view>
      <view class="item-cell" style="align-items: flex-start">
        <view class="cell-lable">参与条件：</view>
        <view class="cell-value">{{ item.joinRequire }}</view>
      </view>
      <view class="item-cell" style="align-items: flex-start">
        <view class="cell-lable">活动状态：</view>
        <view
          class="cell-value"
          :style="{ color: activeStateColor(item.activeState) }"
        >
          {{ item.activeState | activeState }}
        </view>
      </view>
      <view class="cell-btn">
        <u-button
          v-show="item.activeState == 2"
          text="终止活动"
          size="small"
          color="linear-gradient(90deg, #FF4B4B 0%, #FA4D4D 100%)"
          :custom-style="{
            width: '130rpx',
            height: '65rpx',
            margin: '0',
          }"
          @click="handleUpdate(item)"
        ></u-button>
        <u-button
          v-show="item.activeState == 1"
          text="取消活动"
          size="small"
          color="linear-gradient(90deg, #F18939 0%, #F6A53C 100%)"
          :custom-style="{
            width: '130rpx',
            height: '65rpx',
            margin: '0',
          }"
          @click="handleUpdate(item)"
        ></u-button>
      </view>
    </view>
    <fixed-buttom title="新增活动" @click="handleAdd()"></fixed-buttom>
  </view>
</template>

<script>
import { listActivity, updateActivity } from "../../api/jn/apply";

export default {
  data() {
    return {
      // 表单参数
      form: {},
      applyList: [],
      // 查询参数
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        activeName: null,
        activeStart: null,
        activeEnd: null,
        activeContent: null,
        activePoint: null,
        joinRequire: null,
        activeState: null,
        createId: null,
        updateId: null,
        gridId: null,
        gridName: null,
        partId: null,
        partName: null,
      },
    };
  },
  onLoad() {
    this.getList();
  },
  methods: {
    getList() {
      listActivity(this.queryParams).then((res) => {
        console.log(res);
        this.applyList = res.rows;
      });
    },
    //新增
    handleAdd() {
      uni.$u.route({
        url: "/subEnterprise/activity/add",
      });
    },
    //更新
    handleUpdate(item) {
      this.reset();
      item["activeState"] =
        item.activeState == 1
          ? 3
          : item.activeState == 2
          ? 4
          : item.activeState;
      this.form = item;
      console.log(this.form);
      updateActivity(this.form).then((response) => {
        this.$modal.msgSuccess("修改成功");
      });
    },
    activeStateColor: function (value) {
      switch (value) {
        case 1:
          return "#F75D23";
        case 2:
          return "#32B78B";
        case 3:
          return "#000000";
        case 4:
          return "#000000";
        case 5:
          return "#32B78B";
        default:
          return "#000000";
      }
    },
    // 表单重置
    reset() {
      this.form = {
        id: null,
        activeName: null,
        activeStart: null,
        activeEnd: null,
        activeContent: null,
        activePoint: null,
        joinRequire: null,
        activeState: null,
        createId: null,
        createBy: null,
        createTime: null,
        updateId: null,
        updateBy: null,
        updateTime: null,
        remark: null,
        gridId: null,
        gridName: null,
        partId: null,
        partName: null,
      };
    },
  },
  filters: {
    activeState: function (value) {
      // console.log(value);
      switch (value) {
        case 1:
          return "审核中";
        case 2:
          return "进行中";
        case 3:
          return "已取消";
        case 4:
          return "已终止";
        case 5:
          return "已结束";
        default:
          return "";
      }
    },
  },
};
</script>

<style lang="scss" scoped>
.app-container {
  .list-item {
    background-color: #fff;
    border-radius: 16rpx;
    box-sizing: border-box;
    padding: 25rpx;
    margin-bottom: 30rpx;

    .item-cell {
      display: flex;
      align-items: center;

      .cell-lable {
        width: 200rpx;
        font-size: 28rpx;
        font-weight: 400;
        color: #9da2ab;
      }

      .cell-value {
        flex: 1;
        font-size: 28rpx;
        font-weight: 400;
        color: #2e2f31;
      }
    }

    .cell-btn {
      display: flex;
      flex-direction: row-reverse;
    }

    & > view:not(.cell-btn) {
      margin-bottom: 20rpx;
    }
  }

  & > .list-item:last-child {
    margin-bottom: 0;
  }
}
</style>
