shengxuefei 4 éve
szülő
commit
f4a2c7fc6d

+ 0 - 86
package - 副本.json

@@ -1,86 +0,0 @@
-{
-  "name": "mobilesalesapp",
-  "version": "1.0.0",
-  "description": "移动销售",
-  "author": "shengxuefei <shengxuefei@365wy.top>",
-  "private": true,
-  "scripts": {
-    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
-    "start": "npm run dev",
-    "lint": "eslint --ext .js,.vue src",
-    "build": "node build/build.js"
-  },
-  "dependencies": {
-    "axios": "^0.21.1",
-    "css-loader": "^2.0.0",
-    "decimal.js": "^10.2.1",
-    "vant": "^2.12.9",
-    "vue": "^2.5.2",
-    "vue-router": "^3.0.1",
-    "vuex": "^3.6.2"
-  },
-  "devDependencies": {
-    "autoprefixer": "^7.1.2",
-    "babel-core": "^6.22.1",
-    "babel-eslint": "^8.2.1",
-    "babel-helper-vue-jsx-merge-props": "^2.0.3",
-    "babel-loader": "^7.1.1",
-    "babel-plugin-import": "^1.13.3",
-    "babel-plugin-syntax-jsx": "^6.18.0",
-    "babel-plugin-transform-runtime": "^6.22.0",
-    "babel-plugin-transform-vue-jsx": "^3.5.0",
-    "babel-preset-env": "^1.3.2",
-    "babel-preset-stage-2": "^6.22.0",
-    "chalk": "^2.0.1",
-    "copy-webpack-plugin": "^4.0.1",
-    "eslint": "^4.15.0",
-    "eslint-config-standard": "^10.2.1",
-    "eslint-friendly-formatter": "^3.0.0",
-    "eslint-loader": "^1.7.1",
-    "eslint-plugin-import": "^2.7.0",
-    "eslint-plugin-node": "^5.2.0",
-    "eslint-plugin-promise": "^3.4.0",
-    "eslint-plugin-standard": "^3.0.1",
-    "eslint-plugin-vue": "^4.0.0",
-    "extract-text-webpack-plugin": "^3.0.0",
-    "file-loader": "^1.1.4",
-    "font-awesome": "^4.7.0",
-    "friendly-errors-webpack-plugin": "^1.6.1",
-    "html-webpack-plugin": "4.0.0",
-    "less": "^3.13.1",
-    "less-loader": "^5.0.0",
-    "node-notifier": "^5.1.2",
-    "node-sass": "^5.0.0",
-    "optimize-css-assets-webpack-plugin": "^3.2.0",
-    "ora": "^1.2.0",
-    "portfinder": "^1.0.13",
-    "postcss-import": "^11.0.0",
-    "postcss-loader": "^2.0.8",
-    "postcss-url": "^7.2.1",
-    "rimraf": "^2.6.0",
-    "sass": "^1.32.8",
-    "sass-loader": "^7.1.0",
-    "semver": "^5.3.0",
-    "shelljs": "^0.7.6",
-    "style-loader": "1.3.0",
-    "uglifyjs-webpack-plugin": "^1.1.1",
-    "url-loader": "^0.5.8",
-    "vue-loader": "^15.9.2",
-    "vue-style-loader": "^4.1.2",
-    "vue-template-compiler": "^2.5.2",
-    "webpack": "3.12.0",
-    "webpack-bundle-analyzer": "^2.9.0",
-    "webpack-cli": "3.1.2",
-    "webpack-dev-server": "3.1.9",
-    "webpack-merge": "^4.1.0"
-  },
-  "engines": {
-    "node": ">= 6.0.0",
-    "npm": ">= 3.0.0"
-  },
-  "browserslist": [
-    "> 1%",
-    "last 2 versions",
-    "not ie <= 8"
-  ]
-}

+ 18 - 0
src/common/api/loginApi.js

@@ -247,4 +247,22 @@ export function AddSaClient(data) {
     method: 'post',
     data
   })
+}
+
+/* 新分配到的客户*/
+export function GetRemindAllocation(data) {
+  return request({
+    url: '/GetRemindAllocation',
+    method: 'post',
+    data
+  })
+}
+
+/* 重名客户查询*/
+export function CheckSaClientRepeat(data) {
+  return request({
+    url: '/CheckSaClientRepeat',
+    method: 'post',
+    data
+  })
 }

+ 41 - 19
src/components/addsaclient.vue

@@ -17,14 +17,15 @@
       </template>
     </van-nav-bar>
 
