index.vue 54 KB

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