index.vue 55 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853
  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="handleAudit"
  8. v-hasPermi="['projectConstruction:construction:add']"
  9. >提交</el-button
  10. >
  11. <el-button
  12. type="primary"
  13. @click="submitCtion"
  14. v-hasPermi="['projectConstruction:construction:add']"
  15. v-if="tab == 0 || tab == 3"
  16. >暂存</el-button
  17. >
  18. </el-col>
  19. <el-col :span="1.5">
  20. <el-button type="primary" @click="handleUpdatex">取消</el-button>
  21. </el-col>
  22. <el-col :span="1.5">
  23. <el-button type="primary" @click="nextYg" v-if="tab == 1 || tab == 2"
  24. >下一页</el-button
  25. >
  26. </el-col>
  27. <el-col :span="1.5" :offset="18" v-if="setrd % 2 == 0">
  28. <el-button
  29. type="danger"
  30. @click="applyBtn"
  31. v-hasPermi="['bmProject:project:pass']"
  32. >审核</el-button
  33. >
  34. <el-button
  35. type="danger"
  36. @click="backBtn"
  37. v-hasPermi="['bmProject:project:reject']"
  38. >驳回</el-button
  39. >
  40. </el-col>
  41. <!-- <el-col :span="1.5" :offset="18">
  42. <el-button
  43. type="danger"
  44. @click="handleAudit"
  45. v-hasPermi="['bmProject:project:pass']"
  46. v-if="tab == 0 || tab == 3"
  47. >确认审核</el-button>
  48. </el-col> -->
  49. </el-row>
  50. <div class="nauer">
  51. <!-- 在建项目 -->
  52. <div>
  53. <div class="nstruction">
  54. <div class="nstruction_nav">
  55. <p>
  56. <span>*</span>
  57. <span>合同约定开工时间:</span>
  58. </p>
  59. <p>{{ queryParamstwr.orderBeginTime }}</p>
  60. </div>
  61. <div class="nstruction_navne">
  62. <p>
  63. <span>*</span>
  64. <span> 合同约定竣工时间:</span>
  65. </p>
  66. <p>{{ queryParamstwr.orderEndTime }}</p>
  67. </div>
  68. </div>
  69. <div class="naue_tab">
  70. <p
  71. @click="tabClid(index)"
  72. v-for="(item, index) in tabNume"
  73. :key="index"
  74. :class="[tab == index ? 'p' : '']"
  75. >
  76. {{ item }}
  77. </p>
  78. </div>
  79. <!-- 内容 -->
  80. <div class="namjeu" v-if="tab == 0">
  81. <el-form
  82. :model="queryParamstwr"
  83. ref="queryForm"
  84. :rules="queryForm"
  85. :inline="true"
  86. v-show="showSearch"
  87. label-width="135px"
  88. label-position="center"
  89. class="manager_form"
  90. >
  91. <el-form-item
  92. label="施工许可证:"
  93. prop="constructionCode"
  94. class="maget_ty"
  95. >
  96. <div class="forieu" style="width: 618px">
  97. <div class="bure burert">
  98. <el-upload
  99. :action="defaultSettings.urls + process+'/common/upload'"
  100. :auto-upload="false"
  101. ref="uploadone"
  102. :before-upload="beforeAvatarUpload"
  103. list-type="picture-card"
  104. :on-preview="handlePictureCardPreview"
  105. :on-remove="handleRemove"
  106. :on-success="handleSuccpermit"
  107. :multiple="true"
  108. :disabled = "disfal"
  109. :file-list="fileListther"
  110. >
  111. <!-- <i slot="default" class="el-icon-plus"></i> -->
  112. <div class="ijeut">
  113. <el-button
  114. plain
  115. slot="trigger"
  116. size="small"
  117. type="primary"
  118. :disabled = "disfal"
  119. >选择图片</el-button
  120. >
  121. <!-- margin-top: 15%; transform: translateY(-50%); -->
  122. </div>
  123. <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
  124. </el-upload>
  125. <div class="ijeut">
  126. <el-button
  127. style="margin-left: 10px; height: 32px"
  128. size="small"
  129. type="primary"
  130. :disabled = "disfal"
  131. @click="submitUploaduccpermit"
  132. >开始上传</el-button
  133. >
  134. </div>
  135. </div>
  136. </div>
  137. </el-form-item>
  138. <el-form-item label="是否开工建设:" prop="isConstruction">
  139. <el-select
  140. v-model="queryParamstwr.isConstruction"
  141. placeholder="请选择"
  142. clearable
  143. :disabled = "disfal"
  144. size="small"
  145. style="width: 458px"
  146. >
  147. <el-option
  148. v-for="dict in typeOptions"
  149. :key="dict.dictValue"
  150. :label="dict.dictLabel"
  151. :value="dict.dictValue"
  152. />
  153. </el-select>
  154. </el-form-item>
  155. <el-form-item label=" 开工日期:">
  156. <el-date-picker
  157. type="date"
  158. placeholder="选择日期"
  159. :disabled = "disfal"
  160. v-model="queryParamstwr.constructionStartdate"
  161. style="width: 335px"
  162. ></el-date-picker>
  163. </el-form-item>
  164. <el-form-item label="预计完工日期:">
  165. <el-date-picker
  166. type="date"
  167. :disabled = "disfal"
  168. placeholder="选择日期"
  169. v-model="queryParamstwr.constructionEnddate"
  170. style="width: 335px"
  171. ></el-date-picker>
  172. </el-form-item>
  173. <el-form-item label="施工合同:" prop="configType" class="maget_ty">
  174. <div class="forieu" style="width: 618px">
  175. <div class="bure burert">
  176. <el-upload
  177. :action="defaultSettings.urls + process+'/common/upload'"
  178. :auto-upload="false"
  179. ref="uploadtwo"
  180. :before-upload="beforeAvatarUpload"
  181. list-type="picture-card"
  182. :on-preview="handlePictureCardPreview"
  183. :on-remove="handleRemove"
  184. :multiple="true"
  185. :on-success="handleSuccontract"
  186. :file-list="fileListfour"
  187. :disabled = "disfal"
  188. >
  189. <!-- <i slot="default" class="el-icon-plus"></i> -->
  190. <div class="ijeut">
  191. <el-button
  192. plain
  193. slot="trigger"
  194. size="small"
  195. type="primary"
  196. :disabled = "disfal"
  197. >选择图片</el-button
  198. >
  199. <!-- margin-top: 15%; transform: translateY(-50%); -->
  200. </div>
  201. <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
  202. </el-upload>
  203. <div class="ijeut">
  204. <el-button
  205. style="margin-left: 10px; height: 32px"
  206. size="small"
  207. type="primary"
  208. :disabled = "disfal"
  209. @click="submitUploaduccontract"
  210. >开始上传</el-button
  211. >
  212. </div>
  213. </div>
  214. </div>
  215. </el-form-item>
  216. <el-form-item label="开工照片:" prop="configType" class="maget_ty">
  217. <div class="forieu" style="width: 618px">
  218. <div class="bure burert">
  219. <el-upload
  220. :action="defaultSettings.urls + process+'/common/upload'"
  221. :auto-upload="false"
  222. ref="upload"
  223. :before-upload="beforeAvatarUpload"
  224. list-type="picture-card"
  225. :on-preview="handlePictureCardPreview"
  226. :on-remove="handleRemove"
  227. :on-success="handleSucc"
  228. :multiple="true"
  229. :disabled = "disfal"
  230. :file-list="fileListfive"
  231. >
  232. <!-- <i slot="default" class="el-icon-plus"></i> -->
  233. <div class="ijeut">
  234. <el-button
  235. plain
  236. slot="trigger"
  237. size="small"
  238. type="primary"
  239. :disabled = "disfal"
  240. >选择图片</el-button
  241. >
  242. <!-- margin-top: 15%; transform: translateY(-50%); -->
  243. </div>
  244. <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
  245. </el-upload>
  246. <div class="ijeut">
  247. <el-button
  248. style="margin-left: 10px; height: 32px"
  249. size="small"
  250. type="primary"
  251. @click="submitUpload"
  252. :disabled = "disfal"
  253. >开始上传</el-button
  254. >
  255. </div>
  256. </div>
  257. </div>
  258. </el-form-item>
  259. </el-form>
  260. <p class="kaieu_tw" @click="handleAdd(0)">
  261. <i class="el-icon-circle-plus-outline"></i> 添加开工照片
  262. </p>
  263. <el-table v-loading="loading" :data="configList">
  264. <!-- <el-table-column type="selection" width="55" align="center" /> -->
  265. <el-table-column label="时间" align="center" prop="createTime" />
  266. <el-table-column
  267. label="进度"
  268. align="center"
  269. prop="rateTypeName"
  270. :show-overflow-tooltip="true"
  271. />
  272. <el-table-column label="照片" align="center" prop="photo">
  273. <!-- class-name="small-padding fixed-width" -->
  274. <template slot-scope="scope">
  275. <div class="demo-image__preview">
  276. <el-image
  277. style="width: 100px; height: 100px"
  278. :src="scope.row.phototwo"
  279. :preview-src-list="scope.row.photo"
  280. >
  281. </el-image>
  282. </div>
  283. </template>
  284. </el-table-column>
  285. <el-table-column label="操作" align="center">
  286. <!-- class-name="small-padding fixed-width" -->
  287. <template slot-scope="scope">
  288. <el-button
  289. size="mini"
  290. type="danger"
  291. @click="handleDelete(scope.row)"
  292. v-hasPermi="['system:config:remove']"
  293. >删除</el-button
  294. >
  295. </template>
  296. </el-table-column>
  297. </el-table>
  298. <pagination
  299. v-if="totaltwo > 0 && tab == 0"
  300. :total="totaltwo"
  301. :page.sync="queryParamstwrction.pageNum"
  302. :limit.sync="queryParamstwrction.pageSize"
  303. @pagination="getListtoi"
  304. />
  305. </div>
  306. <div class="equipment" v-if="tab == 1">
  307. <p class="kaieu_tw" @click="quipment(1)">
  308. <i class="el-icon-circle-plus-outline"></i> 添加设备安装信息
  309. </p>
  310. <el-table v-loading="loading" :data="configListher">
  311. <!-- <el-table-column type="selection" width="55" align="center" /> -->
  312. <el-table-column label="时间" align="center" prop="createTime" />
  313. <el-table-column
  314. label="进度"
  315. align="center"
  316. prop="eqTypeName"
  317. :show-overflow-tooltip="true"
  318. />
  319. <el-table-column label="照片" align="center">
  320. <!-- class-name="small-padding fixed-width" -->
  321. <template slot-scope="scope">
  322. <div class="demo-image__preview">
  323. <el-image
  324. style="width: 100px; height: 100px"
  325. :src="scope.row.phototwo"
  326. :preview-src-list="scope.row.photo"
  327. >
  328. </el-image>
  329. </div>
  330. </template>
  331. </el-table-column>
  332. <el-table-column label="操作" align="center">
  333. <!-- class-name="small-padding fixed-width" -->
  334. <template slot-scope="scope">
  335. <el-button
  336. size="mini"
  337. type="danger"
  338. @click="handleDeletetwo(scope.row)"
  339. v-hasPermi="['system:config:remove']"
  340. >删除</el-button
  341. >
  342. </template>
  343. </el-table-column>
  344. </el-table>
  345. <pagination
  346. v-if="totalth > 0"
  347. :total="totalth"
  348. :page.sync="queryParamsstallation.pageNum"
  349. :limit.sync="queryParamsstallation.pageSize"
  350. @pagination="getListther"
  351. />
  352. </div>
  353. <div class="funding" v-if="tab == 2">
  354. <p class="kaieu">到资金额合计: {{ queryParamstwo }} 万元</p>
  355. <p class="kaieu_tw" @click="handleAdd(2)">
  356. <i class="el-icon-circle-plus-outline"></i> 添加项目到资
  357. </p>
  358. <el-table v-loading="loading" :data="configLisfour">
  359. <!-- <el-table-column type="selection" width="55" align="center" /> -->
  360. <el-table-column
  361. label="到资类型"
  362. align="center"
  363. prop="payForTypeName"
  364. :show-overflow-tooltip="true"
  365. />
  366. <el-table-column label="金额(单位:万元)" align="center" prop="payForMoney" />
  367. <el-table-column label="到资证明" align="center" prop="photo">
  368. <!-- class-name="small-padding fixed-width" -->
  369. <template slot-scope="scope">
  370. <div class="demo-image__preview">
  371. <el-image
  372. style="width: 100px; height: 100px"
  373. :src="scope.row.phototwo"
  374. :preview-src-list="scope.row.photo"
  375. >
  376. </el-image>
  377. </div>
  378. </template>
  379. </el-table-column>
  380. <el-table-column label="操作" align="center">
  381. <!-- class-name="small-padding fixed-width" -->
  382. <template slot-scope="scope">
  383. <el-button
  384. size="mini"
  385. type="danger"
  386. @click="handleDeletether(scope.row)"
  387. v-hasPermi="['system:config:remove']"
  388. >删除</el-button
  389. >
  390. </template>
  391. </el-table-column>
  392. </el-table>
  393. <pagination
  394. v-if="total > 0 && tab == 2"
  395. :total="total"
  396. :page.sync="queryParams.pageNum"
  397. :limit.sync="queryParams.pageSize"
  398. @pagination="getListfour"
  399. />
  400. </div>
  401. </div>
  402. <div class="namjeu" v-if="tab == 3">
  403. <el-form
  404. :model="queryParamstheyr"
  405. ref="queryFormtwo"
  406. :rules="queryFormtwo"
  407. :inline="true"
  408. v-show="showSearch"
  409. label-width="135px"
  410. label-position="center"
  411. class="manager_form"
  412. >
  413. <el-form-item label=" 入统时间:">
  414. <el-date-picker
  415. type="date"
  416. :disabled = "disfal"
  417. placeholder="选择日期"
  418. v-model="queryParamstheyr.statisticsDate"
  419. style="width: 335px"
  420. ></el-date-picker>
  421. </el-form-item>
  422. <el-form-item
  423. label="入统截图:"
  424. prop="configType"
  425. class="maget_ty maget_tyty"
  426. >
  427. <div class="forieu" style="width: 618px">
  428. <div class="bure burert">
  429. <el-upload
  430. :action="defaultSettings.urls + process+'/common/upload'"
  431. :auto-upload="false"
  432. ref="upload"
  433. :before-upload="beforeAvatarUpload"
  434. list-type="picture-card"
  435. :on-preview="handlePictureCardPreview"
  436. :on-remove="handleRemove"
  437. :on-success="handleSuccntry"
  438. :multiple="true"
  439. :disabled = "disfal"
  440. :file-list="fileListthertwo"
  441. >
  442. <!-- <i slot="default" class="el-icon-plus"></i> -->
  443. <div class="ijeut">
  444. <el-button plain slot="trigger" :disabled = "disfal" size="small" type="primary"
  445. >选择图片</el-button
  446. >
  447. <!-- margin-top: 15%; transform: translateY(-50%); -->
  448. </div>
  449. <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
  450. </el-upload>
  451. <div class="ijeut">
  452. <el-button
  453. style="margin-left: 10px; height: 32px"
  454. size="small"
  455. type="primary"
  456. :disabled = "disfal"
  457. @click="submitUpload"
  458. >开始上传</el-button
  459. >
  460. </div>
  461. </div>
  462. </div>
  463. </el-form-item>
  464. </el-form>
  465. </div>
  466. </div>
  467. <el-dialog :visible.sync="dialogVisible">
  468. <img width="100%" :src="dialogImageUrl" alt="" />
  469. </el-dialog>
  470. <!-- 添加或修改参数配置对话框 -->
  471. <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
  472. <el-form ref="form" :model="form" :rules="rules" label-width="150px">
  473. <!-- <el-form-item label="时间" prop="configName">
  474. <el-date-picker type="date" placeholder="选择日期" v-model="form.createTime" style="width: 335px"></el-date-picker>
  475. </el-form-item> -->
  476. <el-form-item label="进度" prop="configKey">
  477. <el-select
  478. v-model="form.rateType"
  479. placeholder="选择进度"
  480. clearable
  481. :disabled = "disfal"
  482. size="small"
  483. style="width: 458px"
  484. >
  485. <el-option
  486. v-for="dict in typeOptionstwo"
  487. :key="dict.dictValue"
  488. :label="dict.dictLabel"
  489. :value="dict.dictValue"
  490. />
  491. </el-select>
  492. </el-form-item>
  493. <el-form-item label="图片" prop="configValue">
  494. <el-upload
  495. class="upload-demo"
  496. ref="upload"
  497. :action="defaultSettings.urls + process+'/common/upload'"
  498. :on-preview="handlePreviewther"
  499. :on-remove="handleRemovether"
  500. :on-success="handleSuccther"
  501. :file-list="fileListtherrt"
  502. :auto-upload="false"
  503. :multiple="true"
  504. list-type="picture"
  505. :disabled = "disfal"
  506. >
  507. <el-button slot="trigger" :disabled = "disfal" size="small" type="primary"
  508. >选取文件</el-button
  509. >
  510. <el-button
  511. style="margin-left: 10px"
  512. size="small"
  513. type="success"
  514. :disabled = "disfal"
  515. @click="submitUploadther"
  516. >上传到服务器</el-button
  517. >
  518. <div slot="tip" class="el-upload__tip">
  519. 只能上传jpg/png文件,且不超过500kb
  520. </div>
  521. </el-upload>
  522. </el-form-item>
  523. </el-form>
  524. <div slot="footer" class="dialog-footer">
  525. <el-button type="primary" @click="submitForm">确 定</el-button>
  526. <el-button @click="cancel">取 消</el-button>
  527. </div>
  528. </el-dialog>
  529. <!-- //设备安装 -->
  530. <el-dialog
  531. :title="titletwo"
  532. :visible.sync="opentwo"
  533. width="800px"
  534. append-to-body
  535. :close-on-click-modal="false"
  536. >
  537. <el-form
  538. ref="formtwo"
  539. :model="formtwo"
  540. :rules="rulestwo"
  541. label-width="150px"
  542. >
  543. <!-- <el-form-item label="时间" prop="configName">
  544. <el-date-picker type="date" placeholder="选择日期" v-model="form.createTime" style="width: 335px"></el-date-picker>
  545. </el-form-item> -->
  546. <el-form-item label="进度" prop="configKey">
  547. <el-select
  548. v-model="formtwo.eqType"
  549. placeholder="选择进度"
  550. clearable
  551. :disabled = "disfal"
  552. size="small"
  553. style="width: 458px"
  554. >
  555. <el-option
  556. v-for="dict in typeOptionsther"
  557. :key="dict.dictValue"
  558. :label="dict.dictLabel"
  559. :value="dict.dictValue"
  560. />
  561. </el-select>
  562. </el-form-item>
  563. <el-form-item label="图片" prop="configValue">
  564. <el-upload
  565. class="upload-demo"
  566. ref="upload"
  567. :action="defaultSettings.urls + process+'/common/upload'"
  568. :on-preview="handlePreviewther"
  569. :on-remove="handleRemovether"
  570. :on-success="handleSuccther"
  571. :file-list="fileListtherrt"
  572. :auto-upload="false"
  573. :multiple="true"
  574. :disabled = "disfal"
  575. list-type="picture"
  576. >
  577. <el-button slot="trigger" :disabled = "disfal" size="small" type="primary"
  578. >选取文件</el-button
  579. >
  580. <!-- :disabled = "disfal" -->
  581. <!-- -->
  582. <el-button
  583. style="margin-left: 10px"
  584. size="small"
  585. type="success"
  586. :disabled = "disfal"
  587. @click="submitUploadther"
  588. >上传到服务器</el-button
  589. >
  590. <div slot="tip" class="el-upload__tip">
  591. 只能上传jpg/png文件,且不超过500kb
  592. </div>
  593. </el-upload>
  594. </el-form-item>
  595. </el-form>
  596. <div slot="footer" class="dialog-footer">
  597. <el-button type="primary" @click="submitForm">确 定</el-button>
  598. <el-button @click="cancel">取 消</el-button>
  599. </div>
  600. </el-dialog>
  601. <!-- 项目到资 -->
  602. <el-dialog
  603. :title="titlether"
  604. :visible.sync="openther"
  605. width="800px"
  606. append-to-body
  607. :close-on-click-modal="false"
  608. >
  609. <el-form
  610. ref="formther"
  611. :model="formther"
  612. :rules="rulesther"
  613. label-width="150px"
  614. >
  615. <el-form-item label="到资类型" prop="payForType">
  616. <el-select
  617. v-model="formther.payForType"
  618. placeholder="选择到资类型"
  619. clearable
  620. size="small"
  621. :disabled = "disfal"
  622. style="width: 458px"
  623. >
  624. <el-option
  625. v-for="dict in typeOptionsfour"
  626. :key="dict.dictValue"
  627. :label="dict.dictLabel"
  628. :value="dict.dictValue"
  629. />
  630. </el-select>
  631. </el-form-item>
  632. <el-form-item label="到资金额(单位:万元)" prop="payForMoney">
  633. <el-input
  634. v-model="formther.payForMoney"
  635. placeholder="输入数字"
  636. clearable
  637. :disabled = "disfal"
  638. size="small"
  639. style="width: 458px"
  640. @keyup.enter.native="handleQuery"
  641. />
  642. </el-form-item>
  643. <el-form-item label="图片" prop="photo">
  644. <el-upload
  645. class="upload-demo"
  646. ref="upload"
  647. :action="defaultSettings.urls + process+'/common/upload'"
  648. :on-preview="handlePreviewther"
  649. :on-remove="handleRemovether"
  650. :on-success="handleSuccther"
  651. :on-change="handleChange"
  652. :file-list="fileListtherrt"
  653. :auto-upload="false"
  654. :multiple="true"
  655. :disabled = "disfal"
  656. list-type="picture"
  657. >
  658. <el-button slot="trigger" :disabled = "disfal" size="small" type="primary"
  659. >选取文件</el-button
  660. >
  661. <el-button
  662. style="margin-left: 10px"
  663. size="small"
  664. type="success"
  665. :disabled = "disfal"
  666. @click="submitUploadther"
  667. >上传到服务器</el-button
  668. >
  669. <div slot="tip" class="el-upload__tip">
  670. 只能上传jpg/png文件,且不超过500kb
  671. </div>
  672. </el-upload>
  673. </el-form-item>
  674. </el-form>
  675. <div slot="footer" class="dialog-footer">
  676. <el-button type="primary" @click="submitForm">确 定</el-button>
  677. <el-button @click="cancel">取 消</el-button>
  678. </div>
  679. </el-dialog>
  680. </div>
  681. </template>
  682. <script>
  683. import {
  684. listConfig,
  685. listConfigfive,
  686. listConfigsix,
  687. listConfigserve,
  688. listConfigfunding,
  689. listConfigarrival,
  690. listConfigintegration,
  691. getConfig,
  692. delConfig,
  693. delConfigther,
  694. delConfigfour,
  695. delConfigfive,
  696. addConfig,
  697. addConfigther,
  698. addConfigfour,
  699. addConfigfiv,
  700. addConfigtherction,
  701. addConfigsix,
  702. addConfigbout,
  703. updateConfig,
  704. updateConfigatruction,
  705. updateConfigntegration,
  706. exportConfig,
  707. clearCache,
  708. } from "@/api/system/config";
  709. const defaultSettings = require("@/settings.js");
  710. import{
  711. setExamine,
  712. setReject
  713. } from "@/api/projectInfo/info.js";
  714. export default {
  715. name: "Config",
  716. data() {
  717. return {
  718. process: process.env.VUE_APP_BASE_API,
  719. defaultSettings,
  720. disfal:false,
  721. // 遮罩层
  722. loading: true,
  723. //步骤条
  724. naueactive: 2,
  725. tab: 0,
  726. tabNume: ["项目施工", "设备安装", "项目到资", "项目入统"],
  727. // 选中数组
  728. ids: [],
  729. // 非单个禁用
  730. single: true,
  731. // 非多个禁用
  732. multiple: true,
  733. // 显示搜索条件
  734. showSearch: true,
  735. // 总条数
  736. total: 0,
  737. totaltwo: 0,
  738. totalth: 0,
  739. open: false,
  740. opentwo: false,
  741. openther: false,
  742. typeOptions: [],
  743. typeOptionstwo: [],
  744. typeOptionsther: [],
  745. typeOptionsfour: [],
  746. // 参数表格数据
  747. configList: [],
  748. configListwo: [],
  749. configListher: [],
  750. configLisfour: [],
  751. fileListtherrt: [], //弹框里的
  752. fileListfour: [],
  753. fileListfive: [],
  754. fileListthertwo: [],
  755. fileList: [{ name: "", url: "" }],
  756. fileListther: [],
  757. // 弹出层标题
  758. title: "",
  759. titletwo: "",
  760. titlether: "",
  761. dialogImageUrl: "",
  762. dialogVisible: false,
  763. disabled: false,
  764. // 查询参数
  765. queryParams: {
  766. pageNum: 1,
  767. pageSize: 10,
  768. configName: undefined,
  769. configKey: undefined,
  770. configType: undefined,
  771. },
  772. queryParamstwo: 0,
  773. queryParamstheyr: {},
  774. queryParamstwr: {},
  775. queryParamstwrction: {
  776. pageNum: 1,
  777. pageSize: 10,
  778. },
  779. queryParamsstallation: {
  780. pageNum: 1,
  781. pageSize: 10,
  782. },
  783. // 表单参数
  784. form: {},
  785. formtwo: {},
  786. formther: {},
  787. bmProjectId: 0,
  788. bmjdeu: {
  789. bmProjectId: 0,
  790. },
  791. imagese: [],
  792. numhu: 0, //判断
  793. // 添加开工照片表单校验
  794. rules: {
  795. rateType: [
  796. { required: true, message: '请选择进度', trigger: 'change' }
  797. ]
  798. // configKey: [
  799. // { required: true, message: "参数键名不能为空", trigger: "blur" }
  800. // ],
  801. // configValue: [
  802. // { required: true, message: "参数键值不能为空", trigger: "blur" }
  803. // ]
  804. },
  805. // 项目施工
  806. queryForm:{
  807. isConstruction: [
  808. { required: true, message: "请选择 是否开工建设", trigger: "blur" }
  809. ],
  810. constructionStartdate: [
  811. { type: 'date', required: true, message: '请选择开工时间', trigger: 'change' }
  812. ],
  813. constructionEnddate: [
  814. { type: 'date', required: true, message: '请选择预计完工时间', trigger: 'change' }
  815. ]
  816. },
  817. //项目入统
  818. queryFormtwo:{
  819. statisticsDate: [
  820. { type: 'date', required: true, message: '请选择入统时间', trigger: 'change' }
  821. ]
  822. },
  823. rulestwo: {},
  824. rulesther: {
  825. payForMoney: [
  826. { required: true, message: '请输入金额', trigger: 'change' }
  827. ]
  828. },
  829. //开工照片
  830. onstruction: [],
  831. permit: [],
  832. ontract: [],
  833. ntry: [],
  834. modify: 0, //判断是修改还是新增 新增0 修改 1
  835. ermit: [],
  836. ontractr: [],
  837. ruction: [],
  838. queryFormhye: {},
  839. udgment: 0, //项目入统判断是新增 还是修改 新增0 修改1
  840. udgmentList: [],
  841. };
  842. },
  843. created() {
  844. this.bmProjectId = this.$route.query.setid;
  845. this.bmjdeu.bmProjectId = this.$route.query.setid;
  846. this.queryParamsstallation.bmProjectId = this.$route.query.setid;
  847. this.queryParams.bmProjectId = this.$route.query.setid;
  848. this.setrd = this.$route.query.setrd;
  849. if(this.setrd != 5){
  850. this.disfal = true
  851. }else{
  852. this.disfal = false
  853. }
  854. console.log(this.bmjdeu);
  855. this.getList();
  856. this.getListtoi();
  857. // this.getListther()
  858. // this.getListfour()
  859. // this.getListfive()
  860. // this.getListsix()
  861. this.getDicts("sys_yes_no").then((response) => {
  862. this.typeOptions = response.data;
  863. });
  864. this.getDicts("project_rate").then((response) => {
  865. this.typeOptionstwo = response.data;
  866. });
  867. this.getDicts("project_schedule").then((response) => {
  868. this.typeOptionsther = response.data;
  869. });
  870. this.getDicts("project_pay").then((response) => {
  871. this.typeOptionsfour = response.data;
  872. });
  873. },
  874. methods: {
  875. //审核
  876. applyBtn() {
  877. var that=this
  878. this.$confirm("是否确认审核", "提醒", {
  879. confirmButtonText: "确定",
  880. cancelButtonText: "取消",
  881. type: "warning",
  882. })
  883. .then(function () {
  884. return setExamine({
  885. code: 3,
  886. bmProjectId: that.bmProjectId,
  887. });
  888. })
  889. .then(() => {
  890. this.$router.go(-1);
  891. this.getList();
  892. this.msgSuccess("审核成功");
  893. });
  894. },
  895. //驳回
  896. backBtn() {
  897. var that=this
  898. this.$prompt("请输入驳回意见", "提醒", {
  899. confirmButtonText: "确定",
  900. cancelButtonText: "取消",
  901. type: "warning",
  902. })
  903. .then(({ value }) => {
  904. return setReject({
  905. code: 2,
  906. bmProjectId: that.bmProjectId,
  907. remark:value
  908. });
  909. })
  910. .then(() => {
  911. this.$router.go(-1);
  912. this.getList();
  913. this.msgSuccess("驳回成功");
  914. });
  915. },
  916. handleChange(file, fileList){
  917. console.log(file, fileList)
  918. },
  919. beforeAvatarUpload(file) {
  920. console.log(file);
  921. },
  922. submitUpload() {
  923. this.$refs.upload.submit();
  924. },
  925. //施工许可证
  926. submitUploaduccpermit() {
  927. console.log(34);
  928. this.$refs.uploadone.submit();
  929. },
  930. //施工合同
  931. submitUploaduccontract() {
  932. this.$refs.uploadtwo.submit();
  933. },
  934. handleRemove(file) {
  935. console.log(file);
  936. },
  937. //开工合同
  938. handleSucc(response, file, fileList) {
  939. console.log(file.response.url);
  940. this.onstruction.push(file.response.url);
  941. this.queryParamstwr.constructionPhoto = this.onstruction.join(",");
  942. },
  943. //施工许可证照片
  944. handleSuccpermit(response, file, fileList) {
  945. console.log(file.response.url);
  946. this.permit.push(file.response.url);
  947. this.queryParamstwr.constructionCode = this.permit.join(",");
  948. },
  949. //施工合同
  950. handleSuccontract(response, file, fileList) {
  951. // this.ontract = []
  952. this.ontract.push(file.response.url);
  953. this.queryParamstwr.constructionDoc = this.ontract.join(",");
  954. },
  955. // 入统截图
  956. handleSuccntry(response, file, fileList) {
  957. // this.ontract = []
  958. this.ntry.push(file.response.url);
  959. this.queryParamstheyr.statisticsPhoto = this.ntry.join(",");
  960. },
  961. handlePictureCardPreview(file) {
  962. this.dialogImageUrl = file.url;
  963. this.dialogVisible = true;
  964. },
  965. handleDownload(file) {
  966. console.log(file);
  967. },
  968. handleRemovetwo(file, fileList) {
  969. console.log(file, fileList);
  970. },
  971. handlePreviewtwo(file) {
  972. console.log(file);
  973. },
  974. handleExceedtwo(files, fileList) {
  975. this.$message.warning(
  976. `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
  977. files.length + fileList.length
  978. } 个文件`
  979. );
  980. },
  981. beforeRemovetwo(file, fileList) {
  982. return this.$confirm(`确定移除 ${file.name}?`);
  983. },
  984. submitUploadther() {
  985. this.$refs.upload.submit();
  986. },
  987. handleRemovether(file, fileList) {
  988. // console.log(file, fileList);
  989. },
  990. handlePreviewther(file) {
  991. console.log(file, 45);
  992. },
  993. handleSuccther(response, file, fileList) {
  994. // let imges = []
  995. this.imagese.push(file.response.url);
  996. console.log(this.imagese.join(","), 345);
  997. if (this.numhu == 0) {
  998. this.form.photo = this.imagese.join(",");
  999. } else if (this.numhu == 1) {
  1000. this.formtwo.photo = this.imagese.join(",");
  1001. } else if (this.numhu == 2) {
  1002. this.formther.photo = this.imagese.join(",");
  1003. }
  1004. console.log(this.form.photo);
  1005. if (file.response.code == 200) {
  1006. this.msgSuccess("上传成功");
  1007. }
  1008. console.log(response.url, file, fileList);
  1009. },
  1010. /** 查询参数列表 */
  1011. getList() {
  1012. this.loading = true;
  1013. listConfigfive(this.bmProjectId).then((response) => {
  1014. this.fileListther = [];
  1015. this.fileListfour = [];
  1016. this.fileListfive = [];
  1017. // this.ermit = []
  1018. if (response.data !== undefined) {
  1019. //修改
  1020. this.queryParamstwr = response.data;
  1021. this.modify = 1;
  1022. if (this.queryParamstwr.constructionCode !== null) {
  1023. this.ermit = this.queryParamstwr.constructionCode.split(",");
  1024. console.log(this.ermit, 90);
  1025. for (var i = 0; i < this.ermit.length; i++) {
  1026. this.fileListther.push({
  1027. name: this.ermit[i],
  1028. url: this.ermit[i],
  1029. });
  1030. }
  1031. }
  1032. if (this.queryParamstwr.constructionDoc !== null) {
  1033. this.ontractr = this.queryParamstwr.constructionDoc.split(",");
  1034. console.log(this.ontractr, 80);
  1035. for (var i = 0; i < this.ontractr.length; i++) {
  1036. this.fileListfour.push({
  1037. name: this.ontractr[i],
  1038. url: this.ontractr[i],
  1039. });
  1040. }
  1041. }
  1042. if (this.queryParamstwr.constructionPhoto !== null) {
  1043. this.ruction = this.queryParamstwr.constructionPhoto.split(",");
  1044. console.log(this.ruction, 70);
  1045. for (var i = 0; i < this.ruction.length; i++) {
  1046. this.fileListfive.push({
  1047. name: this.ruction[i],
  1048. url: this.ruction[i],
  1049. });
  1050. }
  1051. }
  1052. } else {
  1053. //新增
  1054. this.queryParamstwr = {};
  1055. this.modify = 0;
  1056. }
  1057. this.total = response.total;
  1058. this.loading = false;
  1059. });
  1060. },
  1061. //开工图片列表
  1062. getListtoi() {
  1063. this.loading = true;
  1064. listConfigsix(this.queryParamstwrction).then((response) => {
  1065. this.configList = response.rows;
  1066. this.configList.filter((route) => {
  1067. if (route.photo !== null) {
  1068. let poku = [];
  1069. poku = route.photo.split(",");
  1070. route.photo = route.photo.split(",");
  1071. route.phototwo = route.photo[0];
  1072. console.log(route.phototwo);
  1073. console.log(route.photo);
  1074. // route.photo = []
  1075. // for(var i = 0; i < poku.length; i++){
  1076. // route.photo.push({name:poku[i],ulr:poku[i]})
  1077. // }
  1078. }
  1079. });
  1080. this.totaltwo = response.total;
  1081. this.loading = false;
  1082. });
  1083. },
  1084. //设备安装接口
  1085. getListther() {
  1086. this.loading = true;
  1087. listConfigserve(this.queryParamsstallation).then((response) => {
  1088. this.configListher = response.rows;
  1089. this.configListher.filter((route) => {
  1090. if (route.photo !== null) {
  1091. let poku = [];
  1092. poku = route.photo.split(",");
  1093. route.photo = route.photo.split(",");
  1094. route.phototwo = route.photo[0];
  1095. console.log(route.phototwo);
  1096. console.log(route.photo);
  1097. }
  1098. });
  1099. this.totalth = response.total;
  1100. this.loading = false;
  1101. });
  1102. },
  1103. //项目到资列表接口
  1104. getListfour() {
  1105. this.loading = true;
  1106. listConfigfunding(this.queryParams).then((response) => {
  1107. this.configLisfour = response.rows;
  1108. this.configLisfour.filter((route) => {
  1109. if (route.photo !== null) {
  1110. let poku = [];
  1111. poku = route.photo.split(",");
  1112. route.photo = route.photo.split(",");
  1113. route.phototwo = route.photo[0];
  1114. console.log(route.phototwo);
  1115. console.log(route.photo);
  1116. }
  1117. });
  1118. this.total = response.total;
  1119. this.loading = false;
  1120. });
  1121. },
  1122. //项目到资查看接口
  1123. getListfive() {
  1124. this.loading = true;
  1125. listConfigarrival(this.bmjdeu).then((response) => {
  1126. if (response.data !== undefined) {
  1127. this.queryParamstwo = response.data;
  1128. } else {
  1129. }
  1130. this.loading = false;
  1131. });
  1132. },
  1133. //项目入统查看接口
  1134. getListsix() {
  1135. this.loading = true;
  1136. listConfigintegration(this.bmProjectId).then((response) => {
  1137. this.fileListthertwo = [];
  1138. if (response.data !== undefined) {
  1139. //修改
  1140. this.udgment = 1;
  1141. this.queryParamstheyr = response.data;
  1142. if (this.queryParamstheyr.statisticsPhoto !== null) {
  1143. this.udgmentList = this.queryParamstheyr.statisticsPhoto.split(",");
  1144. for (var i = 0; i < this.udgmentList.length; i++) {
  1145. this.fileListthertwo.push({
  1146. name: this.udgmentList[i],
  1147. url: this.udgmentList[i],
  1148. });
  1149. }
  1150. }
  1151. } else {
  1152. //新增
  1153. this.udgment = 0;
  1154. }
  1155. this.loading = false;
  1156. });
  1157. },
  1158. // 参数系统内置字典翻译
  1159. typeFormat(row, column) {
  1160. return this.selectDictLabel(this.typeOptions, row.configType);
  1161. },
  1162. // 取消按钮
  1163. cancel() {
  1164. this.open = false;
  1165. this.opentwo = false;
  1166. this.openther = false;
  1167. this.reset();
  1168. },
  1169. // 表单重置
  1170. reset() {
  1171. this.form = {
  1172. configId: undefined,
  1173. configName: undefined,
  1174. configKey: undefined,
  1175. configValue: undefined,
  1176. configType: "Y",
  1177. remark: undefined,
  1178. };
  1179. this.resetForm("form");
  1180. },
  1181. resettwo() {
  1182. this.form = {
  1183. // configId: undefined,
  1184. // configName: undefined,
  1185. // configKey: undefined,
  1186. // configValue: undefined,
  1187. // configType: "Y",
  1188. // remark: undefined
  1189. };
  1190. this.resetForm("formtwo");
  1191. },
  1192. /** 搜索按钮操作 */
  1193. handleQuery() {
  1194. this.queryParams.pageNum = 1;
  1195. this.getList();
  1196. },
  1197. /** 重置按钮操作 */
  1198. resetQuery() {
  1199. this.dateRange = [];
  1200. this.resetForm("queryForm");
  1201. this.handleQuery();
  1202. },
  1203. /** 新增按钮操作 */
  1204. handleAdd(index) {
  1205. this.numhu = index;
  1206. this.reset();
  1207. this.fileListtherrt = []
  1208. if (this.numhu == 0) {
  1209. this.open = true;
  1210. } else if (this.numhu == 2) {
  1211. this.openther = true;
  1212. }
  1213. this.title = "添加参数";
  1214. },
  1215. // 多选框选中数据
  1216. handleSelectionChange(selection) {
  1217. this.ids = selection.map((item) => item.configId);
  1218. this.single = selection.length != 1;
  1219. this.multiple = !selection.length;
  1220. },
  1221. /** 修改按钮操作 */
  1222. handleUpdate(row) {
  1223. this.reset();
  1224. const configId = row.configId || this.ids;
  1225. getConfig(configId).then((response) => {
  1226. this.form = response.data;
  1227. this.open = true;
  1228. this.title = "修改参数";
  1229. });
  1230. },
  1231. /** 提交按钮 */
  1232. submitForm: function () {
  1233. this.form.bmProjectId = this.bmProjectId;
  1234. this.formtwo.bmProjectId = this.bmProjectId;
  1235. this.formther.bmProjectId = this.bmProjectId;
  1236. console.log(this.numhu);
  1237. if (this.numhu == 0) {
  1238. this.$refs["form"].validate((valid) => {
  1239. if (valid) {
  1240. if(this.form.rateType == undefined){
  1241. this.msgSuccess("请选择进度");
  1242. return false
  1243. }
  1244. if(this.form.photo == undefined){
  1245. this.msgSuccess("请上传照片");
  1246. return false
  1247. }
  1248. addConfigther(this.form).then((response) => {
  1249. this.msgSuccess("新增成功");
  1250. this.open = false;
  1251. this.getListtoi();
  1252. });
  1253. }
  1254. });
  1255. } else if (this.numhu == 1) {
  1256. this.$refs["formtwo"].validate((valid) => {
  1257. if (valid) {
  1258. if(this.formtwo.eqType == undefined){
  1259. this.msgSuccess("请选择进度");
  1260. return false
  1261. }
  1262. if(this.formtwo.photo == undefined){
  1263. this.msgSuccess("请上传照片");
  1264. return false
  1265. }
  1266. addConfigfour(this.formtwo).then((response) => {
  1267. this.msgSuccess("新增成功");
  1268. this.opentwo = false;
  1269. this.getListther();
  1270. });
  1271. }
  1272. });
  1273. } else if (this.numhu == 2) {
  1274. console.log("步骤3");
  1275. this.$refs["formther"].validate((valid) => {
  1276. if (valid) {
  1277. if(this.formther.payForType == undefined){
  1278. this.msgSuccess("请选择进度");
  1279. return false
  1280. }
  1281. if(this.formther.payForMoney == undefined){
  1282. this.msgSuccess("请输入到资金额");
  1283. return false
  1284. }
  1285. if(this.formther.photo == undefined){
  1286. this.msgSuccess("请上传照片");
  1287. return false
  1288. }
  1289. addConfigfiv(this.formther).then((response) => {
  1290. this.msgSuccess("新增成功");
  1291. this.openther = false;
  1292. this.getListfour();
  1293. });
  1294. }
  1295. });
  1296. }
  1297. },
  1298. //项目施工提交按钮
  1299. submitCtion() {
  1300. // this.queryParamstheyr.bmProjectId = this.bmProjectId
  1301. // this.formther.bmProjectId = this.bmProjectId
  1302. console.log(this.numhu);
  1303. if (this.tab == 0) {
  1304. this.$refs["queryForm"].validate((valid) => {
  1305. if (valid) {
  1306. // if(this.queryParamstwr.constructionCode == ''){
  1307. // this.msgSuccess("请上传施工许可证");
  1308. // return false
  1309. // }
  1310. if (this.modify == 1) {
  1311. if(this.queryParamstwr.constructionCode == null){
  1312. this.msgSuccess("请上传施工许可证");
  1313. return false
  1314. }
  1315. if(this.queryParamstwr.constructionDoc == null){
  1316. this.msgSuccess("请上传施工施工合同");
  1317. return false
  1318. }
  1319. if(this.queryParamstwr.constructionPhoto == null){
  1320. this.msgSuccess("请上传开工合同");
  1321. return false
  1322. }
  1323. if(this.queryParamstwr.constructionEnddate == null){
  1324. this.msgSuccess("请选择预计完工日期");
  1325. return false
  1326. }
  1327. if(this.queryParamstwr.constructionStartdate == null){
  1328. this.msgSuccess("请选择开工日期");
  1329. return false
  1330. }
  1331. //修改
  1332. updateConfigatruction(this.queryParamstwr).then((response) => {
  1333. this.msgSuccess("修改成功");
  1334. this.open = false;
  1335. this.getListtoi();
  1336. this.$router.go(-1);
  1337. });
  1338. } else if (this.modify == 0) {
  1339. if(this.queryParamstwr.constructionCode == undefined){
  1340. this.msgSuccess("请上传施工许可证");
  1341. return false
  1342. }
  1343. if(this.queryParamstwr.constructionDoc == undefined){
  1344. this.msgSuccess("请上传施工施工合同");
  1345. return false
  1346. }
  1347. if(this.queryParamstwr.constructionPhoto == undefined){
  1348. this.msgSuccess("请上传开工合同");
  1349. return false
  1350. }
  1351. if(this.queryParamstwr.constructionEnddate == undefined){
  1352. this.msgSuccess("请选择预计完工日期");
  1353. return false
  1354. }
  1355. if(this.queryParamstwr.constructionStartdate == undefined){
  1356. this.msgSuccess("请选择开工日期");
  1357. return false
  1358. }
  1359. //新增
  1360. this.queryParamstwr.bmProjectId = this.bmProjectId;
  1361. addConfigtherction(this.queryParamstwr).then((response) => {
  1362. this.msgSuccess("新增成功");
  1363. this.open = false;
  1364. this.getListtoi();
  1365. this.$router.go(-1);
  1366. });
  1367. }
  1368. }
  1369. });
  1370. } else if (this.tab == 3) {
  1371. this.$refs["queryFormtwo"].validate((valid) => {
  1372. if (valid) {
  1373. if (this.udgment == 1) {
  1374. if(this.queryParamstheyr.statisticsDate == null){
  1375. this.msgSuccess("请选择入统日期");
  1376. return false
  1377. }
  1378. if(this.queryParamstheyr.statisticsPhoto == null){
  1379. this.msgSuccess("请上传入统截图");
  1380. return false
  1381. }
  1382. //修改
  1383. updateConfigntegration(this.queryParamstheyr).then((response) => {
  1384. this.msgSuccess("修改成功");
  1385. this.open = false;
  1386. // this.getListtoi();
  1387. this.$router.go(-1);
  1388. });
  1389. } else {
  1390. if(this.queryParamstheyr.statisticsDate == undefined){
  1391. this.msgSuccess("请选择入统日期");
  1392. return false
  1393. }
  1394. if(this.queryParamstheyr.statisticsPhoto == undefined){
  1395. this.msgSuccess("请上传入统截图");
  1396. return false
  1397. }
  1398. this.queryParamstheyr.bmProjectId = this.bmProjectId;
  1399. addConfigsix(this.queryParamstheyr).then((response) => {
  1400. this.msgSuccess("新增成功");
  1401. this.opentwo = false;
  1402. // this.getListther();
  1403. this.$router.go(-1);
  1404. });
  1405. }
  1406. }
  1407. });
  1408. }
  1409. },
  1410. /** 开工照片删除按钮操作 */
  1411. handleDelete(row) {
  1412. const configIds = row.id;
  1413. this.$confirm(
  1414. '是否确认删除"' + configIds + '"的数据项?',
  1415. "警告",
  1416. {
  1417. confirmButtonText: "确定",
  1418. cancelButtonText: "取消",
  1419. type: "warning",
  1420. }
  1421. )
  1422. .then(function () {
  1423. return delConfigther(configIds);
  1424. })
  1425. .then(() => {
  1426. this.getListtoi();
  1427. this.msgSuccess("删除成功");
  1428. });
  1429. },
  1430. //设备安装删除
  1431. handleDeletetwo(row) {
  1432. const configIds = row.id;
  1433. this.$confirm(
  1434. '是否确认删除"' + configIds + '"的数据项?',
  1435. "警告",
  1436. {
  1437. confirmButtonText: "确定",
  1438. cancelButtonText: "取消",
  1439. type: "warning",
  1440. }
  1441. )
  1442. .then(function () {
  1443. return delConfigfour(configIds);
  1444. })
  1445. .then(() => {
  1446. this.getListther();
  1447. this.msgSuccess("删除成功");
  1448. });
  1449. },
  1450. //项目到资删除
  1451. handleDeletether(row) {
  1452. const configIds = row.id;
  1453. this.$confirm(
  1454. '是否确认删除"' + configIds + '"的数据项?',
  1455. "警告",
  1456. {
  1457. confirmButtonText: "确定",
  1458. cancelButtonText: "取消",
  1459. type: "warning",
  1460. }
  1461. )
  1462. .then(function () {
  1463. return delConfigfive(configIds);
  1464. })
  1465. .then(() => {
  1466. this.getListfour();
  1467. this.msgSuccess("删除成功");
  1468. });
  1469. },
  1470. /** 导出按钮操作 */
  1471. handleExport() {
  1472. const queryParams = this.queryParams;
  1473. this.$confirm("是否确认导出所有参数数据项?", "警告", {
  1474. confirmButtonText: "确定",
  1475. cancelButtonText: "取消",
  1476. type: "warning",
  1477. })
  1478. .then(function () {
  1479. return exportConfig(queryParams);
  1480. })
  1481. .then((response) => {
  1482. this.download(response.msg);
  1483. });
  1484. },
  1485. /** 清理缓存按钮操作 */
  1486. handleClearCache() {
  1487. clearCache().then((response) => {
  1488. this.msgSuccess("清理成功");
  1489. });
  1490. },
  1491. //tab
  1492. tabClid(index) {
  1493. this.tab = index;
  1494. if (this.tab == 1) {
  1495. this.getListther();
  1496. } else if (this.tab == 0) {
  1497. this.getList();
  1498. this.getListtoi();
  1499. } else if (this.tab == 2) {
  1500. this.getListfour();
  1501. this.getListfive();
  1502. } else if (this.tab == 3) {
  1503. this.getListsix();
  1504. }
  1505. // this.$router.push('/tab');
  1506. },
  1507. //下一页点击
  1508. nextYg() {
  1509. this.tab = this.tab + 1;
  1510. if (this.tab == 2) {
  1511. this.getListfour();
  1512. this.getListfive();
  1513. } else if (this.tab == 3) {
  1514. this.getListsix();
  1515. }
  1516. },
  1517. quipment(index) {
  1518. this.resettwo();
  1519. this.numhu = index;
  1520. this.fileListtherrt = []
  1521. this.opentwo = true;
  1522. this.titletwo = "添加参数";
  1523. },
  1524. //取消
  1525. handleUpdatex() {
  1526. this.$router.go(-1);
  1527. },
  1528. //确认审核
  1529. handleAudit() {
  1530. this.queryFormhye.code = 1;
  1531. this.queryFormhye.bmProjectId = this.bmProjectId;
  1532. addConfigbout(this.queryFormhye).then((response) => {
  1533. console.log(response);
  1534. this.msgSuccess("提交成功");
  1535. this.$router.go(-1);
  1536. // 就可以回到上一页。
  1537. // this.open = false;
  1538. // this.getListtwo();
  1539. });
  1540. // console.log(this.queryParams)
  1541. },
  1542. },
  1543. };
  1544. </script>
  1545. <style rel="stylesheet/scss" lang="scss" scoped>
  1546. .roiyy {
  1547. position: fixed;
  1548. top: 95px;
  1549. left: 0;
  1550. width: 100%;
  1551. padding-left: 230px;
  1552. padding-right: 30px;
  1553. box-sizing: border-box;
  1554. z-index: 100;
  1555. }
  1556. .buiy {
  1557. // width: 75px !important;
  1558. // height: 30px !important;
  1559. // line-height: 30px !important;
  1560. }
  1561. .ijeut {
  1562. display: flex;
  1563. height: 78px;
  1564. align-items: center;
  1565. }
  1566. .burert {
  1567. .el-upload--picture-card {
  1568. height: 78px;
  1569. line-height: 78px;
  1570. width: 80px;
  1571. vertical-align: center;
  1572. border: 0 !important;
  1573. background-color: #fff;
  1574. }
  1575. .el-upload-list--picture-card .el-upload-list__item {
  1576. height: 78px !important;
  1577. width: 78px !important;
  1578. }
  1579. }
  1580. .manager_form {
  1581. .manager_lab {
  1582. .el-form-item__label {
  1583. width: 145px !important;
  1584. }
  1585. }
  1586. .maneg_lar {
  1587. position: relative;
  1588. .el-form-item__label {
  1589. width: 134px !important;
  1590. }
  1591. span {
  1592. position: absolute;
  1593. left: -95%;
  1594. }
  1595. }
  1596. .manager_labtwo {
  1597. .el-form-item__label {
  1598. width: 244px !important;
  1599. }
  1600. }
  1601. .manager_labthre {
  1602. // .el-form-item{
  1603. .el-form-item__label {
  1604. width: 130px !important;
  1605. }
  1606. margin-right: 40px !important;
  1607. // }
  1608. }
  1609. .ieuyr {
  1610. .el-textarea__inner {
  1611. height: 80px !important;
  1612. }
  1613. }
  1614. .mage_ter {
  1615. .el-form-item__label {
  1616. width: 543px !important;
  1617. }
  1618. }
  1619. .maget_ty {
  1620. .el-form-item__label {
  1621. width: 140px !important;
  1622. }
  1623. }
  1624. .forieu {
  1625. border: 1px solid #dcdfe6;
  1626. border-radius: 4px;
  1627. width: 480px;
  1628. height: 100px !important;
  1629. position: relative;
  1630. .bure {
  1631. display: flex;
  1632. // position: absolute;
  1633. // height: 100%;
  1634. // right: 20px;
  1635. // top: 50%;
  1636. // transform: translateY(-50%);
  1637. padding: 10px 0;
  1638. }
  1639. .burert {
  1640. display: flex;
  1641. position: absolute;
  1642. height: 100%;
  1643. left: 20px;
  1644. top: 50%;
  1645. transform: translateY(-50%);
  1646. }
  1647. }
  1648. }
  1649. .lage_div {
  1650. padding-left: 15px;
  1651. display: flex;
  1652. align-items: center;
  1653. margin-bottom: 22px;
  1654. .el-form-item {
  1655. margin-bottom: 0 !important;
  1656. }
  1657. }
  1658. .app-conta {
  1659. .header {
  1660. padding-left: 22px;
  1661. height: 45px;
  1662. line-height: 40px;
  1663. background-color: #f1f1f1;
  1664. font-size: 18px;
  1665. color: #343434;
  1666. margin-bottom: 40px;
  1667. }
  1668. .nauer {
  1669. .nuae_wtu {
  1670. display: flex;
  1671. justify-content: center;
  1672. align-content: center;
  1673. .naue_one {
  1674. width: 30%;
  1675. p {
  1676. font-size: 12px;
  1677. font-family: PingFang SC;
  1678. font-weight: 400;
  1679. color: #343434;
  1680. }
  1681. .naue_name {
  1682. font-size: 14px;
  1683. font-family: PingFang SC;
  1684. font-weight: bold;
  1685. color: #0669b2;
  1686. margin-bottom: 30px;
  1687. }
  1688. }
  1689. .naue_two {
  1690. flex: 1;
  1691. padding-top: 20px;
  1692. // display: flex;
  1693. // align-items: center;
  1694. // justify-content: center;
  1695. }
  1696. }
  1697. //tab
  1698. .naue_tab {
  1699. border-bottom: 1px solid #cdcdcd;
  1700. display: flex;
  1701. margin-top: 30px;
  1702. padding: 0 10px;
  1703. margin-bottom: 30px;
  1704. p {
  1705. font-size: 12px;
  1706. font-family: PingFang SC;
  1707. font-weight: 400;
  1708. color: #343434;
  1709. padding: 11px 15px;
  1710. margin: 0;
  1711. }
  1712. .p {
  1713. border-bottom: 2px solid #1c84c6;
  1714. margin-bottom: -1px;
  1715. }
  1716. }
  1717. .mation {
  1718. .enterprise {
  1719. font-size: 14px;
  1720. font-family: PingFang SC;
  1721. font-weight: bold;
  1722. color: #1c84c6;
  1723. margin-top: 25px;
  1724. margin-bottom: 20px;
  1725. }
  1726. .enterprise_tw {
  1727. i {
  1728. margin-right: 5px;
  1729. }
  1730. font-size: 14px;
  1731. font-family: PingFang SC;
  1732. font-weight: 600;
  1733. color: #666666;
  1734. }
  1735. }
  1736. }
  1737. .nvestor {
  1738. margin-bottom: 10px;
  1739. p {
  1740. margin: 0;
  1741. font-size: 14px;
  1742. font-family: PingFang SC;
  1743. font-weight: bold;
  1744. color: #343434;
  1745. height: 24px;
  1746. line-height: 24px;
  1747. border-left: 3px solid #1c84c6;
  1748. padding-left: 13px;
  1749. i {
  1750. color: red;
  1751. }
  1752. }
  1753. }
  1754. .souu {
  1755. font-size: 14px;
  1756. font-family: PingFang SC;
  1757. font-weight: 400;
  1758. color: #343434;
  1759. margin-left: 5px;
  1760. }
  1761. }
  1762. //在建项目
  1763. .nstruction {
  1764. display: flex;
  1765. align-items: center;
  1766. .nstruction_nav {
  1767. display: flex;
  1768. align-items: center;
  1769. p:nth-child(1) {
  1770. margin-right: 10px;
  1771. span {
  1772. font-size: 14px;
  1773. font-family: PingFang SC;
  1774. font-weight: bold;
  1775. color: #343434;
  1776. }
  1777. span:nth-child(1) {
  1778. color: #df0024;
  1779. }
  1780. }
  1781. p:nth-child(2) {
  1782. width: 233px;
  1783. height: 30px;
  1784. line-height: 30px;
  1785. border: 1px solid #cdcdcd;
  1786. border-radius: 3px;
  1787. padding-left: 14px;
  1788. }
  1789. }
  1790. .nstruction_navne {
  1791. margin-left: 50px;
  1792. display: flex;
  1793. align-items: center;
  1794. p:nth-child(1) {
  1795. margin-right: 10px;
  1796. span {
  1797. font-size: 14px;
  1798. font-family: PingFang SC;
  1799. font-weight: bold;
  1800. color: #343434;
  1801. }
  1802. span:nth-child(1) {
  1803. color: #df0024;
  1804. }
  1805. }
  1806. p:nth-child(2) {
  1807. width: 233px;
  1808. height: 30px;
  1809. line-height: 30px;
  1810. border: 1px solid #cdcdcd;
  1811. border-radius: 3px;
  1812. padding-left: 14px;
  1813. }
  1814. }
  1815. }
  1816. .kaieu {
  1817. padding-left: 60px;
  1818. font-size: 14px;
  1819. font-family: PingFang SC;
  1820. font-weight: 800;
  1821. color: #343434;
  1822. }
  1823. .kaieu_tw {
  1824. padding-left: 60px;
  1825. font-size: 14px;
  1826. font-family: PingFang SC;
  1827. font-weight: 500;
  1828. color: #666666;
  1829. }
  1830. </style>