-    <van-form>
+    <van-form @submit="save">
       <van-field
         v-model="name"
         name="姓名"
         label="姓名"
-        placeholder="请输入"
+        placeholder="请输入姓名(20个字以内)"
         input-align="right"
         required
+         :rules="[{ required: true, message: '请输入姓名' }]"
       />
       <van-field
         v-model="phone"
@@ -32,7 +33,9 @@
         label="手机"
         placeholder="请输入"
         input-align="right"
+        type="tel"
         required
+        :rules="[{ required: true, message: '请输入手机号' }]"
       ></van-field>
       <van-cell
         title="性别"
@@ -50,7 +53,7 @@
           :columns="sexData"
           @cancel="showSex = false"
           @confirm="onConfirmSex"
-          :default-index="sexIndex"
+          :default-index="0"
         />
       </van-popup>
       
@@ -127,14 +130,15 @@
         label="接待信息"
         type="textarea"
         placeholder="请输入接待信息"
+        input-align="right"
       />
 
       <van-row class="bottom">
         <van-col span="12" class="bgGrey" @click="cancel">
           <van-icon name="close" />取消
         </van-col>
-        <van-col span="12" class="bgRed" @click="save"
-          ><van-icon name="passed" />保存
+        <van-col span="12" class="bgRed">
+          <van-button square icon="success" style="margin-bottom:5px;" type="danger" native-type="submit">保存</van-button>
         </van-col>
       </van-row>
     </van-form>
@@ -229,6 +233,7 @@ export default {
         that.GetSaClientInfo();
       });
     },
