2
3

techinfo.vue 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883
  1. <template>
  2. <div>
  3. <el-form class="formDataInfo" label-width="137px" ref="EntityForm" :model="formData" :rules="rulesform">
  4. <el-row>
  5. <!--<el-col :span="8">
  6. <el-form-item label="DEMO">
  7. <el-select ref="selectWellNo" v-model="formData.WellNoId" filterable placeholder="请选择" style="width: 100%">
  8. <el-option
  9. v-for="item in wellNoOptions"
  10. :key="item.Id"
  11. :label="item.Value"
  12. :value="item.Id">
  13. </el-option>
  14. </el-select>
  15. </el-form-item>
  16. </el-col>-->
  17. <el-col :span="16">
  18. <el-form-item label="供方名称" prop="SupplierName" >
  19. <el-input v-model="formData.SupplierName" :maxlength="255" placeholder="请输入" style="width: 100%">
  20. </el-input>
  21. </el-form-item>
  22. </el-col>
  23. <el-col :span="8">
  24. <el-form-item label="准入编码">
  25. <el-input v-model="formData.AccessCardNo" placeholder="请输入" style="width: 100%">
  26. </el-input>
  27. </el-form-item>
  28. </el-col>
  29. <el-col :span="8">
  30. <el-form-item label="单位关系">
  31. <el-select ref="SpecType" v-model="formData.SpecTypeCode" @change="currentSel"
  32. placeholder="请选择" style="width: 100%">
  33. <el-option v-for="item in UnitRelationOptions" :key="item.Id" :label="item.Key"
  34. :value="item.Value">
  35. </el-option>
  36. </el-select>
  37. </el-form-item>
  38. </el-col>
  39. <el-col :span="8">
  40. <el-form-item label="国家" prop="Country">
  41. <el-select v-model="formData.Country"
  42. filterable
  43. placeholder="请选择"
  44. style="width: 100%">
  45. <el-option v-for="item in countryListOptions"
  46. :key="item.key"
  47. :label="item.value"
  48. :value="item.value">
  49. <span style="float: left">{{ item.value }}</span>
  50. <span style="float: right; color: #8492a6; font-size: 13px">{{ item.label }}</span>
  51. </el-option>
  52. </el-select>
  53. </el-form-item>
  54. </el-col>
  55. <el-col :span="8">
  56. <el-form-item label="准入方式">
  57. <el-select ref="SpecType" v-model="formData.InStyle"
  58. placeholder="请选择" style="width: 100%">
  59. <el-option v-for="item in InOptions" :key="item.Id" :label="item.Key" v-if="item.Value != '2' && item.Value != '3'"
  60. :value="item.Value">
  61. </el-option>
  62. </el-select>
  63. </el-form-item>
  64. </el-col>
  65. <el-col :span="8">
  66. <el-form-item label="有效期">
  67. <el-date-picker
  68. v-model="formData.ApplyTime"
  69. :disabled="true"
  70. type="date"
  71. format="yyyy 年 MM 月 dd 日"
  72. value-format="yyyy-MM-dd"
  73. placeholder="选择有效期"
  74. style="width: 100%">
  75. </el-date-picker>
  76. </el-form-item>
  77. </el-col>
  78. <el-col :span="8">
  79. <el-form-item label="证件合一">
  80. <el-select v-model="formData.CredentialFlag" placeholder="请选择" @change="showorhid" style="width: 100%">
  81. <el-option v-for="item in selectoptions" :key="item.value" :label="item.label" :value="item.value">
  82. </el-option>
  83. </el-select>
  84. </el-form-item>
  85. </el-col>
  86. <el-col :span="8">
  87. <el-form-item label="统一社会信用代码" prop="CommercialNo" >
  88. <el-input v-model="formData.CommercialNo" maxlength="50" placeholder="请输入" style="width: 100%">
  89. </el-input>
  90. </el-form-item>
  91. </el-col>
  92. <el-col :span="8">
  93. <el-form-item label="税务登记证编号" prop="CountryTaxNo" v-if="showorhidflag=='show'" >
  94. <el-input v-model="formData.CountryTaxNo" maxlength="50" placeholder="请输入" style="width: 100%">
  95. </el-input>
  96. </el-form-item>
  97. </el-col>
  98. <el-col :span="8">
  99. <el-form-item label="组织机构代码" prop="OrganCode" v-if="showorhidflag=='show'" >
  100. <el-input v-model="formData.OrganCode" maxlength="50" placeholder="请输入" style="width: 100%">
  101. </el-input>
  102. </el-form-item>
  103. </el-col>
  104. </el-row>
  105. <el-row>
  106. <!--<el-col :span="8">
  107. <el-form-item label="税务登记证地税编号">
  108. <el-input v-model="formData.LocalTaxNo" placeholder="请输入" style="width: 100%"></el-input>
  109. </el-form-item>
  110. </el-col>-->
  111. <el-col :span="16">
  112. <el-form-item label="注册地址" prop="Province" >
  113. <el-row>
  114. <el-col :span="10">
  115. <el-cascader ref="cascaderAdd" :options="countryoptions" :props="countryprops" maxlength="20" placeholder="省市区"
  116. v-model="CityAry" style="width: 100%" @change="handleAreaChange" filterable>
  117. </el-cascader>
  118. </el-col>
  119. <el-col :span="14">
  120. <el-input v-model="formData.Address" maxlength="500" placeholder="详细地址" style="width: 100%">
  121. </el-input>
  122. </el-col>
  123. </el-row>
  124. </el-form-item>
  125. </el-col>
  126. <el-col :span="8">
  127. <el-form-item label="邮编" prop="ZipCode" >
  128. <el-input v-model="formData.ZipCode" maxlength="20" placeholder="请输入" style="width: 100%">
  129. </el-input>
  130. </el-form-item>
  131. </el-col>
  132. <el-col :span="16">
  133. <el-form-item label="通信地址" prop="LinkProvince" >
  134. <el-row>
  135. <el-col :span="10">
  136. <el-cascader ref="cascaderAddrLink" :options="countryoptions" :props="countryprops" placeholder="省市区" filterable
  137. v-model="LinkCityAry" maxlength="20" style="width: 100%" @change="handleLinkAreaChange">
  138. </el-cascader>
  139. </el-col>
  140. <el-col :span="14">
  141. <el-input v-model="formData.LinkAddress" maxlength="500" placeholder="详细地址" style="width: 100%">
  142. </el-input>
  143. </el-col>
  144. </el-row>
  145. </el-form-item>
  146. </el-col>
  147. <el-col :span="8">
  148. <el-form-item label="邮编" prop="LinkZipCode" >
  149. <el-input v-model="formData.LinkZipCode" maxlength="20" placeholder="请输入" style="width: 100%">
  150. </el-input>
  151. </el-form-item>
  152. </el-col>
  153. </el-row>
  154. <el-row>
  155. <el-col :span="8">
  156. <el-form-item label="法定代表人姓名" prop="LegalPerson" >
  157. <el-input v-model="formData.LegalPerson" maxlength="20" placeholder="请输入" style="width: 100%">
  158. </el-input>
  159. </el-form-item>
  160. </el-col>
  161. <el-col :span="8">
  162. <el-form-item label="公司类型" prop="CompanyType" >
  163. <!--<el-input v-model="formData.CompanyType" placeholder="请输入" style="width: 100%"></el-input>-->
  164. <el-select v-model="formData.CompanyType" maxlength="50" filterable allow-create placeholder="请选择"
  165. style="width: 100%;">
  166. <el-option v-for="item in CompanyTypeOptions" :key="item.Id" :label="item.Key" :value="item.Value"
  167. style="width: 100%">
  168. </el-option>
  169. </el-select>
  170. </el-form-item>
  171. </el-col>
  172. <el-col :span="8">
  173. <el-form-item label="成立时间" prop="SetupTime">
  174. <el-date-picker v-model="formData.SetupTime" type="date" format="yyyy 年 MM 月 dd 日"
  175. value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%">
  176. </el-date-picker>
  177. </el-form-item>
  178. </el-col>
  179. </el-row>
  180. <el-row>
  181. <el-col :span="8">
  182. <el-form-item label="注册资本" prop="RegCapital" >
  183. <el-input type="number" v-model="formData.RegCapital" placeholder="请输入" style="width: 100%">
  184. <template slot="append">万元</template>
  185. </el-input>
  186. </el-form-item>
  187. </el-col>
  188. <el-col :span="8">
  189. <el-form-item label="币种">
  190. <el-select v-model="formData.Currency" placeholder="请选择"
  191. style="width: 100%;">
  192. <el-option v-for="item in CurrencyOptions" :key="item.Value" :label="item.Key" :value="item.Value">
  193. </el-option>
  194. </el-select>
  195. </el-form-item>
  196. </el-col>
  197. <el-col :span="8">
  198. <el-form-item label="开户银行" prop="DepositBank" >
  199. <el-input v-model="formData.DepositBank" maxlength="50" placeholder="请输入" style="width: 100%">
  200. </el-input>
  201. </el-form-item>
  202. </el-col>
  203. </el-row>
  204. <el-row>
  205. <el-col :span="8">
  206. <el-form-item label="联系人姓名" prop="ContactName">
  207. <el-input v-model="formData.ContactName" maxlength="20" placeholder="请输入" style="width: 100%">
  208. </el-input>
  209. </el-form-item>
  210. </el-col>
  211. <el-col :span="8">
  212. <el-form-item label="移动电话" prop="Mobile" >
  213. <el-input v-model="formData.Mobile" maxlength="20" placeholder="请输入" style="width: 100%"></el-input>
  214. </el-form-item>
  215. </el-col>
  216. <el-col :span="8">
  217. <el-form-item label="银行账号" prop="BankAccount" >
  218. <el-input v-model="formData.BankAccount" maxlength="50" placeholder="请输入" style="width: 100%">
  219. </el-input>
  220. </el-form-item>
  221. </el-col>
  222. </el-row>
  223. <el-row>
  224. <el-col :span="8">
  225. <el-form-item label="固定电话" prop="Telphone" >
  226. <el-input v-model="formData.Telphone" maxlength="20" placeholder="区号-0000000" style="width: 100%">
  227. </el-input>
  228. </el-form-item>
  229. </el-col>
  230. <el-col :span="8">
  231. <el-form-item label="传真" prop="Fax" >
  232. <el-input v-model="formData.Fax" maxlength="20" placeholder="区号-0000000" style="width: 100%"></el-input>
  233. </el-form-item>
  234. </el-col>
  235. <el-col :span="8">
  236. <el-form-item label="财务电话" prop="CompanyTel" >
  237. <el-input v-model="formData.CompanyTel" placeholder="请输入" maxlength="20" style="width: 100%">
  238. </el-input>
  239. </el-form-item>
  240. </el-col>
  241. <el-col :span="8">
  242. <el-form-item label="电子邮箱" prop="EMail" >
  243. <el-input v-model="formData.EMail" maxlength="50" placeholder="请输入" style="width: 100%"></el-input>
  244. </el-form-item>
  245. </el-col>
  246. <!--<el-col :span="8">
  247. <el-form-item label="QQ号码">
  248. <el-input v-model="formData.QQ" placeholder="请输入" style="width: 100%"></el-input>
  249. </el-form-item>
  250. </el-col>-->
  251. <el-col :span="8">
  252. <el-form-item label="银行信用等级">
  253. <el-input v-model="formData.BankCreditRating" maxlength="10" placeholder="请输入" style="width: 100%">
  254. </el-input>
  255. </el-form-item>
  256. </el-col>
  257. <!--<el-col :span="8">
  258. <el-form-item label="公司网址">
  259. <el-input v-model="formData.CompanyUrl" placeholder="请输入" style="width: 100%"></el-input>
  260. </el-form-item>
  261. </el-col>-->
  262. <el-col :span="8">
  263. <el-form-item label="HSE审查培训">
  264. <!--<el-input v-model="formData.HseTraining" placeholder="请输入" style="width: 100%"></el-input>-->
  265. <el-select v-model="formData.HseTraining" placeholder="请选择" style="width: 100%;">
  266. <el-option v-for="item in HSEOptions" :key="item.value" :label="item.label" :value="item.value"
  267. style="width: 100%">
  268. </el-option>
  269. </el-select>
  270. </el-form-item>
  271. </el-col>
  272. </el-row>
  273. </el-form>
  274. <el-form class="formDataInfo" label-position="top" ref="EntityFormCert" :rules="rulesform" :model="formData" :disabled="disabled">
  275. <el-row :gutter="60">
  276. <el-col :span="8">
  277. <el-form-item label="质量管理体系认证证书编号">
  278. <el-input v-model="formData.QualitySystemCert" maxlength="200" placeholder="请输入" type="textarea"
  279. style="width: 100%"></el-input>
  280. </el-form-item>
  281. </el-col>
  282. <el-col :span="8">
  283. <el-form-item label="企业资质证书(编号 级别)">
  284. <el-input v-model="formData.QualifCert" placeholder="请输入" maxlength="200" type="textarea"
  285. style="width: 100%">
  286. </el-input>
  287. </el-form-item>
  288. </el-col>
  289. <!--<el-col :span="12">
  290. <el-form-item label="企业资质证书级别">
  291. <el-input v-model="formData.QualifCertLevel" placeholder="请输入" style="width: 100%"></el-input>
  292. </el-form-item>
  293. </el-col>-->
  294. <el-col :span="8">
  295. <el-form-item label="安全生产许可证证书编号">
  296. <el-input v-model="formData.SafetyLicense" maxlength="200" placeholder="请输入" type="textarea"
  297. style="width: 100%">
  298. </el-input>
  299. </el-form-item>
  300. </el-col>
  301. <el-col :span="8">
  302. <el-form-item label="行业特殊要求的认证证书编号">
  303. <el-input v-model="formData.SpecIndustryCert" placeholder="请输入" maxlength="200" type="textarea"
  304. style="width: 100%">
  305. </el-input>
  306. </el-form-item>
  307. </el-col>
  308. <el-col :span="16">
  309. <el-form-item label="营业范围" prop="BusinessScope">
  310. <el-input v-model="formData.BusinessScope" maxlength="200" placeholder="营业执照上的信息" type="textarea"
  311. style="width: 100%"></el-input>
  312. </el-form-item>
  313. </el-col>
  314. <el-col :span="12">
  315. <el-form-item label="备注">
  316. <el-input v-model="formData.Remark" maxlength="500" placeholder="请输入" type="textarea"
  317. style="width: 100%">
  318. </el-input>
  319. </el-form-item>
  320. </el-col>
  321. <el-col :span="12">
  322. <el-form-item label="其他备注">
  323. <el-input v-model="formData.Remark1"
  324. maxlength="500"
  325. placeholder="请输入"
  326. type="textarea"
  327. style="width: 100%">
  328. </el-input>
  329. </el-form-item>
  330. </el-col>
  331. </el-row>
  332. </el-form>
  333. </div>
  334. </template>
  335. <script>
  336. export default {
  337. name: 'techinfo',
  338. props: {
  339. formData: {
  340. type: Object,
  341. default: {}
  342. },
  343. dictData: {
  344. type: Object,
  345. default: null
  346. },
  347. disabled: {
  348. type: Boolean,
  349. default: false
  350. },
  351. authUser: {
  352. type: Object,
  353. default: null
  354. }
  355. },
  356. data () {
  357. // 注册资金限制
  358. var checkMoney = (rule, value, callback) => {
  359. if (value < 0) {
  360. callback(new Error('注册资金不能小于0'))
  361. } else {
  362. callback()
  363. }
  364. }
  365. var checkemail = (rule, value, callback) => {
  366. if (value) {
  367. let re = /^([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/
  368. if (!re.test(value)) {
  369. callback(new Error('请输入正确的邮箱地址'))
  370. } else {
  371. callback()
  372. }
  373. } else {
  374. callback()
  375. }
  376. }
  377. var checkCommercialNo = (rule, value, callback) => {
  378. if (!value) {
  379. callback(new Error('请输入统一社会信用代码'))
  380. } else {
  381. if (this.showorhidflag == 'hid') {
  382. let re = /^[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/g
  383. if (!re.test(value)) {
  384. callback(new Error('请输入正确的统一社会信用代码'))
  385. } else {
  386. callback()
  387. }
  388. } else {
  389. callback()
  390. }
  391. }
  392. }
  393. // 查找是否有公司信息,若有则补全信息。
  394. var checkSupplierName = (rule, value, callback) => {
  395. if (!value) {
  396. callback(new Error('请输入供方名称'))
  397. } else {
  398. callback()
  399. }
  400. }
  401. // 检查邮编格式
  402. var checkZipCode = (rule, value, callback) => {
  403. if (!value) {
  404. callback(new Error('请输入邮编'))
  405. } else {
  406. let re = /^[0-9]{6}$/
  407. if (!re.test(value)) {
  408. callback(new Error('请输入正确的邮编'))
  409. } else {
  410. callback()
  411. }
  412. }
  413. }
  414. // 检查手机号
  415. var checkMobile = (rule, value, callback) => {
  416. if (!value) {
  417. callback(new Error('请输入手机号码'))
  418. } else {
  419. let re = /^1[3456789]\d{9}$/
  420. if (!re.test(value)) {
  421. callback(new Error('请输入正确的手机号码'))
  422. } else {
  423. callback()
  424. }
  425. }
  426. }
  427. // 固话检验
  428. var checkTelphone = (rule, value, callback) => {
  429. if (!value) {
  430. callback(new Error('请输入固话号码'))
  431. } else {
  432. let re = /^((0\d{2,3}-\d{7,8})|(1[35874]\d{9}))$/
  433. if (!re.test(value)) {
  434. callback(new Error('请输入正确的固话格式为:区号-0000000'))
  435. } else {
  436. callback()
  437. }
  438. }
  439. }
  440. // //注册资金限制
  441. // var checkMoney = (rule, value, callback) => {
  442. // if (!value) {
  443. // return callback(new Error('注册资金不能为空'));
  444. // } else {
  445. // if (value < 1) {
  446. // callback(new Error('注册资金至少为1'));
  447. // } else {
  448. // callback();
  449. // }
  450. // }
  451. // };
  452. // 传真检验
  453. var checkFax = (rule, value, callback) => {
  454. if (!value) {
  455. callback()
  456. } else {
  457. let re = /^((0\d{2,3}-\d{7,8})|(1[35874]\d{9}))$/
  458. if (!re.test(value)) {
  459. callback(new Error('请输入正确的传真格式为:区号-0000000'))
  460. } else {
  461. callback()
  462. }
  463. }
  464. }
  465. var checkBankAccount = (rule, value, callback) => {
  466. if (value === '') {
  467. callback(new Error('请输入银行账号'))
  468. } else {
  469. if (value.length < 9) {
  470. callback(new Error('请填写正确位数的银行账号'))
  471. } else {
  472. callback()
  473. }
  474. }
  475. }
  476. return {
  477. address: [],
  478. linkaddress: [],
  479. showorhidflag: 'hid',
  480. selectoptions: [{
  481. value: '1',
  482. label: '三证合一'
  483. }, {
  484. value: '2',
  485. label: '五证合一'
  486. }, {
  487. value: '3',
  488. label: '常规'
  489. }],
  490. companyReadonly: false,
  491. companynames: [],
  492. UnitRelationOptions: [],
  493. InOptions: [],
  494. CompanyTypeOptions: [],
  495. CurrencyOptions: [],
  496. UnitRelationAry: [],
  497. countryoptions: [],
  498. countryprops: {
  499. value: 'adcode',
  500. label: 'name',
  501. children: 'districts'
  502. },
  503. CityAry: [],
  504. LinkCityAry: [],
  505. HSEOptions: [{
  506. value: '1',
  507. label: '是'
  508. }, {
  509. value: '0',
  510. label: '否'
  511. }],
  512. countryListOptions: [],
  513. rulesform: {
  514. BusinessScope: [{
  515. required: true,
  516. message: '请输入营业范围',
  517. trigger: 'change'
  518. }],
  519. Country: [{
  520. required: true,
  521. message: '请输入国家',
  522. trigger: 'change'
  523. }],
  524. SupplierName: [{
  525. required: true,
  526. validator: checkSupplierName,
  527. trigger: 'change'
  528. } ],
  529. CommercialNo: [{
  530. required: true,
  531. validator: checkCommercialNo,
  532. trigger: 'change'
  533. } ],
  534. CountryTaxNo: [{
  535. required: true,
  536. message: '请输入税务登记证编号',
  537. trigger: 'change'
  538. } ],
  539. CompanyType: [{
  540. required: true,
  541. message: '请选择公司类型',
  542. trigger: 'change'
  543. } ],
  544. LegalPerson: [{
  545. required: true,
  546. message: '请输入法定代表人姓名',
  547. trigger: 'change'
  548. } ],
  549. Province: [{
  550. required: true,
  551. message: '请选择省市区',
  552. trigger: 'blur'
  553. } ],
  554. Address: [{
  555. required: true,
  556. message: '请输入注册地址',
  557. trigger: 'change'
  558. } ],
  559. EMail: [{
  560. required: false,
  561. validator: checkemail,
  562. trigger: 'change'
  563. }],
  564. OrganCode: [{
  565. required: true,
  566. message: '请输入组织机构代码',
  567. trigger: 'change'
  568. } ],
  569. SetupTime: [{
  570. required: true,
  571. message: '请输入成立时间',
  572. trigger: 'change'
  573. }],
  574. // RegCapital: [{
  575. // required: true,
  576. // validator: checkMoney,
  577. // trigger: 'change'
  578. // } ],
  579. RegCapital: [
  580. {required: true, validator: checkMoney, trigger: 'change'}
  581. ],
  582. DepositBank: [{
  583. required: true,
  584. message: '请输入开户银行',
  585. trigger: 'change'
  586. } ],
  587. BankAccount: [{
  588. required: true,
  589. validator: checkBankAccount,
  590. trigger: 'change'
  591. } ],
  592. ContactName: [{
  593. required: true,
  594. message: '请输入联系人姓名',
  595. trigger: 'change'
  596. } ],
  597. Mobile: [{
  598. required: true,
  599. validator: checkMobile,
  600. trigger: 'change'
  601. } ],
  602. Telphone: [{
  603. required: true,
  604. validator: checkTelphone,
  605. trigger: 'blur'
  606. }],
  607. Fax: [{
  608. required: false,
  609. validator: checkFax,
  610. trigger: 'blur'
  611. } ],
  612. CompanyTel: [{
  613. required: true,
  614. message: '请输入财务电话',
  615. trigger: 'change'
  616. } ],
  617. ZipCode: [{
  618. required: true,
  619. validator: checkZipCode,
  620. trigger: 'change'
  621. }],
  622. LinkZipCode: [{
  623. required: true,
  624. validator: checkZipCode,
  625. trigger: 'change'
  626. }],
  627. LinkProvince: [{
  628. required: true,
  629. message: '请选择省市区',
  630. trigger: 'blur'
  631. } ],
  632. LinkAddress: [{
  633. required: true,
  634. message: '请输入通信地址',
  635. trigger: 'change'
  636. } ],
  637. realname: [{
  638. required: true,
  639. message: '用户名',
  640. trigger: 'blur'
  641. }]
  642. }
  643. }
  644. },
  645. created () {
  646. // if(this.authUser && this.authUser.Profile.IsCompanyUser === 1){
  647. // this.inputCompanyName(this.authUser.Profile.Realname)
  648. // }
  649. },
  650. watch: {
  651. dictData: {
  652. handler (newName, oldName) {
  653. this.getDictOptions()
  654. },
  655. immediate: true
  656. }
  657. },
  658. methods: {
  659. getCountryList (val) {
  660. let tmpJson = JSON.parse(val)
  661. this.countryListOptions = []
  662. for (let idx in tmpJson) {
  663. this.countryListOptions.push({
  664. label: tmpJson[idx].split('-')[0],
  665. value: tmpJson[idx].split('-')[1],
  666. code: tmpJson[idx].split('-')[2],
  667. key: tmpJson[idx]
  668. })
  669. }
  670. },
  671. showorhid (val) {
  672. if (val == '1' || val == '2') {
  673. this.showorhidflag = 'hid'
  674. this.formData.OrganCode = ''
  675. this.formData.CountryTaxNo = ''
  676. } else {
  677. if (this.formData.CommercialNo != '') {
  678. this.formData.OrganCode = this.formData.CommercialNo
  679. this.formData.CountryTaxNo = this.formData.CommercialNo
  680. }
  681. this.showorhidflag = 'show'
  682. }
  683. },
  684. currentSel (event) {
  685. if (event == 2) {
  686. this.formData.InStyle = '5'
  687. // for(let item of this.$refs.inStyle.options) {
  688. // if(item.value=='5'){
  689. // console.log(item.style)
  690. // }else{
  691. // //隐藏
  692. // }
  693. // }
  694. } else {
  695. this.formData.InStyle = '1'
  696. }
  697. },
  698. // commnoChange () {
  699. // this.formData.CountryTaxNo = this.formData.CommercialNo
  700. // this.formData.OrganCode = this.formData.CommercialNo
  701. // },
  702. // 查找是否有公司信息,若有则补全信息
  703. searchSupplierName () {
  704. let _this = this
  705. _this.$axios.get('/register/getcompanyinfo/' + _this.formData.SupplierName, {})
  706. .then(res => {
  707. if (res.data.items && res.data.items.length === 1) {
  708. _this.formData.SupplierName = res.data.items[0].SupplierName
  709. _this.formData.CredentialFlag = res.data.items[0].CredentialFlag
  710. _this.formData.CommercialNo = res.data.items[0].CommercialNo
  711. _this.formData.CountryTaxNo = res.data.items[0].CountryTaxNo
  712. _this.formData.OrganCode = res.data.items[0].OrganCode
  713. _this.formData.LocalTaxNo = res.data.items[0].LocalTaxNo
  714. _this.formData.Address = res.data.items[0].Address
  715. _this.formData.Province = res.data.items[0].Province
  716. _this.formData.City = res.data.items[0].City
  717. _this.formData.Street = res.data.items[0].Street
  718. _this.CityAry = []
  719. _this.CityAry.push(_this.formData.Province)
  720. _this.CityAry.push(_this.formData.City)
  721. _this.CityAry.push(_this.formData.Street)
  722. _this.formData.ZipCode = res.data.items[0].ZipCode
  723. _this.formData.LinkAddress = res.data.items[0].LinkAddress
  724. _this.formData.LinkProvince = res.data.items[0].LinkProvince
  725. _this.formData.LinkCity = res.data.items[0].LinkCity
  726. _this.formData.LinkStreet = res.data.items[0].LinkStreet
  727. _this.LinkCityAry = []
  728. _this.LinkCityAry.push(_this.formData.LinkProvince)
  729. _this.LinkCityAry.push(_this.formData.LinkCity)
  730. _this.LinkCityAry.push(_this.formData.LinkStreet)
  731. _this.formData.LinkZipCode = res.data.items[0].LinkZipCode
  732. _this.formData.LegalPerson = res.data.items[0].LegalPerson
  733. _this.formData.CompanyType = res.data.items[0].CompanyType
  734. _this.formData.RegCapital = res.data.items[0].RegCapital
  735. _this.formData.SetupTime = res.data.items[0].SetupTime
  736. _this.formData.DepositBank = res.data.items[0].DepositBank
  737. _this.formData.BankAccount = res.data.items[0].BankAccount
  738. _this.formData.ContactName = res.data.items[0].ContactName
  739. if (!res.data.items[0].Mobile) {
  740. _this.formData.Mobile = res.data.items[0].Mobile
  741. } else {
  742. _this.formData.Mobile = res.data.items[0].UserTelephone
  743. }
  744. _this.formData.Telphone = res.data.items[0].Telphone
  745. _this.formData.Fax = res.data.items[0].Fax
  746. _this.formData.CompanyTel = res.data.items[0].CompanyTel
  747. _this.formData.EMail = res.data.items[0].EMail
  748. _this.formData.BankCreditRating = res.data.items[0].BankCreditRating
  749. _this.formData.Remark = res.data.items[0].Remark
  750. _this.formData.JFAccessCardNo = res.data.items[0].JFAccessCardNo
  751. }
  752. })
  753. .catch(err => {
  754. console.error(err)
  755. })
  756. },
  757. getDictOptions () {
  758. if (this.dictData) {
  759. this.UnitRelationOptions = this.dictData['UnitRelation']
  760. this.InOptions = this.dictData['InOptions']
  761. this.getCityList(this.dictData['GaodeMapChinaAreas'])
  762. this.CompanyTypeOptions = this.dictData['CompanyType']
  763. this.CurrencyOptions = this.dictData['CurrencyType']
  764. this.getCountryList(this.dictData['CountryList'])
  765. }
  766. },
  767. getCityList (val) {
  768. let resultData = JSON.parse(val)
  769. let countstr = JSON.stringify(resultData.districts[0].districts)
  770. // eslint-disable-next-line no-useless-escape
  771. countstr = countstr.replace(/\,\"districts\"\:\[\]/g, '')
  772. this.countryoptions = JSON.parse(countstr)
  773. },
  774. unitRelationChange (value) {
  775. this.formData.SpecTypeCode = value.join(',')
  776. },
  777. handleAreaChange (value) {
  778. this.formData.Province = value[0]
  779. this.formData.City = value[1]
  780. this.formData.Street = value[2]
  781. // this.formData.ZipCode = value[2]
  782. this.address = this.$refs['cascaderAdd'].currentLabels
  783. this.formData.AllAddress = this.address[0] + '/' + this.address[1] + '/' + this.address[2]
  784. },
  785. handleLinkAreaChange (value) {
  786. this.formData.LinkProvince = value[0]
  787. this.formData.LinkCity = value[1]
  788. this.formData.LinkStreet = value[2]
  789. // this.formData.LinkZipCode = value[2]
  790. this.linkaddress = this.$refs['cascaderAddrLink'].currentLabels
  791. this.formData.LinkAllAddress = this.linkaddress[0] + '/' + this.linkaddress[1] + '/' + this.linkaddress[2]
  792. },
  793. formatDateTime (date) {
  794. var y = date.getFullYear()
  795. var m = date.getMonth() + 1
  796. m = m < 10 ? ('0' + m) : m
  797. var d = date.getDate()
  798. d = d < 10 ? ('0' + d) : d
  799. var h = date.getHours()
  800. var minute = date.getMinutes()
  801. minute = minute < 10 ? ('0' + minute) : minute
  802. return y + '-' + m + '-' + d + ' ' + h + ':' + minute
  803. },
  804. createFilter (queryString) {
  805. return (restaurant) => {
  806. return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0)
  807. }
  808. },
  809. // handleSelect (item) {
  810. // this.$emit('selectcompany', item)
  811. // },
  812. inputCompanyName (val) {
  813. this.$emit('inputcompany', val)
  814. }
  815. }
  816. }
  817. </script>
  818. <style>
  819. .formDataInfo .el-input__inner[readonly]{
  820. border-color:#DCDFE6;
  821. }
  822. .formDataInfo .el-input__inner[readonly]:focus{
  823. border-color:#DCDFE6;
  824. }
  825. .formDataInfo .el-textarea__inner[readonly]{
  826. border-color:#DCDFE6;
  827. }
  828. .formDataInfo .el-textarea__inner[readonly]:focus{
  829. border-color:#DCDFE6;
  830. }
  831. .formDataInfo .el-input__inner[disabled]{
  832. color:black;
  833. opacity: 1;
  834. background-color: white;
  835. }
  836. .formDataInfo .el-textarea__inner[disabled]{
  837. color:black;
  838. opacity: 1;
  839. background-color: white;
  840. }
  841. </style>