candidate search
This commit is contained in:
parent
0542bf40db
commit
0dcfa331b6
|
@ -33,9 +33,12 @@ App({
|
||||||
}
|
}
|
||||||
}).then(res=>{
|
}).then(res=>{
|
||||||
api.request('/crm/consumer/process/', 'GET').then(res => {
|
api.request('/crm/consumer/process/', 'GET').then(res => {
|
||||||
for (var key in res.data) {
|
|
||||||
|
for (var key in res.data.process) {
|
||||||
try {
|
try {
|
||||||
wx.setStorageSync(key, res.data.key)
|
if(res.data.process[key]){
|
||||||
|
wx.setStorageSync(key.toString(), res.data.process[key])
|
||||||
|
}
|
||||||
} catch (e) { }
|
} catch (e) { }
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -25,8 +25,7 @@
|
||||||
"pages/quota/quota",
|
"pages/quota/quota",
|
||||||
"pages/material/index",
|
"pages/material/index",
|
||||||
"pages/question/detail",
|
"pages/question/detail",
|
||||||
"pages/candidate/index",
|
"pages/candidate/index"
|
||||||
"pages/candidate/form.js"
|
|
||||||
],
|
],
|
||||||
"window": {
|
"window": {
|
||||||
"backgroundTextStyle": "light",
|
"backgroundTextStyle": "light",
|
||||||
|
@ -74,6 +73,7 @@
|
||||||
"l-toast": "/miniprogram_npm/lin-ui/toast/index",
|
"l-toast": "/miniprogram_npm/lin-ui/toast/index",
|
||||||
"l-message": "/miniprogram_npm/lin-ui/message/index",
|
"l-message": "/miniprogram_npm/lin-ui/message/index",
|
||||||
"l-button": "/miniprogram_npm/lin-ui/button/index"
|
"l-button": "/miniprogram_npm/lin-ui/button/index"
|
||||||
|
|
||||||
},
|
},
|
||||||
"style": "v2",
|
"style": "v2",
|
||||||
"sitemapLocation": "sitemap.json"
|
"sitemapLocation": "sitemap.json"
|
||||||
|
|
|
@ -1,66 +0,0 @@
|
||||||
// pages/candidate/form.js.js
|
|
||||||
Page({
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 页面的初始数据
|
|
||||||
*/
|
|
||||||
data: {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生命周期函数--监听页面加载
|
|
||||||
*/
|
|
||||||
onLoad: function (options) {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生命周期函数--监听页面初次渲染完成
|
|
||||||
*/
|
|
||||||
onReady: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生命周期函数--监听页面显示
|
|
||||||
*/
|
|
||||||
onShow: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生命周期函数--监听页面隐藏
|
|
||||||
*/
|
|
||||||
onHide: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生命周期函数--监听页面卸载
|
|
||||||
*/
|
|
||||||
onUnload: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 页面相关事件处理函数--监听用户下拉动作
|
|
||||||
*/
|
|
||||||
onPullDownRefresh: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 页面上拉触底事件的处理函数
|
|
||||||
*/
|
|
||||||
onReachBottom: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户点击右上角分享
|
|
||||||
*/
|
|
||||||
onShareAppMessage: function () {
|
|
||||||
|
|
||||||
}
|
|
||||||
})
|
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
"usingComponents": {}
|
|
||||||
}
|
|
|
@ -1,2 +0,0 @@
|
||||||
<!--pages/candidate/form.js.wxml-->
|
|
||||||
<text>pages/candidate/form.js.wxml</text>
|
|
|
@ -1 +0,0 @@
|
||||||
/* pages/candidate/form.js.wxss */
|
|
|
@ -1,21 +1,27 @@
|
||||||
// pages/candidate/index.js
|
// pages/candidate/index.js
|
||||||
|
const api = require("../../utils/request.js");
|
||||||
Page({
|
Page({
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 页面的初始数据
|
* 页面的初始数据
|
||||||
*/
|
*/
|
||||||
data: {
|
data: {
|
||||||
form:{
|
ID_number:null,
|
||||||
ID_number:null,
|
realname:null,
|
||||||
realname:null
|
candidates:[]
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面加载
|
* 生命周期函数--监听页面加载
|
||||||
*/
|
*/
|
||||||
onLoad: function (options) {
|
onLoad: function (options) {
|
||||||
|
if(getApp().globalData.userinfo.ID_number && getApp().globalData.userinfo.realname){
|
||||||
|
this.setData({
|
||||||
|
ID_number:getApp().globalData.userinfo.ID_number,
|
||||||
|
realname:getApp().globalData.userinfo.realname,
|
||||||
|
})
|
||||||
|
this.search()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -65,5 +71,53 @@ Page({
|
||||||
*/
|
*/
|
||||||
onShareAppMessage: function () {
|
onShareAppMessage: function () {
|
||||||
|
|
||||||
}
|
},
|
||||||
|
bindinput1: function(e){
|
||||||
|
this.data.realname = e.detail.value
|
||||||
|
},
|
||||||
|
bindinput2: function(e){
|
||||||
|
this.data.ID_number = e.detail.value
|
||||||
|
},
|
||||||
|
search: function() {
|
||||||
|
if(this.data.realname && this.data.ID_number){
|
||||||
|
var data = {
|
||||||
|
realname:this.data.realname,
|
||||||
|
ID_number:this.data.ID_number
|
||||||
|
}
|
||||||
|
wx.showLoading({
|
||||||
|
title: '查询中..',
|
||||||
|
mask:true
|
||||||
|
})
|
||||||
|
api.request('/crm/consumer/candidate/', 'GET', data).then(res => {
|
||||||
|
wx.hideLoading({
|
||||||
|
success: (res) => {},
|
||||||
|
})
|
||||||
|
console.log(res.data.candidates)
|
||||||
|
this.setData({
|
||||||
|
candidates:res.data.candidates
|
||||||
|
})
|
||||||
|
}).catch(e=>{
|
||||||
|
wx.hideLoading({
|
||||||
|
success: (res) => {},
|
||||||
|
})
|
||||||
|
})
|
||||||
|
api.request('/crm/consumer/realinfo/', 'POST', data).then(res=>{
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
wx.showToast({
|
||||||
|
title: '请填写姓名和身份证号',
|
||||||
|
icon: 'none',
|
||||||
|
duration: 1500
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
prImg: function (e) {
|
||||||
|
var current = e.target.dataset.src
|
||||||
|
|
||||||
|
wx.previewImage({
|
||||||
|
current: current,
|
||||||
|
urls: [current]
|
||||||
|
})
|
||||||
|
},
|
||||||
})
|
})
|
|
@ -1,2 +1,39 @@
|
||||||
<!--pages/candidate/index.wxml-->
|
|
||||||
<text>pages/candidate/index.wxml</text>
|
<view class="weui-cells__title">查询信息</view>
|
||||||
|
<view class="weui-cells weui-cells_after-title">
|
||||||
|
<view class="weui-cell" >
|
||||||
|
<view class="weui-cell__hd"><label class="weui-label">真实姓名</label></view>
|
||||||
|
<view class="weui-cell__bd">
|
||||||
|
<input class="weui-input" placeholder="填写真实姓名" placeholder-class="weui-input__placeholder"
|
||||||
|
bindinput="bindinput1" value="{{realname}}"/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="weui-cell" >
|
||||||
|
<view class="weui-cell__hd"><label class="weui-label">身份证号</label></view>
|
||||||
|
<view class="weui-cell__bd">
|
||||||
|
<input class="weui-input" type="idcard" placeholder="填写身份证号" placeholder-class="weui-input__placeholder"
|
||||||
|
bindinput="bindinput2" value="{{ID_number}}"/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view style="text-align:center;margin-top:4px;">
|
||||||
|
<l-button bind:lintap="search">查询</l-button>
|
||||||
|
</view>
|
||||||
|
<view class="weui-cells__title">查询结果</view>
|
||||||
|
<view wx:if="{{candidates}}">
|
||||||
|
<block wx:for="{{candidates}}" wx:key="unique">
|
||||||
|
<view class="weui-media-box weui-media-box_appmsg" hover-class="weui-cell_active">
|
||||||
|
<view class="weui-media-box__hd weui-media-box__hd_in-appmsg" style="width:96px">
|
||||||
|
<image class="weui-media-box__thumb" src="{{item.img}}" bindtap="prImg" data-src="{{item.img}}"></image>
|
||||||
|
</view>
|
||||||
|
<view class="weui-media-box__bd weui-media-box__bd_in-appmsg">
|
||||||
|
<view class="weui-media-box__title">
|
||||||
|
单号:{{item.report_number}}</view>
|
||||||
|
<view class="weui-media-box__desc">
|
||||||
|
<span style="color:darkblue">发证日期:{{item.issue_date}}</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view wx:else style="text-align:center">暂无证书信息</view>
|
|
@ -88,11 +88,13 @@ Page({
|
||||||
try {
|
try {
|
||||||
const res = wx.getStorageInfoSync()
|
const res = wx.getStorageInfoSync()
|
||||||
const keys = res.keys
|
const keys = res.keys
|
||||||
console.log(keys)
|
|
||||||
for(var i=0;i<keys.length;i++){
|
for(var i=0;i<keys.length;i++){
|
||||||
if(keys[i].indexOf('cat')!=-1){
|
if(keys[i].indexOf('cat')!=-1){
|
||||||
try{
|
try{
|
||||||
process[keys[i]] = wx.getStorageSync(keys[i])
|
if(wx.getStorageSync(keys[i]) ){
|
||||||
|
process[keys[i]] = wx.getStorageSync(keys[i])
|
||||||
|
}
|
||||||
|
|
||||||
}catch(e){}
|
}catch(e){}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,8 @@
|
||||||
},
|
},
|
||||||
"useIsolateContext": true,
|
"useIsolateContext": true,
|
||||||
"useCompilerModule": false,
|
"useCompilerModule": false,
|
||||||
"userConfirmedUseCompilerModuleSwitch": false
|
"userConfirmedUseCompilerModuleSwitch": false,
|
||||||
|
"compileHotReLoad": false
|
||||||
},
|
},
|
||||||
"compileType": "miniprogram",
|
"compileType": "miniprogram",
|
||||||
"libVersion": "2.10.3",
|
"libVersion": "2.10.3",
|
||||||
|
|
|
@ -30,6 +30,8 @@ from .filters import ConsumerFilter
|
||||||
from .exports import export_consumer
|
from .exports import export_consumer
|
||||||
from .models import Company, Consumer, PaySubject, SendCode, ConsumerPerm, ConsumerRole
|
from .models import Company, Consumer, PaySubject, SendCode, ConsumerPerm, ConsumerRole
|
||||||
from .serializers import CompanySerializer, ConsumerSerializer, ConsumerPermSerializer, ConsumerRoleSerializer, ConsumerDetailSerializer
|
from .serializers import CompanySerializer, ConsumerSerializer, ConsumerPermSerializer, ConsumerRoleSerializer, ConsumerDetailSerializer
|
||||||
|
import requests
|
||||||
|
from lxml import etree
|
||||||
|
|
||||||
appid = 'wxf1e9471c93f05ad6'
|
appid = 'wxf1e9471c93f05ad6'
|
||||||
secret = '4bf7f9bd6c52634586bbe792a1f0a834'
|
secret = '4bf7f9bd6c52634586bbe792a1f0a834'
|
||||||
|
@ -226,6 +228,42 @@ class ConsumerViewSet(ModelViewSet):
|
||||||
request.user.save()
|
request.user.save()
|
||||||
return Response(status=status.HTTP_200_OK)
|
return Response(status=status.HTTP_200_OK)
|
||||||
|
|
||||||
|
@action(methods=['post'], detail=False,
|
||||||
|
url_path='realinfo', url_name='get_realinfo', perms_map=[{'*':'*'}])
|
||||||
|
def realinfo(self, request):
|
||||||
|
'''
|
||||||
|
修改真实信息
|
||||||
|
'''
|
||||||
|
if isinstance(request.user, Consumer):
|
||||||
|
request.user.ID_number = request.data['ID_number']
|
||||||
|
request.user.realname = request.data['realname']
|
||||||
|
request.user.save()
|
||||||
|
return Response(status=status.HTTP_200_OK)
|
||||||
|
|
||||||
|
@action(methods=['get'], detail=False,
|
||||||
|
url_path='candidate', url_name='consumer_candidate', perms_map=[{'*':'*'}])
|
||||||
|
def candidate(self, request):
|
||||||
|
'''
|
||||||
|
证书查询
|
||||||
|
'''
|
||||||
|
print(request.data)
|
||||||
|
payload = {'IndexModel[name]': request.query_params['realname'], 'IndexModel[identityNumber]': request.query_params['ID_number'], 'IndexModel[certNumber]':'', 'IndexModel[candidateNumber]':''}
|
||||||
|
r = requests.post('https://fushe.chinansc.cn/open/candidate-list',data=payload)
|
||||||
|
html = etree.HTML(r.text)
|
||||||
|
results = html.xpath('//td/text()')
|
||||||
|
img = html.xpath('//a/@href')
|
||||||
|
candidates = []
|
||||||
|
try:
|
||||||
|
jsondata = {
|
||||||
|
'report_number':results[4],
|
||||||
|
'issue_date':results[5],
|
||||||
|
'img':'https://fushe.chinansc.cn'+ img[1]
|
||||||
|
}
|
||||||
|
candidates.append(jsondata)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
return Response({'candidates':candidates}, status=status.HTTP_200_OK)
|
||||||
|
|
||||||
@action(methods=['post'], detail=False,
|
@action(methods=['post'], detail=False,
|
||||||
url_path='import', url_name='import_consumer')
|
url_path='import', url_name='import_consumer')
|
||||||
def import_consumer(self, request):
|
def import_consumer(self, request):
|
||||||
|
|
Loading…
Reference in New Issue