From fd23e8035052c716feac8a0a9f4c907baf9240a8 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Fri, 21 Jul 2023 16:06:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/company/edit.vue | 642 +++++++++++++++++++++++-------------- 1 file changed, 398 insertions(+), 244 deletions(-) diff --git a/src/views/company/edit.vue b/src/views/company/edit.vue index 120918b..b7510f6 100644 --- a/src/views/company/edit.vue +++ b/src/views/company/edit.vue @@ -7,65 +7,129 @@ - + - + - - + + - - + + - - + + - - + + - - + + - + @@ -75,32 +139,58 @@ - + - + - + - + - + @@ -111,33 +201,59 @@ - 其他联系人 + 其他联系人 @@ -147,22 +263,39 @@ - - + + - - + + @@ -171,22 +304,40 @@ - - + + - - + + @@ -241,23 +392,23 @@ - - - - - - - - - - - - - - - - - - - 上传 - - - - - + + 上传 + + + + + + - 修改 - 创建 + 修改 + 创建 @@ -326,8 +495,8 @@ isDisabled = route.query.read isEdit = route.query.edit // 表单数据 const formData = reactive({ - man: "", - id: "", + man: '', + id: '', // level_two: '', // level_one: '', company_name: '', @@ -344,11 +513,11 @@ const formData = reactive({ master_email: '', other_contacts: [ { - name: "", - position: "", - phone: "", - email: "", - }, + name: '', + position: '', + phone: '', + email: '' + } ], // area_manager: '', // is_contract: '', @@ -357,10 +526,10 @@ const formData = reactive({ // deposit: '', // deposit_time: '', qualification: { - business_license: "", - business_licenseB: "", - bank_account: "", - bank_accountB: "", + business_license: '', + business_licenseB: '', + bank_account: '', + bank_accountB: '' }, contract: { contract_type: '', @@ -369,8 +538,8 @@ const formData = reactive({ contract_no: '系统自动生成' }, //签约方 - party_a_name: "", - file_image: "", + party_a_name: '', + file_image: '' // status: '' }) @@ -384,83 +553,83 @@ const datas = reactive({ areaOptions: [], streetOptions: [], dictTypeLists: [], - contract_type: [], -}); + contract_type: [] +}) // 表单验证 const formRules = reactive({ company_name: [ { required: true, - message: "请输入公司名称", - trigger: ["blur"], - }, + message: '请输入公司名称', + trigger: ['blur'] + } ], organization_code: [ { required: true, - message: "请输入组织机构代码", - trigger: ["blur"], - }, + message: '请输入组织机构代码', + trigger: ['blur'] + } ], master_name: [ { required: true, - message: "请输入主联系人姓名", - trigger: ["blur"], - }, + message: '请输入主联系人姓名', + trigger: ['blur'] + } ], master_position: [ { required: true, - message: "请输入主联系人职务", - trigger: ["blur"], - }, + message: '请输入主联系人职务', + trigger: ['blur'] + } ], master_phone: [ { required: true, - message: "请输入主联系人手机", - trigger: ["blur"], - }, + message: '请输入主联系人手机', + trigger: ['blur'] + } ], master_email: [ { required: true, - message: "请输入主联系人邮箱", - trigger: ["blur"], - }, + message: '请输入主联系人邮箱', + trigger: ['blur'] + } ], account: [ { required: true, - message: "请输入账号", - trigger: ["blur"], - }, + message: '请输入账号', + trigger: ['blur'] + } ], password: [ { required: true, - message: "请输入密码", - trigger: ["blur"], - }, - ], -}); -const isCompany = ref(false); + message: '请输入密码', + trigger: ['blur'] + } + ] +}) +const isCompany = ref(false) const isMan = ref(false) function customEvent(data: any) { - isCompany.value = false; - formData.contract.party_a = data.id; - formData.party_a_name = data.company_name; + isCompany.value = false + formData.contract.party_a = data.id + formData.party_a_name = data.company_name } function customEventMan(data: any) { - isMan.value = false; + isMan.value = false console.log(data) // formData.contract.party_a = data.id; - formData.man = data.name; + formData.man = data.name } function openCompany() { - isCompany.value = true; + isCompany.value = true } // 获取详情 @@ -468,32 +637,26 @@ const setFormData = async (data: Record) => { for (const key in formData) { if (data[key] != null && data[key] != undefined) { //@ts-ignore - formData[key] = data[key]; + formData[key] = data[key] } } -}; +} const getDetail = async (row: Record) => { const data = await apiCompanyDetail({ - id: row.id, - }); - setFormData(data); -}; + id: row.id + }) + setFormData(data) +} //上传图片1 -const handleAvatarSuccess: UploadProps["onSuccess"] = ( - response, - uploadFile -) => { - formData.qualification.business_license = response.data.uri; -}; -const handleAvatarSuccessB: UploadProps["onSuccess"] = ( - response, - uploadFile -) => { - formData.qualification.business_licenseB = response.data.uri; -}; -const beforeAvatarUpload: UploadProps["beforeUpload"] = (rawFile) => { +const handleAvatarSuccess: UploadProps['onSuccess'] = (response, uploadFile) => { + formData.qualification.business_license = response.data.uri +} +const handleAvatarSuccessB: UploadProps['onSuccess'] = (response, uploadFile) => { + formData.qualification.business_licenseB = response.data.uri +} +const beforeAvatarUpload: UploadProps['beforeUpload'] = (rawFile) => { // if (rawFile.type !== 'image/jpeg') { // ElMessage.error('Avatar picture must be JPG format!') // return false @@ -501,22 +664,16 @@ const beforeAvatarUpload: UploadProps["beforeUpload"] = (rawFile) => { // ElMessage.error('Avatar picture size can not exceed 2MB!') // return false // } - return true; -}; + return true +} //上传图片2 -const handleAvatarSuccess_two: UploadProps["onSuccess"] = ( - response, - uploadFile -) => { - formData.qualification.bank_account = response.data.uri; -}; -const handleAvatarSuccess_twoB: UploadProps["onSuccess"] = ( - response, - uploadFile -) => { - formData.qualification.bank_accountB = response.data.uri; -}; -const beforeAvatarUpload_two: UploadProps["beforeUpload"] = (rawFile) => { +const handleAvatarSuccess_two: UploadProps['onSuccess'] = (response, uploadFile) => { + formData.qualification.bank_account = response.data.uri +} +const handleAvatarSuccess_twoB: UploadProps['onSuccess'] = (response, uploadFile) => { + formData.qualification.bank_accountB = response.data.uri +} +const beforeAvatarUpload_two: UploadProps['beforeUpload'] = (rawFile) => { // if (rawFile.type !== 'image/jpeg') { // ElMessage.error('Avatar picture must be JPG format!') // return false @@ -524,18 +681,15 @@ const beforeAvatarUpload_two: UploadProps["beforeUpload"] = (rawFile) => { // ElMessage.error('Avatar picture size can not exceed 2MB!') // return false // } - return true; -}; + return true +} //上传文件3 -const handleAvatarSuccess_three: UploadProps["onSuccess"] = ( - response, - uploadFile -) => { - formData.file_image = response.data.uri; - formData.contract.file = response.data.uri; -}; +const handleAvatarSuccess_three: UploadProps['onSuccess'] = (response, uploadFile) => { + formData.file_image = response.data.uri + formData.contract.file = response.data.uri +} -const beforeAvatarUpload_three: UploadProps["beforeUpload"] = (rawFile) => { +const beforeAvatarUpload_three: UploadProps['beforeUpload'] = (rawFile) => { // if (rawFile.type !== 'application/msword') { // ElMessage.error('请选择word格式的文件!') // return false @@ -544,96 +698,96 @@ const beforeAvatarUpload_three: UploadProps["beforeUpload"] = (rawFile) => { // ElMessage.error('Avatar picture size can not exceed 2MB!') // return false // } - return true; -}; + return true +} //增加其他联系人 function other() { formData.other_contacts.push({ - name: "", - position: "", - phone: "", - email: "", - }); + name: '', + position: '', + phone: '', + email: '' + }) } //获取省份 function province_change(value: string) { - getCityList(); + getCityList() } function city_change(value: string) { - getAreaList(); + getAreaList() } function area_change(value: string) { - getStreetList(); + getStreetList() } function street_change(value: string) { - formData.street = value; + formData.street = value } const getProvinceList = async () => { - const data = await apiProvinceList({}); - datas["provinceOptions"] = data; -}; + const data = await apiProvinceList({}) + datas['provinceOptions'] = data +} const getCityList = async () => { - const data = await apiCityList({ city: formData.province }); - datas["cityOptions"] = data; -}; + const data = await apiCityList({ city: formData.province }) + datas['cityOptions'] = data +} const getAreaList = async () => { - const data = await apiAreaList({ area: formData.city }); - datas["areaOptions"] = data; -}; + const data = await apiAreaList({ area: formData.city }) + datas['areaOptions'] = data +} const getStreetList = async () => { - const data = await apiStreetList({ street: formData.area }); - datas["streetOptions"] = data; -}; -getProvinceList(); + const data = await apiStreetList({ street: formData.area }) + datas['streetOptions'] = data +} +getProvinceList() const getcontract_type = async () => { - const data = await dictDataLists({ type_id: 7 }); - datas["contract_type"] = data["lists"]; -}; + const data = await dictDataLists({ type_id: 7 }) + datas['contract_type'] = data['lists'] +} const getdictTypeLists = async () => { - const data = await dictDataLists({ type_id: 6 }); - datas["dictTypeLists"] = data["lists"]; -}; + const data = await dictDataLists({ type_id: 6 }) + datas['dictTypeLists'] = data['lists'] +} const getDetails = async () => { const data = await apiCompanyDetail({ - id: route.query.id, - }); + id: route.query.id + }) Object.keys(formData).forEach((key) => { - const stringArr = ["province", "city", "area", "street"]; + const stringArr = ['province', 'city', 'area', 'street'] //@ts-ignore - formData[key] = data[key]; + formData[key] = data[key] if (stringArr.includes(key)) { - formData[key] = formData[key].toString(); - getCityList(); - getAreaList(); - getStreetList(); + formData[key] = formData[key].toString() + getCityList() + getAreaList() + getStreetList() } - }); - formData["party_a_name"] = data["contract"]["party_a_name"]; - formData["file_image"] = data["contract"]["file"]; -}; -getProvinceList(); -getdictTypeLists(); -getcontract_type(); + }) + formData['party_a_name'] = data['contract']['party_a_name'] + formData['file_image'] = data['contract']['file'] +} +getProvinceList() +getdictTypeLists() +getcontract_type() const create = async () => { - await formRef.value?.validate(); - const data = { ...formData }; + await formRef.value?.validate() + const data = { ...formData } if (route.query.id) { - await apiCompanyEdit(data); + await apiCompanyEdit(data) } else { - await apiCompanyAdd(data); + await apiCompanyAdd(data) } - removeTab(); - router.back(); -}; -route.query.id && getDetails(); + removeTab() + router.back() +} +route.query.id && getDetails() defineExpose({ open, setFormData, - getDetail, -}); + getDetail +})