| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909 |
- <template>
- <ele-modal
- custom-class="ele-dialog-form long-dialog-form"
- :centered="true"
- v-if="visible"
- :visible.sync="visible"
- :title="title"
- :close-on-click-modal="false"
- :append-to-body="true"
- width="70%"
- :maxable="true"
- :resizable="true"
- @close="cancel"
- >
- <el-tabs v-model="activeName" type="card" @tab-click="handleActive">
- <el-tab-pane label="基本信息" name="1">
- <headerTitle title="基本信息" style="margin-top: 30px"></headerTitle>
- <el-form
- label-width="120px"
- ref="form"
- class="el-form-box"
- :model="form"
- :rules="rules"
- >
- <el-row>
- <el-col :span="8">
- <el-form-item label="分类" prop="categoryId">
- <ele-tree-select
- :data="categoryTreeList"
- v-model="categoryIdList"
- multiple
- filterable
- :checkStrictly="true"
- valueKey="id"
- labelKey="name"
- placeholder="请选择"
- default-expand-all
- ref="treeSelect"
- />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item
- label="对像类型 "
- prop="objectType"
- >
- <el-select
- v-model="form.objectType"
- clearable
- style="width: 100%"
- >
- <el-option
- :key="1"
- label="企业"
- :value="1"
- >
- </el-option>
- <el-option
- :key="2"
- label="个人"
- :value="2"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="名称" prop="name">
- <el-input
- placeholder="请输入"
- v-model="form.name"
- maxlength="50"
- @change="nameChange"
- ></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8">
- <el-form-item
- :label="form.objectType == 1 ? '统一信用代码' : '身份证号'"
- prop="unifiedSocialCreditCode"
- >
- <el-input
- placeholder="请输入"
- v-model="form.unifiedSocialCreditCode"
- maxlength="18"
- @change="unifiedSocialCreditCodeChange"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="简称">
- <el-input
- placeholder="请输入"
- v-model="form.simpleName"
- maxlength="50"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item
- label="代号"
- prop="serialNo"
- :rules="{
- required: false,
- message: '请输入',
- trigger: 'change'
- }"
- >
- <el-input
- placeholder="请输入"
- v-model="form.serialNo"
- maxlength="50"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="法定代表人" prop="legalPerson">
- <el-input
- placeholder="请输入"
- v-model="form.legalPerson"
- maxlength="50"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="所属行业" prop="industry">
- <DictSelection
- dictName="所属行业"
- clearable
- v-model="form.industryCode"
- >
- </DictSelection>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="企业类型" prop="companyCategoryId">
- <DictSelection
- dictName="营业类型"
- clearable
- v-model="form.companyCategoryId"
- >
- </DictSelection>
- </el-form-item>
- </el-col>
- <el-col :span="8" style="height: 40px;">
- <el-form-item label="企业性质" prop="enterpriseTypeId">
- <DictSelection
- dictName="企业类型"
- clearable
- v-model="form.enterpriseTypeId"
- >
- </DictSelection>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="上级单位" prop="parentId">
- <el-input
- placeholder="请选择上级单位"
- v-model="form.parentName"
- readonly
- @click.native="handParent"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="注册资本" prop="registeredCapital">
- <el-input
- placeholder="请输入"
- v-model="form.registeredCapital"
- maxlength="50"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="授信额度" prop="authorizationLimit">
- <el-input
- placeholder="请输入"
- v-model="form.authorizationLimit"
- maxlength="17"
- oninput="value=value.replace(/[^0-9.]/g,'')"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="单位电话" prop="phone">
- <el-input
- placeholder="请输入"
- v-model="form.phone"
- maxlength="20"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="成立日期" prop="registerDate">
- <el-date-picker
- style="width: 100%"
- clearable
- v-model="form.registerDate"
- type="date"
- value-format="yyyy-MM-dd"
- placeholder="请选择日期"
- >
- </el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :span="8" style="height: 40px;">
- <el-form-item label="级别:">
- <DictSelection
- dictName="供应商级别"
- clearable
- v-model="form.level"
- >
- </DictSelection>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item
- label="企业规模"
- prop="enterpriseScale"
- style="height: 36px"
- >
- <DictSelection
- dictName="企业规模"
- clearable
- v-model="form.enterpriseScale"
- >
- </DictSelection>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="员工人数" prop="staffCount">
- <el-input
- placeholder="请输入"
- v-model="form.staffCount"
- maxlength="20"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="英文名称" prop="englishName">
- <el-input
- placeholder="请输入"
- v-model="form.englishName"
- maxlength="20"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="纳税人资质" prop="taxpayerQualification">
- <DictSelection
- dictName="纳税人资质"
- clearable
- v-model="form.taxpayerQualification"
- >
- </DictSelection>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="企业荣誉" prop="enterpriseHonor">
- <DictSelection
- dictName="企业荣誉"
- clearable
- v-model="form.enterpriseHonor"
- >
- </DictSelection>
- </el-form-item>
- </el-col>
- <!-- <el-col :span="8" v-if="form.type != 2">
- <el-form-item label="客户审查" prop="qualificationCensorship">
- <el-radio v-model="form.qualificationCensorship" label="1"
- >启用</el-radio
- >
- <el-radio v-model="form.qualificationCensorship" label="2"
- >不启用</el-radio
- >
- </el-form-item>
- </el-col> -->
- <el-col :span="24">
- <el-form-item label="注册地址" prop="addressId">
- <el-cascader
- filterable
- clearable
- v-model="form.addressId"
- :options="options.cityData"
- ref="address"
- style="width: 35%"
- placeholder="请选择省市区/县"
- @change="changeAddress1"
- ></el-cascader>
- <el-input
- placeholder="请输入详细地址"
- v-model="form.address"
- style="width: 65%"
- ></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <el-form
- label-width="120px"
- ref="otherForm"
- class="el-form-box"
- :model="otherForm"
- :rules="otherRules"
- >
- <el-row>
- <el-col :span="24">
- <el-form-item label="联系地址" prop="address">
- <el-cascader
- @change="changeAddress2"
- clearable
- v-model="otherForm.addressId"
- :options="options.cityData"
- ref="sendAddress"
- style="width: 35%"
- placeholder="请选择省市区/县"
- ></el-cascader>
- <el-input
- placeholder="请输入详细地址"
- v-model="otherForm.address"
- maxlength="50"
- style="width: 65%"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="主营产品" prop="mainProduct">
- <el-input
- placeholder="请输入"
- v-model="form.mainProduct"
- type="textarea"
- maxlength="500"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="经营范围" prop="businessScope">
- <el-input
- type="textarea"
- maxlength="500"
- placeholder="请输入"
- v-model="form.businessScope"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="企业简介" prop="enterpriseProfile">
- <el-input
- placeholder="请输入"
- v-model="form.enterpriseProfile"
- type="textarea"
- maxlength="500"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="备注" prop="remark">
- <el-input
- type="textarea"
- resize="none"
- v-model="form.remark"
- :rows="2"
- placeholder="请输入"
- size="small"
- maxlength="200"
- ></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- </el-tab-pane>
- <el-tab-pane label="银行信息" name="2">
- <headerTitle title="银行信息" style="margin-top: 30px"></headerTitle>
- <ele-pro-table
- ref="table"
- :columns="bankColumns"
- :datasource="tableBankData"
- height="350px"
- :toolkit="[]"
- class="el-form-box"
- :need-page="false"
- >
- <!-- 表头工具栏 -->
- <template v-slot:toolbar>
- <el-button type="primary" @click="addBank">添加</el-button>
- </template>
- <template v-slot:action="{ row, $index }">
- <el-link
- type="danger"
- :underline="false"
- icon="el-icon-delete"
- @click="handleBankDel(row, $index)"
- >删除
- </el-link>
- </template>
- <template v-slot:accountNameHeader="{ column }">
- <span>{{ column.label }}</span
- ><span style="color: red">*</span>
- </template>
- <template v-slot:accountName="{ row }">
- <el-input
- v-model="row.accountName"
- placeholder="请输入"
- maxlength="50"
- ></el-input>
- </template>
- <template v-slot:accountNo="{ row }">
- <el-input
- v-model="row.accountNo"
- placeholder="请输入"
- maxlength="50"
- ></el-input>
- </template>
- <template v-slot:bankName="{ row }">
- <el-input
- v-model="row.bankName"
- placeholder="请输入"
- maxlength="50"
- ></el-input>
- </template>
- <template v-slot:interbankNo="{ row }">
- <el-input
- v-model="row.interbankNo"
- placeholder="请输入"
- maxlength="50"
- ></el-input>
- </template>
- </ele-pro-table>
- </el-tab-pane>
- <el-tab-pane label="联系人信息" name="3">
- <headerTitle title="联系人信息" style="margin-top: 30px"></headerTitle>
- <ele-pro-table
- ref="linkTable"
- :columns="linkColumns"
- :datasource="tableLinkData"
- :toolkit="[]"
- height="350px"
- class="el-form-box"
- :need-page="false"
- >
- <!-- 表头工具栏 -->
- <template v-slot:toolbar>
- <el-button type="primary" @click="addLink">添加</el-button>
- </template>
- <template v-slot:action="{ row, $index }">
- <el-link
- type="danger"
- :underline="false"
- icon="el-icon-delete"
- @click="handleLinkDel(row, $index)"
- >删除
- </el-link>
- </template>
- <template v-slot:linkNameHeader="{ column }">
- <span>{{ column.label }}</span
- ><span style="color: red">*</span>
- </template>
- <template v-slot:mobilePhoneHeader="{ column }">
- <span>{{ column.label }}</span
- ><span style="color: red">*</span>
- </template>
- <template v-slot:statusHeader="{ column }">
- <span>{{ column.label }}</span
- ><span style="color: red">*</span>
- </template>
- <template v-slot:linkName="{ row }">
- <el-input
- v-model="row.linkName"
- placeholder="请输入"
- maxlength="50"
- ></el-input>
- </template>
- <template v-slot:mobilePhone="{ row }">
- <el-input
- v-model="row.mobilePhone"
- placeholder="请输入"
- maxlength="20"
- ></el-input>
- </template>
- <template v-slot:phone="{ row }">
- <el-input
- v-model="row.phone"
- placeholder="请输入"
- maxlength="20"
- ></el-input>
- </template>
- <template v-slot:wechat="{ row }">
- <el-input
- v-model="row.wechat"
- placeholder="请输入"
- maxlength="50"
- ></el-input>
- </template>
- <template v-slot:email="{ row }">
- <el-input
- v-model="row.email"
- placeholder="请输入"
- maxlength="50"
- ></el-input>
- </template>
- <template v-slot:deptName="{ row }">
- <el-input
- v-model="row.deptName"
- placeholder="请输入"
- maxlength="50"
- ></el-input>
- </template>
- <template v-slot:post="{ row }">
- <el-input
- v-model="row.post"
- placeholder="请输入"
- maxlength="20"
- ></el-input>
- </template>
- <template v-slot:ifChief="{ row, $index }">
- <el-select
- v-model="row.ifChief"
- placeholder="请选择"
- class="w100"
- @change="
- (value) => {
- ifChiefChange(value, $index);
- }
- "
- >
- <el-option
- v-for="item in ifChiefList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- ></el-option>
- </el-select>
- </template>
- <template v-slot:isDefault="{ row, $index }">
- <el-select
- v-model="row.isDefault"
- placeholder="请选择"
- class="w100"
- >
- <el-option
- v-for="item in ifChiefList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- ></el-option>
- </el-select>
- </template>
- <template v-slot:status="{ row }">
- <DictSelection
- dictName="联系人状态"
- v-model="row.status"
- ></DictSelection>
- </template>
- <template v-slot:remark="{ row }">
- <el-input
- v-model="row.remark"
- placeholder="请输入"
- maxlength="50"
- ></el-input>
- </template>
- </ele-pro-table>
- </el-tab-pane>
- <!-- <el-tab-pane label="其他信息" :name="4">
- <headerTitle title="其他信息" style="margin-top: 30px"></headerTitle>
- <el-form
- label-width="100px"
- ref="otherForm"
- :model="otherForm"
- :rules="otherRules"
- style="margin-top: 30px"
- >
- <el-row>
- <el-col :span="8">
- <el-form-item label="结算方式" prop="settlementMode">
- <DictSelection
- dictName="结算方式"
- clearable
- @itemChange="settlementModeChange"
- v-model="otherForm.settlementMode"
- >
- </DictSelection>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="税率">
- <el-input
- v-model="otherForm.taxRate"
- maxlength="5"
- oninput="value=value.replace(/[^0-9.]/g,'')"
- >
- <template slot="append">%</template>
- </el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="折扣率" prop="discount">
- <el-input
- v-model="otherForm.discount"
- maxlength="5"
- oninput="value=value.replace(/[^0-9.]/g,'')"
- >
- <template slot="append">%</template>
- </el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8">
- <el-form-item label="收件人" prop="sender">
- <el-input
- placeholder="请输入"
- v-model="otherForm.sender"
- maxlength="50"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="收件人电话" prop="senderPhone">
- <el-input
- placeholder="请输入"
- v-model="otherForm.senderPhone"
- maxlength="20"
- ></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- </el-tab-pane> -->
- <el-tab-pane label="证书资质" name="4">
- <headerTitle title="证书资质" style="margin-top: 30px"></headerTitle>
- <certificateManagement
- ref="certificateManagementRef"
- ></certificateManagement>
- <!-- <ele-pro-table
- ref="certificateTable"
- :columns="certificateColumns"
- :need-page="false"
- :datasource="tableCertificateDataList"
- :toolkit="[]"
- height="350px"
- > -->
- <!-- 表头工具栏 -->
- <!-- <template v-slot:toolbar>
- <el-button type="primary" @click="addCertificate('add', '')"
- >新增</el-button
- >
- </template> -->
- <!-- 操作栏 -->
- <!-- <template v-slot:action="scope">
- <el-link
- v-if="[1, 2].includes(scope.row.processStatus)"
- type="primary"
- :underline="false"
- icon="el-icon-edit"
- @click="addCertificate('view', scope.row, scope.$index)"
- >
- 详情
- </el-link>
- <el-link
- v-if="[0, 3].includes(scope.row.processStatus)"
- type="primary"
- :underline="false"
- icon="el-icon-edit"
- @click="addCertificate('update', scope.row, scope.$index)"
- >
- 修改
- </el-link>
- <el-link
- v-if="
- [0, 3].includes(scope.row.processStatus) &&
- form.type == 1 &&
- form.qualificationCensorship == '2'
- "
- type="primary"
- :underline="false"
- icon="el-icon-plus"
- @click="submit(scope.row)"
- >
- 提交
- </el-link>
- <el-link
- v-if="[0, 3].includes(scope.row.processStatus) && (form.type == 2||form.type == 3)"
- type="primary"
- :underline="false"
- icon="el-icon-plus"
- @click="submit(scope.row)"
- >
- 提交
- </el-link>
- <el-popconfirm
- class="ele-action"
- title="确定要删除此资质吗?"
- @confirm="handleRemove(scope.row)"
- >
- <template v-slot:reference>
- <el-link
- v-if="[0, 3].includes(scope.row.processStatus)"
- type="danger"
- :underline="false"
- icon="el-icon-delete"
- >
- 删除
- </el-link>
- </template>
- </el-popconfirm>
- </template>
- </ele-pro-table> -->
- </el-tab-pane>
- <el-tab-pane :label="getLabel" name="5">
- <headerTitle :title="getLabel" style="margin-top: 30px"></headerTitle>
- <ele-pro-table
- ref="supplyRef"
- :columns="supplyColumns"
- :need-page="false"
- :datasource="supplyList"
- :toolkit="[]"
- height="350px"
- >
- <!-- 表头工具栏 -->
- <template v-slot:toolbar>
- <el-button type="primary" @click="handSelectSupply">新增</el-button>
- </template>
- <template v-slot:purchasingCycle="scope">
- <el-input v-model="scope.row.purchasingCycle" placeholder="请输入">
- <template slot="append">天</template>
- </el-input>
- </template>
- <template v-slot:purchaseMultiplier="scope">
- <el-input
- v-model="scope.row.purchaseMultiplier"
- placeholder="请输入"
- >
- </el-input>
- </template>
- <template v-slot:minimumOrderQuantity="scope">
- <el-input
- v-model="scope.row.minimumOrderQuantity"
- placeholder="请输入"
- >
- </el-input>
- </template>
- <template v-slot:provenance="scope">
- <DictSelection
- dictName="产地"
- clearable
- v-model="scope.row.provenance"
- multiple
- >
- </DictSelection>
- </template>
- <!-- 操作栏 -->
- <template v-slot:action="scope">
- <el-popconfirm
- class="ele-action"
- title="确定要删除此产品吗?"
- @confirm="handleRemoveSupply(scope.$index)"
- >
- <template v-slot:reference>
- <el-link type="danger" :underline="false" icon="el-icon-delete">
- 删除
- </el-link>
- </template>
- </el-popconfirm>
- </template>
- </ele-pro-table>
- </el-tab-pane>
- </el-tabs>
- <div slot="footer" class="footer">
- <el-button
- type="primary"
- @click="pageChange('up')"
- :disabled="activeName == '1'"
- >上一步</el-button
- >
- <el-button
- type="primary"
- @click="pageChange('next')"
- :disabled="activeName == '5'"
- >下一步</el-button
- >
- <el-button type="primary" v-if="form?.id||activeName == '5'" @click="save" v-click-once
- >保存</el-button
- >
- <el-button
- type="primary"
- v-if="
- form.type == 1 &&
- activeName == '5' &&
- form.qualificationCensorship == '1'
- "
- @click="save('sub')"
- v-click-once
- >提交</el-button
- >
- <el-button @click="cancel">返回</el-button>
- </div>
- <parentList
- ref="parentRef"
- classType="1"
- @changeParent="changeParent"
- ></parentList>
- <!-- 资质证书弹窗
- <certificate-qualifications-dialog
- :certificate-qualifications-dialog-flag.sync="
- certificateQualificationsDialogFlag
- "
- v-if="certificateQualificationsDialogFlag"
- ref="certificateQualificationsDialogRef"
- :contactInfo="form"
- :typeInfo="form.type"
- @success="tableCertificateDataAdd"
- @reload="reloadTableCertificateDataList"
- >
- </certificate-qualifications-dialog> -->
- <process-submit-dialog
- :processSubmitDialogFlag.sync="processSubmitDialogFlag"
- v-if="processSubmitDialogFlag"
- ref="processSubmitDialogRef"
- @reload="reload"
- ></process-submit-dialog>
- <product-list
- ref="productListRef"
- :data="supplyList"
- @changeParent="getSupplyList"
- ></product-list>
- </ele-modal>
- </template>
- <script>
- import {
- contactDetail,
- contactSave,
- contactUpdate,
- // contactQcPackDeleteAPI,
- // identityphotoList,
- // contactQcPackPageAPI,
- contactQcPackSaveAPI
- } from '@/api/saleManage/contact';
- import { categoryData } from 'element-china-category-data';
- import fileUpload from '@/components/upload/fileUpload';
- import { cityData } from 'ele-admin/packages/utils/regions';
- import dictMixins from '@/mixins/dictMixins';
- import deptSelect from '@/components/CommomSelect/dept-select.vue';
- import personSelect from '@/components/CommomSelect/person-select.vue';
- import { listOrganizations } from '@/api/system/organization';
- import { copyObj } from '@/utils/util';
- import productList from '@/BIZComponents/product-list.vue';
- import parentList from './parentList.vue';
- // import certificateQualificationsDialog from '@/views/purchasingManage/supplierManage/components/certificateQualificationsDialog.vue';
- import certificateQualificationsDialog from './certificateQualificationsDialog.vue';
- import { reviewStatus, lbjtList } from '@/enum/dict';
- import { deepClone } from '@/utils';
- import searchTable from '@/views/saleManage/saleOrder/components/searchTable.vue';
- // import fileMain from '@/components/addDoc/index.vue';
- import processSubmitDialog from '@/BIZComponents/processSubmitDialog/processSubmitDialog.vue';
- import certificateManagement from '@/views/saleManage/contact/components/certificateManagement/index.vue';
- import { parameterGetByCode } from '@/api/main/index.js';
- export default {
- props: {
- categoryTreeList: Array
- },
- mixins: [dictMixins],
- components: {
- processSubmitDialog,
- // fileMain,
- searchTable,
- certificateQualificationsDialog,
- fileUpload,
- deptSelect,
- personSelect,
- parentList,
- productList,
- certificateManagement
- },
- data() {
- let formDef = {
- objectType: 1,
- address: '',
- addressId: '',
- addressName: '',
- authorizationLimit: 0,
- businessLicenseFiles: [],
- businessLicenseFile: [],
- businessScope: '',
- categoryId: '',
- companyCategoryId: '',
- companyCategoryName: '',
- enterpriseTypeId: '',
- enterpriseTypeName: '',
- legalPerson: '',
- registeredCapital: '',
- parentId: '',
- industry: '',
- industryCode: '',
- industryFullName: '',
- mainProduct: '',
- name: '',
- officialIndustry: '',
- phone: '',
- registerDate: '',
- remark: '',
- serialNo: '',
- simpleName: '',
- type: 1,
- unifiedSocialCreditCode: '',
- enterpriseHonor: '',
- enterpriseScale: '',
- staffCount: '',
- enterpriseProfile: '',
- englishName: '',
- taxpayerQualification: '',
- qualificationCensorship: '2'
- };
- let otherFormDef = {
- settlementMode: '',
- settlementModeName: '',
- taxRate: 0,
- address: '',
- addressId: '',
- deptId: '',
- deptName: '',
- discount: 0,
- salesmanId: '',
- salesmanName: '',
- sender: '',
- senderPhone: ''
- };
- return {
- enableStatus: '2',
- fullscreen: false,
- visible: false,
- certificateQualificationsDialogFlag: false,
- processSubmitDialogFlag: false,
- title: '',
- row: {},
- activeName: '1',
- formDef,
- supplyList: [],
- otherFormDef,
- form: copyObj(formDef),
- otherForm: copyObj(otherFormDef),
- // removeBankList: [],
- // removeLinkList: [],
- tableBankData: [],
- tableLinkData: [],
- categoryIdList: [],
- dictList: {},
- ifChiefList: [
- {
- value: 0,
- label: '否'
- },
- {
- value: 1,
- label: '是'
- }
- ],
- bankColumns: [
- {
- type: 'index',
- width: 55,
- align: 'center'
- },
- {
- label: '单位名称',
- prop: 'accountName',
- slot: 'accountName',
- action: 'accountName',
- headerSlot: 'accountNameHeader',
- align: 'center'
- },
- {
- label: '银行账号',
- prop: 'accountNo',
- slot: 'accountNo',
- action: 'accountNo',
- align: 'center'
- },
- {
- label: '开户行',
- prop: 'bankName',
- slot: 'bankName',
- action: 'bankName',
- align: 'center'
- },
- {
- label: '银行银联号',
- prop: 'interbankNo',
- slot: 'interbankNo',
- action: 'interbankNo',
- align: 'center'
- },
- {
- action: 'action',
- slot: 'action',
- label: '操作',
- align: 'center'
- }
- ],
- certificateColumns: [
- {
- type: 'index',
- width: 55,
- align: 'center'
- },
- {
- label: '编码',
- prop: 'code',
- slot: 'code',
- align: 'center',
- minWidth: 120
- },
- {
- label: '名称',
- prop: 'name',
- slot: 'name',
- align: 'center',
- minWidth: 120
- },
- {
- label: '创建时间',
- prop: 'createTime',
- slot: 'createTime',
- align: 'center',
- minWidth: 120
- },
- {
- label: '状态',
- prop: 'processStatus',
- slot: 'processStatus',
- align: 'center',
- width: 120,
- formatter: (_row, _column, cellValue) => {
- return reviewStatus[_row.processStatus];
- }
- },
- {
- label: '备注',
- prop: 'remark',
- slot: 'remark',
- align: 'center',
- minWidth: 120
- },
- {
- action: 'action',
- slot: 'action',
- label: '操作',
- align: 'center',
- width: 200
- }
- ],
- otherRules: {
- // settlementMode: [
- // { required: true, message: '请输入结算方式', trigger: 'blur' }
- // ],
- address: [
- { required: false, message: '请选择地址', trigger: 'change' }
- ]
- },
- options: {
- cityData,
- categoryData
- },
- // 提交状态
- loading: false,
- // 是否是修改
- isUpdate: false,
- // 组织机构树形结构数据
- groupTreeData: [],
- // 组织机构平铺数据
- groupData: [],
- parentShow: false,
- tableCertificateDataList: []
- };
- },
- computed: {
- rules() {
- return {
- categoryId: [
- { required: true, message: '请选择分类', trigger: 'change' }
- ],
- name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
- unifiedSocialCreditCode: [
- {
- required: this.form.objectType == 1 ? true : false,
- message: '请输入统一社会信用代码',
- trigger: 'blur'
- }
- ],
- authorizationLimit: [
- { required: true, message: '请输入授信额度', trigger: 'blur' }
- ],
- // addressId: [
- // { required: true, message: '请选择地址', trigger: 'change' }
- // ],
- // qualificationCensorship: [
- // { required: true, message: '请选择', trigger: 'change' }
- // ]
- }
- },
- clientEnvironmentId() {
- return this.$store.state.user.info.clientEnvironmentId;
- },
- linkColumns() {
- return [
- {
- type: 'index',
- width: 55,
- align: 'center'
- },
- {
- label: '姓名',
- prop: 'linkName',
- slot: 'linkName',
- action: 'linkName',
- headerSlot: 'linkNameHeader',
- align: 'center'
- },
- {
- label: '手机',
- prop: 'mobilePhone',
- slot: 'mobilePhone',
- action: 'mobilePhone',
- // headerSlot: 'mobilePhoneHeader',
- align: 'center'
- },
- {
- label: '电话',
- prop: 'phone',
- slot: 'phone',
- action: 'phone',
- align: 'center'
- },
- {
- label: '微信号',
- prop: 'wechat',
- slot: 'wechat',
- action: 'wechat',
- align: 'center'
- },
- {
- label: '邮箱',
- prop: 'email',
- slot: 'email',
- action: 'email',
- align: 'center'
- },
- {
- label: '部门',
- prop: 'deptName',
- slot: 'deptName',
- action: 'deptName',
- align: 'center'
- },
- {
- label: '职务',
- prop: 'post',
- slot: 'post',
- action: 'post',
- align: 'center'
- },
- {
- label: '状态',
- prop: 'status',
- slot: 'status',
- action: 'status',
- headerSlot: 'statusHeader',
- align: 'center'
- },
- {
- label: '是否首要',
- prop: 'ifChief',
- slot: 'ifChief',
- action: 'ifChief',
- align: 'center'
- },
- {
- label: `是否默认${this.form.type == 1 ? '收件' : '寄件'}人`,
- prop: 'isDefault',
- slot: 'isDefault',
- align: 'center'
- },
- {
- label: '备注',
- prop: 'remark',
- slot: 'remark',
- action: 'remark',
- align: 'center'
- },
- {
- action: 'action',
- slot: 'action',
- label: '操作',
- align: 'center'
- }
- ];
- },
- getLabel() {
- return this.categoryIdList
- .map((item) => {
- let data = this.$refs?.treeSelect?.getNodeByValue(item);
- return data?.rootCategoryLevelId;
- })
- .includes('20250317001')
- ? '生产列表'
- : '供货列表';
- },
- supplyColumns() {
- return [
- {
- columnKey: 'index',
- type: 'index',
- width: 50,
- align: 'center',
- showOverflowTooltip: true,
- label: '序号'
- },
- {
- prop: 'productCode',
- label: '编码',
- align: 'center',
- showOverflowTooltip: true,
- minWidth: 110
- },
- {
- prop: 'productName',
- label: '名称',
- align: 'center',
- showOverflowTooltip: true,
- minWidth: 110
- },
- {
- prop: 'purchasingCycle',
- label: '采购周期',
- align: 'center',
- slot: 'purchasingCycle',
- showOverflowTooltip: true,
- minWidth: 150
- },
- {
- prop: 'purchaseMultiplier',
- label: '倍数',
- slot: 'purchaseMultiplier',
- align: 'center',
- showOverflowTooltip: true,
- minWidth: 100
- },
- {
- prop: 'minimumOrderQuantity',
- label: '最低订购数量',
- slot: 'minimumOrderQuantity',
- align: 'center',
- showOverflowTooltip: true,
- minWidth: 150
- },
- {
- prop: 'provenance',
- label: '产地',
- slot: 'provenance',
- align: 'center',
- showOverflowTooltip: true,
- minWidth: 200
- },
- {
- prop: 'manufacturer',
- label: '生产厂家',
- slot: 'manufacturer',
- align: 'center',
- showOverflowTooltip: true,
- minWidth: 200,
- show: this.getLabel == '供货列表'
- },
- {
- prop: 'imgCode',
- align: 'center',
- label: '图号/件号',
- showOverflowTooltip: true,
- minWidth: 110
- },
- {
- prop: 'produceType',
- align: 'center',
- label: '属性类型',
- showOverflowTooltip: true,
- minWidth: 110,
- formatter: (row, column) => {
- if (row.produceType) {
- return row.produceType
- .map((item) => {
- return lbjtList[item];
- })
- .toString();
- }
- }
- },
- {
- prop: 'packingSpecification',
- align: 'center',
- label: '包装规格',
- showOverflowTooltip: true,
- minWidth: 110
- },
- {
- prop: 'brandNum',
- align: 'center',
- label: '牌号',
- showOverflowTooltip: true
- },
- {
- prop: 'modelType',
- label: '型号',
- align: 'center',
- showOverflowTooltip: true
- },
- {
- prop: 'specification',
- label: '规格',
- align: 'center',
- showOverflowTooltip: true
- },
- {
- prop: 'measuringUnit',
- label: '计量单位',
- showOverflowTooltip: true,
- align: 'center',
- minWidth: 90
- },
- {
- prop: 'createTime',
- label: '创建时间',
- showOverflowTooltip: true,
- align: 'center',
- minWidth: 160
- },
- {
- slot: 'action',
- align: 'center',
- minWidth: 90,
- fixed: 'right',
- label: '操作'
- }
- ];
- }
- },
- watch: {
- categoryIdList(val) {
- if (val.length > 0) {
- this.$refs.form?.clearValidate('categoryId');
- this.form.categoryId = this.categoryIdList.join(',');
- } else {
- this.form.categoryId = '';
- this.$refs.form?.validateField('categoryId');
- }
- }
- },
- created() {
- this.getGroupAll();
- this.requestDict('生产类型');
- },
- methods: {
- async open(type, row, contactCategoryId, pageType) {
- this.resetForm()
- // return
- this.form.type = pageType || 1;
- this.title = type;
- this.row = row;
- this.visible = true;
- if (!row.id) {
- console.log('新增', this.form);
- this.isUpdate = false;
- // 默认带出列表页面选中的分类
- this.$nextTick(() => {
- this.categoryIdList = contactCategoryId ? [contactCategoryId] : [];
- // 客户审查 //2不启用 1启用
- parameterGetByCode({
- code: 'eom_saleManage_contact_qualificationCensorship'
- }).then((res) => {
- console.log('客户审查', res)
- this.form.qualificationCensorship = res.value;
- this.enableStatus = res.value
- });
- });
- } else {
- this.isUpdate = true;
- await this._getById(row.id);
- }
- },
- handleActive(val) {
- console.log(val);
- },
- nameChange() {
- this.tableBankData.forEach((item) => {
- item.accountName = this.form.name;
- });
- },
- // 获取公司数据
- getGroupAll() {
- listOrganizations().then((list) => {
- this.groupData = list;
- this.groupTreeData = this.$util.toTreeData({
- data: list,
- idField: 'id',
- parentIdField: 'parentId'
- });
- });
- },
- // //新增/查看/修改资质
- // addCertificate(type, row, index) {
- // this.certificateQualificationsDialogFlag = true;
- // this.$nextTick(() => {
- // console.log(index);
- // this.$refs.certificateQualificationsDialogRef.init(type, row, index);
- // });
- // },
- // /* 证书资质表格数据源 */
- // tableCertificateData() {
- // contactQcPackPageAPI({
- // certificationType: this.form.type,
- // relationId: this.form.id
- // }).then((res) => {
- // this.tableCertificateDataList = res;
- // });
- // },
- // tableCertificateDataAdd({ form = {}, index = '' }) {
- // if (this.form.id) {
- // this.tableCertificateData();
- // } else {
- // if (index + '') {
- // this.$set(this.tableCertificateDataList, index, form);
- // } else {
- // this.tableCertificateDataList.push(form);
- // }
- // }
- // },
- // //删除资质包
- // handleRemove(row) {
- // contactQcPackDeleteAPI([row.id]).then((res) => {
- // this.$message.success('删除成功!');
- // this.tableCertificateDataAdd({});
- // });
- // },
- //开启提交流程
- async contactSubmit(row) {
- const { base } = await contactDetail(this.form.id || row);
- this.processSubmitDialogFlag = true;
- this.$nextTick(() => {
- let params = {
- businessId: base.id,
- businessKey: 'contact_approve',
- formCreateUserId: base.createUserId,
- variables: {
- certificationType: 1,
- businessCode: base.code,
- businessName: base.name,
- businessType: '客户审核'
- }
- };
- this.$refs.processSubmitDialogRef.init(params);
- });
- },
- //开启资质提交流程
- async submit(row) {
- this.processSubmitDialogFlag = true;
- this.$nextTick(() => {
- let params = {
- businessId: row.id,
- businessKey: 'contact_qc_approve',
- formCreateUserId: row.createUserId,
- variables: {
- certificationType: this.form.type,
- businessName: row.name
- }
- };
- this.$refs.processSubmitDialogRef.init(params);
- });
- },
- //获取代号
- unifiedSocialCreditCodeChange(val) {
- this.form.serialNo = this.form.serialNo || val.slice(-4);
- },
- // 选择负责人部门
- change_principalDep(id) {
- const info = this.groupData.find((e) => e.id == id);
- this.otherForm.deptName = info.name;
- this.otherForm.salesmanId = '';
- this.otherForm.salesmanName = '';
- // 根据部门获取人员
- const params = { groupId: id };
- this.$nextTick(() => {
- this.$refs.directorRef.getList(params);
- });
- },
- salesmanChange(val, info) {
- this.otherForm.salesmanName = info.name;
- },
- settlementModeChange(info) {
- this.otherForm.settlementModeName = info.dictValue;
- },
- ifChiefChange(value, idx) {
- if (value === 1) {
- this.tableLinkData.forEach((e) => (e.ifChief = 0));
- this.tableLinkData[idx].ifChief = 1;
- }
- },
- addBank() {
- this.tableBankData.push({
- accountName: this.form.name,
- accountNo: '',
- bankName: '',
- interbankNo: ''
- });
- },
- addLink() {
- this.tableLinkData.push({
- linkName: '',
- mobilePhone: '',
- phone: '',
- email: '',
- post: '',
- status: '1',
- ifChief: 0,
- remark: ''
- });
- },
- handleBankDel(row, index) {
- this.tableBankData.splice(index, 1);
- if (row?.id) {
- // this.removeBankList.push(row.id);
- }
- },
- handleLinkDel(row, index) {
- this.tableLinkData.splice(index, 1);
- if (row?.id) {
- // this.removeLinkList.push(row.id);
- }
- },
- formValid() {
- return new Promise((resolve, reject) => {
- this.$refs.form.validate((valid) => {
- if (!valid) {
- this.activeName = '1';
- reject(false);
- } else {
- resolve(true);
- }
- });
- });
- },
- otherFormValid() {
- return new Promise((resolve, reject) => {
- this.$refs.otherForm.validate((valid) => {
- console.log(valid, 'valid');
- if (!valid) {
- this.activeName = '1';
- reject(false);
- } else {
- resolve(true);
- }
- });
- });
- },
- tableLinkDataValid() {
- return new Promise((resolve, reject) => {
- if (this.tableLinkData.length == 0) {
- this.activeName = '3';
- this.$message.error('联系人信息至少有1条');
- reject(false);
- } else {
- resolve(true);
- }
- });
- },
- getValidate() {
- return Promise.all([
- this.formValid(),
- this.otherFormValid(),
- this.tableLinkDataValid()
- ]);
- },
- async pageChange(type) {
- if (type == 'up') {
- this.activeName = (parseInt(this.activeName) - 1).toString();
- }
- if (type == 'next') {
- if (this.activeName == '1' && !(await this.formValid())) {
- return;
- }
- if (this.activeName == '3' && !(await this.tableLinkDataValid())) {
- this.$message.error('联系人信息至少有1条');
- return;
- }
- // if (this.activeName == 4 && !(await this.otherFormValid())) {
- // return;
- // }
- this.activeName = (parseInt(this.activeName) + 1).toString();
- }
- },
- async save(type = '') {
- try {
- await this.getValidate();
- // 表单验证通过,执行保存操作
- this.loading = true;
- // 基本信息处理
- if (this.$refs.address.getCheckedNodes()) {
- let node = this.$refs.address.getCheckedNodes()[0];
- if (node) {
- this.form.addressId = node.path.join();
- this.form.addressName = node.pathLabels.join();
- } else {
- this.form.addressId = '';
- this.form.addressName = '';
- }
- }
- this.form.categoryId = this.categoryIdList.join(',');
- if (this.form.companyCategoryId) {
- this.form.companyCategoryName = this.getDictValue(
- '营业类型',
- this.form.companyCategoryId
- );
- }
- if (this.form.industryCode) {
- this.form.industryFullName = this.getDictValue(
- '所属行业',
- this.form.industryCode
- );
- }
- if (this.form.enterpriseTypeId) {
- this.form.enterpriseTypeName = this.getDictValue(
- '企业类型',
- this.form.enterpriseTypeId
- );
- }
- // if (
- // this.form.businessLicenseFiles &&
- // this.form.businessLicenseFiles.length > 0
- // ) {
- // this.form.businessLicenseFile = this.form.businessLicenseFiles[0];
- // } else {
- // this.form.businessLicenseFile = null;
- // }
- // 其他信息处理
- if (this.form.settlementMode) {
- this.form.settlementModeName = this.getDictValue(
- '结算方式',
- this.form.settlementMode
- );
- }
- if (this.$refs.sendAddress.getCheckedNodes()) {
- let node = this.$refs.sendAddress.getCheckedNodes()[0];
- if (node) {
- this.otherForm.addressId = node.path.join();
- this.otherForm.addressName = node.pathLabels.join();
- } else {
- this.otherForm.addressId = '';
- this.otherForm.addressName = '';
- }
- }
- if (!this.isUpdate) {
- delete this.form.id;
- } else {
- // this.form.removeBankList = this.removeBankList;
- // this.form.removeLinkList = this.removeLinkList;
- }
- this.form.type =
- this.form.type != 1 ? (this.getLabel == '供货列表' ? '2' : '3') : 1;
- console.log(this.form, 'this.form~~~~~~~~');
- const data = {
- base: this.form,
- other: this.otherForm,
- bankList: this.tableBankData,
- linkList: this.tableLinkData,
- productList: this.supplyList
- };
- if (this.isUpdate) {
- contactUpdate(data)
- .then((res) => {
- this.loading = false;
- this.$message.success('修改成功');
- if (type == 'sub') {
- this.contactSubmit(res);
- return;
- }
- this.cancel();
- this.$emit('done');
- })
- .catch((e) => {
- //this.loading = false;
- });
- } else {
- contactSave(data)
- .then((id) => {
- this.loading = false;
- this.$message.success('新增成功');
- this.tableCertificateDataList.forEach((item) => {
- item['relationId'] = id;
- item['relationName'] = this.form.name;
- contactQcPackSaveAPI(item);
- });
- if (type == 'sub') {
- this.contactSubmit(id);
- return;
- }
- this.cancel();
- this._getById(id);
- this.title = '编辑';
- this.$emit('done');
- this.isUpdate = true;
- })
- .catch((e) => {
- //this.loading = false;
- });
- }
- } catch (error) {
- console.log(error);
- // 表单验证未通过,不执行保存操作
- }
- },
- reload() {
- this.cancel();
- this.$emit('done');
- },
- cancel() {
- this.$nextTick(() => {
- this.activeName = '1';
- // 关闭后,销毁所有的表单数据
- this.resetForm()
-
- this.visible = false;
- });
- },
- resetForm() {
- this.$set(this, 'form', copyObj(this.formDef));
- this.$set(this, 'otherForm', copyObj(this.otherFormDef));
- this.$set(this, 'tableBankData', []);
- this.$set(this, 'tableLinkData', []);
- this.$set(this, 'categoryIdList', []);
- this.$set(this, 'tableCertificateDataList', []);
- this.$set(this, 'supplyList', []);
- // this.form = copyObj(this.formDef);
- // this.otherForm = copyObj(this.otherFormDef);
- // this.tableBankData = [];
- // this.tableLinkData = [];
- // this.categoryIdList = [];
- // this.tableCertificateDataList = [];
- this.$refs['otherForm'] && this.$refs['otherForm'].resetFields();
- this.$refs['form'] && this.$refs['form'].resetFields();
- },
- async _getById(id) {
- const data = await contactDetail(id);
- this.form = data.base;
- this.otherForm = data.other;
- this.tableBankData = data.bankList;
- this.tableLinkData = data.linkList;
- this.supplyList = data.productList || [];
- // this.tableCertificateDataAdd({});
- this.form.qualificationCensorship =
- this.form.qualificationCensorship || this.enableStatus || '2';
- // if (data.base.businessLicenseFile && data.base.businessLicenseFile.uid) {
- // this.$set(this.form, 'businessLicenseFiles', [
- // data.base.businessLicenseFile
- // ]);
- // }
- this.categoryIdList = this.form.categoryId
- ? deepClone(this.form.categoryId.split(','))
- : [];
- this.$nextTick(() => {
- this.$refs.certificateManagementRef &&
- this.$refs.certificateManagementRef.init(
- this.form.type != 1
- ? this.getLabel == '供货列表'
- ? '3'
- : '6'
- : '4',
- this.form.id,
- this.form.name
- );
- });
- if (this.tableLinkData && this.tableLinkData.length > 0) {
- this.tableLinkData.forEach((e) => (e.status = e.status + ''));
- }
- if (this.otherForm.settlementMode) {
- this.otherForm.settlementMode = this.otherForm.settlementMode + '';
- }
- if (this.form.level) {
- this.form.level = this.form.level + '';
- }
- // 回显地址选择器
- if (this.form.addressId && this.form.addressId.length > 0) {
- this.form.addressId = this.form.addressId.split(',');
- }
- if (this.otherForm.addressId && this.otherForm.addressId.length > 0) {
- this.otherForm.addressId = this.otherForm.addressId.split(',');
- }
- if (this.otherForm.deptId) {
- // 编辑时,默认查询组织相关的用户列表,用于回显
- this.$nextTick(async () => {
- await this.$refs.directorRef.getList({
- groupId: this.otherForm.deptId
- });
- });
- }
- },
- //选择产品
- handSelectSupply() {
- this.$refs.productListRef.open(this.supplyList, -1);
- },
- getSupplyList(obj) {
- obj.forEach((item, index) => {
- let params = {};
- this.$set(params, 'contactId', this.row.id);
- this.$set(params, 'productId', item.id);
- this.$set(params, 'categoryName', item.name);
- this.$set(params, 'productCategoryId', item.categoryLevelId);
- this.$set(params, 'productBrand', item.brandNum);
- this.$set(params, 'productCategoryName', item.categoryLevelPath);
- this.$set(params, 'productCode', item.code);
- this.$set(params, 'productName', item.name);
- this.$set(params, 'modelType', item.modelType);
- this.$set(params, 'availableCountBase', item.availableCountBase);
- this.$set(params, 'measuringUnit', item.measuringUnit);
- this.$set(params, 'specification', item.specification);
- this.$set(params, 'weightUnit', item.weightUnit);
- this.$set(params, 'imgCode', item.imgCode);
- this.$set(params, 'produceType', item.componentAttribute);
- this.$set(params, 'approvalNumber', item.approvalNumber);
- this.$set(params, 'packingSpecification', item.packingSpecification);
- if (item.purchaseOrigins?.length) {
- item.purchaseOrigins = item.purchaseOrigins.map((val) => val + '');
- }
- this.$set(params, 'provenance', item.purchaseOrigins || []);
- this.supplyList.push(params);
- });
- },
- //删除供货产品
- handleRemoveSupply(index) {
- this.supplyList.splice(index, 1);
- },
- handParent() {
- let item = {
- id: this.form.parentId
- };
- this.$refs.parentRef.open(item);
- },
- changeParent(obj) {
- this.$set(this.form, 'parentId', obj.id);
- this.$set(this.form, 'parentName', obj.name);
- },
- changeAddress1(e) {
- if (e.length) {
- this.form.address = '/';
- return;
- }
- this.form.address = '';
- },
- changeAddress2(e) {
- if (e.length) {
- this.otherForm.address = '/';
- return;
- }
- this.otherForm.address = '';
- console.log(e);
- }
- }
- };
- </script>
|