MarketingMgtView.vue 8.9 KB
<template>
  <div class="outermost">
    <div @click="marketingMap" class="marketing-map">营销地图</div>

    <div class="marketing">
      <div class="title">
        <div class="marketing-name">营销认领</div>
        <van-form label-width="25%" @submit="onSubmit">
          <mobile-input label-width="10px" input-align="left" name="value" v-model="value" placeholder="请输入关键字" size="small" />
        </van-form>

        <div style="width: 100px"></div>
        <button @click="addMarketing" class="add-marketing">新增营销</button>
      </div>

      <div class="marketing-data">
        <div class="marketing-list" v-for="(item, index) in list" :key="index">
          <div>
            <svg style="width: 30px;height: 35px" class="icon" aria-hidden="true">
              <use xlink:href="#icon-gongsimingcheng"></use>
            </svg>
          </div>
          <div>{{ item.customerName }}</div>
          <div>
            <svg style="width: 15px;height: 17px;color: #999999" class="icon" aria-hidden="true">
              <use xlink:href="#icon-a-dingwei12x16ziyuan65"></use>
            </svg>
          </div>
          <div>{{ item.cusAddr }}</div>
          <div>
            <button @click="popup(item)" class="claim">认领</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>

<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import BasePopup from "@/components/general/BasePopup.vue";
import nettyApi from "@/constants/api/ms-netty/netty.api.ts";
import IF from "@/public/factory/InterFaceFactory";
import { NativeUI } from "@/public/ts/NativeUI";
import applicationApi from '@/constants/api/ms-application/application.api';
import { Popup } from 'vant';
/**
 * @Description 营销管理
 * @Author JiangTao
 * @Date 2021-11-10 下午 03:29
 */
@Component({
  name: "MarketingMgtView",
  components: { BasePopup },
})
export default class MarketingMgtView extends Vue {
  //判断全选
  flag = false;
  //搜索内容
  value = ""; //关键字搜索
  item:any = "";
  list = [];

  mounted() {
    this.$store.commit('setEmpty');
    this.selectCustInfo();
  }
  //认领
  popup(item: any) {
    this.item = item;
    this.Claim().then(() => {
      this.selectCustInfo();
    });
  }
  /**
   * @Description 营销认领
   * @Author JiangTao
   * @Date 2022-01-05 下午 07:48
   */
  Claim() {
    const param = {
      exeUsernam: sessionStorage.getItem('userName'),
      taskNum: this.item.taskNum,
      tc: 'MCEP'
    };
    NativeUI.showWaiting('正在查询...');
    return IF.transferDataInter(applicationApi.MarketingClaim, param).then((res: any) => {
      console.log(res);
      NativeUI.closeWaiting();
      if (res.code != '1') {
        NativeUI.toast(res.msg);
      }
    });
  }
  /**
   * @Description 营销任务查询列表
   * @Author JiangTao
   * @Date 2022-01-27 下午 03:36
   */
  selectCustInfo(pageNo = 1) {
    const param = {
      customerName: this.value,
      pageNum: pageNo,
      pageSize: '10',
      tc: 'MCEP'
    };
    NativeUI.showWaiting('正在查询...');
    return IF.transferDataInter(applicationApi.MarketingPool, param).then((res: any) => {
      NativeUI.closeWaiting();
      if (res.code == '1') {
        if (res.data.records && res.data.records.length > 0) {
          if (pageNo == 1) {
            this.list = res.data.records;
            if (res.data.records.length <= 0) {
              this.list = [];
            }
          } else {
            this.list = this.list.concat(res.data.records);
          }
          this.$store.commit('setCusInfo', this.list);
        } else {
          if (pageNo == 1) {
            this.list = [];
          }
        }
      } else {
        NativeUI.toast(res.msg);
      }
    });
  }
  /**
   * @Description 搜索
   * @Author JiangTao
   * @Date 2022-01-27 下午 03:25
   */
  onSubmit() {}
  /**
   * @Description 新增营销
   * @Author JiangTao
   * @Date 2022-01-27 下午 03:25
   */
  addMarketing() {
    this.$router.push({
      path: "/AddMarketPlan",
    });
  }
  /**
   * @Description 营销地图
   * @Author JiangTao
   * @Date 2022-01-27 下午 03:25
   */
  marketingMap() {
    this.$router.push({
      path: "/MarketingMap",
    });
  }
  detailedAnalysis() {
    this.$router.push({
      path: "/marketing-mgt/add-marketing-plan",
    });
  }
  /**
   * @Description 客户拜访
   * @Author JiangTao
   * @Date 2022-01-27 下午 03:25
   */
  customer_visit() {
    this.$router.push({
      path: "/marketing-mgt/add-marketing-plan",
      // path: "/marketing-mgt/add-marketing",
    });
  }
  /**
   * @Description 精准营销专项
   * @Author JiangTao
   * @Date 2022-01-27 下午 03:26
   */
  marketing_special() {
    this.$router.push({
      path: "/marketing-mgt/add-marketing",
    });
  }
  /**
   * @Description 公司精准信息摸排
   * @Author JiangTao
   * @Date 2022-01-27 下午 03:26
   */
  information_pattern() {
    this.$router.push({
      path: "/marketing-mgt/add-marketing",
    });
  }
  /**
   * @Description 招商引资企业营销
   * @Author JiangTao
   * @Date 2022-01-27 下午 03:26
   */
  business_marketing() {
    this.$router.push({
      path: "/marketing-mgt/add-marketing",
    });
  }
  // choose() {
  //   if (this.flag == true) {
  //     this.flag = false;
  //   } else {
  //     this.flag = true;
  //   }
  // }
  // claim() {
  //   if (this.flag == true) {
  //     this.$message({
  //       message: "面签认领成功!",
  //       position: "top",
  //     });
  //   } else {
  //     this.$message({
  //       message: "未选择!",
  //       position: "top",
  //     });
  //   }
  // }
}
</script>

