JhdbxqView.vue 8.0 KB
<template>
  <div>
    <sub-title>本月实际完成情况</sub-title>
    <table-double-view :data="dataBasic" :keyValue="keyValueDouble"></table-double-view>
    <sub-title>今日营销记录</sub-title>
    <div class="markdatastyle">
      <div>今日营销记录</div>
      <div style="color: #00a3ff;font-size: 18px" @click="selectMarkDetail('0')" v-if="JSON.stringify(this.marketingdata) == '{}'">新增</div>
      <div style="color: #00a3ff;font-size: 18px" @click="selectMarkDetail('0')" v-if="JSON.stringify(this.marketingdata) != '{}'">修改</div>
    </div>
    <sub-title>历史营销记录</sub-title>
    <div v-if="PlanList.length <= 0" style="width: 100%;text-align: center;font-size: 14px;color: #999999">
      暂无数据!
    </div>
    <div v-if="PlanList.length > 0" v-for="(item, index) of PlanList" :key="index" class="markdatastyle" @click="selectMarkDetail('1', item)">
      <div>{{ item.updTimeStr }}日营销记录</div>
      <div></div>
    </div>
    <base-popup :safe-area-inset-bottom="true" :showCancel="showCancel" showConfirm="true" @confirm="sendOut" :confirmText="confirmText" v-model="flagPopup" title="温馨提示">
      <div class="popup-content">
        <div v-if="dataview" class="popup-data">
          是否确认提交该营销任务!
        </div>
        <div v-if="!dataview" class="popup-data">
          提交成功!
        </div>
      </div>
    </base-popup>
  </div>
</template>

<script lang="ts">
import { Component, Emit, Prop, Vue } from "vue-property-decorator";
import TitleBar from "@/components/general/TitleBar.vue";
import MobileInput from "@/components/general/form/MobileInput.vue";
import DSelect from "@/components/general/form/DSelect.vue";
import DDatetimePicker from "@/components/general/form/DDatetimePicker.vue";
import IF from "@/public/factory/InterFaceFactory";
import { NativeUI } from "@/public/ts/NativeUI";
import BasePopup from "@/components/general/BasePopup.vue";
import { getText } from '@/stores';
import nettyApi from "@/constants/api/ms-netty/netty.api.ts";
import applicationApi from "@/constants/api/ms-application/application.api";
/**
 * @Description:个人上门营销
 * @author pd
 * @date 2021-11-08 15:53:04
 */
@Component({
  name: "JhdbxqView",
  components: { TitleBar, MobileInput, DSelect, DDatetimePicker, BasePopup },
})
export default class JhdbxqView extends Vue {
  @Prop() grsmyxSubmitClick: (() => void) | undefined; //触发保存并提交事件
  flagPopup = false;
  dataview = true;
  showCancel = true;
  operate = "1";
  confirmText = "提交";
  //本月实际完成情况
  keyValueDouble = {
    cus_id: '全口径消贷投放(万)',
    ENT_NAME_OLD: '随意分申请户数(人)',
    REPR_NAME: '添加微信户数(人)',
    PT_STATE: '优易贷预授信新增户数(人)',
    limittime: '优易贷提用户数(人)'
  }
  //本月实际完成情况数据
  dataBasic = {}
  marketingdata = {}
  PlanList = [] //上门营销记录

