d495d9752cc2d01fd94953628f30820eb5a0ec52.svn-base 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566
  1. <template>
  2. <!-- 弹出窗 -->
  3. <el-dialog title="添加督查对象" :visible.sync="dialogFormVisible" width="80%" modal-append-to-body append-to-body>
  4. <el-container>
  5. <el-aside width="200px" style="border:1px solid #d5d5ff">
  6. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">
  7. <i class="el-icon-share"></i>所属机构
  8. </p>
  9. <provTreeListQy
  10. ref="provTreeListQyRef"
  11. :ddczId='dczId'
  12. rootCode="000000"
  13. :adCodes="adCodes"
  14. rootType="1"
  15. style="max-height:485px;"
  16. v-show="showLeftTree"
  17. @treeDataEmit="treeDataEmit"
  18. @provTreeSelectChange="provTreeSelectChangeHandler_qy">
  19. </provTreeListQy>
  20. <provTreeList
  21. v-show="!showLeftTree"
  22. rootCode="000000"
  23. rootType="1"
  24. style="max-height:485px;"
  25. @provTreeSelectChange="provTreeSelectChangeHandler"
  26. ></provTreeList>
  27. </el-aside>
  28. <el-main style="border:1px solid #d5d5ff;margin-left:5px;padding:0px;">
  29. <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">督查对象</p>
  30. <el-form v-if="objType == '1' || objType == '36' || objType == '26' || objType == '34' || objType == '80' || objType == '106' || objType == '115'" style="padding:10px">
  31. <div>
  32. <el-form size="mini" :inline="true" class="demo-form-inline" style="display:none;">
  33. <el-form-item label="督查对象">
  34. <el-select style="width:150px;" v-model="objTypeName" placeholder="请选择" @change="selectChange">
  35. <el-option label="小水库" value="1"></el-option>
  36. <el-option label="农村饮水工程" value="2"></el-option>
  37. <el-option label="水毁" value="3"></el-option>
  38. </el-select>
  39. </el-form-item>
  40. </el-form>
  41. <el-form size="mini" :inline="true" class="demo-form-inline">
  42. <el-form-item label="是否已督查" v-if="objType == '1'">
  43. <el-select style="width:100px;" v-model="hstInsp" clearable placeholder="请选择">
  44. <el-option label="否" value="0"></el-option>
  45. <el-option label="是" value="1"></el-option>
  46. </el-select>
  47. </el-form-item>
  48. <el-form-item label="工程规模">
  49. <el-select style="width:100px;" v-if="objType == '1' || objType == '106' || objType == '115'" v-model="engScal" clearable placeholder="请选择">
  50. <el-option label="小(1)型" value="4"></el-option>
  51. <el-option label="小(2)型" value="5"></el-option>
  52. <el-option label="中型" value="3" v-if="isSc"></el-option>
  53. </el-select>
  54. <el-select style="width:100px;" v-if="objType == '36' || objType == '26'|| objType == '80'" v-model="engScal" clearable placeholder="请选择">
  55. <el-option label="大(1)型" value="1"></el-option>
  56. <el-option label="大(2)型" value="2"></el-option>
  57. <el-option label="中型" value="3"></el-option>
  58. </el-select>
  59. </el-form-item>
  60. <el-form-item label="水库名称">
  61. <el-input
  62. style="width:140px;"
  63. v-model="searchNameOfRsName"
  64. clearable
  65. placeholder="请输入水库名称"
  66. ></el-input>
  67. </el-form-item>
  68. <el-form-item>
  69. <el-button type="primary" @click="refreshCurrentShow">查询</el-button>
  70. </el-form-item>
  71. <el-form-item>
  72. <el-button type="primary" @click="toAddNewRsvr">添加新水库</el-button>
  73. </el-form-item>
  74. <el-form-item>
  75. <el-button type="primary" @click="importExcel" v-if="objType!='115'">全部导入</el-button>
  76. </el-form-item>
  77. </el-form>
  78. <el-table
  79. border
  80. v-loading="loading"
  81. :data="currentShowList"
  82. tooltip-effect="dark"
  83. style="width: 100%"
  84. @selection-change="handleSelectionChange"
  85. >
  86. <el-table-column align="center" type="selection" width="60"></el-table-column>
  87. <el-table-column align="center" prop="index" label="序号" min-width="40"></el-table-column>
  88. <el-table-column
  89. align="center"
  90. show-overflow-tooltip
  91. prop="rsName"
  92. label="水库名称"
  93. min-width="100"
  94. ></el-table-column>
  95. <el-table-column
  96. v-if="objType != '26'"
  97. align="center"
  98. show-overflow-tooltip
  99. prop="location"
  100. label="行政区划"
  101. min-width="100"
  102. ></el-table-column>
  103. <el-table-column
  104. align="center"
  105. show-overflow-tooltip
  106. prop="engScal"
  107. label="工程规模"
  108. :formatter="engScalFormatter"
  109. min-width="80"
  110. ></el-table-column>
  111. <el-table-column
  112. align="center"
  113. show-overflow-tooltip
  114. prop="rsAdmDep"
  115. label="归口管理部门"
  116. :formatter="rsAdmDepFormatter"
  117. min-width="100"
  118. ></el-table-column>
  119. <el-table-column
  120. align="center"
  121. show-overflow-tooltip
  122. prop="totCap"
  123. label="总库容"
  124. min-width="100"
  125. ></el-table-column>
  126. <el-table-column
  127. align="center"
  128. show-overflow-tooltip
  129. prop="hstInsp"
  130. label="是否督查"
  131. min-width="80"
  132. >
  133. <template slot-scope="scope">
  134. <span v-if="scope.row.hstInsp=='1'">是</span>
  135. <span v-if="scope.row.hstInsp=='0' || scope.row.hstInsp==null || scope.row.hstInsp==''">否</span>
  136. </template>
  137. </el-table-column>
  138. </el-table>
  139. <div
  140. class="block"
  141. style="display:flex;flex-direction:row;justify-content:center;align-items:center;padding-top: 5px;background-color: #fff;"
  142. >
  143. <el-pagination
  144. small
  145. @size-change="handleSizeChange"
  146. @current-change="handleCurrentChange"
  147. :pager-count="5"
  148. :current-page.sync="pageIndex"
  149. :page-sizes="[10, 20, 30, 40]"
  150. :page-size="pageSize"
  151. layout="total, sizes, prev, pager, next"
  152. :total="total"
  153. ></el-pagination>
  154. </div>
  155. </div>
  156. <!-- </el-form-item> -->
  157. </el-form>
  158. <el-form v-if="objType == '2'" style="padding:10px">
  159. <div>
  160. <el-form size="mini" :inline="true" class="demo-form-inline" style="display:none;">
  161. <el-form-item label="督查对象">
  162. <el-select style="width:150px;" v-model="objTypeName" placeholder="请选择" @change="selectChange">
  163. <el-option label="小水库" value="1"></el-option>
  164. <el-option label="农村饮水工程" value="2"></el-option>
  165. <el-option label="水毁" value="3"></el-option>
  166. </el-select>
  167. </el-form-item>
  168. </el-form>
  169. <el-form size="mini" :inline="true" class="demo-form-inline">
  170. <el-form-item label="行政区名称">
  171. <el-input
  172. style="width:140px;"
  173. v-model="searchNameOfAdName"
  174. clearable
  175. placeholder="请输入行政区名称"
  176. ></el-input>
  177. </el-form-item>
  178. <el-form-item>
  179. <el-button type="primary" @click="getTableData">查询</el-button>
  180. </el-form-item>
  181. </el-form>
  182. <el-table
  183. border
  184. :data="currentShowList"
  185. tooltip-effect="dark"
  186. style="width: 100%"
  187. @selection-change="handleSelectionChange"
  188. >
  189. <el-table-column align="center" type="selection" width="60"></el-table-column>
  190. <el-table-column align="center" prop="index" label="序号" min-width="40"></el-table-column>
  191. <el-table-column
  192. align="center"
  193. show-overflow-tooltip
  194. prop="adName"
  195. label="行政区划名称"
  196. min-width="100"
  197. :formatter="adNameFormatter"
  198. >
  199. </el-table-column>
  200. <el-table-column
  201. align="center"
  202. show-overflow-tooltip
  203. prop="adFullName"
  204. label="全称"
  205. min-width="100"
  206. :formatter="adFullNameFormatter"
  207. >
  208. </el-table-column>
  209. <el-table-column
  210. align="center"
  211. show-overflow-tooltip
  212. prop="adCode"
  213. label="行政区划编码"
  214. min-width="100"
  215. :formatter="adCodeFormatter"
  216. >
  217. </el-table-column>
  218. <el-table-column
  219. align="center"
  220. show-overflow-tooltip
  221. prop="adGrad"
  222. label="行政区划级别"
  223. min-width="100"
  224. :formatter="adGradFormatter"
  225. ></el-table-column>
  226. <!-- <el-table-column align="center" show-overflow-tooltip prop="adArea" label="面积" min-width="100"></el-table-column> -->
  227. </el-table>
  228. <div
  229. class="block"
  230. style="display:flex;flex-direction:row;justify-content:center;align-items:center;padding-top: 5px;background-color: #fff;"
  231. >
  232. <el-pagination
  233. small
  234. @size-change="handleSizeChange"
  235. @current-change="handleCurrentChange"
  236. :pager-count="5"
  237. :current-page.sync="pageIndex"
  238. :page-sizes="[10, 20, 30, 40]"
  239. :page-size="pageSize"
  240. layout="total, prev, pager, next"
  241. :total="total"
  242. ></el-pagination>
  243. </div>
  244. </div>
  245. <!-- </el-form-item> -->
  246. </el-form>
  247. <el-form v-if="objType == '3'" style="padding:10px">
  248. <div>
  249. <el-form size="mini" :inline="true" class="demo-form-inline" style="display:none;">
  250. <el-form-item label="督查对象">
  251. <el-select style="width:150px;" v-model="objTypeName" placeholder="请选择" @change="selectChange">
  252. <el-option label="小水库" value="1"></el-option>
  253. <el-option label="农村饮水工程" value="2"></el-option>
  254. <el-option label="水毁" value="3"></el-option>
  255. </el-select>
  256. </el-form-item>
  257. </el-form>
  258. <el-form size="mini" :inline="true" class="demo-form-inline">
  259. <el-form-item label="工程类别">
  260. <el-input style="width:130px;" v-model="wtdstType" clearable placeholder="请输入工程类别"></el-input>
  261. </el-form-item>
  262. <el-form-item label="修复状态">
  263. <el-select style="width:85px;" v-model="wtdstState" clearable placeholder="请选择">
  264. <el-option label="已修复" value="1"></el-option>
  265. <el-option label="未修复" value="0"></el-option>
  266. </el-select>
  267. </el-form-item>
  268. <el-form-item label="项目名称">
  269. <el-input
  270. style="width:130px;"
  271. v-model="searchNameOfwtdstNm"
  272. clearable
  273. placeholder="请输入项目名称"
  274. ></el-input>
  275. </el-form-item>
  276. <el-form-item>
  277. <el-button type="primary" @click="getTableData">查询</el-button>
  278. <el-button type="primary" @click="addShuiHuiVisible=true">新增</el-button>
  279. </el-form-item>
  280. </el-form>
  281. <el-table
  282. border
  283. :data="currentShowList"
  284. tooltip-effect="dark"
  285. style="width: 100%"
  286. @selection-change="handleSelectionChange"
  287. >
  288. <el-table-column align="center" type="selection" width="60"></el-table-column>
  289. <el-table-column align="center" prop="index" label="序号" min-width="40"></el-table-column>
  290. <el-table-column
  291. align="center"
  292. show-overflow-tooltip
  293. prop="wtdstNm"
  294. label="项目名称"
  295. min-width="100"
  296. ></el-table-column>
  297. <el-table-column
  298. align="center"
  299. show-overflow-tooltip
  300. prop="locNm"
  301. label="项目所在位置"
  302. min-width="100"
  303. ></el-table-column>
  304. <el-table-column
  305. align="center"
  306. show-overflow-tooltip
  307. :formatter="wtdstStateFormatter"
  308. prop="wtdstState"
  309. label="修复状态"
  310. min-width="100"
  311. ></el-table-column>
  312. <el-table-column
  313. align="center"
  314. show-overflow-tooltip
  315. prop="wtdstType"
  316. label="工程类别"
  317. min-width="100"
  318. ></el-table-column>
  319. </el-table>
  320. <div
  321. class="block"
  322. style="display:flex;flex-direction:row;justify-content:center;align-items:center;padding-top: 5px;background-color: #fff;"
  323. >
  324. <el-pagination
  325. small
  326. @size-change="handleSizeChange"
  327. @current-change="handleCurrentChange"
  328. :pager-count="5"
  329. :current-page.sync="pageIndex"
  330. :page-sizes="[10, 20, 30, 40]"
  331. :page-size="pageSize"
  332. layout="total, prev, pager, next"
  333. :total="total"
  334. ></el-pagination>
  335. </div>
  336. </div>
  337. <!-- </el-form-item> -->
  338. </el-form>
  339. <el-form v-if="objType == '5'" style="padding:10px">
  340. <div>
  341. <el-form size="mini" :inline="true" class="demo-form-inline">
  342. <el-form-item label="测站名称">
  343. <el-input style="width:130px;" v-model="stnm" clearable placeholder="请输入测站名称"></el-input>
  344. </el-form-item>
  345. <el-form-item>
  346. <el-button type="primary" @click="refreshCurrentShow">查询</el-button>
  347. </el-form-item>
  348. </el-form>
  349. <el-table
  350. border
  351. :data="currentShowList"
  352. tooltip-effect="dark"
  353. style="width: 100%"
  354. @selection-change="handleSelectionChange"
  355. >
  356. <el-table-column align="center" type="selection" width="60"></el-table-column>
  357. <el-table-column align="center" prop="index" label="序号" min-width="40"></el-table-column>
  358. <el-table-column
  359. align="center"
  360. show-overflow-tooltip
  361. prop="stnm"
  362. label="测站名称"
  363. min-width="100"
  364. ></el-table-column>
  365. <el-table-column
  366. align="center"
  367. show-overflow-tooltip
  368. prop="stcd"
  369. label="测站编码"
  370. min-width="100"
  371. ></el-table-column>
  372. <el-table-column
  373. align="center"
  374. show-overflow-tooltip
  375. prop="adnm"
  376. label="所属行政区"
  377. min-width="100"
  378. ></el-table-column>
  379. </el-table>
  380. <div
  381. class="block"
  382. style="display:flex;flex-direction:row;justify-content:center;align-items:center;padding-top: 5px;background-color: #fff;"
  383. >
  384. <el-pagination
  385. small
  386. @size-change="handleSizeChange"
  387. @current-change="handleCurrentChange"
  388. :pager-count="5"
  389. :current-page.sync="pageIndex"
  390. :page-sizes="[10, 20, 30, 40]"
  391. :page-size="pageSize"
  392. layout="total, prev, pager, next"
  393. :total="total"
  394. ></el-pagination>
  395. </div>
  396. </div>
  397. <!-- </el-form-item> -->
  398. </el-form>
  399. </el-main>
  400. </el-container>
  401. <el-dialog title="添加新水库" :visible.sync="addRsvrVisible" append-to-body>
  402. <el-form label-width="120px" :model="formObj" :rules="rules" ref="formObj">
  403. <el-form-item label="水库名称" required >
  404. <el-input v-model="formObj.rsName" autocomplete="off" style="width:70%;"></el-input>
  405. </el-form-item>
  406. <el-form-item label="管理机构" required >
  407. <el-input v-model="formObj.rsAdmName" autocomplete="off" style="width:70%;"></el-input>
  408. </el-form-item>
  409. <el-form-item label="行政区域" required>
  410. <!-- <el-select v-model="formObj.location" placeholder="请选择">
  411. <el-option
  412. v-for="item in areasList"
  413. :key="item.value"
  414. :label="item.adName"
  415. :value="item.adName">
  416. </el-option>
  417. </el-select> -->
  418. <div>
  419. <el-select v-model="provName" placeholder="选择省" @change="provChange" style="width:20%">
  420. <el-option
  421. v-for="item in provList"
  422. :key="item.adCode"
  423. :label="item.adName"
  424. :value="item.adCode">
  425. </el-option>
  426. </el-select>
  427. <el-select v-model="cityName" placeholder="选择市" @change="cityChange" style="width:20%">
  428. <el-option
  429. v-for="item in cityList"
  430. :key="item.adCode"
  431. :label="item.adName"
  432. :value="item.adCode">
  433. </el-option>
  434. </el-select>
  435. <el-select v-model="countryName" placeholder="选择县" @change="countryChange" style="width:20%">
  436. <el-option
  437. v-for="item in countryList"
  438. :key="item.adCode"
  439. :label="item.adName"
  440. :value="item.adCode">
  441. </el-option>
  442. </el-select>
  443. </div>
  444. <!-- <el-cascader
  445. :options="initLoacData"
  446. @active-item-change="handleItemChange"
  447. :props="props"
  448. v-model="formObj.location"
  449. style="width:70%;">
  450. </el-cascader> -->
  451. </el-form-item>
  452. <el-form-item label="所在地点" required >
  453. <el-input v-model="formObj.rsLoc" autocomplete="off" style="width:70%;"></el-input>
  454. </el-form-item>
  455. <el-form-item label="建成时间" required >
  456. <el-date-picker v-model="formObj.compDateStr" type="date" value-format="yyyy-MM-dd" placeholder="选择日期">
  457. </el-date-picker>
  458. </el-form-item>
  459. <el-form-item label="工程规模" required>
  460. <el-select v-model="formObj.engScal" placeholder="请选择">
  461. <el-option v-for="item in gongchengguimo" :key="item.value" :label="item.label" :value="item.value"></el-option>
  462. <el-option label="中型" value="3" v-if="isSc"></el-option>
  463. </el-select>
  464. </el-form-item>
  465. <el-form-item label="总库容(万m³)">
  466. <el-input v-model="formObj.totCap" autocomplete="off" style="width:70%;"></el-input>
  467. </el-form-item>
  468. <el-form-item label="最大坝高(m)">
  469. <el-input v-model="formObj.damSizeHig" autocomplete="off" style="width:70%;"></el-input>
  470. </el-form-item>
  471. <el-form-item label="主坝坝型">
  472. <el-select v-model="formObj.damType" placeholder="请选择">
  473. <el-option v-for="item in zhubaleixing" :key="item.value" :label="item.label" :value="item.value"></el-option>
  474. </el-select>
  475. </el-form-item>
  476. <el-form-item label="正常蓄水位" prop="normz">
  477. <el-input v-model="formObj.normz" autocomplete="off" style="width:70%;"></el-input>
  478. </el-form-item>
  479. <el-form-item label="汛限水位" prop="fsltdz">
  480. <el-input v-model="formObj.fsltdz" autocomplete="off" style="width:70%;"></el-input>
  481. </el-form-item>
  482. <el-form-item label="注册登记号">
  483. <el-input v-model="formObj.regCode" autocomplete="off" style="width:70%;"></el-input>
  484. </el-form-item>
  485. <el-form-item label="经度">
  486. <el-input v-model="formObj.longitude" autocomplete="off" style="width:70%;"></el-input>
  487. </el-form-item>
  488. <el-form-item label="纬度">
  489. <el-input v-model="formObj.latitude" autocomplete="off" style="width:70%;"></el-input>
  490. </el-form-item>
  491. </el-form>
  492. <div slot="footer" class="dialog-footer">
  493. <el-button @click="addRsvrVisible = false">取 消</el-button>
  494. <el-button type="primary" @click="addNewRsvr('formObj')">确 定</el-button>
  495. </div>
  496. </el-dialog>
  497. <el-dialog title="添加新对象" :visible.sync="addShuiHuiVisible" append-to-body>
  498. <el-form label-width="120px" ref="formObj1">
  499. <el-form-item label="项目名称" required >
  500. <el-input v-model="formObj1.wtdstNm" autocomplete="off" style="width:70%;"></el-input>
  501. </el-form-item>
  502. <el-form-item label="项目类别" required >
  503. <el-input v-model="formObj1.wtdstType" autocomplete="off" style="width:70%;"></el-input>
  504. </el-form-item>
  505. <el-form-item label="项目进度" required>
  506. <el-select v-model="formObj1.wtdstState" placeholder="请选择" style="width:70%;">
  507. <el-option
  508. v-for="item in TrackProgress"
  509. :key="item.value"
  510. :label="item.label"
  511. :value="item.value">
  512. </el-option>
  513. </el-select>
  514. </el-form-item>
  515. <el-form-item label="行政区域" required>
  516. <div>
  517. <el-select v-model="provName" placeholder="选择省" @change="provChange" style="width:20%">
  518. <el-option
  519. v-for="item in provList"
  520. :key="item.adCode"
  521. :label="item.adName"
  522. :value="item.adCode">
  523. </el-option>
  524. </el-select>
  525. <el-select v-model="cityName" placeholder="选择市" @change="cityChange" style="width:20%">
  526. <el-option
  527. v-for="item in cityList"
  528. :key="item.adCode"
  529. :label="item.adName"
  530. :value="item.adCode">
  531. </el-option>
  532. </el-select>
  533. <el-select v-model="countryName" placeholder="选择县" @change="countryChange" style="width:20%">
  534. <el-option
  535. v-for="item in countryList"
  536. :key="item.adCode"
  537. :label="item.adName"
  538. :value="item.adCode">
  539. </el-option>
  540. </el-select>
  541. </div>
  542. </el-form-item>
  543. <el-form-item label="所在地点" >
  544. <el-input v-model="formObj1.locNm" autocomplete="off" style="width:70%;"></el-input>
  545. </el-form-item>
  546. <el-form-item label="水毁情况" >
  547. <el-input v-model="formObj1.wtdstDtle" autocomplete="off" style="width:70%;"></el-input>
  548. </el-form-item>
  549. <el-form-item label="经度">
  550. <el-input v-model="formObj1.wtdstLgtd" autocomplete="off" style="width:70%;"></el-input>
  551. </el-form-item>
  552. <el-form-item label="纬度">
  553. <el-input v-model="formObj1.wtdstLttd" autocomplete="off" style="width:70%;"></el-input>
  554. </el-form-item>
  555. </el-form>
  556. <div slot="footer" class="dialog-footer">
  557. <el-button @click="addShuiHuiVisible = false">取 消</el-button>
  558. <el-button type="primary" @click="addNewShuiHui">确 定</el-button>
  559. </div>
  560. </el-dialog>
  561. <div slot="footer" class="dialog-footer">
  562. <el-button @click="dialogFormVisible = false">取 消</el-button>
  563. <el-button type="primary" :loading="addOnce" :disabled="addOnce" @click="saveChange">确 定</el-button>
  564. </div>
  565. </el-dialog>
  566. </template>
  567. <script>
  568. import request from '../../utils/gw_ajax_request.js';
  569. import provTreeList from "../../widgets/provTreeList.vue";
  570. // import provTreeListQy from "../../widgets/provTreeList_quyu.vue"
  571. import {
  572. getObjListNotInspGroupId,
  573. addDcAndObjRel
  574. } from "../../api/duChaDuiXiang_xsk_API.js";
  575. export default {
  576. components: {
  577. provTreeList: provTreeList,
  578. provTreeListQy:resolve => {require(['../../widgets/provTreeList_quyu.vue'],resolve)},
  579. },
  580. props: ["dczId", "dczName", "plnaId", "objType","pType","adCodes","isNewPlan","rowData","isNew"],
  581. data() {
  582. return {
  583. addOnce:false,
  584. objTypeName:'小水库',
  585. xsk: true,
  586. ncys: false,
  587. shgc: false,
  588. dxs:false,
  589. searchNameOfRsName: "",
  590. searchNameOfAdName: "",
  591. searchNameOfwtdstNm: "",
  592. addLevel: "",
  593. rsAdmDep: "",
  594. engScal: "",
  595. hstInsp: "0",
  596. wtdstState: "",
  597. engLevel: "",
  598. wtdstType: "",
  599. stnm:'',
  600. pageIndex: 1,
  601. pageSize: 10,
  602. total: 0,
  603. currentShowList: [],
  604. dialogFormVisible: false,
  605. formLabelWidth: "120",
  606. addArr: "",
  607. addName:"",
  608. addLttd:"",
  609. addLgtd:"",
  610. addprovincial:"",
  611. multipleSelection: [],
  612. searchProvTreeListCode: "",
  613. qyDataList:[],
  614. loading:false,
  615. showLeftTree:true,
  616. addRsvrVisible: false,
  617. addShuiHuiVisible: false,
  618. TrackProgress: [
  619. {
  620. label: '待开工',
  621. value: '2',
  622. },
  623. {
  624. label: '正修复',
  625. value: '1',
  626. },
  627. {
  628. label: '已修复',
  629. value: '0',
  630. },
  631. ],
  632. formObj: {
  633. "rsName": '',
  634. "rsAdmName": "",
  635. "rsLoc": "",
  636. "location": '',
  637. "intm": "",
  638. "engScal": "",
  639. "totCap": "",
  640. "damMaxHigh": "",
  641. "damTypeStr": "",
  642. "rsType":'',
  643. "damType":"",
  644. "regCode": "",
  645. "rsvrLong": "",
  646. "rsvrLat": "",
  647. "compDate": "",
  648. "compDateStr":"",
  649. "admDiv": "",
  650. "longitude": "",
  651. "latitude": "",
  652. "centerXGd": "",
  653. "centerYGd": "",
  654. "normz":"",
  655. "fsltdz":""
  656. },
  657. formObj1:{
  658. wtdstNm: '',
  659. wtdstType: '',
  660. locNm: '',
  661. wtdstDtle: '',
  662. wtdstState: '',
  663. locAd:"",
  664. wtdstLgtd:"",
  665. wtdstLttd:""
  666. },
  667. areasList:[],
  668. gongchengguimo: [],
  669. xskEngscale:[
  670. {
  671. value: "4",
  672. label: "小(1)型"
  673. },
  674. {
  675. value: "5",
  676. label: "小(2)型"
  677. }
  678. ],
  679. dskEngscale:[
  680. {
  681. value: "1",
  682. label: "大(1)型"
  683. },
  684. {
  685. value: "2",
  686. label: "大(2)型"
  687. },
  688. {
  689. value: "3",
  690. label: "中型"
  691. }
  692. ],
  693. zhubaleixing:[
  694. {
  695. value: "1",
  696. label: "混凝土坝"
  697. },
  698. {
  699. value: "2",
  700. label: "碾压混凝土坝"
  701. },
  702. {
  703. value: "3",
  704. label: "浆砌石坝"
  705. },
  706. {
  707. value: "4",
  708. label: "土坝"
  709. },
  710. {
  711. value: "5",
  712. label: "堆石坝"
  713. },
  714. {
  715. value: "6",
  716. label: "挡水坝"
  717. },
  718. {
  719. value: "7",
  720. label: "其他"
  721. }
  722. ],
  723. initLoacData: [{
  724. label: '江苏',
  725. cities: []
  726. }, {
  727. label: '浙江',
  728. cities: []
  729. }],
  730. props: {
  731. value: 'id',
  732. label: 'label',
  733. children: 'cities'
  734. },
  735. rules: {
  736. rsName: [
  737. { required: true, message: '请输入水库名称', trigger: 'blur' },
  738. ],
  739. rsAdmName: [
  740. { required: true, message: '请输入管理单位', trigger: 'blur' }
  741. ],
  742. // location: [
  743. // { required: true, message: '请选择所在地', trigger: 'blur' }
  744. // ],
  745. compDate: [
  746. { required: true, message: '请选择完成时间', trigger: 'blur' }
  747. ]
  748. },
  749. provList: [],
  750. cityList: [],
  751. countryList: [],
  752. provName: '',
  753. cityName: '',
  754. countryName: '',
  755. provNames: '',
  756. cityNames: '',
  757. countryNames: '',
  758. curSelectItem: 0,
  759. importParam:{}
  760. }
  761. },
  762. watch: {
  763. dczId: function(n, o) {
  764. this.searchProvTreeListCode = "";
  765. },
  766. objType: function(n, o) {
  767. this.searchProvTreeListCode = "";
  768. this.objType = n;
  769. if(this.objType == "1" || this.objType == '36' || this.objType == '26' || this.objType == "34" || this.objType == '80' || this.objType == "106" || this.objType == "115") {
  770. this.getTableData_sk();
  771. this.getAreaList();
  772. this.getEngscale();
  773. }else if (this.objType == "2") {
  774. this.getTableData();
  775. }else if (this.objType == "3") {
  776. this.getTableData();
  777. }else if(this.objType == '5'){
  778. this.getTableData_dxs(n);
  779. }
  780. },
  781. qyDataList(n,o){
  782. if(this.qyDataList.length == 0){
  783. this.showLeftTree = false;
  784. }else{
  785. this.showLeftTree = true;
  786. }
  787. console.log("区域树"+n.length+this.showLeftTree+this.objType);
  788. if(this.objType == '1' || this.objType == '36' || this.objType == '106' || this.objType == "115"){
  789. this.getTableData_sk();
  790. this.getAreaList()
  791. }else if(this.objType == '5'){
  792. this.getTableData_dxs();
  793. }
  794. }
  795. },
  796. computed:{
  797. userId(){
  798. return localStorage.getItem("userid")? localStorage.getItem("userid"): '1098101939614724096'
  799. },
  800. isSc(){
  801. if(localStorage.getItem('currentRlcode').substring(0,2)=="51"){
  802. return true;
  803. }else{
  804. return false;
  805. }
  806. }
  807. },
  808. mounted() {
  809. if(this.objType == 1 || this.objType == 106 || this.objType == 115){
  810. this.gongchengguimo = this.xskEngscale
  811. }else if(this.objType == 36 || this.objType == 26 || this.objType == 80){
  812. this.gongchengguimo = this.dskEngscale
  813. }
  814. },
  815. methods: {
  816. getEngscale(){
  817. if(this.objType == 1 || this.objType == 115){
  818. this.gongchengguimo = this.xskEngscale
  819. }else if(this.objType == 36 || this.objType == 26 || this.objType == 80){
  820. this.gongchengguimo = this.dskEngscale
  821. }
  822. },
  823. importExcel(){
  824. var _self = this;
  825. this.$confirm('确认要全部导入?', '提示', {
  826. confirmButtonText: '确定',
  827. cancelButtonText: '取消',
  828. type: 'warning'
  829. }).then(() => {
  830. _self.importParam.isSupn = _self.importParam.hstInsp;
  831. _self.importParam.inspGroupId = _self.dczId;
  832. _self.importParam.objType = _self.objType;
  833. _self.importParam.nm = _self.importParam.rsName;
  834. _self.importParam.adCode = _self.importParam.adcd;
  835. request.post('/supervision/plan/insertAllObj', _self.importParam).then((res) => {
  836. if (res.success) {
  837. if(res.data.key){
  838. _self.$message.success("未搜索到可添加的督察对象");
  839. }else{
  840. _self.dialogFormVisible = false;
  841. _self.$message.success("导入成功");
  842. _self.$emit("addSuccess");
  843. _self.importParam = {};
  844. }
  845. }else {
  846. _self.$message.error("导入失败");
  847. }
  848. });
  849. })
  850. },
  851. changeCurrentObjSelectName(item){
  852. this.objType = item;
  853. },
  854. selectChange(val){
  855. console.log(val);
  856. this.objType = val;
  857. },
  858. engScalFormatter(row, column) {
  859. if(row.engScal == 1){
  860. return '大(1)型'
  861. }else if(row.engScal == 2){
  862. return '大(2)型'
  863. }else if(row.engScal == 3){
  864. return '中型'
  865. }else if(row.engScal == 4){
  866. return '小(1)型'
  867. }else if(row.engScal == 5){
  868. return '小(2)型'
  869. }else{
  870. return ''
  871. }
  872. },
  873. wtdstStateFormatter(row, column) {
  874. return row.wtdstState == 1 ? "已修复" : "未修复";
  875. },
  876. rsAdmDepFormatter(row, column) {
  877. return row.rsAdmDep == 1
  878. ? "水利部门"
  879. : row.rsAdmDep == 2
  880. ? "电力部门"
  881. : row.rsAdmDep == 3
  882. ? "农业部门"
  883. : row.rsAdmDep == 4
  884. ? "林业部门"
  885. : row.rsAdmDep == 5
  886. ? "城建部门"
  887. : row.rsAdmDep == 6
  888. ? "航运部门"
  889. : row.rsAdmDep == 7
  890. ? "环保部门"
  891. : "其他部门";
  892. },
  893. adGradFormatter(row, column) {
  894. return row.adGrad == 1
  895. ? "国家级"
  896. : row.adGrad == 2
  897. ? "省级"
  898. : row.adGrad == 3
  899. ? "地市级"
  900. : row.adGrad == 4
  901. ? "县级"
  902. : row.adGrad == 5
  903. ? "乡级"
  904. : row.adGrad == 6
  905. ? "村"
  906. : "村组";
  907. },
  908. adNameFormatter(row,column){
  909. return row.adName;
  910. },
  911. adFullNameFormatter(row,column){
  912. return row.adFullName;
  913. },
  914. adCodeFormatter(row,column){
  915. return row.adCode;
  916. },
  917. showDialog(tableCurrentRowType = null,yqList) {
  918. this.tableCurrentRowType = tableCurrentRowType;
  919. this.dialogFormVisible = true;
  920. this.getAreaList();
  921. let _self = this;
  922. if (this.tableCurrentRowType == "1" || this.tableCurrentRowType == '36' || this.tableCurrentRowType == '34' || this.tableCurrentRowType == '80' || this.tableCurrentRowType == '106') {
  923. // this.getTableData_sk();
  924. this.xsk = true;
  925. this.ncys = false;
  926. this.shgc = false;
  927. this.dxs = false;
  928. // this.getAreaList()
  929. } else if (this.tableCurrentRowType == "2") {
  930. // this.getTableData();
  931. this.xsk = false;
  932. this.ncys = true;
  933. this.shgc = false;
  934. this.dxs = false;
  935. } else if (this.tableCurrentRowType == "3"){
  936. // this.getTableData();
  937. this.xsk = false;
  938. this.ncys = false;
  939. this.shgc = true;
  940. this.dxs = false;
  941. }else {
  942. this.xsk = false;
  943. this.ncys = false;
  944. this.shgc = false;
  945. this.dxs = true;
  946. }
  947. let markObjType = tableCurrentRowType?tableCurrentRowType:this.objType;//添加额外参数规避watch的先后执行问题
  948. // if((markObjType=='1' || markObjType=='36' || markObjType=='5') && this.showLeftTree){
  949. this.showLeftTree = true;
  950. console.log(this.$refs.provTreeListQyRef)
  951. this.$refs['provTreeListQyRef'].getQyList();
  952. // }
  953. if(markObjType == '1' || markObjType=='36' || markObjType=='26' || markObjType=='34' || markObjType=='80' || markObjType == '106' || markObjType == "115"){
  954. this.getTableData_sk();
  955. }else if(markObjType == '2' ||markObjType == '3'){
  956. // if(this.qyDataList && this.qyDataList.length==0){
  957. if(yqList && yqList.length){
  958. _self.qyDataList = [];
  959. yqList.forEach((item)=>{
  960. _self.qyDataList.push(item);
  961. });
  962. }
  963. // }
  964. this.getTableData();
  965. }else{
  966. this.getTableData_dxs();
  967. }
  968. },
  969. saveChange() {
  970. this.addObjectChange();
  971. },
  972. treeDataEmit(item){
  973. this.qyDataList = item;
  974. if(this.qyDataList.length == 0){
  975. this.showLeftTree = false;
  976. }else{
  977. this.showLeftTree = true;
  978. }
  979. },
  980. getTableData_dxs(){
  981. var _self = this;
  982. if(_self.qyDataList.length == 0){
  983. _self.showLeftTree = false;
  984. }else{
  985. _self.showLeftTree = true;
  986. }
  987. _self.loading = true;
  988. var str = '';
  989. for(var i=0;i<_self.qyDataList.length;i++){
  990. str+= _self.qyDataList[i].adCode+',';
  991. }
  992. str = str.substring(0,str.length-1)
  993. var obj = {
  994. "adcd": str,
  995. "adnm":'',
  996. "groupId": _self.dczId,
  997. "stcd": '',
  998. "stnm":_self.stnm,
  999. "sttp":'',
  1000. "pageNum":_self.pageIndex,
  1001. "pageSize":_self.pageSize
  1002. }
  1003. request.post('/dc/insp/obj/getGrwNotInGroup',obj).then((res)=>{
  1004. _self.loading = false;
  1005. _self.currentShowList = res.data.list;
  1006. _self.currentShowList.forEach((element, index) => {
  1007. element["index"] = _self.pageSize * (_self.pageIndex - 1) + index + 1;
  1008. });
  1009. _self.total = res.data.total;
  1010. })
  1011. },
  1012. getTableData_sk(){
  1013. var _self = this;
  1014. if(_self.qyDataList.length == 0){
  1015. _self.showLeftTree = false;
  1016. }else{
  1017. _self.showLeftTree = true;
  1018. }
  1019. _self.loading = true;
  1020. var str = '';
  1021. for(var i=0;i<_self.qyDataList.length;i++){
  1022. str+= _self.qyDataList[i].adCode+',';
  1023. }
  1024. str = str.substring(0,str.length-1);
  1025. var obj = {
  1026. "adcd": str,
  1027. "rsName": _self.searchNameOfRsName,
  1028. "engScal": _self.engScal,
  1029. "id": _self.userId,
  1030. "groupId":_self.dczId,
  1031. "pageNum":_self.pageIndex,
  1032. "pageSize":_self.pageSize,
  1033. "pType": _self.objType,
  1034. "hstInsp": _self.hstInsp
  1035. }
  1036. _self.importParam = obj;
  1037. // request.post('/dc/insp/selarea/getResByArea',obj).then((res)=>{
  1038. // _self.loading = false;
  1039. // _self.currentShowList = res.data.list;
  1040. // _self.currentShowList.forEach((element, index) => {
  1041. // element["index"] = _self.pageSize * (_self.pageIndex - 1) + index + 1;
  1042. // });
  1043. // _self.total = res.data.total;
  1044. // })
  1045. request.post('/dc/insp/selarea/getResByGroup',obj).then((res)=>{
  1046. _self.loading = false;
  1047. _self.currentShowList = res.data.list;
  1048. _self.currentShowList.forEach((element, index) => {
  1049. element["index"] = _self.pageSize * (_self.pageIndex - 1) + index + 1;
  1050. });
  1051. _self.total = res.data.total;
  1052. })
  1053. },
  1054. getTableData: function(callBackFunction = null) {
  1055. var _self = this;
  1056. if (!this.dczId) {
  1057. // this.dczId = 'jwW2Wihf5E9X3UC9t45fmSHyffUs2rzI';
  1058. }
  1059. if(_self.objType == '1' || _self.objType == '36' || _self.objType == "5"|| this.objType == '26' || _self.objType == "34" || _self.objType == "106" || _self.objType == "115"){
  1060. return;
  1061. }
  1062. let str = '';
  1063. for(var i=0;i<_self.qyDataList.length;i++){
  1064. str+= _self.qyDataList[i].adCode+',';
  1065. }
  1066. str = str.substring(0,str.length-1);
  1067. getObjListNotInspGroupId(
  1068. this.dczId,
  1069. this.objType,
  1070. this.pageSize,
  1071. this.pageIndex,
  1072. this.searchNameOfRsName, //水库名称
  1073. this.searchNameOfAdName, //农村饮水行政区划名称
  1074. this.searchNameOfwtdstNm, //水毁工程名称
  1075. this.engScal, //水库-工程规模
  1076. this.rsAdmDep, //水库-归口管理部门
  1077. this.wtdstType, //水毁-工程类别
  1078. this.wtdstState, //水毁-修复状态
  1079. this.searchProvTreeListCode==''?str:this.searchProvTreeListCode,
  1080. ).then(
  1081. res => {
  1082. _self.currentShowList = [];
  1083. res.data.list.forEach((element,index) =>{
  1084. element["index"] = _self.pageSize * (_self.pageIndex - 1) + index + 1;
  1085. _self.currentShowList.push(element);
  1086. });
  1087. console.log( _self.currentShowList);
  1088. _self.total = res.data.total;
  1089. if(callBackFunction&&typeof(callBackFunction)=='function'){
  1090. callBackFunction();
  1091. }
  1092. },
  1093. err => {
  1094. console.log("查询错误");
  1095. if(callBackFunction&&typeof(callBackFunction)=='function'){
  1096. callBackFunction();
  1097. }
  1098. }
  1099. );
  1100. },
  1101. handleSelectionChange(val) {
  1102. this.multipleSelection = val;
  1103. },
  1104. handleCurrentChange(val) {
  1105. this.refreshCurrentShow();
  1106. },
  1107. handleSizeChange(val){
  1108. this.pageSize = val
  1109. this.refreshCurrentShow();
  1110. },
  1111. refreshCurrentShow: function() {
  1112. if(this.objType == '1' || this.objType == '36'|| this.objType == '26' || this.objType == '34' || this.objType == '80' || this.objType == '106' || this.objType == "115"){
  1113. if(this.searchProvTreeListCode){
  1114. this.getTableData_sk1();
  1115. }else{
  1116. this.getTableData_sk();
  1117. }
  1118. }else if(this.objType == '2' || this.objType == '3'){
  1119. this.getTableData();
  1120. }else{
  1121. this.getTableData_dxs();
  1122. }
  1123. },
  1124. addObjectChange: function() {
  1125. var objArr1 = [];
  1126. var objIds1 = [];
  1127. //提交当前选中对象
  1128. var _self = this;
  1129. var names = [];
  1130. var objNew = {};
  1131. if(_self.addOnce){
  1132. _self.addOnce = false;
  1133. return;
  1134. }
  1135. _self.addOnce = true
  1136. _self.addArr = '';
  1137. _self.addName = '';
  1138. _self.addLttd = '';
  1139. _self.addLgtd = '';
  1140. _self.addprovincial = '';
  1141. const length = _self.multipleSelection.length;
  1142. if (this.objType == "1" || this.objType == "36" || this.objType == "26" || this.objType == "34" || this.objType == '106' || this.objType == "115") {
  1143. for (let i = 0; i < length; i++) {
  1144. _self.addArr += _self.multipleSelection[i].rsCode + ",";
  1145. _self.addName += _self.multipleSelection[i].rsName + ",";
  1146. _self.addLttd += _self.multipleSelection[i].latitude + ",";
  1147. _self.addLgtd += _self.multipleSelection[i].longitude + ",";
  1148. _self.addprovincial += _self.multipleSelection[i].provincial + ",";
  1149. names.push(_self.multipleSelection[i].rsName);
  1150. var obj1 = {}
  1151. obj1['code'] = _self.multipleSelection[i].rsCode;
  1152. obj1['name'] = _self.multipleSelection[i].rsName;
  1153. obj1['ptype'] = this.objType;
  1154. objArr1.push(obj1);
  1155. objIds1.push(_self.multipleSelection[i].rsCode);
  1156. }
  1157. } else if (this.objType == "2") {
  1158. for (let i = 0; i < length; i++) {
  1159. _self.addArr += _self.multipleSelection[i].adCode + ",";
  1160. _self.addName += _self.multipleSelection[i].adName + ",";
  1161. _self.addLttd += _self.multipleSelection[i].lttd + ",";
  1162. _self.addLgtd += _self.multipleSelection[i].lgtd + ",";
  1163. names.push(_self.multipleSelection[i].adName);
  1164. var obj1 = {}
  1165. obj1['code'] = _self.multipleSelection[i].adCode;
  1166. obj1['name'] = _self.multipleSelection[i].adName;
  1167. obj1['ptype'] = this.objType;
  1168. objArr1.push(obj1);
  1169. objIds1.push(_self.multipleSelection[i].adCode);
  1170. }
  1171. } else if (this.objType == "3"){
  1172. for (let i = 0; i < length; i++) {
  1173. _self.addArr += _self.multipleSelection[i].wtdstId + ",";
  1174. _self.addName += _self.multipleSelection[i].wtdstNm + ",";
  1175. _self.addLttd += _self.multipleSelection[i].wtdstLttd + ",";
  1176. _self.addLgtd += _self.multipleSelection[i].wtdstLgtd + ",";
  1177. _self.addprovincial += _self.multipleSelection[i].provincial + ",";
  1178. names.push(_self.multipleSelection[i].wtdstNm);
  1179. var obj1 = {}
  1180. obj1['code'] = _self.multipleSelection[i].wtdstId;
  1181. obj1['name'] = _self.multipleSelection[i].wtdstNm;
  1182. obj1['ptype'] = this.objType;
  1183. objArr1.push(obj1);
  1184. objIds1.push(_self.multipleSelection[i].wtdstId);
  1185. }
  1186. } else if (this.objType == "5"){
  1187. for (let i = 0; i < length; i++) {
  1188. _self.addArr += _self.multipleSelection[i].stcd + ",";
  1189. _self.addName += _self.multipleSelection[i].stnm + ",";
  1190. _self.addLttd += _self.multipleSelection[i].lttd + ",";
  1191. _self.addLgtd += _self.multipleSelection[i].lgtd + ",";
  1192. names.push(_self.multipleSelection[i].stnm);
  1193. var obj1 = {}
  1194. obj1['code'] = _self.multipleSelection[i].stcd;
  1195. obj1['name'] = _self.multipleSelection[i].stnm;
  1196. obj1['ptype'] = this.objType;
  1197. objArr1.push(obj1);
  1198. objIds1.push(_self.multipleSelection[i].stcd);
  1199. }
  1200. }
  1201. _self.addArr = _self.addArr.substr(0, _self.addArr.length - 1);
  1202. _self.addName = _self.addName.substr(0, _self.addName.length - 1);
  1203. _self.addLttd = _self.addLttd.substr(0, _self.addLttd.length - 1);
  1204. _self.addLgtd = _self.addLgtd.substr(0, _self.addLgtd.length - 1);
  1205. _self.addprovincial = _self.addprovincial.substr(0, _self.addprovincial.length - 1);
  1206. console.log(_self.addArr);
  1207. if (this.objType == "80"){
  1208. var objArr = [];
  1209. var objIds = [];
  1210. const length = _self.multipleSelection.length;
  1211. for (let i = 0; i < length; i++) {
  1212. var obj = {};
  1213. obj['code'] = _self.multipleSelection[i].rsCode;
  1214. obj['name'] = _self.multipleSelection[i].rsName;
  1215. obj['ptype'] = this.objType;
  1216. objArr.push(obj);
  1217. objIds.push(_self.multipleSelection[i].rsCode);
  1218. names.push(_self.multipleSelection[i].rsName);
  1219. }
  1220. let obj = {
  1221. persid :this.userId,
  1222. nm: this.dczName,
  1223. id: this.dczId,
  1224. persAllAreaDtoList: [],
  1225. persAllDtoList: [],
  1226. persAllObjDtoList: objArr
  1227. };
  1228. if(this.isNewPlan){
  1229. this.addOnce = false;
  1230. this.dialogFormVisible = false;
  1231. this.$message.success("选择成功");
  1232. this.$emit("addSuccess",{obj:obj,names:names.join(",")});
  1233. return;
  1234. }
  1235. request.post("/supervision/plan/insertSupervisionObj",obj).then(response => {
  1236. if (response.success == true) {
  1237. if(this.isNew){
  1238. _self.addOnce = false;
  1239. _self.$message.success("添加成功");
  1240. _self.$emit('addSuccess',{listArr:objArr,listIds:objIds});
  1241. _self.dialogFormVisible = false;
  1242. }else{
  1243. _self.addOnce = false;
  1244. _self.dialogFormVisible = false;
  1245. _self.$message.success("添加成功");
  1246. _self.$emit("addSuccess");
  1247. }
  1248. }
  1249. });
  1250. return;
  1251. }
  1252. var obj = {
  1253. addArr: _self.addArr,
  1254. addName:_self.addName,
  1255. addLttd:_self.addLttd,
  1256. addLgtd:_self.addLgtd,
  1257. objType:_self.objType,
  1258. dczId:_self.dczId,
  1259. plnaId:_self.plnaId,
  1260. plnaId:_self.plnaId,
  1261. }
  1262. if(this.isNewPlan){
  1263. this.addOnce = false;
  1264. this.dialogFormVisible = false;
  1265. this.$message.success("选择成功");
  1266. this.$emit("addSuccess",{obj:obj,names:names.join(",")});
  1267. this.addArr = "";
  1268. return;
  1269. }
  1270. try {
  1271. // inspGroupId,objId,objType,plnaId
  1272. let objType = _self.objType
  1273. addDcAndObjRel(
  1274. _self.addArr,
  1275. _self.addName,
  1276. _self.addLttd,
  1277. _self.addLgtd,
  1278. objType,
  1279. _self.dczId,
  1280. _self.plnaId,
  1281. _self.plnaId,
  1282. _self.addprovincial
  1283. ).then(response => {
  1284. if (response.success == true) {
  1285. if(this.isNew){
  1286. _self.addOnce = false;
  1287. _self.$message.success("添加成功");
  1288. _self.$emit('addSuccess',{listArr:objArr1,listIds:objIds1});
  1289. _self.dialogFormVisible = false;
  1290. }else{
  1291. _self.addOnce = false;
  1292. this.dialogFormVisible = false;
  1293. // this.getTableData();
  1294. this.$message.success("添加成功");
  1295. this.$emit("addSuccess");
  1296. // _self.dczId = "";
  1297. _self.addArr = "";
  1298. }
  1299. }
  1300. });
  1301. } catch (e) {
  1302. alert("暂无数据");
  1303. }
  1304. },
  1305. provTreeSelectChangeHandler: function(params) {
  1306. this.searchProvTreeListCode = params.code;
  1307. if(this.objType=='1' || this.objType=='36'|| this.objType == '26' || this.objType == '34' || this.objType == '80' || this.objType=='106' || this.objType == "115"){
  1308. this.getTableData_sk1();
  1309. }else if(this.objType=='2' || this.objType=='3'){
  1310. this.getTableData();
  1311. }else{
  1312. }
  1313. },
  1314. provTreeSelectChangeHandler_qy(params){
  1315. this.searchProvTreeListCode = params.code;
  1316. if(this.objType == '1' || this.objType == '36'|| this.objType == '26' || this.objType == '34' || this.objType == '80' || this.objType == '106' || this.objType == "115"){
  1317. this.getTableData_sk1();
  1318. }else if(this.objType == '5'){
  1319. this.getTableData_dxs1();
  1320. }else if(this.objType=='2' || this.objType=='3'){
  1321. this.getTableData();
  1322. }
  1323. },
  1324. getTableData_dxs1(){
  1325. var _self = this;
  1326. var obj = {
  1327. "adcd": _self.searchProvTreeListCode,
  1328. "adnm":'',
  1329. "groupId": _self.dczId,
  1330. "stcd": '',
  1331. "stnm":_self.stnm,
  1332. "sttp":'',
  1333. "pageNum":_self.pageIndex,
  1334. "pageSize":_self.pageSize
  1335. }
  1336. request.post('/dc/insp/obj/getGrwNotInGroup',obj).then((res)=>{
  1337. _self.loading = false;
  1338. _self.currentShowList = res.data.list;
  1339. _self.currentShowList.forEach((element, index) => {
  1340. element["index"] = _self.pageSize * (_self.pageIndex - 1) + index + 1;
  1341. });
  1342. _self.total = res.data.total;
  1343. })
  1344. },
  1345. getTableData_sk1(){
  1346. var _self = this;
  1347. let objType = _self.objType
  1348. var obj = {
  1349. "adcd": _self.searchProvTreeListCode,
  1350. "rsName": _self.searchNameOfRsName,
  1351. "engScal": _self.engScal,
  1352. "id": _self.userId,
  1353. "groupId":_self.dczId,
  1354. "pageNum":_self.pageIndex,
  1355. "pageSize":_self.pageSize,
  1356. "pType": objType,
  1357. "hstInsp": _self.hstInsp
  1358. }
  1359. _self.importParam = obj;
  1360. request.post('/dc/insp/selarea/getResByGroup',obj).then((res)=>{
  1361. _self.loading = false;
  1362. _self.currentShowList = res.data.list;
  1363. _self.currentShowList.forEach((element, index) => {
  1364. element["index"] = _self.pageSize * (_self.pageIndex - 1) + index + 1;
  1365. });
  1366. _self.total = res.data.total;
  1367. })
  1368. },
  1369. toAddNewRsvr(){
  1370. this.addRsvrVisible = true
  1371. this.formObj.engScal = this.gongchengguimo[0].value
  1372. this.formObj.rsType = this.zhubaleixing[0].value
  1373. },
  1374. addNewRsvr(formName){
  1375. let _this = this
  1376. if(!this.formObj.rsName){
  1377. this.$message.warning('请输入水库名称')
  1378. return
  1379. }
  1380. if(!this.formObj.rsAdmName){
  1381. this.$message.warning('请输入管理机构名称')
  1382. return
  1383. }
  1384. if(!this.formObj.location){
  1385. this.$message.warning('请输入所在地')
  1386. return
  1387. }
  1388. if(!this.formObj.compDateStr){
  1389. this.$message.warning('请选择建成时间')
  1390. return
  1391. }
  1392. if(!this.formObj.engScal){
  1393. this.$message.warning('请选择工程规模')
  1394. return
  1395. }
  1396. this.formObj.centerXGd = this.formObj.longitude
  1397. this.formObj.centerYGd = this.formObj.latitude
  1398. this.$refs[formName].validate((valid) => {
  1399. if (valid) {
  1400. request.post('/dc/att/rsBase',this.formObj).then(res=>{
  1401. if(res.success){
  1402. _this.$message.success('添加成功')
  1403. this.refreshCurrentShow();
  1404. _this.addRsvrVisible = false
  1405. _this.formObj = {
  1406. "rsName": '',
  1407. "rsAdmName": "",
  1408. "rsLoc": "",
  1409. "location": '',
  1410. "intm": "",
  1411. "engScal": "",
  1412. "totCap": "",
  1413. "damMaxHigh": "",
  1414. "damTypeStr": "",
  1415. "damType":"",
  1416. "rsType":'',
  1417. "regCode": "",
  1418. "rsvrLong": "",
  1419. "rsvrLat": "",
  1420. "compDate": "",
  1421. "admDiv": "",
  1422. "longitude": "",
  1423. "latitude": "",
  1424. "centerXGd": "",
  1425. "centerYGd": ""
  1426. };
  1427. }else{
  1428. _this.$message.error(res.message)
  1429. }
  1430. }).catch(res=>{
  1431. _this.$message.error('请求错误'+ res.message)
  1432. })
  1433. } else {
  1434. console.log('error submit!!');
  1435. return false;
  1436. }
  1437. });
  1438. },
  1439. addNewShuiHui(){
  1440. let _this = this
  1441. if(!this.formObj1.wtdstNm){
  1442. this.$message.warning('请输入项目名称')
  1443. return
  1444. }
  1445. if(!this.formObj1.wtdstNm){
  1446. this.$message.warning('请输入项目类别')
  1447. return
  1448. }
  1449. if(!this.formObj1.wtdstState){
  1450. this.$message.warning('项目进度')
  1451. return
  1452. }
  1453. if(!this.provName){
  1454. this.$message.warning('请选择省份')
  1455. return
  1456. }
  1457. if(!this.cityName){
  1458. this.$message.warning('请选择市区')
  1459. return
  1460. }
  1461. if(!this.countryName){
  1462. this.$message.warning('请选择区县')
  1463. return
  1464. }
  1465. this.formObj1.locAd = this.countryName;
  1466. request.post('/dc/insp/bisInspWtdst/insert',this.formObj1).then(res=>{
  1467. if(res.success){
  1468. _this.$message.success('添加成功')
  1469. _this.refreshCurrentShow();
  1470. _this.addShuiHuiVisible = false
  1471. _this.formObj1 = {};
  1472. _this.provName = "";
  1473. _this.cityName = "";
  1474. _this.countryName = "";
  1475. }else{
  1476. _this.$message.error(res.message)
  1477. }
  1478. }).catch(res=>{
  1479. _this.$message.error('请求错误'+ res.message)
  1480. })
  1481. },
  1482. getAreaList(val){
  1483. let areaParams = {
  1484. adName: "",
  1485. id: this.dczId,
  1486. pageNum: 1,
  1487. pageSize: 10000
  1488. }
  1489. let adCode = ''
  1490. if(!val){
  1491. adCode = '000000000000'
  1492. }else{
  1493. adCode = val
  1494. }
  1495. request.get('/dc/ad/base/getAdData',{params:{'adCode':adCode}}).then(res=>{
  1496. if(res.success){
  1497. if(this.curSelectItem == 1){
  1498. this.cityList = res.data
  1499. }else if(this.curSelectItem == 2){
  1500. this.countryList = res.data
  1501. }else{
  1502. this.provList = res.data
  1503. }
  1504. }
  1505. })
  1506. },
  1507. handleItemChange(val){
  1508. this.getAreaList(val)
  1509. },
  1510. provChange(val){
  1511. this.curSelectItem = 1
  1512. this.cityName = ''
  1513. this.countryName = ''
  1514. this.formObj.admDiv = val
  1515. this.provList.forEach(ele=>{
  1516. if(ele.adCode == this.provName){
  1517. this.provNames = ele.adName
  1518. }
  1519. })
  1520. this.formObj.location = this.provNames
  1521. this.getAreaList(val)
  1522. },
  1523. cityChange(val){
  1524. this.curSelectItem = 2
  1525. if(val && val != ''){
  1526. this.formObj.admDiv = val
  1527. this.countryName = ''
  1528. this.cityList.forEach(ele=>{
  1529. if(ele.adCode == this.cityName){
  1530. this.cityNames = ele.adName
  1531. }
  1532. })
  1533. this.formObj.location = this.provNames + this.cityNames
  1534. this.getAreaList(val)
  1535. }
  1536. },
  1537. countryChange(val){
  1538. if(val && val != ''){
  1539. this.formObj.admDiv = val
  1540. this.countryList.forEach(ele=>{
  1541. if(ele.adCode == this.countryName){
  1542. this.countryNames = ele.adName
  1543. }
  1544. })
  1545. this.formObj.location = this.provNames + this.cityNames + this.countryNames
  1546. }
  1547. }
  1548. }
  1549. };
  1550. </script>
  1551. <style>
  1552. </style>