techinfo.vue 36 KB

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