Browse Source

新增组件及页面

liuqiwen 4 years ago
parent
commit
edfdaed9d7

+ 3 - 1
dgtis-ui/src/main.js

@@ -20,7 +20,7 @@ import './assets/icons' // icon
 import './permission' // permission control
 import { getDicts } from "@/api/system/dict/data";
 import { getConfigKey } from "@/api/system/config";
-import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree,levelText,getArea } from "@/utils/ruoyi";
+import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree,levelText,telNo,cardNo,getArea } from "@/utils/ruoyi";
 import Pagination from "@/components/Pagination";
 //自定义表格工具扩展
 import RightToolbar from "@/components/RightToolbar"
@@ -37,6 +37,8 @@ Vue.prototype.download = download
 Vue.prototype.downloadNew = downloadNew
 Vue.prototype.handleTree = handleTree
 Vue.prototype.levelText = levelText
+Vue.prototype.cardNo = cardNo
+Vue.prototype.telNo = telNo
 Vue.prototype.getArea = getArea
 
 Vue.prototype.msgSuccess = function (msg) {

+ 42 - 26
dgtis-ui/src/utils/downloadNew.js

@@ -87,33 +87,49 @@ serviceNew.interceptors.response.use(res => {
 
 // 通用下载方法
 export function downloadNew(url, params, filename) {
-  return serviceNew.get(url, params, {
-    transformRequest: [(params) => {
-      return tansParams(params)
-    }],
-    headers: {
-        'Content-Type': 'application/x-www-form-urlencoded'
-    },
-    responseType: 'blob'
+  console.log(params)
+  return serviceNew({
+    url: url,
+    method: 'get',
+    params: params
   }).then((data) => {
-    const content = data
-    const blob = new Blob([content])
-    if ('download' in document.createElement('a')) {
-      const elink = document.createElement('a')
-      elink.download = filename
-      elink.style.display = 'none'
-      elink.href = URL.createObjectURL(blob)
-      document.body.appendChild(elink)
-      elink.click()
-      URL.revokeObjectURL(elink.href)
-      document.body.removeChild(elink)
-      return data;
-    } else {
-      navigator.msSaveBlob(blob, filename)
-    }
-  }).catch((r) => {
-    console.error(r)
-  })
+      const content = data
+      const blob = new Blob([content])
+      if ('download' in document.createElement('a')) {
+        const elink = document.createElement('a')
+        elink.download = filename
+        elink.style.display = 'none'
+        elink.href = URL.createObjectURL(blob)
+        document.body.appendChild(elink)
+        elink.click()
+        URL.revokeObjectURL(elink.href)
+        document.body.removeChild(elink)
+        return data;
+      } else {
+        navigator.msSaveBlob(blob, filename)
+      }
+    }).catch((r) => {
+      console.error(r)
+    })
+  // return serviceNew.get(url, params).then((data) => {
+  //   const content = data
+  //   const blob = new Blob([content])
+  //   if ('download' in document.createElement('a')) {
+  //     const elink = document.createElement('a')
+  //     elink.download = filename
+  //     elink.style.display = 'none'
+  //     elink.href = URL.createObjectURL(blob)
+  //     document.body.appendChild(elink)
+  //     elink.click()
+  //     URL.revokeObjectURL(elink.href)
+  //     document.body.removeChild(elink)
+  //     return data;
+  //   } else {
+  //     navigator.msSaveBlob(blob, filename)
+  //   }
+  // }).catch((r) => {
+  //   console.error(r)
+  // })
 }
 
 export default serviceNew

+ 1 - 1
dgtis-ui/src/utils/request.js

@@ -11,7 +11,7 @@ const service = axios.create({
   // axios中请求配置有baseURL选项,表示请求URL公共部分
   baseURL: process.env.VUE_APP_BASE_API,
   // 超时
-  timeout: 10000
+  timeout: 30000
 })
 
 // request拦截器

+ 20 - 0
dgtis-ui/src/utils/ruoyi.js

@@ -186,6 +186,26 @@ export function levelText(val){
     return text = '无';
   }
 
+}
+// 手机掩码
+export function telNo(tel){
+  if(tel){
+    let mystr = tel.substring(0,4-1)+'****'+tel.substring(6+1);
+    return mystr;
+  }else{
+    return '';
+  }
+}
+// 证件号码
+export function cardNo(no){
+  if(no){
+    var length = no.length;
+    let mystr = no.substring(0,length-7)+'****'+no.substring(length-3);
+    return mystr;
+  }else {
+    return '';
+  }
+
 }
 
 // 解析地址省、市、区县、街道

+ 5 - 1
dgtis-ui/src/views/system/user/index.vue

@@ -144,7 +144,11 @@
               <el-table-column label="用户名称" align="center" prop="nickName" :show-overflow-tooltip="true" />
               <el-table-column label="登录名称" align="center" prop="userName" :show-overflow-tooltip="true" />
               <el-table-column label="部门" align="center" prop="dept.deptName" :show-overflow-tooltip="true" />
-              <el-table-column label="手机" align="center" prop="phonenumber" width="120" />
+              <el-table-column label="手机" align="center" width="120" >
+                <template slot-scope="scope">
+                  <span v-text="telNo(scope.row.phonenumber)"></span>
+                </template>
+              </el-table-column>
               <el-table-column label="用户状态" align="center">
                 <template slot-scope="scope">
                   <el-switch

+ 5 - 1
dgtis-ui/src/views/system/userInfo/components/contact.vue

@@ -34,7 +34,11 @@
       <el-table-column label="微信" align="center" prop="wechat" :show-overflow-tooltip="true"  />
       <el-table-column label="邮箱" align="center" prop="email" :show-overflow-tooltip="true" />
       <el-table-column label="QQ" align="center" prop="qq"  :show-overflow-tooltip="true"/>
-      <el-table-column label="手机" align="center" prop="pmphone"  :show-overflow-tooltip="true"/>
+      <el-table-column label="手机" align="center"  :show-overflow-tooltip="true">
+        <template slot-scope="scope">
+          <span v-text="telNo(scope.row.pmphone)"></span>
+        </template>
+      </el-table-column>
     </el-table>
   </div>
 </template>

+ 12 - 12
dgtis-ui/src/views/system/userInfo/components/contractInformation.vue

@@ -40,6 +40,10 @@
           <span class="name">已缴期数</span>
           <span class="value">{{item.norenewal}}次</span>
         </el-col>
+        <el-col :span="12">
+          <span class="name">缴费年期</span>
+          <span class="value" v-if="item.payment != '趸缴'">{{item.payendyear}}年</span>
+        </el-col>
         <el-col :span="12">
           <span class="name">销售渠道</span>
           <span class="value" v-if="item.schannel==1">团险渠道</span>
@@ -74,18 +78,18 @@
           <span class="name">下次缴费日期</span>
           <span class="value" v-if="isShowJFRQ(item)">{{parseTime(item.npdate,'{yy}-{mm}-{dd}')}}</span>
         </el-col>
-        <el-col :span="12">
-          <span class="name">被保人数</span>
-          <span class="value">{{item.soinsured}}人</span>
-        </el-col>
+<!--        <el-col :span="12">-->
+<!--          <span class="name">被保人数</span>-->
+<!--          <span class="value">{{item.soinsured}}人</span>-->
+<!--        </el-col>-->
 <!--        <el-col :span="12">-->
 <!--          <span class="name">基本保额</span>-->
 <!--          <span class="value">{{item.bsinsured}}</span>-->
 <!--        </el-col>-->
-        <el-col :span="12">
-          <span class="name">保单价值</span>
-          <span class="value">{{item.insurvalue}}</span>
-        </el-col>
+<!--        <el-col :span="12">-->
+<!--          <span class="name">保单价值</span>-->
+<!--          <span class="value">{{item.insurvalue}}</span>-->
+<!--        </el-col>-->
         <el-col :span="12">
           <span class="name">主被保险人名称</span>
           <span class="value">{{item.insname}}</span>
@@ -115,10 +119,6 @@
           <span class="value" v-if="item.poservice == 'Y'">是</span>
           <span class="value" v-else>否</span>
         </el-col>
-        <el-col :span="12">
-          <span class="name">缴费年期</span>
-          <span class="value" v-if="item.payment != '趸缴'">{{item.payendyear}}年</span>
-        </el-col>
         <el-col :span="24">
           <div class="line" v-if="index != (data.length-1)"></div>
         </el-col>

+ 5 - 4
dgtis-ui/src/views/system/userInfo/index.vue

@@ -33,10 +33,11 @@
           </el-col>
           <el-col :span="12">
             <span class="name">婚姻状况</span>
-            <span class="value" v-if="custInfo.maritalstat == 1">未婚</span>
-            <span class="value" v-else-if="custInfo.maritalstat == 2">已婚</span>
-            <span class="value" v-else-if="custInfo.maritalstat == 3">丧偶</span>
-            <span class="value" v-else-if="custInfo.maritalstat == 4">离异</span>
+            <span class="value">{{custInfo.maritalstat}}</span>
+<!--            <span class="value" v-if="custInfo.maritalstat == 1">未婚</span>-->
+<!--            <span class="value" v-else-if="custInfo.maritalstat == 2">已婚</span>-->
+<!--            <span class="value" v-else-if="custInfo.maritalstat == 3">丧偶</span>-->
+<!--            <span class="value" v-else-if="custInfo.maritalstat == 4">离异</span>-->
           </el-col>
           <el-col :span="12">
             <span class="name">职业</span>

+ 4 - 4
dgtis-ui/src/views/system/userInfoDetails/index.vue

@@ -73,7 +73,7 @@
                     <div class="numTitleB">险种信息</div>
                     <el-row :gutter="10">
                       <el-col :span="8">
-                        <div class="bxInfo">享受保障:<span>{{custInfo.guaranteeDay}}</span><span class="unit"></span></div>
+                        <div class="bxInfo">享受保障:<span>{{custInfo.guaranteeDay}}</span><span class="unit"></span></div>
                       </el-col>
                       <el-col :span="8">
                         <div class="bxInfo">年缴保费:<span>{{custInfo.prem}}</span><span class="unit">元</span></div>
@@ -138,7 +138,7 @@
                     <div>姓名:{{custInfo.name}}</div>
                   </el-col>
                   <el-col :span="12">
-                    <div>手机:{{custInfo.pmphone}}</div>
+                    <div>手机:{{telNo(custInfo.pmphone)}}</div>
                   </el-col>
                 </el-row>
                 <el-row :gutter="10">
@@ -148,7 +148,7 @@
                 </el-row>
                 <div class="dayDiv">
                   <div class="dayTitle">投保时长</div>
-                  <div class="dayNum">{{custInfo.insureDay}}<span class="unit"></span></div>
+                  <div class="dayNum">{{custInfo.insureDay}}<span class="unit"></span></div>
                 </div>
               </div>
 
@@ -158,7 +158,7 @@
           </div>
           <div class="bottomDiv">
             <div class="cardDiv">
-              <div class="cardTitle">投保时间节点及保费</div>
+              <div class="cardTitle">客户历史投保月份分布</div>
               <line-bar-chart
                 id="lineBarChart"
                 :width="width"

+ 12 - 11
dgtis-ui/src/views/system/userInfoList/index.vue

@@ -31,10 +31,10 @@
               </el-table-column>
               <el-table-column label="证件号码" align="center" :show-overflow-tooltip="true">
                 <template slot-scope="scope">
-                  <span v-if="scope.row.idcard && scope.row.idcard!=''">{{scope.row.idcard}}</span>
-                  <span v-else-if="scope.row.passport && scope.row.passport!=''">{{scope.row.passport}}</span>
-                  <span v-else-if="scope.row.dlicense && scope.row.dlicense!=''">{{scope.row.dlicense}}</span>
-                  <span v-else-if="scope.row.otheridnumber && scope.row.otheridnumber!=''">{{scope.row.otheridnumber}}</span>
+                  <span v-if="scope.row.idcard && scope.row.idcard!=''">{{cardNo(scope.row.idcard)}}</span>
+                  <span v-else-if="scope.row.passport && scope.row.passport!=''">{{cardNo(scope.row.passport)}}</span>
+                  <span v-else-if="scope.row.dlicense && scope.row.dlicense!=''">{{cardNo(scope.row.dlicense)}}</span>
+                  <span v-else-if="scope.row.otheridnumber && scope.row.otheridnumber!=''">{{cardNo(scope.row.otheridnumber)}}</span>
                   <span v-else></span>
                 </template>
               </el-table-column>
@@ -93,7 +93,7 @@
 <!--                @next-click="currentChange"-->
 <!--              />-->
 <!--            </div>-->
-            <pageinationnew :total="total" :size="queryParams.pageSize" :page="1" :changge="currentChange" :isUrl="true"></pageinationnew>
+            <pageinationnew :total="total" :size="queryParams.pageSize" :page="queryParams.pageNum" :changge="currentChange" :isUrl="true"></pageinationnew>
           </div>
         </div>
       </el-col>
@@ -129,6 +129,7 @@
         pageNum: 1,
         // scrollId:'',
       },
+      params:{},
       cellWidth:'130',
       cellWidthS:'90',
       cellWidthB:'260',
@@ -151,6 +152,7 @@
     console.log(from)
     if (from.name === 'Index') {
       next(vm => {
+        vm.queryParams.pageNum = 1;
         vm.getList();
       })
     } else if (!from.name) { // 处理刷新页面时,获取动态表单方法未执行,导致表单无法加载
@@ -165,7 +167,7 @@
     }
   },
   created() {
-    this.getList();
+    // this.getList();
   },
   mounted() {
     var clientWidth = document.body.clientWidth;
@@ -185,10 +187,10 @@
     getList() {
       let that = this;
       that.loading = true;
-      console.log(that.queryParams)
+      that.params = that.$route.params;
       Object.assign(
         that.queryParams,
-        that.$route.params
+        that.params
       )
       // let params = Object.assign({pageNum: that.queryParams.pageNum}, this.$route.query )
       // console.log(params)
@@ -226,9 +228,8 @@
     handleExport() {
       var that = this;
       that.exportLoading = true;
-      this.downloadNew('data/customer/export', {
-        ...this.queryParams
-      }, `customer_${new Date().getTime()}.csv`).then(response => {
+      console.log(that.params)
+      this.downloadNew('data/customer/export', that.params, `customer_${new Date().getTime()}.csv`).then(response => {
         console.log(response);
         if(response){
           that.exportLoading = false;