init
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* Eslint config file
|
||||
* Documentation: https://eslint.org/docs/user-guide/configuring/
|
||||
* Install the Eslint extension before using this feature.
|
||||
*/
|
||||
module.exports = {
|
||||
env: {
|
||||
es6: true,
|
||||
browser: true,
|
||||
node: true,
|
||||
},
|
||||
ecmaFeatures: {
|
||||
modules: true,
|
||||
},
|
||||
parserOptions: {
|
||||
ecmaVersion: 2018,
|
||||
sourceType: 'module',
|
||||
},
|
||||
globals: {
|
||||
wx: true,
|
||||
App: true,
|
||||
Page: true,
|
||||
getCurrentPages: true,
|
||||
getApp: true,
|
||||
Component: true,
|
||||
requirePlugin: true,
|
||||
requireMiniProgram: true,
|
||||
},
|
||||
// extends: 'eslint:recommended',
|
||||
rules: {},
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
node_modules
|
||||
/miniprogram/miniprogram_npm
|
|
@ -0,0 +1,9 @@
|
|||
|
||||
import { request } from '../utils/request'
|
||||
|
||||
export function sysConfig() {
|
||||
return request({
|
||||
url: '/sysConfig',
|
||||
method: 'GET',
|
||||
})
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
|
||||
import { request } from '../utils/request'
|
||||
|
||||
export function bindPhone(data: any) {
|
||||
return request({
|
||||
url: '/consumer/bindPhone',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function bindPhoneList() {
|
||||
return request({
|
||||
url: '/consumer/bindPhoneList',
|
||||
method: 'GET',
|
||||
|
||||
})
|
||||
}
|
|
@ -0,0 +1,75 @@
|
|||
import { request } from '../utils/request'
|
||||
|
||||
export function informationList() {
|
||||
return request({
|
||||
url: '/consumer/staff',
|
||||
method: 'GET',
|
||||
})
|
||||
}
|
||||
|
||||
export function informationAdd(data: any) {
|
||||
return request({
|
||||
// url: '/consumer/staff',
|
||||
url:'/consumer/staff/V2',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
export function informationDelete(data: any) {
|
||||
return request({
|
||||
url: '/consumer/staff/delete',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
export function dataRecord(id: any) {
|
||||
return request({
|
||||
url: '/consumer/staff/dataRecord?id=' + id,
|
||||
method: 'GET',
|
||||
})
|
||||
}
|
||||
export function corrigendaApply(data: any) {
|
||||
return request({
|
||||
url: '/consumer/corrigendaRecord/apply',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
export function corrigendaList(data: any) {
|
||||
return request({
|
||||
url: '/consumer/corrigendaRecord/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
export function updateWithDataId(data: any) {
|
||||
return request({
|
||||
url: '/consumer/staff/updateWithDataId',
|
||||
method: 'PUT',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function redDotMarkDeal(id: any) {
|
||||
return request({
|
||||
url: `/consumer/staff/redDotMarkDeal?dataId=${id}`,
|
||||
method: "GET"
|
||||
});
|
||||
}
|
||||
|
||||
export function agentApply(data: any) {
|
||||
return request({
|
||||
url: `/consumer/staff/businessNameAuthenticationApply`,
|
||||
method: "POST",
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
export function businessLinkNameList(data: any) {
|
||||
return request({
|
||||
url: `/consumer/business/businessLinkNameList`,
|
||||
method: "GET",
|
||||
data
|
||||
});
|
||||
}
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
import { request } from '../utils/request'
|
||||
|
||||
export function originatorList(data:any) {
|
||||
return request({
|
||||
url: '/consumer/inspectionRecord/originator/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function inspectedList(data:any) {
|
||||
return request({
|
||||
url: '/consumer/inspectionRecord/inspectedPerson/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function deal(data:any) {
|
||||
return request({
|
||||
url: '/consumer/inspectionRecord/inspectedPerson/deal',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function defaultConfig(data:any) {
|
||||
return request({
|
||||
url: '/consumer/inspectionRecord/inspectedPerson/defaultConfig',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function defaultConfigFind() {
|
||||
return request({
|
||||
url: '/consumer/inspectionRecord/inspectedPerson/defaultConfigFind',
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
|
||||
export function apply(data:any) {
|
||||
return request({
|
||||
url: '/consumer/inspectionRecord/originator/apply',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function timeCheck() {
|
||||
return request({
|
||||
url: '/consumer/inspectionRecord/originator/timeCheck',
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
import { request } from '../utils/request'
|
||||
|
||||
export function login(data:any) {
|
||||
return request({
|
||||
url: '/commonLogin/login',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function sendSms(data:any) {
|
||||
return request({
|
||||
url: '/consumer/codeSend',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function userInfo(data:any) {
|
||||
return request({
|
||||
url: '/consumer',
|
||||
method: 'GET',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function wxLogin(data:any) {
|
||||
return request({
|
||||
url: '/consumer/commonLogin/wechat/login',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function realNameAuthentication(data:any) {
|
||||
return request({
|
||||
url: '/consumer/auth/realNameAuthentication',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function realNameAuthenticationResultCheck() {
|
||||
return request({
|
||||
url: '/consumer/auth/realNameAuthenticationResultCheck',
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
import { request } from '../utils/request'
|
||||
|
||||
export function getOpenId(data:any) {
|
||||
return request({
|
||||
url: '/wechat/open/wx/get',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
import { request } from '../utils/request'
|
||||
|
||||
export function pay(data:any) {
|
||||
return request({
|
||||
url: '/consumer/pay',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function getPayInfo(data:any) {
|
||||
return request({
|
||||
url: '/consumer/pay',
|
||||
method: 'GET',
|
||||
data
|
||||
})
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
|
||||
import { request } from '../utils/request'
|
||||
|
||||
export function info(data: any) {
|
||||
return request({
|
||||
url: `/phone/info`,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
export function list(data: any) {
|
||||
return request({
|
||||
url: `/phone/infoList`,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
export function etcData(phone: any) {
|
||||
return request({
|
||||
url: `/phone/electronicCertificateData?phone=${phone}`,
|
||||
method: 'GET',
|
||||
})
|
||||
}
|
||||
export function evaluateLaunch(data: any) {
|
||||
return request({
|
||||
url: `/phone/evaluateLaunch`,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
export function cleanPhoneDate(phone: any) {
|
||||
return request({
|
||||
url: `/phone/cleanPhoneDate?phone=${phone}`,
|
||||
method: 'DELETE',
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export function etcChoose(data: any) {
|
||||
return request({
|
||||
url: `/phone/electronicCertificateChose`,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function labelStatistics(phone: string) {
|
||||
return request({
|
||||
url: `/phone/labelStatistics?phone=${phone}`,
|
||||
method: 'GET',
|
||||
})
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
import { request } from '../utils/request'
|
||||
|
||||
export function list(data:any) {
|
||||
return request({
|
||||
url: '/consumer/questions/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
|
@ -0,0 +1,93 @@
|
|||
import { request } from '../utils/request'
|
||||
|
||||
export function list(data: any) {
|
||||
return request({
|
||||
url: '/consumer/report/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function certificateList(data: any) {
|
||||
return request({
|
||||
url: '/consumer/report/electronicCertificate/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function visitRecord(data: any) {
|
||||
return request({
|
||||
url: '/consumer/report/electronicCertificate/visitRecord',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function certificateSave(data: any) {
|
||||
return request({
|
||||
url: '/consumer/report/electronicCertificate/save',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function certificateDiscard(data: any) {
|
||||
return request({
|
||||
url: '/consumer/report/electronicCertificate/discard',
|
||||
method: 'GET',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function reportDelete(data: any) {
|
||||
return request({
|
||||
url: '/consumer/report/reportDelete',
|
||||
method: 'DELETE',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function reportSave(data: any) {
|
||||
return request({
|
||||
url: '/consumer/report/save',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function reportPreview(data: any) {
|
||||
return request({
|
||||
url: '/consumer/report/preview',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function visitReport(id: any) {
|
||||
return request({
|
||||
url: `/consumer/inspectionRecord/originator/visitReport?id=${id}`,
|
||||
method: 'GET',
|
||||
})
|
||||
}
|
||||
|
||||
export function certificateDetail(id: any) {
|
||||
return request({
|
||||
url: `/consumer/report/electronicCertificate/info?id=${id}`,
|
||||
method: 'GET',
|
||||
})
|
||||
}
|
||||
|
||||
export function certificateDetail2(id: any) {
|
||||
return request({
|
||||
url: `/consumer/report/electronicCertificate/visit?id=${id}`,
|
||||
method: 'GET',
|
||||
})
|
||||
}
|
||||
export function reportCreateDate(id: any) {
|
||||
return request({
|
||||
url: `/consumer/report/reportCreateDate?id=${id}`,
|
||||
method: 'GET',
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
import { request } from '../utils/request'
|
||||
|
||||
export function codeScanningSuccess(id:any) {
|
||||
return request({
|
||||
url: `/consumer/webSocket/codeScanningSuccess/${id}`,
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
||||
export function codeScanningLogin(id:string) {
|
||||
return request({
|
||||
url: `/consumer/webSocket/codeScanningLogin/${id}`,
|
||||
method: 'GET'
|
||||
})
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
|
||||
import { request } from '../utils/request'
|
||||
|
||||
export function list(data: any) {
|
||||
return request({
|
||||
url: `/evaluateLabel/list`,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
|
||||
import { request } from '../utils/request'
|
||||
|
||||
export function uploadImg(data) {
|
||||
return request({
|
||||
url: '/consumer/commonLogin/upload',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
{
|
||||
"pages": [
|
||||
"pages/index/index",
|
||||
"pages/shareTimeLine/shareTimeLine",
|
||||
"pages/QA/QA",
|
||||
"pages/service/service",
|
||||
"pages/login/login",
|
||||
"pages/pay/pay",
|
||||
"pages/reportDetail/reportDetail",
|
||||
"pages/report/report",
|
||||
"pages/my/my",
|
||||
"pages/searchResult/searchResult",
|
||||
"pages/information/information",
|
||||
"pages/guide/guide",
|
||||
"pages/addPhone/addPhone",
|
||||
"pages/corrigendum/corrigendum",
|
||||
"pages/reportPreview/reportPreview",
|
||||
"pages/generateReport/generateReport",
|
||||
"pages/informationCreate/informationCreate",
|
||||
"pages/informationDetail/informationDetail",
|
||||
"pages/informationEventCreate/informationEventCreate",
|
||||
"pages/informationEdit/informationEdit",
|
||||
"pages/dataRecords/dataRecords",
|
||||
"pages/createReport/createReport",
|
||||
"pages/apply/apply",
|
||||
"pages/inspected/inspected",
|
||||
"pages/inspectedRecords/inspectedRecords",
|
||||
"pages/logs/logs",
|
||||
"pages/applySetting/applySetting",
|
||||
"pages/member/member",
|
||||
"pages/memberPreview/memberPreview",
|
||||
"pages/certification/certification",
|
||||
"pages/certificationResult/certificationResult",
|
||||
"pages/answer/answer",
|
||||
"pages/personal/personal",
|
||||
"pages/visitor/visitor",
|
||||
"pages/certificateCreate/certificateCreate",
|
||||
"pages/privacy/privacy",
|
||||
"pages/agreement/agreement",
|
||||
"pages/errataRecords/errataRecords",
|
||||
"pages/errataDetail/errataDetail",
|
||||
"pages/scanLogin/scanLogin",
|
||||
"pages/scanResult/scanResult",
|
||||
"pages/webView/webView",
|
||||
"pages/question/question",
|
||||
"pages/questionDetail/questionDetail",
|
||||
"pages/whiteList/whiteList",
|
||||
"pages/addAuthName/addAuthName"
|
||||
],
|
||||
"window": {
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarBackgroundColor": "#fff",
|
||||
"navigationBarTitleText": "众评",
|
||||
"navigationBarTextStyle": "black"
|
||||
},
|
||||
|
||||
"usingComponents": {
|
||||
"filter": "/components/filter/filter"
|
||||
},
|
||||
"style": "v2",
|
||||
"sitemapLocation": "sitemap.json"
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
/**app.wxss**/
|
|
@ -0,0 +1,212 @@
|
|||
// app.ts
|
||||
import { userInfo, login } from './apis/login'
|
||||
import { getOpenId } from './apis/open'
|
||||
import { pay } from './apis/pay'
|
||||
import { querystrToObj } from './utils/util'
|
||||
import { bindPhoneList } from "./apis/consumer";
|
||||
App<IAppOption>({
|
||||
globalData: {},
|
||||
onLaunch() {
|
||||
const res = wx.getMenuButtonBoundingClientRect()
|
||||
wx.setStorageSync('MenuButtonBoundingClientRect', res)
|
||||
// 展示本地存储能力
|
||||
const logs = wx.getStorageSync('logs') || []
|
||||
logs.unshift(Date.now())
|
||||
wx.setStorageSync('logs', logs)
|
||||
|
||||
// const token = wx.getStorageSync('Authorization')
|
||||
// if (!token) {
|
||||
// wx.reLaunch({
|
||||
// url: '/pages/login/login'
|
||||
// })
|
||||
// }
|
||||
// return
|
||||
// 登录
|
||||
this.login().then(() => {
|
||||
this.globalData.ready = true
|
||||
this.reload()
|
||||
}).catch(() => {
|
||||
this.globalData.ready = true
|
||||
})
|
||||
/*
|
||||
wx.login({
|
||||
success: res => {
|
||||
console.log(res.code)
|
||||
// 发送 res.code 到后台换取 openId, sessionKey, unionId
|
||||
getOpenId({
|
||||
field: res.code
|
||||
}).then((res:any) => {
|
||||
this.globalData.openId = res.d.openId
|
||||
login({
|
||||
openId: res.d.openId,
|
||||
staffType: 'WECHAT'
|
||||
}).then((res:any) => {
|
||||
wx.setStorageSync('Authorization', res.d)
|
||||
this.getUserInfo().then(() => {
|
||||
this.globalData.ready = true
|
||||
this.reload()
|
||||
})
|
||||
}).catch(() => {
|
||||
this.globalData.ready = true
|
||||
wx.reLaunch({
|
||||
url: '/pages/login/login'
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
})
|
||||
*/
|
||||
},
|
||||
onShow(options) {
|
||||
console.log('appShow', options)
|
||||
const { path, query } = options
|
||||
let { q, source } = query
|
||||
if (['pages/apply/apply', 'pages/reportPreview/reportPreview', 'pages/scanLogin/scanLogin'].includes(path)) {
|
||||
let pageQueryStr = ''
|
||||
if (q) {
|
||||
q = decodeURIComponent(q)
|
||||
const queryStr = q.split('?')[1]
|
||||
const queryObj = querystrToObj(decodeURIComponent(querystrToObj(queryStr).query))
|
||||
pageQueryStr = decodeURIComponent(querystrToObj(queryStr).query)
|
||||
source = queryObj.source
|
||||
}
|
||||
const backPage = `/${path}?${pageQueryStr}`
|
||||
console.log(backPage)
|
||||
wx.setStorageSync('QSource', source)
|
||||
wx.setStorageSync('backPage', backPage)
|
||||
} else {
|
||||
wx.removeStorageSync('QSource')
|
||||
wx.removeStorageSync('backPage')
|
||||
}
|
||||
},
|
||||
// 登录
|
||||
login() {
|
||||
console.log('login,app.ts');
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
wx.login({
|
||||
success: res => {
|
||||
console.log(res.code)
|
||||
// 发送 res.code 到后台换取 openId, sessionKey, unionId
|
||||
getOpenId({
|
||||
field: res.code
|
||||
}).then((res: any) => {
|
||||
this.globalData.openId = res.d.openId
|
||||
this.globalData.unionId = res.d.unionId
|
||||
login({
|
||||
openId: res.d.openId,
|
||||
// ...res.d,
|
||||
loginType: 1
|
||||
}).then((res: any) => {
|
||||
wx.setStorageSync('Authorization', res.d)
|
||||
// this.getBindPhoneList()
|
||||
bindPhoneList().then(res => {
|
||||
// wx.setStorageSync('accountList', res.d)
|
||||
// this.globalData.accountList = res.d
|
||||
wx.setStorageSync('accountList', res.d)
|
||||
console.log(wx.getStorageSync('userInfo').phone,res.d);
|
||||
|
||||
wx.setStorageSync('userInfo', res.d.find(item => item.phone === wx.getStorageSync('userInfo').phone) || res.d[0])
|
||||
// this.globalData.userInfo = res.d[0]
|
||||
})
|
||||
// this.getUserInfo().then(() => {
|
||||
// resolve(true)
|
||||
// this.getBindPhoneList()
|
||||
// }).catch((err: any) => {
|
||||
// reject(err)
|
||||
// })
|
||||
}).catch((err) => {
|
||||
// this.globalData.ready = true
|
||||
// wx.reLaunch({
|
||||
// url: '/pages/login/login'
|
||||
// })
|
||||
reject(err)
|
||||
})
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
},
|
||||
})
|
||||
})
|
||||
},
|
||||
// getBindPhoneList() {
|
||||
// bindPhoneList().then(res => {
|
||||
// // console.log(res);
|
||||
// wx.setStorageSync('accountList', res.d)
|
||||
// })
|
||||
// },
|
||||
// 获取用户信息, 在登录或开通会员等 用户信息改变时调用
|
||||
getUserInfo() {
|
||||
return userInfo({}).then((res: any) => {
|
||||
this.globalData.userInfo = res.d
|
||||
return res.d
|
||||
})
|
||||
},
|
||||
// 页面重载
|
||||
reload() {
|
||||
const pages = getCurrentPages()
|
||||
const currentPage = pages[pages.length - 1]
|
||||
currentPage.onLoad(currentPage.options)
|
||||
currentPage.onShow()
|
||||
},
|
||||
/**
|
||||
* 实名认证校验
|
||||
* @param skip 是否跳转到实名页面
|
||||
* @returns
|
||||
*/
|
||||
certificationVerify(skip = false): boolean {
|
||||
const status = this.globalData.userInfo?.status
|
||||
let val = false
|
||||
if (Number(status) >= 3) val = true
|
||||
if (skip && !val) {
|
||||
wx.navigateTo({
|
||||
url: '/pages/certification/certification'
|
||||
})
|
||||
}
|
||||
return val
|
||||
},
|
||||
|
||||
/**
|
||||
* 会员校验
|
||||
* @param skip 是否跳转到购买会员页面
|
||||
* @returns
|
||||
*/
|
||||
memberVerify(skip = false): boolean {
|
||||
const status = this.globalData.userInfo?.status
|
||||
let val = false
|
||||
if (Number(status) === 4) val = true
|
||||
if (skip && !val) {
|
||||
wx.navigateTo({
|
||||
url: '/pages/member/member'
|
||||
})
|
||||
}
|
||||
return val
|
||||
},
|
||||
/**
|
||||
* 发起支付
|
||||
* @param payType
|
||||
* @returns
|
||||
*/
|
||||
pay(payType: String) {
|
||||
return new Promise((resolve, reject) => {
|
||||
pay({
|
||||
payType,
|
||||
wxPayApiType: 'JSAPI'
|
||||
}).then((res: any) => {
|
||||
wx.requestPayment({
|
||||
...res.d,
|
||||
success: (res: any) => {
|
||||
resolve(res)
|
||||
},
|
||||
fail: (err: any) => {
|
||||
wx.showToast({
|
||||
icon: 'none',
|
||||
title: '支付失败, 请稍后再试!'
|
||||
})
|
||||
reject(err)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 301 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 758 B |
After Width: | Height: | Size: 982 B |
After Width: | Height: | Size: 459 B |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 553 B |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 507 B |
After Width: | Height: | Size: 554 B |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 8.3 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 420 B |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 9.4 KiB |
After Width: | Height: | Size: 729 B |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 7.6 KiB |
After Width: | Height: | Size: 9.1 KiB |
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
|
@ -0,0 +1,87 @@
|
|||
/* components/btn/btn.wxss */
|
||||
$primary: #6571D9;
|
||||
$member: #653E12;
|
||||
|
||||
.btn-cmp {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 44rpx;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
.primary {
|
||||
background: $primary;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #FFFFFF;
|
||||
box-sizing: border-box;
|
||||
padding: 0 20rpx;
|
||||
|
||||
&.plain {
|
||||
box-sizing: border-box;
|
||||
color: $primary;
|
||||
border: 1rpx solid $primary;
|
||||
background: #FFFFFF;
|
||||
}
|
||||
}
|
||||
|
||||
.primary45 {
|
||||
background: #4B5AE5;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #FFFFFF;
|
||||
box-sizing: border-box;
|
||||
padding: 0 20rpx;
|
||||
}
|
||||
|
||||
.white {
|
||||
background: #FFFFFF;
|
||||
border: 1rpx solid #CDCDCD;
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
// font-weight: bold;
|
||||
color: #A1A1A1;
|
||||
}
|
||||
|
||||
.default {
|
||||
background: #7A8BFF;
|
||||
border: 1rpx solid #FFFFFF;
|
||||
border-radius: 25rpx;
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.default45 {
|
||||
background: #7A8BFF;
|
||||
border: 1rpx solid #FFFFFF;
|
||||
border-radius: 45rpx;
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.info{
|
||||
background: #FFFFFF;
|
||||
color: #6979E8;
|
||||
border-radius: 25rpx;
|
||||
font-family: PingFang SC;
|
||||
}
|
||||
|
||||
.member {
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #653E12;
|
||||
background: #E5C7A3;
|
||||
|
||||
&.plain {
|
||||
box-sizing: border-box;
|
||||
color: #7986FF;
|
||||
border: 1rpx solid #7986FF;
|
||||
background: #FFFFFF;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
// components/btn/btn.ts
|
||||
Component({
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
type: {
|
||||
type: String,
|
||||
value: 'primary'
|
||||
},
|
||||
plain: {
|
||||
type: Boolean,
|
||||
value: false
|
||||
},
|
||||
width: {
|
||||
type: String,
|
||||
value: '184rpx'
|
||||
},
|
||||
height: {
|
||||
type: String,
|
||||
value: '60rpx'
|
||||
},
|
||||
fontSize: {
|
||||
type: String,
|
||||
value: '24rpx'
|
||||
},
|
||||
bgColor:{
|
||||
type:String,
|
||||
},
|
||||
padding:{
|
||||
type:String,
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
|
||||
}
|
||||
})
|
|
@ -0,0 +1,5 @@
|
|||
<!-- components/btn/btn.wxml -->
|
||||
<view class="btn-cmp {{type}} {{plain&&'plain'}}"
|
||||
style="font-size:{{fontSize}};width:{{width}};height:{{height}};background:{{bgColor}};padding:{{padding}}">
|
||||
<slot></slot>
|
||||
</view>
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
/* components/btnClose/btnClose.wxss */
|
||||
.btn_close {
|
||||
width: 26rpx;
|
||||
height: 26rpx;
|
||||
position: absolute;
|
||||
right: 20rpx;
|
||||
top: 20rpx;
|
||||
color: #D8D8D8;
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
// components/btnClose/btnClose.ts
|
||||
Component({
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
close(){}
|
||||
}
|
||||
})
|
|
@ -0,0 +1,4 @@
|
|||
<!--components/btnClose/btnClose.wxml-->
|
||||
<view bindtap="dialogToLoginClose" style="position: absolute;right: 0;width: 60rpx;height: 60rpx;top: 0;">
|
||||
<image class="btn_close" src="/assets/images/searchResult/icon_close.png" ></image>
|
||||
</view>
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"shadow": "/components/shadow/shadow"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,98 @@
|
|||
/* components/confirm/confirm.wxss */
|
||||
.message-box {
|
||||
width: 558rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 24rpx;
|
||||
box-sizing: border-box;
|
||||
// padding: 68rpx 76rpx;
|
||||
padding-top: 63rpx;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
text-align: center;
|
||||
|
||||
position: relative;
|
||||
|
||||
.cancel-icon {
|
||||
position: absolute;
|
||||
right: 10rpx;
|
||||
top: 0;
|
||||
padding: 21rpx;
|
||||
width: 31rpx;
|
||||
height: 31rpx;
|
||||
}
|
||||
|
||||
.type-icon {
|
||||
width: 121rpx;
|
||||
height: 156rpx;
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #000000;
|
||||
opacity: 0.61;
|
||||
// line-height: 30rpx;
|
||||
margin-bottom: 36rpx;
|
||||
}
|
||||
|
||||
.message {
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #838383;
|
||||
line-height: 36rpx;
|
||||
padding: 0 52rpx 54rpx 52rpx;
|
||||
}
|
||||
|
||||
.btns {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
border-top: 1px solid #E9E9E9;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
height: 98rpx;
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
border-left: 1px solid #000;
|
||||
position: absolute;
|
||||
}
|
||||
}
|
||||
|
||||
.confirm-btn {
|
||||
// width: 100%;
|
||||
height: 98rpx;
|
||||
line-height: 98rpx;
|
||||
// border-radius: 38rpx;
|
||||
// text-align: center;
|
||||
// background: #3A61B1;
|
||||
width: 100%;
|
||||
font-size: 26rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #3A61B1;
|
||||
// margin-top: 32rpx;
|
||||
}
|
||||
|
||||
.cancel-btn {
|
||||
// font-size: 26rpx;
|
||||
// font-family: PingFang SC;
|
||||
// font-weight: 500;
|
||||
// color: #C3C3C3;
|
||||
// padding: 15rpx;
|
||||
border-right: 1px solid #E9E9E9;
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
height: 98rpx;
|
||||
line-height: 98rpx;
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #838383;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
// components/confirm/confirm.ts
|
||||
Component({
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
title: {
|
||||
type: String,
|
||||
value: ''
|
||||
},
|
||||
message: {
|
||||
type: String,
|
||||
value: ''
|
||||
},
|
||||
confirmText: {
|
||||
type: String,
|
||||
value: ''
|
||||
},
|
||||
cancelText: {
|
||||
type: String,
|
||||
value: ''
|
||||
},
|
||||
confirmShow: {
|
||||
type: Boolean,
|
||||
value: true
|
||||
},
|
||||
cancelShow: {
|
||||
type: Boolean,
|
||||
value: true
|
||||
},
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
visible: false
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
confirm() {
|
||||
this.triggerEvent('confirm')
|
||||
this.hidden()
|
||||
},
|
||||
cencel() {
|
||||
this.triggerEvent('cancel')
|
||||
this.hidden()
|
||||
},
|
||||
close() {
|
||||
this.triggerEvent('close')
|
||||
this.hidden()
|
||||
},
|
||||
show() {
|
||||
this.setData({
|
||||
visible: true
|
||||
})
|
||||
},
|
||||
hidden() {
|
||||
this.setData({
|
||||
visible: false
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
|
@ -0,0 +1,17 @@
|
|||
<!--components/confirm/confirm.wxml-->
|
||||
<view wx:if="{{visible}}" class="message-cmp">
|
||||
<shadow>
|
||||
<view class="message-box">
|
||||
<!-- <image src="/assets/images/message/cancel.png" class="cancel-icon" bind:tap="close" /> -->
|
||||
<!-- <image src="/assets/images/message/success.png" class="type-icon" /> -->
|
||||
<view class="title">{{title}}</view>
|
||||
<view class="message">{{message}}</view>
|
||||
<view class="btns">
|
||||
<view class="cancel-btn" bind:tap="cencel">{{cancelText}}</view>
|
||||
<view class="confirm-btn" bind:tap="confirm">{{confirmText}}</view>
|
||||
</view>
|
||||
<!-- <view wx:if="{{confirmShow}}" class="confim-btn" bind:tap="confirm">{{confirmText}}</view> -->
|
||||
<!-- <view wx:if="{{cancelShow}}" class="cancel-btn" bind:tap="cencel">{{cancelText}}</view> -->
|
||||
</view>
|
||||
</shadow>
|
||||
</view>
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"redDot":"/components/redDot/redDot"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
/* components/dataSource/dataSource.wxss */
|
||||
.operation {
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #2F88DB;
|
||||
text-align: right;
|
||||
margin-left: 68rpx;
|
||||
position: relative;
|
||||
.operationIcon {
|
||||
margin-right: 9rpx;
|
||||
width: 20rpx;
|
||||
height: 22rpx;
|
||||
}
|
||||
.redDot {
|
||||
width: 10rpx;
|
||||
height: 10rpx;
|
||||
display: inline-block;
|
||||
border-radius: 50%;
|
||||
background: red;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
// components/dataSource/dataSource.ts
|
||||
Component({
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
dataId: {
|
||||
type: String
|
||||
},
|
||||
redDotMark: {
|
||||
type: Boolean,
|
||||
value: false
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
handleRecords(e: WechatMiniprogram.BaseEvent) {
|
||||
console.log(e);
|
||||
|
||||
wx.navigateTo({
|
||||
url: '/pages/dataRecords/dataRecords?id=' + e.currentTarget.dataset.id
|
||||
})
|
||||
},
|
||||
}
|
||||
})
|
|
@ -0,0 +1,5 @@
|
|||
<!--components/dataSource/dataSource.wxml-->
|
||||
<view class="operation" bindtap="handleRecords" data-id="{{dataId}}">
|
||||
<image src="/assets/images/information/icon_data.png" class="operationIcon"></image>数据记录
|
||||
<redDot redDotMark="{{redDotMark}}"/>
|
||||
</view>
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"shadow":"/components/shadow/shadow",
|
||||
"btn":"/components/btn/btn",
|
||||
"btnClose":"/components/btnClose/btnClose"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,113 @@
|
|||
/* components/dialog/dialog.wxss */
|
||||
.dialog_long {
|
||||
background: rgba($color: #000000, $alpha: 0.5);
|
||||
// width: 100%;
|
||||
overflow: auto;
|
||||
height: 100%;
|
||||
// position: fixed;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
z-index: 150;
|
||||
|
||||
|
||||
.dialog_box {
|
||||
margin: 180rpx 65rpx;
|
||||
// margin-top: 180rpx 65rpx 0 65rpx;
|
||||
background: #fff;
|
||||
// margin: 65rpx;
|
||||
border-radius: 24rpx;
|
||||
padding: 66rpx;
|
||||
position: relative;
|
||||
|
||||
.dialog_title {
|
||||
text-align: center;
|
||||
margin-bottom: 40rpx;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #A1A1A1;
|
||||
}
|
||||
|
||||
.dialog_content {
|
||||
|
||||
text {
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #3E3E3E;
|
||||
// margin-bottom: 27rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.timeLine {
|
||||
margin-top: 27rpx;
|
||||
height: 600rpx;
|
||||
overflow:auto;
|
||||
margin-bottom: 20rpx;
|
||||
padding-left: 20rpx;
|
||||
|
||||
.timeLine_item {
|
||||
display: flex;
|
||||
border-left: 1px solid #6471D9;
|
||||
padding-left: 44rpx;
|
||||
position: relative;
|
||||
|
||||
&:last-child {
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
.step {
|
||||
background: #E9EBFF;
|
||||
border-radius: 50%;
|
||||
width: 43rpx;
|
||||
height: 43rpx;
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #6471D9;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-right: 24rpx;
|
||||
position: absolute;
|
||||
left: -20rpx;
|
||||
|
||||
// &:not(:first-child) {
|
||||
// &::after {
|
||||
// content: "";
|
||||
// border-left: 1px solid #000;
|
||||
// position: absolute;
|
||||
// height: 100px;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
.timeLine_content {
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #6471D9;
|
||||
flex: 1;
|
||||
padding-bottom: 33rpx;
|
||||
|
||||
|
||||
|
||||
.contentText {
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #C2C2C2;
|
||||
margin-top: 14rpx;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 343rpx;
|
||||
height: 452rpx;
|
||||
margin-top: 25rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
// components/dialog/dialog.ts
|
||||
Component({
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
visible: {
|
||||
type: Boolean,
|
||||
value: false
|
||||
},
|
||||
position: {
|
||||
type: String,
|
||||
value:""
|
||||
},
|
||||
|
||||
title: {
|
||||
type: String,
|
||||
value: '标题'
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
close() {
|
||||
console.log('close');
|
||||
|
||||
this.triggerEvent('close')
|
||||
this.hidden()
|
||||
},
|
||||
hidden() {
|
||||
this.setData({
|
||||
visible: false
|
||||
})
|
||||
},
|
||||
goChrivc() {
|
||||
wx.navigateToMiniProgram({
|
||||
appId: 'wx1da91ccb94c17c99',
|
||||
path: 'pages/report/report',
|
||||
success(res) {
|
||||
// 打开成功
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
|
@ -0,0 +1,64 @@
|
|||
<!--components/dialog/dialog.wxml-->
|
||||
<!-- catchtouchmove="none" -->
|
||||
<view class="dialog_long" wx:if="{{visible}}">
|
||||
<view class="dialog_box">
|
||||
<btnClose bindtap="close" />
|
||||
<view class="dialog_title">提示</view>
|
||||
<view class="dialog_content" bindtap="hidden">
|
||||
<text>您即将进入全国人力资源信息数据验证平台,邀请对方授权个人信息报告,操作流程如下:</text>
|
||||
<view class="timeLine">
|
||||
<view class="timeLine_item">
|
||||
<view class="step">1</view>
|
||||
<view class="timeLine_content">
|
||||
<view>登录小程序</view>
|
||||
<view class="contentText">通过手机号+验证码登录小程序;</view>
|
||||
<image class="invite_pic" src="https://chrivc.obs.cn-north-4.myhuaweicloud.com/68da41b6790743df9c2672c09b4bef7e:invite_pic1.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="timeLine_item">
|
||||
<view class="step">2</view>
|
||||
<view class="timeLine_content">
|
||||
<view>实名认证</view>
|
||||
<view class="contentText">基于国家数据平台的信息安全规范,平台用户均为实名用户,请先完成实名认证。</view>
|
||||
<image class="invite_pic" src="https://chrivc.obs.cn-north-4.myhuaweicloud.com/0658077fbc9c4b2b988200383333e260:invite_pic2.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="timeLine_item" wx:if="{{position==='my'}}">
|
||||
<view class="step">3</view>
|
||||
<view class="timeLine_content">
|
||||
<view>新增个人信息报告</view>
|
||||
<view class="contentText">查看、完善自填数据后,进入信息报告页面,您可根据您的需求选择性勾选数据生成个人信息报告,生成后的个人信息报告不可再次修改。</view>
|
||||
<image class="invite_pic" style="height: 209rpx;" src="./images/step3.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="timeLine_item" wx:else>
|
||||
<view class="step">3</view>
|
||||
<view class="timeLine_content">
|
||||
<view>查验他人</view>
|
||||
<view class="contentText">进入查验他人页面,输入准确的姓名和手机号码,向他人发起实名查验申请,他人同意并授权后即可查看其个人信息报告。</view>
|
||||
<image class="invite_pic" style="height:452rpx;" src="./images/step3-2.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="timeLine_item" wx:if="{{position==='my'}}">
|
||||
<view class="step">4</view>
|
||||
<view class="timeLine_content">
|
||||
<view>给报告添加电子证书</view>
|
||||
<view class="contentText">每份个人信息报告可生成多个授权查验的电子证书,通过电子证书授权允许他人查看个人信息报告。</view>
|
||||
<image class="invite_pic" style="height: 426rpx;" src="./images/step4.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="timeLine_item" wx:if="{{position==='my'}}">
|
||||
<view class="step">5</view>
|
||||
<view class="timeLine_content">
|
||||
<view>返回众评,选择证书展示</view>
|
||||
<view class="contentText">完成电子证书授权后,返回众评再次选择想要展示的个人信息报告及对应的授权电子证书即可。</view>
|
||||
<!-- <image class="invite_pic" src="/assets/images/searchResult/invite_pic1.png"></image> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<btn fontSize="24rpx" width="403rpx" height="64rpx" style="display: flex;justify-content: center;" bindtap="goChrivc">跳转至溯源优才小程序</btn>
|
||||
<!-- </view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
After Width: | Height: | Size: 233 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 120 KiB |
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
/* components/fileBox/fileBox.wxss */
|
||||
.fileBox {
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #C3C3C3;
|
||||
line-height: 30rpx;
|
||||
|
||||
.icon_file {
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
margin-right: 9rpx;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
// components/fileBox/fileBox.ts
|
||||
Component({
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
imgs: {
|
||||
type: Array,
|
||||
value: []
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
index: 0
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
preview() {
|
||||
let temps: { url: any }[] = []
|
||||
this.data.imgs.map((item: any) => {
|
||||
console.log(item);
|
||||
|
||||
temps.push({
|
||||
url: item,
|
||||
})
|
||||
})
|
||||
wx.previewMedia({ sources: temps, current: this.data.index })
|
||||
}
|
||||
}
|
||||
})
|
|
@ -0,0 +1,4 @@
|
|||
<!--components/fileBox/fileBox.wxml-->
|
||||
<view class="fileBox" bindtap="preview" wx:if="{{imgs.length}}">
|
||||
<image class="icon_file" src="/assets/images/reportPreview/icon_file.png"></image>{{imgs.length}}个附件
|
||||
</view>
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
/* components/filter/filter.wxss */
|
|
@ -0,0 +1,58 @@
|
|||
// components/filter/filter.ts
|
||||
import { parseTime, optionsFilter, splitDates, hideInformation } from '../../utils/index'
|
||||
Component({
|
||||
options: {
|
||||
styleIsolation: "shared"
|
||||
},
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
type: {
|
||||
type: String,
|
||||
observer() {
|
||||
this.initData()
|
||||
}
|
||||
},
|
||||
value: {
|
||||
type: String,
|
||||
observer() {
|
||||
this.initData()
|
||||
}
|
||||
},
|
||||
params: {
|
||||
type: Array,
|
||||
value: [],
|
||||
observer() {
|
||||
this.initData()
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
funs: { parseTime, optionsFilter, splitDates, hideInformation },
|
||||
_value: ''
|
||||
},
|
||||
|
||||
lifetimes: {
|
||||
ready() {
|
||||
this.initData()
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
initData() {
|
||||
const { type, value, params, funs } = this.data
|
||||
this.setData({
|
||||
// @ts-ignore
|
||||
_value: funs[type](value, ...params)
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
|
@ -0,0 +1,2 @@
|
|||
<!--components/filter/filter.wxml-->
|
||||
{{_value}}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"shadow": "/components/shadow/shadow"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,156 @@
|
|||
/* components/guide/guide.wxss */
|
||||
.guide-cmp {
|
||||
font-size: 24rpx;
|
||||
// font-weight: bold;
|
||||
// font-family: YouSheBiaoTiHei;
|
||||
// font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
position: fixed;
|
||||
top: 30rpx;
|
||||
right: 0;
|
||||
z-index: 100;
|
||||
// background: #3A61B1;
|
||||
width: 172rpx;
|
||||
height: 50rpx;
|
||||
border: 1px solid #FFFFFF;
|
||||
border-right: 0;
|
||||
border-radius: 25px 0px 0px 25px;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
// border-top-left-radius: 20rpx;
|
||||
// border-bottom-left-radius: 20rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
// font-style: italic;
|
||||
|
||||
.icon_guideClose {
|
||||
width: 11rpx;
|
||||
height: 11rpx;
|
||||
margin-left: 7rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.guide-shadow {
|
||||
width: 558rpx;
|
||||
// height: 200rpx;
|
||||
border-radius: 24rpx;
|
||||
// background: linear-gradient(#BAC8E4, #FFF 162rpx);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 35rpx 50rpx;
|
||||
padding-bottom: 58rpx;
|
||||
position: relative;
|
||||
|
||||
.cancel {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10rpx;
|
||||
width: 31rpx;
|
||||
height: 31rpx;
|
||||
padding: 21rpx;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 34rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: bold;
|
||||
margin-bottom: 75rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.font-item {
|
||||
width: 100%;
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #838383;
|
||||
margin-bottom: 30rpx;
|
||||
|
||||
text {
|
||||
color: #3A61B1;
|
||||
}
|
||||
}
|
||||
|
||||
.btn {
|
||||
width: 404rpx;
|
||||
height: 75rpx;
|
||||
line-height: 75rpx;
|
||||
border-radius: 38rpx;
|
||||
text-align: center;
|
||||
font-size: 26rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #FFFFFF;
|
||||
margin-top: 12rpx;
|
||||
background: #3A61B1;
|
||||
}
|
||||
}
|
||||
|
||||
.guide {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding-top: 210rpx;
|
||||
color: #fff;
|
||||
|
||||
.title {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
swiper {
|
||||
margin-top: 100rpx;
|
||||
height: 1000rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.steps {
|
||||
text-align: center;
|
||||
|
||||
.current {
|
||||
font-size: 48rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.remember {
|
||||
font-size: 24rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
.checkbox {
|
||||
width: 19rpx;
|
||||
height: 19rpx;
|
||||
border-radius: 6rpx;
|
||||
border: 1rpx solid #fff;
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.btn_close {
|
||||
margin-top: 20rpx;
|
||||
width: 340rpx;
|
||||
height: 69rpx;
|
||||
font-size: 30rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #3A61B1;
|
||||
background: none;
|
||||
border: 3rpx solid #3A61B1;
|
||||
border-radius: 35rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.icon_search {
|
||||
width: 20rpx;
|
||||
height: 20rpx;
|
||||
margin-right: 8rpx;
|
||||
}
|
||||
|
||||
.my {
|
||||
width: 127rpx;
|
||||
height: 58rpx;
|
||||
background: #6571D9;
|
||||
border-radius: 29rpx 0px 0px 29rpx;
|
||||
border: 0;
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
// components/guide/guide.ts
|
||||
Component({
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
realName: {
|
||||
type: Boolean,
|
||||
value: false
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
value: '查看我的号码'
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
show: false,
|
||||
current: 1,
|
||||
steps: [{
|
||||
// url: 'https://chrivc.obs.cn-north-4.myhuaweicloud.com/33fc395162ea4ee58483d056627b6217:附件_1660788247.png', height: '778rpx',
|
||||
url: 'https://chrivc.obs.cn-north-4.myhuaweicloud.com/41a16263956d45fda44214e58543d586:附件_1665473077.png', height: '778rpx',
|
||||
},
|
||||
{ url: 'https://chrivc.obs.cn-north-4.myhuaweicloud.com/0fa3a164228247f4839e72a1b3b550d5:附件_1660788307.png', height: '903rpx', },
|
||||
{ url: 'https://chrivc.obs.cn-north-4.myhuaweicloud.com/7b237c62ba7f4981a0bf7f384334fc75:附件_1660788523.png', height: '950rpx', },
|
||||
{ url: 'https://chrivc.obs.cn-north-4.myhuaweicloud.com/b80807ac97fb48dda9c576ae73e1ed1d:附件_1660788465.png', height: '1050rpx', },
|
||||
{ url: 'https://chrivc.obs.cn-north-4.myhuaweicloud.com/cf95856c688642e1ad71d541ba29759f:附件_1660788570.png', height: '1076rpx', },
|
||||
{ url: 'https://chrivc.obs.cn-north-4.myhuaweicloud.com/addf3101aac14c2f877c80e1b3289339:附件_1660788609.png', height: '989rpx', },
|
||||
{ url: 'https://chrivc.obs.cn-north-4.myhuaweicloud.com/ca4c058b91674c9aafe21d5275646392:附件_1660788643.png', height: '909rpx', }
|
||||
],
|
||||
tagShow: true
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
guideShow() {
|
||||
if (!this.data.realName) {
|
||||
wx.redirectTo({
|
||||
url: '/pages/login/login'
|
||||
})
|
||||
} else {
|
||||
wx.redirectTo({
|
||||
url: '/pages/my/my'
|
||||
})
|
||||
}
|
||||
},
|
||||
goSearch() {
|
||||
wx.reLaunch({
|
||||
url: '/pages/index/index'
|
||||
})
|
||||
},
|
||||
guideHide() {
|
||||
this.setData({
|
||||
show: false
|
||||
})
|
||||
},
|
||||
stepChange(e) {
|
||||
const { current } = e.detail
|
||||
this.setData({
|
||||
current: current + 1
|
||||
})
|
||||
},
|
||||
closeTag() {
|
||||
console.log('closeTag');
|
||||
|
||||
this.setData({
|
||||
tagShow: false
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
|
@ -0,0 +1,5 @@
|
|||
<!--components/guide/guide.wxml-->
|
||||
<view wx:if="{{title!=='查号码'}}" class="guide-cmp" bind:tap="guideShow">{{title}}</view>
|
||||
<view wx:else class="guide-cmp my" bind:tap="goSearch">
|
||||
<image class="icon_search" src="./images/icon_search.png"></image>查号码
|
||||
</view>
|
After Width: | Height: | Size: 1.2 KiB |
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
/* components/icon/icon.wxss */
|
|
@ -0,0 +1,23 @@
|
|||
// components/icon/icon.ts
|
||||
Component({
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
|
||||
}
|
||||
})
|
|
@ -0,0 +1,2 @@
|
|||
<!--components/icon/icon.wxml-->
|
||||
<image src="{{}}"></image>
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"shadow": "/components/shadow/shadow"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
/* components/message/message.wxss */
|
||||
.message-box{
|
||||
width: 558rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 24rpx;
|
||||
box-sizing: border-box;
|
||||
padding: 68rpx 76rpx;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
text-align: center;
|
||||
|
||||
position: relative;
|
||||
.cancel-icon{
|
||||
position: absolute;
|
||||
right: 10rpx;
|
||||
top: 0;
|
||||
padding: 21rpx;
|
||||
width: 31rpx;
|
||||
height: 31rpx;
|
||||
}
|
||||
.type-icon{
|
||||
width: 121rpx;
|
||||
height: 156rpx;
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
.title{
|
||||
font-size: 34rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #000000;
|
||||
}
|
||||
.message{
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #838383;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
.confim-btn{
|
||||
width: 100%;
|
||||
height: 76rpx;
|
||||
line-height: 76rpx;
|
||||
border-radius: 38rpx;
|
||||
text-align: center;
|
||||
background: #3A61B1;
|
||||
font-size: 26rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #FFFFFF;
|
||||
margin-top: 32rpx;
|
||||
}
|
||||
.cancel-btn{
|
||||
font-size: 26rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #C3C3C3;
|
||||
padding: 15rpx;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,71 @@
|
|||
// components/message/message.ts
|
||||
Component({
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
title: {
|
||||
type: String,
|
||||
value: ''
|
||||
},
|
||||
message: {
|
||||
type: String,
|
||||
value: ''
|
||||
},
|
||||
confirmText: {
|
||||
type: String,
|
||||
value: ''
|
||||
},
|
||||
cancelText: {
|
||||
type: String,
|
||||
value: ''
|
||||
},
|
||||
confirmShow: {
|
||||
type: Boolean,
|
||||
value: true
|
||||
},
|
||||
cancelShow: {
|
||||
type: Boolean,
|
||||
value: true
|
||||
},
|
||||
iconShow: {
|
||||
type: Boolean,
|
||||
value: true
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
visible: false
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
confirm() {
|
||||
this.triggerEvent('confirm')
|
||||
this.hidden()
|
||||
},
|
||||
cencel() {
|
||||
this.triggerEvent('cancel')
|
||||
this.hidden()
|
||||
},
|
||||
close() {
|
||||
this.triggerEvent('close')
|
||||
this.hidden()
|
||||
},
|
||||
show() {
|
||||
this.setData({
|
||||
visible: true
|
||||
})
|
||||
},
|
||||
hidden() {
|
||||
this.setData({
|
||||
visible: false
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
|
@ -0,0 +1,13 @@
|
|||
<!--components/message/message.wxml-->
|
||||
<view wx:if="{{visible}}" class="message-cmp">
|
||||
<shadow>
|
||||
<view class="message-box">
|
||||
<image src="/assets/images/message/cancel.png" class="cancel-icon" bind:tap="close" />
|
||||
<image wx:if="{{iconShow}}" src="/assets/images/message/success.png" class="type-icon" />
|
||||
<view class="title">{{title}}</view>
|
||||
<view class="message">{{message}}</view>
|
||||
<view wx:if="{{confirmShow}}" class="confim-btn" bind:tap="confirm">{{confirmText}}</view>
|
||||
<view wx:if="{{cancelShow}}" class="cancel-btn" bind:tap="cencel">{{cancelText}}</view>
|
||||
</view>
|
||||
</shadow>
|
||||
</view>
|