|
@@ -151,7 +151,7 @@
|
|
|
<a-select
|
|
|
ref="select"
|
|
|
v-model:value="dataModel.companyType"
|
|
|
- :options="studentStatuslist"
|
|
|
+ :options="companyCategoryList"
|
|
|
:field-names="{ label: 'name', value: 'value' }"
|
|
|
>
|
|
|
</a-select>
|
|
@@ -262,6 +262,7 @@ import {save, getCompanyById} from '@/api/companyService/company';
|
|
|
import {getSiteByID} from '@/api/baseSettings/siteInfo';
|
|
|
import {getSysDictionaryList} from '@/api/system/dictionary';
|
|
|
import dayjs from "dayjs";
|
|
|
+import {message} from "ant-design-vue";
|
|
|
|
|
|
interface FormState {
|
|
|
dataModel: any;
|
|
@@ -271,8 +272,9 @@ export default defineComponent(
|
|
|
{
|
|
|
components: {BUploadFile},
|
|
|
setup() {
|
|
|
- const formState = reactive<FormState>({dataModel: {}});
|
|
|
const router = useRouter();
|
|
|
+ const isAllowCommit = ref(true);
|
|
|
+ const formState = reactive<FormState>({dataModel: {}});
|
|
|
const siteList = ref<SelectProps['options']>();
|
|
|
const tabsViewStore = useTabsViewStore();
|
|
|
const showPicker = ref('1');
|
|
@@ -292,6 +294,7 @@ export default defineComponent(
|
|
|
|
|
|
const regionList = ref<SelectProps['options']>();
|
|
|
const streetList = ref<SelectProps['options']>();
|
|
|
+ const companyCategoryList = ref<SelectProps['options']>();
|
|
|
const companyModelList = ref<SelectProps['options']>();
|
|
|
const fullPath = router.currentRoute.value.fullPath;
|
|
|
|
|
@@ -338,19 +341,72 @@ export default defineComponent(
|
|
|
changeCity();
|
|
|
}
|
|
|
|
|
|
+ const companyCodeValidate = ()=>{
|
|
|
+ isAllowCommit.value = true;
|
|
|
+ const codeReg = /^[0-9A-Z]+$/;
|
|
|
+ console.log(formState.dataModel.companyCode);
|
|
|
+ if(formState.dataModel.companyCode.length != 18 || !codeReg.test(formState.dataModel.companyCode)){
|
|
|
+ message.error("输入的信用代码有误!");
|
|
|
+ isAllowCommit.value = false;
|
|
|
+ }else{
|
|
|
+ let aCode;
|
|
|
+ let aCodeValue;
|
|
|
+ let total = 0;
|
|
|
+ const weightedFactors = [1,3,9,27,19,26,16,17,20,29,25,13,8,24,10,30,28];
|
|
|
+ const str = '0123456789ABCDEFGHJKLMNPQRTUWXY';
|
|
|
+ for(let i =0;i < formState.dataModel.companyCode.length-1;i++){
|
|
|
+ aCode = formState.dataModel.companyCode.substring(i,i+1);
|
|
|
+ aCodeValue = str.indexOf(aCode);
|
|
|
+ total += aCodeValue * weightedFactors[i];
|
|
|
+ }
|
|
|
+ let logicCheckCode = 31 - total % 31;
|
|
|
+ if(logicCheckCode == 31){
|
|
|
+ logicCheckCode = 0;
|
|
|
+ }
|
|
|
+ const Str = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,T,U,W,X,Y";
|
|
|
+ const Array_Str = Str.split(',');
|
|
|
+ const correctCodeStr = Array_Str[logicCheckCode];
|
|
|
+ console.log("正确的校验码是",correctCodeStr);
|
|
|
+ const currentCodeStr = formState.dataModel.companyCode.substring(17, 18);
|
|
|
+ if (correctCodeStr != currentCodeStr) {
|
|
|
+ message.error('输入的统一信用代码无效!');
|
|
|
+ isAllowCommit.value = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ const inputDataValidate = () =>{
|
|
|
+ const mobileReg = /^1[3|4|5|6|7|8|9]\d{9}$/;
|
|
|
+ if(!mobileReg.test(formState.dataModel.userMobile)){
|
|
|
+ message.error("输入的联系电话有误!");
|
|
|
+ isAllowCommit.value = false;
|
|
|
+ }
|
|
|
+ const emailReg = /^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/;
|
|
|
+ // 这里由于邮箱非必填所以先判断是否填写了邮箱
|
|
|
+ if(formState.dataModel.companyEmail.trim()!==""){
|
|
|
+ if(!emailReg.test(formState.dataModel.companyEmail)){
|
|
|
+ message.error("输入的企业邮箱有误!");
|
|
|
+ isAllowCommit.value = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
const onFinish = () => {
|
|
|
// console.log(showPicker.value);
|
|
|
if (showPicker.value === '1') {
|
|
|
formState.dataModel.validDate = '2099-12-31T00:00:00.000+08:00';
|
|
|
} else {
|
|
|
formState.dataModel.validDate = showDateTime.value;
|
|
|
- }
|
|
|
- save(formState.dataModel).then(result => {
|
|
|
- if (result) {
|
|
|
- tabsViewStore.closeCurrentTab(fullPath);
|
|
|
- tabsViewStore.addTabByPath('/companyService/enterprise/index', {reload: 1});
|
|
|
- }
|
|
|
- })
|
|
|
+ };
|
|
|
+ companyCodeValidate();
|
|
|
+ inputDataValidate();
|
|
|
+ if(isAllowCommit.value){
|
|
|
+ save(formState.dataModel).then(result => {
|
|
|
+ if (result) {
|
|
|
+ tabsViewStore.closeCurrentTab(fullPath);
|
|
|
+ tabsViewStore.addTabByPath('/companyService/enterprise/index', {reload: 1});
|
|
|
+ }
|
|
|
+ })
|
|
|
+ };
|
|
|
}
|
|
|
|
|
|
const loadData = (id: any) => {
|
|
@@ -377,6 +433,7 @@ export default defineComponent(
|
|
|
siteList,
|
|
|
regionList,
|
|
|
streetList,
|
|
|
+ companyCategoryList,
|
|
|
companyModelList,
|
|
|
companyStatusList,
|
|
|
changeCity,
|