index.vue 56 KB

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