.vscode/settings.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/login/index.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/mine.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/register/index.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/types.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/upload/index.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/user.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/router/modules/remaining.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/store/modules/user.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/home/component/myFooter.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/home/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/item/component/editDialog.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/login/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/register/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/register/registernav.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
tsconfig.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
.vscode/settings.json
@@ -40,4 +40,6 @@ "v-ripple" ], "vscodeCustomCodeColor.highlightValueColor": "#b392f0", // "typescript.tsdk": "node_modules/typescript/lib", "vetur.validation.script": false } src/api/login/index.ts
@@ -7,11 +7,10 @@ import { http } from "@/utils/http"; import { baseUrlApi } from "../util"; type Result = { success: boolean; data: Array<any>; }; import type { Result } from "../types"; export const login = (data?: object) => { return http.request("post", baseUrlApi("/api/auth/loginPhone"), { data }); return http.request<Result>("post", baseUrlApi("/api/auth/loginPhone"), { data }); }; src/api/mine.ts
@@ -7,17 +7,22 @@ import { http } from "@/utils/http"; import { baseUrlApi } from "./util"; type Result = { success: boolean; data: Array<any>; }; import type { Result } from "./types"; // 获取个人中心数据 export const cusExtendInfo = (data?: object) => { return http.request("post", baseUrlApi("/api/customer/cusExtendInfo"), { data }); return http.request<Result>( "post", baseUrlApi("/api/customer/cusExtendInfo"), { data } ); }; // 修改个人中心数据 export const changeCusExtend = (data?: object) => { return http.request("post", baseUrlApi("/api/customer/changeCusExtend"), { data }); return http.request("post", baseUrlApi("/api/customer/changeCusExtend"), { data }); }; src/api/register/index.ts
@@ -8,13 +8,10 @@ import { http } from "@/utils/http"; import { baseUrlApi } from "../util"; type Result = { success: boolean; data: Array<any>; }; import type { Result, CaptchaResult } from "../types"; export const register = (data?: object) => { return http.request( return http.request<Result>( "post", baseUrlApi("/api/customer/customerRegistration"), { data } @@ -22,7 +19,7 @@ }; export const captcha = () => { return http.request<Result>("get", baseUrlApi("/api/zCSMS/captcha")); return http.request<CaptchaResult>("get", baseUrlApi("/api/zCSMS/captcha")); }; //获取角色 @@ -31,8 +28,8 @@ }; // 获取手机验证码 export const phoneNumberCode = (params?: object) => { return http.request( export const phoneNumberCode = params => { return http.request<Result>( "post", baseUrlApi( `/api/zCSMS/sendSMS/${params.phone}/${params.code}/${params.codeId}` @@ -42,7 +39,7 @@ // 注册角色用户资料 export const createrExRolsInformation = (data?: object) => { return http.request( return http.request<Result>( "post", baseUrlApi("/api/customer/createrExRolsInformation"), { data } @@ -51,7 +48,11 @@ // 获取企业类型 export const enterpriseTypes = (data?: object) => { return http.request("post", baseUrlApi("/api/customer/enterpriseTypes"), { data }); return http.request<Result>( "post", baseUrlApi("/api/customer/enterpriseTypes"), { data } ); }; src/api/types.ts
New file @@ -0,0 +1,19 @@ export type Result = { success: boolean; result: Array<any>; code: string | number; message: string; }; type captchaImg = { expirySeconds: number; message: string; img: string; id: string; }; export type CaptchaResult = { success: boolean; result: captchaImg; code: string | number; }; src/api/upload/index.ts
@@ -2,25 +2,22 @@ * (不建议写成 request.post(xxx),因为这样 post 时,无法 params 与 data 同时传参) * * 上传api接口集合 * @method register 注册 * @method captcha 获取验证码 */ import { http } from "@/utils/http"; import { baseUrlApi } from "../util"; type Result = { success: boolean; data: Array<any>; }; import type { Result } from "../types"; //上传和识别营业执照 export const upBizLicense = (data?: object) => { return http.request("post", baseUrlApi("/api/upFile/upBizLicense"), { data }); return http.request<Result>("post", baseUrlApi("/api/upFile/upBizLicense"), { data }); }; // 上传身份证 export const uploadIdCord = (params?: object) => { return http.request("post", baseUrlApi("/api/upFile/uploadIdCord"), { return http.request<Result>("post", baseUrlApi("/api/upFile/uploadIdCord"), { params }); }; src/api/user.ts
@@ -23,6 +23,29 @@ }; }; export type LoginResult = { success: boolean; code: string | number; result: { /** 头像 */ avatar: string; /** 用户名 */ username: string; /** 昵称 */ nickname: string; /** 当前登录用户的角色 */ exRoles: Array<string>; /** 按钮级别权限 */ permissions: Array<string>; /** `token` */ accessToken: string; /** 用于调用刷新`accessToken`的接口时所需的`token` */ refreshToken: string; /** `accessToken`的过期时间(格式'xxxx/xx/xx xx:xx:xx') */ expires: Date; }; }; export type RefreshTokenResult = { success: boolean; data: { @@ -37,7 +60,9 @@ /** 登录 */ export const getLogin = (data?: object) => { return http.request("post", baseUrlApi("/api/auth/loginPhone"), { data }); return http.request<LoginResult>("post", baseUrlApi("/api/auth/loginPhone"), { data }); // return http.request<UserResult>("post", "/login", { data }); }; src/router/modules/remaining.ts
@@ -13,7 +13,7 @@ // }, { path: "/index", name: "Main", name: "MainPage", component: () => import("@/views/home/index.vue"), meta: { title: "首页", src/store/modules/user.ts
@@ -8,7 +8,7 @@ storageLocal } from "../utils"; import { type UserResult, type LoginResult, type RefreshTokenResult, getLogin, refreshTokenApi @@ -65,11 +65,9 @@ }, /** 登入 */ async loginByUsername(data) { return new Promise<UserResult>((resolve, reject) => { return new Promise<LoginResult>((resolve, reject) => { getLogin(data) .then(data => { console.log(data, "这是什么?"); if (data?.code == 200) setToken(data.result); resolve(data); }) src/views/home/component/myFooter.vue
@@ -43,7 +43,11 @@ </div> </template> <script lang="ts"></script> <script lang="ts" setup> defineOptions({ name: "MyFooter" }); </script> <style lang="scss" scoped> .myfooter { src/views/home/index.vue
@@ -394,9 +394,9 @@ <script lang="ts" setup> import { onMounted, ref, computed, reactive } from "vue"; import myFooter from "./component/myFooter.vue"; import MyFooter from "./component/myFooter.vue"; import { useUserStoreHook } from "@/store/modules/user"; import { exRole } from "@/api/register/index.ts"; import { exRole } from "@/api/register/index"; import { storageLocal, isString, isIncludeAllChildren } from "@pureadmin/utils"; import { getToken } from "@/utils/auth"; @@ -409,7 +409,7 @@ // 访问 state 属性 // console.log(userStore.roles,'-'); // 直接获取值 defineOptions({ name: "Main" name: "MainPage" }); let activeName = ref("first"); /** 角色(如果昵称为空则显示用户名) */ src/views/item/component/editDialog.vue
@@ -1,41 +1,49 @@ <script lang="ts" name="procurementComplaint" setup> import { ref, reactive, onMounted } from 'vue'; import { ElMessage } from 'element-plus'; import type { FormRules } from 'element-plus'; import { formatDate } from '/@/utils/formatTime'; import { useProcurementComplaintApi } from '/@/api/fb_p_complaints/procurementComplaint'; import { log } from 'console'; import { ref, reactive, onMounted } from "vue"; import { ElMessage } from "element-plus"; import type { FormRules } from "element-plus"; import { formatDate } from "/@/utils/formatTime"; import { useProcurementComplaintApi } from "/@/api/fb_p_complaints/procurementComplaint"; import { log } from "console"; //父级传递来的函数,用于回调 const emit = defineEmits(['reloadTable']); const emit = defineEmits(["reloadTable"]); const procurementComplaintApi = useProcurementComplaintApi(); const ruleFormRef = ref(); const state = reactive({ title: '', loading: false, showDialog: false, ruleForm: { complaints: [{ itemDescription: '' }], } as any, stores: {}, dropdownData: {} as any, title: "", loading: false, showDialog: false, ruleForm: { complaints: [{ itemDescription: "" }] } as any, stores: {}, dropdownData: {} as any }); const handlingStatus = [ { value: 0, label: '其它' }, { value: 1, label: '成立' }, { value: 2, label: '驳回' }, { value: 3, label: '部分成立' }, { value: 0, label: "其它" }, { value: 1, label: "成立" }, { value: 2, label: "驳回" }, { value: 3, label: "部分成立" } ]; // 自行添加其他规则 const rules = ref<FormRules>({ projectCode: [{ required: true, message: '请选择项目编号!', trigger: 'blur' }], projectName: [{ required: true, message: '请选择项目名称!', trigger: 'blur' }], decisionDate: [{ required: true, message: '请选择决定日期!', trigger: 'change' }], purchaser: [{ required: true, message: '请选择采购人!', trigger: 'blur' }], procurementAgency: [{ required: true, message: '请选择采购代理机构!', trigger: 'blur' }], projectCode: [ { required: true, message: "请选择项目编号!", trigger: "blur" } ], projectName: [ { required: true, message: "请选择项目名称!", trigger: "blur" } ], decisionDate: [ { required: true, message: "请选择决定日期!", trigger: "change" } ], purchaser: [{ required: true, message: "请选择采购人!", trigger: "blur" }], procurementAgency: [ { required: true, message: "请选择采购代理机构!", trigger: "blur" } ] }); // 页面加载时 @@ -43,41 +51,45 @@ // 打开弹窗 const openDialog = async (row: any, title: string) => { state.title = title; row = row ?? { complaints: [{ itemDescription: '' }] }; state.ruleForm = row.id ? await procurementComplaintApi.detail(row.id).then((res) => res.data.result) : JSON.parse(JSON.stringify(row)); state.showDialog = true; console.log(state.ruleForm.complaints, state.ruleForm.complaints.length); state.title = title; row = row ?? { complaints: [{ itemDescription: "" }] }; state.ruleForm = row.id ? await procurementComplaintApi.detail(row.id).then(res => res.data.result) : JSON.parse(JSON.stringify(row)); state.showDialog = true; console.log(state.ruleForm.complaints, state.ruleForm.complaints.length); }; // 关闭弹窗 const closeDialog = () => { emit('reloadTable'); state.showDialog = false; emit("reloadTable"); state.showDialog = false; }; // 提交 const submit = async () => { ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => { if (isValid) { let values = state.ruleForm; await procurementComplaintApi[state.ruleForm.id ? 'update' : 'add'](values); closeDialog(); } else { ElMessage({ message: `表单有${Object.keys(fields).length}处验证失败,请修改后再提交`, type: 'error', }); } }); ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => { if (isValid) { let values = state.ruleForm; await procurementComplaintApi[state.ruleForm.id ? "update" : "add"]( values ); closeDialog(); } else { ElMessage({ message: `表单有${Object.keys(fields).length}处验证失败,请修改后再提交`, type: "error" }); } }); }; const changeComplaints = (index:any,txt: String) => { if (txt == 'add') { state.ruleForm.complaints.splice(index+1, 0, { itemDescription: '' }) } else { state.ruleForm.complaints.splice(index, 1) } const changeComplaints = (index: any, txt: String) => { if (txt == "add") { state.ruleForm.complaints.splice(index + 1, 0, { itemDescription: "" }); } else { state.ruleForm.complaints.splice(index, 1); } }; //将属性或者函数暴露给父组件 @@ -85,101 +97,203 @@ </script> <template> <div class="procurementComplaint-container"> <el-dialog v-model="state.showDialog" :width="900" draggable :close-on-click-modal="false"> <el-dialog v-model="state.showDialog" :width="900" draggable :close-on-click-modal="false" > <template #header> <div style="color: #fff"> <span>{{ state.title }}</span> </div> </template> <el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules"> <el-form ref="ruleFormRef" :model="state.ruleForm" label-width="auto" :rules="rules" > <el-row :gutter="35"> <el-form-item v-show="false"> <el-input v-model="state.ruleForm.id" /> </el-form-item> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="决定日期" prop="decisionDate"> <el-date-picker v-model="state.ruleForm.decisionDate" type="date" placeholder="请选择决定日期" /> <el-date-picker v-model="state.ruleForm.decisionDate" type="date" placeholder="请选择决定日期" /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="项目名称" prop="projectName"> <el-input v-model="state.ruleForm.projectName" placeholder="请输入项目名称" maxlength="200" show-word-limit clearable /> <el-input v-model="state.ruleForm.projectName" placeholder="请输入项目名称" maxlength="200" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="项目编号" prop="projectCode"> <el-input v-model="state.ruleForm.projectCode" placeholder="请输入项目编号" maxlength="50" show-word-limit clearable /> <el-input v-model="state.ruleForm.projectCode" placeholder="请输入项目编号" maxlength="50" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="采购人" prop="purchaser"> <el-input v-model="state.ruleForm.purchaser" placeholder="请输入采购人" maxlength="100" show-word-limit clearable /> <el-input v-model="state.ruleForm.purchaser" placeholder="请输入采购人" maxlength="100" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="采购代理机构" prop="procurementAgency"> <el-input v-model="state.ruleForm.procurementAgency" placeholder="请输入采购代理机构" maxlength="100" show-word-limit clearable /> <el-input v-model="state.ruleForm.procurementAgency" placeholder="请输入采购代理机构" maxlength="100" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="采购监督部门" prop="procurementSupervisionDepartment"> <el-input v-model="state.ruleForm.procurementSupervisionDepartment" placeholder="请输入采购监督部门" maxlength="100" show-word-limit clearable /> <el-form-item label="采购监督部门" prop="procurementSupervisionDepartment" > <el-input v-model="state.ruleForm.procurementSupervisionDepartment" placeholder="请输入采购监督部门" maxlength="100" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="投诉人" prop="complainant"> <el-input v-model="state.ruleForm.complainant" placeholder="请输入投诉人" maxlength="100" show-word-limit clearable /> <el-input v-model="state.ruleForm.complainant" placeholder="请输入投诉人" maxlength="100" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="线上地址" prop="url"> <el-input v-model="state.ruleForm.url" placeholder="请输入线上地址" maxlength="255" show-word-limit clearable /> <el-input v-model="state.ruleForm.url" placeholder="请输入线上地址" maxlength="255" show-word-limit clearable /> </el-form-item> </el-col> </el-row> <el-row :gutter="20"> <template v-for="(item,index) in state.ruleForm.complaints" :key="index"> <template v-for="(item, index) in state.ruleForm.complaints" :key="index" > <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> <el-form-item :label="`投诉事项${index==0?'':index}`" prop="complaints"> <el-input v-model="item.itemDescription" type="textarea" :placeholder="`请输入投诉事项${index==0?'':index}`" maxlength="1000" show-word-limit clearable /> <el-form-item :label="`投诉事项${index == 0 ? '' : index}`" prop="complaints" > <el-input v-model="item.itemDescription" type="textarea" :placeholder="`请输入投诉事项${index == 0 ? '' : index}`" maxlength="1000" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12" class=""> <el-form-item :label="`处理描述${index==0?'':index}`" prop="complaints"> <el-input v-model="item.handlingResult" type="textarea" :placeholder="`请输入处理描述${index==0?'':index}`" maxlength="1000" show-word-limit clearable /> <el-form-item :label="`处理描述${index == 0 ? '' : index}`" prop="complaints" > <el-input v-model="item.handlingResult" type="textarea" :placeholder="`请输入处理描述${index == 0 ? '' : index}`" maxlength="1000" show-word-limit clearable /> </el-form-item> </el-col> <el-col :xs="6" :sm="6" :md="6" :lg="6" :xl="6" class="mb20"> <el-form-item :label="`投诉状态${index==0?'':index}`" prop="complaints"> <el-form-item :label="`投诉状态${index == 0 ? '' : index}`" prop="complaints" > <el-select v-model="item.handlingStatus"> <el-option v-for="item in handlingStatus" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in handlingStatus" :key="item.value" :label="item.label" :value="item.value" /> </el-select> </el-form-item> </el-col> <el-col :xs="1" :sm="1" :md="1" :lg="1" :xl="1" class="mb20"> <el-button type="primary" @click="changeComplaints(index,'add')">+</el-button> <el-button type="primary" @click="changeComplaints(index, 'add')" >+</el-button > </el-col> <el-col :xs="1" :sm="1" :md="1" :lg="1" :xl="1" class="mb20" v-if="state.ruleForm.complaints&&state.ruleForm.complaints.length>1"> <el-button type="primary" @click="changeComplaints(index)">-</el-button> <el-col v-if=" state.ruleForm.complaints && state.ruleForm.complaints.length > 1 " :xs="1" :sm="1" :md="1" :lg="1" :xl="1" class="mb20" > <el-button type="primary" @click="changeComplaints(index)" >-</el-button > </el-col> <el-divider v-if="state.ruleForm.complaints&&state.ruleForm.complaints.length>1" /> <el-divider v-if=" state.ruleForm.complaints && state.ruleForm.complaints.length > 1 " /> </template> </el-row> </el-form> <template #footer> <span class="dialog-footer"> <el-button @click="() => state.showDialog = false">取 消</el-button> <el-button @click="submit" type="primary" v-reclick="1000">确 定</el-button> <el-button @click="() => (state.showDialog = false)">取 消</el-button> <el-button v-reclick="1000" type="primary" @click="submit" >确 定</el-button > </span> </template> </el-dialog> @@ -188,6 +302,6 @@ <style lang="scss" scoped> :deep(.el-select), :deep(.el-input-number) { width: 100%; width: 100%; } </style> </style> src/views/login/index.vue
@@ -30,7 +30,7 @@ // import darkIcon from "@/assets/svg/dark.svg?component"; import Lock from "~icons/ri/lock-fill"; import User from "~icons/ri/user-3-fill"; import { captcha, phoneNumberCode, exRole } from "@/api/register/index.ts"; import { captcha, phoneNumberCode, exRole } from "@/api/register/index"; defineOptions({ name: "Login" @@ -50,11 +50,8 @@ // 获取验证码 const getCaptcha = async () => { // if (!state.captchaEnabled) return; state.ruleForm.code = ""; const res = await captcha(); console.log(res); state.captchaImage = "data:text/html;base64," + res.result?.img; state.expirySeconds = res.result?.expirySeconds; state.ruleForm.codeId = res.result?.id; @@ -66,9 +63,8 @@ nickName: "", phone: "", phoneVCode: "", // tenantId: props.tenantInfo.id, code: "", codeId: 0, codeId: "", email: "", exRoleCode: "" }, @@ -133,6 +129,7 @@ // 获取验证码 getCaptcha(); exRole().then(res => { state.roleList = res.result; const role = route.query; @@ -141,7 +138,7 @@ } else { state.nowRole = state.roleList[0]; } state.ruleForm.exRoleCode = state.nowRole?.code; state.ruleForm.exRoleCode = state.nowRole.code; }); // 注册验证码过期计时器 // if (state.captchaEnabled) { @@ -167,24 +164,25 @@ if (!formEl) return; await formEl.validate(valid => { if (valid) { let obj = { phone: state.ruleForm.phone, code: state.ruleForm.phoneVCode, exRuleCode: state.ruleForm.exRoleCode }; loading.value = true; useUserStoreHook() .loginByUsername({ phone: state.ruleForm.phone, code: state.ruleForm.phoneVCode, exRuleCode: state.ruleForm.exRoleCode }) .loginByUsername(obj) .then(res => { if (res.code == 200) { // 获取后端路由 return initRouter().then(() => { console.log(res, "=-=-=-="); if (!res.result.exRoles.hasFlsh) { console.log(res, "=-=-=-=", res.result.exRoles[0].hasFlsh); if (!res.result.exRoles[0].hasFlsh) { disabled.value = true; router .replace({ name: "RegisterNav", query: { code: res?.result?.exRoles.code } query: { code: res.result.exRoles[0].code } }) .then(() => { message("登录成功", { type: "success" }); src/views/register/index.vue
@@ -121,7 +121,7 @@ <span id="suffix-span-2" ref="spanRef" @click="sendValidationCode(state.ruleForm.phone)" @click="sendValidationCode" > 获取验证码 </span> @@ -172,7 +172,7 @@ phoneNumberCode, register, exRole } from "@/api/register/index.ts"; } from "@/api/register/index"; import { useRoute, useRouter } from "vue-router"; import { message } from "@/utils/message"; defineOptions({ @@ -191,7 +191,7 @@ phoneVCode: "", // tenantId: props.tenantInfo.id, code: "", codeId: 0, codeId: "", email: "", exRoleCode: "" }, @@ -300,11 +300,8 @@ // 获取验证码 const getCaptcha = async () => { // if (!state.captchaEnabled) return; state.ruleForm.code = ""; const res = await captcha(); console.log(res); state.captchaImage = "data:text/html;base64," + res.result?.img; state.expirySeconds = res.result?.expirySeconds; state.ruleForm.codeId = res.result?.id; @@ -316,7 +313,7 @@ const spanRef = ref(); const submitForm = async (formEl: FormInstance | undefined) => { if (!formEl) return; await formEl.validate((valid, fields) => { await formEl.validate(valid => { if (valid) { state.ruleForm.account = state.ruleForm.phone; register(state.ruleForm).then(res => { src/views/register/registernav.vue
@@ -412,7 +412,7 @@ import { enterpriseTypes, createrExRolsInformation } from "@/api/register/index.ts"; } from "@/api/register/index"; import { cloneDeep } from "@pureadmin/utils"; import { getToken } from "@/utils/auth"; import { useRoute, useRouter } from "vue-router"; @@ -485,13 +485,6 @@ enterpriseType: [ { required: true, message: "请选择企业类型", trigger: "change" } ], // transactionCode: [ // { required: true, message: "请输入交易主体代码", trigger: "blur" }, // { min: 1, message: "交易主体代码最小长度为1", trigger: "blur" } // ], // transactionName: [ // { required: true, message: "请输入交易主体名称", trigger: "blur" } // ], businessLicense: [ { required: true, message: "请上传营业执照", trigger: "change" } ], @@ -604,7 +597,7 @@ } else { state.ruleForm.transactionCode = route.query.code; } // 企业类型 let res = await enterpriseTypes(); state.enterpriseList = res?.result; }); tsconfig.json
@@ -2,7 +2,7 @@ "compilerOptions": { "target": "ESNext", "module": "ESNext", "moduleResolution": "bundler", "moduleResolution": "node", "strict": false, "strictFunctionTypes": false, "noImplicitThis": true,