basisinfo.vue 30 KB

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