  mounted() {
    this.initSaveSubmit();
    this.PlanList = []; //上门营销记录
    this.taskDetail().then(() => {
      this.getPlanTime().then(() => {
        NativeUI.closeWaiting();
      });
    });
  }
  /**
   * @Description 初始化提交方法
   * @Author JiangTao
   * @Date 2022-02-17 下午 10:08
   */
  @Emit("update:grsmyxSubmitClick")
  initSaveSubmit(): any {
    return () => {
      //函数体
      this.flagPopup = false;
      this.dataview = true;
      this.showCancel = true;
      this.confirmText = "提交";
      this.onSubmit();
    };
  }
  /**
   * @Description 营销任务处理详情查询
   * @Author JiangTao
   * @Date 2022-01-10 下午 07:41
   */
  taskDetail() {
    this.marketingdata = {};
    const param = {
      tc: 'MCEP'
    };
    const query = {
      taskNum: this.$store.getters.getCusInfo.taskNum,
      tc: 'MCEP'
    };
    NativeUI.showWaiting('查询中...');
    return IF.transferDataInter(applicationApi.taskDetail, param, query).then((res: any) => {
      if (res.code == '1') {
        if (res.data && res.data != 'null') {
          this.marketingdata = res.data;
        }
      } else {
        NativeUI.toast(res.msg);
      }
    });
  }
  /**
   * @Description 上门营销
   * @Author JiangTao
   * @Date 2022-01-12 下午 08:15
   */
  getPlanTime() {
    this.PlanList = [];
    let param = {
      taskNum: this.$store.getters.getCusInfo.taskNum,
      exeUser: sessionStorage.getItem('workcode'),
      tc: 'MCEP'
    };
    NativeUI.showWaiting('查询中...');
    return IF.transferDataInter(applicationApi.taskTimeLine, param).then((res: any) => {
      console.log(param);
      console.log('时光轴', res);
      NativeUI.closeWaiting();
      if (res.code == '1') {
        if (res.data && res.data != '' && res.data != '[]') {
          //数据
          if (res.data && res.data.length > 0) {
            this.PlanList = res.data;

            //随手礼数据
            for (let i = 0; i < this.PlanList.length; i++) {
              (this.PlanList as any)[i].updTimeStr = (this.PlanList as any)[i].updTimeStr.substring(0, 10);
              if ((this.PlanList as any)[i].giftRels && (this.PlanList as any)[i].giftRels.length > 0) {
                this.$set(this.PlanList[i], 'SSLListName', {});
                this.$set(this.PlanList[i], 'SSLListData', {});
                for (let j = 0; j < (this.PlanList as any)[i].giftRels.length; j++) {
                  this.$set(
                    (this.PlanList as any)[i].SSLListName,
                    (this.PlanList as any)[i].giftRels[j].giftType,
                    (this.PlanList as any)[i].giftRels[j].giftDes
                  );
                  this.$set(
                    (this.PlanList as any)[i].SSLListData,
                    (this.PlanList as any)[i].giftRels[j].giftType,
                    (this.PlanList as any)[i].giftRels[j].giftCount
                  );
                }
              }
            }
          }
        }
        console.log(this.PlanList);
        console.log(this.PlanList.length);
      } else {
        NativeUI.toast(res.msg);
      }
    });
  }
  /**
   * @Description 营销记录查询/营销记录新增
   * @Author JiangTao
   * @Date 2022-02-15 下午 11:04
   */
  selectMarkDetail(type: any, item:any = {}) {
    this.$router.push({
      name: 'JHDBDetail',
      params: {
        type: type, //0为当日营销记录,1为之前已营销的记录
        data: item
      }
    });
  }

  /**
   * @Description 判断是否提交
   * @Author JiangTao
   * @Date 2022-01-11 下午 04:07
   */
  onSubmit() {
    if (this.PlanList.length > 0) {
      this.flagPopup = true;
      this.dataview = true;
    } else {
      NativeUI.toast('请对该任务进行营销!');
    }
  }
  /**
   * @Description 提交/修改任务状态——1-待分发 2-待营销,3-营销中,4-已完成,5-撤回、6作废
   * @Author JiangTao
   * @Date 2022-01-11 下午 04:07
   */
  updateMarketTaskSingle(taskStatus: any) {
    let param = {
      taskNum: this.$store.getters.getCusInfo.taskNum,
      taskStatus: taskStatus
    };
    NativeUI.showWaiting('提交中...');
    return IF.transferDataInter(applicationApi.updateMarketTaskSingle, param).then((res: any) => {
      NativeUI.closeWaiting();
      if (res.code == '1') {
        this.operate = '1';
      } else {
        this.operate = '2';
        NativeUI.toast(res.msg);
      }
    });
  }
  sendOut() {
    if (this.dataview) {
      this.updateMarketTaskSingle(4).then(() => {
        if (this.operate == '1') {
          this.showCancel = false;
          this.confirmText = "知道啦";
          this.dataview = false;
        }
      });
    } else {
      this.flagPopup = false;
      this.$router.go(-1);
    }
  }
}
</script>

<style scoped>
.markdatastyle {
  height: 50px;
  width: 88%;
  border-bottom: 1px solid #e0e1e2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  font-size: 16px;
}
.markdatastyle > div {
  font-size: 16px;
}
.popup-data {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.popup-content {
  height: 100%;
}
</style>