diff --git a/src/api/standardsAssociationApi.js b/src/api/standardsAssociationApi.js
index dc1831e..f2cfb82 100644
--- a/src/api/standardsAssociationApi.js
+++ b/src/api/standardsAssociationApi.js
@@ -7,6 +7,17 @@ import { getAction, postAction } from '@api/memberManage'
import { ACCESS_TOKEN } from '@/store/mutation-types'
+// 验证用户是否存在
+const checkOnlyUser = (params) => getAction('/sys/user/checkOnlyUser', params)
+// 验证税号是否重复
+const checkOnlytaxNo = (params) => getAction('/sys/user/taxNoCheck', params)
+// 企业性质dict查询
+const getDictOptions = (params) => getAction('/memberInfo/memberInfo/getDictOptions', params)
+// 手机号唯一性校验
+const phoneCheck = (params) => getAction('/sys/user/phoneCheck', params)
+// 邮箱唯一性校验
+const emailCheck = (params) => getAction('/sys/user/emailCheck', params)
+
// 标协会员-基本信息-调用来款系统的接口
const getMemberBaseInfo = (param) => incomeGetAction('/company/payContactsManagement/baseInfo', param)
@@ -87,6 +98,11 @@ export {
getCertificateById,
application,
- determineOrCancel
+ determineOrCancel,
+ checkOnlyUser,
+ checkOnlytaxNo,
+ getDictOptions,
+ phoneCheck,
+ emailCheck
}
diff --git a/src/components/standardsAssociation/JMultiSelectTag.vue b/src/components/standardsAssociation/JMultiSelectTag.vue
index 244088f..b574ec1 100644
--- a/src/components/standardsAssociation/JMultiSelectTag.vue
+++ b/src/components/standardsAssociation/JMultiSelectTag.vue
@@ -130,3 +130,18 @@
}
}
+
diff --git a/src/components/standardsAssociation/RImageUpload.vue b/src/components/standardsAssociation/RImageUpload.vue
new file mode 100644
index 0000000..597ad13
--- /dev/null
+++ b/src/components/standardsAssociation/RImageUpload.vue
@@ -0,0 +1,247 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/standardsAssociation/RUpload.vue b/src/components/standardsAssociation/RUpload.vue
new file mode 100644
index 0000000..a8ea408
--- /dev/null
+++ b/src/components/standardsAssociation/RUpload.vue
@@ -0,0 +1,487 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ text }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/config/router.config.js b/src/config/router.config.js
index c9b4b3c..d9cfdf7 100644
--- a/src/config/router.config.js
+++ b/src/config/router.config.js
@@ -52,7 +52,16 @@ export const constantRouterMap = [
path: 'alteration',
name: 'alteration',
component: () => import(/* webpackChunkName: "user" */ '@/views/user/alteration/Alteration')
- }
+ },{
+ path: 'member-register',
+ name: 'MemberRegister',
+ component: () => import(/* webpackChunkName: "user" */ '@/views/standardsAssociation/register/Register')
+ },
+ {
+ path: 'member-register-result',
+ name: 'MemberRegisterResult',
+ component: () => import(/* webpackChunkName: "user" */ '@/views/standardsAssociation/register/RegisterResult')
+ },
]
},
{
diff --git a/src/permission.js b/src/permission.js
index bf57950..0cb207b 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -9,7 +9,7 @@ import { generateIndexRouter } from '@/utils/util'
NProgress.configure({ showSpinner: false }) // NProgress Configuration
-const whiteList = ['/user/login', '/user/register', '/user/register-result', '/user/alteration','/signupentrance','/signUpPage'] // no redirect whitelist
+const whiteList = ['/user/login', '/user/register', '/user/register-result', '/user/member-register', '/user/member-register-result', '/user/alteration','/signupentrance','/signUpPage'] // no redirect whitelist
const ThirdLoginFunc = (token) => {
return new Promise(resolve => {
diff --git a/src/utils/validate.js b/src/utils/validate.js
index 8170999..fd0e7e7 100644
--- a/src/utils/validate.js
+++ b/src/utils/validate.js
@@ -12,7 +12,8 @@ export function isEmail(s) {
* @param {*} s
*/
export function isPhone(s) {
- return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
+ // return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
+ return /^([0-9-]{0,15})$/.test(s)
}
/**
@@ -81,4 +82,4 @@ export function dutyCode(s) {
*/
export function number(s) {
return /^[0-9]*$/.test(s)
-}
\ No newline at end of file
+}
diff --git a/src/views/standardsAssociation/MemberManagement.vue b/src/views/standardsAssociation/MemberManagement.vue
index 5b35fcb..e753940 100644
--- a/src/views/standardsAssociation/MemberManagement.vue
+++ b/src/views/standardsAssociation/MemberManagement.vue
@@ -251,6 +251,8 @@ export default {
method = 'put'
}
const formData = Object.assign(this.model, values)
+ // 用户昵称 默认等于单位全称
+ formData.realname = formData.companyName
let encrypt = new JSEncrypt()
encrypt.setPublicKey(that.encryptedString)
formData.standardPhone = encrypt.encrypt(values.standardPhone)
diff --git a/src/views/standardsAssociation/PaymentInfo/CertificateInfo.vue b/src/views/standardsAssociation/PaymentInfo/CertificateInfo.vue
index f954ac8..83462ec 100644
--- a/src/views/standardsAssociation/PaymentInfo/CertificateInfo.vue
+++ b/src/views/standardsAssociation/PaymentInfo/CertificateInfo.vue
@@ -51,6 +51,9 @@
+
+ 附加证书需求,请转至“证书管理”工作区提交申请。本页面仅提供数据查询。
+
@@ -303,4 +306,8 @@ export default {
diff --git a/src/views/standardsAssociation/PaymentInfo/MemberInfo.vue b/src/views/standardsAssociation/PaymentInfo/MemberInfo.vue
index cee5199..36103e0 100644
--- a/src/views/standardsAssociation/PaymentInfo/MemberInfo.vue
+++ b/src/views/standardsAssociation/PaymentInfo/MemberInfo.vue
@@ -235,11 +235,11 @@ export default {
align: 'center',
dataIndex: 'paymentAmount'
},
- {
- title: '网员服务费',
- align: 'center',
- dataIndex: 'serviceCharge'
- },
+ // {
+ // title: '网员服务费',
+ // align: 'center',
+ // dataIndex: 'serviceCharge'
+ // },
// {
// title:'证书个数',
// align:"center",
diff --git a/src/views/standardsAssociation/PaymentInfo/modules/PaymentInfoModal.vue b/src/views/standardsAssociation/PaymentInfo/modules/PaymentInfoModal.vue
index fe83716..c3a34a2 100644
--- a/src/views/standardsAssociation/PaymentInfo/modules/PaymentInfoModal.vue
+++ b/src/views/standardsAssociation/PaymentInfo/modules/PaymentInfoModal.vue
@@ -11,7 +11,7 @@
- 缴费信息(缴费时长满5年才可申请证书)
+ 缴费信息(缴费时长5年可绑定两张证书)
-
+
@@ -82,6 +82,7 @@
:trigger-change="true"
dictCode="payment_time"
placeholder="请选择缴费时长"
+ :get-popup-container="(node) => node.parentNode || document.body"
style="width: 140px" />
@@ -100,7 +101,7 @@
-
+
@@ -329,8 +330,8 @@
-
证书需求
-
申请证书
+
绑定证书
+
@@ -381,6 +382,7 @@
是
否
+
—
@@ -694,13 +696,13 @@ export default {
payTime: '1/5',
paymentType: '',
payNumber: ''
- },
+ }/*,
{
payCategory: '网员服务费',
payTime: '1',
paymentType: '',
payNumber: ''
- }
+ }*/
],
// 是否是添加功能
addFlag: false,
@@ -1039,6 +1041,8 @@ export default {
} else {
formData.paymentType = 0
}
+ // 客户要去掉网员服务费字段,但是后端没有去掉校验,所以前端写死
+ formData.serviceCharge = 0
httpAction(httpurl, formData, method).then((res) => {
if (res.success) {
that.$message.success(res.message)
@@ -1090,6 +1094,8 @@ export default {
}
this.model.certificatesNum = this.selectedRowKeys.length
const formData = Object.assign(this.model, values)
+ // 客户要去掉网员服务费字段,但是后端没有去掉校验,所以前端写死
+ formData.serviceCharge = 0
if (this.typeFlag) {
formData.paymentType = 1
} else {
@@ -1466,4 +1472,8 @@ export default {
/deep/ .ant-form-item-label {
width: 145px !important;
}
+// 会员缴费表格的样式修改,防止缴费年限下拉框被遮挡
+.payment-table{
+ z-index: 10;
+}
diff --git a/src/views/standardsAssociation/memberInfo/MemberInfo.vue b/src/views/standardsAssociation/memberInfo/MemberInfo.vue
index 9fe7292..1f14871 100644
--- a/src/views/standardsAssociation/memberInfo/MemberInfo.vue
+++ b/src/views/standardsAssociation/memberInfo/MemberInfo.vue
@@ -27,15 +27,15 @@
-
-
-
- event.target.value = event.target.value.trim()"
- v-decorator="[ 'realname', validatorRules.realname]" placeholder="请输入用户昵称"
- :maxLength="50">
-
-
-
+
+
+
+
+
+
+
+
+
@@ -303,6 +303,8 @@ import { getFileAccessHttpUrl } from '../../../api/memberManage'
import { DisabledAuthFilterMixin } from '@/mixins/DisabledAuthFilterMixin'
import ChangeCompanyModal from './modules/ChangeCompanyModal'
import pick from 'lodash.pick'
+import {phoneReg, isPhone} from '@/utils/validate'
+
// eslint-disable-next-line no-unused-vars
import Vue from 'vue'
@@ -618,7 +620,22 @@ export default {
// 更新变更
getChangeHistoryData() {
- }
+ },
+ /*
+ * 验证发票信息-电话号码 的正确性
+ * */
+ handleInvoicePhoneCheck(rule, value, callback) {
+ if (!value) {
+ callback(new Error('请输入电话号码'))
+ return
+ } else {
+ if (phoneReg(value) || isPhone(value)) {
+ callback()
+ } else {
+ callback(new Error('请输入正确格式的电话号码'))
+ }
+ }
+ },
},
created() {
console.log('&&*****会员信息****')
diff --git a/src/views/standardsAssociation/register/Register.vue b/src/views/standardsAssociation/register/Register.vue
new file mode 100644
index 0000000..ba62de9
--- /dev/null
+++ b/src/views/standardsAssociation/register/Register.vue
@@ -0,0 +1,1041 @@
+
+
+ 
汽车标准化工作平台-注册会员
+
+
+
+
+
+
+ * 请先滑至页面底端,下载入会申请表模板盖章后,再返回本页面填写申请信息。
+
+
+
+ 注册信息
+
+
+
+
+ event.target.value = event.target.value.trim()"
+ v-decorator="[ 'companyName', validatorRules.companyName]" placeholder="请输入单位全称"
+ :maxLength="50">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 单位信息
+
+
+
+
+ event.target.value = event.target.value.trim()"
+ v-decorator="[ 'legalRepresent', validatorRules.legalRepresent]" placeholder="请输入法人代表"
+ :maxLength="50">
+
+
+
+
+
+
+ event.target.value = event.target.value.trim()"
+ v-decorator="[ 'companyDepartment']"
+ placeholder="请输入隶属部门/集团"
+ :maxLength="50">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ event.target.value = event.target.value.trim()"
+ v-decorator="['companyBusinessDesc',validatorRules.companyBusinessDesc]"
+ :maxLength="500" />
+
+
+
+
+
+
+
+ 请上传大小在5M内的图片。
+
+
+
+
+
+ 标准化部门信息
+
+
+
+
+ event.target.value = event.target.value.trim()"
+ v-decorator="[ 'standardDepartment', validatorRules.standardDepartment]"
+ placeholder="请输入标准化部门"
+ :maxLength="50">
+
+
+
+
+ event.target.value = event.target.value.trim()"
+ v-decorator="[ 'standardLeadingMan', validatorRules.standardLeadingMan]"
+ placeholder="请输入标准化工作负责人"
+ :maxLength="50">
+
+
+
+
+
+
+ {e.target.value = e.target.value.replace(/[^0-9|-]/g,'')}">
+
+
+
+
+ {e.target.value = e.target.value.replace(/[^0-9.]/g,'')}">
+
+
+
+
+
+
+ event.target.value = event.target.value.trim()"
+ v-decorator="[ 'standardEmail', validatorRules.standardEmail]" placeholder="请输入E-mail"
+ :maxLength="50">
+
+
+
+
+ event.target.value = event.target.value.trim()"
+ v-decorator="[ 'standardPost', validatorRules.standardPost]" placeholder="请输入职务"
+ :maxLength="50">
+
+
+
+
+
+
+ event.target.value = event.target.value.trim()"
+ v-decorator="[ 'industrialOrganization']"
+ placeholder="请输入已加入的行业组织/协会/团体/联盟/委员会等"
+ :maxLength="50"
+ >
+
+
+
+
+ 联系人信息
+
+
+
+ event.target.value = event.target.value.trim()"
+ v-decorator="[ 'liaisonMan', validatorRules.liaisonMan]" placeholder="请输入联系人"
+ :maxLength="50">
+
+
+
+
+ {e.target.value = e.target.value.replace(/[^0-9.]/g,'')}">
+
+
+
+
+
+
+ {e.target.value = e.target.value.replace(/[^0-9|-]/g,'')}">
+
+
+
+
+ event.target.value = event.target.value.trim()"
+ v-decorator="[ 'email', validatorRules.email]" placeholder="请输入E-mail"
+ :maxLength="50">
+
+
+
+
+
+
+ event.target.value = event.target.value.trim()"
+ v-decorator="[ 'address', validatorRules.address]" placeholder="请输入通讯地址"
+ :maxLength="50">
+
+
+
+
+ {e.target.value = e.target.value.replace(/[^0-9]/g,'')}">
+
+
+
+
+ 发票信息
+
+
+
+ event.target.value = event.target.value.trim()"
+ v-decorator="[ 'invoiceInfo', validatorRules.invoiceInfo]" placeholder="请输入关联付款发票名称"
+ :maxLength="50">
+
+
+
+
+ {e.target.value = e.target.value.replace(/[^0-9A-Z]/g,'')}">
+
+
+
+
+
+
+
+ event.target.value = event.target.value.trim()"
+ v-decorator="[ 'invoiceAddress', validatorRules.invoiceAddress]" placeholder="请输入单位地址"
+ :maxLength="50">
+
+
+
+
+ {e.target.value = e.target.value.replace(/[^0-9|-]/g,'')}">
+
+
+
+
+
+
+ event.target.value = event.target.value.trim()"
+ v-decorator="[ 'depositBank', validatorRules.depositBank]" placeholder="请输入开户银行"
+ :maxLength="50">
+
+
+
+
+ {e.target.value = e.target.value.replace(/[^0-9]/g,'')}">
+
+
+
+
+ 入会申请表
+
+
+
+ 点击下载
+ (盖公章后上传注册)
+
+
+
+
+
+
+
+
+ 请上传pdf文件
+
+
+
+
+
+
+
+ 注册
+
+
+
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/standardsAssociation/register/RegisterResult.vue b/src/views/standardsAssociation/register/RegisterResult.vue
new file mode 100644
index 0000000..0cf08a9
--- /dev/null
+++ b/src/views/standardsAssociation/register/RegisterResult.vue
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+