index.vue 60 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056
  1. <template>
  2. <div class="app-conta">
  3. <el-row :gutter="10" class="mb8 roiyy">
  4. <el-col :span="1.5" v-if="setrd % 2 == 1">
  5. <!-- <el-button
  6. type="primary"
  7. @click="submitCtion"
  8. v-hasPermi="['bmProject:project:examine']"
  9. >提交</el-button
  10. > -->
  11. </el-col>
  12. <!-- submitCtion submitCtionte-->
  13. <el-col :span="1.5" v-if="setrd % 2 == 1">
  14. <el-button
  15. type="primary"
  16. @click="emporary"
  17. v-hasPermi="['bmProject:project:add']"
  18. >提交</el-button
  19. >
  20. </el-col>
  21. <el-col :span="1.5">
  22. <el-button type="primary" @click="cancelqiu">取消</el-button>
  23. </el-col>
  24. <el-col :span="1.5" :offset="16" v-if="setrd % 2 == 1 && setrd > 2">
  25. <el-button
  26. type="danger"
  27. @click="backProBtn"
  28. v-hasPermi="['bmProject:project:back']"
  29. >撤销审核</el-button
  30. >
  31. </el-col>
  32. <el-col :span="1.5" :offset="18" v-if="setrd % 2 == 0">
  33. <el-button
  34. style="background: #00b034; color: #fff; border: none"
  35. type="danger"
  36. @click="applyBtn"
  37. v-hasPermi="['bmProject:project:pass']"
  38. >审核</el-button
  39. >
  40. <el-button
  41. style="background: #3fbcef; color: #fff; border: none"
  42. type="danger"
  43. @click="backBtn"
  44. v-hasPermi="['bmProject:project:reject']"
  45. >驳回</el-button
  46. >
  47. </el-col>
  48. </el-row>
  49. <!-- 内容的显示隐藏 -->
  50. <div class="mation">
  51. <div class="nvestor">
  52. <p>投资方 <i>*</i></p>
  53. </div>
  54. <p class="enterprise">企业</p>
  55. <p class="enterprise_tw" @click="handleAdd">
  56. <i class="el-icon-circle-plus-outline"></i>添加企业
  57. <i style="color: red;">*</i>
  58. </p>
  59. <el-table v-loading="loading" :data="configList">
  60. <!-- <el-table-column type="selection" width="55" align="center" /> -->
  61. <el-table-column label="企业名称" align="center" prop="companyName" />
  62. <el-table-column
  63. label="企业所在地"
  64. align="center"
  65. prop="companyAddress"
  66. :show-overflow-tooltip="true"
  67. />
  68. <el-table-column
  69. label="法人代表姓名"
  70. align="center"
  71. prop="companyLegal"
  72. :show-overflow-tooltip="true"
  73. />
  74. <el-table-column
  75. label="统一社会信用代码"
  76. align="center"
  77. prop="companyCode"
  78. />
  79. <el-table-column label="联系方式" align="center" prop="phone" />
  80. <!-- <el-table-column label="操作" align="center" prop="remark" :show-overflow-tooltip="true" /> -->
  81. <el-table-column label="操作" align="center">
  82. <!-- class-name="small-padding fixed-width" -->
  83. <template slot-scope="scope">
  84. <el-button
  85. size="mini"
  86. type="warning"
  87. :disabled="disfal"
  88. @click="handleUpdate(scope.row)"
  89. v-hasPermi="['projectInvestor:investor:edit']"
  90. >修改</el-button
  91. >
  92. <el-button
  93. size="mini"
  94. type="danger"
  95. :disabled="disfal"
  96. @click="handleDelete(scope.row)"
  97. v-hasPermi="['projectInvestor:investor:remove']"
  98. >删除</el-button
  99. >
  100. </template>
  101. </el-table-column>
  102. </el-table>
  103. <p class="enterprise">自然人</p>
  104. <p class="enterprise_tw" @click="handleAddtwo">
  105. <i class="el-icon-circle-plus-outline"></i>添加自然人
  106. <i style="color: red;">*</i>
  107. </p>
  108. <el-table v-loading="loading" :data="configListtwoL">
  109. <!-- <el-table-column type="selection" width="55" align="center" /> -->
  110. <el-table-column label="姓名" align="center" prop="name" />
  111. <el-table-column
  112. label="自然人所在地"
  113. align="center"
  114. prop="address"
  115. :show-overflow-tooltip="true"
  116. />
  117. <el-table-column
  118. label="身份证号码"
  119. align="center"
  120. prop="idcode"
  121. :show-overflow-tooltip="true"
  122. />
  123. <el-table-column label="联系方式" align="center" prop="phone" />
  124. <!-- <el-table-column label="联系方式" align="center" prop="configType" :formatter="typeFormat" /> -->
  125. <!-- <el-table-column label="操作" align="center" prop="remark" :show-overflow-tooltip="true" /> -->
  126. <el-table-column label="操作" align="center">
  127. <!-- class-name="small-padding fixed-width" -->
  128. <template slot-scope="scope">
  129. <el-button
  130. size="mini"
  131. :disabled="disfal"
  132. type="warning"
  133. @click="handleUpdatetwo(scope.row)"
  134. v-hasPermi="['projectInvestor:investor:edit']"
  135. >修改</el-button
  136. >
  137. <el-button
  138. size="mini"
  139. type="danger"
  140. :disabled="disfal"
  141. @click="handleDeletetwo(scope.row)"
  142. v-hasPermi="['projectInvestor:investor:remove']"
  143. >删除</el-button
  144. >
  145. </template>
  146. </el-table-column>
  147. </el-table>
  148. <el-form
  149. :model="queryParams"
  150. :rules="queryForm"
  151. ref="queryForm"
  152. :inline="true"
  153. v-show="showSearch"
  154. label-width="120px"
  155. label-position="center"
  156. class="manager_form"
  157. >
  158. <!-- <el-form ref="queryForm" :model="queryParams" :rules="queryForm" label-width="115px" label-position="center" class="manager_form"> -->
  159. <el-form-item label="投资方联系人" prop="contactor">
  160. <el-input
  161. v-model="queryParams.contactor"
  162. placeholder="请输入投资方联系人"
  163. clearable
  164. :disabled="disfal"
  165. size="small"
  166. style="width: 223px"
  167. />
  168. </el-form-item>
  169. <el-form-item label="投资方联系方式:" prop="phone" class="weiru">
  170. <el-input
  171. v-model.number="queryParams.phone"
  172. placeholder="请输入联系方式"
  173. :disabled="disfal"
  174. clearable
  175. size="small"
  176. style="width: 233px"
  177. />
  178. </el-form-item>
  179. <div class="nvestor">
  180. <p>引荐方 <i>*</i></p>
  181. </div>
  182. <!-- <div v-if="queryParams.referralList == null" > -->
  183. <el-form-item label="引荐单位:" style="width: 23% ; margin-right: 0;" :rules="[{ required: true, message: '请输入引荐单位', trigger: 'blur' }]" class="yije">
  184. <!-- <treeselect :multiple="false" v-model="queryParams.referralList[0].sysDeptId" :normalizer="normalizer" :options="typeOptionstwo" :maxHeight="150" @select="djieskle" placeholder="请选择归属部门" /> -->
  185. <el-cascader
  186. v-model="queryParams.referralList[0].sysDeptId "
  187. :show-all-levels="false"
  188. :disabled="disfal"
  189. :options="typeOptionstwo"
  190. @change="handleChange"
  191. style="width: 128px"
  192. :props="{checkStrictly: true,value:'id',label:'label',children: 'children'}"
  193. ></el-cascader>
  194. </el-form-item>
  195. <el-form-item
  196. label="省外股东占比:"
  197. style="width: 20%"
  198. class="fenpe"
  199. :prop="queryParams.referralList[0].investmentAllcocation + ''"
  200. :rules="[{ required: true, message: '请输入省外股东占比', trigger: 'blur' }]"
  201. >
  202. <el-input
  203. v-model="queryParams.referralList[0].investmentAllcocation "
  204. placeholder="数"
  205. clearable
  206. :disabled="disfal"
  207. size="small"
  208. style="width: 66px; padding: 0"
  209. @keyup.enter.native="handleQuery"
  210. />
  211. <span class="souu">%</span>
  212. </el-form-item>
  213. <el-form-item label="引荐方联系人:" :prop="queryParams.referralList[0].referral" style="width: 22%; margin-right: 0;" :rules="[{ required: true, message: '请输入引荐方联系人', trigger: 'blur' }]">
  214. <el-input
  215. v-model="queryParams.referralList[0].referral"
  216. placeholder="请输入"
  217. clearable
  218. :disabled="disfal"
  219. size="small"
  220. style="width: 98px"
  221. @keyup.enter.native="handleQuery"
  222. />
  223. </el-form-item>
  224. <el-form-item
  225. label="引荐方联系方式:"
  226. :prop="queryParams.referralList[0].referralPhone"
  227. style="width: 34%;margin-right: 0;"
  228. class="yiuejg"
  229. :rules="[{ required: true, message: '请输入引荐方联系方式', trigger: 'blur' }]"
  230. >
  231. <el-input
  232. v-model="queryParams.referralList[0].referralPhone"
  233. placeholder="请输入联系方式"
  234. clearable
  235. :disabled="disfal"
  236. size="small"
  237. @keyup.enter.native="handleQuery"
  238. />
  239. </el-form-item>
  240. <el-form-item class="yije" label="引荐单位:" style="width: 23%;margin-right: 0;" >
  241. <el-cascader
  242. :show-all-levels="false"
  243. v-model="queryParams.referralList[1].sysDeptId"
  244. :options="typeOptionstwo"
  245. style="width: 128px"
  246. :disabled="disfal"
  247. @change="handleChangete"
  248. :props="{checkStrictly: true,value:'id',label:'label',children: 'children'}"
  249. ></el-cascader>
  250. </el-form-item>
  251. <el-form-item
  252. label="省外股东占比:"
  253. style="width: 20%;margin-right: 0;"
  254. class="fenpe"
  255. :prop="queryParams.referralList[1].investmentAllcocation + ''"
  256. >
  257. <el-input
  258. v-model="queryParams.referralList[1].investmentAllcocation"
  259. placeholder="数"
  260. :disabled="disfal"
  261. clearable
  262. size="small"
  263. style="width: 66px; padding: 0"
  264. @keyup.enter.native="handleQuery"
  265. />
  266. <span class="souu">%</span>
  267. </el-form-item>
  268. <el-form-item label="引荐方联系人:" style="width: 22%;margin-right: 0;">
  269. <el-input
  270. v-model="queryParams.referralList[1].referral"
  271. placeholder="请输入"
  272. :disabled="disfal"
  273. clearable
  274. size="small"
  275. style="width: 98px"
  276. @keyup.enter.native="handleQuery"
  277. />
  278. </el-form-item>
  279. <el-form-item
  280. label="引荐方联系方式:"
  281. style="width: 34%"
  282. class="yiuejg"
  283. >
  284. <el-input
  285. v-model="queryParams.referralList[1].referralPhone"
  286. placeholder="请输入联系方式"
  287. clearable
  288. :disabled="disfal"
  289. size="small"
  290. @keyup.enter.native="handleQuery"
  291. />
  292. </el-form-item>
  293. <!-- </div> -->
  294. <div class="nvestor">
  295. <p>项目基本信息 <i>*</i></p>
  296. </div>
  297. <el-form-item label="预计投资额(亿元)" class="gueigntwo" prop="needAmt">
  298. <el-input
  299. type="number"
  300. value="1"
  301. min="0"
  302. step="0.1"
  303. v-model.number="queryParams.needAmt"
  304. placeholder="请输入预计投资额"
  305. clearable
  306. :disabled="disfal"
  307. size="small"
  308. style="width: 223px"
  309. @keyup.enter.native="handleQuery"
  310. />
  311. </el-form-item>
  312. <el-form-item
  313. label="其中 固定资产投资(万元):"
  314. prop="fixedAssets"
  315. class="gueigntwo gueignthr"
  316. >
  317. <el-input
  318. type="number"
  319. value="1"
  320. min="0"
  321. step="0.1"
  322. v-model.number="queryParams.fixedAssets"
  323. placeholder="请输入"
  324. clearable
  325. :disabled="disfal"
  326. size="small"
  327. style="width: 223px"
  328. @keyup.enter.native="handleQuery"
  329. />
  330. </el-form-item>
  331. <div class="lage_div">
  332. <span>项目主营产品</span>
  333. <!-- </div> -->
  334. <el-form-item label="产品名称:" prop="productName" class="maneg_lar">
  335. <el-input
  336. v-model="queryParams.productName"
  337. placeholder="请输入产品名称"
  338. clearable
  339. :disabled="disfal"
  340. size="small"
  341. style="width: 470px"
  342. @keyup.enter.native="handleQuery"
  343. />
  344. </el-form-item>
  345. </div>
  346. <el-form-item
  347. label="设计产能:"
  348. prop="productQty"
  349. class="manager_labtwo"
  350. >
  351. <el-input
  352. v-model="queryParams.productQty"
  353. placeholder="请输入设计产能"
  354. clearable
  355. :disabled="disfal"
  356. size="small"
  357. style="width: 470px"
  358. @keyup.enter.native="handleQuery"
  359. />
  360. </el-form-item>
  361. <div class="lage_div">
  362. <span>项目预计收益</span>
  363. <el-form-item
  364. label="预计产值(亿元):"
  365. prop="productPrice"
  366. class="maneg_lar manager_labthre"
  367. >
  368. <el-input
  369. type="number"
  370. value="1"
  371. min="0"
  372. step="0.1"
  373. v-model.number="queryParams.productPrice"
  374. placeholder="请输入预计产值"
  375. clearable
  376. :disabled="disfal"
  377. size="small"
  378. style="width: 470px"
  379. @keyup.enter.native="handleQuery"
  380. />
  381. </el-form-item>
  382. </div>
  383. <el-form-item
  384. label="预计税收(万元):"
  385. prop="productTax"
  386. class="manager_labtwo"
  387. >
  388. <el-input
  389. type="number"
  390. value="1"
  391. min="0"
  392. step="0.1"
  393. v-model.number="queryParams.productTax"
  394. placeholder="请输入预计税收"
  395. clearable
  396. :disabled="disfal"
  397. size="small"
  398. style="width: 470px"
  399. @keyup.enter.native="handleQuery"
  400. />
  401. </el-form-item>
  402. <el-form-item
  403. label="预计用工(人):"
  404. prop="productEmp"
  405. class="manager_labtwo"
  406. >
  407. <el-input
  408. v-model="queryParams.productEmp"
  409. placeholder="请输入预计用工"
  410. size="small"
  411. :disabled="disfal"
  412. style="width: 470px"
  413. />
  414. </el-form-item>
  415. <div class="nvestor">
  416. <p>项目基本需求</p>
  417. </div>
  418. <el-form-item
  419. label="项目计划用地:"
  420. prop="plannedLand"
  421. style="width: 45%"
  422. class="manager_labthre"
  423. >
  424. <el-input
  425. v-model="queryParams.plannedLand"
  426. placeholder="请输入"
  427. clearable
  428. size="small"
  429. :disabled="disfal"
  430. style="width: 237px"
  431. @keyup.enter.native="handleQuery"
  432. />
  433. <span class="souu">亩</span>
  434. </el-form-item>
  435. <el-form-item
  436. label="其中 独立供地:"
  437. prop="independentLand"
  438. style="width: 45%"
  439. >
  440. <el-input
  441. v-model="queryParams.independentLand"
  442. placeholder="请输入"
  443. clearable
  444. :disabled="disfal"
  445. size="small"
  446. style="width: 237px"
  447. @keyup.enter.native="handleQuery"
  448. />
  449. <span class="souu">亩</span>
  450. </el-form-item>
  451. <el-form-item
  452. label="流转土地:"
  453. prop="circulationLan"
  454. class="mage_ter mage_tergt"
  455. style="width: 98%"
  456. >
  457. <el-input
  458. v-model="queryParams.circulationLan"
  459. placeholder="请输入"
  460. clearable
  461. :disabled="disfal"
  462. size="small"
  463. style="width: 237px"
  464. @keyup.enter.native="handleQuery"
  465. />
  466. <span class="souu">亩</span>
  467. </el-form-item>
  468. <el-form-item
  469. label="项目计划租赁用房:"
  470. prop="needRoom"
  471. class="manager_labthre"
  472. style="width: 45%"
  473. >
  474. <el-input
  475. v-model="queryParams.needRoom"
  476. placeholder="请输入"
  477. clearable
  478. :disabled="disfal"
  479. size="small"
  480. style="width: 237px"
  481. @keyup.enter.native="handleQuery"
  482. />
  483. <span class="souu">平方米</span>
  484. </el-form-item>
  485. <el-form-item
  486. label="其中 厂房:"
  487. prop="needFactoryRoom"
  488. style="width: 45%"
  489. >
  490. <el-input
  491. v-model="queryParams.needFactoryRoom"
  492. placeholder="请输入"
  493. :disabled="disfal"
  494. clearable
  495. size="small"
  496. style="width: 237px"
  497. @keyup.enter.native="handleQuery"
  498. />
  499. <span class="souu">平方米</span>
  500. </el-form-item>
  501. <el-form-item
  502. label="办公生活用房:"
  503. style="width: 100%"
  504. prop="needBusRoom"
  505. class="mage_ter"
  506. >
  507. <el-input
  508. v-model="queryParams.needBusRoom"
  509. placeholder="请输入"
  510. :disabled="disfal"
  511. clearable
  512. size="small"
  513. style="width: 237px"
  514. @keyup.enter.native="handleQuery"
  515. />
  516. <span class="souu">平方米</span>
  517. </el-form-item>
  518. <el-form-item label="其他需求:" prop="other" class="maget_ty">
  519. <el-input
  520. v-model="queryParams.other"
  521. placeholder="请输入项目概况"
  522. :disabled="disfal"
  523. clearable
  524. type="textarea"
  525. size="small"
  526. style="width: 480px; height: 78px"
  527. class="ieuyr"
  528. @keyup.enter.native="handleQuery"
  529. />
  530. </el-form-item>
  531. <el-form-item label="拟落户地点:" prop="address">
  532. <el-input
  533. v-model="queryParams.address"
  534. placeholder="请输入拟落户地点"
  535. :disabled="disfal"
  536. size="small"
  537. style="width: 188px"
  538. />
  539. </el-form-item>
  540. <el-form-item
  541. label="是否签订框架协议:"
  542. prop="isFrameorder"
  543. class="maget_tyty"
  544. style="width: 100%"
  545. >
  546. <el-select
  547. v-model="queryParams.isFrameorder"
  548. placeholder="请选择是否签订框架协议"
  549. clearable
  550. size="small"
  551. :disabled="disfal"
  552. style="width: 298px"
  553. >
  554. <el-option
  555. v-for="dict in typeOptions"
  556. :key="dict.dictValue"
  557. :label="dict.dictLabel"
  558. :value="dict.dictValue"
  559. />
  560. </el-select>
  561. </el-form-item>
  562. <el-form-item label="添加附件:" prop="configType" class="maget_ty" style="margin-bottom: 50px;">
  563. <div class="bgteu fre" style="width: 618px">
  564. <div class="">
  565. <el-upload
  566. :action="defaultSettings.urls + process + '/common/upload'"
  567. :auto-upload="true"
  568. ref="upload"
  569. :before-upload="beforeAvatarUpload"
  570. :on-preview="handlePictureCardPreview"
  571. :on-remove="handleRemove"
  572. :on-success="handleSuccntry"
  573. :multiple="true"
  574. :file-list="fileList"
  575. :disabled="disfal"
  576. >
  577. <div style="display: flex; justify-content: flex-start; flex-direction: column; flex: 1;">
  578. <i slot="default" class="el-icon-plus" style="width:100px;height: 100px; line-height: 100px; background-color: #f5f5f5; border-radius: 6px;"> </i>
  579. <div slot="tip" class="el-upload__tip" style="line-height: 24px;">只能上传word/pdf格式,大小不超过10M</div>
  580. </div>
  581. </el-upload>
  582. <!-- <div class="ijeut">
  583. <el-button
  584. style="margin-left: 10px; height: 32px"
  585. size="small"
  586. type="primary"
  587. @click="submitUpload"
  588. >开始上传</el-button
  589. >
  590. </div> -->
  591. </div>
  592. </div>
  593. </el-form-item>
  594. <el-form-item label="备注:" prop="description" class="maget_ty">
  595. <el-input
  596. v-model="queryParams.description"
  597. placeholder="请输入备注"
  598. clearable
  599. type="textarea"
  600. :disabled="disfal"
  601. size="small"
  602. style="width: 480px; height: 78px"
  603. class="ieuyr"
  604. @keyup.enter.native="handleQuery"
  605. />
  606. </el-form-item>
  607. </el-form>
  608. </div>
  609. <!-- </div> -->
  610. <!-- 添加或修改参数配置对话框 -->
  611. <el-dialog
  612. :title="title"
  613. :visible.sync="open"
  614. width="800px"
  615. append-to-body
  616. :close-on-click-modal="false"
  617. >
  618. <el-form ref="form" :model="form" :rules="rules" label-width="150px">
  619. <el-form-item label="企业名称" prop="companyName">
  620. <!-- <el-input
  621. v-model="form.companyName"
  622. :disabled="disfal"
  623. placeholder="请输入企业名称"
  624. @blur="blures"
  625. /> -->
  626. <!-- :remote-method="querySearch" -->
  627. <!-- <el-select
  628. ref="headerSearchSelect"
  629. v-model="form.companyName"
  630. filterable
  631. default-first-option
  632. remote
  633. placeholder="请输入企业名称"
  634. class="header-search-select"
  635. @change="changetyu"
  636. >
  637. <el-option v-for="option in options" :key="option.item.path" :value="option.item" :label="option.item.title.join(' > ')" />
  638. </el-select> -->
  639. <el-autocomplete
  640. v-model="form.companyName"
  641. :fetch-suggestions="querySearchAsync"
  642. placeholder="请输入企业名称"
  643. @select="handleSelecthuey"
  644. :trigger-on-focus="false"
  645. style="width: 100%;"
  646. ></el-autocomplete>
  647. </el-form-item>
  648. <el-form-item label="企业所在地" prop="companyAddress">
  649. <el-input
  650. v-model="form.companyAddress"
  651. :disabled="disfal"
  652. placeholder="请输入企业所在地"
  653. />
  654. </el-form-item>
  655. <el-form-item label="法人代表姓名" prop="companyLegal">
  656. <el-input
  657. v-model="form.companyLegal"
  658. :disabled="disfal"
  659. placeholder="请输入法人代表姓名"
  660. />
  661. </el-form-item>
  662. <!-- <el-form-item label="系统内置" prop="configType">
  663. <el-radio-group v-model="form.configType">
  664. <el-radio
  665. v-for="dict in typeOptions"
  666. :key="dict.dictValue"
  667. :label="dict.dictValue"
  668. >{{dict.dictLabel}}</el-radio>
  669. </el-radio-group>
  670. </el-form-item> -->
  671. <el-form-item label="统一社会信用代码" prop="companyCode">
  672. <el-input
  673. v-model="form.companyCode"
  674. :disabled="disfal"
  675. placeholder="请输入统一社会信用代码"
  676. />
  677. </el-form-item>
  678. <el-form-item label="联系方式" prop="phone">
  679. <el-input
  680. v-model.number="form.phone"
  681. :disabled="disfal"
  682. placeholder="请输入联系方式"
  683. />
  684. </el-form-item>
  685. </el-form>
  686. <div slot="footer" class="dialog-footer">
  687. <el-button type="primary" @click="submitForm">确 定</el-button>
  688. <el-button @click="cancel">取 消</el-button>
  689. </div>
  690. </el-dialog>
  691. <el-dialog
  692. :title="titletwo"
  693. :visible.sync="opentwo"
  694. width="800px"
  695. append-to-body
  696. :close-on-click-modal="false"
  697. >
  698. <el-form
  699. ref="formtwo"
  700. :model="formtwo"
  701. :rules="rulestwo"
  702. label-width="150px"
  703. >
  704. <el-form-item label="身份证号码" prop="idcode">
  705. <el-input
  706. :disabled="disfal"
  707. v-model="formtwo.idcode"
  708. placeholder="请输入身份证号码"
  709. />
  710. </el-form-item>
  711. <el-form-item label="姓名" prop="name">
  712. <el-input
  713. :disabled="disfal"
  714. v-model="formtwo.name"
  715. placeholder="请输入自然人姓名"
  716. />
  717. </el-form-item>
  718. <el-form-item label="自然人所在地" prop="address">
  719. <el-input
  720. v-model="formtwo.address"
  721. :disabled="disfal"
  722. placeholder="请输入自然人所在地"
  723. />
  724. </el-form-item>
  725. <!-- <el-form-item label="系统内置" prop="configType">
  726. <el-radio-group v-model="form.configType">
  727. <el-radio
  728. v-for="dict in typeOptions"
  729. :key="dict.dictValue"
  730. :label="dict.dictValue"
  731. >{{dict.dictLabel}}</el-radio>
  732. </el-radio-group>
  733. </el-form-item> -->
  734. <el-form-item label="联系方式" prop="phone">
  735. <el-input
  736. v-model="formtwo.phone"
  737. :disabled="disfal"
  738. type="phone"
  739. placeholder="请输入联系方式"
  740. />
  741. </el-form-item>
  742. </el-form>
  743. <div slot="footer" class="dialog-footer">
  744. <el-button type="primary" @click="submitFormtwo">确 定</el-button>
  745. <el-button @click="cancel">取 消</el-button>
  746. </div>
  747. </el-dialog>
  748. <el-dialog :visible.sync="dialogVisible">
  749. <!-- <img width="100%" :src="dialogImageUrl" alt="" /> -->
  750. <a :href="dialogImageUrl" target="view_window" > {{dialogImagename}} <span style="color: red;">点击查看/下载</span></a>
  751. </el-dialog>
  752. </div>
  753. </template>
  754. <script>
  755. const defaultSettings = require("@/settings.js");
  756. import {
  757. listConfig,
  758. listConfigtwo,
  759. listConfigthert,
  760. listConfigfour,
  761. listConfigfieu,
  762. getConfig,
  763. getConfigKeytwo,
  764. delConfig,
  765. delConfigtwo,
  766. addConfig,
  767. addConfigtwo,
  768. addConfigalking,
  769. addConfigbout,
  770. addConfigboutty,
  771. updateConfig,
  772. updateConfigtwo,
  773. updateConfigalking,
  774. exportConfig,
  775. clearCache,
  776. listConfigname
  777. } from "@/api/system/config";
  778. import { setExamine, setBack, setReject } from "@/api/projectInfo/info.js";
  779. import { treeselect } from '@/api/system/dept';
  780. import Treeselect from '@riophae/vue-treeselect';
  781. import '@riophae/vue-treeselect/dist/vue-treeselect.css';
  782. export default {
  783. name: "Config",
  784. components: { Treeselect },
  785. props: {
  786. // queryParams: Object,
  787. tabIndex: Number,
  788. },
  789. data() {
  790. return {
  791. process: process.env.VUE_APP_BASE_API,
  792. defaultSettings,
  793. disfal: false,
  794. // 遮罩层
  795. loading: true,
  796. //步骤条
  797. naueactive: 2,
  798. tab: 1,
  799. tabNume: ["线索信息", "签约信息", "在建信息", "投产信息"],
  800. // 选中数组
  801. ids: [],
  802. // 非单个禁用
  803. single: true,
  804. // 非多个禁用
  805. multiple: true,
  806. // 显示搜索条件
  807. showSearch: true,
  808. // 总条数
  809. total: 0,
  810. // 参数表格数据
  811. configList: [],
  812. configListtwoL: [],
  813. // 弹出层标题
  814. title: "",
  815. titletwo: "",
  816. // 是否显示弹出层
  817. open: false,
  818. opentwo: false,
  819. // 类型数据字典
  820. options:[],
  821. typeOptions: [],
  822. typeOptionstwo: undefined,
  823. typeOptionstwos: [],
  824. typeOptionstwoss: [],
  825. // 日期范围
  826. dateRange: [],
  827. setrd: 0,
  828. // 查询参数
  829. queryParams: {
  830. contactor: "",
  831. phone: "",
  832. referralList: [
  833. {
  834. bmProjectId: "",
  835. sysDeptId: undefined,
  836. investmentAllcocation: '',
  837. referral: "",
  838. referralPhone: "",
  839. },
  840. {
  841. bmProjectId: "",
  842. sysDeptId: undefined,
  843. investmentAllcocation: '',
  844. referral: "",
  845. referralPhone: "",
  846. },
  847. ],
  848. },
  849. dialogImageUrl: "",
  850. dialogImagename:'',
  851. dialogVisible: false,
  852. disabled: false,
  853. bmProjectId: 0,
  854. // 表单参数
  855. form: {
  856. companyCode:'',
  857. companyName:'',
  858. companyLegal:''
  859. },
  860. formtwo: {},
  861. queryFormhye: {},
  862. fileList: [],
  863. fileListhye: [],
  864. // 表单校验
  865. rules: {
  866. companyName: [
  867. { required: true, message: "企业名称不能为空", trigger: "blur" },
  868. ],
  869. companyAddress: [
  870. { required: true, message: "企业所在地不能为空", trigger: "blur" },
  871. ],
  872. companyLegal: [
  873. { required: true, message: "法人代表姓名不能为空", trigger: "blur" },
  874. ],
  875. companyCode: [
  876. {
  877. required: true,
  878. message: "统一社会信用代码不能为空",
  879. trigger: "blur",
  880. },
  881. ],
  882. phone: [
  883. { required: true, message: "联系方式不能为空", trigger: "blur" },
  884. {
  885. pattern: /^1(3|4|5|7|8|9)\d{9}$/,
  886. message: "手机号格式不对",
  887. trigger: "blur",
  888. },
  889. ],
  890. },
  891. rulestwo: {
  892. name: [{ required: true, message: "姓名不能为空", trigger: "blur" }],
  893. address: [
  894. { required: true, message: "所在地不能为空", trigger: "blur" },
  895. ],
  896. phone: [
  897. { required: true, message: "联系方式不能为空", trigger: "blur" },
  898. {
  899. pattern: /^1(3|4|5|7|8|9)\d{9}$/,
  900. message: "手机号格式不对",
  901. trigger: "blur",
  902. },
  903. ],
  904. },
  905. queryForm: {
  906. contactor: [
  907. { required: true, message: "投资方联系人不能为空", trigger: "blur" },
  908. ],
  909. phone: [
  910. {
  911. required: true,
  912. message: "投资方联系方式不能为空",
  913. trigger: "blur",
  914. },
  915. {
  916. pattern: /^1(3|4|5|7|8|9)\d{9}$/,
  917. message: "手机号格式不对",
  918. trigger: "blur",
  919. },
  920. ],
  921. needAmt: [
  922. { required: true, message: "预计投资额不能为空", trigger: "blur" },
  923. { type: "number", message: "预计投资额必须为数字值" },
  924. ],
  925. fixedAssets: [
  926. { required: true, message: "固定资产投资不能为空", trigger: "blur" },
  927. { type: "number", message: "固定资产投资必须为数字值" },
  928. ],
  929. productName: [
  930. { required: true, message: "产品名称不能为空", trigger: "blur" },
  931. ],
  932. productQty: [
  933. { required: true, message: "设计产能不能为空", trigger: "blur" },
  934. ],
  935. productPrice: [
  936. { required: true, message: "预计产值不能为空", trigger: "blur" },
  937. { type: "number", message: "预计产值必须为数字值" },
  938. ],
  939. productTax: [
  940. { required: true, message: "预计税收不能为空", trigger: "blur" },
  941. { type: "number", message: "预计税收必须为数字值" },
  942. ],
  943. productEmp: [
  944. { required: true, message: "预计用工不能为空", trigger: "blur" },
  945. ],
  946. address: [
  947. { required: true, message: "拟落户地点不能为空", trigger: "blur" },
  948. ],
  949. isFrameorder: [
  950. {
  951. required: true,
  952. message: "请选择是否签订框架协议",
  953. trigger: "blur",
  954. },
  955. ],
  956. },
  957. ntry: [],
  958. // 判断是修改还是增加
  959. sbuen: 0, //0 新增 1 修改
  960. jeutu: {
  961. bmProjectId: 0,
  962. },
  963. // id:0
  964. value: [],
  965. valuess: [],
  966. values: [],
  967. resets:[]
  968. };
  969. },
  970. created() {
  971. this.bmProjectId = this.$route.query.setid;
  972. this.jeutu.bmProjectId = this.bmProjectId;
  973. this.setrd = this.$route.query.setrd;
  974. console.log(this.setrd);
  975. if (this.setrd != 1) {
  976. this.disfal = true;
  977. } else {
  978. this.disfal = false;
  979. }
  980. this.getList();
  981. this.getListtwo();
  982. this.getListther();
  983. this.getDicts("sys_yes_no").then((response) => {
  984. this.typeOptions = response.data;
  985. });
  986. this.getListthuy();
  987. console.log(this.queryParams);
  988. },
  989. methods: {
  990. backProBtn() {
  991. var that = this;
  992. this.$confirm("是否确认驳回审核", "提醒", {
  993. confirmButtonText: "确定",
  994. cancelButtonText: "取消",
  995. type: "warning",
  996. })
  997. .then(({ value }) => {
  998. return setBack({
  999. code: 4,
  1000. bmProjectId: that.bmProjectId,
  1001. remark: value,
  1002. });
  1003. })
  1004. .then(() => {
  1005. this.$router.go(-1);
  1006. this.getList();
  1007. this.msgSuccess("驳回成功");
  1008. });
  1009. },
  1010. handleChange(value) {
  1011. if (value.length == 1) {
  1012. this.queryParams.referralList[0].sysDeptId = value.join(",");
  1013. } else {
  1014. this.queryParams.referralList[0].sysDeptId = value[value.length - 1];
  1015. }
  1016. //0
  1017. console.log(value);
  1018. },
  1019. handleChangete(value) {
  1020. console.log(value)
  1021. if (value.length == 1) {
  1022. this.queryParams.referralList[1].sysDeptId = value.join(",");
  1023. } else {
  1024. this.queryParams.referralList[1].sysDeptId = value[value.length - 1];
  1025. }
  1026. //1
  1027. console.log(value[value.length - 1]);
  1028. },
  1029. handleChangess(value) {
  1030. console.log(value);
  1031. },
  1032. //审核
  1033. applyBtn() {
  1034. var that = this;
  1035. this.$confirm("是否确认审核", "提醒", {
  1036. confirmButtonText: "确定",
  1037. cancelButtonText: "取消",
  1038. type: "warning",
  1039. })
  1040. .then(function () {
  1041. return addConfigbout({
  1042. code: 3,
  1043. bmProjectId: that.bmProjectId,
  1044. });
  1045. })
  1046. .then(() => {
  1047. this.$router.go(-1);
  1048. this.getList();
  1049. this.msgSuccess("审核成功");
  1050. });
  1051. },
  1052. //驳回
  1053. backBtn() {
  1054. var that = this;
  1055. this.$prompt("请输入驳回意见", "提醒", {
  1056. confirmButtonText: "确定",
  1057. cancelButtonText: "取消",
  1058. type: "warning",
  1059. })
  1060. .then(({ value }) => {
  1061. return setReject({
  1062. code: 2,
  1063. bmProjectId: that.bmProjectId,
  1064. remark: value,
  1065. });
  1066. })
  1067. .then(() => {
  1068. this.$router.go(-1);
  1069. this.getList();
  1070. this.msgSuccess("驳回成功");
  1071. });
  1072. },
  1073. blures(val){
  1074. console.log(val )
  1075. },
  1076. submitUpload() {
  1077. this.$refs.upload.submit();
  1078. },
  1079. handleRemove(file) {
  1080. console.log(file, 87);
  1081. },
  1082. handlePictureCardPreview(file) {
  1083. if(file.response !== undefined){
  1084. this.dialogImageUrl = file.response.url;
  1085. this.dialogVisible = true;
  1086. this.dialogImagename = file.name
  1087. }else{
  1088. this.dialogImageUrl = file.url;
  1089. this.dialogVisible = true;
  1090. this.dialogImagename = file.name
  1091. }
  1092. console.log(file,345)
  1093. },
  1094. handleDownload(file) {
  1095. console.log(file);
  1096. },
  1097. handleSuccntry(response, file, fileList) {
  1098. // this.ontract = []
  1099. this.ntry.push(file.response.url);
  1100. this.queryParams.attachment = this.ntry.join(",");
  1101. },
  1102. beforeAvatarUpload(file) {
  1103. console.log(file.type);
  1104. // const isJPG =
  1105. // file.type === "image/jpeg" ||
  1106. // file.type === "image/png" ||
  1107. // file.type === "image/jpg";
  1108. // const isPNG = file.type === "image/png";
  1109. const isLt2M = file.size / 1024 / 1024 < 10;
  1110. // if (!isJPG) {
  1111. // this.$message.error("图片只能是 JPG 格式! 或者 PNG 格式!");
  1112. // }
  1113. // if(!isPNG){
  1114. // this.$message.error('图片只能是 JPG 格式! 或者 PNG 格式!');
  1115. // }
  1116. if (!isLt2M) {
  1117. this.$message.error("文件大小不能超过 10MB!");
  1118. }
  1119. return isLt2M;
  1120. },
  1121. /** 查询参数列表 */
  1122. getList() {
  1123. this.loading = true;
  1124. listConfigtwo(this.bmProjectId).then((response) => {
  1125. console.log(response);
  1126. if (response.data == undefined) {
  1127. console.log(876);
  1128. //新增
  1129. this.sbuen = 0;
  1130. (this.queryParams = {
  1131. referralList: [
  1132. {
  1133. bmProjectId: this.bmProjectId,
  1134. sysDeptId: "",
  1135. investmentAllcocation: '',
  1136. referral: "",
  1137. referralPhone: "",
  1138. },
  1139. {
  1140. bmProjectId: this.bmProjectId,
  1141. sysDeptId: "",
  1142. investmentAllcocation: '',
  1143. referral: "",
  1144. referralPhone: "",
  1145. },
  1146. ],
  1147. }),
  1148. (this.queryParams.bmProjectId = this.bmProjectId);
  1149. } else if (response.data !== undefined) {
  1150. //修改
  1151. this.sbuen = 1;
  1152. if(response.data.referralList !== null || response.data.referralList.length !==0){
  1153. if(response.data.referralList.length == 1 ){
  1154. response.data.referralList[0].sysDeptId = response.data.referralList[0].sysDeptId - 0
  1155. }
  1156. if(response.data.referralList.length !== 1){
  1157. response.data.referralList[0].sysDeptId = response.data.referralList[0].sysDeptId - 0
  1158. response.data.referralList[1].sysDeptId = response.data.referralList[1].sysDeptId - 0
  1159. }
  1160. }
  1161. this.queryParams = response.data;
  1162. console.log(response.data,9876)
  1163. if (this.queryParams.referralList == null) {
  1164. this.queryParams.referralList = [
  1165. {
  1166. bmProjectId: this.bmProjectId,
  1167. sysDeptId: undefined,
  1168. investmentAllcocation: '',
  1169. referral: "",
  1170. referralPhone: "",
  1171. },
  1172. {
  1173. bmProjectId: this.bmProjectId,
  1174. sysDeptId: undefined,
  1175. investmentAllcocation: '',
  1176. referral: "",
  1177. referralPhone: "",
  1178. },
  1179. ];
  1180. // }
  1181. }
  1182. if (this.queryParams.referralList.length == 1) {
  1183. this.queryParams.referralList = [
  1184. {
  1185. bmProjectId: this.bmProjectId,
  1186. sysDeptId: response.data.referralList[0].sysDeptId ,
  1187. investmentAllcocation:
  1188. response.data.referralList[0].investmentAllcocation + '',
  1189. referral: response.data.referralList[0].referral,
  1190. referralPhone: response.data.referralList[0].referralPhone,
  1191. },
  1192. {
  1193. bmProjectId: this.bmProjectId,
  1194. sysDeptId: undefined,
  1195. investmentAllcocation: "",
  1196. referral: "",
  1197. referralPhone: "",
  1198. },
  1199. ];
  1200. }
  1201. if(this.queryParams.referralList.length == 2){
  1202. console.log()
  1203. this.queryParams.referralList = [
  1204. {
  1205. bmProjectId: this.bmProjectId,
  1206. sysDeptId: response.data.referralList[0].sysDeptId ,
  1207. investmentAllcocation:
  1208. response.data.referralList[0].investmentAllcocation ,
  1209. referral: response.data.referralList[0].referral,
  1210. referralPhone: response.data.referralList[0].referralPhone,
  1211. },
  1212. {
  1213. bmProjectId: this.bmProjectId,
  1214. sysDeptId: response.data.referralList[1].sysDeptId ,
  1215. investmentAllcocation:
  1216. response.data.referralList[1].investmentAllcocation ,
  1217. referral: response.data.referralList[1].referral,
  1218. referralPhone: response.data.referralList[1].referralPhone,
  1219. },
  1220. ];
  1221. }
  1222. // this.queryParams.phone = 987
  1223. console.log(this.queryParams, 98755);
  1224. // this.queryParams = this.queryParams.bmProjectId
  1225. this.fileListhye = [];
  1226. if (this.queryParams.attachment !== null) {
  1227. this.fileListhye = this.queryParams.attachment.split(",");
  1228. for (var i = 0; i < this.fileListhye.length; i++) {
  1229. this.fileList.push({
  1230. name: this.fileListhye[i].substring(this.fileListhye[i].lastIndexOf("/")+1),
  1231. url: this.fileListhye[i],
  1232. });
  1233. }
  1234. }
  1235. // this.fileList.push({name:this.queryParams.attachment,url:this.queryParams.attachment})
  1236. }
  1237. // this.fileList = this.queryParams.attachment
  1238. // this.total = response.total;
  1239. this.loading = false;
  1240. });
  1241. },
  1242. //企业列表
  1243. getListtwo() {
  1244. this.loading = true;
  1245. listConfigthert(this.jeutu).then((response) => {
  1246. console.log(response);
  1247. this.configList = response.rows;
  1248. // this.fileList = this.queryParams.attachment
  1249. // this.total = response.total;
  1250. this.loading = false;
  1251. });
  1252. },
  1253. //自然人列表
  1254. getListther() {
  1255. this.loading = true;
  1256. listConfigfour(this.jeutu).then((response) => {
  1257. console.log(response.rows);
  1258. this.configListtwoL = response.rows;
  1259. // this.fileList = this.queryParams.attachment
  1260. // this.total = response.total;
  1261. this.loading = false;
  1262. });
  1263. },
  1264. //部门列表
  1265. getListthuy() {
  1266. this.loading = true;
  1267. listConfigfieu().then((response) => {
  1268. console.log(response);
  1269. // if (response.data !== undefined) {
  1270. // this.typeOptionstwo = response.data;
  1271. // console.log(123457,this.typeOptionstwo)
  1272. // // this.dietj(this.typeOptionstwo);
  1273. // }
  1274. this.typeOptionstwo = response.data;
  1275. this.typeOptionstwos = response.data,
  1276. this.typeOptionstwoss = response.data,
  1277. // this.typeOptionstwo.filter((route) => {
  1278. // route.value = route.id
  1279. // route.children.filter((router) =>{
  1280. // router.value = router.id
  1281. // // this.getListthuy()
  1282. // // router.children.filter((routers) =>{
  1283. // // routers.value = routers.id
  1284. // // })
  1285. // })
  1286. // });
  1287. // this.fileList = this.queryParams.attachment
  1288. // this.total = response.total;
  1289. this.loading = false;
  1290. });
  1291. },
  1292. //递归
  1293. dietj(index) {
  1294. console.log(index);
  1295. let iuy = [];
  1296. for (var i = 0; i < index.length; i++) {
  1297. index[i].value = index[i].id;
  1298. iuy = index[i].children;
  1299. // this.dietj(index[i].children)
  1300. console.log(iuy);
  1301. if (index[i].children !== undefined) {
  1302. if (index[i].children != 0) {
  1303. console.log(index[i].children);
  1304. this.dietj(index[i].children);
  1305. } else {
  1306. return;
  1307. }
  1308. }
  1309. }
  1310. },
  1311. // 参数系统内置字典翻译
  1312. typeFormat(row, column) {
  1313. return this.selectDictLabel(this.typeOptions, row.configType);
  1314. },
  1315. // 取消按钮
  1316. cancel() {
  1317. this.open = false;
  1318. this.opentwo = false;
  1319. this.reset();
  1320. },
  1321. // 表单重置
  1322. reset() {
  1323. this.form = {
  1324. // configId: undefined,
  1325. // configName: undefined,
  1326. // configKey: undefined,
  1327. // configValue: undefined,
  1328. // configType: "Y",
  1329. // remark: undefined
  1330. };
  1331. this.resetForm("form");
  1332. },
  1333. resettwo() {
  1334. this.formtwo = {
  1335. // configId: undefined,
  1336. // configName: undefined,
  1337. // configKey: undefined,
  1338. // configValue: undefined,
  1339. // configType: "Y",
  1340. // remark: undefined
  1341. };
  1342. this.resetForm("form");
  1343. },
  1344. /** 搜索按钮操作 */
  1345. handleQuery() {
  1346. this.queryParams.pageNum = 1;
  1347. this.getList();
  1348. },
  1349. /** 重置按钮操作 */
  1350. resetQuery() {
  1351. this.dateRange = [];
  1352. this.resetForm("queryForm");
  1353. this.handleQuery();
  1354. },
  1355. /** 新增按钮操作 */
  1356. handleAdd() {
  1357. if (this.disfal) {
  1358. return;
  1359. }
  1360. this.reset();
  1361. this.open = true;
  1362. // this.opentwo = true
  1363. this.title = "添加信息";
  1364. // this.titletwo = "添加参数";
  1365. },
  1366. handleAddtwo() {
  1367. if (this.disfal) {
  1368. return;
  1369. }
  1370. this.resettwo();
  1371. // this.open = true;
  1372. this.opentwo = true;
  1373. // this.title = "添加参数";
  1374. this.titletwo = "添加信息";
  1375. },
  1376. // 多选框选中数据
  1377. handleSelectionChange(selection) {
  1378. this.ids = selection.map((item) => item.configId);
  1379. this.single = selection.length != 1;
  1380. this.multiple = !selection.length;
  1381. },
  1382. /** 修改按钮操作 */
  1383. handleUpdate(row) {
  1384. this.reset();
  1385. const id = row.id;
  1386. this.open = true;
  1387. getConfig(id).then((response) => {
  1388. console.log(345);
  1389. this.form = response.data;
  1390. // this.opentwo = true
  1391. this.title = "修改信息";
  1392. // this.titletwo = "修改参数";
  1393. });
  1394. },
  1395. handleUpdatetwo(row) {
  1396. this.reset();
  1397. const id = row.id;
  1398. getConfigKeytwo(id).then((response) => {
  1399. console.log(345);
  1400. this.formtwo = response.data;
  1401. // this.open = true;
  1402. this.opentwo = true;
  1403. // this.title = "修改参数";
  1404. this.titletwo = "修改信息";
  1405. });
  1406. },
  1407. /** 提交按钮 */
  1408. submitForm: function () {
  1409. this.$refs["form"].validate((valid) => {
  1410. if (valid) {
  1411. if (this.form.id != undefined) {
  1412. updateConfig(this.form).then((response) => {
  1413. this.msgSuccess("修改成功");
  1414. this.open = false;
  1415. this.getListtwo();
  1416. });
  1417. } else {
  1418. this.form.bmProjectId = this.bmProjectId;
  1419. addConfig(this.form).then((response) => {
  1420. this.msgSuccess("新增成功");
  1421. this.open = false;
  1422. this.getListtwo();
  1423. });
  1424. }
  1425. }
  1426. });
  1427. },
  1428. /** 提交按钮 */
  1429. submitFormtwo: function () {
  1430. this.$refs["formtwo"].validate((valid) => {
  1431. if (valid) {
  1432. if (this.formtwo.id != undefined) {
  1433. updateConfigtwo(this.formtwo).then((response) => {
  1434. this.msgSuccess("修改成功");
  1435. this.opentwo = false;
  1436. this.getListther();
  1437. });
  1438. } else {
  1439. this.formtwo.bmProjectId = this.bmProjectId;
  1440. addConfigtwo(this.formtwo).then((response) => {
  1441. this.msgSuccess("新增成功");
  1442. this.opentwo = false;
  1443. this.getListther();
  1444. });
  1445. }
  1446. }
  1447. });
  1448. },
  1449. // 暂存接口
  1450. emporary() {
  1451. console.log(this.configList,1234);
  1452. if(this.configList.length == 0){
  1453. this.msgSuccess("请填写企业信息");
  1454. return false
  1455. }
  1456. if(this.configListtwoL.length == 0){
  1457. this.msgSuccess("请填写自然人信息");
  1458. return false
  1459. }
  1460. if(this.queryParams.referralList[0].investmentAllcocation== '' || this.queryParams.referralList[0].referral== '' || this.queryParams.referralList[0].referralPhone== '' || this.queryParams.referralList[0].sysDeptId== '' ){
  1461. this.msgSuccess("请填写引荐方信息");
  1462. return false
  1463. }
  1464. if(this.queryParams.contactor == undefined){
  1465. this.msgSuccess("请填写投资方联系人信息");
  1466. return false
  1467. }
  1468. if(this.queryParams.phone == undefined){
  1469. this.msgSuccess("请填写投资方联系方式信息");
  1470. return false
  1471. }
  1472. if(this.queryParams.needAmt == undefined){
  1473. this.msgSuccess("请填写预计投资额信息");
  1474. return false
  1475. }
  1476. if(this.queryParams.fixedAssets == undefined){
  1477. this.msgSuccess("请填写固定资产投资信息");
  1478. return false
  1479. }
  1480. if(this.queryParams.productName == undefined){
  1481. this.msgSuccess("请填写产品名称信息");
  1482. return false
  1483. }
  1484. if(this.queryParams.productQty == undefined){
  1485. this.msgSuccess("请填写设计产能信息");
  1486. return false
  1487. }
  1488. if(this.queryParams.productPrice == undefined){
  1489. this.msgSuccess("请填写预计产值信息");
  1490. return false
  1491. }
  1492. if(this.queryParams.productTax == undefined){
  1493. this.msgSuccess("请填写预计税收信息");
  1494. return false
  1495. }
  1496. if(this.queryParams.productEmp == undefined){
  1497. this.msgSuccess("请填写预计用工信息");
  1498. return false
  1499. }
  1500. if(this.queryParams.address == undefined){
  1501. this.msgSuccess("请填写拟落户地点信息");
  1502. return false
  1503. }
  1504. if(this.queryParams.isFrameorder == undefined){
  1505. this.msgSuccess("请选择是否签订框架协议信息");
  1506. return false
  1507. }
  1508. console.log(this.queryParams)
  1509. this.$refs["queryForm"].validate((valid) => {
  1510. if (valid) {
  1511. if (this.sbuen == 1) {
  1512. updateConfigalking(this.queryParams).then((response) => {
  1513. this.msgSuccess("修改成功");
  1514. this.open = false;
  1515. this.getListtwo();
  1516. this.submitCtion();
  1517. // this.$router.go(-1);
  1518. });
  1519. } else {
  1520. // if(this.queryParams.referralList[0].sysDeptId !== ''){
  1521. // this.queryParams.referralList[0].sysDeptId = this.queryParams.referralList[0].sysDeptId.pop()
  1522. // console.log(this.queryParams.referralList[0].sysDeptId)
  1523. // }
  1524. // if(this.queryParams.referralList[1].sysDeptId !== ''){
  1525. // this.queryParams.referralList[1].sysDeptId = this.queryParams.referralList[1].sysDeptId.pop()
  1526. // }
  1527. // this.queryParams.bmProjectId = this.bmProjectId
  1528. console.log(this.queryParams, 87);
  1529. addConfigalking(this.queryParams).then((response) => {
  1530. console.log(response);
  1531. this.msgSuccess("新增成功");
  1532. this.submitCtion();
  1533. });
  1534. }
  1535. }
  1536. });
  1537. },
  1538. submitCtion() {
  1539. // this.msgSuccess("请点击暂存按钮,返回上级页面进行提交");
  1540. this.queryFormhye.code = 1;
  1541. this.queryFormhye.bmProjectId = this.bmProjectId;
  1542. setExamine(this.queryFormhye).then((response) => {
  1543. // setExamine addConfigbout
  1544. console.log(response);
  1545. this.msgSuccess("提交成功");
  1546. this.open = false;
  1547. this.getListtwo();
  1548. this.$router.go(-1);
  1549. // 就可以回到上一页。
  1550. // this.open = false;
  1551. // this.getListtwo();
  1552. });
  1553. console.log(this.queryParams);
  1554. },
  1555. submitCtionte() {
  1556. this.emporary();
  1557. },
  1558. /** 删除按钮操作 */
  1559. handleDelete(row) {
  1560. const configIds = row.id;
  1561. this.$confirm('是否确认删除"' + row.companyName + '"的数据项?', "警告", {
  1562. confirmButtonText: "确定",
  1563. cancelButtonText: "取消",
  1564. type: "warning",
  1565. })
  1566. .then(function () {
  1567. return delConfig(configIds);
  1568. })
  1569. .then(() => {
  1570. this.getListtwo();
  1571. this.msgSuccess("删除成功");
  1572. });
  1573. },
  1574. handleDeletetwo(row) {
  1575. const configIds = row.id;
  1576. this.$confirm('是否确认删除"' + row.name + '"的数据项?', "警告", {
  1577. confirmButtonText: "确定",
  1578. cancelButtonText: "取消",
  1579. type: "warning",
  1580. })
  1581. .then(function () {
  1582. return delConfigtwo(configIds);
  1583. })
  1584. .then(() => {
  1585. this.getListther();
  1586. this.msgSuccess("删除成功");
  1587. });
  1588. },
  1589. /** 导出按钮操作 */
  1590. handleExport() {
  1591. const queryParams = this.queryParams;
  1592. this.$confirm("是否确认导出所有参数数据项?", "警告", {
  1593. confirmButtonText: "确定",
  1594. cancelButtonText: "取消",
  1595. type: "warning",
  1596. })
  1597. .then(function () {
  1598. return exportConfig(queryParams);
  1599. })
  1600. .then((response) => {
  1601. this.download(response.msg);
  1602. });
  1603. },
  1604. /** 清理缓存按钮操作 */
  1605. handleClearCache() {
  1606. clearCache().then((response) => {
  1607. this.msgSuccess("清理成功");
  1608. });
  1609. },
  1610. //tab
  1611. changeTab(index) {
  1612. this.$emit("changeTab", index);
  1613. // this.tab = index
  1614. },
  1615. // 取消按钮
  1616. cancelqiu() {
  1617. this.$router.go(-1);
  1618. },
  1619. querySearch(query) {
  1620. if (query !== '') {
  1621. this.options = this.fuse.search(query)
  1622. } else {
  1623. this.options = []
  1624. }
  1625. },
  1626. changetyu(){
  1627. // console.log(234)
  1628. },
  1629. handleSelecthuey(item){
  1630. console.log(item)
  1631. // this.form.companyCode = item.id
  1632. // this.form.companyLegal = item.labr
  1633. this.$set(this.form, 'companyCode', item.id)
  1634. this.$set(this.form, 'companyLegal', item.labr)
  1635. for (let i = 0; i < this.resets.length; i++) {
  1636. if(item.id == this.resets[i].CreditCode){
  1637. // 企业名称
  1638. // this.form.companyName = this.resets[i].Name
  1639. // 企业所在地
  1640. // this.form.companyAddress = this.resets[i].Name
  1641. // 法人代表姓名
  1642. // this.form.companyLegal = this.resets[i].OperName
  1643. // 统一社会信用代码
  1644. // this.form.companyCode = item.id
  1645. // 联系方式
  1646. // this.form.companyName = this.resets[i].Name
  1647. }
  1648. }
  1649. // console.log(3345)
  1650. },
  1651. /** 转换角色数据结构 */
  1652. normalizer(node) {
  1653. if (node.children && !node.children.length) {
  1654. delete node.children;
  1655. }
  1656. return {
  1657. id: node.id,
  1658. label: node.label
  1659. };
  1660. },
  1661. // 点击组/角色
  1662. djieskle(node, instanceId) {
  1663. // this.personnel(node.id);
  1664. console.log(node, instanceId);
  1665. console.log(this.queryParams.referralList[0].sysDeptId)
  1666. },
  1667. querySearchAsync(queryString, cb){
  1668. console.log(queryString, cb)
  1669. this.options = []
  1670. // this.form = {}
  1671. // this.form.companyCode = undefined
  1672. // this.form.companyLegal = undefined
  1673. listConfigname(queryString).then((res) => {
  1674. console.log(res);
  1675. if (res.code == 200 && res.data.length !== 0) {
  1676. var result = res.data
  1677. this.resets = res.data
  1678. //循环放到一个远程搜索需要的数组
  1679. for (let i = 0; i < result.length; i++) {
  1680. const element = result[i];
  1681. console.log(result[i])
  1682. this.options.push({
  1683. value: element.Name,
  1684. id: element.CreditCode,
  1685. labr:element.OperName
  1686. })
  1687. }
  1688. cb(this.options);
  1689. } else {
  1690. this.options = []
  1691. cb(this.options);
  1692. }
  1693. });
  1694. }
  1695. },
  1696. };
  1697. </script>
  1698. <style lang="scss" >
  1699. .fre{
  1700. .el-upload-list{
  1701. width: 80%;
  1702. }
  1703. }
  1704. .yiuejg{
  1705. .el-form-item__label{
  1706. width: 125px !important;
  1707. }
  1708. }
  1709. .yije{
  1710. .el-form-item__label{
  1711. width: 103px !important;
  1712. }
  1713. }
  1714. .roiyy {
  1715. position: fixed;
  1716. top: 95px;
  1717. left: 0;
  1718. width: 100%;
  1719. padding-left: 230px;
  1720. padding-right: 30px;
  1721. box-sizing: border-box;
  1722. z-index: 999;
  1723. }
  1724. .weiru {
  1725. .el-form-item__label {
  1726. width: 130px !important;
  1727. }
  1728. }
  1729. .manager_form {
  1730. margin-top: 30px;
  1731. .manager_lab {
  1732. .el-form-item__label {
  1733. width: 145px !important;
  1734. }
  1735. }
  1736. .maneg_lar {
  1737. position: relative;
  1738. .el-form-item__label {
  1739. width: 134px !important;
  1740. }
  1741. span {
  1742. position: absolute;
  1743. left: -95%;
  1744. }
  1745. }
  1746. .manager_labtwo {
  1747. .el-form-item__label {
  1748. width: 244px !important;
  1749. }
  1750. }
  1751. .manager_labthre {
  1752. // .el-form-item{
  1753. margin-bottom: 20px;
  1754. .el-form-item__label {
  1755. width: 137px !important;
  1756. }
  1757. margin-right: 40px !important;
  1758. // }
  1759. }
  1760. .ieuyr {
  1761. .el-textarea__inner {
  1762. height: 80px !important;
  1763. }
  1764. }
  1765. .mage_ter {
  1766. .el-form-item__label {
  1767. width: 137px !important;
  1768. }
  1769. }
  1770. // .mage_tergt{
  1771. // .el-form-item__label {
  1772. // width: 55.5% !important;
  1773. // }
  1774. // }
  1775. .maget_ty {
  1776. .el-form-item__label {
  1777. width: 140px !important;
  1778. }
  1779. }
  1780. .yijeu {
  1781. .el-form-item__label {
  1782. width: 90px !important;
  1783. }
  1784. }
  1785. .maget_tyty {
  1786. .el-form-item__label {
  1787. width: 140px !important;
  1788. }
  1789. }
  1790. .fenpe {
  1791. margin-right: 0 !important;
  1792. .el-form-item__label {
  1793. width: 111px !important;
  1794. }
  1795. }
  1796. .forieu {
  1797. border: 1px solid #dcdfe6;
  1798. border-radius: 4px;
  1799. width: 480px;
  1800. height: 90px;
  1801. position: relative;
  1802. margin-right: 0 !important;
  1803. .bure {
  1804. position: absolute;
  1805. right: 20px;
  1806. top: 50%;
  1807. transform: translateY(-50%);
  1808. }
  1809. .burert {
  1810. .el-upload--picture-card {
  1811. height: 78px;
  1812. line-height: 78px;
  1813. width: 80px;
  1814. vertical-align: center;
  1815. border: 0 !important;
  1816. background-color: #fff;
  1817. }
  1818. .el-upload-list--picture-card .el-upload-list__item {
  1819. height: 78px !important;
  1820. width: 78px !important;
  1821. }
  1822. }
  1823. }
  1824. }
  1825. .gueigntwo {
  1826. .el-form-item__label {
  1827. width: 180px !important;
  1828. }
  1829. }
  1830. .gueignthr {
  1831. .el-form-item__label {
  1832. width: 200px !important;
  1833. }
  1834. }
  1835. .lage_div {
  1836. padding-left: 15px;
  1837. display: flex;
  1838. align-items: center;
  1839. margin-bottom: 22px;
  1840. .el-form-item {
  1841. margin-bottom: 0 !important;
  1842. }
  1843. }
  1844. .app-conta {
  1845. .header {
  1846. padding-left: 22px;
  1847. height: 45px;
  1848. line-height: 40px;
  1849. background-color: #f1f1f1;
  1850. font-size: 18px;
  1851. color: #343434;
  1852. margin-bottom: 40px;
  1853. }
  1854. // .naue{
  1855. // border: 1px solid #DADADA;
  1856. // padding: 20px;
  1857. // margin-top: 40px;
  1858. .nuae_wtu {
  1859. display: flex;
  1860. justify-content: center;
  1861. align-content: center;
  1862. .naue_one {
  1863. width: 30%;
  1864. p {
  1865. font-size: 12px;
  1866. font-family: PingFang SC;
  1867. font-weight: 400;
  1868. color: #343434;
  1869. }
  1870. .naue_name {
  1871. font-size: 14px;
  1872. font-family: PingFang SC;
  1873. font-weight: bold;
  1874. color: #0669b2;
  1875. margin-bottom: 30px;
  1876. }
  1877. }
  1878. .naue_two {
  1879. flex: 1;
  1880. padding-top: 20px;
  1881. // display: flex;
  1882. // align-items: center;
  1883. // justify-content: center;
  1884. }
  1885. }
  1886. //tab
  1887. .naue_tab {
  1888. border-bottom: 1px solid #cdcdcd;
  1889. display: flex;
  1890. margin-top: 30px;
  1891. padding: 0 10px;
  1892. margin-bottom: 30px;
  1893. p {
  1894. font-size: 14px;
  1895. font-family: PingFang SC;
  1896. font-weight: 700;
  1897. color: #343434;
  1898. padding: 11px 15px;
  1899. margin: 0;
  1900. }
  1901. .p {
  1902. border-bottom: 2px solid #1c84c6;
  1903. margin-bottom: -1px;
  1904. }
  1905. }
  1906. .mation {
  1907. .enterprise {
  1908. font-size: 14px;
  1909. font-family: PingFang SC;
  1910. font-weight: bold;
  1911. color: #1c84c6;
  1912. margin-top: 25px;
  1913. margin-bottom: 20px;
  1914. }
  1915. .enterprise_tw {
  1916. cursor: pointer;
  1917. i {
  1918. margin-right: 5px;
  1919. }
  1920. font-size: 14px;
  1921. font-family: PingFang SC;
  1922. font-weight: 600;
  1923. color: #666666;
  1924. }
  1925. }
  1926. // }
  1927. .nvestor {
  1928. margin-bottom: 10px;
  1929. p {
  1930. margin: 0;
  1931. font-size: 14px;
  1932. font-family: PingFang SC;
  1933. font-weight: bold;
  1934. color: #343434;
  1935. height: 24px;
  1936. line-height: 24px;
  1937. border-left: 3px solid #1c84c6;
  1938. padding-left: 13px;
  1939. i {
  1940. color: red;
  1941. }
  1942. }
  1943. }
  1944. .souu {
  1945. font-size: 14px;
  1946. font-family: PingFang SC;
  1947. font-weight: 400;
  1948. color: #343434;
  1949. margin-left: 5px;
  1950. }
  1951. }
  1952. //在建项目
  1953. .nstruction {
  1954. display: flex;
  1955. align-items: center;
  1956. .nstruction_nav {
  1957. display: flex;
  1958. align-items: center;
  1959. p:nth-child(1) {
  1960. margin-right: 10px;
  1961. span {
  1962. font-size: 14px;
  1963. font-family: PingFang SC;
  1964. font-weight: bold;
  1965. color: #343434;
  1966. }
  1967. span:nth-child(1) {
  1968. color: #df0024;
  1969. }
  1970. }
  1971. p:nth-child(2) {
  1972. width: 233px;
  1973. height: 30px;
  1974. line-height: 30px;
  1975. border: 1px solid #cdcdcd;
  1976. border-radius: 3px;
  1977. padding-left: 14px;
  1978. }
  1979. }
  1980. .nstruction_navne {
  1981. margin-left: 50px;
  1982. display: flex;
  1983. align-items: center;
  1984. p:nth-child(1) {
  1985. margin-right: 10px;
  1986. span {
  1987. font-size: 14px;
  1988. font-family: PingFang SC;
  1989. font-weight: bold;
  1990. color: #343434;
  1991. }
  1992. span:nth-child(1) {
  1993. color: #df0024;
  1994. }
  1995. }
  1996. p:nth-child(2) {
  1997. width: 233px;
  1998. height: 30px;
  1999. line-height: 30px;
  2000. border: 1px solid #cdcdcd;
  2001. border-radius: 3px;
  2002. padding-left: 14px;
  2003. }
  2004. }
  2005. }
  2006. .kaieu {
  2007. padding-left: 60px;
  2008. font-size: 14px;
  2009. font-family: PingFang SC;
  2010. font-weight: 800;
  2011. color: #343434;
  2012. }
  2013. .kaieu_tw {
  2014. padding-left: 60px;
  2015. font-size: 14px;
  2016. font-family: PingFang SC;
  2017. font-weight: 500;
  2018. color: #666666;
  2019. }
  2020. .bgteu{
  2021. border: 1px solid #dcdfe6;
  2022. border-radius: 4px;
  2023. padding: 10px ;
  2024. }
  2025. </style>