<style scoped>
.outermost {
  height: calc(100vh - 60px);
  padding-left: 2%;
}
.label > div {
  width: 23%;
  height: 100%;
  padding-bottom: 1%;
  border: 1px solid rgba(233, 233, 233, 1);
  float: left;
  margin-right: 1.3%;
}
.marketing-map {
  width: 125px;
  height: 40px;
  margin-top: 2%;
  font-size: 16px;
  line-height: 250%;
  color: white;
  text-align: center;
  background: linear-gradient(90deg, rgba(245, 154, 35, 1) 2%, rgba(255, 87, 108, 1) 99%);
  border-top-left-radius: 70px;
  border-bottom-left-radius: 70px;
  float: right;
  box-shadow: 5px 5px 5px rgb(245 154 35);
}
.marketing {
  width: 100%;
  height: 100%;
  margin-top: 2%;
}
.marketing-name {
  font-size: 130%;
  font-weight: bold;
  display: inline-block;
}
.search {
  width: 40%;
  display: inline-block;
  margin-right: 3%;
  background-image: url("../../../assets/svg/search-freak.svg");
  background-repeat: no-repeat;
}
.search img {
  width: 5%;
  display: inline-block;
}
.add-marketing {
  width: 110px;
  padding: 0.4% 0;
  border: 1px solid #dadada;
  border-radius: 5px;
  text-align: center;
  font-size: 16px;
  background-color: white;
  color: #999999;
}
.title {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: space-around;
  margin-bottom: 3%;
}
.marketing-list {
  width: 96%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-radius: 7px;
  background-color: #f6fcff;
  padding: 1.8% 1.5%;
  margin: 2% 0;
  margin-left: 1%;
  box-shadow: 0 0 5px rgba(129, 211, 248, 0.75);
}
.marketing-list > div:nth-child(2) {
  width: 30%;
  color: #333333;
  font-size: 18px;
  font-family: "Arial Normal", "Arial";
  font-weight: bold;
  margin-left: 1%;
}
.marketing-list > div:nth-child(3) {
  width: 25px;
}
.marketing-list > div:nth-child(4) {
  width: 60%;
  color: #999999;
  font-size: 100%;
  margin-right: 1%;
}
.marketing-list > div:nth-child(5) {
  width: 100px;
  height: 40px;
  color: #999999;
  font-size: 100%;
  margin-right: 1%;
}
.claim {
  width: 90%;
  height: 100%;
  margin: 0 auto;
  border: 1px solid rgba(215, 215, 215, 1);
  padding-top: 6%;
  padding-bottom: 3%;
  text-align: center;
  color: #999999;
  font-size: 13px;
  border-radius: 20px;
  background-color: rgba(0, 0, 0, 0);
}
::v-deep .van-search {
  padding: 0;
}
.select_all,
.operate {
  margin: 0 3%;
  color: #fd5065;
}
.unselect_all {
  margin: 0 3%;
  color: #02a7f0;
}
.claim_selected {
  width: 80.3%;
  border: 1px solid #02a7f0;
  padding-top: 6%;
  padding-bottom: 3%;
  text-align: center;
  color: white;
  font-size: 13px;
  border-radius: 20px;
  background-color: #02a7f0;
}
.popup-content {
  width: 95%;
  margin: 0 auto;
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.popup-content > div {
  width: 45%;
}
.customer-visit > div:nth-child(1),
.marketing-special > div:nth-child(1),
.information-pattern > div:nth-child(1),
.business-marketing > div:nth-child(1) {
  width: 85%;
  margin: 8% auto;
  padding-top: 100%;
  border: 1px solid rgba(215, 215, 215, 1);
  border-radius: 10px;
}
.customer-visit > div:nth-child(2),
.marketing-special > div:nth-child(2),
.information-pattern > div:nth-child(2),
.business-marketing > div:nth-child(2) {
  width: 100%;
  text-align: center;
  color: #333333;
  font-family: "Arial Normal", "Arial";
  margin-top: 15%;
}
::v-deep .d-form-field {
  padding: 0;
}
.marketing-data {
  height: 100%;
}
</style>