+   
     onConfirmSex: function (item, index) {
       console.info("onConfirmSex", item);
       this.sex = item.id;
@@ -242,40 +247,57 @@ export default {
       this.cognizeWay = value;
       this.showCognizeWay = false;
     },
+    onConfirm: function (item,index) {
+       console.info('onConfirm',item);
+       this.visitType=item.name;
+       this.showVisitType=false;
+    },
+    onConfirmIntention:function (value,index) {  //意向强度
+        console.info('onConfirmIntention',value);
+        this.visitIntention=value;
+        console.info('onConfirmIntention intention',this.visitIntention);
+        this.showintention=false;
+    },
     cancel: function () {
       this.$router.go(-1);
     },
     save: function () {
       let that = this;
+      let namePattern=/^\S{1,20}$/;
+      let phonePattern=/^1[3456789]\d{9}$/;
+      if(!namePattern.test(this.name)){
+        this.$toast("姓名不能超过20字");
+        return;
+      }
+      if(!phonePattern.test(this.phone)){
+        this.$toast("手机格式不正确");
+        return;
+      }
+      console.info('sex',this.sex);
+      if(this.sex!=0&&this.sex!=1){
+        this.$toast("请选择性别");
+        return;
+      }
       let jsonData = {
         name: that.name,
         phone: that.phone,
         sex: that.sex,
+        visitType:that.visitType,
         remark: that.remark,
-        credentialsType: that.credentialsType,
-        credentialsId: that.credentialsId,
-        nationality: that.nationality,
-        birth: that.birth,
-        marry: that.marry,
-        household: that.household,
-        post: that.post,
-        fax: that.fax,
-        email: that.email,
-        address: that.address,
+        visitIntention:that.visitIntention,
         cognizeWay: that.cognizeWay,
-        phoneList: that.phoneList,
+        visitRemark: that.visitRemark,
       };
       //console.info("save jsonData", JSON.stringify(jsonData));
       let data = {
         userCode: that.$store.state.data.userCode,
         projectId: that.$store.state.projectId,
-        clientId: that.id,
         jsonData: JSON.stringify(jsonData),
       };
       console.info("save", data);
       //return;
-      ModifySaClient(data).then((res) => {
-        console.info("ModifySaClient", res);
+      AddSaClient(data).then((res) => {
+        console.info("AddSaClient", res);
         if (res.result) {
           if (res.msg == null) {
             that.$router.go(-1);

+ 5 - 1
src/components/clientdetail.vue

@@ -143,6 +143,7 @@
           :value="data2.Remark"
           value-class="infoValue"
           title-class="infoTitle"
+          class="remarkClass"
         />
       </van-tab>
       <van-tab title="单据信息" name="c" title-class="titleClass">
@@ -368,9 +369,12 @@ export default {
 .bottom {
   /* left:0; */
   bottom: 0px;
-  position: absolute;
+  position: fixed;
   width: 100%;
 }
+.remarkClass{
+  margin-bottom: 40px;
+}
 .bgGrey {
   background: #999999;
   height: 35px;

+ 172 - 0
src/components/getremindallocation.vue

@@ -0,0 +1,172 @@
+<template>
+  <div>
+    <van-nav-bar
+      @click-left="onClickLeft"
+      @click-right="onClickRight"
+      style="background-color: #1989fa"
+    >
+      <template #title>
+        <van-col style="color: #ffffff">新分配到的客户</van-col>
+      </template>
+      <template #left>
+        <i
+          class="fa fa-arrow-circle-left"
+          aria-hidden="true"
+          style="color: #ffffff; font-size: 18px"
+        ></i>
+      </template>
+      <template #right>
+        <van-icon name="replay" size="18" color="#ffffff" />
+      </template>
+    </van-nav-bar>
+
+    <van-pull-refresh v-model="isLoading" @refresh="onRefresh">
+      <van-list
+        v-model="loading"
+        :finished="finished"
+        loading-text="加载中..."
+        finished-text="我是有底线的~"
+        @load="onLoad"
+      >
+        <van-cell
+          v-for="item in listdata"
+          :key="item.clientId"
+          :value="item.num"
+          border
+        >
+          <template #default>
+            <van-row>
+              <van-cell :title="item.name" is-link arrow-direction border :to="'/clientdetail?id='+item.clientId+'&name='+item.name"  />
+            </van-row>
+            <van-row class="borderTop">
+              <van-col span="20">
+                <van-row>
+                  <van-col span="5" class="title1">认购单号</van-col>
+                  <van-col span="19">{{ item.billCode }}</van-col>
+                </van-row>
+                <van-row>
+                  <van-col span="5" class="title1">房源名称</van-col>
+                  <van-col span="19">{{ item.roomName }}</van-col>
+                </van-row>
+                <van-row>
+                  <van-col span="5" class="title1">计划日期</van-col>
+                  <van-col span="19">{{ item.planDate }}</van-col>
+                </van-row>
+              </van-col>
+              <van-col span="4">
+                <van-row>
+                  <van-col span="24">{{ item.overDays }}</van-col>
+                  <van-col span="24" class="title1">逾期/天</van-col>
+                </van-row>
+              </van-col>
+            </van-row>
+          </template>
+        </van-cell>
+      </van-list>
+    </van-pull-refresh>
+  </div>
+</template>
+
+<script>
+import { GetRemindAllocation } from "@/common/api/loginApi.js";
+export default {
+  name: "login",
+  data() {
+    return {
+      listdata: [], 
+      loading: false,
+      finished: false,
+      isLoading: false,
+      page:"1"
+    };
+  },
+  created: function () {
+    console.info("created");
+    //console.info(this.$util);
+    this.$util.persistLogin(this);
+  },
+  methods: {
+    GetRemindAllocation: function () {
+      var that = this;
+      let today=this.$util.getCurrentDate();
+      var data = {
+        userCode: that.$store.state.data.userCode,
+        projectId: that.$store.state.projectId,
+        page: that.page,
+        pageCount: "5",
+       
+      };
+      console.info("data", data);
+      GetRemindAllocation(data).then((res) => {
+        console.info("GetRemindAllocation", res);
+        if (!res.result) {
+          that.$toast(res.msg);
+          return;
+        }
+        if(res.data!=null&&res.data.listdata.length>0){
+          that.loading=false;
+          res.data.listdata.forEach(function (item, index, array) {
+            that.listdata.push(item);
+            //console.info('length:'+res.data.listdata.length,'index:'+index);
+            if(res.data.listdata.length-1==index){
+              that.page++;
+              if(res.data.page.totalPages==that.page-1){
+                that.finished=true;
+              }
+            }
+          });
+          if(res.data==null||res.data.listdata==null||res.data.listdata.length==0){
+            that.finished = true;
+          }
+          
+        }
+         else{
+          that.finished=true;
+        }
+      });
+    },
+    // 列表加载
+    onLoad () {
+      setTimeout(() => {
+        this.GetRemindAllocation()
+        this.loading = true
+      }, 500)
+    },
+    onRefresh () {
+      setTimeout(() => {
+        // 重新初始化这些属性
+        this.isLoading = false
+        this.listdata = []
+        this.page = 1
+        this.loading = false
+        this.finished = false
+        //this.noData = false
+        // 请求信息
+        this.GetRemindAllocation()
+      }, 500)
+    },
+    onClickLeft() {
+      // this.$toast('返回')
+      console.info("left");
+      this.$router.go(-1);
+    },
+    onClickRight() {
+      this.$router.go(0);
+    },
+  },
+};
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style scoped>
+.title1 {
+  color: #999;
+}
+.value1 {
+  color: #999;
+  font-size: 18px;
+}
+.borderTop {
+  border-top: #efefef solid 1px;
+}
+</style>

+ 173 - 0
src/components/getremindarrearagetoday.vue

@@ -0,0 +1,173 @@
+<template>
+  <div>
+    <van-nav-bar
+      @click-left="onClickLeft"
+      @click-right="onClickRight"
+      style="background-color: #1989fa"
+    >
+      <template #title>
+        <van-col style="color: #ffffff">今日待缴款客户</van-col>
+      </template>
+      <template #left>
+        <i
+          class="fa fa-arrow-circle-left"
+          aria-hidden="true"
+          style="color: #ffffff; font-size: 18px"
+        ></i>
+      </template>
+      <template #right>
+        <van-icon name="replay" size="18" color="#ffffff" />
+      </template>
+    </van-nav-bar>
+
+    <van-pull-refresh v-model="isLoading" @refresh="onRefresh">
+      <van-list
+        v-model="loading"
+        :finished="finished"
+        loading-text="加载中..."
+        finished-text="我是有底线的~"
+        @load="onLoad"
+      >
+        <van-cell
+          v-for="item in listdata"
+          :key="item.clientId"
+          :value="item.num"
+          border
+        >
+          <template #default>
+            <van-row>
+              <van-cell :title="item.name" is-link arrow-direction border :to="'/clientdetail?id='+item.clientId+'&name='+item.name" />
+            </van-row>
+            <van-row class="borderTop">
+              <van-col span="20">
+                <van-row>
+                  <van-col span="5" class="title1">认购单号</van-col>
+                  <van-col span="19">{{ item.billCode }}</van-col>
+                </van-row>
+                <van-row>
+                  <van-col span="5" class="title1">房源名称</van-col>
+                  <van-col span="19">{{ item.roomName }}</van-col>
+                </van-row>
+                <van-row>
+                  <van-col span="5" class="title1">计划日期</van-col>
+                  <van-col span="19">{{ item.planDate }}</van-col>
+                </van-row>
+              </van-col>
+              <van-col span="4">
+                <van-row>
+                  <van-col span="24">{{ item.overDays }}</van-col>
+                  <van-col span="24" class="title1">逾期/天</van-col>
+                </van-row>
+              </van-col>
+            </van-row>
+          </template>
+        </van-cell>
+      </van-list>
+    </van-pull-refresh>
+  </div>
+</template>
+
+<script>
+import { GetRemindArrearage } from "@/common/api/loginApi.js";
+export default {
+  name: "login",
+  data() {
+    return {
+      listdata: [], 
+      loading: false,
+      finished: false,
+      isLoading: false,
+      page:"1"
+    };
+  },
+  created: function () {
+    console.info("created");
+    //console.info(this.$util);
+    this.$util.persistLogin(this);
+  },
+  methods: {
+    GetRemindArrearage: function () {
+      var that = this;
+      let today=this.$util.getCurrentDate();
+      var data = {
+        userCode: that.$store.state.data.userCode,
+        projectId: that.$store.state.projectId,
+        page: that.page,
+        pageCount: "5",
+        dateRange0: today,
+        dateRange1: today,
+      };
+      console.info("data", data);
+      GetRemindArrearage(data).then((res) => {
+        console.info("GetRemindArrearage", res);
+        if (!res.result) {
+          that.$toast(res.msg);
+          return;
+        }
+        if(res.data!=null&&res.data.listdata.length>0){
+          that.loading=false;
+          res.data.listdata.forEach(function (item, index, array) {
+            that.listdata.push(item);
+            //console.info('length:'+res.data.listdata.length,'index:'+index);
+            if(res.data.listdata.length-1==index){
+              that.page++;
+              if(res.data.page.totalPages==that.page-1){
+                that.finished=true;
+              }
+            }
+          });
+          if(res.data==null||res.data.listdata==null||res.data.listdata.length==0){
+            that.finished = true;
+          }
+          
+        }
+         else{
+          that.finished=true;
+        }
+      });
+    },
+    // 列表加载
+    onLoad () {
+      setTimeout(() => {
+        this.GetRemindArrearage()
+        this.loading = true
+      }, 500)
+    },
+    onRefresh () {
+      setTimeout(() => {
+        // 重新初始化这些属性
+        this.isLoading = false
+        this.listdata = []
+        this.page = 1
+        this.loading = false
+        this.finished = false
+        //this.noData = false
+        // 请求信息
+        this.GetRemindArrearage()
+      }, 500)
+    },
+    onClickLeft() {
+      // this.$toast('返回')
+      console.info("left");
+      this.$router.go(-1);
+    },
+    onClickRight() {
+      this.$router.go(0);
+    },
+  },
+};
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style scoped>
+.title1 {
+  color: #999;
+}
+.value1 {
+  color: #999;
+  font-size: 18px;
+}
+.borderTop {
+  border-top: #efefef solid 1px;
+}
+</style>

+ 174 - 0
src/components/getremindbuycontracttoday.vue

@@ -0,0 +1,174 @@
+<template>
+  <div>
+    <van-nav-bar
+      @click-left="onClickLeft"
+      @click-right="onClickRight"
+      style="background-color: #1989fa"
+    >
+      <template #title>
+        <van-col style="color: #ffffff">今日待认购客户</van-col>
+      </template>
+      <template #left>
+        <i
+          class="fa fa-arrow-circle-left"
+          aria-hidden="true"
+          style="color: #ffffff; font-size: 18px"
+        ></i>
+      </template>
+      <template #right>
+        <van-icon name="replay" size="18" color="#ffffff" />
+      </template>
+    </van-nav-bar>
+
+    <van-pull-refresh v-model="isLoading" @refresh="onRefresh">
+      <van-list
+        v-model="loading"
+        :finished="finished"
+        loading-text="加载中..."
+        finished-text="我是有底线的~"
+        @load="onLoad"
+      >
+        <van-cell
+          v-for="item in listdata"
+          :key="item.clientId"
+          :value="item.num"
+          border
+        >
+          <template #default>
+            <van-row>
+              <van-cell :title="item.name" is-link arrow-direction border :to="'/clientdetail?id='+item.clientId+'&name='+item.name" />
+            </van-row>
+            <van-row class="borderTop">
+              <van-col span="20">
+                <van-row>
+                  <van-col span="5" class="title1">认购单号</van-col>
+                  <van-col span="19">{{ item.billCode }}</van-col>
+                </van-row>
+                <van-row>
+                  <van-col span="5" class="title1">房源名称</van-col>
+                  <van-col span="19">{{ item.roomName }}</van-col>
+                </van-row>
+                <van-row>
+                  <van-col span="5" class="title1">计划日期</van-col>
+                  <van-col span="19">{{ item.planDate }}</van-col>
+                </van-row>
+              </van-col>
+              <van-col span="4">
+                <van-row>
+                  <van-col span="24">{{ item.overDays }}</van-col>
+                  <van-col span="24" class="title1">逾期/天</van-col>
+                </van-row>
+              </van-col>
+            </van-row>
+          </template>
+        </van-cell>
+      </van-list>
+    </van-pull-refresh>
+  </div>
+</template>
+
+<script>
+import { GetRemindBuyContract } from "@/common/api/loginApi.js";
+export default {
+  name: "login",
+  data() {
+    return {
+      listdata: [], 
+      loading: false,
+      finished: false,
+      isLoading: false,
+      page:"1"
+    };
+  },
+  created: function () {
+    console.info("created");
+    //console.info(this.$util);
+    this.$util.persistLogin(this);
+  },
+  methods: {
+    GetRemindBuyContract: function () {
+      var that = this;
+      let today=this.$util.getCurrentDate();
+      var data = {
+        userCode: that.$store.state.data.userCode,
+        projectId: that.$store.state.projectId,
+        page: that.page,
+        pageCount: "5",
+        dateRange0: today,
+        dateRange1: today,
+      };
+      console.info("data", data);
+      GetRemindBuyContract(data).then((res) => {
+        console.info("GetRemindBuyContract", res);
+        if (!res.result) {
+          that.$toast(res.msg);
+          return;
+        }
+        if(res.data!=null&&res.data.listdata.length>0){
+          that.loading=false;
+          res.data.listdata.forEach(function (item, index, array) {
+            that.listdata.push(item);
+            //console.info('length:'+res.data.listdata.length,'index:'+index);
+            if(res.data.listdata.length-1==index){
+              that.page++;
+              if(res.data.page.totalPages==that.page-1){
+                that.finished=true;
+              }
+            }
+          });
+          if(res.data==null||res.data.listdata==null||res.data.listdata.length==0){
+            that.finished = true;
+          }
+          
+        }
+        else{
+          that.finished=true;
+        }
+       
+      });
+    },
+    // 列表加载
+    onLoad () {
+      setTimeout(() => {
+        this.GetRemindBuyContract()
+        this.loading = true
+      }, 500)
+    },
+    onRefresh () {
+      setTimeout(() => {
+        // 重新初始化这些属性
+        this.isLoading = false
+        this.listdata = []
+        this.page = 1
+        this.loading = false
+        this.finished = false
+        //this.noData = false
+        // 请求信息
+        this.GetRemindBuyContract()
+      }, 500)
+    },
+    onClickLeft() {
+      // this.$toast('返回')
+      console.info("left");
+      this.$router.go(-1);
+    },
+    onClickRight() {
+      this.$router.go(0);
+    },
+  },
+};
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style scoped>
+.title1 {
+  color: #999;
+}
+.value1 {
+  color: #999;
+  font-size: 18px;
+}
+.borderTop {
+  border-top: #efefef solid 1px;
+}
+</style>

+ 173 - 0
src/components/getremindsigncontracttoday.vue

@@ -0,0 +1,173 @@
+<template>
+  <div>
+    <van-nav-bar
+      @click-left="onClickLeft"
+      @click-right="onClickRight"
+      style="background-color: #1989fa"
+    >
+      <template #title>
+        <van-col style="color: #ffffff">今日待签约客户</van-col>
+      </template>
+      <template #left>
+        <i
+          class="fa fa-arrow-circle-left"
+          aria-hidden="true"
+          style="color: #ffffff; font-size: 18px"
+        ></i>
+      </template>
+      <template #right>
+        <van-icon name="replay" size="18" color="#ffffff" />
+      </template>
+    </van-nav-bar>
+
+    <van-pull-refresh v-model="isLoading" @refresh="onRefresh">
+      <van-list
+        v-model="loading"
+        :finished="finished"
+        loading-text="加载中..."
+        finished-text="我是有底线的~"
+        @load="onLoad"
+      >
+        <van-cell
+          v-for="item in listdata"
+          :key="item.clientId"
+          :value="item.num"
+          border
+        >
+          <template #default>
+            <van-row>
+              <van-cell :title="item.name" is-link arrow-direction border :to="'/clientdetail?id='+item.clientId+'&name='+item.name" />
+            </van-row>
+            <van-row class="borderTop">
+              <van-col span="20">
+                <van-row>
+                  <van-col span="5" class="title1">认购单号</van-col>
+                  <van-col span="19">{{ item.billCode }}</van-col>
+                </van-row>
+                <van-row>
+                  <van-col span="5" class="title1">房源名称</van-col>
+                  <van-col span="19">{{ item.roomName }}</van-col>
+                </van-row>
+                <van-row>
+                  <van-col span="5" class="title1">计划日期</van-col>
+                  <van-col span="19">{{ item.planDate }}</van-col>
+                </van-row>
+              </van-col>
+              <van-col span="4">
+                <van-row>
+                  <van-col span="24">{{ item.overDays }}</van-col>
+                  <van-col span="24" class="title1">逾期/天</van-col>
+                </van-row>
+              </van-col>
+            </van-row>
+          </template>
+        </van-cell>
+      </van-list>
+    </van-pull-refresh>
+  </div>
+</template>
+
+<script>
+import { GetRemindSignContract } from "@/common/api/loginApi.js";
+export default {
+  name: "login",
+  data() {
+    return {
+      listdata: [], 
+      loading: false,
+      finished: false,
+      isLoading: false,
+      page:"1"
+    };
+  },
+  created: function () {
+    console.info("created");
+    //console.info(this.$util);
+    this.$util.persistLogin(this);
+  },
+  methods: {
+    GetRemindSignContract: function () {
+      var that = this;
+      let today=this.$util.getCurrentDate();
+      var data = {
+        userCode: that.$store.state.data.userCode,
+        projectId: that.$store.state.projectId,
+        page: that.page,
+        pageCount: "5",
+        dateRange0: today,
+        dateRange1: today,
+      };
+      console.info("data", data);
+      GetRemindSignContract(data).then((res) => {
+        console.info("GetRemindSignContract", res);
+        if (!res.result) {
+          that.$toast(res.msg);
+          return;
+        }
+        if(res.data!=null&&res.data.listdata.length>0){
+          that.loading=false;
+          res.data.listdata.forEach(function (item, index, array) {
+            that.listdata.push(item);
+            //console.info('length:'+res.data.listdata.length,'index:'+index);
+            if(res.data.listdata.length-1==index){
+              that.page++;
+              if(res.data.page.totalPages==that.page-1){
+                that.finished=true;
+              }
+            }
+          });
+          if(res.data==null||res.data.listdata==null||res.data.listdata.length==0){
+            that.finished = true;
+          }
+          
+        }
+         else{
+          that.finished=true;
+        }
+      });
+    },
+    // 列表加载
+    onLoad () {
+      setTimeout(() => {
+        this.GetRemindSignContract()
+        this.loading = true
+      }, 500)
+    },
+    onRefresh () {
+      setTimeout(() => {
+        // 重新初始化这些属性
+        this.isLoading = false
+        this.listdata = []
+        this.page = 1
+        this.loading = false
+        this.finished = false
+        //this.noData = false
+        // 请求信息
+        this.GetRemindSignContract()
+      }, 500)
+    },
+    onClickLeft() {
+      // this.$toast('返回')
+      console.info("left");
+      this.$router.go(-1);
+    },
+    onClickRight() {
+      this.$router.go(0);
+    },
+  },
+};
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style scoped>
+.title1 {
+  color: #999;
+}
+.value1 {
+  color: #999;
+  font-size: 18px;
+}
+.borderTop {
+  border-top: #efefef solid 1px;
+}
+</style>

+ 173 - 0
src/components/getremindvisittoday.vue

@@ -0,0 +1,173 @@
+<template>
+  <div>
+    <van-nav-bar
+      @click-left="onClickLeft"
+      @click-right="onClickRight"
+      style="background-color: #1989fa"
+    >
+      <template #title>
+        <van-col style="color: #ffffff">今日待回访客户</van-col>
+      </template>
+      <template #left>
+        <i
+          class="fa fa-arrow-circle-left"
+          aria-hidden="true"
+          style="color: #ffffff; font-size: 18px"
+        ></i>
+      </template>
+      <template #right>
+        <van-icon name="replay" size="18" color="#ffffff" />
+      </template>
+    </van-nav-bar>
+
+    <van-pull-refresh v-model="isLoading" @refresh="onRefresh">
+      <van-list
+        v-model="loading"
+        :finished="finished"
+        loading-text="加载中..."
+        finished-text="我是有底线的~"
+        @load="onLoad"
+      >
+        <van-cell
+          v-for="item in listdata"
+          :key="item.clientId"
+          :value="item.num"
+          border
+        >
+          <template #default>
+            <van-row>
+              <van-cell :title="item.name" is-link arrow-direction border :to="'/clientdetail?id='+item.clientId+'&name='+item.name"  />
+            </van-row>
+            <van-row class="borderTop">
+              <van-col span="20">
+                <van-row>
+                  <van-col span="5" class="title1">认购单号</van-col>
+                  <van-col span="19">{{ item.billCode }}</van-col>
+                </van-row>
+                <van-row>
+                  <van-col span="5" class="title1">房源名称</van-col>
+                  <van-col span="19">{{ item.roomName }}</van-col>
+                </van-row>
+                <van-row>
+                  <van-col span="5" class="title1">计划日期</van-col>
+                  <van-col span="19">{{ item.planDate }}</van-col>
+                </van-row>
+              </van-col>
+              <van-col span="4">
+                <van-row>
+                  <van-col span="24">{{ item.overDays }}</van-col>
+                  <van-col span="24" class="title1">逾期/天</van-col>
+                </van-row>
+              </van-col>
+            </van-row>
+          </template>
+        </van-cell>
+      </van-list>
+    </van-pull-refresh>
+  </div>
+</template>
+
+<script>
+import { GetRemindVisit } from "@/common/api/loginApi.js";
+export default {
+  name: "login",
+  data() {
+    return {
+      listdata: [], 
+      loading: false,
+      finished: false,
+      isLoading: false,
+      page:"1"
+    };
+  },
+  created: function () {
+    console.info("created");
+    //console.info(this.$util);
+    this.$util.persistLogin(this);
+  },
+  methods: {
+    GetRemindVisit: function () {
+      var that = this;
+      let today=this.$util.getCurrentDate();
+      var data = {
+        userCode: that.$store.state.data.userCode,
+        projectId: that.$store.state.projectId,
+        page: that.page,
+        pageCount: "5",
+        dateRange0: today,
+        dateRange1: today,
+      };
+      console.info("data", data);
+      GetRemindVisit(data).then((res) => {
+        console.info("GetRemindVisit", res);
+        if (!res.result) {
+          that.$toast(res.msg);
+          return;
+        }
+        if(res.data!=null&&res.data.listdata.length>0){
+          that.loading=false;
+          res.data.listdata.forEach(function (item, index, array) {
+            that.listdata.push(item);
+            //console.info('length:'+res.data.listdata.length,'index:'+index);
+            if(res.data.listdata.length-1==index){
+              that.page++;
+              if(res.data.page.totalPages==that.page-1){
+                that.finished=true;
+              }
+            }
+          });
+          if(res.data==null||res.data.listdata==null||res.data.listdata.length==0){
+            that.finished = true;
+          }
+          
+        }
+         else{
+          that.finished=true;
+        }
+      });
+    },
+    // 列表加载
+    onLoad () {
+      setTimeout(() => {
+        this.GetRemindVisit()
+        this.loading = true
+      }, 500)
+    },
+    onRefresh () {
+      setTimeout(() => {
+        // 重新初始化这些属性
+        this.isLoading = false
+        this.listdata = []
+        this.page = 1
+        this.loading = false
+        this.finished = false
+        //this.noData = false
+        // 请求信息
+        this.GetRemindVisit()
+      }, 500)
+    },
+    onClickLeft() {
+      // this.$toast('返回')
+      console.info("left");
+      this.$router.go(-1);
+    },
+    onClickRight() {
+      this.$router.go(0);
+    },
+  },
+};
+</script>
+
+<!-- Add "scoped" attribute to limit CSS to this component only -->
+<style scoped>
+.title1 {
+  color: #999;
+}
+.value1 {
+  color: #999;
+  font-size: 18px;
+}
+.borderTop {
+  border-top: #efefef solid 1px;
+}
+</style>

+ 6 - 2
src/components/getsaclientcontactinfo.vue

@@ -58,8 +58,12 @@
         size="large"
       >
       <template #default>
-        <span v-for="n in data.Intention" :key="n+'x'">★</span>
-        <span v-for="n in 5-data.Intention" :key="n">☆</span>
+        <template v-if="data.Intention>0">
+          <span v-for="n in data.Intention" :key="n+'x'">★</span>
+        </template>
+        <template v-if="data.Intention<5">
+          <span v-for="n in 5-data.Intention" :key="n">☆</span>
+        </template>
       </template>
       </van-cell>
       <van-cell

+ 8 - 4
src/components/gettodaytodosummary.vue

@@ -93,19 +93,23 @@ export default {
       //console.info("click1", e.target.innerText);
       if (id == "1") {
         //逾期待签约客户跳转
-        this.$router.push("/getremindsigncontract");
+        this.$router.push("/getremindsigncontracttoday");
       }
       else if(id=="2"){
         //逾期待认购客户跳转
-        this.$router.push("/getremindbuycontract");
+        this.$router.push("/getremindbuycontracttoday");
       }
        else if(id=="3"){
         //逾期待缴款客户跳转
-        this.$router.push("/getremindarrearage");
+        this.$router.push("/getremindarrearagetoday");
       }
        else if(id=="4"){
         //逾期待回访客户跳转
-        this.$router.push("/getremindvisit");
+        this.$router.push("/getremindvisittoday");
+      }
+       else if(id=="5"){
+        //新分配到的客户跳转
+        this.$router.push("/getremindallocation");
       }
     },
     onClickLeft() {

+ 30 - 0
src/router/index.js

@@ -23,6 +23,11 @@ import addsaclientcontact from '@/components/addsaclientcontact'
 import saclientmodify from '@/components/saclientmodify'
 import getsaclientlist from '@/components/getsaclientlist'
 import addsaclient from '@/components/addsaclient'
+import getremindsigncontracttoday from '@/components/getremindsigncontracttoday'
+import getremindbuycontracttoday from '@/components/getremindbuycontracttoday'
+import getremindarrearagetoday from '@/components/getremindarrearagetoday'
+import getremindvisittoday from '@/components/getremindvisittoday'
+import getremindallocation from '@/components/getremindallocation'
 Vue.use(Router)
 
 export default new Router({
@@ -142,5 +147,30 @@ export default new Router({
       name: 'addsaclient',
       component: addsaclient
     },
+    {     //今日待签约客户
+      path: '/getremindsigncontracttoday',
+      name: 'getremindsigncontracttoday',
+      component: getremindsigncontracttoday
+    },
+    {     //今日待认购客户
+      path: '/getremindbuycontracttoday',
+      name: 'getremindbuycontracttoday',
+      component: getremindbuycontracttoday
+    },
+    {     //今日待缴款客户
+      path: '/getremindarrearagetoday',
+      name: 'getremindarrearagetoday',
+      component: getremindarrearagetoday
+    },
+    {     //今日待回访客户
+      path: '/getremindvisittoday',
+      name: 'getremindvisittoday',
+      component: getremindvisittoday
+    },
+    {     //新分配到的客户
+      path: '/getremindallocation',
+      name: 'getremindallocation',
+      component: getremindallocation
+    },
   ]
 })